@openscout/scout 0.2.78 → 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 (428) hide show
  1. package/README.md +19 -0
  2. package/bin/scoutd +0 -0
  3. package/dist/build-manifest.json +3 -3
  4. package/dist/client/assets/ActivityScreen-BXm6nJ6L.js +1 -0
  5. package/dist/client/assets/{AddProjectForm-DMnobKch.js → AddProjectForm-CtEiLQnm.js} +1 -1
  6. package/dist/client/assets/{AgentAvatar-D90c1Rzk.js → AgentAvatar-CszU5eaU.js} +1 -1
  7. package/dist/client/assets/AgentConfigurationScreen-CfBXxrsD.js +1 -0
  8. package/dist/client/assets/AgentDefinitionsWorkspace-4Z0aN8AR.js +1 -0
  9. package/dist/client/assets/{AgentDetailCard-BcRBRp88.js → AgentDetailCard-sZuHl1de.js} +1 -1
  10. package/dist/client/assets/AgentFloorView-DMivAYHU.js +1 -0
  11. package/dist/client/assets/AgentInfoScreen-CPkLg1pK.js +1 -0
  12. package/dist/client/assets/{AgentLaneCard-RrNnDZu8.js → AgentLaneCard-nB68f2CI.js} +1 -1
  13. package/dist/client/assets/{AgentLaneChrome-D9ZwUKrl.js → AgentLaneChrome-O9Yf0uR-.js} +1 -1
  14. package/dist/client/assets/AgentLaneDetailSheet-BfhpaEQ3.js +4 -0
  15. package/dist/client/assets/{AgentLaneSummaryResize-BhFmGNzT.js → AgentLaneSummaryResize-Ct3b0TQR.js} +1 -1
  16. package/dist/client/assets/AgentLanesEmbedScreen-CjHMvy3v.js +1 -0
  17. package/dist/client/assets/{AgentLanesPreflight-eSAoDsPi.js → AgentLanesPreflight-DNGvZvjd.js} +1 -1
  18. package/dist/client/assets/AgentLanesView-DqRK5-d2.js +2 -0
  19. package/dist/client/assets/{AgentLiveActions-DBtnD0qE.js → AgentLiveActions-DI4ooSHW.js} +1 -1
  20. package/dist/client/assets/{AgentSessions-DyqOf4nG.js → AgentSessions-BxWIPkWh.js} +2 -2
  21. package/dist/client/assets/AgentsConsole-D6VHSCfZ.js +1 -0
  22. package/dist/client/assets/AgentsScreen-zR6b2bUL.js +1 -0
  23. package/dist/client/assets/AgentsSubnav-q0xcZi6C.js +1 -0
  24. package/dist/client/assets/{AtopView-BCkae3e1.js → AtopView-VZkk40v0.js} +1 -1
  25. package/dist/client/assets/BackToPicker-DZg_4nHL.js +1 -0
  26. package/dist/client/assets/{BriefingDetailScreen-BwFyysT8.js → BriefingDetailScreen-BZU4qMwE.js} +1 -1
  27. package/dist/client/assets/{BriefingsScreen-BQEevztH.js → BriefingsScreen-Bfc3tqPp.js} +1 -1
  28. package/dist/client/assets/{BrokerMetadataPanel-7UjcuNjd.js → BrokerMetadataPanel-CaFe6kdh.js} +1 -1
  29. package/dist/client/assets/BrokerScreen-Chh8sGen.js +5 -0
  30. package/dist/client/assets/{ChatCollapsedStrip-CQSYSd8s.js → ChatCollapsedStrip-Cov54p9V.js} +1 -1
  31. package/dist/client/assets/CodeDiffPane-C1ebFt-Y.js +1 -0
  32. package/dist/client/assets/{CodeProjectPicker-DqKFCpLU.js → CodeProjectPicker-tsCly-f3.js} +1 -1
  33. package/dist/client/assets/CodeScreen-D0hpZNLP.js +1 -0
  34. package/dist/client/assets/{ContextMenu-bARZqTzD.js → ContextMenu-N-Z6X0Z1.js} +1 -1
  35. package/dist/client/assets/ConversationComposer-CiEF7dhd.js +1 -0
  36. package/dist/client/assets/ConversationFeedRows-5it6QNBV.js +1 -0
  37. package/dist/client/assets/ConversationHeader-BGgbITvr.js +1 -0
  38. package/dist/client/assets/ConversationPanels-vI9YuQJh.js +2 -0
  39. package/dist/client/assets/ConversationScreen-C-PrCRz1.js +1 -0
  40. package/dist/client/assets/ConversationScreen-yIKEsm-8.css +1 -0
  41. package/dist/client/assets/ConversationStatus-COEj5loj.js +1 -0
  42. package/dist/client/assets/{DataTable-E8s_MmoA.js → DataTable-BoofV-_4.js} +1 -1
  43. package/dist/client/assets/{DispatchAftermath-Dpe88DFX.js → DispatchAftermath-OXYlMbT1.js} +1 -1
  44. package/dist/client/assets/{DocumentFocusViewer-BeVwwl26.js → DocumentFocusViewer-BCG2kOmd.js} +1 -1
  45. package/dist/client/assets/{EmbeddableSurfacesLab-BQqFQVnI.js → EmbeddableSurfacesLab-C2SZvrHJ.js} +1 -1
  46. package/dist/client/assets/{EmptyState-4F9XDFQm.js → EmptyState-DypEjx0V.js} +1 -1
  47. package/dist/client/assets/{FileViewerPane-CLgUhSm4.js → FileViewerPane-CXCq-oKj.js} +1 -1
  48. package/dist/client/assets/{FleetSearch-Dz5euQJe.js → FleetSearch-Dj7-CfNi.js} +1 -1
  49. package/dist/client/assets/FlightObserveScreen-Yq5NtQQJ.js +1 -0
  50. package/dist/client/assets/FollowScreen-DRgYuAvp.js +1 -0
  51. package/dist/client/assets/HarnessMark-BE-YSyci.js +1 -0
  52. package/dist/client/assets/HarnessesScreen-L-emPcXd.js +1 -0
  53. package/dist/client/assets/HerdrSession-DKFCJMst.js +4 -0
  54. package/dist/client/assets/{HomeHero-B3uYd-pP.js → HomeHero-CAEg8Yg5.js} +1 -1
  55. package/dist/client/assets/KnowledgeSearchInspector-C2EZsQ5i.js +1 -0
  56. package/dist/client/assets/KnowledgeSearchScreen-DvdOFh-b.js +1 -0
  57. package/dist/client/assets/{LaneToolHoverCard-Bla0gBdm.js → LaneToolHoverCard-DrPXYZvQ.js} +1 -1
  58. package/dist/client/assets/LaneTraceDetailSheet-Dl7foF88.js +1 -0
  59. package/dist/client/assets/{LaneTraceEventFocus-BF9ERP5O.js → LaneTraceEventFocus-X4-DDFEo.js} +1 -1
  60. package/dist/client/assets/{MeshCanvas-DFEPkpqY.js → MeshCanvas-rtCBD7s6.js} +2 -2
  61. package/dist/client/assets/{MeshCanvasMinimap-CyVFYixr.js → MeshCanvasMinimap-CuvXOkc7.js} +1 -1
  62. package/dist/client/assets/MeshScreen-D5zzTn0o.js +1 -0
  63. package/dist/client/assets/{MeshTopologyView-CalkZghg.js → MeshTopologyView-CeTShs-U.js} +2 -2
  64. package/dist/client/assets/{MessageComposerSuggestions-DpxN9WiB.js → MessageComposerSuggestions-Cs9u-F_3.js} +1 -1
  65. package/dist/client/assets/MessagesScreen-BhOJ7_tj.js +1 -0
  66. package/dist/client/assets/MissionContextRail-0O-Zu1Tn.js +1 -0
  67. package/dist/client/assets/MissionControlView-D2JO9u-y.js +1 -0
  68. package/dist/client/assets/{MissionFocusOverlay-wlCmWDCT.js → MissionFocusOverlay-LnjmqBiW.js} +1 -1
  69. package/dist/client/assets/MissionLeftAgentRow-nc1Jyq3D.js +1 -0
  70. package/dist/client/assets/MissionLogPane-lZ9vUftY.js +1 -0
  71. package/dist/client/assets/{NewAgentModal-Bg-eWHpY.js → NewAgentModal-K1cvdmZr.js} +1 -1
  72. package/dist/client/assets/NewChatComposer-C5LT7MF7.css +1 -0
  73. package/dist/client/assets/NewChatComposer-DXDxV2Mh.js +19 -0
  74. package/dist/client/assets/{NewChatOrigin-Bk2OyVjI.js → NewChatOrigin-CnjoswTG.js} +1 -1
  75. package/dist/client/assets/ObserveEmbedScreen-CRpzYf0Y.js +2 -0
  76. package/dist/client/assets/{ObserveTextFlow-rsFj_rVo.js → ObserveTextFlow-DJxQc2H6.js} +2 -2
  77. package/dist/client/assets/{ObservedTopologyPanel-DyUeV98H.js → ObservedTopologyPanel-C1AQM0Mq.js} +1 -1
  78. package/dist/client/assets/OpenScoutAppShell-DrHYD_pd.js +87 -0
  79. package/dist/client/assets/OpsAgentsView-BnMX0vEY.js +1 -0
  80. package/dist/client/assets/OpsScreen-BeC0lieE.js +1 -0
  81. package/dist/client/assets/OpsSubnav-D5Bpowtk.js +1 -0
  82. package/dist/client/assets/{PlanView-C1CjH3PG.js → PlanView-DDXdC19M.js} +1 -1
  83. package/dist/client/assets/ProjectAgentProfile-zE1cApxw.js +1 -0
  84. package/dist/client/assets/{ProjectAgentProfileBar-CtTpj6fU.js → ProjectAgentProfileBar-MODhG0P6.js} +1 -1
  85. package/dist/client/assets/ProjectAgentProfileHero-C1ImgGDu.js +1 -0
  86. package/dist/client/assets/ProjectsInbox-C3Jd6JTk.js +2 -0
  87. package/dist/client/assets/{ProjectsRail-BgiuV4LR.js → ProjectsRail-B1zrQLZe.js} +1 -1
  88. package/dist/client/assets/ProjectsScreen-PW_NH5VK.js +1 -0
  89. package/dist/client/assets/ProjectsThreadAside-DaCEUWN1.js +1 -0
  90. package/dist/client/assets/Provider-DSsb2gLR.js +1 -0
  91. package/dist/client/assets/{RailRow-BoGxAHNF.js → RailRow-DerXOXQS.js} +1 -1
  92. package/dist/client/assets/RawSessionsTable-LWEvXJzj.js +1 -0
  93. package/dist/client/assets/RealtimeVoiceScreen-XtxbCjOs.js +1 -0
  94. package/dist/client/assets/{RepoDiffEmbedScreen-C0rumUME.js → RepoDiffEmbedScreen-C9oLCcZX.js} +1 -1
  95. package/dist/client/assets/{RepoDiffPageScreen-DMv6DioL.js → RepoDiffPageScreen-CGEMAv2Z.js} +1 -1
  96. package/dist/client/assets/RepoDiffViewer-CB8PSVey.js +7 -0
  97. package/dist/client/assets/RepoDiffViewerLazy-DIxkiMto.js +2 -0
  98. package/dist/client/assets/{ReposScreen-CB_YBWYf.js → ReposScreen-BN1lVjOj.js} +2 -2
  99. package/dist/client/assets/{ScoutDeckSurface-CxIYFyWx.js → ScoutDeckSurface-BCpl0QCx.js} +1 -1
  100. package/dist/client/assets/{ScoutSurface-CYz_TcWC.js → ScoutSurface-BEnDlynn.js} +1 -1
  101. package/dist/client/assets/{ScoutbotBroadcastChip-L_R9atj0.js → ScoutbotBroadcastChip-z9R_pC_U.js} +1 -1
  102. package/dist/client/assets/{ScoutbotFxLab-CgiZMDMW.js → ScoutbotFxLab-fAROyIfz.js} +1 -1
  103. package/dist/client/assets/{ScoutbotRealtimeVoiceCall-FMQOr1Np.js → ScoutbotRealtimeVoiceCall-CDyFJX8m.js} +1 -1
  104. package/dist/client/assets/{SecondaryNav-B3-nh5dM.js → SecondaryNav-Hv5AJ3Fv.js} +1 -1
  105. package/dist/client/assets/SessionEmbedScreen-CDRpQc3g.js +1 -0
  106. package/dist/client/assets/SessionObserve-BmmJ8dEh.js +12 -0
  107. package/dist/client/assets/SessionObserve-CLrHfAKZ.css +1 -0
  108. package/dist/client/assets/SessionObserveEvidence-CEedIk2a.js +1 -0
  109. package/dist/client/assets/SessionRefScreen-Dk-O4OVt.js +1 -0
  110. package/dist/client/assets/SessionsScreen-BJEjuo2X.js +1 -0
  111. package/dist/client/assets/{SettingsDrawer-XfdAa_nD.js → SettingsDrawer-DL-SVLdd.js} +3 -3
  112. package/dist/client/assets/SettingsDrawer-UX7pFJU_.css +1 -0
  113. package/dist/client/assets/SettingsScreen-DJ-BhBwR.js +1 -0
  114. package/dist/client/assets/{ShikiPane-Ap1iPxYb.js → ShikiPane-B7O4if20.js} +1 -1
  115. package/dist/client/assets/{SlidePanel-COwtoJqR.js → SlidePanel-B3gc5HnM.js} +1 -1
  116. package/dist/client/assets/SpriteAvatar-BpQDpOkq.js +1 -0
  117. package/dist/client/assets/{StatusPill-DhBL__p8.js → StatusPill-B33sQinT.js} +1 -1
  118. package/dist/client/assets/{TailView-DGj_5HA9.js → TailView-DL3YZkzE.js} +2 -2
  119. package/dist/client/assets/Terminal-Dp1FSGIS.js +1 -0
  120. package/dist/client/assets/TerminalEmbedScreen-DP9IM4xf.js +1 -0
  121. package/dist/client/assets/{TextDocumentSurface-BpAw4eQS.js → TextDocumentSurface-DRjctOIt.js} +1 -1
  122. package/dist/client/assets/{TmuxPeek-m1osv33Q.js → TmuxPeek-DNC4uWky.js} +1 -1
  123. package/dist/client/assets/{VoicePermissionsPanel-DsK53ar4.js → VoicePermissionsPanel-WLN0V-Xv.js} +1 -1
  124. package/dist/client/assets/{WorkDetailScreen-Bx0JimPC.js → WorkDetailScreen-D2Yl0mYZ.js} +3 -3
  125. package/dist/client/assets/{WorkFilesViewer-Btl6C2Q1.js → WorkFilesViewer-BbVfcUN-.js} +1 -1
  126. package/dist/client/assets/{activity-CA8qS6PI.js → activity-BxwKkT8z.js} +1 -1
  127. package/dist/client/assets/{addon-fit-BZ-kXjeN.js → addon-fit-B9O2vJoh.js} +1 -1
  128. package/dist/client/assets/{addon-webgl-D9-EQVEK.js → addon-webgl-BhRZFDcn.js} +1 -1
  129. package/dist/client/assets/{agent-essentials-BSY1o46q.js → agent-essentials-SrzMYEXV.js} +1 -1
  130. package/dist/client/assets/agent-identity-BxCsXnDp.js +1 -0
  131. package/dist/client/assets/agent-lane-card-BkWVDYM8.css +1 -0
  132. package/dist/client/assets/{agent-lane-card-model-r2frk57c.js → agent-lane-card-model-DSWdGu-v.js} +1 -1
  133. package/dist/client/assets/agent-lane-detail-BNNm6FNu.js +2 -0
  134. package/dist/client/assets/{agent-lane-preview-CmHVe3dU.js → agent-lane-preview-C33Dwpn7.js} +1 -1
  135. package/dist/client/assets/{agent-lanes-model-B4YTt4OF.js → agent-lanes-model-CPgQRenB.js} +2 -2
  136. package/dist/client/assets/{arc.es-CQBb-dVu.js → arc.es-NlJw-19N.js} +1 -1
  137. package/dist/client/assets/{arrow-down-BPLe0am9.js → arrow-down-D3-IbArq.js} +1 -1
  138. package/dist/client/assets/{arrow-left-DEZzHiPS.js → arrow-left-_vS7itsV.js} +1 -1
  139. package/dist/client/assets/{arrow-up-right-ClxBnsi7.js → arrow-up-right-CcrWONpD.js} +1 -1
  140. package/dist/client/assets/{bot-eu8pBNvI.js → bot-BRINYlC6.js} +1 -1
  141. package/dist/client/assets/{check-DjgFiBxb.js → check-COxArFXG.js} +1 -1
  142. package/dist/client/assets/{chevron-down-BGk5qoEw.js → chevron-down-DRCbnzyY.js} +1 -1
  143. package/dist/client/assets/{chevron-right-XiIHsk4m.js → chevron-right-CNE6QAVr.js} +1 -1
  144. package/dist/client/assets/chunk-HRAB3GC3-CAeEKaf5.js +1 -0
  145. package/dist/client/assets/chunk-JTPDIGGW-s6WbxdjC.js +46 -0
  146. package/dist/client/assets/{chunk-T65CQEWV-CrzwSeEt.js → chunk-T65CQEWV-CiZ_ICHW.js} +1 -1
  147. package/dist/client/assets/chunk-YOZR3KYS-DLOc92uD.js +2 -0
  148. package/dist/client/assets/clock-CyfvRmj6.js +1 -0
  149. package/dist/client/assets/{code-xml-B6jOCM4V.js → code-xml--LjSM4Mv.js} +1 -1
  150. package/dist/client/assets/content-7ZeCPAEt.js +1 -0
  151. package/dist/client/assets/content-BHUcUCH5.js +1 -0
  152. package/dist/client/assets/content-BUhvLPkv.js +1 -0
  153. package/dist/client/assets/content-BomQ5YWo.js +1 -0
  154. package/dist/client/assets/content-C39ELNgC.js +1 -0
  155. package/dist/client/assets/content-C4RYKHut.js +1 -0
  156. package/dist/client/assets/content-CCiZfG4H.js +1 -0
  157. package/dist/client/assets/content-CDpDtVI-.js +1 -0
  158. package/dist/client/assets/content-CO-9CeFd.js +1 -0
  159. package/dist/client/assets/content-CuOLxp1x.js +1 -0
  160. package/dist/client/assets/content-CvtLIjXS.js +1 -0
  161. package/dist/client/assets/content-CzwTUb9n.js +1 -0
  162. package/dist/client/assets/content-DQXbo2RO.js +1 -0
  163. package/dist/client/assets/content-DRTQ9QQb.js +1 -0
  164. package/dist/client/assets/content-LCELs6zg.js +1 -0
  165. package/dist/client/assets/content-Uqt8AG-s.css +1 -0
  166. package/dist/client/assets/content-qsDjA4Au.js +1 -0
  167. package/dist/client/assets/{context-budget-CbB4BDcO.js → context-budget-DX_fwUs3.js} +1 -1
  168. package/dist/client/assets/{conversation-icons-IIG5ha6D.js → conversation-icons-c-hXv7hY.js} +1 -1
  169. package/dist/client/assets/conversation-model-CHwHZNw-.js +1 -0
  170. package/dist/client/assets/conversation-motion-features-T8vF9zED.js +1 -0
  171. package/dist/client/assets/{copy-CQGYbxdu.js → copy-4LfKIdQJ.js} +1 -1
  172. package/dist/client/assets/{createLucideIcon-OpA4Amw5.js → createLucideIcon-ClCdc3F9.js} +1 -1
  173. package/dist/client/assets/discover-7Ks00w-M.js +2 -0
  174. package/dist/client/assets/embed-entry-n2ThmSSX.js +2 -0
  175. package/dist/client/assets/{external-link-CXBytO9o.js → external-link-CnaI1QFS.js} +1 -1
  176. package/dist/client/assets/{eye-0PvebX_a.js → eye-BFlhMzQL.js} +1 -1
  177. package/dist/client/assets/{file-text-BODxCjcz.js → file-text-DG-pufl1.js} +1 -1
  178. package/dist/client/assets/{gestures-CcwOTu8C.js → gestures-CxG3Dphs.js} +1 -1
  179. package/dist/client/assets/home-live-action-BkqGLVRY.js +1 -0
  180. package/dist/client/assets/home-moving-signal-aNJusIzL.js +1 -0
  181. package/dist/client/assets/home-now-card-BQK4EFHx.js +1 -0
  182. package/dist/client/assets/{home-now-card-nano-BcjnOU9H.js → home-now-card-nano-CdtzqSIF.js} +1 -1
  183. package/dist/client/assets/hooks-Dst1TH7n.js +2 -0
  184. package/dist/client/assets/inbox-thread-redesign-B_1ocqaX.css +1 -0
  185. package/dist/client/assets/index-9as_JTUs.css +1 -0
  186. package/dist/client/assets/index-CU9dtwJk.js +1 -0
  187. package/dist/client/assets/{index-DMiGbrBt.js → index-CzVeWScw.js} +6 -6
  188. package/dist/client/assets/index-Dewd56RX.js +1 -0
  189. package/dist/client/assets/index-_YQXKEhb.js +1 -0
  190. package/dist/client/assets/{inspector-panel-DPoCWxKs.js → inspector-panel-DgOM8nCo.js} +2 -2
  191. package/dist/client/assets/keyboard-nav-BJnFoFDP.js +1 -0
  192. package/dist/client/assets/knowledge-search-D_bLoYtC.css +1 -0
  193. package/dist/client/assets/{lane-observe-D0rfKDnU.js → lane-observe-BA3g9aVd.js} +1 -1
  194. package/dist/client/assets/{lane-roster-store-D8x1jac2.js → lane-roster-store-pR4ZaYQm.js} +1 -1
  195. package/dist/client/assets/left-BhzPp-_E.js +1 -0
  196. package/dist/client/assets/left-CN1MABD0.js +2 -0
  197. package/dist/client/assets/left-DDgbsio7.js +1 -0
  198. package/dist/client/assets/left-Dpf2R9uD.js +1 -0
  199. package/dist/client/assets/left-HwwbMVtl.js +2 -0
  200. package/dist/client/assets/left-YfH0daht.js +1 -0
  201. package/dist/client/assets/left-agents-CYUwAy2Z.js +1 -0
  202. package/dist/client/assets/left-default-vEGZALPv.js +1 -0
  203. package/dist/client/assets/left-lanes-bphF-vlX.js +1 -0
  204. package/dist/client/assets/left-mission-B54-c3hq.js +1 -0
  205. package/dist/client/assets/left-np5USKqG.js +1 -0
  206. package/dist/client/assets/left-plan-BNBuDoPQ.js +2 -0
  207. package/dist/client/assets/library-DbCVJG_O.js +1 -0
  208. package/dist/client/assets/{loader-circle-CbHjZsz1.js → loader-circle-Byb9kSFx.js} +1 -1
  209. package/dist/client/assets/{local-agents--00gLMqr.js → local-agents-DBaUbP-_.js} +1 -1
  210. package/dist/client/assets/{mentions-jSuTGeet.js → mentions-fbQJ2mBI.js} +1 -1
  211. package/dist/client/assets/mesh-ops-B1kDjizF.css +1 -0
  212. package/dist/client/assets/mesh-ops-Cnw3vwAu.js +1 -0
  213. package/dist/client/assets/{mesh-view-store-CWidRbTE.js → mesh-view-store-Btlyc7rW.js} +1 -1
  214. package/dist/client/assets/{message-circle-CG-96zts.js → message-circle-aGOfQWm2.js} +1 -1
  215. package/dist/client/assets/{message-markup-3J9pi3nx.js → message-markup-mGF07emJ.js} +1 -1
  216. package/dist/client/assets/{message-square-DSaGpjFU.js → message-square-CIXda-Y7.js} +1 -1
  217. package/dist/client/assets/mission-control-m3BTDQ9l.css +1 -0
  218. package/dist/client/assets/{mission-control-store-BlnEhiCq.js → mission-control-store-CcoNeQHG.js} +1 -1
  219. package/dist/client/assets/mission-wall-CocIM1cF.js +1 -0
  220. package/dist/client/assets/{model-CpAxGuis.js → model-IGCUEsMy.js} +1 -1
  221. package/dist/client/assets/{observe-CuLGD9Zp.js → observe-BNFzh-7B.js} +1 -1
  222. package/dist/client/assets/openAgent-Dbv5wfuL.js +1 -0
  223. package/dist/client/assets/{page-status-DpkedE1F.js → page-status-DDvNdA8s.js} +1 -1
  224. package/dist/client/assets/paperclip-DfpJkR4s.js +1 -0
  225. package/dist/client/assets/{plus--b1raV_O.js → plus-CmFQp9Uj.js} +1 -1
  226. package/dist/client/assets/profile-s3KRbip1.js +1 -0
  227. package/dist/client/assets/{projects-inbox-CHyUFQ6w.js → projects-inbox-Diddml6e.js} +1 -1
  228. package/dist/client/assets/{radio-Bz8ZePxj.js → radio-PauJIekM.js} +1 -1
  229. package/dist/client/assets/{refresh-cw-BBmAnCB7.js → refresh-cw-4oeFn1Jn.js} +1 -1
  230. package/dist/client/assets/repo-diff-DyYmQMSA.css +1 -0
  231. package/dist/client/assets/resolve-panes-cp6eNewO.js +1 -0
  232. package/dist/client/assets/resolve-sidebar-context-Dbo-5PWx.js +1 -0
  233. package/dist/client/assets/right-09W2JJFg.js +1 -0
  234. package/dist/client/assets/right-B-MKhiJ6.js +1 -0
  235. package/dist/client/assets/right-B91Zl8lQ.js +1 -0
  236. package/dist/client/assets/{right-DjRXbnRP.js → right-BcFnuse9.js} +1 -1
  237. package/dist/client/assets/right-BdtMzn35.js +1 -0
  238. package/dist/client/assets/right-BqmKXLtf.js +1 -0
  239. package/dist/client/assets/right-BzeB-Dpt.js +1 -0
  240. package/dist/client/assets/right-CkGOs-sq.js +1 -0
  241. package/dist/client/assets/right-CzGiNBzB.js +1 -0
  242. package/dist/client/assets/right-Dc7uqv7l.js +1 -0
  243. package/dist/client/assets/{rocket-BSNS_rLs.js → rocket-C-AskjZH.js} +1 -1
  244. package/dist/client/assets/router-B-K15T7B.js +1 -0
  245. package/dist/client/assets/{runtime-picker-Bcl5iIX5.js → runtime-picker-BCQD7d4K.js} +1 -1
  246. package/dist/client/assets/{scope-views-U-ucT9m0.js → scope-views-BhkbIFPY.js} +1 -1
  247. package/dist/client/assets/{scout-voice-CU5c0LGi.js → scout-voice-S5_YZ2v8.js} +1 -1
  248. package/dist/client/assets/{scroll-text-D6Pdnar7.js → scroll-text-BV-BB7v-.js} +1 -1
  249. package/dist/client/assets/{search-CWfZtOt2.js → search-C3bSJluv.js} +1 -1
  250. package/dist/client/assets/secondaryNavConfig-Bg4Tc0gT.js +1 -0
  251. package/dist/client/assets/{selection-bridge-16pk1qyG.js → selection-bridge-B1dmkX3P.js} +1 -1
  252. package/dist/client/assets/{send-horizontal-Bg5-QggH.js → send-horizontal-CqogPmbY.js} +1 -1
  253. package/dist/client/assets/{server-CPp4ZJhZ.js → server-Brw5Y1Gh.js} +1 -1
  254. package/dist/client/assets/{session-catalog-BmoyVTJ_.js → session-catalog-9FqXmjBw.js} +1 -1
  255. package/dist/client/assets/session-table-1xdSxSXq.js +1 -0
  256. package/dist/client/assets/{sliders-horizontal-1oW76Xc9.js → sliders-horizontal-CUiOH26y.js} +1 -1
  257. package/dist/client/assets/sparkles-BjCA3Evu.js +1 -0
  258. package/dist/client/assets/{sse-CjIkKo46.js → sse-QcU9bikk.js} +1 -1
  259. package/dist/client/assets/synthetic-agent-routing-aduMYO7P.js +1 -0
  260. package/dist/client/assets/system-surfaces-redesign-B7GQhfpw.css +1 -0
  261. package/dist/client/assets/{tail-display-BdyoLvzY.js → tail-display-BRcJltQa.js} +2 -2
  262. package/dist/client/assets/{tail-events-D19uAGe3.js → tail-events-C6K7bCWB.js} +1 -1
  263. package/dist/client/assets/{terminal-B9AOZQKR.js → terminal-DrTkVXIj.js} +1 -1
  264. package/dist/client/assets/{terminal-relay-CWbJ1RCW.js → terminal-relay-BkXjjSkq.js} +1 -1
  265. package/dist/client/assets/{terminal-screen-19jAI0Cw.css → terminal-screen-BqVnCwl0.css} +1 -1
  266. package/dist/client/assets/terminal-sessions-C3qU8tnY.js +1 -0
  267. package/dist/client/assets/{terminal-takeover-B8UeD9OX.js → terminal-takeover-KvmTwABa.js} +1 -1
  268. package/dist/client/assets/{time-DltNTpLl.js → time-Dhsh_2EG.js} +1 -1
  269. package/dist/client/assets/{use-conversation-list-Byab41G6.js → use-conversation-list-C5sF6WBR.js} +1 -1
  270. package/dist/client/assets/{use-fleet-active-asks-BIbQx5AS.js → use-fleet-active-asks-BOMPW0nl.js} +1 -1
  271. package/dist/client/assets/use-mesh-ops-items-Co05vcTV.js +1 -0
  272. package/dist/client/assets/{use-reduced-motion-RRBkmVkk.js → use-reduced-motion-Dla-G_Jz.js} +1 -1
  273. package/dist/client/assets/use-scout-dev-flags-BOQF3fW2.js +1 -0
  274. package/dist/client/assets/{useAgentHoverCard-DMrbBif0.js → useAgentHoverCard-FtCmY-b9.js} +1 -1
  275. package/dist/client/assets/useContentSecondaryNav-BX7Sq7vy.js +1 -0
  276. package/dist/client/assets/usePierreRuntime-Bo4lD7Ui.js +50 -0
  277. package/dist/client/assets/{wrench-Bkc_0lKF.js → wrench-CeCdjiPF.js} +1 -1
  278. package/dist/client/assets/{x-D3GElQbe.js → x-D4X_y1j_.js} +1 -1
  279. package/dist/client/assets/{xterm-BKR8oAkR.js → xterm-D2a5wrkJ.js} +1 -1
  280. package/dist/client/index.html +2 -2
  281. package/dist/drizzle/0007_lean_venus.sql +26 -0
  282. package/dist/drizzle/0008_luxuriant_ted_forrester.sql +1 -0
  283. package/dist/drizzle/meta/0007_snapshot.json +5767 -0
  284. package/dist/drizzle/meta/0008_snapshot.json +5774 -0
  285. package/dist/drizzle/meta/_journal.json +14 -0
  286. package/dist/main.mjs +29271 -4824
  287. package/dist/node/main.mjs +31635 -11915
  288. package/dist/openscout-terminal-relay.mjs +16 -4
  289. package/dist/pairing-runtime-controller.mjs +37812 -16924
  290. package/dist/runtime/base-daemon.mjs +109 -18
  291. package/dist/runtime/broker-daemon.mjs +22247 -2746
  292. package/dist/runtime/broker-process-manager.mjs +122 -12
  293. package/dist/runtime/mesh-discover.mjs +90 -13
  294. package/dist/scout-control-plane-web.mjs +23083 -3481
  295. package/dist/scout-web-server.mjs +23083 -3481
  296. package/dist/statusline.mjs +2 -0
  297. package/package.json +3 -1
  298. package/dist/client/assets/ActivityScreen-Cu_1V4bq.js +0 -1
  299. package/dist/client/assets/AgentConfigurationScreen-BqfOz90D.js +0 -1
  300. package/dist/client/assets/AgentDefinitionsWorkspace-CUpUrY57.js +0 -1
  301. package/dist/client/assets/AgentFloorView-8LoAEBwS.js +0 -1
  302. package/dist/client/assets/AgentInfoScreen-DZs2_ibL.js +0 -1
  303. package/dist/client/assets/AgentLaneDetailSheet-BXbPls9N.js +0 -5
  304. package/dist/client/assets/AgentLanesEmbedScreen-W3qs022h.js +0 -1
  305. package/dist/client/assets/AgentLanesView-B9vuEEmZ.js +0 -2
  306. package/dist/client/assets/AgentsConsole-BgiYP2wR.js +0 -1
  307. package/dist/client/assets/AgentsScreen-DBi8x4MB.js +0 -1
  308. package/dist/client/assets/AgentsSubnav-DIEO4NPx.js +0 -1
  309. package/dist/client/assets/BackToPicker-BRvfostO.js +0 -1
  310. package/dist/client/assets/BrokerScreen-7ekklu88.js +0 -5
  311. package/dist/client/assets/CodeDiffPane-DDPt6KPh.js +0 -1
  312. package/dist/client/assets/CodeScreen-BxCrpRHd.js +0 -1
  313. package/dist/client/assets/ConversationComposer-Bla3DDvM.js +0 -1
  314. package/dist/client/assets/ConversationFeedRows-B_gPxcqA.js +0 -1
  315. package/dist/client/assets/ConversationHeader-DE3FC0m-.js +0 -1
  316. package/dist/client/assets/ConversationPanels-DLek4H6A.js +0 -2
  317. package/dist/client/assets/ConversationScreen-BDRhx-RU.js +0 -1
  318. package/dist/client/assets/ConversationScreen-C9yMAMYF.css +0 -1
  319. package/dist/client/assets/ConversationStatus-BwVLiiO4.js +0 -1
  320. package/dist/client/assets/FlightObserveScreen-6RpZYwVz.js +0 -1
  321. package/dist/client/assets/FollowScreen-DZ4qfYOY.js +0 -1
  322. package/dist/client/assets/HarnessMark-Cbv3Ib0c.js +0 -1
  323. package/dist/client/assets/HarnessesScreen-CznAImej.js +0 -1
  324. package/dist/client/assets/KnowledgeSearchInspector-Dgdkfvvz.js +0 -1
  325. package/dist/client/assets/KnowledgeSearchScreen-DJDGGaqC.js +0 -1
  326. package/dist/client/assets/LaneTraceDetailSheet-D1CspRbl.js +0 -1
  327. package/dist/client/assets/MeshScreen-DFgevn8N.js +0 -1
  328. package/dist/client/assets/MessagesScreen-C8YKW10Y.js +0 -1
  329. package/dist/client/assets/MissionControlView-lUeAiSVg.js +0 -1
  330. package/dist/client/assets/MissionLeftAgentRow-BpZWntfl.js +0 -1
  331. package/dist/client/assets/MissionLogPane-__MVtEl9.js +0 -1
  332. package/dist/client/assets/NewChatComposer-Cs6OsxK6.js +0 -19
  333. package/dist/client/assets/NewChatComposer-W-t-L4oV.css +0 -1
  334. package/dist/client/assets/ObserveEmbedScreen-y2EpuqRZ.js +0 -2
  335. package/dist/client/assets/OpenScoutAppShell-C_URc8sV.js +0 -87
  336. package/dist/client/assets/OpsAgentsView-UN7iOscs.js +0 -1
  337. package/dist/client/assets/OpsScreen-Buf3LKjb.js +0 -1
  338. package/dist/client/assets/OpsSubnav-DsuXzHah.js +0 -1
  339. package/dist/client/assets/ProjectAgentProfile-DJusrAV-.js +0 -1
  340. package/dist/client/assets/ProjectAgentProfileHero-BFwNJo_N.js +0 -1
  341. package/dist/client/assets/ProjectsInbox-GhVMxOhw.js +0 -2
  342. package/dist/client/assets/ProjectsScreen-eNUBy4YU.js +0 -1
  343. package/dist/client/assets/ProjectsThreadAside-CoBgnHmr.js +0 -1
  344. package/dist/client/assets/Provider-C7UKGHQy.js +0 -1
  345. package/dist/client/assets/RawSessionsTable-DL8y_eEy.js +0 -1
  346. package/dist/client/assets/RealtimeVoiceScreen-ffS-39zy.js +0 -1
  347. package/dist/client/assets/RepoDiffViewer-D_exm6xK.js +0 -7
  348. package/dist/client/assets/RepoDiffViewerLazy-BPgF92Bg.js +0 -2
  349. package/dist/client/assets/SessionEmbedScreen-BVC7yvWF.js +0 -1
  350. package/dist/client/assets/SessionObserve-BpggNO_M.css +0 -1
  351. package/dist/client/assets/SessionObserve-yfXFafp8.js +0 -12
  352. package/dist/client/assets/SessionRefScreen-DRgJu7Jo.js +0 -1
  353. package/dist/client/assets/SessionsScreen-D6XUsZfA.js +0 -1
  354. package/dist/client/assets/SettingsDrawer-CmJt72ww.css +0 -1
  355. package/dist/client/assets/SettingsScreen-Cy8z-EuR.js +0 -1
  356. package/dist/client/assets/SpriteAvatar-DyaGuhik.js +0 -1
  357. package/dist/client/assets/Terminal-CqvGbjXU.js +0 -1
  358. package/dist/client/assets/TerminalEmbedScreen-DuZZFFzW.js +0 -1
  359. package/dist/client/assets/agent-chat-Bfjd9y6c.js +0 -1
  360. package/dist/client/assets/agent-lane-card-Dm7YWoew.css +0 -1
  361. package/dist/client/assets/agent-lane-detail-Djm3YJEa.js +0 -1
  362. package/dist/client/assets/chunk-YOZR3KYS-Bet8khjg.js +0 -47
  363. package/dist/client/assets/content-BDt9VBPk.js +0 -1
  364. package/dist/client/assets/content-BIXf4cKR.js +0 -1
  365. package/dist/client/assets/content-BLm0NBJM.js +0 -1
  366. package/dist/client/assets/content-C2EwTb2y.js +0 -1
  367. package/dist/client/assets/content-C5UbLsDF.js +0 -1
  368. package/dist/client/assets/content-CHU0wwA3.css +0 -1
  369. package/dist/client/assets/content-CR3vdrYY.js +0 -1
  370. package/dist/client/assets/content-CSPVmo2s.js +0 -1
  371. package/dist/client/assets/content-C_FGqx1X.js +0 -1
  372. package/dist/client/assets/content-CvlVUOG8.js +0 -1
  373. package/dist/client/assets/content-D5kJmfgl.js +0 -1
  374. package/dist/client/assets/content-DTpQsomG.js +0 -1
  375. package/dist/client/assets/content-DikVsqLf.js +0 -1
  376. package/dist/client/assets/content-DlUe5Ono.js +0 -1
  377. package/dist/client/assets/content-GIBv_55n.js +0 -1
  378. package/dist/client/assets/content-Q2oclDzi.js +0 -1
  379. package/dist/client/assets/conversation-model-B47vYmWN.js +0 -1
  380. package/dist/client/assets/conversation-motion-features-BdAONVls.js +0 -1
  381. package/dist/client/assets/discover-C1YwpBDE.js +0 -2
  382. package/dist/client/assets/embed-entry-BAcGL3g9.js +0 -2
  383. package/dist/client/assets/home-live-action-B22u89j7.js +0 -1
  384. package/dist/client/assets/home-moving-signal-CK147hxn.js +0 -1
  385. package/dist/client/assets/home-now-card-BgvNWuea.js +0 -1
  386. package/dist/client/assets/hooks-B6y_O2FB.js +0 -2
  387. package/dist/client/assets/inbox-thread-redesign-Bz4FjWzr.css +0 -1
  388. package/dist/client/assets/index-BcuhqXLe.js +0 -1
  389. package/dist/client/assets/index-CJXzfjo9.js +0 -1
  390. package/dist/client/assets/index-DQPvraRS.js +0 -1
  391. package/dist/client/assets/index-DxGoC5l5.css +0 -1
  392. package/dist/client/assets/keyboard-nav-2kv_tGUS.js +0 -1
  393. package/dist/client/assets/knowledge-search-CVxQwxPn.js +0 -1
  394. package/dist/client/assets/knowledge-search-DjrQdiiW.css +0 -1
  395. package/dist/client/assets/left-C--GiIh8.js +0 -2
  396. package/dist/client/assets/left-Cj7Rt89X.js +0 -1
  397. package/dist/client/assets/left-CpNEtFEg.js +0 -1
  398. package/dist/client/assets/left-CzXAuK_t.js +0 -2
  399. package/dist/client/assets/left-agents-Bo9sO1by.js +0 -1
  400. package/dist/client/assets/left-bN4PCAXa.js +0 -1
  401. package/dist/client/assets/left-default-DV9GdvYi.js +0 -1
  402. package/dist/client/assets/left-jYYGAOYD.js +0 -1
  403. package/dist/client/assets/left-lanes-D0l_Co7V.js +0 -1
  404. package/dist/client/assets/left-mission-Ci7zREkQ.js +0 -1
  405. package/dist/client/assets/left-plan-D4U1uflW.js +0 -2
  406. package/dist/client/assets/library-D-RxGiCw.js +0 -1
  407. package/dist/client/assets/mission-control-D3ikEPND.css +0 -1
  408. package/dist/client/assets/openAgent-Bjt57GdM.js +0 -1
  409. package/dist/client/assets/profile-CVRziEDA.js +0 -1
  410. package/dist/client/assets/repo-diff-C9Qs-bEn.css +0 -1
  411. package/dist/client/assets/resolve-panes-r9B3mpW7.js +0 -1
  412. package/dist/client/assets/resolve-sidebar-context-DcG8xGaB.js +0 -1
  413. package/dist/client/assets/right-BHeiIaty.js +0 -1
  414. package/dist/client/assets/right-BkgKo9VT.js +0 -1
  415. package/dist/client/assets/right-BpEU5jWE.js +0 -1
  416. package/dist/client/assets/right-CRZXoy-X.js +0 -1
  417. package/dist/client/assets/right-ChF_pbPy.js +0 -1
  418. package/dist/client/assets/right-DMoUT3KN.js +0 -1
  419. package/dist/client/assets/right-T4Ue6EqM.js +0 -1
  420. package/dist/client/assets/right-wzrLXKur.js +0 -1
  421. package/dist/client/assets/router-Bq5dwf78.js +0 -1
  422. package/dist/client/assets/secondaryNavConfig-DqUIp0Es.js +0 -1
  423. package/dist/client/assets/session-table-DZcrKoIH.js +0 -1
  424. package/dist/client/assets/sparkles-ClfRJQ6w.js +0 -1
  425. package/dist/client/assets/system-surfaces-redesign-CD26LFc0.css +0 -1
  426. package/dist/client/assets/terminal-sessions-D5CIR2OL.js +0 -1
  427. package/dist/client/assets/useContentSecondaryNav-DMl1WNm7.js +0 -1
  428. package/dist/client/assets/usePierreRuntime-wC-yMtBb.js +0 -50
