@openscout/scout 0.2.102 → 0.2.105
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 +37 -0
- package/bin/scout.mjs +6 -0
- package/bin/scoutd +0 -0
- package/dist/build-manifest.json +4 -4
- package/dist/chat.mjs +285 -0
- package/dist/client/assets/ActivityScreen-CcDdQTBK.js +1 -0
- package/dist/client/assets/{AddProjectForm-DfbjlFfy.js → AddProjectForm-CHNJ4NnS.js} +1 -1
- package/dist/client/assets/{AdventureEvidence-Dzz9VbuE.js → AdventureEvidence-B4mEvXeD.js} +1 -1
- package/dist/client/assets/{AdventureReader-ClMxT0e4.js → AdventureReader-ZsBDQITY.js} +1 -1
- package/dist/client/assets/{AdventureScenery-D548O0x4.js → AdventureScenery-DSxDlqG1.js} +1 -1
- package/dist/client/assets/AgentAdventures-BxrYq_2v.js +1 -0
- package/dist/client/assets/{AgentAvatar-BIwg54Tj.js → AgentAvatar-NZOqcsB2.js} +1 -1
- package/dist/client/assets/AgentConfigurationScreen-BhD1PEAM.js +1 -0
- package/dist/client/assets/AgentDefinitionsWorkspace-BqS6MXqF.js +1 -0
- package/dist/client/assets/{AgentDetailCard-CFDE8TLi.js → AgentDetailCard-MIEBKw_S.js} +1 -1
- package/dist/client/assets/AgentFloorView-A0dDRlRV.js +1 -0
- package/dist/client/assets/{AgentFloorWorld-BDJmXl3C.js → AgentFloorWorld-BTqwmK5G.js} +1 -1
- package/dist/client/assets/AgentInfoScreen-DuaN0sgE.js +1 -0
- package/dist/client/assets/{AgentLaneCard-C6YmwPxQ.js → AgentLaneCard-C4rKLLdT.js} +1 -1
- package/dist/client/assets/{AgentLaneChrome-D9uJ4QY7.js → AgentLaneChrome-fGC-ZrJS.js} +1 -1
- package/dist/client/assets/{AgentLaneDetailSheet-KYckCBCX.js → AgentLaneDetailSheet-BTF4_th9.js} +1 -1
- package/dist/client/assets/{AgentLaneSummaryResize-BBYBS3DO.js → AgentLaneSummaryResize-DgSeA_vS.js} +1 -1
- package/dist/client/assets/AgentLanesEmbedScreen-CeNiaZ9_.js +1 -0
- package/dist/client/assets/{AgentLanesPreflight-pw2vMO3Q.js → AgentLanesPreflight-CcS23wij.js} +1 -1
- package/dist/client/assets/{AgentLanesView-aAyC7lHf.js → AgentLanesView-WZhEDBFE.js} +1 -1
- package/dist/client/assets/{AgentLiveActions-lYzicnNa.js → AgentLiveActions-6Kfr1uOT.js} +1 -1
- package/dist/client/assets/AgentMasterScreen-DUDUTAnU.js +1 -0
- package/dist/client/assets/{AgentSessions-Cox2zS-e.js → AgentSessions-CO1WGa8Z.js} +2 -2
- package/dist/client/assets/AgentsConsole-BQOWkj35.js +1 -0
- package/dist/client/assets/AgentsScreen-BMNAj1PH.js +1 -0
- package/dist/client/assets/AgentsSubnav-CeHhuzyM.js +1 -0
- package/dist/client/assets/{AstronautSuit-C-4I5YKi.js → AstronautSuit-D67fIBdR.js} +1 -1
- package/dist/client/assets/{AtopView-DKm-ERYC.js → AtopView-Ck30FbzG.js} +1 -1
- package/dist/client/assets/{BackToPicker-Bys9ColC.js → BackToPicker-CkBhGRlD.js} +1 -1
- package/dist/client/assets/BriefingDetailScreen-yZG8_m4h.js +1 -0
- package/dist/client/assets/{BriefingsScreen-D4Zf31Y6.js → BriefingsScreen-DTxYMr3a.js} +1 -1
- package/dist/client/assets/{BrokerMetadataPanel-1GoSl2BV.js → BrokerMetadataPanel-crirZCdo.js} +1 -1
- package/dist/client/assets/BrokerScreen-CT37VQiL.js +8 -0
- package/dist/client/assets/Canvas-CRP0KjKb.js +1 -0
- package/dist/client/assets/{CastPicker-BuwE_JQp.js → CastPicker-ZPomvOf-.js} +1 -1
- package/dist/client/assets/ChannelComposer-BVItWlEz.js +1 -0
- package/dist/client/assets/ChannelSidebar-B-2spawY.js +1 -0
- package/dist/client/assets/{CharacterFamilyPreview-CfO3j8Of.js → CharacterFamilyPreview-ckVkecDO.js} +1 -1
- package/dist/client/assets/ChatAvatar-DKBsbOqk.js +1 -0
- package/dist/client/assets/ChatBits-CLJ71hTY.js +1 -0
- package/dist/client/assets/{ChatCollapsedStrip-TV0j1xTB.js → ChatCollapsedStrip-Co0NmqOO.js} +1 -1
- package/dist/client/assets/ChatRightPanel-pKQtkAgl.js +1 -0
- package/dist/client/assets/ChatSpaceSurface-NrLwdPkE.js +1 -0
- package/dist/client/assets/ChatSpaceTheme-BPMgPdVK.css +1 -0
- package/dist/client/assets/ChatSpaceTheme-D37Jk7bl.js +1 -0
- package/dist/client/assets/{CodeDiffPane-DB6-mqtX.js → CodeDiffPane-D-iv28LJ.js} +1 -1
- package/dist/client/assets/{CodeProjectPicker-B_LNLpIK.js → CodeProjectPicker-CZ3gDdiT.js} +1 -1
- package/dist/client/assets/{CodeScreen-C9H160XS.js → CodeScreen-CSC-zbP9.js} +1 -1
- package/dist/client/assets/{CommsCanvas-DOKw3Q8i.js → CommsCanvas-DdNAwjGW.js} +1 -1
- package/dist/client/assets/{CommsDeck-C18JA7rK.js → CommsDeck-mGWY7Ivi.js} +1 -1
- package/dist/client/assets/{CommsFlowGraph-Czg-KTS0.js → CommsFlowGraph-voDD9M5R.js} +1 -1
- package/dist/client/assets/{CommsFlowMap-CzBWvSa5.js → CommsFlowMap-C33sgD48.js} +1 -1
- package/dist/client/assets/{CommsSelection-g1twA-Lb.js → CommsSelection-BL8aYD7z.js} +1 -1
- package/dist/client/assets/{ConversationComposer-B7RU6LKd.js → ConversationComposer-DNcn5U6D.js} +1 -1
- package/dist/client/assets/ConversationFeedRows-RnYSa7Io.js +1 -0
- package/dist/client/assets/ConversationHeader-Y9TEJxP_.js +1 -0
- package/dist/client/assets/{ConversationPanels-C9yCAoJy.js → ConversationPanels-6pprBpmq.js} +2 -2
- package/dist/client/assets/ConversationScreen-tpj4cqWs.js +2 -0
- package/dist/client/assets/{ConversationStatus-CK-YfLpi.js → ConversationStatus-Cv-7hErW.js} +1 -1
- package/dist/client/assets/{CrewAvatar-CJhuqTsJ.js → CrewAvatar-zgzC3cbU.js} +1 -1
- package/dist/client/assets/{CrewSprite-hgpA3SWB.js → CrewSprite-Dp9KBBGY.js} +1 -1
- package/dist/client/assets/CrewWorkspaces-DDuYMByu.css +1 -0
- package/dist/client/assets/CrewWorkspaces-K2jcyLec.js +1 -0
- package/dist/client/assets/{DataTable-BMOZ1-z8.js → DataTable-av71ehJV.js} +1 -1
- package/dist/client/assets/{DispatchAftermath-DDlwqSCY.js → DispatchAftermath-CcYGUB10.js} +1 -1
- package/dist/client/assets/{DocumentFocusViewer-f12RRQpV.js → DocumentFocusViewer-DlMiEALb.js} +1 -1
- package/dist/client/assets/{EmbeddableSurfacesLab-DGl9EMRV.js → EmbeddableSurfacesLab-CTkO_tQR.js} +1 -1
- package/dist/client/assets/{EmptyState-uyYN5piI.js → EmptyState-CYUwYyAW.js} +1 -1
- package/dist/client/assets/{FileViewerPane-HtiDbj9N.js → FileViewerPane-Cxhixtks.js} +1 -1
- package/dist/client/assets/FlightObserveScreen-CvzhzuWc.js +1 -0
- package/dist/client/assets/{FloorContextSheet-DV-SYA0K.js → FloorContextSheet-Vj_wVZq1.js} +1 -1
- package/dist/client/assets/{FloorExchangePanel-D59nvRCF.js → FloorExchangePanel-CjHSDXad.js} +1 -1
- package/dist/client/assets/{FloorMessagePasses-BCwsz9VS.js → FloorMessagePasses-BG4ebnX5.js} +1 -1
- package/dist/client/assets/{FloorReplay-BHo79HCD.js → FloorReplay-BoYaGY9t.js} +1 -1
- package/dist/client/assets/FloorResourcesSheet-_Iy5UqgY.js +1 -0
- package/dist/client/assets/{FloorSavedWork-2tjBoy06.js → FloorSavedWork-jbtRs-YE.js} +1 -1
- package/dist/client/assets/{FloorTacticalHUD-Bngao6sn.js → FloorTacticalHUD-BhyOqlL5.js} +1 -1
- package/dist/client/assets/{FollowScreen-eHXOlK-u.js → FollowScreen-CupyOgt4.js} +1 -1
- package/dist/client/assets/HarnessMark-DSvM_H7H.js +1 -0
- package/dist/client/assets/HarnessesScreen-DyjqbZ4k.js +1 -0
- package/dist/client/assets/{HerdrSession-CtJOUn7H.js → HerdrSession-Dcm3vf9U.js} +1 -1
- package/dist/client/assets/{HomeHero-Cvwx2H0w.js → HomeHero-pIZtE1cC.js} +1 -1
- package/dist/client/assets/{HostAdvisorView-CTJXIc1Q.js → HostAdvisorView-Dv5meXo2.js} +1 -1
- package/dist/client/assets/InviteLandingScreen-xZQ2na1z.js +1 -0
- package/dist/client/assets/InviteSheet--5Zjct25.js +1 -0
- package/dist/client/assets/JumpPalette-BmiSOEmp.js +1 -0
- package/dist/client/assets/{KnowledgeSearchInspector-DwGMVmFL.js → KnowledgeSearchInspector-B8yiM524.js} +1 -1
- package/dist/client/assets/KnowledgeSearchScreen-BPqAjHnH.js +1 -0
- package/dist/client/assets/{LaneToolHoverCard-C6YehJqD.js → LaneToolHoverCard-D2cnTeUd.js} +1 -1
- package/dist/client/assets/LaneTraceDetailSheet-jl4XQmEx.js +1 -0
- package/dist/client/assets/{LaneTraceEventFocus-WLNZZVi_.js → LaneTraceEventFocus-BLhVHwff.js} +1 -1
- package/dist/client/assets/{MeshCanvas-FDDGE69h.js → MeshCanvas-BR25OBTJ.js} +1 -1
- package/dist/client/assets/{MeshCanvasMinimap-CGRzQCac.js → MeshCanvasMinimap-ClVolr4-.js} +1 -1
- package/dist/client/assets/MeshScreen-BW1dMFWF.js +1 -0
- package/dist/client/assets/{MeshTopologyView-C2Cv_2gx.js → MeshTopologyView-BT3ke2D1.js} +2 -2
- package/dist/client/assets/MessagesScreen-CtNMfIvC.js +1 -0
- package/dist/client/assets/{MissionContextRail-CVSZJnvX.js → MissionContextRail-CafjuseK.js} +1 -1
- package/dist/client/assets/MissionControlView-BjPOViGY.js +1 -0
- package/dist/client/assets/{MissionFocusOverlay-B9SiuO-i.js → MissionFocusOverlay-nhy3hkxQ.js} +1 -1
- package/dist/client/assets/MissionLeftAgentRow-Dms0DBjO.js +1 -0
- package/dist/client/assets/{MissionLogPane-CMBiI29U.js → MissionLogPane-DiUf3vWW.js} +1 -1
- package/dist/client/assets/NativeAreaScreen-BQSTo8As.js +1 -0
- package/dist/client/assets/NativeAreaScreen-Brix6xDB.js +1 -0
- package/dist/client/assets/NativeAreaScreen-D7HyQNlM.js +1 -0
- package/dist/client/assets/{NewAgentModal-Cl4nsGhu.js → NewAgentModal-BQ2wQ5gp.js} +1 -1
- package/dist/client/assets/NewChatComposer-BEXS8vV6.js +19 -0
- package/dist/client/assets/{NewChatOrigin-CyPPWTJP.js → NewChatOrigin-C8ROO4ps.js} +1 -1
- package/dist/client/assets/{NodeDetailPanel-BUG8rOb-.js → NodeDetailPanel-BNTqYC7m.js} +1 -1
- package/dist/client/assets/{NodeMenu-Fw8ATWQA.js → NodeMenu-CcOeFRCB.js} +1 -1
- package/dist/client/assets/{ObserveEmbedScreen-BPiSXXvm.js → ObserveEmbedScreen-Dh30EjAQ.js} +2 -2
- package/dist/client/assets/{ObserveTextFlow-ET0dD1wO.js → ObserveTextFlow-CC5mnngm.js} +2 -2
- package/dist/client/assets/{ObservedTopologyPanel-DkEkQzo-.js → ObservedTopologyPanel-DF6tRZL_.js} +1 -1
- package/dist/client/assets/OpenScoutAppShell-D9pgw36i.js +31 -0
- package/dist/client/assets/OpsAgentsView-D3rM0udq.js +1 -0
- package/dist/client/assets/OpsScreen-DySeNQ1V.js +1 -0
- package/dist/client/assets/OpsSubnav-C9E0r3GZ.js +1 -0
- package/dist/client/assets/ProjectAgentProfile-FUav75j2.js +1 -0
- package/dist/client/assets/{ProjectAgentProfileBar-C1fR65Eh.js → ProjectAgentProfileBar-C8z22pJ2.js} +1 -1
- package/dist/client/assets/ProjectAgentProfileHero-BLK0EwMg.js +1 -0
- package/dist/client/assets/ProjectsInbox-DfCXReZK.js +2 -0
- package/dist/client/assets/ProjectsRail-CELVubfJ.js +1 -0
- package/dist/client/assets/ProjectsScreen-DMw4TLKy.js +1 -0
- package/dist/client/assets/ProjectsThreadAside-D1Sh4fnX.js +1 -0
- package/dist/client/assets/{Provider-5Hotn7NQ.js → Provider-CNZluAZb.js} +2 -2
- package/dist/client/assets/{RailRow-BYguXNm4.js → RailRow-DUPqXMZh.js} +1 -1
- package/dist/client/assets/RailToggle-BwmY70B8.js +1 -0
- package/dist/client/assets/RawSessionsTable-6OVJq0JZ.js +1 -0
- package/dist/client/assets/RealtimeVoiceScreen-D41TYY0x.js +9 -0
- package/dist/client/assets/{RenderedWorkerSprite-CvdWO32C.js → RenderedWorkerSprite-C8fxndAh.js} +1 -1
- package/dist/client/assets/{ReplayClock-B7JLTp8A.js → ReplayClock-DUVJjrIu.js} +1 -1
- package/dist/client/assets/{ReplayLog-DZTpf2CW.js → ReplayLog-Bek1Vc4W.js} +1 -1
- package/dist/client/assets/{ReplayOutpost-CvWQa30T.js → ReplayOutpost-DlRg3172.js} +1 -1
- package/dist/client/assets/{RepoDiffEmbedScreen-Cbu0_PJW.js → RepoDiffEmbedScreen-CVUMnt6A.js} +1 -1
- package/dist/client/assets/{RepoDiffPageScreen-Chwm6GXL.js → RepoDiffPageScreen-D9-s5PyB.js} +1 -1
- package/dist/client/assets/{RepoDiffViewer-C2mb0Wj-.js → RepoDiffViewer-D7FN-oyY.js} +1 -1
- package/dist/client/assets/RepoDiffViewerLazy-BpMR7tlx.js +2 -0
- package/dist/client/assets/{ReposScreen-C7JZQmyh.js → ReposScreen-BQ7HO1om.js} +2 -2
- package/dist/client/assets/{RiggedWorkerCharacter-DNe731GE.js → RiggedWorkerCharacter-CJMWlvV-.js} +1 -1
- package/dist/client/assets/{SageModelStudio-BR1J2D4R.js → SageModelStudio-B526NSnw.js} +1 -1
- package/dist/client/assets/{ScoutDeckSurface-flRamdvE.js → ScoutDeckSurface-ChkvGyEW.js} +1 -1
- package/dist/client/assets/{ScoutSurface-BpklGmDL.js → ScoutSurface-6g1f5chk.js} +1 -1
- package/dist/client/assets/{ScoutbotFxLab-DeK7ySWZ.js → ScoutbotFxLab-BuwBdnPf.js} +1 -1
- package/dist/client/assets/{SecondaryNav-BkTn5tkq.js → SecondaryNav-Bs-_VwTC.js} +1 -1
- package/dist/client/assets/{SessionEmbedScreen-CcQN6xlo.js → SessionEmbedScreen-C2wf35-P.js} +1 -1
- package/dist/client/assets/{SessionObserve-DaqDhqDI.js → SessionObserve-B64YsYhy.js} +9 -9
- package/dist/client/assets/{SessionObserve-BOBJSfs0.css → SessionObserve-CDdJ7fAE.css} +1 -1
- package/dist/client/assets/{SessionObserveEvidence-Drv-D8Oh.js → SessionObserveEvidence-CS1aQBpQ.js} +1 -1
- package/dist/client/assets/SessionRefScreen-DURV0MpF.js +1 -0
- package/dist/client/assets/SessionsScreen-D71ZR-8t.js +1 -0
- package/dist/client/assets/{SettingsDrawer-BDapR4E9.js → SettingsDrawer-Nz98oBVl.js} +3 -3
- package/dist/client/assets/SettingsScreen-CYBHal6y.js +1 -0
- package/dist/client/assets/{SharedFloorCharacter-CSYG_t9t.js → SharedFloorCharacter-V04kD5T9.js} +1 -1
- package/dist/client/assets/SharedWorkFloor-C0xxW4SN.js +2 -0
- package/dist/client/assets/{ShikiPane-BudrOxNK.js → ShikiPane-XwFI-pCp.js} +1 -1
- package/dist/client/assets/{SlidePanel-Datu7XG4.js → SlidePanel-BMpkXai_.js} +1 -1
- package/dist/client/assets/SpaceSwitcher-BfeIf-ad.js +1 -0
- package/dist/client/assets/{SpriteAvatar-BW1JzkDt.js → SpriteAvatar-aHeF4ZQZ.js} +1 -1
- package/dist/client/assets/{SproutActionSprite-DveCzg6l.js → SproutActionSprite-DI5N3gOj.js} +1 -1
- package/dist/client/assets/{StatusPill-MxYClPG5.js → StatusPill-Dw4LP7wu.js} +1 -1
- package/dist/client/assets/{TailView-Dn7uWmPz.js → TailView-BofjmUMJ.js} +2 -2
- package/dist/client/assets/Terminal-jIqnIZZ6.js +4 -0
- package/dist/client/assets/TerminalEmbedScreen-3XsjuySR.js +1 -0
- package/dist/client/assets/{TerminalHeaderMount-DCGstkZ4.js → TerminalHeaderMount-CwbQhXcI.js} +1 -1
- package/dist/client/assets/TerminalRelay--qOBwnbR.js +46 -0
- package/dist/client/assets/{TextDocumentSurface-BhYvAB0o.js → TextDocumentSurface-BK6Qy41F.js} +1 -1
- package/dist/client/assets/{TmuxPeek-BhK0V9Qt.js → TmuxPeek-DpUT9Tpc.js} +1 -1
- package/dist/client/assets/{VoicePermissionsPanel-CecFWzva.js → VoicePermissionsPanel-D35fOnQj.js} +1 -1
- package/dist/client/assets/{WorkDetailScreen-CwtRCm_-.js → WorkDetailScreen-Bcf_yHhU.js} +2 -2
- package/dist/client/assets/{WorkFilesViewer-DJHftsH9.js → WorkFilesViewer-t8AEyx3Q.js} +1 -1
- package/dist/client/assets/{WorkRunView-x5PH1byG.js → WorkRunView-_mhG_FR2.js} +1 -1
- package/dist/client/assets/WorldActorTalk-CKerDikx.js +1 -0
- package/dist/client/assets/{WorldCharacter-Dn4sIXNP.js → WorldCharacter-BRrj3MQN.js} +1 -1
- package/dist/client/assets/{WorldMinimap-Blqg0d5r.js → WorldMinimap-DOptgrc4.js} +1 -1
- package/dist/client/assets/{WorldSky-DV9bpvXj.js → WorldSky-D-RJzSa6.js} +1 -1
- package/dist/client/assets/{activity-CSUhvjD0.js → activity-BJqFrZyB.js} +1 -1
- package/dist/client/assets/{addon-fit-MR98IWES.js → addon-fit-CHohcvS3.js} +1 -1
- package/dist/client/assets/{addon-webgl-CIIKXrvK.js → addon-webgl-CaRy2x2b.js} +1 -1
- package/dist/client/assets/agent-autocomplete-_u9o5EZu.js +2 -0
- package/dist/client/assets/{agent-essentials-8t2il7PV.js → agent-essentials-bKWYOZaH.js} +1 -1
- package/dist/client/assets/{agent-floor-actor-3v9drnxh.js → agent-floor-actor-DW8zLht0.js} +1 -1
- package/dist/client/assets/{agent-lane-card-model-l0stnU9N.js → agent-lane-card-model-CeqQGp-8.js} +1 -1
- package/dist/client/assets/{agent-lane-detail-Db7KyAlf.js → agent-lane-detail-Ti3trpfH.js} +1 -1
- package/dist/client/assets/{agent-lane-preview-B8lsQJOQ.js → agent-lane-preview-Dpa3DuOn.js} +1 -1
- package/dist/client/assets/{agent-lanes-model-CX0wTcnF.js → agent-lanes-model-DMAdqCmK.js} +1 -1
- package/dist/client/assets/{agent-specialization-CiVxQsFT.js → agent-specialization-BplZUa_0.js} +1 -1
- package/dist/client/assets/{api-B9_IqFKY.js → api-BQYTwoz6.js} +1 -1
- package/dist/client/assets/{api-CaROe5_H.js → api-DSqpVKC7.js} +1 -1
- package/dist/client/assets/{arc.es-BzhWalCl.js → arc.es-CubLvQ4W.js} +1 -1
- package/dist/client/assets/{arrow-left-PuKdO3NM.js → arrow-left-DFfKAq0d.js} +1 -1
- package/dist/client/assets/{arrow-right-ldbfp4SZ.js → arrow-right-DmAWnyAH.js} +1 -1
- package/dist/client/assets/{arrow-up-right-Hn754ybA.js → arrow-up-right-B0aLKiyF.js} +1 -1
- package/dist/client/assets/at-sign-DM7xeppo.js +1 -0
- package/dist/client/assets/{book-open-BlJnpf2U.js → book-open-BL9qvhEI.js} +1 -1
- package/dist/client/assets/{bot-CfN9PSBF.js → bot-BhAVbcCA.js} +1 -1
- package/dist/client/assets/{cache-DEy9E34b.js → cache-DGBo3vIf.js} +1 -1
- package/dist/client/assets/chat-api-BPVC0asu.js +1 -0
- package/dist/client/assets/chat-space-model-B6Jg2CY4.js +4 -0
- package/dist/client/assets/{check-B8dMv3Is.js → check-g7D7-c1J.js} +1 -1
- package/dist/client/assets/{chevron-down-B5eMsn5c.js → chevron-down-CDzRQQGl.js} +1 -1
- package/dist/client/assets/{chevron-right-C7UGFpkl.js → chevron-right-DKGTLiqc.js} +1 -1
- package/dist/client/assets/{chevron-up-BHOEgHcn.js → chevron-up-DX7R6KY2.js} +1 -1
- package/dist/client/assets/{chunk-HRAB3GC3-C5X-kFhb.js → chunk-HRAB3GC3-Dvk_QpRq.js} +1 -1
- package/dist/client/assets/{clock-DFcRbtrl.js → clock-CQb4FeMf.js} +1 -1
- package/dist/client/assets/{code-xml-BmyLM0I2.js → code-xml-Cmadr3pQ.js} +1 -1
- package/dist/client/assets/{coffee-C_D9zooM.js → coffee-ljG1_krY.js} +1 -1
- package/dist/client/assets/{compass-DTZdCpv9.js → compass-CvzkzkIh.js} +1 -1
- package/dist/client/assets/content-0AXa0klu.js +1 -0
- package/dist/client/assets/content-BEyJ19Lx.js +1 -0
- package/dist/client/assets/content-BN5weWKW.js +1 -0
- package/dist/client/assets/content-BNokkm7C.js +1 -0
- package/dist/client/assets/content-BV4PUM9q.js +1 -0
- package/dist/client/assets/content-BxUPlcx5.js +1 -0
- package/dist/client/assets/content-CIC5sku8.js +1 -0
- package/dist/client/assets/content-CKJ9zb7Z.js +1 -0
- package/dist/client/assets/content-CdkTyxqk.js +1 -0
- package/dist/client/assets/content-CnhhSCZq.js +1 -0
- package/dist/client/assets/content-D1Ze_FG9.js +1 -0
- package/dist/client/assets/content-DY3F9Vfr.js +1 -0
- package/dist/client/assets/content-DrKBYpcb.js +1 -0
- package/dist/client/assets/content-LSStQYj5.js +1 -0
- package/dist/client/assets/content-YvU-D0hF.js +1 -0
- package/dist/client/assets/content-oKQMyVnH.js +1 -0
- package/dist/client/assets/{context-budget-DemtXu7E.js → context-budget-8qFKqM-j.js} +1 -1
- package/dist/client/assets/{conversation-icons-BQ4OeOmr.js → conversation-icons-CIRaxmid.js} +1 -1
- package/dist/client/assets/{conversation-model-BGFHoxQ0.js → conversation-model-m8HhzroS.js} +1 -1
- package/dist/client/assets/conversation-motion-features-D9PxLoDt.js +1 -0
- package/dist/client/assets/{copy-D9WUpQRf.js → copy-BGOC1tJB.js} +1 -1
- package/dist/client/assets/{cpu-Ck_4tB_-.js → cpu-Q6nrHFTN.js} +1 -1
- package/dist/client/assets/{createLucideIcon-DkjnzvcJ.js → createLucideIcon-ChvMq-zl.js} +1 -1
- package/dist/client/assets/{credentials-C4VXz2hr.js → credentials-OeoF-VKJ.js} +1 -1
- package/dist/client/assets/discover-DlwbftpC.js +2 -0
- package/dist/client/assets/embed-entry-c0lwtjBG.js +2 -0
- package/dist/client/assets/{external-link-RT4Ph-6-.js → external-link-BVccgH0n.js} +1 -1
- package/dist/client/assets/{eye-CtqSV8BS.js → eye-CsGfEVR6.js} +1 -1
- package/dist/client/assets/{file-code-corner-D_Aptal2.js → file-code-corner-Be6da5l3.js} +1 -1
- package/dist/client/assets/{file-text-ChtICwub.js → file-text-DP6txVW-.js} +1 -1
- package/dist/client/assets/{flag-CqdOxVkI.js → flag-DAFE2wZ5.js} +1 -1
- package/dist/client/assets/{floor-context-model-DZBpo_oD.js → floor-context-model-rWKqaKmV.js} +1 -1
- package/dist/client/assets/{floor-message-passes-CJh9f8Jp.js → floor-message-passes-CO3Ix_wR.js} +1 -1
- package/dist/client/assets/{folder-0fWevPvQ.js → folder-B_S7gBVr.js} +1 -1
- package/dist/client/assets/{gauge-Dgtfxf_o.js → gauge-DQCGlE3o.js} +1 -1
- package/dist/client/assets/{gestures-BDCZ1FRG.js → gestures-CofqY4Km.js} +1 -1
- package/dist/client/assets/{git-branch-CA3cHKCI.js → git-branch-DcUCsWdJ.js} +1 -1
- package/dist/client/assets/{go-shortcuts-DKtw4qYx.js → go-shortcuts-KQy-ZOpV.js} +1 -1
- package/dist/client/assets/{home-moving-signal-B7m-ngb2.js → home-moving-signal-BIHUGNfI.js} +1 -1
- package/dist/client/assets/home-now-card-CaLgZze2.js +1 -0
- package/dist/client/assets/{home-now-card-nano-D1ScGrgv.js → home-now-card-nano-CvU8B61b.js} +1 -1
- package/dist/client/assets/hooks-DaUOREpP.js +2 -0
- package/dist/client/assets/index-CGbs0SBm.css +1 -0
- package/dist/client/assets/index-CbqBwfIW.js +1 -0
- package/dist/client/assets/index-CyPMl7Up.js +1 -0
- package/dist/client/assets/index-DReVb7jZ.js +10 -0
- package/dist/client/assets/index-PQpJveGO.js +1 -0
- package/dist/client/assets/{index-CvsM3jm8.js → index-kkXUq-zf.js} +1 -1
- package/dist/client/assets/{inspector-panel-BLhDODb3.js → inspector-panel-CLU7wjnT.js} +2 -2
- package/dist/client/assets/{keyboard-nav-CXfav14z.js → keyboard-nav-CJXPaHXj.js} +1 -1
- package/dist/client/assets/lane-ask-display-BTVSakyo.js +18 -0
- package/dist/client/assets/{lane-observe-BD21P8BB.js → lane-observe-CteDwdD-.js} +3 -3
- package/dist/client/assets/{lane-roster-store-DzNHP392.js → lane-roster-store-Ch9t6lb0.js} +1 -1
- package/dist/client/assets/{layers-Bolb8ejU.js → layers-BOwyWodP.js} +1 -1
- package/dist/client/assets/{layout-grid-DI9tVJ2E.js → layout-grid-B36Qsh0y.js} +1 -1
- package/dist/client/assets/left-0vBrvrBG.js +2 -0
- package/dist/client/assets/left-C6SyaqlJ.js +1 -0
- package/dist/client/assets/left-CTuXysZR.js +2 -0
- package/dist/client/assets/left-Cc6s4DT2.js +1 -0
- package/dist/client/assets/left-DF5caiyh.js +1 -0
- package/dist/client/assets/left-DgT4tWCx.js +1 -0
- package/dist/client/assets/left-R0wppTTr.js +1 -0
- package/dist/client/assets/left-advisor-C-kt8V28.js +1 -0
- package/dist/client/assets/left-agents-thnBO156.js +1 -0
- package/dist/client/assets/left-default-CT42fnpF.js +1 -0
- package/dist/client/assets/left-lanes-CSmZgciK.js +1 -0
- package/dist/client/assets/left-mission-C86x6i9h.js +1 -0
- package/dist/client/assets/library-DdhYL_9v.js +1 -0
- package/dist/client/assets/{loader-circle-DurUYl7E.js → loader-circle-DNUsuPWz.js} +1 -1
- package/dist/client/assets/{local-agents-D9fYYRyj.js → local-agents-I40PawYA.js} +1 -1
- package/dist/client/assets/{machine-children-RGS4Q0r6.js → machine-children-CdhNzDF0.js} +1 -1
- package/dist/client/assets/{mentions-Ctw1ECUC.js → mentions-Ck_Vjnyp.js} +1 -1
- package/dist/client/assets/{mesh-ops-CGpRk4ik.js → mesh-ops-DSlvHp-D.js} +1 -1
- package/dist/client/assets/{mesh-view-store-CliSYsmt.js → mesh-view-store-C1-mdP3P.js} +1 -1
- package/dist/client/assets/{message-circle-CSiJj6yo.js → message-circle-cI5_A5mj.js} +1 -1
- package/dist/client/assets/{message-markup-DgFSyb3f.js → message-markup-6Tgo4qFJ.js} +1 -1
- package/dist/client/assets/{message-square-NmXWtWLR.js → message-square-CJW4WRlo.js} +1 -1
- package/dist/client/assets/{mission-control-store-DZ29Mlj1.js → mission-control-store-p_cboAm4.js} +1 -1
- package/dist/client/assets/monitor-C7_cHlkC.js +1 -0
- package/dist/client/assets/{nav-destinations-CyXnw9kh.js → nav-destinations-CU_euC-Q.js} +1 -1
- package/dist/client/assets/{observe-CkfOxYx_.js → observe-CtS0l3zu.js} +1 -1
- package/dist/client/assets/{operator-attention-DGR4kOog.js → operator-attention-DBaRg5ep.js} +1 -1
- package/dist/client/assets/{page-status-CkS3SZu-.js → page-status-DwFR4wSw.js} +1 -1
- package/dist/client/assets/{panel-right-BNTJhy8M.js → panel-right-qP17MwMl.js} +1 -1
- package/dist/client/assets/{pause-DWS7YGQ3.js → pause-B_hliKuR.js} +1 -1
- package/dist/client/assets/{persistent-state-xsuk6Kc-.js → persistent-state-BUsTTZFE.js} +1 -1
- package/dist/client/assets/{pin-DWlD1BOF.js → pin-Oi4qHR6M.js} +1 -1
- package/dist/client/assets/{play-D_Pggug4.js → play-CVeRmqLH.js} +1 -1
- package/dist/client/assets/{plus-D_wLGJGT.js → plus-D5NLH_fM.js} +1 -1
- package/dist/client/assets/profile-BegEUmB7.js +1 -0
- package/dist/client/assets/projects-inbox-CKPLZN8s.css +1 -0
- package/dist/client/assets/{projects-inbox-DvbqJO3q.js → projects-inbox-CfwxCTdN.js} +1 -1
- package/dist/client/assets/provider-DwmCoSlc.js +1 -0
- package/dist/client/assets/{proxy-DOG46ja4.js → proxy-DgzP27W8.js} +1 -1
- package/dist/client/assets/{radio-C_jtwbFP.js → radio-Cas2qg1D.js} +1 -1
- package/dist/client/assets/{refresh-cw-Da9DDLk2.js → refresh-cw-IcD2lPoT.js} +1 -1
- package/dist/client/assets/resolve-panes-pfZTezKo.js +1 -0
- package/dist/client/assets/resolve-sidebar-context-D5ksvrb_.js +1 -0
- package/dist/client/assets/right-BDaCJ0CF.js +1 -0
- package/dist/client/assets/right-BP6lXRFS.js +1 -0
- package/dist/client/assets/right-Cb1VCrdj.js +1 -0
- package/dist/client/assets/right-CeFaxfBo.js +1 -0
- package/dist/client/assets/right-Ck2SrYCj.js +1 -0
- package/dist/client/assets/right-D-uv5YfF.js +1 -0
- package/dist/client/assets/right-DJMSICky.js +1 -0
- package/dist/client/assets/right-Dnljs8ah.js +1 -0
- package/dist/client/assets/right-SdCSF8PP.js +1 -0
- package/dist/client/assets/{right-BLJsc2-p.js → right-cjPTwPXS.js} +1 -1
- package/dist/client/assets/{rocket-DyrYDo8V.js → rocket-DAqYvu8I.js} +1 -1
- package/dist/client/assets/router-C-MF5-mb.js +1 -0
- package/dist/client/assets/{runtime-picker-DdsttHHc.js → runtime-picker-C_AVYF63.js} +1 -1
- package/dist/client/assets/{scope-views-B7PZGlhY.js → scope-views-Dl3ml9OZ.js} +1 -1
- package/dist/client/assets/{scout-voice-DOQ_B77g.js → scout-voice-CqAyfblr.js} +1 -1
- package/dist/client/assets/{scoutbot-markdown-Bz0Vbto2.js → scoutbot-markdown-DwvGQOWo.js} +1 -1
- package/dist/client/assets/{scroll-text-DwC8r2g6.js → scroll-text-B0tKI9Sg.js} +1 -1
- package/dist/client/assets/{search-C4VlW_0l.js → search-UsM-9-_W.js} +1 -1
- package/dist/client/assets/secondaryNavConfig-D15P1Y9k.css +1 -0
- package/dist/client/assets/secondaryNavConfig-DzNHk6IH.js +1 -0
- package/dist/client/assets/{selection-bridge-B5jqyMR9.js → selection-bridge-OTS2iFkt.js} +1 -1
- package/dist/client/assets/{send-horizontal-pOtGI7FM.js → send-horizontal-BlQsRK6C.js} +1 -1
- package/dist/client/assets/{send-to-agent-session-BZGq_ycy.js → send-to-agent-session-C1mgqdow.js} +1 -1
- package/dist/client/assets/{server-ms1yxUYJ.js → server-DBlPW0Mp.js} +1 -1
- package/dist/client/assets/{session-catalog-s-T_w41t.js → session-catalog-CnpZMB7C.js} +1 -1
- package/dist/client/assets/{session-table-CDx_16xf.js → session-table-CGkfG5Yd.js} +1 -1
- package/dist/client/assets/{sessions-view-DzYGsKWS.js → sessions-view-Bge4XZ4I.js} +1 -1
- package/dist/client/assets/{settings-TJIkkZ0P.js → settings-C69Zjrpq.js} +1 -1
- package/dist/client/assets/{shared-work-artifacts-4IIQXQfc.js → shared-work-artifacts-DfNl9KTo.js} +1 -1
- package/dist/client/assets/{sliders-horizontal-CHf3ntw0.js → sliders-horizontal-6bzeod7c.js} +1 -1
- package/dist/client/assets/{sparkles-BbOFw3d0.js → sparkles-Cc5lPZRv.js} +1 -1
- package/dist/client/assets/{sse-v5QLsOHV.js → sse-A8AyLH0g.js} +1 -1
- package/dist/client/assets/{tail-events-DQ46QBW1.js → tail-events-C4WdhVeK.js} +1 -1
- package/dist/client/assets/{terminal-96JWDYDL.js → terminal-DMZjX1es.js} +1 -1
- package/dist/client/assets/{terminal-relay-Bfx8pg80.js → terminal-relay-mO89dX-Y.js} +1 -1
- package/dist/client/assets/{terminal-sessions-Ch9aYlgi.js → terminal-sessions-3RfJpen8.js} +1 -1
- package/dist/client/assets/{terminal-takeover-BlpxpvSp.js → terminal-takeover-CZZsnPzj.js} +1 -1
- package/dist/client/assets/use-beside-D3cJpA5p.js +1 -0
- package/dist/client/assets/{use-conversation-list-A_YUf8lo.js → use-conversation-list-D5EnpVba.js} +1 -1
- package/dist/client/assets/{use-fleet-active-asks-DFs_u-vM.js → use-fleet-active-asks-D_QOmjg5.js} +1 -1
- package/dist/client/assets/{use-mesh-node-state-Ck9CYplv.js → use-mesh-node-state-3V3ADQ-G.js} +1 -1
- package/dist/client/assets/{use-mesh-ops-items-Be1WmwCg.js → use-mesh-ops-items-DI9GKWlF.js} +1 -1
- package/dist/client/assets/{use-reduced-motion-D7n3vK8t.js → use-reduced-motion-CiaZHMnk.js} +1 -1
- package/dist/client/assets/use-scout-dev-flags-CkdAHlDR.js +1 -0
- package/dist/client/assets/{useAgentHoverCard-Dr-OjNFF.js → useAgentHoverCard-A3QGXqIy.js} +1 -1
- package/dist/client/assets/useContentSecondaryNav-DrL_nkCZ.js +1 -0
- package/dist/client/assets/{useEmbedHeadline-BL8wQawZ.js → useEmbedHeadline-atkQVfGw.js} +1 -1
- package/dist/client/assets/usePersistentState-Y8XwSTg-.js +1 -0
- package/dist/client/assets/{usePierreRuntime-DJkRHMoe.js → usePierreRuntime-DTvcwISe.js} +1 -1
- package/dist/client/assets/users-RLK3P5U4.js +1 -0
- package/dist/client/assets/{wrench-BsMTSeji.js → wrench-B4maQJai.js} +1 -1
- package/dist/client/assets/{x-DI1ktCYb.js → x-rlMdRqJF.js} +1 -1
- package/dist/client/assets/{xterm-B1YBE4Gq.js → xterm-B1zHHOLQ.js} +1 -1
- package/dist/client/assets/{zap-sKPkh4sQ.js → zap-B4X0OrEw.js} +1 -1
- package/dist/client/index.html +15 -3
- package/dist/drizzle/0019_session_actor_targets.sql +227 -0
- package/dist/drizzle/README.md +19 -0
- package/dist/drizzle/meta/0019_snapshot.json +6804 -0
- package/dist/drizzle/meta/_journal.json +7 -0
- package/dist/highlights-eq9cgrbb.scm +604 -0
- package/dist/highlights-ghv9g403.scm +205 -0
- package/dist/highlights-hk7bwhj4.scm +284 -0
- package/dist/highlights-r812a2qc.scm +150 -0
- package/dist/highlights-x6tmsnaa.scm +115 -0
- package/dist/injections-73j83es3.scm +27 -0
- package/dist/main.mjs +1214 -722
- package/dist/node/main.mjs +133 -22
- package/dist/pairing-runtime-controller.mjs +715 -492
- package/dist/runtime/base-daemon.mjs +14176 -58
- package/dist/runtime/broker-daemon.mjs +15520 -445
- package/dist/runtime/broker-process-manager.mjs +5 -3
- package/dist/runtime/mesh-discover.mjs +5 -3
- package/dist/scout-control-plane-web.mjs +21065 -3387
- package/dist/tree-sitter-javascript-nd0q4pe9.wasm +0 -0
- package/dist/tree-sitter-markdown-411r6y9b.wasm +0 -0
- package/dist/tree-sitter-markdown_inline-j5349f42.wasm +0 -0
- package/dist/tree-sitter-typescript-zxjzwt75.wasm +0 -0
- package/dist/tree-sitter-zig-e78zbjpm.wasm +0 -0
- package/dist/update-helper.mjs +83 -17
- package/package.json +2 -2
- package/dist/client/assets/ActivityScreen-DCALiEXY.js +0 -1
- package/dist/client/assets/AgentAdventures-NwTKeF0F.js +0 -1
- package/dist/client/assets/AgentConfigurationScreen-B2Hw0ce1.js +0 -1
- package/dist/client/assets/AgentDefinitionsWorkspace-CwZJ833X.js +0 -1
- package/dist/client/assets/AgentFloorView-l2wNKFob.js +0 -1
- package/dist/client/assets/AgentInfoScreen-ClZM1wQb.js +0 -1
- package/dist/client/assets/AgentLanesEmbedScreen-DqHwqY0X.js +0 -1
- package/dist/client/assets/AgentMasterScreen-By6DN0jF.js +0 -1
- package/dist/client/assets/AgentsConsole-Dq0S_hRA.js +0 -1
- package/dist/client/assets/AgentsScreen-Bi9Lx47B.js +0 -1
- package/dist/client/assets/AgentsSubnav-BOobgtGE.js +0 -1
- package/dist/client/assets/BriefingDetailScreen-sprFl4Nk.js +0 -1
- package/dist/client/assets/BrokerScreen-CejzhRsB.js +0 -8
- package/dist/client/assets/ConversationFeedRows-DVqnZQH0.js +0 -1
- package/dist/client/assets/ConversationHeader-CCSU8uo_.js +0 -1
- package/dist/client/assets/ConversationScreen-tTP6B_F-.js +0 -2
- package/dist/client/assets/CrewWorkspaces-4O8dgRUD.js +0 -1
- package/dist/client/assets/CrewWorkspaces-Diq11KDq.css +0 -1
- package/dist/client/assets/FlightObserveScreen-DDXfNbsw.js +0 -1
- package/dist/client/assets/FloorResourcesSheet-Djrgd_ZU.js +0 -1
- package/dist/client/assets/HarnessMark-Bt47OeHy.js +0 -1
- package/dist/client/assets/HarnessesScreen-M84sFjWY.js +0 -1
- package/dist/client/assets/KnowledgeSearchScreen-WC0WhFio.js +0 -1
- package/dist/client/assets/LaneTraceDetailSheet-mAhj7MJi.js +0 -1
- package/dist/client/assets/MeshScreen-DlfiMlaR.js +0 -1
- package/dist/client/assets/MessagesScreen-BZ7yaGJx.js +0 -1
- package/dist/client/assets/MissionControlView-DpGhxG4a.js +0 -1
- package/dist/client/assets/MissionLeftAgentRow-DhhRRim0.js +0 -1
- package/dist/client/assets/NativeAreaScreen-BQyHHRAM.js +0 -1
- package/dist/client/assets/NativeAreaScreen-Ditv-TYW.js +0 -1
- package/dist/client/assets/NativeAreaScreen-Dq3uPSEI.js +0 -1
- package/dist/client/assets/NewChatComposer-JjLbm3W2.js +0 -19
- package/dist/client/assets/OpenScoutAppShell-CzKbjwCA.js +0 -22
- package/dist/client/assets/OpsAgentsView-CZbtkcQH.js +0 -1
- package/dist/client/assets/OpsScreen-DJq-aBmX.js +0 -1
- package/dist/client/assets/OpsSubnav-9sURjajO.js +0 -1
- package/dist/client/assets/ProjectAgentProfile-q_1tMJIL.js +0 -1
- package/dist/client/assets/ProjectAgentProfileHero-DyEFyTFs.js +0 -1
- package/dist/client/assets/ProjectsInbox-Bs8I__my.js +0 -2
- package/dist/client/assets/ProjectsRail-Deb38OJ1.js +0 -1
- package/dist/client/assets/ProjectsScreen-CgLiYiss.js +0 -1
- package/dist/client/assets/ProjectsThreadAside-C0Yw3yIL.js +0 -1
- package/dist/client/assets/RawSessionsTable-DIhmlvk-.js +0 -1
- package/dist/client/assets/RealtimeVoiceScreen-3oU7b7V5.js +0 -1
- package/dist/client/assets/RepoDiffViewerLazy-BQ6ZCrsq.js +0 -2
- package/dist/client/assets/SessionRefScreen-BOQ1_ydg.js +0 -1
- package/dist/client/assets/SessionsScreen-R8QKvoey.js +0 -1
- package/dist/client/assets/SettingsScreen-DirtO7Z0.js +0 -1
- package/dist/client/assets/SharedWorkFloor-yPWFLZwX.js +0 -2
- package/dist/client/assets/Terminal-D-DsQlmV.js +0 -4
- package/dist/client/assets/TerminalEmbedScreen-9Gmln759.js +0 -1
- package/dist/client/assets/WorldActorTalk-uIH2jGqA.js +0 -1
- package/dist/client/assets/agent-autocomplete-CeHQpuG9.js +0 -10
- package/dist/client/assets/arrow-down-WoVlkUmg.js +0 -1
- package/dist/client/assets/chunk-JTPDIGGW-ZC-98AHT.js +0 -46
- package/dist/client/assets/chunk-T65CQEWV-CSVUz2rY.js +0 -1
- package/dist/client/assets/chunk-YOZR3KYS-B59jqwO0.js +0 -2
- package/dist/client/assets/content-B5Q4pb9R.js +0 -1
- package/dist/client/assets/content-BK1IfOZs.js +0 -1
- package/dist/client/assets/content-BeEsWLEm.js +0 -1
- package/dist/client/assets/content-BkOwEknW.js +0 -1
- package/dist/client/assets/content-C32W5kAG.js +0 -1
- package/dist/client/assets/content-CoqyLs9v.js +0 -1
- package/dist/client/assets/content-CwpdIS5b.js +0 -1
- package/dist/client/assets/content-DS2OkJ3Q.js +0 -1
- package/dist/client/assets/content-DXKaPDfn.js +0 -1
- package/dist/client/assets/content-DZt5-dkI.js +0 -1
- package/dist/client/assets/content-DbQJH8L1.js +0 -1
- package/dist/client/assets/content-DetoiaHq.js +0 -1
- package/dist/client/assets/content-Dhu3wL7J.js +0 -1
- package/dist/client/assets/content-Dpv34iZu.js +0 -1
- package/dist/client/assets/content-TtQJb61D.js +0 -1
- package/dist/client/assets/content-ymNb2R7g.js +0 -1
- package/dist/client/assets/conversation-motion-features-9x8uZpwh.js +0 -1
- package/dist/client/assets/discover-C8IOY7_K.js +0 -2
- package/dist/client/assets/embed-entry-CG3CfCbm.js +0 -2
- package/dist/client/assets/home-now-card-DduXkHRR.js +0 -1
- package/dist/client/assets/hooks-C6VyQTQe.js +0 -2
- package/dist/client/assets/index-C5cX8dkl.js +0 -1
- package/dist/client/assets/index-C8uS5szO.js +0 -10
- package/dist/client/assets/index-Ck1__1yL.css +0 -1
- package/dist/client/assets/index-ClOOrVG1.js +0 -1
- package/dist/client/assets/index-Crtgfc9I.js +0 -1
- package/dist/client/assets/lane-ask-display-B6iCAVcd.js +0 -18
- package/dist/client/assets/left-B-_z_nqj.js +0 -2
- package/dist/client/assets/left-B1LY7rJc.js +0 -1
- package/dist/client/assets/left-C6bdjWcG.js +0 -2
- package/dist/client/assets/left-CF4iuqlz.js +0 -1
- package/dist/client/assets/left-DLtNyZl1.js +0 -1
- package/dist/client/assets/left-Fpxoq-VY.js +0 -1
- package/dist/client/assets/left-N2wXfTlp.js +0 -1
- package/dist/client/assets/left-advisor-CeIjCKbd.js +0 -1
- package/dist/client/assets/left-agents-upjHVlOj.js +0 -1
- package/dist/client/assets/left-default-08gmdCtb.js +0 -1
- package/dist/client/assets/left-lanes-Cvsp73Hw.js +0 -1
- package/dist/client/assets/left-mission-W1LLaz74.js +0 -1
- package/dist/client/assets/library-DLKBVUJ6.js +0 -1
- package/dist/client/assets/profile-C3KgiZvc.js +0 -1
- package/dist/client/assets/projects-inbox-BIW7nv-H.css +0 -1
- package/dist/client/assets/resolve-panes-DuowGRTk.js +0 -1
- package/dist/client/assets/resolve-sidebar-context-BkTbqteq.js +0 -1
- package/dist/client/assets/right-B9OUA6Ho.js +0 -1
- package/dist/client/assets/right-BDQnjetX.js +0 -1
- package/dist/client/assets/right-BUbKHmRH.js +0 -1
- package/dist/client/assets/right-Ci2IcD4s.js +0 -1
- package/dist/client/assets/right-CmCce3e5.js +0 -1
- package/dist/client/assets/right-D7w0zM5a.js +0 -1
- package/dist/client/assets/right-DIoON_bv.js +0 -1
- package/dist/client/assets/right-E0Jr3VN5.js +0 -1
- package/dist/client/assets/right-lCdAk9dW.js +0 -1
- package/dist/client/assets/router-BKiMcYa7.js +0 -1
- package/dist/client/assets/secondaryNavConfig-DAXIFtVd.js +0 -1
- package/dist/client/assets/secondaryNavConfig-xssF_ubT.css +0 -1
- package/dist/client/assets/use-beside-Df-F2Uvg.js +0 -1
- package/dist/client/assets/use-scout-dev-flags-0TXfQcG0.js +0 -1
- package/dist/client/assets/useContentSecondaryNav-CGvMOVGY.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as t,r as n,P as K,Q as V,p as Q,R as X}from"./index-DReVb7jZ.js";import{u as v,h as Z}from"./Provider-CNZluAZb.js";import{resolveContentPane as tt,resolveRightPane as et,resolveLeftPane as ot}from"./resolve-panes-pfZTezKo.js";import{S as rt}from"./ScoutSurface-6g1f5chk.js";import{a as $}from"./provider-DwmCoSlc.js";import{S as W}from"./RealtimeVoiceScreen-D41TYY0x.js";import{BrokerRight as it}from"./right-DJMSICky.js";import{OpsInspectorPanel as nt}from"./inspector-panel-CLU7wjnT.js";import{b as st,u as at}from"./persistent-state-BUsTTZFE.js";import{M as pt}from"./MeshCanvasMinimap-ClVolr4-.js";import{e as mt}from"./nav-destinations-CU_euC-Q.js";import{u as ct}from"./Terminal-jIqnIZZ6.js";import{T as lt}from"./TerminalRelay--qOBwnbR.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-DaUOREpP.js";import{T as bt}from"./chunk-HRAB3GC3-Dvk_QpRq.js";import"./router-C-MF5-mb.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./sse-A8AyLH0g.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./agent-state-DDhnFEEP.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-BEXS8vV6.js";import"./runtime-picker-C_AVYF63.js";import"./scout-voice-CqAyfblr.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DNUsuPWz.js";import"./createLucideIcon-ChvMq-zl.js";import"./conversation-model-m8HhzroS.js";import"./colors-CFlbwC25.js";import"./time-Dhsh_2EG.js";import"./conversations-Cbg9h_Af.js";import"./index-CbqBwfIW.js";import"./HarnessMark-DSvM_H7H.js";import"./NewChatOrigin-C8ROO4ps.js";import"./keyboard-nav-CJXPaHXj.js";import"./x-rlMdRqJF.js";import"./chevron-down-CDzRQQGl.js";import"./search-UsM-9-_W.js";import"./file-text-DP6txVW-.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-DlMiEALb.js";import"./TextDocumentSurface-BK6Qy41F.js";import"./index-kkXUq-zf.js";import"./chevron-right-DKGTLiqc.js";import"./folder-B_S7gBVr.js";import"./chevron-up-DX7R6KY2.js";import"./code-xml-Cmadr3pQ.js";import"./arrow-left-DFfKAq0d.js";import"./arrow-right-DmAWnyAH.js";import"./content-BN5weWKW.js";import"./ActivityScreen-CcDdQTBK.js";import"./clipboard-e3fSpeo7.js";import"./mentions-Ck_Vjnyp.js";import"./AgentDetailCard-MIEBKw_S.js";import"./AgentLiveActions-6Kfr1uOT.js";import"./terminal-takeover-CZZsnPzj.js";import"./openContent-C6XO6kr5.js";import"./eye-CsGfEVR6.js";import"./terminal-DMZjX1es.js";import"./EmptyState-CYUwYyAW.js";/* empty css */import"./left-C6SyaqlJ.js";/* empty css */import"./AgentAvatar-NZOqcsB2.js";import"./SpriteAvatar-aHeF4ZQZ.js";import"./CrewAvatar-zgzC3cbU.js";import"./content-YvU-D0hF.js";import"./AgentInfoScreen-DuaN0sgE.js";/* empty css */import"./BackToPicker-CkBhGRlD.js";import"./ObservedTopologyPanel-DF6tRZL_.js";import"./AgentsScreen-BMNAj1PH.js";/* empty css */import"./AgentsSubnav-CeHhuzyM.js";import"./SecondaryNav-Bs-_VwTC.js";import"./secondaryNavConfig-DzNHk6IH.js";import"./message-square-CJW4WRlo.js";import"./compass-CvzkzkIh.js";import"./settings-C69Zjrpq.js";import"./git-branch-DcUCsWdJ.js";import"./scroll-text-B0tKI9Sg.js";import"./library-DdhYL_9v.js";/* empty css */import"./AgentSessions-CO1WGa8Z.js";import"./profile-BegEUmB7.js";import"./context-budget-8qFKqM-j.js";import"./session-catalog-CnpZMB7C.js";import"./terminal-relay-mO89dX-Y.js";import"./ConversationScreen-tpj4cqWs.js";import"./ConversationComposer-DNcn5U6D.js";import"./zap-B4X0OrEw.js";import"./message-markup-6Tgo4qFJ.js";import"./message-visibility-DwxgcgYK.js";import"./operator-attention-DBaRg5ep.js";import"./sessionRead-CvFz2RHv.js";import"./types-B0PlfpKc.js";/* empty css */import"./ConversationHeader-Y9TEJxP_.js";import"./AstronautSuit-D67fIBdR.js";import"./panel-right-qP17MwMl.js";import"./CommsFlowGraph-voDD9M5R.js";import"./comms-gesture-_aGFo6g3.js";import"./CommsCanvas-DdNAwjGW.js";import"./comms-deck-CBhsXnY-.js";import"./CommsFlowMap-C33sgD48.js";import"./CommsSelection-BL8aYD7z.js";/* empty css */import"./use-conversation-list-D5EnpVba.js";import"./agent-master-model-C-KdOFDK.js";import"./use-beside-D3cJpA5p.js";import"./ConversationFeedRows-RnYSa7Io.js";import"./ConversationPanels-6pprBpmq.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";import"./use-reduced-motion-CiaZHMnk.js";import"./proxy-DgzP27W8.js";import"./activity-BJqFrZyB.js";import"./message-circle-cI5_A5mj.js";import"./tail-events-C4WdhVeK.js";import"./ConversationStatus-Cv-7hErW.js";import"./check-g7D7-c1J.js";import"./sparkles-Cc5lPZRv.js";import"./SessionObserve-B64YsYhy.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-Czggx8oM.js";import"./LaneToolHoverCard-D2cnTeUd.js";import"./lane-observe-CteDwdD-.js";import"./lane-ask-display-BTVSakyo.js";import"./ObserveTextFlow-CC5mnngm.js";import"./SessionObserveEvidence-CS1aQBpQ.js";import"./wrench-B4maQJai.js";import"./external-link-BVccgH0n.js";import"./AgentDefinitionsWorkspace-BqS6MXqF.js";import"./agent-specialization-BplZUa_0.js";import"./project-overview-helpers-BQTc_Ous.js";import"./FileViewerPane-Cxhixtks.js";/* empty css */import"./agent-essentials-bKWYOZaH.js";/* empty css *//* empty css */import"./right-BDaCJ0CF.js";import"./openAgent-Dbv5wfuL.js";import"./TmuxPeek-DpUT9Tpc.js";import"./refresh-cw-IcD2lPoT.js";import"./ProjectsRail-CELVubfJ.js";import"./AddProjectForm-CHNJ4NnS.js";import"./projects-inbox-CfwxCTdN.js";import"./ProjectsScreen-DMw4TLKy.js";import"./ProjectsInbox-DfCXReZK.js";import"./ui-LM8pS8qE.js";import"./SessionRefScreen-DURV0MpF.js";import"./session-ref-lookup-state-SATH_jAP.js";/* empty css */import"./CrewWorkspaces-K2jcyLec.js";import"./plus-D5NLH_fM.js";import"./useEmbedHeadline-atkQVfGw.js";import"./api-BQYTwoz6.js";import"./cache-DGBo3vIf.js";import"./arrow-up-right-B0aLKiyF.js";import"./ProjectAgentProfile-FUav75j2.js";import"./ProjectAgentProfileBar-C8z22pJ2.js";import"./ProjectsThreadAside-D1Sh4fnX.js";import"./content-BxUPlcx5.js";import"./BriefingDetailScreen-yZG8_m4h.js";import"./scoutbot-markdown-DwvGQOWo.js";/* empty css */import"./BriefingsScreen-DTxYMr3a.js";import"./content-oKQMyVnH.js";import"./BrokerScreen-CT37VQiL.js";import"./status-tone-BM_zuRy1.js";import"./broker-display-BkBzyvbR.js";import"./BrokerMetadataPanel-crirZCdo.js";import"./DispatchAftermath-CcYGUB10.js";import"./follow-route-BvcGtBIL.js";import"./ShikiPane-XwFI-pCp.js";import"./send-horizontal-BlQsRK6C.js";import"./copy-BGOC1tJB.js";import"./at-sign-DM7xeppo.js";import"./radio-Cas2qg1D.js";import"./left-0vBrvrBG.js";import"./conversation-prefs-DNre-Lcx.js";import"./use-fleet-active-asks-D_QOmjg5.js";import"./sessions-view-Bge4XZ4I.js";import"./RailRow-DUPqXMZh.js";/* empty css */import"./content-CIC5sku8.js";import"./MessagesScreen-CtNMfIvC.js";import"./AgentMasterScreen-DUDUTAnU.js";/* empty css */import"./CommsDeck-mGWY7Ivi.js";import"./right-D-uv5YfF.js";import"./CodeScreen-CSC-zbP9.js";import"./CodeDiffPane-D-iv28LJ.js";import"./usePierreRuntime-DTvcwISe.js";/* empty css */import"./CodeProjectPicker-CZ3gDdiT.js";/* empty css */import"./content-CKJ9zb7Z.js";import"./FollowScreen-CupyOgt4.js";import"./content-LSStQYj5.js";import"./HarnessesScreen-DyjqbZ4k.js";import"./useContentSecondaryNav-DrL_nkCZ.js";import"./OpsSubnav-C9E0r3GZ.js";/* empty css */import"./left-CTuXysZR.js";import"./content-DrKBYpcb.js";import"./HomeHero-pIZtE1cC.js";import"./TailView-BofjmUMJ.js";import"./SlidePanel-BMpkXai_.js";import"./observe-CtS0l3zu.js";import"./agent-lanes-model-DMAdqCmK.js";import"./home-moving-signal-BIHUGNfI.js";import"./home-live-action-BkqGLVRY.js";import"./cpu-Q6nrHFTN.js";import"./file-code-corner-Be6da5l3.js";import"./right-Cb1VCrdj.js";import"./left-Cc6s4DT2.js";import"./mesh-view-store-C1-mdP3P.js";import"./machine-children-CdhNzDF0.js";import"./use-mesh-node-state-3V3ADQ-G.js";import"./NodeMenu-CcOeFRCB.js";import"./content-CnhhSCZq.js";import"./MeshScreen-BW1dMFWF.js";import"./MeshCanvas-BR25OBTJ.js";import"./Canvas-CRP0KjKb.js";import"./useAgentHoverCard-A3QGXqIy.js";import"./local-agents-I40PawYA.js";/* empty css */import"./right-CeFaxfBo.js";import"./NodeDetailPanel-BNTqYC7m.js";import"./left-DgT4tWCx.js";import"./mesh-ops-DSlvHp-D.js";import"./use-mesh-ops-items-DI9GKWlF.js";import"./content-D1Ze_FG9.js";import"./use-scout-dev-flags-CkdAHlDR.js";import"./right-BP6lXRFS.js";import"./left-R0wppTTr.js";import"./left-agents-thnBO156.js";import"./left-default-CT42fnpF.js";import"./left-lanes-CSmZgciK.js";import"./lane-roster-store-Ch9t6lb0.js";import"./left-mission-C86x6i9h.js";import"./mission-control-store-p_cboAm4.js";import"./MissionLeftAgentRow-Dms0DBjO.js";import"./page-status-DwFR4wSw.js";import"./left-advisor-C-kt8V28.js";import"./server-DBlPW0Mp.js";import"./layers-BOwyWodP.js";import"./gauge-DQCGlE3o.js";import"./content-DY3F9Vfr.js";import"./OpsScreen-DySeNQ1V.js";/* empty css */import"./AgentLanesView-WZhEDBFE.js";/* empty css */import"./AgentFloorView-A0dDRlRV.js";import"./AgentAdventures-BxrYq_2v.js";import"./ReplayClock-DUVJjrIu.js";import"./SproutActionSprite-DI5N3gOj.js";/* empty css */import"./CrewSprite-Dp9KBBGY.js";import"./adventure-playback-DTfkhIc0.js";import"./AdventureScenery-DSxDlqG1.js";import"./adventure-habitats-v1-M1lcpTJh.js";import"./AdventureReader-ZsBDQITY.js";import"./floor-preview-text-HrORUJ7D.js";/* empty css */import"./book-open-BL9qvhEI.js";import"./ReplayLog-Bek1Vc4W.js";import"./AdventureEvidence-B4mEvXeD.js";import"./agent-lane-detail-Ti3trpfH.js";/* empty css *//* empty css */import"./flag-DAFE2wZ5.js";import"./pause-B_hliKuR.js";import"./play-CVeRmqLH.js";import"./SharedWorkFloor-C0xxW4SN.js";import"./WorldMinimap-DOptgrc4.js";import"./WorldSky-D-RJzSa6.js";import"./WorldActorTalk-CKerDikx.js";import"./send-to-agent-session-C1mgqdow.js";import"./FloorExchangePanel-CjHSDXad.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-ckVkecDO.js";import"./RenderedWorkerSprite-C8fxndAh.js";import"./FloorMessagePasses-BG4ebnX5.js";import"./WorkRunView-_mhG_FR2.js";import"./floor-context-model-rWKqaKmV.js";import"./agent-floor-actor-DW8zLht0.js";import"./SharedFloorCharacter-V04kD5T9.js";import"./WorldCharacter-BRrj3MQN.js";import"./RiggedWorkerCharacter-CJMWlvV-.js";import"./FloorReplay-BoYaGY9t.js";import"./AgentFloorWorld-BTqwmK5G.js";/* empty css */import"./agent-floor-world-layout-hfMjuoui.js";import"./coffee-ljG1_krY.js";/* empty css */import"./FloorTacticalHUD-BhyOqlL5.js";import"./FloorSavedWork-jbtRs-YE.js";import"./pin-Oi4qHR6M.js";/* empty css */import"./FloorResourcesSheet-_Iy5UqgY.js";/* empty css *//* empty css */import"./FloorContextSheet-Vj_wVZq1.js";import"./AgentLanesPreflight-CcS23wij.js";import"./AgentLaneChrome-fGC-ZrJS.js";import"./AgentLaneCard-C4rKLLdT.js";/* empty css */import"./AgentLaneSummaryResize-DgSeA_vS.js";import"./agent-lane-card-model-CeqQGp-8.js";import"./agent-lane-preview-Dpa3DuOn.js";import"./AgentLaneDetailSheet-BTF4_th9.js";import"./LaneTraceDetailSheet-jl4XQmEx.js";import"./LaneTraceEventFocus-BLhVHwff.js";import"./MissionControlView-BjPOViGY.js";/* empty css */import"./MissionContextRail-CafjuseK.js";import"./mission-wall-DOuGOxQy.js";import"./mission-control-model-C30vU1Fe.js";import"./MissionFocusOverlay-nhy3hkxQ.js";import"./MissionLogPane-DiUf3vWW.js";import"./OpsAgentsView-D3rM0udq.js";/* empty css */import"./DataTable-av71ehJV.js";/* empty css */import"./sliders-horizontal-6bzeod7c.js";import"./HostAdvisorView-Dv5meXo2.js";/* empty css */import"./layout-grid-B36Qsh0y.js";import"./AtopView-Ck30FbzG.js";import"./content-BNokkm7C.js";import"./RepoDiffPageScreen-D9-s5PyB.js";import"./RepoDiffViewerLazy-BpMR7tlx.js";import"./ReposScreen-BQ7HO1om.js";/* empty css */import"./selection-bridge-OTS2iFkt.js";import"./right-cjPTwPXS.js";import"./content-BV4PUM9q.js";import"./KnowledgeSearchScreen-BPqAjHnH.js";/* empty css */import"./clock-CQb4FeMf.js";import"./KnowledgeSearchInspector-B8yiM524.js";import"./content-0AXa0klu.js";import"./SessionsScreen-D71ZR-8t.js";import"./RawSessionsTable-6OVJq0JZ.js";import"./FlightObserveScreen-CvzhzuWc.js";/* empty css */import"./right-Ck2SrYCj.js";import"./content-BEyJ19Lx.js";import"./SettingsScreen-CYBHal6y.js";import"./StatusPill-Dw4LP7wu.js";import"./AgentConfigurationScreen-BhD1PEAM.js";import"./CastPicker-ZPomvOf-.js";import"./bot-BhAVbcCA.js";import"./SettingsDrawer-Nz98oBVl.js";import"./credentials-OeoF-VKJ.js";import"./VoicePermissionsPanel-D35fOnQj.js";import"./monitor-C7_cHlkC.js";import"./left-DF5caiyh.js";import"./usePersistentState-Y8XwSTg-.js";import"./session-table-CGkfG5Yd.js";import"./right-Dnljs8ah.js";import"./content-CdkTyxqk.js";import"./WorkDetailScreen-Bcf_yHhU.js";import"./WorkFilesViewer-t8AEyx3Q.js";import"./right-SdCSF8PP.js";/* empty css */import"./HerdrSession-Dcm3vf9U.js";import"./TerminalHeaderMount-CwbQhXcI.js";import"./agent-autocomplete-_u9o5EZu.js";import"./gestures-CofqY4Km.js";import"./rocket-DAqYvu8I.js";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=Q();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:X,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 +1 @@
|
|
|
1
|
-
import{j as i}from"./index-
|
|
1
|
+
import{j as i}from"./index-DReVb7jZ.js";import{c as m,T as p}from"./TextDocumentSurface-BK6Qy41F.js";import{C as f}from"./chevron-right-DKGTLiqc.js";import{F as v}from"./folder-B_S7gBVr.js";import{F as h}from"./file-text-DP6txVW-.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};
|
|
@@ -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-DReVb7jZ.js";import{u as b}from"./Provider-CNZluAZb.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-A8AyLH0g.js";import{t as v}from"./time-Dhsh_2EG.js";import{X as B}from"./x-rlMdRqJF.js";import{C as $}from"./check-g7D7-c1J.js";import{C as L}from"./copy-BGOC1tJB.js";import"./provider-DwmCoSlc.js";import"./router-C-MF5-mb.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-BEXS8vV6.js";import"./runtime-picker-C_AVYF63.js";import"./scout-voice-CqAyfblr.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DNUsuPWz.js";import"./createLucideIcon-ChvMq-zl.js";import"./conversation-model-m8HhzroS.js";import"./colors-CFlbwC25.js";import"./conversations-Cbg9h_Af.js";import"./index-CbqBwfIW.js";import"./HarnessMark-DSvM_H7H.js";import"./NewChatOrigin-C8ROO4ps.js";import"./keyboard-nav-CJXPaHXj.js";import"./chevron-down-CDzRQQGl.js";import"./search-UsM-9-_W.js";import"./file-text-DP6txVW-.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-DlMiEALb.js";import"./TextDocumentSurface-BK6Qy41F.js";import"./index-kkXUq-zf.js";import"./chevron-right-DKGTLiqc.js";import"./folder-B_S7gBVr.js";import"./chevron-up-DX7R6KY2.js";import"./code-xml-Cmadr3pQ.js";import"./arrow-left-DFfKAq0d.js";import"./arrow-right-DmAWnyAH.js";import"./chunk-HRAB3GC3-Dvk_QpRq.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 Pe({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?`${v(l.generatedAt)} refresh`:"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{Pe as OpsInspectorPanel,Pe as OpsRight};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as l}from"./index-
|
|
1
|
+
import{r as l}from"./index-DReVb7jZ.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};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const C=/^\s*#\s*AGENTS\.md instructions[^\n]*(?:\n+<INSTRUCTIONS>[\s\S]*?<\/INSTRUCTIONS>)?/i,O=/<INSTRUCTIONS>[\s\S]*?<\/INSTRUCTIONS>/gi,b=/\bask\/Task\s*:\s*([^\n]+)/i,R=/^(?:#+\s*)?(?:task|request|prompt|goal|user goal|user request|ask)\s*:\s*(.+)$/i,g=/^\s*#{1,4}\s*(?:my request(?:\s+for\s+[^:\n]+)?|request|user request)\s*:?\s*$/i,$=/^#?\s*(?:AGENTS\.md instructions|Global Codex Build Hygiene|Agent Instructions)\b/i,I=/^#?\s*Files mentioned by the user\s*:?\s*$/i,k=/^```/,G=/^.+?\bask\/Task\s*:\s*/i,q=/^\s*(?:\u2316\s*)?.+?\s+(?:->|\u2192)\s+.+?\s+(?:\u00b7|\.)\s+ask:[\w-]+\s*(?:>|\u203a)\s*/iu,U=/^#?\s*Codex task\s*(?:[-:\u2013\u2014])\s*/i,w=/^(?:ask|request|user request|incoming ask)$/i;function N(e){return(e??"").replace(/\r\n/g,`
|
|
2
|
+
`).trim()}function h(e){let t=e.trim(),n=!0;for(;n;){const s=t.replace(C,"").trim();n=s!==t,t=s}return t.replace(O,"").trim()}function y(e){let t=e.trim(),n=!0;for(;n;){n=!1;const s=t.split(`
|
|
3
|
+
`),r=f(s[0]??"");w.test(r)&&s.length>1&&(t=s.slice(1).join(`
|
|
4
|
+
`).trim(),t=h(t),n=!0)}return t}function D(e){const t=e.split(`
|
|
5
|
+
`),n=[];let s=!1;for(const r of t){if(I.test(r)){s=!0;continue}if(s&&g.test(r)){s=!1,n.push(r);continue}s||n.push(r)}return n.join(`
|
|
6
|
+
`).trim()}function f(e){return e.trim().replace(/^\s*(?:[-*+]|\d+\.)\s+/u,"").replace(/^>\s*/u,"").replace(q,"").replace(G,"").replace(U,"").trim()}function M(e){const t=f(e);return!t||k.test(t)||$.test(t)||I.test(t)||g.test(t)||w.test(t)||/^<image\b/i.test(t)||/^<\/image>$/i.test(t)||/^<\/?INSTRUCTIONS>$/i.test(t)?!1:/[\p{L}\p{N}]/u.test(t)}function _(e){for(const t of e.split(`
|
|
7
|
+
`))if(M(t))return f(t);return null}function x(e){const t=e.match(b);if(t?.[1]?.trim())return f(t[1]);for(const n of e.split(`
|
|
8
|
+
`)){const r=f(n).match(R);if(r?.[1]?.trim())return f(r[1])}return null}function A(e){const t=e.split(`
|
|
9
|
+
`);for(let n=0;n<t.length;n+=1){if(!g.test(t[n]??""))continue;return t.slice(n+1).join(`
|
|
10
|
+
`).trim()||null}return null}function S(e,t){const n=e.trim();if(n.length<=t)return n;const s=n.slice(0,t).trimEnd(),r=Math.max(s.lastIndexOf(" "),s.lastIndexOf(`
|
|
11
|
+
`),s.lastIndexOf("."));return`${(r>t*.55?s.slice(0,r):s).trimEnd()}...`}const B=/<\/?([a-zA-Z][\w.-]*)(\s[^<>]*?)?\s*\/?>/g,X=/[-_]/,F=/([\w.-]+)\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'>]+))/g,K=new Set(["realtime_delegation","input"]),P=["transcript_delta"],H={transcript_delta:"Transcript","in-app-browser-context":"Browser context",environment_context:"Environment","app-context":"App context","system-reminder":"Reminder",recommended_plugins:"Plugins","local-command-caveat":"Command note"};function Q(e){const t=H[e];if(t)return t;const n=e.replace(/[-_]+/g," ").trim();return n?n.charAt(0).toUpperCase()+n.slice(1):e}function v(e){const t=[],n=new Map,s=(i,c,l)=>{let o;if(l){let T;for(const m of l.matchAll(F)){const E=m[2]??m[3]??m[4]??"";if(T===void 0&&(T=E),m[1]?.toLowerCase()==="source"){o=E;break}}o??=T}const a=n.get(i);if(a){!a.detail&&o&&(a.detail=o,a.raw=c);return}const u={name:i,raw:c};o&&(u.detail=o),n.set(i,u),t.push(u)};let r=e;for(const i of P){const c=new RegExp(`<${i}\\b([^<>]*?)\\s*>([\\s\\S]*?)(?:<\\/${i}\\s*>|$)`,"gi");r=r.replace(c,(l,o)=>(s(i,`<${i}${o??""}>`,o||void 0),"")),r=r.replace(new RegExp(`<\\/${i}\\s*>`,"gi"),"")}const p=r.replace(B,(i,c,l)=>{const o=c.toLowerCase();return K.has(o)?"":X.test(c)?(s(o,i,i.startsWith("</")?void 0:l),""):i}).replace(/[ \t]{2,}/g," ").replace(/^[ \t]+|[ \t]+$/gm,"").replace(/\n{3,}/g,`
|
|
12
|
+
|
|
13
|
+
`).trim();return{tags:t,text:p}}function j(e){return e.split(`
|
|
14
|
+
`).map(t=>f(t)).filter(t=>t.length>0).join(`
|
|
15
|
+
`).trim()}function V(e){const t=e.to?.trim();return t?t==="human"?"To operator":`To ${t}`:"User request"}function z(e){if(typeof e.answerT!="number"||!Number.isFinite(e.answerT))return null;const t=Math.max(0,Math.round(e.answerT-e.t));if(t<60)return`${t}s`;const n=Math.floor(t/60),s=t%60;return s>0?`${n}m ${s}s`:`${n}m`}function L(e){const t=N(e.text),n=D(y(h(t)))||t,s=A(n)??A(t)??n,{tags:r,text:d}=v(s),p=d||s,i=j(p)||t||"Request",c=x(p)??x(t)??_(p)??_(t)??"Request",l=V(e),o=[{label:"route",value:l}],a=z(e);a&&o.push({label:"answer",value:a});const u=N(e.answer),T=u?`${t}
|
|
16
|
+
|
|
17
|
+
Answer:
|
|
18
|
+
${u}`:t;return{label:l,title:S(c,180),preview:S(i,520),requestText:s,fullText:t,copyText:T,fields:o,contextTags:r,answer:u?{label:a?`answered after ${a}`:"answered",text:u}:void 0}}function W(e,t=!1){const n=L(e);return t?n.fullText:n.title}function Y(e){return L(e).preview}export{W as a,L as b,Q as c,Y as l};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import{n as m,t as
|
|
1
|
+
import{n as m,t as A,b as T}from"./time-Dhsh_2EG.js";import{o as p,a as v}from"./tail-display-DHSNmvor.js";const _=2*6e4,E=9e4,w=2*6e4;function H(e,n=Date.now()){if(e>n&&e-n<=w)return"now";const t=A(e,n);return!t||t==="now"?t||"now":t.startsWith("in ")?t:`${t} ago`}function C(e){return T(e)}function R(e){if(!Number.isFinite(e)||e<=0)return"0s";if(e<6e4)return`${Math.max(1,Math.round(e/1e3))}s`;if(e<36e5)return`${Math.max(1,Math.round(e/6e4))}m`;const n=Math.floor(e/36e5),t=Math.round(e%36e5/6e4);return t>0?`${n}h ${t}m`:`${n}h`}function D(e){if(!Number.isFinite(e)||e<_)return null;const n=Math.floor(e/1e3);if(n<3600)return`${Math.floor(n/60)}m gap`;const t=Math.floor(n/3600),s=Math.floor(n%3600/60);return s>0?`${t}h ${s}m gap`:`${t}h gap`}function G(e,n,t,s,o=0){const a=t-s,r=e.map(f=>u(f,n)).filter(f=>f!==null);if(r.length===0)return{eventCount:0,spanMs:0,oldestAt:null,newestAt:null,truncatedBefore:!1,hiddenBeforeCount:o};const i=Math.min(...r),c=Math.max(...r);return{eventCount:e.length,spanMs:Math.max(0,c-i),oldestAt:i,newestAt:c,truncatedBefore:i>a+E,hiddenBeforeCount:o}}function u(e,n){const t=m(e.at);if(t!==null)return t;if(!Number.isFinite(e.t)||e.t<0)return null;const s=m(n);return s===null?null:s+e.t*1e3}function N(e,n,t,s){const o=t-s;return e.filter(a=>{const r=u(a,n);return r===null?!1:r>=o})}function K(e,n,t,s){const o=t-s;return e.reduce((a,r)=>{const i=u(r,n);return i===null||i>=o?a:a+1},0)}const S=50;function q(e,n,t,s=S){const o=L(e,n,t);return!e||!o?o??null:o.events.length>=s||e.events.length<=o.events.length?o:{...e,events:e.events.slice(-s)}}function L(e,n,t){if(!e)return null;const s=e.metadata?.session?.sessionStart,o=N(e.events,s,n,t);if(o.length===e.events.length)return e;const a=n-t,r=e.files.filter(i=>typeof s!="number"||!Number.isFinite(s)||!Number.isFinite(i.lastT)||i.lastT<0?!0:s+i.lastT*1e3>=a);return{...e,events:o,files:r}}const g=180,b=3;function X(e,n=g,t=b){const s=e.replace(/\r\n/g,`
|
|
2
2
|
`).trim();if(!s)return"";const o=s.split(`
|
|
3
3
|
`),a=o.slice(0,t).join(`
|
|
4
4
|
`);if(a.length<=n&&o.length<=t)return a;const r=a.slice(0,n).trimEnd(),i=Math.max(r.lastIndexOf(" "),r.lastIndexOf(`
|
|
5
|
-
`),r.lastIndexOf("."));return`${(i>n*.55?r.slice(0,i):r).trimEnd()}…`}function
|
|
5
|
+
`),r.lastIndexOf("."));return`${(i>n*.55?r.slice(0,i):r).trimEnd()}…`}function Z(e,n=g,t=b){const s=e.replace(/\r\n/g,`
|
|
6
6
|
`).trim();return s?s.length>n||s.split(`
|
|
7
|
-
`).length>t:!1}const x=/(?:^|[\s'"`])(\/[^\s'"`]+|(?:[\w@.-]+\/)+[\w@./-]+\.\w{1,8})/g,
|
|
7
|
+
`).length>t:!1}const x=/(?:^|[\s'"`])(\/[^\s'"`]+|(?:[\w@.-]+\/)+[\w@./-]+\.\w{1,8})/g,z=/\b(?:sed|cat|head|tail|nl)\s+(?:-[^\s]+\s+)*['"]?([^\s'"]+)/,M=/\b(?:[\w./-]+\/)+[\w@./-]+\.\w{1,8}\b/g,I=/\bgit\s+diff\b[\s\S]*?\s--\s+([^\n\r;&|]+)/g,F=/^(?:\+\+\+|---)\s+(?:[ab]\/)?([^\s]+)|^\*\*\*\s+(?:Add|Update|Delete) File:\s+(.+)$/gm;function l(e){const n=e.trim().replace(/^['"]|['"]$/g,"");return!n||n.length<3||n.startsWith("{")||n.startsWith("[")||/^(https?:|git@)/.test(n)||!n.includes("/")&&!n.includes(".")?null:n}const h=new Set(["echo","sed","grep","egrep","fgrep","rg","awk","cat","head","tail","ls","cd","pwd","cp","mv","rm","mkdir","touch","chmod","chown","npx","npm","pnpm","yarn","bun","node","deno","python","python3","pip","pip3","ruby","go","cargo","rustc","swift","make","cmake","bash","sh","zsh","fish","curl","wget","git","docker","kubectl","for","do","done","then","fi","else","elif","case","esac","while","until","function","return","exit","set","export","source","eval","true","false","test","find","xargs","sort","uniq","wc","tee","open","kill","ps","top","env","printf","read","sleep"]),O=new Set(["ts","tsx","js","jsx","mjs","cjs","mts","cts","swift","kt","java","go","rs","rb","py","php","c","h","cc","cpp","hpp","m","mm","cs","scala","clj","ex","exs","lua","dart","json","json5","jsonc","yaml","yml","toml","xml","ini","cfg","conf","env","lock","properties","plist","entitlements","md","mdx","markdown","txt","rst","adoc","csv","tsv","css","scss","sass","less","html","htm","vue","svelte","sh","bash","zsh","fish","ps1","bat","cmd","png","jpg","jpeg","gif","svg","webp","ico","bmp","tiff","avif","pdf","mp4","mov","webm","mp3","wav","woff","woff2","ttf","otf","sql","graphql","gql","proto","prisma","wasm","map","gradle","bazel","bzl","mk","cmake","dockerfile","gitignore","npmrc","nvmrc","editorconfig","prettierrc","eslintrc","babelrc"]),k=/^[A-Za-z_][A-Za-z0-9_]*=/,P=/\.([A-Za-z0-9_+-]{1,12})$/;function W(e){if(typeof e!="string")return!1;const n=e.trim();if(!n||/[\n\r]/.test(n))return!1;if(n.includes("/"))return!0;if(n.length<3||n.startsWith("-")||n.startsWith("{")||n.startsWith("[")||k.test(n)||/\s/.test(n))return!1;const t=n.toLowerCase();if(h.has(t)||t.startsWith("n")&&h.has(t.slice(1)))return!1;const s=n.match(P);return s?O.has(s[1].toLowerCase()):!1}function B(e){const n=new Map;for(const t of e){const s=t.path?.trim();if(!s||!W(s))continue;const o=n.get(s);if(!o){n.set(s,{...t,path:s});continue}o.touches+=t.touches,o.lastT=Math.max(o.lastT,t.lastT),o.state==="read"&&t.state!=="read"&&(o.state=t.state),o.state==="modified"&&t.state==="created"&&(o.state="created")}return[...n.values()]}function d(e,n){const t=new Set,s=n?.trim();if(!s)return[];const o=s.match(/"path"\s*:\s*"((?:\\.|[^"\\])*)"/);if(o?.[1]){const r=o[1].replace(/\\"/g,'"'),i=l(r);i&&t.add(i)}const a=s.match(z);if(a?.[1]){const r=l(a[1]);r&&t.add(r)}for(const r of s.matchAll(I))for(const i of(r[1]??"").split(/\s+/)){const c=l(i);c&&t.add(c)}for(const r of s.matchAll(F)){const i=l(r[1]??r[2]??"");i&&i!=="/dev/null"&&t.add(i)}for(const r of s.matchAll(x)){const i=l(r[1]??"");i&&t.add(i)}if(t.size===0)for(const r of s.matchAll(M)){const i=l(r[0]??"");i&&t.add(i)}if(t.size===0&&p(e)&&s.length<240){const r=l(s);r&&t.add(r)}return[...t]}function $(e){return v(e)?"modified":(p(e),"read")}function U(e){const n=new Map;for(const t of e){if(t.kind!=="tool"||t.tool==="res")continue;const s=[...d(t.tool,t.arg??t.text),...d(t.tool,t.detail)];for(const o of s){const a=$(t.tool),r=n.get(o);if(!r){n.set(o,{path:o,state:a,touches:1,lastT:t.t});continue}r.touches+=1,r.lastT=Math.max(r.lastT,t.t),a==="modified"&&(r.state="modified")}}return[...n.values()].sort((t,s)=>s.lastT-t.lastT)}function J(e,n=96){const t=e?.trim();return t?t.length<=n?t:`${t.slice(0,Math.max(0,n-1)).trimEnd()}…`:""}export{S as L,C as a,X as b,q as c,U as d,N as e,H as f,K as g,G as h,W as i,R as j,D as k,J as l,Z as m,u as o,B as p};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as a}from"./index-
|
|
1
|
+
import{r as a}from"./index-DReVb7jZ.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-ChvMq-zl.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-ChvMq-zl.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,2 @@
|
|
|
1
|
+
import{r as d,j as i}from"./index-DReVb7jZ.js";import{u as wt,l as xt}from"./use-conversation-list-D5EnpVba.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-CJXPaHXj.js";import{n as we,f as Ge}from"./agent-state-DDhnFEEP.js";import{e as kt,c as F,i as _e,d as Me,a as Xe,f as Mt}from"./conversations-Cbg9h_Af.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-D_QOmjg5.js";import{p as Et,N as Ke,g as Ut,t as Gt}from"./sessions-view-Bge4XZ4I.js";import{u as _t,a as Ft}from"./Provider-CNZluAZb.js";import{u as Dt}from"./use-beside-D3cJpA5p.js";import{t as re}from"./time-Dhsh_2EG.js";import{d as Kt}from"./router-C-MF5-mb.js";import{c as Ze}from"./message-visibility-DwxgcgYK.js";import{R as Ne}from"./RailRow-DUPqXMZh.js";import{a as Ve,c as qe}from"./agent-master-model-C-KdOFDK.js";import"./sse-A8AyLH0g.js";import"./index-BWHgHrtv.js";import"./provider-DwmCoSlc.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-BEXS8vV6.js";import"./runtime-picker-C_AVYF63.js";import"./scout-voice-CqAyfblr.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DNUsuPWz.js";import"./createLucideIcon-ChvMq-zl.js";import"./conversation-model-m8HhzroS.js";import"./colors-CFlbwC25.js";import"./index-CbqBwfIW.js";import"./HarnessMark-DSvM_H7H.js";import"./NewChatOrigin-C8ROO4ps.js";import"./x-rlMdRqJF.js";import"./chevron-down-CDzRQQGl.js";import"./search-UsM-9-_W.js";import"./file-text-DP6txVW-.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-DlMiEALb.js";import"./TextDocumentSurface-BK6Qy41F.js";import"./index-kkXUq-zf.js";import"./chevron-right-DKGTLiqc.js";import"./folder-B_S7gBVr.js";import"./chevron-up-DX7R6KY2.js";import"./code-xml-Cmadr3pQ.js";import"./arrow-left-DFfKAq0d.js";import"./arrow-right-DmAWnyAH.js";import"./chunk-HRAB3GC3-Dvk_QpRq.js";import"./comms-deck-CBhsXnY-.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./AgentAvatar-NZOqcsB2.js";import"./SpriteAvatar-aHeF4ZQZ.js";import"./CrewAvatar-zgzC3cbU.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 co(){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{co as ChatLeft};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r,j as t}from"./index-DReVb7jZ.js";/* empty css */import{d as w,c as S,e as y,f as M,g as A,i as N}from"./NewChatComposer-BEXS8vV6.js";import{u as k}from"./Provider-CNZluAZb.js";import{A as b}from"./AgentAvatar-NZOqcsB2.js";import{a as g}from"./api-DSqpVKC7.js";import{b as I}from"./machine-scope-DJt9RZ2w.js";import{d as C}from"./router-C-MF5-mb.js";import{a as B}from"./sse-A8AyLH0g.js";import{o as P,i as j}from"./surface-activity-B1rgWB1i.js";import"./runtime-picker-C_AVYF63.js";import"./scout-voice-CqAyfblr.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DNUsuPWz.js";import"./createLucideIcon-ChvMq-zl.js";import"./conversation-model-m8HhzroS.js";import"./agent-state-DDhnFEEP.js";import"./colors-CFlbwC25.js";import"./time-Dhsh_2EG.js";import"./conversations-Cbg9h_Af.js";import"./index-CbqBwfIW.js";import"./HarnessMark-DSvM_H7H.js";import"./NewChatOrigin-C8ROO4ps.js";import"./keyboard-nav-CJXPaHXj.js";import"./x-rlMdRqJF.js";import"./chevron-down-CDzRQQGl.js";import"./search-UsM-9-_W.js";import"./file-text-DP6txVW-.js";import"./provider-DwmCoSlc.js";import"./scoutbot-Bk3nyrkj.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-DlMiEALb.js";import"./TextDocumentSurface-BK6Qy41F.js";import"./index-kkXUq-zf.js";import"./chevron-right-DKGTLiqc.js";import"./folder-B_S7gBVr.js";import"./chevron-up-DX7R6KY2.js";import"./code-xml-Cmadr3pQ.js";import"./arrow-left-DFfKAq0d.js";import"./arrow-right-DmAWnyAH.js";import"./chunk-HRAB3GC3-Dvk_QpRq.js";import"./SpriteAvatar-aHeF4ZQZ.js";import"./CrewAvatar-zgzC3cbU.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./index-BWHgHrtv.js";function W(){const{agents:n,route:d}=k(),m=C(d),l=r.useMemo(()=>I(n,m),[n,m]),[p,f]=r.useState([]),[v,s]=r.useState(null),[a,u]=r.useState(null),c=r.useCallback(async()=>{const[e,i,o]=await Promise.allSettled([g("/api/conversations"),g("/api/fleet"),g("/api/tail/discover")]);e.status==="fulfilled"&&f(e.value),i.status==="fulfilled"&&s(i.value),o.status==="fulfilled"&&u(o.value)},[]);r.useEffect(()=>{c()},[c]),r.useEffect(()=>{const e=()=>{j()&&c()},i=window.setInterval(e,1e4),o=P(e);return()=>{window.clearInterval(i),o()}},[c]),B(()=>!0,()=>{j()&&c()});const x=r.useMemo(()=>{const e=new Map;for(const i of v?.activeAsks??[]){const o=e.get(i.agentId)??[];o.push(i),e.set(i.agentId,o)}return e},[v?.activeAsks]);return{projects:r.useMemo(()=>{const{sessionByAgentId:e}=w(p),i=l.map(h=>S(h,e.get(h.id)??null,x.get(h.id)??[])),o=y(a,Date.now());return M(i,p,o)},[l,p,x,a])}}function Bt(){const{route:n,navigate:d,openContextCapture:m}=k(),{projects:l}=W(),p=n.view==="agents-v2"?n.projectSlug:void 0,f=n.view==="agents-v2"?n.agentId:void 0,v=p??l[0]?.slice.slug;return t.jsxs("div",{className:"ctx-panel s-agents-rail",children:[t.jsx("div",{className:"s-agents-recent s-rail-projects",children:l.length===0?t.jsx("div",{className:"ctx-panel-empty",children:"No projects yet"}):l.map(s=>{const a=A(s),u=N(s),c=s.slice.slug===v&&!f;return t.jsxs("button",{type:"button",className:"s-rail-proj","data-selected":c||void 0,"data-live":a>0||void 0,"data-needs":u||void 0,title:s.slice.root??void 0,onClick:()=>d({view:"agents-v2",projectSlug:s.slice.slug}),children:[t.jsx(b,{name:s.slice.title,size:22,tile:!0,presence:!1}),t.jsxs("span",{className:"s-rail-proj-name","data-idle":a===0||void 0,children:[t.jsx("span",{"aria-hidden":!0,style:{opacity:.4},children:"/"}),s.slice.title]}),a>0?t.jsx("span",{className:"s-rail-proj-count","data-needs":u||void 0,title:u?"needs you":void 0,children:a}):null]},s.slice.key)})}),t.jsxs("div",{className:"s-agents-foot s-rail-foot-icons",children:[t.jsx("button",{type:"button",className:"s-rail-icon",title:"Search","aria-label":"Search",onClick:()=>d({view:"search"}),children:t.jsx(E,{})}),t.jsx("button",{type:"button",className:"s-rail-icon",title:"New chat (⌘⌥N)","aria-label":"New chat",onClick:()=>m(),children:t.jsx(L,{})}),t.jsx("button",{type:"button",className:"s-rail-icon s-rail-icon--end",title:"Settings","aria-label":"Settings",onClick:()=>d({view:"settings"}),children:t.jsx(D,{})})]})]})}function E(){return t.jsxs("svg",{width:"15",height:"15",viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:[t.jsx("circle",{cx:"7",cy:"7",r:"4.25",stroke:"currentColor",strokeWidth:"1.4"}),t.jsx("path",{d:"M10.5 10.5 14 14",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})]})}function L(){return t.jsx("svg",{width:"15",height:"15",viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:t.jsx("path",{d:"M8 3v10M3 8h10",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})}function D(){return t.jsxs("svg",{width:"15",height:"15",viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:[t.jsx("circle",{cx:"8",cy:"8",r:"2.25",stroke:"currentColor",strokeWidth:"1.3"}),t.jsx("path",{d:"M8 1.5v1.6M8 12.9v1.6M14.5 8h-1.6M3.1 8H1.5M12.6 3.4l-1.1 1.1M4.5 11.5l-1.1 1.1M12.6 12.6l-1.1-1.1M4.5 4.5 3.4 3.4",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})]})}export{Bt as AgentsLeft};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r,j as e}from"./index-DReVb7jZ.js";/* empty css */import{n as k}from"./agent-state-DDhnFEEP.js";import{p as C,a as L}from"./api-DSqpVKC7.js";import{m as F,b as $,d as D}from"./machine-scope-DJt9RZ2w.js";import{d as H}from"./router-C-MF5-mb.js";import{d as O,r as B}from"./operator-attention-DBaRg5ep.js";import{u as G}from"./sse-A8AyLH0g.js";import{t as f}from"./time-Dhsh_2EG.js";import{u as K}from"./Provider-CNZluAZb.js";import{o as P}from"./openAgent-Dbv5wfuL.js";import{R as g}from"./RailRow-DUPqXMZh.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./index-BWHgHrtv.js";import"./provider-DwmCoSlc.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-BEXS8vV6.js";import"./runtime-picker-C_AVYF63.js";import"./scout-voice-CqAyfblr.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DNUsuPWz.js";import"./createLucideIcon-ChvMq-zl.js";import"./conversation-model-m8HhzroS.js";import"./colors-CFlbwC25.js";import"./conversations-Cbg9h_Af.js";import"./index-CbqBwfIW.js";import"./HarnessMark-DSvM_H7H.js";import"./NewChatOrigin-C8ROO4ps.js";import"./keyboard-nav-CJXPaHXj.js";import"./x-rlMdRqJF.js";import"./chevron-down-CDzRQQGl.js";import"./search-UsM-9-_W.js";import"./file-text-DP6txVW-.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-DlMiEALb.js";import"./TextDocumentSurface-BK6Qy41F.js";import"./index-kkXUq-zf.js";import"./chevron-right-DKGTLiqc.js";import"./folder-B_S7gBVr.js";import"./chevron-up-DX7R6KY2.js";import"./code-xml-Cmadr3pQ.js";import"./arrow-left-DFfKAq0d.js";import"./arrow-right-DmAWnyAH.js";import"./chunk-HRAB3GC3-Dvk_QpRq.js";import"./openContent-C6XO6kr5.js";import"./AgentAvatar-NZOqcsB2.js";import"./SpriteAvatar-aHeF4ZQZ.js";import"./CrewAvatar-zgzC3cbU.js";const U=new Set(["message.posted","flight.updated","collaboration.event.appended","agent.updated"]),V=4,z=4,X=3,N="/api/fleet",Y=3e4;function Wt({prepend:t}){const{agents:o,agentsLoaded:a,navigate:c,route:n}=K(),[i]=r.useState(()=>C(N,Y)),[l,y]=r.useState(i),[A,T]=r.useState(i!==null),[j,b]=r.useState(()=>new Set),p=H(n),S=r.useMemo(()=>F(o,p),[o,p]),u=r.useMemo(()=>$(o,p),[o,p]),m=r.useMemo(()=>D(l,S),[l,S]),d=r.useCallback(async()=>{try{y(await L(N))}catch{}finally{T(!0)}},[]);r.useEffect(()=>{d()},[d]),G(s=>{U.has(s.kind)&&d()});const w=r.useMemo(()=>Z(u).slice(0,V),[u]),R=r.useMemo(()=>(m?.activity??[]).slice(0,z),[m]),_=r.useMemo(()=>(m?.needsAttention??[]).filter(s=>!j.has(s.recordId)).slice(0,X),[m,j]),M=r.useCallback(async s=>{b(h=>new Set(h).add(s.recordId));try{await O({recordKind:s.kind,recordId:s.recordId,itemUpdatedAt:s.updatedAt})}catch{b(h=>{const I=new Set(h);return I.delete(s.recordId),I});return}d()},[d]);return e.jsxs("div",{className:"ctx-panel base-rail",children:[t?e.jsx("div",{className:"base-rail-prepend",children:t}):null,e.jsx(q,{agents:w,totalCount:u.length,loading:!a,onSelect:s=>P(c,s,{returnTo:n}),onSeeAll:()=>c({view:"agents-v2"})}),e.jsx(Q,{items:R,loading:!A,onSelect:s=>c(tt(s)),onSeeAll:()=>c({view:"activity"})}),e.jsx(W,{items:_,loading:!A,onSelect:s=>c(B(s)),onDismiss:s=>{M(s)}})]})}function q({agents:t,totalCount:o,loading:a,onSelect:c,onSeeAll:n}){return e.jsxs("section",{className:"ctx-panel-section base-rail-section",children:[e.jsx(x,{title:"Recent agents",onSeeAll:o>0?n:void 0}),a?e.jsx(v,{}):t.length===0?e.jsx("div",{className:"ctx-panel-empty",children:"No agents yet"}):t.map(i=>e.jsx(g,{name:i.name||i.id,meta:i.updatedAt?f(i.updatedAt):void 0,tone:k(i.state),title:J(i),onClick:()=>c(i)},i.id))]})}function J(t){const o=[];return t.project&&o.push(`project: ${t.project}`),t.branch&&o.push(`branch: ${t.branch}`),t.harness&&o.push(`harness: ${t.harness}`),o.join(`
|
|
2
|
+
`)}function Q({items:t,loading:o,onSelect:a,onSeeAll:c}){return e.jsxs("section",{className:"ctx-panel-section base-rail-section",children:[e.jsx(x,{title:"Recent Scout coordination",meta:(t.length>0,void 0),onSeeAll:t.length>0?c:void 0}),o?e.jsx(v,{}):t.length===0?e.jsx("div",{className:"ctx-panel-empty",children:"No recent Scout messages or dispatches"}):t.map(n=>{const i=n.actorName??n.agentName??n.agentId??"system",l=n.title??n.summary??E(n.kind);return e.jsx(g,{name:l,meta:n.ts?f(n.ts):void 0,tone:"neutral",title:`${i} · ${E(n.kind)}`,onClick:()=>a(n)},n.id)})]})}function W({items:t,loading:o,onSelect:a,onDismiss:c}){return!o&&t.length===0?null:e.jsxs("section",{className:"ctx-panel-section base-rail-section",children:[e.jsx(x,{title:"Needs attention",meta:t.length>0?`${t.length}`:void 0}),o?e.jsx(v,{rows:2}):t.map(n=>{const i=n.agentName??n.agentId??"operator";return e.jsx(g,{name:n.title,meta:f(n.updatedAt),tone:"in_turn",unread:!0,title:`${i} · ${n.kind}`,onClick:()=>a(n),actions:e.jsx("button",{type:"button",className:"rr-row-action",title:"Dismiss — stop asking until this changes","aria-label":"Dismiss",onClick:l=>{l.stopPropagation(),c(n)},children:"Dismiss"})},n.recordId)})]})}function v({rows:t=3}){return e.jsx("div",{className:"base-rail-loading",role:"status","aria-label":"Loading",children:Array.from({length:t},(o,a)=>e.jsx("span",{"aria-hidden":"true"},a))})}function x({title:t,meta:o,onSeeAll:a}){return e.jsxs("div",{className:"ctx-panel-section-label base-rail-section-label",children:[e.jsx("span",{children:t}),e.jsxs("span",{className:"base-rail-section-trailing",children:[o?e.jsx("span",{className:"ctx-panel-count",children:o}):null,a?e.jsx("button",{type:"button",className:"base-rail-see-all",onClick:a,children:"all"}):null]})]})}function Z(t){return[...t].sort((o,a)=>(a.updatedAt??0)-(o.updatedAt??0))}function E(t){switch(t){case"message":return"Message";case"invocation":return"Invocation";case"flight":return"Flight update";case"collaboration":return"Collaboration";default:return t.replace(/_/g," ")}}function tt(t){return t.conversationId?{view:"conversation",conversationId:t.conversationId}:t.agentId?{view:"agents-v2",agentId:t.agentId}:{view:"activity"}}export{Wt as HomeLeft};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as n,r as y}from"./index-DReVb7jZ.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-C1-mdP3P.js";import{u as B}from"./Provider-CNZluAZb.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-CdhNzDF0.js";import{u as K,h as V}from"./use-fleet-active-asks-D_QOmjg5.js";import{R as I}from"./RailRow-DUPqXMZh.js";import{nodeMenuRowProps as G,NodeMenu as Q}from"./NodeMenu-CcOeFRCB.js";import{u as D,l as J,r as W}from"./use-mesh-node-state-3V3ADQ-G.js";import{o as X}from"./openAgent-Dbv5wfuL.js";/* empty css */import"./provider-DwmCoSlc.js";import"./router-C-MF5-mb.js";import"./api-DSqpVKC7.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./machine-scope-DJt9RZ2w.js";import"./sse-A8AyLH0g.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-BEXS8vV6.js";import"./runtime-picker-C_AVYF63.js";import"./scout-voice-CqAyfblr.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DNUsuPWz.js";import"./createLucideIcon-ChvMq-zl.js";import"./conversation-model-m8HhzroS.js";import"./colors-CFlbwC25.js";import"./time-Dhsh_2EG.js";import"./conversations-Cbg9h_Af.js";import"./index-CbqBwfIW.js";import"./HarnessMark-DSvM_H7H.js";import"./NewChatOrigin-C8ROO4ps.js";import"./keyboard-nav-CJXPaHXj.js";import"./x-rlMdRqJF.js";import"./chevron-down-CDzRQQGl.js";import"./search-UsM-9-_W.js";import"./file-text-DP6txVW-.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-DlMiEALb.js";import"./TextDocumentSurface-BK6Qy41F.js";import"./index-kkXUq-zf.js";import"./chevron-right-DKGTLiqc.js";import"./folder-B_S7gBVr.js";import"./chevron-up-DX7R6KY2.js";import"./code-xml-Cmadr3pQ.js";import"./arrow-left-DFfKAq0d.js";import"./arrow-right-DmAWnyAH.js";import"./chunk-HRAB3GC3-Dvk_QpRq.js";import"./AgentAvatar-NZOqcsB2.js";import"./SpriteAvatar-aHeF4ZQZ.js";import"./CrewAvatar-zgzC3cbU.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 rt(){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{rt as MeshLeft};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as m,j as t}from"./index-DReVb7jZ.js";import{u as ee,L as F}from"./usePersistentState-Y8XwSTg-.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 K,i as oe}from"./keyboard-nav-CJXPaHXj.js";import{u as ce}from"./Provider-CNZluAZb.js";import{c as me}from"./agent-state-DDhnFEEP.js";import{r as D,c as de}from"./terminal-relay-mO89dX-Y.js";import{t as ue,a as G,s as ve,b as j,P as pe}from"./session-table-CGkfG5Yd.js";/* empty css */import{R as he}from"./refresh-cw-IcD2lPoT.js";import{A as fe}from"./activity-BJqFrZyB.js";import{C as be}from"./clock-CQb4FeMf.js";import{F as xe}from"./folder-B_S7gBVr.js";import{L as ye}from"./layers-BOwyWodP.js";import{C as ge}from"./chevron-right-DKGTLiqc.js";import{E as B}from"./eye-CsGfEVR6.js";import{T as je}from"./terminal-DMZjX1es.js";import"./createLucideIcon-ChvMq-zl.js";import"./api-DSqpVKC7.js";import"./provider-DwmCoSlc.js";import"./router-C-MF5-mb.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./machine-scope-DJt9RZ2w.js";import"./sse-A8AyLH0g.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-BEXS8vV6.js";import"./runtime-picker-C_AVYF63.js";import"./scout-voice-CqAyfblr.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DNUsuPWz.js";import"./conversation-model-m8HhzroS.js";import"./colors-CFlbwC25.js";import"./time-Dhsh_2EG.js";import"./conversations-Cbg9h_Af.js";import"./index-CbqBwfIW.js";import"./HarnessMark-DSvM_H7H.js";import"./NewChatOrigin-C8ROO4ps.js";import"./x-rlMdRqJF.js";import"./chevron-down-CDzRQQGl.js";import"./search-UsM-9-_W.js";import"./file-text-DP6txVW-.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-DlMiEALb.js";import"./TextDocumentSurface-BK6Qy41F.js";import"./index-kkXUq-zf.js";import"./chevron-up-DX7R6KY2.js";import"./code-xml-Cmadr3pQ.js";import"./arrow-left-DFfKAq0d.js";import"./arrow-right-DmAWnyAH.js";import"./chunk-HRAB3GC3-Dvk_QpRq.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 Ft(){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=D(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:K(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(F,{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=D(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:K(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(F,{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{Ft as TerminalLeft};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as N,j as e}from"./index-DReVb7jZ.js";import{a as I}from"./api-DSqpVKC7.js";import{d as L,e as j,s as R}from"./router-C-MF5-mb.js";import{u as $,r as y,s as b,i as C}from"./mesh-ops-DSlvHp-D.js";import{u as E,s as T}from"./mesh-view-store-C1-mdP3P.js";import{u as A}from"./Provider-CNZluAZb.js";import{R as h}from"./RailRow-DUPqXMZh.js";import{u as U}from"./use-mesh-ops-items-DI9GKWlF.js";/* empty css */import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./provider-DwmCoSlc.js";import"./machine-scope-DJt9RZ2w.js";import"./sse-A8AyLH0g.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./agent-state-DDhnFEEP.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-BEXS8vV6.js";import"./runtime-picker-C_AVYF63.js";import"./scout-voice-CqAyfblr.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DNUsuPWz.js";import"./createLucideIcon-ChvMq-zl.js";import"./conversation-model-m8HhzroS.js";import"./colors-CFlbwC25.js";import"./time-Dhsh_2EG.js";import"./conversations-Cbg9h_Af.js";import"./index-CbqBwfIW.js";import"./HarnessMark-DSvM_H7H.js";import"./NewChatOrigin-C8ROO4ps.js";import"./keyboard-nav-CJXPaHXj.js";import"./x-rlMdRqJF.js";import"./chevron-down-CDzRQQGl.js";import"./search-UsM-9-_W.js";import"./file-text-DP6txVW-.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-DlMiEALb.js";import"./TextDocumentSurface-BK6Qy41F.js";import"./index-kkXUq-zf.js";import"./chevron-right-DKGTLiqc.js";import"./folder-B_S7gBVr.js";import"./chevron-up-DX7R6KY2.js";import"./code-xml-Cmadr3pQ.js";import"./arrow-left-DFfKAq0d.js";import"./arrow-right-DmAWnyAH.js";import"./chunk-HRAB3GC3-Dvk_QpRq.js";import"./AgentAvatar-NZOqcsB2.js";import"./SpriteAvatar-aHeF4ZQZ.js";import"./CrewAvatar-zgzC3cbU.js";function S(s){return s.hostName?.split(".")[0]??s.name??s.id.slice(0,12)}function Tt(){const{route:s,navigate:u}=A(),l=L(s),{items:i,unattributedOnly:m,lab:M,refreshToken:g}=$(),{meshSnapshot:r}=E();U(l);const[w]=N.useState(()=>y());N.useEffect(()=>{let t=!1;return I("/api/mesh").then(o=>{t||T(o)}).catch(()=>{}),()=>{t=!0}},[g]);const c=t=>{b(!1),u(t?R(s,t):j(s))},O=()=>{u(j(s)),b(!0)},p=r?.localNode??null,d=r?Object.values(r.nodes).filter(t=>t.id!==p?.id):[],a=t=>M.lastLook?t.filter(o=>C(o,w)).length:0,x=i.filter(t=>t.hostNodeId===null),f=t=>{const o=i.filter(k=>k.hostNodeId===t.id),n=a(o),v=l===t.id;return e.jsx(h,{name:S(t),meta:o.length>0?`${n>0?`${n}·`:""}${o.length}`:"—",tone:n>0?"needs_attention":"neutral",active:v,unread:n>0,onClick:()=>c(v?null:t.id),title:`Scope the list to ${S(t)}`},t.id)};return e.jsxs("div",{className:"ctx-panel mesh-ops-rail",children:[e.jsxs("div",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Mesh"}),e.jsx(h,{name:"everywhere",meta:`${a(i)>0?`${a(i)}·`:""}${i.length}`,tone:a(i)>0?"needs_attention":"neutral",active:l===null&&!m,onClick:()=>c(null),title:"Show items across all hosts"})]}),p&&e.jsxs("div",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"This host"}),f(p)]}),d.length>0&&e.jsxs("div",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Peers"}),d.map(t=>f(t))]}),e.jsxs("div",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"No venue"}),e.jsx(h,{name:"unattributed",meta:x.length>0?String(x.length):"—",tone:"neutral",active:m,onClick:()=>m?c(null):O(),title:"Items with no venue host"})]}),!r&&e.jsx("div",{className:"ctx-panel-empty",children:"Loading mesh…"})]})}export{Tt as MeshOpsLeft};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as r}from"./index-DReVb7jZ.js";import{u as o}from"./Provider-CNZluAZb.js";import{OpsAgentsLeft as i}from"./left-agents-thnBO156.js";import{OpsDefaultLeft as m}from"./left-default-CT42fnpF.js";import{OpsLanesLeft as p}from"./left-lanes-CSmZgciK.js";import{OpsMissionLeft as s}from"./left-mission-C86x6i9h.js";import{OpsAdvisorLeft as e}from"./left-advisor-C-kt8V28.js";import"./provider-DwmCoSlc.js";import"./router-C-MF5-mb.js";import"./api-DSqpVKC7.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./machine-scope-DJt9RZ2w.js";import"./sse-A8AyLH0g.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./agent-state-DDhnFEEP.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-BEXS8vV6.js";import"./runtime-picker-C_AVYF63.js";import"./scout-voice-CqAyfblr.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DNUsuPWz.js";import"./createLucideIcon-ChvMq-zl.js";import"./conversation-model-m8HhzroS.js";import"./colors-CFlbwC25.js";import"./time-Dhsh_2EG.js";import"./conversations-Cbg9h_Af.js";import"./index-CbqBwfIW.js";import"./HarnessMark-DSvM_H7H.js";import"./NewChatOrigin-C8ROO4ps.js";import"./keyboard-nav-CJXPaHXj.js";import"./x-rlMdRqJF.js";import"./chevron-down-CDzRQQGl.js";import"./search-UsM-9-_W.js";import"./file-text-DP6txVW-.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-DlMiEALb.js";import"./TextDocumentSurface-BK6Qy41F.js";import"./index-kkXUq-zf.js";import"./chevron-right-DKGTLiqc.js";import"./folder-B_S7gBVr.js";import"./chevron-up-DX7R6KY2.js";import"./code-xml-Cmadr3pQ.js";import"./arrow-left-DFfKAq0d.js";import"./arrow-right-DmAWnyAH.js";import"./chunk-HRAB3GC3-Dvk_QpRq.js";/* empty css */import"./use-fleet-active-asks-D_QOmjg5.js";import"./RailRow-DUPqXMZh.js";import"./AgentAvatar-NZOqcsB2.js";import"./SpriteAvatar-aHeF4ZQZ.js";import"./CrewAvatar-zgzC3cbU.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-Ch9t6lb0.js";import"./mission-control-store-p_cboAm4.js";import"./MissionLeftAgentRow-Dms0DBjO.js";import"./page-status-DwFR4wSw.js";import"./server-DBlPW0Mp.js";import"./layers-BOwyWodP.js";import"./sparkles-Cc5lPZRv.js";import"./activity-BJqFrZyB.js";import"./cpu-Q6nrHFTN.js";import"./gauge-DQCGlE3o.js";import"./terminal-DMZjX1es.js";function Rr(){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{Rr as OpsLeft};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as i,j as s}from"./index-DReVb7jZ.js";/* empty css */import{a as c}from"./api-DSqpVKC7.js";import{u as h}from"./sse-A8AyLH0g.js";import{u as v}from"./Provider-CNZluAZb.js";import{S as u}from"./server-DBlPW0Mp.js";import{L as j}from"./layers-BOwyWodP.js";import{S as b}from"./sparkles-Cc5lPZRv.js";import{A as N}from"./activity-BJqFrZyB.js";import{C as f}from"./cpu-Q6nrHFTN.js";import{G as g,D as k}from"./gauge-DQCGlE3o.js";import{T as y}from"./terminal-DMZjX1es.js";import"./index-BWHgHrtv.js";import"./provider-DwmCoSlc.js";import"./router-C-MF5-mb.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./machine-scope-DJt9RZ2w.js";import"./surface-activity-B1rgWB1i.js";import"./agent-state-DDhnFEEP.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-BEXS8vV6.js";import"./runtime-picker-C_AVYF63.js";import"./scout-voice-CqAyfblr.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DNUsuPWz.js";import"./createLucideIcon-ChvMq-zl.js";import"./conversation-model-m8HhzroS.js";import"./colors-CFlbwC25.js";import"./time-Dhsh_2EG.js";import"./conversations-Cbg9h_Af.js";import"./index-CbqBwfIW.js";import"./HarnessMark-DSvM_H7H.js";import"./NewChatOrigin-C8ROO4ps.js";import"./keyboard-nav-CJXPaHXj.js";import"./x-rlMdRqJF.js";import"./chevron-down-CDzRQQGl.js";import"./search-UsM-9-_W.js";import"./file-text-DP6txVW-.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-DlMiEALb.js";import"./TextDocumentSurface-BK6Qy41F.js";import"./index-kkXUq-zf.js";import"./chevron-right-DKGTLiqc.js";import"./folder-B_S7gBVr.js";import"./chevron-up-DX7R6KY2.js";import"./code-xml-Cmadr3pQ.js";import"./arrow-left-DFfKAq0d.js";import"./arrow-right-DmAWnyAH.js";import"./chunk-HRAB3GC3-Dvk_QpRq.js";function ks(){const{agents:l,navigate:t}=v(),[m,p]=i.useState(null),[r,x]=i.useState([]),a=i.useCallback(async()=>{const[e,o]=await Promise.allSettled([c("/api/tail/discover"),c("/api/service-budgets")]);e.status==="fulfilled"&&p(e.value),o.status==="fulfilled"&&o.value?.gauges&&x(o.value.gauges)},[]);i.useEffect(()=>{a()},[a]),h(()=>{a()});const d=m?.processes??[],n=r.length>0?Math.round(Math.max(...r.map(e=>e.fill??0))*100):100;return s.jsxs("div",{className:"s-advisor-left-nav",children:[s.jsxs("div",{className:"s-ctx-panel-section",children:[s.jsxs("div",{className:"s-ctx-panel-head",children:[s.jsx(u,{size:14,className:"s-ctx-icon"}),s.jsx("span",{className:"label-xs",children:"HOST TELEMETRY"})]}),s.jsxs("div",{className:"s-ctx-stat-list",children:[s.jsxs("div",{className:"s-ctx-stat-item",children:[s.jsx("span",{className:"label-xs s-ctx-stat-label",children:"Agents Connected"}),s.jsx("span",{className:"chip chip--sm chip--mono",children:l.length})]}),s.jsxs("div",{className:"s-ctx-stat-item",children:[s.jsx("span",{className:"label-xs s-ctx-stat-label",children:"Active Processes"}),s.jsx("span",{className:"chip chip--sm chip--working chip--mono",children:d.length})]}),s.jsxs("div",{className:"s-ctx-stat-item",children:[s.jsx("span",{className:"label-xs s-ctx-stat-label",children:"Peak Quota"}),s.jsxs("span",{className:`chip chip--sm chip--mono ${n>80?"chip--warning":"chip--working"}`,children:[n,"%"]})]})]})]}),s.jsxs("div",{className:"s-ctx-panel-section",children:[s.jsxs("div",{className:"s-ctx-panel-head",children:[s.jsx(j,{size:14,className:"s-ctx-icon"}),s.jsx("span",{className:"label-xs",children:"OPERATIONS SURFACES"})]}),s.jsxs("div",{className:"s-ctx-nav-list",children:[s.jsxs("button",{type:"button",className:"s-ctx-nav-btn s-ctx-nav-btn--active",onClick:()=>t({view:"ops",mode:"advisor"}),children:[s.jsx(b,{size:13}),s.jsx("span",{children:"Host Advisor"})]}),s.jsxs("button",{type:"button",className:"s-ctx-nav-btn",onClick:()=>t({view:"ops",mode:"mission"}),children:[s.jsx(N,{size:13}),s.jsx("span",{children:"Mission Control"})]}),s.jsxs("button",{type:"button",className:"s-ctx-nav-btn",onClick:()=>t({view:"ops",mode:"lanes"}),children:[s.jsx(f,{size:13}),s.jsx("span",{children:"Agent Lanes"})]}),s.jsxs("button",{type:"button",className:"s-ctx-nav-btn",onClick:()=>t({view:"harnesses"}),children:[s.jsx(g,{size:13}),s.jsx("span",{children:"Agent Providers & Quotas"})]}),s.jsxs("button",{type:"button",className:"s-ctx-nav-btn",onClick:()=>t({view:"terminal"}),children:[s.jsx(y,{size:13}),s.jsx("span",{children:"Terminal Relays"})]}),s.jsxs("button",{type:"button",className:"s-ctx-nav-btn",onClick:()=>t({view:"search"}),children:[s.jsx(k,{size:13}),s.jsx("span",{children:"Knowledge Indexer"})]})]})]})]})}export{ks as OpsAdvisorLeft};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r,j as o}from"./index-DReVb7jZ.js";/* empty css */import{a as j}from"./api-DSqpVKC7.js";import{a as v}from"./sse-A8AyLH0g.js";import{u as N}from"./Provider-CNZluAZb.js";import{u as g}from"./use-fleet-active-asks-D_QOmjg5.js";import{i as w}from"./agent-state-DDhnFEEP.js";import{R as a}from"./RailRow-DUPqXMZh.js";import"./index-BWHgHrtv.js";import"./provider-DwmCoSlc.js";import"./router-C-MF5-mb.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-BEXS8vV6.js";import"./runtime-picker-C_AVYF63.js";import"./scout-voice-CqAyfblr.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DNUsuPWz.js";import"./createLucideIcon-ChvMq-zl.js";import"./conversation-model-m8HhzroS.js";import"./colors-CFlbwC25.js";import"./time-Dhsh_2EG.js";import"./conversations-Cbg9h_Af.js";import"./index-CbqBwfIW.js";import"./HarnessMark-DSvM_H7H.js";import"./NewChatOrigin-C8ROO4ps.js";import"./keyboard-nav-CJXPaHXj.js";import"./x-rlMdRqJF.js";import"./chevron-down-CDzRQQGl.js";import"./search-UsM-9-_W.js";import"./file-text-DP6txVW-.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-DlMiEALb.js";import"./TextDocumentSurface-BK6Qy41F.js";import"./index-kkXUq-zf.js";import"./chevron-right-DKGTLiqc.js";import"./folder-B_S7gBVr.js";import"./chevron-up-DX7R6KY2.js";import"./code-xml-Cmadr3pQ.js";import"./arrow-left-DFfKAq0d.js";import"./arrow-right-DmAWnyAH.js";import"./chunk-HRAB3GC3-Dvk_QpRq.js";import"./AgentAvatar-NZOqcsB2.js";import"./SpriteAvatar-aHeF4ZQZ.js";import"./CrewAvatar-zgzC3cbU.js";const $=new Set(["message.posted","conversation.upserted","agent.updated"]);function k(e){const n=x(e.cwd),m=x(e.projectRoot);return e.authorityNodeName??e.homeNodeName??e.authorityNodeId??e.homeNodeId??e.transport??n??m??"local"}function R(e){return e.project??e.role??e.agentClass??"Unassigned"}function x(e){if(!e)return null;const n=e.split("/").filter(Boolean);return n[n.length-1]??null}function gt(){const{agents:e,navigate:n}=N(),[m,f]=r.useState([]),p=g(),c=r.useCallback(async()=>{const t=await j("/api/conversations").catch(()=>[]);f(t)},[]);r.useEffect(()=>{c()},[c]),v(t=>$.has(t.kind),()=>{c()});const h=r.useMemo(()=>e.filter(t=>w(t.state)).length,[e]),l=r.useMemo(()=>{let t=0;for(const s of p.asks)(s.status==="failed"||s.status==="needs_attention")&&(t+=1);return t},[p]),u=r.useMemo(()=>{const t=new Map;for(const s of e){const i=R(s);t.set(i,(t.get(i)??0)+1)}return[...t.entries()].sort((s,i)=>i[1]-s[1]).slice(0,8)},[e]),d=r.useMemo(()=>{const t=new Map;for(const s of e){const i=k(s);t.set(i,(t.get(i)??0)+1)}return[...t.entries()].sort((s,i)=>i[1]-s[1]).slice(0,8)},[e]);return o.jsxs("div",{className:"ctx-panel",children:[o.jsxs("section",{className:"ctx-panel-section",children:[o.jsx("div",{className:"ctx-panel-section-label",children:"Agents"}),o.jsx(a,{name:"Overview",meta:`${e.length}`,tone:"neutral",onClick:()=>n({view:"inbox"})}),o.jsx(a,{name:"Agents",meta:`${h}`,tone:"callable",active:!0,onClick:()=>n({view:"ops",mode:"agents"})}),o.jsx(a,{name:"Sessions",meta:`${m.length}`,tone:"neutral",onClick:()=>n({view:"sessions"})}),o.jsx(a,{name:"Alerts",meta:`${l}`,tone:l>0?"in_turn":"neutral",unread:l>0,onClick:()=>n({view:"activity"})})]}),o.jsxs("section",{className:"ctx-panel-section",children:[o.jsx("div",{className:"ctx-panel-section-label",children:"Projects"}),u.length===0?o.jsx("div",{className:"ctx-panel-empty",children:"No projects"}):u.map(([t,s])=>o.jsx(a,{name:t,meta:`${s}`,tone:"neutral",title:`${s} agent${s===1?"":"s"} on ${t}`},t))]}),o.jsxs("section",{className:"ctx-panel-section",children:[o.jsx("div",{className:"ctx-panel-section-label",children:"Machines"}),d.length===0?o.jsx("div",{className:"ctx-panel-empty",children:"No machines"}):d.map(([t,s])=>o.jsx(a,{name:t,meta:`${s}`,tone:"neutral",title:`${s} agent${s===1?"":"s"} on ${t}`},t))]})]})}export{gt as OpsAgentsLeft};
|