@openscout/scout 0.2.98 → 0.2.102

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 (622) hide show
  1. package/NOTICE +7 -0
  2. package/bin/scoutd +0 -0
  3. package/dist/build-manifest.json +3 -3
  4. package/dist/client/assets/ActivityScreen-DCALiEXY.js +1 -0
  5. package/dist/client/assets/{AddProjectForm-fXndbzXT.js → AddProjectForm-DfbjlFfy.js} +1 -1
  6. package/dist/client/assets/AdventureEvidence-Dzz9VbuE.js +5 -0
  7. package/dist/client/assets/AdventureReader-ClMxT0e4.js +4 -0
  8. package/dist/client/assets/AdventureScenery-D548O0x4.js +1 -0
  9. package/dist/client/assets/AgentAdventures-NwTKeF0F.js +1 -0
  10. package/dist/client/assets/AgentAvatar-BIwg54Tj.js +1 -0
  11. package/dist/client/assets/AgentConfigurationScreen-B2Hw0ce1.js +1 -0
  12. package/dist/client/assets/AgentDefinitionsWorkspace-CwZJ833X.js +1 -0
  13. package/dist/client/assets/AgentDetailCard-CFDE8TLi.js +1 -0
  14. package/dist/client/assets/AgentFloorView-l2wNKFob.js +1 -0
  15. package/dist/client/assets/AgentFloorWorld-BDJmXl3C.js +1 -0
  16. package/dist/client/assets/AgentInfoScreen-ClZM1wQb.js +1 -0
  17. package/dist/client/assets/{AgentLaneCard-Cc9uyfBr.js → AgentLaneCard-C6YmwPxQ.js} +1 -1
  18. package/dist/client/assets/{AgentLaneChrome-Dv2lBFoH.js → AgentLaneChrome-D9uJ4QY7.js} +1 -1
  19. package/dist/client/assets/{AgentLaneDetailSheet-CGqtqSHQ.js → AgentLaneDetailSheet-KYckCBCX.js} +2 -2
  20. package/dist/client/assets/{AgentLaneSummaryResize-Di4u6df2.js → AgentLaneSummaryResize-BBYBS3DO.js} +1 -1
  21. package/dist/client/assets/AgentLanesEmbedScreen-DqHwqY0X.js +1 -0
  22. package/dist/client/assets/{AgentLanesPreflight-CCGBArIb.js → AgentLanesPreflight-pw2vMO3Q.js} +1 -1
  23. package/dist/client/assets/AgentLanesView-aAyC7lHf.js +2 -0
  24. package/dist/client/assets/AgentLiveActions-lYzicnNa.js +1 -0
  25. package/dist/client/assets/AgentMasterScreen-By6DN0jF.js +1 -0
  26. package/dist/client/assets/AgentSessions-Cox2zS-e.js +6 -0
  27. package/dist/client/assets/AgentsConsole-Dq0S_hRA.js +1 -0
  28. package/dist/client/assets/AgentsScreen-Bi9Lx47B.js +1 -0
  29. package/dist/client/assets/AgentsSubnav-BOobgtGE.js +1 -0
  30. package/dist/client/assets/{AstronautSuit-CwB4Dw07.js → AstronautSuit-C-4I5YKi.js} +1 -1
  31. package/dist/client/assets/AtopView-DKm-ERYC.js +1 -0
  32. package/dist/client/assets/BackToPicker-Bys9ColC.js +1 -0
  33. package/dist/client/assets/BriefingDetailScreen-sprFl4Nk.js +1 -0
  34. package/dist/client/assets/BriefingsScreen-D4Zf31Y6.js +1 -0
  35. package/dist/client/assets/{BrokerMetadataPanel-BJSwU9XZ.js → BrokerMetadataPanel-1GoSl2BV.js} +1 -1
  36. package/dist/client/assets/BrokerScreen-CejzhRsB.js +8 -0
  37. package/dist/client/assets/{CastPicker-CkgTalIt.js → CastPicker-BuwE_JQp.js} +1 -1
  38. package/dist/client/assets/CharacterFamilyPreview-BniL8sEL.css +1 -0
  39. package/dist/client/assets/CharacterFamilyPreview-CfO3j8Of.js +1 -0
  40. package/dist/client/assets/ChatCollapsedStrip-TV0j1xTB.js +1 -0
  41. package/dist/client/assets/{CodeDiffPane-DfluIWmO.js → CodeDiffPane-DB6-mqtX.js} +1 -1
  42. package/dist/client/assets/{CodeProjectPicker-By_Wz9ex.js → CodeProjectPicker-B_LNLpIK.js} +1 -1
  43. package/dist/client/assets/CodeScreen-C9H160XS.js +1 -0
  44. package/dist/client/assets/CommsCanvas-BR2YS76H.css +1 -0
  45. package/dist/client/assets/CommsCanvas-DOKw3Q8i.js +1 -0
  46. package/dist/client/assets/CommsDeck-C18JA7rK.js +1 -0
  47. package/dist/client/assets/CommsFlowGraph-Czg-KTS0.js +1 -0
  48. package/dist/client/assets/CommsFlowGraph-vQucylxF.css +1 -0
  49. package/dist/client/assets/CommsFlowMap-CzBWvSa5.js +1 -0
  50. package/dist/client/assets/CommsSelection-g1twA-Lb.js +1 -0
  51. package/dist/client/assets/{ConversationComposer-BUIjWMBi.js → ConversationComposer-B7RU6LKd.js} +1 -1
  52. package/dist/client/assets/ConversationFeedRows-DVqnZQH0.js +1 -0
  53. package/dist/client/assets/ConversationHeader-CCSU8uo_.js +1 -0
  54. package/dist/client/assets/ConversationPanels-C9yCAoJy.js +6 -0
  55. package/dist/client/assets/ConversationScreen-Brfas2y0.css +1 -0
  56. package/dist/client/assets/ConversationScreen-tTP6B_F-.js +2 -0
  57. package/dist/client/assets/ConversationStatus-CK-YfLpi.js +1 -0
  58. package/dist/client/assets/{CrewAvatar-CZ_faQ_s.js → CrewAvatar-CJhuqTsJ.js} +1 -1
  59. package/dist/client/assets/CrewSprite-DsQJdu3Z.css +1 -0
  60. package/dist/client/assets/CrewSprite-hgpA3SWB.js +1 -0
  61. package/dist/client/assets/CrewWorkspaces-4O8dgRUD.js +1 -0
  62. package/dist/client/assets/{DataTable-C6aMSilS.js → DataTable-BMOZ1-z8.js} +1 -1
  63. package/dist/client/assets/DispatchAftermath-DDlwqSCY.js +1 -0
  64. package/dist/client/assets/DocumentFocusViewer-f12RRQpV.js +1 -0
  65. package/dist/client/assets/{EmbeddableSurfacesLab-D3iZiS8o.js → EmbeddableSurfacesLab-DGl9EMRV.js} +1 -1
  66. package/dist/client/assets/{EmptyState-CKPWFSjq.js → EmptyState-uyYN5piI.js} +1 -1
  67. package/dist/client/assets/{FileViewerPane-CxNbcTYf.js → FileViewerPane-HtiDbj9N.js} +2 -2
  68. package/dist/client/assets/FlightObserveScreen-DDXfNbsw.js +1 -0
  69. package/dist/client/assets/FloorContextSheet-DV-SYA0K.js +1 -0
  70. package/dist/client/assets/FloorExchangePanel-B3TFhjLk.css +1 -0
  71. package/dist/client/assets/FloorExchangePanel-D59nvRCF.js +1 -0
  72. package/dist/client/assets/FloorMessagePasses-BCwsz9VS.js +1 -0
  73. package/dist/client/assets/FloorMessagePasses-nxwwiUom.css +1 -0
  74. package/dist/client/assets/FloorReplay-BHo79HCD.js +1 -0
  75. package/dist/client/assets/FloorResourcesSheet-Djrgd_ZU.js +1 -0
  76. package/dist/client/assets/FloorSavedWork-2tjBoy06.js +1 -0
  77. package/dist/client/assets/FloorTacticalHUD-Bngao6sn.js +1 -0
  78. package/dist/client/assets/FollowScreen-eHXOlK-u.js +1 -0
  79. package/dist/client/assets/{HarnessMark-DttReffF.js → HarnessMark-Bt47OeHy.js} +1 -1
  80. package/dist/client/assets/HarnessesScreen-M84sFjWY.js +1 -0
  81. package/dist/client/assets/{HerdrSession-DsuxCtfX.js → HerdrSession-CtJOUn7H.js} +3 -3
  82. package/dist/client/assets/{HomeHero-DXJo2QSO.js → HomeHero-Cvwx2H0w.js} +1 -1
  83. package/dist/client/assets/HostAdvisorView-CTJXIc1Q.js +1 -0
  84. package/dist/client/assets/KnowledgeSearchInspector-DwGMVmFL.js +1 -0
  85. package/dist/client/assets/KnowledgeSearchScreen-WC0WhFio.js +1 -0
  86. package/dist/client/assets/{LaneToolHoverCard-t7-XJP-h.js → LaneToolHoverCard-C6YehJqD.js} +1 -1
  87. package/dist/client/assets/LaneTraceDetailSheet-mAhj7MJi.js +1 -0
  88. package/dist/client/assets/{LaneTraceEventFocus-BB5DhFQm.js → LaneTraceEventFocus-WLNZZVi_.js} +1 -1
  89. package/dist/client/assets/MeshCanvas-FDDGE69h.js +3 -0
  90. package/dist/client/assets/MeshCanvasMinimap-CGRzQCac.js +1 -0
  91. package/dist/client/assets/MeshScreen-DlfiMlaR.js +1 -0
  92. package/dist/client/assets/{MeshTopologyView-Dc0GSrKa.js → MeshTopologyView-C2Cv_2gx.js} +2 -2
  93. package/dist/client/assets/MessagesScreen-BZ7yaGJx.js +1 -0
  94. package/dist/client/assets/MissionContextRail-CVSZJnvX.js +1 -0
  95. package/dist/client/assets/MissionControlView-DpGhxG4a.js +1 -0
  96. package/dist/client/assets/MissionFocusOverlay-B9SiuO-i.js +1 -0
  97. package/dist/client/assets/MissionLeftAgentRow-DhhRRim0.js +1 -0
  98. package/dist/client/assets/MissionLogPane-CMBiI29U.js +1 -0
  99. package/dist/client/assets/NativeAreaScreen-BQyHHRAM.js +1 -0
  100. package/dist/client/assets/NativeAreaScreen-Ditv-TYW.js +1 -0
  101. package/dist/client/assets/NativeAreaScreen-Dq3uPSEI.js +1 -0
  102. package/dist/client/assets/NewAgentModal-Cl4nsGhu.js +1 -0
  103. package/dist/client/assets/NewChatComposer-JjLbm3W2.js +19 -0
  104. package/dist/client/assets/{NewChatOrigin-DCn5cWPZ.js → NewChatOrigin-CyPPWTJP.js} +1 -1
  105. package/dist/client/assets/NodeDetailPanel-BUG8rOb-.js +1 -0
  106. package/dist/client/assets/NodeMenu-Fw8ATWQA.js +1 -0
  107. package/dist/client/assets/ObserveEmbedScreen-BPiSXXvm.js +2 -0
  108. package/dist/client/assets/{ObserveTextFlow-DCJ5EmD8.js → ObserveTextFlow-ET0dD1wO.js} +2 -2
  109. package/dist/client/assets/{ObservedTopologyPanel-CJVqIqQ2.js → ObservedTopologyPanel-DkEkQzo-.js} +1 -1
  110. package/dist/client/assets/OpenScoutAppShell-CzKbjwCA.js +22 -0
  111. package/dist/client/assets/OpsAgentsView-CZbtkcQH.js +1 -0
  112. package/dist/client/assets/OpsScreen-DJq-aBmX.js +1 -0
  113. package/dist/client/assets/OpsSubnav-9sURjajO.js +1 -0
  114. package/dist/client/assets/ProjectAgentProfile-q_1tMJIL.js +1 -0
  115. package/dist/client/assets/{ProjectAgentProfileBar-CUzZ4Rpx.js → ProjectAgentProfileBar-C1fR65Eh.js} +1 -1
  116. package/dist/client/assets/ProjectAgentProfileHero-DyEFyTFs.js +1 -0
  117. package/dist/client/assets/ProjectsInbox-Bs8I__my.js +2 -0
  118. package/dist/client/assets/ProjectsRail-Deb38OJ1.js +1 -0
  119. package/dist/client/assets/ProjectsScreen-CgLiYiss.js +1 -0
  120. package/dist/client/assets/ProjectsThreadAside-C0Yw3yIL.js +1 -0
  121. package/dist/client/assets/Provider-5Hotn7NQ.js +5 -0
  122. package/dist/client/assets/{RailRow-B0sRaJc6.css → RailRow-B25zKEub.css} +1 -1
  123. package/dist/client/assets/RailRow-BYguXNm4.js +1 -0
  124. package/dist/client/assets/RawSessionsTable-DIhmlvk-.js +1 -0
  125. package/dist/client/assets/RealtimeVoiceScreen-3oU7b7V5.js +1 -0
  126. package/dist/client/assets/RenderedWorkerSprite-CvdWO32C.js +1 -0
  127. package/dist/client/assets/RenderedWorkerSprite-qnTfkd_4.css +1 -0
  128. package/dist/client/assets/ReplayClock-B7JLTp8A.js +1 -0
  129. package/dist/client/assets/ReplayLog-DZTpf2CW.js +1 -0
  130. package/dist/client/assets/ReplayOutpost-CvWQa30T.js +1 -0
  131. package/dist/client/assets/ReplayOutpost-Y1DvZgeu.css +1 -0
  132. package/dist/client/assets/{RepoDiffEmbedScreen-mexrJPhW.js → RepoDiffEmbedScreen-Cbu0_PJW.js} +1 -1
  133. package/dist/client/assets/{RepoDiffPageScreen-DbqX4L3q.js → RepoDiffPageScreen-Chwm6GXL.js} +1 -1
  134. package/dist/client/assets/RepoDiffViewer-C2mb0Wj-.js +7 -0
  135. package/dist/client/assets/RepoDiffViewerLazy-BQ6ZCrsq.js +2 -0
  136. package/dist/client/assets/{ReposScreen-CzbO1Fuy.js → ReposScreen-C7JZQmyh.js} +2 -2
  137. package/dist/client/assets/RiggedWorkerCharacter-BpYECnyK.css +1 -0
  138. package/dist/client/assets/RiggedWorkerCharacter-DNe731GE.js +1 -0
  139. package/dist/client/assets/SageModelStudio-768dRQr4.css +1 -0
  140. package/dist/client/assets/SageModelStudio-BR1J2D4R.js +4108 -0
  141. package/dist/client/assets/ScoutDeckSurface-flRamdvE.js +1 -0
  142. package/dist/client/assets/{ScoutSurface-NlhDsPzg.js → ScoutSurface-BpklGmDL.js} +1 -1
  143. package/dist/client/assets/{ScoutbotFxLab-l2WAahCg.js → ScoutbotFxLab-DeK7ySWZ.js} +1 -1
  144. package/dist/client/assets/{SecondaryNav-Cs0_FQdj.js → SecondaryNav-BkTn5tkq.js} +1 -1
  145. package/dist/client/assets/SessionEmbedScreen-CcQN6xlo.js +1 -0
  146. package/dist/client/assets/{SessionObserve-CLrHfAKZ.css → SessionObserve-BOBJSfs0.css} +1 -1
  147. package/dist/client/assets/SessionObserve-DaqDhqDI.js +12 -0
  148. package/dist/client/assets/SessionObserveEvidence-Drv-D8Oh.js +1 -0
  149. package/dist/client/assets/SessionRefScreen-BOQ1_ydg.js +1 -0
  150. package/dist/client/assets/SessionsScreen-R8QKvoey.js +1 -0
  151. package/dist/client/assets/SettingsDrawer-BDapR4E9.js +3 -0
  152. package/dist/client/assets/SettingsScreen-DirtO7Z0.js +1 -0
  153. package/dist/client/assets/SharedFloorCharacter-Bi5_md4R.css +1 -0
  154. package/dist/client/assets/SharedFloorCharacter-CSYG_t9t.js +1 -0
  155. package/dist/client/assets/SharedWorkFloor-BCmdeb3Q.css +1 -0
  156. package/dist/client/assets/SharedWorkFloor-yPWFLZwX.js +2 -0
  157. package/dist/client/assets/{ShikiPane-C0TuCATU.js → ShikiPane-BudrOxNK.js} +1 -1
  158. package/dist/client/assets/{SlidePanel-CETQ5NTx.js → SlidePanel-Datu7XG4.js} +1 -1
  159. package/dist/client/assets/SpriteAvatar-BW1JzkDt.js +1 -0
  160. package/dist/client/assets/SproutActionSprite-DveCzg6l.js +1 -0
  161. package/dist/client/assets/{StatusPill-BllrY-eg.js → StatusPill-MxYClPG5.js} +1 -1
  162. package/dist/client/assets/{TailView-_gKWfaQM.js → TailView-Dn7uWmPz.js} +2 -2
  163. package/dist/client/assets/Terminal-D-DsQlmV.js +4 -0
  164. package/dist/client/assets/TerminalEmbedScreen-9Gmln759.js +1 -0
  165. package/dist/client/assets/TerminalHeaderMount-DCGstkZ4.js +1 -0
  166. package/dist/client/assets/{TextDocumentSurface-2X1Gw4eA.js → TextDocumentSurface-BhYvAB0o.js} +1 -1
  167. package/dist/client/assets/{TmuxPeek-CqTJRhkI.js → TmuxPeek-BhK0V9Qt.js} +1 -1
  168. package/dist/client/assets/{VoicePermissionsPanel-C4vkU-sU.js → VoicePermissionsPanel-CecFWzva.js} +1 -1
  169. package/dist/client/assets/{WorkDetailScreen-DqGnuK0e.js → WorkDetailScreen-CwtRCm_-.js} +4 -4
  170. package/dist/client/assets/WorkFilesViewer-DJHftsH9.js +1 -0
  171. package/dist/client/assets/WorkRunView-CxwAZ2QQ.css +1 -0
  172. package/dist/client/assets/WorkRunView-x5PH1byG.js +1 -0
  173. package/dist/client/assets/WorldActorTalk-uIH2jGqA.js +1 -0
  174. package/dist/client/assets/WorldCharacter-Dn4sIXNP.js +1 -0
  175. package/dist/client/assets/WorldMinimap-Blqg0d5r.js +1 -0
  176. package/dist/client/assets/WorldSky-DV9bpvXj.js +1 -0
  177. package/dist/client/assets/{activity-CzTJ-YMX.js → activity-CSUhvjD0.js} +1 -1
  178. package/dist/client/assets/{addon-fit-Zx3A7pGS.js → addon-fit-MR98IWES.js} +1 -1
  179. package/dist/client/assets/{addon-webgl-DitJj-N0.js → addon-webgl-CIIKXrvK.js} +1 -1
  180. package/dist/client/assets/adventure-evidence-DgQbBmfa.css +1 -0
  181. package/dist/client/assets/adventure-habitats-v1-CVMbdB_Z.png +0 -0
  182. package/dist/client/assets/adventure-habitats-v1-M1lcpTJh.js +1 -0
  183. package/dist/client/assets/adventure-playback-DTfkhIc0.js +3 -0
  184. package/dist/client/assets/adventure-reader-DM5UDDm9.css +1 -0
  185. package/dist/client/assets/agent-adventures-DZtWpj6k.css +1 -0
  186. package/dist/client/assets/agent-autocomplete-CeHQpuG9.js +10 -0
  187. package/dist/client/assets/{agent-essentials-K9B6kbTS.js → agent-essentials-8t2il7PV.js} +1 -1
  188. package/dist/client/assets/{agent-floor-CuJr1iK1.css → agent-floor-Dmr9hZHL.css} +1 -1
  189. package/dist/client/assets/agent-floor-actor-3v9drnxh.js +1 -0
  190. package/dist/client/assets/agent-floor-world-Bnd1AtwK.css +1 -0
  191. package/dist/client/assets/agent-floor-world-layout-hfMjuoui.js +1 -0
  192. package/dist/client/assets/agent-lane-card-model-l0stnU9N.js +1 -0
  193. package/dist/client/assets/{agent-lane-detail-ppJId6Jc.js → agent-lane-detail-Db7KyAlf.js} +1 -1
  194. package/dist/client/assets/{agent-lane-preview-BhplDYGf.js → agent-lane-preview-B8lsQJOQ.js} +1 -1
  195. package/dist/client/assets/{agent-lanes-DlqcEf0l.css → agent-lanes-DmgipV9D.css} +1 -1
  196. package/dist/client/assets/agent-lanes-model-CX0wTcnF.js +4 -0
  197. package/dist/client/assets/agent-master-THmq-1k8.css +1 -0
  198. package/dist/client/assets/agent-master-model-C-KdOFDK.js +1 -0
  199. package/dist/client/assets/{agent-specialization-CtF_jI34.js → agent-specialization-CiVxQsFT.js} +1 -1
  200. package/dist/client/assets/agent-state-DDhnFEEP.js +1 -0
  201. package/dist/client/assets/{api-HFH8wFyb.js → api-B9_IqFKY.js} +1 -1
  202. package/dist/client/assets/api-CaROe5_H.js +1 -0
  203. package/dist/client/assets/{arc.es-BNXJqSw7.js → arc.es-BzhWalCl.js} +1 -1
  204. package/dist/client/assets/{arrow-down-BAGkhHA6.js → arrow-down-WoVlkUmg.js} +1 -1
  205. package/dist/client/assets/{arrow-left-eToA6GxC.js → arrow-left-PuKdO3NM.js} +1 -1
  206. package/dist/client/assets/{arrow-right-DTX42clh.js → arrow-right-ldbfp4SZ.js} +1 -1
  207. package/dist/client/assets/{arrow-up-right-B09GPwFl.js → arrow-up-right-Hn754ybA.js} +1 -1
  208. package/dist/client/assets/book-open-BlJnpf2U.js +1 -0
  209. package/dist/client/assets/{bot-WxKXYtEX.js → bot-CfN9PSBF.js} +1 -1
  210. package/dist/client/assets/broker-display-BkBzyvbR.js +2 -0
  211. package/dist/client/assets/{cache-CeWH_KzJ.js → cache-DEy9E34b.js} +1 -1
  212. package/dist/client/assets/{check-Dz2SRHft.js → check-B8dMv3Is.js} +1 -1
  213. package/dist/client/assets/{chevron-down-D120PY4g.js → chevron-down-B5eMsn5c.js} +1 -1
  214. package/dist/client/assets/{chevron-right-CowuvuE6.js → chevron-right-C7UGFpkl.js} +1 -1
  215. package/dist/client/assets/chevron-up-BHOEgHcn.js +1 -0
  216. package/dist/client/assets/{chunk-HRAB3GC3-KjjrTLCU.js → chunk-HRAB3GC3-C5X-kFhb.js} +1 -1
  217. package/dist/client/assets/chunk-JTPDIGGW-ZC-98AHT.js +46 -0
  218. package/dist/client/assets/{chunk-T65CQEWV-H2QEKfr1.js → chunk-T65CQEWV-CSVUz2rY.js} +1 -1
  219. package/dist/client/assets/chunk-YOZR3KYS-B59jqwO0.js +2 -0
  220. package/dist/client/assets/{clock-_9FDplIT.js → clock-DFcRbtrl.js} +1 -1
  221. package/dist/client/assets/{code-xml-CkkNdRmu.js → code-xml-BmyLM0I2.js} +1 -1
  222. package/dist/client/assets/coffee-C_D9zooM.js +1 -0
  223. package/dist/client/assets/colors-CFlbwC25.js +1 -0
  224. package/dist/client/assets/comms-deck-C8nVeMBh.css +1 -0
  225. package/dist/client/assets/comms-deck-CBhsXnY-.js +2 -0
  226. package/dist/client/assets/comms-gesture-_aGFo6g3.js +2 -0
  227. package/dist/client/assets/{compass-BdpImt_W.js → compass-DTZdCpv9.js} +1 -1
  228. package/dist/client/assets/content-B5Q4pb9R.js +1 -0
  229. package/dist/client/assets/content-BK1IfOZs.js +1 -0
  230. package/dist/client/assets/content-BeEsWLEm.js +1 -0
  231. package/dist/client/assets/content-BkOwEknW.js +1 -0
  232. package/dist/client/assets/content-C32W5kAG.js +1 -0
  233. package/dist/client/assets/content-CoqyLs9v.js +1 -0
  234. package/dist/client/assets/content-CwpdIS5b.js +1 -0
  235. package/dist/client/assets/content-DS2OkJ3Q.js +1 -0
  236. package/dist/client/assets/content-DXKaPDfn.js +1 -0
  237. package/dist/client/assets/content-DZt5-dkI.js +1 -0
  238. package/dist/client/assets/content-DbQJH8L1.js +1 -0
  239. package/dist/client/assets/content-DetoiaHq.js +1 -0
  240. package/dist/client/assets/content-Dhu3wL7J.js +1 -0
  241. package/dist/client/assets/content-Dpv34iZu.js +1 -0
  242. package/dist/client/assets/content-TtQJb61D.js +1 -0
  243. package/dist/client/assets/content-ymNb2R7g.js +1 -0
  244. package/dist/client/assets/{context-budget-DqxWzalx.js → context-budget-DemtXu7E.js} +1 -1
  245. package/dist/client/assets/{conversation-icons-DHGc9wbT.js → conversation-icons-BQ4OeOmr.js} +1 -1
  246. package/dist/client/assets/conversation-model-BGFHoxQ0.js +1 -0
  247. package/dist/client/assets/conversation-motion-features-9x8uZpwh.js +1 -0
  248. package/dist/client/assets/conversations-Cbg9h_Af.js +1 -0
  249. package/dist/client/assets/{copy-BzdzWsQd.js → copy-D9WUpQRf.js} +1 -1
  250. package/dist/client/assets/{cpu-CHFIGw87.js → cpu-Ck_4tB_-.js} +1 -1
  251. package/dist/client/assets/{createLucideIcon-Dv8H8m7J.js → createLucideIcon-DkjnzvcJ.js} +1 -1
  252. package/dist/client/assets/{credentials-BTce3VP1.js → credentials-C4VXz2hr.js} +1 -1
  253. package/dist/client/assets/discover-C8IOY7_K.js +2 -0
  254. package/dist/client/assets/embed-entry-CG3CfCbm.js +2 -0
  255. package/dist/client/assets/embed-navigation-DayfkQau.js +1 -0
  256. package/dist/client/assets/{external-link-BvX5PfLh.js → external-link-RT4Ph-6-.js} +1 -1
  257. package/dist/client/assets/{eye-C9cGk5z6.js → eye-CtqSV8BS.js} +1 -1
  258. package/dist/client/assets/{file-code-corner-jlGFdr8d.js → file-code-corner-D_Aptal2.js} +1 -1
  259. package/dist/client/assets/{file-text-BHro8MkG.js → file-text-ChtICwub.js} +1 -1
  260. package/dist/client/assets/flag-CqdOxVkI.js +1 -0
  261. package/dist/client/assets/floor-character-name-CqJPOlXb.js +1 -0
  262. package/dist/client/assets/floor-context-model-DZBpo_oD.js +1 -0
  263. package/dist/client/assets/floor-context-sheet-BFnkFiY3.css +1 -0
  264. package/dist/client/assets/floor-memory-YMM8AlLY.js +1 -0
  265. package/dist/client/assets/floor-message-passes-CJh9f8Jp.js +1 -0
  266. package/dist/client/assets/floor-preview-text-HrORUJ7D.js +1 -0
  267. package/dist/client/assets/floor-replay-CccYqE-f.css +1 -0
  268. package/dist/client/assets/floor-tactical-hud-HL5Vja5Y.css +1 -0
  269. package/dist/client/assets/folder-0fWevPvQ.js +1 -0
  270. package/dist/client/assets/{gauge-DSflSery.js → gauge-Dgtfxf_o.js} +1 -1
  271. package/dist/client/assets/{gestures-YA5IIwp-.js → gestures-BDCZ1FRG.js} +1 -1
  272. package/dist/client/assets/{git-branch-Bc_eDIpG.js → git-branch-CA3cHKCI.js} +1 -1
  273. package/dist/client/assets/go-shortcuts-DKtw4qYx.js +1 -0
  274. package/dist/client/assets/home-moving-signal-B7m-ngb2.js +1 -0
  275. package/dist/client/assets/home-now-card-DduXkHRR.js +1 -0
  276. package/dist/client/assets/{home-now-card-nano-Jmy7eJ6H.js → home-now-card-nano-D1ScGrgv.js} +1 -1
  277. package/dist/client/assets/hooks-C6VyQTQe.js +2 -0
  278. package/dist/client/assets/{hooks-D6NI15f6.css → hooks-D787lBmm.css} +1 -1
  279. package/dist/client/assets/index-C5cX8dkl.js +1 -0
  280. package/dist/client/assets/{index-C1VaWNuD.js → index-C8uS5szO.js} +5 -5
  281. package/dist/client/assets/index-Ck1__1yL.css +1 -0
  282. package/dist/client/assets/index-ClOOrVG1.js +1 -0
  283. package/dist/client/assets/index-Crtgfc9I.js +1 -0
  284. package/dist/client/assets/index-CvsM3jm8.js +1 -0
  285. package/dist/client/assets/{inspector-panel-CwrHjRaQ.js → inspector-panel-BLhDODb3.js} +2 -2
  286. package/dist/client/assets/{keyboard-nav-B8sQ_8IF.js → keyboard-nav-CXfav14z.js} +1 -1
  287. package/dist/client/assets/knowledge-search-BNdQweGz.css +1 -0
  288. package/dist/client/assets/{lane-edit-display-C_Aujldz.js → lane-edit-display-BjdT9oZl.js} +1 -1
  289. package/dist/client/assets/{lane-observe-vfyACHi0.js → lane-observe-BD21P8BB.js} +2 -2
  290. package/dist/client/assets/lane-roster-store-DzNHP392.js +1 -0
  291. package/dist/client/assets/{lane-tool-detail-0WhMf4Vj.js → lane-tool-detail-Czggx8oM.js} +1 -1
  292. package/dist/client/assets/{layers-CW2-qHsG.js → layers-Bolb8ejU.js} +1 -1
  293. package/dist/client/assets/{layout-grid-BoVnPOk-.js → layout-grid-DI9tVJ2E.js} +1 -1
  294. package/dist/client/assets/left-B-_z_nqj.js +2 -0
  295. package/dist/client/assets/left-B1LY7rJc.js +1 -0
  296. package/dist/client/assets/{left-DH44V4I_.css → left-BV9yMiTL.css} +1 -1
  297. package/dist/client/assets/left-C6bdjWcG.js +2 -0
  298. package/dist/client/assets/left-CF4iuqlz.js +1 -0
  299. package/dist/client/assets/left-DLtNyZl1.js +1 -0
  300. package/dist/client/assets/left-Fpxoq-VY.js +1 -0
  301. package/dist/client/assets/left-N2wXfTlp.js +1 -0
  302. package/dist/client/assets/left-advisor-CeIjCKbd.js +1 -0
  303. package/dist/client/assets/left-agents-upjHVlOj.js +1 -0
  304. package/dist/client/assets/left-default-08gmdCtb.js +1 -0
  305. package/dist/client/assets/left-lanes-Cvsp73Hw.js +1 -0
  306. package/dist/client/assets/left-mission-DENnfshd.css +1 -0
  307. package/dist/client/assets/left-mission-W1LLaz74.js +1 -0
  308. package/dist/client/assets/library-DLKBVUJ6.js +1 -0
  309. package/dist/client/assets/{loader-circle-DmUG_YC7.js → loader-circle-DurUYl7E.js} +1 -1
  310. package/dist/client/assets/{local-agents-VP1-ZlPw.js → local-agents-D9fYYRyj.js} +1 -1
  311. package/dist/client/assets/machine-children-RGS4Q0r6.js +1 -0
  312. package/dist/client/assets/machine-scope-DJt9RZ2w.js +1 -0
  313. package/dist/client/assets/mentions-Ctw1ECUC.js +1 -0
  314. package/dist/client/assets/{mesh-ops-CKSWgax2.js → mesh-ops-CGpRk4ik.js} +1 -1
  315. package/dist/client/assets/{mesh-screen-D1Yvo8fU.css → mesh-screen-DjA4mOaN.css} +1 -1
  316. package/dist/client/assets/mesh-view-store-CliSYsmt.js +1 -0
  317. package/dist/client/assets/{message-circle-joGFxfj1.js → message-circle-CSiJj6yo.js} +1 -1
  318. package/dist/client/assets/{message-markup-DC0QFEZn.js → message-markup-DgFSyb3f.js} +1 -1
  319. package/dist/client/assets/{message-square-BLiFqpe_.js → message-square-NmXWtWLR.js} +1 -1
  320. package/dist/client/assets/{message-visibility-CGOmSSKs.js → message-visibility-DwxgcgYK.js} +1 -1
  321. package/dist/client/assets/mission-control-CsX3Yc58.css +1 -0
  322. package/dist/client/assets/mission-control-model-C30vU1Fe.js +1 -0
  323. package/dist/client/assets/mission-control-store-DZ29Mlj1.js +1 -0
  324. package/dist/client/assets/{mission-wall-CocIM1cF.js → mission-wall-DOuGOxQy.js} +1 -1
  325. package/dist/client/assets/nav-destinations-CyXnw9kh.js +1 -0
  326. package/dist/client/assets/observe-CkfOxYx_.js +1 -0
  327. package/dist/client/assets/{operator-attention-RqieiSY8.js → operator-attention-DGR4kOog.js} +1 -1
  328. package/dist/client/assets/ops-screen-CxYM0VOW.css +1 -0
  329. package/dist/client/assets/page-status-CkS3SZu-.js +1 -0
  330. package/dist/client/assets/panel-right-BNTJhy8M.js +1 -0
  331. package/dist/client/assets/pause-DWS7YGQ3.js +1 -0
  332. package/dist/client/assets/{persistent-state-BubPQ7tT.js → persistent-state-xsuk6Kc-.js} +1 -1
  333. package/dist/client/assets/pin-DWlD1BOF.js +1 -0
  334. package/dist/client/assets/pip-idle-v1-Tt-CZsRG.png +0 -0
  335. package/dist/client/assets/pip-thinking-v1-BoHWSEye.png +0 -0
  336. package/dist/client/assets/pip-waiting-v1-DkuvJ-dN.png +0 -0
  337. package/dist/client/assets/pip-working-v1-wWQLRS1z.png +0 -0
  338. package/dist/client/assets/play-D_Pggug4.js +1 -0
  339. package/dist/client/assets/{plus-BWKhylds.js → plus-D_wLGJGT.js} +1 -1
  340. package/dist/client/assets/profile-C3KgiZvc.js +1 -0
  341. package/dist/client/assets/{projects-inbox-DFbgVlXL.js → projects-inbox-DvbqJO3q.js} +1 -1
  342. package/dist/client/assets/{proxy-DVDRhSRR.js → proxy-DOG46ja4.js} +1 -1
  343. package/dist/client/assets/{radio-CxIXS1nU.js → radio-C_jtwbFP.js} +1 -1
  344. package/dist/client/assets/{refresh-cw-Bkh7Cvnd.js → refresh-cw-Da9DDLk2.js} +1 -1
  345. package/dist/client/assets/resolve-panes-DuowGRTk.js +1 -0
  346. package/dist/client/assets/resolve-sidebar-context-BkTbqteq.js +1 -0
  347. package/dist/client/assets/right-B9OUA6Ho.js +1 -0
  348. package/dist/client/assets/right-BDQnjetX.js +1 -0
  349. package/dist/client/assets/{right-DVUq5374.js → right-BLJsc2-p.js} +2 -2
  350. package/dist/client/assets/right-BUbKHmRH.js +1 -0
  351. package/dist/client/assets/right-Ci2IcD4s.js +1 -0
  352. package/dist/client/assets/right-CmCce3e5.js +1 -0
  353. package/dist/client/assets/right-D7w0zM5a.js +1 -0
  354. package/dist/client/assets/right-DIoON_bv.js +1 -0
  355. package/dist/client/assets/right-E0Jr3VN5.js +1 -0
  356. package/dist/client/assets/right-lCdAk9dW.js +1 -0
  357. package/dist/client/assets/{rocket-CnxqjX_K.js → rocket-DyrYDo8V.js} +1 -1
  358. package/dist/client/assets/router-BKiMcYa7.js +1 -0
  359. package/dist/client/assets/{runtime-picker-BYAFNLNq.css → runtime-picker-C3JwrDKP.css} +1 -1
  360. package/dist/client/assets/runtime-picker-DdsttHHc.js +1 -0
  361. package/dist/client/assets/{scope-views-KPY85UUx.js → scope-views-B7PZGlhY.js} +1 -1
  362. package/dist/client/assets/scout-voice-DOQ_B77g.js +1 -0
  363. package/dist/client/assets/{scoutbot-D7kGGyK_.js → scoutbot-Bk3nyrkj.js} +2 -2
  364. package/dist/client/assets/{scoutbot-markdown-yb87JlSE.js → scoutbot-markdown-Bz0Vbto2.js} +1 -1
  365. package/dist/client/assets/{scroll-text-DFcBYy5J.js → scroll-text-DwC8r2g6.js} +1 -1
  366. package/dist/client/assets/{search-FB2vVxCp.js → search-C4VlW_0l.js} +1 -1
  367. package/dist/client/assets/secondaryNavConfig-DAXIFtVd.js +1 -0
  368. package/dist/client/assets/{selection-bridge-qBGFCJv8.js → selection-bridge-B5jqyMR9.js} +1 -1
  369. package/dist/client/assets/{send-horizontal-CS7mxVhX.js → send-horizontal-pOtGI7FM.js} +1 -1
  370. package/dist/client/assets/send-to-agent-session-BZGq_ycy.js +1 -0
  371. package/dist/client/assets/{server-WY6gsbZz.js → server-ms1yxUYJ.js} +1 -1
  372. package/dist/client/assets/{session-catalog-CG4oL_yN.js → session-catalog-s-T_w41t.js} +1 -1
  373. package/dist/client/assets/{session-table-uJh3v-ly.js → session-table-CDx_16xf.js} +1 -1
  374. package/dist/client/assets/sessions-view-DzYGsKWS.js +1 -0
  375. package/dist/client/assets/{settings-DQEtqkM9.js → settings-TJIkkZ0P.js} +1 -1
  376. package/dist/client/assets/shared-work-artifacts-4IIQXQfc.js +1 -0
  377. package/dist/client/assets/{sliders-horizontal-57e99_qO.js → sliders-horizontal-CHf3ntw0.js} +1 -1
  378. package/dist/client/assets/solar-system-scope-2k-stars-points-1FwHnkj0.png +0 -0
  379. package/dist/client/assets/{sparkles-D0vWLTyC.js → sparkles-BbOFw3d0.js} +1 -1
  380. package/dist/client/assets/sprout-action-sprite-DZ8C0fTl.css +1 -0
  381. package/dist/client/assets/sprout-actions-proof-v1-BzUdc812.png +0 -0
  382. package/dist/client/assets/{sse-B29iGBnw.js → sse-v5QLsOHV.js} +1 -1
  383. package/dist/client/assets/system-surfaces-redesign-DKFg4GB5.css +1 -0
  384. package/dist/client/assets/{tail-display-DcliDVkW.js → tail-display-DHSNmvor.js} +2 -2
  385. package/dist/client/assets/{tail-events-LK29oCKm.js → tail-events-DQ46QBW1.js} +1 -1
  386. package/dist/client/assets/{terminal-UDy4lzV1.js → terminal-96JWDYDL.js} +1 -1
  387. package/dist/client/assets/{terminal-relay-CXHMdain.js → terminal-relay-Bfx8pg80.js} +1 -1
  388. package/dist/client/assets/terminal-screen-Bpb2SZrn.css +1 -0
  389. package/dist/client/assets/{terminal-sessions-Bdt2W3Y4.js → terminal-sessions-Ch9aYlgi.js} +1 -1
  390. package/dist/client/assets/{terminal-takeover-BMeBjBB2.js → terminal-takeover-BlpxpvSp.js} +1 -1
  391. package/dist/client/assets/use-beside-Df-F2Uvg.js +1 -0
  392. package/dist/client/assets/use-conversation-list-A_YUf8lo.js +1 -0
  393. package/dist/client/assets/{use-fleet-active-asks-CCGrll5q.js → use-fleet-active-asks-DFs_u-vM.js} +1 -1
  394. package/dist/client/assets/use-mesh-node-state-Ck9CYplv.js +1 -0
  395. package/dist/client/assets/{use-mesh-ops-items-BjyeFJTz.js → use-mesh-ops-items-Be1WmwCg.js} +1 -1
  396. package/dist/client/assets/{use-reduced-motion-CPoX8iV2.js → use-reduced-motion-D7n3vK8t.js} +1 -1
  397. package/dist/client/assets/use-scout-dev-flags-0TXfQcG0.js +1 -0
  398. package/dist/client/assets/{useAgentHoverCard-BgTLNcF-.js → useAgentHoverCard-Dr-OjNFF.js} +1 -1
  399. package/dist/client/assets/useContentSecondaryNav-CGvMOVGY.js +1 -0
  400. package/dist/client/assets/{useEmbedHeadline-DuUnwTB7.js → useEmbedHeadline-BL8wQawZ.js} +1 -1
  401. package/dist/client/assets/{usePierreRuntime-35AHf9RQ.js → usePierreRuntime-DJkRHMoe.js} +1 -1
  402. package/dist/client/assets/worker-rendered-v1-DmGVMlVi.png +0 -0
  403. package/dist/client/assets/worker-thinking-v1-ujakpzrK.png +0 -0
  404. package/dist/client/assets/worker-waiting-v1-DbTSsfJJ.png +0 -0
  405. package/dist/client/assets/worker-working-v1-BROAvJ_z.png +0 -0
  406. package/dist/client/assets/world-outposts-v1-DOt0i98W.png +0 -0
  407. package/dist/client/assets/{wrench-BfVeded5.js → wrench-BsMTSeji.js} +1 -1
  408. package/dist/client/assets/{x-DgmmnPKt.js → x-DI1ktCYb.js} +1 -1
  409. package/dist/client/assets/{xterm-DnJJmrCA.js → xterm-B1YBE4Gq.js} +1 -1
  410. package/dist/client/assets/{zap-Bcja1lHG.js → zap-sKPkh4sQ.js} +1 -1
  411. package/dist/client/characters/sage/sage.glb +0 -0
  412. package/dist/client/crew/brik-bust.webp +0 -0
  413. package/dist/client/crew/brik-chip-id.webp +0 -0
  414. package/dist/client/crew/fenn-bust.webp +0 -0
  415. package/dist/client/crew/fenn-chip-id.webp +0 -0
  416. package/dist/client/crew/lulu-bust.webp +0 -0
  417. package/dist/client/crew/milo-bust.webp +0 -0
  418. package/dist/client/crew/milo-chip-id.webp +0 -0
  419. package/dist/client/crew/nori-bust.webp +0 -0
  420. package/dist/client/crew/pip-bust.webp +0 -0
  421. package/dist/client/crew/pip-chip-id.webp +0 -0
  422. package/dist/client/crew/sheets/eye-plate-v1/blink-half.webp +0 -0
  423. package/dist/client/crew/sheets/eye-plate-v1/blink-shut.webp +0 -0
  424. package/dist/client/crew/sheets/eye-plate-v1/look-left.webp +0 -0
  425. package/dist/client/crew/sheets/eye-plate-v1/look-right.webp +0 -0
  426. package/dist/client/crew/sheets/eye-plate-v1/look-up.webp +0 -0
  427. package/dist/client/crew/sheets/eye-plate-v1/rest.webp +0 -0
  428. package/dist/client/crew/sheets/sprout/blink-half.webp +0 -0
  429. package/dist/client/crew/sheets/sprout/blink-shut.webp +0 -0
  430. package/dist/client/crew/sheets/sprout/look-left.webp +0 -0
  431. package/dist/client/crew/sheets/sprout/look-right.webp +0 -0
  432. package/dist/client/crew/sheets/sprout/look-up.webp +0 -0
  433. package/dist/client/crew/sprout-bust.webp +0 -0
  434. package/dist/client/crew/sprout-chip-id.webp +0 -0
  435. package/dist/client/crew/tuck-bust.webp +0 -0
  436. package/dist/client/crew/tuck-chip-id.webp +0 -0
  437. package/dist/client/crew/vex-bust.webp +0 -0
  438. package/dist/client/crew/vex-chip-id.webp +0 -0
  439. package/dist/client/crew/wrench-bust.webp +0 -0
  440. package/dist/client/crew/wrench-chip-id.webp +0 -0
  441. package/dist/client/index.html +2 -2
  442. package/dist/drizzle/0017_wise_silver_sable.sql +26 -0
  443. package/dist/drizzle/0018_message_epoch_order.sql +1 -0
  444. package/dist/drizzle/meta/0017_snapshot.json +6785 -0
  445. package/dist/drizzle/meta/0018_snapshot.json +6804 -0
  446. package/dist/drizzle/meta/_journal.json +14 -0
  447. package/dist/main.mjs +26906 -24284
  448. package/dist/node/main.mjs +7077 -6284
  449. package/dist/openscout-terminal-relay.mjs +391 -9
  450. package/dist/pairing-runtime-controller.mjs +35541 -34446
  451. package/dist/runtime/base-daemon.mjs +31 -8
  452. package/dist/runtime/broker-daemon.mjs +7864 -2578
  453. package/dist/runtime/broker-process-manager.mjs +15 -3
  454. package/dist/runtime/mesh-discover.mjs +14 -3
  455. package/dist/scout-control-plane-web.mjs +37053 -33186
  456. package/dist/statusline.mjs +1021 -35
  457. package/dist/update-helper.mjs +32169 -0
  458. package/package.json +2 -2
  459. package/dist/client/assets/ActivityScreen-sfonf5SR.js +0 -1
  460. package/dist/client/assets/AgentAvatar-Dz79iTxB.js +0 -1
  461. package/dist/client/assets/AgentConfigurationScreen-DDc3udYM.js +0 -1
  462. package/dist/client/assets/AgentDefinitionsWorkspace-DHDS9Pgd.js +0 -1
  463. package/dist/client/assets/AgentDetailCard-8viaEY8b.js +0 -1
  464. package/dist/client/assets/AgentFloorView-DuyvyMMj.js +0 -1
  465. package/dist/client/assets/AgentInfoScreen-qntgg2q2.js +0 -1
  466. package/dist/client/assets/AgentLanesEmbedScreen-BA6fRwkD.js +0 -1
  467. package/dist/client/assets/AgentLanesView-96lHsoX7.js +0 -2
  468. package/dist/client/assets/AgentLiveActions-DlSKL60c.js +0 -1
  469. package/dist/client/assets/AgentMasterScreen-DHrMuQ6_.js +0 -1
  470. package/dist/client/assets/AgentSessions-DV9v34aq.js +0 -6
  471. package/dist/client/assets/AgentsConsole-DTpVhS67.js +0 -1
  472. package/dist/client/assets/AgentsScreen-hZ4o2I-e.js +0 -1
  473. package/dist/client/assets/AgentsSubnav-Ci7uWM7P.js +0 -1
  474. package/dist/client/assets/AtopView-D7vyQDtE.js +0 -1
  475. package/dist/client/assets/BackToPicker-BHicJyfc.js +0 -1
  476. package/dist/client/assets/BriefingDetailScreen-B-wD_Bot.js +0 -1
  477. package/dist/client/assets/BriefingsScreen-Cn4Mbam9.js +0 -1
  478. package/dist/client/assets/BrokerScreen-C8FQ5rlg.js +0 -5
  479. package/dist/client/assets/ChatCollapsedStrip-7Wrg8Ge0.js +0 -1
  480. package/dist/client/assets/CodeScreen-cLC0tJ4S.js +0 -1
  481. package/dist/client/assets/ConversationFeedRows-Bx0gFyG_.js +0 -1
  482. package/dist/client/assets/ConversationHeader-Bt2RBj93.js +0 -1
  483. package/dist/client/assets/ConversationPanels-o6W-cOoU.js +0 -6
  484. package/dist/client/assets/ConversationScreen-CkWnKXt6.css +0 -1
  485. package/dist/client/assets/ConversationScreen-DIU7m_aC.js +0 -2
  486. package/dist/client/assets/ConversationStatus-CTYOywFh.js +0 -1
  487. package/dist/client/assets/CrewWorkspaces-DNX-QQ1h.js +0 -1
  488. package/dist/client/assets/DispatchAftermath-ZCEB75hh.js +0 -1
  489. package/dist/client/assets/DocumentFocusViewer-D8iB6SMt.js +0 -1
  490. package/dist/client/assets/FlightObserveScreen-BTe1YRPr.js +0 -1
  491. package/dist/client/assets/FollowScreen-CkR-okdL.js +0 -1
  492. package/dist/client/assets/HarnessesScreen-COO_Q8VY.js +0 -1
  493. package/dist/client/assets/HostAdvisorView-DeJ-8RZV.js +0 -1
  494. package/dist/client/assets/KnowledgeSearchInspector-W_zNIBRV.js +0 -1
  495. package/dist/client/assets/KnowledgeSearchScreen-_rxJNUUh.js +0 -1
  496. package/dist/client/assets/LaneTraceDetailSheet-DNIECgEl.js +0 -1
  497. package/dist/client/assets/MeshCanvas-DZv2ipsy.js +0 -3
  498. package/dist/client/assets/MeshCanvasMinimap-BXHRNb7l.js +0 -1
  499. package/dist/client/assets/MeshScreen-DuNvpDC5.js +0 -1
  500. package/dist/client/assets/MessagesScreen-dNNPFwAc.js +0 -1
  501. package/dist/client/assets/MissionContextRail-DnCWPzAM.js +0 -1
  502. package/dist/client/assets/MissionControlView-DmaThhNR.js +0 -1
  503. package/dist/client/assets/MissionFocusOverlay-K21ssTxv.js +0 -1
  504. package/dist/client/assets/MissionLeftAgentRow-CbQm4BLv.js +0 -1
  505. package/dist/client/assets/MissionLogPane-BLvSSIdT.js +0 -1
  506. package/dist/client/assets/NewAgentModal-B7qxjZlW.js +0 -1
  507. package/dist/client/assets/NewChatComposer-D2Ah4T-W.js +0 -19
  508. package/dist/client/assets/ObserveEmbedScreen-DvKGsaLv.js +0 -2
  509. package/dist/client/assets/OpenScoutAppShell-C9TOLB7u.js +0 -79
  510. package/dist/client/assets/OpsAgentsView-vIoY-AW1.js +0 -1
  511. package/dist/client/assets/OpsScreen-CJBwshEp.js +0 -1
  512. package/dist/client/assets/OpsSubnav-CjDTnp64.js +0 -1
  513. package/dist/client/assets/ProjectAgentProfile-Br1eTD7G.js +0 -1
  514. package/dist/client/assets/ProjectAgentProfileHero-mjxNcRvw.js +0 -1
  515. package/dist/client/assets/ProjectsInbox-Bq29DE_o.js +0 -2
  516. package/dist/client/assets/ProjectsRail-kMDA0yn4.js +0 -1
  517. package/dist/client/assets/ProjectsScreen-BDaJYhc0.js +0 -1
  518. package/dist/client/assets/ProjectsThreadAside-B940p3vW.js +0 -1
  519. package/dist/client/assets/Provider-D0bB7q6y.js +0 -1
  520. package/dist/client/assets/RailRow-B88JVr62.js +0 -1
  521. package/dist/client/assets/RawSessionsTable-CzGhEdiZ.js +0 -1
  522. package/dist/client/assets/RealtimeVoiceScreen-CyP1CWsX.js +0 -1
  523. package/dist/client/assets/RepoDiffViewer-Bw5yMC4A.js +0 -7
  524. package/dist/client/assets/RepoDiffViewerLazy-DzfoFhbl.js +0 -2
  525. package/dist/client/assets/ScoutDeckSurface-DQoZofzH.js +0 -1
  526. package/dist/client/assets/SessionEmbedScreen-CpduQ0O9.js +0 -1
  527. package/dist/client/assets/SessionObserve-BVeTkcIl.js +0 -12
  528. package/dist/client/assets/SessionObserveEvidence-BkOezTGV.js +0 -1
  529. package/dist/client/assets/SessionRefScreen-DetLMkTT.js +0 -1
  530. package/dist/client/assets/SessionsScreen-B-McKw6d.js +0 -1
  531. package/dist/client/assets/SettingsDrawer-CPB32w0n.js +0 -3
  532. package/dist/client/assets/SettingsScreen-BEzYFdjz.js +0 -1
  533. package/dist/client/assets/SpriteAvatar-DFO4Kb4Z.js +0 -1
  534. package/dist/client/assets/Terminal-DWyZTZdY.js +0 -1
  535. package/dist/client/assets/TerminalEmbedScreen-_SSzwhWa.js +0 -1
  536. package/dist/client/assets/TerminalHeaderMount-CY7uIWBg.js +0 -1
  537. package/dist/client/assets/WorkFilesViewer-D8-4vF5l.js +0 -1
  538. package/dist/client/assets/agent-autocomplete-BlK8wY06.js +0 -10
  539. package/dist/client/assets/agent-lane-card-model-CY3OE1Xu.js +0 -1
  540. package/dist/client/assets/agent-lanes-model-tc-1hE6q.js +0 -2
  541. package/dist/client/assets/agent-master-I1W-5d-x.css +0 -1
  542. package/dist/client/assets/agent-master-model-DMcHeNq3.js +0 -1
  543. package/dist/client/assets/api-Co9aQ2Jw.js +0 -1
  544. package/dist/client/assets/broker-display-Q75fupqG.js +0 -2
  545. package/dist/client/assets/chunk-JTPDIGGW-COJ00z94.js +0 -46
  546. package/dist/client/assets/chunk-YOZR3KYS-CrCgXw9l.js +0 -2
  547. package/dist/client/assets/colors-BtO5_zlx.js +0 -1
  548. package/dist/client/assets/content-0RBfbCIJ.js +0 -1
  549. package/dist/client/assets/content-BTmnk2bl.js +0 -1
  550. package/dist/client/assets/content-Bk5DKhyP.js +0 -1
  551. package/dist/client/assets/content-Bw_8GE_S.js +0 -1
  552. package/dist/client/assets/content-CI4gLEWi.js +0 -1
  553. package/dist/client/assets/content-CLCtp9Rb.js +0 -1
  554. package/dist/client/assets/content-C_FAGTNk.js +0 -1
  555. package/dist/client/assets/content-CnnzWOE3.js +0 -1
  556. package/dist/client/assets/content-DKlY98pO.js +0 -1
  557. package/dist/client/assets/content-Df7ndXTG.js +0 -1
  558. package/dist/client/assets/content-DkZDzzx3.js +0 -1
  559. package/dist/client/assets/content-DnGmb2L0.js +0 -1
  560. package/dist/client/assets/content-Ds-zs-Ss.js +0 -1
  561. package/dist/client/assets/content-JIWSyC0f.js +0 -1
  562. package/dist/client/assets/content-Q3TIYC8q.js +0 -1
  563. package/dist/client/assets/content-evaBfvxD.js +0 -1
  564. package/dist/client/assets/conversation-model-C2KuZUXc.js +0 -1
  565. package/dist/client/assets/conversation-motion-features-BJnHs3Ul.js +0 -1
  566. package/dist/client/assets/discover-DutlV0ZU.js +0 -2
  567. package/dist/client/assets/embed-entry-CJG7WEVw.js +0 -2
  568. package/dist/client/assets/home-moving-signal-PHSqSBu_.js +0 -1
  569. package/dist/client/assets/home-now-card-C_qsI6C6.js +0 -1
  570. package/dist/client/assets/hooks-ME7rmhpE.js +0 -2
  571. package/dist/client/assets/index-C8UCRm2W.js +0 -1
  572. package/dist/client/assets/index-Cn0I2Hgi.js +0 -1
  573. package/dist/client/assets/index-Cx6Gbr6n.js +0 -1
  574. package/dist/client/assets/index-i7TMxlwW.css +0 -1
  575. package/dist/client/assets/knowledge-search-D_bLoYtC.css +0 -1
  576. package/dist/client/assets/lane-roster-store-DN2jxXF-.js +0 -1
  577. package/dist/client/assets/left-BRu9pnqx.js +0 -2
  578. package/dist/client/assets/left-BjS1dKNV.js +0 -2
  579. package/dist/client/assets/left-CL-TVLJ7.js +0 -1
  580. package/dist/client/assets/left-DLpsDi55.js +0 -1
  581. package/dist/client/assets/left-DPcM9o8Y.js +0 -1
  582. package/dist/client/assets/left-MmTJf1tK.js +0 -1
  583. package/dist/client/assets/left-P80i5V8L.js +0 -1
  584. package/dist/client/assets/left-advisor-CbXVzAqS.js +0 -1
  585. package/dist/client/assets/left-agents-7mJsiNyr.js +0 -1
  586. package/dist/client/assets/left-default-COK26l3H.js +0 -1
  587. package/dist/client/assets/left-lanes-Dbdm9Veu.js +0 -1
  588. package/dist/client/assets/left-mission-DSenPIyb.css +0 -1
  589. package/dist/client/assets/left-mission-DqGR5jby.js +0 -1
  590. package/dist/client/assets/library-COnWzUWv.js +0 -1
  591. package/dist/client/assets/mentions-BZ5SBMtc.js +0 -1
  592. package/dist/client/assets/mesh-buckets-CLYS8Jx8.js +0 -1
  593. package/dist/client/assets/mesh-view-store-CBM1za_N.js +0 -1
  594. package/dist/client/assets/mission-control-CnU7dNt1.css +0 -1
  595. package/dist/client/assets/mission-control-model-C0fByIjm.js +0 -1
  596. package/dist/client/assets/mission-control-store-CM8mQGg8.js +0 -1
  597. package/dist/client/assets/observe-BLmy4quB.js +0 -1
  598. package/dist/client/assets/ops-screen-giu3If_N.css +0 -1
  599. package/dist/client/assets/page-status-BE0-J1xY.js +0 -1
  600. package/dist/client/assets/paperclip-Br7wUDFl.js +0 -1
  601. package/dist/client/assets/perf-PX8Rx0EP.js +0 -1
  602. package/dist/client/assets/profile-BCvk8jOQ.js +0 -1
  603. package/dist/client/assets/resolve-panes-DhD5qmQO.js +0 -1
  604. package/dist/client/assets/resolve-sidebar-context-GqhZNRPY.js +0 -1
  605. package/dist/client/assets/right-B_08ilv6.js +0 -1
  606. package/dist/client/assets/right-Brm67HOL.js +0 -1
  607. package/dist/client/assets/right-BveAPKBW.js +0 -1
  608. package/dist/client/assets/right-CpTB_-Ya.js +0 -1
  609. package/dist/client/assets/right-CqC4Qdot.js +0 -1
  610. package/dist/client/assets/right-D91j9d5Y.js +0 -1
  611. package/dist/client/assets/right-DaLRhYl3.js +0 -1
  612. package/dist/client/assets/right-Dt1wOwA5.js +0 -1
  613. package/dist/client/assets/right-DtzqIZQF.js +0 -1
  614. package/dist/client/assets/router-kfcaYqZr.js +0 -1
  615. package/dist/client/assets/runtime-picker-C20lTGhV.js +0 -1
  616. package/dist/client/assets/scout-voice-Cg1qfepC.js +0 -1
  617. package/dist/client/assets/secondaryNavConfig-C0Srrmy8.js +0 -1
  618. package/dist/client/assets/system-surfaces-redesign-kuf3wuE_.css +0 -1
  619. package/dist/client/assets/terminal-screen-vMICbBJh.css +0 -1
  620. package/dist/client/assets/use-conversation-list-UG-tMN67.js +0 -1
  621. package/dist/client/assets/use-scout-dev-flags-DTseRrFi.js +0 -1
  622. package/dist/client/assets/useContentSecondaryNav-CoIoz7JU.js +0 -1
