@openscout/scout 0.2.90 → 0.2.92
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.
- package/README.md +12 -4
- package/bin/scoutd +0 -0
- package/dist/build-manifest.json +3 -3
- package/dist/client/assets/{ActivityScreen-BUeb4ERK.js → ActivityScreen-DkUP7V7M.js} +1 -1
- package/dist/client/assets/{AddProjectForm-DtTfn4Zk.js → AddProjectForm-CpyytDf2.js} +1 -1
- package/dist/client/assets/{AgentAvatar-CneOa70z.js → AgentAvatar-D8ZtMluU.js} +1 -1
- package/dist/client/assets/{AgentConfigurationScreen-CkZ7EjZh.js → AgentConfigurationScreen-BlGI6fuM.js} +1 -1
- package/dist/client/assets/{AgentDefinitionsWorkspace-0Y3kqMtv.js → AgentDefinitionsWorkspace-CfaDVCVt.js} +1 -1
- package/dist/client/assets/{AgentDetailCard-Dtc02KUO.js → AgentDetailCard-BTiOmh-a.js} +1 -1
- package/dist/client/assets/{AgentFloorView-B5raPB_U.js → AgentFloorView-DjNLILLt.js} +1 -1
- package/dist/client/assets/{AgentInfoScreen-DFG4ElZD.js → AgentInfoScreen-DG5dlHb_.js} +1 -1
- package/dist/client/assets/{AgentLaneCard-BRAkw8YJ.js → AgentLaneCard-lfRNb7JD.js} +1 -1
- package/dist/client/assets/{AgentLaneChrome-T8QE5742.js → AgentLaneChrome-Dlwrbq3g.js} +1 -1
- package/dist/client/assets/{AgentLaneDetailSheet-C8RYotnv.js → AgentLaneDetailSheet-BzYzBfcW.js} +1 -1
- package/dist/client/assets/{AgentLaneSummaryResize-FyYweLo_.js → AgentLaneSummaryResize-6SOEWUnr.js} +1 -1
- package/dist/client/assets/AgentLanesEmbedScreen-Crxx1srt.js +1 -0
- package/dist/client/assets/{AgentLanesPreflight-Cil3dNwu.js → AgentLanesPreflight-C3uOiOzd.js} +1 -1
- package/dist/client/assets/{AgentLanesView-DPfO8MOo.js → AgentLanesView-ChNlmY-F.js} +1 -1
- package/dist/client/assets/{AgentLiveActions-DwScaVRF.js → AgentLiveActions-BJ5dIfL3.js} +1 -1
- package/dist/client/assets/{AgentSessions-DKoWA0Lm.js → AgentSessions-DpY0htZV.js} +1 -1
- package/dist/client/assets/{AgentsConsole-DoBIWGoq.js → AgentsConsole-CHyXrjhm.js} +1 -1
- package/dist/client/assets/{AgentsScreen-JuUiSuwY.js → AgentsScreen-BhCjX2lD.js} +1 -1
- package/dist/client/assets/AgentsSubnav-az_VDkri.js +1 -0
- package/dist/client/assets/{AtopView-ycxMrRwp.js → AtopView-BjjPM8OX.js} +1 -1
- package/dist/client/assets/{BackToPicker-D6WgIDb-.js → BackToPicker-D1LV6Cqp.js} +1 -1
- package/dist/client/assets/{BriefingDetailScreen-Zw-taW1s.js → BriefingDetailScreen-B7qJ90Np.js} +1 -1
- package/dist/client/assets/{BriefingsScreen-BerYOoWS.js → BriefingsScreen-CW6N829d.js} +1 -1
- package/dist/client/assets/{BrokerMetadataPanel-Cu93j-Ga.js → BrokerMetadataPanel-BhjECqOK.js} +1 -1
- package/dist/client/assets/{BrokerScreen-CeN90URH.js → BrokerScreen-X3z50712.js} +1 -1
- package/dist/client/assets/{ChatCollapsedStrip-DdKyMSEM.js → ChatCollapsedStrip-DNR9osDy.js} +1 -1
- package/dist/client/assets/{CodeDiffPane-BjCOBLze.js → CodeDiffPane-Bx_2VAzv.js} +1 -1
- package/dist/client/assets/{CodeProjectPicker-NSGdCaK0.js → CodeProjectPicker-C1yOJKvs.js} +1 -1
- package/dist/client/assets/{CodeScreen-CA9Sq6Dx.js → CodeScreen-CIKK1LcZ.js} +1 -1
- package/dist/client/assets/{ContextMenu-DnFcmfMR.js → ContextMenu-CHIuVKz7.js} +1 -1
- package/dist/client/assets/{ConversationComposer-CjRXFkvY.js → ConversationComposer-Bf7Ga_49.js} +1 -1
- package/dist/client/assets/{ConversationFeedRows-CgRTIpAv.js → ConversationFeedRows-Cm1Lgo43.js} +1 -1
- package/dist/client/assets/{ConversationHeader-CRmdtuL7.js → ConversationHeader-B_GXrKR0.js} +1 -1
- package/dist/client/assets/{ConversationPanels-DCkcLIHk.js → ConversationPanels-BTBbEvrP.js} +2 -2
- package/dist/client/assets/{ConversationScreen-Br0QQ3xo.js → ConversationScreen-B3l2m3JI.js} +1 -1
- package/dist/client/assets/{ConversationStatus-BJ1CMbAv.js → ConversationStatus-BqhUHD85.js} +1 -1
- package/dist/client/assets/{DataTable-Dzqiaha4.js → DataTable-CJbbgBdA.js} +1 -1
- package/dist/client/assets/{DispatchAftermath-B0WMg_z3.js → DispatchAftermath-BDA9CrOd.js} +1 -1
- package/dist/client/assets/{DocumentFocusViewer-CZVVIAD5.js → DocumentFocusViewer-B9vodVmG.js} +1 -1
- package/dist/client/assets/{EmbeddableSurfacesLab-C3a7hJWO.js → EmbeddableSurfacesLab-BdsYRDky.js} +1 -1
- package/dist/client/assets/{EmptyState-CYNJZMrZ.js → EmptyState-BRY5jTpz.js} +1 -1
- package/dist/client/assets/{FileViewerPane-Fwt8_KmD.js → FileViewerPane-9Bveqm9c.js} +1 -1
- package/dist/client/assets/{FleetSearch-Dsi_l2KW.js → FleetSearch-Bj9SCl2f.js} +1 -1
- package/dist/client/assets/{FlightObserveScreen-g_tiGmvz.js → FlightObserveScreen-BVMdsiCC.js} +1 -1
- package/dist/client/assets/{FollowScreen-Bb_rcrzi.js → FollowScreen-BifwHWOV.js} +1 -1
- package/dist/client/assets/{HarnessMark-DrE57dUq.js → HarnessMark-BPAphNjx.js} +1 -1
- package/dist/client/assets/{HarnessesScreen-CAsCJ_tG.js → HarnessesScreen-fMnbnrD4.js} +1 -1
- package/dist/client/assets/{HerdrSession-1eVu9Owj.js → HerdrSession-BujfGzrP.js} +1 -1
- package/dist/client/assets/{HomeHero-W445QrG1.js → HomeHero-BgM6S39l.js} +1 -1
- package/dist/client/assets/{KnowledgeSearchInspector-CbPVg3fr.js → KnowledgeSearchInspector-B4ZY24xE.js} +1 -1
- package/dist/client/assets/{KnowledgeSearchScreen-C1lN1xJk.js → KnowledgeSearchScreen-Ch_WENUC.js} +1 -1
- package/dist/client/assets/{LaneToolHoverCard-BkBcDYm-.js → LaneToolHoverCard-B7KdvQvf.js} +1 -1
- package/dist/client/assets/{LaneTraceDetailSheet-CzTd44rf.js → LaneTraceDetailSheet-H3AnN-vN.js} +1 -1
- package/dist/client/assets/{LaneTraceEventFocus-BmMmPTyJ.js → LaneTraceEventFocus-mkMw2wJU.js} +1 -1
- package/dist/client/assets/{MeshCanvas-DwkjsiJ5.js → MeshCanvas-CpKcWxKy.js} +1 -1
- package/dist/client/assets/{MeshCanvasMinimap-vmCpU1sD.js → MeshCanvasMinimap-C9IoGHbe.js} +1 -1
- package/dist/client/assets/{MeshScreen-CkMepUpT.js → MeshScreen-48QkJSDI.js} +1 -1
- package/dist/client/assets/{MeshTopologyView-BD2xLE2C.js → MeshTopologyView-DFzr0IZM.js} +2 -2
- package/dist/client/assets/{MessageComposerSuggestions-qbalTne_.js → MessageComposerSuggestions-FdVHnT_q.js} +1 -1
- package/dist/client/assets/{MessagesScreen-C8UynyLC.js → MessagesScreen-BMOOfbWX.js} +1 -1
- package/dist/client/assets/{MissionContextRail-D5MEP2f4.js → MissionContextRail-Y8QxUZGE.js} +1 -1
- package/dist/client/assets/{MissionControlView-K_I7eftL.js → MissionControlView-BpsHKu1F.js} +1 -1
- package/dist/client/assets/{MissionFocusOverlay-CWKLdUKG.js → MissionFocusOverlay-BPnAEA3F.js} +1 -1
- package/dist/client/assets/{MissionLeftAgentRow-ByGrNAcs.js → MissionLeftAgentRow-iOZ6ds9L.js} +1 -1
- package/dist/client/assets/{MissionLogPane-ZwHJ137T.js → MissionLogPane-B0csI89E.js} +1 -1
- package/dist/client/assets/{NewAgentModal-Do9aVvan.js → NewAgentModal-DBHJR9Qm.js} +1 -1
- package/dist/client/assets/{NewChatComposer-DKlNX1UA.js → NewChatComposer-Hd7pI5Ac.js} +1 -1
- package/dist/client/assets/{NewChatOrigin-DXPvX-hh.js → NewChatOrigin-DmuJ32wa.js} +1 -1
- package/dist/client/assets/{ObserveEmbedScreen-Dghsq2on.js → ObserveEmbedScreen-DyArn7Id.js} +1 -1
- package/dist/client/assets/{ObserveTextFlow-DWNlmTVm.js → ObserveTextFlow-CkMrtT8s.js} +2 -2
- package/dist/client/assets/{ObservedTopologyPanel-BlmGoxCE.js → ObservedTopologyPanel-CaSZZP05.js} +1 -1
- package/dist/client/assets/{OpenScoutAppShell-DDqQi-oe.js → OpenScoutAppShell-BtlKkiuF.js} +1 -1
- package/dist/client/assets/{OpsAgentsView-Bn_fGBdo.js → OpsAgentsView-CnqrwbC2.js} +1 -1
- package/dist/client/assets/OpsScreen-DOlmlVkP.js +1 -0
- package/dist/client/assets/OpsSubnav-Dj3ShAKv.js +1 -0
- package/dist/client/assets/{PlanView-B6gKo543.js → PlanView-BLGdWDx6.js} +1 -1
- package/dist/client/assets/ProjectAgentProfile-Dv1sVnQl.js +1 -0
- package/dist/client/assets/{ProjectAgentProfileBar-C5QWwZCn.js → ProjectAgentProfileBar-BLVg5EeA.js} +1 -1
- package/dist/client/assets/{ProjectAgentProfileHero-DC7Dd8VL.js → ProjectAgentProfileHero-0-GDhsPT.js} +1 -1
- package/dist/client/assets/{ProjectsInbox-DCLrDmj1.js → ProjectsInbox-B3DpAI5b.js} +1 -1
- package/dist/client/assets/{ProjectsRail-C4hiXYSb.js → ProjectsRail-BDl7U9Jq.js} +1 -1
- package/dist/client/assets/ProjectsScreen-Dl2FcGrR.js +1 -0
- package/dist/client/assets/{ProjectsThreadAside-DYmL2dCY.js → ProjectsThreadAside-BcGC5mHE.js} +1 -1
- package/dist/client/assets/{Provider-p-xuaAoE.js → Provider-cJCdHAxu.js} +1 -1
- package/dist/client/assets/{RailRow-bRkkXIpR.js → RailRow-CLcVmywd.js} +1 -1
- package/dist/client/assets/{RawSessionsTable-B7WKmXrk.js → RawSessionsTable-DBto4Ts-.js} +1 -1
- package/dist/client/assets/{RealtimeVoiceScreen-BzP3BQq9.js → RealtimeVoiceScreen-DXEU5v3g.js} +1 -1
- package/dist/client/assets/{RepoDiffEmbedScreen-xjzjcJ_c.js → RepoDiffEmbedScreen-BCDXFE3D.js} +1 -1
- package/dist/client/assets/{RepoDiffPageScreen-DRzIY-dk.js → RepoDiffPageScreen-m62FiWXC.js} +1 -1
- package/dist/client/assets/{RepoDiffViewer-CNDp01KM.js → RepoDiffViewer-PaNeZMhJ.js} +1 -1
- package/dist/client/assets/RepoDiffViewerLazy-CWE5GxMP.js +2 -0
- package/dist/client/assets/{ReposScreen-CpaLC_NU.js → ReposScreen-Cksv1cAD.js} +1 -1
- package/dist/client/assets/{ScoutDeckSurface-DkpZ-0DH.js → ScoutDeckSurface-BCjPl7C4.js} +1 -1
- package/dist/client/assets/{ScoutSurface-BENBUt5-.js → ScoutSurface-CkgT7A-c.js} +1 -1
- package/dist/client/assets/{ScoutbotBroadcastChip-CGZyxS5H.js → ScoutbotBroadcastChip-DkiRCHuK.js} +1 -1
- package/dist/client/assets/{ScoutbotFxLab-Bk2ZsfPp.js → ScoutbotFxLab-D-kV5j4T.js} +1 -1
- package/dist/client/assets/{ScoutbotRealtimeVoiceCall-n63LdBZs.js → ScoutbotRealtimeVoiceCall-1ixiEn1L.js} +1 -1
- package/dist/client/assets/{SecondaryNav-B4IsujYh.js → SecondaryNav-_wyKjwNf.js} +1 -1
- package/dist/client/assets/{SessionEmbedScreen-CPfH-jqN.js → SessionEmbedScreen-CJZmIBV7.js} +1 -1
- package/dist/client/assets/{SessionObserve-B-SkP3tu.js → SessionObserve-yYA8Gy5s.js} +1 -1
- package/dist/client/assets/{SessionObserveEvidence-CF5jnH3-.js → SessionObserveEvidence-cHdjYOJe.js} +1 -1
- package/dist/client/assets/{SessionRefScreen-C-4jjmVG.js → SessionRefScreen-OkTY7Szg.js} +1 -1
- package/dist/client/assets/SessionsScreen-B-GFjxIA.js +1 -0
- package/dist/client/assets/{SettingsDrawer-DATxwZrn.js → SettingsDrawer-Co11RFX0.js} +1 -1
- package/dist/client/assets/{SettingsScreen-Bu53X7J_.js → SettingsScreen-Cn09nq5_.js} +1 -1
- package/dist/client/assets/{ShikiPane-DH8yYDks.js → ShikiPane-dBS9hD-z.js} +1 -1
- package/dist/client/assets/{SlidePanel-RFXJpfUa.js → SlidePanel-CH-3-8_2.js} +1 -1
- package/dist/client/assets/{SpriteAvatar-CEYdCzem.js → SpriteAvatar-DS6Tmyua.js} +1 -1
- package/dist/client/assets/{StatusPill-9uy70ttd.js → StatusPill-C8m9ZymF.js} +1 -1
- package/dist/client/assets/{TailView-6bIrgdxN.js → TailView-B0BSopPs.js} +1 -1
- package/dist/client/assets/{Terminal-BI6km7H4.js → Terminal-U8gjIdm3.js} +1 -1
- package/dist/client/assets/{TerminalEmbedScreen-D4JOWwtm.js → TerminalEmbedScreen-CTmdE7us.js} +1 -1
- package/dist/client/assets/{TextDocumentSurface-BcP9vvji.js → TextDocumentSurface-BWJCGBZf.js} +1 -1
- package/dist/client/assets/{TmuxPeek-IaWqCgyJ.js → TmuxPeek-B4QdHbGm.js} +1 -1
- package/dist/client/assets/{VoicePermissionsPanel-C80iZxgy.js → VoicePermissionsPanel-Dd4ITJy_.js} +1 -1
- package/dist/client/assets/{WorkDetailScreen-CweZ6fEd.js → WorkDetailScreen-mJs0mb99.js} +1 -1
- package/dist/client/assets/{WorkFilesViewer-Dy_-06iI.js → WorkFilesViewer-ODzLXKxj.js} +1 -1
- package/dist/client/assets/{activity-DS0u0Itf.js → activity-CC8JzJNH.js} +1 -1
- package/dist/client/assets/{addon-fit-CN888B3D.js → addon-fit-CaZ-uLrg.js} +1 -1
- package/dist/client/assets/{addon-webgl-CoAnanQS.js → addon-webgl-B8utL3bM.js} +1 -1
- package/dist/client/assets/{agent-essentials-CuK4G_zS.js → agent-essentials-B3wcxg_v.js} +1 -1
- package/dist/client/assets/{arc.es-BET9ev6q.js → arc.es-uFv9UrHn.js} +1 -1
- package/dist/client/assets/{arrow-down-DxxPnPwh.js → arrow-down-w1HPzDSE.js} +1 -1
- package/dist/client/assets/{arrow-left-CXDkJuCg.js → arrow-left-B-3GJ7ct.js} +1 -1
- package/dist/client/assets/{arrow-up-right-Bj8RjSqW.js → arrow-up-right-G6bJXxhK.js} +1 -1
- package/dist/client/assets/{bot-BSGSicKC.js → bot-DzCOGKi6.js} +1 -1
- package/dist/client/assets/{check-BfA0T8UD.js → check-BX8nRgop.js} +1 -1
- package/dist/client/assets/{chevron-down-BVg09D6U.js → chevron-down-B3VVRJcV.js} +1 -1
- package/dist/client/assets/{chevron-right-CaEwYkxE.js → chevron-right-BYMV1511.js} +1 -1
- package/dist/client/assets/{chunk-HRAB3GC3-HhKwnZCi.js → chunk-HRAB3GC3-dRd2eQMJ.js} +1 -1
- package/dist/client/assets/{chunk-JTPDIGGW-DX2eTIQ_.js → chunk-JTPDIGGW-BjX67kHU.js} +3 -3
- package/dist/client/assets/{chunk-T65CQEWV-D-bOfuCH.js → chunk-T65CQEWV-kP6nJjkU.js} +1 -1
- package/dist/client/assets/{chunk-YOZR3KYS-oS9dlQCI.js → chunk-YOZR3KYS-C13bZPVd.js} +1 -1
- package/dist/client/assets/{clock-C3TUL7D7.js → clock-B9ukVaVn.js} +1 -1
- package/dist/client/assets/{code-xml-Dbvjk9Kw.js → code-xml-BFc3TMSm.js} +1 -1
- package/dist/client/assets/{content-CiOMtgQc.js → content-B8gahuBy.js} +1 -1
- package/dist/client/assets/content-BIqX06OQ.js +1 -0
- package/dist/client/assets/content-BKDZ6Fxe.js +1 -0
- package/dist/client/assets/content-C15Ya-iu.js +1 -0
- package/dist/client/assets/content-CDE9tJDF.js +1 -0
- package/dist/client/assets/content-CSAfI-PX.js +1 -0
- package/dist/client/assets/content-CTF9D60D.js +1 -0
- package/dist/client/assets/{content-CJuH5cDP.js → content-CbAGkYQO.js} +1 -1
- package/dist/client/assets/content-CtqLJOVp.js +1 -0
- package/dist/client/assets/content-Dvs1KRfo.js +1 -0
- package/dist/client/assets/content-DyJdVZjI.js +1 -0
- package/dist/client/assets/{content-C2TZOKSE.js → content-Ji7ATaf7.js} +1 -1
- package/dist/client/assets/content-eqZXKWcP.js +1 -0
- package/dist/client/assets/content-iyyQKwvA.js +1 -0
- package/dist/client/assets/content-pDE7Fpb9.js +1 -0
- package/dist/client/assets/content-pPSd2dua.js +1 -0
- package/dist/client/assets/{conversation-icons-DmC_Ak3z.js → conversation-icons-gpsv650H.js} +1 -1
- package/dist/client/assets/conversation-motion-features-DXtKlmuM.js +1 -0
- package/dist/client/assets/{copy-C79v_7D-.js → copy-BFmOcWof.js} +1 -1
- package/dist/client/assets/{createLucideIcon-DCq_3fQn.js → createLucideIcon-CFBn0Sdk.js} +1 -1
- package/dist/client/assets/{discover-IEnbrH8_.js → discover-DKf0aTr_.js} +2 -2
- package/dist/client/assets/embed-entry-RlQUTtc4.js +2 -0
- package/dist/client/assets/{external-link-Dd8xaveL.js → external-link-B1TI5yIt.js} +1 -1
- package/dist/client/assets/{eye-DkU59kfl.js → eye-1J4yOUoG.js} +1 -1
- package/dist/client/assets/{file-text-BITQqGtF.js → file-text-DcYSrI4v.js} +1 -1
- package/dist/client/assets/{gestures-B5rLNRpi.js → gestures-CcEOV6Sr.js} +1 -1
- package/dist/client/assets/{home-moving-signal-Bs635mVw.js → home-moving-signal-Bh2FugbH.js} +1 -1
- package/dist/client/assets/{home-now-card-VxlLjg1A.js → home-now-card-ByRH5fFx.js} +1 -1
- package/dist/client/assets/{home-now-card-nano-C06GMiwD.js → home-now-card-nano-y1EhBvVL.js} +1 -1
- package/dist/client/assets/{hooks-BWiLxTw1.js → hooks-DUZwL3Aq.js} +1 -1
- package/dist/client/assets/index-BBznYVWk.css +1 -0
- package/dist/client/assets/{index-BTj2MguM.js → index-BTuq-8Iv.js} +1 -1
- package/dist/client/assets/index-CmwGCxUk.js +1 -0
- package/dist/client/assets/{index-BZovGpDk.js → index-DmFAhGPj.js} +2 -2
- package/dist/client/assets/{index-vbaJ8sin.js → index-Dtaswdsh.js} +1 -1
- package/dist/client/assets/{inspector-panel-C96HcyK5.js → inspector-panel-DzgS5_Mv.js} +1 -1
- package/dist/client/assets/{keyboard-nav-CHo_xmjw.js → keyboard-nav-h1IdakpD.js} +1 -1
- package/dist/client/assets/{lane-roster-store-B6ybJlHJ.js → lane-roster-store-71vFgAem.js} +1 -1
- package/dist/client/assets/{left-DMJkmJOF.js → left-8NITBvFX.js} +1 -1
- package/dist/client/assets/{left-COMAiMfB.js → left-B2HEqrTM.js} +1 -1
- package/dist/client/assets/{left-C6Zj3cR4.js → left-CTYUvXbe.js} +1 -1
- package/dist/client/assets/{left-BuJ0wJW1.js → left-CwDRT50z.js} +1 -1
- package/dist/client/assets/{left-l92tw5Kc.js → left-CxlDLJlw.js} +1 -1
- package/dist/client/assets/{left-Ce4WKYPK.js → left-XFXxNd4g.js} +1 -1
- package/dist/client/assets/{left-agents-BuSyVNGE.js → left-agents-Ck4Xn-R8.js} +1 -1
- package/dist/client/assets/{left-default-DRHywOKX.js → left-default-BeOyS0bR.js} +1 -1
- package/dist/client/assets/{left-lanes-4-aUyyrV.js → left-lanes-DZp3jJMo.js} +1 -1
- package/dist/client/assets/{left-mission-e849d_Td.js → left-mission-CuKFQ5xL.js} +1 -1
- package/dist/client/assets/left-p1hkO6P0.js +1 -0
- package/dist/client/assets/{left-plan-MchYwAB_.js → left-plan-3rrFENhp.js} +1 -1
- package/dist/client/assets/{library-DygjpA6u.js → library-E--gKzEZ.js} +1 -1
- package/dist/client/assets/{loader-circle-B-l2Wj3-.js → loader-circle-d6PKL_KD.js} +1 -1
- package/dist/client/assets/{local-agents-Wof5knTJ.js → local-agents-B5pq17tZ.js} +1 -1
- package/dist/client/assets/{mentions-BjXfeF7t.js → mentions-agCGDgyA.js} +1 -1
- package/dist/client/assets/{mesh-ops-C1gq8zKf.js → mesh-ops-5pZCYptW.js} +1 -1
- package/dist/client/assets/{mesh-view-store-B56D3f77.js → mesh-view-store-KJzABIkN.js} +1 -1
- package/dist/client/assets/{message-circle-BwVx5X0q.js → message-circle-CJO-pi7b.js} +1 -1
- package/dist/client/assets/{message-markup-DlVX-iuc.js → message-markup-CyRDLdOn.js} +1 -1
- package/dist/client/assets/{message-square-BnkG6tae.js → message-square-D1hMsMj_.js} +1 -1
- package/dist/client/assets/{mission-control-store-CMgIVjLJ.js → mission-control-store-Ce6dOvnZ.js} +1 -1
- package/dist/client/assets/{observe-DVHAcIrv.js → observe-BSWVM8YA.js} +1 -1
- package/dist/client/assets/{page-status-Bg2hd27j.js → page-status-D2FQLJOX.js} +1 -1
- package/dist/client/assets/{paperclip-DblaLD_N.js → paperclip-iZmDMOS5.js} +1 -1
- package/dist/client/assets/{plus-BAI0t5g9.js → plus-gZ0T0eBI.js} +1 -1
- package/dist/client/assets/{profile-3Q4sUtvJ.js → profile-Dxj3VVOM.js} +1 -1
- package/dist/client/assets/{projects-inbox-Da2hYEn6.js → projects-inbox-Dzt_GQDv.js} +1 -1
- package/dist/client/assets/{radio-BGtkyCG9.js → radio-RMLfV4EO.js} +1 -1
- package/dist/client/assets/{refresh-cw-DtF8xPqX.js → refresh-cw-C4x1x6b_.js} +1 -1
- package/dist/client/assets/resolve-panes-C9gF0w4e.js +1 -0
- package/dist/client/assets/resolve-sidebar-context-DxbY5RCH.js +1 -0
- package/dist/client/assets/{right-Dd2DscRz.js → right-5L7Tn0zG.js} +1 -1
- package/dist/client/assets/{right-BU_W1kSH.js → right-CYtkMmRu.js} +1 -1
- package/dist/client/assets/{right-CUP-NIDG.js → right-CreoQzPP.js} +1 -1
- package/dist/client/assets/{right-c4PAdFYZ.js → right-D-k9Z1Fe.js} +1 -1
- package/dist/client/assets/{right-ByptvkVX.js → right-D9xFfy2b.js} +1 -1
- package/dist/client/assets/{right-BlR7h0US.js → right-DI7zHADe.js} +1 -1
- package/dist/client/assets/{right-BwgwTGGd.js → right-DUbJ3WVc.js} +1 -1
- package/dist/client/assets/{right-DmVHd8Xj.js → right-DiybhsiK.js} +1 -1
- package/dist/client/assets/{right-Ch_jrNe2.js → right-Jh_1Q88s.js} +1 -1
- package/dist/client/assets/{right-B8qg3JdB.js → right-udr1qTJG.js} +1 -1
- package/dist/client/assets/{rocket-BWh18pt_.js → rocket-CMM-IdLy.js} +1 -1
- package/dist/client/assets/{router-63XV_E7f.js → router-Cn_s9IGH.js} +1 -1
- package/dist/client/assets/{runtime-picker-BXKJbLot.js → runtime-picker--IW3cRry.js} +1 -1
- package/dist/client/assets/{scope-views-Dm2_-NPi.js → scope-views-BIfMTXU4.js} +1 -1
- package/dist/client/assets/{scout-voice-D8Q5sZOL.js → scout-voice-CwbOz6EN.js} +1 -1
- package/dist/client/assets/{scroll-text-DZb3mmYo.js → scroll-text-DPPYrqB9.js} +1 -1
- package/dist/client/assets/{search-1QMVOxF3.js → search-DAyagUtF.js} +1 -1
- package/dist/client/assets/{secondaryNavConfig-c0cz3MkJ.js → secondaryNavConfig-Dw3gS1jR.js} +1 -1
- package/dist/client/assets/{selection-bridge-O9C4kGfF.js → selection-bridge-BXw09aRF.js} +1 -1
- package/dist/client/assets/{send-horizontal-DbyEkGql.js → send-horizontal-IcG46D2M.js} +1 -1
- package/dist/client/assets/{server-Bncn9S7r.js → server-BySujhDV.js} +1 -1
- package/dist/client/assets/{session-catalog-DC6BlBBC.js → session-catalog-ClS9xf6i.js} +1 -1
- package/dist/client/assets/{session-table-BUPq9Viy.js → session-table-BdpHs1GN.js} +1 -1
- package/dist/client/assets/{sliders-horizontal-CMe8Bay1.js → sliders-horizontal-R5pWUUcH.js} +1 -1
- package/dist/client/assets/{sparkles-_7cTZsIH.js → sparkles-DJOBD_8l.js} +1 -1
- package/dist/client/assets/{sse-Bb0EOcU9.js → sse-CxXt4tqI.js} +1 -1
- package/dist/client/assets/{tail-events-C12pfUax.js → tail-events-BdvqZHLr.js} +1 -1
- package/dist/client/assets/{terminal-xGf_F3y7.js → terminal-DJPUp_Qn.js} +1 -1
- package/dist/client/assets/{terminal-relay-BgfVJXIL.js → terminal-relay-TffuSPGs.js} +1 -1
- package/dist/client/assets/{terminal-takeover--05EYhJm.js → terminal-takeover-BOFPRPjR.js} +1 -1
- package/dist/client/assets/{use-conversation-list-DWX02INv.js → use-conversation-list-C-dPcjQe.js} +1 -1
- package/dist/client/assets/{use-fleet-active-asks-Cnwa4hTK.js → use-fleet-active-asks-BHzeBZSW.js} +1 -1
- package/dist/client/assets/{use-mesh-ops-items-BRFm37oY.js → use-mesh-ops-items-KmaauBr_.js} +1 -1
- package/dist/client/assets/{use-reduced-motion-C8cWvIZ3.js → use-reduced-motion-CYqhYqHO.js} +1 -1
- package/dist/client/assets/{use-scout-dev-flags-FkMreOOb.js → use-scout-dev-flags-BJbw87PK.js} +1 -1
- package/dist/client/assets/{useAgentHoverCard-DvPZSJK3.js → useAgentHoverCard-C6o0tlat.js} +1 -1
- package/dist/client/assets/useContentSecondaryNav-DjHBrgnS.js +1 -0
- package/dist/client/assets/{usePierreRuntime-C8WJ0X3F.js → usePierreRuntime-Cm7-qdm0.js} +1 -1
- package/dist/client/assets/{wrench-_tHBGTop.js → wrench-CvRjjByE.js} +1 -1
- package/dist/client/assets/{x-CrGUKNRv.js → x-C8ayPBtj.js} +1 -1
- package/dist/client/assets/{xterm-Ks-VlLTq.js → xterm-B0ci4Q9a.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/main.mjs +348 -254
- package/dist/scout-web-server.mjs +2 -96660
- package/package.json +3 -3
- package/dist/client/assets/AgentLanesEmbedScreen-Br7cmZVO.js +0 -1
- package/dist/client/assets/AgentsSubnav-BV0WAgzf.js +0 -1
- package/dist/client/assets/OpsScreen-DHnT-Q9R.js +0 -1
- package/dist/client/assets/OpsSubnav-CJRD7MjM.js +0 -1
- package/dist/client/assets/ProjectAgentProfile-Be1VOkI4.js +0 -1
- package/dist/client/assets/ProjectsScreen-jruZRjgD.js +0 -1
- package/dist/client/assets/RepoDiffViewerLazy-b6vjYxez.js +0 -2
- package/dist/client/assets/SessionsScreen-HAjFvmIq.js +0 -1
- package/dist/client/assets/content-BQuEedeL.js +0 -1
- package/dist/client/assets/content-BUae-L_N.js +0 -1
- package/dist/client/assets/content-BfG98J1k.js +0 -1
- package/dist/client/assets/content-BkVTfkAC.js +0 -1
- package/dist/client/assets/content-BsNMos_d.js +0 -1
- package/dist/client/assets/content-CCn98eSk.js +0 -1
- package/dist/client/assets/content-CYnPp9yo.js +0 -1
- package/dist/client/assets/content-CcrUhm4P.js +0 -1
- package/dist/client/assets/content-CxuVONeQ.js +0 -1
- package/dist/client/assets/content-Dmq9n1_L.js +0 -1
- package/dist/client/assets/content-DskHP2NI.js +0 -1
- package/dist/client/assets/content-DvvzL2HK.js +0 -1
- package/dist/client/assets/content-snCAUbwv.js +0 -1
- package/dist/client/assets/conversation-motion-features-DPiGTO21.js +0 -1
- package/dist/client/assets/embed-entry-XUPb-AzL.js +0 -2
- package/dist/client/assets/index-9as_JTUs.css +0 -1
- package/dist/client/assets/index-DiiEQwdc.js +0 -1
- package/dist/client/assets/left-DrCbY6ja.js +0 -1
- package/dist/client/assets/resolve-panes-D4tlKNCT.js +0 -1
- package/dist/client/assets/resolve-sidebar-context-B27lj3Ci.js +0 -1
- package/dist/client/assets/useContentSecondaryNav-CNlrhvvx.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as o}from"./createLucideIcon-
|
|
1
|
+
import{c as o}from"./createLucideIcon-CFBn0Sdk.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-
|
|
1
|
+
import{c as o}from"./createLucideIcon-CFBn0Sdk.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 +1 @@
|
|
|
1
|
-
import{c as o}from"./createLucideIcon-
|
|
1
|
+
import{c as o}from"./createLucideIcon-CFBn0Sdk.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-
|
|
1
|
+
import{c as t}from"./createLucideIcon-CFBn0Sdk.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 +1 @@
|
|
|
1
|
-
import{c}from"./createLucideIcon-
|
|
1
|
+
import{c}from"./createLucideIcon-CFBn0Sdk.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-
|
|
1
|
+
import{c as o}from"./createLucideIcon-CFBn0Sdk.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-
|
|
1
|
+
import{c as o}from"./createLucideIcon-CFBn0Sdk.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-
|
|
1
|
+
import{r as s,j as S}from"./index-DmFAhGPj.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-
|
|
2
|
-
import{r as e,j as o,_ as _e}from"./index-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/xterm-B0ci4Q9a.js","assets/index-DmFAhGPj.js","assets/index-BBznYVWk.css","assets/addon-fit-CaZ-uLrg.js","assets/addon-webgl-B8utL3bM.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as e,j as o,_ as _e}from"./index-DmFAhGPj.js";import{u as Ke}from"./chunk-HRAB3GC3-dRd2eQMJ.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-B0ci4Q9a.js").then(a=>a.x),__vite__mapDeps([0,1,2])),_e(()=>import("./addon-fit-CaZ-uLrg.js").then(a=>a.a),__vite__mapDeps([3,1,2])),_e(()=>import("./addon-webgl-B8utL3bM.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-
|
|
1
|
+
import{r as e,j as s}from"./index-DmFAhGPj.js";import{P as Q}from"./plus-gZ0T0eBI.js";import{c as O}from"./createLucideIcon-CFBn0Sdk.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-CFBn0Sdk.js";import{r as l,j as s}from"./index-DmFAhGPj.js";import{A as it}from"./arrow-down-w1HPzDSE.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-
|
|
1
|
+
import{c}from"./createLucideIcon-CFBn0Sdk.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-
|
|
1
|
+
import{c as e}from"./createLucideIcon-CFBn0Sdk.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 +1 @@
|
|
|
1
|
-
import{j as t}from"./index-
|
|
1
|
+
import{j as t}from"./index-DmFAhGPj.js";import{FollowScreen as i}from"./FollowScreen-BifwHWOV.js";import"./api-h5zurxmi.js";import"./follow-route-BvcGtBIL.js";import"./router-Cn_s9IGH.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-AmSgHklm.js";/* empty css */function w({route:o,navigate:r}){return o.view!=="follow"?null:t.jsx(i,{route:o,navigate:r})}export{w as FollowContent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as i}from"./index-DmFAhGPj.js";import{AgentInfoScreen as r}from"./AgentInfoScreen-DG5dlHb_.js";import{AgentsScreen as m}from"./AgentsScreen-BhCjX2lD.js";/* empty css */import"./colors-BtO5_zlx.js";import"./conversation-model-CHwHZNw-.js";import"./time-Dhsh_2EG.js";import"./api-h5zurxmi.js";import"./sse-CxXt4tqI.js";import"./index-BWHgHrtv.js";import"./text-DsBWV_4k.js";import"./Provider-cJCdHAxu.js";import"./router-Cn_s9IGH.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-AmSgHklm.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-CHIuVKz7.js";import"./DocumentFocusViewer-B9vodVmG.js";import"./createLucideIcon-CFBn0Sdk.js";import"./TextDocumentSurface-BWJCGBZf.js";/* empty css */import"./file-text-DcYSrI4v.js";import"./x-C8ayPBtj.js";import"./chevron-right-BYMV1511.js";import"./code-xml-BFc3TMSm.js";import"./arrow-left-B-3GJ7ct.js";import"./scout-voice-CwbOz6EN.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-h1IdakpD.js";import"./MessageComposerSuggestions-FdVHnT_q.js";import"./NewChatComposer-Hd7pI5Ac.js";import"./runtime-picker--IW3cRry.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-d6PKL_KD.js";import"./index-CmwGCxUk.js";import"./HarnessMark-BPAphNjx.js";import"./NewChatOrigin-DmuJ32wa.js";import"./model-Co0zkMIc.js";import"./chevron-down-B3VVRJcV.js";import"./search-DAyagUtF.js";import"./chunk-HRAB3GC3-dRd2eQMJ.js";import"./openContent-C6XO6kr5.js";import"./BackToPicker-D1LV6Cqp.js";import"./AgentLiveActions-BJ5dIfL3.js";import"./terminal-takeover-BOFPRPjR.js";import"./eye-1J4yOUoG.js";import"./terminal-DJPUp_Qn.js";import"./ObservedTopologyPanel-CaSZZP05.js";/* empty css */import"./AgentsSubnav-az_VDkri.js";import"./SecondaryNav-_wyKjwNf.js";import"./secondaryNavConfig-Dw3gS1jR.js";import"./message-square-D1hMsMj_.js";import"./scroll-text-DPPYrqB9.js";import"./library-E--gKzEZ.js";/* empty css */import"./SpriteAvatar-DS6Tmyua.js";import"./agent-identity-BxCsXnDp.js";import"./AgentSessions-DpY0htZV.js";import"./clipboard-e3fSpeo7.js";import"./agents-project-model-UYiamtrU.js";import"./profile-Dxj3VVOM.js";import"./AgentAvatar-D8ZtMluU.js";import"./context-budget-DX_fwUs3.js";import"./session-catalog-ClS9xf6i.js";import"./terminal-relay-TffuSPGs.js";import"./ConversationScreen-B3l2m3JI.js";import"./ConversationComposer-Bf7Ga_49.js";import"./message-markup-CyRDLdOn.js";import"./mentions-agCGDgyA.js";import"./AgentDetailCard-BTiOmh-a.js";import"./message-visibility-kJM8XcSG.js";import"./sessionRead-CvFz2RHv.js";import"./types-B0PlfpKc.js";/* empty css */import"./ConversationHeader-B_GXrKR0.js";import"./ConversationFeedRows-Cm1Lgo43.js";import"./ConversationPanels-BTBbEvrP.js";import"./use-reduced-motion-CYqhYqHO.js";import"./activity-CC8JzJNH.js";import"./message-circle-CJO-pi7b.js";import"./tail-display-BRcJltQa.js";import"./lane-edit-display-C_Aujldz.js";import"./tail-events-BdvqZHLr.js";import"./ConversationStatus-BqhUHD85.js";import"./SessionObserve-yYA8Gy5s.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-B7KdvQvf.js";import"./lane-observe-BA3g9aVd.js";import"./lane-ask-display-B6iCAVcd.js";import"./ObserveTextFlow-CkMrtT8s.js";import"./SessionObserveEvidence-cHdjYOJe.js";import"./wrench-CvRjjByE.js";import"./external-link-B1TI5yIt.js";import"./AgentDefinitionsWorkspace-CfaDVCVt.js";import"./project-overview-helpers-BQTc_Ous.js";import"./FileViewerPane-9Bveqm9c.js";/* empty css */import"./agent-essentials-B3wcxg_v.js";/* empty css *//* empty css */function to({route:t,navigate:o}){return t.view==="agent-info"?i.jsx(r,{conversationId:t.conversationId,navigate:o}):t.view==="agents-v2"?i.jsx(m,{navigate:o,selectedAgentId:t.agentId,conversationId:t.conversationId,tab:t.tab,activeRoute:t}):null}export{to as AgentsContent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as t}from"./index-DmFAhGPj.js";import{ConversationScreen as i}from"./ConversationScreen-B3l2m3JI.js";import{MessagesScreen as m}from"./MessagesScreen-BMOOfbWX.js";import"./NewChatComposer-Hd7pI5Ac.js";import"./runtime-picker--IW3cRry.js";import"./scout-voice-CwbOz6EN.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-d6PKL_KD.js";import"./createLucideIcon-CFBn0Sdk.js";import"./MessageComposerSuggestions-FdVHnT_q.js";import"./api-h5zurxmi.js";import"./index-CmwGCxUk.js";import"./HarnessMark-BPAphNjx.js";import"./conversation-model-CHwHZNw-.js";import"./colors-BtO5_zlx.js";import"./time-Dhsh_2EG.js";import"./NewChatOrigin-DmuJ32wa.js";import"./keyboard-nav-h1IdakpD.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./x-C8ayPBtj.js";import"./chevron-down-B3VVRJcV.js";import"./search-DAyagUtF.js";import"./file-text-DcYSrI4v.js";import"./ConversationComposer-Bf7Ga_49.js";import"./Provider-cJCdHAxu.js";import"./router-Cn_s9IGH.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-AmSgHklm.js";import"./sse-CxXt4tqI.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-CHIuVKz7.js";import"./DocumentFocusViewer-B9vodVmG.js";import"./TextDocumentSurface-BWJCGBZf.js";/* empty css */import"./chevron-right-BYMV1511.js";import"./code-xml-BFc3TMSm.js";import"./arrow-left-B-3GJ7ct.js";import"./chunk-HRAB3GC3-dRd2eQMJ.js";import"./message-markup-CyRDLdOn.js";import"./mentions-agCGDgyA.js";import"./AgentDetailCard-BTiOmh-a.js";import"./AgentLiveActions-BJ5dIfL3.js";import"./terminal-takeover-BOFPRPjR.js";import"./openContent-C6XO6kr5.js";import"./eye-1J4yOUoG.js";import"./terminal-DJPUp_Qn.js";import"./message-visibility-kJM8XcSG.js";import"./sessionRead-CvFz2RHv.js";import"./clipboard-e3fSpeo7.js";import"./AgentAvatar-D8ZtMluU.js";import"./SpriteAvatar-DS6Tmyua.js";import"./agent-identity-BxCsXnDp.js";import"./types-B0PlfpKc.js";/* empty css */import"./ConversationHeader-B_GXrKR0.js";import"./BackToPicker-D1LV6Cqp.js";import"./ConversationFeedRows-Cm1Lgo43.js";import"./ConversationPanels-BTBbEvrP.js";import"./use-reduced-motion-CYqhYqHO.js";import"./activity-CC8JzJNH.js";import"./message-circle-CJO-pi7b.js";import"./tail-display-BRcJltQa.js";import"./lane-edit-display-C_Aujldz.js";import"./tail-events-BdvqZHLr.js";import"./ConversationStatus-BqhUHD85.js";import"./use-conversation-list-C-dPcjQe.js";import"./use-fleet-active-asks-BHzeBZSW.js";import"./plus-gZ0T0eBI.js";function go({route:o,navigate:r}){switch(o.view){case"conversation":return t.jsx(i,{conversationId:o.conversationId,initialDraft:o.composeDraft,navigate:r});case"messages":return t.jsx(m,{conversationId:o.conversationId,navigate:r});default:return null}}export{go as ChatContent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as t}from"./index-DmFAhGPj.js";import{B as o}from"./BriefingDetailScreen-B7qJ90Np.js";import{BriefingsScreen as m}from"./BriefingsScreen-CW6N829d.js";import"./EmptyState-BRY5jTpz.js";import"./api-h5zurxmi.js";import"./Provider-cJCdHAxu.js";import"./router-Cn_s9IGH.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-AmSgHklm.js";import"./sse-CxXt4tqI.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-CHIuVKz7.js";import"./DocumentFocusViewer-B9vodVmG.js";import"./createLucideIcon-CFBn0Sdk.js";import"./TextDocumentSurface-BWJCGBZf.js";/* empty css */import"./file-text-DcYSrI4v.js";import"./x-C8ayPBtj.js";import"./chevron-right-BYMV1511.js";import"./code-xml-BFc3TMSm.js";import"./arrow-left-B-3GJ7ct.js";import"./scout-voice-CwbOz6EN.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-h1IdakpD.js";import"./MessageComposerSuggestions-FdVHnT_q.js";import"./NewChatComposer-Hd7pI5Ac.js";import"./runtime-picker--IW3cRry.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-d6PKL_KD.js";import"./index-CmwGCxUk.js";import"./HarnessMark-BPAphNjx.js";import"./conversation-model-CHwHZNw-.js";import"./time-Dhsh_2EG.js";import"./NewChatOrigin-DmuJ32wa.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-B3VVRJcV.js";import"./search-DAyagUtF.js";import"./chunk-HRAB3GC3-dRd2eQMJ.js";import"./external-link-B1TI5yIt.js";/* empty css *//* empty css */function Y({route:i,navigate:r}){return i.view!=="briefings"?null:i.briefingId?t.jsx(o,{briefingId:i.briefingId,navigate:r}):t.jsx(m,{navigate:r})}export{Y as BriefingsContent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as t}from"./index-DmFAhGPj.js";import{WorkDetailScreen as i}from"./WorkDetailScreen-mJs0mb99.js";import"./DocumentFocusViewer-B9vodVmG.js";import"./createLucideIcon-CFBn0Sdk.js";import"./TextDocumentSurface-BWJCGBZf.js";/* empty css */import"./file-text-DcYSrI4v.js";import"./x-C8ayPBtj.js";import"./StatusPill-C8m9ZymF.js";import"./status-tone-BM_zuRy1.js";import"./WorkFilesViewer-ODzLXKxj.js";import"./api-h5zurxmi.js";import"./chevron-right-BYMV1511.js";import"./chevron-down-B3VVRJcV.js";import"./mentions-agCGDgyA.js";import"./colors-BtO5_zlx.js";import"./index-CmwGCxUk.js";import"./Provider-cJCdHAxu.js";import"./router-Cn_s9IGH.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-AmSgHklm.js";import"./sse-CxXt4tqI.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-CHIuVKz7.js";import"./code-xml-BFc3TMSm.js";import"./arrow-left-B-3GJ7ct.js";import"./scout-voice-CwbOz6EN.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-h1IdakpD.js";import"./MessageComposerSuggestions-FdVHnT_q.js";import"./NewChatComposer-Hd7pI5Ac.js";import"./runtime-picker--IW3cRry.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-d6PKL_KD.js";import"./HarnessMark-BPAphNjx.js";import"./conversation-model-CHwHZNw-.js";import"./time-Dhsh_2EG.js";import"./NewChatOrigin-DmuJ32wa.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./search-DAyagUtF.js";import"./chunk-HRAB3GC3-dRd2eQMJ.js";import"./AgentDetailCard-BTiOmh-a.js";import"./AgentLiveActions-BJ5dIfL3.js";import"./terminal-takeover-BOFPRPjR.js";import"./openContent-C6XO6kr5.js";import"./eye-1J4yOUoG.js";import"./terminal-DJPUp_Qn.js";import"./BackToPicker-D1LV6Cqp.js";import"./TailView-B0BSopPs.js";import"./SlidePanel-CH-3-8_2.js";import"./tail-display-BRcJltQa.js";import"./lane-edit-display-C_Aujldz.js";import"./tail-events-BdvqZHLr.js";import"./message-square-D1hMsMj_.js";import"./radio-RMLfV4EO.js";import"./external-link-B1TI5yIt.js";import"./activity-CC8JzJNH.js";function sr({route:r,navigate:o}){return r.view!=="work"?null:t.jsx(i,{workId:r.workId,navigate:o})}export{sr as WorkContent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as o}from"./index-DmFAhGPj.js";import{MeshScreen as i}from"./MeshScreen-48QkJSDI.js";import"./api-h5zurxmi.js";import"./time-Dhsh_2EG.js";import"./colors-BtO5_zlx.js";import"./Provider-cJCdHAxu.js";import"./router-Cn_s9IGH.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-AmSgHklm.js";import"./sse-CxXt4tqI.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-CHIuVKz7.js";import"./DocumentFocusViewer-B9vodVmG.js";import"./createLucideIcon-CFBn0Sdk.js";import"./TextDocumentSurface-BWJCGBZf.js";/* empty css */import"./file-text-DcYSrI4v.js";import"./x-C8ayPBtj.js";import"./chevron-right-BYMV1511.js";import"./code-xml-BFc3TMSm.js";import"./arrow-left-B-3GJ7ct.js";import"./scout-voice-CwbOz6EN.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-h1IdakpD.js";import"./MessageComposerSuggestions-FdVHnT_q.js";import"./NewChatComposer-Hd7pI5Ac.js";import"./runtime-picker--IW3cRry.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-d6PKL_KD.js";import"./index-CmwGCxUk.js";import"./HarnessMark-BPAphNjx.js";import"./conversation-model-CHwHZNw-.js";import"./NewChatOrigin-DmuJ32wa.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-B3VVRJcV.js";import"./search-DAyagUtF.js";import"./chunk-HRAB3GC3-dRd2eQMJ.js";import"./MeshCanvas-CpKcWxKy.js";import"./chunk-T65CQEWV-kP6nJjkU.js";import"./plus-gZ0T0eBI.js";import"./mesh-view-store-KJzABIkN.js";import"./useAgentHoverCard-C6o0tlat.js";import"./AgentDetailCard-BTiOmh-a.js";import"./AgentLiveActions-BJ5dIfL3.js";import"./terminal-takeover-BOFPRPjR.js";import"./openContent-C6XO6kr5.js";import"./eye-1J4yOUoG.js";import"./terminal-DJPUp_Qn.js";import"./mesh-buckets-CfAukILK.js";import"./local-agents-B5pq17tZ.js";import"./useContentSecondaryNav-DjHBrgnS.js";import"./OpsSubnav-Dj3ShAKv.js";import"./SecondaryNav-_wyKjwNf.js";import"./secondaryNavConfig-Dw3gS1jR.js";import"./message-square-D1hMsMj_.js";import"./scroll-text-DPPYrqB9.js";/* empty css *//* empty css *//* empty css */function hr({route:r,navigate:t}){return r.view!=="mesh"?null:o.jsx(i,{navigate:t})}export{hr as MeshContent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as o}from"./index-DmFAhGPj.js";import{SessionRefScreen as t}from"./SessionRefScreen-OkTY7Szg.js";import{SessionsScreen as m}from"./SessionsScreen-B-GFjxIA.js";import{FlightObserveScreen as p}from"./FlightObserveScreen-BVMdsiCC.js";import"./api-h5zurxmi.js";import"./sse-CxXt4tqI.js";import"./index-BWHgHrtv.js";import"./tail-events-BdvqZHLr.js";import"./BackToPicker-D1LV6Cqp.js";import"./router-Cn_s9IGH.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-AmSgHklm.js";import"./ConversationScreen-B3l2m3JI.js";import"./NewChatComposer-Hd7pI5Ac.js";import"./runtime-picker--IW3cRry.js";import"./scout-voice-CwbOz6EN.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-d6PKL_KD.js";import"./createLucideIcon-CFBn0Sdk.js";import"./MessageComposerSuggestions-FdVHnT_q.js";import"./index-CmwGCxUk.js";import"./HarnessMark-BPAphNjx.js";import"./conversation-model-CHwHZNw-.js";import"./colors-BtO5_zlx.js";import"./time-Dhsh_2EG.js";import"./NewChatOrigin-DmuJ32wa.js";import"./keyboard-nav-h1IdakpD.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./x-C8ayPBtj.js";import"./chevron-down-B3VVRJcV.js";import"./search-DAyagUtF.js";import"./file-text-DcYSrI4v.js";import"./ConversationComposer-Bf7Ga_49.js";import"./Provider-cJCdHAxu.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-CHIuVKz7.js";import"./DocumentFocusViewer-B9vodVmG.js";import"./TextDocumentSurface-BWJCGBZf.js";/* empty css */import"./chevron-right-BYMV1511.js";import"./code-xml-BFc3TMSm.js";import"./arrow-left-B-3GJ7ct.js";import"./chunk-HRAB3GC3-dRd2eQMJ.js";import"./message-markup-CyRDLdOn.js";import"./mentions-agCGDgyA.js";import"./AgentDetailCard-BTiOmh-a.js";import"./AgentLiveActions-BJ5dIfL3.js";import"./terminal-takeover-BOFPRPjR.js";import"./openContent-C6XO6kr5.js";import"./eye-1J4yOUoG.js";import"./terminal-DJPUp_Qn.js";import"./message-visibility-kJM8XcSG.js";import"./sessionRead-CvFz2RHv.js";import"./clipboard-e3fSpeo7.js";import"./AgentAvatar-D8ZtMluU.js";import"./SpriteAvatar-DS6Tmyua.js";import"./agent-identity-BxCsXnDp.js";import"./types-B0PlfpKc.js";/* empty css */import"./ConversationHeader-B_GXrKR0.js";import"./ConversationFeedRows-Cm1Lgo43.js";import"./ConversationPanels-BTBbEvrP.js";import"./use-reduced-motion-CYqhYqHO.js";import"./activity-CC8JzJNH.js";import"./message-circle-CJO-pi7b.js";import"./tail-display-BRcJltQa.js";import"./lane-edit-display-C_Aujldz.js";import"./ConversationStatus-BqhUHD85.js";import"./SessionObserve-yYA8Gy5s.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-B7KdvQvf.js";import"./lane-observe-BA3g9aVd.js";import"./lane-ask-display-B6iCAVcd.js";import"./ObservedTopologyPanel-CaSZZP05.js";import"./ObserveTextFlow-CkMrtT8s.js";import"./SessionObserveEvidence-cHdjYOJe.js";import"./wrench-CvRjjByE.js";import"./external-link-B1TI5yIt.js";/* empty css */import"./RawSessionsTable-DBto4Ts-.js";/* empty css */import"./DataTable-CJbbgBdA.js";/* empty css *//* empty css */function Mi({route:i,navigate:r}){return i.view!=="sessions"?null:i.flightId?o.jsx(p,{route:{...i,flightId:i.flightId},navigate:r}):i.sessionId?o.jsx(t,{sessionRef:i.sessionId,navigate:r}):o.jsx(m,{navigate:r})}export{Mi as SessionsContent};
|