@openscout/scout 0.2.98 → 0.2.102

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 (622) hide show
  1. package/NOTICE +7 -0
  2. package/bin/scoutd +0 -0
  3. package/dist/build-manifest.json +3 -3
  4. package/dist/client/assets/ActivityScreen-DCALiEXY.js +1 -0
  5. package/dist/client/assets/{AddProjectForm-fXndbzXT.js → AddProjectForm-DfbjlFfy.js} +1 -1
  6. package/dist/client/assets/AdventureEvidence-Dzz9VbuE.js +5 -0
  7. package/dist/client/assets/AdventureReader-ClMxT0e4.js +4 -0
  8. package/dist/client/assets/AdventureScenery-D548O0x4.js +1 -0
  9. package/dist/client/assets/AgentAdventures-NwTKeF0F.js +1 -0
  10. package/dist/client/assets/AgentAvatar-BIwg54Tj.js +1 -0
  11. package/dist/client/assets/AgentConfigurationScreen-B2Hw0ce1.js +1 -0
  12. package/dist/client/assets/AgentDefinitionsWorkspace-CwZJ833X.js +1 -0
  13. package/dist/client/assets/AgentDetailCard-CFDE8TLi.js +1 -0
  14. package/dist/client/assets/AgentFloorView-l2wNKFob.js +1 -0
  15. package/dist/client/assets/AgentFloorWorld-BDJmXl3C.js +1 -0
  16. package/dist/client/assets/AgentInfoScreen-ClZM1wQb.js +1 -0
  17. package/dist/client/assets/{AgentLaneCard-Cc9uyfBr.js → AgentLaneCard-C6YmwPxQ.js} +1 -1
  18. package/dist/client/assets/{AgentLaneChrome-Dv2lBFoH.js → AgentLaneChrome-D9uJ4QY7.js} +1 -1
  19. package/dist/client/assets/{AgentLaneDetailSheet-CGqtqSHQ.js → AgentLaneDetailSheet-KYckCBCX.js} +2 -2
  20. package/dist/client/assets/{AgentLaneSummaryResize-Di4u6df2.js → AgentLaneSummaryResize-BBYBS3DO.js} +1 -1
  21. package/dist/client/assets/AgentLanesEmbedScreen-DqHwqY0X.js +1 -0
  22. package/dist/client/assets/{AgentLanesPreflight-CCGBArIb.js → AgentLanesPreflight-pw2vMO3Q.js} +1 -1
  23. package/dist/client/assets/AgentLanesView-aAyC7lHf.js +2 -0
  24. package/dist/client/assets/AgentLiveActions-lYzicnNa.js +1 -0
  25. package/dist/client/assets/AgentMasterScreen-By6DN0jF.js +1 -0
  26. package/dist/client/assets/AgentSessions-Cox2zS-e.js +6 -0
  27. package/dist/client/assets/AgentsConsole-Dq0S_hRA.js +1 -0
  28. package/dist/client/assets/AgentsScreen-Bi9Lx47B.js +1 -0
  29. package/dist/client/assets/AgentsSubnav-BOobgtGE.js +1 -0
  30. package/dist/client/assets/{AstronautSuit-CwB4Dw07.js → AstronautSuit-C-4I5YKi.js} +1 -1
  31. package/dist/client/assets/AtopView-DKm-ERYC.js +1 -0
  32. package/dist/client/assets/BackToPicker-Bys9ColC.js +1 -0
  33. package/dist/client/assets/BriefingDetailScreen-sprFl4Nk.js +1 -0
  34. package/dist/client/assets/BriefingsScreen-D4Zf31Y6.js +1 -0
  35. package/dist/client/assets/{BrokerMetadataPanel-BJSwU9XZ.js → BrokerMetadataPanel-1GoSl2BV.js} +1 -1
  36. package/dist/client/assets/BrokerScreen-CejzhRsB.js +8 -0
  37. package/dist/client/assets/{CastPicker-CkgTalIt.js → CastPicker-BuwE_JQp.js} +1 -1
  38. package/dist/client/assets/CharacterFamilyPreview-BniL8sEL.css +1 -0
  39. package/dist/client/assets/CharacterFamilyPreview-CfO3j8Of.js +1 -0
  40. package/dist/client/assets/ChatCollapsedStrip-TV0j1xTB.js +1 -0
  41. package/dist/client/assets/{CodeDiffPane-DfluIWmO.js → CodeDiffPane-DB6-mqtX.js} +1 -1
  42. package/dist/client/assets/{CodeProjectPicker-By_Wz9ex.js → CodeProjectPicker-B_LNLpIK.js} +1 -1
  43. package/dist/client/assets/CodeScreen-C9H160XS.js +1 -0
  44. package/dist/client/assets/CommsCanvas-BR2YS76H.css +1 -0
  45. package/dist/client/assets/CommsCanvas-DOKw3Q8i.js +1 -0
  46. package/dist/client/assets/CommsDeck-C18JA7rK.js +1 -0
  47. package/dist/client/assets/CommsFlowGraph-Czg-KTS0.js +1 -0
  48. package/dist/client/assets/CommsFlowGraph-vQucylxF.css +1 -0
  49. package/dist/client/assets/CommsFlowMap-CzBWvSa5.js +1 -0
  50. package/dist/client/assets/CommsSelection-g1twA-Lb.js +1 -0
  51. package/dist/client/assets/{ConversationComposer-BUIjWMBi.js → ConversationComposer-B7RU6LKd.js} +1 -1
  52. package/dist/client/assets/ConversationFeedRows-DVqnZQH0.js +1 -0
  53. package/dist/client/assets/ConversationHeader-CCSU8uo_.js +1 -0
  54. package/dist/client/assets/ConversationPanels-C9yCAoJy.js +6 -0
  55. package/dist/client/assets/ConversationScreen-Brfas2y0.css +1 -0
  56. package/dist/client/assets/ConversationScreen-tTP6B_F-.js +2 -0
  57. package/dist/client/assets/ConversationStatus-CK-YfLpi.js +1 -0
  58. package/dist/client/assets/{CrewAvatar-CZ_faQ_s.js → CrewAvatar-CJhuqTsJ.js} +1 -1
  59. package/dist/client/assets/CrewSprite-DsQJdu3Z.css +1 -0
  60. package/dist/client/assets/CrewSprite-hgpA3SWB.js +1 -0
  61. package/dist/client/assets/CrewWorkspaces-4O8dgRUD.js +1 -0
  62. package/dist/client/assets/{DataTable-C6aMSilS.js → DataTable-BMOZ1-z8.js} +1 -1
  63. package/dist/client/assets/DispatchAftermath-DDlwqSCY.js +1 -0
  64. package/dist/client/assets/DocumentFocusViewer-f12RRQpV.js +1 -0
  65. package/dist/client/assets/{EmbeddableSurfacesLab-D3iZiS8o.js → EmbeddableSurfacesLab-DGl9EMRV.js} +1 -1
  66. package/dist/client/assets/{EmptyState-CKPWFSjq.js → EmptyState-uyYN5piI.js} +1 -1
  67. package/dist/client/assets/{FileViewerPane-CxNbcTYf.js → FileViewerPane-HtiDbj9N.js} +2 -2
  68. package/dist/client/assets/FlightObserveScreen-DDXfNbsw.js +1 -0
  69. package/dist/client/assets/FloorContextSheet-DV-SYA0K.js +1 -0
  70. package/dist/client/assets/FloorExchangePanel-B3TFhjLk.css +1 -0
  71. package/dist/client/assets/FloorExchangePanel-D59nvRCF.js +1 -0
  72. package/dist/client/assets/FloorMessagePasses-BCwsz9VS.js +1 -0
  73. package/dist/client/assets/FloorMessagePasses-nxwwiUom.css +1 -0
  74. package/dist/client/assets/FloorReplay-BHo79HCD.js +1 -0
  75. package/dist/client/assets/FloorResourcesSheet-Djrgd_ZU.js +1 -0
  76. package/dist/client/assets/FloorSavedWork-2tjBoy06.js +1 -0
  77. package/dist/client/assets/FloorTacticalHUD-Bngao6sn.js +1 -0
  78. package/dist/client/assets/FollowScreen-eHXOlK-u.js +1 -0
  79. package/dist/client/assets/{HarnessMark-DttReffF.js → HarnessMark-Bt47OeHy.js} +1 -1
  80. package/dist/client/assets/HarnessesScreen-M84sFjWY.js +1 -0
  81. package/dist/client/assets/{HerdrSession-DsuxCtfX.js → HerdrSession-CtJOUn7H.js} +3 -3
  82. package/dist/client/assets/{HomeHero-DXJo2QSO.js → HomeHero-Cvwx2H0w.js} +1 -1
  83. package/dist/client/assets/HostAdvisorView-CTJXIc1Q.js +1 -0
  84. package/dist/client/assets/KnowledgeSearchInspector-DwGMVmFL.js +1 -0
  85. package/dist/client/assets/KnowledgeSearchScreen-WC0WhFio.js +1 -0
  86. package/dist/client/assets/{LaneToolHoverCard-t7-XJP-h.js → LaneToolHoverCard-C6YehJqD.js} +1 -1
  87. package/dist/client/assets/LaneTraceDetailSheet-mAhj7MJi.js +1 -0
  88. package/dist/client/assets/{LaneTraceEventFocus-BB5DhFQm.js → LaneTraceEventFocus-WLNZZVi_.js} +1 -1
  89. package/dist/client/assets/MeshCanvas-FDDGE69h.js +3 -0
  90. package/dist/client/assets/MeshCanvasMinimap-CGRzQCac.js +1 -0
  91. package/dist/client/assets/MeshScreen-DlfiMlaR.js +1 -0
  92. package/dist/client/assets/{MeshTopologyView-Dc0GSrKa.js → MeshTopologyView-C2Cv_2gx.js} +2 -2
  93. package/dist/client/assets/MessagesScreen-BZ7yaGJx.js +1 -0
  94. package/dist/client/assets/MissionContextRail-CVSZJnvX.js +1 -0
  95. package/dist/client/assets/MissionControlView-DpGhxG4a.js +1 -0
  96. package/dist/client/assets/MissionFocusOverlay-B9SiuO-i.js +1 -0
  97. package/dist/client/assets/MissionLeftAgentRow-DhhRRim0.js +1 -0
  98. package/dist/client/assets/MissionLogPane-CMBiI29U.js +1 -0
  99. package/dist/client/assets/NativeAreaScreen-BQyHHRAM.js +1 -0
  100. package/dist/client/assets/NativeAreaScreen-Ditv-TYW.js +1 -0
  101. package/dist/client/assets/NativeAreaScreen-Dq3uPSEI.js +1 -0
  102. package/dist/client/assets/NewAgentModal-Cl4nsGhu.js +1 -0
  103. package/dist/client/assets/NewChatComposer-JjLbm3W2.js +19 -0
  104. package/dist/client/assets/{NewChatOrigin-DCn5cWPZ.js → NewChatOrigin-CyPPWTJP.js} +1 -1
  105. package/dist/client/assets/NodeDetailPanel-BUG8rOb-.js +1 -0
  106. package/dist/client/assets/NodeMenu-Fw8ATWQA.js +1 -0
  107. package/dist/client/assets/ObserveEmbedScreen-BPiSXXvm.js +2 -0
  108. package/dist/client/assets/{ObserveTextFlow-DCJ5EmD8.js → ObserveTextFlow-ET0dD1wO.js} +2 -2
  109. package/dist/client/assets/{ObservedTopologyPanel-CJVqIqQ2.js → ObservedTopologyPanel-DkEkQzo-.js} +1 -1
  110. package/dist/client/assets/OpenScoutAppShell-CzKbjwCA.js +22 -0
  111. package/dist/client/assets/OpsAgentsView-CZbtkcQH.js +1 -0
  112. package/dist/client/assets/OpsScreen-DJq-aBmX.js +1 -0
  113. package/dist/client/assets/OpsSubnav-9sURjajO.js +1 -0
  114. package/dist/client/assets/ProjectAgentProfile-q_1tMJIL.js +1 -0
  115. package/dist/client/assets/{ProjectAgentProfileBar-CUzZ4Rpx.js → ProjectAgentProfileBar-C1fR65Eh.js} +1 -1
  116. package/dist/client/assets/ProjectAgentProfileHero-DyEFyTFs.js +1 -0
  117. package/dist/client/assets/ProjectsInbox-Bs8I__my.js +2 -0
  118. package/dist/client/assets/ProjectsRail-Deb38OJ1.js +1 -0
  119. package/dist/client/assets/ProjectsScreen-CgLiYiss.js +1 -0
  120. package/dist/client/assets/ProjectsThreadAside-C0Yw3yIL.js +1 -0
  121. package/dist/client/assets/Provider-5Hotn7NQ.js +5 -0
  122. package/dist/client/assets/{RailRow-B0sRaJc6.css → RailRow-B25zKEub.css} +1 -1
  123. package/dist/client/assets/RailRow-BYguXNm4.js +1 -0
  124. package/dist/client/assets/RawSessionsTable-DIhmlvk-.js +1 -0
  125. package/dist/client/assets/RealtimeVoiceScreen-3oU7b7V5.js +1 -0
  126. package/dist/client/assets/RenderedWorkerSprite-CvdWO32C.js +1 -0
  127. package/dist/client/assets/RenderedWorkerSprite-qnTfkd_4.css +1 -0
  128. package/dist/client/assets/ReplayClock-B7JLTp8A.js +1 -0
  129. package/dist/client/assets/ReplayLog-DZTpf2CW.js +1 -0
  130. package/dist/client/assets/ReplayOutpost-CvWQa30T.js +1 -0
  131. package/dist/client/assets/ReplayOutpost-Y1DvZgeu.css +1 -0
  132. package/dist/client/assets/{RepoDiffEmbedScreen-mexrJPhW.js → RepoDiffEmbedScreen-Cbu0_PJW.js} +1 -1
  133. package/dist/client/assets/{RepoDiffPageScreen-DbqX4L3q.js → RepoDiffPageScreen-Chwm6GXL.js} +1 -1
  134. package/dist/client/assets/RepoDiffViewer-C2mb0Wj-.js +7 -0
  135. package/dist/client/assets/RepoDiffViewerLazy-BQ6ZCrsq.js +2 -0
  136. package/dist/client/assets/{ReposScreen-CzbO1Fuy.js → ReposScreen-C7JZQmyh.js} +2 -2
  137. package/dist/client/assets/RiggedWorkerCharacter-BpYECnyK.css +1 -0
  138. package/dist/client/assets/RiggedWorkerCharacter-DNe731GE.js +1 -0
  139. package/dist/client/assets/SageModelStudio-768dRQr4.css +1 -0
  140. package/dist/client/assets/SageModelStudio-BR1J2D4R.js +4108 -0
  141. package/dist/client/assets/ScoutDeckSurface-flRamdvE.js +1 -0
  142. package/dist/client/assets/{ScoutSurface-NlhDsPzg.js → ScoutSurface-BpklGmDL.js} +1 -1
  143. package/dist/client/assets/{ScoutbotFxLab-l2WAahCg.js → ScoutbotFxLab-DeK7ySWZ.js} +1 -1
  144. package/dist/client/assets/{SecondaryNav-Cs0_FQdj.js → SecondaryNav-BkTn5tkq.js} +1 -1
  145. package/dist/client/assets/SessionEmbedScreen-CcQN6xlo.js +1 -0
  146. package/dist/client/assets/{SessionObserve-CLrHfAKZ.css → SessionObserve-BOBJSfs0.css} +1 -1
  147. package/dist/client/assets/SessionObserve-DaqDhqDI.js +12 -0
  148. package/dist/client/assets/SessionObserveEvidence-Drv-D8Oh.js +1 -0
  149. package/dist/client/assets/SessionRefScreen-BOQ1_ydg.js +1 -0
  150. package/dist/client/assets/SessionsScreen-R8QKvoey.js +1 -0
  151. package/dist/client/assets/SettingsDrawer-BDapR4E9.js +3 -0
  152. package/dist/client/assets/SettingsScreen-DirtO7Z0.js +1 -0
  153. package/dist/client/assets/SharedFloorCharacter-Bi5_md4R.css +1 -0
  154. package/dist/client/assets/SharedFloorCharacter-CSYG_t9t.js +1 -0
  155. package/dist/client/assets/SharedWorkFloor-BCmdeb3Q.css +1 -0
  156. package/dist/client/assets/SharedWorkFloor-yPWFLZwX.js +2 -0
  157. package/dist/client/assets/{ShikiPane-C0TuCATU.js → ShikiPane-BudrOxNK.js} +1 -1
  158. package/dist/client/assets/{SlidePanel-CETQ5NTx.js → SlidePanel-Datu7XG4.js} +1 -1
  159. package/dist/client/assets/SpriteAvatar-BW1JzkDt.js +1 -0
  160. package/dist/client/assets/SproutActionSprite-DveCzg6l.js +1 -0
  161. package/dist/client/assets/{StatusPill-BllrY-eg.js → StatusPill-MxYClPG5.js} +1 -1
  162. package/dist/client/assets/{TailView-_gKWfaQM.js → TailView-Dn7uWmPz.js} +2 -2
  163. package/dist/client/assets/Terminal-D-DsQlmV.js +4 -0
  164. package/dist/client/assets/TerminalEmbedScreen-9Gmln759.js +1 -0
  165. package/dist/client/assets/TerminalHeaderMount-DCGstkZ4.js +1 -0
  166. package/dist/client/assets/{TextDocumentSurface-2X1Gw4eA.js → TextDocumentSurface-BhYvAB0o.js} +1 -1
  167. package/dist/client/assets/{TmuxPeek-CqTJRhkI.js → TmuxPeek-BhK0V9Qt.js} +1 -1
  168. package/dist/client/assets/{VoicePermissionsPanel-C4vkU-sU.js → VoicePermissionsPanel-CecFWzva.js} +1 -1
  169. package/dist/client/assets/{WorkDetailScreen-DqGnuK0e.js → WorkDetailScreen-CwtRCm_-.js} +4 -4
  170. package/dist/client/assets/WorkFilesViewer-DJHftsH9.js +1 -0
  171. package/dist/client/assets/WorkRunView-CxwAZ2QQ.css +1 -0
  172. package/dist/client/assets/WorkRunView-x5PH1byG.js +1 -0
  173. package/dist/client/assets/WorldActorTalk-uIH2jGqA.js +1 -0
  174. package/dist/client/assets/WorldCharacter-Dn4sIXNP.js +1 -0
  175. package/dist/client/assets/WorldMinimap-Blqg0d5r.js +1 -0
  176. package/dist/client/assets/WorldSky-DV9bpvXj.js +1 -0
  177. package/dist/client/assets/{activity-CzTJ-YMX.js → activity-CSUhvjD0.js} +1 -1
  178. package/dist/client/assets/{addon-fit-Zx3A7pGS.js → addon-fit-MR98IWES.js} +1 -1
  179. package/dist/client/assets/{addon-webgl-DitJj-N0.js → addon-webgl-CIIKXrvK.js} +1 -1
  180. package/dist/client/assets/adventure-evidence-DgQbBmfa.css +1 -0
  181. package/dist/client/assets/adventure-habitats-v1-CVMbdB_Z.png +0 -0
  182. package/dist/client/assets/adventure-habitats-v1-M1lcpTJh.js +1 -0
  183. package/dist/client/assets/adventure-playback-DTfkhIc0.js +3 -0
  184. package/dist/client/assets/adventure-reader-DM5UDDm9.css +1 -0
  185. package/dist/client/assets/agent-adventures-DZtWpj6k.css +1 -0
  186. package/dist/client/assets/agent-autocomplete-CeHQpuG9.js +10 -0
  187. package/dist/client/assets/{agent-essentials-K9B6kbTS.js → agent-essentials-8t2il7PV.js} +1 -1
  188. package/dist/client/assets/{agent-floor-CuJr1iK1.css → agent-floor-Dmr9hZHL.css} +1 -1
  189. package/dist/client/assets/agent-floor-actor-3v9drnxh.js +1 -0
  190. package/dist/client/assets/agent-floor-world-Bnd1AtwK.css +1 -0
  191. package/dist/client/assets/agent-floor-world-layout-hfMjuoui.js +1 -0
  192. package/dist/client/assets/agent-lane-card-model-l0stnU9N.js +1 -0
  193. package/dist/client/assets/{agent-lane-detail-ppJId6Jc.js → agent-lane-detail-Db7KyAlf.js} +1 -1
  194. package/dist/client/assets/{agent-lane-preview-BhplDYGf.js → agent-lane-preview-B8lsQJOQ.js} +1 -1
  195. package/dist/client/assets/{agent-lanes-DlqcEf0l.css → agent-lanes-DmgipV9D.css} +1 -1
  196. package/dist/client/assets/agent-lanes-model-CX0wTcnF.js +4 -0
  197. package/dist/client/assets/agent-master-THmq-1k8.css +1 -0
  198. package/dist/client/assets/agent-master-model-C-KdOFDK.js +1 -0
  199. package/dist/client/assets/{agent-specialization-CtF_jI34.js → agent-specialization-CiVxQsFT.js} +1 -1
  200. package/dist/client/assets/agent-state-DDhnFEEP.js +1 -0
  201. package/dist/client/assets/{api-HFH8wFyb.js → api-B9_IqFKY.js} +1 -1
  202. package/dist/client/assets/api-CaROe5_H.js +1 -0
  203. package/dist/client/assets/{arc.es-BNXJqSw7.js → arc.es-BzhWalCl.js} +1 -1
  204. package/dist/client/assets/{arrow-down-BAGkhHA6.js → arrow-down-WoVlkUmg.js} +1 -1
  205. package/dist/client/assets/{arrow-left-eToA6GxC.js → arrow-left-PuKdO3NM.js} +1 -1
  206. package/dist/client/assets/{arrow-right-DTX42clh.js → arrow-right-ldbfp4SZ.js} +1 -1
  207. package/dist/client/assets/{arrow-up-right-B09GPwFl.js → arrow-up-right-Hn754ybA.js} +1 -1
  208. package/dist/client/assets/book-open-BlJnpf2U.js +1 -0
  209. package/dist/client/assets/{bot-WxKXYtEX.js → bot-CfN9PSBF.js} +1 -1
  210. package/dist/client/assets/broker-display-BkBzyvbR.js +2 -0
  211. package/dist/client/assets/{cache-CeWH_KzJ.js → cache-DEy9E34b.js} +1 -1
  212. package/dist/client/assets/{check-Dz2SRHft.js → check-B8dMv3Is.js} +1 -1
  213. package/dist/client/assets/{chevron-down-D120PY4g.js → chevron-down-B5eMsn5c.js} +1 -1
  214. package/dist/client/assets/{chevron-right-CowuvuE6.js → chevron-right-C7UGFpkl.js} +1 -1
  215. package/dist/client/assets/chevron-up-BHOEgHcn.js +1 -0
  216. package/dist/client/assets/{chunk-HRAB3GC3-KjjrTLCU.js → chunk-HRAB3GC3-C5X-kFhb.js} +1 -1
  217. package/dist/client/assets/chunk-JTPDIGGW-ZC-98AHT.js +46 -0
  218. package/dist/client/assets/{chunk-T65CQEWV-H2QEKfr1.js → chunk-T65CQEWV-CSVUz2rY.js} +1 -1
  219. package/dist/client/assets/chunk-YOZR3KYS-B59jqwO0.js +2 -0
  220. package/dist/client/assets/{clock-_9FDplIT.js → clock-DFcRbtrl.js} +1 -1
  221. package/dist/client/assets/{code-xml-CkkNdRmu.js → code-xml-BmyLM0I2.js} +1 -1
  222. package/dist/client/assets/coffee-C_D9zooM.js +1 -0
  223. package/dist/client/assets/colors-CFlbwC25.js +1 -0
  224. package/dist/client/assets/comms-deck-C8nVeMBh.css +1 -0
  225. package/dist/client/assets/comms-deck-CBhsXnY-.js +2 -0
  226. package/dist/client/assets/comms-gesture-_aGFo6g3.js +2 -0
  227. package/dist/client/assets/{compass-BdpImt_W.js → compass-DTZdCpv9.js} +1 -1
  228. package/dist/client/assets/content-B5Q4pb9R.js +1 -0
  229. package/dist/client/assets/content-BK1IfOZs.js +1 -0
  230. package/dist/client/assets/content-BeEsWLEm.js +1 -0
  231. package/dist/client/assets/content-BkOwEknW.js +1 -0
  232. package/dist/client/assets/content-C32W5kAG.js +1 -0
  233. package/dist/client/assets/content-CoqyLs9v.js +1 -0
  234. package/dist/client/assets/content-CwpdIS5b.js +1 -0
  235. package/dist/client/assets/content-DS2OkJ3Q.js +1 -0
  236. package/dist/client/assets/content-DXKaPDfn.js +1 -0
  237. package/dist/client/assets/content-DZt5-dkI.js +1 -0
  238. package/dist/client/assets/content-DbQJH8L1.js +1 -0
  239. package/dist/client/assets/content-DetoiaHq.js +1 -0
  240. package/dist/client/assets/content-Dhu3wL7J.js +1 -0
  241. package/dist/client/assets/content-Dpv34iZu.js +1 -0
  242. package/dist/client/assets/content-TtQJb61D.js +1 -0
  243. package/dist/client/assets/content-ymNb2R7g.js +1 -0
  244. package/dist/client/assets/{context-budget-DqxWzalx.js → context-budget-DemtXu7E.js} +1 -1
  245. package/dist/client/assets/{conversation-icons-DHGc9wbT.js → conversation-icons-BQ4OeOmr.js} +1 -1
  246. package/dist/client/assets/conversation-model-BGFHoxQ0.js +1 -0
  247. package/dist/client/assets/conversation-motion-features-9x8uZpwh.js +1 -0
  248. package/dist/client/assets/conversations-Cbg9h_Af.js +1 -0
  249. package/dist/client/assets/{copy-BzdzWsQd.js → copy-D9WUpQRf.js} +1 -1
  250. package/dist/client/assets/{cpu-CHFIGw87.js → cpu-Ck_4tB_-.js} +1 -1
  251. package/dist/client/assets/{createLucideIcon-Dv8H8m7J.js → createLucideIcon-DkjnzvcJ.js} +1 -1
  252. package/dist/client/assets/{credentials-BTce3VP1.js → credentials-C4VXz2hr.js} +1 -1
  253. package/dist/client/assets/discover-C8IOY7_K.js +2 -0
  254. package/dist/client/assets/embed-entry-CG3CfCbm.js +2 -0
  255. package/dist/client/assets/embed-navigation-DayfkQau.js +1 -0
  256. package/dist/client/assets/{external-link-BvX5PfLh.js → external-link-RT4Ph-6-.js} +1 -1
  257. package/dist/client/assets/{eye-C9cGk5z6.js → eye-CtqSV8BS.js} +1 -1
  258. package/dist/client/assets/{file-code-corner-jlGFdr8d.js → file-code-corner-D_Aptal2.js} +1 -1
  259. package/dist/client/assets/{file-text-BHro8MkG.js → file-text-ChtICwub.js} +1 -1
  260. package/dist/client/assets/flag-CqdOxVkI.js +1 -0
  261. package/dist/client/assets/floor-character-name-CqJPOlXb.js +1 -0
  262. package/dist/client/assets/floor-context-model-DZBpo_oD.js +1 -0
  263. package/dist/client/assets/floor-context-sheet-BFnkFiY3.css +1 -0
  264. package/dist/client/assets/floor-memory-YMM8AlLY.js +1 -0
  265. package/dist/client/assets/floor-message-passes-CJh9f8Jp.js +1 -0
  266. package/dist/client/assets/floor-preview-text-HrORUJ7D.js +1 -0
  267. package/dist/client/assets/floor-replay-CccYqE-f.css +1 -0
  268. package/dist/client/assets/floor-tactical-hud-HL5Vja5Y.css +1 -0
  269. package/dist/client/assets/folder-0fWevPvQ.js +1 -0
  270. package/dist/client/assets/{gauge-DSflSery.js → gauge-Dgtfxf_o.js} +1 -1
  271. package/dist/client/assets/{gestures-YA5IIwp-.js → gestures-BDCZ1FRG.js} +1 -1
  272. package/dist/client/assets/{git-branch-Bc_eDIpG.js → git-branch-CA3cHKCI.js} +1 -1
  273. package/dist/client/assets/go-shortcuts-DKtw4qYx.js +1 -0
  274. package/dist/client/assets/home-moving-signal-B7m-ngb2.js +1 -0
  275. package/dist/client/assets/home-now-card-DduXkHRR.js +1 -0
  276. package/dist/client/assets/{home-now-card-nano-Jmy7eJ6H.js → home-now-card-nano-D1ScGrgv.js} +1 -1
  277. package/dist/client/assets/hooks-C6VyQTQe.js +2 -0
  278. package/dist/client/assets/{hooks-D6NI15f6.css → hooks-D787lBmm.css} +1 -1
  279. package/dist/client/assets/index-C5cX8dkl.js +1 -0
  280. package/dist/client/assets/{index-C1VaWNuD.js → index-C8uS5szO.js} +5 -5
  281. package/dist/client/assets/index-Ck1__1yL.css +1 -0
  282. package/dist/client/assets/index-ClOOrVG1.js +1 -0
  283. package/dist/client/assets/index-Crtgfc9I.js +1 -0
  284. package/dist/client/assets/index-CvsM3jm8.js +1 -0
  285. package/dist/client/assets/{inspector-panel-CwrHjRaQ.js → inspector-panel-BLhDODb3.js} +2 -2
  286. package/dist/client/assets/{keyboard-nav-B8sQ_8IF.js → keyboard-nav-CXfav14z.js} +1 -1
  287. package/dist/client/assets/knowledge-search-BNdQweGz.css +1 -0
  288. package/dist/client/assets/{lane-edit-display-C_Aujldz.js → lane-edit-display-BjdT9oZl.js} +1 -1
  289. package/dist/client/assets/{lane-observe-vfyACHi0.js → lane-observe-BD21P8BB.js} +2 -2
  290. package/dist/client/assets/lane-roster-store-DzNHP392.js +1 -0
  291. package/dist/client/assets/{lane-tool-detail-0WhMf4Vj.js → lane-tool-detail-Czggx8oM.js} +1 -1
  292. package/dist/client/assets/{layers-CW2-qHsG.js → layers-Bolb8ejU.js} +1 -1
  293. package/dist/client/assets/{layout-grid-BoVnPOk-.js → layout-grid-DI9tVJ2E.js} +1 -1
  294. package/dist/client/assets/left-B-_z_nqj.js +2 -0
  295. package/dist/client/assets/left-B1LY7rJc.js +1 -0
  296. package/dist/client/assets/{left-DH44V4I_.css → left-BV9yMiTL.css} +1 -1
  297. package/dist/client/assets/left-C6bdjWcG.js +2 -0
  298. package/dist/client/assets/left-CF4iuqlz.js +1 -0
  299. package/dist/client/assets/left-DLtNyZl1.js +1 -0
  300. package/dist/client/assets/left-Fpxoq-VY.js +1 -0
  301. package/dist/client/assets/left-N2wXfTlp.js +1 -0
  302. package/dist/client/assets/left-advisor-CeIjCKbd.js +1 -0
  303. package/dist/client/assets/left-agents-upjHVlOj.js +1 -0
  304. package/dist/client/assets/left-default-08gmdCtb.js +1 -0
  305. package/dist/client/assets/left-lanes-Cvsp73Hw.js +1 -0
  306. package/dist/client/assets/left-mission-DENnfshd.css +1 -0
  307. package/dist/client/assets/left-mission-W1LLaz74.js +1 -0
  308. package/dist/client/assets/library-DLKBVUJ6.js +1 -0
  309. package/dist/client/assets/{loader-circle-DmUG_YC7.js → loader-circle-DurUYl7E.js} +1 -1
  310. package/dist/client/assets/{local-agents-VP1-ZlPw.js → local-agents-D9fYYRyj.js} +1 -1
  311. package/dist/client/assets/machine-children-RGS4Q0r6.js +1 -0
  312. package/dist/client/assets/machine-scope-DJt9RZ2w.js +1 -0
  313. package/dist/client/assets/mentions-Ctw1ECUC.js +1 -0
  314. package/dist/client/assets/{mesh-ops-CKSWgax2.js → mesh-ops-CGpRk4ik.js} +1 -1
  315. package/dist/client/assets/{mesh-screen-D1Yvo8fU.css → mesh-screen-DjA4mOaN.css} +1 -1
  316. package/dist/client/assets/mesh-view-store-CliSYsmt.js +1 -0
  317. package/dist/client/assets/{message-circle-joGFxfj1.js → message-circle-CSiJj6yo.js} +1 -1
  318. package/dist/client/assets/{message-markup-DC0QFEZn.js → message-markup-DgFSyb3f.js} +1 -1
  319. package/dist/client/assets/{message-square-BLiFqpe_.js → message-square-NmXWtWLR.js} +1 -1
  320. package/dist/client/assets/{message-visibility-CGOmSSKs.js → message-visibility-DwxgcgYK.js} +1 -1
  321. package/dist/client/assets/mission-control-CsX3Yc58.css +1 -0
  322. package/dist/client/assets/mission-control-model-C30vU1Fe.js +1 -0
  323. package/dist/client/assets/mission-control-store-DZ29Mlj1.js +1 -0
  324. package/dist/client/assets/{mission-wall-CocIM1cF.js → mission-wall-DOuGOxQy.js} +1 -1
  325. package/dist/client/assets/nav-destinations-CyXnw9kh.js +1 -0
  326. package/dist/client/assets/observe-CkfOxYx_.js +1 -0
  327. package/dist/client/assets/{operator-attention-RqieiSY8.js → operator-attention-DGR4kOog.js} +1 -1
  328. package/dist/client/assets/ops-screen-CxYM0VOW.css +1 -0
  329. package/dist/client/assets/page-status-CkS3SZu-.js +1 -0
  330. package/dist/client/assets/panel-right-BNTJhy8M.js +1 -0
  331. package/dist/client/assets/pause-DWS7YGQ3.js +1 -0
  332. package/dist/client/assets/{persistent-state-BubPQ7tT.js → persistent-state-xsuk6Kc-.js} +1 -1
  333. package/dist/client/assets/pin-DWlD1BOF.js +1 -0
  334. package/dist/client/assets/pip-idle-v1-Tt-CZsRG.png +0 -0
  335. package/dist/client/assets/pip-thinking-v1-BoHWSEye.png +0 -0
  336. package/dist/client/assets/pip-waiting-v1-DkuvJ-dN.png +0 -0
  337. package/dist/client/assets/pip-working-v1-wWQLRS1z.png +0 -0
  338. package/dist/client/assets/play-D_Pggug4.js +1 -0
  339. package/dist/client/assets/{plus-BWKhylds.js → plus-D_wLGJGT.js} +1 -1
  340. package/dist/client/assets/profile-C3KgiZvc.js +1 -0
  341. package/dist/client/assets/{projects-inbox-DFbgVlXL.js → projects-inbox-DvbqJO3q.js} +1 -1
  342. package/dist/client/assets/{proxy-DVDRhSRR.js → proxy-DOG46ja4.js} +1 -1
  343. package/dist/client/assets/{radio-CxIXS1nU.js → radio-C_jtwbFP.js} +1 -1
  344. package/dist/client/assets/{refresh-cw-Bkh7Cvnd.js → refresh-cw-Da9DDLk2.js} +1 -1
  345. package/dist/client/assets/resolve-panes-DuowGRTk.js +1 -0
  346. package/dist/client/assets/resolve-sidebar-context-BkTbqteq.js +1 -0
  347. package/dist/client/assets/right-B9OUA6Ho.js +1 -0
  348. package/dist/client/assets/right-BDQnjetX.js +1 -0
  349. package/dist/client/assets/{right-DVUq5374.js → right-BLJsc2-p.js} +2 -2
  350. package/dist/client/assets/right-BUbKHmRH.js +1 -0
  351. package/dist/client/assets/right-Ci2IcD4s.js +1 -0
  352. package/dist/client/assets/right-CmCce3e5.js +1 -0
  353. package/dist/client/assets/right-D7w0zM5a.js +1 -0
  354. package/dist/client/assets/right-DIoON_bv.js +1 -0
  355. package/dist/client/assets/right-E0Jr3VN5.js +1 -0
  356. package/dist/client/assets/right-lCdAk9dW.js +1 -0
  357. package/dist/client/assets/{rocket-CnxqjX_K.js → rocket-DyrYDo8V.js} +1 -1
  358. package/dist/client/assets/router-BKiMcYa7.js +1 -0
  359. package/dist/client/assets/{runtime-picker-BYAFNLNq.css → runtime-picker-C3JwrDKP.css} +1 -1
  360. package/dist/client/assets/runtime-picker-DdsttHHc.js +1 -0
  361. package/dist/client/assets/{scope-views-KPY85UUx.js → scope-views-B7PZGlhY.js} +1 -1
  362. package/dist/client/assets/scout-voice-DOQ_B77g.js +1 -0
  363. package/dist/client/assets/{scoutbot-D7kGGyK_.js → scoutbot-Bk3nyrkj.js} +2 -2
  364. package/dist/client/assets/{scoutbot-markdown-yb87JlSE.js → scoutbot-markdown-Bz0Vbto2.js} +1 -1
  365. package/dist/client/assets/{scroll-text-DFcBYy5J.js → scroll-text-DwC8r2g6.js} +1 -1
  366. package/dist/client/assets/{search-FB2vVxCp.js → search-C4VlW_0l.js} +1 -1
  367. package/dist/client/assets/secondaryNavConfig-DAXIFtVd.js +1 -0
  368. package/dist/client/assets/{selection-bridge-qBGFCJv8.js → selection-bridge-B5jqyMR9.js} +1 -1
  369. package/dist/client/assets/{send-horizontal-CS7mxVhX.js → send-horizontal-pOtGI7FM.js} +1 -1
  370. package/dist/client/assets/send-to-agent-session-BZGq_ycy.js +1 -0
  371. package/dist/client/assets/{server-WY6gsbZz.js → server-ms1yxUYJ.js} +1 -1
  372. package/dist/client/assets/{session-catalog-CG4oL_yN.js → session-catalog-s-T_w41t.js} +1 -1
  373. package/dist/client/assets/{session-table-uJh3v-ly.js → session-table-CDx_16xf.js} +1 -1
  374. package/dist/client/assets/sessions-view-DzYGsKWS.js +1 -0
  375. package/dist/client/assets/{settings-DQEtqkM9.js → settings-TJIkkZ0P.js} +1 -1
  376. package/dist/client/assets/shared-work-artifacts-4IIQXQfc.js +1 -0
  377. package/dist/client/assets/{sliders-horizontal-57e99_qO.js → sliders-horizontal-CHf3ntw0.js} +1 -1
  378. package/dist/client/assets/solar-system-scope-2k-stars-points-1FwHnkj0.png +0 -0
  379. package/dist/client/assets/{sparkles-D0vWLTyC.js → sparkles-BbOFw3d0.js} +1 -1
  380. package/dist/client/assets/sprout-action-sprite-DZ8C0fTl.css +1 -0
  381. package/dist/client/assets/sprout-actions-proof-v1-BzUdc812.png +0 -0
  382. package/dist/client/assets/{sse-B29iGBnw.js → sse-v5QLsOHV.js} +1 -1
  383. package/dist/client/assets/system-surfaces-redesign-DKFg4GB5.css +1 -0
  384. package/dist/client/assets/{tail-display-DcliDVkW.js → tail-display-DHSNmvor.js} +2 -2
  385. package/dist/client/assets/{tail-events-LK29oCKm.js → tail-events-DQ46QBW1.js} +1 -1
  386. package/dist/client/assets/{terminal-UDy4lzV1.js → terminal-96JWDYDL.js} +1 -1
  387. package/dist/client/assets/{terminal-relay-CXHMdain.js → terminal-relay-Bfx8pg80.js} +1 -1
  388. package/dist/client/assets/terminal-screen-Bpb2SZrn.css +1 -0
  389. package/dist/client/assets/{terminal-sessions-Bdt2W3Y4.js → terminal-sessions-Ch9aYlgi.js} +1 -1
  390. package/dist/client/assets/{terminal-takeover-BMeBjBB2.js → terminal-takeover-BlpxpvSp.js} +1 -1
  391. package/dist/client/assets/use-beside-Df-F2Uvg.js +1 -0
  392. package/dist/client/assets/use-conversation-list-A_YUf8lo.js +1 -0
  393. package/dist/client/assets/{use-fleet-active-asks-CCGrll5q.js → use-fleet-active-asks-DFs_u-vM.js} +1 -1
  394. package/dist/client/assets/use-mesh-node-state-Ck9CYplv.js +1 -0
  395. package/dist/client/assets/{use-mesh-ops-items-BjyeFJTz.js → use-mesh-ops-items-Be1WmwCg.js} +1 -1
  396. package/dist/client/assets/{use-reduced-motion-CPoX8iV2.js → use-reduced-motion-D7n3vK8t.js} +1 -1
  397. package/dist/client/assets/use-scout-dev-flags-0TXfQcG0.js +1 -0
  398. package/dist/client/assets/{useAgentHoverCard-BgTLNcF-.js → useAgentHoverCard-Dr-OjNFF.js} +1 -1
  399. package/dist/client/assets/useContentSecondaryNav-CGvMOVGY.js +1 -0
  400. package/dist/client/assets/{useEmbedHeadline-DuUnwTB7.js → useEmbedHeadline-BL8wQawZ.js} +1 -1
  401. package/dist/client/assets/{usePierreRuntime-35AHf9RQ.js → usePierreRuntime-DJkRHMoe.js} +1 -1
  402. package/dist/client/assets/worker-rendered-v1-DmGVMlVi.png +0 -0
  403. package/dist/client/assets/worker-thinking-v1-ujakpzrK.png +0 -0
  404. package/dist/client/assets/worker-waiting-v1-DbTSsfJJ.png +0 -0
  405. package/dist/client/assets/worker-working-v1-BROAvJ_z.png +0 -0
  406. package/dist/client/assets/world-outposts-v1-DOt0i98W.png +0 -0
  407. package/dist/client/assets/{wrench-BfVeded5.js → wrench-BsMTSeji.js} +1 -1
  408. package/dist/client/assets/{x-DgmmnPKt.js → x-DI1ktCYb.js} +1 -1
  409. package/dist/client/assets/{xterm-DnJJmrCA.js → xterm-B1YBE4Gq.js} +1 -1
  410. package/dist/client/assets/{zap-Bcja1lHG.js → zap-sKPkh4sQ.js} +1 -1
  411. package/dist/client/characters/sage/sage.glb +0 -0
  412. package/dist/client/crew/brik-bust.webp +0 -0
  413. package/dist/client/crew/brik-chip-id.webp +0 -0
  414. package/dist/client/crew/fenn-bust.webp +0 -0
  415. package/dist/client/crew/fenn-chip-id.webp +0 -0
  416. package/dist/client/crew/lulu-bust.webp +0 -0
  417. package/dist/client/crew/milo-bust.webp +0 -0
  418. package/dist/client/crew/milo-chip-id.webp +0 -0
  419. package/dist/client/crew/nori-bust.webp +0 -0
  420. package/dist/client/crew/pip-bust.webp +0 -0
  421. package/dist/client/crew/pip-chip-id.webp +0 -0
  422. package/dist/client/crew/sheets/eye-plate-v1/blink-half.webp +0 -0
  423. package/dist/client/crew/sheets/eye-plate-v1/blink-shut.webp +0 -0
  424. package/dist/client/crew/sheets/eye-plate-v1/look-left.webp +0 -0
  425. package/dist/client/crew/sheets/eye-plate-v1/look-right.webp +0 -0
  426. package/dist/client/crew/sheets/eye-plate-v1/look-up.webp +0 -0
  427. package/dist/client/crew/sheets/eye-plate-v1/rest.webp +0 -0
  428. package/dist/client/crew/sheets/sprout/blink-half.webp +0 -0
  429. package/dist/client/crew/sheets/sprout/blink-shut.webp +0 -0
  430. package/dist/client/crew/sheets/sprout/look-left.webp +0 -0
  431. package/dist/client/crew/sheets/sprout/look-right.webp +0 -0
  432. package/dist/client/crew/sheets/sprout/look-up.webp +0 -0
  433. package/dist/client/crew/sprout-bust.webp +0 -0
  434. package/dist/client/crew/sprout-chip-id.webp +0 -0
  435. package/dist/client/crew/tuck-bust.webp +0 -0
  436. package/dist/client/crew/tuck-chip-id.webp +0 -0
  437. package/dist/client/crew/vex-bust.webp +0 -0
  438. package/dist/client/crew/vex-chip-id.webp +0 -0
  439. package/dist/client/crew/wrench-bust.webp +0 -0
  440. package/dist/client/crew/wrench-chip-id.webp +0 -0
  441. package/dist/client/index.html +2 -2
  442. package/dist/drizzle/0017_wise_silver_sable.sql +26 -0
  443. package/dist/drizzle/0018_message_epoch_order.sql +1 -0
  444. package/dist/drizzle/meta/0017_snapshot.json +6785 -0
  445. package/dist/drizzle/meta/0018_snapshot.json +6804 -0
  446. package/dist/drizzle/meta/_journal.json +14 -0
  447. package/dist/main.mjs +26906 -24284
  448. package/dist/node/main.mjs +7077 -6284
  449. package/dist/openscout-terminal-relay.mjs +391 -9
  450. package/dist/pairing-runtime-controller.mjs +35541 -34446
  451. package/dist/runtime/base-daemon.mjs +31 -8
  452. package/dist/runtime/broker-daemon.mjs +7864 -2578
  453. package/dist/runtime/broker-process-manager.mjs +15 -3
  454. package/dist/runtime/mesh-discover.mjs +14 -3
  455. package/dist/scout-control-plane-web.mjs +37053 -33186
  456. package/dist/statusline.mjs +1021 -35
  457. package/dist/update-helper.mjs +32169 -0
  458. package/package.json +2 -2
  459. package/dist/client/assets/ActivityScreen-sfonf5SR.js +0 -1
  460. package/dist/client/assets/AgentAvatar-Dz79iTxB.js +0 -1
  461. package/dist/client/assets/AgentConfigurationScreen-DDc3udYM.js +0 -1
  462. package/dist/client/assets/AgentDefinitionsWorkspace-DHDS9Pgd.js +0 -1
  463. package/dist/client/assets/AgentDetailCard-8viaEY8b.js +0 -1
  464. package/dist/client/assets/AgentFloorView-DuyvyMMj.js +0 -1
  465. package/dist/client/assets/AgentInfoScreen-qntgg2q2.js +0 -1
  466. package/dist/client/assets/AgentLanesEmbedScreen-BA6fRwkD.js +0 -1
  467. package/dist/client/assets/AgentLanesView-96lHsoX7.js +0 -2
  468. package/dist/client/assets/AgentLiveActions-DlSKL60c.js +0 -1
  469. package/dist/client/assets/AgentMasterScreen-DHrMuQ6_.js +0 -1
  470. package/dist/client/assets/AgentSessions-DV9v34aq.js +0 -6
  471. package/dist/client/assets/AgentsConsole-DTpVhS67.js +0 -1
  472. package/dist/client/assets/AgentsScreen-hZ4o2I-e.js +0 -1
  473. package/dist/client/assets/AgentsSubnav-Ci7uWM7P.js +0 -1
  474. package/dist/client/assets/AtopView-D7vyQDtE.js +0 -1
  475. package/dist/client/assets/BackToPicker-BHicJyfc.js +0 -1
  476. package/dist/client/assets/BriefingDetailScreen-B-wD_Bot.js +0 -1
  477. package/dist/client/assets/BriefingsScreen-Cn4Mbam9.js +0 -1
  478. package/dist/client/assets/BrokerScreen-C8FQ5rlg.js +0 -5
  479. package/dist/client/assets/ChatCollapsedStrip-7Wrg8Ge0.js +0 -1
  480. package/dist/client/assets/CodeScreen-cLC0tJ4S.js +0 -1
  481. package/dist/client/assets/ConversationFeedRows-Bx0gFyG_.js +0 -1
  482. package/dist/client/assets/ConversationHeader-Bt2RBj93.js +0 -1
  483. package/dist/client/assets/ConversationPanels-o6W-cOoU.js +0 -6
  484. package/dist/client/assets/ConversationScreen-CkWnKXt6.css +0 -1
  485. package/dist/client/assets/ConversationScreen-DIU7m_aC.js +0 -2
  486. package/dist/client/assets/ConversationStatus-CTYOywFh.js +0 -1
  487. package/dist/client/assets/CrewWorkspaces-DNX-QQ1h.js +0 -1
  488. package/dist/client/assets/DispatchAftermath-ZCEB75hh.js +0 -1
  489. package/dist/client/assets/DocumentFocusViewer-D8iB6SMt.js +0 -1
  490. package/dist/client/assets/FlightObserveScreen-BTe1YRPr.js +0 -1
  491. package/dist/client/assets/FollowScreen-CkR-okdL.js +0 -1
  492. package/dist/client/assets/HarnessesScreen-COO_Q8VY.js +0 -1
  493. package/dist/client/assets/HostAdvisorView-DeJ-8RZV.js +0 -1
  494. package/dist/client/assets/KnowledgeSearchInspector-W_zNIBRV.js +0 -1
  495. package/dist/client/assets/KnowledgeSearchScreen-_rxJNUUh.js +0 -1
  496. package/dist/client/assets/LaneTraceDetailSheet-DNIECgEl.js +0 -1
  497. package/dist/client/assets/MeshCanvas-DZv2ipsy.js +0 -3
  498. package/dist/client/assets/MeshCanvasMinimap-BXHRNb7l.js +0 -1
  499. package/dist/client/assets/MeshScreen-DuNvpDC5.js +0 -1
  500. package/dist/client/assets/MessagesScreen-dNNPFwAc.js +0 -1
  501. package/dist/client/assets/MissionContextRail-DnCWPzAM.js +0 -1
  502. package/dist/client/assets/MissionControlView-DmaThhNR.js +0 -1
  503. package/dist/client/assets/MissionFocusOverlay-K21ssTxv.js +0 -1
  504. package/dist/client/assets/MissionLeftAgentRow-CbQm4BLv.js +0 -1
  505. package/dist/client/assets/MissionLogPane-BLvSSIdT.js +0 -1
  506. package/dist/client/assets/NewAgentModal-B7qxjZlW.js +0 -1
  507. package/dist/client/assets/NewChatComposer-D2Ah4T-W.js +0 -19
  508. package/dist/client/assets/ObserveEmbedScreen-DvKGsaLv.js +0 -2
  509. package/dist/client/assets/OpenScoutAppShell-C9TOLB7u.js +0 -79
  510. package/dist/client/assets/OpsAgentsView-vIoY-AW1.js +0 -1
  511. package/dist/client/assets/OpsScreen-CJBwshEp.js +0 -1
  512. package/dist/client/assets/OpsSubnav-CjDTnp64.js +0 -1
  513. package/dist/client/assets/ProjectAgentProfile-Br1eTD7G.js +0 -1
  514. package/dist/client/assets/ProjectAgentProfileHero-mjxNcRvw.js +0 -1
  515. package/dist/client/assets/ProjectsInbox-Bq29DE_o.js +0 -2
  516. package/dist/client/assets/ProjectsRail-kMDA0yn4.js +0 -1
  517. package/dist/client/assets/ProjectsScreen-BDaJYhc0.js +0 -1
  518. package/dist/client/assets/ProjectsThreadAside-B940p3vW.js +0 -1
  519. package/dist/client/assets/Provider-D0bB7q6y.js +0 -1
  520. package/dist/client/assets/RailRow-B88JVr62.js +0 -1
  521. package/dist/client/assets/RawSessionsTable-CzGhEdiZ.js +0 -1
  522. package/dist/client/assets/RealtimeVoiceScreen-CyP1CWsX.js +0 -1
  523. package/dist/client/assets/RepoDiffViewer-Bw5yMC4A.js +0 -7
  524. package/dist/client/assets/RepoDiffViewerLazy-DzfoFhbl.js +0 -2
  525. package/dist/client/assets/ScoutDeckSurface-DQoZofzH.js +0 -1
  526. package/dist/client/assets/SessionEmbedScreen-CpduQ0O9.js +0 -1
  527. package/dist/client/assets/SessionObserve-BVeTkcIl.js +0 -12
  528. package/dist/client/assets/SessionObserveEvidence-BkOezTGV.js +0 -1
  529. package/dist/client/assets/SessionRefScreen-DetLMkTT.js +0 -1
  530. package/dist/client/assets/SessionsScreen-B-McKw6d.js +0 -1
  531. package/dist/client/assets/SettingsDrawer-CPB32w0n.js +0 -3
  532. package/dist/client/assets/SettingsScreen-BEzYFdjz.js +0 -1
  533. package/dist/client/assets/SpriteAvatar-DFO4Kb4Z.js +0 -1
  534. package/dist/client/assets/Terminal-DWyZTZdY.js +0 -1
  535. package/dist/client/assets/TerminalEmbedScreen-_SSzwhWa.js +0 -1
  536. package/dist/client/assets/TerminalHeaderMount-CY7uIWBg.js +0 -1
  537. package/dist/client/assets/WorkFilesViewer-D8-4vF5l.js +0 -1
  538. package/dist/client/assets/agent-autocomplete-BlK8wY06.js +0 -10
  539. package/dist/client/assets/agent-lane-card-model-CY3OE1Xu.js +0 -1
  540. package/dist/client/assets/agent-lanes-model-tc-1hE6q.js +0 -2
  541. package/dist/client/assets/agent-master-I1W-5d-x.css +0 -1
  542. package/dist/client/assets/agent-master-model-DMcHeNq3.js +0 -1
  543. package/dist/client/assets/api-Co9aQ2Jw.js +0 -1
  544. package/dist/client/assets/broker-display-Q75fupqG.js +0 -2
  545. package/dist/client/assets/chunk-JTPDIGGW-COJ00z94.js +0 -46
  546. package/dist/client/assets/chunk-YOZR3KYS-CrCgXw9l.js +0 -2
  547. package/dist/client/assets/colors-BtO5_zlx.js +0 -1
  548. package/dist/client/assets/content-0RBfbCIJ.js +0 -1
  549. package/dist/client/assets/content-BTmnk2bl.js +0 -1
  550. package/dist/client/assets/content-Bk5DKhyP.js +0 -1
  551. package/dist/client/assets/content-Bw_8GE_S.js +0 -1
  552. package/dist/client/assets/content-CI4gLEWi.js +0 -1
  553. package/dist/client/assets/content-CLCtp9Rb.js +0 -1
  554. package/dist/client/assets/content-C_FAGTNk.js +0 -1
  555. package/dist/client/assets/content-CnnzWOE3.js +0 -1
  556. package/dist/client/assets/content-DKlY98pO.js +0 -1
  557. package/dist/client/assets/content-Df7ndXTG.js +0 -1
  558. package/dist/client/assets/content-DkZDzzx3.js +0 -1
  559. package/dist/client/assets/content-DnGmb2L0.js +0 -1
  560. package/dist/client/assets/content-Ds-zs-Ss.js +0 -1
  561. package/dist/client/assets/content-JIWSyC0f.js +0 -1
  562. package/dist/client/assets/content-Q3TIYC8q.js +0 -1
  563. package/dist/client/assets/content-evaBfvxD.js +0 -1
  564. package/dist/client/assets/conversation-model-C2KuZUXc.js +0 -1
  565. package/dist/client/assets/conversation-motion-features-BJnHs3Ul.js +0 -1
  566. package/dist/client/assets/discover-DutlV0ZU.js +0 -2
  567. package/dist/client/assets/embed-entry-CJG7WEVw.js +0 -2
  568. package/dist/client/assets/home-moving-signal-PHSqSBu_.js +0 -1
  569. package/dist/client/assets/home-now-card-C_qsI6C6.js +0 -1
  570. package/dist/client/assets/hooks-ME7rmhpE.js +0 -2
  571. package/dist/client/assets/index-C8UCRm2W.js +0 -1
  572. package/dist/client/assets/index-Cn0I2Hgi.js +0 -1
  573. package/dist/client/assets/index-Cx6Gbr6n.js +0 -1
  574. package/dist/client/assets/index-i7TMxlwW.css +0 -1
  575. package/dist/client/assets/knowledge-search-D_bLoYtC.css +0 -1
  576. package/dist/client/assets/lane-roster-store-DN2jxXF-.js +0 -1
  577. package/dist/client/assets/left-BRu9pnqx.js +0 -2
  578. package/dist/client/assets/left-BjS1dKNV.js +0 -2
  579. package/dist/client/assets/left-CL-TVLJ7.js +0 -1
  580. package/dist/client/assets/left-DLpsDi55.js +0 -1
  581. package/dist/client/assets/left-DPcM9o8Y.js +0 -1
  582. package/dist/client/assets/left-MmTJf1tK.js +0 -1
  583. package/dist/client/assets/left-P80i5V8L.js +0 -1
  584. package/dist/client/assets/left-advisor-CbXVzAqS.js +0 -1
  585. package/dist/client/assets/left-agents-7mJsiNyr.js +0 -1
  586. package/dist/client/assets/left-default-COK26l3H.js +0 -1
  587. package/dist/client/assets/left-lanes-Dbdm9Veu.js +0 -1
  588. package/dist/client/assets/left-mission-DSenPIyb.css +0 -1
  589. package/dist/client/assets/left-mission-DqGR5jby.js +0 -1
  590. package/dist/client/assets/library-COnWzUWv.js +0 -1
  591. package/dist/client/assets/mentions-BZ5SBMtc.js +0 -1
  592. package/dist/client/assets/mesh-buckets-CLYS8Jx8.js +0 -1
  593. package/dist/client/assets/mesh-view-store-CBM1za_N.js +0 -1
  594. package/dist/client/assets/mission-control-CnU7dNt1.css +0 -1
  595. package/dist/client/assets/mission-control-model-C0fByIjm.js +0 -1
  596. package/dist/client/assets/mission-control-store-CM8mQGg8.js +0 -1
  597. package/dist/client/assets/observe-BLmy4quB.js +0 -1
  598. package/dist/client/assets/ops-screen-giu3If_N.css +0 -1
  599. package/dist/client/assets/page-status-BE0-J1xY.js +0 -1
  600. package/dist/client/assets/paperclip-Br7wUDFl.js +0 -1
  601. package/dist/client/assets/perf-PX8Rx0EP.js +0 -1
  602. package/dist/client/assets/profile-BCvk8jOQ.js +0 -1
  603. package/dist/client/assets/resolve-panes-DhD5qmQO.js +0 -1
  604. package/dist/client/assets/resolve-sidebar-context-GqhZNRPY.js +0 -1
  605. package/dist/client/assets/right-B_08ilv6.js +0 -1
  606. package/dist/client/assets/right-Brm67HOL.js +0 -1
  607. package/dist/client/assets/right-BveAPKBW.js +0 -1
  608. package/dist/client/assets/right-CpTB_-Ya.js +0 -1
  609. package/dist/client/assets/right-CqC4Qdot.js +0 -1
  610. package/dist/client/assets/right-D91j9d5Y.js +0 -1
  611. package/dist/client/assets/right-DaLRhYl3.js +0 -1
  612. package/dist/client/assets/right-Dt1wOwA5.js +0 -1
  613. package/dist/client/assets/right-DtzqIZQF.js +0 -1
  614. package/dist/client/assets/router-kfcaYqZr.js +0 -1
  615. package/dist/client/assets/runtime-picker-C20lTGhV.js +0 -1
  616. package/dist/client/assets/scout-voice-Cg1qfepC.js +0 -1
  617. package/dist/client/assets/secondaryNavConfig-C0Srrmy8.js +0 -1
  618. package/dist/client/assets/system-surfaces-redesign-kuf3wuE_.css +0 -1
  619. package/dist/client/assets/terminal-screen-vMICbBJh.css +0 -1
  620. package/dist/client/assets/use-conversation-list-UG-tMN67.js +0 -1
  621. package/dist/client/assets/use-scout-dev-flags-DTseRrFi.js +0 -1
  622. package/dist/client/assets/useContentSecondaryNav-CoIoz7JU.js +0 -1
