@openscout/scout 0.2.102 → 0.2.105

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 (505) hide show
  1. package/README.md +37 -0
  2. package/bin/scout.mjs +6 -0
  3. package/bin/scoutd +0 -0
  4. package/dist/build-manifest.json +4 -4
  5. package/dist/chat.mjs +285 -0
  6. package/dist/client/assets/ActivityScreen-CcDdQTBK.js +1 -0
  7. package/dist/client/assets/{AddProjectForm-DfbjlFfy.js → AddProjectForm-CHNJ4NnS.js} +1 -1
  8. package/dist/client/assets/{AdventureEvidence-Dzz9VbuE.js → AdventureEvidence-B4mEvXeD.js} +1 -1
  9. package/dist/client/assets/{AdventureReader-ClMxT0e4.js → AdventureReader-ZsBDQITY.js} +1 -1
  10. package/dist/client/assets/{AdventureScenery-D548O0x4.js → AdventureScenery-DSxDlqG1.js} +1 -1
  11. package/dist/client/assets/AgentAdventures-BxrYq_2v.js +1 -0
  12. package/dist/client/assets/{AgentAvatar-BIwg54Tj.js → AgentAvatar-NZOqcsB2.js} +1 -1
  13. package/dist/client/assets/AgentConfigurationScreen-BhD1PEAM.js +1 -0
  14. package/dist/client/assets/AgentDefinitionsWorkspace-BqS6MXqF.js +1 -0
  15. package/dist/client/assets/{AgentDetailCard-CFDE8TLi.js → AgentDetailCard-MIEBKw_S.js} +1 -1
  16. package/dist/client/assets/AgentFloorView-A0dDRlRV.js +1 -0
  17. package/dist/client/assets/{AgentFloorWorld-BDJmXl3C.js → AgentFloorWorld-BTqwmK5G.js} +1 -1
  18. package/dist/client/assets/AgentInfoScreen-DuaN0sgE.js +1 -0
  19. package/dist/client/assets/{AgentLaneCard-C6YmwPxQ.js → AgentLaneCard-C4rKLLdT.js} +1 -1
  20. package/dist/client/assets/{AgentLaneChrome-D9uJ4QY7.js → AgentLaneChrome-fGC-ZrJS.js} +1 -1
  21. package/dist/client/assets/{AgentLaneDetailSheet-KYckCBCX.js → AgentLaneDetailSheet-BTF4_th9.js} +1 -1
  22. package/dist/client/assets/{AgentLaneSummaryResize-BBYBS3DO.js → AgentLaneSummaryResize-DgSeA_vS.js} +1 -1
  23. package/dist/client/assets/AgentLanesEmbedScreen-CeNiaZ9_.js +1 -0
  24. package/dist/client/assets/{AgentLanesPreflight-pw2vMO3Q.js → AgentLanesPreflight-CcS23wij.js} +1 -1
  25. package/dist/client/assets/{AgentLanesView-aAyC7lHf.js → AgentLanesView-WZhEDBFE.js} +1 -1
  26. package/dist/client/assets/{AgentLiveActions-lYzicnNa.js → AgentLiveActions-6Kfr1uOT.js} +1 -1
  27. package/dist/client/assets/AgentMasterScreen-DUDUTAnU.js +1 -0
  28. package/dist/client/assets/{AgentSessions-Cox2zS-e.js → AgentSessions-CO1WGa8Z.js} +2 -2
  29. package/dist/client/assets/AgentsConsole-BQOWkj35.js +1 -0
  30. package/dist/client/assets/AgentsScreen-BMNAj1PH.js +1 -0
  31. package/dist/client/assets/AgentsSubnav-CeHhuzyM.js +1 -0
  32. package/dist/client/assets/{AstronautSuit-C-4I5YKi.js → AstronautSuit-D67fIBdR.js} +1 -1
  33. package/dist/client/assets/{AtopView-DKm-ERYC.js → AtopView-Ck30FbzG.js} +1 -1
  34. package/dist/client/assets/{BackToPicker-Bys9ColC.js → BackToPicker-CkBhGRlD.js} +1 -1
  35. package/dist/client/assets/BriefingDetailScreen-yZG8_m4h.js +1 -0
  36. package/dist/client/assets/{BriefingsScreen-D4Zf31Y6.js → BriefingsScreen-DTxYMr3a.js} +1 -1
  37. package/dist/client/assets/{BrokerMetadataPanel-1GoSl2BV.js → BrokerMetadataPanel-crirZCdo.js} +1 -1
  38. package/dist/client/assets/BrokerScreen-CT37VQiL.js +8 -0
  39. package/dist/client/assets/Canvas-CRP0KjKb.js +1 -0
  40. package/dist/client/assets/{CastPicker-BuwE_JQp.js → CastPicker-ZPomvOf-.js} +1 -1
  41. package/dist/client/assets/ChannelComposer-BVItWlEz.js +1 -0
  42. package/dist/client/assets/ChannelSidebar-B-2spawY.js +1 -0
  43. package/dist/client/assets/{CharacterFamilyPreview-CfO3j8Of.js → CharacterFamilyPreview-ckVkecDO.js} +1 -1
  44. package/dist/client/assets/ChatAvatar-DKBsbOqk.js +1 -0
  45. package/dist/client/assets/ChatBits-CLJ71hTY.js +1 -0
  46. package/dist/client/assets/{ChatCollapsedStrip-TV0j1xTB.js → ChatCollapsedStrip-Co0NmqOO.js} +1 -1
  47. package/dist/client/assets/ChatRightPanel-pKQtkAgl.js +1 -0
  48. package/dist/client/assets/ChatSpaceSurface-NrLwdPkE.js +1 -0
  49. package/dist/client/assets/ChatSpaceTheme-BPMgPdVK.css +1 -0
  50. package/dist/client/assets/ChatSpaceTheme-D37Jk7bl.js +1 -0
  51. package/dist/client/assets/{CodeDiffPane-DB6-mqtX.js → CodeDiffPane-D-iv28LJ.js} +1 -1
  52. package/dist/client/assets/{CodeProjectPicker-B_LNLpIK.js → CodeProjectPicker-CZ3gDdiT.js} +1 -1
  53. package/dist/client/assets/{CodeScreen-C9H160XS.js → CodeScreen-CSC-zbP9.js} +1 -1
  54. package/dist/client/assets/{CommsCanvas-DOKw3Q8i.js → CommsCanvas-DdNAwjGW.js} +1 -1
  55. package/dist/client/assets/{CommsDeck-C18JA7rK.js → CommsDeck-mGWY7Ivi.js} +1 -1
  56. package/dist/client/assets/{CommsFlowGraph-Czg-KTS0.js → CommsFlowGraph-voDD9M5R.js} +1 -1
  57. package/dist/client/assets/{CommsFlowMap-CzBWvSa5.js → CommsFlowMap-C33sgD48.js} +1 -1
  58. package/dist/client/assets/{CommsSelection-g1twA-Lb.js → CommsSelection-BL8aYD7z.js} +1 -1
  59. package/dist/client/assets/{ConversationComposer-B7RU6LKd.js → ConversationComposer-DNcn5U6D.js} +1 -1
  60. package/dist/client/assets/ConversationFeedRows-RnYSa7Io.js +1 -0
  61. package/dist/client/assets/ConversationHeader-Y9TEJxP_.js +1 -0
  62. package/dist/client/assets/{ConversationPanels-C9yCAoJy.js → ConversationPanels-6pprBpmq.js} +2 -2
  63. package/dist/client/assets/ConversationScreen-tpj4cqWs.js +2 -0
  64. package/dist/client/assets/{ConversationStatus-CK-YfLpi.js → ConversationStatus-Cv-7hErW.js} +1 -1
  65. package/dist/client/assets/{CrewAvatar-CJhuqTsJ.js → CrewAvatar-zgzC3cbU.js} +1 -1
  66. package/dist/client/assets/{CrewSprite-hgpA3SWB.js → CrewSprite-Dp9KBBGY.js} +1 -1
  67. package/dist/client/assets/CrewWorkspaces-DDuYMByu.css +1 -0
  68. package/dist/client/assets/CrewWorkspaces-K2jcyLec.js +1 -0
  69. package/dist/client/assets/{DataTable-BMOZ1-z8.js → DataTable-av71ehJV.js} +1 -1
  70. package/dist/client/assets/{DispatchAftermath-DDlwqSCY.js → DispatchAftermath-CcYGUB10.js} +1 -1
  71. package/dist/client/assets/{DocumentFocusViewer-f12RRQpV.js → DocumentFocusViewer-DlMiEALb.js} +1 -1
  72. package/dist/client/assets/{EmbeddableSurfacesLab-DGl9EMRV.js → EmbeddableSurfacesLab-CTkO_tQR.js} +1 -1
  73. package/dist/client/assets/{EmptyState-uyYN5piI.js → EmptyState-CYUwYyAW.js} +1 -1
  74. package/dist/client/assets/{FileViewerPane-HtiDbj9N.js → FileViewerPane-Cxhixtks.js} +1 -1
  75. package/dist/client/assets/FlightObserveScreen-CvzhzuWc.js +1 -0
  76. package/dist/client/assets/{FloorContextSheet-DV-SYA0K.js → FloorContextSheet-Vj_wVZq1.js} +1 -1
  77. package/dist/client/assets/{FloorExchangePanel-D59nvRCF.js → FloorExchangePanel-CjHSDXad.js} +1 -1
  78. package/dist/client/assets/{FloorMessagePasses-BCwsz9VS.js → FloorMessagePasses-BG4ebnX5.js} +1 -1
  79. package/dist/client/assets/{FloorReplay-BHo79HCD.js → FloorReplay-BoYaGY9t.js} +1 -1
  80. package/dist/client/assets/FloorResourcesSheet-_Iy5UqgY.js +1 -0
  81. package/dist/client/assets/{FloorSavedWork-2tjBoy06.js → FloorSavedWork-jbtRs-YE.js} +1 -1
  82. package/dist/client/assets/{FloorTacticalHUD-Bngao6sn.js → FloorTacticalHUD-BhyOqlL5.js} +1 -1
  83. package/dist/client/assets/{FollowScreen-eHXOlK-u.js → FollowScreen-CupyOgt4.js} +1 -1
  84. package/dist/client/assets/HarnessMark-DSvM_H7H.js +1 -0
  85. package/dist/client/assets/HarnessesScreen-DyjqbZ4k.js +1 -0
  86. package/dist/client/assets/{HerdrSession-CtJOUn7H.js → HerdrSession-Dcm3vf9U.js} +1 -1
  87. package/dist/client/assets/{HomeHero-Cvwx2H0w.js → HomeHero-pIZtE1cC.js} +1 -1
  88. package/dist/client/assets/{HostAdvisorView-CTJXIc1Q.js → HostAdvisorView-Dv5meXo2.js} +1 -1
  89. package/dist/client/assets/InviteLandingScreen-xZQ2na1z.js +1 -0
  90. package/dist/client/assets/InviteSheet--5Zjct25.js +1 -0
  91. package/dist/client/assets/JumpPalette-BmiSOEmp.js +1 -0
  92. package/dist/client/assets/{KnowledgeSearchInspector-DwGMVmFL.js → KnowledgeSearchInspector-B8yiM524.js} +1 -1
  93. package/dist/client/assets/KnowledgeSearchScreen-BPqAjHnH.js +1 -0
  94. package/dist/client/assets/{LaneToolHoverCard-C6YehJqD.js → LaneToolHoverCard-D2cnTeUd.js} +1 -1
  95. package/dist/client/assets/LaneTraceDetailSheet-jl4XQmEx.js +1 -0
  96. package/dist/client/assets/{LaneTraceEventFocus-WLNZZVi_.js → LaneTraceEventFocus-BLhVHwff.js} +1 -1
  97. package/dist/client/assets/{MeshCanvas-FDDGE69h.js → MeshCanvas-BR25OBTJ.js} +1 -1
  98. package/dist/client/assets/{MeshCanvasMinimap-CGRzQCac.js → MeshCanvasMinimap-ClVolr4-.js} +1 -1
  99. package/dist/client/assets/MeshScreen-BW1dMFWF.js +1 -0
  100. package/dist/client/assets/{MeshTopologyView-C2Cv_2gx.js → MeshTopologyView-BT3ke2D1.js} +2 -2
  101. package/dist/client/assets/MessagesScreen-CtNMfIvC.js +1 -0
  102. package/dist/client/assets/{MissionContextRail-CVSZJnvX.js → MissionContextRail-CafjuseK.js} +1 -1
  103. package/dist/client/assets/MissionControlView-BjPOViGY.js +1 -0
  104. package/dist/client/assets/{MissionFocusOverlay-B9SiuO-i.js → MissionFocusOverlay-nhy3hkxQ.js} +1 -1
  105. package/dist/client/assets/MissionLeftAgentRow-Dms0DBjO.js +1 -0
  106. package/dist/client/assets/{MissionLogPane-CMBiI29U.js → MissionLogPane-DiUf3vWW.js} +1 -1
  107. package/dist/client/assets/NativeAreaScreen-BQSTo8As.js +1 -0
  108. package/dist/client/assets/NativeAreaScreen-Brix6xDB.js +1 -0
  109. package/dist/client/assets/NativeAreaScreen-D7HyQNlM.js +1 -0
  110. package/dist/client/assets/{NewAgentModal-Cl4nsGhu.js → NewAgentModal-BQ2wQ5gp.js} +1 -1
  111. package/dist/client/assets/NewChatComposer-BEXS8vV6.js +19 -0
  112. package/dist/client/assets/{NewChatOrigin-CyPPWTJP.js → NewChatOrigin-C8ROO4ps.js} +1 -1
  113. package/dist/client/assets/{NodeDetailPanel-BUG8rOb-.js → NodeDetailPanel-BNTqYC7m.js} +1 -1
  114. package/dist/client/assets/{NodeMenu-Fw8ATWQA.js → NodeMenu-CcOeFRCB.js} +1 -1
  115. package/dist/client/assets/{ObserveEmbedScreen-BPiSXXvm.js → ObserveEmbedScreen-Dh30EjAQ.js} +2 -2
  116. package/dist/client/assets/{ObserveTextFlow-ET0dD1wO.js → ObserveTextFlow-CC5mnngm.js} +2 -2
  117. package/dist/client/assets/{ObservedTopologyPanel-DkEkQzo-.js → ObservedTopologyPanel-DF6tRZL_.js} +1 -1
  118. package/dist/client/assets/OpenScoutAppShell-D9pgw36i.js +31 -0
  119. package/dist/client/assets/OpsAgentsView-D3rM0udq.js +1 -0
  120. package/dist/client/assets/OpsScreen-DySeNQ1V.js +1 -0
  121. package/dist/client/assets/OpsSubnav-C9E0r3GZ.js +1 -0
  122. package/dist/client/assets/ProjectAgentProfile-FUav75j2.js +1 -0
  123. package/dist/client/assets/{ProjectAgentProfileBar-C1fR65Eh.js → ProjectAgentProfileBar-C8z22pJ2.js} +1 -1
  124. package/dist/client/assets/ProjectAgentProfileHero-BLK0EwMg.js +1 -0
  125. package/dist/client/assets/ProjectsInbox-DfCXReZK.js +2 -0
  126. package/dist/client/assets/ProjectsRail-CELVubfJ.js +1 -0
  127. package/dist/client/assets/ProjectsScreen-DMw4TLKy.js +1 -0
  128. package/dist/client/assets/ProjectsThreadAside-D1Sh4fnX.js +1 -0
  129. package/dist/client/assets/{Provider-5Hotn7NQ.js → Provider-CNZluAZb.js} +2 -2
  130. package/dist/client/assets/{RailRow-BYguXNm4.js → RailRow-DUPqXMZh.js} +1 -1
  131. package/dist/client/assets/RailToggle-BwmY70B8.js +1 -0
  132. package/dist/client/assets/RawSessionsTable-6OVJq0JZ.js +1 -0
  133. package/dist/client/assets/RealtimeVoiceScreen-D41TYY0x.js +9 -0
  134. package/dist/client/assets/{RenderedWorkerSprite-CvdWO32C.js → RenderedWorkerSprite-C8fxndAh.js} +1 -1
  135. package/dist/client/assets/{ReplayClock-B7JLTp8A.js → ReplayClock-DUVJjrIu.js} +1 -1
  136. package/dist/client/assets/{ReplayLog-DZTpf2CW.js → ReplayLog-Bek1Vc4W.js} +1 -1
  137. package/dist/client/assets/{ReplayOutpost-CvWQa30T.js → ReplayOutpost-DlRg3172.js} +1 -1
  138. package/dist/client/assets/{RepoDiffEmbedScreen-Cbu0_PJW.js → RepoDiffEmbedScreen-CVUMnt6A.js} +1 -1
  139. package/dist/client/assets/{RepoDiffPageScreen-Chwm6GXL.js → RepoDiffPageScreen-D9-s5PyB.js} +1 -1
  140. package/dist/client/assets/{RepoDiffViewer-C2mb0Wj-.js → RepoDiffViewer-D7FN-oyY.js} +1 -1
  141. package/dist/client/assets/RepoDiffViewerLazy-BpMR7tlx.js +2 -0
  142. package/dist/client/assets/{ReposScreen-C7JZQmyh.js → ReposScreen-BQ7HO1om.js} +2 -2
  143. package/dist/client/assets/{RiggedWorkerCharacter-DNe731GE.js → RiggedWorkerCharacter-CJMWlvV-.js} +1 -1
  144. package/dist/client/assets/{SageModelStudio-BR1J2D4R.js → SageModelStudio-B526NSnw.js} +1 -1
  145. package/dist/client/assets/{ScoutDeckSurface-flRamdvE.js → ScoutDeckSurface-ChkvGyEW.js} +1 -1
  146. package/dist/client/assets/{ScoutSurface-BpklGmDL.js → ScoutSurface-6g1f5chk.js} +1 -1
  147. package/dist/client/assets/{ScoutbotFxLab-DeK7ySWZ.js → ScoutbotFxLab-BuwBdnPf.js} +1 -1
  148. package/dist/client/assets/{SecondaryNav-BkTn5tkq.js → SecondaryNav-Bs-_VwTC.js} +1 -1
  149. package/dist/client/assets/{SessionEmbedScreen-CcQN6xlo.js → SessionEmbedScreen-C2wf35-P.js} +1 -1
  150. package/dist/client/assets/{SessionObserve-DaqDhqDI.js → SessionObserve-B64YsYhy.js} +9 -9
  151. package/dist/client/assets/{SessionObserve-BOBJSfs0.css → SessionObserve-CDdJ7fAE.css} +1 -1
  152. package/dist/client/assets/{SessionObserveEvidence-Drv-D8Oh.js → SessionObserveEvidence-CS1aQBpQ.js} +1 -1
  153. package/dist/client/assets/SessionRefScreen-DURV0MpF.js +1 -0
  154. package/dist/client/assets/SessionsScreen-D71ZR-8t.js +1 -0
  155. package/dist/client/assets/{SettingsDrawer-BDapR4E9.js → SettingsDrawer-Nz98oBVl.js} +3 -3
  156. package/dist/client/assets/SettingsScreen-CYBHal6y.js +1 -0
  157. package/dist/client/assets/{SharedFloorCharacter-CSYG_t9t.js → SharedFloorCharacter-V04kD5T9.js} +1 -1
  158. package/dist/client/assets/SharedWorkFloor-C0xxW4SN.js +2 -0
  159. package/dist/client/assets/{ShikiPane-BudrOxNK.js → ShikiPane-XwFI-pCp.js} +1 -1
  160. package/dist/client/assets/{SlidePanel-Datu7XG4.js → SlidePanel-BMpkXai_.js} +1 -1
  161. package/dist/client/assets/SpaceSwitcher-BfeIf-ad.js +1 -0
  162. package/dist/client/assets/{SpriteAvatar-BW1JzkDt.js → SpriteAvatar-aHeF4ZQZ.js} +1 -1
  163. package/dist/client/assets/{SproutActionSprite-DveCzg6l.js → SproutActionSprite-DI5N3gOj.js} +1 -1
  164. package/dist/client/assets/{StatusPill-MxYClPG5.js → StatusPill-Dw4LP7wu.js} +1 -1
  165. package/dist/client/assets/{TailView-Dn7uWmPz.js → TailView-BofjmUMJ.js} +2 -2
  166. package/dist/client/assets/Terminal-jIqnIZZ6.js +4 -0
  167. package/dist/client/assets/TerminalEmbedScreen-3XsjuySR.js +1 -0
  168. package/dist/client/assets/{TerminalHeaderMount-DCGstkZ4.js → TerminalHeaderMount-CwbQhXcI.js} +1 -1
  169. package/dist/client/assets/TerminalRelay--qOBwnbR.js +46 -0
  170. package/dist/client/assets/{TextDocumentSurface-BhYvAB0o.js → TextDocumentSurface-BK6Qy41F.js} +1 -1
  171. package/dist/client/assets/{TmuxPeek-BhK0V9Qt.js → TmuxPeek-DpUT9Tpc.js} +1 -1
  172. package/dist/client/assets/{VoicePermissionsPanel-CecFWzva.js → VoicePermissionsPanel-D35fOnQj.js} +1 -1
  173. package/dist/client/assets/{WorkDetailScreen-CwtRCm_-.js → WorkDetailScreen-Bcf_yHhU.js} +2 -2
  174. package/dist/client/assets/{WorkFilesViewer-DJHftsH9.js → WorkFilesViewer-t8AEyx3Q.js} +1 -1
  175. package/dist/client/assets/{WorkRunView-x5PH1byG.js → WorkRunView-_mhG_FR2.js} +1 -1
  176. package/dist/client/assets/WorldActorTalk-CKerDikx.js +1 -0
  177. package/dist/client/assets/{WorldCharacter-Dn4sIXNP.js → WorldCharacter-BRrj3MQN.js} +1 -1
  178. package/dist/client/assets/{WorldMinimap-Blqg0d5r.js → WorldMinimap-DOptgrc4.js} +1 -1
  179. package/dist/client/assets/{WorldSky-DV9bpvXj.js → WorldSky-D-RJzSa6.js} +1 -1
  180. package/dist/client/assets/{activity-CSUhvjD0.js → activity-BJqFrZyB.js} +1 -1
  181. package/dist/client/assets/{addon-fit-MR98IWES.js → addon-fit-CHohcvS3.js} +1 -1
  182. package/dist/client/assets/{addon-webgl-CIIKXrvK.js → addon-webgl-CaRy2x2b.js} +1 -1
  183. package/dist/client/assets/agent-autocomplete-_u9o5EZu.js +2 -0
  184. package/dist/client/assets/{agent-essentials-8t2il7PV.js → agent-essentials-bKWYOZaH.js} +1 -1
  185. package/dist/client/assets/{agent-floor-actor-3v9drnxh.js → agent-floor-actor-DW8zLht0.js} +1 -1
  186. package/dist/client/assets/{agent-lane-card-model-l0stnU9N.js → agent-lane-card-model-CeqQGp-8.js} +1 -1
  187. package/dist/client/assets/{agent-lane-detail-Db7KyAlf.js → agent-lane-detail-Ti3trpfH.js} +1 -1
  188. package/dist/client/assets/{agent-lane-preview-B8lsQJOQ.js → agent-lane-preview-Dpa3DuOn.js} +1 -1
  189. package/dist/client/assets/{agent-lanes-model-CX0wTcnF.js → agent-lanes-model-DMAdqCmK.js} +1 -1
  190. package/dist/client/assets/{agent-specialization-CiVxQsFT.js → agent-specialization-BplZUa_0.js} +1 -1
  191. package/dist/client/assets/{api-B9_IqFKY.js → api-BQYTwoz6.js} +1 -1
  192. package/dist/client/assets/{api-CaROe5_H.js → api-DSqpVKC7.js} +1 -1
  193. package/dist/client/assets/{arc.es-BzhWalCl.js → arc.es-CubLvQ4W.js} +1 -1
  194. package/dist/client/assets/{arrow-left-PuKdO3NM.js → arrow-left-DFfKAq0d.js} +1 -1
  195. package/dist/client/assets/{arrow-right-ldbfp4SZ.js → arrow-right-DmAWnyAH.js} +1 -1
  196. package/dist/client/assets/{arrow-up-right-Hn754ybA.js → arrow-up-right-B0aLKiyF.js} +1 -1
  197. package/dist/client/assets/at-sign-DM7xeppo.js +1 -0
  198. package/dist/client/assets/{book-open-BlJnpf2U.js → book-open-BL9qvhEI.js} +1 -1
  199. package/dist/client/assets/{bot-CfN9PSBF.js → bot-BhAVbcCA.js} +1 -1
  200. package/dist/client/assets/{cache-DEy9E34b.js → cache-DGBo3vIf.js} +1 -1
  201. package/dist/client/assets/chat-api-BPVC0asu.js +1 -0
  202. package/dist/client/assets/chat-space-model-B6Jg2CY4.js +4 -0
  203. package/dist/client/assets/{check-B8dMv3Is.js → check-g7D7-c1J.js} +1 -1
  204. package/dist/client/assets/{chevron-down-B5eMsn5c.js → chevron-down-CDzRQQGl.js} +1 -1
  205. package/dist/client/assets/{chevron-right-C7UGFpkl.js → chevron-right-DKGTLiqc.js} +1 -1
  206. package/dist/client/assets/{chevron-up-BHOEgHcn.js → chevron-up-DX7R6KY2.js} +1 -1
  207. package/dist/client/assets/{chunk-HRAB3GC3-C5X-kFhb.js → chunk-HRAB3GC3-Dvk_QpRq.js} +1 -1
  208. package/dist/client/assets/{clock-DFcRbtrl.js → clock-CQb4FeMf.js} +1 -1
  209. package/dist/client/assets/{code-xml-BmyLM0I2.js → code-xml-Cmadr3pQ.js} +1 -1
  210. package/dist/client/assets/{coffee-C_D9zooM.js → coffee-ljG1_krY.js} +1 -1
  211. package/dist/client/assets/{compass-DTZdCpv9.js → compass-CvzkzkIh.js} +1 -1
  212. package/dist/client/assets/content-0AXa0klu.js +1 -0
  213. package/dist/client/assets/content-BEyJ19Lx.js +1 -0
  214. package/dist/client/assets/content-BN5weWKW.js +1 -0
  215. package/dist/client/assets/content-BNokkm7C.js +1 -0
  216. package/dist/client/assets/content-BV4PUM9q.js +1 -0
  217. package/dist/client/assets/content-BxUPlcx5.js +1 -0
  218. package/dist/client/assets/content-CIC5sku8.js +1 -0
  219. package/dist/client/assets/content-CKJ9zb7Z.js +1 -0
  220. package/dist/client/assets/content-CdkTyxqk.js +1 -0
  221. package/dist/client/assets/content-CnhhSCZq.js +1 -0
  222. package/dist/client/assets/content-D1Ze_FG9.js +1 -0
  223. package/dist/client/assets/content-DY3F9Vfr.js +1 -0
  224. package/dist/client/assets/content-DrKBYpcb.js +1 -0
  225. package/dist/client/assets/content-LSStQYj5.js +1 -0
  226. package/dist/client/assets/content-YvU-D0hF.js +1 -0
  227. package/dist/client/assets/content-oKQMyVnH.js +1 -0
  228. package/dist/client/assets/{context-budget-DemtXu7E.js → context-budget-8qFKqM-j.js} +1 -1
  229. package/dist/client/assets/{conversation-icons-BQ4OeOmr.js → conversation-icons-CIRaxmid.js} +1 -1
  230. package/dist/client/assets/{conversation-model-BGFHoxQ0.js → conversation-model-m8HhzroS.js} +1 -1
  231. package/dist/client/assets/conversation-motion-features-D9PxLoDt.js +1 -0
  232. package/dist/client/assets/{copy-D9WUpQRf.js → copy-BGOC1tJB.js} +1 -1
  233. package/dist/client/assets/{cpu-Ck_4tB_-.js → cpu-Q6nrHFTN.js} +1 -1
  234. package/dist/client/assets/{createLucideIcon-DkjnzvcJ.js → createLucideIcon-ChvMq-zl.js} +1 -1
  235. package/dist/client/assets/{credentials-C4VXz2hr.js → credentials-OeoF-VKJ.js} +1 -1
  236. package/dist/client/assets/discover-DlwbftpC.js +2 -0
  237. package/dist/client/assets/embed-entry-c0lwtjBG.js +2 -0
  238. package/dist/client/assets/{external-link-RT4Ph-6-.js → external-link-BVccgH0n.js} +1 -1
  239. package/dist/client/assets/{eye-CtqSV8BS.js → eye-CsGfEVR6.js} +1 -1
  240. package/dist/client/assets/{file-code-corner-D_Aptal2.js → file-code-corner-Be6da5l3.js} +1 -1
  241. package/dist/client/assets/{file-text-ChtICwub.js → file-text-DP6txVW-.js} +1 -1
  242. package/dist/client/assets/{flag-CqdOxVkI.js → flag-DAFE2wZ5.js} +1 -1
  243. package/dist/client/assets/{floor-context-model-DZBpo_oD.js → floor-context-model-rWKqaKmV.js} +1 -1
  244. package/dist/client/assets/{floor-message-passes-CJh9f8Jp.js → floor-message-passes-CO3Ix_wR.js} +1 -1
  245. package/dist/client/assets/{folder-0fWevPvQ.js → folder-B_S7gBVr.js} +1 -1
  246. package/dist/client/assets/{gauge-Dgtfxf_o.js → gauge-DQCGlE3o.js} +1 -1
  247. package/dist/client/assets/{gestures-BDCZ1FRG.js → gestures-CofqY4Km.js} +1 -1
  248. package/dist/client/assets/{git-branch-CA3cHKCI.js → git-branch-DcUCsWdJ.js} +1 -1
  249. package/dist/client/assets/{go-shortcuts-DKtw4qYx.js → go-shortcuts-KQy-ZOpV.js} +1 -1
  250. package/dist/client/assets/{home-moving-signal-B7m-ngb2.js → home-moving-signal-BIHUGNfI.js} +1 -1
  251. package/dist/client/assets/home-now-card-CaLgZze2.js +1 -0
  252. package/dist/client/assets/{home-now-card-nano-D1ScGrgv.js → home-now-card-nano-CvU8B61b.js} +1 -1
  253. package/dist/client/assets/hooks-DaUOREpP.js +2 -0
  254. package/dist/client/assets/index-CGbs0SBm.css +1 -0
  255. package/dist/client/assets/index-CbqBwfIW.js +1 -0
  256. package/dist/client/assets/index-CyPMl7Up.js +1 -0
  257. package/dist/client/assets/index-DReVb7jZ.js +10 -0
  258. package/dist/client/assets/index-PQpJveGO.js +1 -0
  259. package/dist/client/assets/{index-CvsM3jm8.js → index-kkXUq-zf.js} +1 -1
  260. package/dist/client/assets/{inspector-panel-BLhDODb3.js → inspector-panel-CLU7wjnT.js} +2 -2
  261. package/dist/client/assets/{keyboard-nav-CXfav14z.js → keyboard-nav-CJXPaHXj.js} +1 -1
  262. package/dist/client/assets/lane-ask-display-BTVSakyo.js +18 -0
  263. package/dist/client/assets/{lane-observe-BD21P8BB.js → lane-observe-CteDwdD-.js} +3 -3
  264. package/dist/client/assets/{lane-roster-store-DzNHP392.js → lane-roster-store-Ch9t6lb0.js} +1 -1
  265. package/dist/client/assets/{layers-Bolb8ejU.js → layers-BOwyWodP.js} +1 -1
  266. package/dist/client/assets/{layout-grid-DI9tVJ2E.js → layout-grid-B36Qsh0y.js} +1 -1
  267. package/dist/client/assets/left-0vBrvrBG.js +2 -0
  268. package/dist/client/assets/left-C6SyaqlJ.js +1 -0
  269. package/dist/client/assets/left-CTuXysZR.js +2 -0
  270. package/dist/client/assets/left-Cc6s4DT2.js +1 -0
  271. package/dist/client/assets/left-DF5caiyh.js +1 -0
  272. package/dist/client/assets/left-DgT4tWCx.js +1 -0
  273. package/dist/client/assets/left-R0wppTTr.js +1 -0
  274. package/dist/client/assets/left-advisor-C-kt8V28.js +1 -0
  275. package/dist/client/assets/left-agents-thnBO156.js +1 -0
  276. package/dist/client/assets/left-default-CT42fnpF.js +1 -0
  277. package/dist/client/assets/left-lanes-CSmZgciK.js +1 -0
  278. package/dist/client/assets/left-mission-C86x6i9h.js +1 -0
  279. package/dist/client/assets/library-DdhYL_9v.js +1 -0
  280. package/dist/client/assets/{loader-circle-DurUYl7E.js → loader-circle-DNUsuPWz.js} +1 -1
  281. package/dist/client/assets/{local-agents-D9fYYRyj.js → local-agents-I40PawYA.js} +1 -1
  282. package/dist/client/assets/{machine-children-RGS4Q0r6.js → machine-children-CdhNzDF0.js} +1 -1
  283. package/dist/client/assets/{mentions-Ctw1ECUC.js → mentions-Ck_Vjnyp.js} +1 -1
  284. package/dist/client/assets/{mesh-ops-CGpRk4ik.js → mesh-ops-DSlvHp-D.js} +1 -1
  285. package/dist/client/assets/{mesh-view-store-CliSYsmt.js → mesh-view-store-C1-mdP3P.js} +1 -1
  286. package/dist/client/assets/{message-circle-CSiJj6yo.js → message-circle-cI5_A5mj.js} +1 -1
  287. package/dist/client/assets/{message-markup-DgFSyb3f.js → message-markup-6Tgo4qFJ.js} +1 -1
  288. package/dist/client/assets/{message-square-NmXWtWLR.js → message-square-CJW4WRlo.js} +1 -1
  289. package/dist/client/assets/{mission-control-store-DZ29Mlj1.js → mission-control-store-p_cboAm4.js} +1 -1
  290. package/dist/client/assets/monitor-C7_cHlkC.js +1 -0
  291. package/dist/client/assets/{nav-destinations-CyXnw9kh.js → nav-destinations-CU_euC-Q.js} +1 -1
  292. package/dist/client/assets/{observe-CkfOxYx_.js → observe-CtS0l3zu.js} +1 -1
  293. package/dist/client/assets/{operator-attention-DGR4kOog.js → operator-attention-DBaRg5ep.js} +1 -1
  294. package/dist/client/assets/{page-status-CkS3SZu-.js → page-status-DwFR4wSw.js} +1 -1
  295. package/dist/client/assets/{panel-right-BNTJhy8M.js → panel-right-qP17MwMl.js} +1 -1
  296. package/dist/client/assets/{pause-DWS7YGQ3.js → pause-B_hliKuR.js} +1 -1
  297. package/dist/client/assets/{persistent-state-xsuk6Kc-.js → persistent-state-BUsTTZFE.js} +1 -1
  298. package/dist/client/assets/{pin-DWlD1BOF.js → pin-Oi4qHR6M.js} +1 -1
  299. package/dist/client/assets/{play-D_Pggug4.js → play-CVeRmqLH.js} +1 -1
  300. package/dist/client/assets/{plus-D_wLGJGT.js → plus-D5NLH_fM.js} +1 -1
  301. package/dist/client/assets/profile-BegEUmB7.js +1 -0
  302. package/dist/client/assets/projects-inbox-CKPLZN8s.css +1 -0
  303. package/dist/client/assets/{projects-inbox-DvbqJO3q.js → projects-inbox-CfwxCTdN.js} +1 -1
  304. package/dist/client/assets/provider-DwmCoSlc.js +1 -0
  305. package/dist/client/assets/{proxy-DOG46ja4.js → proxy-DgzP27W8.js} +1 -1
  306. package/dist/client/assets/{radio-C_jtwbFP.js → radio-Cas2qg1D.js} +1 -1
  307. package/dist/client/assets/{refresh-cw-Da9DDLk2.js → refresh-cw-IcD2lPoT.js} +1 -1
  308. package/dist/client/assets/resolve-panes-pfZTezKo.js +1 -0
  309. package/dist/client/assets/resolve-sidebar-context-D5ksvrb_.js +1 -0
  310. package/dist/client/assets/right-BDaCJ0CF.js +1 -0
  311. package/dist/client/assets/right-BP6lXRFS.js +1 -0
  312. package/dist/client/assets/right-Cb1VCrdj.js +1 -0
  313. package/dist/client/assets/right-CeFaxfBo.js +1 -0
  314. package/dist/client/assets/right-Ck2SrYCj.js +1 -0
  315. package/dist/client/assets/right-D-uv5YfF.js +1 -0
  316. package/dist/client/assets/right-DJMSICky.js +1 -0
  317. package/dist/client/assets/right-Dnljs8ah.js +1 -0
  318. package/dist/client/assets/right-SdCSF8PP.js +1 -0
  319. package/dist/client/assets/{right-BLJsc2-p.js → right-cjPTwPXS.js} +1 -1
  320. package/dist/client/assets/{rocket-DyrYDo8V.js → rocket-DAqYvu8I.js} +1 -1
  321. package/dist/client/assets/router-C-MF5-mb.js +1 -0
  322. package/dist/client/assets/{runtime-picker-DdsttHHc.js → runtime-picker-C_AVYF63.js} +1 -1
  323. package/dist/client/assets/{scope-views-B7PZGlhY.js → scope-views-Dl3ml9OZ.js} +1 -1
  324. package/dist/client/assets/{scout-voice-DOQ_B77g.js → scout-voice-CqAyfblr.js} +1 -1
  325. package/dist/client/assets/{scoutbot-markdown-Bz0Vbto2.js → scoutbot-markdown-DwvGQOWo.js} +1 -1
  326. package/dist/client/assets/{scroll-text-DwC8r2g6.js → scroll-text-B0tKI9Sg.js} +1 -1
  327. package/dist/client/assets/{search-C4VlW_0l.js → search-UsM-9-_W.js} +1 -1
  328. package/dist/client/assets/secondaryNavConfig-D15P1Y9k.css +1 -0
  329. package/dist/client/assets/secondaryNavConfig-DzNHk6IH.js +1 -0
  330. package/dist/client/assets/{selection-bridge-B5jqyMR9.js → selection-bridge-OTS2iFkt.js} +1 -1
  331. package/dist/client/assets/{send-horizontal-pOtGI7FM.js → send-horizontal-BlQsRK6C.js} +1 -1
  332. package/dist/client/assets/{send-to-agent-session-BZGq_ycy.js → send-to-agent-session-C1mgqdow.js} +1 -1
  333. package/dist/client/assets/{server-ms1yxUYJ.js → server-DBlPW0Mp.js} +1 -1
  334. package/dist/client/assets/{session-catalog-s-T_w41t.js → session-catalog-CnpZMB7C.js} +1 -1
  335. package/dist/client/assets/{session-table-CDx_16xf.js → session-table-CGkfG5Yd.js} +1 -1
  336. package/dist/client/assets/{sessions-view-DzYGsKWS.js → sessions-view-Bge4XZ4I.js} +1 -1
  337. package/dist/client/assets/{settings-TJIkkZ0P.js → settings-C69Zjrpq.js} +1 -1
  338. package/dist/client/assets/{shared-work-artifacts-4IIQXQfc.js → shared-work-artifacts-DfNl9KTo.js} +1 -1
  339. package/dist/client/assets/{sliders-horizontal-CHf3ntw0.js → sliders-horizontal-6bzeod7c.js} +1 -1
  340. package/dist/client/assets/{sparkles-BbOFw3d0.js → sparkles-Cc5lPZRv.js} +1 -1
  341. package/dist/client/assets/{sse-v5QLsOHV.js → sse-A8AyLH0g.js} +1 -1
  342. package/dist/client/assets/{tail-events-DQ46QBW1.js → tail-events-C4WdhVeK.js} +1 -1
  343. package/dist/client/assets/{terminal-96JWDYDL.js → terminal-DMZjX1es.js} +1 -1
  344. package/dist/client/assets/{terminal-relay-Bfx8pg80.js → terminal-relay-mO89dX-Y.js} +1 -1
  345. package/dist/client/assets/{terminal-sessions-Ch9aYlgi.js → terminal-sessions-3RfJpen8.js} +1 -1
  346. package/dist/client/assets/{terminal-takeover-BlpxpvSp.js → terminal-takeover-CZZsnPzj.js} +1 -1
  347. package/dist/client/assets/use-beside-D3cJpA5p.js +1 -0
  348. package/dist/client/assets/{use-conversation-list-A_YUf8lo.js → use-conversation-list-D5EnpVba.js} +1 -1
  349. package/dist/client/assets/{use-fleet-active-asks-DFs_u-vM.js → use-fleet-active-asks-D_QOmjg5.js} +1 -1
  350. package/dist/client/assets/{use-mesh-node-state-Ck9CYplv.js → use-mesh-node-state-3V3ADQ-G.js} +1 -1
  351. package/dist/client/assets/{use-mesh-ops-items-Be1WmwCg.js → use-mesh-ops-items-DI9GKWlF.js} +1 -1
  352. package/dist/client/assets/{use-reduced-motion-D7n3vK8t.js → use-reduced-motion-CiaZHMnk.js} +1 -1
  353. package/dist/client/assets/use-scout-dev-flags-CkdAHlDR.js +1 -0
  354. package/dist/client/assets/{useAgentHoverCard-Dr-OjNFF.js → useAgentHoverCard-A3QGXqIy.js} +1 -1
  355. package/dist/client/assets/useContentSecondaryNav-DrL_nkCZ.js +1 -0
  356. package/dist/client/assets/{useEmbedHeadline-BL8wQawZ.js → useEmbedHeadline-atkQVfGw.js} +1 -1
  357. package/dist/client/assets/usePersistentState-Y8XwSTg-.js +1 -0
  358. package/dist/client/assets/{usePierreRuntime-DJkRHMoe.js → usePierreRuntime-DTvcwISe.js} +1 -1
  359. package/dist/client/assets/users-RLK3P5U4.js +1 -0
  360. package/dist/client/assets/{wrench-BsMTSeji.js → wrench-B4maQJai.js} +1 -1
  361. package/dist/client/assets/{x-DI1ktCYb.js → x-rlMdRqJF.js} +1 -1
  362. package/dist/client/assets/{xterm-B1YBE4Gq.js → xterm-B1zHHOLQ.js} +1 -1
  363. package/dist/client/assets/{zap-sKPkh4sQ.js → zap-B4X0OrEw.js} +1 -1
  364. package/dist/client/index.html +15 -3
  365. package/dist/drizzle/0019_session_actor_targets.sql +227 -0
  366. package/dist/drizzle/README.md +19 -0
  367. package/dist/drizzle/meta/0019_snapshot.json +6804 -0
  368. package/dist/drizzle/meta/_journal.json +7 -0
  369. package/dist/highlights-eq9cgrbb.scm +604 -0
  370. package/dist/highlights-ghv9g403.scm +205 -0
  371. package/dist/highlights-hk7bwhj4.scm +284 -0
  372. package/dist/highlights-r812a2qc.scm +150 -0
  373. package/dist/highlights-x6tmsnaa.scm +115 -0
  374. package/dist/injections-73j83es3.scm +27 -0
  375. package/dist/main.mjs +1214 -722
  376. package/dist/node/main.mjs +133 -22
  377. package/dist/pairing-runtime-controller.mjs +715 -492
  378. package/dist/runtime/base-daemon.mjs +14176 -58
  379. package/dist/runtime/broker-daemon.mjs +15520 -445
  380. package/dist/runtime/broker-process-manager.mjs +5 -3
  381. package/dist/runtime/mesh-discover.mjs +5 -3
  382. package/dist/scout-control-plane-web.mjs +21065 -3387
  383. package/dist/tree-sitter-javascript-nd0q4pe9.wasm +0 -0
  384. package/dist/tree-sitter-markdown-411r6y9b.wasm +0 -0
  385. package/dist/tree-sitter-markdown_inline-j5349f42.wasm +0 -0
  386. package/dist/tree-sitter-typescript-zxjzwt75.wasm +0 -0
  387. package/dist/tree-sitter-zig-e78zbjpm.wasm +0 -0
  388. package/dist/update-helper.mjs +83 -17
  389. package/package.json +2 -2
  390. package/dist/client/assets/ActivityScreen-DCALiEXY.js +0 -1
  391. package/dist/client/assets/AgentAdventures-NwTKeF0F.js +0 -1
  392. package/dist/client/assets/AgentConfigurationScreen-B2Hw0ce1.js +0 -1
  393. package/dist/client/assets/AgentDefinitionsWorkspace-CwZJ833X.js +0 -1
  394. package/dist/client/assets/AgentFloorView-l2wNKFob.js +0 -1
  395. package/dist/client/assets/AgentInfoScreen-ClZM1wQb.js +0 -1
  396. package/dist/client/assets/AgentLanesEmbedScreen-DqHwqY0X.js +0 -1
  397. package/dist/client/assets/AgentMasterScreen-By6DN0jF.js +0 -1
  398. package/dist/client/assets/AgentsConsole-Dq0S_hRA.js +0 -1
  399. package/dist/client/assets/AgentsScreen-Bi9Lx47B.js +0 -1
  400. package/dist/client/assets/AgentsSubnav-BOobgtGE.js +0 -1
  401. package/dist/client/assets/BriefingDetailScreen-sprFl4Nk.js +0 -1
  402. package/dist/client/assets/BrokerScreen-CejzhRsB.js +0 -8
  403. package/dist/client/assets/ConversationFeedRows-DVqnZQH0.js +0 -1
  404. package/dist/client/assets/ConversationHeader-CCSU8uo_.js +0 -1
  405. package/dist/client/assets/ConversationScreen-tTP6B_F-.js +0 -2
  406. package/dist/client/assets/CrewWorkspaces-4O8dgRUD.js +0 -1
  407. package/dist/client/assets/CrewWorkspaces-Diq11KDq.css +0 -1
  408. package/dist/client/assets/FlightObserveScreen-DDXfNbsw.js +0 -1
  409. package/dist/client/assets/FloorResourcesSheet-Djrgd_ZU.js +0 -1
  410. package/dist/client/assets/HarnessMark-Bt47OeHy.js +0 -1
  411. package/dist/client/assets/HarnessesScreen-M84sFjWY.js +0 -1
  412. package/dist/client/assets/KnowledgeSearchScreen-WC0WhFio.js +0 -1
  413. package/dist/client/assets/LaneTraceDetailSheet-mAhj7MJi.js +0 -1
  414. package/dist/client/assets/MeshScreen-DlfiMlaR.js +0 -1
  415. package/dist/client/assets/MessagesScreen-BZ7yaGJx.js +0 -1
  416. package/dist/client/assets/MissionControlView-DpGhxG4a.js +0 -1
  417. package/dist/client/assets/MissionLeftAgentRow-DhhRRim0.js +0 -1
  418. package/dist/client/assets/NativeAreaScreen-BQyHHRAM.js +0 -1
  419. package/dist/client/assets/NativeAreaScreen-Ditv-TYW.js +0 -1
  420. package/dist/client/assets/NativeAreaScreen-Dq3uPSEI.js +0 -1
  421. package/dist/client/assets/NewChatComposer-JjLbm3W2.js +0 -19
  422. package/dist/client/assets/OpenScoutAppShell-CzKbjwCA.js +0 -22
  423. package/dist/client/assets/OpsAgentsView-CZbtkcQH.js +0 -1
  424. package/dist/client/assets/OpsScreen-DJq-aBmX.js +0 -1
  425. package/dist/client/assets/OpsSubnav-9sURjajO.js +0 -1
  426. package/dist/client/assets/ProjectAgentProfile-q_1tMJIL.js +0 -1
  427. package/dist/client/assets/ProjectAgentProfileHero-DyEFyTFs.js +0 -1
  428. package/dist/client/assets/ProjectsInbox-Bs8I__my.js +0 -2
  429. package/dist/client/assets/ProjectsRail-Deb38OJ1.js +0 -1
  430. package/dist/client/assets/ProjectsScreen-CgLiYiss.js +0 -1
  431. package/dist/client/assets/ProjectsThreadAside-C0Yw3yIL.js +0 -1
  432. package/dist/client/assets/RawSessionsTable-DIhmlvk-.js +0 -1
  433. package/dist/client/assets/RealtimeVoiceScreen-3oU7b7V5.js +0 -1
  434. package/dist/client/assets/RepoDiffViewerLazy-BQ6ZCrsq.js +0 -2
  435. package/dist/client/assets/SessionRefScreen-BOQ1_ydg.js +0 -1
  436. package/dist/client/assets/SessionsScreen-R8QKvoey.js +0 -1
  437. package/dist/client/assets/SettingsScreen-DirtO7Z0.js +0 -1
  438. package/dist/client/assets/SharedWorkFloor-yPWFLZwX.js +0 -2
  439. package/dist/client/assets/Terminal-D-DsQlmV.js +0 -4
  440. package/dist/client/assets/TerminalEmbedScreen-9Gmln759.js +0 -1
  441. package/dist/client/assets/WorldActorTalk-uIH2jGqA.js +0 -1
  442. package/dist/client/assets/agent-autocomplete-CeHQpuG9.js +0 -10
  443. package/dist/client/assets/arrow-down-WoVlkUmg.js +0 -1
  444. package/dist/client/assets/chunk-JTPDIGGW-ZC-98AHT.js +0 -46
  445. package/dist/client/assets/chunk-T65CQEWV-CSVUz2rY.js +0 -1
  446. package/dist/client/assets/chunk-YOZR3KYS-B59jqwO0.js +0 -2
  447. package/dist/client/assets/content-B5Q4pb9R.js +0 -1
  448. package/dist/client/assets/content-BK1IfOZs.js +0 -1
  449. package/dist/client/assets/content-BeEsWLEm.js +0 -1
  450. package/dist/client/assets/content-BkOwEknW.js +0 -1
  451. package/dist/client/assets/content-C32W5kAG.js +0 -1
  452. package/dist/client/assets/content-CoqyLs9v.js +0 -1
  453. package/dist/client/assets/content-CwpdIS5b.js +0 -1
  454. package/dist/client/assets/content-DS2OkJ3Q.js +0 -1
  455. package/dist/client/assets/content-DXKaPDfn.js +0 -1
  456. package/dist/client/assets/content-DZt5-dkI.js +0 -1
  457. package/dist/client/assets/content-DbQJH8L1.js +0 -1
  458. package/dist/client/assets/content-DetoiaHq.js +0 -1
  459. package/dist/client/assets/content-Dhu3wL7J.js +0 -1
  460. package/dist/client/assets/content-Dpv34iZu.js +0 -1
  461. package/dist/client/assets/content-TtQJb61D.js +0 -1
  462. package/dist/client/assets/content-ymNb2R7g.js +0 -1
  463. package/dist/client/assets/conversation-motion-features-9x8uZpwh.js +0 -1
  464. package/dist/client/assets/discover-C8IOY7_K.js +0 -2
  465. package/dist/client/assets/embed-entry-CG3CfCbm.js +0 -2
  466. package/dist/client/assets/home-now-card-DduXkHRR.js +0 -1
  467. package/dist/client/assets/hooks-C6VyQTQe.js +0 -2
  468. package/dist/client/assets/index-C5cX8dkl.js +0 -1
  469. package/dist/client/assets/index-C8uS5szO.js +0 -10
  470. package/dist/client/assets/index-Ck1__1yL.css +0 -1
  471. package/dist/client/assets/index-ClOOrVG1.js +0 -1
  472. package/dist/client/assets/index-Crtgfc9I.js +0 -1
  473. package/dist/client/assets/lane-ask-display-B6iCAVcd.js +0 -18
  474. package/dist/client/assets/left-B-_z_nqj.js +0 -2
  475. package/dist/client/assets/left-B1LY7rJc.js +0 -1
  476. package/dist/client/assets/left-C6bdjWcG.js +0 -2
  477. package/dist/client/assets/left-CF4iuqlz.js +0 -1
  478. package/dist/client/assets/left-DLtNyZl1.js +0 -1
  479. package/dist/client/assets/left-Fpxoq-VY.js +0 -1
  480. package/dist/client/assets/left-N2wXfTlp.js +0 -1
  481. package/dist/client/assets/left-advisor-CeIjCKbd.js +0 -1
  482. package/dist/client/assets/left-agents-upjHVlOj.js +0 -1
  483. package/dist/client/assets/left-default-08gmdCtb.js +0 -1
  484. package/dist/client/assets/left-lanes-Cvsp73Hw.js +0 -1
  485. package/dist/client/assets/left-mission-W1LLaz74.js +0 -1
  486. package/dist/client/assets/library-DLKBVUJ6.js +0 -1
  487. package/dist/client/assets/profile-C3KgiZvc.js +0 -1
  488. package/dist/client/assets/projects-inbox-BIW7nv-H.css +0 -1
  489. package/dist/client/assets/resolve-panes-DuowGRTk.js +0 -1
  490. package/dist/client/assets/resolve-sidebar-context-BkTbqteq.js +0 -1
  491. package/dist/client/assets/right-B9OUA6Ho.js +0 -1
  492. package/dist/client/assets/right-BDQnjetX.js +0 -1
  493. package/dist/client/assets/right-BUbKHmRH.js +0 -1
  494. package/dist/client/assets/right-Ci2IcD4s.js +0 -1
  495. package/dist/client/assets/right-CmCce3e5.js +0 -1
  496. package/dist/client/assets/right-D7w0zM5a.js +0 -1
  497. package/dist/client/assets/right-DIoON_bv.js +0 -1
  498. package/dist/client/assets/right-E0Jr3VN5.js +0 -1
  499. package/dist/client/assets/right-lCdAk9dW.js +0 -1
  500. package/dist/client/assets/router-BKiMcYa7.js +0 -1
  501. package/dist/client/assets/secondaryNavConfig-DAXIFtVd.js +0 -1
  502. package/dist/client/assets/secondaryNavConfig-xssF_ubT.css +0 -1
  503. package/dist/client/assets/use-beside-Df-F2Uvg.js +0 -1
  504. package/dist/client/assets/use-scout-dev-flags-0TXfQcG0.js +0 -1
  505. package/dist/client/assets/useContentSecondaryNav-CGvMOVGY.js +0 -1