@@ -1 +0,0 @@
1
- .ks-page{flex:1 1 auto;min-height:0;height:100%;overflow:hidden;display:flex;flex-direction:column;background:var(--bg);color:var(--ink)}.ks-shell{flex:1 1 auto;min-height:0;width:min(100%,1080px);margin:0 auto;padding:var(--space-3xl) clamp(var(--space-2xl),2.5vw,var(--space-5xl)) var(--space-4xl);display:flex;flex-direction:column;gap:var(--space-2xl);overflow:auto}.ks-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3xl)}.ks-header-titles{min-width:0;display:flex;flex-direction:column;gap:var(--space-sm)}.ks-eyebrow{display:inline-flex;align-items:center;gap:var(--space-sm);color:var(--accent);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:700;letter-spacing:0;text-transform:uppercase}.ks-header-titles h1{margin:0;font-family:var(--font-accent-title);font-size:var(--display-xs);font-weight:560;line-height:var(--leading-display);letter-spacing:0;color:var(--ink)}.ks-header-titles p{margin:0;font-size:var(--text-md);line-height:var(--leading-snug);color:var(--muted);max-width:64ch}.ks-search-form{display:grid;grid-template-columns:18px minmax(0,1fr) 24px 18px;align-items:center;gap:var(--space-md);height:52px;padding:0 var(--space-2xl);border:1px solid color-mix(in srgb,var(--ink) 8%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 92%,transparent);transition:border-color var(--motion-duration-hover) var(--motion-ease-standard),box-shadow var(--motion-duration-hover) var(--motion-ease-standard)}.ks-search-form:focus-within{border-color:color-mix(in srgb,var(--accent) 48%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent),0 1px color-mix(in srgb,var(--accent) 16%,transparent)}.ks-search-form>svg{color:var(--muted)}.ks-search-input{min-width:0;height:100%;border:0;outline:none;background:transparent;color:var(--ink);font-family:var(--font-accent-title);font-size:var(--text-2xl);line-height:var(--leading-tight);font-weight:500;padding:0}.ks-search-input::placeholder{color:var(--dim);font-weight:400}.ks-search-clear,.ks-search-hint{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);background:color-mix(in srgb,var(--ink) 4%,transparent);color:var(--muted);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;transition:color var(--motion-duration-hover) var(--motion-ease-standard),background var(--motion-duration-hover) var(--motion-ease-standard)}.ks-search-hint{cursor:default;pointer-events:none;color:var(--dim)}.ks-search-clear:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 10%,transparent)}.ks-search-form .ks-spin{color:var(--dim);grid-column:4}.ks-filterbar{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-md) var(--space-2xl);border:1px solid color-mix(in srgb,var(--ink) 7%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 70%,transparent)}.ks-filterbar-row{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap;min-width:0}.ks-filterbar-row--inline{flex-wrap:wrap}.ks-filterbar-label{display:inline-flex;align-items:center;gap:var(--space-2xs);flex:none;width:76px;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-md);text-transform:uppercase}.ks-chip-row{display:flex;flex-wrap:wrap;gap:var(--space-xs);min-width:0}.ks-chip{appearance:none;display:inline-flex;align-items:center;gap:var(--space-xs);min-height:28px;padding:0 var(--space-md);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--ink) 4%,transparent);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;line-height:1;cursor:pointer;transition:color var(--motion-duration-hover) var(--motion-ease-standard),background var(--motion-duration-hover) var(--motion-ease-standard),border-color var(--motion-duration-hover) var(--motion-ease-standard)}.ks-chip:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 9%,transparent);border-color:color-mix(in srgb,var(--ink) 18%,transparent)}.ks-chip:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:2px}.ks-chip--active{color:color-mix(in srgb,var(--accent) 92%,var(--ink));background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.ks-chip--active:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}.ks-chip-label{white-space:nowrap}.ks-chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:16px;padding:0 4px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;font-variant-numeric:tabular-nums}.ks-chip--active .ks-chip-count{background:color-mix(in srgb,var(--accent) 20%,transparent);color:color-mix(in srgb,var(--accent) 92%,var(--ink))}.ks-clear-all{appearance:none;margin-left:auto;padding:0 var(--space-sm);height:26px;border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);border-radius:var(--radius-pill);background:transparent;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;cursor:pointer;transition:color var(--motion-duration-hover) var(--motion-ease-standard),border-color var(--motion-duration-hover) var(--motion-ease-standard)}.ks-clear-all:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.ks-error{min-width:0;padding:var(--space-sm) 0;color:color-mix(in srgb,var(--red) 85%,var(--ink));font-size:var(--text-sm)}.ks-empty-state{min-width:0;display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-3xl);border:1px dashed color-mix(in srgb,var(--ink) 12%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--ink) 3%,transparent);color:var(--muted);font-size:var(--text-md);line-height:var(--leading-snug)}.ks-empty-state strong{color:var(--ink);font-size:var(--text-lg);font-weight:620}.ks-empty-hit{min-width:0;display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-3xl) var(--space-2xl);border:1px solid color-mix(in srgb,var(--ink) 8%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 70%,transparent);color:var(--muted);font-size:var(--text-md);line-height:var(--leading-snug)}.ks-empty-hit strong{color:var(--ink);font-size:var(--text-lg);font-weight:620}.ks-empty-hit--quiet{border-style:dashed;background:color-mix(in srgb,var(--ink) 3%,transparent)}.ks-empty-hit--quiet strong{font-size:var(--text-md);color:var(--muted)}.ks-empty-hit--quiet kbd,.ks-empty-hit kbd{display:inline-block;min-width:1.4em;padding:0 4px;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);border-bottom-width:2px;border-radius:4px;background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;text-align:center}.ks-empty-hit-actions{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-2xs)}.ks-hit-list{display:flex;flex-direction:column;min-width:0;gap:var(--space-md)}.ks-hit-list-head{position:sticky;top:0;z-index:1;display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) 0;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--ink);font-size:var(--text-md);font-weight:620;letter-spacing:0}.ks-hit-list-meta{font-weight:500;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--dim) 88%,transparent);font-size:var(--text-sm)}.ks-hit-list-body{display:flex;flex-direction:column;gap:var(--space-2xl)}.ks-session{min-width:0;display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-lg) 0;border-top:1px solid color-mix(in srgb,var(--ink) 8%,transparent)}.ks-session:first-child{border-top:0}.ks-session-head{min-width:0;display:flex;flex-direction:column;gap:var(--space-xs)}.ks-session-topline{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);font-size:var(--text-xs);color:var(--muted)}.ks-session-meta{min-width:0;display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap;color:var(--muted)}.ks-session-meta span{min-width:0;max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ks-session-meta span+span:before{content:"·";margin:0 .5em;color:color-mix(in srgb,var(--dim) 70%,transparent)}.ks-hit-chip{padding:2px 8px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--accent) 14%,transparent);color:color-mix(in srgb,var(--accent) 92%,var(--ink));font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-sm);text-transform:uppercase;white-space:nowrap}.ks-hit-session{font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap}.ks-session-count{color:color-mix(in srgb,var(--dim) 90%,transparent);font-variant-numeric:tabular-nums}.ks-hit-when{flex:none;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.ks-session-goal{appearance:none;width:fit-content;max-width:100%;text-align:left;border:0;background:transparent;color:var(--ink);font-family:var(--font-accent-title);font-size:var(--text-2xl);font-weight:600;line-height:var(--leading-tight);letter-spacing:0;cursor:pointer;padding:0;transition:color var(--motion-duration-hover) var(--motion-ease-standard)}.ks-session-goal:hover,.ks-session-goal:focus-visible{color:var(--accent);outline:none}.ks-session-moments{min-width:0;display:flex;flex-direction:column;gap:1px;border-radius:var(--radius-md);overflow:hidden;border:1px solid color-mix(in srgb,var(--ink) 7%,transparent);background:color-mix(in srgb,var(--ink) 6%,transparent)}.ks-hit{appearance:none;min-width:0;display:block;width:100%;text-align:left;border:0;padding:var(--space-md) var(--space-2xl);background:color-mix(in srgb,var(--surface) 86%,transparent);color:var(--ink);cursor:pointer;transition:background var(--motion-duration-hover) var(--motion-ease-standard)}.ks-hit:hover{background:color-mix(in srgb,var(--ink) 4%,var(--surface))}.ks-hit--selected{background:color-mix(in srgb,var(--accent) 9%,var(--surface));box-shadow:inset 2px 0 0 var(--accent)}.ks-hit:hover .ks-hit-title,.ks-hit--selected .ks-hit-title,.ks-hit:focus-visible .ks-hit-title{color:color-mix(in srgb,var(--accent) 82%,var(--ink))}.ks-hit:focus-visible{outline:none;background:color-mix(in srgb,var(--ink) 6%,var(--surface))}.ks-hit-body{min-width:0;display:flex;flex-direction:column;gap:var(--space-2xs)}.ks-hit-details{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-xs)}.ks-hit-details--moment{margin-bottom:1px}.ks-hit-details span{min-width:0;max-width:28ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-md);text-transform:uppercase}.ks-hit-details-strong{color:color-mix(in srgb,var(--muted) 90%,var(--ink));font-weight:600}.ks-hit-details span+span:before{content:"·";margin:0 .5em;color:color-mix(in srgb,var(--dim) 70%,transparent)}.ks-hit-title{margin:0;min-width:0;color:var(--ink);font-family:var(--font-accent-title);font-size:var(--text-lg);font-weight:580;line-height:var(--leading-tight);letter-spacing:0;overflow-wrap:anywhere;transition:color var(--motion-duration-hover) var(--motion-ease-standard)}.ks-hit-snippet{margin:0;color:color-mix(in srgb,var(--ink) 70%,var(--muted));font-size:var(--text-sm);line-height:var(--leading-snug);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ks-hit-snippet--empty{color:var(--dim);font-style:italic}.ks-hit mark,.ks-inspector mark{padding:0 3px;border-radius:3px;background:color-mix(in srgb,var(--accent) 28%,transparent);color:var(--ink);font-weight:600}.ks-foot-status{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--space-2xl);border-top:1px solid color-mix(in srgb,var(--ink) 7%,transparent);background:color-mix(in srgb,var(--surface) 70%,transparent);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;letter-spacing:0}.ks-foot-status-facts{min-width:0;display:inline-flex;align-items:center;gap:var(--space-sm);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ks-text-action{appearance:none;flex:none;padding:0;border:0;background:transparent;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:color var(--motion-duration-hover) var(--motion-ease-standard)}.ks-text-action:hover,.ks-text-action:focus-visible{color:var(--accent);outline:none}.ks-text-action:disabled{cursor:not-allowed;opacity:.55}.ks-spin{animation:ks-spin .9s linear infinite}@keyframes ks-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ks-inspector{height:100%;min-height:0;display:flex;flex-direction:column;background:color-mix(in srgb,var(--bg) 90%,transparent);border-left:1px solid color-mix(in srgb,var(--ink) 7%,transparent)}.ks-inspector-error{padding:var(--space-sm) var(--space-md);border-bottom:1px solid color-mix(in srgb,var(--red) 25%,transparent);background:color-mix(in srgb,var(--red) 8%,transparent);color:color-mix(in srgb,var(--red) 88%,var(--ink));font-size:var(--text-sm)}.ks-preview-panel{min-height:0;display:flex;flex:1 1 auto;flex-direction:column;gap:var(--space-lg);padding:var(--space-2xl);overflow:auto}.ks-inspector-empty{min-width:0;display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-2xl);color:var(--muted);font-size:var(--text-md);line-height:var(--leading-snug)}.ks-inspector-empty>svg{color:var(--dim);margin-bottom:var(--space-2xs)}.ks-inspector-empty strong{color:var(--ink);font-size:var(--text-lg)}.ks-inspector-empty-hint{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-md);text-transform:uppercase}.ks-inspector-empty kbd{display:inline-block;min-width:1.4em;padding:0 4px;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);border-bottom-width:2px;border-radius:4px;background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;text-align:center}.ks-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);position:sticky;top:0;z-index:1;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding-bottom:var(--space-sm);margin:calc(var(--space-2xl) * -1) calc(var(--space-2xl) * -1) 0;padding:var(--space-md) var(--space-2xl) var(--space-sm)}.ks-preview-head h2{margin:var(--space-3xs) 0 0;color:var(--ink);font-family:var(--font-accent-title);font-size:var(--text-2xl);font-weight:600;line-height:var(--leading-tight);letter-spacing:0;overflow-wrap:anywhere}.ks-panel-eyebrow{display:inline-flex;align-items:center;gap:var(--space-sm);color:var(--accent);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-md);text-transform:uppercase}.ks-preview-close{appearance:none;flex:none;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--ink) 4%,transparent);color:var(--muted);cursor:pointer;transition:color var(--motion-duration-hover) var(--motion-ease-standard),border-color var(--motion-duration-hover) var(--motion-ease-standard)}.ks-preview-close:hover{color:var(--ink);border-color:color-mix(in srgb,var(--accent) 32%,var(--border))}.ks-preview-meta{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin:0}.ks-preview-meta span{padding:3px var(--space-sm);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-sm);text-transform:uppercase}.ks-preview-actions{min-width:0;display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.ks-preview-actions button{appearance:none;min-width:0;height:28px;display:inline-flex;align-items:center;gap:var(--space-2xs);padding:0 var(--space-md);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--ink) 4%,transparent);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-sm);text-transform:uppercase;cursor:pointer;transition:color var(--motion-duration-hover) var(--motion-ease-standard),background var(--motion-duration-hover) var(--motion-ease-standard),border-color var(--motion-duration-hover) var(--motion-ease-standard)}.ks-preview-actions button:hover{border-color:color-mix(in srgb,var(--accent) 36%,var(--border));background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:color-mix(in srgb,var(--accent) 92%,var(--ink))}.ks-preview-actions button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:2px}.ks-preview-actions button.ks-action-primary{border-color:color-mix(in srgb,var(--accent) 42%,transparent);background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:color-mix(in srgb,var(--accent) 92%,var(--ink))}.ks-why-matched{min-width:0;border-block:1px solid color-mix(in srgb,var(--ink) 7%,transparent)}.ks-why-matched>summary{min-width:0;display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 0;color:var(--muted);cursor:pointer;list-style:none}.ks-why-matched>summary::-webkit-details-marker{display:none}.ks-why-matched>summary:before{content:"›";color:var(--dim);font-family:var(--font-mono);transition:transform var(--motion-duration-hover) var(--motion-ease-standard)}.ks-why-matched[open]>summary:before{transform:rotate(90deg)}.ks-why-matched>summary span{min-width:0;color:var(--ink);font-size:var(--text-sm);overflow-wrap:anywhere}.ks-why-matched>summary em{margin-left:auto;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-style:normal;font-weight:700;letter-spacing:var(--tracking-sm);text-transform:uppercase;white-space:nowrap}.ks-why-matched dl{display:grid;gap:var(--space-xs);margin:0;padding:0 0 var(--space-md) calc(var(--space-sm) + 7px)}.ks-why-matched dl div{display:grid;grid-template-columns:84px minmax(0,1fr);gap:var(--space-sm)}.ks-why-matched dt,.ks-why-matched dd{margin:0;font-family:var(--font-mono);font-size:var(--text-2xs)}.ks-why-matched dt{color:var(--dim);font-weight:700;letter-spacing:var(--tracking-sm);text-transform:uppercase}.ks-why-matched dd{color:var(--muted);overflow-wrap:anywhere}.ks-conversation-excerpt{min-width:0;display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);border:1px solid color-mix(in srgb,var(--accent) 16%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--accent) 4%,transparent)}.ks-excerpt-turn{min-width:0;display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-md);border:1px solid color-mix(in srgb,var(--ink) 7%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 80%,transparent)}.ks-excerpt-turn--matched{border-color:color-mix(in srgb,var(--accent) 30%,transparent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.ks-excerpt-turn--muted{opacity:.78}.ks-excerpt-turn header{display:flex;align-items:center;gap:var(--space-sm)}.ks-excerpt-turn header span,.ks-excerpt-turn header strong,.ks-excerpt-turn header em{font-family:var(--font-mono);font-size:var(--text-2xs)}.ks-excerpt-turn header span,.ks-excerpt-turn header em{color:var(--dim);font-style:normal;font-weight:700;letter-spacing:var(--tracking-sm);text-transform:uppercase}.ks-excerpt-turn header strong{color:var(--ink);overflow-wrap:anywhere}.ks-excerpt-turn header em{margin-left:auto;color:color-mix(in srgb,var(--accent) 88%,var(--ink))}.ks-excerpt-turn p{margin:0;color:var(--ink);font-size:var(--text-sm);line-height:var(--leading-snug);overflow-wrap:anywhere;white-space:pre-wrap;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}.ks-excerpt-turn p.is-expanded{display:block;overflow:visible;-webkit-line-clamp:unset}.ks-excerpt-turn--muted p{display:block;max-height:240px;overflow:auto;-webkit-line-clamp:unset}.ks-excerpt-turn--muted p:focus-visible{outline:1px solid color-mix(in srgb,var(--accent) 68%,transparent);outline-offset:3px}.ks-excerpt-turn-expand{appearance:none;align-self:flex-start;min-height:26px;padding:0 var(--space-sm);border:0;border-radius:var(--radius-md);background:transparent;color:color-mix(in srgb,var(--accent) 82%,var(--ink));font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;cursor:pointer}.ks-excerpt-turn-expand:hover,.ks-excerpt-turn-expand:focus-visible{background:color-mix(in srgb,var(--accent) 8%,transparent)}.ks-excerpt-fold{display:flex;flex-direction:column;gap:var(--space-xs)}.ks-excerpt-fold-toggle{appearance:none;align-self:flex-start;display:inline-flex;align-items:center;gap:var(--space-xs);min-height:28px;padding:0 var(--space-sm);border:0;border-radius:var(--radius-md);background:transparent;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;cursor:pointer}.ks-excerpt-fold-toggle:hover,.ks-excerpt-fold-toggle:focus-visible{background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--muted)}.ks-excerpt-fold-body{display:flex;flex-direction:column;gap:var(--space-xs)}@media(prefers-reduced-motion:reduce){.ks-why-matched>summary:before{transition:none}}.ks-rendered-head{display:flex;align-items:center;gap:var(--space-sm);color:var(--muted)}.ks-rendered-head strong{color:var(--ink);font-size:var(--text-sm);font-weight:620}.ks-rendered-head span{margin-left:auto;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-sm);text-transform:uppercase}.ks-indexed-snippet{min-width:0;display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);border:1px solid color-mix(in srgb,var(--ink) 7%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg) 34%,transparent)}.ks-indexed-snippet span{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-sm);text-transform:uppercase}.ks-indexed-snippet p{margin:0;color:var(--ink);font-size:var(--text-sm);line-height:var(--leading-snug);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.ks-preview-source{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-xs) var(--space-sm);align-items:center;padding:var(--space-md);border:1px solid color-mix(in srgb,var(--green) 16%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--green) 6%,transparent)}.ks-preview-source span{grid-column:1 / -1;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-sm);text-transform:uppercase}.ks-preview-source code{min-width:0;color:color-mix(in srgb,var(--green) 88%,var(--ink));font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.ks-preview-source button{appearance:none;height:26px;display:inline-flex;align-items:center;gap:var(--space-2xs);padding:0 var(--space-sm);border:1px solid color-mix(in srgb,var(--green) 24%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--green) 8%,var(--surface));color:color-mix(in srgb,var(--green) 88%,var(--ink));font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-sm);text-transform:uppercase;cursor:pointer;transition:background var(--motion-duration-hover) var(--motion-ease-standard)}.ks-preview-source button:hover{background:color-mix(in srgb,var(--green) 16%,var(--surface))}.ks-preview-loading{display:flex;align-items:center;gap:var(--space-sm);color:var(--muted);font-size:var(--text-sm)}.ks-jsonl-window{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid color-mix(in srgb,var(--ink) 7%,transparent);border-radius:var(--radius-lg)}.ks-jsonl-window>summary.ks-jsonl-window-head{cursor:pointer;list-style:none}.ks-jsonl-window>summary.ks-jsonl-window-head::-webkit-details-marker{display:none}.ks-jsonl-window:not([open])>summary.ks-jsonl-window-head{border-bottom:0}.ks-jsonl-window-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-bottom:1px solid color-mix(in srgb,var(--ink) 7%,transparent);background:color-mix(in srgb,var(--bg) 36%,transparent)}.ks-jsonl-window-head strong{color:var(--ink);font-size:var(--text-sm);font-weight:620}.ks-jsonl-window-head span{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-sm);text-transform:uppercase;text-align:right}.ks-jsonl-record{border-top:1px solid color-mix(in srgb,var(--ink) 6%,transparent);background:color-mix(in srgb,var(--surface) 75%,transparent)}.ks-jsonl-record--matched{background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.ks-jsonl-record:first-of-type{border-top:0}.ks-jsonl-record summary{display:grid;grid-template-columns:42px minmax(72px,.42fr) minmax(0,1fr);gap:var(--space-sm);align-items:center;padding:var(--space-sm) var(--space-md);color:var(--muted);font-size:var(--text-xs);cursor:pointer}.ks-jsonl-record summary span,.ks-jsonl-record summary strong{font-family:var(--font-mono)}.ks-jsonl-record summary strong{color:var(--ink);overflow-wrap:anywhere}.ks-jsonl-record summary em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal}.ks-jsonl-record pre{max-height:240px;margin:0;overflow:auto;padding:var(--space-md);border-top:1px solid color-mix(in srgb,var(--ink) 6%,transparent);background:color-mix(in srgb,black 20%,transparent);color:var(--ink);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-snug);white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:760px){.ks-shell{padding:var(--space-2xl) var(--space-2xl) var(--space-5xl)}.ks-header-titles h1{font-size:var(--text-4xl)}.ks-search-form{height:48px;padding:0 var(--space-lg)}.ks-search-input{font-size:var(--text-xl)}.ks-filterbar{padding:var(--space-md) var(--space-lg)}.ks-filterbar-label{width:64px}.ks-hit,.ks-preview-actions{padding-left:var(--space-lg);padding-right:var(--space-lg)}.ks-preview-panel{padding:var(--space-lg)}}
@@ -1 +0,0 @@
1
- import{r as c}from"./index-C1VaWNuD.js";let s=null;const o=new Set;function d(e,t){return e===t?!0:!e||!t?!1:e.live===t.live&&e.harness===t.harness&&e.actionGlyph===t.actionGlyph&&e.actionLabel===t.actionLabel&&e.actionMeta===t.actionMeta&&e.countsLabel===t.countsLabel&&e.strip.length===t.strip.length&&e.strip.every((n,r)=>n===t.strip[r])}function L(e,t){return e.id===t.id&&e.label===t.label&&e.statusLabel===t.statusLabel&&e.tone===t.tone&&e.agentId===t.agentId&&e.updatedAt===t.updatedAt&&d(e.floor,t.floor)}function p(e,t){return e===t?!0:e===null||t===null||e.length!==t.length?!1:e.every((n,r)=>L(n,t[r]))}function E(e){if(!p(s,e)){s=e;for(const t of o)t()}}function g(e){return o.add(e),()=>{o.delete(e)}}function i(){return s}function I(){return c.useSyncExternalStore(g,i,i)}let u=null;const l=new Set;function y(e){if(u!==e){u=e;for(const t of l)t()}}function h(e){return l.add(e),()=>{l.delete(e)}}function a(){return u}function F(){return c.useSyncExternalStore(h,a,a)}let f=null;function v(e){f=e}function R(){return f}export{y as a,F as b,R as g,E as p,v as s,I as u};
@@ -1,2 +0,0 @@
1
- import{r as u,j as a}from"./index-C1VaWNuD.js";/* empty css */import{u as mt,m as gt,j as vt,b as ht,o as ft}from"./Provider-D0bB7q6y.js";import{a as bt,b as wt,m as xt,r as Qe}from"./keyboard-nav-B8sQ_8IF.js";import{n as me,g as Be}from"./colors-BtO5_zlx.js";import{s as It,a as _,h as Te,q as ye,i as He,u as jt}from"./conversation-model-C2KuZUXc.js";import{l as yt,i as q,a as O,p as Ee,t as At,b as Ct}from"./conversation-prefs-DNre-Lcx.js";import{i as Rt,l as St,s as Ue}from"./sessionRead-CvFz2RHv.js";import{u as kt,f as pe,b as Mt}from"./use-fleet-active-asks-CCGrll5q.js";import{a as Ge,c as Oe,p as Nt,N as _e,g as $t,t as Lt}from"./agent-master-model-DMcHeNq3.js";import{t as te}from"./time-Dhsh_2EG.js";import{u as Pt}from"./use-conversation-list-UG-tMN67.js";import{b as Bt}from"./router-kfcaYqZr.js";import{a as Ye}from"./message-visibility-CGOmSSKs.js";import{R as Ae}from"./RailRow-B88JVr62.js";import"./api-Co9aQ2Jw.js";import"./perf-PX8Rx0EP.js";import"./sse-B29iGBnw.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-D7kGGyK_.js";import"./NewChatComposer-D2Ah4T-W.js";import"./runtime-picker-C20lTGhV.js";import"./scout-voice-Cg1qfepC.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DmUG_YC7.js";import"./createLucideIcon-Dv8H8m7J.js";import"./index-Cx6Gbr6n.js";import"./HarnessMark-DttReffF.js";import"./NewChatOrigin-DCn5cWPZ.js";import"./x-DgmmnPKt.js";import"./chevron-down-D120PY4g.js";import"./search-FB2vVxCp.js";import"./file-text-BHro8MkG.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-D8iB6SMt.js";import"./TextDocumentSurface-2X1Gw4eA.js";import"./chevron-right-CowuvuE6.js";import"./code-xml-CkkNdRmu.js";import"./arrow-left-eToA6GxC.js";import"./arrow-right-DTX42clh.js";import"./chunk-HRAB3GC3-KjjrTLCU.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";import"./AgentAvatar-Dz79iTxB.js";import"./SpriteAvatar-DFO4Kb4Z.js";import"./CrewAvatar-CZ_faQ_s.js";function de(e){const n=e.split("/").filter(Boolean);return n[n.length-1]??e}function Je(e){const n=e.replace(/\/+$/,"").split("/");return n[n.length-1]??e}function Tt(e,n){const s=de(n).toLowerCase(),c=e.filter(v=>!!v.projectRoot),l=c.filter(v=>Je(v.projectRoot).toLowerCase()===s),d=l.length>0?l:c,i=Et(d);return i?{label:(l.length>0?d.find(v=>v.projectRoot===i):[...d].sort((v,f)=>f.lastActivityAt-v.lastActivityAt)[0])?.project??de(n),canonicalRoot:i}:{label:de(n),canonicalRoot:null}}function Et(e){const n=new Map;for(const d of e){const i=n.get(d.projectRoot)??{count:0,latest:0};i.count+=1,i.latest=Math.max(i.latest,d.lastActivityAt),n.set(d.projectRoot,i)}let s=null,c=-1,l=-1;for(const[d,i]of n)(i.count>c||i.count===c&&i.latest>l)&&(s=d,c=i.count,l=i.latest);return s}function Ut(e,n,s,c){const l=new Map;for(const i of e){const w=It(i),v=i.agentId?n.get(i.agentId):void 0,f=v?.repoKey??null,g=v?.project??null,M=(i.agentName??_(i)).trim(),h=w?`channel:${i.id}`:f?`repo:${f.toLowerCase()}`:g?`project:${g.toLowerCase()}`:M?`name:${M.toLowerCase()}`:`dm:${i.id}`,A=w?_(i):f?de(f):g??M??_(i);let b=l.get(h);if(b||(b={key:h,label:A,isChannel:w,conversations:[],bestState:"blocked",latestUpdate:0,unreadCount:0,canonicalRoot:null},l.set(h,b)),b.conversations.push(i),b.latestUpdate=Math.max(b.latestUpdate,i.lastMessageAt??0),Rt(i.lastMessageAt,i.id,s)&&(b.unreadCount+=1),!w&&v){const P=me(v.state);Be(P)<Be(b.bestState)&&(b.bestState=P)}}for(const i of l.values()){if(i.key.startsWith("repo:")){const w=i.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}}),v=Tt(w,i.key.slice(5));i.label=v.label,i.canonicalRoot=v.canonicalRoot}i.conversations.sort((w,v)=>(v.lastMessageAt??0)-(w.lastMessageAt??0))}const d=Array.from(l.values());return d.sort((i,w)=>w.latestUpdate-i.latestUpdate),d}const We="scout:messages:rail:v1",ce={view:"agents",groupBy:"project"};let Ie=null;function Gt(e){return e==="agents"||e==="sessions"}function Ot(e){return e==="project"||e==="agent"||e==="day"||e==="state"}function _t(){if(Ie)return Ie;try{const e=window.localStorage.getItem(We);if(!e)return{...ce};const n=JSON.parse(e);return{view:Gt(n.view)?n.view:ce.view,groupBy:Ot(n.groupBy)?n.groupBy:ce.groupBy}}catch{return{...ce}}}function De(e){try{window.localStorage.setItem(We,JSON.stringify(e))}catch{Ie=e}return e}const Dt=12,Ft=[["project","Project"],["agent","Agent"],["day","Day"],["state","State"]];function Kn(){const{route:e,navigate:n,agents:s,apiConnection:c}=mt(),{sessions:l,loading:d,loadError:i,reload:w}=Pt(),[v,f]=u.useState(()=>St()),[g,M]=u.useState(()=>yt()),[h,A]=u.useState(""),[b,P]=u.useState(()=>new Set),[I,r]=u.useState(!1),[D,F]=u.useState(!1),[Q,ge]=u.useState(!1),[K,ne]=u.useState(()=>_t()),C=K.view,Re=u.useCallback(t=>{ne(o=>De({...o,view:t}))},[]),et=u.useCallback(t=>{ne(o=>De({...o,groupBy:t}))},[]),k=kt(),j=Bt(e),J=u.useMemo(()=>gt(s,j),[s,j]),R=u.useMemo(()=>{const t=new Map,o=J?s.filter(p=>J.has(p.id)):s;for(const p of o)t.set(p.id,p);return t},[s,J]),ve=e.view==="messages"||e.view==="conversation"||e.view==="agent-info"||e.view==="agents-v2"?e.conversationId:void 0,W=e.view==="messages"?e.agentId:void 0;u.useEffect(()=>{F(!1)},[h]);const z=u.useMemo(()=>vt(l,J,j),[l,J,j]),he=u.useMemo(()=>h?z.filter(t=>Fe(t,h)):z,[z,h]),X=u.useMemo(()=>{const t=o=>pe(k,o)?.updatedAt??0;return z.filter(o=>q(o.id,g)||!Te(o)?!1:pe(k,o)?.status==="needs_attention").sort((o,p)=>t(p)-t(o))},[z,g,k]),Z=u.useMemo(()=>h?X.filter(t=>Fe(t,h)):X,[X,h]),x=u.useMemo(()=>{const t=he.filter(S=>!q(S.id,g)),o=le(he.filter(S=>q(S.id,g))),p=t.filter(S=>O(S.id,g)).sort((S,Y)=>Ee(Y.id,g)-Ee(S.id,g)||(Y.lastMessageAt??0)-(S.lastMessageAt??0)),H=t.filter(S=>!O(S.id,g)),m=H.filter(ye),y=H.filter(Te),$=H.filter(He);return{pinned:p,channels:le(m),dms:le(y),observed:Ut(le($),R,v),archived:o}},[he,R,v,g]),N=u.useMemo(()=>{const t=new Map,o=[];for(const m of x.dms){if(!m.agentId){o.push(m);continue}const y=R.get(m.agentId),$=Ge(y,m.agentId),S=y?[...R.values()].filter(E=>Ge(E,E.id)===$):[],Y=Oe(S)??y,ut=Y?.name??m.agentName??m.agentId.split(".")[0]??m.agentId,L=t.get($);if(L){L.count+=1,L.memberAgentIds.includes(m.agentId)||L.memberAgentIds.push(m.agentId);const E=Oe([L.agent,y].filter(pt=>!!pt));L.agent=E,L.agentId=E?.id??[...L.memberAgentIds].sort()[0],L.name=E?.name??L.name;continue}t.set($,{agentId:Y?.id??m.agentId,agent:Y,name:ut,memberAgentIds:S.length>0?S.map(E=>E.id).sort():[m.agentId],latest:m,count:1})}const p=new Map;for(const m of t.values()){const y=Nt(m.agent),$=p.get(y);$?$.push(m):p.set(y,[m])}for(const m of p.values())m.sort((y,$)=>y.name.localeCompare($.name));return{projects:[...p.keys()].sort((m,y)=>m===_e?1:y===_e?-1:m.localeCompare(y)).map(m=>({label:m,entries:p.get(m)})),unassigned:o}},[x.dms,R]),oe=u.useMemo(()=>C==="sessions"?$t(x.dms,K.groupBy,R,k,Date.now()):[],[C,x.dms,K.groupBy,R,k]),Se=ht(),se=u.useCallback(t=>{M(o=>At(t,o))},[]),ae=u.useCallback(t=>{M(o=>Ct(t,o))},[]),B=u.useCallback(t=>{f(Ue(t.id)),n({view:"messages",conversationId:t.id,...j?{machineId:j}:{}})},[n,j]),tt=u.useCallback(t=>{n({view:"messages",agentId:t,...j?{machineId:j}:{}})},[n,j]),nt=u.useCallback(t=>{if(f(Ue(t.id)),t.agentId){n({view:"messages",agentId:t.agentId,threadId:t.id,...j?{machineId:j}:{}});return}n({view:"messages",conversationId:t.id,...j?{machineId:j}:{}})},[n,j]),V=u.useCallback((t,o)=>{const p=O(o.id,g),H=q(o.id,g),m=_(o);Se(t,[{kind:"action",label:"Open",onSelect:()=>B(o)},{kind:"separator"},{kind:"action",label:p?"Unpin":"Pin to top",onSelect:()=>se(o.id)},{kind:"action",label:H?"Unarchive":"Archive",onSelect:()=>ae(o.id)},{kind:"separator"},{kind:"action",label:"Copy name",onSelect:()=>{navigator.clipboard?.writeText(m).catch(()=>{})}}])},[g,B,se,ae,Se]),ot=t=>{P(o=>{const p=new Set(o);return p.has(t)?p.delete(t):p.add(t),p})},st=c.status==="offline"||ft(i),ke=u.useRef(null),Me=u.useRef(null),at=bt(),it=xt(()=>ke.current);wt(u.useCallback(()=>Me.current,[]));const fe=x.pinned.length,be=x.channels.length,rt=C==="agents"?N.projects.reduce((t,o)=>t+o.entries.length,0)+N.unassigned.length:oe.reduce((t,o)=>t+o.sessions.length,0),we=x.observed.reduce((t,o)=>t+o.conversations.length,0),ie=x.archived.length,Ne=fe+be+rt+we+ie,ct=I||!!h,xe=u.useMemo(()=>{const t=[];for(const o of Z)t.push({rowId:`ny-${o.id}`,id:o.id});for(const o of x.pinned)t.push({rowId:`pin-${o.id}`,id:o.id});if(C==="agents"){for(const o of N.projects)for(const p of o.entries)t.push({rowId:`agent-${p.agentId}`,id:`agent-${p.agentId}`});for(const o of N.unassigned)t.push({rowId:o.id,id:o.id})}else for(const o of oe)for(const p of o.sessions)t.push({rowId:p.id,id:p.id});for(const o of x.channels)t.push({rowId:o.id,id:o.id});for(const o of x.observed)for(const p of o.conversations)t.push({rowId:p.id,id:p.id});for(const o of x.archived)t.push({rowId:`arch-${o.id}`,id:o.id});return t},[Z,x,C,N,oe]),lt=e.view==="messages"?e.threadId:void 0,$e=u.useMemo(()=>{if(W){for(const t of N.projects)for(const o of t.entries)if(o.agentId===W||o.memberAgentIds.includes(W))return o.agentId;return W}},[W,N]),re=ve??(C==="sessions"?lt:void 0)??($e?`agent-${$e}`:void 0),T=u.useMemo(()=>({activeId:re,activeRowId:re?xe.find(t=>t.id===re)?.rowId:void 0,firstRowId:xe[0]?.rowId}),[re,xe]),Le=D||h?x.observed:x.observed.slice(0,Dt),Pe=Math.max(0,x.observed.length-Le.length),dt=t=>!!(h||b.has(t.key)||ve&&t.conversations.some(o=>o.id===ve)),ee=t=>a.jsx(je,{pinned:O(t.id,g),archived:q(t.id,g),onTogglePin:()=>se(t.id),onToggleArchive:()=>ae(t.id)});return a.jsxs("div",{className:"ctx-panel",children:[a.jsxs("div",{className:"ctx-panel-toolbar",children:[a.jsx("input",{ref:Me,type:"text",className:"ctx-panel-search-input",placeholder:"Filter… (/)",value:h,onChange:t=>A(t.target.value),onKeyDown:it}),X.length>0&&a.jsx("span",{className:"ctx-panel-rail-stat",title:"Asks waiting on your reply",children:Qt(X.length)})]}),a.jsxs("div",{className:"ctx-panel-viewtoggle",role:"tablist","aria-label":"Rail view",children:[a.jsx("button",{type:"button",role:"tab","aria-selected":C==="agents",className:`ctx-panel-viewtab${C==="agents"?" ctx-panel-viewtab--on":""}`,onClick:()=>Re("agents"),children:"Agents"}),a.jsx("button",{type:"button",role:"tab","aria-selected":C==="sessions",className:`ctx-panel-viewtab${C==="sessions"?" ctx-panel-viewtab--on":""}`,onClick:()=>Re("sessions"),children:"Sessions"})]}),a.jsx("div",{ref:ke,className:["ctx-panel-list","ctx-panel-list--scroll",Ne===0&&"ctx-panel-list--empty"].filter(Boolean).join(" "),onKeyDown:at,children:Ne===0?a.jsx(qt,{query:h,loading:d,error:i,apiOffline:st,onRetry:()=>{w(!0)}}):a.jsxs(a.Fragment,{children:[Z.length>0&&a.jsx(U,{label:"Needs you",count:Z.length,hint:"Asks waiting on your reply",children:Z.map(t=>a.jsx(G,{rowId:`ny-${t.id}`,session:t,nav:T,agentById:R,asksByAgent:k,onSelect:B,onContextMenu:V},`ny-${t.id}`))}),fe>0&&a.jsx(U,{label:"Pinned",count:fe,hint:"Pinned conversations",children:x.pinned.map(t=>a.jsx(G,{rowId:`pin-${t.id}`,session:t,nav:T,agentById:R,asksByAgent:k,pinned:!0,actions:ee(t),onSelect:B,onContextMenu:V},`pin-${t.id}`))}),C==="agents"&&N.projects.map(t=>a.jsx(U,{label:t.label,count:t.entries.length,children:t.entries.map(o=>a.jsx(Kt,{entry:o,nav:T,ask:Mt(k,o.memberAgentIds),onSelect:tt},o.agentId))},t.label)),C==="agents"&&N.unassigned.length>0&&a.jsx(U,{label:"Direct",count:N.unassigned.length,hint:"Conversations without a resolved agent",children:N.unassigned.map(t=>a.jsx(G,{rowId:t.id,session:t,nav:T,agentById:R,asksByAgent:k,actions:ee(t),onSelect:B,onContextMenu:V},t.id))}),C==="sessions"&&a.jsxs("div",{className:"ctx-panel-groupbar",role:"radiogroup","aria-label":"Group sessions by",children:[a.jsx("span",{className:"ctx-panel-groupbar-label",children:"Group"}),Ft.map(([t,o])=>a.jsx("button",{type:"button",role:"radio","aria-checked":K.groupBy===t,className:`ctx-panel-groupchip${K.groupBy===t?" ctx-panel-groupchip--on":""}`,onClick:()=>et(t),children:o},t))]}),C==="sessions"&&oe.map(t=>a.jsx(U,{label:t.label,count:t.sessions.length,children:t.sessions.map(o=>a.jsx(G,{rowId:o.id,session:o,nav:T,agentById:R,asksByAgent:k,taskTitled:!0,actions:ee(o),onSelect:nt,onContextMenu:V},o.id))},t.label)),be>0&&a.jsx(U,{label:"Channels",count:be,children:x.channels.map(t=>a.jsx(G,{rowId:t.id,session:t,nav:T,agentById:R,asksByAgent:k,actions:ee(t),onSelect:B,onContextMenu:V},t.id))}),we>0&&a.jsxs(U,{label:"Observed",count:we,hint:"Agent conversations you’re not in",open:ct,onToggle:()=>r(t=>!t),children:[Le.map(t=>a.jsx(Vt,{group:t,isOpen:dt(t),nav:T,agentById:R,asksByAgent:k,prefs:g,observed:!0,onToggle:()=>ot(t.key),onSelect:B,onTogglePin:se,onToggleArchive:ae,onContextMenu:V},t.key)),Pe>0?a.jsxs("button",{type:"button",className:"ctx-panel-more",onClick:()=>F(!0),children:["+ ",Pe," more observed"]}):null]}),ie>0&&a.jsxs(U,{label:"Archived",count:ie,hint:"Hidden from the main rail",children:[a.jsx("button",{type:"button",className:"ctx-panel-more",onClick:()=>ge(t=>!t),children:Q?"▾ hide archived":`› show ${ie} archived`}),Q?x.archived.map(t=>a.jsx(G,{rowId:`arch-${t.id}`,session:t,nav:T,agentById:R,asksByAgent:k,actions:ee(t),onSelect:B,onContextMenu:V},`arch-${t.id}`)):null]})]})})]})}function U({label:e,count:n,hint:s,open:c,onToggle:l,children:d}){return l?a.jsxs("section",{className:"ctx-panel-rail-section","aria-label":e,children:[a.jsxs("button",{type:"button",className:"ctx-panel-section-label ctx-panel-section-toggle",title:s,"aria-expanded":!!c,onClick:l,children:[a.jsxs("span",{className:"ctx-panel-section-toggle-label",children:[a.jsx("span",{className:"ctx-panel-section-chevron","aria-hidden":!0,children:c?"▾":"▸"}),e]}),a.jsx("span",{className:"ctx-panel-count",children:n})]}),c?a.jsx("div",{className:"ctx-panel-rail-section-body",children:d}):null]}):a.jsxs("section",{className:"ctx-panel-rail-section","aria-label":e,children:[a.jsxs("div",{className:"ctx-panel-section-label",title:s,children:[a.jsx("span",{children:e}),a.jsx("span",{className:"ctx-panel-count",children:n})]}),a.jsx("div",{className:"ctx-panel-rail-section-body",children:d})]})}function je({pinned:e,archived:n,onTogglePin:s,onToggleArchive:c}){return a.jsxs(a.Fragment,{children:[a.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:l=>{l.stopPropagation(),s()},children:e?"Unpin":"Pin"}),a.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:l=>{l.stopPropagation(),c()},children:n?"Restore":"Archive"})]})}function G({session:e,rowId:n,nav:s,agentById:c,asksByAgent:l,pinned:d,depth:i,actions:w,worktreeLabel:v,taskTitled:f,onSelect:g,onContextMenu:M}){const h=e.id===s.activeId,A=f?Lt(e):_(e),b=ye(e),P=He(e),I=e.agentId?c.get(e.agentId):void 0,r=pe(l,e),D=!b&&!P&&r?.status==="needs_attention",F=Ve(e,I),Q=I?.name??e.agentName??void 0,ge=b?`${e.participantCount??e.participantIds.length} members`:f?Q?.toLowerCase()===A.toLowerCase()?void 0:Q:F.toLowerCase()===A.toLowerCase()?void 0:F,K=!b&&!f&&r?Ze(e,I,r):ge;return a.jsx(Ae,{depth:i,name:i===1?Ke(e,I,r):A,sub:i===1?Ve(e,I):K,meta:r?te(r.updatedAt):e.lastMessageAt?te(e.lastMessageAt):void 0,tone:b?"channel":r?Xe(I,r):I?me(I.state):"dm",agent:b?void 0:I,avatarName:i===1?I?.name??Ke(e,I,r):f?Q??A:A,avatarKind:b?"channel":"user",active:h,unread:D,pinned:d,activityLabel:r?Ce(r):void 0,activityTone:r?ze(r):void 0,worktreeLabel:v??void 0,title:i===1?Ht(e,I,r):void 0,actions:w,tabIndex:Qe(n===s.activeRowId,s.activeRowId!==void 0,n===s.firstRowId),onClick:()=>g(e),onContextMenu:M?ne=>M(ne,e):void 0})}function Kt({entry:e,nav:n,ask:s,onSelect:c}){const l=`agent-${e.agentId}`,d=e.agent,i=s?te(s.updatedAt):e.latest.lastMessageAt?te(e.latest.lastMessageAt):void 0;return a.jsx(Ae,{name:e.name,sub:s?Ze(e.latest,d,s):void 0,meta:e.count>1?i?`${e.count} · ${i}`:`${e.count}`:i,tone:s?Xe(d,s):d?me(d.state):"dm",agent:d,avatarName:e.name,avatarKind:"user",active:l===n.activeId,unread:s?.status==="needs_attention",activityLabel:s?Ce(s):void 0,activityTone:s?ze(s):void 0,tabIndex:Qe(l===n.activeRowId,n.activeRowId!==void 0,l===n.firstRowId),onClick:()=>c(e.agentId)})}function Vt({group:e,isOpen:n,nav:s,agentById:c,asksByAgent:l,prefs:d,observed:i,onToggle:w,onSelect:v,onTogglePin:f,onToggleArchive:g,onContextMenu:M}){if(e.conversations.length===1){const r=e.conversations[0];return a.jsx(G,{rowId:r.id,session:r,nav:s,agentById:c,asksByAgent:l,pinned:O(r.id,d),actions:a.jsx(je,{pinned:O(r.id,d),archived:q(r.id,d),onTogglePin:()=>f(r.id),onToggleArchive:()=>g(r.id)}),onSelect:v,onContextMenu:M})}const h=e.conversations.map(r=>pe(l,r)).filter(r=>!!r),A=h.length,b=h.filter(r=>r.status==="working").length,P=h.filter(r=>r.status==="needs_attention").length,I=e.conversations.some(r=>r.id===s.activeId);return a.jsxs("div",{children:[a.jsx(Ae,{name:e.label,meta:A>0?`${A} active · ${qe(e)}`:qe(e),tone:b>0?"in_turn":e.bestState,caret:n?"open":"closed",active:I&&!n,unread:!i&&P>0&&!n,activityLabel:A>0?`${A} active`:void 0,activityTone:P>0?"attention":b>0?"working":"pending",onClick:w}),n&&e.conversations.map(r=>{const D=r.agentId?c.get(r.agentId):void 0,F=e.canonicalRoot&&D?.projectRoot&&D.projectRoot!==e.canonicalRoot?Je(D.projectRoot):null;return a.jsx(G,{rowId:r.id,session:r,depth:1,nav:s,agentById:c,asksByAgent:l,pinned:O(r.id,d),worktreeLabel:F,actions:a.jsx(je,{pinned:O(r.id,d),archived:q(r.id,d),onTogglePin:()=>f(r.id),onToggleArchive:()=>g(r.id)}),onSelect:v,onContextMenu:M},r.id)})]},e.key)}function qt({query:e,loading:n,error:s,apiOffline:c,onRetry:l}){const d=e.trim().length>0,i=n?"Loading conversations":c?"Scout server offline":s?"Couldn't load conversations":d?"No matching conversations":"No conversations yet",w=n?"Checking the broker for your conversations, channels, and observed threads.":c?"Start or restart Scout services, then retry.":s||(d?"Try a shorter filter.":"Your conversations, channels, and observed agent threads will show here.");return a.jsxs("div",{className:"ctx-panel-empty-card","data-tone":c||s?"error":"neutral",children:[a.jsx("div",{className:"ctx-panel-empty-card-title",children:i}),a.jsx("div",{className:"ctx-panel-empty-card-detail",children:w}),(c||s)&&a.jsx("button",{type:"button",className:"ctx-panel-empty-card-action",onClick:l,children:"Retry"})]})}function Fe(e,n){const s=n.toLowerCase();return _(e).toLowerCase().includes(s)||e.id.toLowerCase().includes(s)||(e.preview??"").toLowerCase().includes(s)||(e.agentName??"").toLowerCase().includes(s)}function Qt(e){return e===1?"1 needs a reply":`${e} need a reply`}function Ce(e){return e.status==="queued"?"Starting":e.status==="working"?"Working":e.status==="needs_attention"?"Needs you":e.statusLabel||e.status}function ze(e){return e.status==="queued"?"pending":e.status==="needs_attention"?"attention":"working"}function Xe(e,n){return n.status==="working"?"in_turn":e?me(e.state):"dm"}function Ze(e,n,s){const c=Ce(s),l=ue(s.task)??ue(s.summary)??ue(e.preview)??e.currentBranch??n?.branch??"";return l?`${c} · ${l}`:c}function le(e){return[...e].sort((n,s)=>(s.lastMessageAt??0)-(n.lastMessageAt??0))}function Ke(e,n,s){const c=s?.task??ue(e.preview)??e.currentBranch??n?.branch??"",l=n?.name??e.agentName??_(e);return c?`${l} · ${c}`:l}function Ht(e,n,s){const c=[];return s&&c.push(`task: ${s.task}`),e.preview&&c.push(`preview: ${Ye(e.preview)}`),(e.currentBranch??n?.branch)&&c.push(`branch: ${e.currentBranch??n?.branch}`),n?.harness&&c.push(`harness: ${n.harness}`),c.length>0?c.join(`
2
- `):void 0}function Ve(e,n){if(ye(e))return jt(e);const s=n?.handle?.trim().replace(/^@+/,"");return s||(e.agentId?e.agentId.split(".")[0]??e.agentId:_(e))}function ue(e){if(!e)return null;const n=Ye(e).replace(/\s+/g," ").trim();return n?n.length>60?`${n.slice(0,57)}…`:n:null}function qe(e){const n=e.latestUpdate?te(e.latestUpdate):"",s=`${e.conversations.length}`;return n?`${s} · ${n}`:s}export{Kn as ChatLeft};
@@ -1,2 +0,0 @@
1
- import{r,j as e}from"./index-C1VaWNuD.js";/* empty css */import{n as k}from"./colors-BtO5_zlx.js";import{p as C,a as L}from"./api-Co9aQ2Jw.js";import{u as F,m as $,i as D,l as H}from"./Provider-D0bB7q6y.js";import{b as O}from"./router-kfcaYqZr.js";import{d as B,r as G}from"./operator-attention-RqieiSY8.js";import{u as K}from"./sse-B29iGBnw.js";import{t as f}from"./time-Dhsh_2EG.js";import{o as P}from"./openAgent-Dbv5wfuL.js";import{R as g}from"./RailRow-B88JVr62.js";import"./perf-PX8Rx0EP.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-D7kGGyK_.js";import"./NewChatComposer-D2Ah4T-W.js";import"./runtime-picker-C20lTGhV.js";import"./scout-voice-Cg1qfepC.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DmUG_YC7.js";import"./createLucideIcon-Dv8H8m7J.js";import"./conversation-model-C2KuZUXc.js";import"./index-Cx6Gbr6n.js";import"./HarnessMark-DttReffF.js";import"./NewChatOrigin-DCn5cWPZ.js";import"./keyboard-nav-B8sQ_8IF.js";import"./x-DgmmnPKt.js";import"./chevron-down-D120PY4g.js";import"./search-FB2vVxCp.js";import"./file-text-BHro8MkG.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-D8iB6SMt.js";import"./TextDocumentSurface-2X1Gw4eA.js";import"./chevron-right-CowuvuE6.js";import"./code-xml-CkkNdRmu.js";import"./arrow-left-eToA6GxC.js";import"./arrow-right-DTX42clh.js";import"./chunk-HRAB3GC3-KjjrTLCU.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";import"./index-BWHgHrtv.js";import"./openContent-C6XO6kr5.js";import"./AgentAvatar-Dz79iTxB.js";import"./SpriteAvatar-DFO4Kb4Z.js";import"./CrewAvatar-CZ_faQ_s.js";const U=new Set(["message.posted","flight.updated","collaboration.event.appended","agent.updated"]),V=4,z=4,X=3,N="/api/fleet",Y=3e4;function zt({prepend:t}){const{agents:o,agentsLoaded:a,navigate:c,route:n}=F(),[i]=r.useState(()=>C(N,Y)),[l,y]=r.useState(i),[A,T]=r.useState(i!==null),[j,b]=r.useState(()=>new Set),p=O(n),S=r.useMemo(()=>$(o,p),[o,p]),m=r.useMemo(()=>D(o,p),[o,p]),u=r.useMemo(()=>H(l,S),[l,S]),d=r.useCallback(async()=>{try{y(await L(N))}catch{}finally{T(!0)}},[]);r.useEffect(()=>{d()},[d]),K(s=>{U.has(s.kind)&&d()});const w=r.useMemo(()=>Z(m).slice(0,V),[m]),R=r.useMemo(()=>(u?.activity??[]).slice(0,z),[u]),_=r.useMemo(()=>(u?.needsAttention??[]).filter(s=>!j.has(s.recordId)).slice(0,X),[u,j]),M=r.useCallback(async s=>{b(h=>new Set(h).add(s.recordId));try{await B({recordKind:s.kind,recordId:s.recordId,itemUpdatedAt:s.updatedAt})}catch{b(h=>{const I=new Set(h);return I.delete(s.recordId),I});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:w,totalCount:m.length,loading:!a,onSelect:s=>P(c,s,{returnTo:n}),onSeeAll:()=>c({view:"agents-v2"})}),e.jsx(Q,{items:R,loading:!A,onSelect:s=>c(tt(s)),onSeeAll:()=>c({view:"activity"})}),e.jsx(W,{items:_,loading:!A,onSelect:s=>c(G(s)),onDismiss:s=>{M(s)}})]})}function q({agents:t,totalCount:o,loading:a,onSelect:c,onSeeAll:n}){return e.jsxs("section",{className:"ctx-panel-section base-rail-section",children:[e.jsx(x,{title:"Recent agents",onSeeAll:o>0?n:void 0}),a?e.jsx(v,{}):t.length===0?e.jsx("div",{className:"ctx-panel-empty",children:"No agents yet"}):t.map(i=>e.jsx(g,{name:i.name||i.id,meta:i.updatedAt?f(i.updatedAt):void 0,tone:k(i.state),title:J(i),onClick:()=>c(i)},i.id))]})}function J(t){const o=[];return t.project&&o.push(`project: ${t.project}`),t.branch&&o.push(`branch: ${t.branch}`),t.harness&&o.push(`harness: ${t.harness}`),o.join(`
2
- `)}function Q({items:t,loading:o,onSelect:a,onSeeAll:c}){return e.jsxs("section",{className:"ctx-panel-section base-rail-section",children:[e.jsx(x,{title:"Recent Scout coordination",meta:(t.length>0,void 0),onSeeAll:t.length>0?c:void 0}),o?e.jsx(v,{}):t.length===0?e.jsx("div",{className:"ctx-panel-empty",children:"No recent Scout messages or dispatches"}):t.map(n=>{const i=n.actorName??n.agentName??n.agentId??"system",l=n.title??n.summary??E(n.kind);return e.jsx(g,{name:l,meta:n.ts?f(n.ts):void 0,tone:"neutral",title:`${i} · ${E(n.kind)}`,onClick:()=>a(n)},n.id)})]})}function W({items:t,loading:o,onSelect:a,onDismiss:c}){return!o&&t.length===0?null:e.jsxs("section",{className:"ctx-panel-section base-rail-section",children:[e.jsx(x,{title:"Needs attention",meta:t.length>0?`${t.length}`:void 0}),o?e.jsx(v,{rows:2}):t.map(n=>{const i=n.agentName??n.agentId??"operator";return e.jsx(g,{name:n.title,meta:f(n.updatedAt),tone:"in_turn",unread:!0,title:`${i} · ${n.kind}`,onClick:()=>a(n),actions:e.jsx("button",{type:"button",className:"rr-row-action",title:"Dismiss — stop asking until this changes","aria-label":"Dismiss",onClick:l=>{l.stopPropagation(),c(n)},children:"Dismiss"})},n.recordId)})]})}function v({rows:t=3}){return e.jsx("div",{className:"base-rail-loading",role:"status","aria-label":"Loading",children:Array.from({length:t},(o,a)=>e.jsx("span",{"aria-hidden":"true"},a))})}function x({title:t,meta:o,onSeeAll:a}){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:[o?e.jsx("span",{className:"ctx-panel-count",children:o}):null,a?e.jsx("button",{type:"button",className:"base-rail-see-all",onClick:a,children:"all"}):null]})]})}function Z(t){return[...t].sort((o,a)=>(a.updatedAt??0)-(o.updatedAt??0))}function E(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 tt(t){return t.conversationId?{view:"conversation",conversationId:t.conversationId}:t.agentId?{view:"agents-v2",agentId:t.agentId}:{view:"activity"}}export{zt as HomeLeft};
@@ -1 +0,0 @@
1
- import{r as m,j as t}from"./index-C1VaWNuD.js";import{u as re,L as z}from"./chunk-YOZR3KYS-CrCgXw9l.js";import{a as le,f as oe,b as ce,c as me,d as de,s as ue}from"./terminal-sessions-Bdt2W3Y4.js";import{a as ve,b as pe,r as G,m as he}from"./keyboard-nav-B8sQ_8IF.js";import{u as be}from"./Provider-D0bB7q6y.js";import{c as fe}from"./colors-BtO5_zlx.js";import{r as P,c as xe}from"./terminal-relay-CXHMdain.js";import{t as ye,a as q,s as je,b as y,P as ge}from"./session-table-uJh3v-ly.js";/* empty css */import{R as ke}from"./refresh-cw-Bkh7Cvnd.js";import{A as Ne}from"./activity-CzTJ-YMX.js";import{C as we}from"./clock-_9FDplIT.js";import{F as Se}from"./DocumentFocusViewer-D8iB6SMt.js";import{L as Ae}from"./layers-CW2-qHsG.js";import{C as Ie}from"./chevron-right-CowuvuE6.js";import{E as U}from"./eye-C9cGk5z6.js";import{T as Ee}from"./terminal-UDy4lzV1.js";import"./createLucideIcon-Dv8H8m7J.js";import"./arrow-down-BAGkhHA6.js";import"./api-Co9aQ2Jw.js";import"./perf-PX8Rx0EP.js";import"./router-kfcaYqZr.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./sse-B29iGBnw.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-D7kGGyK_.js";import"./NewChatComposer-D2Ah4T-W.js";import"./runtime-picker-C20lTGhV.js";import"./scout-voice-Cg1qfepC.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DmUG_YC7.js";import"./conversation-model-C2KuZUXc.js";import"./time-Dhsh_2EG.js";import"./index-Cx6Gbr6n.js";import"./HarnessMark-DttReffF.js";import"./NewChatOrigin-DCn5cWPZ.js";import"./x-DgmmnPKt.js";import"./chevron-down-D120PY4g.js";import"./search-FB2vVxCp.js";import"./file-text-BHro8MkG.js";import"./model-CBkMvT1w.js";import"./TextDocumentSurface-2X1Gw4eA.js";import"./code-xml-CkkNdRmu.js";import"./arrow-left-eToA6GxC.js";import"./arrow-right-DTX42clh.js";import"./chunk-HRAB3GC3-KjjrTLCU.js";const Te=[{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"}],Ce=[{id:"herdr",label:"Herdr"},{id:"tmux-named",label:"Tmux"},{id:"tmux-auto",label:"Tmux · auto"},{id:"external",label:"Background"}],Re=900*1e3,Me=1440*60*1e3,Le=10080*60*1e3,V=[{key:"now",label:"Now",maxAgeMs:Re},{key:"today",label:"Today",maxAgeMs:Me},{key:"week",label:"This week",maxAgeMs:Le},{key:"older",label:"Older",maxAgeMs:null},{key:"unknown",label:"Unknown",maxAgeMs:null}],$e=[{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 _e(a){return Ce.map(n=>({key:n.id,label:n.label,items:a.filter(l=>le(l)===n.id)})).filter(n=>n.items.length>0)}function Oe(a){const n=new Map;for(const i of a){const o=n.get(i.project);o?o.push(i):n.set(i.project,[i])}const l=new Set(["backend-only","unscoped"]),r=[...n.entries()].map(([i,o])=>({key:`project:${i}`,label:i,items:o,latestActivity:Math.max(...o.map(d=>q(d)??0)),isCatchAll:l.has(i)}));return r.sort((i,o)=>i.isCatchAll!==o.isCatchAll?i.isCatchAll?1:-1:i.latestActivity!==o.latestActivity?o.latestActivity-i.latestActivity:i.label.localeCompare(o.label,void 0,{numeric:!0,sensitivity:"base"})),r.map(({key:i,label:o,items:d})=>({key:i,label:o,items:d}))}function Fe(a,n){const l=r=>{const i=q(r);if(i===null)return"unknown";const o=Math.max(0,n-i);for(const d of V)if(d.maxAgeMs!==null&&o<d.maxAgeMs)return d.key;return"older"};return V.map(r=>({key:r.key,label:r.label,items:a.filter(i=>l(i)===r.key)})).filter(r=>r.items.length>0)}function Ke(a){return $e.map(n=>({key:n.key,label:n.label,items:a.filter(l=>ye(l)===n.rank)})).filter(n=>n.items.length>0)}function Be(a,n,l=Date.now()){switch(n){case"fleet":return _e(a);case"places":return Oe(a);case"time":return Fe(a,l);case"attention":return Ke(a)}}const De=8e3,We=[{id:"recent",label:"Recent"},{id:"name",label:"A–Z"}],ze={fleet:Ae,places:Se,time:we,attention:Ne};function Dt(){const{route:a,navigate:n,agents:l}=be(),[r,i]=m.useState({state:"loading",sessions:[]}),[o,d]=m.useState(""),[f,Q]=m.useState("recent"),[A,Y]=re("terminal-nav-mode","fleet"),[Z,J]=m.useState(!1),[X,M]=m.useState(null),[L,$]=m.useState(null),_=m.useRef(null),O=m.useRef(null),ee=ve(),te=he(()=>O.current);pe(m.useCallback(()=>_.current,[]));const x=m.useCallback((e={})=>{e.silent||i(s=>({state:"loading",sessions:s.sessions})),oe({includeDiscovered:!0}).then(s=>{i({state:"ready",sessions:s})}).catch(s=>{e.silent||i(c=>({state:"failed",sessions:c.sessions,error:s instanceof Error?s.message:String(s)}))})},[]);m.useEffect(()=>{x()},[x]),m.useEffect(()=>{const e=()=>{document.visibilityState==="visible"&&x({silent:!0})},s=window.setInterval(e,De);return window.addEventListener("focus",e),document.addEventListener("visibilitychange",e),()=>{window.clearInterval(s),window.removeEventListener("focus",e),document.removeEventListener("visibilitychange",e)}},[x]);const k=m.useMemo(()=>ce(r.sessions),[r.sessions]),p=m.useMemo(()=>je(me(k),f==="recent"?{column:"activity",direction:"desc"}:{column:"name",direction:"asc"}),[f,k]),j=m.useMemo(()=>Ge(l,f).filter(e=>{const s=P(e);return s?!k.some(c=>c.surface.backend===s.backend&&c.surface.sessionName===s.sessionName&&(s.paneId==null||c.surface.paneId===s.paneId)):!0}),[l,k,f]),u=o.trim().toLowerCase(),g=u?p.filter(e=>e.searchable.includes(u)):p,N=g.filter(e=>y(e)==="current"),ae=Be(N,A),w=g.filter(e=>y(e)==="inactive"),h=g.filter(e=>y(e)==="review"),F=u?w.length+h.length:p.filter(e=>y(e)!=="current").length,K=u?h.length:p.filter(e=>y(e)==="review").length,S=Z||!!u,v=u?j.filter(e=>Ue(e).includes(u)):j,ne=a.view==="terminal"?a.terminalSurfaceKey??null:null,B=a.view==="terminal"?a.terminalSessionId??null:null,I=e=>de(e.key,ne)&&(!B||e.session.id===B),E=a.view==="terminal"&&a.agentId?`agent:${a.agentId}`:null,D=!!(N.some(I)||S&&[...w,...h].some(I)||E!=null&&v.some(e=>`agent:${e.id}`===E)),W=N[0]?.id??(S?w[0]?.id??h[0]?.id:void 0)??(v[0]?`agent:${v[0].id}`:void 0),se=r.state==="loading"?"Syncing":u?`${g.length+v.length}/${p.length+j.length}`:`${p.length+j.length} targets`,T=(e,s)=>({view:"terminal",terminalSessionId:e.session.id,terminalSurfaceKey:ue(e.surface),...s?{mode:s}:{}}),C=(e,s="takeover")=>({view:"terminal",agentId:e.id,mode:s}),ie=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.`)){M(e.id),$(null);try{await xe({backend:"tmux",sessionName:e.surface.sessionName,paneId:e.surface.paneId??null,socketDir:e.surface.socketDir??null},"release"),x({silent:!0})}catch(s){$(s instanceof Error?s.message:String(s))}finally{M(null)}}},R=e=>{const s=I(e),c=y(e),b=X===e.id;return t.jsxs("div",{className:`terminal-nav-row${s?" 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:G(s,D,e.id===W),onClick:()=>n(T(e)),children:[t.jsx(Ee,{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${a.view==="terminal"&&s&&a.mode==="takeover"?" terminal-nav-action--selected":""}`,onClick:()=>n(T(e,"takeover")),title:"Enter this terminal","aria-label":"Enter this terminal",children:[t.jsx(z,{size:12,strokeWidth:1.8}),t.jsx("span",{children:"Enter"})]}),t.jsxs("button",{type:"button",className:`terminal-nav-action${a.view==="terminal"&&s&&a.mode==="observe"?" terminal-nav-action--selected":""}`,onClick:()=>n(T(e,"observe")),title:"Observe this terminal read-only","aria-label":"Observe this terminal read-only",children:[t.jsx(U,{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:()=>{ie(e)},disabled:b,title:"Release this inactive tmux surface; keep the agent","aria-label":"Release this inactive tmux surface; keep the agent",children:[t.jsx(ge,{size:12,strokeWidth:1.8}),t.jsx("span",{children:b?"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:se})]}),t.jsx("button",{type:"button",className:"terminal-nav-refresh",onClick:()=>x(),disabled:r.state==="loading",title:"Refresh terminals","aria-label":"Refresh terminals",children:t.jsx(ke,{size:14,strokeWidth:1.8})})]}),t.jsx("div",{className:"terminal-nav-modes",role:"group","aria-label":"Group terminals",children:Te.map(e=>{const s=ze[e.id];return t.jsx("button",{type:"button",title:e.title,"aria-label":e.title,"aria-pressed":A===e.id,className:`terminal-nav-mode${A===e.id?" terminal-nav-mode--active":""}`,onClick:()=>Y(e.id),children:t.jsx(s,{size:13,strokeWidth:1.8})},e.id)})}),t.jsxs("div",{className:"ctx-panel-toolbar terminal-nav-toolbar",children:[t.jsx("input",{ref:_,type:"text",className:"ctx-panel-search-input",placeholder:"Search… (/)",value:o,onChange:e=>d(e.target.value),onKeyDown:te}),t.jsx("div",{className:"ctx-panel-sort",role:"group","aria-label":"Sort terminals",children:We.map(e=>t.jsx("button",{type:"button",title:e.id==="recent"?"Sort by most recent":"Sort alphabetically","aria-pressed":f===e.id,className:`ctx-panel-sort-option${f===e.id?" ctx-panel-sort-option--active":""}`,onClick:()=>Q(e.id),children:e.label},e.id))})]}),r.state==="failed"&&t.jsx("div",{className:"terminal-nav-error",children:r.error}),L&&t.jsx("div",{className:"terminal-nav-error",children:L}),t.jsx("div",{ref:O,className:"terminal-nav-list",onKeyDown:ee,children:g.length===0&&v.length===0&&r.state!=="loading"?t.jsx("div",{className:"ctx-panel-empty",children:p.length+j.length===0?"No terminal targets":"No matches"}):t.jsxs(t.Fragment,{children:[ae.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(R)]},e.key)),N.length===0&&r.state!=="loading"&&t.jsx("div",{className:"terminal-nav-empty",children:"No sessions"}),F>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":S,onClick:()=>J(e=>!e),children:[t.jsx(Ie,{size:13,strokeWidth:1.8}),t.jsx("span",{children:"Inactive"}),t.jsx("span",{children:F}),K>0&&t.jsxs("span",{className:"terminal-nav-review-count",children:[K," review"]})]}),S&&t.jsxs(t.Fragment,{children:[w.map(R),h.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:h.length})]}),h.map(R)]})]}),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:v.length})]}),v.map(e=>{const s=`agent:${e.id}`,c=s===E,b=P(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:G(c,D,s===W),onClick:()=>n(C(e)),children:[t.jsx("span",{className:`terminal-nav-agent-dot${b?" 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:Pe(e)})]}),t.jsxs("span",{className:"terminal-nav-badges",children:[t.jsx("span",{className:"terminal-nav-badge terminal-nav-badge--backend",children:b?.backend??e.harness??"agent"}),t.jsx("span",{className:"terminal-nav-badge",children:b?"bound":fe(e.state)})]})]}),t.jsxs("div",{className:"terminal-nav-row-actions",children:[t.jsxs("button",{type:"button",className:`terminal-nav-action${a.view==="terminal"&&c&&a.mode==="takeover"?" terminal-nav-action--selected":""}`,onClick:()=>n(C(e,"takeover")),title:"Enter this agent terminal","aria-label":"Enter this agent terminal",children:[t.jsx(z,{size:12,strokeWidth:1.8}),t.jsx("span",{children:"Enter"})]}),b&&t.jsxs("button",{type:"button",className:`terminal-nav-action${a.view==="terminal"&&c&&a.mode==="observe"?" terminal-nav-action--selected":""}`,onClick:()=>n(C(e,"observe")),title:"Observe this agent terminal read-only","aria-label":"Observe this agent terminal read-only",children:[t.jsx(U,{size:12,strokeWidth:1.8}),t.jsx("span",{children:"Observe"})]})]})]},e.id)}),v.length===0&&t.jsx("div",{className:"terminal-nav-empty",children:"No agents"})]})]})})]})}function Ge(a,n){return[...a].filter(l=>!l.retiredFromFleet&&!l.staleLocalRegistration).sort((l,r)=>{const i=l.name.localeCompare(r.name,void 0,{numeric:!0,sensitivity:"base"});return n==="name"?i||l.id.localeCompare(r.id):(r.updatedAt??0)-(l.updatedAt??0)||i||l.id.localeCompare(r.id)})}function Pe(a){const n=a.project??H(a.cwd)??H(a.projectRoot)??a.definitionId;return[a.handle?`@${a.handle}`:null,a.harness,n,a.branch].filter(Boolean).join(" · ")}function Ue(a){return[a.name,a.handle,a.harness,a.state,a.project,a.branch,a.cwd,a.projectRoot,a.definitionId].filter(Boolean).join(" ").toLowerCase()}function H(a){const n=a?.trim().replace(/\/+$/u,"");return n?n.split("/").pop()||n:null}export{Dt as TerminalLeft};
@@ -1 +0,0 @@
1
- import{r,j as t}from"./index-C1VaWNuD.js";/* empty css */import{d as w,c as S,e as y,f as M,g as A,i as N}from"./NewChatComposer-D2Ah4T-W.js";import{u as k,i as b}from"./Provider-D0bB7q6y.js";import{A as I}from"./AgentAvatar-Dz79iTxB.js";import{a as g}from"./api-Co9aQ2Jw.js";import{b as C}from"./router-kfcaYqZr.js";import{a as B}from"./sse-B29iGBnw.js";import{o as P,i as j}from"./surface-activity-B1rgWB1i.js";import"./runtime-picker-C20lTGhV.js";import"./scout-voice-Cg1qfepC.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DmUG_YC7.js";import"./createLucideIcon-Dv8H8m7J.js";import"./conversation-model-C2KuZUXc.js";import"./colors-BtO5_zlx.js";import"./time-Dhsh_2EG.js";import"./index-Cx6Gbr6n.js";import"./HarnessMark-DttReffF.js";import"./NewChatOrigin-DCn5cWPZ.js";import"./keyboard-nav-B8sQ_8IF.js";import"./x-DgmmnPKt.js";import"./chevron-down-D120PY4g.js";import"./search-FB2vVxCp.js";import"./file-text-BHro8MkG.js";import"./scoutbot-D7kGGyK_.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-D8iB6SMt.js";import"./TextDocumentSurface-2X1Gw4eA.js";import"./chevron-right-CowuvuE6.js";import"./code-xml-CkkNdRmu.js";import"./arrow-left-eToA6GxC.js";import"./arrow-right-DTX42clh.js";import"./chunk-HRAB3GC3-KjjrTLCU.js";import"./SpriteAvatar-DFO4Kb4Z.js";import"./CrewAvatar-CZ_faQ_s.js";import"./perf-PX8Rx0EP.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";import"./index-BWHgHrtv.js";function W(){const{agents:n,route:d}=k(),m=C(d),l=r.useMemo(()=>b(n,m),[n,m]),[u,h]=r.useState([]),[v,s]=r.useState(null),[a,p]=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"&&h(e.value),i.status==="fulfilled"&&s(i.value),o.status==="fulfilled"&&p(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(u),i=l.map(f=>S(f,e.get(f.id)??null,x.get(f.id)??[])),o=y(a,Date.now());return M(i,u,o)},[l,u,x,a])}}function Mt(){const{route:n,navigate:d,openContextCapture:m}=k(),{projects:l}=W(),u=n.view==="agents-v2"?n.projectSlug:void 0,h=n.view==="agents-v2"?n.agentId:void 0,v=u??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=A(s),p=N(s),c=s.slice.slug===v&&!h;return t.jsxs("button",{type:"button",className:"s-rail-proj","data-selected":c||void 0,"data-live":a>0||void 0,"data-needs":p||void 0,title:s.slice.root??void 0,onClick:()=>d({view:"agents-v2",projectSlug:s.slice.slug}),children:[t.jsx(I,{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":p||void 0,title:p?"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{Mt as AgentsLeft};
@@ -1 +0,0 @@
1
- import{j as r}from"./index-C1VaWNuD.js";import{u as o}from"./Provider-D0bB7q6y.js";import{OpsAgentsLeft as i}from"./left-agents-7mJsiNyr.js";import{OpsDefaultLeft as m}from"./left-default-COK26l3H.js";import{OpsLanesLeft as p}from"./left-lanes-Dbdm9Veu.js";import{OpsMissionLeft as s}from"./left-mission-DqGR5jby.js";import{OpsAdvisorLeft as e}from"./left-advisor-CbXVzAqS.js";import"./router-kfcaYqZr.js";import"./perf-PX8Rx0EP.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";import"./api-Co9aQ2Jw.js";import"./sse-B29iGBnw.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-D7kGGyK_.js";import"./NewChatComposer-D2Ah4T-W.js";import"./runtime-picker-C20lTGhV.js";import"./scout-voice-Cg1qfepC.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DmUG_YC7.js";import"./createLucideIcon-Dv8H8m7J.js";import"./conversation-model-C2KuZUXc.js";import"./time-Dhsh_2EG.js";import"./index-Cx6Gbr6n.js";import"./HarnessMark-DttReffF.js";import"./NewChatOrigin-DCn5cWPZ.js";import"./keyboard-nav-B8sQ_8IF.js";import"./x-DgmmnPKt.js";import"./chevron-down-D120PY4g.js";import"./search-FB2vVxCp.js";import"./file-text-BHro8MkG.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-D8iB6SMt.js";import"./TextDocumentSurface-2X1Gw4eA.js";import"./chevron-right-CowuvuE6.js";import"./code-xml-CkkNdRmu.js";import"./arrow-left-eToA6GxC.js";import"./arrow-right-DTX42clh.js";import"./chunk-HRAB3GC3-KjjrTLCU.js";/* empty css */import"./use-fleet-active-asks-CCGrll5q.js";import"./RailRow-B88JVr62.js";import"./AgentAvatar-Dz79iTxB.js";import"./SpriteAvatar-DFO4Kb4Z.js";import"./CrewAvatar-CZ_faQ_s.js";import"./operator-attention-RqieiSY8.js";import"./openContent-C6XO6kr5.js";import"./agent-lanes-model-tc-1hE6q.js";import"./context-budget-DqxWzalx.js";import"./lane-observe-vfyACHi0.js";import"./tail-display-DcliDVkW.js";import"./lane-edit-display-C_Aujldz.js";import"./lane-roster-store-DN2jxXF-.js";import"./mission-control-store-CM8mQGg8.js";import"./MissionLeftAgentRow-CbQm4BLv.js";import"./page-status-BE0-J1xY.js";import"./server-WY6gsbZz.js";import"./layers-CW2-qHsG.js";import"./sparkles-D0vWLTyC.js";import"./activity-CzTJ-YMX.js";import"./cpu-CHFIGw87.js";import"./gauge-DSflSery.js";import"./terminal-UDy4lzV1.js";function gr(){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":return r.jsx(p,{});default:return r.jsx(m,{})}}export{gr as OpsLeft};
@@ -1 +0,0 @@
1
- import{j as e,r as S}from"./index-C1VaWNuD.js";import{u as O,g as q,i as P,j as G,k as C,l as H,c as I,r as w}from"./mesh-view-store-CBM1za_N.js";import{u as Q}from"./Provider-D0bB7q6y.js";import{n as F,a as V}from"./colors-BtO5_zlx.js";import{b as D}from"./mesh-buckets-CLYS8Jx8.js";import{u as J,h as U}from"./use-fleet-active-asks-CCGrll5q.js";import{R as u}from"./RailRow-B88JVr62.js";import{o as W}from"./openAgent-Dbv5wfuL.js";/* empty css */import"./router-kfcaYqZr.js";import"./perf-PX8Rx0EP.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";import"./api-Co9aQ2Jw.js";import"./sse-B29iGBnw.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-D7kGGyK_.js";import"./NewChatComposer-D2Ah4T-W.js";import"./runtime-picker-C20lTGhV.js";import"./scout-voice-Cg1qfepC.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DmUG_YC7.js";import"./createLucideIcon-Dv8H8m7J.js";import"./conversation-model-C2KuZUXc.js";import"./time-Dhsh_2EG.js";import"./index-Cx6Gbr6n.js";import"./HarnessMark-DttReffF.js";import"./NewChatOrigin-DCn5cWPZ.js";import"./keyboard-nav-B8sQ_8IF.js";import"./x-DgmmnPKt.js";import"./chevron-down-D120PY4g.js";import"./search-FB2vVxCp.js";import"./file-text-BHro8MkG.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-D8iB6SMt.js";import"./TextDocumentSurface-2X1Gw4eA.js";import"./chevron-right-CowuvuE6.js";import"./code-xml-CkkNdRmu.js";import"./arrow-left-eToA6GxC.js";import"./arrow-right-DTX42clh.js";import"./chunk-HRAB3GC3-KjjrTLCU.js";import"./AgentAvatar-Dz79iTxB.js";import"./SpriteAvatar-DFO4Kb4Z.js";import"./CrewAvatar-CZ_faQ_s.js";import"./openContent-C6XO6kr5.js";function X({value:o,onChange:c,placeholder:i="Search…",onKeyDown:l}){return e.jsx("input",{type:"search",className:"fleet-search",placeholder:i,value:o,onChange:h=>c(h.target.value),onKeyDown:l,spellCheck:!1,autoCorrect:"off",autoCapitalize:"off"})}const Y=["needs_attention","in_turn","in_flight","callable","blocked"],Z={in_turn:"in turn",in_flight:"in flight",needs_attention:"needs attention",callable:"callable",blocked:"blocked"},ee={in_turn:"working",in_flight:"working",needs_attention:"working",callable:"available",blocked:"offline"};function te({active:o,onToggle:c}){return e.jsx("div",{className:"fleet-pills",role:"group","aria-label":"State filters",children:Y.map(i=>{const l=o.has(i);return e.jsx("button",{type:"button",className:`fleet-pill fleet-pill--${ee[i]}${l?" fleet-pill--on":""}`,onClick:()=>c(i),"aria-pressed":l,children:Z[i]},i)})})}const T=10;function ne(o){return F(o.state)}function _(o){return o.updatedAt??o.createdAt??0}function We(){const{agents:o,navigate:c}=Q(),{meshSnapshot:i,selectedId:l,selectedType:h,query:d,agentStateFilters:g,hiddenMachineIds:f,treeFullMachineIds:b}=O(),L=J(),p=S.useMemo(()=>i?D(o,i):[],[o,i]),y=S.useMemo(()=>{const n=d.trim().toLowerCase();return p.filter(s=>!f.has(s.machineId)).map(s=>{const t=s.agents.filter(r=>g.has(ne(r))?n?`${r.name??""} ${r.project??""} ${r.branch??""} ${r.harness??""}`.toLowerCase().includes(n):!0:!1);return{...s,agents:t}})},[p,d,g,f]),v=S.useMemo(()=>{const n=new Map([["this",[]],["peer",[]],["tailnet",[]]]);for(const s of y){const t=s.reachability==="this"?"this":s.reachability==="peer"?"peer":"tailnet";n.get(t)?.push(s)}return n},[y]);if(!i)return e.jsx("div",{className:"ctx-panel ctx-panel--empty",children:e.jsx("div",{className:"ctx-panel-empty-state",children:e.jsx("div",{className:"ctx-panel-empty-hint",children:"Loading mesh…"})})});const $=n=>{const s=p.map(t=>t.machineId);H(n,s),I(n,"node"),w(n)},x=f.size,j=p.length,E=n=>{I(n.id,"agent");const s=n.authorityNodeId??n.homeNodeId;s&&w(s),W(c,n,{returnTo:{view:"mesh"}})},k=(n,s)=>s.length===0?null:e.jsxs("section",{className:"mesh-nav-group",children:[e.jsx("div",{className:"mesh-nav-group-label",children:n}),s.map(t=>{const r=b.has(t.machineId),m=[...t.agents].sort((a,A)=>_(A)-_(a)),M=r?m:m.slice(0,T),N=m.length-M.length,B=l===t.machineId&&h==="node",R=t.agents.filter(a=>V(a.state)).length,z=t.agents.length>0?`${R}/${t.agents.length}`:t.online?"—":"not ready";return e.jsxs("div",{className:"mesh-nav-machine",children:[e.jsx(u,{name:t.machineLabel,meta:z,tone:"neutral",active:B,onClick:()=>$(t.machineId),title:`Focus ${t.machineLabel} on the map`}),M.map(a=>{const A=l===a.id&&h==="agent",K=U(L,a.id);return e.jsx(u,{name:a.name,tone:F(a.state),depth:1,active:A,unread:K,onClick:()=>E(a),title:a.name},a.id)}),!r&&N>0&&e.jsx(u,{name:`see ${N} more`,depth:1,tone:"neutral",onClick:()=>C(t.machineId),title:"Show all agents on this machine"}),r&&m.length>T&&e.jsx(u,{name:"see less",depth:1,tone:"neutral",onClick:()=>C(t.machineId),title:"Show recent agents only"})]},t.machineId)})]},n);return e.jsxs("div",{className:"ctx-panel mesh-nav",children:[e.jsxs("div",{className:"mesh-nav-head",children:[e.jsx(X,{value:d,onChange:q,placeholder:"Find machines or agents…"}),e.jsx(te,{active:g,onToggle:P}),x>0&&x<j&&e.jsxs("button",{type:"button",className:"mesh-nav-focus-chip",onClick:G,title:"Show all machines",children:[e.jsxs("span",{className:"mesh-nav-focus-chip-label",children:["focused · ",j-x,"/",j]}),e.jsx("span",{className:"mesh-nav-focus-chip-clear","aria-hidden":!0,children:"×"})]})]}),e.jsxs("div",{className:"mesh-nav-tree",children:[k("this host",v.get("this")??[]),k("peers",v.get("peer")??[]),k("tailnet",v.get("tailnet")??[])]})]})}export{We as MeshLeft};
@@ -1 +0,0 @@
1
- import{r as N,j as e}from"./index-C1VaWNuD.js";import{a as I}from"./api-Co9aQ2Jw.js";import{b as L,c as j,s as R}from"./router-kfcaYqZr.js";import{u as $,r as y,s as b,i as C}from"./mesh-ops-CKSWgax2.js";import{u as E,s as T}from"./mesh-view-store-CBM1za_N.js";import{u as A}from"./Provider-D0bB7q6y.js";import{R as h}from"./RailRow-B88JVr62.js";import{u as U}from"./use-mesh-ops-items-BjyeFJTz.js";/* empty css */import"./perf-PX8Rx0EP.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";import"./sse-B29iGBnw.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-D7kGGyK_.js";import"./NewChatComposer-D2Ah4T-W.js";import"./runtime-picker-C20lTGhV.js";import"./scout-voice-Cg1qfepC.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DmUG_YC7.js";import"./createLucideIcon-Dv8H8m7J.js";import"./conversation-model-C2KuZUXc.js";import"./time-Dhsh_2EG.js";import"./index-Cx6Gbr6n.js";import"./HarnessMark-DttReffF.js";import"./NewChatOrigin-DCn5cWPZ.js";import"./keyboard-nav-B8sQ_8IF.js";import"./x-DgmmnPKt.js";import"./chevron-down-D120PY4g.js";import"./search-FB2vVxCp.js";import"./file-text-BHro8MkG.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-D8iB6SMt.js";import"./TextDocumentSurface-2X1Gw4eA.js";import"./chevron-right-CowuvuE6.js";import"./code-xml-CkkNdRmu.js";import"./arrow-left-eToA6GxC.js";import"./arrow-right-DTX42clh.js";import"./chunk-HRAB3GC3-KjjrTLCU.js";import"./AgentAvatar-Dz79iTxB.js";import"./SpriteAvatar-DFO4Kb4Z.js";import"./CrewAvatar-CZ_faQ_s.js";function S(s){return s.hostName?.split(".")[0]??s.name??s.id.slice(0,12)}function Lt(){const{route:s,navigate:u}=A(),l=L(s),{items:i,unattributedOnly:c,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 m=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:()=>m(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&&!c,onClick:()=>m(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:c,onClick:()=>c?m(null):O(),title:"Items with no venue host"})]}),!r&&e.jsx("div",{className:"ctx-panel-empty",children:"Loading mesh…"})]})}export{Lt as MeshOpsLeft};
@@ -1 +0,0 @@
1
- import{r as i,j as s}from"./index-C1VaWNuD.js";/* empty css */import{a as r}from"./api-Co9aQ2Jw.js";import{u as h}from"./sse-B29iGBnw.js";import{u as v}from"./Provider-D0bB7q6y.js";import{S as u}from"./server-WY6gsbZz.js";import{L as j}from"./layers-CW2-qHsG.js";import{S as b}from"./sparkles-D0vWLTyC.js";import{A as N}from"./activity-CzTJ-YMX.js";import{C as f}from"./cpu-CHFIGw87.js";import{G as g,D as k}from"./gauge-DSflSery.js";import{T as y}from"./terminal-UDy4lzV1.js";import"./perf-PX8Rx0EP.js";import"./index-BWHgHrtv.js";import"./router-kfcaYqZr.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-D7kGGyK_.js";import"./NewChatComposer-D2Ah4T-W.js";import"./runtime-picker-C20lTGhV.js";import"./scout-voice-Cg1qfepC.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DmUG_YC7.js";import"./createLucideIcon-Dv8H8m7J.js";import"./conversation-model-C2KuZUXc.js";import"./time-Dhsh_2EG.js";import"./index-Cx6Gbr6n.js";import"./HarnessMark-DttReffF.js";import"./NewChatOrigin-DCn5cWPZ.js";import"./keyboard-nav-B8sQ_8IF.js";import"./x-DgmmnPKt.js";import"./chevron-down-D120PY4g.js";import"./search-FB2vVxCp.js";import"./file-text-BHro8MkG.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-D8iB6SMt.js";import"./TextDocumentSurface-2X1Gw4eA.js";import"./chevron-right-CowuvuE6.js";import"./code-xml-CkkNdRmu.js";import"./arrow-left-eToA6GxC.js";import"./arrow-right-DTX42clh.js";import"./chunk-HRAB3GC3-KjjrTLCU.js";function us(){const{agents:l,navigate:t}=v(),[m,p]=i.useState(null),[n,x]=i.useState([]),a=i.useCallback(async()=>{const[e,o]=await Promise.allSettled([r("/api/tail/discover"),r("/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??[],c=n.length>0?Math.round(Math.max(...n.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 ${c>80?"chip--warning":"chip--working"}`,children:[c,"%"]})]})]})]}),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{us as OpsAdvisorLeft};
@@ -1 +0,0 @@
1
- import{r,j as o}from"./index-C1VaWNuD.js";/* empty css */import{a as j}from"./api-Co9aQ2Jw.js";import{a as v}from"./sse-B29iGBnw.js";import{u as N}from"./Provider-D0bB7q6y.js";import{u as g}from"./use-fleet-active-asks-CCGrll5q.js";import{i as w}from"./colors-BtO5_zlx.js";import{R as a}from"./RailRow-B88JVr62.js";import"./perf-PX8Rx0EP.js";import"./index-BWHgHrtv.js";import"./router-kfcaYqZr.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-D7kGGyK_.js";import"./NewChatComposer-D2Ah4T-W.js";import"./runtime-picker-C20lTGhV.js";import"./scout-voice-Cg1qfepC.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DmUG_YC7.js";import"./createLucideIcon-Dv8H8m7J.js";import"./conversation-model-C2KuZUXc.js";import"./time-Dhsh_2EG.js";import"./index-Cx6Gbr6n.js";import"./HarnessMark-DttReffF.js";import"./NewChatOrigin-DCn5cWPZ.js";import"./keyboard-nav-B8sQ_8IF.js";import"./x-DgmmnPKt.js";import"./chevron-down-D120PY4g.js";import"./search-FB2vVxCp.js";import"./file-text-BHro8MkG.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-D8iB6SMt.js";import"./TextDocumentSurface-2X1Gw4eA.js";import"./chevron-right-CowuvuE6.js";import"./code-xml-CkkNdRmu.js";import"./arrow-left-eToA6GxC.js";import"./arrow-right-DTX42clh.js";import"./chunk-HRAB3GC3-KjjrTLCU.js";import"./AgentAvatar-Dz79iTxB.js";import"./SpriteAvatar-DFO4Kb4Z.js";import"./CrewAvatar-CZ_faQ_s.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 xt(){const{agents:e,navigate:n}=N(),[m,f]=r.useState([]),p=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]),l=r.useMemo(()=>{let t=0;for(const s of p.asks)(s.status==="failed"||s.status==="needs_attention")&&(t+=1);return t},[p]),u=r.useMemo(()=>{const t=new Map;for(const s of e){const i=R(s);t.set(i,(t.get(i)??0)+1)}return[...t.entries()].sort((s,i)=>i[1]-s[1]).slice(0,8)},[e]),d=r.useMemo(()=>{const t=new Map;for(const s of e){const i=k(s);t.set(i,(t.get(i)??0)+1)}return[...t.entries()].sort((s,i)=>i[1]-s[1]).slice(0,8)},[e]);return o.jsxs("div",{className:"ctx-panel",children:[o.jsxs("section",{className:"ctx-panel-section",children:[o.jsx("div",{className:"ctx-panel-section-label",children:"Agents"}),o.jsx(a,{name:"Overview",meta:`${e.length}`,tone:"neutral",onClick:()=>n({view:"inbox"})}),o.jsx(a,{name:"Agents",meta:`${h}`,tone:"callable",active:!0,onClick:()=>n({view:"ops",mode:"agents"})}),o.jsx(a,{name:"Sessions",meta:`${m.length}`,tone:"neutral",onClick:()=>n({view:"sessions"})}),o.jsx(a,{name:"Alerts",meta:`${l}`,tone:l>0?"in_turn":"neutral",unread:l>0,onClick:()=>n({view:"activity"})})]}),o.jsxs("section",{className:"ctx-panel-section",children:[o.jsx("div",{className:"ctx-panel-section-label",children:"Projects"}),u.length===0?o.jsx("div",{className:"ctx-panel-empty",children:"No projects"}):u.map(([t,s])=>o.jsx(a,{name:t,meta:`${s}`,tone:"neutral",title:`${s} agent${s===1?"":"s"} on ${t}`},t))]}),o.jsxs("section",{className:"ctx-panel-section",children:[o.jsx("div",{className:"ctx-panel-section-label",children:"Machines"}),d.length===0?o.jsx("div",{className:"ctx-panel-empty",children:"No machines"}):d.map(([t,s])=>o.jsx(a,{name:t,meta:`${s}`,tone:"neutral",title:`${s} agent${s===1?"":"s"} on ${t}`},t))]})]})}export{xt as OpsAgentsLeft};
@@ -1 +0,0 @@
1
- import{r,j as o}from"./index-C1VaWNuD.js";/* empty css */import{a as h}from"./api-Co9aQ2Jw.js";import{n as f}from"./colors-BtO5_zlx.js";import{r as g,a as j}from"./operator-attention-RqieiSY8.js";import{u as N}from"./sse-B29iGBnw.js";import{t as c}from"./time-Dhsh_2EG.js";import{u as A}from"./Provider-D0bB7q6y.js";import{o as l}from"./openContent-C6XO6kr5.js";import{R as m}from"./RailRow-B88JVr62.js";import"./perf-PX8Rx0EP.js";import"./index-BWHgHrtv.js";import"./router-kfcaYqZr.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-D7kGGyK_.js";import"./NewChatComposer-D2Ah4T-W.js";import"./runtime-picker-C20lTGhV.js";import"./scout-voice-Cg1qfepC.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DmUG_YC7.js";import"./createLucideIcon-Dv8H8m7J.js";import"./conversation-model-C2KuZUXc.js";import"./index-Cx6Gbr6n.js";import"./HarnessMark-DttReffF.js";import"./NewChatOrigin-DCn5cWPZ.js";import"./keyboard-nav-B8sQ_8IF.js";import"./x-DgmmnPKt.js";import"./chevron-down-D120PY4g.js";import"./search-FB2vVxCp.js";import"./file-text-BHro8MkG.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-D8iB6SMt.js";import"./TextDocumentSurface-2X1Gw4eA.js";import"./chevron-right-CowuvuE6.js";import"./code-xml-CkkNdRmu.js";import"./arrow-left-eToA6GxC.js";import"./arrow-right-DTX42clh.js";import"./chunk-HRAB3GC3-KjjrTLCU.js";import"./AgentAvatar-Dz79iTxB.js";import"./SpriteAvatar-DFO4Kb4Z.js";import"./CrewAvatar-CZ_faQ_s.js";const w=[{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:"Mesh",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 ut(){const{navigate:e,route:n}=A(),[p,d]=r.useState(null),s=r.useCallback(async()=>{const t=await h("/api/fleet").catch(()=>null);d(t)},[]);r.useEffect(()=>{s()},[s]),N(t=>{(t.kind==="message.posted"||t.kind==="flight.updated"||t.kind==="collaboration.event.appended")&&s()});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"}),w.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{ut as OpsDefaultLeft};
@@ -1 +0,0 @@
1
- import{r as f,j as t}from"./index-C1VaWNuD.js";/* empty css */import{t as x}from"./time-Dhsh_2EG.js";import{u as b}from"./Provider-D0bB7q6y.js";import{R as g}from"./RailRow-B88JVr62.js";import{S as v}from"./SpriteAvatar-DFO4Kb4Z.js";import{n as L}from"./colors-BtO5_zlx.js";import{b as h,c as j,l as n,d as N}from"./agent-lanes-model-tc-1hE6q.js";import{u as _,b as A,g as p}from"./lane-roster-store-DN2jxXF-.js";import"./router-kfcaYqZr.js";import"./perf-PX8Rx0EP.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";import"./api-Co9aQ2Jw.js";import"./sse-B29iGBnw.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-D7kGGyK_.js";import"./NewChatComposer-D2Ah4T-W.js";import"./runtime-picker-C20lTGhV.js";import"./scout-voice-Cg1qfepC.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DmUG_YC7.js";import"./createLucideIcon-Dv8H8m7J.js";import"./conversation-model-C2KuZUXc.js";import"./index-Cx6Gbr6n.js";import"./HarnessMark-DttReffF.js";import"./NewChatOrigin-DCn5cWPZ.js";import"./keyboard-nav-B8sQ_8IF.js";import"./x-DgmmnPKt.js";import"./chevron-down-D120PY4g.js";import"./search-FB2vVxCp.js";import"./file-text-BHro8MkG.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-D8iB6SMt.js";import"./TextDocumentSurface-2X1Gw4eA.js";import"./chevron-right-CowuvuE6.js";import"./code-xml-CkkNdRmu.js";import"./arrow-left-eToA6GxC.js";import"./arrow-right-DTX42clh.js";import"./chunk-HRAB3GC3-KjjrTLCU.js";import"./AgentAvatar-Dz79iTxB.js";import"./CrewAvatar-CZ_faQ_s.js";import"./context-budget-DqxWzalx.js";import"./lane-observe-vfyACHi0.js";import"./tail-display-DcliDVkW.js";import"./lane-edit-display-C_Aujldz.js";function c(s,e,i){const a=`[data-lane-id="${s.replace(/["\\]/g,"\\$&")}"]`,r=typeof document<"u"?document.querySelector(a):null;if(r){r.scrollIntoView({behavior:"smooth",inline:"center",block:"nearest"}),r.focus();return}e&&i({view:"agents-v2",agentId:e,tab:"profile"})}function R(s){return s.filter(e=>!h(e)&&j(e)).sort((e,i)=>{const a=(i.updatedAt??0)-(e.updatedAt??0);return a!==0?a:n(e,"scout").localeCompare(n(i,"scout"))}).map(e=>({id:e.id,label:n(e,"scout"),statusLabel:N(e,"scout"),tone:L(e.state,e),agentId:e.id,updatedAt:e.updatedAt??void 0}))}function jo(){const{agents:s,navigate:e}=b(),i=_(),a=A(),r=f.useMemo(()=>R(s),[s]),l=i??r,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${a===o.id?" is-focus":""}`,onClick:()=>{const m=p();m?m.onSelect(o.id):c(o.id,o.agentId,e)},onPointerEnter:()=>p()?.onHover(o.id),onPointerLeave:()=>p()?.onHover(null),children:[t.jsxs("span",{className:"agent-floor__ledger-id",children:[t.jsx(v,{name:o.label,size:16,tile:!0}),t.jsx("span",{className:"agent-floor__ledger-name",children:o.label}),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(g,{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{jo as OpsLanesLeft};
@@ -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-divider{display:inline-block;width:1px;height:10px;background:color-mix(in srgb,var(--ink) 16%,transparent);margin:0 var(--space-2xs)}.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 c,j as s}from"./index-C1VaWNuD.js";/* empty css */import{n as S}from"./colors-BtO5_zlx.js";import{u as M,s as A,a as h,b as I,M as C,c as k,d as w,e as F,r as R,t as E}from"./mission-control-store-CM8mQGg8.js";import{u as K}from"./Provider-D0bB7q6y.js";import{a as T,b as q,r as B,m as D}from"./keyboard-nav-B8sQ_8IF.js";import{MissionLeftAgentRow as L}from"./MissionLeftAgentRow-CbQm4BLv.js";import"./router-kfcaYqZr.js";import"./perf-PX8Rx0EP.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";import"./api-Co9aQ2Jw.js";import"./sse-B29iGBnw.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-D7kGGyK_.js";import"./NewChatComposer-D2Ah4T-W.js";import"./runtime-picker-C20lTGhV.js";import"./scout-voice-Cg1qfepC.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DmUG_YC7.js";import"./createLucideIcon-Dv8H8m7J.js";import"./conversation-model-C2KuZUXc.js";import"./time-Dhsh_2EG.js";import"./index-Cx6Gbr6n.js";import"./HarnessMark-DttReffF.js";import"./NewChatOrigin-DCn5cWPZ.js";import"./x-DgmmnPKt.js";import"./chevron-down-D120PY4g.js";import"./search-FB2vVxCp.js";import"./file-text-BHro8MkG.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-D8iB6SMt.js";import"./TextDocumentSurface-2X1Gw4eA.js";import"./chevron-right-CowuvuE6.js";import"./code-xml-CkkNdRmu.js";import"./arrow-left-eToA6GxC.js";import"./arrow-right-DTX42clh.js";import"./chunk-HRAB3GC3-KjjrTLCU.js";import"./page-status-BE0-J1xY.js";import"./RailRow-B88JVr62.js";import"./AgentAvatar-Dz79iTxB.js";import"./SpriteAvatar-DFO4Kb4Z.js";import"./CrewAvatar-CZ_faQ_s.js";function Fe(){const{navigate:r}=K(),i=M(),o=i.visibleAgents,m=c.useRef(null),p=c.useRef(null),v=T(),x=D(()=>m.current);q(c.useCallback(()=>p.current,[]));const[d,y]=c.useState(null),u=i.activityFilter==="active",a=i.selectedIds.length,j=e=>{y(t=>t===e?null:e)},N=()=>{if(a===0)return;const t=o.filter(l=>i.selectedIds.includes(l.id)).map(l=>l.handle??l.name).filter(Boolean).join("|");t&&r({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:()=>A(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=>h(e.target.value),onKeyDown:e=>{x(e),e.key==="Escape"&&i.query&&h("")}})}),s.jsx("div",{className:"ml-section ml-section--secondary",children:s.jsxs("div",{className:"ml-chips ml-chips--secondary",children:[["active","live","all"].map(e=>s.jsx("button",{type:"button",className:["ml-chip ml-chip--ghost",i.activityFilter===e&&"ml-chip--ghost-active"].filter(Boolean).join(" "),onClick:()=>I(e),children:e==="active"?"Active":e==="live"?"Live":"Any"},e)),u&&s.jsx("span",{className:"ml-divider","aria-hidden":!0}),u&&C.map(e=>s.jsx("button",{type:"button",className:["ml-chip ml-chip--ghost",i.activityWindowMs===e.value&&"ml-chip--ghost-active"].filter(Boolean).join(" "),onClick:()=>k(e.value),children:e.label},e.value))]})}),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:()=>w(e),children:t},e))})]}),a>0?s.jsxs("div",{className:"ml-selection",children:[s.jsxs("span",{className:"ml-selection-label",children:[a," 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:F,children:"Clear"})]})]}):s.jsxs("div",{className:"ml-count",children:[o.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:v,children:o.length===0?s.jsx("div",{className:"ctx-panel-empty",children:i.query?"No match":"Nothing visible"}):o.map((e,t)=>{const l=e.id===d,b=o.some(n=>n.id===d),g=i.selectedIds.includes(e.id),f=S(e.state);return s.jsx(L,{agent:e,state:f,isExpanded:l,isSelected:g,tabIndex:B(l,b,t===0),onToggle:n=>{n.metaKey||n.ctrlKey||n.shiftKey?E(e.id):j(e.id)},onReveal:()=>R(e.id),onOpen:()=>r({view:"agents-v2",agentId:e.id})},e.id)})})]})}export{Fe as OpsMissionLeft};
@@ -1 +0,0 @@
1
- import{r as l,j as e}from"./index-C1VaWNuD.js";/* empty css */import{t as O}from"./time-Dhsh_2EG.js";import{u as H,b as $}from"./Provider-D0bB7q6y.js";import{S as G}from"./SpriteAvatar-DFO4Kb4Z.js";import{H as R}from"./HarnessMark-DttReffF.js";import{AgentSessions as J}from"./AgentSessions-DV9v34aq.js";import{a as T}from"./api-Co9aQ2Jw.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-D2Ah4T-W.js";import"./router-kfcaYqZr.js";import"./perf-PX8Rx0EP.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";import"./sse-B29iGBnw.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-D7kGGyK_.js";import"./DocumentFocusViewer-D8iB6SMt.js";import"./createLucideIcon-Dv8H8m7J.js";import"./TextDocumentSurface-2X1Gw4eA.js";import"./file-text-BHro8MkG.js";import"./x-DgmmnPKt.js";import"./chevron-right-CowuvuE6.js";import"./code-xml-CkkNdRmu.js";import"./arrow-left-eToA6GxC.js";import"./arrow-right-DTX42clh.js";import"./scout-voice-Cg1qfepC.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-B8sQ_8IF.js";import"./chunk-HRAB3GC3-KjjrTLCU.js";import"./openContent-C6XO6kr5.js";import"./clipboard-e3fSpeo7.js";import"./runtime-picker-C20lTGhV.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DmUG_YC7.js";import"./conversation-model-C2KuZUXc.js";import"./index-Cx6Gbr6n.js";import"./NewChatOrigin-DCn5cWPZ.js";import"./chevron-down-D120PY4g.js";import"./search-FB2vVxCp.js";const ee=30*6e4,D=a=>a==="pi"?"grok":a,K=a=>a?a.replace(/^claude-/,"").replace(/-\d{8}$/,""):null;function qe({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{qe as AgentsLibrary};
@@ -1 +0,0 @@
1
- import{j as l,r as d}from"./index-C1VaWNuD.js";import{n as y,e as F,f as V,d as K}from"./colors-BtO5_zlx.js";import{r as T}from"./index-Cx6Gbr6n.js";import{a as Z}from"./api-Co9aQ2Jw.js";import{u as N}from"./Provider-D0bB7q6y.js";import{A as U}from"./AgentDetailCard-8viaEY8b.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;y(e.state);const c=F(e.state,e)?30:V(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 Z(`/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 Te(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)":K(i.definitionId);return l.jsx(de,{identity:i,color:c},o)})}export{Te as r};
@@ -1 +0,0 @@
1
- import{a as b}from"./Provider-D0bB7q6y.js";function i(t){return t?t.replace(/^https?:\/\//,"").split("/")[0].split(":")[0].split(".")[0]||t.slice(0,8):""}function h(t){return t&&((t.hostName?i(t.hostName):null)||t.name)||"this host"}function w(t){if(!t)return"Host";const e=h(t.localNode);return e==="this host"?"Host":e}function L(t){return i(t.hostName)||t.name||"tailnet peer"}function N(t){return i(t.dnsName)||i(t.hostName)||(t.name??"").toLowerCase()}function p(t){return i(t.hostName)||(t.name?i(t.name):"")}function y(t){const e=(t.hostName??t.dnsName??t.name??"").trim().toLowerCase();return e?i(e).toLowerCase()==="localhost"||e==="127.0.0.1"||e.startsWith("localhost."):!1}function C(t,e){const u=b(t),s=new Map,l=e.localNode?.id??"local",f=h(e.localNode),m=(e.localNode&&e.nodes?.[e.localNode.id]?.host)??e.nodes?.[l]?.host;s.set(l,{machineId:l,machineLabel:f,reachability:"this",online:!0,host:m,agents:[]});for(const o of u){const n=o.authorityNodeId??o.homeNodeId??l;if(n!==l&&!e.nodes?.[n])continue;let a=s.get(n);if(!a){const c=e.nodes?.[n];a={machineId:n,machineLabel:h(c)||o.authorityNodeName||o.homeNodeName||n,reachability:"peer",online:!0,host:c?.host,agents:[]},s.set(n,a)}a.agents.push(o)}const r=new Set;for(const o of s.values()){r.add(o.machineLabel.toLowerCase());const n=e.nodes?.[o.machineId];if(n){const a=p(n);a&&r.add(a.toLowerCase())}}for(const o of e.tailscale?.peers??[]){if(y(o))continue;const n=L(o),a=N(o).toLowerCase();if(a&&r.has(a)||r.has(n.toLowerCase()))continue;const c=`tailnet:${o.id}`;s.has(c)||(s.set(c,{machineId:c,machineLabel:n,reachability:"tailnet",online:!!(o.online&&e.tailscale?.running),agents:[]}),a&&r.add(a),r.add(n.toLowerCase()))}const d=o=>o.reachability==="this"?0:o.reachability==="peer"?1:2;return Array.from(s.values()).sort((o,n)=>{const a=d(o)-d(n);return a!==0?a:o.machineLabel.localeCompare(n.machineLabel)})}export{C as b,w as l};
@@ -1 +0,0 @@
1
- import{r as d}from"./index-C1VaWNuD.js";const u=new Set(["in_turn","in_flight","needs_attention","callable","blocked"]),l="openscout.mesh.machinePositions.v1";function f(){if(typeof window>"u")return{};try{const e=window.localStorage.getItem(l);if(!e)return{};const n=JSON.parse(e);if(n&&typeof n=="object"){const i={};for(const[c,o]of Object.entries(n))o&&typeof o=="object"&&typeof o.x=="number"&&typeof o.y=="number"&&(i[c]={x:o.x,y:o.y});return i}}catch{}return{}}function r(e){if(!(typeof window>"u"))try{window.localStorage.setItem(l,JSON.stringify(e))}catch{}}let t={mode:"map",density:"comfortable",selectedId:null,selectedType:null,meshSnapshot:null,probeCache:{},query:"",stateFilter:"all",agentStateFilters:u,hiddenMachineIds:new Set,collapsedMachineIds:new Set,treeFullMachineIds:new Set,scrollTargetMachineId:null,machinePositions:f()};const a=new Set;function s(){for(const e of a)e()}function p(e){t.mode!==e&&(t={...t,mode:e},s())}function g(e){t.density!==e&&(t={...t,density:e},s())}function w(e,n){t.selectedId===e&&t.selectedType===n||(t={...t,selectedId:e,selectedType:n},s())}function y(e){t={...t,meshSnapshot:e},s()}function I(e){t.query!==e&&(t={...t,query:e},s())}function b(e){t.stateFilter!==e&&(t={...t,stateFilter:e},s())}function T(e){const n=new Set(t.agentStateFilters);n.has(e)?n.delete(e):n.add(e),t={...t,agentStateFilters:n},s()}function x(e){const n=new Set(t.treeFullMachineIds);n.has(e)?n.delete(e):n.add(e),t={...t,treeFullMachineIds:n},s()}function P(e){const n=new Set(t.hiddenMachineIds);n.has(e)?n.delete(e):n.add(e),t={...t,hiddenMachineIds:n},s()}function _(e,n){const i=new Set;for(const c of n)c!==e&&i.add(c);t={...t,hiddenMachineIds:i},s()}function m(){t.hiddenMachineIds.size!==0&&(t={...t,hiddenMachineIds:new Set},s())}function F(e){const n=new Set(t.collapsedMachineIds);n.has(e)?n.delete(e):n.add(e),t={...t,collapsedMachineIds:n},s()}function A(e,n){const i={...t.machinePositions,[e]:n};t={...t,machinePositions:i},r(i),s()}function O(){if(Object.keys(t.machinePositions).length===0)return;const e={};t={...t,machinePositions:e},r(e),s()}function E(e){t={...t,scrollTargetMachineId:e},s(),queueMicrotask(()=>{t.scrollTargetMachineId===e&&(t={...t,scrollTargetMachineId:null},s())})}function h(e){return a.add(e),()=>{a.delete(e)}}function S(){return t}function j(){return d.useSyncExternalStore(h,S)}export{F as a,A as b,w as c,O as d,p as e,g as f,I as g,b as h,T as i,m as j,x as k,_ as l,E as r,y as s,P as t,j as u};
@@ -1 +0,0 @@
1
- .s-wall{--wall-floor: var(--bg);--wall-pane: color-mix(in srgb, var(--surface) 34%, var(--bg));--wall-head: color-mix(in srgb, var(--ink) 5%, var(--wall-pane));--wall-panel: color-mix(in srgb, var(--surface) 92%, var(--bg));--wall-rule: color-mix(in srgb, var(--ink) 10%, transparent);--wall-rule-strong: color-mix(in srgb, var(--ink) 20%, transparent);--wall-zebra: color-mix(in srgb, var(--ink) 2.5%, transparent);--wall-eyebrow: var(--muted);--wall-time: var(--dim);--wall-glyph: var(--dim);--wall-tool: var(--accent);--wall-dim: .5;position:relative;display:flex;flex-direction:column;height:100%;min-height:0;background:var(--wall-floor);font-family:var(--font-mono);color:var(--ink);overflow:hidden}[data-scout-theme-mode=light] .s-wall{--wall-floor: color-mix(in srgb, var(--ink) 7%, var(--bg));--wall-pane: var(--surface);--wall-head: color-mix(in srgb, var(--ink) 7%, var(--surface));--wall-panel: var(--surface);--wall-rule: color-mix(in srgb, var(--ink) 16%, transparent);--wall-rule-strong: color-mix(in srgb, var(--ink) 30%, transparent);--wall-zebra: color-mix(in srgb, var(--ink) 4%, transparent);--wall-eyebrow: color-mix(in srgb, var(--ink) 72%, transparent);--wall-time: color-mix(in srgb, var(--ink) 62%, transparent);--wall-glyph: color-mix(in srgb, var(--ink) 55%, transparent);--wall-tool: color-mix(in srgb, var(--accent) 55%, var(--ink));--wall-dim: .65}.s-wall-status{flex:none;display:flex;align-items:center;gap:var(--space-sm);min-height:26px;padding:0 var(--space-lg);border-bottom:1px solid var(--wall-rule);background:var(--wall-pane);font-size:var(--text-xs);letter-spacing:.04em}.s-wall-status-key{color:var(--wall-eyebrow);text-transform:lowercase}.s-wall-status-value{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums;margin-right:var(--space-md)}.s-wall-status-hidden{color:var(--wall-time);font-variant-numeric:tabular-nums}.s-wall-status-keys{margin-left:auto;color:var(--wall-time);white-space:nowrap}.s-wall-status-keys kbd{font:inherit;font-weight:600;color:var(--ink)}.s-wall-status-pin{margin-left:var(--space-md);padding:0;border:0;background:none;color:var(--accent);font:inherit;letter-spacing:inherit;cursor:pointer}.s-wall-status-pin:hover{text-decoration:underline}.s-wall-grid{flex:1;min-height:0;display:grid;padding:var(--space-sm);overflow:hidden}.s-wall-pane{position:relative;display:flex;flex-direction:column;contain:layout paint;min-width:0;min-height:0;border:1px solid var(--wall-rule);border-radius:var(--radius-xs);background:var(--wall-pane);overflow:hidden;cursor:pointer;transition:border-color .12s}.s-wall-pane:hover{border-color:var(--wall-rule-strong)}.s-wall-pane--live{border-color:color-mix(in srgb,var(--green) 42%,var(--wall-rule))}.s-wall-pane--live .s-wall-pane-head{background:color-mix(in srgb,var(--green) 8%,var(--wall-head));border-bottom-color:color-mix(in srgb,var(--green) 28%,var(--wall-rule))}.s-wall-pane--selected,.s-wall-pane--selected:hover{border-color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent)}.s-wall-pane--cursor,.s-wall-pane--cursor:hover{border-color:color-mix(in srgb,var(--accent) 70%,var(--wall-rule));outline:1px solid var(--accent);outline-offset:-1px}.s-wall-pane:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.s-wall-pane--revealed{animation:s-wall-reveal 1.8s ease-out}@keyframes s-wall-reveal{0%,40%{box-shadow:inset 0 0 0 1px var(--accent);border-color:var(--accent)}to{box-shadow:inset 0 0 0 1px transparent}}@media(prefers-reduced-motion:reduce){.s-wall-pane--revealed{animation:none;border-color:var(--accent)}}.s-wall-pane-head{flex:none;display:flex;align-items:center;gap:var(--space-xs);min-height:22px;padding:0 var(--space-sm);border-bottom:1px solid var(--wall-rule);background:var(--wall-head);font-size:var(--text-xs);letter-spacing:.02em;white-space:nowrap;overflow:hidden}.s-wall-pane-dot{flex:none;width:5px;height:5px;border-radius:50%}.s-wall-pane--live .s-wall-pane-dot{animation:s-ops-pulse 1.6s ease-in-out infinite}.s-wall-pane-title{flex:0 1 auto;min-width:0;padding:0;border:0;background:none;color:var(--ink);font:inherit;font-weight:600;letter-spacing:inherit;text-align:start;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.s-wall-pane-title:hover{color:var(--accent)}.s-wall-pane-title:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.s-wall-pane-where{flex:0 1 auto;min-width:0;color:var(--wall-eyebrow);overflow:hidden;text-overflow:ellipsis}.s-wall-pane-spacer{flex:1 1 auto}.s-wall-pane-live{flex:none;color:var(--green);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-md)}.s-wall-pane-file{flex:none;max-width:40%;padding:0;border:0;background:none;color:var(--wall-time);font:inherit;letter-spacing:inherit;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.s-wall-pane-file:hover{color:var(--accent);text-decoration:underline}.s-wall-pane-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:2px 0 4px;scrollbar-width:thin;scrollbar-color:var(--wall-rule-strong) transparent}.s-wall-pane-body::-webkit-scrollbar{width:5px}.s-wall-pane-body::-webkit-scrollbar-thumb{background:var(--wall-rule-strong)}.s-wall-pane-idle{padding:var(--space-sm) var(--space-md);color:var(--wall-time);font-size:var(--text-xs);letter-spacing:var(--tracking-sm)}.s-wall-line{display:grid;grid-template-columns:52px 8px minmax(0,1fr);align-items:baseline;content-visibility:auto;contain-intrinsic-size:auto 15px;gap:var(--space-xs);padding:0 var(--space-sm);font-size:var(--text-xs);line-height:15px;color:var(--muted)}.s-wall-line:nth-child(2n){background:var(--wall-zebra)}.s-wall-line-time{color:var(--wall-time);font-variant-numeric:tabular-nums}.s-wall-line-glyph{color:var(--wall-glyph)}.s-wall-line-text{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.s-wall-line-repeat{color:var(--wall-time);font-variant-numeric:tabular-nums}.s-wall-line--user .s-wall-line-text,.s-wall-line--user .s-wall-line-glyph{color:var(--ink)}.s-wall-line--assistant .s-wall-line-text{color:color-mix(in srgb,var(--ink) 80%,transparent)}.s-wall-line--tool .s-wall-line-text,.s-wall-line--tool .s-wall-line-glyph{color:var(--wall-tool)}.s-wall-line--system .s-wall-line-text,.s-wall-line--other .s-wall-line-text{color:var(--wall-time)}.s-wall-line--result-ok .s-wall-line-glyph{color:var(--green)}.s-wall-line.s-wall-line--result-error{background:color-mix(in srgb,var(--red) 9%,transparent)}.s-wall-line--result-error .s-wall-line-glyph{color:var(--red)}.s-wall-line--result-error .s-wall-line-text{color:color-mix(in srgb,var(--red) 45%,var(--ink))}.s-wall-pane-body>.s-wall-line:last-child{animation:s-wall-line-in .22s cubic-bezier(.22,.61,.36,1) both}@keyframes s-wall-line-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.s-wall-pane-body>.s-wall-line:last-child{animation:none}}.s-wall-grid--railed .s-wall-pane:not(.s-wall-pane--cursor){opacity:var(--wall-dim);transition:opacity .12s}.s-wall-rail{position:absolute;top:26px;right:0;bottom:0;z-index:3;width:min(400px,46vw);display:flex;flex-direction:column;border-left:1px solid var(--wall-rule-strong);background:var(--wall-panel);box-shadow:-12px 0 28px -18px #000000a6;font-size:var(--text-xs);letter-spacing:.02em;overflow:hidden}.s-wall-rail-head{flex:none;display:flex;align-items:center;gap:var(--space-xs);min-height:34px;padding:0 var(--space-sm);border-bottom:1px solid var(--wall-rule);background:var(--wall-head)}.s-wall-rail-dot{flex:none;width:5px;height:5px;border-radius:50%;background:var(--dim)}.s-wall-rail-dot--live{background:var(--green);animation:s-ops-pulse 1.6s ease-in-out infinite}.s-wall-rail-identity{min-width:0;flex:1 1 auto}.s-wall-rail-title{color:var(--ink);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-wall-rail-sub{color:var(--wall-time);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-wall-rail-close{flex:none;padding:0 var(--space-2xs);border:0;background:none;color:var(--wall-time);font:inherit;cursor:pointer}.s-wall-rail-close:hover{color:var(--ink)}.s-wall-rail-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--space-sm);scrollbar-width:thin;scrollbar-color:var(--wall-rule-strong) transparent}.s-wall-rail-sec+.s-wall-rail-sec{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--wall-rule)}.s-wall-rail-sechead{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs);color:var(--wall-eyebrow);font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-lg)}.s-wall-rail-seccount{color:var(--ink);font-weight:600;text-transform:none;letter-spacing:.02em;font-variant-numeric:tabular-nums}.s-wall-rail-secrule{flex:1 1 auto;height:1px;background:var(--wall-rule)}.s-wall-rail-headline{color:var(--ink);font-size:var(--text-sm);line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.s-wall-rail-detail{margin-top:2px;color:var(--wall-time);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-wall-rail-empty{color:var(--wall-time);line-height:1.45}.s-wall-rail-stats{display:flex;flex-wrap:wrap;gap:var(--space-lg);margin:var(--space-sm) 0 0;padding:var(--space-xs) 0;border-top:1px solid var(--wall-rule);border-bottom:1px solid var(--wall-rule)}.s-wall-rail-stat{display:flex;flex-direction:column;gap:1px}.s-wall-rail-stat-label{color:var(--wall-eyebrow);font-size:var(--text-2xs);letter-spacing:var(--tracking-lg);text-transform:uppercase}.s-wall-rail-stat-value{margin:0;color:var(--ink);font-size:var(--text-md);font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums}.s-wall-rail-gauge{margin-top:var(--space-sm)}.s-wall-rail-gauge-line{display:flex;align-items:baseline;gap:var(--space-xs);color:var(--muted)}.s-wall-rail-gauge-label{color:var(--wall-eyebrow);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-lg)}.s-wall-rail-gauge-of{color:var(--wall-time)}.s-wall-rail-gauge-pct{margin-left:auto;font-variant-numeric:tabular-nums}.s-wall-rail-gauge--over .s-wall-rail-gauge-pct{color:var(--accent)}.s-wall-rail-gauge-bar{position:relative;height:3px;margin-top:4px;border-radius:2px;background:var(--wall-rule);overflow:hidden}.s-wall-rail-gauge-fill{display:block;height:100%;background:var(--muted)}.s-wall-rail-gauge--over .s-wall-rail-gauge-fill{background:var(--accent)}.s-wall-rail-facts{margin:0;display:grid;gap:2px}.s-wall-rail-fact{display:grid;grid-template-columns:62px minmax(0,1fr);gap:var(--space-xs);align-items:baseline}.s-wall-rail-fact-label{color:var(--wall-eyebrow);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-lg)}.s-wall-rail-fact-value{margin:0;min-width:0;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-wall-rail-files{display:grid;gap:1px}.s-wall-rail-frow{display:flex;align-items:baseline;gap:var(--space-xs);width:100%;padding:1px 2px;border:0;border-radius:var(--radius-xs);background:none;color:inherit;font:inherit;letter-spacing:inherit;text-align:start;cursor:pointer}.s-wall-rail-frow:hover{background:color-mix(in srgb,var(--ink) 7%,transparent)}.s-wall-rail-fstate{flex:none;width:8px;color:var(--wall-glyph)}.s-wall-rail-fstate--created,.s-wall-rail-fstate--modified{color:var(--accent)}.s-wall-rail-fpath{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-wall-rail-fdir{color:var(--wall-time)}.s-wall-rail-fbase{color:var(--ink)}.s-wall-rail-cmds{display:grid;gap:1px}.s-wall-rail-crow{display:flex;align-items:baseline;gap:var(--space-xs);padding:1px 2px;overflow:hidden}.s-wall-rail-cmark{flex:none;color:var(--wall-tool)}.s-wall-rail-ctext{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-wall-rail-bash-dir{color:var(--wall-time)}.s-wall-rail-bash-prog{color:var(--ink);font-weight:600}.s-wall-rail-bash-arg{color:var(--muted)}.s-wall-rail-bash-dim,.s-wall-rail-bash-flag{color:var(--wall-time)}.s-wall-rail-cresult{flex:none;margin-left:auto;color:var(--wall-time);font-variant-numeric:tabular-nums}.s-wall-rail-foot{flex:none;display:flex;align-items:center;gap:var(--space-sm);min-height:28px;padding:0 var(--space-sm);border-top:1px solid var(--wall-rule);background:var(--wall-head)}.s-wall-rail-act{padding:0;border:0;background:none;color:var(--muted);font:inherit;letter-spacing:inherit;cursor:pointer}.s-wall-rail-act:hover{color:var(--accent);text-decoration:underline}.s-wall-rail-keys{margin-left:auto;color:var(--wall-time);white-space:nowrap}.s-wall-rail-keys kbd{font:inherit;font-weight:600;color:var(--ink)}.s-wall-empty{grid-column:1 / -1;grid-row:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm)}.s-wall-empty-title{font-family:var(--font-accent-title);font-size:var(--text-4xl);color:var(--ink);letter-spacing:-.01em}.s-wall-empty-sub{font-size:var(--text-sm);color:var(--wall-time);letter-spacing:var(--tracking-sm)}.s-mission-overlay{position:absolute;inset:0;z-index:10;background:var(--scrim-soft);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);display:flex;align-items:stretch;justify-content:center;padding:var(--space-4xl);animation:s-mission-overlay-in .14s ease-out}@keyframes s-mission-overlay-in{0%{opacity:0}to{opacity:1}}.s-mission-overlay-dialog{display:flex;flex-direction:column;flex:1 1 auto;max-width:1180px;min-height:0;background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:var(--radius-md);box-shadow:0 24px 80px -12px #000000b8,0 0 0 1px #ffffff0a;outline:none;overflow:hidden}.s-mission-overlay-header{display:flex;align-items:center;gap:var(--space-xl);padding:var(--space-lg) var(--space-xl) var(--space-md) var(--space-3xl);border-bottom:1px solid color-mix(in srgb,var(--ink) 9%,transparent);flex:none}.s-mission-overlay-identity{flex:1 1 auto;min-width:0}.s-mission-overlay-handle{color:var(--dim);font-size:var(--text-sm)}.s-mission-overlay-close{flex:0 0 auto;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);color:var(--dim);font-family:var(--font-mono);font-size:var(--text-sm);cursor:pointer;border-radius:var(--radius-xs);transition:color .1s,background .1s,border-color .1s}.s-mission-overlay-close:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent)}.s-mission-overlay-tabs{display:flex;align-items:stretch;justify-content:space-between;gap:var(--space-lg);padding:0 var(--space-lg) 0 var(--space-3xl);border-bottom:1px solid color-mix(in srgb,var(--ink) 9%,transparent);flex:none}.s-mission-overlay-tabs-group{display:flex}.s-mission-overlay-tabs-action{display:flex;align-items:center}.s-mission-overlay-jump{padding:var(--space-2xs) var(--space-md);background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 32%,transparent);color:var(--accent);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-md);cursor:pointer;border-radius:var(--radius-xs);transition:background .12s,border-color .12s,color .12s}.s-mission-overlay-jump:hover{background:var(--accent);color:var(--bg)}.s-mission-overlay-jump:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.s-mission-overlay-tab{padding:var(--space-md) var(--space-xl);background:transparent;border:0;border-bottom:2px solid transparent;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;letter-spacing:var(--tracking-lg);text-transform:uppercase;cursor:pointer;transition:color .12s,border-color .12s;margin-bottom:-1px}.s-mission-overlay-tab:hover{color:var(--ink)}.s-mission-overlay-tab--active{color:var(--ink);border-bottom-color:var(--accent)}.s-mission-overlay-tab:focus-visible{outline:1px solid var(--accent);outline-offset:-2px}.s-focus-tab{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;padding:var(--space-3xl) var(--space-3xl);gap:var(--space-2xl)}.s-focus-tab--activity{padding:0;overflow:hidden}.s-focus-tab--activity-preview{gap:var(--space-xl)}.s-focus-stats{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:color-mix(in srgb,var(--ink) 10%,transparent);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);border-radius:var(--radius-xs);overflow:hidden;flex:0 0 auto}.s-focus-stat{display:flex;flex-direction:column;gap:var(--space-3xs);padding:var(--space-sm) var(--space-lg);background:color-mix(in srgb,var(--surface) 90%,transparent);min-width:0}.s-focus-stat-label{margin:0;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-xl);text-transform:uppercase;color:var(--dim)}.s-focus-stat-value{margin:0;font-family:var(--font-mono);font-size:var(--text-lg);font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}.s-focus-activity-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow-y:auto;border:1px solid color-mix(in srgb,var(--ink) 8%,transparent);border-radius:var(--radius-xs);background:color-mix(in srgb,var(--bg) 50%,transparent)}.s-focus-activity-empty{flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:var(--space-4xl);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--dim);border:1px dashed color-mix(in srgb,var(--ink) 12%,transparent);border-radius:var(--radius-xs)}.s-focus-activity-empty--rich{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:var(--space-xl);padding:var(--space-2xl);background:color-mix(in srgb,var(--surface) 60%,transparent);border:1px solid color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink)}.s-focus-activity-empty-head{display:flex;flex-direction:column;gap:var(--space-2xs)}.s-focus-activity-empty-eyebrow{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-xl);text-transform:uppercase;color:var(--dim)}.s-focus-activity-empty-title{font-family:var(--font-mono);font-size:var(--text-xl);font-weight:500;color:var(--ink);letter-spacing:var(--tracking-sm)}.s-focus-activity-empty-facts{margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:color-mix(in srgb,var(--ink) 6%,transparent);border:1px solid color-mix(in srgb,var(--ink) 7%,transparent)}.s-focus-activity-empty-fact{display:flex;flex-direction:column;gap:var(--space-3xs);padding:var(--space-sm) var(--space-md);background:color-mix(in srgb,var(--surface) 92%,transparent);min-width:0}.s-focus-activity-empty-fact dt{margin:0;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-xl);text-transform:uppercase;color:var(--dim)}.s-focus-activity-empty-fact dd{margin:0;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-focus-activity-empty-actions{display:flex;gap:var(--space-sm);margin-top:auto}.s-focus-activity-empty-btn{flex:1 1 auto;appearance:none;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);background:transparent;color:var(--ink);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-md);text-transform:uppercase;padding:var(--space-sm) var(--space-md);cursor:pointer;border-radius:var(--radius-xs);transition:background .12s ease,border-color .12s ease}.s-focus-activity-empty-btn:hover{background:color-mix(in srgb,var(--ink) 5%,transparent);border-color:color-mix(in srgb,var(--ink) 22%,transparent)}.s-focus-activity-empty-btn--primary{border-color:color-mix(in srgb,var(--accent) 50%,transparent);color:var(--accent)}.s-focus-activity-empty-btn--primary:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:var(--accent)}.s-focus-activity-row{display:grid;grid-template-columns:36px 14px 44px 1fr;align-items:baseline;gap:var(--space-sm);padding:var(--space-xs) var(--space-lg);border-bottom:1px solid color-mix(in srgb,var(--ink) 5%,transparent);min-width:0}.s-focus-activity-row:last-child{border-bottom:0}.s-focus-activity-time{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--dim);font-variant-numeric:tabular-nums;text-align:right;letter-spacing:var(--tracking-md)}.s-focus-activity-glyph{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--dim);text-align:center;line-height:var(--leading-none)}.s-focus-activity-row--tool .s-focus-activity-glyph{color:var(--accent)}.s-focus-activity-row--think .s-focus-activity-glyph{color:var(--muted, var(--dim))}.s-focus-activity-row--ask .s-focus-activity-glyph{color:var(--amber)}.s-focus-activity-row--message .s-focus-activity-glyph{color:var(--ink)}.s-focus-activity-row--boot .s-focus-activity-glyph{color:var(--green)}.s-focus-activity-kind{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-lg);text-transform:uppercase;color:var(--dim)}.s-focus-activity-text{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.s-focus-spec{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-5xl);row-gap:var(--space-lg);flex:0 0 auto}.s-focus-spec-row{display:grid;grid-template-columns:64px 1fr;column-gap:var(--space-lg);align-items:baseline;margin:0;min-width:0}.s-focus-spec-label{margin:0;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-xl);text-transform:uppercase;color:var(--dim);white-space:nowrap}.s-focus-spec-value{margin:0;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.s-focus-actions{display:flex;flex-direction:column;gap:var(--space-sm)}.s-focus-action{display:flex;flex-direction:column;gap:var(--space-2xs);padding:var(--space-lg) var(--space-xl);text-align:left;background:color-mix(in srgb,var(--surface) 60%,transparent);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);color:var(--ink);cursor:pointer;border-radius:var(--radius-sm);font-family:inherit;transition:background .12s,border-color .12s}.s-focus-action:hover{background:color-mix(in srgb,var(--accent) 6%,transparent);border-color:color-mix(in srgb,var(--accent) 32%,transparent)}.s-focus-action:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.s-focus-action-name{font-family:var(--font-mono);font-size:var(--text-md);font-weight:500;letter-spacing:var(--tracking-md);text-transform:uppercase;color:var(--ink)}.s-focus-action-desc{font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--muted)}.s-focus-compose{display:flex;flex-direction:column;gap:var(--space-md);flex:1 1 auto;min-height:0}.s-focus-compose-label{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-xl);text-transform:uppercase;color:var(--dim)}.s-focus-compose-target{color:var(--accent);text-transform:none;letter-spacing:var(--tracking-xs);font-size:var(--text-sm);margin-left:var(--space-xs)}.s-focus-compose-input{flex:1 1 auto;min-height:120px;padding:var(--space-md) var(--space-lg);background:color-mix(in srgb,var(--bg) 60%,transparent);border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:var(--radius-sm);color:var(--ink);font-family:var(--font-mono);font-size:var(--text-md);line-height:var(--leading-normal);resize:none;outline:none;transition:border-color .12s}.s-focus-compose-input::placeholder{color:var(--dim)}.s-focus-compose-input:focus{border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.s-focus-compose-input:disabled{opacity:.6}.s-focus-compose-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg)}.s-focus-compose-hint{flex:1 1 auto;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--dim);line-height:var(--leading-snug);min-width:0}.s-focus-compose-hint strong{color:var(--ink);font-weight:500}.s-focus-compose-error{color:var(--red)}.s-focus-compose-ok{color:var(--green);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-md)}.s-focus-compose-link{background:transparent;border:0;padding:0;margin-left:var(--space-sm);color:var(--accent);font-family:inherit;font-size:inherit;letter-spacing:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.s-focus-compose-link:hover{color:var(--ink)}.s-focus-compose-actions{display:flex;gap:var(--space-sm);flex:0 0 auto}.s-mission-overlay-name{font-size:var(--text-xl);font-weight:500}.s-mission-overlay-meta{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--dim);letter-spacing:var(--tracking-sm)}.s-mission-overlay-actions{margin-left:auto;display:flex;gap:var(--space-xs)}.s-mission-overlay-body{flex:1;min-height:0;overflow:hidden}
@@ -1 +0,0 @@
1
- import{s as e,c as a}from"./colors-BtO5_zlx.js";const o=6e4;function r(s,t){switch(t){case"activity":return s.activityLabel;case"workspace":return s.workspace?.trim()||"Unassigned";case"harness":return s.harness?.trim()||"Unknown harness";case"state":return a(s.state??null);case"source":return s.source==="native"?"Native sessions":"Scout agents"}}const i={think:"think",tool:"tool",ask:"ask",message:"msg",note:"note",system:"sys",boot:"boot"};function c(s){return e(s)}export{o as A,i as K,r as m,c as s};
@@ -1 +0,0 @@
1
- import{r as o}from"./index-C1VaWNuD.js";const c=[{label:"5m",value:5*6e4},{label:"30m",value:30*6e4},{label:"4h",value:240*6e4},{label:"24h",value:1440*6e4}];let t={activityFilter:"active",sourceFilter:"all",activityWindowMs:c[3].value,groupMode:"activity",query:"",focusedId:null,revealRequest:null,visibleAgents:[],selectedIds:[]};const u=new Set;let a=0;function s(){for(const e of u)e()}function I(e){t.activityFilter!==e&&(t={...t,activityFilter:e},s())}function g(e){t.sourceFilter!==e&&(t={...t,sourceFilter:e},s())}function y(e){t.activityWindowMs!==e&&(t={...t,activityWindowMs:e},s())}function A(e){t.groupMode!==e&&(t={...t,groupMode:e},s())}function S(e){t.query!==e&&(t={...t,query:e},s())}function h(e){t.focusedId!==e&&(t={...t,focusedId:e},s())}function b(e){a+=1,t={...t,revealRequest:{id:e,serial:a}},s()}function p(e){t.revealRequest?.serial===e&&(t={...t,revealRequest:null},s())}function f(e,n){if(e===n)return!0;if(e.length!==n.length)return!1;for(let i=0;i<e.length;i++){const r=e[i],l=n[i];if(r.id!==l.id||r.state!==l.state||r.updatedAt!==l.updatedAt||r.activity!==l.activity||r.lastActiveAt!==l.lastActiveAt)return!1}return!0}function q(e){f(t.visibleAgents,e)||(t={...t,visibleAgents:e},s())}function _(e){const n=t.selectedIds.includes(e);t={...t,selectedIds:n?t.selectedIds.filter(i=>i!==e):[...t.selectedIds,e]},s()}function R(){t.selectedIds.length!==0&&(t={...t,selectedIds:[]},s())}function d(e){return u.add(e),()=>{u.delete(e)}}function v(){return t}function F(){return o.useSyncExternalStore(d,v)}export{c as M,S as a,I as b,y as c,A as d,R as e,q as f,p as g,h,b as r,g as s,_ as t,F as u};
@@ -1 +0,0 @@
1
- import{r}from"./index-C1VaWNuD.js";import{a as L}from"./api-Co9aQ2Jw.js";import{a as S}from"./colors-BtO5_zlx.js";import{i as y,o as E}from"./surface-activity-B1rgWB1i.js";const _=1e4,b=6e4;function O(t,s){const[p,i]=r.useState({}),c=s?.enabled??!0,o=r.useRef(!0),f=r.useRef(!1),l=r.useRef(!1),u=s?.pauseWhenHidden??!1,d=t.map(e=>e.id.trim()).filter(e=>e.length>0).join(","),I=t.some(e=>S(e.state))?s?.activeIntervalMs??_:s?.idleIntervalMs??b,n=r.useCallback(async()=>{if(c){if(t.length===0){i({});return}if(!(u&&!y())){if(f.current){l.current=!0;return}f.current=!0;try{const e=d?`?ids=${encodeURIComponent(d)}`:"",v=await L(`/api/observe/agents${e}`);if(!o.current)return;i(h=>{const m={};for(const a of t)m[a.id]=h[a.id];for(const a of v){const{agentId:R,...A}=a;m[R]=A}return m})}finally{f.current=!1,l.current&&(l.current=!1,n())}}}},[d,t,c,u]);return r.useEffect(()=>{if(o.current=!0,!c||t.length===0)return i({}),()=>{o.current=!1};n();const e=setInterval(()=>{n()},I),v=u?E(()=>{n()}):null;return()=>{o.current=!1,clearInterval(e),v?.()}},[t.length,c,n,u,I]),p}export{O as u};
@@ -1 +0,0 @@
1
- .s-ops{display:flex;flex-direction:column;height:100%;min-height:0}.s-ops-header{position:relative;display:flex;align-items:center;justify-content:center;gap:var(--space-xl);padding:0 var(--space-3xl);height:44px;flex:none;border-bottom:1px solid color-mix(in srgb,var(--border) 62%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 34%,transparent),transparent),color-mix(in srgb,var(--bg) 94%,black)}.s-ops-header:empty{display:none}.s-ops-header:after{content:"";position:absolute;left:var(--space-xl);right:var(--space-xl);bottom:0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 22%,transparent),transparent);pointer-events:none}.s-ops-tabs{display:flex;gap:0;max-width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);overflow-x:auto}.s-ops-tab{flex:none;padding:var(--space-2xs) var(--space-xl);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-md);border:0;cursor:pointer;background:transparent;color:var(--dim);transition:background .12s,color .12s}.s-ops-tab:hover{color:var(--ink)}.s-ops-tab--active{background:var(--accent);color:var(--bg)}.s-ops-body{flex:1;min-height:0;overflow:hidden;position:relative;display:flex;flex-direction:column}.s-ops-body>.s-agent-lanes,.s-ops-body>.scope-lanes{flex:1;min-height:0}.s-ops-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-xl);color:var(--dim);text-transform:uppercase}.s-ops-eyebrow{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-lg);text-transform:uppercase;color:var(--dim);margin-bottom:var(--space-sm)}.s-ops-avatar{width:var(--size, 24px);height:var(--size, 24px);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:600;font-size:calc(var(--size, 24px) * .5);flex-shrink:0;color:var(--scout-chrome-avatar-ink)}.s-ops-state-chip{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-md);padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-sm);border:1px solid currentColor;min-width:64px;text-align:center;text-transform:uppercase}.s-ops-btn{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-sm);padding:var(--space-xs) var(--space-lg);border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--muted);transition:background .12s,color .12s}.s-ops-btn:hover{background:var(--surface)}.s-ops-btn:disabled{cursor:not-allowed;opacity:.45}.s-ops-btn:disabled:hover{background:transparent}.s-ops-btn--primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}.s-ops-btn--primary:hover{opacity:.9}.s-runs{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;background:color-mix(in srgb,var(--bg) 86%,black);color:var(--ink);font-family:var(--font-sans)}.s-runs-toolbar{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-3xl);border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.s-runs-breadcrumb{flex:none;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-sm);white-space:nowrap}.s-runs-breadcrumb span{color:var(--dim);padding:0 var(--space-xs)}.s-runs-search{display:flex;align-items:center;gap:var(--space-sm);width:min(380px,32vw);min-width:220px;margin-left:auto;padding:var(--space-xs) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--dim);background:color-mix(in srgb,var(--surface) 68%,transparent)}.s-runs-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:var(--text-sm) var(--font-mono)}.s-runs-search input::placeholder{color:var(--dim)}.s-runs-toggle{display:inline-flex;flex:none;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-sm)}.s-runs-toggle-btn{padding:var(--space-xs) var(--space-md);border:0;border-right:1px solid var(--border);background:transparent;color:var(--dim);cursor:pointer;font:var(--text-sm) var(--font-mono);letter-spacing:var(--tracking-md);text-transform:uppercase}.s-runs-toggle-btn:last-child{border-right:0}.s-runs-toggle-btn:hover{color:var(--ink)}.s-runs-toggle-btn--active{background:var(--accent);color:var(--bg)}.s-runs-filter{display:inline-flex;align-items:center;gap:var(--space-xs);flex:none;color:var(--dim);font:var(--text-xs) var(--font-mono);letter-spacing:var(--tracking-md);text-transform:uppercase}.s-runs-filter select{max-width:140px;height:27px;border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface) 68%,transparent);color:var(--muted);font:var(--text-sm) var(--font-mono)}.s-runs-icon-btn{display:grid;place-items:center;flex:none;width:28px;height:28px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer}.s-runs-icon-btn:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent)}.s-runs-icon-btn--loading svg{animation:s-runs-spin .8s linear infinite}.s-runs-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-md);padding:var(--space-lg) var(--space-3xl);border-bottom:1px solid color-mix(in srgb,var(--border) 56%,transparent)}.s-runs-metric{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-md) var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 55%,transparent)}.s-runs-metric span{min-width:0;overflow:hidden;color:var(--dim);font:var(--text-2xs) var(--font-mono);letter-spacing:var(--tracking-xl);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.s-runs-metric strong{flex:none;color:var(--ink);font:var(--text-lg) var(--font-mono);font-variant-numeric:tabular-nums}.s-runs-metric--bad strong{color:var(--red)}.s-runs-error{margin:var(--space-md) var(--space-3xl) 0;padding:var(--space-sm) var(--space-md);border:1px solid color-mix(in srgb,var(--red) 65%,transparent);border-radius:var(--radius-sm);color:var(--red);background:color-mix(in srgb,var(--red) 8%,transparent);font:var(--text-sm) var(--font-mono)}.s-runs-table-wrap{flex:1;min-height:0;margin:var(--space-xl) var(--space-3xl) var(--space-3xl);overflow:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg) 72%,black)}.s-runs-table{width:100%;min-width:1160px;border-collapse:collapse;table-layout:fixed;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-sm)}.s-runs-table th{position:sticky;top:0;z-index:1;padding:var(--space-md) var(--space-md);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 89%,black);color:var(--dim);font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-lg);text-align:left;text-transform:uppercase;white-space:nowrap}.s-runs-table td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid color-mix(in srgb,var(--border) 42%,transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.s-runs-table tbody tr:hover td{background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--ink)}.s-runs-table th:nth-child(1),.s-runs-table td:nth-child(1){width:150px}.s-runs-table th:nth-child(2),.s-runs-table td:nth-child(2){width:105px}.s-runs-table th:nth-child(3),.s-runs-table td:nth-child(3){width:160px}.s-runs-table th:nth-child(4),.s-runs-table td:nth-child(4){width:auto}.s-runs-table th:nth-child(5),.s-runs-table td:nth-child(5){width:120px}.s-runs-table th:nth-child(6),.s-runs-table td:nth-child(6){width:130px}.s-runs-table th:nth-child(7),.s-runs-table td:nth-child(7){width:86px;text-align:right}.s-runs-table th:nth-child(8),.s-runs-table td:nth-child(8){width:185px}.s-runs-state{display:inline-flex;align-items:center;justify-content:center;width:76px;height:20px;border:1px solid currentColor;border-radius:var(--radius-sm);color:var(--dim);font-size:var(--text-2xs);letter-spacing:var(--tracking-md);text-transform:uppercase}.s-runs-state--live{color:var(--accent)}.s-runs-state--queued{color:var(--muted)}.s-runs-state--waiting{color:var(--amber)}.s-runs-state--done{color:var(--green)}.s-runs-state--bad{color:var(--red)}.s-runs-review{margin-left:var(--space-xs);color:var(--amber);font-size:var(--text-2xs);letter-spacing:var(--tracking-md);text-transform:uppercase}.s-runs-agent{all:unset;display:block;width:100%;min-width:0;cursor:pointer}.s-runs-agent strong,.s-runs-agent small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-runs-agent strong{color:var(--ink);font-size:var(--text-md)}.s-runs-agent small{margin-top:var(--space-3xs);color:var(--dim);font-size:var(--text-xs)}.s-runs-agent:hover strong,.s-runs-link:hover{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.s-runs-task{overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.s-runs-link{all:unset;max-width:100%;overflow:hidden;color:var(--accent);cursor:pointer;text-overflow:ellipsis;white-space:nowrap}.s-runs-muted,.s-runs-time{color:var(--dim)}.s-runs-ids{display:grid;gap:var(--space-3xs);min-width:0}.s-runs-id-primary,.s-runs-id-secondary{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-runs-id-secondary{color:var(--dim);font-size:var(--text-xs)}.s-runs-empty{padding:var(--space-6xl) var(--space-2xl);color:var(--dim);text-align:center}@keyframes s-runs-spin{to{transform:rotate(360deg)}}@media(max-width:900px){.s-runs-toolbar{flex-wrap:wrap}.s-runs-search{width:100%;min-width:0;margin-left:0;order:2}.s-runs-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@keyframes s-ops-cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes s-ops-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:0;transform:scale(1.5)}}
@@ -1 +0,0 @@
1
- import{r as u}from"./index-C1VaWNuD.js";let e={hover:null,content:null};const n=new Set;function s(){for(const t of n)t()}function i(t){return n.add(t),()=>{n.delete(t)}}function r(){return e}function c(){return u.useSyncExternalStore(i,r,r)}function o(t){e.hover!==t&&(e={...e,hover:t},s())}function f(t){return!t||!t.route&&!t.label?{onPointerEnter:void 0,onPointerLeave:void 0}:{onPointerEnter:()=>o(t),onPointerLeave:()=>{e.hover===t&&o(null)}}}export{f as s,c as u};
@@ -1 +0,0 @@
1
- import{c}from"./createLucideIcon-Dv8H8m7J.js";const a=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],o=c("paperclip",a);export{o as P};
@@ -1 +0,0 @@
1
- const e=[];function a(t){e.push(t),e.length>400&&e.splice(0,e.length-400)}function i(t){return t>=1048576?`${(t/1048576).toFixed(1)}MB`:t>=1024?`${Math.round(t/1024)}KB`:`${t}B`}function r(t){const n=t.indexOf("?");return n===-1?t:t.slice(0,n)}function c(t){a({kind:"api",at:Date.now(),...t}),t.ms>=600&&console.info(`[scout-perf] slow api ${t.method} ${t.path} ${Math.round(t.ms)}ms ${i(t.bytes)}${t.ok?"":" (failed)"}`)}function m(t,n){if(typeof requestAnimationFrame!="function")return;const o=performance.now();requestAnimationFrame(()=>{requestAnimationFrame(()=>{const s=performance.now()-o;a({kind:"nav",from:t,to:n,ms:s,at:Date.now()}),s>=300&&console.info(`[scout-perf] slow nav ${t} -> ${n} ${Math.round(s)}ms to first paint`)})})}function u(){const t=new Map;for(const n of e){const o=n.kind==="api"?`${n.method} ${r(n.path)}`:`nav ${n.to}`,s=t.get(o)??{count:0,totalMs:0,maxMs:0,totalBytes:0};s.count+=1,s.totalMs+=n.ms,s.maxMs=Math.max(s.maxMs,n.ms),n.kind==="api"&&(s.totalBytes+=n.bytes),t.set(o,s)}return[...t.entries()].map(([n,o])=>({key:n,count:o.count,avgMs:Math.round(o.totalMs/o.count),maxMs:Math.round(o.maxMs),totalBytes:o.totalBytes})).sort((n,o)=>o.maxMs-n.maxMs)}typeof window<"u"&&(window.__scoutPerf={entries:()=>[...e],summary:u});export{m as b,c as r};