@openscout/scout 0.2.98 → 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/NOTICE +7 -0
- 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-fXndbzXT.js → AddProjectForm-CHNJ4NnS.js} +1 -1
- package/dist/client/assets/AdventureEvidence-B4mEvXeD.js +5 -0
- package/dist/client/assets/AdventureReader-ZsBDQITY.js +4 -0
- package/dist/client/assets/AdventureScenery-DSxDlqG1.js +1 -0
- package/dist/client/assets/AgentAdventures-BxrYq_2v.js +1 -0
- package/dist/client/assets/AgentAvatar-NZOqcsB2.js +1 -0
- package/dist/client/assets/AgentConfigurationScreen-BhD1PEAM.js +1 -0
- package/dist/client/assets/AgentDefinitionsWorkspace-BqS6MXqF.js +1 -0
- package/dist/client/assets/AgentDetailCard-MIEBKw_S.js +1 -0
- package/dist/client/assets/AgentFloorView-A0dDRlRV.js +1 -0
- package/dist/client/assets/AgentFloorWorld-BTqwmK5G.js +1 -0
- package/dist/client/assets/AgentInfoScreen-DuaN0sgE.js +1 -0
- package/dist/client/assets/{AgentLaneCard-Cc9uyfBr.js → AgentLaneCard-C4rKLLdT.js} +1 -1
- package/dist/client/assets/{AgentLaneChrome-Dv2lBFoH.js → AgentLaneChrome-fGC-ZrJS.js} +1 -1
- package/dist/client/assets/{AgentLaneDetailSheet-CGqtqSHQ.js → AgentLaneDetailSheet-BTF4_th9.js} +2 -2
- package/dist/client/assets/{AgentLaneSummaryResize-Di4u6df2.js → AgentLaneSummaryResize-DgSeA_vS.js} +1 -1
- package/dist/client/assets/AgentLanesEmbedScreen-CeNiaZ9_.js +1 -0
- package/dist/client/assets/{AgentLanesPreflight-CCGBArIb.js → AgentLanesPreflight-CcS23wij.js} +1 -1
- package/dist/client/assets/AgentLanesView-WZhEDBFE.js +2 -0
- package/dist/client/assets/AgentLiveActions-6Kfr1uOT.js +1 -0
- package/dist/client/assets/AgentMasterScreen-DUDUTAnU.js +1 -0
- package/dist/client/assets/AgentSessions-CO1WGa8Z.js +6 -0
- 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-CwB4Dw07.js → AstronautSuit-D67fIBdR.js} +1 -1
- package/dist/client/assets/AtopView-Ck30FbzG.js +1 -0
- package/dist/client/assets/BackToPicker-CkBhGRlD.js +1 -0
- package/dist/client/assets/BriefingDetailScreen-yZG8_m4h.js +1 -0
- package/dist/client/assets/BriefingsScreen-DTxYMr3a.js +1 -0
- package/dist/client/assets/{BrokerMetadataPanel-BJSwU9XZ.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-CkgTalIt.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-BniL8sEL.css +1 -0
- package/dist/client/assets/CharacterFamilyPreview-ckVkecDO.js +1 -0
- package/dist/client/assets/ChatAvatar-DKBsbOqk.js +1 -0
- package/dist/client/assets/ChatBits-CLJ71hTY.js +1 -0
- package/dist/client/assets/ChatCollapsedStrip-Co0NmqOO.js +1 -0
- 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-DfluIWmO.js → CodeDiffPane-D-iv28LJ.js} +1 -1
- package/dist/client/assets/{CodeProjectPicker-By_Wz9ex.js → CodeProjectPicker-CZ3gDdiT.js} +1 -1
- package/dist/client/assets/CodeScreen-CSC-zbP9.js +1 -0
- package/dist/client/assets/CommsCanvas-BR2YS76H.css +1 -0
- package/dist/client/assets/CommsCanvas-DdNAwjGW.js +1 -0
- package/dist/client/assets/CommsDeck-mGWY7Ivi.js +1 -0
- package/dist/client/assets/CommsFlowGraph-vQucylxF.css +1 -0
- package/dist/client/assets/CommsFlowGraph-voDD9M5R.js +1 -0
- package/dist/client/assets/CommsFlowMap-C33sgD48.js +1 -0
- package/dist/client/assets/CommsSelection-BL8aYD7z.js +1 -0
- package/dist/client/assets/{ConversationComposer-BUIjWMBi.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-6pprBpmq.js +6 -0
- package/dist/client/assets/ConversationScreen-Brfas2y0.css +1 -0
- package/dist/client/assets/ConversationScreen-tpj4cqWs.js +2 -0
- package/dist/client/assets/ConversationStatus-Cv-7hErW.js +1 -0
- package/dist/client/assets/{CrewAvatar-CZ_faQ_s.js → CrewAvatar-zgzC3cbU.js} +1 -1
- package/dist/client/assets/CrewSprite-Dp9KBBGY.js +1 -0
- package/dist/client/assets/CrewSprite-DsQJdu3Z.css +1 -0
- package/dist/client/assets/CrewWorkspaces-DDuYMByu.css +1 -0
- package/dist/client/assets/CrewWorkspaces-K2jcyLec.js +1 -0
- package/dist/client/assets/{DataTable-C6aMSilS.js → DataTable-av71ehJV.js} +1 -1
- package/dist/client/assets/DispatchAftermath-CcYGUB10.js +1 -0
- package/dist/client/assets/DocumentFocusViewer-DlMiEALb.js +1 -0
- package/dist/client/assets/{EmbeddableSurfacesLab-D3iZiS8o.js → EmbeddableSurfacesLab-CTkO_tQR.js} +1 -1
- package/dist/client/assets/{EmptyState-CKPWFSjq.js → EmptyState-CYUwYyAW.js} +1 -1
- package/dist/client/assets/{FileViewerPane-CxNbcTYf.js → FileViewerPane-Cxhixtks.js} +2 -2
- package/dist/client/assets/FlightObserveScreen-CvzhzuWc.js +1 -0
- package/dist/client/assets/FloorContextSheet-Vj_wVZq1.js +1 -0
- package/dist/client/assets/FloorExchangePanel-B3TFhjLk.css +1 -0
- package/dist/client/assets/FloorExchangePanel-CjHSDXad.js +1 -0
- package/dist/client/assets/FloorMessagePasses-BG4ebnX5.js +1 -0
- package/dist/client/assets/FloorMessagePasses-nxwwiUom.css +1 -0
- package/dist/client/assets/FloorReplay-BoYaGY9t.js +1 -0
- package/dist/client/assets/FloorResourcesSheet-_Iy5UqgY.js +1 -0
- package/dist/client/assets/FloorSavedWork-jbtRs-YE.js +1 -0
- package/dist/client/assets/FloorTacticalHUD-BhyOqlL5.js +1 -0
- package/dist/client/assets/FollowScreen-CupyOgt4.js +1 -0
- package/dist/client/assets/HarnessMark-DSvM_H7H.js +1 -0
- package/dist/client/assets/HarnessesScreen-DyjqbZ4k.js +1 -0
- package/dist/client/assets/{HerdrSession-DsuxCtfX.js → HerdrSession-Dcm3vf9U.js} +3 -3
- package/dist/client/assets/{HomeHero-DXJo2QSO.js → HomeHero-pIZtE1cC.js} +1 -1
- package/dist/client/assets/HostAdvisorView-Dv5meXo2.js +1 -0
- 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-B8yiM524.js +1 -0
- package/dist/client/assets/KnowledgeSearchScreen-BPqAjHnH.js +1 -0
- package/dist/client/assets/{LaneToolHoverCard-t7-XJP-h.js → LaneToolHoverCard-D2cnTeUd.js} +1 -1
- package/dist/client/assets/LaneTraceDetailSheet-jl4XQmEx.js +1 -0
- package/dist/client/assets/{LaneTraceEventFocus-BB5DhFQm.js → LaneTraceEventFocus-BLhVHwff.js} +1 -1
- package/dist/client/assets/MeshCanvas-BR25OBTJ.js +3 -0
- package/dist/client/assets/MeshCanvasMinimap-ClVolr4-.js +1 -0
- package/dist/client/assets/MeshScreen-BW1dMFWF.js +1 -0
- package/dist/client/assets/{MeshTopologyView-Dc0GSrKa.js → MeshTopologyView-BT3ke2D1.js} +2 -2
- package/dist/client/assets/MessagesScreen-CtNMfIvC.js +1 -0
- package/dist/client/assets/MissionContextRail-CafjuseK.js +1 -0
- package/dist/client/assets/MissionControlView-BjPOViGY.js +1 -0
- package/dist/client/assets/MissionFocusOverlay-nhy3hkxQ.js +1 -0
- package/dist/client/assets/MissionLeftAgentRow-Dms0DBjO.js +1 -0
- package/dist/client/assets/MissionLogPane-DiUf3vWW.js +1 -0
- 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-BQ2wQ5gp.js +1 -0
- package/dist/client/assets/NewChatComposer-BEXS8vV6.js +19 -0
- package/dist/client/assets/{NewChatOrigin-DCn5cWPZ.js → NewChatOrigin-C8ROO4ps.js} +1 -1
- package/dist/client/assets/NodeDetailPanel-BNTqYC7m.js +1 -0
- package/dist/client/assets/NodeMenu-CcOeFRCB.js +1 -0
- package/dist/client/assets/ObserveEmbedScreen-Dh30EjAQ.js +2 -0
- package/dist/client/assets/{ObserveTextFlow-DCJ5EmD8.js → ObserveTextFlow-CC5mnngm.js} +2 -2
- package/dist/client/assets/{ObservedTopologyPanel-CJVqIqQ2.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-CUzZ4Rpx.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-CNZluAZb.js +5 -0
- package/dist/client/assets/{RailRow-B0sRaJc6.css → RailRow-B25zKEub.css} +1 -1
- package/dist/client/assets/RailRow-DUPqXMZh.js +1 -0
- 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-C8fxndAh.js +1 -0
- package/dist/client/assets/RenderedWorkerSprite-qnTfkd_4.css +1 -0
- package/dist/client/assets/ReplayClock-DUVJjrIu.js +1 -0
- package/dist/client/assets/ReplayLog-Bek1Vc4W.js +1 -0
- package/dist/client/assets/ReplayOutpost-DlRg3172.js +1 -0
- package/dist/client/assets/ReplayOutpost-Y1DvZgeu.css +1 -0
- package/dist/client/assets/{RepoDiffEmbedScreen-mexrJPhW.js → RepoDiffEmbedScreen-CVUMnt6A.js} +1 -1
- package/dist/client/assets/{RepoDiffPageScreen-DbqX4L3q.js → RepoDiffPageScreen-D9-s5PyB.js} +1 -1
- package/dist/client/assets/RepoDiffViewer-D7FN-oyY.js +7 -0
- package/dist/client/assets/RepoDiffViewerLazy-BpMR7tlx.js +2 -0
- package/dist/client/assets/{ReposScreen-CzbO1Fuy.js → ReposScreen-BQ7HO1om.js} +2 -2
- package/dist/client/assets/RiggedWorkerCharacter-BpYECnyK.css +1 -0
- package/dist/client/assets/RiggedWorkerCharacter-CJMWlvV-.js +1 -0
- package/dist/client/assets/SageModelStudio-768dRQr4.css +1 -0
- package/dist/client/assets/SageModelStudio-B526NSnw.js +4108 -0
- package/dist/client/assets/ScoutDeckSurface-ChkvGyEW.js +1 -0
- package/dist/client/assets/{ScoutSurface-NlhDsPzg.js → ScoutSurface-6g1f5chk.js} +1 -1
- package/dist/client/assets/{ScoutbotFxLab-l2WAahCg.js → ScoutbotFxLab-BuwBdnPf.js} +1 -1
- package/dist/client/assets/{SecondaryNav-Cs0_FQdj.js → SecondaryNav-Bs-_VwTC.js} +1 -1
- package/dist/client/assets/SessionEmbedScreen-C2wf35-P.js +1 -0
- package/dist/client/assets/SessionObserve-B64YsYhy.js +12 -0
- package/dist/client/assets/{SessionObserve-CLrHfAKZ.css → SessionObserve-CDdJ7fAE.css} +1 -1
- package/dist/client/assets/SessionObserveEvidence-CS1aQBpQ.js +1 -0
- package/dist/client/assets/SessionRefScreen-DURV0MpF.js +1 -0
- package/dist/client/assets/SessionsScreen-D71ZR-8t.js +1 -0
- package/dist/client/assets/SettingsDrawer-Nz98oBVl.js +3 -0
- package/dist/client/assets/SettingsScreen-CYBHal6y.js +1 -0
- package/dist/client/assets/SharedFloorCharacter-Bi5_md4R.css +1 -0
- package/dist/client/assets/SharedFloorCharacter-V04kD5T9.js +1 -0
- package/dist/client/assets/SharedWorkFloor-BCmdeb3Q.css +1 -0
- package/dist/client/assets/SharedWorkFloor-C0xxW4SN.js +2 -0
- package/dist/client/assets/{ShikiPane-C0TuCATU.js → ShikiPane-XwFI-pCp.js} +1 -1
- package/dist/client/assets/{SlidePanel-CETQ5NTx.js → SlidePanel-BMpkXai_.js} +1 -1
- package/dist/client/assets/SpaceSwitcher-BfeIf-ad.js +1 -0
- package/dist/client/assets/SpriteAvatar-aHeF4ZQZ.js +1 -0
- package/dist/client/assets/SproutActionSprite-DI5N3gOj.js +1 -0
- package/dist/client/assets/{StatusPill-BllrY-eg.js → StatusPill-Dw4LP7wu.js} +1 -1
- package/dist/client/assets/{TailView-_gKWfaQM.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-CwbQhXcI.js +1 -0
- package/dist/client/assets/TerminalRelay--qOBwnbR.js +46 -0
- package/dist/client/assets/{TextDocumentSurface-2X1Gw4eA.js → TextDocumentSurface-BK6Qy41F.js} +1 -1
- package/dist/client/assets/{TmuxPeek-CqTJRhkI.js → TmuxPeek-DpUT9Tpc.js} +1 -1
- package/dist/client/assets/{VoicePermissionsPanel-C4vkU-sU.js → VoicePermissionsPanel-D35fOnQj.js} +1 -1
- package/dist/client/assets/{WorkDetailScreen-DqGnuK0e.js → WorkDetailScreen-Bcf_yHhU.js} +4 -4
- package/dist/client/assets/WorkFilesViewer-t8AEyx3Q.js +1 -0
- package/dist/client/assets/WorkRunView-CxwAZ2QQ.css +1 -0
- package/dist/client/assets/WorkRunView-_mhG_FR2.js +1 -0
- package/dist/client/assets/WorldActorTalk-CKerDikx.js +1 -0
- package/dist/client/assets/WorldCharacter-BRrj3MQN.js +1 -0
- package/dist/client/assets/WorldMinimap-DOptgrc4.js +1 -0
- package/dist/client/assets/WorldSky-D-RJzSa6.js +1 -0
- package/dist/client/assets/{activity-CzTJ-YMX.js → activity-BJqFrZyB.js} +1 -1
- package/dist/client/assets/{addon-fit-Zx3A7pGS.js → addon-fit-CHohcvS3.js} +1 -1
- package/dist/client/assets/{addon-webgl-DitJj-N0.js → addon-webgl-CaRy2x2b.js} +1 -1
- package/dist/client/assets/adventure-evidence-DgQbBmfa.css +1 -0
- package/dist/client/assets/adventure-habitats-v1-CVMbdB_Z.png +0 -0
- package/dist/client/assets/adventure-habitats-v1-M1lcpTJh.js +1 -0
- package/dist/client/assets/adventure-playback-DTfkhIc0.js +3 -0
- package/dist/client/assets/adventure-reader-DM5UDDm9.css +1 -0
- package/dist/client/assets/agent-adventures-DZtWpj6k.css +1 -0
- package/dist/client/assets/agent-autocomplete-_u9o5EZu.js +2 -0
- package/dist/client/assets/{agent-essentials-K9B6kbTS.js → agent-essentials-bKWYOZaH.js} +1 -1
- package/dist/client/assets/{agent-floor-CuJr1iK1.css → agent-floor-Dmr9hZHL.css} +1 -1
- package/dist/client/assets/agent-floor-actor-DW8zLht0.js +1 -0
- package/dist/client/assets/agent-floor-world-Bnd1AtwK.css +1 -0
- package/dist/client/assets/agent-floor-world-layout-hfMjuoui.js +1 -0
- package/dist/client/assets/agent-lane-card-model-CeqQGp-8.js +1 -0
- package/dist/client/assets/{agent-lane-detail-ppJId6Jc.js → agent-lane-detail-Ti3trpfH.js} +1 -1
- package/dist/client/assets/{agent-lane-preview-BhplDYGf.js → agent-lane-preview-Dpa3DuOn.js} +1 -1
- package/dist/client/assets/{agent-lanes-DlqcEf0l.css → agent-lanes-DmgipV9D.css} +1 -1
- package/dist/client/assets/agent-lanes-model-DMAdqCmK.js +4 -0
- package/dist/client/assets/agent-master-THmq-1k8.css +1 -0
- package/dist/client/assets/agent-master-model-C-KdOFDK.js +1 -0
- package/dist/client/assets/{agent-specialization-CtF_jI34.js → agent-specialization-BplZUa_0.js} +1 -1
- package/dist/client/assets/agent-state-DDhnFEEP.js +1 -0
- package/dist/client/assets/{api-HFH8wFyb.js → api-BQYTwoz6.js} +1 -1
- package/dist/client/assets/api-DSqpVKC7.js +1 -0
- package/dist/client/assets/{arc.es-BNXJqSw7.js → arc.es-CubLvQ4W.js} +1 -1
- package/dist/client/assets/{arrow-left-eToA6GxC.js → arrow-left-DFfKAq0d.js} +1 -1
- package/dist/client/assets/{arrow-right-DTX42clh.js → arrow-right-DmAWnyAH.js} +1 -1
- package/dist/client/assets/{arrow-up-right-B09GPwFl.js → arrow-up-right-B0aLKiyF.js} +1 -1
- package/dist/client/assets/at-sign-DM7xeppo.js +1 -0
- package/dist/client/assets/book-open-BL9qvhEI.js +1 -0
- package/dist/client/assets/{bot-WxKXYtEX.js → bot-BhAVbcCA.js} +1 -1
- package/dist/client/assets/broker-display-BkBzyvbR.js +2 -0
- package/dist/client/assets/{cache-CeWH_KzJ.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-Dz2SRHft.js → check-g7D7-c1J.js} +1 -1
- package/dist/client/assets/{chevron-down-D120PY4g.js → chevron-down-CDzRQQGl.js} +1 -1
- package/dist/client/assets/{chevron-right-CowuvuE6.js → chevron-right-DKGTLiqc.js} +1 -1
- package/dist/client/assets/chevron-up-DX7R6KY2.js +1 -0
- package/dist/client/assets/{chunk-HRAB3GC3-KjjrTLCU.js → chunk-HRAB3GC3-Dvk_QpRq.js} +1 -1
- package/dist/client/assets/{clock-_9FDplIT.js → clock-CQb4FeMf.js} +1 -1
- package/dist/client/assets/{code-xml-CkkNdRmu.js → code-xml-Cmadr3pQ.js} +1 -1
- package/dist/client/assets/coffee-ljG1_krY.js +1 -0
- package/dist/client/assets/colors-CFlbwC25.js +1 -0
- package/dist/client/assets/comms-deck-C8nVeMBh.css +1 -0
- package/dist/client/assets/comms-deck-CBhsXnY-.js +2 -0
- package/dist/client/assets/comms-gesture-_aGFo6g3.js +2 -0
- package/dist/client/assets/{compass-BdpImt_W.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-DqxWzalx.js → context-budget-8qFKqM-j.js} +1 -1
- package/dist/client/assets/{conversation-icons-DHGc9wbT.js → conversation-icons-CIRaxmid.js} +1 -1
- package/dist/client/assets/conversation-model-m8HhzroS.js +1 -0
- package/dist/client/assets/conversation-motion-features-D9PxLoDt.js +1 -0
- package/dist/client/assets/conversations-Cbg9h_Af.js +1 -0
- package/dist/client/assets/{copy-BzdzWsQd.js → copy-BGOC1tJB.js} +1 -1
- package/dist/client/assets/{cpu-CHFIGw87.js → cpu-Q6nrHFTN.js} +1 -1
- package/dist/client/assets/{createLucideIcon-Dv8H8m7J.js → createLucideIcon-ChvMq-zl.js} +1 -1
- package/dist/client/assets/{credentials-BTce3VP1.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/embed-navigation-DayfkQau.js +1 -0
- package/dist/client/assets/{external-link-BvX5PfLh.js → external-link-BVccgH0n.js} +1 -1
- package/dist/client/assets/{eye-C9cGk5z6.js → eye-CsGfEVR6.js} +1 -1
- package/dist/client/assets/{file-code-corner-jlGFdr8d.js → file-code-corner-Be6da5l3.js} +1 -1
- package/dist/client/assets/{file-text-BHro8MkG.js → file-text-DP6txVW-.js} +1 -1
- package/dist/client/assets/flag-DAFE2wZ5.js +1 -0
- package/dist/client/assets/floor-character-name-CqJPOlXb.js +1 -0
- package/dist/client/assets/floor-context-model-rWKqaKmV.js +1 -0
- package/dist/client/assets/floor-context-sheet-BFnkFiY3.css +1 -0
- package/dist/client/assets/floor-memory-YMM8AlLY.js +1 -0
- package/dist/client/assets/floor-message-passes-CO3Ix_wR.js +1 -0
- package/dist/client/assets/floor-preview-text-HrORUJ7D.js +1 -0
- package/dist/client/assets/floor-replay-CccYqE-f.css +1 -0
- package/dist/client/assets/floor-tactical-hud-HL5Vja5Y.css +1 -0
- package/dist/client/assets/folder-B_S7gBVr.js +1 -0
- package/dist/client/assets/{gauge-DSflSery.js → gauge-DQCGlE3o.js} +1 -1
- package/dist/client/assets/{gestures-YA5IIwp-.js → gestures-CofqY4Km.js} +1 -1
- package/dist/client/assets/{git-branch-Bc_eDIpG.js → git-branch-DcUCsWdJ.js} +1 -1
- package/dist/client/assets/go-shortcuts-KQy-ZOpV.js +1 -0
- package/dist/client/assets/home-moving-signal-BIHUGNfI.js +1 -0
- package/dist/client/assets/home-now-card-CaLgZze2.js +1 -0
- package/dist/client/assets/{home-now-card-nano-Jmy7eJ6H.js → home-now-card-nano-CvU8B61b.js} +1 -1
- package/dist/client/assets/{hooks-D6NI15f6.css → hooks-D787lBmm.css} +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-kkXUq-zf.js +1 -0
- package/dist/client/assets/{inspector-panel-CwrHjRaQ.js → inspector-panel-CLU7wjnT.js} +2 -2
- package/dist/client/assets/{keyboard-nav-B8sQ_8IF.js → keyboard-nav-CJXPaHXj.js} +1 -1
- package/dist/client/assets/knowledge-search-BNdQweGz.css +1 -0
- package/dist/client/assets/lane-ask-display-BTVSakyo.js +18 -0
- package/dist/client/assets/{lane-edit-display-C_Aujldz.js → lane-edit-display-BjdT9oZl.js} +1 -1
- package/dist/client/assets/{lane-observe-vfyACHi0.js → lane-observe-CteDwdD-.js} +3 -3
- package/dist/client/assets/lane-roster-store-Ch9t6lb0.js +1 -0
- package/dist/client/assets/{lane-tool-detail-0WhMf4Vj.js → lane-tool-detail-Czggx8oM.js} +1 -1
- package/dist/client/assets/{layers-CW2-qHsG.js → layers-BOwyWodP.js} +1 -1
- package/dist/client/assets/{layout-grid-BoVnPOk-.js → layout-grid-B36Qsh0y.js} +1 -1
- package/dist/client/assets/left-0vBrvrBG.js +2 -0
- package/dist/client/assets/{left-DH44V4I_.css → left-BV9yMiTL.css} +1 -1
- 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/left-mission-DENnfshd.css +1 -0
- package/dist/client/assets/library-DdhYL_9v.js +1 -0
- package/dist/client/assets/{loader-circle-DmUG_YC7.js → loader-circle-DNUsuPWz.js} +1 -1
- package/dist/client/assets/{local-agents-VP1-ZlPw.js → local-agents-I40PawYA.js} +1 -1
- package/dist/client/assets/machine-children-CdhNzDF0.js +1 -0
- package/dist/client/assets/machine-scope-DJt9RZ2w.js +1 -0
- package/dist/client/assets/mentions-Ck_Vjnyp.js +1 -0
- package/dist/client/assets/{mesh-ops-CKSWgax2.js → mesh-ops-DSlvHp-D.js} +1 -1
- package/dist/client/assets/{mesh-screen-D1Yvo8fU.css → mesh-screen-DjA4mOaN.css} +1 -1
- package/dist/client/assets/mesh-view-store-C1-mdP3P.js +1 -0
- package/dist/client/assets/{message-circle-joGFxfj1.js → message-circle-cI5_A5mj.js} +1 -1
- package/dist/client/assets/{message-markup-DC0QFEZn.js → message-markup-6Tgo4qFJ.js} +1 -1
- package/dist/client/assets/{message-square-BLiFqpe_.js → message-square-CJW4WRlo.js} +1 -1
- package/dist/client/assets/{message-visibility-CGOmSSKs.js → message-visibility-DwxgcgYK.js} +1 -1
- package/dist/client/assets/mission-control-CsX3Yc58.css +1 -0
- package/dist/client/assets/mission-control-model-C30vU1Fe.js +1 -0
- package/dist/client/assets/mission-control-store-p_cboAm4.js +1 -0
- package/dist/client/assets/{mission-wall-CocIM1cF.js → mission-wall-DOuGOxQy.js} +1 -1
- package/dist/client/assets/monitor-C7_cHlkC.js +1 -0
- package/dist/client/assets/nav-destinations-CU_euC-Q.js +1 -0
- package/dist/client/assets/observe-CtS0l3zu.js +1 -0
- package/dist/client/assets/{operator-attention-RqieiSY8.js → operator-attention-DBaRg5ep.js} +1 -1
- package/dist/client/assets/ops-screen-CxYM0VOW.css +1 -0
- package/dist/client/assets/page-status-DwFR4wSw.js +1 -0
- package/dist/client/assets/panel-right-qP17MwMl.js +1 -0
- package/dist/client/assets/pause-B_hliKuR.js +1 -0
- package/dist/client/assets/{persistent-state-BubPQ7tT.js → persistent-state-BUsTTZFE.js} +1 -1
- package/dist/client/assets/pin-Oi4qHR6M.js +1 -0
- package/dist/client/assets/pip-idle-v1-Tt-CZsRG.png +0 -0
- package/dist/client/assets/pip-thinking-v1-BoHWSEye.png +0 -0
- package/dist/client/assets/pip-waiting-v1-DkuvJ-dN.png +0 -0
- package/dist/client/assets/pip-working-v1-wWQLRS1z.png +0 -0
- package/dist/client/assets/play-CVeRmqLH.js +1 -0
- package/dist/client/assets/{plus-BWKhylds.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-DFbgVlXL.js → projects-inbox-CfwxCTdN.js} +1 -1
- package/dist/client/assets/provider-DwmCoSlc.js +1 -0
- package/dist/client/assets/{proxy-DVDRhSRR.js → proxy-DgzP27W8.js} +1 -1
- package/dist/client/assets/{radio-CxIXS1nU.js → radio-Cas2qg1D.js} +1 -1
- package/dist/client/assets/{refresh-cw-Bkh7Cvnd.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-DVUq5374.js → right-cjPTwPXS.js} +2 -2
- package/dist/client/assets/{rocket-CnxqjX_K.js → rocket-DAqYvu8I.js} +1 -1
- package/dist/client/assets/router-C-MF5-mb.js +1 -0
- package/dist/client/assets/{runtime-picker-BYAFNLNq.css → runtime-picker-C3JwrDKP.css} +1 -1
- package/dist/client/assets/runtime-picker-C_AVYF63.js +1 -0
- package/dist/client/assets/{scope-views-KPY85UUx.js → scope-views-Dl3ml9OZ.js} +1 -1
- package/dist/client/assets/scout-voice-CqAyfblr.js +1 -0
- package/dist/client/assets/{scoutbot-D7kGGyK_.js → scoutbot-Bk3nyrkj.js} +2 -2
- package/dist/client/assets/{scoutbot-markdown-yb87JlSE.js → scoutbot-markdown-DwvGQOWo.js} +1 -1
- package/dist/client/assets/{scroll-text-DFcBYy5J.js → scroll-text-B0tKI9Sg.js} +1 -1
- package/dist/client/assets/{search-FB2vVxCp.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-qBGFCJv8.js → selection-bridge-OTS2iFkt.js} +1 -1
- package/dist/client/assets/{send-horizontal-CS7mxVhX.js → send-horizontal-BlQsRK6C.js} +1 -1
- package/dist/client/assets/send-to-agent-session-C1mgqdow.js +1 -0
- package/dist/client/assets/{server-WY6gsbZz.js → server-DBlPW0Mp.js} +1 -1
- package/dist/client/assets/{session-catalog-CG4oL_yN.js → session-catalog-CnpZMB7C.js} +1 -1
- package/dist/client/assets/{session-table-uJh3v-ly.js → session-table-CGkfG5Yd.js} +1 -1
- package/dist/client/assets/sessions-view-Bge4XZ4I.js +1 -0
- package/dist/client/assets/{settings-DQEtqkM9.js → settings-C69Zjrpq.js} +1 -1
- package/dist/client/assets/shared-work-artifacts-DfNl9KTo.js +1 -0
- package/dist/client/assets/{sliders-horizontal-57e99_qO.js → sliders-horizontal-6bzeod7c.js} +1 -1
- package/dist/client/assets/solar-system-scope-2k-stars-points-1FwHnkj0.png +0 -0
- package/dist/client/assets/{sparkles-D0vWLTyC.js → sparkles-Cc5lPZRv.js} +1 -1
- package/dist/client/assets/sprout-action-sprite-DZ8C0fTl.css +1 -0
- package/dist/client/assets/sprout-actions-proof-v1-BzUdc812.png +0 -0
- package/dist/client/assets/{sse-B29iGBnw.js → sse-A8AyLH0g.js} +1 -1
- package/dist/client/assets/system-surfaces-redesign-DKFg4GB5.css +1 -0
- package/dist/client/assets/{tail-display-DcliDVkW.js → tail-display-DHSNmvor.js} +2 -2
- package/dist/client/assets/{tail-events-LK29oCKm.js → tail-events-C4WdhVeK.js} +1 -1
- package/dist/client/assets/{terminal-UDy4lzV1.js → terminal-DMZjX1es.js} +1 -1
- package/dist/client/assets/{terminal-relay-CXHMdain.js → terminal-relay-mO89dX-Y.js} +1 -1
- package/dist/client/assets/terminal-screen-Bpb2SZrn.css +1 -0
- package/dist/client/assets/{terminal-sessions-Bdt2W3Y4.js → terminal-sessions-3RfJpen8.js} +1 -1
- package/dist/client/assets/{terminal-takeover-BMeBjBB2.js → terminal-takeover-CZZsnPzj.js} +1 -1
- package/dist/client/assets/use-beside-D3cJpA5p.js +1 -0
- package/dist/client/assets/use-conversation-list-D5EnpVba.js +1 -0
- package/dist/client/assets/{use-fleet-active-asks-CCGrll5q.js → use-fleet-active-asks-D_QOmjg5.js} +1 -1
- package/dist/client/assets/use-mesh-node-state-3V3ADQ-G.js +1 -0
- package/dist/client/assets/{use-mesh-ops-items-BjyeFJTz.js → use-mesh-ops-items-DI9GKWlF.js} +1 -1
- package/dist/client/assets/{use-reduced-motion-CPoX8iV2.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-BgTLNcF-.js → useAgentHoverCard-A3QGXqIy.js} +1 -1
- package/dist/client/assets/useContentSecondaryNav-DrL_nkCZ.js +1 -0
- package/dist/client/assets/{useEmbedHeadline-DuUnwTB7.js → useEmbedHeadline-atkQVfGw.js} +1 -1
- package/dist/client/assets/usePersistentState-Y8XwSTg-.js +1 -0
- package/dist/client/assets/{usePierreRuntime-35AHf9RQ.js → usePierreRuntime-DTvcwISe.js} +1 -1
- package/dist/client/assets/users-RLK3P5U4.js +1 -0
- package/dist/client/assets/worker-rendered-v1-DmGVMlVi.png +0 -0
- package/dist/client/assets/worker-thinking-v1-ujakpzrK.png +0 -0
- package/dist/client/assets/worker-waiting-v1-DbTSsfJJ.png +0 -0
- package/dist/client/assets/worker-working-v1-BROAvJ_z.png +0 -0
- package/dist/client/assets/world-outposts-v1-DOt0i98W.png +0 -0
- package/dist/client/assets/{wrench-BfVeded5.js → wrench-B4maQJai.js} +1 -1
- package/dist/client/assets/{x-DgmmnPKt.js → x-rlMdRqJF.js} +1 -1
- package/dist/client/assets/{xterm-DnJJmrCA.js → xterm-B1zHHOLQ.js} +1 -1
- package/dist/client/assets/{zap-Bcja1lHG.js → zap-B4X0OrEw.js} +1 -1
- package/dist/client/characters/sage/sage.glb +0 -0
- package/dist/client/crew/brik-bust.webp +0 -0
- package/dist/client/crew/brik-chip-id.webp +0 -0
- package/dist/client/crew/fenn-bust.webp +0 -0
- package/dist/client/crew/fenn-chip-id.webp +0 -0
- package/dist/client/crew/lulu-bust.webp +0 -0
- package/dist/client/crew/milo-bust.webp +0 -0
- package/dist/client/crew/milo-chip-id.webp +0 -0
- package/dist/client/crew/nori-bust.webp +0 -0
- package/dist/client/crew/pip-bust.webp +0 -0
- package/dist/client/crew/pip-chip-id.webp +0 -0
- package/dist/client/crew/sheets/eye-plate-v1/blink-half.webp +0 -0
- package/dist/client/crew/sheets/eye-plate-v1/blink-shut.webp +0 -0
- package/dist/client/crew/sheets/eye-plate-v1/look-left.webp +0 -0
- package/dist/client/crew/sheets/eye-plate-v1/look-right.webp +0 -0
- package/dist/client/crew/sheets/eye-plate-v1/look-up.webp +0 -0
- package/dist/client/crew/sheets/eye-plate-v1/rest.webp +0 -0
- package/dist/client/crew/sheets/sprout/blink-half.webp +0 -0
- package/dist/client/crew/sheets/sprout/blink-shut.webp +0 -0
- package/dist/client/crew/sheets/sprout/look-left.webp +0 -0
- package/dist/client/crew/sheets/sprout/look-right.webp +0 -0
- package/dist/client/crew/sheets/sprout/look-up.webp +0 -0
- package/dist/client/crew/sprout-bust.webp +0 -0
- package/dist/client/crew/sprout-chip-id.webp +0 -0
- package/dist/client/crew/tuck-bust.webp +0 -0
- package/dist/client/crew/tuck-chip-id.webp +0 -0
- package/dist/client/crew/vex-bust.webp +0 -0
- package/dist/client/crew/vex-chip-id.webp +0 -0
- package/dist/client/crew/wrench-bust.webp +0 -0
- package/dist/client/crew/wrench-chip-id.webp +0 -0
- package/dist/client/index.html +15 -3
- package/dist/drizzle/0017_wise_silver_sable.sql +26 -0
- package/dist/drizzle/0018_message_epoch_order.sql +1 -0
- package/dist/drizzle/0019_session_actor_targets.sql +227 -0
- package/dist/drizzle/README.md +19 -0
- package/dist/drizzle/meta/0017_snapshot.json +6785 -0
- package/dist/drizzle/meta/0018_snapshot.json +6804 -0
- package/dist/drizzle/meta/0019_snapshot.json +6804 -0
- package/dist/drizzle/meta/_journal.json +21 -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 +32163 -29049
- package/dist/node/main.mjs +7189 -6285
- package/dist/openscout-terminal-relay.mjs +391 -9
- package/dist/pairing-runtime-controller.mjs +36724 -35406
- package/dist/runtime/base-daemon.mjs +14204 -63
- package/dist/runtime/broker-daemon.mjs +23498 -3137
- package/dist/runtime/broker-process-manager.mjs +19 -5
- package/dist/runtime/mesh-discover.mjs +18 -5
- package/dist/scout-control-plane-web.mjs +58517 -36972
- package/dist/statusline.mjs +1021 -35
- 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 +32235 -0
- package/package.json +2 -2
- package/dist/client/assets/ActivityScreen-sfonf5SR.js +0 -1
- package/dist/client/assets/AgentAvatar-Dz79iTxB.js +0 -1
- package/dist/client/assets/AgentConfigurationScreen-DDc3udYM.js +0 -1
- package/dist/client/assets/AgentDefinitionsWorkspace-DHDS9Pgd.js +0 -1
- package/dist/client/assets/AgentDetailCard-8viaEY8b.js +0 -1
- package/dist/client/assets/AgentFloorView-DuyvyMMj.js +0 -1
- package/dist/client/assets/AgentInfoScreen-qntgg2q2.js +0 -1
- package/dist/client/assets/AgentLanesEmbedScreen-BA6fRwkD.js +0 -1
- package/dist/client/assets/AgentLanesView-96lHsoX7.js +0 -2
- package/dist/client/assets/AgentLiveActions-DlSKL60c.js +0 -1
- package/dist/client/assets/AgentMasterScreen-DHrMuQ6_.js +0 -1
- package/dist/client/assets/AgentSessions-DV9v34aq.js +0 -6
- package/dist/client/assets/AgentsConsole-DTpVhS67.js +0 -1
- package/dist/client/assets/AgentsScreen-hZ4o2I-e.js +0 -1
- package/dist/client/assets/AgentsSubnav-Ci7uWM7P.js +0 -1
- package/dist/client/assets/AtopView-D7vyQDtE.js +0 -1
- package/dist/client/assets/BackToPicker-BHicJyfc.js +0 -1
- package/dist/client/assets/BriefingDetailScreen-B-wD_Bot.js +0 -1
- package/dist/client/assets/BriefingsScreen-Cn4Mbam9.js +0 -1
- package/dist/client/assets/BrokerScreen-C8FQ5rlg.js +0 -5
- package/dist/client/assets/ChatCollapsedStrip-7Wrg8Ge0.js +0 -1
- package/dist/client/assets/CodeScreen-cLC0tJ4S.js +0 -1
- package/dist/client/assets/ConversationFeedRows-Bx0gFyG_.js +0 -1
- package/dist/client/assets/ConversationHeader-Bt2RBj93.js +0 -1
- package/dist/client/assets/ConversationPanels-o6W-cOoU.js +0 -6
- package/dist/client/assets/ConversationScreen-CkWnKXt6.css +0 -1
- package/dist/client/assets/ConversationScreen-DIU7m_aC.js +0 -2
- package/dist/client/assets/ConversationStatus-CTYOywFh.js +0 -1
- package/dist/client/assets/CrewWorkspaces-DNX-QQ1h.js +0 -1
- package/dist/client/assets/CrewWorkspaces-Diq11KDq.css +0 -1
- package/dist/client/assets/DispatchAftermath-ZCEB75hh.js +0 -1
- package/dist/client/assets/DocumentFocusViewer-D8iB6SMt.js +0 -1
- package/dist/client/assets/FlightObserveScreen-BTe1YRPr.js +0 -1
- package/dist/client/assets/FollowScreen-CkR-okdL.js +0 -1
- package/dist/client/assets/HarnessMark-DttReffF.js +0 -1
- package/dist/client/assets/HarnessesScreen-COO_Q8VY.js +0 -1
- package/dist/client/assets/HostAdvisorView-DeJ-8RZV.js +0 -1
- package/dist/client/assets/KnowledgeSearchInspector-W_zNIBRV.js +0 -1
- package/dist/client/assets/KnowledgeSearchScreen-_rxJNUUh.js +0 -1
- package/dist/client/assets/LaneTraceDetailSheet-DNIECgEl.js +0 -1
- package/dist/client/assets/MeshCanvas-DZv2ipsy.js +0 -3
- package/dist/client/assets/MeshCanvasMinimap-BXHRNb7l.js +0 -1
- package/dist/client/assets/MeshScreen-DuNvpDC5.js +0 -1
- package/dist/client/assets/MessagesScreen-dNNPFwAc.js +0 -1
- package/dist/client/assets/MissionContextRail-DnCWPzAM.js +0 -1
- package/dist/client/assets/MissionControlView-DmaThhNR.js +0 -1
- package/dist/client/assets/MissionFocusOverlay-K21ssTxv.js +0 -1
- package/dist/client/assets/MissionLeftAgentRow-CbQm4BLv.js +0 -1
- package/dist/client/assets/MissionLogPane-BLvSSIdT.js +0 -1
- package/dist/client/assets/NewAgentModal-B7qxjZlW.js +0 -1
- package/dist/client/assets/NewChatComposer-D2Ah4T-W.js +0 -19
- package/dist/client/assets/ObserveEmbedScreen-DvKGsaLv.js +0 -2
- package/dist/client/assets/OpenScoutAppShell-C9TOLB7u.js +0 -79
- package/dist/client/assets/OpsAgentsView-vIoY-AW1.js +0 -1
- package/dist/client/assets/OpsScreen-CJBwshEp.js +0 -1
- package/dist/client/assets/OpsSubnav-CjDTnp64.js +0 -1
- package/dist/client/assets/ProjectAgentProfile-Br1eTD7G.js +0 -1
- package/dist/client/assets/ProjectAgentProfileHero-mjxNcRvw.js +0 -1
- package/dist/client/assets/ProjectsInbox-Bq29DE_o.js +0 -2
- package/dist/client/assets/ProjectsRail-kMDA0yn4.js +0 -1
- package/dist/client/assets/ProjectsScreen-BDaJYhc0.js +0 -1
- package/dist/client/assets/ProjectsThreadAside-B940p3vW.js +0 -1
- package/dist/client/assets/Provider-D0bB7q6y.js +0 -1
- package/dist/client/assets/RailRow-B88JVr62.js +0 -1
- package/dist/client/assets/RawSessionsTable-CzGhEdiZ.js +0 -1
- package/dist/client/assets/RealtimeVoiceScreen-CyP1CWsX.js +0 -1
- package/dist/client/assets/RepoDiffViewer-Bw5yMC4A.js +0 -7
- package/dist/client/assets/RepoDiffViewerLazy-DzfoFhbl.js +0 -2
- package/dist/client/assets/ScoutDeckSurface-DQoZofzH.js +0 -1
- package/dist/client/assets/SessionEmbedScreen-CpduQ0O9.js +0 -1
- package/dist/client/assets/SessionObserve-BVeTkcIl.js +0 -12
- package/dist/client/assets/SessionObserveEvidence-BkOezTGV.js +0 -1
- package/dist/client/assets/SessionRefScreen-DetLMkTT.js +0 -1
- package/dist/client/assets/SessionsScreen-B-McKw6d.js +0 -1
- package/dist/client/assets/SettingsDrawer-CPB32w0n.js +0 -3
- package/dist/client/assets/SettingsScreen-BEzYFdjz.js +0 -1
- package/dist/client/assets/SpriteAvatar-DFO4Kb4Z.js +0 -1
- package/dist/client/assets/Terminal-DWyZTZdY.js +0 -1
- package/dist/client/assets/TerminalEmbedScreen-_SSzwhWa.js +0 -1
- package/dist/client/assets/TerminalHeaderMount-CY7uIWBg.js +0 -1
- package/dist/client/assets/WorkFilesViewer-D8-4vF5l.js +0 -1
- package/dist/client/assets/agent-autocomplete-BlK8wY06.js +0 -10
- package/dist/client/assets/agent-lane-card-model-CY3OE1Xu.js +0 -1
- package/dist/client/assets/agent-lanes-model-tc-1hE6q.js +0 -2
- package/dist/client/assets/agent-master-I1W-5d-x.css +0 -1
- package/dist/client/assets/agent-master-model-DMcHeNq3.js +0 -1
- package/dist/client/assets/api-Co9aQ2Jw.js +0 -1
- package/dist/client/assets/arrow-down-BAGkhHA6.js +0 -1
- package/dist/client/assets/broker-display-Q75fupqG.js +0 -2
- package/dist/client/assets/chunk-JTPDIGGW-COJ00z94.js +0 -46
- package/dist/client/assets/chunk-T65CQEWV-H2QEKfr1.js +0 -1
- package/dist/client/assets/chunk-YOZR3KYS-CrCgXw9l.js +0 -2
- package/dist/client/assets/colors-BtO5_zlx.js +0 -1
- package/dist/client/assets/content-0RBfbCIJ.js +0 -1
- package/dist/client/assets/content-BTmnk2bl.js +0 -1
- package/dist/client/assets/content-Bk5DKhyP.js +0 -1
- package/dist/client/assets/content-Bw_8GE_S.js +0 -1
- package/dist/client/assets/content-CI4gLEWi.js +0 -1
- package/dist/client/assets/content-CLCtp9Rb.js +0 -1
- package/dist/client/assets/content-C_FAGTNk.js +0 -1
- package/dist/client/assets/content-CnnzWOE3.js +0 -1
- package/dist/client/assets/content-DKlY98pO.js +0 -1
- package/dist/client/assets/content-Df7ndXTG.js +0 -1
- package/dist/client/assets/content-DkZDzzx3.js +0 -1
- package/dist/client/assets/content-DnGmb2L0.js +0 -1
- package/dist/client/assets/content-Ds-zs-Ss.js +0 -1
- package/dist/client/assets/content-JIWSyC0f.js +0 -1
- package/dist/client/assets/content-Q3TIYC8q.js +0 -1
- package/dist/client/assets/content-evaBfvxD.js +0 -1
- package/dist/client/assets/conversation-model-C2KuZUXc.js +0 -1
- package/dist/client/assets/conversation-motion-features-BJnHs3Ul.js +0 -1
- package/dist/client/assets/discover-DutlV0ZU.js +0 -2
- package/dist/client/assets/embed-entry-CJG7WEVw.js +0 -2
- package/dist/client/assets/home-moving-signal-PHSqSBu_.js +0 -1
- package/dist/client/assets/home-now-card-C_qsI6C6.js +0 -1
- package/dist/client/assets/hooks-ME7rmhpE.js +0 -2
- package/dist/client/assets/index-C1VaWNuD.js +0 -10
- package/dist/client/assets/index-C8UCRm2W.js +0 -1
- package/dist/client/assets/index-Cn0I2Hgi.js +0 -1
- package/dist/client/assets/index-Cx6Gbr6n.js +0 -1
- package/dist/client/assets/index-i7TMxlwW.css +0 -1
- package/dist/client/assets/knowledge-search-D_bLoYtC.css +0 -1
- package/dist/client/assets/lane-ask-display-B6iCAVcd.js +0 -18
- package/dist/client/assets/lane-roster-store-DN2jxXF-.js +0 -1
- package/dist/client/assets/left-BRu9pnqx.js +0 -2
- package/dist/client/assets/left-BjS1dKNV.js +0 -2
- package/dist/client/assets/left-CL-TVLJ7.js +0 -1
- package/dist/client/assets/left-DLpsDi55.js +0 -1
- package/dist/client/assets/left-DPcM9o8Y.js +0 -1
- package/dist/client/assets/left-MmTJf1tK.js +0 -1
- package/dist/client/assets/left-P80i5V8L.js +0 -1
- package/dist/client/assets/left-advisor-CbXVzAqS.js +0 -1
- package/dist/client/assets/left-agents-7mJsiNyr.js +0 -1
- package/dist/client/assets/left-default-COK26l3H.js +0 -1
- package/dist/client/assets/left-lanes-Dbdm9Veu.js +0 -1
- package/dist/client/assets/left-mission-DSenPIyb.css +0 -1
- package/dist/client/assets/left-mission-DqGR5jby.js +0 -1
- package/dist/client/assets/library-COnWzUWv.js +0 -1
- package/dist/client/assets/mentions-BZ5SBMtc.js +0 -1
- package/dist/client/assets/mesh-buckets-CLYS8Jx8.js +0 -1
- package/dist/client/assets/mesh-view-store-CBM1za_N.js +0 -1
- package/dist/client/assets/mission-control-CnU7dNt1.css +0 -1
- package/dist/client/assets/mission-control-model-C0fByIjm.js +0 -1
- package/dist/client/assets/mission-control-store-CM8mQGg8.js +0 -1
- package/dist/client/assets/observe-BLmy4quB.js +0 -1
- package/dist/client/assets/ops-screen-giu3If_N.css +0 -1
- package/dist/client/assets/page-status-BE0-J1xY.js +0 -1
- package/dist/client/assets/paperclip-Br7wUDFl.js +0 -1
- package/dist/client/assets/perf-PX8Rx0EP.js +0 -1
- package/dist/client/assets/profile-BCvk8jOQ.js +0 -1
- package/dist/client/assets/projects-inbox-BIW7nv-H.css +0 -1
- package/dist/client/assets/resolve-panes-DhD5qmQO.js +0 -1
- package/dist/client/assets/resolve-sidebar-context-GqhZNRPY.js +0 -1
- package/dist/client/assets/right-B_08ilv6.js +0 -1
- package/dist/client/assets/right-Brm67HOL.js +0 -1
- package/dist/client/assets/right-BveAPKBW.js +0 -1
- package/dist/client/assets/right-CpTB_-Ya.js +0 -1
- package/dist/client/assets/right-CqC4Qdot.js +0 -1
- package/dist/client/assets/right-D91j9d5Y.js +0 -1
- package/dist/client/assets/right-DaLRhYl3.js +0 -1
- package/dist/client/assets/right-Dt1wOwA5.js +0 -1
- package/dist/client/assets/right-DtzqIZQF.js +0 -1
- package/dist/client/assets/router-kfcaYqZr.js +0 -1
- package/dist/client/assets/runtime-picker-C20lTGhV.js +0 -1
- package/dist/client/assets/scout-voice-Cg1qfepC.js +0 -1
- package/dist/client/assets/secondaryNavConfig-C0Srrmy8.js +0 -1
- package/dist/client/assets/secondaryNavConfig-xssF_ubT.css +0 -1
- package/dist/client/assets/system-surfaces-redesign-kuf3wuE_.css +0 -1
- package/dist/client/assets/terminal-screen-vMICbBJh.css +0 -1
- package/dist/client/assets/use-conversation-list-UG-tMN67.js +0 -1
- package/dist/client/assets/use-scout-dev-flags-DTseRrFi.js +0 -1
- package/dist/client/assets/useContentSecondaryNav-CoIoz7JU.js +0 -1
|
@@ -3,7 +3,7 @@ import { createServer } from "node:http";
|
|
|
3
3
|
import { mkdir, writeFile } from "node:fs/promises";
|
|
4
4
|
import { randomUUID } from "node:crypto";
|
|
5
5
|
import { join as join7 } from "node:path";
|
|
6
|
-
import { createRequire as
|
|
6
|
+
import { createRequire as createRequire3 } from "node:module";
|
|
7
7
|
|
|
8
8
|
// packages/web/server/relay.ts
|
|
9
9
|
import { basename, join } from "node:path";
|
|
@@ -31,7 +31,7 @@ function startProcessParentWatchdog(expectedParentPidRaw, options = {}) {
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
// packages/web/server/terminal-relay-session.ts
|
|
34
|
-
import { createRequire } from "module";
|
|
34
|
+
import { createRequire as createRequire2 } from "module";
|
|
35
35
|
|
|
36
36
|
// packages/runtime/dist/system-probes/registry.js
|
|
37
37
|
var DEFAULT_MIN_MAX_STALE_MS = 2 * 60000;
|
|
@@ -1056,12 +1056,14 @@ class ProbeCommandError extends Error {
|
|
|
1056
1056
|
code;
|
|
1057
1057
|
exitCode;
|
|
1058
1058
|
signal;
|
|
1059
|
+
stderr;
|
|
1059
1060
|
constructor(message, options) {
|
|
1060
1061
|
super(message);
|
|
1061
1062
|
this.name = "ProbeCommandError";
|
|
1062
1063
|
this.code = options.code;
|
|
1063
1064
|
this.exitCode = options.exitCode;
|
|
1064
1065
|
this.signal = options.signal;
|
|
1066
|
+
this.stderr = options.stderr;
|
|
1065
1067
|
}
|
|
1066
1068
|
}
|
|
1067
1069
|
var DEFAULT_STDOUT_CAP_BYTES = 1024 * 1024;
|
|
@@ -1182,7 +1184,7 @@ async function execProbeFile(ctx, file, args, options = {}) {
|
|
|
1182
1184
|
resolve({ stdout, stderr, exitCode });
|
|
1183
1185
|
return;
|
|
1184
1186
|
}
|
|
1185
|
-
reject(new ProbeCommandError(`${file} exited with ${exitCode ?? signal ?? "unknown status"}`, { code: "exit", exitCode, signal }));
|
|
1187
|
+
reject(new ProbeCommandError(`${file} exited with ${exitCode ?? signal ?? "unknown status"}`, { code: "exit", exitCode, signal, stderr }));
|
|
1186
1188
|
});
|
|
1187
1189
|
});
|
|
1188
1190
|
}
|
|
@@ -2807,6 +2809,42 @@ async function readZellijSessionExists(sessionName, options = {}) {
|
|
|
2807
2809
|
}
|
|
2808
2810
|
// packages/runtime/dist/system-probes/herdr.js
|
|
2809
2811
|
import { homedir as homedir3 } from "node:os";
|
|
2812
|
+
|
|
2813
|
+
// packages/protocol/dist/machines.js
|
|
2814
|
+
var MACHINE_LAN_SERVICE_TYPES = [
|
|
2815
|
+
"_openscout._tcp",
|
|
2816
|
+
"_oscout-pair._tcp",
|
|
2817
|
+
"_ssh._tcp",
|
|
2818
|
+
"_workstation._tcp",
|
|
2819
|
+
"_rfb._tcp",
|
|
2820
|
+
"_smb._tcp"
|
|
2821
|
+
];
|
|
2822
|
+
var NON_IDENTIFYING_HOST_NAMES = new Set(["localhost", "ip6-localhost", "unknown", "android"]);
|
|
2823
|
+
function normalizeMacAddress(value) {
|
|
2824
|
+
const raw = (value ?? "").trim().toLowerCase();
|
|
2825
|
+
if (!raw)
|
|
2826
|
+
return "";
|
|
2827
|
+
const groups = raw.split(/[:-]/);
|
|
2828
|
+
const octets = groups.length === 6 ? groups.map((group) => /^[0-9a-f]{1,2}$/.test(group) ? group.padStart(2, "0") : "") : raw.replace(/[^0-9a-f]/g, "").match(/.{2}/g) ?? [];
|
|
2829
|
+
if (octets.length !== 6 || octets.some((octet) => !/^[0-9a-f]{2}$/.test(octet)))
|
|
2830
|
+
return "";
|
|
2831
|
+
const joined = octets.join(":");
|
|
2832
|
+
if (joined === "00:00:00:00:00:00")
|
|
2833
|
+
return "";
|
|
2834
|
+
if ((Number.parseInt(octets[0] ?? "0", 16) & 1) === 1)
|
|
2835
|
+
return "";
|
|
2836
|
+
return joined;
|
|
2837
|
+
}
|
|
2838
|
+
function normalizeMachineAddress(value) {
|
|
2839
|
+
const raw = (value ?? "").trim().toLowerCase();
|
|
2840
|
+
if (!raw)
|
|
2841
|
+
return "";
|
|
2842
|
+
return raw.replace(/^\[/, "").replace(/\]$/, "").replace(/%.*$/, "");
|
|
2843
|
+
}
|
|
2844
|
+
var MACHINE_ONLINE_WINDOW_MS = 2 * 60000;
|
|
2845
|
+
var MACHINE_RECENT_WINDOW_MS = 60 * 60000;
|
|
2846
|
+
|
|
2847
|
+
// packages/runtime/dist/system-probes/herdr.js
|
|
2810
2848
|
var HERDR_TTL_MS = 5000;
|
|
2811
2849
|
var HERDR_TIMEOUT_MS = 2000;
|
|
2812
2850
|
function herdrBin(env = process.env) {
|
|
@@ -3179,6 +3217,333 @@ var certStatusProbe = defineProbeFamily({
|
|
|
3179
3217
|
};
|
|
3180
3218
|
}
|
|
3181
3219
|
});
|
|
3220
|
+
// packages/runtime/dist/system-probes/lan-scan.js
|
|
3221
|
+
import { spawn as spawn2 } from "node:child_process";
|
|
3222
|
+
import { createRequire } from "node:module";
|
|
3223
|
+
var require2 = createRequire(import.meta.url);
|
|
3224
|
+
var DEFAULT_BROWSE_MS = 2500;
|
|
3225
|
+
var LAN_SCAN_TTL_MS = 60000;
|
|
3226
|
+
var LAN_SCAN_TIMEOUT_MS = 1e4;
|
|
3227
|
+
var EMPTY_LAN_SCAN = {
|
|
3228
|
+
services: [],
|
|
3229
|
+
neighbors: [],
|
|
3230
|
+
browsedTypes: [],
|
|
3231
|
+
mdnsEnabled: false,
|
|
3232
|
+
scannedAt: 0
|
|
3233
|
+
};
|
|
3234
|
+
var OUI_VENDORS = {
|
|
3235
|
+
"00:03:93": "Apple",
|
|
3236
|
+
"00:05:02": "Apple",
|
|
3237
|
+
"00:0a:27": "Apple",
|
|
3238
|
+
"00:0a:95": "Apple",
|
|
3239
|
+
"00:17:f2": "Apple",
|
|
3240
|
+
"00:1b:63": "Apple",
|
|
3241
|
+
"00:1e:c2": "Apple",
|
|
3242
|
+
"00:25:00": "Apple",
|
|
3243
|
+
"00:26:bb": "Apple",
|
|
3244
|
+
"3c:22:fb": "Apple",
|
|
3245
|
+
"40:6c:8f": "Apple",
|
|
3246
|
+
"5c:f9:38": "Apple",
|
|
3247
|
+
"6c:40:08": "Apple",
|
|
3248
|
+
"7c:d1:c3": "Apple",
|
|
3249
|
+
"88:66:5a": "Apple",
|
|
3250
|
+
"a4:83:e7": "Apple",
|
|
3251
|
+
"ac:de:48": "Apple",
|
|
3252
|
+
"b8:e8:56": "Apple",
|
|
3253
|
+
"f0:18:98": "Apple",
|
|
3254
|
+
"f4:d4:88": "Apple",
|
|
3255
|
+
"b8:27:eb": "Raspberry Pi",
|
|
3256
|
+
"dc:a6:32": "Raspberry Pi",
|
|
3257
|
+
"e4:5f:01": "Raspberry Pi",
|
|
3258
|
+
"d8:3a:dd": "Raspberry Pi",
|
|
3259
|
+
"00:1b:21": "Intel",
|
|
3260
|
+
"00:1e:67": "Intel",
|
|
3261
|
+
"3c:fd:fe": "Intel",
|
|
3262
|
+
"a0:36:9f": "Intel",
|
|
3263
|
+
"24:0a:c4": "Espressif",
|
|
3264
|
+
"7c:9e:bd": "Espressif",
|
|
3265
|
+
"24:5a:4c": "Ubiquiti",
|
|
3266
|
+
"78:8a:20": "Ubiquiti",
|
|
3267
|
+
"fc:ec:da": "Ubiquiti",
|
|
3268
|
+
"00:11:32": "Synology",
|
|
3269
|
+
"00:1d:0f": "TP-Link",
|
|
3270
|
+
"00:50:56": "VMware",
|
|
3271
|
+
"08:00:27": "VirtualBox",
|
|
3272
|
+
"52:54:00": "QEMU/KVM",
|
|
3273
|
+
"00:16:3e": "Xen"
|
|
3274
|
+
};
|
|
3275
|
+
function lookupOuiVendor(macAddress) {
|
|
3276
|
+
const normalized = normalizeMacAddress(macAddress);
|
|
3277
|
+
if (!normalized)
|
|
3278
|
+
return null;
|
|
3279
|
+
return OUI_VENDORS[normalized.slice(0, 8)] ?? null;
|
|
3280
|
+
}
|
|
3281
|
+
function parseArpTable(stdout) {
|
|
3282
|
+
const neighbors = [];
|
|
3283
|
+
const seen = new Set;
|
|
3284
|
+
for (const line of stdout.split(`
|
|
3285
|
+
`)) {
|
|
3286
|
+
const match = line.match(/\(([^)]+)\)\s+at\s+([^\s]+)/);
|
|
3287
|
+
if (!match)
|
|
3288
|
+
continue;
|
|
3289
|
+
const address = normalizeMachineAddress(match[1]);
|
|
3290
|
+
const macAddress = normalizeMacAddress(match[2]);
|
|
3291
|
+
if (!address || !macAddress)
|
|
3292
|
+
continue;
|
|
3293
|
+
const key = `${address}|${macAddress}`;
|
|
3294
|
+
if (seen.has(key))
|
|
3295
|
+
continue;
|
|
3296
|
+
seen.add(key);
|
|
3297
|
+
const interfaceMatch = line.match(/\bon\s+([a-z0-9._-]+)/i);
|
|
3298
|
+
neighbors.push({
|
|
3299
|
+
address,
|
|
3300
|
+
macAddress,
|
|
3301
|
+
interfaceName: interfaceMatch?.[1] ?? null,
|
|
3302
|
+
vendor: lookupOuiVendor(macAddress)
|
|
3303
|
+
});
|
|
3304
|
+
}
|
|
3305
|
+
return neighbors;
|
|
3306
|
+
}
|
|
3307
|
+
function arpBin(env = process.env) {
|
|
3308
|
+
return env.OPENSCOUT_ARP_BIN?.trim() || "arp";
|
|
3309
|
+
}
|
|
3310
|
+
function isUnavailable7(error) {
|
|
3311
|
+
return error instanceof ProbeCommandError && (error.code === "ENOENT" || error.code === "spawn" || error.code === "exit");
|
|
3312
|
+
}
|
|
3313
|
+
async function readArpNeighbors(ctx, env) {
|
|
3314
|
+
try {
|
|
3315
|
+
const { stdout } = await execProbeFile(ctx, arpBin(env), ["-an"], {
|
|
3316
|
+
maxStdoutBytes: 512 * 1024,
|
|
3317
|
+
maxStderrBytes: 32 * 1024
|
|
3318
|
+
});
|
|
3319
|
+
return parseArpTable(stdout);
|
|
3320
|
+
} catch (error) {
|
|
3321
|
+
if (isUnavailable7(error))
|
|
3322
|
+
return [];
|
|
3323
|
+
throw error;
|
|
3324
|
+
}
|
|
3325
|
+
}
|
|
3326
|
+
var DNS_SD_BIN = "/usr/bin/dns-sd";
|
|
3327
|
+
function unescapeDnsSdLabel(value) {
|
|
3328
|
+
return value.replace(/\\(\d{3}|.)/g, (_match, escape) => /^\d{3}$/.test(escape) ? String.fromCharCode(Number.parseInt(escape, 10)) : escape);
|
|
3329
|
+
}
|
|
3330
|
+
function parseDnsSdZoneDump(stdout, serviceType) {
|
|
3331
|
+
const suffix = `.${serviceType.replace(/^_?/, "_")}`;
|
|
3332
|
+
const byInstance = new Map;
|
|
3333
|
+
const advertFor = (rawName) => {
|
|
3334
|
+
if (!rawName.endsWith(suffix))
|
|
3335
|
+
return null;
|
|
3336
|
+
const instanceName = unescapeDnsSdLabel(rawName.slice(0, -suffix.length));
|
|
3337
|
+
if (!instanceName)
|
|
3338
|
+
return null;
|
|
3339
|
+
const existing = byInstance.get(instanceName);
|
|
3340
|
+
if (existing)
|
|
3341
|
+
return existing;
|
|
3342
|
+
const created = {
|
|
3343
|
+
serviceType,
|
|
3344
|
+
instanceName,
|
|
3345
|
+
host: null,
|
|
3346
|
+
addresses: [],
|
|
3347
|
+
port: null,
|
|
3348
|
+
txt: {}
|
|
3349
|
+
};
|
|
3350
|
+
byInstance.set(instanceName, created);
|
|
3351
|
+
return created;
|
|
3352
|
+
};
|
|
3353
|
+
for (const line of stdout.split(`
|
|
3354
|
+
`)) {
|
|
3355
|
+
const match = line.match(/^(\S+)\s+(SRV|TXT)\s+(.*)$/);
|
|
3356
|
+
if (!match)
|
|
3357
|
+
continue;
|
|
3358
|
+
const advert = advertFor(match[1] ?? "");
|
|
3359
|
+
if (!advert)
|
|
3360
|
+
continue;
|
|
3361
|
+
if (match[2] === "SRV") {
|
|
3362
|
+
const parts = (match[3] ?? "").split(";")[0].trim().split(/\s+/);
|
|
3363
|
+
const port = Number.parseInt(parts[2] ?? "", 10);
|
|
3364
|
+
const target = (parts[3] ?? "").replace(/\.$/, "");
|
|
3365
|
+
if (Number.isFinite(port) && port > 0)
|
|
3366
|
+
advert.port = port;
|
|
3367
|
+
if (target)
|
|
3368
|
+
advert.host = target;
|
|
3369
|
+
continue;
|
|
3370
|
+
}
|
|
3371
|
+
for (const pair of (match[3] ?? "").matchAll(/"([^"]*)"/g)) {
|
|
3372
|
+
const entry = pair[1] ?? "";
|
|
3373
|
+
const equals = entry.indexOf("=");
|
|
3374
|
+
if (equals <= 0)
|
|
3375
|
+
continue;
|
|
3376
|
+
advert.txt[entry.slice(0, equals)] = entry.slice(equals + 1);
|
|
3377
|
+
}
|
|
3378
|
+
}
|
|
3379
|
+
return [...byInstance.values()];
|
|
3380
|
+
}
|
|
3381
|
+
function runBoundedBrowse(file, args, windowMs, signal) {
|
|
3382
|
+
return new Promise((resolve4, reject) => {
|
|
3383
|
+
let child;
|
|
3384
|
+
try {
|
|
3385
|
+
child = spawn2(file, [...args], { stdio: ["ignore", "pipe", "ignore"], windowsHide: true });
|
|
3386
|
+
} catch (error) {
|
|
3387
|
+
reject(error);
|
|
3388
|
+
return;
|
|
3389
|
+
}
|
|
3390
|
+
let stdout = "";
|
|
3391
|
+
let settled = false;
|
|
3392
|
+
const finish = () => {
|
|
3393
|
+
if (settled)
|
|
3394
|
+
return;
|
|
3395
|
+
settled = true;
|
|
3396
|
+
clearTimeout(timer);
|
|
3397
|
+
signal?.removeEventListener("abort", finish);
|
|
3398
|
+
if (!child.killed)
|
|
3399
|
+
child.kill("SIGTERM");
|
|
3400
|
+
resolve4(stdout);
|
|
3401
|
+
};
|
|
3402
|
+
const timer = setTimeout(finish, windowMs);
|
|
3403
|
+
signal?.addEventListener("abort", finish, { once: true });
|
|
3404
|
+
child.stdout?.on("data", (chunk) => {
|
|
3405
|
+
stdout = `${stdout}${chunk}`;
|
|
3406
|
+
if (stdout.length > 512 * 1024)
|
|
3407
|
+
finish();
|
|
3408
|
+
});
|
|
3409
|
+
child.once("error", (error) => {
|
|
3410
|
+
if (settled)
|
|
3411
|
+
return;
|
|
3412
|
+
settled = true;
|
|
3413
|
+
clearTimeout(timer);
|
|
3414
|
+
signal?.removeEventListener("abort", finish);
|
|
3415
|
+
reject(error);
|
|
3416
|
+
});
|
|
3417
|
+
child.once("exit", finish);
|
|
3418
|
+
});
|
|
3419
|
+
}
|
|
3420
|
+
async function browseLanServicesViaDnsSd(options = {}) {
|
|
3421
|
+
const serviceTypes = options.serviceTypes ?? MACHINE_LAN_SERVICE_TYPES;
|
|
3422
|
+
const browseMs = options.browseMs ?? DEFAULT_BROWSE_MS;
|
|
3423
|
+
const bin = options.bin ?? DNS_SD_BIN;
|
|
3424
|
+
const dumps = await Promise.all(serviceTypes.map((serviceType) => runBoundedBrowse(bin, ["-Z", serviceType, "local"], browseMs, options.signal).then((stdout) => parseDnsSdZoneDump(stdout, serviceType)).catch(() => [])));
|
|
3425
|
+
return dumps.flat();
|
|
3426
|
+
}
|
|
3427
|
+
function normalizeServiceAdvert(serviceType, advertisement) {
|
|
3428
|
+
const txt = {};
|
|
3429
|
+
for (const [key, value] of Object.entries(advertisement.txt ?? {})) {
|
|
3430
|
+
if (typeof value === "string")
|
|
3431
|
+
txt[key] = value;
|
|
3432
|
+
else if (typeof value === "number" || typeof value === "boolean")
|
|
3433
|
+
txt[key] = String(value);
|
|
3434
|
+
else if (value instanceof Uint8Array)
|
|
3435
|
+
txt[key] = Buffer.from(value).toString("utf8");
|
|
3436
|
+
}
|
|
3437
|
+
const addresses = [];
|
|
3438
|
+
for (const address of advertisement.addresses ?? []) {
|
|
3439
|
+
const normalized = normalizeMachineAddress(address);
|
|
3440
|
+
if (normalized && !normalized.startsWith("fe80:") && !addresses.includes(normalized)) {
|
|
3441
|
+
addresses.push(normalized);
|
|
3442
|
+
}
|
|
3443
|
+
}
|
|
3444
|
+
return {
|
|
3445
|
+
serviceType,
|
|
3446
|
+
instanceName: advertisement.name ?? "",
|
|
3447
|
+
host: advertisement.host ?? null,
|
|
3448
|
+
addresses,
|
|
3449
|
+
port: typeof advertisement.port === "number" ? advertisement.port : null,
|
|
3450
|
+
txt
|
|
3451
|
+
};
|
|
3452
|
+
}
|
|
3453
|
+
function defaultResponderFactory() {
|
|
3454
|
+
const Bonjour = require2("bonjour-service");
|
|
3455
|
+
return new Bonjour;
|
|
3456
|
+
}
|
|
3457
|
+
async function browseLanServices(options = {}) {
|
|
3458
|
+
const serviceTypes = options.serviceTypes ?? MACHINE_LAN_SERVICE_TYPES;
|
|
3459
|
+
const browseMs = options.browseMs ?? DEFAULT_BROWSE_MS;
|
|
3460
|
+
const responder = (options.responderFactory ?? defaultResponderFactory)();
|
|
3461
|
+
const found = new Map;
|
|
3462
|
+
const browsers = [];
|
|
3463
|
+
try {
|
|
3464
|
+
for (const serviceType of serviceTypes) {
|
|
3465
|
+
const parsed = serviceType.match(/^_?([^.]+)\._(tcp|udp)$/);
|
|
3466
|
+
if (!parsed)
|
|
3467
|
+
continue;
|
|
3468
|
+
const browser = responder.find({ type: parsed[1], protocol: parsed[2] }, (advertisement) => {
|
|
3469
|
+
const advert = normalizeServiceAdvert(serviceType, advertisement);
|
|
3470
|
+
const key = `${serviceType}|${advert.instanceName}|${advert.host ?? ""}`;
|
|
3471
|
+
const existing = found.get(key);
|
|
3472
|
+
if (!existing || advert.addresses.length >= existing.addresses.length) {
|
|
3473
|
+
found.set(key, advert);
|
|
3474
|
+
}
|
|
3475
|
+
});
|
|
3476
|
+
browsers.push(browser);
|
|
3477
|
+
}
|
|
3478
|
+
await new Promise((resolve4) => {
|
|
3479
|
+
const timer = setTimeout(finish, browseMs);
|
|
3480
|
+
function finish() {
|
|
3481
|
+
clearTimeout(timer);
|
|
3482
|
+
options.signal?.removeEventListener("abort", finish);
|
|
3483
|
+
resolve4();
|
|
3484
|
+
}
|
|
3485
|
+
options.signal?.addEventListener("abort", finish, { once: true });
|
|
3486
|
+
});
|
|
3487
|
+
} finally {
|
|
3488
|
+
for (const browser of browsers) {
|
|
3489
|
+
try {
|
|
3490
|
+
browser.stop();
|
|
3491
|
+
} catch {}
|
|
3492
|
+
}
|
|
3493
|
+
try {
|
|
3494
|
+
responder.destroy();
|
|
3495
|
+
} catch {}
|
|
3496
|
+
}
|
|
3497
|
+
return [...found.values()].sort((a, b) => a.serviceType.localeCompare(b.serviceType) || a.instanceName.localeCompare(b.instanceName));
|
|
3498
|
+
}
|
|
3499
|
+
function isOff(value) {
|
|
3500
|
+
const raw = (value ?? "").trim().toLowerCase();
|
|
3501
|
+
return raw === "0" || raw === "false" || raw === "off";
|
|
3502
|
+
}
|
|
3503
|
+
function lanScanEnabled(env = process.env) {
|
|
3504
|
+
return !isOff(env.OPENSCOUT_LAN_SCAN_ENABLED);
|
|
3505
|
+
}
|
|
3506
|
+
function lanMdnsBrowseEnabled(env = process.env) {
|
|
3507
|
+
return !isOff(env.OPENSCOUT_MDNS_ENABLED);
|
|
3508
|
+
}
|
|
3509
|
+
function browseLanServicesForPlatform(platform, options = {}) {
|
|
3510
|
+
if (platform === "darwin" && !options.responderFactory) {
|
|
3511
|
+
return browseLanServicesViaDnsSd({
|
|
3512
|
+
...options.serviceTypes ? { serviceTypes: options.serviceTypes } : {},
|
|
3513
|
+
...options.browseMs !== undefined ? { browseMs: options.browseMs } : {},
|
|
3514
|
+
...options.signal ? { signal: options.signal } : {}
|
|
3515
|
+
});
|
|
3516
|
+
}
|
|
3517
|
+
return browseLanServices(options);
|
|
3518
|
+
}
|
|
3519
|
+
async function readLanScan(ctx, env = process.env, responderFactory, platform = process.platform) {
|
|
3520
|
+
if (!lanScanEnabled(env)) {
|
|
3521
|
+
return { ...EMPTY_LAN_SCAN, scannedAt: Date.now() };
|
|
3522
|
+
}
|
|
3523
|
+
const mdnsOn = lanMdnsBrowseEnabled(env);
|
|
3524
|
+
const browseMs = Number.parseInt(env.OPENSCOUT_LAN_SCAN_BROWSE_MS ?? "", 10);
|
|
3525
|
+
const [neighbors, services] = await Promise.all([
|
|
3526
|
+
readArpNeighbors(ctx, env),
|
|
3527
|
+
mdnsOn ? browseLanServicesForPlatform(platform, {
|
|
3528
|
+
browseMs: Number.isFinite(browseMs) && browseMs > 0 ? browseMs : DEFAULT_BROWSE_MS,
|
|
3529
|
+
responderFactory,
|
|
3530
|
+
signal: ctx.signal
|
|
3531
|
+
}).catch(() => []) : Promise.resolve([])
|
|
3532
|
+
]);
|
|
3533
|
+
return {
|
|
3534
|
+
services,
|
|
3535
|
+
neighbors,
|
|
3536
|
+
browsedTypes: mdnsOn ? [...MACHINE_LAN_SERVICE_TYPES] : [],
|
|
3537
|
+
mdnsEnabled: mdnsOn,
|
|
3538
|
+
scannedAt: Date.now()
|
|
3539
|
+
};
|
|
3540
|
+
}
|
|
3541
|
+
var lanScanProbe = defineProbe({
|
|
3542
|
+
id: "lan.scan",
|
|
3543
|
+
ttlMs: LAN_SCAN_TTL_MS,
|
|
3544
|
+
timeoutMs: LAN_SCAN_TIMEOUT_MS,
|
|
3545
|
+
run: (ctx) => readLanScan(ctx)
|
|
3546
|
+
});
|
|
3182
3547
|
// packages/runtime/dist/terminal-environment.js
|
|
3183
3548
|
var INHERITED_CLAUDE_SESSION_ENV_KEYS = [
|
|
3184
3549
|
"CLAUDECODE",
|
|
@@ -3189,6 +3554,23 @@ var INHERITED_CLAUDE_SESSION_ENV_KEYS = [
|
|
|
3189
3554
|
"CLAUDE_CODE_REMOTE_SESSION_ID",
|
|
3190
3555
|
"CLAUDE_PID"
|
|
3191
3556
|
];
|
|
3557
|
+
var INHERITED_MULTIPLEXER_PANE_ENV_KEYS = [
|
|
3558
|
+
"HERDR_ENV",
|
|
3559
|
+
"HERDR_PANE_ID",
|
|
3560
|
+
"HERDR_TAB_ID",
|
|
3561
|
+
"HERDR_WORKSPACE_ID",
|
|
3562
|
+
"HERDR_SOCKET_PATH",
|
|
3563
|
+
"HERDR_STARTUP_CWD",
|
|
3564
|
+
"TMUX",
|
|
3565
|
+
"TMUX_PANE",
|
|
3566
|
+
"ZELLIJ",
|
|
3567
|
+
"ZELLIJ_SESSION_NAME",
|
|
3568
|
+
"ZELLIJ_PANE_ID"
|
|
3569
|
+
];
|
|
3570
|
+
var INHERITED_TERMINAL_IDENTITY_ENV_KEYS = [
|
|
3571
|
+
...INHERITED_CLAUDE_SESSION_ENV_KEYS,
|
|
3572
|
+
...INHERITED_MULTIPLEXER_PANE_ENV_KEYS
|
|
3573
|
+
];
|
|
3192
3574
|
function buildInteractiveTerminalEnvironment(base = process.env, overrides = {}) {
|
|
3193
3575
|
const env = {
|
|
3194
3576
|
...base,
|
|
@@ -3197,7 +3579,7 @@ function buildInteractiveTerminalEnvironment(base = process.env, overrides = {})
|
|
|
3197
3579
|
FORCE_COLOR: overrides.FORCE_COLOR || base.FORCE_COLOR || "1"
|
|
3198
3580
|
};
|
|
3199
3581
|
delete env.NO_COLOR;
|
|
3200
|
-
for (const key of
|
|
3582
|
+
for (const key of INHERITED_TERMINAL_IDENTITY_ENV_KEYS) {
|
|
3201
3583
|
delete env[key];
|
|
3202
3584
|
}
|
|
3203
3585
|
return env;
|
|
@@ -3530,12 +3912,12 @@ function resolveCodexExecutableInventory(env = process.env) {
|
|
|
3530
3912
|
}
|
|
3531
3913
|
|
|
3532
3914
|
// packages/web/server/terminal-relay-session.ts
|
|
3533
|
-
var
|
|
3915
|
+
var require3 = createRequire2(import.meta.url);
|
|
3534
3916
|
var pty = (() => {
|
|
3535
3917
|
try {
|
|
3536
|
-
return
|
|
3918
|
+
return require3("@lydell/node-pty");
|
|
3537
3919
|
} catch {
|
|
3538
|
-
return
|
|
3920
|
+
return require3("node-pty");
|
|
3539
3921
|
}
|
|
3540
3922
|
})();
|
|
3541
3923
|
var DEFAULT_ORPHAN_TTL_MS = 30 * 60 * 1000;
|
|
@@ -4240,8 +4622,8 @@ function markMuxSessionDetached(backend, name, now = Date.now()) {
|
|
|
4240
4622
|
|
|
4241
4623
|
// packages/web/server/terminal-relay-node.ts
|
|
4242
4624
|
process.title = "scout-relay";
|
|
4243
|
-
var
|
|
4244
|
-
var { WebSocketServer } =
|
|
4625
|
+
var require4 = createRequire3(import.meta.url);
|
|
4626
|
+
var { WebSocketServer } = require4("ws");
|
|
4245
4627
|
var hostname = process.env.OPENSCOUT_WEB_TERMINAL_RELAY_HOST?.trim() || "127.0.0.1";
|
|
4246
4628
|
var port = Number.parseInt(process.env.OPENSCOUT_WEB_TERMINAL_RELAY_PORT?.trim() || "3201", 10);
|
|
4247
4629
|
var parentWatchdog = startProcessParentWatchdog(process.env.OPENSCOUT_WEB_RELAY_PARENT_PID);
|