@openscout/scout 0.2.80 → 0.2.83

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 (358) hide show
  1. package/README.md +1 -1
  2. package/bin/scoutd +0 -0
  3. package/dist/build-manifest.json +4 -4
  4. package/dist/client/assets/ActivityScreen-aewI4Ul1.js +1 -0
  5. package/dist/client/assets/{AddProjectForm-CtEiLQnm.js → AddProjectForm-Czb5uwou.js} +1 -1
  6. package/dist/client/assets/{AgentAvatar-CszU5eaU.js → AgentAvatar-DMov24_o.js} +1 -1
  7. package/dist/client/assets/AgentConfigurationScreen-BjG6ECjl.js +1 -0
  8. package/dist/client/assets/AgentDefinitionsWorkspace-D4MbSMXp.js +1 -0
  9. package/dist/client/assets/{AgentDetailCard-sZuHl1de.js → AgentDetailCard-Biq8b2gv.js} +1 -1
  10. package/dist/client/assets/AgentFloorView-h9KDJdw0.js +1 -0
  11. package/dist/client/assets/AgentInfoScreen-SjhK_SBh.js +1 -0
  12. package/dist/client/assets/{AgentLaneCard-nB68f2CI.js → AgentLaneCard-C4DMQR-c.js} +1 -1
  13. package/dist/client/assets/{AgentLaneChrome-O9Yf0uR-.js → AgentLaneChrome-D1xNNf7A.js} +1 -1
  14. package/dist/client/assets/{AgentLaneDetailSheet-BfhpaEQ3.js → AgentLaneDetailSheet-DnAKe4e3.js} +1 -1
  15. package/dist/client/assets/{AgentLaneSummaryResize-Ct3b0TQR.js → AgentLaneSummaryResize-C9loK-st.js} +1 -1
  16. package/dist/client/assets/AgentLanesEmbedScreen-BNOYF16R.js +1 -0
  17. package/dist/client/assets/{AgentLanesPreflight-DNGvZvjd.js → AgentLanesPreflight-M7iDXdP2.js} +1 -1
  18. package/dist/client/assets/{AgentLanesView-DqRK5-d2.js → AgentLanesView-Ct-Gz5WD.js} +1 -1
  19. package/dist/client/assets/{AgentLiveActions-DI4ooSHW.js → AgentLiveActions-0iy8QZ1T.js} +1 -1
  20. package/dist/client/assets/{AgentSessions-BxWIPkWh.js → AgentSessions-CDfSfNiE.js} +2 -2
  21. package/dist/client/assets/{AgentsConsole-D6VHSCfZ.js → AgentsConsole-BVxhBqRa.js} +1 -1
  22. package/dist/client/assets/AgentsScreen-Bww6HgFs.js +1 -0
  23. package/dist/client/assets/AgentsSubnav-CiIuzxnZ.js +1 -0
  24. package/dist/client/assets/{AtopView-VZkk40v0.js → AtopView-h_aFoNkP.js} +1 -1
  25. package/dist/client/assets/BackToPicker-BXp5E2ck.js +1 -0
  26. package/dist/client/assets/{BriefingDetailScreen-BZU4qMwE.js → BriefingDetailScreen-C83o2YfN.js} +1 -1
  27. package/dist/client/assets/{BriefingsScreen-Bfc3tqPp.js → BriefingsScreen-BTsvr5fv.js} +1 -1
  28. package/dist/client/assets/{BrokerMetadataPanel-CaFe6kdh.js → BrokerMetadataPanel-jg7odHQp.js} +1 -1
  29. package/dist/client/assets/BrokerScreen-DplF8d_X.js +5 -0
  30. package/dist/client/assets/Canvas-BePL08RR.js +1 -0
  31. package/dist/client/assets/{ChatCollapsedStrip-Cov54p9V.js → ChatCollapsedStrip-BRljIymi.js} +1 -1
  32. package/dist/client/assets/{CodeDiffPane-C1ebFt-Y.js → CodeDiffPane-86odpBSt.js} +1 -1
  33. package/dist/client/assets/{CodeProjectPicker-tsCly-f3.js → CodeProjectPicker-8svr_S_A.js} +1 -1
  34. package/dist/client/assets/{CodeScreen-D0hpZNLP.js → CodeScreen-CJ2RgB32.js} +1 -1
  35. package/dist/client/assets/{ContextMenu-N-Z6X0Z1.js → ContextMenu-CxkmFQcN.js} +1 -1
  36. package/dist/client/assets/{ConversationComposer-CiEF7dhd.js → ConversationComposer-CWohCCmn.js} +1 -1
  37. package/dist/client/assets/ConversationFeedRows-IWh0JSIL.js +1 -0
  38. package/dist/client/assets/{ConversationHeader-BGgbITvr.js → ConversationHeader-BxTzXl8e.js} +1 -1
  39. package/dist/client/assets/ConversationPanels-D9UCwNkS.js +2 -0
  40. package/dist/client/assets/ConversationScreen-oZSitVtX.js +1 -0
  41. package/dist/client/assets/{ConversationStatus-COEj5loj.js → ConversationStatus-B6pAbo2w.js} +1 -1
  42. package/dist/client/assets/{DataTable-BoofV-_4.js → DataTable-CGw5CECG.js} +1 -1
  43. package/dist/client/assets/{DispatchAftermath-OXYlMbT1.js → DispatchAftermath-DowTb7uO.js} +1 -1
  44. package/dist/client/assets/{DocumentFocusViewer-BCG2kOmd.js → DocumentFocusViewer-DRKjNG9s.js} +1 -1
  45. package/dist/client/assets/{EmbeddableSurfacesLab-C2SZvrHJ.js → EmbeddableSurfacesLab-CxfJXS2g.js} +1 -1
  46. package/dist/client/assets/{EmptyState-DypEjx0V.js → EmptyState-BUvllvA6.js} +1 -1
  47. package/dist/client/assets/{FileViewerPane-CXCq-oKj.js → FileViewerPane-BM4AD_bo.js} +1 -1
  48. package/dist/client/assets/{FleetSearch-Dj7-CfNi.js → FleetSearch-CYeWn85V.js} +1 -1
  49. package/dist/client/assets/FlightObserveScreen-DYJJ3Z2B.js +1 -0
  50. package/dist/client/assets/{FollowScreen-DRgYuAvp.js → FollowScreen-DG0osbUp.js} +1 -1
  51. package/dist/client/assets/{HarnessMark-BE-YSyci.js → HarnessMark-MztYnrGK.js} +1 -1
  52. package/dist/client/assets/HarnessesScreen-BWqirBjK.js +1 -0
  53. package/dist/client/assets/{HerdrSession-DKFCJMst.js → HerdrSession-6sFln7WX.js} +1 -1
  54. package/dist/client/assets/{HomeHero-CAEg8Yg5.js → HomeHero-BPBArHXa.js} +1 -1
  55. package/dist/client/assets/{KnowledgeSearchInspector-C2EZsQ5i.js → KnowledgeSearchInspector-BOIhFWd2.js} +1 -1
  56. package/dist/client/assets/KnowledgeSearchScreen-BP8tD-Bh.js +1 -0
  57. package/dist/client/assets/{LaneToolHoverCard-DrPXYZvQ.js → LaneToolHoverCard-CcEiQC6B.js} +1 -1
  58. package/dist/client/assets/LaneTraceDetailSheet-B4i1Ut4R.js +1 -0
  59. package/dist/client/assets/{LaneTraceEventFocus-X4-DDFEo.js → LaneTraceEventFocus-Bl9L0EYb.js} +1 -1
  60. package/dist/client/assets/{MeshCanvas-rtCBD7s6.js → MeshCanvas-ZjIuMiRo.js} +1 -1
  61. package/dist/client/assets/{MeshCanvasMinimap-CuvXOkc7.js → MeshCanvasMinimap-C-LQtiX6.js} +1 -1
  62. package/dist/client/assets/MeshScreen-Bs3soujg.js +1 -0
  63. package/dist/client/assets/{MeshTopologyView-CeTShs-U.js → MeshTopologyView-C0LUyT3K.js} +2 -2
  64. package/dist/client/assets/{MessageComposerSuggestions-Cs9u-F_3.js → MessageComposerSuggestions-Dfc3PH2y.js} +1 -1
  65. package/dist/client/assets/MessagesScreen-TgSL5KMc.js +1 -0
  66. package/dist/client/assets/{MissionContextRail-0O-Zu1Tn.js → MissionContextRail-CjGAEGu8.js} +1 -1
  67. package/dist/client/assets/MissionControlView-D629w2A8.js +1 -0
  68. package/dist/client/assets/{MissionFocusOverlay-LnjmqBiW.js → MissionFocusOverlay-Bubrr8Gc.js} +1 -1
  69. package/dist/client/assets/{MissionLeftAgentRow-nc1Jyq3D.js → MissionLeftAgentRow-DokImu4Y.js} +1 -1
  70. package/dist/client/assets/{MissionLogPane-lZ9vUftY.js → MissionLogPane-Cs0LuIkn.js} +1 -1
  71. package/dist/client/assets/{NewAgentModal-K1cvdmZr.js → NewAgentModal-D5e0YUAo.js} +1 -1
  72. package/dist/client/assets/{NewChatComposer-DXDxV2Mh.js → NewChatComposer-S08F6_La.js} +1 -1
  73. package/dist/client/assets/{NewChatOrigin-CnjoswTG.js → NewChatOrigin-BEz6jyqf.js} +1 -1
  74. package/dist/client/assets/{ObserveEmbedScreen-CRpzYf0Y.js → ObserveEmbedScreen-CHx2sEAA.js} +2 -2
  75. package/dist/client/assets/ObserveTextFlow-_ApDwRCO.js +2 -0
  76. package/dist/client/assets/{ObservedTopologyPanel-C1AQM0Mq.js → ObservedTopologyPanel-ByW7Ar7p.js} +1 -1
  77. package/dist/client/assets/OpenScoutAppShell-DTmnbG-h.js +88 -0
  78. package/dist/client/assets/OpsAgentsView-DiFuHcJs.js +1 -0
  79. package/dist/client/assets/OpsScreen-CCR3U_9P.js +1 -0
  80. package/dist/client/assets/OpsSubnav-CZs_OL2N.js +1 -0
  81. package/dist/client/assets/{PlanView-DDXdC19M.js → PlanView-C54eAzig.js} +1 -1
  82. package/dist/client/assets/ProjectAgentProfile-BEfYOaxc.js +1 -0
  83. package/dist/client/assets/{ProjectAgentProfileBar-MODhG0P6.js → ProjectAgentProfileBar-B1VpwzGD.js} +1 -1
  84. package/dist/client/assets/{ProjectAgentProfileHero-C1ImgGDu.js → ProjectAgentProfileHero-B4f_AoCr.js} +1 -1
  85. package/dist/client/assets/ProjectsInbox-DoPZ17FC.js +2 -0
  86. package/dist/client/assets/{ProjectsRail-B1zrQLZe.js → ProjectsRail-CWOkZjsY.js} +1 -1
  87. package/dist/client/assets/ProjectsScreen-Dse0Q6p6.js +1 -0
  88. package/dist/client/assets/ProjectsThreadAside-DMnfyPLE.js +1 -0
  89. package/dist/client/assets/Provider-DKZWuzSR.js +1 -0
  90. package/dist/client/assets/{RailRow-DerXOXQS.js → RailRow-DIGd3MMM.js} +1 -1
  91. package/dist/client/assets/RawSessionsTable-Zkl4YDvz.js +1 -0
  92. package/dist/client/assets/RealtimeVoiceScreen-B_PMJxY_.js +1 -0
  93. package/dist/client/assets/{RepoDiffEmbedScreen-C9oLCcZX.js → RepoDiffEmbedScreen-VLg4caej.js} +1 -1
  94. package/dist/client/assets/{RepoDiffPageScreen-CGEMAv2Z.js → RepoDiffPageScreen-BelnvgnP.js} +1 -1
  95. package/dist/client/assets/{RepoDiffViewer-CB8PSVey.js → RepoDiffViewer-VrUJw33u.js} +1 -1
  96. package/dist/client/assets/RepoDiffViewerLazy-BPg_JkYW.js +2 -0
  97. package/dist/client/assets/{ReposScreen-BN1lVjOj.js → ReposScreen-IINK-CFn.js} +2 -2
  98. package/dist/client/assets/ScoutDeckSurface-MbwGp6Ab.js +1 -0
  99. package/dist/client/assets/{ScoutSurface-BEnDlynn.js → ScoutSurface-x_QbcRyk.js} +1 -1
  100. package/dist/client/assets/ScoutbotBroadcastChip-DAKQKB25.js +2 -0
  101. package/dist/client/assets/{ScoutbotFxLab-fAROyIfz.js → ScoutbotFxLab-7t9JVvZg.js} +1 -1
  102. package/dist/client/assets/{ScoutbotRealtimeVoiceCall-CDyFJX8m.js → ScoutbotRealtimeVoiceCall-Br4bYVAx.js} +1 -1
  103. package/dist/client/assets/{SecondaryNav-Hv5AJ3Fv.js → SecondaryNav-Dj30epYF.js} +1 -1
  104. package/dist/client/assets/{SessionEmbedScreen-CDRpQc3g.js → SessionEmbedScreen-s2mJ5Fg9.js} +1 -1
  105. package/dist/client/assets/{SessionObserve-BmmJ8dEh.js → SessionObserve-DaUrJCMq.js} +1 -1
  106. package/dist/client/assets/{SessionObserveEvidence-CEedIk2a.js → SessionObserveEvidence-ClUW8jpV.js} +1 -1
  107. package/dist/client/assets/SessionRefScreen-DLZNFZFK.js +1 -0
  108. package/dist/client/assets/SessionsScreen-D-hN1n4k.js +1 -0
  109. package/dist/client/assets/{SettingsDrawer-DL-SVLdd.js → SettingsDrawer-BFsnww-k.js} +3 -3
  110. package/dist/client/assets/SettingsScreen-Bc3Xtv5V.js +1 -0
  111. package/dist/client/assets/{ShikiPane-B7O4if20.js → ShikiPane-Dkwyx--r.js} +1 -1
  112. package/dist/client/assets/{SlidePanel-B3gc5HnM.js → SlidePanel-CuTeirnk.js} +1 -1
  113. package/dist/client/assets/{SpriteAvatar-BpQDpOkq.js → SpriteAvatar-DQ3PTb8L.js} +1 -1
  114. package/dist/client/assets/{StatusPill-B33sQinT.js → StatusPill-BJ1ierIR.js} +1 -1
  115. package/dist/client/assets/{TailView-DL3YZkzE.js → TailView-CufWcrvf.js} +2 -2
  116. package/dist/client/assets/Terminal-D_OmdFmr.js +1 -0
  117. package/dist/client/assets/TerminalEmbedScreen-D21ytNXW.js +1 -0
  118. package/dist/client/assets/TerminalRelay-rvUzI9Ek.js +46 -0
  119. package/dist/client/assets/{TextDocumentSurface-DRjctOIt.js → TextDocumentSurface-Bc-kHPgG.js} +1 -1
  120. package/dist/client/assets/{TmuxPeek-DNC4uWky.js → TmuxPeek-DLyDkq_D.js} +1 -1
  121. package/dist/client/assets/{VoicePermissionsPanel-WLN0V-Xv.js → VoicePermissionsPanel-CD903y9K.js} +1 -1
  122. package/dist/client/assets/{WorkDetailScreen-D2Yl0mYZ.js → WorkDetailScreen-D51oI0dH.js} +2 -2
  123. package/dist/client/assets/{WorkFilesViewer-BbVfcUN-.js → WorkFilesViewer-BDMNbxE4.js} +1 -1
  124. package/dist/client/assets/{activity-BxwKkT8z.js → activity-BvGruxWG.js} +1 -1
  125. package/dist/client/assets/{addon-fit-B9O2vJoh.js → addon-fit-Cfq4Ayjd.js} +1 -1
  126. package/dist/client/assets/{addon-webgl-BhRZFDcn.js → addon-webgl-B8sIf9-s.js} +1 -1
  127. package/dist/client/assets/{agent-essentials-SrzMYEXV.js → agent-essentials-yb4wIJlX.js} +1 -1
  128. package/dist/client/assets/{agent-lane-card-model-DSWdGu-v.js → agent-lane-card-model-q4cwzLX4.js} +1 -1
  129. package/dist/client/assets/{agent-lanes-model-CPgQRenB.js → agent-lanes-model-VYQ5a68i.js} +1 -1
  130. package/dist/client/assets/{arc.es-NlJw-19N.js → arc.es-BBTfhvLE.js} +1 -1
  131. package/dist/client/assets/{arrow-left-_vS7itsV.js → arrow-left-BOht-YQu.js} +1 -1
  132. package/dist/client/assets/{arrow-up-right-CcrWONpD.js → arrow-up-right-hoR8_oUz.js} +1 -1
  133. package/dist/client/assets/{bot-BRINYlC6.js → bot-BUK7dOPS.js} +1 -1
  134. package/dist/client/assets/{check-COxArFXG.js → check--esHw52j.js} +1 -1
  135. package/dist/client/assets/{chevron-down-DRCbnzyY.js → chevron-down-NAhBUkFd.js} +1 -1
  136. package/dist/client/assets/{chevron-right-CNE6QAVr.js → chevron-right-C10o7t_X.js} +1 -1
  137. package/dist/client/assets/{chunk-HRAB3GC3-CAeEKaf5.js → chunk-HRAB3GC3-DF8R9rPv.js} +1 -1
  138. package/dist/client/assets/{clock-CyfvRmj6.js → clock-of01sAB6.js} +1 -1
  139. package/dist/client/assets/{code-xml--LjSM4Mv.js → code-xml-CLn3TDWF.js} +1 -1
  140. package/dist/client/assets/content-B-SUUhXj.js +1 -0
  141. package/dist/client/assets/content-BRY2vo1_.js +1 -0
  142. package/dist/client/assets/content-BTm0mVyD.js +1 -0
  143. package/dist/client/assets/content-BTqvyb5E.js +1 -0
  144. package/dist/client/assets/content-BjDaXmSD.js +1 -0
  145. package/dist/client/assets/content-BrR6deGh.js +1 -0
  146. package/dist/client/assets/content-C5yvBEMy.js +1 -0
  147. package/dist/client/assets/content-Cgj5AWqT.js +1 -0
  148. package/dist/client/assets/content-CkhG__-v.js +1 -0
  149. package/dist/client/assets/content-CudIBsiP.js +1 -0
  150. package/dist/client/assets/content-DBb7ppd5.js +1 -0
  151. package/dist/client/assets/content-DEw_kGyK.js +1 -0
  152. package/dist/client/assets/content-DIy0DCzK.js +1 -0
  153. package/dist/client/assets/content-THl9hRAo.js +1 -0
  154. package/dist/client/assets/content-vi9FbmV9.js +1 -0
  155. package/dist/client/assets/content-wcgPMGVf.js +1 -0
  156. package/dist/client/assets/{conversation-icons-c-hXv7hY.js → conversation-icons-ClBJi21l.js} +1 -1
  157. package/dist/client/assets/conversation-motion-features-zU0k3Agz.js +1 -0
  158. package/dist/client/assets/{copy-4LfKIdQJ.js → copy-Dty8ZYsM.js} +1 -1
  159. package/dist/client/assets/{createLucideIcon-ClCdc3F9.js → createLucideIcon-Bt67PWH-.js} +1 -1
  160. package/dist/client/assets/discover-NDAqNvKt.js +2 -0
  161. package/dist/client/assets/embed-entry-BVR09F6e.js +2 -0
  162. package/dist/client/assets/{external-link-CnaI1QFS.js → external-link-Dem738OJ.js} +1 -1
  163. package/dist/client/assets/{eye-BFlhMzQL.js → eye-B3lBIwJZ.js} +1 -1
  164. package/dist/client/assets/{file-text-DG-pufl1.js → file-text-iF0hyVyU.js} +1 -1
  165. package/dist/client/assets/{home-moving-signal-aNJusIzL.js → home-moving-signal-C8dTXieA.js} +1 -1
  166. package/dist/client/assets/{home-now-card-BQK4EFHx.js → home-now-card-BgvVcE83.js} +1 -1
  167. package/dist/client/assets/{home-now-card-nano-CdtzqSIF.js → home-now-card-nano-hZl9klbP.js} +1 -1
  168. package/dist/client/assets/hooks-DBIezYS2.js +2 -0
  169. package/dist/client/assets/index-BMwKgdz_.js +1 -0
  170. package/dist/client/assets/index-Bu-fckyR.css +1 -0
  171. package/dist/client/assets/index-BxoufAPA.js +1 -0
  172. package/dist/client/assets/index-Cj7NnSxI.js +1 -0
  173. package/dist/client/assets/{index-CzVeWScw.js → index-o4FKpU7Z.js} +2 -2
  174. package/dist/client/assets/{inspector-panel-DgOM8nCo.js → inspector-panel-Dy2cVTCi.js} +2 -2
  175. package/dist/client/assets/{keyboard-nav-BJnFoFDP.js → keyboard-nav-Chf51dns.js} +1 -1
  176. package/dist/client/assets/{lane-roster-store-pR4ZaYQm.js → lane-roster-store-BiIVlYmG.js} +1 -1
  177. package/dist/client/assets/left-BC7p5QbT.js +1 -0
  178. package/dist/client/assets/left-BCSGqccQ.js +1 -0
  179. package/dist/client/assets/left-BSyj8PuJ.js +2 -0
  180. package/dist/client/assets/left-DDnxNUxd.js +1 -0
  181. package/dist/client/assets/left-DLoDKxT5.js +2 -0
  182. package/dist/client/assets/left-O-TBH7JB.js +1 -0
  183. package/dist/client/assets/left-agents-Dk9Y89lb.js +1 -0
  184. package/dist/client/assets/left-default-B3JBRQNJ.js +1 -0
  185. package/dist/client/assets/left-lanes-30Oe_3RM.js +1 -0
  186. package/dist/client/assets/left-mission-DEl4-7xu.js +1 -0
  187. package/dist/client/assets/left-plan-B4qdm4Gn.js +2 -0
  188. package/dist/client/assets/left-rvUOB14X.js +1 -0
  189. package/dist/client/assets/library-DDKSLFJ_.js +1 -0
  190. package/dist/client/assets/{loader-circle-Byb9kSFx.js → loader-circle-4LDsy4Ke.js} +1 -1
  191. package/dist/client/assets/{local-agents-DBaUbP-_.js → local-agents-DIi2EacM.js} +1 -1
  192. package/dist/client/assets/{mentions-fbQJ2mBI.js → mentions-CvDaviLJ.js} +1 -1
  193. package/dist/client/assets/{mesh-ops-Cnw3vwAu.js → mesh-ops-JZwGuAPn.js} +1 -1
  194. package/dist/client/assets/{mesh-view-store-Btlyc7rW.js → mesh-view-store-Du7VqIT_.js} +1 -1
  195. package/dist/client/assets/{message-circle-aGOfQWm2.js → message-circle-BM3XgevU.js} +1 -1
  196. package/dist/client/assets/{message-markup-mGF07emJ.js → message-markup-BcY1lShv.js} +1 -1
  197. package/dist/client/assets/{message-square-CIXda-Y7.js → message-square-ER1_q2pe.js} +1 -1
  198. package/dist/client/assets/{mission-control-store-CcoNeQHG.js → mission-control-store-C6w5iVfg.js} +1 -1
  199. package/dist/client/assets/{observe-BNFzh-7B.js → observe-3-jn4SXb.js} +1 -1
  200. package/dist/client/assets/{page-status-DDvNdA8s.js → page-status-0LPfBC8S.js} +1 -1
  201. package/dist/client/assets/{plus-CmFQp9Uj.js → plus-C-2gTcPK.js} +1 -1
  202. package/dist/client/assets/profile-DW80Gn5k.js +1 -0
  203. package/dist/client/assets/{projects-inbox-Diddml6e.js → projects-inbox-DCeD3FfV.js} +1 -1
  204. package/dist/client/assets/provider-BvAxRQfE.js +1 -0
  205. package/dist/client/assets/{radio-PauJIekM.js → radio-v7UAMZGh.js} +1 -1
  206. package/dist/client/assets/{refresh-cw-4oeFn1Jn.js → refresh-cw-B5To7b6B.js} +1 -1
  207. package/dist/client/assets/resolve-panes-BDi9Qx4R.js +1 -0
  208. package/dist/client/assets/resolve-sidebar-context-HE-5eZYa.js +1 -0
  209. package/dist/client/assets/right-BDf_yTv6.js +1 -0
  210. package/dist/client/assets/{right-BcFnuse9.js → right-BvoGOUKH.js} +1 -1
  211. package/dist/client/assets/right-C-bgjYg-.js +1 -0
  212. package/dist/client/assets/right-C3JdEfYQ.js +1 -0
  213. package/dist/client/assets/right-CYIs2tEe.js +1 -0
  214. package/dist/client/assets/right-CyRCv6Up.js +1 -0
  215. package/dist/client/assets/right-DBYGtoRv.js +1 -0
  216. package/dist/client/assets/right-o3LHMiKa.js +1 -0
  217. package/dist/client/assets/right-oPrcx9MX.js +1 -0
  218. package/dist/client/assets/right-sSvBUK-j.js +1 -0
  219. package/dist/client/assets/{rocket-C-AskjZH.js → rocket-BQQQv2L5.js} +1 -1
  220. package/dist/client/assets/router-C65cZYPn.js +1 -0
  221. package/dist/client/assets/{runtime-picker-BCQD7d4K.js → runtime-picker-eDEvx2Mz.js} +1 -1
  222. package/dist/client/assets/{scope-views-BhkbIFPY.js → scope-views-BOOmgmwx.js} +1 -1
  223. package/dist/client/assets/{scout-voice-S5_YZ2v8.js → scout-voice-B7kXlkcl.js} +1 -1
  224. package/dist/client/assets/{scroll-text-BV-BB7v-.js → scroll-text-BuneRiAD.js} +1 -1
  225. package/dist/client/assets/{search-C3bSJluv.js → search-7_n7CxWl.js} +1 -1
  226. package/dist/client/assets/{secondaryNavConfig-Bg4Tc0gT.js → secondaryNavConfig-CSFDCQAf.js} +1 -1
  227. package/dist/client/assets/{selection-bridge-B1dmkX3P.js → selection-bridge-SlGsgHw2.js} +1 -1
  228. package/dist/client/assets/{send-horizontal-CqogPmbY.js → send-horizontal-DP16OOIW.js} +1 -1
  229. package/dist/client/assets/{server-Brw5Y1Gh.js → server-pYOMFjrT.js} +1 -1
  230. package/dist/client/assets/{session-catalog-9FqXmjBw.js → session-catalog-_QfQ7fhZ.js} +1 -1
  231. package/dist/client/assets/{session-table-1xdSxSXq.js → session-table-CYN8e4s3.js} +1 -1
  232. package/dist/client/assets/{sliders-horizontal-CUiOH26y.js → sliders-horizontal-D2Z8gz6J.js} +1 -1
  233. package/dist/client/assets/{sparkles-BjCA3Evu.js → sparkles-Bth2iK7t.js} +1 -1
  234. package/dist/client/assets/{sse-QcU9bikk.js → sse-CL6gctHY.js} +1 -1
  235. package/dist/client/assets/{tail-events-C6K7bCWB.js → tail-events-NLIWLq27.js} +1 -1
  236. package/dist/client/assets/{terminal-DrTkVXIj.js → terminal-By1Lw2i2.js} +1 -1
  237. package/dist/client/assets/{terminal-relay-BkXjjSkq.js → terminal-relay-CjkI5aUy.js} +1 -1
  238. package/dist/client/assets/{terminal-sessions-C3qU8tnY.js → terminal-sessions-AmSgHklm.js} +1 -1
  239. package/dist/client/assets/{terminal-takeover-KvmTwABa.js → terminal-takeover-7AvNpnkC.js} +1 -1
  240. package/dist/client/assets/{use-conversation-list-C5sF6WBR.js → use-conversation-list-BCzY032j.js} +1 -1
  241. package/dist/client/assets/{use-fleet-active-asks-BOMPW0nl.js → use-fleet-active-asks-CJ6-oj5k.js} +1 -1
  242. package/dist/client/assets/{use-mesh-ops-items-Co05vcTV.js → use-mesh-ops-items-D5L-CKe_.js} +1 -1
  243. package/dist/client/assets/use-reduced-motion-CqXpVXv-.js +1 -0
  244. package/dist/client/assets/use-scout-dev-flags-BohC8seq.js +1 -0
  245. package/dist/client/assets/{useAgentHoverCard-FtCmY-b9.js → useAgentHoverCard-RsLUYyeh.js} +1 -1
  246. package/dist/client/assets/useContentSecondaryNav-DOr5yHbT.js +1 -0
  247. package/dist/client/assets/usePersistentState-D3M4m2Ou.js +1 -0
  248. package/dist/client/assets/{usePierreRuntime-Bo4lD7Ui.js → usePierreRuntime-B4hbNWTz.js} +1 -1
  249. package/dist/client/assets/{wrench-CeCdjiPF.js → wrench-M4G7WtYB.js} +1 -1
  250. package/dist/client/assets/{x-D4X_y1j_.js → x-ynOfVadO.js} +1 -1
  251. package/dist/client/assets/{xterm-D2a5wrkJ.js → xterm-DZHyijPp.js} +1 -1
  252. package/dist/client/index.html +2 -2
  253. package/dist/main.mjs +41 -26
  254. package/dist/node/main.mjs +19 -5
  255. package/dist/pairing-runtime-controller.mjs +2 -2
  256. package/dist/runtime/broker-daemon.mjs +2 -2
  257. package/dist/scout-control-plane-web.mjs +21 -7
  258. package/dist/scout-web-server.mjs +21 -7
  259. package/package.json +4 -4
  260. package/dist/client/assets/ActivityScreen-BXm6nJ6L.js +0 -1
  261. package/dist/client/assets/AgentConfigurationScreen-CfBXxrsD.js +0 -1
  262. package/dist/client/assets/AgentDefinitionsWorkspace-4Z0aN8AR.js +0 -1
  263. package/dist/client/assets/AgentFloorView-DMivAYHU.js +0 -1
  264. package/dist/client/assets/AgentInfoScreen-CPkLg1pK.js +0 -1
  265. package/dist/client/assets/AgentLanesEmbedScreen-CjHMvy3v.js +0 -1
  266. package/dist/client/assets/AgentsScreen-zR6b2bUL.js +0 -1
  267. package/dist/client/assets/AgentsSubnav-q0xcZi6C.js +0 -1
  268. package/dist/client/assets/BackToPicker-DZg_4nHL.js +0 -1
  269. package/dist/client/assets/BrokerScreen-Chh8sGen.js +0 -5
  270. package/dist/client/assets/ConversationFeedRows-5it6QNBV.js +0 -1
  271. package/dist/client/assets/ConversationPanels-vI9YuQJh.js +0 -2
  272. package/dist/client/assets/ConversationScreen-C-PrCRz1.js +0 -1
  273. package/dist/client/assets/FlightObserveScreen-Yq5NtQQJ.js +0 -1
  274. package/dist/client/assets/HarnessesScreen-L-emPcXd.js +0 -1
  275. package/dist/client/assets/KnowledgeSearchScreen-DvdOFh-b.js +0 -1
  276. package/dist/client/assets/LaneTraceDetailSheet-Dl7foF88.js +0 -1
  277. package/dist/client/assets/MeshScreen-D5zzTn0o.js +0 -1
  278. package/dist/client/assets/MessagesScreen-BhOJ7_tj.js +0 -1
  279. package/dist/client/assets/MissionControlView-D2JO9u-y.js +0 -1
  280. package/dist/client/assets/ObserveTextFlow-DJxQc2H6.js +0 -2
  281. package/dist/client/assets/OpenScoutAppShell-DrHYD_pd.js +0 -87
  282. package/dist/client/assets/OpsAgentsView-BnMX0vEY.js +0 -1
  283. package/dist/client/assets/OpsScreen-BeC0lieE.js +0 -1
  284. package/dist/client/assets/OpsSubnav-D5Bpowtk.js +0 -1
  285. package/dist/client/assets/ProjectAgentProfile-zE1cApxw.js +0 -1
  286. package/dist/client/assets/ProjectsInbox-C3Jd6JTk.js +0 -2
  287. package/dist/client/assets/ProjectsScreen-PW_NH5VK.js +0 -1
  288. package/dist/client/assets/ProjectsThreadAside-DaCEUWN1.js +0 -1
  289. package/dist/client/assets/Provider-DSsb2gLR.js +0 -1
  290. package/dist/client/assets/RawSessionsTable-LWEvXJzj.js +0 -1
  291. package/dist/client/assets/RealtimeVoiceScreen-XtxbCjOs.js +0 -1
  292. package/dist/client/assets/RepoDiffViewerLazy-DIxkiMto.js +0 -2
  293. package/dist/client/assets/ScoutDeckSurface-BCpl0QCx.js +0 -1
  294. package/dist/client/assets/ScoutbotBroadcastChip-z9R_pC_U.js +0 -2
  295. package/dist/client/assets/SessionRefScreen-Dk-O4OVt.js +0 -1
  296. package/dist/client/assets/SessionsScreen-BJEjuo2X.js +0 -1
  297. package/dist/client/assets/SettingsScreen-DJ-BhBwR.js +0 -1
  298. package/dist/client/assets/Terminal-Dp1FSGIS.js +0 -1
  299. package/dist/client/assets/TerminalEmbedScreen-DP9IM4xf.js +0 -1
  300. package/dist/client/assets/arrow-down-D3-IbArq.js +0 -1
  301. package/dist/client/assets/chunk-JTPDIGGW-s6WbxdjC.js +0 -46
  302. package/dist/client/assets/chunk-T65CQEWV-CiZ_ICHW.js +0 -1
  303. package/dist/client/assets/chunk-YOZR3KYS-DLOc92uD.js +0 -2
  304. package/dist/client/assets/content-7ZeCPAEt.js +0 -1
  305. package/dist/client/assets/content-BHUcUCH5.js +0 -1
  306. package/dist/client/assets/content-BUhvLPkv.js +0 -1
  307. package/dist/client/assets/content-BomQ5YWo.js +0 -1
  308. package/dist/client/assets/content-C39ELNgC.js +0 -1
  309. package/dist/client/assets/content-C4RYKHut.js +0 -1
  310. package/dist/client/assets/content-CCiZfG4H.js +0 -1
  311. package/dist/client/assets/content-CDpDtVI-.js +0 -1
  312. package/dist/client/assets/content-CO-9CeFd.js +0 -1
  313. package/dist/client/assets/content-CuOLxp1x.js +0 -1
  314. package/dist/client/assets/content-CvtLIjXS.js +0 -1
  315. package/dist/client/assets/content-CzwTUb9n.js +0 -1
  316. package/dist/client/assets/content-DQXbo2RO.js +0 -1
  317. package/dist/client/assets/content-DRTQ9QQb.js +0 -1
  318. package/dist/client/assets/content-LCELs6zg.js +0 -1
  319. package/dist/client/assets/content-qsDjA4Au.js +0 -1
  320. package/dist/client/assets/conversation-motion-features-T8vF9zED.js +0 -1
  321. package/dist/client/assets/discover-7Ks00w-M.js +0 -2
  322. package/dist/client/assets/embed-entry-n2ThmSSX.js +0 -2
  323. package/dist/client/assets/gestures-CxG3Dphs.js +0 -1
  324. package/dist/client/assets/hooks-Dst1TH7n.js +0 -2
  325. package/dist/client/assets/index-9as_JTUs.css +0 -1
  326. package/dist/client/assets/index-CU9dtwJk.js +0 -1
  327. package/dist/client/assets/index-Dewd56RX.js +0 -1
  328. package/dist/client/assets/index-_YQXKEhb.js +0 -1
  329. package/dist/client/assets/left-BhzPp-_E.js +0 -1
  330. package/dist/client/assets/left-CN1MABD0.js +0 -2
  331. package/dist/client/assets/left-DDgbsio7.js +0 -1
  332. package/dist/client/assets/left-Dpf2R9uD.js +0 -1
  333. package/dist/client/assets/left-HwwbMVtl.js +0 -2
  334. package/dist/client/assets/left-YfH0daht.js +0 -1
  335. package/dist/client/assets/left-agents-CYUwAy2Z.js +0 -1
  336. package/dist/client/assets/left-default-vEGZALPv.js +0 -1
  337. package/dist/client/assets/left-lanes-bphF-vlX.js +0 -1
  338. package/dist/client/assets/left-mission-B54-c3hq.js +0 -1
  339. package/dist/client/assets/left-np5USKqG.js +0 -1
  340. package/dist/client/assets/left-plan-BNBuDoPQ.js +0 -2
  341. package/dist/client/assets/library-DbCVJG_O.js +0 -1
  342. package/dist/client/assets/paperclip-DfpJkR4s.js +0 -1
  343. package/dist/client/assets/profile-s3KRbip1.js +0 -1
  344. package/dist/client/assets/resolve-panes-cp6eNewO.js +0 -1
  345. package/dist/client/assets/resolve-sidebar-context-Dbo-5PWx.js +0 -1
  346. package/dist/client/assets/right-09W2JJFg.js +0 -1
  347. package/dist/client/assets/right-B-MKhiJ6.js +0 -1
  348. package/dist/client/assets/right-B91Zl8lQ.js +0 -1
  349. package/dist/client/assets/right-BdtMzn35.js +0 -1
  350. package/dist/client/assets/right-BqmKXLtf.js +0 -1
  351. package/dist/client/assets/right-BzeB-Dpt.js +0 -1
  352. package/dist/client/assets/right-CkGOs-sq.js +0 -1
  353. package/dist/client/assets/right-CzGiNBzB.js +0 -1
  354. package/dist/client/assets/right-Dc7uqv7l.js +0 -1
  355. package/dist/client/assets/router-B-K15T7B.js +0 -1
  356. package/dist/client/assets/use-reduced-motion-Dla-G_Jz.js +0 -1
  357. package/dist/client/assets/use-scout-dev-flags-BOQF3fW2.js +0 -1
  358. package/dist/client/assets/useContentSecondaryNav-BX7Sq7vy.js +0 -1
