@openscout/scout 0.2.90 → 0.2.92

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 (283) hide show
  1. package/README.md +12 -4
  2. package/bin/scoutd +0 -0
  3. package/dist/build-manifest.json +3 -3
  4. package/dist/client/assets/{ActivityScreen-BUeb4ERK.js → ActivityScreen-DkUP7V7M.js} +1 -1
  5. package/dist/client/assets/{AddProjectForm-DtTfn4Zk.js → AddProjectForm-CpyytDf2.js} +1 -1
  6. package/dist/client/assets/{AgentAvatar-CneOa70z.js → AgentAvatar-D8ZtMluU.js} +1 -1
  7. package/dist/client/assets/{AgentConfigurationScreen-CkZ7EjZh.js → AgentConfigurationScreen-BlGI6fuM.js} +1 -1
  8. package/dist/client/assets/{AgentDefinitionsWorkspace-0Y3kqMtv.js → AgentDefinitionsWorkspace-CfaDVCVt.js} +1 -1
  9. package/dist/client/assets/{AgentDetailCard-Dtc02KUO.js → AgentDetailCard-BTiOmh-a.js} +1 -1
  10. package/dist/client/assets/{AgentFloorView-B5raPB_U.js → AgentFloorView-DjNLILLt.js} +1 -1
  11. package/dist/client/assets/{AgentInfoScreen-DFG4ElZD.js → AgentInfoScreen-DG5dlHb_.js} +1 -1
  12. package/dist/client/assets/{AgentLaneCard-BRAkw8YJ.js → AgentLaneCard-lfRNb7JD.js} +1 -1
  13. package/dist/client/assets/{AgentLaneChrome-T8QE5742.js → AgentLaneChrome-Dlwrbq3g.js} +1 -1
  14. package/dist/client/assets/{AgentLaneDetailSheet-C8RYotnv.js → AgentLaneDetailSheet-BzYzBfcW.js} +1 -1
  15. package/dist/client/assets/{AgentLaneSummaryResize-FyYweLo_.js → AgentLaneSummaryResize-6SOEWUnr.js} +1 -1
  16. package/dist/client/assets/AgentLanesEmbedScreen-Crxx1srt.js +1 -0
  17. package/dist/client/assets/{AgentLanesPreflight-Cil3dNwu.js → AgentLanesPreflight-C3uOiOzd.js} +1 -1
  18. package/dist/client/assets/{AgentLanesView-DPfO8MOo.js → AgentLanesView-ChNlmY-F.js} +1 -1
  19. package/dist/client/assets/{AgentLiveActions-DwScaVRF.js → AgentLiveActions-BJ5dIfL3.js} +1 -1
  20. package/dist/client/assets/{AgentSessions-DKoWA0Lm.js → AgentSessions-DpY0htZV.js} +1 -1
  21. package/dist/client/assets/{AgentsConsole-DoBIWGoq.js → AgentsConsole-CHyXrjhm.js} +1 -1
  22. package/dist/client/assets/{AgentsScreen-JuUiSuwY.js → AgentsScreen-BhCjX2lD.js} +1 -1
  23. package/dist/client/assets/AgentsSubnav-az_VDkri.js +1 -0
  24. package/dist/client/assets/{AtopView-ycxMrRwp.js → AtopView-BjjPM8OX.js} +1 -1
  25. package/dist/client/assets/{BackToPicker-D6WgIDb-.js → BackToPicker-D1LV6Cqp.js} +1 -1
  26. package/dist/client/assets/{BriefingDetailScreen-Zw-taW1s.js → BriefingDetailScreen-B7qJ90Np.js} +1 -1
  27. package/dist/client/assets/{BriefingsScreen-BerYOoWS.js → BriefingsScreen-CW6N829d.js} +1 -1
  28. package/dist/client/assets/{BrokerMetadataPanel-Cu93j-Ga.js → BrokerMetadataPanel-BhjECqOK.js} +1 -1
  29. package/dist/client/assets/{BrokerScreen-CeN90URH.js → BrokerScreen-X3z50712.js} +1 -1
  30. package/dist/client/assets/{ChatCollapsedStrip-DdKyMSEM.js → ChatCollapsedStrip-DNR9osDy.js} +1 -1
  31. package/dist/client/assets/{CodeDiffPane-BjCOBLze.js → CodeDiffPane-Bx_2VAzv.js} +1 -1
  32. package/dist/client/assets/{CodeProjectPicker-NSGdCaK0.js → CodeProjectPicker-C1yOJKvs.js} +1 -1
  33. package/dist/client/assets/{CodeScreen-CA9Sq6Dx.js → CodeScreen-CIKK1LcZ.js} +1 -1
  34. package/dist/client/assets/{ContextMenu-DnFcmfMR.js → ContextMenu-CHIuVKz7.js} +1 -1
  35. package/dist/client/assets/{ConversationComposer-CjRXFkvY.js → ConversationComposer-Bf7Ga_49.js} +1 -1
  36. package/dist/client/assets/{ConversationFeedRows-CgRTIpAv.js → ConversationFeedRows-Cm1Lgo43.js} +1 -1
  37. package/dist/client/assets/{ConversationHeader-CRmdtuL7.js → ConversationHeader-B_GXrKR0.js} +1 -1
  38. package/dist/client/assets/{ConversationPanels-DCkcLIHk.js → ConversationPanels-BTBbEvrP.js} +2 -2
  39. package/dist/client/assets/{ConversationScreen-Br0QQ3xo.js → ConversationScreen-B3l2m3JI.js} +1 -1
  40. package/dist/client/assets/{ConversationStatus-BJ1CMbAv.js → ConversationStatus-BqhUHD85.js} +1 -1
  41. package/dist/client/assets/{DataTable-Dzqiaha4.js → DataTable-CJbbgBdA.js} +1 -1
  42. package/dist/client/assets/{DispatchAftermath-B0WMg_z3.js → DispatchAftermath-BDA9CrOd.js} +1 -1
  43. package/dist/client/assets/{DocumentFocusViewer-CZVVIAD5.js → DocumentFocusViewer-B9vodVmG.js} +1 -1
  44. package/dist/client/assets/{EmbeddableSurfacesLab-C3a7hJWO.js → EmbeddableSurfacesLab-BdsYRDky.js} +1 -1
  45. package/dist/client/assets/{EmptyState-CYNJZMrZ.js → EmptyState-BRY5jTpz.js} +1 -1
  46. package/dist/client/assets/{FileViewerPane-Fwt8_KmD.js → FileViewerPane-9Bveqm9c.js} +1 -1
  47. package/dist/client/assets/{FleetSearch-Dsi_l2KW.js → FleetSearch-Bj9SCl2f.js} +1 -1
  48. package/dist/client/assets/{FlightObserveScreen-g_tiGmvz.js → FlightObserveScreen-BVMdsiCC.js} +1 -1
  49. package/dist/client/assets/{FollowScreen-Bb_rcrzi.js → FollowScreen-BifwHWOV.js} +1 -1
  50. package/dist/client/assets/{HarnessMark-DrE57dUq.js → HarnessMark-BPAphNjx.js} +1 -1
  51. package/dist/client/assets/{HarnessesScreen-CAsCJ_tG.js → HarnessesScreen-fMnbnrD4.js} +1 -1
  52. package/dist/client/assets/{HerdrSession-1eVu9Owj.js → HerdrSession-BujfGzrP.js} +1 -1
  53. package/dist/client/assets/{HomeHero-W445QrG1.js → HomeHero-BgM6S39l.js} +1 -1
  54. package/dist/client/assets/{KnowledgeSearchInspector-CbPVg3fr.js → KnowledgeSearchInspector-B4ZY24xE.js} +1 -1
  55. package/dist/client/assets/{KnowledgeSearchScreen-C1lN1xJk.js → KnowledgeSearchScreen-Ch_WENUC.js} +1 -1
  56. package/dist/client/assets/{LaneToolHoverCard-BkBcDYm-.js → LaneToolHoverCard-B7KdvQvf.js} +1 -1
  57. package/dist/client/assets/{LaneTraceDetailSheet-CzTd44rf.js → LaneTraceDetailSheet-H3AnN-vN.js} +1 -1
  58. package/dist/client/assets/{LaneTraceEventFocus-BmMmPTyJ.js → LaneTraceEventFocus-mkMw2wJU.js} +1 -1
  59. package/dist/client/assets/{MeshCanvas-DwkjsiJ5.js → MeshCanvas-CpKcWxKy.js} +1 -1
  60. package/dist/client/assets/{MeshCanvasMinimap-vmCpU1sD.js → MeshCanvasMinimap-C9IoGHbe.js} +1 -1
  61. package/dist/client/assets/{MeshScreen-CkMepUpT.js → MeshScreen-48QkJSDI.js} +1 -1
  62. package/dist/client/assets/{MeshTopologyView-BD2xLE2C.js → MeshTopologyView-DFzr0IZM.js} +2 -2
  63. package/dist/client/assets/{MessageComposerSuggestions-qbalTne_.js → MessageComposerSuggestions-FdVHnT_q.js} +1 -1
  64. package/dist/client/assets/{MessagesScreen-C8UynyLC.js → MessagesScreen-BMOOfbWX.js} +1 -1
  65. package/dist/client/assets/{MissionContextRail-D5MEP2f4.js → MissionContextRail-Y8QxUZGE.js} +1 -1
  66. package/dist/client/assets/{MissionControlView-K_I7eftL.js → MissionControlView-BpsHKu1F.js} +1 -1
  67. package/dist/client/assets/{MissionFocusOverlay-CWKLdUKG.js → MissionFocusOverlay-BPnAEA3F.js} +1 -1
  68. package/dist/client/assets/{MissionLeftAgentRow-ByGrNAcs.js → MissionLeftAgentRow-iOZ6ds9L.js} +1 -1
  69. package/dist/client/assets/{MissionLogPane-ZwHJ137T.js → MissionLogPane-B0csI89E.js} +1 -1
  70. package/dist/client/assets/{NewAgentModal-Do9aVvan.js → NewAgentModal-DBHJR9Qm.js} +1 -1
  71. package/dist/client/assets/{NewChatComposer-DKlNX1UA.js → NewChatComposer-Hd7pI5Ac.js} +1 -1
  72. package/dist/client/assets/{NewChatOrigin-DXPvX-hh.js → NewChatOrigin-DmuJ32wa.js} +1 -1
  73. package/dist/client/assets/{ObserveEmbedScreen-Dghsq2on.js → ObserveEmbedScreen-DyArn7Id.js} +1 -1
  74. package/dist/client/assets/{ObserveTextFlow-DWNlmTVm.js → ObserveTextFlow-CkMrtT8s.js} +2 -2
  75. package/dist/client/assets/{ObservedTopologyPanel-BlmGoxCE.js → ObservedTopologyPanel-CaSZZP05.js} +1 -1
  76. package/dist/client/assets/{OpenScoutAppShell-DDqQi-oe.js → OpenScoutAppShell-BtlKkiuF.js} +1 -1
  77. package/dist/client/assets/{OpsAgentsView-Bn_fGBdo.js → OpsAgentsView-CnqrwbC2.js} +1 -1
  78. package/dist/client/assets/OpsScreen-DOlmlVkP.js +1 -0
  79. package/dist/client/assets/OpsSubnav-Dj3ShAKv.js +1 -0
  80. package/dist/client/assets/{PlanView-B6gKo543.js → PlanView-BLGdWDx6.js} +1 -1
  81. package/dist/client/assets/ProjectAgentProfile-Dv1sVnQl.js +1 -0
  82. package/dist/client/assets/{ProjectAgentProfileBar-C5QWwZCn.js → ProjectAgentProfileBar-BLVg5EeA.js} +1 -1
  83. package/dist/client/assets/{ProjectAgentProfileHero-DC7Dd8VL.js → ProjectAgentProfileHero-0-GDhsPT.js} +1 -1
  84. package/dist/client/assets/{ProjectsInbox-DCLrDmj1.js → ProjectsInbox-B3DpAI5b.js} +1 -1
  85. package/dist/client/assets/{ProjectsRail-C4hiXYSb.js → ProjectsRail-BDl7U9Jq.js} +1 -1
  86. package/dist/client/assets/ProjectsScreen-Dl2FcGrR.js +1 -0
  87. package/dist/client/assets/{ProjectsThreadAside-DYmL2dCY.js → ProjectsThreadAside-BcGC5mHE.js} +1 -1
  88. package/dist/client/assets/{Provider-p-xuaAoE.js → Provider-cJCdHAxu.js} +1 -1
  89. package/dist/client/assets/{RailRow-bRkkXIpR.js → RailRow-CLcVmywd.js} +1 -1
  90. package/dist/client/assets/{RawSessionsTable-B7WKmXrk.js → RawSessionsTable-DBto4Ts-.js} +1 -1
  91. package/dist/client/assets/{RealtimeVoiceScreen-BzP3BQq9.js → RealtimeVoiceScreen-DXEU5v3g.js} +1 -1
  92. package/dist/client/assets/{RepoDiffEmbedScreen-xjzjcJ_c.js → RepoDiffEmbedScreen-BCDXFE3D.js} +1 -1
  93. package/dist/client/assets/{RepoDiffPageScreen-DRzIY-dk.js → RepoDiffPageScreen-m62FiWXC.js} +1 -1
  94. package/dist/client/assets/{RepoDiffViewer-CNDp01KM.js → RepoDiffViewer-PaNeZMhJ.js} +1 -1
  95. package/dist/client/assets/RepoDiffViewerLazy-CWE5GxMP.js +2 -0
  96. package/dist/client/assets/{ReposScreen-CpaLC_NU.js → ReposScreen-Cksv1cAD.js} +1 -1
  97. package/dist/client/assets/{ScoutDeckSurface-DkpZ-0DH.js → ScoutDeckSurface-BCjPl7C4.js} +1 -1
  98. package/dist/client/assets/{ScoutSurface-BENBUt5-.js → ScoutSurface-CkgT7A-c.js} +1 -1
  99. package/dist/client/assets/{ScoutbotBroadcastChip-CGZyxS5H.js → ScoutbotBroadcastChip-DkiRCHuK.js} +1 -1
  100. package/dist/client/assets/{ScoutbotFxLab-Bk2ZsfPp.js → ScoutbotFxLab-D-kV5j4T.js} +1 -1
  101. package/dist/client/assets/{ScoutbotRealtimeVoiceCall-n63LdBZs.js → ScoutbotRealtimeVoiceCall-1ixiEn1L.js} +1 -1
  102. package/dist/client/assets/{SecondaryNav-B4IsujYh.js → SecondaryNav-_wyKjwNf.js} +1 -1
  103. package/dist/client/assets/{SessionEmbedScreen-CPfH-jqN.js → SessionEmbedScreen-CJZmIBV7.js} +1 -1
  104. package/dist/client/assets/{SessionObserve-B-SkP3tu.js → SessionObserve-yYA8Gy5s.js} +1 -1
  105. package/dist/client/assets/{SessionObserveEvidence-CF5jnH3-.js → SessionObserveEvidence-cHdjYOJe.js} +1 -1
  106. package/dist/client/assets/{SessionRefScreen-C-4jjmVG.js → SessionRefScreen-OkTY7Szg.js} +1 -1
  107. package/dist/client/assets/SessionsScreen-B-GFjxIA.js +1 -0
  108. package/dist/client/assets/{SettingsDrawer-DATxwZrn.js → SettingsDrawer-Co11RFX0.js} +1 -1
  109. package/dist/client/assets/{SettingsScreen-Bu53X7J_.js → SettingsScreen-Cn09nq5_.js} +1 -1
  110. package/dist/client/assets/{ShikiPane-DH8yYDks.js → ShikiPane-dBS9hD-z.js} +1 -1
  111. package/dist/client/assets/{SlidePanel-RFXJpfUa.js → SlidePanel-CH-3-8_2.js} +1 -1
  112. package/dist/client/assets/{SpriteAvatar-CEYdCzem.js → SpriteAvatar-DS6Tmyua.js} +1 -1
  113. package/dist/client/assets/{StatusPill-9uy70ttd.js → StatusPill-C8m9ZymF.js} +1 -1
  114. package/dist/client/assets/{TailView-6bIrgdxN.js → TailView-B0BSopPs.js} +1 -1
  115. package/dist/client/assets/{Terminal-BI6km7H4.js → Terminal-U8gjIdm3.js} +1 -1
  116. package/dist/client/assets/{TerminalEmbedScreen-D4JOWwtm.js → TerminalEmbedScreen-CTmdE7us.js} +1 -1
  117. package/dist/client/assets/{TextDocumentSurface-BcP9vvji.js → TextDocumentSurface-BWJCGBZf.js} +1 -1
  118. package/dist/client/assets/{TmuxPeek-IaWqCgyJ.js → TmuxPeek-B4QdHbGm.js} +1 -1
  119. package/dist/client/assets/{VoicePermissionsPanel-C80iZxgy.js → VoicePermissionsPanel-Dd4ITJy_.js} +1 -1
  120. package/dist/client/assets/{WorkDetailScreen-CweZ6fEd.js → WorkDetailScreen-mJs0mb99.js} +1 -1
  121. package/dist/client/assets/{WorkFilesViewer-Dy_-06iI.js → WorkFilesViewer-ODzLXKxj.js} +1 -1
  122. package/dist/client/assets/{activity-DS0u0Itf.js → activity-CC8JzJNH.js} +1 -1
  123. package/dist/client/assets/{addon-fit-CN888B3D.js → addon-fit-CaZ-uLrg.js} +1 -1
  124. package/dist/client/assets/{addon-webgl-CoAnanQS.js → addon-webgl-B8utL3bM.js} +1 -1
  125. package/dist/client/assets/{agent-essentials-CuK4G_zS.js → agent-essentials-B3wcxg_v.js} +1 -1
  126. package/dist/client/assets/{arc.es-BET9ev6q.js → arc.es-uFv9UrHn.js} +1 -1
  127. package/dist/client/assets/{arrow-down-DxxPnPwh.js → arrow-down-w1HPzDSE.js} +1 -1
  128. package/dist/client/assets/{arrow-left-CXDkJuCg.js → arrow-left-B-3GJ7ct.js} +1 -1
  129. package/dist/client/assets/{arrow-up-right-Bj8RjSqW.js → arrow-up-right-G6bJXxhK.js} +1 -1
  130. package/dist/client/assets/{bot-BSGSicKC.js → bot-DzCOGKi6.js} +1 -1
  131. package/dist/client/assets/{check-BfA0T8UD.js → check-BX8nRgop.js} +1 -1
  132. package/dist/client/assets/{chevron-down-BVg09D6U.js → chevron-down-B3VVRJcV.js} +1 -1
  133. package/dist/client/assets/{chevron-right-CaEwYkxE.js → chevron-right-BYMV1511.js} +1 -1
  134. package/dist/client/assets/{chunk-HRAB3GC3-HhKwnZCi.js → chunk-HRAB3GC3-dRd2eQMJ.js} +1 -1
  135. package/dist/client/assets/{chunk-JTPDIGGW-DX2eTIQ_.js → chunk-JTPDIGGW-BjX67kHU.js} +3 -3
  136. package/dist/client/assets/{chunk-T65CQEWV-D-bOfuCH.js → chunk-T65CQEWV-kP6nJjkU.js} +1 -1
  137. package/dist/client/assets/{chunk-YOZR3KYS-oS9dlQCI.js → chunk-YOZR3KYS-C13bZPVd.js} +1 -1
  138. package/dist/client/assets/{clock-C3TUL7D7.js → clock-B9ukVaVn.js} +1 -1
  139. package/dist/client/assets/{code-xml-Dbvjk9Kw.js → code-xml-BFc3TMSm.js} +1 -1
  140. package/dist/client/assets/{content-CiOMtgQc.js → content-B8gahuBy.js} +1 -1
  141. package/dist/client/assets/content-BIqX06OQ.js +1 -0
  142. package/dist/client/assets/content-BKDZ6Fxe.js +1 -0
  143. package/dist/client/assets/content-C15Ya-iu.js +1 -0
  144. package/dist/client/assets/content-CDE9tJDF.js +1 -0
  145. package/dist/client/assets/content-CSAfI-PX.js +1 -0
  146. package/dist/client/assets/content-CTF9D60D.js +1 -0
  147. package/dist/client/assets/{content-CJuH5cDP.js → content-CbAGkYQO.js} +1 -1
  148. package/dist/client/assets/content-CtqLJOVp.js +1 -0
  149. package/dist/client/assets/content-Dvs1KRfo.js +1 -0
  150. package/dist/client/assets/content-DyJdVZjI.js +1 -0
  151. package/dist/client/assets/{content-C2TZOKSE.js → content-Ji7ATaf7.js} +1 -1
  152. package/dist/client/assets/content-eqZXKWcP.js +1 -0
  153. package/dist/client/assets/content-iyyQKwvA.js +1 -0
  154. package/dist/client/assets/content-pDE7Fpb9.js +1 -0
  155. package/dist/client/assets/content-pPSd2dua.js +1 -0
  156. package/dist/client/assets/{conversation-icons-DmC_Ak3z.js → conversation-icons-gpsv650H.js} +1 -1
  157. package/dist/client/assets/conversation-motion-features-DXtKlmuM.js +1 -0
  158. package/dist/client/assets/{copy-C79v_7D-.js → copy-BFmOcWof.js} +1 -1
  159. package/dist/client/assets/{createLucideIcon-DCq_3fQn.js → createLucideIcon-CFBn0Sdk.js} +1 -1
  160. package/dist/client/assets/{discover-IEnbrH8_.js → discover-DKf0aTr_.js} +2 -2
  161. package/dist/client/assets/embed-entry-RlQUTtc4.js +2 -0
  162. package/dist/client/assets/{external-link-Dd8xaveL.js → external-link-B1TI5yIt.js} +1 -1
  163. package/dist/client/assets/{eye-DkU59kfl.js → eye-1J4yOUoG.js} +1 -1
  164. package/dist/client/assets/{file-text-BITQqGtF.js → file-text-DcYSrI4v.js} +1 -1
  165. package/dist/client/assets/{gestures-B5rLNRpi.js → gestures-CcEOV6Sr.js} +1 -1
  166. package/dist/client/assets/{home-moving-signal-Bs635mVw.js → home-moving-signal-Bh2FugbH.js} +1 -1
  167. package/dist/client/assets/{home-now-card-VxlLjg1A.js → home-now-card-ByRH5fFx.js} +1 -1
  168. package/dist/client/assets/{home-now-card-nano-C06GMiwD.js → home-now-card-nano-y1EhBvVL.js} +1 -1
  169. package/dist/client/assets/{hooks-BWiLxTw1.js → hooks-DUZwL3Aq.js} +1 -1
  170. package/dist/client/assets/index-BBznYVWk.css +1 -0
  171. package/dist/client/assets/{index-BTj2MguM.js → index-BTuq-8Iv.js} +1 -1
  172. package/dist/client/assets/index-CmwGCxUk.js +1 -0
  173. package/dist/client/assets/{index-BZovGpDk.js → index-DmFAhGPj.js} +2 -2
  174. package/dist/client/assets/{index-vbaJ8sin.js → index-Dtaswdsh.js} +1 -1
  175. package/dist/client/assets/{inspector-panel-C96HcyK5.js → inspector-panel-DzgS5_Mv.js} +1 -1
  176. package/dist/client/assets/{keyboard-nav-CHo_xmjw.js → keyboard-nav-h1IdakpD.js} +1 -1
  177. package/dist/client/assets/{lane-roster-store-B6ybJlHJ.js → lane-roster-store-71vFgAem.js} +1 -1
  178. package/dist/client/assets/{left-DMJkmJOF.js → left-8NITBvFX.js} +1 -1
  179. package/dist/client/assets/{left-COMAiMfB.js → left-B2HEqrTM.js} +1 -1
  180. package/dist/client/assets/{left-C6Zj3cR4.js → left-CTYUvXbe.js} +1 -1
  181. package/dist/client/assets/{left-BuJ0wJW1.js → left-CwDRT50z.js} +1 -1
  182. package/dist/client/assets/{left-l92tw5Kc.js → left-CxlDLJlw.js} +1 -1
  183. package/dist/client/assets/{left-Ce4WKYPK.js → left-XFXxNd4g.js} +1 -1
  184. package/dist/client/assets/{left-agents-BuSyVNGE.js → left-agents-Ck4Xn-R8.js} +1 -1
  185. package/dist/client/assets/{left-default-DRHywOKX.js → left-default-BeOyS0bR.js} +1 -1
  186. package/dist/client/assets/{left-lanes-4-aUyyrV.js → left-lanes-DZp3jJMo.js} +1 -1
  187. package/dist/client/assets/{left-mission-e849d_Td.js → left-mission-CuKFQ5xL.js} +1 -1
  188. package/dist/client/assets/left-p1hkO6P0.js +1 -0
  189. package/dist/client/assets/{left-plan-MchYwAB_.js → left-plan-3rrFENhp.js} +1 -1
  190. package/dist/client/assets/{library-DygjpA6u.js → library-E--gKzEZ.js} +1 -1
  191. package/dist/client/assets/{loader-circle-B-l2Wj3-.js → loader-circle-d6PKL_KD.js} +1 -1
  192. package/dist/client/assets/{local-agents-Wof5knTJ.js → local-agents-B5pq17tZ.js} +1 -1
  193. package/dist/client/assets/{mentions-BjXfeF7t.js → mentions-agCGDgyA.js} +1 -1
  194. package/dist/client/assets/{mesh-ops-C1gq8zKf.js → mesh-ops-5pZCYptW.js} +1 -1
  195. package/dist/client/assets/{mesh-view-store-B56D3f77.js → mesh-view-store-KJzABIkN.js} +1 -1
  196. package/dist/client/assets/{message-circle-BwVx5X0q.js → message-circle-CJO-pi7b.js} +1 -1
  197. package/dist/client/assets/{message-markup-DlVX-iuc.js → message-markup-CyRDLdOn.js} +1 -1
  198. package/dist/client/assets/{message-square-BnkG6tae.js → message-square-D1hMsMj_.js} +1 -1
  199. package/dist/client/assets/{mission-control-store-CMgIVjLJ.js → mission-control-store-Ce6dOvnZ.js} +1 -1
  200. package/dist/client/assets/{observe-DVHAcIrv.js → observe-BSWVM8YA.js} +1 -1
  201. package/dist/client/assets/{page-status-Bg2hd27j.js → page-status-D2FQLJOX.js} +1 -1
  202. package/dist/client/assets/{paperclip-DblaLD_N.js → paperclip-iZmDMOS5.js} +1 -1
  203. package/dist/client/assets/{plus-BAI0t5g9.js → plus-gZ0T0eBI.js} +1 -1
  204. package/dist/client/assets/{profile-3Q4sUtvJ.js → profile-Dxj3VVOM.js} +1 -1
  205. package/dist/client/assets/{projects-inbox-Da2hYEn6.js → projects-inbox-Dzt_GQDv.js} +1 -1
  206. package/dist/client/assets/{radio-BGtkyCG9.js → radio-RMLfV4EO.js} +1 -1
  207. package/dist/client/assets/{refresh-cw-DtF8xPqX.js → refresh-cw-C4x1x6b_.js} +1 -1
  208. package/dist/client/assets/resolve-panes-C9gF0w4e.js +1 -0
  209. package/dist/client/assets/resolve-sidebar-context-DxbY5RCH.js +1 -0
  210. package/dist/client/assets/{right-Dd2DscRz.js → right-5L7Tn0zG.js} +1 -1
  211. package/dist/client/assets/{right-BU_W1kSH.js → right-CYtkMmRu.js} +1 -1
  212. package/dist/client/assets/{right-CUP-NIDG.js → right-CreoQzPP.js} +1 -1
  213. package/dist/client/assets/{right-c4PAdFYZ.js → right-D-k9Z1Fe.js} +1 -1
  214. package/dist/client/assets/{right-ByptvkVX.js → right-D9xFfy2b.js} +1 -1
  215. package/dist/client/assets/{right-BlR7h0US.js → right-DI7zHADe.js} +1 -1
  216. package/dist/client/assets/{right-BwgwTGGd.js → right-DUbJ3WVc.js} +1 -1
  217. package/dist/client/assets/{right-DmVHd8Xj.js → right-DiybhsiK.js} +1 -1
  218. package/dist/client/assets/{right-Ch_jrNe2.js → right-Jh_1Q88s.js} +1 -1
  219. package/dist/client/assets/{right-B8qg3JdB.js → right-udr1qTJG.js} +1 -1
  220. package/dist/client/assets/{rocket-BWh18pt_.js → rocket-CMM-IdLy.js} +1 -1
  221. package/dist/client/assets/{router-63XV_E7f.js → router-Cn_s9IGH.js} +1 -1
  222. package/dist/client/assets/{runtime-picker-BXKJbLot.js → runtime-picker--IW3cRry.js} +1 -1
  223. package/dist/client/assets/{scope-views-Dm2_-NPi.js → scope-views-BIfMTXU4.js} +1 -1
  224. package/dist/client/assets/{scout-voice-D8Q5sZOL.js → scout-voice-CwbOz6EN.js} +1 -1
  225. package/dist/client/assets/{scroll-text-DZb3mmYo.js → scroll-text-DPPYrqB9.js} +1 -1
  226. package/dist/client/assets/{search-1QMVOxF3.js → search-DAyagUtF.js} +1 -1
  227. package/dist/client/assets/{secondaryNavConfig-c0cz3MkJ.js → secondaryNavConfig-Dw3gS1jR.js} +1 -1
  228. package/dist/client/assets/{selection-bridge-O9C4kGfF.js → selection-bridge-BXw09aRF.js} +1 -1
  229. package/dist/client/assets/{send-horizontal-DbyEkGql.js → send-horizontal-IcG46D2M.js} +1 -1
  230. package/dist/client/assets/{server-Bncn9S7r.js → server-BySujhDV.js} +1 -1
  231. package/dist/client/assets/{session-catalog-DC6BlBBC.js → session-catalog-ClS9xf6i.js} +1 -1
  232. package/dist/client/assets/{session-table-BUPq9Viy.js → session-table-BdpHs1GN.js} +1 -1
  233. package/dist/client/assets/{sliders-horizontal-CMe8Bay1.js → sliders-horizontal-R5pWUUcH.js} +1 -1
  234. package/dist/client/assets/{sparkles-_7cTZsIH.js → sparkles-DJOBD_8l.js} +1 -1
  235. package/dist/client/assets/{sse-Bb0EOcU9.js → sse-CxXt4tqI.js} +1 -1
  236. package/dist/client/assets/{tail-events-C12pfUax.js → tail-events-BdvqZHLr.js} +1 -1
  237. package/dist/client/assets/{terminal-xGf_F3y7.js → terminal-DJPUp_Qn.js} +1 -1
  238. package/dist/client/assets/{terminal-relay-BgfVJXIL.js → terminal-relay-TffuSPGs.js} +1 -1
  239. package/dist/client/assets/{terminal-takeover--05EYhJm.js → terminal-takeover-BOFPRPjR.js} +1 -1
  240. package/dist/client/assets/{use-conversation-list-DWX02INv.js → use-conversation-list-C-dPcjQe.js} +1 -1
  241. package/dist/client/assets/{use-fleet-active-asks-Cnwa4hTK.js → use-fleet-active-asks-BHzeBZSW.js} +1 -1
  242. package/dist/client/assets/{use-mesh-ops-items-BRFm37oY.js → use-mesh-ops-items-KmaauBr_.js} +1 -1
  243. package/dist/client/assets/{use-reduced-motion-C8cWvIZ3.js → use-reduced-motion-CYqhYqHO.js} +1 -1
  244. package/dist/client/assets/{use-scout-dev-flags-FkMreOOb.js → use-scout-dev-flags-BJbw87PK.js} +1 -1
  245. package/dist/client/assets/{useAgentHoverCard-DvPZSJK3.js → useAgentHoverCard-C6o0tlat.js} +1 -1
  246. package/dist/client/assets/useContentSecondaryNav-DjHBrgnS.js +1 -0
  247. package/dist/client/assets/{usePierreRuntime-C8WJ0X3F.js → usePierreRuntime-Cm7-qdm0.js} +1 -1
  248. package/dist/client/assets/{wrench-_tHBGTop.js → wrench-CvRjjByE.js} +1 -1
  249. package/dist/client/assets/{x-CrGUKNRv.js → x-C8ayPBtj.js} +1 -1
  250. package/dist/client/assets/{xterm-Ks-VlLTq.js → xterm-B0ci4Q9a.js} +1 -1
  251. package/dist/client/index.html +2 -2
  252. package/dist/main.mjs +348 -254
  253. package/dist/scout-web-server.mjs +2 -96660
  254. package/package.json +3 -3
  255. package/dist/client/assets/AgentLanesEmbedScreen-Br7cmZVO.js +0 -1
  256. package/dist/client/assets/AgentsSubnav-BV0WAgzf.js +0 -1
  257. package/dist/client/assets/OpsScreen-DHnT-Q9R.js +0 -1
  258. package/dist/client/assets/OpsSubnav-CJRD7MjM.js +0 -1
  259. package/dist/client/assets/ProjectAgentProfile-Be1VOkI4.js +0 -1
  260. package/dist/client/assets/ProjectsScreen-jruZRjgD.js +0 -1
  261. package/dist/client/assets/RepoDiffViewerLazy-b6vjYxez.js +0 -2
  262. package/dist/client/assets/SessionsScreen-HAjFvmIq.js +0 -1
  263. package/dist/client/assets/content-BQuEedeL.js +0 -1
  264. package/dist/client/assets/content-BUae-L_N.js +0 -1
  265. package/dist/client/assets/content-BfG98J1k.js +0 -1
  266. package/dist/client/assets/content-BkVTfkAC.js +0 -1
  267. package/dist/client/assets/content-BsNMos_d.js +0 -1
  268. package/dist/client/assets/content-CCn98eSk.js +0 -1
  269. package/dist/client/assets/content-CYnPp9yo.js +0 -1
  270. package/dist/client/assets/content-CcrUhm4P.js +0 -1
  271. package/dist/client/assets/content-CxuVONeQ.js +0 -1
  272. package/dist/client/assets/content-Dmq9n1_L.js +0 -1
  273. package/dist/client/assets/content-DskHP2NI.js +0 -1
  274. package/dist/client/assets/content-DvvzL2HK.js +0 -1
  275. package/dist/client/assets/content-snCAUbwv.js +0 -1
  276. package/dist/client/assets/conversation-motion-features-DPiGTO21.js +0 -1
  277. package/dist/client/assets/embed-entry-XUPb-AzL.js +0 -2
  278. package/dist/client/assets/index-9as_JTUs.css +0 -1
  279. package/dist/client/assets/index-DiiEQwdc.js +0 -1
  280. package/dist/client/assets/left-DrCbY6ja.js +0 -1
  281. package/dist/client/assets/resolve-panes-D4tlKNCT.js +0 -1
  282. package/dist/client/assets/resolve-sidebar-context-B27lj3Ci.js +0 -1
  283. package/dist/client/assets/useContentSecondaryNav-CNlrhvvx.js +0 -1
