@openscout/scout 0.2.79 → 0.2.80
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/bin/scoutd +0 -0
- package/dist/build-manifest.json +3 -3
- package/dist/client/assets/ActivityScreen-BXm6nJ6L.js +1 -0
- package/dist/client/assets/{AddProjectForm-BoVtelSP.js → AddProjectForm-CtEiLQnm.js} +1 -1
- package/dist/client/assets/{AgentAvatar-CufDA4A-.js → AgentAvatar-CszU5eaU.js} +1 -1
- package/dist/client/assets/AgentConfigurationScreen-CfBXxrsD.js +1 -0
- package/dist/client/assets/AgentDefinitionsWorkspace-4Z0aN8AR.js +1 -0
- package/dist/client/assets/{AgentDetailCard-DxxVkgT1.js → AgentDetailCard-sZuHl1de.js} +1 -1
- package/dist/client/assets/AgentFloorView-DMivAYHU.js +1 -0
- package/dist/client/assets/AgentInfoScreen-CPkLg1pK.js +1 -0
- package/dist/client/assets/{AgentLaneCard-DTUvE96I.js → AgentLaneCard-nB68f2CI.js} +1 -1
- package/dist/client/assets/{AgentLaneChrome-BfVygkgL.js → AgentLaneChrome-O9Yf0uR-.js} +1 -1
- package/dist/client/assets/AgentLaneDetailSheet-BfhpaEQ3.js +4 -0
- package/dist/client/assets/{AgentLaneSummaryResize-CMgzYvAA.js → AgentLaneSummaryResize-Ct3b0TQR.js} +1 -1
- package/dist/client/assets/AgentLanesEmbedScreen-CjHMvy3v.js +1 -0
- package/dist/client/assets/{AgentLanesPreflight-KWfLcaNB.js → AgentLanesPreflight-DNGvZvjd.js} +1 -1
- package/dist/client/assets/{AgentLanesView-CxfbV8Kd.js → AgentLanesView-DqRK5-d2.js} +1 -1
- package/dist/client/assets/{AgentLiveActions-CZdAInEu.js → AgentLiveActions-DI4ooSHW.js} +1 -1
- package/dist/client/assets/{AgentSessions-Bkr0lyry.js → AgentSessions-BxWIPkWh.js} +1 -1
- package/dist/client/assets/{AgentsConsole-WtFVqaPJ.js → AgentsConsole-D6VHSCfZ.js} +1 -1
- package/dist/client/assets/AgentsScreen-zR6b2bUL.js +1 -0
- package/dist/client/assets/AgentsSubnav-q0xcZi6C.js +1 -0
- package/dist/client/assets/{AtopView-_OKDlZ1h.js → AtopView-VZkk40v0.js} +1 -1
- package/dist/client/assets/{BackToPicker-CkUmHuuo.js → BackToPicker-DZg_4nHL.js} +1 -1
- package/dist/client/assets/{BriefingDetailScreen-i54EtZKW.js → BriefingDetailScreen-BZU4qMwE.js} +1 -1
- package/dist/client/assets/{BriefingsScreen-CBrHojlQ.js → BriefingsScreen-Bfc3tqPp.js} +1 -1
- package/dist/client/assets/{BrokerMetadataPanel-opTLuZU6.js → BrokerMetadataPanel-CaFe6kdh.js} +1 -1
- package/dist/client/assets/BrokerScreen-Chh8sGen.js +5 -0
- package/dist/client/assets/{ChatCollapsedStrip-Dr2vmKXQ.js → ChatCollapsedStrip-Cov54p9V.js} +1 -1
- package/dist/client/assets/{CodeDiffPane-CLOGjwul.js → CodeDiffPane-C1ebFt-Y.js} +1 -1
- package/dist/client/assets/{CodeProjectPicker-DTV8hR6A.js → CodeProjectPicker-tsCly-f3.js} +1 -1
- package/dist/client/assets/CodeScreen-D0hpZNLP.js +1 -0
- package/dist/client/assets/{ContextMenu-BlBQhpax.js → ContextMenu-N-Z6X0Z1.js} +1 -1
- package/dist/client/assets/ConversationComposer-CiEF7dhd.js +1 -0
- package/dist/client/assets/ConversationFeedRows-5it6QNBV.js +1 -0
- package/dist/client/assets/ConversationHeader-BGgbITvr.js +1 -0
- package/dist/client/assets/ConversationPanels-vI9YuQJh.js +2 -0
- package/dist/client/assets/ConversationScreen-C-PrCRz1.js +1 -0
- package/dist/client/assets/ConversationScreen-yIKEsm-8.css +1 -0
- package/dist/client/assets/{ConversationStatus-DSgdVofa.js → ConversationStatus-COEj5loj.js} +1 -1
- package/dist/client/assets/{DataTable-0DwuXyvW.js → DataTable-BoofV-_4.js} +1 -1
- package/dist/client/assets/{DispatchAftermath-BrreQifA.js → DispatchAftermath-OXYlMbT1.js} +1 -1
- package/dist/client/assets/{DocumentFocusViewer-DU_9BHsD.js → DocumentFocusViewer-BCG2kOmd.js} +1 -1
- package/dist/client/assets/{EmbeddableSurfacesLab-DdaswbfI.js → EmbeddableSurfacesLab-C2SZvrHJ.js} +1 -1
- package/dist/client/assets/{EmptyState-CoL-QuUO.js → EmptyState-DypEjx0V.js} +1 -1
- package/dist/client/assets/{FileViewerPane-C9Ly01Ef.js → FileViewerPane-CXCq-oKj.js} +1 -1
- package/dist/client/assets/{FleetSearch-DlWTLl-v.js → FleetSearch-Dj7-CfNi.js} +1 -1
- package/dist/client/assets/FlightObserveScreen-Yq5NtQQJ.js +1 -0
- package/dist/client/assets/FollowScreen-DRgYuAvp.js +1 -0
- package/dist/client/assets/HarnessMark-BE-YSyci.js +1 -0
- package/dist/client/assets/HarnessesScreen-L-emPcXd.js +1 -0
- package/dist/client/assets/HerdrSession-DKFCJMst.js +4 -0
- package/dist/client/assets/{HomeHero-Cfsow7qL.js → HomeHero-CAEg8Yg5.js} +1 -1
- package/dist/client/assets/{KnowledgeSearchInspector-DKashKoH.js → KnowledgeSearchInspector-C2EZsQ5i.js} +1 -1
- package/dist/client/assets/KnowledgeSearchScreen-DvdOFh-b.js +1 -0
- package/dist/client/assets/{LaneToolHoverCard-BzehBmdi.js → LaneToolHoverCard-DrPXYZvQ.js} +1 -1
- package/dist/client/assets/LaneTraceDetailSheet-Dl7foF88.js +1 -0
- package/dist/client/assets/{LaneTraceEventFocus-DYvHfs_3.js → LaneTraceEventFocus-X4-DDFEo.js} +1 -1
- package/dist/client/assets/{MeshCanvas-DIjlrMPU.js → MeshCanvas-rtCBD7s6.js} +1 -1
- package/dist/client/assets/{MeshCanvasMinimap-DEq-PkF0.js → MeshCanvasMinimap-CuvXOkc7.js} +1 -1
- package/dist/client/assets/MeshScreen-D5zzTn0o.js +1 -0
- package/dist/client/assets/{MeshTopologyView-BMHpH5BU.js → MeshTopologyView-CeTShs-U.js} +2 -2
- package/dist/client/assets/{MessageComposerSuggestions-zAUUcLOv.js → MessageComposerSuggestions-Cs9u-F_3.js} +1 -1
- package/dist/client/assets/MessagesScreen-BhOJ7_tj.js +1 -0
- package/dist/client/assets/MissionContextRail-0O-Zu1Tn.js +1 -0
- package/dist/client/assets/MissionControlView-D2JO9u-y.js +1 -0
- package/dist/client/assets/{MissionFocusOverlay-C7cPt6eU.js → MissionFocusOverlay-LnjmqBiW.js} +1 -1
- package/dist/client/assets/{MissionLeftAgentRow-CxlH3dON.js → MissionLeftAgentRow-nc1Jyq3D.js} +1 -1
- package/dist/client/assets/MissionLogPane-lZ9vUftY.js +1 -0
- package/dist/client/assets/{NewAgentModal-DprvD4EK.js → NewAgentModal-K1cvdmZr.js} +1 -1
- package/dist/client/assets/NewChatComposer-C5LT7MF7.css +1 -0
- package/dist/client/assets/NewChatComposer-DXDxV2Mh.js +19 -0
- package/dist/client/assets/{NewChatOrigin--pHWUb4V.js → NewChatOrigin-CnjoswTG.js} +1 -1
- package/dist/client/assets/{ObserveEmbedScreen-CfvrnOiZ.js → ObserveEmbedScreen-CRpzYf0Y.js} +1 -1
- package/dist/client/assets/{ObserveTextFlow-CBitljxi.js → ObserveTextFlow-DJxQc2H6.js} +2 -2
- package/dist/client/assets/{ObservedTopologyPanel-Dv6fbHzW.js → ObservedTopologyPanel-C1AQM0Mq.js} +1 -1
- package/dist/client/assets/OpenScoutAppShell-DrHYD_pd.js +87 -0
- package/dist/client/assets/OpsAgentsView-BnMX0vEY.js +1 -0
- package/dist/client/assets/OpsScreen-BeC0lieE.js +1 -0
- package/dist/client/assets/OpsSubnav-D5Bpowtk.js +1 -0
- package/dist/client/assets/{PlanView-DYtt8H37.js → PlanView-DDXdC19M.js} +1 -1
- package/dist/client/assets/ProjectAgentProfile-zE1cApxw.js +1 -0
- package/dist/client/assets/{ProjectAgentProfileBar-B3IvVbqS.js → ProjectAgentProfileBar-MODhG0P6.js} +1 -1
- package/dist/client/assets/{ProjectAgentProfileHero-D5E8yvDj.js → ProjectAgentProfileHero-C1ImgGDu.js} +1 -1
- package/dist/client/assets/ProjectsInbox-C3Jd6JTk.js +2 -0
- package/dist/client/assets/{ProjectsRail-DEDS-M1c.js → ProjectsRail-B1zrQLZe.js} +1 -1
- package/dist/client/assets/ProjectsScreen-PW_NH5VK.js +1 -0
- package/dist/client/assets/ProjectsThreadAside-DaCEUWN1.js +1 -0
- package/dist/client/assets/Provider-DSsb2gLR.js +1 -0
- package/dist/client/assets/{RailRow-BTlVAnHS.js → RailRow-DerXOXQS.js} +1 -1
- package/dist/client/assets/RawSessionsTable-LWEvXJzj.js +1 -0
- package/dist/client/assets/RealtimeVoiceScreen-XtxbCjOs.js +1 -0
- package/dist/client/assets/{RepoDiffEmbedScreen-CtTdlQ2A.js → RepoDiffEmbedScreen-C9oLCcZX.js} +1 -1
- package/dist/client/assets/{RepoDiffPageScreen-BRvaVYoC.js → RepoDiffPageScreen-CGEMAv2Z.js} +1 -1
- package/dist/client/assets/{RepoDiffViewer-Bo0gREMj.js → RepoDiffViewer-CB8PSVey.js} +1 -1
- package/dist/client/assets/RepoDiffViewerLazy-DIxkiMto.js +2 -0
- package/dist/client/assets/{ReposScreen-BBkJf8xT.js → ReposScreen-BN1lVjOj.js} +1 -1
- package/dist/client/assets/{ScoutDeckSurface-Bi9ov9Bm.js → ScoutDeckSurface-BCpl0QCx.js} +1 -1
- package/dist/client/assets/{ScoutSurface-DEQg_7Io.js → ScoutSurface-BEnDlynn.js} +1 -1
- package/dist/client/assets/{ScoutbotBroadcastChip-DJXuyn73.js → ScoutbotBroadcastChip-z9R_pC_U.js} +1 -1
- package/dist/client/assets/{ScoutbotFxLab-BgsuLDjo.js → ScoutbotFxLab-fAROyIfz.js} +1 -1
- package/dist/client/assets/{ScoutbotRealtimeVoiceCall-Bzyl0BCS.js → ScoutbotRealtimeVoiceCall-CDyFJX8m.js} +1 -1
- package/dist/client/assets/{SecondaryNav-Bks0CO2h.js → SecondaryNav-Hv5AJ3Fv.js} +1 -1
- package/dist/client/assets/{SessionEmbedScreen-b0Zgmfx5.js → SessionEmbedScreen-CDRpQc3g.js} +1 -1
- package/dist/client/assets/{SessionObserve-Dlx5vDaV.js → SessionObserve-BmmJ8dEh.js} +1 -1
- package/dist/client/assets/{SessionObserveEvidence-ChBD1d4c.js → SessionObserveEvidence-CEedIk2a.js} +1 -1
- package/dist/client/assets/SessionRefScreen-Dk-O4OVt.js +1 -0
- package/dist/client/assets/SessionsScreen-BJEjuo2X.js +1 -0
- package/dist/client/assets/{SettingsDrawer-C587L1i1.js → SettingsDrawer-DL-SVLdd.js} +1 -1
- package/dist/client/assets/SettingsScreen-DJ-BhBwR.js +1 -0
- package/dist/client/assets/{ShikiPane-I_OTW5NO.js → ShikiPane-B7O4if20.js} +1 -1
- package/dist/client/assets/{SlidePanel-FCqT1zO3.js → SlidePanel-B3gc5HnM.js} +1 -1
- package/dist/client/assets/{SpriteAvatar-CQs-jC-v.js → SpriteAvatar-BpQDpOkq.js} +1 -1
- package/dist/client/assets/{StatusPill-CbABggnQ.js → StatusPill-B33sQinT.js} +1 -1
- package/dist/client/assets/{TailView-C_MXVSum.js → TailView-DL3YZkzE.js} +2 -2
- package/dist/client/assets/Terminal-Dp1FSGIS.js +1 -0
- package/dist/client/assets/TerminalEmbedScreen-DP9IM4xf.js +1 -0
- package/dist/client/assets/{TextDocumentSurface-C-9EtYqt.js → TextDocumentSurface-DRjctOIt.js} +1 -1
- package/dist/client/assets/{TmuxPeek-Dz1gJ2pU.js → TmuxPeek-DNC4uWky.js} +1 -1
- package/dist/client/assets/{VoicePermissionsPanel-MfICy9kk.js → VoicePermissionsPanel-WLN0V-Xv.js} +1 -1
- package/dist/client/assets/{WorkDetailScreen-Cs7kdllj.js → WorkDetailScreen-D2Yl0mYZ.js} +1 -1
- package/dist/client/assets/{WorkFilesViewer-CF-nhtZ4.js → WorkFilesViewer-BbVfcUN-.js} +1 -1
- package/dist/client/assets/{activity-WhBf3FXP.js → activity-BxwKkT8z.js} +1 -1
- package/dist/client/assets/{addon-fit-q-x_HytU.js → addon-fit-B9O2vJoh.js} +1 -1
- package/dist/client/assets/{addon-webgl-fhhvEA9h.js → addon-webgl-BhRZFDcn.js} +1 -1
- package/dist/client/assets/{agent-essentials-DyJiUGpZ.js → agent-essentials-SrzMYEXV.js} +1 -1
- package/dist/client/assets/agent-identity-BxCsXnDp.js +1 -0
- package/dist/client/assets/{agent-lane-card-model-BCIwPjEh.js → agent-lane-card-model-DSWdGu-v.js} +1 -1
- package/dist/client/assets/agent-lane-detail-BNNm6FNu.js +2 -0
- package/dist/client/assets/{agent-lane-preview-BtnfNyFR.js → agent-lane-preview-C33Dwpn7.js} +1 -1
- package/dist/client/assets/{agent-lanes-model-Bl6xfviL.js → agent-lanes-model-CPgQRenB.js} +2 -2
- package/dist/client/assets/{arc.es-DPJ0xRV6.js → arc.es-NlJw-19N.js} +1 -1
- package/dist/client/assets/{arrow-down-DsD-dYj-.js → arrow-down-D3-IbArq.js} +1 -1
- package/dist/client/assets/{arrow-left-WjQIN9J6.js → arrow-left-_vS7itsV.js} +1 -1
- package/dist/client/assets/{arrow-up-right-CtTDrZJr.js → arrow-up-right-CcrWONpD.js} +1 -1
- package/dist/client/assets/{bot-B_Uzf4_O.js → bot-BRINYlC6.js} +1 -1
- package/dist/client/assets/{check-BbgHJX8u.js → check-COxArFXG.js} +1 -1
- package/dist/client/assets/{chevron-down-BFai6ZfE.js → chevron-down-DRCbnzyY.js} +1 -1
- package/dist/client/assets/{chevron-right-CyUa1zXx.js → chevron-right-CNE6QAVr.js} +1 -1
- package/dist/client/assets/{chunk-HRAB3GC3-CvwpNg-G.js → chunk-HRAB3GC3-CAeEKaf5.js} +1 -1
- package/dist/client/assets/chunk-JTPDIGGW-s6WbxdjC.js +46 -0
- package/dist/client/assets/{chunk-T65CQEWV-DI4NKdNq.js → chunk-T65CQEWV-CiZ_ICHW.js} +1 -1
- package/dist/client/assets/chunk-YOZR3KYS-DLOc92uD.js +2 -0
- package/dist/client/assets/{clock-DviOalxA.js → clock-CyfvRmj6.js} +1 -1
- package/dist/client/assets/{code-xml-05TD3uOC.js → code-xml--LjSM4Mv.js} +1 -1
- package/dist/client/assets/content-7ZeCPAEt.js +1 -0
- package/dist/client/assets/content-BHUcUCH5.js +1 -0
- package/dist/client/assets/content-BUhvLPkv.js +1 -0
- package/dist/client/assets/content-BomQ5YWo.js +1 -0
- package/dist/client/assets/content-C39ELNgC.js +1 -0
- package/dist/client/assets/content-C4RYKHut.js +1 -0
- package/dist/client/assets/content-CCiZfG4H.js +1 -0
- package/dist/client/assets/content-CDpDtVI-.js +1 -0
- package/dist/client/assets/content-CO-9CeFd.js +1 -0
- package/dist/client/assets/content-CuOLxp1x.js +1 -0
- package/dist/client/assets/content-CvtLIjXS.js +1 -0
- package/dist/client/assets/content-CzwTUb9n.js +1 -0
- package/dist/client/assets/content-DQXbo2RO.js +1 -0
- package/dist/client/assets/content-DRTQ9QQb.js +1 -0
- package/dist/client/assets/content-LCELs6zg.js +1 -0
- package/dist/client/assets/content-Uqt8AG-s.css +1 -0
- package/dist/client/assets/content-qsDjA4Au.js +1 -0
- package/dist/client/assets/{conversation-icons-DohQL6GI.js → conversation-icons-c-hXv7hY.js} +1 -1
- package/dist/client/assets/conversation-model-CHwHZNw-.js +1 -0
- package/dist/client/assets/conversation-motion-features-T8vF9zED.js +1 -0
- package/dist/client/assets/{copy-CwCAivnc.js → copy-4LfKIdQJ.js} +1 -1
- package/dist/client/assets/{createLucideIcon-DlxlBfLC.js → createLucideIcon-ClCdc3F9.js} +1 -1
- package/dist/client/assets/discover-7Ks00w-M.js +2 -0
- package/dist/client/assets/embed-entry-n2ThmSSX.js +2 -0
- package/dist/client/assets/{external-link-CnjcXf32.js → external-link-CnaI1QFS.js} +1 -1
- package/dist/client/assets/{eye-So8tNNK6.js → eye-BFlhMzQL.js} +1 -1
- package/dist/client/assets/{file-text-i3xTDUjJ.js → file-text-DG-pufl1.js} +1 -1
- package/dist/client/assets/{gestures-CgvAMd6F.js → gestures-CxG3Dphs.js} +1 -1
- package/dist/client/assets/home-live-action-BkqGLVRY.js +1 -0
- package/dist/client/assets/home-moving-signal-aNJusIzL.js +1 -0
- package/dist/client/assets/home-now-card-BQK4EFHx.js +1 -0
- package/dist/client/assets/{home-now-card-nano-CkLHUQ4J.js → home-now-card-nano-CdtzqSIF.js} +1 -1
- package/dist/client/assets/hooks-Dst1TH7n.js +2 -0
- package/dist/client/assets/index-9as_JTUs.css +1 -0
- package/dist/client/assets/index-CU9dtwJk.js +1 -0
- package/dist/client/assets/{index-sUomXsrf.js → index-CzVeWScw.js} +2 -2
- package/dist/client/assets/index-Dewd56RX.js +1 -0
- package/dist/client/assets/index-_YQXKEhb.js +1 -0
- package/dist/client/assets/{inspector-panel-DhXd-YbT.js → inspector-panel-DgOM8nCo.js} +1 -1
- package/dist/client/assets/keyboard-nav-BJnFoFDP.js +1 -0
- package/dist/client/assets/{lane-observe-DrhKkQ3A.js → lane-observe-BA3g9aVd.js} +1 -1
- package/dist/client/assets/{lane-roster-store-NE15Oe6M.js → lane-roster-store-pR4ZaYQm.js} +1 -1
- package/dist/client/assets/left-BhzPp-_E.js +1 -0
- package/dist/client/assets/left-CN1MABD0.js +2 -0
- package/dist/client/assets/left-DDgbsio7.js +1 -0
- package/dist/client/assets/left-Dpf2R9uD.js +1 -0
- package/dist/client/assets/left-HwwbMVtl.js +2 -0
- package/dist/client/assets/left-YfH0daht.js +1 -0
- package/dist/client/assets/left-agents-CYUwAy2Z.js +1 -0
- package/dist/client/assets/left-default-vEGZALPv.js +1 -0
- package/dist/client/assets/left-lanes-bphF-vlX.js +1 -0
- package/dist/client/assets/left-mission-B54-c3hq.js +1 -0
- package/dist/client/assets/left-np5USKqG.js +1 -0
- package/dist/client/assets/left-plan-BNBuDoPQ.js +2 -0
- package/dist/client/assets/library-DbCVJG_O.js +1 -0
- package/dist/client/assets/{loader-circle-lWOOKezu.js → loader-circle-Byb9kSFx.js} +1 -1
- package/dist/client/assets/{local-agents-C7fDHLVC.js → local-agents-DBaUbP-_.js} +1 -1
- package/dist/client/assets/{mentions-CY_wPZc5.js → mentions-fbQJ2mBI.js} +1 -1
- package/dist/client/assets/{mesh-ops-Kn8pCtyJ.js → mesh-ops-Cnw3vwAu.js} +1 -1
- package/dist/client/assets/{mesh-view-store-D14ihwkF.js → mesh-view-store-Btlyc7rW.js} +1 -1
- package/dist/client/assets/{message-circle-C5UZ6fO7.js → message-circle-aGOfQWm2.js} +1 -1
- package/dist/client/assets/{message-markup-C8Nx04sP.js → message-markup-mGF07emJ.js} +1 -1
- package/dist/client/assets/{message-square-BD-4UUdc.js → message-square-CIXda-Y7.js} +1 -1
- package/dist/client/assets/mission-control-m3BTDQ9l.css +1 -0
- package/dist/client/assets/{mission-control-store-xQHVQdm8.js → mission-control-store-CcoNeQHG.js} +1 -1
- package/dist/client/assets/mission-wall-CocIM1cF.js +1 -0
- package/dist/client/assets/{observe-uJfIlIUV.js → observe-BNFzh-7B.js} +1 -1
- package/dist/client/assets/openAgent-Dbv5wfuL.js +1 -0
- package/dist/client/assets/{page-status-BymFEFai.js → page-status-DDvNdA8s.js} +1 -1
- package/dist/client/assets/{paperclip-DL9BXPp2.js → paperclip-DfpJkR4s.js} +1 -1
- package/dist/client/assets/{plus-C9lTjsgd.js → plus-CmFQp9Uj.js} +1 -1
- package/dist/client/assets/profile-s3KRbip1.js +1 -0
- package/dist/client/assets/{projects-inbox-DfVmGFFk.js → projects-inbox-Diddml6e.js} +1 -1
- package/dist/client/assets/{radio-DedMyP8J.js → radio-PauJIekM.js} +1 -1
- package/dist/client/assets/{refresh-cw-D8PFyhUa.js → refresh-cw-4oeFn1Jn.js} +1 -1
- package/dist/client/assets/resolve-panes-cp6eNewO.js +1 -0
- package/dist/client/assets/resolve-sidebar-context-Dbo-5PWx.js +1 -0
- package/dist/client/assets/right-09W2JJFg.js +1 -0
- package/dist/client/assets/right-B-MKhiJ6.js +1 -0
- package/dist/client/assets/right-B91Zl8lQ.js +1 -0
- package/dist/client/assets/{right-C1sIsSHR.js → right-BcFnuse9.js} +1 -1
- package/dist/client/assets/right-BdtMzn35.js +1 -0
- package/dist/client/assets/right-BqmKXLtf.js +1 -0
- package/dist/client/assets/right-BzeB-Dpt.js +1 -0
- package/dist/client/assets/right-CkGOs-sq.js +1 -0
- package/dist/client/assets/right-CzGiNBzB.js +1 -0
- package/dist/client/assets/right-Dc7uqv7l.js +1 -0
- package/dist/client/assets/{rocket-CriBwkHM.js → rocket-C-AskjZH.js} +1 -1
- package/dist/client/assets/router-B-K15T7B.js +1 -0
- package/dist/client/assets/{runtime-picker-DOZpZOlt.js → runtime-picker-BCQD7d4K.js} +1 -1
- package/dist/client/assets/{scope-views-BF_RvGKU.js → scope-views-BhkbIFPY.js} +1 -1
- package/dist/client/assets/{scout-voice-BZ4KqADJ.js → scout-voice-S5_YZ2v8.js} +1 -1
- package/dist/client/assets/{scroll-text-BIYf6g6N.js → scroll-text-BV-BB7v-.js} +1 -1
- package/dist/client/assets/{search-DCT_EvPr.js → search-C3bSJluv.js} +1 -1
- package/dist/client/assets/{secondaryNavConfig-Drb7wPG4.js → secondaryNavConfig-Bg4Tc0gT.js} +1 -1
- package/dist/client/assets/{selection-bridge-CJOTyYQs.js → selection-bridge-B1dmkX3P.js} +1 -1
- package/dist/client/assets/{send-horizontal-DDwOgEs3.js → send-horizontal-CqogPmbY.js} +1 -1
- package/dist/client/assets/{server-CHZCp3cF.js → server-Brw5Y1Gh.js} +1 -1
- package/dist/client/assets/{session-catalog-XhGxCtP-.js → session-catalog-9FqXmjBw.js} +1 -1
- package/dist/client/assets/session-table-1xdSxSXq.js +1 -0
- package/dist/client/assets/{sliders-horizontal-B9Nj-Y4J.js → sliders-horizontal-CUiOH26y.js} +1 -1
- package/dist/client/assets/{sparkles-up7pVlX-.js → sparkles-BjCA3Evu.js} +1 -1
- package/dist/client/assets/{sse-CVoGDiKW.js → sse-QcU9bikk.js} +1 -1
- package/dist/client/assets/synthetic-agent-routing-aduMYO7P.js +1 -0
- package/dist/client/assets/system-surfaces-redesign-B7GQhfpw.css +1 -0
- package/dist/client/assets/{tail-display-BdyoLvzY.js → tail-display-BRcJltQa.js} +2 -2
- package/dist/client/assets/{tail-events-CTipUIli.js → tail-events-C6K7bCWB.js} +1 -1
- package/dist/client/assets/{terminal-DXQISjZn.js → terminal-DrTkVXIj.js} +1 -1
- package/dist/client/assets/{terminal-relay-B5Sma7fK.js → terminal-relay-BkXjjSkq.js} +1 -1
- package/dist/client/assets/{terminal-screen-19jAI0Cw.css → terminal-screen-BqVnCwl0.css} +1 -1
- package/dist/client/assets/terminal-sessions-C3qU8tnY.js +1 -0
- package/dist/client/assets/{terminal-takeover-X97KCSJk.js → terminal-takeover-KvmTwABa.js} +1 -1
- package/dist/client/assets/{use-conversation-list-B1T6J_qE.js → use-conversation-list-C5sF6WBR.js} +1 -1
- package/dist/client/assets/{use-fleet-active-asks-DLofGhhK.js → use-fleet-active-asks-BOMPW0nl.js} +1 -1
- package/dist/client/assets/{use-mesh-ops-items-ByGZk8rU.js → use-mesh-ops-items-Co05vcTV.js} +1 -1
- package/dist/client/assets/{use-reduced-motion-Cvk-HRKg.js → use-reduced-motion-Dla-G_Jz.js} +1 -1
- package/dist/client/assets/{use-scout-dev-flags-BHvg3G2c.js → use-scout-dev-flags-BOQF3fW2.js} +1 -1
- package/dist/client/assets/{useAgentHoverCard-D5e8Qg1z.js → useAgentHoverCard-FtCmY-b9.js} +1 -1
- package/dist/client/assets/useContentSecondaryNav-BX7Sq7vy.js +1 -0
- package/dist/client/assets/{usePierreRuntime-DIVunfX0.js → usePierreRuntime-Bo4lD7Ui.js} +1 -1
- package/dist/client/assets/{wrench-pEVd8JnN.js → wrench-CeCdjiPF.js} +1 -1
- package/dist/client/assets/{x-0XjXwGqq.js → x-D4X_y1j_.js} +1 -1
- package/dist/client/assets/{xterm-CRLlV1Xp.js → xterm-D2a5wrkJ.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/main.mjs +1404 -356
- package/dist/node/main.mjs +63 -15
- package/dist/openscout-terminal-relay.mjs +16 -4
- package/dist/pairing-runtime-controller.mjs +3028 -2946
- package/dist/runtime/broker-daemon.mjs +356 -134
- package/dist/scout-control-plane-web.mjs +5631 -5183
- package/dist/scout-web-server.mjs +5631 -5183
- package/package.json +1 -1
- package/dist/client/assets/ActivityScreen-DnqqRSlS.js +0 -1
- package/dist/client/assets/AgentConfigurationScreen-CJqoMA0J.js +0 -1
- package/dist/client/assets/AgentDefinitionsWorkspace-FpEkb-tu.js +0 -1
- package/dist/client/assets/AgentFloorView-CycUn0Lv.js +0 -1
- package/dist/client/assets/AgentInfoScreen-CAQAxpAK.js +0 -1
- package/dist/client/assets/AgentLaneDetailSheet-CWs9wKWk.js +0 -5
- package/dist/client/assets/AgentLanesEmbedScreen-BUCW4nUj.js +0 -1
- package/dist/client/assets/AgentsScreen-BMXvuiA2.js +0 -1
- package/dist/client/assets/AgentsSubnav-BTNjPYoA.js +0 -1
- package/dist/client/assets/BrokerScreen-CObCQvoy.js +0 -5
- package/dist/client/assets/CodeScreen-BXqi72NK.js +0 -1
- package/dist/client/assets/ConversationComposer-BBNPa5S9.js +0 -1
- package/dist/client/assets/ConversationFeedRows-BuejHMCY.js +0 -1
- package/dist/client/assets/ConversationHeader-DXMT-YXv.js +0 -1
- package/dist/client/assets/ConversationPanels-DHCtilQF.js +0 -2
- package/dist/client/assets/ConversationScreen-DSxIt9pq.css +0 -1
- package/dist/client/assets/ConversationScreen-Dz2d_Z_F.js +0 -1
- package/dist/client/assets/FlightObserveScreen-C-9S0nA5.js +0 -1
- package/dist/client/assets/FollowScreen--Q04xSSE.js +0 -1
- package/dist/client/assets/HarnessMark-Dm_qm1Ku.js +0 -1
- package/dist/client/assets/HarnessesScreen-Y54viPX8.js +0 -1
- package/dist/client/assets/KnowledgeSearchScreen-DsdDz8wY.js +0 -1
- package/dist/client/assets/LaneTraceDetailSheet-CBf_aNZx.js +0 -1
- package/dist/client/assets/MeshScreen-TgDtz-1l.js +0 -1
- package/dist/client/assets/MessagesScreen-BTQL0UcE.js +0 -1
- package/dist/client/assets/MissionControlView-D59SPnAm.js +0 -1
- package/dist/client/assets/MissionLogPane-Ye3YlF9s.js +0 -1
- package/dist/client/assets/NewChatComposer-B5FnPyzS.js +0 -19
- package/dist/client/assets/NewChatComposer-W-t-L4oV.css +0 -1
- package/dist/client/assets/OpenScoutAppShell-BIp0WitK.js +0 -87
- package/dist/client/assets/OpsAgentsView-CoBfAigH.js +0 -1
- package/dist/client/assets/OpsScreen-Bbo0W64T.js +0 -1
- package/dist/client/assets/OpsSubnav-CoN8utF8.js +0 -1
- package/dist/client/assets/ProjectAgentProfile-FiiIcB5R.js +0 -1
- package/dist/client/assets/ProjectsInbox-BWiXjGi7.js +0 -2
- package/dist/client/assets/ProjectsScreen-Cxk4CuYn.js +0 -1
- package/dist/client/assets/ProjectsThreadAside-BF66ugT5.js +0 -1
- package/dist/client/assets/Provider-tFc3jqZ4.js +0 -1
- package/dist/client/assets/RawSessionsTable-BsGVgZB3.js +0 -1
- package/dist/client/assets/RealtimeVoiceScreen-B0Bem5Rc.js +0 -1
- package/dist/client/assets/RepoDiffViewerLazy-C8UPk4oo.js +0 -2
- package/dist/client/assets/SessionRefScreen-D7TfPYPN.js +0 -1
- package/dist/client/assets/SessionsScreen-BlknOWAd.js +0 -1
- package/dist/client/assets/SettingsScreen-BIlYxv_a.js +0 -1
- package/dist/client/assets/Terminal-DwZyo8kA.js +0 -1
- package/dist/client/assets/TerminalEmbedScreen-Czp3tQyd.js +0 -1
- package/dist/client/assets/agent-chat-Bfjd9y6c.js +0 -1
- package/dist/client/assets/agent-identity-xQHedtLl.js +0 -1
- package/dist/client/assets/agent-lane-detail-Cw4QVAgH.js +0 -1
- package/dist/client/assets/chunk-YOZR3KYS-BW85tiCr.js +0 -47
- package/dist/client/assets/content-2u_eV3fX.js +0 -1
- package/dist/client/assets/content-5irOghrY.js +0 -1
- package/dist/client/assets/content-8Z_0CwtD.js +0 -1
- package/dist/client/assets/content-B38YRDBu.js +0 -1
- package/dist/client/assets/content-BE3uK0LB.js +0 -1
- package/dist/client/assets/content-BtIxSqVY.js +0 -1
- package/dist/client/assets/content-CFsPAihU.js +0 -1
- package/dist/client/assets/content-CHU0wwA3.css +0 -1
- package/dist/client/assets/content-CKj5g5tu.js +0 -1
- package/dist/client/assets/content-CLDWXf9Z.js +0 -1
- package/dist/client/assets/content-CRr73E0r.js +0 -1
- package/dist/client/assets/content-CVR75_Uj.js +0 -1
- package/dist/client/assets/content-Czdp7_JQ.js +0 -1
- package/dist/client/assets/content-D0_EJ6nP.js +0 -1
- package/dist/client/assets/content-DNmxpNhD.js +0 -1
- package/dist/client/assets/content-XpbI9uxd.js +0 -1
- package/dist/client/assets/content-cyxWdgKQ.js +0 -1
- package/dist/client/assets/conversation-model-C4yb6_FA.js +0 -1
- package/dist/client/assets/conversation-motion-features-CifSdJtm.js +0 -1
- package/dist/client/assets/discover-DoiAJo4Z.js +0 -2
- package/dist/client/assets/embed-entry-D1Or9S4d.js +0 -2
- package/dist/client/assets/home-live-action-B22u89j7.js +0 -1
- package/dist/client/assets/home-moving-signal-BdkERL6B.js +0 -1
- package/dist/client/assets/home-now-card-lLkv6nQs.js +0 -1
- package/dist/client/assets/hooks-BPLDD9yu.js +0 -2
- package/dist/client/assets/index-DGoLx89y.js +0 -1
- package/dist/client/assets/index-DITWsjFb.css +0 -1
- package/dist/client/assets/index-m6dFtY5f.js +0 -1
- package/dist/client/assets/index-pY8-Mz7y.js +0 -1
- package/dist/client/assets/keyboard-nav-BhZZ5HEq.js +0 -1
- package/dist/client/assets/left-B6eawimv.js +0 -1
- package/dist/client/assets/left-BL2uBHe0.js +0 -2
- package/dist/client/assets/left-BNJguPDG.js +0 -1
- package/dist/client/assets/left-BvCtvN0f.js +0 -1
- package/dist/client/assets/left-CfBb6bxM.js +0 -1
- package/dist/client/assets/left-DTrlBF0h.js +0 -2
- package/dist/client/assets/left-agents-DsOHgDCY.js +0 -1
- package/dist/client/assets/left-d4hlBBxY.js +0 -1
- package/dist/client/assets/left-default-BRCwoCJr.js +0 -1
- package/dist/client/assets/left-lanes-DNtoRzoV.js +0 -1
- package/dist/client/assets/left-mission-DsTu2X5Y.js +0 -1
- package/dist/client/assets/left-plan-CtySjsXC.js +0 -2
- package/dist/client/assets/library-CLpgWNJO.js +0 -1
- package/dist/client/assets/mission-control-D3ikEPND.css +0 -1
- package/dist/client/assets/openAgent-Bjt57GdM.js +0 -1
- package/dist/client/assets/profile-BqY5tesX.js +0 -1
- package/dist/client/assets/resolve-panes-1xeZMuaw.js +0 -1
- package/dist/client/assets/resolve-sidebar-context-PLr32WHN.js +0 -1
- package/dist/client/assets/right-1x7HzabC.js +0 -1
- package/dist/client/assets/right-CFzPUzlF.js +0 -1
- package/dist/client/assets/right-CRKyeJDk.js +0 -1
- package/dist/client/assets/right-CagzkLWg.js +0 -1
- package/dist/client/assets/right-CsV149pN.js +0 -1
- package/dist/client/assets/right-DITNyG2s.js +0 -1
- package/dist/client/assets/right-E3nNcLE3.js +0 -1
- package/dist/client/assets/right-eUQvSjd7.js +0 -1
- package/dist/client/assets/right-ozp4nM44.js +0 -1
- package/dist/client/assets/router-Dja9_ygK.js +0 -1
- package/dist/client/assets/session-table-sAVe44a4.js +0 -1
- package/dist/client/assets/system-surfaces-redesign-CD26LFc0.css +0 -1
- package/dist/client/assets/terminal-sessions-D5CIR2OL.js +0 -1
- package/dist/client/assets/useContentSecondaryNav-ZfBNi3d4.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as d,j as e}from"./index-sUomXsrf.js";import{a as B}from"./api-h5zurxmi.js";import{t as A}from"./time-Dhsh_2EG.js";import{n as _,b as D,s as z,c as F}from"./colors-BtO5_zlx.js";import{u as O,e as H}from"./Provider-tFc3jqZ4.js";import{b as K}from"./router-Dja9_ygK.js";import{MeshCanvas as U}from"./MeshCanvas-DIjlrMPU.js";import{u as V}from"./useAgentHoverCard-D5e8Qg1z.js";import{u as Q}from"./local-agents-C7fDHLVC.js";import{u as J,a as W,s as X,e as E,f as I,g as Y,h as L}from"./mesh-view-store-D14ihwkF.js";import{u as Z}from"./useContentSecondaryNav-ZfBNi3d4.js";import{OpsSubnav as G}from"./OpsSubnav-CoN8utF8.js";/* empty css *//* empty css */import"./sse-CVoGDiKW.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-BlBQhpax.js";import"./DocumentFocusViewer-DU_9BHsD.js";import"./createLucideIcon-DlxlBfLC.js";import"./TextDocumentSurface-C-9EtYqt.js";/* empty css */import"./file-text-i3xTDUjJ.js";import"./x-0XjXwGqq.js";import"./chevron-right-CyUa1zXx.js";import"./code-xml-05TD3uOC.js";import"./arrow-left-WjQIN9J6.js";import"./scout-voice-BZ4KqADJ.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BhZZ5HEq.js";import"./MessageComposerSuggestions-zAUUcLOv.js";import"./NewChatComposer-B5FnPyzS.js";import"./runtime-picker-DOZpZOlt.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-lWOOKezu.js";import"./index-m6dFtY5f.js";import"./HarnessMark-Dm_qm1Ku.js";import"./conversation-model-C4yb6_FA.js";import"./NewChatOrigin--pHWUb4V.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-BFai6ZfE.js";import"./search-DCT_EvPr.js";import"./chunk-HRAB3GC3-CvwpNg-G.js";import"./terminal-sessions-D5CIR2OL.js";import"./chunk-T65CQEWV-DI4NKdNq.js";import"./plus-C9lTjsgd.js";import"./mesh-buckets-CfAukILK.js";import"./AgentDetailCard-DxxVkgT1.js";import"./AgentLiveActions-CZdAInEu.js";import"./terminal-takeover-X97KCSJk.js";import"./openContent-C6XO6kr5.js";import"./eye-So8tNNK6.js";import"./terminal-DXQISjZn.js";import"./SecondaryNav-Bks0CO2h.js";import"./secondaryNavConfig-Drb7wPG4.js";import"./message-square-BD-4UUdc.js";import"./scroll-text-BIYf6g6N.js";/* empty css */function ee(c){const p=new Map,x=new Map;for(const a of c){const o=a.project??"Unassigned",i=o.toLowerCase(),m=a.branch??"—";let r=p.get(i);r||(r=new Map,p.set(i,r));const u=r.get(m)??[];u.push(a),r.set(m,u);let s=x.get(i);s||(s=new Map,x.set(i,s)),s.set(o,(s.get(o)??0)+1)}const g=a=>{const o=x.get(a);if(!o)return a;let i=null,m=-1;for(const[r,u]of o)u>m&&(i=r,m=u);return i??a},j=[];for(const[a,o]of p){const i=g(a),m=[];let r=0;const u={in_turn:0,in_flight:0,needs_attention:0,callable:0,blocked:0},s=[];for(const[l,n]of o){const t=[...n].sort((h,b)=>(b.updatedAt??0)-(h.updatedAt??0)),y=t.reduce((h,b)=>Math.max(h,b.updatedAt??0),0);r=Math.max(r,y);for(const h of t)u[_(h.state)]+=1,s.push(h);m.push({branch:l,agents:t,latest:y})}m.sort((l,n)=>n.latest-l.latest),j.push({project:i,branches:m,agents:s,latest:r,counts:u})}return j.sort((a,o)=>o.latest-a.latest),j}function T(c){return c?c.replace(/^\/Users\/[^/]+/,"~"):null}function se({agents:c,emptyTitle:p="No agents registered",emptyBody:x="Agents connected to this broker will appear here.",selectMode:g="preview"}){const{navigate:j}=O(),a=d.useMemo(()=>ee(c),[c]),[o,i]=d.useState(()=>new Set),m=d.useMemo(()=>{const s=[];for(const l of a)if(!o.has(l.project))for(const n of l.branches)for(const t of n.agents)s.push(t.id);return s},[a,o]),r=V({agents:c,orderedIds:m,navigate:j,selectMode:g});if(c.length===0)return e.jsxs("div",{className:"sys-list-empty",children:[e.jsx("h3",{children:p}),e.jsx("p",{children:x})]});const u=s=>{i(l=>{const n=new Set(l);return n.has(s)?n.delete(s):n.add(s),n})};return e.jsxs("div",{className:"mesh-tree",ref:r.containerRef,children:[a.map(s=>{const l=o.has(s.project);return e.jsxs("div",{className:`mesh-tree-group${l?" mesh-tree-group--collapsed":""}`,children:[e.jsxs("button",{type:"button",className:"mesh-tree-project",onClick:()=>u(s.project),"aria-expanded":!l,children:[e.jsx("span",{className:`mesh-tree-caret${l?"":" mesh-tree-caret--open"}`,"aria-hidden":!0,children:"›"}),e.jsx("span",{className:"mesh-tree-project-name",children:s.project}),e.jsx("span",{className:"mesh-tree-project-count",children:s.agents.length}),e.jsxs("span",{className:"mesh-tree-counts",children:[s.counts.in_turn+s.counts.in_flight+s.counts.needs_attention>0&&e.jsxs("span",{className:"mesh-tree-count mesh-tree-count--working",children:[e.jsx("span",{className:"mesh-tree-count-dot"}),s.counts.in_turn+s.counts.in_flight+s.counts.needs_attention]}),s.counts.callable>0&&e.jsxs("span",{className:"mesh-tree-count mesh-tree-count--available",children:[e.jsx("span",{className:"mesh-tree-count-dot"}),s.counts.callable]}),s.counts.blocked>0&&e.jsxs("span",{className:"mesh-tree-count mesh-tree-count--offline",children:[e.jsx("span",{className:"mesh-tree-count-dot"}),s.counts.blocked]})]}),e.jsx("span",{className:"mesh-tree-project-time",children:s.latest?A(s.latest):""})]}),!l&&e.jsx("div",{className:"mesh-tree-branches",children:s.branches.map(n=>e.jsxs("div",{className:"mesh-tree-branch",children:[e.jsxs("div",{className:"mesh-tree-branch-head",children:[e.jsx("span",{className:"mesh-tree-branch-elbow","aria-hidden":!0,children:"└"}),e.jsx("span",{className:"mesh-tree-branch-name",children:n.branch})]}),e.jsx("div",{className:"mesh-tree-agents",children:n.agents.map(t=>{const y=_(t.state),h=D(t.state),b=t.agentClass==="organic",S=r.getState(t.id),k=T(t.cwd)??T(t.projectRoot),f=t.harnessSessionId?t.harnessSessionId.slice(0,8):null,v=[];k&&v.push({kind:"cwd",text:k}),t.harness&&v.push({kind:"harness",text:t.harness}),t.model&&v.push({kind:"model",text:t.model}),f&&v.push({kind:"sess",text:`sess:${f}`});const $=r.bind(t.id);return e.jsxs("button",{type:"button",className:`mesh-tree-agent${b?" mesh-tree-agent--organic":""}${S.isActive?" mesh-tree-agent--active":""}${S.isPinned?" mesh-tree-agent--pinned":""}`,title:b?`${t.harness??t.name} · organic session`:void 0,...$,children:[e.jsx("span",{className:`mesh-tree-agent-dot mesh-tree-agent-dot--${h}`,style:{background:z(t.state)}}),e.jsx("span",{className:"mesh-tree-agent-name",children:t.handle??t.name}),b&&e.jsx("span",{className:"mesh-tree-agent-organic","aria-label":"organic session",children:"○"}),e.jsx("span",{className:"mesh-tree-agent-inline",children:v.map((w,R)=>e.jsxs("span",{className:`mesh-tree-agent-inline-part mesh-tree-agent-inline-part--${w.kind}`,children:[R>0&&e.jsx("span",{className:"mesh-tree-agent-inline-sep",children:"·"}),w.text]},w.kind))}),e.jsx("span",{className:`mesh-tree-agent-state mesh-tree-agent-state--${h}`,children:F(y)}),e.jsx("span",{className:"mesh-tree-agent-time",children:t.updatedAt?A(t.updatedAt):""})]},t.id)})})]},n.branch))})]},s.project)}),r.card]})}function P({mode:c,density:p,query:x,stateFilter:g,loading:j,refreshing:a,error:o,lastLoadedAt:i,hasMesh:m,onRefresh:r}){return e.jsxs("div",{className:`mesh-hud mesh-hud--${c}`,children:[e.jsxs("div",{className:"mesh-hud-left",children:[e.jsxs("div",{className:"mesh-mode-toggle",children:[e.jsx("button",{type:"button",className:`mesh-mode-btn${c==="map"?" mesh-mode-btn--active":""}`,onClick:()=>E("map"),children:"Map"}),e.jsx("button",{type:"button",className:`mesh-mode-btn${c==="tree"?" mesh-mode-btn--active":""}`,onClick:()=>E("tree"),children:"Tree"})]}),e.jsxs("div",{className:"mesh-mode-toggle mesh-density-toggle",role:"group","aria-label":"Density","aria-hidden":c!=="map","data-mode-only":"map",children:[e.jsx("button",{type:"button",className:`mesh-mode-btn${p==="compact"?" mesh-mode-btn--active":""}`,onClick:()=>I("compact"),disabled:c!=="map",title:"Compact — dots",children:"Compact"}),e.jsx("button",{type:"button",className:`mesh-mode-btn${p==="comfortable"?" mesh-mode-btn--active":""}`,onClick:()=>I("comfortable"),disabled:c!=="map",title:"Comfortable — chips",children:"Comfortable"}),e.jsx("button",{type:"button",className:`mesh-mode-btn${p==="spacious"?" mesh-mode-btn--active":""}`,onClick:()=>I("spacious"),disabled:c!=="map",title:"Spacious — cards",children:"Spacious"})]})]}),m&&e.jsxs("div",{className:"mesh-hud-filters",children:[e.jsx("input",{type:"search",className:"mesh-hud-search",placeholder:"Filter agents…",value:x,onChange:u=>Y(u.target.value),spellCheck:!1,autoCorrect:"off",autoCapitalize:"off"}),e.jsxs("div",{className:"mesh-mode-toggle",role:"group","aria-label":"State",children:[e.jsx("button",{type:"button",className:`mesh-mode-btn${g==="all"?" mesh-mode-btn--active":""}`,onClick:()=>L("all"),children:"All"}),e.jsx("button",{type:"button",className:`mesh-mode-btn${g==="in_turn"?" mesh-mode-btn--active":""}`,onClick:()=>L("in_turn"),children:"In turn"}),e.jsx("button",{type:"button",className:`mesh-mode-btn${g==="callable"?" mesh-mode-btn--active":""}`,onClick:()=>L("callable"),children:"Callable"})]})]}),e.jsxs("div",{className:"mesh-hud-right",children:[e.jsx("span",{className:"mesh-hud-sync",children:j?"Loading…":o&&m?`Last sync old — ${i?A(i):"unknown"}`:i?A(i):"—"}),e.jsx("button",{type:"button",className:"s-btn",disabled:j||a,onClick:r,children:a?"Refreshing…":"Refresh"})]})]})}function ls({navigate:c}){const[p,x]=d.useState(!0),[g,j]=d.useState(!1),[a,o]=d.useState(null),[i,m]=d.useState(null),{mode:r,density:u,query:s,stateFilter:l,meshSnapshot:n}=J(),{agents:t}=Q(),{route:y}=O(),h=K(y),b=d.useMemo(()=>H(t,h,n?.localNode?.id),[t,h,n?.localNode?.id]),S=d.useRef(null),k=d.useRef(0);d.useEffect(()=>{S.current=n},[n]),d.useEffect(()=>{h&&W(h,"node")},[h]);const f=d.useCallback(async(C="initial")=>{const N=++k.current;!(S.current!==null)&&C!=="background"?(x(!0),o(null)):j(!0);try{const M=await B("/api/mesh");if(N!==k.current)return;X(M),o(null),m(Date.now())}catch(M){if(N!==k.current)return;o(M instanceof Error?M.message:String(M))}finally{N===k.current&&(x(!1),j(!1))}},[]);d.useEffect(()=>{f("initial")},[f]),d.useEffect(()=>{const C=setInterval(()=>{f("background")},1e4);return()=>clearInterval(C)},[f]);const v=d.useMemo(()=>{const C=s.trim().toLowerCase();return b.filter(N=>l!=="all"&&_(N.state)!==l?!1:C?`${N.name??""} ${N.handle??""} ${N.harness??""} ${N.project??""} ${N.branch??""}`.toLowerCase().includes(C):!0)},[s,b,l]),$={mode:r,density:u,query:s,stateFilter:l,loading:p,refreshing:g,error:a,lastLoadedAt:i,hasMesh:!!n,onRefresh:()=>{f("manual")}},w=r==="map"?e.jsxs("div",{className:"mesh-map-canvas",children:[n&&e.jsx(U,{mesh:n,agents:v}),p&&!n&&e.jsx("div",{className:"mesh-canvas-center",children:e.jsx("p",{className:"mesh-canvas-center-label",children:"Loading mesh…"})}),!p&&!n&&a&&e.jsxs("div",{className:"mesh-canvas-center",children:[e.jsx("p",{className:"mesh-canvas-center-label",children:a}),e.jsx("button",{type:"button",className:"s-btn",onClick:()=>{f("manual")},children:"Try again"})]}),e.jsx(P,{...$})]}):e.jsxs("div",{className:"mesh-tree-page",children:[e.jsx(P,{...$}),p&&!n&&e.jsxs("div",{className:"sys-panel sys-state-card mesh-tree-state",children:[e.jsx("h3",{className:"sys-state-title",children:"Loading mesh status"}),e.jsx("p",{className:"sys-state-body",children:"Inspecting broker reachability and peer discovery inputs."})]}),!p&&!n&&a&&e.jsxs("div",{className:"sys-panel sys-state-card sys-state-card-error mesh-tree-state",children:[e.jsx("h3",{className:"sys-state-title",children:"Mesh status is unavailable"}),e.jsx("p",{className:"sys-state-body",children:a}),e.jsx("div",{className:"sys-inline-actions",children:e.jsx("button",{type:"button",className:"s-btn",onClick:()=>{f("manual")},children:"Try again"})})]}),n&&e.jsxs("section",{className:"mesh-tree-panel",children:[e.jsxs("div",{className:"mesh-tree-hint","aria-hidden":!0,children:[e.jsx("kbd",{children:"↑"}),e.jsx("kbd",{children:"↓"}),e.jsx("span",{children:"navigate"}),e.jsx("span",{className:"mesh-tree-hint-sep",children:"·"}),e.jsx("kbd",{children:"enter"}),e.jsx("span",{children:"pin"}),e.jsx("span",{className:"mesh-tree-hint-sep",children:"·"}),e.jsx("kbd",{children:"o"}),e.jsx("span",{children:"open"}),e.jsx("span",{className:"mesh-tree-hint-sep",children:"·"}),e.jsx("kbd",{children:"esc"}),e.jsx("span",{children:"clear"})]}),e.jsx(se,{agents:v,emptyTitle:b.length===0?h?"No agents on this machine":"No agents registered":"No agents match your filter",emptyBody:b.length===0?"Agents connected to this broker will appear here.":"Try clearing the search or switching the state pill back to All."})]})]}),R=Z();return e.jsxs("div",{className:"s-ops",children:[R?e.jsx("div",{className:"s-ops-header",children:e.jsx(G,{activeRoute:y,navigate:c})}):null,e.jsx("div",{className:"s-ops-body",children:w})]})}export{ls as MeshScreen};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as e,r as a}from"./index-sUomXsrf.js";import{i as w,a as C}from"./conversation-model-C4yb6_FA.js";import{u as b,m as M,g as S}from"./Provider-tFc3jqZ4.js";import{b as A}from"./router-Dja9_ygK.js";import{l as I,i as B,s as E}from"./sessionRead-CvFz2RHv.js";import{u as L}from"./use-conversation-list-B1T6J_qE.js";import{u as R}from"./use-fleet-active-asks-DLofGhhK.js";import{ConversationScreen as D}from"./ConversationScreen-Dz2d_Z_F.js";import{P as O}from"./plus-C9lTjsgd.js";import"./colors-BtO5_zlx.js";import"./time-Dhsh_2EG.js";import"./api-h5zurxmi.js";import"./sse-CVoGDiKW.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-BlBQhpax.js";import"./DocumentFocusViewer-DU_9BHsD.js";import"./createLucideIcon-DlxlBfLC.js";import"./TextDocumentSurface-C-9EtYqt.js";/* empty css */import"./file-text-i3xTDUjJ.js";import"./x-0XjXwGqq.js";import"./chevron-right-CyUa1zXx.js";import"./code-xml-05TD3uOC.js";import"./arrow-left-WjQIN9J6.js";import"./scout-voice-BZ4KqADJ.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BhZZ5HEq.js";import"./MessageComposerSuggestions-zAUUcLOv.js";import"./NewChatComposer-B5FnPyzS.js";import"./runtime-picker-DOZpZOlt.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-lWOOKezu.js";import"./index-m6dFtY5f.js";import"./HarnessMark-Dm_qm1Ku.js";import"./NewChatOrigin--pHWUb4V.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-BFai6ZfE.js";import"./search-DCT_EvPr.js";import"./chunk-HRAB3GC3-CvwpNg-G.js";import"./terminal-sessions-D5CIR2OL.js";import"./ConversationComposer-BBNPa5S9.js";import"./message-markup-C8Nx04sP.js";import"./mentions-CY_wPZc5.js";import"./AgentDetailCard-DxxVkgT1.js";import"./AgentLiveActions-CZdAInEu.js";import"./terminal-takeover-X97KCSJk.js";import"./openContent-C6XO6kr5.js";import"./eye-So8tNNK6.js";import"./terminal-DXQISjZn.js";import"./message-visibility-kJM8XcSG.js";import"./clipboard-e3fSpeo7.js";import"./AgentAvatar-CufDA4A-.js";import"./SpriteAvatar-CQs-jC-v.js";import"./agent-identity-xQHedtLl.js";import"./types-B0PlfpKc.js";/* empty css */import"./ConversationHeader-DXMT-YXv.js";import"./BackToPicker-CkUmHuuo.js";import"./ConversationFeedRows-BuejHMCY.js";import"./ConversationPanels-DHCtilQF.js";import"./use-reduced-motion-Cvk-HRKg.js";import"./activity-WhBf3FXP.js";import"./message-circle-C5UZ6fO7.js";import"./tail-display-BdyoLvzY.js";import"./lane-edit-display-C_Aujldz.js";import"./tail-events-CTipUIli.js";import"./ConversationStatus-DSgdVofa.js";import"./conversation-icons-DohQL6GI.js";function nt({conversationId:s,navigate:c}){return s?e.jsx(D,{conversationId:s,navigate:c,showBackNav:!1}):e.jsx(P,{})}function P(){const{onlineCount:s,apiConnection:c,reload:j,route:N,agents:d,openContextCapture:k,navigate:u}=b(),{sessions:y,loading:p,loadError:n}=L(),[x]=a.useState(()=>I()),v=R(),t=c.status==="offline",i=A(N),f=a.useRef(!1),h=a.useMemo(()=>{const m=M(d,i);return[...S(y,m,i)].sort((g,o)=>(o.lastMessageAt??0)-(g.lastMessageAt??0))},[y,d,i]),r=a.useMemo(()=>{const m=h.filter(o=>!w(o));return m.find(o=>o.agentId?v.get(o.agentId)?.status==="needs_attention"&&B(o.lastMessageAt,o.id,x):!1)??m[0]},[h,v,x]);a.useEffect(()=>{f.current||p||n||t||r&&(f.current=!0,E(r.id),u({view:"messages",conversationId:r.id,...i?{machineId:i}:{}},{replace:!0}))},[r,p,n,t,i,u]);const l=!t&&!n&&(p||!!r);return e.jsx("div",{className:`s-conv-empty${t?" s-conv-empty--offline":""}`,children:e.jsxs("div",{className:"s-conv-empty-inner",children:[e.jsx($,{}),e.jsx("div",{className:"s-conv-empty-eyebrow",children:t?"Connection":"Conversations"}),e.jsx("p",{className:"s-conv-empty-title",children:t?"Scout server offline":l?"Opening your latest conversation":n?"Chats unavailable":"Nothing open yet"}),e.jsx("p",{className:"s-conv-empty-detail",children:t?"Start or restart Scout services. Chats and context will appear when the server responds.":l?V(r):n||"Start a chat by choosing an agent and sending the first message."}),t||n?e.jsx("button",{type:"button",className:"s-conv-empty-action",onClick:()=>{j()},children:"Retry connection"}):l?null:e.jsxs("button",{type:"button",className:"s-conv-empty-new",onClick:()=>k(),children:[e.jsx(O,{size:16,"aria-hidden":"true"}),"New chat"]}),e.jsxs("div",{className:"s-conv-empty-ambient",children:[e.jsx("span",{className:"s-conv-empty-ambient-dot","aria-hidden":"true"}),t?"waiting for server":`${s} ${s===1?"agent":"agents"} active`]})]})})}function V(s){return s?C(s):"Finding where you left off."}function $(){return e.jsxs("svg",{className:"s-conv-empty-mesh",viewBox:"0 0 72 72",fill:"none","aria-hidden":"true",children:[e.jsx("line",{className:"s-conv-empty-mesh-link",x1:"14",y1:"20",x2:"36",y2:"12"}),e.jsx("line",{className:"s-conv-empty-mesh-link",x1:"36",y1:"12",x2:"58",y2:"24"}),e.jsx("line",{className:"s-conv-empty-mesh-link",x1:"14",y1:"20",x2:"24",y2:"46"}),e.jsx("line",{className:"s-conv-empty-mesh-link",x1:"24",y1:"46",x2:"36",y2:"12"}),e.jsx("line",{className:"s-conv-empty-mesh-link",x1:"24",y1:"46",x2:"50",y2:"54"}),e.jsx("line",{className:"s-conv-empty-mesh-link",x1:"50",y1:"54",x2:"58",y2:"24"}),e.jsx("line",{className:"s-conv-empty-mesh-link",x1:"36",y1:"12",x2:"50",y2:"54"}),e.jsx("circle",{className:"s-conv-empty-mesh-node",cx:"14",cy:"20",r:"2.5"}),e.jsx("circle",{className:"s-conv-empty-mesh-node",cx:"58",cy:"24",r:"2.5"}),e.jsx("circle",{className:"s-conv-empty-mesh-node",cx:"24",cy:"46",r:"2.5"}),e.jsx("circle",{className:"s-conv-empty-mesh-node",cx:"50",cy:"54",r:"2.5"}),e.jsx("circle",{className:"s-conv-empty-mesh-node s-conv-empty-mesh-node--accent",cx:"36",cy:"12",r:"3.5"})]})}export{nt as MessagesScreen};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as i,j as a}from"./index-sUomXsrf.js";/* empty css */import{a as M}from"./api-h5zurxmi.js";import{u as ee,s as se,c as te,t as B,a as A,b as H}from"./mission-control-store-xQHVQdm8.js";import{u as ne}from"./observe-uJfIlIUV.js";import{e as Q}from"./agent-chat-Bfjd9y6c.js";import{f as ie}from"./tail-display-BdyoLvzY.js";import{u as re}from"./tail-events-CTipUIli.js";import{FocusOverlay as ae}from"./MissionFocusOverlay-C7cPt6eU.js";import{b as oe,s as le,f as ce,c as de,m as ue,a as me,W as he,M as fe}from"./MissionLogPane-Ye3YlF9s.js";import{A as pe}from"./mission-control-model-C0fByIjm.js";import"./colors-BtO5_zlx.js";import"./surface-activity-B1rgWB1i.js";import"./lane-edit-display-C_Aujldz.js";import"./index-BWHgHrtv.js";import"./keyboard-nav-BhZZ5HEq.js";import"./time-Dhsh_2EG.js";import"./text-DsBWV_4k.js";import"./page-status-BymFEFai.js";import"./runtime-picker-DOZpZOlt.js";import"./scout-voice-BZ4KqADJ.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-lWOOKezu.js";import"./createLucideIcon-DlxlBfLC.js";import"./index-m6dFtY5f.js";import"./HarnessMark-Dm_qm1Ku.js";const x=4e3,ve=250,we=3e4,Ie=1500,Se=1800;function ye(s,o){return s.map(n=>({id:n.id,name:n.name,handle:n.handle,state:n.state,project:n.project,branch:n.branch,harness:n.harness,model:n.model,sessionIds:o.get(n.id)??[]}))}function Ae(s){return{id:`native:${s.source}:${s.sessionId}`,definitionId:`native:${s.source}:${s.sessionId}`,name:`${s.source} · ${s.project}`,handle:s.sessionId.slice(0,8),agentClass:"native-session",harness:s.source,state:s.live?"working":"ready",projectRoot:s.cwd,cwd:s.cwd,updatedAt:s.lastActiveAt,createdAt:null,transport:"tail",selector:null,defaultSelector:null,nodeQualifier:null,workspaceQualifier:null,wakePolicy:null,capabilities:[],project:s.project,branch:s.attribution==="unattributed"?"native session":s.attribution,role:"native session",model:null,harnessSessionId:s.sessionId,terminalSurface:null,harnessLogPath:s.logPath,conversationId:null,homeNodeId:null,homeNodeName:null,ownerId:null,ownerName:null,ownerHandle:null,staleLocalRegistration:!1,retiredFromFleet:!1,replacedByAgentId:null}}function z(s){return s.agentClass==="native-session"||s.id.startsWith("native:")}function Ee(s,o){const n=s.harnessSessionId?.trim();if(!n)throw new Error("This native session has no session id to continue.");const E=s.projectRoot?.trim()||s.cwd?.trim();if(!E)throw new Error("This native session has no project path to route from.");const b=s.harness?.trim(),p=s.model?.trim();return{target:{projectPath:E},execution:{session:"existing",targetSessionId:n,...b?{harness:b}:{},...p?{model:p}:{}},agent:{persistence:"one_time",...s.handle?.trim()?{handle:s.handle.trim()}:{}},seed:{instructions:o}}}async function be(s,o){if(z(s)){await M("/api/sessions",{method:"POST",body:JSON.stringify(Ee(s,o))});return}const n=await Q(s);await M("/api/send",{method:"POST",body:JSON.stringify({body:o,chatId:n,execution:{...s.harness?.trim()?{harness:s.harness.trim()}:{},...s.model?.trim()?{model:s.model.trim()}:{}}})})}function Ne(s,o,n){return s.live?"active":s.lastActiveAt>0&&o-s.lastActiveAt<=n?"recent":"idle"}function Ye({navigate:s,agents:o}){const n=ee(),{activityFilter:E,sourceFilter:b,activityWindowMs:p,groupMode:C,query:k,focusedId:g,revealRequest:v}=n,[P,_]=i.useState([]),[F,K]=i.useState(null),[S,U]=i.useState(()=>Date.now()),R=ne(o),j=i.useRef([]);re(e=>{j.current.push(e)}),i.useEffect(()=>{const e=setInterval(()=>{if(j.current.length===0)return;const t=j.current;j.current=[],_(r=>{const d=new Set(r.map(f=>f.id)),m=t.filter(f=>!f.id||!d.has(f.id));if(m.length===0)return r;const l=r.concat(m);return l.length>x?l.slice(l.length-x):l})},ve);return()=>clearInterval(e)},[]),i.useEffect(()=>{const e=setInterval(()=>U(Date.now()),1e4);return()=>clearInterval(e)},[]),i.useEffect(()=>{let e=!1;return M(`/api/tail/recent?limit=${Ie}`).then(t=>{if(e)return;const r=t.events??[];_(d=>{const m=new Set(d.map(f=>f.id)),l=r.filter(f=>!m.has(f.id)).concat(d);return l.length>x?l.slice(l.length-x):l})}).catch(()=>{}),()=>{e=!0}},[]),i.useEffect(()=>{let e=!1;const t=async()=>{try{const d=await M("/api/tail/discover");e||K(d)}catch{}};t();const r=setInterval(()=>{t()},we);return()=>{e=!0,clearInterval(r)}},[]);const O=i.useMemo(()=>{const e=new Map;for(const t of o){const r=R[t.id],d=[t.harnessSessionId,r?.sessionId,r?.data.metadata?.session?.externalSessionId].map(m=>m?.trim()).filter(m=>!!m);e.set(t.id,[...new Set(d)])}return e},[o,R]),y=i.useMemo(()=>oe({events:ie(P),transcripts:F?.transcripts??[],agents:ye(o,O),now:S,liveWindowMs:pe}),[o,F?.transcripts,S,O,P]),[w,T]=i.useState(null),h=i.useMemo(()=>{const e=le(ce(y,{sourceFilter:b,activityFilter:E,query:k,now:S,activeWindowMs:p}),C);if(!w)return e;const t=e.find(r=>r.id===w);return t?[t,...e.filter(r=>r.id!==w)]:e},[E,p,C,y,S,w,k,b]),W=i.useRef(null),[$,J]=i.useState({w:0,h:0});i.useEffect(()=>{const e=W.current;if(!e)return;const t=new ResizeObserver(([r])=>{J({w:r.contentRect.width,h:r.contentRect.height})});return t.observe(e),()=>t.disconnect()},[]);const u=i.useMemo(()=>de(h.length,$),[h.length,$]),L=i.useMemo(()=>h.slice(0,u.shown),[h,u.shown]);i.useEffect(()=>{se(h.map(e=>({id:e.id,name:e.agent?.name??me(e),handle:e.agent?.handle??ue(e),harness:e.source,branch:e.agent?.branch??null,project:e.project,model:e.agent?.model??null,state:e.agent?.state??null,agentClass:e.agent?"agent":"native-session",updatedAt:e.lastActiveAt,source:e.agent||e.attribution==="scout-managed"?"scout":"native",activity:Ne(e,S,p),lastActiveAt:e.lastActiveAt})))},[p,S,h]);const[G,D]=i.useState(null),V=i.useRef(null),N=i.useRef(null);i.useEffect(()=>{v&&V.current!==v.serial&&(V.current=v.serial,T(v.id),D(v.id),N.current&&clearTimeout(N.current),N.current=setTimeout(()=>D(null),Se),te(v.serial))},[v]),i.useEffect(()=>()=>{N.current&&clearTimeout(N.current)},[]);const I=g?y.find(e=>e.id===g)??null:null,c=i.useMemo(()=>{if(!I)return null;if(I.agent){const e=o.find(t=>t.id===I.agent.id);if(e)return e}return Ae(I)},[o,I]),X=I?.agent?R[I.agent.id]?.data??null:null;i.useEffect(()=>{const e=t=>{const r=t.target;if(!(r.tagName==="INPUT"||r.tagName==="TEXTAREA"||r.isContentEditable)){if(t.key==="Escape"){g?A(null):n.selectedIds.length>0?H():w&&T(null);return}if((t.metaKey||t.ctrlKey)&&t.key==="a"){if(n.visibleAgents.length===0)return;t.preventDefault();const d=n.visibleAgents.map(l=>l.id);if(d.every(l=>n.selectedIds.includes(l))){H();return}for(const l of d)n.selectedIds.includes(l)||B(l)}}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[g,n.selectedIds,n.visibleAgents,w]);const Y=i.useCallback(e=>{s({view:"ops",mode:"tail",tailQuery:e.sessionId})},[s]),Z=L.reduce((e,t)=>e+t.lines.length,0),q=y.length-h.length;return a.jsxs("div",{className:"s-wall",children:[a.jsxs("div",{className:"s-wall-status",children:[a.jsx("span",{className:"s-wall-status-key",children:"logs"}),a.jsxs("span",{className:"s-wall-status-value",children:[u.shown,"/",h.length]}),a.jsx("span",{className:"s-wall-status-key",children:"grid"}),a.jsx("span",{className:"s-wall-status-value",children:u.cols>0?`${u.cols}×${u.rows}`:"—"}),a.jsx("span",{className:"s-wall-status-key",children:"lines"}),a.jsx("span",{className:"s-wall-status-value",children:Z}),u.hidden>0&&a.jsxs("span",{className:"s-wall-status-hidden",title:"Least recently active logs are withheld to keep panes readable",children:[u.hidden," withheld"]}),q>0&&a.jsxs("span",{className:"s-wall-status-hidden",title:"Sessions discovery knows of that have produced no output to tail",children:[q," quiet"]}),w&&a.jsx("button",{type:"button",className:"s-wall-status-pin",onClick:()=>T(null),children:"unpin"})]}),a.jsx("div",{ref:W,className:"s-wall-grid",style:{gridTemplateColumns:`repeat(${Math.max(1,u.cols)}, minmax(0, 1fr))`,gridTemplateRows:`repeat(${Math.max(1,u.rows)}, minmax(0, 1fr))`,gap:he},children:L.length===0?a.jsxs("div",{className:"s-wall-empty",children:[a.jsx("div",{className:"s-wall-empty-title",children:y.length===0?"No logs on the wire":"No matching logs"}),a.jsx("div",{className:"s-wall-empty-sub",children:y.length===0?"Panes appear as sessions start writing to their transcripts.":"Widen the activity window or clear the filter."})]}):L.map(e=>a.jsx(fe,{log:e,selected:n.selectedIds.includes(e.id),revealed:G===e.id,onOpen:()=>A(e.id),onToggleSelected:()=>B(e.id),onOpenLog:()=>Y(e)},e.id))}),c&&a.jsx(ae,{agent:c,observe:X,onClose:()=>A(null),onSend:e=>be(c,e),onOpenConversation:()=>{if(A(null),z(c)&&c.harnessSessionId){s({view:"sessions",sessionId:c.harnessSessionId});return}Q(c).then(e=>s({view:"conversation",conversationId:e})).catch(()=>s({view:"agents-v2",agentId:c.id,tab:"message"}))},onTail:()=>{A(null),s({view:"ops",mode:"tail",tailQuery:c.harnessSessionId??c.handle??c.name})},onProfile:()=>{A(null),s({view:"agents-v2",agentId:c.id})}})]})}export{Ye as MissionControlView};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as w,j as u}from"./index-sUomXsrf.js";import{H as g}from"./HarnessMark-Dm_qm1Ku.js";import{n as y}from"./colors-BtO5_zlx.js";import{s as N}from"./page-status-BymFEFai.js";import{c as _,T as I,b as W}from"./tail-display-BdyoLvzY.js";import{d as E}from"./time-Dhsh_2EG.js";import{m as H,s as T}from"./mission-control-model-C0fByIjm.js";const k=16,C=300,S=180,F=8,$=400,j=1.55,M={w:1440,h:860};function R(e,s,o,a,c,d){let l=null;for(let t=1;t<=e;t+=1){const r=Math.ceil(e/t),n=(s-a*(t-1))/t,f=(o-a*(r-1))/r;if(n<c||f<d)continue;const m=t*r-e,p=Math.min(n,f*j)*Math.min(n/j,f);(!l||m<l.waste||m===l.waste&&p>l.fit)&&(l={cols:t,rows:r,paneW:n,paneH:f,waste:m,fit:p})}return l}function ee(e,s,o={}){const a=o.max??k,c=o.minW??C,d=o.minH??S,l=o.gap??F,t=s.w>0?s.w:M.w,r=s.h>0?s.h:M.h,n=Math.max(0,Math.floor(e));if(n===0)return{cols:0,rows:0,shown:0,hidden:0,paneW:0,paneH:0};for(let f=Math.min(n,a);f>=1;f-=1){const m=R(f,t,r,l,c,d);if(m)return{cols:m.cols,rows:m.rows,shown:f,hidden:n-f,paneW:m.paneW,paneH:m.paneH}}return{cols:1,rows:1,shown:1,hidden:n-1,paneW:t,paneH:r}}function B(e){const s=e.sessionId?.trim();return s||null}function te(e){const s=e.bufferPerLog??$,o=new Map;for(const t of e.agents)for(const r of t.sessionIds){const n=r.trim();n&&o.set(n,t)}const a=new Map,c=(t,r)=>{const n=a.get(t);if(n)return n;const f={id:t,sessionId:t,lines:[],lastActiveAt:0,live:!1,agent:o.get(t)??null,...r};return a.set(t,f),f};for(const t of e.transcripts){const r=B(t);if(!r)continue;const n=c(r,{source:t.source,attribution:t.harness,project:t.project,cwd:t.cwd,logPath:t.transcriptPath});n.lastActiveAt=Math.max(n.lastActiveAt,t.mtimeMs??0)}const d=new Set;for(const t of e.events){const r=t.sessionId?.trim();if(!r)continue;if(t.id){if(d.has(t.id))continue;d.add(t.id)}const n=c(r,{source:t.source,attribution:t.harness,project:t.project,cwd:t.cwd,logPath:null});n.source=t.source,n.attribution=t.harness,n.project=t.project||n.project,n.cwd=t.cwd||n.cwd,n.lines.push(t),n.lastActiveAt=Math.max(n.lastActiveAt,t.ts)}const l=[];for(const t of a.values())t.lines.length>s&&(t.lines=t.lines.slice(t.lines.length-s)),t.live=t.lastActiveAt>0&&e.now-t.lastActiveAt<=e.liveWindowMs,l.push(t);return l}function K(e,s){const o=s.trim().toLowerCase();return o?[e.agent?.name,e.agent?.handle,e.agent?.branch,e.project,e.source,e.sessionId,e.cwd,e.logPath].filter(a=>!!a).some(a=>a.toLowerCase().includes(o)):!0}function v(e){return e.attribution==="scout-managed"||e.agent!==null}function se(e,s){const o=s.requireOutput??!0;return e.filter(a=>{if(o&&a.lines.length===0||s.sourceFilter==="scout"&&!v(a)||s.sourceFilter==="native"&&v(a)||s.activityFilter==="live"&&!a.live)return!1;if(s.activityFilter==="active"){const c=s.now-a.lastActiveAt;if(!(a.lastActiveAt>0&&c<=s.activeWindowMs))return!1}return K(a,s.query)})}function A(e,s){return s==="activity"?"":H({activityLabel:"",workspace:e.project,harness:e.source,state:e.agent?.state??null,source:v(e)?"scout":"native"},s)}function ne(e,s){const o=new Map;for(const a of e){const c=A(a,s);o.set(c,Math.max(o.get(c)??0,a.lastActiveAt))}return[...e].sort((a,c)=>{const d=A(a,s),l=A(c,s);if(d!==l){const t=(o.get(l)??0)-(o.get(d)??0);return t!==0?t:d.localeCompare(l)}return a.lastActiveAt!==c.lastActiveAt?c.lastActiveAt-a.lastActiveAt:a.sessionId.localeCompare(c.sessionId)})}function O(e){return e.sessionId.slice(0,13)}function G(e){const s=e.agent?.handle?.trim();if(s)return`@${s}`;const o=e.agent?.name?.trim();return o||`${e.source}:${O(e)}`}function q(e){const s=e.logPath?.trim();return s?s.split("/").pop()||s:`${e.sessionId.slice(0,12)}.log`}const z=24;function D({log:e,selected:s,revealed:o,onOpen:a,onToggleSelected:c,onOpenLog:d,paneRef:l}){const t=w.useRef(null),r=w.useRef(!0),n=w.useMemo(()=>_(e.lines.map(i=>({event:i,meta:void 0}))),[e.lines]),f=w.useCallback(()=>{const i=t.current;if(!i)return;const h=i.scrollHeight-i.scrollTop-i.clientHeight;r.current=h<=z},[]);w.useEffect(()=>{const i=t.current;!i||!r.current||(i.scrollTop=i.scrollHeight)},[n.length,e.lastActiveAt]);const m=y(e.agent?.state??null),p=G(e),x=q(e),L=[e.project,e.agent?.branch].filter(Boolean).join("/")||e.cwd||"—",b=N({label:`Focus ${p}`,route:`/ops/control · ${e.sessionId}`}),P=i=>{if(i.metaKey||i.ctrlKey||i.shiftKey){c();return}a()};return u.jsxs("div",{ref:l,className:["s-wall-pane",e.live?"s-wall-pane--live":null,s?"s-wall-pane--selected":null,o?"s-wall-pane--revealed":null].filter(Boolean).join(" "),onClick:P,onPointerEnter:b.onPointerEnter,onPointerLeave:b.onPointerLeave,children:[u.jsxs("div",{className:"s-wall-pane-head",children:[u.jsx("span",{className:"s-wall-pane-dot",style:{background:e.agent?T(m):"var(--dim)"},"aria-hidden":!0}),u.jsx(g,{harness:e.source,size:11,title:null}),u.jsx("button",{type:"button",className:"s-wall-pane-title",title:e.agent?.name??e.sessionId,"aria-label":`Focus ${p}`,onClick:i=>{i.stopPropagation(),a()},children:p}),u.jsx("span",{className:"s-wall-pane-where",title:e.cwd??L,children:L}),u.jsx("span",{className:"s-wall-pane-spacer"}),e.live&&u.jsx("span",{className:"s-wall-pane-live",children:"live"}),u.jsx("button",{type:"button",className:"s-wall-pane-file",title:e.logPath??`session ${e.sessionId}`,onClick:i=>{i.stopPropagation(),d()},children:x})]}),u.jsx("div",{className:"s-wall-pane-body",ref:t,onScroll:f,children:n.length===0?u.jsx("div",{className:"s-wall-pane-idle",children:"no output since page load"}):n.map(({event:i,repeatCount:h})=>u.jsxs("div",{className:`s-wall-line s-wall-line--${i.kind}`,children:[u.jsx("span",{className:"s-wall-line-time",children:E(i.ts,{milliseconds:!1})||"—"}),u.jsx("span",{className:"s-wall-line-glyph",title:W[i.kind],children:I[i.kind]}),u.jsxs("span",{className:"s-wall-line-text",children:[i.summary,h>1&&u.jsxs("span",{className:"s-wall-line-repeat",title:`${h} identical events`,children:[" ","×",h]})]})]},i.id))})]})}const ae=Object.freeze(Object.defineProperty({__proto__:null,MissionLogPane:D},Symbol.toStringTag,{value:"Module"}));export{D as M,F as W,G as a,te as b,ee as c,ae as d,se as f,O as m,ne as s};
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import{r as l,j as o}from"./index-sUomXsrf.js";import{M as $s}from"./runtime-picker-DOZpZOlt.js";import{i as Gt,b as Ps,d as Ye,M as qt,u as _s}from"./MessageComposerSuggestions-zAUUcLOv.js";import{r as Os}from"./index-m6dFtY5f.js";import{H as Kt}from"./HarnessMark-Dm_qm1Ku.js";import{c as Fs,S as Wt,G as Hs,H as Us}from"./conversation-model-C4yb6_FA.js";import{a as te}from"./api-h5zurxmi.js";import{d as Bs}from"./colors-BtO5_zlx.js";import{NewChatOrigin as Gs}from"./NewChatOrigin--pHWUb4V.js";import{u as qs}from"./keyboard-nav-BhZZ5HEq.js";import{e as Ks}from"./agent-chat-Bfjd9y6c.js";import{n as Ws}from"./model-Co0zkMIc.js";import{X as zs}from"./x-0XjXwGqq.js";import{C as Xs}from"./chevron-down-BFai6ZfE.js";import{S as Qs}from"./search-DCT_EvPr.js";import{L as mt}from"./loader-circle-lWOOKezu.js";import{F as Vs}from"./file-text-i3xTDUjJ.js";const Js={schemaVersion:"openscout.runtime-catalog.v1",revision:"2026-08-12.1",harnesses:[{id:"claude",label:"Claude Code",enabled:!0,default:!0,reasoningEfforts:["low","medium","high","xhigh","max"],defaultReasoningEffort:"medium",models:[{id:"claude-opus-5",label:"Opus 5",enabled:!0,default:!0,family:"Opus",version:"5"},{id:"claude-sonnet-4-6",label:"Sonnet 4.6",enabled:!0,family:"Sonnet",version:"4.6"},{id:"claude-haiku-4-5",label:"Haiku 4.5",enabled:!0,family:"Haiku",version:"4.5"},{id:"claude-opus-4-8",label:"Opus 4.8",enabled:!0,family:"Opus",version:"4.8"},{id:"claude-opus-4-7",label:"Opus 4.7",enabled:!0,family:"Opus",version:"4.7"},{id:"claude-sonnet-4-5",label:"Sonnet 4.5",enabled:!0,family:"Sonnet",version:"4.5"}]},{id:"codex",label:"Codex",enabled:!0,reasoningEfforts:["low","medium","high","xhigh"],defaultReasoningEffort:"medium",models:[{id:"gpt-5.6-sol",label:"5.6 Sol",enabled:!0,default:!0,family:"GPT",version:"5.6 Sol",reasoningEfforts:["low","medium","high","xhigh","ultra"]},{id:"gpt-5.6-terra",label:"5.6 Terra",enabled:!0,family:"GPT",version:"5.6 Terra",reasoningEfforts:["low","medium","high","xhigh","ultra"]},{id:"gpt-5.6-luna",label:"5.6 Luna",enabled:!0,family:"GPT",version:"5.6 Luna"},{id:"gpt-5.5",label:"5.5",enabled:!0,family:"GPT",version:"5.5"},{id:"gpt-5.5-mini",label:"5.5 mini",enabled:!0,family:"GPT",version:"5.5 mini"}]},{id:"grok",label:"Grok CLI",enabled:!0,reasoningEfforts:["low","medium","high","xhigh"],defaultReasoningEffort:"medium",models:[{id:"grok-4.6",label:"Grok 4.6",enabled:!0,default:!0,family:"Grok",version:"4.6",contextWindowTokens:5e5},{id:"grok-4.5",label:"Grok 4.5",enabled:!0,family:"Grok",version:"4.5"},{id:"grok-4.3",label:"Grok 4.3",enabled:!0,family:"Grok",version:"4.3"}]},{id:"grok-acp",label:"Grok ACP",enabled:!0,reasoningEfforts:null,models:[{id:"grok-4.6",label:"Grok 4.6",enabled:!0,default:!0,family:"Grok",version:"4.6",contextWindowTokens:5e5},{id:"grok-4.5",label:"Grok 4.5",enabled:!0,family:"Grok",version:"4.5"},{id:"grok-4.3",label:"Grok 4.3",enabled:!0,family:"Grok",version:"4.3"}]},{id:"kimi",label:"Kimi Code",enabled:!0,reasoningEfforts:null,models:[]},{id:"flue",label:"Flue",enabled:!0,reasoningEfforts:null,models:[]},{id:"cursor",label:"Cursor CLI",enabled:!0,reasoningEfforts:null,models:[]},{id:"opencode",label:"OpenCode",enabled:!0,reasoningEfforts:null,models:[{id:"opencode-go/glm-5.2",label:"GLM-5.2",enabled:!0,default:!0,family:"GLM",version:"5.2"},{id:"opencode-go/glm-5.1",label:"GLM-5.1",enabled:!0,family:"GLM",version:"5.1"},{id:"opencode-go/kimi-k3",label:"Kimi K3",enabled:!0,family:"Kimi",version:"K3"},{id:"opencode-go/qwen3.8-max",label:"Qwen3.8 Max",enabled:!0,family:"Qwen",version:"3.8 Max"},{id:"opencode-go/minimax-m3",label:"MiniMax M3",enabled:!0,family:"MiniMax",version:"M3"},{id:"opencode-go/deepseek-v4-pro",label:"DeepSeek V4 Pro",enabled:!0,family:"DeepSeek",version:"V4 Pro"},{id:"opencode-go/grok-4.5",label:"Grok 4.5",enabled:!0,family:"Grok",version:"4.5"},{id:"opencode/nemotron-3-ultra-free",label:"Nemotron 3 Ultra (free)",enabled:!0,family:"Nemotron",version:"3 Ultra Free"},{id:"opencode/laguna-s-2.1-free",label:"Laguna S 2.1 (free)",enabled:!0,family:"Laguna",version:"S 2.1 Free"}]},{id:"pi",label:"Pi",enabled:!0,reasoningEfforts:null,models:[]}]},yt=["none","minimal","low","medium","high","xhigh","max","ultra"],ts={none:"None",minimal:"Minimal",low:"Light",medium:"Medium",high:"High",xhigh:"Extra High",max:"Max",ultra:"Ultra"},W=Js;function jt(e,t=W){return t.harnesses.find(r=>r.id===e)}function Ys(e=W){return e.harnesses.find(t=>t.enabled&&t.default)?.id??e.harnesses.find(t=>t.enabled)?.id??null}function ss(e,t=W){const r=jt(e,t);return r?.models.find(s=>s.enabled&&s.default)?.id??r?.models.find(s=>s.enabled)?.id??null}function Zs(e,t,r=W){const s=jt(e,r);if(!s||!s.enabled)return null;const a=t?s.models.find(i=>i.enabled&&i.id===t):void 0;return a?.reasoningEfforts===null?null:a?.reasoningEfforts??s.reasoningEfforts}function ns(e,t,r=W){const s=jt(e,r),a=t?s?.models.find(v=>v.enabled&&v.id===t):void 0,i=Zs(e,t,r),f=a?.defaultReasoningEffort??s?.defaultReasoningEffort??null;return f&&i?.includes(f)?f:i?.[0]??null}function en(e=W){return Object.fromEntries(e.harnesses.filter(t=>t.enabled).map(t=>{const r=ss(t.id,e);return[t.id,{model:r,reasoningEffort:ns(t.id,r,e)}]}))}const tn=en();Object.fromEntries(W.harnesses.filter(e=>e.enabled).map(e=>{const t=yt.filter(r=>e.reasoningEfforts?.includes(r)||e.models.some(s=>s.enabled&&s.reasoningEfforts?.includes(r)));return[e.id,t]}));function sn(e=W){const t=new Map;for(const r of e.harnesses)if(r.enabled)for(const s of r.models){if(!s.enabled)continue;const a=t.get(s.id);if(a){a.harnesses.includes(r.id)||a.harnesses.push(r.id);continue}t.set(s.id,{id:s.id,label:s.label,...s.description?{description:s.description}:{},harnesses:[r.id],source:"default",...s.family?{family:s.family}:{},...s.version?{version:s.version}:{}})}return Array.from(t.values())}const nn=sn(),rn={none:"No extra thinking",minimal:"Smallest reasoning budget",low:"Fast responses with lighter reasoning",medium:"Balanced speed and reasoning depth",high:"Greater reasoning depth for complex work",xhigh:"Extra high reasoning depth",max:"Maximum reasoning depth",ultra:"Maximum reasoning with delegation"};function on(e=W){return yt.flatMap(t=>{const r=[],s=[];for(const a of e.harnesses){if(!a.enabled)continue;const i=a.models.filter(g=>g.enabled),f=i.filter(g=>(g.reasoningEfforts??a.reasoningEfforts)?.includes(t)),v=i.length===0&&a.reasoningEfforts?.includes(t);f.length===0&&!v||(r.push(a.id),i.length>0&&f.length<i.length&&s.push(...f.map(g=>g.id)))}return r.length===0?[]:[{id:t,label:ts[t],description:rn[t],harnesses:r,...s.length>0?{models:s}:{}}]})}const an=on();function ln(e,t){const r=t?.trim();return r?e.find(s=>s.id===r)??null:null}function cn(e,t){if(e.view==="conversation"&&e.conversationId)return{agentId:null,conversationId:e.conversationId,label:"Current chat",canUseExistingChat:!0};if(e.view==="messages"&&e.conversationId)return{agentId:null,conversationId:e.conversationId,label:"Current chat",canUseExistingChat:!0};if(e.view==="agents-v2"&&e.agentId){const r=ln(t,e.agentId),s=e.conversationId??r?.conversationId??null;return{agentId:e.agentId,conversationId:s,label:r?.name??e.agentId,canUseExistingChat:!!s}}return{agentId:null,conversationId:null,label:"Pick a project",canUseExistingChat:!1}}const H="",dn={none:"no reasoning",minimal:"lightest",low:"triage",medium:"default",high:"deep",xhigh:"exhaustive",max:"fullest",ultra:"beyond max"},un=yt.map(e=>({value:e,label:ts[e],note:dn[e]}));function Re(e,t){return e.harnesses.find(r=>r.value===t)}function Ct(e,t){return Re(e,t)?.models??[]}function Ee(e,t,r){const s=Re(e,t),a=s?s.efforts===null?null:s.efforts??e.efforts:e.efforts;if(!a||!r)return a;const i=new Set((s?.models??[]).map(f=>f.value));return i.has(r)?a.filter(f=>{if(!f.models||f.models.length===0)return!0;const v=f.models.filter(g=>i.has(g));return v.length===0||v.includes(r)}):a}function rs(e,t){const s=Ct(e,t.harness).find(a=>a.value===t.model);return s||(t.model.trim()?{value:t.model,label:t.model,note:"custom"}:{value:H,label:"Default",note:"harness picks"})}function fn(e,t){const r=Re(e,t.harness),s=r?.label??t.harness??"Default",a=rs(e,t),i=Ee(e,t.harness,t.model),f=i?.find(F=>F.value===t.effort),v=f?.label??t.effort,g=i?`Runtime: ${s}, model ${a.label}, effort ${v}`:`Runtime: ${s}, model ${a.label}`;return{harness:r,harnessLabel:s,model:a,modelLabel:a.label,effort:f,effortLabel:v,supportsEffort:i!==null,summary:g}}function mn(e,t,r){const s={...t,...r};if(!(r.harness!==void 0&&r.harness!==t.harness)){if(r.model===void 0||r.model===t.model)return s;const L=Ee(e,s.harness,s.model);if(!L||s.effort===H||L.some(X=>X.value===s.effort))return s;const de=(Ee(e,t.harness,t.model)??e.efforts).findIndex(X=>X.value===t.effort),z=Math.min(Math.max(de,0),L.length-1);return s.effort=L[z]?.value??L[0]?.value??H,s}const i=Re(e,s.harness);s.model=r.model??i?.defaultModel??H,r.effort===void 0&&i?.defaultEffort&&(s.effort=i.defaultEffort);const f=Ee(e,s.harness,s.model);if(!f)return s.effort=H,s;if(f.some(L=>L.value===s.effort))return s;const g=(Ee(e,t.harness,t.model)??e.efforts).findIndex(L=>L.value===t.effort),F=Math.min(Math.max(g,0),f.length-1);return s.effort=f[F]?.value??f[0]?.value??H,s}function hn(e,t){const r=t?.harness??e.harnesses.find(i=>!i.disabled)?.value??"",s=Ee(e,r),a=s?.find(i=>i.note==="default")?.value??s?.[Math.floor((s.length-1)/2)]?.value??H;return{harness:r,model:t?.model??Re(e,r)?.defaultModel??Ct(e,r)[1]?.value??H,effort:s?t?.effort??Re(e,r)?.defaultEffort??a:H}}function pn(e,t){const r=t.trim().toLowerCase();return r?e.filter(s=>`${s.label} ${s.value} ${s.note??""}`.toLowerCase().includes(r)):e}function Oe(...e){for(const t of e){const r=t?.trim();if(r)return r}}function os(e){const t=e.harnesses.map(s=>{const a=e.defaultsByHarness?.[s.id],i=s.ready!==!1,f=[{value:H,label:"Default",note:"harness picks"},...e.models.filter(g=>g.harnesses.includes(s.id)).map(g=>({value:g.id,label:g.label,note:Oe(g.description)}))],v=e.efforts.filter(g=>g.harnesses.includes(s.id));return{value:s.id,label:s.label,note:i?Oe(s.description):Oe(s.detail,s.state,"unavailable"),disabled:!i,defaultModel:a?.model??H,defaultEffort:a?.reasoningEffort??H,models:f,efforts:v.length===0?null:v.map(g=>({value:g.id,label:g.label,note:Oe(g.description),...g.models?.length?{models:[...g.models]}:{}}))}}),r=e.efforts.map(s=>({value:s.id,label:s.label,note:Oe(s.description)}));return{harnesses:t,efforts:r.length>0?r:un}}const gn=6,ht=34,pt=460,bn=14,xn=300,Fe=8,gt=["harness","model","effort"],wn={harness:"vertical",model:"vertical",effort:"horizontal"};function vn(){return o.jsx("svg",{className:"s-rt-chip-chevron",width:"8",height:"5",viewBox:"0 0 8 5",fill:"none","aria-hidden":"true",children:o.jsx("path",{d:"M1 1.2 4 4 7 1.2",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}function yn({ctx:e}){const{efforts:t,value:r,set:s}=e;if(!t)return null;const a=Math.max(0,t.findIndex(i=>i.value===r.effort));return o.jsx("div",{className:"s-rt-ladder",role:"radiogroup","aria-label":"Reasoning effort",children:t.map((i,f)=>{const v=f===a;return o.jsxs("button",{type:"button",role:"radio","aria-checked":v,title:i.note,onClick:()=>s({effort:i.value}),...e.cell("effort",f),className:"s-rt-step",children:[o.jsx("span",{className:"s-rt-step-bar","data-state":v?"current":f<a?"filled":"empty"}),o.jsx("span",{className:"s-rt-step-label",children:i.label})]},i.value)})})}function jn({harnessLabel:e}){return o.jsxs("p",{className:"s-rt-effort-absent",children:[e," has no effort control."]})}function Cn({option:e,selected:t,index:r,ctx:s}){const a=e.disabled??!1;return o.jsxs("button",{type:"button",role:"option","aria-selected":t,"aria-disabled":a||void 0,onClick:()=>{a||s.set({model:e.value})},"data-on":t||void 0,"data-disabled":a||void 0,...s.cell("model",r),style:{animationDelay:`${Math.min(r,6)*16}ms`},className:"s-rt-row s-rt-model-row",children:[o.jsx("span",{"aria-hidden":!0,className:"s-rt-dot"}),o.jsx("span",{className:"s-rt-row-label",children:e.label}),e.note?o.jsx("span",{className:"s-rt-note",children:e.note}):null]})}function En({ctx:e}){return o.jsxs("div",{className:"s-rt-search",children:[o.jsxs("svg",{width:"11",height:"11",viewBox:"0 0 12 12","aria-hidden":"true",className:"s-rt-search-icon",children:[o.jsx("circle",{cx:"5",cy:"5",r:"3.4",fill:"none",stroke:"currentColor",strokeWidth:"1.3"}),o.jsx("path",{d:"M7.6 7.6 10.5 10.5",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})]}),o.jsx("input",{ref:e.searchRef,type:"text",value:e.query,onChange:t=>e.setQuery(t.target.value),onKeyDown:e.onSearchKeyDown,placeholder:"Filter models","aria-label":"Filter models",spellCheck:!1,autoComplete:"off",className:"s-rt-search-input"}),e.query?o.jsx("button",{type:"button",onClick:()=>{e.setQuery(""),e.searchRef.current?.focus()},"aria-label":"Clear filter",className:"s-rt-search-clear",children:"clear"}):null]})}function Sn({ctx:e}){return e.status==="loading"?o.jsxs("div",{className:"s-rt-status","aria-busy":!0,role:"status",children:[o.jsx("span",{className:"s-rt-sr",children:"Loading models"}),[0,1,2].map(t=>o.jsx("span",{"aria-hidden":!0,className:"s-rt-skel",style:{animationDelay:`${t*90}ms`}},t))]}):e.status==="error"?o.jsxs("div",{role:"alert",className:"s-rt-status s-rt-status--error",children:[o.jsx("span",{className:"s-rt-status-message",children:e.statusMessage??"Model catalog unavailable."}),e.onRetry?o.jsx("button",{type:"button",onClick:e.onRetry,className:"s-rt-retry",children:"Retry"}):null]}):o.jsx("p",{className:"s-rt-empty",children:e.query.trim()?`No model matches “${e.query.trim()}”.`:"No models listed."})}function Mn({ctx:e}){return e.status!=="ready"||e.models.length===0?o.jsx(Sn,{ctx:e}):o.jsx("div",{role:"listbox","aria-label":"Model",className:"s-rt-models",children:e.models.map((t,r)=>o.jsx(Cn,{option:t,index:r,selected:t.value===e.value.model,ctx:e},t.value||"default"))},e.value.harness)}function zt({value:e,defaultValue:t,onChange:r,catalog:s,status:a="ready",statusMessage:i,onRetry:f,disabled:v=!1,showEffort:g,searchable:F="auto",className:L}){const[y,de]=l.useState(!1),[z,X]=l.useState(""),[Ue,Be]=l.useState(()=>hn(s,t)),j=e??Ue,C=l.useRef(null),ue=l.useRef(null),fe=l.useRef(null),me=l.useRef(null),S=l.useId(),ve=l.useCallback(d=>{const m=mn(s,j,d);e===void 0&&Be(m),r?.(m),d.harness!==void 0&&d.harness!==j.harness&&X("")},[s,e,r,j]),T=s.harnesses,Ae=l.useMemo(()=>Ct(s,j.harness),[s,j.harness]),$=l.useMemo(()=>{const d=rs(s,j);return d.note!=="custom"?Ae:[...Ae,d]},[Ae,s,j]),se=l.useMemo(()=>pn($,z),[$,z]),Le=Ee(s,j.harness,j.model),Q=g===!1?null:g===!0?Le??s.efforts:Le,D=F==="auto"?$.length>gn:F,V=fn(s,j),N=l.useRef(new Map),[he,R]=l.useState({group:"model",index:0}),A=l.useMemo(()=>({harness:T.length,model:a==="ready"?se.length:0,effort:Q?.length??0}),[Q?.length,T.length,se.length,a]),ne=l.useCallback(d=>d==="harness"?Math.max(0,T.findIndex(m=>m.value===j.harness)):d==="model"?Math.max(0,se.findIndex(m=>m.value===j.model)):Math.max(0,Q?.findIndex(m=>m.value===j.effort)??0),[Q,T,se,j]),k=l.useCallback((d,m)=>{R({group:d,index:m}),N.current.get(`${d}:${m}`)?.focus()},[]),pe=l.useCallback((d,m)=>{const b=gt.indexOf(d);for(let x=b+m;x>=0&&x<gt.length;x+=m){const O=gt[x];if(A[O]>0)return k(O,Math.min(ne(O),A[O]-1)),!0}return!1},[A,k,ne]),ye=l.useCallback((d,m)=>({ref:b=>{const x=`${d}:${m}`;b?N.current.set(x,b):N.current.delete(x)},tabIndex:he.group===d&&he.index===m?0:-1,onFocus:()=>R({group:d,index:m}),onKeyDown:b=>{const x=wn[d]==="vertical",O=x?"ArrowDown":"ArrowRight",B=x?"ArrowUp":"ArrowLeft",Ge=x?"ArrowRight":"ArrowDown",tt=x?"ArrowLeft":"ArrowUp",ge=A[d];if(ge!==0)if(b.key===O)b.preventDefault(),k(d,(m+1)%ge);else if(b.key===B){if(b.preventDefault(),d==="model"&&m===0&&D){R({group:d,index:0}),me.current?.focus();return}k(d,(m-1+ge)%ge)}else b.key===Ge?(b.preventDefault(),pe(d,1)):b.key===tt?(b.preventDefault(),pe(d,-1)):b.key==="Home"?(b.preventDefault(),k(d,0)):b.key==="End"&&(b.preventDefault(),k(d,ge-1))}}),[A,he,k,pe,D]),Te=l.useCallback(d=>{if(d.key==="ArrowDown"&&A.model>0)d.preventDefault(),k("model",0);else if(d.key==="Enter"&&A.model===1){d.preventDefault();const m=se[0];m.disabled||ve({model:m.value})}else d.key==="Escape"&&z&&(d.preventDefault(),d.stopPropagation(),X(""))},[A.model,k,se,z,ve]),[U,M]=l.useState(null),J=l.useCallback(()=>{const d=ue.current;if(!d)return;const m=d.getBoundingClientRect(),b=m.top,x=window.innerHeight-m.bottom,O=b>=xn||b>=x?"up":"down",B=Math.min(Math.max(Fe,m.right-pt),Math.max(Fe,window.innerWidth-pt-Fe));M({left:B,top:O==="up"?m.top-Fe:m.bottom+Fe,placement:O})},[]);l.useLayoutEffect(()=>{if(!y)return;J();const d=()=>J();return window.addEventListener("scroll",d,!0),window.addEventListener("resize",d),()=>{window.removeEventListener("scroll",d,!0),window.removeEventListener("resize",d)}},[y,J]);const re=l.useCallback(d=>{de(!1),d&&ue.current?.focus()},[]);l.useEffect(()=>{if(!y)return;const d=b=>{const x=b.target;C.current?.contains(x)||fe.current?.contains(x)||de(!1)},m=b=>{b.key==="Escape"&&(b.stopPropagation(),re(!0))};return document.addEventListener("pointerdown",d),document.addEventListener("keydown",m),()=>{document.removeEventListener("pointerdown",d),document.removeEventListener("keydown",m)}},[y,re]),l.useEffect(()=>{if(!y)return;const d=A.model>0?"model":"harness",m=Math.min(ne(d),Math.max(0,A[d]-1));R({group:d,index:m});const b=requestAnimationFrame(()=>{const x=N.current.get(`${d}:${m}`);x?x.focus():fe.current?.focus()});return()=>cancelAnimationFrame(b)},[y]),l.useEffect(()=>{y||X("")},[y]),l.useEffect(()=>{v&&de(!1)},[v]);const De=Math.max(0,T.findIndex(d=>d.value===j.harness)),I={value:j,set:ve,status:a,statusMessage:i,onRetry:f,harnesses:T,models:se,efforts:Q,harnessLabel:V.harnessLabel,searchable:D,query:z,setQuery:X,searchRef:me,cell:ye,onSearchKeyDown:Te};return o.jsxs("div",{ref:C,className:L?`s-rt-root ${L}`:"s-rt-root",style:{position:"relative",display:"inline-flex"},children:[o.jsxs("button",{ref:ue,type:"button",className:`s-rt-chip${v?" s-rt-chip--disabled":""}`,"aria-haspopup":"dialog","aria-expanded":y,"aria-controls":y?S:void 0,"aria-label":V.summary,disabled:v,onClick:()=>de(d=>!d),children:[o.jsx(Kt,{harness:j.harness||"unknown",size:12,className:"s-rt-chip-mark",title:null}),o.jsxs("span",{className:"s-rt-chip-type",children:[o.jsx("span",{className:"s-rt-chip-model",style:{maxWidth:`${bn}ch`},children:o.jsx("span",{className:"s-rt-chip-model-text",children:V.modelLabel},V.modelLabel)}),Q&&V.effortLabel?o.jsxs(o.Fragment,{children:[o.jsx("span",{"aria-hidden":!0,className:"s-rt-chip-divider"}),o.jsx("span",{className:"s-rt-chip-effort","data-effort":j.effort,children:V.effortLabel})]}):null]}),o.jsx(vn,{})]}),y&&U?Os.createPortal(o.jsx("div",{ref:fe,id:S,role:"dialog","aria-label":"Runtime",tabIndex:-1,"data-placement":U.placement,className:"s-rt-panel",style:{left:U.left,width:pt,...U.placement==="up"?{bottom:window.innerHeight-U.top}:{top:U.top}},children:o.jsxs("div",{className:"s-rt-rail",children:[o.jsxs("div",{className:"s-rt-rail-main",children:[o.jsxs("div",{className:"s-rt-harnesses",role:"radiogroup","aria-label":"Harness",children:[o.jsx("span",{"aria-hidden":!0,className:"s-rt-marker",style:{height:ht-10,transform:`translateY(${De*ht+5}px)`}}),T.map((d,m)=>{const b=d.value===j.harness,x=d.disabled??!1;return o.jsxs("button",{type:"button",role:"radio","aria-checked":b,"aria-disabled":x||void 0,onClick:()=>{x||I.set({harness:d.value})},style:{height:ht},"data-on":b||void 0,"data-disabled":x||void 0,title:x?d.note:void 0,...I.cell("harness",m),className:"s-rt-harness",children:[o.jsx(Kt,{harness:d.value||"unknown",size:14,className:"s-rt-opt-mark",title:null}),o.jsx("span",{className:"s-rt-harness-label",children:d.label})]},d.value||"default")})]}),o.jsxs("div",{className:"s-rt-models-col",children:[D?o.jsx(En,{ctx:I}):null,o.jsx(Mn,{ctx:I})]})]}),o.jsx("div",{className:"s-rt-effort-foot",children:Q?o.jsx(yn,{ctx:I}):o.jsx(jn,{harnessLabel:V.harnessLabel})})]})}),document.body):null]})}const wt=Ys()??"",Xt=ss(wt),Se={schemaVersion:"openscout.runtime-capabilities.v1",catalogVersion:W.schemaVersion,defaults:{harness:wt,model:Xt,reasoningEffort:ns(wt,Xt)},defaultsByHarness:tn,harnesses:W.harnesses.filter(e=>e.enabled).map(e=>({id:e.id,label:e.label})),models:nn.map(e=>({id:e.id,label:e.label,...e.description?{description:e.description}:{},harnesses:[...e.harnesses]})),efforts:an.map(e=>({id:e.id,label:e.label,...e.description?{description:e.description}:{},harnesses:[...e.harnesses],...e.models?{models:[...e.models]}:{}}))};function Lr(e){return os({defaultsByHarness:e.defaultsByHarness,harnesses:e.harnesses.map(t=>({id:t.id,label:t.label??t.id})),models:e.models.map(t=>({id:t.id,label:t.label??t.id,description:t.description,harnesses:t.harnesses})),efforts:e.efforts.map(t=>({id:t.id,label:t.label,description:t.description,harnesses:t.harnesses,...t.models?.length?{models:[...t.models]}:{}}))})}const Nn="|";function Qt(e){return e<55296?e:e<57344?e+8192:e-2048}function kn(e,t){if(e===t)return 0;const r=Math.min(e.length,t.length);for(let s=0;s<r;s+=1){const a=e.charCodeAt(s),i=t.charCodeAt(s);if(a!==i)return Qt(a)<Qt(i)?-1:1}return e.length===t.length?0:e.length<t.length?-1:1}function Vt(e){return Number.isFinite(e)?e:0}function In(e,t){const r=Vt(e.createdAt),s=Vt(t.createdAt);return r!==s?r<s?-1:1:kn(e.id,t.id)}function Rn(e){return`${Number.isFinite(e.createdAt)?Math.max(0,Math.trunc(e.createdAt)):0}${Nn}${e.id}`}const An=10,Ln=80,Jt=300,Yt=100,as=2e3,Tn=An,we=new Map,ce=new Map;let is=0;function Ne(e){return e.trim()}function Dn(e){const t=new Map;for(const r of e)t.set(r.id,r);return[...t.values()].sort(In)}function $n(){if(we.size<=Tn)return;let e=null,t=Number.POSITIVE_INFINITY;for(const[r,s]of we)s.touchedAt<t&&(e=r,t=s.touchedAt);e&&we.delete(e)}function Me(e){const t=Ne(e),r=we.get(t);return r?(r.touchedAt=++is,r.messages):null}function Et(e,t,r={}){const s=Ne(e);if(!s)return[];const a=we.get(s),i=Dn(t).slice(-as);return we.set(s,{messages:i,historyLoaded:r.historyLoaded??a?.historyLoaded??!1,historyExhausted:r.historyExhausted??a?.historyExhausted??!1,touchedAt:++is}),$n(),i}function ls(e,t){const r=Me(e)??[];return Et(e,[...r,...t])}function cs(e){return we.get(Ne(e))?.historyLoaded??!1}function Pn(e){const t=we.get(Ne(e));return!!(t&&t.historyLoaded&&!t.historyExhausted&&t.messages.length>0&&t.messages.length<as)}async function Tr(e,t={}){const r=Ne(e);if(!r)return[];const s=Me(r);if(s&&!t.refresh)return s;const a=ce.get(r);if(a)return a;const i=te(`/api/messages?conversationId=${encodeURIComponent(r)}&limit=${Ln}`).then(f=>ls(r,f));ce.set(r,i);try{return await i}finally{ce.delete(r)}}async function _n(e){const t=Ne(e);if(!t)return[];if(cs(t))return Me(t)??[];const r=`${t}:history`,s=ce.get(r);if(s)return s;const a=te(`/api/messages?conversationId=${encodeURIComponent(t)}&limit=${Jt}`).then(i=>Et(t,[...Me(t)??[],...i],{historyLoaded:!0,historyExhausted:i.length<Jt}));ce.set(r,a);try{return await a}finally{ce.delete(r)}}async function Dr(e){const t=Ne(e);if(!t)return[];if(!cs(t))return _n(t);if(!Pn(t))return Me(t)??[];const r=Me(t)??[],s=r[0];if(!s)return r;const a=Rn(s),i=`${t}:before:${a}`,f=ce.get(i);if(f)return f;const v=te(`/api/messages?conversationId=${encodeURIComponent(t)}&limit=${Yt}&beforeMessageId=${encodeURIComponent(a)}`).then(g=>Et(t,[...g,...Me(t)??[]],{historyLoaded:!0,historyExhausted:g.length<Yt}));ce.set(i,v);try{return await v}finally{ce.delete(i)}}const On=12e4,He=new Map;function Fn(){const e=globalThis.crypto?.randomUUID?.();return e?`web-${e}`:`web-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function Hn(e){const t=e.conversationId.trim(),r=e.messageId.trim();if(!t||!r)return;ls(t,[{id:r,conversationId:t,actorId:"operator",actorName:"operator",body:e.body,createdAt:e.createdAt,class:"operator",...e.attachments?.length?{attachments:e.attachments}:{},metadata:{clientMessageId:e.clientMessageId}}]);const s=e.flightId?.trim(),a=e.agentId?.trim();!s||!a||He.set(t,{flight:{id:s,invocationId:e.invocationId?.trim()||`pending:${s}`,agentId:a,agentName:null,conversationId:t,collaborationRecordId:null,state:"queued",summary:"Request accepted; waiting for worker activity.",startedAt:e.createdAt,completedAt:null,sessions:[]},expiresAt:Date.now()+On})}function $r(e,t=Date.now()){const r=e.trim(),s=He.get(r);return s?s.expiresAt<=t?(He.delete(r),null):s.flight:null}function Pr(e,t){const r=e.trim(),s=He.get(r);s&&(!t||s.flight.id===t)&&He.delete(r)}const Un=1200,Bn=new Set(["Page","URL"]);function ds(e){return e.trim().slice(0,Un)}function Gn(e){const t=[{label:"Page",value:e.pageTitle??""},{label:"URL",value:e.pageUrl??""}];return e.selection?.trim()&&t.push({label:"Selection",value:ds(e.selection)}),(e.notes??[]).forEach((r,s)=>{t.push({label:`Note ${s+1}`,value:r})}),t.filter(r=>r.value.trim())}function qn(e,t){const r=[];for(const a of t){const i=a.value.trim();i&&(Bn.has(a.label)?r.push(`${a.label}: ${i}`):r.push(`${a.label}:
|
|
2
|
-
${i.split(`
|
|
3
|
-
`).map(f=>`> ${f}`).join(`
|
|
4
|
-
`)}`))}const s=e.trim();return s&&r.push(s),r.join(`
|
|
5
|
-
|
|
6
|
-
`)}const Kn=6,Zt=1600;function Wn(e){return e===0?"":e===1?"[1 attachment remains on the source Scout message; not copied]":`[${e} attachments remain on the source Scout message; not copied]`}function us(e){const t=e.body.trim(),r=Wn(e.attachmentCount??0),s=[t,r].filter(Boolean).join(`
|
|
7
|
-
`)||"(message has no text)";return s.length<=Zt?s:`${s.slice(0,Zt-1).trimEnd()}…`}function zn(e){const t=us(e).split(/\r?\n/gu).map(r=>`> ${r}`).join(`
|
|
8
|
-
`);return`Forwarded from ${e.actorLabel} in Scout
|
|
9
|
-
|
|
10
|
-
${t}`}function _r(e){const t=e.messages.findIndex(i=>i.id===e.selectedMessageId);if(t<0)throw new Error("The selected message is no longer available in this conversation.");const r=e.messages[t],s=e.messages.slice(Math.max(0,t-Kn),t).filter(i=>i.body.trim()||(i.attachmentCount??0)>0),a=s.map(i=>`${i.actorLabel}:
|
|
11
|
-
${us(i)}`).join(`
|
|
12
|
-
|
|
13
|
-
`).slice(-8e3).trim();return{selectedMessage:zn(r),selectedMessageId:r.id,sourceConversationId:e.conversationId,...a?{recentContext:a}:{},recentMessageCount:s.length}}function Xn(e,t,r){const s=r.trim(),a=t==="instructions-only"?"":t==="recent-context"&&e.recentContext?[`Recent Scout conversation before the forwarded message (${e.recentMessageCount} ${e.recentMessageCount===1?"message":"messages"})`,e.recentContext,e.selectedMessage].join(`
|
|
14
|
-
|
|
15
|
-
`):e.selectedMessage;return s?a?`${s}
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
${a}`:s:a}function et(e){const t=e?.trim();return t?t.length>1?t.replace(/\/+$/u,""):t:null}function vt(e){return e.split("/").filter(Boolean).at(-1)??e}function Qn(e,t,r="claude"){const s=new Map;for(const a of e){const i=et(a.root);i&&s.set(i,{id:a.id||`project:${i}`,title:a.title?.trim()||vt(i),root:i,defaultHarness:a.defaultHarness?.trim()||r,source:"inventory",registrationKind:a.registrationKind?.trim()||null})}for(const a of t){const i=et(a.projectRoot??a.cwd);!i||s.has(i)||s.set(i,{id:`agent-project:${i}`,title:a.project?.trim()||vt(i),root:i,defaultHarness:a.harness?.trim()||r,source:"agent",registrationKind:null})}return[...s.values()].sort((a,i)=>a.title.localeCompare(i.title,void 0,{sensitivity:"base"})||a.root.localeCompare(i.root))}function Vn(e,t){const r=e.title.toLocaleLowerCase(),s=e.root.toLocaleLowerCase(),a=vt(e.root).toLocaleLowerCase();return r===t||a===t||s===t?0:r.startsWith(t)||a.startsWith(t)?1:s.startsWith(t)?2:t.split(/\s+/u).filter(Boolean).every(f=>r.includes(f)||s.includes(f))?3:null}function Jn(e,t){const r=t.trim().toLocaleLowerCase();return r?e.map(s=>({project:s,score:Vn(s,r)})).filter(s=>s.score!==null).sort((s,a)=>s.score-a.score||s.project.title.localeCompare(a.project.title,void 0,{sensitivity:"base"})||s.project.root.localeCompare(a.project.root)).map(s=>s.project):[...e]}function Yn(e,t){return e===t||e.startsWith(`${t}/`)}function Zn(e,t){const r=et(t.preferredRoot);if(r){const a=e.find(i=>i.root===r);if(a)return a}const s=et(t.currentDirectory);if(s){const a=e.filter(i=>Yn(s,i.root)).sort((i,f)=>f.root.length-i.root.length)[0];if(a)return a}return e[0]??null}async function er(e){await te("/api/send",{method:"POST",body:JSON.stringify({conversationId:e.conversationId,body:e.body?.trim()??"",attachments:e.attachments})})}async function tr(e,t){const r=t?.attachments?.filter(Boolean)??[],s=t?.instructions?.trim(),a=Ws(e),i=s||r.length>0?{...a,seed:{...s?{instructions:s}:{},...r.length>0?{attachments:r}:{},...t?.clientMessageId?{clientMessageId:t.clientMessageId}:{}}}:a;return await te("/api/sessions",{method:"POST",body:JSON.stringify(i)})}async function sr(e){const t=e.projectPath.trim(),r=e.harness?.trim(),s=e.model?.trim(),a=e.reasoningEffort?.trim(),i=e.instructions?.trim(),f=e.fromMessageId?.trim(),v=e.fromConversationId?.trim(),g=e.attachments?.filter(Boolean)??[];return te("/api/sessions",{method:"POST",body:JSON.stringify({target:{projectPath:t},execution:{session:"new",...r?{harness:r}:{},...s?{model:s}:{},...a?{reasoningEffort:a}:{}},agent:{persistence:"one_time"},...i||g.length>0||f&&v?{seed:{...i?{instructions:i}:{},...g.length>0?{attachments:g}:{},...e.clientMessageId?{clientMessageId:e.clientMessageId}:{},...f&&v?{fromMessageId:f,fromConversationId:v}:{}}}:{}})})}async function Or(e){return te("/api/sessions",{method:"POST",body:JSON.stringify({target:{agentId:e.agentId.trim()},execution:{session:"existing",targetSessionId:e.sessionId.trim()},seed:{instructions:e.instructions.trim()}})})}function Fr(e){const t=e?.trim().toLowerCase();if(t)switch(t){case"claude":case"claude-code":case"claude_code":case"claude_stream_json":return"claude";case"codex":case"codex_app_server":return"codex";case"pi":case"pi_rpc":return"pi";case"cursor":case"cursor_exec":return"cursor";case"grok":return"grok";default:return}}async function Hr(e){const t=e.projectPath.trim(),r=e.sessionId.trim(),s=e.instructions.trim(),a=e.harness?.trim()||void 0,i=e.model?.trim()||void 0,f=e.reasoningEffort?.trim()||void 0;return te("/api/sessions",{method:"POST",body:JSON.stringify({target:{projectPath:t},execution:{session:"existing",targetSessionId:r,...a?{harness:a}:{},...i?{model:i}:{},...f?{reasoningEffort:f}:{}},seed:{instructions:s}})})}async function nr(e,t){const r=t.message?.trim();if(t.mode==="existing-chat"){const i=await Ks(e);return await er({conversationId:i,body:r||"Shared capture",attachments:t.attachments}),{conversationId:i,agentId:e.id}}const s=await tr(e,{instructions:r||"Shared capture for context.",attachments:t.attachments}),a=s.conversationId?.trim();if(!a)throw new Error("Session started, but no conversation was returned.");return{conversationId:a,agentId:s.agentId?.trim()||e.id}}const fs=Se.harnesses.map(e=>({id:e.id,label:e.label??e.id,description:null,state:null,ready:null,detail:null})),rr=Se.models.map(e=>({id:e.id,label:e.label??e.id,description:e.description??null,harnesses:[...e.harnesses],source:"catalog"})),or=Se.efforts.map(e=>({...e,harnesses:[...e.harnesses],...e.models?{models:[...e.models]}:{}})),Ze={defaults:{harness:Se.defaults?.harness??"claude",model:Se.defaults?.model??null,reasoningEffort:Se.defaults?.reasoningEffort??"medium"},defaultsByHarness:Se.defaultsByHarness,harnesses:fs,models:rr,efforts:or};let bt=null;const es=5;function ar(e,t){const r=e.defaults.harness===t?e.defaults.model?.trim()??"":"";return r&&e.models.some(s=>s.id===r&&s.harnesses.includes(t))?r:e.models.find(s=>s.harnesses.includes(t))?.id??""}function ir(e,t){const r=e.efforts.filter(s=>s.harnesses.includes(t));return r.find(s=>s.id===e.defaults.reasoningEffort)?.id??r.find(s=>s.id==="medium")?.id??r[0]?.id??""}function lr(e){return URL.createObjectURL(e)}function xt(e){return e.replace(/^\/Users\/[^/]+/u,"~")}function cr(e){return e.split("/").filter(Boolean).at(-1)??e}function dr(e){const t=e.trim();return t.startsWith("/")||t.startsWith("~/")}function ur({file:e,onRemove:t}){const r=l.useMemo(()=>lr(e),[e]);l.useEffect(()=>()=>URL.revokeObjectURL(r),[r]);const s=e.type.startsWith("video/"),a=e.type.startsWith("image/");return o.jsxs("div",{className:"s-newchat-attachment",children:[s?o.jsx("video",{src:r,muted:!0,playsInline:!0}):a?o.jsx("img",{src:r,alt:e.name}):o.jsxs("div",{className:"s-newchat-attachment-file",title:e.name,children:[o.jsx(Vs,{size:24,"aria-hidden":"true"}),o.jsx("span",{children:e.name})]}),o.jsx("span",{className:"s-newchat-attachment-badge",children:s?"video":a?"image":"file"}),o.jsx("button",{type:"button",className:"s-newchat-attachment-remove","aria-label":`Remove ${e.name}`,onClick:t,children:"×"})]})}function fr({agents:e,route:t,navigate:r,onClose:s,initialAgentId:a,initialConversationId:i,initialMessage:f,initialFiles:v,initialAttachmentFeedback:g,initialIntent:F="new-task",initialProjectPath:L,initialForwardContext:y,initialForwardContextMode:de="selected-message",defaultMode:z,draftRestored:X=!1,onDraftChange:Ue,onDraftConsumed:Be}){const j=l.useMemo(()=>cn(t,e),[t,e]),C=F==="forward-message"&&!!y,ue=l.useMemo(()=>[...e].sort((n,c)=>(c.updatedAt??0)-(n.updatedAt??0)),[e]),fe=F==="route-capture"?a??j.agentId??null:null,me=F==="route-capture"?i??j.conversationId:null,S=ue.find(n=>n.id===fe)??null,ve=S?.projectRoot??S?.cwd??null,[T,Ae]=l.useState(null),[$,se]=l.useState(bt),[Le,Q]=l.useState(null),[D,V]=l.useState(null),[N,he]=l.useState(()=>L||ve||""),[R,A]=l.useState(""),[ne,k]=l.useState(0),[pe,ye]=l.useState(!1),[Te,U]=l.useState(null),[M,J]=l.useState(()=>f??""),[re,De]=l.useState(de),[I,d]=l.useState({open:!1,query:"",triggerStart:-1,index:0}),[m,b]=l.useState({open:!1,query:"",triggerStart:-1,index:0}),[x,O]=l.useState(()=>[...v??[]]),[B,Ge]=l.useState(()=>z||(me?"existing-chat":"new-session")),[tt,ge]=l.useState("idle"),[ms,st]=l.useState("idle"),[St,je]=l.useState(null),[qe,Mt]=l.useState(()=>g??null),[$e]=l.useState(()=>{if(typeof window>"u")return{title:"",url:"",selection:""};const n=document.activeElement,c=n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement;return{title:document.title,url:window.location.href,selection:c?"":ds(window.getSelection()?.toString()??"")}}),[nt,hs]=l.useState(!1),[oe,Nt]=l.useState(()=>S?.harness?.trim()||Ze.defaults.harness),[Ke,kt]=l.useState(()=>S?.model?.trim()||Ze.defaults.model||""),[We,It]=l.useState(Ze.defaults.reasoningEffort||""),[rt,Rt]=l.useState(()=>X?"Restored your unsent draft.":null),[ps,ot]=l.useState(0),{ref:gs,onKeyDown:bs}=qs(!0),P=l.useRef(null),at=l.useRef(null),Ce=l.useRef(0),ze=l.useRef(!!L),At=l.useRef(!1),Y=l.useMemo(()=>Qn(T?.projects??[],e,T?.context.defaultHarness??"claude"),[e,T]),E=Y.find(n=>n.root===N)??null??(N?{id:`direct:${N}`,title:cr(N),root:N,defaultHarness:T?.context.defaultHarness??S?.harness??"claude",source:"agent",registrationKind:null}:null),it=l.useMemo(()=>{const n=new Set,c=E?ue.filter(u=>u.projectRoot?.trim()===E.root||u.cwd?.trim()===E.root):[];return(c.length>0?c:ue).flatMap(u=>{if(u.retiredFromFleet)return[];const p=u.handle?.trim().replace(/^@+/,"")||Fs(u.id)||"",q=p.toLowerCase();return!p||n.has(q)?[]:(n.add(q),[{id:u.id,label:p,name:u.name||p,handle:p}])})},[E,ue]),Z=($?.harnesses??fs).find(n=>n.id===oe)??null,ke=!$&&!D,Lt=l.useMemo(()=>{const n=os($??Ze);return oe&&!n.harnesses.some(c=>c.value===oe)?{...n,harnesses:[...n.harnesses,{value:oe,label:oe,models:[{value:"",label:"Default",note:"harness picks"}]}]}:n},[$,oe]),Pe=l.useMemo(()=>Jn(Y,R),[R,Y]),ee=l.useMemo(()=>{const n=Pe.slice(0,es);if(!N||n.some(h=>h.root===N))return n;const c=Pe.find(h=>h.root===N);return c?[c,...n.slice(0,es-1)]:n},[Pe,N]),be=dr(R)&&!Y.some(n=>n.root===R.trim())?R.trim():null,Xe=ee.length+(be?1:0),xs=Math.max(0,(R.trim()?Pe.length:Y.length)-ee.length),ws=!!(S&&E&&[S.projectRoot,S.cwd].some(n=>n?.trim()===E.root)),G=x.length>0,w=tt==="starting",Tt=ps>0,Qe=ws&&!!(S?.conversationId||me),xe=!G||!Qe||B==="new-session",Dt=xe&&(ke||Z?.ready===!1),$t=C?"Forward to new task":G?"Route capture":"New task",Pt=l.useMemo(()=>C?[]:Gn({pageTitle:$e.title,pageUrl:$e.url,selection:nt?$e.selection:void 0}),[nt,C,$e]),ae=C&&y?Xn(y,re,M):qn(M,Pt),vs=ms==="uploading"?"Uploading capture":C?"Forwarding to new task":G?"Routing capture":"Sending message",ys=G?`Submitted to ${E?.title??S?.name??"Scout"}. Opening the chat when the broker returns it.`:ae?`Routing your first message through /${E?.title??S?.name??"project"}.`:`Starting a project-routed chat in /${E?.title??S?.name??"project"}.`,_t=G&&Qe,js=xe&&(ke||!!D||Z?.ready===!1),Cs=_t||!C&&js,ie=l.useMemo(()=>{if(!I.open)return[];const n=I.query.toLowerCase();return n?Wt.filter(c=>c.command.toLowerCase().startsWith(`/${n}`)||c.command.toLowerCase().includes(n)):Wt},[I.open,I.query]),le=l.useMemo(()=>{if(!m.open)return[];const n=m.query.toLowerCase();return n?it.filter(c=>c.handle.toLowerCase().includes(n)||c.name.toLowerCase().includes(n)||c.label.toLowerCase().includes(n)).slice(0,8):it.slice(0,8)},[it,m.open,m.query]),lt=l.useCallback(()=>{d(n=>n.open?{...n,open:!1}:n),b(n=>n.open?{...n,open:!1}:n)},[]),_e=l.useCallback((n,c)=>{const h=Hs(n,c);d(p=>h?{open:!0,query:h.query,triggerStart:h.start,index:p.open&&p.triggerStart===h.start?p.index:0}:p.open?{...p,open:!1}:p);const u=Us(n,c);b(p=>u?{open:!0,query:u.query,triggerStart:u.start,index:p.open&&p.triggerStart===u.start?p.index:0}:p.open?{...p,open:!1}:p)},[]),Es=l.useCallback((n,c)=>{J(n),_e(n,c?.caret??n.length)},[_e]),ct=l.useCallback(n=>{const c=I.triggerStart;if(c<0)return;const h=P.current?.selectionStart??M.length,u=M.slice(0,c),p=M.slice(h),q=`${u}${n.insert}${p}`;J(q),d(K=>({...K,open:!1})),requestAnimationFrame(()=>{const K=P.current;if(!K)return;const _=u.length+n.insert.length;K.focus(),K.setSelectionRange(_,_)})},[M,I.triggerStart]),dt=l.useCallback(n=>{const c=m.triggerStart;if(c<0)return;const h=P.current?.selectionStart??M.length,u=M.slice(0,c),p=M.slice(h),q=`@${n.handle}${p.length===0||!p.startsWith(" ")?" ":""}`,K=`${u}${q}${p}`;J(K),b(_=>({..._,open:!1})),requestAnimationFrame(()=>{const _=P.current;if(!_)return;const Ie=u.length+q.length;_.focus(),_.setSelectionRange(Ie,Ie)})},[m.triggerStart,M]),Ot=l.useCallback(n=>{if(w)return;const h=P.current?.selectionStart??M.length,u=M.slice(0,h),p=M.slice(h),K=`${u&&!/\s$/.test(u)?" ":""}${n}`,_=`${u}${K}${p}`,Ie=u.length+K.length;J(_),_e(_,Ie),requestAnimationFrame(()=>{const ft=P.current;ft&&(ft.focus(),ft.setSelectionRange(Ie,Ie))})},[w,M,_e]),Ss=l.useCallback(n=>{const c=I.open&&ie.length>0,h=m.open&&le.length>0;if(!c&&!h)return!1;if(n.key==="ArrowDown")return c?d(u=>({...u,index:(u.index+1)%ie.length})):b(u=>({...u,index:(u.index+1)%le.length})),!0;if(n.key==="ArrowUp")return c?d(u=>({...u,index:(u.index-1+ie.length)%ie.length})):b(u=>({...u,index:(u.index-1+le.length)%le.length})),!0;if(n.key==="Escape")return lt(),!0;if((n.key==="Enter"||n.key==="Tab")&&!n.shiftKey&&!n.metaKey&&!n.ctrlKey&&!n.altKey){if(c){const u=ie[I.index]??ie[0];u&&ct(u)}else{const u=le[m.index]??le[0];u&&dt(u)}return!0}return!1},[dt,ct,lt,le,ie,m.index,m.open,I.index,I.open]),ut=l.useCallback(()=>{w||s()},[w,s]),Ms=l.useCallback(()=>{Rt("Draft kept open. Use Esc or × when you are ready to close it."),requestAnimationFrame(()=>P.current?.focus())},[]);l.useEffect(()=>{const n=c=>{c.key==="Escape"&&(c.preventDefault(),ut())};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[ut]),l.useEffect(()=>{if(!rt)return;const n=window.setTimeout(()=>Rt(null),5e3);return()=>window.clearTimeout(n)},[rt]),l.useEffect(()=>{P.current?.focus()},[]),l.useEffect(()=>{let n=!1;return te("/api/agent-config/snapshot").then(c=>{n||(Ae(c),Q(null))}).catch(c=>{n||Q(c instanceof Error?c.message:"Could not load projects.")}),()=>{n=!0}},[]);const Ve=l.useCallback(()=>{te("/api/runner/options").then(n=>{bt=n,se(n),V(null)}).catch(()=>{bt||V("Model catalog unavailable. Harness defaults are still available.")})},[]);l.useEffect(()=>{Ve()},[Ve]),l.useEffect(()=>{if(ze.current||Y.length===0)return;const n=Zn(Y,{preferredRoot:ve,currentDirectory:T?.context.currentDirectory});n&&he(n.root)},[T?.context.currentDirectory,ve,Y]),l.useEffect(()=>{if(At.current)return;const n=E?.defaultHarness?.trim()||S?.harness?.trim()||$?.defaults.harness||"claude";if(Nt(n),!$)return;const c=S?.model?.trim()??"",h=$.models.some(u=>u.id===c&&u.harnesses.includes(n));kt(h?c:ar($,n)),It(ir($,n))},[S?.harness,S?.model,$,E?.defaultHarness,E?.root]),l.useLayoutEffect(()=>{Ue?.({intent:F,...fe?{agentId:fe}:{},...me?{conversationId:me}:{},message:M,files:x,attachmentFeedback:qe,mode:B,projectPath:N,projectQuery:R,...C&&y?{forwardContext:y}:{},forwardContextMode:re})},[qe,x,re,y,F,C,M,B,Ue,N,R,fe,me,E?.title]);const Ft=l.useCallback((n,c="Added")=>{if(w)return;const h=n.filter(Gt),u=n.filter(p=>!Gt(p));if(h.length>0&&(O(p=>[...p,...h]),Mt(h.length===1?`${c} ${h[0]?.name??"1 attachment"}.`:`${c} ${h.length} attachments.`)),u.length>0){const p=u.length===1?u[0]?.name??"That file":`${u.length} files`;je(`${p} ${u.length===1?"is":"are"} not supported. Attach markdown, code, an image, or a video clip.`)}else h.length>0&&je(null)},[w]),Je=l.useCallback((n,c)=>{const h=Ps(n);if(h.length===0){je("Scout could not read that file. Try dropping or pasting it again.");return}Ft(h,c)},[Ft]),Ns=l.useCallback(n=>{w||!Ye(n.dataTransfer)||(n.preventDefault(),n.stopPropagation(),Ce.current+=1,ot(Ce.current))},[w]),ks=l.useCallback(n=>{w||!Ye(n.dataTransfer)||(n.preventDefault(),n.stopPropagation(),n.dataTransfer.dropEffect="copy")},[w]),Is=l.useCallback(n=>{Ce.current!==0&&(n.preventDefault(),n.stopPropagation(),Ce.current=Math.max(0,Ce.current-1),ot(Ce.current))},[]),Rs=l.useCallback(n=>{Ye(n.dataTransfer)&&(n.preventDefault(),n.stopPropagation(),Ce.current=0,ot(0),Je(n.dataTransfer,"Added"))},[Je]),As=l.useCallback(n=>{w||!Ye(n.clipboardData)||(n.preventDefault(),n.stopPropagation(),Je(n.clipboardData,"Pasted"))},[Je,w]),Ht=n=>{ze.current=!0,he(n.root),A(""),k(0),ye(!1),U(null),requestAnimationFrame(()=>P.current?.focus())},Ut=n=>{const c=n.trim();c&&(ze.current=!0,he(c),A(""),k(0),ye(!1),U(null),requestAnimationFrame(()=>P.current?.focus()))},Ls=()=>{ze.current=!0,he(""),A(""),k(0),ye(!1),U(null),requestAnimationFrame(()=>P.current?.focus())},Ts=n=>{if(n.key==="ArrowDown"||n.key==="ArrowUp"){n.preventDefault(),k(c=>{if(Xe===0)return 0;const h=n.key==="ArrowDown"?1:-1;return(c+h+Xe)%Xe});return}if(n.key==="Enter"){n.preventDefault();const c=ee[ne];c?Ht(c):be&&ne===ee.length&&Ut(be);return}n.key==="Escape"&&pe&&R&&(n.preventDefault(),n.stopPropagation(),A(""),k(0))},Bt=n=>{At.current=!0,Nt(n.harness),kt(n.model),It(n.effort)},Ds=async()=>{if(w)return;if(C&&!ae){je("Add instructions, or choose a context option that includes the source message."),requestAnimationFrame(()=>P.current?.focus());return}if(!E){je(null),U("Choose a project before starting this task."),ye(!0),requestAnimationFrame(()=>at.current?.focus());return}if(Dt)return;ge("starting"),st(x.length>0?"uploading":"starting"),je(null);const n=Fn(),c=Date.now();try{let h=[];if(x.length>0&&(h=await _s(x),st("starting")),G&&S&&Qe&&B==="existing-chat"){const _=await nr(S,{mode:B==="existing-chat"&&Qe?"existing-chat":"new-session",message:ae,attachments:h});J(""),O([]),Mt(null),r({view:"agents-v2",agentId:_.agentId,conversationId:_.conversationId,tab:"message"}),Be?.(),s();return}const u=await sr({projectPath:E.root,harness:oe,...Ke?{model:Ke}:{},...We?{reasoningEffort:We}:{},...ae?{instructions:ae}:G?{instructions:"Shared capture for context."}:{},...h.length>0?{attachments:h}:{},...C&&y?{fromMessageId:y.selectedMessageId,fromConversationId:y.sourceConversationId}:{},clientMessageId:n}),p=u.conversationId?.trim();if(!p)throw new Error("Message sent, but no Chat was returned.");const q=u.messageId?.trim();q&&Hn({conversationId:p,messageId:q,clientMessageId:n,body:ae||(h.length>0?"Shared capture for context.":"New session started."),attachments:h,agentId:u.agentId,flightId:u.flightId,invocationId:u.invocationId,createdAt:c}),J(""),r({view:"conversation",conversationId:p}),Be?.(),s()}catch(h){je(h instanceof Error?h.message:G?"Could not route capture.":"Could not send message."),ge("idle"),st("idle")}};return o.jsx("div",{className:"s-newchat-backdrop",onClick:Ms,onDragEnter:Ns,onDragOver:ks,onDragLeave:Is,onDrop:Rs,onPaste:As,role:"presentation",children:o.jsxs("div",{ref:gs,className:`s-newchat-panel${w?" s-newchat-panel--starting":""}${Tt?" s-newchat-panel--dragging":""}`,role:"dialog","aria-modal":"true","aria-label":$t,onClick:n=>n.stopPropagation(),onKeyDown:bs,tabIndex:-1,children:[o.jsxs("header",{className:"s-newchat-head",children:[o.jsx("span",{className:"s-newchat-title",children:$t}),o.jsx("div",{className:"s-newchat-head-status",children:o.jsx("span",{role:"status","aria-live":"polite",children:rt})}),o.jsx("button",{type:"button",className:"s-newchat-close",onClick:ut,disabled:w,"aria-label":"Close (Esc)",title:"Close (Esc)",children:o.jsx(zs,{size:14,"aria-hidden":"true"})})]}),Tt?o.jsx("div",{className:"s-newchat-drop-prompt",role:"status","aria-live":"polite",children:"Drop to attach markdown, code, images, or video"}):null,o.jsxs("div",{className:"s-newchat-body",children:[o.jsxs("div",{className:"s-newchat-lead",children:[C?o.jsx("p",{className:"s-newchat-forward-intro",children:"Choose the destination, runtime, and visible Scout context to carry into a fresh task."}):null,o.jsx(Gs,{context:Pt,selection:$e.selection,attached:nt,onToggleSelection:()=>hs(n=>!n)}),o.jsxs("div",{className:"s-newchat-project-bar",children:[o.jsx("span",{className:"label-md s-newchat-project-label",children:"Project"}),o.jsxs("button",{type:"button",className:"s-newchat-project-summary","data-empty":E?void 0:"true","aria-expanded":pe,"aria-controls":"s-newchat-project-panel","aria-describedby":Te?"s-newchat-project-reminder":void 0,disabled:w,onClick:()=>{const n=!pe;ye(n),requestAnimationFrame(n?()=>at.current?.focus():()=>P.current?.focus())},children:[o.jsx("span",{className:"s-newchat-project-summary-title",children:E?`/${E.title}`:"Choose a project"}),E?o.jsx("span",{className:"s-newchat-project-summary-path",title:E.root,children:xt(E.root)}):o.jsx("span",{className:"s-newchat-project-summary-path",children:"Required when you send"}),o.jsx(Xs,{size:13,"aria-hidden":"true"})]})]}),Te?o.jsx("p",{id:"s-newchat-project-reminder",className:"s-newchat-project-reminder",role:"alert",children:Te}):null,pe?o.jsxs("div",{id:"s-newchat-project-panel",className:"s-newchat-project-panel",children:[o.jsxs("div",{className:"s-newchat-project-picker",children:[o.jsx(Qs,{size:13,"aria-hidden":"true",className:"s-newchat-project-search-icon"}),o.jsx("input",{ref:at,id:"s-newchat-project-search",className:"s-newchat-project-search",type:"search",role:"combobox","aria-label":"Filter projects or enter a project path","aria-autocomplete":"list","aria-expanded":"true","aria-controls":"s-newchat-project-results","aria-activedescendant":Xe>0?`s-newchat-project-option-${ne}`:void 0,value:R,placeholder:T?"Filter projects, or type a path…":"Loading projects…",disabled:w,spellCheck:!1,autoComplete:"off",onChange:n=>{A(n.currentTarget.value),k(0)},onKeyDown:Ts})]}),o.jsxs("div",{id:"s-newchat-project-results",className:"s-newchat-project-results",role:"listbox","aria-label":"Projects",children:[ee.map((n,c)=>o.jsxs("div",{id:`s-newchat-project-option-${c}`,role:"option","aria-selected":n.root===N,"aria-disabled":w||void 0,className:"s-newchat-project-option","data-active":c===ne||void 0,onMouseDown:h=>h.preventDefault(),onMouseEnter:()=>k(c),onClick:()=>{w||Ht(n)},children:[o.jsxs("span",{className:"s-newchat-project-option-title",children:["/",n.title]}),o.jsx("span",{className:"s-newchat-project-option-path",children:xt(n.root)})]},n.root)),be?o.jsxs("div",{id:`s-newchat-project-option-${ee.length}`,role:"option","aria-selected":be===N,"aria-disabled":w||void 0,className:"s-newchat-project-option s-newchat-project-option--path","data-active":ne===ee.length||void 0,onMouseDown:n=>n.preventDefault(),onMouseEnter:()=>k(ee.length),onClick:()=>{w||Ut(be)},children:[o.jsx("span",{className:"s-newchat-project-option-title",children:"Use this project path"}),o.jsx("span",{className:"s-newchat-project-option-path",children:xt(be)})]}):null,ee.length===0&&!be?o.jsx("p",{className:"s-newchat-project-empty",children:"No project matched. Type an absolute path such as ~/dev/my-project."}):null]}),o.jsxs("div",{className:"s-newchat-project-panel-foot",children:[xs>0?o.jsxs("p",{className:"s-newchat-project-foot",children:[ee.length," of"," ",R.trim()?Pe.length:Y.length,R.trim()?" matches":" projects"," · type to narrow"]}):o.jsx("span",{}),E?o.jsx("button",{type:"button",className:"s-newchat-project-clear",onClick:Ls,children:"Clear project"}):null]}),Le&&Y.length===0?o.jsx("div",{className:"s-newchat-error",role:"alert",children:Le}):null]}):null,C&&y?o.jsxs("div",{className:"s-newchat-forward-config",children:[o.jsxs("div",{className:"s-newchat-field",children:[o.jsx("span",{className:"label-md s-newchat-field-label",children:"Runtime"}),o.jsx("div",{className:"s-newchat-forward-runtime",children:o.jsx(zt,{catalog:Lt,value:{harness:oe,model:Ke,effort:We},onChange:Bt,status:ke?"loading":D?"error":"ready",statusMessage:D??void 0,onRetry:Ve,disabled:w||!xe})}),xe&&ke?o.jsxs("p",{className:"s-newchat-runtime-note","data-pending":"true",role:"status",children:[o.jsx(mt,{size:11,className:"s-newchat-runtime-note-spinner","aria-hidden":"true"}),"Loading the model catalog…"]}):xe&&(D||Z?.ready===!1)?o.jsx("p",{className:"s-newchat-runtime-note",role:"alert",children:Z?.ready===!1?Z.detail||`${Z.label} is unavailable.`:D}):null]}),o.jsxs("div",{className:"s-newchat-field",children:[o.jsx("span",{id:"s-newchat-forward-context-label",className:"label-md s-newchat-field-label",children:"Context"}),o.jsxs("div",{className:"s-newchat-context-options",role:"radiogroup","aria-labelledby":"s-newchat-forward-context-label",children:[o.jsxs("button",{type:"button",className:"s-newchat-context-option",role:"radio","aria-checked":re==="selected-message",disabled:w,onClick:()=>De("selected-message"),children:[o.jsx("span",{className:"s-newchat-context-option-title",children:"Selected message"}),o.jsx("span",{className:"s-newchat-context-option-copy",children:"Carry only the message you chose."})]}),o.jsxs("button",{type:"button",className:"s-newchat-context-option",role:"radio","aria-checked":re==="recent-context",disabled:w||y.recentMessageCount===0,onClick:()=>De("recent-context"),children:[o.jsx("span",{className:"s-newchat-context-option-title",children:"Recent context + message"}),o.jsx("span",{className:"s-newchat-context-option-copy",children:y.recentMessageCount>0?`Carry ${y.recentMessageCount} preceding visible ${y.recentMessageCount===1?"message":"messages"}, then this message.`:"No preceding visible messages are available."})]}),o.jsxs("button",{type:"button",className:"s-newchat-context-option",role:"radio","aria-checked":re==="instructions-only",disabled:w,onClick:()=>De("instructions-only"),children:[o.jsx("span",{className:"s-newchat-context-option-title",children:"Instructions only"}),o.jsx("span",{className:"s-newchat-context-option-copy",children:"Start clean without source conversation text."})]})]}),o.jsx("p",{className:"s-newchat-context-note",children:"Recent context is a bounded Scout excerpt, not a generated summary or full model context."})]})]}):null,C?o.jsx("span",{className:"label-md s-newchat-field-label",children:"Instructions"}):null,o.jsx($s,{density:"panel",value:M,onChange:Es,onSend:()=>{Ds()},sendOnEnter:!0,textareaRef:P,placeholder:C?"Add what the new task should do (optional)…":G?"What should the agent do with this?":"Describe the task, or leave blank…","aria-label":C?"Instructions for the new task":"Message",disabled:w,sending:w,canSend:!w&&!Dt&&(!C||!!ae),rows:7,maxHeightPx:280,sendTitle:C?"Forward to new task (Enter)":G?"Route (Enter)":"Start task (Enter)",sendAriaLabel:C?"Forward to new task":G?"Route capture":"Start task",overlay:o.jsxs(o.Fragment,{children:[I.open?o.jsx(qt,{label:"Slash commands",placement:"inside",items:ie.map(n=>({id:n.command,token:n.label,description:n.description})),activeIndex:I.index,onPick:n=>{const c=ie[n];c&&ct(c)},onActiveIndexChange:n=>d(c=>({...c,index:n}))}):null,m.open?o.jsx(qt,{label:"Mention agent",placement:"inside",items:le.map(n=>({id:n.id,token:`@${n.handle}`,description:n.name,avatar:{label:n.name[0]?.toUpperCase()??"?",color:Bs(n.name)}})),activeIndex:m.index,onPick:n=>{const c=le[n];c&&dt(c)},onActiveIndexChange:n=>b(c=>({...c,index:n}))}):null]}),onSelect:n=>{const c=n.currentTarget;_e(c.value,c.selectionStart)},onBlur:()=>window.setTimeout(lt,120),onKeyDown:Ss,leadingTools:o.jsxs("div",{className:"s-newchat-compose-triggers","aria-label":"Message shortcuts",children:[o.jsx("button",{type:"button",className:"s-newchat-command-trigger",disabled:w,onClick:()=>Ot("/"),children:"/Commands"}),o.jsx("span",{"aria-hidden":"true",children:"·"}),o.jsx("button",{type:"button",className:"s-newchat-command-trigger",disabled:w,onClick:()=>Ot("@"),children:"@Agents"})]}),tools:C?void 0:o.jsx(zt,{catalog:Lt,value:{harness:oe,model:Ke,effort:We},onChange:Bt,status:ke?"loading":D?"error":"ready",statusMessage:D??void 0,onRetry:Ve,disabled:w||!xe})}),x.length>0?o.jsx("div",{className:"s-newchat-attachments","aria-label":"Attached captures",children:x.map((n,c)=>o.jsx(ur,{file:n,onRemove:()=>O(h=>h.filter((u,p)=>p!==c))},`${n.name}:${n.size}:${c}`))}):null,qe?o.jsx("div",{className:"s-newchat-attachment-feedback",role:"status","aria-live":"polite",children:qe}):null,St&&o.jsx("div",{className:"s-newchat-error",role:"alert",children:St}),w&&o.jsxs("div",{className:"s-newchat-progress",role:"status","aria-live":"polite",children:[o.jsx(mt,{size:14,className:"s-newchat-progress-spinner","aria-hidden":"true"}),o.jsxs("div",{className:"s-newchat-progress-copy",children:[o.jsx("span",{className:"label-md s-newchat-progress-title",children:vs}),o.jsx("span",{className:"s-newchat-progress-detail",children:ys}),ae&&o.jsx("span",{className:"s-newchat-progress-message",children:ae})]})]})]}),Cs?o.jsxs("div",{className:"s-newchat-config",children:[_t?o.jsxs("div",{className:"s-newchat-mode",role:"group","aria-label":"Delivery mode",children:[o.jsx("button",{type:"button",className:`s-newchat-mode-btn${B==="existing-chat"?" s-newchat-mode-btn--on":""}`,disabled:w,onClick:()=>Ge("existing-chat"),children:"Existing chat"}),o.jsx("button",{type:"button",className:`s-newchat-mode-btn${B==="new-session"?" s-newchat-mode-btn--on":""}`,disabled:w,onClick:()=>Ge("new-session"),children:"New chat"})]}):null,xe&&ke?o.jsxs("p",{className:"s-newchat-runtime-note","data-pending":"true",role:"status",children:[o.jsx(mt,{size:11,className:"s-newchat-runtime-note-spinner","aria-hidden":"true"}),"Loading the model catalog…"]}):xe&&(D||Z?.ready===!1)?o.jsx("p",{className:"s-newchat-runtime-note",role:"alert",children:Z?.ready===!1?Z.detail||`${Z.label} is unavailable.`:D}):null]}):null]})]})})}const Ur=Object.freeze(Object.defineProperty({__proto__:null,NewChatComposer:fr},Symbol.toStringTag,{value:"Module"}));export{fr as N,Se as R,zt as a,Me as b,Pn as c,Tr as d,Ee as e,Dr as f,_r as g,cs as h,Fn as i,Fr as j,Or as k,_n as l,Hr as m,cn as n,Ur as o,$r as p,Lr as r,Pr as s,Et as w};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.s-agents-actions{display:flex;flex-direction:column;gap:var(--space-3xs);padding:var(--space-md) var(--space-md) var(--space-sm);border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent);flex-shrink:0}.s-rail-action{display:flex;align-items:center;gap:var(--space-sm);width:100%;text-align:left;cursor:pointer;padding:var(--space-sm);border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--muted);font-family:var(--font-sans);font-size:var(--text-md);font-weight:500;transition:background .1s,color .1s,border-color .1s}.s-rail-action:hover{background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--ink)}.s-rail-action--primary{border-color:color-mix(in srgb,var(--border) 50%,transparent)}.s-rail-action-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex:none;color:var(--dim)}.s-rail-action:hover .s-rail-action-icon{color:var(--accent)}.s-rail-action-label{flex:1;min-width:0}.s-agents-recent{flex:1;min-height:0;overflow-y:auto;padding:14px 0}.s-rail-see-all{border:none;background:transparent;color:var(--muted);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-sm);text-transform:lowercase}.s-rail-see-all:hover{color:var(--accent)}.s-agents-foot{flex-shrink:0;margin-top:auto;padding:var(--space-sm) var(--space-md) var(--space-md);border-top:1px solid color-mix(in srgb,var(--border) 40%,transparent)}.s-rail-foot-icons{display:flex;align-items:center;gap:var(--space-2xs)}.s-rail-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--dim);cursor:pointer;transition:background .1s,color .1s}.s-rail-icon:hover{background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--ink)}.s-rail-icon--end{margin-left:auto}.s-newchat-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-start;justify-content:center;padding-top:8vh;background:color-mix(in srgb,var(--bg) 76%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.s-newchat-panel{display:flex;width:560px;max-height:84vh;flex-direction:column;max-width:calc(100vw - 48px);background:color-mix(in srgb,var(--surface) 96%,var(--bg));border:1px solid color-mix(in srgb,var(--ink) 15%,transparent);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 24px 60px -28px #0009}.s-newchat-panel--starting{box-shadow:0 24px 60px -28px #0009,0 0 0 1px color-mix(in srgb,var(--accent) 24%,transparent)}.s-newchat-panel--dragging{border-color:color-mix(in srgb,var(--accent) 72%,var(--border));box-shadow:0 24px 60px -28px #0009,0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.s-newchat-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid color-mix(in srgb,var(--ink) 10%,transparent);background:color-mix(in srgb,var(--bg) 46%,var(--surface))}.s-newchat-title{flex:0 0 auto;font-size:var(--text-md);font-weight:600;color:var(--ink)}.s-newchat-head-status{display:grid;min-width:0;flex:1;padding:0 var(--space-md);color:color-mix(in srgb,var(--ink) 72%,transparent);font-size:var(--text-xs);line-height:var(--leading-normal);text-align:right}.s-newchat-head-status>span{grid-area:1 / 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-newchat-head-status [role=alert]{color:var(--accent);font-weight:600}.s-newchat-drop-prompt{padding:var(--space-sm) var(--space-lg);border-bottom:1px solid color-mix(in srgb,var(--accent) 30%,transparent);background:color-mix(in srgb,var(--accent) 10%,var(--bg));color:var(--accent);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;text-align:center}.s-newchat-close{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer;line-height:1}.s-newchat-close:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.s-newchat-close:hover{color:var(--ink)}.s-newchat-close:disabled{cursor:default;opacity:.35}.s-newchat-body{display:flex;min-height:0;flex-direction:column;gap:var(--space-3xl);padding:var(--space-lg);overflow-y:auto}.s-newchat-lead{display:flex;min-width:0;flex-direction:column;gap:var(--space-sm)}.s-newchat-project-bar{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;min-width:0;padding:0 0 var(--space-xs);border-bottom:1px solid color-mix(in srgb,var(--ink) 8%,transparent)}.s-newchat-project-label{color:var(--dim)}.s-newchat-project-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:var(--space-sm);min-width:0;min-height:30px;padding:var(--space-2xs) var(--space-xs);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--ink);cursor:pointer;text-align:left}.s-newchat-project-summary:hover,.s-newchat-project-summary:focus-visible{outline:none;background:color-mix(in srgb,var(--ink) 5%,transparent)}.s-newchat-project-summary:disabled{cursor:default;opacity:.55}.s-newchat-project-summary-title,.s-newchat-project-summary-path{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-newchat-project-summary-title{font-size:var(--text-sm);font-weight:600}.s-newchat-project-summary[data-empty=true] .s-newchat-project-summary-title{color:var(--muted);font-weight:500}.s-newchat-project-summary-path{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);text-align:right}.s-newchat-project-summary svg{align-self:center;color:var(--dim);transition:transform .12s ease}.s-newchat-project-summary[aria-expanded=true] svg{transform:rotate(180deg)}.s-newchat-project-reminder{margin:calc(var(--space-2xs) * -1) 0 0 58px;color:var(--red);font-size:var(--text-xs)}.s-newchat-project-panel{display:flex;min-width:0;flex-direction:column;gap:var(--space-2xs);padding-left:58px}.s-newchat-project-panel-foot{display:flex;min-height:22px;align-items:center;justify-content:space-between;gap:var(--space-sm)}.s-newchat-project-clear{flex:0 0 auto;padding:var(--space-2xs) var(--space-xs);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--dim);font-size:var(--text-xs);cursor:pointer}.s-newchat-project-clear:hover,.s-newchat-project-clear:focus-visible{outline:none;background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink)}.s-newchat-config{display:flex;min-width:0;flex-direction:column;gap:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid color-mix(in srgb,var(--ink) 8%,transparent)}.s-newchat-field{display:flex;flex-direction:column;gap:var(--space-2xs)}.s-newchat-field-label{color:var(--muted)}.s-newchat-forward-intro{max-width:68ch;margin:0 0 var(--space-xs);color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-normal)}.s-newchat-forward-config{display:flex;min-width:0;flex-direction:column;gap:var(--space-lg);padding:var(--space-sm) 0 var(--space-md)}.s-newchat-forward-runtime{display:flex;min-height:34px;align-items:center;padding:0 var(--space-xs);border-bottom:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}.s-newchat-forward-runtime .s-rt-chip{min-height:28px;max-width:100%;border-radius:var(--radius-sm)}.s-newchat-context-options{display:flex;flex-direction:column;border-top:1px solid color-mix(in srgb,var(--ink) 10%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}.s-newchat-context-option{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.35fr);align-items:baseline;gap:var(--space-md);min-height:42px;padding:var(--space-xs) var(--space-sm);border:none;border-bottom:1px solid color-mix(in srgb,var(--ink) 7%,transparent);background:transparent;color:var(--ink);cursor:pointer;text-align:left}.s-newchat-context-option:last-child{border-bottom:none}.s-newchat-context-option:hover,.s-newchat-context-option:focus-visible{outline:none;background:color-mix(in srgb,var(--ink) 5%,transparent)}.s-newchat-context-option[aria-checked=true]{background:color-mix(in srgb,var(--accent) 8%,transparent)}.s-newchat-context-option[aria-checked=true] .s-newchat-context-option-title{color:var(--accent)}.s-newchat-context-option:disabled{cursor:default;opacity:.45}.s-newchat-context-option-title{font-size:var(--text-sm);font-weight:600}.s-newchat-context-option-copy,.s-newchat-context-note{color:var(--dim);font-size:var(--text-xs);line-height:var(--leading-normal)}.s-newchat-context-note{margin:var(--space-2xs) 0 0}.s-newchat-project-picker{position:relative}.s-newchat-project-search-icon{position:absolute;z-index:1;top:50%;left:var(--space-sm);color:var(--muted);pointer-events:none;transform:translateY(-50%)}.s-newchat-project-search{width:100%;box-sizing:border-box;min-height:36px;padding:var(--space-xs) var(--space-md) var(--space-xs) 30px;border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);border-radius:var(--radius-md);outline:none;background:color-mix(in srgb,var(--bg) 72%,var(--surface));color:var(--ink);font-family:var(--font-sans);font-size:var(--text-sm)}.s-newchat-project-search:focus{border-color:color-mix(in srgb,var(--accent) 54%,var(--border));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 10%,transparent)}.s-newchat-project-search::-webkit-search-cancel-button{opacity:.55}.s-newchat-project-results{display:flex;flex-direction:column;gap:1px;margin-top:var(--space-2xs)}.s-newchat-project-option{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:baseline;gap:var(--space-sm);width:100%;padding:var(--space-xs) var(--space-sm);border:none;border-left:2px solid transparent;border-radius:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.s-newchat-project-option:hover,.s-newchat-project-option[data-active=true]{background:color-mix(in srgb,var(--ink) 6%,transparent)}.s-newchat-project-option[aria-selected=true]{border-left-color:color-mix(in srgb,var(--accent) 60%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.s-newchat-project-option[aria-selected=true] .s-newchat-project-option-title{color:var(--accent)}.s-newchat-project-option[aria-disabled=true]{cursor:default;opacity:.55}.s-newchat-project-option--path{border-top:1px solid color-mix(in srgb,var(--border) 38%,transparent)}.s-newchat-project-option-title,.s-newchat-project-option-path{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-newchat-project-option-title{font-size:var(--text-sm);font-weight:600}.s-newchat-project-option-path{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs)}.s-newchat-project-empty{margin:0;padding:var(--space-md) var(--space-sm);color:var(--muted);font-size:var(--text-xs);line-height:var(--leading-normal)}.s-newchat-project-foot{margin:0;padding-left:var(--space-sm);color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs)}.s-newchat-target{margin:0;overflow:hidden;color:var(--dim);text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:var(--text-2xs)}.s-newchat-runtime-note{display:flex;align-items:center;gap:var(--space-xs);margin:0;color:var(--amber);font-size:var(--text-xs);line-height:var(--leading-normal)}.s-newchat-runtime-note[data-pending=true]{color:var(--muted)}.s-newchat-runtime-note-spinner{flex:0 0 auto;animation:s-spin .9s linear infinite}.s-newchat-panel .s-msg-compose-shell{border-color:color-mix(in srgb,var(--ink) 16%,transparent);background:color-mix(in srgb,var(--bg) 64%,var(--surface))}.s-newchat-panel .s-msg-compose-input{min-height:154px}.s-newchat-panel .s-msg-compose-shell:focus-within{border-color:color-mix(in srgb,var(--accent) 24%,var(--border))}.s-newchat-panel .s-msg-compose-input::placeholder{color:var(--muted)}.s-newchat-panel .s-msg-compose-toolbar{border-top-color:color-mix(in srgb,var(--ink) 10%,transparent)}.s-newchat-compose-triggers{display:inline-flex;align-items:center;gap:var(--space-2xs);color:var(--dim)}.s-newchat-command-trigger{padding:var(--space-2xs) var(--space-xs);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer}.s-newchat-command-trigger:hover,.s-newchat-command-trigger:focus-visible{outline:none;background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink)}.s-newchat-command-trigger:disabled{cursor:default;opacity:.45}.s-newchat-error{font-size:var(--text-sm);color:var(--red)}.s-newchat-attachment-feedback{margin-top:calc(var(--space-sm) * -1);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs)}.s-newchat-progress{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--ink)}.s-newchat-progress-spinner,.s-newchat-start-spinner{flex:0 0 auto;animation:s-spin .9s linear infinite}.s-newchat-progress-copy{display:flex;min-width:0;flex-direction:column;gap:var(--space-2xs)}.s-newchat-progress-title{color:var(--accent)}.s-newchat-progress-detail,.s-newchat-progress-message{font-size:var(--text-xs);line-height:var(--leading-normal)}.s-newchat-progress-detail{color:var(--muted)}.s-newchat-progress-message{display:-webkit-box;overflow:hidden;color:var(--ink);-webkit-box-orient:vertical;-webkit-line-clamp:3}@media(max-width:620px){.s-newchat-backdrop{padding-top:12px}.s-newchat-panel{width:calc(100vw - 24px);max-width:none;max-height:calc(100vh - 24px)}.s-newchat-body{padding:var(--space-md)}.s-newchat-project-bar{grid-template-columns:52px minmax(0,1fr)}.s-newchat-project-panel{padding-left:0}.s-newchat-project-reminder{margin-left:52px}.s-newchat-project-summary-path{display:none}.s-newchat-context-option{grid-template-columns:1fr;gap:var(--space-2xs)}.s-newchat-panel .s-msg-compose-input{min-height:120px}}@keyframes s-spin{to{transform:rotate(360deg)}}.s-rail-projects{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;display:flex;flex-direction:column;gap:1px}.s-rail-projects:before{content:"Projects";display:block;flex:none;font-size:var(--text-2xs);font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:2px 8px 10px}.s-rail-projects .ctx-panel-section-label{display:flex;align-items:center;justify-content:space-between}.s-rail-proj-total{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--dim)}.s-rail-proj{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:none;border:1px solid transparent;cursor:pointer;padding:6px 8px;border-radius:var(--radius-md);transition:background .12s ease,border-color .12s ease}.s-rail-proj-count{flex:none;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;color:var(--dim)}.s-rail-proj-count[data-needs]{color:var(--accent)}.s-rail-proj:hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}.s-rail-proj[data-selected]{background:color-mix(in srgb,var(--ink) 8%,transparent)}.s-rail-proj-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.s-rail-proj-top{display:flex;align-items:center;gap:var(--space-sm)}.s-rail-proj-name{flex:1;min-width:0;font-size:var(--text-md);font-weight:540;line-height:1.2;letter-spacing:-.01em;text-transform:lowercase;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-rail-proj-name[data-idle]{color:var(--dim);font-weight:480}.s-rail-proj[data-selected] .s-rail-proj-name,.s-rail-proj:hover .s-rail-proj-name{color:var(--ink)}.s-rail-proj-sub{display:flex;align-items:center;gap:7px}.s-rail-proj-dots{display:inline-flex;align-items:center;gap:3px;flex:none}.s-rail-proj-dots span{width:5px;height:5px;border-radius:999px;opacity:.9}.s-rail-proj-meta{flex:1;min-width:0;font-size:var(--text-xs);font-family:var(--font-mono);color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-rail-proj-ago{flex:none;font-size:var(--text-xs);font-family:var(--font-mono);color:var(--dim)}.s-rail-proj-live{flex:none;display:inline-flex;align-items:center;gap:5px;font-size:var(--text-sm);font-weight:600;font-family:var(--font-mono);color:var(--accent)}.s-rail-proj-livepip{width:5px;height:5px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.s-rail-proj-needs{flex:none;font-size:var(--text-3xs);font-weight:650;letter-spacing:var(--tracking-sm);text-transform:uppercase;color:var(--bg);background:var(--accent);padding:2px 7px;border-radius:999px}.s-newchat-origin{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-xs) var(--space-sm);margin:0 0 var(--space-xs)}.s-newchat-origin-label{color:var(--muted)}.s-newchat-origin-facts{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-md);margin:0;min-width:0}.s-newchat-origin-fact{display:flex;align-items:baseline;gap:var(--space-3xs);min-width:0}.s-newchat-origin-fact dt{color:var(--muted);font-size:var(--text-xs)}.s-newchat-origin-fact dd{margin:0;max-width:42ch;overflow:hidden;color:var(--ink);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.s-newchat-origin-attach{padding:2px var(--space-xs);border:1px solid var(--border);border-radius:5px;background:transparent;color:var(--muted);font-size:var(--text-xs);cursor:pointer}.s-newchat-origin-attach:hover,.s-newchat-origin-attach:focus-visible{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));color:var(--ink)}.s-newchat-origin-attach[aria-pressed=true]{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--ink)}
|