@openscout/scout 0.2.79 → 0.2.80

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 (389) hide show
  1. package/bin/scoutd +0 -0
  2. package/dist/build-manifest.json +3 -3
  3. package/dist/client/assets/ActivityScreen-BXm6nJ6L.js +1 -0
  4. package/dist/client/assets/{AddProjectForm-BoVtelSP.js → AddProjectForm-CtEiLQnm.js} +1 -1
  5. package/dist/client/assets/{AgentAvatar-CufDA4A-.js → AgentAvatar-CszU5eaU.js} +1 -1
  6. package/dist/client/assets/AgentConfigurationScreen-CfBXxrsD.js +1 -0
  7. package/dist/client/assets/AgentDefinitionsWorkspace-4Z0aN8AR.js +1 -0
  8. package/dist/client/assets/{AgentDetailCard-DxxVkgT1.js → AgentDetailCard-sZuHl1de.js} +1 -1
  9. package/dist/client/assets/AgentFloorView-DMivAYHU.js +1 -0
  10. package/dist/client/assets/AgentInfoScreen-CPkLg1pK.js +1 -0
  11. package/dist/client/assets/{AgentLaneCard-DTUvE96I.js → AgentLaneCard-nB68f2CI.js} +1 -1
  12. package/dist/client/assets/{AgentLaneChrome-BfVygkgL.js → AgentLaneChrome-O9Yf0uR-.js} +1 -1
  13. package/dist/client/assets/AgentLaneDetailSheet-BfhpaEQ3.js +4 -0
  14. package/dist/client/assets/{AgentLaneSummaryResize-CMgzYvAA.js → AgentLaneSummaryResize-Ct3b0TQR.js} +1 -1
  15. package/dist/client/assets/AgentLanesEmbedScreen-CjHMvy3v.js +1 -0
  16. package/dist/client/assets/{AgentLanesPreflight-KWfLcaNB.js → AgentLanesPreflight-DNGvZvjd.js} +1 -1
  17. package/dist/client/assets/{AgentLanesView-CxfbV8Kd.js → AgentLanesView-DqRK5-d2.js} +1 -1
  18. package/dist/client/assets/{AgentLiveActions-CZdAInEu.js → AgentLiveActions-DI4ooSHW.js} +1 -1
  19. package/dist/client/assets/{AgentSessions-Bkr0lyry.js → AgentSessions-BxWIPkWh.js} +1 -1
  20. package/dist/client/assets/{AgentsConsole-WtFVqaPJ.js → AgentsConsole-D6VHSCfZ.js} +1 -1
  21. package/dist/client/assets/AgentsScreen-zR6b2bUL.js +1 -0
  22. package/dist/client/assets/AgentsSubnav-q0xcZi6C.js +1 -0
  23. package/dist/client/assets/{AtopView-_OKDlZ1h.js → AtopView-VZkk40v0.js} +1 -1
  24. package/dist/client/assets/{BackToPicker-CkUmHuuo.js → BackToPicker-DZg_4nHL.js} +1 -1
  25. package/dist/client/assets/{BriefingDetailScreen-i54EtZKW.js → BriefingDetailScreen-BZU4qMwE.js} +1 -1
  26. package/dist/client/assets/{BriefingsScreen-CBrHojlQ.js → BriefingsScreen-Bfc3tqPp.js} +1 -1
  27. package/dist/client/assets/{BrokerMetadataPanel-opTLuZU6.js → BrokerMetadataPanel-CaFe6kdh.js} +1 -1
  28. package/dist/client/assets/BrokerScreen-Chh8sGen.js +5 -0
  29. package/dist/client/assets/{ChatCollapsedStrip-Dr2vmKXQ.js → ChatCollapsedStrip-Cov54p9V.js} +1 -1
  30. package/dist/client/assets/{CodeDiffPane-CLOGjwul.js → CodeDiffPane-C1ebFt-Y.js} +1 -1
  31. package/dist/client/assets/{CodeProjectPicker-DTV8hR6A.js → CodeProjectPicker-tsCly-f3.js} +1 -1
  32. package/dist/client/assets/CodeScreen-D0hpZNLP.js +1 -0
  33. package/dist/client/assets/{ContextMenu-BlBQhpax.js → ContextMenu-N-Z6X0Z1.js} +1 -1
  34. package/dist/client/assets/ConversationComposer-CiEF7dhd.js +1 -0
  35. package/dist/client/assets/ConversationFeedRows-5it6QNBV.js +1 -0
  36. package/dist/client/assets/ConversationHeader-BGgbITvr.js +1 -0
  37. package/dist/client/assets/ConversationPanels-vI9YuQJh.js +2 -0
  38. package/dist/client/assets/ConversationScreen-C-PrCRz1.js +1 -0
  39. package/dist/client/assets/ConversationScreen-yIKEsm-8.css +1 -0
  40. package/dist/client/assets/{ConversationStatus-DSgdVofa.js → ConversationStatus-COEj5loj.js} +1 -1
  41. package/dist/client/assets/{DataTable-0DwuXyvW.js → DataTable-BoofV-_4.js} +1 -1
  42. package/dist/client/assets/{DispatchAftermath-BrreQifA.js → DispatchAftermath-OXYlMbT1.js} +1 -1
  43. package/dist/client/assets/{DocumentFocusViewer-DU_9BHsD.js → DocumentFocusViewer-BCG2kOmd.js} +1 -1
  44. package/dist/client/assets/{EmbeddableSurfacesLab-DdaswbfI.js → EmbeddableSurfacesLab-C2SZvrHJ.js} +1 -1
  45. package/dist/client/assets/{EmptyState-CoL-QuUO.js → EmptyState-DypEjx0V.js} +1 -1
  46. package/dist/client/assets/{FileViewerPane-C9Ly01Ef.js → FileViewerPane-CXCq-oKj.js} +1 -1
  47. package/dist/client/assets/{FleetSearch-DlWTLl-v.js → FleetSearch-Dj7-CfNi.js} +1 -1
  48. package/dist/client/assets/FlightObserveScreen-Yq5NtQQJ.js +1 -0
  49. package/dist/client/assets/FollowScreen-DRgYuAvp.js +1 -0
  50. package/dist/client/assets/HarnessMark-BE-YSyci.js +1 -0
  51. package/dist/client/assets/HarnessesScreen-L-emPcXd.js +1 -0
  52. package/dist/client/assets/HerdrSession-DKFCJMst.js +4 -0
  53. package/dist/client/assets/{HomeHero-Cfsow7qL.js → HomeHero-CAEg8Yg5.js} +1 -1
  54. package/dist/client/assets/{KnowledgeSearchInspector-DKashKoH.js → KnowledgeSearchInspector-C2EZsQ5i.js} +1 -1
  55. package/dist/client/assets/KnowledgeSearchScreen-DvdOFh-b.js +1 -0
  56. package/dist/client/assets/{LaneToolHoverCard-BzehBmdi.js → LaneToolHoverCard-DrPXYZvQ.js} +1 -1
  57. package/dist/client/assets/LaneTraceDetailSheet-Dl7foF88.js +1 -0
  58. package/dist/client/assets/{LaneTraceEventFocus-DYvHfs_3.js → LaneTraceEventFocus-X4-DDFEo.js} +1 -1
  59. package/dist/client/assets/{MeshCanvas-DIjlrMPU.js → MeshCanvas-rtCBD7s6.js} +1 -1
  60. package/dist/client/assets/{MeshCanvasMinimap-DEq-PkF0.js → MeshCanvasMinimap-CuvXOkc7.js} +1 -1
  61. package/dist/client/assets/MeshScreen-D5zzTn0o.js +1 -0
  62. package/dist/client/assets/{MeshTopologyView-BMHpH5BU.js → MeshTopologyView-CeTShs-U.js} +2 -2
  63. package/dist/client/assets/{MessageComposerSuggestions-zAUUcLOv.js → MessageComposerSuggestions-Cs9u-F_3.js} +1 -1
  64. package/dist/client/assets/MessagesScreen-BhOJ7_tj.js +1 -0
  65. package/dist/client/assets/MissionContextRail-0O-Zu1Tn.js +1 -0
  66. package/dist/client/assets/MissionControlView-D2JO9u-y.js +1 -0
  67. package/dist/client/assets/{MissionFocusOverlay-C7cPt6eU.js → MissionFocusOverlay-LnjmqBiW.js} +1 -1
  68. package/dist/client/assets/{MissionLeftAgentRow-CxlH3dON.js → MissionLeftAgentRow-nc1Jyq3D.js} +1 -1
  69. package/dist/client/assets/MissionLogPane-lZ9vUftY.js +1 -0
  70. package/dist/client/assets/{NewAgentModal-DprvD4EK.js → NewAgentModal-K1cvdmZr.js} +1 -1
  71. package/dist/client/assets/NewChatComposer-C5LT7MF7.css +1 -0
  72. package/dist/client/assets/NewChatComposer-DXDxV2Mh.js +19 -0
  73. package/dist/client/assets/{NewChatOrigin--pHWUb4V.js → NewChatOrigin-CnjoswTG.js} +1 -1
  74. package/dist/client/assets/{ObserveEmbedScreen-CfvrnOiZ.js → ObserveEmbedScreen-CRpzYf0Y.js} +1 -1
  75. package/dist/client/assets/{ObserveTextFlow-CBitljxi.js → ObserveTextFlow-DJxQc2H6.js} +2 -2
  76. package/dist/client/assets/{ObservedTopologyPanel-Dv6fbHzW.js → ObservedTopologyPanel-C1AQM0Mq.js} +1 -1
  77. package/dist/client/assets/OpenScoutAppShell-DrHYD_pd.js +87 -0
  78. package/dist/client/assets/OpsAgentsView-BnMX0vEY.js +1 -0
  79. package/dist/client/assets/OpsScreen-BeC0lieE.js +1 -0
  80. package/dist/client/assets/OpsSubnav-D5Bpowtk.js +1 -0
  81. package/dist/client/assets/{PlanView-DYtt8H37.js → PlanView-DDXdC19M.js} +1 -1
  82. package/dist/client/assets/ProjectAgentProfile-zE1cApxw.js +1 -0
  83. package/dist/client/assets/{ProjectAgentProfileBar-B3IvVbqS.js → ProjectAgentProfileBar-MODhG0P6.js} +1 -1
  84. package/dist/client/assets/{ProjectAgentProfileHero-D5E8yvDj.js → ProjectAgentProfileHero-C1ImgGDu.js} +1 -1
  85. package/dist/client/assets/ProjectsInbox-C3Jd6JTk.js +2 -0
  86. package/dist/client/assets/{ProjectsRail-DEDS-M1c.js → ProjectsRail-B1zrQLZe.js} +1 -1
  87. package/dist/client/assets/ProjectsScreen-PW_NH5VK.js +1 -0
  88. package/dist/client/assets/ProjectsThreadAside-DaCEUWN1.js +1 -0
  89. package/dist/client/assets/Provider-DSsb2gLR.js +1 -0
  90. package/dist/client/assets/{RailRow-BTlVAnHS.js → RailRow-DerXOXQS.js} +1 -1
  91. package/dist/client/assets/RawSessionsTable-LWEvXJzj.js +1 -0
  92. package/dist/client/assets/RealtimeVoiceScreen-XtxbCjOs.js +1 -0
  93. package/dist/client/assets/{RepoDiffEmbedScreen-CtTdlQ2A.js → RepoDiffEmbedScreen-C9oLCcZX.js} +1 -1
  94. package/dist/client/assets/{RepoDiffPageScreen-BRvaVYoC.js → RepoDiffPageScreen-CGEMAv2Z.js} +1 -1
  95. package/dist/client/assets/{RepoDiffViewer-Bo0gREMj.js → RepoDiffViewer-CB8PSVey.js} +1 -1
  96. package/dist/client/assets/RepoDiffViewerLazy-DIxkiMto.js +2 -0
  97. package/dist/client/assets/{ReposScreen-BBkJf8xT.js → ReposScreen-BN1lVjOj.js} +1 -1
  98. package/dist/client/assets/{ScoutDeckSurface-Bi9ov9Bm.js → ScoutDeckSurface-BCpl0QCx.js} +1 -1
  99. package/dist/client/assets/{ScoutSurface-DEQg_7Io.js → ScoutSurface-BEnDlynn.js} +1 -1
  100. package/dist/client/assets/{ScoutbotBroadcastChip-DJXuyn73.js → ScoutbotBroadcastChip-z9R_pC_U.js} +1 -1
  101. package/dist/client/assets/{ScoutbotFxLab-BgsuLDjo.js → ScoutbotFxLab-fAROyIfz.js} +1 -1
  102. package/dist/client/assets/{ScoutbotRealtimeVoiceCall-Bzyl0BCS.js → ScoutbotRealtimeVoiceCall-CDyFJX8m.js} +1 -1
  103. package/dist/client/assets/{SecondaryNav-Bks0CO2h.js → SecondaryNav-Hv5AJ3Fv.js} +1 -1
  104. package/dist/client/assets/{SessionEmbedScreen-b0Zgmfx5.js → SessionEmbedScreen-CDRpQc3g.js} +1 -1
  105. package/dist/client/assets/{SessionObserve-Dlx5vDaV.js → SessionObserve-BmmJ8dEh.js} +1 -1
  106. package/dist/client/assets/{SessionObserveEvidence-ChBD1d4c.js → SessionObserveEvidence-CEedIk2a.js} +1 -1
  107. package/dist/client/assets/SessionRefScreen-Dk-O4OVt.js +1 -0
  108. package/dist/client/assets/SessionsScreen-BJEjuo2X.js +1 -0
  109. package/dist/client/assets/{SettingsDrawer-C587L1i1.js → SettingsDrawer-DL-SVLdd.js} +1 -1
  110. package/dist/client/assets/SettingsScreen-DJ-BhBwR.js +1 -0
  111. package/dist/client/assets/{ShikiPane-I_OTW5NO.js → ShikiPane-B7O4if20.js} +1 -1
  112. package/dist/client/assets/{SlidePanel-FCqT1zO3.js → SlidePanel-B3gc5HnM.js} +1 -1
  113. package/dist/client/assets/{SpriteAvatar-CQs-jC-v.js → SpriteAvatar-BpQDpOkq.js} +1 -1
  114. package/dist/client/assets/{StatusPill-CbABggnQ.js → StatusPill-B33sQinT.js} +1 -1
  115. package/dist/client/assets/{TailView-C_MXVSum.js → TailView-DL3YZkzE.js} +2 -2
  116. package/dist/client/assets/Terminal-Dp1FSGIS.js +1 -0
  117. package/dist/client/assets/TerminalEmbedScreen-DP9IM4xf.js +1 -0
  118. package/dist/client/assets/{TextDocumentSurface-C-9EtYqt.js → TextDocumentSurface-DRjctOIt.js} +1 -1
  119. package/dist/client/assets/{TmuxPeek-Dz1gJ2pU.js → TmuxPeek-DNC4uWky.js} +1 -1
  120. package/dist/client/assets/{VoicePermissionsPanel-MfICy9kk.js → VoicePermissionsPanel-WLN0V-Xv.js} +1 -1
  121. package/dist/client/assets/{WorkDetailScreen-Cs7kdllj.js → WorkDetailScreen-D2Yl0mYZ.js} +1 -1
  122. package/dist/client/assets/{WorkFilesViewer-CF-nhtZ4.js → WorkFilesViewer-BbVfcUN-.js} +1 -1
  123. package/dist/client/assets/{activity-WhBf3FXP.js → activity-BxwKkT8z.js} +1 -1
  124. package/dist/client/assets/{addon-fit-q-x_HytU.js → addon-fit-B9O2vJoh.js} +1 -1
  125. package/dist/client/assets/{addon-webgl-fhhvEA9h.js → addon-webgl-BhRZFDcn.js} +1 -1
  126. package/dist/client/assets/{agent-essentials-DyJiUGpZ.js → agent-essentials-SrzMYEXV.js} +1 -1
  127. package/dist/client/assets/agent-identity-BxCsXnDp.js +1 -0
  128. package/dist/client/assets/{agent-lane-card-model-BCIwPjEh.js → agent-lane-card-model-DSWdGu-v.js} +1 -1
  129. package/dist/client/assets/agent-lane-detail-BNNm6FNu.js +2 -0
  130. package/dist/client/assets/{agent-lane-preview-BtnfNyFR.js → agent-lane-preview-C33Dwpn7.js} +1 -1
  131. package/dist/client/assets/{agent-lanes-model-Bl6xfviL.js → agent-lanes-model-CPgQRenB.js} +2 -2
  132. package/dist/client/assets/{arc.es-DPJ0xRV6.js → arc.es-NlJw-19N.js} +1 -1
  133. package/dist/client/assets/{arrow-down-DsD-dYj-.js → arrow-down-D3-IbArq.js} +1 -1
  134. package/dist/client/assets/{arrow-left-WjQIN9J6.js → arrow-left-_vS7itsV.js} +1 -1
  135. package/dist/client/assets/{arrow-up-right-CtTDrZJr.js → arrow-up-right-CcrWONpD.js} +1 -1
  136. package/dist/client/assets/{bot-B_Uzf4_O.js → bot-BRINYlC6.js} +1 -1
  137. package/dist/client/assets/{check-BbgHJX8u.js → check-COxArFXG.js} +1 -1
  138. package/dist/client/assets/{chevron-down-BFai6ZfE.js → chevron-down-DRCbnzyY.js} +1 -1
  139. package/dist/client/assets/{chevron-right-CyUa1zXx.js → chevron-right-CNE6QAVr.js} +1 -1
  140. package/dist/client/assets/{chunk-HRAB3GC3-CvwpNg-G.js → chunk-HRAB3GC3-CAeEKaf5.js} +1 -1
  141. package/dist/client/assets/chunk-JTPDIGGW-s6WbxdjC.js +46 -0
  142. package/dist/client/assets/{chunk-T65CQEWV-DI4NKdNq.js → chunk-T65CQEWV-CiZ_ICHW.js} +1 -1
  143. package/dist/client/assets/chunk-YOZR3KYS-DLOc92uD.js +2 -0
  144. package/dist/client/assets/{clock-DviOalxA.js → clock-CyfvRmj6.js} +1 -1
  145. package/dist/client/assets/{code-xml-05TD3uOC.js → code-xml--LjSM4Mv.js} +1 -1
  146. package/dist/client/assets/content-7ZeCPAEt.js +1 -0
  147. package/dist/client/assets/content-BHUcUCH5.js +1 -0
  148. package/dist/client/assets/content-BUhvLPkv.js +1 -0
  149. package/dist/client/assets/content-BomQ5YWo.js +1 -0
  150. package/dist/client/assets/content-C39ELNgC.js +1 -0
  151. package/dist/client/assets/content-C4RYKHut.js +1 -0
  152. package/dist/client/assets/content-CCiZfG4H.js +1 -0
  153. package/dist/client/assets/content-CDpDtVI-.js +1 -0
  154. package/dist/client/assets/content-CO-9CeFd.js +1 -0
  155. package/dist/client/assets/content-CuOLxp1x.js +1 -0
  156. package/dist/client/assets/content-CvtLIjXS.js +1 -0
  157. package/dist/client/assets/content-CzwTUb9n.js +1 -0
  158. package/dist/client/assets/content-DQXbo2RO.js +1 -0
  159. package/dist/client/assets/content-DRTQ9QQb.js +1 -0
  160. package/dist/client/assets/content-LCELs6zg.js +1 -0
  161. package/dist/client/assets/content-Uqt8AG-s.css +1 -0
  162. package/dist/client/assets/content-qsDjA4Au.js +1 -0
  163. package/dist/client/assets/{conversation-icons-DohQL6GI.js → conversation-icons-c-hXv7hY.js} +1 -1
  164. package/dist/client/assets/conversation-model-CHwHZNw-.js +1 -0
  165. package/dist/client/assets/conversation-motion-features-T8vF9zED.js +1 -0
  166. package/dist/client/assets/{copy-CwCAivnc.js → copy-4LfKIdQJ.js} +1 -1
  167. package/dist/client/assets/{createLucideIcon-DlxlBfLC.js → createLucideIcon-ClCdc3F9.js} +1 -1
  168. package/dist/client/assets/discover-7Ks00w-M.js +2 -0
  169. package/dist/client/assets/embed-entry-n2ThmSSX.js +2 -0
  170. package/dist/client/assets/{external-link-CnjcXf32.js → external-link-CnaI1QFS.js} +1 -1
  171. package/dist/client/assets/{eye-So8tNNK6.js → eye-BFlhMzQL.js} +1 -1
  172. package/dist/client/assets/{file-text-i3xTDUjJ.js → file-text-DG-pufl1.js} +1 -1
  173. package/dist/client/assets/{gestures-CgvAMd6F.js → gestures-CxG3Dphs.js} +1 -1
  174. package/dist/client/assets/home-live-action-BkqGLVRY.js +1 -0
  175. package/dist/client/assets/home-moving-signal-aNJusIzL.js +1 -0
  176. package/dist/client/assets/home-now-card-BQK4EFHx.js +1 -0
  177. package/dist/client/assets/{home-now-card-nano-CkLHUQ4J.js → home-now-card-nano-CdtzqSIF.js} +1 -1
  178. package/dist/client/assets/hooks-Dst1TH7n.js +2 -0
  179. package/dist/client/assets/index-9as_JTUs.css +1 -0
  180. package/dist/client/assets/index-CU9dtwJk.js +1 -0
  181. package/dist/client/assets/{index-sUomXsrf.js → index-CzVeWScw.js} +2 -2
  182. package/dist/client/assets/index-Dewd56RX.js +1 -0
  183. package/dist/client/assets/index-_YQXKEhb.js +1 -0
  184. package/dist/client/assets/{inspector-panel-DhXd-YbT.js → inspector-panel-DgOM8nCo.js} +1 -1
  185. package/dist/client/assets/keyboard-nav-BJnFoFDP.js +1 -0
  186. package/dist/client/assets/{lane-observe-DrhKkQ3A.js → lane-observe-BA3g9aVd.js} +1 -1
  187. package/dist/client/assets/{lane-roster-store-NE15Oe6M.js → lane-roster-store-pR4ZaYQm.js} +1 -1
  188. package/dist/client/assets/left-BhzPp-_E.js +1 -0
  189. package/dist/client/assets/left-CN1MABD0.js +2 -0
  190. package/dist/client/assets/left-DDgbsio7.js +1 -0
  191. package/dist/client/assets/left-Dpf2R9uD.js +1 -0
  192. package/dist/client/assets/left-HwwbMVtl.js +2 -0
  193. package/dist/client/assets/left-YfH0daht.js +1 -0
  194. package/dist/client/assets/left-agents-CYUwAy2Z.js +1 -0
  195. package/dist/client/assets/left-default-vEGZALPv.js +1 -0
  196. package/dist/client/assets/left-lanes-bphF-vlX.js +1 -0
  197. package/dist/client/assets/left-mission-B54-c3hq.js +1 -0
  198. package/dist/client/assets/left-np5USKqG.js +1 -0
  199. package/dist/client/assets/left-plan-BNBuDoPQ.js +2 -0
  200. package/dist/client/assets/library-DbCVJG_O.js +1 -0
  201. package/dist/client/assets/{loader-circle-lWOOKezu.js → loader-circle-Byb9kSFx.js} +1 -1
  202. package/dist/client/assets/{local-agents-C7fDHLVC.js → local-agents-DBaUbP-_.js} +1 -1
  203. package/dist/client/assets/{mentions-CY_wPZc5.js → mentions-fbQJ2mBI.js} +1 -1
  204. package/dist/client/assets/{mesh-ops-Kn8pCtyJ.js → mesh-ops-Cnw3vwAu.js} +1 -1
  205. package/dist/client/assets/{mesh-view-store-D14ihwkF.js → mesh-view-store-Btlyc7rW.js} +1 -1
  206. package/dist/client/assets/{message-circle-C5UZ6fO7.js → message-circle-aGOfQWm2.js} +1 -1
  207. package/dist/client/assets/{message-markup-C8Nx04sP.js → message-markup-mGF07emJ.js} +1 -1
  208. package/dist/client/assets/{message-square-BD-4UUdc.js → message-square-CIXda-Y7.js} +1 -1
  209. package/dist/client/assets/mission-control-m3BTDQ9l.css +1 -0
  210. package/dist/client/assets/{mission-control-store-xQHVQdm8.js → mission-control-store-CcoNeQHG.js} +1 -1
  211. package/dist/client/assets/mission-wall-CocIM1cF.js +1 -0
  212. package/dist/client/assets/{observe-uJfIlIUV.js → observe-BNFzh-7B.js} +1 -1
  213. package/dist/client/assets/openAgent-Dbv5wfuL.js +1 -0
  214. package/dist/client/assets/{page-status-BymFEFai.js → page-status-DDvNdA8s.js} +1 -1
  215. package/dist/client/assets/{paperclip-DL9BXPp2.js → paperclip-DfpJkR4s.js} +1 -1
  216. package/dist/client/assets/{plus-C9lTjsgd.js → plus-CmFQp9Uj.js} +1 -1
  217. package/dist/client/assets/profile-s3KRbip1.js +1 -0
  218. package/dist/client/assets/{projects-inbox-DfVmGFFk.js → projects-inbox-Diddml6e.js} +1 -1
  219. package/dist/client/assets/{radio-DedMyP8J.js → radio-PauJIekM.js} +1 -1
  220. package/dist/client/assets/{refresh-cw-D8PFyhUa.js → refresh-cw-4oeFn1Jn.js} +1 -1
  221. package/dist/client/assets/resolve-panes-cp6eNewO.js +1 -0
  222. package/dist/client/assets/resolve-sidebar-context-Dbo-5PWx.js +1 -0
  223. package/dist/client/assets/right-09W2JJFg.js +1 -0
  224. package/dist/client/assets/right-B-MKhiJ6.js +1 -0
  225. package/dist/client/assets/right-B91Zl8lQ.js +1 -0
  226. package/dist/client/assets/{right-C1sIsSHR.js → right-BcFnuse9.js} +1 -1
  227. package/dist/client/assets/right-BdtMzn35.js +1 -0
  228. package/dist/client/assets/right-BqmKXLtf.js +1 -0
  229. package/dist/client/assets/right-BzeB-Dpt.js +1 -0
  230. package/dist/client/assets/right-CkGOs-sq.js +1 -0
  231. package/dist/client/assets/right-CzGiNBzB.js +1 -0
  232. package/dist/client/assets/right-Dc7uqv7l.js +1 -0
  233. package/dist/client/assets/{rocket-CriBwkHM.js → rocket-C-AskjZH.js} +1 -1
  234. package/dist/client/assets/router-B-K15T7B.js +1 -0
  235. package/dist/client/assets/{runtime-picker-DOZpZOlt.js → runtime-picker-BCQD7d4K.js} +1 -1
  236. package/dist/client/assets/{scope-views-BF_RvGKU.js → scope-views-BhkbIFPY.js} +1 -1
  237. package/dist/client/assets/{scout-voice-BZ4KqADJ.js → scout-voice-S5_YZ2v8.js} +1 -1
  238. package/dist/client/assets/{scroll-text-BIYf6g6N.js → scroll-text-BV-BB7v-.js} +1 -1
  239. package/dist/client/assets/{search-DCT_EvPr.js → search-C3bSJluv.js} +1 -1
  240. package/dist/client/assets/{secondaryNavConfig-Drb7wPG4.js → secondaryNavConfig-Bg4Tc0gT.js} +1 -1
  241. package/dist/client/assets/{selection-bridge-CJOTyYQs.js → selection-bridge-B1dmkX3P.js} +1 -1
  242. package/dist/client/assets/{send-horizontal-DDwOgEs3.js → send-horizontal-CqogPmbY.js} +1 -1
  243. package/dist/client/assets/{server-CHZCp3cF.js → server-Brw5Y1Gh.js} +1 -1
  244. package/dist/client/assets/{session-catalog-XhGxCtP-.js → session-catalog-9FqXmjBw.js} +1 -1
  245. package/dist/client/assets/session-table-1xdSxSXq.js +1 -0
  246. package/dist/client/assets/{sliders-horizontal-B9Nj-Y4J.js → sliders-horizontal-CUiOH26y.js} +1 -1
  247. package/dist/client/assets/{sparkles-up7pVlX-.js → sparkles-BjCA3Evu.js} +1 -1
  248. package/dist/client/assets/{sse-CVoGDiKW.js → sse-QcU9bikk.js} +1 -1
  249. package/dist/client/assets/synthetic-agent-routing-aduMYO7P.js +1 -0
  250. package/dist/client/assets/system-surfaces-redesign-B7GQhfpw.css +1 -0
  251. package/dist/client/assets/{tail-display-BdyoLvzY.js → tail-display-BRcJltQa.js} +2 -2
  252. package/dist/client/assets/{tail-events-CTipUIli.js → tail-events-C6K7bCWB.js} +1 -1
  253. package/dist/client/assets/{terminal-DXQISjZn.js → terminal-DrTkVXIj.js} +1 -1
  254. package/dist/client/assets/{terminal-relay-B5Sma7fK.js → terminal-relay-BkXjjSkq.js} +1 -1
  255. package/dist/client/assets/{terminal-screen-19jAI0Cw.css → terminal-screen-BqVnCwl0.css} +1 -1
  256. package/dist/client/assets/terminal-sessions-C3qU8tnY.js +1 -0
  257. package/dist/client/assets/{terminal-takeover-X97KCSJk.js → terminal-takeover-KvmTwABa.js} +1 -1
  258. package/dist/client/assets/{use-conversation-list-B1T6J_qE.js → use-conversation-list-C5sF6WBR.js} +1 -1
  259. package/dist/client/assets/{use-fleet-active-asks-DLofGhhK.js → use-fleet-active-asks-BOMPW0nl.js} +1 -1
  260. package/dist/client/assets/{use-mesh-ops-items-ByGZk8rU.js → use-mesh-ops-items-Co05vcTV.js} +1 -1
  261. package/dist/client/assets/{use-reduced-motion-Cvk-HRKg.js → use-reduced-motion-Dla-G_Jz.js} +1 -1
  262. package/dist/client/assets/{use-scout-dev-flags-BHvg3G2c.js → use-scout-dev-flags-BOQF3fW2.js} +1 -1
  263. package/dist/client/assets/{useAgentHoverCard-D5e8Qg1z.js → useAgentHoverCard-FtCmY-b9.js} +1 -1
  264. package/dist/client/assets/useContentSecondaryNav-BX7Sq7vy.js +1 -0
  265. package/dist/client/assets/{usePierreRuntime-DIVunfX0.js → usePierreRuntime-Bo4lD7Ui.js} +1 -1
  266. package/dist/client/assets/{wrench-pEVd8JnN.js → wrench-CeCdjiPF.js} +1 -1
  267. package/dist/client/assets/{x-0XjXwGqq.js → x-D4X_y1j_.js} +1 -1
  268. package/dist/client/assets/{xterm-CRLlV1Xp.js → xterm-D2a5wrkJ.js} +1 -1
  269. package/dist/client/index.html +2 -2
  270. package/dist/main.mjs +1404 -356
  271. package/dist/node/main.mjs +63 -15
  272. package/dist/openscout-terminal-relay.mjs +16 -4
  273. package/dist/pairing-runtime-controller.mjs +3028 -2946
  274. package/dist/runtime/broker-daemon.mjs +356 -134
  275. package/dist/scout-control-plane-web.mjs +5631 -5183
  276. package/dist/scout-web-server.mjs +5631 -5183
  277. package/package.json +1 -1
  278. package/dist/client/assets/ActivityScreen-DnqqRSlS.js +0 -1
  279. package/dist/client/assets/AgentConfigurationScreen-CJqoMA0J.js +0 -1
  280. package/dist/client/assets/AgentDefinitionsWorkspace-FpEkb-tu.js +0 -1
  281. package/dist/client/assets/AgentFloorView-CycUn0Lv.js +0 -1
  282. package/dist/client/assets/AgentInfoScreen-CAQAxpAK.js +0 -1
  283. package/dist/client/assets/AgentLaneDetailSheet-CWs9wKWk.js +0 -5
  284. package/dist/client/assets/AgentLanesEmbedScreen-BUCW4nUj.js +0 -1
  285. package/dist/client/assets/AgentsScreen-BMXvuiA2.js +0 -1
  286. package/dist/client/assets/AgentsSubnav-BTNjPYoA.js +0 -1
  287. package/dist/client/assets/BrokerScreen-CObCQvoy.js +0 -5
  288. package/dist/client/assets/CodeScreen-BXqi72NK.js +0 -1
  289. package/dist/client/assets/ConversationComposer-BBNPa5S9.js +0 -1
  290. package/dist/client/assets/ConversationFeedRows-BuejHMCY.js +0 -1
  291. package/dist/client/assets/ConversationHeader-DXMT-YXv.js +0 -1
  292. package/dist/client/assets/ConversationPanels-DHCtilQF.js +0 -2
  293. package/dist/client/assets/ConversationScreen-DSxIt9pq.css +0 -1
  294. package/dist/client/assets/ConversationScreen-Dz2d_Z_F.js +0 -1
  295. package/dist/client/assets/FlightObserveScreen-C-9S0nA5.js +0 -1
  296. package/dist/client/assets/FollowScreen--Q04xSSE.js +0 -1
  297. package/dist/client/assets/HarnessMark-Dm_qm1Ku.js +0 -1
  298. package/dist/client/assets/HarnessesScreen-Y54viPX8.js +0 -1
  299. package/dist/client/assets/KnowledgeSearchScreen-DsdDz8wY.js +0 -1
  300. package/dist/client/assets/LaneTraceDetailSheet-CBf_aNZx.js +0 -1
  301. package/dist/client/assets/MeshScreen-TgDtz-1l.js +0 -1
  302. package/dist/client/assets/MessagesScreen-BTQL0UcE.js +0 -1
  303. package/dist/client/assets/MissionControlView-D59SPnAm.js +0 -1
  304. package/dist/client/assets/MissionLogPane-Ye3YlF9s.js +0 -1
  305. package/dist/client/assets/NewChatComposer-B5FnPyzS.js +0 -19
  306. package/dist/client/assets/NewChatComposer-W-t-L4oV.css +0 -1
  307. package/dist/client/assets/OpenScoutAppShell-BIp0WitK.js +0 -87
  308. package/dist/client/assets/OpsAgentsView-CoBfAigH.js +0 -1
  309. package/dist/client/assets/OpsScreen-Bbo0W64T.js +0 -1
  310. package/dist/client/assets/OpsSubnav-CoN8utF8.js +0 -1
  311. package/dist/client/assets/ProjectAgentProfile-FiiIcB5R.js +0 -1
  312. package/dist/client/assets/ProjectsInbox-BWiXjGi7.js +0 -2
  313. package/dist/client/assets/ProjectsScreen-Cxk4CuYn.js +0 -1
  314. package/dist/client/assets/ProjectsThreadAside-BF66ugT5.js +0 -1
  315. package/dist/client/assets/Provider-tFc3jqZ4.js +0 -1
  316. package/dist/client/assets/RawSessionsTable-BsGVgZB3.js +0 -1
  317. package/dist/client/assets/RealtimeVoiceScreen-B0Bem5Rc.js +0 -1
  318. package/dist/client/assets/RepoDiffViewerLazy-C8UPk4oo.js +0 -2
  319. package/dist/client/assets/SessionRefScreen-D7TfPYPN.js +0 -1
  320. package/dist/client/assets/SessionsScreen-BlknOWAd.js +0 -1
  321. package/dist/client/assets/SettingsScreen-BIlYxv_a.js +0 -1
  322. package/dist/client/assets/Terminal-DwZyo8kA.js +0 -1
  323. package/dist/client/assets/TerminalEmbedScreen-Czp3tQyd.js +0 -1
  324. package/dist/client/assets/agent-chat-Bfjd9y6c.js +0 -1
  325. package/dist/client/assets/agent-identity-xQHedtLl.js +0 -1
  326. package/dist/client/assets/agent-lane-detail-Cw4QVAgH.js +0 -1
  327. package/dist/client/assets/chunk-YOZR3KYS-BW85tiCr.js +0 -47
  328. package/dist/client/assets/content-2u_eV3fX.js +0 -1
  329. package/dist/client/assets/content-5irOghrY.js +0 -1
  330. package/dist/client/assets/content-8Z_0CwtD.js +0 -1
  331. package/dist/client/assets/content-B38YRDBu.js +0 -1
  332. package/dist/client/assets/content-BE3uK0LB.js +0 -1
  333. package/dist/client/assets/content-BtIxSqVY.js +0 -1
  334. package/dist/client/assets/content-CFsPAihU.js +0 -1
  335. package/dist/client/assets/content-CHU0wwA3.css +0 -1
  336. package/dist/client/assets/content-CKj5g5tu.js +0 -1
  337. package/dist/client/assets/content-CLDWXf9Z.js +0 -1
  338. package/dist/client/assets/content-CRr73E0r.js +0 -1
  339. package/dist/client/assets/content-CVR75_Uj.js +0 -1
  340. package/dist/client/assets/content-Czdp7_JQ.js +0 -1
  341. package/dist/client/assets/content-D0_EJ6nP.js +0 -1
  342. package/dist/client/assets/content-DNmxpNhD.js +0 -1
  343. package/dist/client/assets/content-XpbI9uxd.js +0 -1
  344. package/dist/client/assets/content-cyxWdgKQ.js +0 -1
  345. package/dist/client/assets/conversation-model-C4yb6_FA.js +0 -1
  346. package/dist/client/assets/conversation-motion-features-CifSdJtm.js +0 -1
  347. package/dist/client/assets/discover-DoiAJo4Z.js +0 -2
  348. package/dist/client/assets/embed-entry-D1Or9S4d.js +0 -2
  349. package/dist/client/assets/home-live-action-B22u89j7.js +0 -1
  350. package/dist/client/assets/home-moving-signal-BdkERL6B.js +0 -1
  351. package/dist/client/assets/home-now-card-lLkv6nQs.js +0 -1
  352. package/dist/client/assets/hooks-BPLDD9yu.js +0 -2
  353. package/dist/client/assets/index-DGoLx89y.js +0 -1
  354. package/dist/client/assets/index-DITWsjFb.css +0 -1
  355. package/dist/client/assets/index-m6dFtY5f.js +0 -1
  356. package/dist/client/assets/index-pY8-Mz7y.js +0 -1
  357. package/dist/client/assets/keyboard-nav-BhZZ5HEq.js +0 -1
  358. package/dist/client/assets/left-B6eawimv.js +0 -1
  359. package/dist/client/assets/left-BL2uBHe0.js +0 -2
  360. package/dist/client/assets/left-BNJguPDG.js +0 -1
  361. package/dist/client/assets/left-BvCtvN0f.js +0 -1
  362. package/dist/client/assets/left-CfBb6bxM.js +0 -1
  363. package/dist/client/assets/left-DTrlBF0h.js +0 -2
  364. package/dist/client/assets/left-agents-DsOHgDCY.js +0 -1
  365. package/dist/client/assets/left-d4hlBBxY.js +0 -1
  366. package/dist/client/assets/left-default-BRCwoCJr.js +0 -1
  367. package/dist/client/assets/left-lanes-DNtoRzoV.js +0 -1
  368. package/dist/client/assets/left-mission-DsTu2X5Y.js +0 -1
  369. package/dist/client/assets/left-plan-CtySjsXC.js +0 -2
  370. package/dist/client/assets/library-CLpgWNJO.js +0 -1
  371. package/dist/client/assets/mission-control-D3ikEPND.css +0 -1
  372. package/dist/client/assets/openAgent-Bjt57GdM.js +0 -1
  373. package/dist/client/assets/profile-BqY5tesX.js +0 -1
  374. package/dist/client/assets/resolve-panes-1xeZMuaw.js +0 -1
  375. package/dist/client/assets/resolve-sidebar-context-PLr32WHN.js +0 -1
  376. package/dist/client/assets/right-1x7HzabC.js +0 -1
  377. package/dist/client/assets/right-CFzPUzlF.js +0 -1
  378. package/dist/client/assets/right-CRKyeJDk.js +0 -1
  379. package/dist/client/assets/right-CagzkLWg.js +0 -1
  380. package/dist/client/assets/right-CsV149pN.js +0 -1
  381. package/dist/client/assets/right-DITNyG2s.js +0 -1
  382. package/dist/client/assets/right-E3nNcLE3.js +0 -1
  383. package/dist/client/assets/right-eUQvSjd7.js +0 -1
  384. package/dist/client/assets/right-ozp4nM44.js +0 -1
  385. package/dist/client/assets/router-Dja9_ygK.js +0 -1
  386. package/dist/client/assets/session-table-sAVe44a4.js +0 -1
  387. package/dist/client/assets/system-surfaces-redesign-CD26LFc0.css +0 -1
  388. package/dist/client/assets/terminal-sessions-D5CIR2OL.js +0 -1
  389. package/dist/client/assets/useContentSecondaryNav-ZfBNi3d4.js +0 -1
