@openscout/scout 0.2.105 → 0.2.107

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 (575) hide show
  1. package/README.md +26 -0
  2. package/bin/scoutd +0 -0
  3. package/dist/build-manifest.json +3 -3
  4. package/dist/chat.mjs +23 -1
  5. package/dist/client/assets/ActivityScreen-CZmGwQ2U.js +1 -0
  6. package/dist/client/assets/{AddProjectForm-CHNJ4NnS.js → AddProjectForm-CusDRiVO.js} +1 -1
  7. package/dist/client/assets/{AdventureEvidence-B4mEvXeD.js → AdventureEvidence-CyegKk1V.js} +1 -1
  8. package/dist/client/assets/{AdventureReader-ZsBDQITY.js → AdventureReader-X-hbTOi0.js} +1 -1
  9. package/dist/client/assets/{AdventureScenery-DSxDlqG1.js → AdventureScenery-LPXSVP67.js} +1 -1
  10. package/dist/client/assets/AgentAdventures-BAgxdOF8.js +1 -0
  11. package/dist/client/assets/AgentAvatar-CrP1eXxk.js +1 -0
  12. package/dist/client/assets/AgentConfigurationScreen-1L0IQm2w.js +1 -0
  13. package/dist/client/assets/AgentDefinitionsWorkspace-DguGs7jZ.js +1 -0
  14. package/dist/client/assets/{AgentDetailCard-MIEBKw_S.js → AgentDetailCard-DtHT3sCo.js} +1 -1
  15. package/dist/client/assets/AgentFloorView-DH4jiDgw.js +1 -0
  16. package/dist/client/assets/{AgentFloorWorld-BTqwmK5G.js → AgentFloorWorld-CjoIa6jA.js} +1 -1
  17. package/dist/client/assets/AgentInfoScreen-DYtmKkeE.js +1 -0
  18. package/dist/client/assets/{AgentLaneCard-C4rKLLdT.js → AgentLaneCard-BaZ2g-f8.js} +1 -1
  19. package/dist/client/assets/{AgentLaneChrome-fGC-ZrJS.js → AgentLaneChrome-TF1SlJSc.js} +1 -1
  20. package/dist/client/assets/{AgentLaneDetailSheet-BTF4_th9.js → AgentLaneDetailSheet-EzEPsn3g.js} +1 -1
  21. package/dist/client/assets/{AgentLaneSummaryResize-DgSeA_vS.js → AgentLaneSummaryResize-dpp7YvrX.js} +1 -1
  22. package/dist/client/assets/AgentLanesEmbedScreen-BlSof_6S.js +1 -0
  23. package/dist/client/assets/{AgentLanesPreflight-CcS23wij.js → AgentLanesPreflight-Ry-aqDTr.js} +1 -1
  24. package/dist/client/assets/AgentLanesView-BJi9xXz6.js +2 -0
  25. package/dist/client/assets/{AgentLiveActions-6Kfr1uOT.js → AgentLiveActions-CfTupTEl.js} +1 -1
  26. package/dist/client/assets/AgentMasterScreen-EJhmuKgl.js +1 -0
  27. package/dist/client/assets/AgentSessions-B1gOhDBf.js +6 -0
  28. package/dist/client/assets/AgentsConsole-RXGqRvcb.js +1 -0
  29. package/dist/client/assets/AgentsScreen-ChwMBs11.js +1 -0
  30. package/dist/client/assets/AgentsSubnav-DwNX4yy0.js +1 -0
  31. package/dist/client/assets/{AstronautSuit-D67fIBdR.js → AstronautSuit-Cchnc4Ug.js} +1 -1
  32. package/dist/client/assets/{AtopView-Ck30FbzG.js → AtopView-gkEp4y__.js} +1 -1
  33. package/dist/client/assets/{BackToPicker-CkBhGRlD.js → BackToPicker-CUkjnoVk.js} +1 -1
  34. package/dist/client/assets/BriefingDetailScreen-DrlC3qkm.js +1 -0
  35. package/dist/client/assets/{BriefingsScreen-DTxYMr3a.js → BriefingsScreen-B1HlBMGZ.js} +1 -1
  36. package/dist/client/assets/{BrokerMetadataPanel-crirZCdo.js → BrokerMetadataPanel-Dk242Yh_.js} +1 -1
  37. package/dist/client/assets/BrokerScreen-DwOF6bMA.js +8 -0
  38. package/dist/client/assets/{Canvas-CRP0KjKb.js → Canvas-X9pVSkw3.js} +1 -1
  39. package/dist/client/assets/{CastPicker-ZPomvOf-.js → CastPicker-BXUtPAGC.js} +1 -1
  40. package/dist/client/assets/ChannelComposer-DoK7IDGa.js +1 -0
  41. package/dist/client/assets/ChannelSidebar-e9DOPulb.js +1 -0
  42. package/dist/client/assets/{CharacterFamilyPreview-ckVkecDO.js → CharacterFamilyPreview-DMfw7UM_.js} +1 -1
  43. package/dist/client/assets/{ChatAvatar-DKBsbOqk.js → ChatAvatar-C3a_o5Hj.js} +1 -1
  44. package/dist/client/assets/ChatBits-CsvxbToF.js +1 -0
  45. package/dist/client/assets/{ChatCollapsedStrip-Co0NmqOO.js → ChatCollapsedStrip-FEmQ_G9J.js} +1 -1
  46. package/dist/client/assets/ChatRichInput-DhtwFxQE.js +31 -0
  47. package/dist/client/assets/ChatRightPanel-C1h_aIkn.js +1 -0
  48. package/dist/client/assets/ChatSpaceSurface-BXyLYKHn.js +1 -0
  49. package/dist/client/assets/ChatSpaceTheme-3wLZGsvT.css +1 -0
  50. package/dist/client/assets/ChatSpaceTheme-CUH8bTZc.js +1 -0
  51. package/dist/client/assets/{CodeDiffPane-D-iv28LJ.js → CodeDiffPane-DuQRwpgK.js} +1 -1
  52. package/dist/client/assets/{CodeProjectPicker-CZ3gDdiT.js → CodeProjectPicker-ZQ6gSBpg.js} +1 -1
  53. package/dist/client/assets/{CodeScreen-CSC-zbP9.js → CodeScreen-BXyKeL5T.js} +1 -1
  54. package/dist/client/assets/{CommsCanvas-DdNAwjGW.js → CommsCanvas-THp0r_U8.js} +1 -1
  55. package/dist/client/assets/{CommsDeck-mGWY7Ivi.js → CommsDeck-BVmSMV2V.js} +1 -1
  56. package/dist/client/assets/{CommsFlowGraph-voDD9M5R.js → CommsFlowGraph-DxoOaLF_.js} +1 -1
  57. package/dist/client/assets/{CommsFlowMap-C33sgD48.js → CommsFlowMap-Vi8ziCPg.js} +1 -1
  58. package/dist/client/assets/{CommsSelection-BL8aYD7z.js → CommsSelection-BUoRbu9o.js} +1 -1
  59. package/dist/client/assets/ComposerAttachments-DW0AIb8k.js +1 -0
  60. package/dist/client/assets/ConversationComposer-CUQyArlk.js +1 -0
  61. package/dist/client/assets/ConversationFeedRows-DWiOfT-y.js +1 -0
  62. package/dist/client/assets/ConversationHeader-C-ZWscKj.js +1 -0
  63. package/dist/client/assets/{ConversationPanels-6pprBpmq.js → ConversationPanels-D9oC0xG5.js} +2 -2
  64. package/dist/client/assets/ConversationScreen-9MlMnEo4.css +1 -0
  65. package/dist/client/assets/ConversationScreen-CUfsQ4MR.js +2 -0
  66. package/dist/client/assets/ConversationStatus--IPm2nGh.js +1 -0
  67. package/dist/client/assets/{CrewAvatar-D0c9z5Qr.css → CrewAvatar-BnIPIn_Z.css} +1 -1
  68. package/dist/client/assets/CrewAvatar-kTznzqcO.js +1 -0
  69. package/dist/client/assets/{CrewSprite-Dp9KBBGY.js → CrewSprite-Dhryjx2c.js} +1 -1
  70. package/dist/client/assets/CrewStage-vdO0qm3D.js +1 -0
  71. package/dist/client/assets/CrewWorkspaces-DCBzAAS4.js +1 -0
  72. package/dist/client/assets/{DataTable-av71ehJV.js → DataTable-aH-jCyDq.js} +1 -1
  73. package/dist/client/assets/{DispatchAftermath-CcYGUB10.js → DispatchAftermath-66uQAorV.js} +1 -1
  74. package/dist/client/assets/{DocumentFocusViewer-DlMiEALb.js → DocumentFocusViewer-DJr0v0D_.js} +1 -1
  75. package/dist/client/assets/{EmbeddableSurfacesLab-CTkO_tQR.js → EmbeddableSurfacesLab-BBa70EhJ.js} +1 -1
  76. package/dist/client/assets/{EmptyState-CYUwYyAW.js → EmptyState-CZlrHXy-.js} +1 -1
  77. package/dist/client/assets/{FileViewerPane-Cxhixtks.js → FileViewerPane-BAO6mtjD.js} +1 -1
  78. package/dist/client/assets/FleetRollCallHud-C5q2567n.js +1 -0
  79. package/dist/client/assets/FlightObserveScreen-DZ2mrw91.js +1 -0
  80. package/dist/client/assets/{FloorContextSheet-Vj_wVZq1.js → FloorContextSheet-2_NVPQor.js} +1 -1
  81. package/dist/client/assets/{FloorExchangePanel-CjHSDXad.js → FloorExchangePanel-BU1pPu8K.js} +1 -1
  82. package/dist/client/assets/{FloorMessagePasses-BG4ebnX5.js → FloorMessagePasses-cLW2UGNP.js} +1 -1
  83. package/dist/client/assets/{FloorReplay-BoYaGY9t.js → FloorReplay-VFzA6Kxc.js} +1 -1
  84. package/dist/client/assets/FloorResourcesSheet-C-kQ6Ren.js +1 -0
  85. package/dist/client/assets/{FloorSavedWork-jbtRs-YE.js → FloorSavedWork-BeHDejWz.js} +1 -1
  86. package/dist/client/assets/FloorTacticalHUD-CO-iiFpb.js +1 -0
  87. package/dist/client/assets/{FollowScreen-CupyOgt4.js → FollowScreen-CFfkIbc6.js} +1 -1
  88. package/dist/client/assets/HarnessMark-C4naWc16.js +1 -0
  89. package/dist/client/assets/HarnessesScreen-DX3NLcDG.js +1 -0
  90. package/dist/client/assets/{HerdrSession-Dcm3vf9U.js → HerdrSession-_t7yM8vX.js} +2 -2
  91. package/dist/client/assets/{HomeHero-pIZtE1cC.js → HomeHero-DouPyNmz.js} +1 -1
  92. package/dist/client/assets/{HostAdvisorView-Dv5meXo2.js → HostAdvisorView-CnM1i8hW.js} +1 -1
  93. package/dist/client/assets/InviteLandingScreen-CEjG2E34.js +1 -0
  94. package/dist/client/assets/InviteSheet-CwxZtWCl.js +1 -0
  95. package/dist/client/assets/{JumpPalette-BmiSOEmp.js → JumpPalette-O1aJE9gR.js} +1 -1
  96. package/dist/client/assets/{KnowledgeSearchInspector-B8yiM524.js → KnowledgeSearchInspector-32n9baT-.js} +1 -1
  97. package/dist/client/assets/KnowledgeSearchScreen-Dd6jrQ0A.js +1 -0
  98. package/dist/client/assets/{LaneToolHoverCard-D2cnTeUd.js → LaneToolHoverCard-CJa110yk.js} +1 -1
  99. package/dist/client/assets/LaneTraceDetailSheet-DYrd0BIf.js +1 -0
  100. package/dist/client/assets/{LaneTraceEventFocus-BLhVHwff.js → LaneTraceEventFocus-TbrNHRj_.js} +1 -1
  101. package/dist/client/assets/{MeshCanvas-BR25OBTJ.js → MeshCanvas-DWZHYh1A.js} +2 -2
  102. package/dist/client/assets/{MeshCanvasMinimap-ClVolr4-.js → MeshCanvasMinimap-iswYFpIb.js} +1 -1
  103. package/dist/client/assets/MeshScreen-8nAzQVbm.js +1 -0
  104. package/dist/client/assets/{MeshTopologyView-BT3ke2D1.js → MeshTopologyView-BVvtqI8q.js} +2 -2
  105. package/dist/client/assets/MessageEmbeds-ksPazAKH.js +1 -0
  106. package/dist/client/assets/MessagesScreen-C3WB4T21.js +1 -0
  107. package/dist/client/assets/{MissionContextRail-CafjuseK.js → MissionContextRail-D62-Wis8.js} +1 -1
  108. package/dist/client/assets/MissionControlView-B9cNPXvl.js +1 -0
  109. package/dist/client/assets/{MissionFocusOverlay-nhy3hkxQ.js → MissionFocusOverlay-C1zys3Jv.js} +1 -1
  110. package/dist/client/assets/MissionLeftAgentRow-vycMV77n.js +1 -0
  111. package/dist/client/assets/{MissionLogPane-DiUf3vWW.js → MissionLogPane-B19lYSY9.js} +1 -1
  112. package/dist/client/assets/NativeAreaScreen-B1RLa85C.js +1 -0
  113. package/dist/client/assets/NativeAreaScreen-CV0OhGra.js +1 -0
  114. package/dist/client/assets/NativeAreaScreen-CzuZt6o1.js +1 -0
  115. package/dist/client/assets/{NewAgentModal-BQ2wQ5gp.js → NewAgentModal-Bh-L-emz.js} +1 -1
  116. package/dist/client/assets/NewChatComposer-C97-iTMK.js +19 -0
  117. package/dist/client/assets/{NewChatOrigin-C8ROO4ps.js → NewChatOrigin-DFbF_XvR.js} +1 -1
  118. package/dist/client/assets/{NodeDetailPanel-BNTqYC7m.js → NodeDetailPanel-CElOEpCh.js} +1 -1
  119. package/dist/client/assets/{NodeMenu-CcOeFRCB.js → NodeMenu-B-jjHf1c.js} +1 -1
  120. package/dist/client/assets/ObserveEmbedScreen-B7Qt69Ms.js +2 -0
  121. package/dist/client/assets/{ObserveTextFlow-CC5mnngm.js → ObserveTextFlow-PFnG_10h.js} +2 -2
  122. package/dist/client/assets/{ObservedTopologyPanel-DF6tRZL_.js → ObservedTopologyPanel-CUTIoLZJ.js} +1 -1
  123. package/dist/client/assets/OpenScoutAppShell-37PDFfA4.js +31 -0
  124. package/dist/client/assets/OpsAgentsView-DajlX8LO.js +1 -0
  125. package/dist/client/assets/OpsScreen-jVcaBKGi.js +1 -0
  126. package/dist/client/assets/OpsSubnav-BOOYShHE.js +1 -0
  127. package/dist/client/assets/ProjectAgentProfile-D_wlW4sQ.js +1 -0
  128. package/dist/client/assets/{ProjectAgentProfileBar-C8z22pJ2.js → ProjectAgentProfileBar-DHuMKJj-.js} +1 -1
  129. package/dist/client/assets/ProjectAgentProfileHero-Dbebtug1.js +1 -0
  130. package/dist/client/assets/ProjectsInbox-B8zYE4vP.css +1 -0
  131. package/dist/client/assets/ProjectsInbox-Cgu7B4--.js +2 -0
  132. package/dist/client/assets/ProjectsRail-CDWocin_.js +1 -0
  133. package/dist/client/assets/ProjectsScreen-B_CJycqW.js +1 -0
  134. package/dist/client/assets/ProjectsThreadAside-1MMl_qUD.js +1 -0
  135. package/dist/client/assets/Provider-C35yu29I.js +5 -0
  136. package/dist/client/assets/{RailRow-DUPqXMZh.js → RailRow-BjmWK420.js} +1 -1
  137. package/dist/client/assets/RawSessionsTable-DzT90hWu.js +1 -0
  138. package/dist/client/assets/RealtimeVoiceScreen-B6ylX3WQ.js +16 -0
  139. package/dist/client/assets/{RenderedWorkerSprite-C8fxndAh.js → RenderedWorkerSprite-Dhlyg89J.js} +1 -1
  140. package/dist/client/assets/{ReplayClock-DUVJjrIu.js → ReplayClock-348f17bW.js} +1 -1
  141. package/dist/client/assets/{ReplayLog-Bek1Vc4W.js → ReplayLog-CBnAM3ui.js} +1 -1
  142. package/dist/client/assets/{ReplayOutpost-DlRg3172.js → ReplayOutpost-DyRPfNFx.js} +1 -1
  143. package/dist/client/assets/{RepoDiffEmbedScreen-CVUMnt6A.js → RepoDiffEmbedScreen-BWxvRDrS.js} +1 -1
  144. package/dist/client/assets/{RepoDiffPageScreen-D9-s5PyB.js → RepoDiffPageScreen-DN94irmY.js} +1 -1
  145. package/dist/client/assets/{RepoDiffViewer-D7FN-oyY.js → RepoDiffViewer-_4JVXBIW.js} +1 -1
  146. package/dist/client/assets/RepoDiffViewerLazy-XGVC3WXv.js +2 -0
  147. package/dist/client/assets/{ReposScreen-BQ7HO1om.js → ReposScreen-uMCpt0e9.js} +2 -2
  148. package/dist/client/assets/{RiggedWorkerCharacter-CJMWlvV-.js → RiggedWorkerCharacter-q6QRc7_o.js} +1 -1
  149. package/dist/client/assets/{SageModelStudio-B526NSnw.js → SageModelStudio-CNDhZhgD.js} +1 -1
  150. package/dist/client/assets/{ScoutDeckSurface-ChkvGyEW.js → ScoutDeckSurface-CUaU4R6T.js} +1 -1
  151. package/dist/client/assets/{ScoutSurface-6g1f5chk.js → ScoutSurface-3_25USO_.js} +1 -1
  152. package/dist/client/assets/{ScoutbotFxLab-BuwBdnPf.js → ScoutbotFxLab-CRqhYe0a.js} +1 -1
  153. package/dist/client/assets/{SecondaryNav-Bs-_VwTC.js → SecondaryNav-D7dbV2qo.js} +1 -1
  154. package/dist/client/assets/SessionContextStrip-CXfs9hUD.js +1 -0
  155. package/dist/client/assets/SessionContextStrip-DAIXwtHd.css +1 -0
  156. package/dist/client/assets/{SessionEmbedScreen-C2wf35-P.js → SessionEmbedScreen-D0zFmou-.js} +1 -1
  157. package/dist/client/assets/SessionHopMenu-E6VJZrE0.js +1 -0
  158. package/dist/client/assets/{SessionObserve-B64YsYhy.js → SessionObserve-DXxBvejJ.js} +9 -9
  159. package/dist/client/assets/SessionObserveEvidence-Cuj_KHxR.js +1 -0
  160. package/dist/client/assets/SessionRefScreen-DqLSUlCE.js +1 -0
  161. package/dist/client/assets/SessionsScreen-BLIRkohT.js +1 -0
  162. package/dist/client/assets/SettingsDrawer-juCpnbH6.js +3 -0
  163. package/dist/client/assets/SettingsScreen-BtGzE2-O.js +1 -0
  164. package/dist/client/assets/{SharedFloorCharacter-V04kD5T9.js → SharedFloorCharacter-DNEiaOUh.js} +1 -1
  165. package/dist/client/assets/SharedWorkFloor-0rqtdF-n.css +1 -0
  166. package/dist/client/assets/SharedWorkFloor-D9mf9KSg.js +2 -0
  167. package/dist/client/assets/{ShikiPane-XwFI-pCp.js → ShikiPane-CRtTYkMj.js} +1 -1
  168. package/dist/client/assets/{SlidePanel-BMpkXai_.js → SlidePanel-_CHAQdOa.js} +1 -1
  169. package/dist/client/assets/SpaceSwitcher-BLgSCf_T.js +1 -0
  170. package/dist/client/assets/{SpriteAvatar-aHeF4ZQZ.js → SpriteAvatar-CpZWf54-.js} +1 -1
  171. package/dist/client/assets/{SproutActionSprite-DI5N3gOj.js → SproutActionSprite-BSiTS4en.js} +1 -1
  172. package/dist/client/assets/{StatusPill-Dw4LP7wu.js → StatusPill-2gCP6H7A.js} +1 -1
  173. package/dist/client/assets/{TailView-BofjmUMJ.js → TailView-CYSijNTy.js} +2 -2
  174. package/dist/client/assets/Terminal-Bi97yb5s.js +4 -0
  175. package/dist/client/assets/TerminalEmbedScreen-Bqop67Bq.js +1 -0
  176. package/dist/client/assets/{TerminalHeaderMount-CwbQhXcI.js → TerminalHeaderMount-Cq4OD_xN.js} +1 -1
  177. package/dist/client/assets/{TerminalRelay--qOBwnbR.js → TerminalRelay-DrikpUSJ.js} +3 -3
  178. package/dist/client/assets/{TextDocumentSurface-BK6Qy41F.js → TextDocumentSurface-D52m7Vd8.js} +1 -1
  179. package/dist/client/assets/{TmuxPeek-DpUT9Tpc.js → TmuxPeek-CXFeweMg.js} +1 -1
  180. package/dist/client/assets/VoiceControlWell-DF3bjcYA.js +1 -0
  181. package/dist/client/assets/VoicePathDiagram-CmpHWfO-.js +1 -0
  182. package/dist/client/assets/{VoicePermissionsPanel-D35fOnQj.js → VoicePermissionsPanel-Ok2nfxHw.js} +1 -1
  183. package/dist/client/assets/VoiceTurnDetails-wAByRaNB.js +8 -0
  184. package/dist/client/assets/VoiceTurnStage-edoJalLV.js +1 -0
  185. package/dist/client/assets/VoiceTurnView-D-8g5E4r.js +1 -0
  186. package/dist/client/assets/WorkDetailScreen-zQkNVy2F.js +5 -0
  187. package/dist/client/assets/{WorkFilesViewer-t8AEyx3Q.js → WorkFilesViewer-vNt01sDd.js} +1 -1
  188. package/dist/client/assets/{WorkRunView-_mhG_FR2.js → WorkRunView-BDkR7Edq.js} +1 -1
  189. package/dist/client/assets/WorldActorTalk-BvSg_b1y.js +1 -0
  190. package/dist/client/assets/{WorldCharacter-BRrj3MQN.js → WorldCharacter-CIIlutQq.js} +1 -1
  191. package/dist/client/assets/WorldMinimap-B6HNgcDe.js +1 -0
  192. package/dist/client/assets/{WorldSky-D-RJzSa6.js → WorldSky-Jm2Z6dfW.js} +1 -1
  193. package/dist/client/assets/{activity-BJqFrZyB.js → activity-CIlFrfPJ.js} +1 -1
  194. package/dist/client/assets/{addon-fit-CHohcvS3.js → addon-fit-dFpj9Kfq.js} +1 -1
  195. package/dist/client/assets/{addon-webgl-CaRy2x2b.js → addon-webgl-BFCGRtGh.js} +1 -1
  196. package/dist/client/assets/{agent-essentials-bKWYOZaH.js → agent-essentials-BGGvT5G6.js} +1 -1
  197. package/dist/client/assets/{agent-master-model-C-KdOFDK.js → agent-master-model-Bk_yuUXJ.js} +1 -1
  198. package/dist/client/assets/{agent-specialization-BplZUa_0.js → agent-specialization-DDc7mLCW.js} +1 -1
  199. package/dist/client/assets/agents-screen-BYakbO50.css +1 -0
  200. package/dist/client/assets/{arc.es-CubLvQ4W.js → arc.es-C1SQHJ3k.js} +1 -1
  201. package/dist/client/assets/{arrow-left-DFfKAq0d.js → arrow-left-MVUKauwQ.js} +1 -1
  202. package/dist/client/assets/{arrow-right-DmAWnyAH.js → arrow-right-Bp-FpE5V.js} +1 -1
  203. package/dist/client/assets/{arrow-up-right-B0aLKiyF.js → arrow-up-right-BPedAgxO.js} +1 -1
  204. package/dist/client/assets/{book-open-BL9qvhEI.js → book-open-CV98WMSp.js} +1 -1
  205. package/dist/client/assets/{bot-BhAVbcCA.js → bot-B4zLQ4IN.js} +1 -1
  206. package/dist/client/assets/chat-api-DSJMBYoT.js +2 -0
  207. package/dist/client/assets/chat-message-markup-91DIry6R.js +1 -0
  208. package/dist/client/assets/chat-space-model-aW3Fd8_U.js +4 -0
  209. package/dist/client/assets/chat-transport-DNS5CB2I.js +1 -0
  210. package/dist/client/assets/{check-g7D7-c1J.js → check-lrJ3a73a.js} +1 -1
  211. package/dist/client/assets/{chevron-down-CDzRQQGl.js → chevron-down-l1mrh5S9.js} +1 -1
  212. package/dist/client/assets/{chevron-right-DKGTLiqc.js → chevron-right-DrfqcerI.js} +1 -1
  213. package/dist/client/assets/{chevron-up-DX7R6KY2.js → chevron-up-CETZJzjV.js} +1 -1
  214. package/dist/client/assets/{chunk-HRAB3GC3-Dvk_QpRq.js → chunk-HRAB3GC3-DbVLgbWX.js} +1 -1
  215. package/dist/client/assets/{clock-CQb4FeMf.js → clock-BV1aqPkK.js} +1 -1
  216. package/dist/client/assets/{code-xml-Cmadr3pQ.js → code-xml-BhcNbLWU.js} +1 -1
  217. package/dist/client/assets/{coffee-ljG1_krY.js → coffee-D7EAOdCk.js} +1 -1
  218. package/dist/client/assets/{compass-CvzkzkIh.js → compass-63TUaz5_.js} +1 -1
  219. package/dist/client/assets/content-B1lgE8qr.js +1 -0
  220. package/dist/client/assets/content-B5l11YyQ.js +1 -0
  221. package/dist/client/assets/content-BNZOZEpX.js +1 -0
  222. package/dist/client/assets/content-BRIxP155.js +1 -0
  223. package/dist/client/assets/content-BWd8gt8L.js +1 -0
  224. package/dist/client/assets/content-BfwS2jAK.js +1 -0
  225. package/dist/client/assets/content-C4p43_eT.js +1 -0
  226. package/dist/client/assets/content-CdYfaoDV.js +1 -0
  227. package/dist/client/assets/content-CzldLxw0.js +1 -0
  228. package/dist/client/assets/content-D-olnc4U.js +1 -0
  229. package/dist/client/assets/content-DTioimq4.js +1 -0
  230. package/dist/client/assets/content-LOebm3_d.js +1 -0
  231. package/dist/client/assets/{content-CKJ9zb7Z.js → content-nGlEZhUI.js} +1 -1
  232. package/dist/client/assets/{content-D1Ze_FG9.js → content-oyzDM-LK.js} +1 -1
  233. package/dist/client/assets/content-x1PHxED7.js +1 -0
  234. package/dist/client/assets/content-zX3ZY3T9.js +1 -0
  235. package/dist/client/assets/{conversation-icons-CIRaxmid.js → conversation-icons-Tqba2d56.js} +1 -1
  236. package/dist/client/assets/conversation-model-FxDeWlle.js +1 -0
  237. package/dist/client/assets/conversation-motion-features-C5zjuNwE.js +1 -0
  238. package/dist/client/assets/conversations-DoAAO6kA.js +1 -0
  239. package/dist/client/assets/{copy-BGOC1tJB.js → copy-xKeM5ZtU.js} +1 -1
  240. package/dist/client/assets/{cpu-Q6nrHFTN.js → cpu-BOTa_WLr.js} +1 -1
  241. package/dist/client/assets/{createLucideIcon-ChvMq-zl.js → createLucideIcon-zZ8Hx7er.js} +1 -1
  242. package/dist/client/assets/ctx-panel-BC8fpcWJ.css +1 -0
  243. package/dist/client/assets/direct-voice-BbLPuJ04.js +2 -0
  244. package/dist/client/assets/direct-voice-DbO7CSv_.css +1 -0
  245. package/dist/client/assets/discover-DJFxyV1k.js +2 -0
  246. package/dist/client/assets/embed-entry-Lyvu0Kfc.js +2 -0
  247. package/dist/client/assets/{external-link-BVccgH0n.js → external-link-CUObqmgX.js} +1 -1
  248. package/dist/client/assets/{eye-CsGfEVR6.js → eye-LrO-cXQt.js} +1 -1
  249. package/dist/client/assets/{file-code-corner-Be6da5l3.js → file-code-corner-CsU7jJpu.js} +1 -1
  250. package/dist/client/assets/{file-text-DP6txVW-.js → file-text-CnISiiw6.js} +1 -1
  251. package/dist/client/assets/{flag-DAFE2wZ5.js → flag-C4wl8z2-.js} +1 -1
  252. package/dist/client/assets/fleet-roll-call-BUgf7w-V.css +1 -0
  253. package/dist/client/assets/{folder-B_S7gBVr.js → folder-D5prSkzz.js} +1 -1
  254. package/dist/client/assets/{gauge-DQCGlE3o.js → gauge-D9_5iJEm.js} +1 -1
  255. package/dist/client/assets/{gestures-CofqY4Km.js → gestures-QZub3Ot9.js} +1 -1
  256. package/dist/client/assets/{git-branch-DcUCsWdJ.js → git-branch-B0_fPLO7.js} +1 -1
  257. package/dist/client/assets/{go-shortcuts-KQy-ZOpV.js → go-shortcuts-DicR7sUf.js} +1 -1
  258. package/dist/client/assets/home-moving-signal-rpMhsOJB.js +1 -0
  259. package/dist/client/assets/home-now-card-ByE6Umcx.js +1 -0
  260. package/dist/client/assets/{home-now-card-nano-CvU8B61b.js → home-now-card-nano-B5Dv3-pb.js} +1 -1
  261. package/dist/client/assets/hooks-_eCZZPsR.js +2 -0
  262. package/dist/client/assets/index-724SdE6r.js +1 -0
  263. package/dist/client/assets/{index-kkXUq-zf.js → index-CHD0qcfL.js} +1 -1
  264. package/dist/client/assets/index-CN4rBB_s.css +1 -0
  265. package/dist/client/assets/index-D1d98iYf.js +1 -0
  266. package/dist/client/assets/{index-DReVb7jZ.js → index-EsrkGBcv.js} +8 -8
  267. package/dist/client/assets/index-gGHPA-By.js +1 -0
  268. package/dist/client/assets/{inspector-panel-CLU7wjnT.js → inspector-panel-BkgUDn6G.js} +2 -2
  269. package/dist/client/assets/{keyboard-nav-CJXPaHXj.js → keyboard-nav-DDHegDbx.js} +1 -1
  270. package/dist/client/assets/{lane-roster-store-Ch9t6lb0.js → lane-roster-store-D-RSWjb-.js} +1 -1
  271. package/dist/client/assets/{layers-BOwyWodP.js → layers-C8PDiMul.js} +1 -1
  272. package/dist/client/assets/{layout-grid-B36Qsh0y.js → layout-grid-Cor2frzj.js} +1 -1
  273. package/dist/client/assets/left-Bn5X7x2o.js +2 -0
  274. package/dist/client/assets/left-BqS0fYX1.js +1 -0
  275. package/dist/client/assets/left-CTCeeeD3.js +1 -0
  276. package/dist/client/assets/left-DhtVPVux.js +1 -0
  277. package/dist/client/assets/left-K39b-Wvx.js +2 -0
  278. package/dist/client/assets/left-KGmueNPt.js +1 -0
  279. package/dist/client/assets/left-P_GOYB-s.js +1 -0
  280. package/dist/client/assets/left-advisor-B0N47De2.js +1 -0
  281. package/dist/client/assets/left-agents-CsSNc51Y.js +1 -0
  282. package/dist/client/assets/left-default-BlO5LP2T.js +1 -0
  283. package/dist/client/assets/left-lanes-C4PhaJE6.js +1 -0
  284. package/dist/client/assets/left-mission-BjTE5vPa.js +1 -0
  285. package/dist/client/assets/library-CkWNPHRp.js +1 -0
  286. package/dist/client/assets/{loader-circle-DNUsuPWz.js → loader-circle-OvccU82H.js} +1 -1
  287. package/dist/client/assets/{local-agents-I40PawYA.js → local-agents-BqnoxJrq.js} +1 -1
  288. package/dist/client/assets/log-in-7SnYqW5w.js +1 -0
  289. package/dist/client/assets/{machine-children-CdhNzDF0.js → machine-children-DxcqCLmd.js} +1 -1
  290. package/dist/client/assets/media-blobs-Bi8pxr1u.js +1 -0
  291. package/dist/client/assets/{mentions-Ck_Vjnyp.js → mentions-ByUvhS-v.js} +1 -1
  292. package/dist/client/assets/{mesh-ops-DSlvHp-D.js → mesh-ops-CiZ8xSAx.js} +1 -1
  293. package/dist/client/assets/{mesh-view-store-C1-mdP3P.js → mesh-view-store-DZvJC4KU.js} +1 -1
  294. package/dist/client/assets/{message-circle-cI5_A5mj.js → message-circle-CxRVKNE-.js} +1 -1
  295. package/dist/client/assets/message-markup-BQW5jdJw.js +15 -0
  296. package/dist/client/assets/message-markup-Zwo3t4cI.js +1 -0
  297. package/dist/client/assets/{message-square-CJW4WRlo.js → message-square-BxesYglW.js} +1 -1
  298. package/dist/client/assets/mission-control-model-BpJHDV5D.js +1 -0
  299. package/dist/client/assets/{mission-control-store-p_cboAm4.js → mission-control-store-elEEsIvb.js} +1 -1
  300. package/dist/client/assets/{mission-wall-DOuGOxQy.js → mission-wall-CAo4BKfa.js} +1 -1
  301. package/dist/client/assets/{monitor-C7_cHlkC.js → monitor-DTTYEb73.js} +1 -1
  302. package/dist/client/assets/{nav-destinations-CU_euC-Q.js → nav-destinations-uorRqFxf.js} +1 -1
  303. package/dist/client/assets/{observe-CtS0l3zu.js → observe-BJqERJVj.js} +1 -1
  304. package/dist/client/assets/{page-status-DwFR4wSw.js → page-status-BswZLqvA.js} +1 -1
  305. package/dist/client/assets/{panel-right-qP17MwMl.js → panel-right-Bv7sP_fc.js} +1 -1
  306. package/dist/client/assets/paperclip-BjcuP_Hx.js +1 -0
  307. package/dist/client/assets/{pause-B_hliKuR.js → pause-C2XTlkjs.js} +1 -1
  308. package/dist/client/assets/{persistent-state-BUsTTZFE.js → persistent-state-KRk_yb0q.js} +1 -1
  309. package/dist/client/assets/{pin-Oi4qHR6M.js → pin-C2mFOV1l.js} +1 -1
  310. package/dist/client/assets/{play-CVeRmqLH.js → play-FT6K3It1.js} +1 -1
  311. package/dist/client/assets/{plus-D5NLH_fM.js → plus-DFDDeGKu.js} +1 -1
  312. package/dist/client/assets/profile-DTmzN16I.js +1 -0
  313. package/dist/client/assets/{projects-inbox-CfwxCTdN.js → projects-inbox-C0FUCv_p.js} +1 -1
  314. package/dist/client/assets/projects-inbox-ColX6lpx.css +1 -0
  315. package/dist/client/assets/{provider-DwmCoSlc.js → provider-Dojd8quC.js} +1 -1
  316. package/dist/client/assets/{proxy-DgzP27W8.js → proxy-AJsmwA6h.js} +1 -1
  317. package/dist/client/assets/{radio-Cas2qg1D.js → radio-DRoOZsws.js} +1 -1
  318. package/dist/client/assets/{refresh-cw-IcD2lPoT.js → refresh-cw-BmVr7sCD.js} +1 -1
  319. package/dist/client/assets/resolve-panes-pbY1fCWi.js +1 -0
  320. package/dist/client/assets/resolve-sidebar-context-YWkZTq1t.js +1 -0
  321. package/dist/client/assets/right-49kO-6nD.js +1 -0
  322. package/dist/client/assets/right-APtItA8A.js +1 -0
  323. package/dist/client/assets/right-BJwhPqtn.js +1 -0
  324. package/dist/client/assets/right-BPqrf4ek.js +1 -0
  325. package/dist/client/assets/right-D7djOy6K.js +1 -0
  326. package/dist/client/assets/right-DKOUCRob.js +1 -0
  327. package/dist/client/assets/right-DMNrVzg7.js +1 -0
  328. package/dist/client/assets/{right-cjPTwPXS.js → right-DWPVB-nK.js} +1 -1
  329. package/dist/client/assets/right-DppeMCy4.js +1 -0
  330. package/dist/client/assets/right-GAL5Mw1v.js +1 -0
  331. package/dist/client/assets/{rocket-DAqYvu8I.js → rocket-CGl4RTV7.js} +1 -1
  332. package/dist/client/assets/router-DCtl8wqb.js +1 -0
  333. package/dist/client/assets/runtime-picker-DXu2bOTh.js +1 -0
  334. package/dist/client/assets/{scope-views-Dl3ml9OZ.js → scope-views-RUWwCVAr.js} +1 -1
  335. package/dist/client/assets/scout-voice-CZx60X6E.js +1 -0
  336. package/dist/client/assets/{scoutbot-markdown-DwvGQOWo.js → scoutbot-markdown-BKEBSbG0.js} +1 -1
  337. package/dist/client/assets/{scroll-text-B0tKI9Sg.js → scroll-text-DNjxhyO2.js} +1 -1
  338. package/dist/client/assets/{search-UsM-9-_W.js → search-DT42oyRW.js} +1 -1
  339. package/dist/client/assets/secondaryNavConfig-CS1svh6n.js +1 -0
  340. package/dist/client/assets/{selection-bridge-OTS2iFkt.js → selection-bridge-x3wFUjxj.js} +1 -1
  341. package/dist/client/assets/{send-horizontal-BlQsRK6C.js → send-horizontal-CH0-fbZE.js} +1 -1
  342. package/dist/client/assets/{send-to-agent-session-C1mgqdow.js → send-to-agent-session-DoKCDBJ4.js} +1 -1
  343. package/dist/client/assets/{server-DBlPW0Mp.js → server-QfsgMLk1.js} +1 -1
  344. package/dist/client/assets/{session-catalog-CnpZMB7C.js → session-catalog-CvSdPHPe.js} +1 -1
  345. package/dist/client/assets/session-recap-lanes-D-eVJnpY.js +1 -0
  346. package/dist/client/assets/session-recap-queue-41l2XVkI.js +1 -0
  347. package/dist/client/assets/{session-table-CGkfG5Yd.js → session-table-L-pns6Zl.js} +1 -1
  348. package/dist/client/assets/{sessions-view-Bge4XZ4I.js → sessions-view-Dc-QAa7O.js} +1 -1
  349. package/dist/client/assets/{settings-C69Zjrpq.js → settings-BVh7kldq.js} +1 -1
  350. package/dist/client/assets/{sliders-horizontal-6bzeod7c.js → sliders-horizontal-782VC_yy.js} +1 -1
  351. package/dist/client/assets/{sparkles-Cc5lPZRv.js → sparkles-BjHq_DNK.js} +1 -1
  352. package/dist/client/assets/{sse-A8AyLH0g.js → sse-BCPRocpq.js} +1 -1
  353. package/dist/client/assets/system-surfaces-redesign-q2BmCB7e.css +1 -0
  354. package/dist/client/assets/{tail-events-C4WdhVeK.js → tail-events-d0yAYxR0.js} +1 -1
  355. package/dist/client/assets/{terminal-DMZjX1es.js → terminal-hQKQygcf.js} +1 -1
  356. package/dist/client/assets/{terminal-relay-mO89dX-Y.js → terminal-relay-Bxs1hp-j.js} +1 -1
  357. package/dist/client/assets/{terminal-takeover-CZZsnPzj.js → terminal-takeover-Ay5C2c-M.js} +1 -1
  358. package/dist/client/assets/theme-vars-DNK0nn3k.js +1 -0
  359. package/dist/client/assets/triangle-alert-CHoRGdVO.js +1 -0
  360. package/dist/client/assets/{use-beside-D3cJpA5p.js → use-beside-DoRC1nt0.js} +1 -1
  361. package/dist/client/assets/{use-conversation-list-D5EnpVba.js → use-conversation-list-CY4JciOV.js} +1 -1
  362. package/dist/client/assets/{use-fleet-active-asks-D_QOmjg5.js → use-fleet-active-asks-CymmXWH4.js} +1 -1
  363. package/dist/client/assets/{use-mesh-node-state-3V3ADQ-G.js → use-mesh-node-state-BvaqtODo.js} +1 -1
  364. package/dist/client/assets/{use-mesh-ops-items-DI9GKWlF.js → use-mesh-ops-items-BSYaqH_0.js} +1 -1
  365. package/dist/client/assets/{use-reduced-motion-CiaZHMnk.js → use-reduced-motion-3gMYZNIp.js} +1 -1
  366. package/dist/client/assets/{use-scout-dev-flags-CkdAHlDR.js → use-scout-dev-flags-DS_pYYQd.js} +1 -1
  367. package/dist/client/assets/{useAgentHoverCard-A3QGXqIy.js → useAgentHoverCard-BANmpjMh.js} +1 -1
  368. package/dist/client/assets/useContentSecondaryNav-C6OBu-3_.js +1 -0
  369. package/dist/client/assets/{useEmbedHeadline-atkQVfGw.js → useEmbedHeadline-D6pJRxUg.js} +1 -1
  370. package/dist/client/assets/usePersistentState-B8lP7TRb.js +1 -0
  371. package/dist/client/assets/{usePierreRuntime-DTvcwISe.js → usePierreRuntime-BAQdiN0L.js} +1 -1
  372. package/dist/client/assets/useSidebarCollapse-OL_8J5cL.js +1 -0
  373. package/dist/client/assets/{users-RLK3P5U4.js → users-BUjx36gx.js} +1 -1
  374. package/dist/client/assets/voice-paths-CJUuBPh3.css +1 -0
  375. package/dist/client/assets/voice-turn-DftA0iIb.css +1 -0
  376. package/dist/client/assets/voice-turn-ledger-BMZxlSjg.js +1 -0
  377. package/dist/client/assets/{wrench-B4maQJai.js → wrench-DR0i5BU7.js} +1 -1
  378. package/dist/client/assets/{x-rlMdRqJF.js → x-DAehov0E.js} +1 -1
  379. package/dist/client/assets/{xterm-B1zHHOLQ.js → xterm-BXQiLVnI.js} +1 -1
  380. package/dist/client/assets/{zap-B4X0OrEw.js → zap-CEjZNZbI.js} +1 -1
  381. package/dist/client/crew/sheets/eye-plate-v1/look-down-left.webp +0 -0
  382. package/dist/client/crew/sheets/eye-plate-v1/look-down-right.webp +0 -0
  383. package/dist/client/crew/sheets/eye-plate-v1/look-down.webp +0 -0
  384. package/dist/client/crew/sheets/eye-plate-v1/look-up-left.webp +0 -0
  385. package/dist/client/crew/sheets/eye-plate-v1/look-up-right.webp +0 -0
  386. package/dist/client/crew/sheets/eye-plate-v1/look-up.webp +0 -0
  387. package/dist/client/crew/sheets/sprout/blink-half.webp +0 -0
  388. package/dist/client/crew/sheets/sprout/blink-shut.webp +0 -0
  389. package/dist/client/crew/sheets/sprout/look-down-left.webp +0 -0
  390. package/dist/client/crew/sheets/sprout/look-down-right.webp +0 -0
  391. package/dist/client/crew/sheets/sprout/look-down.webp +0 -0
  392. package/dist/client/crew/sheets/sprout/look-left.webp +0 -0
  393. package/dist/client/crew/sheets/sprout/look-right.webp +0 -0
  394. package/dist/client/crew/sheets/sprout/look-up-left.webp +0 -0
  395. package/dist/client/crew/sheets/sprout/look-up-right.webp +0 -0
  396. package/dist/client/crew/sheets/sprout/look-up.webp +0 -0
  397. package/dist/client/index.html +2 -2
  398. package/dist/drizzle/0020_message_reactions.sql +11 -0
  399. package/dist/drizzle/meta/_journal.json +7 -0
  400. package/dist/main.mjs +542 -150
  401. package/dist/node/main.mjs +131 -17
  402. package/dist/pairing-runtime-controller.mjs +375 -78
  403. package/dist/runtime/base-daemon.mjs +98 -5
  404. package/dist/runtime/broker-daemon.mjs +1879 -1198
  405. package/dist/runtime/broker-process-manager.mjs +96 -3
  406. package/dist/runtime/mesh-discover.mjs +96 -3
  407. package/dist/scout-control-plane-web.mjs +4817 -1616
  408. package/dist/update-helper.mjs +211 -39
  409. package/package.json +5 -3
  410. package/server.json +31 -0
  411. package/dist/client/assets/ActivityScreen-CcDdQTBK.js +0 -1
  412. package/dist/client/assets/AgentAdventures-BxrYq_2v.js +0 -1
  413. package/dist/client/assets/AgentAvatar-NZOqcsB2.js +0 -1
  414. package/dist/client/assets/AgentConfigurationScreen-BhD1PEAM.js +0 -1
  415. package/dist/client/assets/AgentDefinitionsWorkspace-BqS6MXqF.js +0 -1
  416. package/dist/client/assets/AgentFloorView-A0dDRlRV.js +0 -1
  417. package/dist/client/assets/AgentInfoScreen-DuaN0sgE.js +0 -1
  418. package/dist/client/assets/AgentLanesEmbedScreen-CeNiaZ9_.js +0 -1
  419. package/dist/client/assets/AgentLanesView-WZhEDBFE.js +0 -2
  420. package/dist/client/assets/AgentMasterScreen-DUDUTAnU.js +0 -1
  421. package/dist/client/assets/AgentSessions-CO1WGa8Z.js +0 -6
  422. package/dist/client/assets/AgentsConsole-BQOWkj35.js +0 -1
  423. package/dist/client/assets/AgentsScreen-BMNAj1PH.js +0 -1
  424. package/dist/client/assets/AgentsSubnav-CeHhuzyM.js +0 -1
  425. package/dist/client/assets/BriefingDetailScreen-yZG8_m4h.js +0 -1
  426. package/dist/client/assets/BrokerScreen-CT37VQiL.js +0 -8
  427. package/dist/client/assets/ChannelComposer-BVItWlEz.js +0 -1
  428. package/dist/client/assets/ChannelSidebar-B-2spawY.js +0 -1
  429. package/dist/client/assets/ChatBits-CLJ71hTY.js +0 -1
  430. package/dist/client/assets/ChatRightPanel-pKQtkAgl.js +0 -1
  431. package/dist/client/assets/ChatSpaceSurface-NrLwdPkE.js +0 -1
  432. package/dist/client/assets/ChatSpaceTheme-BPMgPdVK.css +0 -1
  433. package/dist/client/assets/ChatSpaceTheme-D37Jk7bl.js +0 -1
  434. package/dist/client/assets/ConversationComposer-DNcn5U6D.js +0 -1
  435. package/dist/client/assets/ConversationFeedRows-RnYSa7Io.js +0 -1
  436. package/dist/client/assets/ConversationHeader-Y9TEJxP_.js +0 -1
  437. package/dist/client/assets/ConversationScreen-Brfas2y0.css +0 -1
  438. package/dist/client/assets/ConversationScreen-tpj4cqWs.js +0 -2
  439. package/dist/client/assets/ConversationStatus-Cv-7hErW.js +0 -1
  440. package/dist/client/assets/CrewAvatar-zgzC3cbU.js +0 -1
  441. package/dist/client/assets/CrewWorkspaces-K2jcyLec.js +0 -1
  442. package/dist/client/assets/FlightObserveScreen-CvzhzuWc.js +0 -1
  443. package/dist/client/assets/FloorResourcesSheet-_Iy5UqgY.js +0 -1
  444. package/dist/client/assets/FloorTacticalHUD-BhyOqlL5.js +0 -1
  445. package/dist/client/assets/HarnessMark-DSvM_H7H.js +0 -1
  446. package/dist/client/assets/HarnessesScreen-DyjqbZ4k.js +0 -1
  447. package/dist/client/assets/InviteLandingScreen-xZQ2na1z.js +0 -1
  448. package/dist/client/assets/InviteSheet--5Zjct25.js +0 -1
  449. package/dist/client/assets/KnowledgeSearchScreen-BPqAjHnH.js +0 -1
  450. package/dist/client/assets/LaneTraceDetailSheet-jl4XQmEx.js +0 -1
  451. package/dist/client/assets/MeshScreen-BW1dMFWF.js +0 -1
  452. package/dist/client/assets/MessagesScreen-CtNMfIvC.js +0 -1
  453. package/dist/client/assets/MissionControlView-BjPOViGY.js +0 -1
  454. package/dist/client/assets/MissionLeftAgentRow-Dms0DBjO.js +0 -1
  455. package/dist/client/assets/NativeAreaScreen-BQSTo8As.js +0 -1
  456. package/dist/client/assets/NativeAreaScreen-Brix6xDB.js +0 -1
  457. package/dist/client/assets/NativeAreaScreen-D7HyQNlM.js +0 -1
  458. package/dist/client/assets/NewChatComposer-BEXS8vV6.js +0 -19
  459. package/dist/client/assets/ObserveEmbedScreen-Dh30EjAQ.js +0 -2
  460. package/dist/client/assets/OpenScoutAppShell-D9pgw36i.js +0 -31
  461. package/dist/client/assets/OpsAgentsView-D3rM0udq.js +0 -1
  462. package/dist/client/assets/OpsScreen-DySeNQ1V.js +0 -1
  463. package/dist/client/assets/OpsSubnav-C9E0r3GZ.js +0 -1
  464. package/dist/client/assets/ProjectAgentProfile-FUav75j2.js +0 -1
  465. package/dist/client/assets/ProjectAgentProfileHero-BLK0EwMg.js +0 -1
  466. package/dist/client/assets/ProjectsInbox-DfCXReZK.js +0 -2
  467. package/dist/client/assets/ProjectsRail-CELVubfJ.js +0 -1
  468. package/dist/client/assets/ProjectsScreen-DMw4TLKy.js +0 -1
  469. package/dist/client/assets/ProjectsThreadAside-D1Sh4fnX.js +0 -1
  470. package/dist/client/assets/Provider-CNZluAZb.js +0 -5
  471. package/dist/client/assets/RailToggle-BwmY70B8.js +0 -1
  472. package/dist/client/assets/RawSessionsTable-6OVJq0JZ.js +0 -1
  473. package/dist/client/assets/RealtimeVoiceScreen-D41TYY0x.js +0 -9
  474. package/dist/client/assets/RepoDiffViewerLazy-BpMR7tlx.js +0 -2
  475. package/dist/client/assets/SessionObserveEvidence-CS1aQBpQ.js +0 -1
  476. package/dist/client/assets/SessionRefScreen-DURV0MpF.js +0 -1
  477. package/dist/client/assets/SessionsScreen-D71ZR-8t.js +0 -1
  478. package/dist/client/assets/SettingsDrawer-Nz98oBVl.js +0 -3
  479. package/dist/client/assets/SettingsScreen-CYBHal6y.js +0 -1
  480. package/dist/client/assets/SharedWorkFloor-BCmdeb3Q.css +0 -1
  481. package/dist/client/assets/SharedWorkFloor-C0xxW4SN.js +0 -2
  482. package/dist/client/assets/SpaceSwitcher-BfeIf-ad.js +0 -1
  483. package/dist/client/assets/Terminal-jIqnIZZ6.js +0 -4
  484. package/dist/client/assets/TerminalEmbedScreen-3XsjuySR.js +0 -1
  485. package/dist/client/assets/WorkDetailScreen-Bcf_yHhU.js +0 -5
  486. package/dist/client/assets/WorldActorTalk-CKerDikx.js +0 -1
  487. package/dist/client/assets/WorldMinimap-DOptgrc4.js +0 -1
  488. package/dist/client/assets/agent-autocomplete-C7xwIcwd.css +0 -1
  489. package/dist/client/assets/agent-autocomplete-_u9o5EZu.js +0 -2
  490. package/dist/client/assets/agents-screen-BMu6PpRY.css +0 -1
  491. package/dist/client/assets/at-sign-DM7xeppo.js +0 -1
  492. package/dist/client/assets/chat-api-BPVC0asu.js +0 -1
  493. package/dist/client/assets/chat-space-model-B6Jg2CY4.js +0 -4
  494. package/dist/client/assets/content-0AXa0klu.js +0 -1
  495. package/dist/client/assets/content-BEyJ19Lx.js +0 -1
  496. package/dist/client/assets/content-BN5weWKW.js +0 -1
  497. package/dist/client/assets/content-BNokkm7C.js +0 -1
  498. package/dist/client/assets/content-BV4PUM9q.js +0 -1
  499. package/dist/client/assets/content-BxUPlcx5.js +0 -1
  500. package/dist/client/assets/content-CIC5sku8.js +0 -1
  501. package/dist/client/assets/content-CdkTyxqk.js +0 -1
  502. package/dist/client/assets/content-CnhhSCZq.js +0 -1
  503. package/dist/client/assets/content-DY3F9Vfr.js +0 -1
  504. package/dist/client/assets/content-DrKBYpcb.js +0 -1
  505. package/dist/client/assets/content-LSStQYj5.js +0 -1
  506. package/dist/client/assets/content-YvU-D0hF.js +0 -1
  507. package/dist/client/assets/content-oKQMyVnH.js +0 -1
  508. package/dist/client/assets/conversation-model-m8HhzroS.js +0 -1
  509. package/dist/client/assets/conversation-motion-features-D9PxLoDt.js +0 -1
  510. package/dist/client/assets/conversations-Cbg9h_Af.js +0 -1
  511. package/dist/client/assets/ctx-panel-F05jXK4Q.css +0 -1
  512. package/dist/client/assets/discover-DlwbftpC.js +0 -2
  513. package/dist/client/assets/embed-entry-c0lwtjBG.js +0 -2
  514. package/dist/client/assets/home-moving-signal-BIHUGNfI.js +0 -1
  515. package/dist/client/assets/home-now-card-CaLgZze2.js +0 -1
  516. package/dist/client/assets/hooks-DaUOREpP.js +0 -2
  517. package/dist/client/assets/index-CGbs0SBm.css +0 -1
  518. package/dist/client/assets/index-CbqBwfIW.js +0 -1
  519. package/dist/client/assets/index-CyPMl7Up.js +0 -1
  520. package/dist/client/assets/index-PQpJveGO.js +0 -1
  521. package/dist/client/assets/left-0vBrvrBG.js +0 -2
  522. package/dist/client/assets/left-C6SyaqlJ.js +0 -1
  523. package/dist/client/assets/left-CTuXysZR.js +0 -2
  524. package/dist/client/assets/left-Cc6s4DT2.js +0 -1
  525. package/dist/client/assets/left-DF5caiyh.js +0 -1
  526. package/dist/client/assets/left-DgT4tWCx.js +0 -1
  527. package/dist/client/assets/left-R0wppTTr.js +0 -1
  528. package/dist/client/assets/left-advisor-C-kt8V28.js +0 -1
  529. package/dist/client/assets/left-agents-thnBO156.js +0 -1
  530. package/dist/client/assets/left-default-CT42fnpF.js +0 -1
  531. package/dist/client/assets/left-lanes-CSmZgciK.js +0 -1
  532. package/dist/client/assets/left-mission-C86x6i9h.js +0 -1
  533. package/dist/client/assets/library-DdhYL_9v.js +0 -1
  534. package/dist/client/assets/message-markup-6Tgo4qFJ.js +0 -15
  535. package/dist/client/assets/mission-control-model-C30vU1Fe.js +0 -1
  536. package/dist/client/assets/profile-BegEUmB7.js +0 -1
  537. package/dist/client/assets/projects-inbox-CKPLZN8s.css +0 -1
  538. package/dist/client/assets/resolve-panes-pfZTezKo.js +0 -1
  539. package/dist/client/assets/resolve-sidebar-context-D5ksvrb_.js +0 -1
  540. package/dist/client/assets/right-BDaCJ0CF.js +0 -1
  541. package/dist/client/assets/right-BP6lXRFS.js +0 -1
  542. package/dist/client/assets/right-Cb1VCrdj.js +0 -1
  543. package/dist/client/assets/right-CeFaxfBo.js +0 -1
  544. package/dist/client/assets/right-Ck2SrYCj.js +0 -1
  545. package/dist/client/assets/right-D-uv5YfF.js +0 -1
  546. package/dist/client/assets/right-DJMSICky.js +0 -1
  547. package/dist/client/assets/right-Dnljs8ah.js +0 -1
  548. package/dist/client/assets/right-SdCSF8PP.js +0 -1
  549. package/dist/client/assets/router-C-MF5-mb.js +0 -1
  550. package/dist/client/assets/runtime-picker-C_AVYF63.js +0 -1
  551. package/dist/client/assets/scout-voice-CqAyfblr.js +0 -1
  552. package/dist/client/assets/secondaryNavConfig-DzNHk6IH.js +0 -1
  553. package/dist/client/assets/system-surfaces-redesign-DKFg4GB5.css +0 -1
  554. package/dist/client/assets/useContentSecondaryNav-DrL_nkCZ.js +0 -1
  555. package/dist/client/assets/usePersistentState-Y8XwSTg-.js +0 -1
  556. package/dist/drizzle/meta/0000_snapshot.json +0 -4575
  557. package/dist/drizzle/meta/0001_snapshot.json +0 -4624
  558. package/dist/drizzle/meta/0002_snapshot.json +0 -4631
  559. package/dist/drizzle/meta/0003_snapshot.json +0 -4952
  560. package/dist/drizzle/meta/0004_snapshot.json +0 -5235
  561. package/dist/drizzle/meta/0005_snapshot.json +0 -5599
  562. package/dist/drizzle/meta/0006_snapshot.json +0 -5606
  563. package/dist/drizzle/meta/0007_snapshot.json +0 -5767
  564. package/dist/drizzle/meta/0008_snapshot.json +0 -5774
  565. package/dist/drizzle/meta/0009_snapshot.json +0 -6262
  566. package/dist/drizzle/meta/0010_snapshot.json +0 -6286
  567. package/dist/drizzle/meta/0011_snapshot.json +0 -6337
  568. package/dist/drizzle/meta/0012_snapshot.json +0 -6458
  569. package/dist/drizzle/meta/0013_snapshot.json +0 -6465
  570. package/dist/drizzle/meta/0014_snapshot.json +0 -6503
  571. package/dist/drizzle/meta/0015_snapshot.json +0 -6596
  572. package/dist/drizzle/meta/0016_snapshot.json +0 -6611
  573. package/dist/drizzle/meta/0017_snapshot.json +0 -6785
  574. package/dist/drizzle/meta/0018_snapshot.json +0 -6804
  575. package/dist/drizzle/meta/0019_snapshot.json +0 -6804
