@openscout/scout 0.2.97 → 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 (634) hide show
  1. package/NOTICE +7 -0
  2. package/README.md +0 -1
  3. package/bin/scoutd +0 -0
  4. package/dist/build-manifest.json +3 -3
  5. package/dist/client/assets/ActivityScreen-DCALiEXY.js +1 -0
  6. package/dist/client/assets/{AddProjectForm-r_1tVuWk.js → AddProjectForm-DfbjlFfy.js} +1 -1
  7. package/dist/client/assets/AdventureEvidence-Dzz9VbuE.js +5 -0
  8. package/dist/client/assets/AdventureReader-ClMxT0e4.js +4 -0
  9. package/dist/client/assets/AdventureScenery-D548O0x4.js +1 -0
  10. package/dist/client/assets/AgentAdventures-NwTKeF0F.js +1 -0
  11. package/dist/client/assets/AgentAvatar-BIwg54Tj.js +1 -0
  12. package/dist/client/assets/AgentConfigurationScreen-B2Hw0ce1.js +1 -0
  13. package/dist/client/assets/AgentDefinitionsWorkspace-CwZJ833X.js +1 -0
  14. package/dist/client/assets/AgentDetailCard-CFDE8TLi.js +1 -0
  15. package/dist/client/assets/AgentFloorView-l2wNKFob.js +1 -0
  16. package/dist/client/assets/AgentFloorWorld-BDJmXl3C.js +1 -0
  17. package/dist/client/assets/AgentInfoScreen-ClZM1wQb.js +1 -0
  18. package/dist/client/assets/{AgentLaneCard-ajZvcfdW.js → AgentLaneCard-C6YmwPxQ.js} +1 -1
  19. package/dist/client/assets/{AgentLaneChrome-CTp39syR.js → AgentLaneChrome-D9uJ4QY7.js} +1 -1
  20. package/dist/client/assets/{AgentLaneDetailSheet-DRc-TpMB.js → AgentLaneDetailSheet-KYckCBCX.js} +2 -2
  21. package/dist/client/assets/{AgentLaneSummaryResize-VMNDo7kD.js → AgentLaneSummaryResize-BBYBS3DO.js} +1 -1
  22. package/dist/client/assets/AgentLanesEmbedScreen-DqHwqY0X.js +1 -0
  23. package/dist/client/assets/{AgentLanesPreflight-CFadSaia.js → AgentLanesPreflight-pw2vMO3Q.js} +1 -1
  24. package/dist/client/assets/AgentLanesView-aAyC7lHf.js +2 -0
  25. package/dist/client/assets/AgentLiveActions-lYzicnNa.js +1 -0
  26. package/dist/client/assets/AgentMasterScreen-By6DN0jF.js +1 -0
  27. package/dist/client/assets/AgentSessions-Cox2zS-e.js +6 -0
  28. package/dist/client/assets/AgentsConsole-Dq0S_hRA.js +1 -0
  29. package/dist/client/assets/AgentsScreen-Bi9Lx47B.js +1 -0
  30. package/dist/client/assets/AgentsSubnav-BOobgtGE.js +1 -0
  31. package/dist/client/assets/{AstronautSuit-Cjjcv6yQ.js → AstronautSuit-C-4I5YKi.js} +1 -1
  32. package/dist/client/assets/AtopView-DKm-ERYC.js +1 -0
  33. package/dist/client/assets/BackToPicker-Bys9ColC.js +1 -0
  34. package/dist/client/assets/BriefingDetailScreen-sprFl4Nk.js +1 -0
  35. package/dist/client/assets/BriefingsScreen-D4Zf31Y6.js +1 -0
  36. package/dist/client/assets/{BrokerMetadataPanel-DbaCQlhw.js → BrokerMetadataPanel-1GoSl2BV.js} +1 -1
  37. package/dist/client/assets/BrokerScreen-CejzhRsB.js +8 -0
  38. package/dist/client/assets/{CastPicker-CTBHjjGw.js → CastPicker-BuwE_JQp.js} +1 -1
  39. package/dist/client/assets/CharacterFamilyPreview-BniL8sEL.css +1 -0
  40. package/dist/client/assets/CharacterFamilyPreview-CfO3j8Of.js +1 -0
  41. package/dist/client/assets/ChatCollapsedStrip-TV0j1xTB.js +1 -0
  42. package/dist/client/assets/{CodeDiffPane-QvxCUzTi.js → CodeDiffPane-DB6-mqtX.js} +1 -1
  43. package/dist/client/assets/{CodeProjectPicker-DplkpM7f.js → CodeProjectPicker-B_LNLpIK.js} +1 -1
  44. package/dist/client/assets/CodeScreen-C9H160XS.js +1 -0
  45. package/dist/client/assets/CommsCanvas-BR2YS76H.css +1 -0
  46. package/dist/client/assets/CommsCanvas-DOKw3Q8i.js +1 -0
  47. package/dist/client/assets/CommsDeck-C18JA7rK.js +1 -0
  48. package/dist/client/assets/CommsFlowGraph-Czg-KTS0.js +1 -0
  49. package/dist/client/assets/CommsFlowGraph-vQucylxF.css +1 -0
  50. package/dist/client/assets/CommsFlowMap-CzBWvSa5.js +1 -0
  51. package/dist/client/assets/CommsSelection-g1twA-Lb.js +1 -0
  52. package/dist/client/assets/ConversationComposer-B7RU6LKd.js +1 -0
  53. package/dist/client/assets/ConversationFeedRows-DVqnZQH0.js +1 -0
  54. package/dist/client/assets/ConversationHeader-CCSU8uo_.js +1 -0
  55. package/dist/client/assets/ConversationPanels-C9yCAoJy.js +6 -0
  56. package/dist/client/assets/ConversationScreen-Brfas2y0.css +1 -0
  57. package/dist/client/assets/ConversationScreen-tTP6B_F-.js +2 -0
  58. package/dist/client/assets/ConversationStatus-CK-YfLpi.js +1 -0
  59. package/dist/client/assets/{CrewAvatar-CXJHLNVM.js → CrewAvatar-CJhuqTsJ.js} +1 -1
  60. package/dist/client/assets/CrewSprite-DsQJdu3Z.css +1 -0
  61. package/dist/client/assets/CrewSprite-hgpA3SWB.js +1 -0
  62. package/dist/client/assets/CrewWorkspaces-4O8dgRUD.js +1 -0
  63. package/dist/client/assets/{DataTable-DXIlOlVu.js → DataTable-BMOZ1-z8.js} +1 -1
  64. package/dist/client/assets/DispatchAftermath-DDlwqSCY.js +1 -0
  65. package/dist/client/assets/DocumentFocusViewer-f12RRQpV.js +1 -0
  66. package/dist/client/assets/{EmbeddableSurfacesLab-DgpewB3y.js → EmbeddableSurfacesLab-DGl9EMRV.js} +1 -1
  67. package/dist/client/assets/{EmptyState-D9X16fKq.js → EmptyState-uyYN5piI.js} +1 -1
  68. package/dist/client/assets/{FileViewerPane-CY0RN78e.js → FileViewerPane-HtiDbj9N.js} +2 -2
  69. package/dist/client/assets/FlightObserveScreen-DDXfNbsw.js +1 -0
  70. package/dist/client/assets/FloorContextSheet-DV-SYA0K.js +1 -0
  71. package/dist/client/assets/FloorExchangePanel-B3TFhjLk.css +1 -0
  72. package/dist/client/assets/FloorExchangePanel-D59nvRCF.js +1 -0
  73. package/dist/client/assets/FloorMessagePasses-BCwsz9VS.js +1 -0
  74. package/dist/client/assets/FloorMessagePasses-nxwwiUom.css +1 -0
  75. package/dist/client/assets/FloorReplay-BHo79HCD.js +1 -0
  76. package/dist/client/assets/FloorResourcesSheet-Djrgd_ZU.js +1 -0
  77. package/dist/client/assets/FloorSavedWork-2tjBoy06.js +1 -0
  78. package/dist/client/assets/FloorTacticalHUD-Bngao6sn.js +1 -0
  79. package/dist/client/assets/FollowScreen-eHXOlK-u.js +1 -0
  80. package/dist/client/assets/{HarnessMark-DAaWPiT_.js → HarnessMark-Bt47OeHy.js} +1 -1
  81. package/dist/client/assets/HarnessesScreen-M84sFjWY.js +1 -0
  82. package/dist/client/assets/{HerdrSession-CYKRfBad.js → HerdrSession-CtJOUn7H.js} +3 -3
  83. package/dist/client/assets/{HomeHero-DYyd3cpz.js → HomeHero-Cvwx2H0w.js} +1 -1
  84. package/dist/client/assets/HostAdvisorView-CTJXIc1Q.js +1 -0
  85. package/dist/client/assets/KnowledgeSearchInspector-DwGMVmFL.js +1 -0
  86. package/dist/client/assets/KnowledgeSearchScreen-WC0WhFio.js +1 -0
  87. package/dist/client/assets/{LaneToolHoverCard-Bo2Zl-1a.js → LaneToolHoverCard-C6YehJqD.js} +1 -1
  88. package/dist/client/assets/LaneTraceDetailSheet-mAhj7MJi.js +1 -0
  89. package/dist/client/assets/{LaneTraceEventFocus-Cek_64zR.js → LaneTraceEventFocus-WLNZZVi_.js} +1 -1
  90. package/dist/client/assets/MeshCanvas-FDDGE69h.js +3 -0
  91. package/dist/client/assets/MeshCanvasMinimap-CGRzQCac.js +1 -0
  92. package/dist/client/assets/MeshScreen-DlfiMlaR.js +1 -0
  93. package/dist/client/assets/{MeshTopologyView-BjprutE8.js → MeshTopologyView-C2Cv_2gx.js} +2 -2
  94. package/dist/client/assets/MessagesScreen-BZ7yaGJx.js +1 -0
  95. package/dist/client/assets/MissionContextRail-CVSZJnvX.js +1 -0
  96. package/dist/client/assets/MissionControlView-DpGhxG4a.js +1 -0
  97. package/dist/client/assets/MissionFocusOverlay-B9SiuO-i.js +1 -0
  98. package/dist/client/assets/MissionLeftAgentRow-DhhRRim0.js +1 -0
  99. package/dist/client/assets/MissionLogPane-CMBiI29U.js +1 -0
  100. package/dist/client/assets/NativeAreaScreen-BQyHHRAM.js +1 -0
  101. package/dist/client/assets/NativeAreaScreen-Ditv-TYW.js +1 -0
  102. package/dist/client/assets/NativeAreaScreen-Dq3uPSEI.js +1 -0
  103. package/dist/client/assets/NewAgentModal-Cl4nsGhu.js +1 -0
  104. package/dist/client/assets/NewChatComposer-JjLbm3W2.js +19 -0
  105. package/dist/client/assets/{NewChatOrigin-D7hwp6dm.js → NewChatOrigin-CyPPWTJP.js} +1 -1
  106. package/dist/client/assets/NodeDetailPanel-BUG8rOb-.js +1 -0
  107. package/dist/client/assets/NodeMenu-Fw8ATWQA.js +1 -0
  108. package/dist/client/assets/ObserveEmbedScreen-BPiSXXvm.js +2 -0
  109. package/dist/client/assets/{ObserveTextFlow-BcrGQet8.js → ObserveTextFlow-ET0dD1wO.js} +2 -2
  110. package/dist/client/assets/{ObservedTopologyPanel-BhVsvwkh.js → ObservedTopologyPanel-DkEkQzo-.js} +1 -1
  111. package/dist/client/assets/OpenScoutAppShell-CzKbjwCA.js +22 -0
  112. package/dist/client/assets/OpsAgentsView-CZbtkcQH.js +1 -0
  113. package/dist/client/assets/OpsScreen-DJq-aBmX.js +1 -0
  114. package/dist/client/assets/OpsSubnav-9sURjajO.js +1 -0
  115. package/dist/client/assets/ProjectAgentProfile-q_1tMJIL.js +1 -0
  116. package/dist/client/assets/ProjectAgentProfileBar-C1fR65Eh.js +1 -0
  117. package/dist/client/assets/ProjectAgentProfileHero-DyEFyTFs.js +1 -0
  118. package/dist/client/assets/ProjectsInbox-Bs8I__my.js +2 -0
  119. package/dist/client/assets/ProjectsRail-Deb38OJ1.js +1 -0
  120. package/dist/client/assets/ProjectsScreen-CgLiYiss.js +1 -0
  121. package/dist/client/assets/ProjectsThreadAside-C0Yw3yIL.js +1 -0
  122. package/dist/client/assets/Provider-5Hotn7NQ.js +5 -0
  123. package/dist/client/assets/{RailRow-B0sRaJc6.css → RailRow-B25zKEub.css} +1 -1
  124. package/dist/client/assets/RailRow-BYguXNm4.js +1 -0
  125. package/dist/client/assets/RawSessionsTable-DIhmlvk-.js +1 -0
  126. package/dist/client/assets/RealtimeVoiceScreen-3oU7b7V5.js +1 -0
  127. package/dist/client/assets/RenderedWorkerSprite-CvdWO32C.js +1 -0
  128. package/dist/client/assets/RenderedWorkerSprite-qnTfkd_4.css +1 -0
  129. package/dist/client/assets/ReplayClock-B7JLTp8A.js +1 -0
  130. package/dist/client/assets/ReplayLog-DZTpf2CW.js +1 -0
  131. package/dist/client/assets/ReplayOutpost-CvWQa30T.js +1 -0
  132. package/dist/client/assets/ReplayOutpost-Y1DvZgeu.css +1 -0
  133. package/dist/client/assets/{RepoDiffEmbedScreen-CjZ5ew3y.js → RepoDiffEmbedScreen-Cbu0_PJW.js} +1 -1
  134. package/dist/client/assets/{RepoDiffPageScreen-CdTFfmbk.js → RepoDiffPageScreen-Chwm6GXL.js} +1 -1
  135. package/dist/client/assets/RepoDiffViewer-C2mb0Wj-.js +7 -0
  136. package/dist/client/assets/RepoDiffViewerLazy-BQ6ZCrsq.js +2 -0
  137. package/dist/client/assets/{ReposScreen-C8dT4bK0.js → ReposScreen-C7JZQmyh.js} +2 -2
  138. package/dist/client/assets/RiggedWorkerCharacter-BpYECnyK.css +1 -0
  139. package/dist/client/assets/RiggedWorkerCharacter-DNe731GE.js +1 -0
  140. package/dist/client/assets/SageModelStudio-768dRQr4.css +1 -0
  141. package/dist/client/assets/SageModelStudio-BR1J2D4R.js +4108 -0
  142. package/dist/client/assets/ScoutDeckSurface-flRamdvE.js +1 -0
  143. package/dist/client/assets/{ScoutSurface-DmzEtrx8.js → ScoutSurface-BpklGmDL.js} +1 -1
  144. package/dist/client/assets/{ScoutbotFxLab-DU15Plja.js → ScoutbotFxLab-DeK7ySWZ.js} +1 -1
  145. package/dist/client/assets/{SecondaryNav-BrXMtvKE.js → SecondaryNav-BkTn5tkq.js} +1 -1
  146. package/dist/client/assets/SessionEmbedScreen-CcQN6xlo.js +1 -0
  147. package/dist/client/assets/{SessionObserve-CLrHfAKZ.css → SessionObserve-BOBJSfs0.css} +1 -1
  148. package/dist/client/assets/SessionObserve-DaqDhqDI.js +12 -0
  149. package/dist/client/assets/SessionObserveEvidence-Drv-D8Oh.js +1 -0
  150. package/dist/client/assets/SessionRefScreen-BOQ1_ydg.js +1 -0
  151. package/dist/client/assets/SessionsScreen-R8QKvoey.js +1 -0
  152. package/dist/client/assets/SettingsDrawer-BDapR4E9.js +3 -0
  153. package/dist/client/assets/SettingsScreen-DirtO7Z0.js +1 -0
  154. package/dist/client/assets/SharedFloorCharacter-Bi5_md4R.css +1 -0
  155. package/dist/client/assets/SharedFloorCharacter-CSYG_t9t.js +1 -0
  156. package/dist/client/assets/SharedWorkFloor-BCmdeb3Q.css +1 -0
  157. package/dist/client/assets/SharedWorkFloor-yPWFLZwX.js +2 -0
  158. package/dist/client/assets/{ShikiPane-DPWsVNtn.js → ShikiPane-BudrOxNK.js} +1 -1
  159. package/dist/client/assets/{SlidePanel-BMRIR6bH.js → SlidePanel-Datu7XG4.js} +1 -1
  160. package/dist/client/assets/SpriteAvatar-BW1JzkDt.js +1 -0
  161. package/dist/client/assets/SproutActionSprite-DveCzg6l.js +1 -0
  162. package/dist/client/assets/{StatusPill-BcuYUgsD.js → StatusPill-MxYClPG5.js} +1 -1
  163. package/dist/client/assets/{TailView-BDy8c2VB.js → TailView-Dn7uWmPz.js} +2 -2
  164. package/dist/client/assets/Terminal-D-DsQlmV.js +4 -0
  165. package/dist/client/assets/TerminalEmbedScreen-9Gmln759.js +1 -0
  166. package/dist/client/assets/TerminalHeaderMount-DCGstkZ4.js +1 -0
  167. package/dist/client/assets/{TextDocumentSurface-BeSwe3Yl.js → TextDocumentSurface-BhYvAB0o.js} +1 -1
  168. package/dist/client/assets/{TmuxPeek-B4no_aGI.js → TmuxPeek-BhK0V9Qt.js} +1 -1
  169. package/dist/client/assets/{VoicePermissionsPanel-Bd16scwz.js → VoicePermissionsPanel-CecFWzva.js} +1 -1
  170. package/dist/client/assets/{WorkDetailScreen-DIFQufak.js → WorkDetailScreen-CwtRCm_-.js} +4 -4
  171. package/dist/client/assets/WorkFilesViewer-DJHftsH9.js +1 -0
  172. package/dist/client/assets/WorkRunView-CxwAZ2QQ.css +1 -0
  173. package/dist/client/assets/WorkRunView-x5PH1byG.js +1 -0
  174. package/dist/client/assets/WorldActorTalk-uIH2jGqA.js +1 -0
  175. package/dist/client/assets/WorldCharacter-Dn4sIXNP.js +1 -0
  176. package/dist/client/assets/WorldMinimap-Blqg0d5r.js +1 -0
  177. package/dist/client/assets/WorldSky-DV9bpvXj.js +1 -0
  178. package/dist/client/assets/{activity-CqZafWfx.js → activity-CSUhvjD0.js} +1 -1
  179. package/dist/client/assets/{addon-fit-CM6F_JRD.js → addon-fit-MR98IWES.js} +1 -1
  180. package/dist/client/assets/{addon-webgl-DRTiePFC.js → addon-webgl-CIIKXrvK.js} +1 -1
  181. package/dist/client/assets/adventure-evidence-DgQbBmfa.css +1 -0
  182. package/dist/client/assets/adventure-habitats-v1-CVMbdB_Z.png +0 -0
  183. package/dist/client/assets/adventure-habitats-v1-M1lcpTJh.js +1 -0
  184. package/dist/client/assets/adventure-playback-DTfkhIc0.js +3 -0
  185. package/dist/client/assets/adventure-reader-DM5UDDm9.css +1 -0
  186. package/dist/client/assets/agent-adventures-DZtWpj6k.css +1 -0
  187. package/dist/client/assets/agent-autocomplete-CeHQpuG9.js +10 -0
  188. package/dist/client/assets/{agent-essentials-vytdybaX.js → agent-essentials-8t2il7PV.js} +1 -1
  189. package/dist/client/assets/{agent-floor-CuJr1iK1.css → agent-floor-Dmr9hZHL.css} +1 -1
  190. package/dist/client/assets/agent-floor-actor-3v9drnxh.js +1 -0
  191. package/dist/client/assets/agent-floor-world-Bnd1AtwK.css +1 -0
  192. package/dist/client/assets/agent-floor-world-layout-hfMjuoui.js +1 -0
  193. package/dist/client/assets/agent-lane-card-model-l0stnU9N.js +1 -0
  194. package/dist/client/assets/{agent-lane-detail-ppJId6Jc.js → agent-lane-detail-Db7KyAlf.js} +1 -1
  195. package/dist/client/assets/{agent-lane-preview-BhplDYGf.js → agent-lane-preview-B8lsQJOQ.js} +1 -1
  196. package/dist/client/assets/{agent-lanes-DlqcEf0l.css → agent-lanes-DmgipV9D.css} +1 -1
  197. package/dist/client/assets/agent-lanes-model-CX0wTcnF.js +4 -0
  198. package/dist/client/assets/agent-master-THmq-1k8.css +1 -0
  199. package/dist/client/assets/agent-master-model-C-KdOFDK.js +1 -0
  200. package/dist/client/assets/agent-specialization-CiVxQsFT.js +1 -0
  201. package/dist/client/assets/agent-state-DDhnFEEP.js +1 -0
  202. package/dist/client/assets/{api-HFH8wFyb.js → api-B9_IqFKY.js} +1 -1
  203. package/dist/client/assets/api-CaROe5_H.js +1 -0
  204. package/dist/client/assets/{arc.es-Bh84oHJ7.js → arc.es-BzhWalCl.js} +1 -1
  205. package/dist/client/assets/{arrow-down-DvTsLokL.js → arrow-down-WoVlkUmg.js} +1 -1
  206. package/dist/client/assets/{arrow-left-DHfdXJVZ.js → arrow-left-PuKdO3NM.js} +1 -1
  207. package/dist/client/assets/{arrow-right-BBsrogWf.js → arrow-right-ldbfp4SZ.js} +1 -1
  208. package/dist/client/assets/{arrow-up-right-CY0Vw_67.js → arrow-up-right-Hn754ybA.js} +1 -1
  209. package/dist/client/assets/book-open-BlJnpf2U.js +1 -0
  210. package/dist/client/assets/{bot-DzkOUFBb.js → bot-CfN9PSBF.js} +1 -1
  211. package/dist/client/assets/broker-display-BkBzyvbR.js +2 -0
  212. package/dist/client/assets/{cache-CeWH_KzJ.js → cache-DEy9E34b.js} +1 -1
  213. package/dist/client/assets/{check-DbIkldnK.js → check-B8dMv3Is.js} +1 -1
  214. package/dist/client/assets/{chevron-down-C475vltS.js → chevron-down-B5eMsn5c.js} +1 -1
  215. package/dist/client/assets/{chevron-right-CnZRSd-V.js → chevron-right-C7UGFpkl.js} +1 -1
  216. package/dist/client/assets/chevron-up-BHOEgHcn.js +1 -0
  217. package/dist/client/assets/{chunk-HRAB3GC3-DLNT8aOo.js → chunk-HRAB3GC3-C5X-kFhb.js} +1 -1
  218. package/dist/client/assets/chunk-JTPDIGGW-ZC-98AHT.js +46 -0
  219. package/dist/client/assets/{chunk-T65CQEWV-BtNvicWs.js → chunk-T65CQEWV-CSVUz2rY.js} +1 -1
  220. package/dist/client/assets/chunk-YOZR3KYS-B59jqwO0.js +2 -0
  221. package/dist/client/assets/{clock-DVvENUU5.js → clock-DFcRbtrl.js} +1 -1
  222. package/dist/client/assets/{code-xml-CvKBY3KA.js → code-xml-BmyLM0I2.js} +1 -1
  223. package/dist/client/assets/coffee-C_D9zooM.js +1 -0
  224. package/dist/client/assets/colors-CFlbwC25.js +1 -0
  225. package/dist/client/assets/comms-deck-C8nVeMBh.css +1 -0
  226. package/dist/client/assets/comms-deck-CBhsXnY-.js +2 -0
  227. package/dist/client/assets/comms-gesture-_aGFo6g3.js +2 -0
  228. package/dist/client/assets/{compass-BcRI_YXo.js → compass-DTZdCpv9.js} +1 -1
  229. package/dist/client/assets/content-B5Q4pb9R.js +1 -0
  230. package/dist/client/assets/content-BK1IfOZs.js +1 -0
  231. package/dist/client/assets/content-BeEsWLEm.js +1 -0
  232. package/dist/client/assets/content-BkOwEknW.js +1 -0
  233. package/dist/client/assets/content-C32W5kAG.js +1 -0
  234. package/dist/client/assets/content-CoqyLs9v.js +1 -0
  235. package/dist/client/assets/content-CwpdIS5b.js +1 -0
  236. package/dist/client/assets/content-DS2OkJ3Q.js +1 -0
  237. package/dist/client/assets/content-DXKaPDfn.js +1 -0
  238. package/dist/client/assets/content-DZt5-dkI.js +1 -0
  239. package/dist/client/assets/content-DbQJH8L1.js +1 -0
  240. package/dist/client/assets/content-DetoiaHq.js +1 -0
  241. package/dist/client/assets/content-Dhu3wL7J.js +1 -0
  242. package/dist/client/assets/content-Dpv34iZu.js +1 -0
  243. package/dist/client/assets/content-TtQJb61D.js +1 -0
  244. package/dist/client/assets/content-ymNb2R7g.js +1 -0
  245. package/dist/client/assets/{context-budget-DX_fwUs3.js → context-budget-DemtXu7E.js} +1 -1
  246. package/dist/client/assets/{conversation-icons-CBMKBGHd.js → conversation-icons-BQ4OeOmr.js} +1 -1
  247. package/dist/client/assets/conversation-model-BGFHoxQ0.js +1 -0
  248. package/dist/client/assets/conversation-motion-features-9x8uZpwh.js +1 -0
  249. package/dist/client/assets/conversations-Cbg9h_Af.js +1 -0
  250. package/dist/client/assets/{copy-Cj-owMb-.js → copy-D9WUpQRf.js} +1 -1
  251. package/dist/client/assets/{cpu-DuD3RFX5.js → cpu-Ck_4tB_-.js} +1 -1
  252. package/dist/client/assets/{createLucideIcon-DthwWQIg.js → createLucideIcon-DkjnzvcJ.js} +1 -1
  253. package/dist/client/assets/{credentials-BTce3VP1.js → credentials-C4VXz2hr.js} +1 -1
  254. package/dist/client/assets/discover-C8IOY7_K.js +2 -0
  255. package/dist/client/assets/embed-entry-CG3CfCbm.js +2 -0
  256. package/dist/client/assets/embed-navigation-DayfkQau.js +1 -0
  257. package/dist/client/assets/{external-link-C_nxk0MJ.js → external-link-RT4Ph-6-.js} +1 -1
  258. package/dist/client/assets/{eye-FnaaPfja.js → eye-CtqSV8BS.js} +1 -1
  259. package/dist/client/assets/{file-code-corner-DDPq4Cur.js → file-code-corner-D_Aptal2.js} +1 -1
  260. package/dist/client/assets/{file-text--hfhwZH1.js → file-text-ChtICwub.js} +1 -1
  261. package/dist/client/assets/flag-CqdOxVkI.js +1 -0
  262. package/dist/client/assets/floor-character-name-CqJPOlXb.js +1 -0
  263. package/dist/client/assets/floor-context-model-DZBpo_oD.js +1 -0
  264. package/dist/client/assets/floor-context-sheet-BFnkFiY3.css +1 -0
  265. package/dist/client/assets/floor-memory-YMM8AlLY.js +1 -0
  266. package/dist/client/assets/floor-message-passes-CJh9f8Jp.js +1 -0
  267. package/dist/client/assets/floor-preview-text-HrORUJ7D.js +1 -0
  268. package/dist/client/assets/floor-replay-CccYqE-f.css +1 -0
  269. package/dist/client/assets/floor-tactical-hud-HL5Vja5Y.css +1 -0
  270. package/dist/client/assets/folder-0fWevPvQ.js +1 -0
  271. package/dist/client/assets/{gauge-BVEknshP.js → gauge-Dgtfxf_o.js} +1 -1
  272. package/dist/client/assets/{gestures-3gw5VgUS.js → gestures-BDCZ1FRG.js} +1 -1
  273. package/dist/client/assets/{git-branch-DJyvr0k-.js → git-branch-CA3cHKCI.js} +1 -1
  274. package/dist/client/assets/go-shortcuts-DKtw4qYx.js +1 -0
  275. package/dist/client/assets/home-moving-signal-B7m-ngb2.js +1 -0
  276. package/dist/client/assets/home-now-card-DduXkHRR.js +1 -0
  277. package/dist/client/assets/{home-now-card-nano-G8kMB32m.js → home-now-card-nano-D1ScGrgv.js} +1 -1
  278. package/dist/client/assets/hooks-C6VyQTQe.js +2 -0
  279. package/dist/client/assets/{hooks-D6NI15f6.css → hooks-D787lBmm.css} +1 -1
  280. package/dist/client/assets/index-C5cX8dkl.js +1 -0
  281. package/dist/client/assets/{index-BI9AljSD.js → index-C8uS5szO.js} +5 -5
  282. package/dist/client/assets/index-Ck1__1yL.css +1 -0
  283. package/dist/client/assets/index-ClOOrVG1.js +1 -0
  284. package/dist/client/assets/index-Crtgfc9I.js +1 -0
  285. package/dist/client/assets/index-CvsM3jm8.js +1 -0
  286. package/dist/client/assets/{inspector-panel-CFSArQ8Y.js → inspector-panel-BLhDODb3.js} +2 -2
  287. package/dist/client/assets/{keyboard-nav-e6yGeorb.js → keyboard-nav-CXfav14z.js} +1 -1
  288. package/dist/client/assets/knowledge-search-BNdQweGz.css +1 -0
  289. package/dist/client/assets/{lane-edit-display-C_Aujldz.js → lane-edit-display-BjdT9oZl.js} +1 -1
  290. package/dist/client/assets/{lane-observe-vfyACHi0.js → lane-observe-BD21P8BB.js} +2 -2
  291. package/dist/client/assets/lane-roster-store-DzNHP392.js +1 -0
  292. package/dist/client/assets/{lane-tool-detail-0WhMf4Vj.js → lane-tool-detail-Czggx8oM.js} +1 -1
  293. package/dist/client/assets/{layers-Dz2dKOnU.js → layers-Bolb8ejU.js} +1 -1
  294. package/dist/client/assets/{layout-grid-Bvs5fdB4.js → layout-grid-DI9tVJ2E.js} +1 -1
  295. package/dist/client/assets/left-B-_z_nqj.js +2 -0
  296. package/dist/client/assets/left-B1LY7rJc.js +1 -0
  297. package/dist/client/assets/{left-DH44V4I_.css → left-BV9yMiTL.css} +1 -1
  298. package/dist/client/assets/left-C6bdjWcG.js +2 -0
  299. package/dist/client/assets/left-CF4iuqlz.js +1 -0
  300. package/dist/client/assets/left-DLtNyZl1.js +1 -0
  301. package/dist/client/assets/left-Fpxoq-VY.js +1 -0
  302. package/dist/client/assets/left-N2wXfTlp.js +1 -0
  303. package/dist/client/assets/left-advisor-CeIjCKbd.js +1 -0
  304. package/dist/client/assets/left-agents-upjHVlOj.js +1 -0
  305. package/dist/client/assets/left-default-08gmdCtb.js +1 -0
  306. package/dist/client/assets/left-lanes-Cvsp73Hw.js +1 -0
  307. package/dist/client/assets/left-mission-DENnfshd.css +1 -0
  308. package/dist/client/assets/left-mission-W1LLaz74.js +1 -0
  309. package/dist/client/assets/library-DLKBVUJ6.js +1 -0
  310. package/dist/client/assets/{loader-circle-B2W9DPG5.js → loader-circle-DurUYl7E.js} +1 -1
  311. package/dist/client/assets/{local-agents-DKr-gIDC.js → local-agents-D9fYYRyj.js} +1 -1
  312. package/dist/client/assets/machine-children-RGS4Q0r6.js +1 -0
  313. package/dist/client/assets/machine-scope-DJt9RZ2w.js +1 -0
  314. package/dist/client/assets/mentions-Ctw1ECUC.js +1 -0
  315. package/dist/client/assets/{mesh-ops-CRR-KnCG.js → mesh-ops-CGpRk4ik.js} +1 -1
  316. package/dist/client/assets/{mesh-screen-D1Yvo8fU.css → mesh-screen-DjA4mOaN.css} +1 -1
  317. package/dist/client/assets/mesh-view-store-CliSYsmt.js +1 -0
  318. package/dist/client/assets/{message-circle-B2DoYKDO.js → message-circle-CSiJj6yo.js} +1 -1
  319. package/dist/client/assets/{message-markup-Cc_O-WdA.js → message-markup-DgFSyb3f.js} +1 -1
  320. package/dist/client/assets/{message-square-O-Hu9Mk2.js → message-square-NmXWtWLR.js} +1 -1
  321. package/dist/client/assets/{message-visibility-CGOmSSKs.js → message-visibility-DwxgcgYK.js} +1 -1
  322. package/dist/client/assets/mission-control-CsX3Yc58.css +1 -0
  323. package/dist/client/assets/mission-control-model-C30vU1Fe.js +1 -0
  324. package/dist/client/assets/mission-control-store-DZ29Mlj1.js +1 -0
  325. package/dist/client/assets/{mission-wall-CocIM1cF.js → mission-wall-DOuGOxQy.js} +1 -1
  326. package/dist/client/assets/model-CBkMvT1w.js +1 -0
  327. package/dist/client/assets/nav-destinations-CyXnw9kh.js +1 -0
  328. package/dist/client/assets/observe-CkfOxYx_.js +1 -0
  329. package/dist/client/assets/{operator-attention-RqieiSY8.js → operator-attention-DGR4kOog.js} +1 -1
  330. package/dist/client/assets/ops-screen-CxYM0VOW.css +1 -0
  331. package/dist/client/assets/page-status-CkS3SZu-.js +1 -0
  332. package/dist/client/assets/panel-right-BNTJhy8M.js +1 -0
  333. package/dist/client/assets/pause-DWS7YGQ3.js +1 -0
  334. package/dist/client/assets/{persistent-state-xJz-qAFc.js → persistent-state-xsuk6Kc-.js} +1 -1
  335. package/dist/client/assets/pin-DWlD1BOF.js +1 -0
  336. package/dist/client/assets/pip-idle-v1-Tt-CZsRG.png +0 -0
  337. package/dist/client/assets/pip-thinking-v1-BoHWSEye.png +0 -0
  338. package/dist/client/assets/pip-waiting-v1-DkuvJ-dN.png +0 -0
  339. package/dist/client/assets/pip-working-v1-wWQLRS1z.png +0 -0
  340. package/dist/client/assets/play-D_Pggug4.js +1 -0
  341. package/dist/client/assets/{plus-BJ1If8vj.js → plus-D_wLGJGT.js} +1 -1
  342. package/dist/client/assets/profile-C3KgiZvc.js +1 -0
  343. package/dist/client/assets/projects-inbox-BIW7nv-H.css +1 -0
  344. package/dist/client/assets/projects-inbox-DvbqJO3q.js +1 -0
  345. package/dist/client/assets/{proxy-1BABCaDb.js → proxy-DOG46ja4.js} +1 -1
  346. package/dist/client/assets/{radio-B5OpHrrK.js → radio-C_jtwbFP.js} +1 -1
  347. package/dist/client/assets/{refresh-cw-DmNAhaH0.js → refresh-cw-Da9DDLk2.js} +1 -1
  348. package/dist/client/assets/resolve-panes-DuowGRTk.js +1 -0
  349. package/dist/client/assets/resolve-sidebar-context-BkTbqteq.js +1 -0
  350. package/dist/client/assets/right-B9OUA6Ho.js +1 -0
  351. package/dist/client/assets/right-BDQnjetX.js +1 -0
  352. package/dist/client/assets/{right-D8id_DWQ.js → right-BLJsc2-p.js} +2 -2
  353. package/dist/client/assets/right-BUbKHmRH.js +1 -0
  354. package/dist/client/assets/right-Ci2IcD4s.js +1 -0
  355. package/dist/client/assets/right-CmCce3e5.js +1 -0
  356. package/dist/client/assets/right-D7w0zM5a.js +1 -0
  357. package/dist/client/assets/right-DIoON_bv.js +1 -0
  358. package/dist/client/assets/right-E0Jr3VN5.js +1 -0
  359. package/dist/client/assets/right-lCdAk9dW.js +1 -0
  360. package/dist/client/assets/{rocket-D3-TUJ2m.js → rocket-DyrYDo8V.js} +1 -1
  361. package/dist/client/assets/router-BKiMcYa7.js +1 -0
  362. package/dist/client/assets/{text-BYAFNLNq.css → runtime-picker-C3JwrDKP.css} +1 -1
  363. package/dist/client/assets/runtime-picker-DdsttHHc.js +1 -0
  364. package/dist/client/assets/{scope-views-CPM0sBw_.js → scope-views-B7PZGlhY.js} +1 -1
  365. package/dist/client/assets/scout-voice-DOQ_B77g.js +1 -0
  366. package/dist/client/assets/scoutbot-Bk3nyrkj.js +3 -0
  367. package/dist/client/assets/{scoutbot-markdown-CQ7Y1McC.js → scoutbot-markdown-Bz0Vbto2.js} +1 -1
  368. package/dist/client/assets/{scroll-text-kPhYbh-M.js → scroll-text-DwC8r2g6.js} +1 -1
  369. package/dist/client/assets/{search-DmFM_9jm.js → search-C4VlW_0l.js} +1 -1
  370. package/dist/client/assets/secondaryNavConfig-DAXIFtVd.js +1 -0
  371. package/dist/client/assets/{selection-bridge-Dy2mtMyi.js → selection-bridge-B5jqyMR9.js} +1 -1
  372. package/dist/client/assets/{send-horizontal-qyjNgEaV.js → send-horizontal-pOtGI7FM.js} +1 -1
  373. package/dist/client/assets/send-to-agent-session-BZGq_ycy.js +1 -0
  374. package/dist/client/assets/{server-nWqndnxu.js → server-ms1yxUYJ.js} +1 -1
  375. package/dist/client/assets/{session-catalog-BkmktBHI.js → session-catalog-s-T_w41t.js} +1 -1
  376. package/dist/client/assets/{session-table-DKSF0mrS.js → session-table-CDx_16xf.js} +1 -1
  377. package/dist/client/assets/sessions-view-DzYGsKWS.js +1 -0
  378. package/dist/client/assets/{settings-C6h9y5XX.js → settings-TJIkkZ0P.js} +1 -1
  379. package/dist/client/assets/shared-work-artifacts-4IIQXQfc.js +1 -0
  380. package/dist/client/assets/{sliders-horizontal-BhHKxsCO.js → sliders-horizontal-CHf3ntw0.js} +1 -1
  381. package/dist/client/assets/solar-system-scope-2k-stars-points-1FwHnkj0.png +0 -0
  382. package/dist/client/assets/{sparkles-Cf8gin88.js → sparkles-BbOFw3d0.js} +1 -1
  383. package/dist/client/assets/sprout-action-sprite-DZ8C0fTl.css +1 -0
  384. package/dist/client/assets/sprout-actions-proof-v1-BzUdc812.png +0 -0
  385. package/dist/client/assets/{sse-DDHEHUgz.js → sse-v5QLsOHV.js} +1 -1
  386. package/dist/client/assets/system-surfaces-redesign-DKFg4GB5.css +1 -0
  387. package/dist/client/assets/{tail-display-DcliDVkW.js → tail-display-DHSNmvor.js} +2 -2
  388. package/dist/client/assets/{tail-events-BdUrO0kb.js → tail-events-DQ46QBW1.js} +1 -1
  389. package/dist/client/assets/{terminal-C3YRPfyz.js → terminal-96JWDYDL.js} +1 -1
  390. package/dist/client/assets/{terminal-relay-BFhdIstF.js → terminal-relay-Bfx8pg80.js} +1 -1
  391. package/dist/client/assets/terminal-screen-Bpb2SZrn.css +1 -0
  392. package/dist/client/assets/{terminal-sessions-BQ6t92tJ.js → terminal-sessions-Ch9aYlgi.js} +1 -1
  393. package/dist/client/assets/{terminal-takeover-B6H4llRR.js → terminal-takeover-BlpxpvSp.js} +1 -1
  394. package/dist/client/assets/use-beside-Df-F2Uvg.js +1 -0
  395. package/dist/client/assets/use-conversation-list-A_YUf8lo.js +1 -0
  396. package/dist/client/assets/{use-fleet-active-asks-BtgNnRgK.js → use-fleet-active-asks-DFs_u-vM.js} +1 -1
  397. package/dist/client/assets/use-mesh-node-state-Ck9CYplv.js +1 -0
  398. package/dist/client/assets/{use-mesh-ops-items-N1HHhChY.js → use-mesh-ops-items-Be1WmwCg.js} +1 -1
  399. package/dist/client/assets/{use-reduced-motion-8WuxLa5l.js → use-reduced-motion-D7n3vK8t.js} +1 -1
  400. package/dist/client/assets/use-scout-dev-flags-0TXfQcG0.js +1 -0
  401. package/dist/client/assets/{useAgentHoverCard-Bkv-Uz_V.js → useAgentHoverCard-Dr-OjNFF.js} +1 -1
  402. package/dist/client/assets/useContentSecondaryNav-CGvMOVGY.js +1 -0
  403. package/dist/client/assets/useEmbedHeadline-BL8wQawZ.js +1 -0
  404. package/dist/client/assets/{usePierreRuntime-BfZHKAkI.js → usePierreRuntime-DJkRHMoe.js} +1 -1
  405. package/dist/client/assets/worker-rendered-v1-DmGVMlVi.png +0 -0
  406. package/dist/client/assets/worker-thinking-v1-ujakpzrK.png +0 -0
  407. package/dist/client/assets/worker-waiting-v1-DbTSsfJJ.png +0 -0
  408. package/dist/client/assets/worker-working-v1-BROAvJ_z.png +0 -0
  409. package/dist/client/assets/world-outposts-v1-DOt0i98W.png +0 -0
  410. package/dist/client/assets/{wrench-DkxnZRlR.js → wrench-BsMTSeji.js} +1 -1
  411. package/dist/client/assets/{x-DfRJbqrh.js → x-DI1ktCYb.js} +1 -1
  412. package/dist/client/assets/{xterm-CJw8Epxv.js → xterm-B1YBE4Gq.js} +1 -1
  413. package/dist/client/assets/{zap-CIo8msJB.js → zap-sKPkh4sQ.js} +1 -1
  414. package/dist/client/characters/sage/sage.glb +0 -0
  415. package/dist/client/crew/brik-bust.webp +0 -0
  416. package/dist/client/crew/brik-chip-id.webp +0 -0
  417. package/dist/client/crew/fenn-bust.webp +0 -0
  418. package/dist/client/crew/fenn-chip-id.webp +0 -0
  419. package/dist/client/crew/lulu-bust.webp +0 -0
  420. package/dist/client/crew/milo-bust.webp +0 -0
  421. package/dist/client/crew/milo-chip-id.webp +0 -0
  422. package/dist/client/crew/nori-bust.webp +0 -0
  423. package/dist/client/crew/pip-bust.webp +0 -0
  424. package/dist/client/crew/pip-chip-id.webp +0 -0
  425. package/dist/client/crew/sheets/eye-plate-v1/blink-half.webp +0 -0
  426. package/dist/client/crew/sheets/eye-plate-v1/blink-shut.webp +0 -0
  427. package/dist/client/crew/sheets/eye-plate-v1/look-left.webp +0 -0
  428. package/dist/client/crew/sheets/eye-plate-v1/look-right.webp +0 -0
  429. package/dist/client/crew/sheets/eye-plate-v1/look-up.webp +0 -0
  430. package/dist/client/crew/sheets/eye-plate-v1/rest.webp +0 -0
  431. package/dist/client/crew/sheets/sprout/blink-half.webp +0 -0
  432. package/dist/client/crew/sheets/sprout/blink-shut.webp +0 -0
  433. package/dist/client/crew/sheets/sprout/look-left.webp +0 -0
  434. package/dist/client/crew/sheets/sprout/look-right.webp +0 -0
  435. package/dist/client/crew/sheets/sprout/look-up.webp +0 -0
  436. package/dist/client/crew/sprout-bust.webp +0 -0
  437. package/dist/client/crew/sprout-chip-id.webp +0 -0
  438. package/dist/client/crew/tuck-bust.webp +0 -0
  439. package/dist/client/crew/tuck-chip-id.webp +0 -0
  440. package/dist/client/crew/vex-bust.webp +0 -0
  441. package/dist/client/crew/vex-chip-id.webp +0 -0
  442. package/dist/client/crew/wrench-bust.webp +0 -0
  443. package/dist/client/crew/wrench-chip-id.webp +0 -0
  444. package/dist/client/index.html +2 -2
  445. package/dist/drizzle/0017_wise_silver_sable.sql +26 -0
  446. package/dist/drizzle/0018_message_epoch_order.sql +1 -0
  447. package/dist/drizzle/meta/0017_snapshot.json +6785 -0
  448. package/dist/drizzle/meta/0018_snapshot.json +6804 -0
  449. package/dist/drizzle/meta/_journal.json +14 -0
  450. package/dist/main.mjs +33938 -36054
  451. package/dist/node/main.mjs +7126 -6317
  452. package/dist/openscout-terminal-relay.mjs +391 -9
  453. package/dist/pairing-runtime-controller.mjs +35559 -34443
  454. package/dist/runtime/base-daemon.mjs +31 -8
  455. package/dist/runtime/broker-daemon.mjs +7891 -2579
  456. package/dist/runtime/broker-process-manager.mjs +15 -3
  457. package/dist/runtime/mesh-discover.mjs +14 -3
  458. package/dist/scout-control-plane-web.mjs +43027 -39136
  459. package/dist/statusline.mjs +1021 -35
  460. package/dist/update-helper.mjs +32169 -0
  461. package/package.json +2 -5
  462. package/dist/client/assets/ActivityScreen-y-5DLleY.js +0 -1
  463. package/dist/client/assets/AgentAvatar-B7c0egdP.js +0 -1
  464. package/dist/client/assets/AgentConfigurationScreen-BD7Unt2P.js +0 -1
  465. package/dist/client/assets/AgentDefinitionsWorkspace-BbcZc9Xk.js +0 -1
  466. package/dist/client/assets/AgentDetailCard-B_KLcgsP.js +0 -1
  467. package/dist/client/assets/AgentFloorView-DMFiHs21.js +0 -1
  468. package/dist/client/assets/AgentInfoScreen-DHGLRddI.js +0 -1
  469. package/dist/client/assets/AgentLanesEmbedScreen-C5k_dDS8.js +0 -1
  470. package/dist/client/assets/AgentLanesView-u5vpLwQf.js +0 -2
  471. package/dist/client/assets/AgentLiveActions-CsQA3pu_.js +0 -1
  472. package/dist/client/assets/AgentMasterScreen-C5WlWNmk.js +0 -1
  473. package/dist/client/assets/AgentSessions-BePq5Lgc.js +0 -6
  474. package/dist/client/assets/AgentsConsole-BuiZ_bDo.js +0 -1
  475. package/dist/client/assets/AgentsScreen-CRi-hG2k.js +0 -1
  476. package/dist/client/assets/AgentsSubnav-DUsya4WK.js +0 -1
  477. package/dist/client/assets/AtopView-PxWQd-sX.js +0 -1
  478. package/dist/client/assets/BackToPicker-Cto0Ioz9.js +0 -1
  479. package/dist/client/assets/BriefingDetailScreen-C29smC5d.js +0 -1
  480. package/dist/client/assets/BriefingsScreen-DNyFBrPn.js +0 -1
  481. package/dist/client/assets/BrokerScreen-CS0s4Gm4.js +0 -5
  482. package/dist/client/assets/ChatCollapsedStrip-D4rc7wBQ.js +0 -1
  483. package/dist/client/assets/CodeScreen-CrR2JaVj.js +0 -1
  484. package/dist/client/assets/ConversationComposer-H8_hsYSc.js +0 -1
  485. package/dist/client/assets/ConversationFeedRows-hlEFlURs.js +0 -1
  486. package/dist/client/assets/ConversationHeader-B0ZBhE_E.js +0 -1
  487. package/dist/client/assets/ConversationPanels-fMo6Uy1v.js +0 -6
  488. package/dist/client/assets/ConversationScreen-CXAHQwQ3.js +0 -2
  489. package/dist/client/assets/ConversationScreen-CkWnKXt6.css +0 -1
  490. package/dist/client/assets/ConversationStatus-DI5GCiyW.js +0 -1
  491. package/dist/client/assets/CrewWorkspaces-Bz2Dcnt4.js +0 -1
  492. package/dist/client/assets/DispatchAftermath-CrELgl2e.js +0 -1
  493. package/dist/client/assets/DocumentFocusViewer-DFFE85Tq.js +0 -1
  494. package/dist/client/assets/FlightObserveScreen-qyzHzxLa.js +0 -1
  495. package/dist/client/assets/FollowScreen-wZ-z67mX.js +0 -1
  496. package/dist/client/assets/HarnessesScreen-DbKkQM4o.js +0 -1
  497. package/dist/client/assets/HostAdvisorView-NtM0bsg8.js +0 -1
  498. package/dist/client/assets/KnowledgeSearchInspector-CU6BCFcS.js +0 -1
  499. package/dist/client/assets/KnowledgeSearchScreen-DvbRRPQB.js +0 -1
  500. package/dist/client/assets/LaneTraceDetailSheet-C3C8UjXv.js +0 -1
  501. package/dist/client/assets/MeshCanvas-TvsID4fe.js +0 -3
  502. package/dist/client/assets/MeshCanvasMinimap-CxqeVVco.js +0 -1
  503. package/dist/client/assets/MeshScreen-BJ-j9YXv.js +0 -1
  504. package/dist/client/assets/MessagesScreen-CyNIZ3-X.js +0 -1
  505. package/dist/client/assets/MissionContextRail-Be0uXljQ.js +0 -1
  506. package/dist/client/assets/MissionControlView-Bj7cAbZd.js +0 -1
  507. package/dist/client/assets/MissionFocusOverlay-DvTw6ts5.js +0 -1
  508. package/dist/client/assets/MissionLeftAgentRow-B0QG7Gys.js +0 -1
  509. package/dist/client/assets/MissionLogPane-EsM_S3ro.js +0 -1
  510. package/dist/client/assets/NewAgentModal-Cqiq1CE1.js +0 -1
  511. package/dist/client/assets/NewChatComposer-C_1op4dH.js +0 -19
  512. package/dist/client/assets/ObserveEmbedScreen-CGHI_hb5.js +0 -2
  513. package/dist/client/assets/OpenScoutAppShell-BtfvMkAp.js +0 -79
  514. package/dist/client/assets/OpsAgentsView-DBYtmLnh.js +0 -1
  515. package/dist/client/assets/OpsScreen-CuYVgkC_.js +0 -1
  516. package/dist/client/assets/OpsSubnav-BEU4kKXm.js +0 -1
  517. package/dist/client/assets/ProjectAgentProfile-BhXAZEkW.js +0 -1
  518. package/dist/client/assets/ProjectAgentProfileBar-uJw9Wdfk.js +0 -1
  519. package/dist/client/assets/ProjectAgentProfileHero-CIMS4Dy_.js +0 -1
  520. package/dist/client/assets/ProjectsInbox-JgU0lrY8.js +0 -2
  521. package/dist/client/assets/ProjectsRail-p99BRBOa.js +0 -1
  522. package/dist/client/assets/ProjectsScreen-BB45DU53.js +0 -1
  523. package/dist/client/assets/ProjectsThreadAside-BHDTJWOz.js +0 -1
  524. package/dist/client/assets/Provider-Bu-C8Hxc.js +0 -1
  525. package/dist/client/assets/RailRow-ClMmtaIE.js +0 -1
  526. package/dist/client/assets/RawSessionsTable-BtKdQPiv.js +0 -1
  527. package/dist/client/assets/RealtimeVoiceScreen-KPHJgO1l.js +0 -1
  528. package/dist/client/assets/RepoDiffViewer-BFperHQg.js +0 -7
  529. package/dist/client/assets/RepoDiffViewerLazy-BkBmbi1Z.js +0 -2
  530. package/dist/client/assets/ScoutDeckSurface-BcJsm2Kq.js +0 -1
  531. package/dist/client/assets/SessionEmbedScreen-Bt4flmAx.js +0 -1
  532. package/dist/client/assets/SessionObserve-BCehTlO8.js +0 -12
  533. package/dist/client/assets/SessionObserveEvidence-Bb6U-dem.js +0 -1
  534. package/dist/client/assets/SessionRefScreen-C8BiRVPx.js +0 -1
  535. package/dist/client/assets/SessionsScreen-BNvjUflN.js +0 -1
  536. package/dist/client/assets/SettingsDrawer-BieUmb8g.js +0 -3
  537. package/dist/client/assets/SettingsScreen-3JvX1WFL.js +0 -1
  538. package/dist/client/assets/SpriteAvatar-56DTXxSV.js +0 -1
  539. package/dist/client/assets/Terminal-BlUQY9_Z.js +0 -1
  540. package/dist/client/assets/TerminalEmbedScreen-DTjxktyr.js +0 -1
  541. package/dist/client/assets/TerminalHeaderMount-Cy-uxkey.js +0 -1
  542. package/dist/client/assets/WorkFilesViewer-CT5XEFGf.js +0 -1
  543. package/dist/client/assets/agent-autocomplete-DXUBnlkN.js +0 -10
  544. package/dist/client/assets/agent-lane-card-model-CNZMPkhc.js +0 -1
  545. package/dist/client/assets/agent-lanes-model-DXqjs0OK.js +0 -2
  546. package/dist/client/assets/agent-master-I1W-5d-x.css +0 -1
  547. package/dist/client/assets/agent-master-model-DAZL92oe.js +0 -1
  548. package/dist/client/assets/agent-specialization-BtxLN4UR.js +0 -1
  549. package/dist/client/assets/agents-project-model-UYiamtrU.js +0 -1
  550. package/dist/client/assets/api-Co9aQ2Jw.js +0 -1
  551. package/dist/client/assets/broker-display-Q75fupqG.js +0 -2
  552. package/dist/client/assets/chunk-JTPDIGGW-Ci5j4vzV.js +0 -46
  553. package/dist/client/assets/chunk-YOZR3KYS-DN5EJulq.js +0 -2
  554. package/dist/client/assets/colors-BtO5_zlx.js +0 -1
  555. package/dist/client/assets/content--T3p6akp.js +0 -1
  556. package/dist/client/assets/content-4nFMLuzF.js +0 -1
  557. package/dist/client/assets/content-BJ4nHvcu.js +0 -1
  558. package/dist/client/assets/content-BNyAjpUl.js +0 -1
  559. package/dist/client/assets/content-BmGp9wNl.js +0 -1
  560. package/dist/client/assets/content-CBWhwaRo.js +0 -1
  561. package/dist/client/assets/content-CQlykFbe.js +0 -1
  562. package/dist/client/assets/content-CevL0DgF.js +0 -1
  563. package/dist/client/assets/content-Ch8pf2bj.js +0 -1
  564. package/dist/client/assets/content-Cpvdcm_l.js +0 -1
  565. package/dist/client/assets/content-DfS3vgAu.js +0 -1
  566. package/dist/client/assets/content-DpQdNePJ.js +0 -1
  567. package/dist/client/assets/content-Dqpibejl.js +0 -1
  568. package/dist/client/assets/content-TV0nd6-r.js +0 -1
  569. package/dist/client/assets/content-odbb5H4U.js +0 -1
  570. package/dist/client/assets/content-uXHLPHe0.js +0 -1
  571. package/dist/client/assets/conversation-model-QsJVfSeG.js +0 -1
  572. package/dist/client/assets/conversation-motion-features-BFLHX2eg.js +0 -1
  573. package/dist/client/assets/discover-B3uQlh5L.js +0 -2
  574. package/dist/client/assets/embed-entry-DkRcHKTh.js +0 -2
  575. package/dist/client/assets/home-moving-signal-BPqBoNSm.js +0 -1
  576. package/dist/client/assets/home-now-card-UspVW2-2.js +0 -1
  577. package/dist/client/assets/hooks-BMsQzo9j.js +0 -2
  578. package/dist/client/assets/index-C-v0Z6ZS.js +0 -1
  579. package/dist/client/assets/index-D9DzUORB.js +0 -1
  580. package/dist/client/assets/index-DfsTyYDx.js +0 -1
  581. package/dist/client/assets/index-i7TMxlwW.css +0 -1
  582. package/dist/client/assets/knowledge-search-D_bLoYtC.css +0 -1
  583. package/dist/client/assets/lane-roster-store-Q7pcblY5.js +0 -1
  584. package/dist/client/assets/left-B4Ak-Ibt.js +0 -2
  585. package/dist/client/assets/left-BMb493FZ.js +0 -1
  586. package/dist/client/assets/left-BjFLvVOC.js +0 -1
  587. package/dist/client/assets/left-CsXQ8Q3G.js +0 -1
  588. package/dist/client/assets/left-FNH7faCI.js +0 -1
  589. package/dist/client/assets/left-POkqE8gI.js +0 -2
  590. package/dist/client/assets/left-UulOTcWh.js +0 -1
  591. package/dist/client/assets/left-advisor-CJkQS2d6.js +0 -1
  592. package/dist/client/assets/left-agents-CFMxyEjT.js +0 -1
  593. package/dist/client/assets/left-default-rnX5HANc.js +0 -1
  594. package/dist/client/assets/left-lanes-BpLXT_qH.js +0 -1
  595. package/dist/client/assets/left-mission-B0bhseWw.js +0 -1
  596. package/dist/client/assets/left-mission-DSenPIyb.css +0 -1
  597. package/dist/client/assets/library-D1iXfda2.js +0 -1
  598. package/dist/client/assets/mentions-DuLQnEcn.js +0 -1
  599. package/dist/client/assets/mesh-buckets-6y3ZIibI.js +0 -1
  600. package/dist/client/assets/mesh-roster-Bc7T4b7z.js +0 -1
  601. package/dist/client/assets/mesh-view-store-CiET-yN8.js +0 -1
  602. package/dist/client/assets/mission-control-CnU7dNt1.css +0 -1
  603. package/dist/client/assets/mission-control-model-C0fByIjm.js +0 -1
  604. package/dist/client/assets/mission-control-store-DDAgWKUl.js +0 -1
  605. package/dist/client/assets/model-IGCUEsMy.js +0 -1
  606. package/dist/client/assets/observe-Da2mRAsc.js +0 -1
  607. package/dist/client/assets/ops-screen-giu3If_N.css +0 -1
  608. package/dist/client/assets/page-status-Crtgjbq3.js +0 -1
  609. package/dist/client/assets/paperclip-BudMKSyr.js +0 -1
  610. package/dist/client/assets/perf-PX8Rx0EP.js +0 -1
  611. package/dist/client/assets/profile-B3qDSbrH.js +0 -1
  612. package/dist/client/assets/projects-inbox-CLek3QaG.js +0 -1
  613. package/dist/client/assets/projects-inbox-DRBl2N85.css +0 -1
  614. package/dist/client/assets/resolve-panes-DXw-cHaj.js +0 -1
  615. package/dist/client/assets/resolve-sidebar-context-CDdbRDEa.js +0 -1
  616. package/dist/client/assets/right-BgJ4mQLf.js +0 -1
  617. package/dist/client/assets/right-Bk6h7o-Z.js +0 -1
  618. package/dist/client/assets/right-BrICCmEt.js +0 -1
  619. package/dist/client/assets/right-C1QIbqFZ.js +0 -1
  620. package/dist/client/assets/right-CfliKiHY.js +0 -1
  621. package/dist/client/assets/right-CtOLXB9s.js +0 -1
  622. package/dist/client/assets/right-DJ34yMAi.js +0 -1
  623. package/dist/client/assets/right-DiFmtw6d.js +0 -1
  624. package/dist/client/assets/right-Lx79pxpG.js +0 -1
  625. package/dist/client/assets/router-DTtux5sP.js +0 -1
  626. package/dist/client/assets/scout-voice-BZKsdquE.js +0 -1
  627. package/dist/client/assets/scoutbot-BJIamJOH.js +0 -3
  628. package/dist/client/assets/secondaryNavConfig-C9bQ9_IA.js +0 -1
  629. package/dist/client/assets/system-surfaces-redesign-QVXNeGYw.css +0 -1
  630. package/dist/client/assets/terminal-screen-BLk4PAYt.css +0 -1
  631. package/dist/client/assets/text-Faa3ZStB.js +0 -1
  632. package/dist/client/assets/use-conversation-list-DO5J8T1H.js +0 -1
  633. package/dist/client/assets/use-scout-dev-flags-B31qTy6m.js +0 -1
  634. package/dist/client/assets/useContentSecondaryNav-Bpkc8ayb.js +0 -1