@@ -1 +0,0 @@
1
- import{r as d,j as e}from"./index-sUomXsrf.js";import{d as J}from"./colors-BtO5_zlx.js";import{M as Y}from"./runtime-picker-DOZpZOlt.js";import{i as Z,r as ee,d as M,a as se,M as _}from"./MessageComposerSuggestions-zAUUcLOv.js";import{F as te}from"./file-text-i3xTDUjJ.js";import"./index-m6dFtY5f.js";import{c as ae}from"./createLucideIcon-DlxlBfLC.js";import{X as ne}from"./x-0XjXwGqq.js";const re=[["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}],["path",{d:"m9 17-5-5 5-5",key:"nvlc11"}]],oe=ae("reply",re),H="Only markdown, code, images, and video clips can be attached.";function je(){const[o,g]=d.useState([]),[m,x]=d.useState(null),[c,p]=d.useState(null),[u,j]=d.useState(0),a=d.useRef(null),k=d.useCallback((n,l="Attached")=>{const i=n.filter(Z);return i.length===0?(n.length>0&&p(H),0):(p(null),g(C=>{const P=new Set(C.map(h=>`${h.name}:${h.size}:${h.lastModified}`)),R=i.filter(h=>!P.has(`${h.name}:${h.size}:${h.lastModified}`));return R.length>0?[...C,...R]:C}),x(i.length===1?`${l} ${i[0]?.name??"1 attachment"}.`:`${l} ${i.length} attachments.`),i.length)},[]),b=d.useCallback(n=>{g(l=>l.filter(i=>i!==n)),x(null)},[]),$=d.useCallback(()=>{g([]),x(null),p(null),j(0)},[]),q=d.useCallback(()=>{a.current?.click()},[]),E=d.useCallback(n=>{const l=ee(n.clipboardData);l.length!==0&&(n.preventDefault(),k(l,"Pasted"))},[k]),f=d.useMemo(()=>({onDragOver:n=>{M(n.dataTransfer)&&(n.preventDefault(),j(l=>l===0?1:l))},onDragLeave:n=>{n.currentTarget.contains(n.relatedTarget)||j(0)},onDrop:n=>{if(!M(n.dataTransfer))return;n.preventDefault(),j(0);const l=se(n.dataTransfer);if(l.length===0){p(H);return}k(l,"Dropped")}}),[k]);return{files:o,hasFiles:o.length>0,feedback:m,error:c,dragActive:u>0,stage:k,remove:b,clear:$,setError:p,openPicker:q,dropHandlers:f,onPaste:E,inputRef:a}}function le({file:o,onRemove:g}){const m=d.useMemo(()=>URL.createObjectURL(o),[o]);d.useEffect(()=>()=>URL.revokeObjectURL(m),[m]);const x=o.type.startsWith("video/"),c=o.type.startsWith("image/");return e.jsxs("div",{className:"s-msg-compose-attachment",children:[x?e.jsx("video",{src:m,muted:!0,playsInline:!0}):c?e.jsx("img",{src:m,alt:o.name}):e.jsxs("div",{className:"s-msg-compose-attachment-file",title:o.name,children:[e.jsx(te,{size:18,"aria-hidden":"true"}),e.jsx("span",{children:o.name})]}),e.jsx("button",{type:"button",className:"s-msg-compose-attachment-remove","aria-label":`Remove ${o.name}`,onClick:g,children:"×"})]})}function ce({attachments:o,accept:g="image/*,video/*,text/markdown,.md,.markdown,text/plain,.txt"}){const{files:m,feedback:x,error:c,remove:p,stage:u,inputRef:j}=o;return e.jsxs(e.Fragment,{children:[e.jsx("input",{ref:j,type:"file",multiple:!0,accept:g,className:"s-msg-compose-file-input",onChange:a=>{u([...a.target.files??[]]),a.target.value=""}}),m.length>0?e.jsx("div",{className:"s-msg-compose-attachments","aria-label":"Staged attachments",children:m.map(a=>e.jsx(le,{file:a,onRemove:()=>p(a)},`${a.name}:${a.size}:${a.lastModified}`))}):null,c?e.jsx("div",{className:"s-msg-compose-attach-note","data-tone":"error",role:"alert",children:c}):x?e.jsx("div",{className:"s-msg-compose-attach-note","data-tone":"muted",role:"status",children:x}):null]})}function ie({composeRef:o,draft:g,setDraft:m,composePlaceholder:x,slashState:c,setSlashState:p,filteredSlashCommands:u,applySlashCommand:j,mentionState:a,setMentionState:k,filteredMentions:b,applyMention:$,updateTriggersFromDraft:q,closeSuggestions:E,replyTarget:f,onCancelReply:n,isStopMode:l,sending:i,composeAction:C,onSend:P,onInterrupt:R,sendReceipt:h,attachments:v,isAgentBusy:I,busyIntent:T,onBusyIntentChange:L,queued:N,queueNote:K,onEditQueued:W,editingQueuedId:w,editingAttachmentCount:A,onCancelEdit:S,onUnqueue:Q,onSendQueuedNow:B}){const V=e.jsxs(e.Fragment,{children:[c.open?e.jsx(_,{label:"Slash commands",items:u.map(s=>({id:s.command,token:s.label,description:s.description})),activeIndex:c.index,onPick:s=>{const t=u[s];t&&j(t)},onActiveIndexChange:s=>p(t=>({...t,index:s}))}):null,a.open?e.jsx(_,{label:"Mention agent",items:b.map(s=>({id:s.id,token:`@${s.handle}`,description:s.name,avatar:{label:s.name[0]?.toUpperCase()??"?",color:J(s.name)}})),activeIndex:a.index,onPick:s=>{const t=b[s];t&&$(t)},onActiveIndexChange:s=>k(t=>({...t,index:s}))}):null]}),X=g.trim().length>0,D=w!==null,O=X||v.hasFiles||A>0,F=I&&O,y=F&&T==="steer",U=D?N.findIndex(s=>s.id===w)+1:0,z=F?e.jsxs("div",{className:"s-msg-compose-mode",role:"group","aria-label":"What Send does while this turn is running",children:[e.jsx("button",{type:"button",className:"s-msg-compose-mode-btn","data-mode":"queue","aria-pressed":T==="queue",title:"Hold this draft until the running turn lands",disabled:i,onClick:()=>L("queue"),children:"Queue"}),e.jsx("button",{type:"button",className:"s-msg-compose-mode-btn","data-mode":"steer","aria-pressed":T==="steer",title:"Interrupt the running turn and deliver this now",disabled:i,onClick:()=>L("steer"),children:"Steer"})]}):null,G=N.length>0||z?e.jsxs("div",{className:"s-msg-compose-queue",role:"group","aria-label":"Queued messages",children:[e.jsxs("div",{className:"s-msg-compose-queue-head",children:[e.jsx("span",{className:"s-msg-compose-queue-kicker",children:N.length>0?`Queue · ${N.length}`:"Queues next"}),e.jsx("span",{className:"s-msg-compose-queue-hint",children:D?y?`Rewriting ${U} — send interrupts this turn`:`Rewriting ${U} — send returns it to its place`:N.length>0?y?"Send interrupts this turn":K??"":y?"Interrupts this turn on send":"Sends when this turn lands"}),z]}),N.map((s,t)=>e.jsxs("div",{className:"s-msg-compose-queue-row","data-editing":s.id===w?"true":void 0,children:[e.jsx("span",{className:"s-msg-compose-queue-index",children:t+1}),e.jsx("span",{className:"s-msg-compose-queue-body",children:s.body.trim()||"Attachments only"}),s.attachments.length>0?e.jsxs("span",{className:"s-msg-compose-queue-clip",children:[s.attachments.length," file",s.attachments.length===1?"":"s"]}):null,s.id===w?e.jsx("button",{type:"button",className:"s-msg-compose-queue-edit",title:"Stop rewriting — leave this row as it was","aria-label":`Cancel rewriting queued message ${t+1}`,onClick:S,children:"Cancel edit"}):e.jsx("button",{type:"button",className:"s-msg-compose-queue-edit",title:"Pull this back into the input box to rewrite it","aria-label":`Edit queued message ${t+1}`,disabled:i||D,onClick:()=>W(s.id),children:"Edit"}),e.jsx("button",{type:"button",className:"s-msg-compose-queue-now",title:"Interrupt this turn and send this now","aria-label":`Send queued message ${t+1} now`,disabled:i||s.id===w,onClick:()=>B(s.id),children:"Send now"}),e.jsx("button",{type:"button",className:"s-msg-compose-queue-drop",title:"Cancel — drop this from the queue","aria-label":`Cancel queued message ${t+1}`,onClick:()=>Q(s.id),children:"×"})]},s.id))]}):null;return e.jsx(Y,{density:"thread",value:g,onChange:(s,t)=>{m(s),q(s,t?.caret??s.length)},onSend:P,placeholder:x,sending:i,stopMode:l,onStop:R,canSend:O,sendTitle:y?"Steer — interrupt this turn and send now (Cmd+Enter)":F?"Queue for the next turn (Cmd+Enter)":"Send (Cmd+Enter)",sendAriaLabel:y?"Steer — interrupt this turn and send now (Cmd+Enter)":F?"Queue message for the next turn (Cmd+Enter)":C==="steer"?"Send follow-up (Cmd+Enter)":"Send message (Cmd+Enter)",showAttach:!0,onAttach:v.openPicker,onPaste:v.onPaste,dropHandlers:v.dropHandlers,dragActive:v.dragActive,textareaRef:o,overlay:V,above:G,aboveAttached:!0,header:e.jsxs(e.Fragment,{children:[f?e.jsxs("div",{className:"s-thread-compose-reply",role:"status",children:[e.jsx(oe,{className:"s-thread-compose-reply-icon",size:13,strokeWidth:1.8,"aria-hidden":"true"}),e.jsx("span",{className:"s-thread-compose-reply-label",children:"Replying to"}),e.jsx("span",{className:"s-thread-compose-reply-actor",children:f.actorLabel}),e.jsx("span",{className:"s-thread-compose-reply-preview",title:f.preview,children:f.preview}),e.jsx("button",{type:"button",className:"s-thread-compose-reply-cancel","aria-label":"Cancel reply",title:"Cancel reply",onClick:n,children:e.jsx(ne,{size:13,strokeWidth:1.8,"aria-hidden":"true"})})]}):null,D&&A>0?e.jsxs("div",{className:"s-msg-compose-carried",role:"status",children:[A," file",A===1?"":"s"," stay attached to this draft"]}):null,e.jsx(ce,{attachments:v})]}),status:h?e.jsx("div",{className:"s-thread-compose-receipt","data-tone":h.tone,role:"status",children:h.text}):null,tools:e.jsxs("span",{className:"s-thread-compose-hint s-msg-compose-tools-hint",children:[e.jsx("kbd",{className:"s-kbd",children:"/"})," commands"," · ",e.jsx("kbd",{className:"s-kbd",children:"@"})," agents"]}),onSelect:s=>{const t=s.currentTarget;q(t.value,t.selectionStart)},onBlur:()=>{setTimeout(E,120)},onKeyDown:s=>{if(!(c.open&&u.length>0||a.open&&b.length>0))return!1;if(s.key==="ArrowDown")return c.open?p(r=>({...r,index:(r.index+1)%u.length})):a.open&&k(r=>({...r,index:(r.index+1)%b.length})),!0;if(s.key==="ArrowUp")return c.open?p(r=>({...r,index:(r.index-1+u.length)%u.length})):a.open&&k(r=>({...r,index:(r.index-1+b.length)%b.length})),!0;if(s.key==="Escape")return E(),!0;if((s.key==="Enter"||s.key==="Tab")&&!s.shiftKey&&!s.metaKey&&!s.ctrlKey&&!s.altKey){if(c.open){const r=u[c.index]??u[0];r&&j(r)}else if(a.open){const r=b[a.index]??b[0];r&&$(r)}return!0}return!1}})}const ke=Object.freeze(Object.defineProperty({__proto__:null,ConversationComposer:ie},Symbol.toStringTag,{value:"Module"}));export{ie as C,ke as a,je as u};
@@ -1 +0,0 @@
1
- import{j as t}from"./index-sUomXsrf.js";import{M as p}from"./message-markup-C8Nx04sP.js";import{f as n}from"./conversation-model-C4yb6_FA.js";import{t as d}from"./time-Dhsh_2EG.js";import"./mentions-CY_wPZc5.js";import"./colors-BtO5_zlx.js";import"./index-m6dFtY5f.js";import"./api-h5zurxmi.js";import"./Provider-tFc3jqZ4.js";import"./router-Dja9_ygK.js";import"./terminal-sessions-D5CIR2OL.js";import"./sse-CVoGDiKW.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-BlBQhpax.js";import"./DocumentFocusViewer-DU_9BHsD.js";import"./createLucideIcon-DlxlBfLC.js";import"./TextDocumentSurface-C-9EtYqt.js";/* empty css */import"./file-text-i3xTDUjJ.js";import"./x-0XjXwGqq.js";import"./chevron-right-CyUa1zXx.js";import"./code-xml-05TD3uOC.js";import"./arrow-left-WjQIN9J6.js";import"./scout-voice-BZ4KqADJ.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BhZZ5HEq.js";import"./MessageComposerSuggestions-zAUUcLOv.js";import"./NewChatComposer-B5FnPyzS.js";import"./runtime-picker-DOZpZOlt.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-lWOOKezu.js";import"./HarnessMark-Dm_qm1Ku.js";import"./NewChatOrigin--pHWUb4V.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-BFai6ZfE.js";import"./search-DCT_EvPr.js";import"./chunk-HRAB3GC3-CvwpNg-G.js";import"./AgentDetailCard-DxxVkgT1.js";import"./AgentLiveActions-CZdAInEu.js";import"./terminal-takeover-X97KCSJk.js";import"./openContent-C6XO6kr5.js";import"./eye-So8tNNK6.js";import"./terminal-DXQISjZn.js";function l({at:a}){const r=n(a);return t.jsxs("div",{className:"s-thread-day-divider","aria-label":r,children:[t.jsx("span",{className:"s-thread-day-line","aria-hidden":"true"}),t.jsx("span",{className:"s-thread-day-label",children:r}),t.jsx("span",{className:"s-thread-day-line","aria-hidden":"true"})]})}function st({row:a,expanded:r,showDayDivider:e,onToggle:s}){const m=`Sent to ${a.recipients.length} agents`;return t.jsxs("div",{className:["s-thread-feed-block","s-thread-fanout",e&&"s-thread-feed-block--full-width"].filter(Boolean).join(" "),children:[e&&t.jsx(l,{at:a.createdAt}),a.messages.map(i=>t.jsx("span",{id:`msg-${i.id}`,className:"s-thread-fanout-anchor","aria-hidden":"true"},i.id)),t.jsxs("button",{type:"button",className:"s-thread-fanout-summary","aria-expanded":r,onClick:s,title:a.recipients.join(", "),children:[t.jsx("span",{className:"s-thread-fanout-caret","aria-hidden":"true",children:r?"▾":"▸"}),t.jsx("span",{className:"s-thread-fanout-label",children:m}),t.jsx("span",{className:"s-thread-fanout-time",children:d(a.createdAt)})]}),r&&t.jsxs("div",{className:"s-thread-fanout-detail",children:[t.jsx("ul",{className:"s-thread-fanout-recipients",children:a.messages.map((i,o)=>t.jsx("li",{className:"s-thread-fanout-recipient",children:a.recipients[o]},i.id))}),t.jsx("div",{className:"s-thread-fanout-body",children:t.jsx(p,{text:a.messages[0].body})})]})]})}export{st as FanOutRow,l as ThreadDayDivider};
@@ -1 +0,0 @@
1
- import{j as e}from"./index-sUomXsrf.js";import{c as p}from"./clipboard-e3fSpeo7.js";import{b as A}from"./router-Dja9_ygK.js";import{A as f}from"./AgentAvatar-CufDA4A-.js";import{u as $}from"./ContextMenu-BlBQhpax.js";import{B as I}from"./BackToPicker-CkUmHuuo.js";import{o as j}from"./openContent-C6XO6kr5.js";import{v as S,w as L}from"./conversation-model-C4yb6_FA.js";import{E as M}from"./eye-So8tNNK6.js";import{c as T}from"./createLucideIcon-DlxlBfLC.js";import"./terminal-sessions-D5CIR2OL.js";import"./api-h5zurxmi.js";import"./SpriteAvatar-CQs-jC-v.js";import"./agent-identity-xQHedtLl.js";import"./colors-BtO5_zlx.js";import"./time-Dhsh_2EG.js";const B=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"19",x2:"19",y1:"8",y2:"14",key:"1bvyxn"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]],F=T("user-plus",B);function Z({showBackNav:r,isDm:t,navigate:l,route:n,canonicalConversationId:x,threadTitle:d,agentId:c,sessionId:a,detailRoute:h,visibleParticipants:b,hiddenParticipantCount:v,operator:m,canAddParticipants:k,onToggleAddParticipant:g}){const C=$(),u=A(n);return e.jsxs("div",{className:"s-thread-center-header",onClick:s=>{s.target?.closest("button,a,input,select,textarea")||!t||!h||j(l,h,{returnTo:n})},style:t&&h?{cursor:"pointer"}:void 0,onContextMenu:s=>{const o=[{kind:"action",label:"Copy Title",onSelect:()=>{p(d)}}];c&&o.push({kind:"action",label:"Copy Agent ID",onSelect:()=>{p(c)}}),!c&&a&&o.push({kind:"action",label:"Copy Session ID",onSelect:()=>{p(a)}}),o.push({kind:"action",label:"Copy Conversation ID",onSelect:()=>{p(x)}}),C(s,o)},children:[r&&e.jsx(I,{slot:"conversation",fallback:{view:"inbox"},navigate:l,label:"Back",className:"s-thread-header-back"}),e.jsx("div",{className:"s-thread-center-header-info",children:t&&h?e.jsx("button",{type:"button",className:"s-thread-center-header-name",title:`Open ${d} details`,onClick:()=>j(l,h,{returnTo:n}),children:d}):e.jsx("span",{className:"s-thread-center-header-name",children:d})}),e.jsxs("div",{className:"s-thread-center-header-right",children:[b.length>0&&e.jsxs("div",{className:"s-thread-participants","aria-label":"Conversation participants",children:[b.map(s=>{const i=[s.model??(s.harness?"model unknown":null),s.reasoningEffort].filter(Boolean).join(" · ")||null,w=i?`${s.name} · ${i}`:s.title,y=e.jsxs(e.Fragment,{children:[e.jsx(f,{agent:s.agent??void 0,name:s.name,placement:"turn",className:"s-thread-participant-avatar",title:s.name}),e.jsxs("span",{className:"s-thread-participant-identity",children:[e.jsx("span",{className:"s-thread-participant-name",children:s.name}),i&&e.jsx("span",{className:"s-thread-participant-model",title:i,children:i})]})]}),N=s.agent?{view:"agents-v2",agentId:s.agent.id,...u?{machineId:u}:{}}:s.sessionId?{view:"sessions",sessionId:s.sessionId,...u?{machineId:u}:{}}:null;return N?e.jsx("button",{type:"button",className:"s-thread-participant-pill s-thread-participant-pill--button",title:`Open ${s.name} ${s.agent?"profile":"session"}${i?` · ${i}`:""}`,onClick:()=>j(l,N,{returnTo:n}),children:y},s.id):e.jsx("span",{className:"s-thread-participant-pill",title:w,children:y},s.id)}),v>0&&e.jsxs("span",{className:"s-thread-participant-overflow",children:["+",v]}),m.active?e.jsxs("span",{className:"s-thread-participant-pill s-thread-participant-pill--operator",title:`${m.name} · in this conversation`,children:[e.jsx(f,{name:m.name,placement:"turn",className:"s-thread-participant-avatar s-thread-participant-avatar--operator",title:m.name}),e.jsx("span",{className:"s-thread-participant-identity",children:e.jsx("span",{className:"s-thread-participant-name",children:"You"})})]}):e.jsxs("span",{className:"s-thread-participant-observer",title:`${m.name} · observing (not in thread)`,children:[e.jsx(M,{size:12,strokeWidth:1.9,"aria-hidden":"true"}),e.jsx("span",{children:"Observing"})]})]}),k&&e.jsx("button",{type:"button",className:"s-thread-add-participant-trigger",onClick:g,title:"Add participant","aria-label":"Add participant",children:e.jsx(F,{size:14,strokeWidth:1.9,"aria-hidden":"true"})})]})]})}function R({canonicalConversationId:r,conversationAlias:t}){return e.jsxs("div",{className:"s-thread-identity-row",children:[e.jsxs("button",{type:"button",className:"s-thread-identity-chip",title:r,onClick:()=>{p(r)},children:[e.jsx("span",{children:S()}),e.jsx("strong",{children:L(r)})]}),t&&e.jsxs("span",{className:"s-thread-identity-chip",title:t,children:[e.jsx("span",{children:"Alias"}),e.jsx("strong",{children:t})]})]})}function P({agents:r,addParticipantId:t,setAddParticipantId:l,addingParticipant:n,addParticipantError:x,onCancel:d,onSubmit:c}){return e.jsxs("form",{className:"s-thread-add-participant",onSubmit:a=>{a.preventDefault(),c()},children:[e.jsxs("div",{className:"s-thread-add-participant-row",children:[e.jsxs("div",{className:"s-thread-add-participant-field",children:[e.jsx("label",{className:"s-thread-add-participant-label",htmlFor:"thread-add-participant-select",children:"Agent"}),e.jsx("select",{id:"thread-add-participant-select",className:"s-thread-add-participant-select",value:t,onChange:a=>l(a.target.value),autoFocus:!0,children:r.map(a=>e.jsx("option",{value:a.id,children:a.name},a.id))})]}),e.jsxs("div",{className:"s-thread-add-participant-actions",children:[e.jsx("button",{type:"button",className:"s-btn s-btn-sm",onClick:d,disabled:n,children:"Cancel"}),e.jsx("button",{type:"submit",className:"s-btn s-btn-primary s-btn-sm",disabled:n||t.trim().length===0,children:n?"Adding...":"Add"})]})]}),x&&e.jsx("div",{className:"s-thread-add-participant-error",children:x})]})}export{P as AddParticipantForm,Z as ConversationHeader,R as ConversationIdentityRow};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/conversation-motion-features-CifSdJtm.js","assets/gestures-CgvAMd6F.js","assets/index-sUomXsrf.js","assets/index-DITWsjFb.css","assets/use-reduced-motion-Cvk-HRKg.js"])))=>i.map(i=>d[i]);
2
- import{j as e,_ as M,r as x}from"./index-sUomXsrf.js";import{b as L,t as _,g as S,r as R,d as $,m as w,c as E,e as I,p as P}from"./conversation-model-C4yb6_FA.js";import{n as W,d as b,f as B,s as z}from"./colors-BtO5_zlx.js";import{i as y}from"./sessionRead-CvFz2RHv.js";import{t as j,f as k}from"./time-Dhsh_2EG.js";import{u as U}from"./Provider-tFc3jqZ4.js";import{o as f}from"./openContent-C6XO6kr5.js";import{u as D,L as F,m as p}from"./use-reduced-motion-Cvk-HRKg.js";import{A as O}from"./activity-WhBf3FXP.js";import{T as H}from"./terminal-DXQISjZn.js";import{M as K}from"./message-circle-C5UZ6fO7.js";import"./router-Dja9_ygK.js";import"./terminal-sessions-D5CIR2OL.js";import"./api-h5zurxmi.js";import"./sse-CVoGDiKW.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-BlBQhpax.js";import"./DocumentFocusViewer-DU_9BHsD.js";import"./createLucideIcon-DlxlBfLC.js";import"./TextDocumentSurface-C-9EtYqt.js";/* empty css */import"./file-text-i3xTDUjJ.js";import"./x-0XjXwGqq.js";import"./chevron-right-CyUa1zXx.js";import"./code-xml-05TD3uOC.js";import"./arrow-left-WjQIN9J6.js";import"./scout-voice-BZ4KqADJ.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BhZZ5HEq.js";import"./MessageComposerSuggestions-zAUUcLOv.js";import"./NewChatComposer-B5FnPyzS.js";import"./runtime-picker-DOZpZOlt.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-lWOOKezu.js";import"./index-m6dFtY5f.js";import"./HarnessMark-Dm_qm1Ku.js";import"./NewChatOrigin--pHWUb4V.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-BFai6ZfE.js";import"./search-DCT_EvPr.js";import"./chunk-HRAB3GC3-CvwpNg-G.js";const G=[{head:"30%",body:"88%",short:"62%"},{head:"22%",body:"76%",short:"48%"},{head:"34%",body:"82%",short:"68%"}],J=()=>M(()=>import("./conversation-motion-features-CifSdJtm.js"),__vite__mapDeps([0,1,2,3,4])).then(a=>a.default);function Y({onOpenTrace:a,onOpenTerminal:i,onSteer:d,compact:r=!1}){return!a&&!i&&!d?null:e.jsxs("nav",{className:`s-thread-working-actions${r?" s-thread-working-actions--compact":""}`,"aria-label":"Working turn actions",children:[a&&e.jsxs("button",{type:"button",className:"s-thread-working-action s-thread-working-action--primary",onClick:a,title:"Watch this run's live trace",children:[e.jsx(O,{size:13,strokeWidth:1.9,"aria-hidden":"true"}),e.jsx("span",{children:"Live trace"})]}),i&&e.jsxs("button",{type:"button",className:"s-thread-working-action",onClick:i,title:"Jump into this agent's terminal",children:[e.jsx(H,{size:13,strokeWidth:1.9,"aria-hidden":"true"}),e.jsx("span",{children:"Terminal"})]}),d&&e.jsxs("button",{type:"button",className:"s-thread-working-action",onClick:d,title:"Write an interrupting message to steer this turn",children:[e.jsx(K,{size:13,strokeWidth:1.9,"aria-hidden":"true"}),e.jsx("span",{children:"Steer…"})]})]})}const q={think:"Thinking",tool:"Tool",ask:"Prompt",message:"Says",note:"Note",system:"System",boot:"Boot"};function N({steps:a,phase:i,limit:d=5,compact:r=!1}){const l=a.slice(-d),o=a.length-l.length;return l.length===0?i?e.jsxs("div",{className:"s-thread-steps-phase",children:[e.jsx("span",{children:i.label}),e.jsx("strong",{children:i.detail})]}):null:e.jsxs("div",{className:`s-thread-steps${r?" s-thread-steps--compact":""}`,children:[o>0&&e.jsxs("div",{className:"s-thread-steps-elided",children:[o," earlier step",o===1?"":"s"]}),e.jsx("ol",{"aria-label":"Live steps in this turn",children:l.map(s=>e.jsxs("li",{"data-kind":s.kind,children:[e.jsx("span",{className:"s-thread-step-mark","aria-hidden":"true"}),e.jsx("span",{className:"s-thread-step-kind",children:q[s.kind]}),e.jsxs("span",{className:"s-thread-step-body",children:[s.tool?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"s-thread-step-tool",children:s.tool}),s.arg&&e.jsx("span",{className:"s-thread-step-arg",children:s.arg})]}):e.jsx("span",{className:"s-thread-step-text",children:s.text}),s.repeatCount>1&&e.jsxs("span",{className:"s-thread-step-repeat",children:["×",s.repeatCount]}),s.outcome&&e.jsx("span",{className:"s-thread-step-outcome",children:s.outcome})]}),e.jsx("time",{title:k(s.ts),children:j(s.ts)})]},s.id))})]})}function Q({events:a,limit:i=3,compact:d=!1}){const r=a.slice(0,i);return r.length===0?null:e.jsx("ol",{className:`s-thread-motion-events${d?" s-thread-motion-events--compact":""}`,"aria-label":"Latest run activity",children:r.map(l=>e.jsxs("li",{children:[e.jsx("span",{className:"s-thread-motion-event-kind",children:L(l.kind)}),e.jsx("span",{className:"s-thread-motion-event-summary",children:_(l)??"Activity recorded"}),e.jsx("time",{title:k(l.ts),children:j(l.ts)})]},l.id))})}function He(){const a=D();return e.jsx(F,{features:J,strict:!0,children:e.jsxs(p.section,{className:"s-thread-skeleton","aria-busy":"true","aria-live":"polite",initial:a?!1:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.2,ease:[.2,.7,.3,1]},children:[e.jsxs("div",{className:"s-thread-skeleton-intro",role:"status",children:[e.jsxs("div",{className:"s-thread-loader-mark","aria-hidden":"true",children:[e.jsx(p.span,{className:"s-thread-loader-orbit",animate:a?void 0:{rotate:360},transition:{duration:3.2,ease:"linear",repeat:1/0},children:e.jsx("span",{})}),e.jsx(p.span,{className:"s-thread-loader-core",animate:a?void 0:{scale:[.88,1,.88],opacity:[.58,1,.58]},transition:{duration:1.8,ease:"easeInOut",repeat:1/0}})]}),e.jsxs("span",{className:"s-thread-skeleton-copy",children:[e.jsx("strong",{children:"Composer ready"}),e.jsx("span",{children:"Gathering the conversation…"})]})]}),e.jsx("div",{className:"s-thread-skeleton-turns","aria-hidden":"true",children:G.map((i,d)=>e.jsxs(p.div,{className:"s-thread-skeleton-turn",initial:a?!1:{opacity:0,y:7},animate:{opacity:1,y:0},transition:{delay:a?0:.05+d*.055,duration:.24,ease:[.2,.7,.3,1]},children:[e.jsx("span",{className:"s-thread-skeleton-avatar"}),e.jsxs("div",{className:"s-thread-skeleton-lines",children:[e.jsx("span",{className:"s-thread-skeleton-line s-thread-skeleton-line--head",style:{width:i.head}}),e.jsx("span",{className:"s-thread-skeleton-line",style:{width:i.body}}),e.jsx("span",{className:"s-thread-skeleton-line s-thread-skeleton-line--short",style:{width:i.short}})]})]},`${i.head}-${i.body}`))})]})})}function Ke({sessions:a,activeConversationId:i,needsYouIds:d,lastViewed:r,navigate:l}){const o=a.filter(n=>d.has(n.id)||n.agentId&&d.has(n.agentId)),s=x.useMemo(()=>S(a),[a]);return e.jsx("aside",{className:"s-thread-rail",children:e.jsxs("div",{className:"s-thread-rail-scroll",children:[o.length>0&&e.jsxs("div",{className:"s-thread-rail-section s-thread-rail-section--needs-you",children:[e.jsx("div",{className:"s-thread-rail-section-label",children:"Needs you"}),o.map(n=>e.jsx(g,{session:n,active:n.id===i,unread:y(n.lastMessageAt,n.id,r),needsYou:!0,navigate:l},`needs-${n.id}`))]}),s.map(n=>e.jsxs("div",{className:"s-thread-rail-section",children:[e.jsx("div",{className:"s-thread-rail-section-label",children:n.workspace}),n.sessions.map(c=>e.jsx(g,{session:c,active:c.id===i,unread:y(c.lastMessageAt,c.id,r),needsYou:!1,navigate:l},c.id))]},n.workspace))]})})}function Ge({sessionMeta:a,agents:i,flights:d,conversationId:r,navigate:l,route:o}){const s=x.useMemo(()=>a?a.participantIds.filter(t=>t!=="operator").map(t=>R(i,[t])).filter(t=>t!==null):[],[a,i]),n={id:"operator",name:"You",handle:"operator",activity:null,state:"ready",agent:null},c=x.useMemo(()=>s.map(t=>({id:t.id,name:t.name,handle:w(t)??E(t.id)??t.id,activity:$(t,d,r),state:W(t.state),agent:t})),[s,d,r]),h=[n,...c];return e.jsxs("aside",{className:"s-thread-sidebar",children:[e.jsxs("div",{className:"s-thread-sidebar-section",children:[e.jsx("div",{className:"s-thread-sidebar-label",children:"In this conversation"}),h.map(t=>{const m=e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"s-ops-avatar",style:{"--size":"28px",background:b(t.name)},children:t.name[0]?.toUpperCase()??"?"}),e.jsxs("div",{className:"s-thread-sidebar-participant-info",children:[e.jsx("span",{className:"s-thread-sidebar-participant-name",children:t.name}),e.jsxs("span",{className:"s-thread-sidebar-participant-handle",children:["@",t.handle]})]}),e.jsx("div",{className:"s-thread-sidebar-participant-activity",children:t.activity?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"s-thread-sidebar-activity-dot s-thread-sidebar-activity-dot--pulse",style:{background:"var(--green)"}}),e.jsx("span",{className:"s-thread-sidebar-activity-label",children:t.activity})]}):B(t.state)||t.id==="operator"?e.jsx("span",{className:"s-thread-sidebar-activity-dot",style:{background:z(t.state)}}):e.jsx("span",{className:"s-thread-sidebar-activity-dot",style:{background:"var(--dim)"}})})]});return t.agent?e.jsx("button",{type:"button",className:"s-thread-sidebar-participant s-thread-sidebar-participant--clickable",onClick:()=>f(l,{view:"agents-v2",agentId:t.agent.id},{returnTo:o}),title:`Open ${t.name} profile`,children:m},t.id):e.jsx("div",{className:"s-thread-sidebar-participant",children:m},t.id)})]}),c.length>0&&e.jsxs("div",{className:"s-thread-sidebar-section",children:[e.jsx("div",{className:"s-thread-sidebar-label",children:"Conversation mesh"}),e.jsx(V,{participants:c})]})]})}function Je({agentName:a,title:i,detail:d,snapshot:r,events:l,steps:o,phase:s,tone:n,workspaceName:c,branch:h,startedAt:t,onOpenTrace:m,onOpenTerminal:A,onSteer:C}){const T=t?j(t):"now";return e.jsxs("section",{className:`s-thread-motion-panel s-thread-motion-panel--${n}`,"aria-live":"polite",children:[e.jsxs("div",{className:"s-thread-motion-head",children:[e.jsx("div",{className:"s-thread-motion-beacon","aria-hidden":"true",children:e.jsx("span",{})}),e.jsxs("div",{className:"s-thread-motion-title-block",children:[e.jsx("div",{className:"s-thread-motion-kicker",children:"Currently working"}),e.jsx("h2",{children:i}),e.jsx("p",{children:d})]})]}),e.jsx("div",{className:"s-thread-motion-meter","aria-hidden":"true",children:X.map((u,v)=>e.jsx("span",{style:{"--bar-height":`${u}%`,"--bar-delay":`${v*74}ms`}},`${u}-${v}`))}),e.jsxs("dl",{className:"s-thread-motion-stats",children:[e.jsxs("div",{children:[e.jsx("dt",{children:"Session"}),e.jsx("dd",{children:T})]}),e.jsxs("div",{children:[e.jsx("dt",{children:"Activity"}),e.jsx("dd",{children:r.activityLabel})]}),e.jsxs("div",{children:[e.jsx("dt",{children:"Last"}),e.jsx("dd",{children:r.lastActivityLabel})]})]}),e.jsxs("div",{className:"s-thread-motion-latest",children:[e.jsx("span",{children:a}),e.jsx("strong",{children:r.latest})]}),o.length>0?e.jsx(N,{steps:o,phase:null,limit:6}):l.length>0?e.jsx(Q,{events:l,limit:4}):s?e.jsx(N,{steps:o,phase:s,limit:6}):e.jsxs("div",{className:"s-thread-motion-waiting",children:[e.jsx("span",{children:"Session created"}),e.jsx("strong",{children:"waiting for the first trace event"})]}),(c||h)&&e.jsxs("div",{className:"s-thread-motion-chips",children:[c&&e.jsx("span",{children:c}),h&&e.jsx("span",{children:h})]}),e.jsx(Y,{onOpenTrace:m,onOpenTerminal:A,onSteer:C})]})}function g({session:a,active:i,unread:d,needsYou:r,navigate:l}){const{route:o}=U(),s=I(a),n=(a.agentName??s)[0]?.toUpperCase()??"?",c=a.kind==="direct",h=P(a.workspaceRoot)??a.kind;return e.jsxs("button",{type:"button",className:["s-thread-rail-item",i&&"s-thread-rail-item--active",r&&"s-thread-rail-item--needs-you"].filter(Boolean).join(" "),onClick:()=>f(l,{view:"conversation",conversationId:a.id},{returnTo:o}),children:[c?e.jsx("div",{className:"s-thread-rail-avatar",style:{background:b(a.agentName??s)},children:n}):e.jsx("div",{className:"s-thread-rail-avatar s-thread-rail-avatar--channel",children:"#"}),e.jsxs("div",{className:"s-thread-rail-body",children:[e.jsx("span",{className:"s-thread-rail-name",children:s}),e.jsx("span",{className:"s-thread-rail-sub",children:h})]}),e.jsxs("div",{className:"s-thread-rail-trailing",children:[d&&!r&&e.jsx("span",{className:"s-thread-rail-presence-dot",style:{background:"var(--accent)"}}),r&&e.jsx("span",{className:"s-thread-rail-badge s-thread-rail-badge--amber",children:"!"})]})]})}function V({participants:a}){const o=a.map((s,n)=>{const c=2*Math.PI*n/a.length-Math.PI/2;return{...s,x:130+55*Math.cos(c),y:80+55*Math.sin(c)}});return e.jsx("div",{className:"s-thread-mini-mesh",children:e.jsxs("svg",{viewBox:"0 0 260 160","aria-label":"Conversation participant mesh",children:[o.map(s=>e.jsx("line",{x1:130,y1:80,x2:s.x,y2:s.y,className:"s-thread-mini-mesh-edge"},`edge-${s.id}`)),e.jsx("circle",{cx:130,cy:80,r:16,className:"s-thread-mini-mesh-node s-thread-mini-mesh-node--center"}),e.jsx("text",{x:130,y:80,className:"s-thread-mini-mesh-label s-thread-mini-mesh-label--center",children:"OP"}),o.map(s=>e.jsxs("g",{children:[e.jsx("circle",{cx:s.x,cy:s.y,r:16,className:"s-thread-mini-mesh-node",style:s.state==="in_turn"||s.state==="in_flight"?{stroke:"var(--green)"}:void 0}),e.jsx("text",{x:s.x,y:s.y,className:"s-thread-mini-mesh-label",children:s.name.slice(0,3).toUpperCase()})]},`node-${s.id}`))]})})}const X=[42,76,54,88,34,66,92,48,72,38,84,58];export{Ke as ChannelRail,Ge as PresenceSidebar,He as ThreadLoadingSkeleton,Je as ThreadMotionPanel,Y as WorkingTurnActions,Q as WorkingTurnActivityPreview,N as WorkingTurnSteps};
@@ -1 +0,0 @@
1
- .s-thread-layout{display:flex;flex:1 1 0;height:100%;min-height:0;overflow:hidden;background:var(--bg)}.s-thread-rail{width:280px;flex-shrink:0;display:flex;flex-direction:column;background:color-mix(in srgb,var(--bg) 70%,black);border-right:1px solid var(--border);overflow:hidden}.s-thread-rail-scroll{flex:1;min-height:0;overflow-y:auto;padding-bottom:var(--space-2xl)}.s-thread-rail-section{padding:0}.s-thread-rail-section-label{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xl) var(--space-2xl) var(--space-xs);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-lg);text-transform:uppercase;color:var(--dim);-webkit-user-select:none;user-select:none}.s-thread-rail-section--needs-you .s-thread-rail-section-label{color:var(--amber)}.s-thread-rail-item{position:relative;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-2xl) var(--space-sm) var(--space-xl);cursor:pointer;border:none;background:transparent;width:100%;text-align:left;transition:background .1s ease;border-left:2px solid transparent}.s-thread-rail-item:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}.s-thread-rail-item--active{background:color-mix(in srgb,var(--accent) 6%,transparent);border-left-color:var(--accent)}.s-thread-rail-item--needs-you{background:color-mix(in srgb,var(--amber) 4%,transparent)}.s-thread-rail-item--needs-you:hover{background:color-mix(in srgb,var(--amber) 8%,transparent)}.s-thread-rail-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:600;color:var(--scout-chrome-avatar-ink);flex-shrink:0}.s-thread-rail-avatar--channel{background:color-mix(in srgb,var(--border) 60%,transparent);color:var(--muted);font-size:var(--text-lg);font-weight:400}.s-thread-rail-body{flex:1;min-width:0}.s-thread-rail-name{display:block;font-size:var(--text-md);font-weight:550;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.005em}.s-thread-rail-item--active .s-thread-rail-name{color:var(--ink);font-weight:600}.s-thread-rail-sub{display:block;font-size:var(--text-xs);color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.s-thread-rail-trailing{display:flex;align-items:center;gap:var(--space-xs);flex-shrink:0}.s-thread-rail-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 var(--space-xs);border-radius:var(--radius-lg);background:var(--accent);color:var(--bg);font-size:var(--text-xs);font-weight:600;font-variant-numeric:tabular-nums}.s-thread-rail-badge--amber{background:var(--amber)}.s-thread-rail-presence-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.s-thread-center{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--bg)}.s-thread-center-header{display:flex;align-items:center;gap:var(--space-md);min-height:62px;padding:var(--space-md) var(--space-3xl);border-bottom:1px solid color-mix(in srgb,var(--border) 92%,var(--surface));background:var(--surface);flex-shrink:0}.s-thread-header-back{min-width:30px;height:30px;padding:0 var(--space-sm);border-color:color-mix(in srgb,var(--border) 34%,transparent);background:transparent;color:var(--muted);font-size:var(--text-xs);align-self:center}.s-thread-header-back:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}.s-thread-center-header-info{flex:1;min-width:0}.s-thread-center-header-name{display:block;font-size:var(--text-2xl);font-weight:650;letter-spacing:-.02em;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.s-thread-center-header-name{appearance:none;width:100%;padding:0;border:0;background:none;font-family:inherit;text-align:left;cursor:pointer}.s-thread-center-header-right{display:flex;align-items:center;gap:var(--space-sm);min-width:0;flex-shrink:0}.s-thread-participants{display:flex;align-items:center;gap:var(--space-xs);min-width:0;max-width:min(48vw,520px)}.s-thread-participant-pill,.s-thread-participant-overflow{display:inline-flex;align-items:center;min-height:28px;border:1px solid color-mix(in srgb,var(--border) 58%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--bg) 82%,transparent);color:var(--muted);font-size:var(--text-sm)}.s-thread-participant-pill{gap:var(--space-xs);max-width:200px;min-width:0;padding:2px var(--space-sm) 2px 3px}button.s-thread-participant-pill{font:inherit;cursor:pointer}button.s-thread-participant-pill:hover{border-color:color-mix(in srgb,var(--accent) 34%,var(--border));color:var(--ink)}.s-thread-participant-avatar{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 auto;border-radius:var(--radius-pill);overflow:visible}.s-thread-participant-identity{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;line-height:1.15}.s-thread-participant-name{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-thread-participant-model{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.01em}.s-thread-participant-pill--operator{color:var(--muted)}.s-thread-participant-avatar--operator{background:color-mix(in srgb,var(--surface) 70%,var(--bg));color:var(--muted);border:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.s-thread-participant-observer{display:inline-flex;align-items:center;gap:var(--space-2xs, 4px);min-height:28px;padding:0 var(--space-sm);border:1px dashed color-mix(in srgb,var(--border) 60%,transparent);border-radius:var(--radius-pill);background:transparent;color:var(--dim);font-size:var(--text-xs);white-space:nowrap}.s-thread-participant-observer svg{opacity:.85}.s-thread-participant-overflow{justify-content:center;min-width:28px;padding:0 var(--space-xs);color:var(--dim);font-family:var(--font-mono);font-size:var(--text-xs)}.s-thread-add-participant-trigger{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;flex-shrink:0;border:1px solid color-mix(in srgb,var(--border) 48%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg) 70%,transparent);color:var(--muted);cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.s-thread-add-participant-trigger:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--ink)}.s-thread-identity-row{display:flex;align-items:center;gap:var(--space-xs);min-height:30px;padding:var(--space-2xs) var(--space-3xl);border-bottom:1px solid color-mix(in srgb,var(--border) 46%,transparent);background:color-mix(in srgb,var(--surface) 72%,var(--bg));overflow-x:auto;flex-shrink:0}.s-thread-identity-chip{display:inline-flex;align-items:center;gap:var(--space-xs);max-width:240px;min-height:20px;padding:0 var(--space-sm);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:var(--radius-md);background:var(--bg);color:var(--muted);font:inherit;font-size:var(--text-xs);white-space:nowrap}button.s-thread-identity-chip{cursor:pointer}button.s-thread-identity-chip:hover{border-color:color-mix(in srgb,var(--accent) 32%,var(--border));color:var(--ink)}.s-thread-identity-chip span{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-md);text-transform:uppercase}.s-thread-identity-chip strong{min-width:0;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;color:var(--muted)}.s-thread-add-participant{margin:var(--space-md) var(--space-3xl) 0;padding:var(--space-lg) var(--space-xl);border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--accent) 5%,var(--surface));display:flex;flex-direction:column;gap:var(--space-md)}.s-thread-add-participant-row{display:flex;align-items:flex-end;gap:var(--space-lg);flex-wrap:wrap}.s-thread-add-participant-field{display:flex;flex-direction:column;gap:var(--space-xs);flex:1;min-width:220px}.s-thread-add-participant-label{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-md);text-transform:uppercase;color:var(--dim)}.s-thread-add-participant-select{width:100%;min-height:36px;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--border) 86%,var(--surface));background:var(--bg);color:var(--ink);font:inherit;padding:0 var(--space-md)}.s-thread-add-participant-select:focus-visible{outline:none;border-color:color-mix(in srgb,var(--accent) 40%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.s-thread-add-participant-actions{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.s-thread-add-participant-error{font-size:var(--text-sm);color:var(--red)}.s-thread-pinned-ask{margin:var(--space-lg) var(--space-3xl) 0;padding:var(--space-xl) var(--space-2xl);border:1px solid color-mix(in srgb,var(--amber) 30%,var(--border));border-radius:var(--radius-xl);background:color-mix(in srgb,var(--amber) 3%,var(--surface));position:relative;overflow:hidden}.s-thread-pinned-ask:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--amber);border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.s-thread-pinned-ask-label{display:flex;align-items:center;gap:var(--space-sm);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-lg);text-transform:uppercase;color:var(--amber);margin-bottom:var(--space-sm)}.s-thread-pinned-ask-body{font-size:var(--text-2xl);font-weight:500;line-height:var(--leading-snug);letter-spacing:-.01em;color:var(--ink);margin-bottom:var(--space-md)}.s-thread-pinned-ask-routing{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--space-lg)}.s-thread-pinned-ask-routing-arrow{color:var(--dim)}.s-thread-pinned-ask-actions{display:flex;align-items:center;gap:var(--space-sm)}.s-thread-pinned-ask-strip{height:2px;width:100%;margin-top:var(--space-md);border-radius:1px;background:linear-gradient(90deg,transparent 0%,var(--amber) 40%,var(--amber) 60%,transparent 100%);background-size:200% 100%;animation:s-thread-thinking-strip 2s ease-in-out infinite}@keyframes s-thread-thinking-strip{0%{background-position:200% 0}to{background-position:-200% 0}}.s-thread-feed{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-3xl) var(--space-3xl) var(--space-2xl);align-items:stretch;background:linear-gradient(var(--bg) 2%,transparent 8%),linear-gradient(transparent 92%,var(--bg) 98%);background-attachment:local;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--border) 60%,transparent) transparent}.s-thread-feed::-webkit-scrollbar{width:4px}.s-thread-feed::-webkit-scrollbar-track{background:transparent}.s-thread-feed::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--border) 60%,transparent);border-radius:var(--radius-xs)}.s-thread-history-control{align-self:stretch;display:flex;justify-content:center;padding:0 0 var(--space-lg)}.s-thread-history-button{display:inline-flex;align-items:center;justify-content:center;min-height:30px;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 82%,var(--bg));color:var(--muted);font:inherit;font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:background .16s ease-out,border-color .16s ease-out,color .16s ease-out}.s-thread-history-button:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 30%,var(--border));background:color-mix(in srgb,var(--accent) 7%,var(--surface));color:var(--ink)}.s-thread-history-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.s-thread-history-button:disabled{cursor:default;opacity:.68}.s-thread-new-messages{position:sticky;bottom:var(--space-sm);z-index:1;align-self:center;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:30px;margin:calc(var(--space-sm) * -1) 0 0;padding:var(--space-sm) var(--space-lg);border:1px solid color-mix(in srgb,var(--accent) 48%,var(--border));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 94%,var(--accent));color:var(--accent);font:inherit;font-size:var(--text-xs);font-weight:600;cursor:pointer;box-shadow:0 var(--space-sm) var(--space-xl) color-mix(in srgb,var(--bg) 42%,transparent);transition:background .16s ease-out,border-color .16s ease-out,color .16s ease-out}.s-thread-new-messages:hover{border-color:var(--accent);background:color-mix(in srgb,var(--surface) 86%,var(--accent));color:var(--ink)}.s-thread-new-messages:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.s-thread-history-spinner{width:11px;height:11px;border:1.5px solid color-mix(in srgb,currentColor 28%,transparent);border-top-color:currentColor;border-radius:50%;animation:s-thread-history-spin .7s linear infinite}@keyframes s-thread-history-spin{to{transform:rotate(360deg)}}.s-thread-feed-block{display:flex;flex-direction:column;gap:var(--space-xs);max-width:min(88%,760px)}.s-thread-feed-block--you{align-self:flex-end}.s-thread-msg-permalink{opacity:0;transition:opacity .15s;cursor:pointer;color:var(--muted);background:transparent;border:none;width:22px;height:22px;padding:0;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center}.s-thread-msg-actions{display:contents}.s-thread-msg-card:hover .s-thread-msg-permalink{opacity:1}.s-thread-msg-permalink:focus-visible{opacity:1;outline:2px solid color-mix(in srgb,var(--accent) 50%,transparent);outline-offset:1px}.s-thread-msg-permalink:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 7%,transparent)}@media(hover:none){.s-thread-msg-permalink{opacity:.72}}.s-thread-compose-reply{display:grid;grid-template-columns:auto auto auto minmax(0,1fr) auto;align-items:center;gap:var(--space-xs);min-width:0;color:var(--muted);font-size:var(--text-xs);line-height:var(--leading-tight)}.s-thread-compose-reply-icon{flex:none;color:var(--accent)}.s-thread-compose-reply-label{color:var(--dim)}.s-thread-compose-reply-actor{color:var(--ink);font-family:var(--font-mono);font-weight:600;white-space:nowrap}.s-thread-compose-reply-preview{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.s-thread-compose-reply-cancel{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin:calc(var(--space-2xs) * -1);padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--dim);cursor:pointer}.s-thread-compose-reply-cancel:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 7%,transparent)}.s-thread-compose-reply-cancel:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 50%,transparent);outline-offset:1px}.s-thread-compose-receipt{padding:0 var(--space-xs);font-size:var(--text-xs);color:var(--green)}.s-thread-compose-receipt[data-tone=warning]{color:var(--amber)}.s-thread-msg-dismiss{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;color:color-mix(in srgb,var(--amber) 78%,var(--muted));background:color-mix(in srgb,var(--amber) 6%,transparent);border:1px solid color-mix(in srgb,var(--amber) 28%,transparent);border-radius:var(--radius-md);cursor:pointer}.s-thread-msg-dismiss:hover{color:var(--ink);background:color-mix(in srgb,var(--amber) 12%,transparent);border-color:color-mix(in srgb,var(--amber) 45%,transparent)}.s-thread-feed-block--full-width{max-width:100%;align-self:stretch}.s-thread-feed-block--full-width.s-thread-feed-block--you{align-items:flex-end}.s-thread-feed-block--full-width.s-thread-feed-block--you .s-thread-day-divider{align-self:stretch}.s-thread-feed-block--full-width.s-thread-feed-block--you .s-thread-msg{max-width:min(88%,760px)}.s-thread-day-divider{display:flex;align-items:center;gap:var(--space-xl);margin:var(--space-lg) 0}.s-thread-day-line{flex:1;height:1px;background:color-mix(in srgb,var(--border) 40%,transparent)}.s-thread-day-label{flex-shrink:0;font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-md);text-transform:uppercase;color:var(--muted)}.s-thread-msg{max-width:min(100%,760px)}.s-thread-msg-card{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-2xl);border:1px solid color-mix(in srgb,var(--border) 80%,var(--surface));background:var(--surface)}.s-thread-msg-card-content{min-width:0;display:flex;flex-direction:column;gap:var(--space-sm)}.s-thread-msg-card--avatar-row{flex-direction:row;gap:var(--space-lg);align-items:flex-start}.s-thread-msg-card--avatar-row .s-thread-msg-card-content{flex:1}.s-thread-msg-avatar{--size: 24px;display:inline-flex;width:var(--size);height:var(--size);flex-shrink:0;margin-top:0}.s-thread-msg-avatar--working{--size: 28px}.s-thread-msg-avatar--nav{--size: 24px;display:inline-flex;width:var(--size);height:var(--size);align-items:center;justify-content:center;flex-shrink:0;border:none;background:transparent;padding:0;cursor:pointer;transition:transform .1s ease,box-shadow .15s ease}.s-thread-msg-avatar--nav:hover{transform:scale(1.05);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 28%,transparent)}.s-thread-msg-avatar--nav:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.s-thread-msg--you .s-thread-msg-card{border-color:color-mix(in srgb,var(--accent) 18%,var(--border));background:color-mix(in srgb,var(--accent) 7%,var(--surface))}.s-thread-msg-header{display:flex;align-items:flex-start;gap:var(--space-md)}.s-thread-msg-meta{display:flex;align-items:center;flex:1;flex-wrap:wrap;min-width:0;gap:var(--space-sm)}.s-thread-msg-actor{min-width:0;font-size:var(--text-md);font-weight:600;letter-spacing:0;color:var(--ink)}button.s-thread-msg-actor{background:transparent;border:none;padding:0;cursor:pointer;font-family:inherit;text-align:left;border-radius:var(--radius-sm);transition:color .1s ease,text-decoration-color .1s ease;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}button.s-thread-msg-actor:hover{color:var(--accent);text-decoration-color:color-mix(in srgb,var(--accent) 60%,transparent)}button.s-thread-msg-actor:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.s-thread-msg-handle{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:var(--text-xs);color:var(--dim);font-family:var(--font-mono)}.s-thread-msg-kind{display:inline-flex;align-items:center;min-height:20px;padding:0 var(--space-sm);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--border) 70%,var(--surface));background:var(--bg);font-size:var(--text-xs);font-weight:500;letter-spacing:var(--tracking-xs);color:var(--dim);font-family:var(--font-mono)}.s-thread-msg-kind--quiet{border-color:color-mix(in srgb,var(--amber) 35%,var(--border));background:color-mix(in srgb,var(--amber) 8%,var(--bg));color:var(--amber)}.s-thread-msg-kind--gone{border-color:color-mix(in srgb,var(--dim) 35%,var(--border));background:color-mix(in srgb,var(--dim) 8%,var(--bg));color:var(--muted)}.s-thread-msg-delivery{display:inline-flex;align-items:center;min-height:20px;padding:0 var(--space-sm);border:1px solid color-mix(in srgb,var(--border) 64%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg) 82%,transparent);color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:650}.s-thread-msg-delivery[data-state=unknown]{border-color:color-mix(in srgb,var(--amber) 36%,var(--border));background:color-mix(in srgb,var(--amber) 8%,var(--bg));color:var(--amber)}.s-thread-msg-time{flex-shrink:0;font-size:var(--text-xs);font-family:var(--font-sans);color:var(--dim);opacity:.85;transition:opacity .12s ease;margin-left:auto}.s-thread-msg-card:hover .s-thread-msg-time{opacity:1}.s-thread-msg-body{padding:0;border:none;background:none;font-size:var(--text-md);line-height:var(--leading-normal);color:var(--ink);letter-spacing:0;white-space:pre-wrap;word-break:break-word;cursor:text;user-select:text;-webkit-user-select:text}.s-thread-msg-body .s-inline-code{border-color:color-mix(in srgb,var(--border) 62%,transparent);background:color-mix(in srgb,var(--ink) 5%,transparent);color:color-mix(in srgb,var(--ink) 82%,var(--muted))}.s-thread-reply-ctx{display:inline-flex;align-items:center;gap:6px;max-width:100%;margin:0 0 5px;padding:0;border:none;background:none;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--dim);cursor:pointer}.s-thread-reply-ctx svg{flex:none;color:var(--dim);transition:color .12s ease}.s-thread-reply-ctx-label{flex:none;text-transform:uppercase;letter-spacing:var(--tracking-xs);font-weight:700}.s-thread-reply-ctx-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);transition:color .12s ease}.s-thread-reply-ctx-from,.s-thread-reply-ctx-status{flex:none;color:var(--dim)}.s-thread-reply-ctx:hover .s-thread-reply-ctx-title{color:var(--accent);text-decoration:underline}.s-thread-reply-ctx:hover svg{color:var(--accent)}.s-thread-reply-ctx:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px;border-radius:var(--radius-sm)}.s-thread-fanout{align-self:stretch}.s-thread-fanout-anchor{display:block;height:0;scroll-margin-block:var(--space-2xl)}.s-thread-fanout-summary{display:inline-flex;align-items:baseline;gap:var(--space-sm);padding:var(--space-2xs) var(--space-sm);margin-left:calc(var(--space-sm) * -1);border:none;border-radius:var(--radius-sm);background:none;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-xs);cursor:pointer;transition:color .12s ease,background .12s ease}.s-thread-fanout-summary:hover{background:color-mix(in srgb,var(--ink) 4%,transparent);color:var(--muted)}.s-thread-fanout-summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.s-thread-fanout-caret{flex:none;width:8px}.s-thread-fanout-label{font-weight:650;text-transform:uppercase}.s-thread-fanout-time{color:color-mix(in srgb,var(--dim) 78%,transparent)}.s-thread-fanout-detail{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-sm) 0 var(--space-md) var(--space-lg);border-left:1px solid color-mix(in srgb,var(--border) 55%,transparent)}.s-thread-fanout-recipients{display:flex;flex-wrap:wrap;gap:var(--space-2xs) var(--space-sm);margin:0;padding:0;list-style:none}.s-thread-fanout-recipient{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--muted)}.s-thread-fanout-body{max-width:68ch;font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--muted);white-space:pre-wrap;word-break:break-word}.s-thread-msg--flash .s-thread-msg-card,.s-thread-fanout--flash .s-thread-fanout-summary{animation:s-thread-msg-flash 1.2s ease}@keyframes s-thread-msg-flash{0%,35%{background:color-mix(in srgb,var(--accent) 12%,transparent)}to{background:transparent}}.s-thread-msg--tool .s-thread-msg-card{border-style:dashed;border-color:color-mix(in srgb,var(--border) 60%,transparent);background:var(--bg)}.s-thread-msg--tool .s-thread-msg-body:before{content:"›_";font-family:var(--font-mono);color:var(--dim);margin-right:var(--space-xs)}.s-thread-msg[data-class=status] .s-thread-msg-card,.s-thread-msg[data-class="scout.dispatch"] .s-thread-msg-card{border-color:color-mix(in srgb,var(--accent) 12%,var(--border))}.s-thread-feed-block:has(>.s-thread-msg[data-class=system]),.s-thread-feed-block:has(>.s-thread-msg[data-class=status]){max-width:min(72%,560px);align-self:center}.s-thread-msg[data-class=system] .s-thread-msg-card,.s-thread-msg[data-class=status] .s-thread-msg-card{gap:var(--space-3xs);padding:var(--space-xs) var(--space-lg);border-radius:var(--radius-lg);border-color:color-mix(in srgb,var(--border) 60%,transparent);background:color-mix(in srgb,var(--bg) 80%,transparent)}.s-thread-msg[data-class=system] .s-thread-msg-avatar,.s-thread-msg[data-class=status] .s-thread-msg-avatar{--size: 18px;margin-top:1px;opacity:.55}.s-thread-presence-line-avatar{display:inline-flex;width:20px;height:20px}.s-thread-msg[data-class=system] .s-thread-msg-actor,.s-thread-msg[data-class=status] .s-thread-msg-actor{font-size:var(--text-sm);font-weight:500;color:var(--dim);text-transform:uppercase;letter-spacing:var(--tracking-md)}.s-thread-msg[data-class=system] .s-thread-msg-handle,.s-thread-msg[data-class=status] .s-thread-msg-handle{display:none}.s-thread-msg[data-class=system] .s-thread-msg-kind,.s-thread-msg[data-class=status] .s-thread-msg-kind{min-height:16px;padding:0 var(--space-xs);font-size:var(--text-2xs);letter-spacing:var(--tracking-md);text-transform:uppercase;border-color:color-mix(in srgb,var(--border) 50%,transparent);color:var(--dim)}.s-thread-msg[data-class=system] .s-thread-msg-time,.s-thread-msg[data-class=status] .s-thread-msg-time{font-size:var(--text-2xs)}.s-thread-msg[data-class=system] .s-thread-msg-body,.s-thread-msg[data-class=status] .s-thread-msg-body{font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--muted)}.s-thread-msg-working-card{border-color:color-mix(in srgb,var(--green) 12%,var(--border));background:color-mix(in srgb,var(--green) 2%,var(--surface))}.s-thread-msg-working-card--quiet{border-color:color-mix(in srgb,var(--amber) 26%,var(--border));background:color-mix(in srgb,var(--amber) 4%,var(--surface))}.s-thread-msg-working-body{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-sm);padding:0;border:none;background:none}.s-thread-msg-working-copy{display:-webkit-box;color:var(--ink);font-size:var(--text-md);line-height:var(--leading-snug);overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.s-thread-turn-snapshot{display:flex;align-items:flex-start;gap:var(--space-sm);min-width:0}.s-thread-turn-snapshot--quiet .s-thread-msg-working-copy{color:color-mix(in srgb,var(--amber) 78%,var(--ink))}.s-thread-turn-snapshot-pulse{position:relative;width:9px;height:9px;flex:0 0 auto;margin-top:16px;border-radius:var(--radius-pill);background:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 12%,transparent)}.s-thread-turn-snapshot-pulse:after{content:"";position:absolute;inset:-5px;border-radius:inherit;border:1px solid color-mix(in srgb,var(--green) 38%,transparent);animation:s-thread-turn-pulse 1.8s ease-out infinite}.s-thread-turn-snapshot-pulse--quiet{background:var(--amber);box-shadow:0 0 0 3px color-mix(in srgb,var(--amber) 12%,transparent)}.s-thread-turn-snapshot-main{display:flex;min-width:0;flex:1;flex-direction:column;gap:var(--space-3xs)}.s-thread-turn-snapshot-label{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-md);text-transform:uppercase}.s-thread-turn-snapshot-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:var(--space-3xs) 0 0;padding:var(--space-sm) 0 0;border-top:1px solid color-mix(in srgb,var(--green) 12%,transparent)}.s-thread-msg-working-card--quiet .s-thread-turn-snapshot-stats{border-top-color:color-mix(in srgb,var(--amber) 18%,transparent)}.s-thread-turn-snapshot-stat{min-width:0;padding-right:var(--space-md)}.s-thread-turn-snapshot-stat+.s-thread-turn-snapshot-stat{padding-left:var(--space-md);border-left:1px solid color-mix(in srgb,var(--border) 54%,transparent)}.s-thread-turn-snapshot-stat dt{margin:0 0 var(--space-3xs);color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-md);text-transform:uppercase}.s-thread-turn-snapshot-stat dd{margin:0;color:var(--muted);font-size:var(--text-sm);font-weight:600;line-height:var(--leading-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-thread-working-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);padding-top:var(--space-sm);border-top:1px solid color-mix(in srgb,var(--border) 46%,transparent)}.s-thread-working-actions--compact{padding-top:var(--space-xs)}.s-thread-working-action{min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:0 var(--space-md);border:1px solid color-mix(in srgb,var(--border) 78%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 84%,var(--bg));color:var(--muted);font:inherit;font-size:var(--text-xs);font-weight:650;cursor:pointer;transition:border-color .14s ease-out,background .14s ease-out,color .14s ease-out}.s-thread-working-action--primary{border-color:color-mix(in srgb,var(--accent) 30%,var(--border));background:color-mix(in srgb,var(--accent) 9%,var(--surface));color:color-mix(in srgb,var(--accent) 72%,var(--ink))}.s-thread-working-action:hover{border-color:color-mix(in srgb,var(--accent) 38%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--ink)}.s-thread-working-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.s-thread-typing-indicator{display:inline-flex;gap:var(--space-3xs);align-items:center}.s-thread-typing-dot{width:4px;height:4px;border-radius:50%;background:var(--green);animation:s-thread-typing-bounce var(--motion-duration-typing) ease-in-out infinite}.s-thread-typing-dot:nth-child(2){animation-delay:.15s}.s-thread-typing-dot:nth-child(3){animation-delay:.3s}.s-thread-no-recent-update-indicator{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:var(--amber);box-shadow:0 0 0 3px color-mix(in srgb,var(--amber) 12%,transparent);opacity:.85}.s-thread-no-recent-update-indicator--gone{background:var(--muted);box-shadow:0 0 0 3px color-mix(in srgb,var(--muted) 12%,transparent)}@keyframes s-thread-typing-bounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@keyframes s-thread-turn-pulse{0%{opacity:.5;transform:scale(.72)}to{opacity:0;transform:scale(1.35)}}.s-thread-presence-line{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-3xl);border-top:1px solid color-mix(in srgb,var(--border) 40%,transparent);flex-shrink:0}.s-thread-presence-line-avatars{display:flex;align-items:center}.s-thread-presence-line-avatars .s-ops-avatar{--size: 20px;margin-left:-4px;border:2px solid var(--bg)}.s-thread-presence-line-avatars .s-ops-avatar:first-child{margin-left:0}.s-thread-presence-line-label{min-width:0;flex:0 1 auto;font-size:var(--text-sm);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-thread-presence-line--quiet .s-thread-presence-line-label{color:color-mix(in srgb,var(--amber) 72%,var(--muted))}.s-thread-presence-strip{--presence-trail-start: 46%;--presence-trail-duration: 2.4s;flex:1;height:2px;border-radius:1px;background:linear-gradient(90deg,transparent 0%,transparent var(--presence-trail-start),color-mix(in srgb,var(--green) 12%,transparent) calc(var(--presence-trail-start) + 4%),color-mix(in srgb,var(--green) 44%,transparent) 53%,var(--green) 58%,color-mix(in srgb,var(--green) 72%,var(--ink)) 59%,transparent 61%,transparent 100%);background-size:200% 100%;animation:s-thread-thinking-strip var(--presence-trail-duration) ease-in-out infinite}.s-thread-presence-strip--sustained{--presence-trail-start: 32%;--presence-trail-duration: 3.2s}.s-thread-presence-strip--long{--presence-trail-start: 14%;--presence-trail-duration: 4.2s}.s-thread-presence-strip--quiet{background:color-mix(in srgb,var(--amber) 70%,transparent);background-size:auto;animation:none;opacity:.75}@media(prefers-reduced-motion:reduce){.s-thread-presence-strip{background:color-mix(in srgb,var(--green) 58%,transparent);background-size:auto;animation:none;opacity:.8}.s-thread-presence-strip--quiet{background:color-mix(in srgb,var(--amber) 70%,transparent)}}.s-thread-dispatch{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-sm);margin-top:var(--space-3xs)}.s-thread-dispatch-tile{display:flex;flex-direction:column;gap:var(--space-2xs);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-xl);border:1px solid color-mix(in srgb,var(--border) 92%,var(--surface));background:var(--bg);cursor:pointer;transition:border-color .12s ease,background .12s ease}.s-thread-dispatch-tile:hover{border-color:color-mix(in srgb,var(--accent) 18%,var(--border));background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.s-thread-dispatch-tile-id{font-size:var(--text-md);font-weight:600;color:var(--ink);font-family:var(--font-mono)}.s-thread-dispatch-tile-state{font-size:var(--text-xs);color:var(--muted)}.s-thread-dispatch-tile-meta{font-size:var(--text-xs);color:var(--dim)}.s-thread-compose{box-sizing:border-box;width:100%;min-width:0;padding:var(--space-md) var(--space-3xl) var(--space-2xl);border-top:1px solid color-mix(in srgb,var(--border) 40%,transparent);background:transparent;flex-shrink:0;margin-top:auto}.s-thread-compose-shell{position:relative;box-sizing:border-box;width:100%;max-width:100%;min-width:0;border:1px solid color-mix(in srgb,var(--border) 60%,var(--surface));border-radius:var(--radius-xl);background:var(--surface);transition:border-color .15s ease}.s-thread-compose-shell:focus-within{border-color:color-mix(in srgb,var(--border) 100%,transparent)}.s-thread-compose-row{display:flex;align-items:flex-end;gap:var(--space-sm);min-width:0;padding:var(--space-xs) var(--space-sm) var(--space-xs) var(--space-xs)}.s-thread-compose-voice-status{display:flex;align-items:center;gap:var(--space-xs);padding:0 var(--space-md) var(--space-sm);font-size:var(--text-xs);color:var(--dim);line-height:var(--leading-snug)}.s-thread-compose-voice-status--recording{color:var(--green)}.s-thread-compose-voice-status--processing{color:var(--muted)}.s-thread-compose-voice-status--error{color:var(--red)}.s-thread-compose-mode-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-md) var(--space-lg) 0}.s-thread-compose-mode{flex-shrink:0;display:flex;gap:0;padding:var(--space-3xs);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg) 82%,var(--surface))}.s-thread-compose-mode-btn{padding:var(--space-2xs) var(--space-lg);font-size:var(--text-sm);font-weight:500;border:none;border-radius:var(--radius-md);background:transparent;color:var(--muted);cursor:pointer;transition:background .12s,color .12s}.s-thread-compose-mode-btn[aria-pressed=true]{background:var(--surface);color:var(--ink);font-weight:600}.s-thread-compose-mode-detail{font-size:var(--text-xs);color:var(--dim);line-height:var(--leading-snug)}.s-thread-compose-input{display:block;flex:1;min-width:0;min-height:34px;max-height:160px;border:none;border-radius:0;background:transparent;padding:var(--space-sm) var(--space-2xs) var(--space-sm) var(--space-md);font-size:var(--text-lg);font-family:var(--font-sans);line-height:var(--leading-normal);color:var(--ink);resize:none;outline:none;cursor:text;user-select:text;-webkit-user-select:text}.s-thread-compose-input::placeholder{color:var(--dim)}.s-thread-compose-input:focus{box-shadow:none}.s-thread-compose-send{width:34px;height:34px;border-radius:50%;border:none;background:var(--ink);color:var(--bg);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;align-self:flex-end;transition:opacity .12s ease,transform .12s ease}.s-thread-compose-send:not(:disabled):hover{transform:scale(1.05)}.s-thread-compose-send:disabled{opacity:.25;cursor:default}.s-thread-compose-send--stop{background:var(--red)}.s-thread-compose-suggest{position:absolute;left:0;right:0;bottom:calc(100% + 6px);max-height:260px;overflow-y:auto;padding:var(--space-2xs);background:var(--surface);border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:var(--radius-xl);box-shadow:0 12px 32px color-mix(in srgb,var(--ink) 22%,transparent);z-index:20}.s-thread-compose-suggest-label{padding:var(--space-xs) var(--space-md) var(--space-2xs);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-lg);text-transform:uppercase;color:var(--dim)}.s-thread-compose-suggest-item{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-xs) var(--space-md);border:none;border-radius:var(--radius-lg);background:transparent;color:var(--ink);text-align:left;cursor:pointer;font-family:inherit}.s-thread-compose-suggest-item:hover,.s-thread-compose-suggest-item--active{background:color-mix(in srgb,var(--accent) 10%,transparent)}.s-thread-compose-suggest-cmd{font-family:var(--font-mono);font-size:var(--text-md);color:var(--ink)}.s-thread-compose-suggest-desc{flex:1;min-width:0;font-size:var(--text-sm);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-thread-compose-suggest-avatar{flex-shrink:0}.s-thread-sidebar{width:320px;flex-shrink:0;display:flex;flex-direction:column;gap:0;border-left:1px solid var(--border);background:var(--surface);overflow-y:auto}.s-thread-sidebar-section{padding:var(--space-2xl);border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.s-thread-sidebar-section:last-child{border-bottom:none}.s-thread-sidebar-label{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-lg);text-transform:uppercase;color:var(--dim);margin-bottom:var(--space-lg)}.s-thread-sidebar-participant{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-xs) 0;width:100%;border:0;background:transparent;color:inherit;font:inherit;text-align:left;border-radius:var(--radius-lg)}button.s-thread-sidebar-participant{cursor:pointer}button.s-thread-sidebar-participant:hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}button.s-thread-sidebar-participant:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 72%,transparent);outline-offset:2px}.s-thread-sidebar-participant-info{flex:1;min-width:0}.s-thread-sidebar-participant-name{display:block;font-size:var(--text-md);font-weight:600;color:var(--ink)}.s-thread-sidebar-participant-handle{display:block;font-size:var(--text-xs);color:var(--dim);font-family:var(--font-mono);margin-top:1px}.s-thread-sidebar-participant-detail{font-size:var(--text-xs);color:var(--dim)}.s-thread-sidebar-participant-activity{display:flex;align-items:center;gap:var(--space-2xs);flex-shrink:0}.s-thread-sidebar-activity-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.s-thread-sidebar-activity-dot--pulse{animation:s-thread-sidebar-pulse 1.5s ease-in-out infinite}@keyframes s-thread-sidebar-pulse{0%,to{opacity:1}50%{opacity:.3}}.s-thread-sidebar-activity-label{font-size:var(--text-xs);color:var(--muted);font-family:var(--font-mono);letter-spacing:var(--tracking-xs)}.s-thread-mini-mesh{display:flex;align-items:center;justify-content:center;padding:var(--space-sm) 0}.s-thread-mini-mesh svg{width:100%;max-width:260px;height:auto}.s-thread-mini-mesh-edge{stroke:color-mix(in srgb,var(--border) 80%,transparent);stroke-width:1;fill:none}.s-thread-mini-mesh-node{fill:var(--surface);stroke:var(--border);stroke-width:1}.s-thread-mini-mesh-node--center{fill:color-mix(in srgb,var(--accent) 10%,var(--surface));stroke:var(--accent)}.s-thread-mini-mesh-label{font-family:var(--font-mono);font-size:var(--text-3xs);letter-spacing:var(--tracking-md);text-transform:uppercase;fill:var(--dim);text-anchor:middle;dominant-baseline:central}.s-thread-mini-mesh-label--center{fill:var(--accent);font-weight:600}.s-thread-empty{align-self:center;width:min(100%,540px);padding:var(--space-6xl) var(--space-4xl);border:1px dashed color-mix(in srgb,var(--border) 84%,var(--surface));border-radius:var(--radius-2xl);background:var(--surface);text-align:center}.s-thread-empty p:first-child{font-size:var(--text-xl);font-weight:600;color:var(--muted)}.s-thread-empty p:last-child{font-size:var(--text-md);color:var(--dim);margin-top:var(--space-2xs)}.s-thread-empty-glyph{font-size:var(--text-6xl);font-weight:100;color:color-mix(in srgb,var(--border) 90%,var(--muted));line-height:var(--leading-none);margin-bottom:var(--space-lg);-webkit-user-select:none;user-select:none}.s-thread-empty-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-xs);margin-top:var(--space-lg)}.s-thread-empty-chip{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--dim);background:color-mix(in srgb,var(--border) 30%,transparent);border:1px solid color-mix(in srgb,var(--border) 50%,transparent);border-radius:var(--radius-sm);padding:var(--space-3xs) var(--space-sm);letter-spacing:var(--tracking-sm)}.s-thread-motion-panel{align-self:center;width:min(100%,640px);position:relative;display:grid;gap:var(--space-lg);padding:var(--space-3xl);overflow:hidden;border:1px solid color-mix(in srgb,var(--green) 24%,var(--border));border-radius:var(--radius-lg);background:linear-gradient(180deg,color-mix(in srgb,var(--green) 8%,transparent),transparent 58%),color-mix(in srgb,var(--surface) 92%,var(--bg));box-shadow:inset 0 1px color-mix(in srgb,white 5%,transparent),0 16px 44px color-mix(in srgb,black 18%,transparent)}.s-thread-motion-panel:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--green) 80%,white),transparent);background-size:180% 100%;animation:s-thread-motion-scan 1.7s ease-in-out infinite}.s-thread-motion-panel--pending{border-color:color-mix(in srgb,var(--accent) 26%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent 58%),color-mix(in srgb,var(--surface) 92%,var(--bg))}.s-thread-motion-panel--pending:before{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 82%,white),transparent)}.s-thread-motion-panel--quiet{border-color:color-mix(in srgb,var(--amber) 34%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--amber) 8%,transparent),transparent 58%),color-mix(in srgb,var(--surface) 92%,var(--bg))}.s-thread-motion-panel--quiet:before{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--amber) 82%,white),transparent)}.s-thread-motion-head{min-width:0;display:grid;grid-template-columns:32px minmax(0,1fr);gap:var(--space-md);align-items:start}.s-thread-motion-beacon{position:relative;width:28px;height:28px;display:grid;place-items:center;color:var(--green)}.s-thread-motion-panel--pending .s-thread-motion-beacon{color:var(--accent)}.s-thread-motion-panel--quiet .s-thread-motion-beacon{color:var(--amber)}.s-thread-motion-beacon span{width:9px;height:9px;border-radius:var(--radius-pill);background:currentColor;box-shadow:0 0 0 5px color-mix(in srgb,currentColor 12%,transparent)}.s-thread-motion-beacon:after{content:"";position:absolute;inset:4px;border:1px solid currentColor;border-radius:var(--radius-pill);opacity:.45;animation:s-thread-motion-ping 1.8s ease-out infinite}.s-thread-motion-title-block{min-width:0}.s-thread-motion-kicker{margin-bottom:var(--space-2xs);color:var(--green);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-xl);text-transform:uppercase}.s-thread-motion-panel--pending .s-thread-motion-kicker{color:var(--accent)}.s-thread-motion-panel--quiet .s-thread-motion-kicker{color:var(--amber)}.s-thread-motion-title-block h2{margin:0;color:var(--ink);font-size:var(--text-3xl);font-weight:700;letter-spacing:0;line-height:var(--leading-tight)}.s-thread-motion-title-block p{display:-webkit-box;margin:var(--space-2xs) 0 0;overflow:hidden;color:var(--muted);font-size:var(--text-md);line-height:var(--leading-snug);-webkit-box-orient:vertical;-webkit-line-clamp:2}.s-thread-motion-meter{height:52px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:var(--space-2xs);padding:var(--space-sm);border:1px solid color-mix(in srgb,var(--border) 44%,transparent);border-radius:var(--radius-md);background:linear-gradient(180deg,color-mix(in srgb,var(--ink) 4%,transparent),transparent),color-mix(in srgb,var(--bg) 64%,transparent)}.s-thread-motion-meter span{height:var(--bar-height);min-height:8px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--green) 76%,var(--ink));opacity:.54;animation:s-thread-motion-bar 1.18s ease-in-out infinite;animation-delay:var(--bar-delay)}.s-thread-motion-panel--pending .s-thread-motion-meter span{background:color-mix(in srgb,var(--accent) 82%,var(--ink))}.s-thread-motion-panel--quiet .s-thread-motion-meter span{background:color-mix(in srgb,var(--amber) 82%,var(--ink))}.s-thread-motion-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:var(--space-sm) 0 0;border-top:1px solid color-mix(in srgb,var(--border) 42%,transparent)}.s-thread-motion-stats div{min-width:0;padding-right:var(--space-md)}.s-thread-motion-stats div+div{padding-left:var(--space-md);border-left:1px solid color-mix(in srgb,var(--border) 46%,transparent)}.s-thread-motion-stats dt,.s-thread-motion-latest span,.s-thread-motion-event-kind,.s-thread-motion-waiting span{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-md);text-transform:uppercase}.s-thread-motion-stats dd{margin:var(--space-2xs) 0 0;overflow:hidden;color:var(--ink);font-size:var(--text-sm);font-weight:650;line-height:var(--leading-tight);text-overflow:ellipsis;white-space:nowrap}.s-thread-motion-latest{min-width:0;display:grid;gap:var(--space-2xs);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:color-mix(in srgb,var(--ink) 4%,transparent)}.s-thread-motion-latest strong{display:-webkit-box;min-width:0;overflow:hidden;color:var(--ink);font-size:var(--text-md);font-weight:550;line-height:var(--leading-snug);-webkit-box-orient:vertical;-webkit-line-clamp:2}.s-thread-motion-events{display:grid;gap:var(--space-2xs);margin:0;padding:0;list-style:none}.s-thread-motion-events li{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:baseline;gap:var(--space-xs);min-height:24px;padding:var(--space-2xs) 0;border-bottom:1px solid color-mix(in srgb,var(--border) 34%,transparent);animation:s-thread-motion-event-enter .56s cubic-bezier(.16,1,.3,1) both}.s-thread-motion-event-summary{min-width:0;overflow:hidden;color:var(--muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.s-thread-motion-events time{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);white-space:nowrap}.s-thread-motion-events--compact{gap:0;padding-top:var(--space-xs);border-top:1px solid color-mix(in srgb,var(--border) 40%,transparent)}.s-thread-motion-events--compact li{grid-template-columns:52px minmax(0,1fr) auto;min-height:22px;padding:var(--space-3xs) 0}.s-thread-motion-waiting{min-width:0;display:grid;gap:var(--space-2xs);padding:var(--space-sm) var(--space-md);border:1px dashed color-mix(in srgb,var(--border) 58%,transparent);border-radius:var(--radius-md);color:var(--muted)}.s-thread-motion-waiting strong{color:var(--muted);font-size:var(--text-sm);font-weight:550}.s-thread-steps{min-width:0;display:grid;gap:var(--space-3xs)}.s-thread-steps ol{display:grid;gap:0;margin:0;padding:0;list-style:none}.s-thread-steps li{display:grid;grid-template-columns:auto 54px minmax(0,1fr) auto;align-items:baseline;gap:var(--space-xs);min-height:22px;padding:var(--space-3xs) 0;border-bottom:1px solid color-mix(in srgb,var(--border) 30%,transparent);animation:s-thread-motion-event-enter .42s cubic-bezier(.16,1,.3,1) both}.s-thread-steps li:last-child{border-bottom:none}.s-thread-step-mark{width:6px;height:6px;align-self:center;border:1px solid currentColor;border-radius:1px;color:var(--dim)}.s-thread-steps li[data-kind=tool] .s-thread-step-mark{background:currentColor}.s-thread-steps li[data-kind=think] .s-thread-step-mark{border-radius:50%}.s-thread-steps li[data-kind=message] .s-thread-step-mark,.s-thread-steps li[data-kind=ask] .s-thread-step-mark{background:currentColor;border-radius:50%}.s-thread-steps li:last-child .s-thread-step-mark{color:var(--accent)}.s-thread-step-kind{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-sm);text-transform:uppercase}.s-thread-step-body{min-width:0;display:flex;align-items:baseline;gap:var(--space-2xs);overflow:hidden;white-space:nowrap}.s-thread-step-text,.s-thread-step-arg{min-width:0;overflow:hidden;color:var(--muted);font-size:var(--text-sm);text-overflow:ellipsis}.s-thread-steps li[data-kind=think] .s-thread-step-text{color:var(--dim);font-style:italic}.s-thread-step-tool{flex:none;color:var(--fg);font-family:var(--font-mono);font-size:var(--text-xs)}.s-thread-step-arg{font-family:var(--font-mono);font-size:var(--text-xs)}.s-thread-step-repeat,.s-thread-step-outcome{flex:none;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs)}.s-thread-steps time{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);white-space:nowrap}.s-thread-steps-elided{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-sm)}.s-thread-steps--compact{padding-top:var(--space-xs);border-top:1px solid color-mix(in srgb,var(--border) 40%,transparent)}.s-thread-steps-phase{min-width:0;display:flex;align-items:baseline;gap:var(--space-xs);padding-top:var(--space-xs);border-top:1px solid color-mix(in srgb,var(--border) 40%,transparent)}.s-thread-steps-phase span{flex:none;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-sm);text-transform:uppercase}.s-thread-steps-phase strong{min-width:0;overflow:hidden;color:var(--muted);font-size:var(--text-sm);font-weight:450;text-overflow:ellipsis;white-space:nowrap}.s-thread-motion-panel .s-thread-steps--compact,.s-thread-motion-panel .s-thread-steps-phase{padding-top:0;border-top:none}@media(prefers-reduced-motion:reduce){.s-thread-steps li{animation:none}}.s-thread-motion-chips{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.s-thread-motion-chips span{min-width:0;max-width:220px;overflow:hidden;padding:var(--space-3xs) var(--space-sm);border:1px solid color-mix(in srgb,var(--border) 52%,transparent);border-radius:var(--radius-sm);color:var(--dim);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-sm);text-overflow:ellipsis;white-space:nowrap}@keyframes s-thread-motion-scan{0%{background-position:180% 0}to{background-position:-180% 0}}@keyframes s-thread-motion-ping{0%{opacity:.5;transform:scale(.72)}to{opacity:0;transform:scale(1.45)}}@keyframes s-thread-motion-bar{0%,to{opacity:.42;transform:scaleY(.72)}48%{opacity:1;transform:scaleY(1)}}@keyframes s-thread-motion-event-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.s-thread-motion-panel:before,.s-thread-motion-beacon:after,.s-thread-motion-meter span,.s-thread-motion-events li{animation:none}}.s-thread-error{margin:var(--space-xl) var(--space-3xl) 0;padding:var(--space-md) var(--space-xl);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--red) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--red) 20%,var(--border));font-size:var(--text-md);color:var(--red)}.s-thread-status{display:flex;align-items:center;gap:var(--space-sm);margin:var(--space-xs) var(--space-3xl) 0;padding:var(--space-xs) var(--space-lg);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg) 80%,transparent)}.s-thread-status--pending{border-color:color-mix(in srgb,var(--accent) 18%,var(--border))}.s-thread-status--working{border-color:color-mix(in srgb,var(--green) 20%,var(--border))}.s-thread-status-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;animation:s-thread-sidebar-pulse 1.5s ease-in-out infinite}.s-thread-status-copy{flex:1;min-width:0;display:flex;align-items:baseline;gap:var(--space-sm);flex-wrap:wrap}.s-thread-status-label{font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-md);text-transform:uppercase;color:var(--dim);font-family:var(--font-mono)}.s-thread-status-detail{font-size:var(--text-sm);color:var(--muted)}.s-thread-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:16px;padding:0 var(--space-2xs);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--border) 80%,transparent);background:color-mix(in srgb,var(--ink) 4%,transparent);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:500;color:var(--dim);line-height:var(--leading-none)}@media(max-width:1200px){.s-thread-sidebar{display:none}}@media(max-width:900px){.s-thread-rail{display:none}}@media(max-width:720px){.s-thread-center-header{padding:var(--space-lg) var(--space-2xl)}.s-thread-feed,.s-thread-compose{padding-inline:var(--space-2xl)}.s-thread-pinned-ask,.s-thread-status{margin-inline:var(--space-2xl)}}.s-thread-embed{display:flex;width:100vw;height:100vh;min-height:0;overflow:hidden}.s-thread-layout--embedded{border-top:none}.s-thread-layout--embedded .s-thread-center{padding:0}.s-thread-layout--embedded .s-thread-compose{padding:var(--space-sm) var(--space-2xl) var(--space-lg)}.s-thread-layout--embedded .s-thread-compose-shell{border-radius:var(--radius-xl)}.s-thread-layout--embedded .s-thread-compose-row{padding:var(--space-2xs) var(--space-xs) var(--space-2xs) var(--space-2xs);gap:var(--space-xs)}.s-thread-layout--embedded .s-thread-compose-input{min-height:28px;padding:var(--space-xs) var(--space-2xs) var(--space-xs) var(--space-sm);font-size:var(--text-md)}.s-thread-layout--embedded .s-thread-compose-send{width:28px;height:28px}.s-conv-board{flex:1;min-height:0;overflow-y:auto;padding:var(--space-3xl) clamp(var(--space-3xl),3vw,var(--space-6xl)) var(--space-6xl);background:var(--bg);font-family:var(--font-mono)}.s-conv-board-shortcuts{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-3xl);padding:var(--space-2xs) 0 var(--space-sm)}.s-conv-board-shortcut{padding:0;border:0;background:none;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-sm);cursor:pointer}.s-conv-board-shortcut:hover,.s-conv-board-shortcut:focus-visible{color:var(--accent);outline:none}.s-conv-board-section{min-width:0;width:min(100%,920px)}.s-conv-board-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);padding:var(--space-4xl) 0 var(--space-sm);border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-xl);text-transform:uppercase;color:var(--dim)}.s-conv-board-count{color:color-mix(in srgb,var(--dim) 86%,transparent);font-variant-numeric:tabular-nums}.s-conv-board-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2xl);width:100%;padding:var(--space-md) 0;border:0;border-bottom:1px solid color-mix(in srgb,var(--border) 42%,transparent);background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.s-conv-board-row:hover .s-conv-board-row-title,.s-conv-board-row:focus-visible .s-conv-board-row-title{color:var(--accent)}.s-conv-board-row:focus-visible{outline:none}.s-conv-board-row:hover .s-conv-board-arrow,.s-conv-board-row:focus-visible .s-conv-board-arrow{color:var(--accent)}.s-conv-board-row-main{min-width:0;display:flex;align-items:baseline;gap:var(--space-md);overflow:hidden}.s-conv-board-row-title{flex:none;max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:var(--text-md);font-weight:550;transition:color .12s ease}.s-conv-board-preview{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dim);font-size:var(--text-xs);font-weight:400}.s-conv-board-meta{flex:none;display:flex;align-items:baseline;gap:var(--space-md);font-family:var(--font-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;color:var(--dim)}.s-conv-board-new{font-style:normal;font-weight:650;color:var(--accent)}.s-conv-board-arrow{color:var(--dim);transition:color .12s ease}.s-conv-board-note{margin:var(--space-4xl) 0 0;max-width:920px;font-family:var(--font-mono);font-size:var(--text-xs);font-style:italic;color:var(--dim)}.s-conv-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-5xl);background:var(--bg)}.s-conv-empty-inner{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(100%,420px)}.s-conv-empty-mesh{width:72px;height:72px;margin-bottom:var(--space-4xl);color:var(--border)}.s-conv-empty-mesh-node{fill:currentColor}.s-conv-empty-mesh-node--accent{fill:var(--accent)}.s-conv-empty--offline .s-conv-empty-mesh-node--accent,.s-conv-empty--offline .s-conv-empty-ambient-dot{fill:var(--red);background:var(--red)}.s-conv-empty-mesh-link{stroke:currentColor;stroke-width:1;opacity:.7}.s-conv-empty-eyebrow{font-family:var(--font-mono);text-transform:uppercase;font-size:var(--text-2xs);letter-spacing:var(--tracking-xl);color:color-mix(in srgb,var(--accent) 70%,var(--muted));margin-bottom:var(--space-md)}.s-conv-empty-title{font-size:var(--text-2xl);font-weight:600;color:var(--muted);line-height:var(--leading-tight);margin:0}.s-conv-empty-detail{font-size:var(--text-md);line-height:var(--leading-normal);color:var(--dim);margin:var(--space-sm) 0 0}.s-conv-empty-hints{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2xl);margin-top:var(--space-5xl)}.s-conv-empty-action{min-height:30px;margin-top:var(--space-5xl);padding:0 var(--space-lg);border:1px solid color-mix(in srgb,var(--red) 34%,var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--red) 8%,transparent);color:color-mix(in srgb,var(--red) 86%,var(--ink));cursor:pointer;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-sm)}.s-conv-empty-action:hover{background:color-mix(in srgb,var(--red) 14%,transparent);color:var(--ink)}.s-conv-empty-new{align-self:center;margin-top:var(--space-3xl)}.s-conv-empty-hint{display:inline-flex;align-items:center;gap:var(--space-sm);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-sm);color:var(--dim)}.s-conv-empty-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 var(--space-2xs);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--border) 80%,transparent);background:color-mix(in srgb,var(--ink) 4%,transparent);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:500;color:var(--muted);line-height:var(--leading-none)}.s-conv-empty-ambient{display:inline-flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-5xl);font-family:var(--font-mono);text-transform:uppercase;font-size:var(--text-2xs);letter-spacing:var(--tracking-lg);color:var(--dim)}.s-conv-empty-ambient-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0}@keyframes s-thread-msg-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.s-thread-msg--enter{animation:s-thread-msg-enter .22s cubic-bezier(.2,.7,.3,1) backwards;will-change:opacity,transform}.s-thread-skeleton{display:flex;flex-direction:column;gap:var(--space-2xl);padding:var(--space-2xl) 0;max-width:min(100%,760px)}.s-thread-skeleton-intro{display:flex;align-items:center;gap:var(--space-md);min-height:32px}.s-thread-loader-mark{position:relative;width:28px;height:28px;flex:none}.s-thread-loader-orbit{position:absolute;inset:2px;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:50%}.s-thread-loader-orbit>span{position:absolute;top:-2px;left:50%;width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 58%,transparent);transform:translate(-50%)}.s-thread-loader-core{position:absolute;inset:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px color-mix(in srgb,var(--accent) 42%,transparent)}.s-thread-skeleton-copy{display:flex;min-width:0;flex-direction:column;gap:2px;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-md);text-transform:uppercase;color:var(--dim)}.s-thread-skeleton-copy strong{color:var(--muted);font-size:var(--text-xs);font-weight:600}.s-thread-skeleton-copy>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-thread-skeleton-turns{display:flex;flex-direction:column;gap:var(--space-3xl)}.s-thread-skeleton-turn{display:flex;gap:var(--space-lg);align-items:flex-start}.s-thread-skeleton-lines{display:flex;flex-direction:column;gap:var(--space-sm);flex:1;min-width:0}.s-thread-skeleton-avatar,.s-thread-skeleton-line{background:linear-gradient(90deg,color-mix(in srgb,var(--ink) 5%,transparent),color-mix(in srgb,var(--ink) 9%,transparent),color-mix(in srgb,var(--ink) 5%,transparent) 80%);background-size:280% 100%;border-radius:var(--radius-sm);animation:s-thread-skeleton-sweep 1.6s ease-in-out infinite}.s-thread-skeleton-avatar{width:24px;height:24px;flex:none;border-radius:var(--radius-md)}.s-thread-skeleton-line{height:9px}.s-thread-skeleton-line--head{width:30%}.s-thread-skeleton-line--short{width:62%}.s-thread-skeleton-turn:nth-child(3) .s-thread-skeleton-line{animation-delay:.12s}.s-thread-skeleton-turn:nth-child(4) .s-thread-skeleton-line{animation-delay:.24s}@keyframes s-thread-skeleton-sweep{0%{background-position:140% 0}to{background-position:-40% 0}}@media(prefers-reduced-motion:reduce){.s-thread-msg--enter,.s-thread-skeleton-avatar,.s-thread-skeleton-line,.s-thread-history-spinner{animation:none}}.s-thread-layout[data-thread-treatment] .s-thread-feed-block,.s-thread-layout[data-thread-treatment] .s-thread-feed-block--you,.s-thread-layout[data-thread-treatment] .s-thread-feed-block--full-width .s-thread-msg{max-width:100%;align-self:stretch;align-items:stretch}.s-thread-layout[data-thread-treatment] .s-thread-msg-card,.s-thread-layout[data-thread-treatment] .s-thread-msg--you .s-thread-msg-card,.s-thread-layout[data-thread-treatment] .s-thread-msg--tool .s-thread-msg-card,.s-thread-layout[data-thread-treatment] .s-thread-msg[data-class=status] .s-thread-msg-card{border:none;border-radius:0;background:none}.s-thread-layout[data-thread-treatment=familiar] .s-thread-feed{gap:var(--space-2xl);padding:var(--space-3xl) var(--space-2xl) var(--space-2xl);align-items:center}.s-thread-layout[data-thread-treatment=familiar] .s-thread-feed-block,.s-thread-layout[data-thread-treatment=familiar] .s-thread-feed-block--full-width{width:min(100%,720px);max-width:720px;margin-inline:auto;align-self:center}.s-thread-layout[data-thread-treatment=familiar] .s-thread-msg{width:100%;max-width:100%}.s-thread-layout[data-thread-treatment=familiar] .s-thread-msg-card{padding:var(--space-sm) 0}.s-thread-layout[data-thread-treatment=familiar] .s-thread-feed-block--you{align-items:flex-end}.s-thread-layout[data-thread-treatment=familiar] .s-thread-feed-block--you .s-thread-msg{width:auto;max-width:min(72%,520px);align-self:flex-end}.s-thread-layout[data-thread-treatment=familiar] .s-thread-msg--you .s-thread-msg-card{padding:var(--space-md) var(--space-xl);border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));border-radius:var(--radius-2xl);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.s-thread-layout[data-thread-treatment=familiar] .s-thread-msg--you .s-thread-msg-meta{justify-content:flex-end}.s-thread-layout[data-thread-treatment=familiar] .s-thread-msg--you .s-thread-msg-avatar,.s-thread-layout[data-thread-treatment=familiar] .s-thread-msg--you .s-thread-msg-avatar--nav,.s-thread-layout[data-thread-treatment=familiar] .s-thread-msg--you .s-thread-msg-actor,.s-thread-layout[data-thread-treatment=familiar] .s-thread-msg--you .s-thread-msg-handle,.s-thread-layout[data-thread-treatment=familiar] .s-thread-msg--you .s-thread-msg-kind{display:none}.s-thread-layout[data-thread-treatment=familiar] .s-thread-msg--tool .s-thread-msg-card,.s-thread-layout[data-thread-treatment=familiar] .s-thread-msg[data-class=system] .s-thread-msg-card,.s-thread-layout[data-thread-treatment=familiar] .s-thread-msg[data-class=status] .s-thread-msg-card{padding:var(--space-md) var(--space-xl);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--surface) 72%,var(--bg))}.s-thread-layout[data-thread-treatment=ledger] .s-thread-feed{gap:0;padding:var(--space-sm) 0 var(--space-xl)}.s-thread-layout[data-thread-treatment=ledger] .s-thread-msg-card{position:relative;padding:5px calc(var(--space-xl) + 40px) 5px var(--space-xl);border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent)}.s-thread-layout[data-thread-treatment=ledger] .s-thread-msg-card:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}.s-thread-layout[data-thread-treatment=ledger] .s-thread-msg-card-content{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:var(--space-sm);row-gap:var(--space-sm);align-items:baseline}.s-thread-layout[data-thread-treatment=ledger] .s-thread-msg-card-content>*:not(.s-thread-msg-header):not(.s-thread-msg-actions){grid-column:2;min-width:0}.s-thread-layout[data-thread-treatment=ledger] .s-message-embeds>*{max-width:min(460px,100%)}.s-thread-layout[data-thread-treatment=ledger] .s-thread-msg-actions{position:absolute;inset-block-start:5px;inset-inline-end:var(--space-xl);z-index:1;display:flex;align-items:center;gap:var(--space-sm);pointer-events:none}.s-thread-layout[data-thread-treatment=ledger] .s-thread-msg-card:hover .s-thread-msg-actions,.s-thread-layout[data-thread-treatment=ledger] .s-thread-msg-actions:focus-within{pointer-events:auto}.s-thread-layout[data-thread-treatment=ledger] .s-thread-msg-header{grid-column:1;grid-row:1;align-items:baseline;gap:var(--space-sm)}.s-thread-layout[data-thread-treatment=ledger] .s-thread-msg-meta{flex:none;flex-wrap:nowrap;align-items:baseline;gap:var(--space-sm)}.s-thread-layout[data-thread-treatment=ledger] .s-thread-msg-avatar,.s-thread-layout[data-thread-treatment=ledger] .s-thread-msg-avatar--nav,.s-thread-layout[data-thread-treatment=ledger] .s-thread-msg-handle{display:none}.s-thread-layout[data-thread-treatment=ledger] .s-thread-msg-time{order:-1;flex:none;width:4.5ch;font-size:var(--text-2xs);color:var(--dim)}.s-thread-layout[data-thread-treatment=ledger] .s-thread-msg-actor{width:17ch;flex:none;font-size:var(--text-xs);font-weight:500;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-thread-layout[data-thread-treatment=ledger] .s-thread-msg-body{grid-column:2;min-width:0;font-size:var(--text-sm);line-height:1.5}.s-thread-layout[data-thread-treatment=rail] .s-thread-feed{--thread-rail-gutter: clamp(196px, 14vw, 240px);--thread-rail-measure: clamp(760px, 60vw, 1040px);--thread-rail-column: calc( var(--thread-rail-gutter) + var(--space-lg) + var(--thread-rail-measure) );gap:0;padding:var(--space-xl) var(--space-2xl) var(--space-xl)}.s-thread-layout[data-thread-treatment=rail] .s-thread-feed-block{width:min(100%,var(--thread-rail-column));margin-inline:0}.s-thread-layout[data-thread-treatment=rail] .s-thread-msg{max-width:100%}.s-thread-layout[data-thread-treatment=rail] .s-thread-feed-block+.s-thread-feed-block{border-top:1px solid color-mix(in srgb,var(--border) 45%,transparent)}.s-thread-layout[data-thread-treatment=rail] .s-thread-msg-card{position:relative;padding:var(--space-md) 0 var(--space-md) calc(var(--thread-rail-gutter) + var(--space-lg))}.s-thread-layout[data-thread-treatment=rail] .s-thread-msg-card:before{content:"";position:absolute;left:var(--thread-rail-gutter);top:0;bottom:0;width:1px;background:color-mix(in srgb,var(--border) 70%,transparent)}.s-thread-layout[data-thread-treatment=rail] .s-thread-msg-card-content{display:flow-root}.s-thread-layout[data-thread-treatment=rail] .s-thread-msg-card-content>*+*{margin-top:var(--space-sm)}.s-thread-layout[data-thread-treatment=rail] .s-thread-msg-header{float:left;display:flex;width:var(--thread-rail-gutter);margin-top:0;margin-left:calc(-1 * (var(--thread-rail-gutter) + var(--space-lg)));padding-right:var(--space-lg);flex-direction:row;flex-wrap:wrap;align-items:baseline;text-align:left;gap:var(--space-2xs) var(--space-sm);min-width:0}.s-thread-layout[data-thread-treatment=rail] .s-thread-msg-meta{flex:1 1 auto;flex-direction:row;align-items:baseline;gap:var(--space-2xs) var(--space-sm);width:auto}.s-thread-layout[data-thread-treatment=rail] .s-thread-msg-handle,.s-thread-layout[data-thread-treatment=rail] .s-thread-msg-time{font-size:var(--text-2xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.s-thread-layout[data-thread-treatment=rail] .s-thread-msg-body{max-width:var(--thread-rail-measure);font-size:var(--text-md);line-height:1.58}.s-thread-layout[data-thread-treatment=rail] .s-thread-reply-ctx{max-width:min(38ch,var(--thread-rail-measure));margin-bottom:var(--space-2xs);font-size:var(--text-2xs);opacity:.72}.s-thread-layout[data-thread-treatment=rail] .s-thread-reply-ctx:hover,.s-thread-layout[data-thread-treatment=rail] .s-thread-reply-ctx:focus-visible{opacity:1}.s-thread-layout[data-thread-treatment=rail] .s-thread-msg-card--avatar-row{display:grid;grid-template-columns:var(--thread-rail-gutter) minmax(0,1fr);column-gap:var(--space-lg);align-items:start;padding-left:0}.s-thread-layout[data-thread-treatment=rail] .s-thread-msg-card--avatar-row>.s-thread-msg-avatar{grid-column:1;justify-self:end;margin-right:var(--space-lg)}.s-thread-layout[data-thread-treatment=rail] .s-thread-msg-card--avatar-row>.s-thread-msg-card-content{grid-column:2}.s-thread-layout[data-thread-treatment=rail] .s-thread-msg-card--avatar-row .s-thread-msg-header{float:none;width:auto;margin-left:0;padding-right:0;flex-direction:row;align-items:baseline;text-align:left;gap:var(--space-sm)}.s-thread-layout[data-thread-treatment=rail] .s-thread-msg-card--avatar-row .s-thread-msg-meta{flex-direction:row;align-items:baseline;gap:var(--space-sm);width:auto}.s-thread-layout[data-thread-treatment=document] .s-thread-feed{gap:0;padding:var(--space-2xl) var(--space-3xl) var(--space-2xl)}.s-thread-layout[data-thread-treatment=document] .s-thread-feed-block+.s-thread-feed-block{border-top:1px solid color-mix(in srgb,var(--border) 40%,transparent)}.s-thread-layout[data-thread-treatment=document] .s-thread-msg-card{padding:var(--space-xl) 0}.s-thread-layout[data-thread-treatment=document] .s-thread-msg-avatar,.s-thread-layout[data-thread-treatment=document] .s-thread-msg-avatar--nav,.s-thread-layout[data-thread-treatment=document] .s-thread-msg-handle{display:none}.s-thread-layout[data-thread-treatment=document] .s-thread-msg-header{margin-bottom:var(--space-xs)}.s-thread-layout[data-thread-treatment=document] .s-thread-msg-actor{font-size:var(--text-2xs);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.s-thread-layout[data-thread-treatment=document] .s-thread-msg-time{font-size:var(--text-2xs);letter-spacing:.08em}.s-thread-layout[data-thread-treatment=document] .s-thread-msg-body{max-width:62ch;font-size:var(--text-lg);line-height:1.78}.s-thread-layout[data-thread-treatment=document] .s-thread-msg-body .s-inline-code{background:none;border-color:transparent;padding:0;color:var(--muted)}.s-thread-feed-block--terminal{justify-content:flex-start}.s-thread-terminal-receipt{width:min(100%,660px);margin-left:42px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:8px;background:color-mix(in srgb,var(--surface) 82%,transparent);display:flex;align-items:center;gap:10px}.s-thread-terminal-receipt[data-tone=failed]>.dot{color:var(--red)}.s-thread-terminal-receipt[data-tone=cancelled]>.dot{color:var(--amber)}.s-thread-terminal-receipt-copy{flex:1;min-width:0;display:flex;align-items:baseline;gap:9px}.s-thread-terminal-receipt-label{color:var(--ink);font-size:var(--text-sm);font-weight:650;white-space:nowrap}.s-thread-terminal-receipt-detail,.s-thread-terminal-receipt-meta{color:var(--muted);font-size:var(--text-xs)}.s-thread-terminal-receipt-detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-thread-terminal-receipt-meta{flex:none;display:flex;align-items:center;gap:10px;margin-left:6px}.s-thread-terminal-receipt-meta button{border:0;padding:0;background:transparent;color:var(--accent);font:inherit;cursor:pointer}.s-thread-terminal-receipt-meta button:hover{text-decoration:underline}@media(max-width:720px){.s-thread-terminal-receipt{margin-left:0;display:grid;grid-template-columns:6px minmax(0,1fr);align-items:start;column-gap:10px;row-gap:7px}.s-thread-terminal-receipt>.dot{margin-top:4px}.s-thread-terminal-receipt-copy,.s-thread-terminal-receipt-meta{grid-column:2}.s-thread-terminal-receipt-meta{margin-left:0}}
@@ -1 +0,0 @@
1
- import{j as a,r}from"./index-sUomXsrf.js";import{b as gt,w as ma,p as Xt,c as Ws,h as ha,l as pa,d as fa,s as Bs,f as ga,g as ya,i as wa}from"./NewChatComposer-B5FnPyzS.js";import{a as U}from"./api-h5zurxmi.js";import{u as Sa}from"./MessageComposerSuggestions-zAUUcLOv.js";import"./runtime-picker-DOZpZOlt.js";import{u as Ta,C as ba}from"./ConversationComposer-BBNPa5S9.js";import"./index-m6dFtY5f.js";import{u as va,e as xa}from"./Provider-tFc3jqZ4.js";import{o as ka,q as Ca,x as Z,y as Us,z as Na,A as Ce,B as Ma,C as Ia,D as ja,E as Aa,F as Ra,c as Hs,S as _s,G as Ea,H as La,I as $a,J as Pa,K as Fa,L as Oa,M as qa,N as Da,s as Wa,O as Ba,P as Ua,Q as Ha,e as _a,p as Ka,r as Ks,R as Qa,T as Va,U as Ga,V as za,u as Ja,W as Xa,X as Ya,Y as Yt,Z as Za,_ as er,$ as yt,n as tr,a0 as sr,a1 as nr,a2 as Qs,a3 as ar,a4 as rr,a5 as or,a6 as ir,a7 as lr,a8 as Vs,a9 as cr,aa as Gs,ab as dr,ac as ur,ad as mr}from"./conversation-model-C4yb6_FA.js";import{u as hr}from"./sse-CVoGDiKW.js";import{n as ns,t as wt,f as Zt}from"./time-Dhsh_2EG.js";import{i as pr}from"./colors-BtO5_zlx.js";import{M as fr}from"./message-markup-C8Nx04sP.js";import{i as es}from"./message-visibility-kJM8XcSG.js";import{b as gr}from"./router-Dja9_ygK.js";import{f as yr}from"./scoutbot-BTIErYHo.js";import{s as wr}from"./sessionRead-CvFz2RHv.js";import{o as Ve}from"./openContent-C6XO6kr5.js";import{u as Sr}from"./ContextMenu-BlBQhpax.js";import{c as Ge}from"./clipboard-e3fSpeo7.js";import{A as ts}from"./AgentAvatar-CufDA4A-.js";import{d as Tr}from"./types-B0PlfpKc.js";/* empty css */import{ConversationHeader as br,ConversationIdentityRow as vr,AddParticipantForm as xr}from"./ConversationHeader-DXMT-YXv.js";import{FanOutRow as kr,ThreadDayDivider as Cr}from"./ConversationFeedRows-BuejHMCY.js";import{ThreadLoadingSkeleton as Nr,ThreadMotionPanel as Mr,WorkingTurnSteps as Ir,WorkingTurnActivityPreview as jr,WorkingTurnActions as Ar}from"./ConversationPanels-DHCtilQF.js";import{f as Rr,c as Er,d as Lr,e as $r,g as Pr}from"./tail-display-BdyoLvzY.js";import{u as Fr}from"./tail-events-CTipUIli.js";import{PinnedAskCard as Or,ConversationStatusStrip as qr}from"./ConversationStatus-DSgdVofa.js";import{DismissIcon as Dr}from"./conversation-icons-DohQL6GI.js";import"./HarnessMark-Dm_qm1Ku.js";import"./NewChatOrigin--pHWUb4V.js";import"./keyboard-nav-BhZZ5HEq.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./x-0XjXwGqq.js";import"./createLucideIcon-DlxlBfLC.js";import"./chevron-down-BFai6ZfE.js";import"./search-DCT_EvPr.js";import"./loader-circle-lWOOKezu.js";import"./file-text-i3xTDUjJ.js";import"./scout-voice-BZ4KqADJ.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./surface-activity-B1rgWB1i.js";import"./DocumentFocusViewer-DU_9BHsD.js";import"./TextDocumentSurface-C-9EtYqt.js";/* empty css */import"./chevron-right-CyUa1zXx.js";import"./code-xml-05TD3uOC.js";import"./arrow-left-WjQIN9J6.js";import"./chunk-HRAB3GC3-CvwpNg-G.js";import"./index-BWHgHrtv.js";import"./mentions-CY_wPZc5.js";import"./AgentDetailCard-DxxVkgT1.js";import"./AgentLiveActions-CZdAInEu.js";import"./terminal-takeover-X97KCSJk.js";import"./eye-So8tNNK6.js";import"./terminal-DXQISjZn.js";import"./terminal-sessions-D5CIR2OL.js";import"./SpriteAvatar-CQs-jC-v.js";import"./agent-identity-xQHedtLl.js";import"./BackToPicker-CkUmHuuo.js";import"./use-reduced-motion-Cvk-HRKg.js";import"./activity-WhBf3FXP.js";import"./message-circle-C5UZ6fO7.js";import"./lane-edit-display-C_Aujldz.js";const Wr=/\.(?:apng|avif|gif|jpe?g|png|svg|webp)(?:$|[?#])/iu,Br=/\bhttps?:\/\/[^\s<>"')\]]+/giu;function ze(s){if(typeof s!="string")return null;try{const i=new URL(s.trim());return i.protocol==="http:"||i.protocol==="https:"?i.toString():null}catch{return null}}function z(s,i){const d=s?.[i];return typeof d=="string"&&d.trim()?d.trim():null}function Ur(s){return s.mediaType.toLowerCase().startsWith("image/")}function Hr(s){return Wr.test(s)}function _r(s){try{const i=new URL(s),d=[i.pathname==="/"?"":i.pathname,i.search].join("").trim();return{host:i.hostname.replace(/^www\./iu,""),detail:d||i.hostname}}catch{return{host:s,detail:s}}}function Kr(s){const i=new Set,d=[];for(const h of s.matchAll(Br)){const u=h[0]?.replace(/[.,;:!?]+$/u,""),k=ze(u);!k||i.has(k)||(i.add(k),d.push(k))}return d}function Tt(s){return ze(s.url)??ze(z(s.metadata,"url"))??ze(z(s.metadata,"href"))}function Qr(s){const i=s.metadata??null,d=z(i,"kind")??z(i,"type"),h=Tt(s);if(!h||d!=="link_preview"&&d!=="link-preview"&&s.mediaType!=="text/x-uri")return null;const u=_r(h);return{id:s.id,url:h,title:z(i,"title")??u.host,description:z(i,"description"),imageUrl:ze(z(i,"imageUrl")??z(i,"image")),siteName:z(i,"siteName")??u.host}}function Vr({src:s,alt:i}){return a.jsx("a",{className:"s-message-embed s-message-embed--image",href:s,target:"_blank",rel:"noreferrer",children:a.jsx("img",{src:s,alt:i,loading:"lazy",decoding:"async"})})}function Gr({preview:s}){return a.jsxs("a",{className:"s-message-embed s-message-embed--link",href:s.url,target:"_blank",rel:"noreferrer",children:[s.imageUrl&&a.jsx("span",{className:"s-message-embed-thumb",children:a.jsx("img",{src:s.imageUrl,alt:"",loading:"lazy",decoding:"async"})}),a.jsxs("span",{className:"s-message-embed-copy",children:[s.siteName&&a.jsx("span",{className:"s-message-embed-site",children:s.siteName}),a.jsx("span",{className:"s-message-embed-title",children:s.title}),s.description&&a.jsx("span",{className:"s-message-embed-description",children:s.description})]})]})}function zr({message:s}){const i=s.attachments??[],d=new Set,h=[],u=[];for(const m of i){const j=Tt(m);if(j&&Ur(m)){d.add(m.id),h.push({id:m.id,src:j,alt:m.fileName??"Image attachment"});continue}const b=Qr(m);b&&(d.add(m.id),u.push(b))}const k=new Set(u.map(m=>m.url)),W=new Set(i.map(Tt).filter(m=>!!m));for(const m of Kr(s.body))W.has(m)||k.has(m)||Hr(m)&&h.push({id:m,src:m,alt:"Embedded image"});const p=i.filter(m=>!d.has(m.id));return h.length===0&&u.length===0&&p.length===0?null:a.jsxs("div",{className:"s-message-embeds",children:[h.map(m=>a.jsx(Vr,{src:m.src,alt:m.alt},m.id)),u.slice(0,1).map(m=>a.jsx(Gr,{preview:m},m.id)),p.map(m=>{const j=Tt(m),b=m.fileName??z(m.metadata,"title")??m.mediaType;return j?a.jsxs("a",{className:"s-message-embed s-message-embed--file",href:j,target:"_blank",rel:"noreferrer",children:[a.jsx("span",{className:"s-message-embed-title",children:b}),a.jsx("span",{className:"s-message-embed-description",children:m.mediaType})]},m.id):a.jsxs("div",{className:"s-message-embed s-message-embed--file",children:[a.jsx("span",{className:"s-message-embed-title",children:b}),a.jsx("span",{className:"s-message-embed-description",children:m.mediaType})]},m.id)})]})}const as=60;function St(s,i,d){const h=d?.trim();if(!h)return;const u=h.toLowerCase();i.has(u)||(i.add(u),s.push(h))}function Jr(s){const i=[],d=new Set;St(i,d,s.observeSessionId);for(const h of s.flight?.sessions??[])St(i,d,h.sessionId);return St(i,d,s.agent?.harnessSessionId),St(i,d,s.sessionMeta?.harnessSessionId),i}function zs(s,i){const d=s.sessionId?.trim().toLowerCase();return d?i.some(h=>{const u=h.trim().toLowerCase();return u?d.includes(u)||u.includes(d):!1}):!1}function tn(s,i){return s.ts!==i.ts?s.ts-i.ts:s.id.localeCompare(i.id)}function Js(s,i){const d=new Map;for(const h of[...s,...i])d.set(h.id,h);return[...d.values()].sort(tn).slice(-as)}function Xr(s){const i=Rr(s).sort(tn),d=Er(i.map(u=>({event:u,meta:Lr(u)}))),h=[];for(const u of d){if(u.event.kind==="other")continue;if(u.event.kind==="tool-result"){const m=h.at(-1);m?.kind==="tool"&&(m.outcome=u.meta.result?.outcome??m.outcome??"done",m.ts=u.event.ts);continue}const k=Yr(u.event),W=Zr(u.event,$r(u.event,u.meta),k);if(!W&&k!=="think")continue;const p={id:u.event.id,ts:u.event.ts,kind:k,text:W,repeatCount:u.repeatCount};u.meta.tool&&(p.tool=u.meta.tool),u.meta.arg&&(p.arg=bt(u.meta.arg)),u.meta.result?.outcome&&(p.outcome=u.meta.result.outcome),h.push(p)}return h}const Xs=160;function bt(s){const i=s.replace(/\s+/gu," ").trim();return i.length>Xs?`${i.slice(0,Xs-1)}…`:i}const sn=/^\[thinking\]\s*$/iu;function Yr(s){return sn.test(s.summary.trim())?"think":Pr(s)}function Zr(s,i,d){return d==="think"&&sn.test(s.summary.trim())?"":bt(i)}const eo=15e3;function to(s){const i=s?.outcome;return typeof i=="string"&&i.trim()?i.trim():void 0}function so(s){const{observe:i,flight:d}=s;if(!i||!d)return[];const h=i.data.events.filter(p=>p.kind!=="boot"&&p.kind!=="system");if(h.length===0)return[];const u=ns(d.startedAt),k=u!==null?h.filter(p=>typeof p.at=="number"&&p.at>=u-eo):[];return(k.length>0?k:i.data.live?h:[]).slice(-as).map(p=>{const m={id:`observe:${i.sessionId??"session"}:${p.id}`,ts:p.at??p.t,kind:p.kind,text:bt(p.text||p.tool||"step"),repeatCount:1};p.tool&&(m.tool=p.tool),p.arg&&(m.arg=bt(p.arg));const j=to(p.result);return j&&(m.outcome=j),p.diff&&(m.outcome=`+${p.diff.add} −${p.diff.del}`),m})}function no(s){const i=s.at(-1);return i?i.tool?i.arg?`${i.tool} · ${i.arg}`:i.tool:i.kind==="think"?i.text||"Thinking":i.text||null:null}function ao(s){if(s.length===0)return null;const i=s.filter(u=>u.kind==="tool").length,d=s.filter(u=>u.kind==="think").length,h=[];return i>0&&h.push(`${i} tool${i===1?"":"s"}`),d>0&&h.push(`${d} thinking`),h.length===0?`${s.length} step${s.length===1?"":"s"}`:h.join(" · ")}function ro(s){const i=s.flight?.state;return i==="queued"?{label:"Queued",detail:"waiting for the session to come online"}:i==="waking"?{label:"Waking",detail:"starting the session"}:i==="running"||i==="waiting"?s.hasSessionScope?{label:"Session live",detail:"waiting for the first trace line"}:{label:"Session live",detail:"no trace stream for this session yet"}:s.awaitingResponse?{label:"Sent",detail:"waiting for the agent to pick this up"}:null}function oo(s){const{sessionIds:i,active:d}=s,h=i.join("|"),u=d&&i.length>0,[k,W]=r.useState([]);return r.useEffect(()=>{W([])},[h]),r.useEffect(()=>{if(!u)return;let p=!1;const m=new URLSearchParams({limit:String(as*3),transcripts:"true"});return U(`/api/tail/recent?${m.toString()}`).then(j=>{if(p)return;const b=(j.events??[]).filter(f=>zs(f,i));b.length!==0&&W(f=>Js(f,b))}).catch(()=>{}),()=>{p=!0}},[u,h]),Fr(p=>{u&&zs(p,i)&&W(m=>Js(m,[p]))},u),r.useMemo(()=>u?Xr(k):[],[u,k])}const io=3500;function Ys(s){const i=s?.trim().replace(/^#/,"");if(!i?.startsWith("msg-"))return null;const d=i.slice(4).trim();if(!d)return null;try{return decodeURIComponent(d)}catch{return d}}const lo=64;function co(s){const i=s?.clientMessageId;return typeof i=="string"&&i.trim()?i.trim():null}function Zs(s){const i=s.body.replace(/\s+/gu," ").trim();if(i)return i.length>180?`${i.slice(0,179).trimEnd()}…`:i;const d=s.attachments?.length??0;return d===1?"Attachment":d>1?`${d} attachments`:"Message"}function en(s,i){const d=s.toLocaleLowerCase().indexOf(i.toLocaleLowerCase());if(d<0)return s;const h=s.slice(0,d),u=s.slice(d+i.length);return!h&&u.startsWith(" ")?u.slice(1):h.endsWith(" ")&&u.startsWith(" ")?`${h}${u.slice(1)}`:`${h}${u}`}function uo(s){return s instanceof TypeError||typeof DOMException<"u"&&s instanceof DOMException&&s.name==="AbortError"}function Mi({conversationId:s,initialDraft:i,navigate:d,embedded:h,showBackNav:u=!0,treatment:k="standard"}){const{agents:W,route:p,openContextCapture:m}=va(),j=gr(p),b=r.useMemo(()=>xa(W,j),[W,j]),[f,vt]=r.useState(null),rs=r.useRef(null);rs.current=f;const Je=r.useMemo(()=>gt(s),[s]),[nn,an]=r.useState(()=>Je?{[s]:Je}:{}),C=nn[s]??Je??[],[rn,os]=r.useState(()=>Je!==null),Ne=r.useRef(null),on=r.useMemo(()=>{const t=Ne.current;return t===null?null:new Set(C.filter(e=>!t.has(e.id)).map(e=>e.id))},[C]),is=Ne.current===null&&C.length>0;r.useEffect(()=>{if(C.length===0)return;const t=Ne.current??new Set;for(const e of C)t.add(e.id);Ne.current=t},[C]),r.useEffect(()=>{Ne.current=null,os(gt(s)!==null)},[s]);const ls=!rn&&C.length===0,J=r.useCallback(t=>{an(e=>{const n=e[s]??gt(s)??[],o=typeof t=="function"?t(n):t,l=ma(s,o);return{...e,[s]:l}})},[s]),ln=Xt(s),[y,we]=r.useState(ln),[Me,Ie]=r.useState([]),[Xe,xt]=r.useState(null),[cs,cn]=r.useState(null),[Ye,je]=r.useState(null),[dn,un]=r.useState(new Set),[ds,us]=r.useState(null),[Ze,mn]=r.useState(()=>typeof window>"u"?null:Ys(window.location.hash)),[ms,Se]=r.useState(null),[Te,kt]=r.useState(!1),[hn,Ae]=r.useState(!1),[Ct,et]=r.useState(0),tt=r.useRef(null),Re=r.useRef(null),hs=r.useRef(null),Ee=r.useRef(!0),st=r.useRef(!1),be=r.useRef(null),$=r.useRef(null),Le=r.useRef(new Set),$e=r.useRef(null),ps=r.useRef(0),fs=r.useRef(null),Pe=r.useRef(null),ie=r.useRef(s);ie.current=s;const le=r.useRef(new Map),pn=Ws(s),nt=r.useRef(!1);r.useLayoutEffect(()=>{const t=Re.current,e=tt.current;!t||!e||(e.scrollTop=t.scrollTop+(e.scrollHeight-t.scrollHeight),Re.current=null,nt.current=!0)}),r.useEffect(()=>{kt(!1),Re.current=null,nt.current=!1,Ee.current=!0,st.current=!1,Ae(!1),et(0),Ht(new Set),le.current.clear(),we(Xt(s))},[s]);const v=f?.agentId??null,N=f?.kind==="direct",Nt=r.useMemo(()=>new Set([s,...f?.equivalentConversationIds??[]]),[s,f?.equivalentConversationIds]),H=r.useMemo(()=>v?b.find(t=>t.id===v)??null:null,[b,v]),gs=ka(f),fn=Ca({resolvedAgentId:H?.id,sessionId:gs,machineId:j}),[ys,ws]=r.useState(null);r.useEffect(()=>{U("/api/fleet").then(t=>{ws(e=>Z(e,Us(t.activeAsks,s,v)))}).catch(()=>{})},[s,v]);const _=r.useCallback(async(t={})=>{const e=t.messageMode??"none",n=t.includeMetadata??!0;Se(null);try{const o=n?await U(`/api/session/${encodeURIComponent(s)}`).catch(()=>null):rs.current;if(ie.current!==s)return;vt(A=>Z(A,o));const l=o?.agentId??null,c=o?.id&&o.id!==s?o.id:s;if(c!==s){d({view:"conversation",conversationId:c});return}const g=gt(c),E=ha(c),T=e==="initial"&&!E,w=e==="refresh"||e==="initial",[S,K,P,G]=await Promise.all([T?pa(c):w?fa(c,{refresh:!0}):Promise.resolve(g),U(`/api/flights?conversationId=${encodeURIComponent(c)}`),o?.kind==="direct"?U(`/api/flights?conversationId=${encodeURIComponent(c)}&active=false`).catch(()=>[]):Promise.resolve([]),U("/api/fleet?limit=24&activityLimit=160").catch(()=>Na())]);if(ie.current!==s)return;const q=Ce(S??[]),D=q.filter(A=>!es(A));S&&J(A=>Z(A,Ma(A,D))),os(!0),wr(c);const I=q.at(-1);I&&Pe.current!==I.id&&(Pe.current=I.id,U(`/api/conversations/${encodeURIComponent(c)}/read-cursor`,{method:"POST",body:JSON.stringify({lastReadMessageId:I.id})}).catch(()=>{Pe.current===I.id&&(Pe.current=null)}));const re=Ia(P,D);us(A=>Z(A,re));const oe=ja(K),ye=Xt(c),Y=oe??ye;Le.current=new Set([...K.map(A=>A.invocationId),...ye?.invocationId?.startsWith("pending:")?[]:ye?.invocationId?[ye.invocationId]:[]]),oe&&ye?.id===oe.id&&Bs(c,oe.id);const L=Y?.agentId??l??null,pt=Aa(G.activity,Y,c,L),ft=Ra(G.activeAsks,Y,c,L);we(A=>Z(A,Y)),Ie(A=>Z(A,pt)),je(A=>Z(A,ft)),ws(A=>Z(A,Us(G.activeAsks,c,l)))}catch(o){if(ie.current!==s)return;Se(o instanceof Error?o.message:String(o))}},[s,d,J]);r.useEffect(()=>{_({messageMode:"initial"})},[_]),r.useEffect(()=>{Pe.current=null},[s]),r.useEffect(()=>{$e.current=y},[y]);const gn=r.useCallback(()=>{y?.id&&un(t=>{const e=new Set(t);return e.add(y.id),e})},[y?.id]),yn=r.useCallback(async()=>{if(Te||!Ws(s))return;const t=tt.current,e=t?{scrollHeight:t.scrollHeight,scrollTop:t.scrollTop}:null;kt(!0),Se(null);try{const n=await ga(s);if(ie.current!==s)return;e&&(Re.current=e),J(Ce(n).filter(o=>!es(o)))}catch(n){ie.current===s&&Se(n instanceof Error?n.message:String(n))}finally{ie.current===s&&kt(!1)}},[s,Te,J]),[R,B]=r.useState(()=>i??""),[ce,de]=r.useState(null),[ee,at]=r.useState(!1),[wn,ve]=r.useState(null),[M,Sn]=r.useState("operator"),[ue,Fe]=r.useState({open:!1,query:"",triggerStart:-1,index:0}),[me,Oe]=r.useState({open:!1,query:"",triggerStart:-1,index:0}),[F,te]=r.useState(null),[Mt,rt]=r.useState(!1),[It,ot]=r.useState(""),[Tn,qe]=r.useState(null),[bn,jt]=r.useState(!1);r.useEffect(()=>{rt(!1),ot(""),qe(null),jt(!1),ve(null)},[s]),r.useEffect(()=>{if(!i)return;const t=`${s}:${i}`;fs.current!==t&&(fs.current=t,B(i),requestAnimationFrame(()=>$.current?.focus()))},[s,i]);const se=r.useMemo(()=>{const t=new Map;for(const e of f?.participants??[])t.set(e.actorId,e),e.agentId&&t.set(e.agentId,e);return t},[f]),At=r.useMemo(()=>{const t=new Set,e=[];for(const n of f?.participantIds??[]){if(n==="operator")continue;const o=se.get(n),l=o?.scopedAlias?.trim().replace(/^@+/,"");if(!l)continue;const c=l.toLowerCase();t.has(c)||(t.add(c),e.push({id:n,label:o?.label??o?.displayName??l,name:o?.displayName??l,handle:l}))}for(const n of b){const o=n.handle?.trim().replace(/^@+/,"")??Hs(n.id)??n.id;if(!o)continue;const l=o.toLowerCase();t.has(l)||(t.add(l),e.push({id:n.id,label:o,name:n.name??o,handle:o}))}return e.sort((n,o)=>n.handle.localeCompare(o.handle))},[se,b,f]),vn=r.useMemo(()=>{if(!ue.open)return[];const t=ue.query.toLowerCase();return t?_s.filter(e=>e.command.toLowerCase().startsWith("/"+t)||e.command.toLowerCase().includes(t)):_s},[ue.open,ue.query]),xn=r.useMemo(()=>{if(!me.open)return[];const t=me.query.toLowerCase();return t?At.filter(e=>e.handle.toLowerCase().includes(t)||e.name.toLowerCase().includes(t)||e.label.toLowerCase().includes(t)).slice(0,8):At.slice(0,8)},[me.open,me.query,At]),kn=r.useCallback(()=>{Fe(t=>t.open?{...t,open:!1}:t),Oe(t=>t.open?{...t,open:!1}:t)},[]),Cn=r.useCallback((t,e)=>{const n=Ea(t,e);Fe(n?l=>({open:!0,query:n.query,triggerStart:n.start,index:l.open&&l.triggerStart===n.start?l.index:0}):l=>l.open?{...l,open:!1}:l);const o=La(t,e);Oe(o?l=>({open:!0,query:o.query,triggerStart:o.start,index:l.open&&l.triggerStart===o.start?l.index:0}):l=>l.open?{...l,open:!1}:l)},[]),Nn=r.useCallback(t=>{const e=$.current,n=ue.triggerStart;if(n<0)return;const o=e?.selectionStart??R.length,l=R.slice(0,n),c=R.slice(o),g=t.insert,E=`${l}${g}${c}`;B(E),Fe(T=>({...T,open:!1})),requestAnimationFrame(()=>{const T=$.current;if(!T)return;const w=l.length+g.length;T.focus(),T.setSelectionRange(w,w)})},[R,ue.triggerStart]),Mn=r.useCallback(t=>{const e=$.current,n=me.triggerStart;if(n<0)return;const o=e?.selectionStart??R.length,l=R.slice(0,n),c=R.slice(o),g=c.length===0||!c.startsWith(" "),E=`@${t.handle}${g?" ":""}`,T=`${l}${E}${c}`;B(T),Oe(w=>({...w,open:!1})),requestAnimationFrame(()=>{const w=$.current;if(!w)return;const S=l.length+E.length;w.focus(),w.setSelectionRange(S,S)})},[R,me.triggerStart]);r.useEffect(()=>{const t=$.current;if(!t)return;t.style.height="0px";const e=Math.min(Math.max(t.scrollHeight,40),160);t.style.height=`${e}px`,t.style.overflowY=t.scrollHeight>e?"auto":"hidden"},[R]),r.useEffect(()=>{U("/api/user").then(t=>Sn(t.name)).catch(()=>{})},[]);const it=r.useMemo(()=>$a(C,M),[C,M]);r.useEffect(()=>{F===null||it===null||it>=F&&te(null)},[F,it]);const In=r.useMemo(()=>Pa(y),[y]),X=Date.now(),jn=!(cs!==null&&X-cs<=lr)&&Fa(y,X),An=Oa(y,it,X),Rn=y?dn.has(y.id):!1,De=In&&!An&&!Rn,Rt=De&&jn,Ss=De&&qa(y),lt=Rt&&!pr(H?.state??null),Ts=N&&(ee||F!==null||De),bs=N&&Da({sending:ee,awaitingResponse:F!==null,currentFlight:y}),O=Wa({name:H?.name,agentName:f?.agentName,id:v,title:f?.title}),x=r.useMemo(()=>N?Ba({agentName:O,agentState:H?.state??null,sending:ee,currentFlight:y,showWorkingTurn:De,awaitingResponse:F!==null,workingTurnIsGone:lt,workingTurnHasNoRecentUpdate:Rt,nowMs:X}):{label:"Open",detail:"",tone:"idle",showStrip:!1,showTyping:!1},[H?.state,O,F,y,X,N,ee,De,lt,Rt]),We=x.tone==="quiet",Q=We||Ss,Et=y?.startedAt??Ye?.startedAt??F,Lt=ns(Et),vs=cr(Et,X),[,En]=r.useState(0);r.useEffect(()=>{if(!x.showTyping||Q||Lt===null)return;const t=Math.max(0,Date.now()-Lt),e=[Vs.sustained,Vs.long].find(o=>o>t);if(e===void 0)return;const n=window.setTimeout(()=>En(o=>o+1),e-t+50);return()=>window.clearTimeout(n)},[Q,Lt,x.showTyping,vs]);const Ln=Ss?"Not delivered":We?x.label:"Live",$t=r.useMemo(()=>Ua({currentFlight:y,presence:x,turnActivity:Me,turnAsk:Ye,awaitingResponseSince:F,nowMs:X}),[F,y,X,x,Me,Ye]),V=r.useMemo(()=>Ha(ds),[ds]),$n=["s-thread-msg-card","s-thread-msg-working-card","s-thread-msg-card--avatar-row",Q?"s-thread-msg-working-card--quiet":null].filter(Boolean).join(" "),Pn=["s-thread-msg-kind",Q?"s-thread-msg-kind--quiet":null,lt?"s-thread-msg-kind--gone":null].filter(Boolean).join(" "),Fn=["s-thread-no-recent-update-indicator",lt?"s-thread-no-recent-update-indicator--gone":null].filter(Boolean).join(" "),On=["s-thread-turn-snapshot",Q?"s-thread-turn-snapshot--quiet":null].filter(Boolean).join(" "),qn=["s-thread-turn-snapshot-pulse",Q?"s-thread-turn-snapshot-pulse--quiet":null].filter(Boolean).join(" "),Dn=["s-thread-presence-line",Q?"s-thread-presence-line--quiet":null].filter(Boolean).join(" "),Wn=["s-thread-presence-strip",Q?null:`s-thread-presence-strip--${vs}`,Q?"s-thread-presence-strip--quiet":null].filter(Boolean).join(" "),Pt=f?_a(f):O,xs=f?.id??s,Bn=f?.alias?.trim()||null,ct=Ka(f?.workspaceRoot),Un=We?"quiet":x.tone,Ft=C.length===0&&N&&(x.showTyping||y!==null||Me.length>0||Ye!==null||F!==null),ks=r.useMemo(()=>f?f.participantIds.includes("operator"):N,[N,f]),Be=y?.agentId??v,Ue=Be?Ks(b,[Be]):null,He=Ue?.id??Be,_e=y?.sessions.at(-1)?.sessionId??Ue?.harnessSessionId??void 0,Cs=y?.id?()=>{Ve(d,{view:"sessions",flightId:y.id,...He?{agentId:He}:{},..._e?{sessionId:_e}:{},...j?{machineId:j}:{}},{returnTo:p})}:void 0,Ns=y?.id??null;r.useEffect(()=>{if(!Ns||!He){xt(null);return}let t=!1;const e=_e?`?sessionId=${encodeURIComponent(_e)}`:"",n=async()=>{try{const l=await U(`/api/agents/${encodeURIComponent(He)}/observe${e}`);if(t)return;xt(c=>Z(c,l))}catch{}};n();const o=window.setInterval(()=>{n()},io);return()=>{t=!0,window.clearInterval(o),xt(null)}},[Ns,He,_e]);const Ot=r.useMemo(()=>Jr({flight:y,agent:Ue??H,sessionMeta:f,observeSessionId:Xe?.sessionId}),[H,y,f,Xe?.sessionId,Ue]),Ms=oo({sessionIds:Ot,active:x.showTyping||Ft}),Hn=r.useMemo(()=>so({observe:Xe,flight:y}),[y,Xe]),ne=Ms.length>0?Ms:Hn,qt=r.useMemo(()=>ne.length>0?null:ro({flight:y,hasSessionScope:Ot.length>0,awaitingResponse:F!==null}),[F,y,Ot.length,ne.length]),Dt=ao(ne),Wt=no(ne),Bt=ne.at(-1)??null,Ut=Bt?wt(Bt.ts,X):null,Is=Bt?.ts??null;r.useEffect(()=>{cn(Is)},[Is]);const he=r.useMemo(()=>Wt?{...$t,latest:Wt,...Dt?{activityLabel:Dt}:{},...Ut?{lastActivityLabel:Ut}:{}}:$t,[Ut,Wt,$t,Dt]),_n=We?x.detail:`${O}: ${he.latest}`,js=Be&&Qa(Ue)?()=>{Ve(d,{view:"terminal",agentId:Be,mode:"takeover"},{returnTo:p})}:void 0,As=N?()=>{h&&yr({type:"focus-composer",reason:"Steer the active conversation"})||requestAnimationFrame(()=>{$.current?.focus({preventScroll:!0}),$.current?.scrollIntoView({block:"nearest"})})}:void 0,Rs=r.useMemo(()=>(f?f.participantIds.filter(e=>e!=="operator"):v?[v]:[]).map(e=>{const n=Ks(b,[e]),o=se.get(e);return{id:e,name:o?.scopedAlias??n?.name??o?.displayName??Hs(e)??e,title:o?.label??n?.id??e,agent:n,sessionId:o?.sessionId??null,harness:n?.harness??o?.harness??null,model:n?.model??null,reasoningEffort:n?.reasoningEffort??null}}),[v,se,b,f]),Es=Rs.slice(0,4),Kn=Math.max(Rs.length-Es.length,0),Qn=r.useMemo(()=>({name:M,active:ks}),[ks,M]),dt=r.useMemo(()=>new Map(C.map(t=>[t.id,t])),[C]),ut=r.useMemo(()=>Va(C),[C]),[Vn,Ht]=r.useState(()=>new Set),Gn=r.useCallback(t=>{Ht(e=>{const n=new Set(e);return n.delete(t)||n.add(t),n})},[]),Ls=r.useMemo(()=>{const t=new Map;for(const e of ut)if(e.kind==="fanout")for(const n of e.messages)t.set(n.id,e.key);return t},[ut]),mt=r.useCallback(t=>{const e=Ls.get(t);e&&Ht(c=>c.has(e)?c:new Set(c).add(e));const n=document.getElementById(`msg-${t}`);if(!n)return;const o=n.closest(".s-thread-fanout")??n,l=o===n?"s-thread-msg--flash":"s-thread-fanout--flash";o.scrollIntoView({behavior:"smooth",block:"center"}),o.classList.add(l),window.setTimeout(()=>o.classList.remove(l),1200)},[Ls]);r.useEffect(()=>{const t=()=>mn(Ys(window.location.hash));return window.addEventListener("hashchange",t),()=>window.removeEventListener("hashchange",t)},[]),r.useEffect(()=>{if(!Ze||!dt.has(Ze))return;const t=window.setTimeout(()=>mt(Ze),50);return()=>window.clearTimeout(t)},[Ze,dt,mt]),hr(r.useCallback(t=>{if(t.kind==="message.posted"){const e=t.payload?.message;if(!e||!Nt.has(e.conversationId))return;const n=e.actorId==="operator",o=N&&!n&&e.class==="agent",l={id:e.id,conversationId:e.conversationId,actorId:e.actorId,actorName:o?O:Ga(e.actorId,b,M),body:e.body,createdAt:e.createdAt,class:n?"operator":e.class,attachments:e.attachments,metadata:e.metadata,replyToMessageId:e.replyToMessageId??e.n??null};if(es(l))return;if(J(c=>{const g=co(e.metadata),E=g?le.current.get(g):void 0;if(c.some(T=>T.id===e.id))return g&&le.current.delete(g),c;if(n&&g){const T=za(c,g,E);if(T!==-1){const w=[...c];return w[T]=l,le.current.delete(g),Ce(w)}}return Ce([...c,l])}),o){const c=ns(e.createdAt)??Date.now();te(g=>g===null||c<g||Ja($e.current)?g:null),we(g=>Xa(g)?null:g)}return}if(t.kind==="invocation.requested"){const e=t.payload?.invocation;if(!e||e.targetAgentId!==v||!e.conversationId||!Nt.has(e.conversationId))return;Le.current.add(e.id),Ie([]),je(null),te(n=>n??Date.now());return}if(t.kind==="flight.updated"){const e=t.payload?.flight;if(!e||e.targetAgentId!==v||!(Le.current.has(e.invocationId)||$e.current?.id===e.id))return;if(Ya.has(e.state)){Bs(s,e.id),us(Yt(e,s,v??"")),we(c=>c?.id===e.id?null:c),Ie([]),je(null),te(null),_({messageMode:"refresh",includeMetadata:!1});return}Le.current.add(e.invocationId);const o=$e.current?.id===e.id,l=Yt(e,s,v??"",$e.current);Za(l)&&te(null),we(l),o||(Ie([]),je(null));return}t.kind!=="agent.endpoint.upserted"&&t.kind==="unknown"&&_({messageMode:"refresh"})},[v,O,s,Nt,N,_,M,b])),r.useEffect(()=>{if(!Ts)return;const t=setInterval(()=>{_({messageMode:"refresh",includeMetadata:!1})},5e3);return()=>clearInterval(t)},[Ts,_]),r.useEffect(()=>{const t=()=>{if(document.visibilityState!=="visible")return;const e=Date.now();e-ps.current<1e3||(ps.current=e,_({messageMode:"refresh"}))};return window.addEventListener("focus",t),document.addEventListener("visibilitychange",t),()=>{window.removeEventListener("focus",t),document.removeEventListener("visibilitychange",t)}},[_]);const _t=r.useRef(null),$s=r.useRef(!1),Kt=r.useRef(!1),Qt=r.useCallback(t=>{const e=hs.current;e&&(st.current=!0,be.current!==null&&clearTimeout(be.current),e.scrollIntoView({behavior:t}),be.current=setTimeout(()=>{st.current=!1,be.current=null},t==="smooth"?700:0))},[]);r.useEffect(()=>()=>{be.current!==null&&clearTimeout(be.current)},[]);const zn=r.useCallback(()=>{const t=tt.current;if(!t||st.current)return;const n=t.scrollHeight-t.clientHeight-t.scrollTop<=lo;Ee.current=n,n?(Ae(!1),et(0)):Ae(!0)},[]),Jn=r.useCallback(()=>{Ee.current=!0,Ae(!1),et(0),Qt("smooth")},[Qt]);r.useEffect(()=>{const t=C.at(-1)?.id??null,e=!!(t&&t!==_t.current),n=er({newestMessageId:t,previousNewestMessageId:_t.current,showTyping:x.showTyping,previousShowTyping:$s.current,historyRestorePending:nt.current||Re.current!==null,initialScrollDone:Kt.current,nearBottom:Ee.current});n!=="none"?(Qt(n),Kt.current=!0):e&&Kt.current&&!Ee.current&&(Ae(!0),et(o=>o+1)),nt.current=!1,_t.current=t,$s.current=x.showTyping});const[,Xn]=r.useState(0);r.useEffect(()=>{const t=setInterval(()=>Xn(e=>e+1),15e3);return()=>clearInterval(t)},[]);const pe=Ta(),[fe,ae]=r.useState([]),[Ps,ht]=r.useState("queue"),[xe,ke]=r.useState(null),Ke=async(t,e)=>{const n=t.trim(),o=e?.attachments??[],l=e?.replyTarget??null;if(!n&&o.length===0||ee)return"failed";const g=e?.forceAction??Gs({isDm:N,hasOutstandingReply:bs}),E=Date.now(),T=wa(),w={id:`optimistic-${T}`,conversationId:s,actorId:"operator",actorName:M,body:n,createdAt:E,class:"operator",...l?{replyToMessageId:l.messageId}:{},metadata:{clientMessageId:T,deliveryState:"sending"},...o.length>0?{attachments:o}:{}};at(!0),ve(null),g!=="message"&&te(E),Se(null),le.current.set(T,w.id),J(S=>Ce([...S,w]));try{const S=await U(`/api/chats/${encodeURIComponent(s)}/messages`,{method:"POST",body:JSON.stringify({body:n,clientMessageId:T,...l?{replyToMessageId:l.messageId}:{},...o.length>0?{attachments:o}:{}})}),K=S.chatId?.trim()??S.conversationId?.trim();if(K&&K!==s)throw new Error(`Send returned a different Chat (${K}) instead of appending to ${s}.`);if(S.messageId?.trim()){const q=S.messageId.trim();J(D=>Ce(D.map(I=>I.id===w.id?{...I,id:q,metadata:{clientMessageId:T}}:I))),le.current.delete(T)}S.flight?(Le.current.add(S.flight.invocationId),we(Yt(S.flight,s,v??"")),Ie([]),je(null)):g!=="message"&&te(null);const P=S.unresolvedTargets??[],G=S.invokedTargets?.length?S.invokedTargets:S.notifiedTargets??[];if(P.length>0)ve({tone:"warning",text:`Posted, but not delivered to ${P.join(", ")}`});else if(G.length>0){const q=G.map(D=>{const I=se.get(D);return`@${I?.scopedAlias?.trim()||I?.displayName?.trim()||D}`});ve({tone:"success",text:`Sent to ${q.join(", ")}`})}else ve({tone:"success",text:"Posted to this room"});return"sent"}catch(S){return uo(S)?(J(K=>K.map(P=>P.id===w.id?{...P,metadata:{...P.metadata??{},deliveryState:"unknown"}}:P)),ve({tone:"warning",text:"Delivery unknown — waiting for broker reconciliation"}),"unknown"):(J(K=>K.filter(P=>P.id!==w.id)),le.current.delete(T),te(null),Se(S instanceof Error?S.message:String(S)),"failed")}finally{at(!1)}},Yn=async()=>{const t=R.trim(),e=ce,n=pe.files,o=xe?.attachments??[];if(!t&&n.length===0&&o.length===0)return null;let l=[];if(n.length>0){at(!0);try{l=await Sa(n)}catch(c){return pe.setError(c instanceof Error?c.message:String(c)),null}finally{at(!1)}}return B(""),de(null),pe.clear(),ke(null),{body:t,attachments:[...o,...l],replyTarget:e}},Zn=async()=>{const t=ur({isAgentBusy:ge,intent:Ps}),e=xe?.id??null,n=await Yn();if(!n)return;if(t==="queue"){ae(c=>e?c.map(g=>g.id===e?{...g,body:n.body,attachments:n.attachments,replyTarget:n.replyTarget}:g):[...c,{id:`queued-${Date.now()}-${c.length}`,body:n.body,attachments:n.attachments,replyTarget:n.replyTarget,queuedAt:Date.now()}]);return}e&&ae(c=>c.filter(g=>g.id!==e));const o=()=>{B(n.body),ke(n.attachments.length>0?{id:null,attachments:n.attachments}:null),de(n.replyTarget),requestAnimationFrame(()=>$.current?.focus())};if(t==="steer"){ht("queue"),await zt(),await Ke(n.body,{forceAction:"steer",attachments:n.attachments,replyTarget:n.replyTarget})==="failed"&&o();return}await Ke(n.body,{attachments:n.attachments,replyTarget:n.replyTarget})==="failed"&&o()},ea=t=>{ae(e=>e.filter(n=>n.id!==t)),ke(e=>e?.id===t?null:e)},ta=t=>{const e=fe.find(n=>n.id===t);e&&(B(e.body),de(e.replyTarget??null),ke({id:t,attachments:e.attachments}),requestAnimationFrame(()=>{const n=$.current;n&&(n.focus(),n.setSelectionRange(n.value.length,n.value.length))}))},sa=()=>{ke(null),B(""),de(null),pe.clear()},na=async t=>{const e=fe.find(o=>o.id===t);if(!e)return;ae(o=>o.filter(l=>l.id!==t)),await zt(),await Ke(e.body,{forceAction:"steer",attachments:e.attachments,replyTarget:e.replyTarget??null})==="failed"&&ae(o=>[e,...o])},Vt=r.useCallback((t,e)=>{const n=e?.trim().replace(/^@+/,"")||null,o=n?`@${n}`:null,l=ce?.insertedMention?en(R,ce.insertedMention):R,c=!!(!N&&o&&!l.toLocaleLowerCase().includes(o.toLocaleLowerCase())),g=c&&o?l.trim()?`${l.trimEnd()} ${o} `:`${o} `:l;B(g),de({messageId:t.id,actorLabel:n?`@${n}`:t.actorName,preview:Zs(t),insertedMention:c?o:null}),requestAnimationFrame(()=>$.current?.focus())},[R,N,ce?.insertedMention]),aa=r.useCallback(()=>{const t=ce?.insertedMention;de(null),t&&B(e=>en(e,t)),requestAnimationFrame(()=>$.current?.focus())},[ce]),Gt=r.useCallback(t=>{const e=new URL(window.location.href);p.view==="agents-v2"&&e.searchParams.set("tab","message"),e.hash=`msg-${t}`,Ge(e.toString())},[p.view]),Fs=r.useCallback((t,e,n)=>{const o=ya({conversationId:s,selectedMessageId:t.id,messages:C.map(l=>({id:l.id,actorLabel:l.id===t.id?e:yt(l,M)?M:l.actorName,body:l.body,attachmentCount:l.attachments?.length??0}))});m({intent:"forward-message",forwardContext:o,forwardContextMode:"selected-message",...n?{projectPath:n}:{}})},[s,C,m,M]),zt=async()=>{if(v)try{await U("/api/agents/"+encodeURIComponent(v)+"/interrupt",{method:"POST",body:JSON.stringify({})})}catch{}},ge=x.tone==="working"||x.tone==="pending",ra=Gs({isDm:N,hasOutstandingReply:bs}),oa=N?`Message ${O} — type / to route or @ to mention an agent`:f?.kind==="channel"?`Comment in #${tr(f)} — mention @agent to request a reply`:`Comment in ${Pt} — mention @agent to request a reply`,Os=xe?.attachments??[],ia=!R.trim()&&!pe.hasFiles&&Os.length===0&&ge,Jt=r.useRef(!1);r.useEffect(()=>{const t=xe?.id??null,e=t?fe.filter(o=>o.id!==t):fe;if(!sr({isAgentBusy:ge,sending:ee,queued:e})||Jt.current)return;const n=e[0];n&&(Jt.current=!0,ae(o=>o.filter(l=>l.id!==n.id)),Ke(n.body,{attachments:n.attachments,replyTarget:n.replyTarget??null}).then(o=>{o==="failed"&&ae(l=>[n,...l])}).finally(()=>{Jt.current=!1}))},[ge,ee,fe,xe]),r.useEffect(()=>{ge||ht("queue")},[ge]),r.useEffect(()=>{ae([]),ke(null),de(null),ht("queue"),pe.clear()},[s]);const la=nr(fe),qs=Sr(),ca=r.useCallback((t,e)=>{const n=window.getSelection()?.toString().trim(),o=yt(e,M),l=e.actorId?se.get(e.actorId):null,c=o?null:Qs(e,b,v),g=(l?.scopedAlias?.trim()||c?.handle?.trim()||null)?.replace(/^@+/,"")??null,E=g?`@${g}`:e.actorName,T=(c?.id||l?.agentId||e.actorId||"").trim(),w=[];o||w.push({kind:"action",label:"Reply",onSelect:()=>Vt(e,g)}),w.push({kind:"action",label:"Forward to new task…",onSelect:()=>Fs(e,E,l?.workspaceRoot??c?.projectRoot??c?.cwd??void 0)}),w.push({kind:"separator"}),n&&w.push({kind:"action",label:"Copy Selection",shortcut:"⌘C",onSelect:()=>{Ge(n)}}),w.push({kind:"action",label:"Copy Message",onSelect:()=>{Ge(e.body)}}),w.push({kind:"action",label:"Copy Link",onSelect:()=>Gt(e.id)}),w.push({kind:"separator"}),!o&&T&&w.push({kind:"action",label:"Copy Agent ID",onSelect:()=>{Ge(T)}}),w.push({kind:"action",label:"Copy Message ID",onSelect:()=>{Ge(e.id)}}),qs(t,w)},[v,Vt,Gt,Fs,M,se,b,qs]),da=async(t,e)=>{const n=`@${e.agentId} `,o=R.trim();if(o){B(""),await Ke(`${n}${o}`,{forceAction:"invoke"});return}B(n),$.current?.focus()},Qe=r.useMemo(()=>{if(!f)return[];const t=new Set(f.participantIds);return b.filter(e=>!t.has(e.id)&&!e.retiredFromFleet).sort((e,n)=>e.name.localeCompare(n.name))},[f,b]);r.useEffect(()=>{Mt&&ot(t=>t&&Qe.some(e=>e.id===t)?t:Qe[0]?.id??"")},[Mt,Qe]);const Ds=!!(f&&["direct","group_direct","channel"].includes(f.kind)&&Qe.length>0),ua=r.useCallback(async()=>{if(!f)return;const t=It.trim();if(t){jt(!0),qe(null);try{const e=await U(`/api/conversations/${encodeURIComponent(f.id)}/members`,{method:"POST",body:JSON.stringify({actorId:t})});e.session?vt(e.session):vt(n=>n&&{...n,kind:e.kind,participantIds:e.participantIds}),rt(!1),ot(""),await _({messageMode:"none"})}catch(e){qe(e instanceof Error?e.message:String(e))}finally{jt(!1)}}},[It,_,f]);return a.jsx("div",{className:`s-thread-layout${h?" s-thread-layout--embedded":""}`,"data-thread-treatment":k==="standard"?void 0:k,children:a.jsxs("div",{className:"s-thread-center",children:[!h&&a.jsx(br,{showBackNav:u,isDm:N,navigate:d,route:p,canonicalConversationId:xs,threadTitle:Pt,agentId:H?.id??null,sessionId:gs,detailRoute:fn,visibleParticipants:Es,hiddenParticipantCount:Kn,operator:Qn,canAddParticipants:Ds,onToggleAddParticipant:()=>{qe(null),rt(t=>!t)}}),!h&&f&&a.jsx(vr,{canonicalConversationId:xs,conversationAlias:Bn}),!h&&Mt&&Ds&&a.jsx(xr,{agents:Qe,addParticipantId:It,setAddParticipantId:ot,addingParticipant:bn,addParticipantError:Tn,onCancel:()=>{rt(!1),qe(null)},onSubmit:()=>{ua()}}),ys&&a.jsx(Or,{pinnedAsk:ys,onAnswer:()=>{$.current?.focus()}}),a.jsx(qr,{presence:x,agent:H}),ms&&a.jsx("p",{className:"s-thread-error",children:ms}),a.jsxs("div",{className:"s-thread-feed",ref:tt,onScroll:zn,children:[!ls&&C.length>0&&pn&&a.jsx("div",{className:"s-thread-history-control",children:a.jsxs("button",{type:"button",className:"s-thread-history-button",disabled:Te,"aria-busy":Te,onClick:()=>{yn()},children:[Te&&a.jsx("span",{className:"s-thread-history-spinner","aria-hidden":"true"}),Te?"Loading earlier messages…":"Load earlier messages"]})}),ls?a.jsx(Nr,{}):C.length===0?Ft?a.jsx(Mr,{agentName:O,title:x.label,detail:x.detail||he.latest,snapshot:he,events:Me,steps:ne,phase:qt,tone:Un,workspaceName:ct,branch:f?.currentBranch,startedAt:Et,onOpenTrace:Cs,onOpenTerminal:js,onSteer:As}):a.jsxs("div",{className:"s-thread-empty",children:[a.jsx("div",{className:"s-thread-empty-glyph","aria-hidden":"true",children:N?"@":"#"}),a.jsx("p",{children:Pt}),a.jsx("p",{children:N?"No messages yet. Send a message to start working with this agent.":"No messages yet. Start the conversation below."}),(ct||f?.currentBranch)&&a.jsxs("div",{className:"s-thread-empty-chips",children:[ct&&a.jsx("span",{className:"s-thread-empty-chip",children:ct}),f?.currentBranch&&a.jsx("span",{className:"s-thread-empty-chip",children:f.currentBranch})]})]}):ut.map((t,e)=>{const n=ar(t,e);if(t.kind==="fanout")return a.jsx(kr,{row:t,expanded:Vn.has(t.key),showDayDivider:n,onToggle:()=>Gn(t.key)},t.key);const o=t.message,l=yt(o,M),c=rr(o),g=c?"scout.dispatch":o.class,E=dr(g),T=g==="status",w=Zt(o.createdAt),S=l?null:Qs(o,b,v),P=se.get(o.actorId)?.scopedAlias?.trim()||null,G=!l&&P?P:o.actorName,q=l?M.toLowerCase():P??S?.handle??null,D=or(o.body),I=D?ir({flightId:D.flightId,replyToMessageId:o.replyToMessageId,messagesById:dt,agents:b,operatorName:M}):null,re=!D&&o.replyToMessageId?dt.get(o.replyToMessageId)??null:null,oe=re?yt(re,M)?M:re.actorName:null,ye=D?D.body:o.body,Y=l&&typeof o.metadata?.deliveryState=="string"?o.metadata.deliveryState:null;return a.jsxs("div",{className:["s-thread-feed-block",l&&"s-thread-feed-block--you",n&&"s-thread-feed-block--full-width"].filter(Boolean).join(" "),children:[n&&a.jsx(Cr,{at:o.createdAt}),a.jsx("article",{id:`msg-${o.id}`,className:["s-thread-msg",l&&"s-thread-msg--you",T&&"s-thread-msg--tool",(is||on?.has(o.id))&&"s-thread-msg--enter"].filter(Boolean).join(" "),style:is?{animationDelay:`${Math.max(0,7-(ut.length-1-e))*26}ms`}:void 0,"data-class":g,onContextMenu:L=>ca(L,o),children:a.jsx("div",{className:"s-thread-msg-card",children:a.jsxs("div",{className:"s-thread-msg-card-content",children:[a.jsxs("div",{className:"s-thread-msg-header",children:[a.jsxs("div",{className:"s-thread-msg-meta",children:[(()=>{const L=!l&&S?()=>Ve(d,{view:"agents-v2",agentId:S.id},{returnTo:p}):null,pt=l?M:G??"?",ft=a.jsx(ts,{agent:S??void 0,name:pt,placement:"turn",className:"s-thread-msg-avatar",title:pt});return L?a.jsx("button",{type:"button",className:"s-thread-msg-avatar--nav",onClick:L,"aria-label":`View profile for ${o.actorName??"agent"}`,title:`View profile for ${o.actorName??"agent"}`,children:ft}):ft})(),!l&&S?a.jsx("button",{type:"button",className:"s-thread-msg-actor s-thread-msg-actor--nav",onClick:()=>Ve(d,{view:"agents-v2",agentId:S.id},{returnTo:p}),title:`View profile for ${o.actorName}`,children:G}):a.jsx("span",{className:"s-thread-msg-actor",children:l?M:G}),q&&a.jsxs("span",{className:"s-thread-msg-handle",children:["@",q]}),E&&a.jsx("span",{className:"s-thread-msg-kind",children:E}),Y&&a.jsx("span",{className:"s-thread-msg-delivery","data-state":Y,"aria-live":Y==="unknown"?"polite":void 0,children:Y==="unknown"?"Delivery unknown":"Sending"})]}),a.jsx("span",{className:"s-thread-msg-time",title:w,children:wt(o.createdAt)}),a.jsxs("span",{className:"s-thread-msg-actions",children:[!l&&q&&a.jsx("button",{type:"button",className:"s-thread-msg-permalink","aria-label":`Reply to @${q}`,title:`Reply to @${q}`,onClick:()=>Vt(o,q),children:a.jsx(ss,{})}),a.jsx("button",{type:"button",className:"s-thread-msg-permalink","aria-label":"Copy link to message",title:"Copy link to message",onClick:()=>Gt(o.id),children:a.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[a.jsx("path",{d:"M6.5 9.5a2.5 2.5 0 0 0 3.54 0l2.12-2.12a2.5 2.5 0 0 0-3.54-3.54l-.7.7"}),a.jsx("path",{d:"M9.5 6.5a2.5 2.5 0 0 0-3.54 0L3.84 8.62a2.5 2.5 0 0 0 3.54 3.54l.7-.7"})]})})]})]}),I&&a.jsxs("button",{type:"button",className:"s-thread-reply-ctx",title:`Open the originating request${I.flightId?` · ${I.flightId}`:""}`,onClick:()=>mt(I.originatingMessageId),children:[a.jsx(ss,{}),a.jsx("span",{className:"s-thread-reply-ctx-label",children:"reply to"}),a.jsx("span",{className:"s-thread-reply-ctx-title",children:I.title}),a.jsxs("span",{className:"s-thread-reply-ctx-from",children:["· ",I.from]}),a.jsx("span",{className:"s-thread-reply-ctx-status",children:"· done"})]}),re&&oe&&a.jsxs("button",{type:"button",className:"s-thread-reply-ctx",title:`Open message from ${oe}`,onClick:()=>mt(re.id),children:[a.jsx(ss,{}),a.jsx("span",{className:"s-thread-reply-ctx-label",children:"reply to"}),a.jsx("span",{className:"s-thread-reply-ctx-title",children:Zs(re)}),a.jsxs("span",{className:"s-thread-reply-ctx-from",children:["· ",oe]})]}),a.jsx("div",{className:"s-thread-msg-body",title:w,children:a.jsx(fr,{text:ye})}),a.jsx(zr,{message:o}),c&&c.candidates.length>0&&a.jsx("div",{className:"s-thread-dispatch",children:c.candidates.map(L=>a.jsxs("button",{type:"button",className:"s-thread-dispatch-tile",onClick:()=>{da(c,L)},children:[a.jsxs("span",{className:"s-thread-dispatch-tile-id",children:["@",L.agentId]}),a.jsx("span",{className:"s-thread-dispatch-tile-state",children:L.endpointState}),a.jsx("span",{className:"s-thread-dispatch-tile-meta",children:[L.workspace,L.node,L.projectRoot].filter(Boolean).join(" · ")||L.displayName})]},L.agentId))})]})})})]},o.id)}),x.showTyping&&!Ft&&a.jsx("div",{className:"s-thread-feed-block",children:a.jsx("div",{className:"s-thread-msg","aria-live":"polite",children:a.jsxs("div",{className:$n,children:[a.jsx(ts,{agent:H??void 0,name:O,placement:"turn",className:"s-thread-msg-avatar s-thread-msg-avatar--working",title:O}),a.jsxs("div",{className:"s-thread-msg-card-content",children:[a.jsxs("div",{className:"s-thread-msg-header",children:[a.jsxs("div",{className:"s-thread-msg-meta",children:[a.jsx("span",{className:"s-thread-msg-actor",children:O}),a.jsx("span",{className:Pn,children:Ln})]}),a.jsx("span",{className:"s-thread-msg-time",title:y?.startedAt?Zt(y.startedAt):"now",children:y?.startedAt?wt(y.startedAt):"now"}),We&&a.jsx("button",{type:"button",className:"s-thread-msg-dismiss","aria-label":"Dismiss no recent update turn",title:"Dismiss no recent update turn",onClick:gn,children:a.jsx(Dr,{})})]}),a.jsxs("div",{className:"s-thread-msg-working-body",children:[a.jsxs("div",{className:On,children:[Q?a.jsx("span",{className:Fn,"aria-hidden":"true"}):a.jsx("span",{className:qn,"aria-hidden":"true"}),a.jsxs("div",{className:"s-thread-turn-snapshot-main",children:[a.jsx("span",{className:"s-thread-turn-snapshot-label",children:"Latest"}),a.jsx("span",{className:"s-thread-msg-working-copy",children:he.latest})]})]}),a.jsxs("dl",{className:"s-thread-turn-snapshot-stats",children:[a.jsxs("div",{className:"s-thread-turn-snapshot-stat",children:[a.jsx("dt",{children:"Activity"}),a.jsx("dd",{children:he.activityLabel})]}),a.jsxs("div",{className:"s-thread-turn-snapshot-stat",children:[a.jsx("dt",{children:"Elapsed"}),a.jsx("dd",{children:he.elapsedLabel})]}),a.jsxs("div",{className:"s-thread-turn-snapshot-stat",children:[a.jsx("dt",{children:"Last"}),a.jsx("dd",{children:he.lastActivityLabel})]})]}),ne.length>0||qt?a.jsx(Ir,{steps:ne,phase:qt,limit:5,compact:!0}):a.jsx(jr,{events:Me,limit:4,compact:!0}),a.jsx(Ar,{onOpenTrace:Cs,onOpenTerminal:js,onSteer:As,compact:!0})]})]})]})})}),N&&V&&!x.showTyping&&a.jsx("div",{className:"s-thread-feed-block s-thread-feed-block--terminal",children:a.jsxs("div",{className:"s-thread-terminal-receipt","data-tone":V.tone,"aria-live":"polite",children:[a.jsx("span",{className:"dot","aria-hidden":"true"}),a.jsxs("div",{className:"s-thread-terminal-receipt-copy",children:[a.jsx("span",{className:"s-thread-terminal-receipt-label",children:V.label}),a.jsx("span",{className:"s-thread-terminal-receipt-detail",children:V.detail})]}),a.jsxs("div",{className:"s-thread-terminal-receipt-meta",children:[V.completedAt&&a.jsx("time",{title:Zt(V.completedAt),children:wt(V.completedAt)}),a.jsx("button",{type:"button",onClick:()=>{Ve(d,{view:"sessions",flightId:V.flightId,...V.sessionId?{sessionId:V.sessionId}:{},...j?{machineId:j}:{}},{returnTo:p})},children:"Run details"})]})]})}),hn&&Ct>0&&a.jsxs("button",{type:"button",className:"s-thread-new-messages",onClick:Jn,children:[a.jsx("span",{"aria-hidden":"true",children:"↓"})," ",Ct," new ",Ct===1?"message":"messages"," · jump to latest"]}),a.jsx("div",{ref:hs})]}),x.showTyping&&a.jsxs("div",{className:Dn,children:[a.jsx("div",{className:"s-thread-presence-line-avatars",children:a.jsx(ts,{agent:H??void 0,name:O,placement:"turn",className:"s-thread-presence-line-avatar",title:O})}),a.jsx("span",{className:"s-thread-presence-line-label",children:_n}),a.jsx("div",{className:Wn,"aria-hidden":"true"})]}),a.jsx(ba,{composeRef:$,draft:R,setDraft:B,composePlaceholder:oa,slashState:ue,setSlashState:Fe,filteredSlashCommands:vn,applySlashCommand:Nn,mentionState:me,setMentionState:Oe,filteredMentions:xn,applyMention:Mn,updateTriggersFromDraft:Cn,closeSuggestions:kn,replyTarget:ce,onCancelReply:aa,isStopMode:ia,sending:ee,composeAction:ra,onSend:()=>{Zn()},onInterrupt:()=>{zt()},sendReceipt:wn,attachments:pe,isAgentBusy:ge,busyIntent:Ps,onBusyIntentChange:ht,queued:fe,queueNote:la,onEditQueued:ta,editingQueuedId:xe?.id??null,editingAttachmentCount:Os.length,onCancelEdit:sa,onUnqueue:ea,onSendQueuedNow:t=>{na(t)}})]})})}function ss(){return a.jsxs("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[a.jsx("polyline",{points:"9 14 4 9 9 4"}),a.jsx("path",{d:"M20 20v-7a4 4 0 0 0-4-4H4"})]})}const Ii=Tr({id:"thread",label:"Thread",route:{view:"conversation",conversationId:""},webPath:"/chat",screen:"ConversationScreen",embed:{path:"/embed/thread",profile:"macos.thread",rootClassName:"s-thread-embed",chrome:{showSecondaryNav:!1,showPageStatusBar:!1},hosts:{macos:!0},resolveEmbedProps:mr}});export{Mi as ConversationScreen,Ii as scoutSurface};
@@ -1 +0,0 @@
1
- import{r as c,j as s}from"./index-sUomXsrf.js";import{a as k}from"./api-h5zurxmi.js";import{u as R}from"./sse-CVoGDiKW.js";import{d as $,t as F}from"./time-Dhsh_2EG.js";import{SessionRefScreen as j}from"./SessionRefScreen-D7TfPYPN.js";/* empty css */import{c as E}from"./createLucideIcon-DlxlBfLC.js";import{X as A}from"./x-0XjXwGqq.js";import"./index-BWHgHrtv.js";import"./tail-events-CTipUIli.js";import"./BackToPicker-CkUmHuuo.js";import"./router-Dja9_ygK.js";import"./terminal-sessions-D5CIR2OL.js";import"./ConversationScreen-Dz2d_Z_F.js";import"./NewChatComposer-B5FnPyzS.js";import"./runtime-picker-DOZpZOlt.js";import"./scout-voice-BZ4KqADJ.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-lWOOKezu.js";import"./MessageComposerSuggestions-zAUUcLOv.js";import"./index-m6dFtY5f.js";import"./HarnessMark-Dm_qm1Ku.js";import"./conversation-model-C4yb6_FA.js";import"./colors-BtO5_zlx.js";import"./NewChatOrigin--pHWUb4V.js";import"./keyboard-nav-BhZZ5HEq.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-BFai6ZfE.js";import"./search-DCT_EvPr.js";import"./file-text-i3xTDUjJ.js";import"./ConversationComposer-BBNPa5S9.js";import"./Provider-tFc3jqZ4.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-BlBQhpax.js";import"./DocumentFocusViewer-DU_9BHsD.js";import"./TextDocumentSurface-C-9EtYqt.js";/* empty css */import"./chevron-right-CyUa1zXx.js";import"./code-xml-05TD3uOC.js";import"./arrow-left-WjQIN9J6.js";import"./chunk-HRAB3GC3-CvwpNg-G.js";import"./message-markup-C8Nx04sP.js";import"./mentions-CY_wPZc5.js";import"./AgentDetailCard-DxxVkgT1.js";import"./AgentLiveActions-CZdAInEu.js";import"./terminal-takeover-X97KCSJk.js";import"./openContent-C6XO6kr5.js";import"./eye-So8tNNK6.js";import"./terminal-DXQISjZn.js";import"./message-visibility-kJM8XcSG.js";import"./sessionRead-CvFz2RHv.js";import"./clipboard-e3fSpeo7.js";import"./AgentAvatar-CufDA4A-.js";import"./SpriteAvatar-CQs-jC-v.js";import"./agent-identity-xQHedtLl.js";import"./types-B0PlfpKc.js";/* empty css */import"./ConversationHeader-DXMT-YXv.js";import"./ConversationFeedRows-BuejHMCY.js";import"./ConversationPanels-DHCtilQF.js";import"./use-reduced-motion-Cvk-HRKg.js";import"./activity-WhBf3FXP.js";import"./message-circle-C5UZ6fO7.js";import"./tail-display-BdyoLvzY.js";import"./lane-edit-display-C_Aujldz.js";import"./ConversationStatus-DSgdVofa.js";import"./conversation-icons-DohQL6GI.js";import"./SessionObserve-Dlx5vDaV.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-BzehBmdi.js";import"./lane-observe-DrhKkQ3A.js";import"./lane-ask-display-B6iCAVcd.js";import"./ObservedTopologyPanel-Dv6fbHzW.js";import"./ObserveTextFlow-CBitljxi.js";import"./SessionObserveEvidence-ChBD1d4c.js";import"./wrench-pEVd8JnN.js";import"./external-link-CnjcXf32.js";/* empty css */const T=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]],L=E("columns-2",T);function S(t){const o=new Map;for(const r of t)o.delete(r.sessionId),o.set(r.sessionId,r);return[...o.values()]}function M(t,o){const r=S(t),p=o?.trim()||null;return r.find(n=>n.sessionId===p)?.sessionId??r.at(-1)?.sessionId??p}function O(t){return t.length<=34?t:`${t.slice(0,15)}…${t.slice(-14)}`}function q(t,o){return o===0?t.strategy||"dispatch":t.strategy?`switched via ${t.strategy}`:"session changed"}function y({label:t,sessions:o,value:r,onChange:p}){return s.jsxs("label",{className:"s-flight-observe-select-wrap",children:[s.jsx("span",{children:t}),s.jsx("select",{className:"s-flight-observe-select",value:r,onChange:n=>p(n.currentTarget.value),children:o.map(n=>s.jsxs("option",{value:n.sessionId,children:[n.harness?`${n.harness} · `:"",n.sessionId]},n.sessionId))})]})}function he({route:t,navigate:o}){const[r,p]=c.useState(null),[n,I]=c.useState(!0),[h,N]=c.useState(null),u=c.useCallback(async()=>{try{const e=await k(`/api/flights?active=false&flightId=${encodeURIComponent(t.flightId)}`);p(e[0]??null),N(e.length===0?"This flight is not available on the connected broker.":null)}catch(e){N(e instanceof Error?e.message:String(e))}finally{I(!1)}},[t.flightId]);c.useEffect(()=>{I(!0),u()},[u]),R(()=>{u()});const v=r?.sessions??[],a=c.useMemo(()=>S(v),[v]),g=M(v,t.sessionId),i=a.find(e=>e.sessionId===g)??null,l=a.find(e=>e.sessionId===t.compareSessionId)??null,f=!!(i&&l&&i.sessionId!==l.sessionId),m=c.useCallback((e,d)=>{o({...t,sessionId:e,...d?{compareSessionId:d}:{compareSessionId:void 0}})},[o,t]),w=c.useCallback(()=>{if(!i||a.length<2)return;const e=[...a].reverse().find(d=>d.sessionId!==i.sessionId);e&&m(i.sessionId,e.sessionId)},[i,a,m]),C=c.useCallback(e=>{if(!f||!i||!l){m(e);return}m(e,e===l.sessionId?i.sessionId:l.sessionId)},[l,i,f,m]);return s.jsxs("div",{className:"s-flight-observe",children:[s.jsxs("header",{className:"s-flight-observe-header",children:[s.jsxs("div",{className:"s-flight-observe-heading",children:[s.jsx("div",{className:"s-flight-observe-eyebrow",children:"Flight observe"}),s.jsxs("div",{className:"s-flight-observe-title-row",children:[s.jsx("h2",{children:r?.agentName||r?.agentId||"Flight"}),s.jsx("span",{className:`s-flight-observe-state s-flight-observe-state--${r?.state??"loading"}`,children:r?.state??(n?"loading":"unknown")})]}),s.jsx("div",{className:"s-flight-observe-id",title:t.flightId,children:t.flightId}),r?.summary&&s.jsx("p",{children:r.summary})]}),s.jsxs("div",{className:"s-flight-observe-actions",children:[a.length>1&&!f&&s.jsxs("button",{type:"button",onClick:w,children:[s.jsx(L,{size:13})," Split view"]}),f&&i&&s.jsxs("button",{type:"button",onClick:()=>m(i.sessionId),children:[s.jsx(A,{size:13})," Close split"]})]})]}),v.length>0&&s.jsx("nav",{className:"s-flight-observe-trace","aria-label":"Flight session history",children:v.map((e,d)=>{const b=i?.sessionId===e.sessionId,x=l?.sessionId===e.sessionId;return s.jsxs("div",{className:"s-flight-observe-trace-step",children:[d>0&&s.jsx("span",{className:"s-flight-observe-trace-arrow","aria-hidden":"true",children:"→"}),s.jsxs("button",{type:"button",className:"s-flight-observe-session-chip","data-selected":b||x,"data-observe-role":b?"primary":x?"compare":"idle","aria-pressed":b||x,title:e.sessionId,onClick:()=>C(e.sessionId),children:[s.jsxs("span",{className:"s-flight-observe-session-chip-top",children:[s.jsx("span",{children:e.harness||e.transport||"session"}),s.jsx("time",{title:new Date(e.startedAt).toLocaleString(),children:$(e.startedAt)||F(e.startedAt)})]}),s.jsx("strong",{children:O(e.sessionId)}),s.jsx("small",{children:q(e,d)})]})]},`${e.sessionId}:${e.startedAt}:${d}`)})}),h&&!g&&s.jsx("div",{className:"s-flight-observe-message s-flight-observe-message--error",children:h}),h&&g&&s.jsxs("div",{className:"s-flight-observe-message",children:[s.jsx("strong",{children:"Flight record unavailable"}),s.jsx("span",{children:"Showing the concrete session captured by this link."})]}),!h&&n&&s.jsx("div",{className:"s-flight-observe-message",children:"Resolving the flight’s session trace…"}),!h&&!n&&a.length===0&&!g&&s.jsxs("div",{className:"s-flight-observe-message",children:[s.jsx("strong",{children:"Waiting for a session"}),s.jsx("span",{children:"The flight is stable here; its trace will appear as soon as a harness acknowledges dispatch."})]}),g&&!f&&s.jsx("main",{className:"s-flight-observe-single",children:s.jsx(j,{sessionRef:g,navigate:o})}),!h&&i&&l&&f&&s.jsxs("main",{className:"s-flight-observe-split",children:[s.jsxs("section",{className:"s-flight-observe-pane",children:[s.jsx(y,{label:"Primary session",sessions:a,value:i.sessionId,onChange:e=>m(e,e===l.sessionId?i.sessionId:l.sessionId)}),s.jsx("div",{className:"s-flight-observe-pane-content",children:s.jsx(j,{sessionRef:i.sessionId,navigate:o,showObserveRail:!1})})]}),s.jsxs("section",{className:"s-flight-observe-pane",children:[s.jsx(y,{label:"Compare session",sessions:a.filter(e=>e.sessionId!==i.sessionId),value:l.sessionId,onChange:e=>m(i.sessionId,e)}),s.jsx("div",{className:"s-flight-observe-pane-content",children:s.jsx(j,{sessionRef:l.sessionId,navigate:o,showObserveRail:!1})})]})]})]})}export{he as FlightObserveScreen};
@@ -1 +0,0 @@
1
- import{r as o,j as r}from"./index-sUomXsrf.js";import{a as h}from"./api-h5zurxmi.js";import{t as p,r as c,m as g}from"./follow-route-BvcGtBIL.js";import{s as l}from"./router-Dja9_ygK.js";/* empty css */import"./terminal-sessions-D5CIR2OL.js";function F({route:e,navigate:t}){const[d,m]=o.useState(null),i=o.useMemo(()=>p(e),[e]);return o.useEffect(()=>{let n=!1;const s=new URLSearchParams;return e.flightId&&s.set("flightId",e.flightId),e.invocationId&&s.set("invocationId",e.invocationId),e.conversationId&&s.set("conversationId",e.conversationId),e.workId&&s.set("workId",e.workId),e.sessionId&&s.set("sessionId",e.sessionId),e.targetAgentId&&s.set("targetAgentId",e.targetAgentId),(async()=>{try{const a=s.toString(),f=a?await h(`/api/follow?${a}`):i;if(n)return;t(l(c(g(f,i),e.preferredView),e.machineId??null))}catch(a){if(n)return;m(a instanceof Error?a.message:String(a)),t(l(c(i,e.preferredView),e.machineId??null))}})(),()=>{n=!0}},[i,t,e]),r.jsx("div",{className:"s-sessions-screen s-inbox-thread-redesign",children:r.jsx("section",{className:"s-thread-overview",children:r.jsxs("div",{className:"s-thread-overview-copy",children:[r.jsxs("div",{className:"s-sessions-header s-thread-overview-heading",children:[r.jsx("h2",{className:"s-page-title",children:"Follow"}),r.jsx("span",{className:"s-meta s-tabular",children:e.preferredView??"auto"})]}),r.jsx("p",{className:"s-thread-overview-summary",children:d?"Opening the closest available Scout view.":"Resolving Scout context..."})]})})})}export{F as FollowScreen};
@@ -1 +0,0 @@
1
- import{j as e}from"./index-sUomXsrf.js";function p(o){const i=o?.trim().toLowerCase();if(!i)return"unknown";const n=i.replace(/[\s(].*$/,"").replace(/[_-].*$/,""),l={anthropic:"claude",claude:"claude",claudecode:"claude",sonnet:"claude",opus:"claude",openai:"codex",codex:"codex",gpt:"codex",chatgpt:"codex",oai:"codex",xai:"grok",grok:"grok",kimi:"kimi",moonshot:"kimi",google:"gemini",gemini:"gemini",vertex:"gemini",cursor:"cursor",github:"github",opencode:"opencode",oc:"opencode",amp:"amp",sourcegraph:"amp",pi:"pi",inflection:"pi",claw:"claw",native:"native",worker:"worker",quad:"quad"};return l[n]??l[i.replace(/[\s(].*$/,"")]??i}const g={claude:"Claude",codex:"Codex",grok:"Grok",kimi:"Kimi",gemini:"Gemini",cursor:"Cursor",github:"GitHub",opencode:"OpenCode",amp:"Amp",pi:"Pi",claw:"Claw",native:"Native",worker:"Worker",quad:"Quad"};function m(o){const i=p(o);return g[i]??(o?.trim()||"Unknown")}const c={fill:{fill:"currentColor"},line:{fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"}},t={claude:"m4.7144 15.9555 4.7174-2.6471.079-.2307-.079-.1275h-.2307l-.7893-.0486-2.6956-.0729-2.3375-.0971-2.2646-.1214-.5707-.1215-.5343-.7042.0546-.3522.4797-.3218.686.0608 1.5179.1032 2.2767.1578 1.6514.0972 2.4468.255h.3886l.0546-.1579-.1336-.0971-.1032-.0972L6.973 9.8356l-2.55-1.6879-1.3356-.9714-.7225-.4918-.3643-.4614-.1578-1.0078.6557-.7225.8803.0607.2246.0607.8925.686 1.9064 1.4754 2.4893 1.8336.3643.3035.1457-.1032.0182-.0728-.164-.2733-1.3539-2.4467-1.445-2.4893-.6435-1.032-.17-.6194c-.0607-.255-.1032-.4674-.1032-.7285L6.287.1335 6.6997 0l.9957.1336.419.3642.6192 1.4147 1.0018 2.2282 1.5543 3.0296.4553.8985.2429.8318.091.255h.1579v-.1457l.1275-1.706.2368-2.0947.2307-2.6957.0789-.7589.3764-.9107.7468-.4918.5828.2793.4797.686-.0668.4433-.2853 1.8517-.5586 2.9021-.3643 1.9429h.2125l.2429-.2429.9835-1.3053 1.6514-2.0643.7286-.8196.85-.9046.5464-.4311h1.0321l.759 1.1293-.34 1.1657-1.0625 1.3478-.8804 1.1414-1.2628 1.7-.7893 1.36.0729.1093.1882-.0183 2.8535-.607 1.5421-.2794 1.8396-.3157.8318.3886.091.3946-.3278.8075-1.967.4857-2.3072.4614-3.4364.8136-.0425.0304.0486.0607 1.5482.1457.6618.0364h1.621l3.0175.2247.7892.522.4736.6376-.079.4857-1.2142.6193-1.6393-.3886-3.825-.9107-1.3113-.3279h-.1822v.1093l1.0929 1.0686 2.0035 1.8092 2.5075 2.3314.1275.5768-.3218.4554-.34-.0486-2.2039-1.6575-.85-.7468-1.9246-1.621h-.1275v.17l.4432.6496 2.3436 3.5214.1214 1.0807-.17.3521-.6071.2125-.6679-.1214-1.3721-1.9246L14.38 17.959l-1.1414-1.9428-.1397.079-.674 7.2552-.3156.3703-.7286.2793-.6071-.4614-.3218-.7468.3218-1.4753.3886-1.9246.3157-1.53.2853-1.9004.17-.6314-.0121-.0425-.1397.0182-1.4328 1.9672-2.1796 2.9446-1.7243 1.8456-.4128.164-.7164-.3704.0667-.6618.4008-.5889 2.386-3.0357 1.4389-1.882.929-1.0868-.0062-.1579h-.0546l-6.3385 4.1164-1.1293.1457-.4857-.4554.0608-.7467.2307-.2429 1.9064-1.3114Z",gemini:"M11.04 19.32Q12 21.51 12 24q0-2.49.93-4.68.96-2.19 2.58-3.81t3.81-2.55Q21.51 12 24 12q-2.49 0-4.68-.93a12.3 12.3 0 0 1-3.81-2.58 12.3 12.3 0 0 1-2.58-3.81Q12 2.49 12 0q0 2.49-.96 4.68-.93 2.19-2.55 3.81a12.3 12.3 0 0 1-3.81 2.58Q2.49 12 0 12q2.49 0 4.68.96 2.19.93 3.81 2.55t2.55 3.81",cursor:"M11.503.131 1.891 5.678a.84.84 0 0 0-.42.726v11.188c0 .3.162.575.42.724l9.609 5.55a1 1 0 0 0 .998 0l9.61-5.55a.84.84 0 0 0 .42-.724V6.404a.84.84 0 0 0-.42-.726L12.497.131a1.01 1.01 0 0 0-.996 0M2.657 6.338h18.55c.263 0 .43.287.297.515L12.23 22.918c-.062.107-.229.064-.229-.06V12.335a.59.59 0 0 0-.295-.51l-9.11-5.257c-.109-.063-.064-.23.061-.23",github:"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12",opencode:"M22 24H2V0h20zM17 4.8H7v14.4h10z"},r=o=>e.jsx("path",{d:o,fill:"currentColor"}),k={amp:{viewBox:"0.6 1.4 8.8 8.8",paths:["M2.37694 9.23487L4.34679 7.23716L5.06365 9.95891L6.10505 9.67408L5.06749 5.72214L1.17831 4.6688L0.901367 5.73289L3.5775 6.45984L1.61584 8.45465L2.37694 9.23487Z","M8.05742 6.91898L9.09885 6.63416L8.0613 2.68224L4.17209 1.62891L3.89515 2.693L7.17936 3.58514L8.05742 6.91898Z","M6.56226 8.43797L7.60365 8.15314L6.5661 4.20121L2.67692 3.14787L2.39998 4.21196L5.68416 5.10411L6.56226 8.43797Z"]},grok:{viewBox:"0 0 34 33",paths:["M13.2371 21.0407L24.3186 12.8506C24.8619 12.4491 25.6384 12.6057 25.8973 13.2294C27.2597 16.5185 26.651 20.4712 23.9403 23.1851C21.2297 25.8989 17.4581 26.4941 14.0108 25.1386L10.2449 26.8843C15.6463 30.5806 22.2053 29.6665 26.304 25.5601C29.5551 22.3051 30.562 17.8683 29.6205 13.8673L29.629 13.8758C28.2637 7.99809 29.9647 5.64871 33.449 0.844576C33.5314 0.730667 33.6139 0.616757 33.6964 0.5L29.1113 5.09055V5.07631L13.2343 21.0436","M10.9503 23.0313C7.07343 19.3235 7.74185 13.5853 11.0498 10.2763C13.4959 7.82722 17.5036 6.82767 21.0021 8.2971L24.7595 6.55998C24.0826 6.07017 23.215 5.54334 22.2195 5.17313C17.7198 3.31926 12.3326 4.24192 8.67479 7.90126C5.15635 11.4239 4.0499 16.8403 5.94992 21.4622C7.36924 24.9165 5.04257 27.3598 2.69884 29.826C1.86829 30.7002 1.0349 31.5745 0.36364 32.5L10.9474 23.0341"]}},C=e.jsx("path",{fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd",d:"M8.086.457a6.105 6.105 0 013.046-.415c1.333.153 2.521.72 3.564 1.7a.117.117 0 00.107.029c1.408-.346 2.762-.224 4.061.366l.063.03.154.076c1.357.703 2.33 1.77 2.918 3.198.278.679.418 1.388.421 2.126a5.655 5.655 0 01-.18 1.631.167.167 0 00.04.155 5.982 5.982 0 011.578 2.891c.385 1.901-.01 3.615-1.183 5.14l-.182.22a6.063 6.063 0 01-2.934 1.851.162.162 0 00-.108.102c-.255.736-.511 1.364-.987 1.992-1.199 1.582-2.962 2.462-4.948 2.451-1.583-.008-2.986-.587-4.21-1.736a.145.145 0 00-.14-.032c-.518.167-1.04.191-1.604.185a5.924 5.924 0 01-2.595-.622 6.058 6.058 0 01-2.146-1.781c-.203-.269-.404-.522-.551-.821a7.74 7.74 0 01-.495-1.283 6.11 6.11 0 01-.017-3.064.166.166 0 00.008-.074.115.115 0 00-.037-.064 5.958 5.958 0 01-1.38-2.202 5.196 5.196 0 01-.333-1.589 6.915 6.915 0 01.188-2.132c.45-1.484 1.309-2.648 2.577-3.493.282-.188.55-.334.802-.438.286-.12.573-.22.861-.304a.129.129 0 00.087-.087A6.016 6.016 0 015.635 2.31C6.315 1.464 7.132.846 8.086.457zm-.804 7.85a.848.848 0 00-1.473.842l1.694 2.965-1.688 2.848a.849.849 0 001.46.864l1.94-3.272a.849.849 0 00.007-.854l-1.94-3.393zm5.446 6.24a.849.849 0 000 1.695h4.848a.849.849 0 000-1.696h-4.848z"}),j=e.jsxs("g",{fill:"currentColor",children:[e.jsx("path",{d:"M4.5 3h3.4v7.4L14.7 3h4.5l-7.9 8.5L19.8 21h-4.6l-7.3-8.2V21H4.5Z"}),e.jsx("circle",{cx:"20.2",cy:"3.8",r:"1.8"})]}),v=e.jsxs("g",{...c.line,strokeWidth:2,children:[e.jsx("path",{d:"M6.5 8.5h11"}),e.jsx("path",{d:"M10 8.5 9 17M14.2 8.5 15.2 17"})]}),w=e.jsxs("g",{...c.line,children:[e.jsx("path",{d:"M6.5 8 11 12l-4.5 4"}),e.jsx("path",{d:"M12.5 16.5H18",strokeWidth:1.8})]}),M=e.jsxs("g",{...c.line,strokeWidth:1.8,children:[e.jsx("path",{d:"M12 4.5 18.5 8.2v7.6L12 19.5 5.5 15.8V8.2L12 4.5Z"}),e.jsx("circle",{cx:12,cy:12,r:2.7})]}),y=e.jsxs("g",{...c.fill,children:[e.jsx("rect",{x:5.5,y:5.5,width:5.4,height:5.4,rx:1.3}),e.jsx("rect",{x:13.1,y:5.5,width:5.4,height:5.4,rx:1.3}),e.jsx("rect",{x:5.5,y:13.1,width:5.4,height:5.4,rx:1.3}),e.jsx("rect",{x:13.1,y:13.1,width:5.4,height:5.4,rx:1.3})]}),f=e.jsxs("g",{...c.line,strokeWidth:2,children:[e.jsx("path",{d:"M7.5 6Q9.5 12 8.5 18"}),e.jsx("path",{d:"M12 5.5Q14 12 13 18.5"}),e.jsx("path",{d:"M16.5 6Q18.5 12 17.5 18"})]}),b={claude:r(t.claude),codex:C,kimi:j,gemini:r(t.gemini),cursor:r(t.cursor),github:r(t.github),opencode:r(t.opencode),pi:v,native:w,worker:M,quad:y,claw:f};function G({harness:o,size:i=14,className:n,style:l,title:d}){const a=p(o),s=k[a],x=b[a],h=d===null?void 0:d??m(o);return e.jsx("span",{className:n,style:l,title:h,"aria-hidden":h?void 0:!0,children:e.jsx("svg",{viewBox:s?.viewBox??"0 0 24 24",width:i,height:i,style:{display:"block"},role:"img","aria-label":h,children:s?s.paths.map((u,L)=>e.jsx("path",{d:u,fill:"currentColor"},L)):x??e.jsx("text",{x:"12",y:"12",textAnchor:"middle",dominantBaseline:"central",fontSize:"13",fontWeight:"600",fontFamily:"var(--font-mono)",fill:"currentColor",children:(a[0]??"?").toUpperCase()})})})}export{G as H,m as h};
@@ -1 +0,0 @@
1
- import{r as u,j as e}from"./index-sUomXsrf.js";import{H as R,h as q}from"./HarnessMark-Dm_qm1Ku.js";import{a as M}from"./api-h5zurxmi.js";import{b as D}from"./router-Dja9_ygK.js";import{t as O,n as S,f as L}from"./time-Dhsh_2EG.js";import{u as P}from"./Provider-tFc3jqZ4.js";import{u as T}from"./useContentSecondaryNav-ZfBNi3d4.js";import{OpsSubnav as E}from"./OpsSubnav-CoN8utF8.js";/* empty css */import{R as U}from"./refresh-cw-D8PFyhUa.js";import{E as $}from"./external-link-CnjcXf32.js";import{c as H}from"./createLucideIcon-DlxlBfLC.js";import"./terminal-sessions-D5CIR2OL.js";import"./sse-CVoGDiKW.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-BlBQhpax.js";import"./DocumentFocusViewer-DU_9BHsD.js";import"./TextDocumentSurface-C-9EtYqt.js";/* empty css */import"./file-text-i3xTDUjJ.js";import"./x-0XjXwGqq.js";import"./chevron-right-CyUa1zXx.js";import"./code-xml-05TD3uOC.js";import"./arrow-left-WjQIN9J6.js";import"./scout-voice-BZ4KqADJ.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BhZZ5HEq.js";import"./MessageComposerSuggestions-zAUUcLOv.js";import"./NewChatComposer-B5FnPyzS.js";import"./runtime-picker-DOZpZOlt.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-lWOOKezu.js";import"./index-m6dFtY5f.js";import"./conversation-model-C4yb6_FA.js";import"./NewChatOrigin--pHWUb4V.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-BFai6ZfE.js";import"./search-DCT_EvPr.js";import"./chunk-HRAB3GC3-CvwpNg-G.js";import"./SecondaryNav-Bks0CO2h.js";import"./secondaryNavConfig-Drb7wPG4.js";import"./message-square-BD-4UUdc.js";import"./terminal-DXQISjZn.js";import"./scroll-text-BIYf6g6N.js";/* empty css */const _=[["path",{d:"M11 14h10",key:"1w8e9d"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v1.344",key:"1e62lh"}],["path",{d:"m17 18 4-4-4-4",key:"z2g111"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113",key:"bjbb7m"}],["rect",{x:"8",y:"2",width:"8",height:"4",rx:"1",key:"ublpy"}]],z=H("clipboard-paste",_),B={codex:"Codex",claude:"Claude",kimi:"Kimi",minimax:"MiniMax",cursor:"Cursor",native:"Native",worker:"Worker",bridge:"Bridge",http:"HTTP",pi:"Pi",flue:"Flue",github:"GitHub",unknown:"Unknown"},C=[{id:"claude",description:"Anthropic plan windows captured from Claude Code.",links:[{label:"Usage",href:"https://claude.ai/settings/usage"},{label:"Manage plan",href:"https://claude.ai/settings/billing"}]},{id:"codex",description:"OpenAI plan windows reported by local Codex sessions.",links:[{label:"Usage",href:"https://chatgpt.com/codex/settings/usage"},{label:"Open Codex",href:"https://chatgpt.com/codex"}]},{id:"kimi",description:"Kimi Code subscription windows and membership level.",links:[{label:"Kimi Code",href:"https://www.kimi.com/code"},{label:"Docs",href:"https://www.kimi.com/code/docs/en/"}]},{id:"grok",description:"SuperGrok quota reported by local Grok, with dashboard capture and local activity as fallbacks.",links:[{label:"Open Grok",href:"https://grok.com/"},{label:"Billing",href:"https://grok.com/?_s=billing"},{label:"Help",href:"https://docs.x.ai/grok/faq"}]},{id:"minimax",description:"MiniMax Token Plan 5-hour and weekly allowance.",links:[{label:"Usage",href:"https://platform.minimax.io/console/plan"},{label:"Docs",href:"https://platform.minimax.io/docs/token-plan/intro"}]},{id:"cursor",description:"Cursor membership detected locally, plus usage totals from an exported dashboard capture.",links:[{label:"Usage",href:"https://cursor.com/dashboard/usage"},{label:"Manage plan",href:"https://cursor.com/dashboard/billing"}]}],G={cloudflare:[{label:"Dashboard",href:"https://dash.cloudflare.com/"},{label:"Billing",href:"https://dash.cloudflare.com/?to=/:account/billing"}],vercel:[{label:"Dashboard",href:"https://vercel.com/dashboard"},{label:"Billing",href:"https://vercel.com/account/billing"}],exe:[{label:"VMs",href:"https://exe.dev/"},{label:"Billing",href:"https://exe.dev/user/billing"},{label:"Docs",href:"https://exe.dev/docs/what-is-exe"}]},V={exe:{category:"Agent compute",description:"Persistent VMs for remote Scout agents and isolated workloads."},cloudflare:{category:"Edge platform",description:"Workers, networking, and edge infrastructure available for deployment."},vercel:{category:"App hosting",description:"Projects, preview environments, and production deployments."}};function W({provider:s}){return e.jsx("span",{className:`hs-cloud-mark hs-cloud-mark--${s}`,"aria-hidden":"true",children:s==="exe"?e.jsx("img",{src:"https://exe.dev/apple-touch-icon.png",alt:"",loading:"lazy",decoding:"async",referrerPolicy:"no-referrer"}):e.jsx("svg",{viewBox:"0 0 24 24",focusable:"false",children:s==="cloudflare"?e.jsx("path",{d:"M16.5088 16.8447c.1475-.5068.0908-.9707-.1553-1.3154-.2246-.3164-.6045-.499-1.0615-.5205l-8.6592-.1123a.1559.1559 0 0 1-.1333-.0713c-.0283-.042-.0351-.0986-.021-.1553.0278-.084.1123-.1484.2036-.1562l8.7359-.1123c1.0351-.0489 2.1601-.8868 2.5537-1.9136l.499-1.3013c.0215-.0561.0293-.1128.0147-.168-.5625-2.5463-2.835-4.4453-5.5499-4.4453-2.5039 0-4.6284 1.6177-5.3876 3.8614-.4927-.3658-1.1187-.5625-1.794-.499-1.2026.119-2.1665 1.083-2.2861 2.2856-.0283.31-.0069.6128.0635.894C1.5683 13.171 0 14.7754 0 16.752c0 .1748.0142.3515.0352.5273.0141.083.0844.1475.1689.1475h15.9814c.0909 0 .1758-.0645.2032-.1553l.12-.4268Zm2.7568-5.5634c-.0771 0-.1611 0-.2383.0112-.0566 0-.1054.0415-.127.0976l-.3378 1.1744c-.1475.5068-.0918.9707.1543 1.3164.2256.3164.6055.498 1.0625.5195l1.8437.1133c.0557 0 .1055.0263.1329.0703.0283.043.0351.1074.0214.1562-.0283.084-.1132.1485-.204.1553l-1.921.1123c-1.041.0488-2.1582.8867-2.5527 1.914l-.1406.3585c-.0283.0713.0215.1416.0986.1416h6.5977c.0771 0 .1474-.0489.169-.126.1122-.4082.1757-.837.1757-1.2803 0-2.6025-2.125-4.727-4.7344-4.727"}):e.jsx("path",{d:"m12 1.608 12 20.784H0Z"})})})}function F(s){const t=(s??"").trim().toLowerCase();return t?t.includes("claude")?"claude":t.includes("codex")?"codex":t.includes("cursor")?"cursor":t.includes("kimi")||t.includes("moonshot")?"kimi":t.includes("minimax")?"minimax":t.includes("github")?"github":t.replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")||"unknown":"unknown"}function N(s){return B[s]??q(s)}function K(s){switch(s){case"weekly":return"7d";case"req/h":return"1h";default:return s||"quota"}}function v(s){return s.windows&&s.windows.length>0?s.windows:[{label:K(s.unitLabel),fill:s.fill,usedLabel:s.usedLabel,capLabel:s.capLabel,unitLabel:s.unitLabel,resetAt:s.resetAt}]}function Q(s){return s.capLabel==="100%"&&s.usedLabel.endsWith("%")?s.usedLabel:`${s.usedLabel}/${s.capLabel}`}function A(s){return s>=.9?"err":s>=.75?"warn":"ok"}function Z(s,t=30){const a=s??[];if(a.length<=t)return a;if(t<=1)return[a[a.length-1]];const r=(a.length-1)/(t-1);return Array.from({length:t},(n,o)=>a[Math.round(o*r)])}function I(s){const t=Math.floor((s-Date.now())/1e3),a=t<0,r=Math.abs(t);let n;if(r>=86400){const o=Math.floor(r/86400),c=Math.floor(r%86400/3600);n=c>0?`${o}d ${c}h`:`${o}d`}else if(r>=3600){const o=Math.floor(r/3600),c=Math.floor(r%3600/60);n=c>0?`${o}h ${c}m`:`${o}h`}else n=`${Math.max(1,Math.floor(r/60))}m`;return a?`stale ${n}`:n}function J(s){if(!s)return null;const t=S(s.capturedAt);if(t)return t;if(s.kind!=="quota")return null;const a=v(s).reduce((r,n)=>{const o=S(n.capturedAt);return Math.max(r??0,o??0)||r},null);return a||v(s).flatMap(r=>r.history??[]).reduce((r,n)=>{const o=S(n.capturedAt);return Math.max(r??0,o??0)||r},null)}function X({provider:s,onImported:t}){const[a,r]=u.useState(!1),[n,o]=u.useState(""),[c,b]=u.useState(!1),[i,d]=u.useState(null),l=`hs-${s}-dashboard-capture`,m=N(s);if(!a)return e.jsxs("button",{type:"button",className:"hs-dashboard-capture-trigger",onClick:()=>r(!0),children:[e.jsx(z,{size:12,"aria-hidden":"true"}),"Import dashboard"]});const x=async p=>{if(p.preventDefault(),!(!n.trim()||c)){b(!0),d(null);try{await M("/api/service-budgets/dashboard-import",{method:"POST",body:JSON.stringify({provider:s,text:n})}),o(""),d("Usage snapshot imported."),await t()}catch(h){d(h instanceof Error?h.message:String(h))}finally{b(!1)}}};return e.jsxs("form",{className:"hs-dashboard-capture",onSubmit:p=>{x(p)},children:[e.jsxs("label",{htmlFor:l,children:[m," usage snapshot"]}),e.jsxs("p",{children:[s==="cursor"?"Paste the exported Usage CSV or copied usage table.":"Copy the signed-in Usage panel and paste it here."," ","Scout keeps only normalized totals, not this text."]}),e.jsx("textarea",{id:l,value:n,onChange:p=>o(p.target.value),maxLength:128*1024,rows:5,placeholder:s==="cursor"?"Date (UTC),Type,Model,Tokens,Cost…":"Weekly SuperGrok… Limit · 12% used · Resets…","aria-describedby":i?`${l}-message`:void 0}),i?e.jsx("span",{id:`${l}-message`,className:"hs-dashboard-capture-message",role:"status",children:i}):null,e.jsxs("div",{className:"hs-dashboard-capture-actions",children:[e.jsx("button",{type:"button",onClick:()=>{r(!1),d(null)},disabled:c,children:"Cancel"}),e.jsx("button",{type:"submit",disabled:!n.trim()||c,children:c?"Importing…":"Use snapshot"})]})]})}function Y(s){const t=new Map(s.map(a=>[F(a.id),a]));return C.map(({id:a})=>({id:a,label:N(a),gauge:t.get(a)??null}))}function ee({points:s}){const t=Z(s);return t.length===0?e.jsx("span",{className:"hs-history hs-history-empty",children:"live"}):e.jsx("span",{className:"hs-history","aria-label":`${t.length} budget samples`,children:t.map((a,r)=>{const n=Math.max(.06,Math.min(1,a.fill));return e.jsx("span",{className:`hs-history-bar hs-history-bar--${A(a.fill)}`,style:{height:`${Math.round(n*100)}%`},title:`${L(a.capturedAt)||"unknown"} ${a.usedLabel}`},`${a.capturedAt}:${r}`)})})}function se({gauge:s,window:t}){const a=Math.max(0,Math.min(100,Math.round(t.fill*100))),r=100-a,n=A(t.fill),o=Number.isFinite(t.resetAt)?new Date(t.resetAt).toISOString():void 0;return e.jsxs("div",{className:"hs-subscription-window",children:[e.jsxs("div",{className:"hs-subscription-window-head",children:[e.jsxs("div",{children:[e.jsxs("span",{className:"hs-subscription-window-label",children:[t.label," window"]}),e.jsxs("strong",{className:`hs-subscription-usage hs-subscription-usage--${n}`,children:[a,"% used"]})]}),e.jsxs("div",{className:"hs-subscription-remaining",children:[e.jsxs("strong",{children:[r,"%"]}),e.jsx("span",{children:"available"})]})]}),e.jsx("div",{className:"hs-subscription-meter",role:"progressbar","aria-label":`${s.label} ${t.label} usage`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":a,children:e.jsx("span",{className:`hs-subscription-meter-fill hs-subscription-meter-fill--${n}`,style:{width:`${a}%`}})}),e.jsxs("div",{className:"hs-subscription-window-meta",children:[e.jsxs("span",{children:[Q(t)," ",t.unitLabel==="quota"?"quota":t.unitLabel]}),e.jsxs("span",{children:["resets in ",I(t.resetAt),o?e.jsx("time",{dateTime:o,title:L(t.resetAt)||void 0,children:` · ${L(t.resetAt)||""}`}):null]})]}),e.jsx(ee,{points:t.history})]})}function te(){return e.jsxs("div",{className:"hs-subscription-loading","aria-hidden":"true",children:[e.jsx("span",{className:"hs-loading-line hs-loading-line--label"}),e.jsx("span",{className:"hs-loading-line hs-loading-line--value"}),e.jsx("span",{className:"hs-loading-meter"}),e.jsx("span",{className:"hs-loading-line hs-loading-line--meta"}),e.jsx("span",{className:"hs-loading-history"})]})}function ae({rows:s,loading:t,onImported:a}){const r=C.map(i=>({provider:i,row:s.find(d=>d.id===i.id)??null})),n=r.filter(({row:i})=>i?.gauge).length,o=r.filter(({row:i})=>i?.gauge?.kind==="quota").length,c=r.filter(({row:i})=>i?.gauge?.kind==="quota"&&i.gauge.plan||i?.gauge?.kind==="status").length,b=r.flatMap(({row:i})=>i?.gauge?.kind==="quota"?v(i.gauge):[]).map(i=>i.resetAt).filter(i=>i>Date.now()).sort((i,d)=>i-d)[0];return e.jsxs("section",{className:"hs-subscriptions","aria-labelledby":"hs-subscriptions-title","aria-busy":t,children:[e.jsxs("div",{className:"hs-section-head hs-subscriptions-head",children:[e.jsxs("div",{children:[e.jsx("h3",{id:"hs-subscriptions-title",children:"Subscriptions"}),e.jsx("p",{children:"Plans, remaining allowance, reset windows, and the fastest path to each provider dashboard."})]}),e.jsxs("div",{className:"hs-subscription-summary","aria-label":"Subscription feed summary",children:[e.jsxs("span",{children:[e.jsx("strong",{children:t?"—":n})," detected"]}),e.jsxs("span",{children:[e.jsx("strong",{children:t?"—":o})," usage feeds"]}),e.jsxs("span",{children:[e.jsx("strong",{children:t?"—":c})," plans named"]}),e.jsxs("span",{children:[e.jsx("strong",{children:t?"—":b?I(b):"-"})," next reset"]})]})]}),e.jsx("div",{className:"hs-subscription-grid",children:r.map(({provider:i,row:d})=>{const l=d?.gauge??null,m=t&&!l,x=m?"loading":l?"connected":"missing",p=l?.kind==="quota"?l.plan:l?.kind==="status"?l.statusLabel:null,h=J(l),y=l?.kind==="quota"?"Usage connected":l?.kind==="status"?l.detailLabel||"Subscription detected":m?"Checking":"Not detected";return e.jsxs("article",{className:`hs-subscription-card hs-subscription-card--${x}`,children:[e.jsxs("header",{className:"hs-subscription-card-head",children:[e.jsxs("div",{className:"hs-subscription-provider",children:[e.jsx(R,{harness:i.id,size:18,title:null,className:"hs-subscription-mark"}),e.jsxs("div",{children:[e.jsx("h4",{children:N(i.id)}),e.jsx("span",{children:m?"Checking local plan…":p||"Plan not reported"})]})]}),e.jsx("span",{className:`hs-subscription-state hs-subscription-state--${x}`,children:y})]}),e.jsx("p",{className:"hs-subscription-description",children:i.description}),m?e.jsx(te,{}):l?.kind==="quota"?e.jsx("div",{className:"hs-subscription-windows",children:v(l).map(f=>e.jsx(se,{gauge:l,window:f},`${i.id}:${f.label}`))}):l?.kind==="status"?e.jsxs("div",{className:"hs-subscription-status-detail",children:[e.jsx("strong",{children:l.statusLabel}),e.jsx("span",{children:l.detailLabel||"Subscription detected locally. Open the provider dashboard for live usage."})]}):e.jsxs("div",{className:"hs-subscription-missing",children:[e.jsx("strong",{children:"No local subscription feed yet"}),e.jsx("span",{children:"Open the provider locally, then refresh Scout."})]}),i.id==="cursor"||i.id==="grok"&&l?.kind!=="quota"?e.jsx(X,{provider:i.id,onImported:a}):null,e.jsxs("footer",{className:"hs-subscription-footer",children:[e.jsxs("span",{children:[m?"checking local feed":h?`updated ${O(h)||"now"}`:l?"detected locally":"waiting for provider data",l?.source?` · ${l.source}`:""]}),e.jsx("nav",{"aria-label":`${N(i.id)} quick links`,children:i.links.map(f=>e.jsxs("a",{href:f.href,target:"_blank",rel:"noreferrer",children:[f.label,e.jsx($,{size:11,"aria-hidden":"true"})]},f.href))})]})]},i.id)})})]})}function re({accounts:s,loading:t}){return s.length===0&&!t?null:e.jsxs("section",{className:"hs-cloud-accounts","aria-labelledby":"hs-cloud-accounts-title","aria-busy":t,children:[e.jsxs("div",{className:"hs-section-head hs-cloud-accounts-head",children:[e.jsxs("div",{children:[e.jsx("h3",{id:"hs-cloud-accounts-title",children:"Cloud accounts"}),e.jsx("p",{children:"Infrastructure available to Scout for deployment and agent compute."})]}),e.jsx("span",{className:"hs-section-meta",children:t?"checking accounts":`${s.length} connected`})]}),e.jsxs("div",{className:"hs-cloud-grid",children:[t&&s.length===0?Array.from({length:3},(a,r)=>e.jsxs("article",{className:"hs-cloud-card hs-cloud-card--loading","aria-hidden":"true",children:[e.jsxs("header",{className:"hs-cloud-card-head",children:[e.jsx("span",{className:"hs-loading-mark"}),e.jsx("span",{className:"hs-loading-line hs-loading-line--cloud-title"})]}),e.jsx("span",{className:"hs-loading-line hs-loading-line--cloud-copy"}),e.jsxs("footer",{className:"hs-cloud-card-footer",children:[e.jsx("span",{className:"hs-loading-line hs-loading-line--cloud-meta"}),e.jsx("span",{className:"hs-loading-actions"})]})]},r)):null,s.map(a=>{const r=V[a.id];return e.jsxs("article",{className:"hs-cloud-card",children:[e.jsxs("header",{className:"hs-cloud-card-head",children:[e.jsxs("div",{className:"hs-cloud-identity",children:[e.jsx(W,{provider:a.id}),e.jsxs("div",{children:[e.jsx("span",{className:"hs-cloud-category",children:r.category}),e.jsx("h4",{children:a.label})]})]}),e.jsx("span",{className:"hs-subscription-state hs-subscription-state--connected",children:a.statusLabel})]}),e.jsx("p",{className:"hs-cloud-description",children:r.description}),e.jsxs("footer",{className:"hs-cloud-card-footer",children:[e.jsxs("span",{className:"hs-cloud-connection",children:[e.jsx("span",{className:"hs-cloud-dot","aria-hidden":"true"}),a.detailLabel]}),e.jsx("nav",{"aria-label":`${a.label} quick links`,children:G[a.id].map(n=>e.jsxs("a",{href:n.href,target:"_blank",rel:"noreferrer",children:[n.label,e.jsx($,{size:11,"aria-hidden":"true"})]},n.href))})]})]},a.id)})]})]})}function ss({navigate:s}){const{route:t}=P(),a=D(t),[r,n]=u.useState([]),[o,c]=u.useState([]),[b,i]=u.useState(!0),[d,l]=u.useState(!1),[m,x]=u.useState(null),p=u.useRef(0),h=u.useCallback(async(g=!1,k=!1)=>{const w=++p.current;k&&i(!0),l(!0),x(null);try{const j=await M(`/api/service-budgets${g?"?refresh=1":""}`);if(w!==p.current)return;n(j.gauges??[]),c(j.cloudAccounts??[])}catch(j){w===p.current&&x(j instanceof Error?j.message:String(j))}finally{w===p.current&&(i(!1),l(!1))}},[]);u.useEffect(()=>{let g=!1,k;return h(!1,!0).then(()=>{g||(k=window.setTimeout(()=>{h(!0)},600))}),()=>{g=!0,k!==void 0&&window.clearTimeout(k)}},[h]),u.useEffect(()=>{const g=window.setInterval(()=>{h(!1)},3e4);return()=>window.clearInterval(g)},[h]);const y=u.useMemo(()=>Y(r),[r]),f=T();return e.jsxs("div",{className:"s-ops",children:[f?e.jsx("div",{className:"s-ops-header",children:e.jsx(E,{activeRoute:{view:"harnesses",...a?{machineId:a}:{}},navigate:s})}):null,e.jsx("div",{className:"s-ops-body hs-body",children:e.jsxs("div",{className:"hs-page",children:[e.jsxs("header",{className:"hs-page-head",children:[e.jsxs("div",{className:"hs-title-group",children:[e.jsx("span",{className:"hs-kicker",children:"ops / provider central"}),e.jsx("h2",{children:"Agent Providers"}),e.jsx("p",{children:"See what you pay for, how much remains, and where to use it."})]}),e.jsxs("button",{type:"button",className:"hs-refresh",disabled:d,onClick:()=>{h(!0)},children:[e.jsx(U,{size:14,className:d?"hs-refresh-icon-spinning":"","aria-hidden":"true"}),e.jsx("span",{children:d?"Refreshing":"Refresh"})]})]}),m&&e.jsxs("div",{className:"hs-error",role:"status","aria-live":"polite",children:["refresh: ",m]}),e.jsx(ae,{rows:y,loading:b,onImported:()=>h(!1)}),e.jsx(re,{accounts:o,loading:b})]})})]})}export{ss as HarnessesScreen};
@@ -1 +0,0 @@
1
- import{r as l,j as e}from"./index-sUomXsrf.js";/* empty css */import{a as F}from"./api-h5zurxmi.js";import{d as we}from"./time-Dhsh_2EG.js";import{u as ve}from"./Provider-tFc3jqZ4.js";import{n as le,p as Ce,o as Ee,q as Ke,t as oe,K as m,S as qe,v as fe,x as Le,y as Ae,z as Te,A as ce,B as ue,C as Ie,D as He,E as Re,F as $e,G as De,H as Fe}from"./router-Dja9_ygK.js";import{S as Me}from"./search-DCT_EvPr.js";import{X as We}from"./x-0XjXwGqq.js";import{L as de}from"./loader-circle-lWOOKezu.js";import{c as Oe}from"./createLucideIcon-DlxlBfLC.js";import{S as Pe}from"./sparkles-up7pVlX-.js";import{C as Ue}from"./chevron-down-BFai6ZfE.js";import{C as ze}from"./clock-DviOalxA.js";import"./sse-CVoGDiKW.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-BlBQhpax.js";import"./DocumentFocusViewer-DU_9BHsD.js";import"./TextDocumentSurface-C-9EtYqt.js";/* empty css */import"./file-text-i3xTDUjJ.js";import"./chevron-right-CyUa1zXx.js";import"./code-xml-05TD3uOC.js";import"./arrow-left-WjQIN9J6.js";import"./scout-voice-BZ4KqADJ.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BhZZ5HEq.js";import"./MessageComposerSuggestions-zAUUcLOv.js";import"./NewChatComposer-B5FnPyzS.js";import"./runtime-picker-DOZpZOlt.js";import"./voice-levels-Dcr3jglk.js";import"./index-m6dFtY5f.js";import"./HarnessMark-Dm_qm1Ku.js";import"./conversation-model-C4yb6_FA.js";import"./NewChatOrigin--pHWUb4V.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chunk-HRAB3GC3-CvwpNg-G.js";import"./terminal-sessions-D5CIR2OL.js";const _e=[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]],Be=Oe("funnel",_e);function y(i){return new Intl.NumberFormat("en-US").format(i||0)}function Ge({text:i,query:n}){return e.jsx(e.Fragment,{children:De(i,n).map((o,c)=>o.match?e.jsx("mark",{children:o.text},c):e.jsx("span",{children:o.text},c))})}function Je(i,n){i.target===i.currentTarget&&(i.key!=="Enter"&&i.key!==" "||(i.preventDefault(),n()))}async function Xe(){return F("/api/knowledge/status")}async function Qe(i){const n=new URLSearchParams;for(const o of i)n.append("key",o);return n.set("limit","200"),F(`/api/knowledge/search-primitives?${n.toString()}`)}async function G(i,n){const o=new URLSearchParams({q:i,limit:String(m.hitLimit)});if(n.sourceKinds.length>0)for(const u of n.sourceKinds)o.append("sourceKind",u);for(const u of n.harness)o.append("harness",u);for(const u of n.project)o.append("project",u);const c=$e(n.timeWindow);return c!=null&&o.set("updatedAfterMs",String(c)),F(`/api/knowledge/search?${o.toString()}`)}async function he(i=!1){return F("/api/knowledge/sessions/index",{method:"POST",body:JSON.stringify({days:m.days,limit:m.sessionLimit,force:i})})}const Ve=Le;function T({active:i,onClick:n,count:o,label:c,ariaLabel:u}){return e.jsxs("button",{type:"button",className:`ks-chip${i?" ks-chip--active":""}`,onClick:n,"aria-pressed":i,"aria-label":u??c,children:[e.jsx("span",{className:"ks-chip-label",children:c}),typeof o=="number"?e.jsx("span",{className:"ks-chip-count","aria-hidden":"true",children:y(o)}):null]})}function xe(i){return i&&i.split(/[\s_-]+/u).filter(n=>n.length>0).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(" ")}function me(i,n,o=6){return i?i.filter(c=>c.key===n&&c.value.length>0).sort((c,u)=>u.count-c.count||c.value.localeCompare(u.value)).slice(0,o):[]}function pe(i){return i.sourceKinds.length>0||i.harness.length>0||i.project.length>0||i.timeWindow!=="all"}function Ye(i){const n=[];return i.sourceKinds.length>0&&n.push(i.sourceKinds.map(o=>fe[o]??o).join(" + ")),i.harness.length>0&&n.push(i.harness.map(xe).join(" + ")),i.project.length>0&&n.push(i.project.join(" + ")),i.timeWindow!=="all"&&n.push(Fe(i.timeWindow)),n.length>0?`Filters: ${n.join(" · ")}`:""}function Os({navigate:i,mode:n,hitId:o,routeFilters:c}){const{selectedKnowledgeHit:u,inspectKnowledgeHit:g,clearKnowledgeHit:S}=ve(),ke=l.useMemo(()=>c||(typeof window>"u"?le():Ce(window.location.search)),[c]),[E,I]=l.useState(null),[J,je]=l.useState(null),[a,M]=l.useState(ke),[w,X]=l.useState([]),[W,Q]=l.useState(!1),[K,H]=l.useState(!1),[O,b]=l.useState(null),[ye,R]=l.useState(!1),[V,Y]=l.useState(!1),q=l.useRef(a);q.current=a;const p=(E?.chunks??0)>0,$=E?.activeJobs[0]??null,v=l.useMemo(()=>Ee(w),[w]),Z=K||!!$,L=a.query.trim(),P=Ke(a);l.useEffect(()=>{c&&M(s=>oe(s,c)?s:c)},[c]);const f=l.useMemo(()=>{const s=[];for(const t of v)s.push(...t.moments);return s},[v]),C=l.useCallback((s,t)=>{X(t.hits),I(t.status);const d=(o?t.hits.find(x=>x.id===o):void 0)??t.hits[0];d?g(d,s.query,s):S()},[o,g,S]),U=l.useCallback(async s=>{const t=s.query.trim();if(!t){X([]),S();return}Q(!0);try{b(null),C(s,await G(t,s))}catch(r){b(r instanceof Error?r.message:String(r))}finally{Q(!1)}},[C,S]),ee=l.useCallback(async(s=!1)=>{H(!0);try{b(null);const t=await he(s);I(t.status),R(!0);const r=q.current;t.status.chunks>0&&r.query.trim()&&C(r,await G(r.query.trim(),r))}catch(t){b(t instanceof Error?t.message:String(t))}finally{H(!1)}},[C]);l.useEffect(()=>{let s=!1;return(async()=>{try{const t=await Xe();if(s)return;I(t),R(!0),b(null)}catch{}if(!s){H(!0);try{b(null);const t=await he(!1);if(s)return;I(t.status),R(!0);const r=q.current;t.status.chunks>0&&r.query.trim()&&C(r,await G(r.query.trim(),r))}catch(t){s||(b(t instanceof Error?t.message:String(t)),R(!0))}finally{s||H(!1)}}})(),()=>{s=!0}},[C]),l.useEffect(()=>{if(!p||V)return;let s=!1;return(async()=>{try{const t=await Qe(["harness","project","sourceKind"]);s||(je(t),Y(!0))}catch{s||Y(!0)}})(),()=>{s=!0}},[p,V]),l.useEffect(()=>{if(!p)return;const s=window.setTimeout(()=>{U(a)},m.debounceMs);return()=>window.clearTimeout(s)},[a,p,U]);const ge=s=>{if(s.preventDefault(),!p&&!K){ee(!1);return}U(a)},j=l.useCallback(s=>{M(t=>{const r={...t,...s};return oe(t,r)?t:(i({view:"search",...n?{mode:n}:{},filters:r},{replace:!0}),r)})},[n,i]),A=l.useCallback(()=>{const s=le();M(s),i({view:"search",...n?{mode:n}:{},filters:s},{replace:!0})},[n,i]),be=l.useCallback(()=>{f[0]&&g(f[0],q.current.query)},[f,g]);l.useEffect(()=>{function s(t){const r=t.target,d=r&&(r.tagName==="INPUT"||r.tagName==="TEXTAREA"||r.isContentEditable);if(t.key==="/"&&!d){t.preventDefault();const x=document.querySelector(".ks-search-input");x?.focus(),x?.select()}else if(t.key==="Escape"&&!d)f.length>0?S():A();else if(!d&&(t.key==="j"||t.key==="k")){if(f.length===0)return;t.preventDefault();const x=u?f.findIndex(z=>z.id===u.id):-1,N=t.key==="j"?Math.min(f.length-1,x+1):Math.max(0,x-1),D=f[N];D&&g(D,q.current.query)}}return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[f,g,S,u,A]);const Ne=E?we(E.generatedAt)||"just now":"—",Se=Z?$?`Indexing ${y($.progress.indexed??0)} of ${y($.progress.discovered??0)}`:p?`Refreshing last ${m.days} days in the background`:`Building last ${m.days} days of sessions`:p?`${y(E?.chunks??0)} moments · last ${m.days} days · updated ${Ne}`:ye?"No index yet":"Loading index",se=me(J?.facets,"harness"),te=me(J?.facets,"project");return e.jsxs("main",{className:"ks-page",children:[e.jsxs("div",{className:"ks-shell",children:[e.jsx("header",{className:"ks-header",children:e.jsxs("div",{className:"ks-header-titles",children:[e.jsx("span",{className:"ks-eyebrow",children:"Search"}),e.jsx("h1",{children:"Find anything you ran, opened, or decided"}),e.jsxs("p",{children:["Search across sessions, skills, MCP tools, codebase, and context packs from the last ",m.days," days."]})]})}),e.jsxs("form",{className:"ks-search-form",onSubmit:ge,role:"search",children:[e.jsx(Me,{size:17,strokeWidth:1.75,"aria-hidden":"true"}),e.jsx("input",{value:a.query,onChange:s=>j({query:s.target.value}),placeholder:"Search topics, files, decisions, agents…",className:"ks-search-input",spellCheck:!1,autoFocus:!0,"aria-label":"Search OpenScout knowledge"}),a.query?e.jsx("button",{type:"button",className:"ks-search-clear",onClick:()=>j({query:""}),"aria-label":"Clear search",children:e.jsx(We,{size:14,"aria-hidden":"true"})}):e.jsx("span",{className:"ks-search-hint","aria-hidden":"true",children:"/"}),W?e.jsx(de,{size:15,className:"ks-spin","aria-hidden":"true"}):null]}),e.jsxs("section",{className:"ks-filterbar","aria-label":"Search filters",children:[e.jsxs("div",{className:"ks-filterbar-row",children:[e.jsxs("span",{className:"ks-filterbar-label",children:[e.jsx(Be,{size:12,"aria-hidden":"true"}),"Source"]}),e.jsx("div",{className:"ks-chip-row",role:"group","aria-label":"Source kind filters",children:qe.map(s=>e.jsx(T,{active:a.sourceKinds.includes(s),onClick:()=>j({sourceKinds:a.sourceKinds.includes(s)?a.sourceKinds.filter(t=>t!==s):[...a.sourceKinds,s]}),label:fe[s]??s},s))})]}),se.length>0?e.jsxs("div",{className:"ks-filterbar-row",children:[e.jsxs("span",{className:"ks-filterbar-label",children:[e.jsx(Pe,{size:12,"aria-hidden":"true"}),"Agent"]}),e.jsx("div",{className:"ks-chip-row",role:"group","aria-label":"Harness filters",children:se.map(s=>e.jsx(T,{active:a.harness.includes(s.value),onClick:()=>j({harness:a.harness.includes(s.value)?a.harness.filter(t=>t!==s.value):[...a.harness,s.value]}),label:xe(s.value),count:s.count},`harness:${s.value}`))})]}):null,te.length>0?e.jsxs("div",{className:"ks-filterbar-row",children:[e.jsxs("span",{className:"ks-filterbar-label",children:[e.jsx(Ue,{size:12,"aria-hidden":"true"}),"Project"]}),e.jsx("div",{className:"ks-chip-row",role:"group","aria-label":"Project filters",children:te.map(s=>e.jsx(T,{active:a.project.includes(s.value),onClick:()=>j({project:a.project.includes(s.value)?a.project.filter(t=>t!==s.value):[...a.project,s.value]}),label:s.value,count:s.count},`project:${s.value}`))})]}):null,e.jsxs("div",{className:"ks-filterbar-row ks-filterbar-row--inline",children:[e.jsxs("span",{className:"ks-filterbar-label",children:[e.jsx(ze,{size:12,"aria-hidden":"true"}),"Time"]}),e.jsxs("div",{className:"ks-chip-row",role:"group","aria-label":"Time window filter",children:[e.jsx(T,{active:a.timeWindow==="all",onClick:()=>j({timeWindow:"all"}),label:"Any time"}),Ve.map(s=>e.jsx(T,{active:a.timeWindow===s.value,onClick:()=>j({timeWindow:s.value}),label:s.label},s.value))]}),pe(a)?e.jsx("button",{type:"button",className:"ks-clear-all",onClick:A,children:"Clear filters"}):null]})]}),O?e.jsx("section",{className:"ks-error",role:"alert",children:O}):null,!p&&!O?e.jsxs("div",{className:"ks-empty-state",children:[e.jsx("strong",{children:K?"Preparing your session index":"Preparing search"}),e.jsxs("span",{children:["First load builds the last ",m.days," days"," ","(up to ",y(m.sessionLimit)," sessions). You can keep this page open — results appear as soon as the index is ready."]})]}):null,p?e.jsxs("div",{className:"ks-hit-list",role:"listbox","aria-label":"Search results",children:[e.jsxs("div",{className:"ks-hit-list-head","aria-live":"polite",children:[e.jsx("span",{children:W?"Searching…":L?`${y(v.length)} session${v.length===1?"":"s"}`:"Ready"}),L&&w.length>0?e.jsxs("span",{className:"ks-hit-list-meta",children:[y(w.length)," moment",w.length===1?"":"s",P?e.jsxs(e.Fragment,{children:[" · ",e.jsx("button",{type:"button",className:"ks-text-action",onClick:A,children:"Clear filters"})]}):null]}):null]}),L&&v.length===0&&!W?e.jsxs("div",{className:"ks-empty-hit",children:[e.jsxs("strong",{children:["No matches for “",L,"”"]}),e.jsxs("span",{children:["Try a project name, file path, or topic from recent work",P?", or clear one of the filters above.":"."]}),e.jsxs("div",{className:"ks-empty-hit-actions",children:[e.jsx("button",{type:"button",className:"ks-text-action",onClick:()=>j({query:""}),children:"Clear query"}),P?e.jsx("button",{type:"button",className:"ks-text-action",onClick:A,children:"Clear all filters"}):null]})]}):null,L?null:e.jsxs("div",{className:"ks-empty-hit ks-empty-hit--quiet",children:[e.jsx("strong",{children:"Start with a query"}),e.jsxs("span",{children:["Type a topic, file path, agent, or session hint. Use"," ",e.jsx("kbd",{children:"/"})," to focus this field, ",e.jsx("kbd",{children:"j"}),"/",e.jsx("kbd",{children:"k"})," to walk results, ",e.jsx("kbd",{children:"↵"})," to select, ",e.jsx("kbd",{children:"⌘↵"})," to open the session."]}),e.jsx("button",{type:"button",className:"ks-text-action",onClick:be,disabled:w.length===0,children:"Pick the first result automatically"})]}),e.jsx("div",{className:"ks-hit-list-body",children:v.map((s,t)=>{const r=s.best,d=Ae(r),x=Te(r),N=ce(ue(r)),D=()=>{N&&i({view:"sessions",sessionId:N})},z=s.moments.some(k=>u?.id===k.id);return e.jsxs("section",{className:`ks-session${z?" ks-session--selected":""}`,"aria-label":`Session ${t+1}`,children:[e.jsxs("header",{className:"ks-session-head",children:[e.jsxs("div",{className:"ks-session-topline",children:[e.jsxs("div",{className:"ks-session-meta",children:[d.agent?e.jsx("span",{className:"ks-hit-chip",children:d.agent}):null,d.project?e.jsx("span",{children:d.project}):null,d.session?e.jsxs("span",{className:"ks-hit-session",title:N??d.session,children:["session ",d.session]}):null,e.jsxs("span",{className:"ks-session-count",children:[y(s.moments.length)," match",s.moments.length===1?"":"es"]})]}),d.when?e.jsx("time",{className:"ks-hit-when",children:d.when}):null]}),e.jsx("button",{type:"button",className:"ks-session-goal",onClick:D,title:N?"Open session":void 0,children:x})]}),e.jsx("div",{className:"ks-session-moments",children:s.moments.map(k=>{const ie=Ie(k,a.query),ne=u?.id===k.id,_=He(k,a.query,200),ae=Re(k),B=()=>g(k,a.query),re=()=>{const h=ce(ue(k))??N;if(!h){B();return}i({view:"sessions",sessionId:h})};return e.jsx("article",{className:`ks-hit${ne?" ks-hit--selected":""}`,role:"option","aria-selected":ne,tabIndex:0,onClick:B,onDoubleClick:re,onKeyDown:h=>{if(h.key==="Enter"&&(h.metaKey||h.ctrlKey)){h.preventDefault(),re();return}Je(h,B)},children:e.jsxs("div",{className:"ks-hit-body",children:[ae.length>0?e.jsx("div",{className:"ks-hit-details ks-hit-details--moment","aria-label":"Turn",children:ae.map(h=>e.jsx("span",{className:"ks-hit-details-strong",children:h},h))}):null,e.jsx("h3",{className:"ks-hit-title",children:ie}),_&&_!==ie?e.jsx("p",{className:"ks-hit-snippet",children:e.jsx(Ge,{text:_,query:a.query})}):null]})},k.id)})})]},s.collectionId)})})]}):null]}),e.jsxs("footer",{className:"ks-foot-status","aria-live":"polite",children:[e.jsxs("span",{className:"ks-foot-status-facts",children:[Z?e.jsx(de,{size:12,className:"ks-spin","aria-hidden":"true"}):null,Se,pe(a)?e.jsxs(e.Fragment,{children:[" · ",Ye(a)]}):null]}),e.jsx("button",{type:"button",className:"ks-text-action",onClick:()=>{ee(!0)},disabled:K,children:K?"Updating…":"Update index"})]})]})}export{Os as KnowledgeSearchScreen};
@@ -1 +0,0 @@
1
- import{r as f,j as e}from"./index-sUomXsrf.js";import{S as L}from"./SlidePanel-FCqT1zO3.js";import{A as j}from"./AgentAvatar-CufDA4A-.js";import{H as S}from"./HarnessMark-Dm_qm1Ku.js";import{t as N}from"./time-Dhsh_2EG.js";import{o as g,f as k,b as y}from"./lane-observe-DrhKkQ3A.js";import{S as A}from"./SessionObserve-Dlx5vDaV.js";import{LaneTraceEventFocus as E}from"./LaneTraceEventFocus-DYvHfs_3.js";import{b as T}from"./agent-lane-detail-Cw4QVAgH.js";import{l as I,a as z}from"./agent-lanes-model-Bl6xfviL.js";import"./SpriteAvatar-CQs-jC-v.js";import"./agent-identity-xQHedtLl.js";import"./colors-BtO5_zlx.js";import"./tail-display-BdyoLvzY.js";import"./lane-edit-display-C_Aujldz.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-BzehBmdi.js";import"./index-m6dFtY5f.js";import"./lane-ask-display-B6iCAVcd.js";import"./api-h5zurxmi.js";import"./mentions-CY_wPZc5.js";import"./Provider-tFc3jqZ4.js";import"./router-Dja9_ygK.js";import"./terminal-sessions-D5CIR2OL.js";import"./sse-CVoGDiKW.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-BlBQhpax.js";import"./DocumentFocusViewer-DU_9BHsD.js";import"./createLucideIcon-DlxlBfLC.js";import"./TextDocumentSurface-C-9EtYqt.js";/* empty css */import"./file-text-i3xTDUjJ.js";import"./x-0XjXwGqq.js";import"./chevron-right-CyUa1zXx.js";import"./code-xml-05TD3uOC.js";import"./arrow-left-WjQIN9J6.js";import"./scout-voice-BZ4KqADJ.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BhZZ5HEq.js";import"./MessageComposerSuggestions-zAUUcLOv.js";import"./NewChatComposer-B5FnPyzS.js";import"./runtime-picker-DOZpZOlt.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-lWOOKezu.js";import"./conversation-model-C4yb6_FA.js";import"./NewChatOrigin--pHWUb4V.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-BFai6ZfE.js";import"./search-DCT_EvPr.js";import"./chunk-HRAB3GC3-CvwpNg-G.js";import"./AgentDetailCard-DxxVkgT1.js";import"./AgentLiveActions-CZdAInEu.js";import"./terminal-takeover-X97KCSJk.js";import"./openContent-C6XO6kr5.js";import"./eye-So8tNNK6.js";import"./terminal-DXQISjZn.js";import"./message-markup-C8Nx04sP.js";import"./ObservedTopologyPanel-Dv6fbHzW.js";import"./ObserveTextFlow-CBitljxi.js";import"./use-reduced-motion-Cvk-HRKg.js";import"./SessionObserveEvidence-ChBD1d4c.js";import"./message-circle-C5UZ6fO7.js";import"./wrench-pEVd8JnN.js";import"./external-link-CnjcXf32.js";import"./context-budget-DX_fwUs3.js";const M={think:"Thought",tool:"Tool",ask:"Request",message:"Message",note:"Note",system:"System",boot:"Boot"};function Je({target:d,onClose:n}){const{lane:i,event:t}=d,{agent:s,observe:l,source:r,lastActiveAt:a}=i,p=f.useMemo(()=>T(i),[i]),c=I(s,r),v=z(s,r),h=M[t.kind]??t.kind,u=l?.metadata?.session?.sessionStart,o=g(t,u),b=o!=null?k(o,a):void 0,x=o!=null?y(o):void 0,m=t.kind==="tool"||t.kind==="ask"?t:void 0;return e.jsxs(L,{open:!0,onClose:n,side:"right",owner:"openscout.lane-trace",layer:"elevated",resizable:!0,defaultSize:980,minSize:560,maxSize:1280,scrollLock:!0,ariaLabel:`${c} session trace`,className:"s-lane-trace-sheet",children:[e.jsxs("div",{className:"s-slide-header s-lane-trace-sheet-header",children:[e.jsx(j,{agent:s,placement:"row",size:28,presence:!1,className:"s-agent-lane-avatar"}),e.jsxs("div",{className:"s-lane-trace-sheet-header-copy",children:[e.jsx("div",{className:"s-lane-trace-sheet-title",children:c}),e.jsxs("div",{className:"s-lane-trace-sheet-sub",children:[v," · ",h,a?` · ${N(a)}`:""]})]}),e.jsx("span",{className:"s-slide-spacer"}),e.jsx(S,{harness:s.harness??p.harness,size:18,className:"s-lane-trace-sheet-hmark"}),e.jsx("button",{type:"button",className:"s-slide-close",onClick:n,"aria-label":"Close",children:"×"})]}),e.jsx("div",{className:"s-slide-body s-lane-trace-sheet-body",children:e.jsx(A,{data:l??void 0,agentId:r==="scout"?s.id:void 0,sessionId:s.harnessSessionId??p.sessionId,showRail:!0,variant:"default",initialCursorT:t.t,focusEventId:t.id,inlineFocusEventId:m?.id,inlineFocusContent:m?e.jsx(E,{event:m,wallLabel:b,wallTitle:x,variant:"inline"}):void 0})})]})}export{Je as LaneTraceDetailSheet};