@openscout/scout 0.2.84 → 0.2.86
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 +1 -1
- package/bin/scoutd +0 -0
- package/dist/build-manifest.json +3 -3
- package/dist/client/assets/ActivityScreen-C7AwUogt.js +1 -0
- package/dist/client/assets/{AddProjectForm-Czb5uwou.js → AddProjectForm-BNRpRPod.js} +1 -1
- package/dist/client/assets/AgentAvatar-B1xvQ7ej.js +1 -0
- package/dist/client/assets/AgentConfigurationScreen-BoBQpyz5.js +1 -0
- package/dist/client/assets/AgentDefinitionsWorkspace-rw3vh8Lm.js +1 -0
- package/dist/client/assets/{AgentDetailCard-Biq8b2gv.js → AgentDetailCard-FelCxQrT.js} +1 -1
- package/dist/client/assets/AgentFloorView-Crdw8Uo5.js +1 -0
- package/dist/client/assets/AgentInfoScreen-Cge7HHbV.js +1 -0
- package/dist/client/assets/{AgentLaneCard-C4DMQR-c.js → AgentLaneCard-CRDG74C1.js} +1 -1
- package/dist/client/assets/{AgentLaneChrome-D1xNNf7A.js → AgentLaneChrome-CWFqUdch.js} +1 -1
- package/dist/client/assets/AgentLaneDetailSheet-DCIIg3Zp.js +4 -0
- package/dist/client/assets/{AgentLaneSummaryResize-C9loK-st.js → AgentLaneSummaryResize-yTM4GQAJ.js} +1 -1
- package/dist/client/assets/AgentLanesEmbedScreen-BJLwXSNp.js +1 -0
- package/dist/client/assets/{AgentLanesPreflight-M7iDXdP2.js → AgentLanesPreflight-DJeDRTAN.js} +1 -1
- package/dist/client/assets/AgentLanesView-CbY9qD0z.js +2 -0
- package/dist/client/assets/{AgentLiveActions-0iy8QZ1T.js → AgentLiveActions-Bn3zeZBN.js} +1 -1
- package/dist/client/assets/AgentSessions-czl5zT7A.js +6 -0
- package/dist/client/assets/AgentsConsole-CoT2crwq.js +1 -0
- package/dist/client/assets/{AgentsScreen-Bww6HgFs.js → AgentsScreen-BcPM-z1T.js} +1 -1
- package/dist/client/assets/AgentsSubnav-3_vpn2bT.js +1 -0
- package/dist/client/assets/AstronautSuit-BADl7m8x.js +1 -0
- package/dist/client/assets/{AtopView-h_aFoNkP.js → AtopView-DymBCiXv.js} +1 -1
- package/dist/client/assets/{BackToPicker-BXp5E2ck.js → BackToPicker-CqYhOaLB.js} +1 -1
- package/dist/client/assets/BriefingDetailScreen-DDfZ8ci1.js +1 -0
- package/dist/client/assets/{BriefingsScreen-BTsvr5fv.js → BriefingsScreen-CLvSOJjy.js} +1 -1
- package/dist/client/assets/{BrokerMetadataPanel-jg7odHQp.js → BrokerMetadataPanel-DFAH-NO6.js} +1 -1
- package/dist/client/assets/BrokerScreen-Bkvu92jk.js +5 -0
- package/dist/client/assets/{Canvas-BePL08RR.js → Canvas-KyTsDJlB.js} +1 -1
- package/dist/client/assets/ChatCollapsedStrip-Bjjqa30K.js +1 -0
- package/dist/client/assets/{CodeDiffPane-86odpBSt.js → CodeDiffPane-C9HT1dCT.js} +1 -1
- package/dist/client/assets/{CodeProjectPicker-8svr_S_A.js → CodeProjectPicker-5Y3GvXkM.js} +1 -1
- package/dist/client/assets/{CodeScreen-CJ2RgB32.js → CodeScreen-DpN9kQvm.js} +1 -1
- package/dist/client/assets/ConversationComposer-Ce7Byw48.js +1 -0
- package/dist/client/assets/ConversationFeedRows-DygDfQn_.js +1 -0
- package/dist/client/assets/ConversationHeader-C3sg0ULI.js +1 -0
- package/dist/client/assets/ConversationPanels-Dg4Y2GgX.js +6 -0
- package/dist/client/assets/ConversationScreen-BP5tdz2k.css +1 -0
- package/dist/client/assets/ConversationScreen-CjWWmuuh.js +1 -0
- package/dist/client/assets/ConversationStatus-BhVIYQza.js +1 -0
- package/dist/client/assets/CrewWorkspaces-B6YIyw1z.css +1 -0
- package/dist/client/assets/CrewWorkspaces-CDU-wy1Y.js +1 -0
- package/dist/client/assets/{DataTable-CGw5CECG.js → DataTable-oJP339bX.js} +1 -1
- package/dist/client/assets/{DispatchAftermath-DowTb7uO.js → DispatchAftermath-CH02HAVw.js} +1 -1
- package/dist/client/assets/DocumentFocusViewer-DmtFisY9.js +1 -0
- package/dist/client/assets/{EmbeddableSurfacesLab-CxfJXS2g.js → EmbeddableSurfacesLab-84b9I3fy.js} +1 -1
- package/dist/client/assets/{EmptyState-BUvllvA6.js → EmptyState-BnDda92b.js} +1 -1
- package/dist/client/assets/{FileViewerPane-BM4AD_bo.js → FileViewerPane-Dg7_88pv.js} +1 -1
- package/dist/client/assets/FlightObserveScreen-DL3Xhl0h.js +1 -0
- package/dist/client/assets/{FollowScreen-DG0osbUp.js → FollowScreen-DcFBqr6l.js} +1 -1
- package/dist/client/assets/{HarnessMark-MztYnrGK.js → HarnessMark-DGZ6o6Ct.js} +1 -1
- package/dist/client/assets/{HarnessesScreen-BWqirBjK.js → HarnessesScreen-DTDL-XaA.js} +1 -1
- package/dist/client/assets/{HerdrSession-6sFln7WX.js → HerdrSession-DV2hD6Yh.js} +1 -1
- package/dist/client/assets/HomeHero-7JwycwFY.css +1 -0
- package/dist/client/assets/HomeHero-CENwVZ45.js +1 -0
- package/dist/client/assets/HostAdvisorView-PgiZUkd_.js +1 -0
- package/dist/client/assets/{KnowledgeSearchInspector-BOIhFWd2.js → KnowledgeSearchInspector-DNQjeWZO.js} +1 -1
- package/dist/client/assets/KnowledgeSearchScreen-Bj80IgR0.js +1 -0
- package/dist/client/assets/{LaneToolHoverCard-CcEiQC6B.js → LaneToolHoverCard-197xYmRp.js} +1 -1
- package/dist/client/assets/LaneTraceDetailSheet-BztwvOv9.js +1 -0
- package/dist/client/assets/{LaneTraceEventFocus-Bl9L0EYb.js → LaneTraceEventFocus-C9cmqxnK.js} +1 -1
- package/dist/client/assets/{MeshCanvas-ZjIuMiRo.js → MeshCanvas-C3_2p9B6.js} +2 -2
- package/dist/client/assets/{MeshCanvasMinimap-C-LQtiX6.js → MeshCanvasMinimap-ZTjYWXTZ.js} +1 -1
- package/dist/client/assets/{MeshScreen-Bs3soujg.js → MeshScreen-lJKaOyGB.js} +1 -1
- package/dist/client/assets/{MeshTopologyView-C0LUyT3K.js → MeshTopologyView-CBjHbAZw.js} +2 -2
- package/dist/client/assets/MessagesScreen-D6MVLvdg.js +1 -0
- package/dist/client/assets/{MissionContextRail-CjGAEGu8.js → MissionContextRail-DXkrbcnZ.js} +1 -1
- package/dist/client/assets/MissionControlView-BCH-Zsp4.js +1 -0
- package/dist/client/assets/MissionFocusOverlay-DbAliOSF.js +1 -0
- package/dist/client/assets/MissionLeftAgentRow-Bx6Pg8_O.js +1 -0
- package/dist/client/assets/MissionLogPane-D06c29Y8.js +1 -0
- package/dist/client/assets/{NewAgentModal-D5e0YUAo.js → NewAgentModal-C18Ajovd.js} +1 -1
- package/dist/client/assets/NewChatComposer-Bgqes0UQ.js +19 -0
- package/dist/client/assets/{NewChatOrigin-BEz6jyqf.js → NewChatOrigin-DpHS2Wmt.js} +1 -1
- package/dist/client/assets/ObserveEmbedScreen-Cmhwai4X.js +2 -0
- package/dist/client/assets/ObserveTextFlow-C1f5oize.js +2 -0
- package/dist/client/assets/ObservedTopologyPanel-D85P6RAk.js +2 -0
- package/dist/client/assets/OpenScoutAppShell-IDI4fuUE.js +88 -0
- package/dist/client/assets/OpsAgentsView-yt0JavoB.js +1 -0
- package/dist/client/assets/OpsScreen-C3yNQqJE.js +1 -0
- package/dist/client/assets/OpsSubnav-BijKI3yG.js +1 -0
- package/dist/client/assets/ProjectAgentProfile-DnIeC16r.js +1 -0
- package/dist/client/assets/{ProjectAgentProfileBar-B1VpwzGD.js → ProjectAgentProfileBar-IDEpKZvI.js} +1 -1
- package/dist/client/assets/ProjectAgentProfileHero-Bh_aISs-.js +1 -0
- package/dist/client/assets/ProjectsInbox-B8Srlklk.js +2 -0
- package/dist/client/assets/ProjectsRail-DqAbdvCf.js +1 -0
- package/dist/client/assets/ProjectsScreen-DKHQ2iEv.js +1 -0
- package/dist/client/assets/ProjectsThreadAside-DpkjYLL2.js +1 -0
- package/dist/client/assets/Provider-Ve8yXaWR.js +1 -0
- package/dist/client/assets/RailRow-B0sRaJc6.css +1 -0
- package/dist/client/assets/RailRow-C4GNGR80.js +1 -0
- package/dist/client/assets/RawSessionsTable-Co3vzwsf.js +1 -0
- package/dist/client/assets/RealtimeVoiceScreen-DMd1CBAf.js +9 -0
- package/dist/client/assets/{RepoDiffEmbedScreen-VLg4caej.js → RepoDiffEmbedScreen-C97Euf4s.js} +1 -1
- package/dist/client/assets/{RepoDiffPageScreen-BelnvgnP.js → RepoDiffPageScreen-DUKLzkrW.js} +1 -1
- package/dist/client/assets/RepoDiffViewer-CovKjSgb.js +7 -0
- package/dist/client/assets/RepoDiffViewerLazy-zIiEmh-e.js +2 -0
- package/dist/client/assets/{ReposScreen-IINK-CFn.js → ReposScreen-BR1LqTf1.js} +6 -6
- package/dist/client/assets/ScoutDeckSurface-BGsVicc2.js +1 -0
- package/dist/client/assets/{ScoutSurface-x_QbcRyk.js → ScoutSurface-BMKW7hSu.js} +1 -1
- package/dist/client/assets/{ScoutbotFxLab-7t9JVvZg.js → ScoutbotFxLab-0O2iDRrF.js} +1 -1
- package/dist/client/assets/{SecondaryNav-Dj30epYF.js → SecondaryNav-cYTw2p39.js} +1 -1
- package/dist/client/assets/{SessionEmbedScreen-s2mJ5Fg9.js → SessionEmbedScreen-mNjT0R6j.js} +1 -1
- package/dist/client/assets/{SessionObserve-DaUrJCMq.js → SessionObserve-zAlFbwFn.js} +1 -1
- package/dist/client/assets/{SessionObserveEvidence-ClUW8jpV.js → SessionObserveEvidence-BVawzqoE.js} +1 -1
- package/dist/client/assets/SessionRefScreen-BmKhf29o.js +1 -0
- package/dist/client/assets/SessionsScreen-CsSqjIY2.js +1 -0
- package/dist/client/assets/SettingsDrawer-Dsj-On_x.css +1 -0
- package/dist/client/assets/SettingsDrawer-DwYQTGi8.js +3 -0
- package/dist/client/assets/SettingsScreen-Btaku7YM.js +1 -0
- package/dist/client/assets/{ShikiPane-Dkwyx--r.js → ShikiPane-DyEJdcvb.js} +1 -1
- package/dist/client/assets/{SlidePanel-CuTeirnk.js → SlidePanel-Dg8_styW.js} +1 -1
- package/dist/client/assets/{SpriteAvatar-DQ3PTb8L.js → SpriteAvatar-DMrSssNZ.js} +1 -1
- package/dist/client/assets/{StatusPill-BJ1ierIR.js → StatusPill-NFFnphtx.js} +1 -1
- package/dist/client/assets/{TailView-CufWcrvf.js → TailView-BfObcZu3.js} +2 -2
- package/dist/client/assets/Terminal-Dr-M9U4u.js +1 -0
- package/dist/client/assets/TerminalEmbedScreen-BmyZkonh.js +1 -0
- package/dist/client/assets/{TerminalRelay-rvUzI9Ek.js → TerminalRelay-lJ2KdMCW.js} +3 -3
- package/dist/client/assets/{TextDocumentSurface-Bc-kHPgG.js → TextDocumentSurface-C7fGlzY8.js} +1 -1
- package/dist/client/assets/{TmuxPeek-DLyDkq_D.js → TmuxPeek-BSeKIjnX.js} +1 -1
- package/dist/client/assets/{VoicePermissionsPanel-CD903y9K.js → VoicePermissionsPanel-BkIGTzgw.js} +1 -1
- package/dist/client/assets/{WorkDetailScreen-D51oI0dH.js → WorkDetailScreen-Cwe-KWK4.js} +3 -3
- package/dist/client/assets/WorkFilesViewer-BBtKRBPv.js +1 -0
- package/dist/client/assets/{activity-BvGruxWG.js → activity-D4W2XZY2.js} +1 -1
- package/dist/client/assets/{addon-fit-Cfq4Ayjd.js → addon-fit-Celjj2yn.js} +1 -1
- package/dist/client/assets/{addon-webgl-B8sIf9-s.js → addon-webgl-Cu4tJ21-.js} +1 -1
- package/dist/client/assets/{ScoutbotBroadcastChip-CxtYZWPZ.css → agent-autocomplete-C7xwIcwd.css} +1 -1
- package/dist/client/assets/agent-autocomplete-Dv-_9dAw.js +2 -0
- package/dist/client/assets/{agent-essentials-yb4wIJlX.js → agent-essentials-CngjUhQj.js} +1 -1
- package/dist/client/assets/agent-identity-DzHGhLdJ.js +1 -0
- package/dist/client/assets/{agent-lane-card-model-q4cwzLX4.js → agent-lane-card-model-CSugZCdy.js} +1 -1
- package/dist/client/assets/{agent-lane-detail-BNNm6FNu.js → agent-lane-detail-D5EIlX7_.js} +1 -1
- 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-BKOs_32K.js} +2 -2
- package/dist/client/assets/agent-specialization-CNrsRbKA.js +1 -0
- package/dist/client/assets/{api-BkjHJfgJ.js → api-BHHEUSS3.js} +1 -1
- package/dist/client/assets/api-DEHEgJ9m.js +1 -0
- package/dist/client/assets/{arc.es-BBTfhvLE.js → arc.es-DNT50Y-_.js} +1 -1
- package/dist/client/assets/archive-DH49QqFG.js +1 -0
- package/dist/client/assets/{arrow-left-BOht-YQu.js → arrow-left-i-h6JAgs.js} +1 -1
- package/dist/client/assets/arrow-right-B0Yi01Zr.js +1 -0
- package/dist/client/assets/{arrow-up-right-hoR8_oUz.js → arrow-up-right-RBC6k8nn.js} +1 -1
- package/dist/client/assets/{bot-BUK7dOPS.js → bot-r2IuAuJd.js} +1 -1
- package/dist/client/assets/broker-display-Q75fupqG.js +2 -0
- package/dist/client/assets/{cache-Dr0why2k.js → cache-BO2Bd_LV.js} +1 -1
- package/dist/client/assets/{check--esHw52j.js → check-Bfs7hMb1.js} +1 -1
- package/dist/client/assets/{chevron-down-NAhBUkFd.js → chevron-down-Da5tV19_.js} +1 -1
- package/dist/client/assets/{chevron-right-C10o7t_X.js → chevron-right-BMqtBds_.js} +1 -1
- package/dist/client/assets/{chunk-HRAB3GC3-DF8R9rPv.js → chunk-HRAB3GC3-BUVYXXAp.js} +1 -1
- package/dist/client/assets/{clock-of01sAB6.js → clock-DaKLp6Xd.js} +1 -1
- package/dist/client/assets/{code-xml-CLn3TDWF.js → code-xml-ByQsfOI_.js} +1 -1
- package/dist/client/assets/collapsed-strip-raJWthAH.css +1 -0
- package/dist/client/assets/compass-BepM5iWH.js +1 -0
- package/dist/client/assets/{content-Cgj5AWqT.js → content-5hnDC9WE.js} +1 -1
- package/dist/client/assets/content-BRFZ-a6m.js +1 -0
- package/dist/client/assets/content-BYykncDo.js +1 -0
- package/dist/client/assets/content-Be6yyWbJ.js +1 -0
- package/dist/client/assets/content-Bgl_X3ao.js +1 -0
- package/dist/client/assets/content-BopJW1Zx.js +1 -0
- package/dist/client/assets/content-Bv2sfg0w.js +1 -0
- package/dist/client/assets/content-CMBiIZTg.js +1 -0
- package/dist/client/assets/content-CPVqvf5o.js +1 -0
- package/dist/client/assets/content-CbwyFqdI.js +1 -0
- package/dist/client/assets/content-ClQjAWYi.js +1 -0
- package/dist/client/assets/content-Cv2tSAbv.js +1 -0
- package/dist/client/assets/content-DFFe3-Ot.js +1 -0
- package/dist/client/assets/content-DY5hwBmm.js +1 -0
- package/dist/client/assets/content-_IXoxGno.js +1 -0
- package/dist/client/assets/content-j_tewJdE.js +1 -0
- package/dist/client/assets/{conversation-icons-ClBJi21l.js → conversation-icons-C4amK8Sa.js} +1 -1
- package/dist/client/assets/conversation-model-CigSPlKA.js +1 -0
- package/dist/client/assets/conversation-motion-features-_95aZx_1.js +1 -0
- package/dist/client/assets/{copy-Dty8ZYsM.js → copy-De4s38o2.js} +1 -1
- package/dist/client/assets/cpu-Bc268H9Q.js +1 -0
- package/dist/client/assets/{createLucideIcon-Bt67PWH-.js → createLucideIcon-DLlxGjKt.js} +1 -1
- package/dist/client/assets/credentials-qwds23lv.js +1 -0
- package/dist/client/assets/ctx-panel-D_HJ3nhb.css +1 -0
- package/dist/client/assets/discover-DOlk1hG7.js +2 -0
- package/dist/client/assets/embed-entry-BqDJfa87.js +2 -0
- package/dist/client/assets/{external-link-Dem738OJ.js → external-link-BGHC_naA.js} +1 -1
- package/dist/client/assets/{eye-B3lBIwJZ.js → eye-BeCSqJn1.js} +1 -1
- package/dist/client/assets/file-code-corner-CX53Cd9y.js +1 -0
- package/dist/client/assets/{file-text-iF0hyVyU.js → file-text-BVhkMWyC.js} +1 -1
- package/dist/client/assets/gauge-CPcEPmNt.js +1 -0
- package/dist/client/assets/gestures-BXIGYk_p.js +1 -0
- package/dist/client/assets/git-branch-q8Ayc8py.js +1 -0
- package/dist/client/assets/home-moving-signal-DMguaRWR.css +1 -0
- package/dist/client/assets/home-moving-signal-Dm2Z2x0p.js +1 -0
- package/dist/client/assets/{home-now-card-nano-hZl9klbP.js → home-now-card-nano-Djhy6ax0.js} +1 -1
- package/dist/client/assets/home-now-card-xU5LGP7q.js +1 -0
- package/dist/client/assets/hooks-CdKx1CxP.js +2 -0
- package/dist/client/assets/host-advisor-B2Fqs5Dd.css +1 -0
- package/dist/client/assets/index-Bli6bTLU.js +10 -0
- package/dist/client/assets/index-D7UEHxaY.js +1 -0
- package/dist/client/assets/index-DFdlQs_c.js +1 -0
- package/dist/client/assets/index-DhfOMK0D.js +1 -0
- package/dist/client/assets/index-DzlEgstl.css +1 -0
- package/dist/client/assets/index-wLwc74Pu.css +1 -0
- package/dist/client/assets/inspector-panel-B8pigRsg.js +2 -0
- package/dist/client/assets/{keyboard-nav-Chf51dns.js → keyboard-nav-7iEtvu9P.js} +1 -1
- package/dist/client/assets/{lane-observe-BA3g9aVd.js → lane-observe-vfyACHi0.js} +1 -1
- package/dist/client/assets/{lane-roster-store-BiIVlYmG.js → lane-roster-store-pHT3TAVs.js} +1 -1
- package/dist/client/assets/layers-BiZA-Clc.js +1 -0
- package/dist/client/assets/layout-grid-DMpv9CZM.js +1 -0
- package/dist/client/assets/left-BayK4ocL.js +1 -0
- package/dist/client/assets/left-BhZhSrS2.js +1 -0
- package/dist/client/assets/left-BhgU6NOA.js +1 -0
- package/dist/client/assets/left-CY_FGnN7.js +1 -0
- package/dist/client/assets/left-Cq8mjamr.js +1 -0
- package/dist/client/assets/left-DH44V4I_.css +1 -0
- package/dist/client/assets/left-Dnqla0b5.js +2 -0
- package/dist/client/assets/left-Dy403II2.js +2 -0
- package/dist/client/assets/left-R2OOE7VG.css +1 -0
- package/dist/client/assets/left-advisor-oOAtJ9YE.js +1 -0
- package/dist/client/assets/left-agents-TIKe8vW8.js +1 -0
- package/dist/client/assets/left-default-owH0Lwxo.js +1 -0
- package/dist/client/assets/left-lanes-BE_co2lP.js +1 -0
- package/dist/client/assets/left-mission-C_nWUtfA.js +1 -0
- package/dist/client/assets/library-BSVrjn_m.js +1 -0
- package/dist/client/assets/{loader-circle-4LDsy4Ke.js → loader-circle-DoT8gpw6.js} +1 -1
- package/dist/client/assets/{local-agents-DIi2EacM.js → local-agents-BMadXuP1.js} +1 -1
- package/dist/client/assets/mentions-Cd6XticV.js +1 -0
- package/dist/client/assets/{mesh-ops-JZwGuAPn.js → mesh-ops-C0zCLTR8.js} +1 -1
- package/dist/client/assets/{mesh-view-store-Du7VqIT_.js → mesh-view-store-Cpqil_2D.js} +1 -1
- package/dist/client/assets/{message-circle-BM3XgevU.js → message-circle-44KSmbvQ.js} +1 -1
- package/dist/client/assets/{message-markup-BcY1lShv.js → message-markup-DAnnGpWr.js} +1 -1
- package/dist/client/assets/{message-square-ER1_q2pe.js → message-square-DlY4EneU.js} +1 -1
- package/dist/client/assets/mission-control-CnU7dNt1.css +1 -0
- package/dist/client/assets/{mission-control-store-C6w5iVfg.js → mission-control-store-DtjtRs9Z.js} +1 -1
- package/dist/client/assets/{observe-3-jn4SXb.js → observe-DL5_8-Zj.js} +1 -1
- package/dist/client/assets/{operator-attention-BwSPeheT.js → operator-attention-BqoWAlhp.js} +1 -1
- package/dist/client/assets/{page-status-0LPfBC8S.js → page-status-CW8co39E.js} +1 -1
- package/dist/client/assets/persistent-state-DYjP8lqN.js +1 -0
- package/dist/client/assets/{plus-C-2gTcPK.js → plus-64n9qucr.js} +1 -1
- package/dist/client/assets/profile-BkmuseW7.js +1 -0
- package/dist/client/assets/projects-inbox-C0umZMSY.js +1 -0
- package/dist/client/assets/{provider-BvAxRQfE.js → provider-CX9EWecp.js} +1 -1
- package/dist/client/assets/proxy-C35W-YHZ.js +1 -0
- package/dist/client/assets/{radio-v7UAMZGh.js → radio-BjpQTKT0.js} +1 -1
- package/dist/client/assets/{refresh-cw-B5To7b6B.js → refresh-cw-IgN2fZLM.js} +1 -1
- package/dist/client/assets/resolve-panes-CCqRkQdM.js +1 -0
- package/dist/client/assets/resolve-sidebar-context-JkxY8qsV.js +1 -0
- package/dist/client/assets/right-B3PQUHd5.js +1 -0
- package/dist/client/assets/right-B96CBzrV.js +1 -0
- package/dist/client/assets/right-BPirlFC8.js +1 -0
- package/dist/client/assets/right-BUP2Ro_M.js +1 -0
- package/dist/client/assets/right-BVWYPIFX.js +1 -0
- package/dist/client/assets/right-BoAJxwA3.js +1 -0
- package/dist/client/assets/right-C2aOC2li.js +1 -0
- package/dist/client/assets/right-CtPJjgOV.js +1 -0
- package/dist/client/assets/{right-BvoGOUKH.js → right-DqiVyo8v.js} +1 -1
- package/dist/client/assets/right-SfSu0zHC.js +1 -0
- package/dist/client/assets/{rocket-BQQQv2L5.js → rocket-DnmN_YOD.js} +1 -1
- package/dist/client/assets/{router-C65cZYPn.js → router-B0YclXYg.js} +1 -1
- package/dist/client/assets/{scope-views-BOOmgmwx.js → scope-views-Z8aoAmtU.js} +1 -1
- package/dist/client/assets/scout-voice-DvG_3stJ.js +1 -0
- package/dist/client/assets/{scoutbot-BTIErYHo.js → scoutbot-D4vuKzOL.js} +2 -2
- package/dist/client/assets/scoutbot-markdown-BJJyaPu2.js +6 -0
- package/dist/client/assets/{scroll-text-BuneRiAD.js → scroll-text-DRidbcse.js} +1 -1
- package/dist/client/assets/{search-7_n7CxWl.js → search-BbgsEMXa.js} +1 -1
- package/dist/client/assets/secondaryNavConfig-DyC_P9Wx.js +1 -0
- package/dist/client/assets/{selection-bridge-SlGsgHw2.js → selection-bridge-CpzFGx3-.js} +1 -1
- package/dist/client/assets/{send-horizontal-DP16OOIW.js → send-horizontal-BXo2uz3Z.js} +1 -1
- package/dist/client/assets/{server-pYOMFjrT.js → server-Dt3tpiBj.js} +1 -1
- package/dist/client/assets/{session-catalog-_QfQ7fhZ.js → session-catalog-CUQ8LUJY.js} +1 -1
- package/dist/client/assets/{session-table-CYN8e4s3.js → session-table-B4JOKevn.js} +1 -1
- package/dist/client/assets/settings-BzWCF3NF.js +1 -0
- package/dist/client/assets/{sliders-horizontal-D2Z8gz6J.js → sliders-horizontal-7V8B3xsf.js} +1 -1
- package/dist/client/assets/{sparkles-Bth2iK7t.js → sparkles-ytTwpCbZ.js} +1 -1
- package/dist/client/assets/{sse-CL6gctHY.js → sse-CSozY6mp.js} +1 -1
- 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-NLIWLq27.js → tail-events-CrN-Rmxj.js} +1 -1
- package/dist/client/assets/{terminal-By1Lw2i2.js → terminal-BiNIXhna.js} +1 -1
- package/dist/client/assets/{terminal-relay-CjkI5aUy.js → terminal-relay-pSm7_An6.js} +1 -1
- package/dist/client/assets/{terminal-sessions-AmSgHklm.js → terminal-sessions-D4dHTRkt.js} +1 -1
- package/dist/client/assets/{terminal-takeover-7AvNpnkC.js → terminal-takeover-CtA3wcXh.js} +1 -1
- package/dist/client/assets/{runtime-picker-eDEvx2Mz.js → text-BR9Bap0E.js} +1 -1
- package/dist/client/assets/text-rLpBg4_z.css +1 -0
- package/dist/client/assets/{use-conversation-list-BCzY032j.js → use-conversation-list-C0bEXFeH.js} +1 -1
- package/dist/client/assets/{use-fleet-active-asks-CJ6-oj5k.js → use-fleet-active-asks-CK4aw-3G.js} +1 -1
- package/dist/client/assets/{use-mesh-ops-items-D5L-CKe_.js → use-mesh-ops-items-QixBijmT.js} +1 -1
- package/dist/client/assets/use-reduced-motion-BLn59zLn.js +1 -0
- package/dist/client/assets/{use-scout-dev-flags-BohC8seq.js → use-scout-dev-flags-JKb1EhFh.js} +1 -1
- package/dist/client/assets/{useAgentHoverCard-RsLUYyeh.js → useAgentHoverCard-6N8b7qsU.js} +1 -1
- package/dist/client/assets/useContentSecondaryNav-D-hVKzM9.js +1 -0
- package/dist/client/assets/{usePersistentState-D3M4m2Ou.js → usePersistentState-DOEahRlt.js} +1 -1
- package/dist/client/assets/{usePierreRuntime-B4hbNWTz.js → usePierreRuntime-Bq6mXrgd.js} +1 -1
- package/dist/client/assets/{wrench-M4G7WtYB.js → wrench-CQvdf7KT.js} +1 -1
- package/dist/client/assets/{x-ynOfVadO.js → x-BJyPzFnn.js} +1 -1
- package/dist/client/assets/{xterm-DZHyijPp.js → xterm-D6dE_wMr.js} +1 -1
- package/dist/client/assets/zap-rw7uwZht.js +1 -0
- package/dist/client/index.html +2 -2
- package/dist/main.mjs +629 -167
- package/dist/node/main.mjs +454 -270
- package/dist/pairing-runtime-controller.mjs +607 -357
- package/dist/runtime/base-daemon.mjs +384 -21
- package/dist/runtime/broker-daemon.mjs +11024 -10023
- package/dist/runtime/broker-process-manager.mjs +9 -3
- package/dist/runtime/mesh-discover.mjs +9 -3
- package/dist/scout-control-plane-web.mjs +1590 -984
- package/dist/scout-web-server.mjs +1590 -984
- package/package.json +4 -4
- package/dist/client/assets/ActivityScreen-aewI4Ul1.js +0 -1
- package/dist/client/assets/AgentAvatar-DMov24_o.js +0 -1
- package/dist/client/assets/AgentConfigurationScreen-BjG6ECjl.js +0 -1
- package/dist/client/assets/AgentDefinitionsWorkspace-D4MbSMXp.js +0 -1
- package/dist/client/assets/AgentFloorView-h9KDJdw0.js +0 -1
- package/dist/client/assets/AgentInfoScreen-SjhK_SBh.js +0 -1
- package/dist/client/assets/AgentLaneDetailSheet-DnAKe4e3.js +0 -4
- package/dist/client/assets/AgentLanesEmbedScreen-BNOYF16R.js +0 -1
- package/dist/client/assets/AgentLanesView-Ct-Gz5WD.js +0 -2
- package/dist/client/assets/AgentSessions-CDfSfNiE.js +0 -6
- package/dist/client/assets/AgentsConsole-BVxhBqRa.js +0 -1
- package/dist/client/assets/AgentsSubnav-CiIuzxnZ.js +0 -1
- package/dist/client/assets/BriefingDetailScreen-C83o2YfN.js +0 -6
- package/dist/client/assets/BrokerScreen-DplF8d_X.js +0 -5
- package/dist/client/assets/ChatCollapsedStrip-BRljIymi.js +0 -1
- package/dist/client/assets/ContextMenu-CxkmFQcN.js +0 -1
- package/dist/client/assets/ConversationComposer-CWohCCmn.js +0 -1
- package/dist/client/assets/ConversationFeedRows-IWh0JSIL.js +0 -1
- package/dist/client/assets/ConversationHeader-BxTzXl8e.js +0 -1
- package/dist/client/assets/ConversationPanels-D9UCwNkS.js +0 -2
- package/dist/client/assets/ConversationScreen-oZSitVtX.js +0 -1
- package/dist/client/assets/ConversationScreen-yIKEsm-8.css +0 -1
- package/dist/client/assets/ConversationStatus-B6pAbo2w.js +0 -1
- package/dist/client/assets/DocumentFocusViewer-DRKjNG9s.js +0 -1
- package/dist/client/assets/FleetSearch-CYeWn85V.js +0 -1
- package/dist/client/assets/FleetSearch-EXOe8ulE.css +0 -1
- package/dist/client/assets/FlightObserveScreen-DYJJ3Z2B.js +0 -1
- package/dist/client/assets/HomeHero-BPBArHXa.js +0 -1
- package/dist/client/assets/HomeHero-DEl-WBsT.css +0 -1
- package/dist/client/assets/KnowledgeSearchScreen-BP8tD-Bh.js +0 -1
- package/dist/client/assets/LaneTraceDetailSheet-B4i1Ut4R.js +0 -1
- package/dist/client/assets/MessageComposerSuggestions-Dfc3PH2y.js +0 -1
- package/dist/client/assets/MessagesScreen-TgSL5KMc.js +0 -1
- package/dist/client/assets/MissionControlView-D629w2A8.js +0 -1
- package/dist/client/assets/MissionFocusOverlay-Bubrr8Gc.js +0 -1
- package/dist/client/assets/MissionLeftAgentRow-DokImu4Y.js +0 -1
- package/dist/client/assets/MissionLogPane-Cs0LuIkn.js +0 -1
- package/dist/client/assets/NewChatComposer-S08F6_La.js +0 -19
- package/dist/client/assets/ObserveEmbedScreen-CHx2sEAA.js +0 -2
- package/dist/client/assets/ObserveTextFlow-_ApDwRCO.js +0 -2
- package/dist/client/assets/ObservedTopologyPanel-ByW7Ar7p.js +0 -2
- package/dist/client/assets/OpenScoutAppShell-DTmnbG-h.js +0 -88
- package/dist/client/assets/OpsAgentsView-DiFuHcJs.js +0 -1
- package/dist/client/assets/OpsScreen-CCR3U_9P.js +0 -1
- package/dist/client/assets/OpsSubnav-CZs_OL2N.js +0 -1
- package/dist/client/assets/PlanView-C54eAzig.js +0 -1
- package/dist/client/assets/ProjectAgentProfile-BEfYOaxc.js +0 -1
- package/dist/client/assets/ProjectAgentProfileHero-B4f_AoCr.js +0 -1
- package/dist/client/assets/ProjectsInbox-DoPZ17FC.js +0 -2
- package/dist/client/assets/ProjectsRail-CWOkZjsY.js +0 -1
- package/dist/client/assets/ProjectsScreen-Dse0Q6p6.js +0 -1
- package/dist/client/assets/ProjectsThreadAside-DMnfyPLE.js +0 -1
- package/dist/client/assets/Provider-DKZWuzSR.js +0 -1
- package/dist/client/assets/RailRow-Cf9LOiEj.css +0 -1
- package/dist/client/assets/RailRow-DIGd3MMM.js +0 -1
- package/dist/client/assets/RawSessionsTable-Zkl4YDvz.js +0 -1
- package/dist/client/assets/RealtimeVoiceScreen-B_PMJxY_.js +0 -1
- package/dist/client/assets/RepoDiffViewer-VrUJw33u.js +0 -7
- package/dist/client/assets/RepoDiffViewerLazy-BPg_JkYW.js +0 -2
- package/dist/client/assets/ScoutDeckSurface-MbwGp6Ab.js +0 -1
- package/dist/client/assets/ScoutbotBroadcastChip-DAKQKB25.js +0 -2
- package/dist/client/assets/ScoutbotRealtimeVoiceCall-Br4bYVAx.js +0 -1
- package/dist/client/assets/SessionRefScreen-DLZNFZFK.js +0 -1
- package/dist/client/assets/SessionsScreen-D-hN1n4k.js +0 -1
- package/dist/client/assets/SettingsDrawer-BFsnww-k.js +0 -3
- package/dist/client/assets/SettingsDrawer-UX7pFJU_.css +0 -1
- package/dist/client/assets/SettingsScreen-Bc3Xtv5V.js +0 -1
- package/dist/client/assets/Terminal-D_OmdFmr.js +0 -1
- package/dist/client/assets/TerminalEmbedScreen-D21ytNXW.js +0 -1
- package/dist/client/assets/WorkFilesViewer-BDMNbxE4.js +0 -1
- package/dist/client/assets/agent-identity-BxCsXnDp.js +0 -1
- 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-B-SUUhXj.js +0 -1
- package/dist/client/assets/content-BRY2vo1_.js +0 -1
- package/dist/client/assets/content-BTm0mVyD.js +0 -1
- package/dist/client/assets/content-BTqvyb5E.js +0 -1
- package/dist/client/assets/content-BjDaXmSD.js +0 -1
- package/dist/client/assets/content-BrR6deGh.js +0 -1
- package/dist/client/assets/content-C5yvBEMy.js +0 -1
- package/dist/client/assets/content-CkhG__-v.js +0 -1
- package/dist/client/assets/content-CudIBsiP.js +0 -1
- package/dist/client/assets/content-DBb7ppd5.js +0 -1
- package/dist/client/assets/content-DEw_kGyK.js +0 -1
- package/dist/client/assets/content-DIy0DCzK.js +0 -1
- package/dist/client/assets/content-THl9hRAo.js +0 -1
- package/dist/client/assets/content-vi9FbmV9.js +0 -1
- package/dist/client/assets/content-wcgPMGVf.js +0 -1
- package/dist/client/assets/conversation-model-CHwHZNw-.js +0 -1
- package/dist/client/assets/conversation-motion-features-zU0k3Agz.js +0 -1
- package/dist/client/assets/ctx-panel-B4s49N9e.css +0 -1
- package/dist/client/assets/discover-NDAqNvKt.js +0 -2
- package/dist/client/assets/embed-entry-BVR09F6e.js +0 -2
- package/dist/client/assets/home-moving-signal-C8dTXieA.js +0 -1
- package/dist/client/assets/home-moving-signal-CAa0V91u.css +0 -1
- package/dist/client/assets/home-now-card-BgvVcE83.js +0 -1
- package/dist/client/assets/hooks-DBIezYS2.js +0 -2
- package/dist/client/assets/index-BMwKgdz_.js +0 -1
- package/dist/client/assets/index-Bu-fckyR.css +0 -1
- package/dist/client/assets/index-BxoufAPA.js +0 -1
- package/dist/client/assets/index-Cj7NnSxI.js +0 -1
- package/dist/client/assets/index-CvF09yvf.css +0 -1
- package/dist/client/assets/index-o4FKpU7Z.js +0 -10
- package/dist/client/assets/inspector-panel-Dy2cVTCi.js +0 -2
- package/dist/client/assets/left-BC7p5QbT.js +0 -1
- package/dist/client/assets/left-BCSGqccQ.js +0 -1
- package/dist/client/assets/left-BSyj8PuJ.js +0 -2
- package/dist/client/assets/left-Bk3XnxPD.css +0 -1
- package/dist/client/assets/left-CCoobxPS.css +0 -1
- package/dist/client/assets/left-DDnxNUxd.js +0 -1
- package/dist/client/assets/left-DLoDKxT5.js +0 -2
- package/dist/client/assets/left-O-TBH7JB.js +0 -1
- package/dist/client/assets/left-agents-Dk9Y89lb.js +0 -1
- package/dist/client/assets/left-default-B3JBRQNJ.js +0 -1
- package/dist/client/assets/left-lanes-30Oe_3RM.js +0 -1
- package/dist/client/assets/left-mission-DEl4-7xu.js +0 -1
- package/dist/client/assets/left-plan-B4qdm4Gn.js +0 -2
- package/dist/client/assets/left-rvUOB14X.js +0 -1
- package/dist/client/assets/library-DDKSLFJ_.js +0 -1
- package/dist/client/assets/mentions-CvDaviLJ.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-DW80Gn5k.js +0 -1
- package/dist/client/assets/projects-inbox-DCeD3FfV.js +0 -1
- package/dist/client/assets/resolve-panes-BDi9Qx4R.js +0 -1
- package/dist/client/assets/resolve-sidebar-context-HE-5eZYa.js +0 -1
- package/dist/client/assets/right-BDf_yTv6.js +0 -1
- package/dist/client/assets/right-C-bgjYg-.js +0 -1
- package/dist/client/assets/right-C3JdEfYQ.js +0 -1
- package/dist/client/assets/right-CYIs2tEe.js +0 -1
- package/dist/client/assets/right-CyRCv6Up.js +0 -1
- package/dist/client/assets/right-DBYGtoRv.js +0 -1
- package/dist/client/assets/right-o3LHMiKa.js +0 -1
- package/dist/client/assets/right-oPrcx9MX.js +0 -1
- package/dist/client/assets/right-sSvBUK-j.js +0 -1
- package/dist/client/assets/runtime-picker-vhm0gtLs.css +0 -1
- package/dist/client/assets/scout-voice-B7kXlkcl.js +0 -1
- package/dist/client/assets/secondaryNavConfig-CSFDCQAf.js +0 -1
- package/dist/client/assets/system-surfaces-redesign-B7GQhfpw.css +0 -1
- package/dist/client/assets/text-DsBWV_4k.js +0 -1
- package/dist/client/assets/use-reduced-motion-CqXpVXv-.js +0 -1
- package/dist/client/assets/useContentSecondaryNav-DOr5yHbT.js +0 -1
- /package/dist/client/assets/{document-focus-viewer-BSC_JwVE.css → DocumentFocusViewer-BSC_JwVE.css} +0 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import{j as i,r as l}from"./index-Bli6bTLU.js";import{f as Ot,M as zn}from"./text-BR9Bap0E.js";import{C as Gn,c as Wn,S as vs,G as qn,H as Kn}from"./conversation-model-CigSPlKA.js";import{a as W}from"./api-DEHEgJ9m.js";import{r as Jn}from"./index-DFdlQs_c.js";import{H as ys}from"./HarnessMark-DGZ6o6Ct.js";import{n as Vn,c as Xn,d as Yn}from"./colors-BtO5_zlx.js";import{NewChatOrigin as Qn}from"./NewChatOrigin-DpHS2Wmt.js";import{u as Zn}from"./keyboard-nav-7iEtvu9P.js";import{X as er}from"./x-BJyPzFnn.js";import{C as tr}from"./chevron-down-Da5tV19_.js";import{S as sr}from"./search-BbgsEMXa.js";import{L as Tt}from"./loader-circle-DoT8gpw6.js";import{F as nr}from"./file-text-BVhkMWyC.js";const rr={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:[]}]},qt=["none","minimal","low","medium","high","xhigh","max","ultra"],Gs={none:"None",minimal:"Minimal",low:"Light",medium:"Medium",high:"High",xhigh:"Extra High",max:"Max",ultra:"Ultra"},V=rr;function Kt(e,t=V){return t.harnesses.find(s=>s.id===e)}function or(e=V){return e.harnesses.find(t=>t.enabled&&t.default)?.id??e.harnesses.find(t=>t.enabled)?.id??null}function Ws(e,t=V){const s=Kt(e,t);return s?.models.find(n=>n.enabled&&n.default)?.id??s?.models.find(n=>n.enabled)?.id??null}function ar(e,t,s=V){const n=Kt(e,s);if(!n||!n.enabled)return null;const r=t?n.models.find(a=>a.enabled&&a.id===t):void 0;return r?.reasoningEfforts===null?null:r?.reasoningEfforts??n.reasoningEfforts}function qs(e,t,s=V){const n=Kt(e,s),r=t?n?.models.find(f=>f.enabled&&f.id===t):void 0,a=ar(e,t,s),u=r?.defaultReasoningEffort??n?.defaultReasoningEffort??null;return u&&a?.includes(u)?u:a?.[0]??null}function ir(e=V){return Object.fromEntries(e.harnesses.filter(t=>t.enabled).map(t=>{const s=Ws(t.id,e);return[t.id,{model:s,reasoningEffort:qs(t.id,s,e)}]}))}const cr=ir();Object.fromEntries(V.harnesses.filter(e=>e.enabled).map(e=>{const t=qt.filter(s=>e.reasoningEfforts?.includes(s)||e.models.some(n=>n.enabled&&n.reasoningEfforts?.includes(s)));return[e.id,t]}));function lr(e=V){const t=new Map;for(const s of e.harnesses)if(s.enabled)for(const n of s.models){if(!n.enabled)continue;const r=t.get(n.id);if(r){r.harnesses.includes(s.id)||r.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 ur=lr(),dr={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 fr(e=V){return qt.flatMap(t=>{const s=[],n=[];for(const r of e.harnesses){if(!r.enabled)continue;const a=r.models.filter(d=>d.enabled),u=a.filter(d=>(d.reasoningEfforts??r.reasoningEfforts)?.includes(t)),f=a.length===0&&r.reasoningEfforts?.includes(t);u.length===0&&!f||(s.push(r.id),a.length>0&&u.length<a.length&&n.push(...u.map(d=>d.id)))}return s.length===0?[]:[{id:t,label:Gs[t],description:dr[t],harnesses:s,...n.length>0?{models:n}:{}}]})}const mr=fr(),Ks=new Set(["md","markdown","mdx","mdown","mkd"]),hr=new Set(["c","cc","cpp","cxx","h","hh","hpp","hxx","cjs","mjs","js","jsx","ts","tsx","py","pyw","pyi","rs","go","java","kt","kts","swift","cs","rb","php","lua","r","sh","bash","zsh","fish","ps1","bat","cmd","sql","prisma","json","jsonc","json5","yaml","yml","toml","xml","html","htm","xhtml","css","scss","sass","less","vue","svelte","astro","graphql","gql","zig","ex","exs","erl","hrl","hs","clj","cljs","cljc","dart","tf","hcl","nix","env","ini","cfg","conf","properties","txt","log","cmake","gradle","groovy","patch","diff","proto","wat"]),pr=new Set(["dockerfile","containerfile","makefile","gemfile","rakefile","procfile","brewfile"]),gr=new Set(["text/markdown","text/x-markdown","text/plain","text/javascript","text/typescript","text/css","text/html","text/yaml","text/toml","text/x-shellscript","application/json","application/javascript"]);function Js(e){return e.trim().split(/[/\\]/).pop()?.toLowerCase()??""}function Jt(e){const t=Js(e),s=t.lastIndexOf(".");return s>=0?t.slice(s+1):""}function wr(e){return Ks.has(Jt(e))}function br(e){const t=Js(e);return pr.has(t)?!0:hr.has(Jt(e))}function Vs(e){return wr(e)||br(e)}function Xs(e,t){if(!Vs(t))return null;const s=Jt(t);if(Ks.has(s))return"text/markdown";switch(s){case"json":case"jsonc":case"json5":return"application/json";case"yaml":case"yml":return"text/yaml";case"toml":return"text/toml";case"html":case"htm":case"xhtml":return"text/html";case"css":case"scss":case"sass":case"less":return"text/css";case"js":case"jsx":case"mjs":case"cjs":return"text/javascript";case"ts":case"tsx":return"text/typescript";case"sh":case"bash":case"zsh":case"fish":return"text/x-shellscript"}const n=e.trim().toLowerCase();return gr.has(n)?n:"text/plain"}function vr(e,t){const s=e.trim().toLowerCase();return s.startsWith("image/")||s.startsWith("video/")||s==="text/markdown"||s==="text/x-markdown"?!0:t?Xs(s,t)?!0:!s||s==="application/octet-stream"?Vs(t):!1:!1}function yr(e){const t=e.type.trim().toLowerCase();return t.startsWith("image/")||t.startsWith("video/")?t:Xs(t,e.name)??t}function Xe(e){return vr(e.type,e.name)}function xr(e){return yr(e)}function dt(e){return e?e.files.length>0||[...e.types].some(t=>t.toLowerCase()==="files")?!0:[...e.items].some(t=>t.kind==="file"):!1}function Ys(e){if(!e)return[];const t=[...e.files];if(t.length>0)return t;const s=[];for(const n of e.items){if(n.kind!=="file")continue;const r=n.getAsFile();r&&s.push(r)}return s}function jr(e){return Ys(e).filter(Xe)}function $a(e){return jr(e)}function Sr(e){return new Promise((t,s)=>{const n=new FileReader;n.onload=()=>{const r=typeof n.result=="string"?n.result:"",a=r.indexOf(",");t(a>=0?r.slice(a+1):r)},n.onerror=()=>s(n.error??new Error("Could not read file.")),n.readAsDataURL(e)})}async function Cr(e){if(!Xe(e))throw new Error("Only markdown, code, image, and video files can be routed.");const t=await Sr(e);return W("/api/blobs",{method:"POST",body:JSON.stringify({data:t,mediaType:xr(e),fileName:e.name})})}async function kr(e){const t=e.filter(Xe);if(t.length===0)throw new Error("Drop markdown, code, an image, or a video clip to route.");return(await Promise.all(t.map(n=>Cr(n)))).map((n,r)=>({id:n.id,mediaType:n.mediaType,fileName:n.fileName??t[r]?.name,url:n.url}))}function Mr(e,t){const s=t?.trim();return s?e.find(n=>n.id===s)??null:null}function Ar(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=Mr(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}}function xs({label:e,items:t,activeIndex:s,placement:n="above",onPick:r,onActiveIndexChange:a}){return t.length===0?null:i.jsxs("div",{className:"s-msg-compose-suggest surface-card","data-placement":n,role:"listbox","aria-label":e,children:[i.jsxs("div",{className:"s-msg-compose-suggest-header",children:[i.jsx("span",{className:"s-msg-compose-suggest-label label-xs text-muted",children:e}),i.jsxs("span",{className:"label-xs text-dim s-msg-compose-suggest-count",children:[t.length," options"]})]}),i.jsx("div",{className:"s-msg-compose-suggest-list",children:t.map((u,f)=>{const d=f===s;return i.jsxs("button",{type:"button",role:"option","aria-selected":d,className:`s-msg-compose-suggest-item${d?" s-msg-compose-suggest-item--active":""}`,onMouseDown:b=>{b.preventDefault(),r(f)},onMouseEnter:()=>a(f),children:[d&&i.jsx("span",{className:"s-msg-compose-suggest-active-indicator","aria-hidden":"true"}),u.avatarNode?i.jsx("span",{className:"s-msg-compose-suggest-avatar-node","aria-hidden":"true",children:u.avatarNode}):u.avatar?i.jsx("span",{className:"s-ops-avatar s-msg-compose-suggest-avatar",style:{"--size":"20px",background:u.avatar.color},"aria-hidden":"true",children:u.avatar.label}):null,i.jsx("span",{className:"s-msg-compose-suggest-token",children:u.token}),i.jsx("span",{className:"s-msg-compose-suggest-desc",children:u.description}),d&&i.jsx("span",{className:"s-msg-compose-suggest-pick-hint label-xs text-dim",children:i.jsx(Gn,{size:10,"aria-hidden":"true"})})]},u.id)})}),i.jsx("div",{className:"s-msg-compose-suggest-footer",children:i.jsxs("span",{className:"label-xs text-dim",children:[i.jsx("kbd",{className:"s-kbd",children:"↑"})," ",i.jsx("kbd",{className:"s-kbd",children:"↓"})," navigate · ",i.jsx("kbd",{className:"s-kbd",children:"↵"})," select · ",i.jsx("kbd",{className:"s-kbd",children:"esc"})," close"]})})]})}const z="",Ir={none:"no reasoning",minimal:"lightest",low:"triage",medium:"default",high:"deep",xhigh:"exhaustive",max:"fullest",ultra:"beyond max"},Nr=qt.map(e=>({value:e,label:Gs[e],note:Ir[e]}));function _e(e,t){return e.harnesses.find(s=>s.value===t)}function Vt(e,t){return _e(e,t)?.models??[]}function Me(e,t,s){const n=_e(e,t),r=n?n.efforts===null?null:n.efforts??e.efforts:e.efforts;if(!r||!s)return r;const a=new Set((n?.models??[]).map(u=>u.value));return a.has(s)?r.filter(u=>{if(!u.models||u.models.length===0)return!0;const f=u.models.filter(d=>a.has(d));return f.length===0||f.includes(s)}):r}function Qs(e,t){const n=Vt(e,t.harness).find(r=>r.value===t.model);return n||(t.model.trim()?{value:t.model,label:t.model,note:"custom"}:{value:z,label:"Default",note:"harness picks"})}function Er(e,t){const s=_e(e,t.harness),n=s?.label??t.harness??"Default",r=Qs(e,t),a=Me(e,t.harness,t.model),u=a?.find(b=>b.value===t.effort),f=u?.label??t.effort,d=a?`Runtime: ${n}, model ${r.label}, effort ${f}`:`Runtime: ${n}, model ${r.label}`;return{harness:s,harnessLabel:n,model:r,modelLabel:r.label,effort:u,effortLabel:f,supportsEffort:a!==null,summary:d}}function Rr(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 p=Me(e,n.harness,n.model);if(!p||n.effort===z||p.some(Y=>Y.value===n.effort))return n;const F=(Me(e,t.harness,t.model)??e.efforts).findIndex(Y=>Y.value===t.effort),X=Math.min(Math.max(F,0),p.length-1);return n.effort=p[X]?.value??p[0]?.value??z,n}const a=_e(e,n.harness);n.model=s.model??a?.defaultModel??z,s.effort===void 0&&a?.defaultEffort&&(n.effort=a.defaultEffort);const u=Me(e,n.harness,n.model);if(!u)return n.effort=z,n;if(u.some(p=>p.value===n.effort))return n;const d=(Me(e,t.harness,t.model)??e.efforts).findIndex(p=>p.value===t.effort),b=Math.min(Math.max(d,0),u.length-1);return n.effort=u[b]?.value??u[0]?.value??z,n}function Tr(e,t){const s=t?.harness??e.harnesses.find(a=>!a.disabled)?.value??"",n=Me(e,s),r=n?.find(a=>a.note==="default")?.value??n?.[Math.floor((n.length-1)/2)]?.value??z;return{harness:s,model:t?.model??_e(e,s)?.defaultModel??Vt(e,s)[1]?.value??z,effort:n?t?.effort??_e(e,s)?.defaultEffort??r:z}}function Lr(e,t){const s=t.trim().toLowerCase();return s?e.filter(n=>`${n.label} ${n.value} ${n.note??""}`.toLowerCase().includes(s)):e}function Ke(...e){for(const t of e){const s=t?.trim();if(s)return s}}function Zs(e){const t=e.harnesses.map(n=>{const r=e.defaultsByHarness?.[n.id],a=n.ready!==!1,u=[{value:z,label:"Default",note:"harness picks"},...e.models.filter(d=>d.harnesses.includes(n.id)).map(d=>({value:d.id,label:d.label,note:Ke(d.description)}))],f=e.efforts.filter(d=>d.harnesses.includes(n.id));return{value:n.id,label:n.label,note:a?Ke(n.description):Ke(n.detail,n.state,"unavailable"),disabled:!a,defaultModel:r?.model??z,defaultEffort:r?.reasoningEffort??z,models:u,efforts:f.length===0?null:f.map(d=>({value:d.id,label:d.label,note:Ke(d.description),...d.models?.length?{models:[...d.models]}:{}}))}}),s=e.efforts.map(n=>({value:n.id,label:n.label,note:Ke(n.description)}));return{harnesses:t,efforts:s.length>0?s:Nr}}const Pr=6,Lt=34,Pt=460,$r=14,Dr=300,Je=8,$t=["harness","model","effort"],_r={harness:"vertical",model:"vertical",effort:"horizontal"};function Or(){return i.jsx("svg",{className:"s-rt-chip-chevron",width:"8",height:"5",viewBox:"0 0 8 5",fill:"none","aria-hidden":"true",children:i.jsx("path",{d:"M1 1.2 4 4 7 1.2",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}function Fr({ctx:e}){const{efforts:t,value:s,set:n}=e;if(!t)return null;const r=Math.max(0,t.findIndex(a=>a.value===s.effort));return i.jsx("div",{className:"s-rt-ladder",role:"radiogroup","aria-label":"Reasoning effort",children:t.map((a,u)=>{const f=u===r;return i.jsxs("button",{type:"button",role:"radio","aria-checked":f,title:a.note,onClick:()=>n({effort:a.value}),...e.cell("effort",u),className:"s-rt-step",children:[i.jsx("span",{className:"s-rt-step-bar","data-state":f?"current":u<r?"filled":"empty"}),i.jsx("span",{className:"s-rt-step-label",children:a.label})]},a.value)})})}function Ur({harnessLabel:e}){return i.jsxs("p",{className:"s-rt-effort-absent",children:[e," has no effort control."]})}function Hr({option:e,selected:t,index:s,ctx:n}){const r=e.disabled??!1;return i.jsxs("button",{type:"button",role:"option","aria-selected":t,"aria-disabled":r||void 0,onClick:()=>{r||n.set({model:e.value})},"data-on":t||void 0,"data-disabled":r||void 0,...n.cell("model",s),style:{animationDelay:`${Math.min(s,6)*16}ms`},className:"s-rt-row s-rt-model-row",children:[i.jsx("span",{"aria-hidden":!0,className:"s-rt-dot"}),i.jsx("span",{className:"s-rt-row-label",children:e.label}),e.note?i.jsx("span",{className:"s-rt-note",children:e.note}):null]})}function Br({ctx:e}){return i.jsxs("div",{className:"s-rt-search",children:[i.jsxs("svg",{width:"11",height:"11",viewBox:"0 0 12 12","aria-hidden":"true",className:"s-rt-search-icon",children:[i.jsx("circle",{cx:"5",cy:"5",r:"3.4",fill:"none",stroke:"currentColor",strokeWidth:"1.3"}),i.jsx("path",{d:"M7.6 7.6 10.5 10.5",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})]}),i.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?i.jsx("button",{type:"button",onClick:()=>{e.setQuery(""),e.searchRef.current?.focus()},"aria-label":"Clear filter",className:"s-rt-search-clear",children:"clear"}):null]})}function zr({ctx:e}){return e.status==="loading"?i.jsxs("div",{className:"s-rt-status","aria-busy":!0,role:"status",children:[i.jsx("span",{className:"s-rt-sr",children:"Loading models"}),[0,1,2].map(t=>i.jsx("span",{"aria-hidden":!0,className:"s-rt-skel",style:{animationDelay:`${t*90}ms`}},t))]}):e.status==="error"?i.jsxs("div",{role:"alert",className:"s-rt-status s-rt-status--error",children:[i.jsx("span",{className:"s-rt-status-message",children:e.statusMessage??"Model catalog unavailable."}),e.onRetry?i.jsx("button",{type:"button",onClick:e.onRetry,className:"s-rt-retry",children:"Retry"}):null]}):i.jsx("p",{className:"s-rt-empty",children:e.query.trim()?`No model matches “${e.query.trim()}”.`:"No models listed."})}function Gr({ctx:e}){return e.status!=="ready"||e.models.length===0?i.jsx(zr,{ctx:e}):i.jsx("div",{role:"listbox","aria-label":"Model",className:"s-rt-models",children:e.models.map((t,s)=>i.jsx(Hr,{option:t,index:s,selected:t.value===e.value.model,ctx:e},t.value||"default"))},e.value.harness)}function js({value:e,defaultValue:t,onChange:s,catalog:n,status:r="ready",statusMessage:a,onRetry:u,disabled:f=!1,showEffort:d,searchable:b="auto",className:p}){const[y,F]=l.useState(!1),[X,Y]=l.useState(""),[Ze,et]=l.useState(()=>Tr(n,t)),C=e??Ze,k=l.useRef(null),fe=l.useRef(null),me=l.useRef(null),he=l.useRef(null),A=l.useId(),Se=l.useCallback(m=>{const w=Rr(n,C,m);e===void 0&&et(w),s?.(w),m.harness!==void 0&&m.harness!==C.harness&&Y("")},[n,e,s,C]),P=n.harnesses,Fe=l.useMemo(()=>Vt(n,C.harness),[n,C.harness]),D=l.useMemo(()=>{const m=Qs(n,C);return m.note!=="custom"?Fe:[...Fe,m]},[Fe,n,C]),re=l.useMemo(()=>Lr(D,X),[D,X]),Ue=Me(n,C.harness,C.model),Q=d===!1?null:d===!0?Ue??n.efforts:Ue,$=b==="auto"?D.length>Pr:b,Z=Er(n,C),N=l.useRef(new Map),[pe,R]=l.useState({group:"model",index:0}),T=l.useMemo(()=>({harness:P.length,model:r==="ready"?re.length:0,effort:Q?.length??0}),[Q?.length,P.length,re.length,r]),oe=l.useCallback(m=>m==="harness"?Math.max(0,P.findIndex(w=>w.value===C.harness)):m==="model"?Math.max(0,re.findIndex(w=>w.value===C.model)):Math.max(0,Q?.findIndex(w=>w.value===C.effort)??0),[Q,P,re,C]),E=l.useCallback((m,w)=>{R({group:m,index:w}),N.current.get(`${m}:${w}`)?.focus()},[]),ge=l.useCallback((m,w)=>{const j=$t.indexOf(m);for(let x=j+w;x>=0&&x<$t.length;x+=w){const L=$t[x];if(T[L]>0)return E(L,Math.min(oe(L),T[L]-1)),!0}return!1},[T,E,oe]),tt=l.useCallback((m,w)=>({ref:j=>{const x=`${m}:${w}`;j?N.current.set(x,j):N.current.delete(x)},tabIndex:pe.group===m&&pe.index===w?0:-1,onFocus:()=>R({group:m,index:w}),onKeyDown:j=>{const x=_r[m]==="vertical",L=x?"ArrowDown":"ArrowRight",B=x?"ArrowUp":"ArrowLeft",Be=x?"ArrowRight":"ArrowDown",ae=x?"ArrowLeft":"ArrowUp",ve=T[m];if(ve!==0)if(j.key===L)j.preventDefault(),E(m,(w+1)%ve);else if(j.key===B){if(j.preventDefault(),m==="model"&&w===0&&$){R({group:m,index:0}),he.current?.focus();return}E(m,(w-1+ve)%ve)}else j.key===Be?(j.preventDefault(),ge(m,1)):j.key===ae?(j.preventDefault(),ge(m,-1)):j.key==="Home"?(j.preventDefault(),E(m,0)):j.key==="End"&&(j.preventDefault(),E(m,ve-1))}}),[T,pe,E,ge,$]),Ee=l.useCallback(m=>{if(m.key==="ArrowDown"&&T.model>0)m.preventDefault(),E("model",0);else if(m.key==="Enter"&&T.model===1){m.preventDefault();const w=re[0];w.disabled||Se({model:w.value})}else m.key==="Escape"&&X&&(m.preventDefault(),m.stopPropagation(),Y(""))},[T.model,E,re,X,Se]),[U,He]=l.useState(null),we=l.useCallback(()=>{const m=fe.current;if(!m)return;const w=m.getBoundingClientRect(),j=w.top,x=window.innerHeight-w.bottom,L=j>=Dr||j>=x?"up":"down",B=Math.min(Math.max(Je,w.right-Pt),Math.max(Je,window.innerWidth-Pt-Je));He({left:B,top:L==="up"?w.top-Je:w.bottom+Je,placement:L})},[]);l.useLayoutEffect(()=>{if(!y)return;we();const m=()=>we();return window.addEventListener("scroll",m,!0),window.addEventListener("resize",m),()=>{window.removeEventListener("scroll",m,!0),window.removeEventListener("resize",m)}},[y,we]);const I=l.useCallback(m=>{F(!1),m&&fe.current?.focus()},[]);l.useEffect(()=>{if(!y)return;const m=j=>{const x=j.target;k.current?.contains(x)||me.current?.contains(x)||F(!1)},w=j=>{j.key==="Escape"&&(j.stopPropagation(),I(!0))};return document.addEventListener("pointerdown",m),document.addEventListener("keydown",w),()=>{document.removeEventListener("pointerdown",m),document.removeEventListener("keydown",w)}},[y,I]),l.useEffect(()=>{if(!y)return;const m=T.model>0?"model":"harness",w=Math.min(oe(m),Math.max(0,T[m]-1));R({group:m,index:w});const j=requestAnimationFrame(()=>{const x=N.current.get(`${m}:${w}`);x?x.focus():me.current?.focus()});return()=>cancelAnimationFrame(j)},[y]),l.useEffect(()=>{y||Y("")},[y]),l.useEffect(()=>{f&&F(!1)},[f]);const be=Math.max(0,P.findIndex(m=>m.value===C.harness)),H={value:C,set:Se,status:r,statusMessage:a,onRetry:u,harnesses:P,models:re,efforts:Q,harnessLabel:Z.harnessLabel,searchable:$,query:X,setQuery:Y,searchRef:he,cell:tt,onSearchKeyDown:Ee};return i.jsxs("div",{ref:k,className:p?`s-rt-root ${p}`:"s-rt-root",style:{position:"relative",display:"inline-flex"},children:[i.jsxs("button",{ref:fe,type:"button",className:`s-rt-chip${f?" s-rt-chip--disabled":""}`,"aria-haspopup":"dialog","aria-expanded":y,"aria-controls":y?A:void 0,"aria-label":Z.summary,disabled:f,onClick:()=>F(m=>!m),children:[i.jsx(ys,{harness:C.harness||"unknown",size:12,className:"s-rt-chip-mark",title:null}),i.jsxs("span",{className:"s-rt-chip-type",children:[i.jsx("span",{className:"s-rt-chip-model",style:{maxWidth:`${$r}ch`},children:i.jsx("span",{className:"s-rt-chip-model-text",children:Z.modelLabel},Z.modelLabel)}),Q&&Z.effortLabel?i.jsxs(i.Fragment,{children:[i.jsx("span",{"aria-hidden":!0,className:"s-rt-chip-divider"}),i.jsx("span",{className:"s-rt-chip-effort","data-effort":C.effort,children:Z.effortLabel})]}):null]}),i.jsx(Or,{})]}),y&&U?Jn.createPortal(i.jsx("div",{ref:me,id:A,role:"dialog","aria-label":"Runtime",tabIndex:-1,"data-placement":U.placement,className:"s-rt-panel",style:{left:U.left,width:Pt,...U.placement==="up"?{bottom:window.innerHeight-U.top}:{top:U.top}},children:i.jsxs("div",{className:"s-rt-rail",children:[i.jsxs("div",{className:"s-rt-rail-main",children:[i.jsxs("div",{className:"s-rt-harnesses",role:"radiogroup","aria-label":"Harness",children:[i.jsx("span",{"aria-hidden":!0,className:"s-rt-marker",style:{height:Lt-10,transform:`translateY(${be*Lt+5}px)`}}),P.map((m,w)=>{const j=m.value===C.harness,x=m.disabled??!1;return i.jsxs("button",{type:"button",role:"radio","aria-checked":j,"aria-disabled":x||void 0,onClick:()=>{x||H.set({harness:m.value})},style:{height:Lt},"data-on":j||void 0,"data-disabled":x||void 0,title:x?m.note:void 0,...H.cell("harness",w),className:"s-rt-harness",children:[i.jsx(ys,{harness:m.value||"unknown",size:14,className:"s-rt-opt-mark",title:null}),i.jsx("span",{className:"s-rt-harness-label",children:m.label})]},m.value||"default")})]}),i.jsxs("div",{className:"s-rt-models-col",children:[$?i.jsx(Br,{ctx:H}):null,i.jsx(Gr,{ctx:H})]})]}),i.jsx("div",{className:"s-rt-effort-foot",children:Q?i.jsx(Fr,{ctx:H}):i.jsx(Ur,{harnessLabel:Z.harnessLabel})})]})}),document.body):null]})}const Ft="scout:newchat:frame:v1",Wr=620,Ss=420,Cs=300,gt=12,qr=210,Kr=154;function en(e){return e>Wr}function ks(e,t,s){if(!en(s.width))return null;const n=e??t;return n?bt(n,s):null}function Jr(e){return e?Math.max(Kr,Math.round(e.height-qr)):null}function Ms(e,t,s){const n=s-t-gt;return Math.round(Math.max(gt,Math.min(e,n)))}function bt(e,t){const s=Math.round(Math.max(Ss,Math.min(e.width,Math.max(Ss,t.width-gt*2)))),n=Math.round(Math.max(Cs,Math.min(e.height,Math.max(Cs,t.height-gt*2))));return{x:Ms(e.x,s,t.width),y:Ms(e.y,n,t.height),width:s,height:n}}function Vr(e,t,s,n){return bt({...e,x:e.x+t,y:e.y+s},n)}function Xr(e,t,s,n,r){const a=n==="s"?e.width:e.width+t,u=n==="e"?e.height:e.height+s;return bt({...e,width:a,height:u},r)}function Yr(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 Qr(e){if(!e)return null;try{const t=JSON.parse(e);return Yr(t)?{x:t.x,y:t.y,width:t.width,height:t.height}:null}catch{return null}}function As(){try{return typeof localStorage>"u"?null:Qr(localStorage.getItem(Ft))}catch{return null}}function Is(e){try{if(typeof localStorage>"u")return;if(!e){localStorage.removeItem(Ft);return}localStorage.setItem(Ft,JSON.stringify(e))}catch{}}const Ut=or()??"",Ns=Ws(Ut),Ae={schemaVersion:"openscout.runtime-capabilities.v1",catalogVersion:V.schemaVersion,defaults:{harness:Ut,model:Ns,reasoningEffort:qs(Ut,Ns)},defaultsByHarness:cr,harnesses:V.harnesses.filter(e=>e.enabled&&e.listed!==!1).map(e=>({id:e.id,label:e.label})),models:ur.map(e=>({id:e.id,label:e.label,...e.description?{description:e.description}:{},harnesses:[...e.harnesses]})),efforts:mr.map(e=>({id:e.id,label:e.label,...e.description?{description:e.description}:{},harnesses:[...e.harnesses],...e.models?{models:[...e.models]}:{}}))};function Da(e){return Zs({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 Zr="|";function Es(e){return e<55296?e:e<57344?e+8192:e-2048}function eo(e,t){if(e===t)return 0;const s=Math.min(e.length,t.length);for(let n=0;n<s;n+=1){const r=e.charCodeAt(n),a=t.charCodeAt(n);if(r!==a)return Es(r)<Es(a)?-1:1}return e.length===t.length?0:e.length<t.length?-1:1}function Rs(e){return Number.isFinite(e)?e:0}function to(e,t){const s=Rs(e.createdAt),n=Rs(t.createdAt);return s!==n?s<n?-1:1:eo(e.id,t.id)}function so(e){return`${Number.isFinite(e.createdAt)?Math.max(0,Math.trunc(e.createdAt)):0}${Zr}${e.id}`}const no=10,ro=80,Ts=300,Ls=100,tn=2e3,oo=no,je=new Map,de=new Map;let sn=0;function Ne(e){return e.trim()}function ao(e){const t=new Map;for(const s of e)t.set(s.id,s);return[...t.values()].sort(to)}function io(){if(je.size<=oo)return;let e=null,t=Number.POSITIVE_INFINITY;for(const[s,n]of je)n.touchedAt<t&&(e=s,t=n.touchedAt);e&&je.delete(e)}function Ie(e){const t=Ne(e),s=je.get(t);return s?(s.touchedAt=++sn,s.messages):null}function Xt(e,t,s={}){const n=Ne(e);if(!n)return[];const r=je.get(n),a=ao(t).slice(-tn);return je.set(n,{messages:a,historyLoaded:s.historyLoaded??r?.historyLoaded??!1,historyExhausted:s.historyExhausted??r?.historyExhausted??!1,touchedAt:++sn}),io(),a}function nn(e,t){const s=Ie(e)??[];return Xt(e,[...s,...t])}function rn(e){return je.get(Ne(e))?.historyLoaded??!1}function co(e){const t=je.get(Ne(e));return!!(t&&t.historyLoaded&&!t.historyExhausted&&t.messages.length>0&&t.messages.length<tn)}async function _a(e,t={}){const s=Ne(e);if(!s)return[];const n=Ie(s);if(n&&!t.refresh)return n;const r=de.get(s);if(r)return r;const a=W(`/api/messages?conversationId=${encodeURIComponent(s)}&limit=${ro}`).then(u=>nn(s,u));de.set(s,a);try{return await a}finally{de.delete(s)}}async function lo(e){const t=Ne(e);if(!t)return[];if(rn(t))return Ie(t)??[];const s=`${t}:history`,n=de.get(s);if(n)return n;const r=W(`/api/messages?conversationId=${encodeURIComponent(t)}&limit=${Ts}`).then(a=>Xt(t,[...Ie(t)??[],...a],{historyLoaded:!0,historyExhausted:a.length<Ts}));de.set(s,r);try{return await r}finally{de.delete(s)}}async function Oa(e){const t=Ne(e);if(!t)return[];if(!rn(t))return lo(t);if(!co(t))return Ie(t)??[];const s=Ie(t)??[],n=s[0];if(!n)return s;const r=so(n),a=`${t}:before:${r}`,u=de.get(a);if(u)return u;const f=W(`/api/messages?conversationId=${encodeURIComponent(t)}&limit=${Ls}&beforeMessageId=${encodeURIComponent(r)}`).then(d=>Xt(t,[...d,...Ie(t)??[]],{historyLoaded:!0,historyExhausted:d.length<Ls}));de.set(a,f);try{return await f}finally{de.delete(a)}}const uo=12e4,Ye=new Map;function fo(){const e=globalThis.crypto?.randomUUID?.();return e?`web-${e}`:`web-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function mo(e){const t=e.conversationId.trim(),s=e.messageId.trim();if(!t||!s)return;nn(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(),r=e.agentId?.trim();!n||!r||Ye.set(t,{flight:{id:n,invocationId:e.invocationId?.trim()||`pending:${n}`,agentId:r,agentName:null,conversationId:t,collaborationRecordId:null,state:"queued",summary:"Request accepted; waiting for worker activity.",startedAt:e.createdAt,completedAt:null,sessions:[]},expiresAt:Date.now()+uo})}function Fa(e,t=Date.now()){const s=e.trim(),n=Ye.get(s);return n?n.expiresAt<=t?(Ye.delete(s),null):n.flight:null}function Ua(e,t){const s=e.trim(),n=Ye.get(s);n&&(!t||n.flight.id===t)&&Ye.delete(s)}const ho=1200,po=new Set(["Page","URL"]);function on(e){return e.trim().slice(0,ho)}function go(e){const t=[{label:"Page",value:e.pageTitle??""},{label:"URL",value:e.pageUrl??""}];return e.selection?.trim()&&t.push({label:"Selection",value:on(e.selection)}),(e.notes??[]).forEach((s,n)=>{t.push({label:`Note ${n+1}`,value:s})}),t.filter(s=>s.value.trim())}function wo(e,t){const s=[];for(const r of t){const a=r.value.trim();a&&(po.has(r.label)?s.push(`${r.label}: ${a}`):s.push(`${r.label}:
|
|
2
|
+
${a.split(`
|
|
3
|
+
`).map(u=>`> ${u}`).join(`
|
|
4
|
+
`)}`))}const n=e.trim();return n&&s.push(n),s.join(`
|
|
5
|
+
|
|
6
|
+
`)}const bo=6,Ps=1600;function vo(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 an(e){const t=e.body.trim(),s=vo(e.attachmentCount??0),n=[t,s].filter(Boolean).join(`
|
|
7
|
+
`)||"(message has no text)";return n.length<=Ps?n:`${n.slice(0,Ps-1).trimEnd()}…`}function yo(e){const t=an(e).split(/\r?\n/gu).map(s=>`> ${s}`).join(`
|
|
8
|
+
`);return`Forwarded from ${e.actorLabel} in Scout
|
|
9
|
+
|
|
10
|
+
${t}`}function Ha(e){const t=e.messages.findIndex(a=>a.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-bo),t).filter(a=>a.body.trim()||(a.attachmentCount??0)>0),r=n.map(a=>`${a.actorLabel}:
|
|
11
|
+
${an(a)}`).join(`
|
|
12
|
+
|
|
13
|
+
`).slice(-8e3).trim();return{selectedMessage:yo(s),selectedMessageId:s.id,sourceConversationId:e.conversationId,...r?{recentContext:r}:{},recentMessageCount:n.length}}function xo(e,t,s){const n=s.trim(),r=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?r?`${n}
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
${r}`:n:r}const cn="openscout.project-recency.v1",ln=12;function un(e){const t=e?.trim();return t?t.length>1?t.replace(/\/+$/u,""):t:null}function Ht(){if(typeof window>"u")return[];try{const e=window.localStorage.getItem(cn);if(!e)return[];const t=JSON.parse(e);if(!Array.isArray(t))return[];const s=[];for(const n of t){const r=typeof n=="string"?un(n):null;r&&!s.includes(r)&&s.push(r)}return s.slice(0,ln)}catch{return[]}}function $s(e){const t=un(e);if(!t)return Ht();const s=[t,...Ht().filter(n=>n!==t)].slice(0,ln);if(typeof window<"u")try{window.localStorage.setItem(cn,JSON.stringify(s))}catch{}return s}async function jo(e){const t=e.conversationId?.trim();if(t)return t;const s=e.projectRoot?.trim()||e.cwd?.trim(),n=await W("/api/conversations/direct",{method:"POST",body:JSON.stringify({agentId:e.id,targetLabel:e.selector??e.defaultSelector??e.name,...s?{projectPath:s}:{}})}),r=n.chatId?.trim()??n.conversationId?.trim()??n.cId?.trim()??n.id?.trim();if(!r)throw new Error("Chat was created, but no chat id was returned.");return r}function G(e){if(!e)return null;const t=e.replace(/\/+$/,""),s=t.lastIndexOf("/");return s>=0?t.slice(s+1):t}function Oe(e){const t=e?.trim();return t&&(t==="/private/tmp"||t.startsWith("/private/tmp/")?t.replace(/^\/private\/tmp/u,"/tmp"):t).replace(/\/+$/,"")||null}function dn(e){const t=e.replace(/\/+$/,""),s=t.lastIndexOf("/");return s>=0?t.slice(0,s)||"/":null}function Bt(e){return e.split(/[-_\s]+/).filter(Boolean).map(t=>t.slice(0,1).toUpperCase()+t.slice(1)).join(" ")}function fn(e){if(!e)return null;const t=So(e);if(t)return{title:Bt(G(t)??"Unscoped"),root:t};const s=G(e)?.trim().toLowerCase();if(!s||s==="~")return null;const r=s.match(/^(.+?)(?:-(?:parity|codex))?-c\d+$/)?.[1];if(!r)return null;const a=dn(e);return{title:Bt(r),root:a?`${a}/${r}`:r}}function So(e){const t=e.replace(/\/+$/,"");if(/^(?:~|\/Users\/[^/]+)\/\.codex\/worktrees\//u.test(t))return null;const s=t.match(/^(.*)\/([^/]+)-worktrees(?:\/[^/]+)+$/);return s?.[1]&&s[2]?`${s[1]}/${s[2]}`:t.match(/^(.*\/[^/]+)\/(?:\.worktrees|worktrees)(?:\/[^/]+)+$/)?.[1]??null}function Co(e){const s=G(e)?.match(/^(.+)-\d+$/u),n=dn(e);return s?.[1]&&n?`${n}/${s[1]}`:null}function ko(e){const t=e?.trim();if(!t)return null;const s=t.match(/^(\/Users\/[^/]+\/dev\/[^/]+)/);if(s?.[1])return s[1];const n=t.match(/^(~\/dev\/[^/]+)/);if(n?.[1])return n[1];const r=t.match(/\.claude\/projects\/-Users-([^-]+)-dev-([^/]+)/);if(r?.[1]&&r[2]){const a=r[2].split("-packages-")[0]??r[2];return`/Users/${r[1]}/dev/${a}`}return null}function Mo(e){const t=e.match(/^\/(?:Users|home)\/[^/]+(\/.*)?$/);if(!t)return e;const s=t[1]??"";return s?`~${s}`:"~"}function Yt(e){const t=Oe(e);if(!t)return null;const n=fn(t)?.root??Co(t)??t,a=Mo(ko(n)??n);return a==="~"||/^\/(Users|home)\/[^/]+$/.test(a)||/^\/(Users|home)$/.test(a)?null:a}function zt(e){return(e??"").toLowerCase().replace(/[^a-z0-9]+/g," ").trim().replace(/\s+\d+$/,"").replace(/\s+/g,"")}function Ao(e){return(e??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-\d+$/,"")}function Io(e){let t=2166136261;for(let s=0;s<e.length;s++)t^=e.charCodeAt(s),t=Math.imul(t,16777619);return(t>>>0).toString(36)}function Ds(e){const t=e.root??"";return t?Gt(t)?3:t.startsWith("~/dev/")||/^\/Users\/[^/]+\/dev\//.test(t)?0:t.startsWith("~/")?1:2:4}function No(e,t){return Ds(e)-Ds(t)||e.key.localeCompare(t.key)}function Eo(e){const t=new Map;for(const s of e){const n=t.get(s.slug)??[];n.push(s),t.set(s.slug,n)}for(const s of t.values()){if(s.length<=1)continue;const n=[...s].sort(No)[0];for(const r of s)r!==n&&(r.slug=`${r.slug}-${Io(r.key)}`)}}function Ro(e,t){const s=Yt(e);return s?`root:${s}`:`project:${zt(t)||"unscoped"}`}function Gt(e){return!!(e?.startsWith("/tmp/")||e?.startsWith("/private/tmp/")||e?.startsWith("/var/tmp/")||e?.startsWith("/private/var/tmp/")||/^\/(?:private\/)?var\/folders\/[^/]+\/[^/]+\/T\//.test(e??""))}function _s(e,t){const s=Yt(t),n=s?Bt(G(s)??(e?.trim()||"Unscoped")):e?.trim()||"Unscoped";return{key:Ro(s,n),title:n,root:s,slug:Ao(G(s)??n)||"unscoped"}}const To=new Set(["empty","unknown","unscoped","untitled","general"]);function Lo(e,t){e.agents.push(...t.agents),e.scoutSessions.push(...t.scoutSessions),e.nativeSessions.push(...t.nativeSessions),e.workflows.push(...t.workflows)}function Po(e){const t=new Map;for(const s of e.values()){if(!s.root)continue;const n=zt(G(s.root)??s.title);n&&!t.has(n)&&t.set(n,s)}for(const[s,n]of[...e.entries()]){if(n.root)continue;const r=zt(n.title),a=r?t.get(r):void 0;a?(Lo(a,n),e.delete(s)):(!r||To.has(n.title.trim().toLowerCase())||n.agents.length===0&&n.scoutSessions.length===0)&&e.delete(s)}}function Ba(e,t){if(t.filter(r=>r.name===e.name).length<=1)return{name:e.name,qualifier:null};const n=e.project??e.branch??e.id.replace(/^.*\./,"");return{name:e.name,qualifier:n}}function za(e){const t=[...e].filter(r=>r.kind==="direct"&&!!r.agentId).sort((r,a)=>(a.lastMessageAt??0)-(r.lastMessageAt??0)),s=new Map,n=new Map;for(const r of t){const a=n.get(r.agentId);(!a||$o(r,a))&&(s.set(r.agentId,r.id),n.set(r.agentId,r))}return{conversationByAgentId:s,sessionByAgentId:n}}function $o(e,t){const s=e.lastMessageAt??0,n=t.lastMessageAt??0;return s!==n?s>n:e.id<t.id}const ft={needs_attention:0,in_turn:1,in_flight:2,callable:3,blocked:4},Do=6e4;function Qe(e,t){const s=Oe(t),n=fn(s);return n?_s(n.title,n.root):_s(e,s)}function _o(e){const t=Oe(e.agent.projectRoot??e.agent.cwd),s=e.agent.project??e.project;return Qe(s,t)}function Oo(e){return Qe(e.project,e.cwd)}function Fo(e){return Qe(e.agentName??e.title,e.workspaceRoot)}function Uo(e){return Qe(e.project.title,e.project.root)}function wt(e){const t=e?.trim();if(!t)return null;const s=G(t)??t;return s.endsWith(".jsonl")?s.slice(0,-6):s}function Pe(e,t){const s=t?.trim();s&&e.add(s.toLowerCase());const n=wt(s);n&&e.add(n.toLowerCase())}function mn(e){const t=new Set;return Pe(t,e.agent.conversationId),Pe(t,e.agent.harnessSessionId),Pe(t,e.agent.harnessLogPath),Pe(t,e.session?.id),Pe(t,e.session?.harnessSessionId),Pe(t,e.session?.harnessLogPath),t}function De(e,t){const s=t?.trim();if(s&&e.has(s.toLowerCase()))return!0;const n=wt(s);return!!(n&&e.has(n.toLowerCase()))}function Ho(e,t){if(e.agentId&&e.agentId===t.agent.id)return!0;const s=mn(t);return De(s,e.id)||De(s,e.harnessSessionId)||De(s,e.harnessLogPath)}function Bo(e,t){const s=e?.command?.toLowerCase();return s?[t.agent.id,t.agent.selector?.replace(/^@/,"").replace(/\.node:.+$/,""),t.agent.defaultSelector?.replace(/^@/,"").replace(/\.node:.+$/,""),t.agent.harnessSessionId].filter(r=>!!(r&&r.length>=8)).some(r=>s.includes(r.toLowerCase())):!1}function zo(e,t){const s=mn(t);return De(s,e.refId)||De(s,e.sessionId)||De(s,e.transcriptPath)||Bo(e.process,t)}function Ga(e,t){if(!e)return[];const s=[];for(const n of e.transcripts??[]){const r=n.source||"unknown",a=wt(n.sessionId)??wt(n.transcriptPath);if(!a)continue;const u=(n.lastEventAt??n.mtimeMs)||null;s.push({key:`transcript:${n.transcriptPath}`,refId:a,source:r,project:n.project?.trim()||G(n.cwd)||G(n.transcriptPath)||"unknown",cwd:Oe(n.cwd),transcriptPath:n.transcriptPath,sessionId:n.sessionId,mtimeMs:n.mtimeMs,size:n.size,status:u&&t-u<=Do?"active":"idle",process:null,lastActivityAt:u})}for(const n of e.processes??[]){const r=n.source||"unknown",a=Oe(n.cwd);s.push({key:`process:${r}:${n.pid}`,refId:`pid-${n.pid}`,source:r,project:G(a)??"unknown",cwd:a,transcriptPath:null,sessionId:null,mtimeMs:null,size:null,status:"active",process:n,lastActivityAt:null})}return s.sort((n,r)=>{const a=(n.status==="active"?0:1)-(r.status==="active"?0:1);return a!==0?a:(r.lastActivityAt??0)-(n.lastActivityAt??0)||n.project.localeCompare(r.project)})}function Go(e){if(!e)return"—";const t=e.replace(/^session[_:-]?/i,"");return t.length>10?t.slice(0,8):t}function $e(e){const t=e?.trim();return t||void 0}function Wo(e){const t=$e(e.projectRoot)??$e(e.cwd);return{target:{agentId:e.id,...t?{projectPath:t}:{}},execution:{session:"new",...$e(e.harness)?{harness:$e(e.harness)}:{},...$e(e.model)?{model:$e(e.model)}:{}}}}function qo(e){if(e.length===0)return null;const t={working:0,needs_attention:1,queued:2,failed:3,completed:4},s=[...e].sort((n,r)=>{const a=t[n.status]-t[r.status];return a!==0?a:(r.updatedAt??0)-(n.updatedAt??0)})[0];return(s.summary??s.task??s.statusLabel??"").trim()||null}function Wa(e,t,s){const n=Vn(e.state,e),r=e.project??G(e.projectRoot)??"Unscoped",a=e.branch??"—",u=Ot(e.harness)??Ot(e.agentClass)??"agent";return{agent:e,status:n,stateLabel:Xn(e.state,e),project:r,branch:a,harness:u,session:t,activeTask:qo(s),activeAskCount:s.length,lastActivityAt:Math.max(0,t?.lastMessageAt??0,e.updatedAt??0)||null}}function Ko(e){return{...e,agents:[],scoutSessions:[],nativeSessions:[],workflows:[],status:"callable",lastActivityAt:null}}function mt(e,t){const s=e.get(t.key);if(s)return t.root&&(!s.root||Gt(s.root)&&!Gt(t.root))&&(s.root=t.root),s;const n=Ko(t);return e.set(t.key,n),n}function Jo(e){const t=e.agents.some(p=>p.status==="in_turn"||p.status==="in_flight"),s=e.nativeSessions.some(p=>p.status==="active"),n=e.workflows.some(p=>p.activeTaskCount>0||p.status==="running"),r=e.agents.some(p=>p.status==="callable");e.status=t||s||n?"in_turn":r?"callable":"blocked";const a=e.agents.map(p=>p.lastActivityAt??0),u=e.scoutSessions.map(p=>p.lastMessageAt??0),f=e.nativeSessions.map(p=>p.lastActivityAt??0),d=e.workflows.map(p=>p.lastActivityAt??0),b=Math.max(0,...a,...u,...f,...d);e.lastActivityAt=b||null}function Vo(e,t,s,n){const r=new Map,a=new Map;for(const d of e){const b=_o(d);mt(r,b).agents.push(d),a.set(d.agent.id,b.key)}for(const d of s)mt(r,Oo(d)).nativeSessions.push(d);for(const d of n)mt(r,Uo(d)).workflows.push(d);const u=new Map;for(const d of t){const b=d.agentId?a.get(d.agentId):void 0,p=b?r.get(b)??null:Yt(d.workspaceRoot)?mt(r,Fo(d)):null;if(!p)continue;const y=p,F=u.get(y.key)??new Set;F.has(d.id)||(F.add(d.id),u.set(y.key,F),y.scoutSessions.push(d))}Po(r);for(const d of r.values())d.agents.sort((b,p)=>{const y=ft[b.status]-ft[p.status];return y!==0?y:(p.lastActivityAt??0)-(b.lastActivityAt??0)||b.agent.name.localeCompare(p.agent.name)}),d.scoutSessions.sort((b,p)=>(p.lastMessageAt??0)-(b.lastMessageAt??0)),d.nativeSessions.sort((b,p)=>{const y=(b.status==="active"?0:1)-(p.status==="active"?0:1);return y!==0?y:(p.lastActivityAt??0)-(b.lastActivityAt??0)}),d.workflows.sort((b,p)=>{const y=(p.activeTaskCount>0?1:0)-(b.activeTaskCount>0?1:0);return y!==0?y:(p.lastActivityAt??0)-(b.lastActivityAt??0)||b.label.localeCompare(p.label)}),Jo(d);const f=[...r.values()];return Eo(f),f.sort((d,b)=>{const p=ft[d.status]-ft[b.status];return p!==0?p:(b.lastActivityAt??0)-(d.lastActivityAt??0)||d.title.localeCompare(b.title)})}function Os(e){const t=Ot(e.harness)??"scout";return{key:`scout:${e.id}`,kind:"scout",status:e.kind,harness:t,label:e.title||e.agentName||e.id,detail:e.preview??e.id,lastActivityAt:e.lastMessageAt,route:{view:"conversation",conversationId:e.id}}}function Fs(e){return{key:`native:${e.key}`,kind:"native",status:e.status,harness:e.source,label:Go(e.sessionId??e.refId),detail:e.transcriptPath??e.process?.command??e.cwd,lastActivityAt:e.lastActivityAt,route:e.sessionId||e.transcriptPath?{view:"sessions",sessionId:e.refId}:null}}function Xo(e,t){return e.agent.name.localeCompare(t.agent.name)||e.agent.id.localeCompare(t.agent.id)}function Us(e){const t={workflow:0,native:1,scout:2};return[...e].sort((s,n)=>{const r=t[s.kind]-t[n.kind];return r!==0?r:s.harness.localeCompare(n.harness)||s.key.localeCompare(n.key)})}function Yo(e){const t=new Set,s=new Set,n=[...e.agents].sort(Xo).map(a=>{const u=[];for(const f of e.scoutSessions)t.has(f.id)||Ho(f,a)&&(t.add(f.id),u.push(Os(f)));for(const f of e.nativeSessions)s.has(f.key)||zo(f,a)&&(s.add(f.key),u.push(Fs(f)));return{key:a.agent.id,row:a,sessions:Us(u)}}),r=Us([...e.nativeSessions.filter(a=>!s.has(a.key)).map(Fs),...e.scoutSessions.filter(a=>!t.has(a.id)).map(Os)]);return{agents:n,unassignedSessions:r}}const Qo=e=>e.status==="in_turn"||e.status==="in_flight";function Zo(e){let t=e.row.lastActivityAt??0;for(const s of e.sessions)t=Math.max(t,s.lastActivityAt??0);return t}function Hs(e){return e.agents.filter(t=>Qo(t.row)).length}function Bs(e){return e.agents.some(t=>t.row.activeAskCount>0)}function qa(e,t,s){const r=Vo(e,t,s,[]).map(a=>{const u=Yo(a);let f=0;for(const d of u.agents)f=Math.max(f,Zo(d));for(const d of u.unassignedSessions)f=Math.max(f,d.lastActivityAt??0);return{slice:a,agents:u.agents,unassigned:u.unassignedSessions,lastActivityAt:f}});return r.sort((a,u)=>{const f=Bs(a)?1:0,d=Bs(u)?1:0;if(f!==d)return d-f;const b=Hs(a),p=Hs(u);return b!==p?p-b:u.lastActivityAt-a.lastActivityAt}),r}function Ka(e,t){if(!t)return null;const s=t.trim().replace(/^@+/,"");if(!s)return null;const n=e.find(f=>f.id===s);if(n)return n;if(s.split(".").filter(Boolean).length>=3)return null;const a=e.filter(f=>f.handle===s||f.selector===`@${s}`||f.defaultSelector===`@${s}`||f.id.startsWith(`${s}.`)),u=Array.from(new Map(a.map(f=>[f.id,f])).values());return u.length===1?u[0]:null}function Ja(e){const s=e.replace(/[\\/]+$/,"").split(/[\\/]/).filter(Boolean);return s[s.length-1]??e}function Va(e){const t=Oe(e.projectRoot??e.cwd),s=e.project??G(t);return Qe(s,t)}function Ve(e){const t=e?.trim();return t?t.length>1?t.replace(/\/+$/u,""):t:null}function Wt(e){return e.split("/").filter(Boolean).at(-1)??e}function ea(e,t,s="claude"){const n=new Map;for(const r of e){const a=Ve(r.root);a&&n.set(a,{id:r.id||`project:${a}`,title:r.title?.trim()||Wt(a),root:a,defaultHarness:r.defaultHarness?.trim()||s,source:"inventory",registrationKind:r.registrationKind?.trim()||null})}for(const r of t){const a=Ve(r.projectRoot??r.cwd);!a||n.has(a)||n.set(a,{id:`agent-project:${a}`,title:r.project?.trim()||Wt(a),root:a,defaultHarness:r.harness?.trim()||s,source:"agent",registrationKind:null})}return[...n.values()].sort((r,a)=>r.title.localeCompare(a.title,void 0,{sensitivity:"base"})||r.root.localeCompare(a.root))}function ta(e,t){const s=e.title.toLocaleLowerCase(),n=e.root.toLocaleLowerCase(),r=Wt(e.root).toLocaleLowerCase();return s===t||r===t||n===t?0:s.startsWith(t)||r.startsWith(t)?1:n.startsWith(t)?2:t.split(/\s+/u).filter(Boolean).every(u=>s.includes(u)||n.includes(u))?3:null}function sa(e,t){if(t.length===0)return[...e];const s=new Map(e.map(a=>[a.root,a])),n=[],r=new Set;for(const a of t){const u=s.get(a);!u||r.has(a)||(r.add(a),n.push(u))}return[...n,...e.filter(a=>!r.has(a.root))]}function na(e,t){const s=t.trim().toLocaleLowerCase();return s?e.map(n=>({project:n,score:ta(n,s)})).filter(n=>n.score!==null).sort((n,r)=>n.score-r.score||n.project.title.localeCompare(r.project.title,void 0,{sensitivity:"base"})||n.project.root.localeCompare(r.project.root)).map(n=>n.project):[...e]}function ra(e,t){return e===t||e.startsWith(`${t}/`)}function oa(e,t){const s=Ve(t.preferredRoot);if(s){const r=e.find(a=>a.root===s);if(r)return r}for(const r of t.recentRoots??[]){const a=Ve(r);if(!a)continue;const u=e.find(f=>f.root===a);if(u)return u}const n=Ve(t.currentDirectory);if(n){const r=e.filter(a=>ra(n,a.root)).sort((a,u)=>u.root.length-a.root.length)[0];if(r)return r}return e[0]??null}async function aa(e){await W("/api/send",{method:"POST",body:JSON.stringify({conversationId:e.conversationId,body:e.body?.trim()??"",attachments:e.attachments})})}async function ia(e,t){const s=t?.attachments?.filter(Boolean)??[],n=t?.instructions?.trim(),r=Wo(e),a=n||s.length>0?{...r,seed:{...n?{instructions:n}:{},...s.length>0?{attachments:s}:{},...t?.clientMessageId?{clientMessageId:t.clientMessageId}:{}}}:r;return await W("/api/sessions",{method:"POST",body:JSON.stringify(a)})}async function ca(e){const t=e.projectPath.trim(),s=e.harness?.trim(),n=e.model?.trim(),r=e.reasoningEffort?.trim(),a=e.instructions?.trim(),u=e.fromMessageId?.trim(),f=e.fromConversationId?.trim(),d=e.attachments?.filter(Boolean)??[];return W("/api/sessions",{method:"POST",body:JSON.stringify({target:{projectPath:t},execution:{session:"new",...s?{harness:s}:{},...n?{model:n}:{},...r?{reasoningEffort:r}:{}},agent:{persistence:"one_time"},...a||d.length>0||u&&f?{seed:{...a?{instructions:a}:{},...d.length>0?{attachments:d}:{},...e.clientMessageId?{clientMessageId:e.clientMessageId}:{},...u&&f?{fromMessageId:u,fromConversationId:f}:{}}}:{}})})}async function Xa(e){return W("/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 Ya(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 Qa(e){const t=e.projectPath.trim(),s=e.sessionId.trim(),n=e.instructions.trim(),r=e.harness?.trim()||void 0,a=e.model?.trim()||void 0,u=e.reasoningEffort?.trim()||void 0;return W("/api/sessions",{method:"POST",body:JSON.stringify({target:{projectPath:t},execution:{session:"existing",targetSessionId:s,...r?{harness:r}:{},...a?{model:a}:{},...u?{reasoningEffort:u}:{}},seed:{instructions:n}})})}async function la(e,t){const s=t.message?.trim();if(t.mode==="existing-chat"){const a=await jo(e);return await aa({conversationId:a,body:s||"Shared capture",attachments:t.attachments}),{conversationId:a,agentId:e.id}}const n=await ia(e,{instructions:s||"Shared capture for context.",attachments:t.attachments}),r=n.conversationId?.trim();if(!r)throw new Error("Session started, but no conversation was returned.");return{conversationId:r,agentId:n.agentId?.trim()||e.id}}const hn=Ae.harnesses.map(e=>({id:e.id,label:e.label??e.id,description:null,state:null,ready:null,detail:null})),ua=Ae.models.map(e=>({id:e.id,label:e.label??e.id,description:e.description??null,harnesses:[...e.harnesses],source:"catalog"})),da=Ae.efforts.map(e=>({...e,harnesses:[...e.harnesses],...e.models?{models:[...e.models]}:{}})),ht={defaults:{harness:Ae.defaults?.harness??"claude",model:Ae.defaults?.model??null,reasoningEffort:Ae.defaults?.reasoningEffort??"medium"},defaultsByHarness:Ae.defaultsByHarness,harnesses:hn,models:ua,efforts:da};let Dt=null;const zs=5;function fa(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 ma(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 ha(e){return URL.createObjectURL(e)}function _t(e){return e.replace(/^\/Users\/[^/]+/u,"~")}function pa(e){return e.split("/").filter(Boolean).at(-1)??e}function ga(e){const t=e.trim();return t.startsWith("/")||t.startsWith("~/")}function wa({file:e,onRemove:t}){const s=l.useMemo(()=>ha(e),[e]);l.useEffect(()=>()=>URL.revokeObjectURL(s),[s]);const n=e.type.startsWith("video/"),r=e.type.startsWith("image/");return i.jsxs("div",{className:"s-newchat-attachment",children:[n?i.jsx("video",{src:s,muted:!0,playsInline:!0}):r?i.jsx("img",{src:s,alt:e.name}):i.jsxs("div",{className:"s-newchat-attachment-file",title:e.name,children:[i.jsx(nr,{size:24,"aria-hidden":"true"}),i.jsx("span",{children:e.name})]}),i.jsx("span",{className:"s-newchat-attachment-badge",children:n?"video":r?"image":"file"}),i.jsx("button",{type:"button",className:"s-newchat-attachment-remove","aria-label":`Remove ${e.name}`,onClick:t,children:"×"})]})}function pt(){return{width:window.innerWidth,height:window.innerHeight}}function ba({agents:e,route:t,navigate:s,onClose:n,initialAgentId:r,initialConversationId:a,initialMessage:u,initialFiles:f,initialAttachmentFeedback:d,initialIntent:b="new-task",initialProjectPath:p,initialForwardContext:y,initialForwardContextMode:F="selected-message",defaultMode:X,draftRestored:Y=!1,onDraftChange:Ze,onDraftConsumed:et}){const C=l.useMemo(()=>Ar(t,e),[t,e]),k=b==="forward-message"&&!!y,fe=l.useMemo(()=>[...e].sort((o,c)=>(c.updatedAt??0)-(o.updatedAt??0)),[e]),me=b==="route-capture"?r??C.agentId??null:null,he=b==="route-capture"?a??C.conversationId:null,A=fe.find(o=>o.id===me)??null,Se=A?.projectRoot??A?.cwd??null,[P,Fe]=l.useState(null),[D,re]=l.useState(Dt),[Ue,Q]=l.useState(null),[$,Z]=l.useState(null),[N,pe]=l.useState(()=>p||Se||""),[R,T]=l.useState(""),[oe,E]=l.useState(0),[ge,tt]=l.useState(()=>Ht()),[Ee,U]=l.useState(!1),[He,we]=l.useState(null),[I,be]=l.useState(()=>u??""),[H,m]=l.useState(F),[w,j]=l.useState({open:!1,query:"",triggerStart:-1,index:0}),[x,L]=l.useState({open:!1,query:"",triggerStart:-1,index:0}),[B,Be]=l.useState(()=>[...f??[]]),[ae,ve]=l.useState(()=>X||(he?"existing-chat":"new-session")),[pn,Qt]=l.useState("idle"),[gn,vt]=l.useState("idle"),[Zt,Ce]=l.useState(null),[st,es]=l.useState(()=>d??null),[ze]=l.useState(()=>{if(typeof window>"u")return{title:"",url:"",selection:""};const o=document.activeElement,c=o instanceof HTMLInputElement||o instanceof HTMLTextAreaElement;return{title:document.title,url:window.location.href,selection:c?"":on(window.getSelection()?.toString()??"")}}),[yt,wn]=l.useState(!1),[ie,ts]=l.useState(()=>A?.harness?.trim()||ht.defaults.harness),[nt,ss]=l.useState(()=>A?.model?.trim()||ht.defaults.model||""),[rt,ns]=l.useState(ht.defaults.reasoningEffort||""),[xt,rs]=l.useState(()=>Y?"Restored your unsent draft.":null),[bn,jt]=l.useState(0),{ref:St,onKeyDown:vn}=Zn(!0),_=l.useRef(null),Ct=l.useRef(null),ke=l.useRef(0),ot=l.useRef(!!p),os=l.useRef(!1),[ee,Re]=l.useState(null),[yn,kt]=l.useState(null),Ge=l.useRef(null);l.useEffect(()=>{typeof window>"u"||Re(ks(null,As(),pt()))},[]),l.useEffect(()=>{if(typeof window>"u")return;const o=()=>{Re(c=>{const g=pt();return ks(c,c?null:As(),g)})};return window.addEventListener("resize",o),()=>window.removeEventListener("resize",o)},[]);const xn=l.useCallback(()=>{if(ee)return ee;const o=St.current;if(!o)return null;const c=o.getBoundingClientRect();return{x:Math.round(c.left),y:Math.round(c.top),width:Math.round(c.width),height:Math.round(c.height)}},[ee,St]),jn=(o,c)=>{if(typeof window>"u"||o.button!==0||!en(window.innerWidth)||!c&&o.target?.closest("button"))return;const g=xn();g&&(o.preventDefault(),o.currentTarget.setPointerCapture(o.pointerId),Ge.current={base:g,x:o.clientX,y:o.clientY,edge:c},kt(c?"resize":"move"),Re(bt(g,pt())))},Sn=o=>{const c=Ge.current;if(!c)return;const g=o.clientX-c.x,h=o.clientY-c.y,v=pt();Re(c.edge?Xr(c.base,g,h,c.edge,v):Vr(c.base,g,h,v))},as=o=>{if(Ge.current){Ge.current=null,kt(null);try{o.currentTarget.releasePointerCapture(o.pointerId)}catch{}Re(c=>(c&&Is(c),c))}},Cn=()=>{Ge.current=null,kt(null),Re(null),Is(null)},at=o=>({onPointerDown:c=>jn(c,o),onPointerMove:Sn,onPointerUp:as,onPointerCancel:as}),is=Jr(ee),kn=ee?{position:"absolute",left:ee.x,top:ee.y,width:ee.width,height:ee.height,maxWidth:"none",maxHeight:"none",...is?{"--s-newchat-input-min":`${is}px`}:{}}:void 0,te=l.useMemo(()=>sa(ea(P?.projects??[],e,P?.context.defaultHarness??"claude"),ge),[e,P,ge]),M=te.find(o=>o.root===N)??null??(N?{id:`direct:${N}`,title:pa(N),root:N,defaultHarness:P?.context.defaultHarness??A?.harness??"claude",source:"agent",registrationKind:null}:null),Mt=l.useMemo(()=>{const o=new Set,c=M?fe.filter(h=>h.projectRoot?.trim()===M.root||h.cwd?.trim()===M.root):[];return(c.length>0?c:fe).flatMap(h=>{if(h.retiredFromFleet)return[];const v=h.handle?.trim().replace(/^@+/,"")||Wn(h.id)||"",K=v.toLowerCase();return!v||o.has(K)?[]:(o.add(K),[{id:h.id,label:v,name:h.name||v,handle:v}])})},[M,fe]),se=(D?.harnesses??hn).find(o=>o.id===ie)??null,Te=!D&&!$,cs=l.useMemo(()=>{const o=Zs(D??ht);return ie&&!o.harnesses.some(c=>c.value===ie)?{...o,harnesses:[...o.harnesses,{value:ie,label:ie,models:[{value:"",label:"Default",note:"harness picks"}]}]}:o},[D,ie]),We=l.useMemo(()=>na(te,R),[R,te]),ne=l.useMemo(()=>{const o=We.slice(0,zs);if(!N||o.some(g=>g.root===N))return o;const c=We.find(g=>g.root===N);return c?[c,...o.slice(0,zs-1)]:o},[We,N]),ye=ga(R)&&!te.some(o=>o.root===R.trim())?R.trim():null,it=ne.length+(ye?1:0),Mn=Math.max(0,(R.trim()?We.length:te.length)-ne.length),An=!!(A&&M&&[A.projectRoot,A.cwd].some(o=>o?.trim()===M.root)),q=B.length>0,S=pn==="starting",ls=bn>0,ct=An&&!!(A?.conversationId||he),xe=!q||!ct||ae==="new-session",us=xe&&(Te||se?.ready===!1),ds=k?"Forward to new task":q?"Route capture":"New task",fs=l.useMemo(()=>k?[]:go({pageTitle:ze.title,pageUrl:ze.url,selection:yt?ze.selection:void 0}),[yt,k,ze]),ce=k&&y?xo(y,H,I):wo(I,fs),In=gn==="uploading"?"Uploading capture":k?"Forwarding to new task":q?"Routing capture":"Sending message",Nn=q?`Submitted to ${M?.title??A?.name??"Scout"}. Opening the chat when the broker returns it.`:ce?`Routing your first message through /${M?.title??A?.name??"project"}.`:`Starting a project-routed chat in /${M?.title??A?.name??"project"}.`,ms=q&&ct,En=xe&&(Te||!!$||se?.ready===!1),Rn=ms||!k&&En,le=l.useMemo(()=>{if(!w.open)return[];const o=w.query.toLowerCase();return o?vs.filter(c=>c.command.toLowerCase().startsWith(`/${o}`)||c.command.toLowerCase().includes(o)):vs},[w.open,w.query]),ue=l.useMemo(()=>{if(!x.open)return[];const o=x.query.toLowerCase();return o?Mt.filter(c=>c.handle.toLowerCase().includes(o)||c.name.toLowerCase().includes(o)||c.label.toLowerCase().includes(o)).slice(0,8):Mt.slice(0,8)},[Mt,x.open,x.query]),At=l.useCallback(()=>{j(o=>o.open?{...o,open:!1}:o),L(o=>o.open?{...o,open:!1}:o)},[]),qe=l.useCallback((o,c)=>{const g=qn(o,c);j(v=>g?{open:!0,query:g.query,triggerStart:g.start,index:v.open&&v.triggerStart===g.start?v.index:0}:v.open?{...v,open:!1}:v);const h=Kn(o,c);L(v=>h?{open:!0,query:h.query,triggerStart:h.start,index:v.open&&v.triggerStart===h.start?v.index:0}:v.open?{...v,open:!1}:v)},[]),Tn=l.useCallback((o,c)=>{be(o),qe(o,c?.caret??o.length)},[qe]),It=l.useCallback(o=>{const c=w.triggerStart;if(c<0)return;const g=_.current?.selectionStart??I.length,h=I.slice(0,c),v=I.slice(g),K=`${h}${o.insert}${v}`;be(K),j(J=>({...J,open:!1})),requestAnimationFrame(()=>{const J=_.current;if(!J)return;const O=h.length+o.insert.length;J.focus(),J.setSelectionRange(O,O)})},[I,w.triggerStart]),Nt=l.useCallback(o=>{const c=x.triggerStart;if(c<0)return;const g=_.current?.selectionStart??I.length,h=I.slice(0,c),v=I.slice(g),K=`@${o.handle}${v.length===0||!v.startsWith(" ")?" ":""}`,J=`${h}${K}${v}`;be(J),L(O=>({...O,open:!1})),requestAnimationFrame(()=>{const O=_.current;if(!O)return;const Le=h.length+K.length;O.focus(),O.setSelectionRange(Le,Le)})},[x.triggerStart,I]),hs=l.useCallback(o=>{if(S)return;const g=_.current?.selectionStart??I.length,h=I.slice(0,g),v=I.slice(g),J=`${h&&!/\s$/.test(h)?" ":""}${o}`,O=`${h}${J}${v}`,Le=h.length+J.length;be(O),qe(O,Le),requestAnimationFrame(()=>{const Rt=_.current;Rt&&(Rt.focus(),Rt.setSelectionRange(Le,Le))})},[S,I,qe]),Ln=l.useCallback(o=>{const c=w.open&&le.length>0,g=x.open&&ue.length>0;if(!c&&!g)return!1;if(o.key==="ArrowDown")return c?j(h=>({...h,index:(h.index+1)%le.length})):L(h=>({...h,index:(h.index+1)%ue.length})),!0;if(o.key==="ArrowUp")return c?j(h=>({...h,index:(h.index-1+le.length)%le.length})):L(h=>({...h,index:(h.index-1+ue.length)%ue.length})),!0;if(o.key==="Escape")return At(),!0;if((o.key==="Enter"||o.key==="Tab")&&!o.shiftKey&&!o.metaKey&&!o.ctrlKey&&!o.altKey){if(c){const h=le[w.index]??le[0];h&&It(h)}else{const h=ue[x.index]??ue[0];h&&Nt(h)}return!0}return!1},[Nt,It,At,ue,le,x.index,x.open,w.index,w.open]),Et=l.useCallback(()=>{S||n()},[S,n]),Pn=l.useCallback(()=>{rs("Draft kept open. Use Esc or × when you are ready to close it."),requestAnimationFrame(()=>_.current?.focus())},[]);l.useEffect(()=>{const o=c=>{c.key==="Escape"&&(c.preventDefault(),Et())};return window.addEventListener("keydown",o),()=>window.removeEventListener("keydown",o)},[Et]),l.useEffect(()=>{if(!xt)return;const o=window.setTimeout(()=>rs(null),5e3);return()=>window.clearTimeout(o)},[xt]),l.useEffect(()=>{_.current?.focus()},[]),l.useEffect(()=>{let o=!1;return W("/api/agent-config/snapshot").then(c=>{o||(Fe(c),Q(null))}).catch(c=>{o||Q(c instanceof Error?c.message:"Could not load projects.")}),()=>{o=!0}},[]);const lt=l.useCallback(()=>{W("/api/runner/options").then(o=>{Dt=o,re(o),Z(null)}).catch(()=>{Dt||Z("Model catalog unavailable. Harness defaults are still available.")})},[]);l.useEffect(()=>{lt()},[lt]),l.useEffect(()=>{if(ot.current||te.length===0)return;const o=oa(te,{preferredRoot:Se,currentDirectory:P?.context.currentDirectory,recentRoots:ge});o&&pe(o.root)},[P?.context.currentDirectory,Se,te,ge]),l.useEffect(()=>{if(os.current)return;const o=M?.defaultHarness?.trim()||A?.harness?.trim()||D?.defaults.harness||"claude";if(ts(o),!D)return;const c=A?.model?.trim()??"",g=D.models.some(h=>h.id===c&&h.harnesses.includes(o));ss(g?c:fa(D,o)),ns(ma(D,o))},[A?.harness,A?.model,D,M?.defaultHarness,M?.root]),l.useLayoutEffect(()=>{Ze?.({intent:b,...me?{agentId:me}:{},...he?{conversationId:he}:{},message:I,files:B,attachmentFeedback:st,mode:ae,projectPath:N,projectQuery:R,...k&&y?{forwardContext:y}:{},forwardContextMode:H})},[st,B,H,y,b,k,I,ae,Ze,N,R,me,he,M?.title]);const ps=l.useCallback((o,c="Added")=>{if(S)return;const g=o.filter(Xe),h=o.filter(v=>!Xe(v));if(g.length>0&&(Be(v=>[...v,...g]),es(g.length===1?`${c} ${g[0]?.name??"1 attachment"}.`:`${c} ${g.length} attachments.`)),h.length>0){const v=h.length===1?h[0]?.name??"That file":`${h.length} files`;Ce(`${v} ${h.length===1?"is":"are"} not supported. Attach markdown, code, an image, or a video clip.`)}else g.length>0&&Ce(null)},[S]),ut=l.useCallback((o,c)=>{const g=Ys(o);if(g.length===0){Ce("Scout could not read that file. Try dropping or pasting it again.");return}ps(g,c)},[ps]),$n=l.useCallback(o=>{S||!dt(o.dataTransfer)||(o.preventDefault(),o.stopPropagation(),ke.current+=1,jt(ke.current))},[S]),Dn=l.useCallback(o=>{S||!dt(o.dataTransfer)||(o.preventDefault(),o.stopPropagation(),o.dataTransfer.dropEffect="copy")},[S]),_n=l.useCallback(o=>{ke.current!==0&&(o.preventDefault(),o.stopPropagation(),ke.current=Math.max(0,ke.current-1),jt(ke.current))},[]),On=l.useCallback(o=>{dt(o.dataTransfer)&&(o.preventDefault(),o.stopPropagation(),ke.current=0,jt(0),ut(o.dataTransfer,"Added"))},[ut]),Fn=l.useCallback(o=>{S||!dt(o.clipboardData)||(o.preventDefault(),o.stopPropagation(),ut(o.clipboardData,"Pasted"))},[ut,S]),gs=o=>{ot.current=!0,tt($s(o.root)),pe(o.root),T(""),E(0),U(!1),we(null),requestAnimationFrame(()=>_.current?.focus())},ws=o=>{const c=o.trim();c&&(ot.current=!0,tt($s(c)),pe(c),T(""),E(0),U(!1),we(null),requestAnimationFrame(()=>_.current?.focus()))},Un=()=>{ot.current=!0,pe(""),T(""),E(0),U(!1),we(null),requestAnimationFrame(()=>_.current?.focus())},Hn=o=>{if(o.key==="ArrowDown"||o.key==="ArrowUp"){o.preventDefault(),E(c=>{if(it===0)return 0;const g=o.key==="ArrowDown"?1:-1;return(c+g+it)%it});return}if(o.key==="Enter"){o.preventDefault();const c=ne[oe];c?gs(c):ye&&oe===ne.length&&ws(ye);return}o.key==="Escape"&&Ee&&R&&(o.preventDefault(),o.stopPropagation(),T(""),E(0))},bs=o=>{os.current=!0,ts(o.harness),ss(o.model),ns(o.effort)},Bn=async()=>{if(S)return;if(k&&!ce){Ce("Add instructions, or choose a context option that includes the source message."),requestAnimationFrame(()=>_.current?.focus());return}if(!M){Ce(null),we("Choose a project before starting this task."),U(!0),requestAnimationFrame(()=>Ct.current?.focus());return}if(us)return;Qt("starting"),vt(B.length>0?"uploading":"starting"),Ce(null);const o=fo(),c=Date.now();try{let g=[];if(B.length>0&&(g=await kr(B),vt("starting")),q&&A&&ct&&ae==="existing-chat"){const O=await la(A,{mode:ae==="existing-chat"&&ct?"existing-chat":"new-session",message:ce,attachments:g});be(""),Be([]),es(null),s({view:"agents-v2",agentId:O.agentId,conversationId:O.conversationId,tab:"message"}),et?.(),n();return}const h=await ca({projectPath:M.root,harness:ie,...nt?{model:nt}:{},...rt?{reasoningEffort:rt}:{},...ce?{instructions:ce}:q?{instructions:"Shared capture for context."}:{},...g.length>0?{attachments:g}:{},...k&&y?{fromMessageId:y.selectedMessageId,fromConversationId:y.sourceConversationId}:{},clientMessageId:o}),v=h.conversationId?.trim();if(!v)throw new Error("Message sent, but no Chat was returned.");const K=h.messageId?.trim();K&&mo({conversationId:v,messageId:K,clientMessageId:o,body:ce||(g.length>0?"Shared capture for context.":"New session started."),attachments:g,agentId:h.agentId,flightId:h.flightId,invocationId:h.invocationId,createdAt:c}),be(""),s({view:"conversation",conversationId:v}),et?.(),n()}catch(g){Ce(g instanceof Error?g.message:q?"Could not route capture.":"Could not send message."),Qt("idle"),vt("idle")}};return i.jsx("div",{className:"s-newchat-backdrop",onClick:Pn,onDragEnter:$n,onDragOver:Dn,onDragLeave:_n,onDrop:On,onPaste:Fn,role:"presentation",children:i.jsxs("div",{ref:St,className:`s-newchat-panel${S?" s-newchat-panel--starting":""}${ls?" s-newchat-panel--dragging":""}`,style:kn,"data-framed":ee?"true":void 0,"data-gesture":yn??void 0,role:"dialog","aria-modal":"true","aria-label":ds,onClick:o=>o.stopPropagation(),onKeyDown:vn,tabIndex:-1,children:[i.jsxs("header",{className:"s-newchat-head",title:"Drag to move · double-click to recenter",onDoubleClick:Cn,...at(null),children:[i.jsx("span",{className:"s-newchat-title",children:ds}),i.jsx("div",{className:"s-newchat-head-status",children:i.jsx("span",{role:"status","aria-live":"polite",children:xt})}),i.jsx("button",{type:"button",className:"s-newchat-close",onClick:Et,disabled:S,"aria-label":"Close (Esc)",title:"Close (Esc)",children:i.jsx(er,{size:14,"aria-hidden":"true"})})]}),ls?i.jsx("div",{className:"s-newchat-drop-prompt",role:"status","aria-live":"polite",children:"Drop to attach markdown, code, images, or video"}):null,i.jsxs("div",{className:"s-newchat-body",children:[i.jsxs("div",{className:"s-newchat-lead",children:[k?i.jsx("p",{className:"s-newchat-forward-intro",children:"Choose the destination, runtime, and visible Scout context to carry into a fresh task."}):null,i.jsx(Qn,{context:fs,selection:ze.selection,attached:yt,onToggleSelection:()=>wn(o=>!o)}),i.jsxs("div",{className:"s-newchat-project-bar",children:[i.jsx("span",{className:"label-md s-newchat-project-label",children:"Project"}),i.jsxs("button",{type:"button",className:"s-newchat-project-summary","data-empty":M?void 0:"true","aria-expanded":Ee,"aria-controls":"s-newchat-project-panel","aria-describedby":He?"s-newchat-project-reminder":void 0,disabled:S,onClick:()=>{const o=!Ee;U(o),requestAnimationFrame(o?()=>Ct.current?.focus():()=>_.current?.focus())},children:[i.jsx("span",{className:"s-newchat-project-summary-title",children:M?`/${M.title}`:"Choose a project"}),M?i.jsx("span",{className:"s-newchat-project-summary-path",title:M.root,children:_t(M.root)}):i.jsx("span",{className:"s-newchat-project-summary-path",children:"Required when you send"}),i.jsx(tr,{size:13,"aria-hidden":"true"})]})]}),He?i.jsx("p",{id:"s-newchat-project-reminder",className:"s-newchat-project-reminder",role:"alert",children:He}):null,Ee?i.jsxs("div",{id:"s-newchat-project-panel",className:"s-newchat-project-panel",children:[i.jsxs("div",{className:"s-newchat-project-picker",children:[i.jsx(sr,{size:13,"aria-hidden":"true",className:"s-newchat-project-search-icon"}),i.jsx("input",{ref:Ct,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":it>0?`s-newchat-project-option-${oe}`:void 0,value:R,placeholder:P?"Filter projects, or type a path…":"Loading projects…",disabled:S,spellCheck:!1,autoComplete:"off",onChange:o=>{T(o.currentTarget.value),E(0)},onKeyDown:Hn})]}),i.jsxs("div",{id:"s-newchat-project-results",className:"s-newchat-project-results",role:"listbox","aria-label":"Projects",children:[ne.map((o,c)=>i.jsxs("div",{id:`s-newchat-project-option-${c}`,role:"option","aria-selected":o.root===N,"aria-disabled":S||void 0,className:"s-newchat-project-option","data-active":c===oe||void 0,onMouseDown:g=>g.preventDefault(),onMouseEnter:()=>E(c),onClick:()=>{S||gs(o)},children:[i.jsxs("span",{className:"s-newchat-project-option-title",children:["/",o.title]}),i.jsx("span",{className:"s-newchat-project-option-path",children:_t(o.root)})]},o.root)),ye?i.jsxs("div",{id:`s-newchat-project-option-${ne.length}`,role:"option","aria-selected":ye===N,"aria-disabled":S||void 0,className:"s-newchat-project-option s-newchat-project-option--path","data-active":oe===ne.length||void 0,onMouseDown:o=>o.preventDefault(),onMouseEnter:()=>E(ne.length),onClick:()=>{S||ws(ye)},children:[i.jsx("span",{className:"s-newchat-project-option-title",children:"Use this project path"}),i.jsx("span",{className:"s-newchat-project-option-path",children:_t(ye)})]}):null,ne.length===0&&!ye?i.jsx("p",{className:"s-newchat-project-empty",children:"No project matched. Type an absolute path such as ~/dev/my-project."}):null]}),i.jsxs("div",{className:"s-newchat-project-panel-foot",children:[Mn>0?i.jsxs("p",{className:"s-newchat-project-foot",children:[ne.length," of"," ",R.trim()?We.length:te.length,R.trim()?" matches":" projects"," · type to narrow"]}):i.jsx("span",{}),M?i.jsx("button",{type:"button",className:"s-newchat-project-clear",onClick:Un,children:"Clear project"}):null]}),Ue&&te.length===0?i.jsx("div",{className:"s-newchat-error",role:"alert",children:Ue}):null]}):null,k&&y?i.jsxs("div",{className:"s-newchat-forward-config",children:[i.jsxs("div",{className:"s-newchat-field",children:[i.jsx("span",{className:"label-md s-newchat-field-label",children:"Runtime"}),i.jsx("div",{className:"s-newchat-forward-runtime",children:i.jsx(js,{catalog:cs,value:{harness:ie,model:nt,effort:rt},onChange:bs,status:Te?"loading":$?"error":"ready",statusMessage:$??void 0,onRetry:lt,disabled:S||!xe})}),xe&&Te?i.jsxs("p",{className:"s-newchat-runtime-note","data-pending":"true",role:"status",children:[i.jsx(Tt,{size:11,className:"s-newchat-runtime-note-spinner","aria-hidden":"true"}),"Loading the model catalog…"]}):xe&&($||se?.ready===!1)?i.jsx("p",{className:"s-newchat-runtime-note",role:"alert",children:se?.ready===!1?se.detail||`${se.label} is unavailable.`:$}):null]}),i.jsxs("div",{className:"s-newchat-field",children:[i.jsx("span",{id:"s-newchat-forward-context-label",className:"label-md s-newchat-field-label",children:"Context"}),i.jsxs("div",{className:"s-newchat-context-options",role:"radiogroup","aria-labelledby":"s-newchat-forward-context-label",children:[i.jsxs("button",{type:"button",className:"s-newchat-context-option",role:"radio","aria-checked":H==="selected-message",disabled:S,onClick:()=>m("selected-message"),children:[i.jsx("span",{className:"s-newchat-context-option-title",children:"Selected message"}),i.jsx("span",{className:"s-newchat-context-option-copy",children:"Carry only the message you chose."})]}),i.jsxs("button",{type:"button",className:"s-newchat-context-option",role:"radio","aria-checked":H==="recent-context",disabled:S||y.recentMessageCount===0,onClick:()=>m("recent-context"),children:[i.jsx("span",{className:"s-newchat-context-option-title",children:"Recent context + message"}),i.jsx("span",{className:"s-newchat-context-option-copy",children:y.recentMessageCount>0?`Carry ${y.recentMessageCount} preceding visible ${y.recentMessageCount===1?"message":"messages"}, then this message.`:"No preceding visible messages are available."})]}),i.jsxs("button",{type:"button",className:"s-newchat-context-option",role:"radio","aria-checked":H==="instructions-only",disabled:S,onClick:()=>m("instructions-only"),children:[i.jsx("span",{className:"s-newchat-context-option-title",children:"Instructions only"}),i.jsx("span",{className:"s-newchat-context-option-copy",children:"Start clean without source conversation text."})]})]}),i.jsx("p",{className:"s-newchat-context-note",children:"Recent context is a bounded Scout excerpt, not a generated summary or full model context."})]})]}):null,k?i.jsx("span",{className:"label-md s-newchat-field-label",children:"Instructions"}):null,i.jsx(zn,{density:"panel",value:I,onChange:Tn,onSend:()=>{Bn()},sendOnEnter:!0,textareaRef:_,placeholder:k?"Add what the new task should do (optional)…":q?"What should the agent do with this?":"Describe the task, or leave blank…","aria-label":k?"Instructions for the new task":"Message",disabled:S,sending:S,canSend:!S&&!us&&(!k||!!ce),rows:7,maxHeightPx:280,sendTitle:k?"Forward to new task (Enter)":q?"Route (Enter)":"Start task (Enter)",sendAriaLabel:k?"Forward to new task":q?"Route capture":"Start task",overlay:i.jsxs(i.Fragment,{children:[w.open?i.jsx(xs,{label:"Slash commands",placement:"inside",items:le.map(o=>({id:o.command,token:o.label,description:o.description})),activeIndex:w.index,onPick:o=>{const c=le[o];c&&It(c)},onActiveIndexChange:o=>j(c=>({...c,index:o}))}):null,x.open?i.jsx(xs,{label:"Mention agent",placement:"inside",items:ue.map(o=>({id:o.id,token:`@${o.handle}`,description:o.name,avatar:{label:o.name[0]?.toUpperCase()??"?",color:Yn(o.name)}})),activeIndex:x.index,onPick:o=>{const c=ue[o];c&&Nt(c)},onActiveIndexChange:o=>L(c=>({...c,index:o}))}):null]}),onSelect:o=>{const c=o.currentTarget;qe(c.value,c.selectionStart)},onBlur:()=>window.setTimeout(At,120),onKeyDown:Ln,leadingTools:i.jsxs("div",{className:"s-newchat-compose-triggers","aria-label":"Message shortcuts",children:[i.jsx("button",{type:"button",className:"s-newchat-command-trigger",disabled:S,onClick:()=>hs("/"),children:"/Commands"}),i.jsx("span",{"aria-hidden":"true",children:"·"}),i.jsx("button",{type:"button",className:"s-newchat-command-trigger",disabled:S,onClick:()=>hs("@"),children:"@Agents"})]}),tools:k?void 0:i.jsx(js,{catalog:cs,value:{harness:ie,model:nt,effort:rt},onChange:bs,status:Te?"loading":$?"error":"ready",statusMessage:$??void 0,onRetry:lt,disabled:S||!xe})}),B.length>0?i.jsx("div",{className:"s-newchat-attachments","aria-label":"Attached captures",children:B.map((o,c)=>i.jsx(wa,{file:o,onRemove:()=>Be(g=>g.filter((h,v)=>v!==c))},`${o.name}:${o.size}:${c}`))}):null,st?i.jsx("div",{className:"s-newchat-attachment-feedback",role:"status","aria-live":"polite",children:st}):null,Zt&&i.jsx("div",{className:"s-newchat-error",role:"alert",children:Zt}),S&&i.jsxs("div",{className:"s-newchat-progress",role:"status","aria-live":"polite",children:[i.jsx(Tt,{size:14,className:"s-newchat-progress-spinner","aria-hidden":"true"}),i.jsxs("div",{className:"s-newchat-progress-copy",children:[i.jsx("span",{className:"label-md s-newchat-progress-title",children:In}),i.jsx("span",{className:"s-newchat-progress-detail",children:Nn}),ce&&i.jsx("span",{className:"s-newchat-progress-message",children:ce})]})]})]}),Rn?i.jsxs("div",{className:"s-newchat-config",children:[ms?i.jsxs("div",{className:"s-newchat-mode",role:"group","aria-label":"Delivery mode",children:[i.jsx("button",{type:"button",className:`s-newchat-mode-btn${ae==="existing-chat"?" s-newchat-mode-btn--on":""}`,disabled:S,onClick:()=>ve("existing-chat"),children:"Existing chat"}),i.jsx("button",{type:"button",className:`s-newchat-mode-btn${ae==="new-session"?" s-newchat-mode-btn--on":""}`,disabled:S,onClick:()=>ve("new-session"),children:"New chat"})]}):null,xe&&Te?i.jsxs("p",{className:"s-newchat-runtime-note","data-pending":"true",role:"status",children:[i.jsx(Tt,{size:11,className:"s-newchat-runtime-note-spinner","aria-hidden":"true"}),"Loading the model catalog…"]}):xe&&($||se?.ready===!1)?i.jsx("p",{className:"s-newchat-runtime-note",role:"alert",children:se?.ready===!1?se.detail||`${se.label} is unavailable.`:$}):null]}):null]}),i.jsx("div",{className:"s-newchat-resize s-newchat-resize--e","aria-hidden":"true",title:"Drag to resize",...at("e")}),i.jsx("div",{className:"s-newchat-resize s-newchat-resize--s","aria-hidden":"true",title:"Drag to resize",...at("s")}),i.jsx("div",{className:"s-newchat-resize s-newchat-resize--se","aria-hidden":"true",title:"Drag to resize",...at("se")})]})})}const Za=Object.freeze(Object.defineProperty({__proto__:null,NewChatComposer:ba},Symbol.toStringTag,{value:"Module"}));export{Me as A,js as B,Xe as C,$a as D,dt as E,jr as F,Ya as G,Xa as H,Qa as I,Ar as J,Ys as K,Za as L,xs as M,ba as N,Ae as R,Va as a,Ba as b,Wa as c,za as d,Ga as e,qa as f,Hs as g,jo as h,Bs as i,Qo as j,Ie as k,Fa as l,co as m,Wo as n,rn as o,Ja as p,lo as q,Ka as r,_a as s,Ua as t,Oa as u,Ha as v,Xt as w,fo as x,kr as y,Da as z};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e}from"./index-
|
|
1
|
+
import{j as e}from"./index-Bli6bTLU.js";function c({context:l,selection:a,attached:n,onToggleSelection:i}){return l.length===0?null:e.jsxs("div",{className:"s-newchat-origin",children:[e.jsx("span",{className:"label-md s-newchat-origin-label",children:"From"}),e.jsx("dl",{className:"s-newchat-origin-facts",children:l.map(s=>e.jsxs("div",{className:"s-newchat-origin-fact",children:[e.jsx("dt",{children:s.label}),e.jsx("dd",{title:s.value,children:s.value})]},s.label))}),a?e.jsx("button",{type:"button",className:"s-newchat-origin-attach","aria-pressed":n,onClick:i,children:n?"Remove selection":`Attach selection (${a.length} chars)`}):null]})}export{c as NewChatOrigin};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as o,j as e}from"./index-Bli6bTLU.js";import{a as v}from"./api-DEHEgJ9m.js";import{d as b,S as u}from"./SessionObserve-zAlFbwFn.js";import{u as h}from"./sse-CSozY6mp.js";import{f as x}from"./time-Dhsh_2EG.js";import{SessionObserveEmbedStatus as f}from"./SessionObserveEvidence-BVawzqoE.js";import{E as p}from"./external-link-BGHC_naA.js";import"./bash-format-BRV5C6Gv.js";import"./tail-display-DcliDVkW.js";import"./lane-edit-display-C_Aujldz.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-197xYmRp.js";import"./index-DFdlQs_c.js";import"./lane-observe-vfyACHi0.js";import"./lane-ask-display-B6iCAVcd.js";import"./colors-BtO5_zlx.js";import"./mentions-Cd6XticV.js";import"./Provider-Ve8yXaWR.js";import"./provider-CX9EWecp.js";import"./router-B0YclXYg.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-D4dHTRkt.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-D4vuKzOL.js";import"./DocumentFocusViewer-DmtFisY9.js";import"./createLucideIcon-DLlxGjKt.js";import"./TextDocumentSurface-C7fGlzY8.js";import"./file-text-BVhkMWyC.js";import"./x-BJyPzFnn.js";import"./chevron-right-BMqtBds_.js";import"./code-xml-ByQsfOI_.js";import"./arrow-left-i-h6JAgs.js";import"./arrow-right-B0Yi01Zr.js";import"./scout-voice-DvG_3stJ.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-7iEtvu9P.js";import"./NewChatComposer-Bgqes0UQ.js";import"./text-BR9Bap0E.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-DoT8gpw6.js";import"./conversation-model-CigSPlKA.js";import"./HarnessMark-DGZ6o6Ct.js";import"./NewChatOrigin-DpHS2Wmt.js";import"./chevron-down-Da5tV19_.js";import"./search-BbgsEMXa.js";import"./chunk-HRAB3GC3-BUVYXXAp.js";import"./AgentDetailCard-FelCxQrT.js";import"./AgentLiveActions-Bn3zeZBN.js";import"./terminal-takeover-CtA3wcXh.js";import"./openContent-C6XO6kr5.js";import"./eye-BeCSqJn1.js";import"./terminal-BiNIXhna.js";import"./message-markup-DAnnGpWr.js";import"./ObservedTopologyPanel-D85P6RAk.js";import"./ObserveTextFlow-C1f5oize.js";import"./use-reduced-motion-BLn59zLn.js";import"./proxy-C35W-YHZ.js";import"./message-circle-44KSmbvQ.js";import"./wrench-CQvdf7KT.js";import"./index-BWHgHrtv.js";const j=2500,g=240,N=5;function I({ask:r,sessionId:s}){const[i,c]=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(p,{size:11,"aria-hidden":"true"})]}),e.jsxs("a",{href:d,target:"_top",children:["Flight ",e.jsx(p,{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:()=>c(t=>!t),children:i?"Show less":"Show full ask"})]})}function Ce({agentId:r}){const[s,i]=o.useState(null),[c,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})]})}):c&&!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,Ce as ObserveEmbedScreen};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/conversation-motion-features-_95aZx_1.js","assets/gestures-BXIGYk_p.js","assets/index-Bli6bTLU.js","assets/index-DzlEgstl.css","assets/use-reduced-motion-BLn59zLn.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as n,j as e,_ as b}from"./index-Bli6bTLU.js";import{l as p}from"./lane-observe-vfyACHi0.js";import{C as f}from"./chevron-down-Da5tV19_.js";import{u as h}from"./use-reduced-motion-BLn59zLn.js";import{L as g,m as x}from"./proxy-C35W-YHZ.js";import"./time-Dhsh_2EG.js";import"./tail-display-DcliDVkW.js";import"./lane-edit-display-C_Aujldz.js";import"./createLucideIcon-DLlxGjKt.js";const j=420,N=()=>b(()=>import("./conversation-motion-features-_95aZx_1.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 w({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{w as ObserveReasoningDisclosure,R as ObserveStreamCursor};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as x,j as s}from"./index-Bli6bTLU.js";import{a as R}from"./api-DEHEgJ9m.js";import{a as A}from"./time-Dhsh_2EG.js";function S(e){if(!e)return null;const o=Date.parse(e);return Number.isFinite(o)?o:null}function T(e){return e?e.length<=12?e:e.slice(0,12):null}function W(e){return e.includes("workflow")?"Claude workflows":e.includes("codex")?"Codex":e.includes("claude")?"Claude Code":e.replace(/[-_]/g," ")}function $(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 M(e){const o=[e.label];e.description&&o.push(e.description);const n=$(e);return n&&o.push(n),e.parentSessionId&&o.push(`Parent session ${e.parentSessionId}`),o.join(`
|
|
2
|
+
`)}function C(e){return e.name??T(e.externalSessionId)??e.id.replace(/^.*:/,"")}function P(e){return e.status??e.role??e.type??"observed"}function N(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 w(e){return N(e,"claudeWorkflowRunId")??N(e,"workflowRunId")}function B(e,o,n){return o.filter(l=>l.kind==="spawned"&&l.toId===e.id).map(l=>n.get(l.fromId)).filter(l=>!!l).map(C)}function D(e,o){return o.find(n=>n.assigneeId===e.id)??null}function E(e,o){return w(e.providerMeta)===o||e.id.includes(o)}function q(e,o){return w(e.providerMeta)===o||e.id.includes(o)}function G(e){const o=N(e.providerMeta,"latestTimestamp");if(!o)return null;const n=Date.parse(o);return Number.isFinite(n)?n:null}function H(e,o){return e.some(n=>n.state&&y(n.state)===0)||o.some(n=>n.status&&y(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 I(e,o){return e.groups.filter(l=>l.kind==="workflow").map(l=>{const c=w(l.providerMeta)??l.id,i=e.tasks.filter(a=>E(a,c)),h=e.agents.filter(a=>a.role!=="lead"&&q(a,c)),p=i.filter(a=>a.state!=="completed"&&a.state!=="done"),b=i.filter(a=>a.state==="completed"||a.state==="done"),v=h.map(G).filter(a=>!!a).sort((a,m)=>m-a)[0]??null,f=h.reduce((a,m)=>a+(F(m.providerMeta,"eventCount")??0),0),j=(p.length>0?p:i).slice(0,3);return{id:l.id,label:l.name??c,description:N(l.providerMeta,"description"),runId:c,parentSessionId:N(l.providerMeta,"parentSessionId"),status:H(i,h),workerCount:h.length,taskCount:i.length,activeTaskCount:p.length,completedTaskCount:b.length,eventCount:f,latestAt:v??o,taskPreview:j}}).sort((l,c)=>{const i=(c.activeTaskCount>0?1:0)-(l.activeTaskCount>0?1:0);return i!==0?i:(c.latestAt??0)-(l.latestAt??0)||l.label.localeCompare(c.label)})}function y(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 L(e){return e?e.observations.map(o=>({source:o.source,observedAt:S(o.observedAt),topology:o.topology})):[]}function Q({topology:e,sessionId:o,size:n="full",title:l="Internal topology",maxAgents:c=n==="rail"?5:8,maxTasks:i=n==="rail"?3:5,showEmpty:h=!1}){const[p,b]=x.useState(null),[v,f]=x.useState(!1),[j,a]=x.useState(!e);x.useEffect(()=>{if(e)return;a(!0);let r=!1;const d=o?`?sessionId=${encodeURIComponent(o)}`:"";return R(`/api/topology/snapshot${d}`).then(g=>{r||(b(g),f(!1))}).catch(()=>{r||f(!0)}).finally(()=>{r||a(!1)}),()=>{r=!0}},[o,e]);const m=x.useMemo(()=>e?[{source:e.source,observedAt:S(e.observedAt),topology:e}]:L(p),[p,e]),u=x.useMemo(()=>m.reduce((r,d)=>(r.sources+=1,r.workflows+=d.topology.groups.filter(g=>g.kind==="workflow").length,r.agents+=d.topology.agents.length,r.subagents+=d.topology.agents.filter(g=>g.role==="subagent").length,r.tasks+=d.topology.tasks.length,r.activeTasks+=d.topology.tasks.filter(g=>g.state!=="completed").length,r.spawned+=d.topology.relationships.filter(g=>g.kind==="spawned").length,r),{sources:0,workflows:0,agents:0,subagents:0,tasks:0,activeTasks:0,spawned:0}),[m]),k=n==="rail",t=m.reduce((r,d)=>r+I(d.topology,d.observedAt).filter(g=>g.status==="running").length,0);return m.length===0?!h&&!v?null:s.jsxs("section",{className:`s-observed-topology s-observed-topology--${n}`,children:[!k&&s.jsx("header",{className:"s-observed-topology-head",children:s.jsxs("div",{children:[s.jsx("div",{className:"s-observed-topology-kicker",children:"Harness observed"}),s.jsx("h3",{children:l})]})}),s.jsx("div",{className:"s-observed-topology-empty",children:j?"Reading topology…":v?"Topology is unavailable right now.":"No interacted agents observed yet."})]}):s.jsxs("section",{className:`s-observed-topology s-observed-topology--${n}`,children:[k?u.workflows>0&&s.jsxs("div",{className:"s-observed-topology-rail-summary",children:[t>0?`${t} running`:"No active workflows",u.workflows>0&&` · ${u.workflows} total`]}):s.jsxs("header",{className:"s-observed-topology-head",children:[s.jsxs("div",{children:[s.jsx("div",{className:"s-observed-topology-kicker",children:"Harness observed"}),s.jsx("h3",{children:l})]}),s.jsxs("div",{className:"s-observed-topology-counts",children:[u.workflows>0&&s.jsxs("span",{children:[u.workflows," workflows"]}),s.jsxs("span",{children:[u.subagents," workers"]}),s.jsxs("span",{children:[u.tasks," tasks"]}),u.activeTasks>0?s.jsxs("span",{children:[u.activeTasks," active"]}):s.jsxs("span",{children:[u.spawned," spawn links"]})]})]}),s.jsx("div",{className:"s-observed-topology-sources",children:m.map(r=>s.jsx(_,{source:r,maxAgents:c,maxTasks:i,size:n},`${r.source}:${r.topology.observedAt}`))})]})}function O({workflow:e}){const o=$(e);return s.jsxs("div",{className:`s-observed-topology-rail-row s-observed-topology-rail-row--${e.status}`,title:M(e),children:[s.jsx("span",{className:`s-observed-topology-rail-dot s-observed-topology-rail-dot--${e.status}`,"aria-label":e.status}),s.jsx("span",{className:"s-observed-topology-rail-name",children:e.label}),o&&s.jsx("span",{className:"s-observed-topology-rail-stats",children:o})]})}function _({source:e,maxAgents:o,maxTasks:n,size:l="full"}){const c=l==="rail",{topology:i}=e,h=new Map(i.agents.map(t=>[t.id,t])),p=I(i,e.observedAt),b=p.slice(0,o),v=p.length-b.length,f=(t,r)=>y(t.status)-y(r.status)||C(t).localeCompare(C(r)),j=i.agents.filter(t=>t.role==="subagent").sort(f),a=i.agents.filter(t=>t.role==="lead").sort(f),m=i.agents.filter(t=>t.role!=="subagent"&&t.role!=="lead").sort(f),u=[...a,...j,...m].slice(0,o),k=i.tasks.filter(t=>t.state!=="completed").sort((t,r)=>y(t.state)-y(r.state)||(t.title??t.id).localeCompare(r.title??r.id)).slice(0,n);return s.jsxs("div",{className:"s-observed-topology-source",children:[!c&&s.jsxs("div",{className:"s-observed-topology-source-head",children:[s.jsx("span",{children:W(e.source)}),s.jsx("span",{children:A(e.observedAt)||"observed"})]}),p.length>0?c?s.jsxs("div",{className:"s-observed-topology-rail-list",children:[b.map(t=>s.jsx(O,{workflow:t},t.id)),v>0&&s.jsxs("div",{className:"s-observed-topology-rail-more",children:["+",v," more workflow",v===1?"":"s"]})]}):s.jsxs("div",{className:"s-observed-topology-workflow-list",children:[b.map(t=>s.jsxs("div",{className:"s-observed-topology-workflow",children:[s.jsxs("div",{className:"s-observed-topology-workflow-main",children:[s.jsx("span",{className:`s-observed-topology-workflow-state s-observed-topology-workflow-state--${t.status}`,children:t.status}),s.jsx("span",{className:"s-observed-topology-workflow-name",title:M(t),children:t.label}),s.jsx("span",{className:"s-observed-topology-workflow-age",children:A(t.latestAt)||"observed"})]}),s.jsxs("div",{className:"s-observed-topology-workflow-meta",children:[s.jsxs("span",{children:[t.workerCount," workers"]}),t.taskCount>0&&s.jsxs("span",{children:[t.completedTaskCount,"/",t.taskCount," tasks"]}),t.eventCount>0&&s.jsxs("span",{children:[t.eventCount," events"]}),t.parentSessionId&&s.jsxs("span",{children:["parent ",T(t.parentSessionId)]})]}),t.description&&s.jsx("div",{className:"s-observed-topology-workflow-description",children:t.description}),t.taskPreview.length>0&&s.jsx("div",{className:"s-observed-topology-workflow-tasks",children:t.taskPreview.map(r=>s.jsx("span",{children:r.title??r.id.replace(/^.*:/,"")},r.id))})]},t.id)),v>0&&s.jsxs("div",{className:"s-observed-topology-more",children:[v," more workflow",v===1?"":"s"]})]}):s.jsx("div",{className:"s-observed-topology-agent-list",children:u.map(t=>{const r=B(t,i.relationships,h),d=D(t,i.tasks);return s.jsxs("div",{className:"s-observed-topology-agent",children:[s.jsxs("div",{className:"s-observed-topology-agent-main",children:[s.jsx("span",{className:`s-observed-topology-agent-role s-observed-topology-agent-role--${t.role??"observed"}`,children:t.role??"observed"}),s.jsx("span",{className:"s-observed-topology-agent-name",children:C(t)}),s.jsx("span",{className:"s-observed-topology-agent-status",children:P(t)})]}),(r.length>0||d?.title)&&s.jsxs("div",{className:"s-observed-topology-agent-detail",children:[r.length>0&&s.jsxs("span",{children:["spawned by ",r.join(", ")]}),d?.title&&s.jsx("span",{children:d.title})]})]},t.id)})}),p.length===0&&k.length>0&&s.jsx("div",{className:"s-observed-topology-task-list",children:k.map(t=>s.jsxs("div",{className:"s-observed-topology-task",children:[s.jsx("span",{children:t.state??"task"}),s.jsx("strong",{children:t.title??t.id.replace(/^.*:/,"")})]},t.id))})]})}export{Q as O};
|