@@ -1 +1 @@
1
- import{j as a,r as u}from"./index-BZovGpDk.js";/* empty css */import{AgentLaneCockpitPane as w,cockpitHeightTier as y}from"./AgentLaneSummaryResize-FyYweLo_.js";import{c as $}from"./clipboard-e3fSpeo7.js";import{H as L}from"./HarnessMark-DrE57dUq.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-DmFAhGPj.js";/* empty css */import{AgentLaneCockpitPane as w,cockpitHeightTier as y}from"./AgentLaneSummaryResize-6SOEWUnr.js";import{c as $}from"./clipboard-e3fSpeo7.js";import{H as L}from"./HarnessMark-BPAphNjx.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-BZovGpDk.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-DmFAhGPj.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 c,j as e}from"./index-BZovGpDk.js";import{S as ze}from"./SlidePanel-RFXJpfUa.js";import{a as de}from"./api-h5zurxmi.js";import{A as We}from"./AgentAvatar-CneOa70z.js";import{H as He}from"./HarnessMark-DrE57dUq.js";import{t as ce}from"./time-Dhsh_2EG.js";import{h as qe}from"./tail-display-BRcJltQa.js";import{a as Ge}from"./colors-BtO5_zlx.js";import{c as V}from"./clipboard-e3fSpeo7.js";import{d as Je,c as Ke}from"./context-budget-DX_fwUs3.js";import{P as Ve}from"./router-63XV_E7f.js";import{u as Ue}from"./Provider-p-xuaAoE.js";import{s as Qe,t as Xe,b as Ye}from"./bash-format-BRV5C6Gv.js";import{i as Ze}from"./keyboard-nav-CHo_xmjw.js";import{o as te}from"./openContent-C6XO6kr5.js";import{b as es,f as Ce}from"./agent-lane-preview-C33Dwpn7.js";import{i as ss}from"./synthetic-agent-routing-aduMYO7P.js";import{b as Se,a as as,l as ts,r as ns,d as ls}from"./agent-lane-detail-BNNm6FNu.js";import{l as is,a as cs,s as rs}from"./agent-lanes-model-VYQ5a68i.js";import{E as he}from"./external-link-Dd8xaveL.js";async function os(s){return de("/api/session-control/compact",{method:"POST",body:JSON.stringify(s)})}function Le(s){return ss(s.id)}function ds(s){return Se(s).sessionId?.trim()||null}function Ie(s){const n=ds(s);if(!n)return null;const r=Le(s.agent)?void 0:s.agent.id;return{view:"sessions",sessionId:n,...r?{agentId:r}:{}}}function hs(s){return Ie(s)}function us(s){return Le(s.agent)?null:{view:"agents-v2",agentId:s.agent.id,tab:"profile"}}const ms={created:"+",modified:"~",read:"○"},ps={blocked:"blocked",completed:"done",in_progress:"active",pending:"todo",unknown:"step"},$e=["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 re(s){return!!(s&&$e.includes(s))}function fs(){if(typeof window>"u")return null;const s=window.location.hash.replace(/^#/,"");return re(s)?s:null}function ne(s){return typeof s!="number"||!Number.isFinite(s)?"—":s.toLocaleString()}function xs(s){return s>=1e6?`${(s/1e6).toFixed(1)}M`:s>=1e3?`${(s/1e3).toFixed(s>=1e5?0:1)}k`:`${s}`}function js(s){const n=s.lastIndexOf("/");return n<0?{dir:"",base:s}:{dir:s.slice(0,n+1),base:s.slice(n+1)}}function gs(s,n){const r=new Map;for(const i of n?.events??[]){if(i.kind!=="tool"||!i.diff||!i.arg)continue;const o=i.arg.trim().split(/[\\/]/).filter(Boolean).pop();if(!o)continue;const t=r.get(o)??{add:0,del:0};t.add+=i.diff.add??0,t.del+=i.diff.del??0,r.set(o,t)}return s.map(i=>{const o=i.path.split(/[\\/]/).filter(Boolean).pop()??i.path,t=r.get(o);return{...i,add:t?.add??0,del:t?.del??0}})}function le(s,n=48){return s?s.length<=n?s:`…${s.slice(-(n-1))}`:"—"}async function vs(s){await de("/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 oe(s,n){return s.startsWith("/")||s.startsWith("~/")?s:n?`${n.replace(/\/$/u,"")}/${s}`:s}function U({value:s,label:n}){const[r,i]=c.useState(!1),o=c.useRef(null);c.useEffect(()=>()=>{o.current&&clearTimeout(o.current)},[]);const t=c.useCallback(h=>{h.preventDefault(),h.stopPropagation(),V(s).then($=>{$&&(i(!0),o.current&&clearTimeout(o.current),o.current=setTimeout(()=>i(!1),1100))})},[s]);return e.jsx("button",{type:"button",className:`s-lane-sheet-copy${r?" s-lane-sheet-copy--done":""}`,onClick:t,title:r?"Copied":`Copy ${n}`,"aria-label":r?`Copied ${n}`:`Copy ${n}`,children:r?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 Te({path:s,basePath:n,agentId:r,sessionId:i,label:o}){return e.jsx("button",{type:"button",className:"s-lane-sheet-reveal",title:`Reveal ${o} in OS`,"aria-label":`Reveal ${o} in OS`,onClick:t=>{t.preventDefault(),t.stopPropagation(),vs({path:s,basePath:n,agentId:r,sessionId:i}).catch(h=>console.warn("Failed to reveal local path",h))},children:e.jsx(he,{size:11,strokeWidth:1.6})})}function K({id:s,label:n,count:r,actions:i}){return e.jsxs("div",{className:"s-lane-sheet-sechead",id:s,children:[e.jsx("span",{className:"s-lane-sheet-sechead-label",children:n}),r!=null&&r!==!1&&e.jsx("span",{className:"s-lane-sheet-sechead-count",children:r}),e.jsx("span",{className:"s-lane-sheet-sechead-rule","aria-hidden":"true"}),i&&e.jsx("span",{className:"s-lane-sheet-sechead-actions",children:i})]})}function C({children:s,onClick:n,primary:r=!1,disabled:i=!1}){return e.jsx("button",{type:"button",className:`s-lane-sheet-ghost${r?" s-lane-sheet-ghost--primary":""}`,onClick:n,disabled:i,children:s})}function y({label:s,value:n,title:r,copy:i,reveal:o}){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:r??n,children:n}),o&&e.jsx(Te,{...o,label:s}),i&&e.jsx(U,{value:i,label:s})]})]})}function ie({file:s,basePath:n,agentId:r,sessionId:i,onOpen:o}){const t=Ce(s),h=s.path,$=oe(h,n),{dir:S,base:L}=js(h),A=s.add>0||s.del>0;return e.jsxs("div",{className:"s-lane-sheet-frow",title:h,children:[e.jsx("span",{className:`s-lane-sheet-fstate s-lane-sheet-fstate--${s.state}`,"aria-hidden":"true",children:ms[s.state]??"○"}),e.jsxs("span",{className:"s-lane-sheet-fpath",children:[S&&e.jsx("span",{className:"s-lane-sheet-fdir",children:S}),e.jsx("span",{className:"s-lane-sheet-fbase",children:L})]}),A&&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 ${t} in diff`,"aria-label":`Open ${t} in diff`,onClick:()=>o($),children:e.jsx(he,{size:11,strokeWidth:1.6})}),e.jsx(Te,{path:h,basePath:n,agentId:r,sessionId:i,label:t}),e.jsx(U,{value:h,label:"file path"})]})]})}function Ns({entry:s}){const{dir:n,rest:r}=Qe(Xe(s.command)),i=Ye(r||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:[n&&e.jsxs("span",{className:"s-lane-sheet-bash-dir",children:[n,"/"]}),i.map((o,t)=>e.jsxs("span",{className:`s-lane-sheet-bash-${o.tier}${o.known?" s-lane-sheet-bash-prog--known":""}${o.flag?" s-lane-sheet-bash-flag":""}`,children:[t>0?" ":"",o.text]},t))]}),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(U,{value:s.command,label:"command"})})]})}function ye({label:s,hint:n,children:r}){const[i,o]=c.useState(!1);return e.jsxs("div",{className:`s-lane-sheet-disc${i?" s-lane-sheet-disc--open":""}`,children:[e.jsxs("button",{type:"button",className:"s-lane-sheet-disc-head","aria-expanded":i,onClick:()=>o(t=>!t),children:[e.jsx("span",{className:`s-lane-sheet-disc-caret${i?" s-lane-sheet-disc-caret--open":""}`,"aria-hidden":"true",children:"›"}),e.jsx("span",{className:"s-lane-sheet-disc-label",children:s}),n!=null&&n!==!1&&e.jsx("span",{className:"s-lane-sheet-disc-hint",children:n})]}),i&&e.jsx("div",{className:"s-lane-sheet-disc-body",children:r})]})}function bs({plan:s,onOpen:n}){const[r,i]=c.useState(!1),o=s.steps.filter(h=>h.status==="completed").length,t=s.steps.find(h=>h.status==="in_progress");return e.jsxs("div",{className:`s-lane-sheet-plan${r?" s-lane-sheet-plan--open":""}`,children:[e.jsxs("button",{type:"button",className:"s-lane-sheet-plan-head","aria-expanded":r,onClick:()=>i(h=>!h),children:[e.jsx("span",{className:`s-lane-sheet-plan-caret${r?" 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:[o,"/",s.steps.length]})]}),!r&&t&&e.jsxs("div",{className:"s-lane-sheet-plan-now",title:t.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:t.text})]}),r&&e.jsxs("div",{className:"s-lane-sheet-plan-steps",children:[s.steps.map(h=>e.jsxs("div",{className:`s-lane-sheet-pstep s-lane-sheet-pstep--${h.status}`,children:[e.jsx("span",{className:"s-lane-sheet-pstep-box","aria-hidden":"true",children:h.status==="completed"?"✓":h.status==="in_progress"?"▸":"○"}),e.jsx("span",{className:"s-lane-sheet-pstep-text",children:h.text})]},h.id)),e.jsx("div",{className:"s-lane-sheet-plan-foot",children:e.jsx(C,{onClick:n,children:"Open in Plans →"})})]})]})}function ws({document:s,expanded:n,onToggle:r,onOpen:i}){const o=ls(s),t=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":n,onClick:r,children:[e.jsx("span",{className:"s-lane-sheet-doc-title",children:s.title}),e.jsxs("span",{className:"s-lane-sheet-doc-meta",children:[t?`${s.steps.length} steps`:Ce(s.path)," · ",ce(s.updatedAt)]}),!n&&o&&e.jsx("span",{className:"s-lane-sheet-doc-excerpt",children:o})]}),n&&e.jsxs("div",{className:"s-lane-sheet-doc-body",children:[s.summary&&e.jsx("p",{className:"s-lane-sheet-doc-summary",children:s.summary}),t&&s.steps.length>0&&e.jsx("ol",{className:"s-lane-sheet-doc-steps",children:s.steps.map(h=>e.jsxs("li",{className:`s-lane-sheet-doc-step s-lane-sheet-doc-step--${h.status}`,children:[e.jsx("span",{className:"s-lane-sheet-doc-step-state",children:ps[h.status]}),e.jsx("span",{className:"s-lane-sheet-doc-step-text",children:h.text})]},h.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:i,children:"Open in Plans"})]})]})}function ks({lane:s,navigate:n,returnRoute:r,onClose:i,navigationEnabled:o=!0}){const{agent:t,observe:h,source:$,lastActiveAt:S}=s,{openFilePreview:L}=Ue(),A=c.useMemo(()=>Ge(t.state??null,t),[t]),N=c.useMemo(()=>es(h,t,{isLive:A}),[h,t,A]),[D,Q]=c.useState(!1),[O,ue]=c.useState([]),[F,me]=c.useState([]),[Pe,Ae]=c.useState(null),[B,De]=c.useState(!1),[Oe,pe]=c.useState(!1),[_,fe]=c.useState(!1),[xe,X]=c.useState(null),[f,Y]=c.useState("s-lane-sheet-vitals"),E=c.useRef(null),Z=c.useRef(null);c.useEffect(()=>()=>{E.current&&clearTimeout(E.current)},[]);const je=c.useCallback(a=>{typeof window>"u"||window.location.hash!==`#${a}`&&Ve({hash:a,replace:!1})},[]),z=c.useCallback(a=>{const u=Z.current,p=u?.querySelector(`#${a}`);if(!u||!p)return!1;const j=u.getBoundingClientRect().top,w=p.getBoundingClientRect().top;return u.scrollTop=Math.max(0,u.scrollTop+w-j),Y(a),!0},[]),T=c.useCallback((a,u)=>{a.preventDefault(),z(u)&&je(u)},[z,je]),W=is(t,$),Fe=cs(t,$),l=c.useMemo(()=>Se(s),[s]),d=s.facts,I=d?.turn?.phase?d.turn.phase==="started":A,m=c.useMemo(()=>{const a=d?.touchedFiles.length?d.touchedFiles:as(h,1/0),u=gs(a,h),p=u.filter(g=>g.state==="created"),j=u.filter(g=>g.state==="modified"),w=u.filter(g=>g.state==="read"),M=[...p,...j];return{created:p,modified:j,read:w,changed:M,totalAdd:M.reduce((g,v)=>g+v.add,0),totalDel:M.reduce((g,v)=>g+v.del,0)}},[d,h]),H=m.changed.length+m.read.length,k=c.useMemo(()=>ts(h),[h]),ee=c.useMemo(()=>m.changed.map(a=>oe(a.path,l.cwd)).join(`
1
+ import{r as c,j as e}from"./index-DmFAhGPj.js";import{S as ze}from"./SlidePanel-CH-3-8_2.js";import{a as de}from"./api-h5zurxmi.js";import{A as We}from"./AgentAvatar-D8ZtMluU.js";import{H as He}from"./HarnessMark-BPAphNjx.js";import{t as ce}from"./time-Dhsh_2EG.js";import{h as qe}from"./tail-display-BRcJltQa.js";import{a as Ge}from"./colors-BtO5_zlx.js";import{c as V}from"./clipboard-e3fSpeo7.js";import{d as Je,c as Ke}from"./context-budget-DX_fwUs3.js";import{P as Ve}from"./router-Cn_s9IGH.js";import{u as Ue}from"./Provider-cJCdHAxu.js";import{s as Qe,t as Xe,b as Ye}from"./bash-format-BRV5C6Gv.js";import{i as Ze}from"./keyboard-nav-h1IdakpD.js";import{o as te}from"./openContent-C6XO6kr5.js";import{b as es,f as Ce}from"./agent-lane-preview-C33Dwpn7.js";import{i as ss}from"./synthetic-agent-routing-aduMYO7P.js";import{b as Se,a as as,l as ts,r as ns,d as ls}from"./agent-lane-detail-BNNm6FNu.js";import{l as is,a as cs,s as rs}from"./agent-lanes-model-VYQ5a68i.js";import{E as he}from"./external-link-B1TI5yIt.js";async function os(s){return de("/api/session-control/compact",{method:"POST",body:JSON.stringify(s)})}function Le(s){return ss(s.id)}function ds(s){return Se(s).sessionId?.trim()||null}function Ie(s){const n=ds(s);if(!n)return null;const r=Le(s.agent)?void 0:s.agent.id;return{view:"sessions",sessionId:n,...r?{agentId:r}:{}}}function hs(s){return Ie(s)}function us(s){return Le(s.agent)?null:{view:"agents-v2",agentId:s.agent.id,tab:"profile"}}const ms={created:"+",modified:"~",read:"○"},ps={blocked:"blocked",completed:"done",in_progress:"active",pending:"todo",unknown:"step"},$e=["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 re(s){return!!(s&&$e.includes(s))}function fs(){if(typeof window>"u")return null;const s=window.location.hash.replace(/^#/,"");return re(s)?s:null}function ne(s){return typeof s!="number"||!Number.isFinite(s)?"—":s.toLocaleString()}function xs(s){return s>=1e6?`${(s/1e6).toFixed(1)}M`:s>=1e3?`${(s/1e3).toFixed(s>=1e5?0:1)}k`:`${s}`}function js(s){const n=s.lastIndexOf("/");return n<0?{dir:"",base:s}:{dir:s.slice(0,n+1),base:s.slice(n+1)}}function gs(s,n){const r=new Map;for(const i of n?.events??[]){if(i.kind!=="tool"||!i.diff||!i.arg)continue;const o=i.arg.trim().split(/[\\/]/).filter(Boolean).pop();if(!o)continue;const t=r.get(o)??{add:0,del:0};t.add+=i.diff.add??0,t.del+=i.diff.del??0,r.set(o,t)}return s.map(i=>{const o=i.path.split(/[\\/]/).filter(Boolean).pop()??i.path,t=r.get(o);return{...i,add:t?.add??0,del:t?.del??0}})}function le(s,n=48){return s?s.length<=n?s:`…${s.slice(-(n-1))}`:"—"}async function vs(s){await de("/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 oe(s,n){return s.startsWith("/")||s.startsWith("~/")?s:n?`${n.replace(/\/$/u,"")}/${s}`:s}function U({value:s,label:n}){const[r,i]=c.useState(!1),o=c.useRef(null);c.useEffect(()=>()=>{o.current&&clearTimeout(o.current)},[]);const t=c.useCallback(h=>{h.preventDefault(),h.stopPropagation(),V(s).then($=>{$&&(i(!0),o.current&&clearTimeout(o.current),o.current=setTimeout(()=>i(!1),1100))})},[s]);return e.jsx("button",{type:"button",className:`s-lane-sheet-copy${r?" s-lane-sheet-copy--done":""}`,onClick:t,title:r?"Copied":`Copy ${n}`,"aria-label":r?`Copied ${n}`:`Copy ${n}`,children:r?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 Te({path:s,basePath:n,agentId:r,sessionId:i,label:o}){return e.jsx("button",{type:"button",className:"s-lane-sheet-reveal",title:`Reveal ${o} in OS`,"aria-label":`Reveal ${o} in OS`,onClick:t=>{t.preventDefault(),t.stopPropagation(),vs({path:s,basePath:n,agentId:r,sessionId:i}).catch(h=>console.warn("Failed to reveal local path",h))},children:e.jsx(he,{size:11,strokeWidth:1.6})})}function K({id:s,label:n,count:r,actions:i}){return e.jsxs("div",{className:"s-lane-sheet-sechead",id:s,children:[e.jsx("span",{className:"s-lane-sheet-sechead-label",children:n}),r!=null&&r!==!1&&e.jsx("span",{className:"s-lane-sheet-sechead-count",children:r}),e.jsx("span",{className:"s-lane-sheet-sechead-rule","aria-hidden":"true"}),i&&e.jsx("span",{className:"s-lane-sheet-sechead-actions",children:i})]})}function C({children:s,onClick:n,primary:r=!1,disabled:i=!1}){return e.jsx("button",{type:"button",className:`s-lane-sheet-ghost${r?" s-lane-sheet-ghost--primary":""}`,onClick:n,disabled:i,children:s})}function y({label:s,value:n,title:r,copy:i,reveal:o}){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:r??n,children:n}),o&&e.jsx(Te,{...o,label:s}),i&&e.jsx(U,{value:i,label:s})]})]})}function ie({file:s,basePath:n,agentId:r,sessionId:i,onOpen:o}){const t=Ce(s),h=s.path,$=oe(h,n),{dir:S,base:L}=js(h),A=s.add>0||s.del>0;return e.jsxs("div",{className:"s-lane-sheet-frow",title:h,children:[e.jsx("span",{className:`s-lane-sheet-fstate s-lane-sheet-fstate--${s.state}`,"aria-hidden":"true",children:ms[s.state]??"○"}),e.jsxs("span",{className:"s-lane-sheet-fpath",children:[S&&e.jsx("span",{className:"s-lane-sheet-fdir",children:S}),e.jsx("span",{className:"s-lane-sheet-fbase",children:L})]}),A&&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 ${t} in diff`,"aria-label":`Open ${t} in diff`,onClick:()=>o($),children:e.jsx(he,{size:11,strokeWidth:1.6})}),e.jsx(Te,{path:h,basePath:n,agentId:r,sessionId:i,label:t}),e.jsx(U,{value:h,label:"file path"})]})]})}function Ns({entry:s}){const{dir:n,rest:r}=Qe(Xe(s.command)),i=Ye(r||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:[n&&e.jsxs("span",{className:"s-lane-sheet-bash-dir",children:[n,"/"]}),i.map((o,t)=>e.jsxs("span",{className:`s-lane-sheet-bash-${o.tier}${o.known?" s-lane-sheet-bash-prog--known":""}${o.flag?" s-lane-sheet-bash-flag":""}`,children:[t>0?" ":"",o.text]},t))]}),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(U,{value:s.command,label:"command"})})]})}function ye({label:s,hint:n,children:r}){const[i,o]=c.useState(!1);return e.jsxs("div",{className:`s-lane-sheet-disc${i?" s-lane-sheet-disc--open":""}`,children:[e.jsxs("button",{type:"button",className:"s-lane-sheet-disc-head","aria-expanded":i,onClick:()=>o(t=>!t),children:[e.jsx("span",{className:`s-lane-sheet-disc-caret${i?" s-lane-sheet-disc-caret--open":""}`,"aria-hidden":"true",children:"›"}),e.jsx("span",{className:"s-lane-sheet-disc-label",children:s}),n!=null&&n!==!1&&e.jsx("span",{className:"s-lane-sheet-disc-hint",children:n})]}),i&&e.jsx("div",{className:"s-lane-sheet-disc-body",children:r})]})}function bs({plan:s,onOpen:n}){const[r,i]=c.useState(!1),o=s.steps.filter(h=>h.status==="completed").length,t=s.steps.find(h=>h.status==="in_progress");return e.jsxs("div",{className:`s-lane-sheet-plan${r?" s-lane-sheet-plan--open":""}`,children:[e.jsxs("button",{type:"button",className:"s-lane-sheet-plan-head","aria-expanded":r,onClick:()=>i(h=>!h),children:[e.jsx("span",{className:`s-lane-sheet-plan-caret${r?" 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:[o,"/",s.steps.length]})]}),!r&&t&&e.jsxs("div",{className:"s-lane-sheet-plan-now",title:t.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:t.text})]}),r&&e.jsxs("div",{className:"s-lane-sheet-plan-steps",children:[s.steps.map(h=>e.jsxs("div",{className:`s-lane-sheet-pstep s-lane-sheet-pstep--${h.status}`,children:[e.jsx("span",{className:"s-lane-sheet-pstep-box","aria-hidden":"true",children:h.status==="completed"?"✓":h.status==="in_progress"?"▸":"○"}),e.jsx("span",{className:"s-lane-sheet-pstep-text",children:h.text})]},h.id)),e.jsx("div",{className:"s-lane-sheet-plan-foot",children:e.jsx(C,{onClick:n,children:"Open in Plans →"})})]})]})}function ws({document:s,expanded:n,onToggle:r,onOpen:i}){const o=ls(s),t=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":n,onClick:r,children:[e.jsx("span",{className:"s-lane-sheet-doc-title",children:s.title}),e.jsxs("span",{className:"s-lane-sheet-doc-meta",children:[t?`${s.steps.length} steps`:Ce(s.path)," · ",ce(s.updatedAt)]}),!n&&o&&e.jsx("span",{className:"s-lane-sheet-doc-excerpt",children:o})]}),n&&e.jsxs("div",{className:"s-lane-sheet-doc-body",children:[s.summary&&e.jsx("p",{className:"s-lane-sheet-doc-summary",children:s.summary}),t&&s.steps.length>0&&e.jsx("ol",{className:"s-lane-sheet-doc-steps",children:s.steps.map(h=>e.jsxs("li",{className:`s-lane-sheet-doc-step s-lane-sheet-doc-step--${h.status}`,children:[e.jsx("span",{className:"s-lane-sheet-doc-step-state",children:ps[h.status]}),e.jsx("span",{className:"s-lane-sheet-doc-step-text",children:h.text})]},h.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:i,children:"Open in Plans"})]})]})}function ks({lane:s,navigate:n,returnRoute:r,onClose:i,navigationEnabled:o=!0}){const{agent:t,observe:h,source:$,lastActiveAt:S}=s,{openFilePreview:L}=Ue(),A=c.useMemo(()=>Ge(t.state??null,t),[t]),N=c.useMemo(()=>es(h,t,{isLive:A}),[h,t,A]),[D,Q]=c.useState(!1),[O,ue]=c.useState([]),[F,me]=c.useState([]),[Pe,Ae]=c.useState(null),[B,De]=c.useState(!1),[Oe,pe]=c.useState(!1),[_,fe]=c.useState(!1),[xe,X]=c.useState(null),[f,Y]=c.useState("s-lane-sheet-vitals"),E=c.useRef(null),Z=c.useRef(null);c.useEffect(()=>()=>{E.current&&clearTimeout(E.current)},[]);const je=c.useCallback(a=>{typeof window>"u"||window.location.hash!==`#${a}`&&Ve({hash:a,replace:!1})},[]),z=c.useCallback(a=>{const u=Z.current,p=u?.querySelector(`#${a}`);if(!u||!p)return!1;const j=u.getBoundingClientRect().top,w=p.getBoundingClientRect().top;return u.scrollTop=Math.max(0,u.scrollTop+w-j),Y(a),!0},[]),T=c.useCallback((a,u)=>{a.preventDefault(),z(u)&&je(u)},[z,je]),W=is(t,$),Fe=cs(t,$),l=c.useMemo(()=>Se(s),[s]),d=s.facts,I=d?.turn?.phase?d.turn.phase==="started":A,m=c.useMemo(()=>{const a=d?.touchedFiles.length?d.touchedFiles:as(h,1/0),u=gs(a,h),p=u.filter(g=>g.state==="created"),j=u.filter(g=>g.state==="modified"),w=u.filter(g=>g.state==="read"),M=[...p,...j];return{created:p,modified:j,read:w,changed:M,totalAdd:M.reduce((g,v)=>g+v.add,0),totalDel:M.reduce((g,v)=>g+v.del,0)}},[d,h]),H=m.changed.length+m.read.length,k=c.useMemo(()=>ts(h),[h]),ee=c.useMemo(()=>m.changed.map(a=>oe(a.path,l.cwd)).join(`
2
2
  `),[m.changed,l.cwd]),ge=c.useMemo(()=>{const a=[`agent: ${W}`],u=t.harness??l.harness,p=d?.model??l.model;(u||p||d?.effort)&&a.push(`harness: ${[u,p,d?.effort].filter(Boolean).join(" · ")}`);const j=d?.branch??l.branch;return j&&a.push(`branch: ${j}`),l.cwd&&a.push(`cwd: ${l.cwd}`),l.sessionId&&a.push(`session: ${l.sessionId}`),t.harnessLogPath&&a.push(`transcript: ${t.harnessLogPath}`),d?.originator&&a.push(`origin: ${d.originator}`),a.join(`
3
3
  `)},[t,d,W,l]),ve=c.useMemo(()=>k.map(a=>a.command).join(`
4
4
  `),[k]),Ee=c.useCallback(()=>{V(ge)},[ge]),Re=c.useCallback(()=>{V(ve)},[ve]),Me=c.useCallback(()=>{for(const a of m.changed)L(oe(a.path,l.cwd))},[m.changed,l.cwd,L]),Be=c.useCallback(()=>{ee&&V(ee).then(a=>{a&&(pe(!0),E.current&&clearTimeout(E.current),E.current=setTimeout(()=>pe(!1),1100))})},[ee]),x=d?.usage??l.usage,Ne=c.useMemo(()=>x?[{label:"in",value:x.inputTokens},{label:"out",value:x.outputTokens},{label:"cache rd",value:x.cacheReadInputTokens},{label:"cache wr",value:x.cacheCreationInputTokens},{label:"total",value:x.totalTokens},{label:"reasoning",value:x.reasoningOutputTokens}].filter(a=>typeof a.value=="number"):[],[x]),b=c.useMemo(()=>Je(x,{model:d?.model??l.model,adapterType:t.harness??l.harness}),[x,d?.model,l.model,t.harness,l.harness]),se=!!(d?.compaction?.eligible&&rs(t.harness??l.harness)&&l.sessionId),_e=c.useCallback(async()=>{if(!(!se||_)){fe(!0),X(null);try{const a=await os({harness:t.harness??l.harness,sessionId:l.sessionId,transcriptPath:t.harnessLogPath,agentId:t.id});(!a.ok||!a.delivered)&&X(a.error??"Compaction was not delivered to the harness")}catch(a){X(a instanceof Error?a.message:"Compaction request failed")}finally{fe(!1)}}},[t.harness,t.harnessLogPath,t.id,se,_,l.harness,l.sessionId]),be=S?ce(S):null,q=c.useMemo(()=>Ie(s),[s]),P=c.useMemo(()=>us(s),[s]),G=c.useMemo(()=>hs(s),[s]),R=c.useCallback(()=>{!o||!q||(te(n,q,{returnTo:r}),i())},[n,o,i,r,q]),ae=c.useCallback(()=>{if(o){if(P){te(n,P,{returnTo:r}),i();return}R()}},[n,o,i,R,P,r]),J=c.useCallback(()=>{!o||!G||(te(n,G,{returnTo:r}),i())},[n,o,i,r,G]);c.useEffect(()=>{const a=u=>{if(!Ze(u.target))switch(u.key.toLowerCase()){case"o":u.preventDefault(),R();break;case"t":u.preventDefault(),J();break;case"p":if(!P)return;u.preventDefault(),ae();break}};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[ae,R,J,P]);const we=c.useCallback(a=>{o&&(n({view:"ops",mode:"plan",planDocumentId:a}),i())},[n,o,i]);return c.useEffect(()=>{let a=!1;return Q(!1),de("/api/plan-documents").then(u=>{if(a)return;const p=ns(u.documents,s);ue(p.plans),me(p.docs),Q(!0)}).catch(()=>{a||(ue([]),me([]),Q(!0))}),()=>{a=!0}},[s.id]),c.useEffect(()=>{const a=()=>{const u=fs();u&&window.requestAnimationFrame(()=>{z(u)})};return a(),window.addEventListener("hashchange",a),window.addEventListener("popstate",a),()=>{window.removeEventListener("hashchange",a),window.removeEventListener("popstate",a)}},[s.id,k.length,z]),c.useEffect(()=>{const a=Z.current;if(!a)return;let u=0;const p=()=>{u=0;const w=$e.map(v=>a.querySelector(`#${v}`)).filter(v=>!!v);if(w.length===0)return;if(a.scrollTop+a.clientHeight>=a.scrollHeight-2){const v=w[w.length-1].id;re(v)&&Y(v);return}const M=a.getBoundingClientRect().top+18,g=w.reduce((v,ke)=>ke.getBoundingClientRect().top<=M?ke:v,w[0]);re(g.id)&&Y(g.id)},j=()=>{u||(u=window.requestAnimationFrame(p))};return p(),a.addEventListener("scroll",j,{passive:!0}),window.addEventListener("resize",j),()=>{u&&window.cancelAnimationFrame(u),a.removeEventListener("scroll",j),window.removeEventListener("resize",j)}},[k.length,D,O.length,F.length]),e.jsxs(ze,{open:!0,onClose:i,side:"right",owner:"openscout.agent-lane",resizable:!0,defaultSize:720,minSize:420,maxSize:960,scrollLock:!0,ariaLabel:`${W} lane detail`,className:"s-lane-sheet",children:[e.jsxs("div",{className:"s-slide-header s-lane-sheet-header",children:[e.jsx(We,{agent:t,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:W}),e.jsxs("div",{className:"s-lane-sheet-sub",children:[Fe," · ",S?ce(S):"idle"]})]}),e.jsx("span",{className:"s-slide-spacer"}),e.jsxs("div",{className:"s-lane-sheet-header-cta",children:[e.jsx(He,{harness:t.harness??l.harness,size:18,className:`s-lane-sheet-hmark${I?" s-lane-sheet-hmark--working":""}`}),o?e.jsxs(e.Fragment,{children:[e.jsx(C,{primary:!0,onClick:R,disabled:!q,children:"Open session"}),P?e.jsx(C,{onClick:ae,children:"Agent profile"}):null,e.jsx(C,{onClick:J,disabled:!G,children:"Traces"})]}):null]}),e.jsx("button",{type:"button",className:"s-slide-close",onClick:i,"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${f==="s-lane-sheet-vitals"?" s-lane-sheet-anchor--active":""}`,"aria-current":f==="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${f==="s-lane-sheet-runtime"?" s-lane-sheet-anchor--active":""}`,"aria-current":f==="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${f==="s-lane-sheet-files"?" s-lane-sheet-anchor--active":""}`,"aria-current":f==="s-lane-sheet-files"?"location":void 0,onClick:a=>T(a,"s-lane-sheet-files"),children:["Files",H>0&&e.jsx("span",{className:"s-lane-sheet-anchor-n",children:H})]}),k.length>0&&e.jsxs("a",{href:"#s-lane-sheet-commands",className:`s-lane-sheet-anchor${f==="s-lane-sheet-commands"?" s-lane-sheet-anchor--active":""}`,"aria-current":f==="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:k.length})]}),e.jsx("a",{href:"#s-lane-sheet-plans",className:`s-lane-sheet-anchor${f==="s-lane-sheet-plans"?" s-lane-sheet-anchor--active":""}`,"aria-current":f==="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${f==="s-lane-sheet-docs"?" s-lane-sheet-anchor--active":""}`,"aria-current":f==="s-lane-sheet-docs"?"location":void 0,onClick:a=>T(a,"s-lane-sheet-docs"),children:"Docs"}),I&&d?.turn&&e.jsxs("span",{className:"s-lane-sheet-anchorbar-turn",children:["turn ",d.turn.phase,d.turn.index?` · #${d.turn.index}`:""]})]}),e.jsxs("div",{ref:Z,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:[N&&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&&d?.turn&&e.jsxs("span",{className:"s-lane-sheet-vitals-now-turn",children:["turn ",d.turn.phase,d.turn.index?` · #${d.turn.index}`:""]})]}),e.jsxs("div",{className:"s-lane-sheet-vitals-well",children:[N.headlineFrom==="user"?e.jsx("span",{className:"s-lane-sheet-vitals-prompt","aria-hidden":"true",children:"←"}):N.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:N.headFull,children:N.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:[o&&e.jsx("button",{type:"button",className:"s-lane-sheet-reveal",title:"Open trace at this step","aria-label":"Open trace",onClick:J,children:e.jsx(he,{size:11,strokeWidth:1.6})}),N.headFull&&N.headFull!==N.headline&&e.jsx(U,{value:N.headFull,label:"current action"})]})]})]}),b&&e.jsxs("div",{className:`s-lane-sheet-vitals-gauge${b.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:b.usedLabel}),e.jsxs("span",{className:"s-lane-sheet-vitals-gauge-of",children:[" / ",b.budgetLabel]}),e.jsx("span",{className:"s-lane-sheet-vitals-gauge-unit",children:" tokens"}),e.jsxs("span",{className:"s-lane-sheet-vitals-gauge-pct",children:[b.pct,"%",b.overLimit?" over":""]})]}),se&&e.jsx("button",{type:"button",className:"s-lane-sheet-vitals-compact",onClick:()=>{_e()},disabled:_,title:"Force a context compaction on this live session",children:_?"Compacting…":"Compact context"})]}),e.jsxs("div",{className:"s-lane-sheet-vitals-gaugebar",role:"meter","aria-label":"context budget","aria-valuenow":b.pct,"aria-valuemin":0,"aria-valuemax":Math.max(100,b.pct),children:[e.jsx("span",{className:"s-lane-sheet-vitals-gaugebar-fill",style:{width:`${Ke(b)}%`},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))]}),xe&&e.jsx("div",{className:"s-lane-sheet-vitals-compact-error",role:"status",children:xe}),d?.compaction?.lastCompactedSummary&&e.jsxs("div",{className:"s-lane-sheet-vitals-compact-note",children:["last compaction · ",d.compaction.lastCompactedSummary]})]}),e.jsxs("div",{className:"s-lane-sheet-vitals-cadence",children:[e.jsx("b",{children:ne(l.events)})," events · ",e.jsx("b",{children:ne(l.tools)})," tools",be?e.jsxs(e.Fragment,{children:[" · ",be]}):null]})]}),e.jsxs("section",{id:"s-lane-sheet-runtime",className:"s-lane-sheet-section",children:[e.jsxs(ye,{label:"Runtime",hint:[t.harness??l.harness,d?.model??l.model].filter(Boolean).join(" · ")||void 0,children:[e.jsxs("dl",{className:"s-lane-sheet-meta",children:[e.jsx(y,{label:"Effort",value:d?.effort??"—"}),e.jsx(y,{label:"Branch",value:d?.branch??l.branch??"—",copy:d?.branch??l.branch??null}),e.jsx(y,{label:"Working dir",value:le(l.cwd),title:l.cwd??void 0,copy:l.cwd??null,reveal:l.cwd?{path:l.cwd,basePath:l.cwd,agentId:t.id,sessionId:l.sessionId}:void 0}),e.jsx(y,{label:"Session",value:le(l.sessionId,36),title:l.sessionId??void 0,copy:l.sessionId??null}),t.harnessLogPath&&e.jsx(y,{label:"Transcript",value:le(t.harnessLogPath,36),title:t.harnessLogPath,copy:t.harnessLogPath,reveal:{path:t.harnessLogPath,basePath:l.cwd,agentId:t.id,sessionId:l.sessionId}}),e.jsx(y,{label:"Origin",value:d?.originator??"—",copy:d?.originator??null}),e.jsx(y,{label:"Attribution",value:d?.attribution?qe(d.attribution):"—"}),d?.currentTask&&e.jsx(y,{label:"Task",value:d.currentTask,title:d.currentTask,copy:d.currentTask})]}),e.jsx("div",{className:"s-lane-sheet-disc-bar",children:e.jsx(C,{onClick:Ee,children:"Copy diagnostics"})})]}),Ne.length>0&&e.jsx(ye,{label:"Tokens",hint:typeof x?.totalTokens=="number"?xs(x.totalTokens):void 0,children:e.jsx("div",{className:"s-lane-sheet-dials",children:Ne.map(a=>e.jsxs("span",{className:"s-lane-sheet-dial",children:[e.jsx("span",{className:"s-lane-sheet-dial-value",children:ne(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(K,{label:"Files",count:H>0?`${m.changed.length} changed · ${m.read.length} read`:void 0,actions:m.changed.length>0?e.jsxs(e.Fragment,{children:[(m.totalAdd>0||m.totalDel>0)&&e.jsxs("span",{className:"s-lane-sheet-file-diff","aria-hidden":"true",children:[m.totalAdd>0&&e.jsxs("span",{className:"s-lane-sheet-file-add",children:["+",m.totalAdd]}),m.totalDel>0&&e.jsxs("span",{className:"s-lane-sheet-file-del",children:["−",m.totalDel]})]}),e.jsx(C,{onClick:Be,children:Oe?"Copied":"Copy changed"}),e.jsx(C,{onClick:Me,children:"Open all → diff"})]}):void 0}),H===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:[m.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:m.created.length})]}),e.jsx("div",{className:"s-lane-sheet-files",children:m.created.map(a=>e.jsx(ie,{file:a,basePath:l.cwd,agentId:t.id,sessionId:l.sessionId,onOpen:L},a.path))})]}),m.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:m.modified.length})]}),e.jsx("div",{className:"s-lane-sheet-files",children:m.modified.map(a=>e.jsx(ie,{file:a,basePath:l.cwd,agentId:t.id,sessionId:l.sessionId,onOpen:L},a.path))})]}),m.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":B,onClick:()=>De(a=>!a),children:[e.jsx("span",{className:`s-lane-sheet-fgcaret${B?" 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:m.read.length}),!B&&e.jsx("span",{className:"s-lane-sheet-fghint",children:"collapsed"})]}),B&&e.jsx("div",{className:"s-lane-sheet-files",children:m.read.map(a=>e.jsx(ie,{file:a,basePath:l.cwd,agentId:t.id,sessionId:l.sessionId,onOpen:L},a.path))})]})]})]}),k.length>0&&e.jsxs("section",{id:"s-lane-sheet-commands",className:"s-lane-sheet-section",children:[e.jsx(K,{label:"Commands",count:"recent",actions:e.jsx(C,{onClick:Re,children:"Copy all"})}),e.jsx("div",{className:"s-lane-sheet-cmds",children:k.map(a=>e.jsx(Ns,{entry:a},a.id))})]}),e.jsxs("section",{id:"s-lane-sheet-plans",className:"s-lane-sheet-section",children:[e.jsx(K,{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(bs,{plan:a,onOpen:()=>we(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(K,{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(ws,{document:a,expanded:Pe===a.id,onToggle:()=>Ae(u=>u===a.id?null:a.id),onOpen:()=>we(a.id)},a.id))}):e.jsx("div",{className:"s-lane-sheet-empty",children:"Indexing documents…"})]})]})]})}const qs=Object.freeze(Object.defineProperty({__proto__:null,AgentLaneDetailSheet:ks},Symbol.toStringTag,{value:"Module"}));export{ks as A,qs as a,Le as i};
@@ -1 +1 @@
1
- import{r as a,j as R}from"./index-BZovGpDk.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-DmFAhGPj.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-DmFAhGPj.js";import{u as a}from"./Provider-cJCdHAxu.js";import{A as n}from"./AgentLanesView-ChNlmY-F.js";import{i as c,j as l}from"./router-Cn_s9IGH.js";import"./api-h5zurxmi.js";import"./sse-CxXt4tqI.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-CHIuVKz7.js";import"./DocumentFocusViewer-B9vodVmG.js";import"./createLucideIcon-CFBn0Sdk.js";import"./TextDocumentSurface-BWJCGBZf.js";/* empty css */import"./file-text-DcYSrI4v.js";import"./x-C8ayPBtj.js";import"./chevron-right-BYMV1511.js";import"./code-xml-BFc3TMSm.js";import"./arrow-left-B-3GJ7ct.js";import"./scout-voice-CwbOz6EN.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-h1IdakpD.js";import"./MessageComposerSuggestions-FdVHnT_q.js";import"./NewChatComposer-Hd7pI5Ac.js";import"./runtime-picker--IW3cRry.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-d6PKL_KD.js";import"./index-CmwGCxUk.js";import"./HarnessMark-BPAphNjx.js";import"./conversation-model-CHwHZNw-.js";import"./time-Dhsh_2EG.js";import"./NewChatOrigin-DmuJ32wa.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-B3VVRJcV.js";import"./search-DAyagUtF.js";import"./chunk-HRAB3GC3-dRd2eQMJ.js";/* empty css */import"./tail-events-BdvqZHLr.js";import"./observe-BSWVM8YA.js";import"./terminal-sessions-AmSgHklm.js";import"./types-B0PlfpKc.js";import"./AgentAvatar-D8ZtMluU.js";import"./SpriteAvatar-DS6Tmyua.js";import"./agent-identity-BxCsXnDp.js";import"./SessionObserve-yYA8Gy5s.js";import"./bash-format-BRV5C6Gv.js";import"./tail-display-BRcJltQa.js";import"./lane-edit-display-C_Aujldz.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-B7KdvQvf.js";import"./lane-observe-BA3g9aVd.js";import"./lane-ask-display-B6iCAVcd.js";import"./mentions-agCGDgyA.js";import"./AgentDetailCard-BTiOmh-a.js";import"./AgentLiveActions-BJ5dIfL3.js";import"./terminal-takeover-BOFPRPjR.js";import"./openContent-C6XO6kr5.js";import"./eye-1J4yOUoG.js";import"./terminal-DJPUp_Qn.js";import"./message-markup-CyRDLdOn.js";import"./ObservedTopologyPanel-CaSZZP05.js";import"./ObserveTextFlow-CkMrtT8s.js";import"./use-reduced-motion-CYqhYqHO.js";import"./SessionObserveEvidence-cHdjYOJe.js";import"./message-circle-CJO-pi7b.js";import"./wrench-CvRjjByE.js";import"./external-link-B1TI5yIt.js";import"./AgentFloorView-DjNLILLt.js";/* empty css */import"./agent-lanes-model-VYQ5a68i.js";import"./context-budget-DX_fwUs3.js";import"./lane-roster-store-71vFgAem.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./AgentLanesPreflight-C3uOiOzd.js";import"./AgentLaneChrome-Dlwrbq3g.js";import"./AgentLaneCard-lfRNb7JD.js";/* empty css */import"./AgentLaneSummaryResize-6SOEWUnr.js";import"./clipboard-e3fSpeo7.js";import"./agent-lane-card-model-q4cwzLX4.js";import"./agent-lane-preview-C33Dwpn7.js";import"./AgentLaneDetailSheet-BzYzBfcW.js";import"./SlidePanel-CH-3-8_2.js";import"./agent-lane-detail-BNNm6FNu.js";import"./LaneTraceDetailSheet-H3AnN-vN.js";import"./LaneTraceEventFocus-mkMw2wJU.js";function p(r){return new URLSearchParams(window.location.search).get(r)?.trim()||null}function Kr(){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{Kr as AgentLanesEmbedScreen};
@@ -1 +1 @@
1
- import{r as d,j as s}from"./index-BZovGpDk.js";import{t as k}from"./time-Dhsh_2EG.js";const w=3,E=12;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 T(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 I(e){return e.sessionLabel?`${e.source}:${e.sessionLabel}`:e.source}const K=260,_=100;function S(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 P(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,_);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 R({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:I(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:k(e.lastActiveAt,i)})]}),s.jsx(N,{seed:n,rows:5})]})}function V({discovery:e,discoveryPhase:n,windowMs:i,nowMs:a,layout:t,gridColumns:l,laneWidthPx:c,matchTranscript:r}){const o=t==="grid",m=d.useMemo(()=>T({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(R,{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 v(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 G({loadState:e,sourceCount:n,processCount:i,eventCount:a,laneCount:t,horizonLabel:l,handedOff:c,exiting:r}){const o=P(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",y=e.recent==="ready"?"done":e.recent==="error"?"warn":e.discovery==="loading"?"pending":"running",M=c?"done":e.recent==="loading"?"pending":"running",L=o.deckMs!==null?g(o.deckMs):o.elapsedMs<1e3?g(o.elapsedMs):`${(o.elapsedMs/1e3).toFixed(1)}s`,$=t>0;return s.jsxs("div",{className:["s-lane-boot",$?"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:L})]}),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:v(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(y),children:[s.jsx("span",{className:"s-lane-boot-state",children:v(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(M),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)})]})]})]})]})}export{G as AgentLanesLoadingSheet,V as AgentLanesPreflightDeck,K as LANE_BOOT_EXIT_MS,S as useLaneBootVisibility};
1
+ import{r as d,j as s}from"./index-DmFAhGPj.js";import{t as k}from"./time-Dhsh_2EG.js";const w=3,E=12;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 T(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 I(e){return e.sessionLabel?`${e.source}:${e.sessionLabel}`:e.source}const K=260,_=100;function S(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 P(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,_);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 R({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:I(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:k(e.lastActiveAt,i)})]}),s.jsx(N,{seed:n,rows:5})]})}function V({discovery:e,discoveryPhase:n,windowMs:i,nowMs:a,layout:t,gridColumns:l,laneWidthPx:c,matchTranscript:r}){const o=t==="grid",m=d.useMemo(()=>T({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(R,{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 v(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 G({loadState:e,sourceCount:n,processCount:i,eventCount:a,laneCount:t,horizonLabel:l,handedOff:c,exiting:r}){const o=P(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",y=e.recent==="ready"?"done":e.recent==="error"?"warn":e.discovery==="loading"?"pending":"running",M=c?"done":e.recent==="loading"?"pending":"running",L=o.deckMs!==null?g(o.deckMs):o.elapsedMs<1e3?g(o.elapsedMs):`${(o.elapsedMs/1e3).toFixed(1)}s`,$=t>0;return s.jsxs("div",{className:["s-lane-boot",$?"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:L})]}),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:v(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(y),children:[s.jsx("span",{className:"s-lane-boot-state",children:v(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(M),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)})]})]})]})]})}export{G as AgentLanesLoadingSheet,V as AgentLanesPreflightDeck,K as LANE_BOOT_EXIT_MS,S as useLaneBootVisibility};
@@ -1,2 +1,2 @@
1
- import{r as o,j as r}from"./index-BZovGpDk.js";/* empty css */import{a as nn}from"./api-h5zurxmi.js";import{u as _n}from"./tail-events-C12pfUax.js";import{i as le,o as we}from"./surface-activity-B1rgWB1i.js";import{u as Dn}from"./observe-DVHAcIrv.js";import{f as zn}from"./terminal-sessions-AmSgHklm.js";import{n as Mn}from"./colors-BtO5_zlx.js";import{S as Pn}from"./Provider-p-xuaAoE.js";import{d as On}from"./types-B0PlfpKc.js";import{A as $n}from"./AgentAvatar-CneOa70z.js";import{S as Wn}from"./SessionObserve-B-SkP3tu.js";import{V as Fn,W as tn,X as Hn,Y as Bn,Z as Ke,_ as Gn,$ as Vn,a0 as Kn,a1 as Un,a2 as qn,a3 as Ue,a4 as Yn,a5 as Zn,a6 as Xn,a7 as sn,a8 as Jn,a9 as Qn,i as an,j as rn}from"./router-63XV_E7f.js";import{AgentFloorView as et}from"./AgentFloorView-B5raPB_U.js";import{useLaneBootVisibility as nt,AgentLanesPreflightDeck as tt,AgentLanesLoadingSheet as st,LANE_BOOT_EXIT_MS as at}from"./AgentLanesPreflight-Cil3dNwu.js";import{AgentLaneChrome as rt}from"./AgentLaneChrome-T8QE5742.js";import{AgentLaneCard as ot}from"./AgentLaneCard-BRAkw8YJ.js";import{a as it}from"./agent-lane-card-model-q4cwzLX4.js";import{i as lt,A as ct}from"./AgentLaneDetailSheet-C8RYotnv.js";import{LaneTraceDetailSheet as dt}from"./LaneTraceDetailSheet-CzTd44rf.js";import{readStoredLaneSummaryHeight as ut,useLaneSummaryResize as ft,AgentLaneSummaryResizeHandle as mt}from"./AgentLaneSummaryResize-FyYweLo_.js";import{A as de,i as on,l as K,j as ht,k as ln,m as gt,e as pt,g as Lt,n as yt,r as vt,d as cn,D as bt,h as St}from"./agent-lanes-model-VYQ5a68i.js";import{i as kt,c as xt,n as qe}from"./keyboard-nav-CHo_xmjw.js";import{p as Ye}from"./lane-roster-store-B6ybJlHJ.js";function Ne(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=Ne(s);n.has(i)||(n.add(i),t.push(s))}return t}function Nt(e,n){return e.length<=n?e:[...e].sort((t,s)=>t.ts-s.ts).slice(e.length-n)}function Et(e,n,t){const s=Ne(n);for(const d of e)if(Ne(d)===s)return e;const i=[...e,n];return i.length>t?i.slice(i.length-t):i}function jt(e,n,t){return Nt(wt([...n,...e]),t)}const Ct=500,Rt=3e4;function At(){return{generatedAt:Date.now(),processes:[],transcripts:[],totals:{total:0,scoutManaged:0,hudsonManaged:0,unattributed:0,transcripts:0}}}async function It(e,n){const t=new URLSearchParams({limit:String(e)});return n&&t.set("transcripts","true"),(await nn(`/api/tail/recent?${t.toString()}`)).events??[]}function Tt(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 _t(e){const n=e?.recentLimit??Ct,t=e?.enabled??!0,s=e?.discoveryIntervalMs??Rt,i=e?.includeTranscriptReplay??!1,d=e?.hydrateOnDiscovery??i,f=e?.discoveryScope,y=e?.discoveryLimit,u=e?.pauseWhenHidden??!1,[l,c]=o.useState(null),[v,m]=o.useState([]),[L,j]=o.useState({discovery:"loading",recent:"loading"}),N=o.useRef(null),p=o.useRef(0);_n(S=>{m(h=>Et(h,S,n))},t);const b=o.useCallback((S=!1)=>{if(!t||u&&!le())return Promise.resolve();S&&j(T=>({...T,recent:"loading"}));const h=`${n}:${i?"replay":"live"}`,E=N.current;if(E?.key===h)return E.promise;const k=++p.current;let R;return R=It(n,i).then(T=>{m(M=>jt(M,T,n)),k===p.current&&j(M=>({...M,recent:"ready"}))}).catch(()=>{k===p.current&&j(T=>({...T,recent:"error"}))}).finally(()=>{N.current?.promise===R&&(N.current=null)}),N.current={key:h,promise:R},R},[t,i,u,n]),z=o.useCallback(async(S=!1)=>{if(t&&!(u&&!le())){S&&j(h=>({...h,discovery:"loading"}));try{const h=await nn(Tt(f,y));c(h),j(E=>({...E,discovery:"ready"})),d&&((h.transcripts?.length??0)>0||h.processes.length>0)&&b()}catch{c(h=>h??At()),j(h=>({...h,discovery:"error"}))}}},[y,f,t,d,u,b]),I=o.useCallback(async()=>{await Promise.all([z(!0),b(!0)])},[z,b]);return o.useEffect(()=>{if(!t)return;let S=!1;const h=()=>{S||z()};h();const E=setInterval(h,s),k=u?we(h):null;return()=>{S=!0,clearInterval(E),k?.()}},[s,t,u,z]),o.useEffect(()=>{if(!t)return;let S=!1,h=!1;const E=()=>{S||h||u&&!le()||(h=!0,b(!0))};E();const k=u?we(E):null;return()=>{S=!0,k?.()}},[t,u,b]),{discovery:l,events:v,loadState:L,refreshDiscovery:z,retryInitialLoad:I}}function Dt({lanes:e,inspectedLaneId:n,onInspect:t,onHorizonChange:s}){const[i,d]=o.useState(-1),f=o.useRef(new Map);o.useEffect(()=>{if(i<0)return;if(i>=e.length){d(e.length-1);return}const l=e[i];if(!l)return;const c=f.current.get(l.id);c?.scrollIntoView({block:"nearest",inline:"nearest"}),c?.focus()},[i,e]),o.useEffect(()=>{n||i>=e.length&&d(e.length>0?e.length-1:-1)},[i,n,e.length]);const y=o.useCallback((l,c)=>{c?f.current.set(l,c):f.current.delete(l)},[]);o.useEffect(()=>{const l=c=>{if(!document.querySelector(".s-agent-lanes")||kt(c.target)||xt()||n||e.length===0)return;const v=Number(c.key)-1;if(!c.metaKey&&!c.ctrlKey&&!c.altKey&&v>=0&&v<de.length){c.preventDefault(),s(de[v].key);return}if(c.key==="ArrowDown"||c.key==="j"){c.preventDefault(),d(m=>qe(m,e.length,1));return}if(c.key==="ArrowUp"||c.key==="k"){c.preventDefault(),d(m=>qe(m,e.length,-1));return}if(c.key==="Home"||c.key==="g"&&!c.shiftKey){c.preventDefault(),d(0);return}if(c.key==="End"||c.key==="G"){c.preventDefault(),d(e.length-1);return}if(c.key==="Enter"||c.key==="i"){const m=i<0?0:i,L=e[m];if(!L)return;c.preventDefault(),d(m),t(L)}};return window.addEventListener("keydown",l),()=>window.removeEventListener("keydown",l)},[i,n,e,s,t]);const u=o.useCallback((l,c)=>({"data-cursor":i===l?!0:void 0,tabIndex:i===l?0:-1,ref:v=>y(c,v),onFocus:()=>d(l)}),[i,y]);return{focusedIndex:i,getLaneFocusProps:u}}function zt(e){return e.trim().replace(/\/+$/u,"").split(/[\\/]/u).filter(Boolean).pop()?.trim()||null}function ce(e){return e.trim().toLowerCase().replace(/['"]/gu,"").replace(/[^a-z0-9]+/gu,"-").replace(/^-+|-+$/gu,"")}function dn(e,n){if(!n)return!0;const t=ce(n);return e.some(s=>{const i=s?.trim();if(!i)return!1;const d=i.toLowerCase(),f=zt(i);return d===n||ce(i)===t||!!(f&&(f.toLowerCase()===n||ce(f)===t))})}function Mt(e,n){const t=n?.trim().toLowerCase()||null,{agent:s,facts:i,source:d}=e;return dn([s.harness,s.definitionId,i?.attribution,d],t)}function Pt(e,n){const t=n?.trim().toLowerCase()||null,{agent:s,facts:i,source:d}=e;return dn([s.project,s.projectRoot,s.cwd,i?.cwd,K(s,d)],t)}function Ot(e){return e.current||on(e.observe)}function Ze(e,n,t,s){return tn(t?.width??e.laneWidths[n.id],s??e.defaultLaneWidth)}function $t(e,n){switch(e.kind){case"session":return n.filter(t=>t.id===e.sessionId);case"harness":return n.filter(t=>Mt(t,e.harness));case"project":return n.filter(t=>Pt(t,e.projectPath));case"attention":return n.filter(t=>Ot(t));default:return[]}}function Xe(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 ke(e){return[...e].sort((n,t)=>{const s=Hn(n.zone,t.zone);return s!==0?s:n.position!==t.position?n.position-t.position:n.lane.id.localeCompare(t.lane.id)})}function Wt(e){const{autoLanes:n,deck:t,defaultWidthTier:s}=e,i=new Set,d=[],f=[],y=[],u=new Map(t.laneDefs.map(m=>[m.id,m]));for(const m of Fn(t.slots)){const L=u.get(m.laneDefId);if(!L)continue;const j=$t(L,n),N=m.zone==="pinned_left"?d:m.zone==="pinned_right"?y:f;for(const p of j)Xe(N,i,{lane:p,zone:m.zone,position:m.position,widthPx:Ze(t,p,m,s),slot:m,laneDef:L})}if(t.showAutoLanes){let m=0;for(const L of n)i.has(L.id)||(Xe(f,i,{lane:L,zone:"main",position:m,widthPx:Ze(t,L,void 0,s)}),m+=1)}const l=ke(d),c=ke(f),v=ke(y);return{pinnedLeft:l,main:c,pinnedRight:v,flat:[...l,...c,...v]}}function Ft(e){return e.slots.some(n=>n.laneDefId===Bn)}function ie(e,n){const t=`harness:${ce(n)}`;return e.slots.some(s=>s.laneDefId===t)}function Ht(e,n,t){const[s,i]=o.useState(()=>Ke(e,n));o.useEffect(()=>{i(Ke(e,n))},[n,e]);const d=o.useCallback(p=>{Gn(p),i(p)},[]),f=o.useMemo(()=>Wt({autoLanes:t,deck:s,defaultWidthTier:n}),[t,s,n]),y=o.useCallback((p,b="pinned_left")=>{d(Vn(s,{laneId:p.id,title:K(p.agent,p.source),zone:b,width:s.laneWidths[p.id]}))},[s,d]),u=o.useCallback(p=>{d(Kn(s,p))},[s,d]),l=o.useCallback((p,b)=>{d(Un(s,p,b))},[s,d]),c=o.useCallback(p=>{d(qn(s,p))},[s,d]),v=o.useCallback((p,b)=>{d(Ue(s,{kind:"harness",title:b??`${p} sessions`,harness:p,zone:"pinned_left",width:s.defaultLaneWidth}))},[s,d]),m=o.useCallback(()=>{d(Ue(s,{kind:"attention",title:"Needs attention",zone:"pinned_left",width:"sm"}))},[s,d]),L=o.useCallback(()=>{d(Yn(s))},[s,d]),j=o.useCallback(p=>Zn(s,p),[s]),N=o.useCallback(p=>Xn(s,p),[s]);return{deck:s,layout:f,pinLane:y,unpinLane:u,setLaneWidth:l,setDefaultLaneWidth:c,addHarnessLane:v,addAttentionLane:m,clearPins:L,isPinned:j,pinnedZone:N}}function Bt(e){const[n,t]=o.useState(null),s=o.useRef({laneId:"",x:0,width:512}),i=o.useRef(512),d=o.useCallback((u,l,c)=>{l.preventDefault(),l.stopPropagation(),l.currentTarget.setPointerCapture(l.pointerId),s.current={laneId:u,x:l.clientX,width:c},i.current=c,t(u),document.body.classList.add("s-agent-lanes--resizing-width")},[]),f=o.useCallback(()=>{t(u=>{if(u){document.body.classList.remove("s-agent-lanes--resizing-width");const l=sn(i.current);e(s.current.laneId,l.tier??l.px)}return null})},[e]);o.useEffect(()=>{if(!n)return;const u=c=>{const v=c.clientX-s.current.x;i.current=Math.min(Jn,Math.max(Qn,s.current.width+v));const m=document.querySelector(`[data-lane-id="${s.current.laneId}"]`);m&&m.style.setProperty("--lane-width",`${i.current}px`)},l=()=>f();return window.addEventListener("pointermove",u),window.addEventListener("pointerup",l),window.addEventListener("pointercancel",l),()=>{window.removeEventListener("pointermove",u),window.removeEventListener("pointerup",l),window.removeEventListener("pointercancel",l)}},[f,n]);const y=o.useCallback((u,l)=>{e(u,l),document.querySelector(`[data-lane-id="${u}"]`)?.style.removeProperty("--lane-width")},[e]);return{beginResize:d,resetLaneWidth:y,resizingLaneId:n}}const Je=[{key:"lanes",label:"lanes"},{key:"grid",label:"grid"},{key:"floor",label:"floor"}],Gt=[{key:"auto",label:"auto"},{key:"2",label:"2"},{key:"3",label:"3"},{key:"4",label:"4"}];function Vt(e,n=!1){return e==="grid"?"grid":e==="floor"?n?"lanes":"floor":"lanes"}function Kt(e){return e==="2"||e==="3"||e==="4"?e:"auto"}function Ut(e){return e?Je.filter(n=>n.key!=="floor"):Je}const un="openscout:agent-lanes-horizon",fn="openscout:agent-lanes-layout",mn="openscout:agent-lanes-grid-columns",hn="openscout:agent-lanes-technical-rollup",qt=`${hn}:lane:`,Yt="openscout:agent-lanes-scroll",Zt=96,Xt=3e4,Jt=3e4,Qt=3e4,es=3e4,ns=12e4,ts=["pinned-left","main","pinned-right"];function Qe(){return!le()}function gn(e,n){return`${Yt}:${e}:${n}`}function ss(e,n){try{const t=sessionStorage.getItem(gn(e,n)),s=t?Number.parseFloat(t):0;return Number.isFinite(s)&&s>0?s:0}catch{return 0}}function as(e,n,t){try{sessionStorage.setItem(gn(e,n),String(Math.max(0,Math.round(t))))}catch{}}function rs(){try{const e=sessionStorage.getItem(un);if(e&&de.some(n=>n.key===e))return e}catch{}return bt}function os(e){try{const n=sessionStorage.getItem(fn);return Vt(n,e)}catch{}return"lanes"}function is(){try{return Kt(sessionStorage.getItem(mn))}catch{return"auto"}}function ls(){try{const e=sessionStorage.getItem(hn);if(e==="0")return!1;if(e==="1")return!0}catch{}return null}function pn(e){return`${qt}${encodeURIComponent(e)}`}function en(e){try{const n=sessionStorage.getItem(pn(e));if(n==="0")return!1;if(n==="1")return!0}catch{}return ls()??!1}function cs(e,n){try{sessionStorage.setItem(pn(e),n?"1":"0")}catch{}}function ds(e,n){const t=o.useRef(new Map),s=o.useRef({}),i=o.useCallback((u,l=t.current.get(u))=>{if(!l)return;const c=s.current[u]??ss(e,u);if(c<=0)return;const v=Math.max(0,l.scrollWidth-l.clientWidth),m=Math.min(c,v);Math.abs(l.scrollLeft-m)>1&&(l.scrollLeft=m)},[e]),d=o.useCallback(()=>{for(const u of ts)i(u)},[i]);o.useLayoutEffect(()=>{d();const u=window.requestAnimationFrame(d);return()=>window.cancelAnimationFrame(u)},[e,d,n]);const f=o.useCallback((u,l)=>{if(!l){t.current.delete(u);return}t.current.set(u,l),i(u,l)},[i]);return{handleLaneScroll:o.useCallback((u,l)=>{const c=l.currentTarget.scrollLeft;s.current[u]=c,as(e,u,c)},[e]),setLaneScrollNode:f}}function us({issue:e}){const n=e.agentNames?.length?e.agentNames.join(", "):e.agentIds?.join(", "),t=e.transcriptPaths?.join(" · "),s=[n,t].filter(Boolean).join(" · ");return r.jsxs("li",{className:"s-agent-lanes-issues-item",children:[r.jsx("span",{className:"s-agent-lanes-issues-kind",children:e.kind.replaceAll("_"," ")}),r.jsx("span",{className:"s-agent-lanes-issues-message",children:e.message}),s?r.jsx("span",{className:"s-agent-lanes-issues-detail",children:s}):null]})}function fs({loadState:e,onRetry:n}){const t=[e.discovery==="error"?"session discovery":"",e.recent==="error"?"recent history":""].filter(Boolean).join(" and ");return r.jsx("div",{className:"s-agent-lanes-empty s-agent-lanes-empty--degraded",role:"alert",children:r.jsxs("div",{className:"s-agent-lanes-empty-card",children:[r.jsxs("div",{className:"s-agent-lanes-empty-rail","aria-hidden":"true",children:[r.jsx("span",{}),r.jsx("span",{}),r.jsx("span",{})]}),r.jsxs("div",{className:"s-agent-lanes-empty-copy",children:[r.jsx("span",{className:"s-agent-lanes-empty-kicker",children:"Tail incomplete"}),r.jsx("h2",{children:"Recent activity could not be loaded"}),r.jsxs("p",{children:["Scout could not finish ",t||"the tail scan",", so this is not being treated as a quiet interval."]}),r.jsx("p",{className:"s-agent-lanes-empty-secondary",children:"Live events can still arrive while Scout retries."})]}),r.jsx("div",{className:"s-agent-lanes-empty-actions",children:r.jsx("button",{type:"button",onClick:n,children:"Retry tail scan"})})]})})}function ms({activeFilterLabel:e,horizon:n,horizonLabel:t,showAutoLanes:s,onHorizonChange:i,onAddAttentionLane:d,onAddCodexLane:f,sourceCount:y,eventCount:u}){const l=!!e,c=l?"No matching lanes":s?`No activity in the last ${t}`:"No pinned lanes",v=l?`${e} has no activity in the last ${t}.`:s?`Scout checked ${y.toLocaleString()} session source${y===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.",m=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.",L=n==="5m"?"30m":n==="24h"?null:"24h";return r.jsx("div",{className:"s-agent-lanes-empty",role:"status","aria-live":"polite",children:r.jsxs("div",{className:"s-agent-lanes-empty-card",children:[r.jsxs("div",{className:"s-agent-lanes-empty-rail","aria-hidden":"true",children:[r.jsx("span",{}),r.jsx("span",{}),r.jsx("span",{})]}),r.jsxs("div",{className:"s-agent-lanes-empty-copy",children:[r.jsx("span",{className:"s-agent-lanes-empty-kicker",children:l?"Filter checked":s?"Tail scanned":"Lane deck ready"}),r.jsx("h2",{children:c}),r.jsx("p",{children:v}),r.jsx("p",{className:"s-agent-lanes-empty-secondary",children:m})]}),r.jsxs("div",{className:"s-agent-lanes-empty-actions",children:[L?r.jsxs("button",{type:"button",onClick:()=>i(L),children:["Look back ",ln(L)]}):null,r.jsx("button",{type:"button",onClick:d,children:"Show attention"}),r.jsx("button",{type:"button",onClick:f,children:"Pin Codex sessions"})]})]})})}function hs({lane:e,widthPx:n,laneTitle:t,pinned:s,laneWidth:i,defaultWidth:d,isNew:f,nowMs:y,traceWindowMs:u,traceWindowLabel:l,summaryHeight:c,onSummaryResizeStart:v,onSummaryResizeReset:m,summaryResizing:L,onInspect:j,onTraceEventSelect:N,onTogglePin:p,onWidthChange:b,onWidthResizeStart:z,widthResizing:I,focusProps:S,operatorName:h,grid:E=!1}){const{agent:k,observe:R,source:T}=e,M=on(R),J=!!R,Q=M?" s-agent-lane--live":"",ee=f?" s-agent-lane--new":"",[F,ne]=o.useState(!0),[U,H]=o.useState(()=>en(e.id)),$=o.useRef(e.id);o.useEffect(()=>{if($.current!==e.id){$.current=e.id,H(en(e.id));return}cs(e.id,U)},[U,e.id]);const _=S?.ref,B=S?{"data-cursor":S["data-cursor"],tabIndex:S.tabIndex,onFocus:S.onFocus}:void 0,P=()=>r.jsx("section",{className:"s-agent-lane-trace","aria-label":`${K(k,T)} trace`,children:r.jsx("div",{className:"s-agent-lane-body",children:J?r.jsx(Wn,{data:R??void 0,agentId:e.source==="scout"?k.id:void 0,sessionId:k.harnessSessionId,showRail:!1,variant:"lane",nowMs:y,traceWindowMs:u,traceWindowLabel:l,laneCollapseTechnicalEvents:U,onLaneCollapseTechnicalEventsChange:H,laneOperatorName:h,onLaneEventSelect:q=>N(e,q)}):r.jsx("div",{className:"s-agent-lane-empty",children:"Waiting for trace activity…"})})});return r.jsxs("article",{ref:_,"data-lane-id":e.id,className:`s-agent-lane${E?" s-agent-lane--grid":""}${Q}${ee}${s?" s-agent-lane--pinned":""}${S?.["data-cursor"]?" s-agent-lane--cursor":""}`,style:E?void 0:{"--lane-width":`${n}px`},...B,children:[r.jsx(rt,{title:t,width:i,defaultWidth:d,pinned:s,onTogglePin:p,onWidthChange:b,onResizeStart:z,resizing:I,statusLabel:cn(k,T),live:M,widthControls:!E}),r.jsx(ot,{model:it(e,{isLive:M,nowMs:y}),avatar:r.jsx($n,{agent:k,placement:"row",size:44,presence:!1,tile:!1}),collapsed:F,cockpitHeight:F?void 0:c,onToggleCollapsed:()=>ne(q=>!q),onOpen:()=>j(e)}),!F&&r.jsx(mt,{onResizeStart:v,onReset:m,active:L}),P()]})}function gs({navigate:e,agents:n,data:t,embedded:s=!1,laneSize:i="lg",profileId:d,harnessFilter:f,projectFilter:y}){const u=o.useContext(Pn),l=t?.agents??n??u?.agents??[],c=t?.operatorName?.trim()||u?.onboarding?.operatorName?.trim()||void 0,v=d??an(),m=i??rn(),[L,j]=o.useState(Date.now()),[N,p]=o.useState(rs),[b,z]=o.useState(()=>os(s)),[I,S]=o.useState(is),h=!s&&b==="floor",E=b==="grid",k=h?"4h":N,[R,T]=o.useState(ut),[M,J]=o.useState([]),{beginResize:Q,resetSummaryHeight:ee,resizing:F}=ft(T),ne=o.useCallback(a=>Q(a,R),[Q,R]),U=St(k),H=ht(k),$=_t({enabled:!t,includeTranscriptReplay:!0,hydrateOnDiscovery:!0,discoveryIntervalMs:s?Xt:5e3,recentLimit:U,discoveryLimit:s?Zt:void 0,pauseWhenHidden:!0}),_=t?.discovery??$.discovery,B=t?.tailEvents??$.events,P=t?.loadState??$.loadState,q=t?.retryInitialLoad??$.retryInitialLoad,Ee=t?.terminalSessions??M,Ln={view:"ops",mode:"lanes"},Y=ln(k),je=s?Jt:1e4,Ce=s?Qt:1e4;o.useEffect(()=>{const a=setInterval(()=>{Qe()||j(Date.now())},je);return()=>clearInterval(a)},[je]),o.useEffect(()=>{if(t)return;let a=!1;const g=async()=>{if(!Qe())try{const be=await zn({includeDiscovered:!1});a||J(be)}catch{a||J([])}};g();const w=setInterval(()=>{g()},Ce),C=we(()=>{g()});return()=>{a=!0,clearInterval(w),C()}},[t,Ce]),o.useEffect(()=>{try{sessionStorage.setItem(un,N)}catch{}},[N]),o.useEffect(()=>{try{sessionStorage.setItem(fn,b)}catch{}},[b]),o.useEffect(()=>{try{sessionStorage.setItem(mn,I)}catch{}},[I]);const yn=o.useRef(gt()),Re=o.useRef(""),[te,Ae]=o.useState(()=>new Set),[me,Ie]=o.useState(null),vn=o.useMemo(()=>l.filter(a=>pt(a,L,k)),[l,L,k]),bn=Dn(vn,{enabled:!t,activeIntervalMs:s?es:void 0,idleIntervalMs:s?ns:void 0,pauseWhenHidden:!0}),Te=t?.observeCache??bn,Sn=P.discovery==="loading"||P.recent==="loading",_e=P.discovery==="error"||P.recent==="error",De=_?.totals.transcripts??_?.transcripts?.length??0,se=nt(Sn,_e?0:at);o.useEffect(()=>{if(te.size===0)return;const a=setTimeout(()=>Ae(new Set),900);return()=>clearTimeout(a)},[te]);const{lanes:ae,issues:D,freshLaneIds:he}=o.useMemo(()=>{const a=Lt({transcripts:_?.transcripts??[],tailEvents:B,processes:_?.processes??[],scoutAgents:l,terminalSessions:Ee,observeCache:Te,now:L,workingOnly:!0,horizon:k}),g=yt(a.lanes,yn.current),w=[...vt(_),...a.issues];return{lanes:g.lanes,issues:w,freshLaneIds:g.newLaneIds}},[_,B,l,Ee,Te,L,k]);o.useEffect(()=>{const a=D.map(g=>`${g.id}\0${g.message}`).join(`
1
+ import{r as o,j as r}from"./index-DmFAhGPj.js";/* empty css */import{a as nn}from"./api-h5zurxmi.js";import{u as _n}from"./tail-events-BdvqZHLr.js";import{i as le,o as we}from"./surface-activity-B1rgWB1i.js";import{u as Dn}from"./observe-BSWVM8YA.js";import{f as zn}from"./terminal-sessions-AmSgHklm.js";import{n as Mn}from"./colors-BtO5_zlx.js";import{S as Pn}from"./Provider-cJCdHAxu.js";import{d as On}from"./types-B0PlfpKc.js";import{A as $n}from"./AgentAvatar-D8ZtMluU.js";import{S as Wn}from"./SessionObserve-yYA8Gy5s.js";import{V as Fn,W as tn,X as Hn,Y as Bn,Z as Ke,_ as Gn,$ as Vn,a0 as Kn,a1 as Un,a2 as qn,a3 as Ue,a4 as Yn,a5 as Zn,a6 as Xn,a7 as sn,a8 as Jn,a9 as Qn,i as an,j as rn}from"./router-Cn_s9IGH.js";import{AgentFloorView as et}from"./AgentFloorView-DjNLILLt.js";import{useLaneBootVisibility as nt,AgentLanesPreflightDeck as tt,AgentLanesLoadingSheet as st,LANE_BOOT_EXIT_MS as at}from"./AgentLanesPreflight-C3uOiOzd.js";import{AgentLaneChrome as rt}from"./AgentLaneChrome-Dlwrbq3g.js";import{AgentLaneCard as ot}from"./AgentLaneCard-lfRNb7JD.js";import{a as it}from"./agent-lane-card-model-q4cwzLX4.js";import{i as lt,A as ct}from"./AgentLaneDetailSheet-BzYzBfcW.js";import{LaneTraceDetailSheet as dt}from"./LaneTraceDetailSheet-H3AnN-vN.js";import{readStoredLaneSummaryHeight as ut,useLaneSummaryResize as ft,AgentLaneSummaryResizeHandle as mt}from"./AgentLaneSummaryResize-6SOEWUnr.js";import{A as de,i as on,l as K,j as ht,k as ln,m as gt,e as pt,g as Lt,n as yt,r as vt,d as cn,D as bt,h as St}from"./agent-lanes-model-VYQ5a68i.js";import{i as kt,c as xt,n as qe}from"./keyboard-nav-h1IdakpD.js";import{p as Ye}from"./lane-roster-store-71vFgAem.js";function Ne(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=Ne(s);n.has(i)||(n.add(i),t.push(s))}return t}function Nt(e,n){return e.length<=n?e:[...e].sort((t,s)=>t.ts-s.ts).slice(e.length-n)}function Et(e,n,t){const s=Ne(n);for(const d of e)if(Ne(d)===s)return e;const i=[...e,n];return i.length>t?i.slice(i.length-t):i}function jt(e,n,t){return Nt(wt([...n,...e]),t)}const Ct=500,Rt=3e4;function At(){return{generatedAt:Date.now(),processes:[],transcripts:[],totals:{total:0,scoutManaged:0,hudsonManaged:0,unattributed:0,transcripts:0}}}async function It(e,n){const t=new URLSearchParams({limit:String(e)});return n&&t.set("transcripts","true"),(await nn(`/api/tail/recent?${t.toString()}`)).events??[]}function Tt(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 _t(e){const n=e?.recentLimit??Ct,t=e?.enabled??!0,s=e?.discoveryIntervalMs??Rt,i=e?.includeTranscriptReplay??!1,d=e?.hydrateOnDiscovery??i,f=e?.discoveryScope,y=e?.discoveryLimit,u=e?.pauseWhenHidden??!1,[l,c]=o.useState(null),[v,m]=o.useState([]),[L,j]=o.useState({discovery:"loading",recent:"loading"}),N=o.useRef(null),p=o.useRef(0);_n(S=>{m(h=>Et(h,S,n))},t);const b=o.useCallback((S=!1)=>{if(!t||u&&!le())return Promise.resolve();S&&j(T=>({...T,recent:"loading"}));const h=`${n}:${i?"replay":"live"}`,E=N.current;if(E?.key===h)return E.promise;const k=++p.current;let R;return R=It(n,i).then(T=>{m(M=>jt(M,T,n)),k===p.current&&j(M=>({...M,recent:"ready"}))}).catch(()=>{k===p.current&&j(T=>({...T,recent:"error"}))}).finally(()=>{N.current?.promise===R&&(N.current=null)}),N.current={key:h,promise:R},R},[t,i,u,n]),z=o.useCallback(async(S=!1)=>{if(t&&!(u&&!le())){S&&j(h=>({...h,discovery:"loading"}));try{const h=await nn(Tt(f,y));c(h),j(E=>({...E,discovery:"ready"})),d&&((h.transcripts?.length??0)>0||h.processes.length>0)&&b()}catch{c(h=>h??At()),j(h=>({...h,discovery:"error"}))}}},[y,f,t,d,u,b]),I=o.useCallback(async()=>{await Promise.all([z(!0),b(!0)])},[z,b]);return o.useEffect(()=>{if(!t)return;let S=!1;const h=()=>{S||z()};h();const E=setInterval(h,s),k=u?we(h):null;return()=>{S=!0,clearInterval(E),k?.()}},[s,t,u,z]),o.useEffect(()=>{if(!t)return;let S=!1,h=!1;const E=()=>{S||h||u&&!le()||(h=!0,b(!0))};E();const k=u?we(E):null;return()=>{S=!0,k?.()}},[t,u,b]),{discovery:l,events:v,loadState:L,refreshDiscovery:z,retryInitialLoad:I}}function Dt({lanes:e,inspectedLaneId:n,onInspect:t,onHorizonChange:s}){const[i,d]=o.useState(-1),f=o.useRef(new Map);o.useEffect(()=>{if(i<0)return;if(i>=e.length){d(e.length-1);return}const l=e[i];if(!l)return;const c=f.current.get(l.id);c?.scrollIntoView({block:"nearest",inline:"nearest"}),c?.focus()},[i,e]),o.useEffect(()=>{n||i>=e.length&&d(e.length>0?e.length-1:-1)},[i,n,e.length]);const y=o.useCallback((l,c)=>{c?f.current.set(l,c):f.current.delete(l)},[]);o.useEffect(()=>{const l=c=>{if(!document.querySelector(".s-agent-lanes")||kt(c.target)||xt()||n||e.length===0)return;const v=Number(c.key)-1;if(!c.metaKey&&!c.ctrlKey&&!c.altKey&&v>=0&&v<de.length){c.preventDefault(),s(de[v].key);return}if(c.key==="ArrowDown"||c.key==="j"){c.preventDefault(),d(m=>qe(m,e.length,1));return}if(c.key==="ArrowUp"||c.key==="k"){c.preventDefault(),d(m=>qe(m,e.length,-1));return}if(c.key==="Home"||c.key==="g"&&!c.shiftKey){c.preventDefault(),d(0);return}if(c.key==="End"||c.key==="G"){c.preventDefault(),d(e.length-1);return}if(c.key==="Enter"||c.key==="i"){const m=i<0?0:i,L=e[m];if(!L)return;c.preventDefault(),d(m),t(L)}};return window.addEventListener("keydown",l),()=>window.removeEventListener("keydown",l)},[i,n,e,s,t]);const u=o.useCallback((l,c)=>({"data-cursor":i===l?!0:void 0,tabIndex:i===l?0:-1,ref:v=>y(c,v),onFocus:()=>d(l)}),[i,y]);return{focusedIndex:i,getLaneFocusProps:u}}function zt(e){return e.trim().replace(/\/+$/u,"").split(/[\\/]/u).filter(Boolean).pop()?.trim()||null}function ce(e){return e.trim().toLowerCase().replace(/['"]/gu,"").replace(/[^a-z0-9]+/gu,"-").replace(/^-+|-+$/gu,"")}function dn(e,n){if(!n)return!0;const t=ce(n);return e.some(s=>{const i=s?.trim();if(!i)return!1;const d=i.toLowerCase(),f=zt(i);return d===n||ce(i)===t||!!(f&&(f.toLowerCase()===n||ce(f)===t))})}function Mt(e,n){const t=n?.trim().toLowerCase()||null,{agent:s,facts:i,source:d}=e;return dn([s.harness,s.definitionId,i?.attribution,d],t)}function Pt(e,n){const t=n?.trim().toLowerCase()||null,{agent:s,facts:i,source:d}=e;return dn([s.project,s.projectRoot,s.cwd,i?.cwd,K(s,d)],t)}function Ot(e){return e.current||on(e.observe)}function Ze(e,n,t,s){return tn(t?.width??e.laneWidths[n.id],s??e.defaultLaneWidth)}function $t(e,n){switch(e.kind){case"session":return n.filter(t=>t.id===e.sessionId);case"harness":return n.filter(t=>Mt(t,e.harness));case"project":return n.filter(t=>Pt(t,e.projectPath));case"attention":return n.filter(t=>Ot(t));default:return[]}}function Xe(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 ke(e){return[...e].sort((n,t)=>{const s=Hn(n.zone,t.zone);return s!==0?s:n.position!==t.position?n.position-t.position:n.lane.id.localeCompare(t.lane.id)})}function Wt(e){const{autoLanes:n,deck:t,defaultWidthTier:s}=e,i=new Set,d=[],f=[],y=[],u=new Map(t.laneDefs.map(m=>[m.id,m]));for(const m of Fn(t.slots)){const L=u.get(m.laneDefId);if(!L)continue;const j=$t(L,n),N=m.zone==="pinned_left"?d:m.zone==="pinned_right"?y:f;for(const p of j)Xe(N,i,{lane:p,zone:m.zone,position:m.position,widthPx:Ze(t,p,m,s),slot:m,laneDef:L})}if(t.showAutoLanes){let m=0;for(const L of n)i.has(L.id)||(Xe(f,i,{lane:L,zone:"main",position:m,widthPx:Ze(t,L,void 0,s)}),m+=1)}const l=ke(d),c=ke(f),v=ke(y);return{pinnedLeft:l,main:c,pinnedRight:v,flat:[...l,...c,...v]}}function Ft(e){return e.slots.some(n=>n.laneDefId===Bn)}function ie(e,n){const t=`harness:${ce(n)}`;return e.slots.some(s=>s.laneDefId===t)}function Ht(e,n,t){const[s,i]=o.useState(()=>Ke(e,n));o.useEffect(()=>{i(Ke(e,n))},[n,e]);const d=o.useCallback(p=>{Gn(p),i(p)},[]),f=o.useMemo(()=>Wt({autoLanes:t,deck:s,defaultWidthTier:n}),[t,s,n]),y=o.useCallback((p,b="pinned_left")=>{d(Vn(s,{laneId:p.id,title:K(p.agent,p.source),zone:b,width:s.laneWidths[p.id]}))},[s,d]),u=o.useCallback(p=>{d(Kn(s,p))},[s,d]),l=o.useCallback((p,b)=>{d(Un(s,p,b))},[s,d]),c=o.useCallback(p=>{d(qn(s,p))},[s,d]),v=o.useCallback((p,b)=>{d(Ue(s,{kind:"harness",title:b??`${p} sessions`,harness:p,zone:"pinned_left",width:s.defaultLaneWidth}))},[s,d]),m=o.useCallback(()=>{d(Ue(s,{kind:"attention",title:"Needs attention",zone:"pinned_left",width:"sm"}))},[s,d]),L=o.useCallback(()=>{d(Yn(s))},[s,d]),j=o.useCallback(p=>Zn(s,p),[s]),N=o.useCallback(p=>Xn(s,p),[s]);return{deck:s,layout:f,pinLane:y,unpinLane:u,setLaneWidth:l,setDefaultLaneWidth:c,addHarnessLane:v,addAttentionLane:m,clearPins:L,isPinned:j,pinnedZone:N}}function Bt(e){const[n,t]=o.useState(null),s=o.useRef({laneId:"",x:0,width:512}),i=o.useRef(512),d=o.useCallback((u,l,c)=>{l.preventDefault(),l.stopPropagation(),l.currentTarget.setPointerCapture(l.pointerId),s.current={laneId:u,x:l.clientX,width:c},i.current=c,t(u),document.body.classList.add("s-agent-lanes--resizing-width")},[]),f=o.useCallback(()=>{t(u=>{if(u){document.body.classList.remove("s-agent-lanes--resizing-width");const l=sn(i.current);e(s.current.laneId,l.tier??l.px)}return null})},[e]);o.useEffect(()=>{if(!n)return;const u=c=>{const v=c.clientX-s.current.x;i.current=Math.min(Jn,Math.max(Qn,s.current.width+v));const m=document.querySelector(`[data-lane-id="${s.current.laneId}"]`);m&&m.style.setProperty("--lane-width",`${i.current}px`)},l=()=>f();return window.addEventListener("pointermove",u),window.addEventListener("pointerup",l),window.addEventListener("pointercancel",l),()=>{window.removeEventListener("pointermove",u),window.removeEventListener("pointerup",l),window.removeEventListener("pointercancel",l)}},[f,n]);const y=o.useCallback((u,l)=>{e(u,l),document.querySelector(`[data-lane-id="${u}"]`)?.style.removeProperty("--lane-width")},[e]);return{beginResize:d,resetLaneWidth:y,resizingLaneId:n}}const Je=[{key:"lanes",label:"lanes"},{key:"grid",label:"grid"},{key:"floor",label:"floor"}],Gt=[{key:"auto",label:"auto"},{key:"2",label:"2"},{key:"3",label:"3"},{key:"4",label:"4"}];function Vt(e,n=!1){return e==="grid"?"grid":e==="floor"?n?"lanes":"floor":"lanes"}function Kt(e){return e==="2"||e==="3"||e==="4"?e:"auto"}function Ut(e){return e?Je.filter(n=>n.key!=="floor"):Je}const un="openscout:agent-lanes-horizon",fn="openscout:agent-lanes-layout",mn="openscout:agent-lanes-grid-columns",hn="openscout:agent-lanes-technical-rollup",qt=`${hn}:lane:`,Yt="openscout:agent-lanes-scroll",Zt=96,Xt=3e4,Jt=3e4,Qt=3e4,es=3e4,ns=12e4,ts=["pinned-left","main","pinned-right"];function Qe(){return!le()}function gn(e,n){return`${Yt}:${e}:${n}`}function ss(e,n){try{const t=sessionStorage.getItem(gn(e,n)),s=t?Number.parseFloat(t):0;return Number.isFinite(s)&&s>0?s:0}catch{return 0}}function as(e,n,t){try{sessionStorage.setItem(gn(e,n),String(Math.max(0,Math.round(t))))}catch{}}function rs(){try{const e=sessionStorage.getItem(un);if(e&&de.some(n=>n.key===e))return e}catch{}return bt}function os(e){try{const n=sessionStorage.getItem(fn);return Vt(n,e)}catch{}return"lanes"}function is(){try{return Kt(sessionStorage.getItem(mn))}catch{return"auto"}}function ls(){try{const e=sessionStorage.getItem(hn);if(e==="0")return!1;if(e==="1")return!0}catch{}return null}function pn(e){return`${qt}${encodeURIComponent(e)}`}function en(e){try{const n=sessionStorage.getItem(pn(e));if(n==="0")return!1;if(n==="1")return!0}catch{}return ls()??!1}function cs(e,n){try{sessionStorage.setItem(pn(e),n?"1":"0")}catch{}}function ds(e,n){const t=o.useRef(new Map),s=o.useRef({}),i=o.useCallback((u,l=t.current.get(u))=>{if(!l)return;const c=s.current[u]??ss(e,u);if(c<=0)return;const v=Math.max(0,l.scrollWidth-l.clientWidth),m=Math.min(c,v);Math.abs(l.scrollLeft-m)>1&&(l.scrollLeft=m)},[e]),d=o.useCallback(()=>{for(const u of ts)i(u)},[i]);o.useLayoutEffect(()=>{d();const u=window.requestAnimationFrame(d);return()=>window.cancelAnimationFrame(u)},[e,d,n]);const f=o.useCallback((u,l)=>{if(!l){t.current.delete(u);return}t.current.set(u,l),i(u,l)},[i]);return{handleLaneScroll:o.useCallback((u,l)=>{const c=l.currentTarget.scrollLeft;s.current[u]=c,as(e,u,c)},[e]),setLaneScrollNode:f}}function us({issue:e}){const n=e.agentNames?.length?e.agentNames.join(", "):e.agentIds?.join(", "),t=e.transcriptPaths?.join(" · "),s=[n,t].filter(Boolean).join(" · ");return r.jsxs("li",{className:"s-agent-lanes-issues-item",children:[r.jsx("span",{className:"s-agent-lanes-issues-kind",children:e.kind.replaceAll("_"," ")}),r.jsx("span",{className:"s-agent-lanes-issues-message",children:e.message}),s?r.jsx("span",{className:"s-agent-lanes-issues-detail",children:s}):null]})}function fs({loadState:e,onRetry:n}){const t=[e.discovery==="error"?"session discovery":"",e.recent==="error"?"recent history":""].filter(Boolean).join(" and ");return r.jsx("div",{className:"s-agent-lanes-empty s-agent-lanes-empty--degraded",role:"alert",children:r.jsxs("div",{className:"s-agent-lanes-empty-card",children:[r.jsxs("div",{className:"s-agent-lanes-empty-rail","aria-hidden":"true",children:[r.jsx("span",{}),r.jsx("span",{}),r.jsx("span",{})]}),r.jsxs("div",{className:"s-agent-lanes-empty-copy",children:[r.jsx("span",{className:"s-agent-lanes-empty-kicker",children:"Tail incomplete"}),r.jsx("h2",{children:"Recent activity could not be loaded"}),r.jsxs("p",{children:["Scout could not finish ",t||"the tail scan",", so this is not being treated as a quiet interval."]}),r.jsx("p",{className:"s-agent-lanes-empty-secondary",children:"Live events can still arrive while Scout retries."})]}),r.jsx("div",{className:"s-agent-lanes-empty-actions",children:r.jsx("button",{type:"button",onClick:n,children:"Retry tail scan"})})]})})}function ms({activeFilterLabel:e,horizon:n,horizonLabel:t,showAutoLanes:s,onHorizonChange:i,onAddAttentionLane:d,onAddCodexLane:f,sourceCount:y,eventCount:u}){const l=!!e,c=l?"No matching lanes":s?`No activity in the last ${t}`:"No pinned lanes",v=l?`${e} has no activity in the last ${t}.`:s?`Scout checked ${y.toLocaleString()} session source${y===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.",m=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.",L=n==="5m"?"30m":n==="24h"?null:"24h";return r.jsx("div",{className:"s-agent-lanes-empty",role:"status","aria-live":"polite",children:r.jsxs("div",{className:"s-agent-lanes-empty-card",children:[r.jsxs("div",{className:"s-agent-lanes-empty-rail","aria-hidden":"true",children:[r.jsx("span",{}),r.jsx("span",{}),r.jsx("span",{})]}),r.jsxs("div",{className:"s-agent-lanes-empty-copy",children:[r.jsx("span",{className:"s-agent-lanes-empty-kicker",children:l?"Filter checked":s?"Tail scanned":"Lane deck ready"}),r.jsx("h2",{children:c}),r.jsx("p",{children:v}),r.jsx("p",{className:"s-agent-lanes-empty-secondary",children:m})]}),r.jsxs("div",{className:"s-agent-lanes-empty-actions",children:[L?r.jsxs("button",{type:"button",onClick:()=>i(L),children:["Look back ",ln(L)]}):null,r.jsx("button",{type:"button",onClick:d,children:"Show attention"}),r.jsx("button",{type:"button",onClick:f,children:"Pin Codex sessions"})]})]})})}function hs({lane:e,widthPx:n,laneTitle:t,pinned:s,laneWidth:i,defaultWidth:d,isNew:f,nowMs:y,traceWindowMs:u,traceWindowLabel:l,summaryHeight:c,onSummaryResizeStart:v,onSummaryResizeReset:m,summaryResizing:L,onInspect:j,onTraceEventSelect:N,onTogglePin:p,onWidthChange:b,onWidthResizeStart:z,widthResizing:I,focusProps:S,operatorName:h,grid:E=!1}){const{agent:k,observe:R,source:T}=e,M=on(R),J=!!R,Q=M?" s-agent-lane--live":"",ee=f?" s-agent-lane--new":"",[F,ne]=o.useState(!0),[U,H]=o.useState(()=>en(e.id)),$=o.useRef(e.id);o.useEffect(()=>{if($.current!==e.id){$.current=e.id,H(en(e.id));return}cs(e.id,U)},[U,e.id]);const _=S?.ref,B=S?{"data-cursor":S["data-cursor"],tabIndex:S.tabIndex,onFocus:S.onFocus}:void 0,P=()=>r.jsx("section",{className:"s-agent-lane-trace","aria-label":`${K(k,T)} trace`,children:r.jsx("div",{className:"s-agent-lane-body",children:J?r.jsx(Wn,{data:R??void 0,agentId:e.source==="scout"?k.id:void 0,sessionId:k.harnessSessionId,showRail:!1,variant:"lane",nowMs:y,traceWindowMs:u,traceWindowLabel:l,laneCollapseTechnicalEvents:U,onLaneCollapseTechnicalEventsChange:H,laneOperatorName:h,onLaneEventSelect:q=>N(e,q)}):r.jsx("div",{className:"s-agent-lane-empty",children:"Waiting for trace activity…"})})});return r.jsxs("article",{ref:_,"data-lane-id":e.id,className:`s-agent-lane${E?" s-agent-lane--grid":""}${Q}${ee}${s?" s-agent-lane--pinned":""}${S?.["data-cursor"]?" s-agent-lane--cursor":""}`,style:E?void 0:{"--lane-width":`${n}px`},...B,children:[r.jsx(rt,{title:t,width:i,defaultWidth:d,pinned:s,onTogglePin:p,onWidthChange:b,onResizeStart:z,resizing:I,statusLabel:cn(k,T),live:M,widthControls:!E}),r.jsx(ot,{model:it(e,{isLive:M,nowMs:y}),avatar:r.jsx($n,{agent:k,placement:"row",size:44,presence:!1,tile:!1}),collapsed:F,cockpitHeight:F?void 0:c,onToggleCollapsed:()=>ne(q=>!q),onOpen:()=>j(e)}),!F&&r.jsx(mt,{onResizeStart:v,onReset:m,active:L}),P()]})}function gs({navigate:e,agents:n,data:t,embedded:s=!1,laneSize:i="lg",profileId:d,harnessFilter:f,projectFilter:y}){const u=o.useContext(Pn),l=t?.agents??n??u?.agents??[],c=t?.operatorName?.trim()||u?.onboarding?.operatorName?.trim()||void 0,v=d??an(),m=i??rn(),[L,j]=o.useState(Date.now()),[N,p]=o.useState(rs),[b,z]=o.useState(()=>os(s)),[I,S]=o.useState(is),h=!s&&b==="floor",E=b==="grid",k=h?"4h":N,[R,T]=o.useState(ut),[M,J]=o.useState([]),{beginResize:Q,resetSummaryHeight:ee,resizing:F}=ft(T),ne=o.useCallback(a=>Q(a,R),[Q,R]),U=St(k),H=ht(k),$=_t({enabled:!t,includeTranscriptReplay:!0,hydrateOnDiscovery:!0,discoveryIntervalMs:s?Xt:5e3,recentLimit:U,discoveryLimit:s?Zt:void 0,pauseWhenHidden:!0}),_=t?.discovery??$.discovery,B=t?.tailEvents??$.events,P=t?.loadState??$.loadState,q=t?.retryInitialLoad??$.retryInitialLoad,Ee=t?.terminalSessions??M,Ln={view:"ops",mode:"lanes"},Y=ln(k),je=s?Jt:1e4,Ce=s?Qt:1e4;o.useEffect(()=>{const a=setInterval(()=>{Qe()||j(Date.now())},je);return()=>clearInterval(a)},[je]),o.useEffect(()=>{if(t)return;let a=!1;const g=async()=>{if(!Qe())try{const be=await zn({includeDiscovered:!1});a||J(be)}catch{a||J([])}};g();const w=setInterval(()=>{g()},Ce),C=we(()=>{g()});return()=>{a=!0,clearInterval(w),C()}},[t,Ce]),o.useEffect(()=>{try{sessionStorage.setItem(un,N)}catch{}},[N]),o.useEffect(()=>{try{sessionStorage.setItem(fn,b)}catch{}},[b]),o.useEffect(()=>{try{sessionStorage.setItem(mn,I)}catch{}},[I]);const yn=o.useRef(gt()),Re=o.useRef(""),[te,Ae]=o.useState(()=>new Set),[me,Ie]=o.useState(null),vn=o.useMemo(()=>l.filter(a=>pt(a,L,k)),[l,L,k]),bn=Dn(vn,{enabled:!t,activeIntervalMs:s?es:void 0,idleIntervalMs:s?ns:void 0,pauseWhenHidden:!0}),Te=t?.observeCache??bn,Sn=P.discovery==="loading"||P.recent==="loading",_e=P.discovery==="error"||P.recent==="error",De=_?.totals.transcripts??_?.transcripts?.length??0,se=nt(Sn,_e?0:at);o.useEffect(()=>{if(te.size===0)return;const a=setTimeout(()=>Ae(new Set),900);return()=>clearTimeout(a)},[te]);const{lanes:ae,issues:D,freshLaneIds:he}=o.useMemo(()=>{const a=Lt({transcripts:_?.transcripts??[],tailEvents:B,processes:_?.processes??[],scoutAgents:l,terminalSessions:Ee,observeCache:Te,now:L,workingOnly:!0,horizon:k}),g=yt(a.lanes,yn.current),w=[...vt(_),...a.issues];return{lanes:g.lanes,issues:w,freshLaneIds:g.newLaneIds}},[_,B,l,Ee,Te,L,k]);o.useEffect(()=>{const a=D.map(g=>`${g.id}\0${g.message}`).join(`
2
2
  `);a!==Re.current&&(Re.current=a,D.length!==0&&console.warn(`[agent-lanes] ${D.length} roster issue${D.length===1?"":"s"}`,D))},[D]),o.useEffect(()=>{he.length!==0&&Ae(a=>{const g=new Set(a);for(const w of he)g.add(w);return g})},[he.join("\0")]);const ze=o.useMemo(()=>ae.find(a=>a.id===me)??null,[me,ae]),Z=o.useMemo(()=>ae.filter(a=>Ls(a,{harnessFilter:f,projectFilter:y})),[ae,f,y]),kn=o.useCallback(a=>ys(a,{harnessFilter:f,projectFilter:y}),[f,y]),{deck:A,layout:x,pinLane:Me,unpinLane:Pe,setLaneWidth:ge,addHarnessLane:X,addAttentionLane:Oe,clearPins:xn,isPinned:$e}=Ht(v,m,Z),{beginResize:We,resizingLaneId:Fe}=Bt(ge),pe=o.useMemo(()=>vs({harnessFilter:f,projectFilter:y}),[f,y]),W=x.flat,Le=x.pinnedLeft.length+x.pinnedRight.length,wn=o.useMemo(()=>[x.pinnedLeft,x.main,x.pinnedRight].map(a=>a.map(g=>`${g.key}:${g.widthPx}`).join(",")).join("/"),[x.main,x.pinnedLeft,x.pinnedRight]),{handleLaneScroll:G,setLaneScrollNode:V}=ds(v,wn),Nn=o.useCallback(a=>{V("pinned-left",a)},[V]),En=o.useCallback(a=>{V("main",a)},[V]),jn=o.useCallback(a=>{V("pinned-right",a)},[V]),Cn=o.useCallback(a=>{G("pinned-left",a)},[G]),Rn=o.useCallback(a=>{G("main",a)},[G]),An=o.useCallback(a=>{G("pinned-right",a)},[G]);o.useEffect(()=>{if(h)return;const a=W.map(g=>{const{lane:w}=g;return{id:w.id,label:K(w.agent,w.source),statusLabel:cn(w.agent,w.source),tone:Mn(w.agent.state,w.agent),agentId:lt(w.agent)?void 0:w.agent.id,updatedAt:w.lastActiveAt>0?w.lastActiveAt:void 0}});Ye(a)},[W,h]),o.useEffect(()=>()=>Ye(null),[]);const[He,ye]=o.useState(null),ve=o.useCallback(a=>{Ie(a.id)},[]),Be=o.useCallback((a,g)=>{ye({lane:a,event:g})},[]),In=o.useCallback(a=>{const g=a.observe?.events.at(-1);g&&ye({lane:a,event:g})},[]),{getLaneFocusProps:Ge}=Dt({lanes:W.map(a=>a.lane),inspectedLaneId:me,onInspect:ve,onHorizonChange:p}),[re,O]=o.useState(!1),Ve=o.useRef(null);o.useEffect(()=>{if(!re)return;const a=g=>{Ve.current?.contains(g.target)||O(!1)};return window.addEventListener("pointerdown",a),()=>window.removeEventListener("pointerdown",a)},[re]);const oe=o.useCallback((a,g,w=!1)=>{const{lane:C}=a,be=K(C.agent,C.source),Tn=A.laneWidths[C.id]??sn(a.widthPx).tier??a.widthPx;return r.jsx(hs,{lane:C,widthPx:a.widthPx,laneTitle:be,pinned:a.isPinned,laneWidth:Tn,defaultWidth:A.defaultLaneWidth,isNew:te.has(C.id),nowMs:L,traceWindowMs:H,traceWindowLabel:Y,summaryHeight:R,onSummaryResizeStart:ne,onSummaryResizeReset:ee,summaryResizing:F,onInspect:ve,onTraceEventSelect:Be,onTogglePin:()=>{$e(C.id)?Pe(C.id):Me(C)},onWidthChange:Se=>ge(C.id,Se),onWidthResizeStart:Se=>We(C.id,Se,a.widthPx),widthResizing:Fe===C.id,focusProps:Ge(g,C.id),operatorName:c,grid:w},a.key)},[We,A.defaultLaneWidth,A.laneWidths,Ge,ne,Y,ve,Be,$e,c,te,L,Me,ee,Fe,ge,R,F,H,Pe]);return r.jsxs("div",{className:`s-agent-lanes${s?" s-agent-lanes--embedded s-agent-lanes--low-motion":""}`,"data-lane-profile":v,"data-lane-layout":h?"floor":b,"data-lanes-deck-version":"1",children:[r.jsxs("div",{className:"s-agent-lanes-bar",children:[r.jsxs("div",{className:"s-agent-lanes-bar-leading",children:[r.jsx("div",{className:"s-agent-lanes-title",children:"Agent Lanes"}),r.jsxs("div",{className:"s-agent-lanes-meta","aria-label":"Lane deck status",children:[r.jsxs("span",{className:"s-agent-lanes-meta-stat",children:[h?Z.length:W.length," live"]}),!h&&Le>0?r.jsxs("span",{className:"s-agent-lanes-meta-stat",children:[Le," pinned"]}):null,r.jsx("span",{className:"s-agent-lanes-meta-stat",children:h?"past 30m · lanes 4h":`trace ${Y}`}),pe?r.jsx("span",{className:"s-agent-lanes-meta-filter",children:pe}):null,r.jsxs("span",{className:"s-agent-lanes-meta-detail",children:["deck v1 · ",v]})]})]}),r.jsxs("div",{className:"s-agent-lanes-bar-controls",children:[r.jsx("div",{className:"s-agent-lanes-layouts",role:"group","aria-label":"Lane layout",children:Ut(s).map(a=>r.jsx("button",{type:"button",className:`s-agent-lanes-horizon${b===a.key?" s-agent-lanes-horizon--on":""}`,"aria-pressed":b===a.key,onClick:()=>z(a.key),children:a.label},a.key))}),E?r.jsx("div",{className:"s-agent-lanes-grid-density",role:"group","aria-label":"Grid columns",children:Gt.map(a=>r.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:()=>S(a.key),children:a.label},a.key))}):null,r.jsxs("div",{className:"s-agent-lanes-deck-menu",ref:Ve,hidden:h,children:[r.jsx("button",{type:"button",className:"s-agent-lanes-deck-btn","aria-expanded":re,onClick:()=>O(a=>!a),children:"+ Lane"}),re?r.jsxs("div",{className:"s-agent-lanes-deck-popover",role:"menu",children:[r.jsx("button",{type:"button",role:"menuitem",className:"s-agent-lanes-deck-item",onClick:()=>{Oe(),O(!1)},disabled:Ft(A),children:"Needs attention"}),r.jsx("button",{type:"button",role:"menuitem",className:"s-agent-lanes-deck-item",onClick:()=>{X("codex","Codex sessions"),O(!1)},disabled:ie(A,"codex"),children:"Codex sessions"}),r.jsx("button",{type:"button",role:"menuitem",className:"s-agent-lanes-deck-item",onClick:()=>{X("claude","Claude sessions"),O(!1)},disabled:ie(A,"claude"),children:"Claude sessions"}),r.jsx("button",{type:"button",role:"menuitem",className:"s-agent-lanes-deck-item",onClick:()=>{X("grok","Grok sessions"),O(!1)},disabled:ie(A,"grok"),children:"Grok sessions"}),r.jsx("button",{type:"button",role:"menuitem",className:"s-agent-lanes-deck-item",onClick:()=>{X("kimi","Kimi sessions"),O(!1)},disabled:ie(A,"kimi"),children:"Kimi sessions"}),r.jsx("button",{type:"button",role:"menuitem",className:"s-agent-lanes-deck-item s-agent-lanes-deck-item--danger",onClick:()=>{xn(),O(!1)},disabled:Le===0,children:"Clear pinned lanes"})]}):null]}),h?null:r.jsx("div",{className:"s-agent-lanes-horizons",role:"group","aria-label":"Activity window",children:de.map((a,g)=>r.jsx("button",{type:"button",className:`s-agent-lanes-horizon${N===a.key?" s-agent-lanes-horizon--on":""}`,"aria-pressed":N===a.key,title:`${a.label} window (${g+1})`,onClick:()=>p(a.key),children:a.label},a.key))})]})]}),t==null&&D.length>0?r.jsxs("div",{className:"s-agent-lanes-issues",role:"status","aria-live":"polite",children:[r.jsxs("div",{className:"s-agent-lanes-issues-head",children:[r.jsx("span",{className:"s-agent-lanes-issues-badge",children:"Roster issues"}),r.jsxs("span",{className:"s-agent-lanes-issues-meta",children:[D.length," fleet/transcript warning",D.length===1?"":"s"," — lanes follow tail, not agent registry"]})]}),r.jsx("ul",{className:"s-agent-lanes-issues-list",children:D.map(a=>r.jsx(us,{issue:a},a.id))})]}):null,(h?Z.length:W.length)===0?se.visible?r.jsx(tt,{discovery:_,discoveryPhase:P.discovery,windowMs:H,nowMs:L,layout:h?"none":E?"grid":"scroll",gridColumns:I,laneWidthPx:tn(A.defaultLaneWidth,A.defaultLaneWidth),matchTranscript:kn}):_e?r.jsx(fs,{loadState:P,onRetry:()=>{q()}}):r.jsx(ms,{activeFilterLabel:pe,horizon:N,horizonLabel:Y,showAutoLanes:A.showAutoLanes,onHorizonChange:p,onAddAttentionLane:Oe,onAddCodexLane:()=>X("codex","Codex sessions"),sourceCount:De,eventCount:B.length}):h?r.jsx(et,{lanes:Z,now:L,onOpenTrace:In,railLedger:!0,operatorName:c}):E?r.jsx("div",{className:"s-agent-lanes-grid","data-grid-columns":I,role:"listbox","aria-label":"Agent lane grid",children:W.map((a,g)=>oe(a,g,!0))}):r.jsxs("div",{className:"s-agent-lanes-body",children:[x.pinnedLeft.length>0?r.jsxs("section",{className:"s-agent-lanes-zone s-agent-lanes-zone--pinned-left","aria-label":"Pinned lanes",children:[r.jsx("div",{className:"s-agent-lanes-zone-label",children:"Pinned"}),r.jsx("div",{ref:Nn,className:"s-agent-lanes-scroll",role:"listbox","aria-label":"Pinned agent lanes",onScroll:Cn,children:x.pinnedLeft.map((a,g)=>oe(a,g))})]}):null,x.main.length>0?r.jsxs("section",{className:"s-agent-lanes-zone s-agent-lanes-zone--main","aria-label":"Active lanes",children:[x.pinnedLeft.length>0?r.jsx("div",{className:"s-agent-lanes-zone-label",children:"Live"}):null,r.jsx("div",{ref:En,className:"s-agent-lanes-scroll",role:"listbox","aria-label":"Active agent lanes",onScroll:Rn,children:x.main.map((a,g)=>oe(a,x.pinnedLeft.length+g))})]}):null,x.pinnedRight.length>0?r.jsxs("section",{className:"s-agent-lanes-zone s-agent-lanes-zone--pinned-right","aria-label":"Pinned right lanes",children:[r.jsx("div",{className:"s-agent-lanes-zone-label",children:"Pinned"}),r.jsx("div",{ref:jn,className:"s-agent-lanes-scroll",role:"listbox","aria-label":"Pinned right agent lanes",onScroll:An,children:x.pinnedRight.map((a,g)=>oe(a,x.pinnedLeft.length+x.main.length+g))})]}):null]}),se.visible?r.jsx(st,{loadState:P,sourceCount:De,processCount:_?.processes.length??0,eventCount:B.length,laneCount:h?Z.length:W.length,horizonLabel:Y,handedOff:se.exiting,exiting:se.exiting}):null,ze&&r.jsx(ct,{lane:ze,navigate:e,returnRoute:Ln,navigationEnabled:t==null,onClose:()=>Ie(null)}),He&&r.jsx(dt,{target:He,onClose:()=>ye(null)})]})}function ue(e){const n=e?.trim().toLowerCase();return n||null}function xe(e){return e.trim().toLowerCase().replace(/['"]/gu,"").replace(/[^a-z0-9]+/gu,"-").replace(/^-+|-+$/gu,"")}function ps(e){return e.trim().replace(/\/+$/u,"").split(/[\\/]/u).filter(Boolean).pop()?.trim()||null}function fe(e,n){if(!n)return!0;const t=xe(n);return e.some(s=>{const i=s?.trim();if(!i)return!1;const d=i.toLowerCase(),f=ps(i);return d===n||xe(i)===t||!!(f&&(f.toLowerCase()===n||xe(f)===t))})}function Ls(e,n){const t=ue(n.harnessFilter),s=ue(n.projectFilter),{agent:i,facts:d,source:f}=e;return fe([i.harness,i.definitionId,d?.attribution,f],t)&&fe([i.project,i.projectRoot,i.cwd,d?.cwd,K(i,f)],s)}function ys(e,n){return fe([e.harness,e.source],ue(n.harnessFilter))&&fe([e.project,e.cwd],ue(n.projectFilter))}function vs(e){return[e.harnessFilter?.trim()?`harness ${e.harnessFilter.trim()}`:"",e.projectFilter?.trim()?`project ${e.projectFilter.trim()}`:""].filter(Boolean).join(" · ")}const bs=On({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:an(),laneSize:rn(),harnessFilter:e.get("harness")?.trim()||null,projectFilter:e.get("project")?.trim()||null})}}),Vs=Object.freeze(Object.defineProperty({__proto__:null,AgentLanesView:gs,scoutSurface:bs},Symbol.toStringTag,{value:"Module"}));export{gs as A,Vs as a,Wt as r,_t as u};
@@ -1 +1 @@
1
- import{r as i,j as t}from"./index-BZovGpDk.js";import{n as W,e as q,f as D}from"./colors-BtO5_zlx.js";import{a as G}from"./api-h5zurxmi.js";import{q as M}from"./terminal-takeover--05EYhJm.js";import{t as S}from"./time-Dhsh_2EG.js";import{u as U}from"./Provider-p-xuaAoE.js";import{o as N}from"./openContent-C6XO6kr5.js";import{E as F}from"./eye-DkU59kfl.js";import{T as H}from"./terminal-xGf_F3y7.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,u=e.terminalSurface??(e.transport==="tmux"&&e.harnessSessionId?{backend:"tmux",sessionName:e.harnessSessionId,paneId:null,socketDir:null}:null),o=a?.activeSessionId??(u?e.harnessSessionId??u.sessionName:null),T=i.useMemo(()=>a?.sessions.find(s=>s.id===o)??null,[o,a?.sessions]);W(e.state);const n=!!(u&&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",d=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){d("takeover");return}const s=a?.resumeCommand;s&&(b(!0),M({command:s,cwd:a?.resumeCwd,agentId:e.id}).then(()=>d("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?d("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-DmFAhGPj.js";import{n as W,e as q,f as D}from"./colors-BtO5_zlx.js";import{a as G}from"./api-h5zurxmi.js";import{q as M}from"./terminal-takeover-BOFPRPjR.js";import{t as S}from"./time-Dhsh_2EG.js";import{u as U}from"./Provider-cJCdHAxu.js";import{o as N}from"./openContent-C6XO6kr5.js";import{E as F}from"./eye-1J4yOUoG.js";import{T as H}from"./terminal-DJPUp_Qn.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,u=e.terminalSurface??(e.transport==="tmux"&&e.harnessSessionId?{backend:"tmux",sessionName:e.harnessSessionId,paneId:null,socketDir:null}:null),o=a?.activeSessionId??(u?e.harnessSessionId??u.sessionName:null),T=i.useMemo(()=>a?.sessions.find(s=>s.id===o)??null,[o,a?.sessions]);W(e.state);const n=!!(u&&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",d=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){d("takeover");return}const s=a?.resumeCommand;s&&(b(!0),M({command:s,cwd:a?.resumeCwd,agentId:e.id}).then(()=>d("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?d("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,4 +1,4 @@
1
- import{j as s,r as p}from"./index-BZovGpDk.js";import{u as K}from"./Provider-p-xuaAoE.js";import{o as E}from"./openContent-C6XO6kr5.js";import{a as H}from"./api-h5zurxmi.js";import{c as P}from"./clipboard-e3fSpeo7.js";import{t as D}from"./time-Dhsh_2EG.js";import"./router-63XV_E7f.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-AmSgHklm.js";import"./sse-Bb0EOcU9.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-DnFcmfMR.js";import"./DocumentFocusViewer-CZVVIAD5.js";import"./createLucideIcon-DCq_3fQn.js";import"./TextDocumentSurface-BcP9vvji.js";/* empty css */import"./file-text-BITQqGtF.js";import"./x-CrGUKNRv.js";import"./chevron-right-CaEwYkxE.js";import"./code-xml-Dbvjk9Kw.js";import"./arrow-left-CXDkJuCg.js";import"./scout-voice-D8Q5sZOL.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-CHo_xmjw.js";import"./MessageComposerSuggestions-qbalTne_.js";import"./NewChatComposer-DKlNX1UA.js";import"./runtime-picker-BXKJbLot.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-B-l2Wj3-.js";import"./index-DiiEQwdc.js";import"./HarnessMark-DrE57dUq.js";import"./conversation-model-CHwHZNw-.js";import"./NewChatOrigin-DXPvX-hh.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-BVg09D6U.js";import"./search-1QMVOxF3.js";import"./chunk-HRAB3GC3-HhKwnZCi.js";const q=30*6e4,z=/^(?:hey|hi|hello)\b[^,]{0,24},\s*|^(?:can|could|would|will)\s+(?:you|we|i)\s+(?:please\s+)?|^please\s+|^let'?s\s+/i,L={created:"+",modified:"~",read:"·"};function J(e){const a=(e.preview??"").replace(/^\[ask:[^\]]+\]\s*/i,"").replace(/\s+/g," ").replace(z,"").trim();if(a)return a.length>150?`${a.slice(0,150).replace(/\s+\S*$/,"")}…`:a;const t=e.title?.trim();return t&&t!==e.agentName?t:"Untitled session"}function R(e){if(!e)return"—";const a=e.replace(/\.jsonl$/,"").replace(/^c\./,"").replace(/^session[_:-]?/i,"");return a.length<=10?a:`${a.slice(0,8)}…${a.slice(-3)}`}function Q(e){return e.replace(/^\/(?:Users|home)\/[^/]+\/(?:dev\/|projects\/|src\/|code\/)?/,"")}function u(e){return!e||e<=0?"0":e<1e3?`${e}`:`${(e/1e3).toFixed(e<1e4?1:0).replace(/\.0$/,"")}k`}function X(e){const a=new Map;for(const t of e){if(t.kind!=="tool")continue;const l=(t.tool??"tool").toLowerCase();a.set(l,(a.get(l)??0)+1)}return[...a.entries()].map(([t,l])=>({name:t,n:l})).sort((t,l)=>l.n-t.n).slice(0,8)}function F(){const[e,a]=p.useState(!1),t=p.useRef(null),l=p.useCallback(o=>{P(o).then(r=>{r&&(a(!0),t.current&&window.clearTimeout(t.current),t.current=window.setTimeout(()=>a(!1),1200))})},[]);return p.useEffect(()=>()=>{t.current&&window.clearTimeout(t.current)},[]),[e,l]}function B({copied:e}){return s.jsx("svg",{className:"ap-sx-copyIco",width:"11",height:"11",viewBox:"0 0 12 12",fill:"none","aria-hidden":!0,children:e?s.jsx("path",{d:"M2.6 6.3 5 8.6 9.5 3.5",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"}):s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"3.6",y:"3.6",width:"6",height:"6",rx:"1.3",stroke:"currentColor",strokeWidth:"1.05"}),s.jsx("path",{d:"M7.8 3.6V2.5A1.1 1.1 0 0 0 6.7 1.4H2.5A1.1 1.1 0 0 0 1.4 2.5v4.2A1.1 1.1 0 0 0 2.5 7.8h1.1",stroke:"currentColor",strokeWidth:"1.05",strokeLinecap:"round",strokeLinejoin:"round"})]})})}function Y({value:e,display:a,title:t,className:l}){const[o,r]=F();return s.jsxs("button",{type:"button",className:l?`ap-sx-copy ${l}`:"ap-sx-copy","data-copied":o||void 0,title:o?"Copied":t??e,"aria-label":`Copy ${e}`,onClick:c=>{c.stopPropagation(),r(e)},children:[s.jsx("span",{className:"ap-sx-copyText",children:a}),s.jsx(B,{copied:o})]})}function Z({session:e,agentId:a,status:t}){const{route:l,navigate:o}=K(),[r,c]=p.useState(null),[v,d]=p.useState("loading"),h=e.harnessSessionId??e.id;p.useEffect(()=>{if(!a){d("loaded");return}let n=!1;return d("loading"),c(null),H(`/api/agents/${encodeURIComponent(a)}/observe`).then(i=>{n||(c(i),d("loaded"))}).catch(()=>{n||d("loaded")}),()=>{n=!0}},[a]);const m=r?.data??null,b=m?.metadata,x=b?.usage,g=b?.session,f=m?.files??[],k=p.useMemo(()=>X(m?.events??[]),[m?.events]),[T,O]=F(),M=g?.gitBranch?.trim()||e.currentBranch?.trim()||"—",S=g?.model?.trim()||"—",y=g?.turnCount??x?.assistantMessages??e.messageCount??null,w=g?.sessionStart??e.lastMessageAt??null,A=x?.contextInputTokens??0,C=x?.contextWindowTokens??0,j=C>0?Math.min(100,Math.round(A/C*100)):null,I=(x?.cacheReadInputTokens??0)+(x?.cacheCreationInputTokens??0),W=()=>E(o,{view:"sessions",sessionId:e.id},{returnTo:l}),U=()=>E(o,{view:"terminal",agentId:a,mode:"takeover"},{returnTo:l}),V=[["branch",M],["model",S],["started",w?D(w):"—"],["turns",y!=null?`${y}`:"—"]],_=()=>{const i=[["session",h],["agent",a||"—"],["branch",M],["model",S],["cwd",g?.cwd?.trim()||"—"],["started",w?new Date(w).toISOString():"—"],["turns",y!=null?`${y}`:"—"],["context",j!=null?`${u(A)} / ${u(C)} (${j}%)`:"—"]].map(([N,G])=>`${`${N}:`.padEnd(9)}${G}`).join(`
1
+ import{j as s,r as p}from"./index-DmFAhGPj.js";import{u as K}from"./Provider-cJCdHAxu.js";import{o as E}from"./openContent-C6XO6kr5.js";import{a as H}from"./api-h5zurxmi.js";import{c as P}from"./clipboard-e3fSpeo7.js";import{t as D}from"./time-Dhsh_2EG.js";import"./router-Cn_s9IGH.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-AmSgHklm.js";import"./sse-CxXt4tqI.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-CHIuVKz7.js";import"./DocumentFocusViewer-B9vodVmG.js";import"./createLucideIcon-CFBn0Sdk.js";import"./TextDocumentSurface-BWJCGBZf.js";/* empty css */import"./file-text-DcYSrI4v.js";import"./x-C8ayPBtj.js";import"./chevron-right-BYMV1511.js";import"./code-xml-BFc3TMSm.js";import"./arrow-left-B-3GJ7ct.js";import"./scout-voice-CwbOz6EN.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-h1IdakpD.js";import"./MessageComposerSuggestions-FdVHnT_q.js";import"./NewChatComposer-Hd7pI5Ac.js";import"./runtime-picker--IW3cRry.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-d6PKL_KD.js";import"./index-CmwGCxUk.js";import"./HarnessMark-BPAphNjx.js";import"./conversation-model-CHwHZNw-.js";import"./NewChatOrigin-DmuJ32wa.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-B3VVRJcV.js";import"./search-DAyagUtF.js";import"./chunk-HRAB3GC3-dRd2eQMJ.js";const q=30*6e4,z=/^(?:hey|hi|hello)\b[^,]{0,24},\s*|^(?:can|could|would|will)\s+(?:you|we|i)\s+(?:please\s+)?|^please\s+|^let'?s\s+/i,L={created:"+",modified:"~",read:"·"};function J(e){const a=(e.preview??"").replace(/^\[ask:[^\]]+\]\s*/i,"").replace(/\s+/g," ").replace(z,"").trim();if(a)return a.length>150?`${a.slice(0,150).replace(/\s+\S*$/,"")}…`:a;const t=e.title?.trim();return t&&t!==e.agentName?t:"Untitled session"}function R(e){if(!e)return"—";const a=e.replace(/\.jsonl$/,"").replace(/^c\./,"").replace(/^session[_:-]?/i,"");return a.length<=10?a:`${a.slice(0,8)}…${a.slice(-3)}`}function Q(e){return e.replace(/^\/(?:Users|home)\/[^/]+\/(?:dev\/|projects\/|src\/|code\/)?/,"")}function u(e){return!e||e<=0?"0":e<1e3?`${e}`:`${(e/1e3).toFixed(e<1e4?1:0).replace(/\.0$/,"")}k`}function X(e){const a=new Map;for(const t of e){if(t.kind!=="tool")continue;const l=(t.tool??"tool").toLowerCase();a.set(l,(a.get(l)??0)+1)}return[...a.entries()].map(([t,l])=>({name:t,n:l})).sort((t,l)=>l.n-t.n).slice(0,8)}function F(){const[e,a]=p.useState(!1),t=p.useRef(null),l=p.useCallback(o=>{P(o).then(r=>{r&&(a(!0),t.current&&window.clearTimeout(t.current),t.current=window.setTimeout(()=>a(!1),1200))})},[]);return p.useEffect(()=>()=>{t.current&&window.clearTimeout(t.current)},[]),[e,l]}function B({copied:e}){return s.jsx("svg",{className:"ap-sx-copyIco",width:"11",height:"11",viewBox:"0 0 12 12",fill:"none","aria-hidden":!0,children:e?s.jsx("path",{d:"M2.6 6.3 5 8.6 9.5 3.5",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"}):s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"3.6",y:"3.6",width:"6",height:"6",rx:"1.3",stroke:"currentColor",strokeWidth:"1.05"}),s.jsx("path",{d:"M7.8 3.6V2.5A1.1 1.1 0 0 0 6.7 1.4H2.5A1.1 1.1 0 0 0 1.4 2.5v4.2A1.1 1.1 0 0 0 2.5 7.8h1.1",stroke:"currentColor",strokeWidth:"1.05",strokeLinecap:"round",strokeLinejoin:"round"})]})})}function Y({value:e,display:a,title:t,className:l}){const[o,r]=F();return s.jsxs("button",{type:"button",className:l?`ap-sx-copy ${l}`:"ap-sx-copy","data-copied":o||void 0,title:o?"Copied":t??e,"aria-label":`Copy ${e}`,onClick:c=>{c.stopPropagation(),r(e)},children:[s.jsx("span",{className:"ap-sx-copyText",children:a}),s.jsx(B,{copied:o})]})}function Z({session:e,agentId:a,status:t}){const{route:l,navigate:o}=K(),[r,c]=p.useState(null),[v,d]=p.useState("loading"),h=e.harnessSessionId??e.id;p.useEffect(()=>{if(!a){d("loaded");return}let n=!1;return d("loading"),c(null),H(`/api/agents/${encodeURIComponent(a)}/observe`).then(i=>{n||(c(i),d("loaded"))}).catch(()=>{n||d("loaded")}),()=>{n=!0}},[a]);const m=r?.data??null,b=m?.metadata,x=b?.usage,g=b?.session,f=m?.files??[],k=p.useMemo(()=>X(m?.events??[]),[m?.events]),[T,O]=F(),M=g?.gitBranch?.trim()||e.currentBranch?.trim()||"—",S=g?.model?.trim()||"—",y=g?.turnCount??x?.assistantMessages??e.messageCount??null,w=g?.sessionStart??e.lastMessageAt??null,A=x?.contextInputTokens??0,C=x?.contextWindowTokens??0,j=C>0?Math.min(100,Math.round(A/C*100)):null,I=(x?.cacheReadInputTokens??0)+(x?.cacheCreationInputTokens??0),W=()=>E(o,{view:"sessions",sessionId:e.id},{returnTo:l}),U=()=>E(o,{view:"terminal",agentId:a,mode:"takeover"},{returnTo:l}),V=[["branch",M],["model",S],["started",w?D(w):"—"],["turns",y!=null?`${y}`:"—"]],_=()=>{const i=[["session",h],["agent",a||"—"],["branch",M],["model",S],["cwd",g?.cwd?.trim()||"—"],["started",w?new Date(w).toISOString():"—"],["turns",y!=null?`${y}`:"—"],["context",j!=null?`${u(A)} / ${u(C)} (${j}%)`:"—"]].map(([N,G])=>`${`${N}:`.padEnd(9)}${G}`).join(`
2
2
  `),$=f.length?`
3
3
 
4
4
  files touched:
@@ -1 +1 @@
1
- import{r as h,j as s}from"./index-BZovGpDk.js";import{A as B}from"./AgentAvatar-CneOa70z.js";import{H as S,h as w}from"./HarnessMark-DrE57dUq.js";import{c as P}from"./colors-BtO5_zlx.js";import{f as R}from"./text-DsBWV_4k.js";import{t as C}from"./time-Dhsh_2EG.js";import"./SpriteAvatar-CEYdCzem.js";import"./agent-identity-BxCsXnDp.js";function K(n){return n.needsYou?"needs":n.status==="in_turn"||n.status==="in_flight"?"live":"idle"}const H=[{id:"prompt",label:"System prompt",sigil:"◆"},{id:"config",label:"Config",sigil:"▤"},{id:"conversations",label:"Conversations",sigil:"◇"},{id:"context",label:"Context",sigil:"▸"}],q={prompt:"System prompt",config:"Config",conversations:"Conversations",context:"Context"};function U(n){return n?n.replace(/^\/Users\/[^/]+/,"~").replace(/^\/home\/[^/]+/,"~"):""}const k=(n,e)=>`${n} ${e}${n===1?"":"s"}`;function ds({projects:n,initialSelection:e,onEdit:a,onInterrupt:t,onResetContext:i,onOpenConversation:m,onNewAgent:d}){const o=h.useMemo(()=>n.flatMap(l=>l.agents.map(c=>[l,c])),[n]),p=o[0]?.[1],[u,A]=h.useState(e?.agentId??p?.agent.id??null),[F,E]=h.useState(e?.facet??"prompt"),[I,y]=h.useState(()=>new Set(u?[u]:[])),[M,V]=h.useState(""),g=M.trim().toLowerCase(),D=h.useMemo(()=>g?n.map(l=>({...l,agents:l.agents.filter(c=>c.agent.name.toLowerCase().includes(g)||(c.agent.harness??"").toLowerCase().includes(g)||l.slug.toLowerCase().includes(g))})).filter(l=>l.agents.length>0):n,[n,g]),v=h.useMemo(()=>{for(const[l,c]of o)if(c.agent.id===u)return{project:l,entry:c};return null},[o,u]),T=n.reduce((l,c)=>l+c.agents.length,0),_=T*H.length,z=(l,c)=>{A(l),c&&E(c),y(r=>new Set(r).add(l))},$=l=>{y(c=>{const r=new Set(c);return r.has(l)?r.delete(l):r.add(l),r}),A(l)};return s.jsxs("div",{className:"s-acon",children:[s.jsxs("div",{className:"ac-shell",children:[s.jsxs("aside",{className:"ac-tree",children:[s.jsxs("div",{className:"ac-treeHead",children:[s.jsx("span",{className:"ac-treeIco","aria-hidden":!0,children:"⌕"}),s.jsx("input",{className:"ac-treeFind",placeholder:"Filter agents…",value:M,onChange:l=>V(l.target.value)})]}),s.jsxs("div",{className:"ac-treeScroll",children:[D.map(l=>s.jsxs("div",{className:"ac-treeGroup",children:[s.jsxs("div",{className:"ac-treeProject",children:[s.jsx("span",{className:"ac-sigil",children:"/"}),l.slug,s.jsx("span",{className:"ac-treeProjectCount",children:l.agents.length})]}),l.agents.map(c=>{const r=I.has(c.agent.id),f=K(c),G=c.agent.id===u;return s.jsxs("div",{className:"ac-agentBlock",children:[s.jsxs("button",{type:"button",className:"ac-agent","data-open":r||void 0,onClick:()=>$(c.agent.id),children:[s.jsx("span",{className:"ac-agentChev","data-open":r||void 0,"aria-hidden":!0,children:"▸"}),s.jsx("span",{className:"ac-agentAvatar","aria-hidden":!0,children:s.jsx(B,{agent:{name:c.agent.name,harness:c.agent.harness,state:c.agent.state},placement:"node",size:16})}),s.jsx("span",{className:"ac-agentName","data-idle":f==="idle"||void 0,children:c.agent.name}),f==="needs"?s.jsx("span",{className:"ac-needs",children:"needs you"}):null,s.jsxs("span",{className:"ac-agentTail",children:[f!=="idle"?s.jsx("span",{className:"ac-dot","data-tone":f,"aria-hidden":!0}):null,c.agent.harness?s.jsx("span",{className:"ac-agentMark","aria-hidden":!0,children:s.jsx(S,{harness:c.agent.harness,size:11})}):null]})]}),r?s.jsx("div",{className:"ac-facets",children:H.map(j=>{const L=j.id==="conversations"?c.sessions.length:void 0,W=G&&F===j.id;return s.jsxs("button",{type:"button",className:"ac-facet","data-active":W||void 0,onClick:()=>z(c.agent.id,j.id),children:[s.jsx("span",{className:"ac-facetSigil","aria-hidden":!0,children:j.sigil}),s.jsx("span",{className:"ac-facetLabel",children:j.label}),L!=null?s.jsx("span",{className:"ac-facetCount",children:L}):null]},j.id)})}):null]},c.agent.id)})]},l.key)),d?s.jsx("button",{type:"button",className:"ac-newAgent",onClick:d,children:"+ new agent"}):null]})]}),s.jsx("main",{className:"ac-read",children:v?s.jsx(Y,{project:v.project,entry:v.entry,facet:F,onEdit:a,onInterrupt:t,onResetContext:i,onOpenConversation:m}):s.jsx("div",{className:"ac-empty",children:"No agents."})}),s.jsx("aside",{className:"ac-rail",children:v?s.jsx(ss,{entry:v.entry,onOpenConversation:m}):null})]}),s.jsxs("div",{className:"ac-foot",children:[s.jsx("span",{className:"ac-footStat",children:k(n.length,"project")}),s.jsx("span",{className:"ac-footSep",children:"·"}),s.jsx("span",{className:"ac-footStat",children:k(T,"agent")}),s.jsx("span",{className:"ac-footSep",children:"·"}),s.jsx("span",{className:"ac-footStat",children:k(_,"facet")})]})]})}function Y({project:n,entry:e,facet:a,onEdit:t,onInterrupt:i,onResetContext:m,onOpenConversation:d}){const{agent:o,config:p}=e,u=e.status==="in_turn"||e.status==="in_flight";return s.jsxs(s.Fragment,{children:[s.jsxs("header",{className:"ac-readHead",children:[s.jsxs("div",{className:"ac-crumb",children:[s.jsx("span",{className:"ac-crumbDim",children:n.slug}),s.jsx("span",{className:"ac-crumbSep",children:"/"}),s.jsxs("span",{className:"ac-crumbAgent",children:["@",o.name]}),s.jsx("span",{className:"ac-crumbSep",children:"/"}),s.jsx("span",{className:"ac-crumbFacet",children:q[a]})]}),s.jsxs("div",{className:"ac-readActions",children:[(a==="prompt"||a==="config")&&t&&p.editable?s.jsx("button",{type:"button",className:"ac-actPrimary",onClick:()=>t(o.id),children:"Edit"}):null,u&&i?s.jsx("button",{type:"button",className:"ac-act",onClick:()=>i(o.id),children:"Interrupt"}):null,a==="context"&&m?s.jsx("button",{type:"button",className:"ac-act",onClick:()=>m(o.id),children:"Reset"}):null,d?s.jsx("button",{type:"button",className:"ac-act",onClick:()=>d(o.id),children:"Open ↗"}):null]})]}),s.jsxs("div",{className:"ac-metaStrip",children:[s.jsx(b,{k:"Type",v:Q(a)}),p.model?s.jsx(b,{k:"Model",v:p.model,mono:!0}):null,s.jsx(b,{k:"Editable",v:p.editable?"yes":"read-only"}),e.lastActivityAt?s.jsx(b,{k:"Active",v:C(e.lastActivityAt)}):null]}),s.jsxs("div",{className:"ac-readBody",children:[a==="prompt"?s.jsx(J,{entry:e}):null,a==="config"?s.jsx(X,{entry:e}):null,a==="conversations"?s.jsx(Z,{entry:e,onOpenConversation:d}):null,a==="context"?s.jsx(O,{entry:e}):null]})]})}function Q(n){switch(n){case"prompt":return"Markdown · system prompt";case"config":return"Runtime config";case"conversations":return"Conversation list";case"context":return"Live context window"}}function J({entry:n}){const{agent:e,config:a}=n,t=a.systemPrompt.trim()||a.templateHint||"default template",i=!a.systemPrompt.trim();return s.jsxs("div",{className:"ac-doc",children:[s.jsxs("div",{className:"ac-docHead",children:[s.jsx("span",{className:"ac-docKey",children:"name"}),s.jsx("span",{className:"ac-docVal",children:e.name}),e.role?s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"ac-docKey",children:"role"}),s.jsx("span",{className:"ac-docVal",children:R(e.role)??e.role})]}):null,s.jsx("span",{className:"ac-docKey",children:"harness"}),s.jsx("span",{className:"ac-docVal",children:w(e.harness)}),a.model?s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"ac-docKey",children:"model"}),s.jsx("span",{className:"ac-docVal",children:a.model})]}):null]}),s.jsx("div",{className:"ac-docLabel",children:i?"Default template":"System prompt"}),s.jsx("pre",{className:"ac-prose","data-default":i||void 0,children:t})]})}function X({entry:n}){const{agent:e,config:a}=n;return s.jsxs("div",{className:"ac-config",children:[s.jsxs(N,{k:"Harness",children:[s.jsx("span",{className:"ac-inlineMark",children:s.jsx(S,{harness:e.harness,size:12})}),w(e.harness)]}),s.jsx(N,{k:"Model",children:a.model??"—"}),s.jsx(N,{k:"Permissions",children:a.permission??"default"}),s.jsx(N,{k:"Transport",children:a.runtime.transport}),s.jsx(N,{k:"Workdir",mono:!0,title:a.runtime.cwd,children:U(a.runtime.cwd)||a.runtime.cwd}),s.jsx(N,{k:"Session",mono:!0,children:a.runtime.sessionId}),a.launchArgs.length?s.jsxs("div",{className:"ac-configBlock",children:[s.jsx("div",{className:"ac-configKey",children:"Launch"}),s.jsxs("pre",{className:"ac-cmd",children:[a.runtime.harness," ",a.launchArgs.join(" ")]})]}):null,a.capabilities.length?s.jsxs("div",{className:"ac-configBlock",children:[s.jsx("div",{className:"ac-configKey",children:"Capabilities"}),s.jsx("div",{className:"ac-chips",children:a.capabilities.map(t=>s.jsx("span",{className:"ac-chip",children:t},t))})]}):null]})}function Z({entry:n,onOpenConversation:e}){return n.sessions.length?s.jsx("div",{className:"ac-convos",children:n.sessions.map(a=>s.jsxs("button",{type:"button",className:"ac-convo",disabled:!e,onClick:()=>e?.(n.agent.id,a.id),children:[s.jsx("span",{className:"ac-convoDot","aria-hidden":!0}),s.jsxs("span",{className:"ac-convoBody",children:[s.jsx("span",{className:"ac-convoTitle",children:a.title||a.preview||"Conversation"}),a.preview&&a.title?s.jsx("span",{className:"ac-convoPreview",children:a.preview}):null,s.jsxs("span",{className:"ac-convoMeta",children:[a.currentBranch?s.jsx("span",{className:"ac-convoBranch",children:a.currentBranch}):null,s.jsxs("span",{children:[a.messageCount," msgs"]}),a.lastMessageAt?s.jsx("span",{children:C(a.lastMessageAt)}):null]})]})]},a.id))}):s.jsx("div",{className:"ac-empty",children:"No conversations yet."})}function O({entry:n}){const e=n.context;if(!e)return s.jsx("div",{className:"ac-empty",children:"No live context — agent is not in an active session."});const a=e.usedPercent!=null?Math.round(e.usedPercent):null;return s.jsxs("div",{className:"ac-ctx",children:[s.jsxs("div",{className:"ac-ctxTop",children:[s.jsx("span",{className:"ac-ctxState","data-state":e.state,children:e.state}),s.jsxs("span",{className:"ac-ctxTurns",children:[e.turnCount," turns"]})]}),a!=null?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"ac-ctxGauge",children:s.jsx("span",{className:"ac-ctxFill",style:{width:`${Math.min(100,a)}%`}})}),s.jsxs("div",{className:"ac-ctxRead",children:[s.jsxs("span",{className:"ac-ctxNum",children:[a,"%"]}),s.jsx("span",{className:"ac-ctxDim",children:"of context window used"})]})]}):null,e.contextInputTokens!=null&&e.contextWindowTokens!=null?s.jsxs("div",{className:"ac-ctxTokens",children:[e.contextInputTokens.toLocaleString()," / ",e.contextWindowTokens.toLocaleString()," ","tokens"]}):null]})}function ss({entry:n,onOpenConversation:e}){const{agent:a,config:t}=n,i=K(n),m=a.ownerName||a.ownerHandle||null;return s.jsxs("div",{className:"ac-railInner",children:[s.jsxs("div",{className:"ac-railIdent",children:[s.jsx("span",{className:"ac-railAvatar","aria-hidden":!0,children:s.jsx(B,{agent:{name:a.name,harness:a.harness,state:a.state},placement:"inspector"})}),s.jsxs("div",{className:"ac-railNames",children:[s.jsxs("div",{className:"ac-railName",children:["@",a.name]}),a.role?s.jsx("div",{className:"ac-railRole",children:R(a.role)??a.role}):null]})]}),s.jsxs("div",{className:"ac-railState","data-tone":i==="idle"?void 0:i,children:[i!=="idle"?s.jsx("span",{className:"ac-dot","data-tone":i,"aria-hidden":!0}):null,s.jsx("span",{children:n.needsYou?"Needs you":P(a.state)})]}),n.activeTask?s.jsx("div",{className:"ac-railTask",children:n.activeTask}):null,s.jsxs("div",{className:"ac-railGroup",children:[s.jsx(x,{k:"Harness",v:w(a.harness),mark:a.harness}),s.jsx(x,{k:"Model",v:t.model??"—"}),m?s.jsx(x,{k:"Owner",v:m}):null,a.branch?s.jsx(x,{k:"Branch",v:a.branch,mono:!0}):null,s.jsx(x,{k:"State",v:P(a.state)}),a.updatedAt?s.jsx(x,{k:"Updated",v:C(a.updatedAt)}):null,s.jsx(x,{k:"Sessions",v:String(n.sessions.length)})]}),t.permission?s.jsxs("div",{className:"ac-railSub",children:[s.jsx("div",{className:"ac-railSubHead",children:"Permissions"}),s.jsx("span",{className:"ac-chip",children:t.permission})]}):null,t.capabilities.length?s.jsxs("div",{className:"ac-railSub",children:[s.jsxs("div",{className:"ac-railSubHead",children:["Capabilities · ",t.capabilities.length]}),s.jsx("div",{className:"ac-chips",children:t.capabilities.map(d=>s.jsx("span",{className:"ac-chip",children:d},d))})]}):null,a.conversationId&&e?s.jsx("button",{type:"button",className:"ac-railOpen",onClick:()=>e(a.id),children:"Open conversation →"}):null]})}function b({k:n,v:e,mono:a}){return s.jsxs("span",{className:"ac-metaItem",children:[s.jsx("span",{className:"ac-metaKey",children:n}),s.jsx("span",{className:"ac-metaVal","data-mono":a||void 0,children:e})]})}function N({k:n,children:e,mono:a,title:t}){return s.jsxs("div",{className:"ac-configRow",children:[s.jsx("span",{className:"ac-configKey",children:n}),s.jsx("span",{className:"ac-configVal","data-mono":a||void 0,title:t,children:e})]})}function x({k:n,v:e,mono:a,mark:t}){return s.jsxs("div",{className:"ac-railFact",children:[s.jsx("span",{className:"ac-railFactKey",children:n}),s.jsxs("span",{className:"ac-railFactVal","data-mono":a||void 0,children:[t?s.jsx("span",{className:"ac-inlineMark",children:s.jsx(S,{harness:t,size:11})}):null,e]})]})}export{ds as AgentsConsole};
1
+ import{r as h,j as s}from"./index-DmFAhGPj.js";import{A as B}from"./AgentAvatar-D8ZtMluU.js";import{H as S,h as w}from"./HarnessMark-BPAphNjx.js";import{c as P}from"./colors-BtO5_zlx.js";import{f as R}from"./text-DsBWV_4k.js";import{t as C}from"./time-Dhsh_2EG.js";import"./SpriteAvatar-DS6Tmyua.js";import"./agent-identity-BxCsXnDp.js";function K(n){return n.needsYou?"needs":n.status==="in_turn"||n.status==="in_flight"?"live":"idle"}const H=[{id:"prompt",label:"System prompt",sigil:"◆"},{id:"config",label:"Config",sigil:"▤"},{id:"conversations",label:"Conversations",sigil:"◇"},{id:"context",label:"Context",sigil:"▸"}],q={prompt:"System prompt",config:"Config",conversations:"Conversations",context:"Context"};function U(n){return n?n.replace(/^\/Users\/[^/]+/,"~").replace(/^\/home\/[^/]+/,"~"):""}const k=(n,e)=>`${n} ${e}${n===1?"":"s"}`;function ds({projects:n,initialSelection:e,onEdit:a,onInterrupt:t,onResetContext:i,onOpenConversation:m,onNewAgent:d}){const o=h.useMemo(()=>n.flatMap(l=>l.agents.map(c=>[l,c])),[n]),p=o[0]?.[1],[u,A]=h.useState(e?.agentId??p?.agent.id??null),[F,E]=h.useState(e?.facet??"prompt"),[I,y]=h.useState(()=>new Set(u?[u]:[])),[M,V]=h.useState(""),g=M.trim().toLowerCase(),D=h.useMemo(()=>g?n.map(l=>({...l,agents:l.agents.filter(c=>c.agent.name.toLowerCase().includes(g)||(c.agent.harness??"").toLowerCase().includes(g)||l.slug.toLowerCase().includes(g))})).filter(l=>l.agents.length>0):n,[n,g]),v=h.useMemo(()=>{for(const[l,c]of o)if(c.agent.id===u)return{project:l,entry:c};return null},[o,u]),T=n.reduce((l,c)=>l+c.agents.length,0),_=T*H.length,z=(l,c)=>{A(l),c&&E(c),y(r=>new Set(r).add(l))},$=l=>{y(c=>{const r=new Set(c);return r.has(l)?r.delete(l):r.add(l),r}),A(l)};return s.jsxs("div",{className:"s-acon",children:[s.jsxs("div",{className:"ac-shell",children:[s.jsxs("aside",{className:"ac-tree",children:[s.jsxs("div",{className:"ac-treeHead",children:[s.jsx("span",{className:"ac-treeIco","aria-hidden":!0,children:"⌕"}),s.jsx("input",{className:"ac-treeFind",placeholder:"Filter agents…",value:M,onChange:l=>V(l.target.value)})]}),s.jsxs("div",{className:"ac-treeScroll",children:[D.map(l=>s.jsxs("div",{className:"ac-treeGroup",children:[s.jsxs("div",{className:"ac-treeProject",children:[s.jsx("span",{className:"ac-sigil",children:"/"}),l.slug,s.jsx("span",{className:"ac-treeProjectCount",children:l.agents.length})]}),l.agents.map(c=>{const r=I.has(c.agent.id),f=K(c),G=c.agent.id===u;return s.jsxs("div",{className:"ac-agentBlock",children:[s.jsxs("button",{type:"button",className:"ac-agent","data-open":r||void 0,onClick:()=>$(c.agent.id),children:[s.jsx("span",{className:"ac-agentChev","data-open":r||void 0,"aria-hidden":!0,children:"▸"}),s.jsx("span",{className:"ac-agentAvatar","aria-hidden":!0,children:s.jsx(B,{agent:{name:c.agent.name,harness:c.agent.harness,state:c.agent.state},placement:"node",size:16})}),s.jsx("span",{className:"ac-agentName","data-idle":f==="idle"||void 0,children:c.agent.name}),f==="needs"?s.jsx("span",{className:"ac-needs",children:"needs you"}):null,s.jsxs("span",{className:"ac-agentTail",children:[f!=="idle"?s.jsx("span",{className:"ac-dot","data-tone":f,"aria-hidden":!0}):null,c.agent.harness?s.jsx("span",{className:"ac-agentMark","aria-hidden":!0,children:s.jsx(S,{harness:c.agent.harness,size:11})}):null]})]}),r?s.jsx("div",{className:"ac-facets",children:H.map(j=>{const L=j.id==="conversations"?c.sessions.length:void 0,W=G&&F===j.id;return s.jsxs("button",{type:"button",className:"ac-facet","data-active":W||void 0,onClick:()=>z(c.agent.id,j.id),children:[s.jsx("span",{className:"ac-facetSigil","aria-hidden":!0,children:j.sigil}),s.jsx("span",{className:"ac-facetLabel",children:j.label}),L!=null?s.jsx("span",{className:"ac-facetCount",children:L}):null]},j.id)})}):null]},c.agent.id)})]},l.key)),d?s.jsx("button",{type:"button",className:"ac-newAgent",onClick:d,children:"+ new agent"}):null]})]}),s.jsx("main",{className:"ac-read",children:v?s.jsx(Y,{project:v.project,entry:v.entry,facet:F,onEdit:a,onInterrupt:t,onResetContext:i,onOpenConversation:m}):s.jsx("div",{className:"ac-empty",children:"No agents."})}),s.jsx("aside",{className:"ac-rail",children:v?s.jsx(ss,{entry:v.entry,onOpenConversation:m}):null})]}),s.jsxs("div",{className:"ac-foot",children:[s.jsx("span",{className:"ac-footStat",children:k(n.length,"project")}),s.jsx("span",{className:"ac-footSep",children:"·"}),s.jsx("span",{className:"ac-footStat",children:k(T,"agent")}),s.jsx("span",{className:"ac-footSep",children:"·"}),s.jsx("span",{className:"ac-footStat",children:k(_,"facet")})]})]})}function Y({project:n,entry:e,facet:a,onEdit:t,onInterrupt:i,onResetContext:m,onOpenConversation:d}){const{agent:o,config:p}=e,u=e.status==="in_turn"||e.status==="in_flight";return s.jsxs(s.Fragment,{children:[s.jsxs("header",{className:"ac-readHead",children:[s.jsxs("div",{className:"ac-crumb",children:[s.jsx("span",{className:"ac-crumbDim",children:n.slug}),s.jsx("span",{className:"ac-crumbSep",children:"/"}),s.jsxs("span",{className:"ac-crumbAgent",children:["@",o.name]}),s.jsx("span",{className:"ac-crumbSep",children:"/"}),s.jsx("span",{className:"ac-crumbFacet",children:q[a]})]}),s.jsxs("div",{className:"ac-readActions",children:[(a==="prompt"||a==="config")&&t&&p.editable?s.jsx("button",{type:"button",className:"ac-actPrimary",onClick:()=>t(o.id),children:"Edit"}):null,u&&i?s.jsx("button",{type:"button",className:"ac-act",onClick:()=>i(o.id),children:"Interrupt"}):null,a==="context"&&m?s.jsx("button",{type:"button",className:"ac-act",onClick:()=>m(o.id),children:"Reset"}):null,d?s.jsx("button",{type:"button",className:"ac-act",onClick:()=>d(o.id),children:"Open ↗"}):null]})]}),s.jsxs("div",{className:"ac-metaStrip",children:[s.jsx(b,{k:"Type",v:Q(a)}),p.model?s.jsx(b,{k:"Model",v:p.model,mono:!0}):null,s.jsx(b,{k:"Editable",v:p.editable?"yes":"read-only"}),e.lastActivityAt?s.jsx(b,{k:"Active",v:C(e.lastActivityAt)}):null]}),s.jsxs("div",{className:"ac-readBody",children:[a==="prompt"?s.jsx(J,{entry:e}):null,a==="config"?s.jsx(X,{entry:e}):null,a==="conversations"?s.jsx(Z,{entry:e,onOpenConversation:d}):null,a==="context"?s.jsx(O,{entry:e}):null]})]})}function Q(n){switch(n){case"prompt":return"Markdown · system prompt";case"config":return"Runtime config";case"conversations":return"Conversation list";case"context":return"Live context window"}}function J({entry:n}){const{agent:e,config:a}=n,t=a.systemPrompt.trim()||a.templateHint||"default template",i=!a.systemPrompt.trim();return s.jsxs("div",{className:"ac-doc",children:[s.jsxs("div",{className:"ac-docHead",children:[s.jsx("span",{className:"ac-docKey",children:"name"}),s.jsx("span",{className:"ac-docVal",children:e.name}),e.role?s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"ac-docKey",children:"role"}),s.jsx("span",{className:"ac-docVal",children:R(e.role)??e.role})]}):null,s.jsx("span",{className:"ac-docKey",children:"harness"}),s.jsx("span",{className:"ac-docVal",children:w(e.harness)}),a.model?s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"ac-docKey",children:"model"}),s.jsx("span",{className:"ac-docVal",children:a.model})]}):null]}),s.jsx("div",{className:"ac-docLabel",children:i?"Default template":"System prompt"}),s.jsx("pre",{className:"ac-prose","data-default":i||void 0,children:t})]})}function X({entry:n}){const{agent:e,config:a}=n;return s.jsxs("div",{className:"ac-config",children:[s.jsxs(N,{k:"Harness",children:[s.jsx("span",{className:"ac-inlineMark",children:s.jsx(S,{harness:e.harness,size:12})}),w(e.harness)]}),s.jsx(N,{k:"Model",children:a.model??"—"}),s.jsx(N,{k:"Permissions",children:a.permission??"default"}),s.jsx(N,{k:"Transport",children:a.runtime.transport}),s.jsx(N,{k:"Workdir",mono:!0,title:a.runtime.cwd,children:U(a.runtime.cwd)||a.runtime.cwd}),s.jsx(N,{k:"Session",mono:!0,children:a.runtime.sessionId}),a.launchArgs.length?s.jsxs("div",{className:"ac-configBlock",children:[s.jsx("div",{className:"ac-configKey",children:"Launch"}),s.jsxs("pre",{className:"ac-cmd",children:[a.runtime.harness," ",a.launchArgs.join(" ")]})]}):null,a.capabilities.length?s.jsxs("div",{className:"ac-configBlock",children:[s.jsx("div",{className:"ac-configKey",children:"Capabilities"}),s.jsx("div",{className:"ac-chips",children:a.capabilities.map(t=>s.jsx("span",{className:"ac-chip",children:t},t))})]}):null]})}function Z({entry:n,onOpenConversation:e}){return n.sessions.length?s.jsx("div",{className:"ac-convos",children:n.sessions.map(a=>s.jsxs("button",{type:"button",className:"ac-convo",disabled:!e,onClick:()=>e?.(n.agent.id,a.id),children:[s.jsx("span",{className:"ac-convoDot","aria-hidden":!0}),s.jsxs("span",{className:"ac-convoBody",children:[s.jsx("span",{className:"ac-convoTitle",children:a.title||a.preview||"Conversation"}),a.preview&&a.title?s.jsx("span",{className:"ac-convoPreview",children:a.preview}):null,s.jsxs("span",{className:"ac-convoMeta",children:[a.currentBranch?s.jsx("span",{className:"ac-convoBranch",children:a.currentBranch}):null,s.jsxs("span",{children:[a.messageCount," msgs"]}),a.lastMessageAt?s.jsx("span",{children:C(a.lastMessageAt)}):null]})]})]},a.id))}):s.jsx("div",{className:"ac-empty",children:"No conversations yet."})}function O({entry:n}){const e=n.context;if(!e)return s.jsx("div",{className:"ac-empty",children:"No live context — agent is not in an active session."});const a=e.usedPercent!=null?Math.round(e.usedPercent):null;return s.jsxs("div",{className:"ac-ctx",children:[s.jsxs("div",{className:"ac-ctxTop",children:[s.jsx("span",{className:"ac-ctxState","data-state":e.state,children:e.state}),s.jsxs("span",{className:"ac-ctxTurns",children:[e.turnCount," turns"]})]}),a!=null?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"ac-ctxGauge",children:s.jsx("span",{className:"ac-ctxFill",style:{width:`${Math.min(100,a)}%`}})}),s.jsxs("div",{className:"ac-ctxRead",children:[s.jsxs("span",{className:"ac-ctxNum",children:[a,"%"]}),s.jsx("span",{className:"ac-ctxDim",children:"of context window used"})]})]}):null,e.contextInputTokens!=null&&e.contextWindowTokens!=null?s.jsxs("div",{className:"ac-ctxTokens",children:[e.contextInputTokens.toLocaleString()," / ",e.contextWindowTokens.toLocaleString()," ","tokens"]}):null]})}function ss({entry:n,onOpenConversation:e}){const{agent:a,config:t}=n,i=K(n),m=a.ownerName||a.ownerHandle||null;return s.jsxs("div",{className:"ac-railInner",children:[s.jsxs("div",{className:"ac-railIdent",children:[s.jsx("span",{className:"ac-railAvatar","aria-hidden":!0,children:s.jsx(B,{agent:{name:a.name,harness:a.harness,state:a.state},placement:"inspector"})}),s.jsxs("div",{className:"ac-railNames",children:[s.jsxs("div",{className:"ac-railName",children:["@",a.name]}),a.role?s.jsx("div",{className:"ac-railRole",children:R(a.role)??a.role}):null]})]}),s.jsxs("div",{className:"ac-railState","data-tone":i==="idle"?void 0:i,children:[i!=="idle"?s.jsx("span",{className:"ac-dot","data-tone":i,"aria-hidden":!0}):null,s.jsx("span",{children:n.needsYou?"Needs you":P(a.state)})]}),n.activeTask?s.jsx("div",{className:"ac-railTask",children:n.activeTask}):null,s.jsxs("div",{className:"ac-railGroup",children:[s.jsx(x,{k:"Harness",v:w(a.harness),mark:a.harness}),s.jsx(x,{k:"Model",v:t.model??"—"}),m?s.jsx(x,{k:"Owner",v:m}):null,a.branch?s.jsx(x,{k:"Branch",v:a.branch,mono:!0}):null,s.jsx(x,{k:"State",v:P(a.state)}),a.updatedAt?s.jsx(x,{k:"Updated",v:C(a.updatedAt)}):null,s.jsx(x,{k:"Sessions",v:String(n.sessions.length)})]}),t.permission?s.jsxs("div",{className:"ac-railSub",children:[s.jsx("div",{className:"ac-railSubHead",children:"Permissions"}),s.jsx("span",{className:"ac-chip",children:t.permission})]}):null,t.capabilities.length?s.jsxs("div",{className:"ac-railSub",children:[s.jsxs("div",{className:"ac-railSubHead",children:["Capabilities · ",t.capabilities.length]}),s.jsx("div",{className:"ac-chips",children:t.capabilities.map(d=>s.jsx("span",{className:"ac-chip",children:d},d))})]}):null,a.conversationId&&e?s.jsx("button",{type:"button",className:"ac-railOpen",onClick:()=>e(a.id),children:"Open conversation →"}):null]})}function b({k:n,v:e,mono:a}){return s.jsxs("span",{className:"ac-metaItem",children:[s.jsx("span",{className:"ac-metaKey",children:n}),s.jsx("span",{className:"ac-metaVal","data-mono":a||void 0,children:e})]})}function N({k:n,children:e,mono:a,title:t}){return s.jsxs("div",{className:"ac-configRow",children:[s.jsx("span",{className:"ac-configKey",children:n}),s.jsx("span",{className:"ac-configVal","data-mono":a||void 0,title:t,children:e})]})}function x({k:n,v:e,mono:a,mark:t}){return s.jsxs("div",{className:"ac-railFact",children:[s.jsx("span",{className:"ac-railFactKey",children:n}),s.jsxs("span",{className:"ac-railFactVal","data-mono":a||void 0,children:[t?s.jsx("span",{className:"ac-inlineMark",children:s.jsx(S,{harness:t,size:11})}):null,e]})]})}export{ds as AgentsConsole};