@openscout/scout 0.2.107 → 0.2.109

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 (545) hide show
  1. package/README.md +53 -16
  2. package/bin/scoutd +0 -0
  3. package/dist/build-manifest.json +3 -3
  4. package/dist/client/assets/conversation-motion-features-PYM3Yx_M.js +1 -0
  5. package/dist/client/assets/index-DGR8nSEY.js +88 -0
  6. package/dist/client/assets/index-rA7f7Rt0.css +1 -0
  7. package/dist/client/index.html +3 -3
  8. package/dist/main.mjs +1 -1
  9. package/package.json +26 -4
  10. package/server.json +2 -2
  11. package/dist/client/assets/ActivityScreen-CZmGwQ2U.js +0 -1
  12. package/dist/client/assets/AddProjectForm-CusDRiVO.js +0 -1
  13. package/dist/client/assets/AdventureEvidence-CyegKk1V.js +0 -5
  14. package/dist/client/assets/AdventureReader-X-hbTOi0.js +0 -4
  15. package/dist/client/assets/AdventureScenery-LPXSVP67.js +0 -1
  16. package/dist/client/assets/AgentAdventures-BAgxdOF8.js +0 -1
  17. package/dist/client/assets/AgentAvatar-CrP1eXxk.js +0 -1
  18. package/dist/client/assets/AgentConfigurationScreen-1L0IQm2w.js +0 -1
  19. package/dist/client/assets/AgentDefinitionsWorkspace-DguGs7jZ.js +0 -1
  20. package/dist/client/assets/AgentDetailCard-C4WVeJvJ.css +0 -1
  21. package/dist/client/assets/AgentDetailCard-DtHT3sCo.js +0 -1
  22. package/dist/client/assets/AgentFloorView-DH4jiDgw.js +0 -1
  23. package/dist/client/assets/AgentFloorWorld-CjoIa6jA.js +0 -1
  24. package/dist/client/assets/AgentInfoScreen-DYtmKkeE.js +0 -1
  25. package/dist/client/assets/AgentLaneCard-BaZ2g-f8.js +0 -1
  26. package/dist/client/assets/AgentLaneChrome-TF1SlJSc.js +0 -1
  27. package/dist/client/assets/AgentLaneDetailSheet-EzEPsn3g.js +0 -4
  28. package/dist/client/assets/AgentLaneSummaryResize-dpp7YvrX.js +0 -1
  29. package/dist/client/assets/AgentLanesEmbedScreen-BlSof_6S.js +0 -1
  30. package/dist/client/assets/AgentLanesPreflight-Ry-aqDTr.js +0 -1
  31. package/dist/client/assets/AgentLanesView-BJi9xXz6.js +0 -2
  32. package/dist/client/assets/AgentLiveActions-CGS-Bxb7.css +0 -1
  33. package/dist/client/assets/AgentLiveActions-CfTupTEl.js +0 -1
  34. package/dist/client/assets/AgentMasterScreen-EJhmuKgl.js +0 -1
  35. package/dist/client/assets/AgentSessions-B1gOhDBf.js +0 -6
  36. package/dist/client/assets/AgentsConsole-BjSTs-TV.css +0 -1
  37. package/dist/client/assets/AgentsConsole-RXGqRvcb.js +0 -1
  38. package/dist/client/assets/AgentsScreen-ChwMBs11.js +0 -1
  39. package/dist/client/assets/AgentsSubnav-DwNX4yy0.js +0 -1
  40. package/dist/client/assets/AstronautSuit-Cchnc4Ug.js +0 -1
  41. package/dist/client/assets/AtopView-gkEp4y__.js +0 -1
  42. package/dist/client/assets/BackToPicker-CUkjnoVk.js +0 -1
  43. package/dist/client/assets/BackToPicker-CdgVu-to.css +0 -1
  44. package/dist/client/assets/BriefingDetailScreen-DrlC3qkm.js +0 -1
  45. package/dist/client/assets/BriefingsScreen-B1HlBMGZ.js +0 -1
  46. package/dist/client/assets/BrokerMetadataPanel-Dk242Yh_.js +0 -1
  47. package/dist/client/assets/BrokerScreen-DwOF6bMA.js +0 -8
  48. package/dist/client/assets/Canvas-X9pVSkw3.js +0 -1
  49. package/dist/client/assets/CastPicker-BXUtPAGC.js +0 -1
  50. package/dist/client/assets/CastPicker-zXsnkTIy.css +0 -1
  51. package/dist/client/assets/ChannelComposer-DoK7IDGa.js +0 -1
  52. package/dist/client/assets/ChannelSidebar-e9DOPulb.js +0 -1
  53. package/dist/client/assets/CharacterFamilyPreview-BniL8sEL.css +0 -1
  54. package/dist/client/assets/CharacterFamilyPreview-DMfw7UM_.js +0 -1
  55. package/dist/client/assets/ChatAvatar-C3a_o5Hj.js +0 -1
  56. package/dist/client/assets/ChatBits-CsvxbToF.js +0 -1
  57. package/dist/client/assets/ChatCollapsedStrip-FEmQ_G9J.js +0 -1
  58. package/dist/client/assets/ChatRichInput-DhtwFxQE.js +0 -31
  59. package/dist/client/assets/ChatRightPanel-C1h_aIkn.js +0 -1
  60. package/dist/client/assets/ChatSpaceSurface-BXyLYKHn.js +0 -1
  61. package/dist/client/assets/ChatSpaceTheme-3wLZGsvT.css +0 -1
  62. package/dist/client/assets/ChatSpaceTheme-CUH8bTZc.js +0 -1
  63. package/dist/client/assets/CodeDiffPane-DuQRwpgK.js +0 -1
  64. package/dist/client/assets/CodeProjectPicker-ZQ6gSBpg.js +0 -2
  65. package/dist/client/assets/CodeScreen-BXyKeL5T.js +0 -1
  66. package/dist/client/assets/CommsCanvas-BR2YS76H.css +0 -1
  67. package/dist/client/assets/CommsCanvas-THp0r_U8.js +0 -1
  68. package/dist/client/assets/CommsDeck-BVmSMV2V.js +0 -1
  69. package/dist/client/assets/CommsFlowGraph-DxoOaLF_.js +0 -1
  70. package/dist/client/assets/CommsFlowGraph-vQucylxF.css +0 -1
  71. package/dist/client/assets/CommsFlowMap-Vi8ziCPg.js +0 -1
  72. package/dist/client/assets/CommsSelection-BUoRbu9o.js +0 -1
  73. package/dist/client/assets/ComposerAttachments-DW0AIb8k.js +0 -1
  74. package/dist/client/assets/ConversationComposer-CUQyArlk.js +0 -1
  75. package/dist/client/assets/ConversationFeedRows-DWiOfT-y.js +0 -1
  76. package/dist/client/assets/ConversationHeader-C-ZWscKj.js +0 -1
  77. package/dist/client/assets/ConversationPanels-D9oC0xG5.js +0 -6
  78. package/dist/client/assets/ConversationScreen-9MlMnEo4.css +0 -1
  79. package/dist/client/assets/ConversationScreen-CUfsQ4MR.js +0 -2
  80. package/dist/client/assets/ConversationStatus--IPm2nGh.js +0 -1
  81. package/dist/client/assets/CrewAvatar-BnIPIn_Z.css +0 -1
  82. package/dist/client/assets/CrewAvatar-kTznzqcO.js +0 -1
  83. package/dist/client/assets/CrewSprite-Dhryjx2c.js +0 -1
  84. package/dist/client/assets/CrewSprite-DsQJdu3Z.css +0 -1
  85. package/dist/client/assets/CrewStage-vdO0qm3D.js +0 -1
  86. package/dist/client/assets/CrewWorkspaces-DCBzAAS4.js +0 -1
  87. package/dist/client/assets/CrewWorkspaces-DDuYMByu.css +0 -1
  88. package/dist/client/assets/DataTable-aH-jCyDq.js +0 -1
  89. package/dist/client/assets/DispatchAftermath-66uQAorV.js +0 -1
  90. package/dist/client/assets/DocumentFocusViewer-BSC_JwVE.css +0 -1
  91. package/dist/client/assets/DocumentFocusViewer-DJr0v0D_.js +0 -1
  92. package/dist/client/assets/EmbeddableSurfacesLab-BBa70EhJ.js +0 -1
  93. package/dist/client/assets/EmptyState-CZlrHXy-.js +0 -1
  94. package/dist/client/assets/FileViewerPane-BAO6mtjD.js +0 -3
  95. package/dist/client/assets/FleetRollCallHud-C5q2567n.js +0 -1
  96. package/dist/client/assets/FlightObserveScreen-DZ2mrw91.js +0 -1
  97. package/dist/client/assets/FloorContextSheet-2_NVPQor.js +0 -1
  98. package/dist/client/assets/FloorExchangePanel-B3TFhjLk.css +0 -1
  99. package/dist/client/assets/FloorExchangePanel-BU1pPu8K.js +0 -1
  100. package/dist/client/assets/FloorMessagePasses-cLW2UGNP.js +0 -1
  101. package/dist/client/assets/FloorMessagePasses-nxwwiUom.css +0 -1
  102. package/dist/client/assets/FloorReplay-VFzA6Kxc.js +0 -1
  103. package/dist/client/assets/FloorResourcesSheet-C-kQ6Ren.js +0 -1
  104. package/dist/client/assets/FloorSavedWork-BeHDejWz.js +0 -1
  105. package/dist/client/assets/FloorTacticalHUD-CO-iiFpb.js +0 -1
  106. package/dist/client/assets/FollowScreen-CFfkIbc6.js +0 -1
  107. package/dist/client/assets/HarnessMark-C4naWc16.js +0 -1
  108. package/dist/client/assets/HarnessesScreen-DX3NLcDG.js +0 -1
  109. package/dist/client/assets/HerdrSession-_t7yM8vX.js +0 -4
  110. package/dist/client/assets/HomeHero-7JwycwFY.css +0 -1
  111. package/dist/client/assets/HomeHero-DouPyNmz.js +0 -1
  112. package/dist/client/assets/HostAdvisorView-CnM1i8hW.js +0 -1
  113. package/dist/client/assets/InviteLandingScreen-CEjG2E34.js +0 -1
  114. package/dist/client/assets/InviteSheet-CwxZtWCl.js +0 -1
  115. package/dist/client/assets/JumpPalette-O1aJE9gR.js +0 -1
  116. package/dist/client/assets/KnowledgeSearchInspector-32n9baT-.js +0 -1
  117. package/dist/client/assets/KnowledgeSearchScreen-Dd6jrQ0A.js +0 -1
  118. package/dist/client/assets/LaneToolHoverCard-CJa110yk.js +0 -1
  119. package/dist/client/assets/LaneTraceDetailSheet-DYrd0BIf.js +0 -1
  120. package/dist/client/assets/LaneTraceEventFocus-TbrNHRj_.js +0 -1
  121. package/dist/client/assets/MeshCanvas-DWZHYh1A.js +0 -3
  122. package/dist/client/assets/MeshCanvasMinimap-Dv7nMbl5.css +0 -1
  123. package/dist/client/assets/MeshCanvasMinimap-iswYFpIb.js +0 -1
  124. package/dist/client/assets/MeshScreen-8nAzQVbm.js +0 -1
  125. package/dist/client/assets/MeshTopologyView-BVvtqI8q.js +0 -2
  126. package/dist/client/assets/MessageEmbeds-ksPazAKH.js +0 -1
  127. package/dist/client/assets/MessagesScreen-C3WB4T21.js +0 -1
  128. package/dist/client/assets/MissionContextRail-D62-Wis8.js +0 -1
  129. package/dist/client/assets/MissionControlView-B9cNPXvl.js +0 -1
  130. package/dist/client/assets/MissionFocusOverlay-C1zys3Jv.js +0 -1
  131. package/dist/client/assets/MissionLeftAgentRow-vycMV77n.js +0 -1
  132. package/dist/client/assets/MissionLogPane-B19lYSY9.js +0 -1
  133. package/dist/client/assets/NativeAreaScreen-B1RLa85C.js +0 -1
  134. package/dist/client/assets/NativeAreaScreen-CV0OhGra.js +0 -1
  135. package/dist/client/assets/NativeAreaScreen-CzuZt6o1.js +0 -1
  136. package/dist/client/assets/NewAgentModal-Bh-L-emz.js +0 -1
  137. package/dist/client/assets/NewAgentModal-ru8u5YdJ.css +0 -1
  138. package/dist/client/assets/NewChatComposer-C5LT7MF7.css +0 -1
  139. package/dist/client/assets/NewChatComposer-C97-iTMK.js +0 -19
  140. package/dist/client/assets/NewChatOrigin-DFbF_XvR.js +0 -1
  141. package/dist/client/assets/NodeDetailPanel-CElOEpCh.js +0 -1
  142. package/dist/client/assets/NodeMenu-B-jjHf1c.js +0 -1
  143. package/dist/client/assets/ObserveEmbedScreen-B7Qt69Ms.js +0 -2
  144. package/dist/client/assets/ObserveTextFlow-PFnG_10h.js +0 -2
  145. package/dist/client/assets/ObservedTopologyPanel-BsBsvVPL.css +0 -1
  146. package/dist/client/assets/ObservedTopologyPanel-CUTIoLZJ.js +0 -2
  147. package/dist/client/assets/OpenScoutAppShell-37PDFfA4.js +0 -31
  148. package/dist/client/assets/OpenScoutAppShell-Bh6FnEJO.css +0 -1
  149. package/dist/client/assets/OpsAgentsView-DajlX8LO.js +0 -1
  150. package/dist/client/assets/OpsScreen-jVcaBKGi.js +0 -1
  151. package/dist/client/assets/OpsSubnav-BOOYShHE.js +0 -1
  152. package/dist/client/assets/ProjectAgentProfile-D_wlW4sQ.js +0 -1
  153. package/dist/client/assets/ProjectAgentProfileBar-DHuMKJj-.js +0 -1
  154. package/dist/client/assets/ProjectAgentProfileHero-Dbebtug1.js +0 -1
  155. package/dist/client/assets/ProjectsInbox-B8zYE4vP.css +0 -1
  156. package/dist/client/assets/ProjectsInbox-Cgu7B4--.js +0 -2
  157. package/dist/client/assets/ProjectsRail-CDWocin_.js +0 -1
  158. package/dist/client/assets/ProjectsScreen-B_CJycqW.js +0 -1
  159. package/dist/client/assets/ProjectsThreadAside-1MMl_qUD.js +0 -1
  160. package/dist/client/assets/Provider-C35yu29I.js +0 -5
  161. package/dist/client/assets/Provider-CCzjtkda.css +0 -1
  162. package/dist/client/assets/RailRow-B25zKEub.css +0 -1
  163. package/dist/client/assets/RailRow-BjmWK420.js +0 -1
  164. package/dist/client/assets/RawSessionsTable-DzT90hWu.js +0 -1
  165. package/dist/client/assets/RealtimeVoiceScreen-B6ylX3WQ.js +0 -16
  166. package/dist/client/assets/RenderedWorkerSprite-Dhlyg89J.js +0 -1
  167. package/dist/client/assets/RenderedWorkerSprite-qnTfkd_4.css +0 -1
  168. package/dist/client/assets/ReplayClock-348f17bW.js +0 -1
  169. package/dist/client/assets/ReplayLog-CBnAM3ui.js +0 -1
  170. package/dist/client/assets/ReplayOutpost-DyRPfNFx.js +0 -1
  171. package/dist/client/assets/ReplayOutpost-Y1DvZgeu.css +0 -1
  172. package/dist/client/assets/RepoDiffEmbedScreen-BWxvRDrS.js +0 -1
  173. package/dist/client/assets/RepoDiffPageScreen-DN94irmY.js +0 -1
  174. package/dist/client/assets/RepoDiffViewer-_4JVXBIW.js +0 -7
  175. package/dist/client/assets/RepoDiffViewerLazy-XGVC3WXv.js +0 -2
  176. package/dist/client/assets/ReposScreen-uMCpt0e9.js +0 -6
  177. package/dist/client/assets/RiggedWorkerCharacter-BpYECnyK.css +0 -1
  178. package/dist/client/assets/RiggedWorkerCharacter-q6QRc7_o.js +0 -1
  179. package/dist/client/assets/SageModelStudio-768dRQr4.css +0 -1
  180. package/dist/client/assets/SageModelStudio-CNDhZhgD.js +0 -4108
  181. package/dist/client/assets/ScoutDeckSurface-CUaU4R6T.js +0 -1
  182. package/dist/client/assets/ScoutDeckSurface-uhmuZRzC.css +0 -1
  183. package/dist/client/assets/ScoutSurface-3_25USO_.js +0 -1
  184. package/dist/client/assets/ScoutbotFxLab-CRqhYe0a.js +0 -4
  185. package/dist/client/assets/SecondaryNav-D7dbV2qo.js +0 -1
  186. package/dist/client/assets/SessionContextStrip-CXfs9hUD.js +0 -1
  187. package/dist/client/assets/SessionContextStrip-DAIXwtHd.css +0 -1
  188. package/dist/client/assets/SessionEmbedScreen-D0zFmou-.js +0 -1
  189. package/dist/client/assets/SessionHopMenu-E6VJZrE0.js +0 -1
  190. package/dist/client/assets/SessionObserve-CDdJ7fAE.css +0 -1
  191. package/dist/client/assets/SessionObserve-DXxBvejJ.js +0 -12
  192. package/dist/client/assets/SessionObserveEvidence-Cuj_KHxR.js +0 -1
  193. package/dist/client/assets/SessionRefScreen-DqLSUlCE.js +0 -1
  194. package/dist/client/assets/SessionsScreen-BLIRkohT.js +0 -1
  195. package/dist/client/assets/SettingsDrawer-R8a0TlJD.css +0 -1
  196. package/dist/client/assets/SettingsDrawer-juCpnbH6.js +0 -3
  197. package/dist/client/assets/SettingsScreen-BtGzE2-O.js +0 -1
  198. package/dist/client/assets/SharedFloorCharacter-Bi5_md4R.css +0 -1
  199. package/dist/client/assets/SharedFloorCharacter-DNEiaOUh.js +0 -1
  200. package/dist/client/assets/SharedWorkFloor-0rqtdF-n.css +0 -1
  201. package/dist/client/assets/SharedWorkFloor-D9mf9KSg.js +0 -2
  202. package/dist/client/assets/ShikiPane-CRtTYkMj.js +0 -15
  203. package/dist/client/assets/SlidePanel-Bg5dVaIa.css +0 -1
  204. package/dist/client/assets/SlidePanel-_CHAQdOa.js +0 -1
  205. package/dist/client/assets/SpaceSwitcher-BLgSCf_T.js +0 -1
  206. package/dist/client/assets/SpriteAvatar-CpZWf54-.js +0 -1
  207. package/dist/client/assets/SproutActionSprite-BSiTS4en.js +0 -1
  208. package/dist/client/assets/StatusPill-2gCP6H7A.js +0 -1
  209. package/dist/client/assets/TailView-CYSijNTy.js +0 -2
  210. package/dist/client/assets/TailView-Mj3AU2u0.css +0 -1
  211. package/dist/client/assets/Terminal-Bi97yb5s.js +0 -4
  212. package/dist/client/assets/TerminalEmbedScreen-Bqop67Bq.js +0 -1
  213. package/dist/client/assets/TerminalHeaderMount-Cq4OD_xN.js +0 -1
  214. package/dist/client/assets/TerminalRelay-DrikpUSJ.js +0 -46
  215. package/dist/client/assets/TextDocumentSurface-D52m7Vd8.js +0 -4
  216. package/dist/client/assets/TmuxPeek-CXFeweMg.js +0 -1
  217. package/dist/client/assets/VoiceControlWell-DF3bjcYA.js +0 -1
  218. package/dist/client/assets/VoicePathDiagram-CmpHWfO-.js +0 -1
  219. package/dist/client/assets/VoicePermissionsPanel-Ok2nfxHw.js +0 -1
  220. package/dist/client/assets/VoicePermissionsPanel-RijAZ1gP.css +0 -1
  221. package/dist/client/assets/VoiceTurnDetails-wAByRaNB.js +0 -8
  222. package/dist/client/assets/VoiceTurnStage-edoJalLV.js +0 -1
  223. package/dist/client/assets/VoiceTurnView-D-8g5E4r.js +0 -1
  224. package/dist/client/assets/WorkDetailScreen-zQkNVy2F.js +0 -5
  225. package/dist/client/assets/WorkFilesViewer-vNt01sDd.js +0 -1
  226. package/dist/client/assets/WorkRunView-BDkR7Edq.js +0 -1
  227. package/dist/client/assets/WorkRunView-CxwAZ2QQ.css +0 -1
  228. package/dist/client/assets/WorldActorTalk-BvSg_b1y.js +0 -1
  229. package/dist/client/assets/WorldCharacter-CIIlutQq.js +0 -1
  230. package/dist/client/assets/WorldMinimap-B6HNgcDe.js +0 -1
  231. package/dist/client/assets/WorldSky-Jm2Z6dfW.js +0 -1
  232. package/dist/client/assets/activity-CIlFrfPJ.js +0 -1
  233. package/dist/client/assets/addon-fit-dFpj9Kfq.js +0 -1
  234. package/dist/client/assets/addon-webgl-BFCGRtGh.js +0 -82
  235. package/dist/client/assets/adventure-evidence-DgQbBmfa.css +0 -1
  236. package/dist/client/assets/adventure-habitats-v1-CVMbdB_Z.png +0 -0
  237. package/dist/client/assets/adventure-habitats-v1-M1lcpTJh.js +0 -1
  238. package/dist/client/assets/adventure-playback-DTfkhIc0.js +0 -3
  239. package/dist/client/assets/adventure-reader-DM5UDDm9.css +0 -1
  240. package/dist/client/assets/agent-adventures-DZtWpj6k.css +0 -1
  241. package/dist/client/assets/agent-definitions-CymTYqvo.css +0 -1
  242. package/dist/client/assets/agent-directory-studio-injection-Bc8590z5.css +0 -1
  243. package/dist/client/assets/agent-essentials-BGGvT5G6.js +0 -1
  244. package/dist/client/assets/agent-floor-Dmr9hZHL.css +0 -1
  245. package/dist/client/assets/agent-floor-actor-DW8zLht0.js +0 -1
  246. package/dist/client/assets/agent-floor-world-Bnd1AtwK.css +0 -1
  247. package/dist/client/assets/agent-floor-world-layout-hfMjuoui.js +0 -1
  248. package/dist/client/assets/agent-lane-card-BkWVDYM8.css +0 -1
  249. package/dist/client/assets/agent-lane-card-model-CeqQGp-8.js +0 -1
  250. package/dist/client/assets/agent-lane-detail-Ti3trpfH.js +0 -2
  251. package/dist/client/assets/agent-lane-preview-Dpa3DuOn.js +0 -4
  252. package/dist/client/assets/agent-lanes-DmgipV9D.css +0 -1
  253. package/dist/client/assets/agent-lanes-model-DMAdqCmK.js +0 -4
  254. package/dist/client/assets/agent-master-THmq-1k8.css +0 -1
  255. package/dist/client/assets/agent-master-model-Bk_yuUXJ.js +0 -1
  256. package/dist/client/assets/agent-specialization-DDc7mLCW.js +0 -1
  257. package/dist/client/assets/agent-state-DDhnFEEP.js +0 -1
  258. package/dist/client/assets/agents-detail-redesign-h34ROjOW.css +0 -1
  259. package/dist/client/assets/agents-project-DgbqDc65.css +0 -1
  260. package/dist/client/assets/agents-screen-BYakbO50.css +0 -1
  261. package/dist/client/assets/api-BQYTwoz6.js +0 -1
  262. package/dist/client/assets/api-DSqpVKC7.js +0 -1
  263. package/dist/client/assets/arc.es-C1SQHJ3k.js +0 -188
  264. package/dist/client/assets/arrow-left-MVUKauwQ.js +0 -1
  265. package/dist/client/assets/arrow-right-Bp-FpE5V.js +0 -1
  266. package/dist/client/assets/arrow-up-right-BPedAgxO.js +0 -1
  267. package/dist/client/assets/bash-format-BRV5C6Gv.js +0 -1
  268. package/dist/client/assets/book-open-CV98WMSp.js +0 -1
  269. package/dist/client/assets/bot-B4zLQ4IN.js +0 -1
  270. package/dist/client/assets/briefings-BwuAFQK6.css +0 -1
  271. package/dist/client/assets/broker-display-BkBzyvbR.js +0 -2
  272. package/dist/client/assets/cache-DGBo3vIf.js +0 -2
  273. package/dist/client/assets/chat-api-DSJMBYoT.js +0 -2
  274. package/dist/client/assets/chat-message-markup-91DIry6R.js +0 -1
  275. package/dist/client/assets/chat-space-model-aW3Fd8_U.js +0 -4
  276. package/dist/client/assets/chat-transport-DNS5CB2I.js +0 -1
  277. package/dist/client/assets/check-lrJ3a73a.js +0 -1
  278. package/dist/client/assets/chevron-down-l1mrh5S9.js +0 -1
  279. package/dist/client/assets/chevron-right-DrfqcerI.js +0 -1
  280. package/dist/client/assets/chevron-up-CETZJzjV.js +0 -1
  281. package/dist/client/assets/chunk-HRAB3GC3-DbVLgbWX.js +0 -1
  282. package/dist/client/assets/clipboard-e3fSpeo7.js +0 -1
  283. package/dist/client/assets/clock-BV1aqPkK.js +0 -1
  284. package/dist/client/assets/code-screen-DrKinCyh.css +0 -1
  285. package/dist/client/assets/code-xml-BhcNbLWU.js +0 -1
  286. package/dist/client/assets/coffee-D7EAOdCk.js +0 -1
  287. package/dist/client/assets/collapsed-strip-raJWthAH.css +0 -1
  288. package/dist/client/assets/colors-CFlbwC25.js +0 -1
  289. package/dist/client/assets/comms-deck-C8nVeMBh.css +0 -1
  290. package/dist/client/assets/comms-deck-CBhsXnY-.js +0 -2
  291. package/dist/client/assets/comms-gesture-_aGFo6g3.js +0 -2
  292. package/dist/client/assets/compass-63TUaz5_.js +0 -1
  293. package/dist/client/assets/console-B1IBqLI_.css +0 -1
  294. package/dist/client/assets/content-B1lgE8qr.js +0 -1
  295. package/dist/client/assets/content-B5l11YyQ.js +0 -1
  296. package/dist/client/assets/content-BNZOZEpX.js +0 -1
  297. package/dist/client/assets/content-BRIxP155.js +0 -1
  298. package/dist/client/assets/content-BWd8gt8L.js +0 -1
  299. package/dist/client/assets/content-BfwS2jAK.js +0 -1
  300. package/dist/client/assets/content-C4p43_eT.js +0 -1
  301. package/dist/client/assets/content-CINHz-rZ.css +0 -1
  302. package/dist/client/assets/content-CdYfaoDV.js +0 -1
  303. package/dist/client/assets/content-CzldLxw0.js +0 -1
  304. package/dist/client/assets/content-D-olnc4U.js +0 -1
  305. package/dist/client/assets/content-DTioimq4.js +0 -1
  306. package/dist/client/assets/content-LOebm3_d.js +0 -1
  307. package/dist/client/assets/content-nGlEZhUI.js +0 -1
  308. package/dist/client/assets/content-oyzDM-LK.js +0 -1
  309. package/dist/client/assets/content-x1PHxED7.js +0 -1
  310. package/dist/client/assets/content-zX3ZY3T9.js +0 -1
  311. package/dist/client/assets/context-budget-8qFKqM-j.js +0 -1
  312. package/dist/client/assets/conversation-icons-Tqba2d56.js +0 -1
  313. package/dist/client/assets/conversation-model-FxDeWlle.js +0 -1
  314. package/dist/client/assets/conversation-motion-features-C5zjuNwE.js +0 -1
  315. package/dist/client/assets/conversation-prefs-DNre-Lcx.js +0 -1
  316. package/dist/client/assets/conversations-DoAAO6kA.js +0 -1
  317. package/dist/client/assets/copy-xKeM5ZtU.js +0 -1
  318. package/dist/client/assets/cpu-BOTa_WLr.js +0 -1
  319. package/dist/client/assets/createLucideIcon-zZ8Hx7er.js +0 -1
  320. package/dist/client/assets/credentials-OeoF-VKJ.js +0 -1
  321. package/dist/client/assets/ctx-panel-BC8fpcWJ.css +0 -1
  322. package/dist/client/assets/direct-voice-BbLPuJ04.js +0 -2
  323. package/dist/client/assets/direct-voice-DbO7CSv_.css +0 -1
  324. package/dist/client/assets/discover-DJFxyV1k.js +0 -2
  325. package/dist/client/assets/embed-entry-Lyvu0Kfc.js +0 -2
  326. package/dist/client/assets/embed-navigation-DayfkQau.js +0 -1
  327. package/dist/client/assets/external-link-CUObqmgX.js +0 -1
  328. package/dist/client/assets/eye-LrO-cXQt.js +0 -1
  329. package/dist/client/assets/file-code-corner-CsU7jJpu.js +0 -1
  330. package/dist/client/assets/file-text-CnISiiw6.js +0 -1
  331. package/dist/client/assets/flag-C4wl8z2-.js +0 -1
  332. package/dist/client/assets/fleet-roll-call-BUgf7w-V.css +0 -1
  333. package/dist/client/assets/flight-observe-GFg9L8ft.css +0 -1
  334. package/dist/client/assets/floor-character-name-CqJPOlXb.js +0 -1
  335. package/dist/client/assets/floor-context-model-rWKqaKmV.js +0 -1
  336. package/dist/client/assets/floor-context-sheet-BFnkFiY3.css +0 -1
  337. package/dist/client/assets/floor-memory-YMM8AlLY.js +0 -1
  338. package/dist/client/assets/floor-message-passes-CO3Ix_wR.js +0 -1
  339. package/dist/client/assets/floor-preview-text-HrORUJ7D.js +0 -1
  340. package/dist/client/assets/floor-replay-CccYqE-f.css +0 -1
  341. package/dist/client/assets/floor-tactical-hud-HL5Vja5Y.css +0 -1
  342. package/dist/client/assets/folder-D5prSkzz.js +0 -1
  343. package/dist/client/assets/follow-route-BvcGtBIL.js +0 -1
  344. package/dist/client/assets/fx-z37u1o2z.js +0 -1
  345. package/dist/client/assets/gauge-D9_5iJEm.js +0 -1
  346. package/dist/client/assets/gestures-QZub3Ot9.js +0 -1
  347. package/dist/client/assets/git-branch-B0_fPLO7.js +0 -1
  348. package/dist/client/assets/go-shortcuts-DicR7sUf.js +0 -1
  349. package/dist/client/assets/harnesses-screen-2z36fJKE.css +0 -1
  350. package/dist/client/assets/home-live-action-BkqGLVRY.js +0 -1
  351. package/dist/client/assets/home-moving-signal-DMguaRWR.css +0 -1
  352. package/dist/client/assets/home-moving-signal-rpMhsOJB.js +0 -1
  353. package/dist/client/assets/home-now-card-ByE6Umcx.js +0 -1
  354. package/dist/client/assets/home-now-card-nano-B5Dv3-pb.js +0 -1
  355. package/dist/client/assets/hooks-D787lBmm.css +0 -1
  356. package/dist/client/assets/hooks-_eCZZPsR.js +0 -2
  357. package/dist/client/assets/host-advisor-B2Fqs5Dd.css +0 -1
  358. package/dist/client/assets/inbox-thread-redesign-B_1ocqaX.css +0 -1
  359. package/dist/client/assets/index-724SdE6r.js +0 -1
  360. package/dist/client/assets/index-BWHgHrtv.js +0 -1
  361. package/dist/client/assets/index-CHD0qcfL.js +0 -1
  362. package/dist/client/assets/index-CN4rBB_s.css +0 -1
  363. package/dist/client/assets/index-D1d98iYf.js +0 -1
  364. package/dist/client/assets/index-EsrkGBcv.js +0 -10
  365. package/dist/client/assets/index-gGHPA-By.js +0 -1
  366. package/dist/client/assets/index-wLwc74Pu.css +0 -1
  367. package/dist/client/assets/inspector-panel-BkgUDn6G.js +0 -2
  368. package/dist/client/assets/keyboard-nav-DDHegDbx.js +0 -1
  369. package/dist/client/assets/knowledge-search-BNdQweGz.css +0 -1
  370. package/dist/client/assets/lane-ask-display-BTVSakyo.js +0 -18
  371. package/dist/client/assets/lane-edit-display-BjdT9oZl.js +0 -9
  372. package/dist/client/assets/lane-observe-CteDwdD-.js +0 -7
  373. package/dist/client/assets/lane-roster-store-D-RSWjb-.js +0 -1
  374. package/dist/client/assets/lane-tool-detail-Czggx8oM.js +0 -9
  375. package/dist/client/assets/layers-C8PDiMul.js +0 -1
  376. package/dist/client/assets/layout-grid-Cor2frzj.js +0 -1
  377. package/dist/client/assets/left-BV9yMiTL.css +0 -1
  378. package/dist/client/assets/left-Bn5X7x2o.js +0 -2
  379. package/dist/client/assets/left-BqS0fYX1.js +0 -1
  380. package/dist/client/assets/left-CAaRBK9S.css +0 -1
  381. package/dist/client/assets/left-CTCeeeD3.js +0 -1
  382. package/dist/client/assets/left-DhtVPVux.js +0 -1
  383. package/dist/client/assets/left-K39b-Wvx.js +0 -2
  384. package/dist/client/assets/left-KGmueNPt.js +0 -1
  385. package/dist/client/assets/left-P_GOYB-s.js +0 -1
  386. package/dist/client/assets/left-R2OOE7VG.css +0 -1
  387. package/dist/client/assets/left-advisor-B0N47De2.js +0 -1
  388. package/dist/client/assets/left-agents-CsSNc51Y.js +0 -1
  389. package/dist/client/assets/left-default-BlO5LP2T.js +0 -1
  390. package/dist/client/assets/left-lanes-C4PhaJE6.js +0 -1
  391. package/dist/client/assets/left-mission-BjTE5vPa.js +0 -1
  392. package/dist/client/assets/left-mission-DENnfshd.css +0 -1
  393. package/dist/client/assets/library-CkWNPHRp.js +0 -1
  394. package/dist/client/assets/loader-circle-OvccU82H.js +0 -1
  395. package/dist/client/assets/local-agents-BqnoxJrq.js +0 -1
  396. package/dist/client/assets/log-in-7SnYqW5w.js +0 -1
  397. package/dist/client/assets/machine-children-DxcqCLmd.js +0 -1
  398. package/dist/client/assets/machine-scope-DJt9RZ2w.js +0 -1
  399. package/dist/client/assets/media-blobs-Bi8pxr1u.js +0 -1
  400. package/dist/client/assets/mentions-ByUvhS-v.js +0 -1
  401. package/dist/client/assets/mesh-ops-B1kDjizF.css +0 -1
  402. package/dist/client/assets/mesh-ops-CiZ8xSAx.js +0 -1
  403. package/dist/client/assets/mesh-screen-DjA4mOaN.css +0 -1
  404. package/dist/client/assets/mesh-view-store-DZvJC4KU.js +0 -1
  405. package/dist/client/assets/message-circle-CxRVKNE-.js +0 -1
  406. package/dist/client/assets/message-markup-BQW5jdJw.js +0 -15
  407. package/dist/client/assets/message-markup-Zwo3t4cI.js +0 -1
  408. package/dist/client/assets/message-square-BxesYglW.js +0 -1
  409. package/dist/client/assets/message-visibility-DwxgcgYK.js +0 -1
  410. package/dist/client/assets/mission-control-CsX3Yc58.css +0 -1
  411. package/dist/client/assets/mission-control-model-BpJHDV5D.js +0 -1
  412. package/dist/client/assets/mission-control-store-elEEsIvb.js +0 -1
  413. package/dist/client/assets/mission-wall-CAo4BKfa.js +0 -1
  414. package/dist/client/assets/model-CBkMvT1w.js +0 -1
  415. package/dist/client/assets/monitor-DTTYEb73.js +0 -1
  416. package/dist/client/assets/nav-destinations-uorRqFxf.js +0 -1
  417. package/dist/client/assets/observe-BJqERJVj.js +0 -1
  418. package/dist/client/assets/openAgent-Dbv5wfuL.js +0 -1
  419. package/dist/client/assets/openContent-C6XO6kr5.js +0 -1
  420. package/dist/client/assets/operator-attention-DBaRg5ep.js +0 -1
  421. package/dist/client/assets/ops-agents-BOYxzPTm.css +0 -1
  422. package/dist/client/assets/ops-atop-BB4B4JdE.css +0 -1
  423. package/dist/client/assets/ops-screen-CxYM0VOW.css +0 -1
  424. package/dist/client/assets/page-status-BswZLqvA.js +0 -1
  425. package/dist/client/assets/page-status-bar-ByUD7VPM.css +0 -1
  426. package/dist/client/assets/panel-right-Bv7sP_fc.js +0 -1
  427. package/dist/client/assets/paperclip-BjcuP_Hx.js +0 -1
  428. package/dist/client/assets/pause-C2XTlkjs.js +0 -1
  429. package/dist/client/assets/persistent-state-KRk_yb0q.js +0 -1
  430. package/dist/client/assets/pin-C2mFOV1l.js +0 -1
  431. package/dist/client/assets/pip-idle-v1-Tt-CZsRG.png +0 -0
  432. package/dist/client/assets/pip-thinking-v1-BoHWSEye.png +0 -0
  433. package/dist/client/assets/pip-waiting-v1-DkuvJ-dN.png +0 -0
  434. package/dist/client/assets/pip-working-v1-wWQLRS1z.png +0 -0
  435. package/dist/client/assets/play-FT6K3It1.js +0 -1
  436. package/dist/client/assets/plus-DFDDeGKu.js +0 -1
  437. package/dist/client/assets/profile-DTmzN16I.js +0 -1
  438. package/dist/client/assets/project-overview-helpers-BQTc_Ous.js +0 -1
  439. package/dist/client/assets/projects-inbox-C0FUCv_p.js +0 -1
  440. package/dist/client/assets/projects-inbox-ColX6lpx.css +0 -1
  441. package/dist/client/assets/provider-Dojd8quC.js +0 -1
  442. package/dist/client/assets/proxy-AJsmwA6h.js +0 -1
  443. package/dist/client/assets/radio-DRoOZsws.js +0 -1
  444. package/dist/client/assets/refresh-cw-BmVr7sCD.js +0 -1
  445. package/dist/client/assets/repo-diff-DyYmQMSA.css +0 -1
  446. package/dist/client/assets/resizable-columns-C7ygvLt8.css +0 -1
  447. package/dist/client/assets/resolve-panes-pbY1fCWi.js +0 -1
  448. package/dist/client/assets/resolve-sidebar-context-YWkZTq1t.js +0 -1
  449. package/dist/client/assets/right-49kO-6nD.js +0 -1
  450. package/dist/client/assets/right-APtItA8A.js +0 -1
  451. package/dist/client/assets/right-BJwhPqtn.js +0 -1
  452. package/dist/client/assets/right-BPqrf4ek.js +0 -1
  453. package/dist/client/assets/right-D7djOy6K.js +0 -1
  454. package/dist/client/assets/right-DKOUCRob.js +0 -1
  455. package/dist/client/assets/right-DMNrVzg7.js +0 -1
  456. package/dist/client/assets/right-DWPVB-nK.js +0 -2
  457. package/dist/client/assets/right-DppeMCy4.js +0 -1
  458. package/dist/client/assets/right-GAL5Mw1v.js +0 -1
  459. package/dist/client/assets/rocket-CGl4RTV7.js +0 -1
  460. package/dist/client/assets/router-DCtl8wqb.js +0 -1
  461. package/dist/client/assets/runtime-picker-C3JwrDKP.css +0 -1
  462. package/dist/client/assets/runtime-picker-DXu2bOTh.js +0 -1
  463. package/dist/client/assets/scope-views-4khCg2_z.css +0 -1
  464. package/dist/client/assets/scope-views-RUWwCVAr.js +0 -1
  465. package/dist/client/assets/scout-voice-CZx60X6E.js +0 -1
  466. package/dist/client/assets/scoutbot-Bk3nyrkj.js +0 -3
  467. package/dist/client/assets/scoutbot-markdown-BKEBSbG0.js +0 -6
  468. package/dist/client/assets/scroll-text-DNjxhyO2.js +0 -1
  469. package/dist/client/assets/search-DT42oyRW.js +0 -1
  470. package/dist/client/assets/secondaryNavConfig-CS1svh6n.js +0 -1
  471. package/dist/client/assets/secondaryNavConfig-D15P1Y9k.css +0 -1
  472. package/dist/client/assets/selection-bridge-x3wFUjxj.js +0 -1
  473. package/dist/client/assets/send-horizontal-CH0-fbZE.js +0 -1
  474. package/dist/client/assets/send-to-agent-session-DoKCDBJ4.js +0 -1
  475. package/dist/client/assets/server-QfsgMLk1.js +0 -1
  476. package/dist/client/assets/session-catalog-CvSdPHPe.js +0 -1
  477. package/dist/client/assets/session-recap-lanes-D-eVJnpY.js +0 -1
  478. package/dist/client/assets/session-recap-queue-41l2XVkI.js +0 -1
  479. package/dist/client/assets/session-ref-lookup-state-SATH_jAP.js +0 -1
  480. package/dist/client/assets/session-table-L-pns6Zl.js +0 -1
  481. package/dist/client/assets/sessionRead-CvFz2RHv.js +0 -1
  482. package/dist/client/assets/sessions-view-Dc-QAa7O.js +0 -1
  483. package/dist/client/assets/settings-BVh7kldq.js +0 -1
  484. package/dist/client/assets/shared-work-artifacts-DfNl9KTo.js +0 -1
  485. package/dist/client/assets/sliders-horizontal-782VC_yy.js +0 -1
  486. package/dist/client/assets/solar-system-scope-2k-stars-points-1FwHnkj0.png +0 -0
  487. package/dist/client/assets/sparkles-BjHq_DNK.js +0 -1
  488. package/dist/client/assets/sprout-action-sprite-DZ8C0fTl.css +0 -1
  489. package/dist/client/assets/sprout-actions-proof-v1-BzUdc812.png +0 -0
  490. package/dist/client/assets/sse-BCPRocpq.js +0 -1
  491. package/dist/client/assets/status-tone-BM_zuRy1.js +0 -1
  492. package/dist/client/assets/surface-activity-B1rgWB1i.js +0 -1
  493. package/dist/client/assets/synthetic-agent-routing-aduMYO7P.js +0 -1
  494. package/dist/client/assets/system-surfaces-redesign-q2BmCB7e.css +0 -1
  495. package/dist/client/assets/tail-display-DHSNmvor.js +0 -2
  496. package/dist/client/assets/tail-events-d0yAYxR0.js +0 -1
  497. package/dist/client/assets/terminal-hQKQygcf.js +0 -1
  498. package/dist/client/assets/terminal-relay-Bxs1hp-j.js +0 -1
  499. package/dist/client/assets/terminal-screen-Bpb2SZrn.css +0 -1
  500. package/dist/client/assets/terminal-sessions-3RfJpen8.js +0 -1
  501. package/dist/client/assets/terminal-takeover-Ay5C2c-M.js +0 -1
  502. package/dist/client/assets/theme-vars-DNK0nn3k.js +0 -1
  503. package/dist/client/assets/time-Dhsh_2EG.js +0 -1
  504. package/dist/client/assets/triangle-alert-CHoRGdVO.js +0 -1
  505. package/dist/client/assets/types-B0PlfpKc.js +0 -1
  506. package/dist/client/assets/ui-LM8pS8qE.js +0 -1
  507. package/dist/client/assets/use-beside-DoRC1nt0.js +0 -1
  508. package/dist/client/assets/use-conversation-list-CY4JciOV.js +0 -1
  509. package/dist/client/assets/use-fleet-active-asks-CymmXWH4.js +0 -1
  510. package/dist/client/assets/use-mesh-node-state-BvaqtODo.js +0 -1
  511. package/dist/client/assets/use-mesh-ops-items-BSYaqH_0.js +0 -1
  512. package/dist/client/assets/use-reduced-motion-3gMYZNIp.js +0 -1
  513. package/dist/client/assets/use-scout-dev-flags-DS_pYYQd.js +0 -1
  514. package/dist/client/assets/useAgentHoverCard-BANmpjMh.js +0 -1
  515. package/dist/client/assets/useContentSecondaryNav-C6OBu-3_.js +0 -1
  516. package/dist/client/assets/useEmbedHeadline-D6pJRxUg.js +0 -1
  517. package/dist/client/assets/usePersistentState-B8lP7TRb.js +0 -1
  518. package/dist/client/assets/usePierreRuntime-BAQdiN0L.js +0 -50
  519. package/dist/client/assets/useSidebarCollapse-OL_8J5cL.js +0 -1
  520. package/dist/client/assets/users-BUjx36gx.js +0 -1
  521. package/dist/client/assets/voice-levels-Dcr3jglk.js +0 -1
  522. package/dist/client/assets/voice-paths-CJUuBPh3.css +0 -1
  523. package/dist/client/assets/voice-turn-DftA0iIb.css +0 -1
  524. package/dist/client/assets/voice-turn-ledger-BMZxlSjg.js +0 -1
  525. package/dist/client/assets/worker-rendered-v1-DmGVMlVi.png +0 -0
  526. package/dist/client/assets/worker-thinking-v1-ujakpzrK.png +0 -0
  527. package/dist/client/assets/worker-waiting-v1-DbTSsfJJ.png +0 -0
  528. package/dist/client/assets/worker-working-v1-BROAvJ_z.png +0 -0
  529. package/dist/client/assets/world-outposts-v1-DOt0i98W.png +0 -0
  530. package/dist/client/assets/wrench-DR0i5BU7.js +0 -1
  531. package/dist/client/assets/x-DAehov0E.js +0 -1
  532. package/dist/client/assets/xterm-BXQiLVnI.js +0 -34
  533. package/dist/client/assets/zap-CEjZNZbI.js +0 -1
  534. package/dist/client/characters/sage/sage.glb +0 -0
  535. package/dist/highlights-eq9cgrbb.scm +0 -604
  536. package/dist/highlights-ghv9g403.scm +0 -205
  537. package/dist/highlights-hk7bwhj4.scm +0 -284
  538. package/dist/highlights-r812a2qc.scm +0 -150
  539. package/dist/highlights-x6tmsnaa.scm +0 -115
  540. package/dist/injections-73j83es3.scm +0 -27
  541. package/dist/tree-sitter-javascript-nd0q4pe9.wasm +0 -0
  542. package/dist/tree-sitter-markdown-411r6y9b.wasm +0 -0
  543. package/dist/tree-sitter-markdown_inline-j5349f42.wasm +0 -0
  544. package/dist/tree-sitter-typescript-zxjzwt75.wasm +0 -0
  545. package/dist/tree-sitter-zig-e78zbjpm.wasm +0 -0
