@openscout/scout 0.2.91 → 0.2.94

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 (508) hide show
  1. package/README.md +19 -17
  2. package/bin/scoutd +0 -0
  3. package/dist/build-manifest.json +3 -3
  4. package/dist/client/apple-touch-icon.png +0 -0
  5. package/dist/client/assets/ActivityScreen--eANwuxa.js +1 -0
  6. package/dist/client/assets/{AddProjectForm-DtTfn4Zk.js → AddProjectForm-CcD6qvV8.js} +1 -1
  7. package/dist/client/assets/AgentAvatar-CYhf6twS.js +1 -0
  8. package/dist/client/assets/AgentConfigurationScreen-BTI24HQX.js +1 -0
  9. package/dist/client/assets/AgentDefinitionsWorkspace-srmN6-vj.js +1 -0
  10. package/dist/client/assets/{AgentDetailCard-Dtc02KUO.js → AgentDetailCard-UqPNpcvB.js} +1 -1
  11. package/dist/client/assets/AgentFloorView-XXNgI5Cj.js +1 -0
  12. package/dist/client/assets/AgentInfoScreen-CimdOnZ9.js +1 -0
  13. package/dist/client/assets/{AgentLaneCard-BRAkw8YJ.js → AgentLaneCard-Z-aOBR3W.js} +1 -1
  14. package/dist/client/assets/{AgentLaneChrome-T8QE5742.js → AgentLaneChrome-CyhA1reW.js} +1 -1
  15. package/dist/client/assets/AgentLaneDetailSheet-BNzjMjIH.js +4 -0
  16. package/dist/client/assets/{AgentLaneSummaryResize-FyYweLo_.js → AgentLaneSummaryResize-Box8-_rS.js} +1 -1
  17. package/dist/client/assets/AgentLanesEmbedScreen-BmLnN4on.js +1 -0
  18. package/dist/client/assets/{AgentLanesPreflight-Cil3dNwu.js → AgentLanesPreflight-5B6sXvRB.js} +1 -1
  19. package/dist/client/assets/AgentLanesView-DHyzVBk6.js +2 -0
  20. package/dist/client/assets/{AgentLiveActions-DwScaVRF.js → AgentLiveActions-BwuzOE8h.js} +1 -1
  21. package/dist/client/assets/AgentSessions-CsZwoukw.js +6 -0
  22. package/dist/client/assets/AgentsConsole-KCao4XmX.js +1 -0
  23. package/dist/client/assets/AgentsScreen-CtPAmwRX.js +1 -0
  24. package/dist/client/assets/AgentsSubnav-CDMjKeYC.js +1 -0
  25. package/dist/client/assets/AstronautSuit-Ckx7lu7G.js +1 -0
  26. package/dist/client/assets/AtopView-DYlpgEHf.js +1 -0
  27. package/dist/client/assets/{BackToPicker-D6WgIDb-.js → BackToPicker-4JaeRvDm.js} +1 -1
  28. package/dist/client/assets/BriefingDetailScreen-D6-xqrpo.js +1 -0
  29. package/dist/client/assets/BriefingsScreen-DKxSDEmk.js +1 -0
  30. package/dist/client/assets/{BrokerMetadataPanel-Cu93j-Ga.js → BrokerMetadataPanel-BbREmsbK.js} +1 -1
  31. package/dist/client/assets/BrokerScreen-fbPIouMw.js +5 -0
  32. package/dist/client/assets/CastPicker-BcA2vDDV.js +1 -0
  33. package/dist/client/assets/CastPicker-zXsnkTIy.css +1 -0
  34. package/dist/client/assets/ChatCollapsedStrip-Ycm0ecaX.js +1 -0
  35. package/dist/client/assets/{CodeDiffPane-BjCOBLze.js → CodeDiffPane-Cn8Y9hAt.js} +1 -1
  36. package/dist/client/assets/{CodeProjectPicker-NSGdCaK0.js → CodeProjectPicker-nPFktrco.js} +1 -1
  37. package/dist/client/assets/CodeScreen-BlAxtxE5.js +1 -0
  38. package/dist/client/assets/ConversationComposer-2HjbGPL9.js +1 -0
  39. package/dist/client/assets/ConversationFeedRows-C6wUqJrx.js +1 -0
  40. package/dist/client/assets/ConversationHeader-C8vfXaTF.js +1 -0
  41. package/dist/client/assets/ConversationPanels-CNCIbpqU.js +6 -0
  42. package/dist/client/assets/ConversationScreen-BNULZAp2.js +2 -0
  43. package/dist/client/assets/ConversationScreen-CkWnKXt6.css +1 -0
  44. package/dist/client/assets/ConversationStatus-DZuyKsWN.js +1 -0
  45. package/dist/client/assets/CrewAvatar-CTIuxp4G.js +1 -0
  46. package/dist/client/assets/CrewAvatar-D0c9z5Qr.css +1 -0
  47. package/dist/client/assets/CrewWorkspaces-CJhBKVoZ.css +1 -0
  48. package/dist/client/assets/CrewWorkspaces-CkPYIA46.js +1 -0
  49. package/dist/client/assets/{DataTable-Dzqiaha4.js → DataTable-6IDhanr5.js} +1 -1
  50. package/dist/client/assets/DispatchAftermath-DC1u9itO.js +1 -0
  51. package/dist/client/assets/DocumentFocusViewer-DZVhS7as.js +1 -0
  52. package/dist/client/assets/{EmbeddableSurfacesLab-C3a7hJWO.js → EmbeddableSurfacesLab-BKUFJMCV.js} +1 -1
  53. package/dist/client/assets/{EmptyState-CYNJZMrZ.js → EmptyState-CeBl0iGd.js} +1 -1
  54. package/dist/client/assets/{FileViewerPane-Fwt8_KmD.js → FileViewerPane-DQlpNt2S.js} +2 -2
  55. package/dist/client/assets/FlightObserveScreen-CDWGSKZg.js +1 -0
  56. package/dist/client/assets/FollowScreen-BXHOp3gb.js +1 -0
  57. package/dist/client/assets/{HarnessMark-DrE57dUq.js → HarnessMark-D5CA5uSp.js} +1 -1
  58. package/dist/client/assets/HarnessesScreen-DhFXq1qz.js +1 -0
  59. package/dist/client/assets/{HerdrSession-1eVu9Owj.js → HerdrSession-BRhs5LIR.js} +1 -1
  60. package/dist/client/assets/HomeHero-7JwycwFY.css +1 -0
  61. package/dist/client/assets/HomeHero-DMABJuze.js +1 -0
  62. package/dist/client/assets/HostAdvisorView-RAociATV.js +1 -0
  63. package/dist/client/assets/{KnowledgeSearchInspector-CbPVg3fr.js → KnowledgeSearchInspector-CZPyVNSw.js} +1 -1
  64. package/dist/client/assets/KnowledgeSearchScreen-mGTKIg00.js +1 -0
  65. package/dist/client/assets/{LaneToolHoverCard-BkBcDYm-.js → LaneToolHoverCard-D_DMlBeT.js} +1 -1
  66. package/dist/client/assets/LaneTraceDetailSheet-BEHg3LmH.js +1 -0
  67. package/dist/client/assets/{LaneTraceEventFocus-BmMmPTyJ.js → LaneTraceEventFocus-DVimcizS.js} +1 -1
  68. package/dist/client/assets/{MeshCanvas-DwkjsiJ5.js → MeshCanvas-BOuZx4AM.js} +2 -2
  69. package/dist/client/assets/{MeshCanvasMinimap-vmCpU1sD.js → MeshCanvasMinimap-wL-1N94e.js} +1 -1
  70. package/dist/client/assets/MeshScreen-DMY9Bmh5.js +1 -0
  71. package/dist/client/assets/{MeshTopologyView-BD2xLE2C.js → MeshTopologyView-DiDcX5f4.js} +2 -2
  72. package/dist/client/assets/MessagesScreen-Eulveud3.js +1 -0
  73. package/dist/client/assets/{MissionContextRail-D5MEP2f4.js → MissionContextRail-DrNKXG5u.js} +1 -1
  74. package/dist/client/assets/MissionControlView-ByBlHVN8.js +1 -0
  75. package/dist/client/assets/MissionFocusOverlay-D1i6R6Zt.js +1 -0
  76. package/dist/client/assets/MissionLeftAgentRow-DN9NcCML.js +1 -0
  77. package/dist/client/assets/MissionLogPane-DSeIv3Xo.js +1 -0
  78. package/dist/client/assets/NewAgentModal-V7yK6J6j.js +1 -0
  79. package/dist/client/assets/NewChatComposer-hlWT-nbR.js +19 -0
  80. package/dist/client/assets/{NewChatOrigin-DXPvX-hh.js → NewChatOrigin-DdpzE4kz.js} +1 -1
  81. package/dist/client/assets/ObserveEmbedScreen-l_Q3ts2q.js +2 -0
  82. package/dist/client/assets/ObserveTextFlow-BSEtYTxU.js +2 -0
  83. package/dist/client/assets/ObservedTopologyPanel-CdGUXxGR.js +2 -0
  84. package/dist/client/assets/OpenScoutAppShell-DN8dOSK4.js +79 -0
  85. package/dist/client/assets/OpsAgentsView-ntGr4pz4.js +1 -0
  86. package/dist/client/assets/OpsScreen-Ppen_Lmj.js +1 -0
  87. package/dist/client/assets/OpsSubnav-GAKsoSor.js +1 -0
  88. package/dist/client/assets/ProjectAgentProfile-BLlp2e6t.js +1 -0
  89. package/dist/client/assets/{ProjectAgentProfileBar-C5QWwZCn.js → ProjectAgentProfileBar-BQET-qrY.js} +1 -1
  90. package/dist/client/assets/ProjectAgentProfileHero-Ck8mThtx.js +1 -0
  91. package/dist/client/assets/ProjectsInbox-Dlt8OQ8O.js +2 -0
  92. package/dist/client/assets/ProjectsRail-DCfNMmnW.js +1 -0
  93. package/dist/client/assets/ProjectsScreen-BP-hmI1m.js +1 -0
  94. package/dist/client/assets/ProjectsThreadAside-CWpMjGIH.js +1 -0
  95. package/dist/client/assets/Provider-B2xuo3rf.js +1 -0
  96. package/dist/client/assets/RailRow-B-GycCBx.js +1 -0
  97. package/dist/client/assets/RailRow-B0sRaJc6.css +1 -0
  98. package/dist/client/assets/RawSessionsTable-AQThi6sm.js +1 -0
  99. package/dist/client/assets/RealtimeVoiceScreen-D7zZHK_t.js +1 -0
  100. package/dist/client/assets/{RepoDiffEmbedScreen-xjzjcJ_c.js → RepoDiffEmbedScreen-DXWoRF_c.js} +1 -1
  101. package/dist/client/assets/{RepoDiffPageScreen-DRzIY-dk.js → RepoDiffPageScreen-D_274ExO.js} +1 -1
  102. package/dist/client/assets/RepoDiffViewer-DbedmHDX.js +7 -0
  103. package/dist/client/assets/RepoDiffViewerLazy-C0--fPtk.js +2 -0
  104. package/dist/client/assets/ReposScreen-D39_YG4H.js +6 -0
  105. package/dist/client/assets/ScoutDeckSurface-CKT3qdqY.js +1 -0
  106. package/dist/client/assets/{ScoutSurface-BENBUt5-.js → ScoutSurface-UsRy0t-I.js} +1 -1
  107. package/dist/client/assets/{ScoutbotFxLab-Bk2ZsfPp.js → ScoutbotFxLab-Fmdfboxs.js} +1 -1
  108. package/dist/client/assets/{SecondaryNav-B4IsujYh.js → SecondaryNav-o2RL9H8H.js} +1 -1
  109. package/dist/client/assets/{SessionEmbedScreen-CPfH-jqN.js → SessionEmbedScreen-RD5XOx7R.js} +1 -1
  110. package/dist/client/assets/{SessionObserve-B-SkP3tu.js → SessionObserve-Dsd0j05N.js} +9 -9
  111. package/dist/client/assets/{SessionObserveEvidence-CF5jnH3-.js → SessionObserveEvidence-DopQYDkD.js} +1 -1
  112. package/dist/client/assets/SessionRefScreen-B_cTv47v.js +1 -0
  113. package/dist/client/assets/SessionsScreen-Bq0Z77On.js +1 -0
  114. package/dist/client/assets/SettingsDrawer-R8a0TlJD.css +1 -0
  115. package/dist/client/assets/SettingsDrawer-_AwuopMS.js +3 -0
  116. package/dist/client/assets/SettingsScreen-Cw4DDfJP.js +1 -0
  117. package/dist/client/assets/{ShikiPane-DH8yYDks.js → ShikiPane-BfHc_3pM.js} +1 -1
  118. package/dist/client/assets/{SlidePanel-RFXJpfUa.js → SlidePanel-C-q7XwTa.js} +1 -1
  119. package/dist/client/assets/SpriteAvatar-Bs68ZENy.js +1 -0
  120. package/dist/client/assets/{StatusPill-9uy70ttd.js → StatusPill-ZZQwxB1a.js} +1 -1
  121. package/dist/client/assets/{TailView-6bIrgdxN.js → TailView-Q4FVMsUH.js} +2 -2
  122. package/dist/client/assets/Terminal-D7zqHwHV.js +1 -0
  123. package/dist/client/assets/TerminalEmbedScreen-CXIJ7qv6.js +1 -0
  124. package/dist/client/assets/TerminalHeaderMount-BnBLOPbb.js +1 -0
  125. package/dist/client/assets/{TextDocumentSurface-BcP9vvji.js → TextDocumentSurface-CKQP-cBT.js} +1 -1
  126. package/dist/client/assets/{TmuxPeek-IaWqCgyJ.js → TmuxPeek-V9dGESfO.js} +1 -1
  127. package/dist/client/assets/{VoicePermissionsPanel-C80iZxgy.js → VoicePermissionsPanel-k7sbLXx2.js} +1 -1
  128. package/dist/client/assets/WorkDetailScreen-60p9litn.js +5 -0
  129. package/dist/client/assets/WorkFilesViewer-BjJS7GyM.js +1 -0
  130. package/dist/client/assets/{activity-DS0u0Itf.js → activity-Bj3Hnbj3.js} +1 -1
  131. package/dist/client/assets/{addon-fit-CN888B3D.js → addon-fit-BL-NTWRU.js} +1 -1
  132. package/dist/client/assets/{addon-webgl-CoAnanQS.js → addon-webgl-CIMgmNjg.js} +1 -1
  133. package/dist/client/assets/{ScoutbotBroadcastChip-CxtYZWPZ.css → agent-autocomplete-C7xwIcwd.css} +1 -1
  134. package/dist/client/assets/agent-autocomplete-DXlvdc4b.js +10 -0
  135. package/dist/client/assets/{agent-essentials-CuK4G_zS.js → agent-essentials-BOMHR0_U.js} +1 -1
  136. package/dist/client/assets/{agent-lane-card-model-q4cwzLX4.js → agent-lane-card-model-CTLxf3R4.js} +1 -1
  137. package/dist/client/assets/agent-lane-detail-ppJId6Jc.js +2 -0
  138. package/dist/client/assets/{agent-lane-preview-C33Dwpn7.js → agent-lane-preview-BhplDYGf.js} +1 -1
  139. package/dist/client/assets/{agent-lanes-BDNktFBZ.css → agent-lanes-DlqcEf0l.css} +1 -1
  140. package/dist/client/assets/{agent-lanes-model-VYQ5a68i.js → agent-lanes-model-AfrjRNK5.js} +2 -2
  141. package/dist/client/assets/agent-specialization-BIPIBW8u.js +1 -0
  142. package/dist/client/assets/api-Co9aQ2Jw.js +1 -0
  143. package/dist/client/assets/{api-BkjHJfgJ.js → api-HFH8wFyb.js} +1 -1
  144. package/dist/client/assets/{arc.es-BET9ev6q.js → arc.es-IR5r6sj_.js} +1 -1
  145. package/dist/client/assets/archive-BjcGiAy8.js +1 -0
  146. package/dist/client/assets/{arrow-down-DxxPnPwh.js → arrow-down-BydciYFZ.js} +1 -1
  147. package/dist/client/assets/{arrow-left-CXDkJuCg.js → arrow-left-CghA0kTw.js} +1 -1
  148. package/dist/client/assets/arrow-right-iJFv3jNh.js +1 -0
  149. package/dist/client/assets/{arrow-up-right-Bj8RjSqW.js → arrow-up-right-CCfZXPqD.js} +1 -1
  150. package/dist/client/assets/{bot-BSGSicKC.js → bot-B5sub1-i.js} +1 -1
  151. package/dist/client/assets/broker-display-Q75fupqG.js +2 -0
  152. package/dist/client/assets/{cache-Dr0why2k.js → cache-CeWH_KzJ.js} +1 -1
  153. package/dist/client/assets/{check-BfA0T8UD.js → check-C18YQC90.js} +1 -1
  154. package/dist/client/assets/{chevron-down-BVg09D6U.js → chevron-down-Mp9mu_yd.js} +1 -1
  155. package/dist/client/assets/{chevron-right-CaEwYkxE.js → chevron-right-CzH-TaSF.js} +1 -1
  156. package/dist/client/assets/{chunk-HRAB3GC3-HhKwnZCi.js → chunk-HRAB3GC3-swV8PA2k.js} +1 -1
  157. package/dist/client/assets/{chunk-JTPDIGGW-DX2eTIQ_.js → chunk-JTPDIGGW-BKXqcLKw.js} +3 -3
  158. package/dist/client/assets/{chunk-T65CQEWV-D-bOfuCH.js → chunk-T65CQEWV-vYbNJ8E6.js} +1 -1
  159. package/dist/client/assets/{chunk-YOZR3KYS-oS9dlQCI.js → chunk-YOZR3KYS-U65yUmqt.js} +1 -1
  160. package/dist/client/assets/{clock-C3TUL7D7.js → clock-B4PTFi5m.js} +1 -1
  161. package/dist/client/assets/{code-xml-Dbvjk9Kw.js → code-xml-Jtxsp5d1.js} +1 -1
  162. package/dist/client/assets/collapsed-strip-raJWthAH.css +1 -0
  163. package/dist/client/assets/compass-0_54-vz3.js +1 -0
  164. package/dist/client/assets/content-6RvWTrtk.js +1 -0
  165. package/dist/client/assets/content-BCgwMUqz.js +1 -0
  166. package/dist/client/assets/content-Bf2VLhx0.js +1 -0
  167. package/dist/client/assets/content-BrU_38-m.js +1 -0
  168. package/dist/client/assets/content-BvvJN8rN.js +1 -0
  169. package/dist/client/assets/content-CAeEqYPw.js +1 -0
  170. package/dist/client/assets/content-CHghn-rT.js +1 -0
  171. package/dist/client/assets/{content-Uqt8AG-s.css → content-CINHz-rZ.css} +1 -1
  172. package/dist/client/assets/content-CI_Z9DXk.js +1 -0
  173. package/dist/client/assets/content-CbyKONhW.js +1 -0
  174. package/dist/client/assets/content-Czogvp43.js +1 -0
  175. package/dist/client/assets/content-DFk0zNzX.js +1 -0
  176. package/dist/client/assets/content-DHe4DgkA.js +1 -0
  177. package/dist/client/assets/content-DMbawvqU.js +1 -0
  178. package/dist/client/assets/content-DTz7cKjo.js +1 -0
  179. package/dist/client/assets/content-E3kudY-W.js +1 -0
  180. package/dist/client/assets/content-LpO0aO_U.js +1 -0
  181. package/dist/client/assets/{conversation-icons-DmC_Ak3z.js → conversation-icons-BV10B2Me.js} +1 -1
  182. package/dist/client/assets/conversation-model-CwF6Y9gx.js +1 -0
  183. package/dist/client/assets/conversation-motion-features-BKkCRaWR.js +1 -0
  184. package/dist/client/assets/{copy-C79v_7D-.js → copy-Dtpx4FOE.js} +1 -1
  185. package/dist/client/assets/cpu-BjVis9mc.js +1 -0
  186. package/dist/client/assets/{createLucideIcon-DCq_3fQn.js → createLucideIcon-DXpqZP7I.js} +1 -1
  187. package/dist/client/assets/credentials-BTce3VP1.js +1 -0
  188. package/dist/client/assets/ctx-panel-D_HJ3nhb.css +1 -0
  189. package/dist/client/assets/discover-CHbrEItO.js +2 -0
  190. package/dist/client/assets/embed-entry-vil28MyU.js +2 -0
  191. package/dist/client/assets/{external-link-Dd8xaveL.js → external-link-Ckiyzjwo.js} +1 -1
  192. package/dist/client/assets/{eye-DkU59kfl.js → eye-CpfyvdLq.js} +1 -1
  193. package/dist/client/assets/file-code-corner-7mo7EviR.js +1 -0
  194. package/dist/client/assets/{file-text-BITQqGtF.js → file-text-KijGBnME.js} +1 -1
  195. package/dist/client/assets/gauge-y-Xg8Mrv.js +1 -0
  196. package/dist/client/assets/gestures-Bq9XnSqY.js +1 -0
  197. package/dist/client/assets/git-branch-BQ_x8KZL.js +1 -0
  198. package/dist/client/assets/harnesses-screen-2z36fJKE.css +1 -0
  199. package/dist/client/assets/home-moving-signal-DMguaRWR.css +1 -0
  200. package/dist/client/assets/home-moving-signal-DtRpiNa0.js +1 -0
  201. package/dist/client/assets/home-now-card-DFb4GOgM.js +1 -0
  202. package/dist/client/assets/{home-now-card-nano-C06GMiwD.js → home-now-card-nano-D--m9jpq.js} +1 -1
  203. package/dist/client/assets/hooks-9d1SoaQA.js +2 -0
  204. package/dist/client/assets/host-advisor-B2Fqs5Dd.css +1 -0
  205. package/dist/client/assets/index-BVlMw8x_.js +1 -0
  206. package/dist/client/assets/index-CZ-05hKz.js +10 -0
  207. package/dist/client/assets/index-Cn0GR-q1.js +1 -0
  208. package/dist/client/assets/index-DosI4AG9.js +1 -0
  209. package/dist/client/assets/index-i7TMxlwW.css +1 -0
  210. package/dist/client/assets/index-wLwc74Pu.css +1 -0
  211. package/dist/client/assets/inspector-panel-C-EhEDYy.js +2 -0
  212. package/dist/client/assets/{keyboard-nav-CHo_xmjw.js → keyboard-nav-DFhAJkW3.js} +1 -1
  213. package/dist/client/assets/{lane-observe-BA3g9aVd.js → lane-observe-vfyACHi0.js} +1 -1
  214. package/dist/client/assets/{lane-roster-store-B6ybJlHJ.js → lane-roster-store-gUBsydNf.js} +1 -1
  215. package/dist/client/assets/layers-CGou-LwV.js +1 -0
  216. package/dist/client/assets/layout-grid-BrZt31QH.js +1 -0
  217. package/dist/client/assets/left-B_o51JV6.js +1 -0
  218. package/dist/client/assets/left-BpgWnaah.js +1 -0
  219. package/dist/client/assets/left-CwHZCGO3.js +2 -0
  220. package/dist/client/assets/left-CwLs0okF.js +1 -0
  221. package/dist/client/assets/left-Cx0kv6pe.js +1 -0
  222. package/dist/client/assets/left-DA0amyfu.js +1 -0
  223. package/dist/client/assets/left-DH44V4I_.css +1 -0
  224. package/dist/client/assets/left-R2OOE7VG.css +1 -0
  225. package/dist/client/assets/left-advisor-DU3s01gk.js +1 -0
  226. package/dist/client/assets/left-agents-qL5PpUY-.js +1 -0
  227. package/dist/client/assets/left-default-uvuvDmt0.js +1 -0
  228. package/dist/client/assets/left-lanes-DnNLgec8.js +1 -0
  229. package/dist/client/assets/left-mission-DN3-NLPC.js +1 -0
  230. package/dist/client/assets/left-z-6CkuBe.js +2 -0
  231. package/dist/client/assets/library-DIo5NiGP.js +1 -0
  232. package/dist/client/assets/{loader-circle-B-l2Wj3-.js → loader-circle-BiohlpM3.js} +1 -1
  233. package/dist/client/assets/{local-agents-Wof5knTJ.js → local-agents-wUIaBcEr.js} +1 -1
  234. package/dist/client/assets/{mentions-BjXfeF7t.js → mentions-CcPFMbmZ.js} +1 -1
  235. package/dist/client/assets/mesh-buckets-ByyFXdKT.js +1 -0
  236. package/dist/client/assets/{mesh-ops-C1gq8zKf.js → mesh-ops-CvGyjK84.js} +1 -1
  237. package/dist/client/assets/mesh-roster-n2nDpEmA.js +1 -0
  238. package/dist/client/assets/{mesh-screen-BSDUjrnV.css → mesh-screen-D1Yvo8fU.css} +1 -1
  239. package/dist/client/assets/{mesh-view-store-B56D3f77.js → mesh-view-store-BpxGm71b.js} +1 -1
  240. package/dist/client/assets/{message-circle-BwVx5X0q.js → message-circle-B2ddzBrX.js} +1 -1
  241. package/dist/client/assets/{message-markup-DlVX-iuc.js → message-markup-RkfmDfME.js} +1 -1
  242. package/dist/client/assets/{message-square-BnkG6tae.js → message-square-D9YYWE0x.js} +1 -1
  243. package/dist/client/assets/message-visibility-DwxgcgYK.js +1 -0
  244. package/dist/client/assets/mission-control-CnU7dNt1.css +1 -0
  245. package/dist/client/assets/{mission-control-store-CMgIVjLJ.js → mission-control-store-Bf4b54MV.js} +1 -1
  246. package/dist/client/assets/{observe-DVHAcIrv.js → observe-CJRIvOCn.js} +1 -1
  247. package/dist/client/assets/{operator-attention-BwSPeheT.js → operator-attention-RqieiSY8.js} +1 -1
  248. package/dist/client/assets/{page-status-Bg2hd27j.js → page-status-BptpTdQ-.js} +1 -1
  249. package/dist/client/assets/{paperclip-DblaLD_N.js → paperclip-B1UNGl5d.js} +1 -1
  250. package/dist/client/assets/perf-PX8Rx0EP.js +1 -0
  251. package/dist/client/assets/persistent-state-YI-WHSCF.js +1 -0
  252. package/dist/client/assets/{plus-BAI0t5g9.js → plus-CuU_X0-8.js} +1 -1
  253. package/dist/client/assets/profile-rY8jO38P.js +1 -0
  254. package/dist/client/assets/projects-inbox-BBs1hG13.css +1 -0
  255. package/dist/client/assets/projects-inbox-D-zAb9Gp.js +1 -0
  256. package/dist/client/assets/proxy-DnLpZIi9.js +1 -0
  257. package/dist/client/assets/{radio-BGtkyCG9.js → radio-Dm1ItnA4.js} +1 -1
  258. package/dist/client/assets/{refresh-cw-DtF8xPqX.js → refresh-cw-BRn9Oxxl.js} +1 -1
  259. package/dist/client/assets/resolve-panes-DO6LkwhQ.js +1 -0
  260. package/dist/client/assets/resolve-sidebar-context-CIF288wY.js +1 -0
  261. package/dist/client/assets/right-BJltPRnd.js +1 -0
  262. package/dist/client/assets/right-BbyYdzHn.js +1 -0
  263. package/dist/client/assets/right-Beh3nCUB.js +1 -0
  264. package/dist/client/assets/right-C1yumXNx.js +1 -0
  265. package/dist/client/assets/{right-c4PAdFYZ.js → right-CJnB_Bg7.js} +2 -2
  266. package/dist/client/assets/right-CPP7GyOm.js +1 -0
  267. package/dist/client/assets/right-D3aTKf1F.js +1 -0
  268. package/dist/client/assets/right-DI1B79nR.js +1 -0
  269. package/dist/client/assets/right-DtsRNX5b.js +1 -0
  270. package/dist/client/assets/right-Shpw_xDy.js +1 -0
  271. package/dist/client/assets/{rocket-BWh18pt_.js → rocket-DOwXHKWA.js} +1 -1
  272. package/dist/client/assets/router-DJj2WbDg.js +1 -0
  273. package/dist/client/assets/{scope-views-Dm2_-NPi.js → scope-views-A4_vP97W.js} +1 -1
  274. package/dist/client/assets/scout-voice-BhPzrc6P.js +1 -0
  275. package/dist/client/assets/{scoutbot-BTIErYHo.js → scoutbot-BJIamJOH.js} +2 -2
  276. package/dist/client/assets/scoutbot-markdown-jh7tzFB1.js +6 -0
  277. package/dist/client/assets/{scroll-text-DZb3mmYo.js → scroll-text-DO0GQzvN.js} +1 -1
  278. package/dist/client/assets/{search-1QMVOxF3.js → search-D1tJSAWe.js} +1 -1
  279. package/dist/client/assets/secondaryNavConfig-B9IF8wXl.js +1 -0
  280. package/dist/client/assets/{selection-bridge-O9C4kGfF.js → selection-bridge-i2S9zpf8.js} +1 -1
  281. package/dist/client/assets/{send-horizontal-DbyEkGql.js → send-horizontal-CgLppsIC.js} +1 -1
  282. package/dist/client/assets/{server-Bncn9S7r.js → server-Dymv5Emh.js} +1 -1
  283. package/dist/client/assets/{session-catalog-DC6BlBBC.js → session-catalog-DNaOEzoQ.js} +1 -1
  284. package/dist/client/assets/{session-table-BUPq9Viy.js → session-table-PTQVoTyc.js} +1 -1
  285. package/dist/client/assets/settings-2fC_G9nX.js +1 -0
  286. package/dist/client/assets/{sliders-horizontal-CMe8Bay1.js → sliders-horizontal-BPSMHhbm.js} +1 -1
  287. package/dist/client/assets/{sparkles-_7cTZsIH.js → sparkles-Dy8p5xN8.js} +1 -1
  288. package/dist/client/assets/sse-CiOSzE5n.js +1 -0
  289. package/dist/client/assets/system-surfaces-redesign-QVXNeGYw.css +1 -0
  290. package/dist/client/assets/{tail-display-BRcJltQa.js → tail-display-DcliDVkW.js} +1 -1
  291. package/dist/client/assets/{tail-events-C12pfUax.js → tail-events-BMQmSx1n.js} +1 -1
  292. package/dist/client/assets/{terminal-relay-BgfVJXIL.js → terminal-relay-9lhzEp2V.js} +1 -1
  293. package/dist/client/assets/terminal-screen-BLk4PAYt.css +1 -0
  294. package/dist/client/assets/terminal-sessions-BQ6t92tJ.js +1 -0
  295. package/dist/client/assets/{terminal-takeover--05EYhJm.js → terminal-takeover-DANQfTcy.js} +1 -1
  296. package/dist/client/assets/{terminal-xGf_F3y7.js → terminal-yN9xN-h9.js} +1 -1
  297. package/dist/client/assets/{runtime-picker-BXKJbLot.js → text-CnZ0e1-V.js} +1 -1
  298. package/dist/client/assets/text-rLpBg4_z.css +1 -0
  299. package/dist/client/assets/use-conversation-list-D9BNLfnW.js +1 -0
  300. package/dist/client/assets/{use-fleet-active-asks-Cnwa4hTK.js → use-fleet-active-asks-BeAdcl09.js} +1 -1
  301. package/dist/client/assets/{use-mesh-ops-items-BRFm37oY.js → use-mesh-ops-items-BIvIHlqe.js} +1 -1
  302. package/dist/client/assets/use-reduced-motion-CKkhq9c5.js +1 -0
  303. package/dist/client/assets/{use-scout-dev-flags-FkMreOOb.js → use-scout-dev-flags-B2KCzPxn.js} +1 -1
  304. package/dist/client/assets/{useAgentHoverCard-DvPZSJK3.js → useAgentHoverCard-CHBsxcbp.js} +1 -1
  305. package/dist/client/assets/useContentSecondaryNav-D0mUhxTF.js +1 -0
  306. package/dist/client/assets/{usePierreRuntime-C8WJ0X3F.js → usePierreRuntime-DUuXH5yp.js} +1 -1
  307. package/dist/client/assets/{wrench-_tHBGTop.js → wrench-YcXMlsh2.js} +1 -1
  308. package/dist/client/assets/{x-CrGUKNRv.js → x-e3h2hDsp.js} +1 -1
  309. package/dist/client/assets/{xterm-Ks-VlLTq.js → xterm-Byp1Hep_.js} +1 -1
  310. package/dist/client/assets/zap-nMcjPoWB.js +1 -0
  311. package/dist/client/favicon-16.png +0 -0
  312. package/dist/client/favicon-32.png +0 -0
  313. package/dist/client/favicon.ico +0 -0
  314. package/dist/client/favicon.svg +20 -47
  315. package/dist/client/index.html +5 -5
  316. package/dist/client/openscout-icon.png +0 -0
  317. package/dist/client/site.webmanifest +2 -2
  318. package/dist/client/web-app-icon-192.png +0 -0
  319. package/dist/client/web-app-icon-512.png +0 -0
  320. package/dist/main.mjs +19862 -77878
  321. package/dist/node/main.mjs +322 -252
  322. package/dist/pairing-runtime-controller.mjs +1032 -804
  323. package/dist/runtime/base-daemon.mjs +49 -121
  324. package/dist/runtime/broker-daemon.mjs +1105 -281
  325. package/dist/runtime/broker-process-manager.mjs +6 -0
  326. package/dist/runtime/mesh-discover.mjs +6 -0
  327. package/dist/scout-control-plane-web.mjs +3326 -1912
  328. package/dist/scout-web-server.mjs +2 -96660
  329. package/package.json +6 -3
  330. package/dist/client/assets/ActivityScreen-BUeb4ERK.js +0 -1
  331. package/dist/client/assets/AgentAvatar-CneOa70z.js +0 -1
  332. package/dist/client/assets/AgentConfigurationScreen-CkZ7EjZh.js +0 -1
  333. package/dist/client/assets/AgentDefinitionsWorkspace-0Y3kqMtv.js +0 -1
  334. package/dist/client/assets/AgentFloorView-B5raPB_U.js +0 -1
  335. package/dist/client/assets/AgentInfoScreen-DFG4ElZD.js +0 -1
  336. package/dist/client/assets/AgentLaneDetailSheet-C8RYotnv.js +0 -4
  337. package/dist/client/assets/AgentLanesEmbedScreen-Br7cmZVO.js +0 -1
  338. package/dist/client/assets/AgentLanesView-DPfO8MOo.js +0 -2
  339. package/dist/client/assets/AgentSessions-DKoWA0Lm.js +0 -6
  340. package/dist/client/assets/AgentsConsole-DoBIWGoq.js +0 -1
  341. package/dist/client/assets/AgentsScreen-JuUiSuwY.js +0 -1
  342. package/dist/client/assets/AgentsSubnav-BV0WAgzf.js +0 -1
  343. package/dist/client/assets/AtopView-ycxMrRwp.js +0 -1
  344. package/dist/client/assets/BriefingDetailScreen-Zw-taW1s.js +0 -6
  345. package/dist/client/assets/BriefingsScreen-BerYOoWS.js +0 -1
  346. package/dist/client/assets/BrokerScreen-CeN90URH.js +0 -5
  347. package/dist/client/assets/ChatCollapsedStrip-DdKyMSEM.js +0 -1
  348. package/dist/client/assets/CodeScreen-CA9Sq6Dx.js +0 -1
  349. package/dist/client/assets/ContextMenu-DnFcmfMR.js +0 -1
  350. package/dist/client/assets/ConversationComposer-CjRXFkvY.js +0 -1
  351. package/dist/client/assets/ConversationFeedRows-CgRTIpAv.js +0 -1
  352. package/dist/client/assets/ConversationHeader-CRmdtuL7.js +0 -1
  353. package/dist/client/assets/ConversationPanels-DCkcLIHk.js +0 -2
  354. package/dist/client/assets/ConversationScreen-Br0QQ3xo.js +0 -1
  355. package/dist/client/assets/ConversationScreen-yIKEsm-8.css +0 -1
  356. package/dist/client/assets/ConversationStatus-BJ1CMbAv.js +0 -1
  357. package/dist/client/assets/DispatchAftermath-B0WMg_z3.js +0 -1
  358. package/dist/client/assets/DocumentFocusViewer-CZVVIAD5.js +0 -1
  359. package/dist/client/assets/FleetSearch-Dsi_l2KW.js +0 -1
  360. package/dist/client/assets/FleetSearch-EXOe8ulE.css +0 -1
  361. package/dist/client/assets/FlightObserveScreen-g_tiGmvz.js +0 -1
  362. package/dist/client/assets/FollowScreen-Bb_rcrzi.js +0 -1
  363. package/dist/client/assets/HarnessesScreen-CAsCJ_tG.js +0 -1
  364. package/dist/client/assets/HomeHero-DEl-WBsT.css +0 -1
  365. package/dist/client/assets/HomeHero-W445QrG1.js +0 -1
  366. package/dist/client/assets/KnowledgeSearchScreen-C1lN1xJk.js +0 -1
  367. package/dist/client/assets/LaneTraceDetailSheet-CzTd44rf.js +0 -1
  368. package/dist/client/assets/MeshScreen-CkMepUpT.js +0 -1
  369. package/dist/client/assets/MessageComposerSuggestions-qbalTne_.js +0 -1
  370. package/dist/client/assets/MessagesScreen-C8UynyLC.js +0 -1
  371. package/dist/client/assets/MissionControlView-K_I7eftL.js +0 -1
  372. package/dist/client/assets/MissionFocusOverlay-CWKLdUKG.js +0 -1
  373. package/dist/client/assets/MissionLeftAgentRow-ByGrNAcs.js +0 -1
  374. package/dist/client/assets/MissionLogPane-ZwHJ137T.js +0 -1
  375. package/dist/client/assets/NewAgentModal-Do9aVvan.js +0 -1
  376. package/dist/client/assets/NewChatComposer-DKlNX1UA.js +0 -19
  377. package/dist/client/assets/ObserveEmbedScreen-Dghsq2on.js +0 -2
  378. package/dist/client/assets/ObserveTextFlow-DWNlmTVm.js +0 -2
  379. package/dist/client/assets/ObservedTopologyPanel-BlmGoxCE.js +0 -2
  380. package/dist/client/assets/OpenScoutAppShell-DDqQi-oe.js +0 -87
  381. package/dist/client/assets/OpsAgentsView-Bn_fGBdo.js +0 -1
  382. package/dist/client/assets/OpsScreen-DHnT-Q9R.js +0 -1
  383. package/dist/client/assets/OpsSubnav-CJRD7MjM.js +0 -1
  384. package/dist/client/assets/PlanView-B6gKo543.js +0 -1
  385. package/dist/client/assets/ProjectAgentProfile-Be1VOkI4.js +0 -1
  386. package/dist/client/assets/ProjectAgentProfileHero-DC7Dd8VL.js +0 -1
  387. package/dist/client/assets/ProjectsInbox-DCLrDmj1.js +0 -2
  388. package/dist/client/assets/ProjectsRail-C4hiXYSb.js +0 -1
  389. package/dist/client/assets/ProjectsScreen-jruZRjgD.js +0 -1
  390. package/dist/client/assets/ProjectsThreadAside-DYmL2dCY.js +0 -1
  391. package/dist/client/assets/Provider-p-xuaAoE.js +0 -1
  392. package/dist/client/assets/RailRow-Cf9LOiEj.css +0 -1
  393. package/dist/client/assets/RailRow-bRkkXIpR.js +0 -1
  394. package/dist/client/assets/RawSessionsTable-B7WKmXrk.js +0 -1
  395. package/dist/client/assets/RealtimeVoiceScreen-BzP3BQq9.js +0 -1
  396. package/dist/client/assets/RepoDiffViewer-CNDp01KM.js +0 -7
  397. package/dist/client/assets/RepoDiffViewerLazy-b6vjYxez.js +0 -2
  398. package/dist/client/assets/ReposScreen-CpaLC_NU.js +0 -6
  399. package/dist/client/assets/ScoutDeckSurface-DkpZ-0DH.js +0 -1
  400. package/dist/client/assets/ScoutbotBroadcastChip-CGZyxS5H.js +0 -2
  401. package/dist/client/assets/ScoutbotRealtimeVoiceCall-n63LdBZs.js +0 -1
  402. package/dist/client/assets/SessionRefScreen-C-4jjmVG.js +0 -1
  403. package/dist/client/assets/SessionsScreen-HAjFvmIq.js +0 -1
  404. package/dist/client/assets/SettingsDrawer-DATxwZrn.js +0 -3
  405. package/dist/client/assets/SettingsDrawer-UX7pFJU_.css +0 -1
  406. package/dist/client/assets/SettingsScreen-Bu53X7J_.js +0 -1
  407. package/dist/client/assets/SpriteAvatar-CEYdCzem.js +0 -1
  408. package/dist/client/assets/Terminal-BI6km7H4.js +0 -1
  409. package/dist/client/assets/TerminalEmbedScreen-D4JOWwtm.js +0 -1
  410. package/dist/client/assets/WorkDetailScreen-CweZ6fEd.js +0 -5
  411. package/dist/client/assets/WorkFilesViewer-Dy_-06iI.js +0 -1
  412. package/dist/client/assets/agent-identity-BxCsXnDp.js +0 -1
  413. package/dist/client/assets/agent-lane-detail-BNNm6FNu.js +0 -2
  414. package/dist/client/assets/api-h5zurxmi.js +0 -1
  415. package/dist/client/assets/broker-display-pp33bLsu.js +0 -2
  416. package/dist/client/assets/collapsed-strip-Dz-of2SM.css +0 -1
  417. package/dist/client/assets/content-BQuEedeL.js +0 -1
  418. package/dist/client/assets/content-BUae-L_N.js +0 -1
  419. package/dist/client/assets/content-BfG98J1k.js +0 -1
  420. package/dist/client/assets/content-BkVTfkAC.js +0 -1
  421. package/dist/client/assets/content-BsNMos_d.js +0 -1
  422. package/dist/client/assets/content-C2TZOKSE.js +0 -1
  423. package/dist/client/assets/content-CCn98eSk.js +0 -1
  424. package/dist/client/assets/content-CJuH5cDP.js +0 -1
  425. package/dist/client/assets/content-CYnPp9yo.js +0 -1
  426. package/dist/client/assets/content-CcrUhm4P.js +0 -1
  427. package/dist/client/assets/content-CiOMtgQc.js +0 -1
  428. package/dist/client/assets/content-CxuVONeQ.js +0 -1
  429. package/dist/client/assets/content-Dmq9n1_L.js +0 -1
  430. package/dist/client/assets/content-DskHP2NI.js +0 -1
  431. package/dist/client/assets/content-DvvzL2HK.js +0 -1
  432. package/dist/client/assets/content-snCAUbwv.js +0 -1
  433. package/dist/client/assets/conversation-model-CHwHZNw-.js +0 -1
  434. package/dist/client/assets/conversation-motion-features-DPiGTO21.js +0 -1
  435. package/dist/client/assets/ctx-panel-B4s49N9e.css +0 -1
  436. package/dist/client/assets/discover-IEnbrH8_.js +0 -2
  437. package/dist/client/assets/embed-entry-XUPb-AzL.js +0 -2
  438. package/dist/client/assets/gestures-B5rLNRpi.js +0 -1
  439. package/dist/client/assets/harnesses-screen-DBZoTZz8.css +0 -1
  440. package/dist/client/assets/home-moving-signal-Bs635mVw.js +0 -1
  441. package/dist/client/assets/home-moving-signal-CAa0V91u.css +0 -1
  442. package/dist/client/assets/home-now-card-VxlLjg1A.js +0 -1
  443. package/dist/client/assets/hooks-BWiLxTw1.js +0 -2
  444. package/dist/client/assets/index-9as_JTUs.css +0 -1
  445. package/dist/client/assets/index-BTj2MguM.js +0 -1
  446. package/dist/client/assets/index-BZovGpDk.js +0 -10
  447. package/dist/client/assets/index-CvF09yvf.css +0 -1
  448. package/dist/client/assets/index-DiiEQwdc.js +0 -1
  449. package/dist/client/assets/index-vbaJ8sin.js +0 -1
  450. package/dist/client/assets/inspector-panel-C96HcyK5.js +0 -2
  451. package/dist/client/assets/left-Bk3XnxPD.css +0 -1
  452. package/dist/client/assets/left-BuJ0wJW1.js +0 -2
  453. package/dist/client/assets/left-C6Zj3cR4.js +0 -1
  454. package/dist/client/assets/left-CCoobxPS.css +0 -1
  455. package/dist/client/assets/left-COMAiMfB.js +0 -2
  456. package/dist/client/assets/left-Ce4WKYPK.js +0 -1
  457. package/dist/client/assets/left-DMJkmJOF.js +0 -1
  458. package/dist/client/assets/left-DrCbY6ja.js +0 -1
  459. package/dist/client/assets/left-agents-BuSyVNGE.js +0 -1
  460. package/dist/client/assets/left-default-DRHywOKX.js +0 -1
  461. package/dist/client/assets/left-l92tw5Kc.js +0 -1
  462. package/dist/client/assets/left-lanes-4-aUyyrV.js +0 -1
  463. package/dist/client/assets/left-mission-e849d_Td.js +0 -1
  464. package/dist/client/assets/left-plan-MchYwAB_.js +0 -2
  465. package/dist/client/assets/library-DygjpA6u.js +0 -1
  466. package/dist/client/assets/mesh-buckets-CfAukILK.js +0 -1
  467. package/dist/client/assets/message-visibility-kJM8XcSG.js +0 -1
  468. package/dist/client/assets/mission-control-m3BTDQ9l.css +0 -1
  469. package/dist/client/assets/model-Co0zkMIc.js +0 -1
  470. package/dist/client/assets/plan-view-D56fneVF.css +0 -1
  471. package/dist/client/assets/profile-3Q4sUtvJ.js +0 -1
  472. package/dist/client/assets/projects-inbox-COZ23dLR.css +0 -1
  473. package/dist/client/assets/projects-inbox-Da2hYEn6.js +0 -1
  474. package/dist/client/assets/resolve-panes-D4tlKNCT.js +0 -1
  475. package/dist/client/assets/resolve-sidebar-context-B27lj3Ci.js +0 -1
  476. package/dist/client/assets/right-B8qg3JdB.js +0 -1
  477. package/dist/client/assets/right-BU_W1kSH.js +0 -1
  478. package/dist/client/assets/right-BlR7h0US.js +0 -1
  479. package/dist/client/assets/right-BwgwTGGd.js +0 -1
  480. package/dist/client/assets/right-ByptvkVX.js +0 -1
  481. package/dist/client/assets/right-CUP-NIDG.js +0 -1
  482. package/dist/client/assets/right-Ch_jrNe2.js +0 -1
  483. package/dist/client/assets/right-Dd2DscRz.js +0 -1
  484. package/dist/client/assets/right-DmVHd8Xj.js +0 -1
  485. package/dist/client/assets/router-63XV_E7f.js +0 -1
  486. package/dist/client/assets/runtime-picker-vhm0gtLs.css +0 -1
  487. package/dist/client/assets/scout-voice-D8Q5sZOL.js +0 -1
  488. package/dist/client/assets/secondaryNavConfig-c0cz3MkJ.js +0 -1
  489. package/dist/client/assets/sse-Bb0EOcU9.js +0 -1
  490. package/dist/client/assets/system-surfaces-redesign-B7GQhfpw.css +0 -1
  491. package/dist/client/assets/terminal-screen-BqVnCwl0.css +0 -1
  492. package/dist/client/assets/terminal-sessions-AmSgHklm.js +0 -1
  493. package/dist/client/assets/text-DsBWV_4k.js +0 -1
  494. package/dist/client/assets/use-conversation-list-DWX02INv.js +0 -1
  495. package/dist/client/assets/use-reduced-motion-C8cWvIZ3.js +0 -1
  496. package/dist/client/assets/useContentSecondaryNav-CNlrhvvx.js +0 -1
  497. package/dist/highlights-eq9cgrbb.scm +0 -604
  498. package/dist/highlights-ghv9g403.scm +0 -205
  499. package/dist/highlights-hk7bwhj4.scm +0 -284
  500. package/dist/highlights-r812a2qc.scm +0 -150
  501. package/dist/highlights-x6tmsnaa.scm +0 -115
  502. package/dist/injections-73j83es3.scm +0 -27
  503. package/dist/tree-sitter-javascript-nd0q4pe9.wasm +0 -0
  504. package/dist/tree-sitter-markdown-411r6y9b.wasm +0 -0
  505. package/dist/tree-sitter-markdown_inline-j5349f42.wasm +0 -0
  506. package/dist/tree-sitter-typescript-zxjzwt75.wasm +0 -0
  507. package/dist/tree-sitter-zig-e78zbjpm.wasm +0 -0
  508. /package/dist/client/assets/{document-focus-viewer-BSC_JwVE.css → DocumentFocusViewer-BSC_JwVE.css} +0 -0
