@openscout/scout 0.2.107 → 0.2.108

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 (473) hide show
  1. package/README.md +53 -16
  2. package/bin/scoutd +0 -0
  3. package/dist/build-manifest.json +3 -3
  4. package/dist/client/assets/ActivityScreen-C1H-vL0L.js +1 -0
  5. package/dist/client/assets/{AddProjectForm-CusDRiVO.js → AddProjectForm-4sVXmjfN.js} +1 -1
  6. package/dist/client/assets/{AdventureEvidence-CyegKk1V.js → AdventureEvidence-D5wq1vu8.js} +1 -1
  7. package/dist/client/assets/{AdventureReader-X-hbTOi0.js → AdventureReader-BICypcDY.js} +1 -1
  8. package/dist/client/assets/{AdventureScenery-LPXSVP67.js → AdventureScenery-CGEcG0zV.js} +1 -1
  9. package/dist/client/assets/AgentAdventures-5yBt-Zl3.js +1 -0
  10. package/dist/client/assets/{AgentAvatar-CrP1eXxk.js → AgentAvatar-Dn8TUv5W.js} +1 -1
  11. package/dist/client/assets/AgentConfigurationScreen-C0D9WNyL.js +1 -0
  12. package/dist/client/assets/AgentDefinitionsWorkspace-BzcBdC_s.js +1 -0
  13. package/dist/client/assets/{AgentDetailCard-DtHT3sCo.js → AgentDetailCard-CI-ufaEP.js} +1 -1
  14. package/dist/client/assets/AgentFloorView-D8tlGlgy.js +1 -0
  15. package/dist/client/assets/{AgentFloorWorld-CjoIa6jA.js → AgentFloorWorld-DqmnQexg.js} +1 -1
  16. package/dist/client/assets/AgentInfoScreen-BnRhfcFy.js +1 -0
  17. package/dist/client/assets/{AgentLaneCard-BaZ2g-f8.js → AgentLaneCard-pppHFROz.js} +1 -1
  18. package/dist/client/assets/{AgentLaneChrome-TF1SlJSc.js → AgentLaneChrome-RptImDFc.js} +1 -1
  19. package/dist/client/assets/{AgentLaneDetailSheet-EzEPsn3g.js → AgentLaneDetailSheet-BqbwGskh.js} +1 -1
  20. package/dist/client/assets/{AgentLaneSummaryResize-dpp7YvrX.js → AgentLaneSummaryResize-DaIgwyVh.js} +1 -1
  21. package/dist/client/assets/AgentLanesEmbedScreen-De6C4ZOw.js +1 -0
  22. package/dist/client/assets/{AgentLanesPreflight-Ry-aqDTr.js → AgentLanesPreflight-BQfj2twF.js} +1 -1
  23. package/dist/client/assets/{AgentLanesView-BJi9xXz6.js → AgentLanesView-CiISx7pu.js} +1 -1
  24. package/dist/client/assets/{AgentLiveActions-CfTupTEl.js → AgentLiveActions-CkRGkv13.js} +1 -1
  25. package/dist/client/assets/AgentMasterScreen-CijN_4tN.js +1 -0
  26. package/dist/client/assets/{AgentSessions-B1gOhDBf.js → AgentSessions-ghjQcSrh.js} +2 -2
  27. package/dist/client/assets/AgentsConsole-D8upjDpn.js +1 -0
  28. package/dist/client/assets/AgentsScreen-C17BFqjf.js +1 -0
  29. package/dist/client/assets/AgentsSubnav-_1GVC4hj.js +1 -0
  30. package/dist/client/assets/{AstronautSuit-Cchnc4Ug.js → AstronautSuit-Dzu4GOMR.js} +1 -1
  31. package/dist/client/assets/{AtopView-gkEp4y__.js → AtopView-DJK5b3lZ.js} +1 -1
  32. package/dist/client/assets/{BackToPicker-CUkjnoVk.js → BackToPicker-BPU7kbXq.js} +1 -1
  33. package/dist/client/assets/BriefingDetailScreen-CTvFw523.js +1 -0
  34. package/dist/client/assets/{BriefingsScreen-B1HlBMGZ.js → BriefingsScreen-DpVC3OUk.js} +1 -1
  35. package/dist/client/assets/{BrokerMetadataPanel-Dk242Yh_.js → BrokerMetadataPanel-glRVdwkU.js} +1 -1
  36. package/dist/client/assets/BrokerScreen-CqKsBwEx.js +8 -0
  37. package/dist/client/assets/{CastPicker-BXUtPAGC.js → CastPicker-Y29K5kKk.js} +1 -1
  38. package/dist/client/assets/ChannelComposer-D4EY9jVW.js +1 -0
  39. package/dist/client/assets/{ChannelSidebar-e9DOPulb.js → ChannelSidebar-CVmykV4d.js} +1 -1
  40. package/dist/client/assets/{CharacterFamilyPreview-DMfw7UM_.js → CharacterFamilyPreview-Bj8oMD-5.js} +1 -1
  41. package/dist/client/assets/{ChatAvatar-C3a_o5Hj.js → ChatAvatar-BsAOShUr.js} +1 -1
  42. package/dist/client/assets/{ChatBits-CsvxbToF.js → ChatBits-Cq54CmyB.js} +1 -1
  43. package/dist/client/assets/{ChatCollapsedStrip-FEmQ_G9J.js → ChatCollapsedStrip-B0DdrOo2.js} +1 -1
  44. package/dist/client/assets/{ChatRichInput-DhtwFxQE.js → ChatRichInput-DYJRhGTP.js} +1 -1
  45. package/dist/client/assets/ChatRightPanel-D94Lw7ud.js +1 -0
  46. package/dist/client/assets/ChatSpaceSurface-Cp532VmZ.js +1 -0
  47. package/dist/client/assets/{ChatSpaceTheme-CUH8bTZc.js → ChatSpaceTheme-DPzYpw-v.js} +1 -1
  48. package/dist/client/assets/{CodeDiffPane-DuQRwpgK.js → CodeDiffPane-DCgMUi39.js} +1 -1
  49. package/dist/client/assets/{CodeProjectPicker-ZQ6gSBpg.js → CodeProjectPicker-Dq787L77.js} +1 -1
  50. package/dist/client/assets/{CodeScreen-BXyKeL5T.js → CodeScreen-BN4TkiR0.js} +1 -1
  51. package/dist/client/assets/{CommsCanvas-THp0r_U8.js → CommsCanvas-Dh056d91.js} +1 -1
  52. package/dist/client/assets/{CommsDeck-BVmSMV2V.js → CommsDeck-CRXKIerH.js} +1 -1
  53. package/dist/client/assets/{CommsFlowGraph-DxoOaLF_.js → CommsFlowGraph-Cc48o9u_.js} +1 -1
  54. package/dist/client/assets/{CommsFlowMap-Vi8ziCPg.js → CommsFlowMap-Ckasql5e.js} +1 -1
  55. package/dist/client/assets/{CommsSelection-BUoRbu9o.js → CommsSelection-CuphnUny.js} +1 -1
  56. package/dist/client/assets/{ComposerAttachments-DW0AIb8k.js → ComposerAttachments-9uYp_Lh5.js} +1 -1
  57. package/dist/client/assets/ConversationComposer-hYtLurqy.js +1 -0
  58. package/dist/client/assets/ConversationFeedRows-Bu0ZJcy8.js +1 -0
  59. package/dist/client/assets/ConversationHeader-L9738YVP.js +1 -0
  60. package/dist/client/assets/{ConversationPanels-D9oC0xG5.js → ConversationPanels-D6KuqvGu.js} +2 -2
  61. package/dist/client/assets/ConversationScreen-Pzxy9x4m.js +2 -0
  62. package/dist/client/assets/ConversationStatus-BEefIbXq.js +1 -0
  63. package/dist/client/assets/{CrewAvatar-kTznzqcO.js → CrewAvatar-a_C_F9r_.js} +1 -1
  64. package/dist/client/assets/{CrewSprite-Dhryjx2c.js → CrewSprite-CguHb2Ny.js} +1 -1
  65. package/dist/client/assets/{CrewStage-vdO0qm3D.js → CrewStage-IPpS3Oja.js} +1 -1
  66. package/dist/client/assets/{CrewWorkspaces-DCBzAAS4.js → CrewWorkspaces-BTPtcEcx.js} +1 -1
  67. package/dist/client/assets/{DataTable-aH-jCyDq.js → DataTable-DnL_8SAu.js} +1 -1
  68. package/dist/client/assets/{DispatchAftermath-66uQAorV.js → DispatchAftermath-CoAYaL3B.js} +1 -1
  69. package/dist/client/assets/{DocumentFocusViewer-DJr0v0D_.js → DocumentFocusViewer-mxzPxQQW.js} +1 -1
  70. package/dist/client/assets/{EmbeddableSurfacesLab-BBa70EhJ.js → EmbeddableSurfacesLab-BAZ_eRMc.js} +1 -1
  71. package/dist/client/assets/{EmptyState-CZlrHXy-.js → EmptyState-DLiLgtPK.js} +1 -1
  72. package/dist/client/assets/{FileViewerPane-BAO6mtjD.js → FileViewerPane-Dc7AoVod.js} +1 -1
  73. package/dist/client/assets/{FleetRollCallHud-C5q2567n.js → FleetRollCallHud-VhpxVcGO.js} +1 -1
  74. package/dist/client/assets/FlightObserveScreen-C1kASP3J.js +1 -0
  75. package/dist/client/assets/{FloorContextSheet-2_NVPQor.js → FloorContextSheet-BfrXNoBn.js} +1 -1
  76. package/dist/client/assets/{FloorExchangePanel-BU1pPu8K.js → FloorExchangePanel-DsG1cRzu.js} +1 -1
  77. package/dist/client/assets/{FloorMessagePasses-cLW2UGNP.js → FloorMessagePasses-Cm3LbkHd.js} +1 -1
  78. package/dist/client/assets/{FloorReplay-VFzA6Kxc.js → FloorReplay-Bg7kA-tR.js} +1 -1
  79. package/dist/client/assets/FloorResourcesSheet-Ba9HubO2.js +1 -0
  80. package/dist/client/assets/{FloorSavedWork-BeHDejWz.js → FloorSavedWork-BDOvV3mA.js} +1 -1
  81. package/dist/client/assets/{FloorTacticalHUD-CO-iiFpb.js → FloorTacticalHUD-4d-Hr-YL.js} +1 -1
  82. package/dist/client/assets/{FollowScreen-CFfkIbc6.js → FollowScreen-DFVSlsQV.js} +1 -1
  83. package/dist/client/assets/{HarnessMark-C4naWc16.js → HarnessMark-CP-PWk2W.js} +1 -1
  84. package/dist/client/assets/HarnessesScreen-j-91IoOo.js +1 -0
  85. package/dist/client/assets/{HerdrSession-_t7yM8vX.js → HerdrSession-H2mmxeTK.js} +1 -1
  86. package/dist/client/assets/{HomeHero-DouPyNmz.js → HomeHero-g4H3Ctxg.js} +1 -1
  87. package/dist/client/assets/{HostAdvisorView-CnM1i8hW.js → HostAdvisorView-Cyt3b5Fq.js} +1 -1
  88. package/dist/client/assets/{InviteLandingScreen-CEjG2E34.js → InviteLandingScreen-C3DtAGD4.js} +1 -1
  89. package/dist/client/assets/{InviteSheet-CwxZtWCl.js → InviteSheet-BiGMNpsE.js} +1 -1
  90. package/dist/client/assets/{JumpPalette-O1aJE9gR.js → JumpPalette-goXAVByA.js} +1 -1
  91. package/dist/client/assets/{KnowledgeSearchInspector-32n9baT-.js → KnowledgeSearchInspector-BbOQIqdF.js} +1 -1
  92. package/dist/client/assets/KnowledgeSearchScreen-DC8yX-kA.js +1 -0
  93. package/dist/client/assets/{LaneToolHoverCard-CJa110yk.js → LaneToolHoverCard-B8Am_1DC.js} +1 -1
  94. package/dist/client/assets/LaneTraceDetailSheet-CngYIxdI.js +1 -0
  95. package/dist/client/assets/{LaneTraceEventFocus-TbrNHRj_.js → LaneTraceEventFocus-BRR_jcl9.js} +1 -1
  96. package/dist/client/assets/{MeshCanvas-DWZHYh1A.js → MeshCanvas-DzkuY_XI.js} +1 -1
  97. package/dist/client/assets/{MeshCanvasMinimap-iswYFpIb.js → MeshCanvasMinimap-BrscEPAH.js} +1 -1
  98. package/dist/client/assets/MeshScreen-CAtRB8K6.js +1 -0
  99. package/dist/client/assets/{MeshTopologyView-BVvtqI8q.js → MeshTopologyView-B1I2dAhu.js} +2 -2
  100. package/dist/client/assets/{MessageEmbeds-ksPazAKH.js → MessageEmbeds-B-FbWI7a.js} +1 -1
  101. package/dist/client/assets/MessagesScreen-hq7D3Lfi.js +1 -0
  102. package/dist/client/assets/{MissionContextRail-D62-Wis8.js → MissionContextRail-ClR8amG1.js} +1 -1
  103. package/dist/client/assets/MissionControlView-D6gbMrgx.js +1 -0
  104. package/dist/client/assets/{MissionFocusOverlay-C1zys3Jv.js → MissionFocusOverlay-CzeNgI9Q.js} +1 -1
  105. package/dist/client/assets/MissionLeftAgentRow-CB3cgeYr.js +1 -0
  106. package/dist/client/assets/{MissionLogPane-B19lYSY9.js → MissionLogPane-2PMEoG44.js} +1 -1
  107. package/dist/client/assets/NativeAreaScreen-BnlrAWT8.js +1 -0
  108. package/dist/client/assets/NativeAreaScreen-DSR5Tf6F.js +1 -0
  109. package/dist/client/assets/NativeAreaScreen-fGsxyeC3.js +1 -0
  110. package/dist/client/assets/{NewAgentModal-Bh-L-emz.js → NewAgentModal-4b_3aoZE.js} +1 -1
  111. package/dist/client/assets/{NewChatComposer-C97-iTMK.js → NewChatComposer-D-VB5vdt.js} +1 -1
  112. package/dist/client/assets/{NewChatOrigin-DFbF_XvR.js → NewChatOrigin-BYsEu9dZ.js} +1 -1
  113. package/dist/client/assets/{NodeDetailPanel-CElOEpCh.js → NodeDetailPanel-9NaEnZAQ.js} +1 -1
  114. package/dist/client/assets/{NodeMenu-B-jjHf1c.js → NodeMenu-BgJMmffZ.js} +1 -1
  115. package/dist/client/assets/{ObserveEmbedScreen-B7Qt69Ms.js → ObserveEmbedScreen-W7Q5HbXP.js} +2 -2
  116. package/dist/client/assets/{ObserveTextFlow-PFnG_10h.js → ObserveTextFlow-C0oQEerY.js} +2 -2
  117. package/dist/client/assets/{ObservedTopologyPanel-CUTIoLZJ.js → ObservedTopologyPanel-Ci7emnnj.js} +1 -1
  118. package/dist/client/assets/OpenScoutAppShell-Di9qdmI0.js +22 -0
  119. package/dist/client/assets/OpsAgentsView-DVotOMg2.js +1 -0
  120. package/dist/client/assets/OpsScreen-C955zgr3.js +1 -0
  121. package/dist/client/assets/OpsSubnav-CjMVj7Sk.js +1 -0
  122. package/dist/client/assets/ProjectAgentProfile-B1VqGSmu.js +1 -0
  123. package/dist/client/assets/{ProjectAgentProfileBar-DHuMKJj-.js → ProjectAgentProfileBar-DhVU7zew.js} +1 -1
  124. package/dist/client/assets/ProjectAgentProfileHero-CJk-Dx4t.js +1 -0
  125. package/dist/client/assets/ProjectsInbox-B7kap8nR.js +2 -0
  126. package/dist/client/assets/ProjectsRail-BhSaqbv0.js +1 -0
  127. package/dist/client/assets/ProjectsScreen-CSb7nwjb.js +1 -0
  128. package/dist/client/assets/ProjectsThreadAside-pEJutIO8.js +1 -0
  129. package/dist/client/assets/{Provider-C35yu29I.js → Provider-BEXAZWd9.js} +2 -2
  130. package/dist/client/assets/{RailRow-BjmWK420.js → RailRow-Ddz90weI.js} +1 -1
  131. package/dist/client/assets/RawSessionsTable-TdKlJIPl.js +1 -0
  132. package/dist/client/assets/RealtimeVoiceScreen-BU5KmlNo.js +8 -0
  133. package/dist/client/assets/{RenderedWorkerSprite-Dhlyg89J.js → RenderedWorkerSprite-BNhFXMIo.js} +1 -1
  134. package/dist/client/assets/{ReplayClock-348f17bW.js → ReplayClock-wLpb4VqN.js} +1 -1
  135. package/dist/client/assets/{ReplayLog-CBnAM3ui.js → ReplayLog-IUyQdklN.js} +1 -1
  136. package/dist/client/assets/{ReplayOutpost-DyRPfNFx.js → ReplayOutpost-C4djhjZJ.js} +1 -1
  137. package/dist/client/assets/{RepoDiffEmbedScreen-BWxvRDrS.js → RepoDiffEmbedScreen-BmQX_8E-.js} +1 -1
  138. package/dist/client/assets/{RepoDiffPageScreen-DN94irmY.js → RepoDiffPageScreen-B9oAjrC6.js} +1 -1
  139. package/dist/client/assets/{RepoDiffViewer-_4JVXBIW.js → RepoDiffViewer-Ch_lIMt-.js} +1 -1
  140. package/dist/client/assets/RepoDiffViewerLazy-DL6A2o_z.js +2 -0
  141. package/dist/client/assets/{ReposScreen-uMCpt0e9.js → ReposScreen-D-E7fSAB.js} +2 -2
  142. package/dist/client/assets/{RiggedWorkerCharacter-q6QRc7_o.js → RiggedWorkerCharacter-CF6fhzGd.js} +1 -1
  143. package/dist/client/assets/{SageModelStudio-CNDhZhgD.js → SageModelStudio-CSet_ITs.js} +1 -1
  144. package/dist/client/assets/{ScoutDeckSurface-CUaU4R6T.js → ScoutDeckSurface-BJ-fl8AX.js} +1 -1
  145. package/dist/client/assets/{ScoutSurface-3_25USO_.js → ScoutSurface-BvFRdce6.js} +1 -1
  146. package/dist/client/assets/{ScoutbotFxLab-CRqhYe0a.js → ScoutbotFxLab-CfPzycZ7.js} +1 -1
  147. package/dist/client/assets/{SecondaryNav-D7dbV2qo.js → SecondaryNav-1FjBDWuY.js} +1 -1
  148. package/dist/client/assets/{SessionContextStrip-CXfs9hUD.js → SessionContextStrip-BoiIxXvS.js} +1 -1
  149. package/dist/client/assets/{SessionEmbedScreen-D0zFmou-.js → SessionEmbedScreen-BizGNGOz.js} +1 -1
  150. package/dist/client/assets/{SessionHopMenu-E6VJZrE0.js → SessionHopMenu-DX6PJPNk.js} +1 -1
  151. package/dist/client/assets/{SessionObserve-DXxBvejJ.js → SessionObserve-Dw3bVQYF.js} +1 -1
  152. package/dist/client/assets/{SessionObserveEvidence-Cuj_KHxR.js → SessionObserveEvidence-uD1OX-R5.js} +1 -1
  153. package/dist/client/assets/SessionRefScreen-Ch9H-qVk.js +1 -0
  154. package/dist/client/assets/SessionsScreen-DUeP23Xy.js +1 -0
  155. package/dist/client/assets/{SettingsDrawer-juCpnbH6.js → SettingsDrawer-BVrP6J52.js} +3 -3
  156. package/dist/client/assets/SettingsScreen-BcJ05LE5.js +1 -0
  157. package/dist/client/assets/{SharedFloorCharacter-DNEiaOUh.js → SharedFloorCharacter-dnamlt1p.js} +1 -1
  158. package/dist/client/assets/SharedWorkFloor-H-e2TVj9.js +2 -0
  159. package/dist/client/assets/{ShikiPane-CRtTYkMj.js → ShikiPane-CDiIT_qn.js} +1 -1
  160. package/dist/client/assets/{SlidePanel-_CHAQdOa.js → SlidePanel-D5oPQocF.js} +1 -1
  161. package/dist/client/assets/{SpaceSwitcher-BLgSCf_T.js → SpaceSwitcher-WccPJ0fS.js} +1 -1
  162. package/dist/client/assets/{SpriteAvatar-CpZWf54-.js → SpriteAvatar-D53GaaK3.js} +1 -1
  163. package/dist/client/assets/{SproutActionSprite-BSiTS4en.js → SproutActionSprite-BrFCmgWS.js} +1 -1
  164. package/dist/client/assets/{StatusPill-2gCP6H7A.js → StatusPill-jT--OXbn.js} +1 -1
  165. package/dist/client/assets/{TailView-CYSijNTy.js → TailView-B44cSuyl.js} +2 -2
  166. package/dist/client/assets/Terminal-D0PanmIk.js +4 -0
  167. package/dist/client/assets/TerminalEmbedScreen-Eddi4sts.js +1 -0
  168. package/dist/client/assets/{TerminalHeaderMount-Cq4OD_xN.js → TerminalHeaderMount-CYYcKxQ-.js} +1 -1
  169. package/dist/client/assets/{TextDocumentSurface-D52m7Vd8.js → TextDocumentSurface-DBslUq9k.js} +1 -1
  170. package/dist/client/assets/{TmuxPeek-CXFeweMg.js → TmuxPeek-Ctw5yYO5.js} +1 -1
  171. package/dist/client/assets/{VoiceControlWell-DF3bjcYA.js → VoiceControlWell-BkjuWjYu.js} +1 -1
  172. package/dist/client/assets/{VoicePathDiagram-CmpHWfO-.js → VoicePathDiagram-u0i6ntbx.js} +1 -1
  173. package/dist/client/assets/{VoicePermissionsPanel-Ok2nfxHw.js → VoicePermissionsPanel-9Nuw-xCr.js} +1 -1
  174. package/dist/client/assets/{VoiceTurnDetails-wAByRaNB.js → VoiceTurnDetails-kS7lfbmt.js} +1 -1
  175. package/dist/client/assets/{VoiceTurnStage-edoJalLV.js → VoiceTurnStage-DLY6aYDg.js} +1 -1
  176. package/dist/client/assets/{VoiceTurnView-D-8g5E4r.js → VoiceTurnView-CF4tIldB.js} +1 -1
  177. package/dist/client/assets/{WorkDetailScreen-zQkNVy2F.js → WorkDetailScreen-BrrkENYq.js} +2 -2
  178. package/dist/client/assets/{WorkFilesViewer-vNt01sDd.js → WorkFilesViewer-B63sKRYZ.js} +1 -1
  179. package/dist/client/assets/{WorkRunView-BDkR7Edq.js → WorkRunView-DLIzAsc3.js} +1 -1
  180. package/dist/client/assets/WorldActorTalk-CHhFTiQV.js +1 -0
  181. package/dist/client/assets/{WorldCharacter-CIIlutQq.js → WorldCharacter-CJGx2DVy.js} +1 -1
  182. package/dist/client/assets/{WorldMinimap-B6HNgcDe.js → WorldMinimap-DL12pBw3.js} +1 -1
  183. package/dist/client/assets/{WorldSky-Jm2Z6dfW.js → WorldSky-BlPNvGLo.js} +1 -1
  184. package/dist/client/assets/{activity-CIlFrfPJ.js → activity-CXkZ620t.js} +1 -1
  185. package/dist/client/assets/{addon-fit-dFpj9Kfq.js → addon-fit-G3qi01sy.js} +1 -1
  186. package/dist/client/assets/{addon-webgl-BFCGRtGh.js → addon-webgl-Bo7kSgOB.js} +1 -1
  187. package/dist/client/assets/{agent-essentials-BGGvT5G6.js → agent-essentials-DnfdGmIX.js} +1 -1
  188. package/dist/client/assets/{agent-specialization-DDc7mLCW.js → agent-specialization-DYX_DSlY.js} +1 -1
  189. package/dist/client/assets/{arc.es-C1SQHJ3k.js → arc.es-CLA3XI14.js} +1 -1
  190. package/dist/client/assets/arrow-down--OUDFWIq.js +1 -0
  191. package/dist/client/assets/{arrow-left-MVUKauwQ.js → arrow-left-DNjQHf4C.js} +1 -1
  192. package/dist/client/assets/{arrow-right-Bp-FpE5V.js → arrow-right-A_yyXwoH.js} +1 -1
  193. package/dist/client/assets/arrow-up-DFy-9ghF.js +1 -0
  194. package/dist/client/assets/{arrow-up-right-BPedAgxO.js → arrow-up-right-DUW1A1Hb.js} +1 -1
  195. package/dist/client/assets/{book-open-CV98WMSp.js → book-open-B_idZgTF.js} +1 -1
  196. package/dist/client/assets/{bot-B4zLQ4IN.js → bot-BNv_ZJzi.js} +1 -1
  197. package/dist/client/assets/{chat-api-DSJMBYoT.js → chat-api-BHGHALv2.js} +1 -1
  198. package/dist/client/assets/{chat-message-markup-91DIry6R.js → chat-message-markup-esR-YLtN.js} +1 -1
  199. package/dist/client/assets/{chat-transport-DNS5CB2I.js → chat-transport-CtxnPLMU.js} +1 -1
  200. package/dist/client/assets/{check-lrJ3a73a.js → check-BM6QtbB7.js} +1 -1
  201. package/dist/client/assets/{chevron-down-l1mrh5S9.js → chevron-down-DEDSNJNY.js} +1 -1
  202. package/dist/client/assets/{chevron-right-DrfqcerI.js → chevron-right-B02kAw12.js} +1 -1
  203. package/dist/client/assets/{chevron-up-CETZJzjV.js → chevron-up-CzveykKG.js} +1 -1
  204. package/dist/client/assets/{chunk-HRAB3GC3-DbVLgbWX.js → chunk-HRAB3GC3-DVhUsgOw.js} +1 -1
  205. package/dist/client/assets/chunk-JTPDIGGW-hdpdYwXb.js +46 -0
  206. package/dist/client/assets/chunk-T65CQEWV-G_Z0lqtn.js +1 -0
  207. package/dist/client/assets/chunk-YOZR3KYS-apgUnfXh.js +2 -0
  208. package/dist/client/assets/{clock-BV1aqPkK.js → clock-8tb9t2t9.js} +1 -1
  209. package/dist/client/assets/{code-xml-BhcNbLWU.js → code-xml-E9gBuiVs.js} +1 -1
  210. package/dist/client/assets/{coffee-D7EAOdCk.js → coffee-D0YEK6-l.js} +1 -1
  211. package/dist/client/assets/{compass-63TUaz5_.js → compass-EmGkpxIe.js} +1 -1
  212. package/dist/client/assets/content-B-rn1rka.js +1 -0
  213. package/dist/client/assets/content-BHV-ZU8_.js +1 -0
  214. package/dist/client/assets/content-BI9yWpWC.js +1 -0
  215. package/dist/client/assets/content-BLVuukzF.js +1 -0
  216. package/dist/client/assets/content-BP3cQkAj.js +1 -0
  217. package/dist/client/assets/content-BRY-UTkP.js +1 -0
  218. package/dist/client/assets/content-BXTmYOPB.js +1 -0
  219. package/dist/client/assets/content-C3DZ77HZ.js +1 -0
  220. package/dist/client/assets/content-CPchclaV.js +1 -0
  221. package/dist/client/assets/{content-nGlEZhUI.js → content-CVqPTQnr.js} +1 -1
  222. package/dist/client/assets/content-CjAERU44.js +1 -0
  223. package/dist/client/assets/content-CoYG0nWL.js +1 -0
  224. package/dist/client/assets/content-DK1KeRPw.js +1 -0
  225. package/dist/client/assets/content-iWBSSXa6.js +1 -0
  226. package/dist/client/assets/content-ryJeaQk8.js +1 -0
  227. package/dist/client/assets/content-srNyLgDt.js +1 -0
  228. package/dist/client/assets/{conversation-icons-Tqba2d56.js → conversation-icons-Dxn9N1Kx.js} +1 -1
  229. package/dist/client/assets/conversation-motion-features-BfmPlONx.js +1 -0
  230. package/dist/client/assets/{copy-xKeM5ZtU.js → copy-C1XrY27_.js} +1 -1
  231. package/dist/client/assets/{cpu-BOTa_WLr.js → cpu-DVZ_LhPn.js} +1 -1
  232. package/dist/client/assets/{createLucideIcon-zZ8Hx7er.js → createLucideIcon-CKbjXlwv.js} +1 -1
  233. package/dist/client/assets/direct-voice-DAOUU-kc.js +10 -0
  234. package/dist/client/assets/discover-BNa3BPr_.js +2 -0
  235. package/dist/client/assets/embed-entry-gK3z8Yxi.js +2 -0
  236. package/dist/client/assets/{external-link-CUObqmgX.js → external-link-Df1R34rX.js} +1 -1
  237. package/dist/client/assets/{eye-LrO-cXQt.js → eye-CD-_aphP.js} +1 -1
  238. package/dist/client/assets/{file-code-corner-CsU7jJpu.js → file-code-corner-DtMWHBN3.js} +1 -1
  239. package/dist/client/assets/{file-text-CnISiiw6.js → file-text-BOJQiS8p.js} +1 -1
  240. package/dist/client/assets/{flag-C4wl8z2-.js → flag-CeKO8NoD.js} +1 -1
  241. package/dist/client/assets/{folder-D5prSkzz.js → folder-C2emmTHq.js} +1 -1
  242. package/dist/client/assets/{gauge-D9_5iJEm.js → gauge-BR5CrhRM.js} +1 -1
  243. package/dist/client/assets/{gestures-QZub3Ot9.js → gestures-Dh8szhcU.js} +1 -1
  244. package/dist/client/assets/{git-branch-B0_fPLO7.js → git-branch-C45vy8qT.js} +1 -1
  245. package/dist/client/assets/{go-shortcuts-DicR7sUf.js → go-shortcuts--25Qg0lD.js} +1 -1
  246. package/dist/client/assets/{home-moving-signal-rpMhsOJB.js → home-moving-signal-BiiyEKEb.js} +1 -1
  247. package/dist/client/assets/home-now-card-DaCpqUZe.js +1 -0
  248. package/dist/client/assets/{home-now-card-nano-B5Dv3-pb.js → home-now-card-nano-wbxgyY4q.js} +1 -1
  249. package/dist/client/assets/hooks-JNwYSH18.js +2 -0
  250. package/dist/client/assets/{index-EsrkGBcv.js → index-BFbLvCJn.js} +2 -2
  251. package/dist/client/assets/index-BRNHY2fp.css +1 -0
  252. package/dist/client/assets/index-BrXaMEdK.js +1 -0
  253. package/dist/client/assets/index-CXzJ_hGx.js +1 -0
  254. package/dist/client/assets/{index-CHD0qcfL.js → index-V8FYEUpD.js} +1 -1
  255. package/dist/client/assets/index-mYtyYeAe.js +1 -0
  256. package/dist/client/assets/{inspector-panel-BkgUDn6G.js → inspector-panel-BgU5xUln.js} +2 -2
  257. package/dist/client/assets/{keyboard-nav-DDHegDbx.js → keyboard-nav-CEe-ApvZ.js} +1 -1
  258. package/dist/client/assets/{lane-roster-store-D-RSWjb-.js → lane-roster-store-MraynTHP.js} +1 -1
  259. package/dist/client/assets/{layers-C8PDiMul.js → layers-ClmyjwpB.js} +1 -1
  260. package/dist/client/assets/{layout-grid-Cor2frzj.js → layout-grid-DG2-JaPn.js} +1 -1
  261. package/dist/client/assets/left-B66YR0c5.js +1 -0
  262. package/dist/client/assets/left-BP5P8lzw.js +2 -0
  263. package/dist/client/assets/left-BbCKRDbW.js +1 -0
  264. package/dist/client/assets/left-CaY5FK2k.js +1 -0
  265. package/dist/client/assets/left-CemrfeSs.js +1 -0
  266. package/dist/client/assets/left-DcYA26sH.js +1 -0
  267. package/dist/client/assets/left-DdMMaqFT.js +2 -0
  268. package/dist/client/assets/left-advisor-DBml48M5.js +1 -0
  269. package/dist/client/assets/left-agents-DowYF2ag.js +1 -0
  270. package/dist/client/assets/left-default-Bifaeg_V.js +1 -0
  271. package/dist/client/assets/left-lanes-BGhjdqpD.js +1 -0
  272. package/dist/client/assets/left-mission-CvXPUovR.js +1 -0
  273. package/dist/client/assets/library-CnC8uzJt.js +1 -0
  274. package/dist/client/assets/{loader-circle-OvccU82H.js → loader-circle-CCG7hG7z.js} +1 -1
  275. package/dist/client/assets/{local-agents-BqnoxJrq.js → local-agents-BMcFlY_x.js} +1 -1
  276. package/dist/client/assets/{log-in-7SnYqW5w.js → log-in-VL9mdgeE.js} +1 -1
  277. package/dist/client/assets/{machine-children-DxcqCLmd.js → machine-children-DvCiQxwA.js} +1 -1
  278. package/dist/client/assets/{mentions-ByUvhS-v.js → mentions-s5oW4aQU.js} +1 -1
  279. package/dist/client/assets/{mesh-ops-CiZ8xSAx.js → mesh-ops-9SzD3sPw.js} +1 -1
  280. package/dist/client/assets/{mesh-view-store-DZvJC4KU.js → mesh-view-store-CVqzYz4K.js} +1 -1
  281. package/dist/client/assets/{message-circle-CxRVKNE-.js → message-circle-BB3rFCVD.js} +1 -1
  282. package/dist/client/assets/{message-markup-Zwo3t4cI.js → message-markup-D1C7GzHo.js} +1 -1
  283. package/dist/client/assets/{message-square-BxesYglW.js → message-square-BwqBIfv5.js} +1 -1
  284. package/dist/client/assets/{mission-control-store-elEEsIvb.js → mission-control-store-e8F85JhP.js} +1 -1
  285. package/dist/client/assets/{monitor-DTTYEb73.js → monitor-M0VSmHQ-.js} +1 -1
  286. package/dist/client/assets/{nav-destinations-uorRqFxf.js → nav-destinations-B3R5zxFX.js} +1 -1
  287. package/dist/client/assets/{observe-BJqERJVj.js → observe-M3rLosT5.js} +1 -1
  288. package/dist/client/assets/{page-status-BswZLqvA.js → page-status-BIuh3C5p.js} +1 -1
  289. package/dist/client/assets/{panel-right-Bv7sP_fc.js → panel-right-WKLdPm0F.js} +1 -1
  290. package/dist/client/assets/{paperclip-BjcuP_Hx.js → paperclip-DLf_ABSv.js} +1 -1
  291. package/dist/client/assets/{pause-C2XTlkjs.js → pause-7mmEEvVx.js} +1 -1
  292. package/dist/client/assets/{persistent-state-KRk_yb0q.js → persistent-state-3mbBFRDO.js} +1 -1
  293. package/dist/client/assets/{pin-C2mFOV1l.js → pin-q_0gAA6i.js} +1 -1
  294. package/dist/client/assets/{play-FT6K3It1.js → play-N5-hnPCV.js} +1 -1
  295. package/dist/client/assets/{plus-DFDDeGKu.js → plus-B0hdY0fF.js} +1 -1
  296. package/dist/client/assets/profile-B7ZGToTo.js +1 -0
  297. package/dist/client/assets/{projects-inbox-C0FUCv_p.js → projects-inbox-CMFBjQt0.js} +1 -1
  298. package/dist/client/assets/{proxy-AJsmwA6h.js → proxy-k0ILOVkK.js} +1 -1
  299. package/dist/client/assets/{radio-DRoOZsws.js → radio-Bjqmv997.js} +1 -1
  300. package/dist/client/assets/{refresh-cw-BmVr7sCD.js → refresh-cw-BcqctLqo.js} +1 -1
  301. package/dist/client/assets/resolve-panes-wzGu9d8o.js +1 -0
  302. package/dist/client/assets/resolve-sidebar-context-C8SOo5oZ.js +1 -0
  303. package/dist/client/assets/right-9rMRZN_r.js +1 -0
  304. package/dist/client/assets/right-BHZq648O.js +1 -0
  305. package/dist/client/assets/{right-DWPVB-nK.js → right-BNJzCaH9.js} +1 -1
  306. package/dist/client/assets/right-CAd7lTvY.js +1 -0
  307. package/dist/client/assets/right-Cc57bCTW.js +1 -0
  308. package/dist/client/assets/right-DY49Prjj.js +1 -0
  309. package/dist/client/assets/right-DfU47xKY.js +1 -0
  310. package/dist/client/assets/right-Dr7vxdZl.js +1 -0
  311. package/dist/client/assets/right-DsE4aR3A.js +1 -0
  312. package/dist/client/assets/right-zlkRjnkv.js +1 -0
  313. package/dist/client/assets/{rocket-CGl4RTV7.js → rocket-BahsdUe6.js} +1 -1
  314. package/dist/client/assets/router-CJIx83Ia.js +1 -0
  315. package/dist/client/assets/runtime-picker-IRcTkMZ5.js +1 -0
  316. package/dist/client/assets/{scope-views-RUWwCVAr.js → scope-views-KDtZoLUC.js} +1 -1
  317. package/dist/client/assets/{scout-voice-CZx60X6E.js → scout-voice-Cdh6pCsb.js} +1 -1
  318. package/dist/client/assets/{scoutbot-markdown-BKEBSbG0.js → scoutbot-markdown-7PRQHaAc.js} +1 -1
  319. package/dist/client/assets/{scroll-text-DNjxhyO2.js → scroll-text-CA0QxBHu.js} +1 -1
  320. package/dist/client/assets/{search-DT42oyRW.js → search-Bv2IONmc.js} +1 -1
  321. package/dist/client/assets/secondaryNavConfig-Bmb-oRvD.js +1 -0
  322. package/dist/client/assets/{selection-bridge-x3wFUjxj.js → selection-bridge-CthAuPRw.js} +1 -1
  323. package/dist/client/assets/{send-horizontal-CH0-fbZE.js → send-horizontal-_Tf_It04.js} +1 -1
  324. package/dist/client/assets/{send-to-agent-session-DoKCDBJ4.js → send-to-agent-session-CWDHHgFB.js} +1 -1
  325. package/dist/client/assets/{server-QfsgMLk1.js → server-U_l8A83n.js} +1 -1
  326. package/dist/client/assets/{session-catalog-CvSdPHPe.js → session-catalog-Dx4tl3sx.js} +1 -1
  327. package/dist/client/assets/{session-recap-queue-41l2XVkI.js → session-recap-queue-GeicPLsQ.js} +1 -1
  328. package/dist/client/assets/{session-table-L-pns6Zl.js → session-table-BI62J4NP.js} +1 -1
  329. package/dist/client/assets/{sessions-view-Dc-QAa7O.js → sessions-view-lGMwwZY7.js} +1 -1
  330. package/dist/client/assets/{settings-BVh7kldq.js → settings-bo9X410k.js} +1 -1
  331. package/dist/client/assets/{sliders-horizontal-782VC_yy.js → sliders-horizontal-CPSx6wd2.js} +1 -1
  332. package/dist/client/assets/{sparkles-BjHq_DNK.js → sparkles-Br-bA2aZ.js} +1 -1
  333. package/dist/client/assets/{sse-BCPRocpq.js → sse-BVxO0zNp.js} +1 -1
  334. package/dist/client/assets/{tail-events-d0yAYxR0.js → tail-events-C6NWFB1N.js} +1 -1
  335. package/dist/client/assets/{terminal-hQKQygcf.js → terminal-DMBAZjPP.js} +1 -1
  336. package/dist/client/assets/{terminal-relay-Bxs1hp-j.js → terminal-relay-CpGHpDa8.js} +1 -1
  337. package/dist/client/assets/{terminal-takeover-Ay5C2c-M.js → terminal-takeover-CXwdoZ5j.js} +1 -1
  338. package/dist/client/assets/{triangle-alert-CHoRGdVO.js → triangle-alert-BZikHKuT.js} +1 -1
  339. package/dist/client/assets/use-beside-DopIbJwf.js +1 -0
  340. package/dist/client/assets/{use-conversation-list-CY4JciOV.js → use-conversation-list-CGtcpdPd.js} +1 -1
  341. package/dist/client/assets/{use-fleet-active-asks-CymmXWH4.js → use-fleet-active-asks-DAHOPYPV.js} +1 -1
  342. package/dist/client/assets/{use-mesh-node-state-BvaqtODo.js → use-mesh-node-state-BlWIPTc4.js} +1 -1
  343. package/dist/client/assets/{use-mesh-ops-items-BSYaqH_0.js → use-mesh-ops-items-pKWBro7o.js} +1 -1
  344. package/dist/client/assets/{use-reduced-motion-3gMYZNIp.js → use-reduced-motion-DkdIQBwh.js} +1 -1
  345. package/dist/client/assets/use-scout-dev-flags-CduUFb7l.js +1 -0
  346. package/dist/client/assets/{useAgentHoverCard-BANmpjMh.js → useAgentHoverCard-DNlXPYQf.js} +1 -1
  347. package/dist/client/assets/useContentSecondaryNav-LJGNYG3U.js +1 -0
  348. package/dist/client/assets/{useEmbedHeadline-D6pJRxUg.js → useEmbedHeadline-BeeBDb7E.js} +1 -1
  349. package/dist/client/assets/{usePierreRuntime-BAQdiN0L.js → usePierreRuntime-DUXZ-DTK.js} +1 -1
  350. package/dist/client/assets/useSidebarCollapse-DoMvU_2R.js +1 -0
  351. package/dist/client/assets/{users-BUjx36gx.js → users-BQPEIUfd.js} +1 -1
  352. package/dist/client/assets/{wrench-DR0i5BU7.js → wrench-C-wjicn5.js} +1 -1
  353. package/dist/client/assets/{x-DAehov0E.js → x-BcfhXYiF.js} +1 -1
  354. package/dist/client/assets/{xterm-BXQiLVnI.js → xterm-qXD45dc0.js} +1 -1
  355. package/dist/client/assets/{zap-CEjZNZbI.js → zap-BqL8ttGz.js} +1 -1
  356. package/dist/client/index.html +2 -2
  357. package/dist/main.mjs +1 -1
  358. package/package.json +26 -4
  359. package/server.json +2 -2
  360. package/dist/client/assets/ActivityScreen-CZmGwQ2U.js +0 -1
  361. package/dist/client/assets/AgentAdventures-BAgxdOF8.js +0 -1
  362. package/dist/client/assets/AgentConfigurationScreen-1L0IQm2w.js +0 -1
  363. package/dist/client/assets/AgentDefinitionsWorkspace-DguGs7jZ.js +0 -1
  364. package/dist/client/assets/AgentFloorView-DH4jiDgw.js +0 -1
  365. package/dist/client/assets/AgentInfoScreen-DYtmKkeE.js +0 -1
  366. package/dist/client/assets/AgentLanesEmbedScreen-BlSof_6S.js +0 -1
  367. package/dist/client/assets/AgentMasterScreen-EJhmuKgl.js +0 -1
  368. package/dist/client/assets/AgentsConsole-RXGqRvcb.js +0 -1
  369. package/dist/client/assets/AgentsScreen-ChwMBs11.js +0 -1
  370. package/dist/client/assets/AgentsSubnav-DwNX4yy0.js +0 -1
  371. package/dist/client/assets/BriefingDetailScreen-DrlC3qkm.js +0 -1
  372. package/dist/client/assets/BrokerScreen-DwOF6bMA.js +0 -8
  373. package/dist/client/assets/Canvas-X9pVSkw3.js +0 -1
  374. package/dist/client/assets/ChannelComposer-DoK7IDGa.js +0 -1
  375. package/dist/client/assets/ChatRightPanel-C1h_aIkn.js +0 -1
  376. package/dist/client/assets/ChatSpaceSurface-BXyLYKHn.js +0 -1
  377. package/dist/client/assets/ConversationComposer-CUQyArlk.js +0 -1
  378. package/dist/client/assets/ConversationFeedRows-DWiOfT-y.js +0 -1
  379. package/dist/client/assets/ConversationHeader-C-ZWscKj.js +0 -1
  380. package/dist/client/assets/ConversationScreen-CUfsQ4MR.js +0 -2
  381. package/dist/client/assets/ConversationStatus--IPm2nGh.js +0 -1
  382. package/dist/client/assets/FlightObserveScreen-DZ2mrw91.js +0 -1
  383. package/dist/client/assets/FloorResourcesSheet-C-kQ6Ren.js +0 -1
  384. package/dist/client/assets/HarnessesScreen-DX3NLcDG.js +0 -1
  385. package/dist/client/assets/KnowledgeSearchScreen-Dd6jrQ0A.js +0 -1
  386. package/dist/client/assets/LaneTraceDetailSheet-DYrd0BIf.js +0 -1
  387. package/dist/client/assets/MeshScreen-8nAzQVbm.js +0 -1
  388. package/dist/client/assets/MessagesScreen-C3WB4T21.js +0 -1
  389. package/dist/client/assets/MissionControlView-B9cNPXvl.js +0 -1
  390. package/dist/client/assets/MissionLeftAgentRow-vycMV77n.js +0 -1
  391. package/dist/client/assets/NativeAreaScreen-B1RLa85C.js +0 -1
  392. package/dist/client/assets/NativeAreaScreen-CV0OhGra.js +0 -1
  393. package/dist/client/assets/NativeAreaScreen-CzuZt6o1.js +0 -1
  394. package/dist/client/assets/OpenScoutAppShell-37PDFfA4.js +0 -31
  395. package/dist/client/assets/OpsAgentsView-DajlX8LO.js +0 -1
  396. package/dist/client/assets/OpsScreen-jVcaBKGi.js +0 -1
  397. package/dist/client/assets/OpsSubnav-BOOYShHE.js +0 -1
  398. package/dist/client/assets/ProjectAgentProfile-D_wlW4sQ.js +0 -1
  399. package/dist/client/assets/ProjectAgentProfileHero-Dbebtug1.js +0 -1
  400. package/dist/client/assets/ProjectsInbox-Cgu7B4--.js +0 -2
  401. package/dist/client/assets/ProjectsRail-CDWocin_.js +0 -1
  402. package/dist/client/assets/ProjectsScreen-B_CJycqW.js +0 -1
  403. package/dist/client/assets/ProjectsThreadAside-1MMl_qUD.js +0 -1
  404. package/dist/client/assets/RawSessionsTable-DzT90hWu.js +0 -1
  405. package/dist/client/assets/RealtimeVoiceScreen-B6ylX3WQ.js +0 -16
  406. package/dist/client/assets/RepoDiffViewerLazy-XGVC3WXv.js +0 -2
  407. package/dist/client/assets/SessionRefScreen-DqLSUlCE.js +0 -1
  408. package/dist/client/assets/SessionsScreen-BLIRkohT.js +0 -1
  409. package/dist/client/assets/SettingsScreen-BtGzE2-O.js +0 -1
  410. package/dist/client/assets/SharedWorkFloor-D9mf9KSg.js +0 -2
  411. package/dist/client/assets/Terminal-Bi97yb5s.js +0 -4
  412. package/dist/client/assets/TerminalEmbedScreen-Bqop67Bq.js +0 -1
  413. package/dist/client/assets/TerminalRelay-DrikpUSJ.js +0 -46
  414. package/dist/client/assets/WorldActorTalk-BvSg_b1y.js +0 -1
  415. package/dist/client/assets/content-B1lgE8qr.js +0 -1
  416. package/dist/client/assets/content-B5l11YyQ.js +0 -1
  417. package/dist/client/assets/content-BNZOZEpX.js +0 -1
  418. package/dist/client/assets/content-BRIxP155.js +0 -1
  419. package/dist/client/assets/content-BWd8gt8L.js +0 -1
  420. package/dist/client/assets/content-BfwS2jAK.js +0 -1
  421. package/dist/client/assets/content-C4p43_eT.js +0 -1
  422. package/dist/client/assets/content-CdYfaoDV.js +0 -1
  423. package/dist/client/assets/content-CzldLxw0.js +0 -1
  424. package/dist/client/assets/content-D-olnc4U.js +0 -1
  425. package/dist/client/assets/content-DTioimq4.js +0 -1
  426. package/dist/client/assets/content-LOebm3_d.js +0 -1
  427. package/dist/client/assets/content-oyzDM-LK.js +0 -1
  428. package/dist/client/assets/content-x1PHxED7.js +0 -1
  429. package/dist/client/assets/content-zX3ZY3T9.js +0 -1
  430. package/dist/client/assets/conversation-motion-features-C5zjuNwE.js +0 -1
  431. package/dist/client/assets/direct-voice-BbLPuJ04.js +0 -2
  432. package/dist/client/assets/discover-DJFxyV1k.js +0 -2
  433. package/dist/client/assets/embed-entry-Lyvu0Kfc.js +0 -2
  434. package/dist/client/assets/home-now-card-ByE6Umcx.js +0 -1
  435. package/dist/client/assets/hooks-_eCZZPsR.js +0 -2
  436. package/dist/client/assets/index-724SdE6r.js +0 -1
  437. package/dist/client/assets/index-CN4rBB_s.css +0 -1
  438. package/dist/client/assets/index-D1d98iYf.js +0 -1
  439. package/dist/client/assets/index-gGHPA-By.js +0 -1
  440. package/dist/client/assets/left-Bn5X7x2o.js +0 -2
  441. package/dist/client/assets/left-BqS0fYX1.js +0 -1
  442. package/dist/client/assets/left-CTCeeeD3.js +0 -1
  443. package/dist/client/assets/left-DhtVPVux.js +0 -1
  444. package/dist/client/assets/left-K39b-Wvx.js +0 -2
  445. package/dist/client/assets/left-KGmueNPt.js +0 -1
  446. package/dist/client/assets/left-P_GOYB-s.js +0 -1
  447. package/dist/client/assets/left-advisor-B0N47De2.js +0 -1
  448. package/dist/client/assets/left-agents-CsSNc51Y.js +0 -1
  449. package/dist/client/assets/left-default-BlO5LP2T.js +0 -1
  450. package/dist/client/assets/left-lanes-C4PhaJE6.js +0 -1
  451. package/dist/client/assets/left-mission-BjTE5vPa.js +0 -1
  452. package/dist/client/assets/library-CkWNPHRp.js +0 -1
  453. package/dist/client/assets/profile-DTmzN16I.js +0 -1
  454. package/dist/client/assets/provider-Dojd8quC.js +0 -1
  455. package/dist/client/assets/resolve-panes-pbY1fCWi.js +0 -1
  456. package/dist/client/assets/resolve-sidebar-context-YWkZTq1t.js +0 -1
  457. package/dist/client/assets/right-49kO-6nD.js +0 -1
  458. package/dist/client/assets/right-APtItA8A.js +0 -1
  459. package/dist/client/assets/right-BJwhPqtn.js +0 -1
  460. package/dist/client/assets/right-BPqrf4ek.js +0 -1
  461. package/dist/client/assets/right-D7djOy6K.js +0 -1
  462. package/dist/client/assets/right-DKOUCRob.js +0 -1
  463. package/dist/client/assets/right-DMNrVzg7.js +0 -1
  464. package/dist/client/assets/right-DppeMCy4.js +0 -1
  465. package/dist/client/assets/right-GAL5Mw1v.js +0 -1
  466. package/dist/client/assets/router-DCtl8wqb.js +0 -1
  467. package/dist/client/assets/runtime-picker-DXu2bOTh.js +0 -1
  468. package/dist/client/assets/secondaryNavConfig-CS1svh6n.js +0 -1
  469. package/dist/client/assets/use-beside-DoRC1nt0.js +0 -1
  470. package/dist/client/assets/use-scout-dev-flags-DS_pYYQd.js +0 -1
  471. package/dist/client/assets/useContentSecondaryNav-C6OBu-3_.js +0 -1
  472. package/dist/client/assets/usePersistentState-B8lP7TRb.js +0 -1
  473. package/dist/client/assets/useSidebarCollapse-OL_8J5cL.js +0 -1