@@ -1 +0,0 @@
1
- import{r as c,j as s}from"./index-DMiGbrBt.js";import{a as C}from"./api-h5zurxmi.js";import{u as k}from"./sse-CjIkKo46.js";import{b as R,t as $}from"./time-DltNTpLl.js";import{SessionRefScreen as x}from"./SessionRefScreen-DRgJu7Jo.js";/* empty css */import{c as E}from"./createLucideIcon-OpA4Amw5.js";import{X as F}from"./x-D3GElQbe.js";import"./index-BWHgHrtv.js";import"./tail-events-D19uAGe3.js";import"./BackToPicker-BRvfostO.js";import"./router-Bq5dwf78.js";import"./terminal-sessions-D5CIR2OL.js";import"./ConversationScreen-BDRhx-RU.js";import"./NewChatComposer-Cs6OsxK6.js";import"./runtime-picker-Bcl5iIX5.js";import"./scout-voice-CU5c0LGi.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CbHjZsz1.js";import"./MessageComposerSuggestions-DpxN9WiB.js";import"./index-CJXzfjo9.js";import"./HarnessMark-Cbv3Ib0c.js";import"./conversation-model-B47vYmWN.js";import"./colors-BtO5_zlx.js";import"./NewChatOrigin-Bk2OyVjI.js";import"./keyboard-nav-2kv_tGUS.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-BGk5qoEw.js";import"./search-CWfZtOt2.js";import"./file-text-BODxCjcz.js";import"./ConversationComposer-Bla3DDvM.js";import"./Provider-C7UKGHQy.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-bARZqTzD.js";import"./DocumentFocusViewer-BeVwwl26.js";import"./TextDocumentSurface-BpAw4eQS.js";/* empty css */import"./chevron-right-XiIHsk4m.js";import"./code-xml-B6jOCM4V.js";import"./arrow-left-DEZzHiPS.js";import"./message-markup-3J9pi3nx.js";import"./mentions-jSuTGeet.js";import"./AgentDetailCard-BcRBRp88.js";import"./AgentLiveActions-DBtnD0qE.js";import"./terminal-takeover-B8UeD9OX.js";import"./openContent-C6XO6kr5.js";import"./eye-0PvebX_a.js";import"./terminal-B9AOZQKR.js";import"./message-visibility-kJM8XcSG.js";import"./sessionRead-CvFz2RHv.js";import"./clipboard-e3fSpeo7.js";import"./AgentAvatar-D90c1Rzk.js";import"./SpriteAvatar-DyaGuhik.js";import"./types-B0PlfpKc.js";/* empty css */import"./ConversationHeader-DE3FC0m-.js";import"./ConversationFeedRows-B_gPxcqA.js";import"./ConversationPanels-DLek4H6A.js";import"./use-reduced-motion-RRBkmVkk.js";import"./activity-CA8qS6PI.js";import"./message-circle-CG-96zts.js";import"./tail-display-BdyoLvzY.js";import"./lane-edit-display-C_Aujldz.js";import"./ConversationStatus-BwVLiiO4.js";import"./conversation-icons-IIG5ha6D.js";import"./SessionObserve-yfXFafp8.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-Bla0gBdm.js";import"./lane-observe-D0rfKDnU.js";import"./lane-ask-display-B6iCAVcd.js";import"./ObservedTopologyPanel-DyUeV98H.js";import"./ObserveTextFlow-rsFj_rVo.js";import"./wrench-Bkc_0lKF.js";import"./external-link-CXBytO9o.js";/* empty css */const A=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]],T=E("columns-2",A);function L(t){const r=new Map;for(const o of t)r.delete(o.sessionId),r.set(o.sessionId,o);return[...r.values()]}function M(t){return t.length<=34?t:`${t.slice(0,15)}…${t.slice(-14)}`}function O(t,r){return r===0?t.strategy||"dispatch":t.strategy?`switched via ${t.strategy}`:"session changed"}function N({label:t,sessions:r,value:o,onChange:f}){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:o,onChange:l=>f(l.currentTarget.value),children:r.map(l=>s.jsxs("option",{value:l.sessionId,children:[l.harness?`${l.harness} · `:"",l.sessionId]},l.sessionId))})]})}function ce({route:t,navigate:r}){const[o,f]=c.useState(null),[l,j]=c.useState(!0),[d,I]=c.useState(null),v=c.useCallback(async()=>{try{const e=await C(`/api/flights?active=false&flightId=${encodeURIComponent(t.flightId)}`);f(e[0]??null),I(e.length===0?"This flight is not available on the connected broker.":null)}catch(e){I(e instanceof Error?e.message:String(e))}finally{j(!1)}},[t.flightId]);c.useEffect(()=>{j(!0),v()},[v]),k(()=>{v()});const g=o?.sessions??[],a=c.useMemo(()=>L(g),[g]),y=a.at(-1)??null,i=a.find(e=>e.sessionId===t.sessionId)??y,n=a.find(e=>e.sessionId===t.compareSessionId)??null,h=!!(i&&n&&i.sessionId!==n.sessionId),m=c.useCallback((e,p)=>{r({...t,sessionId:e,...p?{compareSessionId:p}:{compareSessionId:void 0}})},[r,t]),S=c.useCallback(()=>{if(!i||a.length<2)return;const e=[...a].reverse().find(p=>p.sessionId!==i.sessionId);e&&m(i.sessionId,e.sessionId)},[i,a,m]),w=c.useCallback(e=>{if(!h||!i||!n){m(e);return}m(e,e===n.sessionId?i.sessionId:n.sessionId)},[n,i,h,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:o?.agentName||o?.agentId||"Flight"}),s.jsx("span",{className:`s-flight-observe-state s-flight-observe-state--${o?.state??"loading"}`,children:o?.state??(l?"loading":"unknown")})]}),s.jsx("div",{className:"s-flight-observe-id",title:t.flightId,children:t.flightId}),o?.summary&&s.jsx("p",{children:o.summary})]}),s.jsxs("div",{className:"s-flight-observe-actions",children:[a.length>1&&!h&&s.jsxs("button",{type:"button",onClick:S,children:[s.jsx(T,{size:13})," Split view"]}),h&&i&&s.jsxs("button",{type:"button",onClick:()=>m(i.sessionId),children:[s.jsx(F,{size:13})," Close split"]})]})]}),g.length>0&&s.jsx("nav",{className:"s-flight-observe-trace","aria-label":"Flight session history",children:g.map((e,p)=>{const b=i?.sessionId===e.sessionId,u=n?.sessionId===e.sessionId;return s.jsxs("div",{className:"s-flight-observe-trace-step",children:[p>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||u,"data-observe-role":b?"primary":u?"compare":"idle","aria-pressed":b||u,title:e.sessionId,onClick:()=>w(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:R(e.startedAt)||$(e.startedAt)})]}),s.jsx("strong",{children:M(e.sessionId)}),s.jsx("small",{children:O(e,p)})]})]},`${e.sessionId}:${e.startedAt}:${p}`)})}),d&&s.jsx("div",{className:"s-flight-observe-message s-flight-observe-message--error",children:d}),!d&&l&&s.jsx("div",{className:"s-flight-observe-message",children:"Resolving the flight’s session trace…"}),!d&&!l&&a.length===0&&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."})]}),!d&&i&&!h&&s.jsx("main",{className:"s-flight-observe-single",children:s.jsx(x,{sessionRef:i.sessionId,navigate:r})}),!d&&i&&n&&h&&s.jsxs("main",{className:"s-flight-observe-split",children:[s.jsxs("section",{className:"s-flight-observe-pane",children:[s.jsx(N,{label:"Primary session",sessions:a,value:i.sessionId,onChange:e=>m(e,e===n.sessionId?i.sessionId:n.sessionId)}),s.jsx("div",{className:"s-flight-observe-pane-content",children:s.jsx(x,{sessionRef:i.sessionId,navigate:r,showObserveRail:!1})})]}),s.jsxs("section",{className:"s-flight-observe-pane",children:[s.jsx(N,{label:"Compare session",sessions:a.filter(e=>e.sessionId!==i.sessionId),value:n.sessionId,onChange:e=>m(i.sessionId,e)}),s.jsx("div",{className:"s-flight-observe-pane-content",children:s.jsx(x,{sessionRef:n.sessionId,navigate:r,showObserveRail:!1})})]})]})]})}export{ce as FlightObserveScreen};
@@ -1 +0,0 @@
1
- import{r as o,j as r}from"./index-DMiGbrBt.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-Bq5dwf78.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-DMiGbrBt.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-DMiGbrBt.js";import{H as R,h as q}from"./HarnessMark-Cbv3Ib0c.js";import{a as M}from"./api-h5zurxmi.js";import{b as D}from"./router-Bq5dwf78.js";import{t as O,n as S,f as L}from"./time-DltNTpLl.js";import{u as P}from"./Provider-C7UKGHQy.js";import{u as T}from"./useContentSecondaryNav-DMl1WNm7.js";import{OpsSubnav as E}from"./OpsSubnav-DsuXzHah.js";/* empty css */import{R as U}from"./refresh-cw-BBmAnCB7.js";import{E as $}from"./external-link-CXBytO9o.js";import{c as H}from"./createLucideIcon-OpA4Amw5.js";import"./terminal-sessions-D5CIR2OL.js";import"./sse-CjIkKo46.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-bARZqTzD.js";import"./DocumentFocusViewer-BeVwwl26.js";import"./TextDocumentSurface-BpAw4eQS.js";/* empty css */import"./file-text-BODxCjcz.js";import"./x-D3GElQbe.js";import"./chevron-right-XiIHsk4m.js";import"./code-xml-B6jOCM4V.js";import"./arrow-left-DEZzHiPS.js";import"./scout-voice-CU5c0LGi.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-2kv_tGUS.js";import"./MessageComposerSuggestions-DpxN9WiB.js";import"./NewChatComposer-Cs6OsxK6.js";import"./runtime-picker-Bcl5iIX5.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CbHjZsz1.js";import"./index-CJXzfjo9.js";import"./conversation-model-B47vYmWN.js";import"./NewChatOrigin-Bk2OyVjI.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-BGk5qoEw.js";import"./search-CWfZtOt2.js";import"./SecondaryNav-B3-nh5dM.js";import"./secondaryNavConfig-DqUIp0Es.js";import"./message-square-DSaGpjFU.js";import"./terminal-B9AOZQKR.js";import"./scroll-text-D6Pdnar7.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 from an explicit dashboard capture, with local Grok activity as a fallback.",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 k(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,f]=u.useState(!1),[i,d]=u.useState(null),l=`hs-${s}-dashboard-capture`,m=k(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)){f(!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{f(!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:k(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,f=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?"—":f?I(f):"-"})," 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:k(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(b=>e.jsx(se,{gauge:l,window:b},`${i.id}:${b.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==="grok"||i.id==="cursor"?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":`${k(i.id)} quick links`,children:i.links.map(b=>e.jsxs("a",{href:b.href,target:"_blank",rel:"noreferrer",children:[b.label,e.jsx($,{size:11,"aria-hidden":"true"})]},b.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 es({navigate:s}){const{route:t}=P(),a=D(t),[r,n]=u.useState([]),[o,c]=u.useState([]),[f,i]=u.useState(!0),[d,l]=u.useState(!1),[m,x]=u.useState(null),p=u.useRef(0),h=u.useCallback(async(g=!1,N=!1)=>{const w=++p.current;N&&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,N;return h(!1,!0).then(()=>{g||(N=window.setTimeout(()=>{h(!0)},600))}),()=>{g=!0,N!==void 0&&window.clearTimeout(N)}},[h]),u.useEffect(()=>{const g=window.setInterval(()=>{h(!1)},3e4);return()=>window.clearInterval(g)},[h]);const y=u.useMemo(()=>Y(r),[r]),b=T();return e.jsxs("div",{className:"s-ops",children:[b?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:f,onImported:()=>h(!1)}),e.jsx(re,{accounts:o,loading:f})]})})]})}export{es as HarnessesScreen};
@@ -1 +0,0 @@
1
- import{r as d,j as e}from"./index-DMiGbrBt.js";/* empty css */import{a as C}from"./api-h5zurxmi.js";import{f as K,e as q,i as N,t as L,j as E,p as f,h as I}from"./knowledge-search-CVxQwxPn.js";import{u as $}from"./Provider-C7UKGHQy.js";import{c as k}from"./createLucideIcon-OpA4Amw5.js";import{X as F}from"./x-D3GElQbe.js";import{E as H}from"./external-link-CXBytO9o.js";import{L as Q}from"./loader-circle-CbHjZsz1.js";const A=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1",key:"1oajmo"}],["path",{d:"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1",key:"mpwhp6"}]],V=k("file-braces",A);const B=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M7 11h10",key:"1twpyw"}],["path",{d:"M7 15h6",key:"d9of3u"}],["path",{d:"M7 7h8",key:"af5zfr"}]],M=k("message-square-text",B);const J=[["path",{d:"M4.9 16.1C1 12.2 1 5.8 4.9 1.9",key:"s0qx1y"}],["path",{d:"M7.8 4.7a6.14 6.14 0 0 0-.8 7.5",key:"1idnkw"}],["circle",{cx:"12",cy:"9",r:"2",key:"1092wv"}],["path",{d:"M16.2 4.8c2 2 2.26 5.11.8 7.47",key:"ojru2q"}],["path",{d:"M19.1 1.9a9.96 9.96 0 0 1 0 14.1",key:"rhi7fg"}],["path",{d:"M9.5 18h5",key:"mfy3pd"}],["path",{d:"m8 22 4-11 4 11",key:"25yftu"}]],X=k("radio-tower",J);function y({text:s,query:t}){return e.jsx(e.Fragment,{children:I(s,t).map((c,h)=>c.match?e.jsx("mark",{children:c.text},h):e.jsx("span",{children:c.text},h))})}function D(s){return s.renderedText||s.summary||s.raw}function G(s){const t=s.kind||s.role||s.type||"record";return t==="assistant_turn"||t==="assistant"?"assistant":t==="user_turn"||t==="user"?"user":t==="system_record"||t==="system"?"system":t==="command_or_tool"||t==="tool_use"?"tool":t==="response_item"?"tool output":t}function R(s){const t=s.kind||s.role||s.type||"";return t==="assistant"||t==="assistant_turn"||t==="user"||t==="user_turn"||t==="last-prompt"||t==="ai-title"?0:t==="system"||t==="system_record"?1:2}function z(){const{selectedKnowledgeHit:s,selectedKnowledgeQuery:t,clearKnowledgeHit:c,openFilePreview:h,navigate:g}=$(),[a,p]=d.useState(null),[P,w]=d.useState(!1),[v,S]=d.useState(null),n=s?K(s):null,o=s?q(s):null,b=s?N(s,"project"):"",_=s?N(s,"harness"):"",l=t.trim(),u=L(n),m=E(n),x=d.useMemo(()=>a?.records.filter(r=>r.matched).sort((r,j)=>{const i=R(r)-R(j);return i!==0?i:(j.matchCount??0)-(r.matchCount??0)}).slice(0,4)??[],[a]),T=a?.records.find(r=>r.matched)?.index??n?.recordRange?.[0];d.useEffect(()=>{let r=!1;return(async()=>{if(!s||!n){p(null);return}w(!0);try{S(null);const i=await C("/api/knowledge/source-preview",{method:"POST",body:JSON.stringify({sourceRef:n,contextRecords:4,maxRecords:80,q:l})});r||p(i)}catch(i){r||(p(null),S(i instanceof Error?i.message:String(i)))}finally{r||w(!1)}})(),()=>{r=!0}},[s?.id,n?.recordRange?.[0],n?.recordRange?.[1],l]);const O=()=>{const r=n??o;r&&h(f(r.path))};return e.jsxs("div",{className:"ks-inspector",children:[v&&e.jsx("div",{className:"ks-inspector-error",role:"alert",children:v}),e.jsx("section",{className:"ks-preview-panel","aria-label":"Selected search result preview",children:s?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"ks-preview-head",children:[e.jsxs("div",{children:[e.jsx("span",{className:"ks-panel-eyebrow",children:"Result"}),e.jsx("h2",{children:s.title})]}),e.jsx("button",{type:"button","aria-label":"Clear selected result",onClick:c,children:e.jsx(F,{size:14,"aria-hidden":"true"})})]}),e.jsxs("div",{className:"ks-preview-meta",children:[b&&e.jsx("span",{children:b}),_&&e.jsx("span",{children:_}),s.freshness&&s.freshness!=="unknown"&&e.jsx("span",{children:s.freshness}),n?.recordRange&&e.jsxs("span",{children:["records ",n.recordRange[0],"..",n.recordRange[1]]})]}),(u||m||n||o)&&e.jsxs("div",{className:"ks-preview-actions","aria-label":"Selected result actions",children:[u&&e.jsxs("button",{type:"button",onClick:()=>g({view:"sessions",sessionId:u}),children:[e.jsx(M,{size:13,"aria-hidden":"true"}),"Open session"]}),m&&e.jsxs("button",{type:"button",onClick:()=>g({view:"ops",mode:"tail",tailQuery:m}),children:[e.jsx(X,{size:13,"aria-hidden":"true"}),"Observe window"]}),(n||o)&&e.jsxs("button",{type:"button",onClick:O,children:[e.jsx(H,{size:13,"aria-hidden":"true"}),"Open file"]})]}),x.length>0&&e.jsxs("section",{className:"ks-rendered-matches","aria-label":"Matching turns",children:[e.jsxs("div",{className:"ks-rendered-head",children:[e.jsx(M,{size:14,"aria-hidden":"true"}),e.jsx("strong",{children:"Matching turns"}),e.jsx("span",{children:x.length})]}),x.map(r=>e.jsxs("article",{className:"ks-rendered-record",children:[e.jsxs("header",{children:[e.jsx("span",{children:String(r.index).padStart(4,"0")}),e.jsx("strong",{children:G(r)})]}),e.jsx("p",{children:e.jsx(y,{text:D(r),query:l})})]},`rendered:${r.index}`))]}),e.jsxs("section",{className:"ks-indexed-snippet","aria-label":"Match snippet",children:[e.jsx("span",{children:"Snippet"}),e.jsx("p",{children:e.jsx(y,{text:s.snippet,query:l})})]}),n&&e.jsxs("div",{className:"ks-preview-source",children:[e.jsx("span",{children:"Source"}),e.jsx("code",{children:f(n.path)})]}),!n&&o&&e.jsxs("div",{className:"ks-preview-source",children:[e.jsx("span",{children:"Source"}),e.jsx("code",{children:f(o.path)})]}),P?e.jsxs("div",{className:"ks-preview-loading",children:[e.jsx(Q,{size:15,className:"ks-spin","aria-hidden":"true"}),"Loading conversation…"]}):a?e.jsxs("details",{className:"ks-jsonl-window",children:[e.jsxs("summary",{className:"ks-jsonl-window-head",children:[e.jsx("strong",{children:"Raw evidence"}),e.jsxs("span",{children:["records ",a.previewRange[0],"..",a.previewRange[1]]})]}),a.records.map(r=>e.jsxs("details",{className:`ks-jsonl-record${r.matched?" ks-jsonl-record--matched":""}`,open:r.index===T,children:[e.jsxs("summary",{children:[e.jsx("span",{children:String(r.index).padStart(4,"0")}),e.jsx("strong",{children:r.kind||r.role||r.type||"record"}),e.jsx("em",{children:e.jsx(y,{text:r.summary||"no summary",query:l})})]}),e.jsx("pre",{children:r.raw})]},`${a.path}:${r.index}`))]}):null]}):e.jsxs("div",{className:"ks-inspector-empty",children:[e.jsx(V,{size:18,"aria-hidden":"true"}),e.jsx("strong",{children:"Select a result"}),e.jsx("span",{children:"Pick a match to see the conversation moment and open the session."})]})})]})}const ae=Object.freeze(Object.defineProperty({__proto__:null,KnowledgeSearchInspector:z},Symbol.toStringTag,{value:"Module"})),ie=Object.freeze(Object.defineProperty({__proto__:null,KnowledgeSearchInspector:z},Symbol.toStringTag,{value:"Module"}));export{z as K,ie as a,ae as r};
@@ -1 +0,0 @@
1
- import{r as l,j as s}from"./index-DMiGbrBt.js";/* empty css */import{a as I}from"./api-h5zurxmi.js";import{b as ts}from"./time-DltNTpLl.js";import{u as is}from"./Provider-C7UKGHQy.js";import{g as ns,K as c,r as rs,a as as,t as J,f as Q,b as os,d as ls,c as cs,h as ds}from"./knowledge-search-CVxQwxPn.js";import{S as ms}from"./search-CWfZtOt2.js";import{L as G}from"./loader-circle-CbHjZsz1.js";import"./router-Bq5dwf78.js";import"./terminal-sessions-D5CIR2OL.js";import"./sse-CjIkKo46.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-bARZqTzD.js";import"./DocumentFocusViewer-BeVwwl26.js";import"./createLucideIcon-OpA4Amw5.js";import"./TextDocumentSurface-BpAw4eQS.js";/* empty css */import"./file-text-BODxCjcz.js";import"./x-D3GElQbe.js";import"./chevron-right-XiIHsk4m.js";import"./code-xml-B6jOCM4V.js";import"./arrow-left-DEZzHiPS.js";import"./scout-voice-CU5c0LGi.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-2kv_tGUS.js";import"./MessageComposerSuggestions-DpxN9WiB.js";import"./NewChatComposer-Cs6OsxK6.js";import"./runtime-picker-Bcl5iIX5.js";import"./voice-levels-Dcr3jglk.js";import"./index-CJXzfjo9.js";import"./HarnessMark-Cbv3Ib0c.js";import"./conversation-model-B47vYmWN.js";import"./NewChatOrigin-Bk2OyVjI.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-BGk5qoEw.js";function v(n){return new Intl.NumberFormat("en-US").format(n||0)}function us({text:n,query:m}){return s.jsx(s.Fragment,{children:ds(n,m).map((p,f)=>p.match?s.jsx("mark",{children:p.text},f):s.jsx("span",{children:p.text},f))})}function hs(n,m){n.target===n.currentTarget&&(n.key!=="Enter"&&n.key!==" "||(n.preventDefault(),m()))}async function ps(){return I("/api/knowledge/status")}async function T(n){const m=new URLSearchParams({q:n,limit:String(c.hitLimit)});return I(`/api/knowledge/search?${m.toString()}`)}async function W(n=!1){return I("/api/knowledge/sessions/index",{method:"POST",body:JSON.stringify({days:c.days,limit:c.sessionLimit,force:n})})}function ee({navigate:n,hitId:m}){const{selectedKnowledgeHit:p,inspectKnowledgeHit:f,clearKnowledgeHit:D}=is(),[x,j]=l.useState(null),[r,_]=l.useState(""),[g,B]=l.useState([]),[E,F]=l.useState(!1),[k,S]=l.useState(!1),[L,h]=l.useState(null),[Y,N]=l.useState(!1),$=l.useRef(r);$.current=r;const u=(x?.chunks??0)>0,w=x?.activeJobs[0]??null,b=l.useMemo(()=>ns(g),[g]),M=k||!!w,H=(e,t)=>{B(t.hits),j(t.status);const i=(m?t.hits.find(C=>C.id===m):void 0)??t.hits[0];i?f(i,e):D()},P=async(e=r,t=u)=>{const a=e.trim();if(!a||!t){B([]),a||D();return}F(!0);try{h(null),H(a,await T(a))}catch(i){h(i instanceof Error?i.message:String(i))}finally{F(!1)}},U=async(e=!1)=>{S(!0);try{h(null);const t=await W(e);j(t.status),N(!0);const a=t.status.chunks>0,i=$.current.trim();a&&i&&H(i,await T(i))}catch(t){h(t instanceof Error?t.message:String(t))}finally{S(!1)}};l.useEffect(()=>{let e=!1;return(async()=>{try{const t=await ps();if(e)return;j(t),N(!0),h(null)}catch{}if(!e){S(!0);try{h(null);const t=await W(!1);if(e)return;j(t.status),N(!0);const a=$.current.trim();t.status.chunks>0&&a&&H(a,await T(a))}catch(t){e||(h(t instanceof Error?t.message:String(t)),N(!0))}finally{e||S(!1)}}})(),()=>{e=!0}},[]),l.useEffect(()=>{if(!u)return;const e=window.setTimeout(()=>{P(r)},c.debounceMs);return()=>window.clearTimeout(e)},[r,u]);const V=e=>{if(e.preventDefault(),!u&&!k){U(!1);return}P(r)},X=x?ts(x.generatedAt)||"just now":"—",Z=M?w?`Indexing ${v(w.progress.indexed??0)} of ${v(w.progress.discovered??0)}`:u?`Refreshing last ${c.days} days in the background`:`Building last ${c.days} days of sessions`:u?`${v(x?.chunks??0)} moments · last ${c.days} days · updated ${X}`:Y?"No index yet":"Loading index";return s.jsxs("main",{className:"ks-page",children:[s.jsxs("div",{className:"ks-shell",children:[s.jsxs("form",{className:"ks-search-form",onSubmit:V,children:[s.jsx(ms,{size:17,strokeWidth:1.75,"aria-hidden":"true"}),s.jsx("input",{value:r,onChange:e=>_(e.target.value),placeholder:"Search sessions — topics, files, decisions…",autoFocus:!0,spellCheck:!1,"aria-label":"Search sessions"}),E&&s.jsx(G,{size:15,className:"ks-spin","aria-hidden":"true"})]}),L&&s.jsx("section",{className:"ks-error",role:"alert",children:L}),!u&&!L&&s.jsxs("div",{className:"ks-empty-state",children:[s.jsx("strong",{children:k?"Preparing your session index":"Preparing search"}),s.jsxs("span",{children:["First load builds the last ",c.days," days"," ","(up to ",v(c.sessionLimit)," sessions). You can keep this page open — results appear as soon as the index is ready."]})]}),u&&s.jsxs("div",{className:"ks-hit-list",children:[s.jsxs("div",{className:"ks-hit-list-head",children:[s.jsx("span",{children:E?"Searching":r.trim()?`${b.length} session${b.length===1?"":"s"}`:"Ready"}),r.trim()&&g.length>0?s.jsxs("span",{className:"ks-hit-list-meta",children:[g.length," moment",g.length===1?"":"s"]}):null]}),r.trim()&&b.length===0&&!E?s.jsx("div",{className:"ks-empty-hit",children:"No matches — try a project name, file path, or topic from recent work."}):null,!r.trim()&&s.jsxs("div",{className:"ks-empty-hit ks-empty-hit--quiet",children:["Type to search the last ",c.days," days of sessions."]}),b.map((e,t)=>{const a=e.best,i=rs(a),C=as(a),y=J(Q(a)),ss=()=>{y&&n({view:"sessions",sessionId:y})},es=e.moments.some(d=>p?.id===d.id);return s.jsxs("section",{className:`ks-session${es?" ks-session--selected":""}`,"aria-label":`Session ${t+1}`,children:[s.jsxs("header",{className:"ks-session-head",children:[s.jsxs("div",{className:"ks-session-topline",children:[s.jsxs("div",{className:"ks-session-meta",children:[i.agent?s.jsx("span",{className:"ks-hit-chip",children:i.agent}):null,i.project?s.jsx("span",{children:i.project}):null,i.session?s.jsxs("span",{className:"ks-hit-session",title:y??i.session,children:["session ",i.session]}):null,s.jsxs("span",{className:"ks-session-count",children:[e.moments.length," match",e.moments.length===1?"":"es"]})]}),i.when?s.jsx("time",{className:"ks-hit-when",children:i.when}):null]}),s.jsx("button",{type:"button",className:"ks-session-goal",onClick:ss,title:y?"Open session":void 0,children:C})]}),s.jsx("div",{className:"ks-session-moments",children:e.moments.map(d=>{const O=os(d,r),q=p?.id===d.id,K=ls(d,r,160),z=cs(d),R=()=>f(d,r),A=()=>{const o=J(Q(d))??y;if(!o){R();return}n({view:"sessions",sessionId:o})};return s.jsx("article",{className:`ks-hit${q?" ks-hit--selected":""}`,role:"button",tabIndex:0,"aria-current":q?"true":void 0,onClick:R,onDoubleClick:A,onKeyDown:o=>{if(o.key==="Enter"&&(o.metaKey||o.ctrlKey)){o.preventDefault(),A();return}hs(o,R)},children:s.jsxs("div",{className:"ks-hit-body",children:[z.length>0?s.jsx("div",{className:"ks-hit-details ks-hit-details--moment","aria-label":"Turn",children:z.map(o=>s.jsx("span",{className:"ks-hit-details-strong",children:o},o))}):null,s.jsx("h3",{className:"ks-hit-title",children:O}),K&&K!==O?s.jsx("p",{className:"ks-hit-snippet",children:s.jsx(us,{text:K,query:r})}):null]})},d.id)})})]},e.collectionId)})]})]}),s.jsxs("footer",{className:"ks-foot-status","aria-live":"polite",children:[s.jsxs("span",{className:"ks-foot-status-facts",children:[M?s.jsx(G,{size:12,className:"ks-spin","aria-hidden":"true"}):null,Z]}),s.jsx("button",{type:"button",className:"ks-text-action",onClick:()=>{U(!0)},disabled:k,children:k?"Updating…":"Update index"})]})]})}export{ee as KnowledgeSearchScreen};
@@ -1 +0,0 @@
1
- import{r as f,j as e}from"./index-DMiGbrBt.js";import{S as L}from"./SlidePanel-COwtoJqR.js";import{A as j}from"./AgentAvatar-D90c1Rzk.js";import{H as N}from"./HarnessMark-Cbv3Ib0c.js";import{t as S}from"./time-DltNTpLl.js";import{o as g,f as k,b as y}from"./lane-observe-D0rfKDnU.js";import{SessionObserve as A}from"./SessionObserve-yfXFafp8.js";import{LaneTraceEventFocus as E}from"./LaneTraceEventFocus-BF9ERP5O.js";import{b as T}from"./agent-lane-detail-Djm3YJEa.js";import{l as I,a as z}from"./agent-lanes-model-B4YTt4OF.js";import"./SpriteAvatar-DyaGuhik.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-Bla0gBdm.js";import"./index-CJXzfjo9.js";import"./lane-ask-display-B6iCAVcd.js";import"./api-h5zurxmi.js";import"./mentions-jSuTGeet.js";import"./Provider-C7UKGHQy.js";import"./router-Bq5dwf78.js";import"./terminal-sessions-D5CIR2OL.js";import"./sse-CjIkKo46.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-bARZqTzD.js";import"./DocumentFocusViewer-BeVwwl26.js";import"./createLucideIcon-OpA4Amw5.js";import"./TextDocumentSurface-BpAw4eQS.js";/* empty css */import"./file-text-BODxCjcz.js";import"./x-D3GElQbe.js";import"./chevron-right-XiIHsk4m.js";import"./code-xml-B6jOCM4V.js";import"./arrow-left-DEZzHiPS.js";import"./scout-voice-CU5c0LGi.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-2kv_tGUS.js";import"./MessageComposerSuggestions-DpxN9WiB.js";import"./NewChatComposer-Cs6OsxK6.js";import"./runtime-picker-Bcl5iIX5.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CbHjZsz1.js";import"./conversation-model-B47vYmWN.js";import"./NewChatOrigin-Bk2OyVjI.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-BGk5qoEw.js";import"./search-CWfZtOt2.js";import"./AgentDetailCard-BcRBRp88.js";import"./AgentLiveActions-DBtnD0qE.js";import"./terminal-takeover-B8UeD9OX.js";import"./openContent-C6XO6kr5.js";import"./eye-0PvebX_a.js";import"./terminal-B9AOZQKR.js";import"./message-markup-3J9pi3nx.js";import"./ObservedTopologyPanel-DyUeV98H.js";import"./ObserveTextFlow-rsFj_rVo.js";import"./use-reduced-motion-RRBkmVkk.js";import"./message-circle-CG-96zts.js";import"./wrench-Bkc_0lKF.js";import"./external-link-CXBytO9o.js";import"./context-budget-CbB4BDcO.js";const M={think:"Thought",tool:"Tool",ask:"Request",message:"Message",note:"Note",system:"System",boot:"Boot"};function Oe({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?` · ${S(a)}`:""]})]}),e.jsx("span",{className:"s-slide-spacer"}),e.jsx(N,{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{Oe as LaneTraceDetailSheet};
@@ -1 +0,0 @@
1
- import{r as d,j as e}from"./index-DMiGbrBt.js";import{a as B}from"./api-h5zurxmi.js";import{t as A}from"./time-DltNTpLl.js";import{n as _,b as D,s as z,c as F}from"./colors-BtO5_zlx.js";import{u as O,e as H}from"./Provider-C7UKGHQy.js";import{b as K}from"./router-Bq5dwf78.js";import{MeshCanvas as U}from"./MeshCanvas-DFEPkpqY.js";import{u as V}from"./useAgentHoverCard-DMrbBif0.js";import{u as Q}from"./local-agents--00gLMqr.js";import{u as J,a as W,s as X,e as E,f as I,g as Y,h as L}from"./mesh-view-store-CWidRbTE.js";import{u as Z}from"./useContentSecondaryNav-DMl1WNm7.js";import{OpsSubnav as G}from"./OpsSubnav-DsuXzHah.js";/* empty css *//* empty css */import"./sse-CjIkKo46.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-bARZqTzD.js";import"./DocumentFocusViewer-BeVwwl26.js";import"./createLucideIcon-OpA4Amw5.js";import"./TextDocumentSurface-BpAw4eQS.js";/* empty css */import"./file-text-BODxCjcz.js";import"./x-D3GElQbe.js";import"./chevron-right-XiIHsk4m.js";import"./code-xml-B6jOCM4V.js";import"./arrow-left-DEZzHiPS.js";import"./scout-voice-CU5c0LGi.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-2kv_tGUS.js";import"./MessageComposerSuggestions-DpxN9WiB.js";import"./NewChatComposer-Cs6OsxK6.js";import"./runtime-picker-Bcl5iIX5.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CbHjZsz1.js";import"./index-CJXzfjo9.js";import"./HarnessMark-Cbv3Ib0c.js";import"./conversation-model-B47vYmWN.js";import"./NewChatOrigin-Bk2OyVjI.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-BGk5qoEw.js";import"./search-CWfZtOt2.js";import"./terminal-sessions-D5CIR2OL.js";import"./chunk-T65CQEWV-CrzwSeEt.js";import"./plus--b1raV_O.js";import"./mesh-buckets-CfAukILK.js";import"./AgentDetailCard-BcRBRp88.js";import"./AgentLiveActions-DBtnD0qE.js";import"./terminal-takeover-B8UeD9OX.js";import"./openContent-C6XO6kr5.js";import"./eye-0PvebX_a.js";import"./terminal-B9AOZQKR.js";import"./SecondaryNav-B3-nh5dM.js";import"./secondaryNavConfig-DqUIp0Es.js";import"./message-square-DSaGpjFU.js";import"./scroll-text-D6Pdnar7.js";/* empty css */function ee(c){const p=new Map,x=new Map;for(const a of c){const o=a.project??"Unassigned",i=o.toLowerCase(),m=a.branch??"—";let r=p.get(i);r||(r=new Map,p.set(i,r));const u=r.get(m)??[];u.push(a),r.set(m,u);let s=x.get(i);s||(s=new Map,x.set(i,s)),s.set(o,(s.get(o)??0)+1)}const g=a=>{const o=x.get(a);if(!o)return a;let i=null,m=-1;for(const[r,u]of o)u>m&&(i=r,m=u);return i??a},j=[];for(const[a,o]of p){const i=g(a),m=[];let r=0;const u={in_turn:0,in_flight:0,needs_attention:0,callable:0,blocked:0},s=[];for(const[l,n]of o){const t=[...n].sort((h,b)=>(b.updatedAt??0)-(h.updatedAt??0)),y=t.reduce((h,b)=>Math.max(h,b.updatedAt??0),0);r=Math.max(r,y);for(const h of t)u[_(h.state)]+=1,s.push(h);m.push({branch:l,agents:t,latest:y})}m.sort((l,n)=>n.latest-l.latest),j.push({project:i,branches:m,agents:s,latest:r,counts:u})}return j.sort((a,o)=>o.latest-a.latest),j}function T(c){return c?c.replace(/^\/Users\/[^/]+/,"~"):null}function se({agents:c,emptyTitle:p="No agents registered",emptyBody:x="Agents connected to this broker will appear here.",selectMode:g="preview"}){const{navigate:j}=O(),a=d.useMemo(()=>ee(c),[c]),[o,i]=d.useState(()=>new Set),m=d.useMemo(()=>{const s=[];for(const l of a)if(!o.has(l.project))for(const n of l.branches)for(const t of n.agents)s.push(t.id);return s},[a,o]),r=V({agents:c,orderedIds:m,navigate:j,selectMode:g});if(c.length===0)return e.jsxs("div",{className:"sys-list-empty",children:[e.jsx("h3",{children:p}),e.jsx("p",{children:x})]});const u=s=>{i(l=>{const n=new Set(l);return n.has(s)?n.delete(s):n.add(s),n})};return e.jsxs("div",{className:"mesh-tree",ref:r.containerRef,children:[a.map(s=>{const l=o.has(s.project);return e.jsxs("div",{className:`mesh-tree-group${l?" mesh-tree-group--collapsed":""}`,children:[e.jsxs("button",{type:"button",className:"mesh-tree-project",onClick:()=>u(s.project),"aria-expanded":!l,children:[e.jsx("span",{className:`mesh-tree-caret${l?"":" mesh-tree-caret--open"}`,"aria-hidden":!0,children:"›"}),e.jsx("span",{className:"mesh-tree-project-name",children:s.project}),e.jsx("span",{className:"mesh-tree-project-count",children:s.agents.length}),e.jsxs("span",{className:"mesh-tree-counts",children:[s.counts.in_turn+s.counts.in_flight+s.counts.needs_attention>0&&e.jsxs("span",{className:"mesh-tree-count mesh-tree-count--working",children:[e.jsx("span",{className:"mesh-tree-count-dot"}),s.counts.in_turn+s.counts.in_flight+s.counts.needs_attention]}),s.counts.callable>0&&e.jsxs("span",{className:"mesh-tree-count mesh-tree-count--available",children:[e.jsx("span",{className:"mesh-tree-count-dot"}),s.counts.callable]}),s.counts.blocked>0&&e.jsxs("span",{className:"mesh-tree-count mesh-tree-count--offline",children:[e.jsx("span",{className:"mesh-tree-count-dot"}),s.counts.blocked]})]}),e.jsx("span",{className:"mesh-tree-project-time",children:s.latest?A(s.latest):""})]}),!l&&e.jsx("div",{className:"mesh-tree-branches",children:s.branches.map(n=>e.jsxs("div",{className:"mesh-tree-branch",children:[e.jsxs("div",{className:"mesh-tree-branch-head",children:[e.jsx("span",{className:"mesh-tree-branch-elbow","aria-hidden":!0,children:"└"}),e.jsx("span",{className:"mesh-tree-branch-name",children:n.branch})]}),e.jsx("div",{className:"mesh-tree-agents",children:n.agents.map(t=>{const y=_(t.state),h=D(t.state),b=t.agentClass==="organic",S=r.getState(t.id),k=T(t.cwd)??T(t.projectRoot),f=t.harnessSessionId?t.harnessSessionId.slice(0,8):null,v=[];k&&v.push({kind:"cwd",text:k}),t.harness&&v.push({kind:"harness",text:t.harness}),t.model&&v.push({kind:"model",text:t.model}),f&&v.push({kind:"sess",text:`sess:${f}`});const $=r.bind(t.id);return e.jsxs("button",{type:"button",className:`mesh-tree-agent${b?" mesh-tree-agent--organic":""}${S.isActive?" mesh-tree-agent--active":""}${S.isPinned?" mesh-tree-agent--pinned":""}`,title:b?`${t.harness??t.name} · organic session`:void 0,...$,children:[e.jsx("span",{className:`mesh-tree-agent-dot mesh-tree-agent-dot--${h}`,style:{background:z(t.state)}}),e.jsx("span",{className:"mesh-tree-agent-name",children:t.handle??t.name}),b&&e.jsx("span",{className:"mesh-tree-agent-organic","aria-label":"organic session",children:"○"}),e.jsx("span",{className:"mesh-tree-agent-inline",children:v.map((w,R)=>e.jsxs("span",{className:`mesh-tree-agent-inline-part mesh-tree-agent-inline-part--${w.kind}`,children:[R>0&&e.jsx("span",{className:"mesh-tree-agent-inline-sep",children:"·"}),w.text]},w.kind))}),e.jsx("span",{className:`mesh-tree-agent-state mesh-tree-agent-state--${h}`,children:F(y)}),e.jsx("span",{className:"mesh-tree-agent-time",children:t.updatedAt?A(t.updatedAt):""})]},t.id)})})]},n.branch))})]},s.project)}),r.card]})}function P({mode:c,density:p,query:x,stateFilter:g,loading:j,refreshing:a,error:o,lastLoadedAt:i,hasMesh:m,onRefresh:r}){return e.jsxs("div",{className:`mesh-hud mesh-hud--${c}`,children:[e.jsxs("div",{className:"mesh-hud-left",children:[e.jsxs("div",{className:"mesh-mode-toggle",children:[e.jsx("button",{type:"button",className:`mesh-mode-btn${c==="map"?" mesh-mode-btn--active":""}`,onClick:()=>E("map"),children:"Map"}),e.jsx("button",{type:"button",className:`mesh-mode-btn${c==="tree"?" mesh-mode-btn--active":""}`,onClick:()=>E("tree"),children:"Tree"})]}),e.jsxs("div",{className:"mesh-mode-toggle mesh-density-toggle",role:"group","aria-label":"Density","aria-hidden":c!=="map","data-mode-only":"map",children:[e.jsx("button",{type:"button",className:`mesh-mode-btn${p==="compact"?" mesh-mode-btn--active":""}`,onClick:()=>I("compact"),disabled:c!=="map",title:"Compact — dots",children:"Compact"}),e.jsx("button",{type:"button",className:`mesh-mode-btn${p==="comfortable"?" mesh-mode-btn--active":""}`,onClick:()=>I("comfortable"),disabled:c!=="map",title:"Comfortable — chips",children:"Comfortable"}),e.jsx("button",{type:"button",className:`mesh-mode-btn${p==="spacious"?" mesh-mode-btn--active":""}`,onClick:()=>I("spacious"),disabled:c!=="map",title:"Spacious — cards",children:"Spacious"})]})]}),m&&e.jsxs("div",{className:"mesh-hud-filters",children:[e.jsx("input",{type:"search",className:"mesh-hud-search",placeholder:"Filter agents…",value:x,onChange:u=>Y(u.target.value),spellCheck:!1,autoCorrect:"off",autoCapitalize:"off"}),e.jsxs("div",{className:"mesh-mode-toggle",role:"group","aria-label":"State",children:[e.jsx("button",{type:"button",className:`mesh-mode-btn${g==="all"?" mesh-mode-btn--active":""}`,onClick:()=>L("all"),children:"All"}),e.jsx("button",{type:"button",className:`mesh-mode-btn${g==="in_turn"?" mesh-mode-btn--active":""}`,onClick:()=>L("in_turn"),children:"In turn"}),e.jsx("button",{type:"button",className:`mesh-mode-btn${g==="callable"?" mesh-mode-btn--active":""}`,onClick:()=>L("callable"),children:"Callable"})]})]}),e.jsxs("div",{className:"mesh-hud-right",children:[e.jsx("span",{className:"mesh-hud-sync",children:j?"Loading…":o&&m?`Last sync old — ${i?A(i):"unknown"}`:i?A(i):"—"}),e.jsx("button",{type:"button",className:"s-btn",disabled:j||a,onClick:r,children:a?"Refreshing…":"Refresh"})]})]})}function is({navigate:c}){const[p,x]=d.useState(!0),[g,j]=d.useState(!1),[a,o]=d.useState(null),[i,m]=d.useState(null),{mode:r,density:u,query:s,stateFilter:l,meshSnapshot:n}=J(),{agents:t}=Q(),{route:y}=O(),h=K(y),b=d.useMemo(()=>H(t,h,n?.localNode?.id),[t,h,n?.localNode?.id]),S=d.useRef(null),k=d.useRef(0);d.useEffect(()=>{S.current=n},[n]),d.useEffect(()=>{h&&W(h,"node")},[h]);const f=d.useCallback(async(C="initial")=>{const N=++k.current;!(S.current!==null)&&C!=="background"?(x(!0),o(null)):j(!0);try{const M=await B("/api/mesh");if(N!==k.current)return;X(M),o(null),m(Date.now())}catch(M){if(N!==k.current)return;o(M instanceof Error?M.message:String(M))}finally{N===k.current&&(x(!1),j(!1))}},[]);d.useEffect(()=>{f("initial")},[f]),d.useEffect(()=>{const C=setInterval(()=>{f("background")},1e4);return()=>clearInterval(C)},[f]);const v=d.useMemo(()=>{const C=s.trim().toLowerCase();return b.filter(N=>l!=="all"&&_(N.state)!==l?!1:C?`${N.name??""} ${N.handle??""} ${N.harness??""} ${N.project??""} ${N.branch??""}`.toLowerCase().includes(C):!0)},[s,b,l]),$={mode:r,density:u,query:s,stateFilter:l,loading:p,refreshing:g,error:a,lastLoadedAt:i,hasMesh:!!n,onRefresh:()=>{f("manual")}},w=r==="map"?e.jsxs("div",{className:"mesh-map-canvas",children:[n&&e.jsx(U,{mesh:n,agents:v}),p&&!n&&e.jsx("div",{className:"mesh-canvas-center",children:e.jsx("p",{className:"mesh-canvas-center-label",children:"Loading mesh…"})}),!p&&!n&&a&&e.jsxs("div",{className:"mesh-canvas-center",children:[e.jsx("p",{className:"mesh-canvas-center-label",children:a}),e.jsx("button",{type:"button",className:"s-btn",onClick:()=>{f("manual")},children:"Try again"})]}),e.jsx(P,{...$})]}):e.jsxs("div",{className:"mesh-tree-page",children:[e.jsx(P,{...$}),p&&!n&&e.jsxs("div",{className:"sys-panel sys-state-card mesh-tree-state",children:[e.jsx("h3",{className:"sys-state-title",children:"Loading mesh status"}),e.jsx("p",{className:"sys-state-body",children:"Inspecting broker reachability and peer discovery inputs."})]}),!p&&!n&&a&&e.jsxs("div",{className:"sys-panel sys-state-card sys-state-card-error mesh-tree-state",children:[e.jsx("h3",{className:"sys-state-title",children:"Mesh status is unavailable"}),e.jsx("p",{className:"sys-state-body",children:a}),e.jsx("div",{className:"sys-inline-actions",children:e.jsx("button",{type:"button",className:"s-btn",onClick:()=>{f("manual")},children:"Try again"})})]}),n&&e.jsxs("section",{className:"mesh-tree-panel",children:[e.jsxs("div",{className:"mesh-tree-hint","aria-hidden":!0,children:[e.jsx("kbd",{children:"↑"}),e.jsx("kbd",{children:"↓"}),e.jsx("span",{children:"navigate"}),e.jsx("span",{className:"mesh-tree-hint-sep",children:"·"}),e.jsx("kbd",{children:"enter"}),e.jsx("span",{children:"pin"}),e.jsx("span",{className:"mesh-tree-hint-sep",children:"·"}),e.jsx("kbd",{children:"o"}),e.jsx("span",{children:"open"}),e.jsx("span",{className:"mesh-tree-hint-sep",children:"·"}),e.jsx("kbd",{children:"esc"}),e.jsx("span",{children:"clear"})]}),e.jsx(se,{agents:v,emptyTitle:b.length===0?h?"No agents on this machine":"No agents registered":"No agents match your filter",emptyBody:b.length===0?"Agents connected to this broker will appear here.":"Try clearing the search or switching the state pill back to All."})]})]}),R=Z();return e.jsxs("div",{className:"s-ops",children:[R?e.jsx("div",{className:"s-ops-header",children:e.jsx(G,{activeRoute:y,navigate:c})}):null,e.jsx("div",{className:"s-ops-body",children:w})]})}export{is as MeshScreen};
@@ -1 +0,0 @@
1
- import{j as e,r as a}from"./index-DMiGbrBt.js";import{i as w,a as C}from"./conversation-model-B47vYmWN.js";import{u as b,m as M,g as S}from"./Provider-C7UKGHQy.js";import{b as A}from"./router-Bq5dwf78.js";import{l as I,i as B,s as E}from"./sessionRead-CvFz2RHv.js";import{u as L}from"./use-conversation-list-Byab41G6.js";import{u as R}from"./use-fleet-active-asks-BIbQx5AS.js";import{ConversationScreen as D}from"./ConversationScreen-BDRhx-RU.js";import{P as O}from"./plus--b1raV_O.js";import"./colors-BtO5_zlx.js";import"./time-DltNTpLl.js";import"./api-h5zurxmi.js";import"./sse-CjIkKo46.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-bARZqTzD.js";import"./DocumentFocusViewer-BeVwwl26.js";import"./createLucideIcon-OpA4Amw5.js";import"./TextDocumentSurface-BpAw4eQS.js";/* empty css */import"./file-text-BODxCjcz.js";import"./x-D3GElQbe.js";import"./chevron-right-XiIHsk4m.js";import"./code-xml-B6jOCM4V.js";import"./arrow-left-DEZzHiPS.js";import"./scout-voice-CU5c0LGi.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-2kv_tGUS.js";import"./MessageComposerSuggestions-DpxN9WiB.js";import"./NewChatComposer-Cs6OsxK6.js";import"./runtime-picker-Bcl5iIX5.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CbHjZsz1.js";import"./index-CJXzfjo9.js";import"./HarnessMark-Cbv3Ib0c.js";import"./NewChatOrigin-Bk2OyVjI.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-BGk5qoEw.js";import"./search-CWfZtOt2.js";import"./terminal-sessions-D5CIR2OL.js";import"./ConversationComposer-Bla3DDvM.js";import"./message-markup-3J9pi3nx.js";import"./mentions-jSuTGeet.js";import"./AgentDetailCard-BcRBRp88.js";import"./AgentLiveActions-DBtnD0qE.js";import"./terminal-takeover-B8UeD9OX.js";import"./openContent-C6XO6kr5.js";import"./eye-0PvebX_a.js";import"./terminal-B9AOZQKR.js";import"./message-visibility-kJM8XcSG.js";import"./clipboard-e3fSpeo7.js";import"./AgentAvatar-D90c1Rzk.js";import"./SpriteAvatar-DyaGuhik.js";import"./types-B0PlfpKc.js";/* empty css */import"./ConversationHeader-DE3FC0m-.js";import"./BackToPicker-BRvfostO.js";import"./ConversationFeedRows-B_gPxcqA.js";import"./ConversationPanels-DLek4H6A.js";import"./use-reduced-motion-RRBkmVkk.js";import"./activity-CA8qS6PI.js";import"./message-circle-CG-96zts.js";import"./tail-display-BdyoLvzY.js";import"./lane-edit-display-C_Aujldz.js";import"./tail-events-D19uAGe3.js";import"./ConversationStatus-BwVLiiO4.js";import"./conversation-icons-IIG5ha6D.js";function ts({conversationId:t,navigate:c}){return t?e.jsx(D,{conversationId:t,navigate:c,showBackNav:!1}):e.jsx(P,{})}function P(){const{onlineCount:t,apiConnection:c,reload:j,route:N,agents:d,openContextCapture:k,navigate:u}=b(),{sessions:y,loading:p,loadError:n}=L(),[x]=a.useState(()=>I()),v=R(),s=c.status==="offline",i=A(N),f=a.useRef(!1),h=a.useMemo(()=>{const m=M(d,i);return[...S(y,m,i)].sort((g,o)=>(o.lastMessageAt??0)-(g.lastMessageAt??0))},[y,d,i]),r=a.useMemo(()=>{const m=h.filter(o=>!w(o));return m.find(o=>o.agentId?v.get(o.agentId)?.status==="needs_attention"&&B(o.lastMessageAt,o.id,x):!1)??m[0]},[h,v,x]);a.useEffect(()=>{f.current||p||n||s||r&&(f.current=!0,E(r.id),u({view:"messages",conversationId:r.id,...i?{machineId:i}:{}},{replace:!0}))},[r,p,n,s,i,u]);const l=!s&&!n&&(p||!!r);return e.jsx("div",{className:`s-conv-empty${s?" s-conv-empty--offline":""}`,children:e.jsxs("div",{className:"s-conv-empty-inner",children:[e.jsx($,{}),e.jsx("div",{className:"s-conv-empty-eyebrow",children:s?"Connection":"Conversations"}),e.jsx("p",{className:"s-conv-empty-title",children:s?"Scout server offline":l?"Opening your latest conversation":n?"Chats unavailable":"Nothing open yet"}),e.jsx("p",{className:"s-conv-empty-detail",children:s?"Start or restart Scout services. Chats and context will appear when the server responds.":l?V(r):n||"Start a chat by choosing an agent and sending the first message."}),s||n?e.jsx("button",{type:"button",className:"s-conv-empty-action",onClick:()=>{j()},children:"Retry connection"}):l?null:e.jsxs("button",{type:"button",className:"s-conv-empty-new",onClick:()=>k(),children:[e.jsx(O,{size:16,"aria-hidden":"true"}),"New chat"]}),e.jsxs("div",{className:"s-conv-empty-ambient",children:[e.jsx("span",{className:"s-conv-empty-ambient-dot","aria-hidden":"true"}),s?"waiting for server":`${t} ${t===1?"agent":"agents"} active`]})]})})}function V(t){return t?C(t):"Finding where you left off."}function $(){return e.jsxs("svg",{className:"s-conv-empty-mesh",viewBox:"0 0 72 72",fill:"none","aria-hidden":"true",children:[e.jsx("line",{className:"s-conv-empty-mesh-link",x1:"14",y1:"20",x2:"36",y2:"12"}),e.jsx("line",{className:"s-conv-empty-mesh-link",x1:"36",y1:"12",x2:"58",y2:"24"}),e.jsx("line",{className:"s-conv-empty-mesh-link",x1:"14",y1:"20",x2:"24",y2:"46"}),e.jsx("line",{className:"s-conv-empty-mesh-link",x1:"24",y1:"46",x2:"36",y2:"12"}),e.jsx("line",{className:"s-conv-empty-mesh-link",x1:"24",y1:"46",x2:"50",y2:"54"}),e.jsx("line",{className:"s-conv-empty-mesh-link",x1:"50",y1:"54",x2:"58",y2:"24"}),e.jsx("line",{className:"s-conv-empty-mesh-link",x1:"36",y1:"12",x2:"50",y2:"54"}),e.jsx("circle",{className:"s-conv-empty-mesh-node",cx:"14",cy:"20",r:"2.5"}),e.jsx("circle",{className:"s-conv-empty-mesh-node",cx:"58",cy:"24",r:"2.5"}),e.jsx("circle",{className:"s-conv-empty-mesh-node",cx:"24",cy:"46",r:"2.5"}),e.jsx("circle",{className:"s-conv-empty-mesh-node",cx:"50",cy:"54",r:"2.5"}),e.jsx("circle",{className:"s-conv-empty-mesh-node s-conv-empty-mesh-node--accent",cx:"36",cy:"12",r:"3.5"})]})}export{ts as MessagesScreen};
@@ -1 +0,0 @@
1
- import{r as i,j as a}from"./index-DMiGbrBt.js";/* empty css */import{a as M}from"./api-h5zurxmi.js";import{u as ee,s as se,c as te,t as B,a as A,b as H}from"./mission-control-store-BlnEhiCq.js";import{u as ne}from"./observe-CuLGD9Zp.js";import{e as Q}from"./agent-chat-Bfjd9y6c.js";import{f as ie}from"./tail-display-BdyoLvzY.js";import{u as re}from"./tail-events-D19uAGe3.js";import{FocusOverlay as ae}from"./MissionFocusOverlay-wlCmWDCT.js";import{b as oe,s as le,f as ce,c as de,m as ue,a as me,W as he,M as fe}from"./MissionLogPane-__MVtEl9.js";import{A as pe}from"./mission-control-model-C0fByIjm.js";import"./colors-BtO5_zlx.js";import"./surface-activity-B1rgWB1i.js";import"./lane-edit-display-C_Aujldz.js";import"./index-BWHgHrtv.js";import"./keyboard-nav-2kv_tGUS.js";import"./time-DltNTpLl.js";import"./text-DsBWV_4k.js";import"./page-status-DpkedE1F.js";import"./runtime-picker-Bcl5iIX5.js";import"./scout-voice-CU5c0LGi.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CbHjZsz1.js";import"./createLucideIcon-OpA4Amw5.js";import"./index-CJXzfjo9.js";import"./HarnessMark-Cbv3Ib0c.js";const x=4e3,ve=250,we=3e4,Ie=1500,Se=1800;function ye(s,o){return s.map(n=>({id:n.id,name:n.name,handle:n.handle,state:n.state,project:n.project,branch:n.branch,harness:n.harness,model:n.model,sessionIds:o.get(n.id)??[]}))}function Ae(s){return{id:`native:${s.source}:${s.sessionId}`,definitionId:`native:${s.source}:${s.sessionId}`,name:`${s.source} · ${s.project}`,handle:s.sessionId.slice(0,8),agentClass:"native-session",harness:s.source,state:s.live?"working":"ready",projectRoot:s.cwd,cwd:s.cwd,updatedAt:s.lastActiveAt,createdAt:null,transport:"tail",selector:null,defaultSelector:null,nodeQualifier:null,workspaceQualifier:null,wakePolicy:null,capabilities:[],project:s.project,branch:s.attribution==="unattributed"?"native session":s.attribution,role:"native session",model:null,harnessSessionId:s.sessionId,terminalSurface:null,harnessLogPath:s.logPath,conversationId:null,homeNodeId:null,homeNodeName:null,ownerId:null,ownerName:null,ownerHandle:null,staleLocalRegistration:!1,retiredFromFleet:!1,replacedByAgentId:null}}function z(s){return s.agentClass==="native-session"||s.id.startsWith("native:")}function Ee(s,o){const n=s.harnessSessionId?.trim();if(!n)throw new Error("This native session has no session id to continue.");const E=s.projectRoot?.trim()||s.cwd?.trim();if(!E)throw new Error("This native session has no project path to route from.");const b=s.harness?.trim(),p=s.model?.trim();return{target:{projectPath:E},execution:{session:"existing",targetSessionId:n,...b?{harness:b}:{},...p?{model:p}:{}},agent:{persistence:"one_time",...s.handle?.trim()?{handle:s.handle.trim()}:{}},seed:{instructions:o}}}async function be(s,o){if(z(s)){await M("/api/sessions",{method:"POST",body:JSON.stringify(Ee(s,o))});return}const n=await Q(s);await M("/api/send",{method:"POST",body:JSON.stringify({body:o,chatId:n,execution:{...s.harness?.trim()?{harness:s.harness.trim()}:{},...s.model?.trim()?{model:s.model.trim()}:{}}})})}function Ne(s,o,n){return s.live?"active":s.lastActiveAt>0&&o-s.lastActiveAt<=n?"recent":"idle"}function Ye({navigate:s,agents:o}){const n=ee(),{activityFilter:E,sourceFilter:b,activityWindowMs:p,groupMode:C,query:k,focusedId:g,revealRequest:v}=n,[P,_]=i.useState([]),[F,K]=i.useState(null),[S,U]=i.useState(()=>Date.now()),R=ne(o),j=i.useRef([]);re(e=>{j.current.push(e)}),i.useEffect(()=>{const e=setInterval(()=>{if(j.current.length===0)return;const t=j.current;j.current=[],_(r=>{const d=new Set(r.map(f=>f.id)),m=t.filter(f=>!f.id||!d.has(f.id));if(m.length===0)return r;const l=r.concat(m);return l.length>x?l.slice(l.length-x):l})},ve);return()=>clearInterval(e)},[]),i.useEffect(()=>{const e=setInterval(()=>U(Date.now()),1e4);return()=>clearInterval(e)},[]),i.useEffect(()=>{let e=!1;return M(`/api/tail/recent?limit=${Ie}`).then(t=>{if(e)return;const r=t.events??[];_(d=>{const m=new Set(d.map(f=>f.id)),l=r.filter(f=>!m.has(f.id)).concat(d);return l.length>x?l.slice(l.length-x):l})}).catch(()=>{}),()=>{e=!0}},[]),i.useEffect(()=>{let e=!1;const t=async()=>{try{const d=await M("/api/tail/discover");e||K(d)}catch{}};t();const r=setInterval(()=>{t()},we);return()=>{e=!0,clearInterval(r)}},[]);const O=i.useMemo(()=>{const e=new Map;for(const t of o){const r=R[t.id],d=[t.harnessSessionId,r?.sessionId,r?.data.metadata?.session?.externalSessionId].map(m=>m?.trim()).filter(m=>!!m);e.set(t.id,[...new Set(d)])}return e},[o,R]),y=i.useMemo(()=>oe({events:ie(P),transcripts:F?.transcripts??[],agents:ye(o,O),now:S,liveWindowMs:pe}),[o,F?.transcripts,S,O,P]),[w,T]=i.useState(null),h=i.useMemo(()=>{const e=le(ce(y,{sourceFilter:b,activityFilter:E,query:k,now:S,activeWindowMs:p}),C);if(!w)return e;const t=e.find(r=>r.id===w);return t?[t,...e.filter(r=>r.id!==w)]:e},[E,p,C,y,S,w,k,b]),W=i.useRef(null),[$,J]=i.useState({w:0,h:0});i.useEffect(()=>{const e=W.current;if(!e)return;const t=new ResizeObserver(([r])=>{J({w:r.contentRect.width,h:r.contentRect.height})});return t.observe(e),()=>t.disconnect()},[]);const u=i.useMemo(()=>de(h.length,$),[h.length,$]),L=i.useMemo(()=>h.slice(0,u.shown),[h,u.shown]);i.useEffect(()=>{se(h.map(e=>({id:e.id,name:e.agent?.name??me(e),handle:e.agent?.handle??ue(e),harness:e.source,branch:e.agent?.branch??null,project:e.project,model:e.agent?.model??null,state:e.agent?.state??null,agentClass:e.agent?"agent":"native-session",updatedAt:e.lastActiveAt,source:e.agent||e.attribution==="scout-managed"?"scout":"native",activity:Ne(e,S,p),lastActiveAt:e.lastActiveAt})))},[p,S,h]);const[G,D]=i.useState(null),V=i.useRef(null),N=i.useRef(null);i.useEffect(()=>{v&&V.current!==v.serial&&(V.current=v.serial,T(v.id),D(v.id),N.current&&clearTimeout(N.current),N.current=setTimeout(()=>D(null),Se),te(v.serial))},[v]),i.useEffect(()=>()=>{N.current&&clearTimeout(N.current)},[]);const I=g?y.find(e=>e.id===g)??null:null,c=i.useMemo(()=>{if(!I)return null;if(I.agent){const e=o.find(t=>t.id===I.agent.id);if(e)return e}return Ae(I)},[o,I]),X=I?.agent?R[I.agent.id]?.data??null:null;i.useEffect(()=>{const e=t=>{const r=t.target;if(!(r.tagName==="INPUT"||r.tagName==="TEXTAREA"||r.isContentEditable)){if(t.key==="Escape"){g?A(null):n.selectedIds.length>0?H():w&&T(null);return}if((t.metaKey||t.ctrlKey)&&t.key==="a"){if(n.visibleAgents.length===0)return;t.preventDefault();const d=n.visibleAgents.map(l=>l.id);if(d.every(l=>n.selectedIds.includes(l))){H();return}for(const l of d)n.selectedIds.includes(l)||B(l)}}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[g,n.selectedIds,n.visibleAgents,w]);const Y=i.useCallback(e=>{s({view:"ops",mode:"tail",tailQuery:e.sessionId})},[s]),Z=L.reduce((e,t)=>e+t.lines.length,0),q=y.length-h.length;return a.jsxs("div",{className:"s-wall",children:[a.jsxs("div",{className:"s-wall-status",children:[a.jsx("span",{className:"s-wall-status-key",children:"logs"}),a.jsxs("span",{className:"s-wall-status-value",children:[u.shown,"/",h.length]}),a.jsx("span",{className:"s-wall-status-key",children:"grid"}),a.jsx("span",{className:"s-wall-status-value",children:u.cols>0?`${u.cols}×${u.rows}`:"—"}),a.jsx("span",{className:"s-wall-status-key",children:"lines"}),a.jsx("span",{className:"s-wall-status-value",children:Z}),u.hidden>0&&a.jsxs("span",{className:"s-wall-status-hidden",title:"Least recently active logs are withheld to keep panes readable",children:[u.hidden," withheld"]}),q>0&&a.jsxs("span",{className:"s-wall-status-hidden",title:"Sessions discovery knows of that have produced no output to tail",children:[q," quiet"]}),w&&a.jsx("button",{type:"button",className:"s-wall-status-pin",onClick:()=>T(null),children:"unpin"})]}),a.jsx("div",{ref:W,className:"s-wall-grid",style:{gridTemplateColumns:`repeat(${Math.max(1,u.cols)}, minmax(0, 1fr))`,gridTemplateRows:`repeat(${Math.max(1,u.rows)}, minmax(0, 1fr))`,gap:he},children:L.length===0?a.jsxs("div",{className:"s-wall-empty",children:[a.jsx("div",{className:"s-wall-empty-title",children:y.length===0?"No logs on the wire":"No matching logs"}),a.jsx("div",{className:"s-wall-empty-sub",children:y.length===0?"Panes appear as sessions start writing to their transcripts.":"Widen the activity window or clear the filter."})]}):L.map(e=>a.jsx(fe,{log:e,selected:n.selectedIds.includes(e.id),revealed:G===e.id,onOpen:()=>A(e.id),onToggleSelected:()=>B(e.id),onOpenLog:()=>Y(e)},e.id))}),c&&a.jsx(ae,{agent:c,observe:X,onClose:()=>A(null),onSend:e=>be(c,e),onOpenConversation:()=>{if(A(null),z(c)&&c.harnessSessionId){s({view:"sessions",sessionId:c.harnessSessionId});return}Q(c).then(e=>s({view:"conversation",conversationId:e})).catch(()=>s({view:"agents-v2",agentId:c.id,tab:"message"}))},onTail:()=>{A(null),s({view:"ops",mode:"tail",tailQuery:c.harnessSessionId??c.handle??c.name})},onProfile:()=>{A(null),s({view:"agents-v2",agentId:c.id})}})]})}export{Ye as MissionControlView};
@@ -1 +0,0 @@
1
- import{j as l}from"./index-DMiGbrBt.js";import{c as j}from"./colors-BtO5_zlx.js";import{s as x}from"./page-status-DpkedE1F.js";import{t as a}from"./time-DltNTpLl.js";import{R as b}from"./RailRow-BoGxAHNF.js";import"./AgentAvatar-D90c1Rzk.js";import"./SpriteAvatar-DyaGuhik.js";function C({agent:e,state:s,isExpanded:o,isSelected:i,tabIndex:n,onToggle:c,onReveal:m,onOpen:d}){const r=x({label:`Focus ${e.handle??e.name}`,route:`/ops/control · ${e.id}`}),p=l.jsxs(l.Fragment,{children:[l.jsxs("dl",{className:"rr-spec-list",children:[l.jsx(t,{label:"MODEL",value:[e.harness,e.model].filter(Boolean).join("/")||"—"}),l.jsx(t,{label:"AT",value:[e.project,e.branch].filter(Boolean).join("/")||"—"}),l.jsx(t,{label:"STATE",value:j(s)}),l.jsx(t,{label:"ACTIVITY",value:e.activity}),l.jsx(t,{label:"SOURCE",value:e.source})]}),l.jsxs("div",{className:"ml-detail-actions",children:[l.jsx("button",{type:"button",className:"ml-detail-btn",onClick:m,children:"Reveal on wall"}),l.jsx("button",{type:"button",className:"ml-detail-btn ml-detail-btn--primary",onClick:d,children:"Open ↗"})]})]});return l.jsx(b,{name:e.handle??e.name,meta:e.lastActiveAt?a(e.lastActiveAt):e.updatedAt?a(e.updatedAt):void 0,tone:s,caret:o?"open":"closed",selected:i,expanded:o,detail:p,tabIndex:n,onClick:u=>c(u),onPointerEnter:r.onPointerEnter,onPointerLeave:r.onPointerLeave})}function t({label:e,value:s}){return l.jsxs("div",{className:"rr-spec",children:[l.jsx("dt",{className:"rr-spec-label",children:e}),l.jsx("dd",{className:"rr-spec-value",title:s,children:s})]})}export{C as MissionLeftAgentRow};
@@ -1 +0,0 @@
1
- import{r as w,j as u}from"./index-DMiGbrBt.js";import{H as g}from"./HarnessMark-Cbv3Ib0c.js";import{n as y}from"./colors-BtO5_zlx.js";import{s as N}from"./page-status-DpkedE1F.js";import{c as _,T as I,b as W}from"./tail-display-BdyoLvzY.js";import{b as E}from"./time-DltNTpLl.js";import{m as H,s as T}from"./mission-control-model-C0fByIjm.js";const k=16,C=300,S=180,F=8,$=400,j=1.55,M={w:1440,h:860};function R(e,s,o,a,c,d){let l=null;for(let t=1;t<=e;t+=1){const r=Math.ceil(e/t),n=(s-a*(t-1))/t,f=(o-a*(r-1))/r;if(n<c||f<d)continue;const m=t*r-e,p=Math.min(n,f*j)*Math.min(n/j,f);(!l||m<l.waste||m===l.waste&&p>l.fit)&&(l={cols:t,rows:r,paneW:n,paneH:f,waste:m,fit:p})}return l}function ee(e,s,o={}){const a=o.max??k,c=o.minW??C,d=o.minH??S,l=o.gap??F,t=s.w>0?s.w:M.w,r=s.h>0?s.h:M.h,n=Math.max(0,Math.floor(e));if(n===0)return{cols:0,rows:0,shown:0,hidden:0,paneW:0,paneH:0};for(let f=Math.min(n,a);f>=1;f-=1){const m=R(f,t,r,l,c,d);if(m)return{cols:m.cols,rows:m.rows,shown:f,hidden:n-f,paneW:m.paneW,paneH:m.paneH}}return{cols:1,rows:1,shown:1,hidden:n-1,paneW:t,paneH:r}}function B(e){const s=e.sessionId?.trim();return s||null}function te(e){const s=e.bufferPerLog??$,o=new Map;for(const t of e.agents)for(const r of t.sessionIds){const n=r.trim();n&&o.set(n,t)}const a=new Map,c=(t,r)=>{const n=a.get(t);if(n)return n;const f={id:t,sessionId:t,lines:[],lastActiveAt:0,live:!1,agent:o.get(t)??null,...r};return a.set(t,f),f};for(const t of e.transcripts){const r=B(t);if(!r)continue;const n=c(r,{source:t.source,attribution:t.harness,project:t.project,cwd:t.cwd,logPath:t.transcriptPath});n.lastActiveAt=Math.max(n.lastActiveAt,t.mtimeMs??0)}const d=new Set;for(const t of e.events){const r=t.sessionId?.trim();if(!r)continue;if(t.id){if(d.has(t.id))continue;d.add(t.id)}const n=c(r,{source:t.source,attribution:t.harness,project:t.project,cwd:t.cwd,logPath:null});n.source=t.source,n.attribution=t.harness,n.project=t.project||n.project,n.cwd=t.cwd||n.cwd,n.lines.push(t),n.lastActiveAt=Math.max(n.lastActiveAt,t.ts)}const l=[];for(const t of a.values())t.lines.length>s&&(t.lines=t.lines.slice(t.lines.length-s)),t.live=t.lastActiveAt>0&&e.now-t.lastActiveAt<=e.liveWindowMs,l.push(t);return l}function K(e,s){const o=s.trim().toLowerCase();return o?[e.agent?.name,e.agent?.handle,e.agent?.branch,e.project,e.source,e.sessionId,e.cwd,e.logPath].filter(a=>!!a).some(a=>a.toLowerCase().includes(o)):!0}function v(e){return e.attribution==="scout-managed"||e.agent!==null}function se(e,s){const o=s.requireOutput??!0;return e.filter(a=>{if(o&&a.lines.length===0||s.sourceFilter==="scout"&&!v(a)||s.sourceFilter==="native"&&v(a)||s.activityFilter==="live"&&!a.live)return!1;if(s.activityFilter==="active"){const c=s.now-a.lastActiveAt;if(!(a.lastActiveAt>0&&c<=s.activeWindowMs))return!1}return K(a,s.query)})}function A(e,s){return s==="activity"?"":H({activityLabel:"",workspace:e.project,harness:e.source,state:e.agent?.state??null,source:v(e)?"scout":"native"},s)}function ne(e,s){const o=new Map;for(const a of e){const c=A(a,s);o.set(c,Math.max(o.get(c)??0,a.lastActiveAt))}return[...e].sort((a,c)=>{const d=A(a,s),l=A(c,s);if(d!==l){const t=(o.get(l)??0)-(o.get(d)??0);return t!==0?t:d.localeCompare(l)}return a.lastActiveAt!==c.lastActiveAt?c.lastActiveAt-a.lastActiveAt:a.sessionId.localeCompare(c.sessionId)})}function O(e){return e.sessionId.slice(0,13)}function G(e){const s=e.agent?.handle?.trim();if(s)return`@${s}`;const o=e.agent?.name?.trim();return o||`${e.source}:${O(e)}`}function q(e){const s=e.logPath?.trim();return s?s.split("/").pop()||s:`${e.sessionId.slice(0,12)}.log`}const z=24;function D({log:e,selected:s,revealed:o,onOpen:a,onToggleSelected:c,onOpenLog:d,paneRef:l}){const t=w.useRef(null),r=w.useRef(!0),n=w.useMemo(()=>_(e.lines.map(i=>({event:i,meta:void 0}))),[e.lines]),f=w.useCallback(()=>{const i=t.current;if(!i)return;const h=i.scrollHeight-i.scrollTop-i.clientHeight;r.current=h<=z},[]);w.useEffect(()=>{const i=t.current;!i||!r.current||(i.scrollTop=i.scrollHeight)},[n.length,e.lastActiveAt]);const m=y(e.agent?.state??null),p=G(e),x=q(e),L=[e.project,e.agent?.branch].filter(Boolean).join("/")||e.cwd||"—",b=N({label:`Focus ${p}`,route:`/ops/control · ${e.sessionId}`}),P=i=>{if(i.metaKey||i.ctrlKey||i.shiftKey){c();return}a()};return u.jsxs("div",{ref:l,className:["s-wall-pane",e.live?"s-wall-pane--live":null,s?"s-wall-pane--selected":null,o?"s-wall-pane--revealed":null].filter(Boolean).join(" "),onClick:P,onPointerEnter:b.onPointerEnter,onPointerLeave:b.onPointerLeave,children:[u.jsxs("div",{className:"s-wall-pane-head",children:[u.jsx("span",{className:"s-wall-pane-dot",style:{background:e.agent?T(m):"var(--dim)"},"aria-hidden":!0}),u.jsx(g,{harness:e.source,size:11,title:null}),u.jsx("button",{type:"button",className:"s-wall-pane-title",title:e.agent?.name??e.sessionId,"aria-label":`Focus ${p}`,onClick:i=>{i.stopPropagation(),a()},children:p}),u.jsx("span",{className:"s-wall-pane-where",title:e.cwd??L,children:L}),u.jsx("span",{className:"s-wall-pane-spacer"}),e.live&&u.jsx("span",{className:"s-wall-pane-live",children:"live"}),u.jsx("button",{type:"button",className:"s-wall-pane-file",title:e.logPath??`session ${e.sessionId}`,onClick:i=>{i.stopPropagation(),d()},children:x})]}),u.jsx("div",{className:"s-wall-pane-body",ref:t,onScroll:f,children:n.length===0?u.jsx("div",{className:"s-wall-pane-idle",children:"no output since page load"}):n.map(({event:i,repeatCount:h})=>u.jsxs("div",{className:`s-wall-line s-wall-line--${i.kind}`,children:[u.jsx("span",{className:"s-wall-line-time",children:E(i.ts,{milliseconds:!1})||"—"}),u.jsx("span",{className:"s-wall-line-glyph",title:W[i.kind],children:I[i.kind]}),u.jsxs("span",{className:"s-wall-line-text",children:[i.summary,h>1&&u.jsxs("span",{className:"s-wall-line-repeat",title:`${h} identical events`,children:[" ","×",h]})]})]},i.id))})]})}const ae=Object.freeze(Object.defineProperty({__proto__:null,MissionLogPane:D},Symbol.toStringTag,{value:"Module"}));export{D as M,F as W,G as a,te as b,ee as c,ae as d,se as f,O as m,ne as s};
@@ -1,19 +0,0 @@
1
- import{r as l,j as o}from"./index-DMiGbrBt.js";import{M as $s}from"./runtime-picker-Bcl5iIX5.js";import{i as qt,b as Ps,d as Ye,M as Gt,u as _s}from"./MessageComposerSuggestions-DpxN9WiB.js";import{r as Os}from"./index-CJXzfjo9.js";import{H as Kt}from"./HarnessMark-Cbv3Ib0c.js";import{c as Fs,S as Wt,E as Hs,F as Us}from"./conversation-model-B47vYmWN.js";import{a as ee}from"./api-h5zurxmi.js";import{d as Bs}from"./colors-BtO5_zlx.js";import{NewChatOrigin as qs}from"./NewChatOrigin-Bk2OyVjI.js";import{u as Gs}from"./keyboard-nav-2kv_tGUS.js";import{e as Ks}from"./agent-chat-Bfjd9y6c.js";import{n as Ws}from"./model-Co0zkMIc.js";import{X as zs}from"./x-D3GElQbe.js";import{C as Xs}from"./chevron-down-BGk5qoEw.js";import{S as Qs}from"./search-CWfZtOt2.js";import{L as mt}from"./loader-circle-CbHjZsz1.js";import{F as Vs}from"./file-text-BODxCjcz.js";const yt=["none","minimal","low","medium","high","xhigh","max","ultra"],ts={none:"None",minimal:"Minimal",low:"Light",medium:"Medium",high:"High",xhigh:"Extra High",max:"Max",ultra:"Ultra"},ce={schemaVersion:"openscout.runtime-catalog.v1",harnesses:[{id:"claude",label:"Claude Code",enabled:!0,default:!0,reasoningEfforts:["low","medium","high","xhigh","max"],defaultReasoningEffort:"medium",models:[{id:"claude-opus-5",label:"Opus 5",enabled:!0,default:!0,family:"Opus",version:"5"},{id:"claude-sonnet-4-6",label:"Sonnet 4.6",enabled:!0,family:"Sonnet",version:"4.6"},{id:"claude-haiku-4-5",label:"Haiku 4.5",enabled:!0,family:"Haiku",version:"4.5"},{id:"claude-opus-4-8",label:"Opus 4.8",enabled:!0,family:"Opus",version:"4.8"},{id:"claude-opus-4-7",label:"Opus 4.7",enabled:!0,family:"Opus",version:"4.7"},{id:"claude-sonnet-4-5",label:"Sonnet 4.5",enabled:!0,family:"Sonnet",version:"4.5"}]},{id:"codex",label:"Codex",enabled:!0,reasoningEfforts:["low","medium","high","xhigh"],defaultReasoningEffort:"medium",models:[{id:"gpt-5.6-sol",label:"5.6 Sol",enabled:!0,default:!0,family:"GPT",version:"5.6 Sol",reasoningEfforts:["low","medium","high","xhigh","ultra"]},{id:"gpt-5.6-terra",label:"5.6 Terra",enabled:!0,family:"GPT",version:"5.6 Terra",reasoningEfforts:["low","medium","high","xhigh","ultra"]},{id:"gpt-5.6-luna",label:"5.6 Luna",enabled:!0,family:"GPT",version:"5.6 Luna"},{id:"gpt-5.5",label:"5.5",enabled:!0,family:"GPT",version:"5.5"},{id:"gpt-5.5-mini",label:"5.5 mini",enabled:!0,family:"GPT",version:"5.5 mini"}]},{id:"grok",label:"Grok CLI",enabled:!0,reasoningEfforts:["low","medium","high","xhigh"],defaultReasoningEffort:"medium",models:[{id:"grok-4.5",label:"Grok 4.5",enabled:!0,default:!0,family:"Grok",version:"4.5"},{id:"grok-4.3",label:"Grok 4.3",enabled:!0,family:"Grok",version:"4.3"}]},{id:"grok-acp",label:"Grok ACP",enabled:!0,reasoningEfforts:null,models:[{id:"grok-4.5",label:"Grok 4.5",enabled:!0,default:!0,family:"Grok",version:"4.5"},{id:"grok-4.3",label:"Grok 4.3",enabled:!0,family:"Grok",version:"4.3"}]},{id:"kimi",label:"Kimi Code",enabled:!0,reasoningEfforts:null,models:[]},{id:"flue",label:"Flue",enabled:!0,reasoningEfforts:null,models:[]},{id:"cursor",label:"Cursor CLI",enabled:!0,reasoningEfforts:null,models:[]},{id:"opencode",label:"OpenCode",enabled:!0,reasoningEfforts:null,models:[{id:"opencode-go/glm-5.2",label:"GLM-5.2",enabled:!0,default:!0,family:"GLM",version:"5.2"},{id:"opencode-go/glm-5.1",label:"GLM-5.1",enabled:!0,family:"GLM",version:"5.1"},{id:"opencode-go/kimi-k3",label:"Kimi K3",enabled:!0,family:"Kimi",version:"K3"},{id:"opencode-go/qwen3.8-max",label:"Qwen3.8 Max",enabled:!0,family:"Qwen",version:"3.8 Max"},{id:"opencode-go/minimax-m3",label:"MiniMax M3",enabled:!0,family:"MiniMax",version:"M3"},{id:"opencode-go/deepseek-v4-pro",label:"DeepSeek V4 Pro",enabled:!0,family:"DeepSeek",version:"V4 Pro"},{id:"opencode-go/grok-4.5",label:"Grok 4.5",enabled:!0,family:"Grok",version:"4.5"},{id:"opencode/nemotron-3-ultra-free",label:"Nemotron 3 Ultra (free)",enabled:!0,family:"Nemotron",version:"3 Ultra Free"},{id:"opencode/laguna-s-2.1-free",label:"Laguna S 2.1 (free)",enabled:!0,family:"Laguna",version:"S 2.1 Free"}]},{id:"pi",label:"Pi",enabled:!0,reasoningEfforts:null,models:[]}]};function jt(e){return ce.harnesses.find(t=>t.id===e)}function Js(){return ce.harnesses.find(e=>e.enabled&&e.default)?.id??ce.harnesses.find(e=>e.enabled)?.id??null}function ss(e){const t=jt(e);return t?.models.find(n=>n.enabled&&n.default)?.id??t?.models.find(n=>n.enabled)?.id??null}function Ys(e,t){const n=jt(e);if(!n||!n.enabled)return null;const s=t?n.models.find(a=>a.enabled&&a.id===t):void 0;return s?.reasoningEfforts===null?null:s?.reasoningEfforts??n.reasoningEfforts}function ns(e,t){const n=jt(e),s=t?n?.models.find(m=>m.enabled&&m.id===t):void 0,a=Ys(e,t),i=s?.defaultReasoningEffort??n?.defaultReasoningEffort??null;return i&&a?.includes(i)?i:a?.[0]??null}const Zs=Object.fromEntries(ce.harnesses.filter(e=>e.enabled).map(e=>{const t=ss(e.id);return[e.id,{model:t,reasoningEffort:ns(e.id,t)}]}));Object.fromEntries(ce.harnesses.filter(e=>e.enabled).map(e=>{const t=yt.filter(n=>e.reasoningEfforts?.includes(n)||e.models.some(s=>s.enabled&&s.reasoningEfforts?.includes(n)));return[e.id,t]}));const en=(()=>{const e=new Map;for(const t of ce.harnesses)if(t.enabled)for(const n of t.models){if(!n.enabled)continue;const s=e.get(n.id);if(s){s.harnesses.includes(t.id)||s.harnesses.push(t.id);continue}e.set(n.id,{id:n.id,label:n.label,...n.description?{description:n.description}:{},harnesses:[t.id],source:"default",...n.family?{family:n.family}:{},...n.version?{version:n.version}:{}})}return Array.from(e.values())})(),tn={none:"No extra thinking",minimal:"Smallest reasoning budget",low:"Fast responses with lighter reasoning",medium:"Balanced speed and reasoning depth",high:"Greater reasoning depth for complex work",xhigh:"Extra high reasoning depth",max:"Maximum reasoning depth",ultra:"Maximum reasoning with delegation"},sn=yt.flatMap(e=>{const t=[],n=[];for(const s of ce.harnesses){if(!s.enabled)continue;const a=s.models.filter(w=>w.enabled),i=a.filter(w=>(w.reasoningEfforts??s.reasoningEfforts)?.includes(e)),m=a.length===0&&s.reasoningEfforts?.includes(e);i.length===0&&!m||(t.push(s.id),a.length>0&&i.length<a.length&&n.push(...i.map(w=>w.id)))}return t.length===0?[]:[{id:e,label:ts[e],description:tn[e],harnesses:t,...n.length>0?{models:n}:{}}]});function nn(e,t){const n=t?.trim();return n?e.find(s=>s.id===n)??null:null}function rn(e,t){if(e.view==="conversation"&&e.conversationId)return{agentId:null,conversationId:e.conversationId,label:"Current chat",canUseExistingChat:!0};if(e.view==="messages"&&e.conversationId)return{agentId:null,conversationId:e.conversationId,label:"Current chat",canUseExistingChat:!0};if(e.view==="agents-v2"&&e.agentId){const n=nn(t,e.agentId),s=e.conversationId??n?.conversationId??null;return{agentId:e.agentId,conversationId:s,label:n?.name??e.agentId,canUseExistingChat:!!s}}return{agentId:null,conversationId:null,label:"Pick a project",canUseExistingChat:!1}}const H="",on={none:"no reasoning",minimal:"lightest",low:"triage",medium:"default",high:"deep",xhigh:"exhaustive",max:"fullest",ultra:"beyond max"},an=yt.map(e=>({value:e,label:ts[e],note:on[e]}));function Re(e,t){return e.harnesses.find(n=>n.value===t)}function Ct(e,t){return Re(e,t)?.models??[]}function Ee(e,t,n){const s=Re(e,t),a=s?s.efforts===null?null:s.efforts??e.efforts:e.efforts;if(!a||!n)return a;const i=new Set((s?.models??[]).map(m=>m.value));return i.has(n)?a.filter(m=>{if(!m.models||m.models.length===0)return!0;const w=m.models.filter(v=>i.has(v));return w.length===0||w.includes(n)}):a}function rs(e,t){const s=Ct(e,t.harness).find(a=>a.value===t.model);return s||(t.model.trim()?{value:t.model,label:t.model,note:"custom"}:{value:H,label:"Default",note:"harness picks"})}function ln(e,t){const n=Re(e,t.harness),s=n?.label??t.harness??"Default",a=rs(e,t),i=Ee(e,t.harness,t.model),m=i?.find(F=>F.value===t.effort),w=m?.label??t.effort,v=i?`Runtime: ${s}, model ${a.label}, effort ${w}`:`Runtime: ${s}, model ${a.label}`;return{harness:n,harnessLabel:s,model:a,modelLabel:a.label,effort:m,effortLabel:w,supportsEffort:i!==null,summary:v}}function cn(e,t,n){const s={...t,...n};if(!(n.harness!==void 0&&n.harness!==t.harness)){if(n.model===void 0||n.model===t.model)return s;const L=Ee(e,s.harness,s.model);if(!L||s.effort===H||L.some(z=>z.value===s.effort))return s;const de=(Ee(e,t.harness,t.model)??e.efforts).findIndex(z=>z.value===t.effort),W=Math.min(Math.max(de,0),L.length-1);return s.effort=L[W]?.value??L[0]?.value??H,s}const i=Re(e,s.harness);s.model=n.model??i?.defaultModel??H,n.effort===void 0&&i?.defaultEffort&&(s.effort=i.defaultEffort);const m=Ee(e,s.harness,s.model);if(!m)return s.effort=H,s;if(m.some(L=>L.value===s.effort))return s;const v=(Ee(e,t.harness,t.model)??e.efforts).findIndex(L=>L.value===t.effort),F=Math.min(Math.max(v,0),m.length-1);return s.effort=m[F]?.value??m[0]?.value??H,s}function dn(e,t){const n=t?.harness??e.harnesses.find(i=>!i.disabled)?.value??"",s=Ee(e,n),a=s?.find(i=>i.note==="default")?.value??s?.[Math.floor((s.length-1)/2)]?.value??H;return{harness:n,model:t?.model??Re(e,n)?.defaultModel??Ct(e,n)[1]?.value??H,effort:s?t?.effort??Re(e,n)?.defaultEffort??a:H}}function un(e,t){const n=t.trim().toLowerCase();return n?e.filter(s=>`${s.label} ${s.value} ${s.note??""}`.toLowerCase().includes(n)):e}function Oe(...e){for(const t of e){const n=t?.trim();if(n)return n}}function os(e){const t=e.harnesses.map(s=>{const a=e.defaultsByHarness?.[s.id],i=s.ready!==!1,m=[{value:H,label:"Default",note:"harness picks"},...e.models.filter(v=>v.harnesses.includes(s.id)).map(v=>({value:v.id,label:v.label,note:Oe(v.description)}))],w=e.efforts.filter(v=>v.harnesses.includes(s.id));return{value:s.id,label:s.label,note:i?Oe(s.description):Oe(s.detail,s.state,"unavailable"),disabled:!i,defaultModel:a?.model??H,defaultEffort:a?.reasoningEffort??H,models:m,efforts:w.length===0?null:w.map(v=>({value:v.id,label:v.label,note:Oe(v.description),...v.models?.length?{models:[...v.models]}:{}}))}}),n=e.efforts.map(s=>({value:s.id,label:s.label,note:Oe(s.description)}));return{harnesses:t,efforts:n.length>0?n:an}}const fn=6,ht=34,pt=460,mn=14,hn=300,Fe=8,gt=["harness","model","effort"],pn={harness:"vertical",model:"vertical",effort:"horizontal"};function gn(){return o.jsx("svg",{className:"s-rt-chip-chevron",width:"8",height:"5",viewBox:"0 0 8 5",fill:"none","aria-hidden":"true",children:o.jsx("path",{d:"M1 1.2 4 4 7 1.2",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}function bn({ctx:e}){const{efforts:t,value:n,set:s}=e;if(!t)return null;const a=Math.max(0,t.findIndex(i=>i.value===n.effort));return o.jsx("div",{className:"s-rt-ladder",role:"radiogroup","aria-label":"Reasoning effort",children:t.map((i,m)=>{const w=m===a;return o.jsxs("button",{type:"button",role:"radio","aria-checked":w,title:i.note,onClick:()=>s({effort:i.value}),...e.cell("effort",m),className:"s-rt-step",children:[o.jsx("span",{className:"s-rt-step-bar","data-state":w?"current":m<a?"filled":"empty"}),o.jsx("span",{className:"s-rt-step-label",children:i.label})]},i.value)})})}function xn({harnessLabel:e}){return o.jsxs("p",{className:"s-rt-effort-absent",children:[e," has no effort control."]})}function wn({option:e,selected:t,index:n,ctx:s}){const a=e.disabled??!1;return o.jsxs("button",{type:"button",role:"option","aria-selected":t,"aria-disabled":a||void 0,onClick:()=>{a||s.set({model:e.value})},"data-on":t||void 0,"data-disabled":a||void 0,...s.cell("model",n),style:{animationDelay:`${Math.min(n,6)*16}ms`},className:"s-rt-row s-rt-model-row",children:[o.jsx("span",{"aria-hidden":!0,className:"s-rt-dot"}),o.jsx("span",{className:"s-rt-row-label",children:e.label}),e.note?o.jsx("span",{className:"s-rt-note",children:e.note}):null]})}function vn({ctx:e}){return o.jsxs("div",{className:"s-rt-search",children:[o.jsxs("svg",{width:"11",height:"11",viewBox:"0 0 12 12","aria-hidden":"true",className:"s-rt-search-icon",children:[o.jsx("circle",{cx:"5",cy:"5",r:"3.4",fill:"none",stroke:"currentColor",strokeWidth:"1.3"}),o.jsx("path",{d:"M7.6 7.6 10.5 10.5",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})]}),o.jsx("input",{ref:e.searchRef,type:"text",value:e.query,onChange:t=>e.setQuery(t.target.value),onKeyDown:e.onSearchKeyDown,placeholder:"Filter models","aria-label":"Filter models",spellCheck:!1,autoComplete:"off",className:"s-rt-search-input"}),e.query?o.jsx("button",{type:"button",onClick:()=>{e.setQuery(""),e.searchRef.current?.focus()},"aria-label":"Clear filter",className:"s-rt-search-clear",children:"clear"}):null]})}function yn({ctx:e}){return e.status==="loading"?o.jsxs("div",{className:"s-rt-status","aria-busy":!0,role:"status",children:[o.jsx("span",{className:"s-rt-sr",children:"Loading models"}),[0,1,2].map(t=>o.jsx("span",{"aria-hidden":!0,className:"s-rt-skel",style:{animationDelay:`${t*90}ms`}},t))]}):e.status==="error"?o.jsxs("div",{role:"alert",className:"s-rt-status s-rt-status--error",children:[o.jsx("span",{className:"s-rt-status-message",children:e.statusMessage??"Model catalog unavailable."}),e.onRetry?o.jsx("button",{type:"button",onClick:e.onRetry,className:"s-rt-retry",children:"Retry"}):null]}):o.jsx("p",{className:"s-rt-empty",children:e.query.trim()?`No model matches “${e.query.trim()}”.`:"No models listed."})}function jn({ctx:e}){return e.status!=="ready"||e.models.length===0?o.jsx(yn,{ctx:e}):o.jsx("div",{role:"listbox","aria-label":"Model",className:"s-rt-models",children:e.models.map((t,n)=>o.jsx(wn,{option:t,index:n,selected:t.value===e.value.model,ctx:e},t.value||"default"))},e.value.harness)}function zt({value:e,defaultValue:t,onChange:n,catalog:s,status:a="ready",statusMessage:i,onRetry:m,disabled:w=!1,showEffort:v,searchable:F="auto",className:L}){const[y,de]=l.useState(!1),[W,z]=l.useState(""),[Ue,Be]=l.useState(()=>dn(s,t)),j=e??Ue,C=l.useRef(null),ue=l.useRef(null),fe=l.useRef(null),me=l.useRef(null),S=l.useId(),ve=l.useCallback(d=>{const f=cn(s,j,d);e===void 0&&Be(f),n?.(f),d.harness!==void 0&&d.harness!==j.harness&&z("")},[s,e,n,j]),T=s.harnesses,Ae=l.useMemo(()=>Ct(s,j.harness),[s,j.harness]),$=l.useMemo(()=>{const d=rs(s,j);return d.note!=="custom"?Ae:[...Ae,d]},[Ae,s,j]),te=l.useMemo(()=>un($,W),[$,W]),Le=Ee(s,j.harness,j.model),X=v===!1?null:v===!0?Le??s.efforts:Le,D=F==="auto"?$.length>fn:F,Q=ln(s,j),N=l.useRef(new Map),[he,R]=l.useState({group:"model",index:0}),A=l.useMemo(()=>({harness:T.length,model:a==="ready"?te.length:0,effort:X?.length??0}),[X?.length,T.length,te.length,a]),se=l.useCallback(d=>d==="harness"?Math.max(0,T.findIndex(f=>f.value===j.harness)):d==="model"?Math.max(0,te.findIndex(f=>f.value===j.model)):Math.max(0,X?.findIndex(f=>f.value===j.effort)??0),[X,T,te,j]),I=l.useCallback((d,f)=>{R({group:d,index:f}),N.current.get(`${d}:${f}`)?.focus()},[]),pe=l.useCallback((d,f)=>{const g=gt.indexOf(d);for(let b=g+f;b>=0&&b<gt.length;b+=f){const O=gt[b];if(A[O]>0)return I(O,Math.min(se(O),A[O]-1)),!0}return!1},[A,I,se]),ye=l.useCallback((d,f)=>({ref:g=>{const b=`${d}:${f}`;g?N.current.set(b,g):N.current.delete(b)},tabIndex:he.group===d&&he.index===f?0:-1,onFocus:()=>R({group:d,index:f}),onKeyDown:g=>{const b=pn[d]==="vertical",O=b?"ArrowDown":"ArrowRight",B=b?"ArrowUp":"ArrowLeft",qe=b?"ArrowRight":"ArrowDown",tt=b?"ArrowLeft":"ArrowUp",ge=A[d];if(ge!==0)if(g.key===O)g.preventDefault(),I(d,(f+1)%ge);else if(g.key===B){if(g.preventDefault(),d==="model"&&f===0&&D){R({group:d,index:0}),me.current?.focus();return}I(d,(f-1+ge)%ge)}else g.key===qe?(g.preventDefault(),pe(d,1)):g.key===tt?(g.preventDefault(),pe(d,-1)):g.key==="Home"?(g.preventDefault(),I(d,0)):g.key==="End"&&(g.preventDefault(),I(d,ge-1))}}),[A,he,I,pe,D]),Te=l.useCallback(d=>{if(d.key==="ArrowDown"&&A.model>0)d.preventDefault(),I("model",0);else if(d.key==="Enter"&&A.model===1){d.preventDefault();const f=te[0];f.disabled||ve({model:f.value})}else d.key==="Escape"&&W&&(d.preventDefault(),d.stopPropagation(),z(""))},[A.model,I,te,W,ve]),[U,M]=l.useState(null),V=l.useCallback(()=>{const d=ue.current;if(!d)return;const f=d.getBoundingClientRect(),g=f.top,b=window.innerHeight-f.bottom,O=g>=hn||g>=b?"up":"down",B=Math.min(Math.max(Fe,f.right-pt),Math.max(Fe,window.innerWidth-pt-Fe));M({left:B,top:O==="up"?f.top-Fe:f.bottom+Fe,placement:O})},[]);l.useLayoutEffect(()=>{if(!y)return;V();const d=()=>V();return window.addEventListener("scroll",d,!0),window.addEventListener("resize",d),()=>{window.removeEventListener("scroll",d,!0),window.removeEventListener("resize",d)}},[y,V]);const ne=l.useCallback(d=>{de(!1),d&&ue.current?.focus()},[]);l.useEffect(()=>{if(!y)return;const d=g=>{const b=g.target;C.current?.contains(b)||fe.current?.contains(b)||de(!1)},f=g=>{g.key==="Escape"&&(g.stopPropagation(),ne(!0))};return document.addEventListener("pointerdown",d),document.addEventListener("keydown",f),()=>{document.removeEventListener("pointerdown",d),document.removeEventListener("keydown",f)}},[y,ne]),l.useEffect(()=>{if(!y)return;const d=A.model>0?"model":"harness",f=Math.min(se(d),Math.max(0,A[d]-1));R({group:d,index:f});const g=requestAnimationFrame(()=>{const b=N.current.get(`${d}:${f}`);b?b.focus():fe.current?.focus()});return()=>cancelAnimationFrame(g)},[y]),l.useEffect(()=>{y||z("")},[y]),l.useEffect(()=>{w&&de(!1)},[w]);const De=Math.max(0,T.findIndex(d=>d.value===j.harness)),k={value:j,set:ve,status:a,statusMessage:i,onRetry:m,harnesses:T,models:te,efforts:X,harnessLabel:Q.harnessLabel,searchable:D,query:W,setQuery:z,searchRef:me,cell:ye,onSearchKeyDown:Te};return o.jsxs("div",{ref:C,className:L?`s-rt-root ${L}`:"s-rt-root",style:{position:"relative",display:"inline-flex"},children:[o.jsxs("button",{ref:ue,type:"button",className:`s-rt-chip${w?" s-rt-chip--disabled":""}`,"aria-haspopup":"dialog","aria-expanded":y,"aria-controls":y?S:void 0,"aria-label":Q.summary,disabled:w,onClick:()=>de(d=>!d),children:[o.jsx(Kt,{harness:j.harness||"unknown",size:12,className:"s-rt-chip-mark",title:null}),o.jsxs("span",{className:"s-rt-chip-type",children:[o.jsx("span",{className:"s-rt-chip-model",style:{maxWidth:`${mn}ch`},children:o.jsx("span",{className:"s-rt-chip-model-text",children:Q.modelLabel},Q.modelLabel)}),X&&Q.effortLabel?o.jsxs(o.Fragment,{children:[o.jsx("span",{"aria-hidden":!0,className:"s-rt-chip-divider"}),o.jsx("span",{className:"s-rt-chip-effort","data-effort":j.effort,children:Q.effortLabel})]}):null]}),o.jsx(gn,{})]}),y&&U?Os.createPortal(o.jsx("div",{ref:fe,id:S,role:"dialog","aria-label":"Runtime",tabIndex:-1,"data-placement":U.placement,className:"s-rt-panel",style:{left:U.left,width:pt,...U.placement==="up"?{bottom:window.innerHeight-U.top}:{top:U.top}},children:o.jsxs("div",{className:"s-rt-rail",children:[o.jsxs("div",{className:"s-rt-rail-main",children:[o.jsxs("div",{className:"s-rt-harnesses",role:"radiogroup","aria-label":"Harness",children:[o.jsx("span",{"aria-hidden":!0,className:"s-rt-marker",style:{height:ht-10,transform:`translateY(${De*ht+5}px)`}}),T.map((d,f)=>{const g=d.value===j.harness,b=d.disabled??!1;return o.jsxs("button",{type:"button",role:"radio","aria-checked":g,"aria-disabled":b||void 0,onClick:()=>{b||k.set({harness:d.value})},style:{height:ht},"data-on":g||void 0,"data-disabled":b||void 0,title:b?d.note:void 0,...k.cell("harness",f),className:"s-rt-harness",children:[o.jsx(Kt,{harness:d.value||"unknown",size:14,className:"s-rt-opt-mark",title:null}),o.jsx("span",{className:"s-rt-harness-label",children:d.label})]},d.value||"default")})]}),o.jsxs("div",{className:"s-rt-models-col",children:[D?o.jsx(vn,{ctx:k}):null,o.jsx(jn,{ctx:k})]})]}),o.jsx("div",{className:"s-rt-effort-foot",children:X?o.jsx(bn,{ctx:k}):o.jsx(xn,{harnessLabel:Q.harnessLabel})})]})}),document.body):null]})}const wt=Js()??"",Xt=ss(wt),Se={schemaVersion:"openscout.runtime-capabilities.v1",catalogVersion:ce.schemaVersion,defaults:{harness:wt,model:Xt,reasoningEffort:ns(wt,Xt)},defaultsByHarness:Zs,harnesses:ce.harnesses.filter(e=>e.enabled).map(e=>({id:e.id,label:e.label})),models:en.map(e=>({id:e.id,label:e.label,...e.description?{description:e.description}:{},harnesses:[...e.harnesses]})),efforts:sn.map(e=>({id:e.id,label:e.label,...e.description?{description:e.description}:{},harnesses:[...e.harnesses],...e.models?{models:[...e.models]}:{}}))};function Ir(e){return os({defaultsByHarness:e.defaultsByHarness,harnesses:e.harnesses.map(t=>({id:t.id,label:t.label??t.id})),models:e.models.map(t=>({id:t.id,label:t.label??t.id,description:t.description,harnesses:t.harnesses})),efforts:e.efforts.map(t=>({id:t.id,label:t.label,description:t.description,harnesses:t.harnesses,...t.models?.length?{models:[...t.models]}:{}}))})}const Cn="|";function Qt(e){return e<55296?e:e<57344?e+8192:e-2048}function En(e,t){if(e===t)return 0;const n=Math.min(e.length,t.length);for(let s=0;s<n;s+=1){const a=e.charCodeAt(s),i=t.charCodeAt(s);if(a!==i)return Qt(a)<Qt(i)?-1:1}return e.length===t.length?0:e.length<t.length?-1:1}function Vt(e){return Number.isFinite(e)?e:0}function Sn(e,t){const n=Vt(e.createdAt),s=Vt(t.createdAt);return n!==s?n<s?-1:1:En(e.id,t.id)}function Mn(e){return`${Number.isFinite(e.createdAt)?Math.max(0,Math.trunc(e.createdAt)):0}${Cn}${e.id}`}const Nn=10,In=80,Jt=300,Yt=100,as=2e3,kn=Nn,we=new Map,le=new Map;let is=0;function Ne(e){return e.trim()}function Rn(e){const t=new Map;for(const n of e)t.set(n.id,n);return[...t.values()].sort(Sn)}function An(){if(we.size<=kn)return;let e=null,t=Number.POSITIVE_INFINITY;for(const[n,s]of we)s.touchedAt<t&&(e=n,t=s.touchedAt);e&&we.delete(e)}function Me(e){const t=Ne(e),n=we.get(t);return n?(n.touchedAt=++is,n.messages):null}function Et(e,t,n={}){const s=Ne(e);if(!s)return[];const a=we.get(s),i=Rn(t).slice(-as);return we.set(s,{messages:i,historyLoaded:n.historyLoaded??a?.historyLoaded??!1,historyExhausted:n.historyExhausted??a?.historyExhausted??!1,touchedAt:++is}),An(),i}function ls(e,t){const n=Me(e)??[];return Et(e,[...n,...t])}function cs(e){return we.get(Ne(e))?.historyLoaded??!1}function Ln(e){const t=we.get(Ne(e));return!!(t&&t.historyLoaded&&!t.historyExhausted&&t.messages.length>0&&t.messages.length<as)}async function kr(e,t={}){const n=Ne(e);if(!n)return[];const s=Me(n);if(s&&!t.refresh)return s;const a=le.get(n);if(a)return a;const i=ee(`/api/messages?conversationId=${encodeURIComponent(n)}&limit=${In}`).then(m=>ls(n,m));le.set(n,i);try{return await i}finally{le.delete(n)}}async function Tn(e){const t=Ne(e);if(!t)return[];if(cs(t))return Me(t)??[];const n=`${t}:history`,s=le.get(n);if(s)return s;const a=ee(`/api/messages?conversationId=${encodeURIComponent(t)}&limit=${Jt}`).then(i=>Et(t,[...Me(t)??[],...i],{historyLoaded:!0,historyExhausted:i.length<Jt}));le.set(n,a);try{return await a}finally{le.delete(n)}}async function Rr(e){const t=Ne(e);if(!t)return[];if(!cs(t))return Tn(t);if(!Ln(t))return Me(t)??[];const n=Me(t)??[],s=n[0];if(!s)return n;const a=Mn(s),i=`${t}:before:${a}`,m=le.get(i);if(m)return m;const w=ee(`/api/messages?conversationId=${encodeURIComponent(t)}&limit=${Yt}&beforeMessageId=${encodeURIComponent(a)}`).then(v=>Et(t,[...v,...Me(t)??[]],{historyLoaded:!0,historyExhausted:v.length<Yt}));le.set(i,w);try{return await w}finally{le.delete(i)}}const Dn=12e4,He=new Map;function $n(){const e=globalThis.crypto?.randomUUID?.();return e?`web-${e}`:`web-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function Pn(e){const t=e.conversationId.trim(),n=e.messageId.trim();if(!t||!n)return;ls(t,[{id:n,conversationId:t,actorId:"operator",actorName:"operator",body:e.body,createdAt:e.createdAt,class:"operator",...e.attachments?.length?{attachments:e.attachments}:{},metadata:{clientMessageId:e.clientMessageId}}]);const s=e.flightId?.trim(),a=e.agentId?.trim();!s||!a||He.set(t,{flight:{id:s,invocationId:e.invocationId?.trim()||`pending:${s}`,agentId:a,agentName:null,conversationId:t,collaborationRecordId:null,state:"queued",summary:"Request accepted; waiting for worker activity.",startedAt:e.createdAt,completedAt:null,sessions:[]},expiresAt:Date.now()+Dn})}function Ar(e,t=Date.now()){const n=e.trim(),s=He.get(n);return s?s.expiresAt<=t?(He.delete(n),null):s.flight:null}function Lr(e,t){const n=e.trim(),s=He.get(n);s&&(!t||s.flight.id===t)&&He.delete(n)}const _n=1200,On=new Set(["Page","URL"]);function ds(e){return e.trim().slice(0,_n)}function Fn(e){const t=[{label:"Page",value:e.pageTitle??""},{label:"URL",value:e.pageUrl??""}];return e.selection?.trim()&&t.push({label:"Selection",value:ds(e.selection)}),(e.notes??[]).forEach((n,s)=>{t.push({label:`Note ${s+1}`,value:n})}),t.filter(n=>n.value.trim())}function Hn(e,t){const n=[];for(const a of t){const i=a.value.trim();i&&(On.has(a.label)?n.push(`${a.label}: ${i}`):n.push(`${a.label}:
2
- ${i.split(`
3
- `).map(m=>`> ${m}`).join(`
4
- `)}`))}const s=e.trim();return s&&n.push(s),n.join(`
5
-
6
- `)}const Un=6,Zt=1600;function Bn(e){return e===0?"":e===1?"[1 attachment remains on the source Scout message; not copied]":`[${e} attachments remain on the source Scout message; not copied]`}function us(e){const t=e.body.trim(),n=Bn(e.attachmentCount??0),s=[t,n].filter(Boolean).join(`
7
- `)||"(message has no text)";return s.length<=Zt?s:`${s.slice(0,Zt-1).trimEnd()}…`}function qn(e){const t=us(e).split(/\r?\n/gu).map(n=>`> ${n}`).join(`
8
- `);return`Forwarded from ${e.actorLabel} in Scout
9
-
10
- ${t}`}function Tr(e){const t=e.messages.findIndex(i=>i.id===e.selectedMessageId);if(t<0)throw new Error("The selected message is no longer available in this conversation.");const n=e.messages[t],s=e.messages.slice(Math.max(0,t-Un),t).filter(i=>i.body.trim()||(i.attachmentCount??0)>0),a=s.map(i=>`${i.actorLabel}:
11
- ${us(i)}`).join(`
12
-
13
- `).slice(-8e3).trim();return{selectedMessage:qn(n),selectedMessageId:n.id,sourceConversationId:e.conversationId,...a?{recentContext:a}:{},recentMessageCount:s.length}}function Gn(e,t,n){const s=n.trim(),a=t==="instructions-only"?"":t==="recent-context"&&e.recentContext?[`Recent Scout conversation before the forwarded message (${e.recentMessageCount} ${e.recentMessageCount===1?"message":"messages"})`,e.recentContext,e.selectedMessage].join(`
14
-
15
- `):e.selectedMessage;return s?a?`${s}
16
-
17
- ---
18
-
19
- ${a}`:s:a}function et(e){const t=e?.trim();return t?t.length>1?t.replace(/\/+$/u,""):t:null}function vt(e){return e.split("/").filter(Boolean).at(-1)??e}function Kn(e,t,n="claude"){const s=new Map;for(const a of e){const i=et(a.root);i&&s.set(i,{id:a.id||`project:${i}`,title:a.title?.trim()||vt(i),root:i,defaultHarness:a.defaultHarness?.trim()||n,source:"inventory",registrationKind:a.registrationKind?.trim()||null})}for(const a of t){const i=et(a.projectRoot??a.cwd);!i||s.has(i)||s.set(i,{id:`agent-project:${i}`,title:a.project?.trim()||vt(i),root:i,defaultHarness:a.harness?.trim()||n,source:"agent",registrationKind:null})}return[...s.values()].sort((a,i)=>a.title.localeCompare(i.title,void 0,{sensitivity:"base"})||a.root.localeCompare(i.root))}function Wn(e,t){const n=e.title.toLocaleLowerCase(),s=e.root.toLocaleLowerCase(),a=vt(e.root).toLocaleLowerCase();return n===t||a===t||s===t?0:n.startsWith(t)||a.startsWith(t)?1:s.startsWith(t)?2:t.split(/\s+/u).filter(Boolean).every(m=>n.includes(m)||s.includes(m))?3:null}function zn(e,t){const n=t.trim().toLocaleLowerCase();return n?e.map(s=>({project:s,score:Wn(s,n)})).filter(s=>s.score!==null).sort((s,a)=>s.score-a.score||s.project.title.localeCompare(a.project.title,void 0,{sensitivity:"base"})||s.project.root.localeCompare(a.project.root)).map(s=>s.project):[...e]}function Xn(e,t){return e===t||e.startsWith(`${t}/`)}function Qn(e,t){const n=et(t.preferredRoot);if(n){const a=e.find(i=>i.root===n);if(a)return a}const s=et(t.currentDirectory);if(s){const a=e.filter(i=>Xn(s,i.root)).sort((i,m)=>m.root.length-i.root.length)[0];if(a)return a}return e[0]??null}async function Vn(e){await ee("/api/send",{method:"POST",body:JSON.stringify({conversationId:e.conversationId,body:e.body?.trim()??"",attachments:e.attachments})})}async function Jn(e,t){const n=t?.attachments?.filter(Boolean)??[],s=t?.instructions?.trim(),a=Ws(e),i=s||n.length>0?{...a,seed:{...s?{instructions:s}:{},...n.length>0?{attachments:n}:{},...t?.clientMessageId?{clientMessageId:t.clientMessageId}:{}}}:a;return await ee("/api/sessions",{method:"POST",body:JSON.stringify(i)})}async function Yn(e){const t=e.projectPath.trim(),n=e.harness?.trim(),s=e.model?.trim(),a=e.reasoningEffort?.trim(),i=e.instructions?.trim(),m=e.fromMessageId?.trim(),w=e.fromConversationId?.trim(),v=e.attachments?.filter(Boolean)??[];return ee("/api/sessions",{method:"POST",body:JSON.stringify({target:{projectPath:t},execution:{session:"new",...n?{harness:n}:{},...s?{model:s}:{},...a?{reasoningEffort:a}:{}},agent:{persistence:"one_time"},...i||v.length>0||m&&w?{seed:{...i?{instructions:i}:{},...v.length>0?{attachments:v}:{},...e.clientMessageId?{clientMessageId:e.clientMessageId}:{},...m&&w?{fromMessageId:m,fromConversationId:w}:{}}}:{}})})}async function Dr(e){return ee("/api/sessions",{method:"POST",body:JSON.stringify({target:{agentId:e.agentId.trim()},execution:{session:"existing",targetSessionId:e.sessionId.trim()},seed:{instructions:e.instructions.trim()}})})}function $r(e){const t=e?.trim().toLowerCase();if(t)switch(t){case"claude":case"claude-code":case"claude_code":case"claude_stream_json":return"claude";case"codex":case"codex_app_server":return"codex";case"pi":case"pi_rpc":return"pi";case"cursor":case"cursor_exec":return"cursor";case"grok":return"grok";default:return}}async function Pr(e){const t=e.projectPath.trim(),n=e.sessionId.trim(),s=e.instructions.trim(),a=e.harness?.trim()||void 0,i=e.model?.trim()||void 0,m=e.reasoningEffort?.trim()||void 0;return ee("/api/sessions",{method:"POST",body:JSON.stringify({target:{projectPath:t},execution:{session:"existing",targetSessionId:n,...a?{harness:a}:{},...i?{model:i}:{},...m?{reasoningEffort:m}:{}},seed:{instructions:s}})})}async function Zn(e,t){const n=t.message?.trim();if(t.mode==="existing-chat"){const i=await Ks(e);return await Vn({conversationId:i,body:n||"Shared capture",attachments:t.attachments}),{conversationId:i,agentId:e.id}}const s=await Jn(e,{instructions:n||"Shared capture for context.",attachments:t.attachments}),a=s.conversationId?.trim();if(!a)throw new Error("Session started, but no conversation was returned.");return{conversationId:a,agentId:s.agentId?.trim()||e.id}}const fs=Se.harnesses.map(e=>({id:e.id,label:e.label??e.id,description:null,state:null,ready:null,detail:null})),er=Se.models.map(e=>({id:e.id,label:e.label??e.id,description:e.description??null,harnesses:[...e.harnesses],source:"catalog"})),tr=Se.efforts.map(e=>({...e,harnesses:[...e.harnesses],...e.models?{models:[...e.models]}:{}})),Ze={defaults:{harness:Se.defaults?.harness??"claude",model:Se.defaults?.model??null,reasoningEffort:Se.defaults?.reasoningEffort??"medium"},defaultsByHarness:Se.defaultsByHarness,harnesses:fs,models:er,efforts:tr};let bt=null;const es=5;function sr(e,t){const n=e.defaults.harness===t?e.defaults.model?.trim()??"":"";return n&&e.models.some(s=>s.id===n&&s.harnesses.includes(t))?n:e.models.find(s=>s.harnesses.includes(t))?.id??""}function nr(e,t){const n=e.efforts.filter(s=>s.harnesses.includes(t));return n.find(s=>s.id===e.defaults.reasoningEffort)?.id??n.find(s=>s.id==="medium")?.id??n[0]?.id??""}function rr(e){return URL.createObjectURL(e)}function xt(e){return e.replace(/^\/Users\/[^/]+/u,"~")}function or(e){return e.split("/").filter(Boolean).at(-1)??e}function ar(e){const t=e.trim();return t.startsWith("/")||t.startsWith("~/")}function ir({file:e,onRemove:t}){const n=l.useMemo(()=>rr(e),[e]);l.useEffect(()=>()=>URL.revokeObjectURL(n),[n]);const s=e.type.startsWith("video/"),a=e.type.startsWith("image/");return o.jsxs("div",{className:"s-newchat-attachment",children:[s?o.jsx("video",{src:n,muted:!0,playsInline:!0}):a?o.jsx("img",{src:n,alt:e.name}):o.jsxs("div",{className:"s-newchat-attachment-file",title:e.name,children:[o.jsx(Vs,{size:24,"aria-hidden":"true"}),o.jsx("span",{children:e.name})]}),o.jsx("span",{className:"s-newchat-attachment-badge",children:s?"video":a?"image":"file"}),o.jsx("button",{type:"button",className:"s-newchat-attachment-remove","aria-label":`Remove ${e.name}`,onClick:t,children:"×"})]})}function lr({agents:e,route:t,navigate:n,onClose:s,initialAgentId:a,initialConversationId:i,initialMessage:m,initialFiles:w,initialAttachmentFeedback:v,initialIntent:F="new-task",initialProjectPath:L,initialForwardContext:y,initialForwardContextMode:de="selected-message",defaultMode:W,draftRestored:z=!1,onDraftChange:Ue,onDraftConsumed:Be}){const j=l.useMemo(()=>rn(t,e),[t,e]),C=F==="forward-message"&&!!y,ue=l.useMemo(()=>[...e].sort((r,c)=>(c.updatedAt??0)-(r.updatedAt??0)),[e]),fe=F==="route-capture"?a??j.agentId??null:null,me=F==="route-capture"?i??j.conversationId:null,S=ue.find(r=>r.id===fe)??null,ve=S?.projectRoot??S?.cwd??null,[T,Ae]=l.useState(null),[$,te]=l.useState(bt),[Le,X]=l.useState(null),[D,Q]=l.useState(null),[N,he]=l.useState(()=>L||ve||""),[R,A]=l.useState(""),[se,I]=l.useState(0),[pe,ye]=l.useState(!1),[Te,U]=l.useState(null),[M,V]=l.useState(()=>m??""),[ne,De]=l.useState(de),[k,d]=l.useState({open:!1,query:"",triggerStart:-1,index:0}),[f,g]=l.useState({open:!1,query:"",triggerStart:-1,index:0}),[b,O]=l.useState(()=>[...w??[]]),[B,qe]=l.useState(()=>W||(me?"existing-chat":"new-session")),[tt,ge]=l.useState("idle"),[ms,st]=l.useState("idle"),[St,je]=l.useState(null),[Ge,Mt]=l.useState(()=>v??null),[$e]=l.useState(()=>{if(typeof window>"u")return{title:"",url:"",selection:""};const r=document.activeElement,c=r instanceof HTMLInputElement||r instanceof HTMLTextAreaElement;return{title:document.title,url:window.location.href,selection:c?"":ds(window.getSelection()?.toString()??"")}}),[nt,hs]=l.useState(!1),[re,Nt]=l.useState(()=>S?.harness?.trim()||Ze.defaults.harness),[Ke,It]=l.useState(()=>S?.model?.trim()||Ze.defaults.model||""),[We,kt]=l.useState(Ze.defaults.reasoningEffort||""),[rt,Rt]=l.useState(()=>z?"Restored your unsent draft.":null),[ps,ot]=l.useState(0),{ref:gs,onKeyDown:bs}=Gs(!0),P=l.useRef(null),at=l.useRef(null),Ce=l.useRef(0),ze=l.useRef(!!L),At=l.useRef(!1),J=l.useMemo(()=>Kn(T?.projects??[],e,T?.context.defaultHarness??"claude"),[e,T]),E=J.find(r=>r.root===N)??null??(N?{id:`direct:${N}`,title:or(N),root:N,defaultHarness:T?.context.defaultHarness??S?.harness??"claude",source:"agent",registrationKind:null}:null),it=l.useMemo(()=>{const r=new Set,c=E?ue.filter(u=>u.projectRoot?.trim()===E.root||u.cwd?.trim()===E.root):[];return(c.length>0?c:ue).flatMap(u=>{if(u.retiredFromFleet)return[];const p=u.handle?.trim().replace(/^@+/,"")||Fs(u.id)||"",G=p.toLowerCase();return!p||r.has(G)?[]:(r.add(G),[{id:u.id,label:p,name:u.name||p,handle:p}])})},[E,ue]),Y=($?.harnesses??fs).find(r=>r.id===re)??null,Ie=!$&&!D,Lt=l.useMemo(()=>{const r=os($??Ze);return re&&!r.harnesses.some(c=>c.value===re)?{...r,harnesses:[...r.harnesses,{value:re,label:re,models:[{value:"",label:"Default",note:"harness picks"}]}]}:r},[$,re]),Pe=l.useMemo(()=>zn(J,R),[R,J]),Z=l.useMemo(()=>{const r=Pe.slice(0,es);if(!N||r.some(h=>h.root===N))return r;const c=Pe.find(h=>h.root===N);return c?[c,...r.slice(0,es-1)]:r},[Pe,N]),be=ar(R)&&!J.some(r=>r.root===R.trim())?R.trim():null,Xe=Z.length+(be?1:0),xs=Math.max(0,(R.trim()?Pe.length:J.length)-Z.length),ws=!!(S&&E&&[S.projectRoot,S.cwd].some(r=>r?.trim()===E.root)),q=b.length>0,x=tt==="starting",Tt=ps>0,Qe=ws&&!!(S?.conversationId||me),xe=!q||!Qe||B==="new-session",Dt=xe&&(Ie||Y?.ready===!1),$t=C?"Forward to new task":q?"Route capture":"New task",Pt=l.useMemo(()=>C?[]:Fn({pageTitle:$e.title,pageUrl:$e.url,selection:nt?$e.selection:void 0}),[nt,C,$e]),oe=C&&y?Gn(y,ne,M):Hn(M,Pt),vs=ms==="uploading"?"Uploading capture":C?"Forwarding to new task":q?"Routing capture":"Sending message",ys=q?`Submitted to ${E?.title??S?.name??"Scout"}. Opening the chat when the broker returns it.`:oe?`Routing your first message through /${E?.title??S?.name??"project"}.`:`Starting a project-routed chat in /${E?.title??S?.name??"project"}.`,_t=q&&Qe,js=xe&&(Ie||!!D||Y?.ready===!1),Cs=_t||!C&&js,ae=l.useMemo(()=>{if(!k.open)return[];const r=k.query.toLowerCase();return r?Wt.filter(c=>c.command.toLowerCase().startsWith(`/${r}`)||c.command.toLowerCase().includes(r)):Wt},[k.open,k.query]),ie=l.useMemo(()=>{if(!f.open)return[];const r=f.query.toLowerCase();return r?it.filter(c=>c.handle.toLowerCase().includes(r)||c.name.toLowerCase().includes(r)||c.label.toLowerCase().includes(r)).slice(0,8):it.slice(0,8)},[it,f.open,f.query]),lt=l.useCallback(()=>{d(r=>r.open?{...r,open:!1}:r),g(r=>r.open?{...r,open:!1}:r)},[]),_e=l.useCallback((r,c)=>{const h=Hs(r,c);d(p=>h?{open:!0,query:h.query,triggerStart:h.start,index:p.open&&p.triggerStart===h.start?p.index:0}:p.open?{...p,open:!1}:p);const u=Us(r,c);g(p=>u?{open:!0,query:u.query,triggerStart:u.start,index:p.open&&p.triggerStart===u.start?p.index:0}:p.open?{...p,open:!1}:p)},[]),Es=l.useCallback((r,c)=>{V(r),_e(r,c?.caret??r.length)},[_e]),ct=l.useCallback(r=>{const c=k.triggerStart;if(c<0)return;const h=P.current?.selectionStart??M.length,u=M.slice(0,c),p=M.slice(h),G=`${u}${r.insert}${p}`;V(G),d(K=>({...K,open:!1})),requestAnimationFrame(()=>{const K=P.current;if(!K)return;const _=u.length+r.insert.length;K.focus(),K.setSelectionRange(_,_)})},[M,k.triggerStart]),dt=l.useCallback(r=>{const c=f.triggerStart;if(c<0)return;const h=P.current?.selectionStart??M.length,u=M.slice(0,c),p=M.slice(h),G=`@${r.handle}${p.length===0||!p.startsWith(" ")?" ":""}`,K=`${u}${G}${p}`;V(K),g(_=>({..._,open:!1})),requestAnimationFrame(()=>{const _=P.current;if(!_)return;const ke=u.length+G.length;_.focus(),_.setSelectionRange(ke,ke)})},[f.triggerStart,M]),Ot=l.useCallback(r=>{if(x)return;const h=P.current?.selectionStart??M.length,u=M.slice(0,h),p=M.slice(h),K=`${u&&!/\s$/.test(u)?" ":""}${r}`,_=`${u}${K}${p}`,ke=u.length+K.length;V(_),_e(_,ke),requestAnimationFrame(()=>{const ft=P.current;ft&&(ft.focus(),ft.setSelectionRange(ke,ke))})},[x,M,_e]),Ss=l.useCallback(r=>{const c=k.open&&ae.length>0,h=f.open&&ie.length>0;if(!c&&!h)return!1;if(r.key==="ArrowDown")return c?d(u=>({...u,index:(u.index+1)%ae.length})):g(u=>({...u,index:(u.index+1)%ie.length})),!0;if(r.key==="ArrowUp")return c?d(u=>({...u,index:(u.index-1+ae.length)%ae.length})):g(u=>({...u,index:(u.index-1+ie.length)%ie.length})),!0;if(r.key==="Escape")return lt(),!0;if((r.key==="Enter"||r.key==="Tab")&&!r.shiftKey&&!r.metaKey&&!r.ctrlKey&&!r.altKey){if(c){const u=ae[k.index]??ae[0];u&&ct(u)}else{const u=ie[f.index]??ie[0];u&&dt(u)}return!0}return!1},[dt,ct,lt,ie,ae,f.index,f.open,k.index,k.open]),ut=l.useCallback(()=>{x||s()},[x,s]),Ms=l.useCallback(()=>{Rt("Draft kept open. Use Esc or × when you are ready to close it."),requestAnimationFrame(()=>P.current?.focus())},[]);l.useEffect(()=>{const r=c=>{c.key==="Escape"&&(c.preventDefault(),ut())};return window.addEventListener("keydown",r),()=>window.removeEventListener("keydown",r)},[ut]),l.useEffect(()=>{if(!rt)return;const r=window.setTimeout(()=>Rt(null),5e3);return()=>window.clearTimeout(r)},[rt]),l.useEffect(()=>{P.current?.focus()},[]),l.useEffect(()=>{let r=!1;return ee("/api/agent-config/snapshot").then(c=>{r||(Ae(c),X(null))}).catch(c=>{r||X(c instanceof Error?c.message:"Could not load projects.")}),()=>{r=!0}},[]);const Ve=l.useCallback(()=>{ee("/api/runner/options").then(r=>{bt=r,te(r),Q(null)}).catch(()=>{bt||Q("Model catalog unavailable. Harness defaults are still available.")})},[]);l.useEffect(()=>{Ve()},[Ve]),l.useEffect(()=>{if(ze.current||J.length===0)return;const r=Qn(J,{preferredRoot:ve,currentDirectory:T?.context.currentDirectory});r&&he(r.root)},[T?.context.currentDirectory,ve,J]),l.useEffect(()=>{if(At.current)return;const r=E?.defaultHarness?.trim()||S?.harness?.trim()||$?.defaults.harness||"claude";if(Nt(r),!$)return;const c=S?.model?.trim()??"",h=$.models.some(u=>u.id===c&&u.harnesses.includes(r));It(h?c:sr($,r)),kt(nr($,r))},[S?.harness,S?.model,$,E?.defaultHarness,E?.root]),l.useLayoutEffect(()=>{Ue?.({intent:F,...fe?{agentId:fe}:{},...me?{conversationId:me}:{},message:M,files:b,attachmentFeedback:Ge,mode:B,projectPath:N,projectQuery:R,...C&&y?{forwardContext:y}:{},forwardContextMode:ne})},[Ge,b,ne,y,F,C,M,B,Ue,N,R,fe,me,E?.title]);const Ft=l.useCallback((r,c="Added")=>{if(x)return;const h=r.filter(qt),u=r.filter(p=>!qt(p));if(h.length>0&&(O(p=>[...p,...h]),Mt(h.length===1?`${c} ${h[0]?.name??"1 attachment"}.`:`${c} ${h.length} attachments.`)),u.length>0){const p=u.length===1?u[0]?.name??"That file":`${u.length} files`;je(`${p} ${u.length===1?"is":"are"} not supported. Attach markdown, code, an image, or a video clip.`)}else h.length>0&&je(null)},[x]),Je=l.useCallback((r,c)=>{const h=Ps(r);if(h.length===0){je("Scout could not read that file. Try dropping or pasting it again.");return}Ft(h,c)},[Ft]),Ns=l.useCallback(r=>{x||!Ye(r.dataTransfer)||(r.preventDefault(),r.stopPropagation(),Ce.current+=1,ot(Ce.current))},[x]),Is=l.useCallback(r=>{x||!Ye(r.dataTransfer)||(r.preventDefault(),r.stopPropagation(),r.dataTransfer.dropEffect="copy")},[x]),ks=l.useCallback(r=>{Ce.current!==0&&(r.preventDefault(),r.stopPropagation(),Ce.current=Math.max(0,Ce.current-1),ot(Ce.current))},[]),Rs=l.useCallback(r=>{Ye(r.dataTransfer)&&(r.preventDefault(),r.stopPropagation(),Ce.current=0,ot(0),Je(r.dataTransfer,"Added"))},[Je]),As=l.useCallback(r=>{x||!Ye(r.clipboardData)||(r.preventDefault(),r.stopPropagation(),Je(r.clipboardData,"Pasted"))},[Je,x]),Ht=r=>{ze.current=!0,he(r.root),A(""),I(0),ye(!1),U(null),requestAnimationFrame(()=>P.current?.focus())},Ut=r=>{const c=r.trim();c&&(ze.current=!0,he(c),A(""),I(0),ye(!1),U(null),requestAnimationFrame(()=>P.current?.focus()))},Ls=()=>{ze.current=!0,he(""),A(""),I(0),ye(!1),U(null),requestAnimationFrame(()=>P.current?.focus())},Ts=r=>{if(r.key==="ArrowDown"||r.key==="ArrowUp"){r.preventDefault(),I(c=>{if(Xe===0)return 0;const h=r.key==="ArrowDown"?1:-1;return(c+h+Xe)%Xe});return}if(r.key==="Enter"){r.preventDefault();const c=Z[se];c?Ht(c):be&&se===Z.length&&Ut(be);return}r.key==="Escape"&&pe&&R&&(r.preventDefault(),r.stopPropagation(),A(""),I(0))},Bt=r=>{At.current=!0,Nt(r.harness),It(r.model),kt(r.effort)},Ds=async()=>{if(x)return;if(C&&!oe){je("Add instructions, or choose a context option that includes the source message."),requestAnimationFrame(()=>P.current?.focus());return}if(!E){je(null),U("Choose a project before starting this task."),ye(!0),requestAnimationFrame(()=>at.current?.focus());return}if(Dt)return;ge("starting"),st(b.length>0?"uploading":"starting"),je(null);const r=$n(),c=Date.now();try{let h=[];if(b.length>0&&(h=await _s(b),st("starting")),q&&S&&Qe&&B==="existing-chat"){const _=await Zn(S,{mode:B==="existing-chat"&&Qe?"existing-chat":"new-session",message:oe,attachments:h});V(""),O([]),Mt(null),n({view:"agents-v2",agentId:_.agentId,conversationId:_.conversationId,tab:"message"}),Be?.(),s();return}const u=await Yn({projectPath:E.root,harness:re,...Ke?{model:Ke}:{},...We?{reasoningEffort:We}:{},...oe?{instructions:oe}:q?{instructions:"Shared capture for context."}:{},...h.length>0?{attachments:h}:{},...C&&y?{fromMessageId:y.selectedMessageId,fromConversationId:y.sourceConversationId}:{},clientMessageId:r}),p=u.conversationId?.trim();if(!p)throw new Error("Message sent, but no Chat was returned.");const G=u.messageId?.trim();G&&Pn({conversationId:p,messageId:G,clientMessageId:r,body:oe||(h.length>0?"Shared capture for context.":"New session started."),attachments:h,agentId:u.agentId,flightId:u.flightId,invocationId:u.invocationId,createdAt:c}),V(""),n({view:"conversation",conversationId:p}),Be?.(),s()}catch(h){je(h instanceof Error?h.message:q?"Could not route capture.":"Could not send message."),ge("idle"),st("idle")}};return o.jsx("div",{className:"s-newchat-backdrop",onClick:Ms,onDragEnter:Ns,onDragOver:Is,onDragLeave:ks,onDrop:Rs,onPaste:As,role:"presentation",children:o.jsxs("div",{ref:gs,className:`s-newchat-panel${x?" s-newchat-panel--starting":""}${Tt?" s-newchat-panel--dragging":""}`,role:"dialog","aria-modal":"true","aria-label":$t,onClick:r=>r.stopPropagation(),onKeyDown:bs,tabIndex:-1,children:[o.jsxs("header",{className:"s-newchat-head",children:[o.jsx("span",{className:"s-newchat-title",children:$t}),o.jsx("div",{className:"s-newchat-head-status",children:o.jsx("span",{role:"status","aria-live":"polite",children:rt})}),o.jsx("button",{type:"button",className:"s-newchat-close",onClick:ut,disabled:x,"aria-label":"Close (Esc)",title:"Close (Esc)",children:o.jsx(zs,{size:14,"aria-hidden":"true"})})]}),Tt?o.jsx("div",{className:"s-newchat-drop-prompt",role:"status","aria-live":"polite",children:"Drop to attach markdown, code, images, or video"}):null,o.jsxs("div",{className:"s-newchat-body",children:[o.jsxs("div",{className:"s-newchat-lead",children:[C?o.jsx("p",{className:"s-newchat-forward-intro",children:"Choose the destination, runtime, and visible Scout context to carry into a fresh task."}):null,o.jsx(qs,{context:Pt,selection:$e.selection,attached:nt,onToggleSelection:()=>hs(r=>!r)}),o.jsxs("div",{className:"s-newchat-project-bar",children:[o.jsx("span",{className:"label-md s-newchat-project-label",children:"Project"}),o.jsxs("button",{type:"button",className:"s-newchat-project-summary","data-empty":E?void 0:"true","aria-expanded":pe,"aria-controls":"s-newchat-project-panel","aria-describedby":Te?"s-newchat-project-reminder":void 0,disabled:x,onClick:()=>{const r=!pe;ye(r),requestAnimationFrame(r?()=>at.current?.focus():()=>P.current?.focus())},children:[o.jsx("span",{className:"s-newchat-project-summary-title",children:E?`/${E.title}`:"Choose a project"}),E?o.jsx("span",{className:"s-newchat-project-summary-path",title:E.root,children:xt(E.root)}):o.jsx("span",{className:"s-newchat-project-summary-path",children:"Required when you send"}),o.jsx(Xs,{size:13,"aria-hidden":"true"})]})]}),Te?o.jsx("p",{id:"s-newchat-project-reminder",className:"s-newchat-project-reminder",role:"alert",children:Te}):null,pe?o.jsxs("div",{id:"s-newchat-project-panel",className:"s-newchat-project-panel",children:[o.jsxs("div",{className:"s-newchat-project-picker",children:[o.jsx(Qs,{size:13,"aria-hidden":"true",className:"s-newchat-project-search-icon"}),o.jsx("input",{ref:at,id:"s-newchat-project-search",className:"s-newchat-project-search",type:"search",role:"combobox","aria-label":"Filter projects or enter a project path","aria-autocomplete":"list","aria-expanded":"true","aria-controls":"s-newchat-project-results","aria-activedescendant":Xe>0?`s-newchat-project-option-${se}`:void 0,value:R,placeholder:T?"Filter projects, or type a path…":"Loading projects…",disabled:x,spellCheck:!1,autoComplete:"off",onChange:r=>{A(r.currentTarget.value),I(0)},onKeyDown:Ts})]}),o.jsxs("div",{id:"s-newchat-project-results",className:"s-newchat-project-results",role:"listbox","aria-label":"Projects",children:[Z.map((r,c)=>o.jsxs("div",{id:`s-newchat-project-option-${c}`,role:"option","aria-selected":r.root===N,"aria-disabled":x||void 0,className:"s-newchat-project-option","data-active":c===se||void 0,onMouseDown:h=>h.preventDefault(),onMouseEnter:()=>I(c),onClick:()=>{x||Ht(r)},children:[o.jsxs("span",{className:"s-newchat-project-option-title",children:["/",r.title]}),o.jsx("span",{className:"s-newchat-project-option-path",children:xt(r.root)})]},r.root)),be?o.jsxs("div",{id:`s-newchat-project-option-${Z.length}`,role:"option","aria-selected":be===N,"aria-disabled":x||void 0,className:"s-newchat-project-option s-newchat-project-option--path","data-active":se===Z.length||void 0,onMouseDown:r=>r.preventDefault(),onMouseEnter:()=>I(Z.length),onClick:()=>{x||Ut(be)},children:[o.jsx("span",{className:"s-newchat-project-option-title",children:"Use this project path"}),o.jsx("span",{className:"s-newchat-project-option-path",children:xt(be)})]}):null,Z.length===0&&!be?o.jsx("p",{className:"s-newchat-project-empty",children:"No project matched. Type an absolute path such as ~/dev/my-project."}):null]}),o.jsxs("div",{className:"s-newchat-project-panel-foot",children:[xs>0?o.jsxs("p",{className:"s-newchat-project-foot",children:[Z.length," of"," ",R.trim()?Pe.length:J.length,R.trim()?" matches":" projects"," · type to narrow"]}):o.jsx("span",{}),E?o.jsx("button",{type:"button",className:"s-newchat-project-clear",onClick:Ls,children:"Clear project"}):null]}),Le&&J.length===0?o.jsx("div",{className:"s-newchat-error",role:"alert",children:Le}):null]}):null,C&&y?o.jsxs("div",{className:"s-newchat-forward-config",children:[o.jsxs("div",{className:"s-newchat-field",children:[o.jsx("span",{className:"label-md s-newchat-field-label",children:"Runtime"}),o.jsx("div",{className:"s-newchat-forward-runtime",children:o.jsx(zt,{catalog:Lt,value:{harness:re,model:Ke,effort:We},onChange:Bt,status:Ie?"loading":D?"error":"ready",statusMessage:D??void 0,onRetry:Ve,disabled:x||!xe})}),xe&&Ie?o.jsxs("p",{className:"s-newchat-runtime-note","data-pending":"true",role:"status",children:[o.jsx(mt,{size:11,className:"s-newchat-runtime-note-spinner","aria-hidden":"true"}),"Loading the model catalog…"]}):xe&&(D||Y?.ready===!1)?o.jsx("p",{className:"s-newchat-runtime-note",role:"alert",children:Y?.ready===!1?Y.detail||`${Y.label} is unavailable.`:D}):null]}),o.jsxs("div",{className:"s-newchat-field",children:[o.jsx("span",{id:"s-newchat-forward-context-label",className:"label-md s-newchat-field-label",children:"Context"}),o.jsxs("div",{className:"s-newchat-context-options",role:"radiogroup","aria-labelledby":"s-newchat-forward-context-label",children:[o.jsxs("button",{type:"button",className:"s-newchat-context-option",role:"radio","aria-checked":ne==="selected-message",disabled:x,onClick:()=>De("selected-message"),children:[o.jsx("span",{className:"s-newchat-context-option-title",children:"Selected message"}),o.jsx("span",{className:"s-newchat-context-option-copy",children:"Carry only the message you chose."})]}),o.jsxs("button",{type:"button",className:"s-newchat-context-option",role:"radio","aria-checked":ne==="recent-context",disabled:x||y.recentMessageCount===0,onClick:()=>De("recent-context"),children:[o.jsx("span",{className:"s-newchat-context-option-title",children:"Recent context + message"}),o.jsx("span",{className:"s-newchat-context-option-copy",children:y.recentMessageCount>0?`Carry ${y.recentMessageCount} preceding visible ${y.recentMessageCount===1?"message":"messages"}, then this message.`:"No preceding visible messages are available."})]}),o.jsxs("button",{type:"button",className:"s-newchat-context-option",role:"radio","aria-checked":ne==="instructions-only",disabled:x,onClick:()=>De("instructions-only"),children:[o.jsx("span",{className:"s-newchat-context-option-title",children:"Instructions only"}),o.jsx("span",{className:"s-newchat-context-option-copy",children:"Start clean without source conversation text."})]})]}),o.jsx("p",{className:"s-newchat-context-note",children:"Recent context is a bounded Scout excerpt, not a generated summary or full model context."})]})]}):null,C?o.jsx("span",{className:"label-md s-newchat-field-label",children:"Instructions"}):null,o.jsx($s,{density:"panel",value:M,onChange:Es,onSend:()=>{Ds()},sendOnEnter:!0,textareaRef:P,placeholder:C?"Add what the new task should do (optional)…":q?"What should the agent do with this?":"Describe the task, or leave blank…","aria-label":C?"Instructions for the new task":"Message",disabled:x,sending:x,canSend:!x&&!Dt&&(!C||!!oe),rows:7,maxHeightPx:280,sendTitle:C?"Forward to new task (Enter)":q?"Route (Enter)":"Start task (Enter)",sendAriaLabel:C?"Forward to new task":q?"Route capture":"Start task",overlay:o.jsxs(o.Fragment,{children:[k.open?o.jsx(Gt,{label:"Slash commands",placement:"inside",items:ae.map(r=>({id:r.command,token:r.label,description:r.description})),activeIndex:k.index,onPick:r=>{const c=ae[r];c&&ct(c)},onActiveIndexChange:r=>d(c=>({...c,index:r}))}):null,f.open?o.jsx(Gt,{label:"Mention agent",placement:"inside",items:ie.map(r=>({id:r.id,token:`@${r.handle}`,description:r.name,avatar:{label:r.name[0]?.toUpperCase()??"?",color:Bs(r.name)}})),activeIndex:f.index,onPick:r=>{const c=ie[r];c&&dt(c)},onActiveIndexChange:r=>g(c=>({...c,index:r}))}):null]}),onSelect:r=>{const c=r.currentTarget;_e(c.value,c.selectionStart)},onBlur:()=>window.setTimeout(lt,120),onKeyDown:Ss,leadingTools:o.jsxs("div",{className:"s-newchat-compose-triggers","aria-label":"Message shortcuts",children:[o.jsx("button",{type:"button",className:"s-newchat-command-trigger",disabled:x,onClick:()=>Ot("/"),children:"/Commands"}),o.jsx("span",{"aria-hidden":"true",children:"·"}),o.jsx("button",{type:"button",className:"s-newchat-command-trigger",disabled:x,onClick:()=>Ot("@"),children:"@Agents"})]}),tools:C?void 0:o.jsx(zt,{catalog:Lt,value:{harness:re,model:Ke,effort:We},onChange:Bt,status:Ie?"loading":D?"error":"ready",statusMessage:D??void 0,onRetry:Ve,disabled:x||!xe})}),b.length>0?o.jsx("div",{className:"s-newchat-attachments","aria-label":"Attached captures",children:b.map((r,c)=>o.jsx(ir,{file:r,onRemove:()=>O(h=>h.filter((u,p)=>p!==c))},`${r.name}:${r.size}:${c}`))}):null,Ge?o.jsx("div",{className:"s-newchat-attachment-feedback",role:"status","aria-live":"polite",children:Ge}):null,St&&o.jsx("div",{className:"s-newchat-error",role:"alert",children:St}),x&&o.jsxs("div",{className:"s-newchat-progress",role:"status","aria-live":"polite",children:[o.jsx(mt,{size:14,className:"s-newchat-progress-spinner","aria-hidden":"true"}),o.jsxs("div",{className:"s-newchat-progress-copy",children:[o.jsx("span",{className:"label-md s-newchat-progress-title",children:vs}),o.jsx("span",{className:"s-newchat-progress-detail",children:ys}),oe&&o.jsx("span",{className:"s-newchat-progress-message",children:oe})]})]})]}),Cs?o.jsxs("div",{className:"s-newchat-config",children:[_t?o.jsxs("div",{className:"s-newchat-mode",role:"group","aria-label":"Delivery mode",children:[o.jsx("button",{type:"button",className:`s-newchat-mode-btn${B==="existing-chat"?" s-newchat-mode-btn--on":""}`,disabled:x,onClick:()=>qe("existing-chat"),children:"Existing chat"}),o.jsx("button",{type:"button",className:`s-newchat-mode-btn${B==="new-session"?" s-newchat-mode-btn--on":""}`,disabled:x,onClick:()=>qe("new-session"),children:"New chat"})]}):null,xe&&Ie?o.jsxs("p",{className:"s-newchat-runtime-note","data-pending":"true",role:"status",children:[o.jsx(mt,{size:11,className:"s-newchat-runtime-note-spinner","aria-hidden":"true"}),"Loading the model catalog…"]}):xe&&(D||Y?.ready===!1)?o.jsx("p",{className:"s-newchat-runtime-note",role:"alert",children:Y?.ready===!1?Y.detail||`${Y.label} is unavailable.`:D}):null]}):null]})]})})}const _r=Object.freeze(Object.defineProperty({__proto__:null,NewChatComposer:lr},Symbol.toStringTag,{value:"Module"}));export{lr as N,Se as R,zt as a,Me as b,Ln as c,kr as d,Ee as e,Rr as f,Tr as g,cs as h,$n as i,$r as j,Dr as k,Tn as l,Pr as m,rn as n,_r as o,Ar as p,Ir as r,Lr as s,Et as w};
@@ -1 +0,0 @@
1
- .s-agents-actions{display:flex;flex-direction:column;gap:var(--space-3xs);padding:var(--space-md) var(--space-md) var(--space-sm);border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent);flex-shrink:0}.s-rail-action{display:flex;align-items:center;gap:var(--space-sm);width:100%;text-align:left;cursor:pointer;padding:var(--space-sm);border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--muted);font-family:var(--font-sans);font-size:var(--text-md);font-weight:500;transition:background .1s,color .1s,border-color .1s}.s-rail-action:hover{background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--ink)}.s-rail-action--primary{border-color:color-mix(in srgb,var(--border) 50%,transparent)}.s-rail-action-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex:none;color:var(--dim)}.s-rail-action:hover .s-rail-action-icon{color:var(--accent)}.s-rail-action-label{flex:1;min-width:0}.s-agents-recent{flex:1;min-height:0;overflow-y:auto;padding:14px 0}.s-rail-see-all{border:none;background:transparent;color:var(--muted);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-sm);text-transform:lowercase}.s-rail-see-all:hover{color:var(--accent)}.s-agents-foot{flex-shrink:0;margin-top:auto;padding:var(--space-sm) var(--space-md) var(--space-md);border-top:1px solid color-mix(in srgb,var(--border) 40%,transparent)}.s-rail-foot-icons{display:flex;align-items:center;gap:var(--space-2xs)}.s-rail-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--dim);cursor:pointer;transition:background .1s,color .1s}.s-rail-icon:hover{background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--ink)}.s-rail-icon--end{margin-left:auto}.s-newchat-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-start;justify-content:center;padding-top:8vh;background:color-mix(in srgb,var(--bg) 76%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.s-newchat-panel{display:flex;width:560px;max-height:84vh;flex-direction:column;max-width:calc(100vw - 48px);background:color-mix(in srgb,var(--surface) 96%,var(--bg));border:1px solid color-mix(in srgb,var(--ink) 15%,transparent);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 24px 60px -28px #0009}.s-newchat-panel--starting{box-shadow:0 24px 60px -28px #0009,0 0 0 1px color-mix(in srgb,var(--accent) 24%,transparent)}.s-newchat-panel--dragging{border-color:color-mix(in srgb,var(--accent) 72%,var(--border));box-shadow:0 24px 60px -28px #0009,0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.s-newchat-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid color-mix(in srgb,var(--ink) 10%,transparent);background:color-mix(in srgb,var(--bg) 46%,var(--surface))}.s-newchat-title{flex:0 0 auto;font-size:var(--text-md);font-weight:600;color:var(--ink)}.s-newchat-head-status{display:grid;min-width:0;flex:1;padding:0 var(--space-md);color:color-mix(in srgb,var(--ink) 72%,transparent);font-size:var(--text-xs);line-height:var(--leading-normal);text-align:right}.s-newchat-head-status>span{grid-area:1 / 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-newchat-head-status [role=alert]{color:var(--accent);font-weight:600}.s-newchat-drop-prompt{padding:var(--space-sm) var(--space-lg);border-bottom:1px solid color-mix(in srgb,var(--accent) 30%,transparent);background:color-mix(in srgb,var(--accent) 10%,var(--bg));color:var(--accent);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;text-align:center}.s-newchat-close{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer;line-height:1}.s-newchat-close:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.s-newchat-close:hover{color:var(--ink)}.s-newchat-close:disabled{cursor:default;opacity:.35}.s-newchat-body{display:flex;min-height:0;flex-direction:column;gap:var(--space-3xl);padding:var(--space-lg);overflow-y:auto}.s-newchat-lead{display:flex;min-width:0;flex-direction:column;gap:var(--space-sm)}.s-newchat-project-bar{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;min-width:0;padding:0 0 var(--space-xs);border-bottom:1px solid color-mix(in srgb,var(--ink) 8%,transparent)}.s-newchat-project-label{color:var(--dim)}.s-newchat-project-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:var(--space-sm);min-width:0;min-height:30px;padding:var(--space-2xs) var(--space-xs);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--ink);cursor:pointer;text-align:left}.s-newchat-project-summary:hover,.s-newchat-project-summary:focus-visible{outline:none;background:color-mix(in srgb,var(--ink) 5%,transparent)}.s-newchat-project-summary:disabled{cursor:default;opacity:.55}.s-newchat-project-summary-title,.s-newchat-project-summary-path{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-newchat-project-summary-title{font-size:var(--text-sm);font-weight:600}.s-newchat-project-summary[data-empty=true] .s-newchat-project-summary-title{color:var(--muted);font-weight:500}.s-newchat-project-summary-path{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);text-align:right}.s-newchat-project-summary svg{align-self:center;color:var(--dim);transition:transform .12s ease}.s-newchat-project-summary[aria-expanded=true] svg{transform:rotate(180deg)}.s-newchat-project-reminder{margin:calc(var(--space-2xs) * -1) 0 0 58px;color:var(--red);font-size:var(--text-xs)}.s-newchat-project-panel{display:flex;min-width:0;flex-direction:column;gap:var(--space-2xs);padding-left:58px}.s-newchat-project-panel-foot{display:flex;min-height:22px;align-items:center;justify-content:space-between;gap:var(--space-sm)}.s-newchat-project-clear{flex:0 0 auto;padding:var(--space-2xs) var(--space-xs);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--dim);font-size:var(--text-xs);cursor:pointer}.s-newchat-project-clear:hover,.s-newchat-project-clear:focus-visible{outline:none;background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink)}.s-newchat-config{display:flex;min-width:0;flex-direction:column;gap:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid color-mix(in srgb,var(--ink) 8%,transparent)}.s-newchat-field{display:flex;flex-direction:column;gap:var(--space-2xs)}.s-newchat-field-label{color:var(--muted)}.s-newchat-forward-intro{max-width:68ch;margin:0 0 var(--space-xs);color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-normal)}.s-newchat-forward-config{display:flex;min-width:0;flex-direction:column;gap:var(--space-lg);padding:var(--space-sm) 0 var(--space-md)}.s-newchat-forward-runtime{display:flex;min-height:34px;align-items:center;padding:0 var(--space-xs);border-bottom:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}.s-newchat-forward-runtime .s-rt-chip{min-height:28px;max-width:100%;border-radius:var(--radius-sm)}.s-newchat-context-options{display:flex;flex-direction:column;border-top:1px solid color-mix(in srgb,var(--ink) 10%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}.s-newchat-context-option{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.35fr);align-items:baseline;gap:var(--space-md);min-height:42px;padding:var(--space-xs) var(--space-sm);border:none;border-bottom:1px solid color-mix(in srgb,var(--ink) 7%,transparent);background:transparent;color:var(--ink);cursor:pointer;text-align:left}.s-newchat-context-option:last-child{border-bottom:none}.s-newchat-context-option:hover,.s-newchat-context-option:focus-visible{outline:none;background:color-mix(in srgb,var(--ink) 5%,transparent)}.s-newchat-context-option[aria-checked=true]{background:color-mix(in srgb,var(--accent) 8%,transparent)}.s-newchat-context-option[aria-checked=true] .s-newchat-context-option-title{color:var(--accent)}.s-newchat-context-option:disabled{cursor:default;opacity:.45}.s-newchat-context-option-title{font-size:var(--text-sm);font-weight:600}.s-newchat-context-option-copy,.s-newchat-context-note{color:var(--dim);font-size:var(--text-xs);line-height:var(--leading-normal)}.s-newchat-context-note{margin:var(--space-2xs) 0 0}.s-newchat-project-picker{position:relative}.s-newchat-project-search-icon{position:absolute;z-index:1;top:50%;left:var(--space-sm);color:var(--muted);pointer-events:none;transform:translateY(-50%)}.s-newchat-project-search{width:100%;box-sizing:border-box;min-height:36px;padding:var(--space-xs) var(--space-md) var(--space-xs) 30px;border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);border-radius:var(--radius-md);outline:none;background:color-mix(in srgb,var(--bg) 72%,var(--surface));color:var(--ink);font-family:var(--font-sans);font-size:var(--text-sm)}.s-newchat-project-search:focus{border-color:color-mix(in srgb,var(--accent) 54%,var(--border));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 10%,transparent)}.s-newchat-project-search::-webkit-search-cancel-button{opacity:.55}.s-newchat-project-results{display:flex;flex-direction:column;gap:1px;margin-top:var(--space-2xs)}.s-newchat-project-option{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:baseline;gap:var(--space-sm);width:100%;padding:var(--space-xs) var(--space-sm);border:none;border-left:2px solid transparent;border-radius:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.s-newchat-project-option:hover,.s-newchat-project-option[data-active=true]{background:color-mix(in srgb,var(--ink) 6%,transparent)}.s-newchat-project-option[aria-selected=true]{border-left-color:color-mix(in srgb,var(--accent) 60%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.s-newchat-project-option[aria-selected=true] .s-newchat-project-option-title{color:var(--accent)}.s-newchat-project-option[aria-disabled=true]{cursor:default;opacity:.55}.s-newchat-project-option--path{border-top:1px solid color-mix(in srgb,var(--border) 38%,transparent)}.s-newchat-project-option-title,.s-newchat-project-option-path{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-newchat-project-option-title{font-size:var(--text-sm);font-weight:600}.s-newchat-project-option-path{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs)}.s-newchat-project-empty{margin:0;padding:var(--space-md) var(--space-sm);color:var(--muted);font-size:var(--text-xs);line-height:var(--leading-normal)}.s-newchat-project-foot{margin:0;padding-left:var(--space-sm);color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs)}.s-newchat-target{margin:0;overflow:hidden;color:var(--dim);text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:var(--text-2xs)}.s-newchat-runtime-note{display:flex;align-items:center;gap:var(--space-xs);margin:0;color:var(--amber);font-size:var(--text-xs);line-height:var(--leading-normal)}.s-newchat-runtime-note[data-pending=true]{color:var(--muted)}.s-newchat-runtime-note-spinner{flex:0 0 auto;animation:s-spin .9s linear infinite}.s-newchat-panel .s-msg-compose-shell{border-color:color-mix(in srgb,var(--ink) 16%,transparent);background:color-mix(in srgb,var(--bg) 64%,var(--surface))}.s-newchat-panel .s-msg-compose-input{min-height:154px}.s-newchat-panel .s-msg-compose-shell:focus-within{border-color:color-mix(in srgb,var(--accent) 24%,var(--border))}.s-newchat-panel .s-msg-compose-input::placeholder{color:var(--muted)}.s-newchat-panel .s-msg-compose-toolbar{border-top-color:color-mix(in srgb,var(--ink) 10%,transparent)}.s-newchat-compose-triggers{display:inline-flex;align-items:center;gap:var(--space-2xs);color:var(--dim)}.s-newchat-command-trigger{padding:var(--space-2xs) var(--space-xs);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer}.s-newchat-command-trigger:hover,.s-newchat-command-trigger:focus-visible{outline:none;background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink)}.s-newchat-command-trigger:disabled{cursor:default;opacity:.45}.s-newchat-error{font-size:var(--text-sm);color:var(--red)}.s-newchat-attachment-feedback{margin-top:calc(var(--space-sm) * -1);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs)}.s-newchat-progress{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--ink)}.s-newchat-progress-spinner,.s-newchat-start-spinner{flex:0 0 auto;animation:s-spin .9s linear infinite}.s-newchat-progress-copy{display:flex;min-width:0;flex-direction:column;gap:var(--space-2xs)}.s-newchat-progress-title{color:var(--accent)}.s-newchat-progress-detail,.s-newchat-progress-message{font-size:var(--text-xs);line-height:var(--leading-normal)}.s-newchat-progress-detail{color:var(--muted)}.s-newchat-progress-message{display:-webkit-box;overflow:hidden;color:var(--ink);-webkit-box-orient:vertical;-webkit-line-clamp:3}@media(max-width:620px){.s-newchat-backdrop{padding-top:12px}.s-newchat-panel{width:calc(100vw - 24px);max-width:none;max-height:calc(100vh - 24px)}.s-newchat-body{padding:var(--space-md)}.s-newchat-project-bar{grid-template-columns:52px minmax(0,1fr)}.s-newchat-project-panel{padding-left:0}.s-newchat-project-reminder{margin-left:52px}.s-newchat-project-summary-path{display:none}.s-newchat-context-option{grid-template-columns:1fr;gap:var(--space-2xs)}.s-newchat-panel .s-msg-compose-input{min-height:120px}}@keyframes s-spin{to{transform:rotate(360deg)}}.s-rail-projects{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;display:flex;flex-direction:column;gap:1px}.s-rail-projects:before{content:"Projects";display:block;flex:none;font-size:var(--text-2xs);font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:2px 8px 10px}.s-rail-projects .ctx-panel-section-label{display:flex;align-items:center;justify-content:space-between}.s-rail-proj-total{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--dim)}.s-rail-proj{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:none;border:1px solid transparent;cursor:pointer;padding:6px 8px;border-radius:var(--radius-md);transition:background .12s ease,border-color .12s ease}.s-rail-proj-count{flex:none;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--dim)}.s-rail-proj-count[data-needs]{color:var(--accent)}.s-rail-proj:hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}.s-rail-proj[data-selected]{background:color-mix(in srgb,var(--ink) 8%,transparent)}.s-rail-proj-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.s-rail-proj-top{display:flex;align-items:center;gap:var(--space-sm)}.s-rail-proj-name{flex:1;min-width:0;font-size:var(--text-md);font-weight:540;line-height:1.2;letter-spacing:-.01em;text-transform:lowercase;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-rail-proj-name[data-idle]{color:var(--dim);font-weight:480}.s-rail-proj[data-selected] .s-rail-proj-name,.s-rail-proj:hover .s-rail-proj-name{color:var(--ink)}.s-rail-proj-sub{display:flex;align-items:center;gap:7px}.s-rail-proj-dots{display:inline-flex;align-items:center;gap:3px;flex:none}.s-rail-proj-dots span{width:5px;height:5px;border-radius:999px;opacity:.9}.s-rail-proj-meta{flex:1;min-width:0;font-size:var(--text-xs);font-family:var(--font-mono);color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-rail-proj-ago{flex:none;font-size:var(--text-xs);font-family:var(--font-mono);color:var(--dim)}.s-rail-proj-live{flex:none;display:inline-flex;align-items:center;gap:5px;font-size:var(--text-sm);font-weight:600;font-family:var(--font-mono);color:var(--accent)}.s-rail-proj-livepip{width:5px;height:5px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.s-rail-proj-needs{flex:none;font-size:var(--text-3xs);font-weight:650;letter-spacing:var(--tracking-sm);text-transform:uppercase;color:var(--bg);background:var(--accent);padding:2px 7px;border-radius:999px}.s-newchat-origin{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-xs) var(--space-sm);margin:0 0 var(--space-xs)}.s-newchat-origin-label{color:var(--muted)}.s-newchat-origin-facts{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-md);margin:0;min-width:0}.s-newchat-origin-fact{display:flex;align-items:baseline;gap:var(--space-3xs);min-width:0}.s-newchat-origin-fact dt{color:var(--muted);font-size:var(--text-xs)}.s-newchat-origin-fact dd{margin:0;max-width:42ch;overflow:hidden;color:var(--ink);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.s-newchat-origin-attach{padding:2px var(--space-xs);border:1px solid var(--border);border-radius:5px;background:transparent;color:var(--muted);font-size:var(--text-xs);cursor:pointer}.s-newchat-origin-attach:hover,.s-newchat-origin-attach:focus-visible{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));color:var(--ink)}.s-newchat-origin-attach[aria-pressed=true]{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--ink)}
@@ -1,2 +0,0 @@
1
- import{r as o,j as e}from"./index-DMiGbrBt.js";import{a as v}from"./api-h5zurxmi.js";import{u as b}from"./sse-CjIkKo46.js";import{f as h}from"./time-DltNTpLl.js";import{SessionObserve as x}from"./SessionObserve-yfXFafp8.js";import{E as p}from"./external-link-CXBytO9o.js";import"./index-BWHgHrtv.js";import"./bash-format-BRV5C6Gv.js";import"./tail-display-BdyoLvzY.js";import"./lane-edit-display-C_Aujldz.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-Bla0gBdm.js";import"./index-CJXzfjo9.js";import"./lane-observe-D0rfKDnU.js";import"./lane-ask-display-B6iCAVcd.js";import"./colors-BtO5_zlx.js";import"./mentions-jSuTGeet.js";import"./Provider-C7UKGHQy.js";import"./router-Bq5dwf78.js";import"./terminal-sessions-D5CIR2OL.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-bARZqTzD.js";import"./DocumentFocusViewer-BeVwwl26.js";import"./createLucideIcon-OpA4Amw5.js";import"./TextDocumentSurface-BpAw4eQS.js";/* empty css */import"./file-text-BODxCjcz.js";import"./x-D3GElQbe.js";import"./chevron-right-XiIHsk4m.js";import"./code-xml-B6jOCM4V.js";import"./arrow-left-DEZzHiPS.js";import"./scout-voice-CU5c0LGi.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-2kv_tGUS.js";import"./MessageComposerSuggestions-DpxN9WiB.js";import"./NewChatComposer-Cs6OsxK6.js";import"./runtime-picker-Bcl5iIX5.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CbHjZsz1.js";import"./HarnessMark-Cbv3Ib0c.js";import"./conversation-model-B47vYmWN.js";import"./NewChatOrigin-Bk2OyVjI.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-BGk5qoEw.js";import"./search-CWfZtOt2.js";import"./AgentDetailCard-BcRBRp88.js";import"./AgentLiveActions-DBtnD0qE.js";import"./terminal-takeover-B8UeD9OX.js";import"./openContent-C6XO6kr5.js";import"./eye-0PvebX_a.js";import"./terminal-B9AOZQKR.js";import"./message-markup-3J9pi3nx.js";import"./ObservedTopologyPanel-DyUeV98H.js";import"./ObserveTextFlow-rsFj_rVo.js";import"./use-reduced-motion-RRBkmVkk.js";import"./message-circle-CG-96zts.js";import"./wrench-Bkc_0lKF.js";const u=2500,j=240,f=5;function g(s){return s?s.length>18?`${s.slice(0,8)}...${s.slice(-6)}`:s:"no session"}function N({ask:s,sessionId:r}){const[t,c]=o.useState(!1);if(!s)return e.jsxs("section",{className:"s-observe-embed-ask s-observe-embed-ask--unknown",children:[e.jsx("div",{className:"s-observe-embed-ask-kicker",children:"Ask"}),e.jsx("div",{className:"s-observe-embed-ask-unknown",children:"Not available for this observed session."})]});const m=s.task.length>j||s.task.split(`
2
- `).length>f,n=s.conversationId?`/messages/${encodeURIComponent(s.conversationId)}${s.messageId?`#msg-${encodeURIComponent(s.messageId)}`:""}`:null,d=`/flights/${encodeURIComponent(s.flightId)}/observe${r?`?session=${encodeURIComponent(r)}`:""}`;return e.jsxs("section",{className:"s-observe-embed-ask",children:[e.jsxs("div",{className:"s-observe-embed-ask-head",children:[e.jsxs("div",{children:[e.jsx("div",{className:"s-observe-embed-ask-kicker",children:"Ask"}),e.jsxs("div",{className:"s-observe-embed-ask-byline",children:[e.jsx("span",{children:s.requesterName}),e.jsx("span",{"aria-hidden":"true",children:"·"}),e.jsx("time",{dateTime:new Date(s.requestedAt).toISOString(),children:h(s.requestedAt)})]})]}),e.jsxs("nav",{className:"s-observe-embed-ask-links","aria-label":"Run provenance",children:[n&&e.jsxs("a",{href:n,target:"_top",children:["Origin ",e.jsx(p,{size:11,"aria-hidden":"true"})]}),e.jsxs("a",{href:d,target:"_top",children:["Flight ",e.jsx(p,{size:11,"aria-hidden":"true"})]})]})]}),e.jsx("div",{className:`s-observe-embed-ask-body${t?" is-expanded":""}`,children:s.task}),m&&e.jsx("button",{type:"button",className:"s-observe-embed-ask-toggle","aria-expanded":t,onClick:()=>c(i=>!i),children:t?"Show less":"Show full ask"})]})}function ye({agentId:s}){const[r,t]=o.useState(null),[c,m]=o.useState(!0),[n,d]=o.useState(null),i=o.useCallback(async(l=!1)=>{l||m(!0),d(null);try{const a=await v(`/api/agents/${encodeURIComponent(s)}/observe`);t(a)}catch(a){l||t(null),d(a instanceof Error?a.message:String(a))}finally{m(!1)}},[s]);return o.useEffect(()=>{i();const l=window.setInterval(()=>{i(!0)},u);return()=>window.clearInterval(l)},[i]),b(()=>{i(!0)}),n&&!r?e.jsx("div",{className:"s-observe-embed-page",children:e.jsxs("div",{className:"s-observe-embed-empty",children:[e.jsx("div",{className:"s-observe-embed-empty-title",children:"Observe unavailable"}),e.jsx("div",{className:"s-observe-embed-empty-detail",children:n})]})}):c&&!r?e.jsx("div",{className:"s-observe-embed-page",children:e.jsxs("div",{className:"s-observe-embed-empty",children:[e.jsx("div",{className:"s-observe-embed-empty-title",children:"Resolving trace"}),e.jsx("div",{className:"s-observe-embed-empty-detail",children:s})]})}):e.jsxs("div",{className:"s-observe-embed-page",children:[r&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"s-observe-embed-status",children:[e.jsx("span",{className:"s-observe-embed-status-source",children:r.source}),e.jsx("span",{children:r.fidelity}),e.jsx("span",{title:r.sessionId??void 0,children:g(r.sessionId)}),e.jsxs("span",{children:[r.data.events.length," events"]}),r.data.live&&e.jsx("span",{className:"s-observe-embed-status-live",children:"Live"})]}),e.jsx(N,{ask:r.initiatingAsk,sessionId:r.sessionId})]}),e.jsx(x,{data:r?.data,agentId:s,sessionId:r?.sessionId,showRail:!1})]})}export{N as InitiatingAsk,ye as ObserveEmbedScreen};