@@ -1 +1 @@
1
- import{r as f,j as e}from"./index-DReVb7jZ.js";import{a as w}from"./colors-CFlbwC25.js";import{c as N,n as $}from"./agent-state-DDhnFEEP.js";import{u as C}from"./keyboard-nav-CJXPaHXj.js";import{t as j}from"./time-Dhsh_2EG.js";import{M,f as S}from"./runtime-picker-C_AVYF63.js";import{s as v}from"./page-status-DwFR4wSw.js";import"./api-DSqpVKC7.js";import"./index-CbqBwfIW.js";import{K as k}from"./mission-control-model-C30vU1Fe.js";import"./scout-voice-CqAyfblr.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DNUsuPWz.js";import"./createLucideIcon-ChvMq-zl.js";import"./router-C-MF5-mb.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";function g({agent:s,observe:a,onClose:l,onSend:o,onOpenConversation:r,onTail:d,onProfile:p}){const h=w(s.name),{ref:m,onKeyDown:u}=C(),[i,n]=f.useState("profile"),c=t=>{if(u(t),t.defaultPrevented)return;const y=t.target;y instanceof HTMLInputElement||y instanceof HTMLTextAreaElement||(y?.isContentEditable??!1)||(t.key==="1"?(t.preventDefault(),n("profile")):t.key==="2"?(t.preventDefault(),n("activity")):t.key==="3"&&(t.preventDefault(),n("message")))};return e.jsx("div",{className:"s-mission-overlay",onClick:l,children:e.jsxs("div",{ref:m,role:"dialog","aria-modal":"true","aria-labelledby":"mission-overlay-title",onClick:t=>t.stopPropagation(),onKeyDown:c,tabIndex:-1,className:"s-mission-overlay-dialog",children:[e.jsxs("div",{className:"s-mission-overlay-header",children:[e.jsx("div",{className:"s-ops-avatar",style:{"--size":"28px",background:h},children:s.name[0]?.toUpperCase()}),e.jsxs("div",{className:"s-mission-overlay-identity",children:[e.jsxs("div",{className:"s-mission-overlay-name",id:"mission-overlay-title",children:[s.name," ",e.jsx("span",{className:"s-mission-overlay-handle",children:s.handle?`@${s.handle}`:""})]}),e.jsxs("div",{className:"s-mission-overlay-meta",children:[s.project??"—"," · ",s.branch??"main"," · ",N(s.state)]})]}),e.jsx("button",{className:"s-mission-overlay-close",onClick:l,"aria-label":"Close (Esc)",title:"Close (Esc)",children:"✕"})]}),e.jsxs("div",{className:"s-mission-overlay-tabs",role:"tablist",children:[e.jsxs("div",{className:"s-mission-overlay-tabs-group",children:[e.jsx("button",{type:"button",role:"tab","aria-selected":i==="profile",className:`s-mission-overlay-tab${i==="profile"?" s-mission-overlay-tab--active":""}`,onClick:()=>n("profile"),children:"Profile"}),e.jsx("button",{type:"button",role:"tab","aria-selected":i==="activity",className:`s-mission-overlay-tab${i==="activity"?" s-mission-overlay-tab--active":""}`,onClick:()=>n("activity"),children:"Activity"}),e.jsx("button",{type:"button",role:"tab","aria-selected":i==="message",className:`s-mission-overlay-tab${i==="message"?" s-mission-overlay-tab--active":""}`,onClick:()=>n("message"),children:"Message"})]}),e.jsxs("div",{className:"s-mission-overlay-tabs-action",children:[i==="profile"&&e.jsx("button",{type:"button",className:"s-mission-overlay-jump",onClick:p,...v({label:`Open profile · ${s.handle??s.name}`,route:`/agents/${s.id}`}),children:"Open profile ↗"}),i==="activity"&&e.jsx("button",{type:"button",className:"s-mission-overlay-jump",onClick:d,...v({label:`Tail · ${s.handle??s.name}`,route:`/ops/tail?q=${encodeURIComponent(s.handle??s.name)}`}),children:"Open in Tail ↗"}),i==="message"&&e.jsx("button",{type:"button",className:"s-mission-overlay-jump",onClick:r,...v({label:`Open conversation with ${s.handle??s.name}`,...s.conversationId?{route:`/c/${s.conversationId}`}:{}}),children:"Open conversation ↗"})]})]}),e.jsxs("div",{className:"s-mission-overlay-body",children:[i==="profile"&&e.jsx(E,{agent:s}),i==="activity"&&e.jsx(D,{agent:s,observe:a,onOpenConversation:r,onMessage:()=>n("message")}),i==="message"&&e.jsx(O,{agent:s,onSend:o,onOpenConversation:r})]})]})})}function E({agent:s}){const a=[["MODEL",[s.harness,s.model].filter(Boolean).join("/")||"—"],["AT",[s.project,s.branch].filter(Boolean).join("/")||"—"],["CWD",s.cwd||s.projectRoot||"—"],["AGENT",s.agentClass||"—"],["ROLE",s.role||s.transport||"—"],["MACHINE",s.authorityNodeName??s.homeNodeName??s.authorityNodeId??s.homeNodeId??"—"],["OWNER",s.ownerHandle??s.ownerName??s.ownerId??"—"],["SPAWNED",s.createdAt?j(s.createdAt):"—"],["STATE",N(s.state)]];return e.jsx("div",{className:"s-focus-tab",children:e.jsx("dl",{className:"s-focus-spec",children:a.map(([l,o])=>e.jsxs("div",{className:"s-focus-spec-row",children:[e.jsx("dt",{className:"s-focus-spec-label",children:l}),e.jsx("dd",{className:"s-focus-spec-value",title:o,children:o})]},l))})})}const T={tool:"▸",think:"·",ask:"?",message:"✉",note:"•",system:"◇",boot:"↑"};function A(s,a){if(a){const o=Date.now()-(a+s*1e3);return o<6e4?`${Math.max(0,Math.round(o/1e3))}s`:o<36e5?`${Math.round(o/6e4)}m`:o<864e5?`${Math.round(o/36e5)}h`:`${Math.round(o/864e5)}d`}const l=Math.max(0,Math.round(s));return l<60?`${l}s`:l<3600?`${Math.round(l/60)}m`:`${Math.round(l/3600)}h`}function I(s){if(s.kind==="tool"){const a=s.tool??"tool";return s.arg?`${a} · ${s.arg}`:a}return s.kind==="ask"?s.text||"request received":s.text||s.detail||k[s.kind]||s.kind}function D({agent:s,observe:a,onOpenConversation:l,onMessage:o}){const r=a?.events??[],d=a?.metadata?.usage,p=typeof a?.metadata?.session?.sessionStart=="number"?(a?.metadata?.session).sessionStart:null,h=r.slice(-14).reverse(),m=d?.assistantMessages??r.filter(t=>t.kind==="message").length,u=r.filter(t=>t.kind==="tool").length,i=r.filter(t=>t.kind==="tool"&&(t.tool==="edit"||t.tool==="write")).length,n=a?.contextUsage&&a.contextUsage.length>0?Math.round(a.contextUsage[a.contextUsage.length-1]*100):null,c=n!==null?`${n}%`:d?.contextWindowTokens&&d?.contextInputTokens?`${Math.round(d.contextInputTokens/d.contextWindowTokens*100)}%`:"—";return e.jsxs("div",{className:"s-focus-tab s-focus-tab--activity-preview",children:[e.jsxs("dl",{className:"s-focus-stats",children:[e.jsx(b,{label:"Turns",value:m||"—"}),e.jsx(b,{label:"Tools",value:u||"—"}),e.jsx(b,{label:"Edits",value:i||"—"}),e.jsx(b,{label:"Context",value:c})]}),h.length===0?e.jsx(L,{agent:s,onOpenConversation:l,onMessage:o}):e.jsx("ul",{className:"s-focus-activity-list",children:h.map(t=>e.jsxs("li",{className:`s-focus-activity-row s-focus-activity-row--${t.kind}`,children:[e.jsx("span",{className:"s-focus-activity-time",children:A(t.t,p)}),e.jsx("span",{className:"s-focus-activity-glyph","aria-hidden":!0,children:T[t.kind]??"·"}),e.jsx("span",{className:"s-focus-activity-kind",children:k[t.kind]??t.kind}),e.jsx("span",{className:"s-focus-activity-text",children:I(t)})]},t.id))})]})}function L({agent:s,onOpenConversation:a,onMessage:l}){const o=S(s.role),r=[s.harness,s.model].filter(Boolean).join("/"),d=[s.project,s.branch].filter(Boolean).join("/"),p=$(s.state),h=N(p),m=s.createdAt?j(s.createdAt):null,u=s.updatedAt?j(s.updatedAt):null,i=s.homeNodeName??s.homeNodeId,n=s.ownerHandle??s.ownerName??s.ownerId,c=[];return o&&c.push({label:"Role",value:o}),r&&c.push({label:"Stack",value:r}),d&&c.push({label:"At",value:d}),i&&c.push({label:"Home",value:i}),n&&c.push({label:"Owner",value:n}),m&&c.push({label:"Spawned",value:m}),c.push({label:"State",value:h}),u&&c.push({label:"Last seen",value:u}),e.jsxs("div",{className:"s-focus-activity-empty s-focus-activity-empty--rich",children:[e.jsxs("div",{className:"s-focus-activity-empty-head",children:[e.jsx("span",{className:"s-focus-activity-empty-eyebrow",children:"No tool or turn events recorded"}),e.jsx("span",{className:"s-focus-activity-empty-title",children:s.handle??s.name})]}),e.jsx("dl",{className:"s-focus-activity-empty-facts",children:c.map(t=>e.jsxs("div",{className:"s-focus-activity-empty-fact",children:[e.jsx("dt",{children:t.label}),e.jsx("dd",{title:t.value,children:t.value})]},t.label))}),e.jsxs("div",{className:"s-focus-activity-empty-actions",children:[e.jsx("button",{type:"button",className:"s-focus-activity-empty-btn",onClick:a,...v({label:`Open conversation with ${s.handle??s.name}`,...s.conversationId?{route:`/c/${s.conversationId}`}:{}}),children:"Open conversation ↗"}),e.jsx("button",{type:"button",className:"s-focus-activity-empty-btn s-focus-activity-empty-btn--primary",onClick:l,...v({label:`Compose message · ${s.handle??s.name}`}),children:"Send a message"})]})]})}function b({label:s,value:a}){return e.jsxs("div",{className:"s-focus-stat",children:[e.jsx("dt",{className:"s-focus-stat-label",children:s}),e.jsx("dd",{className:"s-focus-stat-value",children:a})]})}function O({agent:s,onSend:a,onOpenConversation:l}){const[o,r]=f.useState(""),[d,p]=f.useState(!1),[h,m]=f.useState(!1),[u,i]=f.useState(null),n=f.useRef(null);f.useEffect(()=>{n.current?.focus()},[]);const c=async()=>{const y=o.trim();if(!(!y||d)){p(!0),i(null);try{await a(y),r(""),m(!0),setTimeout(()=>m(!1),1800)}catch(x){i(x instanceof Error?x.message:String(x))}finally{p(!1)}}},t=s.handle??s.name;return e.jsx("div",{className:"s-focus-tab",children:e.jsx("div",{className:"s-focus-compose",children:e.jsx(M,{density:"panel",value:o,onChange:r,onSend:()=>{c()},sending:d,placeholder:`Message @${t}…`,textareaRef:n,rows:4,"aria-label":`Message @${t}`,header:e.jsxs("div",{className:"s-focus-compose-label",children:["Message ",e.jsxs("span",{className:"s-focus-compose-target",children:["@",t]})]}),tools:e.jsx("div",{className:"s-focus-compose-hint",children:u?e.jsxs("span",{className:"s-focus-compose-error",children:["Send failed: ",u]}):h?e.jsxs("span",{className:"s-focus-compose-ok",children:["Sent ↗"," ",e.jsx("button",{type:"button",className:"s-focus-compose-link",onClick:l,children:"Open Chat"})]}):e.jsx("span",{children:"Send starts a Run, or steers the active Run when this agent is already working."})})})})})}export{g as FocusOverlay};
1
+ import{r as f,j as e}from"./index-EsrkGBcv.js";import{a as w}from"./colors-CFlbwC25.js";import{c as N,n as $}from"./agent-state-DDhnFEEP.js";import{u as C}from"./keyboard-nav-DDHegDbx.js";import{t as j}from"./time-Dhsh_2EG.js";import{M,f as S}from"./runtime-picker-DXu2bOTh.js";import{s as v}from"./page-status-BswZLqvA.js";import"./api-DSqpVKC7.js";import"./index-724SdE6r.js";import{K as k}from"./mission-control-model-BpJHDV5D.js";import"./scout-voice-CZx60X6E.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-OvccU82H.js";import"./createLucideIcon-zZ8Hx7er.js";import"./router-DCtl8wqb.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";function g({agent:s,observe:a,onClose:l,onSend:o,onOpenConversation:r,onTail:d,onProfile:p}){const h=w(s.name),{ref:m,onKeyDown:u}=C(),[i,n]=f.useState("profile"),c=t=>{if(u(t),t.defaultPrevented)return;const y=t.target;y instanceof HTMLInputElement||y instanceof HTMLTextAreaElement||(y?.isContentEditable??!1)||(t.key==="1"?(t.preventDefault(),n("profile")):t.key==="2"?(t.preventDefault(),n("activity")):t.key==="3"&&(t.preventDefault(),n("message")))};return e.jsx("div",{className:"s-mission-overlay",onClick:l,children:e.jsxs("div",{ref:m,role:"dialog","aria-modal":"true","aria-labelledby":"mission-overlay-title",onClick:t=>t.stopPropagation(),onKeyDown:c,tabIndex:-1,className:"s-mission-overlay-dialog",children:[e.jsxs("div",{className:"s-mission-overlay-header",children:[e.jsx("div",{className:"s-ops-avatar",style:{"--size":"28px",background:h},children:s.name[0]?.toUpperCase()}),e.jsxs("div",{className:"s-mission-overlay-identity",children:[e.jsxs("div",{className:"s-mission-overlay-name",id:"mission-overlay-title",children:[s.name," ",e.jsx("span",{className:"s-mission-overlay-handle",children:s.handle?`@${s.handle}`:""})]}),e.jsxs("div",{className:"s-mission-overlay-meta",children:[s.project??"—"," · ",s.branch??"main"," · ",N(s.state)]})]}),e.jsx("button",{className:"s-mission-overlay-close",onClick:l,"aria-label":"Close (Esc)",title:"Close (Esc)",children:"✕"})]}),e.jsxs("div",{className:"s-mission-overlay-tabs",role:"tablist",children:[e.jsxs("div",{className:"s-mission-overlay-tabs-group",children:[e.jsx("button",{type:"button",role:"tab","aria-selected":i==="profile",className:`s-mission-overlay-tab${i==="profile"?" s-mission-overlay-tab--active":""}`,onClick:()=>n("profile"),children:"Profile"}),e.jsx("button",{type:"button",role:"tab","aria-selected":i==="activity",className:`s-mission-overlay-tab${i==="activity"?" s-mission-overlay-tab--active":""}`,onClick:()=>n("activity"),children:"Activity"}),e.jsx("button",{type:"button",role:"tab","aria-selected":i==="message",className:`s-mission-overlay-tab${i==="message"?" s-mission-overlay-tab--active":""}`,onClick:()=>n("message"),children:"Message"})]}),e.jsxs("div",{className:"s-mission-overlay-tabs-action",children:[i==="profile"&&e.jsx("button",{type:"button",className:"s-mission-overlay-jump",onClick:p,...v({label:`Open profile · ${s.handle??s.name}`,route:`/agents/${s.id}`}),children:"Open profile ↗"}),i==="activity"&&e.jsx("button",{type:"button",className:"s-mission-overlay-jump",onClick:d,...v({label:`Tail · ${s.handle??s.name}`,route:`/ops/tail?q=${encodeURIComponent(s.handle??s.name)}`}),children:"Open in Tail ↗"}),i==="message"&&e.jsx("button",{type:"button",className:"s-mission-overlay-jump",onClick:r,...v({label:`Open conversation with ${s.handle??s.name}`,...s.conversationId?{route:`/c/${s.conversationId}`}:{}}),children:"Open conversation ↗"})]})]}),e.jsxs("div",{className:"s-mission-overlay-body",children:[i==="profile"&&e.jsx(E,{agent:s}),i==="activity"&&e.jsx(D,{agent:s,observe:a,onOpenConversation:r,onMessage:()=>n("message")}),i==="message"&&e.jsx(O,{agent:s,onSend:o,onOpenConversation:r})]})]})})}function E({agent:s}){const a=[["MODEL",[s.harness,s.model].filter(Boolean).join("/")||"—"],["AT",[s.project,s.branch].filter(Boolean).join("/")||"—"],["CWD",s.cwd||s.projectRoot||"—"],["AGENT",s.agentClass||"—"],["ROLE",s.role||s.transport||"—"],["MACHINE",s.authorityNodeName??s.homeNodeName??s.authorityNodeId??s.homeNodeId??"—"],["OWNER",s.ownerHandle??s.ownerName??s.ownerId??"—"],["SPAWNED",s.createdAt?j(s.createdAt):"—"],["STATE",N(s.state)]];return e.jsx("div",{className:"s-focus-tab",children:e.jsx("dl",{className:"s-focus-spec",children:a.map(([l,o])=>e.jsxs("div",{className:"s-focus-spec-row",children:[e.jsx("dt",{className:"s-focus-spec-label",children:l}),e.jsx("dd",{className:"s-focus-spec-value",title:o,children:o})]},l))})})}const T={tool:"▸",think:"·",ask:"?",message:"✉",note:"•",system:"◇",boot:"↑"};function A(s,a){if(a){const o=Date.now()-(a+s*1e3);return o<6e4?`${Math.max(0,Math.round(o/1e3))}s`:o<36e5?`${Math.round(o/6e4)}m`:o<864e5?`${Math.round(o/36e5)}h`:`${Math.round(o/864e5)}d`}const l=Math.max(0,Math.round(s));return l<60?`${l}s`:l<3600?`${Math.round(l/60)}m`:`${Math.round(l/3600)}h`}function I(s){if(s.kind==="tool"){const a=s.tool??"tool";return s.arg?`${a} · ${s.arg}`:a}return s.kind==="ask"?s.text||"request received":s.text||s.detail||k[s.kind]||s.kind}function D({agent:s,observe:a,onOpenConversation:l,onMessage:o}){const r=a?.events??[],d=a?.metadata?.usage,p=typeof a?.metadata?.session?.sessionStart=="number"?(a?.metadata?.session).sessionStart:null,h=r.slice(-14).reverse(),m=d?.assistantMessages??r.filter(t=>t.kind==="message").length,u=r.filter(t=>t.kind==="tool").length,i=r.filter(t=>t.kind==="tool"&&(t.tool==="edit"||t.tool==="write")).length,n=a?.contextUsage&&a.contextUsage.length>0?Math.round(a.contextUsage[a.contextUsage.length-1]*100):null,c=n!==null?`${n}%`:d?.contextWindowTokens&&d?.contextInputTokens?`${Math.round(d.contextInputTokens/d.contextWindowTokens*100)}%`:"—";return e.jsxs("div",{className:"s-focus-tab s-focus-tab--activity-preview",children:[e.jsxs("dl",{className:"s-focus-stats",children:[e.jsx(b,{label:"Turns",value:m||"—"}),e.jsx(b,{label:"Tools",value:u||"—"}),e.jsx(b,{label:"Edits",value:i||"—"}),e.jsx(b,{label:"Context",value:c})]}),h.length===0?e.jsx(L,{agent:s,onOpenConversation:l,onMessage:o}):e.jsx("ul",{className:"s-focus-activity-list",children:h.map(t=>e.jsxs("li",{className:`s-focus-activity-row s-focus-activity-row--${t.kind}`,children:[e.jsx("span",{className:"s-focus-activity-time",children:A(t.t,p)}),e.jsx("span",{className:"s-focus-activity-glyph","aria-hidden":!0,children:T[t.kind]??"·"}),e.jsx("span",{className:"s-focus-activity-kind",children:k[t.kind]??t.kind}),e.jsx("span",{className:"s-focus-activity-text",children:I(t)})]},t.id))})]})}function L({agent:s,onOpenConversation:a,onMessage:l}){const o=S(s.role),r=[s.harness,s.model].filter(Boolean).join("/"),d=[s.project,s.branch].filter(Boolean).join("/"),p=$(s.state),h=N(p),m=s.createdAt?j(s.createdAt):null,u=s.updatedAt?j(s.updatedAt):null,i=s.homeNodeName??s.homeNodeId,n=s.ownerHandle??s.ownerName??s.ownerId,c=[];return o&&c.push({label:"Role",value:o}),r&&c.push({label:"Stack",value:r}),d&&c.push({label:"At",value:d}),i&&c.push({label:"Home",value:i}),n&&c.push({label:"Owner",value:n}),m&&c.push({label:"Spawned",value:m}),c.push({label:"State",value:h}),u&&c.push({label:"Last seen",value:u}),e.jsxs("div",{className:"s-focus-activity-empty s-focus-activity-empty--rich",children:[e.jsxs("div",{className:"s-focus-activity-empty-head",children:[e.jsx("span",{className:"s-focus-activity-empty-eyebrow",children:"No tool or turn events recorded"}),e.jsx("span",{className:"s-focus-activity-empty-title",children:s.handle??s.name})]}),e.jsx("dl",{className:"s-focus-activity-empty-facts",children:c.map(t=>e.jsxs("div",{className:"s-focus-activity-empty-fact",children:[e.jsx("dt",{children:t.label}),e.jsx("dd",{title:t.value,children:t.value})]},t.label))}),e.jsxs("div",{className:"s-focus-activity-empty-actions",children:[e.jsx("button",{type:"button",className:"s-focus-activity-empty-btn",onClick:a,...v({label:`Open conversation with ${s.handle??s.name}`,...s.conversationId?{route:`/c/${s.conversationId}`}:{}}),children:"Open conversation ↗"}),e.jsx("button",{type:"button",className:"s-focus-activity-empty-btn s-focus-activity-empty-btn--primary",onClick:l,...v({label:`Compose message · ${s.handle??s.name}`}),children:"Send a message"})]})]})}function b({label:s,value:a}){return e.jsxs("div",{className:"s-focus-stat",children:[e.jsx("dt",{className:"s-focus-stat-label",children:s}),e.jsx("dd",{className:"s-focus-stat-value",children:a})]})}function O({agent:s,onSend:a,onOpenConversation:l}){const[o,r]=f.useState(""),[d,p]=f.useState(!1),[h,m]=f.useState(!1),[u,i]=f.useState(null),n=f.useRef(null);f.useEffect(()=>{n.current?.focus()},[]);const c=async()=>{const y=o.trim();if(!(!y||d)){p(!0),i(null);try{await a(y),r(""),m(!0),setTimeout(()=>m(!1),1800)}catch(x){i(x instanceof Error?x.message:String(x))}finally{p(!1)}}},t=s.handle??s.name;return e.jsx("div",{className:"s-focus-tab",children:e.jsx("div",{className:"s-focus-compose",children:e.jsx(M,{density:"panel",value:o,onChange:r,onSend:()=>{c()},sending:d,placeholder:`Message @${t}…`,textareaRef:n,rows:4,"aria-label":`Message @${t}`,header:e.jsxs("div",{className:"s-focus-compose-label",children:["Message ",e.jsxs("span",{className:"s-focus-compose-target",children:["@",t]})]}),tools:e.jsx("div",{className:"s-focus-compose-hint",children:u?e.jsxs("span",{className:"s-focus-compose-error",children:["Send failed: ",u]}):h?e.jsxs("span",{className:"s-focus-compose-ok",children:["Sent ↗"," ",e.jsx("button",{type:"button",className:"s-focus-compose-link",onClick:l,children:"Open Chat"})]}):e.jsx("span",{children:"Send starts a Run, or steers the active Run when this agent is already working."})})})})})}export{g as FocusOverlay};
@@ -0,0 +1 @@
1
+ import{j as o}from"./index-EsrkGBcv.js";import{c as j}from"./agent-state-DDhnFEEP.js";import{s as x}from"./page-status-BswZLqvA.js";import{t as l}from"./time-Dhsh_2EG.js";import{R as b}from"./RailRow-BjmWK420.js";import"./colors-CFlbwC25.js";import"./AgentAvatar-CrP1eXxk.js";import"./Provider-C35yu29I.js";import"./theme-vars-DNK0nn3k.js";import"./provider-Dojd8quC.js";import"./router-DCtl8wqb.js";import"./api-DSqpVKC7.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./machine-scope-DJt9RZ2w.js";import"./sse-BCPRocpq.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-C97-iTMK.js";import"./runtime-picker-DXu2bOTh.js";import"./scout-voice-CZx60X6E.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-OvccU82H.js";import"./createLucideIcon-zZ8Hx7er.js";import"./media-blobs-Bi8pxr1u.js";import"./index-724SdE6r.js";import"./HarnessMark-C4naWc16.js";import"./conversation-model-FxDeWlle.js";import"./conversations-DoAAO6kA.js";import"./NewChatOrigin-DFbF_XvR.js";import"./keyboard-nav-DDHegDbx.js";import"./x-DAehov0E.js";import"./chevron-down-l1mrh5S9.js";import"./search-DT42oyRW.js";import"./file-text-CnISiiw6.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-DJr0v0D_.js";import"./TextDocumentSurface-D52m7Vd8.js";import"./index-CHD0qcfL.js";import"./chevron-right-DrfqcerI.js";import"./folder-D5prSkzz.js";import"./chevron-up-CETZJzjV.js";import"./code-xml-BhcNbLWU.js";import"./arrow-left-MVUKauwQ.js";import"./arrow-right-Bp-FpE5V.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DbVLgbWX.js";import"./SpriteAvatar-CpZWf54-.js";import"./CrewAvatar-kTznzqcO.js";function jt({agent:t,state:r,isExpanded:e,isSelected:p,tabIndex:s,onToggle:a,onReveal:n,onOpen:c}){const m=x({label:`Focus ${t.handle??t.name}`,route:`/ops/control · ${t.id}`}),d=o.jsxs(o.Fragment,{children:[o.jsxs("dl",{className:"rr-spec-list",children:[o.jsx(i,{label:"MODEL",value:[t.harness,t.model].filter(Boolean).join("/")||"—"}),o.jsx(i,{label:"AT",value:[t.project,t.branch].filter(Boolean).join("/")||"—"}),o.jsx(i,{label:"STATE",value:j(r)}),o.jsx(i,{label:"ACTIVITY",value:t.activity}),o.jsx(i,{label:"SOURCE",value:t.source})]}),o.jsxs("div",{className:"ml-detail-actions",children:[o.jsx("button",{type:"button",className:"ml-detail-btn",onClick:n,children:"Reveal on wall"}),o.jsx("button",{type:"button",className:"ml-detail-btn ml-detail-btn--primary",onClick:c,children:"Open ↗"})]})]});return o.jsx(b,{name:t.handle??t.name,meta:t.lastActiveAt?l(t.lastActiveAt):t.updatedAt?l(t.updatedAt):void 0,tone:r,caret:e?"open":"closed",selected:p,expanded:e,detail:d,tabIndex:s,onClick:u=>a(u),onPointerEnter:m.onPointerEnter,onPointerLeave:m.onPointerLeave})}function i({label:t,value:r}){return o.jsxs("div",{className:"rr-spec",children:[o.jsx("dt",{className:"rr-spec-label",children:t}),o.jsx("dd",{className:"rr-spec-value",title:r,children:r})]})}export{jt as MissionLeftAgentRow};
@@ -1 +1 @@
1
- import{r as a,j as l}from"./index-DReVb7jZ.js";import{H as k}from"./HarnessMark-DSvM_H7H.js";import{n as y}from"./agent-state-DDhnFEEP.js";import{s as P}from"./page-status-DwFR4wSw.js";import{c as T,b as I,T as C,d as H}from"./tail-display-DHSNmvor.js";import{d as A}from"./time-Dhsh_2EG.js";import{s as E}from"./mission-control-model-C30vU1Fe.js";import{m as R,a as K}from"./mission-wall-DOuGOxQy.js";import"./lane-edit-display-BjdT9oZl.js";import"./colors-CFlbwC25.js";const _=24;function U({log:s,selected:f,revealed:h,cursor:i=!1,onOpen:c,onToggleSelected:w,onOpenLog:v,paneRef:j}){const o=a.useRef(null),m=a.useRef(!0),r=a.useMemo(()=>T(s.lines.map(e=>({event:e,meta:void 0}))).map(e=>({...e,outcome:e.event.kind==="tool-result"?I(e.event).result?.outcome??null:null})),[s.lines]),x=a.useCallback(()=>{const e=o.current;if(!e)return;const n=e.scrollHeight-e.scrollTop-e.clientHeight;m.current=n<=_},[]);a.useEffect(()=>{const e=o.current;!e||!m.current||(e.scrollTop=e.scrollHeight)},[r.length,s.lastActiveAt]);const N=y(s.agent?.state??null),t=R(s),b=K(s),p=[s.project,s.agent?.branch].filter(Boolean).join("/")||s.cwd||"—",d=a.useMemo(()=>P({label:`Tail · ${t}`,route:`/ops/tail?q=${encodeURIComponent(s.sessionId)}`}),[s.sessionId,t]),L=e=>{if(e.metaKey||e.ctrlKey||e.shiftKey){w();return}c()};return l.jsxs("div",{ref:j,className:["s-wall-pane",s.live?"s-wall-pane--live":null,f?"s-wall-pane--selected":null,h?"s-wall-pane--revealed":null,i?"s-wall-pane--cursor":null].filter(Boolean).join(" "),"data-cursor":i?!0:void 0,tabIndex:i?0:-1,onClick:L,children:[l.jsxs("div",{className:"s-wall-pane-head",children:[l.jsx("span",{className:"s-wall-pane-dot",style:{background:s.agent?E(N):"var(--dim)"},"aria-hidden":!0}),l.jsx(k,{harness:s.source,size:11,title:null}),l.jsx("button",{type:"button",className:"s-wall-pane-title",title:s.agent?.name??s.sessionId,"aria-label":`Focus ${t}`,onClick:e=>{e.stopPropagation(),c()},children:t}),l.jsx("span",{className:"s-wall-pane-where",title:s.cwd??p,children:p}),l.jsx("span",{className:"s-wall-pane-spacer"}),s.live&&l.jsx("span",{className:"s-wall-pane-live",children:"live"}),l.jsx("button",{type:"button",className:"s-wall-pane-file",title:s.logPath??`session ${s.sessionId}`,"aria-label":"Open raw tail",onClick:e=>{e.stopPropagation(),v()},onPointerEnter:d.onPointerEnter,onPointerLeave:d.onPointerLeave,children:b})]}),l.jsx("div",{className:"s-wall-pane-body",ref:o,onScroll:x,children:r.length===0?l.jsx("div",{className:"s-wall-pane-idle",children:"no output since page load"}):r.map(({event:e,repeatCount:n,outcome:u})=>l.jsxs("div",{className:["s-wall-line",`s-wall-line--${e.kind}`,u==="success"?"s-wall-line--result-ok":null,u==="error"?"s-wall-line--result-error":null].filter(Boolean).join(" "),children:[l.jsx("span",{className:"s-wall-line-time",children:A(e.ts,{milliseconds:!1})||"—"}),l.jsx("span",{className:"s-wall-line-glyph",title:H[e.kind],children:C[e.kind]}),l.jsxs("span",{className:"s-wall-line-text",children:[e.summary,n>1&&l.jsxs("span",{className:"s-wall-line-repeat",title:`${n} identical events`,children:[" ","×",n]})]})]},e.id))})]})}export{U as MissionLogPane};
1
+ import{r as a,j as l}from"./index-EsrkGBcv.js";import{H as k}from"./HarnessMark-C4naWc16.js";import{n as y}from"./agent-state-DDhnFEEP.js";import{s as P}from"./page-status-BswZLqvA.js";import{c as T,b as I,T as C,d as H}from"./tail-display-DHSNmvor.js";import{d as A}from"./time-Dhsh_2EG.js";import{s as E}from"./mission-control-model-BpJHDV5D.js";import{m as R,a as K}from"./mission-wall-CAo4BKfa.js";import"./lane-edit-display-BjdT9oZl.js";import"./colors-CFlbwC25.js";const _=24;function U({log:s,selected:f,revealed:h,cursor:i=!1,onOpen:c,onToggleSelected:w,onOpenLog:v,paneRef:j}){const o=a.useRef(null),m=a.useRef(!0),r=a.useMemo(()=>T(s.lines.map(e=>({event:e,meta:void 0}))).map(e=>({...e,outcome:e.event.kind==="tool-result"?I(e.event).result?.outcome??null:null})),[s.lines]),x=a.useCallback(()=>{const e=o.current;if(!e)return;const n=e.scrollHeight-e.scrollTop-e.clientHeight;m.current=n<=_},[]);a.useEffect(()=>{const e=o.current;!e||!m.current||(e.scrollTop=e.scrollHeight)},[r.length,s.lastActiveAt]);const N=y(s.agent?.state??null),t=R(s),b=K(s),p=[s.project,s.agent?.branch].filter(Boolean).join("/")||s.cwd||"—",d=a.useMemo(()=>P({label:`Tail · ${t}`,route:`/ops/tail?q=${encodeURIComponent(s.sessionId)}`}),[s.sessionId,t]),L=e=>{if(e.metaKey||e.ctrlKey||e.shiftKey){w();return}c()};return l.jsxs("div",{ref:j,className:["s-wall-pane",s.live?"s-wall-pane--live":null,f?"s-wall-pane--selected":null,h?"s-wall-pane--revealed":null,i?"s-wall-pane--cursor":null].filter(Boolean).join(" "),"data-cursor":i?!0:void 0,tabIndex:i?0:-1,onClick:L,children:[l.jsxs("div",{className:"s-wall-pane-head",children:[l.jsx("span",{className:"s-wall-pane-dot",style:{background:s.agent?E(N):"var(--dim)"},"aria-hidden":!0}),l.jsx(k,{harness:s.source,size:11,title:null}),l.jsx("button",{type:"button",className:"s-wall-pane-title",title:s.agent?.name??s.sessionId,"aria-label":`Focus ${t}`,onClick:e=>{e.stopPropagation(),c()},children:t}),l.jsx("span",{className:"s-wall-pane-where",title:s.cwd??p,children:p}),l.jsx("span",{className:"s-wall-pane-spacer"}),s.live&&l.jsx("span",{className:"s-wall-pane-live",children:"live"}),l.jsx("button",{type:"button",className:"s-wall-pane-file",title:s.logPath??`session ${s.sessionId}`,"aria-label":"Open raw tail",onClick:e=>{e.stopPropagation(),v()},onPointerEnter:d.onPointerEnter,onPointerLeave:d.onPointerLeave,children:b})]}),l.jsx("div",{className:"s-wall-pane-body",ref:o,onScroll:x,children:r.length===0?l.jsx("div",{className:"s-wall-pane-idle",children:"no output since page load"}):r.map(({event:e,repeatCount:n,outcome:u})=>l.jsxs("div",{className:["s-wall-line",`s-wall-line--${e.kind}`,u==="success"?"s-wall-line--result-ok":null,u==="error"?"s-wall-line--result-error":null].filter(Boolean).join(" "),children:[l.jsx("span",{className:"s-wall-line-time",children:A(e.ts,{milliseconds:!1})||"—"}),l.jsx("span",{className:"s-wall-line-glyph",title:H[e.kind],children:C[e.kind]}),l.jsxs("span",{className:"s-wall-line-text",children:[e.summary,n>1&&l.jsxs("span",{className:"s-wall-line-repeat",title:`${n} identical events`,children:[" ","×",n]})]})]},e.id))})]})}export{U as MissionLogPane};
@@ -0,0 +1 @@
1
+ import{j as i}from"./index-EsrkGBcv.js";import{n as p}from"./embed-navigation-DayfkQau.js";import{a as m}from"./provider-Dojd8quC.js";import{OpsScreen as e}from"./OpsScreen-jVcaBKGi.js";import{u as s}from"./Provider-C35yu29I.js";import{d as a}from"./types-B0PlfpKc.js";import"./scoutbot-Bk3nyrkj.js";import"./router-DCtl8wqb.js";import"./api-DSqpVKC7.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";/* empty css *//* empty css */import"./page-status-BswZLqvA.js";import"./AgentLanesView-BJi9xXz6.js";/* empty css */import"./tail-events-d0yAYxR0.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./observe-BJqERJVj.js";import"./agent-state-DDhnFEEP.js";import"./useEmbedHeadline-D6pJRxUg.js";import"./AgentAvatar-CrP1eXxk.js";import"./SpriteAvatar-CpZWf54-.js";import"./CrewAvatar-kTznzqcO.js";import"./HarnessMark-C4naWc16.js";import"./runtime-picker-DXu2bOTh.js";import"./scout-voice-CZx60X6E.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-OvccU82H.js";import"./createLucideIcon-zZ8Hx7er.js";import"./colors-CFlbwC25.js";import"./SessionObserve-DXxBvejJ.js";import"./bash-format-BRV5C6Gv.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";import"./lane-tool-detail-Czggx8oM.js";import"./LaneToolHoverCard-CJa110yk.js";import"./index-724SdE6r.js";import"./lane-observe-CteDwdD-.js";import"./time-Dhsh_2EG.js";import"./lane-ask-display-BTVSakyo.js";import"./mentions-ByUvhS-v.js";import"./AgentDetailCard-DtHT3sCo.js";import"./AgentLiveActions-CfTupTEl.js";import"./terminal-takeover-Ay5C2c-M.js";import"./openContent-C6XO6kr5.js";import"./eye-LrO-cXQt.js";import"./terminal-hQKQygcf.js";import"./message-markup-Zwo3t4cI.js";import"./message-markup-BQW5jdJw.js";import"./SessionHopMenu-E6VJZrE0.js";import"./external-link-CUObqmgX.js";import"./NewChatComposer-C97-iTMK.js";import"./media-blobs-Bi8pxr1u.js";import"./conversation-model-FxDeWlle.js";import"./conversations-DoAAO6kA.js";import"./NewChatOrigin-DFbF_XvR.js";import"./keyboard-nav-DDHegDbx.js";import"./x-DAehov0E.js";import"./chevron-down-l1mrh5S9.js";import"./search-DT42oyRW.js";import"./file-text-CnISiiw6.js";import"./ObservedTopologyPanel-CUTIoLZJ.js";import"./ObserveTextFlow-PFnG_10h.js";import"./use-reduced-motion-3gMYZNIp.js";import"./proxy-AJsmwA6h.js";import"./SessionObserveEvidence-Cuj_KHxR.js";import"./SessionContextStrip-CXfs9hUD.js";import"./message-circle-CxRVKNE-.js";import"./wrench-DR0i5BU7.js";import"./chevron-up-CETZJzjV.js";import"./AgentFloorView-DH4jiDgw.js";import"./AgentAdventures-BAgxdOF8.js";import"./ReplayClock-348f17bW.js";import"./SproutActionSprite-BSiTS4en.js";/* empty css */import"./CrewSprite-Dhryjx2c.js";import"./agent-lanes-model-DMAdqCmK.js";import"./context-budget-8qFKqM-j.js";import"./adventure-playback-DTfkhIc0.js";import"./AdventureScenery-LPXSVP67.js";import"./adventure-habitats-v1-M1lcpTJh.js";import"./AdventureReader-X-hbTOi0.js";import"./index-CHD0qcfL.js";import"./TextDocumentSurface-D52m7Vd8.js";import"./chevron-right-DrfqcerI.js";import"./folder-D5prSkzz.js";import"./floor-preview-text-HrORUJ7D.js";/* empty css */import"./book-open-CV98WMSp.js";import"./scroll-text-DNjxhyO2.js";import"./ReplayLog-CBnAM3ui.js";import"./AdventureEvidence-CyegKk1V.js";import"./agent-lane-detail-Ti3trpfH.js";/* empty css */import"./arrow-up-right-BPedAgxO.js";/* empty css */import"./flag-C4wl8z2-.js";import"./pause-C2XTlkjs.js";import"./play-FT6K3It1.js";import"./radio-DRoOZsws.js";import"./arrow-left-MVUKauwQ.js";import"./arrow-right-Bp-FpE5V.js";import"./SharedWorkFloor-D9mf9KSg.js";import"./WorldMinimap-B6HNgcDe.js";import"./WorldSky-Jm2Z6dfW.js";import"./WorldActorTalk-BvSg_b1y.js";import"./send-to-agent-session-DoKCDBJ4.js";import"./FloorExchangePanel-BU1pPu8K.js";import"./floor-character-name-CqJPOlXb.js";import"./floor-message-passes-CO3Ix_wR.js";import"./shared-work-artifacts-DfNl9KTo.js";import"./floor-memory-YMM8AlLY.js";import"./CharacterFamilyPreview-DMfw7UM_.js";import"./RenderedWorkerSprite-Dhlyg89J.js";import"./FloorMessagePasses-cLW2UGNP.js";import"./WorkRunView-BDkR7Edq.js";import"./floor-context-model-rWKqaKmV.js";import"./agent-floor-actor-DW8zLht0.js";import"./SharedFloorCharacter-DNEiaOUh.js";import"./WorldCharacter-CIIlutQq.js";import"./RiggedWorkerCharacter-q6QRc7_o.js";import"./file-code-corner-CsU7jJpu.js";import"./FloorReplay-VFzA6Kxc.js";import"./AgentFloorWorld-CjoIa6jA.js";/* empty css */import"./agent-floor-world-layout-hfMjuoui.js";import"./coffee-D7EAOdCk.js";import"./git-branch-B0_fPLO7.js";/* empty css */import"./FloorTacticalHUD-CO-iiFpb.js";import"./FloorSavedWork-BeHDejWz.js";import"./pin-C2mFOV1l.js";/* empty css */import"./triangle-alert-CHoRGdVO.js";import"./FloorResourcesSheet-C-kQ6Ren.js";/* empty css */import"./theme-vars-DNK0nn3k.js";import"./machine-scope-DJt9RZ2w.js";import"./sse-BCPRocpq.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-DJr0v0D_.js";import"./code-xml-BhcNbLWU.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DbVLgbWX.js";/* empty css */import"./FloorContextSheet-2_NVPQor.js";import"./lane-roster-store-D-RSWjb-.js";import"./session-recap-lanes-D-eVJnpY.js";import"./message-square-BxesYglW.js";import"./AgentLanesPreflight-Ry-aqDTr.js";import"./AgentLaneChrome-TF1SlJSc.js";import"./AgentLaneCard-BaZ2g-f8.js";/* empty css */import"./AgentLaneSummaryResize-dpp7YvrX.js";import"./clipboard-e3fSpeo7.js";import"./agent-lane-card-model-CeqQGp-8.js";import"./agent-lane-preview-Dpa3DuOn.js";import"./AgentLaneDetailSheet-EzEPsn3g.js";import"./SlidePanel-_CHAQdOa.js";import"./LaneTraceDetailSheet-DYrd0BIf.js";import"./LaneTraceEventFocus-TbrNHRj_.js";import"./MissionControlView-B9cNPXvl.js";/* empty css */import"./mission-control-store-elEEsIvb.js";import"./MissionContextRail-D62-Wis8.js";import"./mission-wall-CAo4BKfa.js";import"./mission-control-model-BpJHDV5D.js";import"./MissionFocusOverlay-C1zys3Jv.js";import"./MissionLogPane-B19lYSY9.js";import"./OpsAgentsView-DajlX8LO.js";/* empty css */import"./DataTable-aH-jCyDq.js";/* empty css */import"./useAgentHoverCard-BANmpjMh.js";import"./sliders-horizontal-782VC_yy.js";import"./HostAdvisorView-CnM1i8hW.js";/* empty css */import"./compass-63TUaz5_.js";import"./layout-grid-Cor2frzj.js";import"./refresh-cw-BmVr7sCD.js";import"./cpu-BOTa_WLr.js";import"./gauge-D9_5iJEm.js";import"./AtopView-gkEp4y__.js";/* empty css */import"./TailView-CYSijNTy.js";import"./useContentSecondaryNav-C6OBu-3_.js";import"./OpsSubnav-BOOYShHE.js";import"./SecondaryNav-D7dbV2qo.js";import"./secondaryNavConfig-CS1svh6n.js";import"./nav-destinations-uorRqFxf.js";import"./settings-BVh7kldq.js";import"./FleetRollCallHud-C5q2567n.js";import"./session-recap-queue-41l2XVkI.js";/* empty css */function Tr({navigate:t}){const{route:o}=s(),r=m("ops.control",!0);return i.jsx(e,{navigate:t,mode:(o.view==="ops"?o.mode:void 0)??(r?"mission":"tail"),tailQuery:o.view==="ops"?o.tailQuery:void 0,showSecondaryNav:!0})}const Ur=a({id:"ops",label:"Ops",route:{view:"ops"},webPath:"/ops",screen:"NativeAreaScreen",embed:{path:"/embed/ops",profile:"macos.ops",ownsInternalRoutes:!0,isInternalRoute:p,hosts:{macos:!0}}});export{Tr as NativeAreaScreen,Ur as scoutSurface};
@@ -0,0 +1 @@
1
+ import{j as r}from"./index-EsrkGBcv.js";import{K as m}from"./KnowledgeSearchInspector-32n9baT-.js";import{SearchContent as e}from"./content-x1PHxED7.js";import{u as p}from"./Provider-C35yu29I.js";import{d as s}from"./types-B0PlfpKc.js";/* empty css */import"./api-DSqpVKC7.js";import"./router-DCtl8wqb.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./createLucideIcon-zZ8Hx7er.js";import"./x-DAehov0E.js";import"./check-lrJ3a73a.js";import"./copy-xKeM5ZtU.js";import"./external-link-CUObqmgX.js";import"./loader-circle-OvccU82H.js";import"./KnowledgeSearchScreen-Dd6jrQ0A.js";import"./time-Dhsh_2EG.js";import"./search-DT42oyRW.js";import"./sparkles-BjHq_DNK.js";import"./chevron-down-l1mrh5S9.js";import"./clock-BV1aqPkK.js";import"./theme-vars-DNK0nn3k.js";import"./provider-Dojd8quC.js";import"./machine-scope-DJt9RZ2w.js";import"./sse-BCPRocpq.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./agent-state-DDhnFEEP.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-C97-iTMK.js";import"./runtime-picker-DXu2bOTh.js";import"./scout-voice-CZx60X6E.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./media-blobs-Bi8pxr1u.js";import"./index-724SdE6r.js";import"./HarnessMark-C4naWc16.js";import"./conversation-model-FxDeWlle.js";import"./conversations-DoAAO6kA.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-DFbF_XvR.js";import"./keyboard-nav-DDHegDbx.js";import"./file-text-CnISiiw6.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-DJr0v0D_.js";import"./TextDocumentSurface-D52m7Vd8.js";import"./index-CHD0qcfL.js";import"./chevron-right-DrfqcerI.js";import"./folder-D5prSkzz.js";import"./chevron-up-CETZJzjV.js";import"./code-xml-BhcNbLWU.js";import"./arrow-left-MVUKauwQ.js";import"./arrow-right-Bp-FpE5V.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DbVLgbWX.js";function nr({navigate:t}){const{route:o,selectedKnowledgeHit:i}=p();return r.jsxs("div",{style:{display:"flex",flex:1,minHeight:0,minWidth:0},children:[r.jsx("div",{style:{flex:1,minWidth:0,overflow:"auto"},children:r.jsx(e,{navigate:t,route:o.view==="search"?o:{view:"search"}})}),i?r.jsx("aside",{"aria-label":"Search result",style:{width:"38%",minWidth:260,overflow:"auto"},children:r.jsx(m,{navigate:t})}):null]})}const lr=s({id:"search",label:"Search",route:{view:"search"},webPath:"/search",screen:"NativeAreaScreen",embed:{path:"/embed/search",profile:"macos.search",ownsInternalRoutes:!0,hosts:{macos:!0}}});export{nr as NativeAreaScreen,lr as scoutSurface};
@@ -0,0 +1 @@
1
+ import{j as r}from"./index-EsrkGBcv.js";import{HomeContent as t}from"./content-BNZOZEpX.js";import{d as m}from"./types-B0PlfpKc.js";import"./HomeHero-DouPyNmz.js";import"./refresh-cw-BmVr7sCD.js";import"./createLucideIcon-zZ8Hx7er.js";import"./activity-CIlFrfPJ.js";import"./TailView-CYSijNTy.js";import"./SlidePanel-_CHAQdOa.js";import"./HarnessMark-C4naWc16.js";import"./api-DSqpVKC7.js";import"./time-Dhsh_2EG.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";import"./tail-events-d0yAYxR0.js";import"./index-BWHgHrtv.js";import"./openContent-C6XO6kr5.js";import"./Provider-C35yu29I.js";import"./theme-vars-DNK0nn3k.js";import"./provider-Dojd8quC.js";import"./router-DCtl8wqb.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./machine-scope-DJt9RZ2w.js";import"./sse-BCPRocpq.js";import"./surface-activity-B1rgWB1i.js";import"./agent-state-DDhnFEEP.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-C97-iTMK.js";import"./runtime-picker-DXu2bOTh.js";import"./scout-voice-CZx60X6E.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-OvccU82H.js";import"./media-blobs-Bi8pxr1u.js";import"./index-724SdE6r.js";import"./conversation-model-FxDeWlle.js";import"./conversations-DoAAO6kA.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-DFbF_XvR.js";import"./keyboard-nav-DDHegDbx.js";import"./x-DAehov0E.js";import"./chevron-down-l1mrh5S9.js";import"./search-DT42oyRW.js";import"./file-text-CnISiiw6.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-DJr0v0D_.js";import"./TextDocumentSurface-D52m7Vd8.js";import"./index-CHD0qcfL.js";import"./chevron-right-DrfqcerI.js";import"./folder-D5prSkzz.js";import"./chevron-up-CETZJzjV.js";import"./code-xml-BhcNbLWU.js";import"./arrow-left-MVUKauwQ.js";import"./arrow-right-Bp-FpE5V.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DbVLgbWX.js";import"./observe-BJqERJVj.js";import"./persistent-state-KRk_yb0q.js";import"./operator-attention-DBaRg5ep.js";import"./agent-lanes-model-DMAdqCmK.js";import"./lane-ask-display-BTVSakyo.js";import"./context-budget-8qFKqM-j.js";import"./lane-observe-CteDwdD-.js";import"./home-moving-signal-rpMhsOJB.js";import"./home-live-action-BkqGLVRY.js";import"./cpu-BOTa_WLr.js";import"./git-branch-B0_fPLO7.js";import"./file-code-corner-CsU7jJpu.js";import"./terminal-hQKQygcf.js";import"./external-link-CUObqmgX.js";function Ao({navigate:o}){return r.jsx(t,{navigate:o})}const Ho=m({id:"home",label:"Home",route:{view:"inbox"},webPath:"/",screen:"NativeAreaScreen",embed:{path:"/embed/home",profile:"macos.home",ownsInternalRoutes:!0,hosts:{macos:!0}}});export{Ao as NativeAreaScreen,Ho as scoutSurface};
@@ -1 +1 @@
1
- import{r,j as e}from"./index-DReVb7jZ.js";import{r as se}from"./index-CbqBwfIW.js";import{a as U}from"./api-DSqpVKC7.js";import{u as ne}from"./keyboard-nav-CJXPaHXj.js";import{o as te}from"./openContent-C6XO6kr5.js";import{s as A,w as le}from"./project-overview-helpers-BQTc_Ous.js";import{X as ie}from"./x-rlMdRqJF.js";import{R as re}from"./rocket-DAqYvu8I.js";import"./createLucideIcon-ChvMq-zl.js";const V=[{value:"codex",label:"Codex",runtimeId:"codex"},{value:"claude",label:"Claude",runtimeId:"claude"},{value:"pi",label:"Grok",runtimeId:"pi"}];function w(t){return t.trim().toLowerCase().replace(/^@+/,"").replace(/[^a-z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||void 0}function oe(t){const n=new Set;for(const o of t){if(!o)continue;const s=w(o);s&&n.add(s)}return n}function ce(t,n,o){const s=t.trim();if(!s)return{status:"auto",normalized:void 0,rewritten:!1,message:o==="sticky"?"Scout will assign a reusable handle from the name pool.":"Scout will assign a disposable handle from the name pool.",tone:"ok"};const l=w(s);return l?n.has(l)?{status:"conflict",normalized:l,rewritten:l!==s.toLowerCase().replace(/^@+/,""),message:`@${l} already exists here. Pick another handle or leave it blank for auto.`,tone:"warn"}:{status:"ok",normalized:l,rewritten:l!==s.toLowerCase().replace(/^@+/,""),message:null,tone:"ok"}:{status:"invalid",normalized:void 0,rewritten:!1,message:"Use letters, numbers, dot, or dash.",tone:"warn"}}function S(t){return t==="pi"?"grok":t}function de(t,n,o,s=3){const l=w(t)??"agent",m=[l,`${l}-${S(n)}`,`${l}-dev`,`${l}-2`,`${l}-${S(n)}-2`],u=[];for(const v of m){const x=w(v);if(!(!x||o.has(x)||u.includes(x))&&(u.push(x),u.length>=s))break}return u}function ue(t){const{handle:n,persistence:o,harness:s,projectRootLabel:l}=t,m="A card starts a fresh session for each request. Use session:<id> only to continue an exact run.";return o==="one_time"?{disposable:!0,card:null,cli:`scout ask --project ${l} --harness ${s} "…"`,resolves:"Disposable session — Scout assigns a provisional handle that may be recycled. Not addressable later.",note:m}:n?{disposable:!1,card:`@${n}`,cli:`scout ask @${n} "…"`,resolves:`Reusable ${S(s)} session on this project — @${n} routes here from any surface.`,note:m}:{disposable:!1,card:"@auto",cli:'scout ask @<assigned-handle> "…"',resolves:`Scout assigns a reusable ${S(s)} handle from the name pool.`,note:m}}const me={ready:"ready",configured:"configured",installed:"login needed",missing:"not found"},q={ready:"ok",configured:"ok",installed:"warn",missing:"off"};function ke({open:t,onClose:n,projectTitle:o,projectRoot:s,primaryWt:l,worktreeCount:m,branches:u,existingAgents:v,agentCount:x,sessionCount:H,route:D,navigate:C}){const{ref:J,onKeyDown:W}=ne(t),[h,G]=r.useState("codex"),[M,X]=r.useState(""),[d,E]=r.useState("sticky"),[$,P]=r.useState(""),[R,Q]=r.useState(""),[L,I]=r.useState("idle"),[_,j]=r.useState(null),[K,Y]=r.useState(null);r.useEffect(()=>{t&&(j(null),I("idle"))},[t]),r.useEffect(()=>{if(!t)return;let a=!1;return(async()=>{const c=await U("/api/agent-config/snapshot").catch(()=>null);if(a||!c)return;const f=new Map;for(const g of c.runtimes)f.set(g.id,{state:g.state,detail:g.detail,loginCommand:g.loginCommand});Y(f)})(),()=>{a=!0}},[t]),r.useEffect(()=>{if(!t)return;const a=c=>{c.key==="Escape"&&(c.preventDefault(),n())};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[t,n]);const k=r.useMemo(()=>oe(v.flatMap(a=>[a.name,a.handle])),[v]),i=r.useMemo(()=>ce($,k,d),[$,k,d]),z=r.useMemo(()=>de(o,h,k,3),[o,h,k]),T=s?A(s):"<no-root>",p=r.useMemo(()=>ue({handle:i.normalized,persistence:d,harness:h,projectRootLabel:T}),[i.normalized,d,h,T]),N=K?.get(V.find(a=>a.value===h)?.runtimeId??h);if(!t)return null;const Z=!!s&&L!=="starting"&&i.status!=="invalid"&&i.status!=="conflict",ee=L==="starting"?"Starting…":d==="one_time"?"Dispatch one-off":i.status==="conflict"?"Handle exists":i.normalized?`Create @${i.normalized}`:"Create with auto handle",O=async()=>{if(!(!s||L==="starting")){I("starting"),j(null);try{const a=M.trim(),c=R.trim(),f=i.normalized,g=await U("/api/sessions",{method:"POST",body:JSON.stringify({target:{projectPath:s},execution:{session:"new",harness:h,...a?{model:a}:{}},agent:{persistence:d,...f?{handle:f}:{}},...c?{seed:{instructions:c}}:{}})}),B=g.agentId?.trim(),F=g.sessionId?.trim(),y=g.conversationId?.trim();if(F){n(),te(C,{view:"sessions",sessionId:F},{returnTo:D});return}if(B){n(),C({...D,view:"agents-v2",agentId:B,selectedAgentId:void 0,sessionId:void 0,...y?{conversationId:y,tab:"message"}:{tab:"profile"}});return}if(y){n(),C({view:"conversation",conversationId:y});return}j("Agent start was accepted, but no target came back.")}catch(a){j(a instanceof Error?a.message:"Could not start an agent.")}finally{I("idle")}}},ae=a=>{if((a.metaKey||a.ctrlKey)&&a.key==="Enter"){a.preventDefault(),O();return}W(a)},b=[];return b.push({label:"root",value:s?A(s):"no project root",title:s??void 0}),l?b.push({label:"branch",value:le(l),title:l.path}):u.length>0&&b.push({label:"branch",value:u.length===1?u[0]:`${u.length} branches`}),m>1&&b.push({label:"worktrees",value:String(m)}),b.push({label:"existing",value:`${x} agent${x===1?"":"s"} · ${H} session${H===1?"":"s"}`}),se.createPortal(e.jsx("div",{className:"na-backdrop",role:"presentation",onClick:n,children:e.jsxs("div",{ref:J,className:"na-panel",role:"dialog","aria-modal":"true","aria-labelledby":"na-title",tabIndex:-1,onClick:a=>a.stopPropagation(),onKeyDown:ae,children:[e.jsxs("header",{className:"na-head",children:[e.jsxs("div",{className:"na-headIdent",children:[e.jsx("h2",{id:"na-title",className:"na-title",children:"New agent"}),e.jsxs("span",{className:"na-scope",children:["/",o]})]}),e.jsx("button",{type:"button",className:"na-close",onClick:n,"aria-label":"Close (Esc)",children:e.jsx(ie,{size:14,strokeWidth:2,"aria-hidden":!0})})]}),e.jsx("div",{className:"na-context",children:b.map(a=>e.jsxs("span",{className:"na-contextChip",title:a.title,children:[e.jsx("span",{className:"na-contextLabel",children:a.label}),e.jsx("span",{className:"na-contextValue",children:a.value})]},a.label))}),e.jsxs("div",{className:"na-body",children:[e.jsxs("section",{className:"na-section na-modeSection",children:[e.jsx("span",{className:"na-sectionLabel",children:"What are you creating?"}),e.jsxs("div",{className:"na-modeChoice",role:"radiogroup","aria-label":"Agent kind",children:[e.jsxs("button",{type:"button",role:"radio","aria-checked":d==="one_time",className:"na-modeCard","data-active":d==="one_time"||void 0,onClick:()=>E("one_time"),children:[e.jsx("span",{className:"na-modeTitle",children:"One-off run"}),e.jsx("span",{className:"na-modeSub",children:"Disposable session · not addressable later"})]}),e.jsxs("button",{type:"button",role:"radio","aria-checked":d==="sticky",className:"na-modeCard","data-active":d==="sticky"||void 0,onClick:()=>E("sticky"),children:[e.jsx("span",{className:"na-modeTitle",children:"Named agent"}),e.jsx("span",{className:"na-modeSub",children:"Reusable card · addressable by handle"})]})]})]}),e.jsxs("section",{className:"na-section",children:[e.jsx("span",{className:"na-sectionLabel",children:"Runtime"}),e.jsx("div",{className:"na-harnessRow",role:"radiogroup","aria-label":"Harness",children:V.map(a=>{const c=K?.get(a.runtimeId),f=h===a.value;return e.jsxs("button",{type:"button",role:"radio","aria-checked":f,className:"na-harness","data-active":f||void 0,onClick:()=>G(a.value),children:[e.jsx("span",{className:"na-harnessName",children:a.label}),c?e.jsxs("span",{className:"na-harnessState","data-tone":q[c.state],children:[e.jsx("span",{className:"na-dot","aria-hidden":!0}),me[c.state]]}):e.jsx("span",{className:"na-harnessState","data-tone":"off",children:"…"})]},a.value)})}),N&&N.state!=="ready"?e.jsxs("p",{className:"na-readinessNote","data-tone":q[N.state],children:[N.detail,N.loginCommand?e.jsxs("code",{className:"na-code",children:[" ",N.loginCommand]}):null]}):null,e.jsxs("label",{className:"na-field",children:[e.jsx("span",{children:"Model / profile"}),e.jsx("input",{value:M,placeholder:"default",onChange:a=>X(a.currentTarget.value)})]})]}),d==="sticky"?e.jsxs("section",{className:"na-section",children:[e.jsx("span",{className:"na-sectionLabel",children:"Handle (optional)"}),e.jsxs("label",{className:"na-field",children:[e.jsx("span",{children:"Address"}),e.jsxs("div",{className:"na-handleWrap","data-tone":i.tone,children:[e.jsx("span",{className:"na-handleAt",children:"@"}),e.jsx("input",{value:$,placeholder:z[0]??"auto","aria-invalid":i.tone==="warn",autoFocus:!0,onChange:a=>P(a.currentTarget.value)})]})]}),z.length>0?e.jsxs("div",{className:"na-suggestRow",children:[e.jsx("span",{className:"na-suggestLabel",children:"suggest"}),z.map(a=>e.jsxs("button",{type:"button",className:"na-suggest",onClick:()=>P(a),children:["@",a]},a))]}):null,i.message?e.jsx("p",{className:"na-validation","data-tone":i.tone,children:i.message}):i.rewritten&&i.normalized?e.jsxs("p",{className:"na-validation","data-tone":"ok",children:["Saved as ",e.jsxs("code",{className:"na-code",children:["@",i.normalized]})]}):null]}):null,e.jsxs("section",{className:"na-section",children:[e.jsx("span",{className:"na-sectionLabel",children:"First instruction"}),e.jsx("textarea",{className:"na-prompt",value:R,rows:3,placeholder:`Start in /${o}…`,onChange:a=>Q(a.currentTarget.value)})]}),e.jsxs("section",{className:"na-section na-routing",children:[e.jsx("span",{className:"na-sectionLabel",children:p.disposable?"Dispatch preview":"Routing preview"}),p.disposable?e.jsxs("div",{className:"na-routingBody","data-disposable":!0,children:[e.jsx("p",{className:"na-routingResolves",children:p.resolves}),e.jsx("button",{type:"button",className:"na-promote",onClick:()=>E("sticky"),children:"Name it to keep it →"})]}):e.jsxs("div",{className:"na-routingBody",children:[p.card?e.jsxs("div",{className:"na-routingLine",children:[e.jsx("span",{className:"na-routingKey",children:"address"}),e.jsx("code",{className:"na-routingValue na-routingCard",children:p.card})]}):null,e.jsxs("div",{className:"na-routingLine",children:[e.jsx("span",{className:"na-routingKey",children:"cli"}),e.jsx("code",{className:"na-routingValue",children:p.cli})]}),e.jsx("p",{className:"na-routingResolves",children:p.resolves}),e.jsx("p",{className:"na-routingNote",children:p.note})]})]})]}),_?e.jsx("div",{className:"na-error",children:_}):null,e.jsxs("footer",{className:"na-foot",children:[e.jsx("span",{className:"na-footRoot",title:s??void 0,children:s?A(s):"No project root — cannot create."}),e.jsxs("div",{className:"na-footActions",children:[e.jsx("button",{type:"button",className:"na-cancel",onClick:n,children:"Cancel"}),e.jsxs("button",{type:"button",className:"na-create",disabled:!Z,onClick:()=>{O()},children:[e.jsx(re,{size:12,strokeWidth:2,"aria-hidden":!0}),ee]})]})]})]})}),document.body)}export{ke as NewAgentModal};
1
+ import{r,j as e}from"./index-EsrkGBcv.js";import{r as se}from"./index-724SdE6r.js";import{a as U}from"./api-DSqpVKC7.js";import{u as ne}from"./keyboard-nav-DDHegDbx.js";import{o as te}from"./openContent-C6XO6kr5.js";import{s as A,w as le}from"./project-overview-helpers-BQTc_Ous.js";import{X as ie}from"./x-DAehov0E.js";import{R as re}from"./rocket-CGl4RTV7.js";import"./createLucideIcon-zZ8Hx7er.js";const V=[{value:"codex",label:"Codex",runtimeId:"codex"},{value:"claude",label:"Claude",runtimeId:"claude"},{value:"pi",label:"Grok",runtimeId:"pi"}];function w(t){return t.trim().toLowerCase().replace(/^@+/,"").replace(/[^a-z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||void 0}function oe(t){const n=new Set;for(const o of t){if(!o)continue;const s=w(o);s&&n.add(s)}return n}function ce(t,n,o){const s=t.trim();if(!s)return{status:"auto",normalized:void 0,rewritten:!1,message:o==="sticky"?"Scout will assign a reusable handle from the name pool.":"Scout will assign a disposable handle from the name pool.",tone:"ok"};const l=w(s);return l?n.has(l)?{status:"conflict",normalized:l,rewritten:l!==s.toLowerCase().replace(/^@+/,""),message:`@${l} already exists here. Pick another handle or leave it blank for auto.`,tone:"warn"}:{status:"ok",normalized:l,rewritten:l!==s.toLowerCase().replace(/^@+/,""),message:null,tone:"ok"}:{status:"invalid",normalized:void 0,rewritten:!1,message:"Use letters, numbers, dot, or dash.",tone:"warn"}}function S(t){return t==="pi"?"grok":t}function de(t,n,o,s=3){const l=w(t)??"agent",m=[l,`${l}-${S(n)}`,`${l}-dev`,`${l}-2`,`${l}-${S(n)}-2`],u=[];for(const v of m){const x=w(v);if(!(!x||o.has(x)||u.includes(x))&&(u.push(x),u.length>=s))break}return u}function ue(t){const{handle:n,persistence:o,harness:s,projectRootLabel:l}=t,m="A card starts a fresh session for each request. Use session:<id> only to continue an exact run.";return o==="one_time"?{disposable:!0,card:null,cli:`scout ask --project ${l} --harness ${s} "…"`,resolves:"Disposable session — Scout assigns a provisional handle that may be recycled. Not addressable later.",note:m}:n?{disposable:!1,card:`@${n}`,cli:`scout ask @${n} "…"`,resolves:`Reusable ${S(s)} session on this project — @${n} routes here from any surface.`,note:m}:{disposable:!1,card:"@auto",cli:'scout ask @<assigned-handle> "…"',resolves:`Scout assigns a reusable ${S(s)} handle from the name pool.`,note:m}}const me={ready:"ready",configured:"configured",installed:"login needed",missing:"not found"},q={ready:"ok",configured:"ok",installed:"warn",missing:"off"};function ke({open:t,onClose:n,projectTitle:o,projectRoot:s,primaryWt:l,worktreeCount:m,branches:u,existingAgents:v,agentCount:x,sessionCount:H,route:D,navigate:C}){const{ref:J,onKeyDown:W}=ne(t),[h,G]=r.useState("codex"),[M,X]=r.useState(""),[d,E]=r.useState("sticky"),[$,P]=r.useState(""),[R,Q]=r.useState(""),[L,I]=r.useState("idle"),[_,j]=r.useState(null),[K,Y]=r.useState(null);r.useEffect(()=>{t&&(j(null),I("idle"))},[t]),r.useEffect(()=>{if(!t)return;let a=!1;return(async()=>{const c=await U("/api/agent-config/snapshot").catch(()=>null);if(a||!c)return;const f=new Map;for(const g of c.runtimes)f.set(g.id,{state:g.state,detail:g.detail,loginCommand:g.loginCommand});Y(f)})(),()=>{a=!0}},[t]),r.useEffect(()=>{if(!t)return;const a=c=>{c.key==="Escape"&&(c.preventDefault(),n())};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[t,n]);const k=r.useMemo(()=>oe(v.flatMap(a=>[a.name,a.handle])),[v]),i=r.useMemo(()=>ce($,k,d),[$,k,d]),z=r.useMemo(()=>de(o,h,k,3),[o,h,k]),T=s?A(s):"<no-root>",p=r.useMemo(()=>ue({handle:i.normalized,persistence:d,harness:h,projectRootLabel:T}),[i.normalized,d,h,T]),N=K?.get(V.find(a=>a.value===h)?.runtimeId??h);if(!t)return null;const Z=!!s&&L!=="starting"&&i.status!=="invalid"&&i.status!=="conflict",ee=L==="starting"?"Starting…":d==="one_time"?"Dispatch one-off":i.status==="conflict"?"Handle exists":i.normalized?`Create @${i.normalized}`:"Create with auto handle",O=async()=>{if(!(!s||L==="starting")){I("starting"),j(null);try{const a=M.trim(),c=R.trim(),f=i.normalized,g=await U("/api/sessions",{method:"POST",body:JSON.stringify({target:{projectPath:s},execution:{session:"new",harness:h,...a?{model:a}:{}},agent:{persistence:d,...f?{handle:f}:{}},...c?{seed:{instructions:c}}:{}})}),B=g.agentId?.trim(),F=g.sessionId?.trim(),y=g.conversationId?.trim();if(F){n(),te(C,{view:"sessions",sessionId:F},{returnTo:D});return}if(B){n(),C({...D,view:"agents-v2",agentId:B,selectedAgentId:void 0,sessionId:void 0,...y?{conversationId:y,tab:"message"}:{tab:"profile"}});return}if(y){n(),C({view:"conversation",conversationId:y});return}j("Agent start was accepted, but no target came back.")}catch(a){j(a instanceof Error?a.message:"Could not start an agent.")}finally{I("idle")}}},ae=a=>{if((a.metaKey||a.ctrlKey)&&a.key==="Enter"){a.preventDefault(),O();return}W(a)},b=[];return b.push({label:"root",value:s?A(s):"no project root",title:s??void 0}),l?b.push({label:"branch",value:le(l),title:l.path}):u.length>0&&b.push({label:"branch",value:u.length===1?u[0]:`${u.length} branches`}),m>1&&b.push({label:"worktrees",value:String(m)}),b.push({label:"existing",value:`${x} agent${x===1?"":"s"} · ${H} session${H===1?"":"s"}`}),se.createPortal(e.jsx("div",{className:"na-backdrop",role:"presentation",onClick:n,children:e.jsxs("div",{ref:J,className:"na-panel",role:"dialog","aria-modal":"true","aria-labelledby":"na-title",tabIndex:-1,onClick:a=>a.stopPropagation(),onKeyDown:ae,children:[e.jsxs("header",{className:"na-head",children:[e.jsxs("div",{className:"na-headIdent",children:[e.jsx("h2",{id:"na-title",className:"na-title",children:"New agent"}),e.jsxs("span",{className:"na-scope",children:["/",o]})]}),e.jsx("button",{type:"button",className:"na-close",onClick:n,"aria-label":"Close (Esc)",children:e.jsx(ie,{size:14,strokeWidth:2,"aria-hidden":!0})})]}),e.jsx("div",{className:"na-context",children:b.map(a=>e.jsxs("span",{className:"na-contextChip",title:a.title,children:[e.jsx("span",{className:"na-contextLabel",children:a.label}),e.jsx("span",{className:"na-contextValue",children:a.value})]},a.label))}),e.jsxs("div",{className:"na-body",children:[e.jsxs("section",{className:"na-section na-modeSection",children:[e.jsx("span",{className:"na-sectionLabel",children:"What are you creating?"}),e.jsxs("div",{className:"na-modeChoice",role:"radiogroup","aria-label":"Agent kind",children:[e.jsxs("button",{type:"button",role:"radio","aria-checked":d==="one_time",className:"na-modeCard","data-active":d==="one_time"||void 0,onClick:()=>E("one_time"),children:[e.jsx("span",{className:"na-modeTitle",children:"One-off run"}),e.jsx("span",{className:"na-modeSub",children:"Disposable session · not addressable later"})]}),e.jsxs("button",{type:"button",role:"radio","aria-checked":d==="sticky",className:"na-modeCard","data-active":d==="sticky"||void 0,onClick:()=>E("sticky"),children:[e.jsx("span",{className:"na-modeTitle",children:"Named agent"}),e.jsx("span",{className:"na-modeSub",children:"Reusable card · addressable by handle"})]})]})]}),e.jsxs("section",{className:"na-section",children:[e.jsx("span",{className:"na-sectionLabel",children:"Runtime"}),e.jsx("div",{className:"na-harnessRow",role:"radiogroup","aria-label":"Harness",children:V.map(a=>{const c=K?.get(a.runtimeId),f=h===a.value;return e.jsxs("button",{type:"button",role:"radio","aria-checked":f,className:"na-harness","data-active":f||void 0,onClick:()=>G(a.value),children:[e.jsx("span",{className:"na-harnessName",children:a.label}),c?e.jsxs("span",{className:"na-harnessState","data-tone":q[c.state],children:[e.jsx("span",{className:"na-dot","aria-hidden":!0}),me[c.state]]}):e.jsx("span",{className:"na-harnessState","data-tone":"off",children:"…"})]},a.value)})}),N&&N.state!=="ready"?e.jsxs("p",{className:"na-readinessNote","data-tone":q[N.state],children:[N.detail,N.loginCommand?e.jsxs("code",{className:"na-code",children:[" ",N.loginCommand]}):null]}):null,e.jsxs("label",{className:"na-field",children:[e.jsx("span",{children:"Model / profile"}),e.jsx("input",{value:M,placeholder:"default",onChange:a=>X(a.currentTarget.value)})]})]}),d==="sticky"?e.jsxs("section",{className:"na-section",children:[e.jsx("span",{className:"na-sectionLabel",children:"Handle (optional)"}),e.jsxs("label",{className:"na-field",children:[e.jsx("span",{children:"Address"}),e.jsxs("div",{className:"na-handleWrap","data-tone":i.tone,children:[e.jsx("span",{className:"na-handleAt",children:"@"}),e.jsx("input",{value:$,placeholder:z[0]??"auto","aria-invalid":i.tone==="warn",autoFocus:!0,onChange:a=>P(a.currentTarget.value)})]})]}),z.length>0?e.jsxs("div",{className:"na-suggestRow",children:[e.jsx("span",{className:"na-suggestLabel",children:"suggest"}),z.map(a=>e.jsxs("button",{type:"button",className:"na-suggest",onClick:()=>P(a),children:["@",a]},a))]}):null,i.message?e.jsx("p",{className:"na-validation","data-tone":i.tone,children:i.message}):i.rewritten&&i.normalized?e.jsxs("p",{className:"na-validation","data-tone":"ok",children:["Saved as ",e.jsxs("code",{className:"na-code",children:["@",i.normalized]})]}):null]}):null,e.jsxs("section",{className:"na-section",children:[e.jsx("span",{className:"na-sectionLabel",children:"First instruction"}),e.jsx("textarea",{className:"na-prompt",value:R,rows:3,placeholder:`Start in /${o}…`,onChange:a=>Q(a.currentTarget.value)})]}),e.jsxs("section",{className:"na-section na-routing",children:[e.jsx("span",{className:"na-sectionLabel",children:p.disposable?"Dispatch preview":"Routing preview"}),p.disposable?e.jsxs("div",{className:"na-routingBody","data-disposable":!0,children:[e.jsx("p",{className:"na-routingResolves",children:p.resolves}),e.jsx("button",{type:"button",className:"na-promote",onClick:()=>E("sticky"),children:"Name it to keep it →"})]}):e.jsxs("div",{className:"na-routingBody",children:[p.card?e.jsxs("div",{className:"na-routingLine",children:[e.jsx("span",{className:"na-routingKey",children:"address"}),e.jsx("code",{className:"na-routingValue na-routingCard",children:p.card})]}):null,e.jsxs("div",{className:"na-routingLine",children:[e.jsx("span",{className:"na-routingKey",children:"cli"}),e.jsx("code",{className:"na-routingValue",children:p.cli})]}),e.jsx("p",{className:"na-routingResolves",children:p.resolves}),e.jsx("p",{className:"na-routingNote",children:p.note})]})]})]}),_?e.jsx("div",{className:"na-error",children:_}):null,e.jsxs("footer",{className:"na-foot",children:[e.jsx("span",{className:"na-footRoot",title:s??void 0,children:s?A(s):"No project root — cannot create."}),e.jsxs("div",{className:"na-footActions",children:[e.jsx("button",{type:"button",className:"na-cancel",onClick:n,children:"Cancel"}),e.jsxs("button",{type:"button",className:"na-create",disabled:!Z,onClick:()=>{O()},children:[e.jsx(re,{size:12,strokeWidth:2,"aria-hidden":!0}),ee]})]})]})]})}),document.body)}export{ke as NewAgentModal};
@@ -0,0 +1,19 @@
1
+ import{j as i,r as l}from"./index-EsrkGBcv.js";import{f as Tt,M as _s}from"./runtime-picker-DXu2bOTh.js";import{c as Os}from"./createLucideIcon-zZ8Hx7er.js";import{isRoutableMediaFile as gn,readTransferredFiles as Fs,dataTransferMayContainFiles as it,uploadMediaFiles as Us}from"./media-blobs-Bi8pxr1u.js";import{r as Hs}from"./index-724SdE6r.js";import{H as bn}from"./HarnessMark-C4naWc16.js";import{c as Bs,S as wn,A as Ws,B as zs}from"./conversation-model-FxDeWlle.js";import{a as X,p as Gs}from"./api-DSqpVKC7.js";import{a as qs}from"./colors-CFlbwC25.js";import{NewChatOrigin as Ks}from"./NewChatOrigin-DFbF_XvR.js";import{u as Js}from"./keyboard-nav-DDHegDbx.js";import{n as Vs,c as Xs}from"./agent-state-DDhnFEEP.js";import{X as Ys}from"./x-DAehov0E.js";import{C as Qs}from"./chevron-down-l1mrh5S9.js";import{S as Zs}from"./search-DT42oyRW.js";import{L as eo}from"./loader-circle-OvccU82H.js";import{F as to}from"./file-text-CnISiiw6.js";const no=[["path",{d:"M20 4v7a4 4 0 0 1-4 4H4",key:"6o5b7l"}],["path",{d:"m9 10-5 5 5 5",key:"1kshq7"}]],so=Os("corner-down-left",no),oo={schemaVersion:"openscout.runtime-catalog.v1",revision:"2026-09-14.1",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-fable-5",label:"Fable 5",enabled:!0,family:"Fable",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-6-astra",label:"6 Astra",enabled:!0,default:!0,description:"Most capable for complex reasoning, coding, computer use, research, and document creation",family:"GPT",version:"6 Astra",contextWindowTokens:105e4,reasoningEfforts:["low","medium","high","xhigh","max"]},{id:"gpt-5.6-sol",label:"5.6 Sol",enabled:!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,listed:!1,reasoningEfforts:["low","medium","high","xhigh"],defaultReasoningEffort:"high",models:[{id:"grok-4.6",label:"Grok 4.6",enabled:!0,default:!0,family:"Grok",version:"4.6",contextWindowTokens:5e5},{id:"grok-4.5",label:"Grok 4.5",enabled:!0,family:"Grok",version:"4.5",contextWindowTokens:5e5}]},{id:"grok-acp",label:"Grok",enabled:!0,reasoningEfforts:["low","medium","high","xhigh"],defaultReasoningEffort:"high",models:[{id:"grok-4.6",label:"Grok 4.6",enabled:!0,default:!0,family:"Grok",version:"4.6",contextWindowTokens:5e5},{id:"grok-4.5",label:"Grok 4.5",enabled:!0,family:"Grok",version:"4.5",contextWindowTokens:5e5}]},{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:[]},{id:"devin",label:"Devin",enabled:!0,reasoningEfforts:null,models:[{id:"swe-2-high",label:"SWE-2 High",enabled:!0,default:!0,family:"SWE",version:"2 High",contextWindowTokens:262e3},{id:"swe-2-medium",label:"SWE-2 Medium",enabled:!0,family:"SWE",version:"2 Medium",contextWindowTokens:262e3},{id:"swe-2-max",label:"SWE-2 Max",enabled:!0,family:"SWE",version:"2 Max",contextWindowTokens:262e3}]}]},Ut=["none","minimal","low","medium","high","xhigh","max","ultra"],zn={none:"None",minimal:"Minimal",low:"Light",medium:"Medium",high:"High",xhigh:"Extra High",max:"Max",ultra:"Ultra"},Y=oo;function Ht(e,t=Y){return t.harnesses.find(s=>s.id===e)}function ro(e=Y){return e.harnesses.find(t=>t.enabled&&t.default)?.id??e.harnesses.find(t=>t.enabled)?.id??null}function Gn(e,t=Y){const s=Ht(e,t);return s?.models.find(n=>n.enabled&&n.default)?.id??s?.models.find(n=>n.enabled)?.id??null}function ao(e,t,s=Y){const n=Ht(e,s);if(!n||!n.enabled)return null;const o=t?n.models.find(a=>a.enabled&&a.id===t):void 0;return o?.reasoningEfforts===null?null:o?.reasoningEfforts??n.reasoningEfforts}function qn(e,t,s=Y){const n=Ht(e,s),o=t?n?.models.find(m=>m.enabled&&m.id===t):void 0,a=ao(e,t,s),d=o?.defaultReasoningEffort??n?.defaultReasoningEffort??null;return d&&a?.includes(d)?d:a?.[0]??null}function io(e=Y){return Object.fromEntries(e.harnesses.filter(t=>t.enabled).map(t=>{const s=Gn(t.id,e);return[t.id,{model:s,reasoningEffort:qn(t.id,s,e)}]}))}const co=io();Object.fromEntries(Y.harnesses.filter(e=>e.enabled).map(e=>{const t=Ut.filter(s=>e.reasoningEfforts?.includes(s)||e.models.some(n=>n.enabled&&n.reasoningEfforts?.includes(s)));return[e.id,t]}));function lo(e=Y){const t=new Map;for(const s of e.harnesses)if(s.enabled)for(const n of s.models){if(!n.enabled)continue;const o=t.get(n.id);if(o){o.harnesses.includes(s.id)||o.harnesses.push(s.id);continue}t.set(n.id,{id:n.id,label:n.label,...n.description?{description:n.description}:{},harnesses:[s.id],source:"default",...n.family?{family:n.family}:{},...n.version?{version:n.version}:{}})}return Array.from(t.values())}const uo=lo(),fo={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"};function mo(e=Y){return Ut.flatMap(t=>{const s=[],n=[];for(const o of e.harnesses){if(!o.enabled)continue;const a=o.models.filter(u=>u.enabled),d=a.filter(u=>(u.reasoningEfforts??o.reasoningEfforts)?.includes(t)),m=a.length===0&&o.reasoningEfforts?.includes(t);d.length===0&&!m||(s.push(o.id),a.length>0&&d.length<a.length&&n.push(...d.map(u=>u.id)))}return s.length===0?[]:[{id:t,label:zn[t],description:fo[t],harnesses:s,...n.length>0?{models:n}:{}}]})}const ho=mo();function G(e){if(!e)return null;const t=e.replace(/\/+$/,""),s=t.lastIndexOf("/");return s>=0?t.slice(s+1):t}function De(e){const t=e?.trim();return t&&(t==="/private/tmp"||t.startsWith("/private/tmp/")?t.replace(/^\/private\/tmp/u,"/tmp"):t).replace(/\/+$/,"")||null}function Kn(e){const t=e.replace(/\/+$/,""),s=t.lastIndexOf("/");return s>=0?t.slice(0,s)||"/":null}function Lt(e){return e.split(/[-_\s]+/).filter(Boolean).map(t=>t.slice(0,1).toUpperCase()+t.slice(1)).join(" ")}function Jn(e){if(!e)return null;const t=po(e);if(t)return{title:Lt(G(t)??"Unscoped"),root:t};const s=G(e)?.trim().toLowerCase();if(!s||s==="~")return null;const o=s.match(/^(.+?)(?:-(?:parity|codex))?-c\d+$/)?.[1];if(!o)return null;const a=Kn(e);return{title:Lt(o),root:a?`${a}/${o}`:o}}function po(e){const t=e.replace(/\/+$/,"");if(/^(?:~|\/Users\/[^/]+)\/\.codex\/worktrees\//u.test(t))return null;const s=t.match(/^(.*)\/([^/]+)-worktrees(?:\/[^/]+)+$/);return s?.[1]&&s[2]?`${s[1]}/${s[2]}`:t.match(/^(.*\/[^/]+)\/(?:\.worktrees|worktrees)(?:\/[^/]+)+$/)?.[1]??null}function go(e){const s=G(e)?.match(/^(.+)-\d+$/u),n=Kn(e);return s?.[1]&&n?`${n}/${s[1]}`:null}function bo(e){const t=e?.trim();if(!t)return null;const s=t.match(/^(\/Users\/[^/]+\/dev\/[^/]+)/);if(s?.[1])return s[1];const n=t.match(/^(~\/dev\/[^/]+)/);if(n?.[1])return n[1];const o=t.match(/\.claude\/projects\/-Users-([^-]+)-dev-([^/]+)/);if(o?.[1]&&o[2]){const a=o[2].split("-packages-")[0]??o[2];return`/Users/${o[1]}/dev/${a}`}return null}function wo(e){const t=e.match(/^\/(?:Users|home)\/[^/]+(\/.*)?$/);if(!t)return e;const s=t[1]??"";return s?`~${s}`:"~"}function Bt(e){const t=De(e);if(!t)return null;const n=Jn(t)?.root??go(t)??t,a=wo(bo(n)??n);return a==="~"||/^\/(Users|home)\/[^/]+$/.test(a)||/^\/(Users|home)$/.test(a)?null:a}function Pt(e){return(e??"").toLowerCase().replace(/[^a-z0-9]+/g," ").trim().replace(/\s+\d+$/,"").replace(/\s+/g,"")}function vo(e){return(e??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-\d+$/,"")}function yo(e){let t=2166136261;for(let s=0;s<e.length;s++)t^=e.charCodeAt(s),t=Math.imul(t,16777619);return(t>>>0).toString(36)}function vn(e){const t=e.root??"";return t?$t(t)?3:t.startsWith("~/dev/")||/^\/Users\/[^/]+\/dev\//.test(t)?0:t.startsWith("~/")?1:2:4}function xo(e,t){return vn(e)-vn(t)||e.key.localeCompare(t.key)}function jo(e){const t=new Map;for(const s of e){const n=t.get(s.slug)??[];n.push(s),t.set(s.slug,n)}for(const s of t.values()){if(s.length<=1)continue;const n=[...s].sort(xo)[0];for(const o of s)o!==n&&(o.slug=`${o.slug}-${yo(o.key)}`)}}function So(e,t){const s=Bt(e);return s?`root:${s}`:`project:${Pt(t)||"unscoped"}`}function $t(e){return!!(e?.startsWith("/tmp/")||e?.startsWith("/private/tmp/")||e?.startsWith("/var/tmp/")||e?.startsWith("/private/var/tmp/")||/^\/(?:private\/)?var\/folders\/[^/]+\/[^/]+\/T\//.test(e??""))}function yn(e,t){const s=Bt(t),n=s?Lt(G(s)??(e?.trim()||"Unscoped")):e?.trim()||"Unscoped";return{key:So(s,n),title:n,root:s,slug:vo(G(s)??n)||"unscoped"}}const Co=new Set(["empty","unknown","unscoped","untitled","general"]);function ko(e,t){e.agents.push(...t.agents),e.scoutSessions.push(...t.scoutSessions),e.nativeSessions.push(...t.nativeSessions),e.workflows.push(...t.workflows)}function Ao(e){const t=new Map;for(const s of e.values()){if(!s.root)continue;const n=Pt(G(s.root)??s.title);n&&!t.has(n)&&t.set(n,s)}for(const[s,n]of[...e.entries()]){if(n.root)continue;const o=Pt(n.title),a=o?t.get(o):void 0;a?(ko(a,n),e.delete(s)):(!o||Co.has(n.title.trim().toLowerCase())||n.agents.length===0&&n.scoutSessions.length===0)&&e.delete(s)}}function Ma(e,t){if(t.filter(o=>o.name===e.name).length<=1)return{name:e.name,qualifier:null};const n=e.project??e.branch??e.id.replace(/^.*\./,"");return{name:e.name,qualifier:n}}function Ia(e){const t=[...e].filter(o=>o.kind==="direct"&&!!o.agentId).sort((o,a)=>(a.lastMessageAt??0)-(o.lastMessageAt??0)),s=new Map,n=new Map;for(const o of t){const a=n.get(o.agentId);(!a||Mo(o,a))&&(s.set(o.agentId,o.id),n.set(o.agentId,o))}return{conversationByAgentId:s,sessionByAgentId:n}}function Mo(e,t){const s=e.lastMessageAt??0,n=t.lastMessageAt??0;return s!==n?s>n:e.id<t.id}const ct={needs_attention:0,in_turn:1,in_flight:2,callable:3,blocked:4},Io=6e4;function Ve(e,t){const s=De(t),n=Jn(s);return n?yn(n.title,n.root):yn(e,s)}function Eo(e){const t=De(e.agent.projectRoot??e.agent.cwd),s=e.agent.project??e.project;return Ve(s,t)}function No(e){return Ve(e.project,e.cwd)}function Ro(e){return Ve(e.agentName??e.title,e.workspaceRoot)}function To(e){return Ve(e.project.title,e.project.root)}function ft(e){const t=e?.trim();if(!t)return null;const s=G(t)??t;return s.endsWith(".jsonl")?s.slice(0,-6):s}function Le(e,t){const s=t?.trim();s&&e.add(s.toLowerCase());const n=ft(s);n&&e.add(n.toLowerCase())}function Vn(e){const t=new Set;return Le(t,e.agent.conversationId),Le(t,e.agent.harnessSessionId),Le(t,e.agent.harnessLogPath),Le(t,e.session?.id),Le(t,e.session?.harnessSessionId),Le(t,e.session?.harnessLogPath),t}function $e(e,t){const s=t?.trim();if(s&&e.has(s.toLowerCase()))return!0;const n=ft(s);return!!(n&&e.has(n.toLowerCase()))}function Lo(e,t){if(e.agentId&&e.agentId===t.agent.id)return!0;const s=Vn(t);return $e(s,e.id)||$e(s,e.harnessSessionId)||$e(s,e.harnessLogPath)}function Po(e,t){const s=e?.command?.toLowerCase();return s?[t.agent.id,t.agent.selector?.replace(/^@/,"").replace(/\.node:.+$/,""),t.agent.defaultSelector?.replace(/^@/,"").replace(/\.node:.+$/,""),t.agent.harnessSessionId].filter(o=>!!(o&&o.length>=8)).some(o=>s.includes(o.toLowerCase())):!1}function $o(e,t){const s=Vn(t);return $e(s,e.refId)||$e(s,e.sessionId)||$e(s,e.transcriptPath)||Po(e.process,t)}function Ea(e,t){if(!e)return[];const s=[];for(const n of e.transcripts??[]){const o=n.source||"unknown",a=ft(n.sessionId)??ft(n.transcriptPath);if(!a)continue;const d=(n.lastEventAt??n.mtimeMs)||null;s.push({key:`transcript:${n.transcriptPath}`,refId:a,source:o,project:n.project?.trim()||G(n.cwd)||G(n.transcriptPath)||"unknown",cwd:De(n.cwd),transcriptPath:n.transcriptPath,sessionId:n.sessionId,mtimeMs:n.mtimeMs,size:n.size,status:d&&t-d<=Io?"active":"idle",process:null,lastActivityAt:d})}for(const n of e.processes??[]){const o=n.source||"unknown",a=De(n.cwd);s.push({key:`process:${o}:${n.pid}`,refId:`pid-${n.pid}`,source:o,project:G(a)??"unknown",cwd:a,transcriptPath:null,sessionId:null,mtimeMs:null,size:null,status:"active",process:n,lastActivityAt:null})}return s.sort((n,o)=>{const a=(n.status==="active"?0:1)-(o.status==="active"?0:1);return a!==0?a:(o.lastActivityAt??0)-(n.lastActivityAt??0)||n.project.localeCompare(o.project)})}function Do(e){if(!e)return"—";const t=e.replace(/^session[_:-]?/i,"");return t.length>10?t.slice(0,8):t}function Pe(e){const t=e?.trim();return t||void 0}function _o(e){const t=Pe(e.projectRoot)??Pe(e.cwd);return{target:{agentId:e.id,...t?{projectPath:t}:{}},execution:{session:"new",...Pe(e.harness)?{harness:Pe(e.harness)}:{},...Pe(e.model)?{model:Pe(e.model)}:{}}}}function Oo(e){if(e.length===0)return null;const t={working:0,needs_attention:1,queued:2,failed:3,completed:4},s=[...e].sort((n,o)=>{const a=t[n.status]-t[o.status];return a!==0?a:(o.updatedAt??0)-(n.updatedAt??0)})[0];return(s.summary??s.task??s.statusLabel??"").trim()||null}function Na(e,t,s){const n=Vs(e.state,e),o=e.project??G(e.projectRoot)??"Unscoped",a=e.branch??"—",d=Tt(e.harness)??Tt(e.agentClass)??"agent";return{agent:e,status:n,stateLabel:Xs(e.state,e),project:o,branch:a,harness:d,session:t,activeTask:Oo(s),activeAskCount:s.length,lastActivityAt:Math.max(0,t?.lastMessageAt??0,e.updatedAt??0)||null}}function Fo(e){return{...e,agents:[],scoutSessions:[],nativeSessions:[],workflows:[],status:"callable",lastActivityAt:null}}function lt(e,t){const s=e.get(t.key);if(s)return t.root&&(!s.root||$t(s.root)&&!$t(t.root))&&(s.root=t.root),s;const n=Fo(t);return e.set(t.key,n),n}function Uo(e){const t=e.agents.some(p=>p.status==="in_turn"||p.status==="in_flight"),s=e.nativeSessions.some(p=>p.status==="active"),n=e.workflows.some(p=>p.activeTaskCount>0||p.status==="running"),o=e.agents.some(p=>p.status==="callable");e.status=t||s||n?"in_turn":o?"callable":"blocked";const a=e.agents.map(p=>p.lastActivityAt??0),d=e.scoutSessions.map(p=>p.lastMessageAt??0),m=e.nativeSessions.map(p=>p.lastActivityAt??0),u=e.workflows.map(p=>p.lastActivityAt??0),w=Math.max(0,...a,...d,...m,...u);e.lastActivityAt=w||null}function Ho(e,t,s,n){const o=new Map,a=new Map;for(const u of e){const w=Eo(u);lt(o,w).agents.push(u),a.set(u.agent.id,w.key)}for(const u of s)lt(o,No(u)).nativeSessions.push(u);for(const u of n)lt(o,To(u)).workflows.push(u);const d=new Map;for(const u of t){const w=u.agentId?a.get(u.agentId):void 0,p=w?o.get(w)??null:Bt(u.workspaceRoot)?lt(o,Ro(u)):null;if(!p)continue;const x=p,F=d.get(x.key)??new Set;F.has(u.id)||(F.add(u.id),d.set(x.key,F),x.scoutSessions.push(u))}Ao(o);for(const u of o.values())u.agents.sort((w,p)=>{const x=ct[w.status]-ct[p.status];return x!==0?x:(p.lastActivityAt??0)-(w.lastActivityAt??0)||w.agent.name.localeCompare(p.agent.name)}),u.scoutSessions.sort((w,p)=>(p.lastMessageAt??0)-(w.lastMessageAt??0)),u.nativeSessions.sort((w,p)=>{const x=(w.status==="active"?0:1)-(p.status==="active"?0:1);return x!==0?x:(p.lastActivityAt??0)-(w.lastActivityAt??0)}),u.workflows.sort((w,p)=>{const x=(p.activeTaskCount>0?1:0)-(w.activeTaskCount>0?1:0);return x!==0?x:(p.lastActivityAt??0)-(w.lastActivityAt??0)||w.label.localeCompare(p.label)}),Uo(u);const m=[...o.values()];return jo(m),m.sort((u,w)=>{const p=ct[u.status]-ct[w.status];return p!==0?p:(w.lastActivityAt??0)-(u.lastActivityAt??0)||u.title.localeCompare(w.title)})}function xn(e){const t=Tt(e.harness)??"scout";return{key:`scout:${e.id}`,kind:"scout",status:e.kind,harness:t,label:e.title||e.agentName||e.id,detail:e.preview??e.id,lastActivityAt:e.lastMessageAt,route:{view:"conversation",conversationId:e.id}}}function jn(e){return{key:`native:${e.key}`,kind:"native",status:e.status,harness:e.source,label:Do(e.sessionId??e.refId),detail:e.transcriptPath??e.process?.command??e.cwd,lastActivityAt:e.lastActivityAt,route:e.sessionId||e.transcriptPath?{view:"sessions",sessionId:e.refId}:null}}function Bo(e,t){return e.agent.name.localeCompare(t.agent.name)||e.agent.id.localeCompare(t.agent.id)}function Sn(e){const t={workflow:0,native:1,scout:2};return[...e].sort((s,n)=>{const o=t[s.kind]-t[n.kind];return o!==0?o:s.harness.localeCompare(n.harness)||s.key.localeCompare(n.key)})}function Wo(e){const t=new Set,s=new Set,n=[...e.agents].sort(Bo).map(a=>{const d=[];for(const m of e.scoutSessions)t.has(m.id)||Lo(m,a)&&(t.add(m.id),d.push(xn(m)));for(const m of e.nativeSessions)s.has(m.key)||$o(m,a)&&(s.add(m.key),d.push(jn(m)));return{key:a.agent.id,row:a,sessions:Sn(d)}}),o=Sn([...e.nativeSessions.filter(a=>!s.has(a.key)).map(jn),...e.scoutSessions.filter(a=>!t.has(a.id)).map(xn)]);return{agents:n,unassignedSessions:o}}const zo=e=>e.status==="in_turn"||e.status==="in_flight";function Go(e){let t=e.row.lastActivityAt??0;for(const s of e.sessions)t=Math.max(t,s.lastActivityAt??0);return t}function Cn(e){return e.agents.filter(t=>zo(t.row)).length}function kn(e){return e.agents.some(t=>t.row.activeAskCount>0)}function Ra(e,t,s){const o=Ho(e,t,s,[]).map(a=>{const d=Wo(a);let m=0;for(const u of d.agents)m=Math.max(m,Go(u));for(const u of d.unassignedSessions)m=Math.max(m,u.lastActivityAt??0);return{slice:a,agents:d.agents,unassigned:d.unassignedSessions,lastActivityAt:m}});return o.sort((a,d)=>{const m=kn(a)?1:0,u=kn(d)?1:0;if(m!==u)return u-m;const w=Cn(a),p=Cn(d);return w!==p?p-w:d.lastActivityAt-a.lastActivityAt}),o}function Ta(e,t){if(!t)return null;const s=t.trim().replace(/^@+/,"");if(!s)return null;const n=e.find(m=>m.id===s);if(n)return n;if(s.split(".").filter(Boolean).length>=3)return null;const a=e.filter(m=>m.handle===s||m.selector===`@${s}`||m.defaultSelector===`@${s}`||m.id.startsWith(`${s}.`)),d=Array.from(new Map(a.map(m=>[m.id,m])).values());return d.length===1?d[0]:null}function La(e){const s=e.replace(/[\\/]+$/,"").split(/[\\/]/).filter(Boolean);return s[s.length-1]??e}function Pa(e){const t=De(e.projectRoot??e.cwd),s=e.project??G(t);return Ve(s,t)}function qo(e,t){const s=t?.trim();return s?e.find(n=>n.id===s)??null:null}function Ko(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 s=qo(t,e.agentId),n=e.conversationId??s?.conversationId??null;return{agentId:e.agentId,conversationId:n,label:s?.name??e.agentId,canUseExistingChat:!!n}}return{agentId:null,conversationId:null,label:"Pick a project",canUseExistingChat:!1}}function An({label:e,items:t,activeIndex:s,placement:n="above",onPick:o,onActiveIndexChange:a}){return t.length===0?null:i.jsxs("div",{className:"s-msg-compose-suggest surface-card","data-placement":n,role:"listbox","aria-label":e,children:[i.jsxs("div",{className:"s-msg-compose-suggest-header",children:[i.jsx("span",{className:"s-msg-compose-suggest-label label-xs text-muted",children:e}),i.jsxs("span",{className:"label-xs text-dim s-msg-compose-suggest-count",children:[t.length," options"]})]}),i.jsx("div",{className:"s-msg-compose-suggest-list",children:t.map((d,m)=>{const u=m===s;return i.jsxs("button",{type:"button",role:"option","aria-selected":u,className:`s-msg-compose-suggest-item${u?" s-msg-compose-suggest-item--active":""}`,onMouseDown:w=>{w.preventDefault(),o(m)},onMouseEnter:()=>a(m),children:[u&&i.jsx("span",{className:"s-msg-compose-suggest-active-indicator","aria-hidden":"true"}),d.avatarNode?i.jsx("span",{className:"s-msg-compose-suggest-avatar-node","aria-hidden":"true",children:d.avatarNode}):d.avatar?i.jsx("span",{className:"s-ops-avatar s-msg-compose-suggest-avatar",style:{"--size":"20px",background:d.avatar.color},"aria-hidden":"true",children:d.avatar.label}):null,i.jsx("span",{className:"s-msg-compose-suggest-token",children:d.token}),i.jsx("span",{className:"s-msg-compose-suggest-desc",children:d.description}),u&&i.jsx("span",{className:"s-msg-compose-suggest-pick-hint label-xs text-dim",children:i.jsx(so,{size:10,"aria-hidden":"true"})})]},d.id)})}),i.jsx("div",{className:"s-msg-compose-suggest-footer",children:i.jsxs("span",{className:"label-xs text-dim",children:[i.jsx("kbd",{className:"s-kbd",children:"↑"})," ",i.jsx("kbd",{className:"s-kbd",children:"↓"})," navigate · ",i.jsx("kbd",{className:"s-kbd",children:"↵"})," select · ",i.jsx("kbd",{className:"s-kbd",children:"esc"})," close"]})})]})}const z="",Jo={none:"no reasoning",minimal:"lightest",low:"triage",medium:"default",high:"deep",xhigh:"exhaustive",max:"fullest",ultra:"beyond max"},Vo=Ut.map(e=>({value:e,label:zn[e],note:Jo[e]}));function _e(e,t){return e.harnesses.find(s=>s.value===t)}function Wt(e,t){return _e(e,t)?.models??[]}function Ae(e,t,s){const n=_e(e,t),o=n?n.efforts===null?null:n.efforts??e.efforts:e.efforts;if(!o||!s)return o;const a=new Set((n?.models??[]).map(d=>d.value));return a.has(s)?o.filter(d=>{if(!d.models||d.models.length===0)return!0;const m=d.models.filter(u=>a.has(u));return m.length===0||m.includes(s)}):o}function Xn(e,t){const n=Wt(e,t.harness).find(o=>o.value===t.model);return n||(t.model.trim()?{value:t.model,label:t.model,note:"custom"}:{value:z,label:"Default",note:"harness picks"})}function Xo(e,t){const s=_e(e,t.harness),n=s?.label??t.harness??"Default",o=Xn(e,t),a=Ae(e,t.harness,t.model),d=a?.find(w=>w.value===t.effort),m=d?.label??t.effort,u=a?`Runtime: ${n}, model ${o.label}, effort ${m}`:`Runtime: ${n}, model ${o.label}`;return{harness:s,harnessLabel:n,model:o,modelLabel:o.label,effort:d,effortLabel:m,supportsEffort:a!==null,summary:u}}function Yo(e,t,s){const n={...t,...s};if(!(s.harness!==void 0&&s.harness!==t.harness)){if(s.model===void 0||s.model===t.model)return n;const p=Ae(e,n.harness,n.model);if(!p||n.effort===z||p.some(Z=>Z.value===n.effort))return n;const F=(Ae(e,t.harness,t.model)??e.efforts).findIndex(Z=>Z.value===t.effort),Q=Math.min(Math.max(F,0),p.length-1);return n.effort=p[Q]?.value??p[0]?.value??z,n}const a=_e(e,n.harness);n.model=s.model??a?.defaultModel??z,s.effort===void 0&&a?.defaultEffort&&(n.effort=a.defaultEffort);const d=Ae(e,n.harness,n.model);if(!d)return n.effort=z,n;if(d.some(p=>p.value===n.effort))return n;const u=(Ae(e,t.harness,t.model)??e.efforts).findIndex(p=>p.value===t.effort),w=Math.min(Math.max(u,0),d.length-1);return n.effort=d[w]?.value??d[0]?.value??z,n}function Qo(e,t){const s=t?.harness??e.harnesses.find(a=>!a.disabled)?.value??"",n=Ae(e,s),o=n?.find(a=>a.note==="default")?.value??n?.[Math.floor((n.length-1)/2)]?.value??z;return{harness:s,model:t?.model??_e(e,s)?.defaultModel??Wt(e,s)[1]?.value??z,effort:n?t?.effort??_e(e,s)?.defaultEffort??o:z}}function Zo(e,t){const s=t.trim().toLowerCase();return s?e.filter(n=>`${n.label} ${n.value} ${n.note??""}`.toLowerCase().includes(s)):e}function qe(...e){for(const t of e){const s=t?.trim();if(s)return s}}function Yn(e){const t=e.harnesses.map(n=>{const o=e.defaultsByHarness?.[n.id],a=n.ready!==!1,d=[{value:z,label:"Default",note:"harness picks"},...e.models.filter(u=>u.harnesses.includes(n.id)).map(u=>({value:u.id,label:u.label,note:qe(u.description)}))],m=e.efforts.filter(u=>u.harnesses.includes(n.id));return{value:n.id,label:n.label,note:a?qe(n.description):qe(n.detail,n.state,"unavailable"),disabled:!a,defaultModel:o?.model??z,defaultEffort:o?.reasoningEffort??z,models:d,efforts:m.length===0?null:m.map(u=>({value:u.id,label:u.label,note:qe(u.description),...u.models?.length?{models:[...u.models]}:{}}))}}),s=e.efforts.map(n=>({value:n.id,label:n.label,note:qe(n.description)}));return{harnesses:t,efforts:s.length>0?s:Vo}}const er=6,Mn=400,tr=14,nr=300,ke=8,It=["harness","model","effort"],sr={harness:"horizontal",model:"horizontal",effort:"horizontal"};function or(){return i.jsx("svg",{className:"s-rt-chip-chevron",width:"8",height:"5",viewBox:"0 0 8 5",fill:"none","aria-hidden":"true",children:i.jsx("path",{d:"M1 1.2 4 4 7 1.2",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}function rr({ctx:e}){const{efforts:t,value:s,set:n}=e;if(!t)return null;const o=Math.max(0,t.findIndex(a=>a.value===s.effort));return i.jsx("div",{className:"s-rt-ladder",role:"radiogroup","aria-label":"Reasoning effort",children:t.map((a,d)=>{const m=d===o;return i.jsxs("button",{type:"button",role:"radio","aria-checked":m,title:a.note,onClick:()=>n({effort:a.value}),...e.cell("effort",d),className:"s-rt-step",children:[i.jsx("span",{className:"s-rt-step-bar","data-state":m?"current":d<o?"filled":"empty"}),i.jsx("span",{className:"s-rt-step-label",children:a.label})]},a.value)})})}function ar({harnessLabel:e}){return i.jsxs("p",{className:"s-rt-effort-absent",children:[e," has no effort control."]})}function Et({children:e}){return i.jsx("h3",{className:"s-rt-label",children:e})}function ir({ctx:e}){return i.jsxs("div",{className:"s-rt-search",children:[i.jsxs("svg",{width:"11",height:"11",viewBox:"0 0 12 12","aria-hidden":"true",className:"s-rt-search-icon",children:[i.jsx("circle",{cx:"5",cy:"5",r:"3.4",fill:"none",stroke:"currentColor",strokeWidth:"1.3"}),i.jsx("path",{d:"M7.6 7.6 10.5 10.5",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})]}),i.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?i.jsx("button",{type:"button",onClick:()=>{e.setQuery(""),e.searchRef.current?.focus()},"aria-label":"Clear filter",className:"s-rt-search-clear",children:"clear"}):null]})}function cr({ctx:e}){return e.status==="loading"?i.jsxs("div",{className:"s-rt-status","aria-busy":!0,role:"status",children:[i.jsx("span",{className:"s-rt-sr",children:"Loading models"}),[0,1,2].map(t=>i.jsx("span",{"aria-hidden":!0,className:"s-rt-skel",style:{animationDelay:`${t*90}ms`}},t))]}):e.status==="error"?i.jsxs("div",{role:"alert",className:"s-rt-status s-rt-status--error",children:[i.jsx("span",{className:"s-rt-status-message",children:e.statusMessage??"Model catalog unavailable."}),e.onRetry?i.jsx("button",{type:"button",onClick:e.onRetry,className:"s-rt-retry",children:"Retry"}):null]}):i.jsx("p",{className:"s-rt-empty",children:e.query.trim()?`No model matches “${e.query.trim()}”.`:"No models listed."})}function lr({ctx:e}){return e.status!=="ready"||e.models.length===0?i.jsx(cr,{ctx:e}):i.jsx("div",{role:"listbox","aria-label":"Model",className:"s-rt-models",children:e.models.map((t,s)=>{const n=t.value===e.value.model,o=t.disabled??!1;return i.jsx("button",{type:"button",role:"option","aria-selected":n,"aria-disabled":o||void 0,onClick:()=>{o||e.set({model:t.value})},"data-on":n||void 0,"data-disabled":o||void 0,title:t.note,...e.cell("model",s),style:{animationDelay:`${Math.min(s,6)*16}ms`},className:"s-rt-opt s-rt-model-opt",children:t.label},t.value||"default")})},e.value.harness)}function In({value:e,defaultValue:t,onChange:s,catalog:n,status:o="ready",statusMessage:a,onRetry:d,disabled:m=!1,showEffort:u,searchable:w="auto",className:p}){const[x,F]=l.useState(!1),[Q,Z]=l.useState(""),[Xe,Ye]=l.useState(()=>Qo(n,t)),M=e??Xe,C=l.useRef(null),he=l.useRef(null),pe=l.useRef(null),ge=l.useRef(null),I=l.useId(),je=l.useCallback(f=>{const v=Yo(n,M,f);e===void 0&&Ye(v),s?.(v),f.harness!==void 0&&f.harness!==M.harness&&Z("")},[n,e,s,M]),L=n.harnesses,Oe=l.useMemo(()=>Wt(n,M.harness),[n,M.harness]),_=l.useMemo(()=>{const f=Xn(n,M);return f.note!=="custom"?Oe:[...Oe,f]},[Oe,n,M]),ie=l.useMemo(()=>Zo(_,Q),[_,Q]),Fe=Ae(n,M.harness,M.model),ee=u===!1?null:u===!0?Fe??n.efforts:Fe,te=w==="auto"?_.length>er:w,U=Xo(n,M),N=l.useRef(new Map),[be,T]=l.useState({group:"model",index:0}),P=l.useMemo(()=>({harness:L.length,model:o==="ready"?ie.length:0,effort:ee?.length??0}),[ee?.length,L.length,ie.length,o]),ce=l.useCallback(f=>f==="harness"?Math.max(0,L.findIndex(v=>v.value===M.harness)):f==="model"?Math.max(0,ie.findIndex(v=>v.value===M.model)):Math.max(0,ee?.findIndex(v=>v.value===M.effort)??0),[ee,L,ie,M]),R=l.useCallback((f,v)=>{T({group:f,index:v}),N.current.get(`${f}:${v}`)?.focus()},[]),ne=l.useCallback((f,v)=>{const b=It.indexOf(f);for(let S=b+v;S>=0&&S<It.length;S+=v){const k=It[S];if(P[k]>0)return R(k,Math.min(ce(k),P[k]-1)),!0}return!1},[P,R,ce]),Qe=l.useCallback((f,v)=>({ref:b=>{const S=`${f}:${v}`;b?N.current.set(S,b):N.current.delete(S)},tabIndex:be.group===f&&be.index===v?0:-1,onFocus:()=>T({group:f,index:v}),onKeyDown:b=>{const S=sr[f]==="vertical",k=S?"ArrowDown":"ArrowRight",q=S?"ArrowUp":"ArrowLeft",W=S?"ArrowRight":"ArrowDown",He=S?"ArrowLeft":"ArrowUp",O=P[f];O!==0&&(f==="model"&&b.key==="ArrowUp"&&te?(b.preventDefault(),T({group:f,index:v}),ge.current?.focus()):b.key===k?(b.preventDefault(),R(f,(v+1)%O)):b.key===q?(b.preventDefault(),R(f,(v-1+O)%O)):b.key===W?(b.preventDefault(),ne(f,1)):b.key===He?(b.preventDefault(),ne(f,-1)):b.key==="Home"?(b.preventDefault(),R(f,0)):b.key==="End"&&(b.preventDefault(),R(f,O-1)))}}),[P,be,R,ne,te]),we=l.useCallback(f=>{if(f.key==="ArrowDown"&&P.model>0)f.preventDefault(),R("model",0);else if(f.key==="ArrowUp")f.preventDefault(),ne("model",-1);else if(f.key==="Enter"&&P.model===1){f.preventDefault();const v=ie[0];v.disabled||je({model:v.value})}else f.key==="Escape"&&Q&&(f.preventDefault(),f.stopPropagation(),Z(""))},[P.model,R,ne,ie,Q,je]),[H,Ue]=l.useState(null),ve=l.useCallback(()=>{const f=he.current;if(!f)return;const v=f.getBoundingClientRect(),b=v.top,S=window.innerHeight-v.bottom,k=b>=nr||b>=S?"up":"down",q=Math.min(Mn,window.innerWidth-ke*2),W=Math.min(Math.max(ke,v.right-q),Math.max(ke,window.innerWidth-q-ke));Ue({left:W,top:k==="up"?v.top-ke:v.bottom+ke,placement:k})},[]);l.useLayoutEffect(()=>{if(!x)return;ve();const f=()=>ve();return window.addEventListener("scroll",f,!0),window.addEventListener("resize",f),()=>{window.removeEventListener("scroll",f,!0),window.removeEventListener("resize",f)}},[x,ve]);const E=l.useCallback(f=>{F(!1),f&&he.current?.focus()},[]);l.useEffect(()=>{if(!x)return;const f=b=>{const S=b.target;C.current?.contains(S)||pe.current?.contains(S)||F(!1)},v=b=>{b.key==="Escape"&&(b.stopPropagation(),E(!0))};return document.addEventListener("pointerdown",f),document.addEventListener("keydown",v),()=>{document.removeEventListener("pointerdown",f),document.removeEventListener("keydown",v)}},[x,E]),l.useEffect(()=>{if(!x)return;const f=P.model>0?"model":"harness",v=Math.min(ce(f),Math.max(0,P[f]-1));T({group:f,index:v});const b=requestAnimationFrame(()=>{const S=N.current.get(`${f}:${v}`);S?S.focus():pe.current?.focus()});return()=>cancelAnimationFrame(b)},[x]),l.useEffect(()=>{x||Z("")},[x]),l.useEffect(()=>{m&&F(!1)},[m]);const B={value:M,set:je,status:o,statusMessage:a,onRetry:d,harnesses:L,models:ie,efforts:ee,harnessLabel:U.harnessLabel,searchable:te,query:Q,setQuery:Z,searchRef:ge,cell:Qe,onSearchKeyDown:we};return i.jsxs("div",{ref:C,className:p?`s-rt-root ${p}`:"s-rt-root",style:{position:"relative",display:"inline-flex"},children:[i.jsxs("button",{ref:he,type:"button",className:`s-rt-chip${m?" s-rt-chip--disabled":""}`,"aria-haspopup":"dialog","aria-expanded":x,"aria-controls":x?I:void 0,"aria-label":U.summary,disabled:m,onClick:()=>F(f=>!f),children:[i.jsx(bn,{harness:M.harness||"unknown",size:12,className:"s-rt-chip-mark",title:null}),i.jsxs("span",{className:"s-rt-chip-type",children:[i.jsx("span",{className:"s-rt-chip-model",style:{maxWidth:`${tr}ch`},children:i.jsx("span",{className:"s-rt-chip-model-text",children:U.modelLabel},U.modelLabel)}),ee&&U.effortLabel?i.jsxs(i.Fragment,{children:[i.jsx("span",{"aria-hidden":!0,className:"s-rt-chip-divider"}),i.jsx("span",{className:"s-rt-chip-effort","data-effort":M.effort,children:U.effortLabel})]}):null]}),i.jsx(or,{})]}),x&&H?Hs.createPortal(i.jsxs("div",{ref:pe,id:I,role:"dialog","aria-label":"Runtime",tabIndex:-1,"data-placement":H.placement,className:"s-rt-panel",style:{left:H.left,width:Math.min(Mn,window.innerWidth-ke*2),...H.placement==="up"?{bottom:window.innerHeight-H.top}:{top:H.top}},children:[i.jsxs("section",{className:"s-rt-band",style:{animationDelay:"20ms"},children:[i.jsx(Et,{children:"Harness"}),i.jsx("div",{className:"s-rt-options",role:"radiogroup","aria-label":"Harness",children:L.map((f,v)=>{const b=f.value===M.harness,S=f.disabled??!1;return i.jsxs("button",{type:"button",role:"radio","aria-checked":b,"aria-disabled":S||void 0,onClick:()=>{S||B.set({harness:f.value})},"data-on":b||void 0,"data-disabled":S||void 0,title:f.note,...B.cell("harness",v),className:"s-rt-opt s-rt-harness-opt",children:[i.jsx(bn,{harness:f.value||"unknown",size:13,className:"s-rt-opt-mark",title:null}),i.jsx("span",{children:f.label})]},f.value||"default")})})]}),i.jsxs("section",{className:"s-rt-band",style:{animationDelay:"45ms"},children:[i.jsx(Et,{children:"Model"}),te?i.jsx(ir,{ctx:B}):null,i.jsx(lr,{ctx:B}),U.model.note?i.jsx("p",{className:"s-rt-band-note",children:U.model.note}):null]}),i.jsxs("section",{className:"s-rt-band",style:{animationDelay:"70ms"},children:[i.jsx(Et,{children:"Effort"}),i.jsx("div",{className:"s-rt-effort",children:ee?i.jsx(rr,{ctx:B}):i.jsx(ar,{harnessLabel:U.harnessLabel})})]})]}),document.body):null]})}const Dt="scout:newchat:frame:v1",dr=620,En=420,Nn=300,mt=12,ur=210,fr=154;function Qn(e){return e>dr}function Rn(e,t,s){if(!Qn(s.width))return null;const n=e??t;return n?ht(n,s):null}function mr(e){return e?Math.max(fr,Math.round(e.height-ur)):null}function Tn(e,t,s){const n=s-t-mt;return Math.round(Math.max(mt,Math.min(e,n)))}function ht(e,t){const s=Math.round(Math.max(En,Math.min(e.width,Math.max(En,t.width-mt*2)))),n=Math.round(Math.max(Nn,Math.min(e.height,Math.max(Nn,t.height-mt*2))));return{x:Tn(e.x,s,t.width),y:Tn(e.y,n,t.height),width:s,height:n}}function hr(e,t,s,n){return ht({...e,x:e.x+t,y:e.y+s},n)}function pr(e,t,s,n,o){const a=n==="s"?e.width:e.width+t,d=n==="e"?e.height:e.height+s;return ht({...e,width:a,height:d},o)}function gr(e){if(!e||typeof e!="object")return!1;const t=e;return["x","y","width","height"].every(s=>typeof t[s]=="number"&&Number.isFinite(t[s]))}function br(e){if(!e)return null;try{const t=JSON.parse(e);return gr(t)?{x:t.x,y:t.y,width:t.width,height:t.height}:null}catch{return null}}function Ln(){try{return typeof localStorage>"u"?null:br(localStorage.getItem(Dt))}catch{return null}}function Pn(e){try{if(typeof localStorage>"u")return;if(!e){localStorage.removeItem(Dt);return}localStorage.setItem(Dt,JSON.stringify(e))}catch{}}const _t=ro()??"",$n=Gn(_t),Me={schemaVersion:"openscout.runtime-capabilities.v1",catalogVersion:Y.schemaVersion,defaults:{harness:_t,model:$n,reasoningEffort:qn(_t,$n)},defaultsByHarness:co,harnesses:Y.harnesses.filter(e=>e.enabled&&e.listed!==!1).map(e=>({id:e.id,label:e.label})),models:uo.map(e=>({id:e.id,label:e.label,...e.description?{description:e.description}:{},harnesses:[...e.harnesses]})),efforts:ho.map(e=>({id:e.id,label:e.label,...e.description?{description:e.description}:{},harnesses:[...e.harnesses],...e.models?{models:[...e.models]}:{}}))};function $a(e){return Yn({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 wr="|";function Dn(e){return e<55296?e:e<57344?e+8192:e-2048}function vr(e,t){if(e===t)return 0;const s=Math.min(e.length,t.length);for(let n=0;n<s;n+=1){const o=e.charCodeAt(n),a=t.charCodeAt(n);if(o!==a)return Dn(o)<Dn(a)?-1:1}return e.length===t.length?0:e.length<t.length?-1:1}function _n(e){return Number.isFinite(e)?e:0}function yr(e,t){const s=_n(e.createdAt),n=_n(t.createdAt);return s!==n?s<n?-1:1:vr(e.id,t.id)}function xr(e){return`${Number.isFinite(e.createdAt)?Math.max(0,Math.trunc(e.createdAt)):0}${wr}${e.id}`}const jr=10,Sr=80,On=300,Fn=100,Zn=2e3,Cr=jr,xe=new Map,me=new Map;let es=0;function Ee(e){return e.trim()}function kr(e){const t=new Map;for(const s of e)t.set(s.id,s);return[...t.values()].sort(yr)}function Ar(){if(xe.size<=Cr)return;let e=null,t=Number.POSITIVE_INFINITY;for(const[s,n]of xe)n.touchedAt<t&&(e=s,t=n.touchedAt);e&&xe.delete(e)}function Ie(e){const t=Ee(e),s=xe.get(t);return s?(s.touchedAt=++es,s.messages):null}function zt(e,t,s={}){const n=Ee(e);if(!n)return[];const o=xe.get(n),a=kr(t).slice(-Zn);return xe.set(n,{messages:a,historyLoaded:s.historyLoaded??o?.historyLoaded??!1,historyExhausted:s.historyExhausted??o?.historyExhausted??!1,touchedAt:++es}),Ar(),a}function ts(e,t){const s=Ie(e)??[];return zt(e,[...s,...t])}function ns(e){return xe.get(Ee(e))?.historyLoaded??!1}function Mr(e){const t=xe.get(Ee(e));return!!(t&&t.historyLoaded&&!t.historyExhausted&&t.messages.length>0&&t.messages.length<Zn)}async function Da(e,t={}){const s=Ee(e);if(!s)return[];const n=Ie(s);if(n&&!t.refresh)return n;const o=me.get(s);if(o)return o;const a=X(`/api/messages?conversationId=${encodeURIComponent(s)}&limit=${Sr}`).then(d=>ts(s,d));me.set(s,a);try{return await a}finally{me.delete(s)}}async function Ir(e){const t=Ee(e);if(!t)return[];if(ns(t))return Ie(t)??[];const s=`${t}:history`,n=me.get(s);if(n)return n;const o=X(`/api/messages?conversationId=${encodeURIComponent(t)}&limit=${On}`).then(a=>zt(t,[...Ie(t)??[],...a],{historyLoaded:!0,historyExhausted:a.length<On}));me.set(s,o);try{return await o}finally{me.delete(s)}}async function _a(e){const t=Ee(e);if(!t)return[];if(!ns(t))return Ir(t);if(!Mr(t))return Ie(t)??[];const s=Ie(t)??[],n=s[0];if(!n)return s;const o=xr(n),a=`${t}:before:${o}`,d=me.get(a);if(d)return d;const m=X(`/api/messages?conversationId=${encodeURIComponent(t)}&limit=${Fn}&beforeMessageId=${encodeURIComponent(o)}`).then(u=>zt(t,[...u,...Ie(t)??[]],{historyLoaded:!0,historyExhausted:u.length<Fn}));me.set(a,m);try{return await m}finally{me.delete(a)}}const Er=12e4,Je=new Map;function Nr(){const e=globalThis.crypto?.randomUUID?.();return e?`web-${e}`:`web-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function Rr(e){const t=e.conversationId.trim(),s=e.messageId.trim();if(!t||!s)return;ts(t,[{id:s,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 n=e.flightId?.trim(),o=e.agentId?.trim();!n||!o||Je.set(t,{flight:{id:n,invocationId:e.invocationId?.trim()||`pending:${n}`,agentId:o,agentName:null,conversationId:t,collaborationRecordId:null,state:"queued",summary:"Request accepted; waiting for worker activity.",startedAt:e.createdAt,completedAt:null,sessions:[]},expiresAt:Date.now()+Er})}function Oa(e,t=Date.now()){const s=e.trim(),n=Je.get(s);return n?n.expiresAt<=t?(Je.delete(s),null):n.flight:null}function Fa(e,t){const s=e.trim(),n=Je.get(s);n&&(!t||n.flight.id===t)&&Je.delete(s)}const Tr=1200,Lr=new Set(["Page","URL"]);function ss(e){return e.trim().slice(0,Tr)}function Pr(e){const t=[{label:"Page",value:e.pageTitle??""},{label:"URL",value:e.pageUrl??""}];return e.selection?.trim()&&t.push({label:"Selection",value:ss(e.selection)}),(e.notes??[]).forEach((s,n)=>{t.push({label:`Note ${n+1}`,value:s})}),t.filter(s=>s.value.trim())}function $r(e,t){const s=[];for(const o of t){const a=o.value.trim();a&&(Lr.has(o.label)?s.push(`${o.label}: ${a}`):s.push(`${o.label}:
2
+ ${a.split(`
3
+ `).map(d=>`> ${d}`).join(`
4
+ `)}`))}const n=e.trim();return n&&s.push(n),s.join(`
5
+
6
+ `)}const Dr=6,Un=1600;function _r(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 os(e){const t=e.body.trim(),s=_r(e.attachmentCount??0),n=[t,s].filter(Boolean).join(`
7
+ `)||"(message has no text)";return n.length<=Un?n:`${n.slice(0,Un-1).trimEnd()}…`}function Or(e){const t=os(e).split(/\r?\n/gu).map(s=>`> ${s}`).join(`
8
+ `);return`Forwarded from ${e.actorLabel} in Scout
9
+
10
+ ${t}`}function Ua(e){const t=e.messages.findIndex(a=>a.id===e.selectedMessageId);if(t<0)throw new Error("The selected message is no longer available in this conversation.");const s=e.messages[t],n=e.messages.slice(Math.max(0,t-Dr),t).filter(a=>a.body.trim()||(a.attachmentCount??0)>0),o=n.map(a=>`${a.actorLabel}:
11
+ ${os(a)}`).join(`
12
+
13
+ `).slice(-8e3).trim();return{selectedMessage:Or(s),selectedMessageId:s.id,sourceConversationId:e.conversationId,...o?{recentContext:o}:{},recentMessageCount:n.length}}function Fr(e,t,s){const n=s.trim(),o=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 n?o?`${n}
16
+
17
+ ---
18
+
19
+ ${o}`:n:o}const rs="openscout.project-recency.v1",as=12;function is(e){const t=e?.trim();return t?t.length>1?t.replace(/\/+$/u,""):t:null}function Ot(){if(typeof window>"u")return[];try{const e=window.localStorage.getItem(rs);if(!e)return[];const t=JSON.parse(e);if(!Array.isArray(t))return[];const s=[];for(const n of t){const o=typeof n=="string"?is(n):null;o&&!s.includes(o)&&s.push(o)}return s.slice(0,as)}catch{return[]}}function Hn(e){const t=is(e);if(!t)return Ot();const s=[t,...Ot().filter(n=>n!==t)].slice(0,as);if(typeof window<"u")try{window.localStorage.setItem(rs,JSON.stringify(s))}catch{}return s}async function Ur(e){const t=e.conversationId?.trim();if(t)return t;const s=e.projectRoot?.trim()||e.cwd?.trim(),n=await X("/api/conversations/direct",{method:"POST",body:JSON.stringify({agentId:e.id,targetLabel:e.selector??e.defaultSelector??e.name,...s?{projectPath:s}:{}})}),o=n.chatId?.trim()??n.conversationId?.trim()??n.cId?.trim()??n.id?.trim();if(!o)throw new Error("Chat was created, but no chat id was returned.");return o}function Ke(e){const t=e?.trim();return t?t.length>1?t.replace(/\/+$/u,""):t:null}function Ft(e){return e.split("/").filter(Boolean).at(-1)??e}function Hr(e,t,s="claude"){const n=new Map;for(const o of e){const a=Ke(o.root);a&&n.set(a,{id:o.id||`project:${a}`,title:o.title?.trim()||Ft(a),root:a,defaultHarness:o.defaultHarness?.trim()||s,source:"inventory",registrationKind:o.registrationKind?.trim()||null})}for(const o of t){const a=Ke(o.projectRoot??o.cwd);!a||n.has(a)||n.set(a,{id:`agent-project:${a}`,title:o.project?.trim()||Ft(a),root:a,defaultHarness:o.harness?.trim()||s,source:"agent",registrationKind:null})}return[...n.values()].sort((o,a)=>o.title.localeCompare(a.title,void 0,{sensitivity:"base"})||o.root.localeCompare(a.root))}function Br(e,t){const s=e.title.toLocaleLowerCase(),n=e.root.toLocaleLowerCase(),o=Ft(e.root).toLocaleLowerCase();return s===t||o===t||n===t?0:s.startsWith(t)||o.startsWith(t)?1:n.startsWith(t)?2:t.split(/\s+/u).filter(Boolean).every(d=>s.includes(d)||n.includes(d))?3:null}function Wr(e,t){if(t.length===0)return[...e];const s=new Map(e.map(a=>[a.root,a])),n=[],o=new Set;for(const a of t){const d=s.get(a);!d||o.has(a)||(o.add(a),n.push(d))}return[...n,...e.filter(a=>!o.has(a.root))]}function zr(e,t){const s=t.trim().toLocaleLowerCase();return s?e.map(n=>({project:n,score:Br(n,s)})).filter(n=>n.score!==null).sort((n,o)=>n.score-o.score||n.project.title.localeCompare(o.project.title,void 0,{sensitivity:"base"})||n.project.root.localeCompare(o.project.root)).map(n=>n.project):[...e]}function Gr(e,t){return e===t||e.startsWith(`${t}/`)}function qr(e,t){const s=Ke(t.preferredRoot);if(s){const o=e.find(a=>a.root===s);if(o)return o}for(const o of t.recentRoots??[]){const a=Ke(o);if(!a)continue;const d=e.find(m=>m.root===a);if(d)return d}const n=Ke(t.currentDirectory);if(n){const o=e.filter(a=>Gr(n,a.root)).sort((a,d)=>d.root.length-a.root.length)[0];if(o)return o}return e[0]??null}async function Kr(e){await X("/api/send",{method:"POST",body:JSON.stringify({conversationId:e.conversationId,body:e.body?.trim()??"",attachments:e.attachments})})}async function Jr(e,t){const s=t?.attachments?.filter(Boolean)??[],n=t?.instructions?.trim(),o=_o(e),a=n||s.length>0?{...o,seed:{...n?{instructions:n}:{},...s.length>0?{attachments:s}:{},...t?.clientMessageId?{clientMessageId:t.clientMessageId}:{}}}:o;return await X("/api/sessions",{method:"POST",body:JSON.stringify(a)})}async function Vr(e){const t=e.projectPath.trim(),s=e.harness?.trim(),n=e.model?.trim(),o=e.reasoningEffort?.trim(),a=e.instructions?.trim(),d=e.fromMessageId?.trim(),m=e.fromConversationId?.trim(),u=e.attachments?.filter(Boolean)??[];return X("/api/sessions",{method:"POST",body:JSON.stringify({target:{projectPath:t},execution:{session:"new",...s?{harness:s}:{},...n?{model:n}:{},...o?{reasoningEffort:o}:{}},agent:{persistence:"one_time"},...a||u.length>0||d&&m?{seed:{...a?{instructions:a}:{},...u.length>0?{attachments:u}:{},...e.clientMessageId?{clientMessageId:e.clientMessageId}:{},...d&&m?{fromMessageId:d,fromConversationId:m}:{}}}:{}})})}async function Ha(e){return X("/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 Xr(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";case"grok-acp":case"grok_acp":return"grok-acp";case"kimi":return"kimi";case"opencode":case"opencode_acp":return"opencode";case"devin":case"devin-acp":case"devin_acp":return"devin";default:return}}function Ba(e){const t=Xr(e);return t&&["claude","codex","grok","opencode","pi"].includes(t)?t:void 0}async function Wa(e){const t=e.projectPath.trim(),s=e.sessionId.trim(),n=e.instructions.trim(),o=e.harness?.trim()||void 0,a=e.model?.trim()||void 0,d=e.reasoningEffort?.trim()||void 0;return X("/api/sessions",{method:"POST",body:JSON.stringify({target:{projectPath:t},execution:{session:"existing",targetSessionId:s,...o?{harness:o}:{},...a?{model:a}:{},...d?{reasoningEffort:d}:{}},seed:{instructions:n}})})}async function Yr(e,t){const s=t.message?.trim();if(t.mode==="existing-chat"){const a=await Ur(e);return await Kr({conversationId:a,body:s||"Shared capture",attachments:t.attachments}),{conversationId:a,agentId:e.id}}const n=await Jr(e,{instructions:s||"Shared capture for context.",attachments:t.attachments}),o=n.conversationId?.trim();if(!o)throw new Error("Session started, but no conversation was returned.");return{conversationId:o,agentId:n.agentId?.trim()||e.id}}const cs=Me.harnesses.map(e=>({id:e.id,label:e.label??e.id,description:null,state:null,ready:null,detail:null})),Qr=Me.models.map(e=>({id:e.id,label:e.label??e.id,description:e.description??null,harnesses:[...e.harnesses],source:"catalog"})),Zr=Me.efforts.map(e=>({...e,harnesses:[...e.harnesses],...e.models?{models:[...e.models]}:{}})),dt={defaults:{harness:Me.defaults?.harness??"claude",model:Me.defaults?.model??null,reasoningEffort:Me.defaults?.reasoningEffort??"medium"},defaultsByHarness:Me.defaultsByHarness,harnesses:cs,models:Qr,efforts:Zr};let Nt=null;const Bn="/api/runner/options",ea=5*6e4,Wn=5;function ta(e,t){const s=e.defaults.harness===t?e.defaults.model?.trim()??"":"";return s&&e.models.some(n=>n.id===s&&n.harnesses.includes(t))?s:e.models.find(n=>n.harnesses.includes(t))?.id??""}function na(e,t){const s=e.efforts.filter(n=>n.harnesses.includes(t));return s.find(n=>n.id===e.defaults.reasoningEffort)?.id??s.find(n=>n.id==="medium")?.id??s[0]?.id??""}function sa(e){return URL.createObjectURL(e)}function Rt(e){return e.replace(/^\/Users\/[^/]+/u,"~")}function oa(e){return e.split("/").filter(Boolean).at(-1)??e}function ra(e){const t=e.trim();return t.startsWith("/")||t.startsWith("~/")}function aa({file:e,onRemove:t}){const s=l.useMemo(()=>sa(e),[e]);l.useEffect(()=>()=>URL.revokeObjectURL(s),[s]);const n=e.type.startsWith("video/"),o=e.type.startsWith("image/");return i.jsxs("div",{className:"s-newchat-attachment",children:[n?i.jsx("video",{src:s,muted:!0,playsInline:!0}):o?i.jsx("img",{src:s,alt:e.name}):i.jsxs("div",{className:"s-newchat-attachment-file",title:e.name,children:[i.jsx(to,{size:24,"aria-hidden":"true"}),i.jsx("span",{children:e.name})]}),i.jsx("span",{className:"s-newchat-attachment-badge",children:n?"video":o?"image":"file"}),i.jsx("button",{type:"button",className:"s-newchat-attachment-remove","aria-label":`Remove ${e.name}`,onClick:t,children:"×"})]})}function ut(){return{width:window.innerWidth,height:window.innerHeight}}function ia({agents:e,route:t,navigate:s,onClose:n,initialAgentId:o,initialConversationId:a,initialMessage:d,initialFiles:m,initialAttachmentFeedback:u,initialIntent:w="new-task",initialProjectPath:p,initialForwardContext:x,initialForwardContextMode:F="selected-message",defaultMode:Q,draftRestored:Z=!1,onDraftChange:Xe,onDraftConsumed:Ye}){const M=l.useMemo(()=>Ko(t,e),[t,e]),C=w==="forward-message"&&!!x,he=l.useMemo(()=>[...e].sort((r,c)=>(c.updatedAt??0)-(r.updatedAt??0)),[e]),pe=w==="route-capture"?o??M.agentId??null:null,ge=w==="route-capture"?a??M.conversationId:null,I=he.find(r=>r.id===pe)??null,je=I?.projectRoot??I?.cwd??null,[L,Oe]=l.useState(null),[_,ie]=l.useState(()=>Nt??Gs(Bn,ea)),[Fe,ee]=l.useState(null),[te,U]=l.useState(null),[N,be]=l.useState(()=>p||je||""),[T,P]=l.useState(""),[ce,R]=l.useState(0),[ne,Qe]=l.useState(()=>Ot()),[we,H]=l.useState(!1),[Ue,ve]=l.useState(null),[E,B]=l.useState(()=>d??""),[f,v]=l.useState(F),[b,S]=l.useState({open:!1,query:"",triggerStart:-1,index:0}),[k,q]=l.useState({open:!1,query:"",triggerStart:-1,index:0}),[W,He]=l.useState(()=>[...m??[]]),[O,Gt]=l.useState(()=>Q||(ge?"existing-chat":"new-session")),[ls,qt]=l.useState("idle"),[ds,pt]=l.useState("idle"),[Kt,Se]=l.useState(null),[Ze,Jt]=l.useState(()=>u??null),[Be]=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?"":ss(window.getSelection()?.toString()??"")}}),[gt,us]=l.useState(!1),[le,Vt]=l.useState(()=>I?.harness?.trim()||dt.defaults.harness),[et,Xt]=l.useState(()=>I?.model?.trim()||dt.defaults.model||""),[tt,Yt]=l.useState(dt.defaults.reasoningEffort||""),[bt,Qt]=l.useState(()=>Z?"Restored your unsent draft.":null),[fs,wt]=l.useState(0),{ref:vt,onKeyDown:ms}=Js(!0),$=l.useRef(null),yt=l.useRef(null),Ce=l.useRef(0),nt=l.useRef(!!p),Zt=l.useRef(!1),[se,Ne]=l.useState(null),[hs,xt]=l.useState(null),We=l.useRef(null);l.useEffect(()=>{typeof window>"u"||Ne(Rn(null,Ln(),ut()))},[]),l.useEffect(()=>{if(typeof window>"u")return;const r=()=>{Ne(c=>{const g=ut();return Rn(c,c?null:Ln(),g)})};return window.addEventListener("resize",r),()=>window.removeEventListener("resize",r)},[]);const ps=l.useCallback(()=>{if(se)return se;const r=vt.current;if(!r)return null;const c=r.getBoundingClientRect();return{x:Math.round(c.left),y:Math.round(c.top),width:Math.round(c.width),height:Math.round(c.height)}},[se,vt]),gs=(r,c)=>{if(typeof window>"u"||r.button!==0||!Qn(window.innerWidth)||!c&&r.target?.closest("button"))return;const g=ps();g&&(r.preventDefault(),r.currentTarget.setPointerCapture(r.pointerId),We.current={base:g,x:r.clientX,y:r.clientY,edge:c},xt(c?"resize":"move"),Ne(ht(g,ut())))},bs=r=>{const c=We.current;if(!c)return;const g=r.clientX-c.x,h=r.clientY-c.y,y=ut();Ne(c.edge?pr(c.base,g,h,c.edge,y):hr(c.base,g,h,y))},en=r=>{if(We.current){We.current=null,xt(null);try{r.currentTarget.releasePointerCapture(r.pointerId)}catch{}Ne(c=>(c&&Pn(c),c))}},ws=()=>{We.current=null,xt(null),Ne(null),Pn(null)},st=r=>({onPointerDown:c=>gs(c,r),onPointerMove:bs,onPointerUp:en,onPointerCancel:en}),tn=mr(se),vs=se?{position:"absolute",left:se.x,top:se.y,width:se.width,height:se.height,maxWidth:"none",maxHeight:"none",...tn?{"--s-newchat-input-min":`${tn}px`}:{}}:void 0,oe=l.useMemo(()=>Wr(Hr(L?.projects??[],e,L?.context.defaultHarness??"claude"),ne),[e,L,ne]),A=oe.find(r=>r.root===N)??null??(N?{id:`direct:${N}`,title:oa(N),root:N,defaultHarness:L?.context.defaultHarness??I?.harness??"claude",source:"agent",registrationKind:null}:null),jt=l.useMemo(()=>{const r=new Set,c=A?he.filter(h=>h.projectRoot?.trim()===A.root||h.cwd?.trim()===A.root):[];return(c.length>0?c:he).flatMap(h=>{if(h.retiredFromFleet)return[];const y=h.handle?.trim().replace(/^@+/,"")||Bs(h.id)||"",J=y.toLowerCase();return!y||r.has(J)?[]:(r.add(J),[{id:h.id,label:y,name:h.name||y,handle:y}])})},[A,he]),re=(_?.harnesses??cs).find(r=>r.id===le)??null,nn=l.useMemo(()=>{const r=Yn(_??dt);return le&&!r.harnesses.some(c=>c.value===le)?{...r,harnesses:[...r.harnesses,{value:le,label:le,models:[{value:"",label:"Default",note:"harness picks"}]}]}:r},[_,le]),ze=l.useMemo(()=>zr(oe,T),[T,oe]),ae=l.useMemo(()=>{const r=ze.slice(0,Wn);if(!N||r.some(g=>g.root===N))return r;const c=ze.find(g=>g.root===N);return c?[c,...r.slice(0,Wn-1)]:r},[ze,N]),ye=ra(T)&&!oe.some(r=>r.root===T.trim())?T.trim():null,ot=ae.length+(ye?1:0),ys=Math.max(0,(T.trim()?ze.length:oe.length)-ae.length),xs=!!(I&&A&&[I.projectRoot,I.cwd].some(r=>r?.trim()===A.root)),K=W.length>0,j=ls==="starting",sn=fs>0,rt=xs&&!!(I?.conversationId||ge),Re=!K||!rt||O==="new-session",on=Re&&re?.ready===!1,rn=C?"Forward to new task":K?"Route capture":"New task",an=l.useMemo(()=>C?[]:Pr({pageTitle:Be.title,pageUrl:Be.url,selection:gt?Be.selection:void 0}),[gt,C,Be]),de=C&&x?Fr(x,f,E):$r(E,an),js=ds==="uploading"?"Uploading capture":C?"Forwarding to new task":K?"Routing capture":"Sending message",Ss=K?`Submitted to ${A?.title??I?.name??"Scout"}. Opening the chat when the broker returns it.`:de?`Routing your first message through /${A?.title??I?.name??"project"}.`:`Starting a project-routed chat in /${A?.title??I?.name??"project"}.`,cn=K&&rt,Cs=Re&&(!!te||re?.ready===!1),ks=cn||!C&&Cs,ue=l.useMemo(()=>{if(!b.open)return[];const r=b.query.toLowerCase();return r?wn.filter(c=>c.command.toLowerCase().startsWith(`/${r}`)||c.command.toLowerCase().includes(r)):wn},[b.open,b.query]),fe=l.useMemo(()=>{if(!k.open)return[];const r=k.query.toLowerCase();return r?jt.filter(c=>c.handle.toLowerCase().includes(r)||c.name.toLowerCase().includes(r)||c.label.toLowerCase().includes(r)).slice(0,8):jt.slice(0,8)},[jt,k.open,k.query]),St=l.useCallback(()=>{S(r=>r.open?{...r,open:!1}:r),q(r=>r.open?{...r,open:!1}:r)},[]),Ge=l.useCallback((r,c)=>{const g=Ws(r,c);S(y=>g?{open:!0,query:g.query,triggerStart:g.start,index:y.open&&y.triggerStart===g.start?y.index:0}:y.open?{...y,open:!1}:y);const h=zs(r,c);q(y=>h?{open:!0,query:h.query,triggerStart:h.start,index:y.open&&y.triggerStart===h.start?y.index:0}:y.open?{...y,open:!1}:y)},[]),As=l.useCallback((r,c)=>{B(r),Ge(r,c?.caret??r.length)},[Ge]),Ct=l.useCallback(r=>{const c=b.triggerStart;if(c<0)return;const g=$.current?.selectionStart??E.length,h=E.slice(0,c),y=E.slice(g),J=`${h}${r.insert}${y}`;B(J),S(V=>({...V,open:!1})),requestAnimationFrame(()=>{const V=$.current;if(!V)return;const D=h.length+r.insert.length;V.focus(),V.setSelectionRange(D,D)})},[E,b.triggerStart]),kt=l.useCallback(r=>{const c=k.triggerStart;if(c<0)return;const g=$.current?.selectionStart??E.length,h=E.slice(0,c),y=E.slice(g),J=`@${r.handle}${y.length===0||!y.startsWith(" ")?" ":""}`,V=`${h}${J}${y}`;B(V),q(D=>({...D,open:!1})),requestAnimationFrame(()=>{const D=$.current;if(!D)return;const Te=h.length+J.length;D.focus(),D.setSelectionRange(Te,Te)})},[k.triggerStart,E]),ln=l.useCallback(r=>{if(j)return;const g=$.current?.selectionStart??E.length,h=E.slice(0,g),y=E.slice(g),V=`${h&&!/\s$/.test(h)?" ":""}${r}`,D=`${h}${V}${y}`,Te=h.length+V.length;B(D),Ge(D,Te),requestAnimationFrame(()=>{const Mt=$.current;Mt&&(Mt.focus(),Mt.setSelectionRange(Te,Te))})},[j,E,Ge]),Ms=l.useCallback(r=>{const c=b.open&&ue.length>0,g=k.open&&fe.length>0;if(!c&&!g)return!1;if(r.key==="ArrowDown")return c?S(h=>({...h,index:(h.index+1)%ue.length})):q(h=>({...h,index:(h.index+1)%fe.length})),!0;if(r.key==="ArrowUp")return c?S(h=>({...h,index:(h.index-1+ue.length)%ue.length})):q(h=>({...h,index:(h.index-1+fe.length)%fe.length})),!0;if(r.key==="Escape")return St(),!0;if((r.key==="Enter"||r.key==="Tab")&&!r.shiftKey&&!r.metaKey&&!r.ctrlKey&&!r.altKey){if(c){const h=ue[b.index]??ue[0];h&&Ct(h)}else{const h=fe[k.index]??fe[0];h&&kt(h)}return!0}return!1},[kt,Ct,St,fe,ue,k.index,k.open,b.index,b.open]),At=l.useCallback(()=>{j||n()},[j,n]),Is=l.useCallback(()=>{Qt("Draft kept open. Use Esc or × when you are ready to close it."),requestAnimationFrame(()=>$.current?.focus())},[]);l.useEffect(()=>{const r=c=>{c.key==="Escape"&&(c.preventDefault(),At())};return window.addEventListener("keydown",r),()=>window.removeEventListener("keydown",r)},[At]),l.useEffect(()=>{if(!bt)return;const r=window.setTimeout(()=>Qt(null),5e3);return()=>window.clearTimeout(r)},[bt]),l.useEffect(()=>{$.current?.focus()},[]);const dn=l.useCallback(()=>{let r=!1;return X("/api/agent-config/snapshot").then(c=>{r||(Oe(c),ee(null))}).catch(c=>{r||ee(c instanceof Error?c.message:"Could not load projects.")}),()=>{r=!0}},[]);l.useEffect(()=>{if(!(!we||L))return dn()},[L,dn,we]);const un=l.useCallback(()=>{X(Bn).then(r=>{Nt=r,ie(r),U(null)}).catch(()=>{Nt||U("Live model availability is unavailable. Using the bundled catalog.")})},[]);l.useEffect(()=>{un()},[un]),l.useEffect(()=>{if(nt.current||oe.length===0)return;const r=qr(oe,{preferredRoot:je,currentDirectory:L?.context.currentDirectory,recentRoots:ne});r&&be(r.root)},[L?.context.currentDirectory,je,oe,ne]),l.useEffect(()=>{if(Zt.current)return;const r=A?.defaultHarness?.trim()||I?.harness?.trim()||_?.defaults.harness||"claude";if(Vt(r),!_)return;const c=I?.model?.trim()??"",g=_.models.some(h=>h.id===c&&h.harnesses.includes(r));Xt(g?c:ta(_,r)),Yt(na(_,r))},[I?.harness,I?.model,_,A?.defaultHarness,A?.root]),l.useLayoutEffect(()=>{Xe?.({intent:w,...pe?{agentId:pe}:{},...ge?{conversationId:ge}:{},message:E,files:W,attachmentFeedback:Ze,mode:O,projectPath:N,projectQuery:T,...C&&x?{forwardContext:x}:{},forwardContextMode:f})},[Ze,W,f,x,w,C,E,O,Xe,N,T,pe,ge,A?.title]);const fn=l.useCallback((r,c="Added")=>{if(j)return;const g=r.filter(gn),h=r.filter(y=>!gn(y));if(g.length>0&&(He(y=>[...y,...g]),Jt(g.length===1?`${c} ${g[0]?.name??"1 attachment"}.`:`${c} ${g.length} attachments.`)),h.length>0){const y=h.length===1?h[0]?.name??"That file":`${h.length} files`;Se(`${y} ${h.length===1?"is":"are"} not supported. Attach markdown, code, an image, or a video clip.`)}else g.length>0&&Se(null)},[j]),at=l.useCallback((r,c)=>{const g=Fs(r);if(g.length===0){Se("Scout could not read that file. Try dropping or pasting it again.");return}fn(g,c)},[fn]),Es=l.useCallback(r=>{j||!it(r.dataTransfer)||(r.preventDefault(),r.stopPropagation(),Ce.current+=1,wt(Ce.current))},[j]),Ns=l.useCallback(r=>{j||!it(r.dataTransfer)||(r.preventDefault(),r.stopPropagation(),r.dataTransfer.dropEffect="copy")},[j]),Rs=l.useCallback(r=>{Ce.current!==0&&(r.preventDefault(),r.stopPropagation(),Ce.current=Math.max(0,Ce.current-1),wt(Ce.current))},[]),Ts=l.useCallback(r=>{it(r.dataTransfer)&&(r.preventDefault(),r.stopPropagation(),Ce.current=0,wt(0),at(r.dataTransfer,"Added"))},[at]),Ls=l.useCallback(r=>{j||!it(r.clipboardData)||(r.preventDefault(),r.stopPropagation(),at(r.clipboardData,"Pasted"))},[at,j]),mn=r=>{nt.current=!0,Qe(Hn(r.root)),be(r.root),P(""),R(0),H(!1),ve(null),requestAnimationFrame(()=>$.current?.focus())},hn=r=>{const c=r.trim();c&&(nt.current=!0,Qe(Hn(c)),be(c),P(""),R(0),H(!1),ve(null),requestAnimationFrame(()=>$.current?.focus()))},Ps=()=>{nt.current=!0,be(""),P(""),R(0),H(!1),ve(null),requestAnimationFrame(()=>$.current?.focus())},$s=r=>{if(r.key==="ArrowDown"||r.key==="ArrowUp"){r.preventDefault(),R(c=>{if(ot===0)return 0;const g=r.key==="ArrowDown"?1:-1;return(c+g+ot)%ot});return}if(r.key==="Enter"){r.preventDefault();const c=ae[ce];c?mn(c):ye&&ce===ae.length&&hn(ye);return}r.key==="Escape"&&we&&T&&(r.preventDefault(),r.stopPropagation(),P(""),R(0))},pn=r=>{Zt.current=!0,Vt(r.harness),Xt(r.model),Yt(r.effort)},Ds=async()=>{if(j)return;if(C&&!de){Se("Add instructions, or choose a context option that includes the source message."),requestAnimationFrame(()=>$.current?.focus());return}if(!A){Se(null),ve("Choose a project before starting this task."),H(!0),requestAnimationFrame(()=>yt.current?.focus());return}if(on)return;qt("starting"),pt(W.length>0?"uploading":"starting"),Se(null);const r=Nr(),c=Date.now();try{let g=[];if(W.length>0&&(g=await Us(W),pt("starting")),K&&I&&rt&&O==="existing-chat"){const D=await Yr(I,{mode:O==="existing-chat"&&rt?"existing-chat":"new-session",message:de,attachments:g});B(""),He([]),Jt(null),s({view:"agents-v2",agentId:D.agentId,conversationId:D.conversationId,tab:"message"}),Ye?.(),n();return}const h=await Vr({projectPath:A.root,harness:le,...et?{model:et}:{},...tt?{reasoningEffort:tt}:{},...de?{instructions:de}:K?{instructions:"Shared capture for context."}:{},...g.length>0?{attachments:g}:{},...C&&x?{fromMessageId:x.selectedMessageId,fromConversationId:x.sourceConversationId}:{},clientMessageId:r}),y=h.conversationId?.trim();if(!y)throw new Error("Message sent, but no Chat was returned.");const J=h.messageId?.trim();J&&Rr({conversationId:y,messageId:J,clientMessageId:r,body:de||(g.length>0?"Shared capture for context.":"New session started."),attachments:g,agentId:h.agentId,flightId:h.flightId,invocationId:h.invocationId,createdAt:c}),B(""),s({view:"conversation",conversationId:y}),Ye?.(),n()}catch(g){Se(g instanceof Error?g.message:K?"Could not route capture.":"Could not send message."),qt("idle"),pt("idle")}};return i.jsx("div",{className:"s-newchat-backdrop",onClick:Is,onDragEnter:Es,onDragOver:Ns,onDragLeave:Rs,onDrop:Ts,onPaste:Ls,role:"presentation",children:i.jsxs("div",{ref:vt,className:`s-newchat-panel${j?" s-newchat-panel--starting":""}${sn?" s-newchat-panel--dragging":""}`,style:vs,"data-framed":se?"true":void 0,"data-gesture":hs??void 0,role:"dialog","aria-modal":"true","aria-label":rn,onClick:r=>r.stopPropagation(),onKeyDown:ms,tabIndex:-1,children:[i.jsxs("header",{className:"s-newchat-head",title:"Drag to move · double-click to recenter",onDoubleClick:ws,...st(null),children:[i.jsx("span",{className:"s-newchat-title",children:rn}),i.jsx("div",{className:"s-newchat-head-status",children:i.jsx("span",{role:"status","aria-live":"polite",children:bt})}),i.jsx("button",{type:"button",className:"s-newchat-close",onClick:At,disabled:j,"aria-label":"Close (Esc)",title:"Close (Esc)",children:i.jsx(Ys,{size:14,"aria-hidden":"true"})})]}),sn?i.jsx("div",{className:"s-newchat-drop-prompt",role:"status","aria-live":"polite",children:"Drop to attach markdown, code, images, or video"}):null,i.jsxs("div",{className:"s-newchat-body",children:[i.jsxs("div",{className:"s-newchat-lead",children:[C?i.jsx("p",{className:"s-newchat-forward-intro",children:"Choose the destination, runtime, and visible Scout context to carry into a fresh task."}):null,i.jsx(Ks,{context:an,selection:Be.selection,attached:gt,onToggleSelection:()=>us(r=>!r)}),i.jsxs("div",{className:"s-newchat-project-bar",children:[i.jsx("span",{className:"label-md s-newchat-project-label",children:"Project"}),i.jsxs("button",{type:"button",className:"s-newchat-project-summary","data-empty":A?void 0:"true","aria-expanded":we,"aria-controls":"s-newchat-project-panel","aria-describedby":Ue?"s-newchat-project-reminder":void 0,disabled:j,onClick:()=>{const r=!we;H(r),requestAnimationFrame(r?()=>yt.current?.focus():()=>$.current?.focus())},children:[i.jsx("span",{className:"s-newchat-project-summary-title",children:A?`/${A.title}`:"Choose a project"}),A?i.jsx("span",{className:"s-newchat-project-summary-path",title:A.root,children:Rt(A.root)}):i.jsx("span",{className:"s-newchat-project-summary-path",children:"Required when you send"}),i.jsx(Qs,{size:13,"aria-hidden":"true"})]})]}),Ue?i.jsx("p",{id:"s-newchat-project-reminder",className:"s-newchat-project-reminder",role:"alert",children:Ue}):null,we?i.jsxs("div",{id:"s-newchat-project-panel",className:"s-newchat-project-panel",children:[i.jsxs("div",{className:"s-newchat-project-picker",children:[i.jsx(Zs,{size:13,"aria-hidden":"true",className:"s-newchat-project-search-icon"}),i.jsx("input",{ref:yt,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":ot>0?`s-newchat-project-option-${ce}`:void 0,value:T,placeholder:L?"Filter projects, or type a path…":"Loading projects…",disabled:j,spellCheck:!1,autoComplete:"off",onChange:r=>{P(r.currentTarget.value),R(0)},onKeyDown:$s})]}),i.jsxs("div",{id:"s-newchat-project-results",className:"s-newchat-project-results",role:"listbox","aria-label":"Projects",children:[ae.map((r,c)=>i.jsxs("div",{id:`s-newchat-project-option-${c}`,role:"option","aria-selected":r.root===N,"aria-disabled":j||void 0,className:"s-newchat-project-option","data-active":c===ce||void 0,onMouseDown:g=>g.preventDefault(),onMouseEnter:()=>R(c),onClick:()=>{j||mn(r)},children:[i.jsxs("span",{className:"s-newchat-project-option-title",children:["/",r.title]}),i.jsx("span",{className:"s-newchat-project-option-path",children:Rt(r.root)})]},r.root)),ye?i.jsxs("div",{id:`s-newchat-project-option-${ae.length}`,role:"option","aria-selected":ye===N,"aria-disabled":j||void 0,className:"s-newchat-project-option s-newchat-project-option--path","data-active":ce===ae.length||void 0,onMouseDown:r=>r.preventDefault(),onMouseEnter:()=>R(ae.length),onClick:()=>{j||hn(ye)},children:[i.jsx("span",{className:"s-newchat-project-option-title",children:"Use this project path"}),i.jsx("span",{className:"s-newchat-project-option-path",children:Rt(ye)})]}):null,ae.length===0&&!ye?i.jsx("p",{className:"s-newchat-project-empty",children:"No project matched. Type an absolute path such as ~/dev/my-project."}):null]}),i.jsxs("div",{className:"s-newchat-project-panel-foot",children:[ys>0?i.jsxs("p",{className:"s-newchat-project-foot",children:[ae.length," of"," ",T.trim()?ze.length:oe.length,T.trim()?" matches":" projects"," · type to narrow"]}):i.jsx("span",{}),A?i.jsx("button",{type:"button",className:"s-newchat-project-clear",onClick:Ps,children:"Clear project"}):null]}),Fe&&oe.length===0?i.jsx("div",{className:"s-newchat-error",role:"alert",children:Fe}):null]}):null,C&&x?i.jsxs("div",{className:"s-newchat-forward-config",children:[i.jsxs("div",{className:"s-newchat-field",children:[i.jsx("span",{className:"label-md s-newchat-field-label",children:"Runtime"}),i.jsx("div",{className:"s-newchat-forward-runtime",children:i.jsx(In,{catalog:nn,value:{harness:le,model:et,effort:tt},onChange:pn,status:"ready",disabled:j||!Re})}),Re&&(te||re?.ready===!1)?i.jsx("p",{className:"s-newchat-runtime-note",role:"alert",children:re?.ready===!1?re.detail||`${re.label} is unavailable.`:te}):null]}),i.jsxs("div",{className:"s-newchat-field",children:[i.jsx("span",{id:"s-newchat-forward-context-label",className:"label-md s-newchat-field-label",children:"Context"}),i.jsxs("div",{className:"s-newchat-context-options",role:"radiogroup","aria-labelledby":"s-newchat-forward-context-label",children:[i.jsxs("button",{type:"button",className:"s-newchat-context-option",role:"radio","aria-checked":f==="selected-message",disabled:j,onClick:()=>v("selected-message"),children:[i.jsx("span",{className:"s-newchat-context-option-title",children:"Selected message"}),i.jsx("span",{className:"s-newchat-context-option-copy",children:"Carry only the message you chose."})]}),i.jsxs("button",{type:"button",className:"s-newchat-context-option",role:"radio","aria-checked":f==="recent-context",disabled:j||x.recentMessageCount===0,onClick:()=>v("recent-context"),children:[i.jsx("span",{className:"s-newchat-context-option-title",children:"Recent context + message"}),i.jsx("span",{className:"s-newchat-context-option-copy",children:x.recentMessageCount>0?`Carry ${x.recentMessageCount} preceding visible ${x.recentMessageCount===1?"message":"messages"}, then this message.`:"No preceding visible messages are available."})]}),i.jsxs("button",{type:"button",className:"s-newchat-context-option",role:"radio","aria-checked":f==="instructions-only",disabled:j,onClick:()=>v("instructions-only"),children:[i.jsx("span",{className:"s-newchat-context-option-title",children:"Instructions only"}),i.jsx("span",{className:"s-newchat-context-option-copy",children:"Start clean without source conversation text."})]})]}),i.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?i.jsx("span",{className:"label-md s-newchat-field-label",children:"Instructions"}):null,i.jsx(_s,{density:"panel",value:E,onChange:As,onSend:()=>{Ds()},sendOnEnter:!0,textareaRef:$,placeholder:C?"Add what the new task should do (optional)…":K?"What should the agent do with this?":"Describe the task, or leave blank…","aria-label":C?"Instructions for the new task":"Message",disabled:j,sending:j,canSend:!j&&!on&&(!C||!!de),rows:7,maxHeightPx:280,sendTitle:C?"Forward to new task (Enter)":K?"Route (Enter)":"Start task (Enter)",sendAriaLabel:C?"Forward to new task":K?"Route capture":"Start task",overlay:i.jsxs(i.Fragment,{children:[b.open?i.jsx(An,{label:"Slash commands",placement:"inside",items:ue.map(r=>({id:r.command,token:r.label,description:r.description})),activeIndex:b.index,onPick:r=>{const c=ue[r];c&&Ct(c)},onActiveIndexChange:r=>S(c=>({...c,index:r}))}):null,k.open?i.jsx(An,{label:"Mention agent",placement:"inside",items:fe.map(r=>({id:r.id,token:`@${r.handle}`,description:r.name,avatar:{label:r.name[0]?.toUpperCase()??"?",color:qs(r.name)}})),activeIndex:k.index,onPick:r=>{const c=fe[r];c&&kt(c)},onActiveIndexChange:r=>q(c=>({...c,index:r}))}):null]}),onSelect:r=>{const c=r.currentTarget;Ge(c.value,c.selectionStart)},onBlur:()=>window.setTimeout(St,120),onKeyDown:Ms,leadingTools:i.jsxs("div",{className:"s-newchat-compose-triggers","aria-label":"Message shortcuts",children:[i.jsx("button",{type:"button",className:"s-newchat-command-trigger",disabled:j,onClick:()=>ln("/"),children:"/Commands"}),i.jsx("span",{"aria-hidden":"true",children:"·"}),i.jsx("button",{type:"button",className:"s-newchat-command-trigger",disabled:j,onClick:()=>ln("@"),children:"@Agents"})]}),tools:C?void 0:i.jsx(In,{catalog:nn,value:{harness:le,model:et,effort:tt},onChange:pn,status:"ready",disabled:j||!Re})}),W.length>0?i.jsx("div",{className:"s-newchat-attachments","aria-label":"Attached captures",children:W.map((r,c)=>i.jsx(aa,{file:r,onRemove:()=>He(g=>g.filter((h,y)=>y!==c))},`${r.name}:${r.size}:${c}`))}):null,Ze?i.jsx("div",{className:"s-newchat-attachment-feedback",role:"status","aria-live":"polite",children:Ze}):null,Kt&&i.jsx("div",{className:"s-newchat-error",role:"alert",children:Kt}),j&&i.jsxs("div",{className:"s-newchat-progress",role:"status","aria-live":"polite",children:[i.jsx(eo,{size:14,className:"s-newchat-progress-spinner","aria-hidden":"true"}),i.jsxs("div",{className:"s-newchat-progress-copy",children:[i.jsx("span",{className:"label-md s-newchat-progress-title",children:js}),i.jsx("span",{className:"s-newchat-progress-detail",children:Ss}),de&&i.jsx("span",{className:"s-newchat-progress-message",children:de})]})]})]}),ks?i.jsxs("div",{className:"s-newchat-config",children:[cn?i.jsxs("div",{className:"s-newchat-mode",role:"group","aria-label":"Delivery mode",children:[i.jsx("button",{type:"button",className:`s-newchat-mode-btn${O==="existing-chat"?" s-newchat-mode-btn--on":""}`,disabled:j,onClick:()=>Gt("existing-chat"),children:"Existing chat"}),i.jsx("button",{type:"button",className:`s-newchat-mode-btn${O==="new-session"?" s-newchat-mode-btn--on":""}`,disabled:j,onClick:()=>Gt("new-session"),children:"New chat"})]}):null,Re&&(te||re?.ready===!1)?i.jsx("p",{className:"s-newchat-runtime-note",role:"alert",children:re?.ready===!1?re.detail||`${re.label} is unavailable.`:te}):null]}):null]}),i.jsx("div",{className:"s-newchat-resize s-newchat-resize--e","aria-hidden":"true",title:"Drag to resize",...st("e")}),i.jsx("div",{className:"s-newchat-resize s-newchat-resize--s","aria-hidden":"true",title:"Drag to resize",...st("s")}),i.jsx("div",{className:"s-newchat-resize s-newchat-resize--se","aria-hidden":"true",title:"Drag to resize",...st("se")})]})})}const za=Object.freeze(Object.defineProperty({__proto__:null,NewChatComposer:ia},Symbol.toStringTag,{value:"Module"}));export{$a as A,Ae as B,so as C,In as D,zo as E,Ko as F,za as G,An as M,ia as N,Me as R,Pa as a,Ma as b,Na as c,Ia as d,Ea as e,Ra as f,Cn as g,Ur as h,kn as i,Ie as j,Oa as k,Mr as l,ns as m,_o as n,Ir as o,La as p,Da as q,Ta as r,Fa as s,_a as t,Ua as u,Nr as v,zt as w,Ba as x,Ha as y,Wa as z};
@@ -1 +1 @@
1
- import{j as e}from"./index-DReVb7jZ.js";function c({context:l,selection:a,attached:n,onToggleSelection:i}){return l.length===0?null:e.jsxs("div",{className:"s-newchat-origin",children:[e.jsx("span",{className:"label-md s-newchat-origin-label",children:"From"}),e.jsx("dl",{className:"s-newchat-origin-facts",children:l.map(s=>e.jsxs("div",{className:"s-newchat-origin-fact",children:[e.jsx("dt",{children:s.label}),e.jsx("dd",{title:s.value,children:s.value})]},s.label))}),a?e.jsx("button",{type:"button",className:"s-newchat-origin-attach","aria-pressed":n,onClick:i,children:n?"Remove selection":`Attach selection (${a.length} chars)`}):null]})}export{c as NewChatOrigin};
1
+ import{j as e}from"./index-EsrkGBcv.js";function c({context:l,selection:a,attached:n,onToggleSelection:i}){return l.length===0?null:e.jsxs("div",{className:"s-newchat-origin",children:[e.jsx("span",{className:"label-md s-newchat-origin-label",children:"From"}),e.jsx("dl",{className:"s-newchat-origin-facts",children:l.map(s=>e.jsxs("div",{className:"s-newchat-origin-fact",children:[e.jsx("dt",{children:s.label}),e.jsx("dd",{title:s.value,children:s.value})]},s.label))}),a?e.jsx("button",{type:"button",className:"s-newchat-origin-attach","aria-pressed":n,onClick:i,children:n?"Remove selection":`Attach selection (${a.length} chars)`}):null]})}export{c as NewChatOrigin};
@@ -1 +1 @@
1
- import{r as g,j as e}from"./index-DReVb7jZ.js";import{t as p}from"./time-Dhsh_2EG.js";import{u as f,l as S,s as A,r as C,i as T}from"./use-mesh-node-state-3V3ADQ-G.js";import{a as R}from"./mesh-view-store-C1-mdP3P.js";import"./api-DSqpVKC7.js";function $(a){return a?a.replace(/^https?:\/\//,"").split("/")[0]??a:""}function L(a){return a==="working"?"in_turn":a==="available"?"callable":a==="offline"?"blocked":"unknown"}function d({label:a,value:s,code:t}){return e.jsxs("div",{className:"sys-detail-card",children:[e.jsx("span",{className:"sys-detail-label",children:a}),t?e.jsx("code",{className:"sys-detail-value",children:s}):e.jsx("span",{className:"sys-detail-value",children:s})]})}function M({view:a}){const s=a.workload;if(!s)return e.jsx("div",{className:"mesh-node-workload mesh-node-workload--unknown",children:e.jsx("span",{className:"mesh-node-workload-note",children:"No workload reported for this machine yet."})});const t=s.working!==null;return e.jsxs("div",{className:"mesh-node-workload",children:[e.jsxs("div",{className:"mesh-node-workload-cell",children:[e.jsx("span",{className:"mesh-node-workload-num",children:s.total}),e.jsx("span",{className:"mesh-node-workload-label",children:"on this node"})]}),t?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"mesh-node-workload-cell mesh-node-workload-cell--working",children:[e.jsx("span",{className:"mesh-node-workload-num",children:s.working}),e.jsx("span",{className:"mesh-node-workload-label",children:"working"})]}),e.jsxs("div",{className:"mesh-node-workload-cell",children:[e.jsx("span",{className:"mesh-node-workload-num",children:s.available}),e.jsx("span",{className:"mesh-node-workload-label",children:"ready"})]}),e.jsxs("div",{className:"mesh-node-workload-cell",children:[e.jsx("span",{className:"mesh-node-workload-num",children:s.offline}),e.jsx("span",{className:"mesh-node-workload-label",children:"offline"})]})]}):e.jsx("div",{className:"mesh-node-workload-cell mesh-node-workload-cell--unknown",children:e.jsx("span",{className:"mesh-node-workload-label",children:"registered here — this broker cannot report what they are doing"})}),s.unattributed>0&&e.jsxs("div",{className:"mesh-node-workload-cell mesh-node-workload-cell--unknown",children:[e.jsx("span",{className:"mesh-node-workload-num",children:s.unattributed}),e.jsx("span",{className:"mesh-node-workload-label",children:"not attributed to this node"})]})]})}function B({view:a}){return a.roster.length===0?T(a)?e.jsx("div",{className:"sys-list-empty",style:{marginTop:4},children:e.jsx("p",{children:"Connected, with nothing running right now."})}):e.jsx("div",{className:"sys-list-empty",style:{marginTop:4},children:e.jsx("p",{children:"Nothing has been reported for this machine. That is not the same as nothing running."})}):e.jsxs("div",{className:"mesh-agent-table",style:{marginTop:4},children:[a.roster.map(s=>{const t=L(s.state);return e.jsxs("div",{className:"mesh-detail-agent",children:[e.jsx("span",{className:`mesh-detail-dot mesh-detail-dot--${t}`}),e.jsxs("div",{className:"mesh-detail-agent-body",children:[e.jsx("span",{className:"mesh-detail-agent-name",children:s.title}),(s.role||s.projectRoot)&&e.jsx("span",{className:"mesh-detail-agent-task",children:[s.role,s.projectRoot].filter(Boolean).join(" · ")})]}),e.jsx("span",{className:`mesh-detail-agent-state mesh-detail-agent-state--${t}`,children:s.statusLabel??s.state??"state unknown"})]},s.id)}),a.workload?.truncated&&e.jsxs("p",{className:"mesh-node-roster-note",children:["Showing the first ",a.roster.length," of ",a.workload.total,"."]})]})}function v({title:a,section:s,unreported:t,empty:r,render:l}){return e.jsxs("div",{className:"mesh-node-inspector-section",children:[e.jsxs("div",{className:"sys-inspector-section-label",children:[a,s&&s.total>0&&e.jsx("span",{className:"mesh-node-section-count",children:s.total})]}),!s&&e.jsx("p",{className:"mesh-node-unreported",children:t}),s&&s.items.length===0&&e.jsx("p",{className:"mesh-node-empty",children:r}),s&&s.items.length>0&&e.jsxs("div",{className:"mesh-node-rows",children:[s.items.map(h=>l(h)),s.truncated&&e.jsxs("p",{className:"mesh-node-roster-note",children:["Showing ",s.items.length," of ",s.total,"."]})]})]})}function U({machineId:a,mesh:s,issues:t=[]}){const r=f(a),l=r?.view??null,h=g.useRef(null);g.useEffect(()=>{h.current!==a&&(h.current=a,S(a,{deep:!0}))},[a]);const o=Object.values(s.nodes).find(n=>n.id===a)??(s.localNode?.id===a?s.localNode:null),i=a.startsWith("tailnet:")?s.tailscale.peers.find(n=>n.id===a.slice(8))??null:s.tailscale.peers.find(n=>{const m=(n.hostName??n.name??"").split(".")[0]?.toLowerCase(),y=(o?.hostName??o?.name??"").split(".")[0]?.toLowerCase();return!!(m&&y&&m===y)})??null,j=l?.label??o?.hostName?.split(".")[0]??o?.name??i?.hostName?.split(".")[0]??i?.name??"Node",u=s.localNode?.id===a,c=A(l),x=l?.node?.brokerUrl??o?.brokerUrl??null,N=l?.node?.id??o?.id??null,k=l?.node?.capabilities??o?.capabilities??[],w=i?.addresses?.[0]?.split("/")[0]??null,b=o&&"lastSeenAt"in o&&typeof o.lastSeenAt=="number"?o.lastSeenAt:null;return e.jsxs("div",{className:"sys-inspector-content mesh-node-inspector",children:[e.jsxs("div",{className:"sys-inspector-head",children:[e.jsx("h3",{className:"sys-inspector-title",children:j}),e.jsxs("div",{className:"mesh-node-inspector-actions",children:[u&&e.jsx("span",{className:"sys-chip sys-chip-neutral",children:"this broker"}),e.jsx("span",{className:`sys-chip mesh-node-reach mesh-node-reach--${c.tone}`,children:r?.loading?"Checking…":c.label}),e.jsx("button",{type:"button",className:"s-btn s-btn--sm",disabled:r?.loading??!1,onClick:()=>{C(a)},title:"Check this machine again now",children:"Refresh"})]})]}),(c.detail||r?.error)&&e.jsx("div",{className:`sys-banner sys-banner-${c.tone==="bad"?"warning":"muted"} mesh-node-reach-note`,children:e.jsx("span",{children:r?.error??c.detail})}),e.jsxs("div",{className:"mesh-node-inspector-section",children:[e.jsxs("div",{className:"sys-inspector-section-label",children:["Running here",l?.stale&&e.jsx("span",{className:"mesh-node-stale-tag",children:"last known"})]}),!l&&r?.loading&&e.jsx("div",{className:"sys-banner sys-banner-muted",children:e.jsxs("span",{children:["Asking ",j," what it is running…"]})}),!l&&!r?.loading&&e.jsx("div",{className:"sys-list-empty",children:e.jsx("p",{children:"This machine has not been checked yet."})}),l&&e.jsxs(e.Fragment,{children:[e.jsx(M,{view:l}),e.jsx(B,{view:l})]})]}),l&&e.jsxs(e.Fragment,{children:[e.jsx(v,{title:"Sessions",section:l.sessions,unreported:"This machine did not report its sessions.",empty:"No harness session is live on this machine.",render:n=>e.jsxs("div",{className:"mesh-node-row",children:[e.jsx("span",{className:"mesh-node-row-name",children:n.agentId||n.id}),e.jsx("span",{className:"mesh-node-row-meta",children:[n.harness,n.transport].filter(Boolean).join(" · ")||"session"}),e.jsx("span",{className:`mesh-node-row-state mesh-node-row-state--${n.state}`,children:n.state})]},n.id)}),e.jsx(v,{title:"Work in flight",section:l.work,unreported:"This machine did not report work in flight.",empty:"No work is in flight on this machine.",render:n=>e.jsxs("div",{className:"mesh-node-row",children:[e.jsx("span",{className:"mesh-node-row-name",children:n.targetAgentId||n.id}),n.summary&&e.jsx("span",{className:"mesh-node-row-meta",children:n.summary}),e.jsx("span",{className:`mesh-node-row-state mesh-node-row-state--${n.state}`,children:n.state})]},n.id)})]}),e.jsxs("div",{className:"mesh-node-inspector-section mesh-node-identity",children:[e.jsx("div",{className:"sys-inspector-section-label",children:"Machine"}),e.jsxs("div",{className:"sys-detail-grid",children:[N&&e.jsx(d,{label:"Node ID",value:N,code:!0}),(l?.node?.hostName??o?.hostName)&&e.jsx(d,{label:"Host",value:l?.node?.hostName??o?.hostName??""}),x&&e.jsx(d,{label:"Broker",value:$(x),code:!0}),w&&e.jsx(d,{label:"Address",value:w,code:!0}),i?.os&&e.jsx(d,{label:"Platform",value:i.os}),l?.node?.meshId&&e.jsx(d,{label:"Mesh",value:l.node.meshId.slice(0,14),code:!0}),l?.observedAt&&e.jsx(d,{label:"Reported",value:p(l.observedAt)}),l?.checkedAt&&e.jsx(d,{label:"Checked",value:p(l.checkedAt)}),!l?.checkedAt&&b!==null&&e.jsx(d,{label:"Last seen",value:p(b)})]}),k.length>0&&e.jsx("div",{className:"mesh-node-caps",children:k.map(n=>e.jsx("span",{className:"sys-chip sys-chip-neutral",children:n},n))})]}),u&&t.length>0&&e.jsx("div",{className:"sys-issue-grid",style:{marginTop:12},children:t.map((n,m)=>e.jsxs("article",{className:`sys-issue-card sys-issue-card-${n.severity==="error"?"error":"warning"}`,children:[e.jsx("div",{className:"sys-issue-head",children:e.jsx("h3",{className:"sys-issue-title",children:n.title})}),e.jsx("p",{className:"sys-issue-body",children:n.summary}),n.actionCommand&&e.jsx("div",{className:"sys-issue-action",children:e.jsx("code",{className:"sys-code-inline",children:n.actionCommand})})]},m))}),e.jsx("button",{type:"button",className:"s-btn",style:{marginTop:14},onClick:()=>R(null,null),children:"Clear selection"})]})}export{U as NodeDetailPanel};
1
+ import{r as g,j as e}from"./index-EsrkGBcv.js";import{t as p}from"./time-Dhsh_2EG.js";import{u as f,l as S,s as A,r as C,i as T}from"./use-mesh-node-state-BvaqtODo.js";import{a as R}from"./mesh-view-store-DZvJC4KU.js";import"./api-DSqpVKC7.js";function $(a){return a?a.replace(/^https?:\/\//,"").split("/")[0]??a:""}function L(a){return a==="working"?"in_turn":a==="available"?"callable":a==="offline"?"blocked":"unknown"}function d({label:a,value:s,code:t}){return e.jsxs("div",{className:"sys-detail-card",children:[e.jsx("span",{className:"sys-detail-label",children:a}),t?e.jsx("code",{className:"sys-detail-value",children:s}):e.jsx("span",{className:"sys-detail-value",children:s})]})}function M({view:a}){const s=a.workload;if(!s)return e.jsx("div",{className:"mesh-node-workload mesh-node-workload--unknown",children:e.jsx("span",{className:"mesh-node-workload-note",children:"No workload reported for this machine yet."})});const t=s.working!==null;return e.jsxs("div",{className:"mesh-node-workload",children:[e.jsxs("div",{className:"mesh-node-workload-cell",children:[e.jsx("span",{className:"mesh-node-workload-num",children:s.total}),e.jsx("span",{className:"mesh-node-workload-label",children:"on this node"})]}),t?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"mesh-node-workload-cell mesh-node-workload-cell--working",children:[e.jsx("span",{className:"mesh-node-workload-num",children:s.working}),e.jsx("span",{className:"mesh-node-workload-label",children:"working"})]}),e.jsxs("div",{className:"mesh-node-workload-cell",children:[e.jsx("span",{className:"mesh-node-workload-num",children:s.available}),e.jsx("span",{className:"mesh-node-workload-label",children:"ready"})]}),e.jsxs("div",{className:"mesh-node-workload-cell",children:[e.jsx("span",{className:"mesh-node-workload-num",children:s.offline}),e.jsx("span",{className:"mesh-node-workload-label",children:"offline"})]})]}):e.jsx("div",{className:"mesh-node-workload-cell mesh-node-workload-cell--unknown",children:e.jsx("span",{className:"mesh-node-workload-label",children:"registered here — this broker cannot report what they are doing"})}),s.unattributed>0&&e.jsxs("div",{className:"mesh-node-workload-cell mesh-node-workload-cell--unknown",children:[e.jsx("span",{className:"mesh-node-workload-num",children:s.unattributed}),e.jsx("span",{className:"mesh-node-workload-label",children:"not attributed to this node"})]})]})}function B({view:a}){return a.roster.length===0?T(a)?e.jsx("div",{className:"sys-list-empty",style:{marginTop:4},children:e.jsx("p",{children:"Connected, with nothing running right now."})}):e.jsx("div",{className:"sys-list-empty",style:{marginTop:4},children:e.jsx("p",{children:"Nothing has been reported for this machine. That is not the same as nothing running."})}):e.jsxs("div",{className:"mesh-agent-table",style:{marginTop:4},children:[a.roster.map(s=>{const t=L(s.state);return e.jsxs("div",{className:"mesh-detail-agent",children:[e.jsx("span",{className:`mesh-detail-dot mesh-detail-dot--${t}`}),e.jsxs("div",{className:"mesh-detail-agent-body",children:[e.jsx("span",{className:"mesh-detail-agent-name",children:s.title}),(s.role||s.projectRoot)&&e.jsx("span",{className:"mesh-detail-agent-task",children:[s.role,s.projectRoot].filter(Boolean).join(" · ")})]}),e.jsx("span",{className:`mesh-detail-agent-state mesh-detail-agent-state--${t}`,children:s.statusLabel??s.state??"state unknown"})]},s.id)}),a.workload?.truncated&&e.jsxs("p",{className:"mesh-node-roster-note",children:["Showing the first ",a.roster.length," of ",a.workload.total,"."]})]})}function v({title:a,section:s,unreported:t,empty:r,render:l}){return e.jsxs("div",{className:"mesh-node-inspector-section",children:[e.jsxs("div",{className:"sys-inspector-section-label",children:[a,s&&s.total>0&&e.jsx("span",{className:"mesh-node-section-count",children:s.total})]}),!s&&e.jsx("p",{className:"mesh-node-unreported",children:t}),s&&s.items.length===0&&e.jsx("p",{className:"mesh-node-empty",children:r}),s&&s.items.length>0&&e.jsxs("div",{className:"mesh-node-rows",children:[s.items.map(h=>l(h)),s.truncated&&e.jsxs("p",{className:"mesh-node-roster-note",children:["Showing ",s.items.length," of ",s.total,"."]})]})]})}function U({machineId:a,mesh:s,issues:t=[]}){const r=f(a),l=r?.view??null,h=g.useRef(null);g.useEffect(()=>{h.current!==a&&(h.current=a,S(a,{deep:!0}))},[a]);const o=Object.values(s.nodes).find(n=>n.id===a)??(s.localNode?.id===a?s.localNode:null),i=a.startsWith("tailnet:")?s.tailscale.peers.find(n=>n.id===a.slice(8))??null:s.tailscale.peers.find(n=>{const m=(n.hostName??n.name??"").split(".")[0]?.toLowerCase(),y=(o?.hostName??o?.name??"").split(".")[0]?.toLowerCase();return!!(m&&y&&m===y)})??null,j=l?.label??o?.hostName?.split(".")[0]??o?.name??i?.hostName?.split(".")[0]??i?.name??"Node",u=s.localNode?.id===a,c=A(l),x=l?.node?.brokerUrl??o?.brokerUrl??null,N=l?.node?.id??o?.id??null,k=l?.node?.capabilities??o?.capabilities??[],w=i?.addresses?.[0]?.split("/")[0]??null,b=o&&"lastSeenAt"in o&&typeof o.lastSeenAt=="number"?o.lastSeenAt:null;return e.jsxs("div",{className:"sys-inspector-content mesh-node-inspector",children:[e.jsxs("div",{className:"sys-inspector-head",children:[e.jsx("h3",{className:"sys-inspector-title",children:j}),e.jsxs("div",{className:"mesh-node-inspector-actions",children:[u&&e.jsx("span",{className:"sys-chip sys-chip-neutral",children:"this broker"}),e.jsx("span",{className:`sys-chip mesh-node-reach mesh-node-reach--${c.tone}`,children:r?.loading?"Checking…":c.label}),e.jsx("button",{type:"button",className:"s-btn s-btn--sm",disabled:r?.loading??!1,onClick:()=>{C(a)},title:"Check this machine again now",children:"Refresh"})]})]}),(c.detail||r?.error)&&e.jsx("div",{className:`sys-banner sys-banner-${c.tone==="bad"?"warning":"muted"} mesh-node-reach-note`,children:e.jsx("span",{children:r?.error??c.detail})}),e.jsxs("div",{className:"mesh-node-inspector-section",children:[e.jsxs("div",{className:"sys-inspector-section-label",children:["Running here",l?.stale&&e.jsx("span",{className:"mesh-node-stale-tag",children:"last known"})]}),!l&&r?.loading&&e.jsx("div",{className:"sys-banner sys-banner-muted",children:e.jsxs("span",{children:["Asking ",j," what it is running…"]})}),!l&&!r?.loading&&e.jsx("div",{className:"sys-list-empty",children:e.jsx("p",{children:"This machine has not been checked yet."})}),l&&e.jsxs(e.Fragment,{children:[e.jsx(M,{view:l}),e.jsx(B,{view:l})]})]}),l&&e.jsxs(e.Fragment,{children:[e.jsx(v,{title:"Sessions",section:l.sessions,unreported:"This machine did not report its sessions.",empty:"No harness session is live on this machine.",render:n=>e.jsxs("div",{className:"mesh-node-row",children:[e.jsx("span",{className:"mesh-node-row-name",children:n.agentId||n.id}),e.jsx("span",{className:"mesh-node-row-meta",children:[n.harness,n.transport].filter(Boolean).join(" · ")||"session"}),e.jsx("span",{className:`mesh-node-row-state mesh-node-row-state--${n.state}`,children:n.state})]},n.id)}),e.jsx(v,{title:"Work in flight",section:l.work,unreported:"This machine did not report work in flight.",empty:"No work is in flight on this machine.",render:n=>e.jsxs("div",{className:"mesh-node-row",children:[e.jsx("span",{className:"mesh-node-row-name",children:n.targetAgentId||n.id}),n.summary&&e.jsx("span",{className:"mesh-node-row-meta",children:n.summary}),e.jsx("span",{className:`mesh-node-row-state mesh-node-row-state--${n.state}`,children:n.state})]},n.id)})]}),e.jsxs("div",{className:"mesh-node-inspector-section mesh-node-identity",children:[e.jsx("div",{className:"sys-inspector-section-label",children:"Machine"}),e.jsxs("div",{className:"sys-detail-grid",children:[N&&e.jsx(d,{label:"Node ID",value:N,code:!0}),(l?.node?.hostName??o?.hostName)&&e.jsx(d,{label:"Host",value:l?.node?.hostName??o?.hostName??""}),x&&e.jsx(d,{label:"Broker",value:$(x),code:!0}),w&&e.jsx(d,{label:"Address",value:w,code:!0}),i?.os&&e.jsx(d,{label:"Platform",value:i.os}),l?.node?.meshId&&e.jsx(d,{label:"Mesh",value:l.node.meshId.slice(0,14),code:!0}),l?.observedAt&&e.jsx(d,{label:"Reported",value:p(l.observedAt)}),l?.checkedAt&&e.jsx(d,{label:"Checked",value:p(l.checkedAt)}),!l?.checkedAt&&b!==null&&e.jsx(d,{label:"Last seen",value:p(b)})]}),k.length>0&&e.jsx("div",{className:"mesh-node-caps",children:k.map(n=>e.jsx("span",{className:"sys-chip sys-chip-neutral",children:n},n))})]}),u&&t.length>0&&e.jsx("div",{className:"sys-issue-grid",style:{marginTop:12},children:t.map((n,m)=>e.jsxs("article",{className:`sys-issue-card sys-issue-card-${n.severity==="error"?"error":"warning"}`,children:[e.jsx("div",{className:"sys-issue-head",children:e.jsx("h3",{className:"sys-issue-title",children:n.title})}),e.jsx("p",{className:"sys-issue-body",children:n.summary}),n.actionCommand&&e.jsx("div",{className:"sys-issue-action",children:e.jsx("code",{className:"sys-code-inline",children:n.actionCommand})})]},m))}),e.jsx("button",{type:"button",className:"s-btn",style:{marginTop:14},onClick:()=>R(null,null),children:"Clear selection"})]})}export{U as NodeDetailPanel};
@@ -1 +1 @@
1
- import{r,j as i}from"./index-DReVb7jZ.js";import{r as A}from"./index-CbqBwfIW.js";const B=r.forwardRef(function({machineLabel:o,actions:h,className:g},R){const[s,x]=r.useState(!1),[u,D]=r.useState(null),[b,w]=r.useState(null),p=r.useRef(null),y=r.useRef(null),c=r.useRef([]),k=r.useRef(null),a=r.useCallback((e=!0)=>{if(x(!1),D(null),w(null),!e)return;(k.current??p.current)?.focus()},[]),f=r.useCallback(e=>{k.current=document.activeElement??null;const t=p.current?.getBoundingClientRect();D(e??(t?{x:t.left,y:t.bottom+2}:{x:16,y:16})),w(null),x(!0)},[]);r.useImperativeHandle(R,()=>({openAt:e=>f(e),open:()=>f(null),close:()=>a(!1)}),[a,f]),r.useLayoutEffect(()=>{if(!s||!u)return;const e=y.current;if(!e)return;const t=e.getBoundingClientRect(),n=8,l=Math.max(n,window.innerWidth-t.width-n),d=Math.min(Math.max(n,u.x),l),P=u.y+t.height+n<=window.innerHeight?u.y:Math.max(n,u.y-t.height-(u.y>window.innerHeight/2?4:0));w({left:d,top:P})},[u,s]),r.useEffect(()=>{if(!s)return;(c.current.find(t=>t&&!t.disabled)??c.current[0])?.focus()},[s]),r.useEffect(()=>{if(!s)return;const e=n=>{const l=n.target;y.current?.contains(l??null)||p.current?.contains(l??null)||a(!1)},t=()=>a(!1);return document.addEventListener("pointerdown",e,!0),window.addEventListener("blur",t),()=>{document.removeEventListener("pointerdown",e,!0),window.removeEventListener("blur",t)}},[a,s]);const E=(e,t)=>{const n=h.length;if(n!==0)for(let l=1;l<=n;l+=1){const d=c.current[(e+t*l+n*l)%n];if(d&&!d.disabled){d.focus();return}}},M=(e,t)=>{switch(e.key){case"Escape":e.preventDefault(),e.stopPropagation(),a();break;case"ArrowDown":e.preventDefault(),E(t,1);break;case"ArrowUp":e.preventDefault(),E(t,-1);break;case"Home":e.preventDefault(),c.current[0]?.focus();break;case"End":e.preventDefault(),c.current[h.length-1]?.focus();break;case"Tab":a(!1);break}},j=e=>{e.disabled||(a(),e.run())};return i.jsxs(i.Fragment,{children:[i.jsx("button",{type:"button",ref:p,className:`mesh-node-menu-btn${g?` ${g}`:""}`,"aria-haspopup":"menu","aria-expanded":s,"aria-label":`Actions for ${o}`,onClick:e=>{e.stopPropagation(),s?a(!1):f(null)},onKeyDown:e=>{e.key==="ArrowDown"&&!s&&(e.preventDefault(),f(null))},children:i.jsx("span",{"aria-hidden":!0,children:"⋯"})}),s&&typeof document<"u"&&A.createPortal(i.jsx("div",{ref:y,role:"menu","aria-label":`${o} actions`,className:"mesh-node-menu",style:{position:"fixed",left:b?.left??u?.x??0,top:b?.top??u?.y??0,visibility:b?"visible":"hidden"},children:h.map((e,t)=>i.jsxs("button",{type:"button",role:"menuitem",ref:n=>{c.current[t]=n},className:"mesh-node-menu-item",title:e.hint,disabled:e.disabled,"aria-disabled":e.disabled,onClick:n=>{n.stopPropagation(),j(e)},onKeyDown:n=>M(n,t),children:[i.jsx("span",{className:"mesh-node-menu-item-label",children:e.label}),e.hint&&i.jsx("span",{className:"mesh-node-menu-item-hint",children:e.hint})]},e.id))}),document.body)]})});function K(m){return{onContextMenu:o=>{o.preventDefault(),o.stopPropagation(),m.current?.openAt({x:o.clientX,y:o.clientY})},onKeyDown:o=>{(o.key==="ContextMenu"||o.shiftKey&&o.key==="F10")&&(o.preventDefault(),o.stopPropagation(),m.current?.open())}}}export{B as NodeMenu,K as nodeMenuRowProps};
1
+ import{r,j as i}from"./index-EsrkGBcv.js";import{r as A}from"./index-724SdE6r.js";const B=r.forwardRef(function({machineLabel:o,actions:h,className:g},R){const[s,x]=r.useState(!1),[u,D]=r.useState(null),[b,w]=r.useState(null),p=r.useRef(null),y=r.useRef(null),c=r.useRef([]),k=r.useRef(null),a=r.useCallback((e=!0)=>{if(x(!1),D(null),w(null),!e)return;(k.current??p.current)?.focus()},[]),f=r.useCallback(e=>{k.current=document.activeElement??null;const t=p.current?.getBoundingClientRect();D(e??(t?{x:t.left,y:t.bottom+2}:{x:16,y:16})),w(null),x(!0)},[]);r.useImperativeHandle(R,()=>({openAt:e=>f(e),open:()=>f(null),close:()=>a(!1)}),[a,f]),r.useLayoutEffect(()=>{if(!s||!u)return;const e=y.current;if(!e)return;const t=e.getBoundingClientRect(),n=8,l=Math.max(n,window.innerWidth-t.width-n),d=Math.min(Math.max(n,u.x),l),P=u.y+t.height+n<=window.innerHeight?u.y:Math.max(n,u.y-t.height-(u.y>window.innerHeight/2?4:0));w({left:d,top:P})},[u,s]),r.useEffect(()=>{if(!s)return;(c.current.find(t=>t&&!t.disabled)??c.current[0])?.focus()},[s]),r.useEffect(()=>{if(!s)return;const e=n=>{const l=n.target;y.current?.contains(l??null)||p.current?.contains(l??null)||a(!1)},t=()=>a(!1);return document.addEventListener("pointerdown",e,!0),window.addEventListener("blur",t),()=>{document.removeEventListener("pointerdown",e,!0),window.removeEventListener("blur",t)}},[a,s]);const E=(e,t)=>{const n=h.length;if(n!==0)for(let l=1;l<=n;l+=1){const d=c.current[(e+t*l+n*l)%n];if(d&&!d.disabled){d.focus();return}}},M=(e,t)=>{switch(e.key){case"Escape":e.preventDefault(),e.stopPropagation(),a();break;case"ArrowDown":e.preventDefault(),E(t,1);break;case"ArrowUp":e.preventDefault(),E(t,-1);break;case"Home":e.preventDefault(),c.current[0]?.focus();break;case"End":e.preventDefault(),c.current[h.length-1]?.focus();break;case"Tab":a(!1);break}},j=e=>{e.disabled||(a(),e.run())};return i.jsxs(i.Fragment,{children:[i.jsx("button",{type:"button",ref:p,className:`mesh-node-menu-btn${g?` ${g}`:""}`,"aria-haspopup":"menu","aria-expanded":s,"aria-label":`Actions for ${o}`,onClick:e=>{e.stopPropagation(),s?a(!1):f(null)},onKeyDown:e=>{e.key==="ArrowDown"&&!s&&(e.preventDefault(),f(null))},children:i.jsx("span",{"aria-hidden":!0,children:"⋯"})}),s&&typeof document<"u"&&A.createPortal(i.jsx("div",{ref:y,role:"menu","aria-label":`${o} actions`,className:"mesh-node-menu",style:{position:"fixed",left:b?.left??u?.x??0,top:b?.top??u?.y??0,visibility:b?"visible":"hidden"},children:h.map((e,t)=>i.jsxs("button",{type:"button",role:"menuitem",ref:n=>{c.current[t]=n},className:"mesh-node-menu-item",title:e.hint,disabled:e.disabled,"aria-disabled":e.disabled,onClick:n=>{n.stopPropagation(),j(e)},onKeyDown:n=>M(n,t),children:[i.jsx("span",{className:"mesh-node-menu-item-label",children:e.label}),e.hint&&i.jsx("span",{className:"mesh-node-menu-item-hint",children:e.hint})]},e.id))}),document.body)]})});function K(m){return{onContextMenu:o=>{o.preventDefault(),o.stopPropagation(),m.current?.openAt({x:o.clientX,y:o.clientY})},onKeyDown:o=>{(o.key==="ContextMenu"||o.shiftKey&&o.key==="F10")&&(o.preventDefault(),o.stopPropagation(),m.current?.open())}}}export{B as NodeMenu,K as nodeMenuRowProps};
@@ -0,0 +1,2 @@
1
+ import{r as o,j as e}from"./index-EsrkGBcv.js";import{a as v}from"./api-DSqpVKC7.js";import{d as b,S as u}from"./SessionObserve-DXxBvejJ.js";import{u as h}from"./sse-BCPRocpq.js";import{f as x}from"./time-Dhsh_2EG.js";import{SessionObserveEmbedStatus as f}from"./SessionObserveEvidence-Cuj_KHxR.js";import{E as c}from"./external-link-CUObqmgX.js";import"./bash-format-BRV5C6Gv.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";import"./lane-tool-detail-Czggx8oM.js";import"./LaneToolHoverCard-CJa110yk.js";import"./index-724SdE6r.js";import"./lane-observe-CteDwdD-.js";import"./lane-ask-display-BTVSakyo.js";import"./colors-CFlbwC25.js";import"./agent-state-DDhnFEEP.js";import"./mentions-ByUvhS-v.js";import"./Provider-C35yu29I.js";import"./theme-vars-DNK0nn3k.js";import"./provider-Dojd8quC.js";import"./router-DCtl8wqb.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./machine-scope-DJt9RZ2w.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-C97-iTMK.js";import"./runtime-picker-DXu2bOTh.js";import"./scout-voice-CZx60X6E.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-OvccU82H.js";import"./createLucideIcon-zZ8Hx7er.js";import"./media-blobs-Bi8pxr1u.js";import"./HarnessMark-C4naWc16.js";import"./conversation-model-FxDeWlle.js";import"./conversations-DoAAO6kA.js";import"./NewChatOrigin-DFbF_XvR.js";import"./keyboard-nav-DDHegDbx.js";import"./x-DAehov0E.js";import"./chevron-down-l1mrh5S9.js";import"./search-DT42oyRW.js";import"./file-text-CnISiiw6.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-DJr0v0D_.js";import"./TextDocumentSurface-D52m7Vd8.js";import"./index-CHD0qcfL.js";import"./chevron-right-DrfqcerI.js";import"./folder-D5prSkzz.js";import"./chevron-up-CETZJzjV.js";import"./code-xml-BhcNbLWU.js";import"./arrow-left-MVUKauwQ.js";import"./arrow-right-Bp-FpE5V.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DbVLgbWX.js";import"./AgentDetailCard-DtHT3sCo.js";import"./AgentLiveActions-CfTupTEl.js";import"./terminal-takeover-Ay5C2c-M.js";import"./openContent-C6XO6kr5.js";import"./eye-LrO-cXQt.js";import"./terminal-hQKQygcf.js";import"./message-markup-Zwo3t4cI.js";import"./message-markup-BQW5jdJw.js";import"./SessionHopMenu-E6VJZrE0.js";import"./ObservedTopologyPanel-CUTIoLZJ.js";import"./ObserveTextFlow-PFnG_10h.js";import"./use-reduced-motion-3gMYZNIp.js";import"./proxy-AJsmwA6h.js";import"./message-circle-CxRVKNE-.js";import"./wrench-DR0i5BU7.js";import"./index-BWHgHrtv.js";import"./SessionContextStrip-CXfs9hUD.js";const j=2500,g=240,N=5;function I({ask:r,sessionId:s}){const[i,p]=o.useState(!1);if(!r)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 a=r.task.length>g||r.task.split(`
2
+ `).length>N,m=r.conversationId?`/messages/${encodeURIComponent(r.conversationId)}${r.messageId?`#msg-${encodeURIComponent(r.messageId)}`:""}`:null,d=`/flights/${encodeURIComponent(r.flightId)}/observe${s?`?session=${encodeURIComponent(s)}`:""}`;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:r.requesterName}),e.jsx("span",{"aria-hidden":"true",children:"·"}),e.jsx("time",{dateTime:new Date(r.requestedAt).toISOString(),children:x(r.requestedAt)})]})]}),e.jsxs("nav",{className:"s-observe-embed-ask-links","aria-label":"Run provenance",children:[m&&e.jsxs("a",{href:m,target:"_top",children:["Origin ",e.jsx(c,{size:11,"aria-hidden":"true"})]}),e.jsxs("a",{href:d,target:"_top",children:["Flight ",e.jsx(c,{size:11,"aria-hidden":"true"})]})]})]}),e.jsx("div",{className:`s-observe-embed-ask-body${i?" is-expanded":""}`,children:r.task}),a&&e.jsx("button",{type:"button",className:"s-observe-embed-ask-toggle","aria-expanded":i,onClick:()=>p(t=>!t),children:i?"Show less":"Show full ask"})]})}function ze({agentId:r}){const[s,i]=o.useState(null),[p,a]=o.useState(!0),[m,d]=o.useState(null),t=o.useCallback(async(l=!1)=>{l||a(!0),d(null);try{const n=await v(`/api/agents/${encodeURIComponent(r)}/observe`);i(n)}catch(n){l||i(null),d(n instanceof Error?n.message:String(n))}finally{a(!1)}},[r]);return o.useEffect(()=>{t();const l=window.setInterval(()=>{t(!0)},j);return()=>window.clearInterval(l)},[t]),h(()=>{t(!0)}),m&&!s?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:m})]})}):p&&!s?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:r})]})}):e.jsxs("div",{className:"s-observe-embed-page",children:[s&&e.jsxs(e.Fragment,{children:[e.jsx(f,{source:s.source,fidelity:s.fidelity,sessionId:s.sessionId,evidence:b({source:s.source,fidelity:s.fidelity,live:s.data.live,eventCount:s.data.events.length})}),e.jsx(I,{ask:s.initiatingAsk,sessionId:s.sessionId})]}),e.jsx(u,{data:s?.data,agentId:r,sessionId:s?.sessionId,showRail:!1,observeSource:s?.source,observeFidelity:s?.fidelity})]})}export{I as InitiatingAsk,ze as ObserveEmbedScreen};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/conversation-motion-features-D9PxLoDt.js","assets/gestures-CofqY4Km.js","assets/index-DReVb7jZ.js","assets/index-CGbs0SBm.css","assets/use-reduced-motion-CiaZHMnk.js"])))=>i.map(i=>d[i]);
2
- import{r as n,j as e,_ as b}from"./index-DReVb7jZ.js";import{b as p}from"./lane-observe-CteDwdD-.js";import{C as f}from"./chevron-down-CDzRQQGl.js";import{u as h}from"./use-reduced-motion-CiaZHMnk.js";import{L as g,m as x}from"./proxy-DgzP27W8.js";import"./time-Dhsh_2EG.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";import"./createLucideIcon-ChvMq-zl.js";const j=420,N=()=>b(()=>import("./conversation-motion-features-D9PxLoDt.js"),__vite__mapDeps([0,1,2,3,4])).then(t=>t.default);function R({text:t}){const s=h(),[o,i]=n.useState(!0),r=n.useRef(null);return n.useEffect(()=>(i(!0),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>i(!1),j),()=>{r.current&&clearTimeout(r.current)}),[t]),e.jsx(g,{features:N,strict:!0,children:e.jsx(x.span,{className:"s-observe-stream-cursor","data-receiving":o||void 0,"aria-hidden":"true",initial:!1,animate:s||o?{opacity:1}:{opacity:[1,.28,1]},transition:s||o?{duration:.12}:{duration:1.05,ease:"linear",repeat:1/0}})})}function w({text:t,live:s,compact:o=!1,copyControl:i}){const r=n.useId(),c=t.trim(),[a,d]=n.useState(s),u=n.useRef(s);n.useEffect(()=>{s?d(!0):u.current&&d(!1),u.current=s},[s]);const l=p(c,o?120:168,1),m=e.jsxs(e.Fragment,{children:[e.jsxs("span",{className:"s-observe-reasoning-state",children:[e.jsx("span",{className:"s-observe-reasoning-dot","aria-hidden":"true"}),s?"Thinking":"Reasoning"]}),!s&&!a&&l?e.jsx("span",{className:"s-observe-reasoning-preview",title:c,children:l}):null,s?null:e.jsx(f,{className:"s-observe-reasoning-chevron",size:12,strokeWidth:1.8,"aria-hidden":"true"})]});return e.jsxs("div",{className:["s-observe-block","s-observe-reasoning",o&&"s-observe-reasoning--compact",s&&"s-observe-reasoning--live",a&&"s-observe-reasoning--open"].filter(Boolean).join(" "),"aria-busy":s||void 0,children:[s?e.jsx("div",{className:"s-observe-reasoning-header",role:"status",children:m}):e.jsx("button",{type:"button",className:"s-observe-reasoning-header s-observe-reasoning-header--button","aria-expanded":a,"aria-controls":r,"aria-label":a?"Hide reasoning":"Show reasoning",onClick:()=>d(v=>!v),children:m}),e.jsx("div",{id:r,className:"s-observe-reasoning-body","aria-hidden":!a,inert:a?void 0:!0,children:e.jsx("div",{className:"s-observe-reasoning-body-clip",children:e.jsxs("div",{className:"s-observe-reasoning-body-inner",children:[e.jsxs("div",{className:"s-observe-reasoning-text",children:[c,s?e.jsx(R,{text:c}):null]}),i?e.jsx("div",{className:"s-observe-reasoning-tools",children:i}):null]})})})]})}export{w as ObserveReasoningDisclosure,R as ObserveStreamCursor};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/conversation-motion-features-C5zjuNwE.js","assets/gestures-QZub3Ot9.js","assets/index-EsrkGBcv.js","assets/index-CN4rBB_s.css","assets/use-reduced-motion-3gMYZNIp.js"])))=>i.map(i=>d[i]);
2
+ import{r as n,j as e,_ as b}from"./index-EsrkGBcv.js";import{b as p}from"./lane-observe-CteDwdD-.js";import{C as f}from"./chevron-down-l1mrh5S9.js";import{u as h}from"./use-reduced-motion-3gMYZNIp.js";import{L as g,m as x}from"./proxy-AJsmwA6h.js";import"./time-Dhsh_2EG.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";import"./createLucideIcon-zZ8Hx7er.js";const j=420,N=()=>b(()=>import("./conversation-motion-features-C5zjuNwE.js"),__vite__mapDeps([0,1,2,3,4])).then(t=>t.default);function R({text:t}){const s=h(),[o,i]=n.useState(!0),r=n.useRef(null);return n.useEffect(()=>(i(!0),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>i(!1),j),()=>{r.current&&clearTimeout(r.current)}),[t]),e.jsx(g,{features:N,strict:!0,children:e.jsx(x.span,{className:"s-observe-stream-cursor","data-receiving":o||void 0,"aria-hidden":"true",initial:!1,animate:s||o?{opacity:1}:{opacity:[1,.28,1]},transition:s||o?{duration:.12}:{duration:1.05,ease:"linear",repeat:1/0}})})}function w({text:t,live:s,compact:o=!1,copyControl:i}){const r=n.useId(),c=t.trim(),[a,d]=n.useState(s),u=n.useRef(s);n.useEffect(()=>{s?d(!0):u.current&&d(!1),u.current=s},[s]);const l=p(c,o?120:168,1),m=e.jsxs(e.Fragment,{children:[e.jsxs("span",{className:"s-observe-reasoning-state",children:[e.jsx("span",{className:"s-observe-reasoning-dot","aria-hidden":"true"}),s?"Thinking":"Reasoning"]}),!s&&!a&&l?e.jsx("span",{className:"s-observe-reasoning-preview",title:c,children:l}):null,s?null:e.jsx(f,{className:"s-observe-reasoning-chevron",size:12,strokeWidth:1.8,"aria-hidden":"true"})]});return e.jsxs("div",{className:["s-observe-block","s-observe-reasoning",o&&"s-observe-reasoning--compact",s&&"s-observe-reasoning--live",a&&"s-observe-reasoning--open"].filter(Boolean).join(" "),"aria-busy":s||void 0,children:[s?e.jsx("div",{className:"s-observe-reasoning-header",role:"status",children:m}):e.jsx("button",{type:"button",className:"s-observe-reasoning-header s-observe-reasoning-header--button","aria-expanded":a,"aria-controls":r,"aria-label":a?"Hide reasoning":"Show reasoning",onClick:()=>d(v=>!v),children:m}),e.jsx("div",{id:r,className:"s-observe-reasoning-body","aria-hidden":!a,inert:a?void 0:!0,children:e.jsx("div",{className:"s-observe-reasoning-body-clip",children:e.jsxs("div",{className:"s-observe-reasoning-body-inner",children:[e.jsxs("div",{className:"s-observe-reasoning-text",children:[c,s?e.jsx(R,{text:c}):null]}),i?e.jsx("div",{className:"s-observe-reasoning-tools",children:i}):null]})})})]})}export{w as ObserveReasoningDisclosure,R as ObserveStreamCursor};