@@ -0,0 +1 @@
1
+ import{r as d,j as a,C as Z,p as ee}from"./index-BFbLvCJn.js";/* empty css *//* empty css */import{c as ae,b as se}from"./agent-state-DDhnFEEP.js";import{m as te,c as le}from"./conversation-model-FxDeWlle.js";import{s as oe}from"./colors-CFlbwC25.js";import{a as U}from"./api-DSqpVKC7.js";import{u as re}from"./sse-BVxO0zNp.js";import{b as ne,t as ie}from"./time-Dhsh_2EG.js";import{f as h}from"./runtime-picker-IRcTkMZ5.js";import{u as ce}from"./Provider-BEXAZWd9.js";import{o as ue}from"./openContent-C6XO6kr5.js";import{B as L}from"./BackToPicker-BPU7kbXq.js";import{A as de}from"./AgentLiveActions-CkRGkv13.js";import{c as pe}from"./AgentAvatar-Dn8TUv5W.js";import{C as me}from"./CrewStage-IPpS3Oja.js";import{S as he}from"./SessionHopMenu-DX6PJPNk.js";import{O as fe}from"./ObservedTopologyPanel-Ci7emnnj.js";import{a as ve}from"./NewChatComposer-D-VB5vdt.js";import"./conversations-DoAAO6kA.js";import"./index-BWHgHrtv.js";import"./scout-voice-Cdh6pCsb.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CCG7hG7z.js";import"./createLucideIcon-CKbjXlwv.js";import"./router-CJIx83Ia.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./theme-vars-DNK0nn3k.js";import"./machine-scope-DJt9RZ2w.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-Bk3nyrkj.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-mxzPxQQW.js";import"./TextDocumentSurface-DBslUq9k.js";import"./file-text-BOJQiS8p.js";import"./x-BcfhXYiF.js";import"./index-V8FYEUpD.js";import"./chevron-right-B02kAw12.js";import"./folder-C2emmTHq.js";import"./chevron-up-CzveykKG.js";import"./code-xml-E9gBuiVs.js";import"./arrow-left-DNjQHf4C.js";import"./arrow-right-A_yyXwoH.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./keyboard-nav-CEe-ApvZ.js";import"./media-blobs-Bi8pxr1u.js";import"./chunk-HRAB3GC3-DVhUsgOw.js";import"./terminal-takeover-CXwdoZ5j.js";import"./eye-CD-_aphP.js";import"./terminal-DMBAZjPP.js";import"./SpriteAvatar-D53GaaK3.js";import"./CrewAvatar-a_C_F9r_.js";import"./HarnessMark-CP-PWk2W.js";import"./external-link-Df1R34rX.js";import"./index-CXzJ_hGx.js";import"./NewChatOrigin-BYsEu9dZ.js";import"./chevron-down-DEDSNJNY.js";import"./search-Bv2IONmc.js";function S({values:s}){return a.jsx("span",{className:"s-agent-token-list",children:s.map(t=>a.jsx("span",{className:"s-agent-token",children:t},t))})}function o({value:s}){return a.jsx("span",{className:"s-agent-code-value",children:s})}function A({label:s,value:t}){return t?.trim()?a.jsxs("span",{className:"s-agent-profile-chip",children:[a.jsx("span",{className:"s-agent-profile-chip-label",children:s}),a.jsx("span",{className:"s-agent-profile-chip-value",children:t})]}):null}function E(s){return(s??"").toLowerCase().replace(/[^a-z0-9]+/g,"")}function ge(s){return s.trim().replace(/^@+/,"").replace(/^(project|agent|session)[-_.:\s]+/iu,"").split(/[-_\s·]+/u).filter(Boolean).map(t=>t.slice(0,1).toUpperCase()+t.slice(1)).join(" ")}function be(s,t,i,c){let r=s.trim().replace(/^@+/,"");const l=[t,i,c,c?h(c):null].filter(p=>!!p?.trim());for(const p of l){const v=p.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");r=r.replace(new RegExp(`^${v}[-_.:\\s·]+`,"iu"),"")}return r}function xe(s,t,i,c){const r=t?.participants?.find(m=>m.agentId===s.id||m.actorId===s.id),l=E(s.harness),p=E(i),v=[r?.scopedAlias,t?.alias,s.handle,r?.displayName,t?.agentName,s.name];for(const m of v){if(!m?.trim())continue;const g=be(m,i,c,s.harness),f=ge(g),b=E(f);if(!(!b||b===p||b===l))return f}return null}function je(s){const t=s?.trim();return t?t.toLowerCase()==="a2a"?"A2A":h(t)??t:null}function Ne({name:s,url:t}){return t?a.jsx("a",{href:t,target:"_blank",rel:"noreferrer",children:s}):a.jsx(a.Fragment,{children:s})}function N({title:s,subtitle:t,items:i,variant:c}){return i.length===0?null:a.jsxs("section",{className:`s-agent-profile-card${c?` s-agent-profile-card-${c}`:""}`,children:[a.jsx("div",{className:"s-agent-profile-card-header",children:a.jsxs("div",{children:[a.jsx("div",{className:"s-agent-profile-card-title",children:s}),t&&a.jsx("div",{className:"s-agent-profile-card-subtitle",children:t})]})}),a.jsx("div",{className:"s-agent-meta-card-body",children:i.map(r=>a.jsxs("div",{className:"s-agent-meta-row",children:[a.jsx("span",{className:"s-agent-meta-label",children:r.label}),a.jsx("span",{className:"s-agent-meta-value",children:r.value})]},r.label))})]})}function ye({slug:s,hue:t}){const[i,c]=d.useState(!1);return d.useEffect(()=>{if(!i)return;const r=l=>{l.key==="Escape"&&c(!1)};return window.addEventListener("keydown",r),()=>window.removeEventListener("keydown",r)},[i]),a.jsx("div",{className:"s-agent-hero-stage-box","data-open":i?"true":"false",children:a.jsx(me,{className:"s-agent-hero-stage",slug:s,open:i,onToggle:()=>c(r=>!r),coin:96,figure:224,radius:14,floor:!0,hue:t})})}function Pa({conversationId:s,navigate:t}){const i=ce(),{agents:c,route:r}=i,[l,p]=d.useState(null),[v,m]=d.useState(!1),[g,f]=d.useState(null),[b,z]=d.useState(null),[y,B]=d.useState(null),I=d.useCallback(async()=>{B(null);try{const n=await U(`/api/session/${encodeURIComponent(s)}`).catch(()=>null);p(n)}catch(n){B(n instanceof Error?n.message:String(n)),p(null)}finally{m(!0)}},[s]);d.useEffect(()=>{m(!1),I()},[I]),re(()=>{I()});const u=l?.agentId??null;d.useEffect(()=>{if(!u||c.some(T=>T.id===u)){f(null);return}let n=!1;return U(`/api/agents/${encodeURIComponent(u)}`).then(T=>{n||f(T)}).catch(()=>{n||f(null)}).finally(()=>{n||z(u)}),()=>{n=!0}},[c,u]);const e=d.useMemo(()=>u?c.find(n=>n.id===u)??(g?.id===u?g:null):null,[g,c,u]);if(!e)return!v||u!==null&&b!==u?a.jsxs("div",{children:[a.jsx(L,{slot:"agent-info",fallback:{view:"conversation",conversationId:s},navigate:t}),a.jsx("div",{className:"s-empty",children:a.jsx("p",{children:"Loading…"})})]}):a.jsxs("div",{children:[a.jsx(L,{slot:"agent-info",fallback:{view:"conversation",conversationId:s},navigate:t}),y&&a.jsx("p",{className:"s-error",children:y}),a.jsx("div",{className:"s-empty",children:a.jsx("p",{children:"Agent not found"})})]});const _=te(e),C=e.handle?`@${e.handle.replace(/^@+/,"")}`:null,P=e.selector??e.defaultSelector??C,D=ae(e.state),H=e.authorityNodeName?`${e.authorityNodeName} (${e.authorityNodeId??"unknown"})`:e.authorityNodeId,F=e.homeNodeName?`${e.homeNodeName} (${e.homeNodeId??"unknown"})`:e.homeNodeId,$=e.skills??[],x=je(e.protocol),w=!!(e.providerName||x||$.length>0),M=ve(e),j=M.title,{castSlug:R}=pe(i,{agent:{id:e.id,name:e.name}}),W=i.appearanceDetails?.avatarStyle!=="sprite"&&R&&Z[R]?R:null,k=xe(e,l,j,M.slug),Q=k?`${j} · ${k}`:j,O=l?.participants?.find(n=>n.agentId===e.id||n.actorId===e.id),q=e.model&&e.harness&&e.model.startsWith(`${e.harness}-`)?e.model.slice(e.harness.length+1):e.model,K=[h(e.harness??"")??e.harness,q].filter(n=>!!n).join(" · "),V=[{label:"Project",value:j},{label:"Alias",value:k??"Default project participant"},...P?[{label:"Primary selector",value:a.jsx(o,{value:P})}]:[],...O?.scopedAlias?[{label:"Scoped alias",value:a.jsx(o,{value:O.scopedAlias})}]:[],...C?[{label:"Handle",value:a.jsx(o,{value:C})}]:[],...e.defaultSelector&&e.defaultSelector!==e.selector?[{label:"Default selector",value:a.jsx(o,{value:e.defaultSelector})}]:[],{label:"Definition",value:a.jsx(o,{value:e.definitionId})}],G=[{label:"Routable agent ID",value:a.jsx(o,{value:e.id})},...e.providerName?[{label:"Provider",value:a.jsx(Ne,{name:e.providerName,url:e.providerUrl})}]:[],...x?[{label:"Protocol",value:x}]:[],...$.length>0?[{label:"Skills",value:a.jsx(S,{values:$})}]:[],...w?[]:[{label:"Class",value:h(e.agentClass)??"—"}],...!w&&e.role?[{label:"Role",value:h(e.role)??e.role}]:[],...e.authorityProfile?[{label:"Authority profile",value:a.jsx(o,{value:e.authorityProfile.roleId})}]:[],...e.workspaceQualifier?[{label:"Workspace qualifier",value:a.jsx(o,{value:e.workspaceQualifier})}]:[],...e.nodeQualifier?[{label:"Node qualifier",value:a.jsx(o,{value:e.nodeQualifier})}]:[],...e.staleLocalRegistration?[{label:"Registration",value:e.replacedByAgentId?`Superseded by ${e.replacedByAgentId}`:"Historical registration"}]:[],...e.retiredFromFleet?[{label:"Fleet state",value:"Retired"}]:[]],J=[...e.projectRoot?[{label:"Project path",value:a.jsx(o,{value:e.projectRoot})}]:[],...e.cwd?[{label:"Working dir",value:a.jsx(o,{value:e.cwd})}]:[],...e.branch?[{label:"Branch",value:e.branch}]:[],...H?[{label:"Authority node",value:a.jsx(o,{value:H})}]:[],...F?[{label:"Home node",value:a.jsx(o,{value:F})}]:[],...e.ownerId?[{label:"Owner",value:e.ownerName?`${e.ownerName} (${e.ownerId})`:e.ownerId}]:[],...e.conversationId?[{label:"Direct conversation",value:a.jsx(o,{value:e.conversationId})}]:[]],X=[...!w&&e.harness?[{label:"Harness",value:e.harness}]:[],...e.model?[{label:"Model",value:e.model}]:[],...!w&&e.transport?[{label:"Transport",value:h(e.transport)??e.transport}]:[],...e.wakePolicy?[{label:"Wake policy",value:h(e.wakePolicy)??e.wakePolicy}]:[],...e.harnessSessionId?[{label:x?`${x} session`:"Harness session",value:a.jsx(o,{value:e.harnessSessionId})}]:[],...e.harnessLogPath?[{label:"Harness log",value:a.jsx(o,{value:e.harnessLogPath})}]:[],...e.capabilities.length>0?[{label:"Capabilities",value:a.jsx(S,{values:e.capabilities})}]:[],...e.authorityProfile?.readTools.length?[{label:"Broker reads",value:a.jsx(S,{values:e.authorityProfile.readTools})}]:[],...e.authorityProfile?.writeTools.length?[{label:"Broker writes",value:a.jsx(S,{values:e.authorityProfile.writeTools})}]:[],...e.authorityProfile?[{label:"Machine access",value:`shell ${e.authorityProfile.shell?"allowed":"blocked"} · code writes ${e.authorityProfile.codebaseWrites?"allowed":"blocked"}`}]:[],...e.runtimePolicy?.sandbox?[{label:"Sandbox",value:e.runtimePolicy.sandbox}]:[]],Y=[{label:"Conversation ID",value:a.jsx(o,{value:s})},...l?.alias?[{label:"Conversation alias",value:a.jsx(o,{value:l.alias})}]:[],...l?.naturalKey?[{label:"Natural key",value:a.jsx(o,{value:l.naturalKey})}]:[],...l?.workspaceRoot?[{label:"Workspace",value:a.jsx(o,{value:l.workspaceRoot})}]:[],...l?.currentBranch?[{label:"Session branch",value:l.currentBranch}]:[],...l?.messageCount!=null?[{label:"Messages",value:String(l.messageCount)}]:[],...l?.lastMessageAt?[{label:"Last message",value:ne(l.lastMessageAt)}]:[]];return a.jsxs("div",{className:"s-agent-profile-page",children:[a.jsxs("div",{className:"s-agent-profile-page-topbar",children:[a.jsx(L,{slot:"agent-info",fallback:{view:"conversation",conversationId:s},navigate:t}),a.jsx("button",{type:"button",className:"s-btn",onClick:()=>t({view:"agents-v2",agentId:e.id}),children:"Open in Agents"})]}),y&&a.jsx("p",{className:"s-error",children:y}),a.jsxs("section",{className:"s-agent-profile-hero",children:[a.jsx("div",{className:"s-agent-profile-hero-main",children:a.jsxs("div",{className:"s-agent-profile-hero-title-row",children:[W?a.jsx(ye,{slug:W,hue:ee(e.project??"openscout")}):a.jsx("div",{className:"s-avatar s-agent-profile-hero-avatar",children:e.name[0].toUpperCase()}),a.jsxs("div",{className:"s-agent-profile-hero-copy",children:[a.jsxs("div",{className:"s-agent-casefile-title-meta",children:[a.jsx("span",{className:"s-agent-casefile-record",children:P??_??le(e.id)??e.id}),D&&a.jsxs("span",{className:`s-agent-state-chip s-agent-state-chip-${se(e.state)}`,children:[a.jsx("span",{className:"s-dot",style:{background:oe(e.state)}}),D]}),e.staleLocalRegistration&&a.jsx("span",{className:"s-agent-state-chip s-agent-state-chip-offline",children:"Superseded registration"})]}),a.jsx("h1",{className:"s-agent-profile-hero-title",children:Q}),a.jsxs("div",{className:"s-agent-profile-hero-tags",children:[a.jsx(A,{label:"Project",value:j}),a.jsx(A,{label:"Alias",value:k??"Default"}),a.jsx(A,{label:"Runtime",value:K||null}),a.jsx(A,{label:"Host",value:e.homeNodeName?.replace(/\.local$/i,"")??null})]}),a.jsxs("p",{className:"s-agent-profile-hero-context",children:[l?.title?`Conversation: ${l.title}.`:"Attached to this conversation.",e.updatedAt?` Updated ${ie(e.updatedAt)}.`:""]})]})]})}),a.jsxs("div",{className:"s-agent-profile-hero-actions",children:[a.jsx(de,{agent:e,navigate:t,returnTo:r}),a.jsx(he,{className:"s-btn",label:"Terminal",hints:{agentId:e.id,sessionRefs:[e.harnessSessionId,l?.harnessSessionId,l?.id]},navigate:t,returnTo:r}),a.jsx("button",{type:"button",className:"s-btn s-btn-primary",onClick:()=>ue(t,{view:"conversation",conversationId:s},{returnTo:r}),children:"Open conversation"})]})]}),a.jsxs("div",{className:"s-agent-profile-grid",children:[a.jsx(N,{title:"Stable alias",subtitle:"Repeatable project identity used to route future work.",items:V,variant:"primary"}),a.jsx(N,{title:"Current conversation",subtitle:"Unique DM/context attached to this page.",items:Y}),a.jsx(N,{title:"Runtime instance",subtitle:"Concrete harness state for the current attachment.",items:X}),a.jsx(N,{title:"Location",subtitle:"Where this alias resolves right now.",items:J}),a.jsx(N,{title:"Diagnostics",subtitle:"Broker and provider fields for debugging.",items:G,variant:"secondary"})]}),a.jsx(fe,{title:"Observed harness families",size:"compact",maxAgents:8,maxTasks:4,showEmpty:!0})]})}export{Pa as AgentInfoScreen};
@@ -1 +1 @@
1
- import{j as a,r as u}from"./index-EsrkGBcv.js";/* empty css */import{AgentLaneCockpitPane as w,cockpitHeightTier as y}from"./AgentLaneSummaryResize-dpp7YvrX.js";import{c as $}from"./clipboard-e3fSpeo7.js";import{H as L}from"./HarnessMark-C4naWc16.js";function F(){return a.jsx("svg",{viewBox:"0 0 12 12",width:"11",height:"11","aria-hidden":"true",className:"s-lane-card-gmark",children:a.jsx("path",{d:"M2 4.2c0-.4.3-.7.7-.7h2.1l1 1h3.5c.4 0 .7.3.7.7V9c0 .4-.3.7-.7.7H2.7c-.4 0-.7-.3-.7-.7V4.2Z",fill:"none",stroke:"currentColor",strokeWidth:"1",strokeLinejoin:"round"})})}function T(){return a.jsxs("svg",{viewBox:"0 0 12 12",width:"11",height:"11","aria-hidden":"true",className:"s-lane-card-gmark",children:[a.jsx("circle",{cx:"6",cy:"3",r:"1.5",fill:"none",stroke:"currentColor",strokeWidth:"1"}),a.jsx("circle",{cx:"6",cy:"9",r:"1.5",fill:"none",stroke:"currentColor",strokeWidth:"1"}),a.jsx("path",{d:"M6 4.5v3",stroke:"currentColor",strokeWidth:"1"})]})}function W({dir:s}){return a.jsx("span",{className:"s-lane-card-dir","aria-hidden":"true",children:s==="from"?"←":"→"})}function M(){return a.jsxs(a.Fragment,{children:[a.jsx("i",{className:"s-lane-card-gl s-lane-card-gl-t","aria-hidden":"true"}),a.jsx("i",{className:"s-lane-card-gl s-lane-card-gl-b","aria-hidden":"true"}),a.jsx("i",{className:"s-lane-card-gl s-lane-card-gl-l","aria-hidden":"true"}),a.jsx("i",{className:"s-lane-card-gl s-lane-card-gl-r","aria-hidden":"true"})]})}function d({value:s,label:l,side:n}){const[r,e]=u.useState(!1),c=u.useRef(null);u.useEffect(()=>()=>{c.current&&clearTimeout(c.current)},[]);const i=u.useCallback(t=>{t.preventDefault(),t.stopPropagation(),$(s).then(o=>{o&&(e(!0),c.current&&clearTimeout(c.current),c.current=setTimeout(()=>e(!1),1100))})},[s]);return a.jsx("button",{type:"button",className:`s-lane-card-copydot s-lane-card-copydot--${n}${r?" s-lane-card-copydot--done":""}`,onClick:i,title:r?"Copied":`Copy ${l}`,"aria-label":r?`Copied ${l}`:`Copy ${l}`,children:r?a.jsx("svg",{viewBox:"0 0 12 12",width:"11",height:"11","aria-hidden":"true",children:a.jsx("path",{d:"M2.5 6.2 4.8 8.5 9.5 3.8",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})}):a.jsxs("svg",{viewBox:"0 0 12 12",width:"11",height:"11","aria-hidden":"true",children:[a.jsx("rect",{x:"3.4",y:"3.4",width:"5.8",height:"5.8",rx:"1.3",fill:"none",stroke:"currentColor",strokeWidth:"1"}),a.jsx("path",{d:"M2.4 7.2V2.8c0-.4.3-.7.7-.7h4",fill:"none",stroke:"currentColor",strokeWidth:"1",strokeLinecap:"round"})]})})}function N({value:s,label:l,group:n}){const r=!!n&&n.rows.length>0;return a.jsxs("span",{className:`s-lane-card-instr${r?" s-lane-card-instr--pop":""}`,children:[a.jsx("span",{className:"s-lane-card-instr-val",children:s}),a.jsx("span",{className:"s-lane-card-instr-label",children:l}),r&&a.jsxs("span",{className:"s-lane-card-pop",role:"tooltip",children:[a.jsxs("span",{className:"s-lane-card-pop-h",children:[a.jsx("span",{className:"s-lane-card-pop-title",children:l}),a.jsx("span",{className:"s-lane-card-pop-count",children:n.more>0?`top ${n.rows.length} · ${s}`:s})]}),a.jsxs("span",{className:"s-lane-card-pop-list",children:[n.rows.map((e,c)=>a.jsxs("span",{className:"s-lane-card-pop-row",title:e.full??e.text,children:[a.jsx("span",{className:`s-lane-card-pop-mark s-lane-card-pop-mark--${e.tone}`,children:e.mark}),a.jsx("span",{className:"s-lane-card-pop-text",children:e.text})]},`${c}:${e.full||e.text}`)),n.more>0&&a.jsxs("span",{className:"s-lane-card-pop-more",children:["+",n.more," more"]})]})]})]})}function P(s){return s.toLocaleString()}function B(s){return s>=1e6?`${(s/1e6).toFixed(1)}M`:s>=1e3?`${(s/1e3).toFixed(s>=1e5?0:1)}k`:`${s}`}function S({usage:s}){return s.dials.length===0?null:a.jsxs("div",{className:"s-lane-card-cockpit-tokens","aria-label":"Token usage",children:[a.jsxs("div",{className:"s-lane-card-cockpit-tokens-head",children:[a.jsxs("span",{className:"s-lane-card-cockpit-tokens-label",children:[a.jsx("span",{className:"s-lane-card-cockpit-tokens-mark","aria-hidden":"true",children:"◎"}),"Tokens"]}),s.total!=null&&a.jsx("span",{className:"s-lane-card-cockpit-tokens-hint",children:B(s.total)})]}),a.jsx("div",{className:"s-lane-card-cockpit-dials",children:s.dials.map(l=>a.jsxs("span",{className:"s-lane-card-cockpit-dial",children:[a.jsx("span",{className:"s-lane-card-cockpit-dial-value",children:P(l.value)}),a.jsx("span",{className:"s-lane-card-cockpit-dial-label",children:l.label})]},l.label))})]})}function I({pops:s}){const l=s.edits.rows.length>0,n=l?s.edits:s.files;if(n.rows.length===0)return null;const r=l?"Files modified":"Files touched";return a.jsxs("div",{className:"s-lane-card-cockpit-files","aria-label":r,children:[a.jsxs("div",{className:"s-lane-card-cockpit-tokens-head",children:[a.jsx("span",{className:"s-lane-card-cockpit-tokens-label",children:r}),a.jsx("span",{className:"s-lane-card-cockpit-tokens-hint",children:n.rows.length+n.more})]}),a.jsxs("div",{className:"s-lane-card-cockpit-files-list",children:[n.rows.map((e,c)=>a.jsxs("span",{className:"s-lane-card-cockpit-file",title:e.full??e.text,children:[a.jsx("span",{className:`s-lane-card-pop-mark s-lane-card-pop-mark--${e.tone}`,children:e.mark}),a.jsx("span",{className:"s-lane-card-cockpit-file-text",children:e.text})]},`${c}:${e.full||e.text}`)),n.more>0&&a.jsxs("span",{className:"s-lane-card-cockpit-file s-lane-card-cockpit-file--more",children:["+",n.more," more"]})]})]})}function g({model:s,cockpitHeight:l=null}){const n=y(l)==="stats";return a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"s-lane-card-summary",children:s.head?.placeholder?a.jsxs("div",{className:`s-lane-card-wait${s.working?" s-lane-card-wait--working":""}`,children:[a.jsx("span",{className:"s-lane-card-wait-dot","aria-hidden":"true"}),a.jsx("span",{className:"s-lane-card-wait-label",children:s.head.text})]}):a.jsxs("div",{className:`s-lane-card-current${s.head?.dir?"":" s-lane-card-current--console"}`,children:[s.head?.dir?a.jsx(W,{dir:s.head.dir}):a.jsx("span",{className:"s-lane-card-prompt","aria-hidden":"true",children:"❯"}),a.jsxs("span",{className:"s-lane-card-headwrap",children:[a.jsx("span",{className:"s-lane-card-head-text",children:s.head?.text??"Waiting for trace activity…"}),s.head?.full&&a.jsx("span",{className:"s-lane-card-headpop",role:"tooltip",children:s.head.full})]})]})}),a.jsxs("div",{className:"s-lane-card-accs",children:[a.jsx("div",{className:"s-lane-card-accs-tools",children:s.stats.tools>0?a.jsxs(a.Fragment,{children:[a.jsx(N,{value:s.stats.tools,label:"tools",group:s.pops.tools}),s.stats.edits>0&&a.jsx(N,{value:s.stats.edits,label:"edits",group:s.pops.edits}),s.stats.reads>0&&a.jsx(N,{value:s.stats.reads,label:"reads",group:s.pops.reads}),s.stats.files>0&&a.jsx(N,{value:s.stats.files,label:"files",group:s.pops.files})]}):a.jsx("span",{className:"s-lane-card-accs-empty",children:"no tool activity yet"})}),a.jsxs("div",{className:"s-lane-card-vitals",children:[a.jsxs("span",{className:`s-lane-card-instr s-lane-card-instr--ctx${s.context==null?" s-lane-card-instr--ctx-pending":""}`,title:s.context==null?"Context window — awaiting usage":`Context window ${s.context}% used`,children:[a.jsx("span",{className:"s-lane-card-gauge","aria-hidden":"true",children:a.jsx("span",{className:"s-lane-card-gauge-fill",style:{width:`${s.context??0}%`}})}),a.jsx("span",{className:"s-lane-card-instr-val",children:s.context==null?"—":`${s.context}%`}),a.jsx("span",{className:"s-lane-card-instr-label",children:"ctx"})]}),s.tokens&&a.jsxs("span",{className:"s-lane-card-instr",title:"Tokens currently in context",children:[a.jsx("span",{className:"s-lane-card-instr-val",children:s.tokens}),a.jsx("span",{className:"s-lane-card-instr-label",children:"ctx tokens"})]}),s.turns!=null&&a.jsxs("span",{className:"s-lane-card-instr",children:[a.jsx("span",{className:"s-lane-card-instr-val",children:s.turns}),a.jsx("span",{className:"s-lane-card-instr-label",children:s.turns===1?"turn":"turns"})]})]})]}),n&&(s.tokenUsage?a.jsx(S,{usage:s.tokenUsage}):a.jsx(I,{pops:s.pops}))]})}function V({model:s,avatar:l,trace:n,collapsed:r=!1,onToggleCollapsed:e,onOpen:c,cockpitHeight:i}){const{name:t,harness:o,model:h,effort:k,cwd:p,cwdFull:f,branch:x,sessionId:j,sessionIdFull:v,parentSessionId:m,parentSessionLabel:b}=s;return a.jsxs("section",{className:`s-lane-card${s.working?" s-lane-card--working":""}${r?" s-lane-card--collapsed":""}`,"aria-label":`${t} lane`,children:[c&&a.jsx("button",{type:"button",className:"s-lane-card-hit",onClick:c,"aria-label":`Inspect ${t}`}),a.jsxs("div",{className:"s-lane-card-head",children:[a.jsxs("span",{className:"s-lane-card-anchor s-lane-card-anchor--av",children:[a.jsx(M,{}),l]}),a.jsxs("div",{className:"s-lane-card-ident",children:[a.jsxs("span",{className:"s-lane-card-fieldc s-lane-card-fieldc--trail s-lane-card-namebox",children:[a.jsx("span",{className:"s-lane-card-name s-lane-card-sel",children:t}),s.authority&&a.jsx("span",{className:"s-lane-card-authority",title:s.authority.title,children:s.authority.label}),a.jsx(d,{value:t,label:"agent name",side:"trail"})]}),p&&a.jsxs("span",{className:"s-lane-card-fieldc s-lane-card-fieldc--trail s-lane-card-d s-lane-card-d--strong",title:f??p,children:[a.jsx(F,{}),a.jsx("span",{className:"s-lane-card-val s-lane-card-sel",children:p}),a.jsx(d,{value:f??p,label:"working directory",side:"trail"})]}),x&&a.jsxs("span",{className:"s-lane-card-fieldc s-lane-card-fieldc--trail s-lane-card-d",title:x,children:[a.jsx("span",{className:"s-lane-card-gchar","aria-hidden":"true",children:"⎇"}),a.jsx("span",{className:"s-lane-card-val s-lane-card-sel",children:x}),a.jsx(d,{value:x,label:"branch",side:"trail"})]})]}),a.jsxs("div",{className:"s-lane-card-meta",children:[o&&a.jsx("span",{className:"s-lane-card-anchor s-lane-card-anchor--hm",children:a.jsx(L,{harness:o,size:30,className:"s-lane-card-hmark"})}),a.jsxs("div",{className:"s-lane-card-meta-lines",children:[(h||k)&&a.jsxs("div",{className:"s-lane-card-meta-run",children:[h&&a.jsxs("span",{className:"s-lane-card-fieldc s-lane-card-fieldc--lead s-lane-card-modelwrap",children:[a.jsx("span",{className:"s-lane-card-meta-model s-lane-card-sel",children:h}),a.jsx(d,{value:h,label:"model",side:"lead"})]}),k&&a.jsx("span",{className:"s-lane-card-meta-effort s-lane-card-sel",children:k})]}),(j||m)&&a.jsxs("span",{className:"s-lane-card-fieldc s-lane-card-fieldc--lead s-lane-card-meta-sid",children:[a.jsx(T,{}),j&&a.jsx("span",{className:"s-lane-card-val s-lane-card-sel",children:j}),m&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"s-lane-card-gchar","aria-hidden":"true",children:"↳"}),a.jsx("span",{className:"s-lane-card-val s-lane-card-sel",children:b??m})]}),a.jsx(d,{value:v??m??j??"",label:"session id",side:"lead"})]}),a.jsxs("div",{className:"s-lane-card-meta-foot",children:[s.time&&a.jsxs("span",{className:"s-lane-card-time",children:[a.jsx("span",{className:"s-lane-card-time-dot","aria-hidden":"true"}),s.time]}),e&&a.jsx("button",{type:"button",className:"s-lane-card-caret","aria-label":r?"Expand summary":"Collapse summary","aria-expanded":!r,onClick:C=>{C.stopPropagation(),e()},children:a.jsx("svg",{viewBox:"0 0 10 10",width:"10",height:"10","aria-hidden":"true",children:a.jsx("path",{d:"M2 3.5 L5 6.5 L8 3.5",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})})]})]})]})]}),!r&&(i!==void 0?a.jsx(w,{cockpitHeight:i,children:a.jsx(g,{model:s,cockpitHeight:i})}):a.jsx(g,{model:s})),n]})}export{V as AgentLaneCard};
1
+ import{j as a,r as u}from"./index-BFbLvCJn.js";/* empty css */import{AgentLaneCockpitPane as w,cockpitHeightTier as y}from"./AgentLaneSummaryResize-DaIgwyVh.js";import{c as $}from"./clipboard-e3fSpeo7.js";import{H as L}from"./HarnessMark-CP-PWk2W.js";function F(){return a.jsx("svg",{viewBox:"0 0 12 12",width:"11",height:"11","aria-hidden":"true",className:"s-lane-card-gmark",children:a.jsx("path",{d:"M2 4.2c0-.4.3-.7.7-.7h2.1l1 1h3.5c.4 0 .7.3.7.7V9c0 .4-.3.7-.7.7H2.7c-.4 0-.7-.3-.7-.7V4.2Z",fill:"none",stroke:"currentColor",strokeWidth:"1",strokeLinejoin:"round"})})}function T(){return a.jsxs("svg",{viewBox:"0 0 12 12",width:"11",height:"11","aria-hidden":"true",className:"s-lane-card-gmark",children:[a.jsx("circle",{cx:"6",cy:"3",r:"1.5",fill:"none",stroke:"currentColor",strokeWidth:"1"}),a.jsx("circle",{cx:"6",cy:"9",r:"1.5",fill:"none",stroke:"currentColor",strokeWidth:"1"}),a.jsx("path",{d:"M6 4.5v3",stroke:"currentColor",strokeWidth:"1"})]})}function W({dir:s}){return a.jsx("span",{className:"s-lane-card-dir","aria-hidden":"true",children:s==="from"?"←":"→"})}function M(){return a.jsxs(a.Fragment,{children:[a.jsx("i",{className:"s-lane-card-gl s-lane-card-gl-t","aria-hidden":"true"}),a.jsx("i",{className:"s-lane-card-gl s-lane-card-gl-b","aria-hidden":"true"}),a.jsx("i",{className:"s-lane-card-gl s-lane-card-gl-l","aria-hidden":"true"}),a.jsx("i",{className:"s-lane-card-gl s-lane-card-gl-r","aria-hidden":"true"})]})}function d({value:s,label:l,side:n}){const[r,e]=u.useState(!1),c=u.useRef(null);u.useEffect(()=>()=>{c.current&&clearTimeout(c.current)},[]);const i=u.useCallback(t=>{t.preventDefault(),t.stopPropagation(),$(s).then(o=>{o&&(e(!0),c.current&&clearTimeout(c.current),c.current=setTimeout(()=>e(!1),1100))})},[s]);return a.jsx("button",{type:"button",className:`s-lane-card-copydot s-lane-card-copydot--${n}${r?" s-lane-card-copydot--done":""}`,onClick:i,title:r?"Copied":`Copy ${l}`,"aria-label":r?`Copied ${l}`:`Copy ${l}`,children:r?a.jsx("svg",{viewBox:"0 0 12 12",width:"11",height:"11","aria-hidden":"true",children:a.jsx("path",{d:"M2.5 6.2 4.8 8.5 9.5 3.8",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})}):a.jsxs("svg",{viewBox:"0 0 12 12",width:"11",height:"11","aria-hidden":"true",children:[a.jsx("rect",{x:"3.4",y:"3.4",width:"5.8",height:"5.8",rx:"1.3",fill:"none",stroke:"currentColor",strokeWidth:"1"}),a.jsx("path",{d:"M2.4 7.2V2.8c0-.4.3-.7.7-.7h4",fill:"none",stroke:"currentColor",strokeWidth:"1",strokeLinecap:"round"})]})})}function N({value:s,label:l,group:n}){const r=!!n&&n.rows.length>0;return a.jsxs("span",{className:`s-lane-card-instr${r?" s-lane-card-instr--pop":""}`,children:[a.jsx("span",{className:"s-lane-card-instr-val",children:s}),a.jsx("span",{className:"s-lane-card-instr-label",children:l}),r&&a.jsxs("span",{className:"s-lane-card-pop",role:"tooltip",children:[a.jsxs("span",{className:"s-lane-card-pop-h",children:[a.jsx("span",{className:"s-lane-card-pop-title",children:l}),a.jsx("span",{className:"s-lane-card-pop-count",children:n.more>0?`top ${n.rows.length} · ${s}`:s})]}),a.jsxs("span",{className:"s-lane-card-pop-list",children:[n.rows.map((e,c)=>a.jsxs("span",{className:"s-lane-card-pop-row",title:e.full??e.text,children:[a.jsx("span",{className:`s-lane-card-pop-mark s-lane-card-pop-mark--${e.tone}`,children:e.mark}),a.jsx("span",{className:"s-lane-card-pop-text",children:e.text})]},`${c}:${e.full||e.text}`)),n.more>0&&a.jsxs("span",{className:"s-lane-card-pop-more",children:["+",n.more," more"]})]})]})]})}function P(s){return s.toLocaleString()}function B(s){return s>=1e6?`${(s/1e6).toFixed(1)}M`:s>=1e3?`${(s/1e3).toFixed(s>=1e5?0:1)}k`:`${s}`}function S({usage:s}){return s.dials.length===0?null:a.jsxs("div",{className:"s-lane-card-cockpit-tokens","aria-label":"Token usage",children:[a.jsxs("div",{className:"s-lane-card-cockpit-tokens-head",children:[a.jsxs("span",{className:"s-lane-card-cockpit-tokens-label",children:[a.jsx("span",{className:"s-lane-card-cockpit-tokens-mark","aria-hidden":"true",children:"◎"}),"Tokens"]}),s.total!=null&&a.jsx("span",{className:"s-lane-card-cockpit-tokens-hint",children:B(s.total)})]}),a.jsx("div",{className:"s-lane-card-cockpit-dials",children:s.dials.map(l=>a.jsxs("span",{className:"s-lane-card-cockpit-dial",children:[a.jsx("span",{className:"s-lane-card-cockpit-dial-value",children:P(l.value)}),a.jsx("span",{className:"s-lane-card-cockpit-dial-label",children:l.label})]},l.label))})]})}function I({pops:s}){const l=s.edits.rows.length>0,n=l?s.edits:s.files;if(n.rows.length===0)return null;const r=l?"Files modified":"Files touched";return a.jsxs("div",{className:"s-lane-card-cockpit-files","aria-label":r,children:[a.jsxs("div",{className:"s-lane-card-cockpit-tokens-head",children:[a.jsx("span",{className:"s-lane-card-cockpit-tokens-label",children:r}),a.jsx("span",{className:"s-lane-card-cockpit-tokens-hint",children:n.rows.length+n.more})]}),a.jsxs("div",{className:"s-lane-card-cockpit-files-list",children:[n.rows.map((e,c)=>a.jsxs("span",{className:"s-lane-card-cockpit-file",title:e.full??e.text,children:[a.jsx("span",{className:`s-lane-card-pop-mark s-lane-card-pop-mark--${e.tone}`,children:e.mark}),a.jsx("span",{className:"s-lane-card-cockpit-file-text",children:e.text})]},`${c}:${e.full||e.text}`)),n.more>0&&a.jsxs("span",{className:"s-lane-card-cockpit-file s-lane-card-cockpit-file--more",children:["+",n.more," more"]})]})]})}function g({model:s,cockpitHeight:l=null}){const n=y(l)==="stats";return a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"s-lane-card-summary",children:s.head?.placeholder?a.jsxs("div",{className:`s-lane-card-wait${s.working?" s-lane-card-wait--working":""}`,children:[a.jsx("span",{className:"s-lane-card-wait-dot","aria-hidden":"true"}),a.jsx("span",{className:"s-lane-card-wait-label",children:s.head.text})]}):a.jsxs("div",{className:`s-lane-card-current${s.head?.dir?"":" s-lane-card-current--console"}`,children:[s.head?.dir?a.jsx(W,{dir:s.head.dir}):a.jsx("span",{className:"s-lane-card-prompt","aria-hidden":"true",children:"❯"}),a.jsxs("span",{className:"s-lane-card-headwrap",children:[a.jsx("span",{className:"s-lane-card-head-text",children:s.head?.text??"Waiting for trace activity…"}),s.head?.full&&a.jsx("span",{className:"s-lane-card-headpop",role:"tooltip",children:s.head.full})]})]})}),a.jsxs("div",{className:"s-lane-card-accs",children:[a.jsx("div",{className:"s-lane-card-accs-tools",children:s.stats.tools>0?a.jsxs(a.Fragment,{children:[a.jsx(N,{value:s.stats.tools,label:"tools",group:s.pops.tools}),s.stats.edits>0&&a.jsx(N,{value:s.stats.edits,label:"edits",group:s.pops.edits}),s.stats.reads>0&&a.jsx(N,{value:s.stats.reads,label:"reads",group:s.pops.reads}),s.stats.files>0&&a.jsx(N,{value:s.stats.files,label:"files",group:s.pops.files})]}):a.jsx("span",{className:"s-lane-card-accs-empty",children:"no tool activity yet"})}),a.jsxs("div",{className:"s-lane-card-vitals",children:[a.jsxs("span",{className:`s-lane-card-instr s-lane-card-instr--ctx${s.context==null?" s-lane-card-instr--ctx-pending":""}`,title:s.context==null?"Context window — awaiting usage":`Context window ${s.context}% used`,children:[a.jsx("span",{className:"s-lane-card-gauge","aria-hidden":"true",children:a.jsx("span",{className:"s-lane-card-gauge-fill",style:{width:`${s.context??0}%`}})}),a.jsx("span",{className:"s-lane-card-instr-val",children:s.context==null?"—":`${s.context}%`}),a.jsx("span",{className:"s-lane-card-instr-label",children:"ctx"})]}),s.tokens&&a.jsxs("span",{className:"s-lane-card-instr",title:"Tokens currently in context",children:[a.jsx("span",{className:"s-lane-card-instr-val",children:s.tokens}),a.jsx("span",{className:"s-lane-card-instr-label",children:"ctx tokens"})]}),s.turns!=null&&a.jsxs("span",{className:"s-lane-card-instr",children:[a.jsx("span",{className:"s-lane-card-instr-val",children:s.turns}),a.jsx("span",{className:"s-lane-card-instr-label",children:s.turns===1?"turn":"turns"})]})]})]}),n&&(s.tokenUsage?a.jsx(S,{usage:s.tokenUsage}):a.jsx(I,{pops:s.pops}))]})}function V({model:s,avatar:l,trace:n,collapsed:r=!1,onToggleCollapsed:e,onOpen:c,cockpitHeight:i}){const{name:t,harness:o,model:h,effort:k,cwd:p,cwdFull:f,branch:x,sessionId:j,sessionIdFull:v,parentSessionId:m,parentSessionLabel:b}=s;return a.jsxs("section",{className:`s-lane-card${s.working?" s-lane-card--working":""}${r?" s-lane-card--collapsed":""}`,"aria-label":`${t} lane`,children:[c&&a.jsx("button",{type:"button",className:"s-lane-card-hit",onClick:c,"aria-label":`Inspect ${t}`}),a.jsxs("div",{className:"s-lane-card-head",children:[a.jsxs("span",{className:"s-lane-card-anchor s-lane-card-anchor--av",children:[a.jsx(M,{}),l]}),a.jsxs("div",{className:"s-lane-card-ident",children:[a.jsxs("span",{className:"s-lane-card-fieldc s-lane-card-fieldc--trail s-lane-card-namebox",children:[a.jsx("span",{className:"s-lane-card-name s-lane-card-sel",children:t}),s.authority&&a.jsx("span",{className:"s-lane-card-authority",title:s.authority.title,children:s.authority.label}),a.jsx(d,{value:t,label:"agent name",side:"trail"})]}),p&&a.jsxs("span",{className:"s-lane-card-fieldc s-lane-card-fieldc--trail s-lane-card-d s-lane-card-d--strong",title:f??p,children:[a.jsx(F,{}),a.jsx("span",{className:"s-lane-card-val s-lane-card-sel",children:p}),a.jsx(d,{value:f??p,label:"working directory",side:"trail"})]}),x&&a.jsxs("span",{className:"s-lane-card-fieldc s-lane-card-fieldc--trail s-lane-card-d",title:x,children:[a.jsx("span",{className:"s-lane-card-gchar","aria-hidden":"true",children:"⎇"}),a.jsx("span",{className:"s-lane-card-val s-lane-card-sel",children:x}),a.jsx(d,{value:x,label:"branch",side:"trail"})]})]}),a.jsxs("div",{className:"s-lane-card-meta",children:[o&&a.jsx("span",{className:"s-lane-card-anchor s-lane-card-anchor--hm",children:a.jsx(L,{harness:o,size:30,className:"s-lane-card-hmark"})}),a.jsxs("div",{className:"s-lane-card-meta-lines",children:[(h||k)&&a.jsxs("div",{className:"s-lane-card-meta-run",children:[h&&a.jsxs("span",{className:"s-lane-card-fieldc s-lane-card-fieldc--lead s-lane-card-modelwrap",children:[a.jsx("span",{className:"s-lane-card-meta-model s-lane-card-sel",children:h}),a.jsx(d,{value:h,label:"model",side:"lead"})]}),k&&a.jsx("span",{className:"s-lane-card-meta-effort s-lane-card-sel",children:k})]}),(j||m)&&a.jsxs("span",{className:"s-lane-card-fieldc s-lane-card-fieldc--lead s-lane-card-meta-sid",children:[a.jsx(T,{}),j&&a.jsx("span",{className:"s-lane-card-val s-lane-card-sel",children:j}),m&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"s-lane-card-gchar","aria-hidden":"true",children:"↳"}),a.jsx("span",{className:"s-lane-card-val s-lane-card-sel",children:b??m})]}),a.jsx(d,{value:v??m??j??"",label:"session id",side:"lead"})]}),a.jsxs("div",{className:"s-lane-card-meta-foot",children:[s.time&&a.jsxs("span",{className:"s-lane-card-time",children:[a.jsx("span",{className:"s-lane-card-time-dot","aria-hidden":"true"}),s.time]}),e&&a.jsx("button",{type:"button",className:"s-lane-card-caret","aria-label":r?"Expand summary":"Collapse summary","aria-expanded":!r,onClick:C=>{C.stopPropagation(),e()},children:a.jsx("svg",{viewBox:"0 0 10 10",width:"10",height:"10","aria-hidden":"true",children:a.jsx("path",{d:"M2 3.5 L5 6.5 L8 3.5",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})})]})]})]})]}),!r&&(i!==void 0?a.jsx(w,{cockpitHeight:i,children:a.jsx(g,{model:s,cockpitHeight:i})}):a.jsx(g,{model:s})),n]})}export{V as AgentLaneCard};
@@ -1 +1 @@
1
- import{j as e}from"./index-EsrkGBcv.js";const p=["sm","md","lg"];function j({title:n,width:l,defaultWidth:c,pinned:s,onTogglePin:h,onWidthChange:d,onResizeStart:m,resizing:r,widthControls:o=!0,statusLabel:t,live:g}){const i=typeof l=="string"?l:c;return e.jsxs("div",{className:`s-agent-lane-chrome${r?" s-agent-lane-chrome--resizing":""}`,children:[e.jsxs("div",{className:"s-agent-lane-chrome-body",children:[e.jsxs("div",{className:"s-agent-lane-chrome-top",children:[e.jsx("button",{type:"button",className:`s-agent-lane-chrome-pin${s?" s-agent-lane-chrome-pin--on":""}`,"aria-pressed":s,title:s?"Unpin lane":"Pin lane",onClick:h,children:e.jsx(u,{filled:s})}),e.jsx("span",{className:"s-agent-lane-chrome-title",title:n,children:n}),t?e.jsxs("span",{className:`s-agent-lane-chrome-status${g?" s-agent-lane-chrome-status--live":""}`,title:t,children:[e.jsx("span",{className:"s-agent-lane-chrome-status-dot","aria-hidden":"true"}),e.jsx("span",{className:"s-agent-lane-chrome-status-label",children:t})]}):null]}),o?e.jsx("div",{className:"s-agent-lane-chrome-widths",role:"group","aria-label":"Lane width",children:p.map(a=>e.jsx("button",{type:"button",className:`s-agent-lane-chrome-width-btn${i===a?" s-agent-lane-chrome-width-btn--on":""}`,"aria-pressed":i===a,title:`${a.toUpperCase()} width`,onClick:()=>d(a),children:a.toUpperCase()},a))}):null]}),o?e.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":"Resize lane width",title:"Drag to resize lane",className:`s-agent-lane-width-handle${r?" s-agent-lane-width-handle--active":""}`,onPointerDown:m}):null]})}function u({filled:n}){return e.jsx("svg",{viewBox:"0 0 12 12",width:"12",height:"12","aria-hidden":"true",children:e.jsx("path",{d:"M4.2 1.8h3.6l.5 1.8 1.9.8-.2 1.1-1.7.4-.8 3.1H4.3l-.8-3.1-1.7-.4-.2-1.1 1.9-.8.5-1.8Z",fill:n?"currentColor":"none",stroke:"currentColor",strokeWidth:"0.9",strokeLinejoin:"round"})})}export{j as AgentLaneChrome};
1
+ import{j as e}from"./index-BFbLvCJn.js";const p=["sm","md","lg"];function j({title:n,width:l,defaultWidth:c,pinned:s,onTogglePin:h,onWidthChange:d,onResizeStart:m,resizing:r,widthControls:o=!0,statusLabel:t,live:g}){const i=typeof l=="string"?l:c;return e.jsxs("div",{className:`s-agent-lane-chrome${r?" s-agent-lane-chrome--resizing":""}`,children:[e.jsxs("div",{className:"s-agent-lane-chrome-body",children:[e.jsxs("div",{className:"s-agent-lane-chrome-top",children:[e.jsx("button",{type:"button",className:`s-agent-lane-chrome-pin${s?" s-agent-lane-chrome-pin--on":""}`,"aria-pressed":s,title:s?"Unpin lane":"Pin lane",onClick:h,children:e.jsx(u,{filled:s})}),e.jsx("span",{className:"s-agent-lane-chrome-title",title:n,children:n}),t?e.jsxs("span",{className:`s-agent-lane-chrome-status${g?" s-agent-lane-chrome-status--live":""}`,title:t,children:[e.jsx("span",{className:"s-agent-lane-chrome-status-dot","aria-hidden":"true"}),e.jsx("span",{className:"s-agent-lane-chrome-status-label",children:t})]}):null]}),o?e.jsx("div",{className:"s-agent-lane-chrome-widths",role:"group","aria-label":"Lane width",children:p.map(a=>e.jsx("button",{type:"button",className:`s-agent-lane-chrome-width-btn${i===a?" s-agent-lane-chrome-width-btn--on":""}`,"aria-pressed":i===a,title:`${a.toUpperCase()} width`,onClick:()=>d(a),children:a.toUpperCase()},a))}):null]}),o?e.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":"Resize lane width",title:"Drag to resize lane",className:`s-agent-lane-width-handle${r?" s-agent-lane-width-handle--active":""}`,onPointerDown:m}):null]})}function u({filled:n}){return e.jsx("svg",{viewBox:"0 0 12 12",width:"12",height:"12","aria-hidden":"true",children:e.jsx("path",{d:"M4.2 1.8h3.6l.5 1.8 1.9.8-.2 1.1-1.7.4-.8 3.1H4.3l-.8-3.1-1.7-.4-.2-1.1 1.9-.8.5-1.8Z",fill:n?"currentColor":"none",stroke:"currentColor",strokeWidth:"0.9",strokeLinejoin:"round"})})}export{j as AgentLaneChrome};
@@ -1,4 +1,4 @@
1
- import{r as i,j as e}from"./index-EsrkGBcv.js";import{S as qe}from"./SlidePanel-_CHAQdOa.js";import{a as me}from"./api-DSqpVKC7.js";import{A as Ge}from"./AgentAvatar-CrP1eXxk.js";import{H as Je}from"./HarnessMark-C4naWc16.js";import{t as de}from"./time-Dhsh_2EG.js";import{h as Ke}from"./tail-display-DHSNmvor.js";import{a as Ve}from"./agent-state-DDhnFEEP.js";import{c as U}from"./clipboard-e3fSpeo7.js";import{d as Ue,c as Qe}from"./context-budget-8qFKqM-j.js";import{f as Xe}from"./router-DCtl8wqb.js";import{u as Ye}from"./Provider-C35yu29I.js";import{s as Ze,t as es,b as ss}from"./bash-format-BRV5C6Gv.js";import{i as as}from"./keyboard-nav-DDHegDbx.js";import{o as ie}from"./openContent-C6XO6kr5.js";import{b as ts,f as Ie}from"./agent-lane-preview-Dpa3DuOn.js";import{i as ns}from"./synthetic-agent-routing-aduMYO7P.js";import{b as $e,c as ls,a as is,l as cs,r as rs,d as os}from"./agent-lane-detail-Ti3trpfH.js";import{l as ds,a as hs,s as us}from"./agent-lanes-model-DMAdqCmK.js";import{E as pe}from"./external-link-CUObqmgX.js";async function ms(s){return me("/api/session-control/compact",{method:"POST",body:JSON.stringify(s)})}function Te(s){return ns(s.id)}function ps(s){return $e(s).sessionId?.trim()||null}function Pe(s){const t=ps(s);if(!t)return null;const c=Te(s.agent)?void 0:s.agent.id;return{view:"sessions",sessionId:t,...c?{agentId:c}:{}}}function fs(s){return Pe(s)}function xs(s){return Te(s.agent)?null:{view:"agents-v2",agentId:s.agent.id,tab:"profile"}}const js={created:"+",modified:"~",read:"○"},gs={blocked:"blocked",completed:"done",in_progress:"active",pending:"todo",unknown:"step"},Ae=["s-lane-sheet-vitals","s-lane-sheet-runtime","s-lane-sheet-files","s-lane-sheet-commands","s-lane-sheet-plans","s-lane-sheet-docs"];function he(s){return!!(s&&Ae.includes(s))}function vs(){if(typeof window>"u")return null;const s=window.location.hash.replace(/^#/,"");return he(s)?s:null}function ce(s){return typeof s!="number"||!Number.isFinite(s)?"—":s.toLocaleString()}function Ns(s){return s>=1e6?`${(s/1e6).toFixed(1)}M`:s>=1e3?`${(s/1e3).toFixed(s>=1e5?0:1)}k`:`${s}`}function bs(s){const t=s.lastIndexOf("/");return t<0?{dir:"",base:s}:{dir:s.slice(0,t+1),base:s.slice(t+1)}}function ws(s,t){const c=new Map;for(const l of t?.events??[]){if(l.kind!=="tool"||!l.diff||!l.arg)continue;const r=l.arg.trim().split(/[\\/]/).filter(Boolean).pop();if(!r)continue;const u=c.get(r)??{add:0,del:0};u.add+=l.diff.add??0,u.del+=l.diff.del??0,c.set(r,u)}return s.map(l=>{const r=l.path.split(/[\\/]/).filter(Boolean).pop()??l.path,u=c.get(r);return{...l,add:u?.add??0,del:u?.del??0}})}function re(s,t=48){return s?s.length<=t?s:`…${s.slice(-(t-1))}`:"—"}async function ks(s){await me("/api/local-path/reveal",{method:"POST",body:JSON.stringify({path:s.path,...s.basePath?{basePath:s.basePath}:{},...s.agentId?{agentId:s.agentId}:{},...s.sessionId?{sessionId:s.sessionId}:{}})})}function ue(s,t){return s.startsWith("/")||s.startsWith("~/")?s:t?`${t.replace(/\/$/u,"")}/${s}`:s}function Q({value:s,label:t}){const[c,l]=i.useState(!1),r=i.useRef(null);i.useEffect(()=>()=>{r.current&&clearTimeout(r.current)},[]);const u=i.useCallback(m=>{m.preventDefault(),m.stopPropagation(),U(s).then(d=>{d&&(l(!0),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>l(!1),1100))})},[s]);return e.jsx("button",{type:"button",className:`s-lane-sheet-copy${c?" s-lane-sheet-copy--done":""}`,onClick:u,title:c?"Copied":`Copy ${t}`,"aria-label":c?`Copied ${t}`:`Copy ${t}`,children:c?e.jsx("svg",{viewBox:"0 0 12 12",width:"11",height:"11","aria-hidden":"true",children:e.jsx("path",{d:"M2.5 6.2 4.8 8.5 9.5 3.8",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})}):e.jsxs("svg",{viewBox:"0 0 12 12",width:"11",height:"11","aria-hidden":"true",children:[e.jsx("rect",{x:"3.4",y:"3.4",width:"5.8",height:"5.8",rx:"1.3",fill:"none",stroke:"currentColor",strokeWidth:"1"}),e.jsx("path",{d:"M2.4 7.2V2.8c0-.4.3-.7.7-.7h4",fill:"none",stroke:"currentColor",strokeWidth:"1",strokeLinecap:"round"})]})})}function De({path:s,basePath:t,agentId:c,sessionId:l,label:r}){return e.jsx("button",{type:"button",className:"s-lane-sheet-reveal",title:`Reveal ${r} in OS`,"aria-label":`Reveal ${r} in OS`,onClick:u=>{u.preventDefault(),u.stopPropagation(),ks({path:s,basePath:t,agentId:c,sessionId:l}).catch(m=>console.warn("Failed to reveal local path",m))},children:e.jsx(pe,{size:11,strokeWidth:1.6})})}function V({id:s,label:t,count:c,actions:l}){return e.jsxs("div",{className:"s-lane-sheet-sechead",id:s,children:[e.jsx("span",{className:"s-lane-sheet-sechead-label",children:t}),c!=null&&c!==!1&&e.jsx("span",{className:"s-lane-sheet-sechead-count",children:c}),e.jsx("span",{className:"s-lane-sheet-sechead-rule","aria-hidden":"true"}),l&&e.jsx("span",{className:"s-lane-sheet-sechead-actions",children:l})]})}function C({children:s,onClick:t,primary:c=!1,disabled:l=!1}){return e.jsx("button",{type:"button",className:`s-lane-sheet-ghost${c?" s-lane-sheet-ghost--primary":""}`,onClick:t,disabled:l,children:s})}function L({label:s,value:t,title:c,copy:l,reveal:r}){return e.jsxs("div",{className:"s-lane-sheet-meta-row",children:[e.jsx("dt",{children:s}),e.jsxs("dd",{className:"s-lane-sheet-fact",children:[e.jsx("span",{className:"s-lane-sheet-fact-val",title:c??t,children:t}),r&&e.jsx(De,{...r,label:s}),l&&e.jsx(Q,{value:l,label:s})]})]})}function oe({file:s,basePath:t,agentId:c,sessionId:l,onOpen:r}){const u=Ie(s),m=s.path,d=ue(m,t),{dir:b,base:B}=bs(m),$=s.add>0||s.del>0;return e.jsxs("div",{className:"s-lane-sheet-frow",title:m,children:[e.jsx("span",{className:`s-lane-sheet-fstate s-lane-sheet-fstate--${s.state}`,"aria-hidden":"true",children:js[s.state]??"○"}),e.jsxs("span",{className:"s-lane-sheet-fpath",children:[b&&e.jsx("span",{className:"s-lane-sheet-fdir",children:b}),e.jsx("span",{className:"s-lane-sheet-fbase",children:B})]}),$&&e.jsxs("span",{className:"s-lane-sheet-fdiff",children:[s.add>0&&e.jsxs("span",{className:"s-lane-sheet-file-add",children:["+",s.add]}),s.del>0&&e.jsxs("span",{className:"s-lane-sheet-file-del",children:["−",s.del]})]}),e.jsxs("span",{className:"s-lane-sheet-frow-acts",children:[e.jsx("button",{type:"button",className:"s-lane-sheet-rowact",title:`Open ${u} in diff`,"aria-label":`Open ${u} in diff`,onClick:()=>r(d),children:e.jsx(pe,{size:11,strokeWidth:1.6})}),e.jsx(De,{path:m,basePath:t,agentId:c,sessionId:l,label:u}),e.jsx(Q,{value:m,label:"file path"})]})]})}function ys({entry:s}){const{dir:t,rest:c}=Ze(es(s.command)),l=ss(c||s.command);return e.jsxs("div",{className:"s-lane-sheet-crow",title:s.command,children:[e.jsx("span",{className:"s-lane-sheet-cmark","aria-hidden":"true",children:"❯"}),e.jsxs("span",{className:"s-lane-sheet-ctext",children:[t&&e.jsxs("span",{className:"s-lane-sheet-bash-dir",children:[t,"/"]}),l.map((r,u)=>e.jsxs("span",{className:`s-lane-sheet-bash-${r.tier}${r.known?" s-lane-sheet-bash-prog--known":""}${r.flag?" s-lane-sheet-bash-flag":""}`,children:[u>0?" ":"",r.text]},u))]}),s.outcome&&e.jsx("span",{className:"s-lane-sheet-cresult",children:s.outcome}),e.jsx("span",{className:"s-lane-sheet-crow-acts",children:e.jsx(Q,{value:s.command,label:"command"})})]})}function Le({label:s,hint:t,children:c}){const[l,r]=i.useState(!1);return e.jsxs("div",{className:`s-lane-sheet-disc${l?" s-lane-sheet-disc--open":""}`,children:[e.jsxs("button",{type:"button",className:"s-lane-sheet-disc-head","aria-expanded":l,onClick:()=>r(u=>!u),children:[e.jsx("span",{className:`s-lane-sheet-disc-caret${l?" s-lane-sheet-disc-caret--open":""}`,"aria-hidden":"true",children:"›"}),e.jsx("span",{className:"s-lane-sheet-disc-label",children:s}),t!=null&&t!==!1&&e.jsx("span",{className:"s-lane-sheet-disc-hint",children:t})]}),l&&e.jsx("div",{className:"s-lane-sheet-disc-body",children:c})]})}function Cs({plan:s,onOpen:t}){const[c,l]=i.useState(!1),r=s.steps.filter(m=>m.status==="completed").length,u=s.steps.find(m=>m.status==="in_progress");return e.jsxs("div",{className:`s-lane-sheet-plan${c?" s-lane-sheet-plan--open":""}`,children:[e.jsxs("button",{type:"button",className:"s-lane-sheet-plan-head","aria-expanded":c,onClick:()=>l(m=>!m),children:[e.jsx("span",{className:`s-lane-sheet-plan-caret${c?" s-lane-sheet-plan-caret--open":""}`,"aria-hidden":"true",children:"›"}),e.jsx("span",{className:"s-lane-sheet-plan-title",title:s.title,children:s.title}),e.jsxs("span",{className:"s-lane-sheet-plan-tally",children:[r,"/",s.steps.length]})]}),!c&&u&&e.jsxs("div",{className:"s-lane-sheet-plan-now",title:u.text,children:[e.jsx("span",{className:"s-lane-sheet-plan-now-mark","aria-hidden":"true",children:"▸"}),e.jsx("span",{className:"s-lane-sheet-plan-now-text",children:u.text})]}),c&&e.jsxs("div",{className:"s-lane-sheet-plan-steps",children:[s.steps.map(m=>e.jsxs("div",{className:`s-lane-sheet-pstep s-lane-sheet-pstep--${m.status}`,children:[e.jsx("span",{className:"s-lane-sheet-pstep-box","aria-hidden":"true",children:m.status==="completed"?"✓":m.status==="in_progress"?"▸":"○"}),e.jsx("span",{className:"s-lane-sheet-pstep-text",children:m.text})]},m.id)),e.jsx("div",{className:"s-lane-sheet-plan-foot",children:e.jsx(C,{onClick:t,children:"Open in Plans →"})})]})]})}function Ss({document:s,expanded:t,onToggle:c,onOpen:l}){const r=os(s),u=s.steps.length>0;return e.jsxs("article",{className:"s-lane-sheet-doc",children:[e.jsxs("button",{type:"button",className:"s-lane-sheet-doc-head","aria-expanded":t,onClick:c,children:[e.jsx("span",{className:"s-lane-sheet-doc-title",children:s.title}),e.jsxs("span",{className:"s-lane-sheet-doc-meta",children:[u?`${s.steps.length} steps`:Ie(s.path)," · ",de(s.updatedAt)]}),!t&&r&&e.jsx("span",{className:"s-lane-sheet-doc-excerpt",children:r})]}),t&&e.jsxs("div",{className:"s-lane-sheet-doc-body",children:[s.summary&&e.jsx("p",{className:"s-lane-sheet-doc-summary",children:s.summary}),u&&s.steps.length>0&&e.jsx("ol",{className:"s-lane-sheet-doc-steps",children:s.steps.map(m=>e.jsxs("li",{className:`s-lane-sheet-doc-step s-lane-sheet-doc-step--${m.status}`,children:[e.jsx("span",{className:"s-lane-sheet-doc-step-state",children:gs[m.status]}),e.jsx("span",{className:"s-lane-sheet-doc-step-text",children:m.text})]},m.id))}),(s.body||s.rawText)&&e.jsx("pre",{className:"s-lane-sheet-doc-pre",children:s.body||s.rawText}),e.jsx("button",{type:"button",className:"s-lane-sheet-doc-open",onClick:l,children:"Open in Plans"})]})]})}function Ls({lane:s,navigate:t,returnRoute:c,onClose:l,navigationEnabled:r=!0,onPinProject:u,projectPinned:m=!1}){const{agent:d,observe:b,source:B,lastActiveAt:$}=s,{openFilePreview:A}=Ye(),X=i.useMemo(()=>Ve(d.state??null,d),[d]),w=i.useMemo(()=>ts(b,d,{isLive:X}),[b,d,X]),[D,Y]=i.useState(!1),[O,fe]=i.useState([]),[F,xe]=i.useState([]),[Oe,Fe]=i.useState(null),[_,Ee]=i.useState(!1),[Re,je]=i.useState(!1),[z,ge]=i.useState(!1),[ve,Z]=i.useState(null),[x,ee]=i.useState("s-lane-sheet-vitals"),E=i.useRef(null),se=i.useRef(null);i.useEffect(()=>()=>{E.current&&clearTimeout(E.current)},[]);const Ne=i.useCallback(a=>{typeof window>"u"||window.location.hash!==`#${a}`&&Xe({hash:a,replace:!1})},[]),W=i.useCallback(a=>{const h=se.current,f=h?.querySelector(`#${a}`);if(!h||!f)return!1;const g=h.getBoundingClientRect().top,y=f.getBoundingClientRect().top;return h.scrollTop=Math.max(0,h.scrollTop+y-g),ee(a),!0},[]),T=i.useCallback((a,h)=>{a.preventDefault(),W(h)&&Ne(h)},[W,Ne]),H=ds(d,B),Me=hs(d,B),n=i.useMemo(()=>$e(s),[s]),o=s.facts,I=o?.turn?.phase?o.turn.phase==="started":X,ae=ls(s),p=i.useMemo(()=>{const a=o?.touchedFiles.length?o.touchedFiles:is(b,1/0),h=ws(a,b),f=h.filter(v=>v.state==="created"),g=h.filter(v=>v.state==="modified"),y=h.filter(v=>v.state==="read"),M=[...f,...g];return{created:f,modified:g,read:y,changed:M,totalAdd:M.reduce((v,N)=>v+N.add,0),totalDel:M.reduce((v,N)=>v+N.del,0)}},[o,b]),q=p.changed.length+p.read.length,S=i.useMemo(()=>cs(b),[b]),te=i.useMemo(()=>p.changed.map(a=>ue(a.path,n.cwd)).join(`
1
+ import{r as i,j as e}from"./index-BFbLvCJn.js";import{S as qe}from"./SlidePanel-D5oPQocF.js";import{a as me}from"./api-DSqpVKC7.js";import{A as Ge}from"./AgentAvatar-Dn8TUv5W.js";import{H as Je}from"./HarnessMark-CP-PWk2W.js";import{t as de}from"./time-Dhsh_2EG.js";import{h as Ke}from"./tail-display-DHSNmvor.js";import{a as Ve}from"./agent-state-DDhnFEEP.js";import{c as U}from"./clipboard-e3fSpeo7.js";import{d as Ue,c as Qe}from"./context-budget-8qFKqM-j.js";import{d as Xe}from"./router-CJIx83Ia.js";import{u as Ye}from"./Provider-BEXAZWd9.js";import{s as Ze,t as es,b as ss}from"./bash-format-BRV5C6Gv.js";import{i as as}from"./keyboard-nav-CEe-ApvZ.js";import{o as ie}from"./openContent-C6XO6kr5.js";import{b as ts,f as Ie}from"./agent-lane-preview-Dpa3DuOn.js";import{i as ns}from"./synthetic-agent-routing-aduMYO7P.js";import{b as $e,c as ls,a as is,l as cs,r as rs,d as os}from"./agent-lane-detail-Ti3trpfH.js";import{l as ds,a as hs,s as us}from"./agent-lanes-model-DMAdqCmK.js";import{E as pe}from"./external-link-Df1R34rX.js";async function ms(s){return me("/api/session-control/compact",{method:"POST",body:JSON.stringify(s)})}function Te(s){return ns(s.id)}function ps(s){return $e(s).sessionId?.trim()||null}function Pe(s){const t=ps(s);if(!t)return null;const c=Te(s.agent)?void 0:s.agent.id;return{view:"sessions",sessionId:t,...c?{agentId:c}:{}}}function fs(s){return Pe(s)}function xs(s){return Te(s.agent)?null:{view:"agents-v2",agentId:s.agent.id,tab:"profile"}}const js={created:"+",modified:"~",read:"○"},gs={blocked:"blocked",completed:"done",in_progress:"active",pending:"todo",unknown:"step"},Ae=["s-lane-sheet-vitals","s-lane-sheet-runtime","s-lane-sheet-files","s-lane-sheet-commands","s-lane-sheet-plans","s-lane-sheet-docs"];function he(s){return!!(s&&Ae.includes(s))}function vs(){if(typeof window>"u")return null;const s=window.location.hash.replace(/^#/,"");return he(s)?s:null}function ce(s){return typeof s!="number"||!Number.isFinite(s)?"—":s.toLocaleString()}function Ns(s){return s>=1e6?`${(s/1e6).toFixed(1)}M`:s>=1e3?`${(s/1e3).toFixed(s>=1e5?0:1)}k`:`${s}`}function bs(s){const t=s.lastIndexOf("/");return t<0?{dir:"",base:s}:{dir:s.slice(0,t+1),base:s.slice(t+1)}}function ws(s,t){const c=new Map;for(const l of t?.events??[]){if(l.kind!=="tool"||!l.diff||!l.arg)continue;const r=l.arg.trim().split(/[\\/]/).filter(Boolean).pop();if(!r)continue;const u=c.get(r)??{add:0,del:0};u.add+=l.diff.add??0,u.del+=l.diff.del??0,c.set(r,u)}return s.map(l=>{const r=l.path.split(/[\\/]/).filter(Boolean).pop()??l.path,u=c.get(r);return{...l,add:u?.add??0,del:u?.del??0}})}function re(s,t=48){return s?s.length<=t?s:`…${s.slice(-(t-1))}`:"—"}async function ks(s){await me("/api/local-path/reveal",{method:"POST",body:JSON.stringify({path:s.path,...s.basePath?{basePath:s.basePath}:{},...s.agentId?{agentId:s.agentId}:{},...s.sessionId?{sessionId:s.sessionId}:{}})})}function ue(s,t){return s.startsWith("/")||s.startsWith("~/")?s:t?`${t.replace(/\/$/u,"")}/${s}`:s}function Q({value:s,label:t}){const[c,l]=i.useState(!1),r=i.useRef(null);i.useEffect(()=>()=>{r.current&&clearTimeout(r.current)},[]);const u=i.useCallback(m=>{m.preventDefault(),m.stopPropagation(),U(s).then(d=>{d&&(l(!0),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>l(!1),1100))})},[s]);return e.jsx("button",{type:"button",className:`s-lane-sheet-copy${c?" s-lane-sheet-copy--done":""}`,onClick:u,title:c?"Copied":`Copy ${t}`,"aria-label":c?`Copied ${t}`:`Copy ${t}`,children:c?e.jsx("svg",{viewBox:"0 0 12 12",width:"11",height:"11","aria-hidden":"true",children:e.jsx("path",{d:"M2.5 6.2 4.8 8.5 9.5 3.8",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})}):e.jsxs("svg",{viewBox:"0 0 12 12",width:"11",height:"11","aria-hidden":"true",children:[e.jsx("rect",{x:"3.4",y:"3.4",width:"5.8",height:"5.8",rx:"1.3",fill:"none",stroke:"currentColor",strokeWidth:"1"}),e.jsx("path",{d:"M2.4 7.2V2.8c0-.4.3-.7.7-.7h4",fill:"none",stroke:"currentColor",strokeWidth:"1",strokeLinecap:"round"})]})})}function De({path:s,basePath:t,agentId:c,sessionId:l,label:r}){return e.jsx("button",{type:"button",className:"s-lane-sheet-reveal",title:`Reveal ${r} in OS`,"aria-label":`Reveal ${r} in OS`,onClick:u=>{u.preventDefault(),u.stopPropagation(),ks({path:s,basePath:t,agentId:c,sessionId:l}).catch(m=>console.warn("Failed to reveal local path",m))},children:e.jsx(pe,{size:11,strokeWidth:1.6})})}function V({id:s,label:t,count:c,actions:l}){return e.jsxs("div",{className:"s-lane-sheet-sechead",id:s,children:[e.jsx("span",{className:"s-lane-sheet-sechead-label",children:t}),c!=null&&c!==!1&&e.jsx("span",{className:"s-lane-sheet-sechead-count",children:c}),e.jsx("span",{className:"s-lane-sheet-sechead-rule","aria-hidden":"true"}),l&&e.jsx("span",{className:"s-lane-sheet-sechead-actions",children:l})]})}function C({children:s,onClick:t,primary:c=!1,disabled:l=!1}){return e.jsx("button",{type:"button",className:`s-lane-sheet-ghost${c?" s-lane-sheet-ghost--primary":""}`,onClick:t,disabled:l,children:s})}function L({label:s,value:t,title:c,copy:l,reveal:r}){return e.jsxs("div",{className:"s-lane-sheet-meta-row",children:[e.jsx("dt",{children:s}),e.jsxs("dd",{className:"s-lane-sheet-fact",children:[e.jsx("span",{className:"s-lane-sheet-fact-val",title:c??t,children:t}),r&&e.jsx(De,{...r,label:s}),l&&e.jsx(Q,{value:l,label:s})]})]})}function oe({file:s,basePath:t,agentId:c,sessionId:l,onOpen:r}){const u=Ie(s),m=s.path,d=ue(m,t),{dir:b,base:B}=bs(m),$=s.add>0||s.del>0;return e.jsxs("div",{className:"s-lane-sheet-frow",title:m,children:[e.jsx("span",{className:`s-lane-sheet-fstate s-lane-sheet-fstate--${s.state}`,"aria-hidden":"true",children:js[s.state]??"○"}),e.jsxs("span",{className:"s-lane-sheet-fpath",children:[b&&e.jsx("span",{className:"s-lane-sheet-fdir",children:b}),e.jsx("span",{className:"s-lane-sheet-fbase",children:B})]}),$&&e.jsxs("span",{className:"s-lane-sheet-fdiff",children:[s.add>0&&e.jsxs("span",{className:"s-lane-sheet-file-add",children:["+",s.add]}),s.del>0&&e.jsxs("span",{className:"s-lane-sheet-file-del",children:["−",s.del]})]}),e.jsxs("span",{className:"s-lane-sheet-frow-acts",children:[e.jsx("button",{type:"button",className:"s-lane-sheet-rowact",title:`Open ${u} in diff`,"aria-label":`Open ${u} in diff`,onClick:()=>r(d),children:e.jsx(pe,{size:11,strokeWidth:1.6})}),e.jsx(De,{path:m,basePath:t,agentId:c,sessionId:l,label:u}),e.jsx(Q,{value:m,label:"file path"})]})]})}function ys({entry:s}){const{dir:t,rest:c}=Ze(es(s.command)),l=ss(c||s.command);return e.jsxs("div",{className:"s-lane-sheet-crow",title:s.command,children:[e.jsx("span",{className:"s-lane-sheet-cmark","aria-hidden":"true",children:"❯"}),e.jsxs("span",{className:"s-lane-sheet-ctext",children:[t&&e.jsxs("span",{className:"s-lane-sheet-bash-dir",children:[t,"/"]}),l.map((r,u)=>e.jsxs("span",{className:`s-lane-sheet-bash-${r.tier}${r.known?" s-lane-sheet-bash-prog--known":""}${r.flag?" s-lane-sheet-bash-flag":""}`,children:[u>0?" ":"",r.text]},u))]}),s.outcome&&e.jsx("span",{className:"s-lane-sheet-cresult",children:s.outcome}),e.jsx("span",{className:"s-lane-sheet-crow-acts",children:e.jsx(Q,{value:s.command,label:"command"})})]})}function Le({label:s,hint:t,children:c}){const[l,r]=i.useState(!1);return e.jsxs("div",{className:`s-lane-sheet-disc${l?" s-lane-sheet-disc--open":""}`,children:[e.jsxs("button",{type:"button",className:"s-lane-sheet-disc-head","aria-expanded":l,onClick:()=>r(u=>!u),children:[e.jsx("span",{className:`s-lane-sheet-disc-caret${l?" s-lane-sheet-disc-caret--open":""}`,"aria-hidden":"true",children:"›"}),e.jsx("span",{className:"s-lane-sheet-disc-label",children:s}),t!=null&&t!==!1&&e.jsx("span",{className:"s-lane-sheet-disc-hint",children:t})]}),l&&e.jsx("div",{className:"s-lane-sheet-disc-body",children:c})]})}function Cs({plan:s,onOpen:t}){const[c,l]=i.useState(!1),r=s.steps.filter(m=>m.status==="completed").length,u=s.steps.find(m=>m.status==="in_progress");return e.jsxs("div",{className:`s-lane-sheet-plan${c?" s-lane-sheet-plan--open":""}`,children:[e.jsxs("button",{type:"button",className:"s-lane-sheet-plan-head","aria-expanded":c,onClick:()=>l(m=>!m),children:[e.jsx("span",{className:`s-lane-sheet-plan-caret${c?" s-lane-sheet-plan-caret--open":""}`,"aria-hidden":"true",children:"›"}),e.jsx("span",{className:"s-lane-sheet-plan-title",title:s.title,children:s.title}),e.jsxs("span",{className:"s-lane-sheet-plan-tally",children:[r,"/",s.steps.length]})]}),!c&&u&&e.jsxs("div",{className:"s-lane-sheet-plan-now",title:u.text,children:[e.jsx("span",{className:"s-lane-sheet-plan-now-mark","aria-hidden":"true",children:"▸"}),e.jsx("span",{className:"s-lane-sheet-plan-now-text",children:u.text})]}),c&&e.jsxs("div",{className:"s-lane-sheet-plan-steps",children:[s.steps.map(m=>e.jsxs("div",{className:`s-lane-sheet-pstep s-lane-sheet-pstep--${m.status}`,children:[e.jsx("span",{className:"s-lane-sheet-pstep-box","aria-hidden":"true",children:m.status==="completed"?"✓":m.status==="in_progress"?"▸":"○"}),e.jsx("span",{className:"s-lane-sheet-pstep-text",children:m.text})]},m.id)),e.jsx("div",{className:"s-lane-sheet-plan-foot",children:e.jsx(C,{onClick:t,children:"Open in Plans →"})})]})]})}function Ss({document:s,expanded:t,onToggle:c,onOpen:l}){const r=os(s),u=s.steps.length>0;return e.jsxs("article",{className:"s-lane-sheet-doc",children:[e.jsxs("button",{type:"button",className:"s-lane-sheet-doc-head","aria-expanded":t,onClick:c,children:[e.jsx("span",{className:"s-lane-sheet-doc-title",children:s.title}),e.jsxs("span",{className:"s-lane-sheet-doc-meta",children:[u?`${s.steps.length} steps`:Ie(s.path)," · ",de(s.updatedAt)]}),!t&&r&&e.jsx("span",{className:"s-lane-sheet-doc-excerpt",children:r})]}),t&&e.jsxs("div",{className:"s-lane-sheet-doc-body",children:[s.summary&&e.jsx("p",{className:"s-lane-sheet-doc-summary",children:s.summary}),u&&s.steps.length>0&&e.jsx("ol",{className:"s-lane-sheet-doc-steps",children:s.steps.map(m=>e.jsxs("li",{className:`s-lane-sheet-doc-step s-lane-sheet-doc-step--${m.status}`,children:[e.jsx("span",{className:"s-lane-sheet-doc-step-state",children:gs[m.status]}),e.jsx("span",{className:"s-lane-sheet-doc-step-text",children:m.text})]},m.id))}),(s.body||s.rawText)&&e.jsx("pre",{className:"s-lane-sheet-doc-pre",children:s.body||s.rawText}),e.jsx("button",{type:"button",className:"s-lane-sheet-doc-open",onClick:l,children:"Open in Plans"})]})]})}function Ls({lane:s,navigate:t,returnRoute:c,onClose:l,navigationEnabled:r=!0,onPinProject:u,projectPinned:m=!1}){const{agent:d,observe:b,source:B,lastActiveAt:$}=s,{openFilePreview:A}=Ye(),X=i.useMemo(()=>Ve(d.state??null,d),[d]),w=i.useMemo(()=>ts(b,d,{isLive:X}),[b,d,X]),[D,Y]=i.useState(!1),[O,fe]=i.useState([]),[F,xe]=i.useState([]),[Oe,Fe]=i.useState(null),[_,Ee]=i.useState(!1),[Re,je]=i.useState(!1),[z,ge]=i.useState(!1),[ve,Z]=i.useState(null),[x,ee]=i.useState("s-lane-sheet-vitals"),E=i.useRef(null),se=i.useRef(null);i.useEffect(()=>()=>{E.current&&clearTimeout(E.current)},[]);const Ne=i.useCallback(a=>{typeof window>"u"||window.location.hash!==`#${a}`&&Xe({hash:a,replace:!1})},[]),W=i.useCallback(a=>{const h=se.current,f=h?.querySelector(`#${a}`);if(!h||!f)return!1;const g=h.getBoundingClientRect().top,y=f.getBoundingClientRect().top;return h.scrollTop=Math.max(0,h.scrollTop+y-g),ee(a),!0},[]),T=i.useCallback((a,h)=>{a.preventDefault(),W(h)&&Ne(h)},[W,Ne]),H=ds(d,B),Me=hs(d,B),n=i.useMemo(()=>$e(s),[s]),o=s.facts,I=o?.turn?.phase?o.turn.phase==="started":X,ae=ls(s),p=i.useMemo(()=>{const a=o?.touchedFiles.length?o.touchedFiles:is(b,1/0),h=ws(a,b),f=h.filter(v=>v.state==="created"),g=h.filter(v=>v.state==="modified"),y=h.filter(v=>v.state==="read"),M=[...f,...g];return{created:f,modified:g,read:y,changed:M,totalAdd:M.reduce((v,N)=>v+N.add,0),totalDel:M.reduce((v,N)=>v+N.del,0)}},[o,b]),q=p.changed.length+p.read.length,S=i.useMemo(()=>cs(b),[b]),te=i.useMemo(()=>p.changed.map(a=>ue(a.path,n.cwd)).join(`
2
2
  `),[p.changed,n.cwd]),be=i.useMemo(()=>{const a=[`agent: ${H}`],h=d.harness??n.harness,f=o?.model??n.model;(h||f||o?.effort)&&a.push(`harness: ${[h,f,o?.effort].filter(Boolean).join(" · ")}`);const g=o?.branch??n.branch;return g&&a.push(`branch: ${g}`),n.cwd&&a.push(`cwd: ${n.cwd}`),n.sessionId&&a.push(`session: ${n.sessionId}`),d.harnessLogPath&&a.push(`transcript: ${d.harnessLogPath}`),o?.originator&&a.push(`origin: ${o.originator}`),a.join(`
3
3
  `)},[d,o,H,n]),we=i.useMemo(()=>S.map(a=>a.command).join(`
4
4
  `),[S]),Be=i.useCallback(()=>{U(be)},[be]),_e=i.useCallback(()=>{U(we)},[we]),ze=i.useCallback(()=>{for(const a of p.changed)A(ue(a.path,n.cwd))},[p.changed,n.cwd,A]),We=i.useCallback(()=>{te&&U(te).then(a=>{a&&(je(!0),E.current&&clearTimeout(E.current),E.current=setTimeout(()=>je(!1),1100))})},[te]),j=o?.usage??n.usage,ke=i.useMemo(()=>j?[{label:"in",value:j.inputTokens},{label:"out",value:j.outputTokens},{label:"cache rd",value:j.cacheReadInputTokens},{label:"cache wr",value:j.cacheCreationInputTokens},{label:"total",value:j.totalTokens},{label:"reasoning",value:j.reasoningOutputTokens}].filter(a=>typeof a.value=="number"):[],[j]),k=i.useMemo(()=>Ue(j,{model:o?.model??n.model,adapterType:d.harness??n.harness}),[j,o?.model,n.model,d.harness,n.harness]),ne=!!(o?.compaction?.eligible&&us(d.harness??n.harness)&&n.sessionId),He=i.useCallback(async()=>{if(!(!ne||z)){ge(!0),Z(null);try{const a=await ms({harness:d.harness??n.harness,sessionId:n.sessionId,transcriptPath:d.harnessLogPath,agentId:d.id});(!a.ok||!a.delivered)&&Z(a.error??"Compaction was not delivered to the harness")}catch(a){Z(a instanceof Error?a.message:"Compaction request failed")}finally{ge(!1)}}},[d.harness,d.harnessLogPath,d.id,ne,z,n.harness,n.sessionId]),ye=$?de($):null,G=i.useMemo(()=>Pe(s),[s]),P=i.useMemo(()=>xs(s),[s]),J=i.useMemo(()=>fs(s),[s]),R=i.useCallback(()=>{!r||!G||(ie(t,G,{returnTo:c}),l())},[t,r,l,c,G]),le=i.useCallback(()=>{if(r){if(P){ie(t,P,{returnTo:c}),l();return}R()}},[t,r,l,R,P,c]),K=i.useCallback(()=>{!r||!J||(ie(t,J,{returnTo:c}),l())},[t,r,l,c,J]);i.useEffect(()=>{const a=h=>{if(!as(h.target))switch(h.key.toLowerCase()){case"o":h.preventDefault(),R();break;case"t":h.preventDefault(),K();break;case"p":if(!P)return;h.preventDefault(),le();break}};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[le,R,K,P]);const Ce=i.useCallback(a=>{r&&(t({view:"ops",mode:"advisor",planDocumentId:a}),l())},[t,r,l]);return i.useEffect(()=>{let a=!1;return Y(!1),me("/api/plan-documents").then(h=>{if(a)return;const f=rs(h.documents,s);fe(f.plans),xe(f.docs),Y(!0)}).catch(()=>{a||(fe([]),xe([]),Y(!0))}),()=>{a=!0}},[s.id]),i.useEffect(()=>{const a=()=>{const h=vs();h&&window.requestAnimationFrame(()=>{W(h)})};return a(),window.addEventListener("hashchange",a),window.addEventListener("popstate",a),()=>{window.removeEventListener("hashchange",a),window.removeEventListener("popstate",a)}},[s.id,S.length,W]),i.useEffect(()=>{const a=se.current;if(!a)return;let h=0;const f=()=>{h=0;const y=Ae.map(N=>a.querySelector(`#${N}`)).filter(N=>!!N);if(y.length===0)return;if(a.scrollTop+a.clientHeight>=a.scrollHeight-2){const N=y[y.length-1].id;he(N)&&ee(N);return}const M=a.getBoundingClientRect().top+18,v=y.reduce((N,Se)=>Se.getBoundingClientRect().top<=M?Se:N,y[0]);he(v.id)&&ee(v.id)},g=()=>{h||(h=window.requestAnimationFrame(f))};return f(),a.addEventListener("scroll",g,{passive:!0}),window.addEventListener("resize",g),()=>{h&&window.cancelAnimationFrame(h),a.removeEventListener("scroll",g),window.removeEventListener("resize",g)}},[S.length,D,O.length,F.length]),e.jsxs(qe,{open:!0,onClose:l,side:"right",owner:"openscout.agent-lane",resizable:!0,defaultSize:720,minSize:420,maxSize:960,scrollLock:!0,ariaLabel:`${H} lane detail`,className:"s-lane-sheet",children:[e.jsxs("div",{className:"s-slide-header s-lane-sheet-header",children:[e.jsx(Ge,{agent:d,placement:"row",size:28,presence:!1,className:"s-agent-lane-avatar"}),e.jsxs("div",{className:"s-lane-sheet-header-copy",children:[e.jsx("div",{className:"s-lane-sheet-title",children:H}),e.jsxs("div",{className:"s-lane-sheet-sub",children:[Me," · ",$?de($):"idle"]})]}),e.jsx("span",{className:"s-slide-spacer"}),e.jsxs("div",{className:"s-lane-sheet-header-cta",children:[e.jsx(Je,{harness:d.harness??n.harness,size:18,className:`s-lane-sheet-hmark${I?" s-lane-sheet-hmark--working":""}`}),r?e.jsxs(e.Fragment,{children:[e.jsx(C,{primary:!0,onClick:R,disabled:!G,children:"Open session"}),P?e.jsx(C,{onClick:le,children:"Agent profile"}):null,e.jsx(C,{onClick:K,disabled:!J,children:"Traces"})]}):null,ae?e.jsx(C,{onClick:()=>u?.(ae),disabled:m||!u,children:e.jsx("span",{title:ae,children:m?"Project pinned":"Pin project"})}):null]}),e.jsx("button",{type:"button",className:"s-slide-close",onClick:l,"aria-label":"Close",children:"×"})]}),e.jsxs("nav",{className:"s-lane-sheet-anchors","aria-label":"Jump to section",children:[e.jsx("a",{href:"#s-lane-sheet-vitals",className:`s-lane-sheet-anchor${x==="s-lane-sheet-vitals"?" s-lane-sheet-anchor--active":""}`,"aria-current":x==="s-lane-sheet-vitals"?"location":void 0,onClick:a=>T(a,"s-lane-sheet-vitals"),children:"Vitals"}),e.jsx("a",{href:"#s-lane-sheet-runtime",className:`s-lane-sheet-anchor${x==="s-lane-sheet-runtime"?" s-lane-sheet-anchor--active":""}`,"aria-current":x==="s-lane-sheet-runtime"?"location":void 0,onClick:a=>T(a,"s-lane-sheet-runtime"),children:"Runtime"}),e.jsxs("a",{href:"#s-lane-sheet-files",className:`s-lane-sheet-anchor${x==="s-lane-sheet-files"?" s-lane-sheet-anchor--active":""}`,"aria-current":x==="s-lane-sheet-files"?"location":void 0,onClick:a=>T(a,"s-lane-sheet-files"),children:["Files",q>0&&e.jsx("span",{className:"s-lane-sheet-anchor-n",children:q})]}),S.length>0&&e.jsxs("a",{href:"#s-lane-sheet-commands",className:`s-lane-sheet-anchor${x==="s-lane-sheet-commands"?" s-lane-sheet-anchor--active":""}`,"aria-current":x==="s-lane-sheet-commands"?"location":void 0,onClick:a=>T(a,"s-lane-sheet-commands"),children:["Commands",e.jsx("span",{className:"s-lane-sheet-anchor-n",children:S.length})]}),e.jsx("a",{href:"#s-lane-sheet-plans",className:`s-lane-sheet-anchor${x==="s-lane-sheet-plans"?" s-lane-sheet-anchor--active":""}`,"aria-current":x==="s-lane-sheet-plans"?"location":void 0,onClick:a=>T(a,"s-lane-sheet-plans"),children:"Plans"}),e.jsx("a",{href:"#s-lane-sheet-docs",className:`s-lane-sheet-anchor${x==="s-lane-sheet-docs"?" s-lane-sheet-anchor--active":""}`,"aria-current":x==="s-lane-sheet-docs"?"location":void 0,onClick:a=>T(a,"s-lane-sheet-docs"),children:"Docs"}),I&&o?.turn&&e.jsxs("span",{className:"s-lane-sheet-anchorbar-turn",children:["turn ",o.turn.phase,o.turn.index?` · #${o.turn.index}`:""]})]}),e.jsxs("div",{ref:se,className:`s-slide-body s-lane-sheet-body${I?" s-lane-sheet-body--working":" s-lane-sheet-body--idle"}`,children:[e.jsxs("section",{id:"s-lane-sheet-vitals",className:`s-lane-sheet-section s-lane-sheet-vitals${I?"":" s-lane-sheet-vitals--idle"}`,children:[w&&e.jsxs("div",{className:"s-lane-sheet-vitals-now",children:[e.jsxs("div",{className:"s-lane-sheet-vitals-now-top",children:[e.jsxs("span",{className:"s-lane-sheet-vitals-live","aria-hidden":"true",children:[e.jsx("span",{className:"s-lane-sheet-vitals-live-dot"}),e.jsx("span",{className:"s-lane-sheet-vitals-live-ring"})]}),e.jsx("span",{className:"s-lane-sheet-vitals-now-label",children:I?"executing now":"last action"}),I&&o?.turn&&e.jsxs("span",{className:"s-lane-sheet-vitals-now-turn",children:["turn ",o.turn.phase,o.turn.index?` · #${o.turn.index}`:""]})]}),e.jsxs("div",{className:"s-lane-sheet-vitals-well",children:[w.headlineFrom==="user"?e.jsx("span",{className:"s-lane-sheet-vitals-prompt","aria-hidden":"true",children:"←"}):w.headlineFrom==="agent"?e.jsx("span",{className:"s-lane-sheet-vitals-prompt","aria-hidden":"true",children:"→"}):e.jsx("span",{className:"s-lane-sheet-vitals-prompt s-lane-sheet-vitals-prompt--cmd","aria-hidden":"true",children:"❯"}),e.jsx("span",{className:"s-lane-sheet-vitals-cmd",title:w.headFull,children:w.headline}),I&&e.jsx("span",{className:"s-lane-sheet-vitals-caret","aria-hidden":"true"}),e.jsxs("span",{className:"s-lane-sheet-vitals-now-acts",children:[r&&e.jsx("button",{type:"button",className:"s-lane-sheet-reveal",title:"Open trace at this step","aria-label":"Open trace",onClick:K,children:e.jsx(pe,{size:11,strokeWidth:1.6})}),w.headFull&&w.headFull!==w.headline&&e.jsx(Q,{value:w.headFull,label:"current action"})]})]})]}),k&&e.jsxs("div",{className:`s-lane-sheet-vitals-gauge${k.overLimit?" s-lane-sheet-vitals-gauge--over":""}`,children:[e.jsxs("div",{className:"s-lane-sheet-vitals-gauge-top",children:[e.jsx("span",{className:"s-lane-sheet-vitals-gauge-label",children:"context"}),e.jsxs("span",{className:"s-lane-sheet-vitals-gauge-read",children:[e.jsx("b",{children:k.usedLabel}),e.jsxs("span",{className:"s-lane-sheet-vitals-gauge-of",children:[" / ",k.budgetLabel]}),e.jsx("span",{className:"s-lane-sheet-vitals-gauge-unit",children:" tokens"}),e.jsxs("span",{className:"s-lane-sheet-vitals-gauge-pct",children:[k.pct,"%",k.overLimit?" over":""]})]}),ne&&e.jsx("button",{type:"button",className:"s-lane-sheet-vitals-compact",onClick:()=>{He()},disabled:z,title:"Force a context compaction on this live session",children:z?"Compacting…":"Compact context"})]}),e.jsxs("div",{className:"s-lane-sheet-vitals-gaugebar",role:"meter","aria-label":"context budget","aria-valuenow":k.pct,"aria-valuemin":0,"aria-valuemax":Math.max(100,k.pct),children:[e.jsx("span",{className:"s-lane-sheet-vitals-gaugebar-fill",style:{width:`${Qe(k)}%`},children:e.jsx("span",{className:"s-lane-sheet-vitals-gaugebar-edge","aria-hidden":"true"})}),[25,50,75].map(a=>e.jsx("span",{className:"s-lane-sheet-vitals-gaugebar-tick",style:{left:`${a}%`},"aria-hidden":"true"},a))]}),ve&&e.jsx("div",{className:"s-lane-sheet-vitals-compact-error",role:"status",children:ve}),o?.compaction?.lastCompactedSummary&&e.jsxs("div",{className:"s-lane-sheet-vitals-compact-note",children:["last compaction · ",o.compaction.lastCompactedSummary]})]}),e.jsxs("div",{className:"s-lane-sheet-vitals-cadence",children:[e.jsx("b",{children:ce(n.events)})," events · ",e.jsx("b",{children:ce(n.tools)})," tools",ye?e.jsxs(e.Fragment,{children:[" · ",ye]}):null]})]}),e.jsxs("section",{id:"s-lane-sheet-runtime",className:"s-lane-sheet-section",children:[e.jsxs(Le,{label:"Runtime",hint:[d.harness??n.harness,o?.model??n.model].filter(Boolean).join(" · ")||void 0,children:[e.jsxs("dl",{className:"s-lane-sheet-meta",children:[e.jsx(L,{label:"Effort",value:o?.effort??"—"}),e.jsx(L,{label:"Branch",value:o?.branch??n.branch??"—",copy:o?.branch??n.branch??null}),e.jsx(L,{label:"Working dir",value:re(n.cwd),title:n.cwd??void 0,copy:n.cwd??null,reveal:n.cwd?{path:n.cwd,basePath:n.cwd,agentId:d.id,sessionId:n.sessionId}:void 0}),e.jsx(L,{label:"Session",value:re(n.sessionId,36),title:n.sessionId??void 0,copy:n.sessionId??null}),d.harnessLogPath&&e.jsx(L,{label:"Transcript",value:re(d.harnessLogPath,36),title:d.harnessLogPath,copy:d.harnessLogPath,reveal:{path:d.harnessLogPath,basePath:n.cwd,agentId:d.id,sessionId:n.sessionId}}),e.jsx(L,{label:"Origin",value:o?.originator??"—",copy:o?.originator??null}),e.jsx(L,{label:"Attribution",value:o?.attribution?Ke(o.attribution):"—"}),o?.currentTask&&e.jsx(L,{label:"Task",value:o.currentTask,title:o.currentTask,copy:o.currentTask})]}),e.jsx("div",{className:"s-lane-sheet-disc-bar",children:e.jsx(C,{onClick:Be,children:"Copy diagnostics"})})]}),ke.length>0&&e.jsx(Le,{label:"Tokens",hint:typeof j?.totalTokens=="number"?Ns(j.totalTokens):void 0,children:e.jsx("div",{className:"s-lane-sheet-dials",children:ke.map(a=>e.jsxs("span",{className:"s-lane-sheet-dial",children:[e.jsx("span",{className:"s-lane-sheet-dial-value",children:ce(a.value)}),e.jsx("span",{className:"s-lane-sheet-dial-label",children:a.label})]},a.label))})})]}),e.jsxs("section",{id:"s-lane-sheet-files",className:"s-lane-sheet-section",children:[e.jsx(V,{label:"Files",count:q>0?`${p.changed.length} changed · ${p.read.length} read`:void 0,actions:p.changed.length>0?e.jsxs(e.Fragment,{children:[(p.totalAdd>0||p.totalDel>0)&&e.jsxs("span",{className:"s-lane-sheet-file-diff","aria-hidden":"true",children:[p.totalAdd>0&&e.jsxs("span",{className:"s-lane-sheet-file-add",children:["+",p.totalAdd]}),p.totalDel>0&&e.jsxs("span",{className:"s-lane-sheet-file-del",children:["−",p.totalDel]})]}),e.jsx(C,{onClick:We,children:Re?"Copied":"Copy changed"}),e.jsx(C,{onClick:ze,children:"Open all → diff"})]}):void 0}),q===0?e.jsx("div",{className:"s-lane-sheet-empty",children:"No files touched in this session yet."}):e.jsxs("div",{className:"s-lane-sheet-filegroups",children:[p.created.length>0&&e.jsxs("div",{className:"s-lane-sheet-filegroup",children:[e.jsxs("div",{className:"s-lane-sheet-fglabel",children:[e.jsx("span",{className:"s-lane-sheet-fgmark s-lane-sheet-fgmark--created","aria-hidden":"true"}),"new",e.jsx("span",{className:"s-lane-sheet-fgcount",children:p.created.length})]}),e.jsx("div",{className:"s-lane-sheet-files",children:p.created.map(a=>e.jsx(oe,{file:a,basePath:n.cwd,agentId:d.id,sessionId:n.sessionId,onOpen:A},a.path))})]}),p.modified.length>0&&e.jsxs("div",{className:"s-lane-sheet-filegroup",children:[e.jsxs("div",{className:"s-lane-sheet-fglabel",children:[e.jsx("span",{className:"s-lane-sheet-fgmark s-lane-sheet-fgmark--modified","aria-hidden":"true"}),"modified",e.jsx("span",{className:"s-lane-sheet-fgcount",children:p.modified.length})]}),e.jsx("div",{className:"s-lane-sheet-files",children:p.modified.map(a=>e.jsx(oe,{file:a,basePath:n.cwd,agentId:d.id,sessionId:n.sessionId,onOpen:A},a.path))})]}),p.read.length>0&&e.jsxs("div",{className:"s-lane-sheet-filegroup",children:[e.jsxs("button",{type:"button",className:"s-lane-sheet-fglabel s-lane-sheet-fglabel--btn","aria-expanded":_,onClick:()=>Ee(a=>!a),children:[e.jsx("span",{className:`s-lane-sheet-fgcaret${_?" s-lane-sheet-fgcaret--open":""}`,"aria-hidden":"true",children:"›"}),e.jsx("span",{className:"s-lane-sheet-fgmark s-lane-sheet-fgmark--read","aria-hidden":"true"}),"read",e.jsx("span",{className:"s-lane-sheet-fgcount",children:p.read.length}),!_&&e.jsx("span",{className:"s-lane-sheet-fghint",children:"collapsed"})]}),_&&e.jsx("div",{className:"s-lane-sheet-files",children:p.read.map(a=>e.jsx(oe,{file:a,basePath:n.cwd,agentId:d.id,sessionId:n.sessionId,onOpen:A},a.path))})]})]})]}),S.length>0&&e.jsxs("section",{id:"s-lane-sheet-commands",className:"s-lane-sheet-section",children:[e.jsx(V,{label:"Commands",count:"recent",actions:e.jsx(C,{onClick:_e,children:"Copy all"})}),e.jsx("div",{className:"s-lane-sheet-cmds",children:S.map(a=>e.jsx(ys,{entry:a},a.id))})]}),e.jsxs("section",{id:"s-lane-sheet-plans",className:"s-lane-sheet-section",children:[e.jsx(V,{label:"Plans",count:D&&O.length>0?O.length:void 0}),D?O.length===0?e.jsx("div",{className:"s-lane-sheet-empty",children:"No plans matched this session yet."}):e.jsx("div",{className:"s-lane-sheet-plans",children:O.map(a=>e.jsx(Cs,{plan:a,onOpen:()=>Ce(a.id)},a.id))}):e.jsx("div",{className:"s-lane-sheet-empty",children:"Indexing plan documents…"})]}),e.jsxs("section",{id:"s-lane-sheet-docs",className:"s-lane-sheet-section",children:[e.jsx(V,{label:"Docs",count:D&&F.length>0?F.length:void 0}),D?F.length===0?e.jsx("div",{className:"s-lane-sheet-empty",children:"No related docs matched this session yet."}):e.jsx("div",{className:"s-lane-sheet-docs",children:F.map(a=>e.jsx(Ss,{document:a,expanded:Oe===a.id,onToggle:()=>Fe(h=>h===a.id?null:a.id),onOpen:()=>Ce(a.id)},a.id))}):e.jsx("div",{className:"s-lane-sheet-empty",children:"Indexing documents…"})]})]})]})}const Vs=Object.freeze(Object.defineProperty({__proto__:null,AgentLaneDetailSheet:Ls},Symbol.toStringTag,{value:"Module"}));export{Ls as A,Vs as a,Te as i};
@@ -1 +1 @@
1
- import{r as a,j as R}from"./index-EsrkGBcv.js";const d="openscout:agent-lanes-cockpit-height",S="openscout:agent-lanes-summary-height",m=48,i=220,_=120,h=112,T=80,C=200,H=112;function v(e){if(!e)return i;const t=e.getBoundingClientRect().height,r=Math.floor(t-H-C);return Math.max(m,Math.min(i,r))}function x(e){return e===null?"auto":e<T?"compact":e<h?"default":"stats"}function w(){try{const e=sessionStorage.getItem(d)??sessionStorage.getItem(S);if(!e||e==="auto")return null;const t=Number(e);return Number.isFinite(t)?Math.min(i,Math.max(m,t)):null}catch{return null}}function f(e){try{if(e===null){sessionStorage.setItem(d,"auto");return}sessionStorage.setItem(d,String(Math.round(e)))}catch{}}function y(e){const[t,r]=a.useState(!1),s=a.useRef({y:0,h:_,max:i}),c=a.useRef(null),L=a.useCallback((n,o)=>{n.preventDefault(),n.currentTarget.setPointerCapture(n.pointerId);const u=n.currentTarget.closest(".s-agent-lane"),l=u?.querySelector(".s-agent-lane-cockpit")?.getBoundingClientRect().height??_,p=o??l,A=v(u);s.current={y:n.clientY,h:p,max:A},c.current=p,r(!0),document.body.classList.add("s-agent-lanes--resizing-summary")},[]),E=a.useCallback(()=>{r(n=>(n&&(document.body.classList.remove("s-agent-lanes--resizing-summary"),f(c.current)),!1))},[]);a.useEffect(()=>{if(!t)return;const n=u=>{const g=u.clientY-s.current.y,l=Math.min(s.current.max,Math.max(m,s.current.h+g));c.current=l,e(l)},o=()=>E();return window.addEventListener("pointermove",n),window.addEventListener("pointerup",o),window.addEventListener("pointercancel",o),()=>{window.removeEventListener("pointermove",n),window.removeEventListener("pointerup",o),window.removeEventListener("pointercancel",o)}},[E,t,e]);const M=a.useCallback(()=>{c.current=null,e(null),f(null)},[e]);return{beginResize:L,resetSummaryHeight:M,resizing:t}}function z({cockpitHeight:e,children:t}){const r=e!==null,s=x(e);return R.jsx("div",{className:`s-agent-lane-cockpit${r?` s-agent-lane-cockpit--sized s-agent-lane-cockpit--${s}`:""}`,style:r?{height:e,maxHeight:e}:void 0,children:t})}function N({onResizeStart:e,onReset:t,active:r}){return R.jsx("div",{role:"separator","aria-orientation":"horizontal","aria-label":"Resize tools panel",title:"Drag to resize tools panel · double-click to reset","aria-valuemin":m,"aria-valuemax":i,className:`s-agent-lane-split${r?" s-agent-lane-split--active":""}`,onPointerDown:e,onDoubleClick:s=>{s.preventDefault(),s.stopPropagation(),t()}})}export{z as AgentLaneCockpitPane,N as AgentLaneSummaryResizeHandle,T as LANE_COCKPIT_COMPACT_HEIGHT,h as LANE_COCKPIT_STATS_HEIGHT,_ as LANE_SUMMARY_HEIGHT_DEFAULT,i as LANE_SUMMARY_HEIGHT_MAX,m as LANE_SUMMARY_HEIGHT_MIN,d as LANE_SUMMARY_HEIGHT_STORAGE_KEY,v as cockpitHeightMaxForLane,x as cockpitHeightTier,w as readStoredLaneSummaryHeight,y as useLaneSummaryResize,f as writeStoredLaneSummaryHeight};
1
+ import{r as a,j as R}from"./index-BFbLvCJn.js";const d="openscout:agent-lanes-cockpit-height",S="openscout:agent-lanes-summary-height",m=48,i=220,_=120,h=112,T=80,C=200,H=112;function v(e){if(!e)return i;const t=e.getBoundingClientRect().height,r=Math.floor(t-H-C);return Math.max(m,Math.min(i,r))}function x(e){return e===null?"auto":e<T?"compact":e<h?"default":"stats"}function w(){try{const e=sessionStorage.getItem(d)??sessionStorage.getItem(S);if(!e||e==="auto")return null;const t=Number(e);return Number.isFinite(t)?Math.min(i,Math.max(m,t)):null}catch{return null}}function f(e){try{if(e===null){sessionStorage.setItem(d,"auto");return}sessionStorage.setItem(d,String(Math.round(e)))}catch{}}function y(e){const[t,r]=a.useState(!1),s=a.useRef({y:0,h:_,max:i}),c=a.useRef(null),L=a.useCallback((n,o)=>{n.preventDefault(),n.currentTarget.setPointerCapture(n.pointerId);const u=n.currentTarget.closest(".s-agent-lane"),l=u?.querySelector(".s-agent-lane-cockpit")?.getBoundingClientRect().height??_,p=o??l,A=v(u);s.current={y:n.clientY,h:p,max:A},c.current=p,r(!0),document.body.classList.add("s-agent-lanes--resizing-summary")},[]),E=a.useCallback(()=>{r(n=>(n&&(document.body.classList.remove("s-agent-lanes--resizing-summary"),f(c.current)),!1))},[]);a.useEffect(()=>{if(!t)return;const n=u=>{const g=u.clientY-s.current.y,l=Math.min(s.current.max,Math.max(m,s.current.h+g));c.current=l,e(l)},o=()=>E();return window.addEventListener("pointermove",n),window.addEventListener("pointerup",o),window.addEventListener("pointercancel",o),()=>{window.removeEventListener("pointermove",n),window.removeEventListener("pointerup",o),window.removeEventListener("pointercancel",o)}},[E,t,e]);const M=a.useCallback(()=>{c.current=null,e(null),f(null)},[e]);return{beginResize:L,resetSummaryHeight:M,resizing:t}}function z({cockpitHeight:e,children:t}){const r=e!==null,s=x(e);return R.jsx("div",{className:`s-agent-lane-cockpit${r?` s-agent-lane-cockpit--sized s-agent-lane-cockpit--${s}`:""}`,style:r?{height:e,maxHeight:e}:void 0,children:t})}function N({onResizeStart:e,onReset:t,active:r}){return R.jsx("div",{role:"separator","aria-orientation":"horizontal","aria-label":"Resize tools panel",title:"Drag to resize tools panel · double-click to reset","aria-valuemin":m,"aria-valuemax":i,className:`s-agent-lane-split${r?" s-agent-lane-split--active":""}`,onPointerDown:e,onDoubleClick:s=>{s.preventDefault(),s.stopPropagation(),t()}})}export{z as AgentLaneCockpitPane,N as AgentLaneSummaryResizeHandle,T as LANE_COCKPIT_COMPACT_HEIGHT,h as LANE_COCKPIT_STATS_HEIGHT,_ as LANE_SUMMARY_HEIGHT_DEFAULT,i as LANE_SUMMARY_HEIGHT_MAX,m as LANE_SUMMARY_HEIGHT_MIN,d as LANE_SUMMARY_HEIGHT_STORAGE_KEY,v as cockpitHeightMaxForLane,x as cockpitHeightTier,w as readStoredLaneSummaryHeight,y as useLaneSummaryResize,f as writeStoredLaneSummaryHeight};
@@ -0,0 +1 @@
1
+ import{r as t,j as m}from"./index-BFbLvCJn.js";import{u as a}from"./Provider-BEXAZWd9.js";import{A as n}from"./AgentLanesView-CiISx7pu.js";import{l as c,m as l}from"./router-CJIx83Ia.js";import"./theme-vars-DNK0nn3k.js";import"./api-DSqpVKC7.js";import"./machine-scope-DJt9RZ2w.js";import"./sse-BVxO0zNp.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./agent-state-DDhnFEEP.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-D-VB5vdt.js";import"./runtime-picker-IRcTkMZ5.js";import"./scout-voice-Cdh6pCsb.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CCG7hG7z.js";import"./createLucideIcon-CKbjXlwv.js";import"./media-blobs-Bi8pxr1u.js";import"./index-CXzJ_hGx.js";import"./HarnessMark-CP-PWk2W.js";import"./conversation-model-FxDeWlle.js";import"./time-Dhsh_2EG.js";import"./conversations-DoAAO6kA.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-BYsEu9dZ.js";import"./keyboard-nav-CEe-ApvZ.js";import"./x-BcfhXYiF.js";import"./chevron-down-DEDSNJNY.js";import"./search-Bv2IONmc.js";import"./file-text-BOJQiS8p.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-mxzPxQQW.js";import"./TextDocumentSurface-DBslUq9k.js";import"./index-V8FYEUpD.js";import"./chevron-right-B02kAw12.js";import"./folder-C2emmTHq.js";import"./chevron-up-CzveykKG.js";import"./code-xml-E9gBuiVs.js";import"./arrow-left-DNjQHf4C.js";import"./arrow-right-A_yyXwoH.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DVhUsgOw.js";/* empty css */import"./tail-events-C6NWFB1N.js";import"./observe-M3rLosT5.js";import"./terminal-sessions-3RfJpen8.js";import"./types-B0PlfpKc.js";import"./useEmbedHeadline-BeeBDb7E.js";import"./AgentAvatar-Dn8TUv5W.js";import"./SpriteAvatar-D53GaaK3.js";import"./CrewAvatar-a_C_F9r_.js";import"./SessionObserve-Dw3bVQYF.js";import"./bash-format-BRV5C6Gv.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";import"./lane-tool-detail-Czggx8oM.js";import"./LaneToolHoverCard-B8Am_1DC.js";import"./lane-observe-CteDwdD-.js";import"./lane-ask-display-BTVSakyo.js";import"./mentions-s5oW4aQU.js";import"./AgentDetailCard-CI-ufaEP.js";import"./AgentLiveActions-CkRGkv13.js";import"./terminal-takeover-CXwdoZ5j.js";import"./openContent-C6XO6kr5.js";import"./eye-CD-_aphP.js";import"./terminal-DMBAZjPP.js";import"./message-markup-D1C7GzHo.js";import"./message-markup-BQW5jdJw.js";import"./SessionHopMenu-DX6PJPNk.js";import"./external-link-Df1R34rX.js";import"./ObservedTopologyPanel-Ci7emnnj.js";import"./ObserveTextFlow-C0oQEerY.js";import"./use-reduced-motion-DkdIQBwh.js";import"./proxy-k0ILOVkK.js";import"./SessionObserveEvidence-uD1OX-R5.js";import"./SessionContextStrip-BoiIxXvS.js";import"./message-circle-BB3rFCVD.js";import"./wrench-C-wjicn5.js";import"./AgentFloorView-D8tlGlgy.js";import"./AgentAdventures-5yBt-Zl3.js";import"./ReplayClock-wLpb4VqN.js";import"./SproutActionSprite-BrFCmgWS.js";/* empty css */import"./CrewSprite-CguHb2Ny.js";import"./agent-lanes-model-DMAdqCmK.js";import"./context-budget-8qFKqM-j.js";import"./adventure-playback-DTfkhIc0.js";import"./AdventureScenery-CGEcG0zV.js";import"./adventure-habitats-v1-M1lcpTJh.js";import"./AdventureReader-BICypcDY.js";import"./floor-preview-text-HrORUJ7D.js";/* empty css */import"./book-open-B_idZgTF.js";import"./scroll-text-CA0QxBHu.js";import"./ReplayLog-IUyQdklN.js";import"./AdventureEvidence-D5wq1vu8.js";import"./agent-lane-detail-Ti3trpfH.js";/* empty css */import"./arrow-up-right-DUW1A1Hb.js";/* empty css */import"./flag-CeKO8NoD.js";import"./pause-7mmEEvVx.js";import"./play-N5-hnPCV.js";import"./radio-Bjqmv997.js";import"./SharedWorkFloor-H-e2TVj9.js";import"./WorldMinimap-DL12pBw3.js";import"./WorldSky-BlPNvGLo.js";import"./WorldActorTalk-CHhFTiQV.js";import"./send-to-agent-session-CWDHHgFB.js";import"./FloorExchangePanel-DsG1cRzu.js";import"./floor-character-name-CqJPOlXb.js";import"./floor-message-passes-CO3Ix_wR.js";import"./shared-work-artifacts-DfNl9KTo.js";import"./floor-memory-YMM8AlLY.js";import"./CharacterFamilyPreview-Bj8oMD-5.js";import"./RenderedWorkerSprite-BNhFXMIo.js";import"./FloorMessagePasses-Cm3LbkHd.js";import"./WorkRunView-DLIzAsc3.js";import"./floor-context-model-rWKqaKmV.js";import"./agent-floor-actor-DW8zLht0.js";import"./SharedFloorCharacter-dnamlt1p.js";import"./WorldCharacter-CJGx2DVy.js";import"./RiggedWorkerCharacter-CF6fhzGd.js";import"./file-code-corner-DtMWHBN3.js";import"./FloorReplay-Bg7kA-tR.js";import"./AgentFloorWorld-DqmnQexg.js";/* empty css */import"./agent-floor-world-layout-hfMjuoui.js";import"./coffee-D0YEK6-l.js";import"./git-branch-C45vy8qT.js";/* empty css */import"./FloorTacticalHUD-4d-Hr-YL.js";import"./FloorSavedWork-BDOvV3mA.js";import"./pin-q_0gAA6i.js";/* empty css */import"./triangle-alert-BZikHKuT.js";import"./FloorResourcesSheet-Ba9HubO2.js";/* empty css */import"./synthetic-agent-routing-aduMYO7P.js";/* empty css */import"./FloorContextSheet-BfrXNoBn.js";import"./lane-roster-store-MraynTHP.js";import"./session-recap-lanes-D-eVJnpY.js";import"./message-square-BwqBIfv5.js";import"./AgentLanesPreflight-BQfj2twF.js";import"./AgentLaneChrome-RptImDFc.js";import"./AgentLaneCard-pppHFROz.js";/* empty css */import"./AgentLaneSummaryResize-DaIgwyVh.js";import"./clipboard-e3fSpeo7.js";import"./agent-lane-card-model-CeqQGp-8.js";import"./agent-lane-preview-Dpa3DuOn.js";import"./AgentLaneDetailSheet-BqbwGskh.js";import"./SlidePanel-D5oPQocF.js";import"./LaneTraceDetailSheet-CngYIxdI.js";import"./LaneTraceEventFocus-BRR_jcl9.js";function p(r){return new URLSearchParams(window.location.search).get(r)?.trim()||null}function ao(){const{agents:r,navigate:o}=a(),e=t.useMemo(()=>c(),[]),s=t.useMemo(()=>l(),[]),i=t.useMemo(()=>({harnessFilter:p("harness"),projectFilter:p("project")}),[]);return m.jsx("div",{className:"s-agent-lanes-embed","data-scout-theme":!0,children:m.jsx(n,{navigate:o,agents:r,embedded:!0,profileId:e,laneSize:s,harnessFilter:i.harnessFilter,projectFilter:i.projectFilter})})}export{ao as AgentLanesEmbedScreen};
@@ -1 +1 @@
1
- import{r as d,j as s}from"./index-EsrkGBcv.js";import{t as $}from"./time-Dhsh_2EG.js";const w=3,E=12;function z(e,n){return n===0&&(e.discovery==="loading"||e.recent==="loading")}function A(e){const n=e?.trim();return n?n.slice(0,13):null}function x(e){const n=e.lastEventAt;return typeof n=="number"&&Number.isFinite(n)&&n>0?n:e.mtimeMs}function D(e){return e.sessionId?.trim()||e.transcriptPath}function _(e){const n=e.max??E;if(e.discoveryPhase==="loading")return{cells:[],blindCells:Math.min(e.blindCells??w,n),identified:!1};const i=e.discovery?.transcripts??[],a=new Set,t=[];for(const l of i.filter(c=>{if(e.matchTranscript&&!e.matchTranscript(c))return!1;const r=e.now-x(c);return r>=0?r<=e.windowMs:!0}).sort((c,r)=>x(r)-x(c))){const c=D(l);if(!a.has(c)&&(a.add(c),t.push({key:c,source:l.source,sessionLabel:A(l.sessionId),project:l.project,cwd:l.cwd,lastActiveAt:x(l)}),t.length>=n))break}return{cells:t,blindCells:0,identified:!0}}function T(e){return e.sessionLabel?`${e.source}:${e.sessionLabel}`:e.source}const I=260,P=100;function B(e,n){const[i,a]=d.useState(e),[t,l]=d.useState(!1);return d.useEffect(()=>{if(e){a(!0),l(!1);return}if(!i)return;if(n<=0){a(!1),l(!1);return}l(!0);const c=setTimeout(()=>{a(!1),l(!1)},n);return()=>clearTimeout(c)},[e,n,i]),{visible:i,exiting:t}}function R(e,n){const i=d.useRef(Date.now()),[a,t]=d.useState({discoveryMs:null,recentMs:null,deckMs:null}),[l,c]=d.useState(0);return d.useEffect(()=>{t(r=>{const o=r.discoveryMs===null&&e.discovery!=="loading"?Date.now()-i.current:r.discoveryMs,m=r.recentMs===null&&e.recent!=="loading"?Date.now()-i.current:r.recentMs;return o===r.discoveryMs&&m===r.recentMs?r:{...r,discoveryMs:o,recentMs:m}})},[e.discovery,e.recent]),d.useEffect(()=>{n&&t(r=>r.deckMs===null?{...r,deckMs:Date.now()-i.current}:r)},[n]),d.useEffect(()=>{if(a.deckMs!==null)return;const r=()=>c(Date.now()-i.current);r();const o=setInterval(r,P);return()=>clearInterval(o)},[a.deckMs]),{...a,elapsedMs:l}}function N({seed:e,rows:n}){const i=d.useMemo(()=>{const a=[68,92,54,80,61,74];return Array.from({length:n},(t,l)=>a[(e+l)%a.length])},[n,e]);return s.jsx("div",{className:"s-lane-pre-bars","aria-hidden":"true",children:i.map((a,t)=>s.jsx("span",{className:"s-lane-pre-bar",style:{width:`${a}%`,animationDelay:`${e*110+t*90}ms`}},`${t}-${a}`))})}function S({cell:e,index:n,nowMs:i,style:a}){if(!e)return s.jsxs("div",{className:"s-lane-pre s-lane-pre--blind",style:a,"aria-hidden":"true",children:[s.jsxs("div",{className:"s-lane-pre-head",children:[s.jsx("span",{className:"s-lane-pre-ghost s-lane-pre-ghost--dot"}),s.jsx("span",{className:"s-lane-pre-ghost s-lane-pre-ghost--name"}),s.jsx("span",{className:"s-lane-pre-spacer"}),s.jsx("span",{className:"s-lane-pre-ghost s-lane-pre-ghost--meta"})]}),s.jsx(N,{seed:n,rows:6})]});const t=[e.project,e.cwd].find(l=>!!l)??"—";return s.jsxs("div",{className:"s-lane-pre",style:a,children:[s.jsxs("div",{className:"s-lane-pre-head",children:[s.jsx("span",{className:"s-lane-pre-dot","aria-hidden":"true"}),s.jsx("span",{className:"s-lane-pre-title",children:T(e)}),s.jsx("span",{className:"s-lane-pre-where",title:e.cwd??t,children:t}),s.jsx("span",{className:"s-lane-pre-spacer"}),s.jsx("span",{className:"s-lane-pre-age",children:$(e.lastActiveAt,i)})]}),s.jsx(N,{seed:n,rows:5})]})}function F({discovery:e,discoveryPhase:n,windowMs:i,nowMs:a,layout:t,gridColumns:l,laneWidthPx:c,matchTranscript:r}){const o=t==="grid",m=d.useMemo(()=>_({discovery:e,discoveryPhase:n,windowMs:i,now:a,matchTranscript:r}),[e,n,r,a,i]),h=m.identified?m.cells:Array.from({length:m.blindCells},()=>null);if(t==="none"||h.length===0)return s.jsx("div",{className:"s-agent-lanes-preflight-empty","aria-hidden":"true"});const p=h.map((f,b)=>s.jsx(S,{cell:f,index:b,nowMs:a,style:o?void 0:{width:`${c}px`,flex:"none"}},f?.key??`blind-${b}`));return o?s.jsx("div",{className:"s-agent-lanes-grid s-agent-lanes-grid--preflight","data-grid-columns":l,"aria-label":"Lane deck loading",children:p}):s.jsx("div",{className:"s-agent-lanes-body",children:s.jsx("section",{className:"s-agent-lanes-zone s-agent-lanes-zone--main",children:s.jsx("div",{className:"s-agent-lanes-scroll","aria-label":"Lane deck loading",children:p})})})}function y(e){return e==="ready"?"OK":e==="error"?"WARN":"RUN"}function j(e){return`s-lane-boot-step s-lane-boot-step--${e}`}function u(e,n){return`${e.toLocaleString()} ${n}${e===1?"":"s"}`}function g(e){return e===null?"":`${Math.round(e)}ms`}function K({loadState:e,sourceCount:n,processCount:i,eventCount:a,laneCount:t,horizonLabel:l,handedOff:c,exiting:r}){const o=R(e,c),m=e.discovery!=="loading"&&e.recent!=="loading",h=e.discovery==="ready"?`${u(n,"session source")} indexed`:e.discovery==="error"?"session source scan unavailable":"scanning local transcripts and harness processes",p=e.recent==="ready"?`${u(a,"recent event")} merged`:e.recent==="error"?"history replay unavailable; live signals remain enabled":`reading turns and tool output for the ${l} view`,f=t>0?`${u(t,"lane")} composed`:e.recent==="error"?`${u(a,"live signal")} in, no history`:a>0?`${u(a,"signal")} in, waiting on replay`:"waiting on first signals",b=e.discovery==="ready"?"done":e.discovery==="error"?"warn":"running",v=e.recent==="ready"?"done":e.recent==="error"?"warn":e.discovery==="loading"?"pending":"running",L=c?"done":e.recent==="loading"?"pending":"running",M=o.deckMs!==null?g(o.deckMs):o.elapsedMs<1e3?g(o.elapsedMs):`${(o.elapsedMs/1e3).toFixed(1)}s`,k=t>0;return s.jsxs("div",{className:["s-lane-boot",k?"s-lane-boot--bare":null,r?"s-lane-boot--exiting":null].filter(Boolean).join(" "),role:"status","aria-live":"polite","aria-busy":!m,children:[s.jsx("div",{className:"s-lane-boot-veil","aria-hidden":"true"}),s.jsxs("div",{className:"s-lane-boot-sheet",children:[s.jsxs("div",{className:"s-lane-boot-head",children:[s.jsx("span",{className:`s-lane-boot-dot${m?" s-lane-boot-dot--done":""}`,"aria-hidden":"true"}),s.jsx("span",{className:"s-lane-boot-lead",children:"Starting agent tail"}),s.jsxs("span",{className:"s-lane-boot-count",children:[n.toLocaleString()," sources"]}),s.jsxs("span",{className:"s-lane-boot-count",children:[i.toLocaleString()," live"]}),s.jsxs("span",{className:"s-lane-boot-count",children:[a.toLocaleString()," events"]}),t>0?s.jsxs("span",{className:"s-lane-boot-count",children:[t.toLocaleString()," lanes"]}):null,s.jsx("span",{className:"s-lane-boot-spacer"}),s.jsxs("span",{className:"s-lane-boot-meta",children:["lookback ",l]}),s.jsx("span",{className:"s-lane-boot-elapsed","aria-hidden":"true",children:M})]}),s.jsxs("div",{className:"s-lane-boot-log",children:[s.jsxs("div",{className:j(b),children:[s.jsx("span",{className:"s-lane-boot-state",children:y(e.discovery)}),s.jsx("strong",{className:"s-lane-boot-name",children:"discover sessions"}),s.jsx("code",{className:"s-lane-boot-detail",children:h}),s.jsx("span",{className:"s-lane-boot-timing",children:g(o.discoveryMs)})]}),s.jsxs("div",{className:j(v),children:[s.jsx("span",{className:"s-lane-boot-state",children:y(e.recent)}),s.jsx("strong",{className:"s-lane-boot-name",children:"replay recent tail"}),s.jsx("code",{className:"s-lane-boot-detail",children:p}),s.jsx("span",{className:"s-lane-boot-timing",children:g(o.recentMs)})]}),s.jsxs("div",{className:j(L),children:[s.jsx("span",{className:"s-lane-boot-state",children:c?"OK":"LIVE"}),s.jsx("strong",{className:"s-lane-boot-name",children:"assemble lanes"}),s.jsx("code",{className:"s-lane-boot-detail",children:f}),s.jsx("span",{className:"s-lane-boot-timing",children:g(o.deckMs)})]})]})]})]})}const G=Object.freeze(Object.defineProperty({__proto__:null,AgentLanesLoadingSheet:K,AgentLanesPreflightDeck:F,LANE_BOOT_EXIT_MS:I,useLaneBootVisibility:B},Symbol.toStringTag,{value:"Module"}));export{F as A,I as L,K as a,G as b,z as s,B as u};
1
+ import{r as d,j as s}from"./index-BFbLvCJn.js";import{t as $}from"./time-Dhsh_2EG.js";const w=3,E=12;function z(e,n){return n===0&&(e.discovery==="loading"||e.recent==="loading")}function A(e){const n=e?.trim();return n?n.slice(0,13):null}function x(e){const n=e.lastEventAt;return typeof n=="number"&&Number.isFinite(n)&&n>0?n:e.mtimeMs}function D(e){return e.sessionId?.trim()||e.transcriptPath}function _(e){const n=e.max??E;if(e.discoveryPhase==="loading")return{cells:[],blindCells:Math.min(e.blindCells??w,n),identified:!1};const i=e.discovery?.transcripts??[],a=new Set,t=[];for(const l of i.filter(c=>{if(e.matchTranscript&&!e.matchTranscript(c))return!1;const r=e.now-x(c);return r>=0?r<=e.windowMs:!0}).sort((c,r)=>x(r)-x(c))){const c=D(l);if(!a.has(c)&&(a.add(c),t.push({key:c,source:l.source,sessionLabel:A(l.sessionId),project:l.project,cwd:l.cwd,lastActiveAt:x(l)}),t.length>=n))break}return{cells:t,blindCells:0,identified:!0}}function T(e){return e.sessionLabel?`${e.source}:${e.sessionLabel}`:e.source}const I=260,P=100;function B(e,n){const[i,a]=d.useState(e),[t,l]=d.useState(!1);return d.useEffect(()=>{if(e){a(!0),l(!1);return}if(!i)return;if(n<=0){a(!1),l(!1);return}l(!0);const c=setTimeout(()=>{a(!1),l(!1)},n);return()=>clearTimeout(c)},[e,n,i]),{visible:i,exiting:t}}function R(e,n){const i=d.useRef(Date.now()),[a,t]=d.useState({discoveryMs:null,recentMs:null,deckMs:null}),[l,c]=d.useState(0);return d.useEffect(()=>{t(r=>{const o=r.discoveryMs===null&&e.discovery!=="loading"?Date.now()-i.current:r.discoveryMs,m=r.recentMs===null&&e.recent!=="loading"?Date.now()-i.current:r.recentMs;return o===r.discoveryMs&&m===r.recentMs?r:{...r,discoveryMs:o,recentMs:m}})},[e.discovery,e.recent]),d.useEffect(()=>{n&&t(r=>r.deckMs===null?{...r,deckMs:Date.now()-i.current}:r)},[n]),d.useEffect(()=>{if(a.deckMs!==null)return;const r=()=>c(Date.now()-i.current);r();const o=setInterval(r,P);return()=>clearInterval(o)},[a.deckMs]),{...a,elapsedMs:l}}function N({seed:e,rows:n}){const i=d.useMemo(()=>{const a=[68,92,54,80,61,74];return Array.from({length:n},(t,l)=>a[(e+l)%a.length])},[n,e]);return s.jsx("div",{className:"s-lane-pre-bars","aria-hidden":"true",children:i.map((a,t)=>s.jsx("span",{className:"s-lane-pre-bar",style:{width:`${a}%`,animationDelay:`${e*110+t*90}ms`}},`${t}-${a}`))})}function S({cell:e,index:n,nowMs:i,style:a}){if(!e)return s.jsxs("div",{className:"s-lane-pre s-lane-pre--blind",style:a,"aria-hidden":"true",children:[s.jsxs("div",{className:"s-lane-pre-head",children:[s.jsx("span",{className:"s-lane-pre-ghost s-lane-pre-ghost--dot"}),s.jsx("span",{className:"s-lane-pre-ghost s-lane-pre-ghost--name"}),s.jsx("span",{className:"s-lane-pre-spacer"}),s.jsx("span",{className:"s-lane-pre-ghost s-lane-pre-ghost--meta"})]}),s.jsx(N,{seed:n,rows:6})]});const t=[e.project,e.cwd].find(l=>!!l)??"—";return s.jsxs("div",{className:"s-lane-pre",style:a,children:[s.jsxs("div",{className:"s-lane-pre-head",children:[s.jsx("span",{className:"s-lane-pre-dot","aria-hidden":"true"}),s.jsx("span",{className:"s-lane-pre-title",children:T(e)}),s.jsx("span",{className:"s-lane-pre-where",title:e.cwd??t,children:t}),s.jsx("span",{className:"s-lane-pre-spacer"}),s.jsx("span",{className:"s-lane-pre-age",children:$(e.lastActiveAt,i)})]}),s.jsx(N,{seed:n,rows:5})]})}function F({discovery:e,discoveryPhase:n,windowMs:i,nowMs:a,layout:t,gridColumns:l,laneWidthPx:c,matchTranscript:r}){const o=t==="grid",m=d.useMemo(()=>_({discovery:e,discoveryPhase:n,windowMs:i,now:a,matchTranscript:r}),[e,n,r,a,i]),h=m.identified?m.cells:Array.from({length:m.blindCells},()=>null);if(t==="none"||h.length===0)return s.jsx("div",{className:"s-agent-lanes-preflight-empty","aria-hidden":"true"});const p=h.map((f,b)=>s.jsx(S,{cell:f,index:b,nowMs:a,style:o?void 0:{width:`${c}px`,flex:"none"}},f?.key??`blind-${b}`));return o?s.jsx("div",{className:"s-agent-lanes-grid s-agent-lanes-grid--preflight","data-grid-columns":l,"aria-label":"Lane deck loading",children:p}):s.jsx("div",{className:"s-agent-lanes-body",children:s.jsx("section",{className:"s-agent-lanes-zone s-agent-lanes-zone--main",children:s.jsx("div",{className:"s-agent-lanes-scroll","aria-label":"Lane deck loading",children:p})})})}function y(e){return e==="ready"?"OK":e==="error"?"WARN":"RUN"}function j(e){return`s-lane-boot-step s-lane-boot-step--${e}`}function u(e,n){return`${e.toLocaleString()} ${n}${e===1?"":"s"}`}function g(e){return e===null?"":`${Math.round(e)}ms`}function K({loadState:e,sourceCount:n,processCount:i,eventCount:a,laneCount:t,horizonLabel:l,handedOff:c,exiting:r}){const o=R(e,c),m=e.discovery!=="loading"&&e.recent!=="loading",h=e.discovery==="ready"?`${u(n,"session source")} indexed`:e.discovery==="error"?"session source scan unavailable":"scanning local transcripts and harness processes",p=e.recent==="ready"?`${u(a,"recent event")} merged`:e.recent==="error"?"history replay unavailable; live signals remain enabled":`reading turns and tool output for the ${l} view`,f=t>0?`${u(t,"lane")} composed`:e.recent==="error"?`${u(a,"live signal")} in, no history`:a>0?`${u(a,"signal")} in, waiting on replay`:"waiting on first signals",b=e.discovery==="ready"?"done":e.discovery==="error"?"warn":"running",v=e.recent==="ready"?"done":e.recent==="error"?"warn":e.discovery==="loading"?"pending":"running",L=c?"done":e.recent==="loading"?"pending":"running",M=o.deckMs!==null?g(o.deckMs):o.elapsedMs<1e3?g(o.elapsedMs):`${(o.elapsedMs/1e3).toFixed(1)}s`,k=t>0;return s.jsxs("div",{className:["s-lane-boot",k?"s-lane-boot--bare":null,r?"s-lane-boot--exiting":null].filter(Boolean).join(" "),role:"status","aria-live":"polite","aria-busy":!m,children:[s.jsx("div",{className:"s-lane-boot-veil","aria-hidden":"true"}),s.jsxs("div",{className:"s-lane-boot-sheet",children:[s.jsxs("div",{className:"s-lane-boot-head",children:[s.jsx("span",{className:`s-lane-boot-dot${m?" s-lane-boot-dot--done":""}`,"aria-hidden":"true"}),s.jsx("span",{className:"s-lane-boot-lead",children:"Starting agent tail"}),s.jsxs("span",{className:"s-lane-boot-count",children:[n.toLocaleString()," sources"]}),s.jsxs("span",{className:"s-lane-boot-count",children:[i.toLocaleString()," live"]}),s.jsxs("span",{className:"s-lane-boot-count",children:[a.toLocaleString()," events"]}),t>0?s.jsxs("span",{className:"s-lane-boot-count",children:[t.toLocaleString()," lanes"]}):null,s.jsx("span",{className:"s-lane-boot-spacer"}),s.jsxs("span",{className:"s-lane-boot-meta",children:["lookback ",l]}),s.jsx("span",{className:"s-lane-boot-elapsed","aria-hidden":"true",children:M})]}),s.jsxs("div",{className:"s-lane-boot-log",children:[s.jsxs("div",{className:j(b),children:[s.jsx("span",{className:"s-lane-boot-state",children:y(e.discovery)}),s.jsx("strong",{className:"s-lane-boot-name",children:"discover sessions"}),s.jsx("code",{className:"s-lane-boot-detail",children:h}),s.jsx("span",{className:"s-lane-boot-timing",children:g(o.discoveryMs)})]}),s.jsxs("div",{className:j(v),children:[s.jsx("span",{className:"s-lane-boot-state",children:y(e.recent)}),s.jsx("strong",{className:"s-lane-boot-name",children:"replay recent tail"}),s.jsx("code",{className:"s-lane-boot-detail",children:p}),s.jsx("span",{className:"s-lane-boot-timing",children:g(o.recentMs)})]}),s.jsxs("div",{className:j(L),children:[s.jsx("span",{className:"s-lane-boot-state",children:c?"OK":"LIVE"}),s.jsx("strong",{className:"s-lane-boot-name",children:"assemble lanes"}),s.jsx("code",{className:"s-lane-boot-detail",children:f}),s.jsx("span",{className:"s-lane-boot-timing",children:g(o.deckMs)})]})]})]})]})}const G=Object.freeze(Object.defineProperty({__proto__:null,AgentLanesLoadingSheet:K,AgentLanesPreflightDeck:F,LANE_BOOT_EXIT_MS:I,useLaneBootVisibility:B},Symbol.toStringTag,{value:"Module"}));export{F as A,I as L,K as a,G as b,z as s,B as u};
@@ -1,2 +1,2 @@
1
- import{r,j as o}from"./index-EsrkGBcv.js";/* empty css */import{a as dn}from"./api-DSqpVKC7.js";import{u as Gn}from"./tail-events-d0yAYxR0.js";import{i as _e,o as un}from"./surface-activity-B1rgWB1i.js";import{u as Kn}from"./observe-BJqERJVj.js";import{f as Un}from"./terminal-sessions-3RfJpen8.js";import{n as fn}from"./agent-state-DDhnFEEP.js";import{S as qn}from"./Provider-C35yu29I.js";import{d as Yn}from"./types-B0PlfpKc.js";import{u as Zn}from"./useEmbedHeadline-D6pJRxUg.js";import{A as Xn}from"./AgentAvatar-CrP1eXxk.js";import{h as Jn,S as Qn}from"./SessionObserve-DXxBvejJ.js";import{X as et,Y as mn,Z as nt,_ as tt,$ as st,a0 as Qe,a1 as at,a2 as rt,a3 as ot,a4 as it,a5 as lt,a6 as Ce,a7 as ct,a8 as dt,a9 as ut,aa as hn,ab as ft,ac as mt,m as gn,n as pn}from"./router-DCtl8wqb.js";import{AgentFloorView as ht}from"./AgentFloorView-DH4jiDgw.js";import{u as gt,s as pt,A as Lt,a as yt,L as bt}from"./AgentLanesPreflight-Ry-aqDTr.js";import{AgentLaneChrome as vt}from"./AgentLaneChrome-TF1SlJSc.js";import{AgentLaneCard as St}from"./AgentLaneCard-BaZ2g-f8.js";import{a as kt}from"./agent-lane-card-model-CeqQGp-8.js";import{c as xt}from"./agent-lane-detail-Ti3trpfH.js";import{i as wt,A as Et}from"./AgentLaneDetailSheet-EzEPsn3g.js";import{LaneTraceDetailSheet as Nt}from"./LaneTraceDetailSheet-DYrd0BIf.js";import{readStoredLaneSummaryHeight as Rt,useLaneSummaryResize as jt,AgentLaneSummaryResizeHandle as Ct}from"./AgentLaneSummaryResize-dpp7YvrX.js";import{A as ge,l as J,k as It,m as Ln,n as At,e as Tt,g as _t,p as Pt,r as Dt,d as yn,D as Mt,h as zt,i as Ot}from"./agent-lanes-model-DMAdqCmK.js";import{i as $t,c as Ft,n as en}from"./keyboard-nav-DDHegDbx.js";import{p as nn}from"./lane-roster-store-D-RSWjb-.js";import{b as tn}from"./session-recap-lanes-D-eVJnpY.js";function Pe(e){return[e.source,e.sessionId,e.ts,e.kind,e.summary].join("\0")}function Wt(e){const n=new Set,t=[];for(const s of e){const i=Pe(s);n.has(i)||(n.add(i),t.push(s))}return t}function Ht(e,n){return e.length<=n?e:[...e].sort((t,s)=>t.ts-s.ts).slice(e.length-n)}function Bt(e,n,t){const s=Pe(n);for(const l of e)if(Pe(l)===s)return e;const i=[...e,n];return i.length>t?i.slice(i.length-t):i}function Vt(e,n,t){return Ht(Wt([...n,...e]),t)}const Gt=500;function Ie(e){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):null}function Kt(e){return JSON.stringify([Ie(e.recentLimit),e.includeTranscriptReplay,Ie(e.recentWindowMs),e.discoveryScope??null,Ie(e.discoveryLimit)])}function Ut(e,n){return e==="error"||n==="error"}function qt(e,n){return n?Math.min(e,Gt):e}async function Yt(e){const n=await e.load(!1);if(e.publish(n,"live"),e.markReady(),!e.includeTranscriptReplay)return{replay:"not-requested"};try{return e.publish(await e.load(!0),"replay"),{replay:"loaded"}}catch{return{replay:"failed"}}}function Zt(e){return e.discovery==="error"||e.recent==="error"?e.discoveryLoaded&&e.recentLoaded?"degraded":"blank":"none"}const Xt=500,Jt=6e4;function Qt(){return{generatedAt:Date.now(),processes:[],transcripts:[],totals:{total:0,scoutManaged:0,hudsonManaged:0,unattributed:0,transcripts:0}}}async function es(e,n,t){const s=new URLSearchParams({limit:String(e)});return n&&s.set("transcripts","true"),typeof t=="number"&&Number.isFinite(t)&&t>0&&s.set("windowMs",String(Math.floor(t))),(await dn(`/api/tail/recent?${s.toString()}`)).events??[]}function ns(e,n){const t=new URLSearchParams;e&&t.set("scope",e),typeof n=="number"&&Number.isFinite(n)&&n>0&&t.set("limit",String(Math.floor(n)));const s=t.toString();return s?`/api/tail/discover?${s}`:"/api/tail/discover"}function ts(e){const n=e?.recentLimit??Xt,t=e?.enabled??!0,s=e?.discoveryIntervalMs??Jt,i=e?.includeTranscriptReplay??!1,l=e?.discoveryScope,f=e?.discoveryLimit,b=e?.recentWindowMs,u=e?.pauseWhenHidden??!1,d=Kt({recentLimit:n,includeTranscriptReplay:i,recentWindowMs:b,discoveryScope:l,discoveryLimit:f}),[m,c]=r.useState(null),[g,p]=r.useState([]),[v,w]=r.useState({discovery:"loading",recent:"loading",discoveryLoaded:!1,recentLoaded:!1}),P=r.useRef("loading"),y=r.useRef("idle"),R=r.useRef(null),C=r.useRef(null),S=r.useRef(0);Gn(L=>{p(k=>Bt(k,L,n))},t);const D=r.useCallback((L=!1)=>{if(!t||u&&!L&&!_e())return Promise.resolve();L&&(P.current="loading",w(j=>({...j,recent:"loading"})));const k=d,x=C.current;if(x?.key===k)return x.promise;const A=++S.current;y.current=i?"loading":"ready";let z;return z=Yt({includeTranscriptReplay:i,load:j=>es(j?n:qt(n,i),j,b),publish:(j,H)=>{if(A!==S.current)return;const V=()=>{p(F=>Vt(F,j,n))};H==="replay"?r.startTransition(V):V()},markReady:()=>{A===S.current&&(P.current="ready",w(j=>({...j,recent:"ready",recentLoaded:!0})))}}).then(j=>{A===S.current&&(i&&(y.current=j.replay==="failed"?"error":"ready"),j.replay!=="failed"&&(R.current=d))}).catch(()=>{A===S.current&&(P.current="error",i&&(y.current="error"),w(j=>({...j,recent:"error"})))}).finally(()=>{C.current?.promise===z&&(C.current=null)}),C.current={key:k,promise:z},z},[t,d,i,u,n,b]),I=r.useCallback(async(L=!1)=>{if(t&&!(u&&!L&&!_e())){L&&w(k=>({...k,discovery:"loading"}));try{const k=await dn(ns(l,f));c(k),w(x=>({...x,discovery:"ready",discoveryLoaded:!0})),Ut(P.current,y.current)&&D()}catch{c(k=>k??Qt()),w(k=>({...k,discovery:"error"}))}}},[f,l,t,u,D]),M=r.useCallback(async()=>{await Promise.all([I(!0),D(!0)])},[I,D]);return r.useEffect(()=>{if(!t)return;let L=!1,k=!0;const x=()=>{L||I(k),k=!1};x();const A=setInterval(x,s),z=u?un(x):null;return()=>{L=!0,clearInterval(A),z?.()}},[s,t,u,I]),r.useEffect(()=>{t||(S.current+=1,C.current=null,R.current=null,y.current="idle")},[t]),r.useEffect(()=>{t&&R.current!==d&&D(!0)},[t,d,D]),{discovery:m,events:g,loadState:v,refreshDiscovery:I,retryInitialLoad:M}}function ss({lanes:e,inspectedLaneId:n,onInspect:t,onHorizonChange:s,onTogglePin:i}){const[l,f]=r.useState(-1),b=r.useRef(new Map);r.useEffect(()=>{if(l<0)return;if(l>=e.length){f(e.length-1);return}const m=e[l];if(!m)return;const c=b.current.get(m.id);c?.scrollIntoView({block:"nearest",inline:"nearest"}),c?.focus()},[l,e]),r.useEffect(()=>{n||l>=e.length&&f(e.length>0?e.length-1:-1)},[l,n,e.length]);const u=r.useCallback((m,c)=>{c?b.current.set(m,c):b.current.delete(m)},[]);r.useEffect(()=>{const m=c=>{if(!document.querySelector(".s-agent-lanes")||$t(c.target)||Ft()||n||e.length===0)return;const g=Number(c.key)-1;if(!c.metaKey&&!c.ctrlKey&&!c.altKey&&g>=0&&g<ge.length){c.preventDefault(),s(ge[g].key);return}if(c.key==="ArrowDown"||c.key==="j"){c.preventDefault(),f(p=>en(p,e.length,1));return}if(c.key==="ArrowUp"||c.key==="k"){c.preventDefault(),f(p=>en(p,e.length,-1));return}if(c.key==="Home"||c.key==="g"&&!c.shiftKey){c.preventDefault(),f(0);return}if(c.key==="End"||c.key==="G"){c.preventDefault(),f(e.length-1);return}if(c.key==="Enter"||c.key==="i"){const p=l<0?0:l,v=e[p];if(!v)return;c.preventDefault(),f(p),t(v);return}if(c.key.toLowerCase()==="p"&&i){const p=l<0?0:l,v=e[p];if(!v)return;c.preventDefault(),f(p),i(v)}};return window.addEventListener("keydown",m),()=>window.removeEventListener("keydown",m)},[l,n,e,s,t,i]);const d=r.useCallback((m,c)=>({"data-cursor":l===m?!0:void 0,tabIndex:l===m?0:-1,ref:g=>u(c,g),onFocus:()=>f(m)}),[l,u]);return{focusedIndex:l,getLaneFocusProps:d}}function as(e){return e.trim().replace(/\/+$/u,"").split(/[\\/]/u).filter(Boolean).pop()?.trim()||null}function he(e){return e.trim().toLowerCase().replace(/['"]/gu,"").replace(/[^a-z0-9]+/gu,"-").replace(/^-+|-+$/gu,"")}function bn(e,n){if(!n)return!0;const t=he(n);return e.some(s=>{const i=s?.trim();if(!i)return!1;const l=i.toLowerCase(),f=as(i);return l===n||he(i)===t||!!(f&&(f.toLowerCase()===n||he(f)===t))})}function rs(e,n){const t=n?.trim().toLowerCase()||null,{agent:s,facts:i,source:l}=e;return bn([s.harness,s.definitionId,i?.attribution,l],t)}function os(e,n){const t=n?.trim().toLowerCase()||null,{agent:s,facts:i,source:l}=e;return bn([s.project,s.projectRoot,s.cwd,i?.cwd,J(s,l)],t)}function is(e){return fn(e.agent.state??null,e.agent)==="needs_attention"?!0:Jn(e.observe?.events??[])}function sn(e,n,t,s){return mn(t?.width??e.laneWidths[n.id],s??e.defaultLaneWidth)}function ls(e,n){switch(e.kind){case"session":return n.filter(t=>t.id===e.sessionId);case"harness":return n.filter(t=>rs(t,e.harness));case"project":return n.filter(t=>os(t,e.projectPath));case"attention":return n.filter(t=>is(t));default:return[]}}function an(e,n,t){n.has(t.lane.id)||(n.add(t.lane.id),e.push({key:t.slot?`${t.slot.id}:${t.lane.id}`:t.lane.id,lane:t.lane,widthPx:t.widthPx,zone:t.zone,position:t.position,slotId:t.slot?.id,laneDefId:t.laneDef?.id,isPinned:t.zone!=="main"}))}function Ae(e){return[...e].sort((n,t)=>{const s=nt(n.zone,t.zone);return s!==0?s:n.position!==t.position?n.position-t.position:n.lane.id.localeCompare(t.lane.id)})}function cs(e){const{autoLanes:n,deck:t,defaultWidthTier:s}=e,i=new Set,l=[],f=[],b=[],u=new Map(t.laneDefs.map(g=>[g.id,g]));for(const g of et(t.slots)){const p=u.get(g.laneDefId);if(!p)continue;const v=ls(p,n),w=g.zone==="pinned_left"?l:g.zone==="pinned_right"?b:f;for(const P of v)an(w,i,{lane:P,zone:g.zone,position:g.position,widthPx:sn(t,P,g,s),slot:g,laneDef:p})}if(t.showAutoLanes){let g=0;for(const p of n)i.has(p.id)||(an(f,i,{lane:p,zone:"main",position:g,widthPx:sn(t,p,void 0,s)}),g+=1)}const d=Ae(l),m=Ae(f),c=Ae(b);return{pinnedLeft:d,main:m,pinnedRight:c,flat:[...d,...m,...c]}}function ds(e){return e.slots.some(n=>n.laneDefId===st)}function me(e,n){const t=`harness:${he(n)}`;return e.slots.some(s=>s.laneDefId===t)}function us(e,n){const t=tt(n);return e.slots.some(s=>s.laneDefId===t)}function fs(e,n,t){const[s,i]=r.useState(()=>Qe(e,n));r.useEffect(()=>{i(Qe(e,n))},[n,e]);const l=r.useCallback(y=>{at(y),i(y)},[]),f=r.useMemo(()=>cs({autoLanes:t,deck:s,defaultWidthTier:n}),[t,s,n]),b=r.useCallback((y,R="pinned_left")=>{l(rt(s,{laneId:y.id,title:J(y.agent,y.source),zone:R,width:s.laneWidths[y.id]}))},[s,l]),u=r.useCallback(y=>{l(ot(s,y))},[s,l]),d=r.useCallback((y,R)=>{l(it(s,y,R))},[s,l]),m=r.useCallback(y=>{l(lt(s,y))},[s,l]),c=r.useCallback((y,R)=>{l(Ce(s,{kind:"harness",title:R??`${y} sessions`,harness:y,zone:"pinned_left",width:s.defaultLaneWidth}))},[s,l]),g=r.useCallback((y,R)=>{const C=y.trim();if(!C)return;const S=R?.trim()||C.split(/[\\/]/u).filter(Boolean).pop()||C;l(Ce(s,{kind:"project",title:S,projectPath:C,zone:"main",width:s.defaultLaneWidth}))},[s,l]),p=r.useCallback(()=>{l(Ce(s,{kind:"attention",title:"Needs attention",zone:"pinned_left",width:"sm"}))},[s,l]),v=r.useCallback(()=>{l(ct(s))},[s,l]),w=r.useCallback(y=>dt(s,y),[s]),P=r.useCallback(y=>ut(s,y),[s]);return{deck:s,layout:f,pinLane:b,unpinLane:u,setLaneWidth:d,setDefaultLaneWidth:m,addHarnessLane:c,addAttentionLane:p,addProjectLane:g,clearPins:v,isPinned:w,pinnedZone:P}}function ms(e){const[n,t]=r.useState(null),s=r.useRef({laneId:"",x:0,width:512}),i=r.useRef(512),l=r.useCallback((u,d,m)=>{d.preventDefault(),d.stopPropagation(),d.currentTarget.setPointerCapture(d.pointerId),s.current={laneId:u,x:d.clientX,width:m},i.current=m,t(u),document.body.classList.add("s-agent-lanes--resizing-width")},[]),f=r.useCallback(()=>{t(u=>{if(u){document.body.classList.remove("s-agent-lanes--resizing-width");const d=hn(i.current);e(s.current.laneId,d.tier??d.px)}return null})},[e]);r.useEffect(()=>{if(!n)return;const u=m=>{const c=m.clientX-s.current.x;i.current=Math.min(ft,Math.max(mt,s.current.width+c));const g=document.querySelector(`[data-lane-id="${s.current.laneId}"]`);g&&g.style.setProperty("--lane-width",`${i.current}px`)},d=()=>f();return window.addEventListener("pointermove",u),window.addEventListener("pointerup",d),window.addEventListener("pointercancel",d),()=>{window.removeEventListener("pointermove",u),window.removeEventListener("pointerup",d),window.removeEventListener("pointercancel",d)}},[f,n]);const b=r.useCallback((u,d)=>{e(u,d),document.querySelector(`[data-lane-id="${u}"]`)?.style.removeProperty("--lane-width")},[e]);return{beginResize:l,resetLaneWidth:b,resizingLaneId:n}}const rn=[{key:"lanes",label:"lanes"},{key:"grid",label:"grid"},{key:"floor",label:"floor"}],hs=[{key:"auto",label:"auto"},{key:"2",label:"2"},{key:"3",label:"3"},{key:"4",label:"4"}];function gs(e,n=!1){return e==="grid"?"grid":e==="floor"?n?"lanes":"floor":"lanes"}function ps(e){return e==="2"||e==="3"||e==="4"?e:"auto"}function Ls(e){return e?rn.filter(n=>n.key!=="floor"):rn}const vn="openscout:agent-lanes-horizon",Sn="openscout:agent-lanes-layout",kn="openscout:agent-lanes-grid-columns",xn="openscout:agent-lanes-technical-rollup",ys=`${xn}:lane:`,bs="openscout:agent-lanes-scroll",vs=96,Ss=160,ks=6e4,xs=6e4,ws=3e4,Es=3e4,Ns=3e4,Rs=12e4,js=["pinned-left","main","pinned-right"];function on(){return!_e()}function wn(e,n){return`${bs}:${e}:${n}`}function Cs(e,n){try{const t=sessionStorage.getItem(wn(e,n)),s=t?Number.parseFloat(t):0;return Number.isFinite(s)&&s>0?s:0}catch{return 0}}function Is(e,n,t){try{sessionStorage.setItem(wn(e,n),String(Math.max(0,Math.round(t))))}catch{}}function As(){try{const e=sessionStorage.getItem(vn);if(e&&ge.some(n=>n.key===e))return e}catch{}return Mt}function Ts(e){try{const n=sessionStorage.getItem(Sn);return gs(n,e)}catch{}return"lanes"}function ln(e){const n=Ts(e);return n==="floor"?"lanes":n}function _s(){try{return ps(sessionStorage.getItem(kn))}catch{return"auto"}}function Ps(){try{const e=sessionStorage.getItem(xn);if(e==="0")return!1;if(e==="1")return!0}catch{}return null}function En(e){return`${ys}${encodeURIComponent(e)}`}function cn(e){try{const n=sessionStorage.getItem(En(e));if(n==="0")return!1;if(n==="1")return!0}catch{}return Ps()??!1}function Ds(e,n){try{sessionStorage.setItem(En(e),n?"1":"0")}catch{}}function Ms(e,n){const t=r.useRef(new Map),s=r.useRef({}),i=r.useCallback((u,d=t.current.get(u))=>{if(!d)return;const m=s.current[u]??Cs(e,u);if(m<=0)return;const c=Math.max(0,d.scrollWidth-d.clientWidth),g=Math.min(m,c);Math.abs(d.scrollLeft-g)>1&&(d.scrollLeft=g)},[e]),l=r.useCallback(()=>{for(const u of js)i(u)},[i]);r.useLayoutEffect(()=>{l();const u=window.requestAnimationFrame(l);return()=>window.cancelAnimationFrame(u)},[e,l,n]);const f=r.useCallback((u,d)=>{if(!d){t.current.delete(u);return}t.current.set(u,d),i(u,d)},[i]);return{handleLaneScroll:r.useCallback((u,d)=>{const m=d.currentTarget.scrollLeft;s.current[u]=m,Is(e,u,m)},[e]),setLaneScrollNode:f}}function zs({issue:e}){const n=e.agentNames?.length?e.agentNames.join(", "):e.agentIds?.join(", "),t=e.transcriptPaths?.join(" · "),s=[n,t].filter(Boolean).join(" · ");return o.jsxs("li",{className:"s-agent-lanes-issues-item",children:[o.jsx("span",{className:"s-agent-lanes-issues-kind",children:e.kind.replaceAll("_"," ")}),o.jsx("span",{className:"s-agent-lanes-issues-message",children:e.message}),s?o.jsx("span",{className:"s-agent-lanes-issues-detail",children:s}):null]})}function Os({loadState:e,onRetry:n}){const t=[e.discovery==="error"?"session discovery":"",e.recent==="error"?"recent history":""].filter(Boolean).join(" and "),s=e.recent==="error"?"Recent activity could not be loaded":"Session discovery could not be completed";return o.jsx("div",{className:"s-agent-lanes-empty s-agent-lanes-empty--degraded",role:"alert",children:o.jsxs("div",{className:"s-agent-lanes-empty-card",children:[o.jsxs("div",{className:"s-agent-lanes-empty-rail","aria-hidden":"true",children:[o.jsx("span",{}),o.jsx("span",{}),o.jsx("span",{})]}),o.jsxs("div",{className:"s-agent-lanes-empty-copy",children:[o.jsx("span",{className:"s-agent-lanes-empty-kicker",children:"Tail incomplete"}),o.jsx("h2",{children:s}),o.jsxs("p",{children:["Scout could not finish ",t||"the tail scan",", so this is not being treated as a quiet interval."]}),o.jsx("p",{className:"s-agent-lanes-empty-secondary",children:"Live events can still arrive while Scout retries."})]}),o.jsx("div",{className:"s-agent-lanes-empty-actions",children:o.jsx("button",{type:"button",onClick:n,children:"Retry tail scan"})})]})})}function $s({activeFilterLabel:e,horizon:n,horizonLabel:t,showAutoLanes:s,onHorizonChange:i,onAddAttentionLane:l,onAddCodexLane:f,sourceCount:b,eventCount:u,degraded:d=!1,onRetry:m}){const c=!!e,g=c?"No matching lanes":s?`No activity in the last ${t}`:"No pinned lanes",p=c?`${e} has no activity in the last ${t}.`:s?`Scout checked ${b.toLocaleString()} session source${b===1?"":"s"} and ${u.toLocaleString()} recent tail event${u===1?"":"s"}; nothing is active in this interval.`:"Automatic lanes are off, and this deck has no pinned sessions.",v=d?"The last tail refresh failed, so this reading is from the previous scan and may be behind.":s?"Scout will keep listening. New turns and tool output will appear here automatically.":"Pin a session lane or turn automatic lanes back on to populate the deck.",w=n==="5m"?"30m":n==="24h"?null:"24h";return o.jsx("div",{className:"s-agent-lanes-empty",role:"status","aria-live":"polite",children:o.jsxs("div",{className:"s-agent-lanes-empty-card",children:[o.jsxs("div",{className:"s-agent-lanes-empty-rail","aria-hidden":"true",children:[o.jsx("span",{}),o.jsx("span",{}),o.jsx("span",{})]}),o.jsxs("div",{className:"s-agent-lanes-empty-copy",children:[o.jsx("span",{className:"s-agent-lanes-empty-kicker",children:d?"Tail refresh behind":c?"Filter checked":s?"Tail scanned":"Lane deck ready"}),o.jsx("h2",{children:g}),o.jsx("p",{children:p}),o.jsx("p",{className:"s-agent-lanes-empty-secondary",children:v})]}),o.jsxs("div",{className:"s-agent-lanes-empty-actions",children:[d&&m?o.jsx("button",{type:"button",onClick:m,children:"Retry tail scan"}):null,w?o.jsxs("button",{type:"button",onClick:()=>i(w),children:["Look back ",Ln(w)]}):null,o.jsx("button",{type:"button",onClick:l,children:"Show attention"}),o.jsx("button",{type:"button",onClick:f,children:"Pin Codex sessions"})]})]})})}function Fs({lane:e,widthPx:n,laneTitle:t,pinned:s,laneWidth:i,defaultWidth:l,isNew:f,nowMs:b,traceWindowMs:u,traceWindowLabel:d,summaryHeight:m,onSummaryResizeStart:c,onSummaryResizeReset:g,summaryResizing:p,onInspect:v,onTraceEventSelect:w,onTogglePin:P,onWidthChange:y,onWidthResizeStart:R,widthResizing:C,focusProps:S,operatorName:D,grid:I=!1}){const{agent:M,observe:L,source:k}=e,x=Ot(L),A=!!L,z=x?" s-agent-lane--live":"",j=f?" s-agent-lane--new":"",[H,V]=r.useState(!0),[F,Q]=r.useState(()=>cn(e.id)),ee=r.useRef(e.id);r.useEffect(()=>{if(ee.current!==e.id){ee.current=e.id,Q(cn(e.id));return}Ds(e.id,F)},[F,e.id]);const ye=S?.ref,K=S?{"data-cursor":S["data-cursor"],tabIndex:S.tabIndex,onFocus:S.onFocus}:void 0,U=()=>o.jsx("section",{className:"s-agent-lane-trace","aria-label":`${J(M,k)} trace`,children:o.jsx("div",{className:"s-agent-lane-body",children:A?o.jsx(Qn,{data:L??void 0,agentId:e.source==="scout"?M.id:void 0,sessionId:M.harnessSessionId,showRail:!1,variant:"lane",nowMs:b,traceWindowMs:u,traceWindowLabel:d,laneCollapseTechnicalEvents:F,onLaneCollapseTechnicalEventsChange:Q,laneOperatorName:D,onLaneEventSelect:W=>w(e,W)}):o.jsx("div",{className:"s-agent-lane-empty",children:"Waiting for trace activity…"})})}),O=r.useMemo(()=>kt(e,{isLive:x,nowMs:b}),[e,x,b]),q=r.useMemo(U,[A,L,e.source,M.id,M.harnessSessionId,b,u,d,F,D,w,e]);return o.jsxs("article",{ref:ye,"data-lane-id":e.id,className:`s-agent-lane${I?" s-agent-lane--grid":""}${z}${j}${s?" s-agent-lane--pinned":""}${S?.["data-cursor"]?" s-agent-lane--cursor":""}`,style:I?void 0:{"--lane-width":`${n}px`},...K,children:[o.jsx(vt,{title:t,width:i,defaultWidth:l,pinned:s,onTogglePin:P,onWidthChange:y,onResizeStart:R,resizing:C,statusLabel:yn(M,k),live:x,widthControls:!I}),o.jsx(St,{model:O,avatar:o.jsx(Xn,{agent:M,placement:"row",size:44,presence:!1,tile:!1}),collapsed:H,cockpitHeight:H?void 0:m,onToggleCollapsed:()=>V(W=>!W),onOpen:()=>v(e)}),!H&&o.jsx(Ct,{onResizeStart:c,onReset:g,active:p}),q]})}function Ws({navigate:e,agents:n,data:t,embedded:s=!1,laneSize:i="lg",profileId:l,harnessFilter:f,projectFilter:b}){Zn("Lanes",s);const u=r.useContext(qn),d=t?.agents??n??u?.agents??[],m=t?.operatorName?.trim()||u?.onboarding?.operatorName?.trim()||void 0,c=l??gn(),g=i??pn(),p=!s&&u?.route.view==="ops"&&u.route.mode==="world",[v,w]=r.useState(Date.now()),[P,y]=r.useState("4h"),[R,C]=r.useState(As),[S,D]=r.useState(()=>p?"floor":ln(s)),[I,M]=r.useState(_s),L=p,k=!p&&S==="grid",x=L?P:R,[A,z]=r.useState(Rt),[j,H]=r.useState([]),{beginResize:V,resetSummaryHeight:F,resizing:Q}=jt(z),ee=r.useCallback(a=>V(a,A),[V,A]),ye=zt(),K=It(x),U=ts({enabled:!t,includeTranscriptReplay:!0,discoveryIntervalMs:s?ks:xs,recentLimit:ye,recentWindowMs:K,discoveryLimit:s?vs:Ss,pauseWhenHidden:!0}),O=t?.discovery??U.discovery,q=t?.tailEvents??U.events,W=t?.loadState??U.loadState,De=t?.retryInitialLoad??U.retryInitialLoad,Me=t?.terminalSessions??j,Nn={view:"ops",mode:p?"world":"lanes"},Y=Ln(x),ze=s?ws:1e4,Oe=s?Es:1e4;r.useEffect(()=>{const a=setInterval(()=>{on()||w(Date.now())},ze);return()=>clearInterval(a)},[ze]),r.useEffect(()=>{if(t)return;let a=!1;const h=async()=>{if(!on())try{const Re=await Un({includeDiscovered:!1});a||H(Re)}catch{a||H([])}};h();const N=setInterval(()=>{h()},Oe),_=un(()=>{h()});return()=>{a=!0,clearInterval(N),_()}},[t,Oe]),r.useEffect(()=>{try{sessionStorage.setItem(vn,R)}catch{}},[R]),r.useEffect(()=>{D(p?"floor":a=>a==="floor"?ln(s):a)},[p,s]),r.useEffect(()=>{if(S!=="floor")try{sessionStorage.setItem(Sn,S)}catch{}},[S]),r.useEffect(()=>{try{sessionStorage.setItem(kn,I)}catch{}},[I]);const Rn=r.useRef(At()),$e=r.useRef(""),[ae,Fe]=r.useState(()=>new Set),[be,We]=r.useState(null),jn=r.useMemo(()=>d.filter(a=>Tt(a,v,x)),[d,v,x]),Cn=Kn(jn,{enabled:!t,activeIntervalMs:s?Ns:void 0,idleIntervalMs:s?Rs:void 0,pauseWhenHidden:!0}),He=t?.observeCache??Cn,Be=Zt(W),Ve=Be==="blank",In=Be==="degraded",Ge=O?.totals.transcripts??O?.transcripts?.length??0;r.useEffect(()=>{if(ae.size===0)return;const a=setTimeout(()=>Fe(new Set),900);return()=>clearTimeout(a)},[ae]);const{lanes:re,issues:$,freshLaneIds:ve}=r.useMemo(()=>{const a=_t({transcripts:O?.transcripts??[],tailEvents:q,processes:O?.processes??[],scoutAgents:d,terminalSessions:Me,observeCache:He,now:v,workingOnly:!0,horizon:x}),h=Pt(a.lanes,Rn.current),N=[...Dt(O),...a.issues];return{lanes:h.lanes,issues:N,freshLaneIds:h.newLaneIds}},[O,q,d,Me,He,v,x]);r.useEffect(()=>{const a=$.map(h=>`${h.id}\0${h.message}`).join(`
1
+ import{r,j as o}from"./index-BFbLvCJn.js";/* empty css */import{a as dn}from"./api-DSqpVKC7.js";import{u as Gn}from"./tail-events-C6NWFB1N.js";import{i as _e,o as un}from"./surface-activity-B1rgWB1i.js";import{u as Kn}from"./observe-M3rLosT5.js";import{f as Un}from"./terminal-sessions-3RfJpen8.js";import{n as fn}from"./agent-state-DDhnFEEP.js";import{S as qn}from"./Provider-BEXAZWd9.js";import{d as Yn}from"./types-B0PlfpKc.js";import{u as Zn}from"./useEmbedHeadline-BeeBDb7E.js";import{A as Xn}from"./AgentAvatar-Dn8TUv5W.js";import{h as Jn,S as Qn}from"./SessionObserve-Dw3bVQYF.js";import{X as et,Y as mn,Z as nt,_ as tt,$ as st,a0 as Qe,a1 as at,a2 as rt,a3 as ot,a4 as it,a5 as lt,a6 as Ce,a7 as ct,a8 as dt,a9 as ut,aa as hn,ab as ft,ac as mt,l as gn,m as pn}from"./router-CJIx83Ia.js";import{AgentFloorView as ht}from"./AgentFloorView-D8tlGlgy.js";import{u as gt,s as pt,A as Lt,a as yt,L as bt}from"./AgentLanesPreflight-BQfj2twF.js";import{AgentLaneChrome as vt}from"./AgentLaneChrome-RptImDFc.js";import{AgentLaneCard as St}from"./AgentLaneCard-pppHFROz.js";import{a as kt}from"./agent-lane-card-model-CeqQGp-8.js";import{c as xt}from"./agent-lane-detail-Ti3trpfH.js";import{i as wt,A as Et}from"./AgentLaneDetailSheet-BqbwGskh.js";import{LaneTraceDetailSheet as Nt}from"./LaneTraceDetailSheet-CngYIxdI.js";import{readStoredLaneSummaryHeight as Rt,useLaneSummaryResize as jt,AgentLaneSummaryResizeHandle as Ct}from"./AgentLaneSummaryResize-DaIgwyVh.js";import{A as ge,l as J,k as It,m as Ln,n as At,e as Tt,g as _t,p as Pt,r as Dt,d as yn,D as Mt,h as zt,i as Ot}from"./agent-lanes-model-DMAdqCmK.js";import{i as $t,c as Ft,n as en}from"./keyboard-nav-CEe-ApvZ.js";import{p as nn}from"./lane-roster-store-MraynTHP.js";import{b as tn}from"./session-recap-lanes-D-eVJnpY.js";function Pe(e){return[e.source,e.sessionId,e.ts,e.kind,e.summary].join("\0")}function Wt(e){const n=new Set,t=[];for(const s of e){const i=Pe(s);n.has(i)||(n.add(i),t.push(s))}return t}function Ht(e,n){return e.length<=n?e:[...e].sort((t,s)=>t.ts-s.ts).slice(e.length-n)}function Bt(e,n,t){const s=Pe(n);for(const l of e)if(Pe(l)===s)return e;const i=[...e,n];return i.length>t?i.slice(i.length-t):i}function Vt(e,n,t){return Ht(Wt([...n,...e]),t)}const Gt=500;function Ie(e){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):null}function Kt(e){return JSON.stringify([Ie(e.recentLimit),e.includeTranscriptReplay,Ie(e.recentWindowMs),e.discoveryScope??null,Ie(e.discoveryLimit)])}function Ut(e,n){return e==="error"||n==="error"}function qt(e,n){return n?Math.min(e,Gt):e}async function Yt(e){const n=await e.load(!1);if(e.publish(n,"live"),e.markReady(),!e.includeTranscriptReplay)return{replay:"not-requested"};try{return e.publish(await e.load(!0),"replay"),{replay:"loaded"}}catch{return{replay:"failed"}}}function Zt(e){return e.discovery==="error"||e.recent==="error"?e.discoveryLoaded&&e.recentLoaded?"degraded":"blank":"none"}const Xt=500,Jt=6e4;function Qt(){return{generatedAt:Date.now(),processes:[],transcripts:[],totals:{total:0,scoutManaged:0,hudsonManaged:0,unattributed:0,transcripts:0}}}async function es(e,n,t){const s=new URLSearchParams({limit:String(e)});return n&&s.set("transcripts","true"),typeof t=="number"&&Number.isFinite(t)&&t>0&&s.set("windowMs",String(Math.floor(t))),(await dn(`/api/tail/recent?${s.toString()}`)).events??[]}function ns(e,n){const t=new URLSearchParams;e&&t.set("scope",e),typeof n=="number"&&Number.isFinite(n)&&n>0&&t.set("limit",String(Math.floor(n)));const s=t.toString();return s?`/api/tail/discover?${s}`:"/api/tail/discover"}function ts(e){const n=e?.recentLimit??Xt,t=e?.enabled??!0,s=e?.discoveryIntervalMs??Jt,i=e?.includeTranscriptReplay??!1,l=e?.discoveryScope,f=e?.discoveryLimit,b=e?.recentWindowMs,u=e?.pauseWhenHidden??!1,d=Kt({recentLimit:n,includeTranscriptReplay:i,recentWindowMs:b,discoveryScope:l,discoveryLimit:f}),[m,c]=r.useState(null),[g,p]=r.useState([]),[v,w]=r.useState({discovery:"loading",recent:"loading",discoveryLoaded:!1,recentLoaded:!1}),P=r.useRef("loading"),y=r.useRef("idle"),R=r.useRef(null),C=r.useRef(null),S=r.useRef(0);Gn(L=>{p(k=>Bt(k,L,n))},t);const D=r.useCallback((L=!1)=>{if(!t||u&&!L&&!_e())return Promise.resolve();L&&(P.current="loading",w(j=>({...j,recent:"loading"})));const k=d,x=C.current;if(x?.key===k)return x.promise;const A=++S.current;y.current=i?"loading":"ready";let z;return z=Yt({includeTranscriptReplay:i,load:j=>es(j?n:qt(n,i),j,b),publish:(j,H)=>{if(A!==S.current)return;const V=()=>{p(F=>Vt(F,j,n))};H==="replay"?r.startTransition(V):V()},markReady:()=>{A===S.current&&(P.current="ready",w(j=>({...j,recent:"ready",recentLoaded:!0})))}}).then(j=>{A===S.current&&(i&&(y.current=j.replay==="failed"?"error":"ready"),j.replay!=="failed"&&(R.current=d))}).catch(()=>{A===S.current&&(P.current="error",i&&(y.current="error"),w(j=>({...j,recent:"error"})))}).finally(()=>{C.current?.promise===z&&(C.current=null)}),C.current={key:k,promise:z},z},[t,d,i,u,n,b]),I=r.useCallback(async(L=!1)=>{if(t&&!(u&&!L&&!_e())){L&&w(k=>({...k,discovery:"loading"}));try{const k=await dn(ns(l,f));c(k),w(x=>({...x,discovery:"ready",discoveryLoaded:!0})),Ut(P.current,y.current)&&D()}catch{c(k=>k??Qt()),w(k=>({...k,discovery:"error"}))}}},[f,l,t,u,D]),M=r.useCallback(async()=>{await Promise.all([I(!0),D(!0)])},[I,D]);return r.useEffect(()=>{if(!t)return;let L=!1,k=!0;const x=()=>{L||I(k),k=!1};x();const A=setInterval(x,s),z=u?un(x):null;return()=>{L=!0,clearInterval(A),z?.()}},[s,t,u,I]),r.useEffect(()=>{t||(S.current+=1,C.current=null,R.current=null,y.current="idle")},[t]),r.useEffect(()=>{t&&R.current!==d&&D(!0)},[t,d,D]),{discovery:m,events:g,loadState:v,refreshDiscovery:I,retryInitialLoad:M}}function ss({lanes:e,inspectedLaneId:n,onInspect:t,onHorizonChange:s,onTogglePin:i}){const[l,f]=r.useState(-1),b=r.useRef(new Map);r.useEffect(()=>{if(l<0)return;if(l>=e.length){f(e.length-1);return}const m=e[l];if(!m)return;const c=b.current.get(m.id);c?.scrollIntoView({block:"nearest",inline:"nearest"}),c?.focus()},[l,e]),r.useEffect(()=>{n||l>=e.length&&f(e.length>0?e.length-1:-1)},[l,n,e.length]);const u=r.useCallback((m,c)=>{c?b.current.set(m,c):b.current.delete(m)},[]);r.useEffect(()=>{const m=c=>{if(!document.querySelector(".s-agent-lanes")||$t(c.target)||Ft()||n||e.length===0)return;const g=Number(c.key)-1;if(!c.metaKey&&!c.ctrlKey&&!c.altKey&&g>=0&&g<ge.length){c.preventDefault(),s(ge[g].key);return}if(c.key==="ArrowDown"||c.key==="j"){c.preventDefault(),f(p=>en(p,e.length,1));return}if(c.key==="ArrowUp"||c.key==="k"){c.preventDefault(),f(p=>en(p,e.length,-1));return}if(c.key==="Home"||c.key==="g"&&!c.shiftKey){c.preventDefault(),f(0);return}if(c.key==="End"||c.key==="G"){c.preventDefault(),f(e.length-1);return}if(c.key==="Enter"||c.key==="i"){const p=l<0?0:l,v=e[p];if(!v)return;c.preventDefault(),f(p),t(v);return}if(c.key.toLowerCase()==="p"&&i){const p=l<0?0:l,v=e[p];if(!v)return;c.preventDefault(),f(p),i(v)}};return window.addEventListener("keydown",m),()=>window.removeEventListener("keydown",m)},[l,n,e,s,t,i]);const d=r.useCallback((m,c)=>({"data-cursor":l===m?!0:void 0,tabIndex:l===m?0:-1,ref:g=>u(c,g),onFocus:()=>f(m)}),[l,u]);return{focusedIndex:l,getLaneFocusProps:d}}function as(e){return e.trim().replace(/\/+$/u,"").split(/[\\/]/u).filter(Boolean).pop()?.trim()||null}function he(e){return e.trim().toLowerCase().replace(/['"]/gu,"").replace(/[^a-z0-9]+/gu,"-").replace(/^-+|-+$/gu,"")}function bn(e,n){if(!n)return!0;const t=he(n);return e.some(s=>{const i=s?.trim();if(!i)return!1;const l=i.toLowerCase(),f=as(i);return l===n||he(i)===t||!!(f&&(f.toLowerCase()===n||he(f)===t))})}function rs(e,n){const t=n?.trim().toLowerCase()||null,{agent:s,facts:i,source:l}=e;return bn([s.harness,s.definitionId,i?.attribution,l],t)}function os(e,n){const t=n?.trim().toLowerCase()||null,{agent:s,facts:i,source:l}=e;return bn([s.project,s.projectRoot,s.cwd,i?.cwd,J(s,l)],t)}function is(e){return fn(e.agent.state??null,e.agent)==="needs_attention"?!0:Jn(e.observe?.events??[])}function sn(e,n,t,s){return mn(t?.width??e.laneWidths[n.id],s??e.defaultLaneWidth)}function ls(e,n){switch(e.kind){case"session":return n.filter(t=>t.id===e.sessionId);case"harness":return n.filter(t=>rs(t,e.harness));case"project":return n.filter(t=>os(t,e.projectPath));case"attention":return n.filter(t=>is(t));default:return[]}}function an(e,n,t){n.has(t.lane.id)||(n.add(t.lane.id),e.push({key:t.slot?`${t.slot.id}:${t.lane.id}`:t.lane.id,lane:t.lane,widthPx:t.widthPx,zone:t.zone,position:t.position,slotId:t.slot?.id,laneDefId:t.laneDef?.id,isPinned:t.zone!=="main"}))}function Ae(e){return[...e].sort((n,t)=>{const s=nt(n.zone,t.zone);return s!==0?s:n.position!==t.position?n.position-t.position:n.lane.id.localeCompare(t.lane.id)})}function cs(e){const{autoLanes:n,deck:t,defaultWidthTier:s}=e,i=new Set,l=[],f=[],b=[],u=new Map(t.laneDefs.map(g=>[g.id,g]));for(const g of et(t.slots)){const p=u.get(g.laneDefId);if(!p)continue;const v=ls(p,n),w=g.zone==="pinned_left"?l:g.zone==="pinned_right"?b:f;for(const P of v)an(w,i,{lane:P,zone:g.zone,position:g.position,widthPx:sn(t,P,g,s),slot:g,laneDef:p})}if(t.showAutoLanes){let g=0;for(const p of n)i.has(p.id)||(an(f,i,{lane:p,zone:"main",position:g,widthPx:sn(t,p,void 0,s)}),g+=1)}const d=Ae(l),m=Ae(f),c=Ae(b);return{pinnedLeft:d,main:m,pinnedRight:c,flat:[...d,...m,...c]}}function ds(e){return e.slots.some(n=>n.laneDefId===st)}function me(e,n){const t=`harness:${he(n)}`;return e.slots.some(s=>s.laneDefId===t)}function us(e,n){const t=tt(n);return e.slots.some(s=>s.laneDefId===t)}function fs(e,n,t){const[s,i]=r.useState(()=>Qe(e,n));r.useEffect(()=>{i(Qe(e,n))},[n,e]);const l=r.useCallback(y=>{at(y),i(y)},[]),f=r.useMemo(()=>cs({autoLanes:t,deck:s,defaultWidthTier:n}),[t,s,n]),b=r.useCallback((y,R="pinned_left")=>{l(rt(s,{laneId:y.id,title:J(y.agent,y.source),zone:R,width:s.laneWidths[y.id]}))},[s,l]),u=r.useCallback(y=>{l(ot(s,y))},[s,l]),d=r.useCallback((y,R)=>{l(it(s,y,R))},[s,l]),m=r.useCallback(y=>{l(lt(s,y))},[s,l]),c=r.useCallback((y,R)=>{l(Ce(s,{kind:"harness",title:R??`${y} sessions`,harness:y,zone:"pinned_left",width:s.defaultLaneWidth}))},[s,l]),g=r.useCallback((y,R)=>{const C=y.trim();if(!C)return;const S=R?.trim()||C.split(/[\\/]/u).filter(Boolean).pop()||C;l(Ce(s,{kind:"project",title:S,projectPath:C,zone:"main",width:s.defaultLaneWidth}))},[s,l]),p=r.useCallback(()=>{l(Ce(s,{kind:"attention",title:"Needs attention",zone:"pinned_left",width:"sm"}))},[s,l]),v=r.useCallback(()=>{l(ct(s))},[s,l]),w=r.useCallback(y=>dt(s,y),[s]),P=r.useCallback(y=>ut(s,y),[s]);return{deck:s,layout:f,pinLane:b,unpinLane:u,setLaneWidth:d,setDefaultLaneWidth:m,addHarnessLane:c,addAttentionLane:p,addProjectLane:g,clearPins:v,isPinned:w,pinnedZone:P}}function ms(e){const[n,t]=r.useState(null),s=r.useRef({laneId:"",x:0,width:512}),i=r.useRef(512),l=r.useCallback((u,d,m)=>{d.preventDefault(),d.stopPropagation(),d.currentTarget.setPointerCapture(d.pointerId),s.current={laneId:u,x:d.clientX,width:m},i.current=m,t(u),document.body.classList.add("s-agent-lanes--resizing-width")},[]),f=r.useCallback(()=>{t(u=>{if(u){document.body.classList.remove("s-agent-lanes--resizing-width");const d=hn(i.current);e(s.current.laneId,d.tier??d.px)}return null})},[e]);r.useEffect(()=>{if(!n)return;const u=m=>{const c=m.clientX-s.current.x;i.current=Math.min(ft,Math.max(mt,s.current.width+c));const g=document.querySelector(`[data-lane-id="${s.current.laneId}"]`);g&&g.style.setProperty("--lane-width",`${i.current}px`)},d=()=>f();return window.addEventListener("pointermove",u),window.addEventListener("pointerup",d),window.addEventListener("pointercancel",d),()=>{window.removeEventListener("pointermove",u),window.removeEventListener("pointerup",d),window.removeEventListener("pointercancel",d)}},[f,n]);const b=r.useCallback((u,d)=>{e(u,d),document.querySelector(`[data-lane-id="${u}"]`)?.style.removeProperty("--lane-width")},[e]);return{beginResize:l,resetLaneWidth:b,resizingLaneId:n}}const rn=[{key:"lanes",label:"lanes"},{key:"grid",label:"grid"},{key:"floor",label:"floor"}],hs=[{key:"auto",label:"auto"},{key:"2",label:"2"},{key:"3",label:"3"},{key:"4",label:"4"}];function gs(e,n=!1){return e==="grid"?"grid":e==="floor"?n?"lanes":"floor":"lanes"}function ps(e){return e==="2"||e==="3"||e==="4"?e:"auto"}function Ls(e){return e?rn.filter(n=>n.key!=="floor"):rn}const vn="openscout:agent-lanes-horizon",Sn="openscout:agent-lanes-layout",kn="openscout:agent-lanes-grid-columns",xn="openscout:agent-lanes-technical-rollup",ys=`${xn}:lane:`,bs="openscout:agent-lanes-scroll",vs=96,Ss=160,ks=6e4,xs=6e4,ws=3e4,Es=3e4,Ns=3e4,Rs=12e4,js=["pinned-left","main","pinned-right"];function on(){return!_e()}function wn(e,n){return`${bs}:${e}:${n}`}function Cs(e,n){try{const t=sessionStorage.getItem(wn(e,n)),s=t?Number.parseFloat(t):0;return Number.isFinite(s)&&s>0?s:0}catch{return 0}}function Is(e,n,t){try{sessionStorage.setItem(wn(e,n),String(Math.max(0,Math.round(t))))}catch{}}function As(){try{const e=sessionStorage.getItem(vn);if(e&&ge.some(n=>n.key===e))return e}catch{}return Mt}function Ts(e){try{const n=sessionStorage.getItem(Sn);return gs(n,e)}catch{}return"lanes"}function ln(e){const n=Ts(e);return n==="floor"?"lanes":n}function _s(){try{return ps(sessionStorage.getItem(kn))}catch{return"auto"}}function Ps(){try{const e=sessionStorage.getItem(xn);if(e==="0")return!1;if(e==="1")return!0}catch{}return null}function En(e){return`${ys}${encodeURIComponent(e)}`}function cn(e){try{const n=sessionStorage.getItem(En(e));if(n==="0")return!1;if(n==="1")return!0}catch{}return Ps()??!1}function Ds(e,n){try{sessionStorage.setItem(En(e),n?"1":"0")}catch{}}function Ms(e,n){const t=r.useRef(new Map),s=r.useRef({}),i=r.useCallback((u,d=t.current.get(u))=>{if(!d)return;const m=s.current[u]??Cs(e,u);if(m<=0)return;const c=Math.max(0,d.scrollWidth-d.clientWidth),g=Math.min(m,c);Math.abs(d.scrollLeft-g)>1&&(d.scrollLeft=g)},[e]),l=r.useCallback(()=>{for(const u of js)i(u)},[i]);r.useLayoutEffect(()=>{l();const u=window.requestAnimationFrame(l);return()=>window.cancelAnimationFrame(u)},[e,l,n]);const f=r.useCallback((u,d)=>{if(!d){t.current.delete(u);return}t.current.set(u,d),i(u,d)},[i]);return{handleLaneScroll:r.useCallback((u,d)=>{const m=d.currentTarget.scrollLeft;s.current[u]=m,Is(e,u,m)},[e]),setLaneScrollNode:f}}function zs({issue:e}){const n=e.agentNames?.length?e.agentNames.join(", "):e.agentIds?.join(", "),t=e.transcriptPaths?.join(" · "),s=[n,t].filter(Boolean).join(" · ");return o.jsxs("li",{className:"s-agent-lanes-issues-item",children:[o.jsx("span",{className:"s-agent-lanes-issues-kind",children:e.kind.replaceAll("_"," ")}),o.jsx("span",{className:"s-agent-lanes-issues-message",children:e.message}),s?o.jsx("span",{className:"s-agent-lanes-issues-detail",children:s}):null]})}function Os({loadState:e,onRetry:n}){const t=[e.discovery==="error"?"session discovery":"",e.recent==="error"?"recent history":""].filter(Boolean).join(" and "),s=e.recent==="error"?"Recent activity could not be loaded":"Session discovery could not be completed";return o.jsx("div",{className:"s-agent-lanes-empty s-agent-lanes-empty--degraded",role:"alert",children:o.jsxs("div",{className:"s-agent-lanes-empty-card",children:[o.jsxs("div",{className:"s-agent-lanes-empty-rail","aria-hidden":"true",children:[o.jsx("span",{}),o.jsx("span",{}),o.jsx("span",{})]}),o.jsxs("div",{className:"s-agent-lanes-empty-copy",children:[o.jsx("span",{className:"s-agent-lanes-empty-kicker",children:"Tail incomplete"}),o.jsx("h2",{children:s}),o.jsxs("p",{children:["Scout could not finish ",t||"the tail scan",", so this is not being treated as a quiet interval."]}),o.jsx("p",{className:"s-agent-lanes-empty-secondary",children:"Live events can still arrive while Scout retries."})]}),o.jsx("div",{className:"s-agent-lanes-empty-actions",children:o.jsx("button",{type:"button",onClick:n,children:"Retry tail scan"})})]})})}function $s({activeFilterLabel:e,horizon:n,horizonLabel:t,showAutoLanes:s,onHorizonChange:i,onAddAttentionLane:l,onAddCodexLane:f,sourceCount:b,eventCount:u,degraded:d=!1,onRetry:m}){const c=!!e,g=c?"No matching lanes":s?`No activity in the last ${t}`:"No pinned lanes",p=c?`${e} has no activity in the last ${t}.`:s?`Scout checked ${b.toLocaleString()} session source${b===1?"":"s"} and ${u.toLocaleString()} recent tail event${u===1?"":"s"}; nothing is active in this interval.`:"Automatic lanes are off, and this deck has no pinned sessions.",v=d?"The last tail refresh failed, so this reading is from the previous scan and may be behind.":s?"Scout will keep listening. New turns and tool output will appear here automatically.":"Pin a session lane or turn automatic lanes back on to populate the deck.",w=n==="5m"?"30m":n==="24h"?null:"24h";return o.jsx("div",{className:"s-agent-lanes-empty",role:"status","aria-live":"polite",children:o.jsxs("div",{className:"s-agent-lanes-empty-card",children:[o.jsxs("div",{className:"s-agent-lanes-empty-rail","aria-hidden":"true",children:[o.jsx("span",{}),o.jsx("span",{}),o.jsx("span",{})]}),o.jsxs("div",{className:"s-agent-lanes-empty-copy",children:[o.jsx("span",{className:"s-agent-lanes-empty-kicker",children:d?"Tail refresh behind":c?"Filter checked":s?"Tail scanned":"Lane deck ready"}),o.jsx("h2",{children:g}),o.jsx("p",{children:p}),o.jsx("p",{className:"s-agent-lanes-empty-secondary",children:v})]}),o.jsxs("div",{className:"s-agent-lanes-empty-actions",children:[d&&m?o.jsx("button",{type:"button",onClick:m,children:"Retry tail scan"}):null,w?o.jsxs("button",{type:"button",onClick:()=>i(w),children:["Look back ",Ln(w)]}):null,o.jsx("button",{type:"button",onClick:l,children:"Show attention"}),o.jsx("button",{type:"button",onClick:f,children:"Pin Codex sessions"})]})]})})}function Fs({lane:e,widthPx:n,laneTitle:t,pinned:s,laneWidth:i,defaultWidth:l,isNew:f,nowMs:b,traceWindowMs:u,traceWindowLabel:d,summaryHeight:m,onSummaryResizeStart:c,onSummaryResizeReset:g,summaryResizing:p,onInspect:v,onTraceEventSelect:w,onTogglePin:P,onWidthChange:y,onWidthResizeStart:R,widthResizing:C,focusProps:S,operatorName:D,grid:I=!1}){const{agent:M,observe:L,source:k}=e,x=Ot(L),A=!!L,z=x?" s-agent-lane--live":"",j=f?" s-agent-lane--new":"",[H,V]=r.useState(!0),[F,Q]=r.useState(()=>cn(e.id)),ee=r.useRef(e.id);r.useEffect(()=>{if(ee.current!==e.id){ee.current=e.id,Q(cn(e.id));return}Ds(e.id,F)},[F,e.id]);const ye=S?.ref,K=S?{"data-cursor":S["data-cursor"],tabIndex:S.tabIndex,onFocus:S.onFocus}:void 0,U=()=>o.jsx("section",{className:"s-agent-lane-trace","aria-label":`${J(M,k)} trace`,children:o.jsx("div",{className:"s-agent-lane-body",children:A?o.jsx(Qn,{data:L??void 0,agentId:e.source==="scout"?M.id:void 0,sessionId:M.harnessSessionId,showRail:!1,variant:"lane",nowMs:b,traceWindowMs:u,traceWindowLabel:d,laneCollapseTechnicalEvents:F,onLaneCollapseTechnicalEventsChange:Q,laneOperatorName:D,onLaneEventSelect:W=>w(e,W)}):o.jsx("div",{className:"s-agent-lane-empty",children:"Waiting for trace activity…"})})}),O=r.useMemo(()=>kt(e,{isLive:x,nowMs:b}),[e,x,b]),q=r.useMemo(U,[A,L,e.source,M.id,M.harnessSessionId,b,u,d,F,D,w,e]);return o.jsxs("article",{ref:ye,"data-lane-id":e.id,className:`s-agent-lane${I?" s-agent-lane--grid":""}${z}${j}${s?" s-agent-lane--pinned":""}${S?.["data-cursor"]?" s-agent-lane--cursor":""}`,style:I?void 0:{"--lane-width":`${n}px`},...K,children:[o.jsx(vt,{title:t,width:i,defaultWidth:l,pinned:s,onTogglePin:P,onWidthChange:y,onResizeStart:R,resizing:C,statusLabel:yn(M,k),live:x,widthControls:!I}),o.jsx(St,{model:O,avatar:o.jsx(Xn,{agent:M,placement:"row",size:44,presence:!1,tile:!1}),collapsed:H,cockpitHeight:H?void 0:m,onToggleCollapsed:()=>V(W=>!W),onOpen:()=>v(e)}),!H&&o.jsx(Ct,{onResizeStart:c,onReset:g,active:p}),q]})}function Ws({navigate:e,agents:n,data:t,embedded:s=!1,laneSize:i="lg",profileId:l,harnessFilter:f,projectFilter:b}){Zn("Lanes",s);const u=r.useContext(qn),d=t?.agents??n??u?.agents??[],m=t?.operatorName?.trim()||u?.onboarding?.operatorName?.trim()||void 0,c=l??gn(),g=i??pn(),p=!s&&u?.route.view==="ops"&&u.route.mode==="world",[v,w]=r.useState(Date.now()),[P,y]=r.useState("4h"),[R,C]=r.useState(As),[S,D]=r.useState(()=>p?"floor":ln(s)),[I,M]=r.useState(_s),L=p,k=!p&&S==="grid",x=L?P:R,[A,z]=r.useState(Rt),[j,H]=r.useState([]),{beginResize:V,resetSummaryHeight:F,resizing:Q}=jt(z),ee=r.useCallback(a=>V(a,A),[V,A]),ye=zt(),K=It(x),U=ts({enabled:!t,includeTranscriptReplay:!0,discoveryIntervalMs:s?ks:xs,recentLimit:ye,recentWindowMs:K,discoveryLimit:s?vs:Ss,pauseWhenHidden:!0}),O=t?.discovery??U.discovery,q=t?.tailEvents??U.events,W=t?.loadState??U.loadState,De=t?.retryInitialLoad??U.retryInitialLoad,Me=t?.terminalSessions??j,Nn={view:"ops",mode:p?"world":"lanes"},Y=Ln(x),ze=s?ws:1e4,Oe=s?Es:1e4;r.useEffect(()=>{const a=setInterval(()=>{on()||w(Date.now())},ze);return()=>clearInterval(a)},[ze]),r.useEffect(()=>{if(t)return;let a=!1;const h=async()=>{if(!on())try{const Re=await Un({includeDiscovered:!1});a||H(Re)}catch{a||H([])}};h();const N=setInterval(()=>{h()},Oe),_=un(()=>{h()});return()=>{a=!0,clearInterval(N),_()}},[t,Oe]),r.useEffect(()=>{try{sessionStorage.setItem(vn,R)}catch{}},[R]),r.useEffect(()=>{D(p?"floor":a=>a==="floor"?ln(s):a)},[p,s]),r.useEffect(()=>{if(S!=="floor")try{sessionStorage.setItem(Sn,S)}catch{}},[S]),r.useEffect(()=>{try{sessionStorage.setItem(kn,I)}catch{}},[I]);const Rn=r.useRef(At()),$e=r.useRef(""),[ae,Fe]=r.useState(()=>new Set),[be,We]=r.useState(null),jn=r.useMemo(()=>d.filter(a=>Tt(a,v,x)),[d,v,x]),Cn=Kn(jn,{enabled:!t,activeIntervalMs:s?Ns:void 0,idleIntervalMs:s?Rs:void 0,pauseWhenHidden:!0}),He=t?.observeCache??Cn,Be=Zt(W),Ve=Be==="blank",In=Be==="degraded",Ge=O?.totals.transcripts??O?.transcripts?.length??0;r.useEffect(()=>{if(ae.size===0)return;const a=setTimeout(()=>Fe(new Set),900);return()=>clearTimeout(a)},[ae]);const{lanes:re,issues:$,freshLaneIds:ve}=r.useMemo(()=>{const a=_t({transcripts:O?.transcripts??[],tailEvents:q,processes:O?.processes??[],scoutAgents:d,terminalSessions:Me,observeCache:He,now:v,workingOnly:!0,horizon:x}),h=Pt(a.lanes,Rn.current),N=[...Dt(O),...a.issues];return{lanes:h.lanes,issues:N,freshLaneIds:h.newLaneIds}},[O,q,d,Me,He,v,x]);r.useEffect(()=>{const a=$.map(h=>`${h.id}\0${h.message}`).join(`
2
2
  `);a!==$e.current&&($e.current=a,$.length!==0&&console.warn(`[agent-lanes] ${$.length} roster issue${$.length===1?"":"s"}`,$))},[$]),r.useEffect(()=>{ve.length!==0&&Fe(a=>{const h=new Set(a);for(const N of ve)h.add(N);return h})},[ve.join("\0")]);const ne=r.useMemo(()=>re.find(a=>a.id===be)??null,[be,re]),te=r.useMemo(()=>re.filter(a=>Bs(a,{harnessFilter:f,projectFilter:b})),[re,f,b]),An=r.useCallback(a=>Vs(a,{harnessFilter:f,projectFilter:b}),[f,b]),{deck:T,layout:E,pinLane:oe,unpinLane:ie,setLaneWidth:Se,addHarnessLane:se,addAttentionLane:Ke,addProjectLane:Tn,clearPins:_n,isPinned:le}=fs(c,g,te),{beginResize:Ue,resizingLaneId:qe}=ms(Se),ke=r.useMemo(()=>Gs({harnessFilter:f,projectFilter:b}),[f,b]),xe=r.useMemo(()=>ne?xt(ne):null,[ne]),Pn=r.useMemo(()=>xe?us(T,xe):!1,[T,xe]),Dn=r.useMemo(()=>[E.pinnedLeft,E.main,E.pinnedRight].map(a=>a.map(h=>`${h.key}:${h.widthPx}`).join(",")).join("/"),[E.main,E.pinnedLeft,E.pinnedRight]),{handleLaneScroll:Z,setLaneScrollNode:X}=Ms(c,Dn),Mn=r.useCallback(a=>{X("pinned-left",a)},[X]),zn=r.useCallback(a=>{X("main",a)},[X]),On=r.useCallback(a=>{X("pinned-right",a)},[X]),$n=r.useCallback(a=>{Z("pinned-left",a)},[Z]),Fn=r.useCallback(a=>{Z("main",a)},[Z]),Wn=r.useCallback(a=>{Z("pinned-right",a)},[Z]),G=E.flat,we=E.pinnedLeft.length+E.pinnedRight.length,ce=L?te.length:G.length,de=gt(pt(W,ce),Ve?0:bt);r.useEffect(()=>{if(L)return;const a=G.map(h=>{const{lane:N}=h;return{id:N.id,label:J(N.agent,N.source),statusLabel:yn(N.agent,N.source),tone:fn(N.agent.state,N.agent),agentId:wt(N.agent)?void 0:N.agent.id,updatedAt:N.lastActiveAt>0?N.lastActiveAt:void 0}});nn(a)},[G,L]),r.useEffect(()=>{const a=L?te:G.map(h=>h.lane);tn(a)},[te,L,G]),r.useEffect(()=>()=>{nn(null),tn([])},[]);const[Ye,Ee]=r.useState(null),Ne=r.useCallback(a=>{We(a.id)},[]),Ze=r.useCallback((a,h)=>{Ee({lane:a,event:h})},[]),Hn=r.useCallback(a=>{const h=a.observe?.events.at(-1);h&&Ee({lane:a,event:h})},[]),Bn=r.useCallback(a=>{le(a.id)?ie(a.id):oe(a)},[le,oe,ie]),{getLaneFocusProps:Xe}=ss({lanes:G.map(a=>a.lane),inspectedLaneId:be,onInspect:Ne,onHorizonChange:C,onTogglePin:Bn}),[ue,B]=r.useState(!1),Je=r.useRef(null);r.useEffect(()=>{if(!ue)return;const a=h=>{Je.current?.contains(h.target)||B(!1)};return window.addEventListener("pointerdown",a),()=>window.removeEventListener("pointerdown",a)},[ue]);const fe=r.useCallback((a,h,N=!1)=>{const{lane:_}=a,Re=J(_.agent,_.source),Vn=T.laneWidths[_.id]??hn(a.widthPx).tier??a.widthPx;return o.jsx(Fs,{lane:_,widthPx:a.widthPx,laneTitle:Re,pinned:a.isPinned,laneWidth:Vn,defaultWidth:T.defaultLaneWidth,isNew:ae.has(_.id),nowMs:v,traceWindowMs:K,traceWindowLabel:Y,summaryHeight:A,onSummaryResizeStart:ee,onSummaryResizeReset:F,summaryResizing:Q,onInspect:Ne,onTraceEventSelect:Ze,onTogglePin:()=>{le(_.id)?ie(_.id):oe(_)},onWidthChange:je=>Se(_.id,je),onWidthResizeStart:je=>Ue(_.id,je,a.widthPx),widthResizing:qe===_.id,focusProps:Xe(h,_.id),operatorName:m,grid:N},a.key)},[Ue,T.defaultLaneWidth,T.laneWidths,Xe,ee,Y,Ne,Ze,le,m,ae,v,oe,F,qe,Se,A,Q,K,ie]);return o.jsxs("div",{className:`s-agent-lanes${s?" s-agent-lanes--embedded s-agent-lanes--low-motion":""}`,"data-lane-profile":c,"data-lane-layout":L?"floor":S,"data-lanes-deck-version":"1",children:[o.jsxs("div",{className:"s-agent-lanes-bar",children:[o.jsxs("div",{className:"s-agent-lanes-bar-leading",children:[o.jsx("div",{className:"s-agent-lanes-title",children:L?"World":"Agent Lanes"}),o.jsxs("div",{className:"s-agent-lanes-meta","aria-label":"Lane deck status",children:[o.jsxs("span",{className:"s-agent-lanes-meta-stat",children:[ce," ",L?"actors":"live"]}),!L&&we>0?o.jsxs("span",{className:"s-agent-lanes-meta-stat",children:[we," pinned"]}):null,o.jsx("span",{className:"s-agent-lanes-meta-stat",children:L?`history 15m · actors ${Y}`:`trace ${Y}`}),ke?o.jsx("span",{className:"s-agent-lanes-meta-filter",children:ke}):null,o.jsxs("span",{className:"s-agent-lanes-meta-detail",children:["deck v1 · ",c]})]})]}),o.jsxs("div",{className:"s-agent-lanes-bar-controls",children:[o.jsx("div",{className:"s-agent-lanes-layouts",role:"group","aria-label":"Lane layout",children:Ls(s).map(a=>o.jsx("button",{type:"button",className:`s-agent-lanes-horizon${S===a.key?" s-agent-lanes-horizon--on":""}`,"aria-pressed":a.key==="floor"?L:!L&&S===a.key,onClick:()=>{D(a.key),a.key==="floor"?e({view:"ops",mode:"world"}):p&&e({view:"ops",mode:"lanes"})},children:a.label},a.key))}),k?o.jsx("div",{className:"s-agent-lanes-grid-density",role:"group","aria-label":"Grid columns",children:hs.map(a=>o.jsx("button",{type:"button",className:`s-agent-lanes-horizon${I===a.key?" s-agent-lanes-horizon--on":""}`,"aria-pressed":I===a.key,title:a.key==="auto"?"Fit columns to the available width":`${a.key} columns`,onClick:()=>M(a.key),children:a.label},a.key))}):null,o.jsxs("div",{className:"s-agent-lanes-deck-menu",ref:Je,hidden:L,children:[o.jsx("button",{type:"button",className:"s-agent-lanes-deck-btn","aria-expanded":ue,onClick:()=>B(a=>!a),children:"+ Lane"}),ue?o.jsxs("div",{className:"s-agent-lanes-deck-popover",role:"menu",children:[o.jsx("button",{type:"button",role:"menuitem",className:"s-agent-lanes-deck-item",onClick:()=>{Ke(),B(!1)},disabled:ds(T),children:"Needs attention"}),o.jsx("button",{type:"button",role:"menuitem",className:"s-agent-lanes-deck-item",onClick:()=>{se("codex","Codex sessions"),B(!1)},disabled:me(T,"codex"),children:"Codex sessions"}),o.jsx("button",{type:"button",role:"menuitem",className:"s-agent-lanes-deck-item",onClick:()=>{se("claude","Claude sessions"),B(!1)},disabled:me(T,"claude"),children:"Claude sessions"}),o.jsx("button",{type:"button",role:"menuitem",className:"s-agent-lanes-deck-item",onClick:()=>{se("grok","Grok sessions"),B(!1)},disabled:me(T,"grok"),children:"Grok sessions"}),o.jsx("button",{type:"button",role:"menuitem",className:"s-agent-lanes-deck-item",onClick:()=>{se("kimi","Kimi sessions"),B(!1)},disabled:me(T,"kimi"),children:"Kimi sessions"}),o.jsx("button",{type:"button",role:"menuitem",className:"s-agent-lanes-deck-item s-agent-lanes-deck-item--danger",onClick:()=>{_n(),B(!1)},disabled:we===0,children:"Clear pinned lanes"})]}):null]}),o.jsx("div",{className:"s-agent-lanes-horizons",role:"group","aria-label":L?"Map activity window":"Activity window",children:ge.map((a,h)=>o.jsx("button",{type:"button",className:`s-agent-lanes-horizon${x===a.key?" s-agent-lanes-horizon--on":""}`,"aria-pressed":x===a.key,title:`${a.label} window (${h+1})`,onClick:()=>L?y(a.key):C(a.key),children:a.label},a.key))})]})]}),t==null&&$.length>0?o.jsxs("div",{className:"s-agent-lanes-issues",role:"status","aria-live":"polite",children:[o.jsxs("div",{className:"s-agent-lanes-issues-head",children:[o.jsx("span",{className:"s-agent-lanes-issues-badge",children:"Roster issues"}),o.jsxs("span",{className:"s-agent-lanes-issues-meta",children:[$.length," fleet/transcript warning",$.length===1?"":"s"," — lanes follow tail, not agent registry"]})]}),o.jsx("ul",{className:"s-agent-lanes-issues-list",children:$.map(a=>o.jsx(zs,{issue:a},a.id))})]}):null,ce===0?de.visible?o.jsx(Lt,{discovery:O,discoveryPhase:W.discovery,windowMs:K,nowMs:v,layout:L?"none":k?"grid":"scroll",gridColumns:I,laneWidthPx:mn(T.defaultLaneWidth,T.defaultLaneWidth),matchTranscript:An}):Ve?o.jsx(Os,{loadState:W,onRetry:()=>{De()}}):o.jsx($s,{activeFilterLabel:ke,horizon:R,horizonLabel:Y,showAutoLanes:T.showAutoLanes,onHorizonChange:C,onAddAttentionLane:Ke,onAddCodexLane:()=>se("codex","Codex sessions"),sourceCount:Ge,eventCount:q.length,degraded:In,onRetry:()=>{De()}}):L?o.jsx(ht,{lanes:te,now:v,onOpenTrace:Hn,railLedger:!0,operatorName:m}):k?o.jsx("div",{className:"s-agent-lanes-grid","data-grid-columns":I,role:"listbox","aria-label":"Agent lane grid",children:G.map((a,h)=>fe(a,h,!0))}):o.jsxs("div",{className:"s-agent-lanes-body",children:[E.pinnedLeft.length>0?o.jsxs("section",{className:"s-agent-lanes-zone s-agent-lanes-zone--pinned-left","aria-label":"Pinned lanes",children:[o.jsx("div",{className:"s-agent-lanes-zone-label",children:"Pinned"}),o.jsx("div",{ref:Mn,className:"s-agent-lanes-scroll",role:"listbox","aria-label":"Pinned agent lanes",onScroll:$n,children:E.pinnedLeft.map((a,h)=>fe(a,h))})]}):null,E.main.length>0?o.jsxs("section",{className:"s-agent-lanes-zone s-agent-lanes-zone--main","aria-label":"Active lanes",children:[E.pinnedLeft.length>0?o.jsx("div",{className:"s-agent-lanes-zone-label",children:"Live"}):null,o.jsx("div",{ref:zn,className:"s-agent-lanes-scroll",role:"listbox","aria-label":"Active agent lanes",onScroll:Fn,children:E.main.map((a,h)=>fe(a,E.pinnedLeft.length+h))})]}):null,E.pinnedRight.length>0?o.jsxs("section",{className:"s-agent-lanes-zone s-agent-lanes-zone--pinned-right","aria-label":"Pinned right lanes",children:[o.jsx("div",{className:"s-agent-lanes-zone-label",children:"Pinned"}),o.jsx("div",{ref:On,className:"s-agent-lanes-scroll",role:"listbox","aria-label":"Pinned right agent lanes",onScroll:Wn,children:E.pinnedRight.map((a,h)=>fe(a,E.pinnedLeft.length+E.main.length+h))})]}):null]}),de.visible?o.jsx(yt,{loadState:W,sourceCount:Ge,processCount:O?.processes.length??0,eventCount:q.length,laneCount:ce,horizonLabel:Y,handedOff:de.exiting,exiting:de.exiting}):null,ne&&o.jsx(Et,{lane:ne,navigate:e,returnRoute:Nn,navigationEnabled:t==null,onClose:()=>We(null),onPinProject:Tn,projectPinned:Pn}),Ye&&o.jsx(Nt,{target:Ye,onClose:()=>Ee(null)})]})}function pe(e){const n=e?.trim().toLowerCase();return n||null}function Te(e){return e.trim().toLowerCase().replace(/['"]/gu,"").replace(/[^a-z0-9]+/gu,"-").replace(/^-+|-+$/gu,"")}function Hs(e){return e.trim().replace(/\/+$/u,"").split(/[\\/]/u).filter(Boolean).pop()?.trim()||null}function Le(e,n){if(!n)return!0;const t=Te(n);return e.some(s=>{const i=s?.trim();if(!i)return!1;const l=i.toLowerCase(),f=Hs(i);return l===n||Te(i)===t||!!(f&&(f.toLowerCase()===n||Te(f)===t))})}function Bs(e,n){const t=pe(n.harnessFilter),s=pe(n.projectFilter),{agent:i,facts:l,source:f}=e;return Le([i.harness,i.definitionId,l?.attribution,f],t)&&Le([i.project,i.projectRoot,i.cwd,l?.cwd,J(i,f)],s)}function Vs(e,n){return Le([e.harness,e.source],pe(n.harnessFilter))&&Le([e.project,e.cwd],pe(n.projectFilter))}function Gs(e){return[e.harnessFilter?.trim()?`harness ${e.harnessFilter.trim()}`:"",e.projectFilter?.trim()?`project ${e.projectFilter.trim()}`:""].filter(Boolean).join(" · ")}const Ks=Yn({id:"lanes",label:"Agent Lanes",route:{view:"ops",mode:"lanes"},webPath:"/ops/lanes",screen:"AgentLanesView",embed:{path:"/embed/agent-lanes",aliases:["/ops/lanes/embed","/embed/lanes","/embed/traces"],profile:"macos.lanes",rootClassName:"s-agent-lanes-embed",chrome:{showSecondaryNav:!1,showPageStatusBar:!1},hosts:{macos:!0},resolveEmbedProps:e=>({profileId:gn(),laneSize:pn(),harnessFilter:e.get("harness")?.trim()||null,projectFilter:e.get("project")?.trim()||null})}}),va=Object.freeze(Object.defineProperty({__proto__:null,AgentLanesView:Ws,scoutSurface:Ks},Symbol.toStringTag,{value:"Module"}));export{Ws as A,va as a,cs as r,ts as u};
@@ -1 +1 @@
1
- import{r as i,j as t}from"./index-EsrkGBcv.js";import{n as W,d as q,e as D}from"./agent-state-DDhnFEEP.js";import{a as G}from"./api-DSqpVKC7.js";import{q as M}from"./terminal-takeover-Ay5C2c-M.js";import{t as S}from"./time-Dhsh_2EG.js";import{u as U}from"./Provider-C35yu29I.js";import{o as N}from"./openContent-C6XO6kr5.js";import{E as F}from"./eye-LrO-cXQt.js";import{T as H}from"./terminal-hQKQygcf.js";function A(e){return e?e.length>18?`${e.slice(0,8)}...${e.slice(-6)}`:e:null}function ee({agent:e,catalog:r,navigate:I,returnTo:g,variant:m="default",className:O,onNavigate:v}){const p=U(),[L,c]=i.useState(null),[$,b]=i.useState(!1),f=I??p.navigate,h=g??p.route;i.useEffect(()=>{b(!1)},[e.id]),i.useEffect(()=>{if(r!==void 0){c(null);return}let s=!1;return G(`/api/agents/${encodeURIComponent(e.id)}/session-catalog`).then(R=>{s||c(R)}).catch(()=>{s||c(null)}),()=>{s=!0}},[e.id,r]);const a=r===void 0?L:r,d=e.terminalSurface??(e.transport==="tmux"&&e.harnessSessionId?{backend:"tmux",sessionName:e.harnessSessionId,paneId:null,socketDir:null}:null),o=a?.activeSessionId??(d?e.harnessSessionId??d.sessionName:null),T=i.useMemo(()=>a?.sessions.find(s=>s.id===o)??null,[o,a?.sessions]);W(e.state);const n=!!(d&&o),w=n||!!a?.resumeCommand,x=q(e.state,e),l=m==="compact",E=x?o?l?n?"Live terminal":"Live trace":`Live ${A(o)}`:"Working":o?l?n?"Terminal":"Trace":`${n?"Terminal":"Trace"} ${A(o)}`:D(e.state,e)?"Callable":"No live turn",j=T?.startedAt?S(T.startedAt):e.updatedAt?S(e.updatedAt):null,y=n?l?"Observe":"Observe terminal":l?"Trace":"Observe trace",k=n?"Observe the live terminal":"Open the web observe trace",u=s=>{v?.(),N(f,{view:"terminal",agentId:e.id,mode:s},{returnTo:h})},C=()=>{v?.(),N(f,{view:"agents-v2",agentId:e.id,tab:"observe"},{returnTo:h})},z=()=>{if(n){u("takeover");return}const s=a?.resumeCommand;s&&(b(!0),M({command:s,cwd:a?.resumeCwd,agentId:e.id}).then(()=>u("takeover")))},B=["agent-live-actions",`agent-live-actions--${m}`,x?"agent-live-actions--live":"",O??""].filter(Boolean).join(" ");return t.jsxs("div",{className:B,children:[t.jsxs("div",{className:"agent-live-actions-status",children:[t.jsx("span",{className:"agent-live-actions-dot"}),t.jsx("span",{className:"agent-live-actions-status-main",children:E}),j&&t.jsx("span",{className:"agent-live-actions-status-detail",children:j})]}),t.jsxs("div",{className:"agent-live-actions-buttons",children:[t.jsxs("button",{type:"button",className:"agent-live-actions-button agent-live-actions-button--primary",onClick:()=>n?u("observe"):C(),title:k,"aria-label":k,children:[t.jsx(F,{size:13,strokeWidth:1.9,"aria-hidden":"true"}),t.jsx("span",{children:y})]}),n&&t.jsx("button",{type:"button",className:"agent-live-actions-button",onClick:C,title:"Open the web observe trace",children:t.jsx("span",{children:"Trace"})}),w&&t.jsxs("button",{type:"button",className:"agent-live-actions-button",onClick:z,title:a?.resumeCommand??"Open interactive terminal takeover",children:[t.jsx(H,{size:13,strokeWidth:1.9,"aria-hidden":"true"}),t.jsx("span",{children:$?"Going...":"Takeover"})]})]})]})}export{ee as A};
1
+ import{r as i,j as t}from"./index-BFbLvCJn.js";import{n as W,d as q,e as D}from"./agent-state-DDhnFEEP.js";import{a as G}from"./api-DSqpVKC7.js";import{q as M}from"./terminal-takeover-CXwdoZ5j.js";import{t as S}from"./time-Dhsh_2EG.js";import{u as U}from"./Provider-BEXAZWd9.js";import{o as N}from"./openContent-C6XO6kr5.js";import{E as F}from"./eye-CD-_aphP.js";import{T as H}from"./terminal-DMBAZjPP.js";function A(e){return e?e.length>18?`${e.slice(0,8)}...${e.slice(-6)}`:e:null}function ee({agent:e,catalog:r,navigate:I,returnTo:g,variant:m="default",className:O,onNavigate:v}){const p=U(),[L,c]=i.useState(null),[$,b]=i.useState(!1),f=I??p.navigate,h=g??p.route;i.useEffect(()=>{b(!1)},[e.id]),i.useEffect(()=>{if(r!==void 0){c(null);return}let s=!1;return G(`/api/agents/${encodeURIComponent(e.id)}/session-catalog`).then(R=>{s||c(R)}).catch(()=>{s||c(null)}),()=>{s=!0}},[e.id,r]);const a=r===void 0?L:r,d=e.terminalSurface??(e.transport==="tmux"&&e.harnessSessionId?{backend:"tmux",sessionName:e.harnessSessionId,paneId:null,socketDir:null}:null),o=a?.activeSessionId??(d?e.harnessSessionId??d.sessionName:null),T=i.useMemo(()=>a?.sessions.find(s=>s.id===o)??null,[o,a?.sessions]);W(e.state);const n=!!(d&&o),w=n||!!a?.resumeCommand,x=q(e.state,e),l=m==="compact",E=x?o?l?n?"Live terminal":"Live trace":`Live ${A(o)}`:"Working":o?l?n?"Terminal":"Trace":`${n?"Terminal":"Trace"} ${A(o)}`:D(e.state,e)?"Callable":"No live turn",j=T?.startedAt?S(T.startedAt):e.updatedAt?S(e.updatedAt):null,y=n?l?"Observe":"Observe terminal":l?"Trace":"Observe trace",k=n?"Observe the live terminal":"Open the web observe trace",u=s=>{v?.(),N(f,{view:"terminal",agentId:e.id,mode:s},{returnTo:h})},C=()=>{v?.(),N(f,{view:"agents-v2",agentId:e.id,tab:"observe"},{returnTo:h})},z=()=>{if(n){u("takeover");return}const s=a?.resumeCommand;s&&(b(!0),M({command:s,cwd:a?.resumeCwd,agentId:e.id}).then(()=>u("takeover")))},B=["agent-live-actions",`agent-live-actions--${m}`,x?"agent-live-actions--live":"",O??""].filter(Boolean).join(" ");return t.jsxs("div",{className:B,children:[t.jsxs("div",{className:"agent-live-actions-status",children:[t.jsx("span",{className:"agent-live-actions-dot"}),t.jsx("span",{className:"agent-live-actions-status-main",children:E}),j&&t.jsx("span",{className:"agent-live-actions-status-detail",children:j})]}),t.jsxs("div",{className:"agent-live-actions-buttons",children:[t.jsxs("button",{type:"button",className:"agent-live-actions-button agent-live-actions-button--primary",onClick:()=>n?u("observe"):C(),title:k,"aria-label":k,children:[t.jsx(F,{size:13,strokeWidth:1.9,"aria-hidden":"true"}),t.jsx("span",{children:y})]}),n&&t.jsx("button",{type:"button",className:"agent-live-actions-button",onClick:C,title:"Open the web observe trace",children:t.jsx("span",{children:"Trace"})}),w&&t.jsxs("button",{type:"button",className:"agent-live-actions-button",onClick:z,title:a?.resumeCommand??"Open interactive terminal takeover",children:[t.jsx(H,{size:13,strokeWidth:1.9,"aria-hidden":"true"}),t.jsx("span",{children:$?"Going...":"Takeover"})]})]})]})}export{ee as A};
@@ -0,0 +1 @@
1
+ import{r as a,j as e}from"./index-BFbLvCJn.js";import{A as O}from"./AgentAvatar-Dn8TUv5W.js";import{H as W}from"./HarnessMark-CP-PWk2W.js";import{u as q,b as I,f as V}from"./use-fleet-active-asks-DAHOPYPV.js";import{p as z,N as K,t as U}from"./sessions-view-lGMwwZY7.js";import{t as G}from"./time-Dhsh_2EG.js";import{a as H}from"./api-DSqpVKC7.js";import{u as J}from"./use-conversation-list-CGtcpdPd.js";import{u as D}from"./router-CJIx83Ia.js";import{u as Q}from"./Provider-BEXAZWd9.js";import{CommsFlowView as X}from"./CommsFlowGraph-Cc48o9u_.js";import{mapIdentities as Y}from"./CommsFlowMap-Ckasql5e.js";import{p as Z,f as tt,e as et,a as st}from"./comms-gesture-_aGFo6g3.js";import{u as rt,a as ot}from"./use-beside-DopIbJwf.js";import{ConversationScreen as at}from"./ConversationScreen-Pzxy9x4m.js";import{b as it,s as nt}from"./agent-master-model-Bk_yuUXJ.js";/* empty css */import{P as mt}from"./panel-right-WKLdPm0F.js";import"./SpriteAvatar-D53GaaK3.js";import"./agent-state-DDhnFEEP.js";import"./CrewAvatar-a_C_F9r_.js";import"./runtime-picker-IRcTkMZ5.js";import"./scout-voice-Cdh6pCsb.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CCG7hG7z.js";import"./createLucideIcon-CKbjXlwv.js";import"./colors-CFlbwC25.js";import"./sse-BVxO0zNp.js";import"./index-BWHgHrtv.js";import"./message-visibility-DwxgcgYK.js";import"./machine-scope-DJt9RZ2w.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./theme-vars-DNK0nn3k.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-D-VB5vdt.js";import"./media-blobs-Bi8pxr1u.js";import"./index-CXzJ_hGx.js";import"./conversation-model-FxDeWlle.js";import"./conversations-DoAAO6kA.js";import"./NewChatOrigin-BYsEu9dZ.js";import"./keyboard-nav-CEe-ApvZ.js";import"./x-BcfhXYiF.js";import"./chevron-down-DEDSNJNY.js";import"./search-Bv2IONmc.js";import"./file-text-BOJQiS8p.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-mxzPxQQW.js";import"./TextDocumentSurface-DBslUq9k.js";import"./index-V8FYEUpD.js";import"./chevron-right-B02kAw12.js";import"./folder-C2emmTHq.js";import"./chevron-up-CzveykKG.js";import"./code-xml-E9gBuiVs.js";import"./arrow-left-DNjQHf4C.js";import"./arrow-right-A_yyXwoH.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DVhUsgOw.js";import"./CommsCanvas-Dh056d91.js";import"./comms-deck-CBhsXnY-.js";import"./CommsSelection-CuphnUny.js";/* empty css */import"./ComposerAttachments-9uYp_Lh5.js";import"./message-markup-D1C7GzHo.js";import"./message-markup-BQW5jdJw.js";import"./mentions-s5oW4aQU.js";import"./AgentDetailCard-CI-ufaEP.js";import"./AgentLiveActions-CkRGkv13.js";import"./terminal-takeover-CXwdoZ5j.js";import"./openContent-C6XO6kr5.js";import"./eye-CD-_aphP.js";import"./terminal-DMBAZjPP.js";import"./operator-attention-DBaRg5ep.js";import"./sessionRead-CvFz2RHv.js";import"./clipboard-e3fSpeo7.js";import"./MessageEmbeds-B-FbWI7a.js";import"./types-B0PlfpKc.js";/* empty css */import"./ConversationHeader-L9738YVP.js";import"./BackToPicker-BPU7kbXq.js";import"./AstronautSuit-Dzu4GOMR.js";import"./ConversationComposer-hYtLurqy.js";import"./zap-BqL8ttGz.js";import"./ConversationFeedRows-Bu0ZJcy8.js";import"./ConversationPanels-D6KuqvGu.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";import"./use-reduced-motion-DkdIQBwh.js";import"./proxy-k0ILOVkK.js";import"./activity-CXkZ620t.js";import"./message-circle-BB3rFCVD.js";import"./tail-events-C6NWFB1N.js";import"./ConversationStatus-BEefIbXq.js";import"./check-BM6QtbB7.js";import"./sparkles-Br-bA2aZ.js";import"./triangle-alert-BZikHKuT.js";import"./SessionContextStrip-BoiIxXvS.js";const lt=500;function ct(s,n){const[i,l]=a.useState([]),[f,c]=a.useState(!1),[m,d]=a.useState(null);return a.useEffect(()=>{if(l([]),!n||!s){c(!1),d(null);return}let o=!0;return c(!0),d(null),H(`/api/messages?actor=${encodeURIComponent(s)}&limit=${lt}`).then(r=>{o&&l([...r].sort((x,v)=>x.createdAt-v.createdAt))}).catch(r=>{o&&(l([]),d(r instanceof Error?r.message:"Could not load this agent's messages."))}).finally(()=>{o&&c(!1)}),()=>{o=!1}},[s,n]),{messages:i,loading:f,error:m}}const pt=[{id:"chat",label:"Chat",hint:"The conversation on the stage"},{id:"flow",label:"Flow",hint:"Who asked whom across everything this agent is in"},{id:"map",label:"Map",hint:"Who this agent exchanges work with, and on which model"},{id:"canvas",label:"Canvas",hint:"The same window laid out left to right, with nobody folded away"}];function dt(s,n){const{messages:i,loading:l,error:f}=ct(s,n),{passes:c,flights:m}=a.useMemo(()=>{const o=i.filter(r=>!!r.actorId).map(r=>({id:r.id,conversationId:r.conversationId,actorId:r.actorId,actorName:r.actorName,body:r.body,createdAt:r.createdAt,class:r.class,metadata:r.metadata??null,replyToMessageId:r.replyToMessageId??null}));return et(o)},[i]),d=a.useMemo(()=>st(c,m),[c,m]);return{passes:c,flights:m,tasks:d,loading:l,error:f,count:i.length}}function ns({agentId:s,threadId:n,machineId:i,navigate:l}){const{agents:f}=Q(),c=D(),m=rt(),d=ot(l,i),[o,r]=a.useState(()=>{if(typeof window>"u")return"chat";const t=new URLSearchParams(window.location.search).get("view");return t==="flow"||t==="map"||t==="canvas"?t:"chat"}),[x,v]=a.useState(null),b=`${s}\0${n??""}`,S=a.useRef(b);a.useEffect(()=>{S.current!==b&&(S.current=b,r("chat"),v(null))},[b]),a.useEffect(()=>v(null),[o]),a.useEffect(()=>{if(typeof window>"u")return;const t=new URL(window.location.href),h=o==="chat"?"":o;(t.searchParams.get("view")??"")!==h&&(h?t.searchParams.set("view",h):t.searchParams.delete("view"),window.history.replaceState(window.history.state,"",`${t.pathname}${t.search}${t.hash}`))},[o,c.searchStr]);const{sessions:C,loading:T}=J(),N=q(),{agent:g,memberAgentIds:E,sessions:k,master:p,threads:A}=a.useMemo(()=>it({agentId:s,threadId:n,machineId:i,agents:f,sessions:C}),[s,n,i,f,C]),$=a.useMemo(()=>I(N,E),[N,E]),u=dt(s,o!=="chat"),B=a.useMemo(()=>Y(k.flatMap(t=>t.participants??[])),[k]),w=n??p?.id??null,L=a.useMemo(()=>p?[p,...A]:A,[p,A]),_=t=>!!w&&nt(t,w),P=t=>{l({view:"messages",agentId:s,...p&&t.id===p.id?{}:{threadId:t.id},...i?{machineId:i}:{}})},y=g?.name??k[0]?.agentName??s.split(".")[0]??s,R=(()=>{const t=z(g);return t===K?null:t})(),M=ut($),F=[R,M?.label??g?.branch??null].filter(Boolean).join(" · ");return e.jsxs(e.Fragment,{children:[e.jsxs("header",{className:"amv-head",children:[e.jsx(O,{agent:g??{name:y,harness:p?.harness??null,state:null},placement:"row",size:32}),e.jsxs("div",{className:"amv-ident",children:[e.jsx("span",{className:"amv-name",children:y}),F?e.jsxs("span",{className:"amv-sub",children:[M?e.jsx("span",{className:"amv-dot","data-tone":M.tone,"aria-hidden":!0}):null,F]}):null]}),g?.harness??p?.harness?e.jsx(W,{harness:g?.harness??p?.harness??"",size:14}):null,e.jsx("div",{className:"s-thread-view-toggle",role:"group","aria-label":"View",children:pt.map(t=>e.jsx("button",{type:"button",className:`s-thread-view-option${o===t.id?" is-active":""}`,onClick:()=>r(t.id),"aria-pressed":o===t.id,title:t.hint,children:t.label},t.id))})]}),L.length>0?e.jsx("div",{className:"amv-strip",role:"list","aria-label":"Conversations",children:L.map(t=>{const h=_(t),j=m.has(t.id);return e.jsxs("div",{role:"listitem",className:`amv-card${h?" amv-card--on":""}${j?" amv-card--kept":""}`,children:[e.jsxs("button",{type:"button",className:"amv-cardMain",title:h?"On the stage":"Open on the stage · double-click to keep beside","aria-current":h?"true":void 0,...Z(()=>{r("chat"),P(t)},()=>m.add(t.id)),children:[e.jsx("span",{className:"amv-mark","data-state":ft(t,N),"aria-hidden":!0}),e.jsx("span",{className:"amv-cardTitle",children:U(t)}),e.jsx("span",{className:"amv-cardMeta",children:t.lastMessageAt?G(t.lastMessageAt):"—"})]}),e.jsx("button",{type:"button",className:"amv-cardBeside",title:j?"Close the column beside the stage":"Keep beside the stage","aria-label":j?"Close beside":"Keep beside","aria-pressed":j,onClick:()=>m.toggle(t.id),children:e.jsx(mt,{size:12,strokeWidth:2,"aria-hidden":!0})})]},t.id)})}):null,e.jsx("div",{className:"amv-feed",children:o!=="chat"?u.error?e.jsx("div",{className:"amv-empty",children:u.error}):u.loading&&u.count===0?e.jsx("div",{className:"amv-empty",children:"Loading this agent’s work…"}):u.count===0?e.jsx("div",{className:"amv-empty",children:"Nothing has passed through this agent yet."}):e.jsx(X,{passes:u.passes,flights:u.flights,rootId:tt(s),identities:B,view:o,selected:x,onSelect:v,onStage:t=>{r("chat"),d(t)},beside:m}):w?e.jsx(at,{conversationId:w,navigate:l,embedded:!0,showBackNav:!1,beside:m},w):e.jsx("div",{className:"amv-empty",children:T?"Loading conversations…":`No conversations with ${y} yet.`})})]})}function ut(s){return s?s.status==="working"?{label:"working",tone:"working"}:s.status==="needs_attention"?{label:"needs you",tone:"attention"}:s.status==="queued"?{label:"starting",tone:"pending"}:null:null}function ht(s){return s.status==="needs_attention"?"needs_you":s.status==="working"||s.status==="queued"?"working":"quiet"}function ft(s,n){const i=V(n,s);return i?ht(i):"quiet"}export{ns as AgentMasterScreen};