@@ -1 +1 @@
1
- import{r as n,j as a}from"./index-CzVeWScw.js";import{H as L}from"./HarnessMark-BE-YSyci.js";import{n as k}from"./colors-BtO5_zlx.js";import{s as y}from"./page-status-DDvNdA8s.js";import{c as P,T as I,b as T}from"./tail-display-BRcJltQa.js";import{d as A}from"./time-Dhsh_2EG.js";import{s as C}from"./mission-control-model-C0fByIjm.js";import{m as H,a as E}from"./mission-wall-CocIM1cF.js";import"./lane-edit-display-C_Aujldz.js";const K=24;function O({log:e,selected:u,revealed:f,cursor:t=!1,onOpen:c,onToggleSelected:h,onOpenLog:w,paneRef:x}){const i=n.useRef(null),p=n.useRef(!0),o=n.useMemo(()=>P(e.lines.map(s=>({event:s,meta:void 0}))),[e.lines]),j=n.useCallback(()=>{const s=i.current;if(!s)return;const l=s.scrollHeight-s.scrollTop-s.clientHeight;p.current=l<=K},[]);n.useEffect(()=>{const s=i.current;!s||!p.current||(s.scrollTop=s.scrollHeight)},[o.length,e.lastActiveAt]);const v=k(e.agent?.state??null),r=H(e),N=E(e),m=[e.project,e.agent?.branch].filter(Boolean).join("/")||e.cwd||"—",d=y({label:`Focus ${r}`,route:`/ops/control · ${e.sessionId}`}),b=s=>{if(s.metaKey||s.ctrlKey||s.shiftKey){h();return}c()};return a.jsxs("div",{ref:x,className:["s-wall-pane",e.live?"s-wall-pane--live":null,u?"s-wall-pane--selected":null,f?"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:b,onPointerEnter:d.onPointerEnter,onPointerLeave:d.onPointerLeave,children:[a.jsxs("div",{className:"s-wall-pane-head",children:[a.jsx("span",{className:"s-wall-pane-dot",style:{background:e.agent?C(v):"var(--dim)"},"aria-hidden":!0}),a.jsx(L,{harness:e.source,size:11,title:null}),a.jsx("button",{type:"button",className:"s-wall-pane-title",title:e.agent?.name??e.sessionId,"aria-label":`Focus ${r}`,onClick:s=>{s.stopPropagation(),c()},children:r}),a.jsx("span",{className:"s-wall-pane-where",title:e.cwd??m,children:m}),a.jsx("span",{className:"s-wall-pane-spacer"}),e.live&&a.jsx("span",{className:"s-wall-pane-live",children:"live"}),a.jsx("button",{type:"button",className:"s-wall-pane-file",title:e.logPath??`session ${e.sessionId}`,onClick:s=>{s.stopPropagation(),w()},children:N})]}),a.jsx("div",{className:"s-wall-pane-body",ref:i,onScroll:j,children:o.length===0?a.jsx("div",{className:"s-wall-pane-idle",children:"no output since page load"}):o.map(({event:s,repeatCount:l})=>a.jsxs("div",{className:`s-wall-line s-wall-line--${s.kind}`,children:[a.jsx("span",{className:"s-wall-line-time",children:A(s.ts,{milliseconds:!1})||"—"}),a.jsx("span",{className:"s-wall-line-glyph",title:T[s.kind],children:I[s.kind]}),a.jsxs("span",{className:"s-wall-line-text",children:[s.summary,l>1&&a.jsxs("span",{className:"s-wall-line-repeat",title:`${l} identical events`,children:[" ","×",l]})]})]},s.id))})]})}export{O as MissionLogPane};
1
+ import{r as n,j as a}from"./index-o4FKpU7Z.js";import{H as L}from"./HarnessMark-MztYnrGK.js";import{n as k}from"./colors-BtO5_zlx.js";import{s as y}from"./page-status-0LPfBC8S.js";import{c as P,T as I,b as T}from"./tail-display-BRcJltQa.js";import{d as A}from"./time-Dhsh_2EG.js";import{s as C}from"./mission-control-model-C0fByIjm.js";import{m as H,a as E}from"./mission-wall-CocIM1cF.js";import"./lane-edit-display-C_Aujldz.js";const K=24;function O({log:e,selected:u,revealed:f,cursor:t=!1,onOpen:c,onToggleSelected:h,onOpenLog:w,paneRef:x}){const i=n.useRef(null),p=n.useRef(!0),o=n.useMemo(()=>P(e.lines.map(s=>({event:s,meta:void 0}))),[e.lines]),j=n.useCallback(()=>{const s=i.current;if(!s)return;const l=s.scrollHeight-s.scrollTop-s.clientHeight;p.current=l<=K},[]);n.useEffect(()=>{const s=i.current;!s||!p.current||(s.scrollTop=s.scrollHeight)},[o.length,e.lastActiveAt]);const v=k(e.agent?.state??null),r=H(e),N=E(e),m=[e.project,e.agent?.branch].filter(Boolean).join("/")||e.cwd||"—",d=y({label:`Focus ${r}`,route:`/ops/control · ${e.sessionId}`}),b=s=>{if(s.metaKey||s.ctrlKey||s.shiftKey){h();return}c()};return a.jsxs("div",{ref:x,className:["s-wall-pane",e.live?"s-wall-pane--live":null,u?"s-wall-pane--selected":null,f?"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:b,onPointerEnter:d.onPointerEnter,onPointerLeave:d.onPointerLeave,children:[a.jsxs("div",{className:"s-wall-pane-head",children:[a.jsx("span",{className:"s-wall-pane-dot",style:{background:e.agent?C(v):"var(--dim)"},"aria-hidden":!0}),a.jsx(L,{harness:e.source,size:11,title:null}),a.jsx("button",{type:"button",className:"s-wall-pane-title",title:e.agent?.name??e.sessionId,"aria-label":`Focus ${r}`,onClick:s=>{s.stopPropagation(),c()},children:r}),a.jsx("span",{className:"s-wall-pane-where",title:e.cwd??m,children:m}),a.jsx("span",{className:"s-wall-pane-spacer"}),e.live&&a.jsx("span",{className:"s-wall-pane-live",children:"live"}),a.jsx("button",{type:"button",className:"s-wall-pane-file",title:e.logPath??`session ${e.sessionId}`,onClick:s=>{s.stopPropagation(),w()},children:N})]}),a.jsx("div",{className:"s-wall-pane-body",ref:i,onScroll:j,children:o.length===0?a.jsx("div",{className:"s-wall-pane-idle",children:"no output since page load"}):o.map(({event:s,repeatCount:l})=>a.jsxs("div",{className:`s-wall-line s-wall-line--${s.kind}`,children:[a.jsx("span",{className:"s-wall-line-time",children:A(s.ts,{milliseconds:!1})||"—"}),a.jsx("span",{className:"s-wall-line-glyph",title:T[s.kind],children:I[s.kind]}),a.jsxs("span",{className:"s-wall-line-text",children:[s.summary,l>1&&a.jsxs("span",{className:"s-wall-line-repeat",title:`${l} identical events`,children:[" ","×",l]})]})]},s.id))})]})}export{O as MissionLogPane};
@@ -1 +1 @@
1
- import{r,j as e}from"./index-CzVeWScw.js";import{r as se}from"./index-Dewd56RX.js";import{a as U}from"./api-h5zurxmi.js";import{u as ne}from"./keyboard-nav-BJnFoFDP.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-D4X_y1j_.js";import{R as re}from"./rocket-C-AskjZH.js";import"./createLucideIcon-ClCdc3F9.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-o4FKpU7Z.js";import{r as se}from"./index-BMwKgdz_.js";import{a as U}from"./api-h5zurxmi.js";import{u as ne}from"./keyboard-nav-Chf51dns.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-ynOfVadO.js";import{R as re}from"./rocket-BQQQv2L5.js";import"./createLucideIcon-Bt67PWH-.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{r as c,j as o}from"./index-CzVeWScw.js";import{M as ms}from"./runtime-picker-BCQD7d4K.js";import{i as sn,b as hs,d as rt,M as rn,u as ps}from"./MessageComposerSuggestions-Cs9u-F_3.js";import{r as gs}from"./index-Dewd56RX.js";import{H as on}from"./HarnessMark-BE-YSyci.js";import{c as bs,S as an,F as ws,G as xs}from"./conversation-model-CHwHZNw-.js";import{a as z}from"./api-h5zurxmi.js";import{d as ys}from"./colors-BtO5_zlx.js";import{NewChatOrigin as vs}from"./NewChatOrigin-CnjoswTG.js";import{u as js}from"./keyboard-nav-BJnFoFDP.js";import{n as Cs}from"./model-Co0zkMIc.js";import{X as Ms}from"./x-D4X_y1j_.js";import{C as Ss}from"./chevron-down-DRCbnzyY.js";import{S as Es}from"./search-C3bSJluv.js";import{L as jt}from"./loader-circle-Byb9kSFx.js";import{F as Is}from"./file-text-DG-pufl1.js";const Ns={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:[]}]},Tt=["none","minimal","low","medium","high","xhigh","max","ultra"],Cn={none:"None",minimal:"Minimal",low:"Light",medium:"Medium",high:"High",xhigh:"Extra High",max:"Max",ultra:"Ultra"},W=Ns;function Lt(e,t=W){return t.harnesses.find(s=>s.id===e)}function ks(e=W){return e.harnesses.find(t=>t.enabled&&t.default)?.id??e.harnesses.find(t=>t.enabled)?.id??null}function Mn(e,t=W){const s=Lt(e,t);return s?.models.find(n=>n.enabled&&n.default)?.id??s?.models.find(n=>n.enabled)?.id??null}function Rs(e,t,s=W){const n=Lt(e,s);if(!n||!n.enabled)return null;const a=t?n.models.find(i=>i.enabled&&i.id===t):void 0;return a?.reasoningEfforts===null?null:a?.reasoningEfforts??n.reasoningEfforts}function Sn(e,t,s=W){const n=Lt(e,s),a=t?n?.models.find(y=>y.enabled&&y.id===t):void 0,i=Rs(e,t,s),f=a?.defaultReasoningEffort??n?.defaultReasoningEffort??null;return f&&i?.includes(f)?f:i?.[0]??null}function As(e=W){return Object.fromEntries(e.harnesses.filter(t=>t.enabled).map(t=>{const s=Mn(t.id,e);return[t.id,{model:s,reasoningEffort:Sn(t.id,s,e)}]}))}const Ts=As();Object.fromEntries(W.harnesses.filter(e=>e.enabled).map(e=>{const t=Tt.filter(s=>e.reasoningEfforts?.includes(s)||e.models.some(n=>n.enabled&&n.reasoningEfforts?.includes(s)));return[e.id,t]}));function Ls(e=W){const t=new Map;for(const s of e.harnesses)if(s.enabled)for(const n of s.models){if(!n.enabled)continue;const a=t.get(n.id);if(a){a.harnesses.includes(s.id)||a.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 Ds=Ls(),Ps={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 Os(e=W){return Tt.flatMap(t=>{const s=[],n=[];for(const a of e.harnesses){if(!a.enabled)continue;const i=a.models.filter(b=>b.enabled),f=i.filter(b=>(b.reasoningEfforts??a.reasoningEfforts)?.includes(t)),y=i.length===0&&a.reasoningEfforts?.includes(t);f.length===0&&!y||(s.push(a.id),i.length>0&&f.length<i.length&&n.push(...f.map(b=>b.id)))}return s.length===0?[]:[{id:t,label:Cn[t],description:Ps[t],harnesses:s,...n.length>0?{models:n}:{}}]})}const _s=Os();function $s(e,t){const s=t?.trim();return s?e.find(n=>n.id===s)??null:null}function Fs(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=$s(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}}const G="",Hs={none:"no reasoning",minimal:"lightest",low:"triage",medium:"default",high:"deep",xhigh:"exhaustive",max:"fullest",ultra:"beyond max"},Us=Tt.map(e=>({value:e,label:Cn[e],note:Hs[e]}));function Le(e,t){return e.harnesses.find(s=>s.value===t)}function Dt(e,t){return Le(e,t)?.models??[]}function Se(e,t,s){const n=Le(e,t),a=n?n.efforts===null?null:n.efforts??e.efforts:e.efforts;if(!a||!s)return a;const i=new Set((n?.models??[]).map(f=>f.value));return i.has(s)?a.filter(f=>{if(!f.models||f.models.length===0)return!0;const y=f.models.filter(b=>i.has(b));return y.length===0||y.includes(s)}):a}function En(e,t){const n=Dt(e,t.harness).find(a=>a.value===t.model);return n||(t.model.trim()?{value:t.model,label:t.model,note:"custom"}:{value:G,label:"Default",note:"harness picks"})}function Gs(e,t){const s=Le(e,t.harness),n=s?.label??t.harness??"Default",a=En(e,t),i=Se(e,t.harness,t.model),f=i?.find($=>$.value===t.effort),y=f?.label??t.effort,b=i?`Runtime: ${n}, model ${a.label}, effort ${y}`:`Runtime: ${n}, model ${a.label}`;return{harness:s,harnessLabel:n,model:a,modelLabel:a.label,effort:f,effortLabel:y,supportsEffort:i!==null,summary:b}}function Bs(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 T=Se(e,n.harness,n.model);if(!T||n.effort===G||T.some(V=>V.value===n.effort))return n;const de=(Se(e,t.harness,t.model)??e.efforts).findIndex(V=>V.value===t.effort),J=Math.min(Math.max(de,0),T.length-1);return n.effort=T[J]?.value??T[0]?.value??G,n}const i=Le(e,n.harness);n.model=s.model??i?.defaultModel??G,s.effort===void 0&&i?.defaultEffort&&(n.effort=i.defaultEffort);const f=Se(e,n.harness,n.model);if(!f)return n.effort=G,n;if(f.some(T=>T.value===n.effort))return n;const b=(Se(e,t.harness,t.model)??e.efforts).findIndex(T=>T.value===t.effort),$=Math.min(Math.max(b,0),f.length-1);return n.effort=f[$]?.value??f[0]?.value??G,n}function qs(e,t){const s=t?.harness??e.harnesses.find(i=>!i.disabled)?.value??"",n=Se(e,s),a=n?.find(i=>i.note==="default")?.value??n?.[Math.floor((n.length-1)/2)]?.value??G;return{harness:s,model:t?.model??Le(e,s)?.defaultModel??Dt(e,s)[1]?.value??G,effort:n?t?.effort??Le(e,s)?.defaultEffort??a:G}}function Ks(e,t){const s=t.trim().toLowerCase();return s?e.filter(n=>`${n.label} ${n.value} ${n.note??""}`.toLowerCase().includes(s)):e}function Ge(...e){for(const t of e){const s=t?.trim();if(s)return s}}function In(e){const t=e.harnesses.map(n=>{const a=e.defaultsByHarness?.[n.id],i=n.ready!==!1,f=[{value:G,label:"Default",note:"harness picks"},...e.models.filter(b=>b.harnesses.includes(n.id)).map(b=>({value:b.id,label:b.label,note:Ge(b.description)}))],y=e.efforts.filter(b=>b.harnesses.includes(n.id));return{value:n.id,label:n.label,note:i?Ge(n.description):Ge(n.detail,n.state,"unavailable"),disabled:!i,defaultModel:a?.model??G,defaultEffort:a?.reasoningEffort??G,models:f,efforts:y.length===0?null:y.map(b=>({value:b.id,label:b.label,note:Ge(b.description),...b.models?.length?{models:[...b.models]}:{}}))}}),s=e.efforts.map(n=>({value:n.id,label:n.label,note:Ge(n.description)}));return{harnesses:t,efforts:s.length>0?s:Us}}const zs=6,Ct=34,Mt=460,Ws=14,Js=300,Be=8,St=["harness","model","effort"],Vs={harness:"vertical",model:"vertical",effort:"horizontal"};function Xs(){return o.jsx("svg",{className:"s-rt-chip-chevron",width:"8",height:"5",viewBox:"0 0 8 5",fill:"none","aria-hidden":"true",children:o.jsx("path",{d:"M1 1.2 4 4 7 1.2",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}function Ys({ctx:e}){const{efforts:t,value:s,set:n}=e;if(!t)return null;const a=Math.max(0,t.findIndex(i=>i.value===s.effort));return o.jsx("div",{className:"s-rt-ladder",role:"radiogroup","aria-label":"Reasoning effort",children:t.map((i,f)=>{const y=f===a;return o.jsxs("button",{type:"button",role:"radio","aria-checked":y,title:i.note,onClick:()=>n({effort:i.value}),...e.cell("effort",f),className:"s-rt-step",children:[o.jsx("span",{className:"s-rt-step-bar","data-state":y?"current":f<a?"filled":"empty"}),o.jsx("span",{className:"s-rt-step-label",children:i.label})]},i.value)})})}function Qs({harnessLabel:e}){return o.jsxs("p",{className:"s-rt-effort-absent",children:[e," has no effort control."]})}function Zs({option:e,selected:t,index:s,ctx:n}){const a=e.disabled??!1;return o.jsxs("button",{type:"button",role:"option","aria-selected":t,"aria-disabled":a||void 0,onClick:()=>{a||n.set({model:e.value})},"data-on":t||void 0,"data-disabled":a||void 0,...n.cell("model",s),style:{animationDelay:`${Math.min(s,6)*16}ms`},className:"s-rt-row s-rt-model-row",children:[o.jsx("span",{"aria-hidden":!0,className:"s-rt-dot"}),o.jsx("span",{className:"s-rt-row-label",children:e.label}),e.note?o.jsx("span",{className:"s-rt-note",children:e.note}):null]})}function er({ctx:e}){return o.jsxs("div",{className:"s-rt-search",children:[o.jsxs("svg",{width:"11",height:"11",viewBox:"0 0 12 12","aria-hidden":"true",className:"s-rt-search-icon",children:[o.jsx("circle",{cx:"5",cy:"5",r:"3.4",fill:"none",stroke:"currentColor",strokeWidth:"1.3"}),o.jsx("path",{d:"M7.6 7.6 10.5 10.5",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})]}),o.jsx("input",{ref:e.searchRef,type:"text",value:e.query,onChange:t=>e.setQuery(t.target.value),onKeyDown:e.onSearchKeyDown,placeholder:"Filter models","aria-label":"Filter models",spellCheck:!1,autoComplete:"off",className:"s-rt-search-input"}),e.query?o.jsx("button",{type:"button",onClick:()=>{e.setQuery(""),e.searchRef.current?.focus()},"aria-label":"Clear filter",className:"s-rt-search-clear",children:"clear"}):null]})}function tr({ctx:e}){return e.status==="loading"?o.jsxs("div",{className:"s-rt-status","aria-busy":!0,role:"status",children:[o.jsx("span",{className:"s-rt-sr",children:"Loading models"}),[0,1,2].map(t=>o.jsx("span",{"aria-hidden":!0,className:"s-rt-skel",style:{animationDelay:`${t*90}ms`}},t))]}):e.status==="error"?o.jsxs("div",{role:"alert",className:"s-rt-status s-rt-status--error",children:[o.jsx("span",{className:"s-rt-status-message",children:e.statusMessage??"Model catalog unavailable."}),e.onRetry?o.jsx("button",{type:"button",onClick:e.onRetry,className:"s-rt-retry",children:"Retry"}):null]}):o.jsx("p",{className:"s-rt-empty",children:e.query.trim()?`No model matches “${e.query.trim()}”.`:"No models listed."})}function nr({ctx:e}){return e.status!=="ready"||e.models.length===0?o.jsx(tr,{ctx:e}):o.jsx("div",{role:"listbox","aria-label":"Model",className:"s-rt-models",children:e.models.map((t,s)=>o.jsx(Zs,{option:t,index:s,selected:t.value===e.value.model,ctx:e},t.value||"default"))},e.value.harness)}function ln({value:e,defaultValue:t,onChange:s,catalog:n,status:a="ready",statusMessage:i,onRetry:f,disabled:y=!1,showEffort:b,searchable:$="auto",className:T}){const[v,de]=c.useState(!1),[J,V]=c.useState(""),[ze,We]=c.useState(()=>qs(n,t)),j=e??ze,C=c.useRef(null),ue=c.useRef(null),fe=c.useRef(null),me=c.useRef(null),S=c.useId(),je=c.useCallback(d=>{const h=Bs(n,j,d);e===void 0&&We(h),s?.(h),d.harness!==void 0&&d.harness!==j.harness&&V("")},[n,e,s,j]),L=n.harnesses,De=c.useMemo(()=>Dt(n,j.harness),[n,j.harness]),P=c.useMemo(()=>{const d=En(n,j);return d.note!=="custom"?De:[...De,d]},[De,n,j]),ne=c.useMemo(()=>Ks(P,J),[P,J]),Pe=Se(n,j.harness,j.model),X=b===!1?null:b===!0?Pe??n.efforts:Pe,D=$==="auto"?P.length>zs:$,Y=Gs(n,j),I=c.useRef(new Map),[he,k]=c.useState({group:"model",index:0}),R=c.useMemo(()=>({harness:L.length,model:a==="ready"?ne.length:0,effort:X?.length??0}),[X?.length,L.length,ne.length,a]),se=c.useCallback(d=>d==="harness"?Math.max(0,L.findIndex(h=>h.value===j.harness)):d==="model"?Math.max(0,ne.findIndex(h=>h.value===j.model)):Math.max(0,X?.findIndex(h=>h.value===j.effort)??0),[X,L,ne,j]),N=c.useCallback((d,h)=>{k({group:d,index:h}),I.current.get(`${d}:${h}`)?.focus()},[]),pe=c.useCallback((d,h)=>{const w=St.indexOf(d);for(let g=w+h;g>=0&&g<St.length;g+=h){const A=St[g];if(R[A]>0)return N(A,Math.min(se(A),R[A]-1)),!0}return!1},[R,N,se]),Je=c.useCallback((d,h)=>({ref:w=>{const g=`${d}:${h}`;w?I.current.set(g,w):I.current.delete(g)},tabIndex:he.group===d&&he.index===h?0:-1,onFocus:()=>k({group:d,index:h}),onKeyDown:w=>{const g=Vs[d]==="vertical",A=g?"ArrowDown":"ArrowRight",U=g?"ArrowUp":"ArrowLeft",_e=g?"ArrowRight":"ArrowDown",re=g?"ArrowLeft":"ArrowUp",we=R[d];if(we!==0)if(w.key===A)w.preventDefault(),N(d,(h+1)%we);else if(w.key===U){if(w.preventDefault(),d==="model"&&h===0&&D){k({group:d,index:0}),me.current?.focus();return}N(d,(h-1+we)%we)}else w.key===_e?(w.preventDefault(),pe(d,1)):w.key===re?(w.preventDefault(),pe(d,-1)):w.key==="Home"?(w.preventDefault(),N(d,0)):w.key==="End"&&(w.preventDefault(),N(d,we-1))}}),[R,he,N,pe,D]),ke=c.useCallback(d=>{if(d.key==="ArrowDown"&&R.model>0)d.preventDefault(),N("model",0);else if(d.key==="Enter"&&R.model===1){d.preventDefault();const h=ne[0];h.disabled||je({model:h.value})}else d.key==="Escape"&&J&&(d.preventDefault(),d.stopPropagation(),V(""))},[R.model,N,ne,J,je]),[F,Oe]=c.useState(null),ge=c.useCallback(()=>{const d=ue.current;if(!d)return;const h=d.getBoundingClientRect(),w=h.top,g=window.innerHeight-h.bottom,A=w>=Js||w>=g?"up":"down",U=Math.min(Math.max(Be,h.right-Mt),Math.max(Be,window.innerWidth-Mt-Be));Oe({left:U,top:A==="up"?h.top-Be:h.bottom+Be,placement:A})},[]);c.useLayoutEffect(()=>{if(!v)return;ge();const d=()=>ge();return window.addEventListener("scroll",d,!0),window.addEventListener("resize",d),()=>{window.removeEventListener("scroll",d,!0),window.removeEventListener("resize",d)}},[v,ge]);const E=c.useCallback(d=>{de(!1),d&&ue.current?.focus()},[]);c.useEffect(()=>{if(!v)return;const d=w=>{const g=w.target;C.current?.contains(g)||fe.current?.contains(g)||de(!1)},h=w=>{w.key==="Escape"&&(w.stopPropagation(),E(!0))};return document.addEventListener("pointerdown",d),document.addEventListener("keydown",h),()=>{document.removeEventListener("pointerdown",d),document.removeEventListener("keydown",h)}},[v,E]),c.useEffect(()=>{if(!v)return;const d=R.model>0?"model":"harness",h=Math.min(se(d),Math.max(0,R[d]-1));k({group:d,index:h});const w=requestAnimationFrame(()=>{const g=I.current.get(`${d}:${h}`);g?g.focus():fe.current?.focus()});return()=>cancelAnimationFrame(w)},[v]),c.useEffect(()=>{v||V("")},[v]),c.useEffect(()=>{y&&de(!1)},[y]);const be=Math.max(0,L.findIndex(d=>d.value===j.harness)),H={value:j,set:je,status:a,statusMessage:i,onRetry:f,harnesses:L,models:ne,efforts:X,harnessLabel:Y.harnessLabel,searchable:D,query:J,setQuery:V,searchRef:me,cell:Je,onSearchKeyDown:ke};return o.jsxs("div",{ref:C,className:T?`s-rt-root ${T}`:"s-rt-root",style:{position:"relative",display:"inline-flex"},children:[o.jsxs("button",{ref:ue,type:"button",className:`s-rt-chip${y?" s-rt-chip--disabled":""}`,"aria-haspopup":"dialog","aria-expanded":v,"aria-controls":v?S:void 0,"aria-label":Y.summary,disabled:y,onClick:()=>de(d=>!d),children:[o.jsx(on,{harness:j.harness||"unknown",size:12,className:"s-rt-chip-mark",title:null}),o.jsxs("span",{className:"s-rt-chip-type",children:[o.jsx("span",{className:"s-rt-chip-model",style:{maxWidth:`${Ws}ch`},children:o.jsx("span",{className:"s-rt-chip-model-text",children:Y.modelLabel},Y.modelLabel)}),X&&Y.effortLabel?o.jsxs(o.Fragment,{children:[o.jsx("span",{"aria-hidden":!0,className:"s-rt-chip-divider"}),o.jsx("span",{className:"s-rt-chip-effort","data-effort":j.effort,children:Y.effortLabel})]}):null]}),o.jsx(Xs,{})]}),v&&F?gs.createPortal(o.jsx("div",{ref:fe,id:S,role:"dialog","aria-label":"Runtime",tabIndex:-1,"data-placement":F.placement,className:"s-rt-panel",style:{left:F.left,width:Mt,...F.placement==="up"?{bottom:window.innerHeight-F.top}:{top:F.top}},children:o.jsxs("div",{className:"s-rt-rail",children:[o.jsxs("div",{className:"s-rt-rail-main",children:[o.jsxs("div",{className:"s-rt-harnesses",role:"radiogroup","aria-label":"Harness",children:[o.jsx("span",{"aria-hidden":!0,className:"s-rt-marker",style:{height:Ct-10,transform:`translateY(${be*Ct+5}px)`}}),L.map((d,h)=>{const w=d.value===j.harness,g=d.disabled??!1;return o.jsxs("button",{type:"button",role:"radio","aria-checked":w,"aria-disabled":g||void 0,onClick:()=>{g||H.set({harness:d.value})},style:{height:Ct},"data-on":w||void 0,"data-disabled":g||void 0,title:g?d.note:void 0,...H.cell("harness",h),className:"s-rt-harness",children:[o.jsx(on,{harness:d.value||"unknown",size:14,className:"s-rt-opt-mark",title:null}),o.jsx("span",{className:"s-rt-harness-label",children:d.label})]},d.value||"default")})]}),o.jsxs("div",{className:"s-rt-models-col",children:[D?o.jsx(er,{ctx:H}):null,o.jsx(nr,{ctx:H})]})]}),o.jsx("div",{className:"s-rt-effort-foot",children:X?o.jsx(Ys,{ctx:H}):o.jsx(Qs,{harnessLabel:Y.harnessLabel})})]})}),document.body):null]})}const Nt="scout:newchat:frame:v1",sr=620,cn=420,dn=300,it=12,rr=210,or=154;function Nn(e){return e>sr}function un(e,t,s){if(!Nn(s.width))return null;const n=e??t;return n?lt(n,s):null}function ar(e){return e?Math.max(or,Math.round(e.height-rr)):null}function fn(e,t,s){const n=s-t-it;return Math.round(Math.max(it,Math.min(e,n)))}function lt(e,t){const s=Math.round(Math.max(cn,Math.min(e.width,Math.max(cn,t.width-it*2)))),n=Math.round(Math.max(dn,Math.min(e.height,Math.max(dn,t.height-it*2))));return{x:fn(e.x,s,t.width),y:fn(e.y,n,t.height),width:s,height:n}}function ir(e,t,s,n){return lt({...e,x:e.x+t,y:e.y+s},n)}function lr(e,t,s,n,a){const i=n==="s"?e.width:e.width+t,f=n==="e"?e.height:e.height+s;return lt({...e,width:i,height:f},a)}function cr(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 dr(e){if(!e)return null;try{const t=JSON.parse(e);return cr(t)?{x:t.x,y:t.y,width:t.width,height:t.height}:null}catch{return null}}function mn(){try{return typeof localStorage>"u"?null:dr(localStorage.getItem(Nt))}catch{return null}}function hn(e){try{if(typeof localStorage>"u")return;if(!e){localStorage.removeItem(Nt);return}localStorage.setItem(Nt,JSON.stringify(e))}catch{}}const kt=ks()??"",pn=Mn(kt),Ee={schemaVersion:"openscout.runtime-capabilities.v1",catalogVersion:W.schemaVersion,defaults:{harness:kt,model:pn,reasoningEffort:Sn(kt,pn)},defaultsByHarness:Ts,harnesses:W.harnesses.filter(e=>e.enabled&&e.listed!==!1).map(e=>({id:e.id,label:e.label})),models:Ds.map(e=>({id:e.id,label:e.label,...e.description?{description:e.description}:{},harnesses:[...e.harnesses]})),efforts:_s.map(e=>({id:e.id,label:e.label,...e.description?{description:e.description}:{},harnesses:[...e.harnesses],...e.models?{models:[...e.models]}:{}}))};function wo(e){return In({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 ur="|";function gn(e){return e<55296?e:e<57344?e+8192:e-2048}function fr(e,t){if(e===t)return 0;const s=Math.min(e.length,t.length);for(let n=0;n<s;n+=1){const a=e.charCodeAt(n),i=t.charCodeAt(n);if(a!==i)return gn(a)<gn(i)?-1:1}return e.length===t.length?0:e.length<t.length?-1:1}function bn(e){return Number.isFinite(e)?e:0}function mr(e,t){const s=bn(e.createdAt),n=bn(t.createdAt);return s!==n?s<n?-1:1:fr(e.id,t.id)}function hr(e){return`${Number.isFinite(e.createdAt)?Math.max(0,Math.trunc(e.createdAt)):0}${ur}${e.id}`}const pr=10,gr=80,wn=300,xn=100,kn=2e3,br=pr,ve=new Map,ce=new Map;let Rn=0;function Ne(e){return e.trim()}function wr(e){const t=new Map;for(const s of e)t.set(s.id,s);return[...t.values()].sort(mr)}function xr(){if(ve.size<=br)return;let e=null,t=Number.POSITIVE_INFINITY;for(const[s,n]of ve)n.touchedAt<t&&(e=s,t=n.touchedAt);e&&ve.delete(e)}function Ie(e){const t=Ne(e),s=ve.get(t);return s?(s.touchedAt=++Rn,s.messages):null}function Pt(e,t,s={}){const n=Ne(e);if(!n)return[];const a=ve.get(n),i=wr(t).slice(-kn);return ve.set(n,{messages:i,historyLoaded:s.historyLoaded??a?.historyLoaded??!1,historyExhausted:s.historyExhausted??a?.historyExhausted??!1,touchedAt:++Rn}),xr(),i}function An(e,t){const s=Ie(e)??[];return Pt(e,[...s,...t])}function Tn(e){return ve.get(Ne(e))?.historyLoaded??!1}function yr(e){const t=ve.get(Ne(e));return!!(t&&t.historyLoaded&&!t.historyExhausted&&t.messages.length>0&&t.messages.length<kn)}async function xo(e,t={}){const s=Ne(e);if(!s)return[];const n=Ie(s);if(n&&!t.refresh)return n;const a=ce.get(s);if(a)return a;const i=z(`/api/messages?conversationId=${encodeURIComponent(s)}&limit=${gr}`).then(f=>An(s,f));ce.set(s,i);try{return await i}finally{ce.delete(s)}}async function vr(e){const t=Ne(e);if(!t)return[];if(Tn(t))return Ie(t)??[];const s=`${t}:history`,n=ce.get(s);if(n)return n;const a=z(`/api/messages?conversationId=${encodeURIComponent(t)}&limit=${wn}`).then(i=>Pt(t,[...Ie(t)??[],...i],{historyLoaded:!0,historyExhausted:i.length<wn}));ce.set(s,a);try{return await a}finally{ce.delete(s)}}async function yo(e){const t=Ne(e);if(!t)return[];if(!Tn(t))return vr(t);if(!yr(t))return Ie(t)??[];const s=Ie(t)??[],n=s[0];if(!n)return s;const a=hr(n),i=`${t}:before:${a}`,f=ce.get(i);if(f)return f;const y=z(`/api/messages?conversationId=${encodeURIComponent(t)}&limit=${xn}&beforeMessageId=${encodeURIComponent(a)}`).then(b=>Pt(t,[...b,...Ie(t)??[]],{historyLoaded:!0,historyExhausted:b.length<xn}));ce.set(i,y);try{return await y}finally{ce.delete(i)}}const jr=12e4,Ke=new Map;function Cr(){const e=globalThis.crypto?.randomUUID?.();return e?`web-${e}`:`web-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function Mr(e){const t=e.conversationId.trim(),s=e.messageId.trim();if(!t||!s)return;An(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(),a=e.agentId?.trim();!n||!a||Ke.set(t,{flight:{id:n,invocationId:e.invocationId?.trim()||`pending:${n}`,agentId:a,agentName:null,conversationId:t,collaborationRecordId:null,state:"queued",summary:"Request accepted; waiting for worker activity.",startedAt:e.createdAt,completedAt:null,sessions:[]},expiresAt:Date.now()+jr})}function vo(e,t=Date.now()){const s=e.trim(),n=Ke.get(s);return n?n.expiresAt<=t?(Ke.delete(s),null):n.flight:null}function jo(e,t){const s=e.trim(),n=Ke.get(s);n&&(!t||n.flight.id===t)&&Ke.delete(s)}const Sr=1200,Er=new Set(["Page","URL"]);function Ln(e){return e.trim().slice(0,Sr)}function Ir(e){const t=[{label:"Page",value:e.pageTitle??""},{label:"URL",value:e.pageUrl??""}];return e.selection?.trim()&&t.push({label:"Selection",value:Ln(e.selection)}),(e.notes??[]).forEach((s,n)=>{t.push({label:`Note ${n+1}`,value:s})}),t.filter(s=>s.value.trim())}function Nr(e,t){const s=[];for(const a of t){const i=a.value.trim();i&&(Er.has(a.label)?s.push(`${a.label}: ${i}`):s.push(`${a.label}:
1
+ import{r as c,j as o}from"./index-o4FKpU7Z.js";import{M as ms}from"./runtime-picker-eDEvx2Mz.js";import{i as sn,b as hs,d as rt,M as rn,u as ps}from"./MessageComposerSuggestions-Dfc3PH2y.js";import{r as gs}from"./index-BMwKgdz_.js";import{H as on}from"./HarnessMark-MztYnrGK.js";import{c as bs,S as an,F as ws,G as xs}from"./conversation-model-CHwHZNw-.js";import{a as z}from"./api-h5zurxmi.js";import{d as ys}from"./colors-BtO5_zlx.js";import{NewChatOrigin as vs}from"./NewChatOrigin-BEz6jyqf.js";import{u as js}from"./keyboard-nav-Chf51dns.js";import{n as Cs}from"./model-Co0zkMIc.js";import{X as Ms}from"./x-ynOfVadO.js";import{C as Ss}from"./chevron-down-NAhBUkFd.js";import{S as Es}from"./search-7_n7CxWl.js";import{L as jt}from"./loader-circle-4LDsy4Ke.js";import{F as Is}from"./file-text-iF0hyVyU.js";const Ns={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:[]}]},Tt=["none","minimal","low","medium","high","xhigh","max","ultra"],Cn={none:"None",minimal:"Minimal",low:"Light",medium:"Medium",high:"High",xhigh:"Extra High",max:"Max",ultra:"Ultra"},W=Ns;function Lt(e,t=W){return t.harnesses.find(s=>s.id===e)}function ks(e=W){return e.harnesses.find(t=>t.enabled&&t.default)?.id??e.harnesses.find(t=>t.enabled)?.id??null}function Mn(e,t=W){const s=Lt(e,t);return s?.models.find(n=>n.enabled&&n.default)?.id??s?.models.find(n=>n.enabled)?.id??null}function Rs(e,t,s=W){const n=Lt(e,s);if(!n||!n.enabled)return null;const a=t?n.models.find(i=>i.enabled&&i.id===t):void 0;return a?.reasoningEfforts===null?null:a?.reasoningEfforts??n.reasoningEfforts}function Sn(e,t,s=W){const n=Lt(e,s),a=t?n?.models.find(y=>y.enabled&&y.id===t):void 0,i=Rs(e,t,s),f=a?.defaultReasoningEffort??n?.defaultReasoningEffort??null;return f&&i?.includes(f)?f:i?.[0]??null}function As(e=W){return Object.fromEntries(e.harnesses.filter(t=>t.enabled).map(t=>{const s=Mn(t.id,e);return[t.id,{model:s,reasoningEffort:Sn(t.id,s,e)}]}))}const Ts=As();Object.fromEntries(W.harnesses.filter(e=>e.enabled).map(e=>{const t=Tt.filter(s=>e.reasoningEfforts?.includes(s)||e.models.some(n=>n.enabled&&n.reasoningEfforts?.includes(s)));return[e.id,t]}));function Ls(e=W){const t=new Map;for(const s of e.harnesses)if(s.enabled)for(const n of s.models){if(!n.enabled)continue;const a=t.get(n.id);if(a){a.harnesses.includes(s.id)||a.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 Ds=Ls(),Ps={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 Os(e=W){return Tt.flatMap(t=>{const s=[],n=[];for(const a of e.harnesses){if(!a.enabled)continue;const i=a.models.filter(b=>b.enabled),f=i.filter(b=>(b.reasoningEfforts??a.reasoningEfforts)?.includes(t)),y=i.length===0&&a.reasoningEfforts?.includes(t);f.length===0&&!y||(s.push(a.id),i.length>0&&f.length<i.length&&n.push(...f.map(b=>b.id)))}return s.length===0?[]:[{id:t,label:Cn[t],description:Ps[t],harnesses:s,...n.length>0?{models:n}:{}}]})}const _s=Os();function $s(e,t){const s=t?.trim();return s?e.find(n=>n.id===s)??null:null}function Fs(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=$s(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}}const G="",Hs={none:"no reasoning",minimal:"lightest",low:"triage",medium:"default",high:"deep",xhigh:"exhaustive",max:"fullest",ultra:"beyond max"},Us=Tt.map(e=>({value:e,label:Cn[e],note:Hs[e]}));function Le(e,t){return e.harnesses.find(s=>s.value===t)}function Dt(e,t){return Le(e,t)?.models??[]}function Se(e,t,s){const n=Le(e,t),a=n?n.efforts===null?null:n.efforts??e.efforts:e.efforts;if(!a||!s)return a;const i=new Set((n?.models??[]).map(f=>f.value));return i.has(s)?a.filter(f=>{if(!f.models||f.models.length===0)return!0;const y=f.models.filter(b=>i.has(b));return y.length===0||y.includes(s)}):a}function En(e,t){const n=Dt(e,t.harness).find(a=>a.value===t.model);return n||(t.model.trim()?{value:t.model,label:t.model,note:"custom"}:{value:G,label:"Default",note:"harness picks"})}function Gs(e,t){const s=Le(e,t.harness),n=s?.label??t.harness??"Default",a=En(e,t),i=Se(e,t.harness,t.model),f=i?.find($=>$.value===t.effort),y=f?.label??t.effort,b=i?`Runtime: ${n}, model ${a.label}, effort ${y}`:`Runtime: ${n}, model ${a.label}`;return{harness:s,harnessLabel:n,model:a,modelLabel:a.label,effort:f,effortLabel:y,supportsEffort:i!==null,summary:b}}function Bs(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 T=Se(e,n.harness,n.model);if(!T||n.effort===G||T.some(V=>V.value===n.effort))return n;const de=(Se(e,t.harness,t.model)??e.efforts).findIndex(V=>V.value===t.effort),J=Math.min(Math.max(de,0),T.length-1);return n.effort=T[J]?.value??T[0]?.value??G,n}const i=Le(e,n.harness);n.model=s.model??i?.defaultModel??G,s.effort===void 0&&i?.defaultEffort&&(n.effort=i.defaultEffort);const f=Se(e,n.harness,n.model);if(!f)return n.effort=G,n;if(f.some(T=>T.value===n.effort))return n;const b=(Se(e,t.harness,t.model)??e.efforts).findIndex(T=>T.value===t.effort),$=Math.min(Math.max(b,0),f.length-1);return n.effort=f[$]?.value??f[0]?.value??G,n}function qs(e,t){const s=t?.harness??e.harnesses.find(i=>!i.disabled)?.value??"",n=Se(e,s),a=n?.find(i=>i.note==="default")?.value??n?.[Math.floor((n.length-1)/2)]?.value??G;return{harness:s,model:t?.model??Le(e,s)?.defaultModel??Dt(e,s)[1]?.value??G,effort:n?t?.effort??Le(e,s)?.defaultEffort??a:G}}function Ks(e,t){const s=t.trim().toLowerCase();return s?e.filter(n=>`${n.label} ${n.value} ${n.note??""}`.toLowerCase().includes(s)):e}function Ge(...e){for(const t of e){const s=t?.trim();if(s)return s}}function In(e){const t=e.harnesses.map(n=>{const a=e.defaultsByHarness?.[n.id],i=n.ready!==!1,f=[{value:G,label:"Default",note:"harness picks"},...e.models.filter(b=>b.harnesses.includes(n.id)).map(b=>({value:b.id,label:b.label,note:Ge(b.description)}))],y=e.efforts.filter(b=>b.harnesses.includes(n.id));return{value:n.id,label:n.label,note:i?Ge(n.description):Ge(n.detail,n.state,"unavailable"),disabled:!i,defaultModel:a?.model??G,defaultEffort:a?.reasoningEffort??G,models:f,efforts:y.length===0?null:y.map(b=>({value:b.id,label:b.label,note:Ge(b.description),...b.models?.length?{models:[...b.models]}:{}}))}}),s=e.efforts.map(n=>({value:n.id,label:n.label,note:Ge(n.description)}));return{harnesses:t,efforts:s.length>0?s:Us}}const zs=6,Ct=34,Mt=460,Ws=14,Js=300,Be=8,St=["harness","model","effort"],Vs={harness:"vertical",model:"vertical",effort:"horizontal"};function Xs(){return o.jsx("svg",{className:"s-rt-chip-chevron",width:"8",height:"5",viewBox:"0 0 8 5",fill:"none","aria-hidden":"true",children:o.jsx("path",{d:"M1 1.2 4 4 7 1.2",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}function Ys({ctx:e}){const{efforts:t,value:s,set:n}=e;if(!t)return null;const a=Math.max(0,t.findIndex(i=>i.value===s.effort));return o.jsx("div",{className:"s-rt-ladder",role:"radiogroup","aria-label":"Reasoning effort",children:t.map((i,f)=>{const y=f===a;return o.jsxs("button",{type:"button",role:"radio","aria-checked":y,title:i.note,onClick:()=>n({effort:i.value}),...e.cell("effort",f),className:"s-rt-step",children:[o.jsx("span",{className:"s-rt-step-bar","data-state":y?"current":f<a?"filled":"empty"}),o.jsx("span",{className:"s-rt-step-label",children:i.label})]},i.value)})})}function Qs({harnessLabel:e}){return o.jsxs("p",{className:"s-rt-effort-absent",children:[e," has no effort control."]})}function Zs({option:e,selected:t,index:s,ctx:n}){const a=e.disabled??!1;return o.jsxs("button",{type:"button",role:"option","aria-selected":t,"aria-disabled":a||void 0,onClick:()=>{a||n.set({model:e.value})},"data-on":t||void 0,"data-disabled":a||void 0,...n.cell("model",s),style:{animationDelay:`${Math.min(s,6)*16}ms`},className:"s-rt-row s-rt-model-row",children:[o.jsx("span",{"aria-hidden":!0,className:"s-rt-dot"}),o.jsx("span",{className:"s-rt-row-label",children:e.label}),e.note?o.jsx("span",{className:"s-rt-note",children:e.note}):null]})}function er({ctx:e}){return o.jsxs("div",{className:"s-rt-search",children:[o.jsxs("svg",{width:"11",height:"11",viewBox:"0 0 12 12","aria-hidden":"true",className:"s-rt-search-icon",children:[o.jsx("circle",{cx:"5",cy:"5",r:"3.4",fill:"none",stroke:"currentColor",strokeWidth:"1.3"}),o.jsx("path",{d:"M7.6 7.6 10.5 10.5",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})]}),o.jsx("input",{ref:e.searchRef,type:"text",value:e.query,onChange:t=>e.setQuery(t.target.value),onKeyDown:e.onSearchKeyDown,placeholder:"Filter models","aria-label":"Filter models",spellCheck:!1,autoComplete:"off",className:"s-rt-search-input"}),e.query?o.jsx("button",{type:"button",onClick:()=>{e.setQuery(""),e.searchRef.current?.focus()},"aria-label":"Clear filter",className:"s-rt-search-clear",children:"clear"}):null]})}function tr({ctx:e}){return e.status==="loading"?o.jsxs("div",{className:"s-rt-status","aria-busy":!0,role:"status",children:[o.jsx("span",{className:"s-rt-sr",children:"Loading models"}),[0,1,2].map(t=>o.jsx("span",{"aria-hidden":!0,className:"s-rt-skel",style:{animationDelay:`${t*90}ms`}},t))]}):e.status==="error"?o.jsxs("div",{role:"alert",className:"s-rt-status s-rt-status--error",children:[o.jsx("span",{className:"s-rt-status-message",children:e.statusMessage??"Model catalog unavailable."}),e.onRetry?o.jsx("button",{type:"button",onClick:e.onRetry,className:"s-rt-retry",children:"Retry"}):null]}):o.jsx("p",{className:"s-rt-empty",children:e.query.trim()?`No model matches “${e.query.trim()}”.`:"No models listed."})}function nr({ctx:e}){return e.status!=="ready"||e.models.length===0?o.jsx(tr,{ctx:e}):o.jsx("div",{role:"listbox","aria-label":"Model",className:"s-rt-models",children:e.models.map((t,s)=>o.jsx(Zs,{option:t,index:s,selected:t.value===e.value.model,ctx:e},t.value||"default"))},e.value.harness)}function ln({value:e,defaultValue:t,onChange:s,catalog:n,status:a="ready",statusMessage:i,onRetry:f,disabled:y=!1,showEffort:b,searchable:$="auto",className:T}){const[v,de]=c.useState(!1),[J,V]=c.useState(""),[ze,We]=c.useState(()=>qs(n,t)),j=e??ze,C=c.useRef(null),ue=c.useRef(null),fe=c.useRef(null),me=c.useRef(null),S=c.useId(),je=c.useCallback(d=>{const h=Bs(n,j,d);e===void 0&&We(h),s?.(h),d.harness!==void 0&&d.harness!==j.harness&&V("")},[n,e,s,j]),L=n.harnesses,De=c.useMemo(()=>Dt(n,j.harness),[n,j.harness]),P=c.useMemo(()=>{const d=En(n,j);return d.note!=="custom"?De:[...De,d]},[De,n,j]),ne=c.useMemo(()=>Ks(P,J),[P,J]),Pe=Se(n,j.harness,j.model),X=b===!1?null:b===!0?Pe??n.efforts:Pe,D=$==="auto"?P.length>zs:$,Y=Gs(n,j),I=c.useRef(new Map),[he,k]=c.useState({group:"model",index:0}),R=c.useMemo(()=>({harness:L.length,model:a==="ready"?ne.length:0,effort:X?.length??0}),[X?.length,L.length,ne.length,a]),se=c.useCallback(d=>d==="harness"?Math.max(0,L.findIndex(h=>h.value===j.harness)):d==="model"?Math.max(0,ne.findIndex(h=>h.value===j.model)):Math.max(0,X?.findIndex(h=>h.value===j.effort)??0),[X,L,ne,j]),N=c.useCallback((d,h)=>{k({group:d,index:h}),I.current.get(`${d}:${h}`)?.focus()},[]),pe=c.useCallback((d,h)=>{const w=St.indexOf(d);for(let g=w+h;g>=0&&g<St.length;g+=h){const A=St[g];if(R[A]>0)return N(A,Math.min(se(A),R[A]-1)),!0}return!1},[R,N,se]),Je=c.useCallback((d,h)=>({ref:w=>{const g=`${d}:${h}`;w?I.current.set(g,w):I.current.delete(g)},tabIndex:he.group===d&&he.index===h?0:-1,onFocus:()=>k({group:d,index:h}),onKeyDown:w=>{const g=Vs[d]==="vertical",A=g?"ArrowDown":"ArrowRight",U=g?"ArrowUp":"ArrowLeft",_e=g?"ArrowRight":"ArrowDown",re=g?"ArrowLeft":"ArrowUp",we=R[d];if(we!==0)if(w.key===A)w.preventDefault(),N(d,(h+1)%we);else if(w.key===U){if(w.preventDefault(),d==="model"&&h===0&&D){k({group:d,index:0}),me.current?.focus();return}N(d,(h-1+we)%we)}else w.key===_e?(w.preventDefault(),pe(d,1)):w.key===re?(w.preventDefault(),pe(d,-1)):w.key==="Home"?(w.preventDefault(),N(d,0)):w.key==="End"&&(w.preventDefault(),N(d,we-1))}}),[R,he,N,pe,D]),ke=c.useCallback(d=>{if(d.key==="ArrowDown"&&R.model>0)d.preventDefault(),N("model",0);else if(d.key==="Enter"&&R.model===1){d.preventDefault();const h=ne[0];h.disabled||je({model:h.value})}else d.key==="Escape"&&J&&(d.preventDefault(),d.stopPropagation(),V(""))},[R.model,N,ne,J,je]),[F,Oe]=c.useState(null),ge=c.useCallback(()=>{const d=ue.current;if(!d)return;const h=d.getBoundingClientRect(),w=h.top,g=window.innerHeight-h.bottom,A=w>=Js||w>=g?"up":"down",U=Math.min(Math.max(Be,h.right-Mt),Math.max(Be,window.innerWidth-Mt-Be));Oe({left:U,top:A==="up"?h.top-Be:h.bottom+Be,placement:A})},[]);c.useLayoutEffect(()=>{if(!v)return;ge();const d=()=>ge();return window.addEventListener("scroll",d,!0),window.addEventListener("resize",d),()=>{window.removeEventListener("scroll",d,!0),window.removeEventListener("resize",d)}},[v,ge]);const E=c.useCallback(d=>{de(!1),d&&ue.current?.focus()},[]);c.useEffect(()=>{if(!v)return;const d=w=>{const g=w.target;C.current?.contains(g)||fe.current?.contains(g)||de(!1)},h=w=>{w.key==="Escape"&&(w.stopPropagation(),E(!0))};return document.addEventListener("pointerdown",d),document.addEventListener("keydown",h),()=>{document.removeEventListener("pointerdown",d),document.removeEventListener("keydown",h)}},[v,E]),c.useEffect(()=>{if(!v)return;const d=R.model>0?"model":"harness",h=Math.min(se(d),Math.max(0,R[d]-1));k({group:d,index:h});const w=requestAnimationFrame(()=>{const g=I.current.get(`${d}:${h}`);g?g.focus():fe.current?.focus()});return()=>cancelAnimationFrame(w)},[v]),c.useEffect(()=>{v||V("")},[v]),c.useEffect(()=>{y&&de(!1)},[y]);const be=Math.max(0,L.findIndex(d=>d.value===j.harness)),H={value:j,set:je,status:a,statusMessage:i,onRetry:f,harnesses:L,models:ne,efforts:X,harnessLabel:Y.harnessLabel,searchable:D,query:J,setQuery:V,searchRef:me,cell:Je,onSearchKeyDown:ke};return o.jsxs("div",{ref:C,className:T?`s-rt-root ${T}`:"s-rt-root",style:{position:"relative",display:"inline-flex"},children:[o.jsxs("button",{ref:ue,type:"button",className:`s-rt-chip${y?" s-rt-chip--disabled":""}`,"aria-haspopup":"dialog","aria-expanded":v,"aria-controls":v?S:void 0,"aria-label":Y.summary,disabled:y,onClick:()=>de(d=>!d),children:[o.jsx(on,{harness:j.harness||"unknown",size:12,className:"s-rt-chip-mark",title:null}),o.jsxs("span",{className:"s-rt-chip-type",children:[o.jsx("span",{className:"s-rt-chip-model",style:{maxWidth:`${Ws}ch`},children:o.jsx("span",{className:"s-rt-chip-model-text",children:Y.modelLabel},Y.modelLabel)}),X&&Y.effortLabel?o.jsxs(o.Fragment,{children:[o.jsx("span",{"aria-hidden":!0,className:"s-rt-chip-divider"}),o.jsx("span",{className:"s-rt-chip-effort","data-effort":j.effort,children:Y.effortLabel})]}):null]}),o.jsx(Xs,{})]}),v&&F?gs.createPortal(o.jsx("div",{ref:fe,id:S,role:"dialog","aria-label":"Runtime",tabIndex:-1,"data-placement":F.placement,className:"s-rt-panel",style:{left:F.left,width:Mt,...F.placement==="up"?{bottom:window.innerHeight-F.top}:{top:F.top}},children:o.jsxs("div",{className:"s-rt-rail",children:[o.jsxs("div",{className:"s-rt-rail-main",children:[o.jsxs("div",{className:"s-rt-harnesses",role:"radiogroup","aria-label":"Harness",children:[o.jsx("span",{"aria-hidden":!0,className:"s-rt-marker",style:{height:Ct-10,transform:`translateY(${be*Ct+5}px)`}}),L.map((d,h)=>{const w=d.value===j.harness,g=d.disabled??!1;return o.jsxs("button",{type:"button",role:"radio","aria-checked":w,"aria-disabled":g||void 0,onClick:()=>{g||H.set({harness:d.value})},style:{height:Ct},"data-on":w||void 0,"data-disabled":g||void 0,title:g?d.note:void 0,...H.cell("harness",h),className:"s-rt-harness",children:[o.jsx(on,{harness:d.value||"unknown",size:14,className:"s-rt-opt-mark",title:null}),o.jsx("span",{className:"s-rt-harness-label",children:d.label})]},d.value||"default")})]}),o.jsxs("div",{className:"s-rt-models-col",children:[D?o.jsx(er,{ctx:H}):null,o.jsx(nr,{ctx:H})]})]}),o.jsx("div",{className:"s-rt-effort-foot",children:X?o.jsx(Ys,{ctx:H}):o.jsx(Qs,{harnessLabel:Y.harnessLabel})})]})}),document.body):null]})}const Nt="scout:newchat:frame:v1",sr=620,cn=420,dn=300,it=12,rr=210,or=154;function Nn(e){return e>sr}function un(e,t,s){if(!Nn(s.width))return null;const n=e??t;return n?lt(n,s):null}function ar(e){return e?Math.max(or,Math.round(e.height-rr)):null}function fn(e,t,s){const n=s-t-it;return Math.round(Math.max(it,Math.min(e,n)))}function lt(e,t){const s=Math.round(Math.max(cn,Math.min(e.width,Math.max(cn,t.width-it*2)))),n=Math.round(Math.max(dn,Math.min(e.height,Math.max(dn,t.height-it*2))));return{x:fn(e.x,s,t.width),y:fn(e.y,n,t.height),width:s,height:n}}function ir(e,t,s,n){return lt({...e,x:e.x+t,y:e.y+s},n)}function lr(e,t,s,n,a){const i=n==="s"?e.width:e.width+t,f=n==="e"?e.height:e.height+s;return lt({...e,width:i,height:f},a)}function cr(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 dr(e){if(!e)return null;try{const t=JSON.parse(e);return cr(t)?{x:t.x,y:t.y,width:t.width,height:t.height}:null}catch{return null}}function mn(){try{return typeof localStorage>"u"?null:dr(localStorage.getItem(Nt))}catch{return null}}function hn(e){try{if(typeof localStorage>"u")return;if(!e){localStorage.removeItem(Nt);return}localStorage.setItem(Nt,JSON.stringify(e))}catch{}}const kt=ks()??"",pn=Mn(kt),Ee={schemaVersion:"openscout.runtime-capabilities.v1",catalogVersion:W.schemaVersion,defaults:{harness:kt,model:pn,reasoningEffort:Sn(kt,pn)},defaultsByHarness:Ts,harnesses:W.harnesses.filter(e=>e.enabled&&e.listed!==!1).map(e=>({id:e.id,label:e.label})),models:Ds.map(e=>({id:e.id,label:e.label,...e.description?{description:e.description}:{},harnesses:[...e.harnesses]})),efforts:_s.map(e=>({id:e.id,label:e.label,...e.description?{description:e.description}:{},harnesses:[...e.harnesses],...e.models?{models:[...e.models]}:{}}))};function wo(e){return In({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 ur="|";function gn(e){return e<55296?e:e<57344?e+8192:e-2048}function fr(e,t){if(e===t)return 0;const s=Math.min(e.length,t.length);for(let n=0;n<s;n+=1){const a=e.charCodeAt(n),i=t.charCodeAt(n);if(a!==i)return gn(a)<gn(i)?-1:1}return e.length===t.length?0:e.length<t.length?-1:1}function bn(e){return Number.isFinite(e)?e:0}function mr(e,t){const s=bn(e.createdAt),n=bn(t.createdAt);return s!==n?s<n?-1:1:fr(e.id,t.id)}function hr(e){return`${Number.isFinite(e.createdAt)?Math.max(0,Math.trunc(e.createdAt)):0}${ur}${e.id}`}const pr=10,gr=80,wn=300,xn=100,kn=2e3,br=pr,ve=new Map,ce=new Map;let Rn=0;function Ne(e){return e.trim()}function wr(e){const t=new Map;for(const s of e)t.set(s.id,s);return[...t.values()].sort(mr)}function xr(){if(ve.size<=br)return;let e=null,t=Number.POSITIVE_INFINITY;for(const[s,n]of ve)n.touchedAt<t&&(e=s,t=n.touchedAt);e&&ve.delete(e)}function Ie(e){const t=Ne(e),s=ve.get(t);return s?(s.touchedAt=++Rn,s.messages):null}function Pt(e,t,s={}){const n=Ne(e);if(!n)return[];const a=ve.get(n),i=wr(t).slice(-kn);return ve.set(n,{messages:i,historyLoaded:s.historyLoaded??a?.historyLoaded??!1,historyExhausted:s.historyExhausted??a?.historyExhausted??!1,touchedAt:++Rn}),xr(),i}function An(e,t){const s=Ie(e)??[];return Pt(e,[...s,...t])}function Tn(e){return ve.get(Ne(e))?.historyLoaded??!1}function yr(e){const t=ve.get(Ne(e));return!!(t&&t.historyLoaded&&!t.historyExhausted&&t.messages.length>0&&t.messages.length<kn)}async function xo(e,t={}){const s=Ne(e);if(!s)return[];const n=Ie(s);if(n&&!t.refresh)return n;const a=ce.get(s);if(a)return a;const i=z(`/api/messages?conversationId=${encodeURIComponent(s)}&limit=${gr}`).then(f=>An(s,f));ce.set(s,i);try{return await i}finally{ce.delete(s)}}async function vr(e){const t=Ne(e);if(!t)return[];if(Tn(t))return Ie(t)??[];const s=`${t}:history`,n=ce.get(s);if(n)return n;const a=z(`/api/messages?conversationId=${encodeURIComponent(t)}&limit=${wn}`).then(i=>Pt(t,[...Ie(t)??[],...i],{historyLoaded:!0,historyExhausted:i.length<wn}));ce.set(s,a);try{return await a}finally{ce.delete(s)}}async function yo(e){const t=Ne(e);if(!t)return[];if(!Tn(t))return vr(t);if(!yr(t))return Ie(t)??[];const s=Ie(t)??[],n=s[0];if(!n)return s;const a=hr(n),i=`${t}:before:${a}`,f=ce.get(i);if(f)return f;const y=z(`/api/messages?conversationId=${encodeURIComponent(t)}&limit=${xn}&beforeMessageId=${encodeURIComponent(a)}`).then(b=>Pt(t,[...b,...Ie(t)??[]],{historyLoaded:!0,historyExhausted:b.length<xn}));ce.set(i,y);try{return await y}finally{ce.delete(i)}}const jr=12e4,Ke=new Map;function Cr(){const e=globalThis.crypto?.randomUUID?.();return e?`web-${e}`:`web-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function Mr(e){const t=e.conversationId.trim(),s=e.messageId.trim();if(!t||!s)return;An(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(),a=e.agentId?.trim();!n||!a||Ke.set(t,{flight:{id:n,invocationId:e.invocationId?.trim()||`pending:${n}`,agentId:a,agentName:null,conversationId:t,collaborationRecordId:null,state:"queued",summary:"Request accepted; waiting for worker activity.",startedAt:e.createdAt,completedAt:null,sessions:[]},expiresAt:Date.now()+jr})}function vo(e,t=Date.now()){const s=e.trim(),n=Ke.get(s);return n?n.expiresAt<=t?(Ke.delete(s),null):n.flight:null}function jo(e,t){const s=e.trim(),n=Ke.get(s);n&&(!t||n.flight.id===t)&&Ke.delete(s)}const Sr=1200,Er=new Set(["Page","URL"]);function Ln(e){return e.trim().slice(0,Sr)}function Ir(e){const t=[{label:"Page",value:e.pageTitle??""},{label:"URL",value:e.pageUrl??""}];return e.selection?.trim()&&t.push({label:"Selection",value:Ln(e.selection)}),(e.notes??[]).forEach((s,n)=>{t.push({label:`Note ${n+1}`,value:s})}),t.filter(s=>s.value.trim())}function Nr(e,t){const s=[];for(const a of t){const i=a.value.trim();i&&(Er.has(a.label)?s.push(`${a.label}: ${i}`):s.push(`${a.label}:
2
2
  ${i.split(`
3
3
  `).map(f=>`> ${f}`).join(`
4
4
  `)}`))}const n=e.trim();return n&&s.push(n),s.join(`
@@ -1 +1 @@
1
- import{j as e}from"./index-CzVeWScw.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-o4FKpU7Z.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-CzVeWScw.js";import{a as v}from"./api-h5zurxmi.js";import{d as b,S as u}from"./SessionObserve-BmmJ8dEh.js";import{u as h}from"./sse-QcU9bikk.js";import{f as x}from"./time-Dhsh_2EG.js";import{SessionObserveEmbedStatus as f}from"./SessionObserveEvidence-CEedIk2a.js";import{E as c}from"./external-link-CnaI1QFS.js";import"./bash-format-BRV5C6Gv.js";import"./tail-display-BRcJltQa.js";import"./lane-edit-display-C_Aujldz.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-DrPXYZvQ.js";import"./index-Dewd56RX.js";import"./lane-observe-BA3g9aVd.js";import"./lane-ask-display-B6iCAVcd.js";import"./colors-BtO5_zlx.js";import"./mentions-fbQJ2mBI.js";import"./Provider-DSsb2gLR.js";import"./router-B-K15T7B.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-C3qU8tnY.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-N-Z6X0Z1.js";import"./DocumentFocusViewer-BCG2kOmd.js";import"./createLucideIcon-ClCdc3F9.js";import"./TextDocumentSurface-DRjctOIt.js";/* empty css */import"./file-text-DG-pufl1.js";import"./x-D4X_y1j_.js";import"./chevron-right-CNE6QAVr.js";import"./code-xml--LjSM4Mv.js";import"./arrow-left-_vS7itsV.js";import"./scout-voice-S5_YZ2v8.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BJnFoFDP.js";import"./MessageComposerSuggestions-Cs9u-F_3.js";import"./NewChatComposer-DXDxV2Mh.js";import"./runtime-picker-BCQD7d4K.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-Byb9kSFx.js";import"./HarnessMark-BE-YSyci.js";import"./conversation-model-CHwHZNw-.js";import"./NewChatOrigin-CnjoswTG.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-DRCbnzyY.js";import"./search-C3bSJluv.js";import"./chunk-HRAB3GC3-CAeEKaf5.js";import"./AgentDetailCard-sZuHl1de.js";import"./AgentLiveActions-DI4ooSHW.js";import"./terminal-takeover-KvmTwABa.js";import"./openContent-C6XO6kr5.js";import"./eye-BFlhMzQL.js";import"./terminal-DrTkVXIj.js";import"./message-markup-mGF07emJ.js";import"./ObservedTopologyPanel-C1AQM0Mq.js";import"./ObserveTextFlow-DJxQc2H6.js";import"./use-reduced-motion-Dla-G_Jz.js";import"./message-circle-aGOfQWm2.js";import"./wrench-CeCdjiPF.js";import"./index-BWHgHrtv.js";const j=2500,g=240,N=5;function I({ask:r,sessionId:s}){const[i,p]=o.useState(!1);if(!r)return e.jsxs("section",{className:"s-observe-embed-ask s-observe-embed-ask--unknown",children:[e.jsx("div",{className:"s-observe-embed-ask-kicker",children:"Ask"}),e.jsx("div",{className:"s-observe-embed-ask-unknown",children:"Not available for this observed session."})]});const m=r.task.length>g||r.task.split(`
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(c,{size:11,"aria-hidden":"true"})]}),e.jsxs("a",{href:d,target:"_top",children:["Flight ",e.jsx(c,{size:11,"aria-hidden":"true"})]})]})]}),e.jsx("div",{className:`s-observe-embed-ask-body${i?" is-expanded":""}`,children:r.task}),m&&e.jsx("button",{type:"button",className:"s-observe-embed-ask-toggle","aria-expanded":i,onClick:()=>p(t=>!t),children:i?"Show less":"Show full ask"})]})}function _e({agentId:r}){const[s,i]=o.useState(null),[p,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})]})}):p&&!s?e.jsx("div",{className:"s-observe-embed-page",children:e.jsxs("div",{className:"s-observe-embed-empty",children:[e.jsx("div",{className:"s-observe-embed-empty-title",children:"Resolving trace"}),e.jsx("div",{className:"s-observe-embed-empty-detail",children:r})]})}):e.jsxs("div",{className:"s-observe-embed-page",children:[s&&e.jsxs(e.Fragment,{children:[e.jsx(f,{source:s.source,fidelity:s.fidelity,sessionId:s.sessionId,evidence:b({source:s.source,fidelity:s.fidelity,live:s.data.live,eventCount:s.data.events.length})}),e.jsx(I,{ask:s.initiatingAsk,sessionId:s.sessionId})]}),e.jsx(u,{data:s?.data,agentId:r,sessionId:s?.sessionId,showRail:!1,observeSource:s?.source,observeFidelity:s?.fidelity})]})}export{I as InitiatingAsk,_e as ObserveEmbedScreen};
1
+ import{r as o,j as e}from"./index-o4FKpU7Z.js";import{a as v}from"./api-h5zurxmi.js";import{d as b,S as u}from"./SessionObserve-DaUrJCMq.js";import{u as h}from"./sse-CL6gctHY.js";import{f as x}from"./time-Dhsh_2EG.js";import{SessionObserveEmbedStatus as f}from"./SessionObserveEvidence-ClUW8jpV.js";import{E as c}from"./external-link-Dem738OJ.js";import"./bash-format-BRV5C6Gv.js";import"./tail-display-BRcJltQa.js";import"./lane-edit-display-C_Aujldz.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-CcEiQC6B.js";import"./index-BMwKgdz_.js";import"./lane-observe-BA3g9aVd.js";import"./lane-ask-display-B6iCAVcd.js";import"./colors-BtO5_zlx.js";import"./mentions-CvDaviLJ.js";import"./Provider-DKZWuzSR.js";import"./provider-BvAxRQfE.js";import"./router-C65cZYPn.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-AmSgHklm.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-CxkmFQcN.js";import"./DocumentFocusViewer-DRKjNG9s.js";import"./createLucideIcon-Bt67PWH-.js";import"./TextDocumentSurface-Bc-kHPgG.js";/* empty css */import"./file-text-iF0hyVyU.js";import"./x-ynOfVadO.js";import"./chevron-right-C10o7t_X.js";import"./code-xml-CLn3TDWF.js";import"./arrow-left-BOht-YQu.js";import"./scout-voice-B7kXlkcl.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-Chf51dns.js";import"./MessageComposerSuggestions-Dfc3PH2y.js";import"./NewChatComposer-S08F6_La.js";import"./runtime-picker-eDEvx2Mz.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-4LDsy4Ke.js";import"./HarnessMark-MztYnrGK.js";import"./conversation-model-CHwHZNw-.js";import"./NewChatOrigin-BEz6jyqf.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-NAhBUkFd.js";import"./search-7_n7CxWl.js";import"./chunk-HRAB3GC3-DF8R9rPv.js";import"./AgentDetailCard-Biq8b2gv.js";import"./AgentLiveActions-0iy8QZ1T.js";import"./terminal-takeover-7AvNpnkC.js";import"./openContent-C6XO6kr5.js";import"./eye-B3lBIwJZ.js";import"./terminal-By1Lw2i2.js";import"./message-markup-BcY1lShv.js";import"./ObservedTopologyPanel-ByW7Ar7p.js";import"./ObserveTextFlow-_ApDwRCO.js";import"./use-reduced-motion-CqXpVXv-.js";import"./message-circle-BM3XgevU.js";import"./wrench-M4G7WtYB.js";import"./index-BWHgHrtv.js";const j=2500,g=240,N=5;function I({ask:r,sessionId:s}){const[i,p]=o.useState(!1);if(!r)return e.jsxs("section",{className:"s-observe-embed-ask s-observe-embed-ask--unknown",children:[e.jsx("div",{className:"s-observe-embed-ask-kicker",children:"Ask"}),e.jsx("div",{className:"s-observe-embed-ask-unknown",children:"Not available for this observed session."})]});const m=r.task.length>g||r.task.split(`
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(c,{size:11,"aria-hidden":"true"})]}),e.jsxs("a",{href:d,target:"_top",children:["Flight ",e.jsx(c,{size:11,"aria-hidden":"true"})]})]})]}),e.jsx("div",{className:`s-observe-embed-ask-body${i?" is-expanded":""}`,children:r.task}),m&&e.jsx("button",{type:"button",className:"s-observe-embed-ask-toggle","aria-expanded":i,onClick:()=>p(t=>!t),children:i?"Show less":"Show full ask"})]})}function Le({agentId:r}){const[s,i]=o.useState(null),[p,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})]})}):p&&!s?e.jsx("div",{className:"s-observe-embed-page",children:e.jsxs("div",{className:"s-observe-embed-empty",children:[e.jsx("div",{className:"s-observe-embed-empty-title",children:"Resolving trace"}),e.jsx("div",{className:"s-observe-embed-empty-detail",children:r})]})}):e.jsxs("div",{className:"s-observe-embed-page",children:[s&&e.jsxs(e.Fragment,{children:[e.jsx(f,{source:s.source,fidelity:s.fidelity,sessionId:s.sessionId,evidence:b({source:s.source,fidelity:s.fidelity,live:s.data.live,eventCount:s.data.events.length})}),e.jsx(I,{ask:s.initiatingAsk,sessionId:s.sessionId})]}),e.jsx(u,{data:s?.data,agentId:r,sessionId:s?.sessionId,showRail:!1,observeSource:s?.source,observeFidelity:s?.fidelity})]})}export{I as InitiatingAsk,Le as ObserveEmbedScreen};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/conversation-motion-features-zU0k3Agz.js","assets/use-reduced-motion-CqXpVXv-.js","assets/index-o4FKpU7Z.js","assets/index-Bu-fckyR.css"])))=>i.map(i=>d[i]);
2
+ import{r as n,j as e,_ as b}from"./index-o4FKpU7Z.js";import{l as p}from"./lane-observe-BA3g9aVd.js";import{C as f}from"./chevron-down-NAhBUkFd.js";import{u as h,L as g,m as x}from"./use-reduced-motion-CqXpVXv-.js";import"./time-Dhsh_2EG.js";import"./tail-display-BRcJltQa.js";import"./lane-edit-display-C_Aujldz.js";import"./createLucideIcon-Bt67PWH-.js";const j=420,N=()=>b(()=>import("./conversation-motion-features-zU0k3Agz.js"),__vite__mapDeps([0,1,2,3])).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 k({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{k as ObserveReasoningDisclosure,R as ObserveStreamCursor};
@@ -1,2 +1,2 @@
1
- import{r as x,j as t}from"./index-CzVeWScw.js";import{a as I}from"./api-h5zurxmi.js";import{a as w}from"./time-Dhsh_2EG.js";function A(e){if(!e)return null;const o=Date.parse(e);return Number.isFinite(o)?o:null}function S(e){return e?e.length<=12?e:e.slice(0,12):null}function R(e){return e.includes("workflow")?"Claude workflows":e.includes("codex")?"Codex":e.includes("claude")?"Claude Code":e.replace(/[-_]/g," ")}function T(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 $(e){const o=[e.label];e.description&&o.push(e.description);const n=T(e);return n&&o.push(n),e.parentSessionId&&o.push(`Parent session ${e.parentSessionId}`),o.join(`
1
+ import{r as x,j as t}from"./index-o4FKpU7Z.js";import{a as I}from"./api-h5zurxmi.js";import{a as w}from"./time-Dhsh_2EG.js";function A(e){if(!e)return null;const o=Date.parse(e);return Number.isFinite(o)?o:null}function S(e){return e?e.length<=12?e:e.slice(0,12):null}function R(e){return e.includes("workflow")?"Claude workflows":e.includes("codex")?"Codex":e.includes("claude")?"Claude Code":e.replace(/[-_]/g," ")}function T(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 $(e){const o=[e.label];e.description&&o.push(e.description);const n=T(e);return n&&o.push(n),e.parentSessionId&&o.push(`Parent session ${e.parentSessionId}`),o.join(`
2
2
  `)}function k(e){return e.name??S(e.externalSessionId)??e.id.replace(/^.*:/,"")}function W(e){return e.status??e.role??e.type??"observed"}function j(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 C(e){return j(e,"claudeWorkflowRunId")??j(e,"workflowRunId")}function P(e,o,n){return o.filter(a=>a.kind==="spawned"&&a.toId===e.id).map(a=>n.get(a.fromId)).filter(a=>!!a).map(k)}function B(e,o){return o.find(n=>n.assigneeId===e.id)??null}function D(e,o){return C(e.providerMeta)===o||e.id.includes(o)}function E(e,o){return C(e.providerMeta)===o||e.id.includes(o)}function q(e){const o=j(e.providerMeta,"latestTimestamp");if(!o)return null;const n=Date.parse(o);return Number.isFinite(n)?n:null}function G(e,o){return e.some(n=>n.state&&b(n.state)===0)||o.some(n=>n.status&&b(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 M(e,o){return e.groups.filter(a=>a.kind==="workflow").map(a=>{const c=C(a.providerMeta)??a.id,d=e.tasks.filter(r=>D(r,c)),m=e.agents.filter(r=>r.role!=="lead"&&E(r,c)),u=d.filter(r=>r.state!=="completed"&&r.state!=="done"),f=d.filter(r=>r.state==="completed"||r.state==="done"),p=m.map(q).filter(r=>!!r).sort((r,h)=>h-r)[0]??null,g=m.reduce((r,h)=>r+(F(h.providerMeta,"eventCount")??0),0),v=(u.length>0?u:d).slice(0,3);return{id:a.id,label:a.name??c,description:j(a.providerMeta,"description"),runId:c,parentSessionId:j(a.providerMeta,"parentSessionId"),status:G(d,m),workerCount:m.length,taskCount:d.length,activeTaskCount:u.length,completedTaskCount:f.length,eventCount:g,latestAt:p??o,taskPreview:v}}).sort((a,c)=>{const d=(c.activeTaskCount>0?1:0)-(a.activeTaskCount>0?1:0);return d!==0?d:(c.latestAt??0)-(a.latestAt??0)||a.label.localeCompare(c.label)})}function b(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 H(e){return e?e.observations.map(o=>({source:o.source,observedAt:A(o.observedAt),topology:o.topology})):[]}function K({topology:e,sessionId:o,size:n="full",title:a="Internal topology",maxAgents:c=n==="rail"?5:8,maxTasks:d=n==="rail"?3:5,showEmpty:m=!1}){const[u,f]=x.useState(null),[p,g]=x.useState(!1);x.useEffect(()=>{if(e)return;let i=!1;const s=o?`?sessionId=${encodeURIComponent(o)}`:"";return I(`/api/topology/snapshot${s}`).then(l=>{i||(f(l),g(!1))}).catch(()=>{i||g(!0)}),()=>{i=!0}},[o,e]);const v=x.useMemo(()=>e?[{source:e.source,observedAt:A(e.observedAt),topology:e}]:H(u),[u,e]),r=x.useMemo(()=>v.reduce((i,s)=>(i.sources+=1,i.workflows+=s.topology.groups.filter(l=>l.kind==="workflow").length,i.agents+=s.topology.agents.length,i.subagents+=s.topology.agents.filter(l=>l.role==="subagent").length,i.tasks+=s.topology.tasks.length,i.activeTasks+=s.topology.tasks.filter(l=>l.state!=="completed").length,i.spawned+=s.topology.relationships.filter(l=>l.kind==="spawned").length,i),{sources:0,workflows:0,agents:0,subagents:0,tasks:0,activeTasks:0,spawned:0}),[v]),h=n==="rail",y=v.reduce((i,s)=>i+M(s.topology,s.observedAt).filter(l=>l.status==="running").length,0);return v.length===0?!m&&!p?null:t.jsxs("section",{className:`s-observed-topology s-observed-topology--${n}`,children:[!h&&t.jsx("header",{className:"s-observed-topology-head",children:t.jsxs("div",{children:[t.jsx("div",{className:"s-observed-topology-kicker",children:"Harness observed"}),t.jsx("h3",{children:a})]})}),t.jsx("div",{className:"s-observed-topology-empty",children:p?"Topology is unavailable right now.":"No interacted agents observed yet."})]}):t.jsxs("section",{className:`s-observed-topology s-observed-topology--${n}`,children:[h?r.workflows>0&&t.jsxs("div",{className:"s-observed-topology-rail-summary",children:[y>0?`${y} running`:"No active workflows",r.workflows>0&&` · ${r.workflows} total`]}):t.jsxs("header",{className:"s-observed-topology-head",children:[t.jsxs("div",{children:[t.jsx("div",{className:"s-observed-topology-kicker",children:"Harness observed"}),t.jsx("h3",{children:a})]}),t.jsxs("div",{className:"s-observed-topology-counts",children:[r.workflows>0&&t.jsxs("span",{children:[r.workflows," workflows"]}),t.jsxs("span",{children:[r.subagents," workers"]}),t.jsxs("span",{children:[r.tasks," tasks"]}),r.activeTasks>0?t.jsxs("span",{children:[r.activeTasks," active"]}):t.jsxs("span",{children:[r.spawned," spawn links"]})]})]}),t.jsx("div",{className:"s-observed-topology-sources",children:v.map(i=>t.jsx(O,{source:i,maxAgents:c,maxTasks:d,size:n},`${i.source}:${i.topology.observedAt}`))})]})}function L({workflow:e}){const o=T(e);return t.jsxs("div",{className:`s-observed-topology-rail-row s-observed-topology-rail-row--${e.status}`,title:$(e),children:[t.jsx("span",{className:`s-observed-topology-rail-dot s-observed-topology-rail-dot--${e.status}`,"aria-label":e.status}),t.jsx("span",{className:"s-observed-topology-rail-name",children:e.label}),o&&t.jsx("span",{className:"s-observed-topology-rail-stats",children:o})]})}function O({source:e,maxAgents:o,maxTasks:n,size:a="full"}){const c=a==="rail",{topology:d}=e,m=new Map(d.agents.map(s=>[s.id,s])),u=M(d,e.observedAt),f=u.slice(0,o),p=u.length-f.length,g=(s,l)=>b(s.status)-b(l.status)||k(s).localeCompare(k(l)),v=d.agents.filter(s=>s.role==="subagent").sort(g),r=d.agents.filter(s=>s.role==="lead").sort(g),h=d.agents.filter(s=>s.role!=="subagent"&&s.role!=="lead").sort(g),y=[...r,...v,...h].slice(0,o),i=d.tasks.filter(s=>s.state!=="completed").sort((s,l)=>b(s.state)-b(l.state)||(s.title??s.id).localeCompare(l.title??l.id)).slice(0,n);return t.jsxs("div",{className:"s-observed-topology-source",children:[!c&&t.jsxs("div",{className:"s-observed-topology-source-head",children:[t.jsx("span",{children:R(e.source)}),t.jsx("span",{children:w(e.observedAt)||"observed"})]}),u.length>0?c?t.jsxs("div",{className:"s-observed-topology-rail-list",children:[f.map(s=>t.jsx(L,{workflow:s},s.id)),p>0&&t.jsxs("div",{className:"s-observed-topology-rail-more",children:["+",p," more workflow",p===1?"":"s"]})]}):t.jsxs("div",{className:"s-observed-topology-workflow-list",children:[f.map(s=>t.jsxs("div",{className:"s-observed-topology-workflow",children:[t.jsxs("div",{className:"s-observed-topology-workflow-main",children:[t.jsx("span",{className:`s-observed-topology-workflow-state s-observed-topology-workflow-state--${s.status}`,children:s.status}),t.jsx("span",{className:"s-observed-topology-workflow-name",title:$(s),children:s.label}),t.jsx("span",{className:"s-observed-topology-workflow-age",children:w(s.latestAt)||"observed"})]}),t.jsxs("div",{className:"s-observed-topology-workflow-meta",children:[t.jsxs("span",{children:[s.workerCount," workers"]}),s.taskCount>0&&t.jsxs("span",{children:[s.completedTaskCount,"/",s.taskCount," tasks"]}),s.eventCount>0&&t.jsxs("span",{children:[s.eventCount," events"]}),s.parentSessionId&&t.jsxs("span",{children:["parent ",S(s.parentSessionId)]})]}),s.description&&t.jsx("div",{className:"s-observed-topology-workflow-description",children:s.description}),s.taskPreview.length>0&&t.jsx("div",{className:"s-observed-topology-workflow-tasks",children:s.taskPreview.map(l=>t.jsx("span",{children:l.title??l.id.replace(/^.*:/,"")},l.id))})]},s.id)),p>0&&t.jsxs("div",{className:"s-observed-topology-more",children:[p," more workflow",p===1?"":"s"]})]}):t.jsx("div",{className:"s-observed-topology-agent-list",children:y.map(s=>{const l=P(s,d.relationships,m),N=B(s,d.tasks);return t.jsxs("div",{className:"s-observed-topology-agent",children:[t.jsxs("div",{className:"s-observed-topology-agent-main",children:[t.jsx("span",{className:`s-observed-topology-agent-role s-observed-topology-agent-role--${s.role??"observed"}`,children:s.role??"observed"}),t.jsx("span",{className:"s-observed-topology-agent-name",children:k(s)}),t.jsx("span",{className:"s-observed-topology-agent-status",children:W(s)})]}),(l.length>0||N?.title)&&t.jsxs("div",{className:"s-observed-topology-agent-detail",children:[l.length>0&&t.jsxs("span",{children:["spawned by ",l.join(", ")]}),N?.title&&t.jsx("span",{children:N.title})]})]},s.id)})}),u.length===0&&i.length>0&&t.jsx("div",{className:"s-observed-topology-task-list",children:i.map(s=>t.jsxs("div",{className:"s-observed-topology-task",children:[t.jsx("span",{children:s.state??"task"}),t.jsx("strong",{children:s.title??s.id.replace(/^.*:/,"")})]},s.id))})]})}export{K as O};