@openscout/scout 0.2.80 → 0.2.83

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (358) hide show
  1. package/README.md +1 -1
  2. package/bin/scoutd +0 -0
  3. package/dist/build-manifest.json +4 -4
  4. package/dist/client/assets/ActivityScreen-aewI4Ul1.js +1 -0
  5. package/dist/client/assets/{AddProjectForm-CtEiLQnm.js → AddProjectForm-Czb5uwou.js} +1 -1
  6. package/dist/client/assets/{AgentAvatar-CszU5eaU.js → AgentAvatar-DMov24_o.js} +1 -1
  7. package/dist/client/assets/AgentConfigurationScreen-BjG6ECjl.js +1 -0
  8. package/dist/client/assets/AgentDefinitionsWorkspace-D4MbSMXp.js +1 -0
  9. package/dist/client/assets/{AgentDetailCard-sZuHl1de.js → AgentDetailCard-Biq8b2gv.js} +1 -1
  10. package/dist/client/assets/AgentFloorView-h9KDJdw0.js +1 -0
  11. package/dist/client/assets/AgentInfoScreen-SjhK_SBh.js +1 -0
  12. package/dist/client/assets/{AgentLaneCard-nB68f2CI.js → AgentLaneCard-C4DMQR-c.js} +1 -1
  13. package/dist/client/assets/{AgentLaneChrome-O9Yf0uR-.js → AgentLaneChrome-D1xNNf7A.js} +1 -1
  14. package/dist/client/assets/{AgentLaneDetailSheet-BfhpaEQ3.js → AgentLaneDetailSheet-DnAKe4e3.js} +1 -1
  15. package/dist/client/assets/{AgentLaneSummaryResize-Ct3b0TQR.js → AgentLaneSummaryResize-C9loK-st.js} +1 -1
  16. package/dist/client/assets/AgentLanesEmbedScreen-BNOYF16R.js +1 -0
  17. package/dist/client/assets/{AgentLanesPreflight-DNGvZvjd.js → AgentLanesPreflight-M7iDXdP2.js} +1 -1
  18. package/dist/client/assets/{AgentLanesView-DqRK5-d2.js → AgentLanesView-Ct-Gz5WD.js} +1 -1
  19. package/dist/client/assets/{AgentLiveActions-DI4ooSHW.js → AgentLiveActions-0iy8QZ1T.js} +1 -1
  20. package/dist/client/assets/{AgentSessions-BxWIPkWh.js → AgentSessions-CDfSfNiE.js} +2 -2
  21. package/dist/client/assets/{AgentsConsole-D6VHSCfZ.js → AgentsConsole-BVxhBqRa.js} +1 -1
  22. package/dist/client/assets/AgentsScreen-Bww6HgFs.js +1 -0
  23. package/dist/client/assets/AgentsSubnav-CiIuzxnZ.js +1 -0
  24. package/dist/client/assets/{AtopView-VZkk40v0.js → AtopView-h_aFoNkP.js} +1 -1
  25. package/dist/client/assets/BackToPicker-BXp5E2ck.js +1 -0
  26. package/dist/client/assets/{BriefingDetailScreen-BZU4qMwE.js → BriefingDetailScreen-C83o2YfN.js} +1 -1
  27. package/dist/client/assets/{BriefingsScreen-Bfc3tqPp.js → BriefingsScreen-BTsvr5fv.js} +1 -1
  28. package/dist/client/assets/{BrokerMetadataPanel-CaFe6kdh.js → BrokerMetadataPanel-jg7odHQp.js} +1 -1
  29. package/dist/client/assets/BrokerScreen-DplF8d_X.js +5 -0
  30. package/dist/client/assets/Canvas-BePL08RR.js +1 -0
  31. package/dist/client/assets/{ChatCollapsedStrip-Cov54p9V.js → ChatCollapsedStrip-BRljIymi.js} +1 -1
  32. package/dist/client/assets/{CodeDiffPane-C1ebFt-Y.js → CodeDiffPane-86odpBSt.js} +1 -1
  33. package/dist/client/assets/{CodeProjectPicker-tsCly-f3.js → CodeProjectPicker-8svr_S_A.js} +1 -1
  34. package/dist/client/assets/{CodeScreen-D0hpZNLP.js → CodeScreen-CJ2RgB32.js} +1 -1
  35. package/dist/client/assets/{ContextMenu-N-Z6X0Z1.js → ContextMenu-CxkmFQcN.js} +1 -1
  36. package/dist/client/assets/{ConversationComposer-CiEF7dhd.js → ConversationComposer-CWohCCmn.js} +1 -1
  37. package/dist/client/assets/ConversationFeedRows-IWh0JSIL.js +1 -0
  38. package/dist/client/assets/{ConversationHeader-BGgbITvr.js → ConversationHeader-BxTzXl8e.js} +1 -1
  39. package/dist/client/assets/ConversationPanels-D9UCwNkS.js +2 -0
  40. package/dist/client/assets/ConversationScreen-oZSitVtX.js +1 -0
  41. package/dist/client/assets/{ConversationStatus-COEj5loj.js → ConversationStatus-B6pAbo2w.js} +1 -1
  42. package/dist/client/assets/{DataTable-BoofV-_4.js → DataTable-CGw5CECG.js} +1 -1
  43. package/dist/client/assets/{DispatchAftermath-OXYlMbT1.js → DispatchAftermath-DowTb7uO.js} +1 -1
  44. package/dist/client/assets/{DocumentFocusViewer-BCG2kOmd.js → DocumentFocusViewer-DRKjNG9s.js} +1 -1
  45. package/dist/client/assets/{EmbeddableSurfacesLab-C2SZvrHJ.js → EmbeddableSurfacesLab-CxfJXS2g.js} +1 -1
  46. package/dist/client/assets/{EmptyState-DypEjx0V.js → EmptyState-BUvllvA6.js} +1 -1
  47. package/dist/client/assets/{FileViewerPane-CXCq-oKj.js → FileViewerPane-BM4AD_bo.js} +1 -1
  48. package/dist/client/assets/{FleetSearch-Dj7-CfNi.js → FleetSearch-CYeWn85V.js} +1 -1
  49. package/dist/client/assets/FlightObserveScreen-DYJJ3Z2B.js +1 -0
  50. package/dist/client/assets/{FollowScreen-DRgYuAvp.js → FollowScreen-DG0osbUp.js} +1 -1
  51. package/dist/client/assets/{HarnessMark-BE-YSyci.js → HarnessMark-MztYnrGK.js} +1 -1
  52. package/dist/client/assets/HarnessesScreen-BWqirBjK.js +1 -0
  53. package/dist/client/assets/{HerdrSession-DKFCJMst.js → HerdrSession-6sFln7WX.js} +1 -1
  54. package/dist/client/assets/{HomeHero-CAEg8Yg5.js → HomeHero-BPBArHXa.js} +1 -1
  55. package/dist/client/assets/{KnowledgeSearchInspector-C2EZsQ5i.js → KnowledgeSearchInspector-BOIhFWd2.js} +1 -1
  56. package/dist/client/assets/KnowledgeSearchScreen-BP8tD-Bh.js +1 -0
  57. package/dist/client/assets/{LaneToolHoverCard-DrPXYZvQ.js → LaneToolHoverCard-CcEiQC6B.js} +1 -1
  58. package/dist/client/assets/LaneTraceDetailSheet-B4i1Ut4R.js +1 -0
  59. package/dist/client/assets/{LaneTraceEventFocus-X4-DDFEo.js → LaneTraceEventFocus-Bl9L0EYb.js} +1 -1
  60. package/dist/client/assets/{MeshCanvas-rtCBD7s6.js → MeshCanvas-ZjIuMiRo.js} +1 -1
  61. package/dist/client/assets/{MeshCanvasMinimap-CuvXOkc7.js → MeshCanvasMinimap-C-LQtiX6.js} +1 -1
  62. package/dist/client/assets/MeshScreen-Bs3soujg.js +1 -0
  63. package/dist/client/assets/{MeshTopologyView-CeTShs-U.js → MeshTopologyView-C0LUyT3K.js} +2 -2
  64. package/dist/client/assets/{MessageComposerSuggestions-Cs9u-F_3.js → MessageComposerSuggestions-Dfc3PH2y.js} +1 -1
  65. package/dist/client/assets/MessagesScreen-TgSL5KMc.js +1 -0
  66. package/dist/client/assets/{MissionContextRail-0O-Zu1Tn.js → MissionContextRail-CjGAEGu8.js} +1 -1
  67. package/dist/client/assets/MissionControlView-D629w2A8.js +1 -0
  68. package/dist/client/assets/{MissionFocusOverlay-LnjmqBiW.js → MissionFocusOverlay-Bubrr8Gc.js} +1 -1
  69. package/dist/client/assets/{MissionLeftAgentRow-nc1Jyq3D.js → MissionLeftAgentRow-DokImu4Y.js} +1 -1
  70. package/dist/client/assets/{MissionLogPane-lZ9vUftY.js → MissionLogPane-Cs0LuIkn.js} +1 -1
  71. package/dist/client/assets/{NewAgentModal-K1cvdmZr.js → NewAgentModal-D5e0YUAo.js} +1 -1
  72. package/dist/client/assets/{NewChatComposer-DXDxV2Mh.js → NewChatComposer-S08F6_La.js} +1 -1
  73. package/dist/client/assets/{NewChatOrigin-CnjoswTG.js → NewChatOrigin-BEz6jyqf.js} +1 -1
  74. package/dist/client/assets/{ObserveEmbedScreen-CRpzYf0Y.js → ObserveEmbedScreen-CHx2sEAA.js} +2 -2
  75. package/dist/client/assets/ObserveTextFlow-_ApDwRCO.js +2 -0
  76. package/dist/client/assets/{ObservedTopologyPanel-C1AQM0Mq.js → ObservedTopologyPanel-ByW7Ar7p.js} +1 -1
  77. package/dist/client/assets/OpenScoutAppShell-DTmnbG-h.js +88 -0
  78. package/dist/client/assets/OpsAgentsView-DiFuHcJs.js +1 -0
  79. package/dist/client/assets/OpsScreen-CCR3U_9P.js +1 -0
  80. package/dist/client/assets/OpsSubnav-CZs_OL2N.js +1 -0
  81. package/dist/client/assets/{PlanView-DDXdC19M.js → PlanView-C54eAzig.js} +1 -1
  82. package/dist/client/assets/ProjectAgentProfile-BEfYOaxc.js +1 -0
  83. package/dist/client/assets/{ProjectAgentProfileBar-MODhG0P6.js → ProjectAgentProfileBar-B1VpwzGD.js} +1 -1
  84. package/dist/client/assets/{ProjectAgentProfileHero-C1ImgGDu.js → ProjectAgentProfileHero-B4f_AoCr.js} +1 -1
  85. package/dist/client/assets/ProjectsInbox-DoPZ17FC.js +2 -0
  86. package/dist/client/assets/{ProjectsRail-B1zrQLZe.js → ProjectsRail-CWOkZjsY.js} +1 -1
  87. package/dist/client/assets/ProjectsScreen-Dse0Q6p6.js +1 -0
  88. package/dist/client/assets/ProjectsThreadAside-DMnfyPLE.js +1 -0
  89. package/dist/client/assets/Provider-DKZWuzSR.js +1 -0
  90. package/dist/client/assets/{RailRow-DerXOXQS.js → RailRow-DIGd3MMM.js} +1 -1
  91. package/dist/client/assets/RawSessionsTable-Zkl4YDvz.js +1 -0
  92. package/dist/client/assets/RealtimeVoiceScreen-B_PMJxY_.js +1 -0
  93. package/dist/client/assets/{RepoDiffEmbedScreen-C9oLCcZX.js → RepoDiffEmbedScreen-VLg4caej.js} +1 -1
  94. package/dist/client/assets/{RepoDiffPageScreen-CGEMAv2Z.js → RepoDiffPageScreen-BelnvgnP.js} +1 -1
  95. package/dist/client/assets/{RepoDiffViewer-CB8PSVey.js → RepoDiffViewer-VrUJw33u.js} +1 -1
  96. package/dist/client/assets/RepoDiffViewerLazy-BPg_JkYW.js +2 -0
  97. package/dist/client/assets/{ReposScreen-BN1lVjOj.js → ReposScreen-IINK-CFn.js} +2 -2
  98. package/dist/client/assets/ScoutDeckSurface-MbwGp6Ab.js +1 -0
  99. package/dist/client/assets/{ScoutSurface-BEnDlynn.js → ScoutSurface-x_QbcRyk.js} +1 -1
  100. package/dist/client/assets/ScoutbotBroadcastChip-DAKQKB25.js +2 -0
  101. package/dist/client/assets/{ScoutbotFxLab-fAROyIfz.js → ScoutbotFxLab-7t9JVvZg.js} +1 -1
  102. package/dist/client/assets/{ScoutbotRealtimeVoiceCall-CDyFJX8m.js → ScoutbotRealtimeVoiceCall-Br4bYVAx.js} +1 -1
  103. package/dist/client/assets/{SecondaryNav-Hv5AJ3Fv.js → SecondaryNav-Dj30epYF.js} +1 -1
  104. package/dist/client/assets/{SessionEmbedScreen-CDRpQc3g.js → SessionEmbedScreen-s2mJ5Fg9.js} +1 -1
  105. package/dist/client/assets/{SessionObserve-BmmJ8dEh.js → SessionObserve-DaUrJCMq.js} +1 -1
  106. package/dist/client/assets/{SessionObserveEvidence-CEedIk2a.js → SessionObserveEvidence-ClUW8jpV.js} +1 -1
  107. package/dist/client/assets/SessionRefScreen-DLZNFZFK.js +1 -0
  108. package/dist/client/assets/SessionsScreen-D-hN1n4k.js +1 -0
  109. package/dist/client/assets/{SettingsDrawer-DL-SVLdd.js → SettingsDrawer-BFsnww-k.js} +3 -3
  110. package/dist/client/assets/SettingsScreen-Bc3Xtv5V.js +1 -0
  111. package/dist/client/assets/{ShikiPane-B7O4if20.js → ShikiPane-Dkwyx--r.js} +1 -1
  112. package/dist/client/assets/{SlidePanel-B3gc5HnM.js → SlidePanel-CuTeirnk.js} +1 -1
  113. package/dist/client/assets/{SpriteAvatar-BpQDpOkq.js → SpriteAvatar-DQ3PTb8L.js} +1 -1
  114. package/dist/client/assets/{StatusPill-B33sQinT.js → StatusPill-BJ1ierIR.js} +1 -1
  115. package/dist/client/assets/{TailView-DL3YZkzE.js → TailView-CufWcrvf.js} +2 -2
  116. package/dist/client/assets/Terminal-D_OmdFmr.js +1 -0
  117. package/dist/client/assets/TerminalEmbedScreen-D21ytNXW.js +1 -0
  118. package/dist/client/assets/TerminalRelay-rvUzI9Ek.js +46 -0
  119. package/dist/client/assets/{TextDocumentSurface-DRjctOIt.js → TextDocumentSurface-Bc-kHPgG.js} +1 -1
  120. package/dist/client/assets/{TmuxPeek-DNC4uWky.js → TmuxPeek-DLyDkq_D.js} +1 -1
  121. package/dist/client/assets/{VoicePermissionsPanel-WLN0V-Xv.js → VoicePermissionsPanel-CD903y9K.js} +1 -1
  122. package/dist/client/assets/{WorkDetailScreen-D2Yl0mYZ.js → WorkDetailScreen-D51oI0dH.js} +2 -2
  123. package/dist/client/assets/{WorkFilesViewer-BbVfcUN-.js → WorkFilesViewer-BDMNbxE4.js} +1 -1
  124. package/dist/client/assets/{activity-BxwKkT8z.js → activity-BvGruxWG.js} +1 -1
  125. package/dist/client/assets/{addon-fit-B9O2vJoh.js → addon-fit-Cfq4Ayjd.js} +1 -1
  126. package/dist/client/assets/{addon-webgl-BhRZFDcn.js → addon-webgl-B8sIf9-s.js} +1 -1
  127. package/dist/client/assets/{agent-essentials-SrzMYEXV.js → agent-essentials-yb4wIJlX.js} +1 -1
  128. package/dist/client/assets/{agent-lane-card-model-DSWdGu-v.js → agent-lane-card-model-q4cwzLX4.js} +1 -1
  129. package/dist/client/assets/{agent-lanes-model-CPgQRenB.js → agent-lanes-model-VYQ5a68i.js} +1 -1
  130. package/dist/client/assets/{arc.es-NlJw-19N.js → arc.es-BBTfhvLE.js} +1 -1
  131. package/dist/client/assets/{arrow-left-_vS7itsV.js → arrow-left-BOht-YQu.js} +1 -1
  132. package/dist/client/assets/{arrow-up-right-CcrWONpD.js → arrow-up-right-hoR8_oUz.js} +1 -1
  133. package/dist/client/assets/{bot-BRINYlC6.js → bot-BUK7dOPS.js} +1 -1
  134. package/dist/client/assets/{check-COxArFXG.js → check--esHw52j.js} +1 -1
  135. package/dist/client/assets/{chevron-down-DRCbnzyY.js → chevron-down-NAhBUkFd.js} +1 -1
  136. package/dist/client/assets/{chevron-right-CNE6QAVr.js → chevron-right-C10o7t_X.js} +1 -1
  137. package/dist/client/assets/{chunk-HRAB3GC3-CAeEKaf5.js → chunk-HRAB3GC3-DF8R9rPv.js} +1 -1
  138. package/dist/client/assets/{clock-CyfvRmj6.js → clock-of01sAB6.js} +1 -1
  139. package/dist/client/assets/{code-xml--LjSM4Mv.js → code-xml-CLn3TDWF.js} +1 -1
  140. package/dist/client/assets/content-B-SUUhXj.js +1 -0
  141. package/dist/client/assets/content-BRY2vo1_.js +1 -0
  142. package/dist/client/assets/content-BTm0mVyD.js +1 -0
  143. package/dist/client/assets/content-BTqvyb5E.js +1 -0
  144. package/dist/client/assets/content-BjDaXmSD.js +1 -0
  145. package/dist/client/assets/content-BrR6deGh.js +1 -0
  146. package/dist/client/assets/content-C5yvBEMy.js +1 -0
  147. package/dist/client/assets/content-Cgj5AWqT.js +1 -0
  148. package/dist/client/assets/content-CkhG__-v.js +1 -0
  149. package/dist/client/assets/content-CudIBsiP.js +1 -0
  150. package/dist/client/assets/content-DBb7ppd5.js +1 -0
  151. package/dist/client/assets/content-DEw_kGyK.js +1 -0
  152. package/dist/client/assets/content-DIy0DCzK.js +1 -0
  153. package/dist/client/assets/content-THl9hRAo.js +1 -0
  154. package/dist/client/assets/content-vi9FbmV9.js +1 -0
  155. package/dist/client/assets/content-wcgPMGVf.js +1 -0
  156. package/dist/client/assets/{conversation-icons-c-hXv7hY.js → conversation-icons-ClBJi21l.js} +1 -1
  157. package/dist/client/assets/conversation-motion-features-zU0k3Agz.js +1 -0
  158. package/dist/client/assets/{copy-4LfKIdQJ.js → copy-Dty8ZYsM.js} +1 -1
  159. package/dist/client/assets/{createLucideIcon-ClCdc3F9.js → createLucideIcon-Bt67PWH-.js} +1 -1
  160. package/dist/client/assets/discover-NDAqNvKt.js +2 -0
  161. package/dist/client/assets/embed-entry-BVR09F6e.js +2 -0
  162. package/dist/client/assets/{external-link-CnaI1QFS.js → external-link-Dem738OJ.js} +1 -1
  163. package/dist/client/assets/{eye-BFlhMzQL.js → eye-B3lBIwJZ.js} +1 -1
  164. package/dist/client/assets/{file-text-DG-pufl1.js → file-text-iF0hyVyU.js} +1 -1
  165. package/dist/client/assets/{home-moving-signal-aNJusIzL.js → home-moving-signal-C8dTXieA.js} +1 -1
  166. package/dist/client/assets/{home-now-card-BQK4EFHx.js → home-now-card-BgvVcE83.js} +1 -1
  167. package/dist/client/assets/{home-now-card-nano-CdtzqSIF.js → home-now-card-nano-hZl9klbP.js} +1 -1
  168. package/dist/client/assets/hooks-DBIezYS2.js +2 -0
  169. package/dist/client/assets/index-BMwKgdz_.js +1 -0
  170. package/dist/client/assets/index-Bu-fckyR.css +1 -0
  171. package/dist/client/assets/index-BxoufAPA.js +1 -0
  172. package/dist/client/assets/index-Cj7NnSxI.js +1 -0
  173. package/dist/client/assets/{index-CzVeWScw.js → index-o4FKpU7Z.js} +2 -2
  174. package/dist/client/assets/{inspector-panel-DgOM8nCo.js → inspector-panel-Dy2cVTCi.js} +2 -2
  175. package/dist/client/assets/{keyboard-nav-BJnFoFDP.js → keyboard-nav-Chf51dns.js} +1 -1
  176. package/dist/client/assets/{lane-roster-store-pR4ZaYQm.js → lane-roster-store-BiIVlYmG.js} +1 -1
  177. package/dist/client/assets/left-BC7p5QbT.js +1 -0
  178. package/dist/client/assets/left-BCSGqccQ.js +1 -0
  179. package/dist/client/assets/left-BSyj8PuJ.js +2 -0
  180. package/dist/client/assets/left-DDnxNUxd.js +1 -0
  181. package/dist/client/assets/left-DLoDKxT5.js +2 -0
  182. package/dist/client/assets/left-O-TBH7JB.js +1 -0
  183. package/dist/client/assets/left-agents-Dk9Y89lb.js +1 -0
  184. package/dist/client/assets/left-default-B3JBRQNJ.js +1 -0
  185. package/dist/client/assets/left-lanes-30Oe_3RM.js +1 -0
  186. package/dist/client/assets/left-mission-DEl4-7xu.js +1 -0
  187. package/dist/client/assets/left-plan-B4qdm4Gn.js +2 -0
  188. package/dist/client/assets/left-rvUOB14X.js +1 -0
  189. package/dist/client/assets/library-DDKSLFJ_.js +1 -0
  190. package/dist/client/assets/{loader-circle-Byb9kSFx.js → loader-circle-4LDsy4Ke.js} +1 -1
  191. package/dist/client/assets/{local-agents-DBaUbP-_.js → local-agents-DIi2EacM.js} +1 -1
  192. package/dist/client/assets/{mentions-fbQJ2mBI.js → mentions-CvDaviLJ.js} +1 -1
  193. package/dist/client/assets/{mesh-ops-Cnw3vwAu.js → mesh-ops-JZwGuAPn.js} +1 -1
  194. package/dist/client/assets/{mesh-view-store-Btlyc7rW.js → mesh-view-store-Du7VqIT_.js} +1 -1
  195. package/dist/client/assets/{message-circle-aGOfQWm2.js → message-circle-BM3XgevU.js} +1 -1
  196. package/dist/client/assets/{message-markup-mGF07emJ.js → message-markup-BcY1lShv.js} +1 -1
  197. package/dist/client/assets/{message-square-CIXda-Y7.js → message-square-ER1_q2pe.js} +1 -1
  198. package/dist/client/assets/{mission-control-store-CcoNeQHG.js → mission-control-store-C6w5iVfg.js} +1 -1
  199. package/dist/client/assets/{observe-BNFzh-7B.js → observe-3-jn4SXb.js} +1 -1
  200. package/dist/client/assets/{page-status-DDvNdA8s.js → page-status-0LPfBC8S.js} +1 -1
  201. package/dist/client/assets/{plus-CmFQp9Uj.js → plus-C-2gTcPK.js} +1 -1
  202. package/dist/client/assets/profile-DW80Gn5k.js +1 -0
  203. package/dist/client/assets/{projects-inbox-Diddml6e.js → projects-inbox-DCeD3FfV.js} +1 -1
  204. package/dist/client/assets/provider-BvAxRQfE.js +1 -0
  205. package/dist/client/assets/{radio-PauJIekM.js → radio-v7UAMZGh.js} +1 -1
  206. package/dist/client/assets/{refresh-cw-4oeFn1Jn.js → refresh-cw-B5To7b6B.js} +1 -1
  207. package/dist/client/assets/resolve-panes-BDi9Qx4R.js +1 -0
  208. package/dist/client/assets/resolve-sidebar-context-HE-5eZYa.js +1 -0
  209. package/dist/client/assets/right-BDf_yTv6.js +1 -0
  210. package/dist/client/assets/{right-BcFnuse9.js → right-BvoGOUKH.js} +1 -1
  211. package/dist/client/assets/right-C-bgjYg-.js +1 -0
  212. package/dist/client/assets/right-C3JdEfYQ.js +1 -0
  213. package/dist/client/assets/right-CYIs2tEe.js +1 -0
  214. package/dist/client/assets/right-CyRCv6Up.js +1 -0
  215. package/dist/client/assets/right-DBYGtoRv.js +1 -0
  216. package/dist/client/assets/right-o3LHMiKa.js +1 -0
  217. package/dist/client/assets/right-oPrcx9MX.js +1 -0
  218. package/dist/client/assets/right-sSvBUK-j.js +1 -0
  219. package/dist/client/assets/{rocket-C-AskjZH.js → rocket-BQQQv2L5.js} +1 -1
  220. package/dist/client/assets/router-C65cZYPn.js +1 -0
  221. package/dist/client/assets/{runtime-picker-BCQD7d4K.js → runtime-picker-eDEvx2Mz.js} +1 -1
  222. package/dist/client/assets/{scope-views-BhkbIFPY.js → scope-views-BOOmgmwx.js} +1 -1
  223. package/dist/client/assets/{scout-voice-S5_YZ2v8.js → scout-voice-B7kXlkcl.js} +1 -1
  224. package/dist/client/assets/{scroll-text-BV-BB7v-.js → scroll-text-BuneRiAD.js} +1 -1
  225. package/dist/client/assets/{search-C3bSJluv.js → search-7_n7CxWl.js} +1 -1
  226. package/dist/client/assets/{secondaryNavConfig-Bg4Tc0gT.js → secondaryNavConfig-CSFDCQAf.js} +1 -1
  227. package/dist/client/assets/{selection-bridge-B1dmkX3P.js → selection-bridge-SlGsgHw2.js} +1 -1
  228. package/dist/client/assets/{send-horizontal-CqogPmbY.js → send-horizontal-DP16OOIW.js} +1 -1
  229. package/dist/client/assets/{server-Brw5Y1Gh.js → server-pYOMFjrT.js} +1 -1
  230. package/dist/client/assets/{session-catalog-9FqXmjBw.js → session-catalog-_QfQ7fhZ.js} +1 -1
  231. package/dist/client/assets/{session-table-1xdSxSXq.js → session-table-CYN8e4s3.js} +1 -1
  232. package/dist/client/assets/{sliders-horizontal-CUiOH26y.js → sliders-horizontal-D2Z8gz6J.js} +1 -1
  233. package/dist/client/assets/{sparkles-BjCA3Evu.js → sparkles-Bth2iK7t.js} +1 -1
  234. package/dist/client/assets/{sse-QcU9bikk.js → sse-CL6gctHY.js} +1 -1
  235. package/dist/client/assets/{tail-events-C6K7bCWB.js → tail-events-NLIWLq27.js} +1 -1
  236. package/dist/client/assets/{terminal-DrTkVXIj.js → terminal-By1Lw2i2.js} +1 -1
  237. package/dist/client/assets/{terminal-relay-BkXjjSkq.js → terminal-relay-CjkI5aUy.js} +1 -1
  238. package/dist/client/assets/{terminal-sessions-C3qU8tnY.js → terminal-sessions-AmSgHklm.js} +1 -1
  239. package/dist/client/assets/{terminal-takeover-KvmTwABa.js → terminal-takeover-7AvNpnkC.js} +1 -1
  240. package/dist/client/assets/{use-conversation-list-C5sF6WBR.js → use-conversation-list-BCzY032j.js} +1 -1
  241. package/dist/client/assets/{use-fleet-active-asks-BOMPW0nl.js → use-fleet-active-asks-CJ6-oj5k.js} +1 -1
  242. package/dist/client/assets/{use-mesh-ops-items-Co05vcTV.js → use-mesh-ops-items-D5L-CKe_.js} +1 -1
  243. package/dist/client/assets/use-reduced-motion-CqXpVXv-.js +1 -0
  244. package/dist/client/assets/use-scout-dev-flags-BohC8seq.js +1 -0
  245. package/dist/client/assets/{useAgentHoverCard-FtCmY-b9.js → useAgentHoverCard-RsLUYyeh.js} +1 -1
  246. package/dist/client/assets/useContentSecondaryNav-DOr5yHbT.js +1 -0
  247. package/dist/client/assets/usePersistentState-D3M4m2Ou.js +1 -0
  248. package/dist/client/assets/{usePierreRuntime-Bo4lD7Ui.js → usePierreRuntime-B4hbNWTz.js} +1 -1
  249. package/dist/client/assets/{wrench-CeCdjiPF.js → wrench-M4G7WtYB.js} +1 -1
  250. package/dist/client/assets/{x-D4X_y1j_.js → x-ynOfVadO.js} +1 -1
  251. package/dist/client/assets/{xterm-D2a5wrkJ.js → xterm-DZHyijPp.js} +1 -1
  252. package/dist/client/index.html +2 -2
  253. package/dist/main.mjs +41 -26
  254. package/dist/node/main.mjs +19 -5
  255. package/dist/pairing-runtime-controller.mjs +2 -2
  256. package/dist/runtime/broker-daemon.mjs +2 -2
  257. package/dist/scout-control-plane-web.mjs +21 -7
  258. package/dist/scout-web-server.mjs +21 -7
  259. package/package.json +4 -4
  260. package/dist/client/assets/ActivityScreen-BXm6nJ6L.js +0 -1
  261. package/dist/client/assets/AgentConfigurationScreen-CfBXxrsD.js +0 -1
  262. package/dist/client/assets/AgentDefinitionsWorkspace-4Z0aN8AR.js +0 -1
  263. package/dist/client/assets/AgentFloorView-DMivAYHU.js +0 -1
  264. package/dist/client/assets/AgentInfoScreen-CPkLg1pK.js +0 -1
  265. package/dist/client/assets/AgentLanesEmbedScreen-CjHMvy3v.js +0 -1
  266. package/dist/client/assets/AgentsScreen-zR6b2bUL.js +0 -1
  267. package/dist/client/assets/AgentsSubnav-q0xcZi6C.js +0 -1
  268. package/dist/client/assets/BackToPicker-DZg_4nHL.js +0 -1
  269. package/dist/client/assets/BrokerScreen-Chh8sGen.js +0 -5
  270. package/dist/client/assets/ConversationFeedRows-5it6QNBV.js +0 -1
  271. package/dist/client/assets/ConversationPanels-vI9YuQJh.js +0 -2
  272. package/dist/client/assets/ConversationScreen-C-PrCRz1.js +0 -1
  273. package/dist/client/assets/FlightObserveScreen-Yq5NtQQJ.js +0 -1
  274. package/dist/client/assets/HarnessesScreen-L-emPcXd.js +0 -1
  275. package/dist/client/assets/KnowledgeSearchScreen-DvdOFh-b.js +0 -1
  276. package/dist/client/assets/LaneTraceDetailSheet-Dl7foF88.js +0 -1
  277. package/dist/client/assets/MeshScreen-D5zzTn0o.js +0 -1
  278. package/dist/client/assets/MessagesScreen-BhOJ7_tj.js +0 -1
  279. package/dist/client/assets/MissionControlView-D2JO9u-y.js +0 -1
  280. package/dist/client/assets/ObserveTextFlow-DJxQc2H6.js +0 -2
  281. package/dist/client/assets/OpenScoutAppShell-DrHYD_pd.js +0 -87
  282. package/dist/client/assets/OpsAgentsView-BnMX0vEY.js +0 -1
  283. package/dist/client/assets/OpsScreen-BeC0lieE.js +0 -1
  284. package/dist/client/assets/OpsSubnav-D5Bpowtk.js +0 -1
  285. package/dist/client/assets/ProjectAgentProfile-zE1cApxw.js +0 -1
  286. package/dist/client/assets/ProjectsInbox-C3Jd6JTk.js +0 -2
  287. package/dist/client/assets/ProjectsScreen-PW_NH5VK.js +0 -1
  288. package/dist/client/assets/ProjectsThreadAside-DaCEUWN1.js +0 -1
  289. package/dist/client/assets/Provider-DSsb2gLR.js +0 -1
  290. package/dist/client/assets/RawSessionsTable-LWEvXJzj.js +0 -1
  291. package/dist/client/assets/RealtimeVoiceScreen-XtxbCjOs.js +0 -1
  292. package/dist/client/assets/RepoDiffViewerLazy-DIxkiMto.js +0 -2
  293. package/dist/client/assets/ScoutDeckSurface-BCpl0QCx.js +0 -1
  294. package/dist/client/assets/ScoutbotBroadcastChip-z9R_pC_U.js +0 -2
  295. package/dist/client/assets/SessionRefScreen-Dk-O4OVt.js +0 -1
  296. package/dist/client/assets/SessionsScreen-BJEjuo2X.js +0 -1
  297. package/dist/client/assets/SettingsScreen-DJ-BhBwR.js +0 -1
  298. package/dist/client/assets/Terminal-Dp1FSGIS.js +0 -1
  299. package/dist/client/assets/TerminalEmbedScreen-DP9IM4xf.js +0 -1
  300. package/dist/client/assets/arrow-down-D3-IbArq.js +0 -1
  301. package/dist/client/assets/chunk-JTPDIGGW-s6WbxdjC.js +0 -46
  302. package/dist/client/assets/chunk-T65CQEWV-CiZ_ICHW.js +0 -1
  303. package/dist/client/assets/chunk-YOZR3KYS-DLOc92uD.js +0 -2
  304. package/dist/client/assets/content-7ZeCPAEt.js +0 -1
  305. package/dist/client/assets/content-BHUcUCH5.js +0 -1
  306. package/dist/client/assets/content-BUhvLPkv.js +0 -1
  307. package/dist/client/assets/content-BomQ5YWo.js +0 -1
  308. package/dist/client/assets/content-C39ELNgC.js +0 -1
  309. package/dist/client/assets/content-C4RYKHut.js +0 -1
  310. package/dist/client/assets/content-CCiZfG4H.js +0 -1
  311. package/dist/client/assets/content-CDpDtVI-.js +0 -1
  312. package/dist/client/assets/content-CO-9CeFd.js +0 -1
  313. package/dist/client/assets/content-CuOLxp1x.js +0 -1
  314. package/dist/client/assets/content-CvtLIjXS.js +0 -1
  315. package/dist/client/assets/content-CzwTUb9n.js +0 -1
  316. package/dist/client/assets/content-DQXbo2RO.js +0 -1
  317. package/dist/client/assets/content-DRTQ9QQb.js +0 -1
  318. package/dist/client/assets/content-LCELs6zg.js +0 -1
  319. package/dist/client/assets/content-qsDjA4Au.js +0 -1
  320. package/dist/client/assets/conversation-motion-features-T8vF9zED.js +0 -1
  321. package/dist/client/assets/discover-7Ks00w-M.js +0 -2
  322. package/dist/client/assets/embed-entry-n2ThmSSX.js +0 -2
  323. package/dist/client/assets/gestures-CxG3Dphs.js +0 -1
  324. package/dist/client/assets/hooks-Dst1TH7n.js +0 -2
  325. package/dist/client/assets/index-9as_JTUs.css +0 -1
  326. package/dist/client/assets/index-CU9dtwJk.js +0 -1
  327. package/dist/client/assets/index-Dewd56RX.js +0 -1
  328. package/dist/client/assets/index-_YQXKEhb.js +0 -1
  329. package/dist/client/assets/left-BhzPp-_E.js +0 -1
  330. package/dist/client/assets/left-CN1MABD0.js +0 -2
  331. package/dist/client/assets/left-DDgbsio7.js +0 -1
  332. package/dist/client/assets/left-Dpf2R9uD.js +0 -1
  333. package/dist/client/assets/left-HwwbMVtl.js +0 -2
  334. package/dist/client/assets/left-YfH0daht.js +0 -1
  335. package/dist/client/assets/left-agents-CYUwAy2Z.js +0 -1
  336. package/dist/client/assets/left-default-vEGZALPv.js +0 -1
  337. package/dist/client/assets/left-lanes-bphF-vlX.js +0 -1
  338. package/dist/client/assets/left-mission-B54-c3hq.js +0 -1
  339. package/dist/client/assets/left-np5USKqG.js +0 -1
  340. package/dist/client/assets/left-plan-BNBuDoPQ.js +0 -2
  341. package/dist/client/assets/library-DbCVJG_O.js +0 -1
  342. package/dist/client/assets/paperclip-DfpJkR4s.js +0 -1
  343. package/dist/client/assets/profile-s3KRbip1.js +0 -1
  344. package/dist/client/assets/resolve-panes-cp6eNewO.js +0 -1
  345. package/dist/client/assets/resolve-sidebar-context-Dbo-5PWx.js +0 -1
  346. package/dist/client/assets/right-09W2JJFg.js +0 -1
  347. package/dist/client/assets/right-B-MKhiJ6.js +0 -1
  348. package/dist/client/assets/right-B91Zl8lQ.js +0 -1
  349. package/dist/client/assets/right-BdtMzn35.js +0 -1
  350. package/dist/client/assets/right-BqmKXLtf.js +0 -1
  351. package/dist/client/assets/right-BzeB-Dpt.js +0 -1
  352. package/dist/client/assets/right-CkGOs-sq.js +0 -1
  353. package/dist/client/assets/right-CzGiNBzB.js +0 -1
  354. package/dist/client/assets/right-Dc7uqv7l.js +0 -1
  355. package/dist/client/assets/router-B-K15T7B.js +0 -1
  356. package/dist/client/assets/use-reduced-motion-Dla-G_Jz.js +0 -1
  357. package/dist/client/assets/use-scout-dev-flags-BOQF3fW2.js +0 -1
  358. package/dist/client/assets/useContentSecondaryNav-BX7Sq7vy.js +0 -1
