@openscout/scout 0.2.107 → 0.2.108
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 +53 -16
- package/bin/scoutd +0 -0
- package/dist/build-manifest.json +3 -3
- package/dist/client/assets/ActivityScreen-C1H-vL0L.js +1 -0
- package/dist/client/assets/{AddProjectForm-CusDRiVO.js → AddProjectForm-4sVXmjfN.js} +1 -1
- package/dist/client/assets/{AdventureEvidence-CyegKk1V.js → AdventureEvidence-D5wq1vu8.js} +1 -1
- package/dist/client/assets/{AdventureReader-X-hbTOi0.js → AdventureReader-BICypcDY.js} +1 -1
- package/dist/client/assets/{AdventureScenery-LPXSVP67.js → AdventureScenery-CGEcG0zV.js} +1 -1
- package/dist/client/assets/AgentAdventures-5yBt-Zl3.js +1 -0
- package/dist/client/assets/{AgentAvatar-CrP1eXxk.js → AgentAvatar-Dn8TUv5W.js} +1 -1
- package/dist/client/assets/AgentConfigurationScreen-C0D9WNyL.js +1 -0
- package/dist/client/assets/AgentDefinitionsWorkspace-BzcBdC_s.js +1 -0
- package/dist/client/assets/{AgentDetailCard-DtHT3sCo.js → AgentDetailCard-CI-ufaEP.js} +1 -1
- package/dist/client/assets/AgentFloorView-D8tlGlgy.js +1 -0
- package/dist/client/assets/{AgentFloorWorld-CjoIa6jA.js → AgentFloorWorld-DqmnQexg.js} +1 -1
- package/dist/client/assets/AgentInfoScreen-BnRhfcFy.js +1 -0
- package/dist/client/assets/{AgentLaneCard-BaZ2g-f8.js → AgentLaneCard-pppHFROz.js} +1 -1
- package/dist/client/assets/{AgentLaneChrome-TF1SlJSc.js → AgentLaneChrome-RptImDFc.js} +1 -1
- package/dist/client/assets/{AgentLaneDetailSheet-EzEPsn3g.js → AgentLaneDetailSheet-BqbwGskh.js} +1 -1
- package/dist/client/assets/{AgentLaneSummaryResize-dpp7YvrX.js → AgentLaneSummaryResize-DaIgwyVh.js} +1 -1
- package/dist/client/assets/AgentLanesEmbedScreen-De6C4ZOw.js +1 -0
- package/dist/client/assets/{AgentLanesPreflight-Ry-aqDTr.js → AgentLanesPreflight-BQfj2twF.js} +1 -1
- package/dist/client/assets/{AgentLanesView-BJi9xXz6.js → AgentLanesView-CiISx7pu.js} +1 -1
- package/dist/client/assets/{AgentLiveActions-CfTupTEl.js → AgentLiveActions-CkRGkv13.js} +1 -1
- package/dist/client/assets/AgentMasterScreen-CijN_4tN.js +1 -0
- package/dist/client/assets/{AgentSessions-B1gOhDBf.js → AgentSessions-ghjQcSrh.js} +2 -2
- package/dist/client/assets/AgentsConsole-D8upjDpn.js +1 -0
- package/dist/client/assets/AgentsScreen-C17BFqjf.js +1 -0
- package/dist/client/assets/AgentsSubnav-_1GVC4hj.js +1 -0
- package/dist/client/assets/{AstronautSuit-Cchnc4Ug.js → AstronautSuit-Dzu4GOMR.js} +1 -1
- package/dist/client/assets/{AtopView-gkEp4y__.js → AtopView-DJK5b3lZ.js} +1 -1
- package/dist/client/assets/{BackToPicker-CUkjnoVk.js → BackToPicker-BPU7kbXq.js} +1 -1
- package/dist/client/assets/BriefingDetailScreen-CTvFw523.js +1 -0
- package/dist/client/assets/{BriefingsScreen-B1HlBMGZ.js → BriefingsScreen-DpVC3OUk.js} +1 -1
- package/dist/client/assets/{BrokerMetadataPanel-Dk242Yh_.js → BrokerMetadataPanel-glRVdwkU.js} +1 -1
- package/dist/client/assets/BrokerScreen-CqKsBwEx.js +8 -0
- package/dist/client/assets/{CastPicker-BXUtPAGC.js → CastPicker-Y29K5kKk.js} +1 -1
- package/dist/client/assets/ChannelComposer-D4EY9jVW.js +1 -0
- package/dist/client/assets/{ChannelSidebar-e9DOPulb.js → ChannelSidebar-CVmykV4d.js} +1 -1
- package/dist/client/assets/{CharacterFamilyPreview-DMfw7UM_.js → CharacterFamilyPreview-Bj8oMD-5.js} +1 -1
- package/dist/client/assets/{ChatAvatar-C3a_o5Hj.js → ChatAvatar-BsAOShUr.js} +1 -1
- package/dist/client/assets/{ChatBits-CsvxbToF.js → ChatBits-Cq54CmyB.js} +1 -1
- package/dist/client/assets/{ChatCollapsedStrip-FEmQ_G9J.js → ChatCollapsedStrip-B0DdrOo2.js} +1 -1
- package/dist/client/assets/{ChatRichInput-DhtwFxQE.js → ChatRichInput-DYJRhGTP.js} +1 -1
- package/dist/client/assets/ChatRightPanel-D94Lw7ud.js +1 -0
- package/dist/client/assets/ChatSpaceSurface-Cp532VmZ.js +1 -0
- package/dist/client/assets/{ChatSpaceTheme-CUH8bTZc.js → ChatSpaceTheme-DPzYpw-v.js} +1 -1
- package/dist/client/assets/{CodeDiffPane-DuQRwpgK.js → CodeDiffPane-DCgMUi39.js} +1 -1
- package/dist/client/assets/{CodeProjectPicker-ZQ6gSBpg.js → CodeProjectPicker-Dq787L77.js} +1 -1
- package/dist/client/assets/{CodeScreen-BXyKeL5T.js → CodeScreen-BN4TkiR0.js} +1 -1
- package/dist/client/assets/{CommsCanvas-THp0r_U8.js → CommsCanvas-Dh056d91.js} +1 -1
- package/dist/client/assets/{CommsDeck-BVmSMV2V.js → CommsDeck-CRXKIerH.js} +1 -1
- package/dist/client/assets/{CommsFlowGraph-DxoOaLF_.js → CommsFlowGraph-Cc48o9u_.js} +1 -1
- package/dist/client/assets/{CommsFlowMap-Vi8ziCPg.js → CommsFlowMap-Ckasql5e.js} +1 -1
- package/dist/client/assets/{CommsSelection-BUoRbu9o.js → CommsSelection-CuphnUny.js} +1 -1
- package/dist/client/assets/{ComposerAttachments-DW0AIb8k.js → ComposerAttachments-9uYp_Lh5.js} +1 -1
- package/dist/client/assets/ConversationComposer-hYtLurqy.js +1 -0
- package/dist/client/assets/ConversationFeedRows-Bu0ZJcy8.js +1 -0
- package/dist/client/assets/ConversationHeader-L9738YVP.js +1 -0
- package/dist/client/assets/{ConversationPanels-D9oC0xG5.js → ConversationPanels-D6KuqvGu.js} +2 -2
- package/dist/client/assets/ConversationScreen-Pzxy9x4m.js +2 -0
- package/dist/client/assets/ConversationStatus-BEefIbXq.js +1 -0
- package/dist/client/assets/{CrewAvatar-kTznzqcO.js → CrewAvatar-a_C_F9r_.js} +1 -1
- package/dist/client/assets/{CrewSprite-Dhryjx2c.js → CrewSprite-CguHb2Ny.js} +1 -1
- package/dist/client/assets/{CrewStage-vdO0qm3D.js → CrewStage-IPpS3Oja.js} +1 -1
- package/dist/client/assets/{CrewWorkspaces-DCBzAAS4.js → CrewWorkspaces-BTPtcEcx.js} +1 -1
- package/dist/client/assets/{DataTable-aH-jCyDq.js → DataTable-DnL_8SAu.js} +1 -1
- package/dist/client/assets/{DispatchAftermath-66uQAorV.js → DispatchAftermath-CoAYaL3B.js} +1 -1
- package/dist/client/assets/{DocumentFocusViewer-DJr0v0D_.js → DocumentFocusViewer-mxzPxQQW.js} +1 -1
- package/dist/client/assets/{EmbeddableSurfacesLab-BBa70EhJ.js → EmbeddableSurfacesLab-BAZ_eRMc.js} +1 -1
- package/dist/client/assets/{EmptyState-CZlrHXy-.js → EmptyState-DLiLgtPK.js} +1 -1
- package/dist/client/assets/{FileViewerPane-BAO6mtjD.js → FileViewerPane-Dc7AoVod.js} +1 -1
- package/dist/client/assets/{FleetRollCallHud-C5q2567n.js → FleetRollCallHud-VhpxVcGO.js} +1 -1
- package/dist/client/assets/FlightObserveScreen-C1kASP3J.js +1 -0
- package/dist/client/assets/{FloorContextSheet-2_NVPQor.js → FloorContextSheet-BfrXNoBn.js} +1 -1
- package/dist/client/assets/{FloorExchangePanel-BU1pPu8K.js → FloorExchangePanel-DsG1cRzu.js} +1 -1
- package/dist/client/assets/{FloorMessagePasses-cLW2UGNP.js → FloorMessagePasses-Cm3LbkHd.js} +1 -1
- package/dist/client/assets/{FloorReplay-VFzA6Kxc.js → FloorReplay-Bg7kA-tR.js} +1 -1
- package/dist/client/assets/FloorResourcesSheet-Ba9HubO2.js +1 -0
- package/dist/client/assets/{FloorSavedWork-BeHDejWz.js → FloorSavedWork-BDOvV3mA.js} +1 -1
- package/dist/client/assets/{FloorTacticalHUD-CO-iiFpb.js → FloorTacticalHUD-4d-Hr-YL.js} +1 -1
- package/dist/client/assets/{FollowScreen-CFfkIbc6.js → FollowScreen-DFVSlsQV.js} +1 -1
- package/dist/client/assets/{HarnessMark-C4naWc16.js → HarnessMark-CP-PWk2W.js} +1 -1
- package/dist/client/assets/HarnessesScreen-j-91IoOo.js +1 -0
- package/dist/client/assets/{HerdrSession-_t7yM8vX.js → HerdrSession-H2mmxeTK.js} +1 -1
- package/dist/client/assets/{HomeHero-DouPyNmz.js → HomeHero-g4H3Ctxg.js} +1 -1
- package/dist/client/assets/{HostAdvisorView-CnM1i8hW.js → HostAdvisorView-Cyt3b5Fq.js} +1 -1
- package/dist/client/assets/{InviteLandingScreen-CEjG2E34.js → InviteLandingScreen-C3DtAGD4.js} +1 -1
- package/dist/client/assets/{InviteSheet-CwxZtWCl.js → InviteSheet-BiGMNpsE.js} +1 -1
- package/dist/client/assets/{JumpPalette-O1aJE9gR.js → JumpPalette-goXAVByA.js} +1 -1
- package/dist/client/assets/{KnowledgeSearchInspector-32n9baT-.js → KnowledgeSearchInspector-BbOQIqdF.js} +1 -1
- package/dist/client/assets/KnowledgeSearchScreen-DC8yX-kA.js +1 -0
- package/dist/client/assets/{LaneToolHoverCard-CJa110yk.js → LaneToolHoverCard-B8Am_1DC.js} +1 -1
- package/dist/client/assets/LaneTraceDetailSheet-CngYIxdI.js +1 -0
- package/dist/client/assets/{LaneTraceEventFocus-TbrNHRj_.js → LaneTraceEventFocus-BRR_jcl9.js} +1 -1
- package/dist/client/assets/{MeshCanvas-DWZHYh1A.js → MeshCanvas-DzkuY_XI.js} +1 -1
- package/dist/client/assets/{MeshCanvasMinimap-iswYFpIb.js → MeshCanvasMinimap-BrscEPAH.js} +1 -1
- package/dist/client/assets/MeshScreen-CAtRB8K6.js +1 -0
- package/dist/client/assets/{MeshTopologyView-BVvtqI8q.js → MeshTopologyView-B1I2dAhu.js} +2 -2
- package/dist/client/assets/{MessageEmbeds-ksPazAKH.js → MessageEmbeds-B-FbWI7a.js} +1 -1
- package/dist/client/assets/MessagesScreen-hq7D3Lfi.js +1 -0
- package/dist/client/assets/{MissionContextRail-D62-Wis8.js → MissionContextRail-ClR8amG1.js} +1 -1
- package/dist/client/assets/MissionControlView-D6gbMrgx.js +1 -0
- package/dist/client/assets/{MissionFocusOverlay-C1zys3Jv.js → MissionFocusOverlay-CzeNgI9Q.js} +1 -1
- package/dist/client/assets/MissionLeftAgentRow-CB3cgeYr.js +1 -0
- package/dist/client/assets/{MissionLogPane-B19lYSY9.js → MissionLogPane-2PMEoG44.js} +1 -1
- package/dist/client/assets/NativeAreaScreen-BnlrAWT8.js +1 -0
- package/dist/client/assets/NativeAreaScreen-DSR5Tf6F.js +1 -0
- package/dist/client/assets/NativeAreaScreen-fGsxyeC3.js +1 -0
- package/dist/client/assets/{NewAgentModal-Bh-L-emz.js → NewAgentModal-4b_3aoZE.js} +1 -1
- package/dist/client/assets/{NewChatComposer-C97-iTMK.js → NewChatComposer-D-VB5vdt.js} +1 -1
- package/dist/client/assets/{NewChatOrigin-DFbF_XvR.js → NewChatOrigin-BYsEu9dZ.js} +1 -1
- package/dist/client/assets/{NodeDetailPanel-CElOEpCh.js → NodeDetailPanel-9NaEnZAQ.js} +1 -1
- package/dist/client/assets/{NodeMenu-B-jjHf1c.js → NodeMenu-BgJMmffZ.js} +1 -1
- package/dist/client/assets/{ObserveEmbedScreen-B7Qt69Ms.js → ObserveEmbedScreen-W7Q5HbXP.js} +2 -2
- package/dist/client/assets/{ObserveTextFlow-PFnG_10h.js → ObserveTextFlow-C0oQEerY.js} +2 -2
- package/dist/client/assets/{ObservedTopologyPanel-CUTIoLZJ.js → ObservedTopologyPanel-Ci7emnnj.js} +1 -1
- package/dist/client/assets/OpenScoutAppShell-Di9qdmI0.js +22 -0
- package/dist/client/assets/OpsAgentsView-DVotOMg2.js +1 -0
- package/dist/client/assets/OpsScreen-C955zgr3.js +1 -0
- package/dist/client/assets/OpsSubnav-CjMVj7Sk.js +1 -0
- package/dist/client/assets/ProjectAgentProfile-B1VqGSmu.js +1 -0
- package/dist/client/assets/{ProjectAgentProfileBar-DHuMKJj-.js → ProjectAgentProfileBar-DhVU7zew.js} +1 -1
- package/dist/client/assets/ProjectAgentProfileHero-CJk-Dx4t.js +1 -0
- package/dist/client/assets/ProjectsInbox-B7kap8nR.js +2 -0
- package/dist/client/assets/ProjectsRail-BhSaqbv0.js +1 -0
- package/dist/client/assets/ProjectsScreen-CSb7nwjb.js +1 -0
- package/dist/client/assets/ProjectsThreadAside-pEJutIO8.js +1 -0
- package/dist/client/assets/{Provider-C35yu29I.js → Provider-BEXAZWd9.js} +2 -2
- package/dist/client/assets/{RailRow-BjmWK420.js → RailRow-Ddz90weI.js} +1 -1
- package/dist/client/assets/RawSessionsTable-TdKlJIPl.js +1 -0
- package/dist/client/assets/RealtimeVoiceScreen-BU5KmlNo.js +8 -0
- package/dist/client/assets/{RenderedWorkerSprite-Dhlyg89J.js → RenderedWorkerSprite-BNhFXMIo.js} +1 -1
- package/dist/client/assets/{ReplayClock-348f17bW.js → ReplayClock-wLpb4VqN.js} +1 -1
- package/dist/client/assets/{ReplayLog-CBnAM3ui.js → ReplayLog-IUyQdklN.js} +1 -1
- package/dist/client/assets/{ReplayOutpost-DyRPfNFx.js → ReplayOutpost-C4djhjZJ.js} +1 -1
- package/dist/client/assets/{RepoDiffEmbedScreen-BWxvRDrS.js → RepoDiffEmbedScreen-BmQX_8E-.js} +1 -1
- package/dist/client/assets/{RepoDiffPageScreen-DN94irmY.js → RepoDiffPageScreen-B9oAjrC6.js} +1 -1
- package/dist/client/assets/{RepoDiffViewer-_4JVXBIW.js → RepoDiffViewer-Ch_lIMt-.js} +1 -1
- package/dist/client/assets/RepoDiffViewerLazy-DL6A2o_z.js +2 -0
- package/dist/client/assets/{ReposScreen-uMCpt0e9.js → ReposScreen-D-E7fSAB.js} +2 -2
- package/dist/client/assets/{RiggedWorkerCharacter-q6QRc7_o.js → RiggedWorkerCharacter-CF6fhzGd.js} +1 -1
- package/dist/client/assets/{SageModelStudio-CNDhZhgD.js → SageModelStudio-CSet_ITs.js} +1 -1
- package/dist/client/assets/{ScoutDeckSurface-CUaU4R6T.js → ScoutDeckSurface-BJ-fl8AX.js} +1 -1
- package/dist/client/assets/{ScoutSurface-3_25USO_.js → ScoutSurface-BvFRdce6.js} +1 -1
- package/dist/client/assets/{ScoutbotFxLab-CRqhYe0a.js → ScoutbotFxLab-CfPzycZ7.js} +1 -1
- package/dist/client/assets/{SecondaryNav-D7dbV2qo.js → SecondaryNav-1FjBDWuY.js} +1 -1
- package/dist/client/assets/{SessionContextStrip-CXfs9hUD.js → SessionContextStrip-BoiIxXvS.js} +1 -1
- package/dist/client/assets/{SessionEmbedScreen-D0zFmou-.js → SessionEmbedScreen-BizGNGOz.js} +1 -1
- package/dist/client/assets/{SessionHopMenu-E6VJZrE0.js → SessionHopMenu-DX6PJPNk.js} +1 -1
- package/dist/client/assets/{SessionObserve-DXxBvejJ.js → SessionObserve-Dw3bVQYF.js} +1 -1
- package/dist/client/assets/{SessionObserveEvidence-Cuj_KHxR.js → SessionObserveEvidence-uD1OX-R5.js} +1 -1
- package/dist/client/assets/SessionRefScreen-Ch9H-qVk.js +1 -0
- package/dist/client/assets/SessionsScreen-DUeP23Xy.js +1 -0
- package/dist/client/assets/{SettingsDrawer-juCpnbH6.js → SettingsDrawer-BVrP6J52.js} +3 -3
- package/dist/client/assets/SettingsScreen-BcJ05LE5.js +1 -0
- package/dist/client/assets/{SharedFloorCharacter-DNEiaOUh.js → SharedFloorCharacter-dnamlt1p.js} +1 -1
- package/dist/client/assets/SharedWorkFloor-H-e2TVj9.js +2 -0
- package/dist/client/assets/{ShikiPane-CRtTYkMj.js → ShikiPane-CDiIT_qn.js} +1 -1
- package/dist/client/assets/{SlidePanel-_CHAQdOa.js → SlidePanel-D5oPQocF.js} +1 -1
- package/dist/client/assets/{SpaceSwitcher-BLgSCf_T.js → SpaceSwitcher-WccPJ0fS.js} +1 -1
- package/dist/client/assets/{SpriteAvatar-CpZWf54-.js → SpriteAvatar-D53GaaK3.js} +1 -1
- package/dist/client/assets/{SproutActionSprite-BSiTS4en.js → SproutActionSprite-BrFCmgWS.js} +1 -1
- package/dist/client/assets/{StatusPill-2gCP6H7A.js → StatusPill-jT--OXbn.js} +1 -1
- package/dist/client/assets/{TailView-CYSijNTy.js → TailView-B44cSuyl.js} +2 -2
- package/dist/client/assets/Terminal-D0PanmIk.js +4 -0
- package/dist/client/assets/TerminalEmbedScreen-Eddi4sts.js +1 -0
- package/dist/client/assets/{TerminalHeaderMount-Cq4OD_xN.js → TerminalHeaderMount-CYYcKxQ-.js} +1 -1
- package/dist/client/assets/{TextDocumentSurface-D52m7Vd8.js → TextDocumentSurface-DBslUq9k.js} +1 -1
- package/dist/client/assets/{TmuxPeek-CXFeweMg.js → TmuxPeek-Ctw5yYO5.js} +1 -1
- package/dist/client/assets/{VoiceControlWell-DF3bjcYA.js → VoiceControlWell-BkjuWjYu.js} +1 -1
- package/dist/client/assets/{VoicePathDiagram-CmpHWfO-.js → VoicePathDiagram-u0i6ntbx.js} +1 -1
- package/dist/client/assets/{VoicePermissionsPanel-Ok2nfxHw.js → VoicePermissionsPanel-9Nuw-xCr.js} +1 -1
- package/dist/client/assets/{VoiceTurnDetails-wAByRaNB.js → VoiceTurnDetails-kS7lfbmt.js} +1 -1
- package/dist/client/assets/{VoiceTurnStage-edoJalLV.js → VoiceTurnStage-DLY6aYDg.js} +1 -1
- package/dist/client/assets/{VoiceTurnView-D-8g5E4r.js → VoiceTurnView-CF4tIldB.js} +1 -1
- package/dist/client/assets/{WorkDetailScreen-zQkNVy2F.js → WorkDetailScreen-BrrkENYq.js} +2 -2
- package/dist/client/assets/{WorkFilesViewer-vNt01sDd.js → WorkFilesViewer-B63sKRYZ.js} +1 -1
- package/dist/client/assets/{WorkRunView-BDkR7Edq.js → WorkRunView-DLIzAsc3.js} +1 -1
- package/dist/client/assets/WorldActorTalk-CHhFTiQV.js +1 -0
- package/dist/client/assets/{WorldCharacter-CIIlutQq.js → WorldCharacter-CJGx2DVy.js} +1 -1
- package/dist/client/assets/{WorldMinimap-B6HNgcDe.js → WorldMinimap-DL12pBw3.js} +1 -1
- package/dist/client/assets/{WorldSky-Jm2Z6dfW.js → WorldSky-BlPNvGLo.js} +1 -1
- package/dist/client/assets/{activity-CIlFrfPJ.js → activity-CXkZ620t.js} +1 -1
- package/dist/client/assets/{addon-fit-dFpj9Kfq.js → addon-fit-G3qi01sy.js} +1 -1
- package/dist/client/assets/{addon-webgl-BFCGRtGh.js → addon-webgl-Bo7kSgOB.js} +1 -1
- package/dist/client/assets/{agent-essentials-BGGvT5G6.js → agent-essentials-DnfdGmIX.js} +1 -1
- package/dist/client/assets/{agent-specialization-DDc7mLCW.js → agent-specialization-DYX_DSlY.js} +1 -1
- package/dist/client/assets/{arc.es-C1SQHJ3k.js → arc.es-CLA3XI14.js} +1 -1
- package/dist/client/assets/arrow-down--OUDFWIq.js +1 -0
- package/dist/client/assets/{arrow-left-MVUKauwQ.js → arrow-left-DNjQHf4C.js} +1 -1
- package/dist/client/assets/{arrow-right-Bp-FpE5V.js → arrow-right-A_yyXwoH.js} +1 -1
- package/dist/client/assets/arrow-up-DFy-9ghF.js +1 -0
- package/dist/client/assets/{arrow-up-right-BPedAgxO.js → arrow-up-right-DUW1A1Hb.js} +1 -1
- package/dist/client/assets/{book-open-CV98WMSp.js → book-open-B_idZgTF.js} +1 -1
- package/dist/client/assets/{bot-B4zLQ4IN.js → bot-BNv_ZJzi.js} +1 -1
- package/dist/client/assets/{chat-api-DSJMBYoT.js → chat-api-BHGHALv2.js} +1 -1
- package/dist/client/assets/{chat-message-markup-91DIry6R.js → chat-message-markup-esR-YLtN.js} +1 -1
- package/dist/client/assets/{chat-transport-DNS5CB2I.js → chat-transport-CtxnPLMU.js} +1 -1
- package/dist/client/assets/{check-lrJ3a73a.js → check-BM6QtbB7.js} +1 -1
- package/dist/client/assets/{chevron-down-l1mrh5S9.js → chevron-down-DEDSNJNY.js} +1 -1
- package/dist/client/assets/{chevron-right-DrfqcerI.js → chevron-right-B02kAw12.js} +1 -1
- package/dist/client/assets/{chevron-up-CETZJzjV.js → chevron-up-CzveykKG.js} +1 -1
- package/dist/client/assets/{chunk-HRAB3GC3-DbVLgbWX.js → chunk-HRAB3GC3-DVhUsgOw.js} +1 -1
- package/dist/client/assets/chunk-JTPDIGGW-hdpdYwXb.js +46 -0
- package/dist/client/assets/chunk-T65CQEWV-G_Z0lqtn.js +1 -0
- package/dist/client/assets/chunk-YOZR3KYS-apgUnfXh.js +2 -0
- package/dist/client/assets/{clock-BV1aqPkK.js → clock-8tb9t2t9.js} +1 -1
- package/dist/client/assets/{code-xml-BhcNbLWU.js → code-xml-E9gBuiVs.js} +1 -1
- package/dist/client/assets/{coffee-D7EAOdCk.js → coffee-D0YEK6-l.js} +1 -1
- package/dist/client/assets/{compass-63TUaz5_.js → compass-EmGkpxIe.js} +1 -1
- package/dist/client/assets/content-B-rn1rka.js +1 -0
- package/dist/client/assets/content-BHV-ZU8_.js +1 -0
- package/dist/client/assets/content-BI9yWpWC.js +1 -0
- package/dist/client/assets/content-BLVuukzF.js +1 -0
- package/dist/client/assets/content-BP3cQkAj.js +1 -0
- package/dist/client/assets/content-BRY-UTkP.js +1 -0
- package/dist/client/assets/content-BXTmYOPB.js +1 -0
- package/dist/client/assets/content-C3DZ77HZ.js +1 -0
- package/dist/client/assets/content-CPchclaV.js +1 -0
- package/dist/client/assets/{content-nGlEZhUI.js → content-CVqPTQnr.js} +1 -1
- package/dist/client/assets/content-CjAERU44.js +1 -0
- package/dist/client/assets/content-CoYG0nWL.js +1 -0
- package/dist/client/assets/content-DK1KeRPw.js +1 -0
- package/dist/client/assets/content-iWBSSXa6.js +1 -0
- package/dist/client/assets/content-ryJeaQk8.js +1 -0
- package/dist/client/assets/content-srNyLgDt.js +1 -0
- package/dist/client/assets/{conversation-icons-Tqba2d56.js → conversation-icons-Dxn9N1Kx.js} +1 -1
- package/dist/client/assets/conversation-motion-features-BfmPlONx.js +1 -0
- package/dist/client/assets/{copy-xKeM5ZtU.js → copy-C1XrY27_.js} +1 -1
- package/dist/client/assets/{cpu-BOTa_WLr.js → cpu-DVZ_LhPn.js} +1 -1
- package/dist/client/assets/{createLucideIcon-zZ8Hx7er.js → createLucideIcon-CKbjXlwv.js} +1 -1
- package/dist/client/assets/direct-voice-DAOUU-kc.js +10 -0
- package/dist/client/assets/discover-BNa3BPr_.js +2 -0
- package/dist/client/assets/embed-entry-gK3z8Yxi.js +2 -0
- package/dist/client/assets/{external-link-CUObqmgX.js → external-link-Df1R34rX.js} +1 -1
- package/dist/client/assets/{eye-LrO-cXQt.js → eye-CD-_aphP.js} +1 -1
- package/dist/client/assets/{file-code-corner-CsU7jJpu.js → file-code-corner-DtMWHBN3.js} +1 -1
- package/dist/client/assets/{file-text-CnISiiw6.js → file-text-BOJQiS8p.js} +1 -1
- package/dist/client/assets/{flag-C4wl8z2-.js → flag-CeKO8NoD.js} +1 -1
- package/dist/client/assets/{folder-D5prSkzz.js → folder-C2emmTHq.js} +1 -1
- package/dist/client/assets/{gauge-D9_5iJEm.js → gauge-BR5CrhRM.js} +1 -1
- package/dist/client/assets/{gestures-QZub3Ot9.js → gestures-Dh8szhcU.js} +1 -1
- package/dist/client/assets/{git-branch-B0_fPLO7.js → git-branch-C45vy8qT.js} +1 -1
- package/dist/client/assets/{go-shortcuts-DicR7sUf.js → go-shortcuts--25Qg0lD.js} +1 -1
- package/dist/client/assets/{home-moving-signal-rpMhsOJB.js → home-moving-signal-BiiyEKEb.js} +1 -1
- package/dist/client/assets/home-now-card-DaCpqUZe.js +1 -0
- package/dist/client/assets/{home-now-card-nano-B5Dv3-pb.js → home-now-card-nano-wbxgyY4q.js} +1 -1
- package/dist/client/assets/hooks-JNwYSH18.js +2 -0
- package/dist/client/assets/{index-EsrkGBcv.js → index-BFbLvCJn.js} +2 -2
- package/dist/client/assets/index-BRNHY2fp.css +1 -0
- package/dist/client/assets/index-BrXaMEdK.js +1 -0
- package/dist/client/assets/index-CXzJ_hGx.js +1 -0
- package/dist/client/assets/{index-CHD0qcfL.js → index-V8FYEUpD.js} +1 -1
- package/dist/client/assets/index-mYtyYeAe.js +1 -0
- package/dist/client/assets/{inspector-panel-BkgUDn6G.js → inspector-panel-BgU5xUln.js} +2 -2
- package/dist/client/assets/{keyboard-nav-DDHegDbx.js → keyboard-nav-CEe-ApvZ.js} +1 -1
- package/dist/client/assets/{lane-roster-store-D-RSWjb-.js → lane-roster-store-MraynTHP.js} +1 -1
- package/dist/client/assets/{layers-C8PDiMul.js → layers-ClmyjwpB.js} +1 -1
- package/dist/client/assets/{layout-grid-Cor2frzj.js → layout-grid-DG2-JaPn.js} +1 -1
- package/dist/client/assets/left-B66YR0c5.js +1 -0
- package/dist/client/assets/left-BP5P8lzw.js +2 -0
- package/dist/client/assets/left-BbCKRDbW.js +1 -0
- package/dist/client/assets/left-CaY5FK2k.js +1 -0
- package/dist/client/assets/left-CemrfeSs.js +1 -0
- package/dist/client/assets/left-DcYA26sH.js +1 -0
- package/dist/client/assets/left-DdMMaqFT.js +2 -0
- package/dist/client/assets/left-advisor-DBml48M5.js +1 -0
- package/dist/client/assets/left-agents-DowYF2ag.js +1 -0
- package/dist/client/assets/left-default-Bifaeg_V.js +1 -0
- package/dist/client/assets/left-lanes-BGhjdqpD.js +1 -0
- package/dist/client/assets/left-mission-CvXPUovR.js +1 -0
- package/dist/client/assets/library-CnC8uzJt.js +1 -0
- package/dist/client/assets/{loader-circle-OvccU82H.js → loader-circle-CCG7hG7z.js} +1 -1
- package/dist/client/assets/{local-agents-BqnoxJrq.js → local-agents-BMcFlY_x.js} +1 -1
- package/dist/client/assets/{log-in-7SnYqW5w.js → log-in-VL9mdgeE.js} +1 -1
- package/dist/client/assets/{machine-children-DxcqCLmd.js → machine-children-DvCiQxwA.js} +1 -1
- package/dist/client/assets/{mentions-ByUvhS-v.js → mentions-s5oW4aQU.js} +1 -1
- package/dist/client/assets/{mesh-ops-CiZ8xSAx.js → mesh-ops-9SzD3sPw.js} +1 -1
- package/dist/client/assets/{mesh-view-store-DZvJC4KU.js → mesh-view-store-CVqzYz4K.js} +1 -1
- package/dist/client/assets/{message-circle-CxRVKNE-.js → message-circle-BB3rFCVD.js} +1 -1
- package/dist/client/assets/{message-markup-Zwo3t4cI.js → message-markup-D1C7GzHo.js} +1 -1
- package/dist/client/assets/{message-square-BxesYglW.js → message-square-BwqBIfv5.js} +1 -1
- package/dist/client/assets/{mission-control-store-elEEsIvb.js → mission-control-store-e8F85JhP.js} +1 -1
- package/dist/client/assets/{monitor-DTTYEb73.js → monitor-M0VSmHQ-.js} +1 -1
- package/dist/client/assets/{nav-destinations-uorRqFxf.js → nav-destinations-B3R5zxFX.js} +1 -1
- package/dist/client/assets/{observe-BJqERJVj.js → observe-M3rLosT5.js} +1 -1
- package/dist/client/assets/{page-status-BswZLqvA.js → page-status-BIuh3C5p.js} +1 -1
- package/dist/client/assets/{panel-right-Bv7sP_fc.js → panel-right-WKLdPm0F.js} +1 -1
- package/dist/client/assets/{paperclip-BjcuP_Hx.js → paperclip-DLf_ABSv.js} +1 -1
- package/dist/client/assets/{pause-C2XTlkjs.js → pause-7mmEEvVx.js} +1 -1
- package/dist/client/assets/{persistent-state-KRk_yb0q.js → persistent-state-3mbBFRDO.js} +1 -1
- package/dist/client/assets/{pin-C2mFOV1l.js → pin-q_0gAA6i.js} +1 -1
- package/dist/client/assets/{play-FT6K3It1.js → play-N5-hnPCV.js} +1 -1
- package/dist/client/assets/{plus-DFDDeGKu.js → plus-B0hdY0fF.js} +1 -1
- package/dist/client/assets/profile-B7ZGToTo.js +1 -0
- package/dist/client/assets/{projects-inbox-C0FUCv_p.js → projects-inbox-CMFBjQt0.js} +1 -1
- package/dist/client/assets/{proxy-AJsmwA6h.js → proxy-k0ILOVkK.js} +1 -1
- package/dist/client/assets/{radio-DRoOZsws.js → radio-Bjqmv997.js} +1 -1
- package/dist/client/assets/{refresh-cw-BmVr7sCD.js → refresh-cw-BcqctLqo.js} +1 -1
- package/dist/client/assets/resolve-panes-wzGu9d8o.js +1 -0
- package/dist/client/assets/resolve-sidebar-context-C8SOo5oZ.js +1 -0
- package/dist/client/assets/right-9rMRZN_r.js +1 -0
- package/dist/client/assets/right-BHZq648O.js +1 -0
- package/dist/client/assets/{right-DWPVB-nK.js → right-BNJzCaH9.js} +1 -1
- package/dist/client/assets/right-CAd7lTvY.js +1 -0
- package/dist/client/assets/right-Cc57bCTW.js +1 -0
- package/dist/client/assets/right-DY49Prjj.js +1 -0
- package/dist/client/assets/right-DfU47xKY.js +1 -0
- package/dist/client/assets/right-Dr7vxdZl.js +1 -0
- package/dist/client/assets/right-DsE4aR3A.js +1 -0
- package/dist/client/assets/right-zlkRjnkv.js +1 -0
- package/dist/client/assets/{rocket-CGl4RTV7.js → rocket-BahsdUe6.js} +1 -1
- package/dist/client/assets/router-CJIx83Ia.js +1 -0
- package/dist/client/assets/runtime-picker-IRcTkMZ5.js +1 -0
- package/dist/client/assets/{scope-views-RUWwCVAr.js → scope-views-KDtZoLUC.js} +1 -1
- package/dist/client/assets/{scout-voice-CZx60X6E.js → scout-voice-Cdh6pCsb.js} +1 -1
- package/dist/client/assets/{scoutbot-markdown-BKEBSbG0.js → scoutbot-markdown-7PRQHaAc.js} +1 -1
- package/dist/client/assets/{scroll-text-DNjxhyO2.js → scroll-text-CA0QxBHu.js} +1 -1
- package/dist/client/assets/{search-DT42oyRW.js → search-Bv2IONmc.js} +1 -1
- package/dist/client/assets/secondaryNavConfig-Bmb-oRvD.js +1 -0
- package/dist/client/assets/{selection-bridge-x3wFUjxj.js → selection-bridge-CthAuPRw.js} +1 -1
- package/dist/client/assets/{send-horizontal-CH0-fbZE.js → send-horizontal-_Tf_It04.js} +1 -1
- package/dist/client/assets/{send-to-agent-session-DoKCDBJ4.js → send-to-agent-session-CWDHHgFB.js} +1 -1
- package/dist/client/assets/{server-QfsgMLk1.js → server-U_l8A83n.js} +1 -1
- package/dist/client/assets/{session-catalog-CvSdPHPe.js → session-catalog-Dx4tl3sx.js} +1 -1
- package/dist/client/assets/{session-recap-queue-41l2XVkI.js → session-recap-queue-GeicPLsQ.js} +1 -1
- package/dist/client/assets/{session-table-L-pns6Zl.js → session-table-BI62J4NP.js} +1 -1
- package/dist/client/assets/{sessions-view-Dc-QAa7O.js → sessions-view-lGMwwZY7.js} +1 -1
- package/dist/client/assets/{settings-BVh7kldq.js → settings-bo9X410k.js} +1 -1
- package/dist/client/assets/{sliders-horizontal-782VC_yy.js → sliders-horizontal-CPSx6wd2.js} +1 -1
- package/dist/client/assets/{sparkles-BjHq_DNK.js → sparkles-Br-bA2aZ.js} +1 -1
- package/dist/client/assets/{sse-BCPRocpq.js → sse-BVxO0zNp.js} +1 -1
- package/dist/client/assets/{tail-events-d0yAYxR0.js → tail-events-C6NWFB1N.js} +1 -1
- package/dist/client/assets/{terminal-hQKQygcf.js → terminal-DMBAZjPP.js} +1 -1
- package/dist/client/assets/{terminal-relay-Bxs1hp-j.js → terminal-relay-CpGHpDa8.js} +1 -1
- package/dist/client/assets/{terminal-takeover-Ay5C2c-M.js → terminal-takeover-CXwdoZ5j.js} +1 -1
- package/dist/client/assets/{triangle-alert-CHoRGdVO.js → triangle-alert-BZikHKuT.js} +1 -1
- package/dist/client/assets/use-beside-DopIbJwf.js +1 -0
- package/dist/client/assets/{use-conversation-list-CY4JciOV.js → use-conversation-list-CGtcpdPd.js} +1 -1
- package/dist/client/assets/{use-fleet-active-asks-CymmXWH4.js → use-fleet-active-asks-DAHOPYPV.js} +1 -1
- package/dist/client/assets/{use-mesh-node-state-BvaqtODo.js → use-mesh-node-state-BlWIPTc4.js} +1 -1
- package/dist/client/assets/{use-mesh-ops-items-BSYaqH_0.js → use-mesh-ops-items-pKWBro7o.js} +1 -1
- package/dist/client/assets/{use-reduced-motion-3gMYZNIp.js → use-reduced-motion-DkdIQBwh.js} +1 -1
- package/dist/client/assets/use-scout-dev-flags-CduUFb7l.js +1 -0
- package/dist/client/assets/{useAgentHoverCard-BANmpjMh.js → useAgentHoverCard-DNlXPYQf.js} +1 -1
- package/dist/client/assets/useContentSecondaryNav-LJGNYG3U.js +1 -0
- package/dist/client/assets/{useEmbedHeadline-D6pJRxUg.js → useEmbedHeadline-BeeBDb7E.js} +1 -1
- package/dist/client/assets/{usePierreRuntime-BAQdiN0L.js → usePierreRuntime-DUXZ-DTK.js} +1 -1
- package/dist/client/assets/useSidebarCollapse-DoMvU_2R.js +1 -0
- package/dist/client/assets/{users-BUjx36gx.js → users-BQPEIUfd.js} +1 -1
- package/dist/client/assets/{wrench-DR0i5BU7.js → wrench-C-wjicn5.js} +1 -1
- package/dist/client/assets/{x-DAehov0E.js → x-BcfhXYiF.js} +1 -1
- package/dist/client/assets/{xterm-BXQiLVnI.js → xterm-qXD45dc0.js} +1 -1
- package/dist/client/assets/{zap-CEjZNZbI.js → zap-BqL8ttGz.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/main.mjs +1 -1
- package/package.json +26 -4
- package/server.json +2 -2
- package/dist/client/assets/ActivityScreen-CZmGwQ2U.js +0 -1
- package/dist/client/assets/AgentAdventures-BAgxdOF8.js +0 -1
- package/dist/client/assets/AgentConfigurationScreen-1L0IQm2w.js +0 -1
- package/dist/client/assets/AgentDefinitionsWorkspace-DguGs7jZ.js +0 -1
- package/dist/client/assets/AgentFloorView-DH4jiDgw.js +0 -1
- package/dist/client/assets/AgentInfoScreen-DYtmKkeE.js +0 -1
- package/dist/client/assets/AgentLanesEmbedScreen-BlSof_6S.js +0 -1
- package/dist/client/assets/AgentMasterScreen-EJhmuKgl.js +0 -1
- package/dist/client/assets/AgentsConsole-RXGqRvcb.js +0 -1
- package/dist/client/assets/AgentsScreen-ChwMBs11.js +0 -1
- package/dist/client/assets/AgentsSubnav-DwNX4yy0.js +0 -1
- package/dist/client/assets/BriefingDetailScreen-DrlC3qkm.js +0 -1
- package/dist/client/assets/BrokerScreen-DwOF6bMA.js +0 -8
- package/dist/client/assets/Canvas-X9pVSkw3.js +0 -1
- package/dist/client/assets/ChannelComposer-DoK7IDGa.js +0 -1
- package/dist/client/assets/ChatRightPanel-C1h_aIkn.js +0 -1
- package/dist/client/assets/ChatSpaceSurface-BXyLYKHn.js +0 -1
- package/dist/client/assets/ConversationComposer-CUQyArlk.js +0 -1
- package/dist/client/assets/ConversationFeedRows-DWiOfT-y.js +0 -1
- package/dist/client/assets/ConversationHeader-C-ZWscKj.js +0 -1
- package/dist/client/assets/ConversationScreen-CUfsQ4MR.js +0 -2
- package/dist/client/assets/ConversationStatus--IPm2nGh.js +0 -1
- package/dist/client/assets/FlightObserveScreen-DZ2mrw91.js +0 -1
- package/dist/client/assets/FloorResourcesSheet-C-kQ6Ren.js +0 -1
- package/dist/client/assets/HarnessesScreen-DX3NLcDG.js +0 -1
- package/dist/client/assets/KnowledgeSearchScreen-Dd6jrQ0A.js +0 -1
- package/dist/client/assets/LaneTraceDetailSheet-DYrd0BIf.js +0 -1
- package/dist/client/assets/MeshScreen-8nAzQVbm.js +0 -1
- package/dist/client/assets/MessagesScreen-C3WB4T21.js +0 -1
- package/dist/client/assets/MissionControlView-B9cNPXvl.js +0 -1
- package/dist/client/assets/MissionLeftAgentRow-vycMV77n.js +0 -1
- package/dist/client/assets/NativeAreaScreen-B1RLa85C.js +0 -1
- package/dist/client/assets/NativeAreaScreen-CV0OhGra.js +0 -1
- package/dist/client/assets/NativeAreaScreen-CzuZt6o1.js +0 -1
- package/dist/client/assets/OpenScoutAppShell-37PDFfA4.js +0 -31
- package/dist/client/assets/OpsAgentsView-DajlX8LO.js +0 -1
- package/dist/client/assets/OpsScreen-jVcaBKGi.js +0 -1
- package/dist/client/assets/OpsSubnav-BOOYShHE.js +0 -1
- package/dist/client/assets/ProjectAgentProfile-D_wlW4sQ.js +0 -1
- package/dist/client/assets/ProjectAgentProfileHero-Dbebtug1.js +0 -1
- package/dist/client/assets/ProjectsInbox-Cgu7B4--.js +0 -2
- package/dist/client/assets/ProjectsRail-CDWocin_.js +0 -1
- package/dist/client/assets/ProjectsScreen-B_CJycqW.js +0 -1
- package/dist/client/assets/ProjectsThreadAside-1MMl_qUD.js +0 -1
- package/dist/client/assets/RawSessionsTable-DzT90hWu.js +0 -1
- package/dist/client/assets/RealtimeVoiceScreen-B6ylX3WQ.js +0 -16
- package/dist/client/assets/RepoDiffViewerLazy-XGVC3WXv.js +0 -2
- package/dist/client/assets/SessionRefScreen-DqLSUlCE.js +0 -1
- package/dist/client/assets/SessionsScreen-BLIRkohT.js +0 -1
- package/dist/client/assets/SettingsScreen-BtGzE2-O.js +0 -1
- package/dist/client/assets/SharedWorkFloor-D9mf9KSg.js +0 -2
- package/dist/client/assets/Terminal-Bi97yb5s.js +0 -4
- package/dist/client/assets/TerminalEmbedScreen-Bqop67Bq.js +0 -1
- package/dist/client/assets/TerminalRelay-DrikpUSJ.js +0 -46
- package/dist/client/assets/WorldActorTalk-BvSg_b1y.js +0 -1
- package/dist/client/assets/content-B1lgE8qr.js +0 -1
- package/dist/client/assets/content-B5l11YyQ.js +0 -1
- package/dist/client/assets/content-BNZOZEpX.js +0 -1
- package/dist/client/assets/content-BRIxP155.js +0 -1
- package/dist/client/assets/content-BWd8gt8L.js +0 -1
- package/dist/client/assets/content-BfwS2jAK.js +0 -1
- package/dist/client/assets/content-C4p43_eT.js +0 -1
- package/dist/client/assets/content-CdYfaoDV.js +0 -1
- package/dist/client/assets/content-CzldLxw0.js +0 -1
- package/dist/client/assets/content-D-olnc4U.js +0 -1
- package/dist/client/assets/content-DTioimq4.js +0 -1
- package/dist/client/assets/content-LOebm3_d.js +0 -1
- package/dist/client/assets/content-oyzDM-LK.js +0 -1
- package/dist/client/assets/content-x1PHxED7.js +0 -1
- package/dist/client/assets/content-zX3ZY3T9.js +0 -1
- package/dist/client/assets/conversation-motion-features-C5zjuNwE.js +0 -1
- package/dist/client/assets/direct-voice-BbLPuJ04.js +0 -2
- package/dist/client/assets/discover-DJFxyV1k.js +0 -2
- package/dist/client/assets/embed-entry-Lyvu0Kfc.js +0 -2
- package/dist/client/assets/home-now-card-ByE6Umcx.js +0 -1
- package/dist/client/assets/hooks-_eCZZPsR.js +0 -2
- package/dist/client/assets/index-724SdE6r.js +0 -1
- package/dist/client/assets/index-CN4rBB_s.css +0 -1
- package/dist/client/assets/index-D1d98iYf.js +0 -1
- package/dist/client/assets/index-gGHPA-By.js +0 -1
- package/dist/client/assets/left-Bn5X7x2o.js +0 -2
- package/dist/client/assets/left-BqS0fYX1.js +0 -1
- package/dist/client/assets/left-CTCeeeD3.js +0 -1
- package/dist/client/assets/left-DhtVPVux.js +0 -1
- package/dist/client/assets/left-K39b-Wvx.js +0 -2
- package/dist/client/assets/left-KGmueNPt.js +0 -1
- package/dist/client/assets/left-P_GOYB-s.js +0 -1
- package/dist/client/assets/left-advisor-B0N47De2.js +0 -1
- package/dist/client/assets/left-agents-CsSNc51Y.js +0 -1
- package/dist/client/assets/left-default-BlO5LP2T.js +0 -1
- package/dist/client/assets/left-lanes-C4PhaJE6.js +0 -1
- package/dist/client/assets/left-mission-BjTE5vPa.js +0 -1
- package/dist/client/assets/library-CkWNPHRp.js +0 -1
- package/dist/client/assets/profile-DTmzN16I.js +0 -1
- package/dist/client/assets/provider-Dojd8quC.js +0 -1
- package/dist/client/assets/resolve-panes-pbY1fCWi.js +0 -1
- package/dist/client/assets/resolve-sidebar-context-YWkZTq1t.js +0 -1
- package/dist/client/assets/right-49kO-6nD.js +0 -1
- package/dist/client/assets/right-APtItA8A.js +0 -1
- package/dist/client/assets/right-BJwhPqtn.js +0 -1
- package/dist/client/assets/right-BPqrf4ek.js +0 -1
- package/dist/client/assets/right-D7djOy6K.js +0 -1
- package/dist/client/assets/right-DKOUCRob.js +0 -1
- package/dist/client/assets/right-DMNrVzg7.js +0 -1
- package/dist/client/assets/right-DppeMCy4.js +0 -1
- package/dist/client/assets/right-GAL5Mw1v.js +0 -1
- package/dist/client/assets/router-DCtl8wqb.js +0 -1
- package/dist/client/assets/runtime-picker-DXu2bOTh.js +0 -1
- package/dist/client/assets/secondaryNavConfig-CS1svh6n.js +0 -1
- package/dist/client/assets/use-beside-DoRC1nt0.js +0 -1
- package/dist/client/assets/use-scout-dev-flags-DS_pYYQd.js +0 -1
- package/dist/client/assets/useContentSecondaryNav-C6OBu-3_.js +0 -1
- package/dist/client/assets/usePersistentState-B8lP7TRb.js +0 -1
- package/dist/client/assets/useSidebarCollapse-OL_8J5cL.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as q,a as ie,s as Pe,S as Oe}from"./scope-views-KDtZoLUC.js";import{b as gp,i as _p,c as Sp,d as vp}from"./scope-views-KDtZoLUC.js";import{ae as pe,af as Me,a2 as $e,a3 as Fe,a4 as Be,a5 as We,a6 as me,a7 as ze,a8 as Ge,a9 as He,ag as Ke,aa as Ue,ah as Ve,d as qe,U as Ye,T as Ze,u as Je,k as Se}from"./router-CJIx83Ia.js";import{ai as Lp,aj as xp,ak as wp,al as Np,am as yp,an as jp,ao as kp,ap as Cp,aq as Ep,ar as Ap,V as Ip,as as Tp,at as Rp,au as Dp,R as Pp}from"./router-CJIx83Ia.js";import{r as m,j as n,a6 as le,P as Xe}from"./index-BFbLvCJn.js";import{L as Mp,$ as $p,W as Fp,a7 as Bp,Y as Wp,a8 as zp,a3 as Gp,X as Hp,a2 as Kp,O as Up,a9 as Vp,aa as qp}from"./index-BFbLvCJn.js";import{u as ve}from"./Provider-BEXAZWd9.js";import{S as Qe}from"./ScoutSurface-BvFRdce6.js";import{resolveContentPane as et}from"./resolve-panes-wzGu9d8o.js";import{i as tt}from"./model-CBkMvT1w.js";import{t as st}from"./bash-format-BRV5C6Gv.js";import{t as be}from"./time-Dhsh_2EG.js";import{i as ot,l as Le,k as rt,m as nt,n as at,e as it,g as lt,p as ct,r as pt,A as K,D as mt,h as dt}from"./agent-lanes-model-DMAdqCmK.js";import{S as ut}from"./SlidePanel-D5oPQocF.js";import{H as ft}from"./HarnessMark-CP-PWk2W.js";import{o as ht,f as gt,a as _t}from"./lane-observe-CteDwdD-.js";import{S as xe}from"./SessionObserve-Dw3bVQYF.js";import{LaneTraceEventFocus as St}from"./LaneTraceEventFocus-BRR_jcl9.js";import{b as vt}from"./agent-lane-detail-Ti3trpfH.js";import{r as bt,u as Lt}from"./AgentLanesView-CiISx7pu.js";import{u as xt}from"./observe-M3rLosT5.js";import{f as wt}from"./terminal-sessions-3RfJpen8.js";import{o as Nt,i as yt}from"./surface-activity-B1rgWB1i.js";import{AgentFloorView as jt}from"./AgentFloorView-D8tlGlgy.js";import{i as kt,c as Ct,n as de}from"./keyboard-nav-CEe-ApvZ.js";import{a as Et}from"./api-DSqpVKC7.js";import{RawSessionsTable as At}from"./RawSessionsTable-TdKlJIPl.js";import{SessionRefScreen as It}from"./SessionRefScreen-Ch9H-qVk.js";import{TailView as Tt}from"./TailView-B44cSuyl.js";import{c as Rt,b as Dt,u as Pt,r as Ot}from"./hooks-JNwYSH18.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./theme-vars-DNK0nn3k.js";import"./machine-scope-DJt9RZ2w.js";import"./sse-BVxO0zNp.js";import"./index-BWHgHrtv.js";import"./agent-state-DDhnFEEP.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-D-VB5vdt.js";import"./runtime-picker-IRcTkMZ5.js";import"./scout-voice-Cdh6pCsb.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CCG7hG7z.js";import"./createLucideIcon-CKbjXlwv.js";import"./media-blobs-Bi8pxr1u.js";import"./index-CXzJ_hGx.js";import"./conversation-model-FxDeWlle.js";import"./conversations-DoAAO6kA.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-BYsEu9dZ.js";import"./x-BcfhXYiF.js";import"./chevron-down-DEDSNJNY.js";import"./search-Bv2IONmc.js";import"./file-text-BOJQiS8p.js";import"./DocumentFocusViewer-mxzPxQQW.js";import"./TextDocumentSurface-DBslUq9k.js";import"./index-V8FYEUpD.js";import"./chevron-right-B02kAw12.js";import"./folder-C2emmTHq.js";import"./chevron-up-CzveykKG.js";import"./code-xml-E9gBuiVs.js";import"./arrow-left-DNjQHf4C.js";import"./arrow-right-A_yyXwoH.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DVhUsgOw.js";import"./content-CPchclaV.js";import"./ActivityScreen-C1H-vL0L.js";import"./clipboard-e3fSpeo7.js";import"./mentions-s5oW4aQU.js";import"./AgentDetailCard-CI-ufaEP.js";import"./AgentLiveActions-CkRGkv13.js";import"./terminal-takeover-CXwdoZ5j.js";import"./openContent-C6XO6kr5.js";import"./eye-CD-_aphP.js";import"./terminal-DMBAZjPP.js";import"./SessionHopMenu-DX6PJPNk.js";import"./external-link-Df1R34rX.js";import"./EmptyState-DLiLgtPK.js";/* empty css */import"./left-CemrfeSs.js";/* empty css */import"./AgentAvatar-Dn8TUv5W.js";import"./SpriteAvatar-D53GaaK3.js";import"./CrewAvatar-a_C_F9r_.js";import"./content-BHV-ZU8_.js";import"./AgentInfoScreen-BnRhfcFy.js";/* empty css *//* empty css */import"./BackToPicker-BPU7kbXq.js";import"./CrewStage-IPpS3Oja.js";import"./ObservedTopologyPanel-Ci7emnnj.js";import"./AgentsScreen-C17BFqjf.js";/* empty css */import"./AgentsSubnav-_1GVC4hj.js";import"./SecondaryNav-1FjBDWuY.js";import"./secondaryNavConfig-Bmb-oRvD.js";import"./nav-destinations-B3R5zxFX.js";import"./message-square-BwqBIfv5.js";import"./compass-EmGkpxIe.js";import"./settings-bo9X410k.js";import"./git-branch-C45vy8qT.js";import"./scroll-text-CA0QxBHu.js";import"./library-CnC8uzJt.js";/* empty css */import"./AgentSessions-ghjQcSrh.js";import"./profile-B7ZGToTo.js";import"./context-budget-8qFKqM-j.js";import"./session-catalog-Dx4tl3sx.js";import"./terminal-relay-CpGHpDa8.js";import"./ConversationScreen-Pzxy9x4m.js";import"./ComposerAttachments-9uYp_Lh5.js";import"./message-markup-D1C7GzHo.js";import"./message-markup-BQW5jdJw.js";import"./message-visibility-DwxgcgYK.js";import"./operator-attention-DBaRg5ep.js";import"./sessionRead-CvFz2RHv.js";import"./MessageEmbeds-B-FbWI7a.js";import"./types-B0PlfpKc.js";/* empty css */import"./ConversationHeader-L9738YVP.js";import"./AstronautSuit-Dzu4GOMR.js";import"./panel-right-WKLdPm0F.js";import"./CommsFlowGraph-Cc48o9u_.js";import"./comms-gesture-_aGFo6g3.js";import"./CommsCanvas-Dh056d91.js";import"./comms-deck-CBhsXnY-.js";import"./CommsFlowMap-Ckasql5e.js";import"./CommsSelection-CuphnUny.js";/* empty css */import"./use-conversation-list-CGtcpdPd.js";import"./agent-master-model-Bk_yuUXJ.js";import"./use-beside-DopIbJwf.js";import"./ConversationComposer-hYtLurqy.js";import"./zap-BqL8ttGz.js";import"./ConversationFeedRows-Bu0ZJcy8.js";import"./ConversationPanels-D6KuqvGu.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";import"./use-reduced-motion-DkdIQBwh.js";import"./proxy-k0ILOVkK.js";import"./activity-CXkZ620t.js";import"./message-circle-BB3rFCVD.js";import"./tail-events-C6NWFB1N.js";import"./ConversationStatus-BEefIbXq.js";import"./check-BM6QtbB7.js";import"./sparkles-Br-bA2aZ.js";import"./triangle-alert-BZikHKuT.js";import"./SessionContextStrip-BoiIxXvS.js";import"./AgentDefinitionsWorkspace-BzcBdC_s.js";import"./agent-specialization-DYX_DSlY.js";import"./project-overview-helpers-BQTc_Ous.js";import"./FileViewerPane-Dc7AoVod.js";/* empty css */import"./agent-essentials-DnfdGmIX.js";import"./lane-tool-detail-Czggx8oM.js";import"./LaneToolHoverCard-B8Am_1DC.js";import"./lane-ask-display-BTVSakyo.js";import"./ObserveTextFlow-C0oQEerY.js";import"./SessionObserveEvidence-uD1OX-R5.js";import"./wrench-C-wjicn5.js";/* empty css */import"./right-DsE4aR3A.js";import"./openAgent-Dbv5wfuL.js";import"./TmuxPeek-Ctw5yYO5.js";import"./refresh-cw-BcqctLqo.js";import"./ProjectsRail-BhSaqbv0.js";import"./AddProjectForm-4sVXmjfN.js";import"./projects-inbox-CMFBjQt0.js";import"./ProjectsScreen-CSb7nwjb.js";import"./ProjectsInbox-B7kap8nR.js";import"./ui-LM8pS8qE.js";import"./CrewWorkspaces-BTPtcEcx.js";import"./plus-B0hdY0fF.js";import"./useEmbedHeadline-BeeBDb7E.js";import"./api-BQYTwoz6.js";import"./cache-DGBo3vIf.js";import"./arrow-up-right-DUW1A1Hb.js";import"./session-ref-lookup-state-SATH_jAP.js";/* empty css */import"./ProjectAgentProfile-B1VqGSmu.js";import"./ProjectAgentProfileBar-DhVU7zew.js";import"./ProjectsThreadAside-pEJutIO8.js";import"./content-srNyLgDt.js";import"./BriefingDetailScreen-CTvFw523.js";import"./scoutbot-markdown-7PRQHaAc.js";/* empty css */import"./BriefingsScreen-DpVC3OUk.js";import"./content-iWBSSXa6.js";import"./BrokerScreen-CqKsBwEx.js";import"./status-tone-BM_zuRy1.js";import"./broker-display-BkBzyvbR.js";import"./BrokerMetadataPanel-glRVdwkU.js";import"./DispatchAftermath-CoAYaL3B.js";import"./follow-route-BvcGtBIL.js";import"./ShikiPane-CDiIT_qn.js";import"./arrow-down--OUDFWIq.js";import"./paperclip-DLf_ABSv.js";import"./send-horizontal-_Tf_It04.js";import"./copy-C1XrY27_.js";import"./radio-Bjqmv997.js";import"./left-BP5P8lzw.js";import"./conversation-prefs-DNre-Lcx.js";import"./use-fleet-active-asks-DAHOPYPV.js";import"./sessions-view-lGMwwZY7.js";import"./RailRow-Ddz90weI.js";/* empty css */import"./content-BI9yWpWC.js";import"./MessagesScreen-hq7D3Lfi.js";import"./AgentMasterScreen-CijN_4tN.js";/* empty css */import"./CommsDeck-CRXKIerH.js";import"./right-Cc57bCTW.js";import"./CodeScreen-BN4TkiR0.js";import"./CodeDiffPane-DCgMUi39.js";import"./usePierreRuntime-DUXZ-DTK.js";/* empty css */import"./CodeProjectPicker-Dq787L77.js";/* empty css */import"./content-CVqPTQnr.js";import"./FollowScreen-DFVSlsQV.js";import"./content-BXTmYOPB.js";import"./HarnessesScreen-j-91IoOo.js";import"./useContentSecondaryNav-LJGNYG3U.js";import"./OpsSubnav-CjMVj7Sk.js";/* empty css */import"./left-DdMMaqFT.js";import"./content-BP3cQkAj.js";import"./HomeHero-g4H3Ctxg.js";import"./persistent-state-3mbBFRDO.js";import"./home-moving-signal-BiiyEKEb.js";import"./home-live-action-BkqGLVRY.js";import"./cpu-DVZ_LhPn.js";import"./file-code-corner-DtMWHBN3.js";import"./right-BHZq648O.js";import"./left-B66YR0c5.js";import"./mesh-view-store-CVqzYz4K.js";import"./machine-children-DvCiQxwA.js";import"./use-mesh-node-state-BlWIPTc4.js";import"./NodeMenu-BgJMmffZ.js";import"./content-C3DZ77HZ.js";import"./MeshScreen-CAtRB8K6.js";import"./MeshCanvas-DzkuY_XI.js";import"./chunk-T65CQEWV-G_Z0lqtn.js";import"./useAgentHoverCard-DNlXPYQf.js";import"./local-agents-BMcFlY_x.js";/* empty css */import"./right-zlkRjnkv.js";import"./NodeDetailPanel-9NaEnZAQ.js";import"./left-DcYA26sH.js";import"./mesh-ops-9SzD3sPw.js";import"./use-mesh-ops-items-pKWBro7o.js";import"./content-BRY-UTkP.js";import"./use-scout-dev-flags-CduUFb7l.js";import"./right-DfU47xKY.js";import"./left-CaY5FK2k.js";import"./left-agents-DowYF2ag.js";import"./left-default-Bifaeg_V.js";import"./left-lanes-BGhjdqpD.js";import"./lane-roster-store-MraynTHP.js";import"./left-mission-CvXPUovR.js";import"./mission-control-store-e8F85JhP.js";import"./MissionLeftAgentRow-CB3cgeYr.js";import"./page-status-BIuh3C5p.js";import"./left-advisor-DBml48M5.js";import"./server-U_l8A83n.js";import"./layers-ClmyjwpB.js";import"./gauge-BR5CrhRM.js";import"./content-BLVuukzF.js";import"./OpsScreen-C955zgr3.js";/* empty css */import"./MissionControlView-D6gbMrgx.js";import"./send-to-agent-session-CWDHHgFB.js";/* empty css */import"./MissionContextRail-ClR8amG1.js";import"./agent-lane-preview-Dpa3DuOn.js";import"./mission-wall-CAo4BKfa.js";import"./mission-control-model-BpJHDV5D.js";import"./MissionFocusOverlay-CzeNgI9Q.js";import"./MissionLogPane-2PMEoG44.js";import"./OpsAgentsView-DVotOMg2.js";/* empty css */import"./DataTable-DnL_8SAu.js";/* empty css */import"./sliders-horizontal-CPSx6wd2.js";import"./HostAdvisorView-Cyt3b5Fq.js";/* empty css */import"./layout-grid-DG2-JaPn.js";import"./AtopView-DJK5b3lZ.js";import"./FleetRollCallHud-VhpxVcGO.js";import"./session-recap-queue-GeicPLsQ.js";import"./session-recap-lanes-D-eVJnpY.js";/* empty css *//* empty css */import"./AgentAdventures-5yBt-Zl3.js";import"./ReplayClock-wLpb4VqN.js";import"./SproutActionSprite-BrFCmgWS.js";/* empty css */import"./CrewSprite-CguHb2Ny.js";import"./adventure-playback-DTfkhIc0.js";import"./AdventureScenery-CGEcG0zV.js";import"./adventure-habitats-v1-M1lcpTJh.js";import"./AdventureReader-BICypcDY.js";import"./floor-preview-text-HrORUJ7D.js";/* empty css */import"./book-open-B_idZgTF.js";import"./ReplayLog-IUyQdklN.js";import"./AdventureEvidence-D5wq1vu8.js";/* empty css *//* empty css */import"./flag-CeKO8NoD.js";import"./pause-7mmEEvVx.js";import"./play-N5-hnPCV.js";import"./SharedWorkFloor-H-e2TVj9.js";import"./WorldMinimap-DL12pBw3.js";import"./WorldSky-BlPNvGLo.js";import"./WorldActorTalk-CHhFTiQV.js";import"./FloorExchangePanel-DsG1cRzu.js";import"./floor-character-name-CqJPOlXb.js";import"./floor-message-passes-CO3Ix_wR.js";import"./shared-work-artifacts-DfNl9KTo.js";import"./floor-memory-YMM8AlLY.js";import"./CharacterFamilyPreview-Bj8oMD-5.js";import"./RenderedWorkerSprite-BNhFXMIo.js";import"./FloorMessagePasses-Cm3LbkHd.js";import"./WorkRunView-DLIzAsc3.js";import"./floor-context-model-rWKqaKmV.js";import"./agent-floor-actor-DW8zLht0.js";import"./SharedFloorCharacter-dnamlt1p.js";import"./WorldCharacter-CJGx2DVy.js";import"./RiggedWorkerCharacter-CF6fhzGd.js";import"./FloorReplay-Bg7kA-tR.js";import"./AgentFloorWorld-DqmnQexg.js";/* empty css */import"./agent-floor-world-layout-hfMjuoui.js";import"./coffee-D0YEK6-l.js";/* empty css */import"./FloorTacticalHUD-4d-Hr-YL.js";import"./FloorSavedWork-BDOvV3mA.js";import"./pin-q_0gAA6i.js";/* empty css */import"./FloorResourcesSheet-Ba9HubO2.js";/* empty css *//* empty css */import"./FloorContextSheet-BfrXNoBn.js";import"./AgentLanesPreflight-BQfj2twF.js";import"./AgentLaneChrome-RptImDFc.js";import"./AgentLaneCard-pppHFROz.js";/* empty css */import"./AgentLaneSummaryResize-DaIgwyVh.js";import"./agent-lane-card-model-CeqQGp-8.js";import"./AgentLaneDetailSheet-BqbwGskh.js";import"./LaneTraceDetailSheet-CngYIxdI.js";import"./content-DK1KeRPw.js";import"./RepoDiffPageScreen-B9oAjrC6.js";import"./RepoDiffViewerLazy-DL6A2o_z.js";import"./ReposScreen-D-E7fSAB.js";/* empty css */import"./selection-bridge-CthAuPRw.js";import"./right-BNJzCaH9.js";import"./content-CjAERU44.js";import"./KnowledgeSearchScreen-DC8yX-kA.js";/* empty css */import"./clock-8tb9t2t9.js";import"./KnowledgeSearchInspector-BbOQIqdF.js";import"./content-B-rn1rka.js";import"./SessionsScreen-DUeP23Xy.js";import"./FlightObserveScreen-C1kASP3J.js";/* empty css */import"./right-DY49Prjj.js";import"./content-ryJeaQk8.js";import"./SettingsScreen-BcJ05LE5.js";import"./StatusPill-jT--OXbn.js";import"./AgentConfigurationScreen-C0D9WNyL.js";import"./CastPicker-Y29K5kKk.js";import"./bot-BNv_ZJzi.js";import"./SettingsDrawer-BVrP6J52.js";import"./credentials-OeoF-VKJ.js";import"./VoicePermissionsPanel-9Nuw-xCr.js";import"./monitor-M0VSmHQ-.js";import"./left-BbCKRDbW.js";import"./chunk-YOZR3KYS-apgUnfXh.js";import"./arrow-up-DFy-9ghF.js";import"./session-table-BI62J4NP.js";import"./log-in-VL9mdgeE.js";import"./Terminal-D0PanmIk.js";/* empty css */import"./HerdrSession-H2mmxeTK.js";import"./chunk-JTPDIGGW-hdpdYwXb.js";import"./TerminalHeaderMount-CYYcKxQ-.js";import"./right-9rMRZN_r.js";import"./content-CoYG0nWL.js";import"./WorkDetailScreen-BrrkENYq.js";import"./WorkFilesViewer-B63sKRYZ.js";import"./right-Dr7vxdZl.js";import"./RealtimeVoiceScreen-BU5KmlNo.js";import"./direct-voice-DAOUU-kc.js";import"./gestures-Dh8szhcU.js";import"./VoiceControlWell-BkjuWjYu.js";import"./rocket-BahsdUe6.js";import"./VoiceTurnDetails-kS7lfbmt.js";import"./VoiceTurnStage-DLY6aYDg.js";import"./VoiceTurnView-CF4tIldB.js";/* empty css *//* empty css */function Mt(e){return e?`${e[0]?.toUpperCase()}${e.slice(1)}`:"local"}function $t(e){const t=st(e.trim()),s=t.replace(/\/+$/u,"").split(/[\\/]/u).filter(Boolean);return s.length===0?t:s.slice(-2).join("/")}function Ft(e){const t=e?.trim();return t?t.replace(/\.jsonl$/u,"").slice(0,8):"—"}function F(e,t=Date.now()){const{agent:s,source:o,observe:r,lastActiveAt:l}=e,c=s.harness?.trim()||o,p=ot(r),i=$t(s.cwd||s.project||s.projectRoot||"—"),a=p?`${c} · live`:`${c} · ${be(l??t)}`;return{source:Mt(c),sessionRef:Ft(s.harnessSessionId),path:i,statusLine:a,live:p}}const Bt={think:"Thought",tool:"Tool",ask:"Request",message:"Message",note:"Note",system:"System",boot:"Boot"};function Wt({lane:e,event:t,nowMs:s=Date.now()}){const{agent:o,observe:r,source:l,lastActiveAt:c}=e,p=m.useMemo(()=>vt(e),[e]),i=F(e,s),a=t??r?.events?.at(-1),f=a?Bt[a.kind]??a.kind:null,g=r?.metadata?.session?.sessionStart,_=a?ht(a,g):null,h=_!=null?gt(_,c):void 0,u=_!=null?_t(_):void 0,d=a?.kind==="tool"||a?.kind==="ask"?a:void 0;return n.jsxs("div",{className:"scope-lane-detail",children:[n.jsxs("header",{className:"scope-lane-detail__head",children:[n.jsxs("div",{className:"scope-lane-detail__copy",children:[n.jsx("span",{className:"scope-lane-detail__kicker",children:"Lane trace"}),n.jsxs("h2",{className:"scope-lane-detail__title",children:[i.source,n.jsxs("span",{className:"scope-lane-detail__ref",children:[" · ",i.sessionRef]})]}),n.jsxs("div",{className:"scope-lane-detail__sub",children:[i.path,f?` · ${f}`:"",c?` · ${be(c)}`:""]})]}),n.jsx(ft,{harness:o.harness??p.harness,size:18,className:"scope-lane-detail__hmark"})]}),n.jsxs("dl",{className:"scope-lane-detail__meta","aria-label":"Session stats",children:[n.jsxs("div",{className:"scope-lane-detail__stat",children:[n.jsx("dt",{children:"events"}),n.jsx("dd",{children:p.events})]}),n.jsxs("div",{className:"scope-lane-detail__stat",children:[n.jsx("dt",{children:"tools"}),n.jsx("dd",{children:p.tools})]}),n.jsxs("div",{className:"scope-lane-detail__stat",children:[n.jsx("dt",{children:"files"}),n.jsx("dd",{children:p.files})]}),n.jsxs("div",{className:"scope-lane-detail__stat",children:[n.jsx("dt",{children:"model"}),n.jsx("dd",{children:p.model??"—"})]}),n.jsxs("div",{className:"scope-lane-detail__stat",children:[n.jsx("dt",{children:"branch"}),n.jsx("dd",{children:p.branch??"—"})]}),n.jsxs("div",{className:"scope-lane-detail__stat",children:[n.jsx("dt",{children:"status"}),n.jsx("dd",{children:i.statusLine})]})]}),n.jsx("div",{className:"scope-lane-detail__trace",children:n.jsx(xe,{data:r??void 0,agentId:l==="scout"?o.id:void 0,sessionId:o.harnessSessionId??p.sessionId,showRail:!1,variant:"default",surface:"scope",initialCursorT:a?.t,focusEventId:a?.id,inlineFocusEventId:d?.id,inlineFocusContent:d?n.jsx(St,{event:d,wallLabel:h,wallTitle:u,variant:"inline"}):void 0})})]})}function we({target:e,onClose:t}){const{lane:s,event:o}=e,r=F(s);return n.jsxs(ut,{open:!0,onClose:t,side:"right",owner:"scope.lane-trace",layer:"elevated",resizable:!0,defaultSize:980,minSize:560,maxSize:1280,scrollLock:!0,ariaLabel:`${r.source} ${r.sessionRef} trace`,className:"scope-lane-trace-sheet","data-scope-presentation":!0,children:[n.jsx("div",{className:"scope-lane-trace-sheet__toolbar",children:n.jsx("button",{type:"button",className:"scope-lane-trace-sheet__close",onClick:t,"aria-label":"Close",children:"×"})}),n.jsx(Wt,{lane:s,event:o})]})}function zt(e,t){const[s,o]=m.useState(()=>pe(e));m.useEffect(()=>{o(pe(e))},[e]);const r=m.useCallback(d=>{Me(d),o(d)},[]),l=m.useMemo(()=>bt({autoLanes:t,deck:s,defaultWidthTier:e}),[t,s,e]),c=m.useCallback((d,S="pinned_left")=>{r($e(s,{laneId:d.id,title:Le(d.agent,d.source),zone:S,width:s.laneWidths[d.id]}))},[s,r]),p=m.useCallback(d=>{r(Fe(s,d))},[s,r]),i=m.useCallback((d,S)=>{r(Be(s,d,S))},[s,r]),a=m.useCallback(d=>{r(We(s,d))},[s,r]),f=m.useCallback((d,S)=>{r(me(s,{kind:"harness",title:S??`${d} sessions`,harness:d,zone:"pinned_left",width:s.defaultLaneWidth}))},[s,r]),g=m.useCallback(()=>{r(me(s,{kind:"attention",title:"Needs attention",zone:"pinned_left",width:"sm"}))},[s,r]),_=m.useCallback(()=>{r(ze(s))},[s,r]),h=m.useCallback(d=>Ge(s,d),[s]),u=m.useCallback(d=>He(s,d),[s]);return{deck:s,layout:l,pinLane:c,unpinLane:p,setLaneWidth:i,setDefaultLaneWidth:a,addHarnessLane:f,addAttentionLane:g,clearPins:_,isPinned:h,pinnedZone:u}}const Ne=le("lanes-horizon"),Gt=6e4,Ht=160;function Kt(){try{const e=sessionStorage.getItem(Ne);if(e&&K.some(t=>t.key===e))return e}catch{}return mt}function ye({scoutAgents:e,defaultWidthTier:t="md",harnessFilter:s,projectFilter:o,horizonOverride:r}){const[l,c]=m.useState(Date.now()),[p,i]=m.useState(Kt),a=r??p,[f,g]=m.useState([]),[_,h]=m.useState(()=>new Set),u=dt(),d=rt(a),S=nt(a),{discovery:v,events:b,loadState:k}=Lt({includeTranscriptReplay:!0,discoveryIntervalMs:Gt,discoveryLimit:Ht,recentLimit:u,recentWindowMs:d,pauseWhenHidden:!0});m.useEffect(()=>{const L=setInterval(()=>c(Date.now()),1e4);return()=>clearInterval(L)},[]),m.useEffect(()=>{let L=!1;const N=async()=>{if(yt())try{const ee=await wt({includeDiscovered:!1});L||g(ee)}catch{L||g([])}};N();const I=setInterval(()=>{N()},1e4),Q=Nt(()=>{N()});return()=>{L=!0,clearInterval(I),Q()}},[]),m.useEffect(()=>{try{sessionStorage.setItem(Ne,p)}catch{}},[p]);const y=m.useRef(at()),T=m.useMemo(()=>e.filter(L=>it(L,l,a)),[e,l,a]),E=xt(T,{pauseWhenHidden:!0}),R=k.discovery==="loading"||k.recent==="loading";m.useEffect(()=>{if(_.size===0)return;const L=setTimeout(()=>h(new Set),900);return()=>clearTimeout(L)},[_]);const{lanes:w,issues:A,freshLaneIds:D}=m.useMemo(()=>{const L=lt({transcripts:v?.transcripts??[],tailEvents:b,processes:v?.processes??[],scoutAgents:e,terminalSessions:f,observeCache:E,now:l,workingOnly:!0,horizon:a}),N=ct(L.lanes,y.current),I=[...pt(v),...L.issues];return{lanes:N.lanes,issues:I,freshLaneIds:N.newLaneIds}},[v,b,e,f,E,l,a]);m.useEffect(()=>{if(A.length!==0)for(const L of A)console.warn(`[agent-lanes] ${L.message}`,L)},[A]),m.useEffect(()=>{D.length!==0&&h(L=>{const N=new Set(L);for(const I of D)N.add(I);return N})},[D.join("\0")]);const O=m.useMemo(()=>w.filter(L=>Vt(L,{harnessFilter:s,projectFilter:o})),[w,s,o]),{deck:W,layout:Z,setLaneWidth:J,setDefaultLaneWidth:X}=zt(t,O);return{profileId:Ke,now:l,horizon:a,setHorizon:i,horizonLabel:S,traceWindowMs:d,lanes:O,issues:A,newLaneIds:_,tailLoading:R,deck:W,layout:Z,setLaneWidth:J,setDefaultLaneWidth:X,activeFilterLabel:qt({harnessFilter:s,projectFilter:o})}}function ue(e){const t=e?.trim().toLowerCase();return t||null}function se(e){return e.trim().toLowerCase().replace(/['"]/gu,"").replace(/[^a-z0-9]+/gu,"-").replace(/^-+|-+$/gu,"")}function Ut(e){return e.trim().replace(/\/+$/u,"").split(/[\\/]/u).filter(Boolean).pop()?.trim()||null}function fe(e,t){if(!t)return!0;const s=se(t);return e.some(o=>{const r=o?.trim();if(!r)return!1;const l=r.toLowerCase(),c=Ut(r);return l===t||se(r)===s||!!(c&&(c.toLowerCase()===t||se(c)===s))})}function Vt(e,t){const s=ue(t.harnessFilter),o=ue(t.projectFilter),{agent:r,facts:l,source:c}=e;return fe([r.harness,r.definitionId,l?.attribution,c],s)&&fe([r.project,r.projectRoot,r.cwd,l?.cwd],o)}function qt(e){return[e.harnessFilter?.trim()?`harness ${e.harnessFilter.trim()}`:"",e.projectFilter?.trim()?`project ${e.projectFilter.trim()}`:""].filter(Boolean).join(" · ")}function Yt(e){return e?`${e[0]?.toUpperCase()}${e.slice(1)}`:"local"}function Zt(e){const t=new Map;for(const s of e){const o=s.agent.harness?.trim()||s.source,r=t.get(o)??[];r.push(s),t.set(o,r)}return[...t.entries()].map(([s,o])=>{const r=[...o].sort((c,p)=>(p.lastActiveAt??0)-(c.lastActiveAt??0)),l=r.filter(c=>F(c).live).length;return{harness:s,label:Yt(s),lanes:r,liveCount:l}}).sort((s,o)=>o.lanes.length-s.lanes.length)}function Jt({lane:e,nowMs:t,onOpen:s}){const o=F(e,t),r=e.observe?.events?.length??0,l=c=>{(c.key==="Enter"||c.key===" ")&&(c.preventDefault(),s(e))};return n.jsxs("div",{className:`scope-dir__row${o.live?" is-live":""}`,role:"button",tabIndex:0,onClick:()=>s(e),onKeyDown:l,"aria-label":`${o.source} ${o.sessionRef}`,children:[n.jsx("span",{className:`scope-dir__dot${o.live?" is-live":""}`,"aria-hidden":!0}),n.jsx("span",{className:"scope-dir__ref",children:o.sessionRef}),n.jsx("span",{className:"scope-dir__path",title:e.agent.cwd??e.agent.project??void 0,children:o.path}),n.jsxs("span",{className:"scope-dir__events",children:[r,n.jsx("span",{className:"scope-dir__unit",children:"ev"})]}),n.jsx("span",{className:"scope-dir__status",children:o.statusLine})]})}function Xt({navigate:e,agents:t}){const s=q(),{now:o,horizonLabel:r,lanes:l,tailLoading:c}=ye({scoutAgents:t,defaultWidthTier:"md"}),p=m.useMemo(()=>Zt(l),[l]),[i,a]=m.useState(null),f=m.useCallback(h=>{const u=h.observe?.events?.at(-1);u&&a({lane:h,event:u})},[]),g=l.length,_=p.reduce((h,u)=>h+u.liveCount,0);return n.jsxs("div",{className:"scope-dir","data-scope-presentation":!0,...s,children:[n.jsx("header",{className:"scope-dir__bar",children:n.jsxs("div",{className:"scope-dir__summary",children:[n.jsxs("span",{className:"scope-dir__count",children:[g," instance",g===1?"":"s"]}),_>0?n.jsxs("span",{className:"scope-dir__live",children:[_," live"]}):null,n.jsxs("span",{className:"scope-dir__window",children:["window ",r]})]})}),p.length===0?n.jsx("div",{className:"scope-dir__empty",children:c?"Discovering sessions…":"No sessions discovered for this workspace."}):n.jsx("div",{className:"scope-dir__body",children:p.map(h=>n.jsxs("section",{className:"scope-dir__group",children:[n.jsxs("header",{className:"scope-dir__group-head",children:[n.jsx("span",{className:"scope-dir__group-name",children:h.label}),n.jsx("span",{className:"scope-dir__group-kind",children:"runtime"}),n.jsxs("span",{className:"scope-dir__group-counts",children:[h.lanes.length," ",h.lanes.length===1?"instance":"instances",h.liveCount?` · ${h.liveCount} live`:""]})]}),n.jsx("div",{className:"scope-dir__list",role:"list",children:h.lanes.map(u=>n.jsx(Jt,{lane:u,nowMs:o,onOpen:f},u.id))})]},h.harness))}),i?n.jsx(we,{target:i,onClose:()=>a(null)}):null]})}function Qt({laneId:e,grabbed:t,onKeyMove:s,onDragStart:o,onDragEnd:r}){const l=i=>{if(!(!i.altKey||!s)){if(i.key==="ArrowLeft"||i.key==="ArrowUp"){i.preventDefault(),i.stopPropagation(),s("before");return}(i.key==="ArrowRight"||i.key==="ArrowDown")&&(i.preventDefault(),i.stopPropagation(),s("after"))}},c=i=>{i.stopPropagation();const a=i.dataTransfer;if(!a)return;a.setData("text/plain",e),a.effectAllowed="move";const f=i.currentTarget.closest("[data-lane-id]");f instanceof HTMLElement&&(a.setDragImage(f,Math.min(48,f.clientWidth/2),18),f.classList.add("is-dragging")),o?.(e)},p=i=>{i.currentTarget.closest("[data-lane-id]")?.classList.remove("is-dragging"),r?.()};return n.jsx("span",{className:"scope-lane__drag",role:"button",tabIndex:0,draggable:!0,"aria-grabbed":t?"true":"false","aria-keyshortcuts":"Alt+ArrowLeft Alt+ArrowRight Alt+ArrowUp Alt+ArrowDown","aria-label":"Drag to reorder lane. Drop in a gutter for a new column. Alt+arrow keys also move.",title:"Drag to reorder · drop in gutters for a new column",onClick:i=>i.stopPropagation(),onKeyDown:l,onDragStart:c,onDragEnd:p,children:"⠿"})}const es=["sm","md","lg"],ts={sm:"¼",md:"½",lg:"full"},ss={sm:"Quarter row",md:"Half row",lg:"Full row"};function je({value:e,defaultValue:t,onChange:s,compact:o=!1,label:r="Lane width",variant:l="tier"}){const c=typeof e=="string"?e:t,p=l==="grid";return n.jsx("div",{className:`scope-lane-width${o?" is-compact":""}${p?" is-grid":""}`,role:"group","aria-label":r,onClick:i=>i.stopPropagation(),onKeyDown:i=>i.stopPropagation(),children:es.map(i=>n.jsx("button",{type:"button",className:`scope-lane-width__btn${c===i?" is-on":""}`,"aria-pressed":c===i,title:p?ss[i]:`${i.toUpperCase()} column width`,onClick:()=>s(i),children:p?ts[i]:i},i))})}function os({lane:e,layoutMode:t,compact:s,laneWidth:o,defaultLaneWidth:r,onLaneWidthChange:l,nowMs:c,traceWindowMs:p,traceWindowLabel:i,onOpenTrace:a,onTraceEventSelect:f,onDragStart:g,onDragEnd:_,onDragKeyMove:h,focusProps:u}){const{agent:d,observe:S,source:v}=e,b=F(e,c),k=!!(S&&S.events.length>0),y=u?.ref,T=u?{"data-cursor":u["data-cursor"],tabIndex:u.tabIndex,onFocus:u.onFocus}:void 0,E=()=>{const w=S?.events?.at(-1);a(e,w)},R=w=>{(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),E())};return n.jsxs("article",{ref:y,"data-lane-id":e.id,className:["scope-lane",b.live?"is-live":"",u?.["data-cursor"]?"is-cursor":"",s?"is-stack-compact":"",t==="grid"?"is-grid":""].filter(Boolean).join(" "),...T,children:[n.jsxs("header",{className:`scope-lane__head${s?" is-compact":""}`,role:"button",tabIndex:0,onClick:w=>{w.target instanceof HTMLElement&&w.target.closest(".scope-lane__drag")||E()},onKeyDown:R,"aria-label":`${b.source} ${b.sessionRef}`,children:[n.jsx(Qt,{laneId:e.id,onKeyMove:h,onDragStart:g,onDragEnd:_}),n.jsx("span",{className:"scope-lane__live","aria-hidden":"true"}),n.jsxs("div",{className:"scope-lane__meta",children:[n.jsxs("span",{className:"scope-lane__source",children:[b.source,n.jsxs("span",{className:"scope-lane__ref",children:[" · ",b.sessionRef]})]}),n.jsx("span",{className:"scope-lane__path",title:d.cwd??d.project??void 0,children:b.path}),s?null:n.jsx("span",{className:"scope-lane__status",children:b.statusLine}),l&&(t==="grid"||!s)?n.jsx(je,{value:o,defaultValue:r,onChange:l,compact:!0,label:`${b.sessionRef} width`,variant:t==="grid"?"grid":"tier"}):null]})]}),n.jsx("section",{className:"scope-lane__trace","aria-label":`${Le(d,v)} trace · ${i}`,children:k?n.jsx(xe,{data:S??void 0,agentId:v==="scout"?d.id:void 0,sessionId:d.harnessSessionId,showRail:!1,variant:"lane",surface:"scope",nowMs:c,traceWindowMs:p,traceWindowLabel:i,onLaneEventSelect:w=>f(e,w)}):n.jsx("div",{className:"scope-lane__empty",children:"waiting for events"})})]})}function rs({space:e,layoutMode:t,widthPx:s,gridSpan:o,children:r}){const l=t==="swim"?{"--scope-lane-width":`${s}px`}:t==="grid"&&o?{gridColumn:`span ${o}`}:void 0;return n.jsx("div",{className:`scope-lane-space${t==="grid"?" is-grid":""}`,style:l,"data-split":e.ids.length,"data-orient":e.orient,"data-grid-span":t==="grid"?o:void 0,children:n.jsx("div",{className:"scope-lane-space__lanes",children:r})})}const ns=[{key:"swim",label:"swim"},{key:"grid",label:"grid"},{key:"floor",label:"floor"}];function as({liveCount:e,horizon:t,horizonLabel:s,layoutMode:o,laneWidth:r,onHorizonChange:l,onLayoutChange:c,onLaneWidthChange:p}){const i=o==="floor";return n.jsxs("header",{className:"scope-lanes-bar",children:[n.jsxs("div",{className:"scope-lanes-bar__summary",children:[n.jsxs("span",{className:"scope-lanes-bar__count",children:[e," lane",e===1?"":"s"]}),n.jsx("span",{className:"scope-lanes-bar__window",children:i?"past 30m · lanes 4h":`window ${s}`})]}),n.jsxs("div",{className:"scope-lanes-bar__controls",children:[n.jsx("div",{className:"scope-lanes-bar__layouts",role:"group","aria-label":"Lane layout",children:ns.map(a=>n.jsx("button",{type:"button",className:`scope-lanes-bar__layout${o===a.key?" is-on":""}`,"aria-pressed":o===a.key,onClick:()=>c(a.key),children:a.label},a.key))}),i?null:n.jsxs(n.Fragment,{children:[n.jsx(je,{value:r,defaultValue:r,onChange:p,label:"Default column width",variant:o==="grid"?"grid":"tier"}),n.jsx("div",{className:"scope-lanes-bar__horizons",role:"group","aria-label":"Activity window",children:K.map(a=>n.jsx("button",{type:"button",className:`scope-lanes-bar__horizon${t===a.key?" is-on":""}`,"aria-pressed":t===a.key,onClick:()=>l(a.key),children:a.label},a.key))})]})]})]})}const U=.22,ce=.46,$=14,V=12,oe={mode:null,before:!0,slotIndex:-1,stackBand:0,targetAgentId:null};function G(e,t){return[...t.querySelectorAll(".scope-lane-space")].indexOf(e)}function is(e){return[...e.querySelectorAll("[data-lane-id]")].map(t=>t.getAttribute("data-lane-id")).filter(t=>!!t)}function z(e){return e?.querySelector("[data-lane-id]")??null}function ke(e,t){const s=e.filter(r=>{const l=r.getBoundingClientRect();return t>=l.top-$&&t<=l.bottom+$});if(!s.length)return[];const o=s[0].getBoundingClientRect().top;return e.filter(r=>Math.abs(r.getBoundingClientRect().top-o)<=$)}function C(e){return{before:!1,stackBand:0,targetAgentId:null,label:"",previewColumn:!1,col:null,...e}}function ls(e,t,s){const o=[...e.querySelectorAll(".scope-lane-space")];if(!o.length)return null;const r=ke(o,s);if(!r.length)return null;const l=r[0].getBoundingClientRect().top,c=Math.max(...r.map(f=>f.getBoundingClientRect().bottom));if(s<l-$||s>c+$)return null;const p=r[0].getBoundingClientRect(),i=G(r[0],e),a=Math.max(V*3,p.width*U);if(t<=p.left+a)return C({mode:"reorder",before:!0,slotIndex:i,slot:r[0],col:z(r[0]),label:"new column",previewColumn:!0});for(let f=0;f<r.length;f+=1){const g=r[f],_=g.getBoundingClientRect(),h=G(g,e),u=r[f+1],d=Math.max(V*3,_.width*U);if(u){const S=u.getBoundingClientRect(),v=_.right-d*.4,b=S.left+d*.4;if(t>=v&&t<=b){const k=(_.right+S.left)/2;if(t<k)return C({mode:"reorder",before:!1,slotIndex:h,slot:g,col:z(g),label:"new column",previewColumn:!0});const y=G(u,e);return C({mode:"reorder",before:!0,slotIndex:y,slot:u,col:z(u),label:"new column",previewColumn:!0})}continue}if(t>=_.right-d)return C({mode:"reorder",before:!1,slotIndex:h,slot:g,col:z(g),label:"new column",previewColumn:!0})}return null}function cs(e,t,s,o,r,l){const c=s.closest(".scope-lane-space");if(!c)return null;const p=s.getBoundingClientRect(),i=c.getBoundingClientRect(),a=G(c,o),f=is(c),g=(t-p.top)/p.height,_=(e-p.left)/p.width,h=(e-i.left)/i.width;if(g<ce){if(h<U)return C({mode:"reorder",before:!0,slotIndex:a,slot:c,col:s,label:"new column",previewColumn:!0});if(h>1-U)return C({mode:"reorder",before:!1,slotIndex:a,slot:c,col:s,label:"new column",previewColumn:!0});const S=_<.5;return C({mode:"reorder",before:S,slotIndex:a,slot:c,col:s,label:"new column",previewColumn:!0})}const u=c.dataset.orient||"row";if(l<=1){const S=_<.5;return C({mode:"reorder",before:S,slotIndex:a,slot:c,col:s,label:"new column",previewColumn:!0})}if(u==="column"&&f.length>=l&&!f.includes(r)){const S=_<.5;return C({mode:"reorder",before:S,slotIndex:a,slot:c,col:s,label:"new column",previewColumn:!0})}const d=ps(c,t);return C({mode:"stack",stackBand:d.band,targetAgentId:s.getAttribute("data-lane-id"),slotIndex:a,slot:c,col:s,label:d.label,stackPreview:d.preview})}function H(e){const t=e.top+e.height*ce;return{top:t,left:e.left,width:e.width,height:Math.max(24,e.bottom-t)}}function he(e,t){return t<=1?e>=1:e>=t}function ps(e,t){const s=e.getBoundingClientRect(),o=[...e.querySelectorAll("[data-lane-id]")];if(!o.length)return{band:0,label:"stack",preview:H(s)};if(o.length===1){const p=o[0].getBoundingClientRect(),i=p.top+p.height*ce,a=p.top+p.height*.5,f=t<a?0:1,g=f===0?{top:i,left:s.left,width:s.width,height:Math.max(18,a-i)}:H(s);return{band:f,label:f===0?"stack above":"stack below",preview:g}}let r=o.length;for(let p=0;p<o.length;p+=1){const i=o[p].getBoundingClientRect();if(t<i.top+i.height/2){r=p;break}}let l;if(he(r,o.length))l=H(s);else if(r===0){const p=o[0].getBoundingClientRect();l={top:p.top,left:s.left,width:s.width,height:Math.max(18,p.height*.5)}}else{const p=o[r-1].getBoundingClientRect(),i=o[r].getBoundingClientRect();l={top:(p.bottom+i.top)/2-10,left:s.left,width:s.width,height:20}}const c=r===0?"stack top":he(r,o.length)?"stack bottom":"stack between";return{band:r,label:c,preview:l}}function ms(e,t,s,o,r){const l=document.elementFromPoint(e,t);if(l&&s.contains(l)){const c=l.closest("[data-lane-id]"),p=c?.getAttribute("data-lane-id");if(c&&p&&p!==o&&!c.classList.contains("is-dragging"))return cs(e,t,c,s,o,r)}return ls(s,e,t)}function ds(e){return e.querySelector(".scope-lane-space")?.getBoundingClientRect().width||360}function us(e){return[e.mode,e.slotIndex,e.before,e.stackBand,e.targetAgentId,e.label,e.previewColumn,e.col?.getAttribute("data-lane-id")].join("|")}function fs(e,t,s,o){const r=t.getBoundingClientRect(),l=s.slot.getBoundingClientRect();if(s.mode==="stack"){const g=s.stackPreview??H(l),_=s.label==="stack below"||s.label==="stack bottom";e.hidden=!1,e.className=`scope-lane-drop is-band${_?" is-bottom-stack":""}`,e.dataset.mode="stack",e.dataset.label=s.label||"",e.style.transform=`translate(${g.left-r.left+t.scrollLeft}px, ${g.top-r.top+t.scrollTop}px)`,e.style.width=`${g.width}px`,e.style.height=`${g.height}px`;return}if(s.previewColumn){const g=ds(t),_=[...t.querySelectorAll(".scope-lane-space")],h=ke(_,l.top+l.height/2),u=(h.length?h:[s.slot]).map(b=>b.getBoundingClientRect()),d=Math.max(...u.map(b=>b.height),l.height),S=Math.min(...u.map(b=>b.top)),v=Math.max(0,s.before?l.left-r.left+t.scrollLeft-g-V/2:l.right-r.left+t.scrollLeft+V/2);e.hidden=!1,e.className="scope-lane-drop is-column",e.dataset.mode="column",e.dataset.label=s.label||"",e.style.transform=`translate(${v}px, ${S-r.top+t.scrollTop}px)`,e.style.width=`${g}px`,e.style.height=`${d}px`;return}const c=s.slot.dataset.orient||"row";let p,i,a,f;c==="column"?(p=l.left-r.left+t.scrollLeft,i=(s.before?l.top:l.bottom)-r.top+t.scrollTop-2,a=l.width,f=3):(p=(s.before?l.left:l.right)-r.left+t.scrollLeft-2,i=l.top-r.top+t.scrollTop,a=3,f=l.height),e.hidden=!1,e.className="scope-lane-drop is-line",e.dataset.mode="reorder",e.dataset.label=s.label||"",e.style.transform=`translate(${p}px, ${i}px)`,e.style.width=`${a}px`,e.style.height=`${f}px`}function re(e,t,s={}){!s.keepIndicator&&t&&(t.hidden=!0,t.className="scope-lane-drop",delete t.dataset.label,delete t.dataset.mode,t.style.transform="",t.style.width="",t.style.height=""),e&&(e.querySelectorAll(".scope-lane-space").forEach(o=>{delete o.dataset.dropZone}),e.querySelectorAll("[data-lane-id].is-drop-target").forEach(o=>{o.classList.remove("is-drop-target"),delete o.dataset.dropZone,delete o.dataset.dropLabel}))}function hs({stackMax:e,onReorder:t,onStack:s,indicatorRef:o}){const r=m.useRef(null),l=m.useRef(null),c=m.useRef(oe),p=m.useRef(""),i=m.useCallback(h=>{r.current?.closest(".scope-lanes")?.classList.toggle("is-dragging",h)},[]),a=m.useCallback(h=>{l.current=h,p.current="",c.current=oe,i(!0)},[i]),f=m.useCallback(()=>{l.current=null,p.current="",c.current=oe,re(r.current,o.current),i(!1)},[o,i]),g=m.useCallback(h=>{const u=l.current;if(!u)return;h.preventDefault(),h.dataTransfer.dropEffect="move";const d=r.current,S=o.current;if(!d||!S)return;const v=ms(h.clientX,h.clientY,d,u,e);if(!v){p.current&&(p.current="",re(d,S));return}const b=us(v);if(b===p.current)return;const k=!!(p.current&&v.mode==="reorder");p.current=b,c.current={mode:v.mode,before:v.before,slotIndex:v.slotIndex,stackBand:v.stackBand??0,targetAgentId:v.targetAgentId??null},re(d,S,{keepIndicator:k}),v.col&&(v.col.classList.add("is-drop-target"),v.col.dataset.dropZone=v.mode,v.label&&(v.col.dataset.dropLabel=v.label)),v.slot.dataset.dropZone=v.mode,fs(S,d,v)},[o,e]),_=m.useCallback(h=>{h.preventDefault();const u=h.dataTransfer.getData("text/plain")||l.current,d=c.current;if(!u||d.slotIndex<0||!d.mode){f();return}d.mode==="stack"?s(u,d.slotIndex,d.stackBand):t(u,d.slotIndex,d.before),f()},[f,t,s]);return m.useEffect(()=>{const h=u=>{u.key!=="Escape"||!l.current||f()};return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[f]),{scrollRef:r,onDragStart:a,onDragEnd:f,scrollDragProps:{onDragEnter:h=>{l.current&&h.preventDefault()},onDragOver:g,onDrop:_}}}const ne=le("lane-spaces"),gs=2,_s=6,B=4;function Ss(e){const t=Number(e);return Number.isFinite(t)?Math.min(_s,Math.max(gs,Math.round(t))):B}function Y(e){if(Array.isArray(e))return{ids:e.filter(s=>typeof s=="string"),orient:"row"};if(e&&typeof e=="object"&&Array.isArray(e.ids)){const t=e;return{ids:t.ids.filter(o=>typeof o=="string"),orient:t.orient==="column"?"column":"row"}}return{ids:[],orient:"row"}}function vs(e,t,s=B){const o=new Set(t),r=new Set,l=[];for(const c of e){const p=Y(c),i=p.ids.filter(g=>o.has(g)&&!r.has(g));if(i.forEach(g=>r.add(g)),!i.length)continue;const a=i.length===1?"row":p.orient,f=a==="column"?s:4;l.push({ids:i.slice(0,f),orient:a})}for(const c of t)r.has(c)||(l.push({ids:[c],orient:"row"}),r.add(c));return l}function ge(e,t,s=B){return t.length?vs(t,e,s):e.map(o=>({ids:[o],orient:"row"}))}function Ce(e,t){return e.map(s=>{const o=Y(s),r=o.ids.filter(l=>l!==t);return r.length?{ids:r,orient:r.length===1?"row":o.orient}:null}).filter(s=>s!==null)}function bs(e,t,s,o){const r=Ce(e,t),l=Math.min(o?s:s+1,r.length);return r.splice(l,0,{ids:[t],orient:"row"}),r}function Ls(e,t,s,o,r=B){const l=Ce(e,t),p=[...Y(l[s]??{ids:[],orient:"row"}).ids],i=Math.min(Math.max(0,o),p.length);p.splice(i,0,t);const a=p.slice(0,r);return l[s]={ids:a,orient:a.length>1?"column":"row"},l}function xs(){try{const e=sessionStorage.getItem(ne);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.map(Y).filter(s=>s.ids.length>0):[]}catch{return[]}}function ws(e){try{if(!e.length){sessionStorage.removeItem(ne);return}sessionStorage.setItem(ne,JSON.stringify(e))}catch{}}function Ns(e,t=B){const s=m.useMemo(()=>e.map(u=>u.lane.id),[e]),o=m.useMemo(()=>new Map(e.map(u=>[u.lane.id,u])),[e]),[r,l]=m.useState(()=>xs()),[c,p]=m.useState(()=>r.length>0),i=m.useMemo(()=>c?ge(s,r,t):ge(s,[],t),[s,c,t,r]);m.useEffect(()=>{c&&ws(i)},[c,i]);const a=m.useCallback(u=>{p(!0),l(u)},[]),f=m.useCallback((u,d,S)=>{a(bs(i,u,d,S))},[a,i]),g=m.useCallback((u,d,S,v=t)=>{a(Ls(i,u,d,S,v))},[a,i,t]),_=m.useMemo(()=>i.map(u=>({space:u,columns:u.ids.map(d=>o.get(d)).filter(d=>d!==void 0)})).filter(u=>u.columns.length>0),[o,i]),h=m.useMemo(()=>_.flatMap(u=>u.columns),[_]);return{spaces:i,resolvedSpaces:_,flatColumns:h,reorderLane:f,stackLane:g,stackMax:Ss(t)}}function ys({lanes:e,onOpenTrace:t,onHorizonChange:s}){const[o,r]=m.useState(-1),l=m.useRef(new Map);m.useEffect(()=>{if(o<0)return;if(o>=e.length){r(e.length-1);return}const i=e[o];if(!i)return;const a=l.current.get(i.id);a?.scrollIntoView({block:"nearest",inline:"nearest"}),a?.focus()},[o,e]);const c=m.useCallback((i,a)=>{a?l.current.set(i,a):l.current.delete(i)},[]);m.useEffect(()=>{const i=a=>{if(!document.querySelector(".scope-lanes")||kt(a.target)||Ct()||e.length===0)return;const f=Number(a.key)-1;if(!a.metaKey&&!a.ctrlKey&&!a.altKey&&f>=0&&f<K.length){a.preventDefault(),s(K[f].key);return}if(a.key==="ArrowRight"||a.key==="ArrowDown"||a.key==="j"){a.preventDefault(),r(g=>de(g,e.length,1));return}if(a.key==="ArrowLeft"||a.key==="ArrowUp"||a.key==="k"){a.preventDefault(),r(g=>de(g,e.length,-1));return}if(a.key==="Home"||a.key==="g"&&!a.shiftKey){a.preventDefault(),r(0);return}if(a.key==="End"||a.key==="G"){a.preventDefault(),r(e.length-1);return}if(a.key==="Enter"||a.key===" "){const g=o<0?0:o,_=e[g];if(!_)return;a.preventDefault(),r(g),t(_,_.observe?.events?.at(-1))}};return window.addEventListener("keydown",i),()=>window.removeEventListener("keydown",i)},[o,e,s,t]);const p=m.useCallback((i,a)=>({"data-cursor":o===i?!0:void 0,tabIndex:o===i?0:-1,ref:f=>c(a,f),onFocus:()=>r(i)}),[o,c]);return{focusedIndex:o,getLaneFocusProps:p}}const Ee=4;function Ae(e){switch(e){case"sm":return 1;case"md":return 2;case"lg":return Ee}}function js(e,t){if(e==="sm"||e==="md"||e==="lg")return e;if(typeof e=="number"&&Number.isFinite(e)){const{tier:s,px:o}=Ue(e);if(s)return s;let r=t,l=Number.POSITIVE_INFINITY;for(const[c,p]of Object.entries(Ve)){const i=Math.abs(p-o);i<l&&(l=i,r=c)}return r}return t}function ks(e,t){return Ae(js(e,t))}function Cs(e,t){return e.length?Math.max(...e.map(s=>ks(s,t))):Ae(t)}const ae=le("lanes-layout");function Ie(e){return e==="swim"||e==="grid"||e==="floor"}function Es(){try{const e=sessionStorage.getItem(ae);if(Ie(e))return e}catch{}return"swim"}function _e(){if(typeof window>"u")return null;const e=new URLSearchParams(window.location.search).get("layout")?.trim().toLowerCase();return Ie(e)?e:null}function As(){const[e,t]=m.useState(()=>_e()??Es()),s=m.useCallback(o=>{t(o);try{sessionStorage.setItem(ae,o)}catch{}typeof window>"u"||qe({searchPatch:{layout:o==="swim"?null:o},replace:!0})},[]);return m.useEffect(()=>{const o=_e();if(o&&o!==e){t(o);try{sessionStorage.setItem(ae,o)}catch{}}},[e]),{layoutMode:e,setLayoutMode:s}}function Is({message:e}){return n.jsx("li",{className:"scope-lanes__issue",children:n.jsx("span",{className:"scope-lanes__issue-msg",children:e})})}function Ts({navigate:e,agents:t}){const s=q(),{layoutMode:o,setLayoutMode:r}=As(),l=o==="floor",{now:c,horizon:p,setHorizon:i,horizonLabel:a,traceWindowMs:f,lanes:g,layout:_,deck:h,setLaneWidth:u,setDefaultLaneWidth:d,activeFilterLabel:S,issues:v,tailLoading:b}=ye({scoutAgents:t,defaultWidthTier:"md",horizonOverride:l?"4h":void 0}),{resolvedSpaces:k,flatColumns:y,reorderLane:T,stackLane:E,stackMax:R}=Ns(_.flat),w=o==="grid",[A,D]=m.useState(null),O=m.useRef(null),{scrollRef:W,onDragStart:Z,onDragEnd:J,scrollDragProps:X}=hs({stackMax:R,onReorder:T,onStack:E,indicatorRef:O}),L=m.useCallback(x=>{W.current=x},[W]),N=m.useCallback((x,M)=>{const P=M??x.observe?.events?.at(-1);P&&D({lane:x,event:P})},[]),I=m.useMemo(()=>{const x=new Map;return y.forEach((M,P)=>x.set(M.lane.id,P)),x},[y]),{getLaneFocusProps:Q}=ys({lanes:y.map(x=>x.lane),onOpenTrace:N,onHorizonChange:i}),ee=m.useMemo(()=>b?"Loading sessions…":S?`No lanes match ${S} in the last ${a}.`:`No sessions with recent work in the last ${a}.`,[S,a,b]);return n.jsxs("div",{className:`scope-lanes${o==="grid"?" is-grid":""}`,"data-scope-presentation":!0,"data-scope-view":"lanes","data-scope-layout":o,"data-grid-cols":w?Ee:void 0,style:{"--scope-lane-stack-max":String(R)},...s,children:[n.jsx(as,{liveCount:l?g.length:y.length,horizon:p,horizonLabel:a,layoutMode:o,laneWidth:h.defaultLaneWidth,onHorizonChange:i,onLayoutChange:r,onLaneWidthChange:d}),v.length>0?n.jsx("div",{className:"scope-lanes__issues",role:"status","aria-live":"polite",children:n.jsx("ul",{className:"scope-lanes__issues-list",children:v.map(x=>n.jsx(Is,{message:x.message},x.id))})}):null,(l?g.length:y.length)===0?n.jsx("div",{className:"scope-lanes__empty",children:ee}):l?n.jsx(jt,{lanes:g,now:c,onOpenTrace:N}):n.jsx("div",{className:"scope-lanes__canvas",role:"listbox","aria-label":"Session lanes",children:n.jsxs("div",{ref:L,className:`scope-lanes__scroll${o==="grid"?" is-grid":""}`,...X,children:[k.map((x,M)=>{const P=x.space.orient==="column"&&x.columns.length>1,Te=Math.max(...x.columns.map(j=>j.widthPx)),Re=w?Cs(x.columns.map(j=>h.laneWidths[j.lane.id]??h.defaultLaneWidth),h.defaultLaneWidth):void 0;return n.jsx(rs,{space:x.space,layoutMode:o,widthPx:Te,gridSpan:Re,children:x.columns.map(j=>{const De=I.get(j.lane.id)??0;return n.jsx(os,{lane:j.lane,layoutMode:o,compact:P,laneWidth:h.laneWidths[j.lane.id]??h.defaultLaneWidth,defaultLaneWidth:h.defaultLaneWidth,onLaneWidthChange:te=>u(j.lane.id,te),nowMs:c,traceWindowMs:f,traceWindowLabel:a,onOpenTrace:N,onTraceEventSelect:N,onDragStart:Z,onDragEnd:J,onDragKeyMove:te=>{T(j.lane.id,M,te==="before")},focusProps:Q(De,j.lane.id)},j.key)})},x.space.ids.join(":"))}),n.jsx("div",{ref:O,className:"scope-lane-drop","aria-hidden":"true",hidden:!0})]})}),A?n.jsx(we,{target:A,onClose:()=>D(null)}):null]})}const Rs=1e4;function Ds({route:e,navigate:t}){const s=q(),[o,r]=m.useState(null),[l,c]=m.useState(null),p=m.useCallback(async()=>{c(null);try{r(await Et("/api/tail/discover"))}catch(f){c(f instanceof Error?f.message:String(f))}},[]);m.useEffect(()=>{p();const f=setInterval(()=>{p()},Rs);return()=>clearInterval(f)},[p]);const i=o?.transcripts?.length??0,a=o?.processes?.length??0;return e.sessionId?n.jsx("div",{className:"scope-sessions-route","data-scope-view":"sessions",...s,children:n.jsx(It,{sessionRef:e.sessionId,navigate:t})}):n.jsx("div",{className:"scope-sessions-route","data-scope-view":"sessions",...s,children:n.jsxs("div",{className:"scope-sessions",children:[n.jsx("header",{className:"scope-sessions__bar",children:n.jsxs("div",{className:"scope-sessions__summary",children:[n.jsxs("span",{className:"scope-sessions__count",children:[i," session",i===1?"":"s"]}),a>0?n.jsxs("span",{className:"scope-sessions__live",children:[a," active"]}):null,l?n.jsx("span",{className:"scope-sessions__warn",children:"discovery error"}):null]})}),n.jsx("div",{className:"scope-sessions__body",children:n.jsx("div",{className:"scope-sessions__atop",children:n.jsx(At,{navigate:t})})})]})})}function Ps({navigate:e,tailQuery:t}){const s=q();return n.jsx("div",{className:"scope-tail-route","data-scope-view":"tail",...s,children:n.jsxs("div",{className:"scope-tail",children:[n.jsx("header",{className:"scope-tail__bar",children:n.jsxs("div",{className:"scope-tail__summary",children:[n.jsx("span",{className:"scope-tail__count",children:"tail"}),n.jsx("span",{className:"scope-tail__hint",children:"live event stream"}),t?n.jsxs("span",{className:"scope-tail__query",title:t,children:["q=",t]}):null]})}),n.jsx("div",{className:"scope-tail__body",children:n.jsx("div",{className:"scope-tail__stream",children:n.jsx(Tt,{navigate:e,initialFilter:t,variant:"tail",chrome:"embedded"})})})]})})}function Os(e,t,s,o){if(!Ye(o))return null;const r=Ze(e);if(!r)return null;switch(r){case"lanes":return n.jsx(Ts,{navigate:t,agents:s});case"tail":return e.view!=="ops"||e.mode!=="tail"?null:n.jsx(Ps,{navigate:t,tailQuery:e.tailQuery});case"sessions":return e.view!=="sessions"?null:n.jsx(Ds,{route:e,navigate:t});case"agents":return e.view!=="agents-v2"||tt(e)?null:n.jsx(Xt,{navigate:t,agents:s});default:return null}}function Ms(){const{route:e,navigate:t,agents:s}=ve(),{pathname:o}=Je(),r=Os(e,t,s,o);return n.jsx(Qe,{children:r??et(e,t,s)})}function $s(){const{route:e,navigate:t}=ve();return Ot({className:"scout-nav-tabs scout-nav-tabs--scope",brandTag:Xe,items:Oe,activeKey:Pe(e),navigate:t})}function Fs(){const e=ie(),t=Rt(),s=$s();return Se("nav.sidebar",!1)?null:e?s:t}function Bs(){const e=ie(),t=Dt();return Se("nav.sidebar",!1)?null:e?m.createElement("div",{className:"scout-nav-actions"}):t}function Ws(){const e=ie(),t=Pt();return e?{active:!1,dismissible:!0}:t}function up(e){e.slots.Content=Ms,e.hooks.useNavCenter=Fs,e.hooks.useNavActions=Bs,e.hooks.useTakeover=Ws}export{Xe as SCOPE_BRAND_LABEL,gp as SCOPE_ENABLE_HINTS,Mp as SCOPE_FLAG_BUNDLE,$p as SCOPE_FLAG_BUNDLE_ALIASES,Fp as SCOPE_FLAG_KEY,Lp as SCOPE_FLAG_REGISTRY_KEY,xp as SCOPE_LANE_DECK_DEFAULTS,Ke as SCOPE_LANE_DECK_PROFILE,Bp as SCOPE_LEGACY_FLAG_BUNDLE,Wp as SCOPE_LEGACY_FLAG_KEY,zp as SCOPE_LEGACY_PATH_PREFIX,Gp as SCOPE_LEGACY_PATH_SEGMENT,Hp as SCOPE_PATH_PREFIX,Kp as SCOPE_PATH_SEGMENT,Up as SCOPE_ROUTE_SEGMENTS,Vp as SCOPE_STORAGE_PREFIX,Oe as SCOPE_TOP_NAV_ITEMS,Ms as ScopeAppContent,Xt as ScopeDirView,os as ScopeLaneColumn,Wt as ScopeLaneDetailView,we as ScopeLaneTraceSheet,as as ScopeLanesBar,Ts as ScopeLanesView,wp as buildScopePath,Np as buildScopeRoutePath,qp as canonicalizeScopePathname,_p as isScopeOnboardingExempt,Ye as isScopePath,yp as isScopePresentation,jp as parseScopeRouteFromUrl,kp as preserveLocationSearch,Os as resolveScopeContentPane,Cp as routeBelongsInScopeNamespace,Ze as routeToScopeSegment,Ep as scopeInstrumentBundleLayer,Ap as scopeLaneDeckProfileId,Ip as scopePresentationAttrs,Sp as scopePresentationTitle,Tp as scopeRoutePath,le as scopeStorageKey,Rp as scopeSurfaceFlagDefinition,Pe as scopeTopNavKeyForRoute,Dp as scopeViewSegment,Pp as segmentToRoute,ie as useScopePresentation,q as useScopePresentationAttrs,vp as useScopeShellChrome,up as wireScopeOntoScout};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as r}from"./index-BFbLvCJn.js";var o=r();export{o as r};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as i}from"./index-
|
|
1
|
+
import{j as i}from"./index-BFbLvCJn.js";import{c as m,T as p}from"./TextDocumentSurface-DBslUq9k.js";import{C as f}from"./chevron-right-B02kAw12.js";import{F as v}from"./folder-C2emmTHq.js";import{F as h}from"./file-text-BOJQiS8p.js";const x={id:"audio",canHandle:e=>e.kind==="file"&&e.mediaType.startsWith("audio/"),render:({resource:e})=>{const a=e;return i.jsx("div",{className:"s-file-preview-media-wrap",children:i.jsx("div",{className:"s-file-preview-audio-stage",children:i.jsx("audio",{className:"s-file-preview-audio",src:a.rawUrl,controls:!0})})})}},w={id:"binary",canHandle:()=>!0,render:({resource:e})=>{const a=e;return i.jsxs("div",{className:"s-file-preview-callout",children:[i.jsxs("div",{className:"s-file-preview-callout-title",children:[a.previewReason," — open in OS"]}),i.jsxs("div",{className:"s-file-preview-callout-copy",children:["Scout can resolve this file, but it does not have an inline preview for ",a.mediaType," yet."]})]})}},u=new Set(["text/typescript","text/javascript","text/css","text/html","application/json","text/yaml","text/toml","text/x-shellscript","text/plain"]),j={id:"code",canHandle:e=>e.kind==="file"&&e.previewable&&u.has(e.mediaType),render:({resource:e})=>{const a=e,r=m({id:a.realPath,title:a.title,uri:a.realPath,mediaType:a.mediaType,value:a.content,filename:a.title,kind:"code",readOnly:!0});return i.jsx(p,{document:r,mode:"read",className:"s-doc-focus-document"})}},y={id:"directory",canHandle:e=>e.kind==="directory",render:({resource:e,openFilePreview:a})=>{const r=e,l=b(r.realPath,r.rootPath);return i.jsxs("div",{className:"s-file-preview-directory",children:[i.jsx("div",{className:"s-file-preview-breadcrumb","aria-label":"Directory breadcrumb",children:l.map((t,s)=>{const n=s===l.length-1;return i.jsxs("div",{className:"s-file-preview-breadcrumb-item",children:[s>0&&i.jsx(f,{size:12,"aria-hidden":"true"}),n?i.jsx("span",{className:"s-file-preview-breadcrumb-current",children:t.label}):i.jsx("button",{type:"button",className:"s-file-preview-breadcrumb-link",onClick:()=>a(t.path),children:t.label})]},t.path)})}),i.jsxs("div",{className:"s-file-preview-directory-list",role:"list",children:[r.entries.map(t=>i.jsxs("button",{type:"button",className:"s-file-preview-entry",onClick:()=>a(t.path),children:[i.jsx("span",{className:"s-file-preview-entry-icon","aria-hidden":"true",children:t.kind==="directory"?i.jsx(v,{size:14}):i.jsx(h,{size:14})}),i.jsx("span",{className:"s-file-preview-entry-name",children:t.name}),i.jsx("span",{className:"s-file-preview-entry-kind",children:t.kind==="directory"?"dir":"file"})]},t.realPath)),r.entries.length===0&&i.jsx("div",{className:"s-file-preview-directory-empty",children:"This directory is empty."})]})]})}};function b(e,a){const r=a==="/"?"/":a.replace(/\/+$/u,""),l=e==="/"?"/":e.replace(/\/+$/u,""),t=r.split("/").filter(Boolean),s=l.split("/").filter(Boolean),n=[{label:t[t.length-1]??"/",path:r||"/"}];let d=r||"/";for(let o=t.length;o<s.length;o+=1){const c=s[o];c&&(d=d==="/"?`/${c}`:`${d}/${c}`,n.push({label:c,path:d}))}return n}const N={id:"html",canHandle:e=>e.kind==="file"&&e.previewable&&e.mediaType==="text/html",render:({resource:e})=>i.jsx("div",{className:"s-file-preview-html-wrap",children:i.jsx("iframe",{className:"s-file-preview-html-frame",src:e.kind==="file"?e.rawUrl:"",title:e.title,sandbox:"allow-forms allow-popups allow-popups-to-escape-sandbox allow-scripts",referrerPolicy:"no-referrer"})})},k={id:"image",canHandle:e=>e.kind==="file"&&e.mediaType.startsWith("image/"),render:({resource:e})=>i.jsx("div",{className:"s-file-preview-image-wrap",children:i.jsx("div",{className:"s-file-preview-image-stage",children:i.jsx("img",{className:"s-file-preview-image",src:e.kind==="file"?e.rawUrl:"",alt:e.title})})})},T={id:"markdown",canHandle:e=>e.kind==="file"&&e.previewable&&e.mediaType==="text/markdown",render:({resource:e})=>{const a=e,r=m({id:a.realPath,title:a.title,uri:a.realPath,mediaType:a.mediaType,value:a.content,filename:a.title,kind:"markdown",readOnly:!0});return i.jsx(p,{document:r,mode:"preview",className:"s-doc-focus-document"})}},g={id:"video",canHandle:e=>e.kind==="file"&&e.mediaType.startsWith("video/"),render:({resource:e})=>{const a=e;return i.jsx("div",{className:"s-file-preview-media-wrap",children:i.jsx("div",{className:"s-file-preview-media-stage",children:i.jsx("video",{className:"s-file-preview-video",src:a.rawUrl,controls:!0})})})}},z=[y,T,N,j,k,g,x,w];export{z as f};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as t,r as n,T as K,U as V,y as X,V as Q}from"./index-BFbLvCJn.js";import{u as v,h as Z}from"./Provider-BEXAZWd9.js";import{resolveContentPane as tt,resolveRightPane as et,resolveLeftPane as ot}from"./resolve-panes-wzGu9d8o.js";import{S as rt}from"./ScoutSurface-BvFRdce6.js";import{k as $}from"./router-CJIx83Ia.js";import{S as W}from"./RealtimeVoiceScreen-BU5KmlNo.js";import{BrokerRight as it}from"./right-CAd7lTvY.js";import{OpsInspectorPanel as nt}from"./inspector-panel-BgU5xUln.js";import{b as st,u as at}from"./persistent-state-3mbBFRDO.js";import{M as pt}from"./MeshCanvasMinimap-BrscEPAH.js";import{e as mt}from"./nav-destinations-B3R5zxFX.js";import{u as ct}from"./Terminal-D0PanmIk.js";import{T as lt}from"./chunk-JTPDIGGW-hdpdYwXb.js";import{a as E}from"./api-DSqpVKC7.js";import{i as dt,f as U}from"./machine-scope-DJt9RZ2w.js";import{u as ut,a as gt,b as ht,c as ft,d as yt,e as vt}from"./hooks-JNwYSH18.js";import{T as bt}from"./chunk-HRAB3GC3-DVhUsgOw.js";import"./theme-vars-DNK0nn3k.js";import"./sse-BVxO0zNp.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./agent-state-DDhnFEEP.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-D-VB5vdt.js";import"./runtime-picker-IRcTkMZ5.js";import"./scout-voice-Cdh6pCsb.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CCG7hG7z.js";import"./createLucideIcon-CKbjXlwv.js";import"./media-blobs-Bi8pxr1u.js";import"./index-CXzJ_hGx.js";import"./HarnessMark-CP-PWk2W.js";import"./conversation-model-FxDeWlle.js";import"./time-Dhsh_2EG.js";import"./conversations-DoAAO6kA.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-BYsEu9dZ.js";import"./keyboard-nav-CEe-ApvZ.js";import"./x-BcfhXYiF.js";import"./chevron-down-DEDSNJNY.js";import"./search-Bv2IONmc.js";import"./file-text-BOJQiS8p.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-mxzPxQQW.js";import"./TextDocumentSurface-DBslUq9k.js";import"./index-V8FYEUpD.js";import"./chevron-right-B02kAw12.js";import"./folder-C2emmTHq.js";import"./chevron-up-CzveykKG.js";import"./code-xml-E9gBuiVs.js";import"./arrow-left-DNjQHf4C.js";import"./arrow-right-A_yyXwoH.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./content-CPchclaV.js";import"./ActivityScreen-C1H-vL0L.js";import"./clipboard-e3fSpeo7.js";import"./mentions-s5oW4aQU.js";import"./AgentDetailCard-CI-ufaEP.js";import"./AgentLiveActions-CkRGkv13.js";import"./terminal-takeover-CXwdoZ5j.js";import"./openContent-C6XO6kr5.js";import"./eye-CD-_aphP.js";import"./terminal-DMBAZjPP.js";import"./SessionHopMenu-DX6PJPNk.js";import"./terminal-sessions-3RfJpen8.js";import"./external-link-Df1R34rX.js";import"./EmptyState-DLiLgtPK.js";/* empty css */import"./synthetic-agent-routing-aduMYO7P.js";import"./left-CemrfeSs.js";/* empty css */import"./AgentAvatar-Dn8TUv5W.js";import"./SpriteAvatar-D53GaaK3.js";import"./CrewAvatar-a_C_F9r_.js";import"./content-BHV-ZU8_.js";import"./AgentInfoScreen-BnRhfcFy.js";/* empty css *//* empty css */import"./BackToPicker-BPU7kbXq.js";import"./CrewStage-IPpS3Oja.js";import"./ObservedTopologyPanel-Ci7emnnj.js";import"./AgentsScreen-C17BFqjf.js";/* empty css */import"./AgentsSubnav-_1GVC4hj.js";import"./SecondaryNav-1FjBDWuY.js";import"./secondaryNavConfig-Bmb-oRvD.js";import"./message-square-BwqBIfv5.js";import"./compass-EmGkpxIe.js";import"./settings-bo9X410k.js";import"./git-branch-C45vy8qT.js";import"./scroll-text-CA0QxBHu.js";import"./library-CnC8uzJt.js";/* empty css */import"./AgentSessions-ghjQcSrh.js";import"./profile-B7ZGToTo.js";import"./context-budget-8qFKqM-j.js";import"./session-catalog-Dx4tl3sx.js";import"./terminal-relay-CpGHpDa8.js";import"./ConversationScreen-Pzxy9x4m.js";import"./ComposerAttachments-9uYp_Lh5.js";import"./message-markup-D1C7GzHo.js";import"./message-markup-BQW5jdJw.js";import"./message-visibility-DwxgcgYK.js";import"./operator-attention-DBaRg5ep.js";import"./sessionRead-CvFz2RHv.js";import"./MessageEmbeds-B-FbWI7a.js";import"./types-B0PlfpKc.js";/* empty css */import"./ConversationHeader-L9738YVP.js";import"./AstronautSuit-Dzu4GOMR.js";import"./panel-right-WKLdPm0F.js";import"./CommsFlowGraph-Cc48o9u_.js";import"./comms-gesture-_aGFo6g3.js";import"./CommsCanvas-Dh056d91.js";import"./comms-deck-CBhsXnY-.js";import"./CommsFlowMap-Ckasql5e.js";import"./CommsSelection-CuphnUny.js";/* empty css */import"./use-conversation-list-CGtcpdPd.js";import"./agent-master-model-Bk_yuUXJ.js";import"./use-beside-DopIbJwf.js";import"./ConversationComposer-hYtLurqy.js";import"./zap-BqL8ttGz.js";import"./ConversationFeedRows-Bu0ZJcy8.js";import"./ConversationPanels-D6KuqvGu.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";import"./use-reduced-motion-DkdIQBwh.js";import"./proxy-k0ILOVkK.js";import"./activity-CXkZ620t.js";import"./message-circle-BB3rFCVD.js";import"./tail-events-C6NWFB1N.js";import"./ConversationStatus-BEefIbXq.js";import"./check-BM6QtbB7.js";import"./sparkles-Br-bA2aZ.js";import"./triangle-alert-BZikHKuT.js";import"./SessionContextStrip-BoiIxXvS.js";import"./SessionObserve-Dw3bVQYF.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-Czggx8oM.js";import"./LaneToolHoverCard-B8Am_1DC.js";import"./lane-observe-CteDwdD-.js";import"./lane-ask-display-BTVSakyo.js";import"./ObserveTextFlow-C0oQEerY.js";import"./SessionObserveEvidence-uD1OX-R5.js";import"./wrench-C-wjicn5.js";import"./AgentDefinitionsWorkspace-BzcBdC_s.js";import"./agent-specialization-DYX_DSlY.js";import"./project-overview-helpers-BQTc_Ous.js";import"./FileViewerPane-Dc7AoVod.js";/* empty css */import"./agent-essentials-DnfdGmIX.js";/* empty css */import"./right-DsE4aR3A.js";import"./openAgent-Dbv5wfuL.js";import"./TmuxPeek-Ctw5yYO5.js";import"./refresh-cw-BcqctLqo.js";import"./ProjectsRail-BhSaqbv0.js";import"./AddProjectForm-4sVXmjfN.js";import"./projects-inbox-CMFBjQt0.js";import"./ProjectsScreen-CSb7nwjb.js";import"./ProjectsInbox-B7kap8nR.js";import"./ui-LM8pS8qE.js";import"./SessionRefScreen-Ch9H-qVk.js";import"./session-ref-lookup-state-SATH_jAP.js";/* empty css */import"./CrewWorkspaces-BTPtcEcx.js";import"./plus-B0hdY0fF.js";import"./useEmbedHeadline-BeeBDb7E.js";import"./api-BQYTwoz6.js";import"./cache-DGBo3vIf.js";import"./arrow-up-right-DUW1A1Hb.js";import"./ProjectAgentProfile-B1VqGSmu.js";import"./ProjectAgentProfileBar-DhVU7zew.js";import"./ProjectsThreadAside-pEJutIO8.js";import"./content-srNyLgDt.js";import"./BriefingDetailScreen-CTvFw523.js";import"./scoutbot-markdown-7PRQHaAc.js";/* empty css */import"./BriefingsScreen-DpVC3OUk.js";import"./content-iWBSSXa6.js";import"./BrokerScreen-CqKsBwEx.js";import"./status-tone-BM_zuRy1.js";import"./broker-display-BkBzyvbR.js";import"./BrokerMetadataPanel-glRVdwkU.js";import"./DispatchAftermath-CoAYaL3B.js";import"./follow-route-BvcGtBIL.js";import"./ShikiPane-CDiIT_qn.js";import"./arrow-down--OUDFWIq.js";import"./paperclip-DLf_ABSv.js";import"./send-horizontal-_Tf_It04.js";import"./copy-C1XrY27_.js";import"./radio-Bjqmv997.js";import"./left-BP5P8lzw.js";import"./conversation-prefs-DNre-Lcx.js";import"./use-fleet-active-asks-DAHOPYPV.js";import"./sessions-view-lGMwwZY7.js";import"./RailRow-Ddz90weI.js";/* empty css */import"./content-BI9yWpWC.js";import"./MessagesScreen-hq7D3Lfi.js";import"./AgentMasterScreen-CijN_4tN.js";/* empty css */import"./CommsDeck-CRXKIerH.js";import"./right-Cc57bCTW.js";import"./CodeScreen-BN4TkiR0.js";import"./CodeDiffPane-DCgMUi39.js";import"./usePierreRuntime-DUXZ-DTK.js";/* empty css */import"./CodeProjectPicker-Dq787L77.js";/* empty css */import"./content-CVqPTQnr.js";import"./FollowScreen-DFVSlsQV.js";import"./content-BXTmYOPB.js";import"./HarnessesScreen-j-91IoOo.js";import"./useContentSecondaryNav-LJGNYG3U.js";import"./OpsSubnav-CjMVj7Sk.js";/* empty css */import"./left-DdMMaqFT.js";import"./content-BP3cQkAj.js";import"./HomeHero-g4H3Ctxg.js";import"./TailView-B44cSuyl.js";import"./SlidePanel-D5oPQocF.js";import"./observe-M3rLosT5.js";import"./agent-lanes-model-DMAdqCmK.js";import"./home-moving-signal-BiiyEKEb.js";import"./home-live-action-BkqGLVRY.js";import"./cpu-DVZ_LhPn.js";import"./file-code-corner-DtMWHBN3.js";import"./right-BHZq648O.js";import"./left-B66YR0c5.js";import"./mesh-view-store-CVqzYz4K.js";import"./machine-children-DvCiQxwA.js";import"./use-mesh-node-state-BlWIPTc4.js";import"./NodeMenu-BgJMmffZ.js";import"./content-C3DZ77HZ.js";import"./MeshScreen-CAtRB8K6.js";import"./MeshCanvas-DzkuY_XI.js";import"./chunk-T65CQEWV-G_Z0lqtn.js";import"./useAgentHoverCard-DNlXPYQf.js";import"./local-agents-BMcFlY_x.js";/* empty css */import"./right-zlkRjnkv.js";import"./NodeDetailPanel-9NaEnZAQ.js";import"./left-DcYA26sH.js";import"./mesh-ops-9SzD3sPw.js";import"./use-mesh-ops-items-pKWBro7o.js";import"./content-BRY-UTkP.js";import"./use-scout-dev-flags-CduUFb7l.js";import"./right-DfU47xKY.js";import"./left-CaY5FK2k.js";import"./left-agents-DowYF2ag.js";import"./left-default-Bifaeg_V.js";import"./left-lanes-BGhjdqpD.js";import"./lane-roster-store-MraynTHP.js";import"./left-mission-CvXPUovR.js";import"./mission-control-store-e8F85JhP.js";import"./MissionLeftAgentRow-CB3cgeYr.js";import"./page-status-BIuh3C5p.js";import"./left-advisor-DBml48M5.js";import"./server-U_l8A83n.js";import"./layers-ClmyjwpB.js";import"./gauge-BR5CrhRM.js";import"./content-BLVuukzF.js";import"./OpsScreen-C955zgr3.js";/* empty css */import"./AgentLanesView-CiISx7pu.js";/* empty css */import"./AgentFloorView-D8tlGlgy.js";import"./AgentAdventures-5yBt-Zl3.js";import"./ReplayClock-wLpb4VqN.js";import"./SproutActionSprite-BrFCmgWS.js";/* empty css */import"./CrewSprite-CguHb2Ny.js";import"./adventure-playback-DTfkhIc0.js";import"./AdventureScenery-CGEcG0zV.js";import"./adventure-habitats-v1-M1lcpTJh.js";import"./AdventureReader-BICypcDY.js";import"./floor-preview-text-HrORUJ7D.js";/* empty css */import"./book-open-B_idZgTF.js";import"./ReplayLog-IUyQdklN.js";import"./AdventureEvidence-D5wq1vu8.js";import"./agent-lane-detail-Ti3trpfH.js";/* empty css *//* empty css */import"./flag-CeKO8NoD.js";import"./pause-7mmEEvVx.js";import"./play-N5-hnPCV.js";import"./SharedWorkFloor-H-e2TVj9.js";import"./WorldMinimap-DL12pBw3.js";import"./WorldSky-BlPNvGLo.js";import"./WorldActorTalk-CHhFTiQV.js";import"./send-to-agent-session-CWDHHgFB.js";import"./FloorExchangePanel-DsG1cRzu.js";import"./floor-character-name-CqJPOlXb.js";import"./floor-message-passes-CO3Ix_wR.js";import"./shared-work-artifacts-DfNl9KTo.js";import"./floor-memory-YMM8AlLY.js";import"./CharacterFamilyPreview-Bj8oMD-5.js";import"./RenderedWorkerSprite-BNhFXMIo.js";import"./FloorMessagePasses-Cm3LbkHd.js";import"./WorkRunView-DLIzAsc3.js";import"./floor-context-model-rWKqaKmV.js";import"./agent-floor-actor-DW8zLht0.js";import"./SharedFloorCharacter-dnamlt1p.js";import"./WorldCharacter-CJGx2DVy.js";import"./RiggedWorkerCharacter-CF6fhzGd.js";import"./FloorReplay-Bg7kA-tR.js";import"./AgentFloorWorld-DqmnQexg.js";/* empty css */import"./agent-floor-world-layout-hfMjuoui.js";import"./coffee-D0YEK6-l.js";/* empty css */import"./FloorTacticalHUD-4d-Hr-YL.js";import"./FloorSavedWork-BDOvV3mA.js";import"./pin-q_0gAA6i.js";/* empty css */import"./FloorResourcesSheet-Ba9HubO2.js";/* empty css *//* empty css */import"./FloorContextSheet-BfrXNoBn.js";import"./session-recap-lanes-D-eVJnpY.js";import"./AgentLanesPreflight-BQfj2twF.js";import"./AgentLaneChrome-RptImDFc.js";import"./AgentLaneCard-pppHFROz.js";/* empty css */import"./AgentLaneSummaryResize-DaIgwyVh.js";import"./agent-lane-card-model-CeqQGp-8.js";import"./agent-lane-preview-Dpa3DuOn.js";import"./AgentLaneDetailSheet-BqbwGskh.js";import"./LaneTraceDetailSheet-CngYIxdI.js";import"./LaneTraceEventFocus-BRR_jcl9.js";import"./MissionControlView-D6gbMrgx.js";/* empty css */import"./MissionContextRail-ClR8amG1.js";import"./mission-wall-CAo4BKfa.js";import"./mission-control-model-BpJHDV5D.js";import"./MissionFocusOverlay-CzeNgI9Q.js";import"./MissionLogPane-2PMEoG44.js";import"./OpsAgentsView-DVotOMg2.js";/* empty css */import"./DataTable-DnL_8SAu.js";/* empty css */import"./sliders-horizontal-CPSx6wd2.js";import"./HostAdvisorView-Cyt3b5Fq.js";/* empty css */import"./layout-grid-DG2-JaPn.js";import"./AtopView-DJK5b3lZ.js";import"./FleetRollCallHud-VhpxVcGO.js";import"./session-recap-queue-GeicPLsQ.js";/* empty css */import"./content-DK1KeRPw.js";import"./RepoDiffPageScreen-B9oAjrC6.js";import"./RepoDiffViewerLazy-DL6A2o_z.js";import"./ReposScreen-D-E7fSAB.js";/* empty css */import"./selection-bridge-CthAuPRw.js";import"./right-BNJzCaH9.js";import"./content-CjAERU44.js";import"./KnowledgeSearchScreen-DC8yX-kA.js";/* empty css */import"./clock-8tb9t2t9.js";import"./KnowledgeSearchInspector-BbOQIqdF.js";import"./content-B-rn1rka.js";import"./SessionsScreen-DUeP23Xy.js";import"./RawSessionsTable-TdKlJIPl.js";import"./FlightObserveScreen-C1kASP3J.js";/* empty css */import"./right-DY49Prjj.js";import"./content-ryJeaQk8.js";import"./SettingsScreen-BcJ05LE5.js";import"./StatusPill-jT--OXbn.js";import"./AgentConfigurationScreen-C0D9WNyL.js";import"./CastPicker-Y29K5kKk.js";import"./bot-BNv_ZJzi.js";import"./SettingsDrawer-BVrP6J52.js";import"./credentials-OeoF-VKJ.js";import"./VoicePermissionsPanel-9Nuw-xCr.js";import"./monitor-M0VSmHQ-.js";import"./left-BbCKRDbW.js";import"./chunk-YOZR3KYS-apgUnfXh.js";import"./arrow-up-DFy-9ghF.js";import"./session-table-BI62J4NP.js";import"./log-in-VL9mdgeE.js";import"./right-9rMRZN_r.js";import"./content-CoYG0nWL.js";import"./WorkDetailScreen-BrrkENYq.js";import"./WorkFilesViewer-B63sKRYZ.js";import"./right-Dr7vxdZl.js";/* empty css */import"./HerdrSession-H2mmxeTK.js";import"./TerminalHeaderMount-CYYcKxQ-.js";import"./direct-voice-DAOUU-kc.js";import"./gestures-Dh8szhcU.js";import"./VoiceControlWell-BkjuWjYu.js";import"./rocket-BahsdUe6.js";import"./VoiceTurnDetails-kS7lfbmt.js";import"./VoiceTurnStage-DLY6aYDg.js";import"./VoiceTurnView-CF4tIldB.js";/* empty css *//* empty css */function xt(){const{route:o,navigate:e,agents:r}=v();return t.jsx(rt,{children:tt(o,e,r)})}function jt({onResizeStart:o}){const e=n.useCallback(r=>{r.preventDefault(),o(r)},[o]);return t.jsxs("div",{role:"separator","aria-orientation":"horizontal",onMouseDown:e,className:"group relative flex h-[7px] shrink-0 cursor-ns-resize items-center justify-center",children:[t.jsx("div",{className:"absolute inset-x-0 top-0 h-px bg-[var(--scout-chrome-border-soft)] transition-colors group-hover:bg-[var(--scout-chrome-ink-faint)]"}),t.jsxs("div",{className:"flex flex-row gap-[3px] opacity-0 transition-opacity group-hover:opacity-100",children:[t.jsx("div",{className:"h-[3px] w-[3px] rounded-full bg-[var(--scout-chrome-ink-faint)]"}),t.jsx("div",{className:"h-[3px] w-[3px] rounded-full bg-[var(--scout-chrome-ink-faint)]"}),t.jsx("div",{className:"h-[3px] w-[3px] rounded-full bg-[var(--scout-chrome-ink-faint)]"})]})]})}const _=260,St=.7,kt=260;function H(o,e){const r=Math.max(_,Math.floor(e*St));return Math.min(r,Math.max(_,Math.round(o)))}function wt(){const o=$("surface.scoutbot",!0),{route:e,navigate:r,agents:i,selectedBrokerAttempt:s,clearBrokerAttempt:m}=v(),[a]=st("openscout.scoutbot.collapsed",!0),[l,d]=at("openscout.scoutbot.height",kt),g=n.useRef(null),[u,h]=n.useState(0);n.useLayoutEffect(()=>{const y=g.current;if(!y)return;h(y.getBoundingClientRect().height);const S=new ResizeObserver(p=>{const c=p[0];c&&h(c.contentRect.height)});return S.observe(y),()=>S.disconnect()},[]),n.useEffect(()=>{if(u<=0)return;const y=H(l,u);y!==l&&d(y)},[u,l,d]);const j=n.useCallback(y=>{const S=y.clientY,p=l,c=g.current?.getBoundingClientRect().height??u,f=z=>{const J=z.clientY-S;d(H(p-J,c))},k=()=>{document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",k),document.body.style.removeProperty("cursor"),document.body.style.removeProperty("user-select")};document.body.style.cursor="ns-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",f),document.addEventListener("mouseup",k)},[u,l,d]);let b=null;const x=o&&e.view==="ops"&&e.mode==="lanes";if(x)b=t.jsx(W,{forceExpanded:!0,fill:!0});else switch(e.view){case"ops":b=t.jsx(nt,{mode:e.mode??"mission",agents:i,navigate:r,returnRoute:e});break;case"broker":b=t.jsx(it,{selectedAttempt:s,navigate:r,onClose:m});break;default:b=et(e,r)}const A=u>0?H(l,u):l,R=o&&e.view!=="broker"&&e.view!=="voice";return t.jsxs("div",{ref:g,className:"flex h-full flex-col overflow-hidden",children:[t.jsx("div",{className:"min-h-0 flex-1 overflow-hidden",children:b}),R&&!x&&!a&&t.jsx(jt,{onResizeStart:j}),R&&!x&&t.jsx(W,{height:a?void 0:A})]})}const Y="openscout.globalJumpDock.mode.v1";function Ct(){if(typeof window>"u")return null;try{const o=window.localStorage.getItem(Y);return o==="jump"||o==="minimap"?o:null}catch{return null}}function Rt(o){try{window.localStorage.setItem(Y,o)}catch{}}function Tt(){const{route:o,navigate:e}=v(),r=o.view==="mesh",[i,s]=n.useState(()=>{const a=Ct();return a==="minimap"&&r?"minimap":a==="jump"?"jump":r?"minimap":"jump"});n.useEffect(()=>{i==="minimap"&&!r&&s("jump")},[i,r]);const m=a=>{s(a),Rt(a)};return t.jsxs("div",{className:"gjd",children:[t.jsxs("div",{className:"gjd-head",children:[t.jsx("span",{className:"gjd-ear","aria-hidden":!0}),t.jsxs("div",{className:"gjd-mode",role:"group","aria-label":"Bottom dock mode",children:[t.jsx("button",{type:"button",className:`gjd-mode-btn${i==="jump"?" gjd-mode-btn--active":""}`,onClick:()=>m("jump"),"aria-pressed":i==="jump",children:"jump"}),r&&t.jsx("button",{type:"button",className:`gjd-mode-btn${i==="minimap"?" gjd-mode-btn--active":""}`,onClick:()=>m("minimap"),"aria-pressed":i==="minimap",children:"minimap"})]}),t.jsx("span",{className:"gjd-ear","aria-hidden":!0})]}),t.jsx("div",{className:"gjd-body",children:i==="minimap"&&r?t.jsx(pt,{}):t.jsx(Et,{navigate:e})})]})}const Ot=mt();function Et({navigate:o}){const e=$("ops.control",!0),r=Ot.filter(i=>!i.opsGated||e);return t.jsx("div",{className:"gjd-jumps",children:r.map(i=>{const s=i.icon;return t.jsxs("button",{type:"button",className:"gjd-jump",onClick:()=>o(i.route),children:[t.jsx("span",{className:"gjd-jump-icon",children:n.createElement(s,{size:13,strokeWidth:1.6})}),t.jsx("span",{className:"gjd-jump-label",children:i.label})]},i.id)})})}function Nt(){const{route:o,navigate:e}=v();return t.jsxs("div",{className:"scout-left-shell",children:[t.jsx("div",{className:"scout-left-shell-rail",children:ot(o,e)}),t.jsx(Tt,{})]})}function It(){const o=K(),e=V(),r=ct({url:o,healthUrl:e,autoConnect:!0,sessionKey:"scout-terminal"});return t.jsx("div",{style:{height:"100%",background:"#0d0d0d",overflow:"hidden"},children:t.jsx(lt,{relay:r,fontSize:13,configItems:[{label:"ws",value:o},{label:"health",value:e}]})})}const Pt="Scout's local server isn't responding. It may still be starting up — wait a moment and try again.",Mt="Scout couldn't start its background service. Restart Scout from the menu bar icon, then try again.",At="The broker isn't running yet. Start Scout's services from the menu bar icon, then run setup again.",zt="Starting the broker took too long. Try again — if it keeps happening, restart Scout.",Ht="Scout couldn't write its settings in your home folder (~/.openscout). Check the folder's permissions and try again.",Bt="That folder doesn't exist on this Mac. Double-check the path — for example /Users/you/dev.";function C(o,e){const r=e instanceof Error?e.message:String(e);return dt(U(e))?Pt:/Unable to locate scoutd|Unable to locate Bun/i.test(r)?Mt:/openscout-runtime broker/i.test(r)?At:/timed out/i.test(r)?zt:/EACCES|EPERM|EROFS/i.test(r)?Ht:o==="project"&&/ENOENT|does not exist|doesn'?t exist/i.test(r)?/does not exist|doesn'?t exist/i.test(r)&&/[/~]/.test(r)?r:Bt:U(e)}const N=4;function Dt(){const{onboarding:o}=v();return o?o.hasLocalConfig?o.hasOperatorName?o.hasProjectConfig?o.needed===!0&&(!o.brokerReachable||!o.hasReadyRuntime)?t.jsx(T,{children:t.jsx(Ut,{step:4})}):null:t.jsx(T,{children:t.jsx(Wt,{step:3})}):t.jsx(T,{children:t.jsx(Ft,{step:2})}):t.jsx(T,{children:t.jsx(Lt,{step:1})}):null}function T({children:o}){return t.jsx("div",{style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",overflow:"auto",background:"var(--bg)",color:"var(--ink)"},children:t.jsx("div",{style:{width:"100%",maxWidth:720,padding:"80px 72px",display:"flex",flexDirection:"column",gap:40},children:o})})}function I({eyebrow:o,title:e,description:r}){return t.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[t.jsx("div",{style:_t,children:o}),t.jsx("div",{style:Gt,children:e}),t.jsx("div",{style:$t,children:r})]})}function P({primary:o,onPrimary:e,primaryDisabled:r,busy:i}){const{skipOnboarding:s}=v();return t.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:10,paddingTop:8},children:[t.jsxs("div",{style:{display:"flex",alignItems:"center",gap:24},children:[t.jsx("button",{type:"button",onClick:e,disabled:r||i,style:{...Yt,opacity:r||i?.5:1,cursor:r||i?"default":"pointer"},children:i?"Working…":o}),t.jsx("button",{type:"button",onClick:s,style:qt,onMouseEnter:m=>{m.currentTarget.style.color="rgba(255,255,255,0.8)"},onMouseLeave:m=>{m.currentTarget.style.color="rgba(255,255,255,0.45)"},children:"Set up later"})]}),t.jsx("div",{style:{fontSize:11,color:"rgba(255,255,255,0.35)",lineHeight:1.5},children:"Scout stays limited until setup finishes."})]})}function M({message:o}){return o?t.jsx("div",{style:{borderRadius:8,border:"1px solid rgba(239,68,68,0.35)",backgroundColor:"rgba(239,68,68,0.08)",color:"rgba(252,165,165,0.95)",padding:"12px 16px",fontSize:12,lineHeight:1.5},children:o}):null}function Lt({step:o}){const{onboarding:e,refreshOnboarding:r}=v(),[i,s]=n.useState(!1),[m,a]=n.useState(null),l=async()=>{s(!0),a(null);try{await E("/api/onboarding/init",{method:"POST",body:"{}"}),await r()}catch(d){a(C("init",d))}finally{s(!1)}};return t.jsxs(t.Fragment,{children:[t.jsx(I,{eyebrow:`First-run setup · Step ${o} of ${N}`,title:"Welcome to Scout",description:t.jsxs(t.Fragment,{children:["Scout needs a local config before it can talk to the broker, the web app, and paired devices. This writes"," ",t.jsx("code",{style:F,children:"~/.openscout/config.json"})," with sensible defaults — you can edit it any time."]})}),t.jsxs("ul",{style:q,children:[t.jsx(w,{label:"Local config (~/.openscout/config.json)",done:!1,hint:"missing"}),t.jsx(w,{label:".openscout/project.json in a repo",done:!!e?.hasProjectConfig,hint:e?.hasProjectConfig?e.projectRoot??void 0:"checked after setup"})]}),t.jsx(M,{message:m}),t.jsx(P,{primary:"Initialize Scout",onPrimary:()=>{l()},busy:i})]})}function Ft({step:o}){const{onboarding:e,refreshOnboarding:r}=v(),i=e?.operatorNameSuggestion??"",[s,m]=n.useState(i),[a,l]=n.useState(!1),[d,g]=n.useState(null);n.useEffect(()=>{!s&&i&&m(i)},[i,s]);const u=async()=>{const h=s.trim();if(!h){g("Name is required.");return}l(!0),g(null);try{await E("/api/user",{method:"POST",body:JSON.stringify({name:h})}),await r()}catch(j){g(C("identity",j))}finally{l(!1)}};return t.jsxs(t.Fragment,{children:[t.jsx(I,{eyebrow:`Identity · Step ${o} of ${N}`,title:"What should we call you?",description:"Your name shows up on messages you send and in any agent that speaks for you. You can change it later in Settings."}),t.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[t.jsx("label",{style:O,children:"Your name"}),t.jsx("input",{autoFocus:!0,value:s,onChange:h=>{m(h.target.value),g(null)},onKeyDown:h=>{h.key==="Enter"&&u()},placeholder:i||"Operator",style:L}),i?t.jsx("div",{style:{fontSize:11,color:"rgba(255,255,255,0.4)",fontFamily:"var(--hud-font-mono)"},children:"Prefilled from your machine."}):null]}),t.jsx(M,{message:d}),t.jsx(P,{primary:"Continue",onPrimary:()=>{u()},busy:a,primaryDisabled:!s.trim()})]})}function Wt({step:o}){const{onboarding:e,refreshOnboarding:r}=v(),i=e?.currentDirectory??"",s=i||"~/dev",[m,a]=n.useState([s]),[l,d]=n.useState(i),[g,u]=n.useState("claude"),[h,j]=n.useState(!1),[b,x]=n.useState(null),A=(p,c)=>{a(f=>f.map((k,z)=>z===p?c:k))},R=()=>a(p=>[...p,""]),y=p=>a(c=>c.filter((f,k)=>k!==p)),S=async()=>{const p=m.map(f=>f.trim()).filter(Boolean),c=l.trim();if(!c){x("Pick where Scout should anchor this context.");return}j(!0),x(null);try{await E("/api/onboarding/project",{method:"POST",body:JSON.stringify({contextRoot:c,sourceRoots:p,defaultHarness:g})}),await r()}catch(f){x(C("project",f))}finally{j(!1)}};return t.jsxs(t.Fragment,{children:[t.jsx(I,{eyebrow:`Project · Step ${o} of ${N}`,title:"Where do your repos live?",description:t.jsxs(t.Fragment,{children:["Scout scans these folders for projects and anchors this context at"," ",t.jsx("code",{style:F,children:"<context>/.openscout/project.json"}),"."]})}),t.jsxs("div",{style:B,children:[t.jsx("label",{style:O,children:"Scan folders"}),t.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[m.map((p,c)=>t.jsxs("div",{style:{display:"flex",gap:8},children:[t.jsx("input",{value:p,onChange:f=>A(c,f.target.value),placeholder:c===0?s:"Add another folder",style:{...L,flex:1}}),t.jsx("button",{type:"button",onClick:()=>y(c),disabled:m.length<=1,style:{...G,opacity:m.length<=1?.4:1,cursor:m.length<=1?"default":"pointer"},"aria-label":`Remove folder ${c+1}`,children:"−"})]},c)),t.jsx("button",{type:"button",onClick:R,style:{...G,alignSelf:"flex-start"},children:"+ Add folder"})]})]}),t.jsxs("div",{style:B,children:[t.jsx("label",{style:O,children:"Context root"}),t.jsx("input",{value:l,onChange:p=>d(p.target.value),placeholder:s,style:L}),t.jsxs("div",{style:D,children:["Scout writes ",t.jsx("code",{style:F,children:".openscout/project.json"})," ","inside this folder."]}),t.jsx("div",{style:D,children:"Tip: ~ expands to your home folder."})]}),t.jsxs("div",{style:B,children:[t.jsx("label",{style:O,children:"Default harness"}),t.jsx("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12},children:["claude","codex"].map(p=>{const c=g===p;return t.jsxs("button",{type:"button",onClick:()=>u(p),style:{...Jt,borderColor:c?"var(--accent, #2dd4bf)":"rgba(255,255,255,0.12)",backgroundColor:c?"rgba(45,212,191,0.08)":"rgba(255,255,255,0.02)"},children:[t.jsx("div",{style:{fontSize:15,fontWeight:600,textTransform:"capitalize"},children:p}),t.jsx("div",{style:{fontSize:12,color:"rgba(255,255,255,0.55)",marginTop:6,lineHeight:1.5},children:p==="claude"?"Anthropic Claude Code — local CLI agent.":"OpenAI Codex — cloud agentic sandbox."}),t.jsx("div",{style:{fontSize:11,fontFamily:"var(--hud-font-mono)",color:"rgba(255,255,255,0.4)",marginTop:8,lineHeight:1.5},children:p==="claude"?"Requires the Claude Code CLI, installed and signed in.":"Requires the Codex CLI, installed and signed in."})]},p)})}),t.jsx("div",{style:D,children:"Not installed yet? Pick one anyway — the final step checks and tells you what's missing."})]}),t.jsx(M,{message:b}),t.jsx(P,{primary:"Create project",onPrimary:()=>{S()},busy:h,primaryDisabled:!l.trim()})]})}function Ut({step:o}){const{onboarding:e,refreshOnboarding:r}=v(),[i,s]=n.useState(!1),[m,a]=n.useState(null),l=async()=>{s(!0),a(null);try{const d=await E("/api/onboarding/setup",{method:"POST",body:"{}"});await r(),d.brokerWarning?a(C("setup",d.brokerWarning)):d.hasReadyRuntime===!1&&a("Setup finished, but Scout didn't find a ready agent runtime. Install or sign in to a supported runtime, then choose Run setup again.")}catch(d){a(C("setup",d))}finally{s(!1)}};return t.jsxs(t.Fragment,{children:[t.jsx(I,{eyebrow:`Setup · Step ${o} of ${N}`,title:"Finish setup",description:"Scout will install its harness skills, start the local broker, refresh discovery, and check for a ready agent runtime."}),t.jsxs("ul",{style:q,children:[t.jsx(w,{label:".openscout/project.json",done:!!e?.hasProjectConfig,hint:e?.projectConfigPath??e?.projectRoot??void 0}),t.jsx(w,{label:"Broker reachable",done:!!e?.brokerReachable,hint:e?.brokerReachable?"connected":"starts when you run setup"}),t.jsx(w,{label:"Agent runtime",done:!!e?.hasReadyRuntime,hint:e?.hasReadyRuntime?"ready":"install or sign in to a supported runtime"})]}),t.jsx(M,{message:m}),t.jsx(P,{primary:"Run setup",onPrimary:()=>{l()},busy:i})]})}function w({label:o,done:e,hint:r}){return t.jsxs("li",{style:{display:"flex",alignItems:"flex-start",gap:16},children:[t.jsx("span",{style:{marginTop:2,width:20,height:20,borderRadius:999,display:"flex",alignItems:"center",justifyContent:"center",fontSize:11,fontWeight:700,flexShrink:0,backgroundColor:e?"rgba(34,197,94,0.15)":"rgba(255,255,255,0.07)",color:e?"#4ade80":"rgba(255,255,255,0.5)"},children:e?"✓":"•"}),t.jsxs("div",{style:{minWidth:0},children:[t.jsx("div",{style:{fontSize:13,lineHeight:1.5,color:e?"rgba(255,255,255,0.75)":"rgba(255,255,255,0.9)"},children:o}),r?t.jsx("div",{style:{fontSize:11,fontFamily:"var(--hud-font-mono)",color:"rgba(255,255,255,0.35)",marginTop:4,wordBreak:"break-all"},children:r}):null]})]})}const _t={fontSize:11,fontFamily:"var(--hud-font-mono)",textTransform:"uppercase",letterSpacing:"0.18em",color:"rgba(255,255,255,0.4)"},Gt={fontSize:36,fontWeight:600,letterSpacing:"-0.01em",lineHeight:1.15},$t={fontSize:15,lineHeight:1.75,color:"rgba(255,255,255,0.6)",maxWidth:580},B={display:"flex",flexDirection:"column",gap:10},O={fontSize:11,fontFamily:"var(--hud-font-mono)",textTransform:"uppercase",letterSpacing:"0.15em",color:"rgba(255,255,255,0.5)"},L={width:"100%",padding:"10px 14px",fontSize:14,fontFamily:"var(--hud-font-mono)",color:"rgba(255,255,255,0.92)",backgroundColor:"rgba(255,255,255,0.04)",border:"1px solid rgba(255,255,255,0.12)",borderRadius:8,outline:"none",boxSizing:"border-box"},D={fontSize:12,color:"rgba(255,255,255,0.45)",lineHeight:1.6},F={fontFamily:"var(--hud-font-mono)",fontSize:12,padding:"2px 6px",borderRadius:4,backgroundColor:"rgba(255,255,255,0.06)"},Yt={fontSize:13,fontWeight:600,padding:"12px 24px",borderRadius:10,backgroundColor:"var(--accent, #2dd4bf)",color:"#0b0d12",border:"none",transition:"opacity 0.15s ease"},G={fontSize:13,fontWeight:500,padding:"10px 14px",borderRadius:8,backgroundColor:"rgba(255,255,255,0.04)",border:"1px solid rgba(255,255,255,0.12)",color:"rgba(255,255,255,0.85)",transition:"all 0.15s ease"},qt={fontSize:12,color:"rgba(255,255,255,0.45)",textDecoration:"underline dotted rgba(255,255,255,0.25)",textUnderlineOffset:4,background:"none",border:"none",cursor:"pointer",padding:"4px 2px",transition:"color 0.15s ease"},q={display:"flex",flexDirection:"column",gap:20,margin:0,padding:0,listStyle:"none"},Jt={textAlign:"left",padding:"16px 18px",borderRadius:12,borderWidth:1,borderStyle:"solid",borderColor:"rgba(255,255,255,0.12)",color:"rgba(255,255,255,0.9)",cursor:"pointer",transition:"all 0.15s ease"},Kt=[{commandId:"nav:home",title:"Go to Home",description:"Navigate to the home overview showing queue, threads, signal, and activity",category:"navigation",keywords:["home","inbox","dashboard"],shortcut:"Cmd+1"},{commandId:"nav:agents",title:"Go to Agents",description:"Navigate to the agents roster showing all registered agents",category:"navigation",keywords:["agents","roster","list"],shortcut:"Cmd+2"},{commandId:"nav:messages",title:"Go to Chat",description:"Navigate to the unified chat surface backed by the normalized conversations service",category:"navigation",keywords:["conversations","comms","chat","threads","channels","channel","group","broadcast"],shortcut:"Cmd+3"},{commandId:"nav:sessions",title:"Open Sessions",description:"Navigate to the sessions list showing all active conversations",category:"navigation",keywords:["sessions","conversations","threads"]},{commandId:"nav:search",title:"Go to Search",description:"Navigate to the session knowledge search surface for extraction, search, and raw-log drilldown planning",category:"navigation",keywords:["search","knowledge","qmd","history"],shortcut:"Cmd+4"},{commandId:"nav:activity",title:"Open Activity",description:"Navigate to the activity feed showing recent events",category:"navigation",keywords:["activity","feed","events","log"]},{commandId:"nav:mesh",title:"Open Network",description:"Navigate to the mesh network view showing nodes and topology",category:"navigation",keywords:["mesh","network","nodes","peers","topology"]},{commandId:"nav:dispatch",title:"Open Dispatch",description:"Navigate to the dispatch ledger for routing, delivery attempts, and failed queries",category:"navigation",keywords:["dispatch","broker","routing","delivery","messages"]},{commandId:"nav:repos",title:"Open Repositories",description:"Navigate to the repos view for branches, diffs, and working-tree state",category:"navigation",keywords:["repos","repositories","git","branches","diffs"]},{commandId:"nav:harnesses",title:"Open Providers",description:"Open the central view for providers, harnesses, observed topology, and budget feeds",category:"navigation",keywords:["provider","providers","harness","harnesses","claude","codex","budget","usage","topology"]},{commandId:"nav:ops",title:"Go to Ops",description:"Navigate to the operator workspace for dispatch, mesh, tail, runtime, alerts, and agent operations",category:"navigation",keywords:["ops","operator","control","tail","runtime","services","atop","dispatch","mesh"],shortcut:"Cmd+5"},{commandId:"nav:ops-atop",title:"Open Runtime",description:"Open the live agent/process view with observed harness families",category:"navigation",keywords:["runtime","services","atop","process","session","agent","topology"]},{commandId:"nav:settings",title:"Open Settings",description:"Open the settings screen for pairing, identity, and relay config",category:"settings",keywords:["settings","preferences","config","pair"],shortcut:"Cmd+,"},{commandId:"nav:agent-config",title:"Open Agent Configuration",description:"Open the unified agent configuration surface for runtimes, agents, tools, delivery, and broker state",category:"settings",keywords:["agent config","runtimes","providers","mcp","tools"]},{commandId:"nav:pair",title:"Pair Device",description:"Open the device pairing flow to connect a mobile device",category:"settings",keywords:["pair","qr","device","phone","mobile"]},{commandId:"scout:reload",title:"Reload Agents",description:"Refresh the agent list and message state from the broker",category:"workspace",keywords:["reload","refresh","sync"]},{commandId:"scout:open:*",title:"Open Agent",description:"Open the agent's view (runtime, sessions, inspector) for one specific agent.",category:"navigation",keywords:["open","agent","view","inspect"],params:[{name:"agentId",description:"The agent identifier to open",type:"string"}]},{commandId:"scout:message:*",title:"Message Agent",description:"Open the DM conversation for one specific agent to message them. One agent maps to a DM; group work belongs in an explicit channel and broadcasts belong in the shared channel.",category:"workspace",keywords:["message","chat","conversation","dm","tell","ask","reply"],params:[{name:"agentId",description:"The agent identifier to message",type:"string"}]}];function Vt(o={}){const{initialTheme:e="dark"}=o,r=X();return{id:"openscout",name:"Scout",description:"All your agents, one message away. Scout is a control plane for managing coding agents: Send posts into a Chat, direct agent messages create or steer Runs, and shared work stays in explicit channels.",mode:"panel",icon:n.createElement("svg",{width:14,height:14,viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0},n.createElement("polygon",{points:"10,4.3 14.8,7.1 14.8,12.9 10,15.7 5.2,12.9 5.2,7.1",strokeWidth:1.9}),n.createElement("polygon",{points:"10,7 12.4,8.4 12.4,10.6 10,12 7.6,10.6 7.6,8.4",strokeWidth:1.32,opacity:.74})),Provider:({children:i})=>n.createElement(bt,{defaultTheme:e,defaultTemplate:r,storageKey:Q,children:n.createElement(Z,{initialTheme:e,children:i})}),leftPanel:{title:"Navigation"},rightPanel:{title:"Context"},slots:{Content:xt,LeftPanel:Nt,Inspector:wt,Takeover:Dt,Terminal:It},intents:Kt,hooks:{useCommands:vt,useStatus:yt,useNavCenter:ft,useNavActions:ht,useLayoutMode:gt,useTakeover:ut}}}Vt();export{Vt as createScoutApp};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as o,j as e}from"./index-
|
|
2
|
-
`)??"";return e.jsx("div",{className:"ctx-panel ctx-panel--ops-inspector ctx-panel--tail-inspector",children:e.jsxs("section",{className:"ctx-panel-section ctx-panel-tail-detail",children:[e.jsxs("div",{className:"ctx-panel-section-label ctx-panel-tail-detail-label",children:[e.jsx("span",{children:i}),t&&e.jsx("button",{type:"button",className:"ctx-panel-tail-icon-button",onClick:R,"aria-label":"Clear Tail detail",title:"Clear",children:e.jsx(B,{size:13,strokeWidth:2,"aria-hidden":"true"})})]}),t?e.jsxs("div",{className:"ctx-panel-tail-card",children:[e.jsxs("div",{className:"ctx-panel-tail-card-head",children:[e.jsx("div",{className:"ctx-panel-tail-card-title",children:t.title}),e.jsx("div",{className:"ctx-panel-tail-card-meta",children:t.meta})]}),t.metadata&&t.metadata.length>0&&e.jsxs("div",{className:"ctx-panel-tail-copy-scope",children:[e.jsx("dl",{className:"ctx-panel-tail-metadata",children:t.metadata.map(n=>e.jsxs("div",{className:"ctx-panel-tail-metadata-row",children:[e.jsx("dt",{children:n.label}),e.jsx("dd",{title:n.value,children:n.value})]},n.label))}),r&&e.jsx(f,{label:"Copy metadata",value:r})]}),t.action&&e.jsx("div",{className:"ctx-panel-tail-actions",children:e.jsx("button",{type:"button",className:"ctx-panel-tail-action-button",onClick:()=>c(t.action.route),children:t.action.label})}),e.jsxs("div",{className:"ctx-panel-tail-copy-scope ctx-panel-tail-copy-scope--message",children:[e.jsx("div",{className:"ctx-panel-tail-message",children:t.body}),l&&e.jsx(f,{label:"Copy message",value:l})]})]}):e.jsxs("div",{className:"ctx-panel-tail-empty-card",children:[e.jsx("span",{children:"Tail"}),e.jsx("strong",{children:"No log selected"})]})]})})}function f({label:t,value:s}){const[c,i]=o.useState(!1),l=o.useRef(null);o.useEffect(()=>()=>{l.current!=null&&window.clearTimeout(l.current)},[]);const r=o.useCallback(async()=>{await T(s)&&(i(!0),l.current!=null&&window.clearTimeout(l.current),l.current=window.setTimeout(()=>i(!1),1200))},[s]);return e.jsxs("button",{type:"button",className:`ctx-panel-tail-hover-copy${c?" ctx-panel-tail-hover-copy--copied":""}`,onClick:()=>{r()},title:t,children:[c?e.jsx($,{size:13,strokeWidth:2,"aria-hidden":"true"}):e.jsx(L,{size:13,strokeWidth:1.9,"aria-hidden":"true"}),e.jsx("span",{children:c?"Copied":t})]})}function H({navigate:t}){const[s,c]=o.useState(null),[i,l]=o.useState(null);return o.useEffect(()=>{Promise.allSettled([j("/.host-info"),j("/api/build")]).then(([r,n])=>{r.status==="fulfilled"&&c(r.value),n.status==="fulfilled"&&l(n.value)})},[]),e.jsxs("div",{className:"ctx-panel ctx-panel--ops-inspector ctx-panel--plan-inspector",children:[e.jsxs("section",{className:"ctx-panel-section ctx-panel-ops-summary",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Host Telemetry"}),e.jsxs("div",{className:"ctx-panel-summary-card",children:[e.jsx("div",{className:"ctx-panel-summary-title",children:s?.nodeName||"Local Host"}),e.jsxs("div",{className:"ctx-panel-summary-kicker",children:["Node: ",s?.nodeId||"local"]}),e.jsxs("div",{className:"ctx-panel-summary-meta",children:[e.jsxs("span",{children:[i?.runtime?.platform||"darwin"," ",i?.runtime?.arch||"arm64"]}),i?.gitBranch&&e.jsxs("span",{children:["branch: ",i.gitBranch]})]})]})]}),e.jsxs("section",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Host Endpoints"}),e.jsxs("div",{className:"ctx-panel-metric-stack",children:[e.jsxs("div",{className:"ctx-panel-metric-row",children:[e.jsx("span",{className:"ctx-panel-metric-label",children:"Broker Port"}),e.jsx("span",{className:"ctx-panel-metric-value",children:s?.ports?.broker??43110})]}),e.jsxs("div",{className:"ctx-panel-metric-row",children:[e.jsx("span",{className:"ctx-panel-metric-label",children:"Web UI Port"}),e.jsx("span",{className:"ctx-panel-metric-value",children:s?.ports?.web??43120})]}),e.jsxs("div",{className:"ctx-panel-metric-row",children:[e.jsx("span",{className:"ctx-panel-metric-label",children:"Advertise Scope"}),e.jsx("span",{className:"ctx-panel-metric-value",children:s?.advertiseScope||"mesh"})]})]})]}),e.jsxs("section",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Quick Actions"}),e.jsxs("div",{className:"ctx-panel-stack",children:[e.jsx("button",{type:"button",className:"ctx-panel-action-btn",onClick:()=>t({view:"ops",mode:"mission"}),children:"Mission Control Wall →"}),e.jsx("button",{type:"button",className:"ctx-panel-action-btn",onClick:()=>t({view:"harnesses"}),children:"Agent Providers & Quotas →"}),e.jsx("button",{type:"button",className:"ctx-panel-action-btn",onClick:()=>t({view:"terminal"}),children:"Terminal Relays →"}),e.jsx("button",{type:"button",className:"ctx-panel-action-btn",onClick:()=>t({view:"search"}),children:"Knowledge Search →"})]})]})]})}function m({label:t,value:s,tone:c}){return e.jsxs("div",{className:`ctx-panel-stat${c?` ctx-panel-stat--${c}`:""}`,children:[e.jsx("span",{children:t}),e.jsx("strong",{children:s})]})}function N(t){if(!t||typeof t!="object")return null;const s=t;if(s.focus!=="flow"&&s.focus!=="item"||typeof s.title!="string"||typeof s.meta!="string"||typeof s.body!="string")return null;const c=Array.isArray(s.metadata)?s.metadata.filter(l=>l!=null&&typeof l=="object"&&typeof l.label=="string"&&typeof l.value=="string"):void 0,i=Array.isArray(s.copy)?s.copy.filter(l=>l!=null&&typeof l=="object"&&typeof l.label=="string"&&typeof l.value=="string"):void 0;return{source:s.source==="tail"?"tail":"generic",focus:s.focus,title:s.title,meta:s.meta,body:s.body,metadata:c,copy:i,action:s.action&&typeof s.action=="object"?s.action:null}}function W({item:t,navigate:s}){const{route:c}=b();return e.jsx("button",{type:"button",className:"ctx-panel-item ctx-panel-item--attention",onClick:()=>{t.conversationId?y(s,{view:"conversation",conversationId:t.conversationId},{returnTo:c}):s({view:"ops",mode:"mission"})},children:e.jsxs("div",{className:"ctx-panel-body",children:[e.jsx("span",{className:"ctx-panel-name",children:t.title}),e.jsxs("span",{className:"ctx-panel-sub",children:[t.agentName??t.agentId??"operator"," · ",v(t.updatedAt)]})]})})}function z({ask:t,navigate:s}){const{route:c}=b();return e.jsx("button",{type:"button",className:"ctx-panel-item",onClick:()=>{t.conversationId?y(s,{view:"conversation",conversationId:t.conversationId},{returnTo:c}):s({view:"ops",mode:"mission"})},children:e.jsxs("div",{className:"ctx-panel-body",children:[e.jsx("span",{className:"ctx-panel-name",children:t.task}),e.jsxs("span",{className:"ctx-panel-sub",children:[t.agentName??t.agentId," · ",t.statusLabel]})]})})}export{
|
|
1
|
+
import{r as o,j as e}from"./index-BFbLvCJn.js";import{u as b}from"./Provider-BEXAZWd9.js";import{o as k}from"./openAgent-Dbv5wfuL.js";import{o as y}from"./openContent-C6XO6kr5.js";import{a as A,i as S,b as I,c as O}from"./agent-state-DDhnFEEP.js";import{a as j}from"./api-DSqpVKC7.js";import{c as T}from"./clipboard-e3fSpeo7.js";import{u as E}from"./sse-BVxO0zNp.js";import{t as v}from"./time-Dhsh_2EG.js";import{X as B}from"./x-BcfhXYiF.js";import{C as $}from"./check-BM6QtbB7.js";import{C as L}from"./copy-C1XrY27_.js";import"./theme-vars-DNK0nn3k.js";import"./router-CJIx83Ia.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./machine-scope-DJt9RZ2w.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-D-VB5vdt.js";import"./runtime-picker-IRcTkMZ5.js";import"./scout-voice-Cdh6pCsb.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CCG7hG7z.js";import"./createLucideIcon-CKbjXlwv.js";import"./media-blobs-Bi8pxr1u.js";import"./index-CXzJ_hGx.js";import"./HarnessMark-CP-PWk2W.js";import"./conversation-model-FxDeWlle.js";import"./conversations-DoAAO6kA.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-BYsEu9dZ.js";import"./keyboard-nav-CEe-ApvZ.js";import"./chevron-down-DEDSNJNY.js";import"./search-Bv2IONmc.js";import"./file-text-BOJQiS8p.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-mxzPxQQW.js";import"./TextDocumentSurface-DBslUq9k.js";import"./index-V8FYEUpD.js";import"./chevron-right-B02kAw12.js";import"./folder-C2emmTHq.js";import"./chevron-up-CzveykKG.js";import"./code-xml-E9gBuiVs.js";import"./arrow-left-DNjQHf4C.js";import"./arrow-right-A_yyXwoH.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DVhUsgOw.js";import"./index-BWHgHrtv.js";const P={mission:"Control",advisor:"Host Advisor",issues:"Alerts",tail:"Tail",atop:"Runtime",agents:"Agents",lanes:"Lanes",world:"World"};function De({mode:t,agents:s,navigate:c,returnRoute:i}){const[l,r]=o.useState(null),[n,g]=o.useState(()=>typeof window>"u"?null:N(window.scoutOpsDetailSnapshot)),x=o.useCallback(async()=>{const a=await j("/api/fleet").catch(()=>null);r(a)},[]);if(o.useEffect(()=>{x()},[x]),o.useEffect(()=>{const a=h=>{g(N(h.detail))};return window.addEventListener("scout:ops-detail",a),()=>window.removeEventListener("scout:ops-detail",a)},[]),E(a=>{(a.kind==="message.posted"||a.kind==="flight.updated"||a.kind==="collaboration.event.appended")&&x()}),t==="advisor")return e.jsx(H,{navigate:c});if(t==="tail"||t==="issues")return e.jsx(D,{detail:n?.source==="tail"?n:null,mode:t,navigate:c});const d=(l?.activeAsks??[]).filter(a=>a.status!=="needs_attention"),p=l?.needsAttention??[];if(t==="lanes"||t==="world")return null;const w=s.filter(a=>A(a.state)),C=s.filter(a=>S(a.state)),u=[...s].sort((a,h)=>(h.updatedAt??0)-(a.updatedAt??0)).slice(0,7);return e.jsxs("div",{className:"ctx-panel ctx-panel--ops-inspector",children:[n&&e.jsxs("section",{className:"ctx-panel-section ctx-panel-selected-detail",children:[e.jsx("div",{className:"ctx-panel-section-label",children:n.focus==="flow"?"Message":"Selection"}),e.jsxs("div",{className:"ctx-panel-selected-card",children:[e.jsx("div",{className:"ctx-panel-selected-title",children:n.title}),e.jsx("div",{className:"ctx-panel-selected-meta",children:n.meta}),e.jsx("div",{className:"ctx-panel-selected-body",children:n.body}),n.action&&e.jsx("button",{type:"button",className:"ctx-panel-selected-action",onClick:()=>c(n.action.route),children:n.action.label})]})]}),e.jsxs("section",{className:"ctx-panel-section ctx-panel-ops-summary",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Ops Context"}),e.jsxs("div",{className:"ctx-panel-ops-mode-card",children:[e.jsx("span",{children:"Current"}),e.jsx("strong",{children:P[t]}),e.jsx("small",{children:l?`refreshed ${v(l.generatedAt)}`:"loading"})]}),e.jsxs("div",{className:"ctx-panel-stat-grid",children:[e.jsx(m,{label:"Needs",value:p.length,tone:p.length>0?"warn":"ok"}),e.jsx(m,{label:"Active",value:d.length}),e.jsx(m,{label:"Online",value:`${C.length}/${s.length}`}),e.jsx(m,{label:"Working",value:w.length})]})]}),e.jsxs("section",{className:"ctx-panel-section",children:[e.jsxs("div",{className:"ctx-panel-section-label",children:["Queue",p.length>0&&e.jsx("span",{className:"ctx-panel-count",children:p.length})]}),p.length===0?e.jsx("div",{className:"ctx-panel-empty",children:"No operator cues"}):e.jsx("div",{className:"ctx-panel-list",children:p.slice(0,5).map(a=>e.jsx(W,{item:a,navigate:c},a.recordId))})]}),e.jsxs("section",{className:"ctx-panel-section",children:[e.jsxs("div",{className:"ctx-panel-section-label",children:["Runs",d.length>0&&e.jsx("span",{className:"ctx-panel-count",children:d.length})]}),d.length===0?e.jsx("div",{className:"ctx-panel-empty",children:"No active requests"}):e.jsx("div",{className:"ctx-panel-list",children:d.slice(0,5).map(a=>e.jsx(z,{ask:a,navigate:c},a.invocationId))})]}),e.jsxs("section",{className:"ctx-panel-section",children:[e.jsxs("div",{className:"ctx-panel-section-label",children:["Recent activity",u.length>0&&e.jsx("span",{className:"ctx-panel-count",children:u.length})]}),e.jsx("div",{className:"ctx-panel-pulse-list",children:u.map(a=>e.jsxs("button",{type:"button",className:"ctx-panel-pulse-row",onClick:()=>k(c,a,{returnTo:i}),children:[e.jsx("span",{className:`ctx-panel-pulse-dot ctx-panel-pulse-dot--${I(a.state)}`}),e.jsx("span",{children:a.name}),e.jsxs("small",{children:[O(a.state)," · ",a.updatedAt?v(a.updatedAt):"unknown"]})]},a.id))})]})]})}function R(){if(typeof window>"u")return;const t=window;t.scoutOpsDetailSnapshot=null,window.dispatchEvent(new CustomEvent("scout:ops-detail",{detail:null}))}function D({detail:t,mode:s,navigate:c}){const i=s==="issues"?"Alert detail":"Tail detail",l=t?.copy?.find(n=>n.label==="Copy message")?.value??t?.body??"",r=t?.copy?.find(n=>n.label==="Copy metadata")?.value??t?.metadata?.map(n=>`${n.label}: ${n.value}`).join(`
|
|
2
|
+
`)??"";return e.jsx("div",{className:"ctx-panel ctx-panel--ops-inspector ctx-panel--tail-inspector",children:e.jsxs("section",{className:"ctx-panel-section ctx-panel-tail-detail",children:[e.jsxs("div",{className:"ctx-panel-section-label ctx-panel-tail-detail-label",children:[e.jsx("span",{children:i}),t&&e.jsx("button",{type:"button",className:"ctx-panel-tail-icon-button",onClick:R,"aria-label":"Clear Tail detail",title:"Clear",children:e.jsx(B,{size:13,strokeWidth:2,"aria-hidden":"true"})})]}),t?e.jsxs("div",{className:"ctx-panel-tail-card",children:[e.jsxs("div",{className:"ctx-panel-tail-card-head",children:[e.jsx("div",{className:"ctx-panel-tail-card-title",children:t.title}),e.jsx("div",{className:"ctx-panel-tail-card-meta",children:t.meta})]}),t.metadata&&t.metadata.length>0&&e.jsxs("div",{className:"ctx-panel-tail-copy-scope",children:[e.jsx("dl",{className:"ctx-panel-tail-metadata",children:t.metadata.map(n=>e.jsxs("div",{className:"ctx-panel-tail-metadata-row",children:[e.jsx("dt",{children:n.label}),e.jsx("dd",{title:n.value,children:n.value})]},n.label))}),r&&e.jsx(f,{label:"Copy metadata",value:r})]}),t.action&&e.jsx("div",{className:"ctx-panel-tail-actions",children:e.jsx("button",{type:"button",className:"ctx-panel-tail-action-button",onClick:()=>c(t.action.route),children:t.action.label})}),e.jsxs("div",{className:"ctx-panel-tail-copy-scope ctx-panel-tail-copy-scope--message",children:[e.jsx("div",{className:"ctx-panel-tail-message",children:t.body}),l&&e.jsx(f,{label:"Copy message",value:l})]})]}):e.jsxs("div",{className:"ctx-panel-tail-empty-card",children:[e.jsx("span",{children:"Tail"}),e.jsx("strong",{children:"No log selected"})]})]})})}function f({label:t,value:s}){const[c,i]=o.useState(!1),l=o.useRef(null);o.useEffect(()=>()=>{l.current!=null&&window.clearTimeout(l.current)},[]);const r=o.useCallback(async()=>{await T(s)&&(i(!0),l.current!=null&&window.clearTimeout(l.current),l.current=window.setTimeout(()=>i(!1),1200))},[s]);return e.jsxs("button",{type:"button",className:`ctx-panel-tail-hover-copy${c?" ctx-panel-tail-hover-copy--copied":""}`,onClick:()=>{r()},title:t,children:[c?e.jsx($,{size:13,strokeWidth:2,"aria-hidden":"true"}):e.jsx(L,{size:13,strokeWidth:1.9,"aria-hidden":"true"}),e.jsx("span",{children:c?"Copied":t})]})}function H({navigate:t}){const[s,c]=o.useState(null),[i,l]=o.useState(null);return o.useEffect(()=>{Promise.allSettled([j("/.host-info"),j("/api/build")]).then(([r,n])=>{r.status==="fulfilled"&&c(r.value),n.status==="fulfilled"&&l(n.value)})},[]),e.jsxs("div",{className:"ctx-panel ctx-panel--ops-inspector ctx-panel--plan-inspector",children:[e.jsxs("section",{className:"ctx-panel-section ctx-panel-ops-summary",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Host Telemetry"}),e.jsxs("div",{className:"ctx-panel-summary-card",children:[e.jsx("div",{className:"ctx-panel-summary-title",children:s?.nodeName||"Local Host"}),e.jsxs("div",{className:"ctx-panel-summary-kicker",children:["Node: ",s?.nodeId||"local"]}),e.jsxs("div",{className:"ctx-panel-summary-meta",children:[e.jsxs("span",{children:[i?.runtime?.platform||"darwin"," ",i?.runtime?.arch||"arm64"]}),i?.gitBranch&&e.jsxs("span",{children:["branch: ",i.gitBranch]})]})]})]}),e.jsxs("section",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Host Endpoints"}),e.jsxs("div",{className:"ctx-panel-metric-stack",children:[e.jsxs("div",{className:"ctx-panel-metric-row",children:[e.jsx("span",{className:"ctx-panel-metric-label",children:"Broker Port"}),e.jsx("span",{className:"ctx-panel-metric-value",children:s?.ports?.broker??43110})]}),e.jsxs("div",{className:"ctx-panel-metric-row",children:[e.jsx("span",{className:"ctx-panel-metric-label",children:"Web UI Port"}),e.jsx("span",{className:"ctx-panel-metric-value",children:s?.ports?.web??43120})]}),e.jsxs("div",{className:"ctx-panel-metric-row",children:[e.jsx("span",{className:"ctx-panel-metric-label",children:"Advertise Scope"}),e.jsx("span",{className:"ctx-panel-metric-value",children:s?.advertiseScope||"mesh"})]})]})]}),e.jsxs("section",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Quick Actions"}),e.jsxs("div",{className:"ctx-panel-stack",children:[e.jsx("button",{type:"button",className:"ctx-panel-action-btn",onClick:()=>t({view:"ops",mode:"mission"}),children:"Mission Control Wall →"}),e.jsx("button",{type:"button",className:"ctx-panel-action-btn",onClick:()=>t({view:"harnesses"}),children:"Agent Providers & Quotas →"}),e.jsx("button",{type:"button",className:"ctx-panel-action-btn",onClick:()=>t({view:"terminal"}),children:"Terminal Relays →"}),e.jsx("button",{type:"button",className:"ctx-panel-action-btn",onClick:()=>t({view:"search"}),children:"Knowledge Search →"})]})]})]})}function m({label:t,value:s,tone:c}){return e.jsxs("div",{className:`ctx-panel-stat${c?` ctx-panel-stat--${c}`:""}`,children:[e.jsx("span",{children:t}),e.jsx("strong",{children:s})]})}function N(t){if(!t||typeof t!="object")return null;const s=t;if(s.focus!=="flow"&&s.focus!=="item"||typeof s.title!="string"||typeof s.meta!="string"||typeof s.body!="string")return null;const c=Array.isArray(s.metadata)?s.metadata.filter(l=>l!=null&&typeof l=="object"&&typeof l.label=="string"&&typeof l.value=="string"):void 0,i=Array.isArray(s.copy)?s.copy.filter(l=>l!=null&&typeof l=="object"&&typeof l.label=="string"&&typeof l.value=="string"):void 0;return{source:s.source==="tail"?"tail":"generic",focus:s.focus,title:s.title,meta:s.meta,body:s.body,metadata:c,copy:i,action:s.action&&typeof s.action=="object"?s.action:null}}function W({item:t,navigate:s}){const{route:c}=b();return e.jsx("button",{type:"button",className:"ctx-panel-item ctx-panel-item--attention",onClick:()=>{t.conversationId?y(s,{view:"conversation",conversationId:t.conversationId},{returnTo:c}):s({view:"ops",mode:"mission"})},children:e.jsxs("div",{className:"ctx-panel-body",children:[e.jsx("span",{className:"ctx-panel-name",children:t.title}),e.jsxs("span",{className:"ctx-panel-sub",children:[t.agentName??t.agentId??"operator"," · ",v(t.updatedAt)]})]})})}function z({ask:t,navigate:s}){const{route:c}=b();return e.jsx("button",{type:"button",className:"ctx-panel-item",onClick:()=>{t.conversationId?y(s,{view:"conversation",conversationId:t.conversationId},{returnTo:c}):s({view:"ops",mode:"mission"})},children:e.jsxs("div",{className:"ctx-panel-body",children:[e.jsx("span",{className:"ctx-panel-name",children:t.task}),e.jsxs("span",{className:"ctx-panel-sub",children:[t.agentName??t.agentId," · ",t.statusLabel]})]})})}export{De as OpsInspectorPanel,De as OpsRight};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as l}from"./index-
|
|
1
|
+
import{r as l}from"./index-BFbLvCJn.js";const d=["input","textarea","select","[contenteditable='']","[contenteditable='true']","[contenteditable='plaintext-only']","[role='combobox']","[role='searchbox']","[role='spinbutton']","[role='textbox']"].join(","),y=[".xterm",".xterm-helper-textarea","[data-scout-terminal-input='true']"].join(",");function m(t){const e=t;if(!e)return!1;const n=typeof e.tagName=="string"?e.tagName.toLowerCase():"";return n==="input"||n==="textarea"||n==="select"||e.isContentEditable===!0||typeof e.closest=="function"&&e.closest(d)?!0:typeof e.parentElement?.closest=="function"&&!!e.parentElement.closest(d)}function x(t){const e=t;return e?typeof e.closest=="function"&&e.closest(y)?!0:typeof e.parentElement?.closest=="function"&&!!e.parentElement.closest(y):!1}function k(t){return(t.metaKey||t.ctrlKey)&&t.shiftKey&&!t.altKey&&t.key.toLowerCase()==="b"}function h(){return!!(document.querySelector(".kb-help-backdrop")||document.querySelector("[data-command-palette-open='true']")||document.querySelector("[role='dialog'][aria-modal='true']"))}function g(t,e,n){return e<=0?-1:t<0?n>0?0:e-1:Math.max(0,Math.min(e-1,t+n))}const f=["a[href]","button:not([disabled])","textarea:not([disabled])","input:not([disabled])","select:not([disabled])","[tabindex]:not([tabindex='-1'])"].join(", ");function w(t=!0){const e=l.useRef(null),n=l.useRef(null);l.useEffect(()=>{if(!t)return;n.current=document.activeElement;const o=e.current;return o?((o.querySelector(f)??o).focus(),()=>{n.current?.focus?.()}):void 0},[t]);const r=l.useCallback(o=>{if(!t||o.key!=="Tab")return;const s=e.current;if(!s)return;const c=Array.from(s.querySelectorAll(f));if(c.length===0){o.preventDefault(),s.focus();return}const u=c[0],a=c[c.length-1],i=document.activeElement;o.shiftKey?(i===u||!s.contains(i))&&(o.preventDefault(),a.focus()):i===a&&(o.preventDefault(),u.focus())},[t]);return{ref:e,onKeyDown:r}}function p(t){return Array.from(t.querySelectorAll([":scope > button:not([disabled])",":scope > [role='button']:not([aria-disabled='true'])",":scope > * > button[data-list-primary]:not([disabled])"].join(", ")))}function b(t,e){t.forEach((n,r)=>{n.tabIndex=r===e?0:-1}),t[e]?.focus()}function S(){return l.useCallback(t=>{const e=t.key==="ArrowDown"||t.key==="j",n=t.key==="ArrowUp"||t.key==="k",r=t.key==="Home"||t.key==="g"&&!t.shiftKey&&!t.metaKey&&!t.ctrlKey,o=t.key==="End"||t.key==="G";if(!e&&!n&&!r&&!o)return;const s=p(t.currentTarget);if(s.length===0)return;const c=document.activeElement,u=s.findIndex(i=>i===c);let a;e?a=u<0?0:Math.min(s.length-1,u+1):n?a=u<0?s.length-1:Math.max(0,u-1):r?a=0:a=s.length-1,t.preventDefault(),b(s,a)},[])}function T(t,e,n){return t||!e&&n?0:-1}function v(){l.useEffect(()=>{const t=e=>{if(e.key!=="["&&e.key!=="]"||m(e.target))return;const n=e.target,r=["left","center","right"],o=e.key==="]"?1:-1,s=r.findIndex(u=>{const a=document.querySelector(`[data-pane="${u}"]`);return a?a.contains(n):!1}),c=s<0?o>0?-1:r.length:s;for(let u=c+o;u>=0&&u<r.length;u+=o){const a=document.querySelector(`[data-pane="${r[u]}"]`);if(!a)continue;const i=a.querySelector(f);if(i){e.preventDefault(),i.focus();return}}};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[])}function L(t){l.useEffect(()=>{const e=n=>{if(n.key!=="/"||m(n.target))return;const r=t();r&&(n.preventDefault(),r.focus(),r.select())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[t])}function A(t){return e=>{if(e.key!=="ArrowDown")return;const n=t();if(!n)return;const r=p(n);if(r.length===0)return;const o=r.findIndex(c=>c.tabIndex===0),s=o>=0?o:0;e.preventDefault(),b(r,s)}}export{S as a,L as b,h as c,x as d,v as e,k as f,m as i,A as m,g as n,T as r,w as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as a}from"./index-
|
|
1
|
+
import{r as a}from"./index-BFbLvCJn.js";let o=null;const s=new Set;function d(e,t){return e===t?!0:!e||!t?!1:e.live===t.live&&e.harness===t.harness&&e.identity===t.identity&&e.project===t.project&&e.actionGlyph===t.actionGlyph&&e.actionLabel===t.actionLabel&&e.actionMeta===t.actionMeta&&e.countsLabel===t.countsLabel&&e.strip.length===t.strip.length&&e.strip.every((n,r)=>n===t.strip[r])}function L(e,t){return e.id===t.id&&e.label===t.label&&e.statusLabel===t.statusLabel&&e.tone===t.tone&&e.agentId===t.agentId&&e.updatedAt===t.updatedAt&&d(e.floor,t.floor)}function p(e,t){return e===t?!0:e===null||t===null||e.length!==t.length?!1:e.every((n,r)=>L(n,t[r]))}function S(e){if(!p(o,e)){o=e;for(const t of s)t()}}function g(e){return s.add(e),()=>{s.delete(e)}}function i(){return o}function E(){return a.useSyncExternalStore(g,i,i)}let u=null;const l=new Set;function I(e){if(u!==e){u=e;for(const t of l)t()}}function h(e){return l.add(e),()=>{l.delete(e)}}function c(){return u}function F(){return a.useSyncExternalStore(h,c,c)}let f=null;function v(e){f=e}function R(){return f}export{I as a,F as b,R as g,S as p,v as s,E as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as a}from"./createLucideIcon-
|
|
1
|
+
import{c as a}from"./createLucideIcon-CKbjXlwv.js";const e=[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]],c=a("layers",e);export{c as L};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as t}from"./createLucideIcon-
|
|
1
|
+
import{c as t}from"./createLucideIcon-CKbjXlwv.js";const e=[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]],i=t("layout-grid",e);export{i as L};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as n,r as y}from"./index-BFbLvCJn.js";import{u as L,j as _,l as F,e as T,m as E,a as b,r as C,f as $,d as P,t as R}from"./mesh-view-store-CVqzYz4K.js";import{u as B}from"./Provider-BEXAZWd9.js";import{n as z}from"./agent-state-DDhnFEEP.js";import{a as H,b as O,d as U,m as q}from"./machine-children-DvCiQxwA.js";import{u as K,h as V}from"./use-fleet-active-asks-DAHOPYPV.js";import{R as I}from"./RailRow-Ddz90weI.js";import{nodeMenuRowProps as G,NodeMenu as Q}from"./NodeMenu-BgJMmffZ.js";import{u as D,l as J,r as W}from"./use-mesh-node-state-BlWIPTc4.js";import{o as X}from"./openAgent-Dbv5wfuL.js";/* empty css */import"./theme-vars-DNK0nn3k.js";import"./router-CJIx83Ia.js";import"./api-DSqpVKC7.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./machine-scope-DJt9RZ2w.js";import"./sse-BVxO0zNp.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-D-VB5vdt.js";import"./runtime-picker-IRcTkMZ5.js";import"./scout-voice-Cdh6pCsb.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CCG7hG7z.js";import"./createLucideIcon-CKbjXlwv.js";import"./media-blobs-Bi8pxr1u.js";import"./index-CXzJ_hGx.js";import"./HarnessMark-CP-PWk2W.js";import"./conversation-model-FxDeWlle.js";import"./time-Dhsh_2EG.js";import"./conversations-DoAAO6kA.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-BYsEu9dZ.js";import"./keyboard-nav-CEe-ApvZ.js";import"./x-BcfhXYiF.js";import"./chevron-down-DEDSNJNY.js";import"./search-Bv2IONmc.js";import"./file-text-BOJQiS8p.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-mxzPxQQW.js";import"./TextDocumentSurface-DBslUq9k.js";import"./index-V8FYEUpD.js";import"./chevron-right-B02kAw12.js";import"./folder-C2emmTHq.js";import"./chevron-up-CzveykKG.js";import"./code-xml-E9gBuiVs.js";import"./arrow-left-DNjQHf4C.js";import"./arrow-right-A_yyXwoH.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DVhUsgOw.js";import"./AgentAvatar-Dn8TUv5W.js";import"./SpriteAvatar-D53GaaK3.js";import"./CrewAvatar-a_C_F9r_.js";import"./openContent-C6XO6kr5.js";function Y({value:t,onChange:l,placeholder:a="Search…",onKeyDown:s}){return n.jsx("input",{type:"search",className:"fleet-search",placeholder:a,value:t,onChange:m=>l(m.target.value),onKeyDown:s,spellCheck:!1,autoCorrect:"off",autoCapitalize:"off"})}const Z=["needs_attention","in_turn","in_flight","callable","blocked"],ee={in_turn:"in turn",in_flight:"in flight",needs_attention:"needs attention",callable:"callable",blocked:"blocked"},te={in_turn:"working",in_flight:"working",needs_attention:"working",callable:"available",blocked:"offline"};function ne({active:t,onToggle:l}){return n.jsx("div",{className:"fleet-pills",role:"group","aria-label":"State filters",children:Z.map(a=>{const s=t.has(a);return n.jsx("button",{type:"button",className:`fleet-pill fleet-pill--${te[a]}${s?" fleet-pill--on":""}`,onClick:()=>l(a),"aria-pressed":s,children:ee[a]},a)})})}const k=10;function oe(t){return z(t.state)}function ae({bucket:t,active:l,hidden:a,anyHidden:s,positioned:m,full:c,selectedId:v,selectedType:h,activeAsks:A,onSelect:N,onFocus:w,onSelectAgent:p,onToggleFull:x}){const d=y.useRef(null),u=D(t.machineId),M=u?.view??null,g=O({machineId:t.machineId,machineLabel:t.machineLabel,nodeId:t.node?.nodeId??null,brokerUrl:t.node?.brokerUrl??M?.node?.brokerUrl??null,hidden:a,anyHidden:s,positioned:m,canCopy:typeof navigator<"u"&&!!navigator.clipboard,checking:u?.loading??!1,on:{select:e=>N(e),refresh:e=>{W(e)},focus:e=>w(e),toggleHidden:e=>R(e),showAll:()=>T(),clearPosition:e=>P(e),copy:e=>{navigator.clipboard?.writeText(e)}}}),r=U(t,M),S=c?r:r.slice(0,k),f=r.length-S.length;return n.jsxs("div",{className:"mesh-nav-machine",children:[n.jsx(I,{name:t.machineLabel,meta:q(t,M,u?.loading??!1),tone:"neutral",active:l,onClick:()=>N(t.machineId),onPointerEnter:()=>{u||J(t.machineId,{deep:!1})},title:`${t.machineLabel} — click to see what is running here`,actions:n.jsx(Q,{ref:d,machineLabel:t.machineLabel,actions:g,className:"mesh-nav-menu-btn"}),...G(d)}),S.map(e=>n.jsx(I,{name:e.name,meta:e.meta,tone:e.tone,depth:1,active:v===e.selectId&&h==="agent",unread:e.agent?V(A,e.agent.id):!1,onClick:e.agent?()=>p(e.agent):void 0,title:e.title},e.key)),!c&&f>0&&n.jsx(I,{name:`see ${f} more`,depth:1,tone:"neutral",onClick:()=>x(t.machineId),title:"Show all agents on this machine"}),c&&r.length>k&&n.jsx(I,{name:"see less",depth:1,tone:"neutral",onClick:()=>x(t.machineId),title:"Show recent agents only"})]})}function ct(){const{agents:t,navigate:l}=B(),{meshSnapshot:a,selectedId:s,selectedType:m,query:c,agentStateFilters:v,hiddenMachineIds:h,treeFullMachineIds:A,machinePositions:N}=L(),w=K(),p=y.useMemo(()=>a?H(t,a):[],[t,a]),x=y.useMemo(()=>{const e=c.trim().toLowerCase();return p.filter(o=>!h.has(o.machineId)).map(o=>{const i=o.agents.filter(j=>v.has(oe(j))?e?`${j.name??""} ${j.project??""} ${j.branch??""} ${j.harness??""}`.toLowerCase().includes(e):!0:!1);return{...o,agents:i}})},[p,c,v,h]),d=y.useMemo(()=>{const e=new Map([["this",[]],["peer",[]],["tailnet",[]]]);for(const o of x){const i=o.reachability==="this"?"this":o.reachability==="peer"?"peer":"tailnet";e.get(i)?.push(o)}return e},[x]);if(!a)return n.jsx("div",{className:"ctx-panel ctx-panel--empty",children:n.jsx("div",{className:"ctx-panel-empty-state",children:n.jsx("div",{className:"ctx-panel-empty-hint",children:"Loading mesh…"})})});const u=e=>{b(e,"node"),C(e)},M=e=>{$(e,p.map(o=>o.machineId)),b(e,"node"),C(e)},g=h.size,r=p.length,S=e=>{b(e.id,"agent");const o=e.authorityNodeId??e.homeNodeId;o&&C(o),X(l,e,{returnTo:{view:"mesh"}})},f=(e,o)=>o.length===0?null:n.jsxs("section",{className:"mesh-nav-group",children:[n.jsx("div",{className:"mesh-nav-group-label",children:e}),o.map(i=>n.jsx(ae,{bucket:i,active:s===i.machineId&&m==="node",hidden:h.has(i.machineId),anyHidden:g>0,positioned:i.machineId in N,full:A.has(i.machineId),selectedId:s,selectedType:m,activeAsks:w,onSelect:u,onFocus:M,onSelectAgent:S,onToggleFull:E},i.machineId))]},e);return n.jsxs("div",{className:"ctx-panel mesh-nav",children:[n.jsxs("div",{className:"mesh-nav-head",children:[n.jsx(Y,{value:c,onChange:_,placeholder:"Find machines or agents…"}),n.jsx(ne,{active:v,onToggle:F}),g>0&&g<r&&n.jsxs("button",{type:"button",className:"mesh-nav-focus-chip",onClick:T,title:"Show all machines",children:[n.jsxs("span",{className:"mesh-nav-focus-chip-label",children:["focused · ",r-g,"/",r]}),n.jsx("span",{className:"mesh-nav-focus-chip-clear","aria-hidden":!0,children:"×"})]})]}),n.jsxs("div",{className:"mesh-nav-tree",children:[f("this host",d.get("this")??[]),f("peers",d.get("peer")??[]),f("tailnet",d.get("tailnet")??[])]})]})}export{ct as MeshLeft};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as d,j as i}from"./index-BFbLvCJn.js";import{u as wt,l as xt}from"./use-conversation-list-CGtcpdPd.js";import{a as It}from"./api-DSqpVKC7.js";/* empty css */import{m as Ct,c as yt,i as jt}from"./machine-scope-DJt9RZ2w.js";import{a as At,b as Rt,m as St,r as ze}from"./keyboard-nav-CEe-ApvZ.js";import{n as we,f as Ge}from"./agent-state-DDhnFEEP.js";import{f as kt,c as F,i as _e,d as Me,a as Xe,g as Mt}from"./conversations-DoAAO6kA.js";import{l as Nt,i as K,a as _,p as Fe,t as $t,b as Lt}from"./conversation-prefs-DNre-Lcx.js";import{i as Pt,l as Bt,s as De}from"./sessionRead-CvFz2RHv.js";import{u as Tt,f as be,b as Ot}from"./use-fleet-active-asks-DAHOPYPV.js";import{p as Et,N as Ke,g as Ut,t as Gt}from"./sessions-view-lGMwwZY7.js";import{u as _t,a as Ft}from"./Provider-BEXAZWd9.js";import{u as Dt}from"./use-beside-DopIbJwf.js";import{t as re}from"./time-Dhsh_2EG.js";import{b as Kt}from"./router-CJIx83Ia.js";import{c as Ze}from"./message-visibility-DwxgcgYK.js";import{R as Ne}from"./RailRow-Ddz90weI.js";import{a as Ve,c as qe}from"./agent-master-model-Bk_yuUXJ.js";import"./sse-BVxO0zNp.js";import"./index-BWHgHrtv.js";import"./theme-vars-DNK0nn3k.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-D-VB5vdt.js";import"./runtime-picker-IRcTkMZ5.js";import"./scout-voice-Cdh6pCsb.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CCG7hG7z.js";import"./createLucideIcon-CKbjXlwv.js";import"./media-blobs-Bi8pxr1u.js";import"./index-CXzJ_hGx.js";import"./HarnessMark-CP-PWk2W.js";import"./conversation-model-FxDeWlle.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-BYsEu9dZ.js";import"./x-BcfhXYiF.js";import"./chevron-down-DEDSNJNY.js";import"./search-Bv2IONmc.js";import"./file-text-BOJQiS8p.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-mxzPxQQW.js";import"./TextDocumentSurface-DBslUq9k.js";import"./index-V8FYEUpD.js";import"./chevron-right-B02kAw12.js";import"./folder-C2emmTHq.js";import"./chevron-up-CzveykKG.js";import"./code-xml-E9gBuiVs.js";import"./arrow-left-DNjQHf4C.js";import"./arrow-right-A_yyXwoH.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DVhUsgOw.js";import"./comms-deck-CBhsXnY-.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./AgentAvatar-Dn8TUv5W.js";import"./SpriteAvatar-D53GaaK3.js";import"./CrewAvatar-a_C_F9r_.js";function ve(e){const n=e.split("/").filter(Boolean);return n[n.length-1]??e}function et(e){const n=e.replace(/\/+$/,"").split("/");return n[n.length-1]??e}function Vt(e,n){const s=ve(n).toLowerCase(),r=e.filter(m=>!!m.projectRoot),u=r.filter(m=>et(m.projectRoot).toLowerCase()===s),c=u.length>0?u:r,a=qt(c);return a?{label:(u.length>0?c.find(m=>m.projectRoot===a):[...c].sort((m,f)=>f.lastActivityAt-m.lastActivityAt)[0])?.project??ve(n),canonicalRoot:a}:{label:ve(n),canonicalRoot:null}}function qt(e){const n=new Map;for(const c of e){const a=n.get(c.projectRoot)??{count:0,latest:0};a.count+=1,a.latest=Math.max(a.latest,c.lastActivityAt),n.set(c.projectRoot,a)}let s=null,r=-1,u=-1;for(const[c,a]of n)(a.count>r||a.count===r&&a.latest>u)&&(s=c,r=a.count,u=a.latest);return s}function Qt(e,n,s,r){const u=new Map;for(const a of e){const v=kt(a),m=a.agentId?n.get(a.agentId):void 0,f=m?.repoKey??null,g=m?.project??null,N=(a.agentName??F(a)).trim(),b=v?`channel:${a.id}`:f?`repo:${f.toLowerCase()}`:g?`project:${g.toLowerCase()}`:N?`name:${N.toLowerCase()}`:`dm:${a.id}`,j=v?F(a):f?ve(f):g??N??F(a);let w=u.get(b);if(w||(w={key:b,label:j,isChannel:v,conversations:[],bestState:"blocked",latestUpdate:0,unreadCount:0,canonicalRoot:null},u.set(b,w)),w.conversations.push(a),w.latestUpdate=Math.max(w.latestUpdate,a.lastMessageAt??0),Pt(a.lastMessageAt,a.id,s)&&(w.unreadCount+=1),!v&&m){const S=we(m.state);Ge(S)<Ge(w.bestState)&&(w.bestState=S)}}for(const a of u.values()){if(a.key.startsWith("repo:")){const v=a.conversations.map(f=>{const g=f.agentId?n.get(f.agentId):void 0;return{project:g?.project??null,projectRoot:g?.projectRoot??null,lastActivityAt:f.lastMessageAt??0}}),m=Vt(v,a.key.slice(5));a.label=m.label,a.canonicalRoot=m.canonicalRoot}a.conversations.sort((v,m)=>(m.lastMessageAt??0)-(v.lastMessageAt??0))}const c=Array.from(u.values());return c.sort((a,v)=>v.latestUpdate-a.latestUpdate),c}const tt="scout:messages:rail:v2",ge={view:"sessions",groupBy:"recent"};let Se=null;function Ht(e){return e==="agents"||e==="sessions"}function Jt(e){return e==="recent"||e==="project"||e==="agent"||e==="day"||e==="state"}function Yt(){if(Se)return Se;try{const e=window.localStorage.getItem(tt);if(!e)return{...ge};const n=JSON.parse(e);return{view:Ht(n.view)?n.view:ge.view,groupBy:Jt(n.groupBy)?n.groupBy:ge.groupBy}}catch{return{...ge}}}function Qe(e){try{window.localStorage.setItem(tt,JSON.stringify(e))}catch{Se=e}return e}const Wt=12,zt=[["recent","Recent"],["project","Project"],["agent","Agent"],["day","Day"],["state","State"]];function uo(){const{route:e,navigate:n,agents:s,apiConnection:r}=_t(),{sessions:u,loading:c,loadError:a,reload:v}=wt(),[m,f]=d.useState(()=>Bt()),[g,N]=d.useState(()=>Nt()),[b,j]=d.useState(""),[w,S]=d.useState(()=>new Set),[V,l]=d.useState(!1),[x,q]=d.useState(!1),[X,Z]=d.useState(!1),[B,Q]=d.useState(()=>Yt()),C=B.view,H=d.useCallback(t=>{Q(o=>Qe({...o,view:t}))},[]),it=d.useCallback(t=>{Q(o=>Qe({...o,groupBy:t}))},[]),M=Tt(),A=Kt(e),ee=d.useMemo(()=>Ct(s,A),[s,A]),R=d.useMemo(()=>{const t=new Map,o=ee?s.filter(p=>ee.has(p.id)):s;for(const p of o)t.set(p.id,p);return t},[s,ee]),xe=e.view==="messages"||e.view==="conversation"||e.view==="agent-info"||e.view==="agents-v2"?e.conversationId:void 0,te=e.view==="messages"?e.agentId:void 0;d.useEffect(()=>{q(!1)},[b]);const ne=d.useMemo(()=>yt(u,ee,A),[u,ee,A]),Ie=d.useMemo(()=>b?ne.filter(t=>He(t,b)):ne,[ne,b]),oe=d.useMemo(()=>{const t=o=>be(M,o)?.updatedAt??0;return ne.filter(o=>K(o.id,g)||!_e(o)?!1:be(M,o)?.status==="needs_attention").sort((o,p)=>t(p)-t(o))},[ne,g,M]),se=d.useMemo(()=>b?oe.filter(t=>He(t,b)):oe,[oe,b]),I=d.useMemo(()=>{const t=Ie.filter(k=>!K(k.id,g)),o=he(Ie.filter(k=>K(k.id,g))),p=t.filter(k=>_(k.id,g)).sort((k,z)=>Fe(z.id,g)-Fe(k.id,g)||(z.lastMessageAt??0)-(k.lastMessageAt??0)),W=t.filter(k=>!_(k.id,g)),h=W.filter(Me),y=W.filter(_e),L=W.filter(Xe);return{pinned:p,channels:he(h),dms:he(y),observed:he(L),archived:o}},[Ie,R,m,g]),$=d.useMemo(()=>{const t=new Map,o=[];for(const h of I.dms){if(!h.agentId){o.push(h);continue}const y=R.get(h.agentId),L=Ve(y,h.agentId),k=y?[...R.values()].filter(E=>Ve(E,E.id)===L):[],z=qe(k)??y,ft=z?.name??h.agentName??h.agentId.split(".")[0]??h.agentId,P=t.get(L);if(P){P.count+=1,P.memberAgentIds.includes(h.agentId)||P.memberAgentIds.push(h.agentId);const E=qe([P.agent,y].filter(bt=>!!bt));P.agent=E,P.agentId=E?.id??[...P.memberAgentIds].sort()[0],P.name=E?.name??P.name;continue}t.set(L,{agentId:z?.id??h.agentId,agent:z,name:ft,memberAgentIds:k.length>0?k.map(E=>E.id).sort():[h.agentId],latest:h,count:1})}const p=new Map;for(const h of t.values()){const y=Et(h.agent),L=p.get(y);L?L.push(h):p.set(y,[h])}for(const h of p.values())h.sort((y,L)=>y.name.localeCompare(L.name));return{projects:[...p.keys()].sort((h,y)=>h===Ke?1:y===Ke?-1:h.localeCompare(y)).map(h=>({label:h,entries:p.get(h)})),unassigned:o}},[I.dms,R]),J=C==="sessions"&&B.groupBy==="recent",ce=d.useMemo(()=>J?[]:I.channels,[J,I.channels]),Y=d.useMemo(()=>J?[]:Qt(I.observed,R,m),[J,I.observed,R,m]),le=d.useMemo(()=>{if(C!=="sessions")return[];const t=J?[...I.dms,...I.channels,...I.observed]:I.dms;return Ut(t,B.groupBy,R,M,Date.now())},[C,J,I.dms,I.channels,I.observed,B.groupBy,R,M]),Le=Ft(),de=d.useCallback(t=>{N(o=>$t(t,o))},[]),ue=d.useCallback(t=>{N(o=>Lt(t,o))},[]),Ce=Xt(),ae=Dt(),T=d.useCallback(t=>{f(De(t.id)),n({view:"messages",conversationId:t.id,...A?{machineId:A}:{}})},[n,A]),rt=d.useCallback(t=>{n({view:"messages",agentId:t,...A?{machineId:A}:{}})},[n,A]),ct=d.useCallback(t=>{if(f(De(t.id)),t.agentId){n({view:"messages",agentId:t.agentId,threadId:t.id,...A?{machineId:A}:{}});return}n({view:"messages",conversationId:t.id,...A?{machineId:A}:{}})},[n,A]),D=d.useCallback((t,o)=>{const p=_(o.id,g),W=K(o.id,g),h=F(o),y=[{kind:"action",label:"Open",onSelect:()=>T(o)},{kind:"action",label:ae.has(o.id)?"Close beside the stage":"Open beside the stage",onSelect:()=>ae.toggle(o.id)},{kind:"separator"},{kind:"action",label:p?"Unpin":"Pin to top",onSelect:()=>de(o.id)},{kind:"action",label:W?"Unarchive":"Archive",onSelect:()=>ue(o.id)},{kind:"separator"},{kind:"action",label:"Rename…",onSelect:()=>Ce.begin(o.id)},{kind:"action",label:"Copy name",onSelect:()=>{navigator.clipboard?.writeText(h).catch(()=>{})}}];Le(t,y)},[g,T,de,ue,Le,Ce,ae]),lt=t=>{S(o=>{const p=new Set(o);return p.has(t)?p.delete(t):p.add(t),p})},dt=r.status==="offline"||jt(a),Pe=d.useRef(null),Be=d.useRef(null),ut=At(),pt=St(()=>Pe.current);Rt(d.useCallback(()=>Be.current,[]));const ye=I.pinned.length,je=ce.length,mt=C==="agents"?$.projects.reduce((t,o)=>t+o.entries.length,0)+$.unassigned.length:le.reduce((t,o)=>t+o.sessions.length,0),Ae=Y.reduce((t,o)=>t+o.conversations.length,0),pe=I.archived.length,Te=ye+je+mt+Ae+pe,gt=V||!!b,Re=d.useMemo(()=>{const t=[];for(const o of se)t.push({rowId:`ny-${o.id}`,id:o.id});for(const o of I.pinned)t.push({rowId:`pin-${o.id}`,id:o.id});if(C==="agents"){for(const o of $.projects)for(const p of o.entries)t.push({rowId:`agent-${p.agentId}`,id:`agent-${p.agentId}`});for(const o of $.unassigned)t.push({rowId:o.id,id:o.id})}else for(const o of le)for(const p of o.sessions)t.push({rowId:p.id,id:p.id});for(const o of ce)t.push({rowId:o.id,id:o.id});for(const o of Y)for(const p of o.conversations)t.push({rowId:p.id,id:p.id});for(const o of I.archived)t.push({rowId:`arch-${o.id}`,id:o.id});return t},[se,I,C,$,le,ce,Y]),ht=e.view==="messages"?e.threadId:void 0,Oe=d.useMemo(()=>{if(te){for(const t of $.projects)for(const o of t.entries)if(o.agentId===te||o.memberAgentIds.includes(te))return o.agentId;return te}},[te,$]),me=xe??(C==="sessions"?ht:void 0)??(Oe?`agent-${Oe}`:void 0),O=d.useMemo(()=>({activeId:me,activeRowId:me?Re.find(t=>t.id===me)?.rowId:void 0,firstRowId:Re[0]?.rowId}),[me,Re]),Ee=x||b?Y:Y.slice(0,Wt),Ue=Math.max(0,Y.length-Ee.length),vt=t=>!!(b||w.has(t.key)||xe&&t.conversations.some(o=>o.id===xe)),ie=t=>i.jsx(ke,{pinned:_(t.id,g),archived:K(t.id,g),beside:ae.has(t.id),onTogglePin:()=>de(t.id),onToggleArchive:()=>ue(t.id),onToggleBeside:()=>ae.toggle(t.id)});return i.jsx(nt.Provider,{value:Ce,children:i.jsxs("div",{className:"ctx-panel",children:[i.jsxs("div",{className:"ctx-panel-toolbar",children:[i.jsx("input",{ref:Be,type:"text",className:"ctx-panel-search-input",placeholder:"Filter… (/)",value:b,onChange:t=>j(t.target.value),onKeyDown:pt}),oe.length>0&&i.jsx("span",{className:"ctx-panel-rail-stat",title:"Asks waiting on your reply",children:nn(oe.length)})]}),i.jsxs("div",{className:"ctx-panel-viewtoggle",role:"tablist","aria-label":"Rail view",children:[i.jsx("button",{type:"button",role:"tab","aria-selected":C==="agents",className:`ctx-panel-viewtab${C==="agents"?" ctx-panel-viewtab--on":""}`,onClick:()=>H("agents"),children:"Agents"}),i.jsx("button",{type:"button",role:"tab","aria-selected":C==="sessions",className:`ctx-panel-viewtab${C==="sessions"?" ctx-panel-viewtab--on":""}`,onClick:()=>H("sessions"),children:"Sessions"})]}),i.jsx("div",{ref:Pe,className:["ctx-panel-list","ctx-panel-list--scroll",Te===0&&"ctx-panel-list--empty"].filter(Boolean).join(" "),onKeyDown:ut,children:Te===0?i.jsx(tn,{query:b,loading:c,error:a,apiOffline:dt,onRetry:()=>{v(!0)}}):i.jsxs(i.Fragment,{children:[se.length>0&&i.jsx(U,{label:"Needs you",count:se.length,hint:"Asks waiting on your reply",children:se.map(t=>i.jsx(G,{rowId:`ny-${t.id}`,session:t,nav:O,agentById:R,asksByAgent:M,onSelect:T,onContextMenu:D},`ny-${t.id}`))}),ye>0&&i.jsx(U,{label:"Pinned",count:ye,hint:"Pinned conversations",children:I.pinned.map(t=>i.jsx(G,{rowId:`pin-${t.id}`,session:t,nav:O,agentById:R,asksByAgent:M,pinned:!0,actions:ie(t),onSelect:T,onContextMenu:D},`pin-${t.id}`))}),C==="agents"&&$.projects.map(t=>i.jsx(U,{label:t.label,count:t.entries.length,children:t.entries.map(o=>i.jsx(Zt,{entry:o,nav:O,ask:Ot(M,o.memberAgentIds),onSelect:rt},o.agentId))},t.label)),C==="agents"&&$.unassigned.length>0&&i.jsx(U,{label:"Direct",count:$.unassigned.length,hint:"Conversations without a resolved agent",children:$.unassigned.map(t=>i.jsx(G,{rowId:t.id,session:t,nav:O,agentById:R,asksByAgent:M,actions:ie(t),onSelect:T,onContextMenu:D},t.id))}),C==="sessions"&&i.jsxs("div",{className:"ctx-panel-groupbar",role:"radiogroup","aria-label":"Order the queue by",children:[i.jsx("span",{className:"ctx-panel-groupbar-label",children:"Order"}),zt.map(([t,o])=>i.jsx("button",{type:"button",role:"radio","aria-checked":B.groupBy===t,className:`ctx-panel-groupchip${B.groupBy===t?" ctx-panel-groupchip--on":""}`,onClick:()=>it(t),children:o},t))]}),C==="sessions"&&le.map(t=>i.jsx(U,{label:t.label,count:t.sessions.length,children:t.sessions.map(o=>i.jsx(G,{rowId:o.id,session:o,nav:O,agentById:R,asksByAgent:M,taskTitled:!0,actions:ie(o),onSelect:ct,onContextMenu:D},o.id))},t.label)),je>0&&i.jsx(U,{label:"Channels",count:je,children:ce.map(t=>i.jsx(G,{rowId:t.id,session:t,nav:O,agentById:R,asksByAgent:M,actions:ie(t),onSelect:T,onContextMenu:D},t.id))}),Ae>0&&i.jsxs(U,{label:"Observed",count:Ae,hint:"Agent conversations you’re not in",open:gt,onToggle:()=>l(t=>!t),children:[Ee.map(t=>i.jsx(en,{group:t,isOpen:vt(t),nav:O,agentById:R,asksByAgent:M,prefs:g,observed:!0,onToggle:()=>lt(t.key),onSelect:T,onTogglePin:de,onToggleArchive:ue,onContextMenu:D},t.key)),Ue>0?i.jsxs("button",{type:"button",className:"ctx-panel-more",onClick:()=>q(!0),children:["+ ",Ue," more observed"]}):null]}),pe>0&&i.jsxs(U,{label:"Archived",count:pe,hint:"Hidden from the main rail",children:[i.jsx("button",{type:"button",className:"ctx-panel-more",onClick:()=>Z(t=>!t),children:X?"▾ hide archived":`› show ${pe} archived`}),X?I.archived.map(t=>i.jsx(G,{rowId:`arch-${t.id}`,session:t,nav:O,agentById:R,asksByAgent:M,actions:ie(t),onSelect:T,onContextMenu:D},`arch-${t.id}`)):null]})]})})]})})}const nt=d.createContext(null);function Xt(){const[e,n]=d.useState(null),[s,r]=d.useState({}),u=d.useCallback((c,a)=>{n(null);const v=a.trim();r(m=>({...m,[c]:v})),It(`/api/conversations/${encodeURIComponent(c)}/title`,{method:"POST",body:JSON.stringify({title:v})}).then(()=>xt({force:!0})).catch(()=>{}).then(()=>{r(m=>{const{[c]:f,...g}=m;return g})})},[]);return{editingId:e,renamed:s,begin:d.useCallback(c=>n(c),[]),commit:u,cancel:d.useCallback(()=>n(null),[])}}function U({label:e,count:n,hint:s,open:r,onToggle:u,children:c}){return u?i.jsxs("section",{className:"ctx-panel-rail-section","aria-label":e,children:[i.jsxs("button",{type:"button",className:"ctx-panel-section-label ctx-panel-section-toggle",title:s,"aria-expanded":!!r,onClick:u,children:[i.jsxs("span",{className:"ctx-panel-section-toggle-label",children:[i.jsx("span",{className:"ctx-panel-section-chevron","aria-hidden":!0,children:r?"▾":"▸"}),e]}),i.jsx("span",{className:"ctx-panel-count",children:n})]}),r?i.jsx("div",{className:"ctx-panel-rail-section-body",children:c}):null]}):i.jsxs("section",{className:"ctx-panel-rail-section","aria-label":e,children:[i.jsxs("div",{className:"ctx-panel-section-label",title:s,children:[i.jsx("span",{children:e}),i.jsx("span",{className:"ctx-panel-count",children:n})]}),i.jsx("div",{className:"ctx-panel-rail-section-body",children:c})]})}function ke({pinned:e,archived:n,beside:s,onTogglePin:r,onToggleArchive:u,onToggleBeside:c}){return i.jsxs(i.Fragment,{children:[c?i.jsx("button",{type:"button",className:["rr-row-action",s&&"rr-row-action--on"].filter(Boolean).join(" "),title:s?"Close the column beside the stage":"Keep this conversation beside the stage","aria-label":s?"Close beside":"Open beside","aria-pressed":s,onClick:a=>{a.stopPropagation(),c()},children:"Beside"}):null,i.jsx("button",{type:"button",className:["rr-row-action",e&&"rr-row-action--on"].filter(Boolean).join(" "),title:e?"Unpin":"Pin to top","aria-label":e?"Unpin":"Pin",onClick:a=>{a.stopPropagation(),r()},children:e?"Unpin":"Pin"}),i.jsx("button",{type:"button",className:["rr-row-action",n&&"rr-row-action--on"].filter(Boolean).join(" "),title:n?"Unarchive":"Archive","aria-label":n?"Unarchive":"Archive",onClick:a=>{a.stopPropagation(),u()},children:n?"Restore":"Archive"})]})}function G({session:e,rowId:n,nav:s,agentById:r,asksByAgent:u,pinned:c,depth:a,actions:v,worktreeLabel:m,taskTitled:f,onSelect:g,onContextMenu:N}){const b=e.id===s.activeId,j=d.useContext(nt),w=j?.renamed[e.id]??(f?Gt(e):F(e)),S=Me(e),V=Xe(e),l=e.agentId?r.get(e.agentId):void 0,x=be(u,e),q=!S&&!V&&x?.status==="needs_attention",X=Ye(e,l),Z=l?.name??e.agentName??void 0,B=S?`${e.participantCount??e.participantIds.length} members`:f?Z?.toLowerCase()===w.toLowerCase()?void 0:Z:X.toLowerCase()===w.toLowerCase()?void 0:X,Q=!S&&!f&&x?at(e,l,x):B,C=V?Q?`watching · ${Q}`:"watching":Q;return i.jsx(Ne,{depth:a,name:a===1?Je(e,l,x):w,sub:a===1?Ye(e,l):C,meta:x?re(x.updatedAt):e.lastMessageAt?re(e.lastMessageAt):void 0,tone:S?"channel":x?st(l,x):l?we(l.state):"dm",agent:S?void 0:l,avatarName:a===1?l?.name??Je(e,l,x):f?Z??w:w,avatarKind:S?"channel":"user",active:b,unread:q,pinned:c,activityLabel:x?$e(x):void 0,activityTone:x?ot(x):void 0,worktreeLabel:m??void 0,title:a===1?on(e,l,x):void 0,actions:j?.editingId===e.id?void 0:v,editing:j&&j.editingId===e.id?{value:w,onCommit:H=>j.commit(e.id,H),onCancel:j.cancel}:void 0,tabIndex:ze(n===s.activeRowId,s.activeRowId!==void 0,n===s.firstRowId),onClick:()=>g(e),onContextMenu:N?H=>N(H,e):void 0})}function Zt({entry:e,nav:n,ask:s,onSelect:r}){const u=`agent-${e.agentId}`,c=e.agent,a=s?re(s.updatedAt):e.latest.lastMessageAt?re(e.latest.lastMessageAt):void 0;return i.jsx(Ne,{name:e.name,sub:s?at(e.latest,c,s):void 0,meta:e.count>1?a?`${e.count} · ${a}`:`${e.count}`:a,tone:s?st(c,s):c?we(c.state):"dm",agent:c,avatarName:e.name,avatarKind:"user",active:u===n.activeId,unread:s?.status==="needs_attention",activityLabel:s?$e(s):void 0,activityTone:s?ot(s):void 0,tabIndex:ze(u===n.activeRowId,n.activeRowId!==void 0,u===n.firstRowId),onClick:()=>r(e.agentId)})}function en({group:e,isOpen:n,nav:s,agentById:r,asksByAgent:u,prefs:c,observed:a,onToggle:v,onSelect:m,onTogglePin:f,onToggleArchive:g,onContextMenu:N}){if(e.conversations.length===1){const l=e.conversations[0];return i.jsx(G,{rowId:l.id,session:l,nav:s,agentById:r,asksByAgent:u,pinned:_(l.id,c),actions:i.jsx(ke,{pinned:_(l.id,c),archived:K(l.id,c),onTogglePin:()=>f(l.id),onToggleArchive:()=>g(l.id)}),onSelect:m,onContextMenu:N})}const b=e.conversations.map(l=>be(u,l)).filter(l=>!!l),j=b.length,w=b.filter(l=>l.status==="working").length,S=b.filter(l=>l.status==="needs_attention").length,V=e.conversations.some(l=>l.id===s.activeId);return i.jsxs("div",{children:[i.jsx(Ne,{name:e.label,meta:j>0?`${j} active · ${We(e)}`:We(e),tone:w>0?"in_turn":e.bestState,caret:n?"open":"closed",active:V&&!n,unread:!a&&S>0&&!n,activityLabel:j>0?`${j} active`:void 0,activityTone:S>0?"attention":w>0?"working":"pending",onClick:v}),n&&e.conversations.map(l=>{const x=l.agentId?r.get(l.agentId):void 0,q=e.canonicalRoot&&x?.projectRoot&&x.projectRoot!==e.canonicalRoot?et(x.projectRoot):null;return i.jsx(G,{rowId:l.id,session:l,depth:1,nav:s,agentById:r,asksByAgent:u,pinned:_(l.id,c),worktreeLabel:q,actions:i.jsx(ke,{pinned:_(l.id,c),archived:K(l.id,c),onTogglePin:()=>f(l.id),onToggleArchive:()=>g(l.id)}),onSelect:m,onContextMenu:N},l.id)})]},e.key)}function tn({query:e,loading:n,error:s,apiOffline:r,onRetry:u}){const c=e.trim().length>0,a=n?"Loading conversations":r?"Scout server offline":s?"Couldn't load conversations":c?"No matching conversations":"No conversations yet",v=n?"Checking the broker for your conversations, channels, and observed threads.":r?"Start or restart Scout services, then retry.":s||(c?"Try a shorter filter.":"Your conversations, channels, and observed agent threads will show here.");return i.jsxs("div",{className:"ctx-panel-empty-card","data-tone":r||s?"error":"neutral",children:[i.jsx("div",{className:"ctx-panel-empty-card-title",children:a}),i.jsx("div",{className:"ctx-panel-empty-card-detail",children:v}),(r||s)&&i.jsx("button",{type:"button",className:"ctx-panel-empty-card-action",onClick:u,children:"Retry"})]})}function He(e,n){const s=n.toLowerCase();return F(e).toLowerCase().includes(s)||e.id.toLowerCase().includes(s)||(e.preview??"").toLowerCase().includes(s)||(e.agentName??"").toLowerCase().includes(s)}function nn(e){return e===1?"1 needs a reply":`${e} need a reply`}function $e(e){return e.status==="queued"?"Starting":e.status==="working"?"Working":e.status==="needs_attention"?"Needs you":e.statusLabel||e.status}function ot(e){return e.status==="queued"?"pending":e.status==="needs_attention"?"attention":"working"}function st(e,n){return n.status==="working"?"in_turn":e?we(e.state):"dm"}function at(e,n,s){const r=$e(s),u=fe(s.task)??fe(s.summary)??fe(e.preview)??e.currentBranch??n?.branch??"";return u?`${r} · ${u}`:r}function he(e){return[...e].sort((n,s)=>(s.lastMessageAt??0)-(n.lastMessageAt??0))}function Je(e,n,s){const r=s?.task??fe(e.preview)??e.currentBranch??n?.branch??"",u=n?.name??e.agentName??F(e);return r?`${u} · ${r}`:u}function on(e,n,s){const r=[];return s&&r.push(`task: ${s.task}`),e.preview&&r.push(`preview: ${Ze(e.preview)}`),(e.currentBranch??n?.branch)&&r.push(`branch: ${e.currentBranch??n?.branch}`),n?.harness&&r.push(`harness: ${n.harness}`),r.length>0?r.join(`
|
|
2
|
+
`):void 0}function Ye(e,n){if(Me(e))return Mt(e);const s=n?.handle?.trim().replace(/^@+/,"");return s||(e.agentId?e.agentId.split(".")[0]??e.agentId:F(e))}function fe(e){if(!e)return null;const n=Ze(e).replace(/\s+/g," ").trim();return n?n.length>60?`${n.slice(0,57)}…`:n:null}function We(e){const n=e.latestUpdate?re(e.latestUpdate):"",s=`${e.conversations.length}`;return n?`${s} · ${n}`:s}export{uo as ChatLeft};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as m,j as t}from"./index-BFbLvCJn.js";import{u as ee}from"./chunk-YOZR3KYS-apgUnfXh.js";import{b as te,f as ae,a as ne,c as se,d as ie,s as re}from"./terminal-sessions-3RfJpen8.js";import{a as le,r as F,i as oe}from"./keyboard-nav-CEe-ApvZ.js";import{u as ce}from"./Provider-BEXAZWd9.js";import{c as me}from"./agent-state-DDhnFEEP.js";import{r as K,c as de}from"./terminal-relay-CpGHpDa8.js";import{t as ue,a as G,s as ve,b as j,P as pe}from"./session-table-BI62J4NP.js";/* empty css */import{R as he}from"./refresh-cw-BcqctLqo.js";import{A as fe}from"./activity-CXkZ620t.js";import{C as be}from"./clock-8tb9t2t9.js";import{F as xe}from"./folder-C2emmTHq.js";import{L as ye}from"./layers-ClmyjwpB.js";import{C as ge}from"./chevron-right-B02kAw12.js";import{L as D}from"./log-in-VL9mdgeE.js";import{E as B}from"./eye-CD-_aphP.js";import{T as je}from"./terminal-DMBAZjPP.js";import"./createLucideIcon-CKbjXlwv.js";import"./arrow-up-DFy-9ghF.js";import"./arrow-down--OUDFWIq.js";import"./api-DSqpVKC7.js";import"./theme-vars-DNK0nn3k.js";import"./router-CJIx83Ia.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./machine-scope-DJt9RZ2w.js";import"./sse-BVxO0zNp.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-D-VB5vdt.js";import"./runtime-picker-IRcTkMZ5.js";import"./scout-voice-Cdh6pCsb.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CCG7hG7z.js";import"./media-blobs-Bi8pxr1u.js";import"./index-CXzJ_hGx.js";import"./HarnessMark-CP-PWk2W.js";import"./conversation-model-FxDeWlle.js";import"./time-Dhsh_2EG.js";import"./conversations-DoAAO6kA.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-BYsEu9dZ.js";import"./x-BcfhXYiF.js";import"./chevron-down-DEDSNJNY.js";import"./search-Bv2IONmc.js";import"./file-text-BOJQiS8p.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-mxzPxQQW.js";import"./TextDocumentSurface-DBslUq9k.js";import"./index-V8FYEUpD.js";import"./chevron-up-CzveykKG.js";import"./code-xml-E9gBuiVs.js";import"./arrow-left-DNjQHf4C.js";import"./arrow-right-A_yyXwoH.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DVhUsgOw.js";const ke=[{id:"fleet",label:"Fleet",title:"Group by fleet: herdr, tmux, background"},{id:"places",label:"Places",title:"Group by project"},{id:"time",label:"Time",title:"Group by last activity"},{id:"attention",label:"Attention",title:"Group by attention state: attached, live, detached, exited"}],Ne=[{id:"herdr",label:"Herdr"},{id:"tmux-named",label:"Tmux"},{id:"tmux-auto",label:"Tmux · auto"},{id:"external",label:"Background"}],we=900*1e3,Se=1440*60*1e3,Ae=10080*60*1e3,W=[{key:"now",label:"Now",maxAgeMs:we},{key:"today",label:"Today",maxAgeMs:Se},{key:"week",label:"This week",maxAgeMs:Ae},{key:"older",label:"Older",maxAgeMs:null},{key:"unknown",label:"Unknown",maxAgeMs:null}],Ee=[{key:"attached",label:"Attached",rank:3},{key:"live",label:"Live",rank:2},{key:"detached",label:"Detached",rank:1},{key:"exited",label:"Exited",rank:0}];function Ie(n){return Ne.map(s=>({key:s.id,label:s.label,items:n.filter(o=>te(o)===s.id)})).filter(s=>s.items.length>0)}function Te(n){const s=new Map;for(const i of n){const l=s.get(i.project);l?l.push(i):s.set(i.project,[i])}const o=new Set(["backend-only","unscoped"]),r=[...s.entries()].map(([i,l])=>({key:`project:${i}`,label:i,items:l,latestActivity:Math.max(...l.map(u=>G(u)??0)),isCatchAll:o.has(i)}));return r.sort((i,l)=>i.isCatchAll!==l.isCatchAll?i.isCatchAll?1:-1:i.latestActivity!==l.latestActivity?l.latestActivity-i.latestActivity:i.label.localeCompare(l.label,void 0,{numeric:!0,sensitivity:"base"})),r.map(({key:i,label:l,items:u})=>({key:i,label:l,items:u}))}function Ce(n,s){const o=r=>{const i=G(r);if(i===null)return"unknown";const l=Math.max(0,s-i);for(const u of W)if(u.maxAgeMs!==null&&l<u.maxAgeMs)return u.key;return"older"};return W.map(r=>({key:r.key,label:r.label,items:n.filter(i=>o(i)===r.key)})).filter(r=>r.items.length>0)}function Re(n){return Ee.map(s=>({key:s.key,label:s.label,items:n.filter(o=>ue(o)===s.rank)})).filter(s=>s.items.length>0)}function Me(n,s,o=Date.now()){switch(s){case"fleet":return Ie(n);case"places":return Te(n);case"time":return Ce(n,o);case"attention":return Re(n)}}const Le=8e3,$e=[{id:"recent",label:"Recent"},{id:"name",label:"A–Z"}],_e={fleet:ye,places:xe,time:be,attention:fe};function zt(){const{route:n,navigate:s,agents:o}=ce(),[r,i]=m.useState({state:"loading",sessions:[]}),[l,u]=m.useState("recent"),[k,P]=ee("terminal-nav-mode","fleet"),[U,V]=m.useState(!1),[q,I]=m.useState(null),[T,C]=m.useState(null),H=m.useRef(null),Y=le();m.useEffect(()=>{const e=a=>{if(a.key!=="/"||a.metaKey||a.ctrlKey||a.altKey||oe(a.target))return;const c=()=>{const d=document.querySelector("[data-terminal-find]");return d?(d.focus(),d.select(),!0):!1};if(c()){a.preventDefault();return}a.preventDefault(),s({view:"terminal"}),requestAnimationFrame(()=>{c()||requestAnimationFrame(c)})};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[s]);const h=m.useCallback((e={})=>{e.silent||i(a=>({state:"loading",sessions:a.sessions})),ae({includeDiscovered:!0}).then(a=>{i({state:"ready",sessions:a})}).catch(a=>{e.silent||i(c=>({state:"failed",sessions:c.sessions,error:a instanceof Error?a.message:String(a)}))})},[]);m.useEffect(()=>{h()},[h]),m.useEffect(()=>{const e=()=>{document.visibilityState==="visible"&&h({silent:!0})},a=window.setInterval(e,Le);return window.addEventListener("focus",e),document.addEventListener("visibilitychange",e),()=>{window.clearInterval(a),window.removeEventListener("focus",e),document.removeEventListener("visibilitychange",e)}},[h]);const b=m.useMemo(()=>ne(r.sessions),[r.sessions]),f=m.useMemo(()=>ve(se(b),l==="recent"?{column:"activity",direction:"desc"}:{column:"name",direction:"asc"}),[l,b]),R=m.useMemo(()=>Oe(o,l).filter(e=>{const a=K(e);return a?!b.some(c=>c.surface.backend===a.backend&&c.surface.sessionName===a.sessionName&&(a.paneId==null||c.surface.paneId===a.paneId)):!0}),[o,b,l]),x=f.filter(e=>j(e)==="current"),Z=Me(x,k),y=f.filter(e=>j(e)==="inactive"),v=f.filter(e=>j(e)==="review"),M=y.length+v.length,L=v.length,g=U,p=R,J=n.view==="terminal"?n.terminalSurfaceKey??null:null,$=n.view==="terminal"?n.terminalSessionId??null:null,N=e=>ie(e.key,J)&&(!$||e.session.id===$),w=n.view==="terminal"&&n.agentId?`agent:${n.agentId}`:null,_=!!(x.some(N)||g&&[...y,...v].some(N)||w!=null&&p.some(e=>`agent:${e.id}`===w)),O=x[0]?.id??(g?y[0]?.id??v[0]?.id:void 0)??(p[0]?`agent:${p[0].id}`:void 0),Q=r.state==="loading"?"Syncing":`${f.length+R.length} targets`,S=(e,a)=>({view:"terminal",terminalSessionId:e.session.id,terminalSurfaceKey:re(e.surface),...a?{mode:a}:{}}),A=(e,a="takeover")=>({view:"terminal",agentId:e.id,mode:a}),X=async e=>{if(e.surface.backend==="tmux"&&window.confirm(`Release inactive terminal ${e.surface.sessionName}? The tmux surface will stop, but any associated Scout agent remains available and can be started again.`)){I(e.id),C(null);try{await de({backend:"tmux",sessionName:e.surface.sessionName,paneId:e.surface.paneId??null,socketDir:e.surface.socketDir??null},"release"),h({silent:!0})}catch(a){C(a instanceof Error?a.message:String(a))}finally{I(null)}}},E=e=>{const a=N(e),c=j(e),d=q===e.id;return t.jsxs("div",{className:`terminal-nav-row${a?" terminal-nav-row--active":""}${c==="review"?" terminal-nav-row--review":""}`,title:e.surface.sessionName,children:[t.jsxs("button",{type:"button","data-list-primary":!0,className:"terminal-nav-row-select",tabIndex:F(a,_,e.id===O),onClick:()=>s(S(e)),children:[t.jsx(je,{className:"terminal-nav-row-icon",size:14,strokeWidth:1.7}),t.jsxs("span",{className:"terminal-nav-row-main",children:[t.jsx("span",{className:"terminal-nav-row-title",children:t.jsx("span",{children:e.title})}),t.jsx("span",{className:"terminal-nav-row-detail",children:e.detail||e.session.sourceSessionId})]}),t.jsxs("span",{className:"terminal-nav-badges",children:[t.jsx("span",{className:"terminal-nav-badge terminal-nav-badge--backend",children:e.surface.backend}),t.jsx("span",{className:`terminal-nav-badge${c==="review"?" terminal-nav-badge--review":""}`,children:c==="current"?e.condition:c})]})]}),t.jsxs("div",{className:"terminal-nav-row-actions",children:[t.jsxs("button",{type:"button",className:`terminal-nav-action${n.view==="terminal"&&a&&n.mode==="takeover"?" terminal-nav-action--selected":""}`,onClick:()=>s(S(e,"takeover")),title:"Enter this terminal","aria-label":"Enter this terminal",children:[t.jsx(D,{size:12,strokeWidth:1.8}),t.jsx("span",{children:"Enter"})]}),t.jsxs("button",{type:"button",className:`terminal-nav-action${n.view==="terminal"&&a&&n.mode==="observe"?" terminal-nav-action--selected":""}`,onClick:()=>s(S(e,"observe")),title:"Observe this terminal read-only","aria-label":"Observe this terminal read-only",children:[t.jsx(B,{size:12,strokeWidth:1.8}),t.jsx("span",{children:"Observe"})]}),c==="review"&&e.surface.backend==="tmux"&&t.jsxs("button",{type:"button",className:"terminal-nav-action terminal-nav-action--release",onClick:()=>{X(e)},disabled:d,title:"Release this inactive tmux surface; keep the agent","aria-label":"Release this inactive tmux surface; keep the agent",children:[t.jsx(pe,{size:12,strokeWidth:1.8}),t.jsx("span",{children:d?"Releasing":"Release"})]})]})]},e.id)};return t.jsxs("div",{className:"ctx-panel terminal-nav",children:[t.jsxs("div",{className:"terminal-nav-head",children:[t.jsxs("div",{children:[t.jsx("div",{className:"terminal-nav-title",children:"Terminals"}),t.jsx("div",{className:"terminal-nav-summary",children:Q})]}),t.jsx("button",{type:"button",className:"terminal-nav-refresh",onClick:()=>h(),disabled:r.state==="loading",title:"Refresh terminals","aria-label":"Refresh terminals",children:t.jsx(he,{size:14,strokeWidth:1.8})})]}),t.jsx("div",{className:"terminal-nav-modes",role:"group","aria-label":"Group terminals",children:ke.map(e=>{const a=_e[e.id];return t.jsx("button",{type:"button",title:e.title,"aria-label":e.title,"aria-pressed":k===e.id,className:`terminal-nav-mode${k===e.id?" terminal-nav-mode--active":""}`,onClick:()=>P(e.id),children:t.jsx(a,{size:13,strokeWidth:1.8})},e.id)})}),t.jsx("div",{className:"ctx-panel-toolbar terminal-nav-toolbar",children:t.jsx("div",{className:"ctx-panel-sort",role:"group","aria-label":"Sort terminals",children:$e.map(e=>t.jsx("button",{type:"button",title:e.id==="recent"?"Sort by most recent":"Sort alphabetically","aria-pressed":l===e.id,className:`ctx-panel-sort-option${l===e.id?" ctx-panel-sort-option--active":""}`,onClick:()=>u(e.id),children:e.label},e.id))})}),r.state==="failed"&&t.jsx("div",{className:"terminal-nav-error",children:r.error}),T&&t.jsx("div",{className:"terminal-nav-error",children:T}),t.jsx("div",{ref:H,className:"terminal-nav-list",onKeyDown:Y,children:f.length===0&&p.length===0&&r.state!=="loading"?t.jsx("div",{className:"ctx-panel-empty",children:"No terminal targets"}):t.jsxs(t.Fragment,{children:[Z.map(e=>e.items.length===0?null:t.jsxs("div",{className:"terminal-nav-section",children:[t.jsxs("div",{className:"terminal-nav-section-title",children:[t.jsx("span",{children:e.label}),t.jsx("span",{children:e.items.length})]}),e.items.map(a=>E(a))]},e.key)),x.length===0&&r.state!=="loading"&&t.jsx("div",{className:"terminal-nav-empty",children:"No sessions"}),M>0&&t.jsxs("div",{className:"terminal-nav-section terminal-nav-section--inactive",children:[t.jsxs("button",{type:"button",className:"terminal-nav-inactive-toggle","aria-expanded":g,onClick:()=>V(e=>!e),children:[t.jsx(ge,{size:13,strokeWidth:1.8}),t.jsx("span",{children:"Inactive"}),t.jsx("span",{children:M}),L>0&&t.jsxs("span",{className:"terminal-nav-review-count",children:[L," review"]})]}),g&&t.jsxs(t.Fragment,{children:[y.map(e=>E(e)),v.length>0&&t.jsxs("div",{className:"terminal-nav-section-title terminal-nav-section-title--review",children:[t.jsx("span",{children:"Review after 30 days"}),t.jsx("span",{children:v.length})]}),v.map(e=>E(e))]})]}),t.jsxs("div",{className:"terminal-nav-section",children:[t.jsxs("div",{className:"terminal-nav-section-title",children:[t.jsx("span",{children:"Available agents"}),t.jsx("span",{children:p.length})]}),p.map(e=>{const a=`agent:${e.id}`,c=a===w,d=K(e);return t.jsxs("div",{className:`terminal-nav-row terminal-nav-row--agent${c?" terminal-nav-row--active":""}`,title:e.name,children:[t.jsxs("button",{type:"button","data-list-primary":!0,className:"terminal-nav-row-select",tabIndex:F(c,_,a===O),onClick:()=>s(A(e)),children:[t.jsx("span",{className:`terminal-nav-agent-dot${d?" terminal-nav-agent-dot--bound":""}`,"aria-hidden":!0}),t.jsxs("span",{className:"terminal-nav-row-main",children:[t.jsx("span",{className:"terminal-nav-row-title",children:t.jsx("span",{children:e.name})}),t.jsx("span",{className:"terminal-nav-row-detail",children:Fe(e)})]}),t.jsxs("span",{className:"terminal-nav-badges",children:[t.jsx("span",{className:"terminal-nav-badge terminal-nav-badge--backend",children:d?.backend??e.harness??"agent"}),t.jsx("span",{className:"terminal-nav-badge",children:d?"bound":me(e.state)})]})]}),t.jsxs("div",{className:"terminal-nav-row-actions",children:[t.jsxs("button",{type:"button",className:`terminal-nav-action${n.view==="terminal"&&c&&n.mode==="takeover"?" terminal-nav-action--selected":""}`,onClick:()=>s(A(e,"takeover")),title:"Enter this agent terminal","aria-label":"Enter this agent terminal",children:[t.jsx(D,{size:12,strokeWidth:1.8}),t.jsx("span",{children:"Enter"})]}),d&&t.jsxs("button",{type:"button",className:`terminal-nav-action${n.view==="terminal"&&c&&n.mode==="observe"?" terminal-nav-action--selected":""}`,onClick:()=>s(A(e,"observe")),title:"Observe this agent terminal read-only","aria-label":"Observe this agent terminal read-only",children:[t.jsx(B,{size:12,strokeWidth:1.8}),t.jsx("span",{children:"Observe"})]})]})]},e.id)}),p.length===0&&t.jsx("div",{className:"terminal-nav-empty",children:"No agents"})]})]})})]})}function Oe(n,s){return[...n].filter(o=>!o.retiredFromFleet&&!o.staleLocalRegistration).sort((o,r)=>{const i=o.name.localeCompare(r.name,void 0,{numeric:!0,sensitivity:"base"});return s==="name"?i||o.id.localeCompare(r.id):(r.updatedAt??0)-(o.updatedAt??0)||i||o.id.localeCompare(r.id)})}function Fe(n){const s=n.project??z(n.cwd)??z(n.projectRoot)??n.definitionId;return[n.handle?`@${n.handle}`:null,n.harness,s,n.branch].filter(Boolean).join(" · ")}function z(n){const s=n?.trim().replace(/\/+$/u,"");return s?s.split("/").pop()||s:null}export{zt as TerminalLeft};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as r}from"./index-BFbLvCJn.js";import{u as o}from"./Provider-BEXAZWd9.js";import{OpsAgentsLeft as i}from"./left-agents-DowYF2ag.js";import{OpsDefaultLeft as m}from"./left-default-Bifaeg_V.js";import{OpsLanesLeft as p}from"./left-lanes-BGhjdqpD.js";import{OpsMissionLeft as s}from"./left-mission-CvXPUovR.js";import{OpsAdvisorLeft as e}from"./left-advisor-DBml48M5.js";import"./theme-vars-DNK0nn3k.js";import"./router-CJIx83Ia.js";import"./api-DSqpVKC7.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./machine-scope-DJt9RZ2w.js";import"./sse-BVxO0zNp.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./agent-state-DDhnFEEP.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-D-VB5vdt.js";import"./runtime-picker-IRcTkMZ5.js";import"./scout-voice-Cdh6pCsb.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CCG7hG7z.js";import"./createLucideIcon-CKbjXlwv.js";import"./media-blobs-Bi8pxr1u.js";import"./index-CXzJ_hGx.js";import"./HarnessMark-CP-PWk2W.js";import"./conversation-model-FxDeWlle.js";import"./time-Dhsh_2EG.js";import"./conversations-DoAAO6kA.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-BYsEu9dZ.js";import"./keyboard-nav-CEe-ApvZ.js";import"./x-BcfhXYiF.js";import"./chevron-down-DEDSNJNY.js";import"./search-Bv2IONmc.js";import"./file-text-BOJQiS8p.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-mxzPxQQW.js";import"./TextDocumentSurface-DBslUq9k.js";import"./index-V8FYEUpD.js";import"./chevron-right-B02kAw12.js";import"./folder-C2emmTHq.js";import"./chevron-up-CzveykKG.js";import"./code-xml-E9gBuiVs.js";import"./arrow-left-DNjQHf4C.js";import"./arrow-right-A_yyXwoH.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DVhUsgOw.js";/* empty css */import"./use-fleet-active-asks-DAHOPYPV.js";import"./RailRow-Ddz90weI.js";import"./AgentAvatar-Dn8TUv5W.js";import"./SpriteAvatar-D53GaaK3.js";import"./CrewAvatar-a_C_F9r_.js";import"./operator-attention-DBaRg5ep.js";import"./openContent-C6XO6kr5.js";import"./agent-lanes-model-DMAdqCmK.js";import"./lane-ask-display-BTVSakyo.js";import"./context-budget-8qFKqM-j.js";import"./lane-observe-CteDwdD-.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";import"./lane-roster-store-MraynTHP.js";import"./mission-control-store-e8F85JhP.js";import"./MissionLeftAgentRow-CB3cgeYr.js";import"./page-status-BIuh3C5p.js";import"./server-U_l8A83n.js";import"./layers-ClmyjwpB.js";import"./sparkles-Br-bA2aZ.js";import"./activity-CXkZ620t.js";import"./cpu-DVZ_LhPn.js";import"./gauge-BR5CrhRM.js";import"./terminal-DMBAZjPP.js";function br(){const{route:t}=o();if(t.view!=="ops")return null;switch(t.mode){case"mission":return r.jsx(s,{});case"agents":return r.jsx(i,{});case"advisor":return r.jsx(e,{});case"lanes":case"world":return r.jsx(p,{});default:return r.jsx(m,{})}}export{br as OpsLeft};
|