@openscout/scout 0.2.108 → 0.2.109

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 (544) hide show
  1. package/bin/scoutd +0 -0
  2. package/dist/build-manifest.json +3 -3
  3. package/dist/client/assets/conversation-motion-features-PYM3Yx_M.js +1 -0
  4. package/dist/client/assets/index-DGR8nSEY.js +88 -0
  5. package/dist/client/assets/index-rA7f7Rt0.css +1 -0
  6. package/dist/client/index.html +3 -3
  7. package/dist/main.mjs +1 -1
  8. package/package.json +2 -2
  9. package/dist/client/assets/ActivityScreen-C1H-vL0L.js +0 -1
  10. package/dist/client/assets/AddProjectForm-4sVXmjfN.js +0 -1
  11. package/dist/client/assets/AdventureEvidence-D5wq1vu8.js +0 -5
  12. package/dist/client/assets/AdventureReader-BICypcDY.js +0 -4
  13. package/dist/client/assets/AdventureScenery-CGEcG0zV.js +0 -1
  14. package/dist/client/assets/AgentAdventures-5yBt-Zl3.js +0 -1
  15. package/dist/client/assets/AgentAvatar-Dn8TUv5W.js +0 -1
  16. package/dist/client/assets/AgentConfigurationScreen-C0D9WNyL.js +0 -1
  17. package/dist/client/assets/AgentDefinitionsWorkspace-BzcBdC_s.js +0 -1
  18. package/dist/client/assets/AgentDetailCard-C4WVeJvJ.css +0 -1
  19. package/dist/client/assets/AgentDetailCard-CI-ufaEP.js +0 -1
  20. package/dist/client/assets/AgentFloorView-D8tlGlgy.js +0 -1
  21. package/dist/client/assets/AgentFloorWorld-DqmnQexg.js +0 -1
  22. package/dist/client/assets/AgentInfoScreen-BnRhfcFy.js +0 -1
  23. package/dist/client/assets/AgentLaneCard-pppHFROz.js +0 -1
  24. package/dist/client/assets/AgentLaneChrome-RptImDFc.js +0 -1
  25. package/dist/client/assets/AgentLaneDetailSheet-BqbwGskh.js +0 -4
  26. package/dist/client/assets/AgentLaneSummaryResize-DaIgwyVh.js +0 -1
  27. package/dist/client/assets/AgentLanesEmbedScreen-De6C4ZOw.js +0 -1
  28. package/dist/client/assets/AgentLanesPreflight-BQfj2twF.js +0 -1
  29. package/dist/client/assets/AgentLanesView-CiISx7pu.js +0 -2
  30. package/dist/client/assets/AgentLiveActions-CGS-Bxb7.css +0 -1
  31. package/dist/client/assets/AgentLiveActions-CkRGkv13.js +0 -1
  32. package/dist/client/assets/AgentMasterScreen-CijN_4tN.js +0 -1
  33. package/dist/client/assets/AgentSessions-ghjQcSrh.js +0 -6
  34. package/dist/client/assets/AgentsConsole-BjSTs-TV.css +0 -1
  35. package/dist/client/assets/AgentsConsole-D8upjDpn.js +0 -1
  36. package/dist/client/assets/AgentsScreen-C17BFqjf.js +0 -1
  37. package/dist/client/assets/AgentsSubnav-_1GVC4hj.js +0 -1
  38. package/dist/client/assets/AstronautSuit-Dzu4GOMR.js +0 -1
  39. package/dist/client/assets/AtopView-DJK5b3lZ.js +0 -1
  40. package/dist/client/assets/BackToPicker-BPU7kbXq.js +0 -1
  41. package/dist/client/assets/BackToPicker-CdgVu-to.css +0 -1
  42. package/dist/client/assets/BriefingDetailScreen-CTvFw523.js +0 -1
  43. package/dist/client/assets/BriefingsScreen-DpVC3OUk.js +0 -1
  44. package/dist/client/assets/BrokerMetadataPanel-glRVdwkU.js +0 -1
  45. package/dist/client/assets/BrokerScreen-CqKsBwEx.js +0 -8
  46. package/dist/client/assets/CastPicker-Y29K5kKk.js +0 -1
  47. package/dist/client/assets/CastPicker-zXsnkTIy.css +0 -1
  48. package/dist/client/assets/ChannelComposer-D4EY9jVW.js +0 -1
  49. package/dist/client/assets/ChannelSidebar-CVmykV4d.js +0 -1
  50. package/dist/client/assets/CharacterFamilyPreview-Bj8oMD-5.js +0 -1
  51. package/dist/client/assets/CharacterFamilyPreview-BniL8sEL.css +0 -1
  52. package/dist/client/assets/ChatAvatar-BsAOShUr.js +0 -1
  53. package/dist/client/assets/ChatBits-Cq54CmyB.js +0 -1
  54. package/dist/client/assets/ChatCollapsedStrip-B0DdrOo2.js +0 -1
  55. package/dist/client/assets/ChatRichInput-DYJRhGTP.js +0 -31
  56. package/dist/client/assets/ChatRightPanel-D94Lw7ud.js +0 -1
  57. package/dist/client/assets/ChatSpaceSurface-Cp532VmZ.js +0 -1
  58. package/dist/client/assets/ChatSpaceTheme-3wLZGsvT.css +0 -1
  59. package/dist/client/assets/ChatSpaceTheme-DPzYpw-v.js +0 -1
  60. package/dist/client/assets/CodeDiffPane-DCgMUi39.js +0 -1
  61. package/dist/client/assets/CodeProjectPicker-Dq787L77.js +0 -2
  62. package/dist/client/assets/CodeScreen-BN4TkiR0.js +0 -1
  63. package/dist/client/assets/CommsCanvas-BR2YS76H.css +0 -1
  64. package/dist/client/assets/CommsCanvas-Dh056d91.js +0 -1
  65. package/dist/client/assets/CommsDeck-CRXKIerH.js +0 -1
  66. package/dist/client/assets/CommsFlowGraph-Cc48o9u_.js +0 -1
  67. package/dist/client/assets/CommsFlowGraph-vQucylxF.css +0 -1
  68. package/dist/client/assets/CommsFlowMap-Ckasql5e.js +0 -1
  69. package/dist/client/assets/CommsSelection-CuphnUny.js +0 -1
  70. package/dist/client/assets/ComposerAttachments-9uYp_Lh5.js +0 -1
  71. package/dist/client/assets/ConversationComposer-hYtLurqy.js +0 -1
  72. package/dist/client/assets/ConversationFeedRows-Bu0ZJcy8.js +0 -1
  73. package/dist/client/assets/ConversationHeader-L9738YVP.js +0 -1
  74. package/dist/client/assets/ConversationPanels-D6KuqvGu.js +0 -6
  75. package/dist/client/assets/ConversationScreen-9MlMnEo4.css +0 -1
  76. package/dist/client/assets/ConversationScreen-Pzxy9x4m.js +0 -2
  77. package/dist/client/assets/ConversationStatus-BEefIbXq.js +0 -1
  78. package/dist/client/assets/CrewAvatar-BnIPIn_Z.css +0 -1
  79. package/dist/client/assets/CrewAvatar-a_C_F9r_.js +0 -1
  80. package/dist/client/assets/CrewSprite-CguHb2Ny.js +0 -1
  81. package/dist/client/assets/CrewSprite-DsQJdu3Z.css +0 -1
  82. package/dist/client/assets/CrewStage-IPpS3Oja.js +0 -1
  83. package/dist/client/assets/CrewWorkspaces-BTPtcEcx.js +0 -1
  84. package/dist/client/assets/CrewWorkspaces-DDuYMByu.css +0 -1
  85. package/dist/client/assets/DataTable-DnL_8SAu.js +0 -1
  86. package/dist/client/assets/DispatchAftermath-CoAYaL3B.js +0 -1
  87. package/dist/client/assets/DocumentFocusViewer-BSC_JwVE.css +0 -1
  88. package/dist/client/assets/DocumentFocusViewer-mxzPxQQW.js +0 -1
  89. package/dist/client/assets/EmbeddableSurfacesLab-BAZ_eRMc.js +0 -1
  90. package/dist/client/assets/EmptyState-DLiLgtPK.js +0 -1
  91. package/dist/client/assets/FileViewerPane-Dc7AoVod.js +0 -3
  92. package/dist/client/assets/FleetRollCallHud-VhpxVcGO.js +0 -1
  93. package/dist/client/assets/FlightObserveScreen-C1kASP3J.js +0 -1
  94. package/dist/client/assets/FloorContextSheet-BfrXNoBn.js +0 -1
  95. package/dist/client/assets/FloorExchangePanel-B3TFhjLk.css +0 -1
  96. package/dist/client/assets/FloorExchangePanel-DsG1cRzu.js +0 -1
  97. package/dist/client/assets/FloorMessagePasses-Cm3LbkHd.js +0 -1
  98. package/dist/client/assets/FloorMessagePasses-nxwwiUom.css +0 -1
  99. package/dist/client/assets/FloorReplay-Bg7kA-tR.js +0 -1
  100. package/dist/client/assets/FloorResourcesSheet-Ba9HubO2.js +0 -1
  101. package/dist/client/assets/FloorSavedWork-BDOvV3mA.js +0 -1
  102. package/dist/client/assets/FloorTacticalHUD-4d-Hr-YL.js +0 -1
  103. package/dist/client/assets/FollowScreen-DFVSlsQV.js +0 -1
  104. package/dist/client/assets/HarnessMark-CP-PWk2W.js +0 -1
  105. package/dist/client/assets/HarnessesScreen-j-91IoOo.js +0 -1
  106. package/dist/client/assets/HerdrSession-H2mmxeTK.js +0 -4
  107. package/dist/client/assets/HomeHero-7JwycwFY.css +0 -1
  108. package/dist/client/assets/HomeHero-g4H3Ctxg.js +0 -1
  109. package/dist/client/assets/HostAdvisorView-Cyt3b5Fq.js +0 -1
  110. package/dist/client/assets/InviteLandingScreen-C3DtAGD4.js +0 -1
  111. package/dist/client/assets/InviteSheet-BiGMNpsE.js +0 -1
  112. package/dist/client/assets/JumpPalette-goXAVByA.js +0 -1
  113. package/dist/client/assets/KnowledgeSearchInspector-BbOQIqdF.js +0 -1
  114. package/dist/client/assets/KnowledgeSearchScreen-DC8yX-kA.js +0 -1
  115. package/dist/client/assets/LaneToolHoverCard-B8Am_1DC.js +0 -1
  116. package/dist/client/assets/LaneTraceDetailSheet-CngYIxdI.js +0 -1
  117. package/dist/client/assets/LaneTraceEventFocus-BRR_jcl9.js +0 -1
  118. package/dist/client/assets/MeshCanvas-DzkuY_XI.js +0 -3
  119. package/dist/client/assets/MeshCanvasMinimap-BrscEPAH.js +0 -1
  120. package/dist/client/assets/MeshCanvasMinimap-Dv7nMbl5.css +0 -1
  121. package/dist/client/assets/MeshScreen-CAtRB8K6.js +0 -1
  122. package/dist/client/assets/MeshTopologyView-B1I2dAhu.js +0 -2
  123. package/dist/client/assets/MessageEmbeds-B-FbWI7a.js +0 -1
  124. package/dist/client/assets/MessagesScreen-hq7D3Lfi.js +0 -1
  125. package/dist/client/assets/MissionContextRail-ClR8amG1.js +0 -1
  126. package/dist/client/assets/MissionControlView-D6gbMrgx.js +0 -1
  127. package/dist/client/assets/MissionFocusOverlay-CzeNgI9Q.js +0 -1
  128. package/dist/client/assets/MissionLeftAgentRow-CB3cgeYr.js +0 -1
  129. package/dist/client/assets/MissionLogPane-2PMEoG44.js +0 -1
  130. package/dist/client/assets/NativeAreaScreen-BnlrAWT8.js +0 -1
  131. package/dist/client/assets/NativeAreaScreen-DSR5Tf6F.js +0 -1
  132. package/dist/client/assets/NativeAreaScreen-fGsxyeC3.js +0 -1
  133. package/dist/client/assets/NewAgentModal-4b_3aoZE.js +0 -1
  134. package/dist/client/assets/NewAgentModal-ru8u5YdJ.css +0 -1
  135. package/dist/client/assets/NewChatComposer-C5LT7MF7.css +0 -1
  136. package/dist/client/assets/NewChatComposer-D-VB5vdt.js +0 -19
  137. package/dist/client/assets/NewChatOrigin-BYsEu9dZ.js +0 -1
  138. package/dist/client/assets/NodeDetailPanel-9NaEnZAQ.js +0 -1
  139. package/dist/client/assets/NodeMenu-BgJMmffZ.js +0 -1
  140. package/dist/client/assets/ObserveEmbedScreen-W7Q5HbXP.js +0 -2
  141. package/dist/client/assets/ObserveTextFlow-C0oQEerY.js +0 -2
  142. package/dist/client/assets/ObservedTopologyPanel-BsBsvVPL.css +0 -1
  143. package/dist/client/assets/ObservedTopologyPanel-Ci7emnnj.js +0 -2
  144. package/dist/client/assets/OpenScoutAppShell-Bh6FnEJO.css +0 -1
  145. package/dist/client/assets/OpenScoutAppShell-Di9qdmI0.js +0 -22
  146. package/dist/client/assets/OpsAgentsView-DVotOMg2.js +0 -1
  147. package/dist/client/assets/OpsScreen-C955zgr3.js +0 -1
  148. package/dist/client/assets/OpsSubnav-CjMVj7Sk.js +0 -1
  149. package/dist/client/assets/ProjectAgentProfile-B1VqGSmu.js +0 -1
  150. package/dist/client/assets/ProjectAgentProfileBar-DhVU7zew.js +0 -1
  151. package/dist/client/assets/ProjectAgentProfileHero-CJk-Dx4t.js +0 -1
  152. package/dist/client/assets/ProjectsInbox-B7kap8nR.js +0 -2
  153. package/dist/client/assets/ProjectsInbox-B8zYE4vP.css +0 -1
  154. package/dist/client/assets/ProjectsRail-BhSaqbv0.js +0 -1
  155. package/dist/client/assets/ProjectsScreen-CSb7nwjb.js +0 -1
  156. package/dist/client/assets/ProjectsThreadAside-pEJutIO8.js +0 -1
  157. package/dist/client/assets/Provider-BEXAZWd9.js +0 -5
  158. package/dist/client/assets/Provider-CCzjtkda.css +0 -1
  159. package/dist/client/assets/RailRow-B25zKEub.css +0 -1
  160. package/dist/client/assets/RailRow-Ddz90weI.js +0 -1
  161. package/dist/client/assets/RawSessionsTable-TdKlJIPl.js +0 -1
  162. package/dist/client/assets/RealtimeVoiceScreen-BU5KmlNo.js +0 -8
  163. package/dist/client/assets/RenderedWorkerSprite-BNhFXMIo.js +0 -1
  164. package/dist/client/assets/RenderedWorkerSprite-qnTfkd_4.css +0 -1
  165. package/dist/client/assets/ReplayClock-wLpb4VqN.js +0 -1
  166. package/dist/client/assets/ReplayLog-IUyQdklN.js +0 -1
  167. package/dist/client/assets/ReplayOutpost-C4djhjZJ.js +0 -1
  168. package/dist/client/assets/ReplayOutpost-Y1DvZgeu.css +0 -1
  169. package/dist/client/assets/RepoDiffEmbedScreen-BmQX_8E-.js +0 -1
  170. package/dist/client/assets/RepoDiffPageScreen-B9oAjrC6.js +0 -1
  171. package/dist/client/assets/RepoDiffViewer-Ch_lIMt-.js +0 -7
  172. package/dist/client/assets/RepoDiffViewerLazy-DL6A2o_z.js +0 -2
  173. package/dist/client/assets/ReposScreen-D-E7fSAB.js +0 -6
  174. package/dist/client/assets/RiggedWorkerCharacter-BpYECnyK.css +0 -1
  175. package/dist/client/assets/RiggedWorkerCharacter-CF6fhzGd.js +0 -1
  176. package/dist/client/assets/SageModelStudio-768dRQr4.css +0 -1
  177. package/dist/client/assets/SageModelStudio-CSet_ITs.js +0 -4108
  178. package/dist/client/assets/ScoutDeckSurface-BJ-fl8AX.js +0 -1
  179. package/dist/client/assets/ScoutDeckSurface-uhmuZRzC.css +0 -1
  180. package/dist/client/assets/ScoutSurface-BvFRdce6.js +0 -1
  181. package/dist/client/assets/ScoutbotFxLab-CfPzycZ7.js +0 -4
  182. package/dist/client/assets/SecondaryNav-1FjBDWuY.js +0 -1
  183. package/dist/client/assets/SessionContextStrip-BoiIxXvS.js +0 -1
  184. package/dist/client/assets/SessionContextStrip-DAIXwtHd.css +0 -1
  185. package/dist/client/assets/SessionEmbedScreen-BizGNGOz.js +0 -1
  186. package/dist/client/assets/SessionHopMenu-DX6PJPNk.js +0 -1
  187. package/dist/client/assets/SessionObserve-CDdJ7fAE.css +0 -1
  188. package/dist/client/assets/SessionObserve-Dw3bVQYF.js +0 -12
  189. package/dist/client/assets/SessionObserveEvidence-uD1OX-R5.js +0 -1
  190. package/dist/client/assets/SessionRefScreen-Ch9H-qVk.js +0 -1
  191. package/dist/client/assets/SessionsScreen-DUeP23Xy.js +0 -1
  192. package/dist/client/assets/SettingsDrawer-BVrP6J52.js +0 -3
  193. package/dist/client/assets/SettingsDrawer-R8a0TlJD.css +0 -1
  194. package/dist/client/assets/SettingsScreen-BcJ05LE5.js +0 -1
  195. package/dist/client/assets/SharedFloorCharacter-Bi5_md4R.css +0 -1
  196. package/dist/client/assets/SharedFloorCharacter-dnamlt1p.js +0 -1
  197. package/dist/client/assets/SharedWorkFloor-0rqtdF-n.css +0 -1
  198. package/dist/client/assets/SharedWorkFloor-H-e2TVj9.js +0 -2
  199. package/dist/client/assets/ShikiPane-CDiIT_qn.js +0 -15
  200. package/dist/client/assets/SlidePanel-Bg5dVaIa.css +0 -1
  201. package/dist/client/assets/SlidePanel-D5oPQocF.js +0 -1
  202. package/dist/client/assets/SpaceSwitcher-WccPJ0fS.js +0 -1
  203. package/dist/client/assets/SpriteAvatar-D53GaaK3.js +0 -1
  204. package/dist/client/assets/SproutActionSprite-BrFCmgWS.js +0 -1
  205. package/dist/client/assets/StatusPill-jT--OXbn.js +0 -1
  206. package/dist/client/assets/TailView-B44cSuyl.js +0 -2
  207. package/dist/client/assets/TailView-Mj3AU2u0.css +0 -1
  208. package/dist/client/assets/Terminal-D0PanmIk.js +0 -4
  209. package/dist/client/assets/TerminalEmbedScreen-Eddi4sts.js +0 -1
  210. package/dist/client/assets/TerminalHeaderMount-CYYcKxQ-.js +0 -1
  211. package/dist/client/assets/TextDocumentSurface-DBslUq9k.js +0 -4
  212. package/dist/client/assets/TmuxPeek-Ctw5yYO5.js +0 -1
  213. package/dist/client/assets/VoiceControlWell-BkjuWjYu.js +0 -1
  214. package/dist/client/assets/VoicePathDiagram-u0i6ntbx.js +0 -1
  215. package/dist/client/assets/VoicePermissionsPanel-9Nuw-xCr.js +0 -1
  216. package/dist/client/assets/VoicePermissionsPanel-RijAZ1gP.css +0 -1
  217. package/dist/client/assets/VoiceTurnDetails-kS7lfbmt.js +0 -8
  218. package/dist/client/assets/VoiceTurnStage-DLY6aYDg.js +0 -1
  219. package/dist/client/assets/VoiceTurnView-CF4tIldB.js +0 -1
  220. package/dist/client/assets/WorkDetailScreen-BrrkENYq.js +0 -5
  221. package/dist/client/assets/WorkFilesViewer-B63sKRYZ.js +0 -1
  222. package/dist/client/assets/WorkRunView-CxwAZ2QQ.css +0 -1
  223. package/dist/client/assets/WorkRunView-DLIzAsc3.js +0 -1
  224. package/dist/client/assets/WorldActorTalk-CHhFTiQV.js +0 -1
  225. package/dist/client/assets/WorldCharacter-CJGx2DVy.js +0 -1
  226. package/dist/client/assets/WorldMinimap-DL12pBw3.js +0 -1
  227. package/dist/client/assets/WorldSky-BlPNvGLo.js +0 -1
  228. package/dist/client/assets/activity-CXkZ620t.js +0 -1
  229. package/dist/client/assets/addon-fit-G3qi01sy.js +0 -1
  230. package/dist/client/assets/addon-webgl-Bo7kSgOB.js +0 -82
  231. package/dist/client/assets/adventure-evidence-DgQbBmfa.css +0 -1
  232. package/dist/client/assets/adventure-habitats-v1-CVMbdB_Z.png +0 -0
  233. package/dist/client/assets/adventure-habitats-v1-M1lcpTJh.js +0 -1
  234. package/dist/client/assets/adventure-playback-DTfkhIc0.js +0 -3
  235. package/dist/client/assets/adventure-reader-DM5UDDm9.css +0 -1
  236. package/dist/client/assets/agent-adventures-DZtWpj6k.css +0 -1
  237. package/dist/client/assets/agent-definitions-CymTYqvo.css +0 -1
  238. package/dist/client/assets/agent-directory-studio-injection-Bc8590z5.css +0 -1
  239. package/dist/client/assets/agent-essentials-DnfdGmIX.js +0 -1
  240. package/dist/client/assets/agent-floor-Dmr9hZHL.css +0 -1
  241. package/dist/client/assets/agent-floor-actor-DW8zLht0.js +0 -1
  242. package/dist/client/assets/agent-floor-world-Bnd1AtwK.css +0 -1
  243. package/dist/client/assets/agent-floor-world-layout-hfMjuoui.js +0 -1
  244. package/dist/client/assets/agent-lane-card-BkWVDYM8.css +0 -1
  245. package/dist/client/assets/agent-lane-card-model-CeqQGp-8.js +0 -1
  246. package/dist/client/assets/agent-lane-detail-Ti3trpfH.js +0 -2
  247. package/dist/client/assets/agent-lane-preview-Dpa3DuOn.js +0 -4
  248. package/dist/client/assets/agent-lanes-DmgipV9D.css +0 -1
  249. package/dist/client/assets/agent-lanes-model-DMAdqCmK.js +0 -4
  250. package/dist/client/assets/agent-master-THmq-1k8.css +0 -1
  251. package/dist/client/assets/agent-master-model-Bk_yuUXJ.js +0 -1
  252. package/dist/client/assets/agent-specialization-DYX_DSlY.js +0 -1
  253. package/dist/client/assets/agent-state-DDhnFEEP.js +0 -1
  254. package/dist/client/assets/agents-detail-redesign-h34ROjOW.css +0 -1
  255. package/dist/client/assets/agents-project-DgbqDc65.css +0 -1
  256. package/dist/client/assets/agents-screen-BYakbO50.css +0 -1
  257. package/dist/client/assets/api-BQYTwoz6.js +0 -1
  258. package/dist/client/assets/api-DSqpVKC7.js +0 -1
  259. package/dist/client/assets/arc.es-CLA3XI14.js +0 -188
  260. package/dist/client/assets/arrow-down--OUDFWIq.js +0 -1
  261. package/dist/client/assets/arrow-left-DNjQHf4C.js +0 -1
  262. package/dist/client/assets/arrow-right-A_yyXwoH.js +0 -1
  263. package/dist/client/assets/arrow-up-DFy-9ghF.js +0 -1
  264. package/dist/client/assets/arrow-up-right-DUW1A1Hb.js +0 -1
  265. package/dist/client/assets/bash-format-BRV5C6Gv.js +0 -1
  266. package/dist/client/assets/book-open-B_idZgTF.js +0 -1
  267. package/dist/client/assets/bot-BNv_ZJzi.js +0 -1
  268. package/dist/client/assets/briefings-BwuAFQK6.css +0 -1
  269. package/dist/client/assets/broker-display-BkBzyvbR.js +0 -2
  270. package/dist/client/assets/cache-DGBo3vIf.js +0 -2
  271. package/dist/client/assets/chat-api-BHGHALv2.js +0 -2
  272. package/dist/client/assets/chat-message-markup-esR-YLtN.js +0 -1
  273. package/dist/client/assets/chat-space-model-aW3Fd8_U.js +0 -4
  274. package/dist/client/assets/chat-transport-CtxnPLMU.js +0 -1
  275. package/dist/client/assets/check-BM6QtbB7.js +0 -1
  276. package/dist/client/assets/chevron-down-DEDSNJNY.js +0 -1
  277. package/dist/client/assets/chevron-right-B02kAw12.js +0 -1
  278. package/dist/client/assets/chevron-up-CzveykKG.js +0 -1
  279. package/dist/client/assets/chunk-HRAB3GC3-DVhUsgOw.js +0 -1
  280. package/dist/client/assets/chunk-JTPDIGGW-hdpdYwXb.js +0 -46
  281. package/dist/client/assets/chunk-T65CQEWV-G_Z0lqtn.js +0 -1
  282. package/dist/client/assets/chunk-YOZR3KYS-apgUnfXh.js +0 -2
  283. package/dist/client/assets/clipboard-e3fSpeo7.js +0 -1
  284. package/dist/client/assets/clock-8tb9t2t9.js +0 -1
  285. package/dist/client/assets/code-screen-DrKinCyh.css +0 -1
  286. package/dist/client/assets/code-xml-E9gBuiVs.js +0 -1
  287. package/dist/client/assets/coffee-D0YEK6-l.js +0 -1
  288. package/dist/client/assets/collapsed-strip-raJWthAH.css +0 -1
  289. package/dist/client/assets/colors-CFlbwC25.js +0 -1
  290. package/dist/client/assets/comms-deck-C8nVeMBh.css +0 -1
  291. package/dist/client/assets/comms-deck-CBhsXnY-.js +0 -2
  292. package/dist/client/assets/comms-gesture-_aGFo6g3.js +0 -2
  293. package/dist/client/assets/compass-EmGkpxIe.js +0 -1
  294. package/dist/client/assets/console-B1IBqLI_.css +0 -1
  295. package/dist/client/assets/content-B-rn1rka.js +0 -1
  296. package/dist/client/assets/content-BHV-ZU8_.js +0 -1
  297. package/dist/client/assets/content-BI9yWpWC.js +0 -1
  298. package/dist/client/assets/content-BLVuukzF.js +0 -1
  299. package/dist/client/assets/content-BP3cQkAj.js +0 -1
  300. package/dist/client/assets/content-BRY-UTkP.js +0 -1
  301. package/dist/client/assets/content-BXTmYOPB.js +0 -1
  302. package/dist/client/assets/content-C3DZ77HZ.js +0 -1
  303. package/dist/client/assets/content-CINHz-rZ.css +0 -1
  304. package/dist/client/assets/content-CPchclaV.js +0 -1
  305. package/dist/client/assets/content-CVqPTQnr.js +0 -1
  306. package/dist/client/assets/content-CjAERU44.js +0 -1
  307. package/dist/client/assets/content-CoYG0nWL.js +0 -1
  308. package/dist/client/assets/content-DK1KeRPw.js +0 -1
  309. package/dist/client/assets/content-iWBSSXa6.js +0 -1
  310. package/dist/client/assets/content-ryJeaQk8.js +0 -1
  311. package/dist/client/assets/content-srNyLgDt.js +0 -1
  312. package/dist/client/assets/context-budget-8qFKqM-j.js +0 -1
  313. package/dist/client/assets/conversation-icons-Dxn9N1Kx.js +0 -1
  314. package/dist/client/assets/conversation-model-FxDeWlle.js +0 -1
  315. package/dist/client/assets/conversation-motion-features-BfmPlONx.js +0 -1
  316. package/dist/client/assets/conversation-prefs-DNre-Lcx.js +0 -1
  317. package/dist/client/assets/conversations-DoAAO6kA.js +0 -1
  318. package/dist/client/assets/copy-C1XrY27_.js +0 -1
  319. package/dist/client/assets/cpu-DVZ_LhPn.js +0 -1
  320. package/dist/client/assets/createLucideIcon-CKbjXlwv.js +0 -1
  321. package/dist/client/assets/credentials-OeoF-VKJ.js +0 -1
  322. package/dist/client/assets/ctx-panel-BC8fpcWJ.css +0 -1
  323. package/dist/client/assets/direct-voice-DAOUU-kc.js +0 -10
  324. package/dist/client/assets/direct-voice-DbO7CSv_.css +0 -1
  325. package/dist/client/assets/discover-BNa3BPr_.js +0 -2
  326. package/dist/client/assets/embed-entry-gK3z8Yxi.js +0 -2
  327. package/dist/client/assets/embed-navigation-DayfkQau.js +0 -1
  328. package/dist/client/assets/external-link-Df1R34rX.js +0 -1
  329. package/dist/client/assets/eye-CD-_aphP.js +0 -1
  330. package/dist/client/assets/file-code-corner-DtMWHBN3.js +0 -1
  331. package/dist/client/assets/file-text-BOJQiS8p.js +0 -1
  332. package/dist/client/assets/flag-CeKO8NoD.js +0 -1
  333. package/dist/client/assets/fleet-roll-call-BUgf7w-V.css +0 -1
  334. package/dist/client/assets/flight-observe-GFg9L8ft.css +0 -1
  335. package/dist/client/assets/floor-character-name-CqJPOlXb.js +0 -1
  336. package/dist/client/assets/floor-context-model-rWKqaKmV.js +0 -1
  337. package/dist/client/assets/floor-context-sheet-BFnkFiY3.css +0 -1
  338. package/dist/client/assets/floor-memory-YMM8AlLY.js +0 -1
  339. package/dist/client/assets/floor-message-passes-CO3Ix_wR.js +0 -1
  340. package/dist/client/assets/floor-preview-text-HrORUJ7D.js +0 -1
  341. package/dist/client/assets/floor-replay-CccYqE-f.css +0 -1
  342. package/dist/client/assets/floor-tactical-hud-HL5Vja5Y.css +0 -1
  343. package/dist/client/assets/folder-C2emmTHq.js +0 -1
  344. package/dist/client/assets/follow-route-BvcGtBIL.js +0 -1
  345. package/dist/client/assets/fx-z37u1o2z.js +0 -1
  346. package/dist/client/assets/gauge-BR5CrhRM.js +0 -1
  347. package/dist/client/assets/gestures-Dh8szhcU.js +0 -1
  348. package/dist/client/assets/git-branch-C45vy8qT.js +0 -1
  349. package/dist/client/assets/go-shortcuts--25Qg0lD.js +0 -1
  350. package/dist/client/assets/harnesses-screen-2z36fJKE.css +0 -1
  351. package/dist/client/assets/home-live-action-BkqGLVRY.js +0 -1
  352. package/dist/client/assets/home-moving-signal-BiiyEKEb.js +0 -1
  353. package/dist/client/assets/home-moving-signal-DMguaRWR.css +0 -1
  354. package/dist/client/assets/home-now-card-DaCpqUZe.js +0 -1
  355. package/dist/client/assets/home-now-card-nano-wbxgyY4q.js +0 -1
  356. package/dist/client/assets/hooks-D787lBmm.css +0 -1
  357. package/dist/client/assets/hooks-JNwYSH18.js +0 -2
  358. package/dist/client/assets/host-advisor-B2Fqs5Dd.css +0 -1
  359. package/dist/client/assets/inbox-thread-redesign-B_1ocqaX.css +0 -1
  360. package/dist/client/assets/index-BFbLvCJn.js +0 -10
  361. package/dist/client/assets/index-BRNHY2fp.css +0 -1
  362. package/dist/client/assets/index-BWHgHrtv.js +0 -1
  363. package/dist/client/assets/index-BrXaMEdK.js +0 -1
  364. package/dist/client/assets/index-CXzJ_hGx.js +0 -1
  365. package/dist/client/assets/index-V8FYEUpD.js +0 -1
  366. package/dist/client/assets/index-mYtyYeAe.js +0 -1
  367. package/dist/client/assets/index-wLwc74Pu.css +0 -1
  368. package/dist/client/assets/inspector-panel-BgU5xUln.js +0 -2
  369. package/dist/client/assets/keyboard-nav-CEe-ApvZ.js +0 -1
  370. package/dist/client/assets/knowledge-search-BNdQweGz.css +0 -1
  371. package/dist/client/assets/lane-ask-display-BTVSakyo.js +0 -18
  372. package/dist/client/assets/lane-edit-display-BjdT9oZl.js +0 -9
  373. package/dist/client/assets/lane-observe-CteDwdD-.js +0 -7
  374. package/dist/client/assets/lane-roster-store-MraynTHP.js +0 -1
  375. package/dist/client/assets/lane-tool-detail-Czggx8oM.js +0 -9
  376. package/dist/client/assets/layers-ClmyjwpB.js +0 -1
  377. package/dist/client/assets/layout-grid-DG2-JaPn.js +0 -1
  378. package/dist/client/assets/left-B66YR0c5.js +0 -1
  379. package/dist/client/assets/left-BP5P8lzw.js +0 -2
  380. package/dist/client/assets/left-BV9yMiTL.css +0 -1
  381. package/dist/client/assets/left-BbCKRDbW.js +0 -1
  382. package/dist/client/assets/left-CAaRBK9S.css +0 -1
  383. package/dist/client/assets/left-CaY5FK2k.js +0 -1
  384. package/dist/client/assets/left-CemrfeSs.js +0 -1
  385. package/dist/client/assets/left-DcYA26sH.js +0 -1
  386. package/dist/client/assets/left-DdMMaqFT.js +0 -2
  387. package/dist/client/assets/left-R2OOE7VG.css +0 -1
  388. package/dist/client/assets/left-advisor-DBml48M5.js +0 -1
  389. package/dist/client/assets/left-agents-DowYF2ag.js +0 -1
  390. package/dist/client/assets/left-default-Bifaeg_V.js +0 -1
  391. package/dist/client/assets/left-lanes-BGhjdqpD.js +0 -1
  392. package/dist/client/assets/left-mission-CvXPUovR.js +0 -1
  393. package/dist/client/assets/left-mission-DENnfshd.css +0 -1
  394. package/dist/client/assets/library-CnC8uzJt.js +0 -1
  395. package/dist/client/assets/loader-circle-CCG7hG7z.js +0 -1
  396. package/dist/client/assets/local-agents-BMcFlY_x.js +0 -1
  397. package/dist/client/assets/log-in-VL9mdgeE.js +0 -1
  398. package/dist/client/assets/machine-children-DvCiQxwA.js +0 -1
  399. package/dist/client/assets/machine-scope-DJt9RZ2w.js +0 -1
  400. package/dist/client/assets/media-blobs-Bi8pxr1u.js +0 -1
  401. package/dist/client/assets/mentions-s5oW4aQU.js +0 -1
  402. package/dist/client/assets/mesh-ops-9SzD3sPw.js +0 -1
  403. package/dist/client/assets/mesh-ops-B1kDjizF.css +0 -1
  404. package/dist/client/assets/mesh-screen-DjA4mOaN.css +0 -1
  405. package/dist/client/assets/mesh-view-store-CVqzYz4K.js +0 -1
  406. package/dist/client/assets/message-circle-BB3rFCVD.js +0 -1
  407. package/dist/client/assets/message-markup-BQW5jdJw.js +0 -15
  408. package/dist/client/assets/message-markup-D1C7GzHo.js +0 -1
  409. package/dist/client/assets/message-square-BwqBIfv5.js +0 -1
  410. package/dist/client/assets/message-visibility-DwxgcgYK.js +0 -1
  411. package/dist/client/assets/mission-control-CsX3Yc58.css +0 -1
  412. package/dist/client/assets/mission-control-model-BpJHDV5D.js +0 -1
  413. package/dist/client/assets/mission-control-store-e8F85JhP.js +0 -1
  414. package/dist/client/assets/mission-wall-CAo4BKfa.js +0 -1
  415. package/dist/client/assets/model-CBkMvT1w.js +0 -1
  416. package/dist/client/assets/monitor-M0VSmHQ-.js +0 -1
  417. package/dist/client/assets/nav-destinations-B3R5zxFX.js +0 -1
  418. package/dist/client/assets/observe-M3rLosT5.js +0 -1
  419. package/dist/client/assets/openAgent-Dbv5wfuL.js +0 -1
  420. package/dist/client/assets/openContent-C6XO6kr5.js +0 -1
  421. package/dist/client/assets/operator-attention-DBaRg5ep.js +0 -1
  422. package/dist/client/assets/ops-agents-BOYxzPTm.css +0 -1
  423. package/dist/client/assets/ops-atop-BB4B4JdE.css +0 -1
  424. package/dist/client/assets/ops-screen-CxYM0VOW.css +0 -1
  425. package/dist/client/assets/page-status-BIuh3C5p.js +0 -1
  426. package/dist/client/assets/page-status-bar-ByUD7VPM.css +0 -1
  427. package/dist/client/assets/panel-right-WKLdPm0F.js +0 -1
  428. package/dist/client/assets/paperclip-DLf_ABSv.js +0 -1
  429. package/dist/client/assets/pause-7mmEEvVx.js +0 -1
  430. package/dist/client/assets/persistent-state-3mbBFRDO.js +0 -1
  431. package/dist/client/assets/pin-q_0gAA6i.js +0 -1
  432. package/dist/client/assets/pip-idle-v1-Tt-CZsRG.png +0 -0
  433. package/dist/client/assets/pip-thinking-v1-BoHWSEye.png +0 -0
  434. package/dist/client/assets/pip-waiting-v1-DkuvJ-dN.png +0 -0
  435. package/dist/client/assets/pip-working-v1-wWQLRS1z.png +0 -0
  436. package/dist/client/assets/play-N5-hnPCV.js +0 -1
  437. package/dist/client/assets/plus-B0hdY0fF.js +0 -1
  438. package/dist/client/assets/profile-B7ZGToTo.js +0 -1
  439. package/dist/client/assets/project-overview-helpers-BQTc_Ous.js +0 -1
  440. package/dist/client/assets/projects-inbox-CMFBjQt0.js +0 -1
  441. package/dist/client/assets/projects-inbox-ColX6lpx.css +0 -1
  442. package/dist/client/assets/proxy-k0ILOVkK.js +0 -1
  443. package/dist/client/assets/radio-Bjqmv997.js +0 -1
  444. package/dist/client/assets/refresh-cw-BcqctLqo.js +0 -1
  445. package/dist/client/assets/repo-diff-DyYmQMSA.css +0 -1
  446. package/dist/client/assets/resizable-columns-C7ygvLt8.css +0 -1
  447. package/dist/client/assets/resolve-panes-wzGu9d8o.js +0 -1
  448. package/dist/client/assets/resolve-sidebar-context-C8SOo5oZ.js +0 -1
  449. package/dist/client/assets/right-9rMRZN_r.js +0 -1
  450. package/dist/client/assets/right-BHZq648O.js +0 -1
  451. package/dist/client/assets/right-BNJzCaH9.js +0 -2
  452. package/dist/client/assets/right-CAd7lTvY.js +0 -1
  453. package/dist/client/assets/right-Cc57bCTW.js +0 -1
  454. package/dist/client/assets/right-DY49Prjj.js +0 -1
  455. package/dist/client/assets/right-DfU47xKY.js +0 -1
  456. package/dist/client/assets/right-Dr7vxdZl.js +0 -1
  457. package/dist/client/assets/right-DsE4aR3A.js +0 -1
  458. package/dist/client/assets/right-zlkRjnkv.js +0 -1
  459. package/dist/client/assets/rocket-BahsdUe6.js +0 -1
  460. package/dist/client/assets/router-CJIx83Ia.js +0 -1
  461. package/dist/client/assets/runtime-picker-C3JwrDKP.css +0 -1
  462. package/dist/client/assets/runtime-picker-IRcTkMZ5.js +0 -1
  463. package/dist/client/assets/scope-views-4khCg2_z.css +0 -1
  464. package/dist/client/assets/scope-views-KDtZoLUC.js +0 -1
  465. package/dist/client/assets/scout-voice-Cdh6pCsb.js +0 -1
  466. package/dist/client/assets/scoutbot-Bk3nyrkj.js +0 -3
  467. package/dist/client/assets/scoutbot-markdown-7PRQHaAc.js +0 -6
  468. package/dist/client/assets/scroll-text-CA0QxBHu.js +0 -1
  469. package/dist/client/assets/search-Bv2IONmc.js +0 -1
  470. package/dist/client/assets/secondaryNavConfig-Bmb-oRvD.js +0 -1
  471. package/dist/client/assets/secondaryNavConfig-D15P1Y9k.css +0 -1
  472. package/dist/client/assets/selection-bridge-CthAuPRw.js +0 -1
  473. package/dist/client/assets/send-horizontal-_Tf_It04.js +0 -1
  474. package/dist/client/assets/send-to-agent-session-CWDHHgFB.js +0 -1
  475. package/dist/client/assets/server-U_l8A83n.js +0 -1
  476. package/dist/client/assets/session-catalog-Dx4tl3sx.js +0 -1
  477. package/dist/client/assets/session-recap-lanes-D-eVJnpY.js +0 -1
  478. package/dist/client/assets/session-recap-queue-GeicPLsQ.js +0 -1
  479. package/dist/client/assets/session-ref-lookup-state-SATH_jAP.js +0 -1
  480. package/dist/client/assets/session-table-BI62J4NP.js +0 -1
  481. package/dist/client/assets/sessionRead-CvFz2RHv.js +0 -1
  482. package/dist/client/assets/sessions-view-lGMwwZY7.js +0 -1
  483. package/dist/client/assets/settings-bo9X410k.js +0 -1
  484. package/dist/client/assets/shared-work-artifacts-DfNl9KTo.js +0 -1
  485. package/dist/client/assets/sliders-horizontal-CPSx6wd2.js +0 -1
  486. package/dist/client/assets/solar-system-scope-2k-stars-points-1FwHnkj0.png +0 -0
  487. package/dist/client/assets/sparkles-Br-bA2aZ.js +0 -1
  488. package/dist/client/assets/sprout-action-sprite-DZ8C0fTl.css +0 -1
  489. package/dist/client/assets/sprout-actions-proof-v1-BzUdc812.png +0 -0
  490. package/dist/client/assets/sse-BVxO0zNp.js +0 -1
  491. package/dist/client/assets/status-tone-BM_zuRy1.js +0 -1
  492. package/dist/client/assets/surface-activity-B1rgWB1i.js +0 -1
  493. package/dist/client/assets/synthetic-agent-routing-aduMYO7P.js +0 -1
  494. package/dist/client/assets/system-surfaces-redesign-q2BmCB7e.css +0 -1
  495. package/dist/client/assets/tail-display-DHSNmvor.js +0 -2
  496. package/dist/client/assets/tail-events-C6NWFB1N.js +0 -1
  497. package/dist/client/assets/terminal-DMBAZjPP.js +0 -1
  498. package/dist/client/assets/terminal-relay-CpGHpDa8.js +0 -1
  499. package/dist/client/assets/terminal-screen-Bpb2SZrn.css +0 -1
  500. package/dist/client/assets/terminal-sessions-3RfJpen8.js +0 -1
  501. package/dist/client/assets/terminal-takeover-CXwdoZ5j.js +0 -1
  502. package/dist/client/assets/theme-vars-DNK0nn3k.js +0 -1
  503. package/dist/client/assets/time-Dhsh_2EG.js +0 -1
  504. package/dist/client/assets/triangle-alert-BZikHKuT.js +0 -1
  505. package/dist/client/assets/types-B0PlfpKc.js +0 -1
  506. package/dist/client/assets/ui-LM8pS8qE.js +0 -1
  507. package/dist/client/assets/use-beside-DopIbJwf.js +0 -1
  508. package/dist/client/assets/use-conversation-list-CGtcpdPd.js +0 -1
  509. package/dist/client/assets/use-fleet-active-asks-DAHOPYPV.js +0 -1
  510. package/dist/client/assets/use-mesh-node-state-BlWIPTc4.js +0 -1
  511. package/dist/client/assets/use-mesh-ops-items-pKWBro7o.js +0 -1
  512. package/dist/client/assets/use-reduced-motion-DkdIQBwh.js +0 -1
  513. package/dist/client/assets/use-scout-dev-flags-CduUFb7l.js +0 -1
  514. package/dist/client/assets/useAgentHoverCard-DNlXPYQf.js +0 -1
  515. package/dist/client/assets/useContentSecondaryNav-LJGNYG3U.js +0 -1
  516. package/dist/client/assets/useEmbedHeadline-BeeBDb7E.js +0 -1
  517. package/dist/client/assets/usePierreRuntime-DUXZ-DTK.js +0 -50
  518. package/dist/client/assets/useSidebarCollapse-DoMvU_2R.js +0 -1
  519. package/dist/client/assets/users-BQPEIUfd.js +0 -1
  520. package/dist/client/assets/voice-levels-Dcr3jglk.js +0 -1
  521. package/dist/client/assets/voice-paths-CJUuBPh3.css +0 -1
  522. package/dist/client/assets/voice-turn-DftA0iIb.css +0 -1
  523. package/dist/client/assets/voice-turn-ledger-BMZxlSjg.js +0 -1
  524. package/dist/client/assets/worker-rendered-v1-DmGVMlVi.png +0 -0
  525. package/dist/client/assets/worker-thinking-v1-ujakpzrK.png +0 -0
  526. package/dist/client/assets/worker-waiting-v1-DbTSsfJJ.png +0 -0
  527. package/dist/client/assets/worker-working-v1-BROAvJ_z.png +0 -0
  528. package/dist/client/assets/world-outposts-v1-DOt0i98W.png +0 -0
  529. package/dist/client/assets/wrench-C-wjicn5.js +0 -1
  530. package/dist/client/assets/x-BcfhXYiF.js +0 -1
  531. package/dist/client/assets/xterm-qXD45dc0.js +0 -34
  532. package/dist/client/assets/zap-BqL8ttGz.js +0 -1
  533. package/dist/client/characters/sage/sage.glb +0 -0
  534. package/dist/highlights-eq9cgrbb.scm +0 -604
  535. package/dist/highlights-ghv9g403.scm +0 -205
  536. package/dist/highlights-hk7bwhj4.scm +0 -284
  537. package/dist/highlights-r812a2qc.scm +0 -150
  538. package/dist/highlights-x6tmsnaa.scm +0 -115
  539. package/dist/injections-73j83es3.scm +0 -27
  540. package/dist/tree-sitter-javascript-nd0q4pe9.wasm +0 -0
  541. package/dist/tree-sitter-markdown-411r6y9b.wasm +0 -0
  542. package/dist/tree-sitter-markdown_inline-j5349f42.wasm +0 -0
  543. package/dist/tree-sitter-typescript-zxjzwt75.wasm +0 -0
  544. package/dist/tree-sitter-zig-e78zbjpm.wasm +0 -0
