@openscout/scout 0.2.86 → 0.2.87

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 (327) hide show
  1. package/bin/scoutd +0 -0
  2. package/dist/build-manifest.json +3 -3
  3. package/dist/client/assets/{ActivityScreen-C7AwUogt.js → ActivityScreen-DRHTQIxu.js} +1 -1
  4. package/dist/client/assets/{AddProjectForm-BNRpRPod.js → AddProjectForm-Dw2oyCcz.js} +1 -1
  5. package/dist/client/assets/AgentAvatar-CQqJcwOQ.js +1 -0
  6. package/dist/client/assets/AgentAvatar-CUZZARWG.css +1 -0
  7. package/dist/client/assets/{AgentConfigurationScreen-BoBQpyz5.js → AgentConfigurationScreen-C3OI6JmZ.js} +1 -1
  8. package/dist/client/assets/{AgentDefinitionsWorkspace-rw3vh8Lm.js → AgentDefinitionsWorkspace-D0LDEqfl.js} +1 -1
  9. package/dist/client/assets/{AgentDetailCard-FelCxQrT.js → AgentDetailCard-2DZQahiN.js} +1 -1
  10. package/dist/client/assets/{AgentFloorView-Crdw8Uo5.js → AgentFloorView-CoGh2q5f.js} +1 -1
  11. package/dist/client/assets/{AgentInfoScreen-Cge7HHbV.js → AgentInfoScreen-5ybfIL9p.js} +1 -1
  12. package/dist/client/assets/{AgentLaneCard-CRDG74C1.js → AgentLaneCard-CeSjWWwh.js} +1 -1
  13. package/dist/client/assets/{AgentLaneChrome-CWFqUdch.js → AgentLaneChrome-Do7CXwin.js} +1 -1
  14. package/dist/client/assets/{AgentLaneDetailSheet-DCIIg3Zp.js → AgentLaneDetailSheet-BD8B51ka.js} +1 -1
  15. package/dist/client/assets/{AgentLaneSummaryResize-yTM4GQAJ.js → AgentLaneSummaryResize--lHgnncr.js} +1 -1
  16. package/dist/client/assets/AgentLanesEmbedScreen-FRTVASPw.js +1 -0
  17. package/dist/client/assets/{AgentLanesPreflight-DJeDRTAN.js → AgentLanesPreflight-BwkGk8JH.js} +1 -1
  18. package/dist/client/assets/{AgentLanesView-CbY9qD0z.js → AgentLanesView-Bm85ittm.js} +1 -1
  19. package/dist/client/assets/{AgentLiveActions-Bn3zeZBN.js → AgentLiveActions-BmXDRxER.js} +1 -1
  20. package/dist/client/assets/{AgentSessions-czl5zT7A.js → AgentSessions-C_tAfGN2.js} +1 -1
  21. package/dist/client/assets/{AgentsConsole-CoT2crwq.js → AgentsConsole-DsHWsaOJ.js} +1 -1
  22. package/dist/client/assets/{AgentsScreen-BcPM-z1T.js → AgentsScreen-Bod6AHlA.js} +1 -1
  23. package/dist/client/assets/AgentsSubnav-CsvYzzQ-.js +1 -0
  24. package/dist/client/assets/{AstronautSuit-BADl7m8x.js → AstronautSuit-C05Ezxl9.js} +1 -1
  25. package/dist/client/assets/{AtopView-DymBCiXv.js → AtopView-DOKJbiJL.js} +1 -1
  26. package/dist/client/assets/{BackToPicker-CqYhOaLB.js → BackToPicker-CXsbxbHM.js} +1 -1
  27. package/dist/client/assets/{BriefingDetailScreen-DDfZ8ci1.js → BriefingDetailScreen-Uvnk3t0v.js} +1 -1
  28. package/dist/client/assets/{BriefingsScreen-CLvSOJjy.js → BriefingsScreen-DLIJ8eYj.js} +1 -1
  29. package/dist/client/assets/{BrokerMetadataPanel-DFAH-NO6.js → BrokerMetadataPanel-C8WERmHF.js} +1 -1
  30. package/dist/client/assets/{BrokerScreen-Bkvu92jk.js → BrokerScreen-LZ3T7hGG.js} +1 -1
  31. package/dist/client/assets/{Canvas-KyTsDJlB.js → Canvas-BO9mx5_P.js} +1 -1
  32. package/dist/client/assets/{ChatCollapsedStrip-Bjjqa30K.js → ChatCollapsedStrip-CtLPTLTY.js} +1 -1
  33. package/dist/client/assets/{CodeDiffPane-C9HT1dCT.js → CodeDiffPane-CtgqIuS0.js} +1 -1
  34. package/dist/client/assets/{CodeProjectPicker-5Y3GvXkM.js → CodeProjectPicker-C4W_udc7.js} +1 -1
  35. package/dist/client/assets/{CodeScreen-DpN9kQvm.js → CodeScreen-WhTvVUKY.js} +1 -1
  36. package/dist/client/assets/{ConversationComposer-Ce7Byw48.js → ConversationComposer-DPWu3HvK.js} +1 -1
  37. package/dist/client/assets/{ConversationFeedRows-DygDfQn_.js → ConversationFeedRows-MhcPfxUr.js} +1 -1
  38. package/dist/client/assets/{ConversationHeader-C3sg0ULI.js → ConversationHeader-Ce7TENb9.js} +1 -1
  39. package/dist/client/assets/{ConversationPanels-Dg4Y2GgX.js → ConversationPanels-D-b5SLO-.js} +2 -2
  40. package/dist/client/assets/ConversationScreen-C5HnXd5w.css +1 -0
  41. package/dist/client/assets/{ConversationScreen-CjWWmuuh.js → ConversationScreen-D77SoLos.js} +1 -1
  42. package/dist/client/assets/{ConversationStatus-BhVIYQza.js → ConversationStatus-lIvSKRic.js} +1 -1
  43. package/dist/client/assets/CrewWorkspaces-CJhBKVoZ.css +1 -0
  44. package/dist/client/assets/CrewWorkspaces-CdojnRMG.js +1 -0
  45. package/dist/client/assets/{DataTable-oJP339bX.js → DataTable-DFacT2uu.js} +1 -1
  46. package/dist/client/assets/{DispatchAftermath-CH02HAVw.js → DispatchAftermath-D797PbCe.js} +1 -1
  47. package/dist/client/assets/{DocumentFocusViewer-DmtFisY9.js → DocumentFocusViewer-CetjnYut.js} +1 -1
  48. package/dist/client/assets/{EmbeddableSurfacesLab-84b9I3fy.js → EmbeddableSurfacesLab-JczLmmF-.js} +1 -1
  49. package/dist/client/assets/{EmptyState-BnDda92b.js → EmptyState-uQbB-bvP.js} +1 -1
  50. package/dist/client/assets/{FileViewerPane-Dg7_88pv.js → FileViewerPane-ebbCtnHE.js} +1 -1
  51. package/dist/client/assets/{FlightObserveScreen-DL3Xhl0h.js → FlightObserveScreen-sqvt7HUO.js} +1 -1
  52. package/dist/client/assets/{FollowScreen-DcFBqr6l.js → FollowScreen-Bfu2_KtU.js} +1 -1
  53. package/dist/client/assets/{HarnessMark-DGZ6o6Ct.js → HarnessMark-CEzmPFHC.js} +1 -1
  54. package/dist/client/assets/{HarnessesScreen-DTDL-XaA.js → HarnessesScreen-CGhRsqD5.js} +1 -1
  55. package/dist/client/assets/{HerdrSession-DV2hD6Yh.js → HerdrSession-BDLa_rrK.js} +1 -1
  56. package/dist/client/assets/{HomeHero-CENwVZ45.js → HomeHero-DdxTQ-6a.js} +1 -1
  57. package/dist/client/assets/{HostAdvisorView-PgiZUkd_.js → HostAdvisorView-BAUi5ZxX.js} +1 -1
  58. package/dist/client/assets/{KnowledgeSearchInspector-DNQjeWZO.js → KnowledgeSearchInspector-GjmxYBi_.js} +1 -1
  59. package/dist/client/assets/{KnowledgeSearchScreen-Bj80IgR0.js → KnowledgeSearchScreen-CRei9pyl.js} +1 -1
  60. package/dist/client/assets/{LaneToolHoverCard-197xYmRp.js → LaneToolHoverCard-DCY-m0JK.js} +1 -1
  61. package/dist/client/assets/{LaneTraceDetailSheet-BztwvOv9.js → LaneTraceDetailSheet-CFsCvKa3.js} +1 -1
  62. package/dist/client/assets/{LaneTraceEventFocus-C9cmqxnK.js → LaneTraceEventFocus-BfKZ7G5c.js} +1 -1
  63. package/dist/client/assets/{MeshCanvas-C3_2p9B6.js → MeshCanvas-CZYHLTvw.js} +1 -1
  64. package/dist/client/assets/{MeshCanvasMinimap-ZTjYWXTZ.js → MeshCanvasMinimap-D3mJ78CM.js} +1 -1
  65. package/dist/client/assets/{MeshScreen-lJKaOyGB.js → MeshScreen-dxNxRtKm.js} +1 -1
  66. package/dist/client/assets/{MeshTopologyView-CBjHbAZw.js → MeshTopologyView-A-wh0Ad1.js} +2 -2
  67. package/dist/client/assets/{MessagesScreen-D6MVLvdg.js → MessagesScreen-CR5v-WIE.js} +1 -1
  68. package/dist/client/assets/{MissionContextRail-DXkrbcnZ.js → MissionContextRail-MTL2EAnr.js} +1 -1
  69. package/dist/client/assets/{MissionControlView-BCH-Zsp4.js → MissionControlView-BGj1qnI2.js} +1 -1
  70. package/dist/client/assets/{MissionFocusOverlay-DbAliOSF.js → MissionFocusOverlay-hWi6y87j.js} +1 -1
  71. package/dist/client/assets/{MissionLeftAgentRow-Bx6Pg8_O.js → MissionLeftAgentRow-BSRRiiig.js} +1 -1
  72. package/dist/client/assets/{MissionLogPane-D06c29Y8.js → MissionLogPane-bbG_pM9B.js} +1 -1
  73. package/dist/client/assets/{NewAgentModal-C18Ajovd.js → NewAgentModal-Ctixol4_.js} +1 -1
  74. package/dist/client/assets/{NewChatComposer-Bgqes0UQ.js → NewChatComposer-BPsg8shF.js} +1 -1
  75. package/dist/client/assets/{NewChatOrigin-DpHS2Wmt.js → NewChatOrigin-CCiPg_WR.js} +1 -1
  76. package/dist/client/assets/{ObserveEmbedScreen-Cmhwai4X.js → ObserveEmbedScreen-Be87Chod.js} +1 -1
  77. package/dist/client/assets/{ObserveTextFlow-C1f5oize.js → ObserveTextFlow-CKYltTPJ.js} +2 -2
  78. package/dist/client/assets/{ObservedTopologyPanel-D85P6RAk.js → ObservedTopologyPanel-CfHYu-4Z.js} +1 -1
  79. package/dist/client/assets/{OpenScoutAppShell-IDI4fuUE.js → OpenScoutAppShell-DPeP1vtK.js} +2 -2
  80. package/dist/client/assets/{OpsAgentsView-yt0JavoB.js → OpsAgentsView-dEtw9yt-.js} +1 -1
  81. package/dist/client/assets/OpsScreen-QXRJY8Vf.js +1 -0
  82. package/dist/client/assets/OpsSubnav-BK9Fj3gU.js +1 -0
  83. package/dist/client/assets/ProjectAgentProfile-BjykZ2Xd.js +1 -0
  84. package/dist/client/assets/{ProjectAgentProfileBar-IDEpKZvI.js → ProjectAgentProfileBar-B4RqrI0Q.js} +1 -1
  85. package/dist/client/assets/{ProjectAgentProfileHero-Bh_aISs-.js → ProjectAgentProfileHero-Bc0g8rhW.js} +1 -1
  86. package/dist/client/assets/{ProjectsInbox-B8Srlklk.js → ProjectsInbox--ZIqo-IE.js} +1 -1
  87. package/dist/client/assets/{ProjectsRail-DqAbdvCf.js → ProjectsRail-CzS0qTCI.js} +1 -1
  88. package/dist/client/assets/ProjectsScreen-0gx7f30h.js +1 -0
  89. package/dist/client/assets/{ProjectsThreadAside-DpkjYLL2.js → ProjectsThreadAside-BsQRFbdy.js} +1 -1
  90. package/dist/client/assets/{Provider-Ve8yXaWR.js → Provider-Cd-QZltN.js} +1 -1
  91. package/dist/client/assets/{RailRow-C4GNGR80.js → RailRow-BY6fxePa.js} +1 -1
  92. package/dist/client/assets/{RawSessionsTable-Co3vzwsf.js → RawSessionsTable-CbopOF34.js} +1 -1
  93. package/dist/client/assets/{RealtimeVoiceScreen-DMd1CBAf.js → RealtimeVoiceScreen-CU4uXz4C.js} +1 -1
  94. package/dist/client/assets/{RepoDiffEmbedScreen-C97Euf4s.js → RepoDiffEmbedScreen-Cr1SL5ht.js} +1 -1
  95. package/dist/client/assets/{RepoDiffPageScreen-DUKLzkrW.js → RepoDiffPageScreen-DeC8fsh_.js} +1 -1
  96. package/dist/client/assets/{RepoDiffViewer-CovKjSgb.js → RepoDiffViewer-CiTOWK_Z.js} +1 -1
  97. package/dist/client/assets/{RepoDiffViewerLazy-zIiEmh-e.js → RepoDiffViewerLazy-BU3V7Kwq.js} +2 -2
  98. package/dist/client/assets/{ReposScreen-BR1LqTf1.js → ReposScreen-BQwIShXf.js} +1 -1
  99. package/dist/client/assets/{ScoutDeckSurface-BGsVicc2.js → ScoutDeckSurface-BncYKicb.js} +1 -1
  100. package/dist/client/assets/{ScoutSurface-BMKW7hSu.js → ScoutSurface-DdVzN3DA.js} +1 -1
  101. package/dist/client/assets/{ScoutbotFxLab-0O2iDRrF.js → ScoutbotFxLab-sLjfSKtS.js} +1 -1
  102. package/dist/client/assets/{SecondaryNav-cYTw2p39.js → SecondaryNav-CCQqTT3e.js} +1 -1
  103. package/dist/client/assets/{SessionEmbedScreen-mNjT0R6j.js → SessionEmbedScreen-BrLMZJ3N.js} +1 -1
  104. package/dist/client/assets/{SessionObserve-zAlFbwFn.js → SessionObserve-pbozyqVv.js} +1 -1
  105. package/dist/client/assets/{SessionObserveEvidence-BVawzqoE.js → SessionObserveEvidence-C54Xvbps.js} +1 -1
  106. package/dist/client/assets/{SessionRefScreen-BmKhf29o.js → SessionRefScreen-UVNVrwAf.js} +1 -1
  107. package/dist/client/assets/SessionsScreen-KeDb5gz4.js +1 -0
  108. package/dist/client/assets/SettingsDrawer-CWdj0VvN.js +3 -0
  109. package/dist/client/assets/SettingsDrawer-J-8x1eII.css +1 -0
  110. package/dist/client/assets/SettingsScreen-C7zJgZzj.js +1 -0
  111. package/dist/client/assets/{ShikiPane-DyEJdcvb.js → ShikiPane-CiVH-45m.js} +1 -1
  112. package/dist/client/assets/{SlidePanel-Dg8_styW.js → SlidePanel-BLrLF9dt.js} +1 -1
  113. package/dist/client/assets/{SpriteAvatar-DMrSssNZ.js → SpriteAvatar-vpHO-rXs.js} +1 -1
  114. package/dist/client/assets/{StatusPill-NFFnphtx.js → StatusPill-a3XBw1GG.js} +1 -1
  115. package/dist/client/assets/{TailView-BfObcZu3.js → TailView-C3rjOV7i.js} +1 -1
  116. package/dist/client/assets/{Terminal-Dr-M9U4u.js → Terminal-CMQFmHnn.js} +1 -1
  117. package/dist/client/assets/{TerminalEmbedScreen-BmyZkonh.js → TerminalEmbedScreen-GvpoGERN.js} +1 -1
  118. package/dist/client/assets/{TerminalRelay-lJ2KdMCW.js → TerminalRelay-CIHlLVf1.js} +3 -3
  119. package/dist/client/assets/{TextDocumentSurface-C7fGlzY8.js → TextDocumentSurface-B29xZNlI.js} +1 -1
  120. package/dist/client/assets/{TmuxPeek-BSeKIjnX.js → TmuxPeek-eVfqPB4m.js} +1 -1
  121. package/dist/client/assets/{VoicePermissionsPanel-BkIGTzgw.js → VoicePermissionsPanel-DpInOlVq.js} +1 -1
  122. package/dist/client/assets/{WorkDetailScreen-Cwe-KWK4.js → WorkDetailScreen-DYwgGaJs.js} +1 -1
  123. package/dist/client/assets/{WorkFilesViewer-BBtKRBPv.js → WorkFilesViewer-C7H5fXaZ.js} +1 -1
  124. package/dist/client/assets/{activity-D4W2XZY2.js → activity-DTqqWiyV.js} +1 -1
  125. package/dist/client/assets/{addon-fit-Celjj2yn.js → addon-fit-CcaylYTX.js} +1 -1
  126. package/dist/client/assets/{addon-webgl-Cu4tJ21-.js → addon-webgl-B37iuzOG.js} +1 -1
  127. package/dist/client/assets/{agent-autocomplete-Dv-_9dAw.js → agent-autocomplete-cOPLtuhM.js} +1 -1
  128. package/dist/client/assets/{agent-essentials-CngjUhQj.js → agent-essentials-DbbJm3ne.js} +1 -1
  129. package/dist/client/assets/{agent-identity-DzHGhLdJ.js → agent-identity-CIMT7oV6.js} +1 -1
  130. package/dist/client/assets/{agent-specialization-CNrsRbKA.js → agent-specialization-D3-sqwhU.js} +1 -1
  131. package/dist/client/assets/{arc.es-DNT50Y-_.js → arc.es-BRPqOKIx.js} +1 -1
  132. package/dist/client/assets/{archive-DH49QqFG.js → archive-DPMdoW_D.js} +1 -1
  133. package/dist/client/assets/{arrow-left-i-h6JAgs.js → arrow-left-B0CdJdAC.js} +1 -1
  134. package/dist/client/assets/{arrow-right-B0Yi01Zr.js → arrow-right-YRBoTTyf.js} +1 -1
  135. package/dist/client/assets/{arrow-up-right-RBC6k8nn.js → arrow-up-right-CilNLf4t.js} +1 -1
  136. package/dist/client/assets/{bot-r2IuAuJd.js → bot-Ba3gcRVa.js} +1 -1
  137. package/dist/client/assets/{check-Bfs7hMb1.js → check-BdovFDz8.js} +1 -1
  138. package/dist/client/assets/{chevron-down-Da5tV19_.js → chevron-down-Jh540uf3.js} +1 -1
  139. package/dist/client/assets/{chevron-right-BMqtBds_.js → chevron-right-CV7sEVBS.js} +1 -1
  140. package/dist/client/assets/{chunk-HRAB3GC3-BUVYXXAp.js → chunk-HRAB3GC3-BYQZ1LOn.js} +1 -1
  141. package/dist/client/assets/{clock-DaKLp6Xd.js → clock-DpfYdWcr.js} +1 -1
  142. package/dist/client/assets/{code-xml-ByQsfOI_.js → code-xml-CPzpZkhu.js} +1 -1
  143. package/dist/client/assets/{compass-BepM5iWH.js → compass-D5Io6BIV.js} +1 -1
  144. package/dist/client/assets/{content-Bgl_X3ao.js → content-3b_jmxEx.js} +1 -1
  145. package/dist/client/assets/content-B-i0XY-t.js +1 -0
  146. package/dist/client/assets/content-BD-DNFmb.js +1 -0
  147. package/dist/client/assets/content-BGeo5tgd.js +1 -0
  148. package/dist/client/assets/content-BMvXPLiQ.js +1 -0
  149. package/dist/client/assets/content-BWTbfMDg.js +1 -0
  150. package/dist/client/assets/content-BwCmeUmF.js +1 -0
  151. package/dist/client/assets/content-C1K3NcZa.js +1 -0
  152. package/dist/client/assets/{content-Cv2tSAbv.js → content-C34J5_Af.js} +1 -1
  153. package/dist/client/assets/content-CGRtIS2m.js +1 -0
  154. package/dist/client/assets/content-CIJo_-JS.js +1 -0
  155. package/dist/client/assets/content-CvqIqVAV.js +1 -0
  156. package/dist/client/assets/content-DRnwm-Vu.js +1 -0
  157. package/dist/client/assets/{content-5hnDC9WE.js → content-Dh39SSvP.js} +1 -1
  158. package/dist/client/assets/content-DoypqDj5.js +1 -0
  159. package/dist/client/assets/content-n3mvc6NQ.js +1 -0
  160. package/dist/client/assets/{conversation-icons-C4amK8Sa.js → conversation-icons-bHIIZ9z3.js} +1 -1
  161. package/dist/client/assets/{conversation-model-CigSPlKA.js → conversation-model-CIzM7aXT.js} +1 -1
  162. package/dist/client/assets/conversation-motion-features-CrP5K-dk.js +1 -0
  163. package/dist/client/assets/{copy-De4s38o2.js → copy-DQAM0eSY.js} +1 -1
  164. package/dist/client/assets/{cpu-Bc268H9Q.js → cpu-CtQc0Z9D.js} +1 -1
  165. package/dist/client/assets/{createLucideIcon-DLlxGjKt.js → createLucideIcon-Da0lq809.js} +1 -1
  166. package/dist/client/assets/discover-DdkMhTAV.js +2 -0
  167. package/dist/client/assets/embed-entry-DoSM1GZB.js +2 -0
  168. package/dist/client/assets/{external-link-BGHC_naA.js → external-link-BheHazeW.js} +1 -1
  169. package/dist/client/assets/{eye-BeCSqJn1.js → eye-B908WSFH.js} +1 -1
  170. package/dist/client/assets/{file-code-corner-CX53Cd9y.js → file-code-corner-C5Pc6znt.js} +1 -1
  171. package/dist/client/assets/{file-text-BVhkMWyC.js → file-text-BGVkHS4_.js} +1 -1
  172. package/dist/client/assets/{gauge-CPcEPmNt.js → gauge-sc_gb5Zw.js} +1 -1
  173. package/dist/client/assets/{gestures-BXIGYk_p.js → gestures-AzPBSf20.js} +1 -1
  174. package/dist/client/assets/{git-branch-q8Ayc8py.js → git-branch-CdJU49Af.js} +1 -1
  175. package/dist/client/assets/{home-moving-signal-Dm2Z2x0p.js → home-moving-signal-CZo2bYBi.js} +1 -1
  176. package/dist/client/assets/{home-now-card-xU5LGP7q.js → home-now-card-DgxfZHcR.js} +1 -1
  177. package/dist/client/assets/{home-now-card-nano-Djhy6ax0.js → home-now-card-nano-iwd10r9G.js} +1 -1
  178. package/dist/client/assets/{hooks-CdKx1CxP.js → hooks-CeCCO6Yg.js} +1 -1
  179. package/dist/client/assets/{index-DhfOMK0D.js → index-BIiI9gfa.js} +1 -1
  180. package/dist/client/assets/index-CD2foMB8.js +1 -0
  181. package/dist/client/assets/{index-D7UEHxaY.js → index-DReHD_4U.js} +1 -1
  182. package/dist/client/assets/{index-Bli6bTLU.js → index-NRbRrZw-.js} +6 -6
  183. package/dist/client/assets/{inspector-panel-B8pigRsg.js → inspector-panel-CBf8pW7s.js} +1 -1
  184. package/dist/client/assets/{keyboard-nav-7iEtvu9P.js → keyboard-nav-feLCB3Zm.js} +1 -1
  185. package/dist/client/assets/{lane-roster-store-pHT3TAVs.js → lane-roster-store-BAmj273z.js} +1 -1
  186. package/dist/client/assets/{layers-BiZA-Clc.js → layers-D9fblkql.js} +1 -1
  187. package/dist/client/assets/{layout-grid-DMpv9CZM.js → layout-grid-Vd1chalc.js} +1 -1
  188. package/dist/client/assets/left-41_3QKk1.js +1 -0
  189. package/dist/client/assets/{left-Dy403II2.js → left-B3ofA1Pr.js} +2 -2
  190. package/dist/client/assets/{left-BhgU6NOA.js → left-BWBZQhxQ.js} +1 -1
  191. package/dist/client/assets/{left-CY_FGnN7.js → left-BhA6essi.js} +1 -1
  192. package/dist/client/assets/{left-Cq8mjamr.js → left-BmTKCv4f.js} +1 -1
  193. package/dist/client/assets/{left-Dnqla0b5.js → left-CCGR6tIF.js} +1 -1
  194. package/dist/client/assets/{left-BhZhSrS2.js → left-Dfwzkwh_.js} +1 -1
  195. package/dist/client/assets/{left-advisor-oOAtJ9YE.js → left-advisor-yrzW1Kwz.js} +1 -1
  196. package/dist/client/assets/{left-agents-TIKe8vW8.js → left-agents-Bgahk0FF.js} +1 -1
  197. package/dist/client/assets/{left-default-owH0Lwxo.js → left-default-CtkfAquc.js} +1 -1
  198. package/dist/client/assets/{left-lanes-BE_co2lP.js → left-lanes-CpujaVN3.js} +1 -1
  199. package/dist/client/assets/{left-mission-C_nWUtfA.js → left-mission-Bbd-fW6W.js} +1 -1
  200. package/dist/client/assets/{library-BSVrjn_m.js → library-Dx14WNGd.js} +1 -1
  201. package/dist/client/assets/{loader-circle-DoT8gpw6.js → loader-circle-Be0T8xv2.js} +1 -1
  202. package/dist/client/assets/{local-agents-BMadXuP1.js → local-agents-Q6KQ12B9.js} +1 -1
  203. package/dist/client/assets/{mentions-Cd6XticV.js → mentions-KNASbAjG.js} +1 -1
  204. package/dist/client/assets/{mesh-ops-C0zCLTR8.js → mesh-ops-C-i8OMiM.js} +1 -1
  205. package/dist/client/assets/{mesh-view-store-Cpqil_2D.js → mesh-view-store-B0lqpw8M.js} +1 -1
  206. package/dist/client/assets/{message-circle-44KSmbvQ.js → message-circle-2v9Udia0.js} +1 -1
  207. package/dist/client/assets/{message-markup-DAnnGpWr.js → message-markup-BP2nH9kQ.js} +1 -1
  208. package/dist/client/assets/{message-square-DlY4EneU.js → message-square-DURSOrUr.js} +1 -1
  209. package/dist/client/assets/{mission-control-store-DtjtRs9Z.js → mission-control-store-HeCy97KT.js} +1 -1
  210. package/dist/client/assets/{observe-DL5_8-Zj.js → observe-DkAhvkfn.js} +1 -1
  211. package/dist/client/assets/{page-status-CW8co39E.js → page-status-CEP5pGf3.js} +1 -1
  212. package/dist/client/assets/{persistent-state-DYjP8lqN.js → persistent-state-Bm_0TmZL.js} +1 -1
  213. package/dist/client/assets/{plus-64n9qucr.js → plus-ZReaTFF-.js} +1 -1
  214. package/dist/client/assets/{profile-BkmuseW7.js → profile-Y0X7HZHc.js} +1 -1
  215. package/dist/client/assets/{projects-inbox-C0umZMSY.js → projects-inbox-Cbfj4Hx7.js} +1 -1
  216. package/dist/client/assets/{provider-CX9EWecp.js → provider-Bq0ScH3v.js} +1 -1
  217. package/dist/client/assets/{proxy-C35W-YHZ.js → proxy-DtC2iXnT.js} +1 -1
  218. package/dist/client/assets/{radio-BjpQTKT0.js → radio-BC9TO5Pl.js} +1 -1
  219. package/dist/client/assets/{refresh-cw-IgN2fZLM.js → refresh-cw-C4E58VJK.js} +1 -1
  220. package/dist/client/assets/resolve-panes-BI3WdDS-.js +1 -0
  221. package/dist/client/assets/resolve-sidebar-context-_g0pIxOr.js +1 -0
  222. package/dist/client/assets/{right-B3PQUHd5.js → right-BA0F8fPI.js} +1 -1
  223. package/dist/client/assets/{right-B96CBzrV.js → right-BarpRgcv.js} +1 -1
  224. package/dist/client/assets/{right-BPirlFC8.js → right-C4GXB45w.js} +1 -1
  225. package/dist/client/assets/{right-DqiVyo8v.js → right-CIzaNH58.js} +1 -1
  226. package/dist/client/assets/{right-C2aOC2li.js → right-CXetlD8X.js} +1 -1
  227. package/dist/client/assets/{right-CtPJjgOV.js → right-CnRcQS_I.js} +1 -1
  228. package/dist/client/assets/{right-BVWYPIFX.js → right-D2_rmbAH.js} +1 -1
  229. package/dist/client/assets/{right-SfSu0zHC.js → right-Dqp--KwX.js} +1 -1
  230. package/dist/client/assets/{right-BUP2Ro_M.js → right-HJJzRuGD.js} +1 -1
  231. package/dist/client/assets/{right-BoAJxwA3.js → right-WCMb8YXJ.js} +1 -1
  232. package/dist/client/assets/{rocket-DnmN_YOD.js → rocket-BahfIwFz.js} +1 -1
  233. package/dist/client/assets/{router-B0YclXYg.js → router-Bx1tiwVe.js} +1 -1
  234. package/dist/client/assets/{scope-views-Z8aoAmtU.js → scope-views-CmG2X_S0.js} +1 -1
  235. package/dist/client/assets/{scout-voice-DvG_3stJ.js → scout-voice-BT3gYDhU.js} +1 -1
  236. package/dist/client/assets/{scoutbot-markdown-BJJyaPu2.js → scoutbot-markdown-DIhLsYxz.js} +1 -1
  237. package/dist/client/assets/{scroll-text-DRidbcse.js → scroll-text-uulNqrf7.js} +1 -1
  238. package/dist/client/assets/{search-BbgsEMXa.js → search-HmdKXdtR.js} +1 -1
  239. package/dist/client/assets/{secondaryNavConfig-DyC_P9Wx.js → secondaryNavConfig-BVQiyAXu.js} +1 -1
  240. package/dist/client/assets/{selection-bridge-CpzFGx3-.js → selection-bridge-n4wNTm1B.js} +1 -1
  241. package/dist/client/assets/{send-horizontal-BXo2uz3Z.js → send-horizontal-DOjHkZCD.js} +1 -1
  242. package/dist/client/assets/{server-Dt3tpiBj.js → server-CX-xQjJA.js} +1 -1
  243. package/dist/client/assets/{session-catalog-CUQ8LUJY.js → session-catalog-b7B1Sof1.js} +1 -1
  244. package/dist/client/assets/{session-table-B4JOKevn.js → session-table-Djain1Qr.js} +1 -1
  245. package/dist/client/assets/{settings-BzWCF3NF.js → settings-BpKRzxOD.js} +1 -1
  246. package/dist/client/assets/{sliders-horizontal-7V8B3xsf.js → sliders-horizontal-D2O6QiDN.js} +1 -1
  247. package/dist/client/assets/{sparkles-ytTwpCbZ.js → sparkles-CgTby-ap.js} +1 -1
  248. package/dist/client/assets/{sse-CSozY6mp.js → sse-QSbhyq9A.js} +1 -1
  249. package/dist/client/assets/{tail-events-CrN-Rmxj.js → tail-events-B7BrDaFi.js} +1 -1
  250. package/dist/client/assets/{terminal-BiNIXhna.js → terminal-DNZTCr6a.js} +1 -1
  251. package/dist/client/assets/{terminal-relay-pSm7_An6.js → terminal-relay-C2TUIuh1.js} +1 -1
  252. package/dist/client/assets/{terminal-takeover-CtA3wcXh.js → terminal-takeover-BArLfNtd.js} +1 -1
  253. package/dist/client/assets/{text-BR9Bap0E.js → text-B2UZi3l9.js} +1 -1
  254. package/dist/client/assets/{use-conversation-list-C0bEXFeH.js → use-conversation-list-htp0Ui63.js} +1 -1
  255. package/dist/client/assets/{use-fleet-active-asks-CK4aw-3G.js → use-fleet-active-asks-BhuTn5mV.js} +1 -1
  256. package/dist/client/assets/{use-mesh-ops-items-QixBijmT.js → use-mesh-ops-items-CD-qsvNX.js} +1 -1
  257. package/dist/client/assets/{use-reduced-motion-BLn59zLn.js → use-reduced-motion-0fAsybdo.js} +1 -1
  258. package/dist/client/assets/{use-scout-dev-flags-JKb1EhFh.js → use-scout-dev-flags-DV_I6URU.js} +1 -1
  259. package/dist/client/assets/{useAgentHoverCard-6N8b7qsU.js → useAgentHoverCard-BIrm8esH.js} +1 -1
  260. package/dist/client/assets/useContentSecondaryNav-4atpGgFw.js +1 -0
  261. package/dist/client/assets/{usePersistentState-DOEahRlt.js → usePersistentState-InmPXIN4.js} +1 -1
  262. package/dist/client/assets/{usePierreRuntime-Bq6mXrgd.js → usePierreRuntime-CVTMzChM.js} +1 -1
  263. package/dist/client/assets/{wrench-CQvdf7KT.js → wrench-DwFKomxg.js} +1 -1
  264. package/dist/client/assets/{x-BJyPzFnn.js → x-DuzAbpk5.js} +1 -1
  265. package/dist/client/assets/{xterm-D6dE_wMr.js → xterm-xQGYNyB-.js} +1 -1
  266. package/dist/client/assets/{zap-rw7uwZht.js → zap-CocRNtyr.js} +1 -1
  267. package/dist/client/crew/brik-bust.webp +0 -0
  268. package/dist/client/crew/brik-chip-id.webp +0 -0
  269. package/dist/client/crew/lulu-bust.webp +0 -0
  270. package/dist/client/crew/milo-bust.webp +0 -0
  271. package/dist/client/crew/milo-chip-id.webp +0 -0
  272. package/dist/client/crew/nori-bust.webp +0 -0
  273. package/dist/client/crew/sheets/eye-plate-v1/blink-half.webp +0 -0
  274. package/dist/client/crew/sheets/eye-plate-v1/blink-shut.webp +0 -0
  275. package/dist/client/crew/sheets/eye-plate-v1/look-left.webp +0 -0
  276. package/dist/client/crew/sheets/eye-plate-v1/look-right.webp +0 -0
  277. package/dist/client/crew/sheets/eye-plate-v1/look-up.webp +0 -0
  278. package/dist/client/crew/sheets/eye-plate-v1/rest.webp +0 -0
  279. package/dist/client/crew/sheets/sprout/blink-half.webp +0 -0
  280. package/dist/client/crew/sheets/sprout/blink-shut.webp +0 -0
  281. package/dist/client/crew/sheets/sprout/look-left.webp +0 -0
  282. package/dist/client/crew/sheets/sprout/look-right.webp +0 -0
  283. package/dist/client/crew/sheets/sprout/look-up.webp +0 -0
  284. package/dist/client/crew/sprout-bust.webp +0 -0
  285. package/dist/client/crew/sprout-chip-id.webp +0 -0
  286. package/dist/client/crew/vex-bust.webp +0 -0
  287. package/dist/client/crew/vex-chip-id.webp +0 -0
  288. package/dist/client/crew/wrench-bust.webp +0 -0
  289. package/dist/client/crew/wrench-chip-id.webp +0 -0
  290. package/dist/client/index.html +1 -1
  291. package/dist/main.mjs +1 -1
  292. package/package.json +1 -1
  293. package/dist/client/assets/AgentAvatar-B1xvQ7ej.js +0 -1
  294. package/dist/client/assets/AgentLanesEmbedScreen-BJLwXSNp.js +0 -1
  295. package/dist/client/assets/AgentsSubnav-3_vpn2bT.js +0 -1
  296. package/dist/client/assets/ConversationScreen-BP5tdz2k.css +0 -1
  297. package/dist/client/assets/CrewWorkspaces-B6YIyw1z.css +0 -1
  298. package/dist/client/assets/CrewWorkspaces-CDU-wy1Y.js +0 -1
  299. package/dist/client/assets/OpsScreen-C3yNQqJE.js +0 -1
  300. package/dist/client/assets/OpsSubnav-BijKI3yG.js +0 -1
  301. package/dist/client/assets/ProjectAgentProfile-DnIeC16r.js +0 -1
  302. package/dist/client/assets/ProjectsScreen-DKHQ2iEv.js +0 -1
  303. package/dist/client/assets/SessionsScreen-CsSqjIY2.js +0 -1
  304. package/dist/client/assets/SettingsDrawer-Dsj-On_x.css +0 -1
  305. package/dist/client/assets/SettingsDrawer-DwYQTGi8.js +0 -3
  306. package/dist/client/assets/SettingsScreen-Btaku7YM.js +0 -1
  307. package/dist/client/assets/content-BRFZ-a6m.js +0 -1
  308. package/dist/client/assets/content-BYykncDo.js +0 -1
  309. package/dist/client/assets/content-Be6yyWbJ.js +0 -1
  310. package/dist/client/assets/content-BopJW1Zx.js +0 -1
  311. package/dist/client/assets/content-Bv2sfg0w.js +0 -1
  312. package/dist/client/assets/content-CMBiIZTg.js +0 -1
  313. package/dist/client/assets/content-CPVqvf5o.js +0 -1
  314. package/dist/client/assets/content-CbwyFqdI.js +0 -1
  315. package/dist/client/assets/content-ClQjAWYi.js +0 -1
  316. package/dist/client/assets/content-DFFe3-Ot.js +0 -1
  317. package/dist/client/assets/content-DY5hwBmm.js +0 -1
  318. package/dist/client/assets/content-_IXoxGno.js +0 -1
  319. package/dist/client/assets/content-j_tewJdE.js +0 -1
  320. package/dist/client/assets/conversation-motion-features-_95aZx_1.js +0 -1
  321. package/dist/client/assets/discover-DOlk1hG7.js +0 -2
  322. package/dist/client/assets/embed-entry-BqDJfa87.js +0 -2
  323. package/dist/client/assets/index-DFdlQs_c.js +0 -1
  324. package/dist/client/assets/left-BayK4ocL.js +0 -1
  325. package/dist/client/assets/resolve-panes-CCqRkQdM.js +0 -1
  326. package/dist/client/assets/resolve-sidebar-context-JkxY8qsV.js +0 -1
  327. package/dist/client/assets/useContentSecondaryNav-D-hVKzM9.js +0 -1