@@ -1 +0,0 @@
1
- .s-dictation-mic{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;align-self:flex-end;cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.s-dictation-mic:not(:disabled):hover{color:var(--ink);border-color:color-mix(in srgb,var(--ink) 35%,var(--border))}.s-dictation-mic:disabled{opacity:.4;cursor:not-allowed}.s-dictation-mic--needs-permission{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,var(--border))}.s-dictation-mic--needs-permission:not(:disabled):hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 70%,var(--border));background:color-mix(in srgb,var(--accent) 10%,transparent)}.s-dictation-mic--unavailable{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 45%,var(--border))}.s-dictation-mic--unavailable:not(:disabled):hover{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 65%,var(--border));background:color-mix(in srgb,var(--amber) 8%,transparent)}.s-dictation-mic--error{color:var(--red, #ef4444);border-color:color-mix(in srgb,var(--red, #ef4444) 45%,var(--border))}.s-dictation-mic--recording{color:var(--green);border-color:color-mix(in srgb,var(--green) 55%,var(--border));background:color-mix(in srgb,var(--green) 10%,transparent)}.s-dictation-mic--recording:not(:disabled):hover{border-color:color-mix(in srgb,var(--green) 75%,var(--border))}.s-dictation-mic--busy{color:var(--muted)}.s-dictation-mic-spin{animation:s-dictation-mic-spin 1s linear infinite}@keyframes s-dictation-mic-spin{to{transform:rotate(360deg)}}.s-msg-compose{box-sizing:border-box;width:100%;min-width:0;flex-shrink:0}.s-msg-compose--panel{padding:0}.s-msg-compose--thread{padding:var(--space-md) var(--space-3xl) var(--space-2xl);border-top:1px solid color-mix(in srgb,var(--border) 40%,transparent);background:transparent;margin-top:auto}.s-msg-compose--compact{padding:var(--space-sm)}.s-msg-compose--bare{padding:0}.s-msg-compose-frame{position:relative;width:100%;min-width:0}.s-msg-compose-shell{position:relative;box-sizing:border-box;width:100%;max-width:100%;min-width:0;border:1px solid color-mix(in srgb,var(--border) 60%,var(--surface));border-radius:var(--radius-xl);background:var(--surface);transition:border-color .15s ease;overflow:hidden;display:flex;flex-direction:column}.s-msg-compose-shell:focus-within{border-color:color-mix(in srgb,var(--border) 100%,transparent)}.s-msg-compose-header{flex-shrink:0;padding:var(--space-sm) var(--space-md);border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent);background:color-mix(in srgb,var(--bg) 40%,var(--surface));min-width:0}.s-msg-compose-body{flex:1;min-width:0;display:flex;flex-direction:column;padding:var(--space-sm) var(--space-md) var(--space-xs)}.s-msg-compose-body>*:first-child{min-width:0;width:100%}.s-msg-compose-input{display:block;width:100%;min-width:0;min-height:44px;max-height:160px;border:none;border-radius:0;background:transparent;padding:0;font-size:var(--text-lg);font-family:var(--font-sans);line-height:var(--leading-normal);color:var(--ink);resize:none;outline:none;cursor:text;user-select:text;-webkit-user-select:text}.s-msg-compose-input::placeholder{color:var(--dim)}.s-msg-compose-shell .s-msg-compose-input:focus,.s-msg-compose-shell .s-msg-compose-input:focus-visible{box-shadow:none}.s-msg-compose-input:disabled{opacity:.55;cursor:not-allowed}.s-msg-compose-suggest{position:absolute;left:0;right:0;bottom:calc(100% + 8px);max-height:290px;display:flex;flex-direction:column;padding:var(--space-2xs);background:color-mix(in srgb,var(--surface) 98%,transparent);border:1px solid color-mix(in srgb,var(--border) 90%,transparent);border-radius:var(--radius-xl);box-shadow:0 16px 36px color-mix(in srgb,var(--ink) 24%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:30;overflow:hidden}.s-msg-compose-suggest[data-placement=inside]{top:40px;right:var(--space-sm);bottom:52px;left:var(--space-sm);max-height:none;border-radius:var(--radius-lg);box-shadow:0 14px 28px -18px color-mix(in srgb,var(--ink) 48%,transparent)}.s-msg-compose-suggest-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) var(--space-md) var(--space-2xs);border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent);margin-bottom:var(--space-2xs)}.s-msg-compose-suggest-label{padding:0;font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-lg);text-transform:uppercase;color:var(--dim)}.s-msg-compose-suggest-count{font-family:var(--font-mono);font-size:var(--text-3xs);color:var(--dim)}.s-msg-compose-suggest-list{display:flex;flex-direction:column;gap:1px;overflow-y:auto;max-height:220px}.s-msg-compose-suggest-item{position:relative;display:flex;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-xs) var(--space-md);border:none;border-radius:var(--radius-md);background:transparent;color:var(--ink);text-align:left;cursor:pointer;font-family:inherit;transition:all .12s ease}.s-msg-compose-suggest-item:hover,.s-msg-compose-suggest-item--active{background:color-mix(in srgb,var(--accent) 10%,transparent)}.s-msg-compose-suggest-active-indicator{position:absolute;left:2px;top:6px;bottom:6px;width:2px;background:var(--accent);border-radius:1px}.s-msg-compose-suggest-token{font-family:var(--font-mono);font-size:var(--text-md);font-weight:600;color:var(--ink)}.s-msg-compose-suggest-item--active .s-msg-compose-suggest-token{color:var(--accent)}.s-msg-compose-suggest-desc{flex:1;min-width:0;font-size:var(--text-sm);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-msg-compose-suggest-avatar,.s-msg-compose-suggest-avatar-node{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;overflow:hidden}.s-msg-compose-suggest-pick-hint{display:flex;align-items:center;margin-left:auto;color:var(--accent)}.s-msg-compose-suggest-footer{padding:var(--space-2xs) var(--space-md);border-top:1px solid color-mix(in srgb,var(--border) 35%,transparent);margin-top:var(--space-2xs)}.s-msg-compose-voice{display:flex;flex-direction:column;gap:var(--space-2xs);margin-top:var(--space-sm);min-width:0;color:var(--dim)}.s-msg-compose-voice--recording{color:var(--green)}.s-msg-compose-voice--processing{color:var(--muted)}.s-msg-compose-voice--error{color:var(--red, #ef4444)}.s-msg-compose-voice-meta{display:flex;align-items:baseline;gap:var(--space-sm);min-width:0;font-size:var(--text-xs);line-height:var(--leading-snug)}.s-msg-compose-voice-label{flex-shrink:0;font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.s-msg-compose-voice-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-msg-compose-wave{display:flex;align-items:center;justify-content:space-between;gap:2px;width:100%;height:28px;padding:2px 0;pointer-events:none}.s-msg-compose-wave-bar{flex:1 1 0;min-width:1.5px;max-width:3px;height:100%;border-radius:999px;background:currentColor;opacity:.28;transform-origin:center;transform:scaleY(.12);transition:transform 40ms linear,opacity 80ms ease;will-change:transform}@media(prefers-reduced-motion:reduce){.s-msg-compose-wave-bar{transition:none}}.s-msg-compose-toolbar{flex-shrink:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:var(--space-sm);min-width:0;padding:var(--space-xs) var(--space-sm) var(--space-sm);border-top:1px solid color-mix(in srgb,var(--border) 40%,transparent);background:color-mix(in srgb,var(--bg) 28%,var(--surface))}.s-msg-compose-toolbar-start{grid-column:1;display:flex;align-items:center;gap:var(--space-xs);min-width:0}.s-msg-compose-toolbar-spacer{display:block;width:0;height:0}.s-msg-compose-toolbar-end{grid-column:3;justify-self:end;display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:var(--space-xs);min-width:0;max-width:100%}.s-msg-compose-tools{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:var(--space-xs);min-width:0}.s-msg-compose-tools-hint{font-size:var(--text-xs);color:var(--dim);letter-spacing:.01em;white-space:nowrap}.s-msg-compose-tool{position:relative;display:inline-flex;align-items:center;gap:4px;max-width:min(200px,40vw);min-height:28px;padding:0 8px 0 10px;border-radius:var(--radius-pill);border:none;background:color-mix(in srgb,var(--ink) 7%,transparent);box-shadow:none;color:var(--ink);cursor:pointer;transition:background .12s ease,color .12s ease;-webkit-user-select:none;user-select:none}.s-msg-compose-tool:hover{background:color-mix(in srgb,var(--ink) 11%,transparent)}.s-msg-compose-tool:focus-within{background:color-mix(in srgb,var(--ink) 12%,transparent);outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--ink) 14%,transparent)}.s-msg-compose-tool--disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.s-msg-compose-tool-kicker{display:none}.s-msg-compose-tool-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;letter-spacing:.01em;color:var(--muted);line-height:1}.s-msg-compose-tool:hover .s-msg-compose-tool-value,.s-msg-compose-tool:focus-within .s-msg-compose-tool-value{color:var(--ink)}.s-msg-compose-tool-chevron{flex-shrink:0;color:var(--dim);opacity:.75;transition:color .12s ease,opacity .12s ease}.s-msg-compose-tool:hover .s-msg-compose-tool-chevron,.s-msg-compose-tool:focus-within .s-msg-compose-tool-chevron{color:var(--muted);opacity:1}.s-msg-compose-tool-native{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:inherit;border:none;background:transparent;font-size:var(--text-2xl);appearance:none}.s-msg-compose-tool--disabled .s-msg-compose-tool-native{cursor:not-allowed}.s-msg-compose-icon-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.s-msg-compose-icon-btn:not(:disabled):hover{color:var(--ink);border-color:color-mix(in srgb,var(--ink) 35%,var(--border))}.s-msg-compose-icon-btn:disabled{opacity:.4;cursor:not-allowed}.s-msg-compose-send{width:32px;height:32px;border-radius:50%;border:none;background:var(--ink);color:var(--bg);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:opacity .12s ease,transform .12s ease}.s-msg-compose-send:not(:disabled):hover{transform:scale(1.05)}.s-msg-compose-send:disabled{opacity:.25;cursor:default}.s-msg-compose-send--agent-stop{background:var(--red, #ef4444)}.s-msg-compose-toolbar .s-dictation-mic{align-self:center;width:32px;height:32px}.s-msg-compose--compact .s-msg-compose-input{min-height:32px;font-size:var(--text-md)}.s-msg-compose--compact .s-msg-compose-body{padding:var(--space-xs) var(--space-sm)}.s-msg-compose--compact .s-msg-compose-send,.s-msg-compose--compact .s-msg-compose-icon-btn,.s-msg-compose--compact .s-msg-compose-toolbar .s-dictation-mic{width:28px;height:28px}.s-msg-compose--compact .s-msg-compose-toolbar{padding:var(--space-2xs) var(--space-xs) var(--space-xs)}.s-msg-compose-file-input{display:none}.s-msg-compose-attachments{display:flex;flex-wrap:wrap;gap:var(--space-2xs);padding-bottom:var(--space-2xs)}.s-msg-compose-attachment{position:relative;width:76px;height:70px;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:var(--radius-md);overflow:hidden;background:color-mix(in srgb,var(--surface) 80%,var(--bg));transition:all .14s ease}.s-msg-compose-attachment:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));box-shadow:0 2px 8px color-mix(in srgb,var(--ink) 12%,transparent)}.s-msg-compose-attachment img,.s-msg-compose-attachment video{width:100%;height:100%;object-fit:cover;display:block}.s-msg-compose-attachment-file{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;height:100%;padding:var(--space-2xs);color:var(--ink);text-align:center}.s-msg-compose-attachment-file-icon{display:flex;align-items:center;gap:2px;color:var(--muted)}.s-msg-compose-attachment-ext{font-family:var(--font-mono);font-size:var(--text-3xs);font-weight:700;color:var(--accent)}.s-msg-compose-attachment-name{font-family:var(--font-mono);font-size:var(--text-2xs);line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.s-msg-compose-attachment-size{font-family:var(--font-mono);font-size:var(--text-3xs);color:var(--dim)}.s-msg-compose-attachment-remove{position:absolute;top:3px;right:3px;width:18px;height:18px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:50%;background:color-mix(in srgb,var(--surface) 90%,transparent);color:var(--ink);font-size:var(--text-sm);line-height:1;cursor:pointer;transition:all .12s ease}.s-msg-compose-attachment-remove:hover{background:var(--ink);color:var(--bg)}.s-msg-compose-attach-note{font-size:var(--text-xs);color:var(--text-3);padding-bottom:var(--space-2xs)}.s-msg-compose-attach-note[data-tone=error]{color:var(--danger-fg, var(--text-1))}.s-msg-compose[data-drag-active=true],.s-msg-compose-shell[data-drag-active=true]{outline:1px dashed var(--scout-accent);outline-offset:-2px}.s-msg-compose-secondary{display:flex;align-items:center}.s-msg-compose-steer{height:28px;padding:0 var(--space-xs);border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-2);font-size:var(--text-xs);font-weight:500;cursor:pointer;white-space:nowrap}.s-msg-compose-steer:hover:not(:disabled){color:var(--text-1);border-color:var(--scout-accent)}.s-msg-compose-steer:disabled{opacity:.5;cursor:default}.s-thread-compose-queue-note{font-size:var(--text-xs);color:var(--text-3);padding-top:var(--space-2xs)}.s-msg-compose-above{box-sizing:border-box;width:100%;min-width:0;margin-bottom:var(--space-2xs)}.s-msg-compose-frame[data-above-attached=true] .s-msg-compose-above{margin-bottom:0}.s-msg-compose-frame[data-above-attached=true] .s-msg-compose-shell{border-top-left-radius:0;border-top-right-radius:0}.s-msg-compose-queue{box-sizing:border-box;display:flex;flex-direction:column;gap:2px;width:100%;min-width:0;padding:var(--space-2xs) var(--space-sm) var(--space-xs);border:1px solid color-mix(in srgb,var(--border) 45%,transparent);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-sm) var(--radius-sm);background:color-mix(in srgb,var(--surface) 55%,transparent)}.s-msg-compose-frame[data-above-attached=true] .s-msg-compose-queue{padding-bottom:var(--space-2xs);border-color:color-mix(in srgb,var(--border) 60%,var(--surface));border-bottom:none;border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:color-mix(in srgb,var(--bg) 40%,var(--surface))}.s-msg-compose-frame[data-above-attached=true]:focus-within .s-msg-compose-queue{border-color:color-mix(in srgb,var(--border) 100%,transparent)}.s-msg-compose-queue-head{display:flex;align-items:center;gap:var(--space-sm);min-width:0;padding-bottom:var(--space-2xs)}.s-msg-compose-queue-kicker{flex-shrink:0;font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-lg);text-transform:uppercase;color:var(--accent)}.s-msg-compose-queue-hint{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);color:var(--muted)}.s-msg-compose-queue-head .s-msg-compose-steer{margin-left:auto;height:24px}.s-msg-compose-queue-row{display:flex;align-items:center;gap:var(--space-xs);min-width:0;min-height:26px;padding:2px var(--space-xs) 2px 0;border-left:2px solid color-mix(in srgb,var(--accent) 70%,transparent);padding-left:var(--space-xs);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:color-mix(in srgb,var(--surface) 60%,var(--bg));border-top:1px solid color-mix(in srgb,var(--border) 20%,transparent);border-right:1px solid color-mix(in srgb,var(--border) 20%,transparent);border-bottom:1px solid color-mix(in srgb,var(--border) 20%,transparent);transition:all .12s ease}.s-msg-compose-queue-row:hover{background:color-mix(in srgb,var(--surface) 90%,var(--bg));border-left-color:var(--accent)}.s-msg-compose-queue-index{flex-shrink:0;font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--dim)}.s-msg-compose-queue-body{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);color:var(--ink)}.s-msg-compose-queue-clip{flex-shrink:0;font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--dim)}.s-msg-compose-queue-edit,.s-msg-compose-queue-now,.s-msg-compose-queue-drop{flex-shrink:0;display:inline-flex;align-items:center;gap:2px;border:1px solid transparent;background:transparent;color:var(--muted);font-size:var(--text-xs);padding:1px 4px;border-radius:var(--radius-xs);line-height:1;cursor:pointer;opacity:0;transition:opacity .12s ease,color .12s ease,background .12s ease}.s-msg-compose-queue-drop{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;padding:0}.s-msg-compose-queue-row:hover .s-msg-compose-queue-edit,.s-msg-compose-queue-row:hover .s-msg-compose-queue-now,.s-msg-compose-queue-row:hover .s-msg-compose-queue-drop,.s-msg-compose-queue-edit:focus-visible,.s-msg-compose-queue-now:focus-visible,.s-msg-compose-queue-drop:focus-visible{opacity:1}.s-msg-compose-queue-edit:hover,.s-msg-compose-queue-now:hover,.s-msg-compose-queue-drop:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,transparent);border-color:color-mix(in srgb,var(--border) 40%,transparent)}.s-msg-compose-queue-edit:disabled,.s-msg-compose-queue-now:disabled,.s-msg-compose-queue-drop:disabled{opacity:.3;cursor:default}.s-msg-compose-queue-row[data-editing=true]{border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface));border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.s-msg-compose-carried{font-size:var(--text-xs);color:var(--text-3);padding-bottom:var(--space-2xs)}.s-msg-compose-mode{flex-shrink:0;display:flex;align-items:center;margin-left:auto;padding:1px;border:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg) 45%,transparent)}.s-msg-compose-mode-btn{height:20px;padding:0 var(--space-2xs);border:none;border-radius:calc(var(--radius-sm) - 1px);background:transparent;color:var(--text-3);font-size:var(--text-2xs);font-weight:500;letter-spacing:.02em;cursor:pointer;white-space:nowrap;transition:background .12s ease,color .12s ease}.s-msg-compose-mode-btn:hover:not(:disabled){color:var(--text-1)}.s-msg-compose-mode-btn[aria-pressed=true]{background:var(--surface);color:var(--text-1);box-shadow:0 1px 2px color-mix(in srgb,var(--ink) 12%,transparent)}.s-msg-compose-mode-btn[aria-pressed=true][data-mode=steer]{color:var(--scout-accent)}.s-msg-compose-mode-btn:disabled{opacity:.5;cursor:default}.s-msg-compose-voice-issue{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.s-msg-compose-voice-issue-title{font-weight:600}.s-msg-compose-voice-issue-hint{white-space:normal;opacity:.78}.s-msg-compose-voice-issue-action{margin-top:2px;padding:2px 8px;border:1px solid currentColor;border-radius:4px;background:transparent;color:inherit;font:inherit;cursor:pointer}.s-msg-compose-voice-issue-action:hover{background:color-mix(in srgb,currentColor 12%,transparent)}.s-rt-root,.s-rt-panel{--s-rt-accent: var(--hud-accent, oklch(.86 .17 125))}.s-rt-chip{position:relative;display:inline-flex;align-items:center;gap:5px;min-height:28px;max-width:min(280px,56vw);padding:0 7px 0 9px;border:none;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s ease,color .12s ease}.s-rt-chip:hover{background:color-mix(in srgb,var(--ink) 11%,transparent)}.s-rt-chip[aria-expanded=true]{background:color-mix(in srgb,var(--ink) 13%,transparent)}.s-rt-chip:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--s-rt-accent) 60%,transparent)}.s-rt-chip--disabled,.s-rt-chip:disabled{opacity:.45;cursor:not-allowed}.s-rt-chip-mark{flex-shrink:0;color:var(--muted);transition:color .12s ease}.s-rt-chip:hover .s-rt-chip-mark{color:var(--ink)}.s-rt-chip-type{display:inline-flex;align-items:baseline;gap:6px;min-width:0}.s-rt-chip-model{display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;letter-spacing:.01em;color:var(--muted);line-height:1;transition:color .12s ease}.s-rt-chip:hover .s-rt-chip-model{color:var(--ink)}.s-rt-chip-model-text{display:inline-block;animation:s-rt-chip-swap .14s cubic-bezier(.16,.84,.44,1) both}@keyframes s-rt-chip-swap{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.s-rt-chip-divider{align-self:center;flex-shrink:0;width:1px;height:10px;background:color-mix(in srgb,var(--ink) 22%,transparent)}.s-rt-chip-effort{flex-shrink:0;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;letter-spacing:0;line-height:1;color:var(--muted)}.s-rt-chip-effort[data-effort=none],.s-rt-chip-effort[data-effort=minimal],.s-rt-chip-effort[data-effort=low]{color:var(--dim)}.s-rt-chip-effort[data-effort=medium]{color:var(--muted)}.s-rt-chip-effort[data-effort=high]{color:var(--ink)}.s-rt-chip-effort[data-effort=xhigh],.s-rt-chip-effort[data-effort=max],.s-rt-chip-effort[data-effort=ultra]{color:var(--s-rt-accent)}.s-rt-chip-chevron{flex-shrink:0;color:var(--dim);opacity:.75;transition:transform .18s cubic-bezier(.16,.84,.44,1),opacity .12s ease}.s-rt-chip:hover .s-rt-chip-chevron{opacity:1}.s-rt-chip[aria-expanded=true] .s-rt-chip-chevron{transform:rotate(180deg)}.s-rt-panel{position:fixed;z-index:60;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md, 6px);background:var(--surface);box-shadow:0 18px 40px -12px #00000073;transform-origin:bottom right;animation:s-rt-in .17s cubic-bezier(.16,.84,.44,1) both}.s-rt-panel[data-placement=down]{transform-origin:top right}@keyframes s-rt-in{0%{opacity:0;transform:translateY(5px) scale(.985,.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes s-rt-band-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes s-rt-swap-in{0%{opacity:0;transform:translate(5px)}to{opacity:1;transform:translate(0)}}.s-rt-band{padding:10px 12px 12px;animation:s-rt-band-in .16s cubic-bezier(.16,.84,.44,1) both}.s-rt-band+.s-rt-band{border-top:1px solid var(--border)}.s-rt-label{margin:0;font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;letter-spacing:.18em;line-height:1.4;text-transform:uppercase;color:var(--dim)}.s-rt-options,.s-rt-models{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.s-rt-models{max-height:min(208px,calc(100vh - 260px));overflow-y:auto;overscroll-behavior:contain;animation:s-rt-swap-in .15s cubic-bezier(.16,.84,.44,1) both}.s-rt-opt{display:inline-flex;align-items:center;gap:6px;min-height:26px;max-width:100%;padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius-pill);background:transparent;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;line-height:1;cursor:pointer;animation:s-rt-band-in .15s cubic-bezier(.16,.84,.44,1) both;transition:border-color .12s ease,background .12s ease,color .12s ease}.s-rt-opt:hover{border-color:color-mix(in srgb,var(--ink) 28%,transparent);color:var(--ink)}.s-rt-opt[data-on]{border-color:color-mix(in srgb,var(--s-rt-accent) 55%,transparent);background:color-mix(in srgb,var(--s-rt-accent) 9%,transparent);color:var(--ink)}.s-rt-opt[data-disabled]{opacity:.45;cursor:not-allowed}.s-rt-opt[data-disabled]:hover{border-color:var(--border);color:var(--muted)}.s-rt-opt:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--s-rt-accent) 60%,transparent)}.s-rt-model-opt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-rt-opt-mark{flex-shrink:0}.s-rt-band-note{overflow:hidden;margin:7px 2px 0;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.s-rt-search{display:flex;align-items:center;gap:6px;min-height:28px;margin:8px 0 0;padding:4px 9px;border:1px solid var(--border);border-radius:var(--radius-sm, 4px);color:var(--dim)}.s-rt-search:focus-within{border-color:color-mix(in srgb,var(--s-rt-accent) 48%,var(--border))}.s-rt-search-icon{flex-shrink:0}.s-rt-search-input{flex:1;min-width:0;border:none;background:transparent;color:var(--ink);font-family:var(--font-mono);font-size:var(--text-md);outline:none}.s-rt-search-input::placeholder{color:var(--dim)}.s-rt-search-clear{flex-shrink:0;border:none;border-radius:3px;background:transparent;padding:0 4px;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.s-rt-search-clear:hover{color:var(--ink)}.s-rt-search-clear:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--s-rt-accent) 60%,transparent)}.s-rt-status{display:flex;flex-direction:column;gap:4px;margin-top:8px}.s-rt-status--error{align-items:flex-start;gap:6px;padding:4px 2px 2px}.s-rt-status-message{font-family:var(--font-mono);font-size:var(--text-md);color:var(--ink)}.s-rt-retry{border:none;border-radius:3px;background:transparent;padding:2px 6px;color:var(--s-rt-accent);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.s-rt-retry:hover{text-decoration:underline}.s-rt-retry:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--s-rt-accent) 60%,transparent)}.s-rt-empty{margin:8px 2px 0;font-family:var(--font-mono);font-size:var(--text-md);color:var(--dim)}.s-rt-skel{display:block;height:26px;border-radius:3px;background:color-mix(in srgb,var(--ink) 6%,transparent);animation:s-rt-skel-pulse 1.2s ease-in-out infinite}@keyframes s-rt-skel-pulse{0%,to{opacity:.55}50%{opacity:1}}.s-rt-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.s-rt-effort{margin-top:8px}.s-rt-effort-absent{margin:0;font-family:var(--font-mono);font-size:var(--text-2xs);line-height:1.5;color:var(--dim)}.s-rt-ladder{display:flex;gap:4px}.s-rt-step{flex:1;border:none;background:transparent;padding:0;cursor:pointer}.s-rt-step:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--s-rt-accent) 60%,transparent);border-radius:3px}.s-rt-step-bar{display:block;height:4px;width:100%;border-radius:999px;transition:background .14s ease-out}.s-rt-step-bar[data-state=filled]{background:color-mix(in srgb,var(--ink) 42%,transparent)}.s-rt-step-bar[data-state=empty]{background:color-mix(in srgb,var(--ink) 14%,transparent)}.s-rt-step:hover .s-rt-step-bar[data-state=empty]{background:color-mix(in srgb,var(--ink) 26%,transparent)}.s-rt-step-bar[data-state=current]{background:var(--s-rt-accent)}.s-rt-step-label{display:block;margin-top:6px;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:0;color:var(--dim)}.s-rt-step[aria-checked=true] .s-rt-step-label{color:var(--ink);font-weight:600}@media(prefers-reduced-motion:reduce){.s-rt-panel,.s-rt-models,.s-rt-band,.s-rt-opt,.s-rt-chip-model-text{animation-duration:.01ms;animation-delay:0ms!important}.s-rt-chip-chevron,.s-rt-step-bar,.s-rt-chip-model,.s-rt-opt{transition-duration:.01ms}}
@@ -1 +0,0 @@
1
- import{r as s,j as n,W as Oe}from"./index-EsrkGBcv.js";import{g as Xe,e as Ye,b as He,c as Ce,d as Ue,h as Je}from"./scout-voice-CZx60X6E.js";import{createLevelHistory as Qe,energyFromPartialDelta as ke,tryStartMicLevelMeter as et,VOICE_WAVE_BARS as Ne}from"./voice-levels-Dcr3jglk.js";import{L as tt}from"./loader-circle-OvccU82H.js";import{c as Re}from"./createLucideIcon-zZ8Hx7er.js";import{ad as nt}from"./router-DCtl8wqb.js";const rt=[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]],st=Re("mic",rt);const ot=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],it=Re("square",ot);function Nt(e){if(!e)return null;const t=e.replace(/_/g," ");return t.toLowerCase()==="relay agent"?"agent":t}function ct(e,t=!1){return e.key==="Enter"&&!e.shiftKey&&(t||!!(e.metaKey||e.ctrlKey))&&!e.nativeEvent?.isComposing}const at=40,Rt=1500,lt=250;function _e(e,t,o=at){if(Math.hypot(e,t)<o)return"rest";const p=(Math.atan2(t,e)*180/Math.PI+360)%360,c=Math.round(p/45)%8;return["right","down-right","down","down-left","left","up-left","up","up-right"][c]}function _t(e,t){if(e==="rest"||!t||t.length===0)return;const o=l=>t.includes(l),p=`look-${e}`;if(o(p))return p;const[c,m]=e.split("-");if(m){if(o(`look-${m}`))return`look-${m}`;if(o(`look-${c}`))return`look-${c}`}}const ce=new Set;let ae={x:0,y:0,at:0,gone:!0},V=0,le=!1;function Ve(){V=0;for(const e of ce)e(ae)}function ue(e){ae={x:e.clientX,y:e.clientY,at:performance.now(),gone:!1},V||(V=window.requestAnimationFrame(Ve))}function de(){ae={...ae,gone:!0},V||(V=window.requestAnimationFrame(Ve))}function ut(){le||typeof window>"u"||(le=!0,window.addEventListener("pointermove",ue,{passive:!0}),window.addEventListener("pointerdown",ue,{passive:!0}),document.addEventListener("pointerleave",de),window.addEventListener("blur",de))}function dt(){le&&(le=!1,window.removeEventListener("pointermove",ue),window.removeEventListener("pointerdown",ue),document.removeEventListener("pointerleave",de),window.removeEventListener("blur",de),V&&(window.cancelAnimationFrame(V),V=0))}function Vt(e){return ce.add(e),ut(),()=>{ce.delete(e),ce.size===0&&dt()}}function mt(e){return Math.max(160,e*4)}function Tt(e){const t=mt(e);let o=null,p=0;return{sample(c,m){if(c.gone||((!o||c.at-p>lt)&&(o=m(),p=c.at),!o||o.width===0))return"rest";const l=c.x-(o.left+o.width/2),f=c.y-(o.top+o.height/2);return Math.hypot(l,f)>t?"rest":_e(l,f)}}}const Pt=1400,ve=new Set;let we=null;function ft(){return typeof performance<"u"?performance.now():Date.now()}function Ee(e){const t=e?.getBoundingClientRect();we=t&&t.width>0?{x:t.left+t.width/2,y:t.top+t.height/2,at:ft()}:null;for(const o of ve)o(we)}function Le(){return we}function Bt(e){return ve.add(e),()=>{ve.delete(e)}}function Dt(e,t){return!t||t.width===0?"rest":_e(e.x-(t.left+t.width/2),e.y-(t.top+t.height/2))}function ht(e){switch(e){case"starting":return"starting";case"recording":return"recording";case"processing":return"processing";default:return"idle"}}function pt(e,t,o){if(o)return o;switch(e){case"starting":return"Starting voice…";case"recording":return t.trim()?t.trim():null;case"processing":return"Transcribing…";default:return null}}function Me(e){return new Promise(t=>window.setTimeout(t,e))}function gt({onAppend:e,onError:t,onStatus:o,disabled:p,className:c}){const m=s.useRef(Xe()),l=s.useRef(null),f=s.useRef(Qe(Ne)),Z=s.useRef(null),E=s.useRef(!1),b=s.useRef(""),D=s.useRef(0),w=s.useRef(0),[v,y]=s.useState("idle"),[ee,T]=s.useState(""),[te,F]=s.useState("probing"),[me,I]=s.useState(null),[L,P]=s.useState(null),[N,O]=s.useState(null),[fe,M]=s.useState(0),S=s.useCallback(()=>{w.current&&(window.cancelAnimationFrame(w.current),w.current=0),Z.current?.stop(),Z.current=null,E.current=!1},[]),j=s.useCallback(r=>{O(r),t?.(r)},[t]),ne=s.useCallback((r,u,a,g)=>{o?.({state:r,partial:u,message:pt(r,u,a),tone:a?"error":r==="recording"?"recording":r==="processing"?"processing":"neutral",levels:r==="idle"&&!a?[]:f.current.snapshot(),levelsLive:E.current,issue:a?g:null})},[o]);s.useEffect(()=>{ne(v,ee,N,L)},[ne,L,N,ee,v,fe]);const R=s.useCallback(async(r=!1)=>{const u=m.current;F(g=>g==="launching"?g:"probing");const a=await u.probe(r?{force:!0}:void 0);return I(a),F("idle"),a},[]);s.useEffect(()=>{Ye();const r=m.current,u=He(a=>{I(a.ok),F("idle")});return r.connectionState==="unknown"?R():(I(r.connectionState==="connected"),P(null),F("idle")),()=>{u(),S();const a=l.current;a&&(a.cancel().catch(()=>{}),l.current=null)}},[R,S]);const q=s.useCallback(r=>{f.current.push(r),M(u=>u+1)},[]),$=s.useCallback(()=>{if(w.current)return;let r=performance.now();const u=a=>{if(a-r>=36){r=a;const g=a-(D.current||a),k=ke(b.current,b.current,g);f.current.push(Math.max(.05,k)),M(d=>d+1)}w.current=window.requestAnimationFrame(u)};w.current=window.requestAnimationFrame(u)},[]),re=s.useCallback(async()=>{const r=m.current;O(null),P(null),T(""),b.current="",D.current=performance.now(),f.current.clear(),M(d=>d+1),y("starting"),S();let u=await Ce({surface:"chat-composer",requestPermissions:!0});if(!u.ready&&u.issue?.code==="microphone_not_requested"&&(await Me(1800),u=await Ce({surface:"chat-composer"})),!(u.ready||u.issue?.code==="microphone_not_requested")){y("idle");const d=u.issue;d?(P(d),j(Ue(d))):j("Scout voice is not ready."),R(!0);return}P(null),I(!0);let g=null,k=!1;try{if(g=await r.startLive({onState:h=>y(ht(h)),onPartial:h=>{const H=b.current;if(b.current=h,D.current=performance.now(),T(h),!E.current){const U=ke(H,h,0);q(U)}},onLevel:h=>{k=!0,E.current=!0,w.current&&(window.cancelAnimationFrame(w.current),w.current=0),q(h)}}),l.current=g,y("recording"),await Me(140),l.current&&!k&&!E.current){const h=await et(H=>{k=!0,E.current=!0,w.current&&(window.cancelAnimationFrame(w.current),w.current=0),q(H)});h&&l.current?Z.current=h:l.current&&!E.current&&(E.current=!1,$())}const d=await g.result;l.current=null,S(),y("idle");const K=b.current.trim();T(""),b.current="",O(null),f.current.clear(),M(h=>h+1);const _=d.text?.trim()||K;_?e(_):j("No speech was detected. Check your microphone in Settings → Voice."),R(!0)}catch(d){l.current=null,S(),y("idle");const K=b.current.trim();T(""),b.current="",f.current.clear(),M(h=>h+1);const _=d instanceof Error?d.message:"Scout voice recording failed.";if(K){e(K),d instanceof Error&&d.name==="AbortError"||j(`Recording ended early, but Scout recovered the partial transcript. ${_}`);return}if(d instanceof Error&&d.name==="AbortError")return;j(_),R(!0)}},[e,R,q,j,$,S]),se=s.useCallback(async()=>{const r=l.current;if(!r)return;y("processing"),S();const u=window.setInterval(()=>{f.current.decay(.82),M(a=>a+1)},50);window.setTimeout(()=>window.clearInterval(u),600);try{await r.stop()}catch(a){try{await r.cancel()}catch{}l.current=null,y("idle");const g=b.current.trim();T(""),b.current="",f.current.clear(),M(d=>d+1);const k=a instanceof Error?a.message:"Scout voice recording did not finish.";g?(e(g),j(`Recording ended early, but Scout recovered the partial transcript. ${k}`)):j(k)}},[e,j,S]),he=s.useCallback(()=>{if(v==="recording"){se();return}v==="processing"||v==="starting"||re()},[v,re,se]),C=v==="recording",x=te==="launching"||v==="starting"||v==="processing",B=(m.current.canRequestMicrophone||L?.action==="request_microphone"||L?.action==="request_speech")&&!C&&!x,X=(m.current.isMicrophoneHardDenied||L?.action==="open_microphone_settings")&&!C&&!x,oe=(me===!1||L!==null)&&!B&&!X&&!C&&!x,z=N||(L?L.title:X?"Microphone blocked. Open Privacy & Security → Microphone to change it.":B?"Allow microphone access":oe?"Scout voice is not ready":te==="probing"?"Checking voice…":C?"Stop recording":v==="processing"?"Transcribing…":v==="starting"?"Starting voice…":"Start recording"),Y=N?"s-dictation-mic--error":C?"s-dictation-mic--recording":X?"s-dictation-mic--error":B?"s-dictation-mic--needs-permission":oe?"s-dictation-mic--unavailable":x?"s-dictation-mic--busy":"",pe=x?tt:C?it:st,G=C?12:14;return n.jsx("button",{type:"button",title:z,"aria-label":z,"aria-pressed":C,onClick:he,disabled:p||v==="processing",className:["s-dictation-mic",Y,c].filter(Boolean).join(" "),children:n.jsx(pe,{size:G,className:x?"s-dictation-mic-spin":C?"fill-current":""})})}function vt({samples:e,active:t,processing:o=!1,className:p}){const c=wt(e,Ne,o?.06:.04),m=["s-msg-compose-wave",t?"s-msg-compose-wave--live":"",o?"s-msg-compose-wave--processing":"",p??""].filter(Boolean).join(" ");return n.jsx("div",{className:m,"aria-hidden":"true","data-wave-source":e&&e.length>0?"levels":"floor",children:c.map((l,f)=>n.jsx("span",{className:"s-msg-compose-wave-bar",style:{transform:`scaleY(${Math.max(.08,l)})`,opacity:o?.28+l*.35:t?.4+l*.55:.25}},f))})}function wt(e,t,o){if(!e||e.length===0)return Array.from({length:t},()=>o);if(e.length===t)return e.map(c=>Math.max(o,Math.min(1,c)));const p=new Array(t);for(let c=0;c<t;c+=1){const m=Math.min(e.length-1,Math.round(c/Math.max(1,t-1)*(e.length-1)));p[c]=Math.max(o,Math.min(1,e[m]??o))}return p}function bt(){return n.jsxs("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[n.jsx("path",{d:"M12 19V5"}),n.jsx("path",{d:"m5 12 7-7 7 7"})]})}function xt(){return n.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",children:n.jsx("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"})})}function St(){return n.jsx("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:n.jsx("path",{d:"M21.44 11.05 12.05 20.44a5.5 5.5 0 0 1-7.78-7.78l9.19-9.19a3.5 3.5 0 0 1 4.95 4.95l-9.2 9.19a1.5 1.5 0 0 1-2.12-2.12l8.49-8.48"})})}function Ae(e,t){e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,t)}px`}function yt(e){return e.tone==="error"?"Voice":e.state==="recording"?"Listening":e.state==="processing"?"Transcribing":e.state==="starting"?"Starting":"Voice"}function Ft({renderWhenEmbedded:e=!1,...t}){return Oe()&&!e?null:n.jsx(jt,{...t})}function jt({value:e,onChange:t,onSend:o,placeholder:p="Type a message…",disabled:c=!1,sending:m=!1,canSend:l,stopMode:f=!1,onStop:Z,sendTitle:E="Send (Cmd+Enter)",sendAriaLabel:b="Send message (Cmd+Enter)",stopAriaLabel:D="Stop agent",showDictation:w=!0,onDictationStatusChange:v,onDictationCommit:y,showAttach:ee=!1,onAttach:T,attachTitle:te="Add attachment",attachAriaLabel:F="Add attachment",onPaste:me,dropHandlers:I,dragActive:L=!1,secondaryAction:P,leadingTools:N,tools:O,footer:fe,header:M,above:S,aboveAttached:j=!1,input:ne,overlay:R,status:q,textareaRef:$,onKeyDown:re,sendOnEnter:se=!1,onSelect:he,onBlur:C,density:x="panel",as:B="form",className:X,rows:oe=1,autoResize:z=!0,maxHeightPx:Y=160,"aria-label":pe="Message"}){const G=s.useRef(null),[r,u]=s.useState(null),[a,g]=s.useState(!1),[k,d]=s.useState(null),K=s.useCallback(i=>{G.current=i,$&&($.current=i)},[$]),_=s.useRef(null),h=s.useRef(null),H=s.useCallback(()=>{Ee(_.current??G.current),h.current=Le()?.at??null},[]),U=s.useCallback(()=>{const i=h.current;h.current=null,i!==null&&Le()?.at===i&&Ee(null)},[]);s.useEffect(()=>U,[U]),s.useEffect(()=>{if(!z)return;const i=G.current;i&&Ae(i,Y)},[e,z,Y]);const Te=(l??e.trim().length>0)&&!m&&!c,be=O??fe,ie=r?.state==="recording"||r?.state==="starting",J=r?.state==="processing",Pe=!!(r&&(r.tone==="error"||ie||J||r.partial&&r.partial.trim())),ge=s.useCallback(()=>{f||!(l??e.trim().length>0)||m||c||o()},[l,c,o,m,f,e]),Be=i=>{i.preventDefault(),ge()},De=i=>{if(re?.(i)){i.preventDefault();return}if(ct(i,se)){i.preventDefault(),ge();return}},Fe=i=>{const W=i.target.value;t(W,{caret:i.target.selectionStart??W.length}),z&&Ae(i.target,Y)},Ie=i=>{const W=e.trim()?`${e.trimEnd()} ${i}`:i;if(t(W,{caret:W.length}),y){y(W);return}requestAnimationFrame(()=>G.current?.focus())},qe=s.useCallback(i=>{u(i),i.issue||d(null),v?.(i)},[v]),xe=["s-msg-compose",`s-msg-compose--${x}`,x==="thread"?"s-thread-compose":"",X??""].filter(Boolean).join(" "),$e=["s-msg-compose-shell",x==="thread"?"s-thread-compose-shell":""].filter(Boolean).join(" "),ze=["s-msg-compose-input",x==="thread"?"s-thread-compose-input":""].filter(Boolean).join(" "),Se=["s-msg-compose-send",x==="thread"?"s-thread-compose-send":"",f?"s-msg-compose-send--agent-stop s-thread-compose-send--stop":""].filter(Boolean).join(" "),Ge=["s-msg-compose-voice",r?.tone==="recording"||ie?"s-msg-compose-voice--recording":"",r?.tone==="processing"||J?"s-msg-compose-voice--processing":"",r?.tone==="error"?"s-msg-compose-voice--error":""].filter(Boolean).join(" "),{navigate:Ke}=nt(),Q=r?.tone==="error",We=r?.partial?.trim()||null,A=Q?r?.issue??null:null,ye=Q?r?.message:J?"Finalizing transcript…":We,Ze=n.jsxs("div",{ref:_,className:$e,"data-drag-active":L?"true":void 0,...I,children:[M?n.jsx("div",{className:"s-msg-compose-header",children:M}):null,n.jsxs("div",{className:"s-msg-compose-body",children:[ne??n.jsx("textarea",{ref:K,className:ze,placeholder:p,value:e,disabled:c,rows:oe,"aria-label":pe,onChange:Fe,onKeyDown:De,onSelect:he,onFocus:H,onBlur:()=>{U(),C?.()},onPaste:me}),Pe?n.jsxs("div",{className:Ge,role:Q?"alert":"status","aria-live":Q?"assertive":"polite",children:[!Q&&(ie||J)?n.jsx(vt,{samples:r?.levels,active:ie,processing:J}):null,n.jsxs("div",{className:"s-msg-compose-voice-meta",children:[n.jsx("span",{className:"s-msg-compose-voice-label",children:r?yt(r):"Voice"}),A?n.jsxs("span",{className:"s-msg-compose-voice-issue",children:[n.jsx("span",{className:"s-msg-compose-voice-issue-title",children:A.title}),A.hint?n.jsx("span",{className:"s-msg-compose-voice-issue-hint",children:A.hint}):null,A.action!=="none"&&A.actionLabel?n.jsx("button",{type:"button",className:"s-msg-compose-voice-issue-action",disabled:a,onClick:()=>{d(null),A.action==="open_voice_settings"?Ke({view:"settings",section:"voice"}):(g(!0),Je(A.action).catch(i=>d(i instanceof Error?i.message:String(i))).finally(()=>g(!1)))},children:A.actionLabel}):null,k?n.jsx("span",{children:k}):null]}):ye?n.jsx("span",{className:"s-msg-compose-voice-text",children:ye}):null]})]}):null]}),n.jsxs("div",{className:["s-msg-compose-toolbar",x==="thread"?"s-thread-compose-footer":""].filter(Boolean).join(" "),children:[n.jsxs("div",{className:"s-msg-compose-toolbar-start",children:[N,ee?n.jsx("button",{type:"button",className:"s-msg-compose-icon-btn",title:te,"aria-label":F,disabled:c||m,onClick:T,children:n.jsx(St,{})}):N?null:n.jsx("span",{className:"s-msg-compose-toolbar-spacer","aria-hidden":"true"})]}),n.jsxs("div",{className:"s-msg-compose-toolbar-end",children:[be?n.jsx("div",{className:"s-msg-compose-tools",children:be}):null,w?n.jsx(gt,{onAppend:Ie,onStatus:qe,disabled:c||m}):null,P?n.jsx("div",{className:"s-msg-compose-secondary",children:P}):null,f?n.jsx("button",{type:"button",className:Se,onClick:Z,title:D,"aria-label":D,children:n.jsx(xt,{})}):n.jsx("button",{type:B==="form"?"submit":"button",className:Se,disabled:!Te,title:E,"aria-label":b,"data-action":"send",onClick:B==="div"?()=>ge():void 0,children:n.jsx(bt,{})})]})]}),q]}),je=n.jsxs("div",{className:"s-msg-compose-frame","data-above-attached":S&&j?"true":void 0,children:[R,S?n.jsx("div",{className:"s-msg-compose-above",children:S}):null,Ze]});return B==="div"?n.jsx("div",{className:xe,children:je}):n.jsx("form",{className:xe,onSubmit:Be,children:je})}export{gt as D,Rt as G,Ft as M,it as S,Bt as a,Dt as b,Pt as c,Tt as d,st as e,Nt as f,_t as g,ct as i,Vt as s};
@@ -1 +0,0 @@
1
- [data-scope-presentation]{--scope-bg: #111316;--scope-panel: #15181b;--scope-line: rgba(255, 255, 255, .1);--scope-text: #ebe8e1;--scope-muted: #8d8980;--scope-accent: #5fd0c4;--scope-live: #7bd88f;--scope-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}[data-scope-presentation] .bg-background\/95{background:var(--scope-panel)!important;border-color:var(--scope-line)!important}[data-scope-presentation] .scout-nav-tab.active{color:var(--scope-accent)}[data-scope-presentation] .scout-nav-action--scout{appearance:none;border:1px solid rgba(95,208,196,.28);background:#5fd0c40f;color:var(--scope-accent);border-radius:6px;padding:4px 10px;font-family:var(--scope-mono);font-size:var(--text-sm)}[data-scope-presentation] .scout-nav-action--scout:hover{background:#5fd0c41f}[data-scope-presentation] .scout-surface-body{background:radial-gradient(1200px 600px at 10% -10%,rgba(95,208,196,.06),transparent 60%),var(--scope-bg);color:var(--scope-text)}[data-scope-presentation] .scout-nav-tabs--scope{gap:10px}[data-scope-presentation] .scout-nav-scope-tag{font-family:var(--scope-mono);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--scope-muted);padding-right:6px;border-right:1px solid var(--scope-line);margin-right:2px}[data-scope-presentation] .scout-nav-tab.active{border-bottom-color:var(--scope-accent)}.scope-lanes,.scope-dir{--scope-bg: #111316;--scope-panel: #15181b;--scope-line: rgba(255, 255, 255, .1);--scope-text: #ebe8e1;--scope-muted: #8d8980;--scope-accent: #5fd0c4;--scope-live: #7bd88f;--scope-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%;background:radial-gradient(1200px 600px at 10% -10%,rgba(95,208,196,.06),transparent 60%),var(--scope-bg);color:var(--scope-text)}.scope-lanes-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid var(--scope-line);background:var(--scope-panel)}.scope-lanes-bar__summary{display:flex;align-items:baseline;gap:12px;font-family:var(--scope-mono);font-size:var(--text-sm);letter-spacing:.06em;color:var(--scope-muted)}.scope-lanes-bar__count{color:var(--scope-accent);text-transform:uppercase}.scope-lanes-bar__controls{display:flex;align-items:center;gap:12px}.scope-lanes-bar__layouts,.scope-lanes-bar__horizons,.scope-lane-width{display:flex;gap:4px}.scope-lane-width__btn,.scope-lanes-bar__layout,.scope-lanes-bar__horizon{appearance:none;border:1px solid transparent;background:transparent;color:var(--scope-muted);font-family:var(--scope-mono);font-size:var(--text-sm);padding:4px 8px;border-radius:4px;cursor:pointer}.scope-lanes-bar__layout.is-on,.scope-lanes-bar__horizon.is-on,.scope-lane-width__btn.is-on{border-color:#5fd0c459;color:var(--scope-accent);background:#5fd0c414}.scope-lanes-bar__layout:focus-visible,.scope-lanes-bar__horizon:focus-visible,.scope-lane-width__btn:focus-visible{outline:2px solid var(--scope-accent);outline-offset:2px}.scope-lane-width.is-compact{margin-top:4px}.scope-lane-width.is-compact .scope-lane-width__btn{padding:2px 5px;font-size:var(--text-2xs);letter-spacing:.04em;text-transform:uppercase}.scope-lane__meta .scope-lane-width{margin-top:6px}.scope-lanes__issues{padding:8px 16px;border-bottom:1px solid var(--scope-line)}.scope-lanes__issues-list{margin:0;padding:0;list-style:none;font-family:var(--scope-mono);font-size:var(--text-sm);color:var(--scope-muted)}.scope-lanes__empty,.scope-dir__empty{flex:1;display:grid;place-items:center;padding:48px 24px;font-family:var(--scope-mono);font-size:var(--text-md);color:var(--scope-muted)}.scope-lanes__canvas{flex:1;min-height:0;overflow:hidden}.scope-lanes__scroll{display:flex;gap:12px;height:100%;overflow-x:auto;padding:16px;scroll-snap-type:x proximity}.scope-lanes.is-dragging .scope-lanes__scroll:not(.is-grid){scroll-snap-type:none}.scope-lanes.is-dragging .scope-lanes__scroll:not(.is-grid) .scope-lane-space{scroll-snap-align:none}.scope-lanes__scroll.is-grid{--scope-grid-tracks: 4;display:grid;grid-template-columns:repeat(var(--scope-grid-tracks, 4),minmax(0,1fr));grid-auto-rows:minmax(220px,min(400px,42vh));align-content:start;gap:12px;overflow-x:hidden;overflow-y:auto;scroll-snap-type:none;position:relative;width:100%;min-height:0;box-sizing:border-box}.scope-lanes__scroll:not(.is-grid){position:relative}.scope-lane-space{display:flex;align-items:stretch;min-height:0;min-width:0;position:relative;overflow:hidden;isolation:isolate}.scope-lanes__scroll:not(.is-grid) .scope-lane-space{flex:0 0 auto;width:var(--scope-lane-width, 512px);height:100%;scroll-snap-align:start}.scope-lanes__scroll.is-grid .scope-lane-space{width:100%;max-width:100%;min-width:0;min-height:220px;max-height:min(400px,42vh);align-self:stretch}@media(max-width:640px){.scope-lanes__scroll.is-grid .scope-lane-space{grid-column:1 / -1}}.scope-lane-width.is-grid .scope-lane-width__btn{min-width:2.25rem}.scope-lane-space__lanes{flex:1 1 auto;min-width:0;min-height:0;display:flex;gap:4px;overflow:hidden}.scope-lane-space__lanes>.scope-lane{flex:1 1 0;min-width:0;min-height:0}.scope-lane-space[data-orient=row] .scope-lane-space__lanes{flex-direction:row}.scope-lane-space[data-orient=column] .scope-lane-space__lanes{flex-direction:column}.scope-lane-space[data-orient=column][data-split="2"] .scope-lane-space__lanes,.scope-lane-space[data-orient=column][data-split="3"] .scope-lane-space__lanes,.scope-lane-space[data-orient=column][data-split="4"] .scope-lane-space__lanes,.scope-lane-space[data-orient=column][data-split="5"] .scope-lane-space__lanes,.scope-lane-space[data-orient=column][data-split="6"] .scope-lane-space__lanes{min-height:calc(112px * var(--scope-lane-stack-max, 4))}.scope-lane-space[data-orient=column][data-split]:not([data-split="1"]) .scope-lane__trace{min-height:0;flex:1 1 0}.scope-lane{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;min-height:0;border:1px solid var(--scope-line);border-radius:8px;background:var(--scope-panel);outline:none;overflow:hidden;position:relative}.scope-lanes.is-grid .scope-lane.is-grid,.scope-lanes.is-grid .scope-lane{min-height:0;height:auto}.scope-lane.is-dragging{opacity:.58}.scope-lane.is-drop-target{outline:1px dashed rgba(95,208,196,.35);outline-offset:-1px}.scope-lane.is-cursor{border-color:#5fd0c473;box-shadow:0 0 0 1px #5fd0c433}.scope-lane__head{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-bottom:1px solid var(--scope-line);cursor:pointer}.scope-lane__head.is-compact{align-items:center;padding:5px 8px;gap:6px}.scope-lane__drag{flex-shrink:0;position:relative;z-index:2;width:22px;height:22px;margin-top:1px;border:1px solid rgba(95,208,196,.28);border-radius:4px;background:#5fd0c41a;color:var(--scope-accent);font-size:var(--text-sm);line-height:22px;text-align:center;cursor:grab;-webkit-user-select:none;user-select:none;-webkit-user-drag:element;touch-action:none;transition:border-color .14s ease,color .14s ease,background .14s ease}.scope-lane__head.is-compact .scope-lane__drag{width:18px;height:18px;margin-top:0;font-size:var(--text-xs);line-height:18px}.scope-lane__drag:hover{border-color:#5fd0c473;color:var(--scope-text);background:#5fd0c429}.scope-lane__drag:focus-visible{outline:2px solid var(--scope-accent);outline-offset:1px}.scope-lane__drag:active,.scope-lane.is-dragging .scope-lane__drag{cursor:grabbing}.scope-lane-drop{position:absolute;top:0;left:0;z-index:5;pointer-events:none;border-radius:4px;box-sizing:border-box}.scope-lane-drop[hidden]{display:none}.scope-lane-drop.is-line{background:var(--scope-accent);box-shadow:0 0 10px #5fd0c473}.scope-lane-drop.is-band{background:#5fd0c41f;border:1px solid var(--scope-accent);border-radius:6px;box-shadow:inset 0 0 0 1px #5fd0c438}.scope-lane-drop.is-band.is-bottom-stack{border-radius:0 0 8px 8px;background:#5fd0c414;box-shadow:inset 0 0 0 1px #5fd0c42e}.scope-lane-drop.is-band[data-label="stack between"]{background:#5fd0c433;border-radius:4px;box-shadow:0 0 12px #5fd0c459}.scope-lane-drop.is-column{background:#5fd0c40f;border:1px dashed var(--scope-accent);border-radius:8px;box-shadow:inset 0 0 0 1px #5fd0c429,0 10px 28px -18px #5fd0c459}.scope-lane-drop[data-label]:after{content:attr(data-label);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--scope-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--scope-accent);white-space:nowrap;padding:2px 6px;border-radius:3px;background:#111316d1}.scope-lane__head:focus-visible{outline:2px solid var(--scope-accent);outline-offset:-2px}.scope-lane__live{width:6px;height:6px;margin-top:5px;border-radius:50%;background:transparent;flex-shrink:0}.scope-lane.is-live .scope-lane__live{background:var(--scope-live);box-shadow:0 0 8px #7bd88f80}.scope-lane__meta{display:flex;flex-direction:column;gap:2px;min-width:0;font-family:var(--scope-mono);font-size:var(--text-sm)}.scope-lane__source{color:var(--scope-accent);letter-spacing:.04em}.scope-lane__ref,.scope-lane__path,.scope-lane__status{color:var(--scope-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scope-lane.is-live .scope-lane__status{color:var(--scope-live)}.scope-lane__trace{flex:1;min-height:200px;overflow:hidden;display:flex;flex-direction:column}.scope-lane.is-stack-compact .scope-lane__trace{min-height:96px}.scope-lane.is-stack-compact .scope-lane__meta{font-size:var(--text-xs)}.scope-lane__empty{padding:24px 12px;font-family:var(--scope-mono);font-size:var(--text-sm);color:var(--scope-muted);text-align:center}.scope-lane__trace .s-observe--scope{--ink: var(--scope-text);--muted: color-mix(in srgb, var(--scope-text) 78%, var(--scope-muted));--dim: var(--scope-muted);--accent: var(--scope-accent);--bg: var(--scope-bg);--surface: var(--scope-panel);--red: #e07a7a;flex:1;min-height:0;height:100%;background:transparent;color:var(--scope-text)}.scope-lane__trace .s-observe--scope .s-observe-main{flex:1;min-height:0;padding:8px 10px 12px}.scope-lane__trace .s-observe--scope.s-observe--lane-gutter-label{--lane-time-col: 88px;--lane-spine-x: 90px}.scope-lane__trace .s-observe--scope.s-observe--lane{--lane-glyph-size: 15px;--lane-glyph-width: 20px;--lane-glyph-color: color-mix(in srgb, var(--scope-accent) 72%, var(--scope-text))}.scope-lane__trace .s-observe--scope .s-observe-tool--fam-file .s-observe-tool-path-base--file,.scope-lane__trace .s-observe--scope .s-observe-tool--fam-read .s-observe-tool-path-base--read{color:color-mix(in srgb,var(--scope-accent) 82%,var(--scope-text))}.scope-lane__trace .s-observe--scope .s-observe-tool-diff-add,.scope-lane__trace .s-observe--scope .s-observe-diff-line--add{color:color-mix(in srgb,var(--scope-live) 70%,var(--scope-text))}.scope-lane__trace .s-observe--scope .s-observe-row--selectable:hover .s-observe-tool,.scope-lane__trace .s-observe--scope .s-observe-row--selectable:focus-visible .s-observe-tool{border-left-color:color-mix(in srgb,var(--scope-accent) 28%,transparent);background:color-mix(in srgb,var(--scope-accent) 6%,var(--scope-panel))}.scope-lane__trace .s-observe--scope .s-observe-grok-permission{border-color:color-mix(in srgb,var(--scope-line) 85%,transparent);background:color-mix(in srgb,var(--scope-panel) 88%,transparent)}.scope-lane__trace .s-observe--scope .s-observe-grok-permission-decision.is-allow{color:color-mix(in srgb,var(--scope-accent) 78%,var(--scope-text))}.scope-lane__trace .s-observe--scope .s-observe-grok-permission-tool{color:var(--scope-text)}.scope-lane__trace .s-observe--scope .s-observe-grok-turn-num{color:color-mix(in srgb,var(--scope-accent) 55%,var(--scope-muted))}.scope-lane__trace .s-observe--scope .s-observe-live-sticky,.scope-lane__trace .s-observe--scope .s-observe-scrubber,.scope-lane__trace .s-observe--scope .s-observe-lane-trace-meta{display:none}.scope-lane.is-stack-compact .scope-lane__trace .s-observe--lane .s-observe-main{--lane-time-col: 72px;--lane-spine-x: 74px;padding:4px 6px 6px}.scope-lane.is-stack-compact .scope-lane__trace .s-observe--lane .s-observe-stream{padding:2px 4px 6px calc(var(--lane-time-col) + 8px)}.scope-lane.is-stack-compact .scope-lane__trace .s-observe--lane .s-observe-row{padding-bottom:0}.scope-lane.is-stack-compact .scope-lane__trace .s-observe--lane .s-observe-row-time{font-size:var(--text-2xs)}.scope-lane.is-stack-compact .scope-lane__trace .s-observe--lane .s-observe-tool-cmd,.scope-lane.is-stack-compact .scope-lane__trace .s-observe--lane .s-observe-message-text,.scope-lane.is-stack-compact .scope-lane__trace .s-observe--lane .s-observe-reasoning-text{font-size:var(--text-xs);line-height:1.35}.scope-lane.is-stack-compact .scope-lane__trace .s-observe--lane .s-observe-tool-glyph,.scope-lane.is-stack-compact .scope-lane__trace .s-observe--lane .s-observe-bash-prompt{font-size:var(--lane-glyph-size)}.scope-lane.is-stack-compact .scope-lane__trace .s-observe--lane .s-observe-tool-glyph{width:var(--lane-glyph-width);min-width:var(--lane-glyph-width)}.scope-lane-detail__trace .s-observe--scope{background:transparent;color:var(--scope-text)}.scope-lane-detail__trace .s-observe--scope .s-observe-live-sticky,.scope-lane-detail__trace .s-observe--scope .s-observe-scrubber{display:none}.scope-dir__bar{padding:12px 16px;border-bottom:1px solid var(--scope-line);background:var(--scope-panel)}.scope-dir__summary{display:flex;align-items:baseline;gap:12px;font-family:var(--scope-mono);font-size:var(--text-sm);letter-spacing:.06em;color:var(--scope-muted)}.scope-dir__count{color:var(--scope-accent);text-transform:uppercase}.scope-dir__live{color:var(--scope-live)}.scope-dir__body{flex:1;overflow:auto;padding:16px}.scope-dir__group+.scope-dir__group{margin-top:24px}.scope-dir__group-head{display:flex;align-items:baseline;gap:10px;margin-bottom:8px;font-family:var(--scope-mono);font-size:var(--text-sm)}.scope-dir__group-name{color:var(--scope-text);letter-spacing:.04em}.scope-dir__group-kind,.scope-dir__group-counts{color:var(--scope-muted)}.scope-dir__list{border:1px solid var(--scope-line);border-radius:6px;overflow:hidden}.scope-dir__row{display:grid;grid-template-columns:12px 72px 1fr auto auto;gap:10px;align-items:center;padding:8px 12px;font-family:var(--scope-mono);font-size:var(--text-sm);border-bottom:1px solid var(--scope-line);cursor:pointer}.scope-dir__row:last-child{border-bottom:none}.scope-dir__row:hover,.scope-dir__row:focus-visible{background:#5fd0c40f;outline:none}.scope-dir__row:focus-visible{box-shadow:inset 0 0 0 2px var(--scope-accent)}.scope-dir__dot{width:6px;height:6px;border-radius:50%;background:var(--scope-line)}.scope-dir__dot.is-live{background:var(--scope-live)}.scope-dir__ref{color:var(--scope-accent)}.scope-dir__path{color:var(--scope-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scope-dir__events{color:var(--scope-muted);text-align:right}.scope-dir__unit{opacity:.6;margin-left:1px}.scope-dir__status{color:var(--scope-muted);white-space:nowrap}.scope-dir__row.is-live .scope-dir__status{color:var(--scope-live)}.scope-lane-trace-sheet{--slide-bg: var(--scope-panel, #15181b);color:var(--scope-text, #ebe8e1)}.scope-lane-trace-sheet__toolbar{display:flex;justify-content:flex-end;padding:8px 8px 0}.scope-lane-trace-sheet__close{appearance:none;border:none;background:transparent;color:var(--scope-muted, #8d8980);font-size:var(--text-4xl);line-height:1;padding:4px 8px;cursor:pointer;border-radius:4px}.scope-lane-trace-sheet__close:focus-visible{outline:2px solid var(--scope-accent, #5fd0c4);outline-offset:2px}.scope-lane-detail{display:flex;flex-direction:column;min-height:100%}.scope-lane-detail__head{display:flex;align-items:flex-start;gap:12px;padding:16px 16px 12px;border-bottom:1px solid var(--scope-line, rgba(255, 255, 255, .1))}.scope-lane-detail__copy{flex:1;min-width:0}.scope-lane-detail__kicker{display:block;font-family:var(--scope-mono, monospace);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--scope-muted, #8d8980);margin-bottom:4px}.scope-lane-detail__title{margin:0;font-family:var(--scope-mono, monospace);font-size:var(--text-xl);font-weight:500;color:var(--scope-accent, #5fd0c4)}.scope-lane-detail__ref{color:var(--scope-muted, #8d8980)}.scope-lane-detail__sub{margin-top:4px;font-family:var(--scope-mono, monospace);font-size:var(--text-sm);color:var(--scope-muted, #8d8980)}.scope-lane-detail__meta{display:flex;flex-wrap:wrap;gap:12px 20px;margin:0;padding:10px 16px;border-bottom:1px solid var(--scope-line, rgba(255, 255, 255, .1));font-family:var(--scope-mono, monospace);font-size:var(--text-sm)}.scope-lane-detail__stat{display:flex;gap:6px}.scope-lane-detail__stat dt{margin:0;color:var(--scope-muted, #8d8980);text-transform:uppercase;letter-spacing:.06em}.scope-lane-detail__stat dd{margin:0;color:var(--scope-text, #ebe8e1)}.scope-lane-detail__trace{flex:1;min-height:0;overflow:auto}.scope-sessions-route{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%}.scope-sessions{--scope-bg: #111316;--scope-panel: #15181b;--scope-line: rgba(255, 255, 255, .1);--scope-text: #ebe8e1;--scope-muted: #8d8980;--scope-accent: #5fd0c4;--scope-live: #7bd88f;--scope-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%;background:radial-gradient(1200px 600px at 10% -10%,rgba(95,208,196,.06),transparent 60%),var(--scope-bg);color:var(--scope-text)}.scope-sessions__bar{padding:12px 16px;border-bottom:1px solid var(--scope-line);background:var(--scope-panel)}.scope-sessions__summary{display:flex;align-items:baseline;gap:12px;font-family:var(--scope-mono);font-size:var(--text-sm);letter-spacing:.06em;color:var(--scope-muted)}.scope-sessions__count{color:var(--scope-accent);text-transform:uppercase}.scope-sessions__live{color:var(--scope-live)}.scope-sessions__warn{color:#e07a7a;text-transform:uppercase}.scope-sessions__body{flex:1;min-height:0;display:flex;flex-direction:column;padding:12px 16px 16px}.scope-sessions__atop{--bg: var(--scope-bg);--ink: var(--scope-text);--muted: var(--scope-muted);--dim: var(--scope-muted);--surface: var(--scope-panel);--border: var(--scope-line);--accent: var(--scope-accent);--green: var(--scope-live);--amber: #d4a574;--font-mono: var(--scope-mono);--font-sans: var(--scope-mono);flex:1;min-height:0;border:1px solid var(--scope-line);border-radius:8px;overflow:hidden;background:var(--scope-panel)}.scope-sessions__atop .s-atop-fbar{background:color-mix(in srgb,var(--scope-panel) 92%,var(--scope-bg));border-bottom-color:var(--scope-line)}.scope-sessions__atop .s-atop-search{background:#ffffff08;border-color:var(--scope-line)}.scope-sessions__atop .s-atop-search:focus-within{border-color:#5fd0c473;box-shadow:0 0 0 1px #5fd0c41f}.scope-sessions__atop .s-atop-search-prompt,.scope-sessions__atop .s-atop-pill--on .s-atop-pill-ct{color:var(--scope-accent)}.scope-sessions__atop .s-atop-pill{border-color:var(--scope-line);background:transparent;color:var(--scope-muted);border-radius:4px;font-size:var(--text-sm);letter-spacing:.04em}.scope-sessions__atop .s-atop-pill:hover{color:var(--scope-text);border-color:#5fd0c459}.scope-sessions__atop .s-atop-pill--on{background:#5fd0c414;border-color:#5fd0c459;color:var(--scope-accent)}.scope-sessions__atop .s-atop-pill:focus-visible,.scope-sessions__atop .s-atop-search-input:focus-visible{outline:2px solid var(--scope-accent);outline-offset:2px}.scope-sessions__atop .dt-wrap{border:0;border-radius:0;background:transparent;box-shadow:none}.scope-sessions__atop .dt-table thead th{background:color-mix(in srgb,var(--scope-panel) 88%,var(--scope-bg));border-bottom-color:var(--scope-line);color:var(--scope-muted);font-size:var(--text-xs);letter-spacing:.08em}.scope-sessions__atop .dt-table tbody td{border-bottom-color:var(--scope-line);color:var(--scope-muted)}.scope-sessions__atop .dt-row--interactive:hover td,.scope-sessions__atop .dt-row--interactive:focus-visible td{background:#5fd0c40f;color:var(--scope-text)}.scope-sessions__atop .s-atop-row--selected td,.scope-sessions__atop .dt-row--active td{background:#5fd0c41a;color:var(--scope-text)}.scope-sessions__atop .s-atop-agent-id,.scope-sessions__atop .s-atop-col-project{color:var(--scope-text)}.scope-sessions__atop .s-atop-chip--harness{color:var(--scope-accent);border-color:#5fd0c447;background:#5fd0c40f}.scope-sessions__atop .s-atop-status--run{color:var(--scope-live)}.scope-sessions__atop .s-atop-status--run .s-atop-status-dot{background:var(--scope-live);box-shadow:0 0 8px #7bd88f73}.scope-sessions__atop .s-atop-status--idle{color:var(--scope-muted)}.scope-sessions__atop .s-atop-keys{background:color-mix(in srgb,var(--scope-panel) 92%,var(--scope-bg));border-top-color:var(--scope-line);color:var(--scope-muted);font-size:var(--text-sm)}.scope-sessions__atop .s-atop-keys-count strong,.scope-sessions__atop .s-atop-keys kbd{color:var(--scope-text);border-color:var(--scope-line);background:#ffffff0a}.scope-sessions__atop .dt-empty-title{color:var(--scope-muted);font-family:var(--scope-mono)}.scope-sessions__atop .dt-empty{color:var(--scope-muted);font-family:var(--scope-mono);font-size:var(--text-md)}.scope-tail-route{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%}.scope-tail{--scope-bg: #111316;--scope-panel: #15181b;--scope-line: rgba(255, 255, 255, .1);--scope-text: #ebe8e1;--scope-muted: #8d8980;--scope-accent: #5fd0c4;--scope-live: #7bd88f;--scope-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%;background:radial-gradient(1200px 600px at 10% -10%,rgba(95,208,196,.06),transparent 60%),var(--scope-bg);color:var(--scope-text)}.scope-tail__bar{padding:12px 16px;border-bottom:1px solid var(--scope-line);background:var(--scope-panel)}.scope-tail__summary{display:flex;align-items:baseline;gap:12px;font-family:var(--scope-mono);font-size:var(--text-sm);letter-spacing:.06em;color:var(--scope-muted)}.scope-tail__count{color:var(--scope-accent);text-transform:uppercase}.scope-tail__hint{color:var(--scope-muted)}.scope-tail__query{color:var(--scope-text);opacity:.85}.scope-tail__body{flex:1;min-height:0;display:flex;flex-direction:column;padding:12px 16px 16px}.scope-tail__stream{--bg: var(--scope-bg);--ink: var(--scope-text);--muted: var(--scope-muted);--dim: var(--scope-muted);--surface: var(--scope-panel);--border: var(--scope-line);--accent: var(--scope-accent);--green: var(--scope-live);--amber: #d4a574;--red: #e07a7a;--info: color-mix(in srgb, #7eb8da 75%, var(--scope-text));--cat-gold: #d4a574;--cat-sky: var(--scope-accent);--cat-purple: #b8a0d4;--font-mono: var(--scope-mono);--font-sans: var(--scope-mono);flex:1;min-height:0;border:1px solid var(--scope-line);border-radius:8px;overflow:hidden;background:var(--scope-panel)}.scope-tail__stream .s-tail-status{background:color-mix(in srgb,var(--scope-panel) 92%,var(--scope-bg));border-bottom-color:var(--scope-line);font-size:var(--text-sm)}.scope-tail__stream .s-tail-status-state{color:var(--scope-accent)}.scope-tail__stream .s-tail-status-state--paused{color:var(--scope-muted)}.scope-tail__stream .s-tail-live-dot{background:var(--scope-accent);box-shadow:0 0 8px #5fd0c473}.scope-tail__stream .s-tail-live-dot--paused{background:var(--scope-muted);box-shadow:none}.scope-tail__stream .s-tail-status-cluster--display,.scope-tail__stream .s-tail-status-cluster--issues{border-left-color:var(--scope-line)}.scope-tail__stream .s-tail-issue-filter-btn{border-radius:4px;padding:2px 6px}.scope-tail__stream .s-tail-issue-filter-btn:hover{color:var(--scope-text)}.scope-tail__stream .s-tail-issue-filter-btn--active{color:var(--scope-accent);text-decoration:none;background:#5fd0c414;border:1px solid rgba(95,208,196,.28)}.scope-tail__stream .s-tail-issue-filter-btn:focus-visible{outline:2px solid var(--scope-accent);outline-offset:2px}.scope-tail__stream .s-tail-filter{background:#ffffff08;border-bottom-color:var(--scope-line)}.scope-tail__stream .s-tail-filter-prompt{color:var(--scope-accent)}.scope-tail__stream .s-tail-filter-input{color:var(--scope-text)}.scope-tail__stream .s-tail-filter-input::placeholder{color:var(--scope-muted)}.scope-tail__stream .s-tail-body{background:var(--scope-bg)}.scope-tail__stream .s-tail-row:nth-child(2n){background:#ffffff05}.scope-tail__stream .s-tail-row:hover,.scope-tail__stream .s-tail-row:focus-visible{background:#5fd0c40f;color:var(--scope-text)}.scope-tail__stream .s-tail-row.s-tail-row--selected,.scope-tail__stream .s-tail-row.s-tail-row--selected:hover{background:#5fd0c41a;color:var(--scope-text)}.scope-tail__stream .s-tail-summary{color:var(--scope-text)}.scope-tail__stream .s-tail-token--harness{color:var(--scope-accent)}.scope-tail__stream .s-tail-link--active:hover,.scope-tail__stream .s-tail-link--active:focus-visible{color:var(--scope-accent)}.scope-tail__stream .s-tail-glyph--assistant{color:var(--scope-accent)}.scope-tail__stream .s-tail-glyph--tool-result{color:var(--scope-live)}.scope-tail__stream .s-tail-divider{border-color:var(--scope-line);background:#5fd0c40a;color:var(--scope-muted);font-size:var(--text-sm)}.scope-tail__stream .s-tail-divider:hover,.scope-tail__stream .s-tail-divider:focus-visible{background:#5fd0c414;color:var(--scope-accent)}.scope-tail__stream .s-tail-empty{color:var(--scope-muted);font-family:var(--scope-mono);font-size:var(--text-md)}.scope-tail__stream .s-tail-empty-title{color:var(--scope-text)}.scope-tail__stream .s-tail-keys{background:color-mix(in srgb,var(--scope-panel) 92%,var(--scope-bg));border-top:1px solid var(--scope-line);color:var(--scope-muted);font-size:var(--text-sm)}.scope-tail__stream .s-tail-keys kbd{color:var(--scope-text);border-color:var(--scope-line);background:#ffffff0a}.scope-tail__stream .s-tail-body>.s-tail-row:last-child{animation-name:s-tail-row-in,s-tail-row-settle-scope}@keyframes s-tail-row-settle-scope{0%{background-color:#5fd0c41f}to{background-color:transparent}}
@@ -1 +0,0 @@
1
- import{L as a,N as l,O as n,P as r,r as m}from"./index-EsrkGBcv.js";import{R as p,T as i,U as c,u as E,V as S}from"./router-DCtl8wqb.js";const _={path:l(n.lanes),bundle:`?ffBundle=${a}`,deploy:`OPENSCOUT_WEB_FLAG_BUNDLE=${a}`},o=[{key:"lanes",label:"Agent Lanes",segment:n.lanes},{key:"sessions",label:"Sessions",segment:n.sessions},{key:"tail",label:"Live Activity",segment:n.tail},{key:"agents",label:"Agents",segment:n.agents}],b=o.map(e=>({key:e.key,label:e.label,route:p(e.segment)}));function A(e){const t=i(e);return o.find(s=>s.segment===t)?.key??"lanes"}function d(e){const t=i(e);return o.find(s=>s.segment===t)?.label??r}function u(){const{pathname:e}=E();return c(e)}function P(){return S(u())}function L(e){const t=u();return m.useEffect(()=>(t?document.documentElement.setAttribute("data-scope-presentation",""):document.documentElement.removeAttribute("data-scope-presentation"),()=>document.documentElement.removeAttribute("data-scope-presentation")),[t]),{active:t,brandLabel:t?d(e.route):r}}function O(){return c(typeof window<"u"?window.location.pathname:"")}export{b as S,u as a,_ as b,d as c,L as d,O as i,A as s,P as u};
@@ -1 +0,0 @@
1
- import{_ as B}from"./index-EsrkGBcv.js";import{b as H,p as j,V as G,D as z}from"./fx-z37u1o2z.js";function J(){return{code:"host_offline",title:"Scout Menu is not connected",message:"No voice host has registered with this web server.",hint:"The browser never records audio — Scout Menu is the voice host. If it is already running, this clears on its own; otherwise launch it.",action:"launch_host",actionLabel:"Launch Scout Menu"}}function W(t){return!t||t.granted?null:t.canRequest?{code:"microphone_not_requested",title:"Microphone access needed",message:"Scout Menu needs microphone access before dictation can start.",hint:"Request access or tap the mic again to show the macOS prompt.",action:"request_microphone",actionLabel:"Request access"}:t.status==="denied"?{code:"microphone_denied",title:"Microphone blocked",message:"Scout Menu cannot record because microphone access is off.",hint:"Scout is opening macOS Microphone settings and will detect the change automatically.",action:"open_microphone_settings",actionLabel:"Open Microphone settings"}:{code:"microphone_denied",title:"Microphone unavailable",message:"Scout Menu cannot access the microphone on this Mac.",hint:"Open Privacy & Security → Microphone to review it.",action:"open_microphone_settings",actionLabel:"Open Microphone settings"}}function X(t){return!t||t.granted?null:t.canRequest?{code:"speech_not_requested",title:"Speech recognition needed",message:"Scout Menu needs speech recognition for live partials and Apple Speech fallback.",hint:"Request access to show the macOS prompt.",action:"request_speech",actionLabel:"Request access"}:{code:"speech_denied",title:"Speech recognition blocked",message:"Speech recognition is off for Scout Menu.",hint:"Choose Retry access to reopen macOS Speech Recognition settings.",action:"open_speech_settings",actionLabel:"Open Speech settings"}}function K(){return{code:"no_input_device",title:"No microphone detected",message:"Scout Menu did not report any audio input devices.",hint:"Plug in a microphone, check Sound settings, then refresh Settings → Voice.",action:"open_voice_settings",actionLabel:"Open Voice settings"}}function Te(t){return t?t.hint?`${t.message} ${t.hint}`:t.message:"Scout voice is unavailable."}let x=!1,T=0;function Pe(t){x=t}function q(){T+=1}function N(){T=Math.max(0,T-1)}function Re(){return x?"Live voice is active.":T>0?"Another Scout playback is active.":null}async function Ie(t){switch(t){case"request_microphone":await R("microphone");return;case"request_speech":await R("speechRecognition");return;case"open_microphone_settings":await D("microphone");return;case"open_speech_settings":await D("speechRecognition");return;case"launch_host":await U().launch({source:"openscout"});return;case"open_voice_settings":case"none":return}}async function Oe(t={}){const e=await fetch("/api/voice/engage",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(t)});if(e.status===404)return Q(t);if(!e.ok){const n=await e.text().catch(()=>"");throw new Error(b(n,e.status))}return await e.json()}async function Q(t={}){const e=await Ee(),n=e.settings,s=e.devices,r=s.length>0||(n.permissions?.length??0)>0,o=n.permissions?.find(h=>h.kind==="microphone")??null,i=n.permissions?.find(h=>h.kind==="speechRecognition")??null,c=Y(n,s);if(t.requestPermissions&&(o&&!o.granted&&o.status!=="restricted"?await R("microphone").catch(()=>{}):(o?.granted??!1)&&i&&!i.granted&&i.status!=="restricted"&&await R("speechRecognition").catch(()=>{})),!r)return{ready:!1,issue:J(),warnings:[],settings:n,devices:s,inputDevice:null,hostOnline:!1};const l=W(o);if(l)return{ready:!1,issue:l,warnings:[],settings:n,devices:s,inputDevice:c,hostOnline:r};if(!c)return{ready:!1,issue:K(),warnings:[],settings:n,devices:s,inputDevice:null,hostOnline:r};const u=X(i);return{ready:!0,issue:null,warnings:u?[u]:[],settings:n,devices:s,inputDevice:c,hostOnline:r}}function Y(t,e){if(e.length===0)return null;const n=t.inputDeviceId?e.find(o=>o.id===t.inputDeviceId):null,s=e.find(o=>o.isDefault)??e[0]??null,r=n??s;return r?{id:r.id,name:r.name}:null}function Z(t,e){switch(e){case"microphone_permission":return"Microphone access is off for Scout Menu. Tap the mic to retry; Scout will open macOS Microphone settings.";case"empty_transcript":return"No speech was detected. Check your microphone input in Settings → Voice.";default:return t}}const ee=6e4,te=3e3,ne=2e4,oe=8e3,re=45e3;let I=null,_=null,p=null,C=!1;const O=new Set;function ie(){return typeof window>"u"?!1:typeof fetch=="function"}function U(){return I||(I=new se),I}function Ce(t){return O.add(t),p&&t(p),()=>{O.delete(t)}}function Le(){if(C||!ie())return;C=!0;const t=U();t.probe();const e=()=>{t.probeIfStale()};window.addEventListener("focus",e),document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&e()})}function L(t){for(const e of O)e(t)}function V(t,e=Date.now()){const n=t.ok?ne:oe;return e-t.probedAt<n}class se{state="unknown";unavailableReason=null;captureMode=null;hostReachable=!1;microphoneGranted=null;microphoneCanRequest=null;inputDeviceName=null;get connectionState(){return this.state}get lastUnavailableReason(){return this.unavailableReason}get preferredCaptureMode(){return this.captureMode}get isVoiceHostReachable(){return this.hostReachable}get activeInputDeviceName(){return this.inputDeviceName}get isMicrophoneGranted(){return this.microphoneGranted}get canRequestMicrophone(){return this.hostReachable&&this.microphoneGranted===!1&&this.microphoneCanRequest===!0}get isMicrophoneHardDenied(){return this.hostReachable&&this.microphoneGranted===!1&&this.microphoneCanRequest===!1}get isMicrophoneDenied(){return this.isMicrophoneHardDenied}async probeIfStale(){const e=Date.now();return p&&V(p,e)?(this.applyProbeSnapshot(p),p.ok):p&&p.ok&&e-p.probedAt<re?(this.applyProbeSnapshot(p),!0):p&&!p.ok?this.probe({force:!0}):this.probe()}async probe(e={}){const n=typeof e=="number"?{timeoutMs:e}:e,s=n.force??!1,r=n.timeoutMs??te,o=Date.now();return!s&&p&&V(p,o)?(this.applyProbeSnapshot(p),p.ok):_||(this.state="probing",_=this.fetchProbe(r).finally(()=>{_=null}),_)}async fetchProbe(e){const n=new AbortController,s=window.setTimeout(()=>n.abort(),e);try{const r=await fetch("/api/voice/health?quiet=1",{signal:n.signal}),o=await r.json().catch(()=>({})),i=!!o.host?.hostId,c=typeof o.microphoneGranted=="boolean"?o.microphoneGranted:null,l=typeof o.microphoneCanRequest=="boolean"?o.microphoneCanRequest:null,u=typeof o.inputDevice?.name=="string"&&o.inputDevice.name.trim()?o.inputDevice.name.trim():null,h=o.capture==="browser"?"browser":"native",m=r.ok&&o.ok===!0,g=m?null:o.detail??o.error??(i?"Scout voice is not ready.":"Scout voice service is unavailable."),w={ok:m,reason:g,captureMode:m?h:null,hostReachable:i,microphoneGranted:c,microphoneCanRequest:l,inputDeviceName:u,probedAt:Date.now()};return p=w,this.applyProbeSnapshot(w),L(w),m}catch(r){const i={ok:!1,reason:r instanceof Error&&r.name==="AbortError"?"Scout voice service did not respond.":"Scout voice service is unavailable.",captureMode:null,hostReachable:!1,microphoneGranted:null,microphoneCanRequest:null,inputDeviceName:null,probedAt:Date.now()};return p=i,this.applyProbeSnapshot(i),L(i),!1}finally{window.clearTimeout(s)}}applyProbeSnapshot(e){if(this.hostReachable=e.hostReachable,this.microphoneGranted=e.microphoneGranted,this.microphoneCanRequest=e.microphoneCanRequest,this.inputDeviceName=e.inputDeviceName,e.ok){this.unavailableReason=null,this.captureMode=e.captureMode,this.state="connected";return}this.unavailableReason=e.reason,this.captureMode=null,this.state="unavailable"}async launch(e={}){window.location.href="scout://hud/show"}async startLive(e={},n={}){return this.captureMode!=="browser"?await ae(e,n):await ce(e)}}async function ae(t={},e={}){t.onState?.("starting");const n=await fetch("/api/voice/session",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({clientId:"openscout-web",surface:e.surface?.trim()||"chat-composer"})});if(!n.ok){const a=await n.text().catch(()=>"");throw new Error(b(a,n.status))}const r=(await n.json()).sessionId?.trim();if(!r)throw new Error("Scout voice did not return a session id.");let o=!1,i,c;const l=new Promise((a,f)=>{i=a,c=f});let u=null;const h=()=>{u&&window.clearTimeout(u),u=window.setTimeout(()=>{g(new Error("Scout voice transcription timed out. Try again or check voice settings."))},ee)},m=()=>{u&&(window.clearTimeout(u),u=null)},g=(a,f="error")=>{o||(o=!0,m(),S.close(),t.onState?.(f),c(a))},w=a=>{o||(o=!0,m(),S.close(),t.onFinal?.(a),t.onState?.("done"),i(a))},S=new EventSource(`/api/voice/session/${encodeURIComponent(r)}/events`),d=a=>f=>{if(o)return;let v={};try{v=JSON.parse(f.data)}catch{return}if(a==="session.partial"){const M=typeof v.text=="string"?v.text:"";t.onPartial?.(M);return}if(a==="session.state"){const M=ue(v.state);M&&(t.onState?.(M),M==="processing"&&h());return}if(a==="session.final"){w({sessionId:r,text:typeof v.text=="string"?v.text.trim():"",durationMs:Number(v.durationMs??0)});return}if(a==="session.cancelled"){g(P(),"cancelled");return}if(a==="session.error"){const M=typeof v.message=="string"?v.message:"Scout voice session failed.",F=typeof v.code=="string"?v.code:null;g(new Error(Z(M,F)))}};return S.addEventListener("session.started",()=>{t.onState?.("starting")}),S.addEventListener("session.state",d("session.state")),S.addEventListener("session.partial",d("session.partial")),S.addEventListener("session.final",d("session.final")),S.addEventListener("session.cancelled",d("session.cancelled")),S.addEventListener("session.error",d("session.error")),S.onerror=()=>{o||g(new Error("Scout voice event stream disconnected."))},{get sessionId(){return r},result:l,stop:async()=>{t.onState?.("processing"),h();const a=await fetch(`/api/voice/session/${encodeURIComponent(r)}/stop`,{method:"POST"});if(!a.ok){const f=await a.text().catch(()=>"");throw new Error(b(f,a.status))}},cancel:async()=>{o=!0,m(),S.close();const a=await fetch(`/api/voice/session/${encodeURIComponent(r)}/cancel`,{method:"POST"});if(!a.ok){const f=await a.text().catch(()=>"");throw new Error(b(f,a.status))}t.onState?.("cancelled"),c(P())}}}async function ce(t={}){if(typeof MediaRecorder>"u"||!navigator.mediaDevices?.getUserMedia)throw new Error("Scout voice capture is unavailable in this browser.");const{startStreamLevelMeter:e}=await B(async()=>{const{startStreamLevelMeter:d}=await import("./voice-levels-Dcr3jglk.js");return{startStreamLevelMeter:d}},[]),n=be(),s=[];let r=null,o=null,i=null,c=!1,l=!1,u,h;const m=new Promise((d,a)=>{u=d,h=a}),g=()=>{i?.stop(),i=null;for(const d of r?.getTracks()??[])d.stop();r=null},w=(d,a="error")=>{l||(l=!0,g(),t.onState?.(a),h(d))},S=async()=>{if(l)return;if(g(),c){w(P(),"cancelled");return}t.onState?.("processing");const d=o?.mimeType||A()||"application/octet-stream",a=new Blob(s,{type:d});if(a.size===0){w(new Error("No voice audio was captured."));return}try{const f=await we(a,{sessionId:n});if(l)return;l=!0,t.onFinal?.(f),t.onState?.("done"),u(f)}catch(f){w(f instanceof Error?f:new Error(String(f)))}};try{t.onState?.("starting"),r=await navigator.mediaDevices.getUserMedia({audio:!0}),t.onLevel&&(i=e(r,t.onLevel));const d=A();o=new MediaRecorder(r,d?{mimeType:d}:void 0),o.addEventListener("dataavailable",a=>{a.data.size>0&&s.push(a.data)}),o.addEventListener("error",()=>{w(new Error("Scout voice recorder failed."))}),o.addEventListener("stop",()=>{S()},{once:!0}),o.start(),t.onPartial?.(""),t.onState?.("recording")}catch(d){const a=d instanceof Error?d:new Error(String(d));throw w(a),m.catch(()=>{}),a}return{get sessionId(){return n},result:m,stop:async()=>{!o||o.state==="inactive"||o.stop()},cancel:async()=>{if(c=!0,o&&o.state!=="inactive"){o.stop();return}w(P(),"cancelled")}}}function ue(t){return t==="starting"||t==="recording"||t==="processing"||t==="done"||t==="cancelled"||t==="error"?t:null}function b(t,e){try{return JSON.parse(t).error??`Scout voice returned HTTP ${e}`}catch{return t||`Scout voice returned HTTP ${e}`}}function de(t){return t instanceof Error&&t.name==="AbortError"}async function $(t,e={}){const n={text:t,speed:ye(e.speed)};e.modelId&&(n.modelId=e.modelId),e.voiceId&&(n.voiceId=e.voiceId),e.originAppId&&(n.originAppId=e.originAppId),e.utteranceId&&(n.utteranceId=e.utteranceId),e.instructions&&(n.instructions=e.instructions),e.speechTiming?.enabled&&(n.speechTiming=e.speechTiming),e.playback&&(n.playback=e.playback);const s=await fetch("/api/voice/speak",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(n),signal:e.signal});if(!s.ok){const r=await s.text().catch(()=>"");try{const o=JSON.parse(r);throw new Error(o.error??`Scout voice returned HTTP ${s.status}`)}catch(o){throw o instanceof SyntaxError?new Error(r||`Scout voice returned HTTP ${s.status}`):o}}return await s.json()}async function Ve(t){const e=t?`?modelId=${encodeURIComponent(t)}`:"",n=await fetch(`/api/voice/catalog${e}`,{headers:{accept:"application/json"}});if(!n.ok)throw new Error(`Scout voice catalog returned HTTP ${n.status}`);return await n.json()}function ke(t,e,n){if(t.voices.find(i=>i.id===n&&i.modelId===e))return{modelId:e,voiceId:n};const r=t.voices.filter(i=>i.modelId===e),o=r.find(i=>i.isDefault&&i.available!==!1)??r.find(i=>i.available!==!1)??r[0];return{modelId:e,voiceId:o?.id??n}}let y=null;function le(){return typeof window>"u"?null:window.AudioContext??window.webkitAudioContext??null}function Ae(){const t=le();if(!t)return;let e=null;try{(!y||y.state==="closed")&&(y=new t),y.resume().catch(()=>{});const n=y.createBuffer(1,1,y.sampleRate);e=y.createBufferSource(),e.buffer=n,e.connect(y.destination);const s=e;e.onended=()=>s.disconnect(),e.start(0)}catch{e?.disconnect()}}function k(t,e){return new Promise((n,s)=>{if(e?.aborted){s(E());return}const r=()=>{clearTimeout(i),e?.removeEventListener("abort",o)},o=()=>{r(),s(E())},i=setTimeout(()=>{r(),s(new Error("Scout audio preparation timed out."))},1500);e?.addEventListener("abort",o,{once:!0});try{t().then(c=>{r(),n(c)},c=>{r(),s(c)})}catch(c){r(),s(c)}})}async function pe(t,e){const n=y;if(!n||n.state==="closed"||!t.audioBase64)throw new Error("no primed context");if(n.state!=="running"&&await k(()=>n.resume(),e.signal),n.state!=="running")throw new Error("primed context is unavailable");const s=atob(t.audioBase64),r=Uint8Array.from(s,c=>c.charCodeAt(0)),o=await k(()=>n.decodeAudioData(r.buffer),e.signal);if(e.signal?.aborted)throw E();const i=n.createBufferSource();i.buffer=o,i.connect(n.destination),await new Promise((c,l)=>{const u=()=>{i.onended=null,e.signal?.removeEventListener("abort",h),i.disconnect()},h=()=>{u();try{i.stop()}catch{}l(E())};if(e.signal?.aborted){h();return}e.signal?.addEventListener("abort",h,{once:!0}),i.onended=()=>{u(),c()};try{i.start(0),e.onPlaybackStart?.()}catch(m){u();try{i.stop()}catch{}l(m)}})}async function fe(t,e={}){if(e.signal?.aborted)throw E();if(t.playedOnHost)return e.onPlaybackStart?.(),t;if(!t.audioBase64)throw new Error("Scout voice returned no audio to play.");try{return await pe(t,e),t}catch(r){if(de(r))throw r}if(e.signal?.aborted)throw E();const n=new Audio(`data:${t.contentType};base64,${t.audioBase64}`),s=()=>{n.pause(),n.currentTime=0};e.signal?.addEventListener("abort",s,{once:!0}),await n.play(),e.onPlaybackStart?.();try{return await new Promise((r,o)=>{const i=()=>{n.removeEventListener("ended",c),n.removeEventListener("error",l),e.signal?.removeEventListener("abort",u)},c=()=>{i(),r()},l=()=>{i(),o(new Error("Scout voice playback failed."))},u=()=>{i(),o(E())};if(e.signal?.aborted){u();return}n.addEventListener("ended",c,{once:!0}),n.addEventListener("error",l,{once:!0}),e.signal?.addEventListener("abort",u,{once:!0})}),t}finally{e.signal?.removeEventListener("abort",s)}}async function he(t,e={}){q();try{const n=await $(t,e);return await fe(n,{signal:e.signal,onPlaybackStart:e.onPlaybackStart})}finally{N()}}function De(t,e={}){const n=new AbortController;return{promise:he(t,{...e,signal:n.signal}),stop:()=>n.abort()}}async function me(t,e={}){q();try{const n=await $(t,e);if(e.signal?.aborted)throw E();if(n.playedOnHost)return e.onPlaybackStart?.(),n;const s=await H(n.audioBase64,n.contentType),r=ge(e.presetId,e.params),o=j(s,{params:r,signal:e.signal});return e.onPlaybackStart?.(),await o.promise,n}finally{N()}}function xe(t,e={}){const n=new AbortController;return{promise:me(t,{...e,signal:n.signal}),stop:()=>n.abort()}}async function we(t,e){const n=new FormData,s=Se(t.type);n.append("audio",t,`audio.${ve(t.type)}`),n.append("sessionId",e.sessionId),s&&n.append("format",s);const r=await fetch("/api/voice/transcribe",{method:"POST",body:n});if(!r.ok){const i=await r.text().catch(()=>"");try{const c=JSON.parse(i);throw new Error(c.error??`Scout voice returned HTTP ${r.status}`)}catch(c){throw c instanceof SyntaxError?new Error(i||`Scout voice returned HTTP ${r.status}`):c}}const o=await r.json();return{sessionId:e.sessionId,text:o.text?.trim()??"",durationMs:Number(o.durationMs??0)}}function E(){const t=new Error("Speech stopped.");return t.name="AbortError",t}function P(){const t=new Error("Voice recording was cancelled.");return t.name="AbortError",t}function A(){return typeof MediaRecorder>"u"||typeof MediaRecorder.isTypeSupported!="function"?void 0:["audio/webm;codecs=opus","audio/ogg;codecs=opus","audio/mp4","audio/webm","audio/wav"].find(e=>{try{return MediaRecorder.isTypeSupported(e)}catch{return!1}})}function Se(t){const e=t.toLowerCase();if(e.includes("mp3")||e.includes("mpeg"))return"mp3";if(e.includes("wav"))return"wav";if(e.includes("aac")||e.includes("mp4"))return"aac";if(e.includes("opus")||e.includes("ogg")||e.includes("webm"))return"opus"}function ve(t){const e=t.toLowerCase();return e.includes("webm")?"webm":e.includes("ogg")||e.includes("opus")?"opus":e.includes("mp4")||e.includes("aac")?"m4a":e.includes("wav")?"wav":e.includes("mp3")||e.includes("mpeg")?"mp3":"audio"}function ge(t,e){const n=t?G.find(s=>s.id===t)?.params:void 0;return{...z,...n??{},...e??{}}}function ye(t){if(!(t===void 0||!Number.isFinite(t)))return Math.min(2,Math.max(.5,Number(t.toFixed(2))))}function be(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?`scout-voice:${crypto.randomUUID()}`:`scout-voice:${Date.now().toString(36)}:${Math.random().toString(36).slice(2)}`}async function Ee(){const t=await fetch("/api/voice/settings");if(!t.ok){const e=await t.text().catch(()=>"");throw new Error(b(e,t.status))}return await t.json()}async function D(t="microphone"){const e=await fetch("/api/voice/permissions/open",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({kind:t})});if(!e.ok){const n=await e.text().catch(()=>"");throw new Error(b(n,e.status))}}async function R(t="microphone"){const e=await fetch("/api/voice/permissions/request",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({kind:t})});if(!e.ok){const n=await e.text().catch(()=>"");throw new Error(b(n,e.status))}}async function qe(t=12){const e=await fetch(`/api/voice/history?limit=${t}`);if(!e.ok){const s=await e.text().catch(()=>"");throw new Error(b(s,e.status))}return(await e.json()).sessions??[]}async function Ne(t){const e=await fetch("/api/voice/settings",{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify(t)});if(!e.ok){const n=await e.text().catch(()=>"");throw new Error(b(n,e.status))}return await e.json()}export{Re as a,Ce as b,Oe as c,Te as d,Le as e,Ve as f,U as g,Ie as h,ke as i,fe as j,de as k,Pe as l,Ee as m,N as n,D as o,$ as p,q,R as r,De as s,xe as t,Ae as u,qe as v,Ne as w};
@@ -1,3 +0,0 @@
1
- const g="scoutbot",E="scout:scoutbot-submit",h=new Set([g,"scoutbot","@scoutbot"]),S=new Set(["advisor","plan","conductor","conduct","warroom","command","mission","control","issues","errors","warnings","agents","tail","atop","lanes","world"]),_=new Set(["available","working","active","idle","waiting","registered"]);function O(t=globalThis.window){const e=t.webkit?.messageHandlers;return!!(e?.scoutNativeUI??e?.scoutRealtimeVoice)}function U(t,e=globalThis.window){const o=e.webkit?.messageHandlers,n=o?.scoutNativeUI??o?.scoutRealtimeVoice;if(!n)return!1;try{return n.postMessage({kind:"ui-action",action:t}),!0}catch{return!1}}function y(t){return[t.id,t.name,t.handle??"",t.selector??"",t.role??""].map(o=>o.trim().toLowerCase()).some(o=>h.has(o)||o==="scoutbot"||o.startsWith("scoutbot.")||o.includes(".scoutbot.")||o.includes(" scoutbot"))}function A(t){return _.has(t.state?.trim().toLowerCase()??"")}function m(t){if(!y(t))return Number.NEGATIVE_INFINITY;let e=0;return A(t)&&(e+=100),t.handle?.trim().toLowerCase()==="scoutbot"&&(e+=20),t.selector?.trim().toLowerCase()==="@scoutbot"&&(e+=20),t.role?.trim().toLowerCase()==="scoutbot"&&(e+=10),t.id===g&&(e+=1),e}function N(t){return t.filter(y).sort((e,o)=>{const n=m(o)-m(e);return n!==0?n:(o.updatedAt??0)-(e.updatedAt??0)})[0]??null}function C(t){return N(t)?.id??g}const T=new Set(["scout-ui","scout-ui-action","scoutbot-ui"]),b=/```([a-zA-Z0-9_-]*)\s*([\s\S]*?)```/g;function I(t){const e=[];let o="",n=0;b.lastIndex=0;let s;for(;(s=b.exec(t))!==null;){const[l,r,i]=s,c=(r??"").toLowerCase(),u=i??"";let d=[],f=!1;T.has(c)?(f=!0,d=w(u)):(c==="json"||c==="")&&(d=w(u),d.length>0&&(f=!0)),f&&(e.push(...d),o+=t.slice(n,s.index),n=s.index+l.length)}return o+=t.slice(n),{stripped:o.replace(/\n{3,}/g,`
2
-
3
- `).trim(),actions:e}}function x(t){return I(t).actions}function F(t){return I(t).stripped}function w(t){const e=t.trim();if(!e)return[];try{const o=JSON.parse(e);return(Array.isArray(o)?o:[o]).map(s=>v(s)).filter(s=>!!s)}catch{return[]}}function v(t){if(!t||typeof t!="object")return null;const e=t,o=e.scoutUi??e.scout_ui??e.scoutbotUi??e.scoutbot_ui;if(o)return v(o);const n=typeof e.type=="string"?e.type:typeof e.action=="string"?e.action:"",s=typeof e.reason=="string"?e.reason:void 0;if(n==="open-scoutbot"||n==="open_scoutbot"){const r=e.mode==="tell"?"tell":e.mode==="ask"?"ask":void 0;return{type:"open-scoutbot",...r?{mode:r}:{},...s?{reason:s}:{}}}if(n==="refresh")return{type:"refresh",...s?{reason:s}:{}};if(n==="ask-agent"||n==="ask_agent"||n==="scout-ask"||n==="scout_ask"){const r=a(e.targetLabel,e.target_label,e.target,e.to,e.agent,e.handle),i=a(e.targetAgentId,e.target_agent_id,e.agentId,e.agent_id),c=a(e.body,e.message,e.prompt,e.task,e.question),u=a(e.channel);return!c?.trim()||!r?.trim()&&!i?.trim()?null:{type:"ask-agent",targetLabel:(r??i??"").trim(),body:c.trim(),...i?.trim()?{targetAgentId:i.trim()}:{},...u?.trim()?{channel:u.trim()}:{},...s?{reason:s}:{}}}if(n==="view-file"||n==="view_file"||n==="open-file"||n==="open_file"){const r=a(e.path,e.file,e.target);return r?.trim()?{type:"view-file",path:r.trim(),...s?{reason:s}:{}}:null}if(n==="select-project"||n==="select_project"){const r=e.root;return r===null?{type:"select-project",root:null,...s?{reason:s}:{}}:typeof r=="string"?{type:"select-project",root:r.trim()||null,...s?{reason:s}:{}}:null}if(n==="reminder"||n==="set-reminder"||n==="set_reminder"||n==="remind"){const r=a(e.body,e.text,e.prompt,e.message);if(!r?.trim())return null;const i=a(e.title,e.label),c=k(e.dueAt??e.due_at),u=p(e.delayMs??e.delay_ms),d=p(e.delayMinutes??e.delay_minutes);return{type:"reminder",body:r.trim(),...i?.trim()?{title:i.trim()}:{},...c!==null?{dueAt:c}:{},...u!==null?{delayMs:u}:{},...d!==null?{delayMinutes:d}:{},...s?{reason:s}:{}}}if(n!=="navigate"&&n!=="open")return null;const l=j(e.route??e);return l?{type:"navigate",route:l,...s?{reason:s}:{}}:null}function a(...t){for(const e of t)if(typeof e=="string"&&e.trim())return e;return null}function p(t){if(typeof t=="number"&&Number.isFinite(t))return t;if(typeof t!="string")return null;const e=Number(t.trim());return Number.isFinite(e)?e:null}function k(t){const e=p(t);if(e!==null)return e;if(typeof t!="string")return null;const o=Date.parse(t);return Number.isFinite(o)?o:null}function j(t){if(!t||typeof t!="object")return null;const e=t;switch(typeof e.view=="string"?e.view:""){case"home":case"inbox":return{view:"inbox"};case"fleet":return{view:"inbox"};case"agents":case"projects":case"agents-v2":return{view:"agents-v2",...typeof e.agentId=="string"?{agentId:e.agentId}:{},...typeof e.conversationId=="string"?{conversationId:e.conversationId}:{},...typeof e.sessionId=="string"?{sessionId:e.sessionId}:{},...typeof e.projectSlug=="string"?{projectSlug:e.projectSlug}:{},...e.tab==="profile"||e.tab==="observe"||e.tab==="message"?{tab:e.tab}:{}};case"chat":case"messages":return{view:"messages",...typeof e.conversationId=="string"?{conversationId:e.conversationId}:{}};case"sessions":return{view:"sessions",...typeof e.sessionId=="string"?{sessionId:e.sessionId}:{}};case"repos":return{view:"repos",...typeof e.root=="string"?{root:e.root}:{}};case"harnesses":return{view:"harnesses"};case"repo-diff":return typeof e.path=="string"?{view:"repo-diff",path:e.path,...typeof e.sessionId=="string"?{sessionId:e.sessionId}:{},...typeof e.agentId=="string"?{agentId:e.agentId}:{}}:null;case"search":return{view:"search",...e.mode==="knowledge"||e.mode==="indexer"?{mode:e.mode}:{},...typeof e.hitId=="string"?{hitId:e.hitId}:{}};case"channels":return{view:"messages",...typeof e.channelId=="string"?{conversationId:e.channelId}:{}};case"mesh":return{view:"mesh"};case"broker":return{view:"broker"};case"activity":return{view:"activity"};case"settings":return{view:"settings",...e.section==="pairing"||e.section==="agents"||e.section==="operator"||e.section==="comms"||e.section==="credentials"||e.section==="voice"||e.section==="devices"?{section:e.section}:{},...typeof e.agentId=="string"?{agentId:e.agentId}:{}};case"code":{const n=a(e.project,e.projectSlug,e.project_slug,e.projectName,e.project_name,e.repository,e.repo),s=a(e.path,e.relativePath,e.relative_path),l=a(e.wt,e.worktree,e.worktreeName,e.worktree_name),r=typeof e.line=="number"&&Number.isSafeInteger(e.line)&&e.line>0?e.line:void 0,i=typeof e.endLine=="number"&&Number.isSafeInteger(e.endLine)&&e.endLine>0?e.endLine:void 0,c=r&&i&&i>=r?i:void 0;return{view:"code",...typeof e.root=="string"?{root:e.root}:{},...typeof e.file=="string"?{file:e.file}:{},...n?{project:n}:{},...s?{path:s}:{},...l?{wt:l}:{},...r?{line:r}:{},...c?{endLine:c}:{}}}case"briefings":return{view:"briefings",...typeof e.briefingId=="string"?{briefingId:e.briefingId}:{}};case"terminal":return{view:"terminal",...typeof e.agentId=="string"?{agentId:e.agentId}:{}};case"work":return typeof e.workId=="string"?{view:"work",workId:e.workId}:null;case"conversation":return typeof e.conversationId=="string"?{view:"conversation",conversationId:e.conversationId}:null;case"ops":{const n=typeof e.mode=="string"&&S.has(e.mode)?L(e.mode):void 0;return{view:"ops",...n?{mode:n}:{}}}default:return null}}function L(t){switch(t){case"control":case"mission":case"command":case"warroom":case"conduct":case"conductor":return"mission";case"advisor":case"plan":return"advisor";case"issues":case"errors":case"warnings":return"issues";case"agents":case"tail":case"atop":case"lanes":case"world":return t;default:return}}export{E as S,y as a,C as b,x as e,U as f,O as i,N as r,F as s};
@@ -1,6 +0,0 @@
1
- import{j as i,r as p}from"./index-EsrkGBcv.js";import{u as m}from"./Provider-C35yu29I.js";import{a as x}from"./api-DSqpVKC7.js";import{E as g}from"./external-link-CUObqmgX.js";const h=new RegExp("(?:^|(?<=[\\s(`'\"<>]))(?:~\\/|\\/(?:Users|home|opt|var|etc|tmp|private)\\/)[^\\s)`'\"<>]+\\.[A-Za-z0-9]{1,8}\\b","g");function b(n){const e=n.replace(/\r\n?/g,`
2
- `).split(`
3
- `),t=[];let s=0;for(;s<e.length;){const r=e[s];if(r.trim()===""){s+=1;continue}if(r.startsWith("```")){const l=[];for(s+=1;s<e.length&&!e[s].startsWith("```");)l.push(e[s]),s+=1;s<e.length&&(s+=1),t.push({kind:"code",body:l.join(`
4
- `)});continue}const c=r.match(/^(#{1,3})\s+(.*\S)\s*$/);if(c){const l=c[1].length;t.push({kind:"heading",level:l,tokens:d(c[2])}),s+=1;continue}if(u(r)){const l=[];for(;s<e.length&&u(e[s]);)l.push(d(k(e[s]))),s+=1;t.push({kind:"list",items:l});continue}const o=[];for(;s<e.length&&e[s].trim()!==""&&!e[s].startsWith("```")&&!u(e[s])&&!/^#{1,3}\s+\S/.test(e[s]);)o.push(d(e[s])),s+=1;t.push({kind:"paragraph",lines:o})}return t}const f=/^\s*[-*]\s+/;function u(n){return f.test(n)}function k(n){return n.replace(f,"")}function d(n){const e=[];let t=0,s="";const r=()=>{s&&(e.push({kind:"text",body:s}),s="")};for(;t<n.length;){const c=n[t];if(c==="`"){const o=n.indexOf("`",t+1);if(o!==-1&&o>t+1){r(),e.push({kind:"code",body:n.slice(t+1,o)}),t=o+1;continue}}else if(c==="*"&&n[t+1]==="*"){const o=n.indexOf("**",t+2);if(o!==-1&&o>t+2){r(),e.push({kind:"bold",body:n.slice(t+2,o)}),t=o+2;continue}}else if(c==="*"||c==="_"){const o=y(n,t+1,c);if(o!==-1){r(),e.push({kind:"italic",body:n.slice(t+1,o)}),t=o+1;continue}}s+=c,t+=1}return r(),j(e)}function j(n){const e=[];for(const t of n){if(t.kind!=="text"){e.push(t);continue}const s=v(t.body);s.length===1&&s[0].kind==="text"?e.push(t):e.push(...s)}return e}function v(n){if(!n)return[];const e=[];let t=0;h.lastIndex=0;let s;for(;(s=h.exec(n))!==null;){const r=s.index,c=r+s[0].length;r>t&&e.push({kind:"text",body:n.slice(t,r)}),e.push({kind:"file-path",body:s[0]}),t=c}return t===0?[{kind:"text",body:n}]:(t<n.length&&e.push({kind:"text",body:n.slice(t)}),e)}function y(n,e,t){if(n[e]===void 0||/\s/.test(n[e]))return-1;for(let s=e;s<n.length;s+=1){const r=n[s];if(r===t){const c=n[s-1];if(c&&!/\s/.test(c)&&n[s+1]!==t)return s}if(r===`
5
- `)return-1}return-1}function I({text:n}){const e=b(n);return e.length===0?null:i.jsx("div",{className:"flex flex-col gap-1.5 text-sm leading-relaxed text-[var(--scout-chrome-ink)]",children:e.map((t,s)=>i.jsx(N,{block:t},s))})}function N({block:n}){switch(n.kind){case"paragraph":return i.jsx("p",{className:"whitespace-pre-wrap break-words",children:n.lines.map((e,t)=>i.jsxs(p.Fragment,{children:[t>0&&`
6
- `,i.jsx(a,{tokens:e})]},t))});case"list":return i.jsx("ul",{className:"ml-3 flex list-disc flex-col gap-1 marker:text-[var(--scout-chrome-ink-ghost)]",children:n.items.map((e,t)=>i.jsx("li",{className:"break-words pl-0.5",children:i.jsx(a,{tokens:e})},t))});case"code":return i.jsx("pre",{className:"overflow-x-auto rounded border border-[var(--scout-chrome-border-soft)] bg-black/25 px-2 py-1.5 text-xs leading-relaxed text-lime-100/90",children:n.body});case"heading":{const e="font-mono text-[var(--scout-chrome-ink-strong)] mt-2 first:mt-0";return n.level===1?i.jsx("h2",{className:`${e} text-lg font-bold uppercase tracking-[0.12em]`,children:i.jsx(a,{tokens:n.tokens})}):n.level===2?i.jsx("h3",{className:`${e} text-sm font-bold uppercase tracking-[0.14em] text-[var(--scout-chrome-ink)]`,children:i.jsx(a,{tokens:n.tokens})}):i.jsx("h4",{className:`${e} text-xs font-bold uppercase tracking-[0.16em] text-[var(--scout-chrome-ink-faint)]`,children:i.jsx(a,{tokens:n.tokens})})}}}function a({tokens:n}){return i.jsx(i.Fragment,{children:n.map((e,t)=>{switch(e.kind){case"text":return i.jsx(p.Fragment,{children:e.body},t);case"code":return i.jsx("code",{className:"rounded bg-black/25 px-1 text-xs text-lime-100/90",children:e.body},t);case"bold":return i.jsx("strong",{className:"font-bold text-[var(--scout-chrome-ink-strong)]",children:e.body},t);case"italic":return i.jsx("em",{className:"italic",children:e.body},t);case"file-path":return i.jsx(w,{path:e.body},t)}})})}function w({path:n}){const{openFilePreview:e}=m(),t=P(n),s=r=>{r.stopPropagation(),x("/api/file/reveal",{method:"POST",body:JSON.stringify({path:n})}).catch(()=>{})};return i.jsxs("span",{className:"inline-flex items-center gap-1 align-baseline",children:[i.jsx("button",{type:"button",onClick:()=>e(n),title:`Preview ${n} in Scout`,className:"inline-flex items-center gap-1 rounded border border-lime-300/30 bg-lime-300/[0.05] px-1.5 py-[1px] font-mono text-xs text-lime-200 transition-colors hover:bg-lime-300/[0.12] hover:text-lime-100",children:i.jsx("span",{className:"truncate",children:t})}),i.jsx("button",{type:"button",onClick:s,title:`Open ${n} in your OS`,"aria-label":"Open in OS",className:"inline-flex items-center justify-center rounded border border-[var(--scout-chrome-border-soft)] p-[2px] text-[var(--scout-chrome-ink-faint)] transition-colors hover:bg-[var(--scout-chrome-hover)] hover:text-[var(--scout-chrome-ink)]",children:i.jsx(g,{size:10})})]})}function P(n){const e=n.split("/").filter(Boolean);return e.length<=3?n:`…/${e.slice(-2).join("/")}`}export{I as S};
@@ -1 +0,0 @@
1
- import{c as a}from"./createLucideIcon-zZ8Hx7er.js";const t=[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]],c=a("scroll-text",t);export{c as S};
@@ -1 +0,0 @@
1
- import{c}from"./createLucideIcon-zZ8Hx7er.js";const e=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],o=c("search",e);export{o as S};
@@ -1 +0,0 @@
1
- import{a,b as o}from"./nav-destinations-uorRqFxf.js";const r=o(),t=a();export{r as A,t as O};
@@ -1 +0,0 @@
1
- .s-secondary-nav{display:flex;align-items:center;justify-content:safe center;gap:var(--space-sm);min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:none;padding:0 var(--space-xs)}.s-secondary-nav-shell{display:flex;flex:1 1 auto;flex-direction:column;height:100%;min-height:0;background:var(--bg)}.s-secondary-nav-bar{flex:none;min-height:44px;display:flex;align-items:center;justify-content:safe center;padding:0 var(--space-md);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 52%,transparent)}.s-secondary-nav-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.s-secondary-nav-body>*{flex:1 1 auto;min-height:0}.s-secondary-nav-body--scroll{overflow:auto}.s-secondary-nav::-webkit-scrollbar{display:none}.s-secondary-nav-group{flex:none;display:inline-flex;align-items:center;gap:var(--space-2xs);min-width:0}.s-secondary-nav-label{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-lg);text-transform:uppercase;color:var(--dim);opacity:.7;white-space:nowrap}.s-secondary-nav-switch{display:inline-flex;align-items:center;gap:var(--space-3xs);padding:var(--space-3xs);border:1px solid color-mix(in srgb,var(--border) 78%,transparent);border-radius:var(--radius-sm);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 82%,transparent),transparent),color-mix(in srgb,var(--bg) 68%,transparent);box-shadow:inset 0 1px color-mix(in srgb,white 5%,transparent)}.s-secondary-nav-button{flex:none;min-height:24px;padding:var(--space-3xs) var(--space-md);border:0;border-radius:calc(var(--radius-sm) - 2px);background:transparent;color:var(--dim);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-md);line-height:var(--leading-none);white-space:nowrap;transition:background .12s,color .12s,box-shadow .12s}.s-secondary-nav-button:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent)}.s-secondary-nav-button--active{background:color-mix(in srgb,var(--accent) 90%,white 4%);color:var(--bg);box-shadow:inset 0 1px color-mix(in srgb,white 16%,transparent),0 0 0 1px color-mix(in srgb,var(--accent) 52%,transparent)}
@@ -1 +0,0 @@
1
- import{j as r,r as o}from"./index-EsrkGBcv.js";import{j as l}from"./ui-LM8pS8qE.js";function p({branch:t,fallback:s}){const e=l(t,s);return e.detached?r.jsx("span",{className:"pre",children:e.sha??"detached"}):e.prefix?r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"pre",children:e.prefix}),e.leaf]}):r.jsx(r.Fragment,{children:e.leaf})}const a={worktree:null,project:null,generatedAt:0,tone:"warm"};let n=a;const c=new Set;function i(){for(const t of c)t()}function h(t){n=t,i()}function d(){n!==a&&(n=a,i())}function m(){const[t,s]=o.useState(()=>n);return o.useEffect(()=>{s(n);const e=()=>s(n);return c.add(e),()=>{c.delete(e)}},[]),t}export{p as B,d as c,h as p,m as u};
@@ -1 +0,0 @@
1
- import{c as a}from"./createLucideIcon-zZ8Hx7er.js";const o=[["path",{d:"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z",key:"117uat"}],["path",{d:"M6 12h16",key:"s4cdu5"}]],e=a("send-horizontal",o);export{e as S};
@@ -1 +0,0 @@
1
- import{a as o}from"./api-DSqpVKC7.js";import{h as r}from"./NewChatComposer-C97-iTMK.js";function a(s){return s.agentClass==="native-session"||s.id.startsWith("native:")}function c(s,n){const t=s.harnessSessionId?.trim();if(!t)throw new Error("This native session has no session id to continue.");const e=s.projectRoot?.trim()||s.cwd?.trim();if(!e)throw new Error("This native session has no project path to route from.");const i=s.harness?.trim();return{target:{projectPath:e},execution:{session:"existing",targetSessionId:t,...i?{harness:i}:{}},agent:{persistence:"one_time",...s.handle?.trim()?{handle:s.handle.trim()}:{}},seed:{instructions:n}}}async function m(s,n){if(a(s)){const i=Date.now();return await o("/api/sessions",{method:"POST",body:JSON.stringify(c(s,n))}),{conversationId:null,sentAt:i}}const t=await r(s),e=Date.now();return await o("/api/send",{method:"POST",body:JSON.stringify({body:n,chatId:t})}),{conversationId:t,sentAt:e}}export{a as i,m as s};
@@ -1 +0,0 @@
1
- import{c as e}from"./createLucideIcon-zZ8Hx7er.js";const r=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]],i=e("server",r);export{i as S};
@@ -1 +0,0 @@
1
- import{r as d}from"./terminal-relay-Bxs1hp-j.js";function S(r,e){const s=d(r),n=s?r.harnessSessionId??s.sessionName:null;return e?.activeSessionId??n}function I(r,e){return[...r].sort((s,n)=>{const t=s.id===e?1:0,o=n.id===e?1:0;return t!==o?o-t:(n.endedAt??n.startedAt)-(s.endedAt??s.startedAt)})}function c(r){const e=r;return[e.id,e.surfaceSessionId,e.harnessSessionId,e.externalSessionId,e.threadId,e.runtimeSessionId,e.runtimeSessionRef,e.runtimeRef,e.sourceSessionId,e.sessionId,e.refId].flatMap(s=>{const n=s?.trim();return n?[n]:[]})}function u(r){const e=/^relay-(.+)-(claude|codex)$/iu.exec(r);return e?{scope:e[1].toLowerCase(),harness:e[2].toLowerCase()}:null}function l(r,e){const s=u(r),n=u(e);return!s||!n?!1:s.harness===n.harness&&(s.scope===n.scope||s.scope.startsWith(`${n.scope}-`))}function f(r,e){const s=r?.trim();if(!s)return null;const n=e.find(a=>c(a).some(i=>i===s));if(n)return n.id;const t=e.filter(a=>c(a).some(i=>l(i,s)));return new Set(t.map(a=>a.id)).size===1?t[0]?.id??null:null}function h(r,e,s,n,t){const o=f(t,n);return o||(s??n[0]?.id??null)}function A(r,e,s,n){const t=!!d(r),o=n&&(!!s.canObserve||t),a=n&&(!!s.canTakeover||t||!!e?.resumeCommand);return{canObserve:o,canTakeover:a}}export{h as a,f as b,A as c,S as r,I as s};
@@ -1 +0,0 @@
1
- let s=[],t=null;const n=new Set;function c(e){s=e;for(const a of n)a()}function u(){return s}function o(e){return n.add(e),()=>{n.delete(e)}}function r(e){t=e}function i(){return t}export{u as a,c as b,i as g,r as p,o as s};
@@ -1 +0,0 @@
1
- import{a as x}from"./api-DSqpVKC7.js";import{f as O,s as _,a as A}from"./scout-voice-CZx60X6E.js";import{g as K,a as T}from"./session-recap-lanes-D-eVJnpY.js";function F(e){return(e.split(/[/:]/u).filter(Boolean).at(-1)??e).replace(/^session[-_]?/i,"").slice(0,8)}function C(e){return((e.observe?.metadata?.session?.adapterType??e.observe?.metadata?.session?.source??e.agent.harness)?.trim().toLowerCase()??"")||null}function L(e){return((e.observe?.metadata?.session?.externalSessionId??e.agent.harnessSessionId??e.observe?.metadata?.session?.threadId)?.trim()??"")||null}function P(e,t,o){return[o??"local",e,t].join("|")}function E(e){const t=new Map;for(const a of e){const r=C(a),u=L(a);if(!r||!u)continue;const d=`${r}\0${u}`,p=t.get(d)??[];p.push(a),t.set(d,p)}const o=[];for(const a of t.values()){const r=a[0],u=C(r),d=L(r),p=r.agent.homeNodeId?.trim()||null,m=`${u} · ${F(d)}`,n=a.filter(s=>s.source==="scout"),y=n.length===1&&a.length===1,f=n[0]?.agent;o.push({sessionRef:d,harness:u,voiceKey:y&&f?f.id:P(u,d,p),displayLabel:y&&f?f.handle?.trim()||f.name:m,identityVerified:y,sourceExact:m,observedAt:r.lastActiveAt>0?r.lastActiveAt:null,reportedState:r.agent.state,nodeId:p})}return o}const N="scout.recapVoices.v1",V="scout.recapVoices.consent.v1";function M(e){return[...e].reduce((t,o)=>t*31+o.charCodeAt(0)>>>0,0)}function q(e,t){return e.voices.filter(o=>o.modelId===t&&o.available!==!1)}function B(){try{const e=window.localStorage.getItem(N);if(!e)return{};const t=JSON.parse(e);return t&&typeof t=="object"?t:{}}catch{return{}}}function j(e){try{window.localStorage.setItem(N,JSON.stringify(e))}catch{}}function J(){try{return window.localStorage.getItem(V)==="1"}catch{return!1}}function z(){try{window.localStorage.setItem(V,"1")}catch{}}function D(e,t){const o=e.models.find(a=>a.id===t);return o?o.provider!=="system"&&o.available!==!1:!0}function G(e,t,o,a={}){const r=q(t,o),u={...a},d=[],p=new Set;for(const m of e){const n=u[m];if(n&&n.modelId===o&&r.some(i=>i.id===n.voiceId)){p.add(n.voiceId);continue}n&&n.voiceId&&d.push(`Assigned voice ${n.voiceId} is unavailable; using a fallback.`);const y=r.filter(i=>!p.has(i.id)),f=y.length>0?y:r;if(f.length===0){d.push("No supported Scout speech voice is available for this model.");continue}const s=f[M(m)%f.length];u[m]={modelId:o,voiceId:s.id},p.add(s.id)}return{assignments:u,notices:d}}const Q="openscout-recap";let l={running:!1,speaker:null,notice:null,items:[]};const k=new Set;let v=null,b=null,h=0;function c(e){l=e;for(const t of k)t()}function Z(){return l}function ee(e){return k.add(e),()=>{k.delete(e)}}function S(){h+=1,v?.abort(),v=null,b?.stop(),b=null,c({running:!1,speaker:null,notice:l.notice,items:l.items.map(e=>e.status==="queued"||e.status==="summarizing"||e.status==="speaking"?{...e,status:"skipped",reason:e.reason??"Stopped."}:e)})}function Y(e,t){return x("/api/scoutbot/session-recap",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({sessionRef:e.sessionRef,harness:e.harness}),signal:t})}async function $(e,t={}){if(l.running){S();return}const o=A();if(o){c({running:!1,speaker:null,notice:o,items:[]});return}if(e.length===0){c({running:!1,speaker:null,notice:"No visible sessions to recap.",items:[]});return}const a=++h,r=new AbortController;v=r,c({running:!0,speaker:null,notice:null,items:[]});let u;try{u=t.catalog??await(t.fetchCatalog?.()??O(t.modelId))}catch(s){if(h!==a)return;v=null,c({running:!1,speaker:null,notice:s instanceof Error?s.message:"Speech catalog unavailable.",items:[]});return}if(h!==a||r.signal.aborted)return;const d=A();if(d){v=null,c({running:!1,speaker:null,notice:d,items:[]});return}const p=t.modelId??u.defaultModelId;if((t.requireConsent??!0)&&D(u,p)&&!J()){c({running:!1,speaker:null,notice:"Configured TTS may be metered. Run Fleet roll call again to speak.",items:[]}),v=null,z();return}const m=G(e.map(s=>s.voiceKey),u,p,B());j(m.assignments);const n=e.map(s=>({target:s,status:"queued",summary:"",reason:null,spokenText:null}));c({running:!0,speaker:null,notice:m.notices[0]??null,items:n});const y=t.fetchRecap??Y,f=t.speak??((s,i)=>_(s,{modelId:i.modelId,voiceId:i.voiceId,originAppId:Q,utteranceId:`recap:${Date.now()}`}));for(let s=0;s<n.length;s+=1){if(h!==a||r.signal.aborted)return;const i=n[s];n[s]={...i,status:"summarizing"},c({running:!0,speaker:i.target.displayLabel,notice:l.notice,items:[...n]});try{const g=await y(i.target,r.signal);if(h!==a)return;if(g.status!=="ready"||!g.summary.trim()){n[s]={...n[s],status:"skipped",reason:"Source unavailable.",summary:g.summary},c({running:!0,speaker:i.target.displayLabel,notice:l.notice,items:[...n]});continue}const I=`${i.target.identityVerified?`${i.target.displayLabel}. `:`${i.target.displayLabel}. Identity not verified. `}${g.summary}`,R=m.assignments[i.target.voiceKey];if(!R){n[s]={...n[s],status:"failed",reason:"No Scout speech voice is assigned.",summary:g.summary},c({running:!0,speaker:i.target.displayLabel,notice:l.notice,items:[...n]});continue}n[s]={...n[s],status:"speaking",summary:g.summary,spokenText:I},c({running:!0,speaker:i.target.displayLabel,notice:l.notice,items:[...n]});const w=f(I,R);if(b=w,await w.promise,h!==a)return;b=null,n[s]={...n[s],status:"done"},c({running:!0,speaker:i.target.displayLabel,notice:l.notice,items:[...n]})}catch(g){if(h!==a||r.signal.aborted)return;b=null,n[s]={...n[s],status:"failed",reason:g instanceof Error?g.message:"Recap failed."},c({running:!0,speaker:null,notice:l.notice,items:[...n]})}}h===a&&(v=null,c({running:!1,speaker:null,notice:l.notice,items:[...n]}))}function te(){if(l.running){S();return}$(E(T()))}function ne(){if(l.running){S();return}const e=T(),t=K(),o=(t?e.find(r=>r.id===t):null)??e[0],a=E(o?[o]:[]);if(a.length===0){c({running:!1,speaker:null,notice:"No visible session to recap.",items:[]});return}$(a)}export{S as a,ne as b,Z as g,ee as s,te as t};
@@ -1 +0,0 @@
1
- function f(e){const n=Math.max(0,e.debounceMs),r=Math.max(n,e.minimumIntervalMs);if(e.lastRefreshAtMs===null)return n;const t=Math.max(0,e.nowMs-e.lastRefreshAtMs);return Math.max(n,r-t)}function i(e){const n=e.trim().toLowerCase();if(!n)return[];const t=/^session:[^:]+:(.+)$/u.exec(n)?.[1]??n,o=t.split(/[\\/]/u).filter(Boolean).at(-1)??t,s=o.endsWith(".jsonl")?o.slice(0,-6):o;return[...new Set([n,t,o,s])]}function u(e,n){if(!e||!n)return!1;const r=new Set(i(e));return i(n).some(t=>r.has(t))}function a(e,n,r=0){return r>6||e===null||e===void 0?!1:typeof e=="string"?n.some(t=>u(e,t)):Array.isArray(e)?e.some(t=>a(t,n,r+1)):typeof e=="object"?Object.values(e).some(t=>a(t,n,r+1)):!1}function c(e,n){if(e.kind==="unknown")return!0;const r=n.filter(t=>!!t?.trim());return r.length>0&&a(e.payload,r)}function l(e,n){return e.sessionRef===n?e:{sessionRef:n,lookup:null,loading:!0,error:null}}function m(e,n){let r=0;return{async request(t){const o=++r;try{const s=await e(t);if(o!==r)return;n({sessionRef:t,result:{ok:!0,lookup:s}})}catch(s){if(o!==r)return;n({sessionRef:t,result:{ok:!1,error:s}})}},invalidate(){r+=1}}}export{l as a,c as b,m as c,f as d,u as s};
@@ -1 +0,0 @@
1
- import{c as u}from"./createLucideIcon-zZ8Hx7er.js";const l=[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]],b=u("power",l),d=10080*60*1e3,f=720*60*60*1e3,p={column:"state",direction:"desc"},S=[{id:"name",label:"Session",initialDirection:"asc"},{id:"host",label:"Host",initialDirection:"asc"},{id:"state",label:"State",initialDirection:"desc"},{id:"project",label:"Project",initialDirection:"asc"},{id:"activity",label:"Activity",initialDirection:"desc"}];function c(t){const e=typeof t.session.metadata?.attachedClients=="number"?t.session.metadata.attachedClients:0;return t.surface.state==="exited"?0:e>0?3:t.surface.state==="detached"?1:2}function y(t){const e=typeof t.session.metadata?.attachedClients=="number"?t.session.metadata.attachedClients:null;return t.surface.state==="exited"?"exited":e&&e>0?`${e} attached`:t.surface.state??"live"}function o(t){const e=t.session.metadata?.activityAt;if(typeof e=="number"&&Number.isFinite(e)&&e>0)return e;const n=t.session.metadata?.startedAt;return typeof n=="number"&&Number.isFinite(n)&&n>0?n:t.origin==="backend"?null:t.session.updatedAt||null}function v(t,e=Date.now()){const n=t.session.metadata?.activityAt,i=typeof n=="number"&&Number.isFinite(n)&&n>0?n:t.origin==="backend"?null:t.session.updatedAt||null;if(i===null)return"current";const a=Math.max(0,e-i);return a>=f?"review":a>=d?"inactive":"current"}function s(t,e){return t.localeCompare(e,void 0,{numeric:!0,sensitivity:"base"})}function _(t,e){const n=e.direction==="asc"?1:-1;return[...t].sort((i,a)=>{const r=m(i,a,e.column)*n;return r!==0?r:s(i.title,a.title)})}function m(t,e,n){switch(n){case"name":return s(t.title,e.title);case"host":return s(t.surface.backend,e.surface.backend);case"state":return c(t)-c(e);case"project":return s(t.project,e.project);case"activity":{const i=o(t),a=o(e);return i===null&&a===null?0:i===null?-1:a===null?1:i-a}}}function E(t,e){if(t.column===e)return{column:e,direction:t.direction==="asc"?"desc":"asc"};const n=S.find(i=>i.id===e)?.initialDirection??"asc";return{column:e,direction:n}}export{p as D,b as P,S as T,o as a,v as b,E as c,y as d,_ as s,c as t};
@@ -1 +0,0 @@
1
- const n="scout:sessions:lastViewed";function a(){if(typeof localStorage>"u")return{};try{const t=localStorage.getItem(n);if(!t)return{};const e=JSON.parse(t);return e&&typeof e=="object"?e:{}}catch{return{}}}function o(t,e=Date.now()){const r=a();r[t]=e;try{localStorage.setItem(n,JSON.stringify(r))}catch{}return r}function s(t,e,r){return t?t>(r[e]??0):!1}export{s as i,a as l,o as s};
@@ -1 +0,0 @@
1
- import{f as d}from"./use-fleet-active-asks-CymmXWH4.js";import{c as g}from"./message-visibility-DwxgcgYK.js";const l="No project",p="Recent";function m(e){const n=e?.project?.trim();if(n)return n;const o=e?.projectRoot?.trim();if(o){const s=o.replace(/\/+$/,"").split("/").pop();if(s)return s}return l}function _(e){const n=(e.title??"").trim()||e.agentName||e.id,o=(e.agentName??"").trim().toLowerCase();if(n&&n.trim().toLowerCase()!==o)return n;const s=e.preview?g(e.preview).replace(/\s+/g," ").trim():"";return s?s.length>64?`${s.slice(0,61)}…`:s:e.currentBranch??n}const f={needs_you:"Needs you",working:"Working",queued:"Starting",quiet:"Quiet"},w=["needs_you","working","queued","quiet"];function k(e){return e?.status==="needs_attention"?"needs_you":e?.status==="working"?"working":e?.status==="queued"?"queued":"quiet"}const A=1440*60*1e3,E=["Today","Yesterday","This week","Earlier"];function L(e,n){if(!e)return"Earlier";const o=c=>{const u=new Date(c);return u.setHours(0,0,0,0),u.getTime()},s=Math.round((o(n)-o(e))/A);return s<=0?"Today":s===1?"Yesterday":s<7?"This week":"Earlier"}function S(e,n,o,s,c){if(n==="recent"){if(e.length===0)return[];const t=[...e].sort((r,a)=>(a.lastMessageAt??0)-(r.lastMessageAt??0));return[{label:p,sessions:t}]}const u=t=>{const r=t.agentId?o.get(t.agentId):void 0;switch(n){case"project":return m(r);case"agent":return r?.name??t.agentName??"Unknown agent";case"day":return L(t.lastMessageAt,c);case"state":return f[k(d(s,t))]}},i=new Map;for(const t of e){const r=u(t),a=i.get(r);a?a.push(t):i.set(r,[t])}for(const t of i.values())t.sort((r,a)=>(a.lastMessageAt??0)-(r.lastMessageAt??0));return(()=>{const t=[...i.keys()];return n==="day"?E.filter(r=>i.has(r)):n==="state"?w.map(r=>f[r]).filter(r=>i.has(r)):t.sort((r,a)=>r===l?1:a===l?-1:r.localeCompare(a))})().map(t=>({label:t,sessions:i.get(t)}))}export{l as N,S as g,m as p,_ as t};
@@ -1 +0,0 @@
1
- import{c}from"./createLucideIcon-zZ8Hx7er.js";const e=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],o=c("settings",e);export{o as S};
@@ -1 +0,0 @@
1
- import{b as w,a as b}from"./agent-lane-detail-Ti3trpfH.js";function c(a){const n=a.startsWith("/"),t=[];for(const s of a.split("/"))!s||s==="."||(s===".."&&t.length&&t.at(-1)!==".."?t.pop():(s!==".."||!n)&&t.push(s));return`${n?"/":""}${t.join("/")}`}function g(a){const n=new Map;for(const t of a){const s=(t.facts?.cwd||w(t).cwd||"").trim(),e=s.startsWith("/")?c(s):null,p=b({files:t.facts?.touchedFiles??t.observe?.files??[]},1/0);for(const i of p){if(i.state==="read")continue;const l=i.path.startsWith("/")?c(i.path):e?c(`${e}/${i.path}`):null,o=l??c(i.path);if(!o||o==="/"||o==="..")continue;const d=e==="/"?"/":`${e}/`,u=e&&o.startsWith(d)?o.slice(d.length):o,f=JSON.stringify([e?"workspace":"lane",e??t.id,o]),r=n.get(f);r?(r.owners.some(h=>h.id===t.id)||r.owners.push(t),i.state==="created"&&(r.state="created")):n.set(f,{id:f,workspace:e,path:u,resolvedPath:l,owners:[t],state:i.state})}}return[...n.values()].sort((t,s)=>t.id.localeCompare(s.id))}export{g as b};
@@ -1 +0,0 @@
1
- import{c as t}from"./createLucideIcon-zZ8Hx7er.js";const a=[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]],h=t("sliders-horizontal",a);export{h as S};
@@ -1 +0,0 @@
1
- import{c as a}from"./createLucideIcon-zZ8Hx7er.js";const e=[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],l=a("sparkles",e);export{l as S};
@@ -1 +0,0 @@
1
- .sprout-action-sprite{display:inline-flex;position:relative;align-items:end;justify-content:center;pointer-events:none;-webkit-user-select:none;user-select:none}.sprout-action-sprite__crop{position:relative;display:block;overflow:hidden;flex:none}.sprout-action-sprite__crop img{position:absolute;max-width:none;display:block;pointer-events:none}.sprout-action-proof{display:grid;justify-items:center;gap:16px;padding:20px;color:#e5eddf;background:#344a3a}.sprout-action-proof>div{display:flex;flex-wrap:wrap;gap:6px}.sprout-action-proof button{font:inherit;color:inherit;background:#455f48;border:1px solid #8ba487;border-radius:5px;padding:6px 10px;cursor:pointer}.sprout-action-proof button[aria-pressed=true]{background:#e1eccb;color:#263e2b}.sprout-action-proof button:focus-visible{outline:2px solid #f3e5a6;outline-offset:3px}.sprout-action-proof small{font-size:11px}.adventures .sprout-action-proof button{background:#455f48;color:#e5eddf;border-color:#8ba487}.adventures .sprout-action-proof button:hover{background:#557252}.adventures .sprout-action-proof button[aria-pressed=true]{background:#e1eccb;color:#263e2b}
@@ -1 +0,0 @@
1
- import{r as n,c as R}from"./index-EsrkGBcv.js";import{c as v,a as k,w as p}from"./index-BWHgHrtv.js";const u=new Set;let i=null,a=null,c=null,s=null;function b(e){for(const r of[...u])r(e)}function E(){s||u.size===0||(s=setTimeout(()=>{s=null,d()},2e3))}function d(){c||u.size===0||(i||(i=v({url:R()}),a=k({links:[p({client:i})]})),c=a.control.events.subscribe(void 0,{onData:e=>{const r=e.data;r&&b(r)},onError:()=>{c=null,E()}}),b({kind:"unknown",payload:{reason:"control_subscription_started"}}))}function w(){s&&(clearTimeout(s),s=null),c?.unsubscribe(),c=null}function S(e){return u.add(e),d(),()=>{u.delete(e),!(u.size>0)&&w()}}function T(e){const r=n.useRef(e);r.current=e,n.useEffect(()=>S(o=>{r.current(o)}),[])}function z(e,r,o=250){const l=n.useRef(e);l.current=e;const f=n.useRef(r);f.current=r;const t=n.useRef(null);T(m=>{l.current(m)&&(t.current||(t.current=setTimeout(()=>{t.current=null,f.current()},o)))}),n.useEffect(()=>()=>{t.current&&(clearTimeout(t.current),t.current=null)},[])}export{z as a,T as u};
@@ -1 +0,0 @@
1
- function r(e){switch(e){case"success":return"completed";case"danger":return"failed";case"working":return"working";default:return"updated"}}function t(e){return e}function a(e){return e.attention==="interrupt"?"danger":e.state==="done"?"success":e.attention==="badge"||e.state==="waiting"||e.state==="review"?"warning":"working"}function i(e){return e.attention==="interrupt"?"danger":"warning"}function c(e,n){return e==="success"||n==="sent"||n==="acknowledged"||n==="completed"?"success":e==="failed_query"||e==="failed_delivery"||n==="failed"||n==="cancelled"?"danger":n==="running"||n==="accepted"||n==="deferred"||n==="pending"?"working":"neutral"}function u(e){return e?e.status==="paired"||e.status==="connected"?"success":e.status==="error"||e.status==="closed"?"danger":"warning":"warning"}export{t as a,c as b,i as c,u as p,r as t,a as w};
@@ -1 +0,0 @@
1
- function r(e=globalThis.document){return e?e.visibilityState!=="visible"?!1:typeof e.hasFocus!="function"||e.hasFocus():!0}function d(e,c={document:typeof document>"u"?void 0:document,window:typeof window>"u"?void 0:window}){const n=c.document,t=c.window;if(!n)return()=>{};let o=r(n);const i=()=>{const u=r(n);u&&!o&&e(),o=u},s=()=>{o=!1};return n.addEventListener("visibilitychange",i),t?.addEventListener("blur",s),t?.addEventListener("focus",i),()=>{n.removeEventListener("visibilitychange",i),t?.removeEventListener("blur",s),t?.removeEventListener("focus",i)}}export{r as i,d as o};
@@ -1 +0,0 @@
1
- function s(n){return!!n?.startsWith("native:")}function r(n){if(!s(n))return null;const e=n.slice(7).split(":");if(e.length<2)return null;const i=e[1];return i==="path"?null:i==="terminal"?e.slice(2).join(":")||null:i||null}function a(n){return n.harnessSessionId?.trim()||r(n.id)}function c(n){if(n.view!=="agents-v2"||!n.agentId||!s(n.agentId))return n;const t=r(n.agentId);return t?{view:"sessions",sessionId:t,...n.machineId?{machineId:n.machineId}:{}}:n}function l(n){return c(n)}export{s as i,l as n,a as s};