@@ -1 +0,0 @@
1
- import{r as t,j as e}from"./index-BI9AljSD.js";/* empty css */import{a as se}from"./api-Co9aQ2Jw.js";import{I as ne,ax as re,ay as Q,H as te,az as ae,aA as ie,aB as A,aC as ce,aD as B,aE as de,aF as oe,aG as le,O as he}from"./router-DTtux5sP.js";import{u as pe}from"./Provider-Bu-C8Hxc.js";import{c as P}from"./createLucideIcon-DthwWQIg.js";import{X as ue}from"./x-DfRJbqrh.js";import{C as V}from"./check-DbIkldnK.js";import{C as D}from"./copy-Cj-owMb-.js";import{E as xe}from"./external-link-C_nxk0MJ.js";import{L as me}from"./loader-circle-B2W9DPG5.js";const je=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1",key:"1oajmo"}],["path",{d:"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1",key:"mpwhp6"}]],fe=P("file-braces",je);const ye=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M7 11h10",key:"1twpyw"}],["path",{d:"M7 15h6",key:"d9of3u"}],["path",{d:"M7 7h8",key:"af5zfr"}]],G=P("message-square-text",ye);const ve=[["path",{d:"M4.9 16.1C1 12.2 1 5.8 4.9 1.9",key:"s0qx1y"}],["path",{d:"M7.8 4.7a6.14 6.14 0 0 0-.8 7.5",key:"1idnkw"}],["circle",{cx:"12",cy:"9",r:"2",key:"1092wv"}],["path",{d:"M16.2 4.8c2 2 2.26 5.11.8 7.47",key:"ojru2q"}],["path",{d:"M19.1 1.9a9.96 9.96 0 0 1 0 14.1",key:"rhi7fg"}],["path",{d:"M9.5 18h5",key:"mfy3pd"}],["path",{d:"m8 22 4-11 4 11",key:"25yftu"}]],ge=P("radio-tower",ve);function S({text:n,query:f}){return e.jsx(e.Fragment,{children:he(n,f).map((l,i)=>l.match?e.jsx("mark",{children:l.text},i):e.jsx("span",{children:l.text},i))})}function J(n){return n.renderedText||n.summary||n.raw}function ke({record:n,role:f,query:l,expanded:i,onToggle:k}){const h=t.useRef(null),[y,N]=t.useState(!1),u=J(n),x=t.useCallback(()=>{const d=h.current;!d||i||N(d.scrollHeight>d.clientHeight+1)},[i]);return t.useEffect(()=>{x();const d=h.current;if(!d||i||typeof ResizeObserver>"u")return;const w=new ResizeObserver(x);return w.observe(d),()=>w.disconnect()},[i,x,l,u]),e.jsxs("article",{className:`ks-excerpt-turn${n.matched?" ks-excerpt-turn--matched":""}`,children:[e.jsxs("header",{children:[e.jsx("span",{children:String(n.index).padStart(4,"0")}),e.jsx("strong",{children:f}),n.matched?e.jsx("em",{children:"match"}):null]}),e.jsx("p",{ref:h,className:i?"is-expanded":void 0,children:e.jsx(S,{text:u,query:l})}),y?e.jsx("button",{type:"button",className:"ks-excerpt-turn-expand","aria-expanded":i,onClick:k,children:i?"Collapse turn":"Show full turn"}):null]})}function U(){const{selectedKnowledgeHit:n,selectedKnowledgeQuery:f,clearKnowledgeHit:l,openFilePreview:i,navigate:k}=pe(),[h,y]=t.useState(null),[N,u]=t.useState(!1),[x,d]=t.useState(null),[w,_]=t.useState(!1),[b,M]=t.useState(!1),[X,I]=t.useState({}),[W,K]=t.useState({}),c=h&&h.hitId===n?.id?h.value:null,r=n?ne(n):null,v=n?re(n):null,$=n?Q(n,"project"):"",F=n?Q(n,"harness"):"",p=f.trim(),z=te(r),T=ae(r),L=r?.path??v?.path,m=n?ie(n):"",E=t.useMemo(()=>c?.records.filter(s=>s.matched).sort((s,o)=>{const a=A(s)-A(o);return a!==0?a:(o.matchCount??0)-(s.matchCount??0)}).at(0)??null,[c]),C=t.useMemo(()=>ce(c?.records??[],{contextRadius:4,maxTurns:6,centerRecordIndex:E?.index}),[c,E?.index]),O=t.useMemo(()=>{const s=C.flatMap(o=>o.kind==="turn"?[o.record.index]:o.records.map(a=>a.index));return s.length>0?[Math.min(...s),Math.max(...s)]:null},[C]),Y=c?.records.find(s=>s.matched)?.index??r?.recordRange?.[0];t.useEffect(()=>{I({}),K({}),M(!1),_(!1)},[n?.id]),t.useEffect(()=>{let s=!1;return(async()=>{if(y(null),d(null),!n||!r){u(!1);return}u(!0);try{const a=await se("/api/knowledge/source-preview",{method:"POST",body:JSON.stringify({sourceRef:r,contextRecords:4,maxRecords:80,q:p})});s||y({hitId:n.id,value:a})}catch(a){s||(y(null),d(a instanceof Error?a.message:String(a)))}finally{s||u(!1)}})(),()=>{s=!0}},[n?.id,r?.recordRange?.[0],r?.recordRange?.[1],p]);const Z=t.useCallback(()=>{const s=r??v;s&&i(B(s.path))},[r,v,i]),q=t.useCallback(async()=>{if(m)try{if(typeof navigator<"u"&&navigator.clipboard?.writeText)await navigator.clipboard.writeText(m);else if(typeof document<"u"){const s=document.createElement("textarea");s.value=m,s.style.position="fixed",s.style.opacity="0",document.body.appendChild(s),s.select(),document.execCommand("copy"),document.body.removeChild(s)}M(!0),window.setTimeout(()=>M(!1),1600)}catch{}},[m]);return e.jsxs("div",{className:"ks-inspector",children:[x?e.jsx("div",{className:"ks-inspector-error",role:"alert",children:x}):null,e.jsx("section",{className:"ks-preview-panel","aria-label":"Selected search result preview",children:n?e.jsxs(e.Fragment,{children:[e.jsxs("header",{className:"ks-preview-head",children:[e.jsxs("div",{children:[e.jsx("span",{className:"ks-panel-eyebrow",children:"Result"}),e.jsx("h2",{children:n.title})]}),e.jsx("button",{type:"button","aria-label":"Clear selected result",onClick:l,className:"ks-preview-close",children:e.jsx(ue,{size:14,"aria-hidden":"true"})})]}),e.jsxs("div",{className:"ks-preview-meta",children:[$?e.jsx("span",{children:$}):null,F?e.jsx("span",{children:F}):null,n.freshness&&n.freshness!=="unknown"&&e.jsx("span",{children:n.freshness}),r?.recordRange?e.jsxs("span",{children:["records ",r.recordRange[0],"..",r.recordRange[1]]}):null]}),z||T||r||v||m?e.jsxs("div",{className:"ks-preview-actions","aria-label":"Selected result actions",children:[z?e.jsxs("button",{type:"button",className:"ks-action-primary",onClick:()=>k({view:"sessions",sessionId:z}),children:[e.jsx(G,{size:13,"aria-hidden":"true"}),"Open conversation"]}):null,T?e.jsxs("button",{type:"button",onClick:()=>k({view:"ops",mode:"tail",tailQuery:T}),children:[e.jsx(ge,{size:13,"aria-hidden":"true"}),"Observe window"]}):null,m?e.jsxs("button",{type:"button",onClick:()=>{q()},children:[b?e.jsx(V,{size:13,"aria-hidden":"true"}):e.jsx(D,{size:13,"aria-hidden":"true"}),b?"Copied":"Copy ref"]}):null,r||v?e.jsxs("button",{type:"button",onClick:Z,children:[e.jsx(xe,{size:13,"aria-hidden":"true"}),"Open file"]}):null]}):null,e.jsxs("details",{className:"ks-why-matched",children:[e.jsxs("summary",{children:[e.jsx("span",{children:de(n,p,E)}),e.jsx("em",{children:oe(n)})]}),e.jsxs("dl",{children:[e.jsxs("div",{children:[e.jsx("dt",{children:"Index signal"}),e.jsx("dd",{children:n.scoreSource||"fts"})]}),e.jsxs("div",{children:[e.jsx("dt",{children:"Origin"}),e.jsxs("dd",{children:[n.origin," · ",n.ownership]})]}),r?.recordRange?e.jsxs("div",{children:[e.jsx("dt",{children:"Records"}),e.jsxs("dd",{children:[r.recordRange[0],"…",r.recordRange[1]]})]}):null]})]}),N?e.jsxs("div",{className:"ks-preview-loading",children:[e.jsx(me,{size:15,className:"ks-spin","aria-hidden":"true"}),"Loading conversation…"]}):C.length>0?e.jsxs("section",{className:"ks-conversation-excerpt","aria-label":"Conversation excerpt",children:[e.jsxs("div",{className:"ks-rendered-head",children:[e.jsx(G,{size:14,"aria-hidden":"true"}),e.jsx("strong",{children:"Conversation"}),O?e.jsxs("span",{children:["records ",O[0],"…",O[1]]}):null]}),C.map((s,o)=>{if(s.kind==="folded"){const g=s.records[0]?.index??o,R=X[g]===!0;return e.jsxs("div",{className:"ks-excerpt-fold",children:[e.jsxs("button",{type:"button",className:"ks-excerpt-fold-toggle","aria-expanded":R,onClick:()=>I(j=>({...j,[g]:!R})),children:[e.jsx("span",{"aria-hidden":"true",children:R?"▾":"▸"}),s.summary]}),R?e.jsx("div",{className:"ks-excerpt-fold-body",children:s.records.map(j=>e.jsxs("article",{className:"ks-excerpt-turn ks-excerpt-turn--muted",children:[e.jsxs("header",{children:[e.jsx("span",{children:String(j.index).padStart(4,"0")}),e.jsx("strong",{children:le(j)})]}),e.jsx("p",{tabIndex:0,children:e.jsx(S,{text:J(j),query:p})})]},`fold-record:${j.index}`))}):null]},`fold:${g}`)}const{record:a,role:ee}=s,H=W[a.index]===!0;return e.jsx(ke,{record:a,role:ee,query:p,expanded:H,onToggle:()=>K(g=>({...g,[a.index]:!H}))},`turn:${a.index}`)})]}):e.jsxs("section",{className:"ks-indexed-snippet","aria-label":"Match snippet",children:[e.jsx("span",{children:"Match"}),e.jsx("p",{children:e.jsx(S,{text:n.snippet,query:p})})]}),L?e.jsxs("div",{className:"ks-preview-source",children:[e.jsx("span",{children:"Source"}),e.jsx("code",{children:B(L)}),e.jsxs("button",{type:"button",onClick:()=>{q()},"aria-label":"Copy source reference",children:[b?e.jsx(V,{size:12,"aria-hidden":"true"}):e.jsx(D,{size:12,"aria-hidden":"true"}),b?"Copied":"Copy ref"]})]}):null,c?e.jsxs("details",{className:"ks-jsonl-window",open:w,onToggle:s=>_(s.target.open),children:[e.jsxs("summary",{className:"ks-jsonl-window-head",children:[e.jsx("strong",{children:"Raw evidence (advanced)"}),e.jsxs("span",{children:["records ",c.previewRange[0],"..",c.previewRange[1]]})]}),c.records.map(s=>e.jsxs("details",{className:`ks-jsonl-record${s.matched?" ks-jsonl-record--matched":""}`,open:s.index===Y,children:[e.jsxs("summary",{children:[e.jsx("span",{children:String(s.index).padStart(4,"0")}),e.jsx("strong",{children:s.kind||s.role||s.type||"record"}),e.jsx("em",{children:e.jsx(S,{text:s.summary||"no summary",query:p})})]}),e.jsx("pre",{children:s.raw})]},`${c.path}:${s.index}`))]}):null]}):e.jsxs("div",{className:"ks-inspector-empty",children:[e.jsx(fe,{size:18,"aria-hidden":"true"}),e.jsx("strong",{children:"Select a result"}),e.jsx("span",{children:"Pick a match to see the conversation moment, jump to the session, or open the file."}),e.jsxs("span",{className:"ks-inspector-empty-hint",children:["Use ",e.jsx("kbd",{children:"j"}),"/",e.jsx("kbd",{children:"k"})," to walk the list, ",e.jsx("kbd",{children:"↵"})," to pick, ",e.jsx("kbd",{children:"⌘↵"})," to open the session."]})]})})]})}const Pe=Object.freeze(Object.defineProperty({__proto__:null,KnowledgeSearchInspector:U},Symbol.toStringTag,{value:"Module"})),_e=Object.freeze(Object.defineProperty({__proto__:null,KnowledgeSearchInspector:U},Symbol.toStringTag,{value:"Module"}));export{U as K,_e as a,Pe as r};
@@ -1 +0,0 @@
1
- import{r as l,j as e}from"./index-BI9AljSD.js";/* empty css */import{a as $}from"./api-Co9aQ2Jw.js";import{d as Le}from"./time-Dhsh_2EG.js";import{u as Ae}from"./Provider-Bu-C8Hxc.js";import{t as qe,v as de,x as Ie,y as Te,z as De,A as he,K as f,B as Fe,C as be,D as Re,E as He,G as Me,H as me,I as pe,J as We,L as $e,M as Oe,N as Pe,O as _e,P as ze}from"./router-DTtux5sP.js";import{S as Ue}from"./search-DmFM_9jm.js";import{X as Be}from"./x-DfRJbqrh.js";import{L as fe}from"./loader-circle-B2W9DPG5.js";import{c as Ge}from"./createLucideIcon-DthwWQIg.js";import{S as Je}from"./sparkles-Cf8gin88.js";import{C as Xe}from"./chevron-down-C475vltS.js";import{C as Qe}from"./clock-DVvENUU5.js";import"./perf-PX8Rx0EP.js";import"./sse-DDHEHUgz.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BJIamJOH.js";import"./DocumentFocusViewer-DFFE85Tq.js";import"./TextDocumentSurface-BeSwe3Yl.js";import"./file-text--hfhwZH1.js";import"./chevron-right-CnZRSd-V.js";import"./code-xml-CvKBY3KA.js";import"./arrow-left-DHfdXJVZ.js";import"./arrow-right-BBsrogWf.js";import"./scout-voice-BZKsdquE.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-e6yGeorb.js";import"./NewChatComposer-C_1op4dH.js";import"./text-Faa3ZStB.js";import"./voice-levels-Dcr3jglk.js";import"./conversation-model-QsJVfSeG.js";import"./index-DfsTyYDx.js";import"./HarnessMark-DAaWPiT_.js";import"./NewChatOrigin-D7hwp6dm.js";import"./chunk-HRAB3GC3-DLNT8aOo.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-BQ6t92tJ.js";const Ve=[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]],Ye=Ge("funnel",Ve),Ze=5*6e4;function xe(t){return qe(t).toString()}let Q={status:null,results:[],lastFilterKey:"",facets:null,indexedAt:null};function ke(){return Q}function T(t){Q={...Q,...t}}function g(t){return new Intl.NumberFormat("en-US").format(t||0)}function es({text:t,query:a}){return e.jsx(e.Fragment,{children:_e(t,a).map((o,c)=>o.match?e.jsx("mark",{children:o.text},c):e.jsx("span",{children:o.text},c))})}function ss(t,a){t.target===t.currentTarget&&(t.key!=="Enter"&&t.key!==" "||(t.preventDefault(),a()))}async function ts(){return $("/api/knowledge/status")}async function ns(t){const a=new URLSearchParams;for(const o of t)a.append("key",o);return a.set("limit","200"),$(`/api/knowledge/search-primitives?${a.toString()}`)}async function X(t,a){const o=new URLSearchParams({q:t,limit:String(f.hitLimit)});if(a.sourceKinds.length>0)for(const h of a.sourceKinds)o.append("sourceKind",h);for(const h of a.harness)o.append("harness",h);for(const h of a.project)o.append("project",h);const c=Pe(a.timeWindow);return c!=null&&o.set("updatedAfterMs",String(c)),$(`/api/knowledge/search?${o.toString()}`)}async function je(t=!1){return $("/api/knowledge/sessions/index",{method:"POST",body:JSON.stringify({days:f.days,limit:f.sessionLimit,force:t})})}const as=Re;function D({active:t,onClick:a,count:o,label:c,ariaLabel:h}){return e.jsxs("button",{type:"button",className:`ks-chip${t?" ks-chip--active":""}`,onClick:a,"aria-pressed":t,"aria-label":h??c,children:[e.jsx("span",{className:"ks-chip-label",children:c}),typeof o=="number"?e.jsx("span",{className:"ks-chip-count","aria-hidden":"true",children:g(o)}):null]})}function Se(t){return t&&t.split(/[\s_-]+/u).filter(a=>a.length>0).map(a=>a.charAt(0).toUpperCase()+a.slice(1)).join(" ")}function ye(t,a,o=6){return t?t.filter(c=>c.key===a&&c.value.length>0).sort((c,h)=>h.count-c.count||c.value.localeCompare(h.value)).slice(0,o):[]}function ge(t){return t.sourceKinds.length>0||t.harness.length>0||t.project.length>0||t.timeWindow!=="all"}function is(t){const a=[];return t.sourceKinds.length>0&&a.push(t.sourceKinds.map(o=>be[o]??o).join(" + ")),t.harness.length>0&&a.push(t.harness.map(Se).join(" + ")),t.project.length>0&&a.push(t.project.join(" + ")),t.timeWindow!=="all"&&a.push(ze(t.timeWindow)),a.length>0?`Filters: ${a.join(" · ")}`:""}function Us({navigate:t,mode:a,hitId:o,routeFilters:c}){const{selectedKnowledgeHit:h,inspectKnowledgeHit:b,clearKnowledgeHit:w}=Ae(),V=l.useMemo(()=>c||(typeof window>"u"?de():Ie(window.location.search)),[c]),[S]=l.useState(()=>ke()),[K,F]=l.useState(S.status),[Y,Ne]=l.useState(S.facets),[i,O]=l.useState(V),[v,Z]=l.useState(()=>S.lastFilterKey&&S.lastFilterKey===xe(V)?S.results:[]),[P,ee]=l.useState(!1),[L,R]=l.useState(!1),[_,N]=l.useState(null),[we,H]=l.useState(S.status!==null),[se,te]=l.useState(S.facets!==null),A=l.useRef(i);A.current=i;const x=(K?.chunks??0)>0,M=K?.activeJobs[0]??null,C=l.useMemo(()=>Te(v),[v]),ne=L||!!M,q=i.query.trim(),z=De(i);l.useEffect(()=>{c&&O(s=>he(s,c)?s:c)},[c]);const k=l.useMemo(()=>{const s=[];for(const n of C)s.push(...n.moments);return s},[C]),E=l.useCallback((s,n)=>{Z(n.hits),F(n.status),T({results:n.hits,status:n.status,lastFilterKey:xe(s)});const d=(o?n.hits.find(u=>u.id===o):void 0)??n.hits[0];d?b(d,s.query,s):w()},[o,b,w]),U=l.useCallback(async s=>{const n=s.query.trim();if(!n){Z([]),w();return}ee(!0);try{N(null),E(s,await X(n,s))}catch(r){N(r instanceof Error?r.message:String(r))}finally{ee(!1)}},[E,w]),ae=l.useCallback(async(s=!1)=>{R(!0);try{N(null);const n=await je(s);F(n.status),H(!0),T({status:n.status,indexedAt:Date.now()});const r=A.current;n.status.chunks>0&&r.query.trim()&&E(r,await X(r.query.trim(),r))}catch(n){N(n instanceof Error?n.message:String(n))}finally{R(!1)}},[E]);l.useEffect(()=>{let s=!1;return(async()=>{let n=null;try{const u=await ts();if(s)return;n=u,F(u),H(!0),T({status:u}),N(null)}catch{}if(s)return;const{indexedAt:r}=ke();if(!(r!==null&&Date.now()-r<Ze&&(n?.chunks??0)>0)){R(!0);try{N(null);const u=await je(!1);if(s)return;F(u.status),H(!0),T({status:u.status,indexedAt:Date.now()});const m=A.current;u.status.chunks>0&&m.query.trim()&&E(m,await X(m.query.trim(),m))}catch(u){s||(N(u instanceof Error?u.message:String(u)),H(!0))}finally{s||R(!1)}}})(),()=>{s=!0}},[E]),l.useEffect(()=>{if(!x||se)return;let s=!1;return(async()=>{try{const n=await ns(["harness","project","sourceKind"]);s||(Ne(n),te(!0),T({facets:n}))}catch{s||te(!0)}})(),()=>{s=!0}},[x,se]),l.useEffect(()=>{if(!x)return;const s=window.setTimeout(()=>{U(i)},f.debounceMs);return()=>window.clearTimeout(s)},[i,x,U]);const ve=s=>{if(s.preventDefault(),!x&&!L){ae(!1);return}U(i)},y=l.useCallback(s=>{O(n=>{const r={...n,...s};return he(n,r)?n:(t({view:"search",...a?{mode:a}:{},filters:r},{replace:!0}),r)})},[a,t]),I=l.useCallback(()=>{const s=de();O(s),t({view:"search",...a?{mode:a}:{},filters:s},{replace:!0})},[a,t]),Ce=l.useCallback(()=>{k[0]&&b(k[0],A.current.query)},[k,b]);l.useEffect(()=>{function s(n){const r=n.target,d=r&&(r.tagName==="INPUT"||r.tagName==="TEXTAREA"||r.isContentEditable);if(n.key==="/"&&!d){n.preventDefault();const u=document.querySelector(".ks-search-input");u?.focus(),u?.select()}else if(n.key==="Escape"&&!d)k.length>0?w():I();else if(!d&&(n.key==="j"||n.key==="k")){if(k.length===0)return;n.preventDefault();const u=h?k.findIndex(B=>B.id===h.id):-1,m=n.key==="j"?Math.min(k.length-1,u+1):Math.max(0,u-1),W=k[m];W&&b(W,A.current.query)}}return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[k,b,w,h,I]);const Ee=K?Le(K.generatedAt)||"just now":"—",Ke=ne?M?`Indexing ${g(M.progress.indexed??0)} of ${g(M.progress.discovered??0)}`:x?`Refreshing last ${f.days} days in the background`:`Building last ${f.days} days of sessions`:x?`${g(K?.chunks??0)} moments · last ${f.days} days · updated ${Ee}`:we?"No index yet":"Loading index",ie=ye(Y?.facets,"harness"),re=ye(Y?.facets,"project");return e.jsxs("main",{className:"ks-page",children:[e.jsxs("div",{className:"ks-shell",children:[e.jsx("header",{className:"ks-header",children:e.jsxs("div",{className:"ks-header-titles",children:[e.jsx("span",{className:"ks-eyebrow",children:"Search"}),e.jsx("h1",{children:"Find anything you ran, opened, or decided"}),e.jsxs("p",{children:["Search across sessions, skills, MCP tools, codebase, and context packs from the last ",f.days," days."]})]})}),e.jsxs("form",{className:"ks-search-form",onSubmit:ve,role:"search",children:[e.jsx(Ue,{size:17,strokeWidth:1.75,"aria-hidden":"true"}),e.jsx("input",{value:i.query,onChange:s=>y({query:s.target.value}),placeholder:"Search topics, files, decisions, agents…",className:"ks-search-input",spellCheck:!1,autoFocus:!0,"aria-label":"Search OpenScout knowledge"}),i.query?e.jsx("button",{type:"button",className:"ks-search-clear",onClick:()=>y({query:""}),"aria-label":"Clear search",children:e.jsx(Be,{size:14,"aria-hidden":"true"})}):e.jsx("span",{className:"ks-search-hint","aria-hidden":"true",children:"/"}),P?e.jsx(fe,{size:15,className:"ks-spin","aria-hidden":"true"}):null]}),e.jsxs("section",{className:"ks-filterbar","aria-label":"Search filters",children:[e.jsxs("div",{className:"ks-filterbar-row",children:[e.jsxs("span",{className:"ks-filterbar-label",children:[e.jsx(Ye,{size:12,"aria-hidden":"true"}),"Source"]}),e.jsx("div",{className:"ks-chip-row",role:"group","aria-label":"Source kind filters",children:Fe.map(s=>e.jsx(D,{active:i.sourceKinds.includes(s),onClick:()=>y({sourceKinds:i.sourceKinds.includes(s)?i.sourceKinds.filter(n=>n!==s):[...i.sourceKinds,s]}),label:be[s]??s},s))})]}),ie.length>0?e.jsxs("div",{className:"ks-filterbar-row",children:[e.jsxs("span",{className:"ks-filterbar-label",children:[e.jsx(Je,{size:12,"aria-hidden":"true"}),"Agent"]}),e.jsx("div",{className:"ks-chip-row",role:"group","aria-label":"Harness filters",children:ie.map(s=>e.jsx(D,{active:i.harness.includes(s.value),onClick:()=>y({harness:i.harness.includes(s.value)?i.harness.filter(n=>n!==s.value):[...i.harness,s.value]}),label:Se(s.value),count:s.count},`harness:${s.value}`))})]}):null,re.length>0?e.jsxs("div",{className:"ks-filterbar-row",children:[e.jsxs("span",{className:"ks-filterbar-label",children:[e.jsx(Xe,{size:12,"aria-hidden":"true"}),"Project"]}),e.jsx("div",{className:"ks-chip-row",role:"group","aria-label":"Project filters",children:re.map(s=>e.jsx(D,{active:i.project.includes(s.value),onClick:()=>y({project:i.project.includes(s.value)?i.project.filter(n=>n!==s.value):[...i.project,s.value]}),label:s.value,count:s.count},`project:${s.value}`))})]}):null,e.jsxs("div",{className:"ks-filterbar-row ks-filterbar-row--inline",children:[e.jsxs("span",{className:"ks-filterbar-label",children:[e.jsx(Qe,{size:12,"aria-hidden":"true"}),"Time"]}),e.jsxs("div",{className:"ks-chip-row",role:"group","aria-label":"Time window filter",children:[e.jsx(D,{active:i.timeWindow==="all",onClick:()=>y({timeWindow:"all"}),label:"Any time"}),as.map(s=>e.jsx(D,{active:i.timeWindow===s.value,onClick:()=>y({timeWindow:s.value}),label:s.label},s.value))]}),ge(i)?e.jsx("button",{type:"button",className:"ks-clear-all",onClick:I,children:"Clear filters"}):null]})]}),_?e.jsx("section",{className:"ks-error",role:"alert",children:_}):null,!x&&!_?e.jsxs("div",{className:"ks-empty-state",children:[e.jsx("strong",{children:L?"Preparing your session index":"Preparing search"}),e.jsxs("span",{children:["First load builds the last ",f.days," days"," ","(up to ",g(f.sessionLimit)," sessions). You can keep this page open — results appear as soon as the index is ready."]})]}):null,x?e.jsxs("div",{className:"ks-hit-list",role:"listbox","aria-label":"Search results",children:[e.jsxs("div",{className:"ks-hit-list-head","aria-live":"polite",children:[e.jsx("span",{children:P?"Searching…":q?`${g(C.length)} session${C.length===1?"":"s"}`:"Ready"}),q&&v.length>0?e.jsxs("span",{className:"ks-hit-list-meta",children:[g(v.length)," moment",v.length===1?"":"s",z?e.jsxs(e.Fragment,{children:[" · ",e.jsx("button",{type:"button",className:"ks-text-action",onClick:I,children:"Clear filters"})]}):null]}):null]}),q&&C.length===0&&!P?e.jsxs("div",{className:"ks-empty-hit",children:[e.jsxs("strong",{children:["No matches for “",q,"”"]}),e.jsxs("span",{children:["Try a project name, file path, or topic from recent work",z?", or clear one of the filters above.":"."]}),e.jsxs("div",{className:"ks-empty-hit-actions",children:[e.jsx("button",{type:"button",className:"ks-text-action",onClick:()=>y({query:""}),children:"Clear query"}),z?e.jsx("button",{type:"button",className:"ks-text-action",onClick:I,children:"Clear all filters"}):null]})]}):null,q?null:e.jsxs("div",{className:"ks-empty-hit ks-empty-hit--quiet",children:[e.jsx("strong",{children:"Start with a query"}),e.jsxs("span",{children:["Type a topic, file path, agent, or session hint. Use"," ",e.jsx("kbd",{children:"/"})," to focus this field, ",e.jsx("kbd",{children:"j"}),"/",e.jsx("kbd",{children:"k"})," to walk results, ",e.jsx("kbd",{children:"↵"})," to select, ",e.jsx("kbd",{children:"⌘↵"})," to open the session."]}),e.jsx("button",{type:"button",className:"ks-text-action",onClick:Ce,disabled:v.length===0,children:"Pick the first result automatically"})]}),e.jsx("div",{className:"ks-hit-list-body",children:C.map((s,n)=>{const r=s.best,d=He(r),u=Me(r),m=me(pe(r)),W=()=>{m&&t({view:"sessions",sessionId:m})},B=s.moments.some(j=>h?.id===j.id);return e.jsxs("section",{className:`ks-session${B?" ks-session--selected":""}`,"aria-label":`Session ${n+1}`,children:[e.jsxs("header",{className:"ks-session-head",children:[e.jsxs("div",{className:"ks-session-topline",children:[e.jsxs("div",{className:"ks-session-meta",children:[d.agent?e.jsx("span",{className:"ks-hit-chip",children:d.agent}):null,d.project?e.jsx("span",{children:d.project}):null,d.session?e.jsxs("span",{className:"ks-hit-session",title:m??d.session,children:["session ",d.session]}):null,e.jsxs("span",{className:"ks-session-count",children:[g(s.moments.length)," match",s.moments.length===1?"":"es"]})]}),d.when?e.jsx("time",{className:"ks-hit-when",children:d.when}):null]}),e.jsx("button",{type:"button",className:"ks-session-goal",onClick:W,title:m?"Open session":void 0,children:u})]}),e.jsx("div",{className:"ks-session-moments",children:s.moments.map(j=>{const le=We(j,i.query),oe=h?.id===j.id,G=$e(j,i.query,200),ce=Oe(j),J=()=>b(j,i.query),ue=()=>{const p=me(pe(j))??m;if(!p){J();return}t({view:"sessions",sessionId:p})};return e.jsx("article",{className:`ks-hit${oe?" ks-hit--selected":""}`,role:"option","aria-selected":oe,tabIndex:0,onClick:J,onDoubleClick:ue,onKeyDown:p=>{if(p.key==="Enter"&&(p.metaKey||p.ctrlKey)){p.preventDefault(),ue();return}ss(p,J)},children:e.jsxs("div",{className:"ks-hit-body",children:[ce.length>0?e.jsx("div",{className:"ks-hit-details ks-hit-details--moment","aria-label":"Turn",children:ce.map(p=>e.jsx("span",{className:"ks-hit-details-strong",children:p},p))}):null,e.jsx("h3",{className:"ks-hit-title",children:le}),G&&G!==le?e.jsx("p",{className:"ks-hit-snippet",children:e.jsx(es,{text:G,query:i.query})}):null]})},j.id)})})]},s.collectionId)})})]}):null]}),e.jsxs("footer",{className:"ks-foot-status","aria-live":"polite",children:[e.jsxs("span",{className:"ks-foot-status-facts",children:[ne?e.jsx(fe,{size:12,className:"ks-spin","aria-hidden":"true"}):null,Ke,ge(i)?e.jsxs(e.Fragment,{children:[" · ",is(i)]}):null]}),e.jsx("button",{type:"button",className:"ks-text-action",onClick:()=>{ae(!0)},disabled:L,children:L?"Updating…":"Update index"})]})]})}export{Us as KnowledgeSearchScreen};
@@ -1 +0,0 @@
1
- import{r as f,j as e}from"./index-BI9AljSD.js";import{S as L}from"./SlidePanel-BMRIR6bH.js";import{A as j}from"./AgentAvatar-B7c0egdP.js";import{H as S}from"./HarnessMark-DAaWPiT_.js";import{t as N}from"./time-Dhsh_2EG.js";import{o as g,f as k,b as y}from"./lane-observe-vfyACHi0.js";import{S as A}from"./SessionObserve-BCehTlO8.js";import{LaneTraceEventFocus as E}from"./LaneTraceEventFocus-Cek_64zR.js";import{b as T}from"./agent-lane-detail-ppJId6Jc.js";import{l as I,a as z}from"./agent-lanes-model-DXqjs0OK.js";import"./Provider-Bu-C8Hxc.js";import"./router-DTtux5sP.js";import"./perf-PX8Rx0EP.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-BQ6t92tJ.js";import"./api-Co9aQ2Jw.js";import"./sse-DDHEHUgz.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BJIamJOH.js";import"./DocumentFocusViewer-DFFE85Tq.js";import"./createLucideIcon-DthwWQIg.js";import"./TextDocumentSurface-BeSwe3Yl.js";import"./file-text--hfhwZH1.js";import"./x-DfRJbqrh.js";import"./chevron-right-CnZRSd-V.js";import"./code-xml-CvKBY3KA.js";import"./arrow-left-DHfdXJVZ.js";import"./arrow-right-BBsrogWf.js";import"./scout-voice-BZKsdquE.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-e6yGeorb.js";import"./NewChatComposer-C_1op4dH.js";import"./text-Faa3ZStB.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-B2W9DPG5.js";import"./conversation-model-QsJVfSeG.js";import"./index-DfsTyYDx.js";import"./NewChatOrigin-D7hwp6dm.js";import"./chevron-down-C475vltS.js";import"./search-DmFM_9jm.js";import"./chunk-HRAB3GC3-DLNT8aOo.js";import"./SpriteAvatar-56DTXxSV.js";import"./CrewAvatar-CXJHLNVM.js";import"./tail-display-DcliDVkW.js";import"./lane-edit-display-C_Aujldz.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-Bo2Zl-1a.js";import"./lane-ask-display-B6iCAVcd.js";import"./mentions-DuLQnEcn.js";import"./AgentDetailCard-B_KLcgsP.js";import"./AgentLiveActions-CsQA3pu_.js";import"./terminal-takeover-B6H4llRR.js";import"./openContent-C6XO6kr5.js";import"./eye-FnaaPfja.js";import"./terminal-C3YRPfyz.js";import"./message-markup-Cc_O-WdA.js";import"./ObservedTopologyPanel-BhVsvwkh.js";import"./ObserveTextFlow-BcrGQet8.js";import"./use-reduced-motion-8WuxLa5l.js";import"./proxy-1BABCaDb.js";import"./SessionObserveEvidence-Bb6U-dem.js";import"./message-circle-B2DoYKDO.js";import"./wrench-DkxnZRlR.js";import"./external-link-C_nxk0MJ.js";import"./context-budget-DX_fwUs3.js";const M={think:"Thought",tool:"Tool",ask:"Request",message:"Message",note:"Note",system:"System",boot:"Boot"};function Ve({target:d,onClose:n}){const{lane:i,event:t}=d,{agent:s,observe:l,source:r,lastActiveAt:a}=i,p=f.useMemo(()=>T(i),[i]),c=I(s,r),v=z(s,r),h=M[t.kind]??t.kind,u=l?.metadata?.session?.sessionStart,o=g(t,u),b=o!=null?k(o,a):void 0,x=o!=null?y(o):void 0,m=t.kind==="tool"||t.kind==="ask"?t:void 0;return e.jsxs(L,{open:!0,onClose:n,side:"right",owner:"openscout.lane-trace",layer:"elevated",resizable:!0,defaultSize:980,minSize:560,maxSize:1280,scrollLock:!0,ariaLabel:`${c} session trace`,className:"s-lane-trace-sheet",children:[e.jsxs("div",{className:"s-slide-header s-lane-trace-sheet-header",children:[e.jsx(j,{agent:s,placement:"row",size:28,presence:!1,className:"s-agent-lane-avatar"}),e.jsxs("div",{className:"s-lane-trace-sheet-header-copy",children:[e.jsx("div",{className:"s-lane-trace-sheet-title",children:c}),e.jsxs("div",{className:"s-lane-trace-sheet-sub",children:[v," · ",h,a?` · ${N(a)}`:""]})]}),e.jsx("span",{className:"s-slide-spacer"}),e.jsx(S,{harness:s.harness??p.harness,size:18,className:"s-lane-trace-sheet-hmark"}),e.jsx("button",{type:"button",className:"s-slide-close",onClick:n,"aria-label":"Close",children:"×"})]}),e.jsx("div",{className:"s-slide-body s-lane-trace-sheet-body",children:e.jsx(A,{data:l??void 0,agentId:r==="scout"?s.id:void 0,sessionId:s.harnessSessionId??p.sessionId,showRail:!0,variant:"default",initialCursorT:t.t,focusEventId:t.id,inlineFocusEventId:m?.id,inlineFocusContent:m?e.jsx(E,{event:m,wallLabel:b,wallTitle:x,variant:"inline"}):void 0})})]})}export{Ve as LaneTraceDetailSheet};
@@ -1,3 +0,0 @@
1
- import{r as x,j as s}from"./index-BI9AljSD.js";import{C as me}from"./chunk-T65CQEWV-BtNvicWs.js";import{u as te,t as de,a as pe,b as ue}from"./mesh-view-store-CiET-yN8.js";import{n as T,s as B}from"./colors-BtO5_zlx.js";import{t as Q}from"./time-Dhsh_2EG.js";import{u as fe}from"./Provider-Bu-C8Hxc.js";import{u as xe}from"./useAgentHoverCard-Bkv-Uz_V.js";import{b as ye}from"./mesh-buckets-6y3ZIibI.js";import"./plus-BJ1If8vj.js";import"./createLucideIcon-DthwWQIg.js";import"./router-DTtux5sP.js";import"./perf-PX8Rx0EP.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-BQ6t92tJ.js";import"./api-Co9aQ2Jw.js";import"./sse-DDHEHUgz.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BJIamJOH.js";import"./DocumentFocusViewer-DFFE85Tq.js";import"./TextDocumentSurface-BeSwe3Yl.js";import"./file-text--hfhwZH1.js";import"./x-DfRJbqrh.js";import"./chevron-right-CnZRSd-V.js";import"./code-xml-CvKBY3KA.js";import"./arrow-left-DHfdXJVZ.js";import"./arrow-right-BBsrogWf.js";import"./scout-voice-BZKsdquE.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-e6yGeorb.js";import"./NewChatComposer-C_1op4dH.js";import"./text-Faa3ZStB.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-B2W9DPG5.js";import"./conversation-model-QsJVfSeG.js";import"./index-DfsTyYDx.js";import"./HarnessMark-DAaWPiT_.js";import"./NewChatOrigin-D7hwp6dm.js";import"./chevron-down-C475vltS.js";import"./search-DmFM_9jm.js";import"./chunk-HRAB3GC3-DLNT8aOo.js";import"./AgentDetailCard-B_KLcgsP.js";import"./AgentLiveActions-CsQA3pu_.js";import"./terminal-takeover-B6H4llRR.js";import"./openContent-C6XO6kr5.js";import"./eye-FnaaPfja.js";import"./terminal-C3YRPfyz.js";import"./mesh-roster-Bc7T4b7z.js";function ge(e,t){if(t.type==="pan")return{...e,pan:{x:e.pan.x+t.delta.x,y:e.pan.y+t.delta.y}};if(t.type==="zoom"){const n=Math.max(.25,Math.min(4,e.scale*t.factor)),{mx:i,my:h,cx:c,cy:f}=t,m=(i-c)/e.scale-e.pan.x,d=(h-f)/e.scale-e.pan.y;return{scale:n,pan:{x:(i-c)/n-m,y:(h-f)/n-d}}}return e}const ce="openscout.mesh.canvas.viewport.v1";function we(){const e={pan:{x:0,y:0},scale:1};if(typeof window>"u")return e;try{const t=window.sessionStorage.getItem(ce);if(!t)return e;const n=JSON.parse(t);if(n&&typeof n=="object"&&typeof n.scale=="number"&&n.pan&&typeof n.pan.x=="number"&&typeof n.pan.y=="number")return{pan:{x:n.pan.x,y:n.pan.y},scale:n.scale}}catch{}return e}function ve(e){const t=e.name&&e.name.trim()||e.handle&&e.handle.trim()||e.harness&&e.harness.trim()||"agent";return{key:t.toLowerCase(),label:t}}function be(e){const t=new Map;for(const n of e){const{key:i,label:h}=ve(n);let c=t.get(i);c||(c={key:i,label:h,instances:[]},t.set(i,c)),c.instances.push(n)}return Array.from(t.values()).map(n=>(n.instances.sort((i,h)=>i.id.localeCompare(h.id)),n)).sort((n,i)=>{const h=n.label.localeCompare(i.label);return h!==0?h:i.instances.length-n.instances.length})}function je(e){switch(e){case"compact":return{density:e,instanceW:138,instanceH:32,stepX:144,stepY:38,clusterPadX:12,clusterPadY:12,labelH:22,clusterGap:16};case"spacious":return{density:e,instanceW:260,instanceH:68,stepX:268,stepY:76,clusterPadX:14,clusterPadY:14,labelH:26,clusterGap:16};default:return{density:"comfortable",instanceW:210,instanceH:52,stepX:218,stepY:60,clusterPadX:12,clusterPadY:12,labelH:24,clusterGap:14}}}function Ne(e,t){return Math.max(1,Math.round(Math.sqrt(e*t)))}function Ce(e,t,n){if(e.length===0)return[];const i=e.map(l=>{const H=l.instances.length,b=Ne(H,Math.max(.6,Math.min(n,2))),I=Math.ceil(H/b),N=b*t.stepX-(t.stepX-t.instanceW),A=I*t.stepY-(t.stepY-t.instanceH);return{cluster:l,cols:b,width:N+t.clusterPadX*2,height:A+t.clusterPadY*2+t.labelH}}),h=i.reduce((l,H)=>l+H.width*H.height,0),c=Math.max(Math.max(...i.map(l=>l.width)),Math.sqrt(h*n)),f=t.clusterGap,m=[];let d=0,j=0,v=0;for(const l of i)d>0&&d+l.width>c&&(j+=v+f,d=0,v=0),m.push({cluster:l.cluster,x:d,y:j,width:l.width,height:l.height,cols:l.cols}),d+=l.width+f,v=Math.max(v,l.height);const p=Math.min(...m.map(l=>l.x)),u=Math.max(...m.map(l=>l.x+l.width)),M=Math.min(...m.map(l=>l.y)),C=Math.max(...m.map(l=>l.y+l.height)),r=-((p+u)/2),g=-((M+C)/2);return m.map(l=>({...l,x:l.x+r,y:l.y+g}))}function Me(e,t,n){const i=e%t,h=Math.floor(e/t);return{x:n.clusterPadX+i*n.stepX,y:n.labelH+n.clusterPadY+h*n.stepY}}function Z(e){const t=e.harness?.trim(),n=e.model?.trim();return t&&n?`${t}/${n}`:t||n||"—"}function ee(e){const t=e.project?.trim(),n=e.branch?.trim();return t&&n?`${t}/${n}`:t||n||"—"}function D(e){return e.cwd||e.projectRoot||"—"}function se({onClick:e}){return s.jsx("button",{type:"button",className:"mesh-sheet-open",title:"Open agent view","aria-label":"Open agent view",onClick:t=>{t.stopPropagation(),e()},children:"↗"})}function Ie({agent:e,onOpen:t,bindings:n,active:i}){const h=T(e.state),c=e.agentClass==="organic",f=e.updatedAt?Q(e.updatedAt):"",m=Z(e),d=ee(e);return s.jsxs("div",{...n??{},className:`mesh-instance-spec mesh-instance-spec--${h}${c?" mesh-instance-spec--organic":""}${i?" mesh-instance--active":""}`,style:{"--state-stripe":B(e.state)},title:`${m} — ${d}`,children:[s.jsxs("span",{className:"mesh-instance-spec-row",children:[s.jsx("span",{className:"mesh-instance-spec-primary",children:m}),f&&s.jsx("span",{className:"mesh-instance-spec-time",children:f})]}),s.jsxs("span",{className:"mesh-instance-spec-row",children:[s.jsx("span",{className:"mesh-instance-spec-secondary",children:d}),s.jsx(se,{onClick:t})]})]})}function He({agent:e,onOpen:t,bindings:n,active:i}){const h=T(e.state),c=e.agentClass==="organic",f=e.updatedAt?Q(e.updatedAt):"—",m=`${Z(e)} · ${ee(e)}`;return s.jsxs("div",{...n??{},className:`mesh-instance-sheet mesh-instance-sheet--${h}${c?" mesh-instance-sheet--organic":""}${i?" mesh-instance--active":""}`,style:{"--state-stripe":B(e.state)},title:`${m}
2
- ${D(e)}`,children:[s.jsxs("span",{className:"mesh-sheet-line mesh-sheet-line--head",children:[s.jsx("span",{className:"mesh-sheet-id",children:m}),s.jsx("span",{className:"mesh-sheet-time",children:f}),s.jsx(se,{onClick:t})]}),s.jsxs("span",{className:"mesh-sheet-line",children:[s.jsx("span",{className:"mesh-sheet-path",children:D(e)}),s.jsxs("span",{className:"mesh-sheet-ctx",children:[s.jsx("span",{className:"mesh-sheet-ctx-label",children:"CTX"})," —"]})]})]})}function $e({agent:e,onOpen:t,bindings:n,active:i}){const h=T(e.state),c=e.agentClass==="organic",f=e.updatedAt?Q(e.updatedAt):"—",m=`${Z(e)} · ${ee(e)}`,d=e.agentClass?.trim();return s.jsxs("div",{...n??{},className:`mesh-instance-sheet mesh-instance-sheet--spacious mesh-instance-sheet--${h}${c?" mesh-instance-sheet--organic":""}${i?" mesh-instance--active":""}`,style:{"--state-stripe":B(e.state)},title:`${m}
3
- ${D(e)}`,children:[s.jsxs("span",{className:"mesh-sheet-line mesh-sheet-line--head",children:[s.jsx("span",{className:"mesh-sheet-id",children:m}),s.jsx("span",{className:"mesh-sheet-time",children:f}),s.jsx(se,{onClick:t})]}),s.jsx("span",{className:"mesh-sheet-line",children:s.jsx("span",{className:"mesh-sheet-path",children:D(e)})}),s.jsxs("span",{className:"mesh-sheet-line",children:[s.jsxs("span",{className:"mesh-sheet-ctx",children:[s.jsx("span",{className:"mesh-sheet-ctx-label",children:"CTX"})," —"]}),d&&s.jsx("span",{className:"mesh-sheet-tag",children:d})]})]})}function Ee({layout:e,metrics:t,onAgentOpen:n,bindFor:i,activeId:h}){const{cluster:c,x:f,y:m,width:d,height:j,cols:v}=e,p=x.useMemo(()=>{const u={working:0,ready:0,notReady:0};for(const M of c.instances){const C=T(M.state);C==="in_turn"||C==="in_flight"?u.working+=1:C==="callable"?u.ready+=1:u.notReady+=1}return u},[c.instances]);return s.jsxs("div",{className:"mesh-cluster",style:{position:"absolute",left:f,top:m,width:d,height:j},children:[s.jsxs("div",{className:"mesh-cluster-header",style:{height:t.labelH},children:[s.jsx("span",{className:"mesh-cluster-name",children:c.label}),s.jsx("span",{className:"mesh-cluster-count",children:c.instances.length}),s.jsxs("span",{className:"mesh-cluster-states",children:[p.working>0&&s.jsxs("span",{className:"mesh-cluster-state mesh-cluster-state--working",children:[s.jsx("span",{className:"mesh-cluster-state-dot"}),p.working]}),p.ready>0&&s.jsxs("span",{className:"mesh-cluster-state mesh-cluster-state--available",children:[s.jsx("span",{className:"mesh-cluster-state-dot"}),p.ready]}),p.notReady>0&&s.jsxs("span",{className:"mesh-cluster-state mesh-cluster-state--offline",children:[s.jsx("span",{className:"mesh-cluster-state-dot"}),p.notReady]})]})]}),c.instances.map((u,M)=>{const C=Me(M,v,t);return s.jsx("div",{style:{position:"absolute",left:C.x,top:C.y,width:t.instanceW,height:t.instanceH},children:t.density==="compact"?s.jsx(Ie,{agent:u,onOpen:()=>n(u),bindings:i(u.id),active:h===u.id}):t.density==="spacious"?s.jsx($e,{agent:u,onOpen:()=>n(u),bindings:i(u.id),active:h===u.id}):s.jsx(He,{agent:u,onOpen:()=>n(u),bindings:i(u.id),active:h===u.id})},u.id)})]})}const U=34,re=22,Se=6,ne=28,ae=10,F=12,ie=380,Ae=240,J=38;function _e(e,t,n,i,h,c){const f=[],m=[],d=[];for(const r of e)i[r.machineId]?d.push(r):m.push(r);let j=0,v=ie;const p=(r,g)=>{const H=t.has(r.machineId)||!r.online,b=n.has(r.machineId);let I=0,N=0,A=0;for(const L of r.agents){const S=T(L.state);S==="in_turn"||S==="in_flight"?I+=1:S==="callable"?N+=1:A+=1}const G=r.online?I>0?"working":N>0?"available":"offline":"offline";if(H)return{machineId:r.machineId,machineLabel:r.machineLabel,reachability:r.reachability,online:r.online,agentCount:r.agents.length,workingCount:I,availableCount:N,offlineCount:A,dominantState:G,host:r.host,collapsed:!1,ghost:!0,pinned:g,x:0,y:0,width:Ae,height:J,headerHeight:J,chromeHeight:J,layouts:[]};const Y=b?[]:be(r.agents),E=b?[]:Ce(Y,h,c),z=b?ke():0,O=b?oe+z*re+Se:0,X=U+O;let k=0,P=0;if(!b&&E.length>0){const L=Math.min(...E.map(o=>o.x)),S=Math.max(...E.map(o=>o.x+o.width)),_=Math.min(...E.map(o=>o.y)),q=Math.max(...E.map(o=>o.y+o.height));k=S-L,P=q-_;const K=-L+F,a=-_+X+ae;for(const o of E)o.x+=K,o.y+=a}const R=Math.max(ie,k+F*2),V=b?X:X+ae+P+F;return{machineId:r.machineId,machineLabel:r.machineLabel,reachability:r.reachability,online:r.online,agentCount:r.agents.length,workingCount:I,availableCount:N,offlineCount:A,dominantState:G,host:r.host,collapsed:b,ghost:!1,pinned:g,x:0,y:0,width:R,height:V,headerHeight:U,chromeHeight:X,layouts:E}};for(const r of m){const g=p(r,!1);g.x=0,g.y=j,f.push(g),v=Math.max(v,g.width),j+=g.height+ne}const u=Math.max(0,j-ne),M=-v/2,C=-u/2;for(const r of f)r.ghost||(r.width=v),r.x=M,r.y+=C;for(const r of d){const g=p(r,!0),l=i[r.machineId];g.x=l.x,g.y=l.y,f.push(g)}return f}function Ye({section:e,metrics:t,onAgentOpen:n,bindFor:i,activeId:h,onHeaderPointerDown:c,onHeaderClick:f,onGhostActivate:m}){const d=e.reachability==="this"?"this node":e.reachability==="peer"?"peer":e.reachability==="tailnet"?"tailnet":"",j=e.online?e.agentCount===0?"idle":"standby":"unreachable";if(e.ghost)return s.jsx("div",{"data-machine-id":e.machineId,className:"mesh-machine-ghost",style:{position:"absolute",left:e.x,top:e.y,width:e.width,height:e.height,pointerEvents:"all"},title:`${e.machineLabel} · ${j} — click to show`,children:s.jsxs("button",{type:"button",className:"mesh-machine-ghost-body",onPointerDown:p=>c(p,e),onClick:()=>m(e.machineId),children:[s.jsx("span",{className:"mesh-machine-ghost-led","aria-hidden":!0}),s.jsx("span",{className:"mesh-machine-ghost-name",children:e.machineLabel}),s.jsx("span",{className:"mesh-machine-ghost-stamp",children:j}),d&&s.jsx("span",{className:`mesh-machine-chip mesh-machine-chip--${e.reachability} mesh-machine-chip--ghost`,children:d}),s.jsxs("span",{className:"mesh-machine-ghost-counts",children:[s.jsx("span",{className:"mesh-machine-count",children:e.agentCount}),e.workingCount>0&&s.jsxs("span",{className:"mesh-machine-count mesh-machine-count--working",children:[e.workingCount,"W"]})]})]})});const v=e.collapsed?Oe(e):[];return s.jsxs("div",{"data-machine-id":e.machineId,className:`mesh-machine-section${e.collapsed?" mesh-machine-section--collapsed":""}${e.pinned?" mesh-machine-section--pinned":""}`,style:{position:"absolute",left:e.x,top:e.y,width:e.width,height:e.height,pointerEvents:"all"},children:[s.jsxs("button",{type:"button",className:"mesh-machine-header",style:{height:e.headerHeight},onPointerDown:p=>c(p,e),onClick:()=>f(e.machineId),"aria-expanded":!e.collapsed,children:[s.jsx("span",{className:`mesh-machine-led mesh-machine-led--${e.dominantState}`,style:{color:B(e.dominantState)},"aria-hidden":!0}),s.jsx("span",{className:"mesh-machine-caret","aria-hidden":!0,children:e.collapsed?"▸":"▾"}),s.jsx("span",{className:"mesh-machine-grip","aria-hidden":!0,children:"⠿"}),s.jsx("span",{className:"mesh-machine-name",children:e.machineLabel}),d&&s.jsx("span",{className:`mesh-machine-chip mesh-machine-chip--${e.reachability}`,children:d})]}),e.collapsed&&s.jsxs("div",{className:"mesh-machine-spec",children:[s.jsxs("div",{className:"mesh-machine-state-strip",style:{height:oe},children:[s.jsxs("div",{className:"mesh-machine-state-cell mesh-machine-state-cell--working",children:[s.jsx("span",{className:"mesh-machine-state-num",children:e.workingCount}),s.jsx("span",{className:"mesh-machine-state-label",children:"working"})]}),s.jsxs("div",{className:"mesh-machine-state-cell",children:[s.jsx("span",{className:"mesh-machine-state-num",children:e.availableCount}),s.jsx("span",{className:"mesh-machine-state-label",children:"ready"})]}),s.jsxs("div",{className:"mesh-machine-state-cell",children:[s.jsx("span",{className:"mesh-machine-state-num",children:e.agentCount}),s.jsx("span",{className:"mesh-machine-state-label",children:"total"})]})]}),v.map(p=>s.jsxs("div",{className:"mesh-machine-spec-row",style:{height:re},children:[s.jsx("span",{className:"mesh-machine-spec-label",children:p.label}),s.jsx("span",{className:"mesh-machine-spec-value",title:p.value,children:p.value})]},p.label))]}),!e.collapsed&&e.layouts.map(p=>s.jsx(Ee,{layout:p,metrics:t,onAgentOpen:n,bindFor:i,activeId:h},p.cluster.key))]})}function Oe(e){const t=e.host;return[{label:"os",value:t?.os??"—"},{label:"arch",value:t?.arch??"—"},{label:"cpu",value:t?.cpuCores?`${t.cpuCores}c`:"—"},{label:"ram",value:t?.memoryGb?`${t.memoryGb} G`:"—"},{label:"disk",value:t?.storageCapacityGb?`${t.storageCapacityGb} G`:"—"},{label:"network",value:t?.network??"—"},{label:"scout",value:t?.scoutVersion?`v${t.scoutVersion}`:"—"}]}const Xe=7,oe=54;function ke(e,t,n,i){return Xe}function As({mesh:e,agents:t=[]}){const n=x.useRef(null),[i,h]=x.useState({w:0,h:0}),[c,f]=x.useReducer(ge,void 0,we);x.useEffect(()=>{if(!(typeof window>"u"))try{window.sessionStorage.setItem(ce,JSON.stringify({pan:c.pan,scale:c.scale}))}catch{}},[c.pan,c.scale]);const{density:m,query:d,agentStateFilters:j,hiddenMachineIds:v,collapsedMachineIds:p,scrollTargetMachineId:u}=te(),{navigate:M}=fe();x.useLayoutEffect(()=>{const a=n.current;if(!a)return;const o=()=>h({w:a.clientWidth,h:a.clientHeight});o();const w=new ResizeObserver(o);return w.observe(a),()=>w.disconnect()},[]),x.useLayoutEffect(()=>{const a=n.current;if(!a)return;const o=w=>{w.preventDefault();const y=w.deltaY<0?1.12:1/1.12,$=a.getBoundingClientRect();f({type:"zoom",factor:y,mx:w.clientX-$.left,my:w.clientY-$.top,cx:$.width/2,cy:$.height/2})};return a.addEventListener("wheel",o,{passive:!1}),()=>a.removeEventListener("wheel",o)},[]);const{machinePositions:C}=te(),r=x.useMemo(()=>je(m),[m]),g=x.useMemo(()=>{const a=d.trim().toLowerCase();return t.filter(o=>{const y=T(o.state);return j.has(y)?a?`${o.name??""} ${o.handle??""} ${o.harness??""} ${o.project??""} ${o.branch??""}`.toLowerCase().includes(a):!0:!1})},[t,d,j]),l=x.useMemo(()=>ye(g,e),[g,e]),H=i.w>0&&i.h>0?i.w/i.h:1.6,b=x.useMemo(()=>_e(l,v,p,C,r,H),[l,v,p,C,r,H]),I=x.useRef(null),[N,A]=x.useState(null),G=x.useCallback((a,o)=>{if(a.button!==0)return;a.stopPropagation(),a.currentTarget.setPointerCapture(a.pointerId),I.current={machineId:o.machineId,startClientX:a.clientX,startClientY:a.clientY,startSectionX:o.x,startSectionY:o.y,pointerId:a.pointerId,moved:!1}},[]);x.useEffect(()=>{const a=w=>{const y=I.current;if(!y||w.pointerId!==y.pointerId)return;const $=w.clientX-y.startClientX,W=w.clientY-y.startClientY;if(!y.moved&&Math.hypot($,W)<4)return;y.moved=!0;const le=$/c.scale,he=W/c.scale;A({machineId:y.machineId,x:y.startSectionX+le,y:y.startSectionY+he})},o=w=>{const y=I.current;if(!(!y||w.pointerId!==y.pointerId)){if(I.current=null,y.moved){const $=(w.clientX-y.startClientX)/c.scale,W=(w.clientY-y.startClientY)/c.scale;ue(y.machineId,{x:y.startSectionX+$,y:y.startSectionY+W})}A(null)}};return window.addEventListener("pointermove",a),window.addEventListener("pointerup",o),window.addEventListener("pointercancel",o),()=>{window.removeEventListener("pointermove",a),window.removeEventListener("pointerup",o),window.removeEventListener("pointercancel",o)}},[c.scale]);const Y=x.useRef(!1);x.useEffect(()=>{if(N)Y.current=!0;else{const a=setTimeout(()=>{Y.current=!1},50);return()=>clearTimeout(a)}},[N]);const E=x.useCallback(a=>{Y.current||de(a)},[]),z=x.useCallback(a=>{Y.current||pe(a)},[]),O=x.useMemo(()=>N?b.map(a=>a.machineId===N.machineId?{...a,x:N.x,y:N.y,pinned:!0}:a):b,[b,N]);x.useEffect(()=>{if(!u)return;const a=O.find(o=>o.machineId===u);a&&f({type:"pan",delta:{x:-a.x-c.pan.x-a.width/2,y:-a.y-c.pan.y+i.h/4-U}})},[u,O,c.pan.x,c.pan.y,i.h]);const X=x.useCallback(a=>{a.agentClass!=="organic"&&M({view:"agents-v2",agentId:a.id})},[M]),k=x.useMemo(()=>g.filter(a=>a.agentClass!=="organic"),[g]),P=x.useMemo(()=>k.map(a=>a.id),[k]),R=xe({agents:k,orderedIds:P,navigate:M,selectMode:"preview"}),V=x.useCallback(a=>P.includes(a)?R.bind(a):null,[R,P]),L=R.activeAgent?.id??null,{pan:S,scale:_}=c,q=i.w/2,K=i.h/2;return s.jsxs("div",{ref:n,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden"},children:[i.w>0&&s.jsx(me,{panOffset:S,scale:_,onPan:a=>f({type:"pan",delta:a}),gridOpacity:.7}),s.jsx("div",{style:{position:"absolute",left:0,top:0,width:0,height:0,transform:`translate(${q}px, ${K}px) translate(${S.x*_}px, ${S.y*_}px) scale(${_})`,transformOrigin:"0 0",pointerEvents:"none"},children:O.length===0?s.jsx("div",{style:{position:"absolute",left:-120,top:-20,width:240,textAlign:"center",pointerEvents:"none"},children:s.jsx("div",{className:"mesh-empty-pill",children:"no machines visible"})}):O.map(a=>s.jsx(Ye,{section:a,metrics:r,onAgentOpen:X,bindFor:V,activeId:L,onHeaderPointerDown:G,onHeaderClick:z,onGhostActivate:E},a.machineId))}),s.jsx("div",{className:"mesh-canvas-hint",children:"scroll to zoom · drag to pan"}),R.card]})}export{As as MeshCanvas};
@@ -1 +0,0 @@
1
- import{r as x,j as e}from"./index-BI9AljSD.js";import{u as v,d as $,t as C,c as M,r as b}from"./mesh-view-store-CiET-yN8.js";import{u as w}from"./Provider-Bu-C8Hxc.js";import{b as I}from"./mesh-buckets-6y3ZIibI.js";import{a as j,f as S,s as f}from"./colors-BtO5_zlx.js";function T(){const[i,o]=x.useState("rack"),{agents:r}=w(),{meshSnapshot:l,selectedId:s,selectedType:a,hiddenMachineIds:m,machinePositions:n}=v(),t=x.useMemo(()=>l?I(r,l):[],[r,l]);if(!l||t.length===0)return null;const h=t.filter(d=>!m.has(d.machineId)).length,p=t.length,g=Object.keys(n).length,c=d=>{M(d,"node"),b(d)};return e.jsxs("div",{className:"mesh-rail",children:[e.jsxs("div",{className:"mesh-rail-head",children:[e.jsx("span",{className:"mesh-rail-ear","aria-hidden":!0}),e.jsxs("div",{className:"mesh-rail-mode",role:"group","aria-label":"Bottom view",children:[e.jsx("button",{type:"button",className:`mesh-rail-mode-btn${i==="map"?" mesh-rail-mode-btn--active":""}`,onClick:()=>o("map"),"aria-pressed":i==="map",children:"map"}),e.jsx("button",{type:"button",className:`mesh-rail-mode-btn${i==="rack"?" mesh-rail-mode-btn--active":""}`,onClick:()=>o("rack"),"aria-pressed":i==="rack",children:"rack"})]}),e.jsx("span",{className:"mesh-rail-title-count",children:p}),e.jsx("span",{className:"mesh-rail-ear","aria-hidden":!0})]}),i==="rack"?e.jsx(k,{buckets:t,hiddenMachineIds:m,selectedId:s,selectedType:a,onFocus:c}):e.jsx(B,{buckets:t,selectedId:s,selectedType:a,onFocus:c}),e.jsxs("div",{className:"mesh-rail-foot",children:[e.jsx("span",{className:"mesh-rail-foot-mark","aria-hidden":!0}),e.jsx("span",{className:"mesh-rail-foot-meta",children:i==="map"?`${p} machines`:`${h}/${p} shown`}),g>0&&i==="rack"?e.jsx("button",{type:"button",className:"mesh-rail-foot-reset",onClick:()=>$(),title:"Reset machine layout",children:"reset"}):e.jsx("span",{className:"mesh-rail-foot-mark","aria-hidden":!0})]})]})}function k({buckets:i,hiddenMachineIds:o,selectedId:r,selectedType:l,onFocus:s}){return e.jsx("div",{className:"mesh-rail-body",children:i.map((a,m)=>{const n=o.has(a.machineId),t=r===a.machineId&&l==="node",h=a.agents.filter(u=>j(u.state)).length,p=a.agents.filter(u=>S(u.state)).length,g=a.online?a.agents.length===0?"offline":h>0?"working":"available":"offline",c=n||!a.online?void 0:f(g),d=a.reachability==="this"?"L":a.reachability==="peer"?"P":a.reachability==="tailnet"?"T":"·",N=String(m+1).padStart(2,"0"),y=a.online?a.agents.length===0?"idle":`${h}w · ${p}r`:"unreachable";return e.jsxs("div",{className:["mesh-rail-unit",n&&"mesh-rail-unit--off",!a.online&&"mesh-rail-unit--unreachable",t&&"mesh-rail-unit--active"].filter(Boolean).join(" "),children:[e.jsxs("button",{type:"button",className:"mesh-rail-unit-body",onClick:()=>s(a.machineId),title:`Focus ${a.machineLabel} on the map`,children:[e.jsx("span",{className:"mesh-rail-slot",children:N}),e.jsx("span",{className:`mesh-rail-led${n||!a.online?"":" mesh-rail-led--on"}`,style:c?{background:c,color:c}:void 0,"aria-hidden":!0}),e.jsxs("span",{className:"mesh-rail-unit-text",children:[e.jsx("span",{className:"mesh-rail-unit-name",title:a.machineLabel,children:a.machineLabel}),e.jsxs("span",{className:"mesh-rail-unit-sub",children:[e.jsx("span",{className:`mesh-rail-reach mesh-rail-reach--${a.reachability}`,children:d}),e.jsx("span",{className:"mesh-rail-unit-stamp",children:y})]})]}),e.jsx("span",{className:"mesh-rail-unit-count",children:a.agents.length})]}),e.jsx("div",{className:"mesh-rail-unit-actions",children:e.jsx("button",{type:"button",className:`mesh-rail-unit-eye${n?" mesh-rail-unit-eye--off":""}`,onClick:u=>{u.stopPropagation(),C(a.machineId)},title:n?"Show in workspace":"Hide from workspace","aria-pressed":!n,children:n?"○":"●"})}),e.jsx("span",{className:"mesh-rail-vent","aria-hidden":!0})]},a.machineId)})})}function B({buckets:i,selectedId:o,selectedType:r,onFocus:l}){return e.jsx("div",{className:"mesh-rail-body mesh-rail-body--map",children:e.jsx("div",{className:"mesh-mini-map",children:i.map(s=>{const a=o===s.machineId&&r==="node",m=s.agents.filter(h=>j(h.state)).length,n=s.online?s.agents.length===0?"offline":m>0?"working":"available":"offline",t=s.online?f(n):void 0;return e.jsxs("button",{type:"button",className:`mesh-mini-node mesh-mini-node--${n}${a?" mesh-mini-node--active":""}${s.online?"":" mesh-mini-node--off"}`,onClick:()=>l(s.machineId),title:`${s.machineLabel} — ${s.agents.length} agents`,children:[e.jsx("span",{className:"mesh-mini-led",style:t?{background:t}:void 0,"aria-hidden":!0}),e.jsx("span",{className:"mesh-mini-label",children:s.machineLabel}),s.agents.length>0&&e.jsx("span",{className:"mesh-mini-count",children:s.agents.length})]},s.machineId)})})})}export{T as M};
@@ -1 +0,0 @@
1
- import{r as m,j as e}from"./index-BI9AljSD.js";import{a as D}from"./api-Co9aQ2Jw.js";import{t as A}from"./time-Dhsh_2EG.js";import{n as _,b as z,s as F,c as H}from"./colors-BtO5_zlx.js";import{u as O,d as K}from"./Provider-Bu-C8Hxc.js";import{f as U}from"./mesh-roster-Bc7T4b7z.js";import{b as V}from"./router-DTtux5sP.js";import{MeshCanvas as Q}from"./MeshCanvas-TvsID4fe.js";import{u as J}from"./useAgentHoverCard-Bkv-Uz_V.js";import{u as W}from"./local-agents-DKr-gIDC.js";import{u as X,c as Y,s as Z,e as E,f as I,g as G,h as L}from"./mesh-view-store-CiET-yN8.js";import{u as ee}from"./useContentSecondaryNav-Bpkc8ayb.js";import{OpsSubnav as se}from"./OpsSubnav-BEU4kKXm.js";/* empty css *//* empty css */import"./perf-PX8Rx0EP.js";import"./sse-DDHEHUgz.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BJIamJOH.js";import"./DocumentFocusViewer-DFFE85Tq.js";import"./createLucideIcon-DthwWQIg.js";import"./TextDocumentSurface-BeSwe3Yl.js";import"./file-text--hfhwZH1.js";import"./x-DfRJbqrh.js";import"./chevron-right-CnZRSd-V.js";import"./code-xml-CvKBY3KA.js";import"./arrow-left-DHfdXJVZ.js";import"./arrow-right-BBsrogWf.js";import"./scout-voice-BZKsdquE.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-e6yGeorb.js";import"./NewChatComposer-C_1op4dH.js";import"./text-Faa3ZStB.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-B2W9DPG5.js";import"./conversation-model-QsJVfSeG.js";import"./index-DfsTyYDx.js";import"./HarnessMark-DAaWPiT_.js";import"./NewChatOrigin-D7hwp6dm.js";import"./chevron-down-C475vltS.js";import"./search-DmFM_9jm.js";import"./chunk-HRAB3GC3-DLNT8aOo.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-BQ6t92tJ.js";import"./chunk-T65CQEWV-BtNvicWs.js";import"./plus-BJ1If8vj.js";import"./mesh-buckets-6y3ZIibI.js";import"./AgentDetailCard-B_KLcgsP.js";import"./AgentLiveActions-CsQA3pu_.js";import"./terminal-takeover-B6H4llRR.js";import"./openContent-C6XO6kr5.js";import"./eye-FnaaPfja.js";import"./terminal-C3YRPfyz.js";import"./SecondaryNav-BrXMtvKE.js";import"./secondaryNavConfig-C9bQ9_IA.js";import"./message-square-O-Hu9Mk2.js";import"./compass-BcRI_YXo.js";import"./settings-C6h9y5XX.js";import"./git-branch-DJyvr0k-.js";import"./scroll-text-kPhYbh-M.js";/* empty css */function te(c){const p=new Map,f=new Map;for(const a of c){const o=a.project??"Unassigned",i=o.toLowerCase(),h=a.branch??"—";let r=p.get(i);r||(r=new Map,p.set(i,r));const u=r.get(h)??[];u.push(a),r.set(h,u);let s=f.get(i);s||(s=new Map,f.set(i,s)),s.set(o,(s.get(o)??0)+1)}const g=a=>{const o=f.get(a);if(!o)return a;let i=null,h=-1;for(const[r,u]of o)u>h&&(i=r,h=u);return i??a},j=[];for(const[a,o]of p){const i=g(a),h=[];let r=0;const u={in_turn:0,in_flight:0,needs_attention:0,callable:0,blocked:0},s=[];for(const[l,n]of o){const t=[...n].sort((d,x)=>(x.updatedAt??0)-(d.updatedAt??0)),v=t.reduce((d,x)=>Math.max(d,x.updatedAt??0),0);r=Math.max(r,v);for(const d of t)u[_(d.state)]+=1,s.push(d);h.push({branch:l,agents:t,latest:v})}h.sort((l,n)=>n.latest-l.latest),j.push({project:i,branches:h,agents:s,latest:r,counts:u})}return j.sort((a,o)=>o.latest-a.latest),j}function T(c){return c?c.replace(/^\/Users\/[^/]+/,"~"):null}function ne({agents:c,emptyTitle:p="No agents registered",emptyBody:f="Agents connected to this broker will appear here.",selectMode:g="preview"}){const{navigate:j}=O(),a=m.useMemo(()=>te(c),[c]),[o,i]=m.useState(()=>new Set),h=m.useMemo(()=>{const s=[];for(const l of a)if(!o.has(l.project))for(const n of l.branches)for(const t of n.agents)s.push(t.id);return s},[a,o]),r=J({agents:c,orderedIds:h,navigate:j,selectMode:g});if(c.length===0)return e.jsxs("div",{className:"sys-list-empty",children:[e.jsx("h3",{children:p}),e.jsx("p",{children:f})]});const u=s=>{i(l=>{const n=new Set(l);return n.has(s)?n.delete(s):n.add(s),n})};return e.jsxs("div",{className:"mesh-tree",ref:r.containerRef,children:[a.map(s=>{const l=o.has(s.project);return e.jsxs("div",{className:`mesh-tree-group${l?" mesh-tree-group--collapsed":""}`,children:[e.jsxs("button",{type:"button",className:"mesh-tree-project",onClick:()=>u(s.project),"aria-expanded":!l,children:[e.jsx("span",{className:`mesh-tree-caret${l?"":" mesh-tree-caret--open"}`,"aria-hidden":!0,children:"›"}),e.jsx("span",{className:"mesh-tree-project-name",children:s.project}),e.jsx("span",{className:"mesh-tree-project-count",children:s.agents.length}),e.jsxs("span",{className:"mesh-tree-counts",children:[s.counts.in_turn+s.counts.in_flight+s.counts.needs_attention>0&&e.jsxs("span",{className:"mesh-tree-count mesh-tree-count--working",children:[e.jsx("span",{className:"mesh-tree-count-dot"}),s.counts.in_turn+s.counts.in_flight+s.counts.needs_attention]}),s.counts.callable>0&&e.jsxs("span",{className:"mesh-tree-count mesh-tree-count--available",children:[e.jsx("span",{className:"mesh-tree-count-dot"}),s.counts.callable]}),s.counts.blocked>0&&e.jsxs("span",{className:"mesh-tree-count mesh-tree-count--offline",children:[e.jsx("span",{className:"mesh-tree-count-dot"}),s.counts.blocked]})]}),e.jsx("span",{className:"mesh-tree-project-time",children:s.latest?A(s.latest):""})]}),!l&&e.jsx("div",{className:"mesh-tree-branches",children:s.branches.map(n=>e.jsxs("div",{className:"mesh-tree-branch",children:[e.jsxs("div",{className:"mesh-tree-branch-head",children:[e.jsx("span",{className:"mesh-tree-branch-elbow","aria-hidden":!0,children:"└"}),e.jsx("span",{className:"mesh-tree-branch-name",children:n.branch})]}),e.jsx("div",{className:"mesh-tree-agents",children:n.agents.map(t=>{const v=_(t.state),d=z(t.state),x=t.agentClass==="organic",y=r.getState(t.id),M=T(t.cwd)??T(t.projectRoot),k=t.harnessSessionId?t.harnessSessionId.slice(0,8):null,b=[];M&&b.push({kind:"cwd",text:M}),t.harness&&b.push({kind:"harness",text:t.harness}),t.model&&b.push({kind:"model",text:t.model}),k&&b.push({kind:"sess",text:`sess:${k}`});const $=r.bind(t.id);return e.jsxs("button",{type:"button",className:`mesh-tree-agent${x?" mesh-tree-agent--organic":""}${y.isActive?" mesh-tree-agent--active":""}${y.isPinned?" mesh-tree-agent--pinned":""}`,title:x?`${t.harness??t.name} · organic session`:void 0,...$,children:[e.jsx("span",{className:`mesh-tree-agent-dot mesh-tree-agent-dot--${d}`,style:{background:F(t.state)}}),e.jsx("span",{className:"mesh-tree-agent-name",children:t.handle??t.name}),x&&e.jsx("span",{className:"mesh-tree-agent-organic","aria-label":"organic session",children:"○"}),e.jsx("span",{className:"mesh-tree-agent-inline",children:b.map((C,R)=>e.jsxs("span",{className:`mesh-tree-agent-inline-part mesh-tree-agent-inline-part--${C.kind}`,children:[R>0&&e.jsx("span",{className:"mesh-tree-agent-inline-sep",children:"·"}),C.text]},C.kind))}),e.jsx("span",{className:`mesh-tree-agent-state mesh-tree-agent-state--${d}`,children:H(v)}),e.jsx("span",{className:"mesh-tree-agent-time",children:t.updatedAt?A(t.updatedAt):""})]},t.id)})})]},n.branch))})]},s.project)}),r.card]})}function P({mode:c,density:p,query:f,stateFilter:g,loading:j,refreshing:a,error:o,lastLoadedAt:i,hasMesh:h,onRefresh:r}){return e.jsxs("div",{className:`mesh-hud mesh-hud--${c}`,children:[e.jsxs("div",{className:"mesh-hud-left",children:[e.jsxs("div",{className:"mesh-mode-toggle",children:[e.jsx("button",{type:"button",className:`mesh-mode-btn${c==="map"?" mesh-mode-btn--active":""}`,onClick:()=>E("map"),children:"Map"}),e.jsx("button",{type:"button",className:`mesh-mode-btn${c==="tree"?" mesh-mode-btn--active":""}`,onClick:()=>E("tree"),children:"Tree"})]}),e.jsxs("div",{className:"mesh-mode-toggle mesh-density-toggle",role:"group","aria-label":"Density","aria-hidden":c!=="map","data-mode-only":"map",children:[e.jsx("button",{type:"button",className:`mesh-mode-btn${p==="compact"?" mesh-mode-btn--active":""}`,onClick:()=>I("compact"),disabled:c!=="map",title:"Compact — dots",children:"Compact"}),e.jsx("button",{type:"button",className:`mesh-mode-btn${p==="comfortable"?" mesh-mode-btn--active":""}`,onClick:()=>I("comfortable"),disabled:c!=="map",title:"Comfortable — chips",children:"Comfortable"}),e.jsx("button",{type:"button",className:`mesh-mode-btn${p==="spacious"?" mesh-mode-btn--active":""}`,onClick:()=>I("spacious"),disabled:c!=="map",title:"Spacious — cards",children:"Spacious"})]})]}),h&&e.jsxs("div",{className:"mesh-hud-filters",children:[e.jsx("input",{type:"search",className:"mesh-hud-search",placeholder:"Filter agents…",value:f,onChange:u=>G(u.target.value),spellCheck:!1,autoCorrect:"off",autoCapitalize:"off"}),e.jsxs("div",{className:"mesh-mode-toggle",role:"group","aria-label":"State",children:[e.jsx("button",{type:"button",className:`mesh-mode-btn${g==="all"?" mesh-mode-btn--active":""}`,onClick:()=>L("all"),children:"All"}),e.jsx("button",{type:"button",className:`mesh-mode-btn${g==="in_turn"?" mesh-mode-btn--active":""}`,onClick:()=>L("in_turn"),children:"In turn"}),e.jsx("button",{type:"button",className:`mesh-mode-btn${g==="callable"?" mesh-mode-btn--active":""}`,onClick:()=>L("callable"),children:"Callable"})]})]}),e.jsxs("div",{className:"mesh-hud-right",children:[e.jsx("span",{className:"mesh-hud-sync",children:j?"Loading…":o&&h?`Last sync old — ${i?A(i):"unknown"}`:i?A(i):"—"}),e.jsx("button",{type:"button",className:"s-btn",disabled:j||a,onClick:r,children:a?"Refreshing…":"Refresh"})]})]})}function ds({navigate:c}){const[p,f]=m.useState(!0),[g,j]=m.useState(!1),[a,o]=m.useState(null),[i,h]=m.useState(null),{mode:r,density:u,query:s,stateFilter:l,meshSnapshot:n}=X(),{agents:t}=W(),{route:v}=O(),d=V(v),x=m.useMemo(()=>U(t),[t]),y=m.useMemo(()=>K(x,d,n?.localNode?.id),[x,d,n?.localNode?.id]),M=m.useRef(null),k=m.useRef(0);m.useEffect(()=>{M.current=n},[n]),m.useEffect(()=>{d&&Y(d,"node")},[d]);const b=m.useCallback(async(S="initial")=>{const N=++k.current;!(M.current!==null)&&S!=="background"?(f(!0),o(null)):j(!0);try{const w=await D("/api/mesh");if(N!==k.current)return;Z(w),o(null),h(Date.now())}catch(w){if(N!==k.current)return;o(w instanceof Error?w.message:String(w))}finally{N===k.current&&(f(!1),j(!1))}},[]);m.useEffect(()=>{b("initial")},[b]),m.useEffect(()=>{const S=setInterval(()=>{b("background")},1e4);return()=>clearInterval(S)},[b]);const $=m.useMemo(()=>{const S=s.trim().toLowerCase();return y.filter(N=>l!=="all"&&_(N.state)!==l?!1:S?`${N.name??""} ${N.handle??""} ${N.harness??""} ${N.project??""} ${N.branch??""}`.toLowerCase().includes(S):!0)},[s,y,l]),C={mode:r,density:u,query:s,stateFilter:l,loading:p,refreshing:g,error:a,lastLoadedAt:i,hasMesh:!!n,onRefresh:()=>{b("manual")}},R=r==="map"?e.jsxs("div",{className:"mesh-map-canvas",children:[n&&e.jsx(Q,{mesh:n,agents:$}),p&&!n&&e.jsx("div",{className:"mesh-canvas-center",children:e.jsx("p",{className:"mesh-canvas-center-label",children:"Loading mesh…"})}),!p&&!n&&a&&e.jsxs("div",{className:"mesh-canvas-center",children:[e.jsx("p",{className:"mesh-canvas-center-label",children:a}),e.jsx("button",{type:"button",className:"s-btn",onClick:()=>{b("manual")},children:"Try again"})]}),e.jsx(P,{...C})]}):e.jsxs("div",{className:"mesh-tree-page",children:[e.jsx(P,{...C}),p&&!n&&e.jsxs("div",{className:"sys-panel sys-state-card mesh-tree-state",children:[e.jsx("h3",{className:"sys-state-title",children:"Loading mesh status"}),e.jsx("p",{className:"sys-state-body",children:"Inspecting broker reachability and peer discovery inputs."})]}),!p&&!n&&a&&e.jsxs("div",{className:"sys-panel sys-state-card sys-state-card-error mesh-tree-state",children:[e.jsx("h3",{className:"sys-state-title",children:"Mesh status is unavailable"}),e.jsx("p",{className:"sys-state-body",children:a}),e.jsx("div",{className:"sys-inline-actions",children:e.jsx("button",{type:"button",className:"s-btn",onClick:()=>{b("manual")},children:"Try again"})})]}),n&&e.jsxs("section",{className:"mesh-tree-panel",children:[e.jsxs("div",{className:"mesh-tree-hint","aria-hidden":!0,children:[e.jsx("kbd",{children:"↑"}),e.jsx("kbd",{children:"↓"}),e.jsx("span",{children:"navigate"}),e.jsx("span",{className:"mesh-tree-hint-sep",children:"·"}),e.jsx("kbd",{children:"enter"}),e.jsx("span",{children:"pin"}),e.jsx("span",{className:"mesh-tree-hint-sep",children:"·"}),e.jsx("kbd",{children:"o"}),e.jsx("span",{children:"open"}),e.jsx("span",{className:"mesh-tree-hint-sep",children:"·"}),e.jsx("kbd",{children:"esc"}),e.jsx("span",{children:"clear"})]}),e.jsx(ne,{agents:$,emptyTitle:y.length===0?d?"No agents on this machine":"No agents registered":"No agents match your filter",emptyBody:y.length===0?"Agents connected to this broker will appear here.":"Try clearing the search or switching the state pill back to All."})]})]}),q=ee();return e.jsxs("div",{className:"s-ops",children:[q?e.jsx("div",{className:"s-ops-header",children:e.jsx(se,{activeRoute:v,navigate:c})}):null,e.jsx("div",{className:"s-ops-body",children:R})]})}export{ds as MeshScreen};
@@ -1 +0,0 @@
1
- import{j as e,r as a}from"./index-BI9AljSD.js";import{i as w,a as C}from"./conversation-model-QsJVfSeG.js";import{u as S,m as M,e as b}from"./Provider-Bu-C8Hxc.js";import{u as A,f as E}from"./use-fleet-active-asks-BtgNnRgK.js";import{b as L}from"./router-DTtux5sP.js";import{l as B,i as R,s as D}from"./sessionRead-CvFz2RHv.js";import{u as F}from"./use-conversation-list-DO5J8T1H.js";import{AgentMasterScreen as O}from"./AgentMasterScreen-C5WlWNmk.js";import{ConversationScreen as P}from"./ConversationScreen-CXAHQwQ3.js";import{P as V}from"./plus-BJ1If8vj.js";import"./createLucideIcon-DthwWQIg.js";import"./colors-BtO5_zlx.js";import"./time-Dhsh_2EG.js";import"./api-Co9aQ2Jw.js";import"./perf-PX8Rx0EP.js";import"./sse-DDHEHUgz.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BJIamJOH.js";import"./DocumentFocusViewer-DFFE85Tq.js";import"./TextDocumentSurface-BeSwe3Yl.js";import"./file-text--hfhwZH1.js";import"./x-DfRJbqrh.js";import"./chevron-right-CnZRSd-V.js";import"./code-xml-CvKBY3KA.js";import"./arrow-left-DHfdXJVZ.js";import"./arrow-right-BBsrogWf.js";import"./scout-voice-BZKsdquE.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-e6yGeorb.js";import"./NewChatComposer-C_1op4dH.js";import"./text-Faa3ZStB.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-B2W9DPG5.js";import"./index-DfsTyYDx.js";import"./HarnessMark-DAaWPiT_.js";import"./NewChatOrigin-D7hwp6dm.js";import"./chevron-down-C475vltS.js";import"./search-DmFM_9jm.js";import"./chunk-HRAB3GC3-DLNT8aOo.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-BQ6t92tJ.js";import"./AgentAvatar-B7c0egdP.js";import"./SpriteAvatar-56DTXxSV.js";import"./CrewAvatar-CXJHLNVM.js";import"./agent-master-model-DAZL92oe.js";import"./message-visibility-CGOmSSKs.js";/* empty css */import"./arrow-up-right-CY0Vw_67.js";import"./ConversationComposer-H8_hsYSc.js";import"./zap-CIo8msJB.js";import"./message-markup-Cc_O-WdA.js";import"./mentions-DuLQnEcn.js";import"./AgentDetailCard-B_KLcgsP.js";import"./AgentLiveActions-CsQA3pu_.js";import"./terminal-takeover-B6H4llRR.js";import"./openContent-C6XO6kr5.js";import"./eye-FnaaPfja.js";import"./terminal-C3YRPfyz.js";import"./operator-attention-RqieiSY8.js";import"./clipboard-e3fSpeo7.js";import"./types-B0PlfpKc.js";/* empty css */import"./ConversationHeader-B0ZBhE_E.js";import"./BackToPicker-Cto0Ioz9.js";import"./AstronautSuit-Cjjcv6yQ.js";import"./ConversationFeedRows-hlEFlURs.js";import"./ConversationPanels-fMo6Uy1v.js";import"./tail-display-DcliDVkW.js";import"./lane-edit-display-C_Aujldz.js";import"./use-reduced-motion-8WuxLa5l.js";import"./proxy-1BABCaDb.js";import"./activity-CqZafWfx.js";import"./message-circle-B2DoYKDO.js";import"./tail-events-BdUrO0kb.js";import"./ConversationStatus-DI5GCiyW.js";import"./check-DbIkldnK.js";import"./sparkles-Cf8gin88.js";function ds({conversationId:s,agentId:c,threadId:l,machineId:d,navigate:m}){return c?e.jsx(O,{agentId:c,threadId:l,machineId:d,navigate:m}):s?e.jsx(P,{conversationId:s,navigate:m,showBackNav:!1},s):e.jsx($,{})}function $(){const{onlineCount:s,apiConnection:c,reload:l,route:d,agents:m,openContextCapture:k,navigate:x}=S(),{sessions:v,loading:u,loadError:o}=F(),[f]=a.useState(()=>B()),h=A(),t=c.status==="offline",r=L(d),j=a.useRef(!1),N=a.useMemo(()=>{const p=M(m,r);return[...b(v,p,r)].sort((g,i)=>(i.lastMessageAt??0)-(g.lastMessageAt??0))},[v,m,r]),n=a.useMemo(()=>{const p=N.filter(i=>!w(i));return p.find(i=>E(h,i)?.status==="needs_attention"&&R(i.lastMessageAt,i.id,f))??p[0]},[N,h,f]);a.useEffect(()=>{j.current||u||o||t||n&&(j.current=!0,D(n.id),x({view:"messages",conversationId:n.id,...r?{machineId:r}:{}},{replace:!0}))},[n,u,o,t,r,x]);const y=!t&&!o&&(u||!!n);return e.jsx("div",{className:`s-conv-empty${t?" s-conv-empty--offline":""}`,children:e.jsxs("div",{className:"s-conv-empty-inner",children:[e.jsx(T,{}),e.jsx("div",{className:"s-conv-empty-eyebrow",children:t?"Connection":"Conversations"}),e.jsx("p",{className:"s-conv-empty-title",children:t?"Scout server offline":y?"Opening your latest conversation":o?"Chats unavailable":"Nothing open yet"}),e.jsx("p",{className:"s-conv-empty-detail",children:t?"Start or restart Scout services. Chats and context will appear when the server responds.":y?I(n):o||"Start a chat by choosing an agent and sending the first message."}),t||o?e.jsx("button",{type:"button",className:"s-conv-empty-action",onClick:()=>{l()},children:"Retry connection"}):y?null:e.jsxs("button",{type:"button",className:"s-conv-empty-new",onClick:()=>k(),children:[e.jsx(V,{size:16,"aria-hidden":"true"}),"New chat"]}),e.jsxs("div",{className:"s-conv-empty-ambient",children:[e.jsx("span",{className:"s-conv-empty-ambient-dot","aria-hidden":"true"}),t?"waiting for server":`${s} ${s===1?"agent":"agents"} active`]})]})})}function I(s){return s?C(s):"Finding where you left off."}function T(){return e.jsxs("svg",{className:"s-conv-empty-mesh",viewBox:"0 0 72 72",fill:"none","aria-hidden":"true",children:[e.jsx("line",{className:"s-conv-empty-mesh-link",x1:"14",y1:"20",x2:"36",y2:"12"}),e.jsx("line",{className:"s-conv-empty-mesh-link",x1:"36",y1:"12",x2:"58",y2:"24"}),e.jsx("line",{className:"s-conv-empty-mesh-link",x1:"14",y1:"20",x2:"24",y2:"46"}),e.jsx("line",{className:"s-conv-empty-mesh-link",x1:"24",y1:"46",x2:"36",y2:"12"}),e.jsx("line",{className:"s-conv-empty-mesh-link",x1:"24",y1:"46",x2:"50",y2:"54"}),e.jsx("line",{className:"s-conv-empty-mesh-link",x1:"50",y1:"54",x2:"58",y2:"24"}),e.jsx("line",{className:"s-conv-empty-mesh-link",x1:"36",y1:"12",x2:"50",y2:"54"}),e.jsx("circle",{className:"s-conv-empty-mesh-node",cx:"14",cy:"20",r:"2.5"}),e.jsx("circle",{className:"s-conv-empty-mesh-node",cx:"58",cy:"24",r:"2.5"}),e.jsx("circle",{className:"s-conv-empty-mesh-node",cx:"24",cy:"46",r:"2.5"}),e.jsx("circle",{className:"s-conv-empty-mesh-node",cx:"50",cy:"54",r:"2.5"}),e.jsx("circle",{className:"s-conv-empty-mesh-node s-conv-empty-mesh-node--accent",cx:"36",cy:"12",r:"3.5"})]})}export{ds as MessagesScreen};
@@ -1 +0,0 @@
1
- import{r as h,j as s}from"./index-BI9AljSD.js";import{H as A}from"./HarnessMark-DAaWPiT_.js";import{s as C,t as M,b as k}from"./bash-format-BRV5C6Gv.js";import{d as E,c as S}from"./context-budget-DX_fwUs3.js";import{s as b}from"./page-status-Crtgjbq3.js";import{t as T}from"./time-Dhsh_2EG.js";import{b as y,a as B,l as O}from"./agent-lane-detail-ppJId6Jc.js";import{b as _}from"./agent-lane-preview-BhplDYGf.js";import{m as F}from"./mission-wall-CocIM1cF.js";import"./lane-observe-vfyACHi0.js";import"./tail-display-DcliDVkW.js";import"./lane-edit-display-C_Aujldz.js";import"./lane-ask-display-B6iCAVcd.js";import"./mission-control-model-C0fByIjm.js";import"./colors-BtO5_zlx.js";const P=/^\[[a-z][a-z-]*\]$/i;function H(a,e){const l=w=>w.replace(/[…\s]+$/u,""),n=l(a),i=l(e);if(!n)return!0;const r=n.slice(0,Math.min(n.length,i.length));return i.startsWith(r)||n.startsWith(i)}function D(a,e){const l=a?.headline.trim();if(l&&!P.test(l)){const i=a?.detail?.trim(),r=a?.headFull??l;return i&&H(l,i)?{headline:i.length>l.length?i:l,full:r,detail:null}:{headline:l,full:r,detail:i??null}}const n=[...e?.events??[]].reverse().find(i=>i.kind==="tool");if(n){const i=n.arg?C(M(n.arg)).rest||n.arg:null,r=[n.tool,i].filter(Boolean).join(" · ").trim()||"Running tool";return{headline:r,full:r,detail:null}}return l?{headline:l,full:a?.headFull??l,detail:null}:null}const W=8,z=6,G={created:"+",modified:"~",read:"○"};function f(a,e=42){return a?a.length<=e?a:`…${a.slice(-(e-1))}`:"—"}function K(a){const e=a.replace(/\\/g,"/"),l=e.lastIndexOf("/");return l<0?{dir:"",base:e}:{dir:e.slice(0,l+1),base:e.slice(l+1)}}function ds({log:a,lane:e,onClose:l,onExpand:n,onTail:i,onOpenLog:r,onOpenFile:w}){const{agent:j,observe:o}=e,t=h.useMemo(()=>y(e),[e]),v=h.useMemo(()=>_(o,j,{isLive:a.live}),[o,j,a.live]),m=h.useMemo(()=>D(v,o),[v,o]),u=h.useMemo(()=>B(o,W),[o]),p=h.useMemo(()=>O(o,z),[o]),d=h.useMemo(()=>E(t.usage,{model:t.model,adapterType:t.harness}),[t.usage,t.model,t.harness]),N=F(a),g=[a.project,j.branch].filter(Boolean).join("/")||a.cwd||"—",L=u.filter(c=>c.state!=="read").length,$=[["MODEL",[t.harness,t.model].filter(Boolean).join("/")||"—",null],["BRANCH",t.branch??"—",null],["CWD",f(t.cwd),t.cwd],["SESSION",f(t.sessionId,30),t.sessionId],["LOG",f(a.logPath,30),a.logPath]];return s.jsxs("aside",{className:"s-wall-rail","aria-label":`${N} context`,children:[s.jsxs("div",{className:"s-wall-rail-head",children:[s.jsx("span",{className:`s-wall-rail-dot${a.live?" s-wall-rail-dot--live":""}`,"aria-hidden":"true"}),s.jsx(A,{harness:a.source,size:12,title:null}),s.jsxs("div",{className:"s-wall-rail-identity",children:[s.jsx("div",{className:"s-wall-rail-title",title:j.name,children:N}),s.jsxs("div",{className:"s-wall-rail-sub",title:a.cwd??g,children:[g," · ",a.lastActiveAt?T(a.lastActiveAt):"idle"]})]}),s.jsx("button",{type:"button",className:"s-wall-rail-close",onClick:l,"aria-label":"Close context (Esc)",title:"Close context (Esc)",children:"✕"})]}),s.jsxs("div",{className:"s-wall-rail-body",children:[s.jsxs("section",{className:"s-wall-rail-sec",children:[s.jsxs("div",{className:"s-wall-rail-sechead",children:[s.jsx("span",{className:"s-wall-rail-seclabel",children:a.live?"executing now":"last action"}),s.jsx("span",{className:"s-wall-rail-secrule","aria-hidden":"true"})]}),m?s.jsxs("div",{className:"s-wall-rail-now",children:[s.jsx("div",{className:"s-wall-rail-headline",title:m.full,children:m.headline}),m.detail&&s.jsx("div",{className:"s-wall-rail-detail",title:m.detail,children:m.detail})]}):s.jsx("div",{className:"s-wall-rail-empty",children:"No interpreted trace yet — the pane is streaming raw output."}),s.jsxs("dl",{className:"s-wall-rail-stats",children:[s.jsx(x,{label:"events",value:t.events}),s.jsx(x,{label:"tools",value:t.tools}),s.jsx(x,{label:"edits",value:t.edits}),s.jsx(x,{label:"reads",value:t.reads}),s.jsx(x,{label:"files",value:t.files})]}),d&&s.jsxs("div",{className:`s-wall-rail-gauge${d.overLimit?" s-wall-rail-gauge--over":""}`,children:[s.jsxs("div",{className:"s-wall-rail-gauge-line",children:[s.jsx("span",{className:"s-wall-rail-gauge-label",children:"context"}),s.jsxs("span",{className:"s-wall-rail-gauge-value",children:[d.usedLabel,s.jsxs("span",{className:"s-wall-rail-gauge-of",children:[" / ",d.budgetLabel]})]}),s.jsxs("span",{className:"s-wall-rail-gauge-pct",children:[d.pct,"%",d.overLimit?" over":""]})]}),s.jsx("div",{className:"s-wall-rail-gauge-bar",role:"progressbar","aria-label":"Context budget","aria-valuenow":d.pct,"aria-valuemin":0,"aria-valuemax":Math.max(100,d.pct),children:s.jsx("span",{className:"s-wall-rail-gauge-fill",style:{width:`${S(d)}%`}})})]})]}),s.jsxs("section",{className:"s-wall-rail-sec",children:[s.jsxs("div",{className:"s-wall-rail-sechead",children:[s.jsx("span",{className:"s-wall-rail-seclabel",children:"runtime"}),s.jsx("span",{className:"s-wall-rail-secrule","aria-hidden":"true"})]}),s.jsx("dl",{className:"s-wall-rail-facts",children:$.map(([c,R,I])=>s.jsxs("div",{className:"s-wall-rail-fact",children:[s.jsx("dt",{className:"s-wall-rail-fact-label",children:c}),s.jsx("dd",{className:"s-wall-rail-fact-value",title:I??R,children:R})]},c))})]}),s.jsxs("section",{className:"s-wall-rail-sec",children:[s.jsxs("div",{className:"s-wall-rail-sechead",children:[s.jsx("span",{className:"s-wall-rail-seclabel",children:"files"}),u.length>0&&s.jsxs("span",{className:"s-wall-rail-seccount",children:[L," changed · ",u.length-L," read"]}),s.jsx("span",{className:"s-wall-rail-secrule","aria-hidden":"true"})]}),u.length===0?s.jsx("div",{className:"s-wall-rail-empty",children:"No files touched in this window."}):s.jsx("div",{className:"s-wall-rail-files",children:u.map(c=>s.jsx(U,{file:c,onOpen:w},`${c.path}:${c.lastT}`))})]}),s.jsxs("section",{className:"s-wall-rail-sec",children:[s.jsxs("div",{className:"s-wall-rail-sechead",children:[s.jsx("span",{className:"s-wall-rail-seclabel",children:"commands"}),p.length>0&&s.jsx("span",{className:"s-wall-rail-seccount",children:p.length}),s.jsx("span",{className:"s-wall-rail-secrule","aria-hidden":"true"})]}),p.length===0?s.jsx("div",{className:"s-wall-rail-empty",children:"No shell commands in this window."}):s.jsx("div",{className:"s-wall-rail-cmds",children:p.map(c=>s.jsx(q,{entry:c},c.id))})]})]}),s.jsxs("div",{className:"s-wall-rail-foot",children:[s.jsx("button",{type:"button",className:"s-wall-rail-act",onClick:n,...b({label:`Expand ${N}`}),children:"Expand"}),s.jsx("button",{type:"button",className:"s-wall-rail-act",onClick:i,...b({label:`Tail · ${N}`,route:`/ops/tail?q=${encodeURIComponent(a.sessionId)}`}),children:"Tail ↗"}),s.jsx("button",{type:"button",className:"s-wall-rail-act",onClick:r,...b({label:`Session · ${a.sessionId}`,route:`/sessions/${a.sessionId}`}),children:"Session ↗"}),s.jsxs("span",{className:"s-wall-rail-keys",children:[s.jsx("kbd",{children:"hjkl"})," move · ",s.jsx("kbd",{children:"esc"})," close"]})]})]})}function x({label:a,value:e}){return s.jsxs("div",{className:"s-wall-rail-stat",children:[s.jsx("dt",{className:"s-wall-rail-stat-label",children:a}),s.jsx("dd",{className:"s-wall-rail-stat-value",children:e>0?e.toLocaleString():"—"})]})}function U({file:a,onOpen:e}){const{dir:l,base:n}=K(a.path);return s.jsxs("button",{type:"button",className:"s-wall-rail-frow",title:a.path,onClick:()=>e(a.path),children:[s.jsx("span",{className:`s-wall-rail-fstate s-wall-rail-fstate--${a.state}`,"aria-hidden":"true",children:G[a.state]??"○"}),s.jsxs("span",{className:"s-wall-rail-fpath",children:[l&&s.jsx("span",{className:"s-wall-rail-fdir",children:l}),s.jsx("span",{className:"s-wall-rail-fbase",children:n})]})]})}function q({entry:a}){const{dir:e,rest:l}=C(M(a.command)),n=k(l||a.command);return s.jsxs("div",{className:"s-wall-rail-crow",title:a.command,children:[s.jsx("span",{className:"s-wall-rail-cmark","aria-hidden":"true",children:"❯"}),s.jsxs("span",{className:"s-wall-rail-ctext",children:[e&&s.jsxs("span",{className:"s-wall-rail-bash-dir",children:[e,"/"]}),n.map((i,r)=>s.jsxs("span",{className:`s-wall-rail-bash-${i.tier}${i.flag?" s-wall-rail-bash-flag":""}`,children:[r>0?" ":"",i.text]},r))]}),a.outcome&&s.jsx("span",{className:"s-wall-rail-cresult",children:a.outcome})]})}export{ds as MissionContextRail};
@@ -1 +0,0 @@
1
- import{r as n,j as a}from"./index-BI9AljSD.js";/* empty css */import{a as K}from"./api-Co9aQ2Jw.js";import{u as Ae,f as Re,g as ge,t as U,h as b,e as ue}from"./mission-control-store-DDAgWKUl.js";import{u as be}from"./observe-Da2mRAsc.js";import{h as me}from"./NewChatComposer-C_1op4dH.js";import{i as Ee,c as je}from"./keyboard-nav-e6yGeorb.js";import{g as Me}from"./tail-display-DcliDVkW.js";import{u as Le}from"./tail-events-BdUrO0kb.js";import{u as Te}from"./Provider-Bu-C8Hxc.js";import{MissionContextRail as ke}from"./MissionContextRail-Be0uXljQ.js";import{FocusOverlay as Ne}from"./MissionFocusOverlay-DvTw6ts5.js";import{MissionLogPane as Ce}from"./MissionLogPane-EsM_S3ro.js";import{o as Fe}from"./agent-lanes-model-DXqjs0OK.js";import{A as Oe}from"./mission-control-model-C0fByIjm.js";import{b as Pe,s as _e,f as De,c as We,n as $e,d as Ke,m as Ve,W as qe}from"./mission-wall-CocIM1cF.js";import"./perf-PX8Rx0EP.js";import"./colors-BtO5_zlx.js";import"./surface-activity-B1rgWB1i.js";import"./text-Faa3ZStB.js";import"./scout-voice-BZKsdquE.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-B2W9DPG5.js";import"./createLucideIcon-DthwWQIg.js";import"./conversation-model-QsJVfSeG.js";import"./time-Dhsh_2EG.js";import"./index-DfsTyYDx.js";import"./HarnessMark-DAaWPiT_.js";import"./NewChatOrigin-D7hwp6dm.js";import"./x-DfRJbqrh.js";import"./chevron-down-C475vltS.js";import"./search-DmFM_9jm.js";import"./file-text--hfhwZH1.js";import"./lane-edit-display-C_Aujldz.js";import"./index-BWHgHrtv.js";import"./router-DTtux5sP.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-BQ6t92tJ.js";import"./sse-DDHEHUgz.js";import"./scoutbot-BJIamJOH.js";import"./DocumentFocusViewer-DFFE85Tq.js";import"./TextDocumentSurface-BeSwe3Yl.js";import"./chevron-right-CnZRSd-V.js";import"./code-xml-CvKBY3KA.js";import"./arrow-left-DHfdXJVZ.js";import"./arrow-right-BBsrogWf.js";import"./chunk-HRAB3GC3-DLNT8aOo.js";import"./bash-format-BRV5C6Gv.js";import"./context-budget-DX_fwUs3.js";import"./page-status-Crtgjbq3.js";import"./agent-lane-detail-ppJId6Jc.js";import"./lane-observe-vfyACHi0.js";import"./agent-lane-preview-BhplDYGf.js";import"./lane-ask-display-B6iCAVcd.js";function He(t,o,r,c){if(o<=0)return-1;const d=o-1,x=Math.max(1,Math.floor(r));if(t<0||t>d)return c==="left"||c==="up"||c==="last"?d:0;switch(c){case"first":return 0;case"last":return d;case"left":return Math.max(0,t-1);case"right":return Math.min(d,t+1);case"up":{const v=t-x;return v>=0?v:t}case"down":{const v=t+x;return v<=d?v:d}}}function Be(t){switch(t){case"h":case"ArrowLeft":return"left";case"l":case"ArrowRight":return"right";case"k":case"ArrowUp":return"up";case"j":case"ArrowDown":return"down";case"g":case"Home":return"first";case"G":case"End":return"last";default:return null}}const $=4e3,Qe=250,ze=3e4,Ue=1500,Ge=1800;function Je(t,o){return t.map(r=>({id:r.id,name:r.name,handle:r.handle,state:r.state,project:r.project,branch:r.branch,harness:r.harness,model:r.model,sessionIds:o.get(r.id)??[]}))}function Ye(t){return{id:`native:${t.source}:${t.sessionId}`,definitionId:`native:${t.source}:${t.sessionId}`,name:`${t.source} · ${t.project}`,handle:t.sessionId.slice(0,8),agentClass:"native-session",harness:t.source,state:t.live?"working":"ready",projectRoot:t.cwd,cwd:t.cwd,updatedAt:t.lastActiveAt,createdAt:null,transport:"tail",selector:null,defaultSelector:null,nodeQualifier:null,workspaceQualifier:null,wakePolicy:null,capabilities:[],project:t.project,branch:t.attribution==="unattributed"?"native session":t.attribution,role:"native session",model:null,harnessSessionId:t.sessionId,terminalSurface:null,harnessLogPath:t.logPath,conversationId:null,homeNodeId:null,homeNodeName:null,ownerId:null,ownerName:null,ownerHandle:null,staleLocalRegistration:!1,retiredFromFleet:!1,replacedByAgentId:null}}function fe(t){return t.agentClass==="native-session"||t.id.startsWith("native:")}function de(t,o){if(t.agent){const r=o.find(c=>c.id===t.agent.id);if(r)return r}return Ye(t)}function Xe(t,o){const r=o.find(c=>c.sessionId?.trim()===t.sessionId);return r||{source:t.source,transcriptPath:t.logPath??"",sessionId:t.sessionId,cwd:t.cwd,project:t.project,harness:t.attribution,mtimeMs:t.lastActiveAt,size:0}}function Ze(t,o){const r=t.harnessSessionId?.trim();if(!r)throw new Error("This native session has no session id to continue.");const c=t.projectRoot?.trim()||t.cwd?.trim();if(!c)throw new Error("This native session has no project path to route from.");const d=t.harness?.trim(),x=t.model?.trim();return{target:{projectPath:c},execution:{session:"existing",targetSessionId:r,...d?{harness:d}:{},...x?{model:x}:{}},agent:{persistence:"one_time",...t.handle?.trim()?{handle:t.handle.trim()}:{}},seed:{instructions:o}}}async function et(t,o){if(fe(t)){await K("/api/sessions",{method:"POST",body:JSON.stringify(Ze(t,o))});return}const r=await me(t);await K("/api/send",{method:"POST",body:JSON.stringify({body:o,chatId:r,execution:{...t.harness?.trim()?{harness:t.harness.trim()}:{},...t.model?.trim()?{model:t.model.trim()}:{}}})})}function tt(t,o,r){return t.live?"active":t.lastActiveAt>0&&o-t.lastActiveAt<=r?"recent":"idle"}function rs({navigate:t,agents:o}){const r=Ae(),{openFilePreview:c}=Te(),{activityFilter:d,sourceFilter:x,activityWindowMs:v,groupMode:G,query:J,focusedId:F,revealRequest:A}=r,[Y,X]=n.useState([]),[O,pe]=n.useState(null),[y,he]=n.useState(()=>Date.now()),T=be(o),P=n.useRef([]);Le(e=>{P.current.push(e)}),n.useEffect(()=>{const e=setInterval(()=>{if(P.current.length===0)return;const s=P.current;P.current=[],X(i=>{const p=new Set(i.map(w=>w.id)),u=s.filter(w=>!w.id||!p.has(w.id));if(u.length===0)return i;const h=i.concat(u);return h.length>$?h.slice(h.length-$):h})},Qe);return()=>clearInterval(e)},[]),n.useEffect(()=>{const e=setInterval(()=>he(Date.now()),1e4);return()=>clearInterval(e)},[]),n.useEffect(()=>{let e=!1;return K(`/api/tail/recent?limit=${Ue}`).then(s=>{if(e)return;const i=s.events??[];X(p=>{const u=new Set(p.map(w=>w.id)),h=i.filter(w=>!u.has(w.id)).concat(p);return h.length>$?h.slice(h.length-$):h})}).catch(()=>{}),()=>{e=!0}},[]),n.useEffect(()=>{let e=!1;const s=async()=>{try{const p=await K("/api/tail/discover");e||pe(p)}catch{}};s();const i=setInterval(()=>{s()},ze);return()=>{e=!0,clearInterval(i)}},[]);const Z=n.useMemo(()=>{const e=new Map;for(const s of o){const i=T[s.id],p=[s.harnessSessionId,i?.sessionId,i?.data.metadata?.session?.externalSessionId].map(u=>u?.trim()).filter(u=>!!u);e.set(s.id,[...new Set(p)])}return e},[o,T]),R=n.useMemo(()=>Pe({events:Me(Y),transcripts:O?.transcripts??[],agents:Je(o,Z),now:y,liveWindowMs:Oe}),[o,O?.transcripts,y,Z,Y]),[g,V]=n.useState(null),I=n.useMemo(()=>{const e=_e(De(R,{sourceFilter:x,activityFilter:d,query:J,now:y,activeWindowMs:v}),G);if(!g)return e;const s=e.find(i=>i.id===g);return s?[s,...e.filter(i=>i.id!==g)]:e},[d,v,G,R,y,g,J,x]),ee=n.useRef(null),q=n.useRef({w:0,h:0}),te=n.useRef(0);te.current=I.length;const[m,ve]=n.useState(()=>We(0,{w:0,h:0})),H=n.useRef(m),_=n.useCallback((e,s)=>{const i=$e(H.current,e,s);i!==H.current&&(H.current=i,ve(i))},[]);n.useEffect(()=>{const e=ee.current;if(!e)return;const s=new ResizeObserver(([i])=>{q.current={w:i.contentRect.width,h:i.contentRect.height},_(te.current,q.current)});return s.observe(e),()=>s.disconnect()},[_]),n.useLayoutEffect(()=>{_(I.length,q.current)},[I.length,_]);const E=n.useMemo(()=>I.slice(0,m.shown),[I,m.shown]),se=n.useRef(1);se.current=Math.max(1,m.cols),n.useEffect(()=>{Re(I.map(e=>({id:e.id,name:e.agent?.name??Ve(e),handle:e.agent?.handle??Ke(e),harness:e.source,branch:e.agent?.branch??null,project:e.project,model:e.agent?.model??null,state:e.agent?.state??null,agentClass:e.agent?"agent":"native-session",updatedAt:e.lastActiveAt,source:e.agent||e.attribution==="scout-managed"?"scout":"native",activity:tt(e,y,v),lastActiveAt:e.lastActiveAt})))},[v,y,I]);const[we,ne]=n.useState(null),re=n.useRef(null),k=n.useRef(null);n.useEffect(()=>{A&&re.current!==A.serial&&(re.current=A.serial,V(A.id),ne(A.id),k.current&&clearTimeout(k.current),k.current=setTimeout(()=>ne(null),Ge),ge(A.serial))},[A]),n.useEffect(()=>()=>{k.current&&clearTimeout(k.current)},[]);const N=F?R.find(e=>e.id===F)??null:null,f=n.useMemo(()=>N?de(N,o):null,[o,N]),Ie=N?.agent?T[N.agent.id]?.data??null:null,[S,C]=n.useState(null),[j,D]=n.useState(!1),xe=S?E.findIndex(e=>e.id===S):-1,ie=n.useRef({index:-1,ids:[]});ie.current={index:xe,ids:E.map(e=>e.id)};const B=S?R.find(e=>e.id===S)??null:null,l=j?B:null;n.useEffect(()=>{j&&!B&&D(!1)},[B,j]);const Q=n.useRef(new Map),ye=n.useCallback((e,s)=>{s?Q.current.set(e,s):Q.current.delete(e)},[]);n.useEffect(()=>{S&&Q.current.get(S)?.focus({preventScroll:!0})},[S]);const oe=n.useMemo(()=>{if(!l)return null;const e=de(l,o),s=(l.agent?T[l.agent.id]?.data??null:null)??Fe(Xe(l,O?.transcripts??[]),l.lines,l.live,{now:y});return{id:l.id,agent:e,source:l.agent?"scout":"native",observe:s,lastActiveAt:l.lastActiveAt,current:l.live}},[o,O?.transcripts,y,T,l]),ae=n.useCallback(e=>{t({view:"ops",mode:"tail",tailQuery:e.sessionId})},[t]),z=n.useCallback(e=>{C(e),D(!0)},[]),le=n.useRef({focusedId:F,railOpen:j,pinnedId:g,selectedIds:r.selectedIds,visibleAgents:r.visibleAgents});le.current={focusedId:F,railOpen:j,pinnedId:g,selectedIds:r.selectedIds,visibleAgents:r.visibleAgents},n.useEffect(()=>{const e=s=>{if(Ee(s.target))return;const i=le.current;if(i.focusedId){s.key==="Escape"&&b(null);return}if(je())return;if(s.key==="Escape"){i.railOpen?D(!1):i.selectedIds.length>0?ue():i.pinnedId?V(null):C(null);return}if((s.metaKey||s.ctrlKey)&&s.key==="a"){if(i.visibleAgents.length===0)return;s.preventDefault();const W=i.visibleAgents.map(L=>L.id);if(W.every(L=>i.selectedIds.includes(L))){ue();return}for(const L of W)i.selectedIds.includes(L)||U(L);return}if(s.metaKey||s.ctrlKey||s.altKey)return;const{index:p,ids:u}=ie.current;if(u.length===0)return;const h=Be(s.key);if(h){s.preventDefault();const W=He(p,u.length,se.current,h);C(u[W]??null);return}const w=p<0?0:p,M=u[w];if(M){if(s.key==="Enter"||s.key==="i"){s.preventDefault(),z(M);return}if(s.key==="o"){s.preventDefault(),C(M),b(M);return}(s.key==="x"||s.key===" ")&&(s.preventDefault(),C(M),U(M))}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[z]);const Se=E.reduce((e,s)=>e+s.lines.length,0),ce=R.length-I.length;return a.jsxs("div",{className:"s-wall",children:[a.jsxs("div",{className:"s-wall-status",children:[a.jsx("span",{className:"s-wall-status-key",children:"logs"}),a.jsxs("span",{className:"s-wall-status-value",children:[m.shown,"/",I.length]}),a.jsx("span",{className:"s-wall-status-key",children:"grid"}),a.jsx("span",{className:"s-wall-status-value",children:m.cols>0?`${m.cols}×${m.rows}`:"—"}),a.jsx("span",{className:"s-wall-status-key",children:"lines"}),a.jsx("span",{className:"s-wall-status-value",children:Se}),m.hidden>0&&a.jsxs("span",{className:"s-wall-status-hidden",title:"Least recently active logs are withheld to keep panes readable",children:[m.hidden," withheld"]}),ce>0&&a.jsxs("span",{className:"s-wall-status-hidden",title:"Sessions discovery knows of that have produced no output to tail",children:[ce," quiet"]}),E.length>0&&a.jsxs("span",{className:"s-wall-status-keys",children:[a.jsx("kbd",{children:"hjkl"})," move · ",a.jsx("kbd",{children:"⏎"})," context · ",a.jsx("kbd",{children:"o"})," expand"]}),g&&a.jsx("button",{type:"button",className:"s-wall-status-pin",onClick:()=>V(null),children:"unpin"})]}),a.jsx("div",{ref:ee,className:`s-wall-grid${j?" s-wall-grid--railed":""}`,style:{gridTemplateColumns:`repeat(${Math.max(1,m.cols)}, minmax(0, 1fr))`,gridTemplateRows:`repeat(${Math.max(1,m.rows)}, minmax(0, 1fr))`,gap:qe},children:E.length===0?a.jsxs("div",{className:"s-wall-empty",children:[a.jsx("div",{className:"s-wall-empty-title",children:R.length===0?"No logs on the wire":"No matching logs"}),a.jsx("div",{className:"s-wall-empty-sub",children:R.length===0?"Panes appear as sessions start writing to their transcripts.":"Widen the activity window or clear the filter."})]}):E.map(e=>a.jsx(Ce,{log:e,selected:r.selectedIds.includes(e.id),revealed:we===e.id,cursor:S===e.id,paneRef:s=>ye(e.id,s),onOpen:()=>z(e.id),onToggleSelected:()=>U(e.id),onOpenLog:()=>ae(e)},e.id))}),l&&oe&&a.jsx(ke,{log:l,lane:oe,onClose:()=>D(!1),onExpand:()=>b(l.id),onTail:()=>ae(l),onOpenLog:()=>t({view:"sessions",sessionId:l.sessionId}),onOpenFile:c}),f&&a.jsx(Ne,{agent:f,observe:Ie,onClose:()=>b(null),onSend:e=>et(f,e),onOpenConversation:()=>{if(b(null),fe(f)&&f.harnessSessionId){t({view:"sessions",sessionId:f.harnessSessionId});return}me(f).then(e=>t({view:"conversation",conversationId:e})).catch(()=>t({view:"agents-v2",agentId:f.id,tab:"message"}))},onTail:()=>{b(null),t({view:"ops",mode:"tail",tailQuery:f.harnessSessionId??f.handle??f.name})},onProfile:()=>{b(null),t({view:"agents-v2",agentId:f.id})}})]})}export{rs as MissionControlView};
@@ -1 +0,0 @@
1
- import{r as f,j as e}from"./index-BI9AljSD.js";import{d as w,c as N,n as $}from"./colors-BtO5_zlx.js";import{u as C}from"./keyboard-nav-e6yGeorb.js";import{t as j}from"./time-Dhsh_2EG.js";import{M,f as S}from"./text-Faa3ZStB.js";import{s as v}from"./page-status-Crtgjbq3.js";import"./perf-PX8Rx0EP.js";import"./index-DfsTyYDx.js";import{K as k}from"./mission-control-model-C0fByIjm.js";import"./scout-voice-BZKsdquE.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-B2W9DPG5.js";import"./createLucideIcon-DthwWQIg.js";function Q({agent:s,observe:a,onClose:l,onSend:o,onOpenConversation:r,onTail:d,onProfile:h}){const p=w(s.name),{ref:m,onKeyDown:u}=C(),[i,n]=f.useState("profile"),c=t=>{if(u(t),t.defaultPrevented)return;const y=t.target;y instanceof HTMLInputElement||y instanceof HTMLTextAreaElement||(y?.isContentEditable??!1)||(t.key==="1"?(t.preventDefault(),n("profile")):t.key==="2"?(t.preventDefault(),n("activity")):t.key==="3"&&(t.preventDefault(),n("message")))};return e.jsx("div",{className:"s-mission-overlay",onClick:l,children:e.jsxs("div",{ref:m,role:"dialog","aria-modal":"true","aria-labelledby":"mission-overlay-title",onClick:t=>t.stopPropagation(),onKeyDown:c,tabIndex:-1,className:"s-mission-overlay-dialog",children:[e.jsxs("div",{className:"s-mission-overlay-header",children:[e.jsx("div",{className:"s-ops-avatar",style:{"--size":"28px",background:p},children:s.name[0]?.toUpperCase()}),e.jsxs("div",{className:"s-mission-overlay-identity",children:[e.jsxs("div",{className:"s-mission-overlay-name",id:"mission-overlay-title",children:[s.name," ",e.jsx("span",{className:"s-mission-overlay-handle",children:s.handle?`@${s.handle}`:""})]}),e.jsxs("div",{className:"s-mission-overlay-meta",children:[s.project??"—"," · ",s.branch??"main"," · ",N(s.state)]})]}),e.jsx("button",{className:"s-mission-overlay-close",onClick:l,"aria-label":"Close (Esc)",title:"Close (Esc)",children:"✕"})]}),e.jsxs("div",{className:"s-mission-overlay-tabs",role:"tablist",children:[e.jsxs("div",{className:"s-mission-overlay-tabs-group",children:[e.jsx("button",{type:"button",role:"tab","aria-selected":i==="profile",className:`s-mission-overlay-tab${i==="profile"?" s-mission-overlay-tab--active":""}`,onClick:()=>n("profile"),children:"Profile"}),e.jsx("button",{type:"button",role:"tab","aria-selected":i==="activity",className:`s-mission-overlay-tab${i==="activity"?" s-mission-overlay-tab--active":""}`,onClick:()=>n("activity"),children:"Activity"}),e.jsx("button",{type:"button",role:"tab","aria-selected":i==="message",className:`s-mission-overlay-tab${i==="message"?" s-mission-overlay-tab--active":""}`,onClick:()=>n("message"),children:"Message"})]}),e.jsxs("div",{className:"s-mission-overlay-tabs-action",children:[i==="profile"&&e.jsx("button",{type:"button",className:"s-mission-overlay-jump",onClick:h,...v({label:`Open profile · ${s.handle??s.name}`,route:`/agents/${s.id}`}),children:"Open profile ↗"}),i==="activity"&&e.jsx("button",{type:"button",className:"s-mission-overlay-jump",onClick:d,...v({label:`Tail · ${s.handle??s.name}`,route:`/ops/tail?q=${encodeURIComponent(s.handle??s.name)}`}),children:"Open in Tail ↗"}),i==="message"&&e.jsx("button",{type:"button",className:"s-mission-overlay-jump",onClick:r,...v({label:`Open conversation with ${s.handle??s.name}`,...s.conversationId?{route:`/c/${s.conversationId}`}:{}}),children:"Open conversation ↗"})]})]}),e.jsxs("div",{className:"s-mission-overlay-body",children:[i==="profile"&&e.jsx(E,{agent:s}),i==="activity"&&e.jsx(D,{agent:s,observe:a,onOpenConversation:r,onMessage:()=>n("message")}),i==="message"&&e.jsx(O,{agent:s,onSend:o,onOpenConversation:r})]})]})})}function E({agent:s}){const a=[["MODEL",[s.harness,s.model].filter(Boolean).join("/")||"—"],["AT",[s.project,s.branch].filter(Boolean).join("/")||"—"],["CWD",s.cwd||s.projectRoot||"—"],["AGENT",s.agentClass||"—"],["ROLE",s.role||s.transport||"—"],["MACHINE",s.authorityNodeName??s.homeNodeName??s.authorityNodeId??s.homeNodeId??"—"],["OWNER",s.ownerHandle??s.ownerName??s.ownerId??"—"],["SPAWNED",s.createdAt?j(s.createdAt):"—"],["STATE",N(s.state)]];return e.jsx("div",{className:"s-focus-tab",children:e.jsx("dl",{className:"s-focus-spec",children:a.map(([l,o])=>e.jsxs("div",{className:"s-focus-spec-row",children:[e.jsx("dt",{className:"s-focus-spec-label",children:l}),e.jsx("dd",{className:"s-focus-spec-value",title:o,children:o})]},l))})})}const T={tool:"▸",think:"·",ask:"?",message:"✉",note:"•",system:"◇",boot:"↑"};function A(s,a){if(a){const o=Date.now()-(a+s*1e3);return o<6e4?`${Math.max(0,Math.round(o/1e3))}s`:o<36e5?`${Math.round(o/6e4)}m`:o<864e5?`${Math.round(o/36e5)}h`:`${Math.round(o/864e5)}d`}const l=Math.max(0,Math.round(s));return l<60?`${l}s`:l<3600?`${Math.round(l/60)}m`:`${Math.round(l/3600)}h`}function I(s){if(s.kind==="tool"){const a=s.tool??"tool";return s.arg?`${a} · ${s.arg}`:a}return s.kind==="ask"?s.text||"request received":s.text||s.detail||k[s.kind]||s.kind}function D({agent:s,observe:a,onOpenConversation:l,onMessage:o}){const r=a?.events??[],d=a?.metadata?.usage,h=typeof a?.metadata?.session?.sessionStart=="number"?(a?.metadata?.session).sessionStart:null,p=r.slice(-14).reverse(),m=d?.assistantMessages??r.filter(t=>t.kind==="message").length,u=r.filter(t=>t.kind==="tool").length,i=r.filter(t=>t.kind==="tool"&&(t.tool==="edit"||t.tool==="write")).length,n=a?.contextUsage&&a.contextUsage.length>0?Math.round(a.contextUsage[a.contextUsage.length-1]*100):null,c=n!==null?`${n}%`:d?.contextWindowTokens&&d?.contextInputTokens?`${Math.round(d.contextInputTokens/d.contextWindowTokens*100)}%`:"—";return e.jsxs("div",{className:"s-focus-tab s-focus-tab--activity-preview",children:[e.jsxs("dl",{className:"s-focus-stats",children:[e.jsx(b,{label:"Turns",value:m||"—"}),e.jsx(b,{label:"Tools",value:u||"—"}),e.jsx(b,{label:"Edits",value:i||"—"}),e.jsx(b,{label:"Context",value:c})]}),p.length===0?e.jsx(L,{agent:s,onOpenConversation:l,onMessage:o}):e.jsx("ul",{className:"s-focus-activity-list",children:p.map(t=>e.jsxs("li",{className:`s-focus-activity-row s-focus-activity-row--${t.kind}`,children:[e.jsx("span",{className:"s-focus-activity-time",children:A(t.t,h)}),e.jsx("span",{className:"s-focus-activity-glyph","aria-hidden":!0,children:T[t.kind]??"·"}),e.jsx("span",{className:"s-focus-activity-kind",children:k[t.kind]??t.kind}),e.jsx("span",{className:"s-focus-activity-text",children:I(t)})]},t.id))})]})}function L({agent:s,onOpenConversation:a,onMessage:l}){const o=S(s.role),r=[s.harness,s.model].filter(Boolean).join("/"),d=[s.project,s.branch].filter(Boolean).join("/"),h=$(s.state),p=N(h),m=s.createdAt?j(s.createdAt):null,u=s.updatedAt?j(s.updatedAt):null,i=s.homeNodeName??s.homeNodeId,n=s.ownerHandle??s.ownerName??s.ownerId,c=[];return o&&c.push({label:"Role",value:o}),r&&c.push({label:"Stack",value:r}),d&&c.push({label:"At",value:d}),i&&c.push({label:"Home",value:i}),n&&c.push({label:"Owner",value:n}),m&&c.push({label:"Spawned",value:m}),c.push({label:"State",value:p}),u&&c.push({label:"Last seen",value:u}),e.jsxs("div",{className:"s-focus-activity-empty s-focus-activity-empty--rich",children:[e.jsxs("div",{className:"s-focus-activity-empty-head",children:[e.jsx("span",{className:"s-focus-activity-empty-eyebrow",children:"No tool or turn events recorded"}),e.jsx("span",{className:"s-focus-activity-empty-title",children:s.handle??s.name})]}),e.jsx("dl",{className:"s-focus-activity-empty-facts",children:c.map(t=>e.jsxs("div",{className:"s-focus-activity-empty-fact",children:[e.jsx("dt",{children:t.label}),e.jsx("dd",{title:t.value,children:t.value})]},t.label))}),e.jsxs("div",{className:"s-focus-activity-empty-actions",children:[e.jsx("button",{type:"button",className:"s-focus-activity-empty-btn",onClick:a,...v({label:`Open conversation with ${s.handle??s.name}`,...s.conversationId?{route:`/c/${s.conversationId}`}:{}}),children:"Open conversation ↗"}),e.jsx("button",{type:"button",className:"s-focus-activity-empty-btn s-focus-activity-empty-btn--primary",onClick:l,...v({label:`Compose message · ${s.handle??s.name}`}),children:"Send a message"})]})]})}function b({label:s,value:a}){return e.jsxs("div",{className:"s-focus-stat",children:[e.jsx("dt",{className:"s-focus-stat-label",children:s}),e.jsx("dd",{className:"s-focus-stat-value",children:a})]})}function O({agent:s,onSend:a,onOpenConversation:l}){const[o,r]=f.useState(""),[d,h]=f.useState(!1),[p,m]=f.useState(!1),[u,i]=f.useState(null),n=f.useRef(null);f.useEffect(()=>{n.current?.focus()},[]);const c=async()=>{const y=o.trim();if(!(!y||d)){h(!0),i(null);try{await a(y),r(""),m(!0),setTimeout(()=>m(!1),1800)}catch(x){i(x instanceof Error?x.message:String(x))}finally{h(!1)}}},t=s.handle??s.name;return e.jsx("div",{className:"s-focus-tab",children:e.jsx("div",{className:"s-focus-compose",children:e.jsx(M,{density:"panel",value:o,onChange:r,onSend:()=>{c()},sending:d,placeholder:`Message @${t}…`,textareaRef:n,rows:4,"aria-label":`Message @${t}`,header:e.jsxs("div",{className:"s-focus-compose-label",children:["Message ",e.jsxs("span",{className:"s-focus-compose-target",children:["@",t]})]}),tools:e.jsx("div",{className:"s-focus-compose-hint",children:u?e.jsxs("span",{className:"s-focus-compose-error",children:["Send failed: ",u]}):p?e.jsxs("span",{className:"s-focus-compose-ok",children:["Sent ↗"," ",e.jsx("button",{type:"button",className:"s-focus-compose-link",onClick:l,children:"Open Chat"})]}):e.jsx("span",{children:"Send starts a Run, or steers the active Run when this agent is already working."})})})})})}export{Q as FocusOverlay};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-BI9AljSD.js";import{c as j}from"./colors-BtO5_zlx.js";import{s as x}from"./page-status-Crtgjbq3.js";import{t as m}from"./time-Dhsh_2EG.js";import{R as b}from"./RailRow-ClMmtaIE.js";import"./AgentAvatar-B7c0egdP.js";import"./Provider-Bu-C8Hxc.js";import"./router-DTtux5sP.js";import"./perf-PX8Rx0EP.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-BQ6t92tJ.js";import"./api-Co9aQ2Jw.js";import"./sse-DDHEHUgz.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BJIamJOH.js";import"./DocumentFocusViewer-DFFE85Tq.js";import"./createLucideIcon-DthwWQIg.js";import"./TextDocumentSurface-BeSwe3Yl.js";import"./file-text--hfhwZH1.js";import"./x-DfRJbqrh.js";import"./chevron-right-CnZRSd-V.js";import"./code-xml-CvKBY3KA.js";import"./arrow-left-DHfdXJVZ.js";import"./arrow-right-BBsrogWf.js";import"./scout-voice-BZKsdquE.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-e6yGeorb.js";import"./NewChatComposer-C_1op4dH.js";import"./text-Faa3ZStB.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-B2W9DPG5.js";import"./conversation-model-QsJVfSeG.js";import"./index-DfsTyYDx.js";import"./HarnessMark-DAaWPiT_.js";import"./NewChatOrigin-D7hwp6dm.js";import"./chevron-down-C475vltS.js";import"./search-DmFM_9jm.js";import"./chunk-HRAB3GC3-DLNT8aOo.js";import"./SpriteAvatar-56DTXxSV.js";import"./CrewAvatar-CXJHLNVM.js";function et({agent:t,state:r,isExpanded:e,isSelected:s,tabIndex:p,onToggle:a,onReveal:n,onOpen:c}){const l=x({label:`Focus ${t.handle??t.name}`,route:`/ops/control · ${t.id}`}),d=o.jsxs(o.Fragment,{children:[o.jsxs("dl",{className:"rr-spec-list",children:[o.jsx(i,{label:"MODEL",value:[t.harness,t.model].filter(Boolean).join("/")||"—"}),o.jsx(i,{label:"AT",value:[t.project,t.branch].filter(Boolean).join("/")||"—"}),o.jsx(i,{label:"STATE",value:j(r)}),o.jsx(i,{label:"ACTIVITY",value:t.activity}),o.jsx(i,{label:"SOURCE",value:t.source})]}),o.jsxs("div",{className:"ml-detail-actions",children:[o.jsx("button",{type:"button",className:"ml-detail-btn",onClick:n,children:"Reveal on wall"}),o.jsx("button",{type:"button",className:"ml-detail-btn ml-detail-btn--primary",onClick:c,children:"Open ↗"})]})]});return o.jsx(b,{name:t.handle??t.name,meta:t.lastActiveAt?m(t.lastActiveAt):t.updatedAt?m(t.updatedAt):void 0,tone:r,caret:e?"open":"closed",selected:s,expanded:e,detail:d,tabIndex:p,onClick:u=>a(u),onPointerEnter:l.onPointerEnter,onPointerLeave:l.onPointerLeave})}function i({label:t,value:r}){return o.jsxs("div",{className:"rr-spec",children:[o.jsx("dt",{className:"rr-spec-label",children:t}),o.jsx("dd",{className:"rr-spec-value",title:r,children:r})]})}export{et as MissionLeftAgentRow};
@@ -1 +0,0 @@
1
- import{r as n,j as l}from"./index-BI9AljSD.js";import{H as k}from"./HarnessMark-DAaWPiT_.js";import{n as y}from"./colors-BtO5_zlx.js";import{s as P}from"./page-status-Crtgjbq3.js";import{c as T,b as I,T as A,d as C}from"./tail-display-DcliDVkW.js";import{d as E}from"./time-Dhsh_2EG.js";import{s as H}from"./mission-control-model-C0fByIjm.js";import{m as F,a as K}from"./mission-wall-CocIM1cF.js";import"./lane-edit-display-C_Aujldz.js";const R=24;function G({log:s,selected:f,revealed:h,cursor:t=!1,onOpen:c,onToggleSelected:w,onOpenLog:v,paneRef:j}){const i=n.useRef(null),m=n.useRef(!0),o=n.useMemo(()=>T(s.lines.map(e=>({event:e,meta:void 0}))).map(e=>({...e,outcome:e.event.kind==="tool-result"?I(e.event).result?.outcome??null:null})),[s.lines]),x=n.useCallback(()=>{const e=i.current;if(!e)return;const a=e.scrollHeight-e.scrollTop-e.clientHeight;m.current=a<=R},[]);n.useEffect(()=>{const e=i.current;!e||!m.current||(e.scrollTop=e.scrollHeight)},[o.length,s.lastActiveAt]);const N=y(s.agent?.state??null),r=F(s),b=K(s),p=[s.project,s.agent?.branch].filter(Boolean).join("/")||s.cwd||"—",d=P({label:`Focus ${r}`,route:`/ops/control · ${s.sessionId}`}),L=e=>{if(e.metaKey||e.ctrlKey||e.shiftKey){w();return}c()};return l.jsxs("div",{ref:j,className:["s-wall-pane",s.live?"s-wall-pane--live":null,f?"s-wall-pane--selected":null,h?"s-wall-pane--revealed":null,t?"s-wall-pane--cursor":null].filter(Boolean).join(" "),"data-cursor":t?!0:void 0,tabIndex:t?0:-1,onClick:L,onPointerEnter:d.onPointerEnter,onPointerLeave:d.onPointerLeave,children:[l.jsxs("div",{className:"s-wall-pane-head",children:[l.jsx("span",{className:"s-wall-pane-dot",style:{background:s.agent?H(N):"var(--dim)"},"aria-hidden":!0}),l.jsx(k,{harness:s.source,size:11,title:null}),l.jsx("button",{type:"button",className:"s-wall-pane-title",title:s.agent?.name??s.sessionId,"aria-label":`Focus ${r}`,onClick:e=>{e.stopPropagation(),c()},children:r}),l.jsx("span",{className:"s-wall-pane-where",title:s.cwd??p,children:p}),l.jsx("span",{className:"s-wall-pane-spacer"}),s.live&&l.jsx("span",{className:"s-wall-pane-live",children:"live"}),l.jsx("button",{type:"button",className:"s-wall-pane-file",title:s.logPath??`session ${s.sessionId}`,onClick:e=>{e.stopPropagation(),v()},children:b})]}),l.jsx("div",{className:"s-wall-pane-body",ref:i,onScroll:x,children:o.length===0?l.jsx("div",{className:"s-wall-pane-idle",children:"no output since page load"}):o.map(({event:e,repeatCount:a,outcome:u})=>l.jsxs("div",{className:["s-wall-line",`s-wall-line--${e.kind}`,u==="success"?"s-wall-line--result-ok":null,u==="error"?"s-wall-line--result-error":null].filter(Boolean).join(" "),children:[l.jsx("span",{className:"s-wall-line-time",children:E(e.ts,{milliseconds:!1})||"—"}),l.jsx("span",{className:"s-wall-line-glyph",title:C[e.kind],children:A[e.kind]}),l.jsxs("span",{className:"s-wall-line-text",children:[e.summary,a>1&&l.jsxs("span",{className:"s-wall-line-repeat",title:`${a} identical events`,children:[" ","×",a]})]})]},e.id))})]})}export{G as MissionLogPane};
@@ -1 +0,0 @@
1
- import{r,j as e}from"./index-BI9AljSD.js";import{r as se}from"./index-DfsTyYDx.js";import{a as U}from"./api-Co9aQ2Jw.js";import{u as ne}from"./keyboard-nav-e6yGeorb.js";import{o as te}from"./openContent-C6XO6kr5.js";import{s as A,w as le}from"./project-overview-helpers-BQTc_Ous.js";import{X as ie}from"./x-DfRJbqrh.js";import{R as re}from"./rocket-D3-TUJ2m.js";import"./perf-PX8Rx0EP.js";import"./createLucideIcon-DthwWQIg.js";const V=[{value:"codex",label:"Codex",runtimeId:"codex"},{value:"claude",label:"Claude",runtimeId:"claude"},{value:"pi",label:"Grok",runtimeId:"pi"}];function w(t){return t.trim().toLowerCase().replace(/^@+/,"").replace(/[^a-z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||void 0}function oe(t){const n=new Set;for(const o of t){if(!o)continue;const s=w(o);s&&n.add(s)}return n}function ce(t,n,o){const s=t.trim();if(!s)return{status:"auto",normalized:void 0,rewritten:!1,message:o==="sticky"?"Scout will assign a reusable handle from the name pool.":"Scout will assign a disposable handle from the name pool.",tone:"ok"};const l=w(s);return l?n.has(l)?{status:"conflict",normalized:l,rewritten:l!==s.toLowerCase().replace(/^@+/,""),message:`@${l} already exists here. Pick another handle or leave it blank for auto.`,tone:"warn"}:{status:"ok",normalized:l,rewritten:l!==s.toLowerCase().replace(/^@+/,""),message:null,tone:"ok"}:{status:"invalid",normalized:void 0,rewritten:!1,message:"Use letters, numbers, dot, or dash.",tone:"warn"}}function S(t){return t==="pi"?"grok":t}function de(t,n,o,s=3){const l=w(t)??"agent",m=[l,`${l}-${S(n)}`,`${l}-dev`,`${l}-2`,`${l}-${S(n)}-2`],u=[];for(const v of m){const x=w(v);if(!(!x||o.has(x)||u.includes(x))&&(u.push(x),u.length>=s))break}return u}function ue(t){const{handle:n,persistence:o,harness:s,projectRootLabel:l}=t,m="A card starts a fresh session for each request. Use session:<id> only to continue an exact run.";return o==="one_time"?{disposable:!0,card:null,cli:`scout ask --project ${l} --harness ${s} "…"`,resolves:"Disposable session — Scout assigns a provisional handle that may be recycled. Not addressable later.",note:m}:n?{disposable:!1,card:`@${n}`,cli:`scout ask @${n} "…"`,resolves:`Reusable ${S(s)} session on this project — @${n} routes here from any surface.`,note:m}:{disposable:!1,card:"@auto",cli:'scout ask @<assigned-handle> "…"',resolves:`Scout assigns a reusable ${S(s)} handle from the name pool.`,note:m}}const me={ready:"ready",configured:"configured",installed:"login needed",missing:"not found"},q={ready:"ok",configured:"ok",installed:"warn",missing:"off"};function ye({open:t,onClose:n,projectTitle:o,projectRoot:s,primaryWt:l,worktreeCount:m,branches:u,existingAgents:v,agentCount:x,sessionCount:H,route:D,navigate:C}){const{ref:J,onKeyDown:W}=ne(t),[h,G]=r.useState("codex"),[M,X]=r.useState(""),[d,E]=r.useState("sticky"),[$,P]=r.useState(""),[R,Q]=r.useState(""),[L,I]=r.useState("idle"),[_,j]=r.useState(null),[K,Y]=r.useState(null);r.useEffect(()=>{t&&(j(null),I("idle"))},[t]),r.useEffect(()=>{if(!t)return;let a=!1;return(async()=>{const c=await U("/api/agent-config/snapshot").catch(()=>null);if(a||!c)return;const f=new Map;for(const g of c.runtimes)f.set(g.id,{state:g.state,detail:g.detail,loginCommand:g.loginCommand});Y(f)})(),()=>{a=!0}},[t]),r.useEffect(()=>{if(!t)return;const a=c=>{c.key==="Escape"&&(c.preventDefault(),n())};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[t,n]);const k=r.useMemo(()=>oe(v.flatMap(a=>[a.name,a.handle])),[v]),i=r.useMemo(()=>ce($,k,d),[$,k,d]),z=r.useMemo(()=>de(o,h,k,3),[o,h,k]),T=s?A(s):"<no-root>",p=r.useMemo(()=>ue({handle:i.normalized,persistence:d,harness:h,projectRootLabel:T}),[i.normalized,d,h,T]),N=K?.get(V.find(a=>a.value===h)?.runtimeId??h);if(!t)return null;const Z=!!s&&L!=="starting"&&i.status!=="invalid"&&i.status!=="conflict",ee=L==="starting"?"Starting…":d==="one_time"?"Dispatch one-off":i.status==="conflict"?"Handle exists":i.normalized?`Create @${i.normalized}`:"Create with auto handle",O=async()=>{if(!(!s||L==="starting")){I("starting"),j(null);try{const a=M.trim(),c=R.trim(),f=i.normalized,g=await U("/api/sessions",{method:"POST",body:JSON.stringify({target:{projectPath:s},execution:{session:"new",harness:h,...a?{model:a}:{}},agent:{persistence:d,...f?{handle:f}:{}},...c?{seed:{instructions:c}}:{}})}),B=g.agentId?.trim(),F=g.sessionId?.trim(),y=g.conversationId?.trim();if(F){n(),te(C,{view:"sessions",sessionId:F},{returnTo:D});return}if(B){n(),C({...D,view:"agents-v2",agentId:B,selectedAgentId:void 0,sessionId:void 0,...y?{conversationId:y,tab:"message"}:{tab:"profile"}});return}if(y){n(),C({view:"conversation",conversationId:y});return}j("Agent start was accepted, but no target came back.")}catch(a){j(a instanceof Error?a.message:"Could not start an agent.")}finally{I("idle")}}},ae=a=>{if((a.metaKey||a.ctrlKey)&&a.key==="Enter"){a.preventDefault(),O();return}W(a)},b=[];return b.push({label:"root",value:s?A(s):"no project root",title:s??void 0}),l?b.push({label:"branch",value:le(l),title:l.path}):u.length>0&&b.push({label:"branch",value:u.length===1?u[0]:`${u.length} branches`}),m>1&&b.push({label:"worktrees",value:String(m)}),b.push({label:"existing",value:`${x} agent${x===1?"":"s"} · ${H} session${H===1?"":"s"}`}),se.createPortal(e.jsx("div",{className:"na-backdrop",role:"presentation",onClick:n,children:e.jsxs("div",{ref:J,className:"na-panel",role:"dialog","aria-modal":"true","aria-labelledby":"na-title",tabIndex:-1,onClick:a=>a.stopPropagation(),onKeyDown:ae,children:[e.jsxs("header",{className:"na-head",children:[e.jsxs("div",{className:"na-headIdent",children:[e.jsx("h2",{id:"na-title",className:"na-title",children:"New agent"}),e.jsxs("span",{className:"na-scope",children:["/",o]})]}),e.jsx("button",{type:"button",className:"na-close",onClick:n,"aria-label":"Close (Esc)",children:e.jsx(ie,{size:14,strokeWidth:2,"aria-hidden":!0})})]}),e.jsx("div",{className:"na-context",children:b.map(a=>e.jsxs("span",{className:"na-contextChip",title:a.title,children:[e.jsx("span",{className:"na-contextLabel",children:a.label}),e.jsx("span",{className:"na-contextValue",children:a.value})]},a.label))}),e.jsxs("div",{className:"na-body",children:[e.jsxs("section",{className:"na-section na-modeSection",children:[e.jsx("span",{className:"na-sectionLabel",children:"What are you creating?"}),e.jsxs("div",{className:"na-modeChoice",role:"radiogroup","aria-label":"Agent kind",children:[e.jsxs("button",{type:"button",role:"radio","aria-checked":d==="one_time",className:"na-modeCard","data-active":d==="one_time"||void 0,onClick:()=>E("one_time"),children:[e.jsx("span",{className:"na-modeTitle",children:"One-off run"}),e.jsx("span",{className:"na-modeSub",children:"Disposable session · not addressable later"})]}),e.jsxs("button",{type:"button",role:"radio","aria-checked":d==="sticky",className:"na-modeCard","data-active":d==="sticky"||void 0,onClick:()=>E("sticky"),children:[e.jsx("span",{className:"na-modeTitle",children:"Named agent"}),e.jsx("span",{className:"na-modeSub",children:"Reusable card · addressable by handle"})]})]})]}),e.jsxs("section",{className:"na-section",children:[e.jsx("span",{className:"na-sectionLabel",children:"Runtime"}),e.jsx("div",{className:"na-harnessRow",role:"radiogroup","aria-label":"Harness",children:V.map(a=>{const c=K?.get(a.runtimeId),f=h===a.value;return e.jsxs("button",{type:"button",role:"radio","aria-checked":f,className:"na-harness","data-active":f||void 0,onClick:()=>G(a.value),children:[e.jsx("span",{className:"na-harnessName",children:a.label}),c?e.jsxs("span",{className:"na-harnessState","data-tone":q[c.state],children:[e.jsx("span",{className:"na-dot","aria-hidden":!0}),me[c.state]]}):e.jsx("span",{className:"na-harnessState","data-tone":"off",children:"…"})]},a.value)})}),N&&N.state!=="ready"?e.jsxs("p",{className:"na-readinessNote","data-tone":q[N.state],children:[N.detail,N.loginCommand?e.jsxs("code",{className:"na-code",children:[" ",N.loginCommand]}):null]}):null,e.jsxs("label",{className:"na-field",children:[e.jsx("span",{children:"Model / profile"}),e.jsx("input",{value:M,placeholder:"default",onChange:a=>X(a.currentTarget.value)})]})]}),d==="sticky"?e.jsxs("section",{className:"na-section",children:[e.jsx("span",{className:"na-sectionLabel",children:"Handle (optional)"}),e.jsxs("label",{className:"na-field",children:[e.jsx("span",{children:"Address"}),e.jsxs("div",{className:"na-handleWrap","data-tone":i.tone,children:[e.jsx("span",{className:"na-handleAt",children:"@"}),e.jsx("input",{value:$,placeholder:z[0]??"auto","aria-invalid":i.tone==="warn",autoFocus:!0,onChange:a=>P(a.currentTarget.value)})]})]}),z.length>0?e.jsxs("div",{className:"na-suggestRow",children:[e.jsx("span",{className:"na-suggestLabel",children:"suggest"}),z.map(a=>e.jsxs("button",{type:"button",className:"na-suggest",onClick:()=>P(a),children:["@",a]},a))]}):null,i.message?e.jsx("p",{className:"na-validation","data-tone":i.tone,children:i.message}):i.rewritten&&i.normalized?e.jsxs("p",{className:"na-validation","data-tone":"ok",children:["Saved as ",e.jsxs("code",{className:"na-code",children:["@",i.normalized]})]}):null]}):null,e.jsxs("section",{className:"na-section",children:[e.jsx("span",{className:"na-sectionLabel",children:"First instruction"}),e.jsx("textarea",{className:"na-prompt",value:R,rows:3,placeholder:`Start in /${o}…`,onChange:a=>Q(a.currentTarget.value)})]}),e.jsxs("section",{className:"na-section na-routing",children:[e.jsx("span",{className:"na-sectionLabel",children:p.disposable?"Dispatch preview":"Routing preview"}),p.disposable?e.jsxs("div",{className:"na-routingBody","data-disposable":!0,children:[e.jsx("p",{className:"na-routingResolves",children:p.resolves}),e.jsx("button",{type:"button",className:"na-promote",onClick:()=>E("sticky"),children:"Name it to keep it →"})]}):e.jsxs("div",{className:"na-routingBody",children:[p.card?e.jsxs("div",{className:"na-routingLine",children:[e.jsx("span",{className:"na-routingKey",children:"address"}),e.jsx("code",{className:"na-routingValue na-routingCard",children:p.card})]}):null,e.jsxs("div",{className:"na-routingLine",children:[e.jsx("span",{className:"na-routingKey",children:"cli"}),e.jsx("code",{className:"na-routingValue",children:p.cli})]}),e.jsx("p",{className:"na-routingResolves",children:p.resolves}),e.jsx("p",{className:"na-routingNote",children:p.note})]})]})]}),_?e.jsx("div",{className:"na-error",children:_}):null,e.jsxs("footer",{className:"na-foot",children:[e.jsx("span",{className:"na-footRoot",title:s??void 0,children:s?A(s):"No project root — cannot create."}),e.jsxs("div",{className:"na-footActions",children:[e.jsx("button",{type:"button",className:"na-cancel",onClick:n,children:"Cancel"}),e.jsxs("button",{type:"button",className:"na-create",disabled:!Z,onClick:()=>{O()},children:[e.jsx(re,{size:12,strokeWidth:2,"aria-hidden":!0}),ee]})]})]})]})}),document.body)}export{ye as NewAgentModal};