@openscout/scout 0.2.98 → 0.2.102
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/bin/scoutd +0 -0
- package/dist/build-manifest.json +3 -3
- package/dist/client/assets/ActivityScreen-DCALiEXY.js +1 -0
- package/dist/client/assets/{AddProjectForm-fXndbzXT.js → AddProjectForm-DfbjlFfy.js} +1 -1
- package/dist/client/assets/AdventureEvidence-Dzz9VbuE.js +5 -0
- package/dist/client/assets/AdventureReader-ClMxT0e4.js +4 -0
- package/dist/client/assets/AdventureScenery-D548O0x4.js +1 -0
- package/dist/client/assets/AgentAdventures-NwTKeF0F.js +1 -0
- package/dist/client/assets/AgentAvatar-BIwg54Tj.js +1 -0
- package/dist/client/assets/AgentConfigurationScreen-B2Hw0ce1.js +1 -0
- package/dist/client/assets/AgentDefinitionsWorkspace-CwZJ833X.js +1 -0
- package/dist/client/assets/AgentDetailCard-CFDE8TLi.js +1 -0
- package/dist/client/assets/AgentFloorView-l2wNKFob.js +1 -0
- package/dist/client/assets/AgentFloorWorld-BDJmXl3C.js +1 -0
- package/dist/client/assets/AgentInfoScreen-ClZM1wQb.js +1 -0
- package/dist/client/assets/{AgentLaneCard-Cc9uyfBr.js → AgentLaneCard-C6YmwPxQ.js} +1 -1
- package/dist/client/assets/{AgentLaneChrome-Dv2lBFoH.js → AgentLaneChrome-D9uJ4QY7.js} +1 -1
- package/dist/client/assets/{AgentLaneDetailSheet-CGqtqSHQ.js → AgentLaneDetailSheet-KYckCBCX.js} +2 -2
- package/dist/client/assets/{AgentLaneSummaryResize-Di4u6df2.js → AgentLaneSummaryResize-BBYBS3DO.js} +1 -1
- package/dist/client/assets/AgentLanesEmbedScreen-DqHwqY0X.js +1 -0
- package/dist/client/assets/{AgentLanesPreflight-CCGBArIb.js → AgentLanesPreflight-pw2vMO3Q.js} +1 -1
- package/dist/client/assets/AgentLanesView-aAyC7lHf.js +2 -0
- package/dist/client/assets/AgentLiveActions-lYzicnNa.js +1 -0
- package/dist/client/assets/AgentMasterScreen-By6DN0jF.js +1 -0
- package/dist/client/assets/AgentSessions-Cox2zS-e.js +6 -0
- package/dist/client/assets/AgentsConsole-Dq0S_hRA.js +1 -0
- package/dist/client/assets/AgentsScreen-Bi9Lx47B.js +1 -0
- package/dist/client/assets/AgentsSubnav-BOobgtGE.js +1 -0
- package/dist/client/assets/{AstronautSuit-CwB4Dw07.js → AstronautSuit-C-4I5YKi.js} +1 -1
- package/dist/client/assets/AtopView-DKm-ERYC.js +1 -0
- package/dist/client/assets/BackToPicker-Bys9ColC.js +1 -0
- package/dist/client/assets/BriefingDetailScreen-sprFl4Nk.js +1 -0
- package/dist/client/assets/BriefingsScreen-D4Zf31Y6.js +1 -0
- package/dist/client/assets/{BrokerMetadataPanel-BJSwU9XZ.js → BrokerMetadataPanel-1GoSl2BV.js} +1 -1
- package/dist/client/assets/BrokerScreen-CejzhRsB.js +8 -0
- package/dist/client/assets/{CastPicker-CkgTalIt.js → CastPicker-BuwE_JQp.js} +1 -1
- package/dist/client/assets/CharacterFamilyPreview-BniL8sEL.css +1 -0
- package/dist/client/assets/CharacterFamilyPreview-CfO3j8Of.js +1 -0
- package/dist/client/assets/ChatCollapsedStrip-TV0j1xTB.js +1 -0
- package/dist/client/assets/{CodeDiffPane-DfluIWmO.js → CodeDiffPane-DB6-mqtX.js} +1 -1
- package/dist/client/assets/{CodeProjectPicker-By_Wz9ex.js → CodeProjectPicker-B_LNLpIK.js} +1 -1
- package/dist/client/assets/CodeScreen-C9H160XS.js +1 -0
- package/dist/client/assets/CommsCanvas-BR2YS76H.css +1 -0
- package/dist/client/assets/CommsCanvas-DOKw3Q8i.js +1 -0
- package/dist/client/assets/CommsDeck-C18JA7rK.js +1 -0
- package/dist/client/assets/CommsFlowGraph-Czg-KTS0.js +1 -0
- package/dist/client/assets/CommsFlowGraph-vQucylxF.css +1 -0
- package/dist/client/assets/CommsFlowMap-CzBWvSa5.js +1 -0
- package/dist/client/assets/CommsSelection-g1twA-Lb.js +1 -0
- package/dist/client/assets/{ConversationComposer-BUIjWMBi.js → ConversationComposer-B7RU6LKd.js} +1 -1
- package/dist/client/assets/ConversationFeedRows-DVqnZQH0.js +1 -0
- package/dist/client/assets/ConversationHeader-CCSU8uo_.js +1 -0
- package/dist/client/assets/ConversationPanels-C9yCAoJy.js +6 -0
- package/dist/client/assets/ConversationScreen-Brfas2y0.css +1 -0
- package/dist/client/assets/ConversationScreen-tTP6B_F-.js +2 -0
- package/dist/client/assets/ConversationStatus-CK-YfLpi.js +1 -0
- package/dist/client/assets/{CrewAvatar-CZ_faQ_s.js → CrewAvatar-CJhuqTsJ.js} +1 -1
- package/dist/client/assets/CrewSprite-DsQJdu3Z.css +1 -0
- package/dist/client/assets/CrewSprite-hgpA3SWB.js +1 -0
- package/dist/client/assets/CrewWorkspaces-4O8dgRUD.js +1 -0
- package/dist/client/assets/{DataTable-C6aMSilS.js → DataTable-BMOZ1-z8.js} +1 -1
- package/dist/client/assets/DispatchAftermath-DDlwqSCY.js +1 -0
- package/dist/client/assets/DocumentFocusViewer-f12RRQpV.js +1 -0
- package/dist/client/assets/{EmbeddableSurfacesLab-D3iZiS8o.js → EmbeddableSurfacesLab-DGl9EMRV.js} +1 -1
- package/dist/client/assets/{EmptyState-CKPWFSjq.js → EmptyState-uyYN5piI.js} +1 -1
- package/dist/client/assets/{FileViewerPane-CxNbcTYf.js → FileViewerPane-HtiDbj9N.js} +2 -2
- package/dist/client/assets/FlightObserveScreen-DDXfNbsw.js +1 -0
- package/dist/client/assets/FloorContextSheet-DV-SYA0K.js +1 -0
- package/dist/client/assets/FloorExchangePanel-B3TFhjLk.css +1 -0
- package/dist/client/assets/FloorExchangePanel-D59nvRCF.js +1 -0
- package/dist/client/assets/FloorMessagePasses-BCwsz9VS.js +1 -0
- package/dist/client/assets/FloorMessagePasses-nxwwiUom.css +1 -0
- package/dist/client/assets/FloorReplay-BHo79HCD.js +1 -0
- package/dist/client/assets/FloorResourcesSheet-Djrgd_ZU.js +1 -0
- package/dist/client/assets/FloorSavedWork-2tjBoy06.js +1 -0
- package/dist/client/assets/FloorTacticalHUD-Bngao6sn.js +1 -0
- package/dist/client/assets/FollowScreen-eHXOlK-u.js +1 -0
- package/dist/client/assets/{HarnessMark-DttReffF.js → HarnessMark-Bt47OeHy.js} +1 -1
- package/dist/client/assets/HarnessesScreen-M84sFjWY.js +1 -0
- package/dist/client/assets/{HerdrSession-DsuxCtfX.js → HerdrSession-CtJOUn7H.js} +3 -3
- package/dist/client/assets/{HomeHero-DXJo2QSO.js → HomeHero-Cvwx2H0w.js} +1 -1
- package/dist/client/assets/HostAdvisorView-CTJXIc1Q.js +1 -0
- package/dist/client/assets/KnowledgeSearchInspector-DwGMVmFL.js +1 -0
- package/dist/client/assets/KnowledgeSearchScreen-WC0WhFio.js +1 -0
- package/dist/client/assets/{LaneToolHoverCard-t7-XJP-h.js → LaneToolHoverCard-C6YehJqD.js} +1 -1
- package/dist/client/assets/LaneTraceDetailSheet-mAhj7MJi.js +1 -0
- package/dist/client/assets/{LaneTraceEventFocus-BB5DhFQm.js → LaneTraceEventFocus-WLNZZVi_.js} +1 -1
- package/dist/client/assets/MeshCanvas-FDDGE69h.js +3 -0
- package/dist/client/assets/MeshCanvasMinimap-CGRzQCac.js +1 -0
- package/dist/client/assets/MeshScreen-DlfiMlaR.js +1 -0
- package/dist/client/assets/{MeshTopologyView-Dc0GSrKa.js → MeshTopologyView-C2Cv_2gx.js} +2 -2
- package/dist/client/assets/MessagesScreen-BZ7yaGJx.js +1 -0
- package/dist/client/assets/MissionContextRail-CVSZJnvX.js +1 -0
- package/dist/client/assets/MissionControlView-DpGhxG4a.js +1 -0
- package/dist/client/assets/MissionFocusOverlay-B9SiuO-i.js +1 -0
- package/dist/client/assets/MissionLeftAgentRow-DhhRRim0.js +1 -0
- package/dist/client/assets/MissionLogPane-CMBiI29U.js +1 -0
- package/dist/client/assets/NativeAreaScreen-BQyHHRAM.js +1 -0
- package/dist/client/assets/NativeAreaScreen-Ditv-TYW.js +1 -0
- package/dist/client/assets/NativeAreaScreen-Dq3uPSEI.js +1 -0
- package/dist/client/assets/NewAgentModal-Cl4nsGhu.js +1 -0
- package/dist/client/assets/NewChatComposer-JjLbm3W2.js +19 -0
- package/dist/client/assets/{NewChatOrigin-DCn5cWPZ.js → NewChatOrigin-CyPPWTJP.js} +1 -1
- package/dist/client/assets/NodeDetailPanel-BUG8rOb-.js +1 -0
- package/dist/client/assets/NodeMenu-Fw8ATWQA.js +1 -0
- package/dist/client/assets/ObserveEmbedScreen-BPiSXXvm.js +2 -0
- package/dist/client/assets/{ObserveTextFlow-DCJ5EmD8.js → ObserveTextFlow-ET0dD1wO.js} +2 -2
- package/dist/client/assets/{ObservedTopologyPanel-CJVqIqQ2.js → ObservedTopologyPanel-DkEkQzo-.js} +1 -1
- package/dist/client/assets/OpenScoutAppShell-CzKbjwCA.js +22 -0
- package/dist/client/assets/OpsAgentsView-CZbtkcQH.js +1 -0
- package/dist/client/assets/OpsScreen-DJq-aBmX.js +1 -0
- package/dist/client/assets/OpsSubnav-9sURjajO.js +1 -0
- package/dist/client/assets/ProjectAgentProfile-q_1tMJIL.js +1 -0
- package/dist/client/assets/{ProjectAgentProfileBar-CUzZ4Rpx.js → ProjectAgentProfileBar-C1fR65Eh.js} +1 -1
- package/dist/client/assets/ProjectAgentProfileHero-DyEFyTFs.js +1 -0
- package/dist/client/assets/ProjectsInbox-Bs8I__my.js +2 -0
- package/dist/client/assets/ProjectsRail-Deb38OJ1.js +1 -0
- package/dist/client/assets/ProjectsScreen-CgLiYiss.js +1 -0
- package/dist/client/assets/ProjectsThreadAside-C0Yw3yIL.js +1 -0
- package/dist/client/assets/Provider-5Hotn7NQ.js +5 -0
- package/dist/client/assets/{RailRow-B0sRaJc6.css → RailRow-B25zKEub.css} +1 -1
- package/dist/client/assets/RailRow-BYguXNm4.js +1 -0
- package/dist/client/assets/RawSessionsTable-DIhmlvk-.js +1 -0
- package/dist/client/assets/RealtimeVoiceScreen-3oU7b7V5.js +1 -0
- package/dist/client/assets/RenderedWorkerSprite-CvdWO32C.js +1 -0
- package/dist/client/assets/RenderedWorkerSprite-qnTfkd_4.css +1 -0
- package/dist/client/assets/ReplayClock-B7JLTp8A.js +1 -0
- package/dist/client/assets/ReplayLog-DZTpf2CW.js +1 -0
- package/dist/client/assets/ReplayOutpost-CvWQa30T.js +1 -0
- package/dist/client/assets/ReplayOutpost-Y1DvZgeu.css +1 -0
- package/dist/client/assets/{RepoDiffEmbedScreen-mexrJPhW.js → RepoDiffEmbedScreen-Cbu0_PJW.js} +1 -1
- package/dist/client/assets/{RepoDiffPageScreen-DbqX4L3q.js → RepoDiffPageScreen-Chwm6GXL.js} +1 -1
- package/dist/client/assets/RepoDiffViewer-C2mb0Wj-.js +7 -0
- package/dist/client/assets/RepoDiffViewerLazy-BQ6ZCrsq.js +2 -0
- package/dist/client/assets/{ReposScreen-CzbO1Fuy.js → ReposScreen-C7JZQmyh.js} +2 -2
- package/dist/client/assets/RiggedWorkerCharacter-BpYECnyK.css +1 -0
- package/dist/client/assets/RiggedWorkerCharacter-DNe731GE.js +1 -0
- package/dist/client/assets/SageModelStudio-768dRQr4.css +1 -0
- package/dist/client/assets/SageModelStudio-BR1J2D4R.js +4108 -0
- package/dist/client/assets/ScoutDeckSurface-flRamdvE.js +1 -0
- package/dist/client/assets/{ScoutSurface-NlhDsPzg.js → ScoutSurface-BpklGmDL.js} +1 -1
- package/dist/client/assets/{ScoutbotFxLab-l2WAahCg.js → ScoutbotFxLab-DeK7ySWZ.js} +1 -1
- package/dist/client/assets/{SecondaryNav-Cs0_FQdj.js → SecondaryNav-BkTn5tkq.js} +1 -1
- package/dist/client/assets/SessionEmbedScreen-CcQN6xlo.js +1 -0
- package/dist/client/assets/{SessionObserve-CLrHfAKZ.css → SessionObserve-BOBJSfs0.css} +1 -1
- package/dist/client/assets/SessionObserve-DaqDhqDI.js +12 -0
- package/dist/client/assets/SessionObserveEvidence-Drv-D8Oh.js +1 -0
- package/dist/client/assets/SessionRefScreen-BOQ1_ydg.js +1 -0
- package/dist/client/assets/SessionsScreen-R8QKvoey.js +1 -0
- package/dist/client/assets/SettingsDrawer-BDapR4E9.js +3 -0
- package/dist/client/assets/SettingsScreen-DirtO7Z0.js +1 -0
- package/dist/client/assets/SharedFloorCharacter-Bi5_md4R.css +1 -0
- package/dist/client/assets/SharedFloorCharacter-CSYG_t9t.js +1 -0
- package/dist/client/assets/SharedWorkFloor-BCmdeb3Q.css +1 -0
- package/dist/client/assets/SharedWorkFloor-yPWFLZwX.js +2 -0
- package/dist/client/assets/{ShikiPane-C0TuCATU.js → ShikiPane-BudrOxNK.js} +1 -1
- package/dist/client/assets/{SlidePanel-CETQ5NTx.js → SlidePanel-Datu7XG4.js} +1 -1
- package/dist/client/assets/SpriteAvatar-BW1JzkDt.js +1 -0
- package/dist/client/assets/SproutActionSprite-DveCzg6l.js +1 -0
- package/dist/client/assets/{StatusPill-BllrY-eg.js → StatusPill-MxYClPG5.js} +1 -1
- package/dist/client/assets/{TailView-_gKWfaQM.js → TailView-Dn7uWmPz.js} +2 -2
- package/dist/client/assets/Terminal-D-DsQlmV.js +4 -0
- package/dist/client/assets/TerminalEmbedScreen-9Gmln759.js +1 -0
- package/dist/client/assets/TerminalHeaderMount-DCGstkZ4.js +1 -0
- package/dist/client/assets/{TextDocumentSurface-2X1Gw4eA.js → TextDocumentSurface-BhYvAB0o.js} +1 -1
- package/dist/client/assets/{TmuxPeek-CqTJRhkI.js → TmuxPeek-BhK0V9Qt.js} +1 -1
- package/dist/client/assets/{VoicePermissionsPanel-C4vkU-sU.js → VoicePermissionsPanel-CecFWzva.js} +1 -1
- package/dist/client/assets/{WorkDetailScreen-DqGnuK0e.js → WorkDetailScreen-CwtRCm_-.js} +4 -4
- package/dist/client/assets/WorkFilesViewer-DJHftsH9.js +1 -0
- package/dist/client/assets/WorkRunView-CxwAZ2QQ.css +1 -0
- package/dist/client/assets/WorkRunView-x5PH1byG.js +1 -0
- package/dist/client/assets/WorldActorTalk-uIH2jGqA.js +1 -0
- package/dist/client/assets/WorldCharacter-Dn4sIXNP.js +1 -0
- package/dist/client/assets/WorldMinimap-Blqg0d5r.js +1 -0
- package/dist/client/assets/WorldSky-DV9bpvXj.js +1 -0
- package/dist/client/assets/{activity-CzTJ-YMX.js → activity-CSUhvjD0.js} +1 -1
- package/dist/client/assets/{addon-fit-Zx3A7pGS.js → addon-fit-MR98IWES.js} +1 -1
- package/dist/client/assets/{addon-webgl-DitJj-N0.js → addon-webgl-CIIKXrvK.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-CeHQpuG9.js +10 -0
- package/dist/client/assets/{agent-essentials-K9B6kbTS.js → agent-essentials-8t2il7PV.js} +1 -1
- package/dist/client/assets/{agent-floor-CuJr1iK1.css → agent-floor-Dmr9hZHL.css} +1 -1
- package/dist/client/assets/agent-floor-actor-3v9drnxh.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-l0stnU9N.js +1 -0
- package/dist/client/assets/{agent-lane-detail-ppJId6Jc.js → agent-lane-detail-Db7KyAlf.js} +1 -1
- package/dist/client/assets/{agent-lane-preview-BhplDYGf.js → agent-lane-preview-B8lsQJOQ.js} +1 -1
- package/dist/client/assets/{agent-lanes-DlqcEf0l.css → agent-lanes-DmgipV9D.css} +1 -1
- package/dist/client/assets/agent-lanes-model-CX0wTcnF.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-CiVxQsFT.js} +1 -1
- package/dist/client/assets/agent-state-DDhnFEEP.js +1 -0
- package/dist/client/assets/{api-HFH8wFyb.js → api-B9_IqFKY.js} +1 -1
- package/dist/client/assets/api-CaROe5_H.js +1 -0
- package/dist/client/assets/{arc.es-BNXJqSw7.js → arc.es-BzhWalCl.js} +1 -1
- package/dist/client/assets/{arrow-down-BAGkhHA6.js → arrow-down-WoVlkUmg.js} +1 -1
- package/dist/client/assets/{arrow-left-eToA6GxC.js → arrow-left-PuKdO3NM.js} +1 -1
- package/dist/client/assets/{arrow-right-DTX42clh.js → arrow-right-ldbfp4SZ.js} +1 -1
- package/dist/client/assets/{arrow-up-right-B09GPwFl.js → arrow-up-right-Hn754ybA.js} +1 -1
- package/dist/client/assets/book-open-BlJnpf2U.js +1 -0
- package/dist/client/assets/{bot-WxKXYtEX.js → bot-CfN9PSBF.js} +1 -1
- package/dist/client/assets/broker-display-BkBzyvbR.js +2 -0
- package/dist/client/assets/{cache-CeWH_KzJ.js → cache-DEy9E34b.js} +1 -1
- package/dist/client/assets/{check-Dz2SRHft.js → check-B8dMv3Is.js} +1 -1
- package/dist/client/assets/{chevron-down-D120PY4g.js → chevron-down-B5eMsn5c.js} +1 -1
- package/dist/client/assets/{chevron-right-CowuvuE6.js → chevron-right-C7UGFpkl.js} +1 -1
- package/dist/client/assets/chevron-up-BHOEgHcn.js +1 -0
- package/dist/client/assets/{chunk-HRAB3GC3-KjjrTLCU.js → chunk-HRAB3GC3-C5X-kFhb.js} +1 -1
- package/dist/client/assets/chunk-JTPDIGGW-ZC-98AHT.js +46 -0
- package/dist/client/assets/{chunk-T65CQEWV-H2QEKfr1.js → chunk-T65CQEWV-CSVUz2rY.js} +1 -1
- package/dist/client/assets/chunk-YOZR3KYS-B59jqwO0.js +2 -0
- package/dist/client/assets/{clock-_9FDplIT.js → clock-DFcRbtrl.js} +1 -1
- package/dist/client/assets/{code-xml-CkkNdRmu.js → code-xml-BmyLM0I2.js} +1 -1
- package/dist/client/assets/coffee-C_D9zooM.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-DTZdCpv9.js} +1 -1
- package/dist/client/assets/content-B5Q4pb9R.js +1 -0
- package/dist/client/assets/content-BK1IfOZs.js +1 -0
- package/dist/client/assets/content-BeEsWLEm.js +1 -0
- package/dist/client/assets/content-BkOwEknW.js +1 -0
- package/dist/client/assets/content-C32W5kAG.js +1 -0
- package/dist/client/assets/content-CoqyLs9v.js +1 -0
- package/dist/client/assets/content-CwpdIS5b.js +1 -0
- package/dist/client/assets/content-DS2OkJ3Q.js +1 -0
- package/dist/client/assets/content-DXKaPDfn.js +1 -0
- package/dist/client/assets/content-DZt5-dkI.js +1 -0
- package/dist/client/assets/content-DbQJH8L1.js +1 -0
- package/dist/client/assets/content-DetoiaHq.js +1 -0
- package/dist/client/assets/content-Dhu3wL7J.js +1 -0
- package/dist/client/assets/content-Dpv34iZu.js +1 -0
- package/dist/client/assets/content-TtQJb61D.js +1 -0
- package/dist/client/assets/content-ymNb2R7g.js +1 -0
- package/dist/client/assets/{context-budget-DqxWzalx.js → context-budget-DemtXu7E.js} +1 -1
- package/dist/client/assets/{conversation-icons-DHGc9wbT.js → conversation-icons-BQ4OeOmr.js} +1 -1
- package/dist/client/assets/conversation-model-BGFHoxQ0.js +1 -0
- package/dist/client/assets/conversation-motion-features-9x8uZpwh.js +1 -0
- package/dist/client/assets/conversations-Cbg9h_Af.js +1 -0
- package/dist/client/assets/{copy-BzdzWsQd.js → copy-D9WUpQRf.js} +1 -1
- package/dist/client/assets/{cpu-CHFIGw87.js → cpu-Ck_4tB_-.js} +1 -1
- package/dist/client/assets/{createLucideIcon-Dv8H8m7J.js → createLucideIcon-DkjnzvcJ.js} +1 -1
- package/dist/client/assets/{credentials-BTce3VP1.js → credentials-C4VXz2hr.js} +1 -1
- package/dist/client/assets/discover-C8IOY7_K.js +2 -0
- package/dist/client/assets/embed-entry-CG3CfCbm.js +2 -0
- package/dist/client/assets/embed-navigation-DayfkQau.js +1 -0
- package/dist/client/assets/{external-link-BvX5PfLh.js → external-link-RT4Ph-6-.js} +1 -1
- package/dist/client/assets/{eye-C9cGk5z6.js → eye-CtqSV8BS.js} +1 -1
- package/dist/client/assets/{file-code-corner-jlGFdr8d.js → file-code-corner-D_Aptal2.js} +1 -1
- package/dist/client/assets/{file-text-BHro8MkG.js → file-text-ChtICwub.js} +1 -1
- package/dist/client/assets/flag-CqdOxVkI.js +1 -0
- package/dist/client/assets/floor-character-name-CqJPOlXb.js +1 -0
- package/dist/client/assets/floor-context-model-DZBpo_oD.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-CJh9f8Jp.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-0fWevPvQ.js +1 -0
- package/dist/client/assets/{gauge-DSflSery.js → gauge-Dgtfxf_o.js} +1 -1
- package/dist/client/assets/{gestures-YA5IIwp-.js → gestures-BDCZ1FRG.js} +1 -1
- package/dist/client/assets/{git-branch-Bc_eDIpG.js → git-branch-CA3cHKCI.js} +1 -1
- package/dist/client/assets/go-shortcuts-DKtw4qYx.js +1 -0
- package/dist/client/assets/home-moving-signal-B7m-ngb2.js +1 -0
- package/dist/client/assets/home-now-card-DduXkHRR.js +1 -0
- package/dist/client/assets/{home-now-card-nano-Jmy7eJ6H.js → home-now-card-nano-D1ScGrgv.js} +1 -1
- package/dist/client/assets/hooks-C6VyQTQe.js +2 -0
- package/dist/client/assets/{hooks-D6NI15f6.css → hooks-D787lBmm.css} +1 -1
- package/dist/client/assets/index-C5cX8dkl.js +1 -0
- package/dist/client/assets/{index-C1VaWNuD.js → index-C8uS5szO.js} +5 -5
- package/dist/client/assets/index-Ck1__1yL.css +1 -0
- package/dist/client/assets/index-ClOOrVG1.js +1 -0
- package/dist/client/assets/index-Crtgfc9I.js +1 -0
- package/dist/client/assets/index-CvsM3jm8.js +1 -0
- package/dist/client/assets/{inspector-panel-CwrHjRaQ.js → inspector-panel-BLhDODb3.js} +2 -2
- package/dist/client/assets/{keyboard-nav-B8sQ_8IF.js → keyboard-nav-CXfav14z.js} +1 -1
- package/dist/client/assets/knowledge-search-BNdQweGz.css +1 -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-BD21P8BB.js} +2 -2
- package/dist/client/assets/lane-roster-store-DzNHP392.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-Bolb8ejU.js} +1 -1
- package/dist/client/assets/{layout-grid-BoVnPOk-.js → layout-grid-DI9tVJ2E.js} +1 -1
- package/dist/client/assets/left-B-_z_nqj.js +2 -0
- package/dist/client/assets/left-B1LY7rJc.js +1 -0
- package/dist/client/assets/{left-DH44V4I_.css → left-BV9yMiTL.css} +1 -1
- package/dist/client/assets/left-C6bdjWcG.js +2 -0
- package/dist/client/assets/left-CF4iuqlz.js +1 -0
- package/dist/client/assets/left-DLtNyZl1.js +1 -0
- package/dist/client/assets/left-Fpxoq-VY.js +1 -0
- package/dist/client/assets/left-N2wXfTlp.js +1 -0
- package/dist/client/assets/left-advisor-CeIjCKbd.js +1 -0
- package/dist/client/assets/left-agents-upjHVlOj.js +1 -0
- package/dist/client/assets/left-default-08gmdCtb.js +1 -0
- package/dist/client/assets/left-lanes-Cvsp73Hw.js +1 -0
- package/dist/client/assets/left-mission-DENnfshd.css +1 -0
- package/dist/client/assets/left-mission-W1LLaz74.js +1 -0
- package/dist/client/assets/library-DLKBVUJ6.js +1 -0
- package/dist/client/assets/{loader-circle-DmUG_YC7.js → loader-circle-DurUYl7E.js} +1 -1
- package/dist/client/assets/{local-agents-VP1-ZlPw.js → local-agents-D9fYYRyj.js} +1 -1
- package/dist/client/assets/machine-children-RGS4Q0r6.js +1 -0
- package/dist/client/assets/machine-scope-DJt9RZ2w.js +1 -0
- package/dist/client/assets/mentions-Ctw1ECUC.js +1 -0
- package/dist/client/assets/{mesh-ops-CKSWgax2.js → mesh-ops-CGpRk4ik.js} +1 -1
- package/dist/client/assets/{mesh-screen-D1Yvo8fU.css → mesh-screen-DjA4mOaN.css} +1 -1
- package/dist/client/assets/mesh-view-store-CliSYsmt.js +1 -0
- package/dist/client/assets/{message-circle-joGFxfj1.js → message-circle-CSiJj6yo.js} +1 -1
- package/dist/client/assets/{message-markup-DC0QFEZn.js → message-markup-DgFSyb3f.js} +1 -1
- package/dist/client/assets/{message-square-BLiFqpe_.js → message-square-NmXWtWLR.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-DZ29Mlj1.js +1 -0
- package/dist/client/assets/{mission-wall-CocIM1cF.js → mission-wall-DOuGOxQy.js} +1 -1
- package/dist/client/assets/nav-destinations-CyXnw9kh.js +1 -0
- package/dist/client/assets/observe-CkfOxYx_.js +1 -0
- package/dist/client/assets/{operator-attention-RqieiSY8.js → operator-attention-DGR4kOog.js} +1 -1
- package/dist/client/assets/ops-screen-CxYM0VOW.css +1 -0
- package/dist/client/assets/page-status-CkS3SZu-.js +1 -0
- package/dist/client/assets/panel-right-BNTJhy8M.js +1 -0
- package/dist/client/assets/pause-DWS7YGQ3.js +1 -0
- package/dist/client/assets/{persistent-state-BubPQ7tT.js → persistent-state-xsuk6Kc-.js} +1 -1
- package/dist/client/assets/pin-DWlD1BOF.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-D_Pggug4.js +1 -0
- package/dist/client/assets/{plus-BWKhylds.js → plus-D_wLGJGT.js} +1 -1
- package/dist/client/assets/profile-C3KgiZvc.js +1 -0
- package/dist/client/assets/{projects-inbox-DFbgVlXL.js → projects-inbox-DvbqJO3q.js} +1 -1
- package/dist/client/assets/{proxy-DVDRhSRR.js → proxy-DOG46ja4.js} +1 -1
- package/dist/client/assets/{radio-CxIXS1nU.js → radio-C_jtwbFP.js} +1 -1
- package/dist/client/assets/{refresh-cw-Bkh7Cvnd.js → refresh-cw-Da9DDLk2.js} +1 -1
- package/dist/client/assets/resolve-panes-DuowGRTk.js +1 -0
- package/dist/client/assets/resolve-sidebar-context-BkTbqteq.js +1 -0
- package/dist/client/assets/right-B9OUA6Ho.js +1 -0
- package/dist/client/assets/right-BDQnjetX.js +1 -0
- package/dist/client/assets/{right-DVUq5374.js → right-BLJsc2-p.js} +2 -2
- package/dist/client/assets/right-BUbKHmRH.js +1 -0
- package/dist/client/assets/right-Ci2IcD4s.js +1 -0
- package/dist/client/assets/right-CmCce3e5.js +1 -0
- package/dist/client/assets/right-D7w0zM5a.js +1 -0
- package/dist/client/assets/right-DIoON_bv.js +1 -0
- package/dist/client/assets/right-E0Jr3VN5.js +1 -0
- package/dist/client/assets/right-lCdAk9dW.js +1 -0
- package/dist/client/assets/{rocket-CnxqjX_K.js → rocket-DyrYDo8V.js} +1 -1
- package/dist/client/assets/router-BKiMcYa7.js +1 -0
- package/dist/client/assets/{runtime-picker-BYAFNLNq.css → runtime-picker-C3JwrDKP.css} +1 -1
- package/dist/client/assets/runtime-picker-DdsttHHc.js +1 -0
- package/dist/client/assets/{scope-views-KPY85UUx.js → scope-views-B7PZGlhY.js} +1 -1
- package/dist/client/assets/scout-voice-DOQ_B77g.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-Bz0Vbto2.js} +1 -1
- package/dist/client/assets/{scroll-text-DFcBYy5J.js → scroll-text-DwC8r2g6.js} +1 -1
- package/dist/client/assets/{search-FB2vVxCp.js → search-C4VlW_0l.js} +1 -1
- package/dist/client/assets/secondaryNavConfig-DAXIFtVd.js +1 -0
- package/dist/client/assets/{selection-bridge-qBGFCJv8.js → selection-bridge-B5jqyMR9.js} +1 -1
- package/dist/client/assets/{send-horizontal-CS7mxVhX.js → send-horizontal-pOtGI7FM.js} +1 -1
- package/dist/client/assets/send-to-agent-session-BZGq_ycy.js +1 -0
- package/dist/client/assets/{server-WY6gsbZz.js → server-ms1yxUYJ.js} +1 -1
- package/dist/client/assets/{session-catalog-CG4oL_yN.js → session-catalog-s-T_w41t.js} +1 -1
- package/dist/client/assets/{session-table-uJh3v-ly.js → session-table-CDx_16xf.js} +1 -1
- package/dist/client/assets/sessions-view-DzYGsKWS.js +1 -0
- package/dist/client/assets/{settings-DQEtqkM9.js → settings-TJIkkZ0P.js} +1 -1
- package/dist/client/assets/shared-work-artifacts-4IIQXQfc.js +1 -0
- package/dist/client/assets/{sliders-horizontal-57e99_qO.js → sliders-horizontal-CHf3ntw0.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-BbOFw3d0.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-v5QLsOHV.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-DQ46QBW1.js} +1 -1
- package/dist/client/assets/{terminal-UDy4lzV1.js → terminal-96JWDYDL.js} +1 -1
- package/dist/client/assets/{terminal-relay-CXHMdain.js → terminal-relay-Bfx8pg80.js} +1 -1
- package/dist/client/assets/terminal-screen-Bpb2SZrn.css +1 -0
- package/dist/client/assets/{terminal-sessions-Bdt2W3Y4.js → terminal-sessions-Ch9aYlgi.js} +1 -1
- package/dist/client/assets/{terminal-takeover-BMeBjBB2.js → terminal-takeover-BlpxpvSp.js} +1 -1
- package/dist/client/assets/use-beside-Df-F2Uvg.js +1 -0
- package/dist/client/assets/use-conversation-list-A_YUf8lo.js +1 -0
- package/dist/client/assets/{use-fleet-active-asks-CCGrll5q.js → use-fleet-active-asks-DFs_u-vM.js} +1 -1
- package/dist/client/assets/use-mesh-node-state-Ck9CYplv.js +1 -0
- package/dist/client/assets/{use-mesh-ops-items-BjyeFJTz.js → use-mesh-ops-items-Be1WmwCg.js} +1 -1
- package/dist/client/assets/{use-reduced-motion-CPoX8iV2.js → use-reduced-motion-D7n3vK8t.js} +1 -1
- package/dist/client/assets/use-scout-dev-flags-0TXfQcG0.js +1 -0
- package/dist/client/assets/{useAgentHoverCard-BgTLNcF-.js → useAgentHoverCard-Dr-OjNFF.js} +1 -1
- package/dist/client/assets/useContentSecondaryNav-CGvMOVGY.js +1 -0
- package/dist/client/assets/{useEmbedHeadline-DuUnwTB7.js → useEmbedHeadline-BL8wQawZ.js} +1 -1
- package/dist/client/assets/{usePierreRuntime-35AHf9RQ.js → usePierreRuntime-DJkRHMoe.js} +1 -1
- 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-BsMTSeji.js} +1 -1
- package/dist/client/assets/{x-DgmmnPKt.js → x-DI1ktCYb.js} +1 -1
- package/dist/client/assets/{xterm-DnJJmrCA.js → xterm-B1YBE4Gq.js} +1 -1
- package/dist/client/assets/{zap-Bcja1lHG.js → zap-sKPkh4sQ.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 +2 -2
- package/dist/drizzle/0017_wise_silver_sable.sql +26 -0
- package/dist/drizzle/0018_message_epoch_order.sql +1 -0
- package/dist/drizzle/meta/0017_snapshot.json +6785 -0
- package/dist/drizzle/meta/0018_snapshot.json +6804 -0
- package/dist/drizzle/meta/_journal.json +14 -0
- package/dist/main.mjs +26906 -24284
- package/dist/node/main.mjs +7077 -6284
- package/dist/openscout-terminal-relay.mjs +391 -9
- package/dist/pairing-runtime-controller.mjs +35541 -34446
- package/dist/runtime/base-daemon.mjs +31 -8
- package/dist/runtime/broker-daemon.mjs +7864 -2578
- package/dist/runtime/broker-process-manager.mjs +15 -3
- package/dist/runtime/mesh-discover.mjs +14 -3
- package/dist/scout-control-plane-web.mjs +37053 -33186
- package/dist/statusline.mjs +1021 -35
- package/dist/update-helper.mjs +32169 -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/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/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/broker-display-Q75fupqG.js +0 -2
- package/dist/client/assets/chunk-JTPDIGGW-COJ00z94.js +0 -46
- 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-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-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/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/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);
|