@@ -1 +1 @@
1
- import{r as f,j as e}from"./index-Bli6bTLU.js";import{d as w,c as N,n as $}from"./colors-BtO5_zlx.js";import{u as C}from"./keyboard-nav-7iEtvu9P.js";import{t as j}from"./time-Dhsh_2EG.js";import{M,f as S}from"./text-BR9Bap0E.js";import{s as v}from"./page-status-CW8co39E.js";import"./index-DFdlQs_c.js";import{K as k}from"./mission-control-model-C0fByIjm.js";import"./scout-voice-DvG_3stJ.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DoT8gpw6.js";import"./createLucideIcon-DLlxGjKt.js";function J({agent:s,observe:a,onClose:l,onSend:o,onOpenConversation:r,onTail:d,onProfile:h}){const p=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:p},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:h,...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,h=typeof a?.metadata?.session?.sessionStart=="number"?(a?.metadata?.session).sessionStart:null,p=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})]}),p.length===0?e.jsx(L,{agent:s,onOpenConversation:l,onMessage:o}):e.jsx("ul",{className:"s-focus-activity-list",children:p.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,h)}),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("/"),h=$(s.state),p=N(h),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:p}),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,h]=f.useState(!1),[p,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)){h(!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{h(!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]}):p?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{J as FocusOverlay};
1
+ import{r as f,j as e}from"./index-NRbRrZw-.js";import{d as w,c as N,n as $}from"./colors-BtO5_zlx.js";import{u as C}from"./keyboard-nav-feLCB3Zm.js";import{t as j}from"./time-Dhsh_2EG.js";import{M,f as S}from"./text-B2UZi3l9.js";import{s as v}from"./page-status-CEP5pGf3.js";import"./index-CD2foMB8.js";import{K as k}from"./mission-control-model-C0fByIjm.js";import"./scout-voice-BT3gYDhU.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-Be0T8xv2.js";import"./createLucideIcon-Da0lq809.js";function J({agent:s,observe:a,onClose:l,onSend:o,onOpenConversation:r,onTail:d,onProfile:h}){const p=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:p},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:h,...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,h=typeof a?.metadata?.session?.sessionStart=="number"?(a?.metadata?.session).sessionStart:null,p=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})]}),p.length===0?e.jsx(L,{agent:s,onOpenConversation:l,onMessage:o}):e.jsx("ul",{className:"s-focus-activity-list",children:p.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,h)}),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("/"),h=$(s.state),p=N(h),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:p}),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,h]=f.useState(!1),[p,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)){h(!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{h(!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]}):p?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{J as FocusOverlay};
@@ -1 +1 @@
1
- import{j as o}from"./index-Bli6bTLU.js";import{c as j}from"./colors-BtO5_zlx.js";import{s as x}from"./page-status-CW8co39E.js";import{t as m}from"./time-Dhsh_2EG.js";import{R as b}from"./RailRow-C4GNGR80.js";import"./AgentAvatar-B1xvQ7ej.js";import"./Provider-Ve8yXaWR.js";import"./provider-CX9EWecp.js";import"./router-B0YclXYg.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-D4dHTRkt.js";import"./api-DEHEgJ9m.js";import"./sse-CSozY6mp.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-D4vuKzOL.js";import"./DocumentFocusViewer-DmtFisY9.js";import"./createLucideIcon-DLlxGjKt.js";import"./TextDocumentSurface-C7fGlzY8.js";import"./file-text-BVhkMWyC.js";import"./x-BJyPzFnn.js";import"./chevron-right-BMqtBds_.js";import"./code-xml-ByQsfOI_.js";import"./arrow-left-i-h6JAgs.js";import"./arrow-right-B0Yi01Zr.js";import"./scout-voice-DvG_3stJ.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-7iEtvu9P.js";import"./NewChatComposer-Bgqes0UQ.js";import"./text-BR9Bap0E.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DoT8gpw6.js";import"./conversation-model-CigSPlKA.js";import"./index-DFdlQs_c.js";import"./HarnessMark-DGZ6o6Ct.js";import"./NewChatOrigin-DpHS2Wmt.js";import"./chevron-down-Da5tV19_.js";import"./search-BbgsEMXa.js";import"./chunk-HRAB3GC3-BUVYXXAp.js";import"./SpriteAvatar-DMrSssNZ.js";import"./agent-identity-DzHGhLdJ.js";function et({agent:t,state:r,isExpanded:e,isSelected:s,tabIndex:p,onToggle:a,onReveal:n,onOpen:c}){const l=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?m(t.lastActiveAt):t.updatedAt?m(t.updatedAt):void 0,tone:r,caret:e?"open":"closed",selected:s,expanded:e,detail:d,tabIndex:p,onClick:u=>a(u),onPointerEnter:l.onPointerEnter,onPointerLeave:l.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{et as MissionLeftAgentRow};
1
+ import{j as o}from"./index-NRbRrZw-.js";import{c as j}from"./colors-BtO5_zlx.js";import{s as x}from"./page-status-CEP5pGf3.js";import{t as m}from"./time-Dhsh_2EG.js";import{R as b}from"./RailRow-BY6fxePa.js";import"./AgentAvatar-CQqJcwOQ.js";import"./Provider-Cd-QZltN.js";import"./provider-Bq0ScH3v.js";import"./router-Bx1tiwVe.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-D4dHTRkt.js";import"./api-DEHEgJ9m.js";import"./sse-QSbhyq9A.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-D4vuKzOL.js";import"./DocumentFocusViewer-CetjnYut.js";import"./createLucideIcon-Da0lq809.js";import"./TextDocumentSurface-B29xZNlI.js";import"./file-text-BGVkHS4_.js";import"./x-DuzAbpk5.js";import"./chevron-right-CV7sEVBS.js";import"./code-xml-CPzpZkhu.js";import"./arrow-left-B0CdJdAC.js";import"./arrow-right-YRBoTTyf.js";import"./scout-voice-BT3gYDhU.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-feLCB3Zm.js";import"./NewChatComposer-BPsg8shF.js";import"./text-B2UZi3l9.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-Be0T8xv2.js";import"./conversation-model-CIzM7aXT.js";import"./index-CD2foMB8.js";import"./HarnessMark-CEzmPFHC.js";import"./NewChatOrigin-CCiPg_WR.js";import"./chevron-down-Jh540uf3.js";import"./search-HmdKXdtR.js";import"./chunk-HRAB3GC3-BYQZ1LOn.js";import"./SpriteAvatar-vpHO-rXs.js";import"./agent-identity-CIMT7oV6.js";function et({agent:t,state:r,isExpanded:e,isSelected:s,tabIndex:p,onToggle:a,onReveal:n,onOpen:c}){const l=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?m(t.lastActiveAt):t.updatedAt?m(t.updatedAt):void 0,tone:r,caret:e?"open":"closed",selected:s,expanded:e,detail:d,tabIndex:p,onClick:u=>a(u),onPointerEnter:l.onPointerEnter,onPointerLeave:l.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{et as MissionLeftAgentRow};
@@ -1 +1 @@
1
- import{r as n,j as l}from"./index-Bli6bTLU.js";import{H as k}from"./HarnessMark-DGZ6o6Ct.js";import{n as y}from"./colors-BtO5_zlx.js";import{s as P}from"./page-status-CW8co39E.js";import{c as T,b as I,T as A,d as C}from"./tail-display-DcliDVkW.js";import{d as E}from"./time-Dhsh_2EG.js";import{s as H}from"./mission-control-model-C0fByIjm.js";import{m as F,a as K}from"./mission-wall-CocIM1cF.js";import"./lane-edit-display-C_Aujldz.js";const R=24;function G({log:s,selected:f,revealed:h,cursor:t=!1,onOpen:c,onToggleSelected:w,onOpenLog:v,paneRef:j}){const i=n.useRef(null),m=n.useRef(!0),o=n.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=n.useCallback(()=>{const e=i.current;if(!e)return;const a=e.scrollHeight-e.scrollTop-e.clientHeight;m.current=a<=R},[]);n.useEffect(()=>{const e=i.current;!e||!m.current||(e.scrollTop=e.scrollHeight)},[o.length,s.lastActiveAt]);const N=y(s.agent?.state??null),r=F(s),b=K(s),p=[s.project,s.agent?.branch].filter(Boolean).join("/")||s.cwd||"—",d=P({label:`Focus ${r}`,route:`/ops/control · ${s.sessionId}`}),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,t?"s-wall-pane--cursor":null].filter(Boolean).join(" "),"data-cursor":t?!0:void 0,tabIndex:t?0:-1,onClick:L,onPointerEnter:d.onPointerEnter,onPointerLeave:d.onPointerLeave,children:[l.jsxs("div",{className:"s-wall-pane-head",children:[l.jsx("span",{className:"s-wall-pane-dot",style:{background:s.agent?H(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 ${r}`,onClick:e=>{e.stopPropagation(),c()},children:r}),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}`,onClick:e=>{e.stopPropagation(),v()},children:b})]}),l.jsx("div",{className:"s-wall-pane-body",ref:i,onScroll:x,children:o.length===0?l.jsx("div",{className:"s-wall-pane-idle",children:"no output since page load"}):o.map(({event:e,repeatCount:a,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:E(e.ts,{milliseconds:!1})||"—"}),l.jsx("span",{className:"s-wall-line-glyph",title:C[e.kind],children:A[e.kind]}),l.jsxs("span",{className:"s-wall-line-text",children:[e.summary,a>1&&l.jsxs("span",{className:"s-wall-line-repeat",title:`${a} identical events`,children:[" ","×",a]})]})]},e.id))})]})}export{G as MissionLogPane};
1
+ import{r as n,j as l}from"./index-NRbRrZw-.js";import{H as k}from"./HarnessMark-CEzmPFHC.js";import{n as y}from"./colors-BtO5_zlx.js";import{s as P}from"./page-status-CEP5pGf3.js";import{c as T,b as I,T as A,d as C}from"./tail-display-DcliDVkW.js";import{d as E}from"./time-Dhsh_2EG.js";import{s as H}from"./mission-control-model-C0fByIjm.js";import{m as F,a as K}from"./mission-wall-CocIM1cF.js";import"./lane-edit-display-C_Aujldz.js";const R=24;function G({log:s,selected:f,revealed:h,cursor:t=!1,onOpen:c,onToggleSelected:w,onOpenLog:v,paneRef:j}){const i=n.useRef(null),m=n.useRef(!0),o=n.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=n.useCallback(()=>{const e=i.current;if(!e)return;const a=e.scrollHeight-e.scrollTop-e.clientHeight;m.current=a<=R},[]);n.useEffect(()=>{const e=i.current;!e||!m.current||(e.scrollTop=e.scrollHeight)},[o.length,s.lastActiveAt]);const N=y(s.agent?.state??null),r=F(s),b=K(s),p=[s.project,s.agent?.branch].filter(Boolean).join("/")||s.cwd||"—",d=P({label:`Focus ${r}`,route:`/ops/control · ${s.sessionId}`}),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,t?"s-wall-pane--cursor":null].filter(Boolean).join(" "),"data-cursor":t?!0:void 0,tabIndex:t?0:-1,onClick:L,onPointerEnter:d.onPointerEnter,onPointerLeave:d.onPointerLeave,children:[l.jsxs("div",{className:"s-wall-pane-head",children:[l.jsx("span",{className:"s-wall-pane-dot",style:{background:s.agent?H(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 ${r}`,onClick:e=>{e.stopPropagation(),c()},children:r}),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}`,onClick:e=>{e.stopPropagation(),v()},children:b})]}),l.jsx("div",{className:"s-wall-pane-body",ref:i,onScroll:x,children:o.length===0?l.jsx("div",{className:"s-wall-pane-idle",children:"no output since page load"}):o.map(({event:e,repeatCount:a,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:E(e.ts,{milliseconds:!1})||"—"}),l.jsx("span",{className:"s-wall-line-glyph",title:C[e.kind],children:A[e.kind]}),l.jsxs("span",{className:"s-wall-line-text",children:[e.summary,a>1&&l.jsxs("span",{className:"s-wall-line-repeat",title:`${a} identical events`,children:[" ","×",a]})]})]},e.id))})]})}export{G as MissionLogPane};
@@ -1 +1 @@
1
- import{r,j as e}from"./index-Bli6bTLU.js";import{r as se}from"./index-DFdlQs_c.js";import{a as U}from"./api-DEHEgJ9m.js";import{u as ne}from"./keyboard-nav-7iEtvu9P.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-BJyPzFnn.js";import{R as re}from"./rocket-DnmN_YOD.js";import"./createLucideIcon-DLlxGjKt.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-NRbRrZw-.js";import{r as se}from"./index-CD2foMB8.js";import{a as U}from"./api-DEHEgJ9m.js";import{u as ne}from"./keyboard-nav-feLCB3Zm.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-DuzAbpk5.js";import{R as re}from"./rocket-BahfIwFz.js";import"./createLucideIcon-Da0lq809.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,4 +1,4 @@
1
- import{j as i,r as l}from"./index-Bli6bTLU.js";import{f as Ot,M as zn}from"./text-BR9Bap0E.js";import{C as Gn,c as Wn,S as vs,G as qn,H as Kn}from"./conversation-model-CigSPlKA.js";import{a as W}from"./api-DEHEgJ9m.js";import{r as Jn}from"./index-DFdlQs_c.js";import{H as ys}from"./HarnessMark-DGZ6o6Ct.js";import{n as Vn,c as Xn,d as Yn}from"./colors-BtO5_zlx.js";import{NewChatOrigin as Qn}from"./NewChatOrigin-DpHS2Wmt.js";import{u as Zn}from"./keyboard-nav-7iEtvu9P.js";import{X as er}from"./x-BJyPzFnn.js";import{C as tr}from"./chevron-down-Da5tV19_.js";import{S as sr}from"./search-BbgsEMXa.js";import{L as Tt}from"./loader-circle-DoT8gpw6.js";import{F as nr}from"./file-text-BVhkMWyC.js";const rr={schemaVersion:"openscout.runtime-catalog.v1",revision:"2026-08-18.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-sonnet-4-6",label:"Sonnet 4.6",enabled:!0,family:"Sonnet",version:"4.6"},{id:"claude-haiku-4-5",label:"Haiku 4.5",enabled:!0,family:"Haiku",version:"4.5"},{id:"claude-opus-4-8",label:"Opus 4.8",enabled:!0,family:"Opus",version:"4.8"},{id:"claude-opus-4-7",label:"Opus 4.7",enabled:!0,family:"Opus",version:"4.7"},{id:"claude-sonnet-4-5",label:"Sonnet 4.5",enabled:!0,family:"Sonnet",version:"4.5"}]},{id:"codex",label:"Codex",enabled:!0,reasoningEfforts:["low","medium","high","xhigh"],defaultReasoningEffort:"medium",models:[{id:"gpt-5.6-sol",label:"5.6 Sol",enabled:!0,default:!0,family:"GPT",version:"5.6 Sol",reasoningEfforts:["low","medium","high","xhigh","ultra"]},{id:"gpt-5.6-terra",label:"5.6 Terra",enabled:!0,family:"GPT",version:"5.6 Terra",reasoningEfforts:["low","medium","high","xhigh","ultra"]},{id:"gpt-5.6-luna",label:"5.6 Luna",enabled:!0,family:"GPT",version:"5.6 Luna"},{id:"gpt-5.5",label:"5.5",enabled:!0,family:"GPT",version:"5.5"},{id:"gpt-5.5-mini",label:"5.5 mini",enabled:!0,family:"GPT",version:"5.5 mini"}]},{id:"grok",label:"Grok CLI",enabled:!0,listed:!1,reasoningEfforts:["low","medium","high","xhigh"],defaultReasoningEffort:"medium",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"},{id:"grok-4.3",label:"Grok 4.3",enabled:!0,family:"Grok",version:"4.3"}]},{id:"grok-acp",label:"Grok",enabled:!0,reasoningEfforts:null,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"},{id:"grok-4.3",label:"Grok 4.3",enabled:!0,family:"Grok",version:"4.3"}]},{id:"kimi",label:"Kimi Code",enabled:!0,reasoningEfforts:null,models:[]},{id:"flue",label:"Flue",enabled:!0,reasoningEfforts:null,models:[]},{id:"cursor",label:"Cursor CLI",enabled:!0,reasoningEfforts:null,models:[]},{id:"opencode",label:"OpenCode",enabled:!0,reasoningEfforts:null,models:[{id:"opencode-go/glm-5.2",label:"GLM-5.2",enabled:!0,default:!0,family:"GLM",version:"5.2"},{id:"opencode-go/glm-5.1",label:"GLM-5.1",enabled:!0,family:"GLM",version:"5.1"},{id:"opencode-go/kimi-k3",label:"Kimi K3",enabled:!0,family:"Kimi",version:"K3"},{id:"opencode-go/qwen3.8-max",label:"Qwen3.8 Max",enabled:!0,family:"Qwen",version:"3.8 Max"},{id:"opencode-go/minimax-m3",label:"MiniMax M3",enabled:!0,family:"MiniMax",version:"M3"},{id:"opencode-go/deepseek-v4-pro",label:"DeepSeek V4 Pro",enabled:!0,family:"DeepSeek",version:"V4 Pro"},{id:"opencode-go/grok-4.5",label:"Grok 4.5",enabled:!0,family:"Grok",version:"4.5"},{id:"opencode/nemotron-3-ultra-free",label:"Nemotron 3 Ultra (free)",enabled:!0,family:"Nemotron",version:"3 Ultra Free"},{id:"opencode/laguna-s-2.1-free",label:"Laguna S 2.1 (free)",enabled:!0,family:"Laguna",version:"S 2.1 Free"}]},{id:"pi",label:"Pi",enabled:!0,reasoningEfforts:null,models:[]}]},qt=["none","minimal","low","medium","high","xhigh","max","ultra"],Gs={none:"None",minimal:"Minimal",low:"Light",medium:"Medium",high:"High",xhigh:"Extra High",max:"Max",ultra:"Ultra"},V=rr;function Kt(e,t=V){return t.harnesses.find(s=>s.id===e)}function or(e=V){return e.harnesses.find(t=>t.enabled&&t.default)?.id??e.harnesses.find(t=>t.enabled)?.id??null}function Ws(e,t=V){const s=Kt(e,t);return s?.models.find(n=>n.enabled&&n.default)?.id??s?.models.find(n=>n.enabled)?.id??null}function ar(e,t,s=V){const n=Kt(e,s);if(!n||!n.enabled)return null;const r=t?n.models.find(a=>a.enabled&&a.id===t):void 0;return r?.reasoningEfforts===null?null:r?.reasoningEfforts??n.reasoningEfforts}function qs(e,t,s=V){const n=Kt(e,s),r=t?n?.models.find(f=>f.enabled&&f.id===t):void 0,a=ar(e,t,s),u=r?.defaultReasoningEffort??n?.defaultReasoningEffort??null;return u&&a?.includes(u)?u:a?.[0]??null}function ir(e=V){return Object.fromEntries(e.harnesses.filter(t=>t.enabled).map(t=>{const s=Ws(t.id,e);return[t.id,{model:s,reasoningEffort:qs(t.id,s,e)}]}))}const cr=ir();Object.fromEntries(V.harnesses.filter(e=>e.enabled).map(e=>{const t=qt.filter(s=>e.reasoningEfforts?.includes(s)||e.models.some(n=>n.enabled&&n.reasoningEfforts?.includes(s)));return[e.id,t]}));function lr(e=V){const t=new Map;for(const s of e.harnesses)if(s.enabled)for(const n of s.models){if(!n.enabled)continue;const r=t.get(n.id);if(r){r.harnesses.includes(s.id)||r.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 ur=lr(),dr={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 fr(e=V){return qt.flatMap(t=>{const s=[],n=[];for(const r of e.harnesses){if(!r.enabled)continue;const a=r.models.filter(d=>d.enabled),u=a.filter(d=>(d.reasoningEfforts??r.reasoningEfforts)?.includes(t)),f=a.length===0&&r.reasoningEfforts?.includes(t);u.length===0&&!f||(s.push(r.id),a.length>0&&u.length<a.length&&n.push(...u.map(d=>d.id)))}return s.length===0?[]:[{id:t,label:Gs[t],description:dr[t],harnesses:s,...n.length>0?{models:n}:{}}]})}const mr=fr(),Ks=new Set(["md","markdown","mdx","mdown","mkd"]),hr=new Set(["c","cc","cpp","cxx","h","hh","hpp","hxx","cjs","mjs","js","jsx","ts","tsx","py","pyw","pyi","rs","go","java","kt","kts","swift","cs","rb","php","lua","r","sh","bash","zsh","fish","ps1","bat","cmd","sql","prisma","json","jsonc","json5","yaml","yml","toml","xml","html","htm","xhtml","css","scss","sass","less","vue","svelte","astro","graphql","gql","zig","ex","exs","erl","hrl","hs","clj","cljs","cljc","dart","tf","hcl","nix","env","ini","cfg","conf","properties","txt","log","cmake","gradle","groovy","patch","diff","proto","wat"]),pr=new Set(["dockerfile","containerfile","makefile","gemfile","rakefile","procfile","brewfile"]),gr=new Set(["text/markdown","text/x-markdown","text/plain","text/javascript","text/typescript","text/css","text/html","text/yaml","text/toml","text/x-shellscript","application/json","application/javascript"]);function Js(e){return e.trim().split(/[/\\]/).pop()?.toLowerCase()??""}function Jt(e){const t=Js(e),s=t.lastIndexOf(".");return s>=0?t.slice(s+1):""}function wr(e){return Ks.has(Jt(e))}function br(e){const t=Js(e);return pr.has(t)?!0:hr.has(Jt(e))}function Vs(e){return wr(e)||br(e)}function Xs(e,t){if(!Vs(t))return null;const s=Jt(t);if(Ks.has(s))return"text/markdown";switch(s){case"json":case"jsonc":case"json5":return"application/json";case"yaml":case"yml":return"text/yaml";case"toml":return"text/toml";case"html":case"htm":case"xhtml":return"text/html";case"css":case"scss":case"sass":case"less":return"text/css";case"js":case"jsx":case"mjs":case"cjs":return"text/javascript";case"ts":case"tsx":return"text/typescript";case"sh":case"bash":case"zsh":case"fish":return"text/x-shellscript"}const n=e.trim().toLowerCase();return gr.has(n)?n:"text/plain"}function vr(e,t){const s=e.trim().toLowerCase();return s.startsWith("image/")||s.startsWith("video/")||s==="text/markdown"||s==="text/x-markdown"?!0:t?Xs(s,t)?!0:!s||s==="application/octet-stream"?Vs(t):!1:!1}function yr(e){const t=e.type.trim().toLowerCase();return t.startsWith("image/")||t.startsWith("video/")?t:Xs(t,e.name)??t}function Xe(e){return vr(e.type,e.name)}function xr(e){return yr(e)}function dt(e){return e?e.files.length>0||[...e.types].some(t=>t.toLowerCase()==="files")?!0:[...e.items].some(t=>t.kind==="file"):!1}function Ys(e){if(!e)return[];const t=[...e.files];if(t.length>0)return t;const s=[];for(const n of e.items){if(n.kind!=="file")continue;const r=n.getAsFile();r&&s.push(r)}return s}function jr(e){return Ys(e).filter(Xe)}function $a(e){return jr(e)}function Sr(e){return new Promise((t,s)=>{const n=new FileReader;n.onload=()=>{const r=typeof n.result=="string"?n.result:"",a=r.indexOf(",");t(a>=0?r.slice(a+1):r)},n.onerror=()=>s(n.error??new Error("Could not read file.")),n.readAsDataURL(e)})}async function Cr(e){if(!Xe(e))throw new Error("Only markdown, code, image, and video files can be routed.");const t=await Sr(e);return W("/api/blobs",{method:"POST",body:JSON.stringify({data:t,mediaType:xr(e),fileName:e.name})})}async function kr(e){const t=e.filter(Xe);if(t.length===0)throw new Error("Drop markdown, code, an image, or a video clip to route.");return(await Promise.all(t.map(n=>Cr(n)))).map((n,r)=>({id:n.id,mediaType:n.mediaType,fileName:n.fileName??t[r]?.name,url:n.url}))}function Mr(e,t){const s=t?.trim();return s?e.find(n=>n.id===s)??null:null}function Ar(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=Mr(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 xs({label:e,items:t,activeIndex:s,placement:n="above",onPick:r,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((u,f)=>{const d=f===s;return i.jsxs("button",{type:"button",role:"option","aria-selected":d,className:`s-msg-compose-suggest-item${d?" s-msg-compose-suggest-item--active":""}`,onMouseDown:b=>{b.preventDefault(),r(f)},onMouseEnter:()=>a(f),children:[d&&i.jsx("span",{className:"s-msg-compose-suggest-active-indicator","aria-hidden":"true"}),u.avatarNode?i.jsx("span",{className:"s-msg-compose-suggest-avatar-node","aria-hidden":"true",children:u.avatarNode}):u.avatar?i.jsx("span",{className:"s-ops-avatar s-msg-compose-suggest-avatar",style:{"--size":"20px",background:u.avatar.color},"aria-hidden":"true",children:u.avatar.label}):null,i.jsx("span",{className:"s-msg-compose-suggest-token",children:u.token}),i.jsx("span",{className:"s-msg-compose-suggest-desc",children:u.description}),d&&i.jsx("span",{className:"s-msg-compose-suggest-pick-hint label-xs text-dim",children:i.jsx(Gn,{size:10,"aria-hidden":"true"})})]},u.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="",Ir={none:"no reasoning",minimal:"lightest",low:"triage",medium:"default",high:"deep",xhigh:"exhaustive",max:"fullest",ultra:"beyond max"},Nr=qt.map(e=>({value:e,label:Gs[e],note:Ir[e]}));function _e(e,t){return e.harnesses.find(s=>s.value===t)}function Vt(e,t){return _e(e,t)?.models??[]}function Me(e,t,s){const n=_e(e,t),r=n?n.efforts===null?null:n.efforts??e.efforts:e.efforts;if(!r||!s)return r;const a=new Set((n?.models??[]).map(u=>u.value));return a.has(s)?r.filter(u=>{if(!u.models||u.models.length===0)return!0;const f=u.models.filter(d=>a.has(d));return f.length===0||f.includes(s)}):r}function Qs(e,t){const n=Vt(e,t.harness).find(r=>r.value===t.model);return n||(t.model.trim()?{value:t.model,label:t.model,note:"custom"}:{value:z,label:"Default",note:"harness picks"})}function Er(e,t){const s=_e(e,t.harness),n=s?.label??t.harness??"Default",r=Qs(e,t),a=Me(e,t.harness,t.model),u=a?.find(b=>b.value===t.effort),f=u?.label??t.effort,d=a?`Runtime: ${n}, model ${r.label}, effort ${f}`:`Runtime: ${n}, model ${r.label}`;return{harness:s,harnessLabel:n,model:r,modelLabel:r.label,effort:u,effortLabel:f,supportsEffort:a!==null,summary:d}}function Rr(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=Me(e,n.harness,n.model);if(!p||n.effort===z||p.some(Y=>Y.value===n.effort))return n;const F=(Me(e,t.harness,t.model)??e.efforts).findIndex(Y=>Y.value===t.effort),X=Math.min(Math.max(F,0),p.length-1);return n.effort=p[X]?.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 u=Me(e,n.harness,n.model);if(!u)return n.effort=z,n;if(u.some(p=>p.value===n.effort))return n;const d=(Me(e,t.harness,t.model)??e.efforts).findIndex(p=>p.value===t.effort),b=Math.min(Math.max(d,0),u.length-1);return n.effort=u[b]?.value??u[0]?.value??z,n}function Tr(e,t){const s=t?.harness??e.harnesses.find(a=>!a.disabled)?.value??"",n=Me(e,s),r=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??Vt(e,s)[1]?.value??z,effort:n?t?.effort??_e(e,s)?.defaultEffort??r:z}}function Lr(e,t){const s=t.trim().toLowerCase();return s?e.filter(n=>`${n.label} ${n.value} ${n.note??""}`.toLowerCase().includes(s)):e}function Ke(...e){for(const t of e){const s=t?.trim();if(s)return s}}function Zs(e){const t=e.harnesses.map(n=>{const r=e.defaultsByHarness?.[n.id],a=n.ready!==!1,u=[{value:z,label:"Default",note:"harness picks"},...e.models.filter(d=>d.harnesses.includes(n.id)).map(d=>({value:d.id,label:d.label,note:Ke(d.description)}))],f=e.efforts.filter(d=>d.harnesses.includes(n.id));return{value:n.id,label:n.label,note:a?Ke(n.description):Ke(n.detail,n.state,"unavailable"),disabled:!a,defaultModel:r?.model??z,defaultEffort:r?.reasoningEffort??z,models:u,efforts:f.length===0?null:f.map(d=>({value:d.id,label:d.label,note:Ke(d.description),...d.models?.length?{models:[...d.models]}:{}}))}}),s=e.efforts.map(n=>({value:n.id,label:n.label,note:Ke(n.description)}));return{harnesses:t,efforts:s.length>0?s:Nr}}const Pr=6,Lt=34,Pt=460,$r=14,Dr=300,Je=8,$t=["harness","model","effort"],_r={harness:"vertical",model:"vertical",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 Fr({ctx:e}){const{efforts:t,value:s,set:n}=e;if(!t)return null;const r=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,u)=>{const f=u===r;return i.jsxs("button",{type:"button",role:"radio","aria-checked":f,title:a.note,onClick:()=>n({effort:a.value}),...e.cell("effort",u),className:"s-rt-step",children:[i.jsx("span",{className:"s-rt-step-bar","data-state":f?"current":u<r?"filled":"empty"}),i.jsx("span",{className:"s-rt-step-label",children:a.label})]},a.value)})})}function Ur({harnessLabel:e}){return i.jsxs("p",{className:"s-rt-effort-absent",children:[e," has no effort control."]})}function Hr({option:e,selected:t,index:s,ctx:n}){const r=e.disabled??!1;return i.jsxs("button",{type:"button",role:"option","aria-selected":t,"aria-disabled":r||void 0,onClick:()=>{r||n.set({model:e.value})},"data-on":t||void 0,"data-disabled":r||void 0,...n.cell("model",s),style:{animationDelay:`${Math.min(s,6)*16}ms`},className:"s-rt-row s-rt-model-row",children:[i.jsx("span",{"aria-hidden":!0,className:"s-rt-dot"}),i.jsx("span",{className:"s-rt-row-label",children:e.label}),e.note?i.jsx("span",{className:"s-rt-note",children:e.note}):null]})}function Br({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 zr({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 Gr({ctx:e}){return e.status!=="ready"||e.models.length===0?i.jsx(zr,{ctx:e}):i.jsx("div",{role:"listbox","aria-label":"Model",className:"s-rt-models",children:e.models.map((t,s)=>i.jsx(Hr,{option:t,index:s,selected:t.value===e.value.model,ctx:e},t.value||"default"))},e.value.harness)}function js({value:e,defaultValue:t,onChange:s,catalog:n,status:r="ready",statusMessage:a,onRetry:u,disabled:f=!1,showEffort:d,searchable:b="auto",className:p}){const[y,F]=l.useState(!1),[X,Y]=l.useState(""),[Ze,et]=l.useState(()=>Tr(n,t)),C=e??Ze,k=l.useRef(null),fe=l.useRef(null),me=l.useRef(null),he=l.useRef(null),A=l.useId(),Se=l.useCallback(m=>{const w=Rr(n,C,m);e===void 0&&et(w),s?.(w),m.harness!==void 0&&m.harness!==C.harness&&Y("")},[n,e,s,C]),P=n.harnesses,Fe=l.useMemo(()=>Vt(n,C.harness),[n,C.harness]),D=l.useMemo(()=>{const m=Qs(n,C);return m.note!=="custom"?Fe:[...Fe,m]},[Fe,n,C]),re=l.useMemo(()=>Lr(D,X),[D,X]),Ue=Me(n,C.harness,C.model),Q=d===!1?null:d===!0?Ue??n.efforts:Ue,$=b==="auto"?D.length>Pr:b,Z=Er(n,C),N=l.useRef(new Map),[pe,R]=l.useState({group:"model",index:0}),T=l.useMemo(()=>({harness:P.length,model:r==="ready"?re.length:0,effort:Q?.length??0}),[Q?.length,P.length,re.length,r]),oe=l.useCallback(m=>m==="harness"?Math.max(0,P.findIndex(w=>w.value===C.harness)):m==="model"?Math.max(0,re.findIndex(w=>w.value===C.model)):Math.max(0,Q?.findIndex(w=>w.value===C.effort)??0),[Q,P,re,C]),E=l.useCallback((m,w)=>{R({group:m,index:w}),N.current.get(`${m}:${w}`)?.focus()},[]),ge=l.useCallback((m,w)=>{const j=$t.indexOf(m);for(let x=j+w;x>=0&&x<$t.length;x+=w){const L=$t[x];if(T[L]>0)return E(L,Math.min(oe(L),T[L]-1)),!0}return!1},[T,E,oe]),tt=l.useCallback((m,w)=>({ref:j=>{const x=`${m}:${w}`;j?N.current.set(x,j):N.current.delete(x)},tabIndex:pe.group===m&&pe.index===w?0:-1,onFocus:()=>R({group:m,index:w}),onKeyDown:j=>{const x=_r[m]==="vertical",L=x?"ArrowDown":"ArrowRight",B=x?"ArrowUp":"ArrowLeft",Be=x?"ArrowRight":"ArrowDown",ae=x?"ArrowLeft":"ArrowUp",ve=T[m];if(ve!==0)if(j.key===L)j.preventDefault(),E(m,(w+1)%ve);else if(j.key===B){if(j.preventDefault(),m==="model"&&w===0&&$){R({group:m,index:0}),he.current?.focus();return}E(m,(w-1+ve)%ve)}else j.key===Be?(j.preventDefault(),ge(m,1)):j.key===ae?(j.preventDefault(),ge(m,-1)):j.key==="Home"?(j.preventDefault(),E(m,0)):j.key==="End"&&(j.preventDefault(),E(m,ve-1))}}),[T,pe,E,ge,$]),Ee=l.useCallback(m=>{if(m.key==="ArrowDown"&&T.model>0)m.preventDefault(),E("model",0);else if(m.key==="Enter"&&T.model===1){m.preventDefault();const w=re[0];w.disabled||Se({model:w.value})}else m.key==="Escape"&&X&&(m.preventDefault(),m.stopPropagation(),Y(""))},[T.model,E,re,X,Se]),[U,He]=l.useState(null),we=l.useCallback(()=>{const m=fe.current;if(!m)return;const w=m.getBoundingClientRect(),j=w.top,x=window.innerHeight-w.bottom,L=j>=Dr||j>=x?"up":"down",B=Math.min(Math.max(Je,w.right-Pt),Math.max(Je,window.innerWidth-Pt-Je));He({left:B,top:L==="up"?w.top-Je:w.bottom+Je,placement:L})},[]);l.useLayoutEffect(()=>{if(!y)return;we();const m=()=>we();return window.addEventListener("scroll",m,!0),window.addEventListener("resize",m),()=>{window.removeEventListener("scroll",m,!0),window.removeEventListener("resize",m)}},[y,we]);const I=l.useCallback(m=>{F(!1),m&&fe.current?.focus()},[]);l.useEffect(()=>{if(!y)return;const m=j=>{const x=j.target;k.current?.contains(x)||me.current?.contains(x)||F(!1)},w=j=>{j.key==="Escape"&&(j.stopPropagation(),I(!0))};return document.addEventListener("pointerdown",m),document.addEventListener("keydown",w),()=>{document.removeEventListener("pointerdown",m),document.removeEventListener("keydown",w)}},[y,I]),l.useEffect(()=>{if(!y)return;const m=T.model>0?"model":"harness",w=Math.min(oe(m),Math.max(0,T[m]-1));R({group:m,index:w});const j=requestAnimationFrame(()=>{const x=N.current.get(`${m}:${w}`);x?x.focus():me.current?.focus()});return()=>cancelAnimationFrame(j)},[y]),l.useEffect(()=>{y||Y("")},[y]),l.useEffect(()=>{f&&F(!1)},[f]);const be=Math.max(0,P.findIndex(m=>m.value===C.harness)),H={value:C,set:Se,status:r,statusMessage:a,onRetry:u,harnesses:P,models:re,efforts:Q,harnessLabel:Z.harnessLabel,searchable:$,query:X,setQuery:Y,searchRef:he,cell:tt,onSearchKeyDown:Ee};return i.jsxs("div",{ref:k,className:p?`s-rt-root ${p}`:"s-rt-root",style:{position:"relative",display:"inline-flex"},children:[i.jsxs("button",{ref:fe,type:"button",className:`s-rt-chip${f?" s-rt-chip--disabled":""}`,"aria-haspopup":"dialog","aria-expanded":y,"aria-controls":y?A:void 0,"aria-label":Z.summary,disabled:f,onClick:()=>F(m=>!m),children:[i.jsx(ys,{harness:C.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:`${$r}ch`},children:i.jsx("span",{className:"s-rt-chip-model-text",children:Z.modelLabel},Z.modelLabel)}),Q&&Z.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":C.effort,children:Z.effortLabel})]}):null]}),i.jsx(Or,{})]}),y&&U?Jn.createPortal(i.jsx("div",{ref:me,id:A,role:"dialog","aria-label":"Runtime",tabIndex:-1,"data-placement":U.placement,className:"s-rt-panel",style:{left:U.left,width:Pt,...U.placement==="up"?{bottom:window.innerHeight-U.top}:{top:U.top}},children:i.jsxs("div",{className:"s-rt-rail",children:[i.jsxs("div",{className:"s-rt-rail-main",children:[i.jsxs("div",{className:"s-rt-harnesses",role:"radiogroup","aria-label":"Harness",children:[i.jsx("span",{"aria-hidden":!0,className:"s-rt-marker",style:{height:Lt-10,transform:`translateY(${be*Lt+5}px)`}}),P.map((m,w)=>{const j=m.value===C.harness,x=m.disabled??!1;return i.jsxs("button",{type:"button",role:"radio","aria-checked":j,"aria-disabled":x||void 0,onClick:()=>{x||H.set({harness:m.value})},style:{height:Lt},"data-on":j||void 0,"data-disabled":x||void 0,title:x?m.note:void 0,...H.cell("harness",w),className:"s-rt-harness",children:[i.jsx(ys,{harness:m.value||"unknown",size:14,className:"s-rt-opt-mark",title:null}),i.jsx("span",{className:"s-rt-harness-label",children:m.label})]},m.value||"default")})]}),i.jsxs("div",{className:"s-rt-models-col",children:[$?i.jsx(Br,{ctx:H}):null,i.jsx(Gr,{ctx:H})]})]}),i.jsx("div",{className:"s-rt-effort-foot",children:Q?i.jsx(Fr,{ctx:H}):i.jsx(Ur,{harnessLabel:Z.harnessLabel})})]})}),document.body):null]})}const Ft="scout:newchat:frame:v1",Wr=620,Ss=420,Cs=300,gt=12,qr=210,Kr=154;function en(e){return e>Wr}function ks(e,t,s){if(!en(s.width))return null;const n=e??t;return n?bt(n,s):null}function Jr(e){return e?Math.max(Kr,Math.round(e.height-qr)):null}function Ms(e,t,s){const n=s-t-gt;return Math.round(Math.max(gt,Math.min(e,n)))}function bt(e,t){const s=Math.round(Math.max(Ss,Math.min(e.width,Math.max(Ss,t.width-gt*2)))),n=Math.round(Math.max(Cs,Math.min(e.height,Math.max(Cs,t.height-gt*2))));return{x:Ms(e.x,s,t.width),y:Ms(e.y,n,t.height),width:s,height:n}}function Vr(e,t,s,n){return bt({...e,x:e.x+t,y:e.y+s},n)}function Xr(e,t,s,n,r){const a=n==="s"?e.width:e.width+t,u=n==="e"?e.height:e.height+s;return bt({...e,width:a,height:u},r)}function Yr(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 Qr(e){if(!e)return null;try{const t=JSON.parse(e);return Yr(t)?{x:t.x,y:t.y,width:t.width,height:t.height}:null}catch{return null}}function As(){try{return typeof localStorage>"u"?null:Qr(localStorage.getItem(Ft))}catch{return null}}function Is(e){try{if(typeof localStorage>"u")return;if(!e){localStorage.removeItem(Ft);return}localStorage.setItem(Ft,JSON.stringify(e))}catch{}}const Ut=or()??"",Ns=Ws(Ut),Ae={schemaVersion:"openscout.runtime-capabilities.v1",catalogVersion:V.schemaVersion,defaults:{harness:Ut,model:Ns,reasoningEffort:qs(Ut,Ns)},defaultsByHarness:cr,harnesses:V.harnesses.filter(e=>e.enabled&&e.listed!==!1).map(e=>({id:e.id,label:e.label})),models:ur.map(e=>({id:e.id,label:e.label,...e.description?{description:e.description}:{},harnesses:[...e.harnesses]})),efforts:mr.map(e=>({id:e.id,label:e.label,...e.description?{description:e.description}:{},harnesses:[...e.harnesses],...e.models?{models:[...e.models]}:{}}))};function Da(e){return Zs({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 Zr="|";function Es(e){return e<55296?e:e<57344?e+8192:e-2048}function eo(e,t){if(e===t)return 0;const s=Math.min(e.length,t.length);for(let n=0;n<s;n+=1){const r=e.charCodeAt(n),a=t.charCodeAt(n);if(r!==a)return Es(r)<Es(a)?-1:1}return e.length===t.length?0:e.length<t.length?-1:1}function Rs(e){return Number.isFinite(e)?e:0}function to(e,t){const s=Rs(e.createdAt),n=Rs(t.createdAt);return s!==n?s<n?-1:1:eo(e.id,t.id)}function so(e){return`${Number.isFinite(e.createdAt)?Math.max(0,Math.trunc(e.createdAt)):0}${Zr}${e.id}`}const no=10,ro=80,Ts=300,Ls=100,tn=2e3,oo=no,je=new Map,de=new Map;let sn=0;function Ne(e){return e.trim()}function ao(e){const t=new Map;for(const s of e)t.set(s.id,s);return[...t.values()].sort(to)}function io(){if(je.size<=oo)return;let e=null,t=Number.POSITIVE_INFINITY;for(const[s,n]of je)n.touchedAt<t&&(e=s,t=n.touchedAt);e&&je.delete(e)}function Ie(e){const t=Ne(e),s=je.get(t);return s?(s.touchedAt=++sn,s.messages):null}function Xt(e,t,s={}){const n=Ne(e);if(!n)return[];const r=je.get(n),a=ao(t).slice(-tn);return je.set(n,{messages:a,historyLoaded:s.historyLoaded??r?.historyLoaded??!1,historyExhausted:s.historyExhausted??r?.historyExhausted??!1,touchedAt:++sn}),io(),a}function nn(e,t){const s=Ie(e)??[];return Xt(e,[...s,...t])}function rn(e){return je.get(Ne(e))?.historyLoaded??!1}function co(e){const t=je.get(Ne(e));return!!(t&&t.historyLoaded&&!t.historyExhausted&&t.messages.length>0&&t.messages.length<tn)}async function _a(e,t={}){const s=Ne(e);if(!s)return[];const n=Ie(s);if(n&&!t.refresh)return n;const r=de.get(s);if(r)return r;const a=W(`/api/messages?conversationId=${encodeURIComponent(s)}&limit=${ro}`).then(u=>nn(s,u));de.set(s,a);try{return await a}finally{de.delete(s)}}async function lo(e){const t=Ne(e);if(!t)return[];if(rn(t))return Ie(t)??[];const s=`${t}:history`,n=de.get(s);if(n)return n;const r=W(`/api/messages?conversationId=${encodeURIComponent(t)}&limit=${Ts}`).then(a=>Xt(t,[...Ie(t)??[],...a],{historyLoaded:!0,historyExhausted:a.length<Ts}));de.set(s,r);try{return await r}finally{de.delete(s)}}async function Oa(e){const t=Ne(e);if(!t)return[];if(!rn(t))return lo(t);if(!co(t))return Ie(t)??[];const s=Ie(t)??[],n=s[0];if(!n)return s;const r=so(n),a=`${t}:before:${r}`,u=de.get(a);if(u)return u;const f=W(`/api/messages?conversationId=${encodeURIComponent(t)}&limit=${Ls}&beforeMessageId=${encodeURIComponent(r)}`).then(d=>Xt(t,[...d,...Ie(t)??[]],{historyLoaded:!0,historyExhausted:d.length<Ls}));de.set(a,f);try{return await f}finally{de.delete(a)}}const uo=12e4,Ye=new Map;function fo(){const e=globalThis.crypto?.randomUUID?.();return e?`web-${e}`:`web-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function mo(e){const t=e.conversationId.trim(),s=e.messageId.trim();if(!t||!s)return;nn(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(),r=e.agentId?.trim();!n||!r||Ye.set(t,{flight:{id:n,invocationId:e.invocationId?.trim()||`pending:${n}`,agentId:r,agentName:null,conversationId:t,collaborationRecordId:null,state:"queued",summary:"Request accepted; waiting for worker activity.",startedAt:e.createdAt,completedAt:null,sessions:[]},expiresAt:Date.now()+uo})}function Fa(e,t=Date.now()){const s=e.trim(),n=Ye.get(s);return n?n.expiresAt<=t?(Ye.delete(s),null):n.flight:null}function Ua(e,t){const s=e.trim(),n=Ye.get(s);n&&(!t||n.flight.id===t)&&Ye.delete(s)}const ho=1200,po=new Set(["Page","URL"]);function on(e){return e.trim().slice(0,ho)}function go(e){const t=[{label:"Page",value:e.pageTitle??""},{label:"URL",value:e.pageUrl??""}];return e.selection?.trim()&&t.push({label:"Selection",value:on(e.selection)}),(e.notes??[]).forEach((s,n)=>{t.push({label:`Note ${n+1}`,value:s})}),t.filter(s=>s.value.trim())}function wo(e,t){const s=[];for(const r of t){const a=r.value.trim();a&&(po.has(r.label)?s.push(`${r.label}: ${a}`):s.push(`${r.label}:
1
+ import{j as i,r as l}from"./index-NRbRrZw-.js";import{f as Ot,M as zn}from"./text-B2UZi3l9.js";import{C as Gn,c as Wn,S as vs,G as qn,H as Kn}from"./conversation-model-CIzM7aXT.js";import{a as W}from"./api-DEHEgJ9m.js";import{r as Jn}from"./index-CD2foMB8.js";import{H as ys}from"./HarnessMark-CEzmPFHC.js";import{n as Vn,c as Xn,d as Yn}from"./colors-BtO5_zlx.js";import{NewChatOrigin as Qn}from"./NewChatOrigin-CCiPg_WR.js";import{u as Zn}from"./keyboard-nav-feLCB3Zm.js";import{X as er}from"./x-DuzAbpk5.js";import{C as tr}from"./chevron-down-Jh540uf3.js";import{S as sr}from"./search-HmdKXdtR.js";import{L as Tt}from"./loader-circle-Be0T8xv2.js";import{F as nr}from"./file-text-BGVkHS4_.js";const rr={schemaVersion:"openscout.runtime-catalog.v1",revision:"2026-08-18.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-sonnet-4-6",label:"Sonnet 4.6",enabled:!0,family:"Sonnet",version:"4.6"},{id:"claude-haiku-4-5",label:"Haiku 4.5",enabled:!0,family:"Haiku",version:"4.5"},{id:"claude-opus-4-8",label:"Opus 4.8",enabled:!0,family:"Opus",version:"4.8"},{id:"claude-opus-4-7",label:"Opus 4.7",enabled:!0,family:"Opus",version:"4.7"},{id:"claude-sonnet-4-5",label:"Sonnet 4.5",enabled:!0,family:"Sonnet",version:"4.5"}]},{id:"codex",label:"Codex",enabled:!0,reasoningEfforts:["low","medium","high","xhigh"],defaultReasoningEffort:"medium",models:[{id:"gpt-5.6-sol",label:"5.6 Sol",enabled:!0,default:!0,family:"GPT",version:"5.6 Sol",reasoningEfforts:["low","medium","high","xhigh","ultra"]},{id:"gpt-5.6-terra",label:"5.6 Terra",enabled:!0,family:"GPT",version:"5.6 Terra",reasoningEfforts:["low","medium","high","xhigh","ultra"]},{id:"gpt-5.6-luna",label:"5.6 Luna",enabled:!0,family:"GPT",version:"5.6 Luna"},{id:"gpt-5.5",label:"5.5",enabled:!0,family:"GPT",version:"5.5"},{id:"gpt-5.5-mini",label:"5.5 mini",enabled:!0,family:"GPT",version:"5.5 mini"}]},{id:"grok",label:"Grok CLI",enabled:!0,listed:!1,reasoningEfforts:["low","medium","high","xhigh"],defaultReasoningEffort:"medium",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"},{id:"grok-4.3",label:"Grok 4.3",enabled:!0,family:"Grok",version:"4.3"}]},{id:"grok-acp",label:"Grok",enabled:!0,reasoningEfforts:null,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"},{id:"grok-4.3",label:"Grok 4.3",enabled:!0,family:"Grok",version:"4.3"}]},{id:"kimi",label:"Kimi Code",enabled:!0,reasoningEfforts:null,models:[]},{id:"flue",label:"Flue",enabled:!0,reasoningEfforts:null,models:[]},{id:"cursor",label:"Cursor CLI",enabled:!0,reasoningEfforts:null,models:[]},{id:"opencode",label:"OpenCode",enabled:!0,reasoningEfforts:null,models:[{id:"opencode-go/glm-5.2",label:"GLM-5.2",enabled:!0,default:!0,family:"GLM",version:"5.2"},{id:"opencode-go/glm-5.1",label:"GLM-5.1",enabled:!0,family:"GLM",version:"5.1"},{id:"opencode-go/kimi-k3",label:"Kimi K3",enabled:!0,family:"Kimi",version:"K3"},{id:"opencode-go/qwen3.8-max",label:"Qwen3.8 Max",enabled:!0,family:"Qwen",version:"3.8 Max"},{id:"opencode-go/minimax-m3",label:"MiniMax M3",enabled:!0,family:"MiniMax",version:"M3"},{id:"opencode-go/deepseek-v4-pro",label:"DeepSeek V4 Pro",enabled:!0,family:"DeepSeek",version:"V4 Pro"},{id:"opencode-go/grok-4.5",label:"Grok 4.5",enabled:!0,family:"Grok",version:"4.5"},{id:"opencode/nemotron-3-ultra-free",label:"Nemotron 3 Ultra (free)",enabled:!0,family:"Nemotron",version:"3 Ultra Free"},{id:"opencode/laguna-s-2.1-free",label:"Laguna S 2.1 (free)",enabled:!0,family:"Laguna",version:"S 2.1 Free"}]},{id:"pi",label:"Pi",enabled:!0,reasoningEfforts:null,models:[]}]},qt=["none","minimal","low","medium","high","xhigh","max","ultra"],Gs={none:"None",minimal:"Minimal",low:"Light",medium:"Medium",high:"High",xhigh:"Extra High",max:"Max",ultra:"Ultra"},V=rr;function Kt(e,t=V){return t.harnesses.find(s=>s.id===e)}function or(e=V){return e.harnesses.find(t=>t.enabled&&t.default)?.id??e.harnesses.find(t=>t.enabled)?.id??null}function Ws(e,t=V){const s=Kt(e,t);return s?.models.find(n=>n.enabled&&n.default)?.id??s?.models.find(n=>n.enabled)?.id??null}function ar(e,t,s=V){const n=Kt(e,s);if(!n||!n.enabled)return null;const r=t?n.models.find(a=>a.enabled&&a.id===t):void 0;return r?.reasoningEfforts===null?null:r?.reasoningEfforts??n.reasoningEfforts}function qs(e,t,s=V){const n=Kt(e,s),r=t?n?.models.find(f=>f.enabled&&f.id===t):void 0,a=ar(e,t,s),u=r?.defaultReasoningEffort??n?.defaultReasoningEffort??null;return u&&a?.includes(u)?u:a?.[0]??null}function ir(e=V){return Object.fromEntries(e.harnesses.filter(t=>t.enabled).map(t=>{const s=Ws(t.id,e);return[t.id,{model:s,reasoningEffort:qs(t.id,s,e)}]}))}const cr=ir();Object.fromEntries(V.harnesses.filter(e=>e.enabled).map(e=>{const t=qt.filter(s=>e.reasoningEfforts?.includes(s)||e.models.some(n=>n.enabled&&n.reasoningEfforts?.includes(s)));return[e.id,t]}));function lr(e=V){const t=new Map;for(const s of e.harnesses)if(s.enabled)for(const n of s.models){if(!n.enabled)continue;const r=t.get(n.id);if(r){r.harnesses.includes(s.id)||r.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 ur=lr(),dr={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 fr(e=V){return qt.flatMap(t=>{const s=[],n=[];for(const r of e.harnesses){if(!r.enabled)continue;const a=r.models.filter(d=>d.enabled),u=a.filter(d=>(d.reasoningEfforts??r.reasoningEfforts)?.includes(t)),f=a.length===0&&r.reasoningEfforts?.includes(t);u.length===0&&!f||(s.push(r.id),a.length>0&&u.length<a.length&&n.push(...u.map(d=>d.id)))}return s.length===0?[]:[{id:t,label:Gs[t],description:dr[t],harnesses:s,...n.length>0?{models:n}:{}}]})}const mr=fr(),Ks=new Set(["md","markdown","mdx","mdown","mkd"]),hr=new Set(["c","cc","cpp","cxx","h","hh","hpp","hxx","cjs","mjs","js","jsx","ts","tsx","py","pyw","pyi","rs","go","java","kt","kts","swift","cs","rb","php","lua","r","sh","bash","zsh","fish","ps1","bat","cmd","sql","prisma","json","jsonc","json5","yaml","yml","toml","xml","html","htm","xhtml","css","scss","sass","less","vue","svelte","astro","graphql","gql","zig","ex","exs","erl","hrl","hs","clj","cljs","cljc","dart","tf","hcl","nix","env","ini","cfg","conf","properties","txt","log","cmake","gradle","groovy","patch","diff","proto","wat"]),pr=new Set(["dockerfile","containerfile","makefile","gemfile","rakefile","procfile","brewfile"]),gr=new Set(["text/markdown","text/x-markdown","text/plain","text/javascript","text/typescript","text/css","text/html","text/yaml","text/toml","text/x-shellscript","application/json","application/javascript"]);function Js(e){return e.trim().split(/[/\\]/).pop()?.toLowerCase()??""}function Jt(e){const t=Js(e),s=t.lastIndexOf(".");return s>=0?t.slice(s+1):""}function wr(e){return Ks.has(Jt(e))}function br(e){const t=Js(e);return pr.has(t)?!0:hr.has(Jt(e))}function Vs(e){return wr(e)||br(e)}function Xs(e,t){if(!Vs(t))return null;const s=Jt(t);if(Ks.has(s))return"text/markdown";switch(s){case"json":case"jsonc":case"json5":return"application/json";case"yaml":case"yml":return"text/yaml";case"toml":return"text/toml";case"html":case"htm":case"xhtml":return"text/html";case"css":case"scss":case"sass":case"less":return"text/css";case"js":case"jsx":case"mjs":case"cjs":return"text/javascript";case"ts":case"tsx":return"text/typescript";case"sh":case"bash":case"zsh":case"fish":return"text/x-shellscript"}const n=e.trim().toLowerCase();return gr.has(n)?n:"text/plain"}function vr(e,t){const s=e.trim().toLowerCase();return s.startsWith("image/")||s.startsWith("video/")||s==="text/markdown"||s==="text/x-markdown"?!0:t?Xs(s,t)?!0:!s||s==="application/octet-stream"?Vs(t):!1:!1}function yr(e){const t=e.type.trim().toLowerCase();return t.startsWith("image/")||t.startsWith("video/")?t:Xs(t,e.name)??t}function Xe(e){return vr(e.type,e.name)}function xr(e){return yr(e)}function dt(e){return e?e.files.length>0||[...e.types].some(t=>t.toLowerCase()==="files")?!0:[...e.items].some(t=>t.kind==="file"):!1}function Ys(e){if(!e)return[];const t=[...e.files];if(t.length>0)return t;const s=[];for(const n of e.items){if(n.kind!=="file")continue;const r=n.getAsFile();r&&s.push(r)}return s}function jr(e){return Ys(e).filter(Xe)}function $a(e){return jr(e)}function Sr(e){return new Promise((t,s)=>{const n=new FileReader;n.onload=()=>{const r=typeof n.result=="string"?n.result:"",a=r.indexOf(",");t(a>=0?r.slice(a+1):r)},n.onerror=()=>s(n.error??new Error("Could not read file.")),n.readAsDataURL(e)})}async function Cr(e){if(!Xe(e))throw new Error("Only markdown, code, image, and video files can be routed.");const t=await Sr(e);return W("/api/blobs",{method:"POST",body:JSON.stringify({data:t,mediaType:xr(e),fileName:e.name})})}async function kr(e){const t=e.filter(Xe);if(t.length===0)throw new Error("Drop markdown, code, an image, or a video clip to route.");return(await Promise.all(t.map(n=>Cr(n)))).map((n,r)=>({id:n.id,mediaType:n.mediaType,fileName:n.fileName??t[r]?.name,url:n.url}))}function Mr(e,t){const s=t?.trim();return s?e.find(n=>n.id===s)??null:null}function Ar(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=Mr(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 xs({label:e,items:t,activeIndex:s,placement:n="above",onPick:r,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((u,f)=>{const d=f===s;return i.jsxs("button",{type:"button",role:"option","aria-selected":d,className:`s-msg-compose-suggest-item${d?" s-msg-compose-suggest-item--active":""}`,onMouseDown:b=>{b.preventDefault(),r(f)},onMouseEnter:()=>a(f),children:[d&&i.jsx("span",{className:"s-msg-compose-suggest-active-indicator","aria-hidden":"true"}),u.avatarNode?i.jsx("span",{className:"s-msg-compose-suggest-avatar-node","aria-hidden":"true",children:u.avatarNode}):u.avatar?i.jsx("span",{className:"s-ops-avatar s-msg-compose-suggest-avatar",style:{"--size":"20px",background:u.avatar.color},"aria-hidden":"true",children:u.avatar.label}):null,i.jsx("span",{className:"s-msg-compose-suggest-token",children:u.token}),i.jsx("span",{className:"s-msg-compose-suggest-desc",children:u.description}),d&&i.jsx("span",{className:"s-msg-compose-suggest-pick-hint label-xs text-dim",children:i.jsx(Gn,{size:10,"aria-hidden":"true"})})]},u.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="",Ir={none:"no reasoning",minimal:"lightest",low:"triage",medium:"default",high:"deep",xhigh:"exhaustive",max:"fullest",ultra:"beyond max"},Nr=qt.map(e=>({value:e,label:Gs[e],note:Ir[e]}));function _e(e,t){return e.harnesses.find(s=>s.value===t)}function Vt(e,t){return _e(e,t)?.models??[]}function Me(e,t,s){const n=_e(e,t),r=n?n.efforts===null?null:n.efforts??e.efforts:e.efforts;if(!r||!s)return r;const a=new Set((n?.models??[]).map(u=>u.value));return a.has(s)?r.filter(u=>{if(!u.models||u.models.length===0)return!0;const f=u.models.filter(d=>a.has(d));return f.length===0||f.includes(s)}):r}function Qs(e,t){const n=Vt(e,t.harness).find(r=>r.value===t.model);return n||(t.model.trim()?{value:t.model,label:t.model,note:"custom"}:{value:z,label:"Default",note:"harness picks"})}function Er(e,t){const s=_e(e,t.harness),n=s?.label??t.harness??"Default",r=Qs(e,t),a=Me(e,t.harness,t.model),u=a?.find(b=>b.value===t.effort),f=u?.label??t.effort,d=a?`Runtime: ${n}, model ${r.label}, effort ${f}`:`Runtime: ${n}, model ${r.label}`;return{harness:s,harnessLabel:n,model:r,modelLabel:r.label,effort:u,effortLabel:f,supportsEffort:a!==null,summary:d}}function Rr(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=Me(e,n.harness,n.model);if(!p||n.effort===z||p.some(Y=>Y.value===n.effort))return n;const F=(Me(e,t.harness,t.model)??e.efforts).findIndex(Y=>Y.value===t.effort),X=Math.min(Math.max(F,0),p.length-1);return n.effort=p[X]?.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 u=Me(e,n.harness,n.model);if(!u)return n.effort=z,n;if(u.some(p=>p.value===n.effort))return n;const d=(Me(e,t.harness,t.model)??e.efforts).findIndex(p=>p.value===t.effort),b=Math.min(Math.max(d,0),u.length-1);return n.effort=u[b]?.value??u[0]?.value??z,n}function Tr(e,t){const s=t?.harness??e.harnesses.find(a=>!a.disabled)?.value??"",n=Me(e,s),r=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??Vt(e,s)[1]?.value??z,effort:n?t?.effort??_e(e,s)?.defaultEffort??r:z}}function Lr(e,t){const s=t.trim().toLowerCase();return s?e.filter(n=>`${n.label} ${n.value} ${n.note??""}`.toLowerCase().includes(s)):e}function Ke(...e){for(const t of e){const s=t?.trim();if(s)return s}}function Zs(e){const t=e.harnesses.map(n=>{const r=e.defaultsByHarness?.[n.id],a=n.ready!==!1,u=[{value:z,label:"Default",note:"harness picks"},...e.models.filter(d=>d.harnesses.includes(n.id)).map(d=>({value:d.id,label:d.label,note:Ke(d.description)}))],f=e.efforts.filter(d=>d.harnesses.includes(n.id));return{value:n.id,label:n.label,note:a?Ke(n.description):Ke(n.detail,n.state,"unavailable"),disabled:!a,defaultModel:r?.model??z,defaultEffort:r?.reasoningEffort??z,models:u,efforts:f.length===0?null:f.map(d=>({value:d.id,label:d.label,note:Ke(d.description),...d.models?.length?{models:[...d.models]}:{}}))}}),s=e.efforts.map(n=>({value:n.id,label:n.label,note:Ke(n.description)}));return{harnesses:t,efforts:s.length>0?s:Nr}}const Pr=6,Lt=34,Pt=460,$r=14,Dr=300,Je=8,$t=["harness","model","effort"],_r={harness:"vertical",model:"vertical",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 Fr({ctx:e}){const{efforts:t,value:s,set:n}=e;if(!t)return null;const r=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,u)=>{const f=u===r;return i.jsxs("button",{type:"button",role:"radio","aria-checked":f,title:a.note,onClick:()=>n({effort:a.value}),...e.cell("effort",u),className:"s-rt-step",children:[i.jsx("span",{className:"s-rt-step-bar","data-state":f?"current":u<r?"filled":"empty"}),i.jsx("span",{className:"s-rt-step-label",children:a.label})]},a.value)})})}function Ur({harnessLabel:e}){return i.jsxs("p",{className:"s-rt-effort-absent",children:[e," has no effort control."]})}function Hr({option:e,selected:t,index:s,ctx:n}){const r=e.disabled??!1;return i.jsxs("button",{type:"button",role:"option","aria-selected":t,"aria-disabled":r||void 0,onClick:()=>{r||n.set({model:e.value})},"data-on":t||void 0,"data-disabled":r||void 0,...n.cell("model",s),style:{animationDelay:`${Math.min(s,6)*16}ms`},className:"s-rt-row s-rt-model-row",children:[i.jsx("span",{"aria-hidden":!0,className:"s-rt-dot"}),i.jsx("span",{className:"s-rt-row-label",children:e.label}),e.note?i.jsx("span",{className:"s-rt-note",children:e.note}):null]})}function Br({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 zr({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 Gr({ctx:e}){return e.status!=="ready"||e.models.length===0?i.jsx(zr,{ctx:e}):i.jsx("div",{role:"listbox","aria-label":"Model",className:"s-rt-models",children:e.models.map((t,s)=>i.jsx(Hr,{option:t,index:s,selected:t.value===e.value.model,ctx:e},t.value||"default"))},e.value.harness)}function js({value:e,defaultValue:t,onChange:s,catalog:n,status:r="ready",statusMessage:a,onRetry:u,disabled:f=!1,showEffort:d,searchable:b="auto",className:p}){const[y,F]=l.useState(!1),[X,Y]=l.useState(""),[Ze,et]=l.useState(()=>Tr(n,t)),C=e??Ze,k=l.useRef(null),fe=l.useRef(null),me=l.useRef(null),he=l.useRef(null),A=l.useId(),Se=l.useCallback(m=>{const w=Rr(n,C,m);e===void 0&&et(w),s?.(w),m.harness!==void 0&&m.harness!==C.harness&&Y("")},[n,e,s,C]),P=n.harnesses,Fe=l.useMemo(()=>Vt(n,C.harness),[n,C.harness]),D=l.useMemo(()=>{const m=Qs(n,C);return m.note!=="custom"?Fe:[...Fe,m]},[Fe,n,C]),re=l.useMemo(()=>Lr(D,X),[D,X]),Ue=Me(n,C.harness,C.model),Q=d===!1?null:d===!0?Ue??n.efforts:Ue,$=b==="auto"?D.length>Pr:b,Z=Er(n,C),N=l.useRef(new Map),[pe,R]=l.useState({group:"model",index:0}),T=l.useMemo(()=>({harness:P.length,model:r==="ready"?re.length:0,effort:Q?.length??0}),[Q?.length,P.length,re.length,r]),oe=l.useCallback(m=>m==="harness"?Math.max(0,P.findIndex(w=>w.value===C.harness)):m==="model"?Math.max(0,re.findIndex(w=>w.value===C.model)):Math.max(0,Q?.findIndex(w=>w.value===C.effort)??0),[Q,P,re,C]),E=l.useCallback((m,w)=>{R({group:m,index:w}),N.current.get(`${m}:${w}`)?.focus()},[]),ge=l.useCallback((m,w)=>{const j=$t.indexOf(m);for(let x=j+w;x>=0&&x<$t.length;x+=w){const L=$t[x];if(T[L]>0)return E(L,Math.min(oe(L),T[L]-1)),!0}return!1},[T,E,oe]),tt=l.useCallback((m,w)=>({ref:j=>{const x=`${m}:${w}`;j?N.current.set(x,j):N.current.delete(x)},tabIndex:pe.group===m&&pe.index===w?0:-1,onFocus:()=>R({group:m,index:w}),onKeyDown:j=>{const x=_r[m]==="vertical",L=x?"ArrowDown":"ArrowRight",B=x?"ArrowUp":"ArrowLeft",Be=x?"ArrowRight":"ArrowDown",ae=x?"ArrowLeft":"ArrowUp",ve=T[m];if(ve!==0)if(j.key===L)j.preventDefault(),E(m,(w+1)%ve);else if(j.key===B){if(j.preventDefault(),m==="model"&&w===0&&$){R({group:m,index:0}),he.current?.focus();return}E(m,(w-1+ve)%ve)}else j.key===Be?(j.preventDefault(),ge(m,1)):j.key===ae?(j.preventDefault(),ge(m,-1)):j.key==="Home"?(j.preventDefault(),E(m,0)):j.key==="End"&&(j.preventDefault(),E(m,ve-1))}}),[T,pe,E,ge,$]),Ee=l.useCallback(m=>{if(m.key==="ArrowDown"&&T.model>0)m.preventDefault(),E("model",0);else if(m.key==="Enter"&&T.model===1){m.preventDefault();const w=re[0];w.disabled||Se({model:w.value})}else m.key==="Escape"&&X&&(m.preventDefault(),m.stopPropagation(),Y(""))},[T.model,E,re,X,Se]),[U,He]=l.useState(null),we=l.useCallback(()=>{const m=fe.current;if(!m)return;const w=m.getBoundingClientRect(),j=w.top,x=window.innerHeight-w.bottom,L=j>=Dr||j>=x?"up":"down",B=Math.min(Math.max(Je,w.right-Pt),Math.max(Je,window.innerWidth-Pt-Je));He({left:B,top:L==="up"?w.top-Je:w.bottom+Je,placement:L})},[]);l.useLayoutEffect(()=>{if(!y)return;we();const m=()=>we();return window.addEventListener("scroll",m,!0),window.addEventListener("resize",m),()=>{window.removeEventListener("scroll",m,!0),window.removeEventListener("resize",m)}},[y,we]);const I=l.useCallback(m=>{F(!1),m&&fe.current?.focus()},[]);l.useEffect(()=>{if(!y)return;const m=j=>{const x=j.target;k.current?.contains(x)||me.current?.contains(x)||F(!1)},w=j=>{j.key==="Escape"&&(j.stopPropagation(),I(!0))};return document.addEventListener("pointerdown",m),document.addEventListener("keydown",w),()=>{document.removeEventListener("pointerdown",m),document.removeEventListener("keydown",w)}},[y,I]),l.useEffect(()=>{if(!y)return;const m=T.model>0?"model":"harness",w=Math.min(oe(m),Math.max(0,T[m]-1));R({group:m,index:w});const j=requestAnimationFrame(()=>{const x=N.current.get(`${m}:${w}`);x?x.focus():me.current?.focus()});return()=>cancelAnimationFrame(j)},[y]),l.useEffect(()=>{y||Y("")},[y]),l.useEffect(()=>{f&&F(!1)},[f]);const be=Math.max(0,P.findIndex(m=>m.value===C.harness)),H={value:C,set:Se,status:r,statusMessage:a,onRetry:u,harnesses:P,models:re,efforts:Q,harnessLabel:Z.harnessLabel,searchable:$,query:X,setQuery:Y,searchRef:he,cell:tt,onSearchKeyDown:Ee};return i.jsxs("div",{ref:k,className:p?`s-rt-root ${p}`:"s-rt-root",style:{position:"relative",display:"inline-flex"},children:[i.jsxs("button",{ref:fe,type:"button",className:`s-rt-chip${f?" s-rt-chip--disabled":""}`,"aria-haspopup":"dialog","aria-expanded":y,"aria-controls":y?A:void 0,"aria-label":Z.summary,disabled:f,onClick:()=>F(m=>!m),children:[i.jsx(ys,{harness:C.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:`${$r}ch`},children:i.jsx("span",{className:"s-rt-chip-model-text",children:Z.modelLabel},Z.modelLabel)}),Q&&Z.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":C.effort,children:Z.effortLabel})]}):null]}),i.jsx(Or,{})]}),y&&U?Jn.createPortal(i.jsx("div",{ref:me,id:A,role:"dialog","aria-label":"Runtime",tabIndex:-1,"data-placement":U.placement,className:"s-rt-panel",style:{left:U.left,width:Pt,...U.placement==="up"?{bottom:window.innerHeight-U.top}:{top:U.top}},children:i.jsxs("div",{className:"s-rt-rail",children:[i.jsxs("div",{className:"s-rt-rail-main",children:[i.jsxs("div",{className:"s-rt-harnesses",role:"radiogroup","aria-label":"Harness",children:[i.jsx("span",{"aria-hidden":!0,className:"s-rt-marker",style:{height:Lt-10,transform:`translateY(${be*Lt+5}px)`}}),P.map((m,w)=>{const j=m.value===C.harness,x=m.disabled??!1;return i.jsxs("button",{type:"button",role:"radio","aria-checked":j,"aria-disabled":x||void 0,onClick:()=>{x||H.set({harness:m.value})},style:{height:Lt},"data-on":j||void 0,"data-disabled":x||void 0,title:x?m.note:void 0,...H.cell("harness",w),className:"s-rt-harness",children:[i.jsx(ys,{harness:m.value||"unknown",size:14,className:"s-rt-opt-mark",title:null}),i.jsx("span",{className:"s-rt-harness-label",children:m.label})]},m.value||"default")})]}),i.jsxs("div",{className:"s-rt-models-col",children:[$?i.jsx(Br,{ctx:H}):null,i.jsx(Gr,{ctx:H})]})]}),i.jsx("div",{className:"s-rt-effort-foot",children:Q?i.jsx(Fr,{ctx:H}):i.jsx(Ur,{harnessLabel:Z.harnessLabel})})]})}),document.body):null]})}const Ft="scout:newchat:frame:v1",Wr=620,Ss=420,Cs=300,gt=12,qr=210,Kr=154;function en(e){return e>Wr}function ks(e,t,s){if(!en(s.width))return null;const n=e??t;return n?bt(n,s):null}function Jr(e){return e?Math.max(Kr,Math.round(e.height-qr)):null}function Ms(e,t,s){const n=s-t-gt;return Math.round(Math.max(gt,Math.min(e,n)))}function bt(e,t){const s=Math.round(Math.max(Ss,Math.min(e.width,Math.max(Ss,t.width-gt*2)))),n=Math.round(Math.max(Cs,Math.min(e.height,Math.max(Cs,t.height-gt*2))));return{x:Ms(e.x,s,t.width),y:Ms(e.y,n,t.height),width:s,height:n}}function Vr(e,t,s,n){return bt({...e,x:e.x+t,y:e.y+s},n)}function Xr(e,t,s,n,r){const a=n==="s"?e.width:e.width+t,u=n==="e"?e.height:e.height+s;return bt({...e,width:a,height:u},r)}function Yr(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 Qr(e){if(!e)return null;try{const t=JSON.parse(e);return Yr(t)?{x:t.x,y:t.y,width:t.width,height:t.height}:null}catch{return null}}function As(){try{return typeof localStorage>"u"?null:Qr(localStorage.getItem(Ft))}catch{return null}}function Is(e){try{if(typeof localStorage>"u")return;if(!e){localStorage.removeItem(Ft);return}localStorage.setItem(Ft,JSON.stringify(e))}catch{}}const Ut=or()??"",Ns=Ws(Ut),Ae={schemaVersion:"openscout.runtime-capabilities.v1",catalogVersion:V.schemaVersion,defaults:{harness:Ut,model:Ns,reasoningEffort:qs(Ut,Ns)},defaultsByHarness:cr,harnesses:V.harnesses.filter(e=>e.enabled&&e.listed!==!1).map(e=>({id:e.id,label:e.label})),models:ur.map(e=>({id:e.id,label:e.label,...e.description?{description:e.description}:{},harnesses:[...e.harnesses]})),efforts:mr.map(e=>({id:e.id,label:e.label,...e.description?{description:e.description}:{},harnesses:[...e.harnesses],...e.models?{models:[...e.models]}:{}}))};function Da(e){return Zs({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 Zr="|";function Es(e){return e<55296?e:e<57344?e+8192:e-2048}function eo(e,t){if(e===t)return 0;const s=Math.min(e.length,t.length);for(let n=0;n<s;n+=1){const r=e.charCodeAt(n),a=t.charCodeAt(n);if(r!==a)return Es(r)<Es(a)?-1:1}return e.length===t.length?0:e.length<t.length?-1:1}function Rs(e){return Number.isFinite(e)?e:0}function to(e,t){const s=Rs(e.createdAt),n=Rs(t.createdAt);return s!==n?s<n?-1:1:eo(e.id,t.id)}function so(e){return`${Number.isFinite(e.createdAt)?Math.max(0,Math.trunc(e.createdAt)):0}${Zr}${e.id}`}const no=10,ro=80,Ts=300,Ls=100,tn=2e3,oo=no,je=new Map,de=new Map;let sn=0;function Ne(e){return e.trim()}function ao(e){const t=new Map;for(const s of e)t.set(s.id,s);return[...t.values()].sort(to)}function io(){if(je.size<=oo)return;let e=null,t=Number.POSITIVE_INFINITY;for(const[s,n]of je)n.touchedAt<t&&(e=s,t=n.touchedAt);e&&je.delete(e)}function Ie(e){const t=Ne(e),s=je.get(t);return s?(s.touchedAt=++sn,s.messages):null}function Xt(e,t,s={}){const n=Ne(e);if(!n)return[];const r=je.get(n),a=ao(t).slice(-tn);return je.set(n,{messages:a,historyLoaded:s.historyLoaded??r?.historyLoaded??!1,historyExhausted:s.historyExhausted??r?.historyExhausted??!1,touchedAt:++sn}),io(),a}function nn(e,t){const s=Ie(e)??[];return Xt(e,[...s,...t])}function rn(e){return je.get(Ne(e))?.historyLoaded??!1}function co(e){const t=je.get(Ne(e));return!!(t&&t.historyLoaded&&!t.historyExhausted&&t.messages.length>0&&t.messages.length<tn)}async function _a(e,t={}){const s=Ne(e);if(!s)return[];const n=Ie(s);if(n&&!t.refresh)return n;const r=de.get(s);if(r)return r;const a=W(`/api/messages?conversationId=${encodeURIComponent(s)}&limit=${ro}`).then(u=>nn(s,u));de.set(s,a);try{return await a}finally{de.delete(s)}}async function lo(e){const t=Ne(e);if(!t)return[];if(rn(t))return Ie(t)??[];const s=`${t}:history`,n=de.get(s);if(n)return n;const r=W(`/api/messages?conversationId=${encodeURIComponent(t)}&limit=${Ts}`).then(a=>Xt(t,[...Ie(t)??[],...a],{historyLoaded:!0,historyExhausted:a.length<Ts}));de.set(s,r);try{return await r}finally{de.delete(s)}}async function Oa(e){const t=Ne(e);if(!t)return[];if(!rn(t))return lo(t);if(!co(t))return Ie(t)??[];const s=Ie(t)??[],n=s[0];if(!n)return s;const r=so(n),a=`${t}:before:${r}`,u=de.get(a);if(u)return u;const f=W(`/api/messages?conversationId=${encodeURIComponent(t)}&limit=${Ls}&beforeMessageId=${encodeURIComponent(r)}`).then(d=>Xt(t,[...d,...Ie(t)??[]],{historyLoaded:!0,historyExhausted:d.length<Ls}));de.set(a,f);try{return await f}finally{de.delete(a)}}const uo=12e4,Ye=new Map;function fo(){const e=globalThis.crypto?.randomUUID?.();return e?`web-${e}`:`web-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function mo(e){const t=e.conversationId.trim(),s=e.messageId.trim();if(!t||!s)return;nn(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(),r=e.agentId?.trim();!n||!r||Ye.set(t,{flight:{id:n,invocationId:e.invocationId?.trim()||`pending:${n}`,agentId:r,agentName:null,conversationId:t,collaborationRecordId:null,state:"queued",summary:"Request accepted; waiting for worker activity.",startedAt:e.createdAt,completedAt:null,sessions:[]},expiresAt:Date.now()+uo})}function Fa(e,t=Date.now()){const s=e.trim(),n=Ye.get(s);return n?n.expiresAt<=t?(Ye.delete(s),null):n.flight:null}function Ua(e,t){const s=e.trim(),n=Ye.get(s);n&&(!t||n.flight.id===t)&&Ye.delete(s)}const ho=1200,po=new Set(["Page","URL"]);function on(e){return e.trim().slice(0,ho)}function go(e){const t=[{label:"Page",value:e.pageTitle??""},{label:"URL",value:e.pageUrl??""}];return e.selection?.trim()&&t.push({label:"Selection",value:on(e.selection)}),(e.notes??[]).forEach((s,n)=>{t.push({label:`Note ${n+1}`,value:s})}),t.filter(s=>s.value.trim())}function wo(e,t){const s=[];for(const r of t){const a=r.value.trim();a&&(po.has(r.label)?s.push(`${r.label}: ${a}`):s.push(`${r.label}:
2
2
  ${a.split(`
3
3
  `).map(u=>`> ${u}`).join(`
4
4
  `)}`))}const n=e.trim();return n&&s.push(n),s.join(`
@@ -1 +1 @@
1
- import{j as e}from"./index-Bli6bTLU.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-NRbRrZw-.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,2 +1,2 @@
1
- import{r as o,j as e}from"./index-Bli6bTLU.js";import{a as v}from"./api-DEHEgJ9m.js";import{d as b,S as u}from"./SessionObserve-zAlFbwFn.js";import{u as h}from"./sse-CSozY6mp.js";import{f as x}from"./time-Dhsh_2EG.js";import{SessionObserveEmbedStatus as f}from"./SessionObserveEvidence-BVawzqoE.js";import{E as p}from"./external-link-BGHC_naA.js";import"./bash-format-BRV5C6Gv.js";import"./tail-display-DcliDVkW.js";import"./lane-edit-display-C_Aujldz.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-197xYmRp.js";import"./index-DFdlQs_c.js";import"./lane-observe-vfyACHi0.js";import"./lane-ask-display-B6iCAVcd.js";import"./colors-BtO5_zlx.js";import"./mentions-Cd6XticV.js";import"./Provider-Ve8yXaWR.js";import"./provider-CX9EWecp.js";import"./router-B0YclXYg.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-D4dHTRkt.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-D4vuKzOL.js";import"./DocumentFocusViewer-DmtFisY9.js";import"./createLucideIcon-DLlxGjKt.js";import"./TextDocumentSurface-C7fGlzY8.js";import"./file-text-BVhkMWyC.js";import"./x-BJyPzFnn.js";import"./chevron-right-BMqtBds_.js";import"./code-xml-ByQsfOI_.js";import"./arrow-left-i-h6JAgs.js";import"./arrow-right-B0Yi01Zr.js";import"./scout-voice-DvG_3stJ.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-7iEtvu9P.js";import"./NewChatComposer-Bgqes0UQ.js";import"./text-BR9Bap0E.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DoT8gpw6.js";import"./conversation-model-CigSPlKA.js";import"./HarnessMark-DGZ6o6Ct.js";import"./NewChatOrigin-DpHS2Wmt.js";import"./chevron-down-Da5tV19_.js";import"./search-BbgsEMXa.js";import"./chunk-HRAB3GC3-BUVYXXAp.js";import"./AgentDetailCard-FelCxQrT.js";import"./AgentLiveActions-Bn3zeZBN.js";import"./terminal-takeover-CtA3wcXh.js";import"./openContent-C6XO6kr5.js";import"./eye-BeCSqJn1.js";import"./terminal-BiNIXhna.js";import"./message-markup-DAnnGpWr.js";import"./ObservedTopologyPanel-D85P6RAk.js";import"./ObserveTextFlow-C1f5oize.js";import"./use-reduced-motion-BLn59zLn.js";import"./proxy-C35W-YHZ.js";import"./message-circle-44KSmbvQ.js";import"./wrench-CQvdf7KT.js";import"./index-BWHgHrtv.js";const j=2500,g=240,N=5;function I({ask:r,sessionId:s}){const[i,c]=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 m=r.task.length>g||r.task.split(`
1
+ import{r as o,j as e}from"./index-NRbRrZw-.js";import{a as v}from"./api-DEHEgJ9m.js";import{d as b,S as u}from"./SessionObserve-pbozyqVv.js";import{u as h}from"./sse-QSbhyq9A.js";import{f as x}from"./time-Dhsh_2EG.js";import{SessionObserveEmbedStatus as f}from"./SessionObserveEvidence-C54Xvbps.js";import{E as p}from"./external-link-BheHazeW.js";import"./bash-format-BRV5C6Gv.js";import"./tail-display-DcliDVkW.js";import"./lane-edit-display-C_Aujldz.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-DCY-m0JK.js";import"./index-CD2foMB8.js";import"./lane-observe-vfyACHi0.js";import"./lane-ask-display-B6iCAVcd.js";import"./colors-BtO5_zlx.js";import"./mentions-KNASbAjG.js";import"./Provider-Cd-QZltN.js";import"./provider-Bq0ScH3v.js";import"./router-Bx1tiwVe.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-D4dHTRkt.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-D4vuKzOL.js";import"./DocumentFocusViewer-CetjnYut.js";import"./createLucideIcon-Da0lq809.js";import"./TextDocumentSurface-B29xZNlI.js";import"./file-text-BGVkHS4_.js";import"./x-DuzAbpk5.js";import"./chevron-right-CV7sEVBS.js";import"./code-xml-CPzpZkhu.js";import"./arrow-left-B0CdJdAC.js";import"./arrow-right-YRBoTTyf.js";import"./scout-voice-BT3gYDhU.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-feLCB3Zm.js";import"./NewChatComposer-BPsg8shF.js";import"./text-B2UZi3l9.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-Be0T8xv2.js";import"./conversation-model-CIzM7aXT.js";import"./HarnessMark-CEzmPFHC.js";import"./NewChatOrigin-CCiPg_WR.js";import"./chevron-down-Jh540uf3.js";import"./search-HmdKXdtR.js";import"./chunk-HRAB3GC3-BYQZ1LOn.js";import"./AgentDetailCard-2DZQahiN.js";import"./AgentLiveActions-BmXDRxER.js";import"./terminal-takeover-BArLfNtd.js";import"./openContent-C6XO6kr5.js";import"./eye-B908WSFH.js";import"./terminal-DNZTCr6a.js";import"./message-markup-BP2nH9kQ.js";import"./ObservedTopologyPanel-CfHYu-4Z.js";import"./ObserveTextFlow-CKYltTPJ.js";import"./use-reduced-motion-0fAsybdo.js";import"./proxy-DtC2iXnT.js";import"./message-circle-2v9Udia0.js";import"./wrench-DwFKomxg.js";import"./index-BWHgHrtv.js";const j=2500,g=240,N=5;function I({ask:r,sessionId:s}){const[i,c]=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 m=r.task.length>g||r.task.split(`
2
2
  `).length>N,n=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:[n&&e.jsxs("a",{href:n,target:"_top",children:["Origin ",e.jsx(p,{size:11,"aria-hidden":"true"})]}),e.jsxs("a",{href:d,target:"_top",children:["Flight ",e.jsx(p,{size:11,"aria-hidden":"true"})]})]})]}),e.jsx("div",{className:`s-observe-embed-ask-body${i?" is-expanded":""}`,children:r.task}),m&&e.jsx("button",{type:"button",className:"s-observe-embed-ask-toggle","aria-expanded":i,onClick:()=>c(t=>!t),children:i?"Show less":"Show full ask"})]})}function Ce({agentId:r}){const[s,i]=o.useState(null),[c,m]=o.useState(!0),[n,d]=o.useState(null),t=o.useCallback(async(l=!1)=>{l||m(!0),d(null);try{const a=await v(`/api/agents/${encodeURIComponent(r)}/observe`);i(a)}catch(a){l||i(null),d(a instanceof Error?a.message:String(a))}finally{m(!1)}},[r]);return o.useEffect(()=>{t();const l=window.setInterval(()=>{t(!0)},j);return()=>window.clearInterval(l)},[t]),h(()=>{t(!0)}),n&&!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:n})]})}):c&&!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,Ce as ObserveEmbedScreen};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/conversation-motion-features-_95aZx_1.js","assets/gestures-BXIGYk_p.js","assets/index-Bli6bTLU.js","assets/index-DzlEgstl.css","assets/use-reduced-motion-BLn59zLn.js"])))=>i.map(i=>d[i]);
2
- import{r as n,j as e,_ as b}from"./index-Bli6bTLU.js";import{l as p}from"./lane-observe-vfyACHi0.js";import{C as f}from"./chevron-down-Da5tV19_.js";import{u as h}from"./use-reduced-motion-BLn59zLn.js";import{L as g,m as x}from"./proxy-C35W-YHZ.js";import"./time-Dhsh_2EG.js";import"./tail-display-DcliDVkW.js";import"./lane-edit-display-C_Aujldz.js";import"./createLucideIcon-DLlxGjKt.js";const j=420,N=()=>b(()=>import("./conversation-motion-features-_95aZx_1.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-CrP5K-dk.js","assets/gestures-AzPBSf20.js","assets/index-NRbRrZw-.js","assets/index-DzlEgstl.css","assets/use-reduced-motion-0fAsybdo.js"])))=>i.map(i=>d[i]);
2
+ import{r as n,j as e,_ as b}from"./index-NRbRrZw-.js";import{l as p}from"./lane-observe-vfyACHi0.js";import{C as f}from"./chevron-down-Jh540uf3.js";import{u as h}from"./use-reduced-motion-0fAsybdo.js";import{L as g,m as x}from"./proxy-DtC2iXnT.js";import"./time-Dhsh_2EG.js";import"./tail-display-DcliDVkW.js";import"./lane-edit-display-C_Aujldz.js";import"./createLucideIcon-Da0lq809.js";const j=420,N=()=>b(()=>import("./conversation-motion-features-CrP5K-dk.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,2 +1,2 @@
1
- import{r as x,j as s}from"./index-Bli6bTLU.js";import{a as R}from"./api-DEHEgJ9m.js";import{a as A}from"./time-Dhsh_2EG.js";function S(e){if(!e)return null;const o=Date.parse(e);return Number.isFinite(o)?o:null}function T(e){return e?e.length<=12?e:e.slice(0,12):null}function W(e){return e.includes("workflow")?"Claude workflows":e.includes("codex")?"Codex":e.includes("claude")?"Claude Code":e.replace(/[-_]/g," ")}function $(e){const o=[];return e.workerCount>0&&o.push(`${e.workerCount} worker${e.workerCount===1?"":"s"}`),e.eventCount>0?o.push(`${e.eventCount} event${e.eventCount===1?"":"s"}`):e.taskCount>0&&o.push(`${e.completedTaskCount}/${e.taskCount} tasks`),o.join(" · ")}function M(e){const o=[e.label];e.description&&o.push(e.description);const n=$(e);return n&&o.push(n),e.parentSessionId&&o.push(`Parent session ${e.parentSessionId}`),o.join(`
1
+ import{r as x,j as s}from"./index-NRbRrZw-.js";import{a as R}from"./api-DEHEgJ9m.js";import{a as A}from"./time-Dhsh_2EG.js";function S(e){if(!e)return null;const o=Date.parse(e);return Number.isFinite(o)?o:null}function T(e){return e?e.length<=12?e:e.slice(0,12):null}function W(e){return e.includes("workflow")?"Claude workflows":e.includes("codex")?"Codex":e.includes("claude")?"Claude Code":e.replace(/[-_]/g," ")}function $(e){const o=[];return e.workerCount>0&&o.push(`${e.workerCount} worker${e.workerCount===1?"":"s"}`),e.eventCount>0?o.push(`${e.eventCount} event${e.eventCount===1?"":"s"}`):e.taskCount>0&&o.push(`${e.completedTaskCount}/${e.taskCount} tasks`),o.join(" · ")}function M(e){const o=[e.label];e.description&&o.push(e.description);const n=$(e);return n&&o.push(n),e.parentSessionId&&o.push(`Parent session ${e.parentSessionId}`),o.join(`
2
2
  `)}function C(e){return e.name??T(e.externalSessionId)??e.id.replace(/^.*:/,"")}function P(e){return e.status??e.role??e.type??"observed"}function N(e,o){const n=e?.[o];return typeof n=="string"&&n.trim()?n.trim():null}function F(e,o){const n=e?.[o];return typeof n=="number"&&Number.isFinite(n)?n:null}function w(e){return N(e,"claudeWorkflowRunId")??N(e,"workflowRunId")}function B(e,o,n){return o.filter(l=>l.kind==="spawned"&&l.toId===e.id).map(l=>n.get(l.fromId)).filter(l=>!!l).map(C)}function D(e,o){return o.find(n=>n.assigneeId===e.id)??null}function E(e,o){return w(e.providerMeta)===o||e.id.includes(o)}function q(e,o){return w(e.providerMeta)===o||e.id.includes(o)}function G(e){const o=N(e.providerMeta,"latestTimestamp");if(!o)return null;const n=Date.parse(o);return Number.isFinite(n)?n:null}function H(e,o){return e.some(n=>n.state&&y(n.state)===0)||o.some(n=>n.status&&y(n.status)===0)?"running":e.some(n=>n.state==="failed"||n.state==="error")||o.some(n=>n.status==="failed"||n.status==="error")?"failed":e.length>0&&e.every(n=>n.state==="completed"||n.state==="done")||o.length>0&&o.every(n=>n.status==="completed"||n.status==="done")?"completed":e.length>0?"observed":"workflow"}function I(e,o){return e.groups.filter(l=>l.kind==="workflow").map(l=>{const c=w(l.providerMeta)??l.id,i=e.tasks.filter(a=>E(a,c)),h=e.agents.filter(a=>a.role!=="lead"&&q(a,c)),p=i.filter(a=>a.state!=="completed"&&a.state!=="done"),b=i.filter(a=>a.state==="completed"||a.state==="done"),v=h.map(G).filter(a=>!!a).sort((a,m)=>m-a)[0]??null,f=h.reduce((a,m)=>a+(F(m.providerMeta,"eventCount")??0),0),j=(p.length>0?p:i).slice(0,3);return{id:l.id,label:l.name??c,description:N(l.providerMeta,"description"),runId:c,parentSessionId:N(l.providerMeta,"parentSessionId"),status:H(i,h),workerCount:h.length,taskCount:i.length,activeTaskCount:p.length,completedTaskCount:b.length,eventCount:f,latestAt:v??o,taskPreview:j}}).sort((l,c)=>{const i=(c.activeTaskCount>0?1:0)-(l.activeTaskCount>0?1:0);return i!==0?i:(c.latestAt??0)-(l.latestAt??0)||l.label.localeCompare(c.label)})}function y(e){return e==="running"||e==="in_progress"||e==="working"?0:e==="queued"||e==="pending"||e==="materialized"?1:e==="failed"||e==="error"?2:e==="completed"||e==="done"?3:4}function L(e){return e?e.observations.map(o=>({source:o.source,observedAt:S(o.observedAt),topology:o.topology})):[]}function Q({topology:e,sessionId:o,size:n="full",title:l="Internal topology",maxAgents:c=n==="rail"?5:8,maxTasks:i=n==="rail"?3:5,showEmpty:h=!1}){const[p,b]=x.useState(null),[v,f]=x.useState(!1),[j,a]=x.useState(!e);x.useEffect(()=>{if(e)return;a(!0);let r=!1;const d=o?`?sessionId=${encodeURIComponent(o)}`:"";return R(`/api/topology/snapshot${d}`).then(g=>{r||(b(g),f(!1))}).catch(()=>{r||f(!0)}).finally(()=>{r||a(!1)}),()=>{r=!0}},[o,e]);const m=x.useMemo(()=>e?[{source:e.source,observedAt:S(e.observedAt),topology:e}]:L(p),[p,e]),u=x.useMemo(()=>m.reduce((r,d)=>(r.sources+=1,r.workflows+=d.topology.groups.filter(g=>g.kind==="workflow").length,r.agents+=d.topology.agents.length,r.subagents+=d.topology.agents.filter(g=>g.role==="subagent").length,r.tasks+=d.topology.tasks.length,r.activeTasks+=d.topology.tasks.filter(g=>g.state!=="completed").length,r.spawned+=d.topology.relationships.filter(g=>g.kind==="spawned").length,r),{sources:0,workflows:0,agents:0,subagents:0,tasks:0,activeTasks:0,spawned:0}),[m]),k=n==="rail",t=m.reduce((r,d)=>r+I(d.topology,d.observedAt).filter(g=>g.status==="running").length,0);return m.length===0?!h&&!v?null:s.jsxs("section",{className:`s-observed-topology s-observed-topology--${n}`,children:[!k&&s.jsx("header",{className:"s-observed-topology-head",children:s.jsxs("div",{children:[s.jsx("div",{className:"s-observed-topology-kicker",children:"Harness observed"}),s.jsx("h3",{children:l})]})}),s.jsx("div",{className:"s-observed-topology-empty",children:j?"Reading topology…":v?"Topology is unavailable right now.":"No interacted agents observed yet."})]}):s.jsxs("section",{className:`s-observed-topology s-observed-topology--${n}`,children:[k?u.workflows>0&&s.jsxs("div",{className:"s-observed-topology-rail-summary",children:[t>0?`${t} running`:"No active workflows",u.workflows>0&&` · ${u.workflows} total`]}):s.jsxs("header",{className:"s-observed-topology-head",children:[s.jsxs("div",{children:[s.jsx("div",{className:"s-observed-topology-kicker",children:"Harness observed"}),s.jsx("h3",{children:l})]}),s.jsxs("div",{className:"s-observed-topology-counts",children:[u.workflows>0&&s.jsxs("span",{children:[u.workflows," workflows"]}),s.jsxs("span",{children:[u.subagents," workers"]}),s.jsxs("span",{children:[u.tasks," tasks"]}),u.activeTasks>0?s.jsxs("span",{children:[u.activeTasks," active"]}):s.jsxs("span",{children:[u.spawned," spawn links"]})]})]}),s.jsx("div",{className:"s-observed-topology-sources",children:m.map(r=>s.jsx(_,{source:r,maxAgents:c,maxTasks:i,size:n},`${r.source}:${r.topology.observedAt}`))})]})}function O({workflow:e}){const o=$(e);return s.jsxs("div",{className:`s-observed-topology-rail-row s-observed-topology-rail-row--${e.status}`,title:M(e),children:[s.jsx("span",{className:`s-observed-topology-rail-dot s-observed-topology-rail-dot--${e.status}`,"aria-label":e.status}),s.jsx("span",{className:"s-observed-topology-rail-name",children:e.label}),o&&s.jsx("span",{className:"s-observed-topology-rail-stats",children:o})]})}function _({source:e,maxAgents:o,maxTasks:n,size:l="full"}){const c=l==="rail",{topology:i}=e,h=new Map(i.agents.map(t=>[t.id,t])),p=I(i,e.observedAt),b=p.slice(0,o),v=p.length-b.length,f=(t,r)=>y(t.status)-y(r.status)||C(t).localeCompare(C(r)),j=i.agents.filter(t=>t.role==="subagent").sort(f),a=i.agents.filter(t=>t.role==="lead").sort(f),m=i.agents.filter(t=>t.role!=="subagent"&&t.role!=="lead").sort(f),u=[...a,...j,...m].slice(0,o),k=i.tasks.filter(t=>t.state!=="completed").sort((t,r)=>y(t.state)-y(r.state)||(t.title??t.id).localeCompare(r.title??r.id)).slice(0,n);return s.jsxs("div",{className:"s-observed-topology-source",children:[!c&&s.jsxs("div",{className:"s-observed-topology-source-head",children:[s.jsx("span",{children:W(e.source)}),s.jsx("span",{children:A(e.observedAt)||"observed"})]}),p.length>0?c?s.jsxs("div",{className:"s-observed-topology-rail-list",children:[b.map(t=>s.jsx(O,{workflow:t},t.id)),v>0&&s.jsxs("div",{className:"s-observed-topology-rail-more",children:["+",v," more workflow",v===1?"":"s"]})]}):s.jsxs("div",{className:"s-observed-topology-workflow-list",children:[b.map(t=>s.jsxs("div",{className:"s-observed-topology-workflow",children:[s.jsxs("div",{className:"s-observed-topology-workflow-main",children:[s.jsx("span",{className:`s-observed-topology-workflow-state s-observed-topology-workflow-state--${t.status}`,children:t.status}),s.jsx("span",{className:"s-observed-topology-workflow-name",title:M(t),children:t.label}),s.jsx("span",{className:"s-observed-topology-workflow-age",children:A(t.latestAt)||"observed"})]}),s.jsxs("div",{className:"s-observed-topology-workflow-meta",children:[s.jsxs("span",{children:[t.workerCount," workers"]}),t.taskCount>0&&s.jsxs("span",{children:[t.completedTaskCount,"/",t.taskCount," tasks"]}),t.eventCount>0&&s.jsxs("span",{children:[t.eventCount," events"]}),t.parentSessionId&&s.jsxs("span",{children:["parent ",T(t.parentSessionId)]})]}),t.description&&s.jsx("div",{className:"s-observed-topology-workflow-description",children:t.description}),t.taskPreview.length>0&&s.jsx("div",{className:"s-observed-topology-workflow-tasks",children:t.taskPreview.map(r=>s.jsx("span",{children:r.title??r.id.replace(/^.*:/,"")},r.id))})]},t.id)),v>0&&s.jsxs("div",{className:"s-observed-topology-more",children:[v," more workflow",v===1?"":"s"]})]}):s.jsx("div",{className:"s-observed-topology-agent-list",children:u.map(t=>{const r=B(t,i.relationships,h),d=D(t,i.tasks);return s.jsxs("div",{className:"s-observed-topology-agent",children:[s.jsxs("div",{className:"s-observed-topology-agent-main",children:[s.jsx("span",{className:`s-observed-topology-agent-role s-observed-topology-agent-role--${t.role??"observed"}`,children:t.role??"observed"}),s.jsx("span",{className:"s-observed-topology-agent-name",children:C(t)}),s.jsx("span",{className:"s-observed-topology-agent-status",children:P(t)})]}),(r.length>0||d?.title)&&s.jsxs("div",{className:"s-observed-topology-agent-detail",children:[r.length>0&&s.jsxs("span",{children:["spawned by ",r.join(", ")]}),d?.title&&s.jsx("span",{children:d.title})]})]},t.id)})}),p.length===0&&k.length>0&&s.jsx("div",{className:"s-observed-topology-task-list",children:k.map(t=>s.jsxs("div",{className:"s-observed-topology-task",children:[s.jsx("span",{children:t.state??"task"}),s.jsx("strong",{children:t.title??t.id.replace(/^.*:/,"")})]},t.id))})]})}export{Q as O};