@@ -1,46 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/xterm-D2a5wrkJ.js","assets/index-CzVeWScw.js","assets/index-9as_JTUs.css","assets/addon-fit-B9O2vJoh.js","assets/addon-webgl-BhRZFDcn.js"])))=>i.map(i=>d[i]);
2
- import{r as e,j as o,_ as _e}from"./index-CzVeWScw.js";import{u as Ke}from"./chunk-HRAB3GC3-CAeEKaf5.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-D2a5wrkJ.js").then(a=>a.x),__vite__mapDeps([0,1,2])),_e(()=>import("./addon-fit-B9O2vJoh.js").then(a=>a.a),__vite__mapDeps([3,1,2])),_e(()=>import("./addon-webgl-BhRZFDcn.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 +0,0 @@
1
- import{r as e,j as s}from"./index-CzVeWScw.js";import{P as Q}from"./plus-CmFQp9Uj.js";import{c as O}from"./createLucideIcon-ClCdc3F9.js";const ee=[["path",{d:"M5 12h14",key:"1ays0h"}]],te=O("minus",ee);var ne=({panOffset:u,scale:o,onPan:p,onPanStart:h,onPanEnd:a,isPanLocked:l=!1,onClick:m,showGuides:f=!1,onGuidesChange:y,gridOpacity:v=1})=>{const[d,k]=e.useState(f),[j,N]=e.useState(!1),c=e.useRef(!1),x=e.useRef({x:0,y:0}),n=e.useRef({active:!1,startX:0,startY:0}),z=e.useRef(null),M=e.useRef(null),S=e.useRef(null),A=4,H=e.useRef({x:0,y:0}),$=e.useRef(0),C=e.useRef(!1);e.useEffect(()=>{k(f)},[f]);const X=e.useCallback(t=>{const i=t;return i?i.tagName==="INPUT"||i.tagName==="TEXTAREA"||i.isContentEditable:!1},[]),Y=e.useCallback(t=>{const i=t;return i?!!i.closest('button, [role="button"], a, input, textarea, select, [data-interactive="true"]'):!1},[]),b=e.useCallback(t=>{c.current=t,N(t)},[]);e.useEffect(()=>{const t=r=>{if($.current=r.buttons,n.current.active&&(r.buttons&1)!==1&&(n.current.active=!1),c.current&&(r.buttons&1)!==1){b(!1),n.current.active=!1,a?.(),document.body.style.cursor="";return}if(l&&c.current){b(!1),n.current.active=!1,a?.(),document.body.style.cursor="";return}const g=z.current?.getBoundingClientRect(),w=g?r.clientX-g.left:r.clientX,_=g?r.clientY-g.top:r.clientY;if(H.current={x:w,y:_},M.current&&(M.current.style.left=`${w}px`),S.current&&(S.current.style.top=`${_}px`),n.current.active&&!c.current){const q=r.clientX-n.current.startX,J=r.clientY-n.current.startY;Math.hypot(q,J)>=A&&(n.current.active=!1,b(!0),C.current=!0,h?.(),x.current={x:r.clientX,y:r.clientY},document.body.style.cursor="grabbing")}c.current&&(p({x:(r.clientX-x.current.x)/o,y:(r.clientY-x.current.y)/o}),x.current={x:r.clientX,y:r.clientY})},i=r=>{$.current=r.buttons,n.current.active=!1,c.current&&(b(!1),a?.(),document.body.style.cursor="")},K=r=>{(r.metaKey||r.ctrlKey)&&r.key==="\\"&&(r.preventDefault(),k(g=>{const w=!g;return y?.(w),w}))},R=()=>{n.current.active=!1,i(new MouseEvent("mouseup"))};return window.addEventListener("mousemove",t),window.addEventListener("mouseup",i),window.addEventListener("keydown",K),window.addEventListener("blur",R),document.addEventListener("visibilitychange",R),()=>{window.removeEventListener("mousemove",t),window.removeEventListener("mouseup",i),window.removeEventListener("keydown",K),window.removeEventListener("blur",R),document.removeEventListener("visibilitychange",R)}},[p,a,h,o,X,Y,l,b,y]),e.useEffect(()=>{!l||!c.current||(b(!1),a?.(),document.body.style.cursor="")},[l,a,b]);const P=t=>{C.current=!1,!(l||t.button!==0)&&(X(t.target)||Y(t.target)||($.current=t.buttons,n.current={active:!0,startX:t.clientX,startY:t.clientY},t.preventDefault()))},U=t=>{!C.current&&m&&m(t),C.current=!1},[I,Z]=e.useState({w:0,h:0});e.useEffect(()=>{const t=()=>Z({w:window.innerWidth,h:window.innerHeight});return t(),window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)},[]);const L=Math.max(.4,Math.min(2,o)),E=100*L,D=20*L,F="var(--hud-canvas-dot-minor)",W="var(--hud-canvas-dot-major)",T="color-mix(in srgb, oklch(var(--accent)) 18%, transparent)",V=(I.w/2+u.x*o)%E,B=(I.h/2+u.y*o)%E;return s.jsxs("div",{ref:z,className:`absolute inset-0 z-0 overflow-hidden bg-background ${j?"cursor-grabbing":"cursor-grab"}`,onMouseDown:P,onClick:U,children:[s.jsx("div",{className:"absolute pointer-events-none",style:{inset:"-100px",opacity:.8*v,transition:"opacity 1s ease",backgroundImage:`radial-gradient(circle, ${F} 1px, transparent 1px)`,backgroundSize:`${D}px ${D}px`,backgroundPosition:`${V+100}px ${B+100}px`}}),s.jsx("div",{className:"absolute pointer-events-none",style:{inset:"-100px",opacity:.45*v,transition:"opacity 1s ease",backgroundImage:`radial-gradient(circle, ${W} 1.5px, transparent 1.5px)`,backgroundSize:`${E}px ${E}px`,backgroundPosition:`${V+100}px ${B+100}px`}}),d&&s.jsxs(s.Fragment,{children:[s.jsx("div",{ref:M,className:"absolute top-0 bottom-0 w-px pointer-events-none",style:{left:0,backgroundColor:T}}),s.jsx("div",{ref:S,className:"absolute left-0 right-0 h-px pointer-events-none",style:{top:0,backgroundColor:T}})]})]})},ce=ne,G={borderColor:"var(--hud-chrome-border, oklch(var(--border)))"},re=({scale:u,onZoom:o,min:p=.2,max:h=3,step:a=.1})=>{const[l,m]=e.useState(!1),[f,y]=e.useState(""),v=e.useRef(null),d=e.useCallback(n=>Math.min(h,Math.max(p,n)),[p,h]),k=e.useCallback(()=>{o(d(u+a))},[u,a,o,d]),j=e.useCallback(()=>{o(d(u-a))},[u,a,o,d]),N=e.useCallback(()=>{y(Math.round(u*100).toString()),m(!0)},[u]),c=e.useCallback(()=>{m(!1);const n=parseInt(f,10);!isNaN(n)&&n>0&&o(d(n/100))},[f,o,d]),x=e.useCallback(n=>{n.key==="Enter"?c():n.key==="Escape"&&m(!1)},[c]);return e.useEffect(()=>{l&&v.current&&(v.current.focus(),v.current.select())},[l]),s.jsxs("div",{className:"pointer-events-auto flex flex-col items-center bg-card/95 border rounded-none shadow-[var(--hud-shadow-panel)] overflow-hidden",style:G,children:[s.jsx("button",{onClick:k,className:"w-9 h-8 flex items-center justify-center hover:bg-accent/10 text-muted-foreground hover:text-foreground transition-colors",title:"Zoom in",children:s.jsx(Q,{size:14})}),s.jsx("div",{className:"w-full border-t border-b",style:G,children:l?s.jsx("input",{ref:v,type:"text",value:f,onChange:n=>y(n.target.value.replace(/[^0-9]/g,"")),onBlur:c,onKeyDown:x,className:"w-9 py-1.5 text-center text-[11px] font-mono text-foreground bg-background/60 outline-none tabular-nums"}):s.jsxs("button",{onClick:N,className:"w-9 py-1.5 text-center text-[11px] font-mono text-foreground hover:bg-accent/10 transition-colors cursor-text tabular-nums",title:"Click to set zoom",children:[Math.round(u*100),"%"]})}),s.jsx("button",{onClick:j,className:"w-9 h-8 flex items-center justify-center hover:bg-accent/10 text-muted-foreground hover:text-foreground transition-colors",title:"Zoom out",children:s.jsx(te,{size:14})})]})},ie=re;export{ce as C,ie as Z};
@@ -1,2 +0,0 @@
1
- import{c as xe}from"./createLucideIcon-ClCdc3F9.js";import{r as l,j as s}from"./index-CzVeWScw.js";import{A as it}from"./arrow-down-D3-IbArq.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
- import{j as i}from"./index-CzVeWScw.js";import{KnowledgeSearchScreen as o}from"./KnowledgeSearchScreen-DvdOFh-b.js";/* empty css */import"./api-h5zurxmi.js";import"./time-Dhsh_2EG.js";import"./Provider-DSsb2gLR.js";import"./router-B-K15T7B.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-C3qU8tnY.js";import"./sse-QcU9bikk.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-N-Z6X0Z1.js";import"./DocumentFocusViewer-BCG2kOmd.js";import"./createLucideIcon-ClCdc3F9.js";import"./TextDocumentSurface-DRjctOIt.js";/* empty css */import"./file-text-DG-pufl1.js";import"./x-D4X_y1j_.js";import"./chevron-right-CNE6QAVr.js";import"./code-xml--LjSM4Mv.js";import"./arrow-left-_vS7itsV.js";import"./scout-voice-S5_YZ2v8.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BJnFoFDP.js";import"./MessageComposerSuggestions-Cs9u-F_3.js";import"./NewChatComposer-DXDxV2Mh.js";import"./runtime-picker-BCQD7d4K.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-Byb9kSFx.js";import"./index-Dewd56RX.js";import"./HarnessMark-BE-YSyci.js";import"./conversation-model-CHwHZNw-.js";import"./NewChatOrigin-CnjoswTG.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-DRCbnzyY.js";import"./search-C3bSJluv.js";import"./chunk-HRAB3GC3-CAeEKaf5.js";import"./sparkles-BjCA3Evu.js";import"./clock-CyfvRmj6.js";function V({route:r,navigate:t}){return r.view!=="search"?null:i.jsx(o,{navigate:t,mode:r.mode,hitId:r.hitId,routeFilters:r.filters})}export{V as SearchContent};
@@ -1 +0,0 @@
1
- import{j as i}from"./index-CzVeWScw.js";import{AgentInfoScreen as r}from"./AgentInfoScreen-CPkLg1pK.js";import{AgentsScreen as m}from"./AgentsScreen-zR6b2bUL.js";/* empty css */import"./colors-BtO5_zlx.js";import"./conversation-model-CHwHZNw-.js";import"./time-Dhsh_2EG.js";import"./api-h5zurxmi.js";import"./sse-QcU9bikk.js";import"./index-BWHgHrtv.js";import"./text-DsBWV_4k.js";import"./Provider-DSsb2gLR.js";import"./router-B-K15T7B.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-C3qU8tnY.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-N-Z6X0Z1.js";import"./DocumentFocusViewer-BCG2kOmd.js";import"./createLucideIcon-ClCdc3F9.js";import"./TextDocumentSurface-DRjctOIt.js";/* empty css */import"./file-text-DG-pufl1.js";import"./x-D4X_y1j_.js";import"./chevron-right-CNE6QAVr.js";import"./code-xml--LjSM4Mv.js";import"./arrow-left-_vS7itsV.js";import"./scout-voice-S5_YZ2v8.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BJnFoFDP.js";import"./MessageComposerSuggestions-Cs9u-F_3.js";import"./NewChatComposer-DXDxV2Mh.js";import"./runtime-picker-BCQD7d4K.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-Byb9kSFx.js";import"./index-Dewd56RX.js";import"./HarnessMark-BE-YSyci.js";import"./NewChatOrigin-CnjoswTG.js";import"./model-Co0zkMIc.js";import"./chevron-down-DRCbnzyY.js";import"./search-C3bSJluv.js";import"./chunk-HRAB3GC3-CAeEKaf5.js";import"./openContent-C6XO6kr5.js";import"./BackToPicker-DZg_4nHL.js";import"./AgentLiveActions-DI4ooSHW.js";import"./terminal-takeover-KvmTwABa.js";import"./eye-BFlhMzQL.js";import"./terminal-DrTkVXIj.js";import"./ObservedTopologyPanel-C1AQM0Mq.js";/* empty css */import"./AgentsSubnav-q0xcZi6C.js";import"./SecondaryNav-Hv5AJ3Fv.js";import"./secondaryNavConfig-Bg4Tc0gT.js";import"./message-square-CIXda-Y7.js";import"./scroll-text-BV-BB7v-.js";import"./library-DbCVJG_O.js";/* empty css */import"./SpriteAvatar-BpQDpOkq.js";import"./agent-identity-BxCsXnDp.js";import"./AgentSessions-BxWIPkWh.js";import"./clipboard-e3fSpeo7.js";import"./agents-project-model-UYiamtrU.js";import"./profile-s3KRbip1.js";import"./AgentAvatar-CszU5eaU.js";import"./context-budget-DX_fwUs3.js";import"./session-catalog-9FqXmjBw.js";import"./terminal-relay-BkXjjSkq.js";import"./ConversationScreen-C-PrCRz1.js";import"./ConversationComposer-CiEF7dhd.js";import"./message-markup-mGF07emJ.js";import"./mentions-fbQJ2mBI.js";import"./AgentDetailCard-sZuHl1de.js";import"./message-visibility-kJM8XcSG.js";import"./sessionRead-CvFz2RHv.js";import"./types-B0PlfpKc.js";/* empty css */import"./ConversationHeader-BGgbITvr.js";import"./ConversationFeedRows-5it6QNBV.js";import"./ConversationPanels-vI9YuQJh.js";import"./use-reduced-motion-Dla-G_Jz.js";import"./activity-BxwKkT8z.js";import"./message-circle-aGOfQWm2.js";import"./tail-display-BRcJltQa.js";import"./lane-edit-display-C_Aujldz.js";import"./tail-events-C6K7bCWB.js";import"./ConversationStatus-COEj5loj.js";import"./SessionObserve-BmmJ8dEh.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-DrPXYZvQ.js";import"./lane-observe-BA3g9aVd.js";import"./lane-ask-display-B6iCAVcd.js";import"./ObserveTextFlow-DJxQc2H6.js";import"./SessionObserveEvidence-CEedIk2a.js";import"./wrench-CeCdjiPF.js";import"./external-link-CnaI1QFS.js";import"./AgentDefinitionsWorkspace-4Z0aN8AR.js";import"./project-overview-helpers-BQTc_Ous.js";import"./FileViewerPane-CXCq-oKj.js";/* empty css */import"./agent-essentials-SrzMYEXV.js";/* empty css *//* empty css */function to({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{to as AgentsContent};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-CzVeWScw.js";import{HarnessesScreen as i}from"./HarnessesScreen-L-emPcXd.js";import"./HarnessMark-BE-YSyci.js";import"./api-h5zurxmi.js";import"./router-B-K15T7B.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-C3qU8tnY.js";import"./time-Dhsh_2EG.js";import"./Provider-DSsb2gLR.js";import"./sse-QcU9bikk.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-N-Z6X0Z1.js";import"./DocumentFocusViewer-BCG2kOmd.js";import"./createLucideIcon-ClCdc3F9.js";import"./TextDocumentSurface-DRjctOIt.js";/* empty css */import"./file-text-DG-pufl1.js";import"./x-D4X_y1j_.js";import"./chevron-right-CNE6QAVr.js";import"./code-xml--LjSM4Mv.js";import"./arrow-left-_vS7itsV.js";import"./scout-voice-S5_YZ2v8.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BJnFoFDP.js";import"./MessageComposerSuggestions-Cs9u-F_3.js";import"./NewChatComposer-DXDxV2Mh.js";import"./runtime-picker-BCQD7d4K.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-Byb9kSFx.js";import"./index-Dewd56RX.js";import"./conversation-model-CHwHZNw-.js";import"./NewChatOrigin-CnjoswTG.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-DRCbnzyY.js";import"./search-C3bSJluv.js";import"./chunk-HRAB3GC3-CAeEKaf5.js";import"./useContentSecondaryNav-BX7Sq7vy.js";import"./OpsSubnav-D5Bpowtk.js";import"./SecondaryNav-Hv5AJ3Fv.js";import"./secondaryNavConfig-Bg4Tc0gT.js";import"./message-square-CIXda-Y7.js";import"./terminal-DrTkVXIj.js";import"./scroll-text-BV-BB7v-.js";/* empty css *//* empty css */import"./refresh-cw-4oeFn1Jn.js";import"./external-link-CnaI1QFS.js";function tr({route:r,navigate:t}){return r.view!=="harnesses"?null:o.jsx(i,{navigate:t})}export{tr as HarnessesContent};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-CzVeWScw.js";import{OpsScreen as i}from"./OpsScreen-BeC0lieE.js";/* empty css */import"./Provider-DSsb2gLR.js";import"./router-B-K15T7B.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-C3qU8tnY.js";import"./api-h5zurxmi.js";import"./sse-QcU9bikk.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-N-Z6X0Z1.js";import"./DocumentFocusViewer-BCG2kOmd.js";import"./createLucideIcon-ClCdc3F9.js";import"./TextDocumentSurface-DRjctOIt.js";/* empty css */import"./file-text-DG-pufl1.js";import"./x-D4X_y1j_.js";import"./chevron-right-CNE6QAVr.js";import"./code-xml--LjSM4Mv.js";import"./arrow-left-_vS7itsV.js";import"./scout-voice-S5_YZ2v8.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BJnFoFDP.js";import"./MessageComposerSuggestions-Cs9u-F_3.js";import"./NewChatComposer-DXDxV2Mh.js";import"./runtime-picker-BCQD7d4K.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-Byb9kSFx.js";import"./index-Dewd56RX.js";import"./HarnessMark-BE-YSyci.js";import"./conversation-model-CHwHZNw-.js";import"./time-Dhsh_2EG.js";import"./NewChatOrigin-CnjoswTG.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-DRCbnzyY.js";import"./search-C3bSJluv.js";import"./chunk-HRAB3GC3-CAeEKaf5.js";/* empty css */import"./page-status-DDvNdA8s.js";import"./AgentLanesView-DqRK5-d2.js";/* empty css */import"./tail-events-C6K7bCWB.js";import"./observe-BNFzh-7B.js";import"./types-B0PlfpKc.js";import"./AgentAvatar-CszU5eaU.js";import"./SpriteAvatar-BpQDpOkq.js";import"./agent-identity-BxCsXnDp.js";import"./SessionObserve-BmmJ8dEh.js";import"./bash-format-BRV5C6Gv.js";import"./tail-display-BRcJltQa.js";import"./lane-edit-display-C_Aujldz.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-DrPXYZvQ.js";import"./lane-observe-BA3g9aVd.js";import"./lane-ask-display-B6iCAVcd.js";import"./mentions-fbQJ2mBI.js";import"./AgentDetailCard-sZuHl1de.js";import"./AgentLiveActions-DI4ooSHW.js";import"./terminal-takeover-KvmTwABa.js";import"./openContent-C6XO6kr5.js";import"./eye-BFlhMzQL.js";import"./terminal-DrTkVXIj.js";import"./message-markup-mGF07emJ.js";import"./ObservedTopologyPanel-C1AQM0Mq.js";import"./ObserveTextFlow-DJxQc2H6.js";import"./use-reduced-motion-Dla-G_Jz.js";import"./SessionObserveEvidence-CEedIk2a.js";import"./message-circle-aGOfQWm2.js";import"./wrench-CeCdjiPF.js";import"./external-link-CnaI1QFS.js";import"./AgentFloorView-DMivAYHU.js";/* empty css */import"./agent-lanes-model-CPgQRenB.js";import"./context-budget-DX_fwUs3.js";import"./lane-roster-store-pR4ZaYQm.js";import"./AgentLanesPreflight-DNGvZvjd.js";import"./AgentLaneChrome-O9Yf0uR-.js";import"./AgentLaneCard-nB68f2CI.js";/* empty css */import"./AgentLaneSummaryResize-Ct3b0TQR.js";import"./clipboard-e3fSpeo7.js";import"./agent-lane-card-model-DSWdGu-v.js";import"./agent-lane-preview-C33Dwpn7.js";import"./AgentLaneDetailSheet-BfhpaEQ3.js";import"./SlidePanel-B3gc5HnM.js";import"./agent-lane-detail-BNNm6FNu.js";import"./LaneTraceDetailSheet-Dl7foF88.js";import"./LaneTraceEventFocus-X4-DDFEo.js";import"./MissionControlView-D2JO9u-y.js";/* empty css */import"./mission-control-store-CcoNeQHG.js";import"./MissionContextRail-0O-Zu1Tn.js";import"./mission-wall-CocIM1cF.js";import"./mission-control-model-C0fByIjm.js";import"./MissionFocusOverlay-LnjmqBiW.js";import"./MissionLogPane-lZ9vUftY.js";import"./OpsAgentsView-BnMX0vEY.js";/* empty css */import"./DataTable-BoofV-_4.js";/* empty css */import"./useAgentHoverCard-FtCmY-b9.js";import"./sliders-horizontal-CUiOH26y.js";import"./PlanView-DDXdC19M.js";/* empty css */import"./AtopView-VZkk40v0.js";/* empty css */import"./TailView-DL3YZkzE.js";import"./useContentSecondaryNav-BX7Sq7vy.js";import"./OpsSubnav-D5Bpowtk.js";import"./SecondaryNav-Hv5AJ3Fv.js";import"./secondaryNavConfig-Bg4Tc0gT.js";import"./message-square-CIXda-Y7.js";import"./scroll-text-BV-BB7v-.js";function at({route:r,navigate:t}){return r.view!=="ops"?null:o.jsx(i,{navigate:t,mode:r.mode,tailQuery:r.tailQuery})}export{at as OpsContent};
@@ -1 +0,0 @@
1
- import{j as t}from"./index-CzVeWScw.js";import{FollowScreen as i}from"./FollowScreen-DRgYuAvp.js";import"./api-h5zurxmi.js";import"./follow-route-BvcGtBIL.js";import"./router-B-K15T7B.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-C3qU8tnY.js";/* empty css */function w({route:o,navigate:r}){return o.view!=="follow"?null:t.jsx(i,{route:o,navigate:r})}export{w as FollowContent};
@@ -1 +0,0 @@
1
- import{j as e,r as c}from"./index-CzVeWScw.js";import{b as os,c as F,s as as}from"./router-B-K15T7B.js";import{t as B}from"./time-Dhsh_2EG.js";import{H as ns}from"./agent-identity-BxCsXnDp.js";import{i as ls}from"./use-scout-dev-flags-BOQF3fW2.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-Cnw3vwAu.js";import{u as us}from"./use-mesh-ops-items-Co05vcTV.js";/* empty css */import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-C3qU8tnY.js";import"./api-h5zurxmi.js";import"./sse-QcU9bikk.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=ns[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=os(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?as(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 t}from"./index-CzVeWScw.js";import{WorkDetailScreen as i}from"./WorkDetailScreen-D2Yl0mYZ.js";import"./DocumentFocusViewer-BCG2kOmd.js";import"./createLucideIcon-ClCdc3F9.js";import"./TextDocumentSurface-DRjctOIt.js";/* empty css */import"./file-text-DG-pufl1.js";import"./x-D4X_y1j_.js";import"./StatusPill-B33sQinT.js";import"./status-tone-BM_zuRy1.js";import"./WorkFilesViewer-BbVfcUN-.js";import"./api-h5zurxmi.js";import"./chevron-right-CNE6QAVr.js";import"./chevron-down-DRCbnzyY.js";import"./mentions-fbQJ2mBI.js";import"./colors-BtO5_zlx.js";import"./index-Dewd56RX.js";import"./Provider-DSsb2gLR.js";import"./router-B-K15T7B.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-C3qU8tnY.js";import"./sse-QcU9bikk.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-N-Z6X0Z1.js";import"./code-xml--LjSM4Mv.js";import"./arrow-left-_vS7itsV.js";import"./scout-voice-S5_YZ2v8.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BJnFoFDP.js";import"./MessageComposerSuggestions-Cs9u-F_3.js";import"./NewChatComposer-DXDxV2Mh.js";import"./runtime-picker-BCQD7d4K.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-Byb9kSFx.js";import"./HarnessMark-BE-YSyci.js";import"./conversation-model-CHwHZNw-.js";import"./time-Dhsh_2EG.js";import"./NewChatOrigin-CnjoswTG.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./search-C3bSJluv.js";import"./chunk-HRAB3GC3-CAeEKaf5.js";import"./AgentDetailCard-sZuHl1de.js";import"./AgentLiveActions-DI4ooSHW.js";import"./terminal-takeover-KvmTwABa.js";import"./openContent-C6XO6kr5.js";import"./eye-BFlhMzQL.js";import"./terminal-DrTkVXIj.js";import"./BackToPicker-DZg_4nHL.js";import"./TailView-DL3YZkzE.js";import"./SlidePanel-B3gc5HnM.js";import"./tail-display-BRcJltQa.js";import"./lane-edit-display-C_Aujldz.js";import"./tail-events-C6K7bCWB.js";import"./message-square-CIXda-Y7.js";import"./radio-PauJIekM.js";import"./external-link-CnaI1QFS.js";import"./activity-BxwKkT8z.js";function sr({route:r,navigate:o}){return r.view!=="work"?null:t.jsx(i,{workId:r.workId,navigate:o})}export{sr as WorkContent};
@@ -1 +0,0 @@
1
- import{j as r}from"./index-CzVeWScw.js";import{ActivityScreen as o}from"./ActivityScreen-BXm6nJ6L.js";import"./api-h5zurxmi.js";import"./clipboard-e3fSpeo7.js";import"./sse-QcU9bikk.js";import"./index-BWHgHrtv.js";import"./colors-BtO5_zlx.js";import"./Provider-DSsb2gLR.js";import"./router-B-K15T7B.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-C3qU8tnY.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-N-Z6X0Z1.js";import"./DocumentFocusViewer-BCG2kOmd.js";import"./createLucideIcon-ClCdc3F9.js";import"./TextDocumentSurface-DRjctOIt.js";/* empty css */import"./file-text-DG-pufl1.js";import"./x-D4X_y1j_.js";import"./chevron-right-CNE6QAVr.js";import"./code-xml--LjSM4Mv.js";import"./arrow-left-_vS7itsV.js";import"./scout-voice-S5_YZ2v8.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BJnFoFDP.js";import"./MessageComposerSuggestions-Cs9u-F_3.js";import"./NewChatComposer-DXDxV2Mh.js";import"./runtime-picker-BCQD7d4K.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-Byb9kSFx.js";import"./index-Dewd56RX.js";import"./HarnessMark-BE-YSyci.js";import"./conversation-model-CHwHZNw-.js";import"./time-Dhsh_2EG.js";import"./NewChatOrigin-CnjoswTG.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-DRCbnzyY.js";import"./search-C3bSJluv.js";import"./chunk-HRAB3GC3-CAeEKaf5.js";import"./mentions-fbQJ2mBI.js";import"./AgentDetailCard-sZuHl1de.js";import"./AgentLiveActions-DI4ooSHW.js";import"./terminal-takeover-KvmTwABa.js";import"./openContent-C6XO6kr5.js";import"./eye-BFlhMzQL.js";import"./terminal-DrTkVXIj.js";import"./EmptyState-DypEjx0V.js";/* empty css */function tt({route:t,navigate:i}){return t.view!=="activity"?null:r.jsx(o,{navigate:i})}export{tt as ActivityContent};
@@ -1 +0,0 @@
1
- import{j as t}from"./index-CzVeWScw.js";import{ConversationScreen as i}from"./ConversationScreen-C-PrCRz1.js";import{MessagesScreen as m}from"./MessagesScreen-BhOJ7_tj.js";import"./NewChatComposer-DXDxV2Mh.js";import"./runtime-picker-BCQD7d4K.js";import"./scout-voice-S5_YZ2v8.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-Byb9kSFx.js";import"./createLucideIcon-ClCdc3F9.js";import"./MessageComposerSuggestions-Cs9u-F_3.js";import"./api-h5zurxmi.js";import"./index-Dewd56RX.js";import"./HarnessMark-BE-YSyci.js";import"./conversation-model-CHwHZNw-.js";import"./colors-BtO5_zlx.js";import"./time-Dhsh_2EG.js";import"./NewChatOrigin-CnjoswTG.js";import"./keyboard-nav-BJnFoFDP.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./x-D4X_y1j_.js";import"./chevron-down-DRCbnzyY.js";import"./search-C3bSJluv.js";import"./file-text-DG-pufl1.js";import"./ConversationComposer-CiEF7dhd.js";import"./Provider-DSsb2gLR.js";import"./router-B-K15T7B.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-C3qU8tnY.js";import"./sse-QcU9bikk.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-N-Z6X0Z1.js";import"./DocumentFocusViewer-BCG2kOmd.js";import"./TextDocumentSurface-DRjctOIt.js";/* empty css */import"./chevron-right-CNE6QAVr.js";import"./code-xml--LjSM4Mv.js";import"./arrow-left-_vS7itsV.js";import"./chunk-HRAB3GC3-CAeEKaf5.js";import"./message-markup-mGF07emJ.js";import"./mentions-fbQJ2mBI.js";import"./AgentDetailCard-sZuHl1de.js";import"./AgentLiveActions-DI4ooSHW.js";import"./terminal-takeover-KvmTwABa.js";import"./openContent-C6XO6kr5.js";import"./eye-BFlhMzQL.js";import"./terminal-DrTkVXIj.js";import"./message-visibility-kJM8XcSG.js";import"./sessionRead-CvFz2RHv.js";import"./clipboard-e3fSpeo7.js";import"./AgentAvatar-CszU5eaU.js";import"./SpriteAvatar-BpQDpOkq.js";import"./agent-identity-BxCsXnDp.js";import"./types-B0PlfpKc.js";/* empty css */import"./ConversationHeader-BGgbITvr.js";import"./BackToPicker-DZg_4nHL.js";import"./ConversationFeedRows-5it6QNBV.js";import"./ConversationPanels-vI9YuQJh.js";import"./use-reduced-motion-Dla-G_Jz.js";import"./activity-BxwKkT8z.js";import"./message-circle-aGOfQWm2.js";import"./tail-display-BRcJltQa.js";import"./lane-edit-display-C_Aujldz.js";import"./tail-events-C6K7bCWB.js";import"./ConversationStatus-COEj5loj.js";import"./use-conversation-list-C5sF6WBR.js";import"./use-fleet-active-asks-BOMPW0nl.js";import"./plus-CmFQp9Uj.js";function go({route:o,navigate:r}){switch(o.view){case"conversation":return t.jsx(i,{conversationId:o.conversationId,initialDraft:o.composeDraft,navigate:r});case"messages":return t.jsx(m,{conversationId:o.conversationId,navigate:r});default:return null}}export{go as ChatContent};
@@ -1 +0,0 @@
1
- import{j as t}from"./index-CzVeWScw.js";import{a as i}from"./BrokerScreen-Chh8sGen.js";import"./index-Dewd56RX.js";import"./runtime-picker-BCQD7d4K.js";import"./scout-voice-S5_YZ2v8.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-Byb9kSFx.js";import"./createLucideIcon-ClCdc3F9.js";import"./EmptyState-DypEjx0V.js";import"./MessageComposerSuggestions-Cs9u-F_3.js";import"./api-h5zurxmi.js";import"./NewChatComposer-DXDxV2Mh.js";import"./HarnessMark-BE-YSyci.js";import"./conversation-model-CHwHZNw-.js";import"./colors-BtO5_zlx.js";import"./time-Dhsh_2EG.js";import"./NewChatOrigin-CnjoswTG.js";import"./keyboard-nav-BJnFoFDP.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./x-D4X_y1j_.js";import"./chevron-down-DRCbnzyY.js";import"./search-C3bSJluv.js";import"./file-text-DG-pufl1.js";import"./clipboard-e3fSpeo7.js";import"./sse-QcU9bikk.js";import"./index-BWHgHrtv.js";import"./status-tone-BM_zuRy1.js";import"./Provider-DSsb2gLR.js";import"./router-B-K15T7B.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-C3qU8tnY.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-N-Z6X0Z1.js";import"./DocumentFocusViewer-BCG2kOmd.js";import"./TextDocumentSurface-DRjctOIt.js";/* empty css */import"./chevron-right-CNE6QAVr.js";import"./code-xml--LjSM4Mv.js";import"./arrow-left-_vS7itsV.js";import"./chunk-HRAB3GC3-CAeEKaf5.js";import"./openContent-C6XO6kr5.js";import"./broker-display-pp33bLsu.js";import"./BrokerMetadataPanel-CaFe6kdh.js";import"./DispatchAftermath-OXYlMbT1.js";import"./follow-route-BvcGtBIL.js";import"./arrow-up-right-CcrWONpD.js";import"./ShikiPane-B7O4if20.js";import"./types-B0PlfpKc.js";/* empty css */import"./refresh-cw-4oeFn1Jn.js";import"./arrow-down-D3-IbArq.js";import"./external-link-CnaI1QFS.js";import"./sparkles-BjCA3Evu.js";import"./paperclip-DfpJkR4s.js";import"./plus-CmFQp9Uj.js";import"./send-horizontal-CqogPmbY.js";import"./check-COxArFXG.js";import"./copy-4LfKIdQJ.js";import"./message-square-CIXda-Y7.js";import"./radio-PauJIekM.js";import"./bot-BRINYlC6.js";function kr({route:r,navigate:o}){return r.view!=="broker"?null:t.jsx(i,{navigate:o})}export{kr as BrokerContent};
@@ -1 +0,0 @@
1
- import{j as t}from"./index-CzVeWScw.js";import{B as o}from"./BriefingDetailScreen-BZU4qMwE.js";import{BriefingsScreen as m}from"./BriefingsScreen-Bfc3tqPp.js";import"./EmptyState-DypEjx0V.js";import"./api-h5zurxmi.js";import"./Provider-DSsb2gLR.js";import"./router-B-K15T7B.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-C3qU8tnY.js";import"./sse-QcU9bikk.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-N-Z6X0Z1.js";import"./DocumentFocusViewer-BCG2kOmd.js";import"./createLucideIcon-ClCdc3F9.js";import"./TextDocumentSurface-DRjctOIt.js";/* empty css */import"./file-text-DG-pufl1.js";import"./x-D4X_y1j_.js";import"./chevron-right-CNE6QAVr.js";import"./code-xml--LjSM4Mv.js";import"./arrow-left-_vS7itsV.js";import"./scout-voice-S5_YZ2v8.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BJnFoFDP.js";import"./MessageComposerSuggestions-Cs9u-F_3.js";import"./NewChatComposer-DXDxV2Mh.js";import"./runtime-picker-BCQD7d4K.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-Byb9kSFx.js";import"./index-Dewd56RX.js";import"./HarnessMark-BE-YSyci.js";import"./conversation-model-CHwHZNw-.js";import"./time-Dhsh_2EG.js";import"./NewChatOrigin-CnjoswTG.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-DRCbnzyY.js";import"./search-C3bSJluv.js";import"./chunk-HRAB3GC3-CAeEKaf5.js";import"./external-link-CnaI1QFS.js";/* empty css *//* empty css */function Y({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{Y as BriefingsContent};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-CzVeWScw.js";import{SessionRefScreen as t}from"./SessionRefScreen-Dk-O4OVt.js";import{SessionsScreen as m}from"./SessionsScreen-BJEjuo2X.js";import{FlightObserveScreen as p}from"./FlightObserveScreen-Yq5NtQQJ.js";import"./api-h5zurxmi.js";import"./sse-QcU9bikk.js";import"./index-BWHgHrtv.js";import"./tail-events-C6K7bCWB.js";import"./BackToPicker-DZg_4nHL.js";import"./router-B-K15T7B.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-C3qU8tnY.js";import"./ConversationScreen-C-PrCRz1.js";import"./NewChatComposer-DXDxV2Mh.js";import"./runtime-picker-BCQD7d4K.js";import"./scout-voice-S5_YZ2v8.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-Byb9kSFx.js";import"./createLucideIcon-ClCdc3F9.js";import"./MessageComposerSuggestions-Cs9u-F_3.js";import"./index-Dewd56RX.js";import"./HarnessMark-BE-YSyci.js";import"./conversation-model-CHwHZNw-.js";import"./colors-BtO5_zlx.js";import"./time-Dhsh_2EG.js";import"./NewChatOrigin-CnjoswTG.js";import"./keyboard-nav-BJnFoFDP.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./x-D4X_y1j_.js";import"./chevron-down-DRCbnzyY.js";import"./search-C3bSJluv.js";import"./file-text-DG-pufl1.js";import"./ConversationComposer-CiEF7dhd.js";import"./Provider-DSsb2gLR.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-N-Z6X0Z1.js";import"./DocumentFocusViewer-BCG2kOmd.js";import"./TextDocumentSurface-DRjctOIt.js";/* empty css */import"./chevron-right-CNE6QAVr.js";import"./code-xml--LjSM4Mv.js";import"./arrow-left-_vS7itsV.js";import"./chunk-HRAB3GC3-CAeEKaf5.js";import"./message-markup-mGF07emJ.js";import"./mentions-fbQJ2mBI.js";import"./AgentDetailCard-sZuHl1de.js";import"./AgentLiveActions-DI4ooSHW.js";import"./terminal-takeover-KvmTwABa.js";import"./openContent-C6XO6kr5.js";import"./eye-BFlhMzQL.js";import"./terminal-DrTkVXIj.js";import"./message-visibility-kJM8XcSG.js";import"./sessionRead-CvFz2RHv.js";import"./clipboard-e3fSpeo7.js";import"./AgentAvatar-CszU5eaU.js";import"./SpriteAvatar-BpQDpOkq.js";import"./agent-identity-BxCsXnDp.js";import"./types-B0PlfpKc.js";/* empty css */import"./ConversationHeader-BGgbITvr.js";import"./ConversationFeedRows-5it6QNBV.js";import"./ConversationPanels-vI9YuQJh.js";import"./use-reduced-motion-Dla-G_Jz.js";import"./activity-BxwKkT8z.js";import"./message-circle-aGOfQWm2.js";import"./tail-display-BRcJltQa.js";import"./lane-edit-display-C_Aujldz.js";import"./ConversationStatus-COEj5loj.js";import"./SessionObserve-BmmJ8dEh.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-DrPXYZvQ.js";import"./lane-observe-BA3g9aVd.js";import"./lane-ask-display-B6iCAVcd.js";import"./ObservedTopologyPanel-C1AQM0Mq.js";import"./ObserveTextFlow-DJxQc2H6.js";import"./SessionObserveEvidence-CEedIk2a.js";import"./wrench-CeCdjiPF.js";import"./external-link-CnaI1QFS.js";/* empty css */import"./RawSessionsTable-LWEvXJzj.js";/* empty css */import"./DataTable-BoofV-_4.js";/* empty css *//* empty css */function Mi({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{Mi as SessionsContent};
@@ -1 +0,0 @@
1
- import{j as o}from"./index-CzVeWScw.js";import{MeshScreen as i}from"./MeshScreen-D5zzTn0o.js";import"./api-h5zurxmi.js";import"./time-Dhsh_2EG.js";import"./colors-BtO5_zlx.js";import"./Provider-DSsb2gLR.js";import"./router-B-K15T7B.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-C3qU8tnY.js";import"./sse-QcU9bikk.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-N-Z6X0Z1.js";import"./DocumentFocusViewer-BCG2kOmd.js";import"./createLucideIcon-ClCdc3F9.js";import"./TextDocumentSurface-DRjctOIt.js";/* empty css */import"./file-text-DG-pufl1.js";import"./x-D4X_y1j_.js";import"./chevron-right-CNE6QAVr.js";import"./code-xml--LjSM4Mv.js";import"./arrow-left-_vS7itsV.js";import"./scout-voice-S5_YZ2v8.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BJnFoFDP.js";import"./MessageComposerSuggestions-Cs9u-F_3.js";import"./NewChatComposer-DXDxV2Mh.js";import"./runtime-picker-BCQD7d4K.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-Byb9kSFx.js";import"./index-Dewd56RX.js";import"./HarnessMark-BE-YSyci.js";import"./conversation-model-CHwHZNw-.js";import"./NewChatOrigin-CnjoswTG.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-DRCbnzyY.js";import"./search-C3bSJluv.js";import"./chunk-HRAB3GC3-CAeEKaf5.js";import"./MeshCanvas-rtCBD7s6.js";import"./chunk-T65CQEWV-CiZ_ICHW.js";import"./plus-CmFQp9Uj.js";import"./mesh-view-store-Btlyc7rW.js";import"./useAgentHoverCard-FtCmY-b9.js";import"./AgentDetailCard-sZuHl1de.js";import"./AgentLiveActions-DI4ooSHW.js";import"./terminal-takeover-KvmTwABa.js";import"./openContent-C6XO6kr5.js";import"./eye-BFlhMzQL.js";import"./terminal-DrTkVXIj.js";import"./mesh-buckets-CfAukILK.js";import"./local-agents-DBaUbP-_.js";import"./useContentSecondaryNav-BX7Sq7vy.js";import"./OpsSubnav-D5Bpowtk.js";import"./SecondaryNav-Hv5AJ3Fv.js";import"./secondaryNavConfig-Bg4Tc0gT.js";import"./message-square-CIXda-Y7.js";import"./scroll-text-BV-BB7v-.js";/* empty css *//* empty css *//* empty css */function hr({route:r,navigate:t}){return r.view!=="mesh"?null:o.jsx(i,{navigate:t})}export{hr as MeshContent};
@@ -1 +0,0 @@
1
- import{j as r}from"./index-CzVeWScw.js";import{SettingsScreen as o}from"./SettingsScreen-DJ-BhBwR.js";import"./EmptyState-DypEjx0V.js";import"./StatusPill-B33sQinT.js";import"./status-tone-BM_zuRy1.js";import"./api-h5zurxmi.js";import"./time-Dhsh_2EG.js";import"./AgentConfigurationScreen-CfBXxrsD.js";import"./NewChatComposer-DXDxV2Mh.js";import"./runtime-picker-BCQD7d4K.js";import"./scout-voice-S5_YZ2v8.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-Byb9kSFx.js";import"./createLucideIcon-ClCdc3F9.js";import"./MessageComposerSuggestions-Cs9u-F_3.js";import"./index-Dewd56RX.js";import"./HarnessMark-BE-YSyci.js";import"./conversation-model-CHwHZNw-.js";import"./colors-BtO5_zlx.js";import"./NewChatOrigin-CnjoswTG.js";import"./keyboard-nav-BJnFoFDP.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./x-D4X_y1j_.js";import"./chevron-down-DRCbnzyY.js";import"./search-C3bSJluv.js";import"./file-text-DG-pufl1.js";import"./Provider-DSsb2gLR.js";import"./router-B-K15T7B.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-C3qU8tnY.js";import"./sse-QcU9bikk.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-N-Z6X0Z1.js";import"./DocumentFocusViewer-BCG2kOmd.js";import"./TextDocumentSurface-DRjctOIt.js";/* empty css */import"./chevron-right-CNE6QAVr.js";import"./code-xml--LjSM4Mv.js";import"./arrow-left-_vS7itsV.js";import"./chunk-HRAB3GC3-CAeEKaf5.js";import"./openContent-C6XO6kr5.js";import"./AgentsSubnav-q0xcZi6C.js";import"./SecondaryNav-Hv5AJ3Fv.js";import"./secondaryNavConfig-Bg4Tc0gT.js";import"./message-square-CIXda-Y7.js";import"./terminal-DrTkVXIj.js";import"./scroll-text-BV-BB7v-.js";/* empty css */import"./refresh-cw-4oeFn1Jn.js";import"./bot-BRINYlC6.js";import"./wrench-CeCdjiPF.js";import"./server-Brw5Y1Gh.js";import"./SettingsDrawer-DL-SVLdd.js";import"./VoicePermissionsPanel-WLN0V-Xv.js";import"./check-COxArFXG.js";import"./copy-4LfKIdQJ.js";function ct({route:t,navigate:i}){return t.view!=="settings"?null:r.jsx(o,{navigate:i,section:t.section,agentId:t.agentId})}export{ct as SettingsContent};
@@ -1 +0,0 @@
1
- import{j as r}from"./index-CzVeWScw.js";import{RepoDiffPageScreen as p}from"./RepoDiffPageScreen-CGEMAv2Z.js";import{ReposScreen as t}from"./ReposScreen-BN1lVjOj.js";import"./RepoDiffViewerLazy-DIxkiMto.js";/* empty css */import"./EmptyState-DypEjx0V.js";import"./ContextMenu-N-Z6X0Z1.js";import"./api-BkjHJfgJ.js";import"./api-h5zurxmi.js";import"./clipboard-e3fSpeo7.js";import"./keyboard-nav-BJnFoFDP.js";/* empty css */import"./ui-LM8pS8qE.js";import"./selection-bridge-B1dmkX3P.js";import"./SlidePanel-B3gc5HnM.js";import"./cache-Dr0why2k.js";import"./Provider-DSsb2gLR.js";import"./router-B-K15T7B.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-C3qU8tnY.js";import"./sse-QcU9bikk.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BTIErYHo.js";import"./DocumentFocusViewer-BCG2kOmd.js";import"./createLucideIcon-ClCdc3F9.js";import"./TextDocumentSurface-DRjctOIt.js";/* empty css */import"./file-text-DG-pufl1.js";import"./x-D4X_y1j_.js";import"./chevron-right-CNE6QAVr.js";import"./code-xml--LjSM4Mv.js";import"./arrow-left-_vS7itsV.js";import"./scout-voice-S5_YZ2v8.js";import"./fx-z37u1o2z.js";import"./MessageComposerSuggestions-Cs9u-F_3.js";import"./NewChatComposer-DXDxV2Mh.js";import"./runtime-picker-BCQD7d4K.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-Byb9kSFx.js";import"./index-Dewd56RX.js";import"./HarnessMark-BE-YSyci.js";import"./conversation-model-CHwHZNw-.js";import"./time-Dhsh_2EG.js";import"./NewChatOrigin-CnjoswTG.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-DRCbnzyY.js";import"./search-C3bSJluv.js";import"./chunk-HRAB3GC3-CAeEKaf5.js";import"./refresh-cw-4oeFn1Jn.js";import"./sliders-horizontal-CUiOH26y.js";function ti({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{ti as ReposContent};
@@ -1 +0,0 @@
1
- import{r as a,j as s}from"./index-CzVeWScw.js";import Mt from"./HomeHero-CAEg8Yg5.js";import{TailView as xt}from"./TailView-DL3YZkzE.js";import{a as F}from"./api-h5zurxmi.js";import{u as St}from"./observe-BNFzh-7B.js";import{u as yt}from"./sse-QcU9bikk.js";import{i as Q,o as kt}from"./surface-activity-B1rgWB1i.js";import{n as S,c as We,t as be}from"./time-Dhsh_2EG.js";import{b as jt,u as Nt}from"./router-B-K15T7B.js";import{a as Ge,n as Pe}from"./colors-BtO5_zlx.js";import{r as At,R as It,a as Et,b as Ct,e as Lt}from"./NewChatComposer-DXDxV2Mh.js";import{M as Rt}from"./runtime-picker-BCQD7d4K.js";import{u as _t,m as Ot,e as Tt,h as Ht}from"./Provider-DSsb2gLR.js";import{r as $t}from"./operator-attention-BwSPeheT.js";import{e as Wt,i as ze,f as Ue,g as Pt,h as Bt}from"./agent-lanes-model-CPgQRenB.js";import{HomeMovingSignalList as Ft}from"./home-moving-signal-aNJusIzL.js";import{E as qt}from"./external-link-CnaI1QFS.js";const Me="openscout:persistent-state-change";function Kt(e,t){typeof window>"u"||window.dispatchEvent(new CustomEvent(Me,{detail:{key:e,value:t}}))}function Be(e){try{return window.localStorage.getItem(e)}catch{return null}}function Se(e,t){try{window.localStorage.setItem(e,t)}catch{}Kt(e,t)}function ye(e){const[t,n]=a.useState(()=>typeof window>"u"?null:Be(e));return a.useEffect(()=>{n(Be(e));const o=i=>{const u=i.detail;!u||u.key!==e||n(u.value)},r=i=>{i.key===e&&n(i.newValue)};return window.addEventListener(Me,o),window.addEventListener("storage",r),()=>{window.removeEventListener(Me,o),window.removeEventListener("storage",r)}},[e]),t}function Vs(e,t){const n=ye(e),o=n===null?t:n==="true",r=a.useCallback(i=>{Se(e,i?"true":"false")},[e]);return[o,r]}function Dt(e,t){const n=ye(e),o=n===null?Number.NaN:Number(n),r=Number.isFinite(o)?o:t,i=a.useCallback(u=>{Se(e,String(u))},[e]);return[r,i]}function Fe(e,t){const o=ye(e)??t,r=a.useCallback(i=>{Se(e,i)},[e]);return[o,r]}const X=30*6e4,de="30m",Qe="recent",ue=[{key:"5m",label:"5m",windowMs:5*6e4},{key:"30m",label:"30m",windowMs:X},{key:"4h",label:"4h",windowMs:240*6e4},{key:"24h",label:"24h",windowMs:1440*6e4}],le={working:0,native:1,observed:2};function Vt(e){const t=e?.trim();return ue.some(n=>n.key===t)?t:de}function Gt(e){return ue.find(t=>t.key===e)??ue[1]}function zt(e){return e==="grouped"?"grouped":Qe}function Ut(e,t,n){if(n==="grouped"){const i=le[e.bucket]-le[t.bucket];if(i!==0)return i}const o=t.lastActivityAt-e.lastActivityAt;if(o!==0)return o;const r=le[e.bucket]-le[t.bucket];return r!==0?r:e.id.localeCompare(t.id)}function Ye(e,t,n=X){const o=S(e);return o!==null&&t-o<=n}function Je(e){const t=e?.trim().toLowerCase();return t?t==="pi"||t==="grok-acp"||t==="grok"?"grok":t:null}function Qt(e,t,n,o=[],r=X,i=de){return!!(n||Ge(e.state)||Wt(e,t,i)||Ze(e,o,t,r))}function Yt(e,t){const n=Je(e.harness);return n?n===t.source?.trim().toLowerCase():!1}function Ze(e,t,n,o=X){const r=e.harnessSessionId?.trim();if(!r)return!1;const i=n-o;return t.some(u=>{const d=S(u.ts);if(d===null||d<i||!Yt(e,u))return!1;const m=u.sessionId?.trim();return!!(m&&m===r)})}function Jt(e){const{agent:t,observeEntry:n,tailEvents:o,nowMs:r,movingAsk:i,windowMs:u=X}=e;if(i)return!0;const d=n?.data;if(ze(d))return!0;const m=Ue(d);return!!(m!==null&&r-m<=u||Ze(t,o,r,u)||Ge(t.state)&&Ye(t.updatedAt,r,u))}function Zt(e,t){const n=e?.metadata?.session,o=e?.metadata?.usage,r=o?.contextInputTokens,i=o?.contextWindowTokens,u=typeof r=="number"&&typeof i=="number"&&i>0?Math.min(100,Math.round(r/i*100)):null;return{sessionId:n?.externalSessionId??t?.sessionId??null,model:n?.model??t?.model??null,contextPct:u}}function Xe(e){if(!e)return null;const t=e.sessionId?.trim()||e.data?.metadata?.session?.externalSessionId?.trim();if(t)return`session:${t}`;const n=e.historyPath?.trim()||e.data?.metadata?.session?.threadPath?.trim();return n?`history:${n}`:null}function Xt(e){const t=e.observe?.metadata?.session,n=t?.externalSessionId?.trim();if(n)return`session:${n}`;const o=t?.threadPath?.trim();return o?`history:${o}`:null}function qe(e,t){const n=t?.sessionId?.trim()||t?.data?.metadata?.session?.externalSessionId?.trim(),o=e.harnessSessionId?.trim();return!!(n&&o&&n===o)}function es(e,t){const n=new Map,o=[];for(const r of e){const i=t[r.id],u=Xe(i);if(!u){o.push(r);continue}const d=n.get(u);if(d===void 0){n.set(u,o.length),o.push(r);continue}const m=o[d];!qe(m,t[m.id])&&qe(r,i)&&(o[d]=r)}return o}function pe(e,t){const{observeEntry:n,tailEvents:o,nowMs:r,movingAsk:i}=t;if(i)return S(i.updatedAt)??r;if(ze(n?.data))return r;const u=Ue(n?.data);if(u!==null)return u;const d=e.harnessSessionId?.trim(),m=Je(e.harness);let g=0;if(d)for(const w of o){if(m&&w.source!==m||w.sessionId?.trim()!==d)continue;const I=S(w.ts);I!==null&&(g=Math.max(g,I))}return g>0?g:S(e.updatedAt)??0}const ts=9;function ss(e){const{lanes:t}=Pt({transcripts:e.transcripts,tailEvents:e.tailEvents,processes:e.processes??[],scoutAgents:e.agents,observeCache:e.observeCache??{},now:e.nowMs,workingOnly:!0,horizon:e.horizon??de});return t.filter(n=>n.source==="native")}const $=[{label:"30m",value:30*6e4,activityLimit:80},{label:"6h",value:360*6e4,activityLimit:250},{label:"24h",value:1440*6e4,activityLimit:800}],Ke=$[2].value,ns="openscout.home.lookbackMs.v1",os="openscout.home.movingWindow.v1",is="openscout.home.movingSort.v1",as=6e4,rs=3e4,cs=3;function ls(e,t){const n=S(e);if(n===null)return"—";const o=Math.max(0,Math.floor((t-n)/1e3));if(o<60)return`${o}s`;const r=Math.floor(o/60);if(r<60)return`${r}m`;const i=Math.floor(r/60);return i<48?`${i}h`:`${Math.floor(i/24)}d`}function us(e,t=140){const n=(e??"").replace(/\s+/g," ").trim();return n?n.length>t?`${n.slice(0,t-1)}…`:n:""}function ds(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 ms(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 fs(e){const t=Math.round(e/6e4);if(t<60)return`${t}m`;const n=t/60;return`${Number.isInteger(n)?n:n.toFixed(1)}h`}function xe(e){if(!Number.isFinite(e)||e<=0)return"now";const t=Math.floor(e/1e3);if(t<60)return`${t}s`;const n=Math.floor(t/60);if(n<60)return`${n}m`;const o=Math.floor(n/60);return o<48?`${o}h`:`${Math.floor(o/24)}d`}function vs(e,t,n){if(e.length===0)return null;const o=e.map(m=>S(m.ts)).filter(m=>m!==null).sort((m,g)=>g-m);if(o.length===0)return null;const r=o[0],i=o[o.length-1];let u=0;for(let m=1;m<o.length;m++)u=Math.max(u,o[m-1]-o[m]);const d=n-t;return u=Math.max(u,i-d),{count:e.length,lastAgoMs:Math.max(0,n-r),longestGapMs:Math.max(0,u)}}function hs(e){const t=e.map(o=>Math.sqrt(o)),n=[.56,.28,.11,.05];return t.map((o,r)=>{let i=0,u=0;for(let d=-3;d<=3;d++){const m=r+d;if(m<0||m>=t.length)continue;const g=n[Math.abs(d)]??0;i+=t[m]*g,u+=g}return u>0?i/u:0})}function gs(e,t,n){if(e.length<2||t.length===0)return e;const o=Math.max(1,e[1].ts-e[0].ts),r=e[0].ts,i=e[e.length-1].ts+o,u=e.map(g=>g.count);for(const g of t){const w=S(g.ts);if(w===null||w<r||w>n||w>=i)continue;const I=Math.floor((w-r)/o);I>=0&&I<u.length&&(u[I]=(u[I]??0)+1)}const d=hs(u),m=Math.max(1,...d);return e.map((g,w)=>({...g,count:u[w]??g.count,value:(d[w]??0)/m}))}function we(e){return e.status==="fulfilled"?null:ps(e.reason instanceof Error?e.reason.message:String(e.reason))}function ps(e){return/failed to fetch|networkerror|load failed|couldn't connect|connection refused/i.test(e)?"Scout server is unreachable":e}function ws(e){return e==="Scout server is unreachable"}function De({navigate:e}){const{agents:t,onboarding:n,reload:o,route:r}=_t(),i=jt(r),u=a.useMemo(()=>Ot(t,i),[t,i]),d=a.useMemo(()=>Tt(t,i),[t,i]),[m,g]=a.useState(null),[w,I]=a.useState([]),[q,ee]=a.useState("trailing 7d"),[K,te]=a.useState("3h buckets"),[p,se]=a.useState([]),[D,ne]=a.useState(null),[oe,E]=a.useState([]),[y,ie]=a.useState(!0),[v,k]=a.useState(!1),[b,W]=a.useState(null),[P,et]=a.useState(null),Y=a.useRef(null),ke=a.useRef(0),je=a.useRef(0),me=a.useRef(null);a.useEffect(()=>{me.current=m},[m]);const V=a.useCallback(async(c=!1)=>(await F(`/api/service-budgets${c?"?refresh=1":""}`,{cache:"no-store"})).gauges??[],[]),G=a.useMemo(()=>Ht(m,u),[m,u]),[L,Ne]=Dt(ns,Ke),J=a.useMemo(()=>$.find(c=>c.value===L)??$[$.length-1],[L]),[tt,st]=Fe(os,de),B=Vt(tt),O=Gt(B),[nt,ot]=Fe(is,Qe),ae=zt(nt),Ae=a.useMemo(()=>Bt(B),[B]),C=a.useCallback(async(c="initial")=>{const l=++ke.current;!(me.current!==null)&&c!=="background"?(ie(!0),W(null)):k(!0);const M=new URLSearchParams({activityLookbackMs:String(J.value),activityLimit:String(J.activityLimit)}).toString(),[x,_,N]=await Promise.allSettled([F(`/api/fleet?${M}`),F("/api/heartrate"),o()]);if(l!==ke.current)return;x.status==="fulfilled"&&(me.current=x.value,g(x.value)),_.status==="fulfilled"&&(I(_.value.buckets),ee(_.value.windowLabel),te(_.value.bucketLabel??""));const H=[we(x),we(_),we(N)].filter(U=>!!U);W(H[0]??null),H.length<4&&et(Date.now()),ie(!1),k(!1)},[o,J]),it=a.useCallback(()=>{Q()&&(Y.current||(Y.current=setTimeout(()=>{Y.current=null,C("background")},250)))},[C]);a.useEffect(()=>(C(),()=>{Y.current&&clearTimeout(Y.current)}),[C]),yt(it),a.useEffect(()=>{let c=!1;const l=async()=>{try{const x=await V();c||E(x)}catch{}};l();const f=setInterval(()=>{Q()&&l()},as),M=()=>{document.visibilityState==="visible"&&Q()&&l()};return window.addEventListener("focus",M),document.addEventListener("visibilitychange",M),()=>{c=!0,clearInterval(f),window.removeEventListener("focus",M),document.removeEventListener("visibilitychange",M)}},[V]);const Z=a.useCallback(async()=>{try{const c=new URLSearchParams({limit:String(Ae),transcripts:"true"}),[l,f]=await Promise.all([F(`/api/tail/recent?${c.toString()}`),F("/api/tail/discover").catch(()=>null)]);se(l.events??[]),f&&ne(f)}catch{}},[Ae]);a.useEffect(()=>{Z();const c=setInterval(()=>{Q()&&Z()},rs);return()=>clearInterval(c)},[Z]),a.useEffect(()=>{const c=setInterval(()=>{Q()&&C("background")},15e3);return()=>clearInterval(c)},[C]),a.useEffect(()=>kt(()=>{const l=Date.now();l-je.current<1e3||(je.current=l,C("background"),V().then(E).catch(()=>null),Z())}),[V,C,Z]);const[h,at]=a.useState(()=>Date.now());a.useEffect(()=>{const c=setInterval(()=>{Q()&&at(Date.now())},1e3);return()=>clearInterval(c)},[]);const Ie=a.useMemo(()=>(G?.activeAsks??[]).filter(c=>c.status==="queued"||c.status==="working"),[G]),re=a.useMemo(()=>Ie.filter(c=>Ye(c.updatedAt,h,O.windowMs)),[Ie,O.windowMs,h]),T=a.useMemo(()=>{const c=new Map;for(const l of re){const f=c.get(l.agentId),M=S(l.updatedAt)??0,x=S(f?.updatedAt)??0;(!f||M>x)&&c.set(l.agentId,l)}return c},[re]),rt=a.useMemo(()=>d.filter(c=>Qt(c,h,T.has(c.id),p,O.windowMs,B)),[d,T,O.windowMs,B,h,p]),j=St(rt),R=a.useMemo(()=>{const l=d.filter(f=>Jt({agent:f,observeEntry:j[f.id],tailEvents:p,nowMs:h,movingAsk:T.get(f.id),windowMs:O.windowMs})).sort((f,M)=>pe(M,{observeEntry:j[M.id],tailEvents:p,nowMs:h,movingAsk:T.get(M.id)})-pe(f,{observeEntry:j[f.id],tailEvents:p,nowMs:h,movingAsk:T.get(f.id)}));return es(l,j)},[d,T,O.windowMs,j,p,h]);a.useMemo(()=>{const c={};for(const l of R)c[l.id]=Zt(j[l.id]?.data);return c},[j,R]);const Ee=a.useMemo(()=>new Set(R.map(c=>c.id)),[R]),Ce=a.useMemo(()=>{const c=new Set;for(const l of R){const f=Xe(j[l.id]);f&&c.add(f)}return c},[j,R]),Le=a.useMemo(()=>ss({agents:d,tailEvents:p,transcripts:D?.transcripts??[],processes:D?.processes??[],observeCache:j,nowMs:h,horizon:B}).filter(l=>{if(Ee.has(l.agent.id))return!1;const f=Xt(l);return!(f&&Ce.has(f))}).sort((l,f)=>f.lastActiveAt-l.lastActiveAt),[d,B,j,h,D,p,Ee,Ce]),fe=a.useMemo(()=>re.filter(c=>!R.some(l=>l.id===c.agentId)).sort((c,l)=>We(c.updatedAt,l.updatedAt)),[R,re]),Re=h-L,A=a.useMemo(()=>{const c=new Set(["ask_failed","ask_replied","flight.completed","flight.updated","flight_updated"]),l=(G?.activity??[]).filter(f=>!c.has(f.kind)&&(S(f.ts)??0)>=Re);return l.filter((f,M)=>{const x=l[M-1];return x?!(x.title===f.title&&x.summary===f.summary&&x.conversationId===f.conversationId&&Math.abs((S(x.ts)??0)-(S(f.ts)??0))<=5e3):!0})},[G?.activity,Re]),ve=a.useMemo(()=>vs(A,L,h),[A,L,h]),he=A.length>=J.activityLimit,ct=a.useMemo(()=>{const c=$.findIndex(l=>l.value===L);return c>=0&&c<$.length-1?$[c+1]:null},[L]),lt=new Date,ut=Nt("ops.control",!0),ge=n?.operatorName?.trim()||n?.operatorNameSuggestion?.trim()||"operator",dt=a.useMemo(()=>gs(w,p,h),[w,p,h]),_e=a.useMemo(()=>{const c=h-O.windowMs,l=G?.activity??[],f=new Set(d.map(N=>N.name.toLowerCase())),M=new Set(d.map(N=>N.id)),x=new Set(["agent_message","status_message","ask_opened","ask_working","handoff_sent","collaboration_event"]),_=new Map;for(const N of l){const H=S(N.ts);if(H===null||H<c||!x.has(N.kind))continue;const U=N.actorName?.trim();if(!U||U.toLowerCase()===ge.toLowerCase()||f.has(U.toLowerCase())||N.agentId&&M.has(N.agentId))continue;const He=U.toLowerCase(),$e=_.get(He),bt=S($e?.ts)??0;(!$e||H>bt)&&_.set(He,N)}return[..._.values()].sort((N,H)=>We(N.ts,H.ts))},[G?.activity,O.windowMs,h,d,ge]),mt=y?"syncing":b?`${ws(b)?"offline":"sync issue"} · ${P?be(P):"waiting"}`:P?`updated ${be(P)}`:"waiting",ft=a.useCallback(()=>{C("manual"),V(!0).then(c=>E(c)).catch(()=>{})},[V,C]),vt={now:lt,operatorName:ge,syncLabel:mt,error:b,loading:y,refreshing:v,onRefresh:ft,navigate:e,opsEnabled:ut,heartrate:dt,heartrateWindow:q,heartrateBucketLabel:K,heartrateVisibleEventThreshold:cs,serviceGauges:oe},ht=!y&&!b&&A.length===0&&L>=Ke,gt=!y&&!b&&A.length===0,pt=y||A.length>0||!!b||!ht,Oe=a.useMemo(()=>[...R.map(l=>({bucket:"working",id:l.id,agent:l,lastActivityAt:pe(l,{observeEntry:j[l.id],tailEvents:p,nowMs:h,movingAsk:T.get(l.id)})})),...Le.map(l=>({bucket:"native",id:l.id,lane:l,lastActivityAt:l.lastActiveAt})),..._e.map(l=>({bucket:"observed",id:l.id,actor:l,lastActivityAt:S(l.ts)??0}))].sort((l,f)=>Ut(l,f,ae)),[T,ae,Le,h,j,_e,p,R]),Te=Oe.slice(0,ts),ce=Te.length,z=Oe.length+fe.length,wt=z>ce&&ce>0?`What's moving · ${ce} of ${z}`:`What's moving · ${z}`;return s.jsx("div",{className:"s-fleet-home",children:s.jsxs("div",{className:"s-fleet-home-inner",children:[s.jsx(Mt,{...vt}),(z>0||y)&&s.jsxs("div",{className:"s-fleet-section",children:[s.jsx(Ve,{label:y&&z===0?"What's moving":wt,right:s.jsxs("div",{className:"s-moving-controls",children:[s.jsx(bs,{sort:ae,onSortChange:ot,windowKey:O.key,onWindowChange:st}),s.jsx("button",{className:"s-link-btn",onClick:()=>e({view:"mesh"}),children:"open mesh ↗"})]})}),y&&z===0?s.jsx(Ss,{}):s.jsxs(s.Fragment,{children:[ce>0&&s.jsx(Ft,{cards:Te,sort:ae,nowMs:h,movingAskByAgent:T,observeCache:j,navigate:e}),fe.length>0&&s.jsx("div",{className:"s-moving-ask-list",children:fe.map(c=>s.jsx(Ms,{ask:c,navigate:e},c.invocationId))})]})]}),pt&&s.jsxs("div",{className:"s-fleet-section",children:[s.jsx(Ve,{label:`Live activity · ${A.length}${he?"+":""}`,right:s.jsx(xs,{value:L,onChange:Ne,refreshing:v&&!y})}),ve&&s.jsxs("div",{className:"s-fleet-live-shape",children:[s.jsxs("span",{children:["last ",xe(ve.lastAgoMs)," ago"]}),s.jsx("span",{children:"·"}),s.jsxs("span",{children:["longest gap ",xe(ve.longestGapMs)]}),he&&s.jsxs(s.Fragment,{children:[s.jsx("span",{children:"·"}),s.jsxs("span",{style:{color:"var(--amber)"},children:["showing ",Math.min(A.length,30)," of ",J.activityLimit,"+ (capped)"]})]}),!he&&A.length>30&&s.jsxs(s.Fragment,{children:[s.jsx("span",{children:"·"}),s.jsxs("span",{children:["showing 30 of ",A.length]})]})]}),y&&A.length===0?s.jsx(ys,{}):A.length===0?s.jsx(ks,{lookbackMs:L,nextOption:ct,onWiden:c=>Ne(c.value),loadedAt:P,nowMs:h,error:b,onRetry:()=>{C("manual")}}):s.jsx("div",{className:"s-mc-stream s-fleet-live-stream",children:A.slice(0,30).map(c=>s.jsx(As,{item:c,nowMs:h,onOpen:()=>{const l=ms(c);l&&e(l)}},c.id))})]}),gt&&s.jsx("div",{className:"s-fleet-section s-fleet-section--quiet-start",children:s.jsx(Ns,{agents:d,navigate:e})})]})})}function Ve({label:e,right:t}){return s.jsxs("div",{className:"s-section-rule",children:[s.jsx("span",{className:"s-eyebrow",children:e}),s.jsx("span",{className:"s-section-rule-line"}),t&&s.jsx("span",{className:"s-section-rule-right",children:t})]})}function bs({sort:e,onSortChange:t,windowKey:n,onWindowChange:o}){return s.jsxs("div",{className:"s-moving-controlset","aria-label":"Moving cards controls",children:[s.jsxs("div",{className:"s-mc-window s-moving-window",role:"group","aria-label":"Moving sort",children:[s.jsx("span",{className:"s-mc-window-label",children:"Sort"}),s.jsx("div",{className:"s-mc-window-tabs",children:[["recent","Recent"],["grouped","Grouped"]].map(([r,i])=>s.jsx("button",{type:"button",className:`s-mc-window-tab${e===r?" is-active":""}`,onClick:()=>t(r),children:i},r))})]}),s.jsxs("div",{className:"s-mc-window s-moving-window",role:"group","aria-label":"Moving activity window",children:[s.jsx("span",{className:"s-mc-window-label",children:"Window"}),s.jsx("div",{className:"s-mc-window-tabs",children:ue.map(r=>s.jsx("button",{type:"button",className:`s-mc-window-tab${n===r.key?" is-active":""}`,onClick:()=>o(r.key),children:r.label},r.key))})]})]})}function Ms({ask:e,navigate:t}){const n=$t(e);return s.jsxs("button",{className:"s-moving-ask-row",onClick:()=>t(n),children:[s.jsx("span",{className:"s-moving-ask-agent",children:e.agentName??e.agentId}),s.jsx("span",{className:"s-moving-ask-title",children:e.summary??e.task}),s.jsx("span",{className:"s-moving-ask-state",children:e.statusLabel}),s.jsx("span",{className:"s-moving-ask-time",children:be(e.updatedAt)})]})}function xs({value:e,onChange:t,refreshing:n}){return s.jsxs("div",{className:"s-mc-window",role:"group","aria-label":"Lookback window",children:[s.jsxs("span",{className:"s-mc-window-label",children:["Lookback",n&&s.jsx("span",{className:"s-mc-window-refreshing","aria-label":"refreshing"})]}),s.jsx("div",{className:"s-mc-window-tabs",children:$.map(o=>s.jsx("button",{type:"button",className:`s-mc-window-tab${o.value===e?" is-active":""}`,onClick:()=>t(o.value),children:o.label},o.value))})]})}function Ss(){return s.jsx("div",{className:"s-moving-signal-stage s-moving-signal-skeleton","aria-hidden":"true",children:s.jsx("div",{className:"s-moving-signal-list",children:[0,1,2,3,4].map(e=>s.jsxs("div",{className:"s-moving-signal-row s-moving-signal-row--skeleton",children:[s.jsx("span",{className:"s-moving-signal-skeleton-age"}),s.jsx("span",{}),s.jsx("span",{className:"s-moving-signal-skeleton-where"}),s.jsx("span",{className:"s-moving-signal-skeleton-action"})]},e))})})}function ys(){return s.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=>s.jsxs("div",{className:"s-fleet-live-skeleton-row",children:[s.jsx("span",{className:"s-fleet-live-skeleton-time"}),s.jsx("span",{className:"s-fleet-live-skeleton-actor"}),s.jsx("span",{className:"s-fleet-live-skeleton-text"})]},e))})}function ks({lookbackMs:e,nextOption:t,onWiden:n,loadedAt:o,nowMs:r,error:i,onRetry:u}){if(i)return s.jsxs("div",{className:"s-mc-empty s-fleet-live-empty",children:[s.jsx("div",{className:"s-fleet-live-empty-title",children:"Couldn’t load activity."}),s.jsx("div",{className:"s-fleet-live-empty-detail",children:i}),s.jsx("div",{className:"s-fleet-live-empty-actions",children:s.jsx("button",{type:"button",className:"s-link-btn",onClick:u,children:"Try again"})})]});const d=o?`Polled ${xe(Math.max(0,r-o))} ago.`:"Polling…";return s.jsxs("div",{className:"s-mc-empty s-fleet-live-empty",children:[s.jsxs("div",{className:"s-fleet-live-empty-title",children:["Quiet — no activity in the last ",fs(e),"."]}),s.jsx("div",{className:"s-fleet-live-empty-detail",children:d}),t&&s.jsx("div",{className:"s-fleet-live-empty-actions",children:s.jsxs("button",{type:"button",className:"s-link-btn",onClick:()=>n(t),children:["Widen to ",t.label," →"]})})]})}function js(e){return[...e].sort((t,n)=>{const o=Pe(t.state),r=Pe(n.state);return(o==="callable"?0:o==="in_turn"||o==="in_flight"?1:2)-(r==="callable"?0:r==="in_turn"||r==="in_flight"?1:2)||t.name.localeCompare(n.name)})}function Ns({agents:e,navigate:t}){const n=a.useMemo(()=>js(e),[e]),[o,r]=a.useState(()=>n[0]?.id??""),i=n.find(v=>v.id===o)??null,[u,d]=a.useState(null),[m,g]=a.useState(""),[w,I]=a.useState(i?.harness?.trim()??""),[q,ee]=a.useState(i?.model?.trim()??""),[K,te]=a.useState("medium"),[p,se]=a.useState(!1),[D,ne]=a.useState(null),oe=u??It;a.useEffect(()=>{n.some(v=>v.id===o)||r(n[0]?.id??"")},[o,n]),a.useEffect(()=>{I(i?.harness?.trim()??""),ee(i?.model?.trim()??"")},[i?.id]),a.useEffect(()=>{const v=i?.projectRoot?.trim()||i?.cwd?.trim(),k=new URLSearchParams({scope:"global+project"});v&&k.set("projectRoot",v);let b=!1;return F(`/api/runner/options?${k.toString()}`).then(W=>{!b&&W.schemaVersion==="openscout.runtime-capabilities.v1"&&d(W)}).catch(()=>{}),()=>{b=!0}},[i?.cwd,i?.projectRoot]);const E=w||i?.harness?.trim()||"",y=a.useMemo(()=>{const v=At(oe);return E&&!v.harnesses.some(k=>k.value===E)?{...v,harnesses:[...v.harnesses,{value:E,label:E,models:[{value:"",label:"Default",note:"harness picks"}]}]}:v},[oe,E]);a.useEffect(()=>{const v=Et(y,E,q);!v||v.some(k=>k.value===K)||te(v.find(k=>k.value==="medium")?.value??v[0]?.value??"")},[y,E,q,K]);const ie=async v=>{const k=m.trim();if(!(!i||!k||p)){se(!0),ne(null);try{const b=await Lt(i),W=await F("/api/send",{method:"POST",body:JSON.stringify({body:k,chatId:b,execution:{harness:w||void 0,model:q||void 0,reasoningEffort:K||void 0}})});g("");const P=W.conversationId??b;t({view:"conversation",conversationId:P})}catch(b){ne(b instanceof Error?b.message:String(b))}finally{se(!1)}}};return s.jsxs("div",{className:"s-quiet-start",children:[s.jsxs("div",{className:"s-quiet-panel s-quiet-panel--tail",children:[s.jsxs("div",{className:"s-quiet-panel-head",children:[s.jsx("span",{className:"s-eyebrow",children:"Local tail"}),s.jsxs("button",{type:"button",className:"s-icon-btn",title:"Open tail",onClick:()=>t({view:"ops",mode:"tail"}),children:[s.jsx(qt,{size:14,"aria-hidden":"true"}),s.jsx("span",{children:"Open tail"})]})]}),s.jsx("div",{className:"s-quiet-tail-frame",children:s.jsx(xt,{navigate:t,chrome:"embedded"})})]}),s.jsxs("div",{className:"s-quiet-panel s-quiet-panel--ask",children:[s.jsx("div",{className:"s-quiet-panel-head",children:s.jsx("span",{className:"s-eyebrow",children:"Message"})}),s.jsx("div",{className:"s-quiet-compose",children:s.jsx(Rt,{density:"panel",value:m,onChange:g,onSend:()=>{ie()},placeholder:"Type a message…",disabled:p||!i,sending:p,canSend:!p&&!!i&&m.trim().length>0,header:s.jsxs("div",{className:"s-quiet-target-row s-quiet-target-row--in-compose",children:[s.jsx("label",{className:"s-quiet-label",htmlFor:"home-catchup-agent",children:"To"}),s.jsx("select",{id:"home-catchup-agent",className:"s-quiet-select s-quiet-select--target",value:o,onChange:v=>r(v.target.value),disabled:n.length===0||p,children:n.length===0?s.jsx("option",{value:"",children:"No registered agents"}):n.map(v=>s.jsx("option",{value:v.id,children:v.name},v.id))})]}),tools:s.jsx(Ct,{catalog:y,value:{harness:E,model:q,effort:K},onChange:v=>{I(v.harness===(i?.harness?.trim()??"")?"":v.harness),ee(v.model),te(v.effort)},disabled:p||!i})})}),D&&s.jsx("div",{className:"s-quiet-error",children:D})]})]})}function As({item:e,nowMs:t,onOpen:n}){const o=e.actorName??"—",r=ds(e.kind),i=us(e.title??e.summary,110);return s.jsxs("button",{type:"button",className:"s-mc-stream-row",onClick:n,children:[s.jsx("span",{className:"s-mc-stream-time",children:ls(e.ts,t)}),s.jsx("span",{className:"s-mc-stream-actor",children:o}),s.jsx("span",{className:"s-mc-stream-verb",children:r}),s.jsx("span",{className:"s-mc-stream-text",children:i})]})}const Gs=Object.freeze(Object.defineProperty({__proto__:null,HomeContent:De,HomeScreen:De},Symbol.toStringTag,{value:"Module"}));export{De as H,Dt as a,Fe as b,Gs as c,Vs as u};
@@ -1 +0,0 @@
1
- import{g as a,a as t,c as e}from"./gestures-CxG3Dphs.js";import"./index-CzVeWScw.js";import"./use-reduced-motion-Dla-G_Jz.js";const r={renderer:e,...t,...a};export{r as default};