@@ -1,2 +0,0 @@
1
- import{b}from"./status-tone-BM_zuRy1.js";function c(e){return e===null||["string","number","boolean"].includes(typeof e)}function a(e){if(typeof e!="string")return null;const r=e.trim();return r.length>0?r:null}function u(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function l(e){return e.trim().replace(/^@/,"").toLowerCase()}function p(e,r){const i=l(r);return[e.id,e.name,e.handle,e.selector,e.defaultSelector,e.conversationId,e.harnessSessionId].some(t=>t&&l(t)===i)}function d(e,r){if(typeof r=="string"&&r.trim()){e.push(r);return}if(Array.isArray(r))for(const i of r)d(e,i)}function _(e,r){const i=e.metadata??{},t=u(i.raw),n=[];d(n,e.target);for(const o of["targetAgentId","targetId","targetSessionId","relayTarget","relayTargetIds"])d(n,i[o]);if(t)for(const o of["targetAgentId","targetSessionId","relayTarget","relayTargetIds","targetId"])d(n,t[o]);for(const o of["targetDisplayName","targetLabel"])d(n,i[o]),t&&d(n,t[o]);for(const o of new Set(n.map(l))){const f=r.find(k=>p(k,o));if(f)return f}return null}function I(e){return e.replace(/\s+/g," ").trim().slice(0,220)}function s(e,...r){for(const i of r){const t=a(e?.[i]);if(t)return t}return null}function m(e){const r=e.metadata??{},i=u(r.raw),t=u(i?.delivery);return u(t?.metadata)}function M(e,r){return e.length<=r?e:`${e.slice(0,Math.max(0,r-3)).trimEnd()}...`}function y(e){return b(e.kind,e.status)==="danger"||e.status==="error"}function h(e){if(e.kind==="failed_query")switch(s(e.metadata,"dispatchKind")){case"unknown":return"Target not found";case"ambiguous":return"Target is ambiguous";case"unparseable":return"Invalid target";default:return"Route not resolved"}const r=s(e.metadata,"failureReason","reconciledReason","reason");return r==="agent_offline"||r==="agent_unreachable"?"Agent unavailable":r==="peer_unreachable"||r==="local_socket_unreachable"?"Route unavailable":r==="peer_rejected"?"Delivery rejected":"Delivery failed"}function $(e){const r=new Map,i=new Map;for(const n of e)if(n.messageId){if(n.kind==="success")r.has(n.messageId)||r.set(n.messageId,n);else if(n.kind==="failed_delivery"){const o=i.get(n.messageId);(!o||n.ts>o.ts)&&i.set(n.messageId,n)}}const t=[];for(const n of e)if(n.kind!=="delivery_attempt"&&!(n.kind==="failed_delivery"&&n.messageId&&r.has(n.messageId))){if(n.kind==="success"&&n.messageId){const o=i.get(n.messageId);if(o){t.push({...o,id:n.id,ts:n.ts,actorName:n.actorName,target:n.target??o.target,route:n.route??o.route,detail:n.detail,conversationId:n.conversationId??o.conversationId,messageId:n.messageId,invocationId:n.invocationId??o.invocationId,metadata:{...o.metadata??{},message:n.metadata??null}});continue}}t.push(n)}return t.sort((n,o)=>o.ts-n.ts||n.id.localeCompare(o.id))}function j(e){if(!y(e))return null;if(e.kind==="failed_query")return h(e);const r=e.metadata??{},i=a(r.reason),t=a(r.failureDetail)??a(r.failureReason)??(e.kind==="failed_delivery"&&["direct_message","mention"].includes(i??"")?null:i)??a(r.error),n=a(r.requestedLabel),o=[];return e.status&&e.status!=="failed"&&e.status!=="error"&&o.push(e.status),t&&t!==e.detail.trim()&&o.push(t),n&&!e.detail.includes(n)&&o.push(`asked ${n}`),o.length>0?[...new Set(o)].join(" · "):null}function g(e){return e==null?"—":typeof e=="string"?e:typeof e=="number"||typeof e=="boolean"?String(e):JSON.stringify(e)}const w=["source","deliveryId","messageId","conversationId","invocationId","dispatchKind","reason","error","requestedLabel","requesterId","targetId","transport","failureReason","failureDetail","reconciledReason","attempt","class","actorId","dispatchId","attemptId"];function D(e){if(!e)return[];const r=[],i=new Set;for(const t of w)!(t in e)||!c(e[t])||(r.push({key:t,value:g(e[t])}),i.add(t));for(const[t,n]of Object.entries(e))t==="raw"||i.has(t)||!c(n)||r.push({key:t,value:g(n)});return r}function A(e){const r=e.metadata??{},i=e.messageId??s(r,"messageId"),t=e.target??s(r,"targetId"),n=e.route??s(r,"transport");return e.kind==="failed_delivery"&&i&&t&&n?["failed_delivery",i,t,n].join("|"):[e.kind,i??e.deliveryId??e.invocationId??e.id,t,n,s(r,"failureReason","reconciledReason","reason","error")??e.detail].filter(o=>!!(o&&o.trim())).map(I).join("|")}function S(e){const r=e.metadata??{},i=m(e);return[e.kind,e.target??s(r,"targetId"),e.route??s(r,"transport"),s(r,"failureReason","reconciledReason","error")??s(i,"failureReason","reconciledReason","error")??e.status,s(r,"failureDetail")??s(i,"failureDetail")??s(r,"reason")??e.detail].filter(t=>!!(t&&t.trim())).map(t=>I(t).toLowerCase()).join("|")}function v(e){return{copiedAt:new Date().toISOString(),dedupeFingerprint:A(e),rootCauseFingerprint:S(e),sourceEndpoint:"/api/broker?limit=160",reviewEndpoint:"/api/broker/dispatch-review",attempt:e}}function F(e){const r=v(e);return[y(e)?"OpenScout dispatch failure context":"OpenScout dispatch context","",`id: ${e.id}`,`kind: ${e.kind}`,`status: ${e.status}`,`time: ${new Date(e.ts).toISOString()}`,`target: ${e.target??"none"}`,`transport/route: ${e.route??"none"}`,`messageId: ${e.messageId??"none"}`,`deliveryId: ${e.deliveryId??"none"}`,`invocationId: ${e.invocationId??"none"}`,`conversationId: ${e.conversationId??"none"}`,`detail: ${e.detail}`,`dedupeFingerprint: ${r.dedupeFingerprint}`,`rootCauseFingerprint: ${r.rootCauseFingerprint}`,"","Full JSON:",JSON.stringify(r,null,2)].join(`
2
- `)}function O(e){return{attemptId:e.id,attempt:e}}function T(e){if(!e)return null;if(e.raw!==void 0&&e.raw!==null)return e.raw;const r=Object.fromEntries(Object.entries(e).filter(([i,t])=>i!=="raw"&&!c(t)));return Object.keys(r).length>0?r:null}function C(e){return!e||Object.keys(e).length===0?"{}":JSON.stringify(e,null,2)}export{D as a,y as b,T as c,C as d,M as e,g as f,$ as g,j as h,F as i,_ as j,O as k,h as l};
@@ -1,46 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/xterm-DnJJmrCA.js","assets/index-C1VaWNuD.js","assets/index-i7TMxlwW.css","assets/addon-fit-Zx3A7pGS.js","assets/addon-webgl-DitJj-N0.js"])))=>i.map(i=>d[i]);
2
- import{r as e,j as o,_ as _e}from"./index-C1VaWNuD.js";import{u as Ke}from"./chunk-HRAB3GC3-KjjrTLCU.js";var Be=["terminal:ack"];function lt(d={}){const{url:f="ws://localhost:3600",healthUrl:g,token:m,systemPrompt:j,cwd:Ne,workspaceFiles:se,autoConnect:we=!1,sessionKey:ke,orphanTTL:ce,backend:Z,controlMode:p="owner",tmuxSession:V,zellijSession:le,zellijSocketDir:ie,agent:ae,provider:q,model:ee,flowControl:me}=d,O=ke?`hudson.relay.${ke}`:null,Se=()=>{if(!O)return null;try{const r=localStorage.getItem(O);if(!r)return null;if(r.startsWith("{")){const c=JSON.parse(r);return typeof c.id!="string"?null:{id:c.id,reconnectToken:typeof c.reconnectToken=="string"?c.reconnectToken:null}}return{id:r,reconnectToken:null}}catch{return null}},l=e.useCallback((r,c=null)=>{if(O)try{r?localStorage.setItem(O,JSON.stringify({id:r,reconnectToken:c})):localStorage.removeItem(O)}catch{}},[O]),[xe,k]=e.useState("disconnected"),[je,ue]=e.useState(null),[Re,L]=e.useState(null),[pe,H]=e.useState(null),[y,De]=e.useState(Ne||"~"),P=e.useRef(null),D=e.useRef(null),te=e.useRef({cols:80,rows:24}),R=e.useRef(!1),B=e.useRef([]),J=e.useRef(0),X=e.useRef(0),de=e.useRef(0),be=e.useRef(y);be.current=y;const U=e.useRef(!1),re=e.useRef(null);U.current||(U.current=!0,re.current=Se());const C=e.useRef(re.current?.id??null),E=e.useRef(re.current?.reconnectToken??null),u=e.useRef(null),fe=e.useRef(null),G=e.useRef(null),W=e.useRef(new Set),$=me?.maxBufferedBytes??512*1024,x=e.useCallback(r=>{const c=P.current;c&&c.readyState===WebSocket.OPEN&&c.send(JSON.stringify(r))},[]),he=e.useCallback((r,c)=>{typeof r=="number"&&c===de.current&&x({type:"terminal:ack",seq:r})},[x]),_=e.useCallback(()=>{de.current+=1,B.current=[],J.current=0},[]),A=e.useCallback((r,c=null)=>{const S=de.current;if(!r){he(c,S);return}let b=!1;const F=()=>{b||(b=!0,he(c,S))};if(u.current)try{u.current(r,F)}catch{F()}else for(B.current.push({data:r,seq:c,ack:F}),J.current+=r.length;J.current>$&&B.current.length>0;){const h=B.current.shift();if(!h)break;J.current-=h.data.length,h.ack()}if(W.current.size>0)for(const h of W.current)try{h(r)}catch{}},[he,$]),I=e.useCallback((r,c)=>{typeof r!="number"||typeof c!="number"||r<=0||c<=0||(G.current={cols:r,rows:c},fe.current?.(r,c))},[]),Y=e.useCallback(()=>{const r=P.current;r&&(r.close(),P.current=null)},[]),Q=e.useCallback(()=>{X.current+=1,D.current&&(clearTimeout(D.current),D.current=null),Y(),R.current=!1,k("disconnected")},[Y]),v=e.useCallback(()=>{const r=be.current;return{type:"session:init",cols:te.current.cols,rows:te.current.rows,clientCapabilities:[...Be],...j?{systemPrompt:j}:{},...r?{cwd:r}:{},...se?{workspaceFiles:se}:{},...ce?{orphanTTL:ce}:{},...Z?{backend:Z}:{},...p!=="owner"?{controlMode:p}:{},...V?{tmuxSession:V}:{},...le?{zellijSession:le}:{},...ie?{zellijSocketDir:ie}:{},...ae?{agent:ae}:{},...q?{provider:q}:{},...ee?{model:ee}:{}}},[ae,Z,p,ee,ce,q,j,V,se,le,ie]),M=e.useCallback(()=>{R.current||(R.current=!0,C.current?x({type:"session:reconnect",sessionId:C.current,...E.current?{reconnectToken:E.current}:{},cols:te.current.cols,rows:te.current.rows,clientCapabilities:[...Be],...p!=="owner"?{controlMode:p}:{}}):x(v()))},[x,v,p]),ne=e.useCallback(async()=>{const r=X.current+1;X.current=r,Y(),de.current+=1,R.current=!1,k("connecting"),L(null),H(null);const c=g||`${f.replace(/^ws(s?):\/\//,"http$1://")}/health`;try{const h=await fetch(c,{signal:AbortSignal.timeout(2e3)});if(!h.ok)throw new Error(`Relay health check failed: ${h.status}`)}catch{if(X.current!==r)return;k("error"),L("Relay service is not running");return}if(X.current!==r)return;Y();const S=m?`${f}${f.includes("?")?"&":"?"}token=${encodeURIComponent(m)}`:f,b=new WebSocket(S);P.current=b;const F=()=>X.current===r&&P.current===b;b.onopen=()=>{if(!F()){b.close();return}M()},b.onmessage=h=>{if(F())try{const i=JSON.parse(h.data);switch(i.type){case"session:ready":I(i.cols,i.rows),C.current=i.sessionId,E.current=typeof i.reconnectToken=="string"?i.reconnectToken:null,l(i.sessionId,E.current),ue(i.sessionId),k("connected"),L(null),H(null);break;case"terminal:dimensions":I(i.cols,i.rows);break;case"session:expired":{C.current=null,E.current=null,l(null),R.current=!1,_(),A("\x1B[2J\x1B[H",null),x(v()),R.current=!0;break}case"session:error":k("error"),L(i.error||"Session failed to start");break;case"terminal:data":A(i.data||"",typeof i.seq=="number"?i.seq:null);break;case"session:exit":C.current=null,E.current=null,l(null),_(),ue(null),H(i.exitCode??null),i.exitCode!==0?(k("error"),L(i.reason||`Process exited with code ${i.exitCode}`)):k("disconnected");break;case"session:detached":C.current=null,E.current=null,l(null),ue(null);break}}catch{}},b.onclose=()=>{F()&&(P.current=null,R.current=!1,k(h=>h==="error"?h:"disconnected"))},b.onerror=()=>{F()&&(k("error"),L("Could not connect to relay"))}},[f,g,m,M,Y,x,A,v,l,_]),Ce=e.useCallback(r=>{p!=="observe"&&x({type:"terminal:input",data:r})},[p,x]),Ee=e.useCallback(r=>{p!=="observe"&&x({type:"terminal:input",data:r+"\r"})},[p,x]),ge=e.useCallback((r,c)=>{te.current={cols:r,rows:c},R.current&&x({type:"terminal:resize",cols:r,rows:c})},[x]),T=e.useCallback(r=>{if(u.current=r,!r||B.current.length===0)return;const c=B.current;B.current=[],J.current=0;for(const S of c)try{r(S.data,S.ack)}catch{S.ack()}},[]),N=e.useCallback(r=>{fe.current=r;const c=G.current;r&&c&&r(c.cols,c.rows)},[]),Te=e.useCallback(r=>(W.current.add(r),()=>{W.current.delete(r)}),[]);e.useEffect(()=>(we&&ne(),()=>{Q()}),[]);const z=e.useCallback(()=>{Q(),C.current=null,E.current=null,ue(null),l(null),_(),L(null),H(null),D.current=setTimeout(()=>{D.current=null,ne()},200)},[Q,ne,l,_]);return{status:xe,sessionId:je,error:Re,exitCode:pe,cwd:y,controlMode:p,setCwd:De,onData:T,onDimensions:N,subscribeData:Te,sendInput:Ce,sendLine:Ee,resize:ge,connect:ne,disconnect:Q,restart:z}}var Je={titleBarInset:0,dragRegionProps:{},onInteractiveMouseDown:void 0,isSSR:!0,apiBaseUrl:"",serviceApiUrl:""},Xe=e.createContext(Je);function Ge(){return e.useContext(Xe)}var Me="hudson:terminal:voice-transcript",ze="hudson:terminal:voice-submit",it='[data-hudson-terminal-drawer-content="true"]',Ye=e.createContext(void 0),Qe={background:"#091112",foreground:"#d7e5e2",cursor:"#35d7d0",cursorAccent:"#091112",selectionBackground:"#173739",selectionForeground:"#f3fbf9",black:"#091112",red:"#ff6b6b",green:"#35d07f",yellow:"#f5c451",blue:"#62b4ff",magenta:"#ff7ab6",cyan:"#32d5ca",white:"#d7e5e2",brightBlack:"#667777",brightRed:"#ff8f8f",brightGreen:"#5ee79f",brightYellow:"#ffd36e",brightBlue:"#8dccff",brightMagenta:"#ff9fca",brightCyan:"#67eee3",brightWhite:"#ffffff"},Ze={background:"#f7faf9",foreground:"#111a19",cursor:"#006f6a",cursorAccent:"#f7faf9",selectionBackground:"#c0e7e2",selectionForeground:"#0d1716",black:"#111a19",red:"#9f1f18",green:"#006c46",yellow:"#704600",blue:"#075985",magenta:"#9d174d",cyan:"#006f6a",white:"#dbe5e2",brightBlack:"#52635f",brightRed:"#c2271f",brightGreen:"#007f55",brightYellow:"#865b00",brightBlue:"#0369a1",brightMagenta:"#be185d",brightCyan:"#007f89",brightWhite:"#ffffff"},qe=`
3
- .xterm { cursor: text; position: relative; user-select: none; -ms-user-select: none; -webkit-user-select: none; }
4
- .xterm.focus, .xterm:focus { outline: none; }
5
- .xterm .xterm-helpers { position: absolute; top: 0; z-index: 5; }
6
- .xterm .xterm-helper-textarea { padding: 0; border: 0; margin: 0; position: absolute; opacity: 0; left: -9999em; top: 0; width: 0; height: 0; z-index: -5; white-space: nowrap; overflow: hidden; resize: none; }
7
- .xterm .composition-view { background: var(--hud-terminal-bg, #091112); color: var(--hud-terminal-fg, #d7e5e2); display: none; position: absolute; white-space: nowrap; z-index: 1; }
8
- .xterm .composition-view.active { display: block; }
9
- .xterm .xterm-viewport { background-color: var(--hud-terminal-bg, transparent); overflow-y: scroll; cursor: default; position: absolute; right: 0; left: 0; top: 0; bottom: 0; }
10
- .xterm .xterm-screen { position: relative; }
11
- .xterm .xterm-screen canvas { position: absolute; left: 0; top: 0; }
12
- .xterm-char-measure-element { display: inline-block; visibility: hidden; position: absolute; top: 0; left: -9999em; line-height: normal; }
13
- .xterm.enable-mouse-events { cursor: default; }
14
- .xterm.xterm-cursor-pointer, .xterm .xterm-cursor-pointer { cursor: pointer; }
15
- .xterm.column-select.focus { cursor: crosshair; }
16
- .xterm .xterm-accessibility:not(.debug), .xterm .xterm-message { position: absolute; left: 0; top: 0; bottom: 0; right: 0; z-index: 10; color: transparent; pointer-events: none; }
17
- .xterm .xterm-accessibility-tree:not(.debug) *::selection { color: transparent; }
18
- .xterm .xterm-accessibility-tree { font-family: monospace; user-select: text; white-space: pre; }
19
- .xterm .xterm-accessibility-tree > div { transform-origin: left; width: fit-content; }
20
- .xterm .live-region { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
21
- .xterm-dim { opacity: 1 !important; }
22
- .xterm-underline-1 { text-decoration: underline; }
23
- .xterm-underline-2 { text-decoration: double underline; }
24
- .xterm-underline-3 { text-decoration: wavy underline; }
25
- .xterm-underline-4 { text-decoration: dotted underline; }
26
- .xterm-underline-5 { text-decoration: dashed underline; }
27
- .xterm-overline { text-decoration: overline; }
28
- .xterm-overline.xterm-underline-1 { text-decoration: overline underline; }
29
- .xterm-overline.xterm-underline-2 { text-decoration: overline double underline; }
30
- .xterm-overline.xterm-underline-3 { text-decoration: overline wavy underline; }
31
- .xterm-overline.xterm-underline-4 { text-decoration: overline dotted underline; }
32
- .xterm-overline.xterm-underline-5 { text-decoration: overline dashed underline; }
33
- .xterm-strikethrough { text-decoration: line-through; }
34
- .xterm-screen .xterm-decoration-container .xterm-decoration { z-index: 6; position: absolute; }
35
- .xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer { z-index: 7; }
36
- .xterm-decoration-overview-ruler { z-index: 8; position: absolute; top: 0; right: 0; pointer-events: none; }
37
- .xterm-decoration-top { z-index: 2; position: relative; }
38
- .xterm .xterm-scrollable-element > .scrollbar { cursor: default; }
39
- .xterm .xterm-scrollable-element > .scrollbar > .scra { cursor: pointer; font-size: 11px !important; }
40
- .xterm .xterm-scrollable-element > .visible { opacity: 1; background: rgba(0,0,0,0); transition: opacity 100ms linear; z-index: 11; }
41
- .xterm .xterm-scrollable-element > .invisible { opacity: 0; pointer-events: none; }
42
- .xterm .xterm-scrollable-element > .invisible.fade { transition: opacity 800ms linear; }
43
- .xterm .xterm-scrollable-element > .shadow { position: absolute; display: none; }
44
- .xterm .xterm-scrollable-element > .shadow.top { display: block; top: 0; left: 3px; height: 3px; width: 100%; }
45
- .xterm .xterm-scrollable-element > .shadow.left { display: block; top: 3px; left: 0; height: 100%; width: 3px; }
46
- `;function et(){if(typeof document>"u"||document.querySelector("[data-xterm-css]"))return;const d=document.createElement("style");d.setAttribute("data-xterm-css",""),d.textContent=qe,document.head.appendChild(d)}function Ie(d,f){if(typeof d!="object"||d===null)return;const g=d,m=g[f];if(m)return m;const j=g.default;if(!(typeof j!="object"||j===null))return j[f]}function Fe(d,f){if(!d||f&&!d.closest(f))return!1;const g=d.getBoundingClientRect();if(g.width<=0||g.height<=0)return!1;const m=window.getComputedStyle(d);return m.display!=="none"&&m.visibility!=="hidden"}var tt="\x1B[13;2u",Ve="\r";function rt(d){return new Promise((f,g)=>{const m=new FileReader;m.onload=()=>{const j=m.result;f(j.split(",")[1])},m.onerror=g,m.readAsDataURL(d)})}function nt({relay:d,fontSize:f=12,fontFamily:g="'JetBrains Mono', 'Hack Nerd Font', monospace",scrollback:m=5e3,renderer:j="auto",readOnly:Ne=!1,ariaLabel:se="Terminal",className:we,style:ke,colorScheme:ce="auto",configItems:Z,onOpenSettings:p,onStartService:V,quiet:le=!1,voiceVisibilityScope:ie,imageUploadUrl:ae,onReady:q,onDispose:ee,onResize:me,onRendererChange:O},Se){const{status:l,error:xe,exitCode:k,cwd:je,setCwd:ue,sendInput:Re,resize:L,onData:pe,onDimensions:H,connect:y,disconnect:De,controlMode:P="owner"}=d,D=Ne||P==="observe",te=e.useContext(Ye),R=ie===!1?void 0:ie??te,[B,J]=e.useState(!1),{apiBaseUrl:X}=Ge(),de=Ke(),be=ce==="auto"?de?.resolvedTheme==="light"?"light":"dark":ce,U=be==="light"?Ze:Qe,re=be==="light"?4.5:3,C=e.useRef(null),E=e.useRef(null),u=e.useRef(null),fe=e.useRef(null),G=e.useRef(null),W=e.useRef(!1),[$,x]=e.useState(!1),[he,_]=e.useState(!1),A=e.useRef(0),I=e.useRef(D),Y=e.useRef(null),Q=e.useRef(null),v=e.useRef(null),M=e.useRef(null),ne=e.useRef(q),Ce=e.useRef(ee),Ee=e.useRef(me),ge=e.useRef(O);e.useEffect(()=>{I.current=D,D&&(G.current=null,W.current=!1,A.current=0,_(!1))},[D]),e.useEffect(()=>{ne.current=q},[q]),e.useEffect(()=>{Ce.current=ee},[ee]),e.useEffect(()=>{Ee.current=me},[me]),e.useEffect(()=>{ge.current=O},[O]),e.useEffect(()=>{const t=C.current;if(!t)return;const n=s=>{s.key===" "&&!s.metaKey&&!s.ctrlKey&&!s.altKey&&s.stopPropagation()};return t.addEventListener("keydown",n),()=>t.removeEventListener("keydown",n)},[]);const T=ae===void 0?`${X}/api/relay/upload`:ae,N=e.useCallback(t=>{I.current||Re(t)},[Re]),Te=e.useCallback((t,n)=>{if(!Number.isFinite(t)||!Number.isFinite(n)||t<=0||n<=0)return;const s=Y.current;s&&s.cols===t&&s.rows===n||(Y.current={cols:t,rows:n},L(t,n),Ee.current?.(t,n))},[L]),z=e.useCallback(()=>{const t=fe.current,n=u.current;if(!t||!n)return null;try{const s=t.proposeDimensions();return s?((P!=="observe"||!Q.current)&&t.fit(),Te(s.cols,s.rows),Q.current??{cols:n.cols,rows:n.rows}):null}catch{return null}},[P,Te]),r=e.useCallback(()=>{v.current===null&&(v.current=window.requestAnimationFrame(()=>{v.current=null,z()}))},[z]);e.useImperativeHandle(Se,()=>({focus:()=>{u.current?.focus()},fit:z,clear:()=>{u.current?.clear()},getDimensions:()=>{const t=u.current;return t?{cols:t.cols,rows:t.rows}:null},getTerminal:()=>u.current}),[z]);const c=e.useCallback(t=>{const n=t.transcript.replace(/\s+/g," ").trim();n&&N(t.submit?`${n}${Ve}`:n)},[N]),S=e.useCallback(()=>{N(Ve)},[N]);e.useEffect(()=>{const t=n=>{if(I.current||!Fe(C.current,R))return;const s=n.detail;if(!(!s||typeof s.transcript!="string")){if(l==="connected"){c(s);return}G.current=s,l!=="connecting"&&y()}};return window.addEventListener(Me,t),()=>window.removeEventListener(Me,t)},[y,c,l,R]),e.useEffect(()=>{if(l!=="connected"||!G.current)return;const t=G.current;G.current=null,c(t)},[c,l]),e.useEffect(()=>{const t=()=>{if(!I.current&&Fe(C.current,R)){if(l==="connected"){S();return}W.current=!0,l!=="connecting"&&y()}};return window.addEventListener(ze,t),()=>window.removeEventListener(ze,t)},[y,S,l,R]),e.useEffect(()=>{l!=="connected"||!W.current||(W.current=!1,S())},[S,l]);const b=e.useCallback(async t=>{if(!T)return null;try{const n=await rt(t),s=await fetch(T,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t.name,data:n})}),{path:w}=await s.json();return w||null}catch(n){return console.error("File upload failed:",n),null}},[T]);e.useEffect(()=>{const t=C.current;if(!t)return;const n=async s=>{if(!s.clipboardData||!T)return;const w=Array.from(s.clipboardData.items).filter(K=>K.type.startsWith("image/"));if(w.length!==0&&(s.preventDefault(),s.stopPropagation(),!I.current))for(const K of w){const ye=K.getAsFile();if(!ye)continue;const ve=await b(ye);ve&&N(ve)}};return t.addEventListener("paste",n),()=>t.removeEventListener("paste",n)},[N,b,T]);const F=e.useCallback(t=>{if(t.preventDefault(),I.current||!T){t.dataTransfer.dropEffect="none";return}t.dataTransfer.dropEffect="copy"},[T]),h=e.useCallback(t=>{if(t.preventDefault(),I.current||!T){A.current=0,_(!1);return}A.current++,t.dataTransfer.types.includes("Files")&&_(!0)},[T]),i=e.useCallback(t=>{if(t.preventDefault(),I.current){A.current=0,_(!1);return}A.current--,A.current===0&&_(!1)},[]),He=e.useCallback(async t=>{if(t.preventDefault(),A.current=0,_(!1),I.current||!T)return;const n=Array.from(t.dataTransfer.files).filter(s=>s.type.startsWith("image/"));if(n.length!==0)for(const s of n){const w=await b(s);w&&N(w)}},[N,b,T]);e.useEffect(()=>{let t=!1,n=null;x(!1);async function s(){const[w,K,ye]=await Promise.all([_e(()=>import("./xterm-DnJJmrCA.js").then(a=>a.x),__vite__mapDeps([0,1,2])),_e(()=>import("./addon-fit-Zx3A7pGS.js").then(a=>a.a),__vite__mapDeps([3,1,2])),_e(()=>import("./addon-webgl-DitJj-N0.js").then(a=>a.a),__vite__mapDeps([4,1,2])).catch(()=>null)]),ve=Ie(w,"Terminal"),Ae=Ie(K,"FitAddon"),Oe=ye?Ie(ye,"WebglAddon"):void 0;if(!ve||!Ae){console.error("[TerminalRelay] @xterm/xterm or @xterm/addon-fit missing constructors",{xtermMod:w,fitMod:K});return}if(et(),t||!E.current)return;n=new ve({fontSize:f,fontFamily:g,theme:U,minimumContrastRatio:re,cursorBlink:!0,cursorStyle:"bar",allowTransparency:!0,scrollback:m,convertEol:!1,allowProposedApi:!0});const Le=new Ae;n.loadAddon(Le),n.open(E.current),u.current=n,fe.current=Le;let Pe="dom";if(j!=="dom"&&Oe)try{const a=new Oe;a.onContextLoss(()=>{a.dispose(),ge.current?.("dom")}),n.loadAddon(a),Pe="webgl"}catch{}ge.current?.(Pe),z(),n.attachCustomKeyEventHandler(a=>a.type==="keydown"&&a.key==="Enter"&&a.shiftKey&&!a.ctrlKey&&!a.altKey&&!a.metaKey?(a.preventDefault(),a.stopPropagation(),N(tt),!1):!0),n.onData(a=>{N(a)}),x(!0),ne.current?.(n)}return s(),()=>{t=!0,x(!1),v.current!==null&&(window.cancelAnimationFrame(v.current),v.current=null),n&&(n.dispose(),u.current=null,fe.current=null),Ce.current?.()}},[z,j,m,N]),e.useEffect(()=>{const t=u.current;t&&(t.options.fontSize=f,t.options.fontFamily=g,z())},[z,f,g]),e.useEffect(()=>{const t=u.current;t&&(t.options.theme=U,t.options.minimumContrastRatio=re)},[re,U]),e.useEffect(()=>{if(!(!$||!H))return H((t,n)=>{Q.current={cols:t,rows:n};const s=u.current;s&&(s.cols!==t||s.rows!==n)&&s.resize(t,n)}),()=>H(null)},[$,H]),e.useEffect(()=>{if($)return pe((t,n)=>{let s=!1;const w=()=>{s||(s=!0,n())},K=u.current;if(!K){w();return}try{K.write(t,w)}catch{w()}}),()=>{pe(null)}},[$,pe]),e.useEffect(()=>{const t=E.current;if(!t||!$)return;const n=new ResizeObserver(()=>{r()});return n.observe(t),()=>{n.disconnect(),v.current!==null&&(window.cancelAnimationFrame(v.current),v.current=null)}},[$,r]),e.useEffect(()=>{l==="connected"&&u.current&&u.current.focus()},[l]);const Ue=e.useCallback(()=>{l==="connected"&&u.current&&u.current.focus()},[l]),We=l==="error"&&xe==="Relay service is not running",$e=e.useCallback(async()=>{if(V){J(!0);try{await V()&&(M.current&&clearTimeout(M.current),M.current=setTimeout(()=>{M.current=null,y()},500))}finally{J(!1)}}},[V,y]);e.useEffect(()=>()=>{M.current&&(clearTimeout(M.current),M.current=null)},[]);let oe=null;return We?oe=o.jsxs("div",{className:"flex flex-col items-center gap-4 max-w-xs text-center px-4",children:[o.jsx("div",{className:"w-8 h-8 rounded-full bg-amber-500/10 border border-amber-500/20 flex items-center justify-center",children:o.jsx("span",{className:"text-amber-400 text-[14px]",children:"!"})}),o.jsxs("div",{children:[o.jsx("div",{className:"text-[12px] text-foreground font-medium mb-1",children:"Relay service not running"}),o.jsx("div",{className:"text-[11px] text-muted-foreground/80 leading-relaxed",children:V?"Start the relay service to open a terminal session.":"Start the relay service from the Workspace Manager."})]}),o.jsxs("div",{className:"flex items-center gap-2",children:[V&&o.jsx("button",{type:"button",onClick:$e,disabled:B,className:"text-[11px] px-4 py-1.5 rounded-full border border-accent/30 text-accent hover:bg-accent/10 transition-colors font-medium disabled:opacity-50",children:B?"Starting":"Start Service"}),o.jsx("button",{type:"button",onClick:()=>y(),className:"text-[11px] px-3 py-1.5 rounded-full border border-border text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:"Retry"}),p&&o.jsx("button",{type:"button",onClick:p,className:"text-[11px] px-3 py-1.5 rounded-full border border-border text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:"Settings"})]})]}):l==="error"&&xe?oe=o.jsxs("div",{className:"flex flex-col items-center gap-3 max-w-md text-center px-4",children:[o.jsx("div",{className:"w-8 h-8 rounded-full bg-red-500/10 flex items-center justify-center",children:o.jsx("span",{className:"text-red-400 text-sm",children:"!"})}),o.jsx("span",{className:"text-red-400 text-[12px] font-medium",children:"Session failed"}),o.jsx("code",{className:"text-[11px] text-muted-foreground bg-muted/80 px-3 py-2 rounded-md whitespace-pre-wrap leading-relaxed max-h-32 overflow-y-auto w-full text-left",children:xe}),k!==null&&k!==0&&o.jsxs("span",{className:"text-[10px] text-muted-foreground/60",children:["Exit code ",k]}),o.jsx("button",{type:"button",onClick:()=>y(),className:"text-[11px] px-3 py-1 rounded-full border border-cyan-500/30 text-cyan-400 hover:bg-cyan-500/10 transition-colors",children:"Retry"})]}):l==="disconnected"&&!le?oe=o.jsxs("div",{className:"flex flex-col items-center gap-4 max-w-xs text-center px-4",children:[o.jsx("div",{className:"w-8 h-8 rounded-full bg-muted border border-border flex items-center justify-center",children:o.jsx("span",{className:"text-muted-foreground/80 text-[14px]",children:"▷"})}),o.jsxs("div",{children:[o.jsx("div",{className:"text-[12px] text-foreground font-medium mb-1",children:"Terminal relay disconnected"}),o.jsx("div",{className:"text-[11px] text-muted-foreground/80 leading-relaxed",children:"Set working directory and connect."})]}),o.jsxs("form",{className:"w-full",onSubmit:t=>{t.preventDefault(),y()},children:[o.jsx("label",{className:"text-[10px] font-mono text-muted-foreground/80 uppercase tracking-wider mb-1 block text-left",children:"Working Directory"}),o.jsx("input",{type:"text",value:je,onChange:t=>ue(t.target.value),placeholder:"~/dev/my-project",className:"w-full bg-muted/80 border border-border/50 rounded px-3 py-1.5 text-[11px] font-mono text-foreground placeholder:text-muted-foreground/60 outline-none focus:border-accent/40 transition-colors",spellCheck:!1,autoComplete:"off"})]}),Z&&Z.length>0&&o.jsx("div",{className:"w-full grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-[10px] font-mono bg-muted/60 border border-border/40 rounded-md px-3 py-2",children:Z.map(t=>o.jsxs("div",{className:"contents",children:[o.jsx("span",{className:"text-muted-foreground/80",children:t.label}),o.jsx("span",{className:"text-muted-foreground truncate text-left",children:t.value})]},t.label))}),o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("button",{type:"button",onClick:()=>y(),className:"text-[11px] px-4 py-1.5 rounded-full border border-cyan-500/30 text-cyan-400 hover:bg-cyan-500/10 transition-colors font-medium",children:"Connect"}),p&&o.jsx("button",{type:"button",onClick:p,className:"text-[11px] px-3 py-1.5 rounded-full border border-border text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:"Settings"})]})]}):l==="connecting"&&!le&&(oe=o.jsxs("div",{className:"flex flex-col items-center gap-3 text-center",children:[o.jsx("div",{className:"w-6 h-6 border-2 border-muted-foreground/30 border-t-cyan-500 rounded-full animate-spin"}),o.jsx("span",{className:"text-[12px] text-muted-foreground",children:"Connecting to relay"}),o.jsx("button",{type:"button",onClick:()=>{De()},className:"text-[10px] px-3 py-1 rounded-full border border-border text-muted-foreground/80 hover:text-foreground hover:bg-muted transition-colors",children:"Cancel"})]})),o.jsxs("div",{ref:C,className:we?`relative flex flex-col h-full overflow-hidden ${we}`:"relative flex flex-col h-full overflow-hidden",style:ke,role:"application","aria-label":D?`${se} (read only)`:se,"data-readonly":D?"true":void 0,onClick:Ue,onDragOver:F,onDragEnter:h,onDragLeave:i,onDrop:He,children:[oe&&o.jsx("div",{className:"flex items-center justify-center h-full font-mono text-[12px] absolute inset-0 z-10 bg-background/95",children:oe}),he&&o.jsx("div",{className:"absolute inset-0 z-20 flex items-center justify-center bg-cyan-500/10 border-2 border-dashed border-cyan-500/50 rounded pointer-events-none",children:o.jsx("span",{className:"text-cyan-400 font-mono text-sm",children:"Drop image to get path"})}),o.jsx("div",{ref:E,className:"flex-1 min-h-0 min-w-0 overflow-hidden",style:{visibility:oe?"hidden":"visible",backgroundColor:U.background,"--hud-terminal-bg":U.background,"--hud-terminal-fg":U.foreground}})]})}var ot=e.forwardRef(nt);ot.displayName="TerminalRelay";export{it as H,ot as T,Ge as a,Ye as b,lt as u};
@@ -1,2 +0,0 @@
1
- import{c as xe}from"./createLucideIcon-Dv8H8m7J.js";import{r as l,j as s}from"./index-C1VaWNuD.js";import{A as it}from"./arrow-down-BAGkhHA6.js";const ct=[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]],lt=xe("arrow-up-down",ct);const dt=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],ut=xe("arrow-up",dt);const mt=[["path",{d:"m10 17 5-5-5-5",key:"1bsop3"}],["path",{d:"M15 12H3",key:"6jk70r"}],["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}]],Dr=xe("log-in",mt);function V(e){if(typeof window>"u")return null;try{return e==="local"?window.localStorage:window.sessionStorage}catch{return null}}function ft(e,t){const r=V(e);if(!r)return null;try{return r.getItem(t)}catch{return null}}function pt(e,t,r){const n=V(e);if(!n)return!1;try{return n.setItem(t,r),!0}catch{return!1}}function gt(e,t){const r=V(e);if(!r)return!1;try{return r.removeItem(t),!0}catch{return!1}}function ht(e){const t=V(e);if(!t)return[];try{const r=[],n=t.length;for(let a=0;a<n;a++){const o=t.key(a);typeof o=="string"&&r.push(o)}return r}catch{return[]}}var Pe={getItem(e){return ft("local",e)},setItem(e,t){return pt("local",e,t)},removeItem(e){return gt("local",e)},keys(){return ht("local")},isAvailable(){return V("local")!==null}};function xt(e="h",t=12){const r=globalThis.crypto;if(r&&typeof r.randomUUID=="function"){const a=r.randomUUID().replace(/-/g,"").slice(0,t);return e?`${e}_${a}`:a}if(r&&typeof r.getRandomValues=="function"){const a=new Uint8Array(Math.ceil(t/2));r.getRandomValues(a);const o=Array.from(a,c=>c.toString(16).padStart(2,"0")).join("").slice(0,t);return e?`${e}_${o}`:o}const n=Math.random().toString(36).slice(2,2+t);return e?`${e}_${n}`:n}var bt=200,wt=()=>Date.now(),yt=()=>xt("h",12),vt=e=>e instanceof Error?{name:e.name,message:e.message}:{message:String(e)},kt=()=>{const e=globalThis;return e.H_OBSERVABILITY===!0||e.H_DEBUG===!0},jt=class{constructor(){this.sinks=new Map}get size(){return this.sinks.size}add(e,t={}){const r=t.kinds?new Set(t.kinds):null;return this.sinks.set(e,{kinds:r}),()=>{this.sinks.delete(e)}}emit(e){for(const[t,r]of this.sinks)if(!(r.kinds&&!r.kinds.has(e.kind)))try{t(e)}catch{}}},Nt=class{constructor(e){this.owner=e}log(e,t,r={}){const n={id:this.owner.createId(),kind:"log",timestamp:this.owner.now(),level:e,message:t,category:r.category,data:r.data};return this.owner.emit(n),n}debug(e,t){return this.log("debug",e,t)}info(e,t){return this.log("info",e,t)}warn(e,t){return this.log("warn",e,t)}error(e,t){return this.log("error",e,t)}},It=class{constructor(e){this.owner=e}counter(e,t=1,r={}){return this.record("counter",e,t,r)}gauge(e,t,r={}){return this.record("gauge",e,t,r)}timing(e,t,r={}){return this.record("timing",e,t,{...r,unit:r.unit??"ms"})}record(e,t,r,n){const a={id:this.owner.createId(),kind:"metric",timestamp:this.owner.now(),metricType:e,name:t,value:r,category:n.category,unit:n.unit,tags:n.tags,data:n.data};return this.owner.emit(a),a}},St=class{constructor(e,t){this.owner=e,this.event=t,this.ended=!1,this.owner.emit({...t})}end(e){if(this.ended)return this.event;const t=this.owner.now();return this.ended=!0,this.event.endTime=t,this.event.durationMs=Math.max(0,t-this.event.startTime),this.event.status="ok",e&&(this.event.data={...this.event.data,...e}),this.owner.emit({...this.event}),this.event}error(e,t){if(this.ended)return this.event;const r=this.owner.now();return this.ended=!0,this.event.endTime=r,this.event.durationMs=Math.max(0,r-this.event.startTime),this.event.status="error",this.event.error=vt(e),t&&(this.event.data={...this.event.data,...t}),this.owner.emit({...this.event}),this.event}},Et=class{constructor(e){this.owner=e}start(e,t={}){const r=this.owner.createId(),n=this.owner.now(),a={id:r,kind:"span",timestamp:n,name:e,traceId:t.traceId??r,parentId:t.parentId,startTime:n,status:"active",category:t.category,data:t.data};return new St(this.owner,a)}},Tt=class We{constructor(t={}){this.logger=new Nt(this),this.metrics=new It(this),this.trace=new Et(this),this.sinks=new jt,this.buffer=[],this.enabled=t.enabled??!0,this.maxBufferSize=Math.max(0,t.maxBufferSize??bt),this.nowFn=t.now??wt,this.createIdFn=t.createId??yt}static global(t={}){return new We({...t,enabled:t.enabled??kt()})}get isEnabled(){return this.enabled}setEnabled(t){this.enabled=t}subscribe(t,r={}){const n=this.sinks.add(t,r);if(r.replay)for(const a of this.buffer)r.kinds&&!r.kinds.includes(a.kind)||t(a);return n}flush(){const t=this.buffer.slice();return this.buffer.length=0,t}snapshot(){return this.buffer.slice()}emit(t){return this.enabled&&(this.remember(t),this.sinks.size>0&&this.sinks.emit(t)),t}now(){return this.nowFn()}createId(){return this.createIdFn()}remember(t){this.maxBufferSize!==0&&(this.buffer.push(t),this.buffer.length>this.maxBufferSize&&this.buffer.splice(0,this.buffer.length-this.maxBufferSize))}},K=Tt.global(),At=100,Ct=class{constructor(e={}){this.entries=[],this.listeners=new Set,this.maxEntries=Math.max(0,e.maxEntries??At)}snapshot(){return this.entries}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}add(e){return this.maxEntries===0||(this.entries=[e,...this.entries].slice(0,this.maxEntries),this.notify()),e}update(e,t){let r=!1;this.entries=this.entries.map(n=>n.id!==e?n:(r=!0,t(n))),r&&this.notify()}clear(){this.entries.length!==0&&(this.entries=[],this.notify())}notify(){for(const e of this.listeners)try{e()}catch{}}};new Ct;var Ve="hudsonTrace",$t=new Set(["cat","find","fd","grep","head","ls","pwd","rg","sed","tail","wc","which"]),_t=new Set(["branch","diff","ls-files","log","rev-parse","show","status"]),Ke=new Set(["","agent.task"]);function Mt(e,t){const r=e.filter(A),n=Dt(r);if(t==="raw")return{events:r,hiddenDetailEvents:0,collapsedEvents:0,relatedEventsByTrace:n};const a=Lt(r),o=[];let c=0;for(const f of a.values())(t==="details"||Bt(f))&&(c+=f.length,o.push(Ht(f)));return{events:o,hiddenDetailEvents:Math.max(0,r.length-c),collapsedEvents:Math.max(0,c-o.length),relatedEventsByTrace:n}}function A(e){const t=g(e);return e.category==="agent-action"||t.triggeredBy==="agent"||t.source==="workspace-ai"}function g(e){return e.data&&typeof e.data=="object"&&!Array.isArray(e.data)?e.data:{}}function d(e,t){const r=e[t];return typeof r=="string"&&r.trim()?r:null}function C(e){return e.kind==="span"?e.traceId:d(g(e),"traceId")}function be(e){return d(g(e),"parentTraceId")}function q(e){const t=g(e).metadata;if(!ye(t))return null;const r=t.command;return Array.isArray(r)&&r.every(n=>typeof n=="string")?r:typeof r=="string"&&r.trim()?r.trim().split(/\s+/):null}function fe(e){if(!e||e.length===0)return!1;const t=Je(e[0]);if($t.has(t))return!0;if(t==="git"){const r=e.find((n,a)=>a>0&&!n.startsWith("-"));return r?_t.has(r):!1}return!1}function we(e){const t=g(e),r=d(t,"appId")??d(t,"targetAppId");if(r)return r;const n=d(t,"action")??d(t,"playbook")??d(t,"commandId"),a=n&&!Ke.has(n)?zt(n):null;if(a)return a;const o=q(e);for(const c of o??[]){const f=Ge(c);if(f)return f}return null}function Rt(e){const t=g(e)[Ve];if(!ye(t))return null;const r=d(t,"traceId"),n=z(t,"eventCount"),a=z(t,"startedAt"),o=z(t,"endedAt"),c=z(t,"durationMs"),f=z(t,"hiddenDetailEvents")??0;return!r||n===void 0||a===void 0||o===void 0||c===void 0?null:{traceId:r,eventCount:n,startedAt:a,endedAt:o,durationMs:c,hiddenDetailEvents:f}}function Ue(e){if(!e||e.length===0)return null;const t=Je(e[0]),r=e.map(Ft).find(Boolean);return fe(e)?r?`Read ${r} with ${t}`:`Read with ${t}`:t==="bun"&&e[1]==="run"&&e[2]?`Run bun ${e[2]}`:e.slice(0,4).join(" ")}function He(e){return!e||e==="agent.task"?"Agent task":e.replace(/^hudson\./,"").replace(/[._:-]+/g," ").replace(/\s+/g," ").trim().split(" ").map((r,n)=>n===0?Pt(r):r).join(" ")}function Lt(e){const t=new Map;for(const r of e){const n=C(r)??r.id,a=t.get(n);a?a.push(r):t.set(n,[r])}return t}function Dt(e){const t=new Map,r=(n,a)=>{if(!n)return;const o=t.get(n);o?o.some(c=>c.id===a.id)||o.push(a):t.set(n,[a])};for(const n of e)r(C(n)??n.id,n),r(be(n),n),r(n.kind==="span"?n.parentId??null:null,n);for(const n of t.values())n.sort((a,o)=>a.timestamp-o.timestamp);return t}function Ht(e){const t=[...e].sort((c,f)=>c.timestamp-f.timestamp),r=le(t,c=>ce(c)===3)??le(t,c=>ce(c)===2)??le(t,c=>ce(c)===1)??t[t.length-1],n=C(r)??r.id,a=t[0]?.timestamp??r.timestamp,o=t[t.length-1]?.timestamp??r.timestamp;return{...r,data:{...g(r),[Ve]:{traceId:n,eventCount:t.length,startedAt:a,endedAt:o,durationMs:Math.max(0,o-a),hiddenDetailEvents:Math.max(0,t.length-1)}}}}function Bt(e){return e.every(t=>be(t))?!1:e.some(t=>{if(t.kind==="span")return!0;const r=g(t),n=d(r,"action")??d(r,"playbook")??"",a=!Ke.has(n),o=q(t);return a||d(r,"commandId")||we(t)&&!o||Ot(r)&&!fe(o)?!0:!!(o&&!fe(o))})}function Ot(e){const t=e.args;return ye(t)&&typeof t.prompt=="string"&&t.prompt.trim().length>0}function ce(e){if(e.kind==="span")return e.status==="error"?3:e.status==="ok"?2:e.status==="active"?1:0;const t=d(g(e),"status")??(e.kind==="log"?e.level:void 0);return t==="failed"||t==="error"?3:t==="completed"||t==="ok"?2:t==="started"||t==="active"?1:0}function le(e,t){for(let r=e.length-1;r>=0;r--)if(t(e[r]))return e[r]}function zt(e){if(!e)return null;const[t]=e.split(/[.:_-]/);return t||null}function Ge(e){const t=e.match(/(?:^|\/)app\/apps\/([^/\s]+)/);return t?t[1]:null}function Ft(e){const t=Ge(e);return t||null}function Je(e){return e.split("/").pop()??e}function ye(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function z(e,t){const r=e[t];return typeof r=="number"&&Number.isFinite(r)?r:void 0}function Pt(e){return e&&`${e[0].toUpperCase()}${e.slice(1)}`}var Wt=l.createContext(null);function Vt(){return l.useContext(Wt)}function Kt(e){const t=Vt();return!t||e.startsWith("inst:")||e.startsWith("hudson.ws.")?e:`inst:${t.instanceId}:${e}`}function Ut(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&typeof e.__v=="number"&&"value"in e}function Gt(e,t){const r=Pe.getItem(e);if(!r)return;let n;try{n=JSON.parse(r)}catch{return}const a=t?.version;if(a===void 0)return n;const[o,c]=Ut(n)?[n.value,n.__v]:[n,0];if(c===a)return o;if(t?.migrate)try{return t.migrate(o,c)}catch{return}}function Jt(e,t,r){let n;try{n=JSON.stringify(r===void 0?t:{__v:r,value:t})}catch{return}if(typeof n=="string"&&Pe.setItem(e,n))try{window.dispatchEvent(new CustomEvent("hudson:saved",{detail:{key:e}}))}catch{}}var Xt=()=>()=>{},Yt=()=>!0,qt=()=>!1;function Qt(){return l.useSyncExternalStore(Xt,Yt,qt)}function Zt(e,t,r={}){const n=Qt(),a=Kt(e),o=r.enabled??!0,{version:c}=r,[f,$]=l.useState(t),U=l.useRef(!1);if(n&&o&&!U.current){U.current=!0;const _=Gt(a,r);_!==void 0&&$(_)}return l.useEffect(()=>{!n||!o||Jt(a,f,c)},[a,f,n,o,c]),[f,$]}var er=["debug","info","warn","error"],tr=["log","metric","span"],rr="hudson:open-app",de=340,Y=440,Be=900,nr=420,sr="hudson.hud-logger.inspector-width",ar=1,Oe={key:"time",direction:"desc"},ze="grid-cols-[62px_64px_76px_58px_72px_112px_128px_minmax(260px,1fr)_92px]";function or(e){return typeof e!="number"||e===380?Y:e}function Xe(e=K,t={}){const r=t.maxEvents??200,[n,a]=l.useState(()=>e.snapshot().slice(-r).reverse());return l.useEffect(()=>{const o=()=>{a(e.snapshot().slice(-r).reverse())},c=e.subscribe(o);return o(),c},[r,e]),n}function Ye(e){const t=new Map;for(const r of e){if(r.kind!=="span")continue;(!t.get(r.id)||r.status!=="active")&&t.set(r.id,r.status)}return{total:e.length,errors:e.filter(r=>r.kind==="log"&&r.level==="error").length,warnings:e.filter(r=>r.kind==="log"&&r.level==="warn").length,agentActions:e.filter(A).length,activeSpans:Array.from(t.values()).filter(r=>r==="active").length,lastEvent:e[0]??null}}function ir(e=K,t={}){const r=Xe(e,t);return l.useMemo(()=>Ye(r),[r])}function Hr({observability:e=K,maxEvents:t=200,label:r="Logs",className:n="",showCounts:a=!1}){const o=ir(e,{maxEvents:t}),c=o.errors>0?"red":o.warnings>0||o.activeSpans>0?"amber":"emerald";return s.jsxs("span",{className:`inline-flex min-w-0 items-center gap-2 font-mono text-[9px] font-light uppercase tracking-[0.18em] ${Tr(c)} ${n}`,title:`${o.total} events, ${o.errors} errors, ${o.activeSpans} active spans`,children:[s.jsx("span",{className:`h-1.5 w-1.5 rounded-full ${Ar(c)}`}),s.jsx("span",{children:r}),a&&o.errors>0?s.jsxs("span",{className:"tabular-nums font-semibold",children:[o.errors," err"]}):a&&o.warnings>0?s.jsxs("span",{className:"tabular-nums",children:[o.warnings," warn"]}):null]})}function Br({observability:e=K,events:t,replayEvents:r,maxEvents:n=200,title:a="HudLogger",className:o="",emptyMessage:c="No events match the current filters.",showHeader:f=!0,showInspector:$=!0,initialTail:U=!0,initialScope:_="all"}){const Q=Xe(e,{maxEvents:n}),M=l.useMemo(()=>t?t.slice(0,n):!r||r.length===0?Q:Er(r,Q,n),[t,r,Q,n]),[Qe,Ze]=l.useState(null),[R,je]=l.useState("all"),[L,Ne]=l.useState("all"),[v,Ie]=l.useState(_),[E,Z]=l.useState(_==="agent-actions"?"actions":"raw"),[G,et]=l.useState(""),[D,ee]=l.useState(U),[h,Se]=l.useState(Oe),[te,Ee]=l.useState(null),[re,T]=Zt(sr,Y,{version:ar,migrate:or}),ne=l.useRef(null),Te=l.useRef(null),[Ae,Ce]=l.useState(!1),k=l.useMemo(()=>Mt(M,v==="agent-actions"?E:"raw"),[E,M,v]),$e=v==="agent-actions"?k.events:M,_e=l.useMemo(()=>$e.filter(i=>{if(L!=="all"&&i.kind!==L||R!=="all"&&(i.kind!=="log"||i.level!==R))return!1;if(!G.trim())return!0;const u=C(i)??i.id,p=k.relatedEventsByTrace.get(u)??[];return wr(i,p).includes(G.trim().toLowerCase())}),[k.relatedEventsByTrace,L,R,G,$e]),w=l.useMemo(()=>Nr(_e,h),[_e,h]),tt=D&&h.key==="time"&&h.direction==="desc"?w[0]?j(w[0]):null:Qe,x=w.find(i=>j(i)===tt)??w[0]??null,Me=x?C(x)??x.id:null,rt=Me?k.relatedEventsByTrace.get(Me)??[]:[],H=l.useMemo(()=>Ye(M),[M]),se=l.useCallback(async(i,u)=>{await Sr(i)&&(Ee(u),window.setTimeout(()=>{Ee(m=>m===u?null:m)},1200))},[]),Re=l.useCallback(i=>{ee(!1),Ze(j(i))},[]),I=l.useCallback(i=>{ee(!1),Se(u=>u.key!==i?{key:i,direction:jr(i)}:{key:i,direction:u.direction==="asc"?"desc":"asc"})},[]),nt=l.useCallback(()=>{D||Se(Oe),ee(i=>!i)},[D]),Le=l.useCallback(i=>{const u=pe(i);!u||typeof window>"u"||window.dispatchEvent(new CustomEvent(rr,{detail:{appId:u,workspaceId:pr(i),source:"hud-logger"}}))},[]),B=l.useCallback((i,u)=>{const p=Math.min(Be,Math.max(de,u-nr));return Math.max(de,Math.min(p,i))},[]),st=l.useCallback(i=>{if(i.button!==0)return;const u=ne.current,p=Te.current;if(!u||!p)return;i.preventDefault();const m=i.clientX,O=p.getBoundingClientRect().width;Ce(!0),document.body.style.cursor="col-resize",document.body.style.userSelect="none";const De=ae=>{const oe=u.getBoundingClientRect().width,ie=B(O+(m-ae.clientX),oe);p.style.setProperty("--inspector-width",`${ie}px`)},J=ae=>{const oe=u.getBoundingClientRect().width,ie=B(O+(m-ae.clientX),oe);T(ie),Ce(!1),document.body.style.cursor="",document.body.style.userSelect="",window.removeEventListener("pointermove",De),window.removeEventListener("pointerup",J),window.removeEventListener("pointercancel",J)};window.addEventListener("pointermove",De),window.addEventListener("pointerup",J),window.addEventListener("pointercancel",J)},[B,T]),at=l.useCallback(()=>{T(Y)},[T]);l.useEffect(()=>{if(typeof window>"u")return;const i=ne.current;if(!i)return;const u=new ResizeObserver(()=>{const p=i.getBoundingClientRect().width;T(m=>{const O=B(m,p);return O===m?m:O})});return u.observe(i),()=>u.disconnect()},[B,T]);const ot=l.useMemo(()=>({"--inspector-width":`${re}px`}),[re]);return s.jsxs("section",{ref:ne,className:`flex min-h-[520px] flex-col overflow-hidden rounded-md border border-border bg-background text-foreground lg:flex-row ${o}`,children:[s.jsxs("main",{className:"flex min-h-0 min-w-0 flex-col border-b border-border/70 lg:flex-1 lg:border-b-0",children:[f&&s.jsxs("div",{className:"shrink-0 border-b border-border/70 bg-card/80 px-3 py-2.5",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsx(lr,{ariaLabel:"copy filtered table",copied:te==="table",disabled:w.length===0,label:"copy all",onClick:()=>{se(vr(w),"table")}}),s.jsxs("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1 font-mono text-[11px] font-normal uppercase tracking-[0.14em] text-muted-foreground",children:[s.jsx("span",{children:a}),s.jsxs("span",{className:"text-accent",children:[w.length," shown"]}),s.jsxs("span",{children:[H.total," buffered"]}),s.jsxs("span",{children:[H.agentActions," agent"]}),s.jsxs("span",{children:[H.errors," errors"]}),H.activeSpans>0&&s.jsxs("span",{className:"text-warning",children:[H.activeSpans," active"]}),v==="agent-actions"&&E!=="raw"&&k.hiddenDetailEvents>0&&s.jsxs("span",{children:[k.hiddenDetailEvents," detail hidden"]}),v==="agent-actions"&&k.collapsedEvents>0&&s.jsxs("span",{children:[k.collapsedEvents," collapsed"]})]})]}),s.jsxs("label",{className:"mt-2 flex min-w-0 items-center gap-2 rounded-md border border-border/70 bg-muted/20 px-2.5 py-2 font-mono text-[13px] font-normal text-accent transition-colors focus-within:border-accent/40 focus-within:bg-muted/30",children:[s.jsx("span",{className:"shrink-0 text-success",children:"$"}),s.jsx("input",{value:G,onChange:i=>et(i.target.value),placeholder:"grep message, category, payload",className:"min-w-0 flex-1 bg-transparent text-foreground outline-none placeholder:text-muted-foreground"})]}),s.jsxs("details",{className:"mt-2 text-left",children:[s.jsx("summary",{className:"cursor-pointer font-mono text-[11px] font-normal uppercase tracking-[0.14em] text-muted-foreground hover:text-foreground",children:"filters / controls"}),s.jsxs("div",{className:"mt-3 grid gap-3 border-t border-border/60 pt-3 md:grid-cols-[1fr_1fr_1fr_1fr_auto]",children:[s.jsxs(X,{label:"Scope",children:[s.jsx(y,{active:v==="all",onClick:()=>Ie("all"),children:"all"}),s.jsx(y,{active:v==="agent-actions",onClick:()=>Ie("agent-actions"),children:"agent actions"})]}),v==="agent-actions"?s.jsxs(X,{label:"Rows",children:[s.jsx(y,{active:E==="actions",onClick:()=>Z("actions"),children:"actions"}),s.jsx(y,{active:E==="details",onClick:()=>Z("details"),children:"details"}),s.jsx(y,{active:E==="raw",onClick:()=>Z("raw"),children:"raw"})]}):s.jsx("div",{}),s.jsxs(X,{label:"Kind",children:[s.jsx(y,{active:L==="all",onClick:()=>Ne("all"),children:"all"}),tr.map(i=>s.jsx(y,{active:L===i,onClick:()=>Ne(i),children:i},i))]}),s.jsxs(X,{label:"Level",children:[s.jsx(y,{active:R==="all",onClick:()=>je("all"),children:"all"}),er.map(i=>s.jsx(y,{active:R===i,onClick:()=>je(i),children:i},i))]}),s.jsx("div",{className:"flex flex-wrap items-end gap-2",children:s.jsxs("button",{type:"button",onClick:nt,className:`rounded-md border px-2.5 py-1.5 font-mono text-[11px] font-normal uppercase tracking-[0.12em] transition-colors ${D?"border-accent/30 bg-accent/10 text-accent":"border-border/70 bg-muted/20 text-muted-foreground hover:border-border hover:text-foreground"}`,children:["tail ",D?"on":"off"]})})]})]})]}),s.jsx("div",{className:"max-h-[650px] overflow-auto lg:max-h-none lg:flex-1 lg:min-h-0",children:s.jsxs("div",{className:"min-w-[980px] font-mono text-[11px] font-normal",children:[s.jsxs("div",{className:`sticky top-0 z-10 grid min-h-8 ${ze} items-center border-b border-border/70 bg-card px-3 py-1.5 font-medium uppercase tracking-[0.12em] text-muted-foreground`,children:[s.jsx("span",{className:"sticky left-0 bg-card pr-2",children:"Copy"}),s.jsx("span",{children:"Open"}),s.jsx(S,{column:"time",label:"Time",sort:h,onSort:I}),s.jsx(S,{column:"kind",label:"Kind",sort:h,onSort:I}),s.jsx(S,{column:"level",label:"Level",sort:h,onSort:I}),s.jsx(S,{column:"category",label:"Category",sort:h,onSort:I}),s.jsx(S,{column:"target",label:"Target",sort:h,onSort:I}),s.jsx(S,{column:"message",label:"Message",sort:h,onSort:I}),s.jsx(S,{column:"id",label:"Id",sort:h,onSort:I})]}),w.map(i=>{const u=pe(i),p=j(i);return s.jsxs("div",{role:"button",tabIndex:0,onClick:()=>Re(i),onKeyDown:m=>{(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),Re(i))},className:`grid min-h-[34px] w-full ${ze} items-center border-b border-l-2 px-3 py-2 text-left transition-colors ${x&&j(x)===p?"border-b-border/40 border-l-accent bg-accent/[0.08]":"border-b-border/40 border-l-transparent hover:bg-muted/30"}`,children:[s.jsx("button",{type:"button","aria-label":`copy row ${ge(i.id)}`,onClick:m=>{m.stopPropagation(),se(he(i).join(" "),`row:${p}`)},className:`sticky left-0 z-[1] justify-self-start rounded border border-border/70 px-1.5 py-0.5 font-mono text-[10px] font-normal uppercase tracking-[0.1em] text-muted-foreground transition-colors hover:border-accent/30 hover:text-accent ${x&&j(x)===p?"bg-accent/[0.08]":"bg-background"}`,children:te===`row:${p}`?"copied":"copy"}),u?s.jsx("button",{type:"button","aria-label":`open ${P(i)}`,onClick:m=>{m.stopPropagation(),Le(i)},className:"justify-self-start rounded border border-border/70 bg-muted/20 px-1.5 py-0.5 font-mono text-[10px] font-normal uppercase tracking-[0.1em] text-muted-foreground transition-colors hover:border-accent/30 hover:text-accent",children:"open"}):s.jsx("span",{className:"text-muted-foreground/45",children:"-"}),s.jsx("span",{className:"tabular-nums text-muted-foreground",children:ke(i)}),s.jsx("span",{className:"uppercase tracking-[0.13em] text-muted-foreground",children:i.kind}),s.jsx("span",{className:`uppercase tracking-[0.13em] ${ve(i)}`,children:b(i)}),s.jsx("span",{className:"truncate uppercase tracking-[0.13em] text-muted-foreground",children:i.category??"-"}),s.jsx("span",{className:"truncate font-sans text-[12px] font-normal normal-case tracking-normal text-muted-foreground",children:P(i)}),s.jsx("span",{className:"truncate font-sans text-[13px] font-normal normal-case tracking-normal text-foreground",children:N(i)}),s.jsx("span",{className:"truncate text-muted-foreground",children:ge(i.id)})]},p)}),w.length===0&&s.jsx("div",{className:"border-b border-border/40 px-3 py-5 font-sans text-[13px] text-muted-foreground",children:c})]})})]}),$&&s.jsxs(s.Fragment,{children:[s.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":"Resize payload inspector","aria-valuenow":re,"aria-valuemin":de,"aria-valuemax":Be,title:"Drag to resize · Double-click to reset",onPointerDown:st,onDoubleClick:at,className:`group hidden shrink-0 cursor-col-resize items-stretch justify-center transition-colors lg:flex lg:w-[5px] ${Ae?"bg-accent/15":"hover:bg-accent/10"}`,children:s.jsx("div",{className:`w-px transition-colors ${Ae?"bg-accent/80":"bg-border group-hover:bg-accent/60"}`})}),s.jsx("aside",{ref:Te,style:ot,className:"flex w-full shrink-0 flex-col bg-background lg:w-[var(--inspector-width)]",children:s.jsx(cr,{copied:x?te===`inspector:${j(x)}`:!1,event:x,relatedEvents:rt,onCopyRow:i=>{se(he(i).join(" "),`inspector:${j(i)}`)},onOpenTarget:Le})})]})]})}function cr({copied:e,event:t,relatedEvents:r,onCopyRow:n,onOpenTarget:a}){const o=t?pe(t):null;return s.jsxs("div",{className:"flex min-h-0 flex-1 flex-col",children:[s.jsxs("div",{className:"flex shrink-0 items-center justify-between gap-2 border-b border-border/70 bg-card/40 px-3 py-2.5 lg:px-4",children:[s.jsx("div",{className:"font-mono text-[11px] font-medium uppercase tracking-[0.15em] text-foreground/80",children:"Payload inspector"}),t?s.jsxs("div",{className:"flex items-center gap-2",children:[o?s.jsx("button",{type:"button",onClick:()=>a(t),className:"rounded-md border border-border/70 bg-muted/20 px-2 py-1 font-mono text-[11px] font-normal uppercase tracking-[0.11em] text-muted-foreground transition hover:border-accent/30 hover:text-accent",children:"open app"}):null,s.jsx("button",{type:"button",onClick:()=>n(t),className:"rounded-md border border-border/70 bg-muted/20 px-2 py-1 font-mono text-[11px] font-normal uppercase tracking-[0.11em] text-muted-foreground transition hover:border-accent/30 hover:text-accent",children:e?"copied":"copy row"}),s.jsx("div",{className:`font-mono text-[11px] uppercase tracking-[0.12em] ${ve(t)}`,children:b(t)})]}):null]}),s.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-3 py-3 lg:px-4 lg:py-4",children:t?s.jsxs("div",{className:"grid gap-3",children:[s.jsxs("div",{className:"overflow-hidden rounded-md border border-accent/25 bg-accent/[0.07]",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-2 border-b border-accent/15 px-3 py-2",children:[s.jsx(dr,{event:t}),s.jsx("span",{className:"font-mono text-[11px] uppercase tracking-[0.12em] text-muted-foreground",children:t.kind})]}),s.jsxs("div",{className:"px-3 py-2",children:[s.jsx("div",{className:"font-mono text-[11px] font-medium uppercase tracking-[0.13em] text-accent",children:"selected event"}),s.jsx("div",{className:"mt-1 break-words text-[14px] font-normal leading-5 text-foreground",children:N(t)})]})]}),gr(t).map(c=>s.jsx(ur,{section:c},c.title)),s.jsx(mr,{events:r,selectedId:t.id}),s.jsx(ue,{label:"payload.data",value:t.data??{}}),t.kind==="metric"&&t.tags?s.jsx(ue,{label:"metric.tags",value:t.tags}):null,t.kind==="span"&&t.error?s.jsx(ue,{label:"span.error",value:t.error}):null]}):s.jsx("div",{className:"rounded-md border border-border/60 bg-muted/20 p-4 text-[13px] leading-6 text-muted-foreground",children:"No event selected."})})]})}function X({label:e,children:t}){return s.jsxs("div",{children:[s.jsx("div",{className:"font-mono text-[11px] uppercase tracking-[0.14em] text-muted-foreground",children:e}),s.jsx("div",{className:"mt-2 flex flex-wrap gap-2",children:t})]})}function y({active:e,onClick:t,children:r}){return s.jsx("button",{type:"button",onClick:t,className:`rounded-md border px-2 py-1 font-mono text-[11px] uppercase tracking-[0.1em] transition-colors ${e?"border-accent/30 bg-accent/10 text-accent":"border-border/70 bg-muted/20 text-muted-foreground hover:border-border hover:text-foreground"}`,children:r})}function S({column:e,label:t,sort:r,onSort:n}){const a=r.key===e,o=a?r.direction==="asc"?ut:it:lt,c=r.direction==="asc"?"ascending":"descending";return s.jsxs("button",{type:"button","aria-label":`Sort by ${t}${a?`, currently ${c}`:""}`,"aria-pressed":a,onClick:()=>n(e),className:`flex min-w-0 items-center gap-1.5 text-left uppercase tracking-[0.14em] transition ${a?"text-accent":"text-muted-foreground hover:text-foreground"}`,children:[s.jsx("span",{className:"min-w-0 truncate",children:t}),s.jsx(o,{size:10,strokeWidth:1.75,"aria-hidden":"true",className:"shrink-0"})]})}function lr({ariaLabel:e,copied:t,disabled:r=!1,label:n,onClick:a}){return s.jsx("button",{type:"button","aria-label":e,disabled:r,onClick:a,className:"rounded-md border border-border/70 bg-muted/20 px-2 py-1 font-mono text-[11px] font-normal uppercase tracking-[0.11em] text-muted-foreground transition hover:border-accent/30 hover:text-accent disabled:cursor-not-allowed disabled:opacity-40",children:t?"copied":n})}function dr({event:e}){const t=b(e),r=F(e),n=r==="red"?"border-destructive/30 bg-destructive/10 text-destructive":r==="amber"?"border-warning/30 bg-warning/10 text-warning":r==="emerald"?"border-success/30 bg-success/10 text-success":"border-accent/30 bg-accent/10 text-accent";return s.jsx("span",{className:`rounded-full border px-2 py-0.5 font-mono text-[10px] uppercase tracking-[0.11em] ${n}`,children:t})}function ur({section:e}){return s.jsxs("section",{className:"overflow-hidden rounded-md border border-border/60 bg-muted/15",children:[s.jsx("div",{className:"border-b border-border/50 bg-muted/30 px-3 py-2 font-mono text-[10px] font-medium uppercase tracking-[0.14em] text-foreground/70",children:e.title}),s.jsx("div",{className:"divide-y divide-border/40",children:e.rows.map(t=>s.jsx(fr,{row:t},`${e.title}-${t.label}`))})]})}function mr({events:e,selectedId:t}){return e.length<=1?null:s.jsxs("section",{className:"overflow-hidden rounded-md border border-border/60 bg-muted/15",children:[s.jsxs("div",{className:"flex items-center justify-between border-b border-border/50 bg-muted/30 px-3 py-2",children:[s.jsx("div",{className:"font-mono text-[10px] font-medium uppercase tracking-[0.14em] text-foreground/70",children:"Trace lines"}),s.jsx("div",{className:"font-mono text-[10px] font-light uppercase tracking-[0.12em] text-muted-foreground",children:e.length})]}),s.jsx("div",{className:"divide-y divide-border/40",children:e.map(r=>{const n=Ue(q(r));return s.jsxs("div",{className:`grid grid-cols-[74px_82px_minmax(0,1fr)] gap-2 px-3 py-1.5 ${r.id===t?"bg-accent/10":""}`,children:[s.jsx("span",{className:"font-mono text-[10px] tabular-nums text-muted-foreground",children:ke(r)}),s.jsx("span",{className:`font-mono text-[10px] uppercase tracking-[0.11em] ${ve(r)}`,children:b(r)}),s.jsx("span",{className:"min-w-0 truncate text-[12px] text-foreground/80",children:n??N(r)})]},`${r.id}-${r.timestamp}`)})})]})}function fr({row:e}){return s.jsxs("div",{className:"grid grid-cols-[96px_minmax(0,1fr)] items-start gap-3 px-3 py-2",children:[s.jsx("div",{className:"font-mono text-[10px] font-light uppercase tracking-[0.12em] text-muted-foreground",children:e.label}),s.jsx("div",{className:`min-w-0 break-words text-[12px] leading-5 ${e.mono?"font-mono tabular-nums":"font-sans"} ${hr(e.tone)}`,children:e.value})]})}function ue({label:e,value:t}){return s.jsxs("div",{className:"overflow-hidden rounded-md border border-border/60 bg-muted/15",children:[s.jsx("div",{className:"border-b border-border/50 bg-muted/30 px-3 py-2 font-mono text-[10px] font-medium uppercase tracking-[0.14em] text-foreground/70",children:e}),s.jsx("pre",{className:"max-h-[360px] overflow-auto whitespace-pre-wrap break-words p-3 font-mono text-[12px] font-light leading-5 text-foreground/80 lg:max-h-none lg:overflow-x-auto",children:JSON.stringify(t,null,2)})]})}function pe(e){return we(e)}function pr(e){const t=g(e);return d(t,"workspaceId")??d(t,"targetWorkspaceId")}function P(e){const t=g(e),r=we(e);return d(t,"appName")??d(t,"appId")??r??d(t,"workspaceName")??d(t,"workspaceId")??d(t,"serviceId")??d(t,"target")??"-"}function gr(e){const t=[{title:"Identity",rows:[{label:"id",value:e.id,mono:!0},{label:"kind",value:e.kind,tone:"cyan",mono:!0},{label:"category",value:e.category??"none",mono:!0}]},{title:"Signal",rows:[{label:xr(e),value:b(e),tone:F(e),mono:!0},{label:"timestamp",value:me(e.timestamp),mono:!0}]}];if(A(e)){const r=g(e),n=C(e),a=be(e);t.push({title:"Agent Action",rows:[{label:"source",value:d(r,"source")??"agent",mono:!0},{label:"status",value:d(r,"status")??b(e),tone:F(e),mono:!0},{label:"action",value:d(r,"action")??N(e),mono:!0},{label:"target",value:P(e),mono:!0},{label:"workspace",value:d(r,"workspaceName")??d(r,"workspaceId")??"unknown",mono:!0},...n?[{label:"trace",value:n,mono:!0}]:[],...a?[{label:"parent",value:a,mono:!0}]:[]]});const o=yr(e),c=Rt(e);(o||c)&&t.push({title:"Request",rows:[...o?[{label:"prompt",value:o}]:[],...c?[{label:"lines",value:String(c.eventCount),mono:!0},{label:"duration",value:`${c.durationMs}ms`,mono:!0}]:[]]})}return e.kind==="log"&&t.push({title:"Log",rows:[{label:"message",value:e.message},{label:"level",value:e.level,tone:F(e),mono:!0}]}),e.kind==="metric"&&t.push({title:"Metric",rows:[{label:"name",value:e.name},{label:"type",value:e.metricType,tone:"emerald",mono:!0},{label:"value",value:br(e),tone:"emerald",mono:!0},{label:"unit",value:e.unit??"none",mono:!0}]}),e.kind==="span"&&t.push({title:"Trace",rows:[{label:"name",value:e.name},{label:"trace id",value:e.traceId,mono:!0},{label:"parent id",value:e.parentId??"none",mono:!0},{label:"status",value:e.status,tone:F(e),mono:!0},{label:"duration",value:e.durationMs===void 0?"active":`${e.durationMs}ms`,mono:!0},{label:"started",value:me(e.startTime),mono:!0},{label:"ended",value:e.endTime===void 0?"pending":me(e.endTime),mono:!0}]}),t}function N(e){if(e.kind==="log"){if(A(e)){const t=g(e),r=Ue(q(e));if(r){const c=d(t,"status");return c?`${r} ${c}`:r}const n=d(t,"action")??d(t,"commandId")??e.message,a=d(t,"status"),o=He(n);return a?`${o} ${a}`:o}return e.message}return A(e)?He(e.name):e.name}function b(e){return e.kind==="log"?A(e)?d(g(e),"status")??e.level:e.level:e.kind==="metric"?e.metricType:e.status}function ve(e){const t=b(e);return t==="error"||t==="failed"?"text-destructive":t==="warn"||t==="active"||t==="started"?"text-warning":e.kind==="metric"||t==="ok"||t==="completed"?"text-success":"text-accent"}function F(e){const t=b(e);return t==="error"||t==="failed"?"red":t==="warn"||t==="active"||t==="started"?"amber":e.kind==="metric"||t==="ok"||t==="completed"?"emerald":"cyan"}function hr(e="neutral"){return e==="red"?"text-destructive":e==="amber"?"text-warning":e==="emerald"?"text-success":e==="cyan"?"text-accent":"text-foreground"}function xr(e){return e.kind==="log"?"level":e.kind==="metric"?"type":"status"}function br(e){return`${e.value}${e.unit?` ${e.unit}`:""}`}function me(e){const t=new Date(e);return`${t.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}.${String(t.getMilliseconds()).padStart(3,"0")}`}function ge(e){return e.length>10?e.slice(-10):e}function j(e){return e.kind==="span"?`${e.kind}:${e.id}:${e.status}:${e.endTime??"active"}`:`${e.kind}:${e.id}:${e.timestamp}`}function ke(e){return new Date(e.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}function he(e){return[ke(e),e.kind,b(e),e.category??"",P(e),N(e),e.id,JSON.stringify(e.data??{})].map(kr)}function wr(e,t){return[N(e),e.category??"",JSON.stringify(e.data??{}),...t.map(n=>`${N(n)} ${JSON.stringify(n.data??{})}`)].join(" ").toLowerCase()}function yr(e){const r=g(e).args,n=r&&typeof r=="object"&&!Array.isArray(r)?r.prompt:void 0;return typeof n!="string"||!n.trim()?null:n.replace(/\s+/g," ").trim().slice(0,360)}function vr(e){return[["time","kind","signal","category","target","message","id","payload"].join(" "),...e.map(t=>he(t).join(" "))].join(`
2
- `)}function kr(e){return e.replace(/\s+/g," ").trim()}function jr(e){return e==="time"?"desc":"asc"}function Nr(e,t){const r=t.direction==="asc"?1:-1;return e.map((n,a)=>({event:n,index:a})).sort((n,a)=>{const o=Ir(Fe(n.event,t.key),Fe(a.event,t.key));return o===0?n.index-a.index:o*r}).map(({event:n})=>n)}function Fe(e,t){switch(t){case"time":return e.timestamp;case"kind":return e.kind;case"level":return b(e);case"category":return e.category??"";case"target":return P(e);case"message":return N(e);case"id":return ge(e.id)}}function Ir(e,t){return typeof e=="number"&&typeof t=="number"?e-t:String(e).localeCompare(String(t),void 0,{numeric:!0,sensitivity:"base"})}async function Sr(e){if(navigator.clipboard?.writeText)try{return await navigator.clipboard.writeText(e),!0}catch{}const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly","true"),t.style.position="fixed",t.style.left="-9999px",t.style.top="0",document.body.appendChild(t),t.focus(),t.select();try{return document.execCommand("copy")}finally{document.body.removeChild(t)}}function Er(e,t,r){const n=new Set,a=[];for(const o of t)n.has(o.id)||(n.add(o.id),a.push(o));for(let o=e.length-1;o>=0;o--){const c=e[o];n.has(c.id)||(n.add(c.id),a.push(c))}return a.sort((o,c)=>c.timestamp-o.timestamp),a.slice(0,r)}function Tr(e){return e==="red"?"text-destructive":e==="amber"?"text-warning":"text-success"}function Ar(e){return e==="red"?"bg-destructive":e==="amber"?"bg-warning":"bg-success"}function qe(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Cr(e,t){const r=e.toLowerCase();return r.includes("secret")||r.includes("token")||r.includes("password")||r.includes("apikey")||r.includes("api_key")||t[0]==="set_environment_variable"&&r==="value"}function W(e,t=[]){if(Array.isArray(e))return e.map(n=>W(n,t));if(!qe(e))return e;const r={};for(const[n,a]of Object.entries(e))r[n]=Cr(n,t)?"[redacted]":W(a,[...t,n]);return r}function $r(e){if(e)return e instanceof Error?{name:e.name,message:e.message}:qe(e)?W(e):{message:String(e)}}function Or(e,t=K){const r=e.status??"started",n=r==="failed"?"error":"info";return t.logger[n]("hudson.agent.action",{category:"agent-action",data:{triggeredBy:"agent",source:e.source??"external",origin:e.origin,actor:e.actor,status:r,toolset:e.toolset,chatId:e.chatId,action:e.action,commandId:e.commandId,appId:e.appId,appName:e.appName,workspaceId:e.workspaceId,workspaceName:e.workspaceName,traceId:e.traceId,parentTraceId:e.parentTraceId,args:e.args?W(e.args,[e.action??""]):void 0,metadata:e.metadata?W(e.metadata):void 0,error:$r(e.error)}})}export{K as H,Dr as L,Br as a,Hr as b,xt as c,Or as l,Zt as u};
@@ -1 +0,0 @@
1
- const i=new Set(["blocked","unavailable","error","missing","not_ready","unready","retired"]),c=new Set(["working","active","running","in_turn"]),s=new Set(["in_flight","queued","waking","dispatching"]),l=new Set(["needs_attention","needs-attention"]);function o(e){return!!(e?.retiredFromFleet||e?.staleLocalRegistration)}function r(e,n){if(o(n))return"blocked";const t=e?.trim().toLowerCase();return t?c.has(t)?"in_turn":s.has(t)?"in_flight":l.has(t)?"needs_attention":i.has(t)?"blocked":"callable":"callable"}function u(e,n){switch(r(e,n)){case"in_turn":case"in_flight":return"working";case"needs_attention":return"working";case"callable":return"available";case"blocked":return"offline"}}function f(e,n){return r(e,n)==="in_turn"}function _(e,n){const t=r(e,n);return t==="in_turn"||t==="in_flight"}function d(e,n){return r(e,n)==="callable"}function g(e,n){return r(e,n)!=="blocked"}function b(e,n){switch(r(e,n)){case"in_turn":return"In turn";case"in_flight":return"In flight";case"needs_attention":return"Needs attention";case"callable":return"Callable";case"blocked":return"Blocked"}}function h(e,n){switch(r(e,n)){case"needs_attention":return 0;case"in_turn":return 1;case"in_flight":return 2;case"callable":return 3;case"blocked":return 4}}const a=["#6366f1","#8b5cf6","#0ea5e9","#14b8a6","#f59e0b","#ef4444","#ec4899","#10b981"];function A(e){let n=0;for(let t=0;t<e.length;t++)n=(n<<5)-n+e.charCodeAt(t)|0;return a[Math.abs(n)%a.length]}function S(e){switch(r(e)){case"in_turn":return"var(--green)";case"in_flight":return"var(--accent)";case"needs_attention":return"var(--amber)";case"callable":return"color-mix(in srgb, var(--accent) 65%, var(--dim))";case"blocked":return"var(--dim)"}}export{_ as a,u as b,b as c,A as d,f as e,d as f,h as g,g as i,r as n,S as s};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-C1VaWNuD.js";import{HarnessesScreen as i}from"./HarnessesScreen-COO_Q8VY.js";import"./HarnessMark-DttReffF.js";import"./api-Co9aQ2Jw.js";import"./perf-PX8Rx0EP.js";import"./router-kfcaYqZr.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";import"./time-Dhsh_2EG.js";import"./Provider-D0bB7q6y.js";import"./sse-B29iGBnw.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-D7kGGyK_.js";import"./NewChatComposer-D2Ah4T-W.js";import"./runtime-picker-C20lTGhV.js";import"./scout-voice-Cg1qfepC.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DmUG_YC7.js";import"./createLucideIcon-Dv8H8m7J.js";import"./conversation-model-C2KuZUXc.js";import"./index-Cx6Gbr6n.js";import"./NewChatOrigin-DCn5cWPZ.js";import"./keyboard-nav-B8sQ_8IF.js";import"./x-DgmmnPKt.js";import"./chevron-down-D120PY4g.js";import"./search-FB2vVxCp.js";import"./file-text-BHro8MkG.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-D8iB6SMt.js";import"./TextDocumentSurface-2X1Gw4eA.js";import"./chevron-right-CowuvuE6.js";import"./code-xml-CkkNdRmu.js";import"./arrow-left-eToA6GxC.js";import"./arrow-right-DTX42clh.js";import"./chunk-HRAB3GC3-KjjrTLCU.js";import"./useContentSecondaryNav-CoIoz7JU.js";import"./OpsSubnav-CjDTnp64.js";import"./SecondaryNav-Cs0_FQdj.js";import"./secondaryNavConfig-C0Srrmy8.js";import"./message-square-BLiFqpe_.js";import"./compass-BdpImt_W.js";import"./settings-DQEtqkM9.js";import"./terminal-UDy4lzV1.js";import"./git-branch-Bc_eDIpG.js";import"./scroll-text-DFcBYy5J.js";/* empty css *//* empty css */import"./refresh-cw-Bkh7Cvnd.js";import"./external-link-BvX5PfLh.js";function or({route:r,navigate:t}){return r.view!=="harnesses"?null:o.jsx(i,{navigate:t})}export{or as HarnessesContent};
@@ -1 +0,0 @@
1
- import{j as t}from"./index-C1VaWNuD.js";import{WorkDetailScreen as i}from"./WorkDetailScreen-DqGnuK0e.js";import"./DocumentFocusViewer-D8iB6SMt.js";import"./createLucideIcon-Dv8H8m7J.js";import"./TextDocumentSurface-2X1Gw4eA.js";import"./file-text-BHro8MkG.js";import"./x-DgmmnPKt.js";import"./StatusPill-BllrY-eg.js";import"./status-tone-BM_zuRy1.js";import"./WorkFilesViewer-D8-4vF5l.js";import"./api-Co9aQ2Jw.js";import"./perf-PX8Rx0EP.js";import"./chevron-right-CowuvuE6.js";import"./chevron-down-D120PY4g.js";import"./mentions-BZ5SBMtc.js";import"./colors-BtO5_zlx.js";import"./index-Cx6Gbr6n.js";import"./Provider-D0bB7q6y.js";import"./router-kfcaYqZr.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";import"./sse-B29iGBnw.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-D7kGGyK_.js";import"./NewChatComposer-D2Ah4T-W.js";import"./runtime-picker-C20lTGhV.js";import"./scout-voice-Cg1qfepC.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DmUG_YC7.js";import"./conversation-model-C2KuZUXc.js";import"./time-Dhsh_2EG.js";import"./HarnessMark-DttReffF.js";import"./NewChatOrigin-DCn5cWPZ.js";import"./keyboard-nav-B8sQ_8IF.js";import"./search-FB2vVxCp.js";import"./model-CBkMvT1w.js";import"./code-xml-CkkNdRmu.js";import"./arrow-left-eToA6GxC.js";import"./arrow-right-DTX42clh.js";import"./chunk-HRAB3GC3-KjjrTLCU.js";import"./AgentDetailCard-8viaEY8b.js";import"./AgentLiveActions-DlSKL60c.js";import"./terminal-takeover-BMeBjBB2.js";import"./openContent-C6XO6kr5.js";import"./eye-C9cGk5z6.js";import"./terminal-UDy4lzV1.js";import"./BackToPicker-BHicJyfc.js";import"./TailView-_gKWfaQM.js";import"./SlidePanel-CETQ5NTx.js";import"./tail-display-DcliDVkW.js";import"./lane-edit-display-C_Aujldz.js";import"./tail-events-LK29oCKm.js";import"./message-square-BLiFqpe_.js";import"./radio-CxIXS1nU.js";import"./external-link-BvX5PfLh.js";import"./activity-CzTJ-YMX.js";function kr({route:r,navigate:o}){return r.view!=="work"?null:t.jsx(i,{workId:r.workId,navigate:o})}export{kr as WorkContent};
@@ -1 +0,0 @@
1
- import{j as i}from"./index-C1VaWNuD.js";import{KnowledgeSearchScreen as o}from"./KnowledgeSearchScreen-_rxJNUUh.js";/* empty css */import"./api-Co9aQ2Jw.js";import"./perf-PX8Rx0EP.js";import"./time-Dhsh_2EG.js";import"./Provider-D0bB7q6y.js";import"./router-kfcaYqZr.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";import"./sse-B29iGBnw.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-D7kGGyK_.js";import"./NewChatComposer-D2Ah4T-W.js";import"./runtime-picker-C20lTGhV.js";import"./scout-voice-Cg1qfepC.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DmUG_YC7.js";import"./createLucideIcon-Dv8H8m7J.js";import"./conversation-model-C2KuZUXc.js";import"./index-Cx6Gbr6n.js";import"./HarnessMark-DttReffF.js";import"./NewChatOrigin-DCn5cWPZ.js";import"./keyboard-nav-B8sQ_8IF.js";import"./x-DgmmnPKt.js";import"./chevron-down-D120PY4g.js";import"./search-FB2vVxCp.js";import"./file-text-BHro8MkG.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-D8iB6SMt.js";import"./TextDocumentSurface-2X1Gw4eA.js";import"./chevron-right-CowuvuE6.js";import"./code-xml-CkkNdRmu.js";import"./arrow-left-eToA6GxC.js";import"./arrow-right-DTX42clh.js";import"./chunk-HRAB3GC3-KjjrTLCU.js";import"./sparkles-D0vWLTyC.js";import"./clock-_9FDplIT.js";function T({route:r,navigate:t}){return r.view!=="search"?null:i.jsx(o,{navigate:t,mode:r.mode,hitId:r.hitId,routeFilters:r.filters})}export{T as SearchContent};
@@ -1 +0,0 @@
1
- import{j as e,r as c,H as os}from"./index-C1VaWNuD.js";import{b as as,c as F,s as ns}from"./router-kfcaYqZr.js";import{t as B}from"./time-Dhsh_2EG.js";import{i as ls}from"./use-scout-dev-flags-DTseRrFi.js";import{u as is,r as rs,a as E,b as cs,f as _,c as y,i as D,t as C,M as P,d as A,e as ds,g as ms,h as hs,s as U}from"./mesh-ops-CKSWgax2.js";import{u as us}from"./use-mesh-ops-items-BjyeFJTz.js";/* empty css */import"./perf-PX8Rx0EP.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";import"./api-Co9aQ2Jw.js";import"./sse-B29iGBnw.js";import"./index-BWHgHrtv.js";const ps=[{id:"family",label:"family"},{id:"host",label:"host"}],bs=[{key:"lastLook",label:"last-look divider"},{key:"routeStrip",label:"route strip"},{key:"compact",label:"compact rows"},{key:"relays",label:"relay sessions"},{key:"simulateHosts",label:"simulate hosts"}],$=[{nodeId:"sim:studio-tower",label:"studio-tower"},{nodeId:"sim:gpu-box",label:"gpu-box"},{nodeId:"sim:cloud-eu-1",label:"cloud-eu-1"}];function xs(t){let i=0;for(let u=0;u<t.length;u++)i=i*31+t.charCodeAt(u)|0;return Math.abs(i)%($.length+1)}function Ns(t,i,u){return i==="family"?_(t):i==="host"?t.hostLabel??"unattributed":A[C(t,u)]}function fs(t){const i=os[t.trim().toLowerCase()];return i===void 0?"var(--dim)":`oklch(0.65 0.14 ${i})`}function vs({item:t,selected:i,fresh:u,showHost:f,onSelect:x}){const m=t.attention,b=t.kind==="session"&&t.session?.live===!0,n=m==="interrupt"?"blocked":t.kind==="session"?b?"working":"ended":t.state,p=m==="interrupt"?"danger":m==="badge"||t.state==="review"?"warning":b||t.state==="working"?"accent":"faint",H=m==="interrupt"?" dot--danger dot--pulse":m==="badge"?" dot--warning":b?" dot--working dot--pulse":"",k=m==="silent"&&!b;return e.jsxs("button",{type:"button",className:`mesh-ops-row${i?" mesh-ops-row--selected":""}`,"data-kind":t.kind,"data-fresh":u||void 0,onClick:x,children:[e.jsx("span",{className:`dot${H}`,"data-quiet":k||void 0,"data-hollow":k||void 0,"aria-hidden":!0}),e.jsxs("span",{className:"mesh-ops-row-main",children:[e.jsx("span",{className:"mesh-ops-row-title",children:t.title}),e.jsxs("span",{className:"mesh-ops-row-sub",children:[t.kind," · ",_(t)]})]}),e.jsxs("span",{className:"mesh-ops-row-owner",children:[t.session&&e.jsx("span",{className:"mesh-ops-row-harness",style:{background:fs(t.session.harness)},title:t.session.harness,"aria-hidden":!0}),t.ownerName&&e.jsxs("span",{children:["@",t.ownerName]})]}),e.jsx("span",{className:"mesh-ops-row-route",children:f?t.hostLabel??"—":""}),e.jsxs("span",{className:"mesh-ops-row-state",children:[e.jsx("span",{className:"mesh-ops-row-state-word","data-tone":p,children:m==="badge"&&t.state!=="review"?"flagged":n}),e.jsx("span",{className:"mesh-ops-row-age",children:B(y(t))})]})]})}function ks({hosts:t,newCounts:i,unattributedCount:u,activeHostId:f,unattributedActive:x,onSelect:m,onSelectUnattributed:b}){return e.jsxs("div",{className:"mesh-ops-hosts",role:"group","aria-label":"Hosts",children:[e.jsx("span",{className:"mesh-ops-groupby-label",children:"hosts"}),e.jsx("button",{type:"button",className:`mesh-ops-host${f===null&&!x?" mesh-ops-host--active":""}`,onClick:()=>m(null),title:"Show items across all hosts",children:"all"}),t.map(n=>{const p=i.get(n.nodeId)??0;return e.jsxs("button",{type:"button",className:`mesh-ops-host${f===n.nodeId?" mesh-ops-host--active":""}`,onClick:()=>m(f===n.nodeId?null:n.nodeId),title:n.hostName??n.label,children:[e.jsx("span",{className:`dot${p>0?" dot--warning":n.liveSessionCount>0?" dot--working":""}`,"data-quiet":p===0&&n.liveSessionCount===0?!0:void 0,"aria-hidden":!0}),e.jsx("span",{className:"mesh-ops-host-name",children:n.label}),p>0&&e.jsxs("span",{className:"mesh-ops-host-new",children:[p," new"]}),e.jsxs("span",{className:"mesh-ops-host-meta",children:[n.liveSessionCount>0?`${n.liveSessionCount} live · `:"",n.sessionCount]}),n.lastActivityAt!==null&&e.jsx("span",{className:"mesh-ops-host-age",children:B(n.lastActivityAt)})]},n.nodeId)}),u>0&&e.jsxs("button",{type:"button",className:`mesh-ops-host${x?" mesh-ops-host--active":""}`,onClick:b,title:"Items with no venue host",children:[e.jsx("span",{className:"mesh-ops-host-name",children:"unattributed"}),e.jsx("span",{className:"mesh-ops-host-meta",children:u})]})]})}function js({route:t,navigate:i}){const u=as(t),{loading:f,error:x}=us(u),{items:m,hosts:b,selectedItemId:n,groupBy:p,attnFilter:H,unattributedOnly:k,lab:l}=is(),[G]=c.useState(()=>ls()),[M]=c.useState(()=>rs()),[j,q]=c.useState(()=>Date.now()),[K,z]=c.useState({}),[S,T]=c.useState(null);c.useEffect(()=>{t.itemId&&t.itemId!==n?E(t.itemId):!t.itemId&&n!==null&&E(null)},[t.itemId]),c.useEffect(()=>{const s=window.setInterval(()=>q(Date.now()),3e4);return()=>window.clearInterval(s)},[]),c.useEffect(()=>()=>cs(),[]);const N=c.useMemo(()=>{const s=l.relays?m:m.filter(o=>o.kind!=="session"||o.session?.relay!==!0),d=l.simulateHosts?s.map(o=>{const a=xs(_(o));if(a===0)return o;const h=$[a-1];return{...o,hostNodeId:h.nodeId,hostLabel:h.label}}):s;return k?d.filter(o=>o.hostNodeId===null):d},[m,k,l.relays,l.simulateHosts]),V=l.simulateHosts?S:u,O=c.useMemo(()=>l.simulateHosts&&S?N.filter(s=>s.hostNodeId===S):N,[l.simulateHosts,S,N]),W=c.useMemo(()=>{if(!l.simulateHosts)return b;const s=$.map(d=>{const o=N.filter(a=>a.hostNodeId===d.nodeId);return{nodeId:d.nodeId,label:d.label,hostName:null,brokerUrl:null,tailnetName:null,lastSeenAt:null,registeredAt:null,sessionCount:o.filter(a=>a.kind==="session").length,liveSessionCount:o.filter(a=>a.kind==="session"&&a.session?.live).length,lastActivityAt:o.length>0?Math.max(...o.map(y)):null}});return[...b,...s]},[l.simulateHosts,b,N]),Y=c.useMemo(()=>N.filter(s=>s.hostNodeId===null).length,[N]),J=c.useMemo(()=>{const s=new Map;if(!l.lastLook)return s;for(const d of N)!D(d,M)||!d.hostNodeId||s.set(d.hostNodeId,(s.get(d.hostNodeId)??0)+1);return s},[N,l.lastLook,M]),Q=c.useMemo(()=>{const s={active:0,moving:0,done:0,archive:0};for(const d of O)s[C(d,j)]+=1;return s},[O,j]),v=H??"active",g=c.useMemo(()=>O.filter(s=>C(s,j)===v),[O,v,j]),X=c.useMemo(()=>new Set(g.map(s=>s.hostLabel).filter(Boolean)).size>1,[g]),w=c.useMemo(()=>l.lastLook?s=>D(s,M):()=>!1,[l.lastLook,M]),Z=c.useMemo(()=>{const s=new Map;for(const o of g){const a=Ns(o,p,j),h=s.get(a);h?h.push(o):s.set(a,[o])}return(p==="attention"?P.map(o=>A[o]).filter(o=>s.has(o)):[...s.entries()].sort((o,a)=>{const h=r=>r.some(w)?0:r.some(I=>C(I,j)==="moving")?1:2,L=h(o[1])-h(a[1]);return L!==0?L:Math.max(...a[1].map(y))-Math.max(...o[1].map(y))}).map(([o])=>o)).map(o=>({key:o,items:(s.get(o)??[]).sort((a,h)=>y(h)-y(a))}))},[g,p,w,j]),ss=s=>{E(s.id),i({...t,itemId:s.id})},R=s=>{if(l.simulateHosts){T(s);return}U(!1),i(s?ns(t,s):F(t))},es=()=>{if(k){R(null);return}l.simulateHosts&&T(null),i(F(t)),U(!0)};return e.jsxs("div",{className:`mesh-ops-list${l.compact?" mesh-ops-list--compact":""}${l.lastLook?" mesh-ops-list--lastlook":""}`,children:[e.jsxs("div",{className:"mesh-ops-summary",children:[e.jsx("div",{className:"mesh-ops-tabs",role:"tablist","aria-label":"Triage tabs",children:P.map(s=>e.jsxs("button",{type:"button",role:"tab","aria-selected":v===s,className:`mesh-ops-tab${v===s?" mesh-ops-tab--active":""}`,onClick:()=>ds(v===s?null:s),children:[e.jsx("span",{className:`dot${s==="active"||s==="moving"?" dot--working":""}`,"data-quiet":s==="done"||s==="archive"?!0:void 0,"aria-hidden":!0}),A[s],e.jsx("span",{className:"mesh-ops-tab-count",children:Q[s]})]},s))}),e.jsx("span",{className:"mesh-ops-summary-spacer"}),e.jsxs("span",{className:"mesh-ops-groupby",role:"group","aria-label":"Group items by",children:[e.jsx("span",{className:"mesh-ops-groupby-label",children:"group"}),ps.map(s=>e.jsx("button",{type:"button",className:`mesh-ops-groupby-option${p===s.id?" mesh-ops-groupby-option--active":""}`,"aria-pressed":p===s.id,onClick:()=>ms(s.id),children:s.label},s.id))]})]}),e.jsx(ks,{hosts:W,newCounts:J,unattributedCount:Y,activeHostId:V,unattributedActive:k,onSelect:R,onSelectUnattributed:es}),x&&e.jsx("div",{className:"ctx-panel-empty","data-tone":"error",children:x}),!x&&f&&m.length===0&&e.jsx("div",{className:"ctx-panel-empty",children:"Loading mesh ops…"}),!x&&!f&&g.length===0&&e.jsxs("div",{className:"ctx-panel-empty",children:["Nothing in ",A[v],"."]}),Z.map(s=>{const d=v==="done"||v==="archive",o=d?s.items.filter(r=>r.kind!=="session"||r.session?.live===!0):[...s.items],a=d?s.items.filter(r=>r.kind==="session"&&r.session?.live!==!0):[],h=K[s.key]===!0;h&&o.push(...a);const L=l.lastLook?o.findIndex((r,I)=>!w(r)&&o.slice(0,I).some(ts=>w(ts))):-1;return e.jsxs("div",{className:"mesh-ops-group",children:[e.jsxs("div",{className:"mesh-ops-group-head",children:[e.jsx("span",{className:`dot${s.items.some(w)?" dot--warning":""}`,"data-quiet":!s.items.some(w)||void 0,"aria-hidden":!0}),e.jsx("span",{className:"label-sm mesh-ops-group-name",children:s.key}),e.jsx("span",{className:"mesh-ops-group-spacer"}),a.length>0&&e.jsx("button",{type:"button",className:"mesh-ops-group-more",onClick:()=>z(r=>({...r,[s.key]:!h})),children:h?`hide ${a.length} ended`:`+${a.length} ended`}),e.jsx("span",{className:"mesh-ops-group-count",children:s.items.length})]}),o.map((r,I)=>e.jsxs("div",{children:[I===L&&e.jsxs("div",{className:"mesh-ops-lastlook",role:"separator",children:[e.jsx("span",{className:"mesh-ops-lastlook-rule"}),e.jsx("span",{className:"mesh-ops-lastlook-label",children:"last look — above changed since you scanned"}),e.jsx("span",{className:"mesh-ops-lastlook-rule"})]}),e.jsx(vs,{item:r,selected:r.id===n,fresh:w(r),showHost:X,onSelect:()=>ss(r)})]},r.id))]},s.key)}),G&&e.jsxs("div",{className:"mesh-ops-lab",children:[e.jsx("span",{className:"label-xs",children:"lab"}),bs.map(s=>e.jsx("button",{type:"button",className:"mesh-ops-lab-toggle","data-on":l[s.key]||void 0,"aria-pressed":l[s.key],onClick:()=>hs(s.key),children:s.label},s.key))]})]})}function _s({route:t,navigate:i}){return t.view!=="mesh-ops"?null:e.jsx(js,{route:t,navigate:i})}export{_s as MeshOpsContent};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-C1VaWNuD.js";import{MeshScreen as i}from"./MeshScreen-DuNvpDC5.js";import"./api-Co9aQ2Jw.js";import"./perf-PX8Rx0EP.js";import"./time-Dhsh_2EG.js";import"./colors-BtO5_zlx.js";import"./Provider-D0bB7q6y.js";import"./router-kfcaYqZr.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";import"./sse-B29iGBnw.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-D7kGGyK_.js";import"./NewChatComposer-D2Ah4T-W.js";import"./runtime-picker-C20lTGhV.js";import"./scout-voice-Cg1qfepC.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DmUG_YC7.js";import"./createLucideIcon-Dv8H8m7J.js";import"./conversation-model-C2KuZUXc.js";import"./index-Cx6Gbr6n.js";import"./HarnessMark-DttReffF.js";import"./NewChatOrigin-DCn5cWPZ.js";import"./keyboard-nav-B8sQ_8IF.js";import"./x-DgmmnPKt.js";import"./chevron-down-D120PY4g.js";import"./search-FB2vVxCp.js";import"./file-text-BHro8MkG.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-D8iB6SMt.js";import"./TextDocumentSurface-2X1Gw4eA.js";import"./chevron-right-CowuvuE6.js";import"./code-xml-CkkNdRmu.js";import"./arrow-left-eToA6GxC.js";import"./arrow-right-DTX42clh.js";import"./chunk-HRAB3GC3-KjjrTLCU.js";import"./MeshCanvas-DZv2ipsy.js";import"./chunk-T65CQEWV-H2QEKfr1.js";import"./plus-BWKhylds.js";import"./mesh-view-store-CBM1za_N.js";import"./useAgentHoverCard-BgTLNcF-.js";import"./AgentDetailCard-8viaEY8b.js";import"./AgentLiveActions-DlSKL60c.js";import"./terminal-takeover-BMeBjBB2.js";import"./openContent-C6XO6kr5.js";import"./eye-C9cGk5z6.js";import"./terminal-UDy4lzV1.js";import"./mesh-buckets-CLYS8Jx8.js";import"./local-agents-VP1-ZlPw.js";import"./useContentSecondaryNav-CoIoz7JU.js";import"./OpsSubnav-CjDTnp64.js";import"./SecondaryNav-Cs0_FQdj.js";import"./secondaryNavConfig-C0Srrmy8.js";import"./message-square-BLiFqpe_.js";import"./compass-BdpImt_W.js";import"./settings-DQEtqkM9.js";import"./git-branch-Bc_eDIpG.js";import"./scroll-text-DFcBYy5J.js";/* empty css *//* empty css *//* empty css */function jr({route:r,navigate:t}){return r.view!=="mesh"?null:o.jsx(i,{navigate:t})}export{jr as MeshContent};
@@ -1 +0,0 @@
1
- import{j as r}from"./index-C1VaWNuD.js";import{ActivityScreen as o}from"./ActivityScreen-sfonf5SR.js";import"./api-Co9aQ2Jw.js";import"./perf-PX8Rx0EP.js";import"./clipboard-e3fSpeo7.js";import"./sse-B29iGBnw.js";import"./index-BWHgHrtv.js";import"./colors-BtO5_zlx.js";import"./Provider-D0bB7q6y.js";import"./router-kfcaYqZr.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-D7kGGyK_.js";import"./NewChatComposer-D2Ah4T-W.js";import"./runtime-picker-C20lTGhV.js";import"./scout-voice-Cg1qfepC.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DmUG_YC7.js";import"./createLucideIcon-Dv8H8m7J.js";import"./conversation-model-C2KuZUXc.js";import"./time-Dhsh_2EG.js";import"./index-Cx6Gbr6n.js";import"./HarnessMark-DttReffF.js";import"./NewChatOrigin-DCn5cWPZ.js";import"./keyboard-nav-B8sQ_8IF.js";import"./x-DgmmnPKt.js";import"./chevron-down-D120PY4g.js";import"./search-FB2vVxCp.js";import"./file-text-BHro8MkG.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-D8iB6SMt.js";import"./TextDocumentSurface-2X1Gw4eA.js";import"./chevron-right-CowuvuE6.js";import"./code-xml-CkkNdRmu.js";import"./arrow-left-eToA6GxC.js";import"./arrow-right-DTX42clh.js";import"./chunk-HRAB3GC3-KjjrTLCU.js";import"./mentions-BZ5SBMtc.js";import"./AgentDetailCard-8viaEY8b.js";import"./AgentLiveActions-DlSKL60c.js";import"./terminal-takeover-BMeBjBB2.js";import"./openContent-C6XO6kr5.js";import"./eye-C9cGk5z6.js";import"./terminal-UDy4lzV1.js";import"./EmptyState-CKPWFSjq.js";/* empty css */function _({route:t,navigate:i}){return t.view!=="activity"?null:r.jsx(o,{navigate:i})}export{_ as ActivityContent};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-C1VaWNuD.js";import{ConversationScreen as i}from"./ConversationScreen-DIU7m_aC.js";import{MessagesScreen as m}from"./MessagesScreen-dNNPFwAc.js";import"./NewChatComposer-D2Ah4T-W.js";import"./runtime-picker-C20lTGhV.js";import"./scout-voice-Cg1qfepC.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DmUG_YC7.js";import"./createLucideIcon-Dv8H8m7J.js";import"./conversation-model-C2KuZUXc.js";import"./colors-BtO5_zlx.js";import"./time-Dhsh_2EG.js";import"./api-Co9aQ2Jw.js";import"./perf-PX8Rx0EP.js";import"./index-Cx6Gbr6n.js";import"./HarnessMark-DttReffF.js";import"./NewChatOrigin-DCn5cWPZ.js";import"./keyboard-nav-B8sQ_8IF.js";import"./x-DgmmnPKt.js";import"./chevron-down-D120PY4g.js";import"./search-FB2vVxCp.js";import"./file-text-BHro8MkG.js";import"./ConversationComposer-BUIjWMBi.js";import"./AgentAvatar-Dz79iTxB.js";import"./Provider-D0bB7q6y.js";import"./router-kfcaYqZr.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";import"./sse-B29iGBnw.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-D7kGGyK_.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-D8iB6SMt.js";import"./TextDocumentSurface-2X1Gw4eA.js";import"./chevron-right-CowuvuE6.js";import"./code-xml-CkkNdRmu.js";import"./arrow-left-eToA6GxC.js";import"./arrow-right-DTX42clh.js";import"./chunk-HRAB3GC3-KjjrTLCU.js";import"./SpriteAvatar-DFO4Kb4Z.js";import"./CrewAvatar-CZ_faQ_s.js";import"./zap-Bcja1lHG.js";import"./message-markup-DC0QFEZn.js";import"./mentions-BZ5SBMtc.js";import"./AgentDetailCard-8viaEY8b.js";import"./AgentLiveActions-DlSKL60c.js";import"./terminal-takeover-BMeBjBB2.js";import"./openContent-C6XO6kr5.js";import"./eye-C9cGk5z6.js";import"./terminal-UDy4lzV1.js";import"./message-visibility-CGOmSSKs.js";import"./operator-attention-RqieiSY8.js";import"./sessionRead-CvFz2RHv.js";import"./clipboard-e3fSpeo7.js";import"./types-B0PlfpKc.js";/* empty css */import"./ConversationHeader-Bt2RBj93.js";import"./BackToPicker-BHicJyfc.js";import"./AstronautSuit-CwB4Dw07.js";import"./ConversationFeedRows-Bx0gFyG_.js";import"./ConversationPanels-o6W-cOoU.js";import"./tail-display-DcliDVkW.js";import"./lane-edit-display-C_Aujldz.js";import"./use-reduced-motion-CPoX8iV2.js";import"./proxy-DVDRhSRR.js";import"./activity-CzTJ-YMX.js";import"./message-circle-joGFxfj1.js";import"./tail-events-LK29oCKm.js";import"./ConversationStatus-CTYOywFh.js";import"./check-Dz2SRHft.js";import"./sparkles-D0vWLTyC.js";import"./use-fleet-active-asks-CCGrll5q.js";import"./use-conversation-list-UG-tMN67.js";import"./AgentMasterScreen-DHrMuQ6_.js";import"./agent-master-model-DMcHeNq3.js";/* empty css */import"./arrow-up-right-B09GPwFl.js";import"./plus-BWKhylds.js";function yt({route:t,navigate:r}){switch(t.view){case"conversation":return o.jsx(i,{conversationId:t.conversationId,initialDraft:t.composeDraft,navigate:r},t.conversationId);case"messages":return o.jsx(m,{conversationId:t.conversationId,agentId:t.agentId,threadId:t.threadId,machineId:t.machineId,navigate:r});default:return null}}export{yt as ChatContent};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-C1VaWNuD.js";import{OpsScreen as i}from"./OpsScreen-CJBwshEp.js";/* empty css */import"./Provider-D0bB7q6y.js";import"./router-kfcaYqZr.js";import"./perf-PX8Rx0EP.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";import"./api-Co9aQ2Jw.js";import"./sse-B29iGBnw.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-D7kGGyK_.js";import"./NewChatComposer-D2Ah4T-W.js";import"./runtime-picker-C20lTGhV.js";import"./scout-voice-Cg1qfepC.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DmUG_YC7.js";import"./createLucideIcon-Dv8H8m7J.js";import"./conversation-model-C2KuZUXc.js";import"./time-Dhsh_2EG.js";import"./index-Cx6Gbr6n.js";import"./HarnessMark-DttReffF.js";import"./NewChatOrigin-DCn5cWPZ.js";import"./keyboard-nav-B8sQ_8IF.js";import"./x-DgmmnPKt.js";import"./chevron-down-D120PY4g.js";import"./search-FB2vVxCp.js";import"./file-text-BHro8MkG.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-D8iB6SMt.js";import"./TextDocumentSurface-2X1Gw4eA.js";import"./chevron-right-CowuvuE6.js";import"./code-xml-CkkNdRmu.js";import"./arrow-left-eToA6GxC.js";import"./arrow-right-DTX42clh.js";import"./chunk-HRAB3GC3-KjjrTLCU.js";/* empty css */import"./page-status-BE0-J1xY.js";import"./AgentLanesView-96lHsoX7.js";/* empty css */import"./tail-events-LK29oCKm.js";import"./observe-BLmy4quB.js";import"./types-B0PlfpKc.js";import"./useEmbedHeadline-DuUnwTB7.js";import"./AgentAvatar-Dz79iTxB.js";import"./SpriteAvatar-DFO4Kb4Z.js";import"./CrewAvatar-CZ_faQ_s.js";import"./SessionObserve-BVeTkcIl.js";import"./bash-format-BRV5C6Gv.js";import"./tail-display-DcliDVkW.js";import"./lane-edit-display-C_Aujldz.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-t7-XJP-h.js";import"./lane-observe-vfyACHi0.js";import"./lane-ask-display-B6iCAVcd.js";import"./mentions-BZ5SBMtc.js";import"./AgentDetailCard-8viaEY8b.js";import"./AgentLiveActions-DlSKL60c.js";import"./terminal-takeover-BMeBjBB2.js";import"./openContent-C6XO6kr5.js";import"./eye-C9cGk5z6.js";import"./terminal-UDy4lzV1.js";import"./message-markup-DC0QFEZn.js";import"./ObservedTopologyPanel-CJVqIqQ2.js";import"./ObserveTextFlow-DCJ5EmD8.js";import"./use-reduced-motion-CPoX8iV2.js";import"./proxy-DVDRhSRR.js";import"./SessionObserveEvidence-BkOezTGV.js";import"./message-circle-joGFxfj1.js";import"./wrench-BfVeded5.js";import"./external-link-BvX5PfLh.js";import"./AgentFloorView-DuyvyMMj.js";/* empty css */import"./agent-lanes-model-tc-1hE6q.js";import"./context-budget-DqxWzalx.js";import"./lane-roster-store-DN2jxXF-.js";import"./AgentLanesPreflight-CCGBArIb.js";import"./AgentLaneChrome-Dv2lBFoH.js";import"./AgentLaneCard-Cc9uyfBr.js";/* empty css */import"./AgentLaneSummaryResize-Di4u6df2.js";import"./clipboard-e3fSpeo7.js";import"./agent-lane-card-model-CY3OE1Xu.js";import"./agent-lane-preview-BhplDYGf.js";import"./agent-lane-detail-ppJId6Jc.js";import"./AgentLaneDetailSheet-CGqtqSHQ.js";import"./SlidePanel-CETQ5NTx.js";import"./LaneTraceDetailSheet-DNIECgEl.js";import"./LaneTraceEventFocus-BB5DhFQm.js";import"./MissionControlView-DmaThhNR.js";/* empty css */import"./mission-control-store-CM8mQGg8.js";import"./MissionContextRail-DnCWPzAM.js";import"./mission-wall-CocIM1cF.js";import"./mission-control-model-C0fByIjm.js";import"./MissionFocusOverlay-K21ssTxv.js";import"./MissionLogPane-BLvSSIdT.js";import"./OpsAgentsView-vIoY-AW1.js";/* empty css */import"./DataTable-C6aMSilS.js";/* empty css */import"./useAgentHoverCard-BgTLNcF-.js";import"./sliders-horizontal-57e99_qO.js";import"./HostAdvisorView-DeJ-8RZV.js";/* empty css */import"./compass-BdpImt_W.js";import"./layout-grid-BoVnPOk-.js";import"./refresh-cw-Bkh7Cvnd.js";import"./arrow-up-right-B09GPwFl.js";import"./cpu-CHFIGw87.js";import"./gauge-DSflSery.js";import"./AtopView-D7vyQDtE.js";/* empty css */import"./TailView-_gKWfaQM.js";import"./useContentSecondaryNav-CoIoz7JU.js";import"./OpsSubnav-CjDTnp64.js";import"./SecondaryNav-Cs0_FQdj.js";import"./secondaryNavConfig-C0Srrmy8.js";import"./message-square-BLiFqpe_.js";import"./settings-DQEtqkM9.js";import"./git-branch-Bc_eDIpG.js";import"./scroll-text-DFcBYy5J.js";function wt({route:r,navigate:t}){return r.view!=="ops"?null:o.jsx(i,{navigate:t,mode:r.mode,tailQuery:r.tailQuery})}export{wt as OpsContent};
@@ -1 +0,0 @@
1
- import{j as t}from"./index-C1VaWNuD.js";import{FollowScreen as i}from"./FollowScreen-CkR-okdL.js";import"./api-Co9aQ2Jw.js";import"./perf-PX8Rx0EP.js";import"./follow-route-BvcGtBIL.js";import"./router-kfcaYqZr.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";/* empty css */function x({route:o,navigate:r}){return o.view!=="follow"?null:t.jsx(i,{route:o,navigate:r})}export{x as FollowContent};
@@ -1 +0,0 @@
1
- import{j as r}from"./index-C1VaWNuD.js";import{SettingsScreen as o}from"./SettingsScreen-BEzYFdjz.js";import"./EmptyState-CKPWFSjq.js";import"./StatusPill-BllrY-eg.js";import"./status-tone-BM_zuRy1.js";import"./api-Co9aQ2Jw.js";import"./perf-PX8Rx0EP.js";import"./time-Dhsh_2EG.js";import"./AgentConfigurationScreen-DDc3udYM.js";import"./CastPicker-CkgTalIt.js";import"./CrewAvatar-CZ_faQ_s.js";import"./HarnessMark-DttReffF.js";import"./check-Dz2SRHft.js";import"./createLucideIcon-Dv8H8m7J.js";import"./NewChatComposer-D2Ah4T-W.js";import"./runtime-picker-C20lTGhV.js";import"./scout-voice-Cg1qfepC.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DmUG_YC7.js";import"./conversation-model-C2KuZUXc.js";import"./colors-BtO5_zlx.js";import"./index-Cx6Gbr6n.js";import"./NewChatOrigin-DCn5cWPZ.js";import"./keyboard-nav-B8sQ_8IF.js";import"./x-DgmmnPKt.js";import"./chevron-down-D120PY4g.js";import"./search-FB2vVxCp.js";import"./file-text-BHro8MkG.js";import"./Provider-D0bB7q6y.js";import"./router-kfcaYqZr.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";import"./sse-B29iGBnw.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-D7kGGyK_.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-D8iB6SMt.js";import"./TextDocumentSurface-2X1Gw4eA.js";import"./chevron-right-CowuvuE6.js";import"./code-xml-CkkNdRmu.js";import"./arrow-left-eToA6GxC.js";import"./arrow-right-DTX42clh.js";import"./chunk-HRAB3GC3-KjjrTLCU.js";import"./openContent-C6XO6kr5.js";import"./AgentsSubnav-Ci7uWM7P.js";import"./SecondaryNav-Cs0_FQdj.js";import"./secondaryNavConfig-C0Srrmy8.js";import"./message-square-BLiFqpe_.js";import"./compass-BdpImt_W.js";import"./settings-DQEtqkM9.js";import"./terminal-UDy4lzV1.js";import"./git-branch-Bc_eDIpG.js";import"./scroll-text-DFcBYy5J.js";/* empty css */import"./refresh-cw-Bkh7Cvnd.js";import"./bot-WxKXYtEX.js";import"./wrench-BfVeded5.js";import"./server-WY6gsbZz.js";import"./cpu-CHFIGw87.js";import"./SettingsDrawer-CPB32w0n.js";import"./credentials-BTce3VP1.js";import"./AgentAvatar-Dz79iTxB.js";import"./SpriteAvatar-DFO4Kb4Z.js";import"./VoicePermissionsPanel-C4vkU-sU.js";import"./copy-BzdzWsQd.js";import"./sparkles-D0vWLTyC.js";function lt({route:t,navigate:i}){return t.view!=="settings"?null:r.jsx(o,{navigate:i,section:t.section,agentId:t.agentId})}export{lt as SettingsContent};
@@ -1 +0,0 @@
1
- import{j as t,r as a}from"./index-C1VaWNuD.js";import wt from"./HomeHero-DXJo2QSO.js";import{TailView as bt}from"./TailView-_gKWfaQM.js";import{p as se,a as G}from"./api-Co9aQ2Jw.js";import{u as xt}from"./observe-BLmy4quB.js";import{u as kt}from"./sse-B29iGBnw.js";import{i as X,o as Mt}from"./surface-activity-B1rgWB1i.js";import{n as x,c as Pe,t as ke}from"./time-Dhsh_2EG.js";import{b as yt,h as St}from"./router-kfcaYqZr.js";import{a as qe,n as Be}from"./colors-BtO5_zlx.js";import{F as jt,R as At,G as Nt,H as It,h as Et}from"./NewChatComposer-D2Ah4T-W.js";import{u as Lt,a as De}from"./persistent-state-BubPQ7tT.js";import{M as Ct}from"./runtime-picker-C20lTGhV.js";import{u as Rt,m as _t,i as Ot,l as Tt}from"./Provider-D0bB7q6y.js";import{a as Ht}from"./operator-attention-RqieiSY8.js";import{e as $t,i as Ve,f as Ue,g as Wt,h as Pt}from"./agent-lanes-model-tc-1hE6q.js";import{HomeMovingSignalList as Bt}from"./home-moving-signal-PHSqSBu_.js";import{E as Dt}from"./external-link-BvX5PfLh.js";import"./refresh-cw-Bkh7Cvnd.js";import"./createLucideIcon-Dv8H8m7J.js";import"./activity-CzTJ-YMX.js";import"./SlidePanel-CETQ5NTx.js";import"./HarnessMark-DttReffF.js";import"./tail-display-DcliDVkW.js";import"./lane-edit-display-C_Aujldz.js";import"./tail-events-LK29oCKm.js";import"./index-BWHgHrtv.js";import"./openContent-C6XO6kr5.js";import"./perf-PX8Rx0EP.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";import"./scoutbot-D7kGGyK_.js";import"./scout-voice-Cg1qfepC.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DmUG_YC7.js";import"./conversation-model-C2KuZUXc.js";import"./index-Cx6Gbr6n.js";import"./NewChatOrigin-DCn5cWPZ.js";import"./keyboard-nav-B8sQ_8IF.js";import"./x-DgmmnPKt.js";import"./chevron-down-D120PY4g.js";import"./search-FB2vVxCp.js";import"./file-text-BHro8MkG.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-D8iB6SMt.js";import"./TextDocumentSurface-2X1Gw4eA.js";import"./chevron-right-CowuvuE6.js";import"./code-xml-CkkNdRmu.js";import"./arrow-left-eToA6GxC.js";import"./arrow-right-DTX42clh.js";import"./chunk-HRAB3GC3-KjjrTLCU.js";import"./context-budget-DqxWzalx.js";import"./lane-observe-vfyACHi0.js";import"./home-live-action-BkqGLVRY.js";import"./cpu-CHFIGw87.js";import"./git-branch-Bc_eDIpG.js";import"./file-code-corner-jlGFdr8d.js";import"./terminal-UDy4lzV1.js";function Ft(){return t.jsx("svg",{className:"s-msg-compose-tool-chevron",width:"10",height:"10",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:t.jsx("path",{d:"m4 6 4 4 4-4"})})}function Gt({label:e,kicker:s,value:n,onChange:o,options:c,disabled:r=!1,hideKicker:d=!1,className:m}){const g=c.find(v=>v.value===n)?.label??(n.trim()?n:c[0]?.label??e);return t.jsxs("label",{className:["s-msg-compose-tool",r?"s-msg-compose-tool--disabled":"",m??""].filter(Boolean).join(" "),children:[t.jsx("span",{className:"s-msg-compose-tool-value",children:g}),t.jsx(Ft,{}),t.jsx("select",{className:"s-msg-compose-tool-native","aria-label":e,title:s&&!d?s:e,value:n,disabled:r,onChange:v=>o(v.target.value),children:c.map(v=>t.jsx("option",{value:v.value,children:v.label},v.value||"__empty__"))})]})}const oe=30*6e4,ue="30m",ze="recent",le=[{key:"5m",label:"5m",windowMs:5*6e4},{key:"30m",label:"30m",windowMs:oe},{key:"4h",label:"4h",windowMs:240*6e4},{key:"24h",label:"24h",windowMs:1440*6e4}],ce={working:0,native:1,observed:2};function Kt(e){const s=e?.trim();return le.some(n=>n.key===s)?s:ue}function qt(e){return le.find(s=>s.key===e)??le[1]}function Vt(e){return e==="grouped"?"grouped":ze}function Ut(e,s,n){if(n==="grouped"){const r=ce[e.bucket]-ce[s.bucket];if(r!==0)return r}const o=s.lastActivityAt-e.lastActivityAt;if(o!==0)return o;const c=ce[e.bucket]-ce[s.bucket];return c!==0?c:e.id.localeCompare(s.id)}function Qe(e,s,n=oe){const o=x(e);return o!==null&&s-o<=n}function Ye(e){const s=e?.trim().toLowerCase();return s?s==="pi"||s==="grok-acp"||s==="grok"?"grok":s:null}function zt(e,s,n,o=[],c=oe,r=ue){return!!(n||qe(e.state)||$t(e,s,r)||Je(e,o,s,c))}function Qt(e,s){const n=Ye(e.harness);return n?n===s.source?.trim().toLowerCase():!1}function Je(e,s,n,o=oe){const c=e.harnessSessionId?.trim();if(!c)return!1;const r=n-o;return s.some(d=>{const m=x(d.ts);if(m===null||m<r||!Qt(e,d))return!1;const u=d.sessionId?.trim();return!!(u&&u===c)})}function Yt(e){const{agent:s,observeEntry:n,tailEvents:o,nowMs:c,movingAsk:r,windowMs:d=oe}=e;if(r)return!0;const m=n?.data;if(Ve(m))return!0;const u=Ue(m);return!!(u!==null&&c-u<=d||Je(s,o,c,d)||qe(s.state)&&Qe(s.updatedAt,c,d))}function Jt(e,s){const n=e?.metadata?.session,o=e?.metadata?.usage,c=o?.contextInputTokens,r=o?.contextWindowTokens,d=typeof c=="number"&&typeof r=="number"&&r>0?Math.min(100,Math.round(c/r*100)):null;return{sessionId:n?.externalSessionId??s?.sessionId??null,model:n?.model??s?.model??null,contextPct:d}}function Xe(e){if(!e)return null;const s=e.sessionId?.trim()||e.data?.metadata?.session?.externalSessionId?.trim();if(s)return`session:${s}`;const n=e.historyPath?.trim()||e.data?.metadata?.session?.threadPath?.trim();return n?`history:${n}`:null}function Xt(e){const s=e.observe?.metadata?.session,n=s?.externalSessionId?.trim();if(n)return`session:${n}`;const o=s?.threadPath?.trim();return o?`history:${o}`:null}function Fe(e,s){const n=s?.sessionId?.trim()||s?.data?.metadata?.session?.externalSessionId?.trim(),o=e.harnessSessionId?.trim();return!!(n&&o&&n===o)}function Zt(e,s){const n=new Map,o=[];for(const c of e){const r=s[c.id],d=Xe(r);if(!d){o.push(c);continue}const m=n.get(d);if(m===void 0){n.set(d,o.length),o.push(c);continue}const u=o[m];!Fe(u,s[u.id])&&Fe(c,r)&&(o[m]=c)}return o}function be(e,s){const{observeEntry:n,tailEvents:o,nowMs:c,movingAsk:r}=s;if(r)return x(r.updatedAt)??c;if(Ve(n?.data))return c;const d=Ue(n?.data);if(d!==null)return d;const m=e.harnessSessionId?.trim(),u=Ye(e.harness);let g=0;if(m)for(const v of o){if(u&&v.source!==u||v.sessionId?.trim()!==m)continue;const I=x(v.ts);I!==null&&(g=Math.max(g,I))}return g>0?g:x(e.updatedAt)??0}const es=9;function ts(e){const{lanes:s}=Wt({transcripts:e.transcripts,tailEvents:e.tailEvents,processes:e.processes??[],scoutAgents:e.agents,observeCache:e.observeCache??{},now:e.nowMs,workingOnly:!0,horizon:e.horizon??ue});return s.filter(n=>n.source==="native")}const P=[{label:"30m",value:30*6e4,activityLimit:80},{label:"6h",value:360*6e4,activityLimit:250},{label:"24h",value:1440*6e4,activityLimit:800}],Ge=P[2].value,ss="openscout.home.lookbackMs.v1",ns="openscout.home.movingWindow.v1",os="openscout.home.movingSort.v1",is=6e4,as=3e4,rs=3,ne=3e4;function cs(e,s){const n=x(e);if(n===null)return"—";const o=Math.max(0,Math.floor((s-n)/1e3));if(o<60)return`${o}s`;const c=Math.floor(o/60);if(c<60)return`${c}m`;const r=Math.floor(c/60);return r<48?`${r}h`:`${Math.floor(r/24)}d`}function ls(e,s=140){const n=(e??"").replace(/\s+/g," ").trim();return n?n.length>s?`${n.slice(0,s-1)}…`:n:""}function us(e){return{handoff_sent:"handed off",handoff_received:"received handoff",ask_sent:"sent a request",message_sent:"said",message_received:"received"}[e]??e.replace(/[._]/g," ")}function ds(e){return e.conversationId?{view:"conversation",conversationId:e.conversationId}:e.recordId?{view:"work",workId:e.recordId}:e.agentId?{view:"agents-v2",agentId:e.agentId}:null}function ms(e){const s=Math.round(e/6e4);if(s<60)return`${s}m`;const n=s/60;return`${Number.isInteger(n)?n:n.toFixed(1)}h`}function Me(e){if(!Number.isFinite(e)||e<=0)return"now";const s=Math.floor(e/1e3);if(s<60)return`${s}s`;const n=Math.floor(s/60);if(n<60)return`${n}m`;const o=Math.floor(n/60);return o<48?`${o}h`:`${Math.floor(o/24)}d`}function fs(e,s,n){if(e.length===0)return null;const o=e.map(u=>x(u.ts)).filter(u=>u!==null).sort((u,g)=>g-u);if(o.length===0)return null;const c=o[0],r=o[o.length-1];let d=0;for(let u=1;u<o.length;u++)d=Math.max(d,o[u-1]-o[u]);const m=n-s;return d=Math.max(d,r-m),{count:e.length,lastAgoMs:Math.max(0,n-c),longestGapMs:Math.max(0,d)}}function vs(e){const s=e.map(o=>Math.sqrt(o)),n=[.56,.28,.11,.05];return s.map((o,c)=>{let r=0,d=0;for(let m=-3;m<=3;m++){const u=c+m;if(u<0||u>=s.length)continue;const g=n[Math.abs(m)]??0;r+=s[u]*g,d+=g}return d>0?r/d:0})}function hs(e,s,n){if(e.length<2||s.length===0)return e;const o=Math.max(1,e[1].ts-e[0].ts),c=e[0].ts,r=e[e.length-1].ts+o,d=e.map(g=>g.count);for(const g of s){const v=x(g.ts);if(v===null||v<c||v>n||v>=r)continue;const I=Math.floor((v-c)/o);I>=0&&I<d.length&&(d[I]=(d[I]??0)+1)}const m=vs(d),u=Math.max(1,...m);return e.map((g,v)=>({...g,count:d[v]??g.count,value:(m[v]??0)/u}))}function xe(e){return e.status==="fulfilled"?null:gs(e.reason instanceof Error?e.reason.message:String(e.reason))}function gs(e){return/failed to fetch|networkerror|load failed|couldn't connect|connection refused/i.test(e)?"Scout server is unreachable":e}function ps(e){return e==="Scout server is unreachable"}function _n({navigate:e}){const{agents:s,onboarding:n,reload:o,route:c}=Rt(),r=yt(c),d=a.useMemo(()=>_t(s,r),[s,r]),m=a.useMemo(()=>Ot(s,r),[s,r]),[u,g]=Lt(ss,Ge),v=a.useMemo(()=>P.find(i=>i.value===u)??P[P.length-1],[u]),[I,K]=De(ns,ue),T=Kt(I),k=qt(T),[ie,$]=De(os,ze),B=Vt(ie),q=a.useMemo(()=>Pt(),[T]),[j]=a.useState(()=>{const i=new URLSearchParams({activityLookbackMs:String(v.value),activityLimit:String(v.activityLimit)}).toString(),l=new URLSearchParams({limit:String(q),transcripts:"true"}).toString();return{fleet:se(`/api/fleet?${i}`,ne),heartrate:se("/api/heartrate",ne),gauges:se("/api/service-budgets",ne),tailRecent:se(`/api/tail/recent?${l}`,ne),tailDiscovery:se("/api/tail/discover",ne)}}),[D,C]=a.useState(j.fleet),[V,de]=a.useState(j.heartrate?.buckets??[]),[h,A]=a.useState(j.heartrate?.windowLabel??"trailing 7d"),[E,U]=a.useState(j.heartrate?j.heartrate.bucketLabel??"":"3h buckets"),[M,Ze]=a.useState(j.tailRecent?.events??[]),[me,et]=a.useState(j.tailDiscovery),[tt,fe]=a.useState(j.gauges?.gauges??[]),[R,ye]=a.useState(j.fleet===null),[Se,je]=a.useState(!1),[F,Ae]=a.useState(null),[Z,st]=a.useState(null),ee=a.useRef(null),Ne=a.useRef(0),Ie=a.useRef(0),ve=a.useRef(j.fleet);a.useEffect(()=>{ve.current=D},[D]);const z=a.useCallback(async(i=!1)=>(await G(`/api/service-budgets${i?"?refresh=1":""}`,{cache:"no-store"})).gauges??[],[]),Q=a.useMemo(()=>Tt(D,d),[D,d]),L=a.useCallback(async(i="initial")=>{const l=++Ne.current;!(ve.current!==null)&&i!=="background"?(ye(!0),Ae(null)):je(!0);const w=new URLSearchParams({activityLookbackMs:String(v.value),activityLimit:String(v.activityLimit)}).toString(),[b,O,S]=await Promise.allSettled([G(`/api/fleet?${w}`),G("/api/heartrate"),o()]);if(l!==Ne.current)return;b.status==="fulfilled"&&(ve.current=b.value,C(b.value)),O.status==="fulfilled"&&(de(O.value.buckets),A(O.value.windowLabel),U(O.value.bucketLabel??""));const W=[xe(b),xe(O),xe(S)].filter(J=>!!J);Ae(W[0]??null),W.length<4&&st(Date.now()),ye(!1),je(!1)},[o,v]),nt=a.useCallback(()=>{X()&&(ee.current||(ee.current=setTimeout(()=>{ee.current=null,L("background")},250)))},[L]);a.useEffect(()=>(L(),()=>{ee.current&&clearTimeout(ee.current)}),[L]),kt(nt),a.useEffect(()=>{let i=!1;const l=async()=>{try{const b=await z();i||fe(b)}catch{}};l();const f=setInterval(()=>{X()&&l()},is),w=()=>{document.visibilityState==="visible"&&X()&&l()};return window.addEventListener("focus",w),document.addEventListener("visibilitychange",w),()=>{i=!0,clearInterval(f),window.removeEventListener("focus",w),document.removeEventListener("visibilitychange",w)}},[z]);const te=a.useCallback(async()=>{try{const i=new URLSearchParams({limit:String(q),transcripts:"true"}),[l,f]=await Promise.all([G(`/api/tail/recent?${i.toString()}`),G("/api/tail/discover").catch(()=>null)]);Ze(l.events??[]),f&&et(f)}catch{}},[q]);a.useEffect(()=>{te();const i=setInterval(()=>{X()&&te()},as);return()=>clearInterval(i)},[te]),a.useEffect(()=>{const i=setInterval(()=>{X()&&L("background")},15e3);return()=>clearInterval(i)},[L]),a.useEffect(()=>Mt(()=>{const l=Date.now();l-Ie.current<1e3||(Ie.current=l,L("background"),z().then(fe).catch(()=>null),te())}),[z,L,te]);const[p,ot]=a.useState(()=>Date.now());a.useEffect(()=>{const i=setInterval(()=>{X()&&ot(Date.now())},1e3);return()=>clearInterval(i)},[]);const Ee=a.useMemo(()=>(Q?.activeAsks??[]).filter(i=>i.status==="queued"||i.status==="working"),[Q]),ae=a.useMemo(()=>Ee.filter(i=>Qe(i.updatedAt,p,k.windowMs)),[Ee,k.windowMs,p]),H=a.useMemo(()=>{const i=new Map;for(const l of ae){const f=i.get(l.agentId),w=x(l.updatedAt)??0,b=x(f?.updatedAt)??0;(!f||w>b)&&i.set(l.agentId,l)}return i},[ae]),it=a.useMemo(()=>m.filter(i=>zt(i,p,H.has(i.id),M,k.windowMs,T)),[m,H,k.windowMs,T,p,M]),y=xt(it),_=a.useMemo(()=>{const l=m.filter(f=>Yt({agent:f,observeEntry:y[f.id],tailEvents:M,nowMs:p,movingAsk:H.get(f.id),windowMs:k.windowMs})).sort((f,w)=>be(w,{observeEntry:y[w.id],tailEvents:M,nowMs:p,movingAsk:H.get(w.id)})-be(f,{observeEntry:y[f.id],tailEvents:M,nowMs:p,movingAsk:H.get(f.id)}));return Zt(l,y)},[m,H,k.windowMs,y,M,p]);a.useMemo(()=>{const i={};for(const l of _)i[l.id]=Jt(y[l.id]?.data);return i},[y,_]);const Le=a.useMemo(()=>new Set(_.map(i=>i.id)),[_]),Ce=a.useMemo(()=>{const i=new Set;for(const l of _){const f=Xe(y[l.id]);f&&i.add(f)}return i},[y,_]),Re=a.useMemo(()=>ts({agents:m,tailEvents:M,transcripts:me?.transcripts??[],processes:me?.processes??[],observeCache:y,nowMs:p,horizon:T}).filter(l=>{if(Le.has(l.agent.id))return!1;const f=Xt(l);return!(f&&Ce.has(f))}).sort((l,f)=>f.lastActiveAt-l.lastActiveAt),[m,T,y,p,me,M,Le,Ce]),he=a.useMemo(()=>ae.filter(i=>!_.some(l=>l.id===i.agentId)).sort((i,l)=>Pe(i.updatedAt,l.updatedAt)),[_,ae]),_e=p-u,N=a.useMemo(()=>{const i=new Set(["ask_failed","ask_replied","flight.completed","flight.updated","flight_updated"]),l=(Q?.activity??[]).filter(f=>!i.has(f.kind)&&(x(f.ts)??0)>=_e);return l.filter((f,w)=>{const b=l[w-1];return b?!(b.title===f.title&&b.summary===f.summary&&b.conversationId===f.conversationId&&Math.abs((x(b.ts)??0)-(x(f.ts)??0))<=5e3):!0})},[Q?.activity,_e]),ge=a.useMemo(()=>fs(N,u,p),[N,u,p]),pe=N.length>=v.activityLimit,at=a.useMemo(()=>{const i=P.findIndex(l=>l.value===u);return i>=0&&i<P.length-1?P[i+1]:null},[u]),rt=new Date,ct=St("ops.control",!0),we=n?.operatorName?.trim()||n?.operatorNameSuggestion?.trim()||"operator",lt=a.useMemo(()=>hs(V,M,p),[V,M,p]),Oe=a.useMemo(()=>{const i=p-k.windowMs,l=Q?.activity??[],f=new Set(m.map(S=>S.name.toLowerCase())),w=new Set(m.map(S=>S.id)),b=new Set(["agent_message","status_message","ask_opened","ask_working","handoff_sent","collaboration_event"]),O=new Map;for(const S of l){const W=x(S.ts);if(W===null||W<i||!b.has(S.kind))continue;const J=S.actorName?.trim();if(!J||J.toLowerCase()===we.toLowerCase()||f.has(J.toLowerCase())||S.agentId&&w.has(S.agentId))continue;const $e=J.toLowerCase(),We=O.get($e),pt=x(We?.ts)??0;(!We||W>pt)&&O.set($e,S)}return[...O.values()].sort((S,W)=>Pe(S.ts,W.ts))},[Q?.activity,k.windowMs,p,m,we]),ut=R?"syncing":F?`${ps(F)?"offline":"sync issue"} · ${Z?ke(Z):"waiting"}`:Z?`Last updated ${ke(Z)}`:"waiting",dt=a.useCallback(()=>{L("manual"),z(!0).then(i=>fe(i)).catch(()=>{})},[z,L]),mt={now:rt,operatorName:we,syncLabel:ut,error:F,loading:R,refreshing:Se,onRefresh:dt,navigate:e,opsEnabled:ct,heartrate:lt,heartrateWindow:h,heartrateBucketLabel:E,heartrateVisibleEventThreshold:rs,serviceGauges:tt},ft=!R&&!F&&N.length===0&&u>=Ge,vt=!R&&!F&&N.length===0,ht=R||N.length>0||!!F||!ft,Te=a.useMemo(()=>[..._.map(l=>({bucket:"working",id:l.id,agent:l,lastActivityAt:be(l,{observeEntry:y[l.id],tailEvents:M,nowMs:p,movingAsk:H.get(l.id)})})),...Re.map(l=>({bucket:"native",id:l.id,lane:l,lastActivityAt:l.lastActiveAt})),...Oe.map(l=>({bucket:"observed",id:l.id,actor:l,lastActivityAt:x(l.ts)??0}))].sort((l,f)=>Ut(l,f,B)),[H,B,Re,p,y,Oe,M,_]),He=Te.slice(0,es),re=He.length,Y=Te.length+he.length,gt=Y>re&&re>0?`What's moving · ${re} of ${Y}`:`What's moving · ${Y}`;return t.jsx("div",{className:"s-fleet-home",children:t.jsxs("div",{className:"s-fleet-home-inner",children:[t.jsx(wt,{...mt}),(Y>0||R)&&t.jsxs("div",{className:"s-fleet-section",children:[t.jsx(Ke,{label:R&&Y===0?"What's moving":gt,right:t.jsxs("div",{className:"s-moving-controls",children:[t.jsx(ws,{sort:B,onSortChange:$,windowKey:k.key,onWindowChange:K}),t.jsx("button",{className:"s-link-btn",onClick:()=>e({view:"mesh"}),children:"open mesh ↗"})]})}),R&&Y===0?t.jsx(ks,{}):t.jsxs(t.Fragment,{children:[re>0&&t.jsx(Bt,{cards:He,sort:B,nowMs:p,movingAskByAgent:H,observeCache:y,navigate:e}),he.length>0&&t.jsx("div",{className:"s-moving-ask-list",children:he.map(i=>t.jsx(bs,{ask:i,navigate:e},i.invocationId))})]})]}),ht&&t.jsxs("div",{className:"s-fleet-section",children:[t.jsx(Ke,{label:`Scout coordination · ${N.length}${pe?"+":""}`,right:t.jsx(xs,{value:u,onChange:g,refreshing:Se&&!R})}),ge&&t.jsxs("div",{className:"s-fleet-live-shape",children:[t.jsxs("span",{children:["last ",Me(ge.lastAgoMs)," ago"]}),t.jsx("span",{children:"·"}),t.jsxs("span",{children:["longest gap ",Me(ge.longestGapMs)]}),pe&&t.jsxs(t.Fragment,{children:[t.jsx("span",{children:"·"}),t.jsxs("span",{style:{color:"var(--amber)"},children:["showing ",Math.min(N.length,30)," of ",v.activityLimit,"+ (capped)"]})]}),!pe&&N.length>30&&t.jsxs(t.Fragment,{children:[t.jsx("span",{children:"·"}),t.jsxs("span",{children:["showing 30 of ",N.length]})]})]}),R&&N.length===0?t.jsx(Ms,{}):N.length===0?t.jsx(ys,{lookbackMs:u,nextOption:at,onWiden:i=>g(i.value),loadedAt:Z,nowMs:p,error:F,onRetry:()=>{L("manual")}}):t.jsx("div",{className:"s-mc-stream s-fleet-live-stream",children:N.slice(0,30).map(i=>t.jsx(As,{item:i,nowMs:p,onOpen:()=>{const l=ds(i);l&&e(l)}},i.id))})]}),vt&&t.jsx("div",{className:"s-fleet-section s-fleet-section--quiet-start",children:t.jsx(js,{agents:m,navigate:e})})]})})}function Ke({label:e,right:s}){return t.jsxs("div",{className:"s-section-rule",children:[t.jsx("span",{className:"s-eyebrow",children:e}),t.jsx("span",{className:"s-section-rule-line"}),s&&t.jsx("span",{className:"s-section-rule-right",children:s})]})}function ws({sort:e,onSortChange:s,windowKey:n,onWindowChange:o}){return t.jsxs("div",{className:"s-moving-controlset","aria-label":"Moving cards controls",children:[t.jsxs("div",{className:"s-mc-window s-moving-window",role:"group","aria-label":"Moving sort",children:[t.jsx("span",{className:"s-mc-window-label",children:"Sort"}),t.jsx("div",{className:"s-mc-window-tabs",children:[["recent","Recent"],["grouped","Grouped"]].map(([c,r])=>t.jsx("button",{type:"button",className:`s-mc-window-tab${e===c?" is-active":""}`,onClick:()=>s(c),children:r},c))})]}),t.jsxs("div",{className:"s-mc-window s-moving-window",role:"group","aria-label":"Moving activity window",children:[t.jsx("span",{className:"s-mc-window-label",children:"Window"}),t.jsx("div",{className:"s-mc-window-tabs",children:le.map(c=>t.jsx("button",{type:"button",className:`s-mc-window-tab${n===c.key?" is-active":""}`,onClick:()=>o(c.key),children:c.label},c.key))})]})]})}function bs({ask:e,navigate:s}){const n=Ht(e);return t.jsxs("button",{className:"s-moving-ask-row",onClick:()=>s(n),children:[t.jsx("span",{className:"s-moving-ask-agent",children:e.agentName??e.agentId}),t.jsx("span",{className:"s-moving-ask-title",children:e.summary??e.task}),t.jsx("span",{className:"s-moving-ask-state",children:e.statusLabel}),t.jsx("span",{className:"s-moving-ask-time",children:ke(e.updatedAt)})]})}function xs({value:e,onChange:s,refreshing:n}){return t.jsxs("div",{className:"s-mc-window",role:"group","aria-label":"Lookback window",children:[t.jsxs("span",{className:"s-mc-window-label",children:["Lookback",n&&t.jsx("span",{className:"s-mc-window-refreshing","aria-label":"refreshing"})]}),t.jsx("div",{className:"s-mc-window-tabs",children:P.map(o=>t.jsx("button",{type:"button",className:`s-mc-window-tab${o.value===e?" is-active":""}`,onClick:()=>s(o.value),children:o.label},o.value))})]})}function ks(){return t.jsx("div",{className:"s-moving-signal-stage s-moving-signal-skeleton","aria-hidden":"true",children:t.jsx("div",{className:"s-moving-signal-list",children:[0,1,2,3,4].map(e=>t.jsxs("div",{className:"s-moving-signal-row s-moving-signal-row--skeleton",children:[t.jsx("span",{className:"s-moving-signal-skeleton-age"}),t.jsx("span",{}),t.jsx("span",{className:"s-moving-signal-skeleton-where"}),t.jsx("span",{className:"s-moving-signal-skeleton-action"})]},e))})})}function Ms(){return t.jsx("div",{className:"s-mc-stream s-fleet-live-stream s-fleet-live-stream--skeleton","aria-hidden":"true",children:[0,1,2,3,4].map(e=>t.jsxs("div",{className:"s-fleet-live-skeleton-row",children:[t.jsx("span",{className:"s-fleet-live-skeleton-time"}),t.jsx("span",{className:"s-fleet-live-skeleton-actor"}),t.jsx("span",{className:"s-fleet-live-skeleton-text"})]},e))})}function ys({lookbackMs:e,nextOption:s,onWiden:n,loadedAt:o,nowMs:c,error:r,onRetry:d}){if(r)return t.jsxs("div",{className:"s-mc-empty s-fleet-live-empty",children:[t.jsx("div",{className:"s-fleet-live-empty-title",children:"Couldn’t load activity."}),t.jsx("div",{className:"s-fleet-live-empty-detail",children:r}),t.jsx("div",{className:"s-fleet-live-empty-actions",children:t.jsx("button",{type:"button",className:"s-link-btn",onClick:d,children:"Try again"})})]});const m=o?`Polled ${Me(Math.max(0,c-o))} ago.`:"Polling…";return t.jsxs("div",{className:"s-mc-empty s-fleet-live-empty",children:[t.jsxs("div",{className:"s-fleet-live-empty-title",children:["No Scout messages or dispatches in the last ",ms(e),"."]}),t.jsx("div",{className:"s-fleet-live-empty-detail",children:m}),s&&t.jsx("div",{className:"s-fleet-live-empty-actions",children:t.jsxs("button",{type:"button",className:"s-link-btn",onClick:()=>n(s),children:["Widen to ",s.label," →"]})})]})}function Ss(e){return[...e].sort((s,n)=>{const o=Be(s.state),c=Be(n.state);return(o==="callable"?0:o==="in_turn"||o==="in_flight"?1:2)-(c==="callable"?0:c==="in_turn"||c==="in_flight"?1:2)||s.name.localeCompare(n.name)})}function js({agents:e,navigate:s}){const n=a.useMemo(()=>Ss(e),[e]),[o,c]=a.useState(()=>n[0]?.id??""),r=n.find(h=>h.id===o)??null,[d,m]=a.useState(null),[u,g]=a.useState(""),[v,I]=a.useState(r?.harness?.trim()??""),[K,T]=a.useState(r?.model?.trim()??""),[k,ie]=a.useState("medium"),[$,B]=a.useState(!1),[q,j]=a.useState(null),D=d??At;a.useEffect(()=>{n.some(h=>h.id===o)||c(n[0]?.id??"")},[o,n]),a.useEffect(()=>{I(r?.harness?.trim()??""),T(r?.model?.trim()??"")},[r?.id]),a.useEffect(()=>{const h=r?.projectRoot?.trim()||r?.cwd?.trim(),A=new URLSearchParams({scope:"global+project"});h&&A.set("projectRoot",h);let E=!1;return G(`/api/runner/options?${A.toString()}`).then(U=>{!E&&U.schemaVersion==="openscout.runtime-capabilities.v1"&&m(U)}).catch(()=>{}),()=>{E=!0}},[r?.cwd,r?.projectRoot]);const C=v||r?.harness?.trim()||"",V=a.useMemo(()=>{const h=jt(D);return C&&!h.harnesses.some(A=>A.value===C)?{...h,harnesses:[...h.harnesses,{value:C,label:C,models:[{value:"",label:"Default",note:"harness picks"}]}]}:h},[D,C]);a.useEffect(()=>{const h=Nt(V,C,K);!h||h.some(A=>A.value===k)||ie(h.find(A=>A.value==="medium")?.value??h[0]?.value??"")},[V,C,K,k]);const de=async h=>{const A=u.trim();if(!(!r||!A||$)){B(!0),j(null);try{const E=await Et(r),U=await G("/api/send",{method:"POST",body:JSON.stringify({body:A,chatId:E,execution:{harness:v||void 0,model:K||void 0,reasoningEffort:k||void 0}})});g("");const M=U.conversationId??E;s({view:"conversation",conversationId:M})}catch(E){j(E instanceof Error?E.message:String(E))}finally{B(!1)}}};return t.jsxs("div",{className:"s-quiet-start",children:[t.jsxs("div",{className:"s-quiet-panel s-quiet-panel--tail",children:[t.jsxs("div",{className:"s-quiet-panel-head",children:[t.jsx("span",{className:"s-eyebrow",children:"Local tail"}),t.jsxs("button",{type:"button",className:"s-icon-btn",title:"Open tail",onClick:()=>s({view:"ops",mode:"tail"}),children:[t.jsx(Dt,{size:14,"aria-hidden":"true"}),t.jsx("span",{children:"Open tail"})]})]}),t.jsx("div",{className:"s-quiet-tail-frame",children:t.jsx(bt,{navigate:s,chrome:"embedded"})})]}),t.jsxs("div",{className:"s-quiet-panel s-quiet-panel--ask",children:[t.jsx("div",{className:"s-quiet-panel-head",children:t.jsx("span",{className:"s-eyebrow",children:"Message"})}),t.jsx("div",{className:"s-quiet-compose",children:t.jsx(Ct,{density:"panel",value:u,onChange:g,onSend:()=>{de()},placeholder:"Type a message…",disabled:$||!r,sending:$,canSend:!$&&!!r&&u.trim().length>0,leadingTools:t.jsxs("div",{className:"s-quiet-target-chip",children:[t.jsx("span",{className:"s-quiet-label",children:"To"}),t.jsx(Gt,{label:"Send to agent",value:o,onChange:c,disabled:n.length===0||$,options:n.length===0?[{value:"",label:"No registered agents"}]:n.map(h=>({value:h.id,label:h.name}))})]}),tools:t.jsx(It,{catalog:V,value:{harness:C,model:K,effort:k},onChange:h=>{I(h.harness===(r?.harness?.trim()??"")?"":h.harness),T(h.model),ie(h.effort)},disabled:$||!r})})}),q&&t.jsx("div",{className:"s-quiet-error",children:q})]})]})}function As({item:e,nowMs:s,onOpen:n}){const o=e.actorName??"—",c=us(e.kind),r=ls(e.title??e.summary,110);return t.jsxs("button",{type:"button",className:"s-mc-stream-row",onClick:n,children:[t.jsx("span",{className:"s-mc-stream-time",children:cs(e.ts,s)}),t.jsx("span",{className:"s-mc-stream-actor",children:o}),t.jsx("span",{className:"s-mc-stream-verb",children:c}),t.jsx("span",{className:"s-mc-stream-text",children:r})]})}export{_n as HomeContent,_n as HomeScreen};
@@ -1 +0,0 @@
1
- import{j as i}from"./index-C1VaWNuD.js";import{AgentInfoScreen as r}from"./AgentInfoScreen-qntgg2q2.js";import{AgentsScreen as m}from"./AgentsScreen-hZ4o2I-e.js";/* empty css */import"./colors-BtO5_zlx.js";import"./conversation-model-C2KuZUXc.js";import"./createLucideIcon-Dv8H8m7J.js";import"./time-Dhsh_2EG.js";import"./api-Co9aQ2Jw.js";import"./perf-PX8Rx0EP.js";import"./sse-B29iGBnw.js";import"./index-BWHgHrtv.js";import"./runtime-picker-C20lTGhV.js";import"./scout-voice-Cg1qfepC.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DmUG_YC7.js";import"./Provider-D0bB7q6y.js";import"./router-kfcaYqZr.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-D7kGGyK_.js";import"./NewChatComposer-D2Ah4T-W.js";import"./index-Cx6Gbr6n.js";import"./HarnessMark-DttReffF.js";import"./NewChatOrigin-DCn5cWPZ.js";import"./keyboard-nav-B8sQ_8IF.js";import"./x-DgmmnPKt.js";import"./chevron-down-D120PY4g.js";import"./search-FB2vVxCp.js";import"./file-text-BHro8MkG.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-D8iB6SMt.js";import"./TextDocumentSurface-2X1Gw4eA.js";import"./chevron-right-CowuvuE6.js";import"./code-xml-CkkNdRmu.js";import"./arrow-left-eToA6GxC.js";import"./arrow-right-DTX42clh.js";import"./chunk-HRAB3GC3-KjjrTLCU.js";import"./openContent-C6XO6kr5.js";import"./BackToPicker-BHicJyfc.js";import"./AgentLiveActions-DlSKL60c.js";import"./terminal-takeover-BMeBjBB2.js";import"./eye-C9cGk5z6.js";import"./terminal-UDy4lzV1.js";import"./ObservedTopologyPanel-CJVqIqQ2.js";/* empty css */import"./AgentsSubnav-Ci7uWM7P.js";import"./SecondaryNav-Cs0_FQdj.js";import"./secondaryNavConfig-C0Srrmy8.js";import"./message-square-BLiFqpe_.js";import"./compass-BdpImt_W.js";import"./settings-DQEtqkM9.js";import"./git-branch-Bc_eDIpG.js";import"./scroll-text-DFcBYy5J.js";import"./library-COnWzUWv.js";/* empty css */import"./SpriteAvatar-DFO4Kb4Z.js";import"./AgentSessions-DV9v34aq.js";import"./clipboard-e3fSpeo7.js";import"./profile-BCvk8jOQ.js";import"./AgentAvatar-Dz79iTxB.js";import"./CrewAvatar-CZ_faQ_s.js";import"./context-budget-DqxWzalx.js";import"./session-catalog-CG4oL_yN.js";import"./terminal-relay-CXHMdain.js";import"./ConversationScreen-DIU7m_aC.js";import"./ConversationComposer-BUIjWMBi.js";import"./zap-Bcja1lHG.js";import"./message-markup-DC0QFEZn.js";import"./mentions-BZ5SBMtc.js";import"./AgentDetailCard-8viaEY8b.js";import"./message-visibility-CGOmSSKs.js";import"./operator-attention-RqieiSY8.js";import"./sessionRead-CvFz2RHv.js";import"./types-B0PlfpKc.js";/* empty css */import"./ConversationHeader-Bt2RBj93.js";import"./AstronautSuit-CwB4Dw07.js";import"./ConversationFeedRows-Bx0gFyG_.js";import"./ConversationPanels-o6W-cOoU.js";import"./tail-display-DcliDVkW.js";import"./lane-edit-display-C_Aujldz.js";import"./use-reduced-motion-CPoX8iV2.js";import"./proxy-DVDRhSRR.js";import"./activity-CzTJ-YMX.js";import"./message-circle-joGFxfj1.js";import"./tail-events-LK29oCKm.js";import"./ConversationStatus-CTYOywFh.js";import"./check-Dz2SRHft.js";import"./sparkles-D0vWLTyC.js";import"./SessionObserve-BVeTkcIl.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-t7-XJP-h.js";import"./lane-observe-vfyACHi0.js";import"./lane-ask-display-B6iCAVcd.js";import"./ObserveTextFlow-DCJ5EmD8.js";import"./SessionObserveEvidence-BkOezTGV.js";import"./wrench-BfVeded5.js";import"./external-link-BvX5PfLh.js";import"./AgentDefinitionsWorkspace-DHDS9Pgd.js";import"./agent-specialization-CtF_jI34.js";import"./project-overview-helpers-BQTc_Ous.js";import"./FileViewerPane-CxNbcTYf.js";/* empty css */import"./agent-essentials-K9B6kbTS.js";/* empty css *//* empty css */function eo({route:t,navigate:o}){return t.view==="agent-info"?i.jsx(r,{conversationId:t.conversationId,navigate:o}):t.view==="agents-v2"?i.jsx(m,{navigate:o,selectedAgentId:t.agentId,conversationId:t.conversationId,tab:t.tab,activeRoute:t}):null}export{eo as AgentsContent};
@@ -1 +0,0 @@
1
- import{j as r}from"./index-C1VaWNuD.js";import{RepoDiffPageScreen as p}from"./RepoDiffPageScreen-DbqX4L3q.js";import{ReposScreen as t}from"./ReposScreen-CzbO1Fuy.js";import"./RepoDiffViewerLazy-DzfoFhbl.js";/* empty css */import"./EmptyState-CKPWFSjq.js";import"./Provider-D0bB7q6y.js";import"./router-kfcaYqZr.js";import"./perf-PX8Rx0EP.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";import"./api-Co9aQ2Jw.js";import"./sse-B29iGBnw.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-D7kGGyK_.js";import"./NewChatComposer-D2Ah4T-W.js";import"./runtime-picker-C20lTGhV.js";import"./scout-voice-Cg1qfepC.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DmUG_YC7.js";import"./createLucideIcon-Dv8H8m7J.js";import"./conversation-model-C2KuZUXc.js";import"./time-Dhsh_2EG.js";import"./index-Cx6Gbr6n.js";import"./HarnessMark-DttReffF.js";import"./NewChatOrigin-DCn5cWPZ.js";import"./keyboard-nav-B8sQ_8IF.js";import"./x-DgmmnPKt.js";import"./chevron-down-D120PY4g.js";import"./search-FB2vVxCp.js";import"./file-text-BHro8MkG.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-D8iB6SMt.js";import"./TextDocumentSurface-2X1Gw4eA.js";import"./chevron-right-CowuvuE6.js";import"./code-xml-CkkNdRmu.js";import"./arrow-left-eToA6GxC.js";import"./arrow-right-DTX42clh.js";import"./chunk-HRAB3GC3-KjjrTLCU.js";import"./api-HFH8wFyb.js";import"./clipboard-e3fSpeo7.js";/* empty css */import"./ui-LM8pS8qE.js";import"./selection-bridge-qBGFCJv8.js";import"./SlidePanel-CETQ5NTx.js";import"./cache-CeWH_KzJ.js";import"./refresh-cw-Bkh7Cvnd.js";import"./sliders-horizontal-57e99_qO.js";function ri({route:i,navigate:o}){return i.view==="repo-diff"?r.jsx(p,{path:i.path,layers:i.layers,files:i.files,sessionId:i.sessionId,agentId:i.agentId,include:i.include,navigate:o}):i.view==="repos"?r.jsx(t,{navigate:o,focusRoot:i.root??null}):null}export{ri as ReposContent};
@@ -1 +0,0 @@
1
- import{j as t}from"./index-C1VaWNuD.js";import{BriefingDetailScreen as o}from"./BriefingDetailScreen-B-wD_Bot.js";import{BriefingsScreen as m}from"./BriefingsScreen-Cn4Mbam9.js";import"./EmptyState-CKPWFSjq.js";import"./api-Co9aQ2Jw.js";import"./perf-PX8Rx0EP.js";import"./scoutbot-markdown-yb87JlSE.js";import"./Provider-D0bB7q6y.js";import"./router-kfcaYqZr.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";import"./sse-B29iGBnw.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-D7kGGyK_.js";import"./NewChatComposer-D2Ah4T-W.js";import"./runtime-picker-C20lTGhV.js";import"./scout-voice-Cg1qfepC.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DmUG_YC7.js";import"./createLucideIcon-Dv8H8m7J.js";import"./conversation-model-C2KuZUXc.js";import"./time-Dhsh_2EG.js";import"./index-Cx6Gbr6n.js";import"./HarnessMark-DttReffF.js";import"./NewChatOrigin-DCn5cWPZ.js";import"./keyboard-nav-B8sQ_8IF.js";import"./x-DgmmnPKt.js";import"./chevron-down-D120PY4g.js";import"./search-FB2vVxCp.js";import"./file-text-BHro8MkG.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-D8iB6SMt.js";import"./TextDocumentSurface-2X1Gw4eA.js";import"./chevron-right-CowuvuE6.js";import"./code-xml-CkkNdRmu.js";import"./arrow-left-eToA6GxC.js";import"./arrow-right-DTX42clh.js";import"./chunk-HRAB3GC3-KjjrTLCU.js";import"./external-link-BvX5PfLh.js";/* empty css *//* empty css */function X({route:i,navigate:r}){return i.view!=="briefings"?null:i.briefingId?t.jsx(o,{briefingId:i.briefingId,navigate:r}):t.jsx(m,{navigate:r})}export{X as BriefingsContent};
@@ -1 +0,0 @@
1
- import{j as t}from"./index-C1VaWNuD.js";import{a as i}from"./BrokerScreen-C8FQ5rlg.js";import"./index-Cx6Gbr6n.js";import"./runtime-picker-C20lTGhV.js";import"./scout-voice-Cg1qfepC.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DmUG_YC7.js";import"./createLucideIcon-Dv8H8m7J.js";import"./EmptyState-CKPWFSjq.js";import"./NewChatComposer-D2Ah4T-W.js";import"./conversation-model-C2KuZUXc.js";import"./colors-BtO5_zlx.js";import"./time-Dhsh_2EG.js";import"./api-Co9aQ2Jw.js";import"./perf-PX8Rx0EP.js";import"./HarnessMark-DttReffF.js";import"./NewChatOrigin-DCn5cWPZ.js";import"./keyboard-nav-B8sQ_8IF.js";import"./x-DgmmnPKt.js";import"./chevron-down-D120PY4g.js";import"./search-FB2vVxCp.js";import"./file-text-BHro8MkG.js";import"./clipboard-e3fSpeo7.js";import"./sse-B29iGBnw.js";import"./index-BWHgHrtv.js";import"./status-tone-BM_zuRy1.js";import"./Provider-D0bB7q6y.js";import"./router-kfcaYqZr.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-D7kGGyK_.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-D8iB6SMt.js";import"./TextDocumentSurface-2X1Gw4eA.js";import"./chevron-right-CowuvuE6.js";import"./code-xml-CkkNdRmu.js";import"./arrow-left-eToA6GxC.js";import"./arrow-right-DTX42clh.js";import"./chunk-HRAB3GC3-KjjrTLCU.js";import"./openContent-C6XO6kr5.js";import"./broker-display-Q75fupqG.js";import"./BrokerMetadataPanel-BJSwU9XZ.js";import"./DispatchAftermath-ZCEB75hh.js";import"./follow-route-BvcGtBIL.js";import"./arrow-up-right-B09GPwFl.js";import"./ShikiPane-C0TuCATU.js";import"./types-B0PlfpKc.js";import"./useEmbedHeadline-DuUnwTB7.js";/* empty css */import"./refresh-cw-Bkh7Cvnd.js";import"./arrow-down-BAGkhHA6.js";import"./external-link-BvX5PfLh.js";import"./sparkles-D0vWLTyC.js";import"./paperclip-Br7wUDFl.js";import"./plus-BWKhylds.js";import"./send-horizontal-CS7mxVhX.js";import"./check-Dz2SRHft.js";import"./copy-BzdzWsQd.js";import"./message-square-BLiFqpe_.js";import"./radio-CxIXS1nU.js";import"./bot-WxKXYtEX.js";function jr({route:r,navigate:o}){return r.view!=="broker"?null:t.jsx(i,{navigate:o})}export{jr as BrokerContent};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-C1VaWNuD.js";import{SessionRefScreen as t}from"./SessionRefScreen-DetLMkTT.js";import{SessionsScreen as m}from"./SessionsScreen-B-McKw6d.js";import{FlightObserveScreen as p}from"./FlightObserveScreen-BTe1YRPr.js";import"./api-Co9aQ2Jw.js";import"./perf-PX8Rx0EP.js";import"./sse-B29iGBnw.js";import"./index-BWHgHrtv.js";import"./tail-events-LK29oCKm.js";import"./BackToPicker-BHicJyfc.js";import"./router-kfcaYqZr.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-Bdt2W3Y4.js";import"./ConversationScreen-DIU7m_aC.js";import"./NewChatComposer-D2Ah4T-W.js";import"./runtime-picker-C20lTGhV.js";import"./scout-voice-Cg1qfepC.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DmUG_YC7.js";import"./createLucideIcon-Dv8H8m7J.js";import"./conversation-model-C2KuZUXc.js";import"./colors-BtO5_zlx.js";import"./time-Dhsh_2EG.js";import"./index-Cx6Gbr6n.js";import"./HarnessMark-DttReffF.js";import"./NewChatOrigin-DCn5cWPZ.js";import"./keyboard-nav-B8sQ_8IF.js";import"./x-DgmmnPKt.js";import"./chevron-down-D120PY4g.js";import"./search-FB2vVxCp.js";import"./file-text-BHro8MkG.js";import"./ConversationComposer-BUIjWMBi.js";import"./AgentAvatar-Dz79iTxB.js";import"./Provider-D0bB7q6y.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-D7kGGyK_.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-D8iB6SMt.js";import"./TextDocumentSurface-2X1Gw4eA.js";import"./chevron-right-CowuvuE6.js";import"./code-xml-CkkNdRmu.js";import"./arrow-left-eToA6GxC.js";import"./arrow-right-DTX42clh.js";import"./chunk-HRAB3GC3-KjjrTLCU.js";import"./SpriteAvatar-DFO4Kb4Z.js";import"./CrewAvatar-CZ_faQ_s.js";import"./zap-Bcja1lHG.js";import"./message-markup-DC0QFEZn.js";import"./mentions-BZ5SBMtc.js";import"./AgentDetailCard-8viaEY8b.js";import"./AgentLiveActions-DlSKL60c.js";import"./terminal-takeover-BMeBjBB2.js";import"./openContent-C6XO6kr5.js";import"./eye-C9cGk5z6.js";import"./terminal-UDy4lzV1.js";import"./message-visibility-CGOmSSKs.js";import"./operator-attention-RqieiSY8.js";import"./sessionRead-CvFz2RHv.js";import"./clipboard-e3fSpeo7.js";import"./types-B0PlfpKc.js";/* empty css */import"./ConversationHeader-Bt2RBj93.js";import"./AstronautSuit-CwB4Dw07.js";import"./ConversationFeedRows-Bx0gFyG_.js";import"./ConversationPanels-o6W-cOoU.js";import"./tail-display-DcliDVkW.js";import"./lane-edit-display-C_Aujldz.js";import"./use-reduced-motion-CPoX8iV2.js";import"./proxy-DVDRhSRR.js";import"./activity-CzTJ-YMX.js";import"./message-circle-joGFxfj1.js";import"./ConversationStatus-CTYOywFh.js";import"./check-Dz2SRHft.js";import"./sparkles-D0vWLTyC.js";import"./SessionObserve-BVeTkcIl.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-t7-XJP-h.js";import"./lane-observe-vfyACHi0.js";import"./lane-ask-display-B6iCAVcd.js";import"./ObservedTopologyPanel-CJVqIqQ2.js";import"./ObserveTextFlow-DCJ5EmD8.js";import"./SessionObserveEvidence-BkOezTGV.js";import"./wrench-BfVeded5.js";import"./external-link-BvX5PfLh.js";import"./session-ref-lookup-state-SATH_jAP.js";/* empty css */import"./RawSessionsTable-CzGhEdiZ.js";/* empty css */import"./DataTable-C6aMSilS.js";/* empty css *//* empty css */function Ui({route:i,navigate:r}){return i.view!=="sessions"?null:i.flightId?o.jsx(p,{route:{...i,flightId:i.flightId},navigate:r}):i.sessionId?o.jsx(t,{sessionRef:i.sessionId,navigate:r}):o.jsx(m,{navigate:r})}export{Ui as SessionsContent};
@@ -1 +0,0 @@
1
- import{c as _}from"./createLucideIcon-Dv8H8m7J.js";import{i as O,s as F,n as L}from"./colors-BtO5_zlx.js";import{n as u,e as W,c as I,t as y}from"./time-Dhsh_2EG.js";const B=[["path",{d:"M20 4v7a4 4 0 0 1-4 4H4",key:"6o5b7l"}],["path",{d:"m9 10-5 5 5 5",key:"1kshq7"}]],ot=_("corner-down-left",B);function d(t){const e=t?.trim();if(!e)return null;const[n]=e.split(".");return n?.trim()||e}function ut(t){const e=t.handle?.trim().replace(/^@+/,"");if(e)return`@${e}`;const n=t.selector?.trim();if(n)return n;const r=d(t.id);return r?`@${r}`:null}function ct(t){return t.name?.trim()||t.agentName?.trim()||d(t.id)||t.title?.trim()||"Conversation"}function $(t,e){const n=u(t),r=u(e);if(n===null||r===null)return!1;const i=new Date(n),s=new Date(r);return i.getFullYear()===s.getFullYear()&&i.getMonth()===s.getMonth()&&i.getDate()===s.getDate()}function lt(t){const e=u(t);if(e===null)return"";const n=new Date(e),r=new Date,i=new Date(r.getFullYear(),r.getMonth(),r.getDate()).getTime(),s=new Date(n.getFullYear(),n.getMonth(),n.getDate()).getTime(),a=1440*60*1e3;return s===i?"Today":s===i-a?"Yesterday":new Intl.DateTimeFormat(void 0,{weekday:"short",month:"short",day:"numeric"}).format(e)}const q=30*6e4;function dt(t){return t.kind==="channel"}function ft(t){return t.kind==="channel"||t.kind==="group_direct"}function k(t){if(t.participantIds.includes("operator"))return!0;const e=t.participants;return e?.length?e.some(n=>n.actorId==="operator"||n.kind==="operator"||n.kind==="person"&&n.actorId==="operator"):!1}function mt(t){return(t.kind==="direct"||t.kind==="group_direct")&&k(t)}function gt(t){return(t.kind==="direct"||t.kind==="group_direct")&&!k(t)}function E(t){return t.title&&t.title!==t.id?t.title:t.agentName??t.id}function pt(t){return E(t)}const P=new Set(["completed","failed","cancelled"]);function c(t){return!!(t&&!P.has(t.state))}function ht(t){return c(t)&&!x(t)}function S(t){return t?.dispatchOutcome?.status==="queued_until_online"}function x(t){return!!(t?.summary?.includes("Scout stopped waiting for a synchronous result")||t?.summary?.includes("the requester stopped waiting after"))}function z(t,e=Date.now(),n=q){if(!c(t)||S(t))return!1;const r=u(t?.startedAt);return r!==null&&e-r>n}function yt(t,e,n=Date.now()){if(!z(t,n))return!1;const r=u(t?.startedAt),i=u(e);return r!==null&&i!==null&&i>r}function At(t){return!c(t)}const wt=[{command:"/route",label:"/route",description:"Route this to another agent",insert:"/route @"},{command:"/inbox",label:"/inbox",description:"Go to the inbox",insert:"/inbox"},{command:"/agents",label:"/agents",description:"Open the agents list",insert:"/agents"},{command:"/fleet",label:"/fleet",description:"Open the fleet view",insert:"/fleet"},{command:"/sessions",label:"/sessions",description:"Browse sessions",insert:"/sessions"},{command:"/mesh",label:"/mesh",description:"Open the mesh view",insert:"/mesh"},{command:"/activity",label:"/activity",description:"Open activity feed",insert:"/activity"},{command:"/settings",label:"/settings",description:"Open settings",insert:"/settings"}];function vt(t,e){return!!(t?.conversationId&&e.has(t.conversationId))}function It(t,e,n){return t.findIndex(r=>{if(n&&r.id===n)return!0;const i=r.metadata?.clientMessageId;return typeof i=="string"&&i.trim()===e})}function kt(t,e){const n=new Set(e.map(s=>s.id)),r=new Set(e.map(s=>s.metadata?.clientMessageId).filter(s=>typeof s=="string"&&!!s.trim()).map(s=>s.trim())),i=t.filter(s=>{const a=s.metadata?.deliveryState;if(a!=="sending"&&a!=="unknown"||n.has(s.id))return!1;const o=s.metadata?.clientMessageId;return typeof o!="string"||!r.has(o.trim())});return j([...e,...i])}const V=["standard","familiar","ledger","rail","document"];function St(t){const e=t.get("treatment")?.trim(),n=t.get("composeDraft")?.trim()||void 0;return{conversationId:t.get("conversationId")?.trim()||"",...n?{initialDraft:n}:{},embedded:!0,showBackNav:!1,treatment:e&&V.includes(e)?e:"standard"}}function Tt(t){return!!t?.terminalSurface}function bt(t){if(t?.kind!=="direct")return null;const e=t.sessionId?.trim();return e||t.participants?.find(n=>n.kind==="session"&&n.sessionId?.trim())?.sessionId?.trim()||null}function Dt(t){const e=t.machineId?.trim()?{machineId:t.machineId.trim()}:{},n=t.resolvedAgentId?.trim();if(n)return{view:"agents-v2",agentId:n,...e};const r=t.sessionId?.trim();return r?{view:"sessions",sessionId:r,...e}:null}function Ct(t){return t.sending||t.awaitingResponse||c(t.currentFlight)}function Mt(t){return t.isDm?t.hasOutstandingReply?"steer":"invoke":"message"}function Rt(t){return t.isAgentBusy?t.intent:"send"}function Nt(t){return!t.isAgentBusy&&!t.sending&&t.queued.length>0}function _t(t){return t.length===0?null:t.length===1?"Sends when this turn lands":"Sends in order when this turn lands"}const A={sustained:15e3,long:3e4};function Ot(t,e){const n=u(t);if(n===null)return"brief";const r=Math.max(0,e-n);return r>=A.long?"long":r>=A.sustained?"sustained":"brief"}const G=6e4;function T(t){const e=t.metadata?.deliveryRequestId;return typeof e=="string"&&e.trim()?e.trim():null}function H(t){for(const e of["targetDisplayName","relayTarget"]){const n=t.metadata?.[e];if(typeof n=="string"&&n.trim())return n.trim()}return t.actorName}function g(t){for(const e of["relayTarget","targetDisplayName"]){const n=t.metadata?.[e];if(typeof n=="string"&&n.trim())return n.trim()}return t.actorId?.trim()||t.actorName}function U(t,e,n){return T(t)!==null&&t.body===e.body&&t.class===e.class&&Math.abs(t.createdAt-e.createdAt)<=G&&!n.has(g(t))}function Ft(t){const e=[];let n=null,r=0;for(;r<t.length;){const i=t[r];let s=r+1;if(T(i)!==null){const o=new Set([g(i)]);for(;s<t.length&&U(t[s],i,o);)o.add(g(t[s])),s+=1}const a=t.slice(r,s);a.length>1?e.push({kind:"fanout",key:`fanout-${i.id}`,messages:a,recipients:a.map(H),createdAt:i.createdAt,previousCreatedAt:n}):e.push({kind:"message",key:i.id,message:i,previousCreatedAt:n}),n=a.at(-1).createdAt,r=s}return e}function Y(t){return t.kind==="fanout"?t.createdAt:t.message.createdAt}function Lt(t,e){return e===0||!$(t.previousCreatedAt,Y(t))}function Wt(t){return t.historyRestorePending||!(!!t.newestMessageId||t.showTyping)?"none":t.initialScrollDone?t.nearBottom&&(t.newestMessageId&&t.newestMessageId!==t.previousNewestMessageId||t.showTyping&&!t.previousShowTyping)?"smooth":"none":"instant"}function b(t,e){if(e<=0)return!0;const n=t[e-1];return!n||/\s/.test(n)}function Bt(t,e){if(e===0)return null;let n=e-1;for(;n>=0;){const i=t[n];if(i==="/")break;if(!i||/\s/.test(i))return null;n-=1}if(n<0||t[n]!=="/"||!b(t,n))return null;const r=t.slice(n+1,e);return/[^a-zA-Z0-9_-]/.test(r)?null:{start:n,query:r}}function $t(t,e){if(e===0)return null;let n=e-1;for(;n>=0;){const i=t[n];if(i==="@")break;if(!i||/\s/.test(i))return null;n-=1}if(n<0||t[n]!=="@"||!b(t,n))return null;const r=t.slice(n+1,e);return/[^a-zA-Z0-9._/:-]/.test(r)?null:{start:n,query:r}}function K(t){if(!t)return null;const e=t.replace(/[\\/]+$/,"");return e?e.split(/[\\/]/).filter(Boolean).at(-1)??e:null}function qt(t){return t.kind==="direct"&&t.agentName?t.agentName:t.kind==="direct"&&t.agentId?d(t.agentId)??t.agentId:t.title.replace(/\s*<>\s*/g," · ")}function Et(t){switch(t){case"status":return"Status";case"system":return"System";case"scout.dispatch":return"Dispatch";default:return null}}function j(t){return[...t].sort((e,n)=>W(e.createdAt,n.createdAt))}function Pt(t){return t.filter(c).sort((e,n)=>I(e.startedAt,n.startedAt))[0]??null}function xt(t,e){try{return JSON.stringify(t)===JSON.stringify(e)?t:e}catch{return e}}function Q(t){const e=t?.dispatchOutcome;if(!e||typeof e!="object"||Array.isArray(e))return null;const n=e,r=typeof n.status=="string"?n.status.trim():"";if(!r)return null;const i=typeof n.reason=="string"?n.reason:null,s=typeof n.checkedAt=="number"?n.checkedAt:typeof n.checkedAt=="string"&&Number.isFinite(Number(n.checkedAt))?Number(n.checkedAt):null;return{status:r,reason:i,checkedAt:s}}function zt(t,e,n,r){const i=r&&r.id===t.id?r:null;return{id:t.id,invocationId:t.invocationId,agentId:t.targetAgentId||n,agentName:i?.agentName??null,conversationId:e,collaborationRecordId:i?.collaborationRecordId??null,state:t.state,summary:t.summary??null,startedAt:t.startedAt??i?.startedAt??null,completedAt:t.completedAt??null,sessions:i?.sessions??[],dispatchOutcome:Q(t.metadata)}}function Vt(){return{generatedAt:Date.now(),totals:{active:0,recentCompleted:0,needsAttention:0,activity:0},activeAsks:[],recentCompleted:[],needsAttention:[],activity:[]}}function Gt(t,e,n,r){if(!e)return[];const i=u(e.startedAt)??0,s=new Set;return t.filter(a=>a.flightId===e.id||a.invocationId===e.invocationId?!0:!r||a.agentId!==r||a.conversationId!==n?!1:(u(a.ts)??0)>=i).filter(a=>s.has(a.id)?!1:(s.add(a.id),!0)).sort((a,o)=>I(a.ts,o.ts))}function Ht(t,e,n,r){return e?t.find(i=>i.flightId===e.id||i.invocationId===e.invocationId)??t.find(i=>i.conversationId===n&&(!r||i.agentId===r)&&(i.status==="queued"||i.status==="working"))??null:null}const J=/\[ask:([^\]]+)\]/i,D=/\[ask:[^\]]+\]\s*/gi;function Ut(t){const e=t.match(J);return e?{flightId:e[1]?.trim()??"",body:t.replace(D,"").trim()}:null}function Z(t){const e=t.replace(D,"").split(/\r?\n/).map(r=>r.trim()).find(Boolean)??"",n=72;return e.length>n?`${e.slice(0,n-1).trimEnd()}…`:e}function Yt(t){const{flightId:e,replyToMessageId:n,messagesById:r,agents:i,operatorName:s}=t;if(!n)return null;const a=r.get(n);if(!a)return null;const o=Z(a.body);if(!o)return null;const l=C(a,s)?s:rt(a.actorId,i,s);return{flightId:e,originatingMessageId:n,title:o,from:l,status:"done"}}function Kt(t,e,n){return t.find(r=>r.status==="needs_attention"&&r.conversationId===e)??t.find(r=>r.status==="needs_attention"&&!r.conversationId&&!!n&&r.agentId===n)??null}function w(t){const e=t.summary?.trim();if(e)return e;const n=t.title?.trim();return n||null}function X(t){return t===1?"1 update":`${t} updates`}function jt(t){const{currentFlight:e,presence:n,turnActivity:r,turnAsk:i,awaitingResponseSince:s,nowMs:a}=t,o=r.find(N=>w(N)),l=S(e),R=(o?w(o):null)??(l?null:i?.summary?.trim())??i?.task?.trim()??(l?null:e?.summary?.trim())??n.detail,f=u(e?.startedAt)??u(i?.startedAt)??u(s),p=u(o?.ts)??u(i?.updatedAt)??f,h=r.length+(i?.acknowledgedAt?1:0);return{latest:R,activityLabel:h>0?X(h):"No activity yet",elapsedLabel:f?y(f,a):"now",lastActivityLabel:p?y(p,a):"now"}}function Qt(t){const e=t.metadata?.scoutDispatch;if(!e||typeof e!="object")return null;const n=e;return!n.id||!n.kind||!Array.isArray(n.candidates)?null:n}function C(t,e){if(t.class==="operator"||t.actorId==="operator")return!0;const n=t.actorName?.toLowerCase()??"";return n===e.toLowerCase()||n==="operator"||n==="you"}function tt(t){const e=t.metadata?.returnAddress;if(!e||typeof e!="object")return null;const n=e.actorId;return typeof n=="string"&&n.trim().length>0?n.trim():null}function m(t,e){const n=t.metadata?.returnAddress;if(!n||typeof n!="object")return null;const r=n[e];return typeof r=="string"&&r.trim().length>0?r.trim():null}function M(t){const e=t?.trim();return e?e.replace(/^@+/,"").toLowerCase():null}function et(t){return new Set([t.id,t.handle,t.selector,t.defaultSelector,t.conversationId].map(M).filter(e=>e!==null))}function v(t,e){for(const n of e){const r=M(n);if(!r)continue;const i=t.filter(s=>et(s).has(r));if(i.length===1)return i[0]}return null}function Jt(t,e,n){const r=t.actorId??tt(t),i=v(e,[r,m(t,"selector"),m(t,"defaultSelector"),m(t,"handle")]);if(i)return i;if(n){const a=v(e,[n]);if(a)return a}if(!t.actorName)return null;const s=e.filter(a=>a.name===t.actorName);return s.length===1?s[0]:null}function Zt(t,e){return t.reduce((n,r)=>{if(C(r,e))return n;const i=u(r.createdAt);return i===null?n:n===null||i>n?i:n},null)}function nt(t,e){switch(e){case"queued":return`${t} has your message and is waiting to start.`;case"waking":return`${t} is waking up now.`;case"waiting":return`${t} is thinking through the request.`;case"running":return`${t} is working on your request.`;default:return`${t} is working on it.`}}function rt(t,e,n){return!t||t==="operator"?n:e.find(i=>i.id===t)?.name??d(t)??t}function Xt(t){const{agentName:e,agentState:n,sending:r,currentFlight:i,showWorkingTurn:s,awaitingResponse:a}=t;if(r&&!i)return{label:"Sending",detail:`Handing your message to ${e}.`,tone:"pending",showStrip:!0,showTyping:!1};if(!i&&a)return{label:"Starting",detail:`${e} is opening the session and routing your request.`,tone:"pending",showStrip:!0,showTyping:!0};if(i&&s){const o=i.summary?.trim()||nt(e,i.state);switch(i.state){case"queued":return{label:"Queued",detail:o,tone:"pending",showStrip:!0,showTyping:!0};case"waking":return{label:"Coming online",detail:o,tone:"working",showStrip:!0,showTyping:!0};case"waiting":return{label:"Thinking",detail:o,tone:"working",showStrip:!0,showTyping:!0};default:return{label:"Working",detail:o,tone:"working",showStrip:!0,showTyping:!0}}}return O(n)?{label:"Ready",detail:`${e} is ready.`,tone:"idle",showStrip:!1,showTyping:!1}:{label:"Not ready",detail:`${e} is not ready right now. Sending a message will try to wake it up.`,tone:"offline",showStrip:!0,showTyping:!1}}function te(t,e){switch(t.tone){case"pending":return"var(--accent)";case"working":return"var(--green)";case"quiet":return"var(--amber)";case"offline":return"var(--dim)";default:return F(e)}}function ee(t){return t.startsWith("c.")?`c.${t.slice(2,10)}`:t.length>22?`${t.slice(0,10)}...${t.slice(-7)}`:t}function ne(t){return"Chat ID"}function re(t){const e=new Map;for(const n of t){const r=K(n.workspaceRoot)??"General",i=e.get(r)??[];i.push(n),e.set(r,i)}return Array.from(e.entries()).map(([n,r])=>({workspace:n,sessions:r.sort((i,s)=>(s.lastMessageAt??0)-(i.lastMessageAt??0))}))}function ie(t,e,n){if(!t)return null;const r=L(t.state);if(e.some(s=>s.agentId===t.id&&s.conversationId===n&&c(s))){const s=e.find(a=>a.agentId===t.id&&a.conversationId===n&&c(a));return s?.state==="running"?"running tool":s?.state==="waiting"?"thinking":"working"}return r==="in_turn"||r==="in_flight"?"typing":null}function se(t){switch(t){case"tool-result":return"Result";case"tool":return"Tool";case"assistant":return"Agent";case"user":return"User";case"message":return"Message";default:return t.replace(/[-_]/g," ")}}export{Nt as $,j as A,kt as B,ot as C,Pt as D,Gt as E,Ht as F,Bt as G,$t as H,Zt as I,ht as J,yt as K,S as L,Ct as M,Xt as N,jt as O,Tt as P,Ft as Q,rt as R,wt as S,It as T,At as U,vt as V,P as W,zt as X,x as Y,Wt as Z,C as _,E as a,_t as a0,Jt as a1,Lt as a2,Qt as a3,Ut as a4,Yt as a5,A as a6,Ot as a7,Mt as a8,Et as a9,Rt as aa,St as ab,Dt as b,d as c,bt as d,ct as e,lt as f,c as g,mt as h,gt as i,se as j,re as k,ie as l,ut as m,qt as n,te as o,K as p,dt as q,v as r,ft as s,w as t,pt as u,xt as v,ne as w,ee as x,Kt as y,Vt as z};
@@ -1 +0,0 @@
1
- import{g as a,a as t,c as e}from"./gestures-YA5IIwp-.js";import"./index-C1VaWNuD.js";import"./use-reduced-motion-CPoX8iV2.js";const r={renderer:e,...t,...a};export{r as default};