@openscout/scout 0.2.91 → 0.2.94
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -17
- package/bin/scoutd +0 -0
- package/dist/build-manifest.json +3 -3
- package/dist/client/apple-touch-icon.png +0 -0
- package/dist/client/assets/ActivityScreen--eANwuxa.js +1 -0
- package/dist/client/assets/{AddProjectForm-DtTfn4Zk.js → AddProjectForm-CcD6qvV8.js} +1 -1
- package/dist/client/assets/AgentAvatar-CYhf6twS.js +1 -0
- package/dist/client/assets/AgentConfigurationScreen-BTI24HQX.js +1 -0
- package/dist/client/assets/AgentDefinitionsWorkspace-srmN6-vj.js +1 -0
- package/dist/client/assets/{AgentDetailCard-Dtc02KUO.js → AgentDetailCard-UqPNpcvB.js} +1 -1
- package/dist/client/assets/AgentFloorView-XXNgI5Cj.js +1 -0
- package/dist/client/assets/AgentInfoScreen-CimdOnZ9.js +1 -0
- package/dist/client/assets/{AgentLaneCard-BRAkw8YJ.js → AgentLaneCard-Z-aOBR3W.js} +1 -1
- package/dist/client/assets/{AgentLaneChrome-T8QE5742.js → AgentLaneChrome-CyhA1reW.js} +1 -1
- package/dist/client/assets/AgentLaneDetailSheet-BNzjMjIH.js +4 -0
- package/dist/client/assets/{AgentLaneSummaryResize-FyYweLo_.js → AgentLaneSummaryResize-Box8-_rS.js} +1 -1
- package/dist/client/assets/AgentLanesEmbedScreen-BmLnN4on.js +1 -0
- package/dist/client/assets/{AgentLanesPreflight-Cil3dNwu.js → AgentLanesPreflight-5B6sXvRB.js} +1 -1
- package/dist/client/assets/AgentLanesView-DHyzVBk6.js +2 -0
- package/dist/client/assets/{AgentLiveActions-DwScaVRF.js → AgentLiveActions-BwuzOE8h.js} +1 -1
- package/dist/client/assets/AgentSessions-CsZwoukw.js +6 -0
- package/dist/client/assets/AgentsConsole-KCao4XmX.js +1 -0
- package/dist/client/assets/AgentsScreen-CtPAmwRX.js +1 -0
- package/dist/client/assets/AgentsSubnav-CDMjKeYC.js +1 -0
- package/dist/client/assets/AstronautSuit-Ckx7lu7G.js +1 -0
- package/dist/client/assets/AtopView-DYlpgEHf.js +1 -0
- package/dist/client/assets/{BackToPicker-D6WgIDb-.js → BackToPicker-4JaeRvDm.js} +1 -1
- package/dist/client/assets/BriefingDetailScreen-D6-xqrpo.js +1 -0
- package/dist/client/assets/BriefingsScreen-DKxSDEmk.js +1 -0
- package/dist/client/assets/{BrokerMetadataPanel-Cu93j-Ga.js → BrokerMetadataPanel-BbREmsbK.js} +1 -1
- package/dist/client/assets/BrokerScreen-fbPIouMw.js +5 -0
- package/dist/client/assets/CastPicker-BcA2vDDV.js +1 -0
- package/dist/client/assets/CastPicker-zXsnkTIy.css +1 -0
- package/dist/client/assets/ChatCollapsedStrip-Ycm0ecaX.js +1 -0
- package/dist/client/assets/{CodeDiffPane-BjCOBLze.js → CodeDiffPane-Cn8Y9hAt.js} +1 -1
- package/dist/client/assets/{CodeProjectPicker-NSGdCaK0.js → CodeProjectPicker-nPFktrco.js} +1 -1
- package/dist/client/assets/CodeScreen-BlAxtxE5.js +1 -0
- package/dist/client/assets/ConversationComposer-2HjbGPL9.js +1 -0
- package/dist/client/assets/ConversationFeedRows-C6wUqJrx.js +1 -0
- package/dist/client/assets/ConversationHeader-C8vfXaTF.js +1 -0
- package/dist/client/assets/ConversationPanels-CNCIbpqU.js +6 -0
- package/dist/client/assets/ConversationScreen-BNULZAp2.js +2 -0
- package/dist/client/assets/ConversationScreen-CkWnKXt6.css +1 -0
- package/dist/client/assets/ConversationStatus-DZuyKsWN.js +1 -0
- package/dist/client/assets/CrewAvatar-CTIuxp4G.js +1 -0
- package/dist/client/assets/CrewAvatar-D0c9z5Qr.css +1 -0
- package/dist/client/assets/CrewWorkspaces-CJhBKVoZ.css +1 -0
- package/dist/client/assets/CrewWorkspaces-CkPYIA46.js +1 -0
- package/dist/client/assets/{DataTable-Dzqiaha4.js → DataTable-6IDhanr5.js} +1 -1
- package/dist/client/assets/DispatchAftermath-DC1u9itO.js +1 -0
- package/dist/client/assets/DocumentFocusViewer-DZVhS7as.js +1 -0
- package/dist/client/assets/{EmbeddableSurfacesLab-C3a7hJWO.js → EmbeddableSurfacesLab-BKUFJMCV.js} +1 -1
- package/dist/client/assets/{EmptyState-CYNJZMrZ.js → EmptyState-CeBl0iGd.js} +1 -1
- package/dist/client/assets/{FileViewerPane-Fwt8_KmD.js → FileViewerPane-DQlpNt2S.js} +2 -2
- package/dist/client/assets/FlightObserveScreen-CDWGSKZg.js +1 -0
- package/dist/client/assets/FollowScreen-BXHOp3gb.js +1 -0
- package/dist/client/assets/{HarnessMark-DrE57dUq.js → HarnessMark-D5CA5uSp.js} +1 -1
- package/dist/client/assets/HarnessesScreen-DhFXq1qz.js +1 -0
- package/dist/client/assets/{HerdrSession-1eVu9Owj.js → HerdrSession-BRhs5LIR.js} +1 -1
- package/dist/client/assets/HomeHero-7JwycwFY.css +1 -0
- package/dist/client/assets/HomeHero-DMABJuze.js +1 -0
- package/dist/client/assets/HostAdvisorView-RAociATV.js +1 -0
- package/dist/client/assets/{KnowledgeSearchInspector-CbPVg3fr.js → KnowledgeSearchInspector-CZPyVNSw.js} +1 -1
- package/dist/client/assets/KnowledgeSearchScreen-mGTKIg00.js +1 -0
- package/dist/client/assets/{LaneToolHoverCard-BkBcDYm-.js → LaneToolHoverCard-D_DMlBeT.js} +1 -1
- package/dist/client/assets/LaneTraceDetailSheet-BEHg3LmH.js +1 -0
- package/dist/client/assets/{LaneTraceEventFocus-BmMmPTyJ.js → LaneTraceEventFocus-DVimcizS.js} +1 -1
- package/dist/client/assets/{MeshCanvas-DwkjsiJ5.js → MeshCanvas-BOuZx4AM.js} +2 -2
- package/dist/client/assets/{MeshCanvasMinimap-vmCpU1sD.js → MeshCanvasMinimap-wL-1N94e.js} +1 -1
- package/dist/client/assets/MeshScreen-DMY9Bmh5.js +1 -0
- package/dist/client/assets/{MeshTopologyView-BD2xLE2C.js → MeshTopologyView-DiDcX5f4.js} +2 -2
- package/dist/client/assets/MessagesScreen-Eulveud3.js +1 -0
- package/dist/client/assets/{MissionContextRail-D5MEP2f4.js → MissionContextRail-DrNKXG5u.js} +1 -1
- package/dist/client/assets/MissionControlView-ByBlHVN8.js +1 -0
- package/dist/client/assets/MissionFocusOverlay-D1i6R6Zt.js +1 -0
- package/dist/client/assets/MissionLeftAgentRow-DN9NcCML.js +1 -0
- package/dist/client/assets/MissionLogPane-DSeIv3Xo.js +1 -0
- package/dist/client/assets/NewAgentModal-V7yK6J6j.js +1 -0
- package/dist/client/assets/NewChatComposer-hlWT-nbR.js +19 -0
- package/dist/client/assets/{NewChatOrigin-DXPvX-hh.js → NewChatOrigin-DdpzE4kz.js} +1 -1
- package/dist/client/assets/ObserveEmbedScreen-l_Q3ts2q.js +2 -0
- package/dist/client/assets/ObserveTextFlow-BSEtYTxU.js +2 -0
- package/dist/client/assets/ObservedTopologyPanel-CdGUXxGR.js +2 -0
- package/dist/client/assets/OpenScoutAppShell-DN8dOSK4.js +79 -0
- package/dist/client/assets/OpsAgentsView-ntGr4pz4.js +1 -0
- package/dist/client/assets/OpsScreen-Ppen_Lmj.js +1 -0
- package/dist/client/assets/OpsSubnav-GAKsoSor.js +1 -0
- package/dist/client/assets/ProjectAgentProfile-BLlp2e6t.js +1 -0
- package/dist/client/assets/{ProjectAgentProfileBar-C5QWwZCn.js → ProjectAgentProfileBar-BQET-qrY.js} +1 -1
- package/dist/client/assets/ProjectAgentProfileHero-Ck8mThtx.js +1 -0
- package/dist/client/assets/ProjectsInbox-Dlt8OQ8O.js +2 -0
- package/dist/client/assets/ProjectsRail-DCfNMmnW.js +1 -0
- package/dist/client/assets/ProjectsScreen-BP-hmI1m.js +1 -0
- package/dist/client/assets/ProjectsThreadAside-CWpMjGIH.js +1 -0
- package/dist/client/assets/Provider-B2xuo3rf.js +1 -0
- package/dist/client/assets/RailRow-B-GycCBx.js +1 -0
- package/dist/client/assets/RailRow-B0sRaJc6.css +1 -0
- package/dist/client/assets/RawSessionsTable-AQThi6sm.js +1 -0
- package/dist/client/assets/RealtimeVoiceScreen-D7zZHK_t.js +1 -0
- package/dist/client/assets/{RepoDiffEmbedScreen-xjzjcJ_c.js → RepoDiffEmbedScreen-DXWoRF_c.js} +1 -1
- package/dist/client/assets/{RepoDiffPageScreen-DRzIY-dk.js → RepoDiffPageScreen-D_274ExO.js} +1 -1
- package/dist/client/assets/RepoDiffViewer-DbedmHDX.js +7 -0
- package/dist/client/assets/RepoDiffViewerLazy-C0--fPtk.js +2 -0
- package/dist/client/assets/ReposScreen-D39_YG4H.js +6 -0
- package/dist/client/assets/ScoutDeckSurface-CKT3qdqY.js +1 -0
- package/dist/client/assets/{ScoutSurface-BENBUt5-.js → ScoutSurface-UsRy0t-I.js} +1 -1
- package/dist/client/assets/{ScoutbotFxLab-Bk2ZsfPp.js → ScoutbotFxLab-Fmdfboxs.js} +1 -1
- package/dist/client/assets/{SecondaryNav-B4IsujYh.js → SecondaryNav-o2RL9H8H.js} +1 -1
- package/dist/client/assets/{SessionEmbedScreen-CPfH-jqN.js → SessionEmbedScreen-RD5XOx7R.js} +1 -1
- package/dist/client/assets/{SessionObserve-B-SkP3tu.js → SessionObserve-Dsd0j05N.js} +9 -9
- package/dist/client/assets/{SessionObserveEvidence-CF5jnH3-.js → SessionObserveEvidence-DopQYDkD.js} +1 -1
- package/dist/client/assets/SessionRefScreen-B_cTv47v.js +1 -0
- package/dist/client/assets/SessionsScreen-Bq0Z77On.js +1 -0
- package/dist/client/assets/SettingsDrawer-R8a0TlJD.css +1 -0
- package/dist/client/assets/SettingsDrawer-_AwuopMS.js +3 -0
- package/dist/client/assets/SettingsScreen-Cw4DDfJP.js +1 -0
- package/dist/client/assets/{ShikiPane-DH8yYDks.js → ShikiPane-BfHc_3pM.js} +1 -1
- package/dist/client/assets/{SlidePanel-RFXJpfUa.js → SlidePanel-C-q7XwTa.js} +1 -1
- package/dist/client/assets/SpriteAvatar-Bs68ZENy.js +1 -0
- package/dist/client/assets/{StatusPill-9uy70ttd.js → StatusPill-ZZQwxB1a.js} +1 -1
- package/dist/client/assets/{TailView-6bIrgdxN.js → TailView-Q4FVMsUH.js} +2 -2
- package/dist/client/assets/Terminal-D7zqHwHV.js +1 -0
- package/dist/client/assets/TerminalEmbedScreen-CXIJ7qv6.js +1 -0
- package/dist/client/assets/TerminalHeaderMount-BnBLOPbb.js +1 -0
- package/dist/client/assets/{TextDocumentSurface-BcP9vvji.js → TextDocumentSurface-CKQP-cBT.js} +1 -1
- package/dist/client/assets/{TmuxPeek-IaWqCgyJ.js → TmuxPeek-V9dGESfO.js} +1 -1
- package/dist/client/assets/{VoicePermissionsPanel-C80iZxgy.js → VoicePermissionsPanel-k7sbLXx2.js} +1 -1
- package/dist/client/assets/WorkDetailScreen-60p9litn.js +5 -0
- package/dist/client/assets/WorkFilesViewer-BjJS7GyM.js +1 -0
- package/dist/client/assets/{activity-DS0u0Itf.js → activity-Bj3Hnbj3.js} +1 -1
- package/dist/client/assets/{addon-fit-CN888B3D.js → addon-fit-BL-NTWRU.js} +1 -1
- package/dist/client/assets/{addon-webgl-CoAnanQS.js → addon-webgl-CIMgmNjg.js} +1 -1
- package/dist/client/assets/{ScoutbotBroadcastChip-CxtYZWPZ.css → agent-autocomplete-C7xwIcwd.css} +1 -1
- package/dist/client/assets/agent-autocomplete-DXlvdc4b.js +10 -0
- package/dist/client/assets/{agent-essentials-CuK4G_zS.js → agent-essentials-BOMHR0_U.js} +1 -1
- package/dist/client/assets/{agent-lane-card-model-q4cwzLX4.js → agent-lane-card-model-CTLxf3R4.js} +1 -1
- package/dist/client/assets/agent-lane-detail-ppJId6Jc.js +2 -0
- package/dist/client/assets/{agent-lane-preview-C33Dwpn7.js → agent-lane-preview-BhplDYGf.js} +1 -1
- package/dist/client/assets/{agent-lanes-BDNktFBZ.css → agent-lanes-DlqcEf0l.css} +1 -1
- package/dist/client/assets/{agent-lanes-model-VYQ5a68i.js → agent-lanes-model-AfrjRNK5.js} +2 -2
- package/dist/client/assets/agent-specialization-BIPIBW8u.js +1 -0
- package/dist/client/assets/api-Co9aQ2Jw.js +1 -0
- package/dist/client/assets/{api-BkjHJfgJ.js → api-HFH8wFyb.js} +1 -1
- package/dist/client/assets/{arc.es-BET9ev6q.js → arc.es-IR5r6sj_.js} +1 -1
- package/dist/client/assets/archive-BjcGiAy8.js +1 -0
- package/dist/client/assets/{arrow-down-DxxPnPwh.js → arrow-down-BydciYFZ.js} +1 -1
- package/dist/client/assets/{arrow-left-CXDkJuCg.js → arrow-left-CghA0kTw.js} +1 -1
- package/dist/client/assets/arrow-right-iJFv3jNh.js +1 -0
- package/dist/client/assets/{arrow-up-right-Bj8RjSqW.js → arrow-up-right-CCfZXPqD.js} +1 -1
- package/dist/client/assets/{bot-BSGSicKC.js → bot-B5sub1-i.js} +1 -1
- package/dist/client/assets/broker-display-Q75fupqG.js +2 -0
- package/dist/client/assets/{cache-Dr0why2k.js → cache-CeWH_KzJ.js} +1 -1
- package/dist/client/assets/{check-BfA0T8UD.js → check-C18YQC90.js} +1 -1
- package/dist/client/assets/{chevron-down-BVg09D6U.js → chevron-down-Mp9mu_yd.js} +1 -1
- package/dist/client/assets/{chevron-right-CaEwYkxE.js → chevron-right-CzH-TaSF.js} +1 -1
- package/dist/client/assets/{chunk-HRAB3GC3-HhKwnZCi.js → chunk-HRAB3GC3-swV8PA2k.js} +1 -1
- package/dist/client/assets/{chunk-JTPDIGGW-DX2eTIQ_.js → chunk-JTPDIGGW-BKXqcLKw.js} +3 -3
- package/dist/client/assets/{chunk-T65CQEWV-D-bOfuCH.js → chunk-T65CQEWV-vYbNJ8E6.js} +1 -1
- package/dist/client/assets/{chunk-YOZR3KYS-oS9dlQCI.js → chunk-YOZR3KYS-U65yUmqt.js} +1 -1
- package/dist/client/assets/{clock-C3TUL7D7.js → clock-B4PTFi5m.js} +1 -1
- package/dist/client/assets/{code-xml-Dbvjk9Kw.js → code-xml-Jtxsp5d1.js} +1 -1
- package/dist/client/assets/collapsed-strip-raJWthAH.css +1 -0
- package/dist/client/assets/compass-0_54-vz3.js +1 -0
- package/dist/client/assets/content-6RvWTrtk.js +1 -0
- package/dist/client/assets/content-BCgwMUqz.js +1 -0
- package/dist/client/assets/content-Bf2VLhx0.js +1 -0
- package/dist/client/assets/content-BrU_38-m.js +1 -0
- package/dist/client/assets/content-BvvJN8rN.js +1 -0
- package/dist/client/assets/content-CAeEqYPw.js +1 -0
- package/dist/client/assets/content-CHghn-rT.js +1 -0
- package/dist/client/assets/{content-Uqt8AG-s.css → content-CINHz-rZ.css} +1 -1
- package/dist/client/assets/content-CI_Z9DXk.js +1 -0
- package/dist/client/assets/content-CbyKONhW.js +1 -0
- package/dist/client/assets/content-Czogvp43.js +1 -0
- package/dist/client/assets/content-DFk0zNzX.js +1 -0
- package/dist/client/assets/content-DHe4DgkA.js +1 -0
- package/dist/client/assets/content-DMbawvqU.js +1 -0
- package/dist/client/assets/content-DTz7cKjo.js +1 -0
- package/dist/client/assets/content-E3kudY-W.js +1 -0
- package/dist/client/assets/content-LpO0aO_U.js +1 -0
- package/dist/client/assets/{conversation-icons-DmC_Ak3z.js → conversation-icons-BV10B2Me.js} +1 -1
- package/dist/client/assets/conversation-model-CwF6Y9gx.js +1 -0
- package/dist/client/assets/conversation-motion-features-BKkCRaWR.js +1 -0
- package/dist/client/assets/{copy-C79v_7D-.js → copy-Dtpx4FOE.js} +1 -1
- package/dist/client/assets/cpu-BjVis9mc.js +1 -0
- package/dist/client/assets/{createLucideIcon-DCq_3fQn.js → createLucideIcon-DXpqZP7I.js} +1 -1
- package/dist/client/assets/credentials-BTce3VP1.js +1 -0
- package/dist/client/assets/ctx-panel-D_HJ3nhb.css +1 -0
- package/dist/client/assets/discover-CHbrEItO.js +2 -0
- package/dist/client/assets/embed-entry-vil28MyU.js +2 -0
- package/dist/client/assets/{external-link-Dd8xaveL.js → external-link-Ckiyzjwo.js} +1 -1
- package/dist/client/assets/{eye-DkU59kfl.js → eye-CpfyvdLq.js} +1 -1
- package/dist/client/assets/file-code-corner-7mo7EviR.js +1 -0
- package/dist/client/assets/{file-text-BITQqGtF.js → file-text-KijGBnME.js} +1 -1
- package/dist/client/assets/gauge-y-Xg8Mrv.js +1 -0
- package/dist/client/assets/gestures-Bq9XnSqY.js +1 -0
- package/dist/client/assets/git-branch-BQ_x8KZL.js +1 -0
- package/dist/client/assets/harnesses-screen-2z36fJKE.css +1 -0
- package/dist/client/assets/home-moving-signal-DMguaRWR.css +1 -0
- package/dist/client/assets/home-moving-signal-DtRpiNa0.js +1 -0
- package/dist/client/assets/home-now-card-DFb4GOgM.js +1 -0
- package/dist/client/assets/{home-now-card-nano-C06GMiwD.js → home-now-card-nano-D--m9jpq.js} +1 -1
- package/dist/client/assets/hooks-9d1SoaQA.js +2 -0
- package/dist/client/assets/host-advisor-B2Fqs5Dd.css +1 -0
- package/dist/client/assets/index-BVlMw8x_.js +1 -0
- package/dist/client/assets/index-CZ-05hKz.js +10 -0
- package/dist/client/assets/index-Cn0GR-q1.js +1 -0
- package/dist/client/assets/index-DosI4AG9.js +1 -0
- package/dist/client/assets/index-i7TMxlwW.css +1 -0
- package/dist/client/assets/index-wLwc74Pu.css +1 -0
- package/dist/client/assets/inspector-panel-C-EhEDYy.js +2 -0
- package/dist/client/assets/{keyboard-nav-CHo_xmjw.js → keyboard-nav-DFhAJkW3.js} +1 -1
- package/dist/client/assets/{lane-observe-BA3g9aVd.js → lane-observe-vfyACHi0.js} +1 -1
- package/dist/client/assets/{lane-roster-store-B6ybJlHJ.js → lane-roster-store-gUBsydNf.js} +1 -1
- package/dist/client/assets/layers-CGou-LwV.js +1 -0
- package/dist/client/assets/layout-grid-BrZt31QH.js +1 -0
- package/dist/client/assets/left-B_o51JV6.js +1 -0
- package/dist/client/assets/left-BpgWnaah.js +1 -0
- package/dist/client/assets/left-CwHZCGO3.js +2 -0
- package/dist/client/assets/left-CwLs0okF.js +1 -0
- package/dist/client/assets/left-Cx0kv6pe.js +1 -0
- package/dist/client/assets/left-DA0amyfu.js +1 -0
- package/dist/client/assets/left-DH44V4I_.css +1 -0
- package/dist/client/assets/left-R2OOE7VG.css +1 -0
- package/dist/client/assets/left-advisor-DU3s01gk.js +1 -0
- package/dist/client/assets/left-agents-qL5PpUY-.js +1 -0
- package/dist/client/assets/left-default-uvuvDmt0.js +1 -0
- package/dist/client/assets/left-lanes-DnNLgec8.js +1 -0
- package/dist/client/assets/left-mission-DN3-NLPC.js +1 -0
- package/dist/client/assets/left-z-6CkuBe.js +2 -0
- package/dist/client/assets/library-DIo5NiGP.js +1 -0
- package/dist/client/assets/{loader-circle-B-l2Wj3-.js → loader-circle-BiohlpM3.js} +1 -1
- package/dist/client/assets/{local-agents-Wof5knTJ.js → local-agents-wUIaBcEr.js} +1 -1
- package/dist/client/assets/{mentions-BjXfeF7t.js → mentions-CcPFMbmZ.js} +1 -1
- package/dist/client/assets/mesh-buckets-ByyFXdKT.js +1 -0
- package/dist/client/assets/{mesh-ops-C1gq8zKf.js → mesh-ops-CvGyjK84.js} +1 -1
- package/dist/client/assets/mesh-roster-n2nDpEmA.js +1 -0
- package/dist/client/assets/{mesh-screen-BSDUjrnV.css → mesh-screen-D1Yvo8fU.css} +1 -1
- package/dist/client/assets/{mesh-view-store-B56D3f77.js → mesh-view-store-BpxGm71b.js} +1 -1
- package/dist/client/assets/{message-circle-BwVx5X0q.js → message-circle-B2ddzBrX.js} +1 -1
- package/dist/client/assets/{message-markup-DlVX-iuc.js → message-markup-RkfmDfME.js} +1 -1
- package/dist/client/assets/{message-square-BnkG6tae.js → message-square-D9YYWE0x.js} +1 -1
- package/dist/client/assets/message-visibility-DwxgcgYK.js +1 -0
- package/dist/client/assets/mission-control-CnU7dNt1.css +1 -0
- package/dist/client/assets/{mission-control-store-CMgIVjLJ.js → mission-control-store-Bf4b54MV.js} +1 -1
- package/dist/client/assets/{observe-DVHAcIrv.js → observe-CJRIvOCn.js} +1 -1
- package/dist/client/assets/{operator-attention-BwSPeheT.js → operator-attention-RqieiSY8.js} +1 -1
- package/dist/client/assets/{page-status-Bg2hd27j.js → page-status-BptpTdQ-.js} +1 -1
- package/dist/client/assets/{paperclip-DblaLD_N.js → paperclip-B1UNGl5d.js} +1 -1
- package/dist/client/assets/perf-PX8Rx0EP.js +1 -0
- package/dist/client/assets/persistent-state-YI-WHSCF.js +1 -0
- package/dist/client/assets/{plus-BAI0t5g9.js → plus-CuU_X0-8.js} +1 -1
- package/dist/client/assets/profile-rY8jO38P.js +1 -0
- package/dist/client/assets/projects-inbox-BBs1hG13.css +1 -0
- package/dist/client/assets/projects-inbox-D-zAb9Gp.js +1 -0
- package/dist/client/assets/proxy-DnLpZIi9.js +1 -0
- package/dist/client/assets/{radio-BGtkyCG9.js → radio-Dm1ItnA4.js} +1 -1
- package/dist/client/assets/{refresh-cw-DtF8xPqX.js → refresh-cw-BRn9Oxxl.js} +1 -1
- package/dist/client/assets/resolve-panes-DO6LkwhQ.js +1 -0
- package/dist/client/assets/resolve-sidebar-context-CIF288wY.js +1 -0
- package/dist/client/assets/right-BJltPRnd.js +1 -0
- package/dist/client/assets/right-BbyYdzHn.js +1 -0
- package/dist/client/assets/right-Beh3nCUB.js +1 -0
- package/dist/client/assets/right-C1yumXNx.js +1 -0
- package/dist/client/assets/{right-c4PAdFYZ.js → right-CJnB_Bg7.js} +2 -2
- package/dist/client/assets/right-CPP7GyOm.js +1 -0
- package/dist/client/assets/right-D3aTKf1F.js +1 -0
- package/dist/client/assets/right-DI1B79nR.js +1 -0
- package/dist/client/assets/right-DtsRNX5b.js +1 -0
- package/dist/client/assets/right-Shpw_xDy.js +1 -0
- package/dist/client/assets/{rocket-BWh18pt_.js → rocket-DOwXHKWA.js} +1 -1
- package/dist/client/assets/router-DJj2WbDg.js +1 -0
- package/dist/client/assets/{scope-views-Dm2_-NPi.js → scope-views-A4_vP97W.js} +1 -1
- package/dist/client/assets/scout-voice-BhPzrc6P.js +1 -0
- package/dist/client/assets/{scoutbot-BTIErYHo.js → scoutbot-BJIamJOH.js} +2 -2
- package/dist/client/assets/scoutbot-markdown-jh7tzFB1.js +6 -0
- package/dist/client/assets/{scroll-text-DZb3mmYo.js → scroll-text-DO0GQzvN.js} +1 -1
- package/dist/client/assets/{search-1QMVOxF3.js → search-D1tJSAWe.js} +1 -1
- package/dist/client/assets/secondaryNavConfig-B9IF8wXl.js +1 -0
- package/dist/client/assets/{selection-bridge-O9C4kGfF.js → selection-bridge-i2S9zpf8.js} +1 -1
- package/dist/client/assets/{send-horizontal-DbyEkGql.js → send-horizontal-CgLppsIC.js} +1 -1
- package/dist/client/assets/{server-Bncn9S7r.js → server-Dymv5Emh.js} +1 -1
- package/dist/client/assets/{session-catalog-DC6BlBBC.js → session-catalog-DNaOEzoQ.js} +1 -1
- package/dist/client/assets/{session-table-BUPq9Viy.js → session-table-PTQVoTyc.js} +1 -1
- package/dist/client/assets/settings-2fC_G9nX.js +1 -0
- package/dist/client/assets/{sliders-horizontal-CMe8Bay1.js → sliders-horizontal-BPSMHhbm.js} +1 -1
- package/dist/client/assets/{sparkles-_7cTZsIH.js → sparkles-Dy8p5xN8.js} +1 -1
- package/dist/client/assets/sse-CiOSzE5n.js +1 -0
- package/dist/client/assets/system-surfaces-redesign-QVXNeGYw.css +1 -0
- package/dist/client/assets/{tail-display-BRcJltQa.js → tail-display-DcliDVkW.js} +1 -1
- package/dist/client/assets/{tail-events-C12pfUax.js → tail-events-BMQmSx1n.js} +1 -1
- package/dist/client/assets/{terminal-relay-BgfVJXIL.js → terminal-relay-9lhzEp2V.js} +1 -1
- package/dist/client/assets/terminal-screen-BLk4PAYt.css +1 -0
- package/dist/client/assets/terminal-sessions-BQ6t92tJ.js +1 -0
- package/dist/client/assets/{terminal-takeover--05EYhJm.js → terminal-takeover-DANQfTcy.js} +1 -1
- package/dist/client/assets/{terminal-xGf_F3y7.js → terminal-yN9xN-h9.js} +1 -1
- package/dist/client/assets/{runtime-picker-BXKJbLot.js → text-CnZ0e1-V.js} +1 -1
- package/dist/client/assets/text-rLpBg4_z.css +1 -0
- package/dist/client/assets/use-conversation-list-D9BNLfnW.js +1 -0
- package/dist/client/assets/{use-fleet-active-asks-Cnwa4hTK.js → use-fleet-active-asks-BeAdcl09.js} +1 -1
- package/dist/client/assets/{use-mesh-ops-items-BRFm37oY.js → use-mesh-ops-items-BIvIHlqe.js} +1 -1
- package/dist/client/assets/use-reduced-motion-CKkhq9c5.js +1 -0
- package/dist/client/assets/{use-scout-dev-flags-FkMreOOb.js → use-scout-dev-flags-B2KCzPxn.js} +1 -1
- package/dist/client/assets/{useAgentHoverCard-DvPZSJK3.js → useAgentHoverCard-CHBsxcbp.js} +1 -1
- package/dist/client/assets/useContentSecondaryNav-D0mUhxTF.js +1 -0
- package/dist/client/assets/{usePierreRuntime-C8WJ0X3F.js → usePierreRuntime-DUuXH5yp.js} +1 -1
- package/dist/client/assets/{wrench-_tHBGTop.js → wrench-YcXMlsh2.js} +1 -1
- package/dist/client/assets/{x-CrGUKNRv.js → x-e3h2hDsp.js} +1 -1
- package/dist/client/assets/{xterm-Ks-VlLTq.js → xterm-Byp1Hep_.js} +1 -1
- package/dist/client/assets/zap-nMcjPoWB.js +1 -0
- package/dist/client/favicon-16.png +0 -0
- package/dist/client/favicon-32.png +0 -0
- package/dist/client/favicon.ico +0 -0
- package/dist/client/favicon.svg +20 -47
- package/dist/client/index.html +5 -5
- package/dist/client/openscout-icon.png +0 -0
- package/dist/client/site.webmanifest +2 -2
- package/dist/client/web-app-icon-192.png +0 -0
- package/dist/client/web-app-icon-512.png +0 -0
- package/dist/main.mjs +19862 -77878
- package/dist/node/main.mjs +322 -252
- package/dist/pairing-runtime-controller.mjs +1032 -804
- package/dist/runtime/base-daemon.mjs +49 -121
- package/dist/runtime/broker-daemon.mjs +1105 -281
- package/dist/runtime/broker-process-manager.mjs +6 -0
- package/dist/runtime/mesh-discover.mjs +6 -0
- package/dist/scout-control-plane-web.mjs +3326 -1912
- package/dist/scout-web-server.mjs +2 -96660
- package/package.json +6 -3
- package/dist/client/assets/ActivityScreen-BUeb4ERK.js +0 -1
- package/dist/client/assets/AgentAvatar-CneOa70z.js +0 -1
- package/dist/client/assets/AgentConfigurationScreen-CkZ7EjZh.js +0 -1
- package/dist/client/assets/AgentDefinitionsWorkspace-0Y3kqMtv.js +0 -1
- package/dist/client/assets/AgentFloorView-B5raPB_U.js +0 -1
- package/dist/client/assets/AgentInfoScreen-DFG4ElZD.js +0 -1
- package/dist/client/assets/AgentLaneDetailSheet-C8RYotnv.js +0 -4
- package/dist/client/assets/AgentLanesEmbedScreen-Br7cmZVO.js +0 -1
- package/dist/client/assets/AgentLanesView-DPfO8MOo.js +0 -2
- package/dist/client/assets/AgentSessions-DKoWA0Lm.js +0 -6
- package/dist/client/assets/AgentsConsole-DoBIWGoq.js +0 -1
- package/dist/client/assets/AgentsScreen-JuUiSuwY.js +0 -1
- package/dist/client/assets/AgentsSubnav-BV0WAgzf.js +0 -1
- package/dist/client/assets/AtopView-ycxMrRwp.js +0 -1
- package/dist/client/assets/BriefingDetailScreen-Zw-taW1s.js +0 -6
- package/dist/client/assets/BriefingsScreen-BerYOoWS.js +0 -1
- package/dist/client/assets/BrokerScreen-CeN90URH.js +0 -5
- package/dist/client/assets/ChatCollapsedStrip-DdKyMSEM.js +0 -1
- package/dist/client/assets/CodeScreen-CA9Sq6Dx.js +0 -1
- package/dist/client/assets/ContextMenu-DnFcmfMR.js +0 -1
- package/dist/client/assets/ConversationComposer-CjRXFkvY.js +0 -1
- package/dist/client/assets/ConversationFeedRows-CgRTIpAv.js +0 -1
- package/dist/client/assets/ConversationHeader-CRmdtuL7.js +0 -1
- package/dist/client/assets/ConversationPanels-DCkcLIHk.js +0 -2
- package/dist/client/assets/ConversationScreen-Br0QQ3xo.js +0 -1
- package/dist/client/assets/ConversationScreen-yIKEsm-8.css +0 -1
- package/dist/client/assets/ConversationStatus-BJ1CMbAv.js +0 -1
- package/dist/client/assets/DispatchAftermath-B0WMg_z3.js +0 -1
- package/dist/client/assets/DocumentFocusViewer-CZVVIAD5.js +0 -1
- package/dist/client/assets/FleetSearch-Dsi_l2KW.js +0 -1
- package/dist/client/assets/FleetSearch-EXOe8ulE.css +0 -1
- package/dist/client/assets/FlightObserveScreen-g_tiGmvz.js +0 -1
- package/dist/client/assets/FollowScreen-Bb_rcrzi.js +0 -1
- package/dist/client/assets/HarnessesScreen-CAsCJ_tG.js +0 -1
- package/dist/client/assets/HomeHero-DEl-WBsT.css +0 -1
- package/dist/client/assets/HomeHero-W445QrG1.js +0 -1
- package/dist/client/assets/KnowledgeSearchScreen-C1lN1xJk.js +0 -1
- package/dist/client/assets/LaneTraceDetailSheet-CzTd44rf.js +0 -1
- package/dist/client/assets/MeshScreen-CkMepUpT.js +0 -1
- package/dist/client/assets/MessageComposerSuggestions-qbalTne_.js +0 -1
- package/dist/client/assets/MessagesScreen-C8UynyLC.js +0 -1
- package/dist/client/assets/MissionControlView-K_I7eftL.js +0 -1
- package/dist/client/assets/MissionFocusOverlay-CWKLdUKG.js +0 -1
- package/dist/client/assets/MissionLeftAgentRow-ByGrNAcs.js +0 -1
- package/dist/client/assets/MissionLogPane-ZwHJ137T.js +0 -1
- package/dist/client/assets/NewAgentModal-Do9aVvan.js +0 -1
- package/dist/client/assets/NewChatComposer-DKlNX1UA.js +0 -19
- package/dist/client/assets/ObserveEmbedScreen-Dghsq2on.js +0 -2
- package/dist/client/assets/ObserveTextFlow-DWNlmTVm.js +0 -2
- package/dist/client/assets/ObservedTopologyPanel-BlmGoxCE.js +0 -2
- package/dist/client/assets/OpenScoutAppShell-DDqQi-oe.js +0 -87
- package/dist/client/assets/OpsAgentsView-Bn_fGBdo.js +0 -1
- package/dist/client/assets/OpsScreen-DHnT-Q9R.js +0 -1
- package/dist/client/assets/OpsSubnav-CJRD7MjM.js +0 -1
- package/dist/client/assets/PlanView-B6gKo543.js +0 -1
- package/dist/client/assets/ProjectAgentProfile-Be1VOkI4.js +0 -1
- package/dist/client/assets/ProjectAgentProfileHero-DC7Dd8VL.js +0 -1
- package/dist/client/assets/ProjectsInbox-DCLrDmj1.js +0 -2
- package/dist/client/assets/ProjectsRail-C4hiXYSb.js +0 -1
- package/dist/client/assets/ProjectsScreen-jruZRjgD.js +0 -1
- package/dist/client/assets/ProjectsThreadAside-DYmL2dCY.js +0 -1
- package/dist/client/assets/Provider-p-xuaAoE.js +0 -1
- package/dist/client/assets/RailRow-Cf9LOiEj.css +0 -1
- package/dist/client/assets/RailRow-bRkkXIpR.js +0 -1
- package/dist/client/assets/RawSessionsTable-B7WKmXrk.js +0 -1
- package/dist/client/assets/RealtimeVoiceScreen-BzP3BQq9.js +0 -1
- package/dist/client/assets/RepoDiffViewer-CNDp01KM.js +0 -7
- package/dist/client/assets/RepoDiffViewerLazy-b6vjYxez.js +0 -2
- package/dist/client/assets/ReposScreen-CpaLC_NU.js +0 -6
- package/dist/client/assets/ScoutDeckSurface-DkpZ-0DH.js +0 -1
- package/dist/client/assets/ScoutbotBroadcastChip-CGZyxS5H.js +0 -2
- package/dist/client/assets/ScoutbotRealtimeVoiceCall-n63LdBZs.js +0 -1
- package/dist/client/assets/SessionRefScreen-C-4jjmVG.js +0 -1
- package/dist/client/assets/SessionsScreen-HAjFvmIq.js +0 -1
- package/dist/client/assets/SettingsDrawer-DATxwZrn.js +0 -3
- package/dist/client/assets/SettingsDrawer-UX7pFJU_.css +0 -1
- package/dist/client/assets/SettingsScreen-Bu53X7J_.js +0 -1
- package/dist/client/assets/SpriteAvatar-CEYdCzem.js +0 -1
- package/dist/client/assets/Terminal-BI6km7H4.js +0 -1
- package/dist/client/assets/TerminalEmbedScreen-D4JOWwtm.js +0 -1
- package/dist/client/assets/WorkDetailScreen-CweZ6fEd.js +0 -5
- package/dist/client/assets/WorkFilesViewer-Dy_-06iI.js +0 -1
- package/dist/client/assets/agent-identity-BxCsXnDp.js +0 -1
- package/dist/client/assets/agent-lane-detail-BNNm6FNu.js +0 -2
- package/dist/client/assets/api-h5zurxmi.js +0 -1
- package/dist/client/assets/broker-display-pp33bLsu.js +0 -2
- package/dist/client/assets/collapsed-strip-Dz-of2SM.css +0 -1
- package/dist/client/assets/content-BQuEedeL.js +0 -1
- package/dist/client/assets/content-BUae-L_N.js +0 -1
- package/dist/client/assets/content-BfG98J1k.js +0 -1
- package/dist/client/assets/content-BkVTfkAC.js +0 -1
- package/dist/client/assets/content-BsNMos_d.js +0 -1
- package/dist/client/assets/content-C2TZOKSE.js +0 -1
- package/dist/client/assets/content-CCn98eSk.js +0 -1
- package/dist/client/assets/content-CJuH5cDP.js +0 -1
- package/dist/client/assets/content-CYnPp9yo.js +0 -1
- package/dist/client/assets/content-CcrUhm4P.js +0 -1
- package/dist/client/assets/content-CiOMtgQc.js +0 -1
- package/dist/client/assets/content-CxuVONeQ.js +0 -1
- package/dist/client/assets/content-Dmq9n1_L.js +0 -1
- package/dist/client/assets/content-DskHP2NI.js +0 -1
- package/dist/client/assets/content-DvvzL2HK.js +0 -1
- package/dist/client/assets/content-snCAUbwv.js +0 -1
- package/dist/client/assets/conversation-model-CHwHZNw-.js +0 -1
- package/dist/client/assets/conversation-motion-features-DPiGTO21.js +0 -1
- package/dist/client/assets/ctx-panel-B4s49N9e.css +0 -1
- package/dist/client/assets/discover-IEnbrH8_.js +0 -2
- package/dist/client/assets/embed-entry-XUPb-AzL.js +0 -2
- package/dist/client/assets/gestures-B5rLNRpi.js +0 -1
- package/dist/client/assets/harnesses-screen-DBZoTZz8.css +0 -1
- package/dist/client/assets/home-moving-signal-Bs635mVw.js +0 -1
- package/dist/client/assets/home-moving-signal-CAa0V91u.css +0 -1
- package/dist/client/assets/home-now-card-VxlLjg1A.js +0 -1
- package/dist/client/assets/hooks-BWiLxTw1.js +0 -2
- package/dist/client/assets/index-9as_JTUs.css +0 -1
- package/dist/client/assets/index-BTj2MguM.js +0 -1
- package/dist/client/assets/index-BZovGpDk.js +0 -10
- package/dist/client/assets/index-CvF09yvf.css +0 -1
- package/dist/client/assets/index-DiiEQwdc.js +0 -1
- package/dist/client/assets/index-vbaJ8sin.js +0 -1
- package/dist/client/assets/inspector-panel-C96HcyK5.js +0 -2
- package/dist/client/assets/left-Bk3XnxPD.css +0 -1
- package/dist/client/assets/left-BuJ0wJW1.js +0 -2
- package/dist/client/assets/left-C6Zj3cR4.js +0 -1
- package/dist/client/assets/left-CCoobxPS.css +0 -1
- package/dist/client/assets/left-COMAiMfB.js +0 -2
- package/dist/client/assets/left-Ce4WKYPK.js +0 -1
- package/dist/client/assets/left-DMJkmJOF.js +0 -1
- package/dist/client/assets/left-DrCbY6ja.js +0 -1
- package/dist/client/assets/left-agents-BuSyVNGE.js +0 -1
- package/dist/client/assets/left-default-DRHywOKX.js +0 -1
- package/dist/client/assets/left-l92tw5Kc.js +0 -1
- package/dist/client/assets/left-lanes-4-aUyyrV.js +0 -1
- package/dist/client/assets/left-mission-e849d_Td.js +0 -1
- package/dist/client/assets/left-plan-MchYwAB_.js +0 -2
- package/dist/client/assets/library-DygjpA6u.js +0 -1
- package/dist/client/assets/mesh-buckets-CfAukILK.js +0 -1
- package/dist/client/assets/message-visibility-kJM8XcSG.js +0 -1
- package/dist/client/assets/mission-control-m3BTDQ9l.css +0 -1
- package/dist/client/assets/model-Co0zkMIc.js +0 -1
- package/dist/client/assets/plan-view-D56fneVF.css +0 -1
- package/dist/client/assets/profile-3Q4sUtvJ.js +0 -1
- package/dist/client/assets/projects-inbox-COZ23dLR.css +0 -1
- package/dist/client/assets/projects-inbox-Da2hYEn6.js +0 -1
- package/dist/client/assets/resolve-panes-D4tlKNCT.js +0 -1
- package/dist/client/assets/resolve-sidebar-context-B27lj3Ci.js +0 -1
- package/dist/client/assets/right-B8qg3JdB.js +0 -1
- package/dist/client/assets/right-BU_W1kSH.js +0 -1
- package/dist/client/assets/right-BlR7h0US.js +0 -1
- package/dist/client/assets/right-BwgwTGGd.js +0 -1
- package/dist/client/assets/right-ByptvkVX.js +0 -1
- package/dist/client/assets/right-CUP-NIDG.js +0 -1
- package/dist/client/assets/right-Ch_jrNe2.js +0 -1
- package/dist/client/assets/right-Dd2DscRz.js +0 -1
- package/dist/client/assets/right-DmVHd8Xj.js +0 -1
- package/dist/client/assets/router-63XV_E7f.js +0 -1
- package/dist/client/assets/runtime-picker-vhm0gtLs.css +0 -1
- package/dist/client/assets/scout-voice-D8Q5sZOL.js +0 -1
- package/dist/client/assets/secondaryNavConfig-c0cz3MkJ.js +0 -1
- package/dist/client/assets/sse-Bb0EOcU9.js +0 -1
- package/dist/client/assets/system-surfaces-redesign-B7GQhfpw.css +0 -1
- package/dist/client/assets/terminal-screen-BqVnCwl0.css +0 -1
- package/dist/client/assets/terminal-sessions-AmSgHklm.js +0 -1
- package/dist/client/assets/text-DsBWV_4k.js +0 -1
- package/dist/client/assets/use-conversation-list-DWX02INv.js +0 -1
- package/dist/client/assets/use-reduced-motion-C8cWvIZ3.js +0 -1
- package/dist/client/assets/useContentSecondaryNav-CNlrhvvx.js +0 -1
- package/dist/highlights-eq9cgrbb.scm +0 -604
- package/dist/highlights-ghv9g403.scm +0 -205
- package/dist/highlights-hk7bwhj4.scm +0 -284
- package/dist/highlights-r812a2qc.scm +0 -150
- package/dist/highlights-x6tmsnaa.scm +0 -115
- package/dist/injections-73j83es3.scm +0 -27
- package/dist/tree-sitter-javascript-nd0q4pe9.wasm +0 -0
- package/dist/tree-sitter-markdown-411r6y9b.wasm +0 -0
- package/dist/tree-sitter-markdown_inline-j5349f42.wasm +0 -0
- package/dist/tree-sitter-typescript-zxjzwt75.wasm +0 -0
- package/dist/tree-sitter-zig-e78zbjpm.wasm +0 -0
- /package/dist/client/assets/{document-focus-viewer-BSC_JwVE.css → DocumentFocusViewer-BSC_JwVE.css} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as l}from"./index-BZovGpDk.js";import{c as j}from"./colors-BtO5_zlx.js";import{s as x}from"./page-status-Bg2hd27j.js";import{t as i}from"./time-Dhsh_2EG.js";import{R as b}from"./RailRow-bRkkXIpR.js";import"./AgentAvatar-CneOa70z.js";import"./SpriteAvatar-CEYdCzem.js";import"./agent-identity-BxCsXnDp.js";function E({agent:e,state:t,isExpanded:s,isSelected:a,tabIndex:n,onToggle:c,onReveal:m,onOpen:d}){const r=x({label:`Focus ${e.handle??e.name}`,route:`/ops/control · ${e.id}`}),p=l.jsxs(l.Fragment,{children:[l.jsxs("dl",{className:"rr-spec-list",children:[l.jsx(o,{label:"MODEL",value:[e.harness,e.model].filter(Boolean).join("/")||"—"}),l.jsx(o,{label:"AT",value:[e.project,e.branch].filter(Boolean).join("/")||"—"}),l.jsx(o,{label:"STATE",value:j(t)}),l.jsx(o,{label:"ACTIVITY",value:e.activity}),l.jsx(o,{label:"SOURCE",value:e.source})]}),l.jsxs("div",{className:"ml-detail-actions",children:[l.jsx("button",{type:"button",className:"ml-detail-btn",onClick:m,children:"Reveal on wall"}),l.jsx("button",{type:"button",className:"ml-detail-btn ml-detail-btn--primary",onClick:d,children:"Open ↗"})]})]});return l.jsx(b,{name:e.handle??e.name,meta:e.lastActiveAt?i(e.lastActiveAt):e.updatedAt?i(e.updatedAt):void 0,tone:t,caret:s?"open":"closed",selected:a,expanded:s,detail:p,tabIndex:n,onClick:u=>c(u),onPointerEnter:r.onPointerEnter,onPointerLeave:r.onPointerLeave})}function o({label:e,value:t}){return l.jsxs("div",{className:"rr-spec",children:[l.jsx("dt",{className:"rr-spec-label",children:e}),l.jsx("dd",{className:"rr-spec-value",title:t,children:t})]})}export{E as MissionLeftAgentRow};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as n,j as a}from"./index-BZovGpDk.js";import{H as L}from"./HarnessMark-DrE57dUq.js";import{n as k}from"./colors-BtO5_zlx.js";import{s as y}from"./page-status-Bg2hd27j.js";import{c as P,T as I,b as T}from"./tail-display-BRcJltQa.js";import{d as A}from"./time-Dhsh_2EG.js";import{s as C}from"./mission-control-model-C0fByIjm.js";import{m as H,a as E}from"./mission-wall-CocIM1cF.js";import"./lane-edit-display-C_Aujldz.js";const K=24;function O({log:e,selected:u,revealed:f,cursor:t=!1,onOpen:c,onToggleSelected:h,onOpenLog:w,paneRef:x}){const i=n.useRef(null),p=n.useRef(!0),o=n.useMemo(()=>P(e.lines.map(s=>({event:s,meta:void 0}))),[e.lines]),j=n.useCallback(()=>{const s=i.current;if(!s)return;const l=s.scrollHeight-s.scrollTop-s.clientHeight;p.current=l<=K},[]);n.useEffect(()=>{const s=i.current;!s||!p.current||(s.scrollTop=s.scrollHeight)},[o.length,e.lastActiveAt]);const v=k(e.agent?.state??null),r=H(e),N=E(e),m=[e.project,e.agent?.branch].filter(Boolean).join("/")||e.cwd||"—",d=y({label:`Focus ${r}`,route:`/ops/control · ${e.sessionId}`}),b=s=>{if(s.metaKey||s.ctrlKey||s.shiftKey){h();return}c()};return a.jsxs("div",{ref:x,className:["s-wall-pane",e.live?"s-wall-pane--live":null,u?"s-wall-pane--selected":null,f?"s-wall-pane--revealed":null,t?"s-wall-pane--cursor":null].filter(Boolean).join(" "),"data-cursor":t?!0:void 0,tabIndex:t?0:-1,onClick:b,onPointerEnter:d.onPointerEnter,onPointerLeave:d.onPointerLeave,children:[a.jsxs("div",{className:"s-wall-pane-head",children:[a.jsx("span",{className:"s-wall-pane-dot",style:{background:e.agent?C(v):"var(--dim)"},"aria-hidden":!0}),a.jsx(L,{harness:e.source,size:11,title:null}),a.jsx("button",{type:"button",className:"s-wall-pane-title",title:e.agent?.name??e.sessionId,"aria-label":`Focus ${r}`,onClick:s=>{s.stopPropagation(),c()},children:r}),a.jsx("span",{className:"s-wall-pane-where",title:e.cwd??m,children:m}),a.jsx("span",{className:"s-wall-pane-spacer"}),e.live&&a.jsx("span",{className:"s-wall-pane-live",children:"live"}),a.jsx("button",{type:"button",className:"s-wall-pane-file",title:e.logPath??`session ${e.sessionId}`,onClick:s=>{s.stopPropagation(),w()},children:N})]}),a.jsx("div",{className:"s-wall-pane-body",ref:i,onScroll:j,children:o.length===0?a.jsx("div",{className:"s-wall-pane-idle",children:"no output since page load"}):o.map(({event:s,repeatCount:l})=>a.jsxs("div",{className:`s-wall-line s-wall-line--${s.kind}`,children:[a.jsx("span",{className:"s-wall-line-time",children:A(s.ts,{milliseconds:!1})||"—"}),a.jsx("span",{className:"s-wall-line-glyph",title:T[s.kind],children:I[s.kind]}),a.jsxs("span",{className:"s-wall-line-text",children:[s.summary,l>1&&a.jsxs("span",{className:"s-wall-line-repeat",title:`${l} identical events`,children:[" ","×",l]})]})]},s.id))})]})}export{O as MissionLogPane};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r,j as e}from"./index-BZovGpDk.js";import{r as se}from"./index-DiiEQwdc.js";import{a as U}from"./api-h5zurxmi.js";import{u as ne}from"./keyboard-nav-CHo_xmjw.js";import{o as te}from"./openContent-C6XO6kr5.js";import{s as A,w as le}from"./project-overview-helpers-BQTc_Ous.js";import{X as ie}from"./x-CrGUKNRv.js";import{R as re}from"./rocket-BWh18pt_.js";import"./createLucideIcon-DCq_3fQn.js";const V=[{value:"codex",label:"Codex",runtimeId:"codex"},{value:"claude",label:"Claude",runtimeId:"claude"},{value:"pi",label:"Grok",runtimeId:"pi"}];function w(t){return t.trim().toLowerCase().replace(/^@+/,"").replace(/[^a-z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||void 0}function oe(t){const n=new Set;for(const o of t){if(!o)continue;const s=w(o);s&&n.add(s)}return n}function ce(t,n,o){const s=t.trim();if(!s)return{status:"auto",normalized:void 0,rewritten:!1,message:o==="sticky"?"Scout will assign a reusable handle from the name pool.":"Scout will assign a disposable handle from the name pool.",tone:"ok"};const l=w(s);return l?n.has(l)?{status:"conflict",normalized:l,rewritten:l!==s.toLowerCase().replace(/^@+/,""),message:`@${l} already exists here. Pick another handle or leave it blank for auto.`,tone:"warn"}:{status:"ok",normalized:l,rewritten:l!==s.toLowerCase().replace(/^@+/,""),message:null,tone:"ok"}:{status:"invalid",normalized:void 0,rewritten:!1,message:"Use letters, numbers, dot, or dash.",tone:"warn"}}function S(t){return t==="pi"?"grok":t}function de(t,n,o,s=3){const l=w(t)??"agent",m=[l,`${l}-${S(n)}`,`${l}-dev`,`${l}-2`,`${l}-${S(n)}-2`],u=[];for(const v of m){const x=w(v);if(!(!x||o.has(x)||u.includes(x))&&(u.push(x),u.length>=s))break}return u}function ue(t){const{handle:n,persistence:o,harness:s,projectRootLabel:l}=t,m="A card starts a fresh session for each request. Use session:<id> only to continue an exact run.";return o==="one_time"?{disposable:!0,card:null,cli:`scout ask --project ${l} --harness ${s} "…"`,resolves:"Disposable session — Scout assigns a provisional handle that may be recycled. Not addressable later.",note:m}:n?{disposable:!1,card:`@${n}`,cli:`scout ask @${n} "…"`,resolves:`Reusable ${S(s)} session on this project — @${n} routes here from any surface.`,note:m}:{disposable:!1,card:"@auto",cli:'scout ask @<assigned-handle> "…"',resolves:`Scout assigns a reusable ${S(s)} handle from the name pool.`,note:m}}const me={ready:"ready",configured:"configured",installed:"login needed",missing:"not found"},q={ready:"ok",configured:"ok",installed:"warn",missing:"off"};function ke({open:t,onClose:n,projectTitle:o,projectRoot:s,primaryWt:l,worktreeCount:m,branches:u,existingAgents:v,agentCount:x,sessionCount:H,route:D,navigate:C}){const{ref:J,onKeyDown:W}=ne(t),[h,G]=r.useState("codex"),[M,X]=r.useState(""),[d,E]=r.useState("sticky"),[$,P]=r.useState(""),[R,Q]=r.useState(""),[L,I]=r.useState("idle"),[_,j]=r.useState(null),[K,Y]=r.useState(null);r.useEffect(()=>{t&&(j(null),I("idle"))},[t]),r.useEffect(()=>{if(!t)return;let a=!1;return(async()=>{const c=await U("/api/agent-config/snapshot").catch(()=>null);if(a||!c)return;const f=new Map;for(const g of c.runtimes)f.set(g.id,{state:g.state,detail:g.detail,loginCommand:g.loginCommand});Y(f)})(),()=>{a=!0}},[t]),r.useEffect(()=>{if(!t)return;const a=c=>{c.key==="Escape"&&(c.preventDefault(),n())};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[t,n]);const k=r.useMemo(()=>oe(v.flatMap(a=>[a.name,a.handle])),[v]),i=r.useMemo(()=>ce($,k,d),[$,k,d]),z=r.useMemo(()=>de(o,h,k,3),[o,h,k]),T=s?A(s):"<no-root>",p=r.useMemo(()=>ue({handle:i.normalized,persistence:d,harness:h,projectRootLabel:T}),[i.normalized,d,h,T]),N=K?.get(V.find(a=>a.value===h)?.runtimeId??h);if(!t)return null;const Z=!!s&&L!=="starting"&&i.status!=="invalid"&&i.status!=="conflict",ee=L==="starting"?"Starting…":d==="one_time"?"Dispatch one-off":i.status==="conflict"?"Handle exists":i.normalized?`Create @${i.normalized}`:"Create with auto handle",O=async()=>{if(!(!s||L==="starting")){I("starting"),j(null);try{const a=M.trim(),c=R.trim(),f=i.normalized,g=await U("/api/sessions",{method:"POST",body:JSON.stringify({target:{projectPath:s},execution:{session:"new",harness:h,...a?{model:a}:{}},agent:{persistence:d,...f?{handle:f}:{}},...c?{seed:{instructions:c}}:{}})}),B=g.agentId?.trim(),F=g.sessionId?.trim(),y=g.conversationId?.trim();if(F){n(),te(C,{view:"sessions",sessionId:F},{returnTo:D});return}if(B){n(),C({...D,view:"agents-v2",agentId:B,selectedAgentId:void 0,sessionId:void 0,...y?{conversationId:y,tab:"message"}:{tab:"profile"}});return}if(y){n(),C({view:"conversation",conversationId:y});return}j("Agent start was accepted, but no target came back.")}catch(a){j(a instanceof Error?a.message:"Could not start an agent.")}finally{I("idle")}}},ae=a=>{if((a.metaKey||a.ctrlKey)&&a.key==="Enter"){a.preventDefault(),O();return}W(a)},b=[];return b.push({label:"root",value:s?A(s):"no project root",title:s??void 0}),l?b.push({label:"branch",value:le(l),title:l.path}):u.length>0&&b.push({label:"branch",value:u.length===1?u[0]:`${u.length} branches`}),m>1&&b.push({label:"worktrees",value:String(m)}),b.push({label:"existing",value:`${x} agent${x===1?"":"s"} · ${H} session${H===1?"":"s"}`}),se.createPortal(e.jsx("div",{className:"na-backdrop",role:"presentation",onClick:n,children:e.jsxs("div",{ref:J,className:"na-panel",role:"dialog","aria-modal":"true","aria-labelledby":"na-title",tabIndex:-1,onClick:a=>a.stopPropagation(),onKeyDown:ae,children:[e.jsxs("header",{className:"na-head",children:[e.jsxs("div",{className:"na-headIdent",children:[e.jsx("h2",{id:"na-title",className:"na-title",children:"New agent"}),e.jsxs("span",{className:"na-scope",children:["/",o]})]}),e.jsx("button",{type:"button",className:"na-close",onClick:n,"aria-label":"Close (Esc)",children:e.jsx(ie,{size:14,strokeWidth:2,"aria-hidden":!0})})]}),e.jsx("div",{className:"na-context",children:b.map(a=>e.jsxs("span",{className:"na-contextChip",title:a.title,children:[e.jsx("span",{className:"na-contextLabel",children:a.label}),e.jsx("span",{className:"na-contextValue",children:a.value})]},a.label))}),e.jsxs("div",{className:"na-body",children:[e.jsxs("section",{className:"na-section na-modeSection",children:[e.jsx("span",{className:"na-sectionLabel",children:"What are you creating?"}),e.jsxs("div",{className:"na-modeChoice",role:"radiogroup","aria-label":"Agent kind",children:[e.jsxs("button",{type:"button",role:"radio","aria-checked":d==="one_time",className:"na-modeCard","data-active":d==="one_time"||void 0,onClick:()=>E("one_time"),children:[e.jsx("span",{className:"na-modeTitle",children:"One-off run"}),e.jsx("span",{className:"na-modeSub",children:"Disposable session · not addressable later"})]}),e.jsxs("button",{type:"button",role:"radio","aria-checked":d==="sticky",className:"na-modeCard","data-active":d==="sticky"||void 0,onClick:()=>E("sticky"),children:[e.jsx("span",{className:"na-modeTitle",children:"Named agent"}),e.jsx("span",{className:"na-modeSub",children:"Reusable card · addressable by handle"})]})]})]}),e.jsxs("section",{className:"na-section",children:[e.jsx("span",{className:"na-sectionLabel",children:"Runtime"}),e.jsx("div",{className:"na-harnessRow",role:"radiogroup","aria-label":"Harness",children:V.map(a=>{const c=K?.get(a.runtimeId),f=h===a.value;return e.jsxs("button",{type:"button",role:"radio","aria-checked":f,className:"na-harness","data-active":f||void 0,onClick:()=>G(a.value),children:[e.jsx("span",{className:"na-harnessName",children:a.label}),c?e.jsxs("span",{className:"na-harnessState","data-tone":q[c.state],children:[e.jsx("span",{className:"na-dot","aria-hidden":!0}),me[c.state]]}):e.jsx("span",{className:"na-harnessState","data-tone":"off",children:"…"})]},a.value)})}),N&&N.state!=="ready"?e.jsxs("p",{className:"na-readinessNote","data-tone":q[N.state],children:[N.detail,N.loginCommand?e.jsxs("code",{className:"na-code",children:[" ",N.loginCommand]}):null]}):null,e.jsxs("label",{className:"na-field",children:[e.jsx("span",{children:"Model / profile"}),e.jsx("input",{value:M,placeholder:"default",onChange:a=>X(a.currentTarget.value)})]})]}),d==="sticky"?e.jsxs("section",{className:"na-section",children:[e.jsx("span",{className:"na-sectionLabel",children:"Handle (optional)"}),e.jsxs("label",{className:"na-field",children:[e.jsx("span",{children:"Address"}),e.jsxs("div",{className:"na-handleWrap","data-tone":i.tone,children:[e.jsx("span",{className:"na-handleAt",children:"@"}),e.jsx("input",{value:$,placeholder:z[0]??"auto","aria-invalid":i.tone==="warn",autoFocus:!0,onChange:a=>P(a.currentTarget.value)})]})]}),z.length>0?e.jsxs("div",{className:"na-suggestRow",children:[e.jsx("span",{className:"na-suggestLabel",children:"suggest"}),z.map(a=>e.jsxs("button",{type:"button",className:"na-suggest",onClick:()=>P(a),children:["@",a]},a))]}):null,i.message?e.jsx("p",{className:"na-validation","data-tone":i.tone,children:i.message}):i.rewritten&&i.normalized?e.jsxs("p",{className:"na-validation","data-tone":"ok",children:["Saved as ",e.jsxs("code",{className:"na-code",children:["@",i.normalized]})]}):null]}):null,e.jsxs("section",{className:"na-section",children:[e.jsx("span",{className:"na-sectionLabel",children:"First instruction"}),e.jsx("textarea",{className:"na-prompt",value:R,rows:3,placeholder:`Start in /${o}…`,onChange:a=>Q(a.currentTarget.value)})]}),e.jsxs("section",{className:"na-section na-routing",children:[e.jsx("span",{className:"na-sectionLabel",children:p.disposable?"Dispatch preview":"Routing preview"}),p.disposable?e.jsxs("div",{className:"na-routingBody","data-disposable":!0,children:[e.jsx("p",{className:"na-routingResolves",children:p.resolves}),e.jsx("button",{type:"button",className:"na-promote",onClick:()=>E("sticky"),children:"Name it to keep it →"})]}):e.jsxs("div",{className:"na-routingBody",children:[p.card?e.jsxs("div",{className:"na-routingLine",children:[e.jsx("span",{className:"na-routingKey",children:"address"}),e.jsx("code",{className:"na-routingValue na-routingCard",children:p.card})]}):null,e.jsxs("div",{className:"na-routingLine",children:[e.jsx("span",{className:"na-routingKey",children:"cli"}),e.jsx("code",{className:"na-routingValue",children:p.cli})]}),e.jsx("p",{className:"na-routingResolves",children:p.resolves}),e.jsx("p",{className:"na-routingNote",children:p.note})]})]})]}),_?e.jsx("div",{className:"na-error",children:_}):null,e.jsxs("footer",{className:"na-foot",children:[e.jsx("span",{className:"na-footRoot",title:s??void 0,children:s?A(s):"No project root — cannot create."}),e.jsxs("div",{className:"na-footActions",children:[e.jsx("button",{type:"button",className:"na-cancel",onClick:n,children:"Cancel"}),e.jsxs("button",{type:"button",className:"na-create",disabled:!Z,onClick:()=>{O()},children:[e.jsx(re,{size:12,strokeWidth:2,"aria-hidden":!0}),ee]})]})]})]})}),document.body)}export{ke as NewAgentModal};
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import{r as c,j as o}from"./index-BZovGpDk.js";import{M as ms}from"./runtime-picker-BXKJbLot.js";import{i as sn,b as hs,d as rt,M as rn,u as ps}from"./MessageComposerSuggestions-qbalTne_.js";import{r as gs}from"./index-DiiEQwdc.js";import{H as on}from"./HarnessMark-DrE57dUq.js";import{c as bs,S as an,F as ws,G as xs}from"./conversation-model-CHwHZNw-.js";import{a as z}from"./api-h5zurxmi.js";import{d as ys}from"./colors-BtO5_zlx.js";import{NewChatOrigin as vs}from"./NewChatOrigin-DXPvX-hh.js";import{u as js}from"./keyboard-nav-CHo_xmjw.js";import{n as Cs}from"./model-Co0zkMIc.js";import{X as Ms}from"./x-CrGUKNRv.js";import{C as Ss}from"./chevron-down-BVg09D6U.js";import{S as Es}from"./search-1QMVOxF3.js";import{L as jt}from"./loader-circle-B-l2Wj3-.js";import{F as Is}from"./file-text-BITQqGtF.js";const Ns={schemaVersion:"openscout.runtime-catalog.v1",revision:"2026-08-18.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,listed:!1,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",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:[]}]},Tt=["none","minimal","low","medium","high","xhigh","max","ultra"],Cn={none:"None",minimal:"Minimal",low:"Light",medium:"Medium",high:"High",xhigh:"Extra High",max:"Max",ultra:"Ultra"},W=Ns;function Lt(e,t=W){return t.harnesses.find(s=>s.id===e)}function ks(e=W){return e.harnesses.find(t=>t.enabled&&t.default)?.id??e.harnesses.find(t=>t.enabled)?.id??null}function Mn(e,t=W){const s=Lt(e,t);return s?.models.find(n=>n.enabled&&n.default)?.id??s?.models.find(n=>n.enabled)?.id??null}function Rs(e,t,s=W){const n=Lt(e,s);if(!n||!n.enabled)return null;const a=t?n.models.find(i=>i.enabled&&i.id===t):void 0;return a?.reasoningEfforts===null?null:a?.reasoningEfforts??n.reasoningEfforts}function Sn(e,t,s=W){const n=Lt(e,s),a=t?n?.models.find(y=>y.enabled&&y.id===t):void 0,i=Rs(e,t,s),f=a?.defaultReasoningEffort??n?.defaultReasoningEffort??null;return f&&i?.includes(f)?f:i?.[0]??null}function As(e=W){return Object.fromEntries(e.harnesses.filter(t=>t.enabled).map(t=>{const s=Mn(t.id,e);return[t.id,{model:s,reasoningEffort:Sn(t.id,s,e)}]}))}const Ts=As();Object.fromEntries(W.harnesses.filter(e=>e.enabled).map(e=>{const t=Tt.filter(s=>e.reasoningEfforts?.includes(s)||e.models.some(n=>n.enabled&&n.reasoningEfforts?.includes(s)));return[e.id,t]}));function Ls(e=W){const t=new Map;for(const s of e.harnesses)if(s.enabled)for(const n of s.models){if(!n.enabled)continue;const a=t.get(n.id);if(a){a.harnesses.includes(s.id)||a.harnesses.push(s.id);continue}t.set(n.id,{id:n.id,label:n.label,...n.description?{description:n.description}:{},harnesses:[s.id],source:"default",...n.family?{family:n.family}:{},...n.version?{version:n.version}:{}})}return Array.from(t.values())}const Ds=Ls(),Ps={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 Os(e=W){return Tt.flatMap(t=>{const s=[],n=[];for(const a of e.harnesses){if(!a.enabled)continue;const i=a.models.filter(b=>b.enabled),f=i.filter(b=>(b.reasoningEfforts??a.reasoningEfforts)?.includes(t)),y=i.length===0&&a.reasoningEfforts?.includes(t);f.length===0&&!y||(s.push(a.id),i.length>0&&f.length<i.length&&n.push(...f.map(b=>b.id)))}return s.length===0?[]:[{id:t,label:Cn[t],description:Ps[t],harnesses:s,...n.length>0?{models:n}:{}}]})}const _s=Os();function $s(e,t){const s=t?.trim();return s?e.find(n=>n.id===s)??null:null}function Fs(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 s=$s(t,e.agentId),n=e.conversationId??s?.conversationId??null;return{agentId:e.agentId,conversationId:n,label:s?.name??e.agentId,canUseExistingChat:!!n}}return{agentId:null,conversationId:null,label:"Pick a project",canUseExistingChat:!1}}const G="",Hs={none:"no reasoning",minimal:"lightest",low:"triage",medium:"default",high:"deep",xhigh:"exhaustive",max:"fullest",ultra:"beyond max"},Us=Tt.map(e=>({value:e,label:Cn[e],note:Hs[e]}));function Le(e,t){return e.harnesses.find(s=>s.value===t)}function Dt(e,t){return Le(e,t)?.models??[]}function Se(e,t,s){const n=Le(e,t),a=n?n.efforts===null?null:n.efforts??e.efforts:e.efforts;if(!a||!s)return a;const i=new Set((n?.models??[]).map(f=>f.value));return i.has(s)?a.filter(f=>{if(!f.models||f.models.length===0)return!0;const y=f.models.filter(b=>i.has(b));return y.length===0||y.includes(s)}):a}function En(e,t){const n=Dt(e,t.harness).find(a=>a.value===t.model);return n||(t.model.trim()?{value:t.model,label:t.model,note:"custom"}:{value:G,label:"Default",note:"harness picks"})}function Gs(e,t){const s=Le(e,t.harness),n=s?.label??t.harness??"Default",a=En(e,t),i=Se(e,t.harness,t.model),f=i?.find($=>$.value===t.effort),y=f?.label??t.effort,b=i?`Runtime: ${n}, model ${a.label}, effort ${y}`:`Runtime: ${n}, model ${a.label}`;return{harness:s,harnessLabel:n,model:a,modelLabel:a.label,effort:f,effortLabel:y,supportsEffort:i!==null,summary:b}}function Bs(e,t,s){const n={...t,...s};if(!(s.harness!==void 0&&s.harness!==t.harness)){if(s.model===void 0||s.model===t.model)return n;const T=Se(e,n.harness,n.model);if(!T||n.effort===G||T.some(V=>V.value===n.effort))return n;const de=(Se(e,t.harness,t.model)??e.efforts).findIndex(V=>V.value===t.effort),J=Math.min(Math.max(de,0),T.length-1);return n.effort=T[J]?.value??T[0]?.value??G,n}const i=Le(e,n.harness);n.model=s.model??i?.defaultModel??G,s.effort===void 0&&i?.defaultEffort&&(n.effort=i.defaultEffort);const f=Se(e,n.harness,n.model);if(!f)return n.effort=G,n;if(f.some(T=>T.value===n.effort))return n;const b=(Se(e,t.harness,t.model)??e.efforts).findIndex(T=>T.value===t.effort),$=Math.min(Math.max(b,0),f.length-1);return n.effort=f[$]?.value??f[0]?.value??G,n}function qs(e,t){const s=t?.harness??e.harnesses.find(i=>!i.disabled)?.value??"",n=Se(e,s),a=n?.find(i=>i.note==="default")?.value??n?.[Math.floor((n.length-1)/2)]?.value??G;return{harness:s,model:t?.model??Le(e,s)?.defaultModel??Dt(e,s)[1]?.value??G,effort:n?t?.effort??Le(e,s)?.defaultEffort??a:G}}function Ks(e,t){const s=t.trim().toLowerCase();return s?e.filter(n=>`${n.label} ${n.value} ${n.note??""}`.toLowerCase().includes(s)):e}function Ge(...e){for(const t of e){const s=t?.trim();if(s)return s}}function In(e){const t=e.harnesses.map(n=>{const a=e.defaultsByHarness?.[n.id],i=n.ready!==!1,f=[{value:G,label:"Default",note:"harness picks"},...e.models.filter(b=>b.harnesses.includes(n.id)).map(b=>({value:b.id,label:b.label,note:Ge(b.description)}))],y=e.efforts.filter(b=>b.harnesses.includes(n.id));return{value:n.id,label:n.label,note:i?Ge(n.description):Ge(n.detail,n.state,"unavailable"),disabled:!i,defaultModel:a?.model??G,defaultEffort:a?.reasoningEffort??G,models:f,efforts:y.length===0?null:y.map(b=>({value:b.id,label:b.label,note:Ge(b.description),...b.models?.length?{models:[...b.models]}:{}}))}}),s=e.efforts.map(n=>({value:n.id,label:n.label,note:Ge(n.description)}));return{harnesses:t,efforts:s.length>0?s:Us}}const zs=6,Ct=34,Mt=460,Ws=14,Js=300,Be=8,St=["harness","model","effort"],Vs={harness:"vertical",model:"vertical",effort:"horizontal"};function Xs(){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 Ys({ctx:e}){const{efforts:t,value:s,set:n}=e;if(!t)return null;const a=Math.max(0,t.findIndex(i=>i.value===s.effort));return o.jsx("div",{className:"s-rt-ladder",role:"radiogroup","aria-label":"Reasoning effort",children:t.map((i,f)=>{const y=f===a;return o.jsxs("button",{type:"button",role:"radio","aria-checked":y,title:i.note,onClick:()=>n({effort:i.value}),...e.cell("effort",f),className:"s-rt-step",children:[o.jsx("span",{className:"s-rt-step-bar","data-state":y?"current":f<a?"filled":"empty"}),o.jsx("span",{className:"s-rt-step-label",children:i.label})]},i.value)})})}function Qs({harnessLabel:e}){return o.jsxs("p",{className:"s-rt-effort-absent",children:[e," has no effort control."]})}function Zs({option:e,selected:t,index:s,ctx:n}){const a=e.disabled??!1;return o.jsxs("button",{type:"button",role:"option","aria-selected":t,"aria-disabled":a||void 0,onClick:()=>{a||n.set({model:e.value})},"data-on":t||void 0,"data-disabled":a||void 0,...n.cell("model",s),style:{animationDelay:`${Math.min(s,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 er({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 tr({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 nr({ctx:e}){return e.status!=="ready"||e.models.length===0?o.jsx(tr,{ctx:e}):o.jsx("div",{role:"listbox","aria-label":"Model",className:"s-rt-models",children:e.models.map((t,s)=>o.jsx(Zs,{option:t,index:s,selected:t.value===e.value.model,ctx:e},t.value||"default"))},e.value.harness)}function ln({value:e,defaultValue:t,onChange:s,catalog:n,status:a="ready",statusMessage:i,onRetry:f,disabled:y=!1,showEffort:b,searchable:$="auto",className:T}){const[v,de]=c.useState(!1),[J,V]=c.useState(""),[ze,We]=c.useState(()=>qs(n,t)),j=e??ze,C=c.useRef(null),ue=c.useRef(null),fe=c.useRef(null),me=c.useRef(null),S=c.useId(),je=c.useCallback(d=>{const h=Bs(n,j,d);e===void 0&&We(h),s?.(h),d.harness!==void 0&&d.harness!==j.harness&&V("")},[n,e,s,j]),L=n.harnesses,De=c.useMemo(()=>Dt(n,j.harness),[n,j.harness]),P=c.useMemo(()=>{const d=En(n,j);return d.note!=="custom"?De:[...De,d]},[De,n,j]),ne=c.useMemo(()=>Ks(P,J),[P,J]),Pe=Se(n,j.harness,j.model),X=b===!1?null:b===!0?Pe??n.efforts:Pe,D=$==="auto"?P.length>zs:$,Y=Gs(n,j),I=c.useRef(new Map),[he,k]=c.useState({group:"model",index:0}),R=c.useMemo(()=>({harness:L.length,model:a==="ready"?ne.length:0,effort:X?.length??0}),[X?.length,L.length,ne.length,a]),se=c.useCallback(d=>d==="harness"?Math.max(0,L.findIndex(h=>h.value===j.harness)):d==="model"?Math.max(0,ne.findIndex(h=>h.value===j.model)):Math.max(0,X?.findIndex(h=>h.value===j.effort)??0),[X,L,ne,j]),N=c.useCallback((d,h)=>{k({group:d,index:h}),I.current.get(`${d}:${h}`)?.focus()},[]),pe=c.useCallback((d,h)=>{const w=St.indexOf(d);for(let g=w+h;g>=0&&g<St.length;g+=h){const A=St[g];if(R[A]>0)return N(A,Math.min(se(A),R[A]-1)),!0}return!1},[R,N,se]),Je=c.useCallback((d,h)=>({ref:w=>{const g=`${d}:${h}`;w?I.current.set(g,w):I.current.delete(g)},tabIndex:he.group===d&&he.index===h?0:-1,onFocus:()=>k({group:d,index:h}),onKeyDown:w=>{const g=Vs[d]==="vertical",A=g?"ArrowDown":"ArrowRight",U=g?"ArrowUp":"ArrowLeft",_e=g?"ArrowRight":"ArrowDown",re=g?"ArrowLeft":"ArrowUp",we=R[d];if(we!==0)if(w.key===A)w.preventDefault(),N(d,(h+1)%we);else if(w.key===U){if(w.preventDefault(),d==="model"&&h===0&&D){k({group:d,index:0}),me.current?.focus();return}N(d,(h-1+we)%we)}else w.key===_e?(w.preventDefault(),pe(d,1)):w.key===re?(w.preventDefault(),pe(d,-1)):w.key==="Home"?(w.preventDefault(),N(d,0)):w.key==="End"&&(w.preventDefault(),N(d,we-1))}}),[R,he,N,pe,D]),ke=c.useCallback(d=>{if(d.key==="ArrowDown"&&R.model>0)d.preventDefault(),N("model",0);else if(d.key==="Enter"&&R.model===1){d.preventDefault();const h=ne[0];h.disabled||je({model:h.value})}else d.key==="Escape"&&J&&(d.preventDefault(),d.stopPropagation(),V(""))},[R.model,N,ne,J,je]),[F,Oe]=c.useState(null),ge=c.useCallback(()=>{const d=ue.current;if(!d)return;const h=d.getBoundingClientRect(),w=h.top,g=window.innerHeight-h.bottom,A=w>=Js||w>=g?"up":"down",U=Math.min(Math.max(Be,h.right-Mt),Math.max(Be,window.innerWidth-Mt-Be));Oe({left:U,top:A==="up"?h.top-Be:h.bottom+Be,placement:A})},[]);c.useLayoutEffect(()=>{if(!v)return;ge();const d=()=>ge();return window.addEventListener("scroll",d,!0),window.addEventListener("resize",d),()=>{window.removeEventListener("scroll",d,!0),window.removeEventListener("resize",d)}},[v,ge]);const E=c.useCallback(d=>{de(!1),d&&ue.current?.focus()},[]);c.useEffect(()=>{if(!v)return;const d=w=>{const g=w.target;C.current?.contains(g)||fe.current?.contains(g)||de(!1)},h=w=>{w.key==="Escape"&&(w.stopPropagation(),E(!0))};return document.addEventListener("pointerdown",d),document.addEventListener("keydown",h),()=>{document.removeEventListener("pointerdown",d),document.removeEventListener("keydown",h)}},[v,E]),c.useEffect(()=>{if(!v)return;const d=R.model>0?"model":"harness",h=Math.min(se(d),Math.max(0,R[d]-1));k({group:d,index:h});const w=requestAnimationFrame(()=>{const g=I.current.get(`${d}:${h}`);g?g.focus():fe.current?.focus()});return()=>cancelAnimationFrame(w)},[v]),c.useEffect(()=>{v||V("")},[v]),c.useEffect(()=>{y&&de(!1)},[y]);const be=Math.max(0,L.findIndex(d=>d.value===j.harness)),H={value:j,set:je,status:a,statusMessage:i,onRetry:f,harnesses:L,models:ne,efforts:X,harnessLabel:Y.harnessLabel,searchable:D,query:J,setQuery:V,searchRef:me,cell:Je,onSearchKeyDown:ke};return o.jsxs("div",{ref:C,className:T?`s-rt-root ${T}`:"s-rt-root",style:{position:"relative",display:"inline-flex"},children:[o.jsxs("button",{ref:ue,type:"button",className:`s-rt-chip${y?" s-rt-chip--disabled":""}`,"aria-haspopup":"dialog","aria-expanded":v,"aria-controls":v?S:void 0,"aria-label":Y.summary,disabled:y,onClick:()=>de(d=>!d),children:[o.jsx(on,{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:`${Ws}ch`},children:o.jsx("span",{className:"s-rt-chip-model-text",children:Y.modelLabel},Y.modelLabel)}),X&&Y.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:Y.effortLabel})]}):null]}),o.jsx(Xs,{})]}),v&&F?gs.createPortal(o.jsx("div",{ref:fe,id:S,role:"dialog","aria-label":"Runtime",tabIndex:-1,"data-placement":F.placement,className:"s-rt-panel",style:{left:F.left,width:Mt,...F.placement==="up"?{bottom:window.innerHeight-F.top}:{top:F.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:Ct-10,transform:`translateY(${be*Ct+5}px)`}}),L.map((d,h)=>{const w=d.value===j.harness,g=d.disabled??!1;return o.jsxs("button",{type:"button",role:"radio","aria-checked":w,"aria-disabled":g||void 0,onClick:()=>{g||H.set({harness:d.value})},style:{height:Ct},"data-on":w||void 0,"data-disabled":g||void 0,title:g?d.note:void 0,...H.cell("harness",h),className:"s-rt-harness",children:[o.jsx(on,{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(er,{ctx:H}):null,o.jsx(nr,{ctx:H})]})]}),o.jsx("div",{className:"s-rt-effort-foot",children:X?o.jsx(Ys,{ctx:H}):o.jsx(Qs,{harnessLabel:Y.harnessLabel})})]})}),document.body):null]})}const Nt="scout:newchat:frame:v1",sr=620,cn=420,dn=300,it=12,rr=210,or=154;function Nn(e){return e>sr}function un(e,t,s){if(!Nn(s.width))return null;const n=e??t;return n?lt(n,s):null}function ar(e){return e?Math.max(or,Math.round(e.height-rr)):null}function fn(e,t,s){const n=s-t-it;return Math.round(Math.max(it,Math.min(e,n)))}function lt(e,t){const s=Math.round(Math.max(cn,Math.min(e.width,Math.max(cn,t.width-it*2)))),n=Math.round(Math.max(dn,Math.min(e.height,Math.max(dn,t.height-it*2))));return{x:fn(e.x,s,t.width),y:fn(e.y,n,t.height),width:s,height:n}}function ir(e,t,s,n){return lt({...e,x:e.x+t,y:e.y+s},n)}function lr(e,t,s,n,a){const i=n==="s"?e.width:e.width+t,f=n==="e"?e.height:e.height+s;return lt({...e,width:i,height:f},a)}function cr(e){if(!e||typeof e!="object")return!1;const t=e;return["x","y","width","height"].every(s=>typeof t[s]=="number"&&Number.isFinite(t[s]))}function dr(e){if(!e)return null;try{const t=JSON.parse(e);return cr(t)?{x:t.x,y:t.y,width:t.width,height:t.height}:null}catch{return null}}function mn(){try{return typeof localStorage>"u"?null:dr(localStorage.getItem(Nt))}catch{return null}}function hn(e){try{if(typeof localStorage>"u")return;if(!e){localStorage.removeItem(Nt);return}localStorage.setItem(Nt,JSON.stringify(e))}catch{}}const kt=ks()??"",pn=Mn(kt),Ee={schemaVersion:"openscout.runtime-capabilities.v1",catalogVersion:W.schemaVersion,defaults:{harness:kt,model:pn,reasoningEffort:Sn(kt,pn)},defaultsByHarness:Ts,harnesses:W.harnesses.filter(e=>e.enabled&&e.listed!==!1).map(e=>({id:e.id,label:e.label})),models:Ds.map(e=>({id:e.id,label:e.label,...e.description?{description:e.description}:{},harnesses:[...e.harnesses]})),efforts:_s.map(e=>({id:e.id,label:e.label,...e.description?{description:e.description}:{},harnesses:[...e.harnesses],...e.models?{models:[...e.models]}:{}}))};function wo(e){return In({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 ur="|";function gn(e){return e<55296?e:e<57344?e+8192:e-2048}function fr(e,t){if(e===t)return 0;const s=Math.min(e.length,t.length);for(let n=0;n<s;n+=1){const a=e.charCodeAt(n),i=t.charCodeAt(n);if(a!==i)return gn(a)<gn(i)?-1:1}return e.length===t.length?0:e.length<t.length?-1:1}function bn(e){return Number.isFinite(e)?e:0}function mr(e,t){const s=bn(e.createdAt),n=bn(t.createdAt);return s!==n?s<n?-1:1:fr(e.id,t.id)}function hr(e){return`${Number.isFinite(e.createdAt)?Math.max(0,Math.trunc(e.createdAt)):0}${ur}${e.id}`}const pr=10,gr=80,wn=300,xn=100,kn=2e3,br=pr,ve=new Map,ce=new Map;let Rn=0;function Ne(e){return e.trim()}function wr(e){const t=new Map;for(const s of e)t.set(s.id,s);return[...t.values()].sort(mr)}function xr(){if(ve.size<=br)return;let e=null,t=Number.POSITIVE_INFINITY;for(const[s,n]of ve)n.touchedAt<t&&(e=s,t=n.touchedAt);e&&ve.delete(e)}function Ie(e){const t=Ne(e),s=ve.get(t);return s?(s.touchedAt=++Rn,s.messages):null}function Pt(e,t,s={}){const n=Ne(e);if(!n)return[];const a=ve.get(n),i=wr(t).slice(-kn);return ve.set(n,{messages:i,historyLoaded:s.historyLoaded??a?.historyLoaded??!1,historyExhausted:s.historyExhausted??a?.historyExhausted??!1,touchedAt:++Rn}),xr(),i}function An(e,t){const s=Ie(e)??[];return Pt(e,[...s,...t])}function Tn(e){return ve.get(Ne(e))?.historyLoaded??!1}function yr(e){const t=ve.get(Ne(e));return!!(t&&t.historyLoaded&&!t.historyExhausted&&t.messages.length>0&&t.messages.length<kn)}async function xo(e,t={}){const s=Ne(e);if(!s)return[];const n=Ie(s);if(n&&!t.refresh)return n;const a=ce.get(s);if(a)return a;const i=z(`/api/messages?conversationId=${encodeURIComponent(s)}&limit=${gr}`).then(f=>An(s,f));ce.set(s,i);try{return await i}finally{ce.delete(s)}}async function vr(e){const t=Ne(e);if(!t)return[];if(Tn(t))return Ie(t)??[];const s=`${t}:history`,n=ce.get(s);if(n)return n;const a=z(`/api/messages?conversationId=${encodeURIComponent(t)}&limit=${wn}`).then(i=>Pt(t,[...Ie(t)??[],...i],{historyLoaded:!0,historyExhausted:i.length<wn}));ce.set(s,a);try{return await a}finally{ce.delete(s)}}async function yo(e){const t=Ne(e);if(!t)return[];if(!Tn(t))return vr(t);if(!yr(t))return Ie(t)??[];const s=Ie(t)??[],n=s[0];if(!n)return s;const a=hr(n),i=`${t}:before:${a}`,f=ce.get(i);if(f)return f;const y=z(`/api/messages?conversationId=${encodeURIComponent(t)}&limit=${xn}&beforeMessageId=${encodeURIComponent(a)}`).then(b=>Pt(t,[...b,...Ie(t)??[]],{historyLoaded:!0,historyExhausted:b.length<xn}));ce.set(i,y);try{return await y}finally{ce.delete(i)}}const jr=12e4,Ke=new Map;function Cr(){const e=globalThis.crypto?.randomUUID?.();return e?`web-${e}`:`web-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function Mr(e){const t=e.conversationId.trim(),s=e.messageId.trim();if(!t||!s)return;An(t,[{id:s,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 n=e.flightId?.trim(),a=e.agentId?.trim();!n||!a||Ke.set(t,{flight:{id:n,invocationId:e.invocationId?.trim()||`pending:${n}`,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()+jr})}function vo(e,t=Date.now()){const s=e.trim(),n=Ke.get(s);return n?n.expiresAt<=t?(Ke.delete(s),null):n.flight:null}function jo(e,t){const s=e.trim(),n=Ke.get(s);n&&(!t||n.flight.id===t)&&Ke.delete(s)}const Sr=1200,Er=new Set(["Page","URL"]);function Ln(e){return e.trim().slice(0,Sr)}function Ir(e){const t=[{label:"Page",value:e.pageTitle??""},{label:"URL",value:e.pageUrl??""}];return e.selection?.trim()&&t.push({label:"Selection",value:Ln(e.selection)}),(e.notes??[]).forEach((s,n)=>{t.push({label:`Note ${n+1}`,value:s})}),t.filter(s=>s.value.trim())}function Nr(e,t){const s=[];for(const a of t){const i=a.value.trim();i&&(Er.has(a.label)?s.push(`${a.label}: ${i}`):s.push(`${a.label}:
|
|
2
|
-
${i.split(`
|
|
3
|
-
`).map(f=>`> ${f}`).join(`
|
|
4
|
-
`)}`))}const n=e.trim();return n&&s.push(n),s.join(`
|
|
5
|
-
|
|
6
|
-
`)}const kr=6,yn=1600;function Rr(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 Dn(e){const t=e.body.trim(),s=Rr(e.attachmentCount??0),n=[t,s].filter(Boolean).join(`
|
|
7
|
-
`)||"(message has no text)";return n.length<=yn?n:`${n.slice(0,yn-1).trimEnd()}…`}function Ar(e){const t=Dn(e).split(/\r?\n/gu).map(s=>`> ${s}`).join(`
|
|
8
|
-
`);return`Forwarded from ${e.actorLabel} in Scout
|
|
9
|
-
|
|
10
|
-
${t}`}function Co(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 s=e.messages[t],n=e.messages.slice(Math.max(0,t-kr),t).filter(i=>i.body.trim()||(i.attachmentCount??0)>0),a=n.map(i=>`${i.actorLabel}:
|
|
11
|
-
${Dn(i)}`).join(`
|
|
12
|
-
|
|
13
|
-
`).slice(-8e3).trim();return{selectedMessage:Ar(s),selectedMessageId:s.id,sourceConversationId:e.conversationId,...a?{recentContext:a}:{},recentMessageCount:n.length}}function Tr(e,t,s){const n=s.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 n?a?`${n}
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
${a}`:n:a}const Pn="openscout.project-recency.v1",On=12;function _n(e){const t=e?.trim();return t?t.length>1?t.replace(/\/+$/u,""):t:null}function Rt(){if(typeof window>"u")return[];try{const e=window.localStorage.getItem(Pn);if(!e)return[];const t=JSON.parse(e);if(!Array.isArray(t))return[];const s=[];for(const n of t){const a=typeof n=="string"?_n(n):null;a&&!s.includes(a)&&s.push(a)}return s.slice(0,On)}catch{return[]}}function vn(e){const t=_n(e);if(!t)return Rt();const s=[t,...Rt().filter(n=>n!==t)].slice(0,On);if(typeof window<"u")try{window.localStorage.setItem(Pn,JSON.stringify(s))}catch{}return s}async function Lr(e){const t=e.conversationId?.trim();if(t)return t;const s=e.projectRoot?.trim()||e.cwd?.trim(),n=await z("/api/conversations/direct",{method:"POST",body:JSON.stringify({agentId:e.id,targetLabel:e.selector??e.defaultSelector??e.name,...s?{projectPath:s}:{}})}),a=n.chatId?.trim()??n.conversationId?.trim()??n.cId?.trim()??n.id?.trim();if(!a)throw new Error("Chat was created, but no chat id was returned.");return a}function qe(e){const t=e?.trim();return t?t.length>1?t.replace(/\/+$/u,""):t:null}function At(e){return e.split("/").filter(Boolean).at(-1)??e}function Dr(e,t,s="claude"){const n=new Map;for(const a of e){const i=qe(a.root);i&&n.set(i,{id:a.id||`project:${i}`,title:a.title?.trim()||At(i),root:i,defaultHarness:a.defaultHarness?.trim()||s,source:"inventory",registrationKind:a.registrationKind?.trim()||null})}for(const a of t){const i=qe(a.projectRoot??a.cwd);!i||n.has(i)||n.set(i,{id:`agent-project:${i}`,title:a.project?.trim()||At(i),root:i,defaultHarness:a.harness?.trim()||s,source:"agent",registrationKind:null})}return[...n.values()].sort((a,i)=>a.title.localeCompare(i.title,void 0,{sensitivity:"base"})||a.root.localeCompare(i.root))}function Pr(e,t){const s=e.title.toLocaleLowerCase(),n=e.root.toLocaleLowerCase(),a=At(e.root).toLocaleLowerCase();return s===t||a===t||n===t?0:s.startsWith(t)||a.startsWith(t)?1:n.startsWith(t)?2:t.split(/\s+/u).filter(Boolean).every(f=>s.includes(f)||n.includes(f))?3:null}function Or(e,t){if(t.length===0)return[...e];const s=new Map(e.map(i=>[i.root,i])),n=[],a=new Set;for(const i of t){const f=s.get(i);!f||a.has(i)||(a.add(i),n.push(f))}return[...n,...e.filter(i=>!a.has(i.root))]}function _r(e,t){const s=t.trim().toLocaleLowerCase();return s?e.map(n=>({project:n,score:Pr(n,s)})).filter(n=>n.score!==null).sort((n,a)=>n.score-a.score||n.project.title.localeCompare(a.project.title,void 0,{sensitivity:"base"})||n.project.root.localeCompare(a.project.root)).map(n=>n.project):[...e]}function $r(e,t){return e===t||e.startsWith(`${t}/`)}function Fr(e,t){const s=qe(t.preferredRoot);if(s){const a=e.find(i=>i.root===s);if(a)return a}for(const a of t.recentRoots??[]){const i=qe(a);if(!i)continue;const f=e.find(y=>y.root===i);if(f)return f}const n=qe(t.currentDirectory);if(n){const a=e.filter(i=>$r(n,i.root)).sort((i,f)=>f.root.length-i.root.length)[0];if(a)return a}return e[0]??null}async function Hr(e){await z("/api/send",{method:"POST",body:JSON.stringify({conversationId:e.conversationId,body:e.body?.trim()??"",attachments:e.attachments})})}async function Ur(e,t){const s=t?.attachments?.filter(Boolean)??[],n=t?.instructions?.trim(),a=Cs(e),i=n||s.length>0?{...a,seed:{...n?{instructions:n}:{},...s.length>0?{attachments:s}:{},...t?.clientMessageId?{clientMessageId:t.clientMessageId}:{}}}:a;return await z("/api/sessions",{method:"POST",body:JSON.stringify(i)})}async function Gr(e){const t=e.projectPath.trim(),s=e.harness?.trim(),n=e.model?.trim(),a=e.reasoningEffort?.trim(),i=e.instructions?.trim(),f=e.fromMessageId?.trim(),y=e.fromConversationId?.trim(),b=e.attachments?.filter(Boolean)??[];return z("/api/sessions",{method:"POST",body:JSON.stringify({target:{projectPath:t},execution:{session:"new",...s?{harness:s}:{},...n?{model:n}:{},...a?{reasoningEffort:a}:{}},agent:{persistence:"one_time"},...i||b.length>0||f&&y?{seed:{...i?{instructions:i}:{},...b.length>0?{attachments:b}:{},...e.clientMessageId?{clientMessageId:e.clientMessageId}:{},...f&&y?{fromMessageId:f,fromConversationId:y}:{}}}:{}})})}async function Mo(e){return z("/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 So(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 Eo(e){const t=e.projectPath.trim(),s=e.sessionId.trim(),n=e.instructions.trim(),a=e.harness?.trim()||void 0,i=e.model?.trim()||void 0,f=e.reasoningEffort?.trim()||void 0;return z("/api/sessions",{method:"POST",body:JSON.stringify({target:{projectPath:t},execution:{session:"existing",targetSessionId:s,...a?{harness:a}:{},...i?{model:i}:{},...f?{reasoningEffort:f}:{}},seed:{instructions:n}})})}async function Br(e,t){const s=t.message?.trim();if(t.mode==="existing-chat"){const i=await Lr(e);return await Hr({conversationId:i,body:s||"Shared capture",attachments:t.attachments}),{conversationId:i,agentId:e.id}}const n=await Ur(e,{instructions:s||"Shared capture for context.",attachments:t.attachments}),a=n.conversationId?.trim();if(!a)throw new Error("Session started, but no conversation was returned.");return{conversationId:a,agentId:n.agentId?.trim()||e.id}}const $n=Ee.harnesses.map(e=>({id:e.id,label:e.label??e.id,description:null,state:null,ready:null,detail:null})),qr=Ee.models.map(e=>({id:e.id,label:e.label??e.id,description:e.description??null,harnesses:[...e.harnesses],source:"catalog"})),Kr=Ee.efforts.map(e=>({...e,harnesses:[...e.harnesses],...e.models?{models:[...e.models]}:{}})),ot={defaults:{harness:Ee.defaults?.harness??"claude",model:Ee.defaults?.model??null,reasoningEffort:Ee.defaults?.reasoningEffort??"medium"},defaultsByHarness:Ee.defaultsByHarness,harnesses:$n,models:qr,efforts:Kr};let Et=null;const jn=5;function zr(e,t){const s=e.defaults.harness===t?e.defaults.model?.trim()??"":"";return s&&e.models.some(n=>n.id===s&&n.harnesses.includes(t))?s:e.models.find(n=>n.harnesses.includes(t))?.id??""}function Wr(e,t){const s=e.efforts.filter(n=>n.harnesses.includes(t));return s.find(n=>n.id===e.defaults.reasoningEffort)?.id??s.find(n=>n.id==="medium")?.id??s[0]?.id??""}function Jr(e){return URL.createObjectURL(e)}function It(e){return e.replace(/^\/Users\/[^/]+/u,"~")}function Vr(e){return e.split("/").filter(Boolean).at(-1)??e}function Xr(e){const t=e.trim();return t.startsWith("/")||t.startsWith("~/")}function Yr({file:e,onRemove:t}){const s=c.useMemo(()=>Jr(e),[e]);c.useEffect(()=>()=>URL.revokeObjectURL(s),[s]);const n=e.type.startsWith("video/"),a=e.type.startsWith("image/");return o.jsxs("div",{className:"s-newchat-attachment",children:[n?o.jsx("video",{src:s,muted:!0,playsInline:!0}):a?o.jsx("img",{src:s,alt:e.name}):o.jsxs("div",{className:"s-newchat-attachment-file",title:e.name,children:[o.jsx(Is,{size:24,"aria-hidden":"true"}),o.jsx("span",{children:e.name})]}),o.jsx("span",{className:"s-newchat-attachment-badge",children:n?"video":a?"image":"file"}),o.jsx("button",{type:"button",className:"s-newchat-attachment-remove","aria-label":`Remove ${e.name}`,onClick:t,children:"×"})]})}function at(){return{width:window.innerWidth,height:window.innerHeight}}function Qr({agents:e,route:t,navigate:s,onClose:n,initialAgentId:a,initialConversationId:i,initialMessage:f,initialFiles:y,initialAttachmentFeedback:b,initialIntent:$="new-task",initialProjectPath:T,initialForwardContext:v,initialForwardContextMode:de="selected-message",defaultMode:J,draftRestored:V=!1,onDraftChange:ze,onDraftConsumed:We}){const j=c.useMemo(()=>Fs(t,e),[t,e]),C=$==="forward-message"&&!!v,ue=c.useMemo(()=>[...e].sort((r,l)=>(l.updatedAt??0)-(r.updatedAt??0)),[e]),fe=$==="route-capture"?a??j.agentId??null:null,me=$==="route-capture"?i??j.conversationId:null,S=ue.find(r=>r.id===fe)??null,je=S?.projectRoot??S?.cwd??null,[L,De]=c.useState(null),[P,ne]=c.useState(Et),[Pe,X]=c.useState(null),[D,Y]=c.useState(null),[I,he]=c.useState(()=>T||je||""),[k,R]=c.useState(""),[se,N]=c.useState(0),[pe,Je]=c.useState(()=>Rt()),[ke,F]=c.useState(!1),[Oe,ge]=c.useState(null),[E,be]=c.useState(()=>f??""),[H,d]=c.useState(de),[h,w]=c.useState({open:!1,query:"",triggerStart:-1,index:0}),[g,A]=c.useState({open:!1,query:"",triggerStart:-1,index:0}),[U,_e]=c.useState(()=>[...y??[]]),[re,we]=c.useState(()=>J||(me?"existing-chat":"new-session")),[Fn,Ot]=c.useState("idle"),[Hn,ct]=c.useState("idle"),[_t,Ce]=c.useState(null),[Ve,$t]=c.useState(()=>b??null),[$e]=c.useState(()=>{if(typeof window>"u")return{title:"",url:"",selection:""};const r=document.activeElement,l=r instanceof HTMLInputElement||r instanceof HTMLTextAreaElement;return{title:document.title,url:window.location.href,selection:l?"":Ln(window.getSelection()?.toString()??"")}}),[dt,Un]=c.useState(!1),[oe,Ft]=c.useState(()=>S?.harness?.trim()||ot.defaults.harness),[Xe,Ht]=c.useState(()=>S?.model?.trim()||ot.defaults.model||""),[Ye,Ut]=c.useState(ot.defaults.reasoningEffort||""),[ut,Gt]=c.useState(()=>V?"Restored your unsent draft.":null),[Gn,ft]=c.useState(0),{ref:mt,onKeyDown:Bn}=js(!0),O=c.useRef(null),ht=c.useRef(null),Me=c.useRef(0),Qe=c.useRef(!!T),Bt=c.useRef(!1),[Q,Re]=c.useState(null),[qn,pt]=c.useState(null),Fe=c.useRef(null);c.useEffect(()=>{typeof window>"u"||Re(un(null,mn(),at()))},[]),c.useEffect(()=>{if(typeof window>"u")return;const r=()=>{Re(l=>{const m=at();return un(l,l?null:mn(),m)})};return window.addEventListener("resize",r),()=>window.removeEventListener("resize",r)},[]);const Kn=c.useCallback(()=>{if(Q)return Q;const r=mt.current;if(!r)return null;const l=r.getBoundingClientRect();return{x:Math.round(l.left),y:Math.round(l.top),width:Math.round(l.width),height:Math.round(l.height)}},[Q,mt]),zn=(r,l)=>{if(typeof window>"u"||r.button!==0||!Nn(window.innerWidth)||!l&&r.target?.closest("button"))return;const m=Kn();m&&(r.preventDefault(),r.currentTarget.setPointerCapture(r.pointerId),Fe.current={base:m,x:r.clientX,y:r.clientY,edge:l},pt(l?"resize":"move"),Re(lt(m,at())))},Wn=r=>{const l=Fe.current;if(!l)return;const m=r.clientX-l.x,u=r.clientY-l.y,p=at();Re(l.edge?lr(l.base,m,u,l.edge,p):ir(l.base,m,u,p))},qt=r=>{if(Fe.current){Fe.current=null,pt(null);try{r.currentTarget.releasePointerCapture(r.pointerId)}catch{}Re(l=>(l&&hn(l),l))}},Jn=()=>{Fe.current=null,pt(null),Re(null),hn(null)},Ze=r=>({onPointerDown:l=>zn(l,r),onPointerMove:Wn,onPointerUp:qt,onPointerCancel:qt}),Kt=ar(Q),Vn=Q?{position:"absolute",left:Q.x,top:Q.y,width:Q.width,height:Q.height,maxWidth:"none",maxHeight:"none",...Kt?{"--s-newchat-input-min":`${Kt}px`}:{}}:void 0,Z=c.useMemo(()=>Or(Dr(L?.projects??[],e,L?.context.defaultHarness??"claude"),pe),[e,L,pe]),M=Z.find(r=>r.root===I)??null??(I?{id:`direct:${I}`,title:Vr(I),root:I,defaultHarness:L?.context.defaultHarness??S?.harness??"claude",source:"agent",registrationKind:null}:null),gt=c.useMemo(()=>{const r=new Set,l=M?ue.filter(u=>u.projectRoot?.trim()===M.root||u.cwd?.trim()===M.root):[];return(l.length>0?l:ue).flatMap(u=>{if(u.retiredFromFleet)return[];const p=u.handle?.trim().replace(/^@+/,"")||bs(u.id)||"",q=p.toLowerCase();return!p||r.has(q)?[]:(r.add(q),[{id:u.id,label:p,name:u.name||p,handle:p}])})},[M,ue]),ee=(P?.harnesses??$n).find(r=>r.id===oe)??null,Ae=!P&&!D,zt=c.useMemo(()=>{const r=In(P??ot);return oe&&!r.harnesses.some(l=>l.value===oe)?{...r,harnesses:[...r.harnesses,{value:oe,label:oe,models:[{value:"",label:"Default",note:"harness picks"}]}]}:r},[P,oe]),He=c.useMemo(()=>_r(Z,k),[k,Z]),te=c.useMemo(()=>{const r=He.slice(0,jn);if(!I||r.some(m=>m.root===I))return r;const l=He.find(m=>m.root===I);return l?[l,...r.slice(0,jn-1)]:r},[He,I]),xe=Xr(k)&&!Z.some(r=>r.root===k.trim())?k.trim():null,et=te.length+(xe?1:0),Xn=Math.max(0,(k.trim()?He.length:Z.length)-te.length),Yn=!!(S&&M&&[S.projectRoot,S.cwd].some(r=>r?.trim()===M.root)),B=U.length>0,x=Fn==="starting",Wt=Gn>0,tt=Yn&&!!(S?.conversationId||me),ye=!B||!tt||re==="new-session",Jt=ye&&(Ae||ee?.ready===!1),Vt=C?"Forward to new task":B?"Route capture":"New task",Xt=c.useMemo(()=>C?[]:Ir({pageTitle:$e.title,pageUrl:$e.url,selection:dt?$e.selection:void 0}),[dt,C,$e]),ae=C&&v?Tr(v,H,E):Nr(E,Xt),Qn=Hn==="uploading"?"Uploading capture":C?"Forwarding to new task":B?"Routing capture":"Sending message",Zn=B?`Submitted to ${M?.title??S?.name??"Scout"}. Opening the chat when the broker returns it.`:ae?`Routing your first message through /${M?.title??S?.name??"project"}.`:`Starting a project-routed chat in /${M?.title??S?.name??"project"}.`,Yt=B&&tt,es=ye&&(Ae||!!D||ee?.ready===!1),ts=Yt||!C&&es,ie=c.useMemo(()=>{if(!h.open)return[];const r=h.query.toLowerCase();return r?an.filter(l=>l.command.toLowerCase().startsWith(`/${r}`)||l.command.toLowerCase().includes(r)):an},[h.open,h.query]),le=c.useMemo(()=>{if(!g.open)return[];const r=g.query.toLowerCase();return r?gt.filter(l=>l.handle.toLowerCase().includes(r)||l.name.toLowerCase().includes(r)||l.label.toLowerCase().includes(r)).slice(0,8):gt.slice(0,8)},[gt,g.open,g.query]),bt=c.useCallback(()=>{w(r=>r.open?{...r,open:!1}:r),A(r=>r.open?{...r,open:!1}:r)},[]),Ue=c.useCallback((r,l)=>{const m=ws(r,l);w(p=>m?{open:!0,query:m.query,triggerStart:m.start,index:p.open&&p.triggerStart===m.start?p.index:0}:p.open?{...p,open:!1}:p);const u=xs(r,l);A(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)},[]),ns=c.useCallback((r,l)=>{be(r),Ue(r,l?.caret??r.length)},[Ue]),wt=c.useCallback(r=>{const l=h.triggerStart;if(l<0)return;const m=O.current?.selectionStart??E.length,u=E.slice(0,l),p=E.slice(m),q=`${u}${r.insert}${p}`;be(q),w(K=>({...K,open:!1})),requestAnimationFrame(()=>{const K=O.current;if(!K)return;const _=u.length+r.insert.length;K.focus(),K.setSelectionRange(_,_)})},[E,h.triggerStart]),xt=c.useCallback(r=>{const l=g.triggerStart;if(l<0)return;const m=O.current?.selectionStart??E.length,u=E.slice(0,l),p=E.slice(m),q=`@${r.handle}${p.length===0||!p.startsWith(" ")?" ":""}`,K=`${u}${q}${p}`;be(K),A(_=>({..._,open:!1})),requestAnimationFrame(()=>{const _=O.current;if(!_)return;const Te=u.length+q.length;_.focus(),_.setSelectionRange(Te,Te)})},[g.triggerStart,E]),Qt=c.useCallback(r=>{if(x)return;const m=O.current?.selectionStart??E.length,u=E.slice(0,m),p=E.slice(m),K=`${u&&!/\s$/.test(u)?" ":""}${r}`,_=`${u}${K}${p}`,Te=u.length+K.length;be(_),Ue(_,Te),requestAnimationFrame(()=>{const vt=O.current;vt&&(vt.focus(),vt.setSelectionRange(Te,Te))})},[x,E,Ue]),ss=c.useCallback(r=>{const l=h.open&&ie.length>0,m=g.open&&le.length>0;if(!l&&!m)return!1;if(r.key==="ArrowDown")return l?w(u=>({...u,index:(u.index+1)%ie.length})):A(u=>({...u,index:(u.index+1)%le.length})),!0;if(r.key==="ArrowUp")return l?w(u=>({...u,index:(u.index-1+ie.length)%ie.length})):A(u=>({...u,index:(u.index-1+le.length)%le.length})),!0;if(r.key==="Escape")return bt(),!0;if((r.key==="Enter"||r.key==="Tab")&&!r.shiftKey&&!r.metaKey&&!r.ctrlKey&&!r.altKey){if(l){const u=ie[h.index]??ie[0];u&&wt(u)}else{const u=le[g.index]??le[0];u&&xt(u)}return!0}return!1},[xt,wt,bt,le,ie,g.index,g.open,h.index,h.open]),yt=c.useCallback(()=>{x||n()},[x,n]),rs=c.useCallback(()=>{Gt("Draft kept open. Use Esc or × when you are ready to close it."),requestAnimationFrame(()=>O.current?.focus())},[]);c.useEffect(()=>{const r=l=>{l.key==="Escape"&&(l.preventDefault(),yt())};return window.addEventListener("keydown",r),()=>window.removeEventListener("keydown",r)},[yt]),c.useEffect(()=>{if(!ut)return;const r=window.setTimeout(()=>Gt(null),5e3);return()=>window.clearTimeout(r)},[ut]),c.useEffect(()=>{O.current?.focus()},[]),c.useEffect(()=>{let r=!1;return z("/api/agent-config/snapshot").then(l=>{r||(De(l),X(null))}).catch(l=>{r||X(l instanceof Error?l.message:"Could not load projects.")}),()=>{r=!0}},[]);const nt=c.useCallback(()=>{z("/api/runner/options").then(r=>{Et=r,ne(r),Y(null)}).catch(()=>{Et||Y("Model catalog unavailable. Harness defaults are still available.")})},[]);c.useEffect(()=>{nt()},[nt]),c.useEffect(()=>{if(Qe.current||Z.length===0)return;const r=Fr(Z,{preferredRoot:je,currentDirectory:L?.context.currentDirectory,recentRoots:pe});r&&he(r.root)},[L?.context.currentDirectory,je,Z,pe]),c.useEffect(()=>{if(Bt.current)return;const r=M?.defaultHarness?.trim()||S?.harness?.trim()||P?.defaults.harness||"claude";if(Ft(r),!P)return;const l=S?.model?.trim()??"",m=P.models.some(u=>u.id===l&&u.harnesses.includes(r));Ht(m?l:zr(P,r)),Ut(Wr(P,r))},[S?.harness,S?.model,P,M?.defaultHarness,M?.root]),c.useLayoutEffect(()=>{ze?.({intent:$,...fe?{agentId:fe}:{},...me?{conversationId:me}:{},message:E,files:U,attachmentFeedback:Ve,mode:re,projectPath:I,projectQuery:k,...C&&v?{forwardContext:v}:{},forwardContextMode:H})},[Ve,U,H,v,$,C,E,re,ze,I,k,fe,me,M?.title]);const Zt=c.useCallback((r,l="Added")=>{if(x)return;const m=r.filter(sn),u=r.filter(p=>!sn(p));if(m.length>0&&(_e(p=>[...p,...m]),$t(m.length===1?`${l} ${m[0]?.name??"1 attachment"}.`:`${l} ${m.length} attachments.`)),u.length>0){const p=u.length===1?u[0]?.name??"That file":`${u.length} files`;Ce(`${p} ${u.length===1?"is":"are"} not supported. Attach markdown, code, an image, or a video clip.`)}else m.length>0&&Ce(null)},[x]),st=c.useCallback((r,l)=>{const m=hs(r);if(m.length===0){Ce("Scout could not read that file. Try dropping or pasting it again.");return}Zt(m,l)},[Zt]),os=c.useCallback(r=>{x||!rt(r.dataTransfer)||(r.preventDefault(),r.stopPropagation(),Me.current+=1,ft(Me.current))},[x]),as=c.useCallback(r=>{x||!rt(r.dataTransfer)||(r.preventDefault(),r.stopPropagation(),r.dataTransfer.dropEffect="copy")},[x]),is=c.useCallback(r=>{Me.current!==0&&(r.preventDefault(),r.stopPropagation(),Me.current=Math.max(0,Me.current-1),ft(Me.current))},[]),ls=c.useCallback(r=>{rt(r.dataTransfer)&&(r.preventDefault(),r.stopPropagation(),Me.current=0,ft(0),st(r.dataTransfer,"Added"))},[st]),cs=c.useCallback(r=>{x||!rt(r.clipboardData)||(r.preventDefault(),r.stopPropagation(),st(r.clipboardData,"Pasted"))},[st,x]),en=r=>{Qe.current=!0,Je(vn(r.root)),he(r.root),R(""),N(0),F(!1),ge(null),requestAnimationFrame(()=>O.current?.focus())},tn=r=>{const l=r.trim();l&&(Qe.current=!0,Je(vn(l)),he(l),R(""),N(0),F(!1),ge(null),requestAnimationFrame(()=>O.current?.focus()))},ds=()=>{Qe.current=!0,he(""),R(""),N(0),F(!1),ge(null),requestAnimationFrame(()=>O.current?.focus())},us=r=>{if(r.key==="ArrowDown"||r.key==="ArrowUp"){r.preventDefault(),N(l=>{if(et===0)return 0;const m=r.key==="ArrowDown"?1:-1;return(l+m+et)%et});return}if(r.key==="Enter"){r.preventDefault();const l=te[se];l?en(l):xe&&se===te.length&&tn(xe);return}r.key==="Escape"&&ke&&k&&(r.preventDefault(),r.stopPropagation(),R(""),N(0))},nn=r=>{Bt.current=!0,Ft(r.harness),Ht(r.model),Ut(r.effort)},fs=async()=>{if(x)return;if(C&&!ae){Ce("Add instructions, or choose a context option that includes the source message."),requestAnimationFrame(()=>O.current?.focus());return}if(!M){Ce(null),ge("Choose a project before starting this task."),F(!0),requestAnimationFrame(()=>ht.current?.focus());return}if(Jt)return;Ot("starting"),ct(U.length>0?"uploading":"starting"),Ce(null);const r=Cr(),l=Date.now();try{let m=[];if(U.length>0&&(m=await ps(U),ct("starting")),B&&S&&tt&&re==="existing-chat"){const _=await Br(S,{mode:re==="existing-chat"&&tt?"existing-chat":"new-session",message:ae,attachments:m});be(""),_e([]),$t(null),s({view:"agents-v2",agentId:_.agentId,conversationId:_.conversationId,tab:"message"}),We?.(),n();return}const u=await Gr({projectPath:M.root,harness:oe,...Xe?{model:Xe}:{},...Ye?{reasoningEffort:Ye}:{},...ae?{instructions:ae}:B?{instructions:"Shared capture for context."}:{},...m.length>0?{attachments:m}:{},...C&&v?{fromMessageId:v.selectedMessageId,fromConversationId:v.sourceConversationId}:{},clientMessageId:r}),p=u.conversationId?.trim();if(!p)throw new Error("Message sent, but no Chat was returned.");const q=u.messageId?.trim();q&&Mr({conversationId:p,messageId:q,clientMessageId:r,body:ae||(m.length>0?"Shared capture for context.":"New session started."),attachments:m,agentId:u.agentId,flightId:u.flightId,invocationId:u.invocationId,createdAt:l}),be(""),s({view:"conversation",conversationId:p}),We?.(),n()}catch(m){Ce(m instanceof Error?m.message:B?"Could not route capture.":"Could not send message."),Ot("idle"),ct("idle")}};return o.jsx("div",{className:"s-newchat-backdrop",onClick:rs,onDragEnter:os,onDragOver:as,onDragLeave:is,onDrop:ls,onPaste:cs,role:"presentation",children:o.jsxs("div",{ref:mt,className:`s-newchat-panel${x?" s-newchat-panel--starting":""}${Wt?" s-newchat-panel--dragging":""}`,style:Vn,"data-framed":Q?"true":void 0,"data-gesture":qn??void 0,role:"dialog","aria-modal":"true","aria-label":Vt,onClick:r=>r.stopPropagation(),onKeyDown:Bn,tabIndex:-1,children:[o.jsxs("header",{className:"s-newchat-head",title:"Drag to move · double-click to recenter",onDoubleClick:Jn,...Ze(null),children:[o.jsx("span",{className:"s-newchat-title",children:Vt}),o.jsx("div",{className:"s-newchat-head-status",children:o.jsx("span",{role:"status","aria-live":"polite",children:ut})}),o.jsx("button",{type:"button",className:"s-newchat-close",onClick:yt,disabled:x,"aria-label":"Close (Esc)",title:"Close (Esc)",children:o.jsx(Ms,{size:14,"aria-hidden":"true"})})]}),Wt?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(vs,{context:Xt,selection:$e.selection,attached:dt,onToggleSelection:()=>Un(r=>!r)}),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":M?void 0:"true","aria-expanded":ke,"aria-controls":"s-newchat-project-panel","aria-describedby":Oe?"s-newchat-project-reminder":void 0,disabled:x,onClick:()=>{const r=!ke;F(r),requestAnimationFrame(r?()=>ht.current?.focus():()=>O.current?.focus())},children:[o.jsx("span",{className:"s-newchat-project-summary-title",children:M?`/${M.title}`:"Choose a project"}),M?o.jsx("span",{className:"s-newchat-project-summary-path",title:M.root,children:It(M.root)}):o.jsx("span",{className:"s-newchat-project-summary-path",children:"Required when you send"}),o.jsx(Ss,{size:13,"aria-hidden":"true"})]})]}),Oe?o.jsx("p",{id:"s-newchat-project-reminder",className:"s-newchat-project-reminder",role:"alert",children:Oe}):null,ke?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(Es,{size:13,"aria-hidden":"true",className:"s-newchat-project-search-icon"}),o.jsx("input",{ref:ht,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":et>0?`s-newchat-project-option-${se}`:void 0,value:k,placeholder:L?"Filter projects, or type a path…":"Loading projects…",disabled:x,spellCheck:!1,autoComplete:"off",onChange:r=>{R(r.currentTarget.value),N(0)},onKeyDown:us})]}),o.jsxs("div",{id:"s-newchat-project-results",className:"s-newchat-project-results",role:"listbox","aria-label":"Projects",children:[te.map((r,l)=>o.jsxs("div",{id:`s-newchat-project-option-${l}`,role:"option","aria-selected":r.root===I,"aria-disabled":x||void 0,className:"s-newchat-project-option","data-active":l===se||void 0,onMouseDown:m=>m.preventDefault(),onMouseEnter:()=>N(l),onClick:()=>{x||en(r)},children:[o.jsxs("span",{className:"s-newchat-project-option-title",children:["/",r.title]}),o.jsx("span",{className:"s-newchat-project-option-path",children:It(r.root)})]},r.root)),xe?o.jsxs("div",{id:`s-newchat-project-option-${te.length}`,role:"option","aria-selected":xe===I,"aria-disabled":x||void 0,className:"s-newchat-project-option s-newchat-project-option--path","data-active":se===te.length||void 0,onMouseDown:r=>r.preventDefault(),onMouseEnter:()=>N(te.length),onClick:()=>{x||tn(xe)},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:It(xe)})]}):null,te.length===0&&!xe?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:[Xn>0?o.jsxs("p",{className:"s-newchat-project-foot",children:[te.length," of"," ",k.trim()?He.length:Z.length,k.trim()?" matches":" projects"," · type to narrow"]}):o.jsx("span",{}),M?o.jsx("button",{type:"button",className:"s-newchat-project-clear",onClick:ds,children:"Clear project"}):null]}),Pe&&Z.length===0?o.jsx("div",{className:"s-newchat-error",role:"alert",children:Pe}):null]}):null,C&&v?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(ln,{catalog:zt,value:{harness:oe,model:Xe,effort:Ye},onChange:nn,status:Ae?"loading":D?"error":"ready",statusMessage:D??void 0,onRetry:nt,disabled:x||!ye})}),ye&&Ae?o.jsxs("p",{className:"s-newchat-runtime-note","data-pending":"true",role:"status",children:[o.jsx(jt,{size:11,className:"s-newchat-runtime-note-spinner","aria-hidden":"true"}),"Loading the model catalog…"]}):ye&&(D||ee?.ready===!1)?o.jsx("p",{className:"s-newchat-runtime-note",role:"alert",children:ee?.ready===!1?ee.detail||`${ee.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":H==="selected-message",disabled:x,onClick:()=>d("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":H==="recent-context",disabled:x||v.recentMessageCount===0,onClick:()=>d("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:v.recentMessageCount>0?`Carry ${v.recentMessageCount} preceding visible ${v.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":H==="instructions-only",disabled:x,onClick:()=>d("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(ms,{density:"panel",value:E,onChange:ns,onSend:()=>{fs()},sendOnEnter:!0,textareaRef:O,placeholder:C?"Add what the new task should do (optional)…":B?"What should the agent do with this?":"Describe the task, or leave blank…","aria-label":C?"Instructions for the new task":"Message",disabled:x,sending:x,canSend:!x&&!Jt&&(!C||!!ae),rows:7,maxHeightPx:280,sendTitle:C?"Forward to new task (Enter)":B?"Route (Enter)":"Start task (Enter)",sendAriaLabel:C?"Forward to new task":B?"Route capture":"Start task",overlay:o.jsxs(o.Fragment,{children:[h.open?o.jsx(rn,{label:"Slash commands",placement:"inside",items:ie.map(r=>({id:r.command,token:r.label,description:r.description})),activeIndex:h.index,onPick:r=>{const l=ie[r];l&&wt(l)},onActiveIndexChange:r=>w(l=>({...l,index:r}))}):null,g.open?o.jsx(rn,{label:"Mention agent",placement:"inside",items:le.map(r=>({id:r.id,token:`@${r.handle}`,description:r.name,avatar:{label:r.name[0]?.toUpperCase()??"?",color:ys(r.name)}})),activeIndex:g.index,onPick:r=>{const l=le[r];l&&xt(l)},onActiveIndexChange:r=>A(l=>({...l,index:r}))}):null]}),onSelect:r=>{const l=r.currentTarget;Ue(l.value,l.selectionStart)},onBlur:()=>window.setTimeout(bt,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:x,onClick:()=>Qt("/"),children:"/Commands"}),o.jsx("span",{"aria-hidden":"true",children:"·"}),o.jsx("button",{type:"button",className:"s-newchat-command-trigger",disabled:x,onClick:()=>Qt("@"),children:"@Agents"})]}),tools:C?void 0:o.jsx(ln,{catalog:zt,value:{harness:oe,model:Xe,effort:Ye},onChange:nn,status:Ae?"loading":D?"error":"ready",statusMessage:D??void 0,onRetry:nt,disabled:x||!ye})}),U.length>0?o.jsx("div",{className:"s-newchat-attachments","aria-label":"Attached captures",children:U.map((r,l)=>o.jsx(Yr,{file:r,onRemove:()=>_e(m=>m.filter((u,p)=>p!==l))},`${r.name}:${r.size}:${l}`))}):null,Ve?o.jsx("div",{className:"s-newchat-attachment-feedback",role:"status","aria-live":"polite",children:Ve}):null,_t&&o.jsx("div",{className:"s-newchat-error",role:"alert",children:_t}),x&&o.jsxs("div",{className:"s-newchat-progress",role:"status","aria-live":"polite",children:[o.jsx(jt,{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:Qn}),o.jsx("span",{className:"s-newchat-progress-detail",children:Zn}),ae&&o.jsx("span",{className:"s-newchat-progress-message",children:ae})]})]})]}),ts?o.jsxs("div",{className:"s-newchat-config",children:[Yt?o.jsxs("div",{className:"s-newchat-mode",role:"group","aria-label":"Delivery mode",children:[o.jsx("button",{type:"button",className:`s-newchat-mode-btn${re==="existing-chat"?" s-newchat-mode-btn--on":""}`,disabled:x,onClick:()=>we("existing-chat"),children:"Existing chat"}),o.jsx("button",{type:"button",className:`s-newchat-mode-btn${re==="new-session"?" s-newchat-mode-btn--on":""}`,disabled:x,onClick:()=>we("new-session"),children:"New chat"})]}):null,ye&&Ae?o.jsxs("p",{className:"s-newchat-runtime-note","data-pending":"true",role:"status",children:[o.jsx(jt,{size:11,className:"s-newchat-runtime-note-spinner","aria-hidden":"true"}),"Loading the model catalog…"]}):ye&&(D||ee?.ready===!1)?o.jsx("p",{className:"s-newchat-runtime-note",role:"alert",children:ee?.ready===!1?ee.detail||`${ee.label} is unavailable.`:D}):null]}):null]}),o.jsx("div",{className:"s-newchat-resize s-newchat-resize--e","aria-hidden":"true",title:"Drag to resize",...Ze("e")}),o.jsx("div",{className:"s-newchat-resize s-newchat-resize--s","aria-hidden":"true",title:"Drag to resize",...Ze("s")}),o.jsx("div",{className:"s-newchat-resize s-newchat-resize--se","aria-hidden":"true",title:"Drag to resize",...Ze("se")})]})})}const Io=Object.freeze(Object.defineProperty({__proto__:null,NewChatComposer:Qr},Symbol.toStringTag,{value:"Module"}));export{Qr as N,Ee as R,Se as a,ln as b,Ie as c,yr as d,Lr as e,xo as f,yo as g,Tn as h,Co as i,Cr as j,So as k,vr as l,Mo as m,Eo as n,Fs as o,vo as p,Io as q,wo as r,jo as s,Pt as w};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as o,j as e}from"./index-BZovGpDk.js";import{a as v}from"./api-h5zurxmi.js";import{d as b,S as u}from"./SessionObserve-B-SkP3tu.js";import{u as h}from"./sse-Bb0EOcU9.js";import{f as x}from"./time-Dhsh_2EG.js";import{SessionObserveEmbedStatus as f}from"./SessionObserveEvidence-CF5jnH3-.js";import{E as c}from"./external-link-Dd8xaveL.js";import"./bash-format-BRV5C6Gv.js";import"./tail-display-BRcJltQa.js";import"./lane-edit-display-C_Aujldz.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-BkBcDYm-.js";import"./index-DiiEQwdc.js";import"./lane-observe-BA3g9aVd.js";import"./lane-ask-display-B6iCAVcd.js";import"./colors-BtO5_zlx.js";import"./mentions-BjXfeF7t.js";import"./Provider-p-xuaAoE.js";import"./router-63XV_E7f.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-AmSgHklm.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-DnFcmfMR.js";import"./DocumentFocusViewer-CZVVIAD5.js";import"./createLucideIcon-DCq_3fQn.js";import"./TextDocumentSurface-BcP9vvji.js";/* empty css */import"./file-text-BITQqGtF.js";import"./x-CrGUKNRv.js";import"./chevron-right-CaEwYkxE.js";import"./code-xml-Dbvjk9Kw.js";import"./arrow-left-CXDkJuCg.js";import"./scout-voice-D8Q5sZOL.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-CHo_xmjw.js";import"./MessageComposerSuggestions-qbalTne_.js";import"./NewChatComposer-DKlNX1UA.js";import"./runtime-picker-BXKJbLot.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-B-l2Wj3-.js";import"./HarnessMark-DrE57dUq.js";import"./conversation-model-CHwHZNw-.js";import"./NewChatOrigin-DXPvX-hh.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-BVg09D6U.js";import"./search-1QMVOxF3.js";import"./chunk-HRAB3GC3-HhKwnZCi.js";import"./AgentDetailCard-Dtc02KUO.js";import"./AgentLiveActions-DwScaVRF.js";import"./terminal-takeover--05EYhJm.js";import"./openContent-C6XO6kr5.js";import"./eye-DkU59kfl.js";import"./terminal-xGf_F3y7.js";import"./message-markup-DlVX-iuc.js";import"./ObservedTopologyPanel-BlmGoxCE.js";import"./ObserveTextFlow-DWNlmTVm.js";import"./use-reduced-motion-C8cWvIZ3.js";import"./message-circle-BwVx5X0q.js";import"./wrench-_tHBGTop.js";import"./index-BWHgHrtv.js";const j=2500,g=240,N=5;function I({ask:r,sessionId:s}){const[i,p]=o.useState(!1);if(!r)return e.jsxs("section",{className:"s-observe-embed-ask s-observe-embed-ask--unknown",children:[e.jsx("div",{className:"s-observe-embed-ask-kicker",children:"Ask"}),e.jsx("div",{className:"s-observe-embed-ask-unknown",children:"Not available for this observed session."})]});const m=r.task.length>g||r.task.split(`
|
|
2
|
-
`).length>N,n=r.conversationId?`/messages/${encodeURIComponent(r.conversationId)}${r.messageId?`#msg-${encodeURIComponent(r.messageId)}`:""}`:null,d=`/flights/${encodeURIComponent(r.flightId)}/observe${s?`?session=${encodeURIComponent(s)}`:""}`;return e.jsxs("section",{className:"s-observe-embed-ask",children:[e.jsxs("div",{className:"s-observe-embed-ask-head",children:[e.jsxs("div",{children:[e.jsx("div",{className:"s-observe-embed-ask-kicker",children:"Ask"}),e.jsxs("div",{className:"s-observe-embed-ask-byline",children:[e.jsx("span",{children:r.requesterName}),e.jsx("span",{"aria-hidden":"true",children:"·"}),e.jsx("time",{dateTime:new Date(r.requestedAt).toISOString(),children:x(r.requestedAt)})]})]}),e.jsxs("nav",{className:"s-observe-embed-ask-links","aria-label":"Run provenance",children:[n&&e.jsxs("a",{href:n,target:"_top",children:["Origin ",e.jsx(c,{size:11,"aria-hidden":"true"})]}),e.jsxs("a",{href:d,target:"_top",children:["Flight ",e.jsx(c,{size:11,"aria-hidden":"true"})]})]})]}),e.jsx("div",{className:`s-observe-embed-ask-body${i?" is-expanded":""}`,children:r.task}),m&&e.jsx("button",{type:"button",className:"s-observe-embed-ask-toggle","aria-expanded":i,onClick:()=>p(t=>!t),children:i?"Show less":"Show full ask"})]})}function _e({agentId:r}){const[s,i]=o.useState(null),[p,m]=o.useState(!0),[n,d]=o.useState(null),t=o.useCallback(async(l=!1)=>{l||m(!0),d(null);try{const a=await v(`/api/agents/${encodeURIComponent(r)}/observe`);i(a)}catch(a){l||i(null),d(a instanceof Error?a.message:String(a))}finally{m(!1)}},[r]);return o.useEffect(()=>{t();const l=window.setInterval(()=>{t(!0)},j);return()=>window.clearInterval(l)},[t]),h(()=>{t(!0)}),n&&!s?e.jsx("div",{className:"s-observe-embed-page",children:e.jsxs("div",{className:"s-observe-embed-empty",children:[e.jsx("div",{className:"s-observe-embed-empty-title",children:"Observe unavailable"}),e.jsx("div",{className:"s-observe-embed-empty-detail",children:n})]})}):p&&!s?e.jsx("div",{className:"s-observe-embed-page",children:e.jsxs("div",{className:"s-observe-embed-empty",children:[e.jsx("div",{className:"s-observe-embed-empty-title",children:"Resolving trace"}),e.jsx("div",{className:"s-observe-embed-empty-detail",children:r})]})}):e.jsxs("div",{className:"s-observe-embed-page",children:[s&&e.jsxs(e.Fragment,{children:[e.jsx(f,{source:s.source,fidelity:s.fidelity,sessionId:s.sessionId,evidence:b({source:s.source,fidelity:s.fidelity,live:s.data.live,eventCount:s.data.events.length})}),e.jsx(I,{ask:s.initiatingAsk,sessionId:s.sessionId})]}),e.jsx(u,{data:s?.data,agentId:r,sessionId:s?.sessionId,showRail:!1,observeSource:s?.source,observeFidelity:s?.fidelity})]})}export{I as InitiatingAsk,_e as ObserveEmbedScreen};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/conversation-motion-features-DPiGTO21.js","assets/gestures-B5rLNRpi.js","assets/index-BZovGpDk.js","assets/index-9as_JTUs.css","assets/use-reduced-motion-C8cWvIZ3.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{r as n,j as e,_ as b}from"./index-BZovGpDk.js";import{l as p}from"./lane-observe-BA3g9aVd.js";import{C as f}from"./chevron-down-BVg09D6U.js";import{u as h,L as g,m as x}from"./use-reduced-motion-C8cWvIZ3.js";import"./time-Dhsh_2EG.js";import"./tail-display-BRcJltQa.js";import"./lane-edit-display-C_Aujldz.js";import"./createLucideIcon-DCq_3fQn.js";const j=420,N=()=>b(()=>import("./conversation-motion-features-DPiGTO21.js"),__vite__mapDeps([0,1,2,3,4])).then(t=>t.default);function R({text:t}){const s=h(),[o,i]=n.useState(!0),r=n.useRef(null);return n.useEffect(()=>(i(!0),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>i(!1),j),()=>{r.current&&clearTimeout(r.current)}),[t]),e.jsx(g,{features:N,strict:!0,children:e.jsx(x.span,{className:"s-observe-stream-cursor","data-receiving":o||void 0,"aria-hidden":"true",initial:!1,animate:s||o?{opacity:1}:{opacity:[1,.28,1]},transition:s||o?{duration:.12}:{duration:1.05,ease:"linear",repeat:1/0}})})}function k({text:t,live:s,compact:o=!1,copyControl:i}){const r=n.useId(),c=t.trim(),[a,d]=n.useState(s),u=n.useRef(s);n.useEffect(()=>{s?d(!0):u.current&&d(!1),u.current=s},[s]);const l=p(c,o?120:168,1),m=e.jsxs(e.Fragment,{children:[e.jsxs("span",{className:"s-observe-reasoning-state",children:[e.jsx("span",{className:"s-observe-reasoning-dot","aria-hidden":"true"}),s?"Thinking":"Reasoning"]}),!s&&!a&&l?e.jsx("span",{className:"s-observe-reasoning-preview",title:c,children:l}):null,s?null:e.jsx(f,{className:"s-observe-reasoning-chevron",size:12,strokeWidth:1.8,"aria-hidden":"true"})]});return e.jsxs("div",{className:["s-observe-block","s-observe-reasoning",o&&"s-observe-reasoning--compact",s&&"s-observe-reasoning--live",a&&"s-observe-reasoning--open"].filter(Boolean).join(" "),"aria-busy":s||void 0,children:[s?e.jsx("div",{className:"s-observe-reasoning-header",role:"status",children:m}):e.jsx("button",{type:"button",className:"s-observe-reasoning-header s-observe-reasoning-header--button","aria-expanded":a,"aria-controls":r,"aria-label":a?"Hide reasoning":"Show reasoning",onClick:()=>d(v=>!v),children:m}),e.jsx("div",{id:r,className:"s-observe-reasoning-body","aria-hidden":!a,inert:a?void 0:!0,children:e.jsx("div",{className:"s-observe-reasoning-body-clip",children:e.jsxs("div",{className:"s-observe-reasoning-body-inner",children:[e.jsxs("div",{className:"s-observe-reasoning-text",children:[c,s?e.jsx(R,{text:c}):null]}),i?e.jsx("div",{className:"s-observe-reasoning-tools",children:i}):null]})})})]})}export{k as ObserveReasoningDisclosure,R as ObserveStreamCursor};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as x,j as t}from"./index-BZovGpDk.js";import{a as I}from"./api-h5zurxmi.js";import{a as w}from"./time-Dhsh_2EG.js";function A(e){if(!e)return null;const o=Date.parse(e);return Number.isFinite(o)?o:null}function S(e){return e?e.length<=12?e:e.slice(0,12):null}function R(e){return e.includes("workflow")?"Claude workflows":e.includes("codex")?"Codex":e.includes("claude")?"Claude Code":e.replace(/[-_]/g," ")}function T(e){const o=[];return e.workerCount>0&&o.push(`${e.workerCount} worker${e.workerCount===1?"":"s"}`),e.eventCount>0?o.push(`${e.eventCount} event${e.eventCount===1?"":"s"}`):e.taskCount>0&&o.push(`${e.completedTaskCount}/${e.taskCount} tasks`),o.join(" · ")}function $(e){const o=[e.label];e.description&&o.push(e.description);const n=T(e);return n&&o.push(n),e.parentSessionId&&o.push(`Parent session ${e.parentSessionId}`),o.join(`
|
|
2
|
-
`)}function k(e){return e.name??S(e.externalSessionId)??e.id.replace(/^.*:/,"")}function W(e){return e.status??e.role??e.type??"observed"}function j(e,o){const n=e?.[o];return typeof n=="string"&&n.trim()?n.trim():null}function F(e,o){const n=e?.[o];return typeof n=="number"&&Number.isFinite(n)?n:null}function C(e){return j(e,"claudeWorkflowRunId")??j(e,"workflowRunId")}function P(e,o,n){return o.filter(a=>a.kind==="spawned"&&a.toId===e.id).map(a=>n.get(a.fromId)).filter(a=>!!a).map(k)}function B(e,o){return o.find(n=>n.assigneeId===e.id)??null}function D(e,o){return C(e.providerMeta)===o||e.id.includes(o)}function E(e,o){return C(e.providerMeta)===o||e.id.includes(o)}function q(e){const o=j(e.providerMeta,"latestTimestamp");if(!o)return null;const n=Date.parse(o);return Number.isFinite(n)?n:null}function G(e,o){return e.some(n=>n.state&&b(n.state)===0)||o.some(n=>n.status&&b(n.status)===0)?"running":e.some(n=>n.state==="failed"||n.state==="error")||o.some(n=>n.status==="failed"||n.status==="error")?"failed":e.length>0&&e.every(n=>n.state==="completed"||n.state==="done")||o.length>0&&o.every(n=>n.status==="completed"||n.status==="done")?"completed":e.length>0?"observed":"workflow"}function M(e,o){return e.groups.filter(a=>a.kind==="workflow").map(a=>{const c=C(a.providerMeta)??a.id,d=e.tasks.filter(r=>D(r,c)),m=e.agents.filter(r=>r.role!=="lead"&&E(r,c)),u=d.filter(r=>r.state!=="completed"&&r.state!=="done"),f=d.filter(r=>r.state==="completed"||r.state==="done"),p=m.map(q).filter(r=>!!r).sort((r,h)=>h-r)[0]??null,g=m.reduce((r,h)=>r+(F(h.providerMeta,"eventCount")??0),0),v=(u.length>0?u:d).slice(0,3);return{id:a.id,label:a.name??c,description:j(a.providerMeta,"description"),runId:c,parentSessionId:j(a.providerMeta,"parentSessionId"),status:G(d,m),workerCount:m.length,taskCount:d.length,activeTaskCount:u.length,completedTaskCount:f.length,eventCount:g,latestAt:p??o,taskPreview:v}}).sort((a,c)=>{const d=(c.activeTaskCount>0?1:0)-(a.activeTaskCount>0?1:0);return d!==0?d:(c.latestAt??0)-(a.latestAt??0)||a.label.localeCompare(c.label)})}function b(e){return e==="running"||e==="in_progress"||e==="working"?0:e==="queued"||e==="pending"||e==="materialized"?1:e==="failed"||e==="error"?2:e==="completed"||e==="done"?3:4}function H(e){return e?e.observations.map(o=>({source:o.source,observedAt:A(o.observedAt),topology:o.topology})):[]}function K({topology:e,sessionId:o,size:n="full",title:a="Internal topology",maxAgents:c=n==="rail"?5:8,maxTasks:d=n==="rail"?3:5,showEmpty:m=!1}){const[u,f]=x.useState(null),[p,g]=x.useState(!1);x.useEffect(()=>{if(e)return;let i=!1;const s=o?`?sessionId=${encodeURIComponent(o)}`:"";return I(`/api/topology/snapshot${s}`).then(l=>{i||(f(l),g(!1))}).catch(()=>{i||g(!0)}),()=>{i=!0}},[o,e]);const v=x.useMemo(()=>e?[{source:e.source,observedAt:A(e.observedAt),topology:e}]:H(u),[u,e]),r=x.useMemo(()=>v.reduce((i,s)=>(i.sources+=1,i.workflows+=s.topology.groups.filter(l=>l.kind==="workflow").length,i.agents+=s.topology.agents.length,i.subagents+=s.topology.agents.filter(l=>l.role==="subagent").length,i.tasks+=s.topology.tasks.length,i.activeTasks+=s.topology.tasks.filter(l=>l.state!=="completed").length,i.spawned+=s.topology.relationships.filter(l=>l.kind==="spawned").length,i),{sources:0,workflows:0,agents:0,subagents:0,tasks:0,activeTasks:0,spawned:0}),[v]),h=n==="rail",y=v.reduce((i,s)=>i+M(s.topology,s.observedAt).filter(l=>l.status==="running").length,0);return v.length===0?!m&&!p?null:t.jsxs("section",{className:`s-observed-topology s-observed-topology--${n}`,children:[!h&&t.jsx("header",{className:"s-observed-topology-head",children:t.jsxs("div",{children:[t.jsx("div",{className:"s-observed-topology-kicker",children:"Harness observed"}),t.jsx("h3",{children:a})]})}),t.jsx("div",{className:"s-observed-topology-empty",children:p?"Topology is unavailable right now.":"No interacted agents observed yet."})]}):t.jsxs("section",{className:`s-observed-topology s-observed-topology--${n}`,children:[h?r.workflows>0&&t.jsxs("div",{className:"s-observed-topology-rail-summary",children:[y>0?`${y} running`:"No active workflows",r.workflows>0&&` · ${r.workflows} total`]}):t.jsxs("header",{className:"s-observed-topology-head",children:[t.jsxs("div",{children:[t.jsx("div",{className:"s-observed-topology-kicker",children:"Harness observed"}),t.jsx("h3",{children:a})]}),t.jsxs("div",{className:"s-observed-topology-counts",children:[r.workflows>0&&t.jsxs("span",{children:[r.workflows," workflows"]}),t.jsxs("span",{children:[r.subagents," workers"]}),t.jsxs("span",{children:[r.tasks," tasks"]}),r.activeTasks>0?t.jsxs("span",{children:[r.activeTasks," active"]}):t.jsxs("span",{children:[r.spawned," spawn links"]})]})]}),t.jsx("div",{className:"s-observed-topology-sources",children:v.map(i=>t.jsx(O,{source:i,maxAgents:c,maxTasks:d,size:n},`${i.source}:${i.topology.observedAt}`))})]})}function L({workflow:e}){const o=T(e);return t.jsxs("div",{className:`s-observed-topology-rail-row s-observed-topology-rail-row--${e.status}`,title:$(e),children:[t.jsx("span",{className:`s-observed-topology-rail-dot s-observed-topology-rail-dot--${e.status}`,"aria-label":e.status}),t.jsx("span",{className:"s-observed-topology-rail-name",children:e.label}),o&&t.jsx("span",{className:"s-observed-topology-rail-stats",children:o})]})}function O({source:e,maxAgents:o,maxTasks:n,size:a="full"}){const c=a==="rail",{topology:d}=e,m=new Map(d.agents.map(s=>[s.id,s])),u=M(d,e.observedAt),f=u.slice(0,o),p=u.length-f.length,g=(s,l)=>b(s.status)-b(l.status)||k(s).localeCompare(k(l)),v=d.agents.filter(s=>s.role==="subagent").sort(g),r=d.agents.filter(s=>s.role==="lead").sort(g),h=d.agents.filter(s=>s.role!=="subagent"&&s.role!=="lead").sort(g),y=[...r,...v,...h].slice(0,o),i=d.tasks.filter(s=>s.state!=="completed").sort((s,l)=>b(s.state)-b(l.state)||(s.title??s.id).localeCompare(l.title??l.id)).slice(0,n);return t.jsxs("div",{className:"s-observed-topology-source",children:[!c&&t.jsxs("div",{className:"s-observed-topology-source-head",children:[t.jsx("span",{children:R(e.source)}),t.jsx("span",{children:w(e.observedAt)||"observed"})]}),u.length>0?c?t.jsxs("div",{className:"s-observed-topology-rail-list",children:[f.map(s=>t.jsx(L,{workflow:s},s.id)),p>0&&t.jsxs("div",{className:"s-observed-topology-rail-more",children:["+",p," more workflow",p===1?"":"s"]})]}):t.jsxs("div",{className:"s-observed-topology-workflow-list",children:[f.map(s=>t.jsxs("div",{className:"s-observed-topology-workflow",children:[t.jsxs("div",{className:"s-observed-topology-workflow-main",children:[t.jsx("span",{className:`s-observed-topology-workflow-state s-observed-topology-workflow-state--${s.status}`,children:s.status}),t.jsx("span",{className:"s-observed-topology-workflow-name",title:$(s),children:s.label}),t.jsx("span",{className:"s-observed-topology-workflow-age",children:w(s.latestAt)||"observed"})]}),t.jsxs("div",{className:"s-observed-topology-workflow-meta",children:[t.jsxs("span",{children:[s.workerCount," workers"]}),s.taskCount>0&&t.jsxs("span",{children:[s.completedTaskCount,"/",s.taskCount," tasks"]}),s.eventCount>0&&t.jsxs("span",{children:[s.eventCount," events"]}),s.parentSessionId&&t.jsxs("span",{children:["parent ",S(s.parentSessionId)]})]}),s.description&&t.jsx("div",{className:"s-observed-topology-workflow-description",children:s.description}),s.taskPreview.length>0&&t.jsx("div",{className:"s-observed-topology-workflow-tasks",children:s.taskPreview.map(l=>t.jsx("span",{children:l.title??l.id.replace(/^.*:/,"")},l.id))})]},s.id)),p>0&&t.jsxs("div",{className:"s-observed-topology-more",children:[p," more workflow",p===1?"":"s"]})]}):t.jsx("div",{className:"s-observed-topology-agent-list",children:y.map(s=>{const l=P(s,d.relationships,m),N=B(s,d.tasks);return t.jsxs("div",{className:"s-observed-topology-agent",children:[t.jsxs("div",{className:"s-observed-topology-agent-main",children:[t.jsx("span",{className:`s-observed-topology-agent-role s-observed-topology-agent-role--${s.role??"observed"}`,children:s.role??"observed"}),t.jsx("span",{className:"s-observed-topology-agent-name",children:k(s)}),t.jsx("span",{className:"s-observed-topology-agent-status",children:W(s)})]}),(l.length>0||N?.title)&&t.jsxs("div",{className:"s-observed-topology-agent-detail",children:[l.length>0&&t.jsxs("span",{children:["spawned by ",l.join(", ")]}),N?.title&&t.jsx("span",{children:N.title})]})]},s.id)})}),u.length===0&&i.length>0&&t.jsx("div",{className:"s-observed-topology-task-list",children:i.map(s=>t.jsxs("div",{className:"s-observed-topology-task",children:[t.jsx("span",{children:s.state??"task"}),t.jsx("strong",{children:s.title??s.id.replace(/^.*:/,"")})]},s.id))})]})}export{K as O};
|