@@ -1 +0,0 @@
1
- import{j as n,r as y}from"./index-BFbLvCJn.js";import{u as L,j as _,l as F,e as T,m as E,a as b,r as C,f as $,d as P,t as R}from"./mesh-view-store-CVqzYz4K.js";import{u as B}from"./Provider-BEXAZWd9.js";import{n as z}from"./agent-state-DDhnFEEP.js";import{a as H,b as O,d as U,m as q}from"./machine-children-DvCiQxwA.js";import{u as K,h as V}from"./use-fleet-active-asks-DAHOPYPV.js";import{R as I}from"./RailRow-Ddz90weI.js";import{nodeMenuRowProps as G,NodeMenu as Q}from"./NodeMenu-BgJMmffZ.js";import{u as D,l as J,r as W}from"./use-mesh-node-state-BlWIPTc4.js";import{o as X}from"./openAgent-Dbv5wfuL.js";/* empty css */import"./theme-vars-DNK0nn3k.js";import"./router-CJIx83Ia.js";import"./api-DSqpVKC7.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./machine-scope-DJt9RZ2w.js";import"./sse-BVxO0zNp.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-D-VB5vdt.js";import"./runtime-picker-IRcTkMZ5.js";import"./scout-voice-Cdh6pCsb.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CCG7hG7z.js";import"./createLucideIcon-CKbjXlwv.js";import"./media-blobs-Bi8pxr1u.js";import"./index-CXzJ_hGx.js";import"./HarnessMark-CP-PWk2W.js";import"./conversation-model-FxDeWlle.js";import"./time-Dhsh_2EG.js";import"./conversations-DoAAO6kA.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-BYsEu9dZ.js";import"./keyboard-nav-CEe-ApvZ.js";import"./x-BcfhXYiF.js";import"./chevron-down-DEDSNJNY.js";import"./search-Bv2IONmc.js";import"./file-text-BOJQiS8p.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-mxzPxQQW.js";import"./TextDocumentSurface-DBslUq9k.js";import"./index-V8FYEUpD.js";import"./chevron-right-B02kAw12.js";import"./folder-C2emmTHq.js";import"./chevron-up-CzveykKG.js";import"./code-xml-E9gBuiVs.js";import"./arrow-left-DNjQHf4C.js";import"./arrow-right-A_yyXwoH.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DVhUsgOw.js";import"./AgentAvatar-Dn8TUv5W.js";import"./SpriteAvatar-D53GaaK3.js";import"./CrewAvatar-a_C_F9r_.js";import"./openContent-C6XO6kr5.js";function Y({value:t,onChange:l,placeholder:a="Search…",onKeyDown:s}){return n.jsx("input",{type:"search",className:"fleet-search",placeholder:a,value:t,onChange:m=>l(m.target.value),onKeyDown:s,spellCheck:!1,autoCorrect:"off",autoCapitalize:"off"})}const Z=["needs_attention","in_turn","in_flight","callable","blocked"],ee={in_turn:"in turn",in_flight:"in flight",needs_attention:"needs attention",callable:"callable",blocked:"blocked"},te={in_turn:"working",in_flight:"working",needs_attention:"working",callable:"available",blocked:"offline"};function ne({active:t,onToggle:l}){return n.jsx("div",{className:"fleet-pills",role:"group","aria-label":"State filters",children:Z.map(a=>{const s=t.has(a);return n.jsx("button",{type:"button",className:`fleet-pill fleet-pill--${te[a]}${s?" fleet-pill--on":""}`,onClick:()=>l(a),"aria-pressed":s,children:ee[a]},a)})})}const k=10;function oe(t){return z(t.state)}function ae({bucket:t,active:l,hidden:a,anyHidden:s,positioned:m,full:c,selectedId:v,selectedType:h,activeAsks:A,onSelect:N,onFocus:w,onSelectAgent:p,onToggleFull:x}){const d=y.useRef(null),u=D(t.machineId),M=u?.view??null,g=O({machineId:t.machineId,machineLabel:t.machineLabel,nodeId:t.node?.nodeId??null,brokerUrl:t.node?.brokerUrl??M?.node?.brokerUrl??null,hidden:a,anyHidden:s,positioned:m,canCopy:typeof navigator<"u"&&!!navigator.clipboard,checking:u?.loading??!1,on:{select:e=>N(e),refresh:e=>{W(e)},focus:e=>w(e),toggleHidden:e=>R(e),showAll:()=>T(),clearPosition:e=>P(e),copy:e=>{navigator.clipboard?.writeText(e)}}}),r=U(t,M),S=c?r:r.slice(0,k),f=r.length-S.length;return n.jsxs("div",{className:"mesh-nav-machine",children:[n.jsx(I,{name:t.machineLabel,meta:q(t,M,u?.loading??!1),tone:"neutral",active:l,onClick:()=>N(t.machineId),onPointerEnter:()=>{u||J(t.machineId,{deep:!1})},title:`${t.machineLabel} — click to see what is running here`,actions:n.jsx(Q,{ref:d,machineLabel:t.machineLabel,actions:g,className:"mesh-nav-menu-btn"}),...G(d)}),S.map(e=>n.jsx(I,{name:e.name,meta:e.meta,tone:e.tone,depth:1,active:v===e.selectId&&h==="agent",unread:e.agent?V(A,e.agent.id):!1,onClick:e.agent?()=>p(e.agent):void 0,title:e.title},e.key)),!c&&f>0&&n.jsx(I,{name:`see ${f} more`,depth:1,tone:"neutral",onClick:()=>x(t.machineId),title:"Show all agents on this machine"}),c&&r.length>k&&n.jsx(I,{name:"see less",depth:1,tone:"neutral",onClick:()=>x(t.machineId),title:"Show recent agents only"})]})}function ct(){const{agents:t,navigate:l}=B(),{meshSnapshot:a,selectedId:s,selectedType:m,query:c,agentStateFilters:v,hiddenMachineIds:h,treeFullMachineIds:A,machinePositions:N}=L(),w=K(),p=y.useMemo(()=>a?H(t,a):[],[t,a]),x=y.useMemo(()=>{const e=c.trim().toLowerCase();return p.filter(o=>!h.has(o.machineId)).map(o=>{const i=o.agents.filter(j=>v.has(oe(j))?e?`${j.name??""} ${j.project??""} ${j.branch??""} ${j.harness??""}`.toLowerCase().includes(e):!0:!1);return{...o,agents:i}})},[p,c,v,h]),d=y.useMemo(()=>{const e=new Map([["this",[]],["peer",[]],["tailnet",[]]]);for(const o of x){const i=o.reachability==="this"?"this":o.reachability==="peer"?"peer":"tailnet";e.get(i)?.push(o)}return e},[x]);if(!a)return n.jsx("div",{className:"ctx-panel ctx-panel--empty",children:n.jsx("div",{className:"ctx-panel-empty-state",children:n.jsx("div",{className:"ctx-panel-empty-hint",children:"Loading mesh…"})})});const u=e=>{b(e,"node"),C(e)},M=e=>{$(e,p.map(o=>o.machineId)),b(e,"node"),C(e)},g=h.size,r=p.length,S=e=>{b(e.id,"agent");const o=e.authorityNodeId??e.homeNodeId;o&&C(o),X(l,e,{returnTo:{view:"mesh"}})},f=(e,o)=>o.length===0?null:n.jsxs("section",{className:"mesh-nav-group",children:[n.jsx("div",{className:"mesh-nav-group-label",children:e}),o.map(i=>n.jsx(ae,{bucket:i,active:s===i.machineId&&m==="node",hidden:h.has(i.machineId),anyHidden:g>0,positioned:i.machineId in N,full:A.has(i.machineId),selectedId:s,selectedType:m,activeAsks:w,onSelect:u,onFocus:M,onSelectAgent:S,onToggleFull:E},i.machineId))]},e);return n.jsxs("div",{className:"ctx-panel mesh-nav",children:[n.jsxs("div",{className:"mesh-nav-head",children:[n.jsx(Y,{value:c,onChange:_,placeholder:"Find machines or agents…"}),n.jsx(ne,{active:v,onToggle:F}),g>0&&g<r&&n.jsxs("button",{type:"button",className:"mesh-nav-focus-chip",onClick:T,title:"Show all machines",children:[n.jsxs("span",{className:"mesh-nav-focus-chip-label",children:["focused · ",r-g,"/",r]}),n.jsx("span",{className:"mesh-nav-focus-chip-clear","aria-hidden":!0,children:"×"})]})]}),n.jsxs("div",{className:"mesh-nav-tree",children:[f("this host",d.get("this")??[]),f("peers",d.get("peer")??[]),f("tailnet",d.get("tailnet")??[])]})]})}export{ct as MeshLeft};
@@ -1,2 +0,0 @@
1
- import{r as d,j as i}from"./index-BFbLvCJn.js";import{u as wt,l as xt}from"./use-conversation-list-CGtcpdPd.js";import{a as It}from"./api-DSqpVKC7.js";/* empty css */import{m as Ct,c as yt,i as jt}from"./machine-scope-DJt9RZ2w.js";import{a as At,b as Rt,m as St,r as ze}from"./keyboard-nav-CEe-ApvZ.js";import{n as we,f as Ge}from"./agent-state-DDhnFEEP.js";import{f as kt,c as F,i as _e,d as Me,a as Xe,g as Mt}from"./conversations-DoAAO6kA.js";import{l as Nt,i as K,a as _,p as Fe,t as $t,b as Lt}from"./conversation-prefs-DNre-Lcx.js";import{i as Pt,l as Bt,s as De}from"./sessionRead-CvFz2RHv.js";import{u as Tt,f as be,b as Ot}from"./use-fleet-active-asks-DAHOPYPV.js";import{p as Et,N as Ke,g as Ut,t as Gt}from"./sessions-view-lGMwwZY7.js";import{u as _t,a as Ft}from"./Provider-BEXAZWd9.js";import{u as Dt}from"./use-beside-DopIbJwf.js";import{t as re}from"./time-Dhsh_2EG.js";import{b as Kt}from"./router-CJIx83Ia.js";import{c as Ze}from"./message-visibility-DwxgcgYK.js";import{R as Ne}from"./RailRow-Ddz90weI.js";import{a as Ve,c as qe}from"./agent-master-model-Bk_yuUXJ.js";import"./sse-BVxO0zNp.js";import"./index-BWHgHrtv.js";import"./theme-vars-DNK0nn3k.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-D-VB5vdt.js";import"./runtime-picker-IRcTkMZ5.js";import"./scout-voice-Cdh6pCsb.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CCG7hG7z.js";import"./createLucideIcon-CKbjXlwv.js";import"./media-blobs-Bi8pxr1u.js";import"./index-CXzJ_hGx.js";import"./HarnessMark-CP-PWk2W.js";import"./conversation-model-FxDeWlle.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-BYsEu9dZ.js";import"./x-BcfhXYiF.js";import"./chevron-down-DEDSNJNY.js";import"./search-Bv2IONmc.js";import"./file-text-BOJQiS8p.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-mxzPxQQW.js";import"./TextDocumentSurface-DBslUq9k.js";import"./index-V8FYEUpD.js";import"./chevron-right-B02kAw12.js";import"./folder-C2emmTHq.js";import"./chevron-up-CzveykKG.js";import"./code-xml-E9gBuiVs.js";import"./arrow-left-DNjQHf4C.js";import"./arrow-right-A_yyXwoH.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DVhUsgOw.js";import"./comms-deck-CBhsXnY-.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./AgentAvatar-Dn8TUv5W.js";import"./SpriteAvatar-D53GaaK3.js";import"./CrewAvatar-a_C_F9r_.js";function ve(e){const n=e.split("/").filter(Boolean);return n[n.length-1]??e}function et(e){const n=e.replace(/\/+$/,"").split("/");return n[n.length-1]??e}function Vt(e,n){const s=ve(n).toLowerCase(),r=e.filter(m=>!!m.projectRoot),u=r.filter(m=>et(m.projectRoot).toLowerCase()===s),c=u.length>0?u:r,a=qt(c);return a?{label:(u.length>0?c.find(m=>m.projectRoot===a):[...c].sort((m,f)=>f.lastActivityAt-m.lastActivityAt)[0])?.project??ve(n),canonicalRoot:a}:{label:ve(n),canonicalRoot:null}}function qt(e){const n=new Map;for(const c of e){const a=n.get(c.projectRoot)??{count:0,latest:0};a.count+=1,a.latest=Math.max(a.latest,c.lastActivityAt),n.set(c.projectRoot,a)}let s=null,r=-1,u=-1;for(const[c,a]of n)(a.count>r||a.count===r&&a.latest>u)&&(s=c,r=a.count,u=a.latest);return s}function Qt(e,n,s,r){const u=new Map;for(const a of e){const v=kt(a),m=a.agentId?n.get(a.agentId):void 0,f=m?.repoKey??null,g=m?.project??null,N=(a.agentName??F(a)).trim(),b=v?`channel:${a.id}`:f?`repo:${f.toLowerCase()}`:g?`project:${g.toLowerCase()}`:N?`name:${N.toLowerCase()}`:`dm:${a.id}`,j=v?F(a):f?ve(f):g??N??F(a);let w=u.get(b);if(w||(w={key:b,label:j,isChannel:v,conversations:[],bestState:"blocked",latestUpdate:0,unreadCount:0,canonicalRoot:null},u.set(b,w)),w.conversations.push(a),w.latestUpdate=Math.max(w.latestUpdate,a.lastMessageAt??0),Pt(a.lastMessageAt,a.id,s)&&(w.unreadCount+=1),!v&&m){const S=we(m.state);Ge(S)<Ge(w.bestState)&&(w.bestState=S)}}for(const a of u.values()){if(a.key.startsWith("repo:")){const v=a.conversations.map(f=>{const g=f.agentId?n.get(f.agentId):void 0;return{project:g?.project??null,projectRoot:g?.projectRoot??null,lastActivityAt:f.lastMessageAt??0}}),m=Vt(v,a.key.slice(5));a.label=m.label,a.canonicalRoot=m.canonicalRoot}a.conversations.sort((v,m)=>(m.lastMessageAt??0)-(v.lastMessageAt??0))}const c=Array.from(u.values());return c.sort((a,v)=>v.latestUpdate-a.latestUpdate),c}const tt="scout:messages:rail:v2",ge={view:"sessions",groupBy:"recent"};let Se=null;function Ht(e){return e==="agents"||e==="sessions"}function Jt(e){return e==="recent"||e==="project"||e==="agent"||e==="day"||e==="state"}function Yt(){if(Se)return Se;try{const e=window.localStorage.getItem(tt);if(!e)return{...ge};const n=JSON.parse(e);return{view:Ht(n.view)?n.view:ge.view,groupBy:Jt(n.groupBy)?n.groupBy:ge.groupBy}}catch{return{...ge}}}function Qe(e){try{window.localStorage.setItem(tt,JSON.stringify(e))}catch{Se=e}return e}const Wt=12,zt=[["recent","Recent"],["project","Project"],["agent","Agent"],["day","Day"],["state","State"]];function uo(){const{route:e,navigate:n,agents:s,apiConnection:r}=_t(),{sessions:u,loading:c,loadError:a,reload:v}=wt(),[m,f]=d.useState(()=>Bt()),[g,N]=d.useState(()=>Nt()),[b,j]=d.useState(""),[w,S]=d.useState(()=>new Set),[V,l]=d.useState(!1),[x,q]=d.useState(!1),[X,Z]=d.useState(!1),[B,Q]=d.useState(()=>Yt()),C=B.view,H=d.useCallback(t=>{Q(o=>Qe({...o,view:t}))},[]),it=d.useCallback(t=>{Q(o=>Qe({...o,groupBy:t}))},[]),M=Tt(),A=Kt(e),ee=d.useMemo(()=>Ct(s,A),[s,A]),R=d.useMemo(()=>{const t=new Map,o=ee?s.filter(p=>ee.has(p.id)):s;for(const p of o)t.set(p.id,p);return t},[s,ee]),xe=e.view==="messages"||e.view==="conversation"||e.view==="agent-info"||e.view==="agents-v2"?e.conversationId:void 0,te=e.view==="messages"?e.agentId:void 0;d.useEffect(()=>{q(!1)},[b]);const ne=d.useMemo(()=>yt(u,ee,A),[u,ee,A]),Ie=d.useMemo(()=>b?ne.filter(t=>He(t,b)):ne,[ne,b]),oe=d.useMemo(()=>{const t=o=>be(M,o)?.updatedAt??0;return ne.filter(o=>K(o.id,g)||!_e(o)?!1:be(M,o)?.status==="needs_attention").sort((o,p)=>t(p)-t(o))},[ne,g,M]),se=d.useMemo(()=>b?oe.filter(t=>He(t,b)):oe,[oe,b]),I=d.useMemo(()=>{const t=Ie.filter(k=>!K(k.id,g)),o=he(Ie.filter(k=>K(k.id,g))),p=t.filter(k=>_(k.id,g)).sort((k,z)=>Fe(z.id,g)-Fe(k.id,g)||(z.lastMessageAt??0)-(k.lastMessageAt??0)),W=t.filter(k=>!_(k.id,g)),h=W.filter(Me),y=W.filter(_e),L=W.filter(Xe);return{pinned:p,channels:he(h),dms:he(y),observed:he(L),archived:o}},[Ie,R,m,g]),$=d.useMemo(()=>{const t=new Map,o=[];for(const h of I.dms){if(!h.agentId){o.push(h);continue}const y=R.get(h.agentId),L=Ve(y,h.agentId),k=y?[...R.values()].filter(E=>Ve(E,E.id)===L):[],z=qe(k)??y,ft=z?.name??h.agentName??h.agentId.split(".")[0]??h.agentId,P=t.get(L);if(P){P.count+=1,P.memberAgentIds.includes(h.agentId)||P.memberAgentIds.push(h.agentId);const E=qe([P.agent,y].filter(bt=>!!bt));P.agent=E,P.agentId=E?.id??[...P.memberAgentIds].sort()[0],P.name=E?.name??P.name;continue}t.set(L,{agentId:z?.id??h.agentId,agent:z,name:ft,memberAgentIds:k.length>0?k.map(E=>E.id).sort():[h.agentId],latest:h,count:1})}const p=new Map;for(const h of t.values()){const y=Et(h.agent),L=p.get(y);L?L.push(h):p.set(y,[h])}for(const h of p.values())h.sort((y,L)=>y.name.localeCompare(L.name));return{projects:[...p.keys()].sort((h,y)=>h===Ke?1:y===Ke?-1:h.localeCompare(y)).map(h=>({label:h,entries:p.get(h)})),unassigned:o}},[I.dms,R]),J=C==="sessions"&&B.groupBy==="recent",ce=d.useMemo(()=>J?[]:I.channels,[J,I.channels]),Y=d.useMemo(()=>J?[]:Qt(I.observed,R,m),[J,I.observed,R,m]),le=d.useMemo(()=>{if(C!=="sessions")return[];const t=J?[...I.dms,...I.channels,...I.observed]:I.dms;return Ut(t,B.groupBy,R,M,Date.now())},[C,J,I.dms,I.channels,I.observed,B.groupBy,R,M]),Le=Ft(),de=d.useCallback(t=>{N(o=>$t(t,o))},[]),ue=d.useCallback(t=>{N(o=>Lt(t,o))},[]),Ce=Xt(),ae=Dt(),T=d.useCallback(t=>{f(De(t.id)),n({view:"messages",conversationId:t.id,...A?{machineId:A}:{}})},[n,A]),rt=d.useCallback(t=>{n({view:"messages",agentId:t,...A?{machineId:A}:{}})},[n,A]),ct=d.useCallback(t=>{if(f(De(t.id)),t.agentId){n({view:"messages",agentId:t.agentId,threadId:t.id,...A?{machineId:A}:{}});return}n({view:"messages",conversationId:t.id,...A?{machineId:A}:{}})},[n,A]),D=d.useCallback((t,o)=>{const p=_(o.id,g),W=K(o.id,g),h=F(o),y=[{kind:"action",label:"Open",onSelect:()=>T(o)},{kind:"action",label:ae.has(o.id)?"Close beside the stage":"Open beside the stage",onSelect:()=>ae.toggle(o.id)},{kind:"separator"},{kind:"action",label:p?"Unpin":"Pin to top",onSelect:()=>de(o.id)},{kind:"action",label:W?"Unarchive":"Archive",onSelect:()=>ue(o.id)},{kind:"separator"},{kind:"action",label:"Rename…",onSelect:()=>Ce.begin(o.id)},{kind:"action",label:"Copy name",onSelect:()=>{navigator.clipboard?.writeText(h).catch(()=>{})}}];Le(t,y)},[g,T,de,ue,Le,Ce,ae]),lt=t=>{S(o=>{const p=new Set(o);return p.has(t)?p.delete(t):p.add(t),p})},dt=r.status==="offline"||jt(a),Pe=d.useRef(null),Be=d.useRef(null),ut=At(),pt=St(()=>Pe.current);Rt(d.useCallback(()=>Be.current,[]));const ye=I.pinned.length,je=ce.length,mt=C==="agents"?$.projects.reduce((t,o)=>t+o.entries.length,0)+$.unassigned.length:le.reduce((t,o)=>t+o.sessions.length,0),Ae=Y.reduce((t,o)=>t+o.conversations.length,0),pe=I.archived.length,Te=ye+je+mt+Ae+pe,gt=V||!!b,Re=d.useMemo(()=>{const t=[];for(const o of se)t.push({rowId:`ny-${o.id}`,id:o.id});for(const o of I.pinned)t.push({rowId:`pin-${o.id}`,id:o.id});if(C==="agents"){for(const o of $.projects)for(const p of o.entries)t.push({rowId:`agent-${p.agentId}`,id:`agent-${p.agentId}`});for(const o of $.unassigned)t.push({rowId:o.id,id:o.id})}else for(const o of le)for(const p of o.sessions)t.push({rowId:p.id,id:p.id});for(const o of ce)t.push({rowId:o.id,id:o.id});for(const o of Y)for(const p of o.conversations)t.push({rowId:p.id,id:p.id});for(const o of I.archived)t.push({rowId:`arch-${o.id}`,id:o.id});return t},[se,I,C,$,le,ce,Y]),ht=e.view==="messages"?e.threadId:void 0,Oe=d.useMemo(()=>{if(te){for(const t of $.projects)for(const o of t.entries)if(o.agentId===te||o.memberAgentIds.includes(te))return o.agentId;return te}},[te,$]),me=xe??(C==="sessions"?ht:void 0)??(Oe?`agent-${Oe}`:void 0),O=d.useMemo(()=>({activeId:me,activeRowId:me?Re.find(t=>t.id===me)?.rowId:void 0,firstRowId:Re[0]?.rowId}),[me,Re]),Ee=x||b?Y:Y.slice(0,Wt),Ue=Math.max(0,Y.length-Ee.length),vt=t=>!!(b||w.has(t.key)||xe&&t.conversations.some(o=>o.id===xe)),ie=t=>i.jsx(ke,{pinned:_(t.id,g),archived:K(t.id,g),beside:ae.has(t.id),onTogglePin:()=>de(t.id),onToggleArchive:()=>ue(t.id),onToggleBeside:()=>ae.toggle(t.id)});return i.jsx(nt.Provider,{value:Ce,children:i.jsxs("div",{className:"ctx-panel",children:[i.jsxs("div",{className:"ctx-panel-toolbar",children:[i.jsx("input",{ref:Be,type:"text",className:"ctx-panel-search-input",placeholder:"Filter… (/)",value:b,onChange:t=>j(t.target.value),onKeyDown:pt}),oe.length>0&&i.jsx("span",{className:"ctx-panel-rail-stat",title:"Asks waiting on your reply",children:nn(oe.length)})]}),i.jsxs("div",{className:"ctx-panel-viewtoggle",role:"tablist","aria-label":"Rail view",children:[i.jsx("button",{type:"button",role:"tab","aria-selected":C==="agents",className:`ctx-panel-viewtab${C==="agents"?" ctx-panel-viewtab--on":""}`,onClick:()=>H("agents"),children:"Agents"}),i.jsx("button",{type:"button",role:"tab","aria-selected":C==="sessions",className:`ctx-panel-viewtab${C==="sessions"?" ctx-panel-viewtab--on":""}`,onClick:()=>H("sessions"),children:"Sessions"})]}),i.jsx("div",{ref:Pe,className:["ctx-panel-list","ctx-panel-list--scroll",Te===0&&"ctx-panel-list--empty"].filter(Boolean).join(" "),onKeyDown:ut,children:Te===0?i.jsx(tn,{query:b,loading:c,error:a,apiOffline:dt,onRetry:()=>{v(!0)}}):i.jsxs(i.Fragment,{children:[se.length>0&&i.jsx(U,{label:"Needs you",count:se.length,hint:"Asks waiting on your reply",children:se.map(t=>i.jsx(G,{rowId:`ny-${t.id}`,session:t,nav:O,agentById:R,asksByAgent:M,onSelect:T,onContextMenu:D},`ny-${t.id}`))}),ye>0&&i.jsx(U,{label:"Pinned",count:ye,hint:"Pinned conversations",children:I.pinned.map(t=>i.jsx(G,{rowId:`pin-${t.id}`,session:t,nav:O,agentById:R,asksByAgent:M,pinned:!0,actions:ie(t),onSelect:T,onContextMenu:D},`pin-${t.id}`))}),C==="agents"&&$.projects.map(t=>i.jsx(U,{label:t.label,count:t.entries.length,children:t.entries.map(o=>i.jsx(Zt,{entry:o,nav:O,ask:Ot(M,o.memberAgentIds),onSelect:rt},o.agentId))},t.label)),C==="agents"&&$.unassigned.length>0&&i.jsx(U,{label:"Direct",count:$.unassigned.length,hint:"Conversations without a resolved agent",children:$.unassigned.map(t=>i.jsx(G,{rowId:t.id,session:t,nav:O,agentById:R,asksByAgent:M,actions:ie(t),onSelect:T,onContextMenu:D},t.id))}),C==="sessions"&&i.jsxs("div",{className:"ctx-panel-groupbar",role:"radiogroup","aria-label":"Order the queue by",children:[i.jsx("span",{className:"ctx-panel-groupbar-label",children:"Order"}),zt.map(([t,o])=>i.jsx("button",{type:"button",role:"radio","aria-checked":B.groupBy===t,className:`ctx-panel-groupchip${B.groupBy===t?" ctx-panel-groupchip--on":""}`,onClick:()=>it(t),children:o},t))]}),C==="sessions"&&le.map(t=>i.jsx(U,{label:t.label,count:t.sessions.length,children:t.sessions.map(o=>i.jsx(G,{rowId:o.id,session:o,nav:O,agentById:R,asksByAgent:M,taskTitled:!0,actions:ie(o),onSelect:ct,onContextMenu:D},o.id))},t.label)),je>0&&i.jsx(U,{label:"Channels",count:je,children:ce.map(t=>i.jsx(G,{rowId:t.id,session:t,nav:O,agentById:R,asksByAgent:M,actions:ie(t),onSelect:T,onContextMenu:D},t.id))}),Ae>0&&i.jsxs(U,{label:"Observed",count:Ae,hint:"Agent conversations you’re not in",open:gt,onToggle:()=>l(t=>!t),children:[Ee.map(t=>i.jsx(en,{group:t,isOpen:vt(t),nav:O,agentById:R,asksByAgent:M,prefs:g,observed:!0,onToggle:()=>lt(t.key),onSelect:T,onTogglePin:de,onToggleArchive:ue,onContextMenu:D},t.key)),Ue>0?i.jsxs("button",{type:"button",className:"ctx-panel-more",onClick:()=>q(!0),children:["+ ",Ue," more observed"]}):null]}),pe>0&&i.jsxs(U,{label:"Archived",count:pe,hint:"Hidden from the main rail",children:[i.jsx("button",{type:"button",className:"ctx-panel-more",onClick:()=>Z(t=>!t),children:X?"▾ hide archived":`› show ${pe} archived`}),X?I.archived.map(t=>i.jsx(G,{rowId:`arch-${t.id}`,session:t,nav:O,agentById:R,asksByAgent:M,actions:ie(t),onSelect:T,onContextMenu:D},`arch-${t.id}`)):null]})]})})]})})}const nt=d.createContext(null);function Xt(){const[e,n]=d.useState(null),[s,r]=d.useState({}),u=d.useCallback((c,a)=>{n(null);const v=a.trim();r(m=>({...m,[c]:v})),It(`/api/conversations/${encodeURIComponent(c)}/title`,{method:"POST",body:JSON.stringify({title:v})}).then(()=>xt({force:!0})).catch(()=>{}).then(()=>{r(m=>{const{[c]:f,...g}=m;return g})})},[]);return{editingId:e,renamed:s,begin:d.useCallback(c=>n(c),[]),commit:u,cancel:d.useCallback(()=>n(null),[])}}function U({label:e,count:n,hint:s,open:r,onToggle:u,children:c}){return u?i.jsxs("section",{className:"ctx-panel-rail-section","aria-label":e,children:[i.jsxs("button",{type:"button",className:"ctx-panel-section-label ctx-panel-section-toggle",title:s,"aria-expanded":!!r,onClick:u,children:[i.jsxs("span",{className:"ctx-panel-section-toggle-label",children:[i.jsx("span",{className:"ctx-panel-section-chevron","aria-hidden":!0,children:r?"▾":"▸"}),e]}),i.jsx("span",{className:"ctx-panel-count",children:n})]}),r?i.jsx("div",{className:"ctx-panel-rail-section-body",children:c}):null]}):i.jsxs("section",{className:"ctx-panel-rail-section","aria-label":e,children:[i.jsxs("div",{className:"ctx-panel-section-label",title:s,children:[i.jsx("span",{children:e}),i.jsx("span",{className:"ctx-panel-count",children:n})]}),i.jsx("div",{className:"ctx-panel-rail-section-body",children:c})]})}function ke({pinned:e,archived:n,beside:s,onTogglePin:r,onToggleArchive:u,onToggleBeside:c}){return i.jsxs(i.Fragment,{children:[c?i.jsx("button",{type:"button",className:["rr-row-action",s&&"rr-row-action--on"].filter(Boolean).join(" "),title:s?"Close the column beside the stage":"Keep this conversation beside the stage","aria-label":s?"Close beside":"Open beside","aria-pressed":s,onClick:a=>{a.stopPropagation(),c()},children:"Beside"}):null,i.jsx("button",{type:"button",className:["rr-row-action",e&&"rr-row-action--on"].filter(Boolean).join(" "),title:e?"Unpin":"Pin to top","aria-label":e?"Unpin":"Pin",onClick:a=>{a.stopPropagation(),r()},children:e?"Unpin":"Pin"}),i.jsx("button",{type:"button",className:["rr-row-action",n&&"rr-row-action--on"].filter(Boolean).join(" "),title:n?"Unarchive":"Archive","aria-label":n?"Unarchive":"Archive",onClick:a=>{a.stopPropagation(),u()},children:n?"Restore":"Archive"})]})}function G({session:e,rowId:n,nav:s,agentById:r,asksByAgent:u,pinned:c,depth:a,actions:v,worktreeLabel:m,taskTitled:f,onSelect:g,onContextMenu:N}){const b=e.id===s.activeId,j=d.useContext(nt),w=j?.renamed[e.id]??(f?Gt(e):F(e)),S=Me(e),V=Xe(e),l=e.agentId?r.get(e.agentId):void 0,x=be(u,e),q=!S&&!V&&x?.status==="needs_attention",X=Ye(e,l),Z=l?.name??e.agentName??void 0,B=S?`${e.participantCount??e.participantIds.length} members`:f?Z?.toLowerCase()===w.toLowerCase()?void 0:Z:X.toLowerCase()===w.toLowerCase()?void 0:X,Q=!S&&!f&&x?at(e,l,x):B,C=V?Q?`watching · ${Q}`:"watching":Q;return i.jsx(Ne,{depth:a,name:a===1?Je(e,l,x):w,sub:a===1?Ye(e,l):C,meta:x?re(x.updatedAt):e.lastMessageAt?re(e.lastMessageAt):void 0,tone:S?"channel":x?st(l,x):l?we(l.state):"dm",agent:S?void 0:l,avatarName:a===1?l?.name??Je(e,l,x):f?Z??w:w,avatarKind:S?"channel":"user",active:b,unread:q,pinned:c,activityLabel:x?$e(x):void 0,activityTone:x?ot(x):void 0,worktreeLabel:m??void 0,title:a===1?on(e,l,x):void 0,actions:j?.editingId===e.id?void 0:v,editing:j&&j.editingId===e.id?{value:w,onCommit:H=>j.commit(e.id,H),onCancel:j.cancel}:void 0,tabIndex:ze(n===s.activeRowId,s.activeRowId!==void 0,n===s.firstRowId),onClick:()=>g(e),onContextMenu:N?H=>N(H,e):void 0})}function Zt({entry:e,nav:n,ask:s,onSelect:r}){const u=`agent-${e.agentId}`,c=e.agent,a=s?re(s.updatedAt):e.latest.lastMessageAt?re(e.latest.lastMessageAt):void 0;return i.jsx(Ne,{name:e.name,sub:s?at(e.latest,c,s):void 0,meta:e.count>1?a?`${e.count} · ${a}`:`${e.count}`:a,tone:s?st(c,s):c?we(c.state):"dm",agent:c,avatarName:e.name,avatarKind:"user",active:u===n.activeId,unread:s?.status==="needs_attention",activityLabel:s?$e(s):void 0,activityTone:s?ot(s):void 0,tabIndex:ze(u===n.activeRowId,n.activeRowId!==void 0,u===n.firstRowId),onClick:()=>r(e.agentId)})}function en({group:e,isOpen:n,nav:s,agentById:r,asksByAgent:u,prefs:c,observed:a,onToggle:v,onSelect:m,onTogglePin:f,onToggleArchive:g,onContextMenu:N}){if(e.conversations.length===1){const l=e.conversations[0];return i.jsx(G,{rowId:l.id,session:l,nav:s,agentById:r,asksByAgent:u,pinned:_(l.id,c),actions:i.jsx(ke,{pinned:_(l.id,c),archived:K(l.id,c),onTogglePin:()=>f(l.id),onToggleArchive:()=>g(l.id)}),onSelect:m,onContextMenu:N})}const b=e.conversations.map(l=>be(u,l)).filter(l=>!!l),j=b.length,w=b.filter(l=>l.status==="working").length,S=b.filter(l=>l.status==="needs_attention").length,V=e.conversations.some(l=>l.id===s.activeId);return i.jsxs("div",{children:[i.jsx(Ne,{name:e.label,meta:j>0?`${j} active · ${We(e)}`:We(e),tone:w>0?"in_turn":e.bestState,caret:n?"open":"closed",active:V&&!n,unread:!a&&S>0&&!n,activityLabel:j>0?`${j} active`:void 0,activityTone:S>0?"attention":w>0?"working":"pending",onClick:v}),n&&e.conversations.map(l=>{const x=l.agentId?r.get(l.agentId):void 0,q=e.canonicalRoot&&x?.projectRoot&&x.projectRoot!==e.canonicalRoot?et(x.projectRoot):null;return i.jsx(G,{rowId:l.id,session:l,depth:1,nav:s,agentById:r,asksByAgent:u,pinned:_(l.id,c),worktreeLabel:q,actions:i.jsx(ke,{pinned:_(l.id,c),archived:K(l.id,c),onTogglePin:()=>f(l.id),onToggleArchive:()=>g(l.id)}),onSelect:m,onContextMenu:N},l.id)})]},e.key)}function tn({query:e,loading:n,error:s,apiOffline:r,onRetry:u}){const c=e.trim().length>0,a=n?"Loading conversations":r?"Scout server offline":s?"Couldn't load conversations":c?"No matching conversations":"No conversations yet",v=n?"Checking the broker for your conversations, channels, and observed threads.":r?"Start or restart Scout services, then retry.":s||(c?"Try a shorter filter.":"Your conversations, channels, and observed agent threads will show here.");return i.jsxs("div",{className:"ctx-panel-empty-card","data-tone":r||s?"error":"neutral",children:[i.jsx("div",{className:"ctx-panel-empty-card-title",children:a}),i.jsx("div",{className:"ctx-panel-empty-card-detail",children:v}),(r||s)&&i.jsx("button",{type:"button",className:"ctx-panel-empty-card-action",onClick:u,children:"Retry"})]})}function He(e,n){const s=n.toLowerCase();return F(e).toLowerCase().includes(s)||e.id.toLowerCase().includes(s)||(e.preview??"").toLowerCase().includes(s)||(e.agentName??"").toLowerCase().includes(s)}function nn(e){return e===1?"1 needs a reply":`${e} need a reply`}function $e(e){return e.status==="queued"?"Starting":e.status==="working"?"Working":e.status==="needs_attention"?"Needs you":e.statusLabel||e.status}function ot(e){return e.status==="queued"?"pending":e.status==="needs_attention"?"attention":"working"}function st(e,n){return n.status==="working"?"in_turn":e?we(e.state):"dm"}function at(e,n,s){const r=$e(s),u=fe(s.task)??fe(s.summary)??fe(e.preview)??e.currentBranch??n?.branch??"";return u?`${r} · ${u}`:r}function he(e){return[...e].sort((n,s)=>(s.lastMessageAt??0)-(n.lastMessageAt??0))}function Je(e,n,s){const r=s?.task??fe(e.preview)??e.currentBranch??n?.branch??"",u=n?.name??e.agentName??F(e);return r?`${u} · ${r}`:u}function on(e,n,s){const r=[];return s&&r.push(`task: ${s.task}`),e.preview&&r.push(`preview: ${Ze(e.preview)}`),(e.currentBranch??n?.branch)&&r.push(`branch: ${e.currentBranch??n?.branch}`),n?.harness&&r.push(`harness: ${n.harness}`),r.length>0?r.join(`
2
- `):void 0}function Ye(e,n){if(Me(e))return Mt(e);const s=n?.handle?.trim().replace(/^@+/,"");return s||(e.agentId?e.agentId.split(".")[0]??e.agentId:F(e))}function fe(e){if(!e)return null;const n=Ze(e).replace(/\s+/g," ").trim();return n?n.length>60?`${n.slice(0,57)}…`:n:null}function We(e){const n=e.latestUpdate?re(e.latestUpdate):"",s=`${e.conversations.length}`;return n?`${s} · ${n}`:s}export{uo as ChatLeft};
@@ -1 +0,0 @@
1
- .terminal-nav-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-lg);border-bottom:1px solid color-mix(in srgb,var(--border) 32%,transparent)}.terminal-nav-title{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-xl);text-transform:uppercase;color:var(--dim)}.terminal-nav-summary{margin-top:var(--space-3xs);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-sm);color:var(--muted);text-transform:uppercase}.terminal-nav-refresh{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;flex:none;border:1px solid color-mix(in srgb,var(--border) 48%,transparent);border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer}.terminal-nav-refresh:hover:not(:disabled){border-color:color-mix(in srgb,var(--ink) 18%,transparent);color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent)}.terminal-nav-refresh:disabled{cursor:progress;opacity:.55}.terminal-nav-toolbar{padding:var(--space-md) var(--space-lg)}.terminal-nav-modes{flex:none;display:flex;gap:1px;margin:var(--space-sm) var(--space-lg) 0;padding:var(--space-3xs);background:color-mix(in srgb,var(--ink) 4%,transparent);border:1px solid color-mix(in srgb,var(--border) 40%,transparent);border-radius:var(--radius-md)}.terminal-nav-mode{flex:1;display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2xs, 3px) 0;border:none;background:transparent;color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;transition:background .1s,color .1s}.terminal-nav-mode:hover{color:var(--ink)}.terminal-nav-mode--active{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.terminal-nav-error{flex:none;padding:0 var(--space-lg) var(--space-sm);font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--red)}.terminal-nav-list{flex:1;min-height:0;overflow-y:auto;padding:var(--space-xs) 0 var(--space-lg)}.terminal-nav-section{padding:var(--space-xs) 0 var(--space-sm)}.terminal-nav-section+.terminal-nav-section{border-top:1px solid color-mix(in srgb,var(--ink) 7%,transparent);padding-top:var(--space-md)}.terminal-nav-section-title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-xs) var(--space-lg) var(--space-sm);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-xl);text-transform:uppercase;color:var(--dim)}.terminal-nav-section-title span:last-child{color:var(--muted);letter-spacing:var(--tracking-sm)}.terminal-nav-section-title--review{padding-top:var(--space-md);color:color-mix(in srgb,var(--red) 76%,var(--dim))}.terminal-nav-inactive-toggle{width:100%;min-height:34px;display:grid;grid-template-columns:16px minmax(0,1fr) auto auto;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-lg);border:0;background:transparent;color:var(--dim);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-lg);text-align:left;text-transform:uppercase}.terminal-nav-inactive-toggle:hover,.terminal-nav-inactive-toggle:focus-visible{background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--muted)}.terminal-nav-inactive-toggle:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.terminal-nav-inactive-toggle svg{transition:transform .12s ease}.terminal-nav-inactive-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.terminal-nav-review-count{color:color-mix(in srgb,var(--red) 68%,var(--dim));letter-spacing:var(--tracking-sm)}.terminal-nav-empty{padding:var(--space-md) var(--space-lg);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-md);text-transform:uppercase;color:var(--dim)}.terminal-nav-row{width:100%;position:relative;border-left:2px solid transparent;border-bottom:1px solid color-mix(in srgb,var(--ink) 5%,transparent);background:transparent}.terminal-nav-row:hover,.terminal-nav-row:focus-within{background:color-mix(in srgb,var(--ink) 5%,transparent)}.terminal-nav-row--active{border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.terminal-nav-row-select{width:100%;min-height:48px;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-lg);border:0;background:transparent;color:var(--muted);cursor:pointer;text-align:left;font-family:inherit}.terminal-nav-row:hover .terminal-nav-row-select,.terminal-nav-row:focus-within .terminal-nav-row-select,.terminal-nav-row--active .terminal-nav-row-select{padding-right:calc(var(--space-lg) + 56px)}.terminal-nav-row--review:hover .terminal-nav-row-select,.terminal-nav-row--review:focus-within .terminal-nav-row-select,.terminal-nav-row--review.terminal-nav-row--active .terminal-nav-row-select{padding-right:calc(var(--space-lg) + 84px)}.terminal-nav-row-select:focus-visible,.terminal-nav-action:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.terminal-nav-row-icon{color:color-mix(in srgb,var(--ink) 44%,transparent)}.terminal-nav-agent-dot{width:10px;height:10px;justify-self:center;border:1px solid color-mix(in srgb,var(--ink) 26%,transparent);border-radius:999px;background:color-mix(in srgb,var(--ink) 10%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--ink) 4%,transparent)}.terminal-nav-agent-dot--bound{border-color:color-mix(in srgb,var(--accent) 46%,transparent);background:color-mix(in srgb,var(--accent) 62%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 9%,transparent)}.terminal-nav-row-main{min-width:0;display:grid;gap:1px}.terminal-nav-row-title{min-width:0;display:flex;align-items:center;gap:var(--space-sm);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;color:var(--muted)}.terminal-nav-row--active .terminal-nav-row-title{color:var(--ink)}.terminal-nav-row-title span:last-child,.terminal-nav-row-detail{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terminal-nav-row-detail{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--dim);letter-spacing:var(--tracking-sm)}.terminal-nav-row-because{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-2xs);color:var(--dim)}.terminal-nav-row-because--screen{font-family:var(--font-mono);color:color-mix(in srgb,var(--accent) 78%,var(--ink))}.terminal-nav-search-hint{display:flex;align-items:center;gap:var(--space-sm);padding:2px var(--space-md) var(--space-sm);font-size:var(--text-2xs);color:var(--dim)}.terminal-nav-search-hint code{font-family:var(--font-mono);color:var(--muted)}.terminal-nav-search-working{color:color-mix(in srgb,var(--accent) 70%,var(--ink))}.terminal-nav-badges{flex:none;display:inline-flex;align-items:center;gap:var(--space-3xs);max-width:128px;overflow:hidden;transition:opacity .12s ease}.terminal-nav-badge{min-width:0;max-width:78px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:1px var(--space-2xs);border:1px solid color-mix(in srgb,var(--border) 42%,transparent);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-sm);color:color-mix(in srgb,var(--ink) 48%,transparent);text-transform:uppercase}.terminal-nav-badge--backend{max-width:48px;color:color-mix(in srgb,var(--ink) 60%,transparent)}.terminal-nav-badge--review{border-color:color-mix(in srgb,var(--red) 28%,transparent);color:color-mix(in srgb,var(--red) 76%,var(--muted))}.terminal-nav-row-actions{position:absolute;top:50%;right:var(--space-lg);display:flex;align-items:center;gap:var(--space-3xs);transform:translateY(-50%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease,visibility .12s ease}.terminal-nav-row:hover .terminal-nav-row-actions,.terminal-nav-row:focus-within .terminal-nav-row-actions,.terminal-nav-row--active .terminal-nav-row-actions{opacity:1;visibility:visible;pointer-events:auto}.terminal-nav-row:hover .terminal-nav-badges,.terminal-nav-row:focus-within .terminal-nav-badges,.terminal-nav-row--active .terminal-nav-badges{width:0;max-width:0;gap:0;opacity:0;visibility:hidden}.terminal-nav-action{min-width:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--border) 48%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--ink) 3%,transparent);color:color-mix(in srgb,var(--ink) 62%,transparent);cursor:pointer}.terminal-nav-action span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.terminal-nav-action:hover{border-color:color-mix(in srgb,var(--ink) 20%,transparent);background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--ink)}.terminal-nav-action:disabled{cursor:progress;opacity:.5}.terminal-nav-action--release:hover:not(:disabled){border-color:color-mix(in srgb,var(--red) 36%,transparent);background:color-mix(in srgb,var(--red) 10%,transparent);color:var(--red)}.terminal-nav-action--selected{border-color:color-mix(in srgb,var(--accent) 36%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--ink)}
@@ -1 +0,0 @@
1
- import{r as m,j as t}from"./index-BFbLvCJn.js";import{u as ee}from"./chunk-YOZR3KYS-apgUnfXh.js";import{b as te,f as ae,a as ne,c as se,d as ie,s as re}from"./terminal-sessions-3RfJpen8.js";import{a as le,r as F,i as oe}from"./keyboard-nav-CEe-ApvZ.js";import{u as ce}from"./Provider-BEXAZWd9.js";import{c as me}from"./agent-state-DDhnFEEP.js";import{r as K,c as de}from"./terminal-relay-CpGHpDa8.js";import{t as ue,a as G,s as ve,b as j,P as pe}from"./session-table-BI62J4NP.js";/* empty css */import{R as he}from"./refresh-cw-BcqctLqo.js";import{A as fe}from"./activity-CXkZ620t.js";import{C as be}from"./clock-8tb9t2t9.js";import{F as xe}from"./folder-C2emmTHq.js";import{L as ye}from"./layers-ClmyjwpB.js";import{C as ge}from"./chevron-right-B02kAw12.js";import{L as D}from"./log-in-VL9mdgeE.js";import{E as B}from"./eye-CD-_aphP.js";import{T as je}from"./terminal-DMBAZjPP.js";import"./createLucideIcon-CKbjXlwv.js";import"./arrow-up-DFy-9ghF.js";import"./arrow-down--OUDFWIq.js";import"./api-DSqpVKC7.js";import"./theme-vars-DNK0nn3k.js";import"./router-CJIx83Ia.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./machine-scope-DJt9RZ2w.js";import"./sse-BVxO0zNp.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-D-VB5vdt.js";import"./runtime-picker-IRcTkMZ5.js";import"./scout-voice-Cdh6pCsb.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CCG7hG7z.js";import"./media-blobs-Bi8pxr1u.js";import"./index-CXzJ_hGx.js";import"./HarnessMark-CP-PWk2W.js";import"./conversation-model-FxDeWlle.js";import"./time-Dhsh_2EG.js";import"./conversations-DoAAO6kA.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-BYsEu9dZ.js";import"./x-BcfhXYiF.js";import"./chevron-down-DEDSNJNY.js";import"./search-Bv2IONmc.js";import"./file-text-BOJQiS8p.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-mxzPxQQW.js";import"./TextDocumentSurface-DBslUq9k.js";import"./index-V8FYEUpD.js";import"./chevron-up-CzveykKG.js";import"./code-xml-E9gBuiVs.js";import"./arrow-left-DNjQHf4C.js";import"./arrow-right-A_yyXwoH.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DVhUsgOw.js";const ke=[{id:"fleet",label:"Fleet",title:"Group by fleet: herdr, tmux, background"},{id:"places",label:"Places",title:"Group by project"},{id:"time",label:"Time",title:"Group by last activity"},{id:"attention",label:"Attention",title:"Group by attention state: attached, live, detached, exited"}],Ne=[{id:"herdr",label:"Herdr"},{id:"tmux-named",label:"Tmux"},{id:"tmux-auto",label:"Tmux · auto"},{id:"external",label:"Background"}],we=900*1e3,Se=1440*60*1e3,Ae=10080*60*1e3,W=[{key:"now",label:"Now",maxAgeMs:we},{key:"today",label:"Today",maxAgeMs:Se},{key:"week",label:"This week",maxAgeMs:Ae},{key:"older",label:"Older",maxAgeMs:null},{key:"unknown",label:"Unknown",maxAgeMs:null}],Ee=[{key:"attached",label:"Attached",rank:3},{key:"live",label:"Live",rank:2},{key:"detached",label:"Detached",rank:1},{key:"exited",label:"Exited",rank:0}];function Ie(n){return Ne.map(s=>({key:s.id,label:s.label,items:n.filter(o=>te(o)===s.id)})).filter(s=>s.items.length>0)}function Te(n){const s=new Map;for(const i of n){const l=s.get(i.project);l?l.push(i):s.set(i.project,[i])}const o=new Set(["backend-only","unscoped"]),r=[...s.entries()].map(([i,l])=>({key:`project:${i}`,label:i,items:l,latestActivity:Math.max(...l.map(u=>G(u)??0)),isCatchAll:o.has(i)}));return r.sort((i,l)=>i.isCatchAll!==l.isCatchAll?i.isCatchAll?1:-1:i.latestActivity!==l.latestActivity?l.latestActivity-i.latestActivity:i.label.localeCompare(l.label,void 0,{numeric:!0,sensitivity:"base"})),r.map(({key:i,label:l,items:u})=>({key:i,label:l,items:u}))}function Ce(n,s){const o=r=>{const i=G(r);if(i===null)return"unknown";const l=Math.max(0,s-i);for(const u of W)if(u.maxAgeMs!==null&&l<u.maxAgeMs)return u.key;return"older"};return W.map(r=>({key:r.key,label:r.label,items:n.filter(i=>o(i)===r.key)})).filter(r=>r.items.length>0)}function Re(n){return Ee.map(s=>({key:s.key,label:s.label,items:n.filter(o=>ue(o)===s.rank)})).filter(s=>s.items.length>0)}function Me(n,s,o=Date.now()){switch(s){case"fleet":return Ie(n);case"places":return Te(n);case"time":return Ce(n,o);case"attention":return Re(n)}}const Le=8e3,$e=[{id:"recent",label:"Recent"},{id:"name",label:"A–Z"}],_e={fleet:ye,places:xe,time:be,attention:fe};function zt(){const{route:n,navigate:s,agents:o}=ce(),[r,i]=m.useState({state:"loading",sessions:[]}),[l,u]=m.useState("recent"),[k,P]=ee("terminal-nav-mode","fleet"),[U,V]=m.useState(!1),[q,I]=m.useState(null),[T,C]=m.useState(null),H=m.useRef(null),Y=le();m.useEffect(()=>{const e=a=>{if(a.key!=="/"||a.metaKey||a.ctrlKey||a.altKey||oe(a.target))return;const c=()=>{const d=document.querySelector("[data-terminal-find]");return d?(d.focus(),d.select(),!0):!1};if(c()){a.preventDefault();return}a.preventDefault(),s({view:"terminal"}),requestAnimationFrame(()=>{c()||requestAnimationFrame(c)})};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[s]);const h=m.useCallback((e={})=>{e.silent||i(a=>({state:"loading",sessions:a.sessions})),ae({includeDiscovered:!0}).then(a=>{i({state:"ready",sessions:a})}).catch(a=>{e.silent||i(c=>({state:"failed",sessions:c.sessions,error:a instanceof Error?a.message:String(a)}))})},[]);m.useEffect(()=>{h()},[h]),m.useEffect(()=>{const e=()=>{document.visibilityState==="visible"&&h({silent:!0})},a=window.setInterval(e,Le);return window.addEventListener("focus",e),document.addEventListener("visibilitychange",e),()=>{window.clearInterval(a),window.removeEventListener("focus",e),document.removeEventListener("visibilitychange",e)}},[h]);const b=m.useMemo(()=>ne(r.sessions),[r.sessions]),f=m.useMemo(()=>ve(se(b),l==="recent"?{column:"activity",direction:"desc"}:{column:"name",direction:"asc"}),[l,b]),R=m.useMemo(()=>Oe(o,l).filter(e=>{const a=K(e);return a?!b.some(c=>c.surface.backend===a.backend&&c.surface.sessionName===a.sessionName&&(a.paneId==null||c.surface.paneId===a.paneId)):!0}),[o,b,l]),x=f.filter(e=>j(e)==="current"),Z=Me(x,k),y=f.filter(e=>j(e)==="inactive"),v=f.filter(e=>j(e)==="review"),M=y.length+v.length,L=v.length,g=U,p=R,J=n.view==="terminal"?n.terminalSurfaceKey??null:null,$=n.view==="terminal"?n.terminalSessionId??null:null,N=e=>ie(e.key,J)&&(!$||e.session.id===$),w=n.view==="terminal"&&n.agentId?`agent:${n.agentId}`:null,_=!!(x.some(N)||g&&[...y,...v].some(N)||w!=null&&p.some(e=>`agent:${e.id}`===w)),O=x[0]?.id??(g?y[0]?.id??v[0]?.id:void 0)??(p[0]?`agent:${p[0].id}`:void 0),Q=r.state==="loading"?"Syncing":`${f.length+R.length} targets`,S=(e,a)=>({view:"terminal",terminalSessionId:e.session.id,terminalSurfaceKey:re(e.surface),...a?{mode:a}:{}}),A=(e,a="takeover")=>({view:"terminal",agentId:e.id,mode:a}),X=async e=>{if(e.surface.backend==="tmux"&&window.confirm(`Release inactive terminal ${e.surface.sessionName}? The tmux surface will stop, but any associated Scout agent remains available and can be started again.`)){I(e.id),C(null);try{await de({backend:"tmux",sessionName:e.surface.sessionName,paneId:e.surface.paneId??null,socketDir:e.surface.socketDir??null},"release"),h({silent:!0})}catch(a){C(a instanceof Error?a.message:String(a))}finally{I(null)}}},E=e=>{const a=N(e),c=j(e),d=q===e.id;return t.jsxs("div",{className:`terminal-nav-row${a?" terminal-nav-row--active":""}${c==="review"?" terminal-nav-row--review":""}`,title:e.surface.sessionName,children:[t.jsxs("button",{type:"button","data-list-primary":!0,className:"terminal-nav-row-select",tabIndex:F(a,_,e.id===O),onClick:()=>s(S(e)),children:[t.jsx(je,{className:"terminal-nav-row-icon",size:14,strokeWidth:1.7}),t.jsxs("span",{className:"terminal-nav-row-main",children:[t.jsx("span",{className:"terminal-nav-row-title",children:t.jsx("span",{children:e.title})}),t.jsx("span",{className:"terminal-nav-row-detail",children:e.detail||e.session.sourceSessionId})]}),t.jsxs("span",{className:"terminal-nav-badges",children:[t.jsx("span",{className:"terminal-nav-badge terminal-nav-badge--backend",children:e.surface.backend}),t.jsx("span",{className:`terminal-nav-badge${c==="review"?" terminal-nav-badge--review":""}`,children:c==="current"?e.condition:c})]})]}),t.jsxs("div",{className:"terminal-nav-row-actions",children:[t.jsxs("button",{type:"button",className:`terminal-nav-action${n.view==="terminal"&&a&&n.mode==="takeover"?" terminal-nav-action--selected":""}`,onClick:()=>s(S(e,"takeover")),title:"Enter this terminal","aria-label":"Enter this terminal",children:[t.jsx(D,{size:12,strokeWidth:1.8}),t.jsx("span",{children:"Enter"})]}),t.jsxs("button",{type:"button",className:`terminal-nav-action${n.view==="terminal"&&a&&n.mode==="observe"?" terminal-nav-action--selected":""}`,onClick:()=>s(S(e,"observe")),title:"Observe this terminal read-only","aria-label":"Observe this terminal read-only",children:[t.jsx(B,{size:12,strokeWidth:1.8}),t.jsx("span",{children:"Observe"})]}),c==="review"&&e.surface.backend==="tmux"&&t.jsxs("button",{type:"button",className:"terminal-nav-action terminal-nav-action--release",onClick:()=>{X(e)},disabled:d,title:"Release this inactive tmux surface; keep the agent","aria-label":"Release this inactive tmux surface; keep the agent",children:[t.jsx(pe,{size:12,strokeWidth:1.8}),t.jsx("span",{children:d?"Releasing":"Release"})]})]})]},e.id)};return t.jsxs("div",{className:"ctx-panel terminal-nav",children:[t.jsxs("div",{className:"terminal-nav-head",children:[t.jsxs("div",{children:[t.jsx("div",{className:"terminal-nav-title",children:"Terminals"}),t.jsx("div",{className:"terminal-nav-summary",children:Q})]}),t.jsx("button",{type:"button",className:"terminal-nav-refresh",onClick:()=>h(),disabled:r.state==="loading",title:"Refresh terminals","aria-label":"Refresh terminals",children:t.jsx(he,{size:14,strokeWidth:1.8})})]}),t.jsx("div",{className:"terminal-nav-modes",role:"group","aria-label":"Group terminals",children:ke.map(e=>{const a=_e[e.id];return t.jsx("button",{type:"button",title:e.title,"aria-label":e.title,"aria-pressed":k===e.id,className:`terminal-nav-mode${k===e.id?" terminal-nav-mode--active":""}`,onClick:()=>P(e.id),children:t.jsx(a,{size:13,strokeWidth:1.8})},e.id)})}),t.jsx("div",{className:"ctx-panel-toolbar terminal-nav-toolbar",children:t.jsx("div",{className:"ctx-panel-sort",role:"group","aria-label":"Sort terminals",children:$e.map(e=>t.jsx("button",{type:"button",title:e.id==="recent"?"Sort by most recent":"Sort alphabetically","aria-pressed":l===e.id,className:`ctx-panel-sort-option${l===e.id?" ctx-panel-sort-option--active":""}`,onClick:()=>u(e.id),children:e.label},e.id))})}),r.state==="failed"&&t.jsx("div",{className:"terminal-nav-error",children:r.error}),T&&t.jsx("div",{className:"terminal-nav-error",children:T}),t.jsx("div",{ref:H,className:"terminal-nav-list",onKeyDown:Y,children:f.length===0&&p.length===0&&r.state!=="loading"?t.jsx("div",{className:"ctx-panel-empty",children:"No terminal targets"}):t.jsxs(t.Fragment,{children:[Z.map(e=>e.items.length===0?null:t.jsxs("div",{className:"terminal-nav-section",children:[t.jsxs("div",{className:"terminal-nav-section-title",children:[t.jsx("span",{children:e.label}),t.jsx("span",{children:e.items.length})]}),e.items.map(a=>E(a))]},e.key)),x.length===0&&r.state!=="loading"&&t.jsx("div",{className:"terminal-nav-empty",children:"No sessions"}),M>0&&t.jsxs("div",{className:"terminal-nav-section terminal-nav-section--inactive",children:[t.jsxs("button",{type:"button",className:"terminal-nav-inactive-toggle","aria-expanded":g,onClick:()=>V(e=>!e),children:[t.jsx(ge,{size:13,strokeWidth:1.8}),t.jsx("span",{children:"Inactive"}),t.jsx("span",{children:M}),L>0&&t.jsxs("span",{className:"terminal-nav-review-count",children:[L," review"]})]}),g&&t.jsxs(t.Fragment,{children:[y.map(e=>E(e)),v.length>0&&t.jsxs("div",{className:"terminal-nav-section-title terminal-nav-section-title--review",children:[t.jsx("span",{children:"Review after 30 days"}),t.jsx("span",{children:v.length})]}),v.map(e=>E(e))]})]}),t.jsxs("div",{className:"terminal-nav-section",children:[t.jsxs("div",{className:"terminal-nav-section-title",children:[t.jsx("span",{children:"Available agents"}),t.jsx("span",{children:p.length})]}),p.map(e=>{const a=`agent:${e.id}`,c=a===w,d=K(e);return t.jsxs("div",{className:`terminal-nav-row terminal-nav-row--agent${c?" terminal-nav-row--active":""}`,title:e.name,children:[t.jsxs("button",{type:"button","data-list-primary":!0,className:"terminal-nav-row-select",tabIndex:F(c,_,a===O),onClick:()=>s(A(e)),children:[t.jsx("span",{className:`terminal-nav-agent-dot${d?" terminal-nav-agent-dot--bound":""}`,"aria-hidden":!0}),t.jsxs("span",{className:"terminal-nav-row-main",children:[t.jsx("span",{className:"terminal-nav-row-title",children:t.jsx("span",{children:e.name})}),t.jsx("span",{className:"terminal-nav-row-detail",children:Fe(e)})]}),t.jsxs("span",{className:"terminal-nav-badges",children:[t.jsx("span",{className:"terminal-nav-badge terminal-nav-badge--backend",children:d?.backend??e.harness??"agent"}),t.jsx("span",{className:"terminal-nav-badge",children:d?"bound":me(e.state)})]})]}),t.jsxs("div",{className:"terminal-nav-row-actions",children:[t.jsxs("button",{type:"button",className:`terminal-nav-action${n.view==="terminal"&&c&&n.mode==="takeover"?" terminal-nav-action--selected":""}`,onClick:()=>s(A(e,"takeover")),title:"Enter this agent terminal","aria-label":"Enter this agent terminal",children:[t.jsx(D,{size:12,strokeWidth:1.8}),t.jsx("span",{children:"Enter"})]}),d&&t.jsxs("button",{type:"button",className:`terminal-nav-action${n.view==="terminal"&&c&&n.mode==="observe"?" terminal-nav-action--selected":""}`,onClick:()=>s(A(e,"observe")),title:"Observe this agent terminal read-only","aria-label":"Observe this agent terminal read-only",children:[t.jsx(B,{size:12,strokeWidth:1.8}),t.jsx("span",{children:"Observe"})]})]})]},e.id)}),p.length===0&&t.jsx("div",{className:"terminal-nav-empty",children:"No agents"})]})]})})]})}function Oe(n,s){return[...n].filter(o=>!o.retiredFromFleet&&!o.staleLocalRegistration).sort((o,r)=>{const i=o.name.localeCompare(r.name,void 0,{numeric:!0,sensitivity:"base"});return s==="name"?i||o.id.localeCompare(r.id):(r.updatedAt??0)-(o.updatedAt??0)||i||o.id.localeCompare(r.id)})}function Fe(n){const s=n.project??z(n.cwd)??z(n.projectRoot)??n.definitionId;return[n.handle?`@${n.handle}`:null,n.harness,s,n.branch].filter(Boolean).join(" · ")}function z(n){const s=n?.trim().replace(/\/+$/u,"");return s?s.split("/").pop()||s:null}export{zt as TerminalLeft};
@@ -1 +0,0 @@
1
- .base-rail{height:100%;overflow-y:auto}.base-rail-prepend{border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent)}.base-rail-section{padding-top:var(--space-md)}.base-rail-section:first-of-type{padding-top:var(--space-xs)}.base-rail-section-label{padding:var(--space-2xs) var(--space-lg) var(--space-2xs)}.base-rail-section-trailing{display:inline-flex;align-items:center;gap:var(--space-xs)}.base-rail-see-all{border:0;padding:var(--space-3xs) var(--space-2xs);background:transparent;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-lg);text-transform:uppercase;cursor:pointer;border-radius:var(--radius-sm);transition:background .1s,color .1s}.base-rail-see-all:hover{background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--ink)}.base-rail-loading{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg) var(--space-md)}.base-rail-loading span{display:block;width:82%;height:8px;border-radius:999px;background:color-mix(in srgb,var(--ink) 8%,transparent);animation:base-rail-loading-pulse 1.2s ease-in-out infinite alternate}.base-rail-loading span:nth-child(2n){width:61%}@keyframes base-rail-loading-pulse{0%{opacity:.45}to{opacity:.9}}@media(prefers-reduced-motion:reduce){.base-rail-loading span{animation:none}}.base-rail-section--jumps{border-bottom:none;padding-bottom:var(--space-lg)}.base-rail-jumps{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-xs);padding:var(--space-2xs) var(--space-md) 0}.base-rail-jump{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid color-mix(in srgb,var(--border) 50%,transparent);background:color-mix(in srgb,var(--bg) 70%,transparent);border-radius:var(--radius-md);color:var(--ink);cursor:pointer;font-size:var(--text-sm);font-weight:500;letter-spacing:-.003em;text-align:left;transition:background .1s,border-color .1s,color .1s}.base-rail-jump:hover{background:color-mix(in srgb,var(--ink) 5%,transparent);border-color:color-mix(in srgb,var(--border) 80%,transparent)}.base-rail-jump-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}.base-rail-jump:hover .base-rail-jump-icon{color:var(--ink)}
@@ -1 +0,0 @@
1
- import{j as r}from"./index-BFbLvCJn.js";import{u as o}from"./Provider-BEXAZWd9.js";import{OpsAgentsLeft as i}from"./left-agents-DowYF2ag.js";import{OpsDefaultLeft as m}from"./left-default-Bifaeg_V.js";import{OpsLanesLeft as p}from"./left-lanes-BGhjdqpD.js";import{OpsMissionLeft as s}from"./left-mission-CvXPUovR.js";import{OpsAdvisorLeft as e}from"./left-advisor-DBml48M5.js";import"./theme-vars-DNK0nn3k.js";import"./router-CJIx83Ia.js";import"./api-DSqpVKC7.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./machine-scope-DJt9RZ2w.js";import"./sse-BVxO0zNp.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./agent-state-DDhnFEEP.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-D-VB5vdt.js";import"./runtime-picker-IRcTkMZ5.js";import"./scout-voice-Cdh6pCsb.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CCG7hG7z.js";import"./createLucideIcon-CKbjXlwv.js";import"./media-blobs-Bi8pxr1u.js";import"./index-CXzJ_hGx.js";import"./HarnessMark-CP-PWk2W.js";import"./conversation-model-FxDeWlle.js";import"./time-Dhsh_2EG.js";import"./conversations-DoAAO6kA.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-BYsEu9dZ.js";import"./keyboard-nav-CEe-ApvZ.js";import"./x-BcfhXYiF.js";import"./chevron-down-DEDSNJNY.js";import"./search-Bv2IONmc.js";import"./file-text-BOJQiS8p.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-mxzPxQQW.js";import"./TextDocumentSurface-DBslUq9k.js";import"./index-V8FYEUpD.js";import"./chevron-right-B02kAw12.js";import"./folder-C2emmTHq.js";import"./chevron-up-CzveykKG.js";import"./code-xml-E9gBuiVs.js";import"./arrow-left-DNjQHf4C.js";import"./arrow-right-A_yyXwoH.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DVhUsgOw.js";/* empty css */import"./use-fleet-active-asks-DAHOPYPV.js";import"./RailRow-Ddz90weI.js";import"./AgentAvatar-Dn8TUv5W.js";import"./SpriteAvatar-D53GaaK3.js";import"./CrewAvatar-a_C_F9r_.js";import"./operator-attention-DBaRg5ep.js";import"./openContent-C6XO6kr5.js";import"./agent-lanes-model-DMAdqCmK.js";import"./lane-ask-display-BTVSakyo.js";import"./context-budget-8qFKqM-j.js";import"./lane-observe-CteDwdD-.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";import"./lane-roster-store-MraynTHP.js";import"./mission-control-store-e8F85JhP.js";import"./MissionLeftAgentRow-CB3cgeYr.js";import"./page-status-BIuh3C5p.js";import"./server-U_l8A83n.js";import"./layers-ClmyjwpB.js";import"./sparkles-Br-bA2aZ.js";import"./activity-CXkZ620t.js";import"./cpu-DVZ_LhPn.js";import"./gauge-BR5CrhRM.js";import"./terminal-DMBAZjPP.js";function br(){const{route:t}=o();if(t.view!=="ops")return null;switch(t.mode){case"mission":return r.jsx(s,{});case"agents":return r.jsx(i,{});case"advisor":return r.jsx(e,{});case"lanes":case"world":return r.jsx(p,{});default:return r.jsx(m,{})}}export{br as OpsLeft};
@@ -1 +0,0 @@
1
- import{r,j as t}from"./index-BFbLvCJn.js";/* empty css */import{d as w,c as S,e as y,f as M,g as b,i as A}from"./NewChatComposer-D-VB5vdt.js";import{u as k}from"./Provider-BEXAZWd9.js";import{A as N}from"./AgentAvatar-Dn8TUv5W.js";import{a as g}from"./api-DSqpVKC7.js";import{b as I}from"./machine-scope-DJt9RZ2w.js";import{b as C}from"./router-CJIx83Ia.js";import{a as B}from"./sse-BVxO0zNp.js";import{o as P,i as j}from"./surface-activity-B1rgWB1i.js";import"./runtime-picker-IRcTkMZ5.js";import"./scout-voice-Cdh6pCsb.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CCG7hG7z.js";import"./createLucideIcon-CKbjXlwv.js";import"./media-blobs-Bi8pxr1u.js";import"./index-CXzJ_hGx.js";import"./HarnessMark-CP-PWk2W.js";import"./conversation-model-FxDeWlle.js";import"./agent-state-DDhnFEEP.js";import"./time-Dhsh_2EG.js";import"./conversations-DoAAO6kA.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-BYsEu9dZ.js";import"./keyboard-nav-CEe-ApvZ.js";import"./x-BcfhXYiF.js";import"./chevron-down-DEDSNJNY.js";import"./search-Bv2IONmc.js";import"./file-text-BOJQiS8p.js";import"./theme-vars-DNK0nn3k.js";import"./scoutbot-Bk3nyrkj.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-mxzPxQQW.js";import"./TextDocumentSurface-DBslUq9k.js";import"./index-V8FYEUpD.js";import"./chevron-right-B02kAw12.js";import"./folder-C2emmTHq.js";import"./chevron-up-CzveykKG.js";import"./code-xml-E9gBuiVs.js";import"./arrow-left-DNjQHf4C.js";import"./arrow-right-A_yyXwoH.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DVhUsgOw.js";import"./SpriteAvatar-D53GaaK3.js";import"./CrewAvatar-a_C_F9r_.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./index-BWHgHrtv.js";function W(){const{agents:n,route:d}=k(),m=C(d),l=r.useMemo(()=>I(n,m),[n,m]),[p,f]=r.useState([]),[v,s]=r.useState(null),[a,u]=r.useState(null),c=r.useCallback(async()=>{const[e,i,o]=await Promise.allSettled([g("/api/conversations"),g("/api/fleet"),g("/api/tail/discover")]);e.status==="fulfilled"&&f(e.value),i.status==="fulfilled"&&s(i.value),o.status==="fulfilled"&&u(o.value)},[]);r.useEffect(()=>{c()},[c]),r.useEffect(()=>{const e=()=>{j()&&c()},i=window.setInterval(e,1e4),o=P(e);return()=>{window.clearInterval(i),o()}},[c]),B(()=>!0,()=>{j()&&c()});const x=r.useMemo(()=>{const e=new Map;for(const i of v?.activeAsks??[]){const o=e.get(i.agentId)??[];o.push(i),e.set(i.agentId,o)}return e},[v?.activeAsks]);return{projects:r.useMemo(()=>{const{sessionByAgentId:e}=w(p),i=l.map(h=>S(h,e.get(h.id)??null,x.get(h.id)??[])),o=y(a,Date.now());return M(i,p,o)},[l,p,x,a])}}function Wt(){const{route:n,navigate:d,openContextCapture:m}=k(),{projects:l}=W(),p=n.view==="agents-v2"?n.projectSlug:void 0,f=n.view==="agents-v2"?n.agentId:void 0,v=p??l[0]?.slice.slug;return t.jsxs("div",{className:"ctx-panel s-agents-rail",children:[t.jsx("div",{className:"s-agents-recent s-rail-projects",children:l.length===0?t.jsx("div",{className:"ctx-panel-empty",children:"No projects yet"}):l.map(s=>{const a=b(s),u=A(s),c=s.slice.slug===v&&!f;return t.jsxs("button",{type:"button",className:"s-rail-proj","data-selected":c||void 0,"data-live":a>0||void 0,"data-needs":u||void 0,title:s.slice.root??void 0,onClick:()=>d({view:"agents-v2",projectSlug:s.slice.slug}),children:[t.jsx(N,{name:s.slice.title,size:22,tile:!0,presence:!1}),t.jsxs("span",{className:"s-rail-proj-name","data-idle":a===0||void 0,children:[t.jsx("span",{"aria-hidden":!0,style:{opacity:.4},children:"/"}),s.slice.title]}),a>0?t.jsx("span",{className:"s-rail-proj-count","data-needs":u||void 0,title:u?"needs you":void 0,children:a}):null]},s.slice.key)})}),t.jsxs("div",{className:"s-agents-foot s-rail-foot-icons",children:[t.jsx("button",{type:"button",className:"s-rail-icon",title:"Search","aria-label":"Search",onClick:()=>d({view:"search"}),children:t.jsx(E,{})}),t.jsx("button",{type:"button",className:"s-rail-icon",title:"New chat (⌘⌥N)","aria-label":"New chat",onClick:()=>m(),children:t.jsx(L,{})}),t.jsx("button",{type:"button",className:"s-rail-icon s-rail-icon--end",title:"Settings","aria-label":"Settings",onClick:()=>d({view:"settings"}),children:t.jsx(D,{})})]})]})}function E(){return t.jsxs("svg",{width:"15",height:"15",viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:[t.jsx("circle",{cx:"7",cy:"7",r:"4.25",stroke:"currentColor",strokeWidth:"1.4"}),t.jsx("path",{d:"M10.5 10.5 14 14",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})]})}function L(){return t.jsx("svg",{width:"15",height:"15",viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:t.jsx("path",{d:"M8 3v10M3 8h10",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})}function D(){return t.jsxs("svg",{width:"15",height:"15",viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:[t.jsx("circle",{cx:"8",cy:"8",r:"2.25",stroke:"currentColor",strokeWidth:"1.3"}),t.jsx("path",{d:"M8 1.5v1.6M8 12.9v1.6M14.5 8h-1.6M3.1 8H1.5M12.6 3.4l-1.1 1.1M4.5 11.5l-1.1 1.1M12.6 12.6l-1.1-1.1M4.5 4.5 3.4 3.4",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})]})}export{Wt as AgentsLeft};
@@ -1 +0,0 @@
1
- import{r as N,j as e}from"./index-BFbLvCJn.js";import{a as I}from"./api-DSqpVKC7.js";import{b as L,c as j,s as R}from"./router-CJIx83Ia.js";import{u as $,r as y,s as b,i as C}from"./mesh-ops-9SzD3sPw.js";import{u as E,s as T}from"./mesh-view-store-CVqzYz4K.js";import{u as A}from"./Provider-BEXAZWd9.js";import{R as h}from"./RailRow-Ddz90weI.js";import{u as U}from"./use-mesh-ops-items-pKWBro7o.js";/* empty css */import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./theme-vars-DNK0nn3k.js";import"./machine-scope-DJt9RZ2w.js";import"./sse-BVxO0zNp.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./agent-state-DDhnFEEP.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-D-VB5vdt.js";import"./runtime-picker-IRcTkMZ5.js";import"./scout-voice-Cdh6pCsb.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CCG7hG7z.js";import"./createLucideIcon-CKbjXlwv.js";import"./media-blobs-Bi8pxr1u.js";import"./index-CXzJ_hGx.js";import"./HarnessMark-CP-PWk2W.js";import"./conversation-model-FxDeWlle.js";import"./time-Dhsh_2EG.js";import"./conversations-DoAAO6kA.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-BYsEu9dZ.js";import"./keyboard-nav-CEe-ApvZ.js";import"./x-BcfhXYiF.js";import"./chevron-down-DEDSNJNY.js";import"./search-Bv2IONmc.js";import"./file-text-BOJQiS8p.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-mxzPxQQW.js";import"./TextDocumentSurface-DBslUq9k.js";import"./index-V8FYEUpD.js";import"./chevron-right-B02kAw12.js";import"./folder-C2emmTHq.js";import"./chevron-up-CzveykKG.js";import"./code-xml-E9gBuiVs.js";import"./arrow-left-DNjQHf4C.js";import"./arrow-right-A_yyXwoH.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DVhUsgOw.js";import"./AgentAvatar-Dn8TUv5W.js";import"./SpriteAvatar-D53GaaK3.js";import"./CrewAvatar-a_C_F9r_.js";function S(s){return s.hostName?.split(".")[0]??s.name??s.id.slice(0,12)}function Ut(){const{route:s,navigate:u}=A(),l=L(s),{items:i,unattributedOnly:m,lab:M,refreshToken:g}=$(),{meshSnapshot:r}=E();U(l);const[w]=N.useState(()=>y());N.useEffect(()=>{let t=!1;return I("/api/mesh").then(o=>{t||T(o)}).catch(()=>{}),()=>{t=!0}},[g]);const c=t=>{b(!1),u(t?R(s,t):j(s))},O=()=>{u(j(s)),b(!0)},p=r?.localNode??null,d=r?Object.values(r.nodes).filter(t=>t.id!==p?.id):[],a=t=>M.lastLook?t.filter(o=>C(o,w)).length:0,x=i.filter(t=>t.hostNodeId===null),f=t=>{const o=i.filter(k=>k.hostNodeId===t.id),n=a(o),v=l===t.id;return e.jsx(h,{name:S(t),meta:o.length>0?`${n>0?`${n}·`:""}${o.length}`:"—",tone:n>0?"needs_attention":"neutral",active:v,unread:n>0,onClick:()=>c(v?null:t.id),title:`Scope the list to ${S(t)}`},t.id)};return e.jsxs("div",{className:"ctx-panel mesh-ops-rail",children:[e.jsxs("div",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Mesh"}),e.jsx(h,{name:"everywhere",meta:`${a(i)>0?`${a(i)}·`:""}${i.length}`,tone:a(i)>0?"needs_attention":"neutral",active:l===null&&!m,onClick:()=>c(null),title:"Show items across all hosts"})]}),p&&e.jsxs("div",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"This host"}),f(p)]}),d.length>0&&e.jsxs("div",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Peers"}),d.map(t=>f(t))]}),e.jsxs("div",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"No venue"}),e.jsx(h,{name:"unattributed",meta:x.length>0?String(x.length):"—",tone:"neutral",active:m,onClick:()=>m?c(null):O(),title:"Items with no venue host"})]}),!r&&e.jsx("div",{className:"ctx-panel-empty",children:"Loading mesh…"})]})}export{Ut as MeshOpsLeft};
@@ -1,2 +0,0 @@
1
- import{r as c,j as e}from"./index-BFbLvCJn.js";/* empty css */import{n as M}from"./agent-state-DDhnFEEP.js";import{p as k,a as L}from"./api-DSqpVKC7.js";import{m as F,b as $,d as D}from"./machine-scope-DJt9RZ2w.js";import{b as H}from"./router-CJIx83Ia.js";import{d as O,r as B}from"./operator-attention-DBaRg5ep.js";import{u as G}from"./sse-BVxO0zNp.js";import{t as v}from"./time-Dhsh_2EG.js";import{u as K}from"./Provider-BEXAZWd9.js";import{o as P}from"./openAgent-Dbv5wfuL.js";import{R as x}from"./RailRow-Ddz90weI.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./index-BWHgHrtv.js";import"./theme-vars-DNK0nn3k.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-D-VB5vdt.js";import"./runtime-picker-IRcTkMZ5.js";import"./scout-voice-Cdh6pCsb.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CCG7hG7z.js";import"./createLucideIcon-CKbjXlwv.js";import"./media-blobs-Bi8pxr1u.js";import"./index-CXzJ_hGx.js";import"./HarnessMark-CP-PWk2W.js";import"./conversation-model-FxDeWlle.js";import"./conversations-DoAAO6kA.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-BYsEu9dZ.js";import"./keyboard-nav-CEe-ApvZ.js";import"./x-BcfhXYiF.js";import"./chevron-down-DEDSNJNY.js";import"./search-Bv2IONmc.js";import"./file-text-BOJQiS8p.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-mxzPxQQW.js";import"./TextDocumentSurface-DBslUq9k.js";import"./index-V8FYEUpD.js";import"./chevron-right-B02kAw12.js";import"./folder-C2emmTHq.js";import"./chevron-up-CzveykKG.js";import"./code-xml-E9gBuiVs.js";import"./arrow-left-DNjQHf4C.js";import"./arrow-right-A_yyXwoH.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DVhUsgOw.js";import"./openContent-C6XO6kr5.js";import"./AgentAvatar-Dn8TUv5W.js";import"./SpriteAvatar-D53GaaK3.js";import"./CrewAvatar-a_C_F9r_.js";const U=new Set(["message.posted","flight.updated","collaboration.event.appended","agent.updated"]),V=4,z=4,X=3,y="/api/fleet",Y=3e4;function ee({prepend:t}){const{agents:n,agentsLoaded:i,navigate:a,route:s}=K(),[o]=c.useState(()=>k(y,Y)),[l,u]=c.useState(o),[j,w]=c.useState(o!==null),[b,I]=c.useState(()=>new Set),p=H(s),S=c.useMemo(()=>F(n,p),[n,p]),h=c.useMemo(()=>$(n,p),[n,p]),m=c.useMemo(()=>D(l,S),[l,S]),d=c.useCallback(async()=>{try{u(await L(y))}catch{}finally{w(!0)}},[]);c.useEffect(()=>{d()},[d]),G(r=>{U.has(r.kind)&&d()});const C=c.useMemo(()=>tt(h).slice(0,V),[h]),R=c.useMemo(()=>(m?.activity??[]).slice(0,z),[m]),N=c.useMemo(()=>Z(m?.needsAttention??[],b),[m,b]),_=c.useCallback(async r=>{I(f=>new Set(f).add(r.recordId));try{await O({recordKind:r.kind,recordId:r.recordId,itemUpdatedAt:r.updatedAt})}catch{I(f=>{const E=new Set(f);return E.delete(r.recordId),E});return}d()},[d]);return e.jsxs("div",{className:"ctx-panel base-rail",children:[t?e.jsx("div",{className:"base-rail-prepend",children:t}):null,e.jsx(q,{agents:C,totalCount:h.length,loading:!i,onSelect:r=>P(a,r,{returnTo:s}),onSeeAll:()=>a({view:"agents-v2"})}),e.jsx(Q,{items:R,loading:!j,onSelect:r=>a(et(r)),onSeeAll:()=>a({view:"activity"})}),e.jsx(W,{items:N.items,totalCount:N.totalCount,loading:!j,onSelect:r=>a(B(r)),onDismiss:r=>{_(r)}})]})}function q({agents:t,totalCount:n,loading:i,onSelect:a,onSeeAll:s}){return e.jsxs("section",{className:"ctx-panel-section base-rail-section",children:[e.jsx(g,{title:"Recent agents",onSeeAll:n>0?s:void 0}),i?e.jsx(A,{}):t.length===0?e.jsx("div",{className:"ctx-panel-empty",children:"No agents yet"}):t.map(o=>e.jsx(x,{name:o.name||o.id,meta:o.updatedAt?v(o.updatedAt):void 0,tone:M(o.state),title:J(o),onClick:()=>a(o)},o.id))]})}function J(t){const n=[];return t.project&&n.push(`project: ${t.project}`),t.branch&&n.push(`branch: ${t.branch}`),t.harness&&n.push(`harness: ${t.harness}`),n.join(`
2
- `)}function Q({items:t,loading:n,onSelect:i,onSeeAll:a}){return e.jsxs("section",{className:"ctx-panel-section base-rail-section",children:[e.jsx(g,{title:"Recent Scout coordination",meta:(t.length>0,void 0),onSeeAll:t.length>0?a:void 0}),n?e.jsx(A,{}):t.length===0?e.jsx("div",{className:"ctx-panel-empty",children:"No recent Scout messages or dispatches"}):t.map(s=>{const o=s.actorName??s.agentName??s.agentId??"system",l=s.title??s.summary??T(s.kind);return e.jsx(x,{name:l,meta:s.ts?v(s.ts):void 0,tone:"neutral",title:`${o} · ${T(s.kind)}`,onClick:()=>i(s)},s.id)})]})}function W({items:t,totalCount:n,loading:i,onSelect:a,onDismiss:s}){return!i&&t.length===0?null:e.jsxs("section",{className:"ctx-panel-section base-rail-section",children:[e.jsx(g,{title:"Needs attention",meta:n>0?`${n}`:void 0}),i?e.jsx(A,{rows:2}):t.map(o=>{const l=o.agentName??o.agentId??"operator";return e.jsx(x,{name:o.title,meta:v(o.updatedAt),tone:"in_turn",unread:!0,title:`${l} · ${o.kind}`,onClick:()=>a(o),actions:e.jsx("button",{type:"button",className:"rr-row-action",title:"Dismiss — stop asking until this changes","aria-label":"Dismiss",onClick:u=>{u.stopPropagation(),s(o)},children:"Dismiss"})},o.recordId)})]})}function Z(t,n,i=X){const a=[...t].filter(s=>!n.has(s.recordId)).sort((s,o)=>s.updatedAt-o.updatedAt||s.recordId.localeCompare(o.recordId));return{items:a.slice(0,i),totalCount:a.length}}function A({rows:t=3}){return e.jsx("div",{className:"base-rail-loading",role:"status","aria-label":"Loading",children:Array.from({length:t},(n,i)=>e.jsx("span",{"aria-hidden":"true"},i))})}function g({title:t,meta:n,onSeeAll:i}){return e.jsxs("div",{className:"ctx-panel-section-label base-rail-section-label",children:[e.jsx("span",{children:t}),e.jsxs("span",{className:"base-rail-section-trailing",children:[n?e.jsx("span",{className:"ctx-panel-count",children:n}):null,i?e.jsx("button",{type:"button",className:"base-rail-see-all",onClick:i,children:"all"}):null]})]})}function tt(t){return[...t].sort((n,i)=>(i.updatedAt??0)-(n.updatedAt??0))}function T(t){switch(t){case"message":return"Message";case"invocation":return"Invocation";case"flight":return"Flight update";case"collaboration":return"Collaboration";default:return t.replace(/_/g," ")}}function et(t){return t.conversationId?{view:"conversation",conversationId:t.conversationId}:t.agentId?{view:"agents-v2",agentId:t.agentId}:{view:"activity"}}export{ee as HomeLeft,W as NeedsAttentionSection,Z as selectNeedsAttentionItems};
@@ -1 +0,0 @@
1
- .fleet-search{width:100%;padding:var(--space-xs) var(--space-md);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink);background:color-mix(in srgb,var(--ink) 4%,transparent);border:1px solid color-mix(in srgb,var(--border) 50%,transparent);border-radius:var(--radius-sm);outline:0;transition:border-color .12s,background .12s}.fleet-search::placeholder{color:color-mix(in srgb,var(--ink) 35%,transparent)}.fleet-search:focus{border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--ink) 3%,transparent)}.fleet-pills{display:flex;gap:var(--space-2xs)}.fleet-pill{flex:1 1 0;padding:var(--space-2xs) var(--space-xs);border:1px solid color-mix(in srgb,var(--border) 45%,transparent);background:transparent;color:color-mix(in srgb,var(--ink) 40%,transparent);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-xl);text-transform:uppercase;cursor:pointer;border-radius:var(--radius-sm);transition:background .12s,color .12s,border-color .12s}.fleet-pill:hover{color:var(--ink);border-color:color-mix(in srgb,var(--border) 70%,transparent)}.fleet-pill--on{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent);border-color:color-mix(in srgb,var(--border) 70%,transparent)}.fleet-pill--on.fleet-pill--active,.fleet-pill--on.fleet-pill--working{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 38%,transparent)}.mesh-nav{display:flex;flex-direction:column;height:100%;min-height:0;padding:0;background:transparent;font-family:var(--font-mono)}.mesh-nav-head{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md) var(--space-md) var(--space-sm);border-bottom:1px solid color-mix(in srgb,var(--border) 35%,transparent)}.mesh-nav-focus-chip{display:inline-flex;align-items:center;gap:var(--space-xs);align-self:flex-start;padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--border) 55%,transparent);background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--ink);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-xl);text-transform:uppercase;cursor:pointer}.mesh-nav-focus-chip:hover{background:color-mix(in srgb,var(--accent) 22%,transparent)}.mesh-nav-focus-chip-clear{font-size:var(--text-md);line-height:var(--leading-none);opacity:.7}.mesh-nav-tree{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--space-2xs) 0 var(--space-sm)}.mesh-nav-group{display:flex;flex-direction:column}.mesh-nav-group+.mesh-nav-group{margin-top:var(--space-xs)}.mesh-nav-group-label{padding:var(--space-sm) var(--space-lg) var(--space-2xs);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-xl);text-transform:uppercase;color:color-mix(in srgb,var(--ink) 38%,transparent)}.mesh-nav-machine{display:flex;flex-direction:column}.mesh-nav-machine+.mesh-nav-machine{margin-top:var(--space-3xs)}.mesh-nav-minimap{flex:0 0 auto;border-top:1px solid color-mix(in srgb,var(--border) 35%,transparent);padding:var(--space-sm);max-height:50%;display:flex;flex-direction:column}.mesh-nav-minimap .mesh-rail{flex:1 1 auto;min-height:0}
@@ -1 +0,0 @@
1
- import{r as i,j as s}from"./index-BFbLvCJn.js";/* empty css */import{a as c}from"./api-DSqpVKC7.js";import{u as h}from"./sse-BVxO0zNp.js";import{u as v}from"./Provider-BEXAZWd9.js";import{S as u}from"./server-U_l8A83n.js";import{L as j}from"./layers-ClmyjwpB.js";import{S as b}from"./sparkles-Br-bA2aZ.js";import{A as N}from"./activity-CXkZ620t.js";import{C as f}from"./cpu-DVZ_LhPn.js";import{G as g,D as k}from"./gauge-BR5CrhRM.js";import{T as y}from"./terminal-DMBAZjPP.js";import"./index-BWHgHrtv.js";import"./theme-vars-DNK0nn3k.js";import"./router-CJIx83Ia.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./machine-scope-DJt9RZ2w.js";import"./surface-activity-B1rgWB1i.js";import"./agent-state-DDhnFEEP.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-D-VB5vdt.js";import"./runtime-picker-IRcTkMZ5.js";import"./scout-voice-Cdh6pCsb.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CCG7hG7z.js";import"./createLucideIcon-CKbjXlwv.js";import"./media-blobs-Bi8pxr1u.js";import"./index-CXzJ_hGx.js";import"./HarnessMark-CP-PWk2W.js";import"./conversation-model-FxDeWlle.js";import"./time-Dhsh_2EG.js";import"./conversations-DoAAO6kA.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-BYsEu9dZ.js";import"./keyboard-nav-CEe-ApvZ.js";import"./x-BcfhXYiF.js";import"./chevron-down-DEDSNJNY.js";import"./search-Bv2IONmc.js";import"./file-text-BOJQiS8p.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-mxzPxQQW.js";import"./TextDocumentSurface-DBslUq9k.js";import"./index-V8FYEUpD.js";import"./chevron-right-B02kAw12.js";import"./folder-C2emmTHq.js";import"./chevron-up-CzveykKG.js";import"./code-xml-E9gBuiVs.js";import"./arrow-left-DNjQHf4C.js";import"./arrow-right-A_yyXwoH.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DVhUsgOw.js";function Cs(){const{agents:l,navigate:t}=v(),[m,p]=i.useState(null),[r,x]=i.useState([]),a=i.useCallback(async()=>{const[e,o]=await Promise.allSettled([c("/api/tail/discover"),c("/api/service-budgets")]);e.status==="fulfilled"&&p(e.value),o.status==="fulfilled"&&o.value?.gauges&&x(o.value.gauges)},[]);i.useEffect(()=>{a()},[a]),h(()=>{a()});const d=m?.processes??[],n=r.length>0?Math.round(Math.max(...r.map(e=>e.fill??0))*100):100;return s.jsxs("div",{className:"s-advisor-left-nav",children:[s.jsxs("div",{className:"s-ctx-panel-section",children:[s.jsxs("div",{className:"s-ctx-panel-head",children:[s.jsx(u,{size:14,className:"s-ctx-icon"}),s.jsx("span",{className:"label-xs",children:"HOST TELEMETRY"})]}),s.jsxs("div",{className:"s-ctx-stat-list",children:[s.jsxs("div",{className:"s-ctx-stat-item",children:[s.jsx("span",{className:"label-xs s-ctx-stat-label",children:"Agents Connected"}),s.jsx("span",{className:"chip chip--sm chip--mono",children:l.length})]}),s.jsxs("div",{className:"s-ctx-stat-item",children:[s.jsx("span",{className:"label-xs s-ctx-stat-label",children:"Active Processes"}),s.jsx("span",{className:"chip chip--sm chip--working chip--mono",children:d.length})]}),s.jsxs("div",{className:"s-ctx-stat-item",children:[s.jsx("span",{className:"label-xs s-ctx-stat-label",children:"Peak Quota"}),s.jsxs("span",{className:`chip chip--sm chip--mono ${n>80?"chip--warning":"chip--working"}`,children:[n,"%"]})]})]})]}),s.jsxs("div",{className:"s-ctx-panel-section",children:[s.jsxs("div",{className:"s-ctx-panel-head",children:[s.jsx(j,{size:14,className:"s-ctx-icon"}),s.jsx("span",{className:"label-xs",children:"OPERATIONS SURFACES"})]}),s.jsxs("div",{className:"s-ctx-nav-list",children:[s.jsxs("button",{type:"button",className:"s-ctx-nav-btn s-ctx-nav-btn--active",onClick:()=>t({view:"ops",mode:"advisor"}),children:[s.jsx(b,{size:13}),s.jsx("span",{children:"Host Advisor"})]}),s.jsxs("button",{type:"button",className:"s-ctx-nav-btn",onClick:()=>t({view:"ops",mode:"mission"}),children:[s.jsx(N,{size:13}),s.jsx("span",{children:"Mission Control"})]}),s.jsxs("button",{type:"button",className:"s-ctx-nav-btn",onClick:()=>t({view:"ops",mode:"lanes"}),children:[s.jsx(f,{size:13}),s.jsx("span",{children:"Agent Lanes"})]}),s.jsxs("button",{type:"button",className:"s-ctx-nav-btn",onClick:()=>t({view:"harnesses"}),children:[s.jsx(g,{size:13}),s.jsx("span",{children:"Agent Providers & Quotas"})]}),s.jsxs("button",{type:"button",className:"s-ctx-nav-btn",onClick:()=>t({view:"terminal"}),children:[s.jsx(y,{size:13}),s.jsx("span",{children:"Terminal Relays"})]}),s.jsxs("button",{type:"button",className:"s-ctx-nav-btn",onClick:()=>t({view:"search"}),children:[s.jsx(k,{size:13}),s.jsx("span",{children:"Knowledge Indexer"})]})]})]})]})}export{Cs as OpsAdvisorLeft};
@@ -1 +0,0 @@
1
- import{r,j as s}from"./index-BFbLvCJn.js";/* empty css */import{a as j}from"./api-DSqpVKC7.js";import{a as v}from"./sse-BVxO0zNp.js";import{u as N}from"./Provider-BEXAZWd9.js";import{u as g}from"./use-fleet-active-asks-DAHOPYPV.js";import{i as w}from"./agent-state-DDhnFEEP.js";import{R as a}from"./RailRow-Ddz90weI.js";import"./index-BWHgHrtv.js";import"./theme-vars-DNK0nn3k.js";import"./router-CJIx83Ia.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./machine-scope-DJt9RZ2w.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-D-VB5vdt.js";import"./runtime-picker-IRcTkMZ5.js";import"./scout-voice-Cdh6pCsb.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CCG7hG7z.js";import"./createLucideIcon-CKbjXlwv.js";import"./media-blobs-Bi8pxr1u.js";import"./index-CXzJ_hGx.js";import"./HarnessMark-CP-PWk2W.js";import"./conversation-model-FxDeWlle.js";import"./time-Dhsh_2EG.js";import"./conversations-DoAAO6kA.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-BYsEu9dZ.js";import"./keyboard-nav-CEe-ApvZ.js";import"./x-BcfhXYiF.js";import"./chevron-down-DEDSNJNY.js";import"./search-Bv2IONmc.js";import"./file-text-BOJQiS8p.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-mxzPxQQW.js";import"./TextDocumentSurface-DBslUq9k.js";import"./index-V8FYEUpD.js";import"./chevron-right-B02kAw12.js";import"./folder-C2emmTHq.js";import"./chevron-up-CzveykKG.js";import"./code-xml-E9gBuiVs.js";import"./arrow-left-DNjQHf4C.js";import"./arrow-right-A_yyXwoH.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DVhUsgOw.js";import"./AgentAvatar-Dn8TUv5W.js";import"./SpriteAvatar-D53GaaK3.js";import"./CrewAvatar-a_C_F9r_.js";const $=new Set(["message.posted","conversation.upserted","agent.updated"]);function k(e){const n=x(e.cwd),m=x(e.projectRoot);return e.authorityNodeName??e.homeNodeName??e.authorityNodeId??e.homeNodeId??e.transport??n??m??"local"}function R(e){return e.project??e.role??e.agentClass??"Unassigned"}function x(e){if(!e)return null;const n=e.split("/").filter(Boolean);return n[n.length-1]??null}function $t(){const{agents:e,navigate:n}=N(),[m,f]=r.useState([]),l=g(),c=r.useCallback(async()=>{const t=await j("/api/conversations").catch(()=>[]);f(t)},[]);r.useEffect(()=>{c()},[c]),v(t=>$.has(t.kind),()=>{c()});const h=r.useMemo(()=>e.filter(t=>w(t.state)).length,[e]),p=r.useMemo(()=>{let t=0;for(const o of l.asks)(o.status==="failed"||o.status==="needs_attention")&&(t+=1);return t},[l]),u=r.useMemo(()=>{const t=new Map;for(const o of e){const i=R(o);t.set(i,(t.get(i)??0)+1)}return[...t.entries()].sort((o,i)=>i[1]-o[1]).slice(0,8)},[e]),d=r.useMemo(()=>{const t=new Map;for(const o of e){const i=k(o);t.set(i,(t.get(i)??0)+1)}return[...t.entries()].sort((o,i)=>i[1]-o[1]).slice(0,8)},[e]);return s.jsxs("div",{className:"ctx-panel",children:[s.jsxs("section",{className:"ctx-panel-section",children:[s.jsx("div",{className:"ctx-panel-section-label",children:"Agents"}),s.jsx(a,{name:"Overview",meta:`${e.length}`,tone:"neutral",onClick:()=>n({view:"inbox"})}),s.jsx(a,{name:"Agents",meta:`${h}`,tone:"callable",active:!0,onClick:()=>n({view:"ops",mode:"agents"})}),s.jsx(a,{name:"Sessions",meta:`${m.length}`,tone:"neutral",onClick:()=>n({view:"sessions"})}),s.jsx(a,{name:"Alerts",meta:`${p}`,tone:p>0?"in_turn":"neutral",unread:p>0,onClick:()=>n({view:"activity"})})]}),s.jsxs("section",{className:"ctx-panel-section",children:[s.jsx("div",{className:"ctx-panel-section-label",children:"Projects"}),u.length===0?s.jsx("div",{className:"ctx-panel-empty",children:"No projects"}):u.map(([t,o])=>s.jsx(a,{name:t,meta:`${o}`,tone:"neutral",title:`${o} agent${o===1?"":"s"} on ${t}`},t))]}),s.jsxs("section",{className:"ctx-panel-section",children:[s.jsx("div",{className:"ctx-panel-section-label",children:"Machines"}),d.length===0?s.jsx("div",{className:"ctx-panel-empty",children:"No machines"}):d.map(([t,o])=>s.jsx(a,{name:t,meta:`${o}`,tone:"neutral",title:`${o} agent${o===1?"":"s"} on ${t}`},t))]})]})}export{$t as OpsAgentsLeft};
@@ -1 +0,0 @@
1
- import{r as s,j as o}from"./index-BFbLvCJn.js";/* empty css */import{a as h}from"./api-DSqpVKC7.js";import{n as f}from"./agent-state-DDhnFEEP.js";import{r as g,a as j}from"./operator-attention-DBaRg5ep.js";import{u as N}from"./sse-BVxO0zNp.js";import{t as c}from"./time-Dhsh_2EG.js";import{u as w}from"./Provider-BEXAZWd9.js";import{o as l}from"./openContent-C6XO6kr5.js";import{R as m}from"./RailRow-Ddz90weI.js";import"./index-BWHgHrtv.js";import"./theme-vars-DNK0nn3k.js";import"./router-CJIx83Ia.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./machine-scope-DJt9RZ2w.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-D-VB5vdt.js";import"./runtime-picker-IRcTkMZ5.js";import"./scout-voice-Cdh6pCsb.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CCG7hG7z.js";import"./createLucideIcon-CKbjXlwv.js";import"./media-blobs-Bi8pxr1u.js";import"./index-CXzJ_hGx.js";import"./HarnessMark-CP-PWk2W.js";import"./conversation-model-FxDeWlle.js";import"./conversations-DoAAO6kA.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-BYsEu9dZ.js";import"./keyboard-nav-CEe-ApvZ.js";import"./x-BcfhXYiF.js";import"./chevron-down-DEDSNJNY.js";import"./search-Bv2IONmc.js";import"./file-text-BOJQiS8p.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-mxzPxQQW.js";import"./TextDocumentSurface-DBslUq9k.js";import"./index-V8FYEUpD.js";import"./chevron-right-B02kAw12.js";import"./folder-C2emmTHq.js";import"./chevron-up-CzveykKG.js";import"./code-xml-E9gBuiVs.js";import"./arrow-left-DNjQHf4C.js";import"./arrow-right-A_yyXwoH.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DVhUsgOw.js";import"./AgentAvatar-Dn8TUv5W.js";import"./SpriteAvatar-D53GaaK3.js";import"./CrewAvatar-a_C_F9r_.js";const A=[{name:"Control",route:{view:"ops",mode:"mission"},active:e=>e.view==="ops"&&(e.mode===void 0||e.mode==="mission")},{name:"Dispatch",route:{view:"broker"},active:e=>e.view==="broker"},{name:"Network",route:{view:"mesh"},active:e=>e.view==="mesh"},{name:"Tail",route:{view:"ops",mode:"tail"},active:e=>e.view==="ops"&&e.mode==="tail"},{name:"Runtime",route:{view:"ops",mode:"atop"},active:e=>e.view==="ops"&&e.mode==="atop"}];function wt(){const{navigate:e,route:n}=w(),[p,d]=s.useState(null),r=s.useCallback(async()=>{const t=await h("/api/fleet").catch(()=>null);d(t)},[]);s.useEffect(()=>{r()},[r]),N(t=>{(t.kind==="message.posted"||t.kind==="flight.updated"||t.kind==="collaboration.event.appended")&&r()});const i=p?.needsAttention??[],a=(p?.activeAsks??[]).filter(t=>t.status!=="needs_attention"),u=t=>{l(e,g(t),{returnTo:n})},v=t=>{l(e,j(t),{returnTo:n})};return o.jsxs("div",{className:"ctx-panel ctx-panel--ops",children:[o.jsxs("section",{className:"ctx-panel-section",children:[o.jsx("div",{className:"ctx-panel-section-label",children:"Surfaces"}),A.map(t=>o.jsx(m,{name:t.name,tone:"neutral",active:t.active(n),onClick:()=>e(t.route)},t.name))]}),o.jsxs("section",{className:"ctx-panel-section",children:[o.jsxs("div",{className:"ctx-panel-section-label",children:["Needs you",i.length>0&&o.jsx("span",{className:"ctx-panel-count",children:i.length})]}),i.length===0?o.jsx("div",{className:"ctx-panel-empty",children:"All clear"}):i.slice(0,4).map(t=>{const x=t.agentName??t.agentId??"operator";return o.jsx(m,{name:t.title,meta:c(t.updatedAt),tone:"in_turn",unread:!0,title:`${x} · ${t.kind}`,onClick:()=>u(t)},t.recordId)})]}),o.jsxs("section",{className:"ctx-panel-section",children:[o.jsxs("div",{className:"ctx-panel-section-label",children:["Active",a.length>0&&o.jsx("span",{className:"ctx-panel-count",children:a.length})]}),a.length===0?o.jsx("div",{className:"ctx-panel-empty",children:"No active requests"}):a.slice(0,10).map(t=>o.jsx(m,{name:t.task,meta:c(t.updatedAt),tone:f(t.agentState),title:`${t.agentName??t.agentId} · ${t.statusLabel}`,onClick:()=>v(t)},t.invocationId))]})]})}export{wt as OpsDefaultLeft};
@@ -1 +0,0 @@
1
- import{r as f,j as t}from"./index-BFbLvCJn.js";/* empty css */import{t as x}from"./time-Dhsh_2EG.js";import{u as g}from"./Provider-BEXAZWd9.js";import{R as b}from"./RailRow-Ddz90weI.js";import{H as h}from"./HarnessMark-CP-PWk2W.js";import{n as j}from"./agent-state-DDhnFEEP.js";import{b as v,c as L,l as p,d as _}from"./agent-lanes-model-DMAdqCmK.js";import{u as N,b as A,g as n}from"./lane-roster-store-MraynTHP.js";import"./theme-vars-DNK0nn3k.js";import"./router-CJIx83Ia.js";import"./api-DSqpVKC7.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./machine-scope-DJt9RZ2w.js";import"./sse-BVxO0zNp.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-D-VB5vdt.js";import"./runtime-picker-IRcTkMZ5.js";import"./scout-voice-Cdh6pCsb.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CCG7hG7z.js";import"./createLucideIcon-CKbjXlwv.js";import"./media-blobs-Bi8pxr1u.js";import"./index-CXzJ_hGx.js";import"./conversation-model-FxDeWlle.js";import"./conversations-DoAAO6kA.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-BYsEu9dZ.js";import"./keyboard-nav-CEe-ApvZ.js";import"./x-BcfhXYiF.js";import"./chevron-down-DEDSNJNY.js";import"./search-Bv2IONmc.js";import"./file-text-BOJQiS8p.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-mxzPxQQW.js";import"./TextDocumentSurface-DBslUq9k.js";import"./index-V8FYEUpD.js";import"./chevron-right-B02kAw12.js";import"./folder-C2emmTHq.js";import"./chevron-up-CzveykKG.js";import"./code-xml-E9gBuiVs.js";import"./arrow-left-DNjQHf4C.js";import"./arrow-right-A_yyXwoH.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DVhUsgOw.js";import"./AgentAvatar-Dn8TUv5W.js";import"./SpriteAvatar-D53GaaK3.js";import"./CrewAvatar-a_C_F9r_.js";import"./lane-ask-display-BTVSakyo.js";import"./context-budget-8qFKqM-j.js";import"./lane-observe-CteDwdD-.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";function c(s,e,i){const r=`[data-lane-id="${s.replace(/["\\]/g,"\\$&")}"]`,a=typeof document<"u"?document.querySelector(r):null;if(a){a.scrollIntoView({behavior:"smooth",inline:"center",block:"nearest"}),a.focus();return}e&&i({view:"agents-v2",agentId:e,tab:"profile"})}function R(s){return s.filter(e=>!v(e)&&L(e)).sort((e,i)=>{const r=(i.updatedAt??0)-(e.updatedAt??0);return r!==0?r:p(e,"scout").localeCompare(p(i,"scout"))}).map(e=>({id:e.id,label:p(e,"scout"),statusLabel:_(e,"scout"),tone:j(e.state,e),agentId:e.id,updatedAt:e.updatedAt??void 0}))}function Ho(){const{agents:s,navigate:e}=g(),i=N(),r=A(),a=f.useMemo(()=>R(s),[s]),l=i??a,d=l.some(o=>o.floor);return t.jsx("div",{className:"ctx-panel ctx-panel--ops",children:t.jsxs("section",{className:"ctx-panel-section",children:[t.jsxs("div",{className:"ctx-panel-section-label",children:[d?"Fleet":"Lanes",l.length>0&&t.jsx("span",{className:"ctx-panel-count",children:l.length})]}),l.length===0?t.jsx("div",{className:"ctx-panel-empty",children:"No active lanes"}):l.map(o=>o.floor?t.jsxs("button",{type:"button",className:`agent-floor__ledger-row is-rail${r===o.id?" is-focus":""}`,onClick:()=>{const m=n();m?m.onSelect(o.id):c(o.id,o.agentId,e)},onPointerEnter:()=>n()?.onHover(o.id),onPointerLeave:()=>n()?.onHover(null),children:[t.jsxs("span",{className:"agent-floor__ledger-id",children:[t.jsx(h,{harness:o.floor.harness,size:15,title:null}),t.jsxs("span",{className:"agent-floor__ledger-lines",children:[t.jsx("span",{className:"agent-floor__ledger-name",children:o.floor.identity}),o.floor.project?t.jsx("span",{className:"agent-floor__ledger-where",children:o.floor.project}):null]}),t.jsx("span",{className:`agent-floor__card-dot${o.floor.live?" is-live":""}`})]}),t.jsx("span",{className:"agent-floor__ledger-strip",children:o.floor.strip.slice(-6).map((m,u)=>t.jsx("span",{className:`agent-floor__ledger-cell is-${m}`},u))})]},o.id):t.jsx(b,{name:o.label,sub:o.statusLabel||void 0,meta:o.updatedAt?x(o.updatedAt):void 0,tone:o.tone,title:o.statusLabel,onClick:()=>c(o.id,o.agentId,e)},o.id))]})})}export{Ho as OpsLanesLeft};
@@ -1 +0,0 @@
1
- import{r,j as s}from"./index-BFbLvCJn.js";/* empty css */import{n as S}from"./agent-state-DDhnFEEP.js";import{u as M,m as I,s as w,a as u,M as k,b as A,c as C,d as E,r as F,t as R}from"./mission-control-store-e8F85JhP.js";import{u as T}from"./Provider-BEXAZWd9.js";import{a as K,b as q,r as L,m as B}from"./keyboard-nav-CEe-ApvZ.js";import{MissionLeftAgentRow as D}from"./MissionLeftAgentRow-CB3cgeYr.js";import"./theme-vars-DNK0nn3k.js";import"./router-CJIx83Ia.js";import"./api-DSqpVKC7.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./machine-scope-DJt9RZ2w.js";import"./sse-BVxO0zNp.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-D-VB5vdt.js";import"./runtime-picker-IRcTkMZ5.js";import"./scout-voice-Cdh6pCsb.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CCG7hG7z.js";import"./createLucideIcon-CKbjXlwv.js";import"./media-blobs-Bi8pxr1u.js";import"./index-CXzJ_hGx.js";import"./HarnessMark-CP-PWk2W.js";import"./conversation-model-FxDeWlle.js";import"./time-Dhsh_2EG.js";import"./conversations-DoAAO6kA.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-BYsEu9dZ.js";import"./x-BcfhXYiF.js";import"./chevron-down-DEDSNJNY.js";import"./search-Bv2IONmc.js";import"./file-text-BOJQiS8p.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-mxzPxQQW.js";import"./TextDocumentSurface-DBslUq9k.js";import"./index-V8FYEUpD.js";import"./chevron-right-B02kAw12.js";import"./folder-C2emmTHq.js";import"./chevron-up-CzveykKG.js";import"./code-xml-E9gBuiVs.js";import"./arrow-left-DNjQHf4C.js";import"./arrow-right-A_yyXwoH.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DVhUsgOw.js";import"./page-status-BIuh3C5p.js";import"./RailRow-Ddz90weI.js";import"./AgentAvatar-Dn8TUv5W.js";import"./SpriteAvatar-D53GaaK3.js";import"./CrewAvatar-a_C_F9r_.js";function De(){const{navigate:a}=T(),i=M(),l=i.visibleAgents,m=r.useRef(null),p=r.useRef(null),h=K(),x=B(()=>m.current);q(r.useCallback(()=>p.current,[]));const[d,v]=r.useState(null),j=I(i),c=i.selectedIds.length,b=e=>{v(t=>t===e?null:e)},N=()=>{if(c===0)return;const t=l.filter(o=>i.selectedIds.includes(o.id)).map(o=>o.handle??o.name).filter(Boolean).join("|");t&&a({view:"ops",mode:"tail",tailQuery:t})};return s.jsxs("div",{className:"ctx-panel ml-panel",children:[s.jsxs("div",{className:"ml-section",children:[s.jsx("div",{className:"ml-section-label",children:"Source"}),s.jsx("div",{className:"ml-chips ml-chips--primary",children:["all","scout","native"].map(e=>s.jsx("button",{type:"button",className:["ml-chip",i.sourceFilter===e&&"ml-chip--active"].filter(Boolean).join(" "),onClick:()=>w(e),children:e==="all"?"All":e==="scout"?"Scout":"Native"},e))})]}),s.jsx("div",{className:"ctx-panel-search",children:s.jsx("input",{ref:p,type:"text",className:"ctx-panel-search-input",placeholder:"Filter agents… (press /)",value:i.query,onChange:e=>u(e.target.value),onKeyDown:e=>{x(e),e.key==="Escape"&&i.query&&u("")}})}),s.jsx("div",{className:"ml-section ml-section--secondary",children:s.jsxs("div",{className:"ml-chips ml-chips--secondary",role:"group","aria-label":"Show logs active within",children:[s.jsx("span",{className:"ml-section-label ml-section-label--inline",children:"Within"}),k.map(e=>{const t=j===e.id;return s.jsx("button",{type:"button",className:["ml-chip ml-chip--ghost",t&&"ml-chip--ghost-active"].filter(Boolean).join(" "),"aria-pressed":t,onClick:()=>A(e.id),children:e.label},e.id)})]})}),s.jsxs("div",{className:"ml-section ml-section--grouping",children:[s.jsx("div",{className:"ml-section-label",children:"Order by"}),s.jsx("div",{className:"ml-chips ml-chips--grouping",children:[["activity","Activity"],["workspace","Project"],["harness","Harness"],["state","Status"],["source","Source"]].map(([e,t])=>s.jsx("button",{type:"button",className:["ml-chip","ml-chip--group",i.groupMode===e&&"ml-chip--group-active"].filter(Boolean).join(" "),"aria-pressed":i.groupMode===e,onClick:()=>C(e),children:t},e))})]}),c>0?s.jsxs("div",{className:"ml-selection",children:[s.jsxs("span",{className:"ml-selection-label",children:[c," selected"]}),s.jsxs("div",{className:"ml-selection-actions",children:[s.jsx("button",{type:"button",className:"ml-selection-btn ml-selection-btn--primary",onClick:N,children:"Tail ↗"}),s.jsx("button",{type:"button",className:"ml-selection-btn",onClick:E,children:"Clear"})]})]}):s.jsxs("div",{className:"ml-count",children:[l.length," visible",s.jsx("span",{className:"ml-count-hint",children:"⌘-click · ⌘A all"})]}),s.jsx("div",{ref:m,className:"ctx-panel-list ctx-panel-list--scroll",onKeyDown:h,children:l.length===0?s.jsx("div",{className:"ctx-panel-empty",children:i.query?"No match":"Nothing visible"}):l.map((e,t)=>{const o=e.id===d,y=l.some(n=>n.id===d),g=i.selectedIds.includes(e.id),f=S(e.state);return s.jsx(D,{agent:e,state:f,isExpanded:o,isSelected:g,tabIndex:L(o,y,t===0),onToggle:n=>{n.metaKey||n.ctrlKey||n.shiftKey?R(e.id):b(e.id)},onReveal:()=>F(e.id),onOpen:()=>a({view:"agents-v2",agentId:e.id})},e.id)})})]})}export{De as OpsMissionLeft};
@@ -1 +0,0 @@
1
- .ml-panel{display:flex;flex-direction:column;min-height:0}.ml-section{padding:var(--space-lg) var(--space-lg) var(--space-xs)}.ml-section--secondary{padding-top:var(--space-2xs);border-top:1px dashed color-mix(in srgb,var(--ink) 8%,transparent)}.ml-section--grouping{padding-top:var(--space-sm);padding-bottom:var(--space-sm);border-top:1px dashed color-mix(in srgb,var(--ink) 8%,transparent)}.ml-section-label{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-xl);text-transform:uppercase;color:var(--dim);margin-bottom:var(--space-xs)}.ml-chips{display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.ml-chips--primary .ml-chip{flex:1 1 0;min-width:0;padding:var(--space-xs) var(--space-md);background:color-mix(in srgb,var(--surface) 80%,transparent);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);color:var(--ink);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;letter-spacing:var(--tracking-sm);cursor:pointer;text-align:center;border-radius:var(--radius-xs);transition:background .12s,border-color .12s}.ml-chips--primary .ml-chip:hover{border-color:color-mix(in srgb,var(--accent) 28%,transparent)}.ml-chips--primary .ml-chip--active{background:var(--accent);color:var(--bg);border-color:var(--accent)}.ml-chips--secondary{align-items:center;gap:var(--space-3xs)}.ml-chip--ghost{padding:var(--space-2xs) var(--space-sm);background:transparent;border:0;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-lg);text-transform:uppercase;cursor:pointer;border-radius:var(--radius-xs);transition:color .12s,background .12s}.ml-chip--ghost:hover{color:var(--ink)}.ml-chip--ghost-active{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.ml-section-label--inline{margin:0 var(--space-2xs) 0 0}.ml-chips--grouping{gap:var(--space-3xs)}.ml-chip--group{flex:1 1 calc(33.333% - var(--space-3xs));min-width:58px;padding:var(--space-2xs) var(--space-xs);background:color-mix(in srgb,var(--surface) 55%,transparent);border:1px solid color-mix(in srgb,var(--ink) 8%,transparent);border-radius:var(--radius-xs);color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-md);text-transform:uppercase;cursor:pointer;transition:color .12s,background .12s,border-color .12s}.ml-chip--group:hover{color:var(--ink);border-color:color-mix(in srgb,var(--accent) 28%,transparent)}.ml-chip--group-active{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:color-mix(in srgb,var(--accent) 32%,transparent)}.ml-count{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm);padding:var(--space-xs) var(--space-lg) var(--space-2xs);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-xl);text-transform:uppercase;color:var(--dim)}.ml-count-hint{font-size:var(--text-2xs);letter-spacing:var(--tracking-lg);opacity:.7}.ml-selection{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:color-mix(in srgb,var(--accent) 10%,transparent);border-top:1px solid color-mix(in srgb,var(--accent) 24%,transparent);border-bottom:1px solid color-mix(in srgb,var(--accent) 24%,transparent)}.ml-selection-label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;letter-spacing:var(--tracking-lg);text-transform:uppercase;color:var(--accent)}.ml-selection-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2xs)}.ml-selection-btn{padding:var(--space-2xs) var(--space-sm);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-md);text-transform:uppercase;background:transparent;border:1px solid color-mix(in srgb,var(--accent) 32%,transparent);color:var(--accent);cursor:pointer;border-radius:var(--radius-xs);transition:background .12s}.ml-selection-btn:hover{background:color-mix(in srgb,var(--accent) 16%,transparent)}.ml-selection-btn--primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}.ml-selection-btn--primary:hover{background:color-mix(in srgb,var(--accent) 88%,var(--ink))}.ml-selection-status{flex:1 1 100%;min-width:0;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-md);text-align:right;color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ml-selection-status--ok{color:var(--accent)}.ml-selection-status--error{color:var(--red)}.ml-detail-actions{display:flex;gap:var(--space-xs);margin-top:var(--space-sm)}.ml-detail-btn{flex:1 1 0;padding:var(--space-xs) var(--space-sm);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-md);text-transform:uppercase;background:transparent;border:1px solid color-mix(in srgb,var(--ink) 15%,transparent);color:var(--ink);cursor:pointer;border-radius:var(--radius-xs);transition:background .12s,border-color .12s}.ml-detail-btn:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);border-color:color-mix(in srgb,var(--accent) 32%,transparent)}.ml-detail-btn--primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}.ml-detail-btn--primary:hover{background:color-mix(in srgb,var(--accent) 88%,var(--ink))}
@@ -1 +0,0 @@
1
- import{r as l,j as e}from"./index-BFbLvCJn.js";/* empty css */import{t as O}from"./time-Dhsh_2EG.js";import{u as H,a as $}from"./Provider-BEXAZWd9.js";import{S as G}from"./SpriteAvatar-D53GaaK3.js";import{H as R}from"./HarnessMark-CP-PWk2W.js";import{AgentSessions as J}from"./AgentSessions-ghjQcSrh.js";import{a as T}from"./api-DSqpVKC7.js";import{g as q,p as V,b as _}from"./model-CBkMvT1w.js";import{c as Q,e as X,f as Y,g as Z}from"./NewChatComposer-D-VB5vdt.js";import"./theme-vars-DNK0nn3k.js";import"./router-CJIx83Ia.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./machine-scope-DJt9RZ2w.js";import"./sse-BVxO0zNp.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./agent-state-DDhnFEEP.js";import"./scoutbot-Bk3nyrkj.js";import"./DocumentFocusViewer-mxzPxQQW.js";import"./createLucideIcon-CKbjXlwv.js";import"./TextDocumentSurface-DBslUq9k.js";import"./file-text-BOJQiS8p.js";import"./x-BcfhXYiF.js";import"./index-V8FYEUpD.js";import"./chevron-right-B02kAw12.js";import"./folder-C2emmTHq.js";import"./chevron-up-CzveykKG.js";import"./code-xml-E9gBuiVs.js";import"./arrow-left-DNjQHf4C.js";import"./arrow-right-A_yyXwoH.js";import"./scout-voice-Cdh6pCsb.js";import"./fx-z37u1o2z.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./keyboard-nav-CEe-ApvZ.js";import"./media-blobs-Bi8pxr1u.js";import"./chunk-HRAB3GC3-DVhUsgOw.js";import"./openContent-C6XO6kr5.js";import"./SessionHopMenu-DX6PJPNk.js";import"./external-link-Df1R34rX.js";import"./clipboard-e3fSpeo7.js";import"./runtime-picker-IRcTkMZ5.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CCG7hG7z.js";import"./index-CXzJ_hGx.js";import"./conversation-model-FxDeWlle.js";import"./conversations-DoAAO6kA.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-BYsEu9dZ.js";import"./chevron-down-DEDSNJNY.js";import"./search-Bv2IONmc.js";const ee=30*6e4,D=a=>a==="pi"?"grok":a,K=a=>a?a.replace(/^claude-/,"").replace(/-\d{8}$/,""):null;function ns({agents:a,fleet:d,sessionByAgentId:c,sessions:A,discovery:k,loading:C,navigate:N,selectedAgentId:S}){const{route:u,reload:p,openContextCapture:j}=H(),m=u.view==="agents-v2"?u.projectSlug:void 0,v=l.useMemo(()=>{const n=new Map;for(const b of d?.activeAsks??[]){const i=n.get(b.agentId)??[];i.push(b),n.set(b.agentId,i)}return n},[d?.activeAsks]),f=l.useMemo(()=>a.map(n=>Q(n,c.get(n.id)??null,v.get(n.id)??[])),[v,a,c]),g=l.useMemo(()=>X(k,Date.now()),[k]),h=l.useMemo(()=>Y(f,A,g),[f,A,g]),w=l.useMemo(()=>h.find(n=>n.slice.slug===m)??h[0]??null,[h,m]),r=w?.slice.slug,M={selectAgent:n=>N({view:"agents-v2",agentId:n.agent.id,...r?{projectSlug:r}:{}}),openAgentPage:n=>N({view:"agents-v2",agentId:n.agent.id,tab:"profile"}),startSession:n=>j({intent:"new-task",projectPath:n.agent.projectRoot??n.agent.cwd??void 0}),openSession:n=>N(n),configureAgent:n=>N({view:"agents-v2",agentId:n.agent.id,tab:"config"}),restartAgent:n=>{T(`/api/agents/${encodeURIComponent(n.agent.id)}/config`,{method:"POST",body:JSON.stringify({restart:!0})}).catch(()=>{})},stopAgent:n=>{T(`/api/agents/${encodeURIComponent(n.agent.id)}/interrupt`,{method:"POST",body:JSON.stringify({})}).catch(()=>{})},archiveAgent:n=>{T(`/api/agents/${encodeURIComponent(n.agent.id)}/archive`,{method:"POST",body:JSON.stringify({archived:!0})}).then(()=>p()).catch(()=>{})}};return!w&&C?e.jsx("div",{className:"s-aproj","aria-busy":"true",children:e.jsx("div",{className:"ap-loading",role:"status","aria-label":"Loading agents",children:Array.from({length:7},(n,b)=>e.jsx("span",{"aria-hidden":"true"},b))})}):w?e.jsx("div",{className:"s-aproj",children:e.jsx(te,{project:w,selectedAgentId:S,gestures:M,sessions:A})}):e.jsx("div",{className:"s-aproj",children:e.jsx("div",{className:"ap-empty",children:"No agents discovered yet — they appear here as harnesses register and work."})})}function se(){return e.jsxs("svg",{width:"13",height:"13",viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:[e.jsx("circle",{cx:"7",cy:"7",r:"4.2",stroke:"currentColor",strokeWidth:"1.3"}),e.jsx("path",{d:"m10.5 10.5 3 3",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})]})}function ae({tone:a}){return a==="idle"?null:e.jsx("span",{className:"ap-dot","data-tone":a,"aria-hidden":!0})}function ne({g:a,gestures:d,sessions:c,selected:A,cursor:k,rowRef:C}){const N=$(),S=Date.now()-a.lastActivityAt<ee,u=a.needs?"needs":S?"live":"idle",p=a.nodes[0];if(!p)return null;const j=p.row.agent.handle?.trim()||a.name,m=a.branches.length>0?a.branches:["main"],v=m.length>1,f=v?`${m.length} branches`:m[0],g=[...new Set(a.nodes.map(r=>r.row.agent.model).filter(r=>!!r))],h=g.length>1,w=[{kind:"action",label:"Configure…",onSelect:()=>d.configureAgent(p.row)},{kind:"action",label:"Restart",onSelect:()=>d.restartAgent(p.row)},{kind:"separator"},{kind:"action",label:"Stop",onSelect:()=>d.stopAgent(p.row)},{kind:"action",label:"Archive",onSelect:()=>d.archiveAgent(p.row)}];return e.jsxs("div",{ref:C,tabIndex:-1,className:"ap-row","data-tone":u,"data-selected":A||void 0,"data-cursor":k||void 0,children:[e.jsxs("div",{className:"ap-rowMain",onClick:()=>d.selectAgent(p.row),children:[e.jsxs("div",{className:"ap-rowBody",children:[e.jsxs("div",{className:"ap-rowTop",children:[e.jsx(ae,{tone:u}),e.jsx("span",{className:"ap-rowMark","data-idle":u==="idle"||void 0,"aria-hidden":!0,children:e.jsx(R,{harness:D(a.harness),size:11})}),e.jsxs("span",{className:"ap-rowName","data-idle":u==="idle"||void 0,children:[e.jsx("span",{className:"ap-sigil","aria-hidden":!0,children:"@"}),j]}),a.needs?e.jsx("span",{className:"ap-needsWord",children:"needs you"}):u==="live"?e.jsx("span",{className:"ap-rowState",children:"working"}):null]}),e.jsxs("div",{className:"ap-rowMeta",children:[e.jsx("span",{className:"ap-rowBranch","data-dim":!0,title:v?m.join(" · "):void 0,children:f}),h?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"ap-rowDivider","aria-hidden":!0}),e.jsxs("span",{className:"ap-rowDim",title:g.join(" · "),children:[g.length," models"]})]}):null,a.sessionCount?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"ap-rowDivider","aria-hidden":!0}),e.jsxs("span",{className:"ap-rowDim",children:[a.sessionCount," session",a.sessionCount===1?"":"s"]})]}):null]})]}),e.jsxs("div",{className:"ap-rowTailWrap",children:[e.jsxs("div",{className:"ap-rowTail",children:[e.jsxs("div",{className:"ap-tailMeta","aria-hidden":u==="needs"||void 0,children:[e.jsx("span",{className:"ap-rowAgo",children:a.lastActivityAt?O(a.lastActivityAt):"—"}),!h&&K(a.model)?e.jsx("span",{className:"ap-rowModel",children:K(a.model)}):null]}),e.jsxs("div",{className:"ap-rowActions",children:[e.jsx("button",{type:"button",className:"ap-act ap-actPrimary",onClick:r=>{r.stopPropagation(),d.openAgentPage(p.row)},children:"Open ↗"}),e.jsx("button",{type:"button",className:"ap-act",onClick:r=>{r.stopPropagation(),d.startSession(p.row)},children:"+ Session"})]})]}),e.jsx("button",{type:"button",className:"ap-rowMore","aria-label":"Agent actions",title:"Configure · restart · stop",onClick:r=>{r.stopPropagation(),N(r,w)},children:"⋯"})]})]}),e.jsx(J,{agentIds:a.nodes.map(r=>r.row.agent.id),sessions:c})]})}function te({project:a,selectedAgentId:d,gestures:c,sessions:A}){const[k,C]=l.useState(""),[N,S]=l.useState(null),[u,p]=l.useState(!1),[j,m]=l.useState(-1),v=l.useRef(null),f=l.useRef(new Map),g=l.useMemo(()=>q(a),[a]),{primary:h,ephemeral:w}=l.useMemo(()=>V(g),[g]),r=l.useMemo(()=>_(a),[a]),M=l.useMemo(()=>[...new Set(h.map(s=>D(s.harness)))],[h]),n=k.trim().toLowerCase(),b=s=>(!N||D(s.harness)===N)&&(!n||s.name.toLowerCase().includes(n)||s.branches.some(t=>t.toLowerCase().includes(n))||s.harness.includes(n)),i=h.filter(b),I=w.filter(b),E=!!(n||N),o=i.find(s=>s.needs)??i[0],U=i.some(s=>s.needs),B=h.length<=1;Z(a);const W=g.reduce((s,t)=>s+t.sessionCount,0),z=s=>!!(d&&s.nodes.some(t=>t.row.agent.id===d));return l.useEffect(()=>{function s(t){const y=document.activeElement,L=!!y&&(y.tagName==="INPUT"||y.tagName==="TEXTAREA"||y.isContentEditable);if(t.key.toLowerCase()==="k"&&(t.metaKey||t.ctrlKey)||t.key==="/"&&!L){t.preventDefault(),v.current?.focus(),v.current?.select();return}if(t.key==="Escape"){L&&y?.blur();return}if(L)return;const F=i.length;if(F){if(t.key==="ArrowDown"||t.key==="j")t.preventDefault(),m(x=>x<0?0:Math.min(F-1,x+1));else if(t.key==="ArrowUp"||t.key==="k")t.preventDefault(),m(x=>x<0?0:Math.max(0,x-1));else if(t.key==="Enter"&&(t.metaKey||t.ctrlKey)){const x=i.find(P=>P.needs)??i[0];x&&(t.preventDefault(),m(i.indexOf(x)),c.selectAgent(x.nodes[0].row))}else if(t.key==="Enter"){const x=j<0?0:j,P=i[x];P&&(t.preventDefault(),m(x),c.selectAgent(P.nodes[0].row))}}}return document.addEventListener("keydown",s),()=>document.removeEventListener("keydown",s)},[i,j,c]),l.useEffect(()=>{if(!(j<0)){if(j>=i.length){m(i.length-1);return}f.current.get(i[j]?.name??"")?.scrollIntoView({block:"nearest"})}},[j,i]),e.jsx("div",{className:"ap-view",children:e.jsxs("div",{className:"ap-content",children:[e.jsxs("header",{className:"ap-head",children:[e.jsx(G,{name:a.slice.title,size:56,tile:!0}),e.jsxs("div",{className:"ap-headIdent",children:[e.jsx("div",{className:"ap-headTop",children:e.jsxs("h1",{className:"ap-headName",children:[e.jsx("span",{className:"ap-sigil","aria-hidden":!0,children:"/"}),a.slice.title]})}),a.slice.root?e.jsx("span",{className:"ap-headRoot",children:a.slice.root}):null]}),e.jsx("div",{className:"ap-headActions",children:e.jsx("button",{type:"button",className:"ap-headCta",disabled:!o,onClick:()=>o&&c.startSession(o.nodes[0].row),children:"+ New agent"})})]}),e.jsxs("div",{className:"ap-digest",children:[e.jsxs("span",{className:"ap-stat",children:[e.jsx("span",{className:"ap-statNum",children:h.length}),e.jsx("span",{className:"ap-statLbl",children:h.length===1?"agent":"agents"})]}),e.jsxs("span",{className:"ap-stat",children:[e.jsx("span",{className:"ap-statNum",children:W}),e.jsx("span",{className:"ap-statLbl",children:W===1?"session":"sessions"})]}),r.length>0?e.jsxs("span",{className:"ap-stat",children:[e.jsx("span",{className:"ap-statNum",children:r.length}),e.jsx("span",{className:"ap-statLbl",children:"in flight"})]}):null,e.jsx("span",{className:"ap-statMarks",children:M.map(s=>e.jsx("span",{title:s,"aria-hidden":!0,children:e.jsx(R,{harness:s,size:12})},s))})]}),o&&!E&&!B?e.jsxs("div",{className:"ap-resume","data-tone":o.needs?"needs":"live","aria-live":"polite",children:[e.jsx("span",{className:"ap-dot","data-tone":o.needs?"needs":"live","aria-hidden":!0}),e.jsx("span",{className:"ap-resumeLbl",children:o.needs?"Waiting on you":"Most recent"}),e.jsxs("span",{className:"ap-resumeWho",children:[e.jsx("span",{className:"ap-sigil","aria-hidden":!0,children:"@"}),o.nodes[0].row.agent.handle?.trim()||o.name]}),e.jsxs("span",{className:"ap-resumeMeta",children:[o.branches[0]??"main"," · ",o.lastActivityAt?O(o.lastActivityAt):"—"]}),e.jsxs("span",{className:"ap-resumeActions",children:[e.jsx("button",{type:"button",className:"ap-linkAccent",onClick:()=>c.selectAgent(o.nodes[0].row),children:o.needs?"Continue":"Resume"}),e.jsx("button",{type:"button",className:"ap-link",onClick:()=>c.openAgentPage(o.nodes[0].row),children:"Open ↗"})]})]}):null,B?null:e.jsxs("div",{className:"ap-find",children:[e.jsx("span",{className:"ap-findIco","aria-hidden":!0,children:e.jsx(se,{})}),e.jsx("input",{ref:v,className:"ap-findInput",placeholder:"Find an agent, branch, or harness… (⌘K)",value:k,onChange:s=>C(s.target.value)}),e.jsx("div",{className:"ap-findFilters",children:M.map(s=>e.jsxs("button",{type:"button",className:"ap-filter","data-on":N===s||void 0,onClick:()=>S(t=>t===s?null:s),children:[e.jsx(R,{harness:s,size:11}),s.charAt(0).toUpperCase()+s.slice(1)]},s))})]}),e.jsxs("div",{className:"ap-main",children:[e.jsxs("div",{className:"ap-sectionHead",children:[e.jsx("span",{className:"ap-sectionTitle",children:"Agents"}),e.jsxs("span",{className:"ap-sectionMeta",children:[i.length," shown",E?" · filtered":""]}),e.jsxs("span",{className:"ap-kbdHint","aria-hidden":!0,children:["↑↓ move · ↵ open",U?" · ⌘↵ needs":""]})]}),e.jsxs("div",{className:"ap-roster",children:[i.map((s,t)=>e.jsx(ne,{g:s,gestures:c,sessions:A,selected:z(s),cursor:j===t,rowRef:y=>{y?f.current.set(s.name,y):f.current.delete(s.name)}},s.name)),i.length===0?e.jsx("div",{className:"ap-empty",children:E?"No agents match.":I.length?"No primary agents — workflow & clone agents are in the fold below.":"No agents in this project yet."}):null]}),I.length?e.jsxs("div",{className:"ap-ephBlock",children:[e.jsxs("button",{type:"button",className:"ap-ephToggle",onClick:()=>p(s=>!s),children:[e.jsx("span",{className:"ap-ephCount",children:I.length})," ephemeral · workflow & clone agents",e.jsx("span",{className:"ap-ephCaret",children:u?"▴":"▾"})]}),u?e.jsx("div",{className:"ap-ephList",children:I.map(s=>e.jsxs("button",{type:"button",className:"ap-ephRow",onClick:()=>c.openAgentPage(s.nodes[0].row),children:[e.jsx("span",{className:"ap-ephMark","aria-hidden":!0,children:e.jsx(R,{harness:D(s.harness),size:10})}),e.jsx("span",{className:"ap-ephName",children:s.name}),e.jsx("span",{className:"ap-ephBranch",children:s.branches[0]??"main"}),e.jsx("span",{className:"ap-ephAgo",children:s.lastActivityAt?O(s.lastActivityAt):"—"})]},s.name))}):null]}):null,e.jsx("button",{type:"button",className:"ap-newAgent",disabled:!o,onClick:()=>o&&c.startSession(o.nodes[0].row),children:"+ New agent on this project"})]})]})})}export{ns as AgentsLibrary};
@@ -1 +0,0 @@
1
- import{c}from"./createLucideIcon-CKbjXlwv.js";const e=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],a=c("loader-circle",e);export{a as L};
@@ -1 +0,0 @@
1
- import{r}from"./index-BFbLvCJn.js";import{a as d}from"./api-DSqpVKC7.js";import{u as f}from"./Provider-BEXAZWd9.js";function p(e){if(!e)return null;const s=e.split("/").filter(Boolean);return s[s.length-1]??null}function m(e,s){if(!e)return[];const l=new Set;for(const t of s)t.cwd&&l.add(t.cwd),t.projectRoot&&l.add(t.projectRoot);const o=new Map;for(const t of e.transcripts){if(!t.cwd)continue;const n=o.get(t.cwd),a=t.lastEventAt??t.mtimeMs,c=n?.lastEventAt??n?.mtimeMs??0;(!n||a>c)&&o.set(t.cwd,t)}const i=[];for(const t of e.processes){if(t.harness==="scout-managed"||t.cwd&&l.has(t.cwd))continue;const n=t.cwd?o.get(t.cwd):void 0,a=n?.project??p(t.cwd)??null,c=n?.lastEventAt??n?.mtimeMs??e.generatedAt,u=n?.sessionId??null;i.push({id:`harness:${t.source}:${t.pid}`,definitionId:`harness:${t.source}:${t.pid}`,name:t.source,handle:null,agentClass:"organic",harness:t.source,state:"working",projectRoot:t.cwd,cwd:t.cwd,updatedAt:c,createdAt:null,transport:null,selector:null,defaultSelector:null,nodeQualifier:null,workspaceQualifier:null,wakePolicy:null,capabilities:[],project:a,branch:null,role:null,model:null,harnessSessionId:u,terminalSurface:null,harnessLogPath:n?.transcriptPath??null,conversationId:u??`harness:${t.pid}`,homeNodeId:null,homeNodeName:null,ownerId:null,ownerName:null,ownerHandle:null,staleLocalRegistration:!1,retiredFromFleet:!1,replacedByAgentId:null})}return i}function A(){const{agents:e}=f(),[s,l]=r.useState(null);r.useEffect(()=>{let t=!1;const n=async()=>{const c=await d("/api/tail/discover").catch(()=>null);t||l(c)};n();const a=setInterval(()=>{n()},1e4);return()=>{t=!0,clearInterval(a)}},[]);const o=r.useMemo(()=>m(s,e),[s,e]);return{agents:r.useMemo(()=>[...e,...o],[e,o]),scoutAgents:e,organicAgents:o,discovery:s}}export{A as u};
@@ -1 +0,0 @@
1
- import{c as o}from"./createLucideIcon-CKbjXlwv.js";const a=[["path",{d:"m10 17 5-5-5-5",key:"1bsop3"}],["path",{d:"M15 12H3",key:"6jk70r"}],["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}]],t=o("log-in",a);export{t as L};
@@ -1 +0,0 @@
1
- import{a as A,n as H}from"./agent-state-DDhnFEEP.js";import{g as R}from"./Provider-BEXAZWd9.js";import{s as v}from"./use-mesh-node-state-BlWIPTc4.js";function c(e){return e?e.replace(/^https?:\/\//,"").split("/")[0].split(":")[0].split(".")[0]||e.slice(0,8):""}function m(e){return e&&((e.hostName?c(e.hostName):null)||e.name)||"this host"}function j(e){if(!e)return"Host";const n=m(e.localNode);return n==="this host"?"Host":n}const u=new Set(["localhost","localhost.localdomain","127.0.0.1","::1"]);function I(e){const n=(e??"").trim().toLowerCase();return n.length===0||u.has(n)}function $(e){if(!I(e.hostName)){const a=c(e.hostName);if(a)return a}const n=c(e.dnsName);if(n&&!u.has(n.toLowerCase()))return n;const t=(e.name??"").trim();return t&&!u.has(t.toLowerCase())?t:"tailnet peer"}function g(e){const n=c(e.dnsName);if(n&&!u.has(n.toLowerCase()))return n.toLowerCase();if(!I(e.hostName)){const t=c(e.hostName);if(t)return t.toLowerCase()}return(e.name??"").trim().toLowerCase()}function b(e){return(c(e.hostName)||(e.name?c(e.name):"")).toLowerCase()}function M(e){return g(e).length===0}function N(e){if(e)return{nodeId:e.id,brokerUrl:e.brokerUrl??null,advertiseScope:e.advertiseScope??null,lastSeenAt:typeof e.lastSeenAt=="number"?e.lastSeenAt:null,capabilities:e.capabilities??[]}}function L(e){const n=(e??"").split("/")[0]?.trim();return n||null}function P(e,n){const t=R(e),a=new Map,r=n.localNode?.id??"local",S=m(n.localNode),y=(n.localNode&&n.nodes?.[n.localNode.id])??n.nodes?.[r];a.set(r,{machineId:r,machineLabel:S,kind:"this",reachability:"this",presence:"self",online:!0,host:y?.host,node:N(y)??{nodeId:r,brokerUrl:n.localNode?.brokerUrl??null,advertiseScope:n.localNode?.advertiseScope??null,lastSeenAt:null,capabilities:n.localNode?.capabilities??[]},agents:[]});const d=!!n.tailscale?.running,h=new Map;for(const o of n.tailscale?.peers??[]){const i=g(o);i&&(h.has(i)||h.set(i,o))}for(const o of Object.values(n.nodes??{})){if(!o?.id||o.id===r)continue;const i=h.get(b(o)),s=!i||!d?"unknown":i.online?"reachable":"unreachable";a.set(o.id,{machineId:o.id,machineLabel:m(o)||o.id,kind:"node",reachability:"peer",presence:s,online:s!=="unreachable",host:o.host,node:N(o),...i?{tailnet:{peerId:i.id,address:L(i.addresses?.[0]),os:i.os??null,online:!!(i.online&&d)}}:{},agents:[]})}for(const o of t){const i=o.authorityNodeId??o.homeNodeId??r,s=a.get(i);s&&s.agents.push(o)}const l=new Set;for(const o of a.values()){l.add(o.machineLabel.toLowerCase());const i=n.nodes?.[o.machineId];if(i){const s=b(i);s&&l.add(s)}}const k=n.localNode?b(n.localNode):"";k&&l.add(k);for(const o of n.tailscale?.peers??[]){if(M(o))continue;const i=$(o),s=g(o);if(s&&l.has(s)||l.has(i.toLowerCase()))continue;const f=`tailnet:${o.id}`;if(a.has(f))continue;const p=!!(o.online&&d);a.set(f,{machineId:f,machineLabel:i,kind:"tailnet",reachability:"tailnet",presence:d?p?"reachable":"unreachable":"unknown",online:p,tailnet:{peerId:o.id,address:L(o.addresses?.[0]),os:o.os??null,online:p},agents:[]}),s&&l.add(s),l.add(i.toLowerCase())}const w=o=>o.reachability==="this"?0:o.reachability==="peer"?1:2;return Array.from(a.values()).sort((o,i)=>{const s=w(o)-w(i);return s!==0?s:o.machineLabel.localeCompare(i.machineLabel)})}function z(e){const{machineId:n,on:t}=e,a=[{id:"open",label:"Show what's running here",hint:"Load this machine's current agents and activity",run:()=>t.select(n)},{id:"refresh",label:e.checking?"Checking…":"Refresh this node",hint:"Check reachability and re-read state now",disabled:e.checking,run:()=>t.refresh(n)},{id:"focus",label:`Focus on ${e.machineLabel}`,hint:"Show only this machine",run:()=>t.focus(n)},{id:"visibility",label:e.hidden?"Show this machine":"Hide this machine",run:()=>t.toggleHidden(n)}];return e.anyHidden&&a.push({id:"show-all",label:"Show all machines",run:()=>t.showAll()}),e.positioned&&t.clearPosition&&a.push({id:"clear-position",label:"Reset position",hint:"Put this machine back in the automatic layout",run:()=>t.clearPosition?.(n)}),e.canCopy&&e.nodeId&&a.push({id:"copy-node-id",label:"Copy node ID",run:()=>t.copy(e.nodeId)}),e.canCopy&&e.brokerUrl&&a.push({id:"copy-broker-url",label:"Copy broker address",run:()=>t.copy(e.brokerUrl)}),a}function C(e){return e.updatedAt??e.createdAt??0}function F(e,n){return e.kind==="this"?[...e.agents].sort((t,a)=>C(a)-C(t)).map(t=>({key:t.id,name:t.name,tone:H(t.state),title:t.name,agent:t,selectId:t.id})):!n||n.roster.length===0?[]:n.roster.map(t=>({key:t.id,name:t.title,meta:t.statusLabel??void 0,tone:B(t.state),title:t.projectRoot?`${t.title} — ${t.projectRoot}`:t.title,agent:null,selectId:null}))}function B(e){return e==="working"?"in_turn":e==="available"?"callable":"neutral"}function T(e,n,t){const a=n?.workload??null;if(a){const r=a.working===null?`${a.total}`:`${a.working}/${a.total}`;return n?.stale?`${r} · last known`:r}return t?"checking…":e.kind==="this"&&e.agents.length>0?`${e.agents.filter(r=>A(r.state)).length}/${e.agents.length}`:v(n).label.toLowerCase()}function _(e,n){return P(e,n).map(t=>t.kind==="this"?t:{...t,agents:[]})}export{P as a,z as b,_ as c,F as d,j as l,T as m};
@@ -1 +0,0 @@
1
- function v(e){const t=e instanceof Error?e.message:String(e);return l(t)?"Scout server is unreachable":t}function d(e){return e==="Scout server is unreachable"}function l(e){return/failed to fetch|fetch failed|networkerror|load failed|couldn'?t connect|could not connect|connection refused|econnrefused|server is unreachable/i.test(e)}function f(e,t){const n=t?.trim();n&&e.add(n)}function h(e,t){const n=new Set;return f(n,e.authorityNodeId),f(n,e.homeNodeId),n.size===0&&f(n,t),n}function a(e,t,n){return t?h(e,n).has(t):!0}function y(e,t,n){return t?e.filter(r=>a(r,t,n)):e}function A(e,t,n){return t?new Set(e.filter(r=>a(r,t,n)).map(r=>r.id)):null}function i(e,t,n){return!t&&!n||n&&e.authorityNodeId===n?!0:t?e.agentId&&t.has(e.agentId)||e.actorId&&t.has(e.actorId)||e.ownerId&&t.has(e.ownerId)||e.nextMoveOwnerId&&t.has(e.nextMoveOwnerId)?!0:!!e.participantIds?.some(r=>t.has(r)):!1}function p(e,t,n){return i(e,t,n)}function w(e,t,n){return!t&&!n?e:e.filter(r=>p(r,t,n))}function M(e,t){return i(e,t)}function S(e,t){return t?e.filter(n=>M(n,t)):e}function s(e,t){return i(e,t)}function k(e,t){if(!e||!t)return e;const n=e.activeAsks.filter(c=>i(c,t)),r=e.recentCompleted.filter(c=>i(c,t)),u=e.needsAttention.filter(c=>i(c,t)),o=S(e.activity,t);return{...e,totals:{active:n.length,recentCompleted:r.length,needsAttention:u.length,activity:o.length},activeAsks:n,recentCompleted:r,needsAttention:u,activity:o}}function m(e,t){if(!t)return e;const n=e.activeFlights.filter(o=>i(o,t)),r=e.childWork.filter(o=>s(o,t));return s(e,t)||n.length>0||r.length>0?{...e,activeFlights:n,childWork:r}:null}export{S as a,y as b,w as c,k as d,m as e,v as f,d as i,A as m};
@@ -1 +0,0 @@
1
- import{a as x}from"./api-DSqpVKC7.js";const u=new Set(["png","jpg","jpeg","gif","webp","avif","heic","heif","bmp"]),l=new Set(["mp4","webm","mov","m4v"]),m=new Set(["mp3","wav","m4a","aac","ogg","oga"]),p=new Set(["md","markdown","mdx","mdown","mkd"]),g=new Set(["c","cc","cpp","cxx","h","hh","hpp","hxx","cjs","mjs","js","jsx","ts","tsx","py","pyw","pyi","rs","go","java","kt","kts","swift","cs","rb","php","lua","r","sh","bash","zsh","fish","ps1","bat","cmd","sql","prisma","json","jsonc","json5","yaml","yml","toml","xml","html","htm","xhtml","css","scss","sass","less","vue","svelte","astro","graphql","gql","zig","ex","exs","erl","hrl","hs","clj","cljs","cljc","dart","tf","hcl","nix","env","ini","cfg","conf","properties","txt","log","cmake","gradle","groovy","patch","diff","proto","wat"]),w=new Set(["dockerfile","containerfile","makefile","gemfile","rakefile","procfile","brewfile"]),y=new Set(["text/markdown","text/x-markdown","text/plain","text/javascript","text/typescript","text/css","text/html","text/yaml","text/toml","text/x-shellscript","application/json","application/javascript"]);function d(e){return e.trim().split(/[/\\]/).pop()?.toLowerCase()??""}function o(e){const t=d(e),r=t.lastIndexOf(".");return r>=0?t.slice(r+1):""}function j(e){return p.has(o(e))}function v(e){const t=d(e);return w.has(t)?!0:g.has(o(e))}function f(e){return j(e)||v(e)}function h(e,t){if(!f(t))return null;const r=o(t);if(p.has(r))return"text/markdown";switch(r){case"json":case"jsonc":case"json5":return"application/json";case"yaml":case"yml":return"text/yaml";case"toml":return"text/toml";case"html":case"htm":case"xhtml":return"text/html";case"css":case"scss":case"sass":case"less":return"text/css";case"js":case"jsx":case"mjs":case"cjs":return"text/javascript";case"ts":case"tsx":return"text/typescript";case"sh":case"bash":case"zsh":case"fish":return"text/x-shellscript"}const n=e.trim().toLowerCase();return y.has(n)?n:"text/plain"}function E(e){return u.has(o(e))}function S(e){return l.has(o(e))}function k(e){return m.has(o(e))}function F(e,t){const r=e.trim().toLowerCase();return r.startsWith("image/")||r.startsWith("video/")||r.startsWith("audio/")||r==="text/markdown"||r==="text/x-markdown"?!0:t?E(t)||S(t)||k(t)||h(r,t)?!0:!r||r==="application/octet-stream"?f(t):!1:!1}function C(e){const t=e.type.trim().toLowerCase();if(t.startsWith("image/")||t.startsWith("video/")||t.startsWith("audio/"))return t;const r=o(e.name);return u.has(r)?r==="jpg"||r==="jpeg"?"image/jpeg":r==="svg"?"image/svg+xml":`image/${r}`:l.has(r)?r==="mov"?"video/quicktime":r==="m4v"?"video/mp4":`video/${r}`:m.has(r)?r==="mp3"?"audio/mpeg":r==="m4a"?"audio/mp4":r==="oga"?"audio/ogg":`audio/${r}`:h(t,e.name)??t}function a(e){return F(e.type,e.name)}function M(e){return C(e)}function L(e){return e?e.files.length>0||[...e.types].some(t=>t.toLowerCase()==="files")?!0:[...e.items].some(t=>t.kind==="file"):!1}function N(e){if(!e)return[];const t=new Set,r=[],n=s=>{if(!s)return;const i=`${s.name}:${s.size}:${s.lastModified}:${s.type}`;t.has(i)||(t.add(i),r.push(s))};for(const s of e.files)n(s);if(e.items)for(const s of e.items)(s.kind==="file"||s.type.startsWith("image/")||s.type.startsWith("video/"))&&n(s.getAsFile());return b(e,r),r}const O=new WeakMap;function b(e,t){const r=typeof e.getData=="function"?e.getData("text/uri-list"):"",n=T(r);if(!(n.length===0||t.length===0))for(let s=0;s<t.length;s+=1){const i=t[s],c=n[s];i&&c&&O.set(i,c)}}function T(e){if(!e.trim())return[];const t=[];for(const r of e.split(/\r?\n/u))if(!(!r||r.startsWith("#")))try{const n=new URL(r.trim());if(n.protocol!=="file:")continue;const s=decodeURIComponent(n.pathname);t.push(s)}catch{}return t}function D(e){return N(e).filter(a)}function R(e){return D(e)}function I(e){return new Promise((t,r)=>{const n=new FileReader;n.onload=()=>{const s=typeof n.result=="string"?n.result:"",i=s.indexOf(",");t(i>=0?s.slice(i+1):s)},n.onerror=()=>r(n.error??new Error("Could not read file.")),n.readAsDataURL(e)})}async function W(e){if(!a(e))throw new Error("Only markdown, code, image, and video files can be routed.");const t=await I(e);return x("/api/blobs",{method:"POST",body:JSON.stringify({data:t,mediaType:M(e),fileName:e.name})})}async function U(e){const t=e.filter(a);if(t.length===0)throw new Error("Drop markdown, code, an image, or a video clip to route.");return(await Promise.all(t.map(n=>W(n)))).map((n,s)=>({id:n.id,mediaType:n.mediaType,fileName:n.fileName??t[s]?.name,url:n.url}))}export{L as dataTransferMayContainFiles,v as isCodeFileName,j as isMarkdownFileName,a as isRoutableMediaFile,f as isTextCaptureFileName,R as readClipboardMediaFiles,D as readRoutableFiles,N as readTransferredFiles,M as resolvedUploadMediaType,W as uploadMediaFile,U as uploadMediaFiles};
@@ -1 +0,0 @@
1
- import{j as l,r as d}from"./index-BFbLvCJn.js";import{a as y}from"./colors-CFlbwC25.js";import{r as T}from"./index-CXzJ_hGx.js";import{a as F}from"./api-DSqpVKC7.js";import{n as V,d as K,e as Z}from"./agent-state-DDhnFEEP.js";import{u as N}from"./Provider-BEXAZWd9.js";import{A as U}from"./AgentDetailCard-CI-ufaEP.js";const X={workspace:"workspace",worktree:"workspace",branch:"workspace",profile:"profile",persona:"profile",harness:"harness",runtime:"harness",model:"model",node:"node",host:"node"};function G(e){return e.trim().replace(/^@+/,"").replace(/[.,!?;)\]]+$/,"")}function m(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"")}const Y="scout";function B(e){return X[m(e)]??null}function D(e){const n=m(e.definitionId),t=e.workspaceQualifier?m(e.workspaceQualifier):void 0,r=e.profile?m(e.profile):void 0,o=e.harness?m(e.harness):void 0,i=o==="oc"?"opencode":o,s=e.model?m(e.model):void 0,c=e.nodeQualifier?m(e.nodeQualifier):void 0;return n?{definitionId:n,...t?{workspaceQualifier:t}:{},...r?{profile:r}:{},...i?{harness:i}:{},...s?{model:s}:{},...c?{nodeQualifier:c}:{}}:null}function O(e){const n=e.split(".").filter(Boolean),t=n.shift();if(!t)return null;const r={definitionId:t},o=[];for(const i of n){if(i.includes(":")){const[s,c=""]=i.split(":",2),a=B(s),u=m(c);if(!a||!u)return null;a==="workspace"?r.workspaceQualifier=u:a==="profile"?r.profile=u:a==="harness"?r.harness=u:a==="model"?r.model=u:a==="node"&&(r.nodeQualifier=u);continue}o.push(i)}if(o.length===1){const i=m(o[0]);if(!i)return null;r.workspaceQualifier=i}else if(o.length===2){const i=m(o[0]),s=m(o[1]);if(!i||!s)return null;r.workspaceQualifier||(r.workspaceQualifier=i),r.nodeQualifier||(r.nodeQualifier=s)}else if(o.length>2)return null;return M(r,{raw:e})}function J(e){const n=e.indexOf("#"),t=e.indexOf("?");if(n===-1&&t===-1||e.indexOf("#",n+1)!==-1||e.indexOf("?",t+1)!==-1||n!==-1&&t!==-1&&t<n)return null;const r=Math.min(...[n,t].filter(a=>a>=0)),o=e.slice(0,r);if(!o)return null;const i=O(o);if(!i)return null;const s=n>=0?e.slice(n+1,t>=0?t:e.length):"",c=t>=0?e.slice(t+1):"";return n>=0&&!s||t>=0&&!c||s.includes("#")||s.includes("?")||c.includes("#")||c.includes("?")||i.harness&&s||i.model&&c?null:M({definitionId:i.definitionId,nodeQualifier:i.nodeQualifier,workspaceQualifier:i.workspaceQualifier,profile:i.profile,harness:s||i.harness,model:c||i.model},{raw:e})}function q(e){const n=G(e);return!n||n.includes("@")?null:n.includes("#")||n.includes("?")?J(n):O(n)}function L(e,n={}){const t=D(e);if(!t)return n.includeSigil===!1?"":"@";const o=[`${n.includeSigil===!1?"":"@"}${t.definitionId}`];return t.workspaceQualifier&&o.push(t.workspaceQualifier),t.profile&&o.push(`profile:${t.profile}`),t.harness&&o.push(`harness:${t.harness}`),t.model&&o.push(`model:${t.model}`),t.nodeQualifier&&o.push(`node:${t.nodeQualifier}`),o.join(".")}function M(e,n={}){const t=D(e);return t?{raw:n.raw??L(t,{includeSigil:!1}),label:L(t),definitionId:t.definitionId,...t.nodeQualifier?{nodeQualifier:t.nodeQualifier}:{},...t.workspaceQualifier?{workspaceQualifier:t.workspaceQualifier}:{},...t.profile?{profile:t.profile}:{},...t.harness?{harness:t.harness}:{},...t.model?{model:t.model}:{}}:null}function ee(e){return ne(e).parsed}function ne(e){const n=Array.from(e.matchAll(/(^|[\s([{'"`])@([a-z0-9][a-z0-9._/:-]*(?:#[a-z0-9][a-z0-9._/:-]*)?(?:\?[a-z0-9][a-z0-9._/:-]*)?)(?=$|[\s)\]}",.!?:;'"`])/gi)),t=new Map,r=[];for(const o of n){const i=o[2]??"",s=q(i);if(!s){i&&r.push(`@${i}`);continue}t.set(s.label,s)}return{parsed:Array.from(t.values()),unparsed:Array.from(new Set(r))}}const te=280,re=120,E=320,j=8,Q=new Map,ie=1e4;function p(e){const n=e?.trim().replace(/^@+/,"").toLowerCase();return n&&n.length>0?n:null}function W(e){const n=new Set,t=r=>{const o=p(r);o&&n.add(o)};return t(e.id),t(e.handle),t(e.name),t(e.selector),t(e.defaultSelector),t(e.definitionId),e.definitionId&&e.workspaceQualifier&&t(`${e.definitionId}.${e.workspaceQualifier}`),e.definitionId&&e.workspaceQualifier&&e.nodeQualifier&&(t(`${e.definitionId}.${e.workspaceQualifier}.${e.nodeQualifier}`),t(`${e.definitionId}.${e.workspaceQualifier}.node:${e.nodeQualifier}`)),e.definitionId&&e.nodeQualifier&&t(`${e.definitionId}.node:${e.nodeQualifier}`),n}function oe(e,n){const t=p(n.label),r=p(n.raw),o=W(e);return t&&o.has(t)||r&&o.has(r)?!0:n.definitionId&&p(e.definitionId)!==p(n.definitionId)||n.workspaceQualifier&&p(e.workspaceQualifier)!==p(n.workspaceQualifier)||n.nodeQualifier&&p(e.nodeQualifier)!==p(n.nodeQualifier)||n.harness&&p(e.harness)!==p(n.harness)||n.model&&p(e.model)!==p(n.model)?!1:!!n.definitionId}function _(e,n){const t=p(n.label),r=p(n.raw),o=W(e),i=t&&o.has(t)||r&&o.has(r)?1e3:0,s=[n.workspaceQualifier,n.nodeQualifier,n.harness,n.model,n.profile].filter(Boolean).length*100;V(e.state);const c=K(e.state,e)?30:Z(e.state,e)?20:0;return i+s+c+Math.min(e.updatedAt??0,9999999999)/1e9}function se(e){const n=p(e.raw);return n&&n.split(".").length>=3?n:null}function H(e,n){const t=n.filter(r=>oe(r,e)).sort((r,o)=>_(o,e)-_(r,e));return t[0]?t[0]:null}async function le(e,n){const t=H(e,n),r=t?.id??se(e),o=r??e.label,i=Q.get(o);if(i&&Date.now()-i.fetchedAt<ie)return i.agent;if(!r)return Q.set(o,{agent:t,fetchedAt:Date.now()}),t;try{const s=await F(`/api/agents/${encodeURIComponent(r)}`);return Q.set(o,{agent:s,fetchedAt:Date.now()}),s}catch{return Q.set(o,{agent:t,fetchedAt:Date.now()}),t}}function C(e){const n=window.innerWidth,t=window.innerHeight,r=Math.max(j,Math.min(n-E-j,e.left+e.width/2-E/2)),o=e.top-j;return o>200||e.bottom>t-200?{top:o,left:r,placement:"above"}:{top:e.bottom+j,left:r,placement:"below"}}function ae(e){let n=e;for(;n;){if(n instanceof HTMLElement&&n.dataset.scoutTheme)return n;n=n.parentElement??null}return document.body}function ce({identity:e,agent:n,triggerEl:t,onRequestClose:r}){const{agents:o,navigate:i}=N(),[s,c]=d.useState(()=>n??H(e,o)),[a,u]=d.useState(!n),[f,w]=d.useState(()=>C(t.getBoundingClientRect())),x=d.useRef(null),g=ae(t);d.useEffect(()=>{if(n){c(n),u(!1);return}let h=!1;return u(!0),le(e,o).then(I=>{h||(c(I),u(!1))}),()=>{h=!0}},[e,o,n]),d.useEffect(()=>{const h=()=>{w(C(t.getBoundingClientRect()))};return window.addEventListener("scroll",h,!0),window.addEventListener("resize",h),()=>{window.removeEventListener("scroll",h,!0),window.removeEventListener("resize",h)}},[t]),d.useEffect(()=>{const h=I=>{I.key==="Escape"&&r()};return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[r]);const k=d.useCallback(()=>{s&&(i({view:"agents-v2",agentId:s.id}),r())},[s,i,r]),b=f.placement==="above"?"bottom center":"top center",A=f.placement==="above"?"translateY(-100%)":"",$={position:"fixed",top:f.top,left:f.left,width:E,transform:A,transformOrigin:b};return s?T.createPortal(l.jsx("div",{onMouseEnter:()=>{},onMouseLeave:r,children:l.jsx(U,{ref:x,agent:s,pinned:!0,onOpen:k,onClose:r,onAction:r,style:$,className:"agent-card--mention"})}),g):T.createPortal(l.jsx("div",{ref:x,className:"agent-card agent-card--pinned agent-card--mention",role:"dialog","aria-label":`${e.label} snapshot`,style:$,onMouseEnter:()=>{},onMouseLeave:r,children:l.jsx("div",{style:{fontSize:"12px",color:"var(--dim)",padding:"4px 2px"},children:a?"loading…":l.jsxs(l.Fragment,{children:["No agent registered as ",l.jsx("code",{children:e.label}),"."]})})}),g)}function ue(e){return M({definitionId:e.definitionId,workspaceQualifier:e.workspaceQualifier??void 0,nodeQualifier:e.nodeQualifier??void 0,harness:e.harness??void 0,model:e.model??void 0})}function fe(e){const{agent:n,identity:t}=e,[r,o]=d.useState(!1),[i,s]=d.useState(!1),c=d.useRef(null),a=d.useRef(null),u=d.useRef(null),f=d.useCallback(()=>{a.current!==null&&(window.clearTimeout(a.current),a.current=null),u.current!==null&&(window.clearTimeout(u.current),u.current=null)},[]),w=d.useCallback(()=>{r||(f(),a.current=window.setTimeout(()=>o(!0),te))},[r,f]),x=d.useCallback(()=>{i||(f(),u.current=window.setTimeout(()=>o(!1),re))},[i,f]),g=d.useCallback(()=>{f(),o(!1),s(!1)},[f]);d.useEffect(()=>()=>f(),[f]);const k=d.useMemo(()=>t??(n?ue(n):null),[t,n]),b=!!k,A=d.useCallback(v=>{if(v.preventDefault(),v.stopPropagation(),r&&i){g();return}f(),s(!0),o(!0)},[r,i,g,f]),$=d.useCallback(v=>{(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),s(!0),o(!0))},[]),h=b?{ref:c,onMouseEnter:w,onMouseLeave:x,onFocus:w,onBlur:x,onClick:A,onKeyDown:$,"data-hover-open":r?"true":void 0,"aria-haspopup":"dialog","aria-expanded":r}:{ref:c},I=r&&c.current&&k?l.jsx(ce,{identity:k,agent:n??null,triggerEl:c.current,onRequestClose:()=>{i?g():x()}}):null;return{triggerProps:h,popover:I,open:r,pinned:i}}function de({identity:e,color:n}){const{triggerProps:t,popover:r}=fe({identity:e});return l.jsxs(l.Fragment,{children:[l.jsx("span",{...t,className:"s-mention",role:"button",tabIndex:0,style:{"--mention-color":n},children:e.label}),r]})}const pe=["ts","tsx","js","jsx","mjs","cjs","md","mdx","txt","log","json","jsonc","yaml","yml","toml","css","scss","html","htm","sh","py","rb","go","rs","swift","kt","java","c","cpp","h","png","jpg","jpeg","gif","svg","webp","avif","env","conf","ini","gitignore","sql","xml"],he=pe.join("|"),S=new RegExp(`\\.(?:${he})(?:$|[?#])`,"i"),me=/^(?:\/Users\/|\/home\/|\/Volumes\/|\/var\/|\/etc\/|\/opt\/|\/tmp\/|\/private\/|\/mnt\/|\/Applications\/|\/usr\/|\/Library\/)/u,we=/(?:^|[\s(\[`'"])((?:~\/|\.\/|\.\.\/|\/)[A-Za-z0-9._/\-]+|[A-Za-z0-9._\-]+(?:\/[A-Za-z0-9._\-]+)+)/g;function xe(e){return e.startsWith("~/")||e.startsWith("./")||e.startsWith("../")?!0:e.startsWith("/")&&me.test(e)||S.test(e)}function P(e){const n=[],t=new RegExp(we.source,"g");let r;for(;(r=t.exec(e))!==null;){const o=r[1];if(!o)continue;const i=o.replace(/[.,;:!?]+$/u,"");if(!i||!xe(i))continue;const s=r[0].lastIndexOf(o);if(s<0)continue;const c=r.index+s;n.push({start:c,end:c+i.length,path:i})}return n}function ge(e){return/\.(png|jpe?g|gif|svg|webp|avif)(?:$|[?#])/iu.test(e)}function ve(e){return e.endsWith("/")?!0:!(e.split("/").pop()??"").includes(".")&&!e.startsWith("./")&&!e.startsWith("../")}function ke({kind:e}){return e==="dir"?l.jsx("svg",{className:"s-path-token-icon",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:l.jsx("path",{d:"M2 5a1 1 0 0 1 1-1h3.5l1.5 1.5h5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1Z"})}):e==="image"?l.jsxs("svg",{className:"s-path-token-icon",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[l.jsx("rect",{x:"2",y:"3",width:"12",height:"10",rx:"1.5"}),l.jsx("circle",{cx:"6",cy:"7",r:"1"}),l.jsx("path",{d:"m3 12 3.5-3 2.5 2 3-2.5L14 11"})]}):l.jsxs("svg",{className:"s-path-token-icon",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[l.jsx("path",{d:"M4 2h5l3 3v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1Z"}),l.jsx("path",{d:"M9 2v3h3"})]})}function R({path:e}){const{openFilePreview:n}=N(),t=ge(e)?"image":ve(e)?"dir":"file";return l.jsxs("button",{type:"button",className:"s-path-token",onClick:r=>{r.preventDefault(),r.stopPropagation(),n(e)},title:`Open ${e}`,children:[l.jsx(ke,{kind:t}),e]})}function Ie(e,n){if(n.length===0)return[{kind:"text",value:e}];const t=new Map;for(const s of n)t.set(s.label.toLowerCase(),s);const r=[];let o=e;const i=/@([a-z0-9][a-z0-9._/:-]*)/i;for(;o.length>0;){const s=i.exec(o);if(!s||s.index===void 0){r.push({kind:"text",value:o});break}s.index>0&&r.push({kind:"text",value:o.slice(0,s.index)});const c=s[0],a=c.toLowerCase(),u=t.get(a);u?r.push({kind:"mention",identity:u}):r.push({kind:"text",value:c}),o=o.slice(s.index+c.length)}return r}function $e(e,n){const t=[],r=/`([^`\n]+)`|\*\*(.+?)\*\*|\*([^*\s][^*]*?)\*|\[([^\]\n]+)\]\(([^)\s]+)\)|(https?:\/\/[^\s<>"')\]]+)/g;let o=0,i,s=0;const c=a=>{if(!a)return;const u=P(a);if(u.length===0){t.push(l.jsx("span",{children:a},`${n}-${s++}`));return}let f=0;for(const w of u)w.start>f&&t.push(l.jsx("span",{children:a.slice(f,w.start)},`${n}-${s++}`)),t.push(l.jsx(R,{path:w.path},`${n}-${s++}`)),f=w.end;f<a.length&&t.push(l.jsx("span",{children:a.slice(f)},`${n}-${s++}`))};for(;(i=r.exec(e))!==null;){if(i.index>o&&c(e.slice(o,i.index)),i[1]!==void 0){const a=i[1],u=P(` ${a}`);u.length===1&&u[0].path===a?t.push(l.jsx(R,{path:a},`${n}-${s++}`)):t.push(l.jsx("code",{className:"s-inline-code",children:a},`${n}-${s++}`))}else if(i[2]!==void 0)t.push(l.jsx("strong",{children:i[2]},`${n}-${s++}`));else if(i[3]!==void 0)t.push(l.jsx("em",{children:i[3]},`${n}-${s++}`));else if(i[4]!==void 0&&i[5]!==void 0&&z(i[5]))t.push(l.jsx("a",{className:"s-inline-link",href:i[5],target:"_blank",rel:"noreferrer",children:i[4]},`${n}-${s++}`));else if(i[6]!==void 0&&z(i[6])){const a=i[6].replace(/[.,;:!?]+$/u,""),u=i[6].slice(a.length);t.push(l.jsx("a",{className:"s-inline-link",href:a,target:"_blank",rel:"noreferrer",children:a},`${n}-${s++}`)),u&&t.push(l.jsx("span",{children:u},`${n}-${s++}`))}else t.push(l.jsx("span",{children:i[0]},`${n}-${s++}`));o=i.index+i[0].length}return o<e.length&&c(e.slice(o)),t.length>0?t:[l.jsx("span",{children:e},n)]}function z(e){return/^(?:https?:\/\/|mailto:|\/|#)/iu.test(e)}function Le(e){if(!e)return e??"";const n=ee(e);return Ie(e,n).flatMap((r,o)=>{if(r.kind==="text")return $e(r.value,o*100);const{identity:i}=r,c=i.definitionId===Y?"var(--accent)":y(i.definitionId);return l.jsx(de,{identity:i,color:c},o)})}export{Le as r};
@@ -1 +0,0 @@
1
- import{r as p}from"./index-BFbLvCJn.js";const M={active:"active",moving:"moving",done:"done",archive:"archive"},b=["active","moving","done","archive"],h=300*1e3,O=1800*1e3,S=1440*60*1e3;function L(t,n=Date.now()){const o=n-u(t);return o<=h?"active":o<=O?"moving":o<=S?"done":"archive"}const i="openscout.meshOps.lastLookAt";function y(){if(typeof window>"u")return 0;try{const t=window.localStorage.getItem(i);return t?Number(t)||0:Date.now()}catch{return Date.now()}}function A(){if(!(typeof window>"u"))try{window.localStorage.setItem(i,String(Date.now()))}catch{}}function E(t,n){return u(t)>n}function v(t){if(t.labels.length>0)return t.labels[0];if(t.projectRoot){const n=t.projectRoot.split("/").filter(Boolean);return n[n.length-1]??t.projectRoot}return"unlabeled"}function u(t){return t.lastMeaningfulAt??t.updatedAt}const l="openscout.mesh-ops.lab.",r={lastLook:!0,routeStrip:!0,compact:!1,relays:!1,simulateHosts:!1};function m(){if(typeof window>"u")return r;const t=n=>{try{const o=window.localStorage.getItem(`${l}${n}`);return o===null?r[n]:o==="1"}catch{return r[n]}};return{lastLook:t("lastLook"),routeStrip:t("routeStrip"),compact:t("compact"),relays:t("relays"),simulateHosts:t("simulateHosts")}}function _(t,n){if(!(typeof window>"u"))try{window.localStorage.setItem(`${l}${t}`,n?"1":"0")}catch{}}let e={status:"idle",error:null,generatedAt:null,items:[],hosts:[],machineId:null,selectedItemId:null,groupBy:"family",attnFilter:null,unattributedOnly:!1,lab:m(),refreshToken:0};const a=new Set;function s(){for(const t of a)t()}function D(t){e={...e,status:"loading",error:null,machineId:t},s()}function R(t,n,o,c=[]){const f=e.selectedItemId!==null&&!n.some(d=>d.id===e.selectedItemId);e={...e,status:"ready",error:null,items:n,hosts:c,generatedAt:o,machineId:t,selectedItemId:f?null:e.selectedItemId},s()}function F(t,n){e={...e,status:"error",error:n,machineId:t},s()}function T(t){e.selectedItemId!==t&&(e={...e,selectedItemId:t},s())}function H(t){e.groupBy!==t&&(e={...e,groupBy:t},s())}function N(t){e.attnFilter!==t&&(e={...e,attnFilter:t},s())}function B(t){e.unattributedOnly!==t&&(e={...e,unattributedOnly:t},s())}function G(t){const n={...e.lab,[t]:!e.lab[t]};_(t,n[t]),e={...e,lab:n},s()}function P(){e={...e,refreshToken:e.refreshToken+1},s()}function g(t){return a.add(t),()=>{a.delete(t)}}function I(){return e}function W(){return p.useSyncExternalStore(g,I)}function k(){return e}export{b as M,T as a,A as b,u as c,M as d,N as e,v as f,H as g,G as h,E as i,P as j,D as k,R as l,k as m,F as n,y as r,B as s,L as t,W as u};
@@ -1 +0,0 @@
1
- .mesh-ops-list{display:flex;flex-direction:column;height:100%;min-height:0;overflow-y:auto;padding-bottom:var(--space-md)}.mesh-ops-summary{display:flex;align-items:center;gap:var(--space-2xs);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border)}.mesh-ops-tabs{display:inline-flex;align-items:center;gap:var(--space-2xs)}.mesh-ops-tab{display:inline-flex;align-items:baseline;gap:var(--space-xs);border:1px solid var(--border);background:none;padding:var(--space-xs) var(--space-md);color:var(--muted);font-size:var(--text-sm);font-family:var(--font-mono);letter-spacing:var(--tracking-sm);cursor:pointer;border-radius:var(--radius-sm)}.mesh-ops-tab:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 4%,transparent)}.mesh-ops-tab--active{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.mesh-ops-tab-count{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.mesh-ops-tab .dot{align-self:center}.mesh-ops-tab .dot[data-quiet]{opacity:.35}.mesh-ops-tab--active .mesh-ops-tab-count{color:var(--accent)}.mesh-ops-summary-spacer{flex:1}.mesh-ops-groupby{display:inline-flex;align-items:center;gap:var(--space-2xs);font-size:var(--text-sm);font-family:var(--font-mono);color:var(--dim)}.mesh-ops-groupby-label{letter-spacing:var(--tracking-sm);margin-right:var(--space-2xs)}.mesh-ops-groupby-option{border:none;background:none;padding:var(--space-2xs) var(--space-sm);color:var(--muted);font:inherit;letter-spacing:var(--tracking-sm);cursor:pointer;border-radius:var(--radius-sm)}.mesh-ops-groupby-option:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 4%,transparent)}.mesh-ops-groupby-option--active{color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,transparent)}.mesh-ops-hosts{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-xs);padding:var(--space-xs) var(--space-md) 0}.mesh-ops-host{display:inline-flex;align-items:baseline;gap:var(--space-xs);border:1px solid var(--border);background:none;border-radius:var(--radius-md);padding:var(--space-2xs) var(--space-sm);color:var(--muted);font:inherit;font-size:var(--text-sm);cursor:pointer}.mesh-ops-host .dot{align-self:center}.mesh-ops-host:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 4%,transparent)}.mesh-ops-host--active{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.mesh-ops-host-name{color:inherit}.mesh-ops-host-meta{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--dim);font-variant-numeric:tabular-nums}.mesh-ops-host--active .mesh-ops-host-meta{color:var(--accent)}.mesh-ops-host-new{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--amber);font-variant-numeric:tabular-nums}.mesh-ops-host-age{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--dim);font-variant-numeric:tabular-nums}.mesh-ops-row{display:grid;grid-template-columns:14px minmax(0,2fr) minmax(0,.8fr) 120px 76px;column-gap:var(--space-md);align-items:center}.mesh-ops-group{flex-shrink:0;margin:var(--space-lg) var(--space-md) 0}.mesh-ops-group-head{display:flex;align-items:center;gap:var(--space-sm);padding:0 var(--space-sm) var(--space-2xs)}.mesh-ops-group-head .dot[data-quiet]{opacity:.35}.mesh-ops-group-name{color:var(--ink);text-transform:uppercase}.mesh-ops-group-count{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.mesh-ops-group-spacer{flex:1}.mesh-ops-row{width:100%;border:none;border-bottom:1px solid var(--border);background:none;padding:var(--space-xs) var(--space-sm);color:inherit;font:inherit;text-align:left;cursor:pointer}.mesh-ops-row:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}.mesh-ops-row--selected{background:var(--accent-soft)}.mesh-ops-row--selected:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.mesh-ops-row .dot[data-quiet]{opacity:.3}.mesh-ops-row .dot[data-hollow]{background:transparent;border:1px solid var(--dim);opacity:.6}.mesh-ops-list--lastlook .mesh-ops-row:not([data-fresh]) .mesh-ops-row-title{color:var(--muted)}.mesh-ops-row-main{min-width:0}.mesh-ops-row-title{display:block;color:var(--ink);font-size:var(--text-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mesh-ops-row-sub{display:block;margin-top:1px;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-sm);text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mesh-ops-row-owner{display:flex;align-items:center;gap:var(--space-xs);min-width:0;color:var(--muted);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mesh-ops-row-owner>span:last-child{overflow:hidden;text-overflow:ellipsis}.mesh-ops-row-harness{flex-shrink:0;width:6px;height:6px;border-radius:50%}.mesh-ops-row-route{min-width:0;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mesh-ops-row-state{text-align:right}.mesh-ops-row-state-word{display:block;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-sm);text-transform:uppercase}.mesh-ops-row-state-word[data-tone=danger]{color:var(--red)}.mesh-ops-row-state-word[data-tone=warning]{color:var(--amber)}.mesh-ops-row-state-word[data-tone=accent]{color:var(--accent)}.mesh-ops-row-state-word[data-tone=faint]{color:var(--dim)}.mesh-ops-row-age{display:block;margin-top:1px;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums}.mesh-ops-lastlook{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-2xs) var(--space-sm)}.mesh-ops-lastlook-rule{flex:1;height:1px;background:var(--border)}.mesh-ops-lastlook-label{color:var(--dim);font-size:var(--text-2xs);font-family:var(--font-mono);letter-spacing:var(--tracking-md);text-transform:uppercase}.mesh-ops-list--compact .mesh-ops-row{padding-top:var(--space-3xs);padding-bottom:var(--space-3xs)}.mesh-ops-group-more{border:none;background:none;padding:0;color:var(--dim);font-size:var(--text-xs);font-family:var(--font-mono);cursor:pointer}.mesh-ops-group-more:hover{color:var(--ink)}.mesh-ops-inspector{overflow-y:auto}.mesh-ops-inspector-header{padding:var(--space-md) var(--space-md) var(--space-2xs)}.mesh-ops-inspector-title{font-weight:600}.mesh-ops-inspector-summary{color:var(--muted);font-size:var(--text-md);margin-top:var(--space-2xs)}.mesh-ops-inspector-note{margin:0;padding:var(--space-2xs) var(--space-md) var(--space-sm);color:var(--dim);font-size:var(--text-sm);line-height:1.5}.mesh-ops-actions{display:flex;gap:var(--space-sm);padding:var(--space-sm) var(--space-md)}.mesh-ops-button{border:1px solid var(--border);background:none;color:inherit;padding:var(--space-2xs) var(--space-md);font-size:var(--text-md);font-family:var(--font-mono);letter-spacing:var(--tracking-sm);cursor:pointer;border-radius:var(--radius-md)}.mesh-ops-button:hover:not(:disabled){background:color-mix(in srgb,var(--ink) 4%,transparent)}.mesh-ops-button:disabled{opacity:.5;cursor:default}.mesh-ops-detail-row{display:flex;align-items:baseline;gap:var(--space-md);padding:var(--space-3xs) 0;font-size:var(--text-md)}.mesh-ops-detail-label{flex-shrink:0;width:6.5rem;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-sm)}.mesh-ops-detail-value{min-width:0;overflow-wrap:anywhere}.mesh-ops-lab{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-lg);margin-top:auto;padding:var(--space-sm) var(--space-md) 0;border-top:1px solid var(--border);color:var(--dim)}.mesh-ops-lab-toggle{border:none;background:none;padding:0;color:var(--dim);font-size:var(--text-sm);font-family:var(--font-mono);letter-spacing:var(--tracking-sm);cursor:pointer}.mesh-ops-lab-toggle:hover{color:var(--muted)}.mesh-ops-lab-toggle[data-on]{color:var(--accent)}.mesh-ops-routestrip{margin:var(--space-2xs) var(--space-md) 0;border:1px solid var(--border);border-radius:var(--radius-sm)}.mesh-ops-routestrip-svg{display:block;width:100%}.mesh-ops-routestrip-line{stroke:var(--border);stroke-width:1.5}.mesh-ops-routestrip-line--moving{stroke:var(--accent);stroke-dasharray:5 4}.mesh-ops-routestrip-node{fill:none;stroke:var(--muted)}.mesh-ops-routestrip-label{fill:var(--dim);font-size:8px;font-family:var(--font-mono)}