@@ -0,0 +1 @@
1
+ import{c as e}from"./createLucideIcon-DXpqZP7I.js";const c=[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]],a=e("archive",c);export{a as A};
@@ -1 +1 @@
1
- import{c as o}from"./createLucideIcon-DCq_3fQn.js";const e=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],c=o("arrow-down",e);export{c as A};
1
+ import{c as o}from"./createLucideIcon-DXpqZP7I.js";const e=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],c=o("arrow-down",e);export{c as A};
@@ -1 +1 @@
1
- import{c as o}from"./createLucideIcon-DCq_3fQn.js";const e=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],r=o("arrow-left",e);export{r as A};
1
+ import{c as o}from"./createLucideIcon-DXpqZP7I.js";const e=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],r=o("arrow-left",e);export{r as A};
@@ -0,0 +1 @@
1
+ import{c as o}from"./createLucideIcon-DXpqZP7I.js";const r=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],c=o("arrow-right",r);export{c as A};
@@ -1 +1 @@
1
- import{c as o}from"./createLucideIcon-DCq_3fQn.js";const t=[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]],a=o("arrow-up-right",t);export{a as A};
1
+ import{c as o}from"./createLucideIcon-DXpqZP7I.js";const t=[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]],a=o("arrow-up-right",t);export{a as A};
@@ -1 +1 @@
1
- import{c as t}from"./createLucideIcon-DCq_3fQn.js";const e=[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]],a=t("bot",e);export{a as B};
1
+ import{c as t}from"./createLucideIcon-DXpqZP7I.js";const e=[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]],a=t("bot",e);export{a as B};
@@ -0,0 +1,2 @@
1
+ import{b}from"./status-tone-BM_zuRy1.js";function c(e){return e===null||["string","number","boolean"].includes(typeof e)}function a(e){if(typeof e!="string")return null;const r=e.trim();return r.length>0?r:null}function u(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function l(e){return e.trim().replace(/^@/,"").toLowerCase()}function p(e,r){const i=l(r);return[e.id,e.name,e.handle,e.selector,e.defaultSelector,e.conversationId,e.harnessSessionId].some(t=>t&&l(t)===i)}function d(e,r){if(typeof r=="string"&&r.trim()){e.push(r);return}if(Array.isArray(r))for(const i of r)d(e,i)}function _(e,r){const i=e.metadata??{},t=u(i.raw),n=[];d(n,e.target);for(const o of["targetAgentId","targetId","targetSessionId","relayTarget","relayTargetIds"])d(n,i[o]);if(t)for(const o of["targetAgentId","targetSessionId","relayTarget","relayTargetIds","targetId"])d(n,t[o]);for(const o of["targetDisplayName","targetLabel"])d(n,i[o]),t&&d(n,t[o]);for(const o of new Set(n.map(l))){const f=r.find(k=>p(k,o));if(f)return f}return null}function I(e){return e.replace(/\s+/g," ").trim().slice(0,220)}function s(e,...r){for(const i of r){const t=a(e?.[i]);if(t)return t}return null}function m(e){const r=e.metadata??{},i=u(r.raw),t=u(i?.delivery);return u(t?.metadata)}function M(e,r){return e.length<=r?e:`${e.slice(0,Math.max(0,r-3)).trimEnd()}...`}function y(e){return b(e.kind,e.status)==="danger"||e.status==="error"}function h(e){if(e.kind==="failed_query")switch(s(e.metadata,"dispatchKind")){case"unknown":return"Target not found";case"ambiguous":return"Target is ambiguous";case"unparseable":return"Invalid target";default:return"Route not resolved"}const r=s(e.metadata,"failureReason","reconciledReason","reason");return r==="agent_offline"||r==="agent_unreachable"?"Agent unavailable":r==="peer_unreachable"||r==="local_socket_unreachable"?"Route unavailable":r==="peer_rejected"?"Delivery rejected":"Delivery failed"}function $(e){const r=new Map,i=new Map;for(const n of e)if(n.messageId){if(n.kind==="success")r.has(n.messageId)||r.set(n.messageId,n);else if(n.kind==="failed_delivery"){const o=i.get(n.messageId);(!o||n.ts>o.ts)&&i.set(n.messageId,n)}}const t=[];for(const n of e)if(n.kind!=="delivery_attempt"&&!(n.kind==="failed_delivery"&&n.messageId&&r.has(n.messageId))){if(n.kind==="success"&&n.messageId){const o=i.get(n.messageId);if(o){t.push({...o,id:n.id,ts:n.ts,actorName:n.actorName,target:n.target??o.target,route:n.route??o.route,detail:n.detail,conversationId:n.conversationId??o.conversationId,messageId:n.messageId,invocationId:n.invocationId??o.invocationId,metadata:{...o.metadata??{},message:n.metadata??null}});continue}}t.push(n)}return t.sort((n,o)=>o.ts-n.ts||n.id.localeCompare(o.id))}function j(e){if(!y(e))return null;if(e.kind==="failed_query")return h(e);const r=e.metadata??{},i=a(r.reason),t=a(r.failureDetail)??a(r.failureReason)??(e.kind==="failed_delivery"&&["direct_message","mention"].includes(i??"")?null:i)??a(r.error),n=a(r.requestedLabel),o=[];return e.status&&e.status!=="failed"&&e.status!=="error"&&o.push(e.status),t&&t!==e.detail.trim()&&o.push(t),n&&!e.detail.includes(n)&&o.push(`asked ${n}`),o.length>0?[...new Set(o)].join(" · "):null}function g(e){return e==null?"—":typeof e=="string"?e:typeof e=="number"||typeof e=="boolean"?String(e):JSON.stringify(e)}const w=["source","deliveryId","messageId","conversationId","invocationId","dispatchKind","reason","error","requestedLabel","requesterId","targetId","transport","failureReason","failureDetail","reconciledReason","attempt","class","actorId","dispatchId","attemptId"];function D(e){if(!e)return[];const r=[],i=new Set;for(const t of w)!(t in e)||!c(e[t])||(r.push({key:t,value:g(e[t])}),i.add(t));for(const[t,n]of Object.entries(e))t==="raw"||i.has(t)||!c(n)||r.push({key:t,value:g(n)});return r}function A(e){const r=e.metadata??{},i=e.messageId??s(r,"messageId"),t=e.target??s(r,"targetId"),n=e.route??s(r,"transport");return e.kind==="failed_delivery"&&i&&t&&n?["failed_delivery",i,t,n].join("|"):[e.kind,i??e.deliveryId??e.invocationId??e.id,t,n,s(r,"failureReason","reconciledReason","reason","error")??e.detail].filter(o=>!!(o&&o.trim())).map(I).join("|")}function S(e){const r=e.metadata??{},i=m(e);return[e.kind,e.target??s(r,"targetId"),e.route??s(r,"transport"),s(r,"failureReason","reconciledReason","error")??s(i,"failureReason","reconciledReason","error")??e.status,s(r,"failureDetail")??s(i,"failureDetail")??s(r,"reason")??e.detail].filter(t=>!!(t&&t.trim())).map(t=>I(t).toLowerCase()).join("|")}function v(e){return{copiedAt:new Date().toISOString(),dedupeFingerprint:A(e),rootCauseFingerprint:S(e),sourceEndpoint:"/api/broker?limit=160",reviewEndpoint:"/api/broker/dispatch-review",attempt:e}}function F(e){const r=v(e);return[y(e)?"OpenScout dispatch failure context":"OpenScout dispatch context","",`id: ${e.id}`,`kind: ${e.kind}`,`status: ${e.status}`,`time: ${new Date(e.ts).toISOString()}`,`target: ${e.target??"none"}`,`transport/route: ${e.route??"none"}`,`messageId: ${e.messageId??"none"}`,`deliveryId: ${e.deliveryId??"none"}`,`invocationId: ${e.invocationId??"none"}`,`conversationId: ${e.conversationId??"none"}`,`detail: ${e.detail}`,`dedupeFingerprint: ${r.dedupeFingerprint}`,`rootCauseFingerprint: ${r.rootCauseFingerprint}`,"","Full JSON:",JSON.stringify(r,null,2)].join(`
2
+ `)}function O(e){return{attemptId:e.id,attempt:e}}function T(e){if(!e)return null;if(e.raw!==void 0&&e.raw!==null)return e.raw;const r=Object.fromEntries(Object.entries(e).filter(([i,t])=>i!=="raw"&&!c(t)));return Object.keys(r).length>0?r:null}function C(e){return!e||Object.keys(e).length===0?"{}":JSON.stringify(e,null,2)}export{D as a,y as b,T as c,C as d,M as e,g as f,$ as g,j as h,F as i,_ as j,O as k,h as l};
@@ -1,2 +1,2 @@
1
- import{a as $}from"./api-h5zurxmi.js";const o=["branch","unstaged","staged"],g=3e4,y=24,w=12,i=new Map,f=new Map,h=new Set;let m=Promise.resolve();function A(s,r=o,e={}){const t=new URLSearchParams;if(e.session){const n=e.session.sessionId?.trim(),c=e.session.agentId?.trim();n&&t.set("sessionId",n),c&&t.set("agentId",c),e.session.include&&t.set("include",e.session.include)}else{t.set("path",s);for(const n of e.files??[]){const c=n.trim();c&&t.append("file",c)}}for(const n of r)t.append("layer",n);return e.cache&&t.set("cache",e.cache),e.rehydrate&&t.set("rehydrate","1"),e.tier&&t.set("tier",e.tier),`/api/repo-diff/${e.session?"session":"worktree"}?${t.toString()}`}function d(s,r,e={}){const t=e.session?`session:${e.session.sessionId??""}:${e.session.agentId??""}:${e.session.include??"changed"}`:`worktree:${(e.files??[]).join(`
1
+ import{a as $}from"./api-Co9aQ2Jw.js";const o=["branch","unstaged","staged"],g=3e4,y=24,w=12,i=new Map,f=new Map,h=new Set;let m=Promise.resolve();function A(s,r=o,e={}){const t=new URLSearchParams;if(e.session){const n=e.session.sessionId?.trim(),c=e.session.agentId?.trim();n&&t.set("sessionId",n),c&&t.set("agentId",c),e.session.include&&t.set("include",e.session.include)}else{t.set("path",s);for(const n of e.files??[]){const c=n.trim();c&&t.append("file",c)}}for(const n of r)t.append("layer",n);return e.cache&&t.set("cache",e.cache),e.rehydrate&&t.set("rehydrate","1"),e.tier&&t.set("tier",e.tier),`/api/repo-diff/${e.session?"session":"worktree"}?${t.toString()}`}function d(s,r,e={}){const t=e.session?`session:${e.session.sessionId??""}:${e.session.agentId??""}:${e.session.include??"changed"}`:`worktree:${(e.files??[]).join(`
2
2
  `)}`;return`${s}\0${r.join(",")}\0${e.tier??"summary"}\0${e.cacheScope??""}\0${t}`}function D(){for(;i.size>y;){const s=i.keys().next().value;if(!s)break;i.delete(s)}}function M(s,r=o,e={},t=g){const n=i.get(d(s,r,e));if(!n)return null;const c=Math.max(0,Date.now()-n.fetchedAt);return{...n,ageMs:c,fresh:c<=t}}async function I(s,r=o,e={}){const t=d(s,r,e),n=f.get(t);if(n&&(!e.force||n.force))return n.request;if(!e.force){const a=i.get(t);if(a&&Date.now()-a.fetchedAt<=g)return{...a,cacheHit:!0}}const c=A(s,r,{...e.force?{cache:"reload"}:{cache:"prefer",rehydrate:!0},files:e.files,session:e.session,tier:e.tier??"summary"}),u=$(c).then(a=>{const l={snapshot:a,fetchedAt:Date.now()};return i.delete(t),i.set(t,l),D(),{...l,cacheHit:!1}});f.set(t,{force:e.force===!0,request:u});try{return await u}finally{f.get(t)?.request===u&&f.delete(t)}}function E(s,r=o){const e=d(s,r,{tier:"summary"});M(s,r,{tier:"summary"})?.fresh||f.has(e)||h.has(e)||(h.add(e),m=m.catch(()=>{}).then(()=>I(s,r).then(()=>{},()=>{})).finally(()=>{h.delete(e)}))}function R(s,r=o,e={}){const t=Math.max(0,Math.min(e.limit??w,y));for(const n of s.slice(0,t))E(n,r)}function _(s){if(s<5e3)return"just now";const r=Math.round(s/1e3);if(r<60)return`${r}s ago`;const e=Math.round(r/60);return e<60?`${e}m ago`:`${Math.round(e/60)}h ago`}export{M as a,I as f,R as p,_ as r};
@@ -1 +1 @@
1
- import{c}from"./createLucideIcon-DCq_3fQn.js";const e=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],t=c("check",e);export{t as C};
1
+ import{c}from"./createLucideIcon-DXpqZP7I.js";const e=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],t=c("check",e);export{t as C};
@@ -1 +1 @@
1
- import{c as o}from"./createLucideIcon-DCq_3fQn.js";const n=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],e=o("chevron-down",n);export{e as C};
1
+ import{c as o}from"./createLucideIcon-DXpqZP7I.js";const n=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],e=o("chevron-down",n);export{e as C};
@@ -1 +1 @@
1
- import{c as o}from"./createLucideIcon-DCq_3fQn.js";const t=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],e=o("chevron-right",t);export{e as C};
1
+ import{c as o}from"./createLucideIcon-DXpqZP7I.js";const t=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],e=o("chevron-right",t);export{e as C};
@@ -1 +1 @@
1
- import{r as s,j as S}from"./index-BZovGpDk.js";var O="hudson.theme",M="system",R="hudson",p=s.createContext(null);function T(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function L(){if(typeof window>"u")return{};try{const e=new URLSearchParams(window.location.search),t=e.get("theme"),n=e.get("template");return{theme:t==="light"||t==="dark"||t==="system"?t:void 0,template:n&&/^[a-z][a-z0-9-]{1,64}$/.test(n)?n:void 0}}catch{return{}}}function j(){const e=L();return!!(e.theme||e.template)}function l(e,t,n){if(typeof window>"u")return{theme:t,template:n};const r=L();try{const c=JSON.parse(window.localStorage.getItem(e)||"{}");return{theme:r.theme??c.theme??t,template:r.template??c.template??n}}catch{return{theme:r.theme??t,template:r.template??n}}}var H=()=>()=>{},U=()=>!0,b=()=>!1;function C(){return s.useSyncExternalStore(H,U,b)}function P(e){return e==="system"?typeof window<"u"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":"dark":e}function _(e){return e==="system"?"dark":e}function F(e,t,n){const r=n??document.documentElement;r.dataset.hudsonTheme=e,r.dataset.hudsonTemplate=t}function I(e,t,n){if(!j())try{const r=JSON.parse(window.localStorage.getItem(e)||"{}"),c=T(r)?{...r,theme:t,template:n}:{theme:t,template:n};window.localStorage.setItem(e,JSON.stringify(c))}catch{}}function D({children:e,defaultTheme:t=M,defaultTemplate:n=R,storageKey:r=O,rootElement:c}){const o=s.useContext(p),[d,m]=s.useState(t),[u,h]=s.useState(n),[v,g]=s.useState(()=>_(t)),[w,k]=s.useState(!1),x=C();s.useEffect(()=>{if(o)return;let a=!1;return queueMicrotask(()=>{if(a)return;const i=l(r,t,n);m(i.theme??t),h(i.template??n),k(!0)}),()=>{a=!0}},[n,t,o,r]),s.useEffect(()=>{if(o)return;const a=window.matchMedia("(prefers-color-scheme: dark)"),i=()=>{g(P(d))};return i(),a.addEventListener("change",i),()=>a.removeEventListener("change",i)},[o,d]),s.useEffect(()=>{o||!w||F(v,u,c)},[w,o,v,c,u]),s.useEffect(()=>{o||!w||I(r,d,u)},[w,o,r,u,d]),s.useEffect(()=>{if(o)return;const a=f=>{if(f.key!==r)return;const E=l(r,t,n);m(E.theme??t),h(E.template??n)},i=f=>{if(f.detail?.key!==r)return;const y=l(r,t,n);m(y.theme??t),h(y.template??n)};return window.addEventListener("storage",a),window.addEventListener("hudson:saved",i),()=>{window.removeEventListener("storage",a),window.removeEventListener("hudson:saved",i)}},[n,t,o,r]);const A=s.useMemo(()=>({theme:d,resolvedTheme:x?v:void 0,template:u,setTheme:m,setTemplate:h}),[x,v,u,d]);return o?S.jsx(S.Fragment,{children:e}):S.jsx(p.Provider,{value:A,children:e})}function J(){return s.useContext(p)}export{D as T,J as u};
1
+ import{r as s,j as S}from"./index-CZ-05hKz.js";var O="hudson.theme",M="system",R="hudson",p=s.createContext(null);function T(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function L(){if(typeof window>"u")return{};try{const e=new URLSearchParams(window.location.search),t=e.get("theme"),n=e.get("template");return{theme:t==="light"||t==="dark"||t==="system"?t:void 0,template:n&&/^[a-z][a-z0-9-]{1,64}$/.test(n)?n:void 0}}catch{return{}}}function j(){const e=L();return!!(e.theme||e.template)}function l(e,t,n){if(typeof window>"u")return{theme:t,template:n};const r=L();try{const c=JSON.parse(window.localStorage.getItem(e)||"{}");return{theme:r.theme??c.theme??t,template:r.template??c.template??n}}catch{return{theme:r.theme??t,template:r.template??n}}}var H=()=>()=>{},U=()=>!0,b=()=>!1;function C(){return s.useSyncExternalStore(H,U,b)}function P(e){return e==="system"?typeof window<"u"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":"dark":e}function _(e){return e==="system"?"dark":e}function F(e,t,n){const r=n??document.documentElement;r.dataset.hudsonTheme=e,r.dataset.hudsonTemplate=t}function I(e,t,n){if(!j())try{const r=JSON.parse(window.localStorage.getItem(e)||"{}"),c=T(r)?{...r,theme:t,template:n}:{theme:t,template:n};window.localStorage.setItem(e,JSON.stringify(c))}catch{}}function D({children:e,defaultTheme:t=M,defaultTemplate:n=R,storageKey:r=O,rootElement:c}){const o=s.useContext(p),[d,m]=s.useState(t),[u,h]=s.useState(n),[v,g]=s.useState(()=>_(t)),[w,k]=s.useState(!1),x=C();s.useEffect(()=>{if(o)return;let a=!1;return queueMicrotask(()=>{if(a)return;const i=l(r,t,n);m(i.theme??t),h(i.template??n),k(!0)}),()=>{a=!0}},[n,t,o,r]),s.useEffect(()=>{if(o)return;const a=window.matchMedia("(prefers-color-scheme: dark)"),i=()=>{g(P(d))};return i(),a.addEventListener("change",i),()=>a.removeEventListener("change",i)},[o,d]),s.useEffect(()=>{o||!w||F(v,u,c)},[w,o,v,c,u]),s.useEffect(()=>{o||!w||I(r,d,u)},[w,o,r,u,d]),s.useEffect(()=>{if(o)return;const a=f=>{if(f.key!==r)return;const E=l(r,t,n);m(E.theme??t),h(E.template??n)},i=f=>{if(f.detail?.key!==r)return;const y=l(r,t,n);m(y.theme??t),h(y.template??n)};return window.addEventListener("storage",a),window.addEventListener("hudson:saved",i),()=>{window.removeEventListener("storage",a),window.removeEventListener("hudson:saved",i)}},[n,t,o,r]);const A=s.useMemo(()=>({theme:d,resolvedTheme:x?v:void 0,template:u,setTheme:m,setTemplate:h}),[x,v,u,d]);return o?S.jsx(S.Fragment,{children:e}):S.jsx(p.Provider,{value:A,children:e})}function J(){return s.useContext(p)}export{D as T,J as u};
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/xterm-Ks-VlLTq.js","assets/index-BZovGpDk.js","assets/index-9as_JTUs.css","assets/addon-fit-CN888B3D.js","assets/addon-webgl-CoAnanQS.js"])))=>i.map(i=>d[i]);
2
- import{r as e,j as o,_ as _e}from"./index-BZovGpDk.js";import{u as Ke}from"./chunk-HRAB3GC3-HhKwnZCi.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=`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/xterm-Byp1Hep_.js","assets/index-CZ-05hKz.js","assets/index-i7TMxlwW.css","assets/addon-fit-BL-NTWRU.js","assets/addon-webgl-CIMgmNjg.js"])))=>i.map(i=>d[i]);
2
+ import{r as e,j as o,_ as _e}from"./index-CZ-05hKz.js";import{u as Ke}from"./chunk-HRAB3GC3-swV8PA2k.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
3
  .xterm { cursor: text; position: relative; user-select: none; -ms-user-select: none; -webkit-user-select: none; }
