@wrongstack/webui 0.306.4 → 0.307.1

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 (182) hide show
  1. package/dist/assets/AgentRosterView-Bb5m_XjZ.js +9 -0
  2. package/dist/assets/AnalyticsDashboard-lqPCAo9u.js +1 -0
  3. package/dist/assets/AudienceMemoryPanel-putWTq5V.js +3 -0
  4. package/dist/assets/{ChangesView-DplR2Twb.js → ChangesView-Cw-qvOLA.js} +1 -1
  5. package/dist/assets/ChronicleDashboard-DQdMkTLQ.js +1 -0
  6. package/dist/assets/CodeEditor-BAv2f4se.js +2 -0
  7. package/dist/assets/CodeMap-BB1WETLd.js +1 -0
  8. package/dist/assets/ConfirmModal-LBZaZgsG.js +1 -0
  9. package/dist/assets/CronJobsPanel-DE5CVuSW.js +1 -0
  10. package/dist/assets/{DeadCodeScanPanel-Dp6vW6pV.js → DeadCodeScanPanel-nlQ9nL3Y.js} +1 -1
  11. package/dist/assets/{DebugDashboard-d4ETqxOe.js → DebugDashboard-CgRH9SvC.js} +1 -1
  12. package/dist/assets/{DesignGalleryView-3jRTmgzx.js → DesignGalleryView-Uwo3JXyu.js} +1 -1
  13. package/dist/assets/GoalView-Cc4B-0Qd.js +1 -0
  14. package/dist/assets/KanbanView-CK4bvZfi.js +3 -0
  15. package/dist/assets/MailboxDetailView-CGwtSBcH.js +1 -0
  16. package/dist/assets/{MemoryDrawer-DIrEAQNI.js → MemoryDrawer-Cw1IiFCO.js} +1 -1
  17. package/dist/assets/MemoryManager-l0R8JBzL.js +1 -0
  18. package/dist/assets/{ModelPicker-OSfUtS6_.js → ModelPicker-DC-XCx0f.js} +1 -1
  19. package/dist/assets/OfficeMapPanel-CUI0PJBI.js +4 -0
  20. package/dist/assets/{ProcessMonitor-SLnEEbRY.js → ProcessMonitor-DLD6PrVx.js} +1 -1
  21. package/dist/assets/PromptJournalView-Cf1szLLw.js +1 -0
  22. package/dist/assets/{QueuePanel-BszNSrlq.js → QueuePanel-O7IsaKUs.js} +1 -1
  23. package/dist/assets/{RefreshDebugView-DA6cPIhw.js → RefreshDebugView-CuKbgI-T.js} +1 -1
  24. package/dist/assets/RequirementIntakeView-Bg8ZoV7J.js +1 -0
  25. package/dist/assets/{SageTabs-BR09lBUK.js → SageTabs-Bk8VDMmR.js} +2 -2
  26. package/dist/assets/SddFlowGraph-DdYgCVM_.js +1 -0
  27. package/dist/assets/SddHub-tQztZlHf.js +2 -0
  28. package/dist/assets/{SessionInspectView-Bf3X0qK8.js → SessionInspectView-BnoD3YER.js} +1 -1
  29. package/dist/assets/SessionList-BRbF7FVS.js +1 -0
  30. package/dist/assets/{SessionsDashboard-CwuOKWQc.js → SessionsDashboard-7heYIhHQ.js} +1 -1
  31. package/dist/assets/SetupScreen-CQW-6bhj.js +1 -0
  32. package/dist/assets/SkillDetailView-DdxB0JI4.js +3 -0
  33. package/dist/assets/{SpecsView-Do8eQuTN.js → SpecsView-BAnFfPPH.js} +1 -1
  34. package/dist/assets/TechStackView-DJeNOZE9.js +2 -0
  35. package/dist/assets/{TerminalPanel-Pq97A882.js → TerminalPanel-v3SC9LTq.js} +1 -1
  36. package/dist/assets/Toaster-wXvKXbbS.js +1 -0
  37. package/dist/assets/{activity-Dr_u3dOm.js → activity-C0qPnCbW.js} +2 -2
  38. package/dist/assets/{activity-Dzgvt4Nh.js → activity-DTSVEiLK.js} +2 -2
  39. package/dist/assets/{activity-L2_b8Uan.js → activity-DWHlYL9x.js} +2 -2
  40. package/dist/assets/{activity-gB90peLu.js → activity-DjnYvN9C.js} +2 -2
  41. package/dist/assets/{activity-Dg9Q9kwt.js → activity-fdbTRXeg.js} +3 -3
  42. package/dist/assets/{activity-BI4XyF_x.js → activity-jL8-j1D0.js} +2 -2
  43. package/dist/assets/{activity-IttuV5ar.js → activity-phJuGuf4.js} +2 -2
  44. package/dist/assets/{button-DvHe5h9X.js → button-DvpRpKkt.js} +1 -1
  45. package/dist/assets/{chat-CdiY7G6Z.js → chat-CzaGXz_W.js} +1 -1
  46. package/dist/assets/chat-store-c0pGYczr.js +17 -0
  47. package/dist/assets/codemap-activity-store-BH7Mh4k9.js +1 -0
  48. package/dist/assets/codemap-index-store-BFm1TzVW.js +1 -0
  49. package/dist/assets/{commandPalette-DpaemFux.js → commandPalette-BovBiPec.js} +1 -1
  50. package/dist/assets/common-BBHmIHQW.js +1 -0
  51. package/dist/assets/common-C3PzxyXg.js +1 -0
  52. package/dist/assets/common-CUWL8eNX.js +1 -0
  53. package/dist/assets/common-CvSB5NM3.js +1 -0
  54. package/dist/assets/common-DT2FL9xN.js +1 -0
  55. package/dist/assets/common-DuR5FTPN.js +1 -0
  56. package/dist/assets/common-xPePelft.js +1 -0
  57. package/dist/assets/{css.worker-B1A7g9RU.js → css.worker-DRH2OcAG.js} +14 -14
  58. package/dist/assets/{dialog-jbs7gu-q.js → dialog-BJjDUqb3.js} +1 -1
  59. package/dist/assets/{empty-state-D-ojp6Gp.js → empty-state-Cefmzojx.js} +1 -1
  60. package/dist/assets/{html.worker-NdFMIQdB.js → html.worker-DQLddT9h.js} +17 -17
  61. package/dist/assets/i18n-CDoHRskt.js +2 -0
  62. package/dist/assets/index-BRJ_UrGk.js +133 -0
  63. package/dist/assets/index-BRs425Ir.css +1 -0
  64. package/dist/assets/{input-oJ0Gehqp.js → input-BtoHcCl9.js} +1 -1
  65. package/dist/assets/json.worker-D_Dqrls5.js +62 -0
  66. package/dist/assets/mailbox-store-bF96Ih2G.js +1 -0
  67. package/dist/assets/markdown-CIRD7kOg.js +44 -0
  68. package/dist/assets/monaco-BCqJp2xW.js +1236 -0
  69. package/dist/assets/{monaco-theme-DSeCDzQy.js → monaco-theme-CR1QvFi2.js} +1 -1
  70. package/dist/assets/{rolldown-runtime-QTnfLwEv.js → rolldown-runtime-hePW80VL.js} +1 -1
  71. package/dist/assets/{roster-ws-DobwmzEj.js → roster-ws-CK52jAnG.js} +1 -1
  72. package/dist/assets/session-store-BgiP4PnQ.js +1 -0
  73. package/dist/assets/{settings-t7_uBgp_.js → settings-CbtB0i7o.js} +1 -1
  74. package/dist/assets/{setup-BFcmn89w.js → setup-DfcCCvUO.js} +1 -1
  75. package/dist/assets/{shared-CiaNczO0.js → shared-B3czc2Dj.js} +1 -1
  76. package/dist/assets/stores-DSGsI875.js +7 -0
  77. package/dist/assets/{toasts-BL_8kH4B.js → toasts-DOfXc7Rt.js} +1 -1
  78. package/dist/assets/{ts.worker-XonqDHUu.js → ts.worker-DkYoA6bF.js} +45 -45
  79. package/dist/assets/ui-store-xx1NssJI.js +1 -0
  80. package/dist/assets/useWebSocket-BFFntyS4.js +29 -0
  81. package/dist/assets/utils-tsZEnrBH.js +1 -0
  82. package/dist/assets/vendor-C_zEzV4N.js +139 -0
  83. package/dist/assets/{view-navigation-D-afwlSZ.js → view-navigation-CZKugncK.js} +1 -1
  84. package/dist/assets/ws-client-B3MVz75-.js +1 -0
  85. package/dist/assets/xterm-BWzBEEhg.js +18 -0
  86. package/dist/components/ChatInput/composer-button-bar.d.ts +24 -0
  87. package/dist/components/ChatInput/next-steps-helpers.d.ts +19 -0
  88. package/dist/components/ChatInput/use-chat-input-mcp.d.ts +8 -0
  89. package/dist/components/ChatInput/use-refine-timeout.d.ts +9 -0
  90. package/dist/components/ChatView/ChatDisplayToggles.d.ts +18 -0
  91. package/dist/components/ChatView/ChatHeader.d.ts +60 -0
  92. package/dist/components/ChatView/ChatRowView.d.ts +9 -0
  93. package/dist/components/ChatView/ToggleSwitch.d.ts +6 -0
  94. package/dist/components/ChatView/useChatViewState.d.ts +80 -0
  95. package/dist/components/ContextBar.d.ts +15 -2
  96. package/dist/components/FileExplorer/FileExplorerModals.d.ts +44 -0
  97. package/dist/components/FileExplorer/TreeRow.d.ts +23 -0
  98. package/dist/components/FileExplorer/tree-helpers.d.ts +16 -0
  99. package/dist/components/FileExplorer/types.d.ts +19 -0
  100. package/dist/components/MemoryManager/MemoryDrawerToolbar.d.ts +8 -0
  101. package/dist/components/MemoryManager/MemoryManagerHeader.d.ts +7 -0
  102. package/dist/components/MemoryManager/MemoryManagerStatsBar.d.ts +8 -0
  103. package/dist/components/MemoryManager/useMemoryManagerState.d.ts +85 -0
  104. package/dist/components/PromptJournalView.d.ts +2 -0
  105. package/dist/components/SddWizard.d.ts +0 -6
  106. package/dist/components/SettingsPanel/AgentSettingsTab.d.ts +5 -0
  107. package/dist/components/SettingsPanel/ContextSettingsTab.d.ts +4 -0
  108. package/dist/components/SettingsPanel/ExecutionSettingsTab.d.ts +6 -0
  109. package/dist/components/SettingsPanel/LogsSettingsTab.d.ts +4 -0
  110. package/dist/components/TechStackView/shared.d.ts +1 -0
  111. package/dist/components/self-learning/SelfLearningAgentList.d.ts +9 -0
  112. package/dist/components/self-learning/SelfLearningDetail.d.ts +39 -0
  113. package/dist/components/self-learning/types.d.ts +30 -0
  114. package/dist/components/self-learning/use-self-learning-state.d.ts +46 -0
  115. package/dist/hooks/ws-handlers/files-mailbox-handlers.d.ts +19 -0
  116. package/dist/hooks/ws-handlers/session-context-handlers.d.ts +18 -0
  117. package/dist/hooks/ws-handlers/session-execution-handlers.d.ts +24 -0
  118. package/dist/hooks/ws-handlers/session-handlers.d.ts +3 -36
  119. package/dist/hooks/ws-handlers/session-replay-handlers.d.ts +22 -0
  120. package/dist/index.html +31 -31
  121. package/dist/index.js +18021 -15149
  122. package/dist/lib/view-navigation.d.ts +1 -1
  123. package/dist/lib/ws-client-domain-methods.d.ts +86 -0
  124. package/dist/lib/ws-client.d.ts +2 -83
  125. package/dist/stores/chat-queue-helpers.d.ts +9 -0
  126. package/dist/stores/chat-retention.d.ts +14 -0
  127. package/dist/stores/chat-store-types.d.ts +106 -0
  128. package/dist/stores/chat-store.d.ts +6 -183
  129. package/dist/stores/file-store.d.ts +72 -3
  130. package/dist/stores/session-store.d.ts +20 -0
  131. package/dist/stores/ui-store.d.ts +3 -3
  132. package/dist/types/client-message.d.ts +51 -0
  133. package/dist/types/protocol-core.d.ts +2 -0
  134. package/dist/types/runtime.d.ts +1 -0
  135. package/dist/types/server-message.d.ts +76 -0
  136. package/package.json +20 -20
  137. package/dist/assets/AgentRosterView-X4NWBm16.js +0 -9
  138. package/dist/assets/AnalyticsDashboard-CvEY3lEY.js +0 -1
  139. package/dist/assets/AudienceMemoryPanel-ChhQVsbD.js +0 -3
  140. package/dist/assets/ChronicleDashboard-BpykJceZ.js +0 -1
  141. package/dist/assets/CodeEditor-DQDKQlAo.js +0 -1
  142. package/dist/assets/CodeMap-CnlnHM8P.js +0 -1
  143. package/dist/assets/ConfirmModal-BD6pUkAB.js +0 -1
  144. package/dist/assets/CronJobsPanel-Dp9xc7vb.js +0 -1
  145. package/dist/assets/GoalView-CoMRM0Vo.js +0 -1
  146. package/dist/assets/KanbanView-BMHq13vg.js +0 -3
  147. package/dist/assets/MailboxDetailView-C0n5fMGN.js +0 -1
  148. package/dist/assets/MemoryManager-CEfDQuV9.js +0 -1
  149. package/dist/assets/OfficeMapPanel-TIRw1a9O.js +0 -4
  150. package/dist/assets/RequirementIntakeView-CN7Yympd.js +0 -1
  151. package/dist/assets/SddFlowGraph-B-5J7zOV.js +0 -1
  152. package/dist/assets/SddHub-CkjrCykN.js +0 -2
  153. package/dist/assets/SessionList-cAmzxd3Z.js +0 -1
  154. package/dist/assets/SetupScreen-DZUvrhr0.js +0 -1
  155. package/dist/assets/SkillDetailView-CULufBnT.js +0 -3
  156. package/dist/assets/TechStackView-B2v5LoJp.js +0 -1
  157. package/dist/assets/Toaster-Dic3369l.js +0 -1
  158. package/dist/assets/chat-store-BgCgMMd0.js +0 -17
  159. package/dist/assets/codemap-activity-store-DBdfN0ix.js +0 -1
  160. package/dist/assets/codemap-index-store-45CkVCxN.js +0 -1
  161. package/dist/assets/common-BXJbu5Y-.js +0 -1
  162. package/dist/assets/common-BiNu_WzQ.js +0 -1
  163. package/dist/assets/common-COVxQ0FV.js +0 -1
  164. package/dist/assets/common-Ch7JihXD.js +0 -1
  165. package/dist/assets/common-DPaTeTls.js +0 -1
  166. package/dist/assets/common-DdGpRh8j.js +0 -1
  167. package/dist/assets/common-pI6fYZW3.js +0 -1
  168. package/dist/assets/i18n-nlW2iAya.js +0 -2
  169. package/dist/assets/index-eK0iH6jY.js +0 -133
  170. package/dist/assets/index-mNf-KFcC.css +0 -1
  171. package/dist/assets/json.worker-Ax0gao5O.js +0 -62
  172. package/dist/assets/mailbox-store-BuLRsYu3.js +0 -1
  173. package/dist/assets/markdown-sSmz-Ua_.js +0 -44
  174. package/dist/assets/monaco-BLUV5g0U.js +0 -1236
  175. package/dist/assets/session-store-DkPaOIhe.js +0 -1
  176. package/dist/assets/stores-BpVw7ENx.js +0 -7
  177. package/dist/assets/ui-store-FVcXVdRC.js +0 -1
  178. package/dist/assets/useWebSocket-Dh-clEvj.js +0 -29
  179. package/dist/assets/utils-D1fGupR8.js +0 -1
  180. package/dist/assets/vendor-AeHpGMaG.js +0 -139
  181. package/dist/assets/ws-client-B7j8isQb.js +0 -1
  182. package/dist/assets/xterm-DUBp1lnG.js +0 -35
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{Ba as t,Br as n,Ea as r,Fi as i,Ft as a,Ga as o,Ma as s,Nn as c,Ot as l,Pn as u,Pr as d,Tn as f,Vn as p,Vt as m,Wt as h,Zt as g,_,_a as v,a as y,an as ee,da as b,dt as te,ea as x,f as S,hi as C,i as w,jt as T,kn as ne,li as E,lt as re,n as ie,na as ae,or as D,pr as oe,qi as se,r as ce,ra as O,s as k,un as A,xi as j,yn as M}from"./vendor-C_zEzV4N.js";import"./i18n-CDoHRskt.js";import{t as le}from"./useWebSocket-BFFntyS4.js";import{t as N}from"./utils-tsZEnrBH.js";import{I as ue}from"./stores-DSGsI875.js";import{n as de}from"./ui-store-xx1NssJI.js";import{a as fe,i as P,n as F,o as pe,r as I,t as me}from"./dialog-BJjDUqb3.js";import{t as L}from"./button-DvpRpKkt.js";import{t as R}from"./input-BtoHcCl9.js";import{c as z}from"./index-BRJ_UrGk.js";import{t as he}from"./roster-ws-CK52jAnG.js";import{_ as ge,a as _e,b as ve,c as B,d as ye,f as be,g as V,h as xe,i as Se,l as Ce,m as we,n as Te,o as Ee,p as De,r as H,s as U,t as Oe,u as ke,v as Ae,y as W}from"./shared-B3czc2Dj.js";import{t as je}from"./MemoryDrawer-Cw1IiFCO.js";var G=re();function Me({busyAction:e,deletingId:n,memories:r,onCancel:i,onConfirm:a,onOpenChange:o}){let{t:s}=t();return(0,G.jsx)(me,{open:!!n,onOpenChange:o,children:(0,G.jsxs)(F,{className:`max-w-md`,children:[(0,G.jsxs)(fe,{children:[(0,G.jsx)(`span`,{className:`mb-2 flex size-10 items-center justify-center border border-destructive/35 bg-destructive/10 text-destructive`,children:(0,G.jsx)(T,{className:`size-4`})}),(0,G.jsx)(pe,{children:s(`activity:memoryManager.deleteTitle`)}),(0,G.jsx)(I,{className:`leading-6`,children:s(`activity:deleteMemoryDialog.sageWillMarkTheRecordDeleted`)})]}),(0,G.jsx)(`div`,{className:`border border-border/70 bg-background/45 p-3 text-xs text-muted-foreground`,children:V(r.find(e=>e.id===n)?.text??``,180)}),(0,G.jsxs)(P,{children:[(0,G.jsx)(L,{variant:`outline`,onClick:i,disabled:e===`delete`,children:s(`common:action.cancel`)}),(0,G.jsxs)(L,{variant:`destructive`,onClick:a,disabled:e===`delete`,children:[e===`delete`?(0,G.jsx)(D,{className:`size-4 animate-spin`}):(0,G.jsx)(T,{className:`size-4`}),s(e===`delete`?`activity:memoryManager.deletingLabel`:`activity:memoryManager.actionDeleteMemory`)]})]})]})})}var K=e(o(),1),Ne=212,Pe=188;function q(e){return e.length>14?`${e.slice(0,11)}…`:e}function Fe(e,t=58){let n=e.replace(/\s+/g,` `).trim();return n.length>t?`${n.slice(0,t-1)}…`:n}function J(e){return e.type===`symbol`?[e.path,e.symbol?`#${e.symbol}`:``].filter(Boolean).join(``):e.path??e.command??e.symbol??e.role??e.type}function Y(e){return e===`active`?`border-success/45 bg-success/10 text-success`:e===`stale`?`border-warning/45 bg-warning/10 text-warning`:e===`contradicted`?`border-destructive/45 bg-destructive/10 text-destructive`:e===`superseded`?`border-warning/35 bg-warning/5 text-warning`:`border-border bg-muted/55 text-muted-foreground`}function X({data:e}){let{entry:t,center:n}=e;return(0,G.jsxs)(`div`,{className:n?`border border-primary/70 bg-card px-3 py-2.5 text-card-foreground shadow-[0_0_0_1px_hsl(var(--primary)/0.2),0_0_24px_hsl(var(--primary)/0.12)]`:`border border-border/80 bg-card/95 px-3 py-2.5 text-card-foreground shadow-lg`,style:{width:Ne},title:t.text,children:[(0,G.jsx)(k,{type:`target`,position:_.Top,className:`!border-background !bg-muted-foreground`}),(0,G.jsx)(k,{type:`source`,position:_.Bottom,className:`!border-background !bg-primary`}),(0,G.jsx)(k,{type:`source`,position:_.Right,className:`!border-background !bg-primary`}),(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`border px-1.5 py-0.5 text-[9px] font-bold uppercase ${Y(t.status)}`,children:t.status}),(0,G.jsx)(`span`,{className:`ml-auto truncate font-mono text-[9px] text-muted-foreground`,children:q(t.id)})]}),(0,G.jsx)(`p`,{className:`mt-2 line-clamp-2 text-[11px] leading-4 text-foreground/90`,children:Fe(t.text)}),(0,G.jsx)(`p`,{className:`mt-1 font-mono text-[9px] uppercase text-muted-foreground`,children:t.kind})]})}function Ie({data:e}){return(0,G.jsxs)(`div`,{className:`border border-info/40 bg-info/8 px-2.5 py-2 text-card-foreground shadow-lg`,style:{width:Pe},title:e.label,children:[(0,G.jsx)(k,{type:`target`,position:_.Left,className:`!border-background !bg-info`}),(0,G.jsx)(`p`,{className:`font-mono text-[9px] font-bold uppercase text-info`,children:e.anchor.type}),(0,G.jsx)(`p`,{className:`mt-1 truncate font-mono text-[10px] text-foreground/85`,children:e.label})]})}var Le={memoryNode:X,anchorNode:Ie};function Z(e,t){return{id:e,revision:0,scope:`project`,kind:`fact`,status:`deleted`,text:t(`activity:memoryManager.memoryUnavailable`),importance:0,confidence:0,freshness:0,tags:[],anchors:[],createdAt:``,updatedAt:``}}function Re({nodes:e,edges:t,className:n}){return(0,G.jsx)(`div`,{className:N(`w-full`,n),children:(0,G.jsxs)(S,{nodes:e,edges:t,nodeTypes:Le,fitView:!0,fitViewOptions:{padding:.24,maxZoom:1.05},minZoom:.4,maxZoom:1.5,nodesConnectable:!1,elementsSelectable:!1,panOnScroll:!1,zoomOnScroll:!1,proOptions:{hideAttribution:!0},children:[(0,G.jsx)(ce,{variant:w.Dots,gap:18,size:1,color:`hsl(var(--muted-foreground) / 0.18)`}),(0,G.jsx)(y,{showInteractive:!1,className:`!border-border !bg-card !shadow-lg`})]})})}function Q({centerMemory:e,allMemories:n,graphEdges:r,loading:i=!1,error:a=null}){let{t:o}=t(),[s,c]=(0,K.useState)(!1),l=`mem:${e.id}`,u=(0,K.useMemo)(()=>r.filter(e=>e.from===l&&e.to.startsWith(`mem:`)||e.to===l&&e.from.startsWith(`mem:`)).slice(0,24),[l,r]),{nodes:d,edges:f}=(0,K.useMemo)(()=>{let t=[],r=[],i=new Map(n.map(e=>[e.id,e]));t.push({id:e.id,type:`memoryNode`,position:{x:320-Ne/2,y:120},data:{entry:e,center:!0}});let a=[...e.supersededBy?[{id:e.supersededBy,relation:`superseded by`}]:[],...(e.supersedes??[]).map(e=>({id:e,relation:`supersedes`})),...(e.contradicts??[]).map(e=>({id:e,relation:`contradicts`}))];for(let e of u){let t=(e.from===l?e.to:e.from).slice(4);a.some(n=>n.id===t&&n.relation===e.relation)||a.push({id:t,relation:e.relation,weight:e.weight,evidence:e.evidence})}let s=320-(a.length-1)*220/2;return a.forEach((n,a)=>{let c=i.get(n.id)??Z(n.id,o),l=n.relation===`superseded by`,u=l?0:280+Math.floor(a/3)*130,d=l?320-Ne/2:s+a*220-Ne/2;t.push({id:`memory:${n.id}:${a}`,type:`memoryNode`,position:{x:d,y:u},data:{entry:c,center:!1}});let f=n.relation===`contradicts`,p=l?`memory:${n.id}:${a}`:e.id,m=l?e.id:`memory:${n.id}:${a}`;r.push({id:`relation:${n.relation}:${n.id}:${a}`,source:p,target:m,type:`smoothstep`,animated:!f,label:n.weight===void 0?n.relation:`${n.relation} ${n.weight.toFixed(2)}`,data:{evidence:n.evidence??[]},style:{stroke:f?`hsl(var(--destructive))`:`hsl(var(--primary))`,strokeWidth:1.7,...f?{strokeDasharray:`5 4`}:{}},labelStyle:{fill:f?`hsl(var(--destructive))`:`hsl(var(--muted-foreground))`,fontSize:9,fontWeight:700},labelBgStyle:{fill:`hsl(var(--card))`,fillOpacity:.9}})}),e.anchors.forEach((n,i)=>{let a=`anchor:${i}`;t.push({id:a,type:`anchorNode`,position:{x:540,y:120+(i-(e.anchors.length-1)/2)*66},data:{anchor:n,label:J(n)}}),r.push({id:`anchor-edge:${i}`,source:e.id,target:a,type:`smoothstep`,style:{stroke:`hsl(var(--info))`,strokeWidth:1.3}})}),{nodes:t,edges:r}},[n,e,l,u]);return d.length<=1&&!i&&!a?null:(0,G.jsxs)(`section`,{className:`overflow-hidden border border-border/75 bg-background/35`,"aria-label":o(`activity:memoryManager.graphAria`),children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border/70 bg-card/55 px-3 py-2`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`p`,{className:`text-[10px] font-bold uppercase tracking-[0.16em] text-muted-foreground`,children:o(`activity:memoryManager.graphHeading`)}),d.length>1&&(0,G.jsxs)(L,{variant:`ghost`,size:`sm`,onClick:()=>c(!0),className:`h-6 gap-1 px-2 text-[9px] font-bold uppercase tracking-[0.12em]`,"aria-label":o(`activity:memoryManager.graphFullscreenAria`),children:[(0,G.jsx)(C,{className:`size-3`}),o(`activity:memoryManager.graphOpenFullscreen`)]})]}),(0,G.jsx)(`span`,{className:`font-mono text-[10px] text-muted-foreground`,children:i?o(`activity:memoryManager.loadingGraph`):o(`activity:memoryManager.graphStats`,{nodes:d.length,edges:f.length})})]}),a&&(0,G.jsx)(`p`,{className:`border-b border-destructive/25 bg-destructive/5 px-3 py-2 text-[10px] text-destructive`,children:a}),d.length>1&&(0,G.jsx)(Re,{nodes:d,edges:f,className:`h-[320px]`}),u.some(e=>e.evidence?.length)&&(0,G.jsx)(`div`,{className:`grid gap-1 border-t border-border/70 bg-card/35 px-3 py-2`,children:u.filter(e=>e.evidence?.length).slice(0,12).map(e=>{let t=(e.from===l?e.to:e.from).slice(4);return(0,G.jsxs)(`p`,{className:`truncate font-mono text-[9px] text-muted-foreground`,children:[(0,G.jsx)(`span`,{className:`text-info`,children:e.relation}),` `,q(t),` · why:`,` `,e.evidence?.join(`, `)]},e.id)})}),s&&(0,G.jsx)(me,{open:s,onOpenChange:c,children:(0,G.jsxs)(F,{className:`flex max-h-[90dvh] max-w-[90vw] flex-col p-0`,showCloseButton:!1,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border/70 bg-card/55 px-4 py-3`,children:[(0,G.jsx)(`p`,{className:`text-[10px] font-bold uppercase tracking-[0.16em] text-muted-foreground`,children:o(`activity:memoryManager.graphHeadingFull`,{id:e.id})}),(0,G.jsx)(L,{variant:`ghost`,size:`sm`,onClick:()=>c(!1),className:`h-7 gap-1 px-2 text-[10px]`,children:o(`common:action.close`)})]}),(0,G.jsx)(`div`,{className:`min-h-0 flex-1 px-4 pb-4`,children:(0,G.jsx)(Re,{nodes:d,edges:f,className:`h-[65vh]`})})]})})]})}function ze({memory:e,allMemories:n,relatedMemories:a,graphEdges:o,graphLoading:s,graphError:c,onClose:l,onOpenMemory:u,onEdit:d,onDelete:f,onTagSelect:p,onNotice:m}){let{t:h}=t();return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 border-b border-border/70 bg-card/65 px-4 py-3 backdrop-blur-xl`,children:[(0,G.jsx)(L,{variant:`ghost`,size:`icon`,className:`md:hidden`,onClick:l,"aria-label":h(`activity:memoryManager.backToList`),children:(0,G.jsx)(r,{className:`size-4`})}),(0,G.jsx)(`span`,{className:N(`text-[10px] font-bold uppercase tracking-[0.14em]`,xe(e.kind)),children:H[e.kind]??e.kind}),(0,G.jsx)(Ce,{status:e.status}),(0,G.jsx)(`span`,{className:`border border-border/70 px-2 py-0.5 font-mono text-[9px] uppercase text-muted-foreground`,children:e.scope}),e.audience&&(0,G.jsxs)(`span`,{className:`flex items-center gap-1 border border-primary/30 bg-primary/10 px-2 py-0.5 font-mono text-[9px] text-primary`,title:De(e.audience),children:[(0,G.jsx)(b,{className:`size-3`}),De(e.audience)]}),(0,G.jsxs)(`div`,{className:`ml-auto flex items-center gap-1.5`,children:[(0,G.jsx)(L,{variant:`ghost`,size:`icon`,"aria-label":h(`activity:memoryManager.copyId`),title:h(`activity:memoryManager.copyId`),onClick:()=>{navigator.clipboard?.writeText(e.id),m(h(`activity:memoryManager.copiedNotice`))},children:(0,G.jsx)(i,{className:`size-4`})}),(0,G.jsxs)(L,{variant:`outline`,size:`sm`,onClick:()=>d(e.id),disabled:e.status===`deleted`,children:[(0,G.jsx)(ne,{className:`size-3.5`}),` `,h(`common:action.edit`)]}),(0,G.jsxs)(L,{variant:`destructive`,size:`sm`,onClick:f,disabled:e.status===`deleted`,children:[(0,G.jsx)(T,{className:`size-3.5`}),` `,h(`common:action.delete`)]})]})]}),(0,G.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overscroll-contain p-4 md:p-5`,children:(0,G.jsxs)(`div`,{className:`mx-auto max-w-5xl space-y-5`,children:[(0,G.jsx)(Be,{memory:e}),(0,G.jsx)($,{memory:e}),e.tags.length>0&&(0,G.jsx)(Ve,{tags:e.tags,onTagSelect:p}),e.anchors.length>0&&(0,G.jsx)(He,{anchors:e.anchors}),a.length>0&&(0,G.jsx)(Ue,{relatedMemories:a,allMemories:n,onOpenMemory:u}),(0,G.jsx)(Q,{centerMemory:e,allMemories:n,graphEdges:o,loading:s,error:c}),(0,G.jsx)(We,{memory:e}),e.status===`deleted`&&(0,G.jsx)(Ge,{contextPolicy:e.contextPolicy})]})})]})}function Be({memory:e}){let{t:n}=t();return(0,G.jsxs)(`div`,{className:`relative overflow-hidden border border-border/75 bg-card/55 p-5 shadow-[inset_0_1px_0_hsl(var(--foreground)/0.04)]`,children:[(0,G.jsx)(`div`,{className:`pointer-events-none absolute -right-10 -top-10 size-36 bg-[radial-gradient(circle,hsl(var(--info)/0.13),transparent_68%)]`}),(0,G.jsx)(`p`,{className:`relative whitespace-pre-wrap text-sm leading-7 text-foreground md:text-[15px]`,children:e.text}),e.summary&&(0,G.jsx)(`p`,{className:`relative mt-4 border-l-2 border-info/50 pl-3 text-xs italic leading-5 text-muted-foreground`,children:e.summary}),(0,G.jsxs)(`div`,{className:`relative mt-5 flex flex-wrap items-center gap-2 border-t border-border/60 pt-3`,children:[(0,G.jsx)(`code`,{className:`min-w-0 break-all font-mono text-[10px] text-muted-foreground`,children:e.id}),(0,G.jsx)(`span`,{className:`ml-auto font-mono text-[10px] text-muted-foreground`,children:n(`activity:memoryManager.revisionSuffix`,{n:e.revision})})]})]})}function $({memory:e}){let{t:n}=t(),r=[[n(`activity:memoryManager.editorImportance`),e.importance,g],[n(`activity:memoryManager.editorConfidence`),e.confidence,se],[n(`activity:memoryManager.editorFreshness`),e.freshness,M]];return(0,G.jsx)(`div`,{className:`grid gap-px bg-border/60 sm:grid-cols-3`,children:r.map(([e,t,n])=>(0,G.jsxs)(`div`,{className:`bg-card/60 p-3`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(n,{className:`size-3.5 text-info`}),(0,G.jsx)(`span`,{className:`text-[10px] font-bold uppercase tracking-[0.13em] text-muted-foreground`,children:e}),(0,G.jsxs)(`span`,{className:`ml-auto font-mono text-xs font-bold tabular-nums`,children:[Math.round(t*100),`%`]})]}),(0,G.jsx)(`div`,{className:`mt-2 h-1 bg-muted`,children:(0,G.jsx)(`div`,{className:`h-full bg-info shadow-[0_0_8px_hsl(var(--info)/0.45)]`,style:{width:`${Math.round(t*100)}%`}})})]},e))})}function Ve({tags:e,onTagSelect:n}){let{t:r}=t();return(0,G.jsxs)(`section`,{children:[(0,G.jsxs)(`h3`,{className:`mb-2 flex items-center gap-2 text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:[(0,G.jsx)(a,{className:`size-3.5 text-info`}),` `,r(`activity:memoryManager.tagsLabel`)]}),(0,G.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:e.map(e=>(0,G.jsxs)(`button`,{type:`button`,onClick:()=>n(e),className:`border border-info/25 bg-info/5 px-2 py-1 font-mono text-[10px] text-info hover:border-info/55 hover:bg-info/10`,children:[`#`,e]},e))})]})}function He({anchors:e}){let{t:n}=t();return(0,G.jsxs)(`section`,{className:`border border-border/75 bg-card/40`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border/65 px-3 py-2.5`,children:[(0,G.jsxs)(`h3`,{className:`flex items-center gap-2 text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:[(0,G.jsx)(E,{className:`size-3.5 text-info`}),` `,n(`activity:memoryManager.editorAnchors`)]}),(0,G.jsx)(`span`,{className:`font-mono text-[10px] text-muted-foreground`,children:e.length})]}),(0,G.jsx)(`ul`,{className:`divide-y divide-border/55`,children:e.map((e,t)=>(0,G.jsxs)(`li`,{className:`flex min-w-0 items-start gap-3 px-3 py-2.5`,children:[(0,G.jsx)(`span`,{className:`mt-0.5 flex size-7 shrink-0 items-center justify-center border border-info/25 bg-info/5 text-info`,children:e.type===`command`?(0,G.jsx)(m,{className:`size-3.5`}):(0,G.jsx)(E,{className:`size-3.5`})}),(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsx)(`p`,{className:`text-[9px] font-bold uppercase text-muted-foreground`,children:e.type}),(0,G.jsxs)(`p`,{className:`mt-0.5 break-all font-mono text-[10px] leading-4 text-foreground/85`,children:[e.path??e.command??e.role??`—`,e.symbol?`#${e.symbol}`:``]})]}),(e.lineStart||e.lineEnd)&&(0,G.jsxs)(`span`,{className:`ml-auto shrink-0 font-mono text-[9px] text-muted-foreground`,children:[`L`,e.lineStart??`?`,`–`,e.lineEnd??`?`]})]},`${e.type}:${e.path??e.command??e.symbol??e.role}:${t}`))})]})}function Ue({relatedMemories:e,allMemories:n,onOpenMemory:r}){let{t:i}=t();return(0,G.jsxs)(`section`,{className:`border border-border/75 bg-card/40`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border/65 px-3 py-2.5`,children:[(0,G.jsxs)(`h3`,{className:`flex items-center gap-2 text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:[(0,G.jsx)(d,{className:`size-3.5 text-info`}),` `,i(`activity:memoryManager.memoryRelationships`)]}),(0,G.jsx)(`span`,{className:`font-mono text-[10px] text-muted-foreground`,children:e.length})]}),(0,G.jsx)(`ul`,{className:`divide-y divide-border/55`,children:e.map(e=>{let t=n.find(t=>t.id===e.id);return(0,G.jsx)(`li`,{children:(0,G.jsxs)(`button`,{type:`button`,disabled:!t,onClick:()=>t&&r(t.id),className:`group flex w-full min-w-0 items-center gap-3 px-3 py-2.5 text-left hover:bg-info/5 disabled:cursor-not-allowed disabled:opacity-55`,children:[(0,G.jsx)(`span`,{className:N(`w-24 shrink-0 text-[9px] font-bold uppercase`,e.relation===`Contradicts`?`text-destructive`:`text-info`),children:e.relation}),(0,G.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs`,children:t?V(t.text,95):i(`activity:memoryManager.referencedUnavailable`)}),(0,G.jsx)(`code`,{className:`hidden max-w-32 truncate font-mono text-[9px] text-muted-foreground sm:block`,children:e.id}),t&&(0,G.jsx)(x,{className:`size-3.5 shrink-0 text-muted-foreground group-hover:text-info`})]})},`${e.relation}:${e.id}`)})})]})}function We({memory:e}){let{t:n}=t(),r=[[n(`activity:memoryManager.metaCreated`),we(e.createdAt),v],[n(`activity:memoryManager.metaUpdated`),we(e.updatedAt),M],[n(`activity:memoryManager.metaLastAccessed`),we(e.lastAccessedAt),p],[n(`activity:memoryManager.metaLastVerified`),we(e.lastVerifiedAt),g]];return(0,G.jsx)(`section`,{className:`grid gap-px bg-border/60 sm:grid-cols-2 lg:grid-cols-4`,children:r.map(([e,t,n])=>(0,G.jsxs)(`div`,{className:`bg-card/50 p-3`,children:[(0,G.jsx)(n,{className:`size-3.5 text-muted-foreground`}),(0,G.jsx)(`p`,{className:`mt-2 text-[9px] font-bold uppercase tracking-[0.12em] text-muted-foreground`,children:e}),(0,G.jsx)(`p`,{className:`mt-1 text-[10px] leading-4 text-foreground/85`,children:t})]},e))})}function Ge({contextPolicy:e}){let{t:n}=t();return(0,G.jsxs)(`div`,{className:`flex items-start gap-3 border border-border bg-muted/50 p-4 text-xs text-muted-foreground`,children:[(0,G.jsx)(s,{className:`mt-0.5 size-4 shrink-0`}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`p`,{className:`font-bold text-foreground`,children:n(`activity:memoryManager.deletedMemory`)}),(0,G.jsx)(`p`,{className:`mt-1 leading-5`,children:n(e===`never`?`activity:memoryManager.deletedNeverPolicy`:`activity:memoryManager.deletedEligiblePolicy`)})]})]})}function Ke({currentFilePath:e,knownFilePaths:n,drawerActive:r,onFilePathChange:i,onToggleDrawer:a}){let{t:o}=t();return(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-border/60 bg-card/30 px-3 py-1.5`,children:[(0,G.jsx)(`span`,{className:`text-[10px] uppercase tracking-wide text-muted-foreground`,children:o(`activity:memoryManager.fileDrawerLabel`)}),(0,G.jsx)(`input`,{type:`text`,list:`memory-drawer-file-list`,value:e??``,onChange:e=>{i(e.target.value.trim()||null)},placeholder:o(`activity:memoryManager.selectFilePlaceholder`),className:`min-w-0 max-w-[260px] flex-1 truncate rounded-sm border border-border/60 bg-background px-1.5 py-0.5 text-[10px] font-mono`,"aria-label":o(`activity:memoryManager.fileForDrawerAria`),"data-testid":`memory-drawer-file-select`}),(0,G.jsx)(`datalist`,{id:`memory-drawer-file-list`,children:[...n].sort().map(e=>(0,G.jsx)(`option`,{value:e},e))}),(0,G.jsxs)(L,{type:`button`,size:`sm`,variant:r?`default`:`outline`,onClick:a,disabled:!e,className:`h-7 shrink-0 gap-1 px-2 text-[11px]`,"aria-pressed":r,title:o(r?`activity:memoryManager.hideFileDrawer`:`activity:memoryManager.showFileDrawer`),children:[r?(0,G.jsx)(u,{className:`size-3`}):(0,G.jsx)(c,{className:`size-3`}),o(r?`activity:memoryManager.hideDrawer`:`activity:memoryManager.showDrawer`)]})]})}function qe({mode:e,draft:n,busy:r,error:i,onChange:a,onCancel:o,onSubmit:s}){let{t:c}=t(),u=(0,K.useRef)(null),[d,p]=(0,K.useState)([]);(0,K.useEffect)(()=>{u.current?.focus();let e=new AbortController;return he(`agent-roster.list`,{},e.signal).then(e=>{let t=e.roles;Array.isArray(t)&&p(t.filter(e=>typeof e==`string`))}).catch(()=>void 0),()=>e.abort()},[]);let m=(e,t)=>{a({...n,[e]:t})},g=()=>{m(`anchors`,[...n.anchors,{type:`file`,path:``}])};return(0,G.jsxs)(`form`,{className:`flex min-h-0 flex-1 flex-col`,onSubmit:e=>{e.preventDefault(),s()},"aria-busy":r,children:[(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 border-b border-border/70 bg-card/70 px-4 py-3 backdrop-blur-xl`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`flex size-8 items-center justify-center border border-info/35 bg-info/10 text-info`,children:e===`create`?(0,G.jsx)(h,{className:`size-4`}):(0,G.jsx)(ne,{className:`size-4`})}),(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsx)(`p`,{className:`truncate text-sm font-bold`,children:c(e===`create`?`activity:memoryManager.captureMemory`:`activity:memoryManager.editMemory`)}),(0,G.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:c(e===`create`?`activity:memoryManager.editorCreateHint`:`activity:memoryManager.editorEditHint`)})]})]}),(0,G.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,G.jsxs)(L,{type:`button`,variant:`ghost`,size:`sm`,onClick:o,disabled:r,children:[(0,G.jsx)(te,{className:`size-3.5`}),` `,c(`common:action.cancel`)]}),(0,G.jsxs)(L,{type:`submit`,size:`sm`,disabled:r||!n.text.trim(),children:[r?(0,G.jsx)(D,{className:`size-3.5 animate-spin`}):e===`create`?(0,G.jsx)(f,{className:`size-3.5`}):(0,G.jsx)(A,{className:`size-3.5`}),c(r?`common:action.saving`:e===`create`?`activity:memoryManager.createMemory`:`activity:memoryManager.saveChanges`)]})]})]}),(0,G.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto overscroll-contain p-4 md:p-5`,children:(0,G.jsxs)(`div`,{className:`mx-auto max-w-4xl space-y-5`,children:[i&&(0,G.jsxs)(`div`,{role:`alert`,className:`flex items-start gap-2 border border-destructive/40 bg-destructive/10 px-3 py-2.5 text-sm text-destructive`,children:[(0,G.jsx)(l,{className:`mt-0.5 size-4 shrink-0`}),(0,G.jsx)(`span`,{children:i})]}),(0,G.jsxs)(`section`,{className:`border border-border/75 bg-card/45 p-4`,children:[(0,G.jsxs)(`div`,{className:`mb-3 flex items-center justify-between gap-3`,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`h3`,{className:`text-xs font-bold uppercase tracking-[0.14em]`,children:c(`activity:memoryManager.editorKnowledge`)}),(0,G.jsx)(`p`,{className:`mt-1 text-[10px] text-muted-foreground`,children:c(`activity:memEditor.writeTheDurableFactOrDecision`)})]}),(0,G.jsx)(`span`,{className:`font-mono text-[10px] text-muted-foreground tabular-nums`,children:c(`activity:memoryManager.editorCharCount`,{count:n.text.length})})]}),(0,G.jsx)(`label`,{htmlFor:`memory-text`,className:`sr-only`,children:c(`activity:memoryManager.editorContentLabel`)}),(0,G.jsx)(`textarea`,{ref:u,id:`memory-text`,value:n.text,onChange:e=>m(`text`,e.target.value),rows:7,required:!0,placeholder:c(`activity:memoryManager.editorContentPlaceholder`),className:`min-h-36 w-full resize-y border border-input bg-background/75 px-3 py-3 text-sm leading-6 text-foreground shadow-inner placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`})]}),(0,G.jsxs)(`section`,{className:`grid gap-3 sm:grid-cols-2 lg:grid-cols-3`,children:[(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsx)(`label`,{htmlFor:`memory-kind`,className:`mb-1.5 block text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:c(`activity:memoryManager.editorKind`)}),(0,G.jsx)(`select`,{id:`memory-kind`,value:n.kind,onChange:e=>m(`kind`,e.target.value),className:`h-10 w-full border border-input bg-background px-3 text-sm`,children:Se.map(e=>(0,G.jsx)(`option`,{value:e,children:H[e]},e))})]}),e===`create`?(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsx)(`label`,{htmlFor:`memory-scope`,className:`mb-1.5 block text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:c(`activity:memoryManager.editorScope`)}),(0,G.jsx)(`select`,{id:`memory-scope`,value:n.scope,onChange:e=>m(`scope`,e.target.value),className:`h-10 w-full border border-input bg-background px-3 text-sm`,children:_e.map(e=>(0,G.jsx)(`option`,{value:e,children:e},e))})]}):(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsx)(`label`,{htmlFor:`memory-status`,className:`mb-1.5 block text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:c(`activity:memoryManager.editorLifecycleStatus`)}),(0,G.jsx)(`select`,{id:`memory-status`,value:n.status,onChange:e=>m(`status`,e.target.value),className:`h-10 w-full border border-input bg-background px-3 text-sm`,children:Te.map(e=>(0,G.jsx)(`option`,{value:e,children:e},e))})]}),(0,G.jsxs)(`div`,{className:N(`min-w-0`,e===`create`?`sm:col-span-2 lg:col-span-1`:``),children:[(0,G.jsx)(`label`,{htmlFor:`memory-tags`,className:`mb-1.5 block text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:c(`activity:memoryManager.tagsLabel`)}),(0,G.jsx)(R,{id:`memory-tags`,value:n.tags,onChange:e=>m(`tags`,e.target.value),placeholder:c(`activity:memEditor.architectureWebuiWorkflow`),className:`h-10 bg-background`})]})]}),(0,G.jsxs)(`section`,{className:`grid gap-3 sm:grid-cols-3`,children:[(0,G.jsx)(B,{id:`memory-importance`,label:c(`activity:memoryManager.editorImportance`),value:n.importance,onChange:e=>m(`importance`,e)}),(0,G.jsx)(B,{id:`memory-confidence`,label:c(`activity:memoryManager.editorConfidence`),value:n.confidence,onChange:e=>m(`confidence`,e)}),(0,G.jsx)(B,{id:`memory-freshness`,label:c(`activity:memoryManager.editorFreshness`),value:n.freshness,onChange:e=>m(`freshness`,e)})]}),(0,G.jsxs)(`section`,{className:`border border-border/75 bg-card/45 p-4`,children:[(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`h3`,{className:`text-xs font-bold uppercase tracking-[0.14em]`,children:c(`activity:memoryManager.editorAnchors`)}),(0,G.jsx)(`p`,{className:`mt-1 text-[10px] text-muted-foreground`,children:c(`activity:memEditor.bindKnowledgeToFilesSymbolsPackages`)})]}),(0,G.jsxs)(L,{type:`button`,variant:`outline`,size:`sm`,onClick:g,children:[(0,G.jsx)(f,{className:`size-3.5`}),` `,c(`activity:memoryManager.addAnchor`)]})]}),n.anchors.length===0?(0,G.jsxs)(`button`,{type:`button`,onClick:g,className:`mt-4 flex w-full items-center justify-center gap-2 border border-dashed border-border px-4 py-7 text-xs text-muted-foreground transition-colors hover:border-info/50 hover:bg-info/5 hover:text-info`,children:[(0,G.jsx)(oe,{className:`size-4`}),` `,c(`activity:memoryManager.noAnchors`)]}):(0,G.jsx)(`div`,{className:`mt-4 space-y-2`,children:n.anchors.map((e,t)=>(0,G.jsxs)(`div`,{className:`grid gap-2 border border-border/65 bg-background/40 p-2 sm:grid-cols-[9rem_minmax(0,1fr)_auto]`,children:[(0,G.jsxs)(`label`,{className:`sr-only`,htmlFor:`anchor-type-${t}`,children:[`Anchor `,t+1,` type`]}),(0,G.jsx)(`select`,{id:`anchor-type-${t}`,value:e.type,onChange:e=>{let r=e.target.value,i=r===`command`?{type:r,command:``}:r===`agent`?{type:r,role:``}:{type:r,path:``},a=n.anchors.map((e,n)=>n===t?i:e);m(`anchors`,a)},className:`h-10 border border-input bg-background px-2 text-xs`,children:Oe.map(e=>(0,G.jsx)(`option`,{value:e,children:e},e))}),(0,G.jsxs)(`div`,{className:N(`grid min-w-0 gap-2`,e.type===`symbol`&&`sm:grid-cols-[minmax(0,1fr)_11rem]`),children:[(0,G.jsxs)(`label`,{className:`sr-only`,htmlFor:`anchor-value-${t}`,children:[`Anchor `,t+1,` value`]}),(0,G.jsx)(R,{id:`anchor-value-${t}`,list:e.type===`agent`?`memory-agent-role-options`:void 0,value:ke(e),onChange:e=>{let r=n.anchors.map((n,r)=>r===t?ve(n,e.target.value):n);m(`anchors`,r)},placeholder:e.type===`command`?`pnpm test --filter webui`:e.type===`agent`?`reviewer`:`packages/webui/src/App.tsx`,className:`h-10 min-w-0 bg-background font-mono text-xs`}),e.type===`symbol`&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`label`,{className:`sr-only`,htmlFor:`anchor-symbol-${t}`,children:[`Anchor `,t+1,` symbol`]}),(0,G.jsx)(R,{id:`anchor-symbol-${t}`,value:e.symbol??``,onChange:e=>{let r=n.anchors.map((n,r)=>r===t?{...n,symbol:e.target.value}:n);m(`anchors`,r)},placeholder:c(`activity:memoryManager.editorSymbolPlaceholder`),className:`h-10 bg-background font-mono text-xs`})]})]}),(0,G.jsx)(L,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":`Remove anchor ${t+1}`,onClick:()=>m(`anchors`,n.anchors.filter((e,n)=>n!==t)),children:(0,G.jsx)(T,{className:`size-4 text-destructive`})})]},`${e.type}:${t}`))}),(0,G.jsx)(`datalist`,{id:`memory-agent-role-options`,children:d.map(e=>(0,G.jsx)(`option`,{value:e},e))})]}),(0,G.jsxs)(`section`,{className:`grid gap-3 border border-border/75 bg-card/45 p-4 sm:grid-cols-2`,children:[(0,G.jsxs)(`div`,{className:`sm:col-span-2`,children:[(0,G.jsx)(`h3`,{className:`text-xs font-bold uppercase tracking-[0.14em]`,children:c(`activity:memoryManager.editorRelationships`)}),(0,G.jsx)(`p`,{className:`mt-1 text-[10px] text-muted-foreground`,children:c(`activity:memoryManager.editorRelationshipsHint`)})]}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`label`,{htmlFor:`memory-supersedes`,className:`mb-1.5 block text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:c(`activity:memoryManager.editorSupersedes`)}),(0,G.jsx)(R,{id:`memory-supersedes`,value:n.supersedes,onChange:e=>m(`supersedes`,e.target.value),placeholder:c(`activity:memEditor.memIdMemId`),className:`h-10 bg-background font-mono text-xs`})]}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`label`,{htmlFor:`memory-contradicts`,className:`mb-1.5 block text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:c(`activity:memoryManager.editorContradicts`)}),(0,G.jsx)(R,{id:`memory-contradicts`,value:n.contradicts,onChange:e=>m(`contradicts`,e.target.value),placeholder:c(`activity:memEditor.memIdMemId`),className:`h-10 bg-background font-mono text-xs`})]})]}),(0,G.jsxs)(`section`,{className:`space-y-2`,children:[(0,G.jsx)(`h3`,{className:`text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:c(`activity:memEditor.audienceOptional`)}),(0,G.jsx)(`p`,{className:`text-[10px] text-muted-foreground/70`,children:c(`activity:memEditor.targetThisMemoryToSpecificAgent`)}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`label`,{htmlFor:`memory-audience-roles`,className:`mb-1.5 block text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:c(`activity:memEditor.roles`)}),(0,G.jsx)(R,{id:`memory-audience-roles`,value:n.audienceRoles,onChange:e=>m(`audienceRoles`,e.target.value),placeholder:c(`activity:memEditor.reviewerRefactorPlanner`),className:`h-9 bg-background font-mono text-xs`})]}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`label`,{htmlFor:`memory-audience-task-types`,className:`mb-1.5 block text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:c(`activity:memoryManager.editorTaskTypes`)}),(0,G.jsx)(R,{id:`memory-audience-task-types`,value:n.audienceTaskTypes,onChange:e=>m(`audienceTaskTypes`,e.target.value),placeholder:c(`activity:memEditor.reviewRefactorBugfix`),className:`h-9 bg-background font-mono text-xs`})]}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`label`,{htmlFor:`memory-audience-modes`,className:`mb-1.5 block text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:c(`activity:memEditor.modes`)}),(0,G.jsx)(R,{id:`memory-audience-modes`,value:n.audienceModes,onChange:e=>m(`audienceModes`,e.target.value),placeholder:c(`activity:memEditor.teachCodeReview`),className:`h-9 bg-background font-mono text-xs`})]})]})]})})]})}function Je({searchQuery:e,statusFilter:r,kindFilter:i,audienceOnly:o,tagFilter:s,hasFilters:c,allTags:l,stats:u,onSearchChange:d,onStatusFilterChange:f,onKindFilterChange:p,onToggleAudienceOnly:m,onTagFilterChange:h,onClearFilters:g}){let{t:_}=t(),[v,y]=(0,K.useState)(!!s),x=v||!!s,S=l.length>0;return(0,G.jsxs)(`div`,{className:`shrink-0 space-y-2 overflow-hidden border-b border-border/70 bg-card/45 p-3`,children:[(0,G.jsxs)(`div`,{className:`flex gap-2`,children:[(0,G.jsxs)(`div`,{className:`relative min-w-0 flex-1`,children:[(0,G.jsx)(ee,{className:`pointer-events-none absolute left-3 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground`}),(0,G.jsx)(R,{"aria-label":_(`activity:memoryManager.searchAria`),value:e,onChange:e=>d(e.target.value),placeholder:_(`activity:memoryManager.searchPlaceholder`),className:`h-10 min-w-0 bg-background pl-9 pr-8 text-xs`}),e&&(0,G.jsx)(`button`,{type:`button`,"aria-label":_(`activity:memoryManager.clearSearchAria`),onClick:()=>d(``),className:`absolute right-2 top-1/2 -translate-y-1/2 p-1 text-muted-foreground hover:text-foreground`,children:(0,G.jsx)(te,{className:`size-3.5`})})]}),(0,G.jsx)(L,{variant:o?`default`:`ghost`,size:`icon`,onClick:m,"aria-label":_(`activity:memoryManager.audienceFilterAria`),title:_(`activity:memoryManager.audienceFilterTitle`),className:`shrink-0`,children:(0,G.jsx)(b,{className:`size-4`})}),c&&(0,G.jsx)(L,{variant:`ghost`,size:`icon`,onClick:g,"aria-label":_(`activity:memoryManager.clearFiltersAria`),title:_(`activity:memoryManager.clearFiltersTitle`),children:(0,G.jsx)(n,{className:`size-4`})})]}),(0,G.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,G.jsx)(`label`,{className:`sr-only`,htmlFor:`memory-status-filter`,children:_(`activity:memoryManager.filterByStatus`)}),(0,G.jsxs)(`select`,{id:`memory-status-filter`,value:r,onChange:e=>f(e.target.value),className:`h-9 min-w-0 border border-input bg-background px-2 text-xs`,children:[(0,G.jsx)(`option`,{value:`all`,children:_(`activity:memoryManager.allStatuses`)}),Ee.map(e=>(0,G.jsxs)(`option`,{value:e,children:[e,` · `,u?.byStatus[e]??0]},e))]}),(0,G.jsx)(`label`,{className:`sr-only`,htmlFor:`memory-kind-filter`,children:_(`activity:memoryManager.filterByKind`)}),(0,G.jsxs)(`select`,{id:`memory-kind-filter`,value:i,onChange:e=>p(e.target.value),className:`h-9 min-w-0 border border-input bg-background px-2 text-xs`,children:[(0,G.jsx)(`option`,{value:`all`,children:_(`activity:memoryManager.allKinds`)}),Se.map(e=>(0,G.jsxs)(`option`,{value:e,children:[H[e],` · `,u?.byKind[e]??0]},e))]})]}),S&&(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,G.jsxs)(`button`,{type:`button`,onClick:()=>{s||y(e=>!e)},"aria-expanded":x,"aria-controls":`memory-tags-panel`,disabled:!!s,className:N(`flex items-center gap-1.5 px-1 py-0.5 text-[10px] uppercase tracking-wide transition-colors`,x?`text-foreground`:`text-muted-foreground hover:text-foreground`,!!s&&`cursor-default`),title:s?`Active filter: ${s} (click the chip to clear)`:x?`Hide tag filters`:`Show tag filters (${l.length})`,children:[(0,G.jsx)(ae,{className:N(`size-3 transition-transform`,!x&&`-rotate-90`)}),(0,G.jsx)(a,{className:`size-3`}),(0,G.jsx)(`span`,{className:`font-semibold`,children:_(`activity:memoryManager.tagsLabel`)}),(0,G.jsx)(`span`,{className:`font-mono text-[9px] text-muted-foreground`,children:l.length})]}),s&&(0,G.jsx)(`span`,{role:`status`,"aria-label":`Active tag filter: ${s}`,className:`border border-info/55 bg-info/10 px-1 font-mono text-[9px] uppercase text-info`,children:s})]}),S&&x&&(0,G.jsxs)(`fieldset`,{id:`memory-tags-panel`,className:`min-w-0 border-0 p-0`,children:[(0,G.jsx)(`legend`,{className:`sr-only`,children:_(`activity:memoryManager.popularTags`)}),(0,G.jsx)(`div`,{className:`no-scrollbar flex gap-1.5 overflow-x-auto pb-0.5`,children:l.slice(0,18).map(([e,t])=>(0,G.jsxs)(`button`,{type:`button`,"aria-pressed":s===e,onClick:()=>h(s===e?null:e),className:N(`flex shrink-0 items-center gap-1 border px-2 py-1 text-[10px] transition-colors`,s===e?`border-info/55 bg-info/10 text-info`:`border-border/70 bg-background/45 text-muted-foreground hover:border-info/35 hover:text-foreground`),children:[(0,G.jsx)(a,{className:`size-2.5`}),` `,e,(0,G.jsx)(`span`,{className:`font-mono opacity-60`,children:t})]},e))})]})]})}var Ye=100;function Xe({memoryListRef:e,memories:n,filteredMemories:r,selectedId:i,onSelectMemory:a,onOpenCreate:o,onClearFilters:s}){let{t:c}=t(),l=r.length>Ye,u=ie({count:r.length,getScrollElement:()=>e.current,estimateSize:()=>100,overscan:8,enabled:l});return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between border-b border-border/60 px-3 py-2 text-[10px] text-muted-foreground`,children:[(0,G.jsx)(`span`,{children:c(`activity:memoryManager.memoryCountSummary`,{shown:r.length,total:n.length})}),(0,G.jsx)(`span`,{className:`font-mono uppercase`,children:c(`activity:memoryManager.updatedSortLabel`)})]}),(0,G.jsx)(`section`,{ref:e,className:`min-h-0 flex-1 overflow-y-auto overscroll-contain`,"aria-label":c(`activity:memoryManager.listAria`),children:r.length===0?(0,G.jsx)(Ze,{hasMemories:n.length>0,onOpenCreate:o,onClearFilters:s}):l?(0,G.jsx)(`div`,{style:{height:`${u.getTotalSize()}px`,width:`100%`,position:`relative`},children:u.getVirtualItems().map(e=>{let t=r[e.index];return t?(0,G.jsx)(`div`,{"data-index":e.index,ref:u.measureElement,style:{position:`absolute`,top:0,left:0,width:`100%`,transform:`translateY(${e.start}px)`},children:(0,G.jsx)(Qe,{memory:t,isSelected:i===t.id,onClick:()=>a(t.id)})},t.id):null})}):r.map(e=>(0,G.jsx)(Qe,{memory:e,isSelected:i===e.id,onClick:()=>a(e.id)},e.id))})]})}function Ze({hasMemories:e,onOpenCreate:r,onClearFilters:i}){let{t:a}=t();return(0,G.jsxs)(`div`,{className:`flex min-h-64 flex-col items-center justify-center px-6 text-center`,children:[(0,G.jsx)(`span`,{className:`flex size-12 items-center justify-center border border-dashed border-border text-muted-foreground`,children:(0,G.jsx)(j,{className:`size-5`})}),(0,G.jsx)(`h2`,{className:`mt-4 text-sm font-bold`,children:a(e?`activity:memoryManager.noMatching`:`activity:memoryManager.buildGraph`)}),(0,G.jsx)(`p`,{className:`mt-1 max-w-xs text-xs leading-5 text-muted-foreground`,children:a(e?`activity:memoryManager.emptyFiltered`:`activity:memoryManager.emptyCapture`)}),(0,G.jsxs)(L,{className:`mt-4`,variant:`outline`,size:`sm`,onClick:e?i:r,children:[e?(0,G.jsx)(n,{className:`size-3.5`}):(0,G.jsx)(f,{className:`size-3.5`}),a(e?`activity:memoryManager.clearFilters`:`activity:memoryManager.createFirst`)]})]})}function Qe({memory:e,isSelected:t,onClick:n}){return(0,G.jsxs)(`button`,{type:`button`,"aria-current":t?`true`:void 0,onClick:n,className:N(`group relative block w-full border-b border-border/55 px-3 py-3 text-left transition-[background-color,border-color] hover:bg-info/5`,t&&`bg-info/8`),children:[t&&(0,G.jsx)(`span`,{className:`absolute inset-y-0 left-0 w-0.5 bg-info shadow-[0_0_10px_hsl(var(--info)/0.7)]`}),(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,G.jsx)(`span`,{className:N(`truncate text-[10px] font-bold uppercase tracking-[0.1em]`,xe(e.kind)),children:H[e.kind]??e.kind}),(0,G.jsx)(Ce,{status:e.status}),(0,G.jsxs)(`span`,{className:`ml-auto shrink-0 font-mono text-[9px] text-muted-foreground`,children:[`r`,e.revision]})]}),(0,G.jsx)(`p`,{className:N(`mt-2 line-clamp-2 text-xs leading-5 text-foreground/90`,e.status===`deleted`&&`line-through opacity-60`),children:V(e.text)}),(0,G.jsxs)(`div`,{className:`mt-2 flex min-w-0 items-center gap-1.5`,children:[(0,G.jsx)(`span`,{className:`border border-border/60 bg-background/50 px-1.5 py-0.5 font-mono text-[9px] uppercase text-muted-foreground`,children:e.scope}),e.audience&&(0,G.jsxs)(`span`,{className:`flex items-center gap-0.5 border border-primary/30 bg-primary/10 px-1.5 py-0.5 font-mono text-[9px] text-primary`,children:[(0,G.jsx)(b,{className:`size-2.5`}),(e.audience.roles??e.audience.taskTypes??e.audience.modes??[]).slice(0,1)[0]??`scoped`]}),e.tags.slice(0,2).map(e=>(0,G.jsxs)(`span`,{className:`max-w-24 truncate border border-border/60 px-1.5 py-0.5 font-mono text-[9px] text-muted-foreground`,children:[`#`,e]},e)),e.tags.length>2&&(0,G.jsxs)(`span`,{className:`font-mono text-[9px] text-muted-foreground`,children:[`+`,e.tags.length-2]}),(0,G.jsx)(`span`,{className:`ml-auto shrink-0 text-[9px] text-muted-foreground`,children:Ae(e.updatedAt)}),(0,G.jsx)(x,{className:`size-3 shrink-0 text-muted-foreground transition-transform group-hover:translate-x-0.5 group-hover:text-info`})]})]})}function $e({onCapture:e}){let{t:n}=t();return(0,G.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col items-center justify-center p-8 text-center`,children:[(0,G.jsxs)(`div`,{className:`relative flex size-20 items-center justify-center border border-info/25 bg-info/5 text-info`,children:[(0,G.jsx)(b,{className:`size-8`}),(0,G.jsx)(`span`,{className:`absolute inset-2 border border-info/10`})]}),(0,G.jsx)(`h2`,{className:`mt-5 text-lg font-bold`,children:n(`activity:memoryManager.emptyTitle`)}),(0,G.jsx)(`p`,{className:`mt-2 max-w-md text-sm leading-6 text-muted-foreground`,children:n(`activity:memoryManager.emptyBody`)}),(0,G.jsxs)(`div`,{className:`mt-6 grid w-full max-w-lg gap-2 sm:grid-cols-3`,children:[(0,G.jsxs)(`div`,{className:`border border-border/70 bg-card/45 p-3`,children:[(0,G.jsx)(O,{className:`mx-auto size-4 text-success`}),(0,G.jsx)(`p`,{className:`mt-2 text-[10px] font-bold uppercase`,children:n(`activity:memoryManager.emptyVerifiedAnchors`)})]}),(0,G.jsxs)(`div`,{className:`border border-border/70 bg-card/45 p-3`,children:[(0,G.jsx)(b,{className:`mx-auto size-4 text-info`}),(0,G.jsx)(`p`,{className:`mt-2 text-[10px] font-bold uppercase`,children:n(`activity:memoryManager.emptyTypedRelations`)})]}),(0,G.jsxs)(`div`,{className:`border border-border/70 bg-card/45 p-3`,children:[(0,G.jsx)(f,{className:`mx-auto size-4 text-warning`}),(0,G.jsx)(`p`,{className:`mt-2 text-[10px] font-bold uppercase`,children:n(`activity:memoryManager.emptyAgentRecall`)})]})]}),(0,G.jsxs)(L,{onClick:e,children:[(0,G.jsx)(f,{className:`size-4`}),` `,n(`activity:memoryManager.captureButton`)]})]})}function et({wsConnected:e,refreshing:n,onRefresh:i,onCreate:a}){let{t:o}=t(),s=de(e=>e.setCurrentView);return(0,G.jsxs)(`header`,{className:`relative shrink-0 overflow-hidden border-b border-border/70 bg-card/72 px-4 py-3 backdrop-blur-xl sm:px-5`,children:[(0,G.jsx)(`div`,{className:`pointer-events-none absolute inset-y-0 right-0 w-1/2 bg-[radial-gradient(circle_at_right,hsl(var(--info)/0.11),transparent_68%)]`}),(0,G.jsxs)(`div`,{className:`relative flex flex-wrap items-center gap-3`,children:[(0,G.jsx)(L,{variant:`ghost`,size:`icon`,onClick:()=>s(`chat`),"aria-label":o(`activity:memoryManager.backToChat`),title:o(`activity:memoryManager.backToChat`),children:(0,G.jsx)(r,{className:`size-4`})}),(0,G.jsx)(`span`,{className:`flex size-10 items-center justify-center border border-info/40 bg-info/10 text-info shadow-[0_0_20px_hsl(var(--info)/0.12)]`,children:(0,G.jsx)(b,{className:`size-5`})}),(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,G.jsx)(`h1`,{className:`text-base font-bold sm:text-lg`,children:o(`activity:memoryManager.sageHeading`)}),(0,G.jsx)(`span`,{className:`border border-success/35 bg-success/10 px-2 py-0.5 font-mono text-[9px] font-bold uppercase text-success`,children:o(`activity:memoryManager.projectKnowledge`)})]}),(0,G.jsx)(`p`,{className:`mt-0.5 max-w-2xl text-[10px] text-muted-foreground sm:text-xs`,children:o(`activity:memoryManager.sageSubtitle`)})]}),(0,G.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,G.jsxs)(`span`,{className:N(`hidden items-center gap-1.5 border px-2 py-1 font-mono text-[9px] uppercase sm:flex`,e?`border-success/30 text-success`:`border-warning/30 text-warning`),children:[(0,G.jsx)(`span`,{className:`size-1.5 bg-current`}),` `,o(e?`activity:memoryManager.liveStore`:`activity:memoryManager.reconnecting`)]}),(0,G.jsxs)(L,{variant:`outline`,size:`sm`,onClick:i,disabled:n,"aria-label":o(`activity:memoryManager.refreshAria`),children:[(0,G.jsx)(M,{className:N(`size-3.5`,n&&`animate-spin`)}),(0,G.jsx)(`span`,{className:`hidden sm:inline`,children:o(`common:action.refresh`)})]}),(0,G.jsxs)(L,{size:`sm`,onClick:a,children:[(0,G.jsx)(f,{className:`size-3.5`}),` `,o(`activity:memoryManager.newMemory`)]})]})]})]})}function tt({stats:e,memories:n,filteredCount:r,allTagsCount:i}){let{t:a}=t(),o=n.filter(e=>e.audience).length,s=new Set;if(o>0){for(let e of n)if(e.audience){for(let t of e.audience.roles??[])s.add(t);for(let t of e.audience.taskTypes??[])s.add(t);for(let t of e.audience.modes??[])s.add(t)}}return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`div`,{className:`grid shrink-0 grid-cols-2 gap-px border-b border-border/70 bg-border/60 sm:grid-cols-4`,children:[(0,G.jsx)(U,{label:a(`activity:memoryManager.tabMemories`),value:e?.total??n.length,hint:`${r} visible`}),(0,G.jsx)(U,{label:a(`activity:memoryManager.tabActive`),value:e?.byStatus.active??n.filter(e=>e.status===`active`).length,hint:`retrievable`,tone:`success`}),(0,G.jsx)(U,{label:a(`activity:memoryManager.tabNeedsReview`),value:(e?.byStatus.stale??0)+(e?.byStatus.contradicted??0),hint:a(`activity:memoryManager.staleConflicts`),tone:`warning`}),(0,G.jsx)(`div`,{className:`hidden sm:block`,children:(0,G.jsx)(U,{label:a(`activity:memoryManager.tabGraphEdges`),value:e?.edges??0,hint:`${i} tags`,tone:`info`})})]}),o>0&&(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-border/70 bg-primary/5 px-4 py-1.5`,children:[(0,G.jsx)(b,{className:`size-3.5 text-primary`}),(0,G.jsxs)(`span`,{className:`text-[11px] font-medium text-primary`,children:[o,` audience-scoped memory`,o===1?``:`ies`]}),s.size>0&&(0,G.jsxs)(`span`,{className:`text-[10px] text-muted-foreground`,children:[`(`,[...s].sort().join(`, `),`)`]})]})]})}function nt({listCandidates:e,resolveCandidate:n,onOpenMemory:r,client:i,active:a}){let{t:o}=t(),[s,c]=(0,K.useState)([]),[u,d]=(0,K.useState)(!1),[f,p]=(0,K.useState)(null),[m,h]=(0,K.useState)(null),[g,_]=(0,K.useState)(!1),[v,y]=(0,K.useState)(()=>new Set),ee=(0,K.useRef)(0),b=(0,K.useCallback)(()=>{let t=++ee.current;d(!0),p(null);let n=i.on(`memory.sage.listCandidates`,e=>{if(t===ee.current){if(n(),e.payload.error)p(String(e.payload.error)),c([]);else{let t=(Array.isArray(e.payload.candidates)?e.payload.candidates:[]).filter(e=>e.status===`pending`);c(t),y(e=>{let n=new Set;for(let r of e)t.some(e=>e.id===r)&&n.add(r);return n})}d(!1)}}),r=setTimeout(()=>{t===ee.current&&(n(),d(!1),p(o(`activity:memoryManager.reviewLoadTimeout`)))},15e3);return e({includeResolved:!1},{echoToChat:!1}),()=>{clearTimeout(r),n()}},[i,e,o]);(0,K.useEffect)(()=>{if(a)return b()},[a,b]);let x=(0,K.useCallback)((e,t)=>new Promise(r=>{let a=i.on(`memory.sage.candidateResolve`,e=>{a();let t=e.payload.error;r(!t)});n({candidateId:e,action:t,reason:t===`reject`?`Rejected via Memory Review tab`:void 0},{echoToChat:!1}),setTimeout(()=>{a(),r(!1)},15e3)}),[i,n]),S=(0,K.useCallback)(async(e,t)=>{h(e),await x(e,t),h(null),b()},[b,x]),C=(0,K.useCallback)(async e=>{let t=[...v];if(t.length!==0){_(!0);for(let n of t)await x(n,e);_(!1),y(new Set),b()}},[b,x,v]),w=e=>{y(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},T=()=>{y(new Set(s.map(e=>e.id)))},ne=()=>y(new Set);if(u&&s.length===0)return(0,G.jsxs)(`div`,{className:`flex flex-1 items-center justify-center gap-2 p-6 text-sm text-muted-foreground`,children:[(0,G.jsx)(D,{className:`size-4 animate-spin`}),o(`activity:memoryManager.reviewLoading`)]});if(f&&s.length===0)return(0,G.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-3 p-6 text-center`,children:[(0,G.jsx)(l,{className:`size-5 text-warning`}),(0,G.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:f}),(0,G.jsxs)(L,{size:`sm`,variant:`outline`,onClick:()=>b(),children:[(0,G.jsx)(M,{className:`size-3.5`}),` `,o(`common:action.retry`)]})]});if(s.length===0)return(0,G.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-2 p-8 text-center`,children:[(0,G.jsx)(O,{className:`size-6 text-success`}),(0,G.jsx)(`p`,{className:`text-sm font-medium`,children:o(`activity:memoryManager.reviewEmptyTitle`)}),(0,G.jsx)(`p`,{className:`max-w-sm text-xs text-muted-foreground`,children:o(`activity:memoryManager.reviewEmptyHint`)}),(0,G.jsxs)(L,{size:`sm`,variant:`ghost`,onClick:()=>b(),children:[(0,G.jsx)(M,{className:`size-3.5`}),` `,o(`common:action.refresh`)]})]});let E=v.size,re=E===s.length&&s.length>0;return(0,G.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,G.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center justify-between gap-2 border-b border-border/60 px-3 py-2`,children:[(0,G.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:o(`activity:memoryManager.reviewPendingCount`,{count:s.length})}),(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,G.jsx)(L,{size:`sm`,variant:`ghost`,className:`h-7 text-[11px]`,onClick:re?ne:T,children:o(re?`activity:memoryManager.reviewClearSelection`:`activity:memoryManager.reviewSelectAll`)}),(0,G.jsxs)(L,{size:`sm`,className:`h-7`,disabled:E===0||g,onClick:()=>void C(`accept`),children:[g?(0,G.jsx)(D,{className:`size-3 animate-spin`}):(0,G.jsx)(O,{className:`size-3`}),o(`activity:memoryManager.reviewBulkAccept`),E>0?` (${E})`:``]}),(0,G.jsxs)(L,{size:`sm`,variant:`outline`,className:`h-7`,disabled:E===0||g,onClick:()=>void C(`reject`),children:[(0,G.jsx)(te,{className:`size-3`}),o(`activity:memoryManager.reviewBulkKeep`),E>0?` (${E})`:``]}),(0,G.jsx)(L,{size:`sm`,variant:`ghost`,className:`h-7`,onClick:()=>b(),disabled:u,children:(0,G.jsx)(M,{className:N(`size-3.5`,u&&`animate-spin`)})})]})]}),(0,G.jsx)(`ul`,{className:`min-h-0 flex-1 space-y-2 overflow-y-auto p-3`,children:s.map(e=>{let t=e.targetMemoryId??e.memoryId,n=e.reviewReason??e.reason??``,i=m===e.id||g,a=v.has(e.id);return(0,G.jsx)(`li`,{className:N(`rounded-md border bg-card/60 p-3 text-sm shadow-sm`,a?`border-primary/50 ring-1 ring-primary/20`:`border-border/70`),children:(0,G.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,G.jsx)(`input`,{type:`checkbox`,className:`mt-1 size-3.5 accent-primary`,checked:a,disabled:g,onChange:()=>w(e.id),"aria-label":o(`activity:memoryManager.reviewSelectOne`)}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 text-[10px] uppercase tracking-wide text-muted-foreground`,children:[(0,G.jsx)(`span`,{className:`font-mono text-warning`,children:e.suggestedAction??`review`}),(0,G.jsx)(`span`,{children:`·`}),(0,G.jsx)(`span`,{children:Ae(e.createdAt)}),e.tags?.includes(`triage`)&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`span`,{children:`·`}),(0,G.jsx)(`span`,{className:`text-info`,children:`triage`})]})]}),(0,G.jsx)(`p`,{className:`mt-1.5 text-[13px] leading-snug text-foreground`,children:V(e.text,220)}),n?(0,G.jsx)(`p`,{className:`mt-1 text-[11px] text-muted-foreground`,children:n}):null,t?(0,G.jsxs)(`button`,{type:`button`,className:`mt-1 font-mono text-[10px] text-primary hover:underline`,onClick:()=>r?.(t),children:[t.slice(0,16),`…`]}):null,(0,G.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:[(0,G.jsxs)(L,{size:`sm`,className:`h-7`,disabled:i,onClick:()=>void S(e.id,`accept`),children:[m===e.id?(0,G.jsx)(D,{className:`size-3 animate-spin`}):(0,G.jsx)(O,{className:`size-3`}),o(`activity:memoryManager.actionAcceptDeletion`)]}),(0,G.jsxs)(L,{size:`sm`,variant:`outline`,className:`h-7`,disabled:i,onClick:()=>void S(e.id,`reject`),children:[(0,G.jsx)(te,{className:`size-3`}),o(`activity:memoryManager.actionKeep`)]})]})]})]})},e.id)})})]})}function rt(e,t){let n=t.searchQuery.trim().toLowerCase();return e.filter(e=>{if(t.statusFilter!==`all`&&e.status!==t.statusFilter||t.kindFilter!==`all`&&e.kind!==t.kindFilter||t.tagFilter&&!e.tags.includes(t.tagFilter)||t.audienceOnly&&!e.audience)return!1;if(!n)return!0;let r=e.anchors.map(e=>[e.path,e.symbol,e.command,e.role].filter(Boolean).join(` `)).join(` `),i=e.audience?[e.audience.roles?.join(` `)??``,e.audience.taskTypes?.join(` `)??``,e.audience.modes?.join(` `)??``].join(` `):``;return[e.id,e.text,e.summary??``,e.kind,e.scope,e.tags.join(` `),r,i].join(` `).toLowerCase().includes(n)})}function it(e){let t=new Map;for(let n of e)for(let e of n.tags)t.set(e,(t.get(e)??0)+1);return[...t.entries()].sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0]))}function at(e){if(!e)return[];let t=[];e.supersededBy&&t.push({relation:`Superseded by`,id:e.supersededBy});for(let n of e.supersedes??[])t.push({relation:`Supersedes`,id:n});for(let n of e.contradicts??[])t.push({relation:`Contradicts`,id:n});return t}var ot=100;function st(){let{t:e}=t(),{client:n,listSageMemoriesPage:r,listMemoryCandidates:i,rememberSage:a,updateSage:o,deleteSage:s,getSageGraph:c,recoverSage:l,resolveMemoryCandidate:u}=le(),d=ue(e=>e.wsConnected),[f,p]=(0,K.useState)([]),[m,h]=(0,K.useState)(null),[g,_]=(0,K.useState)(!0),[v,y]=(0,K.useState)(!1),[ee,b]=(0,K.useState)(null),[te,x]=(0,K.useState)(null),[S,C]=(0,K.useState)(null),[w,T]=(0,K.useState)(null),[ne,E]=(0,K.useState)([]),[re,ie]=(0,K.useState)([]),[ae,D]=(0,K.useState)(null),[oe,se]=(0,K.useState)(!1),[ce,O]=(0,K.useState)(!1),[k,A]=(0,K.useState)(!1),[j,M]=(0,K.useState)(be),[N,de]=(0,K.useState)(be),[fe,P]=(0,K.useState)(null),[F,pe]=(0,K.useState)(null),[I,me]=(0,K.useState)(``),[L,R]=(0,K.useState)(`all`),[z,he]=(0,K.useState)(`all`),[_e,ve]=(0,K.useState)(!1),[B,V]=(0,K.useState)(null),[xe,Se]=(0,K.useState)(`active`),Ce=xe===`deleted`,we=xe===`review`,[Te,Ee]=(0,K.useState)(null),[De,H]=(0,K.useState)(!1),[U,Oe]=(0,K.useState)(!1),[ke,Ae]=(0,K.useState)({}),[je,G]=(0,K.useState)(!1),[Me,Ne]=(0,K.useState)(null),Pe=(0,K.useRef)(!1),q=(0,K.useRef)(!0),Fe=(0,K.useRef)(0),J=(0,K.useRef)(0),Y=(0,K.useRef)(null),X=(0,K.useRef)(null),Ie=(0,K.useMemo)(()=>{let e=new Set;for(let t of f)for(let n of t.anchors??[])n.type===`file`&&n.path&&e.add(n.path);return e},[f]),Le=(0,K.useMemo)(()=>JSON.stringify(j)!==JSON.stringify(N),[N,j]),Z=(0,K.useMemo)(()=>f.find(e=>e.id===w)??null,[f,w]),Re=(0,K.useCallback)(e=>{let t=e!==null,i=++Fe.current;Y.current?.(),b(null),t?Oe(!0):(y(!0),Pe.current||_(!0));let a=()=>{},o=null,s=!1,c=()=>{s||(s=!0,o!==null&&clearTimeout(o),a(),Y.current===c&&(Y.current=null))};a=n.on(`memory.sage.listPage`,e=>{if(i!==Fe.current||!q.current){c();return}if(c(),e.payload.error)b(e.payload.error);else{let n=e.payload.memories??[];p(e=>t?[...e,...n]:n),Ee(e.payload.nextCursor??null),H(!!e.payload.nextCursor);let r=e.payload.statusCounts??{};Ae(r);let i=Object.values(r).reduce((e,t)=>e+t,0);e.payload.stats?h(e.payload.stats):h(e=>({total:i,byStatus:r,byKind:e?.byKind??{},edges:e?.edges??0})),Pe.current=!0,t||T(e=>e&&n.some(t=>t.id===e)?e:null)}_(!1),y(!1),Oe(!1)}),o=setTimeout(()=>{i!==Fe.current||!q.current||(c(),b(`The memory store did not respond. Check the WebSocket connection and try again.`),_(!1),y(!1),Oe(!1))},2e4),Y.current=c,r({limit:ot,...Ce?{statuses:[`deleted`]}:{},...e?{cursor:e}:{},...I.trim()?{query:I.trim()}:{},...z===`all`?{}:{kind:z}},{echoToChat:!1})},[n,z,r,I,Ce]),Q=(0,K.useCallback)(()=>{Ee(null),H(!1),Re(null)},[Re]),ze=(0,K.useCallback)(()=>{U||!Te||Re(Te)},[Re,U,Te]);(0,K.useEffect)(()=>(q.current=!0,Q(),()=>{q.current=!1,Fe.current+=1,J.current+=1,Y.current?.(),X.current?.()}),[Q]),(0,K.useEffect)(()=>{if(E([]),ie([]),D(null),!w){se(!1);return}let e=w;se(!0);let t=null,r=n.on(`memory.sage.graph`,n=>{n.payload.query===e&&(t!==null&&clearTimeout(t),E(n.payload.edges??[]),ie(n.payload.memories??[]),D(n.payload.error??null),se(!1))});return t=setTimeout(()=>{D(`Relationship graph did not respond in time.`),se(!1)},15e3),c(e,{maxDepth:1,limit:120},{echoToChat:!1}),()=>{t!==null&&clearTimeout(t),r()}},[n,c,w]);let Be=(0,K.useRef)(d);(0,K.useEffect)(()=>{d&&!Be.current&&Pe.current&&Q(),Be.current=d},[Q,d]),(0,K.useEffect)(()=>{if(!S)return;let e=setTimeout(()=>C(null),4e3);return()=>clearTimeout(e)},[S]);let $=(0,K.useCallback)(()=>!Le||!ce&&!k||window.confirm(`Discard the unsaved memory changes?`),[k,Le,ce]),Ve=(0,K.useCallback)(()=>{if(!$())return;let e=be();M(e),de(e),A(!0),O(!1),T(null),x(null)},[$]),He=(0,K.useCallback)(e=>{$()&&(T(e),A(!1),O(!1),x(null))},[$]),Ue=(0,K.useCallback)(e=>{let t=e===void 0?Z:f.find(t=>t.id===e)??null;if(!t||t.status===`deleted`)return;e!==void 0&&T(e);let n=ye(t);M(n),de(n),O(!0),A(!1),x(null)},[f,Z]),We=(0,K.useCallback)(()=>{$()&&(O(!1),A(!1),x(null))},[$]),Ge=(0,K.useCallback)((t,r,i)=>{if(!j.text.trim()){x(`Memory content is required.`);return}let a=++J.current;X.current?.(),P(i),x(null),C(null);let o=()=>{},s=null,c=!1,l=()=>{c||(c=!0,s!==null&&clearTimeout(s),o(),X.current===l&&(X.current=null))},u=t=>{if(a!==J.current||!q.current){l();return}if(l(),P(null),t.payload.error||!t.payload.memory){x(t.payload.error??`The server returned no memory record.`);return}let n=t.payload.memory;p(e=>{let t=e.filter(e=>e.id!==n.id);return[n,...t]}),T(n.id),A(!1),O(!1),C(e(i===`create`?`activity:memoryManager.memoryCaptured`:`activity:memoryManager.memoryUpdated`)),Q()};o=t===`memory.sage.remember`?n.on(`memory.sage.remember`,u):n.on(`memory.sage.update`,u),s=setTimeout(()=>{a!==J.current||!q.current||(l(),P(null),x(e(`activity:memoryManager.mutationTimeout`,{verb:e(i===`create`?`activity:memoryManager.createAction`:`common:action.save`)})))},2e4),X.current=l,r()},[n,j.text,Q,e]),Ke=(0,K.useCallback)(()=>{Ge(`memory.sage.remember`,()=>a({text:j.text.trim(),kind:j.kind,scope:j.scope,tags:W(j.tags),importance:j.importance,confidence:j.confidence,freshness:j.freshness,anchors:ge(j.anchors),...W(j.audienceRoles).length||W(j.audienceTaskTypes).length||W(j.audienceModes).length?{audience:{roles:W(j.audienceRoles),taskTypes:W(j.audienceTaskTypes),modes:W(j.audienceModes)}}:{},supersedes:W(j.supersedes),contradicts:W(j.contradicts)},{echoToChat:!1}),`create`)},[j,a,Ge]),qe=(0,K.useCallback)(()=>{Z&&Ge(`memory.sage.update`,()=>o(Z.id,{text:j.text.trim(),kind:j.kind,status:j.status,tags:W(j.tags),importance:j.importance,confidence:j.confidence,freshness:j.freshness,anchors:ge(j.anchors),...W(j.audienceRoles).length||W(j.audienceTaskTypes).length||W(j.audienceModes).length?{audience:{roles:W(j.audienceRoles),taskTypes:W(j.audienceTaskTypes),modes:W(j.audienceModes)}}:{},supersedes:W(j.supersedes),contradicts:W(j.contradicts)},{echoToChat:!1}),`update`)},[j,Ge,Z,o]),Je=(0,K.useCallback)(()=>{if(!F)return;let e=++J.current;X.current?.(),P(`delete`),x(null);let t=()=>{},r=null,i=!1,a=()=>{i||(i=!0,r!==null&&clearTimeout(r),t(),X.current===a&&(X.current=null))};t=n.on(`memory.sage.delete`,t=>{if(e!==J.current||!q.current){a();return}if(a(),P(null),!t.payload.success){x(t.payload.message||`Delete failed.`);return}pe(null),T(null),O(!1),C(`Memory deleted and relationship edges cleaned up.`),Q()}),r=setTimeout(()=>{e!==J.current||!q.current||(a(),P(null),x(`Delete timed out. The memory may still exist; refresh to confirm.`))},2e4),X.current=a,s(F,`Deleted from the WebUI Memory Manager.`)},[n,s,F,Q]),Ye=(0,K.useCallback)((e,t,r)=>{let i=++J.current;X.current?.(),x(null);let a=()=>{},o=null,s=!1,c=()=>{s||(s=!0,o!==null&&clearTimeout(o),a(),X.current===c&&(X.current=null))};a=n.on(e,e=>{if(i!==J.current||!q.current){c();return}c(),r(e.payload)}),o=setTimeout(()=>{i!==J.current||!q.current||(c(),x(`The memory store did not respond. Check the WebSocket connection and try again.`))},2e4),X.current=c,t()},[n]),Xe=(0,K.useMemo)(()=>rt(f,{searchQuery:I,statusFilter:L,kindFilter:z,tagFilter:B,audienceOnly:_e}),[_e,z,f,I,L,B]),Ze=(0,K.useMemo)(()=>it(f),[f]),Qe=(0,K.useMemo)(()=>at(Z),[Z]),$e=(0,K.useCallback)(()=>{me(``),R(`all`),he(`all`),ve(!1),V(null)},[]);return{client:n,wsConnected:d,memories:f,stats:m,initialLoading:g,refreshing:v,loadError:ee,mutationError:te,setMutationError:x,notice:S,setNotice:C,selectedId:w,setSelectedId:T,selectedMemory:Z,graphEdges:ne,graphMemories:re,graphError:ae,graphLoading:oe,editing:ce,creating:k,draft:j,setDraft:M,busyAction:fe,deletingId:F,setDeletingId:pe,searchQuery:I,setSearchQuery:me,statusFilter:L,setStatusFilter:R,kindFilter:z,setKindFilter:he,audienceOnly:_e,setAudienceOnly:ve,tagFilter:B,setTagFilter:V,libraryView:xe,setLibraryView:Se,showDeleted:Ce,showReview:we,hasMore:De,loadingMore:U,statusCounts:ke,drawerOpen:je,setDrawerOpen:G,currentFilePath:Me,setCurrentFilePath:Ne,knownFilePaths:Ie,filteredMemories:Xe,allTags:Ze,relatedMemories:Qe,hasFilters:!!(I||L!==`all`||z!==`all`||B||_e),detailOpen:k||!!Z,drawerActive:je&&!!Me,loadMemories:Q,loadMore:ze,openCreate:Ve,openMemory:He,openEdit:Ue,cancelEditor:We,submitCreate:Ke,submitUpdate:qe,confirmDelete:Je,sendWithAck:Ye,clearFilters:$e,resolveMemoryCandidate:u,updateSage:o,recoverSage:l,listMemoryCandidates:i}}function ct(){let{t:e}=t(),n=de(e=>e.setCurrentView),i=z(`memory`),a=st();return a.initialLoading&&a.memories.length===0?(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col bg-background`,"aria-busy":`true`,children:[(0,G.jsxs)(`div`,{className:`border-b border-border/70 bg-card/70 px-5 py-4`,children:[(0,G.jsx)(`div`,{className:`h-3 w-28 animate-pulse bg-muted`}),(0,G.jsx)(`div`,{className:`mt-3 h-7 w-56 animate-pulse bg-muted`})]}),(0,G.jsxs)(`div`,{className:`grid flex-1 gap-px bg-border/60 md:grid-cols-[minmax(300px,0.82fr)_minmax(0,1.35fr)]`,children:[(0,G.jsx)(`div`,{className:`space-y-px bg-background p-4`,children:Array.from({length:7},(e,t)=>(0,G.jsx)(`div`,{className:`h-24 animate-pulse border border-border/60 bg-card/45`},t))}),(0,G.jsx)(`div`,{className:`hidden bg-background p-6 md:block`,children:(0,G.jsx)(`div`,{className:`h-full animate-pulse border border-border/60 bg-card/35`})})]}),(0,G.jsx)(`span`,{className:`sr-only`,role:`status`,children:e(`activity:memoryManager.loadingSageContent`)})]}):a.loadError&&a.memories.length===0?(0,G.jsx)(`div`,{className:`flex h-full min-h-0 items-center justify-center bg-background p-6`,children:(0,G.jsxs)(`div`,{className:`max-w-md border border-destructive/35 bg-card p-6 shadow-2xl`,children:[(0,G.jsx)(`span`,{className:`flex size-11 items-center justify-center border border-destructive/35 bg-destructive/10 text-destructive`,children:(0,G.jsx)(l,{className:`size-5`})}),(0,G.jsx)(`h2`,{className:`mt-4 text-lg font-bold`,children:e(`activity:memoryManager.storeUnavailable`)}),(0,G.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-muted-foreground`,children:a.loadError}),(0,G.jsxs)(`div`,{className:`mt-5 flex gap-2`,children:[(0,G.jsxs)(L,{onClick:a.loadMemories,children:[(0,G.jsx)(M,{className:`size-4`}),` `,e(`common:action.retry`)]}),(0,G.jsxs)(L,{variant:`outline`,onClick:()=>n(`chat`),children:[(0,G.jsx)(r,{className:`size-4`}),` `,e(`activity:memoryManager.backToChat`)]})]})]})}):(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden bg-background`,children:[(0,G.jsx)(et,{wsConnected:a.wsConnected,refreshing:a.refreshing,onRefresh:a.loadMemories,onCreate:a.openCreate}),(0,G.jsx)(tt,{stats:a.stats,memories:a.memories,filteredCount:a.filteredMemories.length,allTagsCount:a.allTags.length}),(a.notice||a.loadError||a.mutationError)&&(0,G.jsxs)(`div`,{className:`shrink-0 border-b border-border/70 px-4 py-2`,"aria-live":`polite`,children:[a.notice&&(0,G.jsxs)(`div`,{role:`status`,className:`flex items-center gap-2 text-xs text-success`,children:[(0,G.jsx)(O,{className:`size-3.5`}),` `,a.notice]}),a.loadError&&(0,G.jsxs)(`div`,{role:`alert`,className:`flex items-center gap-2 text-xs text-warning`,children:[(0,G.jsx)(l,{className:`size-3.5`}),` `,a.loadError,` Existing content remains available.`]}),a.mutationError&&!a.editing&&!a.creating&&(0,G.jsxs)(`div`,{role:`alert`,className:`flex items-center gap-2 text-xs text-destructive`,children:[(0,G.jsx)(l,{className:`size-3.5`}),` `,a.mutationError]})]}),(0,G.jsxs)(`div`,{className:`grid min-h-0 flex-1 md:grid-cols-[minmax(320px,0.82fr)_minmax(0,1.35fr)]`,children:[(0,G.jsxs)(`section`,{className:N(`min-h-0 border-r border-border/70 bg-card/25`,a.detailOpen?`hidden md:flex md:flex-col`:`flex flex-col`),"aria-label":e(`activity:memoryManager.libraryAria`),children:[(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 border-b border-border/60 px-3 pt-1`,role:`tablist`,"aria-label":e(`activity:memoryManager.viewAria`),children:[(0,G.jsx)(L,{type:`button`,variant:`ghost`,size:`sm`,role:`tab`,"aria-selected":a.libraryView===`active`,onClick:()=>a.setLibraryView(`active`),className:N(`h-7 rounded-b-none border-b-2 px-3 text-[11px]`,a.libraryView===`active`?`border-primary text-foreground`:`border-transparent text-muted-foreground`),children:e(`activity:memoryManager.tabActive`)}),(0,G.jsx)(L,{type:`button`,variant:`ghost`,size:`sm`,role:`tab`,"aria-selected":a.showReview,onClick:()=>a.setLibraryView(`review`),className:N(`h-7 rounded-b-none border-b-2 px-3 text-[11px]`,a.showReview?`border-primary text-foreground`:`border-transparent text-muted-foreground`),children:e(`activity:memoryManager.tabReview`)}),(0,G.jsxs)(L,{type:`button`,variant:`ghost`,size:`sm`,role:`tab`,"aria-selected":a.showDeleted,onClick:()=>a.setLibraryView(`deleted`),className:N(`h-7 rounded-b-none border-b-2 px-3 text-[11px]`,a.showDeleted?`border-primary text-foreground`:`border-transparent text-muted-foreground`),children:[e(`activity:memoryManager.tabDeleted`),typeof a.statusCounts.deleted==`number`?` (${a.statusCounts.deleted})`:``]})]}),a.showReview?(0,G.jsx)(nt,{active:a.showReview,client:a.client,listCandidates:a.listMemoryCandidates,resolveCandidate:a.resolveMemoryCandidate,onOpenMemory:a.openMemory}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(Je,{searchQuery:a.searchQuery,statusFilter:a.statusFilter,kindFilter:a.kindFilter,audienceOnly:a.audienceOnly,tagFilter:a.tagFilter,hasFilters:a.hasFilters,allTags:a.allTags,stats:a.stats,onSearchChange:a.setSearchQuery,onStatusFilterChange:a.setStatusFilter,onKindFilterChange:a.setKindFilter,onToggleAudienceOnly:()=>a.setAudienceOnly(e=>!e),onTagFilterChange:a.setTagFilter,onClearFilters:a.clearFilters}),(0,G.jsx)(Xe,{memoryListRef:i,memories:a.memories,filteredMemories:a.filteredMemories,selectedId:a.selectedId,onSelectMemory:a.openMemory,onOpenCreate:a.openCreate,onClearFilters:a.clearFilters}),a.hasMore?(0,G.jsx)(`div`,{className:`shrink-0 border-t border-border/60 p-2`,children:(0,G.jsx)(L,{type:`button`,variant:`outline`,size:`sm`,onClick:a.loadMore,disabled:a.loadingMore,className:`h-7 w-full text-[11px]`,children:a.loadingMore?e(`common:action.loading`):`Load more (${a.memories.length} loaded)`})}):null]})]}),(0,G.jsxs)(`section`,{className:N(`min-h-0 bg-background`,a.detailOpen?`flex flex-col`:`hidden md:flex md:flex-col`),"aria-label":e(`activity:memoryManager.detailAria`),children:[a.memories.some(e=>(e.anchors??[]).some(e=>e.type===`file`&&e.path))&&(0,G.jsx)(Ke,{currentFilePath:a.currentFilePath,knownFilePaths:a.knownFilePaths,drawerActive:a.drawerActive,onFilePathChange:e=>{e&&a.knownFilePaths.has(e)?(a.setCurrentFilePath(e),a.setDrawerOpen(!0)):e?a.setCurrentFilePath(e):a.setCurrentFilePath(null)},onToggleDrawer:()=>{a.currentFilePath&&a.setDrawerOpen(e=>!e)}}),a.creating?(0,G.jsx)(qe,{mode:`create`,draft:a.draft,busy:a.busyAction===`create`,error:a.mutationError,onChange:a.setDraft,onCancel:a.cancelEditor,onSubmit:a.submitCreate}):a.selectedMemory?a.editing?(0,G.jsx)(qe,{mode:`edit`,draft:a.draft,busy:a.busyAction===`update`,error:a.mutationError,onChange:a.setDraft,onCancel:a.cancelEditor,onSubmit:a.submitUpdate}):a.drawerActive?(0,G.jsx)(je,{filePath:a.currentFilePath,open:a.drawerActive,onClose:()=>a.setDrawerOpen(!1),onShowMemory:e=>a.setSelectedId(e),onAcceptDeletion:(e,t)=>{a.sendWithAck(`memory.sage.candidateResolve`,()=>a.resolveMemoryCandidate({candidateId:e,action:`accept`}),n=>{if(n.error){a.setMutationError(n.error);return}a.setNotice(`Accepted hygiene review for ${t.slice(0,12)}… (candidate ${e.slice(0,12)}…).`),a.loadMemories()})},onKeep:(e,t)=>{a.sendWithAck(`memory.sage.candidateResolve`,()=>a.resolveMemoryCandidate({candidateId:e,action:`reject`}),n=>{if(n.error){a.setMutationError(n.error);return}a.setNotice(`Kept ${t.slice(0,12)}… (candidate ${e.slice(0,12)}… rejected).`),a.loadMemories()})},onUpdate:e=>{a.openEdit(e)},onMarkPermanent:e=>{a.sendWithAck(`memory.sage.update`,()=>a.updateSage(e,{persistence:`permanent`}),t=>{if(t.error||!t.memory){a.setMutationError(t.error??`The server returned no memory record.`);return}a.setNotice(`Memory ${e.slice(0,12)}… promoted to permanent.`),a.loadMemories()})},onRecover:e=>{a.sendWithAck(`memory.sage.recover`,()=>a.recoverSage({id:e,reason:`recovered via file drawer`}),t=>{if(t.error){a.setMutationError(t.error);return}a.setNotice(`Recovered ${e.slice(0,12)}…`),a.loadMemories()})}}):(0,G.jsx)(ze,{memory:a.selectedMemory,allMemories:[...a.memories,...a.graphMemories],relatedMemories:a.relatedMemories,graphEdges:a.graphEdges,graphLoading:a.graphLoading,graphError:a.graphError,onClose:()=>a.setSelectedId(null),onOpenMemory:a.openMemory,onEdit:a.openEdit,onDelete:()=>a.setDeletingId(a.selectedMemory.id),onTagSelect:e=>{a.setTagFilter(e),a.setSelectedId(null)},onNotice:a.setNotice}):(0,G.jsx)($e,{onCapture:a.openCreate})]})]}),(0,G.jsx)(Me,{busyAction:a.busyAction,deletingId:a.deletingId,memories:a.memories,onCancel:()=>a.setDeletingId(null),onConfirm:a.confirmDelete,onOpenChange:e=>{!e&&a.busyAction!==`delete`&&a.setDeletingId(null)}})]})}export{ct as MemoryManager};
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{Ia as t,Va as n,dt as r,ea as i,lt as a,mn as o,ta as s,xi as c}from"./vendor-AeHpGMaG.js";import"./i18n-nlW2iAya.js";import{t as l}from"./useWebSocket-Dh-clEvj.js";import{t as u}from"./ws-client-B7j8isQb.js";import{t as d}from"./utils-D1fGupR8.js";import{I as f}from"./stores-BpVw7ENx.js";var p=e(n(),1);function m(e){let t=f(e=>e.wsUrl),{listSavedProviders:n,listProviderModels:r}=l(),[i,a]=(0,p.useState)([]),[o,s]=(0,p.useState)({});return(0,p.useEffect)(()=>{let e=u(t),n=e.on(`providers.saved`,e=>{let t=e.payload;a((t.providers??[]).map(e=>e.id))}),r=e.on(`provider.models`,e=>{let t=e.payload;s(e=>({...e,[t.provider]:t.models??[]}))});return()=>{n(),r()}},[t]),(0,p.useEffect)(()=>{e&&n()},[e,n]),(0,p.useEffect)(()=>{if(e)for(let e of i)o[e]||r(e)},[e,i,o,r]),(0,p.useMemo)(()=>{let e=[];for(let t of i)for(let n of o[t]??[])n.outputModalities?.length&&!n.outputModalities.includes(`text`)||e.push({provider:t,model:n.id,label:n.name??n.id,description:n.description,contextWindow:n.contextWindow,outputModalities:n.outputModalities});return e},[i,o])}var h=a();function g({value:e,provider:n,candidates:a,placeholder:l,resetLabel:u,onPick:f,onReset:m,className:g}){let{t:_}=t(),[v,y]=(0,p.useState)(!1),[b,x]=(0,p.useState)(``),S=(0,p.useRef)(null);(0,p.useEffect)(()=>{if(!v)return;let e=e=>{S.current&&!S.current.contains(e.target)&&y(!1)};return window.addEventListener(`mousedown`,e),()=>window.removeEventListener(`mousedown`,e)},[v]);let C=(0,p.useMemo)(()=>{let e=b.trim().toLowerCase();return(e?a.filter(t=>`${t.provider}/${t.model} ${t.label}`.toLowerCase().includes(e)):a).slice(0,60)},[a,b]);return(0,h.jsxs)(`div`,{ref:S,className:d(`relative`,g),children:[(0,h.jsxs)(`button`,{type:`button`,onClick:()=>y(e=>!e),className:`flex w-full items-center gap-1.5 rounded-md border border-border bg-muted px-2 py-1.5 text-left text-xs transition-colors hover:border-primary/45 hover:bg-muted/80`,children:[(0,h.jsx)(c,{className:`h-3.5 w-3.5 shrink-0 text-primary`}),(0,h.jsx)(`span`,{className:d(`min-w-0 flex-1 truncate`,e?`text-foreground`:`text-muted-foreground`),children:e?n?`${n}/${e}`:e:l??_(`activity:model.runDefault`)}),(0,h.jsx)(i,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`})]}),v&&(0,h.jsxs)(`div`,{className:`sdd-rise absolute z-50 mt-1 max-h-72 w-full min-w-[240px] overflow-hidden rounded-md border border-border/80 bg-popover shadow-xl`,children:[(0,h.jsxs)(`div`,{className:`flex items-center gap-1.5 border-b border-border/70 bg-muted/20 px-2 py-1.5`,children:[(0,h.jsx)(`input`,{value:b,onChange:e=>x(e.target.value),placeholder:_(`activity:model.filterPlaceholder`),className:`min-w-0 flex-1 bg-transparent text-xs outline-none placeholder:text-muted-foreground`}),b&&(0,h.jsx)(`button`,{type:`button`,onClick:()=>x(``),className:`text-muted-foreground hover:text-foreground`,children:(0,h.jsx)(r,{className:`h-3 w-3`})})]}),(0,h.jsxs)(`div`,{className:`max-h-60 overflow-y-auto py-1`,children:[m&&(0,h.jsxs)(`button`,{type:`button`,onClick:()=>{m(),y(!1)},className:`flex w-full items-center gap-1.5 px-2 py-1.5 text-left text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground`,children:[(0,h.jsx)(o,{className:`h-3 w-3`}),` `,u??_(`activity:model.useRunDefault`)]}),C.map(t=>{let r=t.model===e&&(!n||t.provider===n);return(0,h.jsxs)(`button`,{type:`button`,onClick:()=>{f(t.model,t.provider),y(!1)},className:d(`flex w-full items-start gap-1.5 px-2 py-1.5 text-left text-xs transition-colors hover:bg-muted`,r?`bg-primary/8 text-primary`:`text-foreground`),children:[r?(0,h.jsx)(s,{className:`mt-0.5 h-3 w-3 shrink-0 text-primary`}):(0,h.jsx)(`span`,{className:`w-3 shrink-0`}),(0,h.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,h.jsx)(`span`,{className:`block truncate`,children:t.label}),t.description&&(0,h.jsx)(`span`,{className:`mt-0.5 block truncate text-[10px] text-muted-foreground`,children:t.description})]}),(0,h.jsx)(`span`,{className:`mt-0.5 shrink-0 font-mono text-[9px] text-muted-foreground`,children:t.provider})]},`${t.provider}/${t.model}`)}),C.length===0&&(0,h.jsx)(`div`,{className:`px-2 py-3 text-center text-[11px] text-muted-foreground`,children:a.length===0?_(`activity:model.loading`):_(`activity:model.noMatch`)})]})]})]})}export{m as n,g as t};
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{Ba as t,Ci as n,Ga as r,dt as i,lt as a,mn as o,na as s,ra as c}from"./vendor-C_zEzV4N.js";import"./i18n-CDoHRskt.js";import{t as l}from"./useWebSocket-BFFntyS4.js";import{t as u}from"./ws-client-B3MVz75-.js";import{t as d}from"./utils-tsZEnrBH.js";import{I as f}from"./stores-DSGsI875.js";var p=e(r(),1);function m(e){let t=f(e=>e.wsUrl),{listSavedProviders:n,listProviderModels:r}=l(),[i,a]=(0,p.useState)([]),[o,s]=(0,p.useState)({});return(0,p.useEffect)(()=>{let e=u(t),n=e.on(`providers.saved`,e=>{let t=e.payload;a((t.providers??[]).map(e=>e.id))}),r=e.on(`provider.models`,e=>{let t=e.payload;s(e=>({...e,[t.provider]:t.models??[]}))});return()=>{n(),r()}},[t]),(0,p.useEffect)(()=>{e&&n()},[e,n]),(0,p.useEffect)(()=>{if(e)for(let e of i)o[e]||r(e)},[e,i,o,r]),(0,p.useMemo)(()=>{let e=[];for(let t of i)for(let n of o[t]??[])n.outputModalities?.length&&!n.outputModalities.includes(`text`)||e.push({provider:t,model:n.id,label:n.name??n.id,description:n.description,contextWindow:n.contextWindow,outputModalities:n.outputModalities});return e},[i,o])}var h=a();function g({value:e,provider:r,candidates:a,placeholder:l,resetLabel:u,onPick:f,onReset:m,className:g}){let{t:_}=t(),[v,y]=(0,p.useState)(!1),[b,x]=(0,p.useState)(``),S=(0,p.useRef)(null);(0,p.useEffect)(()=>{if(!v)return;let e=e=>{S.current&&!S.current.contains(e.target)&&y(!1)};return window.addEventListener(`mousedown`,e),()=>window.removeEventListener(`mousedown`,e)},[v]);let C=(0,p.useMemo)(()=>{let e=b.trim().toLowerCase();return(e?a.filter(t=>`${t.provider}/${t.model} ${t.label}`.toLowerCase().includes(e)):a).slice(0,60)},[a,b]);return(0,h.jsxs)(`div`,{ref:S,className:d(`relative`,g),children:[(0,h.jsxs)(`button`,{type:`button`,onClick:()=>y(e=>!e),className:`flex w-full items-center gap-1.5 rounded-md border border-border bg-muted px-2 py-1.5 text-left text-xs transition-colors hover:border-primary/45 hover:bg-muted/80`,children:[(0,h.jsx)(n,{className:`h-3.5 w-3.5 shrink-0 text-primary`}),(0,h.jsx)(`span`,{className:d(`min-w-0 flex-1 truncate`,e?`text-foreground`:`text-muted-foreground`),children:e?r?`${r}/${e}`:e:l??_(`activity:model.runDefault`)}),(0,h.jsx)(s,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`})]}),v&&(0,h.jsxs)(`div`,{className:`sdd-rise absolute z-50 mt-1 max-h-72 w-full min-w-[240px] overflow-hidden rounded-md border border-border/80 bg-popover shadow-xl`,children:[(0,h.jsxs)(`div`,{className:`flex items-center gap-1.5 border-b border-border/70 bg-muted/20 px-2 py-1.5`,children:[(0,h.jsx)(`input`,{value:b,onChange:e=>x(e.target.value),placeholder:_(`activity:model.filterPlaceholder`),className:`min-w-0 flex-1 bg-transparent text-xs outline-none placeholder:text-muted-foreground`}),b&&(0,h.jsx)(`button`,{type:`button`,onClick:()=>x(``),className:`text-muted-foreground hover:text-foreground`,children:(0,h.jsx)(i,{className:`h-3 w-3`})})]}),(0,h.jsxs)(`div`,{className:`max-h-60 overflow-y-auto py-1`,children:[m&&(0,h.jsxs)(`button`,{type:`button`,onClick:()=>{m(),y(!1)},className:`flex w-full items-center gap-1.5 px-2 py-1.5 text-left text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground`,children:[(0,h.jsx)(o,{className:`h-3 w-3`}),` `,u??_(`activity:model.useRunDefault`)]}),C.map(t=>{let n=t.model===e&&(!r||t.provider===r);return(0,h.jsxs)(`button`,{type:`button`,onClick:()=>{f(t.model,t.provider),y(!1)},className:d(`flex w-full items-start gap-1.5 px-2 py-1.5 text-left text-xs transition-colors hover:bg-muted`,n?`bg-primary/8 text-primary`:`text-foreground`),children:[n?(0,h.jsx)(c,{className:`mt-0.5 h-3 w-3 shrink-0 text-primary`}):(0,h.jsx)(`span`,{className:`w-3 shrink-0`}),(0,h.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,h.jsx)(`span`,{className:`block truncate`,children:t.label}),t.description&&(0,h.jsx)(`span`,{className:`mt-0.5 block truncate text-[10px] text-muted-foreground`,children:t.description})]}),(0,h.jsx)(`span`,{className:`mt-0.5 shrink-0 font-mono text-[9px] text-muted-foreground`,children:t.provider})]},`${t.provider}/${t.model}`)}),C.length===0&&(0,h.jsx)(`div`,{className:`px-2 py-3 text-center text-[11px] text-muted-foreground`,children:a.length===0?_(`activity:model.loading`):_(`activity:model.noMatch`)})]})]})]})}export{m as n,g as t};
@@ -0,0 +1,4 @@
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{$n as t,Ba as n,Ci as r,Cr as i,Ga as a,Gn as o,Ji as s,Kr as c,La as l,Mi as u,Mn as d,Ni as f,Nt as p,Or as m,Pa as h,Pi as g,Qn as _,Ua as v,Vn as y,Vt as b,Wr as x,Xi as S,Xr as C,Zn as w,_ as T,_r as ee,a as E,an as D,ar as te,bi as O,c as k,ca as A,cr as j,d as ne,dt as M,er as N,f as re,h as ie,i as ae,in as P,ja as oe,ji as se,kr as ce,l as le,lt as ue,m as de,ma as F,mt as fe,ni as I,o as L,p as pe,pt as R,r as me,ra as z,s as B,sn as he,u as ge,ut as _e,v as ve,vi as ye,xt as be,yt as V}from"./vendor-C_zEzV4N.js";import"./i18n-CDoHRskt.js";import{s as xe}from"./ws-client-B3MVz75-.js";import{t as H}from"./utils-tsZEnrBH.js";import{t as Se}from"./session-store-BgiP4PnQ.js";import{T as Ce,d as U,f as we,x as Te}from"./stores-DSGsI875.js";import{r as Ee}from"./mailbox-store-bF96Ih2G.js";import{d as De}from"./markdown-CIRD7kOg.js";import{S as Oe,_ as ke,d as Ae,f as je,g as Me,l as Ne,u as Pe}from"./index-BRJ_UrGk.js";var W=e(a(),1);function Fe(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:{}}function Ie(e){return typeof e==`number`&&Number.isFinite(e)?e:void 0}function G(e){return typeof e==`string`&&e.trim()?e.trim():void 0}function K(e,t){for(let n of t){let t=G(e[n]);if(t)return t}}function q(e,t){for(let n of t){let t=Ie(e[n]);if(t!==void 0)return t}}function Le(e){return e.split(/[\\/]/).filter(Boolean).pop()??e}function Re(e){return e?e.split(/\r?\n/).length:0}function ze(e){let t=0,n=0;for(let r of e.split(/\r?\n/))r.startsWith(`+++`)||r.startsWith(`---`)||(r.startsWith(`+`)&&(t+=1),r.startsWith(`-`)&&(n+=1));return t||n?{added:t,removed:n}:null}function Be(e){let t=e.split(/\r?\n/,1)[0]?.trim()??e;return t.length>72?`${t.slice(0,69)}…`:t}function Ve(e){let t=e.toLowerCase().replace(/[.:/-]+/g,`_`);return/^(read|view|open_file|read_file)|file_read/.test(t)?`read`:/^(write|create|save)|file_write/.test(t)?`write`:/edit|update|patch|replace|apply_patch/.test(t)?`edit`:/bash|shell|terminal|exec|command|powershell|cmd/.test(t)?`terminal`:/fetch|browser|browse|http|url|web/.test(t)?`web`:/search|grep|find|glob|query/.test(t)?`search`:/memory|recall|remember/.test(t)?`memory`:`other`}function He(e,t){let n=(Array.isArray(e.fileTargets)?e.fileTargets:[]).flatMap(e=>{let t=Fe(e),n=K(t,[`filePath`,`file_path`,`path`]);return n?[{filePath:n,operation:G(t.operation),line:q(t,[`line`,`startLine`,`start_line`]),endLine:q(t,[`endLine`,`end_line`])}]:[]});if(n.length>0)return n;let r=K(t,[`file_path`,`filePath`,`path`,`filename`,`target_file`,`targetFile`]);return r?[{filePath:r,line:q(t,[`line`,`start_line`,`startLine`,`offset`]),endLine:q(t,[`end_line`,`endLine`])}]:[]}function Ue(e,t){let n=e?.line??q(t,[`line`,`start_line`,`startLine`,`offset`]),r=e?.endLine??q(t,[`end_line`,`endLine`]),i=q(t,[`limit`,`line_count`,`lineCount`]);return r===void 0&&n!==void 0&&i!==void 0&&i>0&&(r=n+i-1),n!==void 0&&r!==void 0?{start:n,end:r,label:`L${n}–${r}`}:n===void 0?{}:{start:n,label:`L${n}`}}function We(e,t,n,r,i,a){let o=Ue(a,n),s=a?.filePath??K(n,[`file_path`,`filePath`,`path`,`filename`]),c=s?Le(s):void 0;if(e===`read`)return{target:s,summary:i===void 0?o.label?`${o.label} queued to read`:`Reading file`:`${i.toLocaleString()} lines read`,lineLabel:o.label};if(e===`write`){let e=K(n,[`content`,`text`,`data`]),t=q(r,[`inputLines`])??(e?Re(e):void 0);return{target:s,summary:t===void 0?`Writing file`:`${t.toLocaleString()} lines written`,lineLabel:o.label}}if(e===`edit`){let e=K(n,[`patch`,`diff`]),t=e?ze(e):null,i=K(n,[`old_string`,`oldString`,`search`]),a=K(n,[`new_string`,`newString`,`replacement`]),c=q(r,[`addedLines`]),l=q(r,[`removedLines`]),u=q(r,[`oldLines`]),d=q(r,[`newLines`]);return{target:s,summary:t||c!==void 0||l!==void 0?`+${t?.added??c??0} / −${t?.removed??l??0} lines`:i!==void 0||a!==void 0||u!==void 0||d!==void 0?`${i?Re(i):u??0} → ${a?Re(a):d??0} lines`:o.label?`${o.label} updated`:`Updating file`,lineLabel:o.label}}if(e===`terminal`){let e=K(n,[`command`,`cmd`,`script`,`shell`])??t;return{summary:Be(e),target:e}}if(e===`web`){let e=K(n,[`url`,`href`,`uri`]),t=K(n,[`query`,`q`,`search`]);return{target:e??t,summary:e?`Fetched ${e}`:t?`Looked up “${t}”`:`Went online`}}if(e===`search`){let e=K(n,[`query`,`pattern`,`q`,`search`])??c;return{target:s??e,summary:e?`Searched “${e}”`:`Searching project`}}if(e===`memory`){let e=K(n,[`query`,`text`,`key`]);return{target:e,summary:e?`Recalled “${e}”`:`Checking memory`}}return{target:s,summary:c?`${t} · ${c}`:t}}function Ge(e,t){let n=G(t.name)??G(t.toolName);if(n)return n;if(e.kind===`agent:tool`)return e.target??void 0;if(e.kind.startsWith(`tool:`))return e.source}function Ke(e,t,n){return G(t.agentId)??G(t.subagentId)??(e.kind===`agent:tool`?e.source:void 0)??(e.source!==n&&e.source!==`filesystem`?e.source:void 0)??`leader`}function qe(e){return G(e.parentSessionId)??G(e.sessionId)}function Je(e,t){return e.kind===`tool:started`||e.kind===`tool:progress`?`running`:t.ok===!1?`failed`:`succeeded`}function Ye(e){if(![`tool:started`,`tool:progress`,`tool:executed`,`agent:tool`].includes(e.kind))return null;let t=Fe(e.data),n=Ge(e,t);if(!n)return null;let r=Ke(e,t,n),i=t.input,a=Fe(i),o=He(t,a),s=Ie(t.outputLines),c=Ve(n),l=We(c,n,a,t,s,o[0]),u=G(t.id),d=Math.floor(e.timestamp/2e3),f=Je(e,t),p=Ie(t.durationMs);return{id:u?`${r}:${u}`:`${r}:${n}:${d}`,agentId:r,agentName:G(t.agentName),sessionId:qe(t),toolName:n,kind:c,status:f,startedAt:f===`running`?e.timestamp:Math.max(0,e.timestamp-(p??0)),...f===`running`?{}:{completedAt:e.timestamp},durationMs:p,target:l.target,summary:l.summary,lineLabel:l.lineLabel,outputLines:s,outputBytes:Ie(t.outputBytes),outputTokens:Ie(t.outputTokens),input:i,output:G(t.output),fileTargets:o,raw:e.raw??t}}function Xe(e,t,n){return e?.length?tt(e.map(e=>({id:`snapshot:${n??`session`}:${t}:${e.id}`,kind:`tool:executed`,timestamp:e.completedAt,source:t,target:e.name,label:e.name,data:{...e,agentId:t,sessionId:n},flowGroup:`agent:${t}`})),t,n):[]}function Ze(e){return e?.length?e.map(e=>({id:e.id,direction:e.direction,from:e.from,to:e.to,type:e.type,subject:e.subject,body:``,priority:`normal`,timestamp:new Date(e.at).toISOString(),timestampMs:e.at,unread:e.direction===`incoming`})).sort((e,t)=>t.timestampMs-e.timestampMs).slice(0,12):[]}function Qe(e,t,n=3e4){let r=new Map;e.forEach((e,t)=>{for(let n of[e.agent.serverId,e.agent.mailboxId,e.agent.name]){let e=J(n);e&&!r.has(e)&&r.set(e,t)}});let i=new Set,a=[];for(let o of e){let e=o.mail[0];if(!e||i.has(e.id)||t-e.timestampMs>n)continue;let s=r.get(J(e.from)),c=r.get(J(e.to));s!==void 0&&c!==void 0&&s!==c&&(i.add(e.id),a.push({id:e.id,mail:e,fromIndex:s,toIndex:c}))}return a}function $e(e,t){return e.toLowerCase()===t.toLowerCase()}function J(e){return e?.trim().toLowerCase()??``}function et(e,t,n){let r=new Set([t.serverId,t.mailboxId,t.name].map(J).filter(e=>e.length>0)),i=n?`@session:${J(n)}`:``,a=J(t.role),o=J(t.serverId)===`leader`||J(t.serverId).startsWith(`leader@`)||a===`lead`||a===`leader`;return e.flatMap(e=>{let t=J(e.from),n=J(e.to),a=r.has(t),s=n===`*`||n===`all`||i.length>0&&n===i,c=(e.audience!==`leaders`||o)&&(r.has(n)||o&&s);if(!c&&!a)return[];let l=Date.parse(e.timestamp);return[{...e,direction:c?`incoming`:`outgoing`,timestampMs:Number.isFinite(l)?l:0,unread:c&&!Object.keys(e.readBy??{}).some(e=>r.has(J(e)))}]}).sort((e,t)=>t.timestampMs-e.timestampMs).slice(0,8)}function tt(e,t,n){let r=new Map;for(let i=e.length-1;i>=0;--i){let a=e[i];if(!a)continue;let o=Ye(a);if(!o||!$e(o.agentId,t)||n&&o.sessionId&&o.sessionId!==n)continue;let s=r.get(o.id);r.set(o.id,s?{...s,...o,startedAt:Math.min(s.startedAt,o.startedAt),fileTargets:o.fileTargets.length>0?o.fileTargets:s.fileTargets,input:o.input??s.input,output:o.output??s.output,raw:o.raw??s.raw}:o)}let i=[...r.values()].sort((e,t)=>(t.completedAt??t.startedAt)-(e.completedAt??e.startedAt));return i.filter((e,t)=>e.input!==void 0||e.fileTargets.length>0||e.output!==void 0||!i.some((n,r)=>r!==t&&n.toolName===e.toolName&&(n.input!==void 0||n.fileTargets.length>0||n.output!==void 0)&&Math.abs((n.completedAt??n.startedAt)-(e.completedAt??e.startedAt))<2500))}function nt(e,t,n){let r=Ve(t),i={read:`Reading a file`,write:`Writing a file`,edit:`Updating code`,terminal:`Running a command`,web:`Working online`,search:`Searching project`,memory:`Checking memory`,other:t};return{id:`${e}:live:${t}`,agentId:e,sessionId:n,toolName:t,kind:r,status:`running`,startedAt:Date.now(),summary:i[r],fileTargets:[]}}var Y=ue(),rt={read:D,write:I,edit:I,terminal:b,web:ye,search:x,memory:_,other:u};function it(e,t=46){if(!e||e.length<=t)return e;let n=e.split(/[\\/]/).slice(-2).join(`/`);return n.length<=t?`…/${n}`:`…${e.slice(-(t-1))}`}function at(e){return e===void 0?`—`:e<1e3?`${Math.round(e)} ms`:`${(e/1e3).toFixed(+(e<1e4))} s`}function ot(e){if(e===void 0)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function X({label:e,value:t}){return(0,Y.jsxs)(`div`,{className:`agent-office__detail-row`,children:[(0,Y.jsx)(`span`,{children:e}),(0,Y.jsx)(`strong`,{children:t})]})}function st({selected:e,onClose:t}){let{t:r}=n(),{call:i,agentName:a}=e,o=rt[i.kind],s=ot(i.input),c=ot(i.output);return(0,Y.jsxs)(`aside`,{className:`agent-office__detail`,"aria-label":`${i.toolName} details`,children:[(0,Y.jsxs)(`div`,{className:`agent-office__detail-header`,children:[(0,Y.jsx)(`div`,{className:H(`agent-office__detail-icon`,`is-${i.kind}`),children:(0,Y.jsx)(o,{"aria-hidden":`true`})}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`span`,{children:r(`activity:agentOffice.toolCall`)}),(0,Y.jsx)(`h2`,{children:i.toolName})]}),(0,Y.jsx)(`button`,{type:`button`,onClick:t,"aria-label":r(`activity:agentOffice.closeDetails`),children:(0,Y.jsx)(M,{})})]}),(0,Y.jsxs)(`div`,{className:`agent-office__detail-status`,children:[(0,Y.jsx)(`span`,{className:H(`agent-office__status-dot`,i.status===`running`&&`is-active`,i.status===`failed`&&`is-failed`)}),(0,Y.jsx)(`strong`,{children:i.summary}),(0,Y.jsx)(`span`,{children:i.status})]}),(0,Y.jsxs)(`section`,{className:`agent-office__detail-section`,children:[(0,Y.jsx)(`h3`,{children:r(`activity:agentOffice.execution`)}),(0,Y.jsx)(X,{label:r(`activity:agentOffice.agent`),value:a}),(0,Y.jsx)(X,{label:r(`activity:agentOffice.started`),value:new Date(i.startedAt).toLocaleTimeString()}),(0,Y.jsx)(X,{label:r(`activity:agentOffice.duration`),value:at(i.durationMs)}),i.sessionId&&(0,Y.jsx)(X,{label:r(`activity:agentOffice.session`),value:it(i.sessionId,28)})]}),(i.target||i.fileTargets.length>0)&&(0,Y.jsxs)(`section`,{className:`agent-office__detail-section`,children:[(0,Y.jsx)(`h3`,{children:r(`activity:agentOffice.target`)}),i.target&&(0,Y.jsx)(`code`,{className:`agent-office__target-code`,children:i.target}),i.fileTargets.map((e,t)=>(0,Y.jsxs)(`div`,{className:`agent-office__file-target`,children:[(0,Y.jsx)(C,{"aria-hidden":`true`}),(0,Y.jsx)(`span`,{children:e.filePath}),(e.line||e.endLine)&&(0,Y.jsxs)(`strong`,{children:[`L`,e.line??1,e.endLine?`–${e.endLine}`:``]})]},`${e.filePath}:${t}`))]}),(i.outputLines!==void 0||i.outputBytes!==void 0||i.outputTokens!==void 0)&&(0,Y.jsxs)(`section`,{className:`agent-office__detail-section`,children:[(0,Y.jsx)(`h3`,{children:r(`activity:agentOffice.resultSize`)}),(0,Y.jsxs)(`div`,{className:`agent-office__metric-grid`,children:[i.outputLines!==void 0&&(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`strong`,{children:i.outputLines.toLocaleString()}),(0,Y.jsx)(`span`,{children:r(`activity:agentOffice.lines`)})]}),i.outputBytes!==void 0&&(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`strong`,{children:i.outputBytes.toLocaleString()}),(0,Y.jsx)(`span`,{children:r(`activity:agentOffice.bytes`)})]}),i.outputTokens!==void 0&&(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`strong`,{children:[`≈`,i.outputTokens.toLocaleString()]}),(0,Y.jsx)(`span`,{children:r(`activity:agentOffice.tokens`)})]})]})]}),s&&(0,Y.jsxs)(`section`,{className:`agent-office__detail-section`,children:[(0,Y.jsx)(`h3`,{children:r(`activity:agentOffice.input`)}),(0,Y.jsx)(`pre`,{children:(0,Y.jsx)(`code`,{children:s})})]}),c&&(0,Y.jsxs)(`section`,{className:`agent-office__detail-section`,children:[(0,Y.jsx)(`h3`,{children:r(`activity:agentOffice.outputPreview`)}),(0,Y.jsx)(`pre`,{children:(0,Y.jsx)(`code`,{children:c})})]})]})}function ct({selected:e,onClose:t}){let{t:r}=n(),{mail:i,agentName:a}=e;return(0,Y.jsxs)(`aside`,{className:`agent-office__detail`,"aria-label":`${i.subject} details`,children:[(0,Y.jsxs)(`div`,{className:`agent-office__detail-header`,children:[(0,Y.jsx)(`div`,{className:`agent-office__detail-icon is-mail`,children:(0,Y.jsx)(N,{"aria-hidden":`true`})}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`span`,{children:i.direction===`incoming`?`INCOMING MAIL`:`OUTGOING MAIL`}),(0,Y.jsx)(`h2`,{children:i.subject})]}),(0,Y.jsx)(`button`,{type:`button`,onClick:t,"aria-label":r(`activity:agentOffice.closeMailDetails`),children:(0,Y.jsx)(M,{})})]}),(0,Y.jsxs)(`div`,{className:`agent-office__detail-status`,children:[(0,Y.jsx)(`span`,{className:H(`agent-office__status-dot`,i.unread&&`is-active`)}),(0,Y.jsxs)(`strong`,{children:[i.from,` → `,i.to]}),(0,Y.jsx)(`span`,{children:i.type}),i.audience===`leaders`&&(0,Y.jsxs)(`span`,{children:[(0,Y.jsx)(te,{className:`h-3 w-3`}),` `,r(`activity:mailbox.audienceLeaders`)]})]}),(0,Y.jsxs)(`section`,{className:`agent-office__detail-section`,children:[(0,Y.jsx)(`h3`,{children:r(`activity:mailbox.messages`)}),(0,Y.jsx)(X,{label:r(`activity:agentOffice.agent`),value:a}),(0,Y.jsx)(X,{label:r(`activity:agentOffice.started`),value:new Date(i.timestampMs).toLocaleTimeString()}),(0,Y.jsx)(X,{label:r(`activity:agentOffice.priority`),value:i.priority}),(0,Y.jsx)(X,{label:r(`activity:agentOffice.route`),value:`${i.from} → ${i.to}`})]}),(0,Y.jsxs)(`section`,{className:`agent-office__detail-section`,children:[(0,Y.jsx)(`h3`,{children:i.subject}),(0,Y.jsx)(`div`,{className:`agent-office__mail-body`,children:i.body})]})]})}function lt({selected:e,onClose:t}){let{t:r}=n();return(0,Y.jsxs)(`aside`,{className:`agent-office__detail`,"aria-label":`${e.agentName} task details`,children:[(0,Y.jsxs)(`div`,{className:`agent-office__detail-header`,children:[(0,Y.jsx)(`div`,{className:`agent-office__detail-icon is-task`,children:(0,Y.jsx)(j,{"aria-hidden":`true`})}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`span`,{children:r(`activity:agentOffice.currentTask`)}),(0,Y.jsx)(`h2`,{children:e.agentName})]}),(0,Y.jsx)(`button`,{type:`button`,onClick:t,"aria-label":r(`activity:agentOffice.closeTaskDetails`),children:(0,Y.jsx)(M,{})})]}),(0,Y.jsxs)(`section`,{className:`agent-office__detail-section`,children:[(0,Y.jsx)(`h3`,{children:r(`activity:agentOffice.task`)}),e.taskId&&(0,Y.jsx)(X,{label:`ID`,value:e.taskId}),(0,Y.jsx)(`div`,{className:`agent-office__task-body`,children:e.task})]})]})}function ut({selected:e,onClose:t}){let{t:r}=n(),i=e.todos.filter(e=>e.status!==`completed`).length;return(0,Y.jsxs)(`aside`,{className:`agent-office__detail`,"aria-label":`${e.officeLabel} briefing`,children:[(0,Y.jsxs)(`div`,{className:`agent-office__detail-header`,children:[(0,Y.jsx)(`div`,{className:`agent-office__detail-icon is-briefing`,children:(0,Y.jsx)(w,{"aria-hidden":`true`})}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`span`,{children:e.instructionActive?r(`activity:agentOffice.activeInstruction`):r(`activity:agentOffice.officeBriefing`)}),(0,Y.jsx)(`h2`,{children:e.officeLabel})]}),(0,Y.jsx)(`button`,{type:`button`,onClick:t,"aria-label":r(`activity:agentOffice.closeOfficeBriefing`),children:(0,Y.jsx)(M,{})})]}),(0,Y.jsxs)(`div`,{className:`agent-office__detail-status`,children:[(0,Y.jsx)(`span`,{className:H(`agent-office__status-dot`,(e.instructionActive||i>0)&&`is-active`)}),(0,Y.jsx)(`strong`,{children:e.telemetryConnected?r(`activity:agentOffice.activeTodos`):r(`activity:agentOffice.telemetryWaiting`)}),(0,Y.jsx)(`span`,{children:e.telemetryConnected?i:`—`})]}),(0,Y.jsxs)(`section`,{className:`agent-office__detail-section`,children:[(0,Y.jsx)(`h3`,{children:e.instructionActive?r(`activity:agentOffice.activeInstruction`):r(`activity:agentOffice.leaderPrompt`)}),e.promptAt!==void 0&&(0,Y.jsx)(X,{label:r(`activity:agentOffice.promptReceived`),value:new Date(e.promptAt).toLocaleString()}),(0,Y.jsx)(`div`,{className:`agent-office__task-body`,children:e.prompt??(e.telemetryConnected?r(`activity:agentOffice.noPrompt`):r(`activity:agentOffice.telemetryWaiting`))})]}),(0,Y.jsxs)(`section`,{className:`agent-office__detail-section`,children:[(0,Y.jsx)(`h3`,{children:r(`activity:agentOffice.todos`)}),(0,Y.jsx)(`div`,{className:`agent-office__todo-detail-list`,children:e.telemetryConnected?e.todos.length>0?e.todos.map(e=>(0,Y.jsxs)(`div`,{className:H(`agent-office__todo-detail`,`is-${e.status}`),children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`strong`,{children:e.content}),(0,Y.jsx)(`small`,{children:r(`activity:agentOffice.todoStatus.${e.status}`)})]})]},e.id)):(0,Y.jsx)(`span`,{className:`agent-office__history-empty`,children:r(`activity:agentOffice.noActiveTodos`)}):(0,Y.jsx)(`span`,{className:`agent-office__history-empty`,children:r(`activity:agentOffice.todoTelemetryWaiting`)})})]})]})}function dt({selected:e,onClose:t}){return e.kind===`tool`?(0,Y.jsx)(st,{selected:e,onClose:t}):e.kind===`mail`?(0,Y.jsx)(ct,{selected:e,onClose:t}):e.kind===`task`?(0,Y.jsx)(lt,{selected:e,onClose:t}):(0,Y.jsx)(ut,{selected:e,onClose:t})}function ft(e){return e==null||!Number.isFinite(e)?`0`:e<1e3?String(Math.round(e)):e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(1)}M`}function pt(e,t){if(!e)return`never`;let n=Date.parse(e);if(!Number.isFinite(n))return`never`;let r=Math.max(0,Math.round((t-n)/1e3));return r<60?`${r}s ago`:r<3600?`${Math.round(r/60)}m ago`:r<86400?`${Math.round(r/3600)}h ago`:`${Math.round(r/86400)}d ago`}function mt(e,t){if(!e)return``;let n=Date.parse(e);if(!Number.isFinite(n))return``;let r=Math.max(0,Math.round((t-n)/1e3));return r<60?`${r}s`:r<3600?`${Math.round(r/60)}m`:`${Math.round(r/3600)}h`}function ht(e){if(!e)return;let t=e.split(`/`);return t[t.length-1]?.slice(0,18)}function gt(e,t=56){if(!e)return;let n=e.replace(/\s+/g,` `).trim();if(n)return n.length<=t?n:t<=1?`…`:`${n.slice(0,t-1).trimEnd()}…`}function _t(e,t){if(e.length===0)return{positions:new Map,columns:0,rows:0,columnWidth:380};let n=Math.max(1,...e.map(e=>e.agentCount)),r=Math.max(380,Math.min(3,n)*190+80),i=e=>270+Math.max(1,...e.map(e=>Math.ceil(Math.max(1,e.agentCount)/3)))*150,a=Math.max(320,t.width),o=Math.max(240,t.height),s=1,c=-1/0,l=1/0;for(let t=1;t<=e.length;t+=1){let n=[];for(let r=0;r<e.length;r+=t)n.push(i(e.slice(r,r+t)));let u=n.length,d=Math.max(660,Math.min(t,e.length)*r),f=320+n.reduce((e,t)=>e+t,0)+Math.max(0,u-1)*100,p=Math.min(a/d,o/f),m=Math.abs(Math.log(d/f/(a/o)));(p>c+1e-9||Math.abs(p-c)<=1e-9&&m<l)&&(s=t,c=p,l=m)}let u=new Map,d=370;for(let t=0;t<e.length;t+=s){let n=e.slice(t,t+s);n.forEach((e,t)=>{u.set(e.id,{x:600+(t-(n.length-1)/2)*r,y:d})}),d+=i(n)+100}return{positions:u,columns:s,rows:Math.ceil(e.length/s),columnWidth:r}}function vt(e,t,n,r=640){let i=Math.min(3,n),a=Math.floor(t/i),o=t%i;return{x:e-(Math.min(i,n-a*i)-1)*190/2+o*190,y:r+a*150}}function yt(e){return e===`tui`?`tui`:e===`repl`||e===`cli`?`repl`:`webui`}function bt(e){return e===`tui`?`TUI`:e===`repl`?`REPL`:`WebUI`}function xt(e){switch(e){case`running`:case`active`:return`active`;case`idle`:return`idle`;case`completed`:return`completed`;case`failed`:case`error`:return`error`;case`stopped`:return`offline`;default:return`idle`}}function St(e){if(e)return e.split(`/`).filter(Boolean).pop()??e}function Ct(e){let t=St(e)??e??``;return t.length>10?`…${t.slice(-8)}`:t}function wt(e,t){let n=St(t);if(n)return e.find(e=>St(e.sessionId)===n)}function Tt(e,t){let n=xt(t.status);return{officeId:`${e}__agent-${t.id}`,serverId:t.id,name:t.name??t.id,status:n,iteration:t.iteration??0,toolCalls:t.toolCalls??0,costUsd:t.costUsd??0,tokensIn:t.tokensIn??0,tokensOut:t.tokensOut??0,ctxPct:t.ctxPct,model:t.model,currentTool:t.currentTool,currentTask:t.description,taskId:t.taskId,presenceSource:`fleet`}}function Et(e,t){return e===`cli`?`CLI`:e===`repl`?`REPL`:bt(t)}function Dt(e,t,n=[],r=new Map,i=Date.now()){let a=new Set,o=[];for(let n of e){let e=yt(n.clientType),r=Et(n.clientType,e),i=`client-${n.pid??n.sessionId}`,s=[],c=!1;for(let e of n.agents){a.add(e.id);let n=t.get(e.id),r=xt(n?.status??e.status);(r===`active`||r===`streaming`)&&(c=!0),s.push({officeId:`${i}__agent-${e.id}`,serverId:e.id,name:n?.name??e.name??e.id,status:r,iteration:n?.iteration??e.iterations??0,toolCalls:n?.toolCalls??e.toolCalls??0,costUsd:n?.costUsd??e.costUsd??0,tokensIn:n?.tokensIn??e.tokensIn??0,tokensOut:n?.tokensOut??e.tokensOut??0,ctxPct:n?.ctxPct??e.ctxPct,model:n?.model??e.model,lastActivityAt:e.lastActivityAt,currentTool:n?.currentTool??e.currentTool,currentTask:e.currentTask??n?.description,taskId:e.taskId??n?.taskId,recentTools:e.recentTools,recentMail:e.recentMail,activity:e.activity,presenceSource:`registry`})}let l=n.status===`closing`||n.status===`stale`||n.status===`lost`?`offline`:c?`active`:`idle`,u=n.agents.find(e=>e.id===`leader`);o.push({id:i,type:e,label:`${r} · ${n.pid?`PID ${n.pid}`:Ct(n.sessionId)}`,sublabel:[`session ${Ct(n.sessionId)}`,n.gitBranch?`⎇ ${n.gitBranch}`:``,n.workingDir?n.workingDir.split(/[\\/]/).filter(Boolean).pop():``].filter(Boolean).join(` · `),status:l,sessionId:n.sessionId,pid:n.pid,branch:n.gitBranch,workingDir:n.workingDir,startedAt:n.startedAt,lastHeartbeatAt:n.lastHeartbeatAt,latestPrompt:u?.latestPrompt,latestPromptAt:u?.latestPromptAt,activeInstruction:u?.status===`running`||u?.status===`streaming`?u.latestPrompt??u.currentTask:void 0,todos:u?.todos,agents:s})}for(let e of n.filter(e=>e.online)){let t=wt(o,e.sessionId);if(!t)continue;let n=e.name.trim().toLowerCase(),r=t.agents.find(t=>t.serverId===e.agentId||t.name.trim().toLowerCase()===n);r&&(a.add(e.agentId),r.mailboxId=e.agentId,r.role=e.role,r.currentTask=r.currentTask??e.currentTask,r.currentTool=r.currentTool??e.currentTool)}let s=[...t.values()].filter(e=>!a.has(e.id)),c,l=()=>{if(c)return c;let e=o.find(e=>e.type===`webui`);return e?(c=e,e):(c={id:`client-self`,type:`webui`,label:`This WebUI`,sublabel:`Web UI`,status:`idle`,agents:[]},o.push(c),c)};for(let e of s){let t=wt(o,e.sessionId)??l(),n=Tt(t.id,e);(n.status===`active`||n.status===`streaming`)&&t.status!==`offline`&&(t.status=`active`),t.agents.push(n),a.add(e.id)}for(let[e,t]of r){if(a.has(e)||i-t.finishedAt>9e5)continue;let n=wt(o,t.agent.sessionId);n&&n.agents.push(Tt(n.id,t.agent))}return o.length===0&&o.push({id:`client-self`,type:`webui`,label:`This WebUI`,sublabel:`Web UI · connecting…`,status:`idle`,agents:[]}),o}function Ot(e){return e.startsWith(`tool`)?`hsl(var(--warning))`:e.startsWith(`mailbox`)?`hsl(var(--info))`:e.startsWith(`provider`)?`hsl(var(--primary))`:e.startsWith(`agent`)||e.startsWith(`subagent`)?`hsl(var(--success))`:e.includes(`error`)?`hsl(var(--destructive))`:`hsl(var(--primary))`}var kt=new Set([`completed`,`failed`,`timeout`,`stopped`]);function At(e){let t=(0,W.useRef)(new Map).current;return(0,W.useMemo)(()=>{let n=Date.now(),r=new Set;for(let i of e.values())if(r.add(i.id),kt.has(i.status)){let e=t.get(i.id);e?e.agent=i:t.set(i.id,{agent:i,finishedAt:i.completedAt??n})}else t.delete(i.id);for(let[e,n]of[...t.entries()])!r.has(e)&&!kt.has(n.agent.status)&&t.set(e,{agent:{...n.agent,status:`stopped`},finishedAt:n.finishedAt});for(let[e,r]of t)n-r.finishedAt>9e5&&t.delete(e);return{map:t,now:n}},[e,t])}var jt=[`bot`,`cactus`,`duck`,`radio`],Mt={leader:`plum`,builder:`ocean`,researcher:`mint`,reviewer:`rose`,planner:`amber`,operator:`graphite`},Nt={leader:0,builder:1,researcher:2,reviewer:3,planner:4,operator:5},Pt={read:D,write:I,edit:I,terminal:b,web:ye,search:x,memory:_,other:u},Ft={leader:A,builder:u,researcher:D,reviewer:z,planner:j,operator:b};function It(e){if(e.serverId===`leader`||e.serverId.startsWith(`leader@`))return`leader`;let t=[e.role,e.name,e.currentTask].filter(Boolean).join(` `).toLowerCase();return/review|critic|audit|security|test|qa|verify|checker/.test(t)?`reviewer`:/research|analyst|explor|investig|search|hunter|recon/.test(t)?`researcher`:/plan|architect|design|coordinat|strateg|spec/.test(t)?`planner`:/build|implement|code|develop|engineer|refactor|fix|frontend|backend/.test(t)?`builder`:`operator`}function Lt(e,t){let n=2166136261;for(let t=0;t<e.length;t+=1)n^=e.charCodeAt(t),n=Math.imul(n,16777619);let r=n>>>0;return{palette:Mt[t],layout:r%4,clutter:Math.floor(r/4)%3,avatar:Nt[t],motion:Math.floor(r/31)%4,charm:jt[Math.floor(r/47)%jt.length]}}function Rt(e,t=22){let n=e.split(`/`).filter(Boolean).pop()??e;return n.length>t?`${n.slice(0,t-1)}…`:n}function zt(e,t=46){if(!e||e.length<=t)return e;let n=e.split(/[\\/]/).slice(-2).join(`/`);return n.length<=t?`…/${n}`:`…${e.slice(-(t-1))}`}function Bt(e,t){let n=Math.max(0,Math.floor((t-e)/1e3));if(n<5)return`now`;if(n<60)return`${n}s`;let r=Math.floor(n/60);return r<60?`${r}m`:`${Math.floor(r/60)}h`}function Vt(e,t){if(!e)return`—`;let n=Date.parse(e);if(!Number.isFinite(n))return`—`;let r=Math.max(0,Math.floor((t-n)/1e3));return r<60?`${r}s`:r<3600?`${Math.floor(r/60)}m`:r<86400?`${Math.floor(r/3600)}h`:`${Math.floor(r/86400)}d`}function Ht(e){let t=new Set,n=new Set,r=new Set,i=0,a=0,o={files:0,reads:0,writes:0,edits:0,linesAdded:0,linesRemoved:0,terminalCalls:0,incomingMail:0,outgoingMail:0};for(let s of e){let e=s.agent.activity;for(let n of e?.filesTouched??[])t.add(n);o.reads+=e?.reads??0,o.writes+=e?.writes??0,o.edits+=e?.edits??0,o.linesAdded+=e?.linesAdded??0,o.linesRemoved+=e?.linesRemoved??0,o.terminalCalls+=e?.terminalCalls??0,i+=e?.mailReceived??0,a+=e?.mailSent??0;for(let e of s.mail)(e.direction===`incoming`?n:r).add(e.id)}return o.files=t.size,o.incomingMail=Math.max(i,n.size),o.outgoingMail=Math.max(a,r.size),o}function Ut(e,t,n){return n.map((n,r)=>({...nt(e.serverId,n.name,t.sessionId),id:`${e.serverId}:log:${n.at}:${r}`,kind:Ve(n.name),status:n.ok?`succeeded`:`failed`,startedAt:Math.max(0,n.at-n.durationMs),completedAt:n.at,durationMs:n.durationMs,summary:n.ok?`${n.name} completed`:`${n.name} failed`}))}function Wt(...e){let t=[];for(let n of e.flat()){let e=n.completedAt??n.startedAt;t.some(t=>(t.id===n.id||t.toolName===n.toolName)&&Math.abs((t.completedAt??t.startedAt)-e)<2500)||t.push(n)}return t.sort((e,t)=>(t.completedAt??t.startedAt)-(e.completedAt??e.startedAt))}function Gt(...e){let t=new Map;for(let n of e.flat())t.set(n.id,n);return[...t.values()].sort((e,t)=>t.timestampMs-e.timestampMs).slice(0,12)}function Kt({kind:e,active:t}){let n=Pt[e];return(0,Y.jsxs)(`span`,{className:H(`agent-office__tool-glyph`,`is-${e}`,t&&`is-active`),children:[e===`read`&&(0,Y.jsx)(C,{className:`agent-office__file-underlay`,"aria-hidden":`true`}),(0,Y.jsx)(n,{"aria-hidden":`true`})]})}function qt({active:e,failed:t,role:n,variant:r,motion:i}){let a=Ft[n];return(0,Y.jsxs)(`div`,{className:H(`agent-office__avatar`,`is-${n}`,`is-avatar-${r}`,`is-motion-${i}`,e&&`is-active`,!e&&!t&&`is-idle`,t&&`is-failed`),"aria-hidden":`true`,children:[(0,Y.jsx)(`span`,{className:`agent-office__avatar-chair`}),(0,Y.jsx)(`span`,{className:`agent-office__avatar-body`}),(0,Y.jsxs)(`span`,{className:`agent-office__avatar-head`,children:[(0,Y.jsx)(`span`,{className:`agent-office__avatar-hair`}),(0,Y.jsx)(`span`,{className:`agent-office__avatar-face`}),(0,Y.jsx)(`span`,{className:`agent-office__avatar-mouth`}),(0,Y.jsx)(`span`,{className:`agent-office__avatar-headset`})]}),(0,Y.jsx)(`span`,{className:`agent-office__avatar-arm`}),(0,Y.jsx)(`span`,{className:`agent-office__avatar-prop`}),(0,Y.jsx)(`span`,{className:`agent-office__avatar-role-badge`,children:(0,Y.jsx)(a,{})})]})}function Jt({call:e,compact:t=!1,onSelect:n}){let r=e.status===`running`;return(0,Y.jsxs)(`button`,{type:`button`,className:H(`agent-office__parcel`,`is-${e.kind}`,t&&`is-compact`,r&&`is-running`,e.status===`failed`&&`is-failed`),onClick:n,"aria-label":`${e.toolName}: ${e.summary}`,children:[(0,Y.jsx)(Kt,{kind:e.kind,active:r}),(0,Y.jsxs)(`span`,{className:`agent-office__parcel-copy`,children:[(0,Y.jsxs)(`span`,{className:`agent-office__parcel-topline`,children:[(0,Y.jsx)(`strong`,{children:e.toolName}),e.lineLabel&&(0,Y.jsx)(`span`,{className:`agent-office__line-chip`,children:e.lineLabel})]}),!t&&e.target&&(0,Y.jsx)(`span`,{className:`agent-office__parcel-target`,children:zt(e.target)}),(0,Y.jsx)(`span`,{className:`agent-office__parcel-summary`,children:e.summary})]}),(0,Y.jsx)(`span`,{className:`agent-office__parcel-state`,"aria-hidden":`true`,children:r?(0,Y.jsx)(`span`,{className:`agent-office__pulse-dot`}):e.status===`failed`?(0,Y.jsx)(M,{}):(0,Y.jsx)(z,{})})]})}function Yt({mail:e,compact:t=!1,onSelect:n}){let r=e.direction===`incoming`;return(0,Y.jsxs)(`button`,{type:`button`,className:H(`agent-office__mail-parcel`,t&&`is-compact`,r?`is-incoming`:`is-outgoing`,e.unread&&`is-unread`),onClick:n,"aria-label":`${r?`Incoming`:`Outgoing`} mail: ${e.subject}`,children:[(0,Y.jsx)(`span`,{className:`agent-office__mail-icon`,children:r?(0,Y.jsx)(i,{"aria-hidden":`true`}):(0,Y.jsx)(P,{"aria-hidden":`true`})}),(0,Y.jsxs)(`span`,{className:`agent-office__parcel-copy`,children:[(0,Y.jsx)(`strong`,{children:r?`${e.from} →`:`→ ${e.to}`}),(0,Y.jsx)(`span`,{className:`agent-office__parcel-summary`,children:e.subject})]}),(0,Y.jsx)(N,{"aria-hidden":`true`})]})}function Xt({office:e,now:t}){let{t:r}=n(),{client:i,agents:a,stats:o}=e,s=i.lastHeartbeatAt?Date.parse(i.lastHeartbeatAt):NaN,l=Number.isFinite(s)&&t-s<2e4,u=Number.isFinite(s)&&!l,d=a.some(({agent:e})=>e.presenceSource===`registry`),f=l?`VERIFIED`:u?`DELAYED`:d?`REGISTRY`:`LOCAL`,p=a.some(({agent:e})=>e.recentTools!==void 0||e.activity!==void 0),m=a.some(({agent:e})=>e.toolCalls>0&&e.recentTools===void 0&&e.activity===void 0);return(0,Y.jsxs)(`header`,{className:`agent-office__client-header`,children:[(0,Y.jsxs)(`div`,{className:`agent-office__client-title`,children:[(0,Y.jsx)(`span`,{className:`agent-office__client-icon`,children:(0,Y.jsx)(A,{"aria-hidden":`true`})}),(0,Y.jsxs)(`div`,{className:`agent-office__client-copy`,children:[(0,Y.jsx)(`strong`,{children:i.label}),(0,Y.jsx)(`span`,{children:i.sublabel||i.sessionId})]}),(0,Y.jsxs)(`div`,{className:`agent-office__client-presence`,children:[(0,Y.jsxs)(`span`,{className:`agent-office__client-agent-count`,children:[a.length,` `,r(`activity:agentOffice.agents`)]}),(0,Y.jsxs)(`span`,{className:H(`agent-office__presence-chip`,!u&&`is-live`,u&&`is-legacy`),children:[(0,Y.jsx)(R,{"aria-hidden":`true`}),` `,f]}),(0,Y.jsxs)(`span`,{className:`agent-office__presence-chip`,children:[(0,Y.jsx)(g,{"aria-hidden":`true`}),` `,Vt(i.startedAt,t),` UP`]}),(0,Y.jsxs)(`span`,{className:H(`agent-office__presence-chip`,m?`is-legacy`:p&&`is-telemetry`),children:[(0,Y.jsx)(h,{"aria-hidden":`true`}),m?`RECONNECT`:p?`TOOLS LIVE`:`READY`]})]})]}),(0,Y.jsxs)(`fieldset`,{className:`agent-office__client-stats`,"aria-label":r(`activity:agentOffice.sessionActivityTotals`),children:[(0,Y.jsxs)(`span`,{title:r(`activity:agentOffice.uniqueFilesTouched`),children:[(0,Y.jsx)(c,{}),` `,(0,Y.jsx)(`strong`,{children:o.files}),` `,r(`activity:agentOffice.files`)]}),(0,Y.jsxs)(`span`,{title:r(`activity:agentOffice.fileReads`),children:[(0,Y.jsx)(D,{}),` `,(0,Y.jsx)(`strong`,{children:o.reads}),` `,r(`activity:agentOffice.read`)]}),(0,Y.jsxs)(`span`,{title:r(`activity:agentOffice.filesWritten`),children:[(0,Y.jsx)(I,{}),` `,(0,Y.jsx)(`strong`,{children:o.writes}),` `,r(`activity:agentOffice.write`)]}),(0,Y.jsxs)(`span`,{title:r(`activity:agentOffice.filesEdited`),children:[(0,Y.jsx)(I,{}),` `,(0,Y.jsx)(`strong`,{children:o.edits}),` `,r(`activity:agentOffice.edit`)]}),(0,Y.jsxs)(`span`,{className:`agent-office__client-delta`,title:r(`activity:agentOffice.linesAddedAndRemoved`),children:[(0,Y.jsxs)(`strong`,{children:[`+`,o.linesAdded]}),` / `,(0,Y.jsxs)(`b`,{children:[`−`,o.linesRemoved]})]}),(0,Y.jsxs)(`span`,{title:r(`activity:agentOffice.terminalCommands`),children:[(0,Y.jsx)(b,{}),` `,(0,Y.jsx)(`strong`,{children:o.terminalCalls}),` `,r(`activity:agentOffice.term`)]}),(0,Y.jsxs)(`span`,{title:r(`activity:agentOffice.incomingAndOutgoingMail`),children:[(0,Y.jsx)(N,{}),` `,(0,Y.jsx)(`strong`,{children:o.incomingMail}),`↓ `,(0,Y.jsx)(`strong`,{children:o.outgoingMail}),`↑`]})]})]})}function Zt({office:e,now:t,onSelect:r}){let{t:i}=n(),{client:a}=e,o=a.todos!==void 0,c=a.todos??[],l=c.filter(e=>e.status!==`completed`),u=c.length-l.length,d=!!a.activeInstruction,f=a.activeInstruction??a.latestPrompt,p=a.latestPromptAt!==void 0&&t-a.latestPromptAt<3e4,m=()=>r({kind:`briefing`,officeLabel:a.label,prompt:f,promptAt:a.latestPromptAt,instructionActive:d,telemetryConnected:o,todos:c});return(0,Y.jsxs)(`section`,{className:`agent-office__briefing`,"aria-label":i(`activity:agentOffice.officeBriefing`),children:[(0,Y.jsxs)(`button`,{type:`button`,className:H(`agent-office__prompt-card`,d&&`is-active`,p&&`is-fresh`,!o&&`is-waiting`),onClick:m,children:[(0,Y.jsx)(`span`,{className:`agent-office__briefing-icon is-prompt`,children:(0,Y.jsx)(w,{"aria-hidden":`true`})}),(0,Y.jsxs)(`span`,{className:`agent-office__briefing-copy`,children:[(0,Y.jsx)(`span`,{children:i(d?`activity:agentOffice.activeInstruction`:`activity:agentOffice.leaderPrompt`)}),(0,Y.jsx)(`strong`,{children:f??i(o?`activity:agentOffice.noPrompt`:`activity:agentOffice.telemetryWaiting`)})]}),d&&(0,Y.jsxs)(`span`,{className:`agent-office__instruction-live`,children:[(0,Y.jsx)(`i`,{"aria-hidden":`true`}),` `,i(`activity:agentOffice.live`)]}),a.latestPromptAt!==void 0&&(0,Y.jsx)(`time`,{dateTime:new Date(a.latestPromptAt).toISOString(),children:Bt(a.latestPromptAt,t)})]}),(0,Y.jsxs)(`button`,{type:`button`,className:H(`agent-office__todo-board`,l.length>0&&`has-active`,!o&&`is-waiting`),onClick:m,children:[(0,Y.jsxs)(`span`,{className:`agent-office__todo-heading`,children:[(0,Y.jsxs)(`span`,{children:[(0,Y.jsx)(j,{"aria-hidden":`true`}),` `,i(`activity:agentOffice.activeTodos`)]}),(0,Y.jsx)(`strong`,{children:o?i(`activity:agentOffice.todoProgress`,{done:u,total:c.length}):i(`activity:agentOffice.syncWaiting`)})]}),(0,Y.jsxs)(`span`,{className:`agent-office__todo-preview`,children:[o?l.length>0?l.slice(0,3).map(e=>(0,Y.jsxs)(`span`,{className:H(`agent-office__todo-line`,`is-${e.status}`),children:[(0,Y.jsx)(`i`,{"aria-hidden":`true`}),(0,Y.jsx)(`span`,{children:e.activeForm||e.content})]},e.id)):(0,Y.jsxs)(`span`,{className:`agent-office__todo-empty`,children:[(0,Y.jsx)(s,{"aria-hidden":`true`}),c.length>0?i(`activity:agentOffice.allTodosDone`):i(`activity:agentOffice.noActiveTodos`)]}):(0,Y.jsxs)(`span`,{className:`agent-office__todo-empty is-waiting`,children:[(0,Y.jsx)(h,{"aria-hidden":`true`}),i(`activity:agentOffice.todoTelemetryWaiting`)]}),l.length>3&&(0,Y.jsx)(`span`,{className:`agent-office__todo-more`,children:i(`activity:agentOffice.moreTodos`,{count:l.length-3})})]})]})]})}function Qt({active:e}){let{t}=n();return(0,Y.jsxs)(`div`,{className:`agent-office__parcel agent-office__parcel--empty`,children:[(0,Y.jsx)(`span`,{className:`agent-office__tool-glyph`,children:(0,Y.jsx)(F,{"aria-hidden":`true`})}),(0,Y.jsxs)(`span`,{className:`agent-office__parcel-copy`,children:[(0,Y.jsx)(`strong`,{children:t(e?`activity:agentOffice.thinking`:`activity:agentOffice.waiting`)}),(0,Y.jsx)(`span`,{children:t(e?`activity:agentOffice.preparing`:`activity:agentOffice.deskReady`)})]})]})}function $t({model:e,now:t,onSelect:r,routedMailIds:i}){let{t:a}=n(),{agent:o,client:s,current:c,display:l,history:d,mail:f}=e,p=o.status===`active`||o.status===`streaming`,m=o.status===`error`,g=f[0],_=It(o),v=Lt(`${s.sessionId}:${o.serverId}:${o.name}`,_),y=g&&t-g.timestampMs<3e4&&!i?.has(g.id),b=d.slice(0,6),x=b[0]?.completedAt??b[0]?.startedAt??l?.completedAt??l?.startedAt,S=c?`is-tool-${c.kind}`:void 0;return(0,Y.jsxs)(`article`,{className:H(`agent-office__lane`,`is-desk-${v.palette}`,`is-layout-${v.layout}`,`is-clutter-${v.clutter}`,p&&`is-active`,m&&`is-failed`),children:[(0,Y.jsxs)(`div`,{className:`agent-office__identity`,children:[(0,Y.jsxs)(`div`,{className:`agent-office__identity-line`,children:[(0,Y.jsx)(`span`,{className:H(`agent-office__status-dot`,p&&`is-active`,m&&`is-failed`)}),(0,Y.jsx)(`strong`,{title:o.name,children:o.name}),(0,Y.jsxs)(`span`,{className:`agent-office__agent-verified`,title:o.presenceSource===`registry`?`Verified by live session registry`:`Verified by local fleet state`,children:[(0,Y.jsx)(z,{"aria-hidden":`true`}),o.presenceSource===`registry`?`LIVE`:`LOCAL`]})]}),(0,Y.jsx)(`span`,{className:`agent-office__role`,children:o.role??(o.serverId===`leader`||o.serverId.startsWith(`leader@`)?a(`activity:agentOffice.leadAgent`):a(`activity:agentOffice.agent`))}),(0,Y.jsxs)(`div`,{className:`agent-office__agent-meta`,children:[(0,Y.jsx)(`span`,{children:s.branch?`⎇ ${s.branch}`:s.type.toUpperCase()}),(0,Y.jsx)(`span`,{children:a(`activity:agentOffice.callsCount`,{count:o.toolCalls})}),o.model&&(0,Y.jsx)(`span`,{className:`agent-office__model-chip`,title:o.model,children:Rt(o.model)})]}),o.currentTask&&(0,Y.jsxs)(`button`,{type:`button`,className:`agent-office__agent-task`,onClick:()=>r({kind:`task`,task:o.currentTask??``,taskId:o.taskId,agentName:o.name}),children:[(0,Y.jsx)(j,{"aria-hidden":`true`}),(0,Y.jsxs)(`span`,{children:[(0,Y.jsx)(`strong`,{children:a(`activity:agentOffice.currentTask`)}),(0,Y.jsx)(`small`,{children:o.currentTask})]})]}),!o.currentTask&&p&&(0,Y.jsxs)(`div`,{className:`agent-office__agent-task is-missing`,children:[(0,Y.jsx)(h,{"aria-hidden":`true`}),(0,Y.jsxs)(`span`,{children:[(0,Y.jsx)(`strong`,{children:a(`activity:agentOffice.currentTask`)}),(0,Y.jsx)(`small`,{children:s.todos===void 0?a(`activity:agentOffice.telemetryWaiting`):a(`activity:agentOffice.taskNotReported`)})]})]}),g&&(0,Y.jsxs)(`button`,{type:`button`,className:H(`agent-office__identity-mail`,g.unread&&`is-unread`),onClick:()=>r({kind:`mail`,mail:g,agentName:o.name}),"aria-label":`${f.length} mail messages. Latest: ${g.subject}`,children:[(0,Y.jsx)(N,{"aria-hidden":`true`}),(0,Y.jsxs)(`span`,{children:[(0,Y.jsxs)(`strong`,{children:[f.length,` MAIL`]}),(0,Y.jsx)(`small`,{children:g.subject})]})]})]}),(0,Y.jsxs)(`div`,{className:H(`agent-office__scene`,S),children:[(0,Y.jsxs)(`div`,{className:`agent-office__window`,"aria-hidden":`true`,children:[(0,Y.jsx)(`span`,{}),(0,Y.jsx)(`span`,{}),(0,Y.jsx)(`span`,{})]}),(0,Y.jsxs)(`div`,{className:`agent-office__plant`,"aria-hidden":`true`,children:[(0,Y.jsx)(`span`,{}),(0,Y.jsx)(`i`,{}),(0,Y.jsx)(`b`,{})]}),(0,Y.jsxs)(`div`,{className:`agent-office__desk-zone`,"aria-hidden":`true`,children:[(0,Y.jsx)(qt,{active:p,failed:m,role:_,variant:v.avatar,motion:v.motion}),(0,Y.jsx)(`span`,{className:`agent-office__monitor`,children:l?(0,Y.jsx)(Kt,{kind:l.kind,active:c!==void 0}):(0,Y.jsx)(u,{})}),(0,Y.jsxs)(`span`,{className:`agent-office__activity-fx`,children:[(0,Y.jsx)(`span`,{}),(0,Y.jsx)(`i`,{}),(0,Y.jsx)(`b`,{})]}),(0,Y.jsx)(`span`,{className:`agent-office__desk`}),(0,Y.jsx)(`span`,{className:`agent-office__desk-lamp`}),(0,Y.jsxs)(`span`,{className:`agent-office__desk-clutter`,children:[(0,Y.jsx)(`i`,{}),(0,Y.jsx)(`b`,{})]}),(0,Y.jsxs)(`span`,{className:H(`agent-office__desk-charm`,`is-${v.charm}`),children:[(0,Y.jsx)(`i`,{}),(0,Y.jsx)(`b`,{})]}),(0,Y.jsxs)(`span`,{className:H(`agent-office__mug`,`is-${_}`),children:[(0,Y.jsx)(`i`,{"aria-hidden":`true`}),(0,Y.jsx)(`b`,{"aria-hidden":`true`})]})]}),y&&(0,Y.jsx)(`div`,{className:H(`agent-office__mail-flyby`,`is-${g.direction}`),children:(0,Y.jsx)(Yt,{mail:g,compact:!0,onSelect:()=>r({kind:`mail`,mail:g,agentName:o.name})},g.id)}),(0,Y.jsxs)(`div`,{className:H(`agent-office__conveyor`,c&&`is-moving`),children:[(0,Y.jsxs)(`div`,{className:`agent-office__belt`,"aria-hidden":`true`,children:[(0,Y.jsx)(`span`,{}),(0,Y.jsx)(`span`,{}),(0,Y.jsx)(`span`,{}),(0,Y.jsx)(`span`,{}),(0,Y.jsx)(`span`,{}),(0,Y.jsx)(`span`,{})]}),(0,Y.jsx)(`div`,{className:`agent-office__current-action`,children:l?(0,Y.jsx)(Jt,{call:l,onSelect:()=>r({kind:`tool`,call:l,agentName:o.name})},l.id):(0,Y.jsx)(Qt,{active:p})})]})]}),(0,Y.jsxs)(`div`,{className:`agent-office__history`,children:[(0,Y.jsxs)(`div`,{className:`agent-office__history-heading`,children:[(0,Y.jsx)(`span`,{children:a(`activity:agentOffice.recent`)}),x!==void 0&&(0,Y.jsx)(`span`,{children:Bt(x,t)})]}),(0,Y.jsx)(`div`,{className:`agent-office__history-list`,children:b.length>0?b.map(e=>(0,Y.jsx)(Jt,{call:e,compact:!0,onSelect:()=>r({kind:`tool`,call:e,agentName:o.name})},`tool:${e.id}`)):(0,Y.jsx)(`span`,{className:`agent-office__history-empty`,children:o.toolCalls>0&&o.recentTools===void 0&&o.activity===void 0?a(`activity:agentOffice.telemetryReconnect`):a(`activity:agentOffice.noCalls`)})})]})]})}function en(e){return e.agent.status===`active`||e.agent.status===`streaming`||e.agent.status===`error`}function tn({agents:e,now:t,onSelect:r}){let{t:i}=n();return(0,Y.jsxs)(`section`,{className:`agent-office__lounge`,"aria-label":i(`activity:agentOffice.breakRoom`),children:[(0,Y.jsxs)(`header`,{className:`agent-office__lounge-heading`,children:[(0,Y.jsx)(se,{"aria-hidden":`true`}),(0,Y.jsx)(`strong`,{children:i(`activity:agentOffice.breakRoom`)}),(0,Y.jsx)(`span`,{children:i(`activity:agentOffice.onBreak`,{count:e.length})})]}),(0,Y.jsx)(`div`,{className:`agent-office__lounge-seats`,children:e.map(e=>{let{agent:n,history:a,mail:o}=e,s=It(n),c=Ft[s],l=o.filter(e=>e.unread).length,u=a[0]?.completedAt??a[0]?.startedAt,d=o[0],f=()=>{n.currentTask?r({kind:`task`,task:n.currentTask,taskId:n.taskId,agentName:n.name}):d&&r({kind:`mail`,mail:d,agentName:n.name})},p=!!n.currentTask||!!d;return(0,Y.jsxs)(`button`,{type:`button`,className:H(`agent-office__lounge-seat`,`is-${s}`),onClick:f,disabled:!p,children:[(0,Y.jsx)(`span`,{className:`agent-office__lounge-avatar`,children:(0,Y.jsx)(c,{"aria-hidden":`true`})}),(0,Y.jsxs)(`span`,{className:`agent-office__lounge-copy`,children:[(0,Y.jsx)(`strong`,{children:n.name}),(0,Y.jsx)(`small`,{children:n.role??i(`activity:agentOffice.agent`)})]}),(0,Y.jsxs)(`span`,{className:`agent-office__lounge-meta`,children:[u!==void 0&&(0,Y.jsx)(`span`,{children:Bt(u,t)}),l>0&&(0,Y.jsxs)(`span`,{className:`agent-office__lounge-mail`,children:[(0,Y.jsx)(N,{"aria-hidden":`true`}),` `,l]})]})]},e.key)})})]})}function nn(){let{t:e}=n(),t=we(e=>e.liveSessions),r=we(e=>e.aggregate),i=Ce(e=>e.agents),a=Ee(e=>e.agents),o=Ee(e=>e.messages),s=xe(e=>e.toolEvents),c=Se(e=>e.projectName),l=At(i),[u,d]=(0,W.useState)(null),f=(0,W.useMemo)(()=>Dt(t,i,a,l.map,l.now),[t,i,a,l]),p=(0,W.useMemo)(()=>f.flatMap(e=>e.agents.map(t=>{let n=Wt(tt(s,t.serverId,e.sessionId),Xe(t.recentTools,t.serverId,e.sessionId),Ut(t,e,i.get(t.serverId)?.toolLog??[])),r=t.status===`active`||t.status===`streaming`,a=n.find(e=>e.status===`running`);!a&&r&&t.currentTool&&(a=nt(t.serverId,t.currentTool,e.sessionId));let c=a??n[0],l=n.filter(e=>e.status!==`running`).slice(0,6),u=Gt(Ze(t.recentMail),et(o,t,e.sessionId));return{key:t.officeId,client:e,agent:t,calls:n,current:a,display:c,history:l,mail:u}})),[f,i,o,s]),m=(0,W.useMemo)(()=>f.map(e=>{let t=p.filter(t=>t.client.id===e.id);return{client:e,agents:t,stats:Ht(t)}}).filter(e=>e.agents.length>0),[f,p]),_=p.filter(({agent:e})=>e.status===`active`||e.status===`streaming`).length,v=c||t.find(e=>e.projectName)?.projectName||e(`activity:office.fleetHq`),y=Date.now();return(0,Y.jsxs)(`div`,{className:`agent-office`,children:[(0,Y.jsxs)(`header`,{className:`agent-office__header`,children:[(0,Y.jsxs)(`div`,{className:`agent-office__title`,children:[(0,Y.jsx)(`span`,{className:`agent-office__brand-mark`,children:(0,Y.jsx)(A,{"aria-hidden":`true`})}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`span`,{children:e(`activity:agentOffice.liveProjectOffice`)}),(0,Y.jsx)(`h1`,{children:v})]})]}),(0,Y.jsxs)(`div`,{className:`agent-office__live-pill`,children:[(0,Y.jsx)(`span`,{}),` `,e(`activity:agentOffice.live`)]}),(0,Y.jsxs)(`div`,{className:`agent-office__summary`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(F,{}),(0,Y.jsx)(`strong`,{children:p.length}),(0,Y.jsx)(`span`,{children:e(`activity:agentOffice.agents`)})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(_e,{}),(0,Y.jsx)(`strong`,{children:_}),(0,Y.jsx)(`span`,{children:e(`activity:agentOffice.working`)})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(h,{}),(0,Y.jsx)(`strong`,{children:r.toolCalls.toLocaleString()}),(0,Y.jsx)(`span`,{children:e(`activity:agentOffice.toolCalls`)})]})]})]}),(0,Y.jsx)(`main`,{className:`agent-office__floor`,children:p.length>0?m.map(t=>{let n=t.agents.filter(en),r=t.agents.filter(e=>!en(e)),i=Qe(n,y),a=new Set(i.map(e=>e.id));return(0,Y.jsxs)(`section`,{className:`agent-office__client-office`,children:[(0,Y.jsx)(Xt,{office:t,now:y}),(0,Y.jsx)(Zt,{office:t,now:y,onSelect:d}),n.length>0&&(0,Y.jsxs)(`div`,{className:`agent-office__column-headings`,"aria-hidden":`true`,children:[(0,Y.jsx)(`span`,{children:e(`activity:agentOffice.team`)}),(0,Y.jsx)(`span`,{children:e(`activity:agentOffice.liveDesk`)}),(0,Y.jsx)(`span`,{children:e(`activity:agentOffice.lastActions`)})]}),(0,Y.jsxs)(`div`,{className:`agent-office__client-desks`,children:[n.map(e=>(0,Y.jsx)($t,{model:e,now:y,onSelect:d,routedMailIds:a},e.key)),i.length>0&&(0,Y.jsx)(`div`,{className:`agent-office__mail-routes`,"aria-hidden":`true`,children:i.map(e=>(0,Y.jsx)(`div`,{className:`agent-office__mail-route`,style:{"--from":`${(e.fromIndex+.5)/n.length*100}%`,"--to":`${(e.toIndex+.5)/n.length*100}%`},children:(0,Y.jsx)(`span`,{className:`agent-office__mail-route-parcel`,children:(0,Y.jsx)(N,{"aria-hidden":`true`})})},e.id))}),n.length===0&&(0,Y.jsxs)(`div`,{className:`agent-office__desks-empty`,children:[(0,Y.jsx)(se,{"aria-hidden":`true`}),e(`activity:agentOffice.desksEmpty`)]})]}),r.length>0&&(0,Y.jsx)(tn,{agents:r,now:y,onSelect:d})]},t.client.id)}):(0,Y.jsxs)(`div`,{className:`agent-office__empty-state`,children:[(0,Y.jsx)(`span`,{children:(0,Y.jsx)(R,{"aria-hidden":`true`})}),(0,Y.jsx)(`h2`,{children:e(`activity:agentOffice.readyTitle`)}),(0,Y.jsx)(`p`,{children:e(`activity:agentOffice.readyBody`)})]})}),(0,Y.jsxs)(`footer`,{className:`agent-office__footer`,children:[(0,Y.jsxs)(`span`,{children:[(0,Y.jsx)(`span`,{className:`agent-office__status-dot is-active`}),` `,e(`activity:agentOffice.liveEvent`)]}),(0,Y.jsxs)(`span`,{children:[(0,Y.jsx)(ce,{}),` `,e(`activity:agentOffice.connectedSessions`,{count:t.length})]}),(0,Y.jsxs)(`span`,{children:[(0,Y.jsx)(g,{}),` `,e(`activity:agentOffice.detailHint`)]})]}),u&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`button`,{type:`button`,className:`agent-office__detail-backdrop`,onClick:()=>d(null),"aria-label":e(`activity:agentOffice.closeToolDetails`)}),(0,Y.jsx)(dt,{selected:u,onClose:()=>d(null)})]})]})}function rn(e){if(e<1e3)return`${e}ms`;let t=Math.round(e/100);return t<600?`${(t/10).toFixed(1)}s`:`${Math.floor(t/600)}m ${Math.round(t%600/10)}s`}var an={user:{Icon:be,labelKey:`activity:message.roleYou`,avatarBg:`bg-primary`,avatarColor:`text-primary-foreground`,avatarRing:`ring-2 ring-offset-2 ring-offset-background ring-primary/20`,bubbleBg:`bg-transparent`,bubbleBorder:`border-primary/40`,textColor:`text-foreground`},assistant:{Icon:F,labelKey:`activity:message.roleAssistant`,avatarBg:`bg-accent`,avatarColor:`text-accent-foreground`,avatarRing:`ring-2 ring-offset-2 ring-offset-background ring-accent/20`,bubbleBg:`bg-card`,bubbleBorder:`border-border`,textColor:`text-foreground`},tool:{Icon:p,labelKey:`activity:message.roleTool`,avatarBg:`bg-secondary`,avatarColor:`text-secondary-foreground`,avatarRing:`ring-2 ring-offset-2 ring-offset-background ring-secondary/20`,bubbleBg:`bg-muted/80`,bubbleBorder:`border-border`,textColor:`text-foreground`},system:{Icon:F,labelKey:`activity:transcript.kindSystem`,avatarBg:`bg-muted`,avatarColor:`text-muted-foreground`,avatarRing:`ring-2 ring-offset-2 ring-offset-background ring-muted/20`,bubbleBg:`bg-muted/50`,bubbleBorder:`border-border`,textColor:`text-muted-foreground`},error:{Icon:S,labelKey:`activity:transcript.kindError`,avatarBg:`bg-destructive`,avatarColor:`text-destructive-foreground`,avatarRing:`ring-2 ring-offset-2 ring-offset-background ring-destructive/20`,bubbleBg:`bg-destructive/5`,bubbleBorder:`border-destructive/20`,textColor:`text-destructive`}};function on({entry:e}){let{t}=n();return e.role===`error`?(0,Y.jsx)(Ae,{text:e.text}):e.role===`tool`?(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1.5 tool-details`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5 text-sm font-medium text-foreground`,children:[(0,Y.jsx)(p,{className:`h-3 w-3`}),(0,Y.jsx)(`span`,{className:`font-mono`,children:e.tool??t(`activity:watch.toolFallback`)}),e.durationMs!==void 0&&(0,Y.jsxs)(`span`,{className:`ml-auto text-[10px] text-muted-foreground font-normal tabular-nums`,children:[(0,Y.jsx)(f,{className:`h-3 w-3 inline mr-0.5 align-text-bottom`}),rn(e.durationMs)]})]}),e.input!==void 0&&e.input!==null&&(0,Y.jsx)(`div`,{className:`p-3 bg-muted/50 rounded-lg overflow-x-auto`,children:(0,Y.jsx)(Ne,{input:e.input})}),e.output!==void 0&&e.output!==null?(0,Y.jsx)(`div`,{className:`text-sm leading-relaxed markdown-content`,children:typeof e.output==`string`?(0,Y.jsx)(Pe,{remarkPlugins:[De],rehypePlugins:ke,components:Me,children:e.output}):(0,Y.jsx)(`pre`,{className:`whitespace-pre-wrap font-mono text-xs bg-card rounded-lg p-2 border border-border overflow-x-auto`,children:JSON.stringify(e.output,null,2)})}):e.text?(0,Y.jsx)(`div`,{className:`text-sm leading-relaxed markdown-content`,children:(0,Y.jsx)(Pe,{remarkPlugins:[De],rehypePlugins:ke,components:Me,children:e.text})}):null,e.isError&&(0,Y.jsxs)(`div`,{className:`rounded-lg border border-destructive/30 bg-destructive/5 px-3 py-2`,children:[(0,Y.jsx)(`span`,{className:`text-xs font-medium text-destructive`,children:t(`activity:watch.toolFailed`)}),e.text&&(0,Y.jsx)(`pre`,{className:`mt-1 text-xs whitespace-pre-wrap text-destructive/80`,children:e.text})]})]}):(0,Y.jsx)(`div`,{className:`text-sm leading-relaxed markdown-content`,children:(0,Y.jsx)(Pe,{remarkPlugins:[De],rehypePlugins:ke,components:Me,children:e.text})})}function sn({entry:e,isContinuation:t=!1}){let{t:r}=n(),i=an[e.role],a=i.Icon;return(0,Y.jsxs)(`div`,{className:`group flex gap-3 animate-message msg-bubble rounded-lg transition-shadow`,children:[t?(0,Y.jsx)(`div`,{className:`flex-shrink-0 w-8`}):(0,Y.jsx)(`div`,{className:H(`flex-shrink-0 w-8 h-8 rounded-full flex items-center justify-center`,i.avatarBg,i.avatarColor,i.avatarRing),children:(0,Y.jsx)(a,{className:`h-4 w-4`})}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1.5 min-w-0 flex-1`,children:[!t&&(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(`span`,{className:H(`text-xs font-medium`,i.textColor),children:e.role===`tool`&&e.tool?e.tool:r(i.labelKey)}),(0,Y.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:new Date(e.ts).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})}),e.role===`tool`&&e.durationMs!==void 0&&(0,Y.jsxs)(`span`,{className:`text-[10px] text-muted-foreground tabular-nums`,children:[`· `,rn(e.durationMs)]})]}),(0,Y.jsx)(`div`,{className:H(`rounded-2xl px-4 py-3 border`,e.role===`user`&&`rounded-br-md`,e.role===`assistant`&&`rounded-bl-md`,e.role===`tool`&&`rounded-bl-sm`,e.role===`system`&&`rounded-bl-sm opacity-70`,e.role===`error`&&`rounded-bl-sm`,i.bubbleBg,i.bubbleBorder),children:(0,Y.jsx)(`div`,{className:H(`text-sm leading-relaxed markdown-content`,i.textColor),children:(0,Y.jsx)(on,{entry:e})})}),e.text&&e.role!==`error`&&(0,Y.jsx)(`div`,{className:`opacity-0 group-hover:opacity-100 transition-opacity`,children:(0,Y.jsx)(je,{text:e.text,label:r(`common:action.copy`)})})]})]})}var cn=[`steer`,`ask`,`assign`,`note`],ln=2500;function un({sessionId:e,limit:t=200}){let[r,i]=(0,W.useState)(null),{t:a}=n(),[o,s]=(0,W.useState)(null),[c,l]=(0,W.useState)(``),[u,d]=(0,W.useState)(!1),[f,p]=(0,W.useState)(null),[m,h]=(0,W.useState)(`steer`),[g,_]=(0,W.useState)(`high`),[y,b]=(0,W.useState)([]),[x,S]=(0,W.useState)(!1),C=(0,W.useRef)(null),w=(0,W.useRef)(!0),T=(0,W.useRef)(!0),ee=we(e=>e.liveSessions),E=(0,W.useMemo)(()=>ee.find(t=>t.sessionId===e),[ee,e]),D=(0,W.useMemo)(()=>{let e=E;return e?`${e.status}|${e.agents.map(e=>`${e.id}:${e.status}:${e.toolCalls??0}:${e.iterations??0}`).join(`,`)}`:``},[E]),te=E?.status===`active`||(E?.agents.some(e=>e.status===`running`||e.status===`streaming`)??!1),O=(0,W.useMemo)(()=>{if(!E)return null;let e=E.agents.find(e=>e.status===`running`||e.status===`streaming`);return e?.currentTool?`🔧 ${e.currentTool}`:e?a(`activity:sessionWatch.working`,{name:e.name??e.id}):null},[E,a]),k=(0,W.useMemo)(()=>{if(!E)return null;let e=E.agents.find(e=>e.partialText&&(e.status===`streaming`||e.status===`running`))??E.agents.find(e=>e.partialText);return e?.partialText?{label:e.id===`leader`?a(`activity:sessionWatch.claude`):e.name||e.id,text:e.partialText}:null},[E,a]),A=(0,W.useCallback)(async()=>{try{let n=await fetch(`/api/sessions/${encodeURIComponent(e)}/events?limit=${t}`);if(!n.ok)throw Error(`HTTP ${n.status}`);let r=await n.json();T.current&&(i(r),s(null))}catch(e){T.current&&s(e instanceof Error?e.message:String(e))}},[e,t]),j=(0,W.useCallback)(async()=>{try{let t=await fetch(`/api/sessions/${encodeURIComponent(e)}/mailbox`);if(!t.ok)return;let n=await t.json();T.current&&Array.isArray(n.thread)&&b(n.thread)}catch{}},[e]);(0,W.useEffect)(()=>{T.current=!0,i(null),s(null),b([]),A(),j();let e=setInterval(()=>{document.hidden||(A(),j())},ln);return()=>{T.current=!1,clearInterval(e)}},[A,j]),(0,W.useEffect)(()=>{D&&A()},[D,A]),(0,W.useEffect)(()=>{w.current&&C.current&&(C.current.scrollTop=C.current.scrollHeight)},[r,k]);let ne=()=>{let e=C.current;e&&(w.current=e.scrollHeight-e.scrollTop-e.clientHeight<40)},M=async()=>{let t=c.trim();if(!(!t||u)){d(!0),p(null);try{let n=await fetch(`/api/sessions/${encodeURIComponent(e)}/message`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({text:t,type:m,priority:g})});if(!n.ok)throw Error(`HTTP ${n.status}`);l(``),p(te?v.t(`activity:sessionWatch.sentRunning`):v.t(`activity:sessionWatch.sentIdle`)),j()}catch(e){p(v.t(`activity:sessionWatch.sentFailed`,{error:e instanceof Error?e.message:String(e)}))}finally{d(!1)}}},N=async()=>{if(!x){S(!0),p(null);try{let t=await fetch(`/api/sessions/${encodeURIComponent(e)}/interrupt`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({reason:v.t(`activity:sessionWatch.interruptReason`)})});if(!t.ok)throw Error(`HTTP ${t.status}`);p(v.t(`activity:sessionWatch.interruptSent`)),j()}catch(e){p(v.t(`activity:sessionWatch.interruptFailed`,{error:e instanceof Error?e.message:String(e)}))}finally{S(!1)}}},re=r?.entries??[];return(0,Y.jsxs)(`div`,{className:`flex h-full min-h-0 min-w-0 flex-col`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between mb-1.5 shrink-0`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5 text-[10px] uppercase tracking-wide text-muted-foreground`,children:[(0,Y.jsx)(`span`,{className:H(`h-1.5 w-1.5 rounded-full`,te?`bg-success animate-pulse`:`bg-muted-foreground`)}),a(`activity:sessionWatch.liveStream`)]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[r&&(0,Y.jsxs)(`div`,{className:`text-[10px] text-muted-foreground`,children:[a(`activity:sessionWatch.events`,{count:r.total}),` · `,r.status]}),te&&(0,Y.jsx)(`button`,{type:`button`,onClick:()=>void N(),disabled:x,title:a(`activity:sessionWatch.interruptTitle`),className:`rounded border border-destructive/40 bg-destructive/15 px-1.5 py-0.5 text-[10px] text-destructive hover:bg-destructive/25 disabled:opacity-40 transition-colors`,children:a(x?`activity:sessionWatch.interrupting`:`activity:sessionWatch.interrupt`)})]})]}),O&&(0,Y.jsxs)(`div`,{className:`mb-1.5 shrink-0 text-[10px] text-foreground truncate`,children:[`▶ `,O]}),o&&(0,Y.jsxs)(`div`,{className:`text-[11px] text-destructive mb-1 shrink-0`,children:[`· `,o]}),(0,Y.jsxs)(`div`,{ref:C,onScroll:ne,className:`min-h-0 min-w-0 flex-1 overflow-y-auto overscroll-contain space-y-1.5 pr-1`,children:[re.length===0&&!o&&(0,Y.jsx)(`div`,{className:`text-[11px] text-muted-foreground italic`,children:a(`activity:sessionWatch.loading`)}),re.map((e,t)=>(0,Y.jsx)(sn,{entry:e,isContinuation:t>0&&re[t-1].role===e.role},`${e.ts}-${t}`)),k&&(0,Y.jsxs)(`div`,{className:`flex gap-3 animate-message`,children:[(0,Y.jsx)(`div`,{className:`flex-shrink-0 w-8 h-8 rounded-full flex items-center justify-center bg-accent text-accent-foreground ring-2 ring-offset-2 ring-offset-background ring-accent/20`,children:(0,Y.jsx)(F,{className:`h-4 w-4 animate-pulse`})}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1.5 max-w-[85%] min-w-0`,children:[(0,Y.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground px-1`,children:k.label}),(0,Y.jsx)(`div`,{className:`rounded-2xl rounded-bl-md px-4 py-3 bg-card border border-border`,children:(0,Y.jsxs)(`span`,{className:`text-sm leading-relaxed text-foreground whitespace-pre-wrap break-words`,children:[k.text,(0,Y.jsx)(`span`,{className:`animate-pulse text-primary`,children:`▋`})]})})]})]})]}),y.length>0&&(0,Y.jsxs)(`div`,{className:`mt-2 pt-2 border-t border-border shrink-0 max-h-28 overflow-y-auto space-y-1`,children:[(0,Y.jsx)(`div`,{className:`text-[9px] uppercase tracking-wide text-muted-foreground`,children:a(`activity:mailbox.messages`)}),y.slice(-6).map(e=>{let t=e.completed?a(`activity:sessionWatch.done`):e.readByLeader?a(`activity:sessionWatch.read`):a(`activity:sessionWatch.delivered`);return(0,Y.jsxs)(`div`,{className:`text-[10px] leading-snug`,children:[(0,Y.jsx)(`span`,{className:H(`font-semibold mr-1.5`,e.fromLeader?`text-accent`:`text-primary`),children:e.fromLeader?a(`activity:sessionWatch.agent`):a(`activity:sessionWatch.you`)}),(0,Y.jsx)(`span`,{className:`text-foreground whitespace-pre-wrap break-words`,children:e.body}),!e.fromLeader&&(0,Y.jsx)(`span`,{className:H(`ml-1.5 text-[9px]`,e.completed?`text-success`:e.readByLeader?`text-primary`:`text-muted-foreground`),children:t})]},e.id)})]}),(0,Y.jsxs)(`div`,{className:`mt-2 pt-2 border-t border-border shrink-0`,children:[(0,Y.jsxs)(`div`,{className:`mb-1 flex items-center gap-1.5`,children:[(0,Y.jsx)(`select`,{value:m,onChange:e=>h(e.target.value),title:a(`activity:sessionWatch.msgType.${m}Hint`),className:`rounded bg-muted border border-border px-1.5 py-0.5 text-[10px] text-foreground focus:outline-none focus:ring-1 focus:ring-ring`,children:cn.map(e=>(0,Y.jsx)(`option`,{value:e,children:a(`activity:sessionWatch.msgType.${e}Label`)},e))}),(0,Y.jsxs)(`select`,{value:g,onChange:e=>_(e.target.value),title:a(`activity:sessionWatch.priority`),className:`rounded bg-muted border border-border px-1.5 py-0.5 text-[10px] text-foreground focus:outline-none focus:ring-1 focus:ring-ring`,children:[(0,Y.jsx)(`option`,{value:`high`,children:`high`}),(0,Y.jsx)(`option`,{value:`normal`,children:`normal`}),(0,Y.jsx)(`option`,{value:`low`,children:`low`})]})]}),(0,Y.jsxs)(`div`,{className:`flex items-end gap-1.5`,children:[(0,Y.jsx)(`textarea`,{value:c,onChange:e=>l(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),M())},rows:2,placeholder:a(`activity:sessionWatch.placeholder`,{label:a(`activity:sessionWatch.msgType.${m}Label`)}),className:`flex-1 resize-none rounded-md bg-muted border border-border px-2 py-1 text-sm text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring`}),(0,Y.jsx)(`button`,{type:`button`,onClick:()=>void M(),disabled:u||!c.trim(),className:`shrink-0 rounded-md bg-primary text-primary-foreground px-2.5 py-1.5 text-xs hover:bg-primary/90 disabled:opacity-40 disabled:cursor-not-allowed transition-colors`,children:u?`…`:a(`activity:sessionWatch.send`)})]}),f&&(0,Y.jsx)(`div`,{className:`mt-1 text-[10px] text-muted-foreground`,children:f}),(0,Y.jsx)(`div`,{className:`mt-0.5 text-[9px] text-muted-foreground`,children:a(`activity:sessionWatch.sendHint`)})]})]})}var Z={primary:`hsl(var(--primary))`,info:`hsl(var(--info))`,success:`hsl(var(--success))`,warning:`hsl(var(--warning))`,destructive:`hsl(var(--destructive))`,muted:`hsl(var(--muted-foreground))`},dn=.12;function fn(e){return Math.min(100,Math.max(0,e??0))}function pn({status:e,small:t,activity:n=0}){let r=t?`w-2 h-2`:`w-3 h-3`,i=t?4+n*4:6+n*6,a={idle:`bg-muted-foreground`,active:`bg-success`,streaming:`bg-primary`,completed:`bg-primary`,error:`bg-destructive`,offline:`bg-muted-foreground/60`},o={idle:Z.muted,active:Z.success,streaming:Z.primary,completed:Z.primary,error:Z.destructive,offline:Z.muted};return(0,Y.jsx)(`span`,{className:H(`rounded-full`,r,n>0&&`animate-pulse`,a[e]),style:{boxShadow:n>0?`0 0 ${i}px ${o[e]}`:void 0}})}function Q(){let e={opacity:0,width:1,height:1,minWidth:0,border:`none`,background:`transparent`};return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(B,{type:`target`,position:T.Top,style:e,isConnectable:!1}),(0,Y.jsx)(B,{type:`source`,position:T.Bottom,style:e,isConnectable:!1})]})}function mn({data:e}){let{t}=n();return(0,Y.jsxs)(`div`,{className:`mt-2 flex items-center justify-between border-t border-border/60 pt-1.5 text-[10px] text-muted-foreground`,children:[(0,Y.jsxs)(`span`,{children:[(0,Y.jsx)(`span`,{className:`font-mono text-foreground`,children:e.agentCount??0}),` `,t(`activity:office.agentsSuffix`)]}),e.startedAt&&(0,Y.jsx)(`span`,{children:t(`activity:office.upPrefix`,{time:mt(e.startedAt,Date.now())})})]})}function hn({data:e}){let{t}=n(),r=e.status===`active`||e.status===`streaming`,i=e.status===`error`,a=e.status===`offline`,s=e.color||Z.info;return(0,Y.jsxs)(`div`,{className:H(`rounded-xl border-2 p-4 min-w-[180px] transition-all backdrop-blur-sm`,r&&`shadow-lg shadow-primary/15`,i&&`border-destructive/50 bg-destructive/10`,a&&`border-border/70 bg-muted/35 opacity-60`,!r&&!i&&!a&&`border-primary/30 bg-primary/10`),children:[(0,Y.jsx)(Q,{}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-3 mb-3`,children:[(0,Y.jsx)(`div`,{className:H(`flex items-center justify-center w-10 h-10 rounded-lg`,r?`bg-primary/15`:`bg-primary/10`),children:(0,Y.jsx)(o,{className:`h-5 w-5`,style:{color:s}})}),(0,Y.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,Y.jsx)(`div`,{className:`text-xs font-bold truncate`,style:{color:s},children:e.label}),(0,Y.jsx)(`div`,{className:`text-[10px] text-muted-foreground`,children:t(`activity:office.webuiClient`)})]}),(0,Y.jsx)(pn,{status:e.status,activity:e.vizActivity??0})]}),e.sublabel&&(0,Y.jsx)(`div`,{className:`mb-2 truncate text-[10px] text-muted-foreground`,children:e.sublabel}),(0,Y.jsx)(`div`,{className:`flex items-center gap-2 text-[10px] text-muted-foreground`,children:a?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(fe,{className:`h-3 w-3 text-muted-foreground`}),(0,Y.jsx)(`span`,{children:t(`activity:office.disconnected`)})]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(R,{className:`h-3 w-3 text-success`}),(0,Y.jsx)(`span`,{children:t(`activity:office.connected`)})]})}),r&&(0,Y.jsx)(`div`,{className:`mt-2 h-1 overflow-hidden rounded-full bg-primary/20`,children:(0,Y.jsx)(`div`,{className:`h-full animate-pulse bg-primary`,style:{width:`60%`}})}),(0,Y.jsx)(mn,{data:e})]})}function gn({data:e}){let{t}=n(),r=e.status===`active`||e.status===`streaming`,i=e.status===`error`,a=e.color||Z.success;return(0,Y.jsxs)(`div`,{className:H(`rounded-xl border-2 p-4 min-w-[180px] transition-all backdrop-blur-sm`,r&&`shadow-lg shadow-success/15`,i&&`border-destructive/50 bg-destructive/10`,!r&&!i&&`border-success/30 bg-success/10`),children:[(0,Y.jsx)(Q,{}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-3 mb-3`,children:[(0,Y.jsx)(`div`,{className:H(`flex items-center justify-center w-10 h-10 rounded-lg`,r?`bg-success/15`:`bg-success/10`),children:(0,Y.jsx)(p,{className:`h-5 w-5`,style:{color:a}})}),(0,Y.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,Y.jsx)(`div`,{className:`text-xs font-bold truncate`,style:{color:a},children:e.label}),(0,Y.jsx)(`div`,{className:`text-[10px] text-muted-foreground`,children:t(`activity:office.tuiClient`)})]}),(0,Y.jsx)(pn,{status:e.status,activity:e.vizActivity??0})]}),e.sublabel&&(0,Y.jsx)(`div`,{className:`mb-2 truncate text-[10px] text-muted-foreground`,children:e.sublabel}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-[10px] text-muted-foreground`,children:[(0,Y.jsx)(p,{className:`h-3 w-3 text-success`}),(0,Y.jsx)(`span`,{children:t(`activity:office.terminal`)})]}),(0,Y.jsx)(mn,{data:e})]})}function _n({data:e}){let{t}=n(),r=e.status===`active`||e.status===`streaming`,i=e.color||Z.warning;return(0,Y.jsxs)(`div`,{className:H(`rounded-xl border-2 p-4 min-w-[160px] transition-all backdrop-blur-sm`,r&&`shadow-lg shadow-warning/15`,!r&&`border-warning/30 bg-warning/10`),children:[(0,Y.jsx)(Q,{}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-3 mb-3`,children:[(0,Y.jsx)(`div`,{className:H(`flex items-center justify-center w-10 h-10 rounded-lg`,r?`bg-warning/15`:`bg-warning/10`),children:(0,Y.jsx)(p,{className:`h-5 w-5`,style:{color:i}})}),(0,Y.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,Y.jsx)(`div`,{className:`text-xs font-bold truncate`,style:{color:i},children:e.label}),(0,Y.jsx)(`div`,{className:`text-[10px] text-muted-foreground`,children:t(`activity:office.repl`)})]}),(0,Y.jsx)(pn,{status:e.status,activity:e.vizActivity??0})]}),e.sublabel&&(0,Y.jsx)(`div`,{className:`mb-1 truncate text-[10px] text-muted-foreground`,children:e.sublabel}),(0,Y.jsx)(mn,{data:e})]})}function vn({data:e}){let{t}=n(),i=e.status===`active`||e.status===`streaming`,a=e.color||Z.primary;return(0,Y.jsxs)(`div`,{className:`relative min-w-[200px] rounded-xl border-2 border-border/70 bg-card/90 p-4 shadow-lg backdrop-blur-sm transition-all`,children:[(0,Y.jsx)(Q,{}),(0,Y.jsx)(`div`,{className:`absolute -top-3 left-1/2 -translate-x-1/2 rounded-full bg-primary px-2 py-0.5 text-[11px] font-bold text-primary-foreground`,children:t(`activity:office.coordinator`)}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-3 mb-3 mt-2`,children:[(0,Y.jsx)(`div`,{className:H(`flex items-center justify-center w-12 h-12 rounded-xl`,i?`bg-primary/15`:`bg-primary/10`),children:(0,Y.jsx)(r,{className:`h-6 w-6`,style:{color:a}})}),(0,Y.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,Y.jsx)(`div`,{className:`text-sm font-bold truncate`,style:{color:a},children:e.label}),(0,Y.jsx)(`div`,{className:`text-[10px] text-muted-foreground`,children:e.sublabel||t(`activity:office.fleetSummary`)})]}),(0,Y.jsx)(pn,{status:e.status,activity:e.vizActivity??0})]}),(0,Y.jsxs)(`div`,{className:`grid grid-cols-2 gap-2 text-[10px] mb-2`,children:[(0,Y.jsxs)(`div`,{className:`rounded bg-muted/40 p-1.5 text-center`,children:[(0,Y.jsxs)(`div`,{className:`font-mono`,children:[(0,Y.jsx)(`span`,{className:`text-success`,children:e.agentsActive||0}),(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:` / `}),(0,Y.jsx)(`span`,{className:`text-primary`,children:e.agentsTotal||0})]}),(0,Y.jsx)(`div`,{className:`text-muted-foreground`,children:t(`activity:officeMap.agents`)})]}),(0,Y.jsxs)(`div`,{className:`rounded bg-muted/40 p-1.5 text-center`,children:[(0,Y.jsx)(`div`,{className:`font-mono text-warning`,children:(e.toolCalls||0).toLocaleString()}),(0,Y.jsx)(`div`,{className:`text-muted-foreground`,children:t(`activity:office.toolCallsLabel`)})]}),(0,Y.jsxs)(`div`,{className:`rounded bg-muted/40 p-1.5 text-center`,children:[(0,Y.jsx)(`div`,{className:`font-mono text-foreground`,children:ft(e.tokensIn)}),(0,Y.jsx)(`div`,{className:`text-muted-foreground`,children:t(`activity:office.tokensLabel`)})]}),(0,Y.jsxs)(`div`,{className:`rounded bg-muted/40 p-1.5 text-center`,children:[(0,Y.jsxs)(`div`,{className:`font-mono text-success`,children:[`$`,(e.costUsd||0).toFixed(3)]}),(0,Y.jsx)(`div`,{className:`text-muted-foreground`,children:t(`activity:office.cost`)})]})]}),i&&(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-[10px] text-primary`,children:[(0,Y.jsx)(`span`,{className:`h-2 w-2 animate-pulse rounded-full bg-primary`}),t(`activity:office.coordinatingFleet`)]})]})}function yn({data:e}){let{t}=n(),r=e.status===`active`||e.status===`streaming`,i=e.status===`error`,a=e.status===`completed`,o=e.color||Z.primary,s=fn(e.ctxPct);return(0,Y.jsxs)(`div`,{className:H(`w-[170px] min-w-0 max-w-[170px] overflow-hidden rounded-lg border p-3 transition-all backdrop-blur-sm`,r&&`border-primary/50 bg-primary/10 shadow-lg shadow-primary/10`,i&&`border-destructive/50 bg-destructive/10`,a&&`border-border/70 bg-muted/35`,!r&&!i&&!a&&`border-primary/30 bg-primary/10`),children:[(0,Y.jsx)(Q,{}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 mb-1.5`,children:[(0,Y.jsx)(F,{className:`h-4 w-4 shrink-0`,style:{color:o}}),(0,Y.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,Y.jsx)(`div`,{className:`text-[11px] font-bold truncate`,style:{color:o},children:e.label}),e.model&&(0,Y.jsx)(`div`,{className:`truncate text-[10px] text-muted-foreground`,children:ht(e.model)})]}),(0,Y.jsx)(pn,{status:e.status,small:!0,activity:e.vizActivity??0})]}),e.currentTask&&(0,Y.jsxs)(`div`,{className:`mb-1.5 flex min-w-0 items-center gap-1 overflow-hidden text-[11px] text-primary`,children:[(0,Y.jsx)(`span`,{className:H(`h-1.5 w-1.5 shrink-0 rounded-full bg-primary`,r&&`animate-pulse`)}),(0,Y.jsx)(`span`,{className:`min-w-0 truncate font-mono`,title:e.currentTask,children:gt(e.currentTask,72)})]}),(0,Y.jsxs)(`div`,{className:`grid grid-cols-2 gap-x-2 gap-y-0.5 text-[11px] mb-1.5`,children:[(0,Y.jsxs)(`div`,{className:`flex justify-between`,children:[(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:`iter`}),(0,Y.jsx)(`span`,{className:`font-mono text-foreground`,children:e.iteration||0})]}),(0,Y.jsxs)(`div`,{className:`flex justify-between`,children:[(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:`tools`}),(0,Y.jsx)(`span`,{className:`font-mono text-warning`,children:e.toolCalls||0})]}),(0,Y.jsxs)(`div`,{className:`flex justify-between`,children:[(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:`tok`}),(0,Y.jsx)(`span`,{className:`font-mono text-foreground`,children:ft((e.tokensIn||0)+(e.tokensOut||0))})]}),(0,Y.jsxs)(`div`,{className:`flex justify-between`,children:[(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:`cost`}),(0,Y.jsxs)(`span`,{className:`font-mono text-success`,children:[`$`,(e.costUsd||0).toFixed(3)]})]})]}),s>0&&(0,Y.jsxs)(`div`,{className:`mb-1`,children:[(0,Y.jsxs)(`div`,{className:`mb-0.5 flex justify-between text-[10px] text-muted-foreground`,children:[(0,Y.jsx)(`span`,{children:`ctx`}),(0,Y.jsxs)(`span`,{className:H(`font-mono`,s>=90?`text-destructive`:s>=70?`text-warning`:`text-muted-foreground`),children:[s,`%`]})]}),(0,Y.jsx)(`div`,{className:`h-1 overflow-hidden rounded-full bg-muted`,children:(0,Y.jsx)(`div`,{className:H(`h-full`,s>=90?`bg-destructive`:s>=70?`bg-warning`:`bg-primary`),style:{width:`${s}%`}})})]}),e.lastActivityAt&&(0,Y.jsxs)(`div`,{className:H(`flex items-center gap-1 text-[10px]`,r?`text-muted-foreground/70`:`text-muted-foreground`),children:[a&&(0,Y.jsx)(`span`,{className:`text-success`,children:t(`activity:office.donePrefix`)}),i&&(0,Y.jsx)(`span`,{className:`text-destructive`,children:t(`activity:office.failedPrefix`)}),(0,Y.jsx)(`span`,{children:t(`activity:office.seenPrefix`,{time:pt(e.lastActivityAt,Date.now())})})]})]})}function bn({data:e}){let{t}=n();return(0,Y.jsxs)(`div`,{className:H(`rounded-lg border border-dashed p-3 min-w-[120px] transition-all opacity-40`,`border-border/70 bg-muted/30`),children:[(0,Y.jsx)(Q,{}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 mb-2`,children:[(0,Y.jsx)(oe,{className:`h-4 w-4 text-muted-foreground`}),(0,Y.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,Y.jsx)(`div`,{className:`truncate text-[10px] text-muted-foreground`,children:e.label})}),(0,Y.jsx)(pn,{status:e.status,small:!0,activity:e.vizActivity??0})]}),(0,Y.jsx)(`div`,{className:`text-[11px] text-muted-foreground`,children:t(`activity:office.availableDesk`)})]})}function xn({data:e}){let{t}=n(),r=e.color||Z.warning,a=(e.unreadCount||0)>0;return(0,Y.jsxs)(`div`,{className:H(`rounded-xl border-2 p-4 min-w-[160px] transition-all backdrop-blur-sm`,a&&`border-warning/50 bg-warning/10 shadow-lg shadow-warning/10`,!a&&`border-warning/30 bg-warning/6`),children:[(0,Y.jsx)(Q,{}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-3 mb-3`,children:[(0,Y.jsx)(`div`,{className:H(`flex items-center justify-center w-10 h-10 rounded-lg`,a?`bg-warning/18`:`bg-warning/10`),children:(0,Y.jsx)(N,{className:`h-5 w-5`,style:{color:r}})}),(0,Y.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,Y.jsx)(`div`,{className:`text-xs font-bold`,style:{color:r},children:t(`activity:office.mailboxHub`)}),(0,Y.jsx)(`div`,{className:`text-[10px] text-muted-foreground`,children:a?t(`activity:office.unreadSuffix`,{count:e.unreadCount||0}):t(`activity:office.allClear`)})]}),a&&(0,Y.jsx)(`div`,{className:`flex h-5 w-5 items-center justify-center rounded-full bg-warning text-[10px] font-bold text-background`,children:e.unreadCount})]}),(0,Y.jsxs)(`div`,{className:`grid grid-cols-2 gap-2 text-[10px]`,children:[(0,Y.jsxs)(`div`,{className:`rounded bg-muted/40 p-1.5 text-center`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-center gap-1 text-warning`,children:[(0,Y.jsx)(P,{className:`h-3 w-3`}),(0,Y.jsx)(`span`,{children:e.messageCount||0})]}),(0,Y.jsx)(`div`,{className:`text-muted-foreground`,children:t(`activity:office.total`)})]}),(0,Y.jsxs)(`div`,{className:`rounded bg-muted/40 p-1.5 text-center`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-center gap-1 text-success`,children:[(0,Y.jsx)(i,{className:`h-3 w-3`}),(0,Y.jsx)(`span`,{children:e.unreadCount||0})]}),(0,Y.jsx)(`div`,{className:`text-muted-foreground`,children:t(`activity:office.unreadLabel`)})]})]}),e.sublabel&&(0,Y.jsxs)(`div`,{className:`mt-2 truncate border-t border-border/60 pt-1.5 text-[11px] text-muted-foreground`,children:[`✉ `,e.sublabel]})]})}var Sn={webui:hn,tui:gn,repl:_n,coordinator:vn,agent:yn,mailbox:xn,desk:bn};function Cn({broadcastOpen:e,labels:t,onArrange:n,onBroadcastToggle:r,onFeedToggle:i,showFeed:a}){return(0,Y.jsxs)(le,{position:`top-right`,className:`flex items-center gap-2`,children:[(0,Y.jsxs)(`button`,{type:`button`,onClick:n,title:t.arrangeTitle,className:`flex items-center gap-1.5 rounded-md border border-border/70 bg-card/90 px-2.5 py-1.5 text-xs text-foreground shadow-sm transition-colors hover:bg-accent`,children:[(0,Y.jsx)(ee,{className:`h-3.5 w-3.5`}),t.arrange]}),(0,Y.jsxs)(`button`,{type:`button`,onClick:i,title:t.feedTitle,className:H(`flex items-center gap-1.5 px-2.5 py-1.5 rounded-md border text-xs transition-colors`,a?`border-primary/35 bg-primary/10 text-primary`:`border-border/70 bg-card/90 text-muted-foreground hover:bg-accent hover:text-foreground`),children:[(0,Y.jsx)(he,{className:`h-3.5 w-3.5`}),t.feed]}),(0,Y.jsxs)(`button`,{type:`button`,onClick:r,title:t.broadcastTitle,className:H(`flex items-center gap-1.5 px-2.5 py-1.5 rounded-md border text-xs transition-colors`,e?`border-warning/35 bg-warning/10 text-warning`:`border-border/70 bg-card/90 text-muted-foreground hover:bg-accent hover:text-foreground`),children:[(0,Y.jsx)(P,{className:`h-3.5 w-3.5`}),t.broadcast]})]})}function wn(){return(0,Y.jsx)(k,{className:`rounded-lg border border-border/70 bg-card/90`,nodeColor:e=>{switch(e.data.kind){case`coordinator`:return Z.primary;case`webui`:return Z.info;case`tui`:return Z.success;case`repl`:case`mailbox`:return Z.warning;default:return Z.primary}},maskColor:`hsl(var(--background) / 0.72)`})}function Tn({closeTitle:e,label:t,onClose:n,sessionId:r,streamTitle:i}){return(0,Y.jsxs)(`div`,{className:`absolute inset-y-0 right-0 z-30 flex w-[min(680px,92%)] flex-col border-l border-border bg-background shadow-2xl`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border px-4 py-2.5 shrink-0 bg-card`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,Y.jsx)(F,{className:`h-4 w-4 text-primary shrink-0`}),(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`div`,{className:`truncate text-sm font-bold text-foreground`,children:t}),(0,Y.jsx)(`div`,{className:`text-[10px] uppercase tracking-wide text-muted-foreground`,children:i})]})]}),(0,Y.jsx)(`button`,{type:`button`,onClick:n,title:e,className:`text-muted-foreground hover:text-foreground text-xl leading-none shrink-0`,children:`×`})]}),(0,Y.jsx)(`div`,{className:`flex-1 min-h-0 p-4`,children:(0,Y.jsx)(un,{sessionId:r,limit:500})})]})}var En={wire:({sourceX:e,sourceY:t,targetX:n,targetY:r,sourcePosition:i,targetPosition:a,data:o,selected:s})=>{let c=o?.color||Z.primary,l=U(e=>e.animateEdges),u=o?.animated&&l?Math.max(.15,o?.intensity??.6):0,[d,f,p]=ve({sourceX:e,sourceY:t,sourcePosition:i??T.Bottom,targetX:n,targetY:r,targetPosition:a??T.Top,curvature:.28}),m=5+u*7,h=5+u*4,g=m+h,_=`${Math.max(.5,1.6-u).toFixed(2)}s`;return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`path`,{d,fill:`none`,stroke:c,strokeWidth:s?2.5:1.4,strokeOpacity:s?.9:.28,className:`react-flow__edge-path`}),u>.05&&(0,Y.jsx)(`path`,{d,fill:`none`,stroke:c,strokeWidth:2.2,strokeOpacity:.45+u*.5,strokeDasharray:`${m} ${h}`,strokeLinecap:`round`,style:{filter:`drop-shadow(0 0 ${2+u*4}px ${c})`},children:(0,Y.jsx)(`animate`,{attributeName:`stroke-dashoffset`,from:g,to:`0`,dur:_,repeatCount:`indefinite`})}),o?.label&&u>.1&&(0,Y.jsx)(L,{children:(0,Y.jsx)(`div`,{style:{position:`absolute`,transform:`translate(-50%, -50%) translate(${f}px, ${p}px)`},className:`pointer-events-none max-w-[220px] truncate whitespace-nowrap rounded-full border border-border/70 bg-card/90 px-1.5 py-0.5 text-[8px] font-medium text-foreground backdrop-blur-sm`,children:o.label})})]})}};function Dn(){let{t:e}=n(),{clientCounts:t,currentSession:i,totalAgents:a,activeAgents:s,aggregate:c}=we(l(e=>({clientCounts:e.clientCounts,currentSession:e.currentSession,totalAgents:e.totalAgents,activeAgents:e.activeAgents,aggregate:e.aggregate}))),u=t.tui+t.webui+t.repl,d=e=>e?.toLocaleString()??`0`;return(0,Y.jsxs)(`div`,{className:`absolute left-4 top-20 z-10 rounded-xl border border-border/70 bg-card/90 p-3 text-foreground shadow-xl backdrop-blur`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 mb-2`,children:[(0,Y.jsx)(h,{className:`h-3.5 w-3.5 text-success`}),(0,Y.jsx)(`span`,{className:`text-[10px] font-bold uppercase text-muted-foreground`,children:e(`activity:office.sessionStats`)})]}),(0,Y.jsxs)(`div`,{className:`space-y-1.5 text-[10px]`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Y.jsx)(V,{className:`h-3 w-3 text-muted-foreground`}),(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:e(`activity:office.clients`)})]}),(0,Y.jsxs)(`span`,{className:`font-mono text-foreground`,children:[s,` `,(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:`/`}),` `,(0,Y.jsx)(`span`,{className:`text-success`,children:u})]})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-3 pl-4 text-[9px]`,children:[t.tui>0&&(0,Y.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,Y.jsx)(p,{className:`h-2.5 w-2.5 text-success`}),(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:e(`activity:hud.tui`)}),(0,Y.jsx)(`span`,{className:`font-mono text-success`,children:t.tui})]}),t.webui>0&&(0,Y.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,Y.jsx)(o,{className:`h-2.5 w-2.5 text-primary`}),(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:e(`activity:hud.webui`)}),(0,Y.jsx)(`span`,{className:`font-mono text-primary`,children:t.webui})]}),t.repl>0&&(0,Y.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,Y.jsx)(p,{className:`h-2.5 w-2.5 text-warning`}),(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:e(`activity:hud.repl`)}),(0,Y.jsx)(`span`,{className:`font-mono text-warning`,children:t.repl})]})]}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Y.jsx)(F,{className:`h-3 w-3 text-muted-foreground`}),(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:e(`activity:officeMap.agents`)})]}),(0,Y.jsxs)(`span`,{className:`font-mono text-foreground`,children:[s,` `,(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:`/`}),` `,(0,Y.jsx)(`span`,{className:`text-primary`,children:a})]})]}),i.model&&(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Y.jsx)(r,{className:`h-3 w-3 text-muted-foreground`}),(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:e(`activity:officeMap.model`)})]}),(0,Y.jsx)(`span`,{className:`max-w-[120px] truncate font-mono text-primary`,title:i.model,children:i.model.split(`/`).pop()?.slice(0,16)})]}),i.mode&&(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Y.jsx)(_e,{className:`h-3 w-3 text-muted-foreground`}),(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:e(`activity:officeMap.mode`)})]}),(0,Y.jsx)(`span`,{className:H(`font-mono uppercase text-[9px] px-1.5 py-0.5 rounded`,i.mode===`auto`&&`bg-primary/10 text-primary`,i.mode===`suggest`&&`bg-success/10 text-success`,i.mode===`off`&&`bg-muted text-muted-foreground`,![`auto`,`suggest`,`off`].includes(i.mode||``)&&`bg-muted text-muted-foreground`),children:i.mode})]}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Y.jsx)(m,{className:`h-3 w-3 text-muted-foreground`}),(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:e(`activity:office.toolCallsLabel`)})]}),(0,Y.jsx)(`span`,{className:`font-mono text-warning`,children:d(c.toolCalls)})]}),(0,Y.jsxs)(`div`,{className:`mt-1.5 space-y-1 border-t border-border/70 pt-1.5`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Y.jsx)(`span`,{className:`text-[8px] text-muted-foreground`,children:`IN`}),(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:e(`activity:office.input`)})]}),(0,Y.jsx)(`span`,{className:`font-mono text-[9px] text-foreground`,children:d(c.tokensIn)})]}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Y.jsx)(`span`,{className:`text-[8px] text-muted-foreground`,children:e(`activity:hud.out`)}),(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:e(`activity:office.output`)})]}),(0,Y.jsx)(`span`,{className:`font-mono text-[9px] text-foreground`,children:d(c.tokensOut)})]})]}),(0,Y.jsxs)(`div`,{className:`mt-1.5 flex items-center justify-between gap-4 border-t border-border/70 pt-1.5`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Y.jsx)(O,{className:`h-3 w-3 text-muted-foreground`}),(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:e(`activity:office.cost`)})]}),(0,Y.jsx)(`span`,{className:`font-mono font-medium text-success`,children:(e=>e==null?`$0.0000`:`$${e.toFixed(4)}`)(c.costUsd)})]})]})]})}function On({events:e,now:t}){let{t:r}=n(),i=e.slice(0,14);return(0,Y.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0 z-10 pointer-events-none px-3 pb-3`,children:(0,Y.jsxs)(`div`,{className:`pointer-events-auto mx-auto max-w-3xl rounded-lg border border-border/70 bg-card/90 px-3 py-2 shadow-xl backdrop-blur`,children:[(0,Y.jsxs)(`div`,{className:`mb-1.5 flex items-center gap-1.5 text-[10px] uppercase text-primary`,children:[(0,Y.jsx)(h,{className:`h-3 w-3`}),r(`activity:office.liveActivity`)]}),i.length===0?(0,Y.jsx)(`div`,{className:`text-[11px] italic text-muted-foreground`,children:r(`activity:office.waitingActivity`)}):(0,Y.jsx)(`div`,{className:`flex flex-col gap-0.5 max-h-32 overflow-hidden`,children:i.map(e=>{let n=Math.max(0,Math.round((t-e.timestamp)/1e3));return(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-[11px] leading-tight`,children:[(0,Y.jsx)(`span`,{className:`w-1.5 h-1.5 rounded-full shrink-0`,style:{backgroundColor:Ot(e.kind)}}),(0,Y.jsx)(`span`,{className:`flex-1 truncate text-foreground`,children:e.label}),(0,Y.jsx)(`span`,{className:`shrink-0 tabular-nums text-muted-foreground`,children:n<1?r(`activity:office.now`):`${n}s`})]},e.id)})})]})})}function kn(){let{t:e}=n();return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`absolute bottom-4 left-4 z-10 rounded-lg border border-border/70 bg-card/90 p-3 text-[10px] shadow-xl backdrop-blur`,children:[(0,Y.jsx)(`div`,{className:`mb-2 font-bold text-foreground`,children:e(`activity:office.legendStatus`)}),(0,Y.jsxs)(`div`,{className:`space-y-1`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(`span`,{className:`h-2 w-2 animate-pulse rounded-full bg-success`}),(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:e(`activity:office.legendActive`)})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(`span`,{className:`h-2 w-2 rounded-full bg-muted-foreground`}),(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:e(`activity:office.legendIdle`)})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(`span`,{className:`h-2 w-2 animate-pulse rounded-full bg-destructive`}),(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:e(`activity:office.legendError`)})]})]})]}),(0,Y.jsxs)(`div`,{className:`absolute bottom-4 right-4 z-10 rounded-lg border border-border/70 bg-card/90 p-3 text-[10px] shadow-xl backdrop-blur`,children:[(0,Y.jsx)(`div`,{className:`mb-2 font-bold text-foreground`,children:e(`activity:office.legendConnections`)}),(0,Y.jsxs)(`div`,{className:`space-y-1`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(`span`,{className:`text-warning`,children:`✉`}),(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:e(`activity:office.legendMail`)})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(`span`,{className:`text-primary`,children:`→`}),(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:e(`activity:office.legendTask`)})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(`span`,{className:`text-success`,children:`●`}),(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:e(`activity:office.legendStatusConn`)})]})]})]})]})}function An({draft:e,isSending:t,result:r,onClose:i,onDraftChange:a,onSend:o}){let{t:s}=n();return(0,Y.jsxs)(`div`,{className:`absolute right-4 top-16 z-30 w-80 rounded-xl border border-warning/35 bg-card/95 p-3 shadow-2xl backdrop-blur`,children:[(0,Y.jsxs)(`div`,{className:`mb-1.5 flex items-center justify-between`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5 text-[11px] font-semibold text-warning`,children:[(0,Y.jsx)(P,{className:`h-3.5 w-3.5`}),` `,s(`activity:office.broadcastToAll`)]}),(0,Y.jsx)(`button`,{type:`button`,onClick:i,className:`text-base leading-none text-muted-foreground hover:text-foreground`,children:`×`})]}),(0,Y.jsx)(`textarea`,{value:e,onChange:e=>a(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),o())},rows:3,placeholder:s(`activity:office.broadcastPlaceholder`),className:`w-full resize-none rounded-md border border-border/70 bg-background/70 px-2 py-1 text-[11px] text-foreground placeholder:text-muted-foreground focus:border-warning/45 focus:outline-none`}),(0,Y.jsxs)(`div`,{className:`mt-1.5 flex items-center justify-between`,children:[(0,Y.jsx)(`span`,{className:`text-[9px] text-muted-foreground`,children:s(`activity:office.broadcastSendHint`)}),(0,Y.jsx)(`button`,{type:`button`,onClick:o,disabled:t||!e.trim(),className:`rounded-md border border-warning/35 bg-warning/12 px-2.5 py-1 text-[11px] text-warning transition-colors hover:bg-warning/18 disabled:cursor-not-allowed disabled:opacity-40`,children:t?`…`:s(`activity:office.broadcast`)})]}),r&&(0,Y.jsx)(`div`,{className:`mt-1 text-[10px] text-muted-foreground`,children:r})]})}function $({k:e,v:t,accent:n}){return(0,Y.jsxs)(`div`,{className:`flex justify-between gap-3`,children:[(0,Y.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:e}),(0,Y.jsx)(`span`,{className:H(`font-mono truncate text-right`,n??`text-foreground/80`),children:t})]})}function jn({selectedNode:e,selectedAgentTranscript:i,mailboxMessages:a,onClose:s,onOpenWatch:c}){let{t:l}=n(),u=e.data,d=Date.now(),f=u.kind===`agent`,m=u.kind===`webui`||u.kind===`tui`||u.kind===`repl`,h=(u.tokensIn||0)+(u.tokensOut||0),g=fn(u.ctxPct);return(0,Y.jsxs)(`div`,{className:H(`absolute top-20 right-4 bg-background border border-border rounded-lg p-4 shadow-xl z-20`,u.kind===`agent`?`w-[28rem] max-w-[calc(100%-2rem)]`:u.sessionId?`w-80`:`w-64`),children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between mb-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[u.kind===`webui`&&(0,Y.jsx)(o,{className:`h-4 w-4 text-info`}),u.kind===`tui`&&(0,Y.jsx)(p,{className:`h-4 w-4 text-success`}),u.kind===`coordinator`&&(0,Y.jsx)(r,{className:`h-4 w-4 text-primary`}),u.kind===`agent`&&(0,Y.jsx)(F,{className:`h-4 w-4 text-primary`}),u.kind===`mailbox`&&(0,Y.jsx)(N,{className:`h-4 w-4 text-warning`}),(0,Y.jsx)(`span`,{className:`text-sm font-bold text-foreground`,children:u.label})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[u.sessionId&&(0,Y.jsx)(`button`,{type:`button`,title:l(`activity:office.openFullView`),onClick:()=>c({sessionId:u.sessionId,label:u.label}),className:`text-muted-foreground hover:text-primary`,children:(0,Y.jsx)(t,{className:`h-3.5 w-3.5`})}),(0,Y.jsx)(`button`,{type:`button`,onClick:s,className:`text-muted-foreground hover:text-foreground text-lg leading-none`,children:`×`})]})]}),(0,Y.jsxs)(`div`,{className:`space-y-1.5 text-xs`,children:[(0,Y.jsx)($,{k:`Status`,v:String(u.status).toUpperCase(),accent:H(u.status===`active`&&`text-success`,u.status===`streaming`&&`text-primary`,u.status===`error`&&`text-destructive`,u.status===`idle`&&`text-muted-foreground`,u.status===`offline`&&`text-muted-foreground/70`)}),f&&(0,Y.jsxs)(Y.Fragment,{children:[u.model&&(0,Y.jsx)($,{k:`Model`,v:ht(u.model),accent:`text-primary`}),u.currentTask&&(0,Y.jsxs)(`div`,{className:`pt-1`,children:[(0,Y.jsx)(`div`,{className:`text-[10px] uppercase tracking-wider text-muted-foreground`,children:l(`activity:agentOffice.currentTask`)}),(0,Y.jsx)(`div`,{className:`mt-1 max-h-32 overflow-y-auto whitespace-pre-wrap break-words font-mono text-[10px] text-primary`,children:u.currentTask})]}),(0,Y.jsx)($,{k:`Iterations`,v:u.iteration||0,accent:`text-primary`}),(0,Y.jsx)($,{k:`Tool calls`,v:u.toolCalls||0,accent:`text-warning`}),(0,Y.jsx)($,{k:`Tokens in`,v:ft(u.tokensIn)}),(0,Y.jsx)($,{k:`Tokens out`,v:ft(u.tokensOut)}),(0,Y.jsx)($,{k:`Tokens total`,v:ft(h)}),g>0&&(0,Y.jsx)($,{k:`Context`,v:`${g}%`,accent:g>=90?`text-destructive`:g>=70?`text-warning`:`text-foreground/70`}),(0,Y.jsx)($,{k:`Cost`,v:`$${(u.costUsd||0).toFixed(4)}`,accent:`text-success`}),u.lastActivityAt&&(0,Y.jsx)($,{k:`Last seen`,v:pt(u.lastActivityAt,d),accent:`text-muted-foreground`}),(0,Y.jsx)(`div`,{className:`pt-2`,children:(0,Y.jsx)(Oe,{entries:i,agentName:u.label,compact:!0,maxHeightClassName:`max-h-64`})})]}),m&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)($,{k:`Surface`,v:bt(u.kind),accent:`text-foreground/80`}),u.branch&&(0,Y.jsx)($,{k:`Branch`,v:`⎇ ${u.branch}`,accent:`text-foreground/70`}),u.pid!=null&&(0,Y.jsx)($,{k:`PID`,v:u.pid}),u.workingDir&&(0,Y.jsx)($,{k:`Dir`,v:u.workingDir,accent:`text-muted-foreground`}),(0,Y.jsx)($,{k:`Agents`,v:u.agentCount??0,accent:`text-primary`}),u.startedAt&&(0,Y.jsx)($,{k:`Uptime`,v:mt(u.startedAt,d),accent:`text-foreground/70`})]}),u.kind===`mailbox`&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)($,{k:`Total messages`,v:u.messageCount||0,accent:`text-warning`}),(0,Y.jsx)($,{k:`Unread`,v:u.unreadCount||0,accent:`text-warning`}),a.length>0&&(0,Y.jsxs)(`div`,{className:`mt-1 space-y-1 border-t border-border pt-2`,children:[(0,Y.jsx)(`div`,{className:`text-[10px] uppercase tracking-wide text-muted-foreground`,children:l(`activity:office.recent`)}),[...a].sort((e,t)=>Date.parse(t.timestamp)-Date.parse(e.timestamp)).slice(0,6).map(e=>{let t=!e.completed&&(e.readByCount??0)===0;return(0,Y.jsxs)(`div`,{className:`flex items-start gap-1.5 text-[10px]`,children:[(0,Y.jsx)(`span`,{className:H(`mt-1 h-1.5 w-1.5 shrink-0 rounded-full`,t?`bg-warning`:e.completed?`bg-success`:`bg-muted`)}),(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(`div`,{className:`truncate text-foreground/80`,children:e.subject||l(`activity:office.noSubject`)}),(0,Y.jsxs)(`div`,{className:`truncate font-mono text-[9px] text-muted-foreground`,children:[e.from,` → `,e.to,` · `,pt(e.timestamp,d),e.audience===`leaders`?` · ${l(`activity:mailbox.audienceLeaders`)}`:``]})]})]},e.id)})]})]}),u.kind===`coordinator`&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)($,{k:`Connections`,v:u.connections||0,accent:`text-primary`}),(0,Y.jsx)($,{k:`Iterations`,v:u.iteration||0,accent:`text-primary`})]}),(f||m)&&u.sessionId&&(0,Y.jsx)(`div`,{className:`mt-2 border-t border-border pt-2 h-72`,children:(0,Y.jsx)(un,{sessionId:u.sessionId})})]})]})}function Mn(){let{t:e}=n(),{fitView:t}=ie(),r=(0,W.useRef)(null),[i,a]=(0,W.useState)({width:1280,height:720});(0,W.useEffect)(()=>{let e=r.current;if(!e)return;let t=()=>{let{width:t,height:n}=e.getBoundingClientRect();t<1||n<1||a(e=>Math.abs(e.width-t)<2&&Math.abs(e.height-n)<2?e:{width:t,height:n})};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[]);let o=xe(e=>e.events),s=Ce(e=>e.agents),c=Ce(e=>e.agentTranscripts),l=Ce(e=>e.leaderId),u=we(e=>e.liveSessions),d=Ee(e=>e.messages),f=Ee(e=>e.agents),p=Se(e=>e.session),m=At(s),h=(0,W.useMemo)(()=>Dt(u,s,f,m.map,m.now),[u,s,f,m]),g=U(e=>e.showHud),_=U(e=>e.showLegend),v=U(e=>e.showMinimap),y=U(e=>e.showControls),b=U(e=>e.showFeed),x=U(e=>e.setShowFeed),S=U(e=>e.background),[C,w,T]=de([]),[ee,D,te]=pe([]),[O,k]=(0,W.useState)(null),[j,M]=(0,W.useState)(null),[N,P]=(0,W.useState)(!1),[oe,se]=(0,W.useState)(``),[ce,le]=(0,W.useState)(!1),[ue,F]=(0,W.useState)(null),fe=(0,W.useMemo)(()=>{if(O?.data.kind!==`agent`)return Te;let e=O.data.serverId??(O.id.includes(`__agent-`)?O.id.split(`__agent-`).pop():O.id.replace(/^agent-/,``));return e?c.get(e)??Te:Te},[c,O]),I=(0,W.useCallback)(async()=>{let e=oe.trim();if(!(!e||ce)){le(!0),F(null);try{let t=await fetch(`/api/fleet/broadcast`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({text:e})});if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();se(``),F(`Delivered to ${n.delivered??0}/${n.targets??0} session(s)`)}catch(e){F(`Failed: ${e instanceof Error?e.message:String(e)}`)}finally{le(!1)}}},[oe,ce]),L=(0,W.useRef)(new Map),R=4e3,z=(0,W.useRef)(new Map),B=(0,W.useRef)(new Map),he=(0,W.useRef)(new Map),ge=(0,W.useRef)(new Map),_e=(0,W.useRef)(``);(0,W.useEffect)(()=>{let n=[],r=[],a=Date.now(),o=_t(h.map(e=>({id:e.id,agentCount:e.agents.length})),i),c=d.filter(e=>!e.completed&&(e.readByCount??0)===0).length,u=d.length?[...d].sort((e,t)=>Date.parse(t.timestamp)-Date.parse(e.timestamp))[0]:void 0;n.push({id:`mailbox`,type:`mailbox`,position:{x:830,y:50},data:{label:e(`activity:office.mailboxHub`),kind:`mailbox`,status:c>0?`active`:`idle`,unreadCount:c,messageCount:d.length,sublabel:u?`${u.from} → ${u.to}: ${u.subject}`:void 0,color:Z.warning}});let f=0,p=0,m=0,g=0,_=0;for(let e of h)for(let t of e.agents)p+=1,(t.status===`active`||t.status===`streaming`)&&(f+=1),m+=t.toolCalls,g+=t.costUsd,_+=t.tokensIn+t.tokensOut;let v=l?s.get(l):null,y=f>0;n.push({id:`coordinator`,type:`coordinator`,position:{x:370,y:50},data:{label:e(`activity:office.fleetHqLabel`),sublabel:e(`activity:office.clientsSuffix`,{count:h.length}),kind:`coordinator`,status:v?.status===`failed`?`error`:y?`active`:`idle`,connections:h.length,agentsActive:f,agentsTotal:p,toolCalls:m,costUsd:g,tokensIn:_,color:Z.primary}});let b={tui:Z.success,webui:Z.info,repl:Z.warning};for(let t of h){let i=o.positions.get(t.id)??{x:600,y:370},s=i.x,l=i.y,u=b[t.type],d=t.status===`active`;if(n.push({id:t.id,type:t.type,position:{x:s,y:l},data:{label:t.label,sublabel:t.sublabel,kind:t.type,status:t.status,sessionId:t.sessionId,pid:t.pid,branch:t.branch,workingDir:t.workingDir,startedAt:t.startedAt,agentCount:t.agents.length,color:u}}),r.push({id:`${t.id}->coordinator`,source:t.id,target:`coordinator`,type:`wire`,animated:d,data:{color:u,animated:d,label:e(`activity:office.controlLabel`),flowType:`task`}}),r.push({id:`mailbox->${t.id}`,source:`mailbox`,target:t.id,type:`wire`,animated:c>0,data:{color:Z.warning,animated:c>0,label:c>0?`${c}`:void 0,flowType:`mail`}}),t.agents.length===0){n.push({id:`desk-${t.id}`,type:`desk`,position:{x:s,y:l+270},data:{label:e(`activity:office.idleDesk`),kind:`agent`,status:`idle`,color:Z.muted}});continue}t.agents.forEach((i,o)=>{let c=i.status===`active`||i.status===`streaming`,u=ge.current.get(i.serverId);if(u&&(i.toolCalls>u.toolCalls||i.iteration>u.iteration)||c){L.current.set(i.officeId,a+R);let e=B.current.get(i.officeId)??0;B.current.set(i.officeId,Math.min(1,e+(1-e)*.5));for(let e of[`${t.id}->${i.officeId}`,`${t.id}->coordinator`]){let t=z.current.get(e)??0;z.current.set(e,Math.min(1,t+.5))}}ge.current.set(i.serverId,{toolCalls:i.toolCalls,iteration:i.iteration}),n.push({id:i.officeId,type:`agent`,position:vt(s,o,t.agents.length,l+270),data:{label:i.name,kind:`agent`,status:i.status,serverId:i.serverId,sessionId:t.sessionId,currentTask:i.currentTask,iteration:i.iteration,toolCalls:i.toolCalls,costUsd:i.costUsd,tokensIn:i.tokensIn,tokensOut:i.tokensOut,ctxPct:i.ctxPct,model:i.model,lastActivityAt:i.lastActivityAt,color:Z.primary}}),r.push({id:`${t.id}->${i.officeId}`,source:t.id,target:i.officeId,type:`wire`,animated:c,data:{color:Z.primary,animated:c,label:c?gt(i.currentTask,48)??e(`activity:office.taskFallback`):void 0,flowType:`task`}})})}let x=new Set(h.flatMap(e=>e.agents.map(e=>e.serverId)));for(let e of[...ge.current.keys()])x.has(e)||ge.current.delete(e);for(let[e,t]of[...L.current])t<=a&&L.current.delete(e);let S=n.map(e=>{let t=L.current.get(e.id),n=B.current.get(e.id)??0;return t&&t>a&&e.data.status!==`error`&&e.data.status!==`offline`?{...e,data:{...e.data,status:`active`,vizActivity:n}}:{...e,data:{...e.data,vizActivity:n}}}),C=r.map(e=>{let t=z.current.get(e.id)??0;return t>.05?{...e,animated:!0,data:{...e.data,animated:!0,intensity:t}}:e}),T=new Map;for(let e of S)T.set(e.id,{...e.position});he.current=T,w(S),D(C);let ee=[`${Math.round(i.width)}x${Math.round(i.height)}`,`${o.columns}x${o.rows}`,h.map(e=>`${e.id}:${e.agents.length}`).join(`|`),S.map(e=>e.id).sort().join(`|`)].join(`:`);if(ee!==_e.current){_e.current=ee;let e=setTimeout(()=>t({padding:dn,duration:300}),50);return()=>clearTimeout(e)}},[h,l,s,d,p,i,R,w,D,t]);let ve=h.flatMap(e=>e.agents.map(t=>({clientId:e.id,clientType:e.type,officeId:t.officeId,serverId:t.serverId}))),ye=h.map(e=>e.id),be=new Map;for(let e of ve)(!be.has(e.serverId)||e.clientType===`webui`)&&be.set(e.serverId,e.officeId);function V(e){return be.get(e)??`agent-${e}`}function H(e){let t=e.split(`__agent-`)[0];return t&&t!==e?`${t}->${e}`:`coordinator->${e}`}function De(e){switch(e.kind){case`mailbox:send`:case`mailbox:deliver`:return{nodes:[`mailbox`],edges:e.kind===`mailbox:send`?ye.map(e=>`mailbox->${e}`):[],status:`active`};case`agent:spawned`:{let t=V(e.source);return{nodes:[`coordinator`,t],edges:[H(t)],status:`active`}}case`agent:tool`:case`tool:started`:case`tool:progress`:{let t=V(e.source);return{nodes:[`coordinator`,t],edges:[H(t)],status:e.kind===`tool:progress`||e.kind===`tool:started`?`streaming`:`active`}}case`tool:executed`:{let t=V(e.target??e.source);return{nodes:[t],edges:[H(t)],status:`active`}}case`provider:call`:case`provider:delta`:case`provider:response`:return{nodes:[`coordinator`],edges:[],status:e.kind===`provider:delta`?`streaming`:`active`};case`iteration:start`:case`iteration:end`:return{nodes:[`coordinator`],edges:ve.map(e=>H(e.officeId)),status:e.kind===`iteration:start`?`streaming`:`active`};case`agent:text`:{let t=V(e.source);return{nodes:[t],edges:[H(t)],status:`streaming`}}case`agent:status`:{let t=V(e.source);return{nodes:[`coordinator`,t],edges:[H(t)],status:e.data&&typeof e.data==`object`&&`status`in e.data&&String(e.data.status)===`failed`?`error`:`completed`}}case`agent:ctx`:return{nodes:[V(e.source)],edges:[],status:`active`};case`budget:extended`:return{nodes:[`coordinator`,V(e.source)],edges:[],status:`active`};case`context:compacted`:case`context:repaired`:return{nodes:[`coordinator`],edges:[],status:`active`};case`error`:return{nodes:e.source?[V(e.source)]:[],edges:[],status:`error`};case`cost:update`:return{nodes:[`coordinator`],edges:[],status:`active`};case`fleet:snapshot`:{let t=e.data?.sessions??[],n=[`coordinator`];for(let e of t)if(e.agents)for(let t of e.agents){let e=V(t.id);n.includes(e)||n.push(e)}return{nodes:n,edges:[],status:`active`}}default:return{nodes:[],edges:[],status:`idle`}}}(0,W.useEffect)(()=>{if(o.length===0)return;let e=o[0];if(!e)return;let{nodes:t,edges:n,status:r}=De(e),i=Date.now();t.length>0&&(t.forEach(e=>{L.current.set(e,i+R);let t=B.current.get(e)??0;B.current.set(e,Math.min(1,t+(1-t)*.5))}),w(e=>e.map(e=>t.includes(e.id)?{...e,data:{...e.data,status:r,vizActivity:B.current.get(e.id)??0}}:e))),n.length>0&&(n.forEach(e=>{let t=z.current.get(e)??0;z.current.set(e,Math.min(1,t+.5))}),D(e=>e.map(e=>n.includes(e.id)?{...e,animated:!0,data:{...e.data,animated:!0,intensity:z.current.get(e.id)??1}}:e)))},[o,w,D,R,s]),(0,W.useEffect)(()=>{let e=setInterval(()=>{let e=new Map,t=!1;for(let[n,r]of z.current){let i=r*.85;i<.05?(z.current.delete(n),e.set(n,{intensity:0,animated:!1}),t=!0):(z.current.set(n,i),e.set(n,{intensity:i,animated:!0}),t=!0)}t&&D(t=>t.map(t=>{let n=e.get(t.id);return n?{...t,animated:n.animated,data:{...t.data,animated:n.animated,intensity:n.intensity}}:t}));let n=new Map,r=!1;for(let[e,t]of B.current){let i=t*.9;i<.03?(B.current.delete(e),n.set(e,0),r=!0):(B.current.set(e,i),n.set(e,i),r=!0)}r&&w(e=>e.map(e=>{let t=n.get(e.id);return t===void 0?e:{...e,data:{...e.data,vizActivity:t}}}))},1e3);return()=>clearInterval(e)},[D,w]);let Oe=(0,W.useCallback)(e=>D(t=>ne({...e,type:`wire`},t)),[D]),ke=(0,W.useCallback)((e,t)=>{k(t)},[]),Ae=(0,W.useCallback)(()=>{k(null)},[]);(0,W.useEffect)(()=>{if(!j)return;let e=e=>{e.key===`Escape`&&M(null)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[j]);let je=(0,W.useCallback)(()=>{w(e=>e.map(e=>{let t=he.current.get(e.id);return t?{...e,position:{...t}}:e})),setTimeout(()=>t({padding:dn,duration:300}),50)},[w,t]),[,Me]=(0,W.useState)(0);return(0,W.useEffect)(()=>{let e=setInterval(()=>{document.hidden||Me(e=>e+1)},2e3);return()=>clearInterval(e)},[]),(0,Y.jsxs)(`div`,{ref:r,className:`relative h-full w-full overflow-hidden bg-[hsl(var(--surface-2)/0.55)]`,children:[(0,Y.jsx)(`div`,{className:`absolute inset-0 opacity-[0.03]`,style:{backgroundImage:`
2
+ linear-gradient(hsl(var(--foreground) / 0.1) 1px, transparent 1px),
3
+ linear-gradient(90deg, hsl(var(--foreground) / 0.1) 1px, transparent 1px)
4
+ `,backgroundSize:`40px 40px`}}),g&&(0,Y.jsx)(Dn,{}),(0,Y.jsx)(`div`,{className:`absolute top-3 left-1/2 -translate-x-1/2 z-10`,children:(0,Y.jsx)(`div`,{className:`rounded-lg border border-border/70 bg-card/90 px-4 py-2 shadow-xl backdrop-blur`,children:(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-xs font-bold text-foreground`,children:[(0,Y.jsx)(A,{className:`h-4 w-4 text-primary`}),e(`activity:office.fleetHq`),(0,Y.jsx)(`span`,{className:`ml-2 h-2 w-2 animate-pulse rounded-full bg-success`}),(0,Y.jsx)(`span`,{className:`text-[10px] font-normal text-muted-foreground`,children:e(`activity:office.live`)})]})})}),_&&(0,Y.jsx)(kn,{}),(0,Y.jsxs)(re,{nodes:C,edges:ee,onNodesChange:T,onEdgesChange:te,onConnect:Oe,onNodeClick:ke,onPaneClick:Ae,nodeTypes:Sn,edgeTypes:En,fitView:!0,fitViewOptions:{padding:dn},minZoom:.15,maxZoom:1.5,defaultEdgeOptions:{type:`wire`},proOptions:{hideAttribution:!0},children:[(0,Y.jsx)(Cn,{broadcastOpen:N,labels:{arrange:e(`activity:office.arrange`),arrangeTitle:e(`activity:office.arrangeTitle`),broadcast:e(`activity:office.broadcast`),broadcastTitle:e(`activity:office.broadcastTitle`),feed:e(`activity:office.feed`),feedTitle:e(`activity:office.feedTitle`)},onArrange:je,onBroadcastToggle:()=>P(e=>!e),onFeedToggle:()=>x(!b),showFeed:b}),S!==`none`&&(0,Y.jsx)(me,{variant:S===`lines`?ae.Lines:S===`cross`?ae.Cross:ae.Dots,gap:20,size:1,color:`hsl(var(--border) / 0.35)`}),y&&(0,Y.jsx)(E,{className:`rounded-lg border border-border/70 bg-card/90 [&>button]:bg-card [&>button]:text-foreground`}),v&&(0,Y.jsx)(wn,{})]}),b&&(0,Y.jsx)(On,{events:o,now:Date.now()}),N&&(0,Y.jsx)(An,{draft:oe,isSending:ce,result:ue,onClose:()=>P(!1),onDraftChange:se,onSend:()=>void I()}),O&&(0,Y.jsx)(jn,{selectedNode:O,selectedAgentTranscript:fe,mailboxMessages:d,onClose:Ae,onOpenWatch:M}),j&&(0,Y.jsx)(Tn,{closeTitle:e(`activity:office.closeEsc`),label:j.label,onClose:()=>M(null),sessionId:j.sessionId,streamTitle:e(`activity:office.fullOperationStream`)})]})}function Nn(){let{t:e}=n(),t=U(e=>e.viewMode),r=U(e=>e.setViewMode),i=[{id:`office`,label:e(`activity:agentOffice.office`),description:e(`activity:agentOffice.officeDescription`),icon:d},{id:`topology`,label:e(`activity:agentOffice.topology`),description:e(`activity:agentOffice.topologyDescription`),icon:y}],a=(e,t)=>{let n;if(e.key===`ArrowLeft`&&(n=(t-1+i.length)%i.length),e.key===`ArrowRight`&&(n=(t+1)%i.length),e.key===`Home`&&(n=0),e.key===`End`&&(n=i.length-1),n===void 0)return;e.preventDefault();let a=i[n];a&&(r(a.id),e.currentTarget.parentElement?.querySelectorAll(`[role="tab"]`)[n]?.focus())};return(0,Y.jsxs)(`div`,{className:`flex h-full min-h-0 w-full flex-col bg-background`,children:[(0,Y.jsx)(`nav`,{"aria-label":`${e(`activity:agentOffice.office`)} / ${e(`activity:agentOffice.topology`)}`,className:`relative z-[60] shrink-0 border-b border-border bg-card/95 px-3 pt-2 shadow-[0_8px_28px_hsl(var(--shadow-color)/0.1)] backdrop-blur-xl sm:px-5`,children:(0,Y.jsx)(`div`,{role:`tablist`,"aria-orientation":`horizontal`,className:`mx-auto grid w-full max-w-3xl grid-cols-2 gap-1`,children:i.map((e,n)=>{let i=e.icon,o=t===e.id;return(0,Y.jsxs)(`button`,{id:`office-map-tab-${e.id}`,type:`button`,role:`tab`,"aria-selected":o,"aria-controls":`office-map-view-panel`,tabIndex:o?0:-1,onClick:()=>r(e.id),onKeyDown:e=>a(e,n),className:H(`group relative flex min-w-0 items-center gap-2.5 border-b-2 px-3 py-2.5 text-left transition-all duration-200 sm:gap-3 sm:px-5`,o?`border-primary bg-primary/[0.07] text-foreground`:`border-transparent text-muted-foreground hover:border-border hover:bg-accent/60 hover:text-foreground`),children:[(0,Y.jsx)(`span`,{className:H(`grid h-8 w-8 shrink-0 place-items-center rounded-lg border transition-colors`,o?`border-primary/35 bg-primary/15 text-primary`:`border-border bg-background/70 text-muted-foreground group-hover:text-foreground`),children:(0,Y.jsx)(i,{className:`h-4 w-4`,"aria-hidden":`true`})}),(0,Y.jsxs)(`span`,{className:`min-w-0`,children:[(0,Y.jsx)(`strong`,{className:`block truncate font-display text-xs font-semibold sm:text-sm`,children:e.label}),(0,Y.jsx)(`small`,{className:`hidden truncate font-mono text-[9px] font-normal text-muted-foreground sm:block`,children:e.description})]}),(0,Y.jsx)(`span`,{"aria-hidden":`true`,className:H(`ml-auto h-1.5 w-1.5 shrink-0 rounded-full transition-all`,o?`bg-primary shadow-[0_0_0_4px_hsl(var(--primary)/0.12)]`:`bg-border`)})]},e.id)})})}),(0,Y.jsx)(`div`,{id:`office-map-view-panel`,role:`tabpanel`,"aria-labelledby":`office-map-tab-${t}`,className:`relative min-h-0 flex-1`,children:t===`office`?(0,Y.jsx)(nn,{}):(0,Y.jsx)(ge,{children:(0,Y.jsx)(Mn,{})})})]})}export{Nn as OfficeMapPanel};
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{Bt as t,Ia as n,Jt as r,Nt as i,Va as a,lt as o}from"./vendor-AeHpGMaG.js";import"./i18n-nlW2iAya.js";import{t as s}from"./useWebSocket-Dh-clEvj.js";import{t as c}from"./utils-D1fGupR8.js";import{I as l}from"./stores-BpVw7ENx.js";import{n as u,o as d,r as f,t as p}from"./dialog-jbs7gu-q.js";var m=e(a(),1),h=o();function g({open:e,onClose:a,className:o}){let{t:g}=n(),[_,v]=(0,m.useState)([]),y=s(),b=l(e=>e.wsConnected),x=(0,m.useRef)(null),S=(0,m.useRef)(null);(0,m.useEffect)(()=>{if(!(!e||!b||!y.client?.isConnected))return y.client.send?.({type:`process.list`}),x.current=y.client.on?.(`process.list`,e=>{let t=e?.payload;t?.processes&&v(t.processes)})??null,S.current=setInterval(()=>{y.client.send?.({type:`process.list`})},3e3),()=>{x.current?.(),S.current&&clearInterval(S.current)}},[e,b,y.client]);let C=_.filter(e=>e.status===`running`),w=(0,m.useCallback)(e=>{e.background&&!window.confirm(g(`activity:process.confirmKillBackground`,{pid:e.pid,defaultValue:`Terminate detached background process ${e.pid}?`}))||y.client.send?.({type:`process.kill`,payload:{pid:e.pid}})},[g,y.client]),T=(0,m.useCallback)(()=>{window.confirm(g(`activity:process.confirmKillAll`,{count:C.length,defaultValue:`Terminate all ${C.length} running processes?`}))&&y.client.send?.({type:`process.killAll`})},[C.length,g,y.client]);return(0,h.jsx)(p,{open:e,onOpenChange:e=>{e||a()},children:(0,h.jsxs)(u,{className:c(`max-w-lg gap-0 p-0 overflow-hidden flex flex-col max-h-[75dvh] pt-[10dvh]`,o),showCloseButton:!1,children:[(0,h.jsx)(d,{className:`sr-only`,children:g(`activity:process.heading`)}),(0,h.jsx)(f,{className:`sr-only`,children:g(`activity:process.subtitle`,{active:C.length,total:_.length})}),(0,h.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3 border-b shrink-0`,children:[(0,h.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,h.jsx)(`span`,{className:`flex items-center justify-center w-8 h-8 rounded-lg bg-warning/10 text-warning`,children:(0,h.jsx)(i,{className:`h-4 w-4`})}),(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`h2`,{className:`text-sm font-semibold`,children:g(`activity:process.heading`)}),(0,h.jsx)(`span`,{className:`text-[10px] text-muted-foreground tabular-nums`,children:g(`activity:process.subtitle`,{active:C.length,total:_.length})})]})]}),(0,h.jsx)(`div`,{className:`flex items-center gap-1`,children:C.length>0&&(0,h.jsxs)(`button`,{type:`button`,onClick:T,className:`flex items-center gap-1.5 px-2.5 py-1.5 rounded-md text-xs text-destructive hover:bg-destructive/10 transition-colors font-medium`,children:[(0,h.jsx)(t,{className:`h-3 w-3 fill-current`}),g(`activity:process.killAll`)]})})]}),(0,h.jsx)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto overscroll-contain`,children:_.length===0?(0,h.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16 gap-3 text-muted-foreground`,children:[(0,h.jsx)(i,{className:`h-10 w-10 opacity-15`}),(0,h.jsx)(`p`,{className:`text-sm font-medium`,children:g(`activity:process.emptyTitle`)}),(0,h.jsx)(`p`,{className:`text-xs text-center max-w-xs`,children:g(`activity:process.emptyBody`)})]}):(0,h.jsx)(`div`,{className:`divide-y`,children:_.map(e=>{let n=e.status===`running`?Math.floor((Date.now()-e.startedAt)/1e3):null,i=n?n<60?`${n}s`:`${Math.floor(n/60)}m ${n%60}s`:null,a=e.protected===!0,o=e.background===!0;return(0,h.jsxs)(`div`,{className:c(`flex items-center justify-between px-4 py-3 text-xs transition-colors`,e.status===`running`?`bg-background hover:bg-muted/30`:`bg-muted/20 text-muted-foreground`),children:[(0,h.jsxs)(`div`,{className:`flex items-center gap-3 min-w-0 flex-1`,children:[(0,h.jsx)(`span`,{className:c(`led shrink-0`,e.status===`running`?a?`text-info`:`text-success led-pulse`:`text-muted-foreground`)}),(0,h.jsxs)(`div`,{className:`min-w-0`,children:[(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,h.jsx)(`span`,{className:`font-mono text-[10px] text-muted-foreground shrink-0`,children:g(`activity:process.pidLabel`,{pid:e.pid})}),(0,h.jsx)(`span`,{className:`font-medium truncate`,children:e.tool}),a&&(0,h.jsxs)(`span`,{className:`inline-flex items-center gap-0.5 px-1 py-0.5 rounded text-[9px] bg-info/10 text-info font-medium shrink-0`,title:g(`activity:process.protectedTitle`),children:[(0,h.jsx)(r,{className:`h-2.5 w-2.5`}),g(`activity:process.protected`)]}),o&&(0,h.jsx)(`span`,{className:`inline-flex items-center px-1 py-0.5 rounded text-[9px] bg-success/10 text-success font-medium shrink-0`,title:g(`activity:process.backgroundTitle`),children:g(`activity:process.background`)})]}),(0,h.jsx)(`code`,{className:`text-[10px] text-muted-foreground/70 truncate block mt-0.5 font-mono`,children:e.command})]})]}),(0,h.jsxs)(`div`,{className:`flex items-center gap-3 shrink-0 ml-3`,children:[i&&(0,h.jsx)(`span`,{className:`text-[10px] text-muted-foreground tabular-nums`,children:i}),e.status===`running`&&!a&&(0,h.jsx)(`button`,{type:`button`,onClick:()=>w(e),className:`p-1.5 rounded-md hover:bg-destructive/10 hover:text-destructive transition-colors`,title:g(`activity:process.killTitle`,{pid:e.pid}),children:(0,h.jsx)(t,{className:`h-3.5 w-3.5 fill-current`})})]})]},e.pid)})})})]})})}export{g as ProcessMonitor};
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{Ba as t,Bt as n,Ga as r,Nt as i,lt as a,qt as o}from"./vendor-C_zEzV4N.js";import"./i18n-CDoHRskt.js";import{t as s}from"./useWebSocket-BFFntyS4.js";import{t as c}from"./utils-tsZEnrBH.js";import{I as l}from"./stores-DSGsI875.js";import{n as u,o as d,r as f,t as p}from"./dialog-BJjDUqb3.js";var m=e(r(),1),h=a();function g({open:e,onClose:r,className:a}){let{t:g}=t(),[_,v]=(0,m.useState)([]),y=s(),b=l(e=>e.wsConnected),x=(0,m.useRef)(null),S=(0,m.useRef)(null);(0,m.useEffect)(()=>{if(!(!e||!b||!y.client?.isConnected))return y.client.send?.({type:`process.list`}),x.current=y.client.on?.(`process.list`,e=>{let t=e?.payload;t?.processes&&v(t.processes)})??null,S.current=setInterval(()=>{y.client.send?.({type:`process.list`})},3e3),()=>{x.current?.(),S.current&&clearInterval(S.current)}},[e,b,y.client]);let C=_.filter(e=>e.status===`running`),w=(0,m.useCallback)(e=>{e.background&&!window.confirm(g(`activity:process.confirmKillBackground`,{pid:e.pid,defaultValue:`Terminate detached background process ${e.pid}?`}))||y.client.send?.({type:`process.kill`,payload:{pid:e.pid}})},[g,y.client]),T=(0,m.useCallback)(()=>{window.confirm(g(`activity:process.confirmKillAll`,{count:C.length,defaultValue:`Terminate all ${C.length} running processes?`}))&&y.client.send?.({type:`process.killAll`})},[C.length,g,y.client]);return(0,h.jsx)(p,{open:e,onOpenChange:e=>{e||r()},children:(0,h.jsxs)(u,{className:c(`max-w-lg gap-0 p-0 overflow-hidden flex flex-col max-h-[75dvh] pt-[10dvh]`,a),showCloseButton:!1,children:[(0,h.jsx)(d,{className:`sr-only`,children:g(`activity:process.heading`)}),(0,h.jsx)(f,{className:`sr-only`,children:g(`activity:process.subtitle`,{active:C.length,total:_.length})}),(0,h.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3 border-b shrink-0`,children:[(0,h.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,h.jsx)(`span`,{className:`flex items-center justify-center w-8 h-8 rounded-lg bg-warning/10 text-warning`,children:(0,h.jsx)(i,{className:`h-4 w-4`})}),(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`h2`,{className:`text-sm font-semibold`,children:g(`activity:process.heading`)}),(0,h.jsx)(`span`,{className:`text-[10px] text-muted-foreground tabular-nums`,children:g(`activity:process.subtitle`,{active:C.length,total:_.length})})]})]}),(0,h.jsx)(`div`,{className:`flex items-center gap-1`,children:C.length>0&&(0,h.jsxs)(`button`,{type:`button`,onClick:T,className:`flex items-center gap-1.5 px-2.5 py-1.5 rounded-md text-xs text-destructive hover:bg-destructive/10 transition-colors font-medium`,children:[(0,h.jsx)(n,{className:`h-3 w-3 fill-current`}),g(`activity:process.killAll`)]})})]}),(0,h.jsx)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto overscroll-contain`,children:_.length===0?(0,h.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16 gap-3 text-muted-foreground`,children:[(0,h.jsx)(i,{className:`h-10 w-10 opacity-15`}),(0,h.jsx)(`p`,{className:`text-sm font-medium`,children:g(`activity:process.emptyTitle`)}),(0,h.jsx)(`p`,{className:`text-xs text-center max-w-xs`,children:g(`activity:process.emptyBody`)})]}):(0,h.jsx)(`div`,{className:`divide-y`,children:_.map(e=>{let t=e.status===`running`?Math.floor((Date.now()-e.startedAt)/1e3):null,r=t?t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`:null,i=e.protected===!0,a=e.background===!0;return(0,h.jsxs)(`div`,{className:c(`flex items-center justify-between px-4 py-3 text-xs transition-colors`,e.status===`running`?`bg-background hover:bg-muted/30`:`bg-muted/20 text-muted-foreground`),children:[(0,h.jsxs)(`div`,{className:`flex items-center gap-3 min-w-0 flex-1`,children:[(0,h.jsx)(`span`,{className:c(`led shrink-0`,e.status===`running`?i?`text-info`:`text-success led-pulse`:`text-muted-foreground`)}),(0,h.jsxs)(`div`,{className:`min-w-0`,children:[(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,h.jsx)(`span`,{className:`font-mono text-[10px] text-muted-foreground shrink-0`,children:g(`activity:process.pidLabel`,{pid:e.pid})}),(0,h.jsx)(`span`,{className:`font-medium truncate`,children:e.tool}),i&&(0,h.jsxs)(`span`,{className:`inline-flex items-center gap-0.5 px-1 py-0.5 rounded text-[9px] bg-info/10 text-info font-medium shrink-0`,title:g(`activity:process.protectedTitle`),children:[(0,h.jsx)(o,{className:`h-2.5 w-2.5`}),g(`activity:process.protected`)]}),a&&(0,h.jsx)(`span`,{className:`inline-flex items-center px-1 py-0.5 rounded text-[9px] bg-success/10 text-success font-medium shrink-0`,title:g(`activity:process.backgroundTitle`),children:g(`activity:process.background`)})]}),(0,h.jsx)(`code`,{className:`text-[10px] text-muted-foreground/70 truncate block mt-0.5 font-mono`,children:e.command})]})]}),(0,h.jsxs)(`div`,{className:`flex items-center gap-3 shrink-0 ml-3`,children:[r&&(0,h.jsx)(`span`,{className:`text-[10px] text-muted-foreground tabular-nums`,children:r}),e.status===`running`&&!i&&(0,h.jsx)(`button`,{type:`button`,onClick:()=>w(e),className:`p-1.5 rounded-md hover:bg-destructive/10 hover:text-destructive transition-colors`,title:g(`activity:process.killTitle`,{pid:e.pid}),children:(0,h.jsx)(n,{className:`h-3.5 w-3.5 fill-current`})})]})]},e.pid)})})})]})})}export{g as ProcessMonitor};
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{Ba as t,Ga as n,Ot as r,Qr as i,ea as a,lt as o,na as s,sn as c,yn as l}from"./vendor-C_zEzV4N.js";import"./i18n-CDoHRskt.js";import{t as u}from"./ws-client-B3MVz75-.js";import{t as d}from"./utils-tsZEnrBH.js";var f=e(n(),1),p=o(),m=200,h=[`raw_user`,`refined_user`,`system_prompt`,`autonomous_next_step`,`self_healing_retry`,`clarify_interaction`,`subagent_delegation`];function g(e,t){return e(`activity:promptJournal.cat.${t}`,t)}function _(){let{t:e}=t(),n=u(),[a,o]=(0,f.useState)([]),[s,_]=(0,f.useState)(!0),[y,b]=(0,f.useState)(null),[x,S]=(0,f.useState)(!0),[C,w]=(0,f.useState)({category:``,session:``,limit:m}),[T,E]=(0,f.useState)(new Set),D=(0,f.useCallback)(()=>{if(!n.isConnected){S(!1);return}S(!0),b(null),n.send({type:`prompts.journal`,payload:{filter:{...C.category?{category:C.category}:{},limit:C.limit}}})},[n,C.category,C.limit]);(0,f.useEffect)(()=>{let e=e=>{let t=e.payload;_(t.enabled),o(t.entries??[]),b(t.error??null),S(!1)};return n.on(`prompts.journal`,e),D(),()=>n.off(`prompts.journal`,e)},[n,D]);let O=(0,f.useMemo)(()=>{let e=C.session.trim().toLowerCase(),t=a.filter(t=>!e||t.sessionId.toLowerCase().includes(e)),n=new Map;for(let e of[...t].reverse()){let t=e.timestamp.slice(0,10),r=n.get(t)??[];r.push(e),n.set(t,r)}return[...n.entries()]},[a,C.session]),k=(0,f.useMemo)(()=>{let e=0;for(let t of a)e+=t.metadata.tokenEstimate??0;return{count:a.length,tokens:e}},[a]),A=e=>{E(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},j=(0,f.useMemo)(()=>h.filter(e=>a.some(t=>t.category===e)),[a]);return(0,p.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-y-auto`,children:[(0,p.jsxs)(`div`,{className:`border-b border-border/70 px-4 py-3 sm:px-6`,children:[(0,p.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,p.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,p.jsx)(c,{className:`h-5 w-5 text-primary`}),(0,p.jsx)(`h1`,{className:`text-base font-semibold`,children:e(`activity:promptJournal.title`)})]}),(0,p.jsxs)(`button`,{type:`button`,onClick:D,disabled:x,className:`inline-flex items-center gap-1.5 rounded-md border border-border px-2.5 py-1.5 text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground disabled:opacity-50`,children:[(0,p.jsx)(l,{className:d(`h-3.5 w-3.5`,x&&`animate-spin`)}),e(`activity:promptJournal.refresh`)]})]}),(0,p.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:e(`activity:promptJournal.subtitle`)}),s&&k.count>0&&(0,p.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-x-4 gap-y-1 text-xs text-muted-foreground`,children:[(0,p.jsx)(`span`,{children:e(`activity:promptJournal.statEntries`,{count:k.count})}),(0,p.jsx)(`span`,{children:e(`activity:promptJournal.statTokens`,{count:k.tokens.toLocaleString()})})]})]}),(0,p.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 border-b border-border/70 px-4 py-2 sm:px-6`,children:[(0,p.jsxs)(`label`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,p.jsx)(`span`,{children:e(`activity:promptJournal.filterCategory`)}),(0,p.jsxs)(`select`,{value:C.category,onChange:e=>w(t=>({...t,category:e.target.value})),className:`rounded border border-border bg-background px-2 py-1 text-xs outline-none focus:ring-1 focus:ring-primary`,children:[(0,p.jsx)(`option`,{value:``,children:e(`activity:promptJournal.filterAll`)}),j.map(t=>(0,p.jsx)(`option`,{value:t,children:g(e,t)},t))]})]}),(0,p.jsxs)(`label`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,p.jsx)(`span`,{children:e(`activity:promptJournal.filterSession`)}),(0,p.jsx)(`input`,{type:`text`,value:C.session,onChange:e=>w(t=>({...t,session:e.target.value})),placeholder:`sess_…`,className:`w-40 rounded border border-border bg-background px-2 py-1 text-xs outline-none focus:ring-1 focus:ring-primary`})]}),(0,p.jsxs)(`label`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,p.jsx)(`span`,{children:e(`activity:promptJournal.filterLimit`)}),(0,p.jsxs)(`select`,{value:C.limit,onChange:e=>w(t=>({...t,limit:Number(e.target.value)})),className:`rounded border border-border bg-background px-2 py-1 text-xs outline-none focus:ring-1 focus:ring-primary`,children:[(0,p.jsx)(`option`,{value:50,children:`50`}),(0,p.jsx)(`option`,{value:200,children:`200`}),(0,p.jsx)(`option`,{value:1e3,children:`1000`})]})]})]}),(0,p.jsxs)(`div`,{className:`min-h-0 flex-1 px-4 py-3 sm:px-6`,children:[x&&(0,p.jsx)(`div`,{className:`py-10 text-center text-sm text-muted-foreground`,children:e(`activity:promptJournal.loading`)}),!x&&y&&(0,p.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-10 text-sm text-destructive`,children:[(0,p.jsx)(r,{className:`h-4 w-4`}),y]}),!x&&!y&&!s&&(0,p.jsx)(`div`,{className:`py-10 text-center text-sm text-muted-foreground`,children:e(`activity:promptJournal.disabled`)}),!x&&!y&&s&&O.length===0&&(0,p.jsxs)(`div`,{className:`py-10 text-center`,children:[(0,p.jsx)(i,{className:`mx-auto h-8 w-8 text-muted-foreground/50`}),(0,p.jsx)(`div`,{className:`mt-2 text-sm font-medium text-foreground`,children:e(`activity:promptJournal.emptyTitle`)}),(0,p.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:e(`activity:promptJournal.emptyHint`)})]}),!x&&!y&&s&&O.length>0&&(0,p.jsx)(`div`,{className:`space-y-5`,children:O.map(([e,t])=>(0,p.jsxs)(`section`,{children:[(0,p.jsxs)(`h2`,{className:`sticky top-0 z-10 border-b border-border/60 bg-background/90 py-1 text-xs font-semibold uppercase tracking-wide text-muted-foreground backdrop-blur`,children:[e,(0,p.jsx)(`span`,{className:`ml-2 font-normal normal-case text-muted-foreground/60`,children:t.length})]}),(0,p.jsx)(`ul`,{className:`mt-2 space-y-2`,children:t.map(e=>(0,p.jsx)(v,{entry:e,expanded:T.has(e.id),onToggle:()=>A(e.id)},e.id))})]},e))})]})]})}function v({entry:e,expanded:n,onToggle:r}){let{t:i}=t(),o=e.timestamp.slice(11,19),c=e.metadata,l=e.content.trim().slice(0,240),u=c.model||c.provider||c.activeTools?.length||c.contextFiles?.length||c.decisionReason||e.rawContent&&e.rawContent!==e.content;return(0,p.jsxs)(`li`,{className:`rounded-lg border border-border/70 bg-card/60`,children:[(0,p.jsxs)(`button`,{type:`button`,onClick:r,className:`flex w-full items-start gap-2 rounded-lg px-3 py-2 text-left hover:bg-accent/40`,children:[n?(0,p.jsx)(s,{className:`mt-0.5 h-4 w-4 shrink-0 text-muted-foreground`}):(0,p.jsx)(a,{className:`mt-0.5 h-4 w-4 shrink-0 text-muted-foreground`}),(0,p.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,p.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1 text-xs`,children:[(0,p.jsx)(`span`,{className:`tabular text-muted-foreground`,children:o}),(0,p.jsx)(`span`,{className:`rounded bg-primary/10 px-1.5 py-0.5 font-medium text-primary`,children:g(i,e.category)}),(0,p.jsx)(`span`,{className:`rounded bg-muted px-1.5 py-0.5 text-muted-foreground`,children:e.role}),(0,p.jsx)(`span`,{className:`font-mono text-[11px] text-muted-foreground`,children:e.sessionId})]}),!n&&l&&(0,p.jsx)(`div`,{className:`mt-1 line-clamp-2 whitespace-pre-wrap break-words text-xs text-foreground/80`,children:l})]}),(0,p.jsxs)(`span`,{className:`shrink-0 text-[11px] tabular text-muted-foreground`,children:[`~`,c.tokenEstimate,` `,i(`activity:promptJournal.tokens`)]})]}),n&&(0,p.jsxs)(`div`,{className:`border-t border-border/60 px-3 py-2 pl-9`,children:[(0,p.jsx)(`pre`,{className:`max-h-72 overflow-auto whitespace-pre-wrap break-words rounded bg-muted/50 p-2 text-xs text-foreground`,children:e.content}),e.rawContent&&e.rawContent!==e.content&&(0,p.jsxs)(`div`,{className:`mt-2`,children:[(0,p.jsx)(`div`,{className:`text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:i(`activity:promptJournal.rawInput`)}),(0,p.jsx)(`pre`,{className:`mt-1 max-h-40 overflow-auto whitespace-pre-wrap break-words rounded bg-muted/30 p-2 text-xs text-muted-foreground`,children:e.rawContent})]}),u&&(0,p.jsxs)(`dl`,{className:`mt-2 grid grid-cols-1 gap-x-4 gap-y-1 text-xs sm:grid-cols-2`,children:[c.model&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(`dt`,{className:`text-muted-foreground`,children:i(`activity:promptJournal.model`)}),(0,p.jsx)(`dd`,{className:`font-mono`,children:c.model})]}),c.provider&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(`dt`,{className:`text-muted-foreground`,children:i(`activity:promptJournal.provider`)}),(0,p.jsx)(`dd`,{className:`font-mono`,children:c.provider})]}),c.iterationIndex!==void 0&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(`dt`,{className:`text-muted-foreground`,children:i(`activity:promptJournal.iteration`)}),(0,p.jsxs)(`dd`,{className:`tabular`,children:[`#`,c.iterationIndex]})]}),(0,p.jsx)(`dt`,{className:`text-muted-foreground`,children:i(`activity:promptJournal.stats`)}),(0,p.jsxs)(`dd`,{className:`tabular text-muted-foreground`,children:[c.characterCount,` `,i(`activity:promptJournal.chars`),` · `,c.lineCount,` `,i(`activity:promptJournal.lines`)]}),c.durationMs!==void 0&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(`dt`,{className:`text-muted-foreground`,children:i(`activity:promptJournal.duration`)}),(0,p.jsxs)(`dd`,{className:`tabular`,children:[(c.durationMs/1e3).toFixed(1),`s`]})]}),c.activeTools&&c.activeTools.length>0&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(`dt`,{className:`text-muted-foreground`,children:i(`activity:promptJournal.tools`)}),(0,p.jsx)(`dd`,{className:`flex flex-wrap gap-1`,children:c.activeTools.map(e=>(0,p.jsx)(`code`,{className:`rounded bg-muted px-1 py-0.5 text-[11px] text-muted-foreground`,children:e},e))})]}),c.contextFiles&&c.contextFiles.length>0&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(`dt`,{className:`text-muted-foreground`,children:i(`activity:promptJournal.files`)}),(0,p.jsx)(`dd`,{className:`flex flex-wrap gap-1`,children:c.contextFiles.map(e=>(0,p.jsx)(`code`,{className:`rounded bg-muted px-1 py-0.5 font-mono text-[11px] text-muted-foreground`,children:e},e))})]}),c.decisionReason&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(`dt`,{className:`text-muted-foreground`,children:i(`activity:promptJournal.rationale`)}),(0,p.jsx)(`dd`,{className:`sm:col-span-1`,children:c.decisionReason})]})]})]})]})}export{_ as PromptJournalView};
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./chat-store-BgCgMMd0.js";import{Ea as n,Ia as r,Va as i,ba as a,dt as o,jt as s,lr as c,lt as l,ta as u}from"./vendor-AeHpGMaG.js";import"./i18n-nlW2iAya.js";import{t as d}from"./utils-D1fGupR8.js";import"./stores-BpVw7ENx.js";import{n as f,o as p,r as m,t as h}from"./dialog-jbs7gu-q.js";var g=e(i(),1),_=l(),v={btw:{label:`btw`,titleKey:`btwTitle`,tone:`bg-primary/10 text-primary border-primary/30`},steer:{label:`steer`,titleKey:`steerTitle`,tone:`bg-warning/10 text-warning border-warning/35`},queue:{label:`queue`,titleKey:`queueTitle`,tone:`bg-info/10 text-info border-info/30`}};function y({open:e,onClose:i,className:l}){let{t:y}=r(),b=t(e=>e.queue),x=t(e=>e.removeQueued),S=t(e=>e.clearQueue),[C,w]=(0,g.useState)(`oldest`),T=(0,g.useCallback)(e=>{x(e)},[x]),E=(0,g.useMemo)(()=>{let e=b.map((e,t)=>({item:e,sourceIdx:t}));return e.sort((e,t)=>C===`newest`?t.item.addedAt-e.item.addedAt:e.item.addedAt-t.item.addedAt),e},[b,C]),D=b.length>0&&b.every(e=>e.alreadyDispatched);return(0,_.jsx)(h,{open:e,onOpenChange:e=>{e||i()},children:(0,_.jsxs)(f,{className:d(`max-w-lg gap-0 overflow-hidden border-border/80 bg-card p-0 pt-[10dvh] flex flex-col max-h-[70dvh]`,l),showCloseButton:!1,children:[(0,_.jsx)(p,{className:`sr-only`,children:y(`activity:queue.heading`)}),(0,_.jsx)(m,{className:`sr-only`,children:y(`activity:queue.subtitle`,{count:b.length})}),(0,_.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border/70 bg-card/95 px-4 py-3 shrink-0`,children:[(0,_.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,_.jsx)(`span`,{className:`flex items-center justify-center w-8 h-8 rounded-md border border-primary/20 bg-primary/10 text-primary`,children:(0,_.jsx)(c,{className:`h-4 w-4`})}),(0,_.jsxs)(`div`,{children:[(0,_.jsx)(`h2`,{className:`text-sm font-semibold`,children:y(`activity:queue.heading`)}),(0,_.jsx)(`span`,{className:`text-[10px] text-muted-foreground tabular-nums`,children:y(`activity:queue.subtitle`,{count:b.length})})]})]}),(0,_.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,_.jsxs)(`button`,{type:`button`,onClick:()=>w(e=>e===`newest`?`oldest`:`newest`),className:d(`flex items-center gap-1.5 px-2.5 py-1.5 rounded-md text-xs transition-colors font-medium`,`text-muted-foreground hover:bg-muted hover:text-foreground`),title:y(C===`newest`?`activity:queue.sortNewestTitle`:`activity:queue.sortOldestTitle`),"data-testid":`queue-sort-toggle`,children:[C===`newest`?(0,_.jsx)(n,{className:`h-3 w-3`}):(0,_.jsx)(a,{className:`h-3 w-3`}),y(C===`newest`?`activity:queue.newest`:`activity:queue.oldest`)]}),b.length>0&&!D&&(0,_.jsxs)(`button`,{type:`button`,onClick:()=>S(),className:`flex items-center gap-1.5 px-2.5 py-1.5 rounded-md text-xs text-destructive hover:bg-destructive/10 transition-colors font-medium`,title:y(`activity:queue.clearDispatchedTitle`),"data-testid":`queue-clear-all`,children:[(0,_.jsx)(s,{className:`h-3 w-3`}),y(`activity:queue.clear`)]})]})]}),(0,_.jsx)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto overscroll-contain`,children:b.length===0?(0,_.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16 gap-3 text-muted-foreground`,children:[(0,_.jsx)(c,{className:`h-10 w-10 opacity-15`}),(0,_.jsx)(`p`,{className:`text-sm font-medium`,children:y(`activity:queue.emptyTitle`)}),(0,_.jsx)(`p`,{className:`text-xs text-center max-w-xs`,children:y(`activity:queue.emptyBody`)})]}):(0,_.jsx)(`ul`,{className:`divide-y divide-border/60`,"data-testid":`queue-list`,children:E.map(({item:e,sourceIdx:t},n)=>{let r=v[e.mode],i=e.alreadyDispatched===!0;return(0,_.jsxs)(`li`,{className:d(`flex items-start justify-between gap-3 px-4 py-3 text-xs transition-colors`,i?`bg-muted/30 text-muted-foreground hover:bg-muted/40`:`hover:bg-muted/35`),"data-testid":`queue-item`,"data-dispatched":i?`true`:void 0,children:[(0,_.jsxs)(`div`,{className:`flex items-start gap-3 min-w-0 flex-1`,children:[(0,_.jsxs)(`span`,{className:`mt-1 text-[10px] font-mono text-muted-foreground shrink-0 w-5 text-right tabular-nums`,children:[n+1,`.`]}),(0,_.jsx)(`span`,{className:d(`shrink-0 inline-flex items-center justify-center rounded border px-1.5 py-0.5 text-[10px] font-semibold uppercase`,r.tone,i&&`opacity-60`),title:y(`activity:queue.${r.titleKey}`),"data-testid":`queue-mode-${e.mode}`,children:r.label}),(0,_.jsx)(`p`,{className:`text-sm leading-relaxed min-w-0 break-words flex-1`,children:e.text.length>120?`${e.text.slice(0,117)}…`:e.text}),i&&(0,_.jsxs)(`span`,{className:`shrink-0 mt-0.5 inline-flex items-center gap-1 text-[10px] font-semibold uppercase text-success`,title:y(`activity:queue.dispatchedTitle`),"data-testid":`queue-dispatched-${t}`,children:[(0,_.jsx)(u,{className:`h-3 w-3`}),y(`activity:queue.dispatchedLabel`)]})]}),!i&&(0,_.jsx)(`button`,{type:`button`,onClick:()=>T(t),className:`ml-1 p-1.5 rounded-md shrink-0 hover:bg-destructive/10 hover:text-destructive transition-colors`,title:y(`activity:queue.removeTitle`),"data-testid":`queue-remove-${t}`,children:(0,_.jsx)(o,{className:`h-3.5 w-3.5`})})]},`${e.addedAt}-${t}`)})})}),b.length>0&&(0,_.jsx)(`div`,{className:`border-t border-border/70 bg-muted/20 px-4 py-2.5 shrink-0`,children:(0,_.jsx)(`p`,{className:`text-[10px] text-muted-foreground text-center`,children:y(`activity:queue.footer`)})})]})})}export{y as QueuePanel};
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{t}from"./chat-store-c0pGYczr.js";import{Aa as n,Ba as r,Ca as i,Ga as a,dt as o,jt as s,lt as c,ra as l,ur as u}from"./vendor-C_zEzV4N.js";import"./i18n-CDoHRskt.js";import{t as d}from"./utils-tsZEnrBH.js";import"./stores-DSGsI875.js";import{n as f,o as p,r as m,t as h}from"./dialog-BJjDUqb3.js";var g=e(a(),1),_=c(),v={btw:{label:`btw`,titleKey:`btwTitle`,tone:`bg-primary/10 text-primary border-primary/30`},steer:{label:`steer`,titleKey:`steerTitle`,tone:`bg-warning/10 text-warning border-warning/35`},queue:{label:`queue`,titleKey:`queueTitle`,tone:`bg-info/10 text-info border-info/30`}};function y({open:e,onClose:a,className:c}){let{t:y}=r(),b=t(e=>e.queue),x=t(e=>e.removeQueued),S=t(e=>e.clearQueue),[C,w]=(0,g.useState)(`oldest`),T=(0,g.useCallback)(e=>{x(e)},[x]),E=(0,g.useMemo)(()=>{let e=b.map((e,t)=>({item:e,sourceIdx:t}));return e.sort((e,t)=>C===`newest`?t.item.addedAt-e.item.addedAt:e.item.addedAt-t.item.addedAt),e},[b,C]),D=b.length>0&&b.every(e=>e.alreadyDispatched);return(0,_.jsx)(h,{open:e,onOpenChange:e=>{e||a()},children:(0,_.jsxs)(f,{className:d(`max-w-lg gap-0 overflow-hidden border-border/80 bg-card p-0 pt-[10dvh] flex flex-col max-h-[70dvh]`,c),showCloseButton:!1,children:[(0,_.jsx)(p,{className:`sr-only`,children:y(`activity:queue.heading`)}),(0,_.jsx)(m,{className:`sr-only`,children:y(`activity:queue.subtitle`,{count:b.length})}),(0,_.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border/70 bg-card/95 px-4 py-3 shrink-0`,children:[(0,_.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,_.jsx)(`span`,{className:`flex items-center justify-center w-8 h-8 rounded-md border border-primary/20 bg-primary/10 text-primary`,children:(0,_.jsx)(u,{className:`h-4 w-4`})}),(0,_.jsxs)(`div`,{children:[(0,_.jsx)(`h2`,{className:`text-sm font-semibold`,children:y(`activity:queue.heading`)}),(0,_.jsx)(`span`,{className:`text-[10px] text-muted-foreground tabular-nums`,children:y(`activity:queue.subtitle`,{count:b.length})})]})]}),(0,_.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,_.jsxs)(`button`,{type:`button`,onClick:()=>w(e=>e===`newest`?`oldest`:`newest`),className:d(`flex items-center gap-1.5 px-2.5 py-1.5 rounded-md text-xs transition-colors font-medium`,`text-muted-foreground hover:bg-muted hover:text-foreground`),title:y(C===`newest`?`activity:queue.sortNewestTitle`:`activity:queue.sortOldestTitle`),"data-testid":`queue-sort-toggle`,children:[C===`newest`?(0,_.jsx)(n,{className:`h-3 w-3`}):(0,_.jsx)(i,{className:`h-3 w-3`}),y(C===`newest`?`activity:queue.newest`:`activity:queue.oldest`)]}),b.length>0&&!D&&(0,_.jsxs)(`button`,{type:`button`,onClick:()=>S(),className:`flex items-center gap-1.5 px-2.5 py-1.5 rounded-md text-xs text-destructive hover:bg-destructive/10 transition-colors font-medium`,title:y(`activity:queue.clearDispatchedTitle`),"data-testid":`queue-clear-all`,children:[(0,_.jsx)(s,{className:`h-3 w-3`}),y(`activity:queue.clear`)]})]})]}),(0,_.jsx)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto overscroll-contain`,children:b.length===0?(0,_.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16 gap-3 text-muted-foreground`,children:[(0,_.jsx)(u,{className:`h-10 w-10 opacity-15`}),(0,_.jsx)(`p`,{className:`text-sm font-medium`,children:y(`activity:queue.emptyTitle`)}),(0,_.jsx)(`p`,{className:`text-xs text-center max-w-xs`,children:y(`activity:queue.emptyBody`)})]}):(0,_.jsx)(`ul`,{className:`divide-y divide-border/60`,"data-testid":`queue-list`,children:E.map(({item:e,sourceIdx:t},n)=>{let r=v[e.mode],i=e.alreadyDispatched===!0;return(0,_.jsxs)(`li`,{className:d(`flex items-start justify-between gap-3 px-4 py-3 text-xs transition-colors`,i?`bg-muted/30 text-muted-foreground hover:bg-muted/40`:`hover:bg-muted/35`),"data-testid":`queue-item`,"data-dispatched":i?`true`:void 0,children:[(0,_.jsxs)(`div`,{className:`flex items-start gap-3 min-w-0 flex-1`,children:[(0,_.jsxs)(`span`,{className:`mt-1 text-[10px] font-mono text-muted-foreground shrink-0 w-5 text-right tabular-nums`,children:[n+1,`.`]}),(0,_.jsx)(`span`,{className:d(`shrink-0 inline-flex items-center justify-center rounded border px-1.5 py-0.5 text-[10px] font-semibold uppercase`,r.tone,i&&`opacity-60`),title:y(`activity:queue.${r.titleKey}`),"data-testid":`queue-mode-${e.mode}`,children:r.label}),(0,_.jsx)(`p`,{className:`text-sm leading-relaxed min-w-0 break-words flex-1`,children:e.text.length>120?`${e.text.slice(0,117)}…`:e.text}),i&&(0,_.jsxs)(`span`,{className:`shrink-0 mt-0.5 inline-flex items-center gap-1 text-[10px] font-semibold uppercase text-success`,title:y(`activity:queue.dispatchedTitle`),"data-testid":`queue-dispatched-${t}`,children:[(0,_.jsx)(l,{className:`h-3 w-3`}),y(`activity:queue.dispatchedLabel`)]})]}),!i&&(0,_.jsx)(`button`,{type:`button`,onClick:()=>T(t),className:`ml-1 p-1.5 rounded-md shrink-0 hover:bg-destructive/10 hover:text-destructive transition-colors`,title:y(`activity:queue.removeTitle`),"data-testid":`queue-remove-${t}`,children:(0,_.jsx)(o,{className:`h-3.5 w-3.5`})})]},`${e.addedAt}-${t}`)})})}),b.length>0&&(0,_.jsx)(`div`,{className:`border-t border-border/70 bg-muted/20 px-4 py-2.5 shrink-0`,children:(0,_.jsx)(`p`,{className:`text-[10px] text-muted-foreground text-center`,children:y(`activity:queue.footer`)})})]})})}export{y as QueuePanel};
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./chat-store-BgCgMMd0.js";import{Aa as n,Dr as r,Ia as i,Ki as a,Ot as o,Va as s,lt as c,pn as l,rn as u,yi as d}from"./vendor-AeHpGMaG.js";import"./i18n-nlW2iAya.js";import{t as f}from"./session-store-DkPaOIhe.js";import{n as p}from"./ui-store-FVcXVdRC.js";var m=e(s(),1),h=c();function g(){let e=f(e=>e.session),{t:s}=i(),c=f.getState().session?.id,g=f(e=>e.projectName),x=f(e=>e.cwd),S=f(e=>e.mode),C=f(e=>e.contextMode),w=f(e=>e.lastVisitedAt),T=t(e=>e.messages),E=t(e=>e.queue.length),D=t(e=>e.boundSessionId),O=p(e=>e.currentView),k=p(e=>e.dockSection),[A,j]=(0,m.useState)([]),M=(0,m.useMemo)(()=>{if(typeof window>`u`)return 0;let e=0;for(let t of[`wrongstack-session`,`wrongstack-chat`,`wrongstack-ui`,`wrongstack-config`]){let n=window.localStorage.getItem(t);typeof n==`string`&&(e+=n.length)}return e},[T.length]),N=typeof window<`u`&&!!window.__wrongstackSessionRehydrated,P=typeof window<`u`&&!!window.__wrongstackChatRehydrated;function F(e,t){j(n=>[{ts:Date.now(),note:e,ok:t},...n].slice(0,20))}function I(){F(s(`activity:refresh.simulatedF5`),!0)}let L=D!==null&&c!==void 0&&D!==c;return(0,h.jsx)(`div`,{className:`h-full min-h-0 min-w-0 flex-1 overflow-y-auto overscroll-contain bg-[hsl(var(--surface-2)/0.45)] p-4 sm:p-6`,children:(0,h.jsxs)(`div`,{className:`mx-auto max-w-5xl space-y-5 sm:space-y-6`,children:[(0,h.jsx)(`header`,{className:`rounded-xl border border-border/70 bg-card/75 p-4 shadow-sm`,children:(0,h.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,h.jsxs)(`div`,{className:`min-w-0`,children:[(0,h.jsxs)(`h1`,{className:`flex min-w-0 items-center gap-2 text-xl font-bold sm:text-2xl`,children:[(0,h.jsx)(l,{className:`h-6 w-6 shrink-0 text-primary sm:h-7 sm:w-7`}),s(`activity:refresh.heading`)]}),(0,h.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:s(`activity:refresh.subtitle`)})]}),(0,h.jsx)(`button`,{type:`button`,onClick:I,className:`inline-flex h-9 w-full items-center justify-center rounded-md bg-primary px-3 text-sm font-medium text-primary-foreground shadow-sm shadow-primary/15 hover:bg-primary/90 sm:w-auto`,children:s(`activity:refresh.recordProbe`)})]})}),(0,h.jsxs)(`section`,{className:`space-y-3`,children:[(0,h.jsxs)(`h2`,{className:`text-lg font-semibold flex items-center gap-2`,children:[(0,h.jsx)(n,{className:`w-5 h-5`}),s(`activity:refresh.latestSession`)]}),(0,h.jsx)(_,{label:s(`activity:refresh.restoredLocal`),ok:N,extra:c?s(`activity:refresh.sessionIdExtra`,{id:c}):s(`activity:refresh.noSessionYet`)}),(0,h.jsx)(_,{label:s(`activity:refresh.activePointer`),ok:!!e?.id,extra:e?y(e):`null`}),(0,h.jsx)(_,{label:s(`activity:refresh.lastVisited`),ok:w>0,extra:w>0?new Date(w).toISOString():s(`activity:refresh.never`)})]}),(0,h.jsxs)(`section`,{className:`space-y-3`,children:[(0,h.jsxs)(`h2`,{className:`text-lg font-semibold flex items-center gap-2`,children:[(0,h.jsx)(d,{className:`w-5 h-5`}),s(`activity:refresh.persistedEnv`)]}),(0,h.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-3`,children:[(0,h.jsx)(v,{label:`projectName`,value:g||`∅`}),(0,h.jsx)(v,{label:`cwd`,value:x||`∅`,mono:!0}),(0,h.jsx)(v,{label:`mode`,value:S,mono:!0}),(0,h.jsx)(v,{label:`contextMode`,value:C,mono:!0})]})]}),(0,h.jsxs)(`section`,{className:`space-y-3`,children:[(0,h.jsxs)(`h2`,{className:`text-lg font-semibold flex items-center gap-2`,children:[(0,h.jsx)(r,{className:`w-5 h-5`}),s(`activity:refresh.transcriptRehydrate`)]}),(0,h.jsx)(_,{label:s(`activity:refresh.localTranscript`),ok:P&&(T.length>0||D===null),extra:T.length===0?s(`activity:refresh.noMessages`):s(`activity:refresh.messagesExtra`,{count:T.length,queued:E})}),(0,h.jsx)(_,{label:s(`activity:refresh.noBleed`),ok:!L,extra:L?s(`activity:refresh.bleedExtra`,{bound:D??`∅`,active:c??`∅`}):s(`activity:refresh.transcriptBinds`),warn:L}),T.length>0&&(0,h.jsxs)(`div`,{className:`space-y-1 rounded-lg border border-border/70 bg-card/65 p-3 text-xs font-mono`,children:[(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`span`,{className:`text-muted-foreground`,children:`first:`}),` `,b(T[0])]}),(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`span`,{className:`text-muted-foreground`,children:`last:`}),` `,b(T[T.length-1]??T[0])]})]})]}),(0,h.jsxs)(`section`,{className:`space-y-3`,children:[(0,h.jsxs)(`h2`,{className:`text-lg font-semibold flex items-center gap-2`,children:[(0,h.jsx)(u,{className:`w-5 h-5`}),s(`activity:refresh.uiWorkspace`)]}),(0,h.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-3`,children:[(0,h.jsx)(v,{label:`currentView`,value:O,mono:!0}),(0,h.jsx)(v,{label:`dockSection`,value:k??s(`activity:refresh.noneValue`),mono:!0})]}),(0,h.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:s(`activity:refresh.payloadSize`,{count:M})})]}),(0,h.jsxs)(`section`,{className:`space-y-2`,children:[(0,h.jsx)(`h2`,{className:`text-lg font-semibold`,children:s(`activity:refresh.probeLog`)}),A.length===0?(0,h.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:s(`activity:refresh.noProbes`)}):(0,h.jsx)(`ul`,{className:`space-y-1 text-xs font-mono`,children:A.map((e,t)=>(0,h.jsxs)(`li`,{className:`flex items-center gap-2`,children:[e.ok?(0,h.jsx)(a,{className:`w-4 h-4 text-success shrink-0`}):(0,h.jsx)(o,{className:`w-4 h-4 text-warning shrink-0`}),(0,h.jsx)(`span`,{className:`text-muted-foreground`,children:new Date(e.ts).toLocaleTimeString()}),(0,h.jsx)(`span`,{children:e.note})]},`${e.ts}-${t}`))})]})]})})}function _({label:e,extra:t,ok:n,warn:r}){return(0,h.jsxs)(`div`,{className:`rounded-lg border px-3 py-2 ${r?`border-warning/40 bg-warning/10 text-warning`:n?`border-success/40 bg-success/10 text-success`:`border-border bg-muted/40 text-muted-foreground`}`,children:[(0,h.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 text-xs font-medium`,children:[n&&!r?(0,h.jsx)(a,{className:`h-4 w-4 shrink-0`}):(0,h.jsx)(o,{className:`h-4 w-4 shrink-0`}),(0,h.jsx)(`span`,{className:`min-w-0 break-words`,children:e})]}),(0,h.jsx)(`div`,{className:`text-xs font-mono mt-1 break-all`,children:t})]})}function v({label:e,value:t,mono:n}){return(0,h.jsxs)(`div`,{className:`min-w-0 rounded-lg border border-border/70 bg-card/75 p-3 shadow-sm`,children:[(0,h.jsx)(`p`,{className:`text-xs uppercase tracking-wide text-muted-foreground`,children:e}),(0,h.jsx)(`p`,{className:`mt-1 text-sm break-all `+(n?`font-mono`:`font-medium`),children:t})]})}function y(e){let t=e.title?.trim();return t?`${e.id} — "${t}" (${e.provider}/${e.model})`:`${e.id} (${e.provider}/${e.model})`}function b(e){let t=(e.content??``).trim().replace(/\s+/g,` `);return`[${e.role}] ${t.length>100?`${t.slice(0,99)}…`:t}`}export{g as RefreshDebugView};
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{t}from"./chat-store-c0pGYczr.js";import{Ba as n,Ga as r,Ji as i,Ot as a,Pa as o,hn as s,lt as c,nn as l,pn as u,xi as d}from"./vendor-C_zEzV4N.js";import"./i18n-CDoHRskt.js";import{t as f}from"./session-store-BgiP4PnQ.js";import{n as p}from"./ui-store-xx1NssJI.js";var m=e(r(),1),h=c();function g(){let e=f(e=>e.session),{t:r}=n(),c=f.getState().session?.id,g=f(e=>e.projectName),x=f(e=>e.cwd),S=f(e=>e.mode),C=f(e=>e.contextMode),w=f(e=>e.lastVisitedAt),T=t(e=>e.messages),E=t(e=>e.queue.length),D=t(e=>e.boundSessionId),O=p(e=>e.currentView),k=p(e=>e.dockSection),[A,j]=(0,m.useState)([]),M=(0,m.useMemo)(()=>{if(typeof window>`u`)return 0;let e=0;for(let t of[`wrongstack-session`,`wrongstack-chat`,`wrongstack-ui`,`wrongstack-config`]){let n=window.localStorage.getItem(t);typeof n==`string`&&(e+=n.length)}return e},[T.length]),N=typeof window<`u`&&!!window.__wrongstackSessionRehydrated,P=typeof window<`u`&&!!window.__wrongstackChatRehydrated;function F(e,t){j(n=>[{ts:Date.now(),note:e,ok:t},...n].slice(0,20))}function I(){F(r(`activity:refresh.simulatedF5`),!0)}let L=D!==null&&c!==void 0&&D!==c;return(0,h.jsx)(`div`,{className:`h-full min-h-0 min-w-0 flex-1 overflow-y-auto overscroll-contain bg-[hsl(var(--surface-2)/0.45)] p-4 sm:p-6`,children:(0,h.jsxs)(`div`,{className:`mx-auto max-w-5xl space-y-5 sm:space-y-6`,children:[(0,h.jsx)(`header`,{className:`rounded-xl border border-border/70 bg-card/75 p-4 shadow-sm`,children:(0,h.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,h.jsxs)(`div`,{className:`min-w-0`,children:[(0,h.jsxs)(`h1`,{className:`flex min-w-0 items-center gap-2 text-xl font-bold sm:text-2xl`,children:[(0,h.jsx)(u,{className:`h-6 w-6 shrink-0 text-primary sm:h-7 sm:w-7`}),r(`activity:refresh.heading`)]}),(0,h.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:r(`activity:refresh.subtitle`)})]}),(0,h.jsx)(`button`,{type:`button`,onClick:I,className:`inline-flex h-9 w-full items-center justify-center rounded-md bg-primary px-3 text-sm font-medium text-primary-foreground shadow-sm shadow-primary/15 hover:bg-primary/90 sm:w-auto`,children:r(`activity:refresh.recordProbe`)})]})}),(0,h.jsxs)(`section`,{className:`space-y-3`,children:[(0,h.jsxs)(`h2`,{className:`text-lg font-semibold flex items-center gap-2`,children:[(0,h.jsx)(o,{className:`w-5 h-5`}),r(`activity:refresh.latestSession`)]}),(0,h.jsx)(_,{label:r(`activity:refresh.restoredLocal`),ok:N,extra:c?r(`activity:refresh.sessionIdExtra`,{id:c}):r(`activity:refresh.noSessionYet`)}),(0,h.jsx)(_,{label:r(`activity:refresh.activePointer`),ok:!!e?.id,extra:e?y(e):`null`}),(0,h.jsx)(_,{label:r(`activity:refresh.lastVisited`),ok:w>0,extra:w>0?new Date(w).toISOString():r(`activity:refresh.never`)})]}),(0,h.jsxs)(`section`,{className:`space-y-3`,children:[(0,h.jsxs)(`h2`,{className:`text-lg font-semibold flex items-center gap-2`,children:[(0,h.jsx)(d,{className:`w-5 h-5`}),r(`activity:refresh.persistedEnv`)]}),(0,h.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-3`,children:[(0,h.jsx)(v,{label:`projectName`,value:g||`∅`}),(0,h.jsx)(v,{label:`cwd`,value:x||`∅`,mono:!0}),(0,h.jsx)(v,{label:`mode`,value:S,mono:!0}),(0,h.jsx)(v,{label:`contextMode`,value:C,mono:!0})]})]}),(0,h.jsxs)(`section`,{className:`space-y-3`,children:[(0,h.jsxs)(`h2`,{className:`text-lg font-semibold flex items-center gap-2`,children:[(0,h.jsx)(s,{className:`w-5 h-5`}),r(`activity:refresh.transcriptRehydrate`)]}),(0,h.jsx)(_,{label:r(`activity:refresh.localTranscript`),ok:P&&(T.length>0||D===null),extra:T.length===0?r(`activity:refresh.noMessages`):r(`activity:refresh.messagesExtra`,{count:T.length,queued:E})}),(0,h.jsx)(_,{label:r(`activity:refresh.noBleed`),ok:!L,extra:L?r(`activity:refresh.bleedExtra`,{bound:D??`∅`,active:c??`∅`}):r(`activity:refresh.transcriptBinds`),warn:L}),T.length>0&&(0,h.jsxs)(`div`,{className:`space-y-1 rounded-lg border border-border/70 bg-card/65 p-3 text-xs font-mono`,children:[(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`span`,{className:`text-muted-foreground`,children:`first:`}),` `,b(T[0])]}),(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`span`,{className:`text-muted-foreground`,children:`last:`}),` `,b(T[T.length-1]??T[0])]})]})]}),(0,h.jsxs)(`section`,{className:`space-y-3`,children:[(0,h.jsxs)(`h2`,{className:`text-lg font-semibold flex items-center gap-2`,children:[(0,h.jsx)(l,{className:`w-5 h-5`}),r(`activity:refresh.uiWorkspace`)]}),(0,h.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-3`,children:[(0,h.jsx)(v,{label:`currentView`,value:O,mono:!0}),(0,h.jsx)(v,{label:`dockSection`,value:k??r(`activity:refresh.noneValue`),mono:!0})]}),(0,h.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:r(`activity:refresh.payloadSize`,{count:M})})]}),(0,h.jsxs)(`section`,{className:`space-y-2`,children:[(0,h.jsx)(`h2`,{className:`text-lg font-semibold`,children:r(`activity:refresh.probeLog`)}),A.length===0?(0,h.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:r(`activity:refresh.noProbes`)}):(0,h.jsx)(`ul`,{className:`space-y-1 text-xs font-mono`,children:A.map((e,t)=>(0,h.jsxs)(`li`,{className:`flex items-center gap-2`,children:[e.ok?(0,h.jsx)(i,{className:`w-4 h-4 text-success shrink-0`}):(0,h.jsx)(a,{className:`w-4 h-4 text-warning shrink-0`}),(0,h.jsx)(`span`,{className:`text-muted-foreground`,children:new Date(e.ts).toLocaleTimeString()}),(0,h.jsx)(`span`,{children:e.note})]},`${e.ts}-${t}`))})]})]})})}function _({label:e,extra:t,ok:n,warn:r}){return(0,h.jsxs)(`div`,{className:`rounded-lg border px-3 py-2 ${r?`border-warning/40 bg-warning/10 text-warning`:n?`border-success/40 bg-success/10 text-success`:`border-border bg-muted/40 text-muted-foreground`}`,children:[(0,h.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 text-xs font-medium`,children:[n&&!r?(0,h.jsx)(i,{className:`h-4 w-4 shrink-0`}):(0,h.jsx)(a,{className:`h-4 w-4 shrink-0`}),(0,h.jsx)(`span`,{className:`min-w-0 break-words`,children:e})]}),(0,h.jsx)(`div`,{className:`text-xs font-mono mt-1 break-all`,children:t})]})}function v({label:e,value:t,mono:n}){return(0,h.jsxs)(`div`,{className:`min-w-0 rounded-lg border border-border/70 bg-card/75 p-3 shadow-sm`,children:[(0,h.jsx)(`p`,{className:`text-xs uppercase tracking-wide text-muted-foreground`,children:e}),(0,h.jsx)(`p`,{className:`mt-1 text-sm break-all `+(n?`font-mono`:`font-medium`),children:t})]})}function y(e){let t=e.title?.trim();return t?`${e.id} — "${t}" (${e.provider}/${e.model})`:`${e.id} (${e.provider}/${e.model})`}function b(e){let t=(e.content??``).trim().replace(/\s+/g,` `);return`[${e.role}] ${t.length>100?`${t.slice(0,99)}…`:t}`}export{g as RefreshDebugView};