@@ -1,12 +1,12 @@
1
- import{r as h,j as t}from"./index-C8uS5szO.js";import{f as Ne}from"./bash-format-BRV5C6Gv.js";import{j as Ls,p as Ye,k as Es}from"./tail-display-DHSNmvor.js";import{l as Rs}from"./lane-edit-display-BjdT9oZl.js";import{f as Ps}from"./lane-tool-detail-Czggx8oM.js";import{useLaneToolHoverCard as Os}from"./LaneToolHoverCard-C6YehJqD.js";import{e as As,L as Be,g as Is,h as Bs,j as _e,o as _s,a as Fe,f as Fs,k as Ds,m as we,b as Xe,l as Ze}from"./lane-observe-BD21P8BB.js";import{b as Ws}from"./lane-ask-display-B6iCAVcd.js";import{a as zs}from"./colors-CFlbwC25.js";import{a as Ce}from"./api-CaROe5_H.js";import{r as Qe}from"./mentions-Ctw1ECUC.js";import{a as Ms,g as es,t as Hs,b as Gs,d as qs,n as De}from"./time-Dhsh_2EG.js";import{M as ss}from"./message-markup-DgFSyb3f.js";import{q as Us}from"./terminal-takeover-BlpxpvSp.js";import{C as We,D as Vs,E as Ks}from"./NewChatComposer-JjLbm3W2.js";import{u as Se}from"./Provider-5Hotn7NQ.js";import{o as Js}from"./openContent-C6XO6kr5.js";import{O as Ys}from"./ObservedTopologyPanel-DkEkQzo-.js";import{M as Xs}from"./runtime-picker-DdsttHHc.js";import"./index-C5cX8dkl.js";import{ObserveReasoningDisclosure as Zs,ObserveStreamCursor as ze}from"./ObserveTextFlow-ET0dD1wO.js";import{SessionObserveReceiptView as Qs}from"./SessionObserveEvidence-Drv-D8Oh.js";import{M as et}from"./message-circle-CSiJj6yo.js";import{W as st}from"./wrench-BsMTSeji.js";import{E as tt}from"./external-link-RT4Ph-6-.js";import{C as ts}from"./chevron-up-BHOEgHcn.js";import{C as ns}from"./chevron-down-B5eMsn5c.js";import{c as nt}from"./createLucideIcon-DkjnzvcJ.js";const at=[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]],rt=nt("tag",at),Te=new Set(["bash","shell","terminal","exec","run","command","exec_command","shell_command","local_shell","container_exec","container.exec"]);function _(e){return(e??"").trim()}function V(e){return[e.kind,_(e.tool),_(e.arg),_(e.text),_(e.detail)].join("|")}function ot(e){if(e.kind!=="tool"||!e.tool||e.result)return!1;const s=_(e.arg).toLowerCase();return s==="started"||s.length>0&&s!=="completed"}function lt(e){return e.kind!=="tool"||!e.tool?!1:_(e.arg).toLowerCase()==="completed"||!!e.result?.outcome}const as=/^permission requested · ([A-Za-z][\w-]*)$/i,rs=/^permission ([a-z_]+) · ([A-Za-z][\w-]*)$/i;function $e(e){return e.kind==="system"&&as.test(e.text.trim())}function Le(e){return e.kind==="system"&&rs.test(e.text.trim())}function fe(e){const s=e.text.trim(),n=s.match(as);if(n?.[1])return n[1];const a=s.match(rs);return a?.[2]?a[2]:null}function la(e){const s=new Set;for(const n of e)if($e(n)){const a=fe(n);a&&s.add(a)}else if(Le(n)){const a=fe(n);a&&s.delete(a)}return s.size>0}function it(e,s){const n=e.text.trim();return{...e,text:s>1?`${n}
1
+ import{r as h,j as t}from"./index-DReVb7jZ.js";import{f as Ne}from"./bash-format-BRV5C6Gv.js";import{j as Ls,p as Ye,k as Es}from"./tail-display-DHSNmvor.js";import{l as Rs}from"./lane-edit-display-BjdT9oZl.js";import{f as Ps}from"./lane-tool-detail-Czggx8oM.js";import{useLaneToolHoverCard as Os}from"./LaneToolHoverCard-D2cnTeUd.js";import{e as As,L as Be,g as Is,h as Bs,j as _e,o as _s,a as Fe,f as Fs,k as Ds,m as we,b as Xe,l as Ze}from"./lane-observe-CteDwdD-.js";import{b as Ws,c as zs}from"./lane-ask-display-BTVSakyo.js";import{a as Ms}from"./colors-CFlbwC25.js";import{a as Ce}from"./api-DSqpVKC7.js";import{r as Qe}from"./mentions-Ck_Vjnyp.js";import{a as Hs,g as es,t as Gs,b as qs,d as Us,n as De}from"./time-Dhsh_2EG.js";import{M as ss}from"./message-markup-6Tgo4qFJ.js";import{q as Vs}from"./terminal-takeover-CZZsnPzj.js";import{C as We,D as Ks,E as Js}from"./NewChatComposer-BEXS8vV6.js";import{u as Se}from"./Provider-CNZluAZb.js";import{o as Ys}from"./openContent-C6XO6kr5.js";import{O as Xs}from"./ObservedTopologyPanel-DF6tRZL_.js";import{M as Zs}from"./runtime-picker-C_AVYF63.js";import"./index-CbqBwfIW.js";import{ObserveReasoningDisclosure as Qs,ObserveStreamCursor as ze}from"./ObserveTextFlow-CC5mnngm.js";import{SessionObserveReceiptView as et}from"./SessionObserveEvidence-CS1aQBpQ.js";import{M as st}from"./message-circle-cI5_A5mj.js";import{W as tt}from"./wrench-B4maQJai.js";import{E as nt}from"./external-link-BVccgH0n.js";import{C as ts}from"./chevron-up-DX7R6KY2.js";import{C as ns}from"./chevron-down-CDzRQQGl.js";import{c as at}from"./createLucideIcon-ChvMq-zl.js";const rt=[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]],ot=at("tag",rt),Te=new Set(["bash","shell","terminal","exec","run","command","exec_command","shell_command","local_shell","container_exec","container.exec"]);function _(e){return(e??"").trim()}function V(e){return[e.kind,_(e.tool),_(e.arg),_(e.text),_(e.detail)].join("|")}function lt(e){if(e.kind!=="tool"||!e.tool||e.result)return!1;const s=_(e.arg).toLowerCase();return s==="started"||s.length>0&&s!=="completed"}function it(e){return e.kind!=="tool"||!e.tool?!1:_(e.arg).toLowerCase()==="completed"||!!e.result?.outcome}const as=/^permission requested · ([A-Za-z][\w-]*)$/i,rs=/^permission ([a-z_]+) · ([A-Za-z][\w-]*)$/i;function $e(e){return e.kind==="system"&&as.test(e.text.trim())}function Le(e){return e.kind==="system"&&rs.test(e.text.trim())}function fe(e){const s=e.text.trim(),n=s.match(as);if(n?.[1])return n[1];const a=s.match(rs);return a?.[2]?a[2]:null}function ia(e){const s=new Set;for(const n of e)if($e(n)){const a=fe(n);a&&s.add(a)}else if(Le(n)){const a=fe(n);a&&s.delete(a)}return s.size>0}function ct(e,s){const n=e.text.trim();return{...e,text:s>1?`${n}
2
2
 
3
- (${s} reasoning updates)`:n}}function ct(e,s){const n=s.tool??e.tool,a=s.result?.outcome,r=e.arg&&e.arg!=="started"&&e.arg!=="completed"?e.arg:s.arg&&s.arg!=="completed"?s.arg:void 0,o=s.stream?.join(`
4
- `)??"",l=r?o.trim()?`${n} · ${r} · ${o}`:a?`${n} · ${r} · ${a}`:`${n} · ${r}`:s.text.trim()||(a?`${n} completed · ${a}`:`${n} completed`);return{...s,tool:n,arg:r??"completed",text:l,stream:s.stream??e.stream,diff:s.diff??e.diff,detail:s.detail??e.detail,live:s.live??e.live}}function ut(e){if(e.kind!=="tool"||!e.tool)return!1;const s=_(e.tool).toLowerCase();if(!Te.has(s))return!1;const n=_(e.arg);return n.length>0&&n!=="started"&&n!=="completed"}function dt(e){if(e.kind!=="tool")return!1;const s=_(e.tool).toLowerCase();return s==="res"?!!(_(e.arg)||(e.stream?.length??0)>0):Te.has(s)?(e.stream?.length??0)>0:!1}function mt(e){return(e.stream?.length??0)>0?e.stream.join(`
5
- `):_(e.tool).toLowerCase()==="res"?e.arg??"":""}function ht(e,s){const n=mt(s),a=_(e.arg),r=e.tool??s.tool,o=n.trim()?`${r} · ${a} · ${n}`:e.text;return{...e,id:s.id,t:s.t,at:s.at,result:s.result??e.result,stream:n.trim()?[n]:s.stream??e.stream,diff:s.diff??e.diff,detail:s.detail??e.detail,text:o,live:s.live??e.live}}function Me(e){if(e.kind!=="tool"||e.diff||(e.stream?.length??0)>0)return!1;const s=(e.tool??"").trim(),n=(e.arg??"").trim();if(!s||n==="started"||n==="completed")return!1;const a=e.result?.outcome;if(a!=null&&a!=="success"&&a!==0||e.result&&Object.keys(e.result).length>1)return!1;const r=s.toLowerCase();if(Te.has(r)){if(!n||n.startsWith("{")||n.startsWith("["))return!1;const{dir:o,spans:l}=Ne(n);if(o)return!1;const c=l.filter(u=>u.tier==="prog");return c.length===1&&l.length===1&&c[0].text.length<=64}return n&&n!==s||/\s/u.test(s)?!1:s.length<=64}function ft(e){return Math.max(1,e.repeatCount)}function bt(e){const s=e.result?.outcome;if(s==null)return!1;if(typeof s=="number")return s!==0;const n=s.trim().toLowerCase();return n.length>0&&n!=="0"&&n!=="ok"&&n!=="success"&&n!=="succeeded"&&n!=="completed"}function pt(e){if(e.live||e.kind==="boot")return!0;if(e.kind==="tool")return!!e.diff||bt(e);if(e.kind==="note"){const s=e.text.trim().toLowerCase();return s==="turn started"||s==="turn complete"||s==="turn ended"||s==="[turn_started]"||s==="[turn_ended]"||/^turn \d+\b/u.test(s)}if(e.kind==="system"){const s=e.text.trim();return $e(e)||Le(e)||/\b(?:approval|permission|denied|failed|failure|error|exception|aborted|blocked)\b/i.test(s)}return!1}function vt(e){return e.kind==="ask"||e.kind==="message"?!1:!pt(e)}function le(e,s,n=`${s}s`){return`${e} ${e===1?s:n}`}function xt(e){const s={totalCount:0,toolCount:0,thinkCount:0,noteCount:0,systemCount:0};for(const a of e){const r=ft(a);switch(s.totalCount+=r,a.event.kind){case"tool":s.toolCount+=r;break;case"think":s.thinkCount+=r;break;case"note":s.noteCount+=r;break;case"system":case"boot":s.systemCount+=r;break}}const n=[s.toolCount>0?le(s.toolCount,"tool"):null,s.thinkCount>0?le(s.thinkCount,"reasoning update"):null,s.noteCount>0?le(s.noteCount,"turn marker"):null,s.systemCount>0?le(s.systemCount,"system event"):null].filter(a=>!!a);return{...s,labels:n}}function gt(e){return e.labels.length>0?e.labels.join(" · "):le(e.totalCount,"technical event")}function jt(e){const s=e[0].event,n=e[e.length-1].event,a=xt(e),r=gt(a);return{event:{...n,id:`technical-rollup:${s.id}:${n.id}:${a.totalCount}`,kind:"note",text:r,detail:r,tool:void 0,arg:void 0,diff:void 0,result:void 0,stream:void 0,answer:void 0,answerT:void 0,to:void 0,live:e.some(o=>o.event.live)},repeatCount:1,technicalSummary:a,technicalSourceRows:e}}function kt(e){const s=[];let n=[];const a=()=>{n.length!==0&&(s.push(jt(n)),n=[])};for(const r of e){if(vt(r.event)){n.push(r);continue}a(),s.push(r)}return a(),s}function yt(e){const s=[];for(let n=0;n<e.length;n+=1){const a=e[n];if(!a)continue;const r=e[n+1];if(r&&$e(a)&&Le(r)&&_(fe(a)).toLowerCase()===_(fe(r)).toLowerCase()){const o={...r,live:r.live??a.live},l=V(o),c=s[s.length-1];c&&V(c.event)===l?(c.repeatCount+=1,c.event=o):s.push({event:o,repeatCount:1}),n+=1;continue}if(r&&ot(a)&&lt(r)&&_(a.tool).toLowerCase()===_(r.tool).toLowerCase()){const o=ct(a,r),l=V(o),c=s[s.length-1];c&&V(c.event)===l?(c.repeatCount+=1,c.event=o):s.push({event:o,repeatCount:1}),n+=1;continue}if(r&&ut(a)&&dt(r)&&(a.stream?.length??0)===0){const o=ht(a,r),l=V(o),c=s[s.length-1];c&&V(c.event)===l?(c.repeatCount+=1,c.event=o):s.push({event:o,repeatCount:1}),n+=1;continue}if(a.kind==="think"){let o=a,l=1;for(;e[n+l]?.kind==="think";){const u=e[n+l];if(!u)break;o=u,l+=1}const c=it(o,l);s.push({event:c,repeatCount:l}),n+=l-1;continue}if(a.kind!=="message"&&a.kind!=="ask"){const o=V(a),l=s[s.length-1];if(l&&V(l.event)===o){l.repeatCount+=1,l.event=a;continue}}s.push({event:a,repeatCount:1})}return s}function Nt(e){return e.source==="broker"||e.source==="unavailable"||!Number.isFinite(e.eventCount)?0:Math.max(0,Math.floor(e.eventCount))}function wt(e){return e===0?"No trace events":`${e} event${e===1?"":"s"}`}function os(e){const s=Nt(e),n=wt(s);return e.source==="unavailable"?{label:"Trace unavailable",detail:"The session is known to the broker, but no readable event trace was captured.",tone:"unavailable",replayable:!1,traceEventCount:0,eventCountLabel:n,receiptOnly:!1}:e.source==="broker"?{label:"Session setup receipts",detail:"The broker recorded session setup, but no observed trace activity is available.",tone:"reconstructed",replayable:!1,traceEventCount:0,eventCountLabel:n,receiptOnly:!0}:e.fidelity==="timestamped"&&e.source==="live"&&e.live&&s>0?{label:"Live observed events",detail:"New timestamped events will appear here while the session runs.",tone:"live",replayable:s>1,traceEventCount:s,eventCountLabel:n,receiptOnly:!1}:e.fidelity==="timestamped"&&s===0?{label:"Attached · no trace events",detail:"This worker is attached but is not emitting trace events.",tone:"reconstructed",replayable:!1,traceEventCount:0,eventCountLabel:n,receiptOnly:!1}:e.fidelity==="timestamped"?{label:"Recorded event history",detail:"This timeline is replayed from timestamped session history.",tone:"recorded",replayable:s>1,traceEventCount:s,eventCountLabel:n,receiptOnly:!1}:{label:"Reconstructed session evidence",detail:"Lifecycle and session attachment are available; fine-grained activity may be missing.",tone:"reconstructed",replayable:!1,traceEventCount:s,eventCountLabel:n,receiptOnly:!1}}async function Ct(e){await Ce("/api/local-path/reveal",{method:"POST",body:JSON.stringify({path:e.path,...e.basePath?{basePath:e.basePath}:{},...e.agentId?{agentId:e.agentId}:{},...e.sessionId?{sessionId:e.sessionId}:{}})})}const ls={think:"var(--dim)",tool:"var(--accent)",ask:"var(--amber)",message:"var(--muted)",note:"var(--green)",system:"var(--dim)",boot:"var(--dim)"},St={read:"◎",edit:"✎",bash:"$",grep:"⌕",write:"✎",think:"∿"},Tt=20,is=new Intl.NumberFormat("en-US"),$t=new Intl.NumberFormat("en-US",{notation:"compact",maximumFractionDigits:1});function be(e){if(!Number.isFinite(e)||e<=0)return"0s";const s=Math.floor(e);if(s<60)return`${s}s`;if(s<3600)return`${Math.floor(s/60)}m`;const n=Math.floor(s/3600),a=Math.floor(s%3600/60);return a>0?`${n}h${a}m`:`${n}h`}function Lt(e){return es(e*1e3)||"0:00"}function Et(e){return!Number.isFinite(e)||e<=0?"0s":be(e)}function pe(e,s){return _s(e,s)}function Rt(e,s,n,a=!1){const r=pe(e,s);return r!==null?a?{label:Fs(r,n),title:Fe(r)}:{label:Hs(r,n),title:Fe(r)}:a?{label:""}:{label:be(e.t)}}function Pt(e,s){const n=pe(e,s),a=Lt(e.t);return n!==null?{label:qs(n)||be(e.t),title:`${Gs(n)} · elapsed ${a}`}:{label:be(e.t),title:`Elapsed ${a} from session start`}}function He(e,s){return e>=Math.max(0,s-Tt)}function re(e){return typeof e!="number"||!Number.isFinite(e)?null:is.format(e)}function K(e){return typeof e!="number"||!Number.isFinite(e)?"—":Math.abs(e)<1e3?is.format(e):$t.format(e).toLowerCase()}function Ot(e){if(!Number.isFinite(e)||e<=0)return"0s";if(e<60)return`${Math.round(e)}s`;const s=Math.round(e),n=Math.floor(s/3600),a=Math.floor(s%3600/60),r=s%60;return n>0?`${n}h ${a}m`:a>=10||r===0?`${a}m`:`${a}m ${r}s`}function Ge(e){return!!e&&Object.keys(e).length>0}function ge(e){return e.filter(s=>!!s)}function ye(e){const n=e.replace(/[\\/]+$/,"").split(/[\\/]/).filter(Boolean);return n[n.length-1]??e}function At(e){Ct(e).catch(s=>{console.warn("Failed to reveal local path",s)})}function J({text:e,label:s="Copy",className:n}){const[a,r]=h.useState(!1),o=h.useRef(null);h.useEffect(()=>()=>{o.current&&clearTimeout(o.current)},[]);const l=h.useCallback(c=>{c.preventDefault(),c.stopPropagation();const u=e,b=()=>{r(!0),o.current&&clearTimeout(o.current),o.current=setTimeout(()=>r(!1),1100)};navigator.clipboard?.writeText?navigator.clipboard.writeText(u).then(b).catch(()=>{qe(u),b()}):(qe(u),b())},[e]);return t.jsx("button",{type:"button",className:`s-observe-copy-btn${a?" s-observe-copy-btn--copied":""}${n?` ${n}`:""}`,onClick:l,"aria-label":s,title:a?"Copied":s,children:a?t.jsx("svg",{width:"11",height:"11",viewBox:"0 0 11 11",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:t.jsx("path",{d:"M2 5.5l2.4 2.4L9 3.4"})}):t.jsxs("svg",{width:"11",height:"11",viewBox:"0 0 11 11",fill:"none",stroke:"currentColor",strokeWidth:"1.2",strokeLinejoin:"round","aria-hidden":"true",children:[t.jsx("rect",{x:"3.4",y:"3.4",width:"6.1",height:"6.1",rx:"1.2"}),t.jsx("path",{d:"M7.6 3.4V2.2a.8.8 0 0 0-.8-.8H2.2a.8.8 0 0 0-.8.8v4.6a.8.8 0 0 0 .8.8h1.2"})]})})}function qe(e){try{const s=document.createElement("textarea");s.value=e,s.style.position="fixed",s.style.opacity="0",s.style.pointerEvents="none",document.body.appendChild(s),s.select(),document.execCommand("copy"),document.body.removeChild(s)}catch(s){console.warn("Clipboard copy failed",s)}}function It(e){const s=[],n=[e.tool,e.arg].filter(Boolean).join(" ");return n&&s.push(n),e.result&&s.push(Object.entries(e.result).map(([a,r])=>`${a}: ${r}`).join(" · ")),e.diff&&(s.push(`+${e.diff.add}${e.diff.del>0?` -${e.diff.del}`:""}`),e.diff.preview&&s.push(e.diff.preview)),e.stream&&e.stream.length>0&&s.push(e.stream.join(`
3
+ (${s} reasoning updates)`:n}}function ut(e,s){const n=s.tool??e.tool,a=s.result?.outcome,r=e.arg&&e.arg!=="started"&&e.arg!=="completed"?e.arg:s.arg&&s.arg!=="completed"?s.arg:void 0,o=s.stream?.join(`
4
+ `)??"",l=r?o.trim()?`${n} · ${r} · ${o}`:a?`${n} · ${r} · ${a}`:`${n} · ${r}`:s.text.trim()||(a?`${n} completed · ${a}`:`${n} completed`);return{...s,tool:n,arg:r??"completed",text:l,stream:s.stream??e.stream,diff:s.diff??e.diff,detail:s.detail??e.detail,live:s.live??e.live}}function dt(e){if(e.kind!=="tool"||!e.tool)return!1;const s=_(e.tool).toLowerCase();if(!Te.has(s))return!1;const n=_(e.arg);return n.length>0&&n!=="started"&&n!=="completed"}function mt(e){if(e.kind!=="tool")return!1;const s=_(e.tool).toLowerCase();return s==="res"?!!(_(e.arg)||(e.stream?.length??0)>0):Te.has(s)?(e.stream?.length??0)>0:!1}function ht(e){return(e.stream?.length??0)>0?e.stream.join(`
5
+ `):_(e.tool).toLowerCase()==="res"?e.arg??"":""}function ft(e,s){const n=ht(s),a=_(e.arg),r=e.tool??s.tool,o=n.trim()?`${r} · ${a} · ${n}`:e.text;return{...e,id:s.id,t:s.t,at:s.at,result:s.result??e.result,stream:n.trim()?[n]:s.stream??e.stream,diff:s.diff??e.diff,detail:s.detail??e.detail,text:o,live:s.live??e.live}}function Me(e){if(e.kind!=="tool"||e.diff||(e.stream?.length??0)>0)return!1;const s=(e.tool??"").trim(),n=(e.arg??"").trim();if(!s||n==="started"||n==="completed")return!1;const a=e.result?.outcome;if(a!=null&&a!=="success"&&a!==0||e.result&&Object.keys(e.result).length>1)return!1;const r=s.toLowerCase();if(Te.has(r)){if(!n||n.startsWith("{")||n.startsWith("["))return!1;const{dir:o,spans:l}=Ne(n);if(o)return!1;const c=l.filter(u=>u.tier==="prog");return c.length===1&&l.length===1&&c[0].text.length<=64}return n&&n!==s||/\s/u.test(s)?!1:s.length<=64}function bt(e){return Math.max(1,e.repeatCount)}function pt(e){const s=e.result?.outcome;if(s==null)return!1;if(typeof s=="number")return s!==0;const n=s.trim().toLowerCase();return n.length>0&&n!=="0"&&n!=="ok"&&n!=="success"&&n!=="succeeded"&&n!=="completed"}function vt(e){if(e.live||e.kind==="boot")return!0;if(e.kind==="tool")return!!e.diff||pt(e);if(e.kind==="note"){const s=e.text.trim().toLowerCase();return s==="turn started"||s==="turn complete"||s==="turn ended"||s==="[turn_started]"||s==="[turn_ended]"||/^turn \d+\b/u.test(s)}if(e.kind==="system"){const s=e.text.trim();return $e(e)||Le(e)||/\b(?:approval|permission|denied|failed|failure|error|exception|aborted|blocked)\b/i.test(s)}return!1}function xt(e){return e.kind==="ask"||e.kind==="message"?!1:!vt(e)}function le(e,s,n=`${s}s`){return`${e} ${e===1?s:n}`}function gt(e){const s={totalCount:0,toolCount:0,thinkCount:0,noteCount:0,systemCount:0};for(const a of e){const r=bt(a);switch(s.totalCount+=r,a.event.kind){case"tool":s.toolCount+=r;break;case"think":s.thinkCount+=r;break;case"note":s.noteCount+=r;break;case"system":case"boot":s.systemCount+=r;break}}const n=[s.toolCount>0?le(s.toolCount,"tool"):null,s.thinkCount>0?le(s.thinkCount,"reasoning update"):null,s.noteCount>0?le(s.noteCount,"turn marker"):null,s.systemCount>0?le(s.systemCount,"system event"):null].filter(a=>!!a);return{...s,labels:n}}function jt(e){return e.labels.length>0?e.labels.join(" · "):le(e.totalCount,"technical event")}function kt(e){const s=e[0].event,n=e[e.length-1].event,a=gt(e),r=jt(a);return{event:{...n,id:`technical-rollup:${s.id}:${n.id}:${a.totalCount}`,kind:"note",text:r,detail:r,tool:void 0,arg:void 0,diff:void 0,result:void 0,stream:void 0,answer:void 0,answerT:void 0,to:void 0,live:e.some(o=>o.event.live)},repeatCount:1,technicalSummary:a,technicalSourceRows:e}}function yt(e){const s=[];let n=[];const a=()=>{n.length!==0&&(s.push(kt(n)),n=[])};for(const r of e){if(xt(r.event)){n.push(r);continue}a(),s.push(r)}return a(),s}function Nt(e){const s=[];for(let n=0;n<e.length;n+=1){const a=e[n];if(!a)continue;const r=e[n+1];if(r&&$e(a)&&Le(r)&&_(fe(a)).toLowerCase()===_(fe(r)).toLowerCase()){const o={...r,live:r.live??a.live},l=V(o),c=s[s.length-1];c&&V(c.event)===l?(c.repeatCount+=1,c.event=o):s.push({event:o,repeatCount:1}),n+=1;continue}if(r&&lt(a)&&it(r)&&_(a.tool).toLowerCase()===_(r.tool).toLowerCase()){const o=ut(a,r),l=V(o),c=s[s.length-1];c&&V(c.event)===l?(c.repeatCount+=1,c.event=o):s.push({event:o,repeatCount:1}),n+=1;continue}if(r&&dt(a)&&mt(r)&&(a.stream?.length??0)===0){const o=ft(a,r),l=V(o),c=s[s.length-1];c&&V(c.event)===l?(c.repeatCount+=1,c.event=o):s.push({event:o,repeatCount:1}),n+=1;continue}if(a.kind==="think"){let o=a,l=1;for(;e[n+l]?.kind==="think";){const u=e[n+l];if(!u)break;o=u,l+=1}const c=ct(o,l);s.push({event:c,repeatCount:l}),n+=l-1;continue}if(a.kind!=="message"&&a.kind!=="ask"){const o=V(a),l=s[s.length-1];if(l&&V(l.event)===o){l.repeatCount+=1,l.event=a;continue}}s.push({event:a,repeatCount:1})}return s}function wt(e){return e.source==="broker"||e.source==="unavailable"||!Number.isFinite(e.eventCount)?0:Math.max(0,Math.floor(e.eventCount))}function Ct(e){return e===0?"No trace events":`${e} event${e===1?"":"s"}`}function os(e){const s=wt(e),n=Ct(s);return e.source==="unavailable"?{label:"Trace unavailable",detail:"The session is known to the broker, but no readable event trace was captured.",tone:"unavailable",replayable:!1,traceEventCount:0,eventCountLabel:n,receiptOnly:!1}:e.source==="broker"?{label:"Session setup receipts",detail:"The broker recorded session setup, but no observed trace activity is available.",tone:"reconstructed",replayable:!1,traceEventCount:0,eventCountLabel:n,receiptOnly:!0}:e.fidelity==="timestamped"&&e.source==="live"&&e.live&&s>0?{label:"Live observed events",detail:"New timestamped events will appear here while the session runs.",tone:"live",replayable:s>1,traceEventCount:s,eventCountLabel:n,receiptOnly:!1}:e.fidelity==="timestamped"&&s===0?{label:"Attached · no trace events",detail:"This worker is attached but is not emitting trace events.",tone:"reconstructed",replayable:!1,traceEventCount:0,eventCountLabel:n,receiptOnly:!1}:e.fidelity==="timestamped"?{label:"Recorded event history",detail:"This timeline is replayed from timestamped session history.",tone:"recorded",replayable:s>1,traceEventCount:s,eventCountLabel:n,receiptOnly:!1}:{label:"Reconstructed session evidence",detail:"Lifecycle and session attachment are available; fine-grained activity may be missing.",tone:"reconstructed",replayable:!1,traceEventCount:s,eventCountLabel:n,receiptOnly:!1}}async function St(e){await Ce("/api/local-path/reveal",{method:"POST",body:JSON.stringify({path:e.path,...e.basePath?{basePath:e.basePath}:{},...e.agentId?{agentId:e.agentId}:{},...e.sessionId?{sessionId:e.sessionId}:{}})})}const ls={think:"var(--dim)",tool:"var(--accent)",ask:"var(--amber)",message:"var(--muted)",note:"var(--green)",system:"var(--dim)",boot:"var(--dim)"},Tt={read:"◎",edit:"✎",bash:"$",grep:"⌕",write:"✎",think:"∿"},$t=20,is=new Intl.NumberFormat("en-US"),Lt=new Intl.NumberFormat("en-US",{notation:"compact",maximumFractionDigits:1});function be(e){if(!Number.isFinite(e)||e<=0)return"0s";const s=Math.floor(e);if(s<60)return`${s}s`;if(s<3600)return`${Math.floor(s/60)}m`;const n=Math.floor(s/3600),a=Math.floor(s%3600/60);return a>0?`${n}h${a}m`:`${n}h`}function Et(e){return es(e*1e3)||"0:00"}function Rt(e){return!Number.isFinite(e)||e<=0?"0s":be(e)}function pe(e,s){return _s(e,s)}function Pt(e,s,n,a=!1){const r=pe(e,s);return r!==null?a?{label:Fs(r,n),title:Fe(r)}:{label:Gs(r,n),title:Fe(r)}:a?{label:""}:{label:be(e.t)}}function Ot(e,s){const n=pe(e,s),a=Et(e.t);return n!==null?{label:Us(n)||be(e.t),title:`${qs(n)} · elapsed ${a}`}:{label:be(e.t),title:`Elapsed ${a} from session start`}}function He(e,s){return e>=Math.max(0,s-$t)}function re(e){return typeof e!="number"||!Number.isFinite(e)?null:is.format(e)}function K(e){return typeof e!="number"||!Number.isFinite(e)?"—":Math.abs(e)<1e3?is.format(e):Lt.format(e).toLowerCase()}function At(e){if(!Number.isFinite(e)||e<=0)return"0s";if(e<60)return`${Math.round(e)}s`;const s=Math.round(e),n=Math.floor(s/3600),a=Math.floor(s%3600/60),r=s%60;return n>0?`${n}h ${a}m`:a>=10||r===0?`${a}m`:`${a}m ${r}s`}function Ge(e){return!!e&&Object.keys(e).length>0}function ge(e){return e.filter(s=>!!s)}function ye(e){const n=e.replace(/[\\/]+$/,"").split(/[\\/]/).filter(Boolean);return n[n.length-1]??e}function It(e){St(e).catch(s=>{console.warn("Failed to reveal local path",s)})}function J({text:e,label:s="Copy",className:n}){const[a,r]=h.useState(!1),o=h.useRef(null);h.useEffect(()=>()=>{o.current&&clearTimeout(o.current)},[]);const l=h.useCallback(c=>{c.preventDefault(),c.stopPropagation();const u=e,b=()=>{r(!0),o.current&&clearTimeout(o.current),o.current=setTimeout(()=>r(!1),1100)};navigator.clipboard?.writeText?navigator.clipboard.writeText(u).then(b).catch(()=>{qe(u),b()}):(qe(u),b())},[e]);return t.jsx("button",{type:"button",className:`s-observe-copy-btn${a?" s-observe-copy-btn--copied":""}${n?` ${n}`:""}`,onClick:l,"aria-label":s,title:a?"Copied":s,children:a?t.jsx("svg",{width:"11",height:"11",viewBox:"0 0 11 11",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:t.jsx("path",{d:"M2 5.5l2.4 2.4L9 3.4"})}):t.jsxs("svg",{width:"11",height:"11",viewBox:"0 0 11 11",fill:"none",stroke:"currentColor",strokeWidth:"1.2",strokeLinejoin:"round","aria-hidden":"true",children:[t.jsx("rect",{x:"3.4",y:"3.4",width:"6.1",height:"6.1",rx:"1.2"}),t.jsx("path",{d:"M7.6 3.4V2.2a.8.8 0 0 0-.8-.8H2.2a.8.8 0 0 0-.8.8v4.6a.8.8 0 0 0 .8.8h1.2"})]})})}function qe(e){try{const s=document.createElement("textarea");s.value=e,s.style.position="fixed",s.style.opacity="0",s.style.pointerEvents="none",document.body.appendChild(s),s.select(),document.execCommand("copy"),document.body.removeChild(s)}catch(s){console.warn("Clipboard copy failed",s)}}function Bt(e){const s=[],n=[e.tool,e.arg].filter(Boolean).join(" ");return n&&s.push(n),e.result&&s.push(Object.entries(e.result).map(([a,r])=>`${a}: ${r}`).join(" · ")),e.diff&&(s.push(`+${e.diff.add}${e.diff.del>0?` -${e.diff.del}`:""}`),e.diff.preview&&s.push(e.diff.preview)),e.stream&&e.stream.length>0&&s.push(e.stream.join(`
6
6
  `)),s.join(`
7
- `)}function cs({expanded:e,onToggle:s,label:n}){const a=e?"less":n??"more";return t.jsxs("button",{type:"button",className:"s-observe-lane-expand",onClick:s,"aria-expanded":e,"aria-label":e?"Show less":"Show more",children:[e?t.jsx(ts,{size:11,strokeWidth:2,"aria-hidden":"true"}):t.jsx(ns,{size:11,strokeWidth:2,"aria-hidden":"true"}),t.jsx("span",{children:a})]})}function us({text:e,className:s,laneMode:n=!1,live:a=!1,renderExpanded:r,renderCollapsed:o}){const[l,c]=h.useState(!1),u=e.trim();if(!n)return t.jsxs("div",{className:s,children:[r?r(u):u,a&&t.jsx(ze,{text:u})]});const b=we(u),m=Xe(u),j=l?r?r(u):u:o?o(m):m;return t.jsx("div",{className:`s-observe-lane-expandable${l?" s-observe-lane-expandable--open":""}`,children:t.jsxs("div",{className:`${s} s-observe-lane-expandable-body`,children:[t.jsxs("span",{className:"s-observe-lane-expandable-text",children:[j,a&&t.jsx(ze,{text:u})]}),b&&t.jsx(cs,{expanded:l,onToggle:()=>c(f=>!f)})]})})}function Bt({event:e,laneMode:s=!1}){const n=e.text??"";return t.jsx(Zs,{text:n,live:!!e.live,compact:s,copyControl:s?void 0:t.jsx(J,{text:n,label:"Copy reasoning",className:"s-observe-copy-btn--inline"})})}function _t({preview:e}){const s=e.split(`
7
+ `)}function cs({expanded:e,onToggle:s,label:n}){const a=e?"less":n??"more";return t.jsxs("button",{type:"button",className:"s-observe-lane-expand",onClick:s,"aria-expanded":e,"aria-label":e?"Show less":"Show more",children:[e?t.jsx(ts,{size:11,strokeWidth:2,"aria-hidden":"true"}):t.jsx(ns,{size:11,strokeWidth:2,"aria-hidden":"true"}),t.jsx("span",{children:a})]})}function us({text:e,className:s,laneMode:n=!1,live:a=!1,renderExpanded:r,renderCollapsed:o}){const[l,c]=h.useState(!1),u=e.trim();if(!n)return t.jsxs("div",{className:s,children:[r?r(u):u,a&&t.jsx(ze,{text:u})]});const b=we(u),m=Xe(u),j=l?r?r(u):u:o?o(m):m;return t.jsx("div",{className:`s-observe-lane-expandable${l?" s-observe-lane-expandable--open":""}`,children:t.jsxs("div",{className:`${s} s-observe-lane-expandable-body`,children:[t.jsxs("span",{className:"s-observe-lane-expandable-text",children:[j,a&&t.jsx(ze,{text:u})]}),b&&t.jsx(cs,{expanded:l,onToggle:()=>c(f=>!f)})]})})}function _t({event:e,laneMode:s=!1}){const n=e.text??"";return t.jsx(Qs,{text:n,live:!!e.live,compact:s,copyControl:s?void 0:t.jsx(J,{text:n,label:"Copy reasoning",className:"s-observe-copy-btn--inline"})})}function Ft({preview:e}){const s=e.split(`
8
8
  `);return t.jsx("pre",{className:"s-observe-tool-diff-preview",children:s.map((n,a)=>{const r=n[0],o=r==="+"?"add":r==="-"||r==="−"?"del":n.startsWith("@@")?"hunk":"ctx";return t.jsxs("span",{className:`s-observe-diff-line s-observe-diff-line--${o}`,children:[n,a<s.length-1?`
9
- `:null]},a)})})}function Ft(e){const s=(e??"").toLowerCase();return s==="shell"?"bash":s}function Dt(e){const s=e.arg?.trim();if(!(!s||s==="started"||s==="completed"))return s}const Wt={bash:["bash","shell","terminal","exec","run","command","exec_command","shell_command","local_shell","container_exec","container.exec"],read:["read","view","cat","readfile","open","open_file"],file:["write","writefile","create","edit","multiedit","str_replace","strreplace","str_replace_editor","apply_patch","applypatch","patch","patch_apply","update","delete"],search:["grep","glob","search","rg","ripgrep","find","codebase_search","file_search"],fetch:["webfetch","web_fetch","fetch","websearch","web_search","browse","url"],agent:["agent","task","dispatch","subagent"],generic:[]},zt={bash:"$",read:"◎",file:"✎",search:"⌕",fetch:"⤓",agent:"◇",generic:"▸"};function Mt(e){const s=(e??"").trim().toLowerCase();if(!s)return"generic";for(const n of["bash","read","file","search","fetch","agent"])if(Wt[n].includes(s))return n;return"generic"}function ds(e){return!e||e==="started"||e==="completed"}function Ht(e){const s=e.trim().replace(/\/+$/u,""),n=s.lastIndexOf("/");return n<0?{dir:"",base:s}:{dir:s.slice(0,n+1),base:s.slice(n+1)}}function Gt(e,s=2){const n=e.split("/").filter(Boolean);return n.length===0?"":n.length<=s?`${n.join("/")}/`:`…/${n.slice(-s).join("/")}/`}function qt(e){if(!e)return null;for(const s of["matches","count","results","hits"]){const n=e[s];if(typeof n=="number"&&Number.isFinite(n))return n;if(typeof n=="string"&&/^\d+$/u.test(n.trim()))return Number(n.trim())}return null}function Ut(e){try{const s=new URL(e);return{host:s.host,path:s.pathname+s.search}}catch{return{host:e,path:""}}}function Vt(e){return e.length>=3&&/^(?:ba|z)?sh$/u.test(e[0])&&/^-[a-z]*c$/u.test(e[1])?e.slice(2).join(" "):e.join(" ")}function oe(e,s){const n=e.trim();if(!n.startsWith("{")&&!n.startsWith("["))return null;try{const a=JSON.parse(n);if(a&&typeof a=="object"&&!Array.isArray(a)){const r=a;for(const o of s){const l=r[o];if(typeof l=="string"&&l.trim())return l;if(Array.isArray(l)&&l.every(c=>typeof c=="string"))return Vt(l)}}}catch{}for(const a of s){const r=n.match(new RegExp(`"${a}"\\s*:\\s*"((?:[^"\\\\]|\\\\.)*)`,"u"));if(r?.[1])try{return JSON.parse(`"${r[1]}"`)}catch{return r[1]}}return null}function ms(e){const s=e.match(/\*\*\*\s+(?:Update|Add|Delete|Move|Rename)\s+File:\s*(.+)/u);return s&&s[1].trim().split(/\s*(?:->|=>)\s*/u)[0]?.trim()||null}function hs(e,s){const n=s?.trim();if(!n)return"";switch(e){case"bash":return oe(n,["cmd","command","script","input","code"])??n;case"file":return n.includes("*** ")?ms(n)??n:oe(n,["file_path","path","filename","file"])??n;case"read":return oe(n,["file_path","path","filename","file"])??n;case"search":return oe(n,["pattern","query","glob","regex","q","search"])??n;case"fetch":return oe(n,["url","href","uri"])??n;default:return n}}function Ue({path:e,tone:s}){const n=Rs(e),{dir:a,base:r}=Ht(n);return t.jsxs("span",{className:"s-observe-tool-path",title:e,children:[a&&t.jsx("span",{className:"s-observe-tool-path-dir",children:Gt(a)}),t.jsx("span",{className:`s-observe-tool-path-base s-observe-tool-path-base--${s}`,children:r})]})}function Kt({path:e}){const s=e.lastIndexOf("/"),n=s>=0?e.slice(0,s+1):"",a=s>=0?e.slice(s+1):e;return t.jsxs("span",{className:"s-observe-bash-dir",children:[n&&t.jsx("span",{className:"s-observe-bash-dir-prefix",children:n}),a]})}function Jt({command:e,title:s,outcome:n,outputPreview:a,cwd:r,powerline:o}){const{dir:l,spans:c}=Ne(e,{cwd:r,powerline:o});return t.jsxs("span",{className:"s-observe-bash",title:s??e,children:[l&&t.jsxs("span",{className:"s-observe-bash-pl",children:[t.jsx("span",{className:"s-observe-bash-seg",children:l}),t.jsx("span",{className:"s-observe-bash-sep","aria-hidden":!0})]}),t.jsx("span",{className:"s-observe-bash-prompt","aria-hidden":!0,children:"❯"}),c.length>0?t.jsx("span",{className:"s-observe-bash-cmd",children:c.map((u,b)=>{const m=b>0?" ":"";return u.tier==="dir"?t.jsxs("span",{children:[m,t.jsx(Kt,{path:u.text})]},b):t.jsxs("span",{className:`s-observe-bash-${u.tier}${u.known?" s-observe-bash-prog--known":""}${u.flag?" s-observe-bash-flag":""}`,children:[m,u.text]},b)})}):!l&&t.jsx("span",{className:"s-observe-bash-arg",children:"shell"}),a&&t.jsxs("span",{className:"s-observe-bash-out",title:a,children:[" → ",Ze(a,88)]}),n&&t.jsx("span",{className:"s-observe-bash-ok",children:n})]})}function Yt({family:e,event:s}){const n=hs(e,s.arg),a=n.startsWith("{")||n.startsWith("["),r=!!n&&!ds(n)&&!a;switch(e){case"read":return r?t.jsx(Ue,{path:n,tone:"read"}):t.jsx("span",{className:"s-observe-tool-cmd-name",children:"read"});case"file":{const o=r&&n!=="patch"?n:ms(s.detail??"")??"";return o?t.jsx(Ue,{path:o,tone:"file"}):t.jsx("span",{className:"s-observe-tool-cmd-name",children:s.tool??"edit"})}case"search":{if(!r)return t.jsx("span",{className:"s-observe-tool-cmd-name",children:"search"});const o=qt(s.result);return t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:"s-observe-tool-needle",children:[t.jsx("span",{className:"s-observe-tool-needle-q",children:'"'}),n,t.jsx("span",{className:"s-observe-tool-needle-q",children:'"'})]}),o!=null&&t.jsxs("span",{className:"s-observe-tool-count",children:["· ",o," ",o===1?"match":"matches"]})]})}case"fetch":{if(!r)return t.jsx("span",{className:"s-observe-tool-cmd-name",children:"fetch"});const{host:o,path:l}=Ut(n);return t.jsxs("span",{className:"s-observe-tool-url",title:n,children:[t.jsx("span",{className:"s-observe-tool-host",children:o}),l&&l!=="/"&&t.jsx("span",{className:"s-observe-tool-host-path",children:Ze(l,40)})]})}case"agent":return t.jsx("span",{className:"s-observe-tool-agent-name",children:r?n:s.tool??"agent"});default:return t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"s-observe-tool-cmd-name",children:s.tool}),r?t.jsxs(t.Fragment,{children:[" ",t.jsx("span",{className:"s-observe-tool-cmd-arg",children:n})]}):null]})}}function Xt({event:e,laneMode:s=!1,simple:n=!1,wallLabel:a,wallTitle:r}){const[o,l]=h.useState(!1),c=Mt(e.tool),u=s?zt[c]:St[Ft(e.tool)]??"▸",b=s&&c==="bash",m=b?hs("bash",e.arg):"",j=!!m&&!ds(m)&&!m.startsWith("{")&&!m.startsWith("["),f=b&&!n,i=j?Ne(m).spans.find(S=>S.tier==="prog")?.text??m:"",g=Dt(e)??e.arg?.trim()??"",O=typeof e.result?.outcome=="string"?e.result.outcome.trim():typeof e.result?.outcome=="number"?String(e.result.outcome):void 0,A=s?void 0:e.stream?.[0]?.trim()||void 0,I=!!(O&&O!=="success"),B=!!(I||e.diff||e.stream),$=!s&&(B||we(g,120,2)),D=!$||o,W=!s&&$&&!o&&e.stream?Xe(e.stream.join(`
10
- `),180,2):null;return t.jsxs("div",{className:`s-observe-tool s-observe-block${s?` s-observe-tool--lane s-observe-tool--fam-${c}`:""}${s&&n?" s-observe-tool--simple":""}`,children:[t.jsxs("div",{className:`s-observe-tool-header${B&&!s?" s-observe-tool-header--has-body":""}`,children:[(!b||n)&&t.jsx("span",{className:"s-observe-tool-glyph",children:u}),t.jsxs("span",{className:"s-observe-tool-cmd",title:s&&!f?b&&j?m:`${e.tool??""} ${g}`.trim()||void 0:void 0,children:[f?t.jsx(Jt,{command:j?m:"",title:j?m:void 0,outputPreview:A}):b&&n?t.jsx("span",{className:"s-observe-tool-cmd-name",children:i||"shell"}):s?t.jsx(Yt,{family:c,event:e}):t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"s-observe-tool-cmd-name",children:e.tool}),g?t.jsxs(t.Fragment,{children:[" ",t.jsx("span",{className:"s-observe-tool-cmd-arg",children:g})]}):null]}),O==="success"&&t.jsx("span",{className:"s-observe-tool-outcome s-observe-tool-outcome--success",children:"ok"}),!s&&e.diff&&t.jsxs("span",{className:"s-observe-tool-diff-inline","aria-label":`${e.diff.add} additions, ${e.diff.del} deletions`,children:[t.jsxs("span",{className:"s-observe-tool-diff-add",children:["+",e.diff.add]}),t.jsxs("span",{className:"s-observe-tool-diff-del",children:["−",e.diff.del]})]})]}),$&&t.jsx(cs,{expanded:o,onToggle:()=>l(S=>!S),label:e.stream?"output":"details"})]}),W&&t.jsx("pre",{className:"s-observe-tool-stream-preview",children:W}),I&&(s||D)&&e.result&&t.jsx("div",{className:"s-observe-tool-result",children:Object.entries(e.result).map(([S,p])=>`${S}: ${p}`).join(" · ")}),!s&&e.diff&&D&&t.jsxs("div",{className:"s-observe-tool-diff",children:[t.jsxs("div",{className:"s-observe-tool-diff-stats",children:[t.jsxs("span",{className:"s-observe-tool-diff-add",children:["+",e.diff.add]}),e.diff.del>0&&t.jsxs(t.Fragment,{children:[" ",t.jsxs("span",{className:"s-observe-tool-diff-del",children:["−",e.diff.del]})]})]}),t.jsx(_t,{preview:e.diff.preview})]}),!s&&e.stream&&D&&t.jsx("pre",{className:"s-observe-tool-stream",children:e.stream.join(`
11
- `)}),!s&&t.jsx(J,{text:It(e),label:"Copy tool call"})]})}function Zt({event:e,laneMode:s=!1,conversationMode:n=!1,operatorName:a="you",wallLabel:r,wallTitle:o}){const l=Ws(e),c=l.preview===l.title?"":l.preview,u=s||n,b=(a.trim()[0]??"y").toUpperCase();return t.jsxs("div",{className:["s-observe-ask","s-observe-block",s&&"s-observe-ask--lane",n&&"s-observe-ask--conversation"].filter(Boolean).join(" "),children:[u?t.jsxs("div",{className:"s-observe-ask-head",children:[t.jsx("span",{className:"s-observe-ask-avatar",style:{background:zs(a)},"aria-hidden":"true",children:b}),t.jsx("span",{className:"s-observe-ask-author",children:a}),r?t.jsx("span",{className:"s-observe-ask-time",title:o,children:r}):null]}):t.jsx("div",{className:"s-observe-ask-label",children:l.label}),l.contextTags.length>0&&t.jsx("div",{className:"s-observe-ask-tags","aria-label":"Attached context",children:l.contextTags.map(m=>t.jsxs("span",{className:"s-observe-ask-tag",title:m.raw,children:[t.jsx(rt,{size:10,strokeWidth:2,"aria-hidden":"true"}),t.jsx("span",{className:"s-observe-ask-tag-name",children:m.name}),m.detail?t.jsx("span",{className:"s-observe-ask-tag-detail",children:m.detail}):null]},m.name))}),t.jsx("div",{className:"s-observe-ask-title",children:l.title}),c?t.jsx(us,{text:c,className:"s-observe-ask-text",laneMode:s,live:e.live,renderCollapsed:m=>Qe(m),renderExpanded:m=>t.jsx(ss,{text:m})}):e.live?t.jsx("span",{className:"s-observe-cursor"}):null,l.answer&&(!s&&!n||we(l.answer.text))&&t.jsxs("div",{className:"s-observe-ask-answer",children:[t.jsxs("span",{className:"s-observe-ask-answer-meta",children:["↳ ",l.answer.label]}),t.jsx("div",{className:"s-observe-ask-answer-text",children:l.answer.text})]}),!s&&!n&&t.jsx(J,{text:l.copyText,label:"Copy request"})]})}function Qt(e){const s=e.to?.trim();return s?s==="human"?"→ you":`→ ${s}`:null}function fs(e){return e.kind==="message"&&(e.text??"").trim().toLowerCase()==="[thinking]"}function en({event:e,laneMode:s=!1,conversationMode:n=!1,assistantName:a}){const r=e.text??"",o=(s||n)&&fs(e),l=o?"Thinking...":r,c=o?"Agent thinking":n?a?.trim()||"Agent":Qt(e);return t.jsxs("div",{className:["s-observe-block",s&&"s-observe-message--lane",n&&"s-observe-message--conversation",o&&"s-observe-message--thinking",e.live&&"s-observe-message--streaming"].filter(Boolean).join(" "),"aria-busy":e.live||void 0,children:[c?t.jsx("div",{className:"s-observe-message-label",children:c}):null,t.jsx(us,{text:l,className:"s-observe-message-text",laneMode:s||n,live:e.live,renderCollapsed:u=>Qe(u),renderExpanded:u=>t.jsx(ss,{text:u})}),!s&&!n&&t.jsx(J,{text:r,label:"Copy message"})]})}function sn({summary:e,expanded:s=!1,onToggle:n}){const a=e.totalCount===1?"technical event":"technical events",r=t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:"s-observe-tech-summary-count",children:[e.totalCount," ",a]}),e.labels.length>0?t.jsx("span",{className:"s-observe-tech-summary-detail",children:e.labels.join(" · ")}):null,n?s?t.jsx(ts,{size:12,strokeWidth:1.8,className:"s-observe-tech-summary-chevron","aria-hidden":!0}):t.jsx(ns,{size:12,strokeWidth:1.8,className:"s-observe-tech-summary-chevron","aria-hidden":!0}):null]});return n?t.jsx("button",{type:"button",className:`s-observe-tech-summary s-observe-tech-summary--toggle s-observe-block s-observe-block--inline${s?" is-expanded":""}`,onClick:o=>{o.stopPropagation(),n()},"aria-expanded":s,"aria-label":s?`Collapse ${e.totalCount} ${a}`:`Expand ${e.totalCount} ${a}`,children:r}):t.jsx("div",{className:"s-observe-tech-summary s-observe-block s-observe-block--inline",children:r})}function tn({presentation:e,onChange:s}){return t.jsxs("div",{className:"s-observe-presentation-toggle",role:"group","aria-label":"Session presentation",children:[t.jsx("button",{type:"button",className:"s-observe-presentation-toggle-btn","aria-pressed":e==="conversation",onClick:()=>s("conversation"),children:"Conversation"}),t.jsx("button",{type:"button",className:"s-observe-presentation-toggle-btn","aria-pressed":e==="timeline",onClick:()=>s("timeline"),children:"Trace"})]})}function nn({collapseTechnicalEvents:e,onChange:s}){if(!s)return null;const n=e?"Concise":"Details",a=e?"Show detailed trace events":"Show concise trace summaries",r=e?et:st;return t.jsxs("label",{className:`s-observe-lane-trace-mode${e?" s-observe-lane-trace-mode--concise":" s-observe-lane-trace-mode--details"}`,title:a,children:[t.jsx("input",{type:"checkbox",checked:e,onChange:o=>s(o.currentTarget.checked),"aria-label":a}),t.jsx(r,{size:12,strokeWidth:1.8,"aria-hidden":"true"}),t.jsx("span",{children:n})]})}function an(e,s){return e?.trim()?s?!/^[a-z0-9._-]+ · [a-z0-9._-]+$/i.test(e.trim()):!0:!1}const rn={turn_ended:"Turn complete",turn_started:"Turn started"};function on(e){const s=e.trim(),a=s.match(/^\[(.+)\]$/)?.[1]??s;return rn[a]??a.replace(/_/g," ")}function ln({turn:e,model:s}){return t.jsxs("div",{className:"s-observe-grok-turn s-observe-block s-observe-block--inline",children:[t.jsxs("span",{className:"s-observe-grok-turn-num",children:["turn ",e]}),s?t.jsx("span",{className:"s-observe-grok-turn-model",children:s}):null]})}function cn({tool:e,decision:s}){return t.jsxs("div",{className:"s-observe-grok-permission s-observe-block s-observe-block--inline",children:[t.jsx("span",{className:`s-observe-grok-permission-decision is-${s}`,children:s}),t.jsx("span",{className:"s-observe-grok-permission-tool",children:e})]})}function un({phase:e}){return t.jsx("div",{className:"s-observe-grok-phase s-observe-block s-observe-block--inline",children:t.jsx("span",{className:"s-observe-grok-phase-label",children:Es(e)})})}function dn({event:e,laneMode:s=!1}){if(s){const n=Ye(e.text??"");return n?.kind==="turn"&&typeof n.turn=="number"?t.jsx(ln,{turn:n.turn,model:n.model}):t.jsx("div",{className:"s-observe-note s-observe-block s-observe-block--inline s-observe-note--lane",children:t.jsx("span",{className:"s-observe-note-text",children:on(e.text)})})}return t.jsxs("div",{className:"s-observe-note s-observe-block s-observe-block--inline",children:[t.jsx("span",{className:"s-observe-note-icon","aria-hidden":"true",children:"✓"}),t.jsx("span",{className:"s-observe-note-text",children:e.text}),t.jsx(J,{text:e.text??"",label:"Copy note"})]})}function mn({event:e,laneMode:s=!1}){const n=s?Ye(e.text??""):null;if(n?.kind==="permission"&&n.tool&&n.decision)return t.jsx(cn,{tool:n.tool,decision:n.decision});if(n?.kind==="phase"&&n.phase)return t.jsx(un,{phase:n.phase});const a=an(e.detail,s),r=a&&e.detail?`${e.text}
12
- ${e.detail}`:e.text??"";return t.jsxs("div",{className:`s-observe-system s-observe-block${s?" s-observe-system--lane":""}`,children:[t.jsxs("div",{className:"s-observe-system-line",children:[!s&&t.jsx("span",{className:"s-observe-system-arrow","aria-hidden":"true",children:"▸ "}),t.jsx("span",{className:"s-observe-system-text",children:e.text})]}),a&&e.detail&&t.jsx("div",{className:"s-observe-system-detail",children:e.detail}),t.jsx(J,{text:r,label:"Copy system event"})]})}const hn={think:"think",tool:"tool",ask:"ask",message:"message",note:"note",system:"system",boot:"boot"};function fn(e){const s=Ls(e);return s||(e.kind==="tool"?e.tool==="res"?"result":e.tool?.trim()||"tool":hn[e.kind]??e.kind)}function Ve(e){return!!e?.closest("button, a, input, textarea, select, [role='slider'], [contenteditable='true']")}function bn({event:e,prevT:s,prevWallMs:n,laneMode:a=!1,conversationMode:r=!1,entering:o=!1,repeatCount:l=1,sessionStartMs:c,nowMs:u=Date.now(),preferWallAge:b=!1,highlighted:m=!1,focusAnchor:j=!1,simpleTool:f=!1,stackedTool:i=!1,laneGutter:d="time",laneOperatorName:g,conversationAssistantName:O,onLaneEventSelect:A,laneToolHover:I,hoverPreviewActive:B=!1,technicalSummary:$,technicalExpanded:D=!1,onTechnicalToggle:W}){const L=e.t-s,S=$?"var(--dim)":ls[e.kind]??"var(--dim)",p=a||r?Rt(e,c,u,b):Pt(e,c),E=pe(e,c),M=b&&typeof n=="number"&&E!==null?Ds(E-n):null,x=!b&&L>15?`${Et(L)} gap`:null,C=M??x,N=a&&!!A&&!$,T=["s-observe-row",`s-observe-row--kind-${e.kind}`,o?"s-observe-row--enter":"",N?"s-observe-row--selectable":"",m?"s-observe-row--highlighted":"",j?"s-observe-row--focus-anchor":"",f?"s-observe-row--tool-simple":"",i?"s-observe-row--tool-stacked":"",B?"s-observe-row--hover-preview":"",$?"s-observe-row--tech-summary":""].filter(Boolean).join(" "),k=t.jsxs(t.Fragment,{children:[C?t.jsx("div",{className:"s-observe-row-gap",children:C}):null,t.jsxs("div",{className:"s-observe-row-time",title:p.title,children:[d==="label-time"&&!i?t.jsx("span",{className:"s-observe-row-kind",children:fn(e)}):null,t.jsx("span",{className:"s-observe-row-clock",children:p.label}),l>1&&t.jsxs("span",{className:"s-observe-row-repeat",title:`${l} similar events merged`,children:["×",l]})]}),t.jsx("span",{className:"s-observe-row-bead",style:{background:S}}),$?t.jsx(sn,{summary:$,expanded:D,onToggle:W}):t.jsxs(t.Fragment,{children:[e.kind==="think"&&t.jsx(Bt,{event:e,laneMode:a}),e.kind==="tool"&&t.jsx(Xt,{event:e,laneMode:a,simple:f,wallLabel:f?p.label:void 0,wallTitle:f?p.title:void 0}),e.kind==="ask"&&t.jsx(Zt,{event:e,laneMode:a,conversationMode:r,operatorName:g??(r?"You":void 0),wallLabel:a||r?p.label:void 0,wallTitle:a||r?p.title:void 0}),e.kind==="message"&&t.jsx(en,{event:e,laneMode:a,conversationMode:r,assistantName:O}),e.kind==="note"&&t.jsx(dn,{event:e,laneMode:a}),(e.kind==="system"||e.kind==="boot")&&t.jsx(mn,{event:e,laneMode:a})]})]}),R=a&&e.kind==="tool"&&I?I(e,{wallLabel:p.label,wallTitle:p.title,sessionOffset:Ps(e.t)}):null,y=R?t.jsx("div",{ref:R.ref,className:"s-observe-row-hover-target",onMouseEnter:R.onMouseEnter,onMouseLeave:R.onMouseLeave,onFocus:R.onFocus,onBlur:R.onBlur,children:k}):k;return t.jsx("div",{className:T,"data-event-id":e.id,onClick:N?v=>{Ve(v.target)||A?.(e)}:void 0,onKeyDown:N?v=>{v.key!=="Enter"&&v.key!==" "||Ve(v.target)||(v.preventDefault(),A?.(e))}:void 0,role:N?"button":void 0,tabIndex:N?0:void 0,"aria-label":N?e.kind==="tool"?"Open command detail at this step":"Open session detail at this step":void 0,children:y})}function pn(e,s){if(!e)return;const n=e.closest(".s-observe-main");if(n){const a=n.scrollHeight-n.clientHeight;n.scrollTo({top:a,left:n.scrollLeft,behavior:s});return}e.scrollIntoView({behavior:s,block:"end",inline:"nearest"})}function vn({events:e,followEnd:s,laneMode:n=!1,conversationMode:a=!1,sessionStartMs:r,nowMs:o=Date.now(),preferWallAge:l=!1,focusEventId:c,inlineFocusEventId:u,inlineFocusContent:b,onLaneEventSelect:m,laneGutter:j="time",richSimpleTools:f=!1,collapseTechnicalEvents:i=!1,laneOperatorName:d,conversationAssistantName:g}){const O=h.useRef(null),A=h.useRef(s),I=h.useRef(new Set),B=h.useRef(!1),[$,D]=h.useState(()=>new Set),[W,L]=h.useState(()=>new Set),S=h.useCallback(x=>{L(C=>{const N=new Set(C);return N.has(x)?N.delete(x):N.add(x),N})},[]);h.useEffect(()=>{i||L(new Set)},[i]);const p=h.useMemo(()=>{const x=n||a,C=x?yt(e):e.map(T=>({event:T,repeatCount:1}));if(!x)return C;const N=C.filter(T=>T.event.live||!fs(T.event));return i?kt(N):N},[e,n,a,i]);h.useEffect(()=>{if(!n){B.current=!0;return}const x=I.current;if(!B.current){for(const k of p)x.add(k.event.id);B.current=!0;return}const C=[];for(const k of p)x.has(k.event.id)||(x.add(k.event.id),C.push(k.event.id));if(C.length===0)return;const N=new Set(C);D(N);const T=window.setTimeout(()=>{D(new Set)},380);return()=>window.clearTimeout(T)},[p,s,n]),h.useLayoutEffect(()=>{if(!s){A.current=!1;return}const x=!A.current;A.current=!0,pn(O.current,n||x?"instant":"smooth")},[p.length,s,n]);const E=Os(n),M=(x,C,N,T={})=>{const k=N?.event??null,R=k?pe(k,r):null,y=n&&!x.technicalSummary&&!f&&Me(x.event),v=y&&k!=null&&!N?.technicalSummary&&Me(k),q=!T.suppressInlineFocus&&u===x.event.id&&!!b,z=t.jsx(bn,{event:x.event,prevT:k?.t??0,prevWallMs:R,laneMode:n,conversationMode:a,simpleTool:y,stackedTool:v,laneGutter:j,entering:n&&$.has(x.event.id),repeatCount:x.repeatCount,sessionStartMs:r,nowMs:o,preferWallAge:l,highlighted:!n&&!a&&c===x.event.id,focusAnchor:q,laneOperatorName:d,conversationAssistantName:g,onLaneEventSelect:m,laneToolHover:n?E.bind:void 0,hoverPreviewActive:n&&E.hoveredEventId===x.event.id,technicalSummary:x.technicalSummary,technicalExpanded:T.technicalExpanded,onTechnicalToggle:T.onTechnicalToggle});return t.jsxs("div",{className:`s-observe-focus-group${q?" s-observe-focus-group--active":""}`,"data-focus-group":q?"true":void 0,children:[z,q?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"s-observe-focus-connector","aria-hidden":!0}),t.jsx("div",{className:"s-observe-focus-detail",children:b})]}):null]},`${x.event.id}:${x.repeatCount}:${C}${T.keySuffix??""}`)};return t.jsxs("div",{className:"s-observe-stream",children:[!a&&t.jsx("div",{className:"s-observe-spine"}),p.map((x,C)=>{const N=C>0?p[C-1]:null,T=x.technicalSourceRows,k=!!(x.technicalSummary&&T&&T.length>0),R=k&&W.has(x.event.id);return k&&R?t.jsxs("div",{className:"s-observe-tech-rollup s-observe-tech-rollup--expanded",children:[M(x,C,N,{technicalExpanded:!0,onTechnicalToggle:()=>S(x.event.id),suppressInlineFocus:!0}),t.jsx("div",{className:"s-observe-tech-rollup-details",children:T.map((y,v)=>{const q=v>0?T[v-1]:null;return M(y,v,q,{keySuffix:`:rollup:${x.event.id}:detail`,suppressInlineFocus:!0})})})]},`${x.event.id}:${x.repeatCount}:${C}:rollup`):M(x,C,N,{onTechnicalToggle:k?()=>S(x.event.id):void 0})}),t.jsx("div",{ref:O}),E.card]})}function xn({data:e,cursor:s}){const r=e.length;if(r<2)return null;const o=276/(r-1),l=e.map((u,b)=>`${b===0?"M":"L"} ${(b*o).toFixed(1)} ${((1-u)*44).toFixed(1)}`).join(" "),c=s*276;return t.jsxs("svg",{viewBox:"0 0 276 44",style:{width:"100%",height:44,display:"block"},children:[t.jsx("defs",{children:t.jsxs("linearGradient",{id:"observeCtxFill",x1:"0",y1:"0",x2:"0",y2:"1",children:[t.jsx("stop",{offset:"0%",stopColor:"var(--accent)",stopOpacity:.25}),t.jsx("stop",{offset:"100%",stopColor:"var(--accent)",stopOpacity:0})]})}),t.jsx("path",{d:`${l} L 276 44 L 0 44 Z`,fill:"url(#observeCtxFill)"}),t.jsx("path",{d:l,fill:"none",stroke:"var(--accent)",strokeWidth:1.2}),t.jsx("line",{x1:c,y1:0,x2:c,y2:44,stroke:"var(--accent)",strokeWidth:1,opacity:.6,strokeDasharray:"2 3"})]})}function gn({state:e}){const s=e==="created"?"var(--green)":e==="modified"?"var(--accent)":"var(--dim)",n=e==="created"?"+":e==="modified"?"~":"◎";return t.jsx("span",{className:"s-observe-file-glyph",style:{background:"color-mix(in srgb, var(--bg) 70%, black)",border:`1px solid color-mix(in srgb, ${s} 40%, var(--border))`,color:s},children:n})}function U({label:e,value:s,detail:n}){const a=s==="0"||s==="—"||s==="";return t.jsxs("div",{className:`s-observe-stat${a?" s-observe-stat--quiet":""}`,children:[t.jsx("div",{className:"s-observe-stat-value",children:s}),t.jsx("div",{className:"s-observe-stat-label",children:e}),n&&t.jsx("div",{className:"s-observe-stat-detail",children:n})]})}function je({children:e="Not captured for this session"}){return t.jsx("div",{className:"s-observe-empty",children:e})}function Ee({path:e,basePath:s,agentId:n,sessionId:a,className:r,children:o}){const{openFilePreview:l}=Se(),c=e.startsWith("/")||e.startsWith("~/")?e:s?`${s.replace(/\/$/,"")}/${e}`:e;return t.jsxs("span",{className:"s-observe-path-link-group",children:[t.jsx("button",{type:"button",className:r,title:`Preview ${e} in Scout`,onClick:()=>l(c),children:o}),t.jsx("button",{type:"button",className:"s-observe-path-link-external",title:`Reveal ${e} in OS`,"aria-label":"Reveal in OS",onClick:()=>At({path:e,basePath:s,agentId:n,sessionId:a}),children:t.jsx(tt,{size:11,strokeWidth:1.6})})]})}function jn({path:e,basePath:s,agentId:n,sessionId:a}){return t.jsxs("div",{className:"s-observe-source",children:[t.jsx("span",{className:"s-observe-source-label",children:"Source"}),t.jsx(Ee,{path:e,basePath:s,agentId:n,sessionId:a,className:"s-observe-source-link",children:ye(e)})]})}function ke({rows:e,agentId:s,sessionId:n}){return e.length===0?null:t.jsx("div",{className:"s-observe-detail-list",children:e.map(a=>{const r=`s-observe-detail-value s-observe-detail-value--${a.tone??"default"}${a.wrap?" s-observe-detail-value--wrap":""}`,o=a.display??a.value;return t.jsxs("div",{className:"s-observe-detail-row",children:[t.jsx("div",{className:"s-observe-detail-label",children:a.label}),t.jsxs("div",{className:"s-observe-detail-value-wrap",children:[a.actionPath?t.jsx(Ee,{path:a.actionPath,basePath:a.actionBasePath,agentId:s,sessionId:n,className:`${r} s-observe-detail-link`,children:o}):t.jsx("div",{className:r,title:a.title??(o!==a.value?a.value:void 0),children:o}),t.jsx(J,{text:a.actionPath??a.value,label:`Copy ${a.label.toLowerCase()}`,className:"s-observe-copy-btn--inline"})]})]},a.label)})})}function kn({events:e,duration:s,cursor:n,onCursor:a,snapTimes:r=[]}){const o=h.useRef(null),l=h.useMemo(()=>wn(e,s,48),[e,s]),c=l.some(f=>f.count>0),u=l.reduce((f,i)=>f+i.count,0),b=c?`${u} message turn anchors. Click the timeline or use arrow keys to snap between turns.`:"Session timeline",m=h.useCallback(f=>{const i=o.current.getBoundingClientRect(),d=f.clientX-i.left,g=Math.max(0,Math.min(s,d/i.width*s));a(Ke(g,s,r))},[s,a,r]),j=h.useCallback(f=>{if(s<=0)return;const i=s*.01,d=s*.05;let g=n;switch(f.key){case"ArrowLeft":g=r.length?Nn(n,r):n-(f.shiftKey?d:i);break;case"ArrowRight":g=r.length?ps(n,r,s):n+(f.shiftKey?d:i);break;case"PageDown":g=n-d;break;case"PageUp":g=n+d;break;case"Home":g=0;break;case"End":g=s;break;default:return}f.preventDefault(),a(r.length&&(f.key==="PageDown"||f.key==="PageUp")?Ke(g,s,r):Math.max(0,Math.min(s,g)))},[n,s,a,r]);return t.jsxs("div",{className:"s-observe-track-wrap",title:b,children:[c?t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"s-observe-track-barsHead","aria-hidden":!0,children:[t.jsx("span",{children:"Turns"}),t.jsx("span",{children:u})]}),t.jsx("div",{className:"s-observe-track-bars","aria-hidden":!0,children:l.map(f=>t.jsx("span",{className:"s-observe-track-bar","data-active":f.start<=n||void 0,style:{height:`${Cn(f.count,l)}%`}},f.index))})]}):null,t.jsxs("div",{ref:o,className:"s-observe-track",onClick:m,onKeyDown:j,role:"slider",tabIndex:s>0?0:-1,"aria-label":"Session timeline","aria-valuemin":0,"aria-valuemax":s,"aria-valuenow":Math.max(0,Math.min(s,n)),children:[e.map(f=>{const i=f.kind==="tool"?6:f.kind==="think"?4:5;return t.jsx("span",{className:"s-observe-track-tick",style:{left:`${s>0?f.t/s*100:0}%`,top:i===6?-2:-1,height:i,background:ls[f.kind]??"var(--dim)"}},f.id)}),t.jsx("div",{className:"s-observe-track-played",style:{width:`${s>0?n/s*100:0}%`}}),t.jsx("span",{className:"s-observe-track-cursor",style:{left:`${s>0?n/s*100:0}%`}})]})]})}function bs(e){return e.kind==="message"||e.kind==="ask"}function yn(e,s){const n=e.filter(bs).map(a=>Math.max(0,Math.min(s,a.t))).sort((a,r)=>a-r);return Array.from(new Set(n))}function Ke(e,s,n){const a=Math.max(0,Math.min(s,e));if(n.length===0)return a;let r=n[0],o=Math.abs(r-a);for(const l of n){const c=Math.abs(l-a);c<o&&(r=l,o=c)}return r}function ps(e,s,n){return s.find(r=>r>e+.01)??n}function Nn(e,s){for(let n=s.length-1;n>=0;n-=1){const a=s[n];if(a<e-.01)return a}return 0}function wn(e,s,n){const a=Math.max(1,s),r=Array.from({length:n},(o,l)=>({index:l,count:0,start:l/n*a}));for(const o of e){if(!bs(o))continue;const l=Math.min(n-1,Math.max(0,Math.floor(o.t/a*n)));r[l].count+=1}return r}function Cn(e,s){if(e<=0)return 0;const n=Math.max(1,...s.map(a=>a.count));return Math.max(18,e/n*100)}function Sn({events:e,duration:s,cursor:n,mode:a,speed:r,snapTimes:o,onCursor:l,onPlayToggle:c,onSpeedChange:u}){const b=a==="tail"?"Following latest":a==="playing"?"Pause replay":"Play turns";return t.jsxs("div",{className:"s-observe-transport","data-snap":o.length>0||void 0,"data-mode":a,children:[t.jsx("button",{type:"button",className:"s-observe-play-btn","data-state":a,onClick:c,"aria-pressed":a==="tail"||a==="playing","aria-label":b,title:b,children:a==="playing"?"❚❚":"▶"}),t.jsx("button",{type:"button",className:"s-observe-rewind-btn",onClick:()=>{l(0)},"aria-label":"Jump to start",title:"Jump to start",children:"⏮"}),t.jsx(kn,{events:e,duration:s,cursor:n,onCursor:l,snapTimes:o}),t.jsx("div",{className:"s-observe-speed-group",children:[.5,1,2,4].map(m=>t.jsxs("button",{type:"button",className:`s-observe-speed-btn${r===m?" s-observe-speed-btn--active":""}`,onClick:()=>u(m),children:[m,"×"]},m))})]})}function Je(e){return Ms(e)||"unknown"}function Tn(e,s){const n=De(e),a=De(s);return n===null||a===null?"0:00":es(a-n)||"0:00"}function $n({catalog:e,sessionId:s,agentId:n}){const{navigate:a,route:r}=Se(),[o,l]=h.useState(!1),c=e.sessions.find(d=>d.id===e.activeSessionId),u=e.sessions.filter(d=>d.id!==e.activeSessionId&&d.endedAt).sort((d,g)=>(g.endedAt??0)-(d.endedAt??0)).slice(0,5),b=e.activeSessionId??s,m=b?b.slice(0,8):null,j=!!(c?.canTakeover&&e.resumeCommand),f=h.useCallback(()=>{!j||!e.resumeCommand||(Us({command:e.resumeCommand,cwd:e.resumeCwd,agentId:n}).then(()=>{Js(a,{view:"terminal",agentId:n},{returnTo:r})}),l(!0))},[j,e.resumeCommand,e.resumeCwd,a,r,n]),i=h.useCallback(()=>{a({view:"agents-v2",agentId:n,tab:"message"})},[a,n]);return t.jsxs("div",{className:"s-observe-session-header",children:[t.jsx("div",{className:"s-observe-session-active",children:t.jsxs("div",{className:"s-observe-session-row",children:[m&&t.jsx("span",{className:"s-observe-session-id",title:b??void 0,children:m}),c&&t.jsxs("span",{className:"s-observe-session-time",children:["started ",Je(c.startedAt)]}),t.jsx("button",{className:"s-observe-pair-btn",onClick:i,title:"Send messages into the live session without taking the terminal",children:"Pair"}),j&&t.jsx("button",{className:"s-observe-takeover-btn",onClick:f,title:e.resumeCommand??void 0,children:o?"Sent":"Takeover"})]})}),u.length>0&&t.jsxs("div",{className:"s-observe-session-history",children:[t.jsxs("div",{className:"s-observe-session-history-label",children:[e.sessions.length," session",e.sessions.length!==1?"s":""," total"]}),u.map(d=>t.jsxs("div",{className:"s-observe-session-past",children:[t.jsx("span",{className:"s-observe-session-id",children:d.id.slice(0,8)}),t.jsxs("span",{className:"s-observe-session-time",children:[Je(d.startedAt),d.endedAt?` · ${Tn(d.startedAt,d.endedAt)}`:""]})]},d.id))]})]})}const vs={events:[{id:"observe:empty",t:0,kind:"system",text:"No session trace is available for this agent yet.",detail:"Waiting for a live session or readable history file."}],files:[],contextUsage:[],live:!1};function xs({data:e=vs,agentId:s,sessionId:n,cursor:a,duration:r,surface:o="embedded",observeSource:l,observeFidelity:c}){const{events:u,files:b}=e,[m,j]=h.useState(null);h.useEffect(()=>{if(!s)return;let v=!1;return Ce(`/api/agents/${encodeURIComponent(s)}/session-catalog`).then(q=>{v||j(q)}).catch(()=>{}),()=>{v=!0}},[s]);const f=e.metadata,i=f?.session,d=f?.usage,g=typeof r=="number"&&Number.isFinite(r)&&r>0?r:u.length>0?u[u.length-1].t+30:60,O=typeof a=="number"&&Number.isFinite(a)?a:g,A=u.filter(v=>v.kind==="tool").length,I=u.filter(v=>v.kind==="think").length,B=u.filter(v=>v.kind==="ask").length,$=u.filter(v=>v.kind==="tool"&&v.tool==="read").length,D=u.filter(v=>v.kind==="tool"&&(v.tool==="edit"||v.tool==="write")).length,W=u.length>0?u[u.length-1].t:0,L=typeof d?.contextInputTokens=="number"&&typeof d.contextWindowTokens=="number"&&d.contextWindowTokens>0?Math.max(0,Math.min(100,Math.round(d.contextInputTokens/d.contextWindowTokens*100))):null,S=[{label:"Context input",value:d?.contextInputTokens},{label:"Input",value:d?.inputTokens},{label:"Output",value:d?.outputTokens},{label:"Cache hit",value:d?.cacheReadInputTokens},{label:"Cache write",value:d?.cacheCreationInputTokens},{label:"Total",value:d?.totalTokens},{label:"Reasoning",value:d?.reasoningOutputTokens}].filter(v=>typeof v.value=="number"),p=ge([typeof d?.assistantMessages=="number"?{label:"Assistant msgs",value:re(d.assistantMessages)??"0",tone:"accent"}:null,typeof d?.webSearchRequests=="number"?{label:"Web search",value:re(d.webSearchRequests)??"0"}:null,typeof d?.webFetchRequests=="number"?{label:"Web fetch",value:re(d.webFetchRequests)??"0"}:null,d?.serviceTier?{label:"Service tier",value:d.serviceTier,tone:"good"}:null,d?.speed?{label:"Speed",value:d.speed}:null,d?.planType?{label:"Plan",value:d.planType}:null]),E=ge([typeof d?.contextWindowTokens=="number"?{label:"Model window",value:`${re(d.contextWindowTokens)} tokens`,title:re(d.contextWindowTokens)??void 0,tone:"accent"}:null,L!==null?{label:"Window load",value:`${L}%`,tone:L>=80?"warn":"default"}:null]),M=ge([i?.model?{label:"Model",value:i.model,tone:"accent"}:null,i?.adapterType?{label:"Adapter",value:i.adapterType}:null,i?.gitBranch?{label:"Branch",value:i.gitBranch}:null,i?.cwd?{label:"Workspace",value:i.cwd,display:ye(i.cwd),title:i.cwd,actionPath:i.cwd}:null,i?.entrypoint?{label:"Entrypoint",value:i.entrypoint}:null,i?.cliVersion?{label:"CLI",value:i.cliVersion}:null,i?.permissionMode?{label:"Permissions",value:i.permissionMode}:null,i?.approvalPolicy?{label:"Approval",value:i.approvalPolicy}:null,i?.sandbox?{label:"Sandbox",value:i.sandbox}:null,i?.userType?{label:"User type",value:i.userType}:null,i?.originator?{label:"Originator",value:i.originator}:null,i?.modelProvider?{label:"Provider",value:i.modelProvider}:null,i?.effort?{label:"Effort",value:i.effort}:null,i?.timezone?{label:"Timezone",value:i.timezone}:null,i?.externalSessionId?{label:"External session",value:i.externalSessionId,title:i.externalSessionId}:null,i?.threadId?{label:"Thread",value:i.threadId,title:i.threadId}:null,i?.threadPath?{label:"Thread path",value:i.threadPath,display:ye(i.threadPath),title:i.threadPath,actionPath:i.threadPath,actionBasePath:i.cwd??null}:null,i?.source?{label:"Runtime source",value:i.source}:null]),x=Ge(d),C=Ge(i),N=l??(e.live?"live":"history"),T=c??"timestamped",k=os({source:N,fidelity:T,live:e.live,eventCount:u.length}),R=T==="timestamped",y=k.traceEventCount>0;return t.jsxs("aside",{className:`s-observe-rail${o==="context"?" s-observe-rail--context":""}`,children:[t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Evidence"}),t.jsxs("div",{className:"s-observe-evidence-card","data-tone":k.tone,children:[t.jsx("span",{className:"s-observe-evidence-dot","aria-hidden":"true"}),t.jsxs("span",{children:[t.jsx("strong",{children:k.label}),t.jsx("small",{children:k.detail})]})]})]}),m&&m.sessions.length>0&&t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Session"}),t.jsx($n,{catalog:m,sessionId:n??null,agentId:s})]}),t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Trace stats"}),t.jsxs("div",{className:"s-observe-stats",children:[t.jsx(U,{label:"Turns",value:K(y?i?.turnCount:void 0)}),t.jsx(U,{label:"Tools",value:K(y?A:void 0)}),t.jsx(U,{label:"Thinks",value:K(y?I:void 0)}),t.jsx(U,{label:"Requests",value:K(y?B:void 0)}),t.jsx(U,{label:"Reads",value:K(y?$:void 0)}),t.jsx(U,{label:"Edits",value:K(y?D:void 0)}),t.jsx(U,{label:"Files",value:K(y?b.length:void 0)}),t.jsx(U,{label:"Window",value:R&&y?Ot(W):"—"})]})]}),t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Interacted agents"}),t.jsx(Ys,{topology:f?.topology??null,sessionId:n??f?.session?.externalSessionId??null,size:"rail",maxAgents:4})]}),t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Context window"}),t.jsx(ke,{rows:E,agentId:s??null,sessionId:n??null}),L!==null?t.jsxs(t.Fragment,{children:[t.jsx(xn,{data:[L/100,L/100],cursor:O/g}),t.jsx("div",{className:"s-observe-ctx-detail",children:"Meter uses latest context input divided by the model window."})]}):E.length===0?t.jsx(je,{}):t.jsx("div",{className:"s-observe-ctx-detail",children:"No derived load trace captured."})]}),t.jsxs("div",{children:[t.jsxs("div",{className:"s-observe-rail-label",children:["Files touched · ",b.length]}),t.jsx("div",{className:"s-observe-files",children:b.map(v=>t.jsxs("div",{className:`s-observe-file${v.lastT<=O?" s-observe-file--visible":" s-observe-file--hidden"}`,children:[t.jsx(gn,{state:v.state}),t.jsx(Ee,{path:v.path,basePath:i?.cwd??null,agentId:s??null,sessionId:n??null,className:"s-observe-file-path",children:v.path}),t.jsxs("span",{className:"s-observe-file-touches",children:["×",v.touches]})]},v.path))})]}),t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Usage"}),S.length>0&&t.jsx("div",{className:"s-observe-stats s-observe-stats--usage",children:S.map(v=>t.jsx(U,{label:v.label,value:K(v.value)},v.label))}),p.length>0?t.jsx(ke,{rows:p,agentId:s??null,sessionId:n??null}):!x&&S.length===0?t.jsx(je,{}):null]}),t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Metadata"}),M.length>0?t.jsx(ke,{rows:M,agentId:s??null,sessionId:n??null}):C?null:t.jsx(je,{})]})]})}function Ln({conversationId:e,agentId:s,sessionId:n,invoke:a}){const{navigate:r}=Se(),[o,l]=h.useState(""),[c,u]=h.useState(!1),[b,m]=h.useState(null),[j,f]=h.useState(null),[i,d]=h.useState(()=>e?.trim()||null),g=h.useRef(null);h.useEffect(()=>{d(e?.trim()||null)},[e]);const O=s?.trim()||null,A=n?.trim()||null,I=!!(O&&A),B=!!(a?.projectPath&&a?.sessionId),$=!!(i||I||B),D=$&&o.trim().length>0&&!c,W=async()=>{const L=o.trim();if(!(!L||c)){if(!i&&!I&&!B){f("No writable session target is attached yet.");return}u(!0),m(null),f(null);try{if(i)await Ce("/api/send",{method:"POST",body:JSON.stringify({body:L,conversationId:i,intent:"steer"})}),l(""),m("Sent into this session."),g.current?.focus();else if(I){const p=(await Vs({agentId:O,sessionId:A,instructions:L})).conversationId?.trim();p&&d(p),l(""),m("Sent into this session."),g.current?.focus()}else{const p=(await Ks({projectPath:a.projectPath,sessionId:a.sessionId,...a.harness?{harness:a.harness}:{},...a.model?{model:a.model}:{},...a.reasoningEffort?{reasoningEffort:a.reasoningEffort}:{},instructions:L})).conversationId?.trim();l(""),p?(d(p),m("Session invoked — opening conversation."),r({view:"conversation",conversationId:p})):(m("Session invoked."),g.current?.focus())}}catch(S){f(S instanceof Error?S.message:String(S))}finally{u(!1)}}};return t.jsx("div",{className:"s-observe-compose",children:t.jsx(Xs,{renderWhenEmbedded:!0,density:"panel",value:o,onChange:l,onSend:()=>{W()},sending:c,disabled:!$||c,canSend:D,placeholder:$?!i&&!I&&B?"Message this session to invoke it…":"Write into this session…":"This trace is read-only",textareaRef:g,rows:3,showAttach:$,onAttach:()=>g.current?.focus(),attachTitle:"Add context",attachAriaLabel:"Add context",sendTitle:"Send into this session (Cmd+Enter)",sendAriaLabel:"Send into this session",tools:$?j?t.jsx("span",{className:"s-observe-compose-status s-observe-compose-status--error",children:j}):b?t.jsx("span",{className:"s-observe-compose-status",children:b}):null:t.jsx("span",{className:"s-observe-compose-status s-observe-compose-status--muted",children:"No broker conversation or resumable agent session is attached to this trace."})})})}function En({data:e,agentId:s,sessionId:n,conversationId:a,observeSource:r,observeFidelity:o,originLabel:l,defaultPresentation:c="timeline",showRail:u=!0,variant:b="default",traceLimit:m,traceWindowMs:j,traceWindowLabel:f,nowMs:i,initialCursorT:d,focusEventId:g,inlineFocusEventId:O,inlineFocusContent:A,onLaneEventSelect:I,surface:B="scout",laneGutter:$,richSimpleTools:D,laneCollapseTechnicalEvents:W,onLaneCollapseTechnicalEventsChange:L,laneOperatorName:S}){const p=b==="lane",E=B==="scope",M=$??(E?"label-time":"time"),x=D??E,C=u&&!E,[N,T]=h.useState(()=>p||E?"timeline":c),k=!p&&!E&&N==="conversation",R=e??vs,{events:y}=R,v=r??(R.live?"live":"history"),z=os({source:v,fidelity:o??"timestamped",live:R.live,eventCount:y.length}),Q=R.metadata?.session?.sessionStart,[gs,js]=h.useState(Date.now),ee=typeof i=="number"?i:gs;h.useEffect(()=>{if(!p||typeof i=="number")return;const w=setInterval(()=>js(Date.now()),1e4);return()=>clearInterval(w)},[p,i]);const P=y.length>0?y[y.length-1].t+30:60,se=typeof d=="number"?Math.max(0,Math.min(P,d)):null,[ie,ce]=h.useState(()=>se??P),[ve,Y]=h.useState(!1),[ue,ks]=h.useState(1),[xe,X]=h.useState(se==null),Re=h.useRef(P),Pe=h.useRef(null),te=h.useMemo(()=>yn(y,P),[y,P]);h.useEffect(()=>{se!=null&&(ce(se),X(!1),Y(!1))},[se,g]),h.useEffect(()=>{ce(w=>{const F=Re.current;Re.current=P;const H=He(w,F);return w>P||H&&xe?P:w})},[P,xe]),h.useEffect(()=>{if(!ve)return;const w=te.length>0?Math.max(220,700/ue):100,F=setInterval(()=>{ce(H=>{if(te.length>0){const he=ps(H,te,P);return he>=P?(X(!0),Y(!1),P):he}const me=H+ue;return me>=P?(X(!0),Y(!1),P):me})},w);return()=>clearInterval(F)},[ve,P,te,ue]);const ne=p&&!!(j&&j>0),ae=(()=>{let w=y.filter(F=>F.t<=ie);if(ne&&j){const F=As(w,Q,ee,j);w=F.length>=Be?F:w.slice(-Be)}else p&&m&&m>0&&(w=w.slice(-m));return w})(),Z=h.useMemo(()=>{if(!ne||!j)return null;const w=ae[0]?.id,F=w===void 0?Is(y,Q,ee,j):Math.max(0,y.findIndex(H=>H.id===w));return Bs(ae,Q,ee,j,F)},[y,ee,Q,j,ne,ae]);h.useLayoutEffect(()=>{if(p||!g)return;const w=Pe.current;if(!w)return;const F=w.querySelector('[data-focus-group="true"]')??w.querySelector(`[data-event-id="${g}"]`),H=F?.closest(".s-observe-main");if(F&&H){const me=H.getBoundingClientRect(),he=F.getBoundingClientRect(),$s=H.scrollTop+(he.top-me.top)-16;H.scrollTo({top:Math.max(0,$s),behavior:"instant"});return}F?.scrollIntoView({block:"start",behavior:"instant"})},[g,O,p,ae.length]);const de=He(ie,P)&&xe,ys=de?"tail":ve?"playing":"paused",Ns=h.useCallback(w=>{X(!1),Y(!1),ce(w)},[]),ws=h.useCallback(()=>{de?(X(!1),Y(!1)):(X(!1),Y(w=>!w))},[de]),G=R.metadata?.session,Oe=G?.threadPath??null,Cs=G?.model?.trim()||We(G?.adapterType)||"Agent",Ss=S??"You",Ae=n?.trim()||G?.externalSessionId?.trim()||null,Ie=We(G?.adapterType),Ts=!s&&G?.cwd&&Ae&&Ie?{projectPath:G.cwd,sessionId:Ae,harness:Ie,model:G.model,reasoningEffort:G.effort}:null;return t.jsxs("div",{ref:Pe,className:["s-observe",(!C||p)&&"s-observe--content-only",p&&"s-observe--lane",p&&M==="label-time"&&"s-observe--lane-gutter-label",k&&"s-observe--conversation",E&&"s-observe--scope"].filter(Boolean).join(" "),children:[t.jsxs("main",{className:"s-observe-main",children:[!p&&!E&&t.jsxs("div",{className:"s-observe-evidence-banner","data-tone":z.tone,children:[t.jsx("span",{className:"s-observe-evidence-dot","aria-hidden":"true"}),t.jsxs("span",{children:[t.jsx("strong",{children:l??z.label}),t.jsx("small",{children:l?`${z.label}. ${z.detail}`:z.detail})]}),!z.receiptOnly&&t.jsx(tn,{presentation:N,onChange:T})]}),Oe&&!p&&t.jsx(jn,{path:Oe,basePath:G?.cwd??null,agentId:s??null,sessionId:n??null}),!z.receiptOnly&&!E&&ne&&Z?t.jsxs("div",{className:"s-observe-lane-trace-meta",children:[t.jsxs("span",{className:"s-observe-lane-trace-meta-leading",children:[t.jsx("span",{className:"s-observe-lane-trace-meta-label",children:"Trace"}),t.jsx(nn,{collapseTechnicalEvents:!!W,onChange:L})]}),t.jsxs("span",{className:"s-observe-lane-trace-meta-stats",children:[t.jsxs("span",{className:"s-observe-lane-trace-meta-window",children:["last ",f??_e(j??0)]}),t.jsx("span",{className:"s-observe-lane-trace-meta-sep","aria-hidden":"true",children:"·"}),t.jsxs("span",{children:[Z.eventCount," event",Z.eventCount===1?"":"s"]}),Z.spanMs>0?t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"s-observe-lane-trace-meta-sep","aria-hidden":"true",children:"·"}),t.jsxs("span",{children:[_e(Z.spanMs)," span"]})]}):null,Z.truncatedBefore?t.jsx("span",{className:"s-observe-lane-trace-meta-tag",title:"Earlier activity in this window may not be loaded",children:"partial"}):null]})]}):null,z.receiptOnly?t.jsx(Qs,{events:y}):t.jsx(vn,{events:ae,followEnd:de,laneMode:p,conversationMode:k,sessionStartMs:Q,nowMs:ee,preferWallAge:ne,focusEventId:g,inlineFocusEventId:O,inlineFocusContent:A,onLaneEventSelect:I,laneGutter:M,richSimpleTools:x,collapseTechnicalEvents:k||p&&!!W,laneOperatorName:k?Ss:S,conversationAssistantName:Cs})]}),C&&!p&&t.jsx(xs,{data:R,agentId:s,sessionId:n,cursor:ie,duration:P,observeSource:r,observeFidelity:o}),!E&&!p&&t.jsxs("footer",{className:"s-observe-scrubber",children:[k?null:z.replayable?t.jsx(Sn,{events:y,duration:P,cursor:ie,mode:ys,speed:ue,snapTimes:te,onCursor:Ns,onPlayToggle:ws,onSpeedChange:ks}):t.jsxs("div",{className:"s-observe-static-evidence",children:[t.jsx("span",{className:"s-observe-evidence-dot","aria-hidden":"true"}),t.jsx("span",{children:z.label}),t.jsx("small",{children:"No timestamped replay is available."})]}),t.jsx(Ln,{conversationId:a,agentId:s,sessionId:n,invoke:Ts})]})]})}const ia=Object.freeze(Object.defineProperty({__proto__:null,SessionObserve:En,SessionObserveContextRail:xs},Symbol.toStringTag,{value:"Module"}));export{En as S,xs as a,ia as b,os as d,la as h};
9
+ `:null]},a)})})}function Dt(e){const s=(e??"").toLowerCase();return s==="shell"?"bash":s}function Wt(e){const s=e.arg?.trim();if(!(!s||s==="started"||s==="completed"))return s}const zt={bash:["bash","shell","terminal","exec","run","command","exec_command","shell_command","local_shell","container_exec","container.exec"],read:["read","view","cat","readfile","open","open_file"],file:["write","writefile","create","edit","multiedit","str_replace","strreplace","str_replace_editor","apply_patch","applypatch","patch","patch_apply","update","delete"],search:["grep","glob","search","rg","ripgrep","find","codebase_search","file_search"],fetch:["webfetch","web_fetch","fetch","websearch","web_search","browse","url"],agent:["agent","task","dispatch","subagent"],generic:[]},Mt={bash:"$",read:"◎",file:"✎",search:"⌕",fetch:"⤓",agent:"◇",generic:"▸"};function Ht(e){const s=(e??"").trim().toLowerCase();if(!s)return"generic";for(const n of["bash","read","file","search","fetch","agent"])if(zt[n].includes(s))return n;return"generic"}function ds(e){return!e||e==="started"||e==="completed"}function Gt(e){const s=e.trim().replace(/\/+$/u,""),n=s.lastIndexOf("/");return n<0?{dir:"",base:s}:{dir:s.slice(0,n+1),base:s.slice(n+1)}}function qt(e,s=2){const n=e.split("/").filter(Boolean);return n.length===0?"":n.length<=s?`${n.join("/")}/`:`…/${n.slice(-s).join("/")}/`}function Ut(e){if(!e)return null;for(const s of["matches","count","results","hits"]){const n=e[s];if(typeof n=="number"&&Number.isFinite(n))return n;if(typeof n=="string"&&/^\d+$/u.test(n.trim()))return Number(n.trim())}return null}function Vt(e){try{const s=new URL(e);return{host:s.host,path:s.pathname+s.search}}catch{return{host:e,path:""}}}function Kt(e){return e.length>=3&&/^(?:ba|z)?sh$/u.test(e[0])&&/^-[a-z]*c$/u.test(e[1])?e.slice(2).join(" "):e.join(" ")}function oe(e,s){const n=e.trim();if(!n.startsWith("{")&&!n.startsWith("["))return null;try{const a=JSON.parse(n);if(a&&typeof a=="object"&&!Array.isArray(a)){const r=a;for(const o of s){const l=r[o];if(typeof l=="string"&&l.trim())return l;if(Array.isArray(l)&&l.every(c=>typeof c=="string"))return Kt(l)}}}catch{}for(const a of s){const r=n.match(new RegExp(`"${a}"\\s*:\\s*"((?:[^"\\\\]|\\\\.)*)`,"u"));if(r?.[1])try{return JSON.parse(`"${r[1]}"`)}catch{return r[1]}}return null}function ms(e){const s=e.match(/\*\*\*\s+(?:Update|Add|Delete|Move|Rename)\s+File:\s*(.+)/u);return s&&s[1].trim().split(/\s*(?:->|=>)\s*/u)[0]?.trim()||null}function hs(e,s){const n=s?.trim();if(!n)return"";switch(e){case"bash":return oe(n,["cmd","command","script","input","code"])??n;case"file":return n.includes("*** ")?ms(n)??n:oe(n,["file_path","path","filename","file"])??n;case"read":return oe(n,["file_path","path","filename","file"])??n;case"search":return oe(n,["pattern","query","glob","regex","q","search"])??n;case"fetch":return oe(n,["url","href","uri"])??n;default:return n}}function Ue({path:e,tone:s}){const n=Rs(e),{dir:a,base:r}=Gt(n);return t.jsxs("span",{className:"s-observe-tool-path",title:e,children:[a&&t.jsx("span",{className:"s-observe-tool-path-dir",children:qt(a)}),t.jsx("span",{className:`s-observe-tool-path-base s-observe-tool-path-base--${s}`,children:r})]})}function Jt({path:e}){const s=e.lastIndexOf("/"),n=s>=0?e.slice(0,s+1):"",a=s>=0?e.slice(s+1):e;return t.jsxs("span",{className:"s-observe-bash-dir",children:[n&&t.jsx("span",{className:"s-observe-bash-dir-prefix",children:n}),a]})}function Yt({command:e,title:s,outcome:n,outputPreview:a,cwd:r,powerline:o}){const{dir:l,spans:c}=Ne(e,{cwd:r,powerline:o});return t.jsxs("span",{className:"s-observe-bash",title:s??e,children:[l&&t.jsxs("span",{className:"s-observe-bash-pl",children:[t.jsx("span",{className:"s-observe-bash-seg",children:l}),t.jsx("span",{className:"s-observe-bash-sep","aria-hidden":!0})]}),t.jsx("span",{className:"s-observe-bash-prompt","aria-hidden":!0,children:"❯"}),c.length>0?t.jsx("span",{className:"s-observe-bash-cmd",children:c.map((u,b)=>{const m=b>0?" ":"";return u.tier==="dir"?t.jsxs("span",{children:[m,t.jsx(Jt,{path:u.text})]},b):t.jsxs("span",{className:`s-observe-bash-${u.tier}${u.known?" s-observe-bash-prog--known":""}${u.flag?" s-observe-bash-flag":""}`,children:[m,u.text]},b)})}):!l&&t.jsx("span",{className:"s-observe-bash-arg",children:"shell"}),a&&t.jsxs("span",{className:"s-observe-bash-out",title:a,children:[" → ",Ze(a,88)]}),n&&t.jsx("span",{className:"s-observe-bash-ok",children:n})]})}function Xt({family:e,event:s}){const n=hs(e,s.arg),a=n.startsWith("{")||n.startsWith("["),r=!!n&&!ds(n)&&!a;switch(e){case"read":return r?t.jsx(Ue,{path:n,tone:"read"}):t.jsx("span",{className:"s-observe-tool-cmd-name",children:"read"});case"file":{const o=r&&n!=="patch"?n:ms(s.detail??"")??"";return o?t.jsx(Ue,{path:o,tone:"file"}):t.jsx("span",{className:"s-observe-tool-cmd-name",children:s.tool??"edit"})}case"search":{if(!r)return t.jsx("span",{className:"s-observe-tool-cmd-name",children:"search"});const o=Ut(s.result);return t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:"s-observe-tool-needle",children:[t.jsx("span",{className:"s-observe-tool-needle-q",children:'"'}),n,t.jsx("span",{className:"s-observe-tool-needle-q",children:'"'})]}),o!=null&&t.jsxs("span",{className:"s-observe-tool-count",children:["· ",o," ",o===1?"match":"matches"]})]})}case"fetch":{if(!r)return t.jsx("span",{className:"s-observe-tool-cmd-name",children:"fetch"});const{host:o,path:l}=Vt(n);return t.jsxs("span",{className:"s-observe-tool-url",title:n,children:[t.jsx("span",{className:"s-observe-tool-host",children:o}),l&&l!=="/"&&t.jsx("span",{className:"s-observe-tool-host-path",children:Ze(l,40)})]})}case"agent":return t.jsx("span",{className:"s-observe-tool-agent-name",children:r?n:s.tool??"agent"});default:return t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"s-observe-tool-cmd-name",children:s.tool}),r?t.jsxs(t.Fragment,{children:[" ",t.jsx("span",{className:"s-observe-tool-cmd-arg",children:n})]}):null]})}}function Zt({event:e,laneMode:s=!1,simple:n=!1,wallLabel:a,wallTitle:r}){const[o,l]=h.useState(!1),c=Ht(e.tool),u=s?Mt[c]:Tt[Dt(e.tool)]??"▸",b=s&&c==="bash",m=b?hs("bash",e.arg):"",j=!!m&&!ds(m)&&!m.startsWith("{")&&!m.startsWith("["),f=b&&!n,i=j?Ne(m).spans.find(S=>S.tier==="prog")?.text??m:"",g=Wt(e)??e.arg?.trim()??"",O=typeof e.result?.outcome=="string"?e.result.outcome.trim():typeof e.result?.outcome=="number"?String(e.result.outcome):void 0,A=s?void 0:e.stream?.[0]?.trim()||void 0,I=!!(O&&O!=="success"),B=!!(I||e.diff||e.stream),$=!s&&(B||we(g,120,2)),D=!$||o,W=!s&&$&&!o&&e.stream?Xe(e.stream.join(`
10
+ `),180,2):null;return t.jsxs("div",{className:`s-observe-tool s-observe-block${s?` s-observe-tool--lane s-observe-tool--fam-${c}`:""}${s&&n?" s-observe-tool--simple":""}`,children:[t.jsxs("div",{className:`s-observe-tool-header${B&&!s?" s-observe-tool-header--has-body":""}`,children:[(!b||n)&&t.jsx("span",{className:"s-observe-tool-glyph",children:u}),t.jsxs("span",{className:"s-observe-tool-cmd",title:s&&!f?b&&j?m:`${e.tool??""} ${g}`.trim()||void 0:void 0,children:[f?t.jsx(Yt,{command:j?m:"",title:j?m:void 0,outputPreview:A}):b&&n?t.jsx("span",{className:"s-observe-tool-cmd-name",children:i||"shell"}):s?t.jsx(Xt,{family:c,event:e}):t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"s-observe-tool-cmd-name",children:e.tool}),g?t.jsxs(t.Fragment,{children:[" ",t.jsx("span",{className:"s-observe-tool-cmd-arg",children:g})]}):null]}),O==="success"&&t.jsx("span",{className:"s-observe-tool-outcome s-observe-tool-outcome--success",children:"ok"}),!s&&e.diff&&t.jsxs("span",{className:"s-observe-tool-diff-inline","aria-label":`${e.diff.add} additions, ${e.diff.del} deletions`,children:[t.jsxs("span",{className:"s-observe-tool-diff-add",children:["+",e.diff.add]}),t.jsxs("span",{className:"s-observe-tool-diff-del",children:["−",e.diff.del]})]})]}),$&&t.jsx(cs,{expanded:o,onToggle:()=>l(S=>!S),label:e.stream?"output":"details"})]}),W&&t.jsx("pre",{className:"s-observe-tool-stream-preview",children:W}),I&&(s||D)&&e.result&&t.jsx("div",{className:"s-observe-tool-result",children:Object.entries(e.result).map(([S,p])=>`${S}: ${p}`).join(" · ")}),!s&&e.diff&&D&&t.jsxs("div",{className:"s-observe-tool-diff",children:[t.jsxs("div",{className:"s-observe-tool-diff-stats",children:[t.jsxs("span",{className:"s-observe-tool-diff-add",children:["+",e.diff.add]}),e.diff.del>0&&t.jsxs(t.Fragment,{children:[" ",t.jsxs("span",{className:"s-observe-tool-diff-del",children:["−",e.diff.del]})]})]}),t.jsx(Ft,{preview:e.diff.preview})]}),!s&&e.stream&&D&&t.jsx("pre",{className:"s-observe-tool-stream",children:e.stream.join(`
11
+ `)}),!s&&t.jsx(J,{text:Bt(e),label:"Copy tool call"})]})}function Qt({event:e,laneMode:s=!1,conversationMode:n=!1,operatorName:a="you",wallLabel:r,wallTitle:o}){const l=Ws(e),c=l.preview===l.title?"":l.preview,u=s||n,b=(a.trim()[0]??"y").toUpperCase();return t.jsxs("div",{className:["s-observe-ask","s-observe-block",s&&"s-observe-ask--lane",n&&"s-observe-ask--conversation"].filter(Boolean).join(" "),children:[u?t.jsxs("div",{className:"s-observe-ask-head",children:[t.jsx("span",{className:"s-observe-ask-avatar",style:{background:Ms(a)},"aria-hidden":"true",children:b}),t.jsx("span",{className:"s-observe-ask-author",children:a}),r?t.jsx("span",{className:"s-observe-ask-time",title:o,children:r}):null]}):t.jsx("div",{className:"s-observe-ask-label",children:l.label}),l.contextTags.length>0&&t.jsx("div",{className:"s-observe-ask-tags","aria-label":"Attached context",children:l.contextTags.map(m=>t.jsxs("span",{className:"s-observe-ask-tag",title:m.raw,children:[t.jsx(ot,{size:10,strokeWidth:2,"aria-hidden":"true"}),t.jsx("span",{className:"s-observe-ask-tag-name",children:zs(m.name)}),m.detail?t.jsx("span",{className:"s-observe-ask-tag-detail",children:m.detail}):null]},m.name))}),t.jsx("div",{className:"s-observe-ask-title",children:l.title}),c?t.jsx(us,{text:c,className:"s-observe-ask-text",laneMode:s,live:e.live,renderCollapsed:m=>Qe(m),renderExpanded:m=>t.jsx(ss,{text:m})}):e.live?t.jsx("span",{className:"s-observe-cursor"}):null,l.answer&&(!s&&!n||we(l.answer.text))&&t.jsxs("div",{className:"s-observe-ask-answer",children:[t.jsxs("span",{className:"s-observe-ask-answer-meta",children:["↳ ",l.answer.label]}),t.jsx("div",{className:"s-observe-ask-answer-text",children:l.answer.text})]}),!s&&!n&&t.jsx(J,{text:l.copyText,label:"Copy request"})]})}function en(e){const s=e.to?.trim();return s?s==="human"?"→ you":`→ ${s}`:null}function fs(e){return e.kind==="message"&&(e.text??"").trim().toLowerCase()==="[thinking]"}function sn({event:e,laneMode:s=!1,conversationMode:n=!1,assistantName:a}){const r=e.text??"",o=(s||n)&&fs(e),l=o?"Thinking...":r,c=o?"Agent thinking":n?a?.trim()||"Agent":en(e);return t.jsxs("div",{className:["s-observe-block",s&&"s-observe-message--lane",n&&"s-observe-message--conversation",o&&"s-observe-message--thinking",e.live&&"s-observe-message--streaming"].filter(Boolean).join(" "),"aria-busy":e.live||void 0,children:[c?t.jsx("div",{className:"s-observe-message-label",children:c}):null,t.jsx(us,{text:l,className:"s-observe-message-text",laneMode:s||n,live:e.live,renderCollapsed:u=>Qe(u),renderExpanded:u=>t.jsx(ss,{text:u})}),!s&&!n&&t.jsx(J,{text:r,label:"Copy message"})]})}function tn({summary:e,expanded:s=!1,onToggle:n}){const a=e.totalCount===1?"technical event":"technical events",r=t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:"s-observe-tech-summary-count",children:[e.totalCount," ",a]}),e.labels.length>0?t.jsx("span",{className:"s-observe-tech-summary-detail",children:e.labels.join(" · ")}):null,n?s?t.jsx(ts,{size:12,strokeWidth:1.8,className:"s-observe-tech-summary-chevron","aria-hidden":!0}):t.jsx(ns,{size:12,strokeWidth:1.8,className:"s-observe-tech-summary-chevron","aria-hidden":!0}):null]});return n?t.jsx("button",{type:"button",className:`s-observe-tech-summary s-observe-tech-summary--toggle s-observe-block s-observe-block--inline${s?" is-expanded":""}`,onClick:o=>{o.stopPropagation(),n()},"aria-expanded":s,"aria-label":s?`Collapse ${e.totalCount} ${a}`:`Expand ${e.totalCount} ${a}`,children:r}):t.jsx("div",{className:"s-observe-tech-summary s-observe-block s-observe-block--inline",children:r})}function nn({presentation:e,onChange:s}){return t.jsxs("div",{className:"s-observe-presentation-toggle",role:"group","aria-label":"Session presentation",children:[t.jsx("button",{type:"button",className:"s-observe-presentation-toggle-btn","aria-pressed":e==="conversation",onClick:()=>s("conversation"),children:"Conversation"}),t.jsx("button",{type:"button",className:"s-observe-presentation-toggle-btn","aria-pressed":e==="timeline",onClick:()=>s("timeline"),children:"Trace"})]})}function an({collapseTechnicalEvents:e,onChange:s}){if(!s)return null;const n=e?"Concise":"Details",a=e?"Show detailed trace events":"Show concise trace summaries",r=e?st:tt;return t.jsxs("label",{className:`s-observe-lane-trace-mode${e?" s-observe-lane-trace-mode--concise":" s-observe-lane-trace-mode--details"}`,title:a,children:[t.jsx("input",{type:"checkbox",checked:e,onChange:o=>s(o.currentTarget.checked),"aria-label":a}),t.jsx(r,{size:12,strokeWidth:1.8,"aria-hidden":"true"}),t.jsx("span",{children:n})]})}function rn(e,s){return e?.trim()?s?!/^[a-z0-9._-]+ · [a-z0-9._-]+$/i.test(e.trim()):!0:!1}const on={turn_ended:"Turn complete",turn_started:"Turn started"};function ln(e){const s=e.trim(),a=s.match(/^\[(.+)\]$/)?.[1]??s;return on[a]??a.replace(/_/g," ")}function cn({turn:e,model:s}){return t.jsxs("div",{className:"s-observe-grok-turn s-observe-block s-observe-block--inline",children:[t.jsxs("span",{className:"s-observe-grok-turn-num",children:["turn ",e]}),s?t.jsx("span",{className:"s-observe-grok-turn-model",children:s}):null]})}function un({tool:e,decision:s}){return t.jsxs("div",{className:"s-observe-grok-permission s-observe-block s-observe-block--inline",children:[t.jsx("span",{className:`s-observe-grok-permission-decision is-${s}`,children:s}),t.jsx("span",{className:"s-observe-grok-permission-tool",children:e})]})}function dn({phase:e}){return t.jsx("div",{className:"s-observe-grok-phase s-observe-block s-observe-block--inline",children:t.jsx("span",{className:"s-observe-grok-phase-label",children:Es(e)})})}function mn({event:e,laneMode:s=!1}){if(s){const n=Ye(e.text??"");return n?.kind==="turn"&&typeof n.turn=="number"?t.jsx(cn,{turn:n.turn,model:n.model}):t.jsx("div",{className:"s-observe-note s-observe-block s-observe-block--inline s-observe-note--lane",children:t.jsx("span",{className:"s-observe-note-text",children:ln(e.text)})})}return t.jsxs("div",{className:"s-observe-note s-observe-block s-observe-block--inline",children:[t.jsx("span",{className:"s-observe-note-icon","aria-hidden":"true",children:"✓"}),t.jsx("span",{className:"s-observe-note-text",children:e.text}),t.jsx(J,{text:e.text??"",label:"Copy note"})]})}function hn({event:e,laneMode:s=!1}){const n=s?Ye(e.text??""):null;if(n?.kind==="permission"&&n.tool&&n.decision)return t.jsx(un,{tool:n.tool,decision:n.decision});if(n?.kind==="phase"&&n.phase)return t.jsx(dn,{phase:n.phase});const a=rn(e.detail,s),r=a&&e.detail?`${e.text}
12
+ ${e.detail}`:e.text??"";return t.jsxs("div",{className:`s-observe-system s-observe-block${s?" s-observe-system--lane":""}`,children:[t.jsxs("div",{className:"s-observe-system-line",children:[!s&&t.jsx("span",{className:"s-observe-system-arrow","aria-hidden":"true",children:"▸ "}),t.jsx("span",{className:"s-observe-system-text",children:e.text})]}),a&&e.detail&&t.jsx("div",{className:"s-observe-system-detail",children:e.detail}),t.jsx(J,{text:r,label:"Copy system event"})]})}const fn={think:"think",tool:"tool",ask:"ask",message:"message",note:"note",system:"system",boot:"boot"};function bn(e){const s=Ls(e);return s||(e.kind==="tool"?e.tool==="res"?"result":e.tool?.trim()||"tool":fn[e.kind]??e.kind)}function Ve(e){return!!e?.closest("button, a, input, textarea, select, [role='slider'], [contenteditable='true']")}function pn({event:e,prevT:s,prevWallMs:n,laneMode:a=!1,conversationMode:r=!1,entering:o=!1,repeatCount:l=1,sessionStartMs:c,nowMs:u=Date.now(),preferWallAge:b=!1,highlighted:m=!1,focusAnchor:j=!1,simpleTool:f=!1,stackedTool:i=!1,laneGutter:d="time",laneOperatorName:g,conversationAssistantName:O,onLaneEventSelect:A,laneToolHover:I,hoverPreviewActive:B=!1,technicalSummary:$,technicalExpanded:D=!1,onTechnicalToggle:W}){const L=e.t-s,S=$?"var(--dim)":ls[e.kind]??"var(--dim)",p=a||r?Pt(e,c,u,b):Ot(e,c),E=pe(e,c),M=b&&typeof n=="number"&&E!==null?Ds(E-n):null,x=!b&&L>15?`${Rt(L)} gap`:null,C=M??x,N=a&&!!A&&!$,T=["s-observe-row",`s-observe-row--kind-${e.kind}`,o?"s-observe-row--enter":"",N?"s-observe-row--selectable":"",m?"s-observe-row--highlighted":"",j?"s-observe-row--focus-anchor":"",f?"s-observe-row--tool-simple":"",i?"s-observe-row--tool-stacked":"",B?"s-observe-row--hover-preview":"",$?"s-observe-row--tech-summary":""].filter(Boolean).join(" "),k=t.jsxs(t.Fragment,{children:[C?t.jsx("div",{className:"s-observe-row-gap",children:C}):null,t.jsxs("div",{className:"s-observe-row-time",title:p.title,children:[d==="label-time"&&!i?t.jsx("span",{className:"s-observe-row-kind",children:bn(e)}):null,t.jsx("span",{className:"s-observe-row-clock",children:p.label}),l>1&&t.jsxs("span",{className:"s-observe-row-repeat",title:`${l} similar events merged`,children:["×",l]})]}),t.jsx("span",{className:"s-observe-row-bead",style:{background:S}}),$?t.jsx(tn,{summary:$,expanded:D,onToggle:W}):t.jsxs(t.Fragment,{children:[e.kind==="think"&&t.jsx(_t,{event:e,laneMode:a}),e.kind==="tool"&&t.jsx(Zt,{event:e,laneMode:a,simple:f,wallLabel:f?p.label:void 0,wallTitle:f?p.title:void 0}),e.kind==="ask"&&t.jsx(Qt,{event:e,laneMode:a,conversationMode:r,operatorName:g??(r?"You":void 0),wallLabel:a||r?p.label:void 0,wallTitle:a||r?p.title:void 0}),e.kind==="message"&&t.jsx(sn,{event:e,laneMode:a,conversationMode:r,assistantName:O}),e.kind==="note"&&t.jsx(mn,{event:e,laneMode:a}),(e.kind==="system"||e.kind==="boot")&&t.jsx(hn,{event:e,laneMode:a})]})]}),R=a&&e.kind==="tool"&&I?I(e,{wallLabel:p.label,wallTitle:p.title,sessionOffset:Ps(e.t)}):null,y=R?t.jsx("div",{ref:R.ref,className:"s-observe-row-hover-target",onMouseEnter:R.onMouseEnter,onMouseLeave:R.onMouseLeave,onFocus:R.onFocus,onBlur:R.onBlur,children:k}):k;return t.jsx("div",{className:T,"data-event-id":e.id,onClick:N?v=>{Ve(v.target)||A?.(e)}:void 0,onKeyDown:N?v=>{v.key!=="Enter"&&v.key!==" "||Ve(v.target)||(v.preventDefault(),A?.(e))}:void 0,role:N?"button":void 0,tabIndex:N?0:void 0,"aria-label":N?e.kind==="tool"?"Open command detail at this step":"Open session detail at this step":void 0,children:y})}function vn(e,s){if(!e)return;const n=e.closest(".s-observe-main");if(n){const a=n.scrollHeight-n.clientHeight;n.scrollTo({top:a,left:n.scrollLeft,behavior:s});return}e.scrollIntoView({behavior:s,block:"end",inline:"nearest"})}function xn({events:e,followEnd:s,laneMode:n=!1,conversationMode:a=!1,sessionStartMs:r,nowMs:o=Date.now(),preferWallAge:l=!1,focusEventId:c,inlineFocusEventId:u,inlineFocusContent:b,onLaneEventSelect:m,laneGutter:j="time",richSimpleTools:f=!1,collapseTechnicalEvents:i=!1,laneOperatorName:d,conversationAssistantName:g}){const O=h.useRef(null),A=h.useRef(s),I=h.useRef(new Set),B=h.useRef(!1),[$,D]=h.useState(()=>new Set),[W,L]=h.useState(()=>new Set),S=h.useCallback(x=>{L(C=>{const N=new Set(C);return N.has(x)?N.delete(x):N.add(x),N})},[]);h.useEffect(()=>{i||L(new Set)},[i]);const p=h.useMemo(()=>{const x=n||a,C=x?Nt(e):e.map(T=>({event:T,repeatCount:1}));if(!x)return C;const N=C.filter(T=>T.event.live||!fs(T.event));return i?yt(N):N},[e,n,a,i]);h.useEffect(()=>{if(!n){B.current=!0;return}const x=I.current;if(!B.current){for(const k of p)x.add(k.event.id);B.current=!0;return}const C=[];for(const k of p)x.has(k.event.id)||(x.add(k.event.id),C.push(k.event.id));if(C.length===0)return;const N=new Set(C);D(N);const T=window.setTimeout(()=>{D(new Set)},380);return()=>window.clearTimeout(T)},[p,s,n]),h.useLayoutEffect(()=>{if(!s){A.current=!1;return}const x=!A.current;A.current=!0,vn(O.current,n||x?"instant":"smooth")},[p.length,s,n]);const E=Os(n),M=(x,C,N,T={})=>{const k=N?.event??null,R=k?pe(k,r):null,y=n&&!x.technicalSummary&&!f&&Me(x.event),v=y&&k!=null&&!N?.technicalSummary&&Me(k),q=!T.suppressInlineFocus&&u===x.event.id&&!!b,z=t.jsx(pn,{event:x.event,prevT:k?.t??0,prevWallMs:R,laneMode:n,conversationMode:a,simpleTool:y,stackedTool:v,laneGutter:j,entering:n&&$.has(x.event.id),repeatCount:x.repeatCount,sessionStartMs:r,nowMs:o,preferWallAge:l,highlighted:!n&&!a&&c===x.event.id,focusAnchor:q,laneOperatorName:d,conversationAssistantName:g,onLaneEventSelect:m,laneToolHover:n?E.bind:void 0,hoverPreviewActive:n&&E.hoveredEventId===x.event.id,technicalSummary:x.technicalSummary,technicalExpanded:T.technicalExpanded,onTechnicalToggle:T.onTechnicalToggle});return t.jsxs("div",{className:`s-observe-focus-group${q?" s-observe-focus-group--active":""}`,"data-focus-group":q?"true":void 0,children:[z,q?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"s-observe-focus-connector","aria-hidden":!0}),t.jsx("div",{className:"s-observe-focus-detail",children:b})]}):null]},`${x.event.id}:${x.repeatCount}:${C}${T.keySuffix??""}`)};return t.jsxs("div",{className:"s-observe-stream",children:[!a&&t.jsx("div",{className:"s-observe-spine"}),p.map((x,C)=>{const N=C>0?p[C-1]:null,T=x.technicalSourceRows,k=!!(x.technicalSummary&&T&&T.length>0),R=k&&W.has(x.event.id);return k&&R?t.jsxs("div",{className:"s-observe-tech-rollup s-observe-tech-rollup--expanded",children:[M(x,C,N,{technicalExpanded:!0,onTechnicalToggle:()=>S(x.event.id),suppressInlineFocus:!0}),t.jsx("div",{className:"s-observe-tech-rollup-details",children:T.map((y,v)=>{const q=v>0?T[v-1]:null;return M(y,v,q,{keySuffix:`:rollup:${x.event.id}:detail`,suppressInlineFocus:!0})})})]},`${x.event.id}:${x.repeatCount}:${C}:rollup`):M(x,C,N,{onTechnicalToggle:k?()=>S(x.event.id):void 0})}),t.jsx("div",{ref:O}),E.card]})}function gn({data:e,cursor:s}){const r=e.length;if(r<2)return null;const o=276/(r-1),l=e.map((u,b)=>`${b===0?"M":"L"} ${(b*o).toFixed(1)} ${((1-u)*44).toFixed(1)}`).join(" "),c=s*276;return t.jsxs("svg",{viewBox:"0 0 276 44",style:{width:"100%",height:44,display:"block"},children:[t.jsx("defs",{children:t.jsxs("linearGradient",{id:"observeCtxFill",x1:"0",y1:"0",x2:"0",y2:"1",children:[t.jsx("stop",{offset:"0%",stopColor:"var(--accent)",stopOpacity:.25}),t.jsx("stop",{offset:"100%",stopColor:"var(--accent)",stopOpacity:0})]})}),t.jsx("path",{d:`${l} L 276 44 L 0 44 Z`,fill:"url(#observeCtxFill)"}),t.jsx("path",{d:l,fill:"none",stroke:"var(--accent)",strokeWidth:1.2}),t.jsx("line",{x1:c,y1:0,x2:c,y2:44,stroke:"var(--accent)",strokeWidth:1,opacity:.6,strokeDasharray:"2 3"})]})}function jn({state:e}){const s=e==="created"?"var(--green)":e==="modified"?"var(--accent)":"var(--dim)",n=e==="created"?"+":e==="modified"?"~":"◎";return t.jsx("span",{className:"s-observe-file-glyph",style:{background:"color-mix(in srgb, var(--bg) 70%, black)",border:`1px solid color-mix(in srgb, ${s} 40%, var(--border))`,color:s},children:n})}function U({label:e,value:s,detail:n}){const a=s==="0"||s==="—"||s==="";return t.jsxs("div",{className:`s-observe-stat${a?" s-observe-stat--quiet":""}`,children:[t.jsx("div",{className:"s-observe-stat-value",children:s}),t.jsx("div",{className:"s-observe-stat-label",children:e}),n&&t.jsx("div",{className:"s-observe-stat-detail",children:n})]})}function je({children:e="Not captured for this session"}){return t.jsx("div",{className:"s-observe-empty",children:e})}function Ee({path:e,basePath:s,agentId:n,sessionId:a,className:r,children:o}){const{openFilePreview:l}=Se(),c=e.startsWith("/")||e.startsWith("~/")?e:s?`${s.replace(/\/$/,"")}/${e}`:e;return t.jsxs("span",{className:"s-observe-path-link-group",children:[t.jsx("button",{type:"button",className:r,title:`Preview ${e} in Scout`,onClick:()=>l(c),children:o}),t.jsx("button",{type:"button",className:"s-observe-path-link-external",title:`Reveal ${e} in OS`,"aria-label":"Reveal in OS",onClick:()=>It({path:e,basePath:s,agentId:n,sessionId:a}),children:t.jsx(nt,{size:11,strokeWidth:1.6})})]})}function kn({path:e,basePath:s,agentId:n,sessionId:a}){return t.jsxs("div",{className:"s-observe-source",children:[t.jsx("span",{className:"s-observe-source-label",children:"Source"}),t.jsx(Ee,{path:e,basePath:s,agentId:n,sessionId:a,className:"s-observe-source-link",children:ye(e)})]})}function ke({rows:e,agentId:s,sessionId:n}){return e.length===0?null:t.jsx("div",{className:"s-observe-detail-list",children:e.map(a=>{const r=`s-observe-detail-value s-observe-detail-value--${a.tone??"default"}${a.wrap?" s-observe-detail-value--wrap":""}`,o=a.display??a.value;return t.jsxs("div",{className:"s-observe-detail-row",children:[t.jsx("div",{className:"s-observe-detail-label",children:a.label}),t.jsxs("div",{className:"s-observe-detail-value-wrap",children:[a.actionPath?t.jsx(Ee,{path:a.actionPath,basePath:a.actionBasePath,agentId:s,sessionId:n,className:`${r} s-observe-detail-link`,children:o}):t.jsx("div",{className:r,title:a.title??(o!==a.value?a.value:void 0),children:o}),t.jsx(J,{text:a.actionPath??a.value,label:`Copy ${a.label.toLowerCase()}`,className:"s-observe-copy-btn--inline"})]})]},a.label)})})}function yn({events:e,duration:s,cursor:n,onCursor:a,snapTimes:r=[]}){const o=h.useRef(null),l=h.useMemo(()=>Cn(e,s,48),[e,s]),c=l.some(f=>f.count>0),u=l.reduce((f,i)=>f+i.count,0),b=c?`${u} message turn anchors. Click the timeline or use arrow keys to snap between turns.`:"Session timeline",m=h.useCallback(f=>{const i=o.current.getBoundingClientRect(),d=f.clientX-i.left,g=Math.max(0,Math.min(s,d/i.width*s));a(Ke(g,s,r))},[s,a,r]),j=h.useCallback(f=>{if(s<=0)return;const i=s*.01,d=s*.05;let g=n;switch(f.key){case"ArrowLeft":g=r.length?wn(n,r):n-(f.shiftKey?d:i);break;case"ArrowRight":g=r.length?ps(n,r,s):n+(f.shiftKey?d:i);break;case"PageDown":g=n-d;break;case"PageUp":g=n+d;break;case"Home":g=0;break;case"End":g=s;break;default:return}f.preventDefault(),a(r.length&&(f.key==="PageDown"||f.key==="PageUp")?Ke(g,s,r):Math.max(0,Math.min(s,g)))},[n,s,a,r]);return t.jsxs("div",{className:"s-observe-track-wrap",title:b,children:[c?t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"s-observe-track-barsHead","aria-hidden":!0,children:[t.jsx("span",{children:"Turns"}),t.jsx("span",{children:u})]}),t.jsx("div",{className:"s-observe-track-bars","aria-hidden":!0,children:l.map(f=>t.jsx("span",{className:"s-observe-track-bar","data-active":f.start<=n||void 0,style:{height:`${Sn(f.count,l)}%`}},f.index))})]}):null,t.jsxs("div",{ref:o,className:"s-observe-track",onClick:m,onKeyDown:j,role:"slider",tabIndex:s>0?0:-1,"aria-label":"Session timeline","aria-valuemin":0,"aria-valuemax":s,"aria-valuenow":Math.max(0,Math.min(s,n)),children:[e.map(f=>{const i=f.kind==="tool"?6:f.kind==="think"?4:5;return t.jsx("span",{className:"s-observe-track-tick",style:{left:`${s>0?f.t/s*100:0}%`,top:i===6?-2:-1,height:i,background:ls[f.kind]??"var(--dim)"}},f.id)}),t.jsx("div",{className:"s-observe-track-played",style:{width:`${s>0?n/s*100:0}%`}}),t.jsx("span",{className:"s-observe-track-cursor",style:{left:`${s>0?n/s*100:0}%`}})]})]})}function bs(e){return e.kind==="message"||e.kind==="ask"}function Nn(e,s){const n=e.filter(bs).map(a=>Math.max(0,Math.min(s,a.t))).sort((a,r)=>a-r);return Array.from(new Set(n))}function Ke(e,s,n){const a=Math.max(0,Math.min(s,e));if(n.length===0)return a;let r=n[0],o=Math.abs(r-a);for(const l of n){const c=Math.abs(l-a);c<o&&(r=l,o=c)}return r}function ps(e,s,n){return s.find(r=>r>e+.01)??n}function wn(e,s){for(let n=s.length-1;n>=0;n-=1){const a=s[n];if(a<e-.01)return a}return 0}function Cn(e,s,n){const a=Math.max(1,s),r=Array.from({length:n},(o,l)=>({index:l,count:0,start:l/n*a}));for(const o of e){if(!bs(o))continue;const l=Math.min(n-1,Math.max(0,Math.floor(o.t/a*n)));r[l].count+=1}return r}function Sn(e,s){if(e<=0)return 0;const n=Math.max(1,...s.map(a=>a.count));return Math.max(18,e/n*100)}function Tn({events:e,duration:s,cursor:n,mode:a,speed:r,snapTimes:o,onCursor:l,onPlayToggle:c,onSpeedChange:u}){const b=a==="tail"?"Following latest":a==="playing"?"Pause replay":"Play turns";return t.jsxs("div",{className:"s-observe-transport","data-snap":o.length>0||void 0,"data-mode":a,children:[t.jsx("button",{type:"button",className:"s-observe-play-btn","data-state":a,onClick:c,"aria-pressed":a==="tail"||a==="playing","aria-label":b,title:b,children:a==="playing"?"❚❚":"▶"}),t.jsx("button",{type:"button",className:"s-observe-rewind-btn",onClick:()=>{l(0)},"aria-label":"Jump to start",title:"Jump to start",children:"⏮"}),t.jsx(yn,{events:e,duration:s,cursor:n,onCursor:l,snapTimes:o}),t.jsx("div",{className:"s-observe-speed-group",children:[.5,1,2,4].map(m=>t.jsxs("button",{type:"button",className:`s-observe-speed-btn${r===m?" s-observe-speed-btn--active":""}`,onClick:()=>u(m),children:[m,"×"]},m))})]})}function Je(e){return Hs(e)||"unknown"}function $n(e,s){const n=De(e),a=De(s);return n===null||a===null?"0:00":es(a-n)||"0:00"}function Ln({catalog:e,sessionId:s,agentId:n}){const{navigate:a,route:r}=Se(),[o,l]=h.useState(!1),c=e.sessions.find(d=>d.id===e.activeSessionId),u=e.sessions.filter(d=>d.id!==e.activeSessionId&&d.endedAt).sort((d,g)=>(g.endedAt??0)-(d.endedAt??0)).slice(0,5),b=e.activeSessionId??s,m=b?b.slice(0,8):null,j=!!(c?.canTakeover&&e.resumeCommand),f=h.useCallback(()=>{!j||!e.resumeCommand||(Vs({command:e.resumeCommand,cwd:e.resumeCwd,agentId:n}).then(()=>{Ys(a,{view:"terminal",agentId:n},{returnTo:r})}),l(!0))},[j,e.resumeCommand,e.resumeCwd,a,r,n]),i=h.useCallback(()=>{a({view:"agents-v2",agentId:n,tab:"message"})},[a,n]);return t.jsxs("div",{className:"s-observe-session-header",children:[t.jsx("div",{className:"s-observe-session-active",children:t.jsxs("div",{className:"s-observe-session-row",children:[m&&t.jsx("span",{className:"s-observe-session-id",title:b??void 0,children:m}),c&&t.jsxs("span",{className:"s-observe-session-time",children:["started ",Je(c.startedAt)]}),t.jsx("button",{className:"s-observe-pair-btn",onClick:i,title:"Send messages into the live session without taking the terminal",children:"Pair"}),j&&t.jsx("button",{className:"s-observe-takeover-btn",onClick:f,title:e.resumeCommand??void 0,children:o?"Sent":"Takeover"})]})}),u.length>0&&t.jsxs("div",{className:"s-observe-session-history",children:[t.jsxs("div",{className:"s-observe-session-history-label",children:[e.sessions.length," session",e.sessions.length!==1?"s":""," total"]}),u.map(d=>t.jsxs("div",{className:"s-observe-session-past",children:[t.jsx("span",{className:"s-observe-session-id",children:d.id.slice(0,8)}),t.jsxs("span",{className:"s-observe-session-time",children:[Je(d.startedAt),d.endedAt?` · ${$n(d.startedAt,d.endedAt)}`:""]})]},d.id))]})]})}const vs={events:[{id:"observe:empty",t:0,kind:"system",text:"No session trace is available for this agent yet.",detail:"Waiting for a live session or readable history file."}],files:[],contextUsage:[],live:!1};function xs({data:e=vs,agentId:s,sessionId:n,cursor:a,duration:r,surface:o="embedded",observeSource:l,observeFidelity:c}){const{events:u,files:b}=e,[m,j]=h.useState(null);h.useEffect(()=>{if(!s)return;let v=!1;return Ce(`/api/agents/${encodeURIComponent(s)}/session-catalog`).then(q=>{v||j(q)}).catch(()=>{}),()=>{v=!0}},[s]);const f=e.metadata,i=f?.session,d=f?.usage,g=typeof r=="number"&&Number.isFinite(r)&&r>0?r:u.length>0?u[u.length-1].t+30:60,O=typeof a=="number"&&Number.isFinite(a)?a:g,A=u.filter(v=>v.kind==="tool").length,I=u.filter(v=>v.kind==="think").length,B=u.filter(v=>v.kind==="ask").length,$=u.filter(v=>v.kind==="tool"&&v.tool==="read").length,D=u.filter(v=>v.kind==="tool"&&(v.tool==="edit"||v.tool==="write")).length,W=u.length>0?u[u.length-1].t:0,L=typeof d?.contextInputTokens=="number"&&typeof d.contextWindowTokens=="number"&&d.contextWindowTokens>0?Math.max(0,Math.min(100,Math.round(d.contextInputTokens/d.contextWindowTokens*100))):null,S=[{label:"Context input",value:d?.contextInputTokens},{label:"Input",value:d?.inputTokens},{label:"Output",value:d?.outputTokens},{label:"Cache hit",value:d?.cacheReadInputTokens},{label:"Cache write",value:d?.cacheCreationInputTokens},{label:"Total",value:d?.totalTokens},{label:"Reasoning",value:d?.reasoningOutputTokens}].filter(v=>typeof v.value=="number"),p=ge([typeof d?.assistantMessages=="number"?{label:"Assistant msgs",value:re(d.assistantMessages)??"0",tone:"accent"}:null,typeof d?.webSearchRequests=="number"?{label:"Web search",value:re(d.webSearchRequests)??"0"}:null,typeof d?.webFetchRequests=="number"?{label:"Web fetch",value:re(d.webFetchRequests)??"0"}:null,d?.serviceTier?{label:"Service tier",value:d.serviceTier,tone:"good"}:null,d?.speed?{label:"Speed",value:d.speed}:null,d?.planType?{label:"Plan",value:d.planType}:null]),E=ge([typeof d?.contextWindowTokens=="number"?{label:"Model window",value:`${re(d.contextWindowTokens)} tokens`,title:re(d.contextWindowTokens)??void 0,tone:"accent"}:null,L!==null?{label:"Window load",value:`${L}%`,tone:L>=80?"warn":"default"}:null]),M=ge([i?.model?{label:"Model",value:i.model,tone:"accent"}:null,i?.adapterType?{label:"Adapter",value:i.adapterType}:null,i?.gitBranch?{label:"Branch",value:i.gitBranch}:null,i?.cwd?{label:"Workspace",value:i.cwd,display:ye(i.cwd),title:i.cwd,actionPath:i.cwd}:null,i?.entrypoint?{label:"Entrypoint",value:i.entrypoint}:null,i?.cliVersion?{label:"CLI",value:i.cliVersion}:null,i?.permissionMode?{label:"Permissions",value:i.permissionMode}:null,i?.approvalPolicy?{label:"Approval",value:i.approvalPolicy}:null,i?.sandbox?{label:"Sandbox",value:i.sandbox}:null,i?.userType?{label:"User type",value:i.userType}:null,i?.originator?{label:"Originator",value:i.originator}:null,i?.modelProvider?{label:"Provider",value:i.modelProvider}:null,i?.effort?{label:"Effort",value:i.effort}:null,i?.timezone?{label:"Timezone",value:i.timezone}:null,i?.externalSessionId?{label:"External session",value:i.externalSessionId,title:i.externalSessionId}:null,i?.threadId?{label:"Thread",value:i.threadId,title:i.threadId}:null,i?.threadPath?{label:"Thread path",value:i.threadPath,display:ye(i.threadPath),title:i.threadPath,actionPath:i.threadPath,actionBasePath:i.cwd??null}:null,i?.source?{label:"Runtime source",value:i.source}:null]),x=Ge(d),C=Ge(i),N=l??(e.live?"live":"history"),T=c??"timestamped",k=os({source:N,fidelity:T,live:e.live,eventCount:u.length}),R=T==="timestamped",y=k.traceEventCount>0;return t.jsxs("aside",{className:`s-observe-rail${o==="context"?" s-observe-rail--context":""}`,children:[t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Evidence"}),t.jsxs("div",{className:"s-observe-evidence-card","data-tone":k.tone,children:[t.jsx("span",{className:"s-observe-evidence-dot","aria-hidden":"true"}),t.jsxs("span",{children:[t.jsx("strong",{children:k.label}),t.jsx("small",{children:k.detail})]})]})]}),m&&m.sessions.length>0&&t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Session"}),t.jsx(Ln,{catalog:m,sessionId:n??null,agentId:s})]}),t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Trace stats"}),t.jsxs("div",{className:"s-observe-stats",children:[t.jsx(U,{label:"Turns",value:K(y?i?.turnCount:void 0)}),t.jsx(U,{label:"Tools",value:K(y?A:void 0)}),t.jsx(U,{label:"Thinks",value:K(y?I:void 0)}),t.jsx(U,{label:"Requests",value:K(y?B:void 0)}),t.jsx(U,{label:"Reads",value:K(y?$:void 0)}),t.jsx(U,{label:"Edits",value:K(y?D:void 0)}),t.jsx(U,{label:"Files",value:K(y?b.length:void 0)}),t.jsx(U,{label:"Window",value:R&&y?At(W):"—"})]})]}),t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Interacted agents"}),t.jsx(Xs,{topology:f?.topology??null,sessionId:n??f?.session?.externalSessionId??null,size:"rail",maxAgents:4})]}),t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Context window"}),t.jsx(ke,{rows:E,agentId:s??null,sessionId:n??null}),L!==null?t.jsxs(t.Fragment,{children:[t.jsx(gn,{data:[L/100,L/100],cursor:O/g}),t.jsx("div",{className:"s-observe-ctx-detail",children:"Meter uses latest context input divided by the model window."})]}):E.length===0?t.jsx(je,{}):t.jsx("div",{className:"s-observe-ctx-detail",children:"No derived load trace captured."})]}),t.jsxs("div",{children:[t.jsxs("div",{className:"s-observe-rail-label",children:["Files touched · ",b.length]}),t.jsx("div",{className:"s-observe-files",children:b.map(v=>t.jsxs("div",{className:`s-observe-file${v.lastT<=O?" s-observe-file--visible":" s-observe-file--hidden"}`,children:[t.jsx(jn,{state:v.state}),t.jsx(Ee,{path:v.path,basePath:i?.cwd??null,agentId:s??null,sessionId:n??null,className:"s-observe-file-path",children:v.path}),t.jsxs("span",{className:"s-observe-file-touches",children:["×",v.touches]})]},v.path))})]}),t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Usage"}),S.length>0&&t.jsx("div",{className:"s-observe-stats s-observe-stats--usage",children:S.map(v=>t.jsx(U,{label:v.label,value:K(v.value)},v.label))}),p.length>0?t.jsx(ke,{rows:p,agentId:s??null,sessionId:n??null}):!x&&S.length===0?t.jsx(je,{}):null]}),t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Metadata"}),M.length>0?t.jsx(ke,{rows:M,agentId:s??null,sessionId:n??null}):C?null:t.jsx(je,{})]})]})}function En({conversationId:e,agentId:s,sessionId:n,invoke:a}){const{navigate:r}=Se(),[o,l]=h.useState(""),[c,u]=h.useState(!1),[b,m]=h.useState(null),[j,f]=h.useState(null),[i,d]=h.useState(()=>e?.trim()||null),g=h.useRef(null);h.useEffect(()=>{d(e?.trim()||null)},[e]);const O=s?.trim()||null,A=n?.trim()||null,I=!!(O&&A),B=!!(a?.projectPath&&a?.sessionId),$=!!(i||I||B),D=$&&o.trim().length>0&&!c,W=async()=>{const L=o.trim();if(!(!L||c)){if(!i&&!I&&!B){f("No writable session target is attached yet.");return}u(!0),m(null),f(null);try{if(i)await Ce("/api/send",{method:"POST",body:JSON.stringify({body:L,conversationId:i,intent:"steer"})}),l(""),m("Sent into this session."),g.current?.focus();else if(I){const p=(await Ks({agentId:O,sessionId:A,instructions:L})).conversationId?.trim();p&&d(p),l(""),m("Sent into this session."),g.current?.focus()}else{const p=(await Js({projectPath:a.projectPath,sessionId:a.sessionId,...a.harness?{harness:a.harness}:{},...a.model?{model:a.model}:{},...a.reasoningEffort?{reasoningEffort:a.reasoningEffort}:{},instructions:L})).conversationId?.trim();l(""),p?(d(p),m("Session invoked — opening conversation."),r({view:"conversation",conversationId:p})):(m("Session invoked."),g.current?.focus())}}catch(S){f(S instanceof Error?S.message:String(S))}finally{u(!1)}}};return t.jsx("div",{className:"s-observe-compose",children:t.jsx(Zs,{renderWhenEmbedded:!0,density:"panel",value:o,onChange:l,onSend:()=>{W()},sending:c,disabled:!$||c,canSend:D,placeholder:$?!i&&!I&&B?"Message this session to invoke it…":"Write into this session…":"This trace is read-only",textareaRef:g,rows:3,showAttach:$,onAttach:()=>g.current?.focus(),attachTitle:"Add context",attachAriaLabel:"Add context",sendTitle:"Send into this session (Cmd+Enter)",sendAriaLabel:"Send into this session",tools:$?j?t.jsx("span",{className:"s-observe-compose-status s-observe-compose-status--error",children:j}):b?t.jsx("span",{className:"s-observe-compose-status",children:b}):null:t.jsx("span",{className:"s-observe-compose-status s-observe-compose-status--muted",children:"No broker conversation or resumable agent session is attached to this trace."})})})}function Rn({data:e,agentId:s,sessionId:n,conversationId:a,observeSource:r,observeFidelity:o,originLabel:l,defaultPresentation:c="timeline",showRail:u=!0,variant:b="default",traceLimit:m,traceWindowMs:j,traceWindowLabel:f,nowMs:i,initialCursorT:d,focusEventId:g,inlineFocusEventId:O,inlineFocusContent:A,onLaneEventSelect:I,surface:B="scout",laneGutter:$,richSimpleTools:D,laneCollapseTechnicalEvents:W,onLaneCollapseTechnicalEventsChange:L,laneOperatorName:S}){const p=b==="lane",E=B==="scope",M=$??(E?"label-time":"time"),x=D??E,C=u&&!E,[N,T]=h.useState(()=>p||E?"timeline":c),k=!p&&!E&&N==="conversation",R=e??vs,{events:y}=R,v=r??(R.live?"live":"history"),z=os({source:v,fidelity:o??"timestamped",live:R.live,eventCount:y.length}),Q=R.metadata?.session?.sessionStart,[gs,js]=h.useState(Date.now),ee=typeof i=="number"?i:gs;h.useEffect(()=>{if(!p||typeof i=="number")return;const w=setInterval(()=>js(Date.now()),1e4);return()=>clearInterval(w)},[p,i]);const P=y.length>0?y[y.length-1].t+30:60,se=typeof d=="number"?Math.max(0,Math.min(P,d)):null,[ie,ce]=h.useState(()=>se??P),[ve,Y]=h.useState(!1),[ue,ks]=h.useState(1),[xe,X]=h.useState(se==null),Re=h.useRef(P),Pe=h.useRef(null),te=h.useMemo(()=>Nn(y,P),[y,P]);h.useEffect(()=>{se!=null&&(ce(se),X(!1),Y(!1))},[se,g]),h.useEffect(()=>{ce(w=>{const F=Re.current;Re.current=P;const H=He(w,F);return w>P||H&&xe?P:w})},[P,xe]),h.useEffect(()=>{if(!ve)return;const w=te.length>0?Math.max(220,700/ue):100,F=setInterval(()=>{ce(H=>{if(te.length>0){const he=ps(H,te,P);return he>=P?(X(!0),Y(!1),P):he}const me=H+ue;return me>=P?(X(!0),Y(!1),P):me})},w);return()=>clearInterval(F)},[ve,P,te,ue]);const ne=p&&!!(j&&j>0),ae=(()=>{let w=y.filter(F=>F.t<=ie);if(ne&&j){const F=As(w,Q,ee,j);w=F.length>=Be?F:w.slice(-Be)}else p&&m&&m>0&&(w=w.slice(-m));return w})(),Z=h.useMemo(()=>{if(!ne||!j)return null;const w=ae[0]?.id,F=w===void 0?Is(y,Q,ee,j):Math.max(0,y.findIndex(H=>H.id===w));return Bs(ae,Q,ee,j,F)},[y,ee,Q,j,ne,ae]);h.useLayoutEffect(()=>{if(p||!g)return;const w=Pe.current;if(!w)return;const F=w.querySelector('[data-focus-group="true"]')??w.querySelector(`[data-event-id="${g}"]`),H=F?.closest(".s-observe-main");if(F&&H){const me=H.getBoundingClientRect(),he=F.getBoundingClientRect(),$s=H.scrollTop+(he.top-me.top)-16;H.scrollTo({top:Math.max(0,$s),behavior:"instant"});return}F?.scrollIntoView({block:"start",behavior:"instant"})},[g,O,p,ae.length]);const de=He(ie,P)&&xe,ys=de?"tail":ve?"playing":"paused",Ns=h.useCallback(w=>{X(!1),Y(!1),ce(w)},[]),ws=h.useCallback(()=>{de?(X(!1),Y(!1)):(X(!1),Y(w=>!w))},[de]),G=R.metadata?.session,Oe=G?.threadPath??null,Cs=G?.model?.trim()||We(G?.adapterType)||"Agent",Ss=S??"You",Ae=n?.trim()||G?.externalSessionId?.trim()||null,Ie=We(G?.adapterType),Ts=!s&&G?.cwd&&Ae&&Ie?{projectPath:G.cwd,sessionId:Ae,harness:Ie,model:G.model,reasoningEffort:G.effort}:null;return t.jsxs("div",{ref:Pe,className:["s-observe",(!C||p)&&"s-observe--content-only",p&&"s-observe--lane",p&&M==="label-time"&&"s-observe--lane-gutter-label",k&&"s-observe--conversation",E&&"s-observe--scope"].filter(Boolean).join(" "),children:[t.jsxs("main",{className:"s-observe-main",children:[!p&&!E&&t.jsxs("div",{className:"s-observe-evidence-banner","data-tone":z.tone,children:[t.jsx("span",{className:"s-observe-evidence-dot","aria-hidden":"true"}),t.jsxs("span",{children:[t.jsx("strong",{children:l??z.label}),t.jsx("small",{children:l?`${z.label}. ${z.detail}`:z.detail})]}),!z.receiptOnly&&t.jsx(nn,{presentation:N,onChange:T})]}),Oe&&!p&&t.jsx(kn,{path:Oe,basePath:G?.cwd??null,agentId:s??null,sessionId:n??null}),!z.receiptOnly&&!E&&ne&&Z?t.jsxs("div",{className:"s-observe-lane-trace-meta",children:[t.jsxs("span",{className:"s-observe-lane-trace-meta-leading",children:[t.jsx("span",{className:"s-observe-lane-trace-meta-label",children:"Trace"}),t.jsx(an,{collapseTechnicalEvents:!!W,onChange:L})]}),t.jsxs("span",{className:"s-observe-lane-trace-meta-stats",children:[t.jsxs("span",{className:"s-observe-lane-trace-meta-window",children:["last ",f??_e(j??0)]}),t.jsx("span",{className:"s-observe-lane-trace-meta-sep","aria-hidden":"true",children:"·"}),t.jsxs("span",{children:[Z.eventCount," event",Z.eventCount===1?"":"s"]}),Z.spanMs>0?t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"s-observe-lane-trace-meta-sep","aria-hidden":"true",children:"·"}),t.jsxs("span",{children:[_e(Z.spanMs)," span"]})]}):null,Z.truncatedBefore?t.jsx("span",{className:"s-observe-lane-trace-meta-tag",title:"Earlier activity in this window may not be loaded",children:"partial"}):null]})]}):null,z.receiptOnly?t.jsx(et,{events:y}):t.jsx(xn,{events:ae,followEnd:de,laneMode:p,conversationMode:k,sessionStartMs:Q,nowMs:ee,preferWallAge:ne,focusEventId:g,inlineFocusEventId:O,inlineFocusContent:A,onLaneEventSelect:I,laneGutter:M,richSimpleTools:x,collapseTechnicalEvents:k||p&&!!W,laneOperatorName:k?Ss:S,conversationAssistantName:Cs})]}),C&&!p&&t.jsx(xs,{data:R,agentId:s,sessionId:n,cursor:ie,duration:P,observeSource:r,observeFidelity:o}),!E&&!p&&t.jsxs("footer",{className:"s-observe-scrubber",children:[k?null:z.replayable?t.jsx(Tn,{events:y,duration:P,cursor:ie,mode:ys,speed:ue,snapTimes:te,onCursor:Ns,onPlayToggle:ws,onSpeedChange:ks}):t.jsxs("div",{className:"s-observe-static-evidence",children:[t.jsx("span",{className:"s-observe-evidence-dot","aria-hidden":"true"}),t.jsx("span",{children:z.label}),t.jsx("small",{children:"No timestamped replay is available."})]}),t.jsx(En,{conversationId:a,agentId:s,sessionId:n,invoke:Ts})]})]})}const ca=Object.freeze(Object.defineProperty({__proto__:null,SessionObserve:Rn,SessionObserveContextRail:xs},Symbol.toStringTag,{value:"Module"}));export{Rn as S,xs as a,ca as b,os as d,ia as h};