4
4
  .xterm.focus, .xterm:focus { outline: none; }
5
5
  .xterm .xterm-helpers { position: absolute; top: 0; z-index: 5; }
@@ -43,4 +43,4 @@ import{r as e,j as o,_ as _e}from"./index-BZovGpDk.js";import{u as Ke}from"./chu
43
43
  .xterm .xterm-scrollable-element > .shadow { position: absolute; display: none; }
44
44
  .xterm .xterm-scrollable-element > .shadow.top { display: block; top: 0; left: 3px; height: 3px; width: 100%; }
45
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-Ks-VlLTq.js").then(a=>a.x),__vite__mapDeps([0,1,2])),_e(()=>import("./addon-fit-CN888B3D.js").then(a=>a.a),__vite__mapDeps([3,1,2])),_e(()=>import("./addon-webgl-CoAnanQS.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};
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-Byp1Hep_.js").then(a=>a.x),__vite__mapDeps([0,1,2])),_e(()=>import("./addon-fit-BL-NTWRU.js").then(a=>a.a),__vite__mapDeps([3,1,2])),_e(()=>import("./addon-webgl-CIMgmNjg.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 +1 @@
1
- import{r as e,j as s}from"./index-BZovGpDk.js";import{P as Q}from"./plus-BAI0t5g9.js";import{c as O}from"./createLucideIcon-DCq_3fQn.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
+ import{r as e,j as s}from"./index-CZ-05hKz.js";import{P as Q}from"./plus-CuU_X0-8.js";import{c as O}from"./createLucideIcon-DXpqZP7I.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 +1,2 @@
1
- import{c as xe}from"./createLucideIcon-DCq_3fQn.js";import{r as l,j as s}from"./index-BZovGpDk.js";import{A as it}from"./arrow-down-DxxPnPwh.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(`
1
+ import{c as xe}from"./createLucideIcon-DXpqZP7I.js";import{r as l,j as s}from"./index-CZ-05hKz.js";import{A as it}from"./arrow-down-BydciYFZ.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
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 +1 @@
1
- import{c}from"./createLucideIcon-DCq_3fQn.js";const o=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]],r=c("clock",o);export{r as C};
1
+ import{c}from"./createLucideIcon-DXpqZP7I.js";const o=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]],r=c("clock",o);export{r as C};
@@ -1 +1 @@
1
- import{c as e}from"./createLucideIcon-DCq_3fQn.js";const o=[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]],m=e("code-xml",o);export{m as C};
1
+ import{c as e}from"./createLucideIcon-DXpqZP7I.js";const o=[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]],m=e("code-xml",o);export{m as C};
@@ -0,0 +1 @@
1
+ .collapsed-strip{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;padding:4px 0 10px;box-sizing:border-box}.collapsed-strip-label{--csl-ink: color-mix(in srgb, var(--hud-ink, var(--ink)) 62%, transparent);--csl-dim: color-mix(in srgb, var(--hud-ink, var(--ink)) 42%, transparent);--csl-mark: color-mix(in srgb, var(--hud-ink, var(--ink)) 30%, transparent);flex:none;display:flex;flex-direction:column;align-items:center;gap:3px;margin:0;padding:0;border:0;background:none;box-sizing:border-box;-webkit-user-select:none;user-select:none}.collapsed-strip-label-mark{flex:none;width:10px;height:2px;border-radius:999px;background:var(--csl-mark)}button.collapsed-strip-label{appearance:none;font:inherit;cursor:pointer}.collapsed-strip-label-expand{display:none;flex:none;height:11px;font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--text-xs);font-weight:700;line-height:1;color:var(--csl-ink)}button.collapsed-strip-label .collapsed-strip-label-mark{position:relative;height:11px;background:none}button.collapsed-strip-label .collapsed-strip-label-mark:before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;border-radius:999px;background:var(--csl-mark)}button.collapsed-strip-label:hover,button.collapsed-strip-label:focus-visible{--csl-ink: var(--hud-ink, var(--ink));--csl-dim: color-mix(in srgb, var(--hud-ink, var(--ink)) 60%, transparent)}button.collapsed-strip-label:hover .collapsed-strip-label-mark,button.collapsed-strip-label:focus-visible .collapsed-strip-label-mark{display:none}button.collapsed-strip-label:hover .collapsed-strip-label-expand,button.collapsed-strip-label:focus-visible .collapsed-strip-label-expand{display:block}.collapsed-strip-label-text{display:block;max-width:100%;font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--text-3xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-align:center;color:var(--csl-ink);line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collapsed-strip-label-count{font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--text-3xs);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:0;color:var(--csl-dim);line-height:1}.collapsed-strip-label--accent{--csl-ink: color-mix(in srgb, var(--hud-accent, var(--accent)) 88%, var(--hud-ink, var(--ink)));--csl-dim: color-mix(in srgb, var(--hud-accent, var(--accent)) 55%, var(--hud-ink, var(--ink)));--csl-mark: var(--hud-accent, var(--accent))}.collapsed-strip-label--attention{--csl-ink: color-mix(in srgb, var(--amber, #e6b84d) 80%, var(--hud-ink, var(--ink)));--csl-dim: color-mix(in srgb, var(--amber, #e6b84d) 52%, var(--hud-ink, var(--ink)));--csl-mark: var(--amber, #e6b84d)}.collapsed-strip-label--live{--csl-ink: color-mix(in srgb, var(--green, #4ade80) 78%, var(--hud-ink, var(--ink)));--csl-dim: color-mix(in srgb, var(--green, #4ade80) 50%, var(--hud-ink, var(--ink)));--csl-mark: var(--green, #4ade80)}.collapsed-strip--empty{opacity:.9;padding-top:8px}.collapsed-strip-empty-mark{font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--text-md);font-weight:600;color:color-mix(in srgb,var(--hud-ink, var(--ink)) 50%,transparent);-webkit-user-select:none;user-select:none}.collapsed-strip-rule{width:18px;height:1px;margin:2px 0;background:color-mix(in srgb,var(--hud-ink, var(--ink)) 12%,transparent);flex:none}.collapsed-strip-section{display:flex;flex-direction:column;align-items:center;gap:5px;width:100%}.collapsed-strip-section-mark{flex:none;display:flex;flex-direction:row;align-items:baseline;justify-content:center;gap:3px;min-width:28px;padding:0 2px;-webkit-user-select:none;user-select:none}.collapsed-strip-section-mark-text{font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--text-3xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb,var(--hud-ink, var(--ink)) 50%,transparent);line-height:1.1}.collapsed-strip-section-mark-count{font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--text-3xs);font-weight:700;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--hud-ink, var(--ink)) 40%,transparent);line-height:1}html[data-scout-sidebar-chrome] .collapsed-strip{padding-top:0;gap:var(--scout-rail-gap)}html[data-scout-sidebar-chrome] .collapsed-chip{width:var(--scout-rail-slot);height:var(--scout-rail-slot)}html[data-scout-sidebar-chrome] .collapsed-strip-label{display:none}html[data-scout-sidebar-chrome] .collapsed-strip-section{gap:var(--scout-rail-gap);display:flex;flex-direction:column;align-items:center;width:100%}html[data-scout-sidebar-chrome] .collapsed-strip-section-mark{height:var(--scout-rail-slot);display:flex;align-items:center;justify-content:center;box-sizing:border-box}html[data-scout-sidebar-chrome] .collapsed-strip-rule{height:var(--scout-rail-slot);margin:0;background:none;display:flex;align-items:center;justify-content:center;width:100%}html[data-scout-sidebar-chrome] .collapsed-strip-rule:before{content:"";display:block;position:relative;width:24px;height:1px;background:color-mix(in srgb,var(--hud-ink, var(--ink)) 14%,transparent)}.collapsed-chip{position:relative;display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:8px;background:none;color:color-mix(in srgb,var(--hud-ink, var(--ink)) 60%,transparent);cursor:pointer;flex:none;transition:color .12s,transform .12s}.collapsed-chip:hover{color:var(--hud-ink, var(--ink))}.collapsed-chip:hover .collapsed-chip-ava{background:color-mix(in srgb,var(--ava-color, var(--hud-ink, var(--ink))) 20%,transparent);border-color:color-mix(in srgb,var(--ava-color, var(--hud-ink, var(--ink))) 30%,transparent);transform:scale(1.04)}.collapsed-chip--active{color:var(--hud-accent, var(--accent))}.collapsed-chip--active .collapsed-chip-ava{box-shadow:0 0 0 1px var(--hud-accent, var(--accent));border-color:var(--hud-accent, var(--accent))}.collapsed-chip--unread .collapsed-chip-ava{box-shadow:0 0 0 1px color-mix(in srgb,var(--hud-accent, var(--accent)) 50%,transparent)}.collapsed-chip--attention .collapsed-chip-ava{box-shadow:0 0 0 1px var(--amber, #e6b84d);border-color:var(--amber, #e6b84d)}.collapsed-chip-avatar-wrap{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;transition:transform .12s,box-shadow .12s}.collapsed-chip:hover .collapsed-chip-avatar-wrap{transform:scale(1.04)}.collapsed-chip--active .collapsed-chip-avatar-wrap{box-shadow:0 0 0 1px var(--hud-accent, var(--accent)),0 0 4px color-mix(in srgb,var(--hud-accent, var(--accent)) 25%,transparent)}.collapsed-chip--unread .collapsed-chip-avatar-wrap{box-shadow:0 0 0 1px var(--hud-accent, var(--accent))}.collapsed-chip--attention .collapsed-chip-avatar-wrap{box-shadow:0 0 0 1px var(--amber, #e6b84d)}.collapsed-chip-channel-badge{width:28px;height:28px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--hud-ink, var(--ink)) 6%,transparent);border:1px solid color-mix(in srgb,var(--hud-ink, var(--ink)) 12%,transparent);font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;font-weight:700;color:color-mix(in srgb,var(--hud-ink, var(--ink)) 75%,transparent);transition:transform .12s,background-color .12s,border-color .12s,box-shadow .12s,color .12s;-webkit-user-select:none;user-select:none}.collapsed-chip-channel-hash{font-size:10px;font-weight:500;opacity:.45;margin-right:1px}.collapsed-chip-channel-text{text-transform:lowercase}.collapsed-chip:hover .collapsed-chip-channel-badge{transform:scale(1.04);background:color-mix(in srgb,var(--hud-ink, var(--ink)) 10%,transparent);border-color:color-mix(in srgb,var(--hud-ink, var(--ink)) 22%,transparent);color:var(--hud-ink, var(--ink))}.collapsed-chip--active .collapsed-chip-channel-badge{background:color-mix(in srgb,var(--hud-accent, var(--accent)) 12%,transparent);border-color:color-mix(in srgb,var(--hud-accent, var(--accent)) 65%,transparent);color:var(--hud-accent, var(--accent));box-shadow:0 0 0 1px color-mix(in srgb,var(--hud-accent, var(--accent)) 35%,transparent)}.collapsed-chip--channel,.collapsed-chip--neutral{color:color-mix(in srgb,var(--hud-ink, var(--ink)) 62%,transparent)}.collapsed-chip-ava{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;font-weight:700;color:color-mix(in srgb,var(--ava-color, var(--hud-ink, var(--ink))) 85%,var(--hud-ink, var(--ink)));background:color-mix(in srgb,var(--ava-color, var(--hud-ink, var(--ink))) 12%,transparent);border:1px solid color-mix(in srgb,var(--ava-color, var(--hud-ink, var(--ink))) 18%,transparent);text-transform:uppercase;-webkit-user-select:none;user-select:none;transition:transform .12s,background-color .12s,box-shadow .12s}.collapsed-chip-glyph{display:grid;place-items:center;font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--text-md);font-weight:650;-webkit-user-select:none;user-select:none;line-height:1}.collapsed-chip-dot{position:absolute;top:1px;right:1px;width:6px;height:6px;border-radius:50%;background:var(--hud-accent, var(--accent));box-shadow:0 0 0 1.5px var(--hud-surface, var(--surface, #000));z-index:2}.collapsed-chip-dot--attention{background:var(--amber, #e6b84d)}.collapsed-chip-dot--live{background:var(--green, #4ade80)}.collapsed-chip-pin{position:absolute;bottom:1px;right:1px;width:5px;height:5px;border-radius:1px;background:var(--hud-accent, var(--accent));opacity:.85;transform:rotate(45deg);z-index:2}
@@ -0,0 +1 @@
1
+ import{c}from"./createLucideIcon-DXpqZP7I.js";const o=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}]],e=c("compass",o);export{e as C};
@@ -0,0 +1 @@
1
+ import{j as r}from"./index-CZ-05hKz.js";import{SettingsScreen as o}from"./SettingsScreen-Cw4DDfJP.js";import"./EmptyState-CeBl0iGd.js";import"./StatusPill-ZZQwxB1a.js";import"./status-tone-BM_zuRy1.js";import"./api-Co9aQ2Jw.js";import"./perf-PX8Rx0EP.js";import"./time-Dhsh_2EG.js";import"./AgentConfigurationScreen-BTI24HQX.js";import"./CastPicker-BcA2vDDV.js";import"./CrewAvatar-CTIuxp4G.js";import"./HarnessMark-D5CA5uSp.js";import"./check-C18YQC90.js";import"./createLucideIcon-DXpqZP7I.js";import"./NewChatComposer-hlWT-nbR.js";import"./text-CnZ0e1-V.js";import"./scout-voice-BhPzrc6P.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-BiohlpM3.js";import"./conversation-model-CwF6Y9gx.js";import"./colors-BtO5_zlx.js";import"./index-BVlMw8x_.js";import"./NewChatOrigin-DdpzE4kz.js";import"./keyboard-nav-DFhAJkW3.js";import"./x-e3h2hDsp.js";import"./chevron-down-Mp9mu_yd.js";import"./search-D1tJSAWe.js";import"./file-text-KijGBnME.js";import"./Provider-B2xuo3rf.js";import"./router-DJj2WbDg.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-BQ6t92tJ.js";import"./sse-CiOSzE5n.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BJIamJOH.js";import"./DocumentFocusViewer-DZVhS7as.js";import"./TextDocumentSurface-CKQP-cBT.js";import"./chevron-right-CzH-TaSF.js";import"./code-xml-Jtxsp5d1.js";import"./arrow-left-CghA0kTw.js";import"./arrow-right-iJFv3jNh.js";import"./chunk-HRAB3GC3-swV8PA2k.js";import"./openContent-C6XO6kr5.js";import"./AgentsSubnav-CDMjKeYC.js";import"./SecondaryNav-o2RL9H8H.js";import"./secondaryNavConfig-B9IF8wXl.js";import"./message-square-D9YYWE0x.js";import"./compass-0_54-vz3.js";import"./settings-2fC_G9nX.js";import"./terminal-yN9xN-h9.js";import"./git-branch-BQ_x8KZL.js";import"./scroll-text-DO0GQzvN.js";/* empty css */import"./refresh-cw-BRn9Oxxl.js";import"./bot-B5sub1-i.js";import"./wrench-YcXMlsh2.js";import"./server-Dymv5Emh.js";import"./cpu-BjVis9mc.js";import"./SettingsDrawer-_AwuopMS.js";import"./credentials-BTce3VP1.js";import"./AgentAvatar-CYhf6twS.js";import"./SpriteAvatar-Bs68ZENy.js";import"./VoicePermissionsPanel-k7sbLXx2.js";import"./copy-Dtpx4FOE.js";import"./sparkles-Dy8p5xN8.js";function dt({route:t,navigate:i}){return t.view!=="settings"?null:r.jsx(o,{navigate:i,section:t.section,agentId:t.agentId})}export{dt as SettingsContent};
@@ -0,0 +1 @@
1
+ import{j as t}from"./index-CZ-05hKz.js";import{ConversationScreen as i}from"./ConversationScreen-BNULZAp2.js";import{MessagesScreen as m}from"./MessagesScreen-Eulveud3.js";import"./NewChatComposer-hlWT-nbR.js";import"./text-CnZ0e1-V.js";import"./scout-voice-BhPzrc6P.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-BiohlpM3.js";import"./createLucideIcon-DXpqZP7I.js";import"./conversation-model-CwF6Y9gx.js";import"./colors-BtO5_zlx.js";import"./time-Dhsh_2EG.js";import"./api-Co9aQ2Jw.js";import"./perf-PX8Rx0EP.js";import"./index-BVlMw8x_.js";import"./HarnessMark-D5CA5uSp.js";import"./NewChatOrigin-DdpzE4kz.js";import"./keyboard-nav-DFhAJkW3.js";import"./x-e3h2hDsp.js";import"./chevron-down-Mp9mu_yd.js";import"./search-D1tJSAWe.js";import"./file-text-KijGBnME.js";import"./ConversationComposer-2HjbGPL9.js";import"./AgentAvatar-CYhf6twS.js";import"./Provider-B2xuo3rf.js";import"./router-DJj2WbDg.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-BQ6t92tJ.js";import"./sse-CiOSzE5n.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BJIamJOH.js";import"./DocumentFocusViewer-DZVhS7as.js";import"./TextDocumentSurface-CKQP-cBT.js";import"./chevron-right-CzH-TaSF.js";import"./code-xml-Jtxsp5d1.js";import"./arrow-left-CghA0kTw.js";import"./arrow-right-iJFv3jNh.js";import"./chunk-HRAB3GC3-swV8PA2k.js";import"./SpriteAvatar-Bs68ZENy.js";import"./CrewAvatar-CTIuxp4G.js";import"./zap-nMcjPoWB.js";import"./message-markup-RkfmDfME.js";import"./mentions-CcPFMbmZ.js";import"./AgentDetailCard-UqPNpcvB.js";import"./AgentLiveActions-BwuzOE8h.js";import"./terminal-takeover-DANQfTcy.js";import"./openContent-C6XO6kr5.js";import"./eye-CpfyvdLq.js";import"./terminal-yN9xN-h9.js";import"./message-visibility-DwxgcgYK.js";import"./operator-attention-RqieiSY8.js";import"./sessionRead-CvFz2RHv.js";import"./clipboard-e3fSpeo7.js";import"./types-B0PlfpKc.js";/* empty css */import"./ConversationHeader-C8vfXaTF.js";import"./BackToPicker-4JaeRvDm.js";import"./AstronautSuit-Ckx7lu7G.js";import"./ConversationFeedRows-C6wUqJrx.js";import"./ConversationPanels-CNCIbpqU.js";import"./tail-display-DcliDVkW.js";import"./lane-edit-display-C_Aujldz.js";import"./use-reduced-motion-CKkhq9c5.js";import"./proxy-DnLpZIi9.js";import"./activity-Bj3Hnbj3.js";import"./message-circle-B2ddzBrX.js";import"./tail-events-BMQmSx1n.js";import"./ConversationStatus-DZuyKsWN.js";import"./check-C18YQC90.js";import"./sparkles-Dy8p5xN8.js";import"./use-conversation-list-D9BNLfnW.js";import"./use-fleet-active-asks-BeAdcl09.js";import"./plus-CuU_X0-8.js";function Ro({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{Ro as ChatContent};
@@ -0,0 +1 @@
1
+ import{j as t}from"./index-CZ-05hKz.js";import{BriefingDetailScreen as o}from"./BriefingDetailScreen-D6-xqrpo.js";import{BriefingsScreen as m}from"./BriefingsScreen-DKxSDEmk.js";import"./EmptyState-CeBl0iGd.js";import"./api-Co9aQ2Jw.js";import"./perf-PX8Rx0EP.js";import"./scoutbot-markdown-jh7tzFB1.js";import"./Provider-B2xuo3rf.js";import"./router-DJj2WbDg.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-BQ6t92tJ.js";import"./sse-CiOSzE5n.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BJIamJOH.js";import"./DocumentFocusViewer-DZVhS7as.js";import"./createLucideIcon-DXpqZP7I.js";import"./TextDocumentSurface-CKQP-cBT.js";import"./file-text-KijGBnME.js";import"./x-e3h2hDsp.js";import"./chevron-right-CzH-TaSF.js";import"./code-xml-Jtxsp5d1.js";import"./arrow-left-CghA0kTw.js";import"./arrow-right-iJFv3jNh.js";import"./scout-voice-BhPzrc6P.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-DFhAJkW3.js";import"./NewChatComposer-hlWT-nbR.js";import"./text-CnZ0e1-V.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-BiohlpM3.js";import"./conversation-model-CwF6Y9gx.js";import"./time-Dhsh_2EG.js";import"./index-BVlMw8x_.js";import"./HarnessMark-D5CA5uSp.js";import"./NewChatOrigin-DdpzE4kz.js";import"./chevron-down-Mp9mu_yd.js";import"./search-D1tJSAWe.js";import"./chunk-HRAB3GC3-swV8PA2k.js";import"./external-link-Ckiyzjwo.js";/* empty css *//* empty css */function W({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{W as BriefingsContent};
@@ -0,0 +1 @@
1
+ import{j as i}from"./index-CZ-05hKz.js";import{KnowledgeSearchScreen as o}from"./KnowledgeSearchScreen-mGTKIg00.js";/* empty css */import"./api-Co9aQ2Jw.js";import"./perf-PX8Rx0EP.js";import"./time-Dhsh_2EG.js";import"./Provider-B2xuo3rf.js";import"./router-DJj2WbDg.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-BQ6t92tJ.js";import"./sse-CiOSzE5n.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BJIamJOH.js";import"./DocumentFocusViewer-DZVhS7as.js";import"./createLucideIcon-DXpqZP7I.js";import"./TextDocumentSurface-CKQP-cBT.js";import"./file-text-KijGBnME.js";import"./x-e3h2hDsp.js";import"./chevron-right-CzH-TaSF.js";import"./code-xml-Jtxsp5d1.js";import"./arrow-left-CghA0kTw.js";import"./arrow-right-iJFv3jNh.js";import"./scout-voice-BhPzrc6P.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-DFhAJkW3.js";import"./NewChatComposer-hlWT-nbR.js";import"./text-CnZ0e1-V.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-BiohlpM3.js";import"./conversation-model-CwF6Y9gx.js";import"./index-BVlMw8x_.js";import"./HarnessMark-D5CA5uSp.js";import"./NewChatOrigin-DdpzE4kz.js";import"./chevron-down-Mp9mu_yd.js";import"./search-D1tJSAWe.js";import"./chunk-HRAB3GC3-swV8PA2k.js";import"./sparkles-Dy8p5xN8.js";import"./clock-B4PTFi5m.js";function Q({route:r,navigate:t}){return r.view!=="search"?null:i.jsx(o,{navigate:t,mode:r.mode,hitId:r.hitId,routeFilters:r.filters})}export{Q as SearchContent};
@@ -0,0 +1 @@
1
+ import{j as r}from"./index-CZ-05hKz.js";import{RepoDiffPageScreen as p}from"./RepoDiffPageScreen-D_274ExO.js";import{ReposScreen as t}from"./ReposScreen-D39_YG4H.js";import"./RepoDiffViewerLazy-C0--fPtk.js";/* empty css */import"./EmptyState-CeBl0iGd.js";import"./Provider-B2xuo3rf.js";import"./router-DJj2WbDg.js";import"./perf-PX8Rx0EP.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-BQ6t92tJ.js";import"./api-Co9aQ2Jw.js";import"./sse-CiOSzE5n.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BJIamJOH.js";import"./DocumentFocusViewer-DZVhS7as.js";import"./createLucideIcon-DXpqZP7I.js";import"./TextDocumentSurface-CKQP-cBT.js";import"./file-text-KijGBnME.js";import"./x-e3h2hDsp.js";import"./chevron-right-CzH-TaSF.js";import"./code-xml-Jtxsp5d1.js";import"./arrow-left-CghA0kTw.js";import"./arrow-right-iJFv3jNh.js";import"./scout-voice-BhPzrc6P.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-DFhAJkW3.js";import"./NewChatComposer-hlWT-nbR.js";import"./text-CnZ0e1-V.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-BiohlpM3.js";import"./conversation-model-CwF6Y9gx.js";import"./time-Dhsh_2EG.js";import"./index-BVlMw8x_.js";import"./HarnessMark-D5CA5uSp.js";import"./NewChatOrigin-DdpzE4kz.js";import"./chevron-down-Mp9mu_yd.js";import"./search-D1tJSAWe.js";import"./chunk-HRAB3GC3-swV8PA2k.js";import"./api-HFH8wFyb.js";import"./clipboard-e3fSpeo7.js";/* empty css */import"./ui-LM8pS8qE.js";import"./selection-bridge-i2S9zpf8.js";import"./SlidePanel-C-q7XwTa.js";import"./cache-CeWH_KzJ.js";import"./refresh-cw-BRn9Oxxl.js";import"./sliders-horizontal-BPSMHhbm.js";function oi({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{oi as ReposContent};
@@ -0,0 +1 @@
1
+ import{j as t}from"./index-CZ-05hKz.js";import{WorkDetailScreen as i}from"./WorkDetailScreen-60p9litn.js";import"./DocumentFocusViewer-DZVhS7as.js";import"./createLucideIcon-DXpqZP7I.js";import"./TextDocumentSurface-CKQP-cBT.js";import"./file-text-KijGBnME.js";import"./x-e3h2hDsp.js";import"./StatusPill-ZZQwxB1a.js";import"./status-tone-BM_zuRy1.js";import"./WorkFilesViewer-BjJS7GyM.js";import"./api-Co9aQ2Jw.js";import"./perf-PX8Rx0EP.js";import"./chevron-right-CzH-TaSF.js";import"./chevron-down-Mp9mu_yd.js";import"./mentions-CcPFMbmZ.js";import"./colors-BtO5_zlx.js";import"./index-BVlMw8x_.js";import"./Provider-B2xuo3rf.js";import"./router-DJj2WbDg.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-BQ6t92tJ.js";import"./sse-CiOSzE5n.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BJIamJOH.js";import"./code-xml-Jtxsp5d1.js";import"./arrow-left-CghA0kTw.js";import"./arrow-right-iJFv3jNh.js";import"./scout-voice-BhPzrc6P.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-DFhAJkW3.js";import"./NewChatComposer-hlWT-nbR.js";import"./text-CnZ0e1-V.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-BiohlpM3.js";import"./conversation-model-CwF6Y9gx.js";import"./time-Dhsh_2EG.js";import"./HarnessMark-D5CA5uSp.js";import"./NewChatOrigin-DdpzE4kz.js";import"./search-D1tJSAWe.js";import"./chunk-HRAB3GC3-swV8PA2k.js";import"./AgentDetailCard-UqPNpcvB.js";import"./AgentLiveActions-BwuzOE8h.js";import"./terminal-takeover-DANQfTcy.js";import"./openContent-C6XO6kr5.js";import"./eye-CpfyvdLq.js";import"./terminal-yN9xN-h9.js";import"./BackToPicker-4JaeRvDm.js";import"./TailView-Q4FVMsUH.js";import"./SlidePanel-C-q7XwTa.js";import"./tail-display-DcliDVkW.js";import"./lane-edit-display-C_Aujldz.js";import"./tail-events-BMQmSx1n.js";import"./message-square-D9YYWE0x.js";import"./radio-Dm1ItnA4.js";import"./external-link-Ckiyzjwo.js";import"./activity-Bj3Hnbj3.js";function er({route:r,navigate:o}){return r.view!=="work"?null:t.jsx(i,{workId:r.workId,navigate:o})}export{er as WorkContent};
@@ -0,0 +1 @@
1
+ import{j as t}from"./index-CZ-05hKz.js";import{FollowScreen as i}from"./FollowScreen-BXHOp3gb.js";import"./api-Co9aQ2Jw.js";import"./perf-PX8Rx0EP.js";import"./follow-route-BvcGtBIL.js";import"./router-DJj2WbDg.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-BQ6t92tJ.js";/* empty css */function x({route:o,navigate:r}){return o.view!=="follow"?null:t.jsx(i,{route:o,navigate:r})}export{x as FollowContent};