@openscout/scout 0.2.96 → 0.2.97
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/scoutd +0 -0
- package/dist/build-manifest.json +3 -3
- package/dist/client/assets/{ActivityScreen-BnoaUkVZ.js → ActivityScreen-y-5DLleY.js} +1 -1
- package/dist/client/assets/{AddProjectForm-IqOtJfRs.js → AddProjectForm-r_1tVuWk.js} +1 -1
- package/dist/client/assets/{AgentAvatar-6-KBVKUu.js → AgentAvatar-B7c0egdP.js} +1 -1
- package/dist/client/assets/{AgentConfigurationScreen-CuZJy07q.js → AgentConfigurationScreen-BD7Unt2P.js} +1 -1
- package/dist/client/assets/{AgentDefinitionsWorkspace-Iyl4BesU.js → AgentDefinitionsWorkspace-BbcZc9Xk.js} +1 -1
- package/dist/client/assets/{AgentDetailCard-C9rn3Fj5.js → AgentDetailCard-B_KLcgsP.js} +1 -1
- package/dist/client/assets/{AgentFloorView-YT-Jjccf.js → AgentFloorView-DMFiHs21.js} +1 -1
- package/dist/client/assets/{AgentInfoScreen-Dr99gQEZ.js → AgentInfoScreen-DHGLRddI.js} +1 -1
- package/dist/client/assets/{AgentLaneCard-DI2iW9zO.js → AgentLaneCard-ajZvcfdW.js} +1 -1
- package/dist/client/assets/{AgentLaneChrome-D8bARHMx.js → AgentLaneChrome-CTp39syR.js} +1 -1
- package/dist/client/assets/{AgentLaneDetailSheet-52un7dKC.js → AgentLaneDetailSheet-DRc-TpMB.js} +1 -1
- package/dist/client/assets/{AgentLaneSummaryResize-CEBjmPTa.js → AgentLaneSummaryResize-VMNDo7kD.js} +1 -1
- package/dist/client/assets/AgentLanesEmbedScreen-C5k_dDS8.js +1 -0
- package/dist/client/assets/{AgentLanesPreflight-q20mTjms.js → AgentLanesPreflight-CFadSaia.js} +1 -1
- package/dist/client/assets/{AgentLanesView-CetZZDyF.js → AgentLanesView-u5vpLwQf.js} +1 -1
- package/dist/client/assets/{AgentLiveActions-DrEJDJef.js → AgentLiveActions-CsQA3pu_.js} +1 -1
- package/dist/client/assets/{AgentMasterScreen-DJPnstoD.js → AgentMasterScreen-C5WlWNmk.js} +1 -1
- package/dist/client/assets/{AgentSessions-DCPCG4xb.js → AgentSessions-BePq5Lgc.js} +1 -1
- package/dist/client/assets/{AgentsConsole-CsYOoFJi.js → AgentsConsole-BuiZ_bDo.js} +1 -1
- package/dist/client/assets/{AgentsScreen-k8LvBuU_.js → AgentsScreen-CRi-hG2k.js} +1 -1
- package/dist/client/assets/AgentsSubnav-DUsya4WK.js +1 -0
- package/dist/client/assets/{AstronautSuit-DbjQtfD_.js → AstronautSuit-Cjjcv6yQ.js} +1 -1
- package/dist/client/assets/{AtopView-Daq_ob3z.js → AtopView-PxWQd-sX.js} +1 -1
- package/dist/client/assets/{BackToPicker-CXZjBRAe.js → BackToPicker-Cto0Ioz9.js} +1 -1
- package/dist/client/assets/{BriefingDetailScreen-CUCXO-KH.js → BriefingDetailScreen-C29smC5d.js} +1 -1
- package/dist/client/assets/{BriefingsScreen-B5oMTGKv.js → BriefingsScreen-DNyFBrPn.js} +1 -1
- package/dist/client/assets/{BrokerMetadataPanel-BsiU8lTD.js → BrokerMetadataPanel-DbaCQlhw.js} +1 -1
- package/dist/client/assets/{BrokerScreen-BPbOHhCS.js → BrokerScreen-CS0s4Gm4.js} +1 -1
- package/dist/client/assets/{CastPicker-_5E5hNUe.js → CastPicker-CTBHjjGw.js} +1 -1
- package/dist/client/assets/{ChatCollapsedStrip-D-eXhzPf.js → ChatCollapsedStrip-D4rc7wBQ.js} +1 -1
- package/dist/client/assets/{CodeDiffPane-n7W4iGUG.js → CodeDiffPane-QvxCUzTi.js} +1 -1
- package/dist/client/assets/{CodeProjectPicker-CMsbSTDq.js → CodeProjectPicker-DplkpM7f.js} +1 -1
- package/dist/client/assets/{CodeScreen-CeuO3EhR.js → CodeScreen-CrR2JaVj.js} +1 -1
- package/dist/client/assets/{ConversationComposer-CXPKx86g.js → ConversationComposer-H8_hsYSc.js} +1 -1
- package/dist/client/assets/{ConversationFeedRows-WrH-YI3L.js → ConversationFeedRows-hlEFlURs.js} +1 -1
- package/dist/client/assets/{ConversationHeader-BQWzGzLK.js → ConversationHeader-B0ZBhE_E.js} +1 -1
- package/dist/client/assets/{ConversationPanels-Dujvnmup.js → ConversationPanels-fMo6Uy1v.js} +2 -2
- package/dist/client/assets/{ConversationScreen-CR9pWB65.js → ConversationScreen-CXAHQwQ3.js} +1 -1
- package/dist/client/assets/{ConversationStatus-DVzSb2Hv.js → ConversationStatus-DI5GCiyW.js} +1 -1
- package/dist/client/assets/{CrewAvatar-BwXjyg8N.js → CrewAvatar-CXJHLNVM.js} +1 -1
- package/dist/client/assets/CrewWorkspaces-Bz2Dcnt4.js +1 -0
- package/dist/client/assets/CrewWorkspaces-Diq11KDq.css +1 -0
- package/dist/client/assets/{DataTable-Bp8tU9AK.js → DataTable-DXIlOlVu.js} +1 -1
- package/dist/client/assets/{DispatchAftermath-B-6rmXzL.js → DispatchAftermath-CrELgl2e.js} +1 -1
- package/dist/client/assets/{DocumentFocusViewer-Do3wQ_3Z.js → DocumentFocusViewer-DFFE85Tq.js} +1 -1
- package/dist/client/assets/{EmbeddableSurfacesLab-C1orRyP9.js → EmbeddableSurfacesLab-DgpewB3y.js} +1 -1
- package/dist/client/assets/{EmptyState-CJzXj1l5.js → EmptyState-D9X16fKq.js} +1 -1
- package/dist/client/assets/{FileViewerPane-Df6VzXjA.js → FileViewerPane-CY0RN78e.js} +1 -1
- package/dist/client/assets/{FlightObserveScreen-6mGnmWQA.js → FlightObserveScreen-qyzHzxLa.js} +1 -1
- package/dist/client/assets/{FollowScreen-DvnxYLVh.js → FollowScreen-wZ-z67mX.js} +1 -1
- package/dist/client/assets/{HarnessMark-B979GCSB.js → HarnessMark-DAaWPiT_.js} +1 -1
- package/dist/client/assets/{HarnessesScreen-CHTuv8p6.js → HarnessesScreen-DbKkQM4o.js} +1 -1
- package/dist/client/assets/{HerdrSession-B3McuYgi.js → HerdrSession-CYKRfBad.js} +1 -1
- package/dist/client/assets/{HomeHero-CdUVPjkG.js → HomeHero-DYyd3cpz.js} +1 -1
- package/dist/client/assets/{HostAdvisorView-Bok5Sk5c.js → HostAdvisorView-NtM0bsg8.js} +1 -1
- package/dist/client/assets/{KnowledgeSearchInspector-B7XSoJsu.js → KnowledgeSearchInspector-CU6BCFcS.js} +1 -1
- package/dist/client/assets/{KnowledgeSearchScreen-D3o3IODW.js → KnowledgeSearchScreen-DvbRRPQB.js} +1 -1
- package/dist/client/assets/{LaneToolHoverCard-HByf2ndx.js → LaneToolHoverCard-Bo2Zl-1a.js} +1 -1
- package/dist/client/assets/{LaneTraceDetailSheet-BUgHz-sd.js → LaneTraceDetailSheet-C3C8UjXv.js} +1 -1
- package/dist/client/assets/{LaneTraceEventFocus-DM-hoPxG.js → LaneTraceEventFocus-Cek_64zR.js} +1 -1
- package/dist/client/assets/{MeshCanvas-DCLJRsBy.js → MeshCanvas-TvsID4fe.js} +1 -1
- package/dist/client/assets/{MeshCanvasMinimap-cEFS9eW7.js → MeshCanvasMinimap-CxqeVVco.js} +1 -1
- package/dist/client/assets/{MeshScreen-BcxPkhm6.js → MeshScreen-BJ-j9YXv.js} +1 -1
- package/dist/client/assets/{MeshTopologyView-CCRPd8PU.js → MeshTopologyView-BjprutE8.js} +2 -2
- package/dist/client/assets/{MessagesScreen-Bb5l13MO.js → MessagesScreen-CyNIZ3-X.js} +1 -1
- package/dist/client/assets/{MissionContextRail-DF0_kiU7.js → MissionContextRail-Be0uXljQ.js} +1 -1
- package/dist/client/assets/{MissionControlView-E3V7bENU.js → MissionControlView-Bj7cAbZd.js} +1 -1
- package/dist/client/assets/{MissionFocusOverlay-h15sQFvP.js → MissionFocusOverlay-DvTw6ts5.js} +1 -1
- package/dist/client/assets/{MissionLeftAgentRow-KPdk9rSa.js → MissionLeftAgentRow-B0QG7Gys.js} +1 -1
- package/dist/client/assets/{MissionLogPane-BbdDKjUl.js → MissionLogPane-EsM_S3ro.js} +1 -1
- package/dist/client/assets/{NewAgentModal-DfHxad34.js → NewAgentModal-Cqiq1CE1.js} +1 -1
- package/dist/client/assets/{NewChatComposer-_Stj0fZy.js → NewChatComposer-C_1op4dH.js} +1 -1
- package/dist/client/assets/{NewChatOrigin-B1u7ki70.js → NewChatOrigin-D7hwp6dm.js} +1 -1
- package/dist/client/assets/{ObserveEmbedScreen-Co0xTii6.js → ObserveEmbedScreen-CGHI_hb5.js} +1 -1
- package/dist/client/assets/{ObserveTextFlow-ZQWwrK3i.js → ObserveTextFlow-BcrGQet8.js} +2 -2
- package/dist/client/assets/{ObservedTopologyPanel-BJUhDSuQ.js → ObservedTopologyPanel-BhVsvwkh.js} +1 -1
- package/dist/client/assets/{OpenScoutAppShell-CUd2yOLu.js → OpenScoutAppShell-BtfvMkAp.js} +1 -1
- package/dist/client/assets/{OpsAgentsView-DI5wu1si.js → OpsAgentsView-DBYtmLnh.js} +1 -1
- package/dist/client/assets/OpsScreen-CuYVgkC_.js +1 -0
- package/dist/client/assets/OpsSubnav-BEU4kKXm.js +1 -0
- package/dist/client/assets/ProjectAgentProfile-BhXAZEkW.js +1 -0
- package/dist/client/assets/{ProjectAgentProfileBar-k2QHHHsQ.js → ProjectAgentProfileBar-uJw9Wdfk.js} +1 -1
- package/dist/client/assets/{ProjectAgentProfileHero-Bpxk1ui2.js → ProjectAgentProfileHero-CIMS4Dy_.js} +1 -1
- package/dist/client/assets/{ProjectsInbox-C_bMHLCc.js → ProjectsInbox-JgU0lrY8.js} +1 -1
- package/dist/client/assets/{ProjectsRail-J-aH_pxT.js → ProjectsRail-p99BRBOa.js} +1 -1
- package/dist/client/assets/ProjectsScreen-BB45DU53.js +1 -0
- package/dist/client/assets/{ProjectsThreadAside-_ourdM-Q.js → ProjectsThreadAside-BHDTJWOz.js} +1 -1
- package/dist/client/assets/{Provider-CtXJeLrP.js → Provider-Bu-C8Hxc.js} +1 -1
- package/dist/client/assets/{RailRow-CEH2MFBw.js → RailRow-ClMmtaIE.js} +1 -1
- package/dist/client/assets/{RawSessionsTable-CDyrom-F.js → RawSessionsTable-BtKdQPiv.js} +1 -1
- package/dist/client/assets/{RealtimeVoiceScreen-DBl3DN1H.js → RealtimeVoiceScreen-KPHJgO1l.js} +1 -1
- package/dist/client/assets/{RepoDiffEmbedScreen-kY2pHjIs.js → RepoDiffEmbedScreen-CjZ5ew3y.js} +1 -1
- package/dist/client/assets/{RepoDiffPageScreen-C6LhoKrn.js → RepoDiffPageScreen-CdTFfmbk.js} +1 -1
- package/dist/client/assets/{RepoDiffViewer-BhcIIQQg.js → RepoDiffViewer-BFperHQg.js} +1 -1
- package/dist/client/assets/{RepoDiffViewerLazy-Csy_j9LD.js → RepoDiffViewerLazy-BkBmbi1Z.js} +2 -2
- package/dist/client/assets/{ReposScreen-B_cB0zu7.js → ReposScreen-C8dT4bK0.js} +1 -1
- package/dist/client/assets/{ScoutDeckSurface-CSy_fjcG.js → ScoutDeckSurface-BcJsm2Kq.js} +1 -1
- package/dist/client/assets/{ScoutSurface-CQVcSrin.js → ScoutSurface-DmzEtrx8.js} +1 -1
- package/dist/client/assets/{ScoutbotFxLab-DqGiLYNy.js → ScoutbotFxLab-DU15Plja.js} +1 -1
- package/dist/client/assets/{SecondaryNav-BR4VRdgh.js → SecondaryNav-BrXMtvKE.js} +1 -1
- package/dist/client/assets/{SessionEmbedScreen-BTlZ9gAg.js → SessionEmbedScreen-Bt4flmAx.js} +1 -1
- package/dist/client/assets/{SessionObserve-dQDN23pP.js → SessionObserve-BCehTlO8.js} +1 -1
- package/dist/client/assets/{SessionObserveEvidence-BRBGKAgd.js → SessionObserveEvidence-Bb6U-dem.js} +1 -1
- package/dist/client/assets/{SessionRefScreen-COVQMbtE.js → SessionRefScreen-C8BiRVPx.js} +1 -1
- package/dist/client/assets/SessionsScreen-BNvjUflN.js +1 -0
- package/dist/client/assets/{SettingsDrawer-RGVK_bmE.js → SettingsDrawer-BieUmb8g.js} +1 -1
- package/dist/client/assets/{SettingsScreen-CCxzy5IU.js → SettingsScreen-3JvX1WFL.js} +1 -1
- package/dist/client/assets/{ShikiPane-DYI9Hkge.js → ShikiPane-DPWsVNtn.js} +1 -1
- package/dist/client/assets/{SlidePanel-B9ugxWgA.js → SlidePanel-BMRIR6bH.js} +1 -1
- package/dist/client/assets/{SpriteAvatar-z5hHesx9.js → SpriteAvatar-56DTXxSV.js} +1 -1
- package/dist/client/assets/{StatusPill-BFvMjmZV.js → StatusPill-BcuYUgsD.js} +1 -1
- package/dist/client/assets/{TailView-0uEIj2JH.js → TailView-BDy8c2VB.js} +1 -1
- package/dist/client/assets/{Terminal-DouZeNxc.js → Terminal-BlUQY9_Z.js} +1 -1
- package/dist/client/assets/{TerminalEmbedScreen-dMNUbzXr.js → TerminalEmbedScreen-DTjxktyr.js} +1 -1
- package/dist/client/assets/{TerminalHeaderMount-BL07cd0q.js → TerminalHeaderMount-Cy-uxkey.js} +1 -1
- package/dist/client/assets/{TextDocumentSurface-BflAwXeZ.js → TextDocumentSurface-BeSwe3Yl.js} +1 -1
- package/dist/client/assets/{TmuxPeek-BTnjOQi0.js → TmuxPeek-B4no_aGI.js} +1 -1
- package/dist/client/assets/{VoicePermissionsPanel-CgQ6GGS-.js → VoicePermissionsPanel-Bd16scwz.js} +1 -1
- package/dist/client/assets/{WorkDetailScreen-CaLG-zDs.js → WorkDetailScreen-DIFQufak.js} +1 -1
- package/dist/client/assets/{WorkFilesViewer-B9Sil_No.js → WorkFilesViewer-CT5XEFGf.js} +1 -1
- package/dist/client/assets/{activity-DcrMApUY.js → activity-CqZafWfx.js} +1 -1
- package/dist/client/assets/{addon-fit-DMVrz5Sv.js → addon-fit-CM6F_JRD.js} +1 -1
- package/dist/client/assets/{addon-webgl-BYvpZUyu.js → addon-webgl-DRTiePFC.js} +1 -1
- package/dist/client/assets/{agent-autocomplete-B-5QTeas.js → agent-autocomplete-DXUBnlkN.js} +1 -1
- package/dist/client/assets/{agent-essentials-D7KRGYvF.js → agent-essentials-vytdybaX.js} +1 -1
- package/dist/client/assets/{agent-master-model-DqjrVI2h.js → agent-master-model-DAZL92oe.js} +1 -1
- package/dist/client/assets/{agent-specialization-BujJVUTD.js → agent-specialization-BtxLN4UR.js} +1 -1
- package/dist/client/assets/agents-project-DgbqDc65.css +1 -0
- package/dist/client/assets/{arc.es-NHqHWohb.js → arc.es-Bh84oHJ7.js} +1 -1
- package/dist/client/assets/{arrow-down-CKtSUjmW.js → arrow-down-DvTsLokL.js} +1 -1
- package/dist/client/assets/{arrow-left-Czpf-AE4.js → arrow-left-DHfdXJVZ.js} +1 -1
- package/dist/client/assets/{arrow-right-BuzMnLYP.js → arrow-right-BBsrogWf.js} +1 -1
- package/dist/client/assets/{arrow-up-right-C6Wl-1uw.js → arrow-up-right-CY0Vw_67.js} +1 -1
- package/dist/client/assets/{bot-rd0awxD3.js → bot-DzkOUFBb.js} +1 -1
- package/dist/client/assets/{check-ofKUE8yH.js → check-DbIkldnK.js} +1 -1
- package/dist/client/assets/{chevron-down-wciXnOQz.js → chevron-down-C475vltS.js} +1 -1
- package/dist/client/assets/{chevron-right-D-HdlPg8.js → chevron-right-CnZRSd-V.js} +1 -1
- package/dist/client/assets/{chunk-HRAB3GC3-Tyv9rzx7.js → chunk-HRAB3GC3-DLNT8aOo.js} +1 -1
- package/dist/client/assets/{chunk-JTPDIGGW-BC2Mandc.js → chunk-JTPDIGGW-Ci5j4vzV.js} +3 -3
- package/dist/client/assets/{chunk-T65CQEWV-C1AWTYZZ.js → chunk-T65CQEWV-BtNvicWs.js} +1 -1
- package/dist/client/assets/{chunk-YOZR3KYS-DwHPHa6f.js → chunk-YOZR3KYS-DN5EJulq.js} +1 -1
- package/dist/client/assets/{clock-B88r8OrZ.js → clock-DVvENUU5.js} +1 -1
- package/dist/client/assets/{code-xml-D7pOQM9l.js → code-xml-CvKBY3KA.js} +1 -1
- package/dist/client/assets/{compass-Dt1AMXz2.js → compass-BcRI_YXo.js} +1 -1
- package/dist/client/assets/content--T3p6akp.js +1 -0
- package/dist/client/assets/content-4nFMLuzF.js +1 -0
- package/dist/client/assets/content-BJ4nHvcu.js +1 -0
- package/dist/client/assets/{content-nkx0swDe.js → content-BNyAjpUl.js} +1 -1
- package/dist/client/assets/content-BmGp9wNl.js +1 -0
- package/dist/client/assets/content-CBWhwaRo.js +1 -0
- package/dist/client/assets/{content-C9ijJxyl.js → content-CQlykFbe.js} +1 -1
- package/dist/client/assets/content-CevL0DgF.js +1 -0
- package/dist/client/assets/content-Ch8pf2bj.js +1 -0
- package/dist/client/assets/content-Cpvdcm_l.js +1 -0
- package/dist/client/assets/content-DfS3vgAu.js +1 -0
- package/dist/client/assets/content-DpQdNePJ.js +1 -0
- package/dist/client/assets/content-Dqpibejl.js +1 -0
- package/dist/client/assets/content-TV0nd6-r.js +1 -0
- package/dist/client/assets/{content-BWPNyXJ0.js → content-odbb5H4U.js} +1 -1
- package/dist/client/assets/content-uXHLPHe0.js +1 -0
- package/dist/client/assets/{conversation-icons-tp9BX6X2.js → conversation-icons-CBMKBGHd.js} +1 -1
- package/dist/client/assets/{conversation-model-Dc02NsGp.js → conversation-model-QsJVfSeG.js} +1 -1
- package/dist/client/assets/conversation-motion-features-BFLHX2eg.js +1 -0
- package/dist/client/assets/{copy-CWWAJ75H.js → copy-Cj-owMb-.js} +1 -1
- package/dist/client/assets/{cpu-DrqejfkB.js → cpu-DuD3RFX5.js} +1 -1
- package/dist/client/assets/{createLucideIcon-DezKXSG2.js → createLucideIcon-DthwWQIg.js} +1 -1
- package/dist/client/assets/{discover-C2CZO4Tk.js → discover-B3uQlh5L.js} +2 -2
- package/dist/client/assets/embed-entry-DkRcHKTh.js +2 -0
- package/dist/client/assets/{external-link-Dp_a2vRZ.js → external-link-C_nxk0MJ.js} +1 -1
- package/dist/client/assets/{eye-BRyD0jno.js → eye-FnaaPfja.js} +1 -1
- package/dist/client/assets/{file-code-corner-muIVH_xO.js → file-code-corner-DDPq4Cur.js} +1 -1
- package/dist/client/assets/{file-text-CqJgwxmv.js → file-text--hfhwZH1.js} +1 -1
- package/dist/client/assets/{gauge-hU--hKVP.js → gauge-BVEknshP.js} +1 -1
- package/dist/client/assets/{gestures-DN4hEeqv.js → gestures-3gw5VgUS.js} +1 -1
- package/dist/client/assets/{git-branch-CK5v8F2v.js → git-branch-DJyvr0k-.js} +1 -1
- package/dist/client/assets/{home-moving-signal-BjDtEJUP.js → home-moving-signal-BPqBoNSm.js} +1 -1
- package/dist/client/assets/{home-now-card-nF8OotI-.js → home-now-card-UspVW2-2.js} +1 -1
- package/dist/client/assets/{home-now-card-nano-C-r_bBg5.js → home-now-card-nano-G8kMB32m.js} +1 -1
- package/dist/client/assets/{hooks-D46bABUP.js → hooks-BMsQzo9j.js} +1 -1
- package/dist/client/assets/{index-DvLtl7rV.js → index-BI9AljSD.js} +2 -2
- package/dist/client/assets/{index-kL1WLbeS.js → index-C-v0Z6ZS.js} +1 -1
- package/dist/client/assets/{index-CPrU5q04.js → index-D9DzUORB.js} +1 -1
- package/dist/client/assets/index-DfsTyYDx.js +1 -0
- package/dist/client/assets/{inspector-panel-Dkc7rLvY.js → inspector-panel-CFSArQ8Y.js} +1 -1
- package/dist/client/assets/{keyboard-nav-BLYDhL3Z.js → keyboard-nav-e6yGeorb.js} +1 -1
- package/dist/client/assets/{lane-roster-store-DOdI1O13.js → lane-roster-store-Q7pcblY5.js} +1 -1
- package/dist/client/assets/{layers-CSsg3JVP.js → layers-Dz2dKOnU.js} +1 -1
- package/dist/client/assets/{layout-grid-DOChPJdZ.js → layout-grid-Bvs5fdB4.js} +1 -1
- package/dist/client/assets/{left-BNRFiRsb.js → left-B4Ak-Ibt.js} +1 -1
- package/dist/client/assets/{left-BggzhgXN.js → left-BMb493FZ.js} +1 -1
- package/dist/client/assets/{left-YT7mIGuH.js → left-BjFLvVOC.js} +1 -1
- package/dist/client/assets/{left-B3wSE6ql.js → left-CsXQ8Q3G.js} +1 -1
- package/dist/client/assets/left-FNH7faCI.js +1 -0
- package/dist/client/assets/{left-CARCvvxS.js → left-POkqE8gI.js} +1 -1
- package/dist/client/assets/{left-CpokZYHt.js → left-UulOTcWh.js} +1 -1
- package/dist/client/assets/{left-advisor-CCY0vkcO.js → left-advisor-CJkQS2d6.js} +1 -1
- package/dist/client/assets/{left-agents-trhO5sL8.js → left-agents-CFMxyEjT.js} +1 -1
- package/dist/client/assets/{left-default-CG33elBs.js → left-default-rnX5HANc.js} +1 -1
- package/dist/client/assets/{left-lanes-CitMgeTp.js → left-lanes-BpLXT_qH.js} +1 -1
- package/dist/client/assets/{left-mission-Zl2m_5eU.js → left-mission-B0bhseWw.js} +1 -1
- package/dist/client/assets/library-D1iXfda2.js +1 -0
- package/dist/client/assets/{loader-circle-pM56HNhR.js → loader-circle-B2W9DPG5.js} +1 -1
- package/dist/client/assets/{local-agents-C8xAhbO5.js → local-agents-DKr-gIDC.js} +1 -1
- package/dist/client/assets/{mentions-DG6OQrsc.js → mentions-DuLQnEcn.js} +1 -1
- package/dist/client/assets/{mesh-ops-BZ1h5RQs.js → mesh-ops-CRR-KnCG.js} +1 -1
- package/dist/client/assets/{mesh-view-store-ChUOASK8.js → mesh-view-store-CiET-yN8.js} +1 -1
- package/dist/client/assets/{message-circle-mZCv8tvB.js → message-circle-B2DoYKDO.js} +1 -1
- package/dist/client/assets/{message-markup-C2LQDm_k.js → message-markup-Cc_O-WdA.js} +1 -1
- package/dist/client/assets/{message-square-C7t_qtuj.js → message-square-O-Hu9Mk2.js} +1 -1
- package/dist/client/assets/{mission-control-store-nDLdUZPA.js → mission-control-store-DDAgWKUl.js} +1 -1
- package/dist/client/assets/{observe-BpEm1INu.js → observe-Da2mRAsc.js} +1 -1
- package/dist/client/assets/{page-status-E5jnk48p.js → page-status-Crtgjbq3.js} +1 -1
- package/dist/client/assets/{paperclip-C64lkcbM.js → paperclip-BudMKSyr.js} +1 -1
- package/dist/client/assets/{persistent-state-EHXw8WNy.js → persistent-state-xJz-qAFc.js} +1 -1
- package/dist/client/assets/{plus-Co-dqKul.js → plus-BJ1If8vj.js} +1 -1
- package/dist/client/assets/{profile-APxDsN2P.js → profile-B3qDSbrH.js} +1 -1
- package/dist/client/assets/{projects-inbox-Cg4X2lUQ.js → projects-inbox-CLek3QaG.js} +1 -1
- package/dist/client/assets/{proxy-BiW5suC7.js → proxy-1BABCaDb.js} +1 -1
- package/dist/client/assets/{radio-BOxBQX-T.js → radio-B5OpHrrK.js} +1 -1
- package/dist/client/assets/{refresh-cw-DMxGzDwn.js → refresh-cw-DmNAhaH0.js} +1 -1
- package/dist/client/assets/resolve-panes-DXw-cHaj.js +1 -0
- package/dist/client/assets/resolve-sidebar-context-CDdbRDEa.js +1 -0
- package/dist/client/assets/{right-Bmfd3pjP.js → right-BgJ4mQLf.js} +1 -1
- package/dist/client/assets/{right-Dz_xD0Vj.js → right-Bk6h7o-Z.js} +1 -1
- package/dist/client/assets/{right-CkCCPbCX.js → right-BrICCmEt.js} +1 -1
- package/dist/client/assets/{right-CdkcrmeD.js → right-C1QIbqFZ.js} +1 -1
- package/dist/client/assets/{right-BwlW6E57.js → right-CfliKiHY.js} +1 -1
- package/dist/client/assets/{right-BuCgE0fZ.js → right-CtOLXB9s.js} +1 -1
- package/dist/client/assets/{right-CimaAvQN.js → right-D8id_DWQ.js} +1 -1
- package/dist/client/assets/{right-C0ybUw0j.js → right-DJ34yMAi.js} +1 -1
- package/dist/client/assets/{right-D3eSiy41.js → right-DiFmtw6d.js} +1 -1
- package/dist/client/assets/{right-BqI-nr9G.js → right-Lx79pxpG.js} +1 -1
- package/dist/client/assets/{rocket-BQm5_CvR.js → rocket-D3-TUJ2m.js} +1 -1
- package/dist/client/assets/{router-B9vQkNJL.js → router-DTtux5sP.js} +1 -1
- package/dist/client/assets/{scope-views-1IYJdl41.js → scope-views-CPM0sBw_.js} +1 -1
- package/dist/client/assets/{scout-voice-BVUqGhth.js → scout-voice-BZKsdquE.js} +1 -1
- package/dist/client/assets/{scoutbot-markdown-BQ_Ee2Ic.js → scoutbot-markdown-CQ7Y1McC.js} +1 -1
- package/dist/client/assets/{scroll-text-Dze_dXtQ.js → scroll-text-kPhYbh-M.js} +1 -1
- package/dist/client/assets/{search-CDko0PKE.js → search-DmFM_9jm.js} +1 -1
- package/dist/client/assets/{secondaryNavConfig-BoQ_zYR9.js → secondaryNavConfig-C9bQ9_IA.js} +1 -1
- package/dist/client/assets/{selection-bridge-Din6yV3h.js → selection-bridge-Dy2mtMyi.js} +1 -1
- package/dist/client/assets/{send-horizontal-CSjIm6xg.js → send-horizontal-qyjNgEaV.js} +1 -1
- package/dist/client/assets/{server-Bzj7lPIx.js → server-nWqndnxu.js} +1 -1
- package/dist/client/assets/{session-catalog-DsaZJXZt.js → session-catalog-BkmktBHI.js} +1 -1
- package/dist/client/assets/{session-table-BQfR7u6r.js → session-table-DKSF0mrS.js} +1 -1
- package/dist/client/assets/{settings-Dyvpkb1D.js → settings-C6h9y5XX.js} +1 -1
- package/dist/client/assets/{sliders-horizontal-C8njVwfg.js → sliders-horizontal-BhHKxsCO.js} +1 -1
- package/dist/client/assets/{sparkles-CETYrxGA.js → sparkles-Cf8gin88.js} +1 -1
- package/dist/client/assets/{sse-CD9MMUxl.js → sse-DDHEHUgz.js} +1 -1
- package/dist/client/assets/{tail-events-Ps8KpKah.js → tail-events-BdUrO0kb.js} +1 -1
- package/dist/client/assets/{terminal-9GRS_Qdc.js → terminal-C3YRPfyz.js} +1 -1
- package/dist/client/assets/{terminal-relay-GYMIvKs1.js → terminal-relay-BFhdIstF.js} +1 -1
- package/dist/client/assets/{terminal-takeover-_Jyys4me.js → terminal-takeover-B6H4llRR.js} +1 -1
- package/dist/client/assets/{text-BP3oyl8-.js → text-Faa3ZStB.js} +1 -1
- package/dist/client/assets/{use-conversation-list-C9ABzjXI.js → use-conversation-list-DO5J8T1H.js} +1 -1
- package/dist/client/assets/{use-fleet-active-asks-DAspZQjE.js → use-fleet-active-asks-BtgNnRgK.js} +1 -1
- package/dist/client/assets/{use-mesh-ops-items-Dh54ymEp.js → use-mesh-ops-items-N1HHhChY.js} +1 -1
- package/dist/client/assets/{use-reduced-motion-x8pJMVrG.js → use-reduced-motion-8WuxLa5l.js} +1 -1
- package/dist/client/assets/{use-scout-dev-flags-DhCbiDK3.js → use-scout-dev-flags-B31qTy6m.js} +1 -1
- package/dist/client/assets/{useAgentHoverCard-DoBwV0LX.js → useAgentHoverCard-Bkv-Uz_V.js} +1 -1
- package/dist/client/assets/useContentSecondaryNav-Bpkc8ayb.js +1 -0
- package/dist/client/assets/{usePierreRuntime-ejq9dCWV.js → usePierreRuntime-BfZHKAkI.js} +1 -1
- package/dist/client/assets/{wrench-DjkoAOQt.js → wrench-DkxnZRlR.js} +1 -1
- package/dist/client/assets/{x-CAbNespN.js → x-DfRJbqrh.js} +1 -1
- package/dist/client/assets/{xterm-Cf-ngcGP.js → xterm-CJw8Epxv.js} +1 -1
- package/dist/client/assets/{zap-Cq8eWkcF.js → zap-CIo8msJB.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/main.mjs +65 -21
- package/dist/pairing-runtime-controller.mjs +8 -0
- package/dist/runtime/broker-daemon.mjs +58 -10
- package/dist/scout-control-plane-web.mjs +8 -0
- package/package.json +2 -2
- package/dist/client/assets/AgentLanesEmbedScreen-Dgcm7zd_.js +0 -1
- package/dist/client/assets/AgentsSubnav-C4xpQhsv.js +0 -1
- package/dist/client/assets/CrewWorkspaces-CkQDhyie.css +0 -1
- package/dist/client/assets/CrewWorkspaces-NKujRzwh.js +0 -1
- package/dist/client/assets/OpsScreen-D8fQafCl.js +0 -1
- package/dist/client/assets/OpsSubnav-1K4Jaf__.js +0 -1
- package/dist/client/assets/ProjectAgentProfile-Bdjd_dAx.js +0 -1
- package/dist/client/assets/ProjectsScreen-cVUkGbPz.js +0 -1
- package/dist/client/assets/SessionsScreen--5OJ3p3v.js +0 -1
- package/dist/client/assets/agents-project-COzHxZAF.css +0 -1
- package/dist/client/assets/content-9K38QchR.js +0 -1
- package/dist/client/assets/content-BRgnyXWh.js +0 -1
- package/dist/client/assets/content-BdkI07v3.js +0 -1
- package/dist/client/assets/content-C4oWa8SB.js +0 -1
- package/dist/client/assets/content-CFZ4rghn.js +0 -1
- package/dist/client/assets/content-CIqu_Ci_.js +0 -1
- package/dist/client/assets/content-CnJF9DGO.js +0 -1
- package/dist/client/assets/content-CriW8Y8u.js +0 -1
- package/dist/client/assets/content-DDCyPPk_.js +0 -1
- package/dist/client/assets/content-DtcZeh5m.js +0 -1
- package/dist/client/assets/content-U9tsdtle.js +0 -1
- package/dist/client/assets/content-hFLK3CON.js +0 -1
- package/dist/client/assets/content-p00KQrtD.js +0 -1
- package/dist/client/assets/conversation-motion-features-D9-RmBSq.js +0 -1
- package/dist/client/assets/embed-entry-BSMUykuG.js +0 -2
- package/dist/client/assets/index-zvhpRHao.js +0 -1
- package/dist/client/assets/left-B-SdEJSJ.js +0 -1
- package/dist/client/assets/library-DkALuCh5.js +0 -1
- package/dist/client/assets/resolve-panes-DeVJbS9c.js +0 -1
- package/dist/client/assets/resolve-sidebar-context-BQe5J6xF.js +0 -1
- package/dist/client/assets/useContentSecondaryNav-pZe2Zfk1.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{z as We}from"./index-
|
|
1
|
+
import{z as We}from"./index-BI9AljSD.js";function He(Te,Ie){for(var Le=0;Le<Ie.length;Le++){const ge=Ie[Le];if(typeof ge!="string"&&!Array.isArray(ge)){for(const ae in ge)if(ae!=="default"&&!(ae in Te)){const Re=Object.getOwnPropertyDescriptor(ge,ae);Re&&Object.defineProperty(Te,ae,Re.get?Re:{enumerable:!0,get:()=>ge[ae]})}}}return Object.freeze(Object.defineProperty(Te,Symbol.toStringTag,{value:"Module"}))}var Pe={exports:{}},Ne;function Ke(){return Ne||(Ne=1,(function(Te,Ie){(function(Le,ge){Te.exports=ge()})(globalThis,(()=>(()=>{var Le={2840:function(K,t,_){var i=this&&this.__decorate||function(s,e,l,o){var u,c=arguments.length,a=c<3?e:o===null?o=Object.getOwnPropertyDescriptor(e,l):o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(s,e,l,o);else for(var m=s.length-1;m>=0;m--)(u=s[m])&&(a=(c<3?u(a):c>3?u(e,l,a):u(e,l))||a);return c>3&&a&&Object.defineProperty(e,l,a),a},v=this&&this.__param||function(s,e){return function(l,o){e(l,o,s)}};Object.defineProperty(t,"__esModule",{value:!0}),t.AccessibilityManager=void 0;const n=_(7721),f=_(4292),g=_(7150),p=_(7098),d=_(6501),r=_(7093);let h=class extends g.Disposable{constructor(s,e,l,o){super(),this._terminal=s,this._coreBrowserService=l,this._renderService=o,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="";const u=this._coreBrowserService.mainDocument;this._accessibilityContainer=u.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=u.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let c=0;c<this._terminal.rows;c++)this._rowElements[c]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[c]);if(this._topBoundaryFocusListener=c=>this._handleBoundaryFocus(c,0),this._bottomBoundaryFocusListener=c=>this._handleBoundaryFocus(c,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=u.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new f.TimeBasedDebouncer(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this._register(this._terminal.onResize((c=>this._handleResize(c.rows)))),this._register(this._terminal.onRender((c=>this._refreshRows(c.start,c.end)))),this._register(this._terminal.onScroll((()=>this._refreshRows()))),this._register(this._terminal.onA11yChar((c=>this._handleChar(c)))),this._register(this._terminal.onLineFeed((()=>this._handleChar(`
|
|
2
2
|
`)))),this._register(this._terminal.onA11yTab((c=>this._handleTab(c)))),this._register(this._terminal.onKey((c=>this._handleKey(c.key)))),this._register(this._terminal.onBlur((()=>this._clearLiveRegion()))),this._register(this._renderService.onDimensionsChange((()=>this._refreshRowsDimensions()))),this._register((0,r.addDisposableListener)(u,"selectionchange",(()=>this._handleSelectionChange()))),this._register(this._coreBrowserService.onDprChange((()=>this._refreshRowsDimensions()))),this._refreshRowsDimensions(),this._refreshRows(),this._register((0,g.toDisposable)((()=>{this._accessibilityContainer.remove(),this._rowElements.length=0})))}_handleTab(s){for(let e=0;e<s;e++)this._handleChar(" ")}_handleChar(s){this._liveRegionLineCount<21&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==s&&(this._charsToAnnounce+=s):this._charsToAnnounce+=s,s===`
|
|
3
3
|
`&&(this._liveRegionLineCount++,this._liveRegionLineCount===21&&(this._liveRegion.textContent+=n.tooMuchOutput.get())))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(s){this._clearLiveRegion(),new RegExp("\\p{Control}","u").test(s)||this._charsToConsume.push(s)}_refreshRows(s,e){this._liveRegionDebouncer.refresh(s,e,this._terminal.rows)}_renderRows(s,e){const l=this._terminal.buffer,o=l.lines.length.toString();for(let u=s;u<=e;u++){const c=l.lines.get(l.ydisp+u),a=[],m=c?.translateToString(!0,void 0,void 0,a)||"",S=(l.ydisp+u+1).toString(),R=this._rowElements[u];R&&(m.length===0?(R.textContent=" ",this._rowColumns.set(R,[0,1])):(R.textContent=m,this._rowColumns.set(R,a)),R.setAttribute("aria-posinset",S),R.setAttribute("aria-setsize",o),this._alignRowWidth(R))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(s,e){const l=s.target,o=this._rowElements[e===0?1:this._rowElements.length-2];if(l.getAttribute("aria-posinset")===(e===0?"1":`${this._terminal.buffer.lines.length}`)||s.relatedTarget!==o)return;let u,c;if(e===0?(u=l,c=this._rowElements.pop(),this._rowContainer.removeChild(c)):(u=this._rowElements.shift(),c=l,this._rowContainer.removeChild(u)),u.removeEventListener("focus",this._topBoundaryFocusListener),c.removeEventListener("focus",this._bottomBoundaryFocusListener),e===0){const a=this._createAccessibilityTreeNode();this._rowElements.unshift(a),this._rowContainer.insertAdjacentElement("afterbegin",a)}else{const a=this._createAccessibilityTreeNode();this._rowElements.push(a),this._rowContainer.appendChild(a)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(e===0?-1:1),this._rowElements[e===0?1:this._rowElements.length-2].focus(),s.preventDefault(),s.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;const s=this._coreBrowserService.mainDocument.getSelection();if(!s)return;if(s.isCollapsed)return void(this._rowContainer.contains(s.anchorNode)&&this._terminal.clearSelection());if(!s.anchorNode||!s.focusNode)return void console.error("anchorNode and/or focusNode are null");let e={node:s.anchorNode,offset:s.anchorOffset},l={node:s.focusNode,offset:s.focusOffset};if((e.node.compareDocumentPosition(l.node)&Node.DOCUMENT_POSITION_PRECEDING||e.node===l.node&&e.offset>l.offset)&&([e,l]=[l,e]),e.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(e={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(e.node))return;const o=this._rowElements.slice(-1)[0];if(l.node.compareDocumentPosition(o)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(l={node:o,offset:o.textContent?.length??0}),!this._rowContainer.contains(l.node))return;const u=({node:m,offset:S})=>{const R=m instanceof Text?m.parentNode:m;let T=parseInt(R?.getAttribute("aria-posinset"),10)-1;if(isNaN(T))return console.warn("row is invalid. Race condition?"),null;const C=this._rowColumns.get(R);if(!C)return console.warn("columns is null. Race condition?"),null;let y=S<C.length?C[S]:C.slice(-1)[0]+1;return y>=this._terminal.cols&&(++T,y=0),{row:T,column:y}},c=u(e),a=u(l);if(c&&a){if(c.row>a.row||c.row===a.row&&c.column>=a.column)throw new Error("invalid range");this._terminal.select(c.column,c.row,(a.row-c.row)*this._terminal.cols-c.column+a.column)}}_handleResize(s){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let e=this._rowContainer.children.length;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);for(;this._rowElements.length>s;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){const s=this._coreBrowserService.mainDocument.createElement("div");return s.setAttribute("role","listitem"),s.tabIndex=-1,this._refreshRowDimensions(s),s}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let s=0;s<this._terminal.rows;s++)this._refreshRowDimensions(this._rowElements[s]),this._alignRowWidth(this._rowElements[s])}}_refreshRowDimensions(s){s.style.height=`${this._renderService.dimensions.css.cell.height}px`}_alignRowWidth(s){s.style.transform="";const e=s.getBoundingClientRect().width,l=this._rowColumns.get(s)?.slice(-1)?.[0];if(!l)return;const o=l*this._renderService.dimensions.css.cell.width;s.style.transform=`scaleX(${o/e})`}};t.AccessibilityManager=h,t.AccessibilityManager=h=i([v(1,d.IInstantiationService),v(2,p.ICoreBrowserService),v(3,p.IRenderService)],h)},7861:(K,t)=>{function _(f){return f.replace(/\r?\n/g,"\r")}function i(f,g){return g?"\x1B[200~"+f+"\x1B[201~":f}function v(f,g,p,d){f=i(f=_(f),p.decPrivateModes.bracketedPasteMode&&d.rawOptions.ignoreBracketedPasteMode!==!0),p.triggerDataEvent(f,!0),g.value=""}function n(f,g,p){const d=p.getBoundingClientRect(),r=f.clientX-d.left-10,h=f.clientY-d.top-10;g.style.width="20px",g.style.height="20px",g.style.left=`${r}px`,g.style.top=`${h}px`,g.style.zIndex="1000",g.focus()}Object.defineProperty(t,"__esModule",{value:!0}),t.prepareTextForTerminal=_,t.bracketTextForPaste=i,t.copyHandler=function(f,g){f.clipboardData&&f.clipboardData.setData("text/plain",g.selectionText),f.preventDefault()},t.handlePasteEvent=function(f,g,p,d){f.stopPropagation(),f.clipboardData&&v(f.clipboardData.getData("text/plain"),g,p,d)},t.paste=v,t.moveTextAreaUnderMouseCursor=n,t.rightClickHandler=function(f,g,p,d,r){n(f,g,p),r&&d.rightClickSelect(f),g.value=d.selectionText,g.select()}},7174:(K,t,_)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ColorContrastCache=void 0;const i=_(7710);t.ColorContrastCache=class{constructor(){this._color=new i.TwoKeyMap,this._css=new i.TwoKeyMap}setCss(v,n,f){this._css.set(v,n,f)}getCss(v,n){return this._css.get(v,n)}setColor(v,n,f){this._color.set(v,n,f)}getColor(v,n){return this._color.get(v,n)}clear(){this._color.clear(),this._css.clear()}}},1718:(K,t,_)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreBrowserTerminal=void 0;const i=_(7861),v=_(7721),n=_(3285),f=_(4017),g=_(4196),p=_(9925),d=_(3618),r=_(3955),h=_(4792),s=_(945),e=_(9574),l=_(9820),o=_(9784),u=_(5783),c=_(2079),a=_(7098),m=_(9078),S=_(4103),R=_(5777),T=_(701),C=_(6107),y=_(3534),A=_(706),N=_(8693),I=_(4720),F=_(6501),E=_(2486),w=_(2840),b=_(8906),L=_(802),M=_(7093),P=_(7150);class U extends R.CoreTerminal{get linkifier(){return this._linkifier.value}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}constructor(x={}){super(x),this._linkifier=this._register(new P.MutableDisposable),this.browser=T,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new P.MutableDisposable),this._onCursorMove=this._register(new L.Emitter),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new L.Emitter),this.onKey=this._onKey.event,this._onRender=this._register(new L.Emitter),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new L.Emitter),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new L.Emitter),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new L.Emitter),this.onBell=this._onBell.event,this._onFocus=this._register(new L.Emitter),this._onBlur=this._register(new L.Emitter),this._onA11yCharEmitter=this._register(new L.Emitter),this._onA11yTabEmitter=this._register(new L.Emitter),this._onWillOpen=this._register(new L.Emitter),this._setup(),this._decorationService=this._instantiationService.createInstance(I.DecorationService),this._instantiationService.setService(F.IDecorationService,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(l.LinkProviderService),this._instantiationService.setService(a.ILinkProviderService,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(n.OscLinkProvider)),this._register(this._inputHandler.onRequestBell((()=>this._onBell.fire()))),this._register(this._inputHandler.onRequestRefreshRows((k=>this.refresh(k?.start??0,k?.end??this.rows-1)))),this._register(this._inputHandler.onRequestSendFocus((()=>this._reportFocus()))),this._register(this._inputHandler.onRequestReset((()=>this.reset()))),this._register(this._inputHandler.onRequestWindowsOptionsReport((k=>this._reportWindowsOptions(k)))),this._register(this._inputHandler.onColor((k=>this._handleColorEvent(k)))),this._register(L.Event.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(L.Event.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(L.Event.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(L.Event.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize((k=>this._afterResize(k.cols,k.rows)))),this._register((0,P.toDisposable)((()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)})))}_handleColorEvent(x){if(this._themeService)for(const k of x){let $,j="";switch(k.index){case 256:$="foreground",j="10";break;case 257:$="background",j="11";break;case 258:$="cursor",j="12";break;default:$="ansi",j="4;"+k.index}switch(k.type){case 0:const V=S.color.toColorRGB($==="ansi"?this._themeService.colors.ansi[k.index]:this._themeService.colors[$]);this.coreService.triggerDataEvent(`${y.C0.ESC}]${j};${(0,N.toRgbString)(V)}${y.C1_ESCAPED.ST}`);break;case 1:if($==="ansi")this._themeService.modifyColors((q=>q.ansi[k.index]=S.channels.toColor(...k.color)));else{const q=$;this._themeService.modifyColors((J=>J[q]=S.channels.toColor(...k.color)))}break;case 2:this._themeService.restoreColor(k.index)}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(x){x?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(w.AccessibilityManager,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(x){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(y.C0.ESC+"[I"),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){return this.textarea?.blur()}_handleTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(y.C0.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;const x=this.buffer.ybase+this.buffer.y,k=this.buffer.lines.get(x);if(!k)return;const $=Math.min(this.buffer.x,this.cols-1),j=this._renderService.dimensions.css.cell.height,V=k.getWidth($),q=this._renderService.dimensions.css.cell.width*V,J=this.buffer.y*this._renderService.dimensions.css.cell.height,se=$*this._renderService.dimensions.css.cell.width;this.textarea.style.left=se+"px",this.textarea.style.top=J+"px",this.textarea.style.width=q+"px",this.textarea.style.height=j+"px",this.textarea.style.lineHeight=j+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this._register((0,M.addDisposableListener)(this.element,"copy",(k=>{this.hasSelection()&&(0,i.copyHandler)(k,this._selectionService)})));const x=k=>(0,i.handlePasteEvent)(k,this.textarea,this.coreService,this.optionsService);this._register((0,M.addDisposableListener)(this.textarea,"paste",x)),this._register((0,M.addDisposableListener)(this.element,"paste",x)),T.isFirefox?this._register((0,M.addDisposableListener)(this.element,"mousedown",(k=>{k.button===2&&(0,i.rightClickHandler)(k,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)}))):this._register((0,M.addDisposableListener)(this.element,"contextmenu",(k=>{(0,i.rightClickHandler)(k,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)}))),T.isLinux&&this._register((0,M.addDisposableListener)(this.element,"auxclick",(k=>{k.button===1&&(0,i.moveTextAreaUnderMouseCursor)(k,this.textarea,this.screenElement)})))}_bindKeys(){this._register((0,M.addDisposableListener)(this.textarea,"keyup",(x=>this._keyUp(x)),!0)),this._register((0,M.addDisposableListener)(this.textarea,"keydown",(x=>this._keyDown(x)),!0)),this._register((0,M.addDisposableListener)(this.textarea,"keypress",(x=>this._keyPress(x)),!0)),this._register((0,M.addDisposableListener)(this.textarea,"compositionstart",(()=>this._compositionHelper.compositionstart()))),this._register((0,M.addDisposableListener)(this.textarea,"compositionupdate",(x=>this._compositionHelper.compositionupdate(x)))),this._register((0,M.addDisposableListener)(this.textarea,"compositionend",(()=>this._compositionHelper.compositionend()))),this._register((0,M.addDisposableListener)(this.textarea,"input",(x=>this._inputEvent(x)),!0)),this._register(this.onRender((()=>this._compositionHelper.updateCompositionElements())))}open(x){if(!x)throw new Error("Terminal requires a parent element.");if(x.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),this.element?.ownerDocument.defaultView&&this._coreBrowserService)return void(this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView));this._document=x.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),x.appendChild(this.element);const k=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),k.appendChild(this._viewportElement),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this._register((0,M.addDisposableListener)(this.screenElement,"mousemove",(V=>this.updateCursorStyle(V)))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),k.appendChild(this.screenElement);const $=this.textarea=this._document.createElement("textarea");this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",v.promptLabel.get()),T.isChromeOS||this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this._register(this.optionsService.onSpecificOptionChange("disableStdin",(()=>$.readOnly=this.optionsService.rawOptions.disableStdin))),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(e.CoreBrowserService,this.textarea,x.ownerDocument.defaultView??window,this._document??typeof window<"u"?window.document:null)),this._instantiationService.setService(a.ICoreBrowserService,this._coreBrowserService),this._register((0,M.addDisposableListener)(this.textarea,"focus",(V=>this._handleTextAreaFocus(V)))),this._register((0,M.addDisposableListener)(this.textarea,"blur",(()=>this._handleTextAreaBlur()))),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(h.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(a.ICharSizeService,this._charSizeService),this._themeService=this._instantiationService.createInstance(m.ThemeService),this._instantiationService.setService(a.IThemeService,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(s.CharacterJoinerService),this._instantiationService.setService(a.ICharacterJoinerService,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(u.RenderService,this.rows,this.screenElement)),this._instantiationService.setService(a.IRenderService,this._renderService),this._register(this._renderService.onRenderedViewportChange((V=>this._onRender.fire(V)))),this.onResize((V=>this._renderService.resize(V.cols,V.rows))),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(d.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(o.MouseService),this._instantiationService.setService(a.IMouseService,this._mouseService);const j=this._linkifier.value=this._register(this._instantiationService.createInstance(b.Linkifier,this.screenElement));this.element.appendChild(k);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._register(this.onCursorMove((()=>{this._renderService.handleCursorMove(),this._syncTextArea()}))),this._register(this.onResize((()=>this._renderService.handleResize(this.cols,this.rows)))),this._register(this.onBlur((()=>this._renderService.handleBlur()))),this._register(this.onFocus((()=>this._renderService.handleFocus()))),this._viewport=this._register(this._instantiationService.createInstance(f.Viewport,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines((V=>{super.scrollLines(V,!1),this.refresh(0,this.rows-1)}))),this._selectionService=this._register(this._instantiationService.createInstance(c.SelectionService,this.element,this.screenElement,j)),this._instantiationService.setService(a.ISelectionService,this._selectionService),this._register(this._selectionService.onRequestScrollLines((V=>this.scrollLines(V.amount,V.suppressScrollEvent)))),this._register(this._selectionService.onSelectionChange((()=>this._onSelectionChange.fire()))),this._register(this._selectionService.onRequestRedraw((V=>this._renderService.handleSelectionChanged(V.start,V.end,V.columnSelectMode)))),this._register(this._selectionService.onLinuxMouseSelection((V=>{this.textarea.value=V,this.textarea.focus(),this.textarea.select()}))),this._register(L.Event.any(this._onScroll.event,this._inputHandler.onScroll)((()=>{this._selectionService.refresh(),this._viewport?.queueSync()}))),this._register(this._instantiationService.createInstance(g.BufferDecorationRenderer,this.screenElement)),this._register((0,M.addDisposableListener)(this.element,"mousedown",(V=>this._selectionService.handleMouseDown(V)))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(w.AccessibilityManager,this)),this._register(this.optionsService.onSpecificOptionChange("screenReaderMode",(V=>this._handleScreenReaderModeOptionChange(V)))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(p.OverviewRulerRenderer,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRuler",(V=>{!this._overviewRulerRenderer&&V&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(p.OverviewRulerRenderer,this._viewportElement,this.screenElement)))})),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(r.DomRenderer,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){const x=this,k=this.element;function $(q){const J=x._mouseService.getMouseReportCoords(q,x.screenElement);if(!J)return!1;let se,te;switch(q.overrideType||q.type){case"mousemove":te=32,q.buttons===void 0?(se=3,q.button!==void 0&&(se=q.button<3?q.button:3)):se=1&q.buttons?0:4&q.buttons?1:2&q.buttons?2:3;break;case"mouseup":te=0,se=q.button<3?q.button:3;break;case"mousedown":te=1,se=q.button<3?q.button:3;break;case"wheel":if(x._customWheelEventHandler&&x._customWheelEventHandler(q)===!1)return!1;const re=q.deltaY;if(re===0||x.coreMouseService.consumeWheelEvent(q,x._renderService?.dimensions?.device?.cell?.height,x._coreBrowserService?.dpr)===0)return!1;te=re<0?0:1,se=4;break;default:return!1}return!(te===void 0||se===void 0||se>4)&&x.coreMouseService.triggerMouseEvent({col:J.col,row:J.row,x:J.x,y:J.y,button:se,action:te,ctrl:q.ctrlKey,alt:q.altKey,shift:q.shiftKey})}const j={mouseup:null,wheel:null,mousedrag:null,mousemove:null},V={mouseup:q=>($(q),q.buttons||(this._document.removeEventListener("mouseup",j.mouseup),j.mousedrag&&this._document.removeEventListener("mousemove",j.mousedrag)),this.cancel(q)),wheel:q=>($(q),this.cancel(q,!0)),mousedrag:q=>{q.buttons&&$(q)},mousemove:q=>{q.buttons||$(q)}};this._register(this.coreMouseService.onProtocolChange((q=>{q?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(q)),this.element.classList.add("enable-mouse-events"),this._selectionService.disable()):(this._logService.debug("Unbinding from mouse events."),this.element.classList.remove("enable-mouse-events"),this._selectionService.enable()),8&q?j.mousemove||(k.addEventListener("mousemove",V.mousemove),j.mousemove=V.mousemove):(k.removeEventListener("mousemove",j.mousemove),j.mousemove=null),16&q?j.wheel||(k.addEventListener("wheel",V.wheel,{passive:!1}),j.wheel=V.wheel):(k.removeEventListener("wheel",j.wheel),j.wheel=null),2&q?j.mouseup||(j.mouseup=V.mouseup):(this._document.removeEventListener("mouseup",j.mouseup),j.mouseup=null),4&q?j.mousedrag||(j.mousedrag=V.mousedrag):(this._document.removeEventListener("mousemove",j.mousedrag),j.mousedrag=null)}))),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register((0,M.addDisposableListener)(k,"mousedown",(q=>{if(q.preventDefault(),this.focus(),this.coreMouseService.areMouseEventsActive&&!this._selectionService.shouldForceSelection(q))return $(q),j.mouseup&&this._document.addEventListener("mouseup",j.mouseup),j.mousedrag&&this._document.addEventListener("mousemove",j.mousedrag),this.cancel(q)}))),this._register((0,M.addDisposableListener)(k,"wheel",(q=>{if(!j.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(q)===!1)return!1;if(!this.buffer.hasScrollback){if(q.deltaY===0)return!1;if(x.coreMouseService.consumeWheelEvent(q,x._renderService?.dimensions?.device?.cell?.height,x._coreBrowserService?.dpr)===0)return this.cancel(q,!0);const J=y.C0.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(q.deltaY<0?"A":"B");return this.coreService.triggerDataEvent(J,!0),this.cancel(q,!0)}}}),{passive:!1}))}refresh(x,k){this._renderService?.refreshRows(x,k)}updateCursorStyle(x){this._selectionService?.shouldColumnSelect(x)?this.element.classList.add("column-select"):this.element.classList.remove("column-select")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(x,k){this._viewport?this._viewport.scrollLines(x):super.scrollLines(x,k),this.refresh(0,this.rows-1)}scrollPages(x){this.scrollLines(x*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(x){x&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(x){const k=x-this._bufferService.buffer.ydisp;k!==0&&this.scrollLines(k)}paste(x){(0,i.paste)(x,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(x){this._customKeyEventHandler=x}attachCustomWheelEventHandler(x){this._customWheelEventHandler=x}registerLinkProvider(x){return this._linkProviderService.registerLinkProvider(x)}registerCharacterJoiner(x){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");const k=this._characterJoinerService.register(x);return this.refresh(0,this.rows-1),k}deregisterCharacterJoiner(x){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");this._characterJoinerService.deregister(x)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(x){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+x)}registerDecoration(x){return this._decorationService.registerDecoration(x)}hasSelection(){return!!this._selectionService&&this._selectionService.hasSelection}select(x,k,$){this._selectionService.setSelection(x,k,$)}getSelection(){return this._selectionService?this._selectionService.selectionText:""}getSelectionPosition(){if(this._selectionService&&this._selectionService.hasSelection)return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){this._selectionService?.clearSelection()}selectAll(){this._selectionService?.selectAll()}selectLines(x,k){this._selectionService?.selectLines(x,k)}_keyDown(x){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(x)===!1)return!1;const k=this.browser.isMac&&this.options.macOptionIsMeta&&x.altKey;if(!k&&!this._compositionHelper.keydown(x))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;k||x.key!=="Dead"&&x.key!=="AltGraph"||(this._unprocessedDeadKey=!0);const $=(0,A.evaluateKeyboardEvent)(x,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(x),$.type===3||$.type===2){const j=this.rows-1;return this.scrollLines($.type===2?-j:j),this.cancel(x,!0)}return $.type===1&&this.selectAll(),!!this._isThirdLevelShift(this.browser,x)||($.cancel&&this.cancel(x,!0),!$.key||!!(x.key&&!x.ctrlKey&&!x.altKey&&!x.metaKey&&x.key.length===1&&x.key.charCodeAt(0)>=65&&x.key.charCodeAt(0)<=90)||(this._unprocessedDeadKey?(this._unprocessedDeadKey=!1,!0):($.key!==y.C0.ETX&&$.key!==y.C0.CR||(this.textarea.value=""),this._onKey.fire({key:$.key,domEvent:x}),this._showCursor(),this.coreService.triggerDataEvent($.key,!0),!this.optionsService.rawOptions.screenReaderMode||x.altKey||x.ctrlKey?this.cancel(x,!0):void(this._keyDownHandled=!0))))}_isThirdLevelShift(x,k){const $=x.isMac&&!this.options.macOptionIsMeta&&k.altKey&&!k.ctrlKey&&!k.metaKey||x.isWindows&&k.altKey&&k.ctrlKey&&!k.metaKey||x.isWindows&&k.getModifierState("AltGraph");return k.type==="keypress"?$:$&&(!k.keyCode||k.keyCode>47)}_keyUp(x){this._keyDownSeen=!1,this._customKeyEventHandler&&this._customKeyEventHandler(x)===!1||((function(k){return k.keyCode===16||k.keyCode===17||k.keyCode===18})(x)||this.focus(),this.updateCursorStyle(x),this._keyPressHandled=!1)}_keyPress(x){let k;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(x)===!1)return!1;if(this.cancel(x),x.charCode)k=x.charCode;else if(x.which===null||x.which===void 0)k=x.keyCode;else{if(x.which===0||x.charCode===0)return!1;k=x.which}return!(!k||(x.altKey||x.ctrlKey||x.metaKey)&&!this._isThirdLevelShift(this.browser,x)||(k=String.fromCharCode(k),this._onKey.fire({key:k,domEvent:x}),this._showCursor(),this.coreService.triggerDataEvent(k,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,0))}_inputEvent(x){if(x.data&&x.inputType==="insertText"&&(!x.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;const k=x.data;return this.coreService.triggerDataEvent(k,!0),this.cancel(x),!0}return!1}resize(x,k){x!==this.cols||k!==this.rows?super.resize(x,k):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()}_afterResize(x,k){this._charSizeService?.measure()}clear(){if(this.buffer.ybase!==0||this.buffer.y!==0){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let x=1;x<this.rows;x++)this.buffer.lines.push(this.buffer.getBlankLine(C.DEFAULT_ATTR_DATA));this._onScroll.fire({position:this.buffer.ydisp}),this.refresh(0,this.rows-1)}}reset(){this.options.rows=this.rows,this.options.cols=this.cols;const x=this._customKeyEventHandler;this._setup(),super.reset(),this._selectionService?.reset(),this._decorationService.reset(),this._customKeyEventHandler=x,this.refresh(0,this.rows-1)}clearTextureAtlas(){this._renderService?.clearTextureAtlas()}_reportFocus(){this.element?.classList.contains("focus")?this.coreService.triggerDataEvent(y.C0.ESC+"[I"):this.coreService.triggerDataEvent(y.C0.ESC+"[O")}_reportWindowsOptions(x){if(this._renderService)switch(x){case E.WindowsOptionsReportType.GET_WIN_SIZE_PIXELS:const k=this._renderService.dimensions.css.canvas.width.toFixed(0),$=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${y.C0.ESC}[4;${$};${k}t`);break;case E.WindowsOptionsReportType.GET_CELL_SIZE_PIXELS:const j=this._renderService.dimensions.css.cell.width.toFixed(0),V=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${y.C0.ESC}[6;${V};${j}t`)}}cancel(x,k){if(this.options.cancelEvents||k)return x.preventDefault(),x.stopPropagation(),!1}}t.CoreBrowserTerminal=U},8906:function(K,t,_){var i=this&&this.__decorate||function(h,s,e,l){var o,u=arguments.length,c=u<3?s:l===null?l=Object.getOwnPropertyDescriptor(s,e):l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")c=Reflect.decorate(h,s,e,l);else for(var a=h.length-1;a>=0;a--)(o=h[a])&&(c=(u<3?o(c):u>3?o(s,e,c):o(s,e))||c);return u>3&&c&&Object.defineProperty(s,e,c),c},v=this&&this.__param||function(h,s){return function(e,l){s(e,l,h)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Linkifier=void 0;const n=_(7150),f=_(6501),g=_(7098),p=_(802),d=_(7093);let r=class extends n.Disposable{get currentLink(){return this._currentLink}constructor(h,s,e,l,o){super(),this._element=h,this._mouseService=s,this._renderService=e,this._bufferService=l,this._linkProviderService=o,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this._register(new p.Emitter),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new p.Emitter),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register((0,n.toDisposable)((()=>{(0,n.dispose)(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()}))),this._register(this._bufferService.onResize((()=>{this._clearCurrentLink(),this._wasResized=!0}))),this._register((0,d.addDisposableListener)(this._element,"mouseleave",(()=>{this._isMouseOut=!0,this._clearCurrentLink()}))),this._register((0,d.addDisposableListener)(this._element,"mousemove",this._handleMouseMove.bind(this))),this._register((0,d.addDisposableListener)(this._element,"mousedown",this._handleMouseDown.bind(this))),this._register((0,d.addDisposableListener)(this._element,"mouseup",this._handleMouseUp.bind(this)))}_handleMouseMove(h){this._lastMouseEvent=h;const s=this._positionFromMouseEvent(h,this._element,this._mouseService);if(!s)return;this._isMouseOut=!1;const e=h.composedPath();for(let l=0;l<e.length;l++){const o=e[l];if(o.classList.contains("xterm"))break;if(o.classList.contains("xterm-hover"))return}this._lastBufferCell&&s.x===this._lastBufferCell.x&&s.y===this._lastBufferCell.y||(this._handleHover(s),this._lastBufferCell=s)}_handleHover(h){if(this._activeLine!==h.y||this._wasResized)return this._clearCurrentLink(),this._askForLink(h,!1),void(this._wasResized=!1);this._currentLink&&this._linkAtPosition(this._currentLink.link,h)||(this._clearCurrentLink(),this._askForLink(h,!0))}_askForLink(h,s){this._activeProviderReplies&&s||(this._activeProviderReplies?.forEach((l=>{l?.forEach((o=>{o.link.dispose&&o.link.dispose()}))})),this._activeProviderReplies=new Map,this._activeLine=h.y);let e=!1;for(const[l,o]of this._linkProviderService.linkProviders.entries())s?this._activeProviderReplies?.get(l)&&(e=this._checkLinkProviderResult(l,h,e)):o.provideLinks(h.y,(u=>{if(this._isMouseOut)return;const c=u?.map((a=>({link:a})));this._activeProviderReplies?.set(l,c),e=this._checkLinkProviderResult(l,h,e),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(h.y,this._activeProviderReplies)}))}_removeIntersectingLinks(h,s){const e=new Set;for(let l=0;l<s.size;l++){const o=s.get(l);if(o)for(let u=0;u<o.length;u++){const c=o[u],a=c.link.range.start.y<h?0:c.link.range.start.x,m=c.link.range.end.y>h?this._bufferService.cols:c.link.range.end.x;for(let S=a;S<=m;S++){if(e.has(S)){o.splice(u--,1);break}e.add(S)}}}}_checkLinkProviderResult(h,s,e){if(!this._activeProviderReplies)return e;const l=this._activeProviderReplies.get(h);let o=!1;for(let u=0;u<h;u++)this._activeProviderReplies.has(u)&&!this._activeProviderReplies.get(u)||(o=!0);if(!o&&l){const u=l.find((c=>this._linkAtPosition(c.link,s)));u&&(e=!0,this._handleNewLink(u))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!e)for(let u=0;u<this._activeProviderReplies.size;u++){const c=this._activeProviderReplies.get(u)?.find((a=>this._linkAtPosition(a.link,s)));if(c){e=!0,this._handleNewLink(c);break}}return e}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(h){if(!this._currentLink)return;const s=this._positionFromMouseEvent(h,this._element,this._mouseService);var e,l;s&&this._mouseDownLink&&(e=this._mouseDownLink.link,l=this._currentLink.link,e.text===l.text&&e.range.start.x===l.range.start.x&&e.range.start.y===l.range.start.y&&e.range.end.x===l.range.end.x&&e.range.end.y===l.range.end.y)&&this._linkAtPosition(this._currentLink.link,s)&&this._currentLink.link.activate(h,this._currentLink.link.text)}_clearCurrentLink(h,s){this._currentLink&&this._lastMouseEvent&&(!h||!s||this._currentLink.link.range.start.y>=h&&this._currentLink.link.range.end.y<=s)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,(0,n.dispose)(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(h){if(!this._lastMouseEvent)return;const s=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);s&&this._linkAtPosition(h.link,s)&&(this._currentLink=h,this._currentLink.state={decorations:{underline:h.link.decorations===void 0||h.link.decorations.underline,pointerCursor:h.link.decorations===void 0||h.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,h.link,this._lastMouseEvent),h.link.decorations={},Object.defineProperties(h.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:e=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==e&&(this._currentLink.state.decorations.pointerCursor=e,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",e))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:e=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==e&&(this._currentLink.state.decorations.underline=e,this._currentLink.state.isHovered&&this._fireUnderlineEvent(h.link,e))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange((e=>{if(!this._currentLink)return;const l=e.start===0?0:e.start+1+this._bufferService.buffer.ydisp,o=this._bufferService.buffer.ydisp+1+e.end;if(this._currentLink.link.range.start.y>=l&&this._currentLink.link.range.end.y<=o&&(this._clearCurrentLink(l,o),this._lastMouseEvent)){const u=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);u&&this._askForLink(u,!1)}}))))}_linkHover(h,s,e){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(s,!0),this._currentLink.state.decorations.pointerCursor&&h.classList.add("xterm-cursor-pointer")),s.hover&&s.hover(e,s.text)}_fireUnderlineEvent(h,s){const e=h.range,l=this._bufferService.buffer.ydisp,o=this._createLinkUnderlineEvent(e.start.x-1,e.start.y-l-1,e.end.x,e.end.y-l-1,void 0);(s?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(o)}_linkLeave(h,s,e){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(s,!1),this._currentLink.state.decorations.pointerCursor&&h.classList.remove("xterm-cursor-pointer")),s.leave&&s.leave(e,s.text)}_linkAtPosition(h,s){const e=h.range.start.y*this._bufferService.cols+h.range.start.x,l=h.range.end.y*this._bufferService.cols+h.range.end.x,o=s.y*this._bufferService.cols+s.x;return e<=o&&o<=l}_positionFromMouseEvent(h,s,e){const l=e.getCoords(h,s,this._bufferService.cols,this._bufferService.rows);if(l)return{x:l[0],y:l[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(h,s,e,l,o){return{x1:h,y1:s,x2:e,y2:l,cols:this._bufferService.cols,fg:o}}};t.Linkifier=r,t.Linkifier=r=i([v(1,g.IMouseService),v(2,g.IRenderService),v(3,f.IBufferService),v(4,g.ILinkProviderService)],r)},7721:(K,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.tooMuchOutput=t.promptLabel=void 0;let _="Terminal input";const i={get:()=>_,set:f=>_=f};t.promptLabel=i;let v="Too much output to announce, navigate to rows manually to read";const n={get:()=>v,set:f=>v=f};t.tooMuchOutput=n},3285:function(K,t,_){var i=this&&this.__decorate||function(d,r,h,s){var e,l=arguments.length,o=l<3?r:s===null?s=Object.getOwnPropertyDescriptor(r,h):s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(d,r,h,s);else for(var u=d.length-1;u>=0;u--)(e=d[u])&&(o=(l<3?e(o):l>3?e(r,h,o):e(r,h))||o);return l>3&&o&&Object.defineProperty(r,h,o),o},v=this&&this.__param||function(d,r){return function(h,s){r(h,s,d)}};Object.defineProperty(t,"__esModule",{value:!0}),t.OscLinkProvider=void 0;const n=_(3055),f=_(6501);let g=class{constructor(d,r,h){this._bufferService=d,this._optionsService=r,this._oscLinkService=h}provideLinks(d,r){const h=this._bufferService.buffer.lines.get(d-1);if(!h)return void r(void 0);const s=[],e=this._optionsService.rawOptions.linkHandler,l=new n.CellData,o=h.getTrimmedLength();let u=-1,c=-1,a=!1;for(let m=0;m<o;m++)if(c!==-1||h.hasContent(m)){if(h.loadCell(m,l),l.hasExtendedAttrs()&&l.extended.urlId){if(c===-1){c=m,u=l.extended.urlId;continue}a=l.extended.urlId!==u}else c!==-1&&(a=!0);if(a||c!==-1&&m===o-1){const S=this._oscLinkService.getLinkData(u)?.uri;if(S){const R={start:{x:c+1,y:d},end:{x:m+(a||m!==o-1?0:1),y:d}};let T=!1;if(!e?.allowNonHttpProtocols)try{const C=new URL(S);["http:","https:"].includes(C.protocol)||(T=!0)}catch{T=!0}T||s.push({text:S,range:R,activate:(C,y)=>e?e.activate(C,y,R):p(0,y),hover:(C,y)=>e?.hover?.(C,y,R),leave:(C,y)=>e?.leave?.(C,y,R)})}a=!1,l.hasExtendedAttrs()&&l.extended.urlId?(c=m,u=l.extended.urlId):(c=-1,u=-1)}}r(s)}};function p(d,r){if(confirm(`Do you want to navigate to ${r}?
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as a}from"./createLucideIcon-
|
|
1
|
+
import{c as a}from"./createLucideIcon-DthwWQIg.js";const o=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],e=a("zap",o);export{e as Z};
|
package/dist/client/index.html
CHANGED
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
</script>
|
|
53
|
-
<script type="module" crossorigin src="/assets/index-
|
|
53
|
+
<script type="module" crossorigin src="/assets/index-BI9AljSD.js"></script>
|
|
54
54
|
<link rel="stylesheet" crossorigin href="/assets/index-i7TMxlwW.css">
|
|
55
55
|
</head>
|
|
56
56
|
<body>
|
package/dist/main.mjs
CHANGED
|
@@ -2195,6 +2195,12 @@ var init_runtime_catalog = __esm(() => {
|
|
|
2195
2195
|
reasoningEfforts = new Set(SCOUT_REASONING_EFFORTS);
|
|
2196
2196
|
});
|
|
2197
2197
|
|
|
2198
|
+
// ../protocol/src/scout-baseline-runtime.ts
|
|
2199
|
+
var init_scout_baseline_runtime = () => {};
|
|
2200
|
+
|
|
2201
|
+
// ../protocol/src/session-title.ts
|
|
2202
|
+
var init_session_title = () => {};
|
|
2203
|
+
|
|
2198
2204
|
// ../protocol/src/reserved-vocabulary.ts
|
|
2199
2205
|
function scoutReservedVocabularyKind(value) {
|
|
2200
2206
|
const normalized = normalizeAgentSelectorSegment(value ?? "");
|
|
@@ -2635,6 +2641,8 @@ var init_src = __esm(() => {
|
|
|
2635
2641
|
init_runtime_profiles();
|
|
2636
2642
|
init_runtime_execution();
|
|
2637
2643
|
init_runtime_catalog();
|
|
2644
|
+
init_scout_baseline_runtime();
|
|
2645
|
+
init_session_title();
|
|
2638
2646
|
init_reserved_vocabulary();
|
|
2639
2647
|
init_scout_composer();
|
|
2640
2648
|
init_inbox();
|
|
@@ -101462,7 +101470,7 @@ var init_stdio2 = __esm(() => {
|
|
|
101462
101470
|
// ../../apps/desktop/src/shared/product.ts
|
|
101463
101471
|
var SCOUT_APP_VERSION;
|
|
101464
101472
|
var init_product = __esm(() => {
|
|
101465
|
-
SCOUT_APP_VERSION = process.env.SCOUT_APP_VERSION?.trim() || "0.2.
|
|
101473
|
+
SCOUT_APP_VERSION = process.env.SCOUT_APP_VERSION?.trim() || "0.2.97";
|
|
101466
101474
|
});
|
|
101467
101475
|
|
|
101468
101476
|
// ../../apps/desktop/src/core/mcp/stdio-server-lifecycle.ts
|
|
@@ -105534,6 +105542,7 @@ __export(exports_install, {
|
|
|
105534
105542
|
verifyDownloadedAsset: () => verifyDownloadedAsset,
|
|
105535
105543
|
runInstallCommand: () => runInstallCommand,
|
|
105536
105544
|
renderInstallCommandHelp: () => renderInstallCommandHelp,
|
|
105545
|
+
processIdsForMenuOutsideApp: () => processIdsForMenuOutsideApp,
|
|
105537
105546
|
processIdsForInstalledApp: () => processIdsForInstalledApp,
|
|
105538
105547
|
parseInstallArgs: () => parseInstallArgs,
|
|
105539
105548
|
parseGithubAssetDigest: () => parseGithubAssetDigest,
|
|
@@ -105574,7 +105583,8 @@ function renderInstallCommandHelp() {
|
|
|
105574
105583
|
" then codesign and Gatekeeper-assess the DMG before mounting. OpenScout.app",
|
|
105575
105584
|
" must match the pinned bundle id and Team ID, pass codesign --deep --strict,",
|
|
105576
105585
|
" and pass Gatekeeper execute after staging. A running copy of the installed",
|
|
105577
|
-
" app
|
|
105586
|
+
" app and any stale ScoutMenu helpers from other checkouts are stopped first;",
|
|
105587
|
+
" replacement is staged and rolled back on failure.",
|
|
105578
105588
|
" Quarantine attributes are not cleared.",
|
|
105579
105589
|
"",
|
|
105580
105590
|
" The app uses the local scout CLI for the bundled runtime. Install the CLI",
|
|
@@ -106025,37 +106035,69 @@ function processIdsForInstalledApp(psOutput, appPath) {
|
|
|
106025
106035
|
}
|
|
106026
106036
|
return pids;
|
|
106027
106037
|
}
|
|
106028
|
-
function
|
|
106038
|
+
function processIdsForMenuOutsideApp(psOutput, appPath) {
|
|
106039
|
+
const pids = [];
|
|
106040
|
+
for (const rawLine of psOutput.split(`
|
|
106041
|
+
`)) {
|
|
106042
|
+
const line = rawLine.trim();
|
|
106043
|
+
if (!line)
|
|
106044
|
+
continue;
|
|
106045
|
+
const match = line.match(/^(\d+)\s+(\S+)/);
|
|
106046
|
+
if (!match)
|
|
106047
|
+
continue;
|
|
106048
|
+
const pid = Number(match[1]);
|
|
106049
|
+
const executable = match[2];
|
|
106050
|
+
if (!Number.isInteger(pid) || pid <= 0)
|
|
106051
|
+
continue;
|
|
106052
|
+
if (executable !== MENU_PROCESS_EXECUTABLE && !executable.endsWith(`/${MENU_PROCESS_EXECUTABLE}`)) {
|
|
106053
|
+
continue;
|
|
106054
|
+
}
|
|
106055
|
+
if (executableIsInsideApp(executable, appPath))
|
|
106056
|
+
continue;
|
|
106057
|
+
pids.push(pid);
|
|
106058
|
+
}
|
|
106059
|
+
return pids;
|
|
106060
|
+
}
|
|
106061
|
+
function inspectInstallProcessIds(deps) {
|
|
106029
106062
|
const result = deps.run("ps", ["-axo", "pid=,args="]);
|
|
106030
106063
|
requireSuccess(result, "could not inspect running OpenScout processes");
|
|
106031
|
-
return
|
|
106064
|
+
return {
|
|
106065
|
+
installed: processIdsForInstalledApp(result.stdout, deps.appPath),
|
|
106066
|
+
staleMenus: processIdsForMenuOutsideApp(result.stdout, deps.appPath)
|
|
106067
|
+
};
|
|
106032
106068
|
}
|
|
106033
|
-
function
|
|
106034
|
-
|
|
106069
|
+
function listPidsBlockingInstall(deps) {
|
|
106070
|
+
const { installed, staleMenus } = inspectInstallProcessIds(deps);
|
|
106071
|
+
return [...new Set([...installed, ...staleMenus])];
|
|
106035
106072
|
}
|
|
106036
|
-
function
|
|
106073
|
+
function isInstallBlocked(deps) {
|
|
106074
|
+
return listPidsBlockingInstall(deps).length > 0;
|
|
106075
|
+
}
|
|
106076
|
+
function waitUntilInstallUnblocked(deps, attempts) {
|
|
106037
106077
|
for (let index2 = 0;index2 < attempts; index2 += 1) {
|
|
106038
|
-
if (!
|
|
106078
|
+
if (!isInstallBlocked(deps))
|
|
106039
106079
|
return true;
|
|
106040
106080
|
if (index2 + 1 < attempts)
|
|
106041
106081
|
deps.sleep(STOP_POLL_MS);
|
|
106042
106082
|
}
|
|
106043
|
-
return !
|
|
106083
|
+
return !isInstallBlocked(deps);
|
|
106044
106084
|
}
|
|
106045
106085
|
function stopRunningApp(deps) {
|
|
106046
|
-
const
|
|
106086
|
+
const { installed, staleMenus } = inspectInstallProcessIds(deps);
|
|
106087
|
+
const hadInstalledRunning = installed.length > 0;
|
|
106088
|
+
const initialPids = [...new Set([...installed, ...staleMenus])];
|
|
106047
106089
|
if (initialPids.length === 0)
|
|
106048
106090
|
return false;
|
|
106049
106091
|
for (const pid of initialPids) {
|
|
106050
106092
|
deps.run("kill", [String(pid)]);
|
|
106051
106093
|
}
|
|
106052
|
-
if (
|
|
106053
|
-
return
|
|
106054
|
-
for (const pid of
|
|
106094
|
+
if (waitUntilInstallUnblocked(deps, STOP_POLL_ATTEMPTS))
|
|
106095
|
+
return hadInstalledRunning;
|
|
106096
|
+
for (const pid of listPidsBlockingInstall(deps)) {
|
|
106055
106097
|
deps.run("kill", ["-9", String(pid)]);
|
|
106056
106098
|
}
|
|
106057
|
-
if (
|
|
106058
|
-
return
|
|
106099
|
+
if (waitUntilInstallUnblocked(deps, STOP_POLL_ATTEMPTS))
|
|
106100
|
+
return hadInstalledRunning;
|
|
106059
106101
|
throw new ScoutCliError("could not stop OpenScout before replacing it");
|
|
106060
106102
|
}
|
|
106061
106103
|
function launchApp(deps) {
|
|
@@ -106193,7 +106235,7 @@ async function runInstallCommand(context, args, dependencies = {}) {
|
|
|
106193
106235
|
releaseInstallLock();
|
|
106194
106236
|
}
|
|
106195
106237
|
}
|
|
106196
|
-
var OPENSCOUT_RELEASE_OWNER = "oscout", OPENSCOUT_RELEASE_REPOSITORY = "scout", OPENSCOUT_APP_NAME = "OpenScout.app", OPENSCOUT_APP_BUNDLE_ID = "app.openscout.scout", OPENSCOUT_SIGNING_TEAM_ID = "2U83JFPW66", DEFAULT_OPENSCOUT_APP_PATH, GITHUB_ASSET_DIGEST_ALGORITHM = "sha256", GITHUB_ASSET_DIGEST_HEX_LENGTH = 64, LATEST_DMG_ALIAS = "OpenScout.dmg", USER_AGENT = "scout-cli", BACKUP_SUFFIX = ".openscout-previous", INSTALL_LOCK_SUFFIX = ".openscout-install.lock", SHLOCK_PATH = "/usr/bin/shlock", STOP_POLL_ATTEMPTS = 50, STOP_POLL_MS = 100, HELP_FLAGS9;
|
|
106238
|
+
var OPENSCOUT_RELEASE_OWNER = "oscout", OPENSCOUT_RELEASE_REPOSITORY = "scout", OPENSCOUT_APP_NAME = "OpenScout.app", OPENSCOUT_APP_BUNDLE_ID = "app.openscout.scout", OPENSCOUT_SIGNING_TEAM_ID = "2U83JFPW66", DEFAULT_OPENSCOUT_APP_PATH, GITHUB_ASSET_DIGEST_ALGORITHM = "sha256", GITHUB_ASSET_DIGEST_HEX_LENGTH = 64, LATEST_DMG_ALIAS = "OpenScout.dmg", USER_AGENT = "scout-cli", BACKUP_SUFFIX = ".openscout-previous", INSTALL_LOCK_SUFFIX = ".openscout-install.lock", SHLOCK_PATH = "/usr/bin/shlock", STOP_POLL_ATTEMPTS = 50, STOP_POLL_MS = 100, MENU_PROCESS_EXECUTABLE = "ScoutMenu", HELP_FLAGS9;
|
|
106197
106239
|
var init_install = __esm(() => {
|
|
106198
106240
|
init_errors();
|
|
106199
106241
|
DEFAULT_OPENSCOUT_APP_PATH = `/Applications/${OPENSCOUT_APP_NAME}`;
|
|
@@ -114639,9 +114681,9 @@ function renderMenuCommandHelp() {
|
|
|
114639
114681
|
"",
|
|
114640
114682
|
"Behavior:",
|
|
114641
114683
|
" On macOS, `scout menu` loads the menu bar app from the installed OpenScout.app",
|
|
114642
|
-
" (the menu ships as an embedded helper). If OpenScout.app is not installed,
|
|
114643
|
-
"
|
|
114644
|
-
"
|
|
114684
|
+
" (the menu ships as an embedded helper). If OpenScout.app is not installed, a",
|
|
114685
|
+
" repo checkout can fall back to `apps/macos/bin/openscout-menu.ts` for local",
|
|
114686
|
+
" development. `scout menu build` and `scout menu dmg` always require a checkout.",
|
|
114645
114687
|
"",
|
|
114646
114688
|
"Examples:",
|
|
114647
114689
|
" scout menu",
|
|
@@ -114905,8 +114947,10 @@ async function runMenuCommand(context, args) {
|
|
|
114905
114947
|
}
|
|
114906
114948
|
const command = parseMenuCommand(args);
|
|
114907
114949
|
await ensureMenuProviderTelemetry(context, command.action);
|
|
114908
|
-
const
|
|
114909
|
-
const
|
|
114950
|
+
const installedAppPath = resolveInstalledAppBundlePath(context.env);
|
|
114951
|
+
const repoHelperPath = findRepoMenuHelper(defaultScoutContextDirectory(context));
|
|
114952
|
+
const preferRepoHelper = command.action === "build" || command.action === "dmg";
|
|
114953
|
+
const result = preferRepoHelper && repoHelperPath ? await runWithRepoHelper(context, repoHelperPath, command) : installedAppPath ? await runWithInstalledApp(context, command) : repoHelperPath ? await runWithRepoHelper(context, repoHelperPath, command) : await runWithInstalledApp(context, command);
|
|
114910
114954
|
context.output.writeValue(result, renderMenuResult);
|
|
114911
114955
|
}
|
|
114912
114956
|
var MENU_BUNDLE_ID = "app.openscout.scout.menu", MENU_PROCESS_NAME = "ScoutMenu", APP_BUNDLE_ID = "app.openscout.scout", APP_BUNDLE_NAME = "OpenScout.app", EMBEDDED_MENU_RELATIVE_PATH, HELP_FLAGS14, COMMON_APP_BUNDLE_PATHS;
|
|
@@ -3161,6 +3161,12 @@ var init_runtime_catalog = __esm(() => {
|
|
|
3161
3161
|
reasoningEfforts = new Set(SCOUT_REASONING_EFFORTS);
|
|
3162
3162
|
});
|
|
3163
3163
|
|
|
3164
|
+
// ../protocol/src/scout-baseline-runtime.ts
|
|
3165
|
+
var init_scout_baseline_runtime = () => {};
|
|
3166
|
+
|
|
3167
|
+
// ../protocol/src/session-title.ts
|
|
3168
|
+
var init_session_title = () => {};
|
|
3169
|
+
|
|
3164
3170
|
// ../protocol/src/reserved-vocabulary.ts
|
|
3165
3171
|
function scoutReservedVocabularyKind(value) {
|
|
3166
3172
|
const normalized = normalizeAgentSelectorSegment(value ?? "");
|
|
@@ -3462,6 +3468,8 @@ var init_src = __esm(() => {
|
|
|
3462
3468
|
init_runtime_profiles();
|
|
3463
3469
|
init_runtime_execution();
|
|
3464
3470
|
init_runtime_catalog();
|
|
3471
|
+
init_scout_baseline_runtime();
|
|
3472
|
+
init_session_title();
|
|
3465
3473
|
init_reserved_vocabulary();
|
|
3466
3474
|
init_scout_composer();
|
|
3467
3475
|
init_inbox();
|
|
@@ -5503,7 +5503,7 @@ function sortBy(array2, compareBy) {
|
|
|
5503
5503
|
});
|
|
5504
5504
|
}
|
|
5505
5505
|
}
|
|
5506
|
-
function
|
|
5506
|
+
function compact2(array2) {
|
|
5507
5507
|
return array2.filter((item) => item !== undefined && item !== false && item !== null);
|
|
5508
5508
|
}
|
|
5509
5509
|
function filter(array2, fn) {
|
|
@@ -5818,7 +5818,7 @@ var init_chunk_3PKNQ3KB = __esm(() => {
|
|
|
5818
5818
|
__name(predicateOnArray, "predicateOnArray");
|
|
5819
5819
|
__name(keyBy, "keyBy");
|
|
5820
5820
|
__name(sortBy, "sortBy");
|
|
5821
|
-
__name(
|
|
5821
|
+
__name(compact2, "compact");
|
|
5822
5822
|
__name(filter, "filter");
|
|
5823
5823
|
__name(each, "each");
|
|
5824
5824
|
__name(castArray, "castArray");
|
|
@@ -5833,7 +5833,7 @@ var init_chunk_3PKNQ3KB = __esm(() => {
|
|
|
5833
5833
|
_ = {
|
|
5834
5834
|
keyBy,
|
|
5835
5835
|
sortBy,
|
|
5836
|
-
compact,
|
|
5836
|
+
compact: compact2,
|
|
5837
5837
|
keys: Object.keys,
|
|
5838
5838
|
values: Object.values,
|
|
5839
5839
|
some: /* @__PURE__ */ __name((a, fn) => a.some(fn), "some"),
|
|
@@ -44970,6 +44970,57 @@ function parseScoutRuntimeCatalog(value) {
|
|
|
44970
44970
|
return errors3.length || !revision ? { ok: false, errors: errors3 } : { ok: true, catalog: { schemaVersion: "openscout.runtime-catalog.v1", revision, harnesses } };
|
|
44971
44971
|
}
|
|
44972
44972
|
|
|
44973
|
+
// packages/protocol/src/session-title.ts
|
|
44974
|
+
var TITLE_MAX_CHARS = 72;
|
|
44975
|
+
var WRAPPER_TAGS = [
|
|
44976
|
+
"local-command-caveat",
|
|
44977
|
+
"task-notification",
|
|
44978
|
+
"command-name",
|
|
44979
|
+
"command-message",
|
|
44980
|
+
"command-args",
|
|
44981
|
+
"local-command"
|
|
44982
|
+
];
|
|
44983
|
+
var BOILERPLATE = [
|
|
44984
|
+
/^caveat:\s*the messages below were generated by the user/iu,
|
|
44985
|
+
/^do not respond to these messages/iu,
|
|
44986
|
+
/^\[user\]$/iu
|
|
44987
|
+
];
|
|
44988
|
+
function compact(value) {
|
|
44989
|
+
return value.replace(/\s+/gu, " ").trim();
|
|
44990
|
+
}
|
|
44991
|
+
function stripWrapperTags(value) {
|
|
44992
|
+
let next = value;
|
|
44993
|
+
for (const tag of WRAPPER_TAGS) {
|
|
44994
|
+
const block = new RegExp(`<${tag}\\b[^>]*>[\\s\\S]*?<\\/${tag}>`, "giu");
|
|
44995
|
+
const empty = new RegExp(`<${tag}\\b[^>]*\\/>`, "giu");
|
|
44996
|
+
next = next.replace(block, `
|
|
44997
|
+
`).replace(empty, `
|
|
44998
|
+
`);
|
|
44999
|
+
}
|
|
45000
|
+
next = next.replace(/<\/?[A-Za-z][\w:-]*\b[^>]*>/gu, `
|
|
45001
|
+
`);
|
|
45002
|
+
return next;
|
|
45003
|
+
}
|
|
45004
|
+
function isBoilerplate(value) {
|
|
45005
|
+
return BOILERPLATE.some((pattern) => pattern.test(value));
|
|
45006
|
+
}
|
|
45007
|
+
function looksLikeWrapperDump(value) {
|
|
45008
|
+
const lowered = value.toLowerCase();
|
|
45009
|
+
return WRAPPER_TAGS.some((tag) => lowered.includes(`<${tag}`)) || lowered.includes("caveat: the messages below were generated");
|
|
45010
|
+
}
|
|
45011
|
+
function logicalSessionTitle(source, fallback) {
|
|
45012
|
+
const raw = source?.trim() ?? "";
|
|
45013
|
+
const lines = (raw ? stripWrapperTags(raw) : "").split(/\n+/u).map((line) => compact(line)).filter((line) => line.length > 0 && !isBoilerplate(line) && !looksLikeWrapperDump(line));
|
|
45014
|
+
const candidate = lines.find((line) => line.length >= 12) ?? lines[0] ?? "";
|
|
45015
|
+
if (!candidate) {
|
|
45016
|
+
const fallbackText = fallback?.trim() ?? "";
|
|
45017
|
+
return fallbackText ? compact(fallbackText).slice(0, TITLE_MAX_CHARS) : null;
|
|
45018
|
+
}
|
|
45019
|
+
if (candidate.length <= TITLE_MAX_CHARS)
|
|
45020
|
+
return candidate;
|
|
45021
|
+
return `${candidate.slice(0, TITLE_MAX_CHARS - 1).trimEnd()}\u2026`;
|
|
45022
|
+
}
|
|
45023
|
+
|
|
44973
45024
|
// packages/protocol/src/reserved-vocabulary.ts
|
|
44974
45025
|
var SCOUT_RESERVED_ROUTE_WORDS = [
|
|
44975
45026
|
"scout",
|
|
@@ -109664,7 +109715,7 @@ var DEFAULT_MAX_PENDING_KEYS = 512;
|
|
|
109664
109715
|
var DEFAULT_MAX_TRACKED_KEYS = 4096;
|
|
109665
109716
|
var DEFAULT_MAX_FLUSH_BATCH_SIZE = 128;
|
|
109666
109717
|
var DEFAULT_RETRY_DELAY_MS = 1000;
|
|
109667
|
-
var
|
|
109718
|
+
var TITLE_MAX_CHARS2 = 96;
|
|
109668
109719
|
var PREVIEW_MAX_CHARS = 240;
|
|
109669
109720
|
var TRANSIENT_ACTIVE_STATES = new Set([
|
|
109670
109721
|
"queued",
|
|
@@ -109707,16 +109758,13 @@ function sourceDisplayName(source) {
|
|
|
109707
109758
|
return source.split(/[-_]+/gu).filter(Boolean).map((part) => `${part[0]?.toUpperCase() ?? ""}${part.slice(1)}`).join(" ") || "Harness";
|
|
109708
109759
|
}
|
|
109709
109760
|
function fallbackTitle(event) {
|
|
109710
|
-
const project = compactOptional(event.project,
|
|
109761
|
+
const project = compactOptional(event.project, TITLE_MAX_CHARS2);
|
|
109711
109762
|
return project ?? `${sourceDisplayName(event.source)} session`;
|
|
109712
109763
|
}
|
|
109713
109764
|
function contentTitle(event) {
|
|
109714
109765
|
if (event.kind !== "user")
|
|
109715
109766
|
return null;
|
|
109716
|
-
|
|
109717
|
-
if (!summary || summary.toLowerCase() === "[user]")
|
|
109718
|
-
return null;
|
|
109719
|
-
return summary;
|
|
109767
|
+
return logicalSessionTitle(event.summary);
|
|
109720
109768
|
}
|
|
109721
109769
|
function previewForEvent(event) {
|
|
109722
109770
|
if (event.kind !== "user" && event.kind !== "assistant" && event.kind !== "tool") {
|
|
@@ -109907,7 +109955,7 @@ class ObservedSessionReducer {
|
|
|
109907
109955
|
const nextTitle = existing?.explicitTitle ? existing.update.title : explicitTitle ?? existing?.update.title ?? fallbackTitle(event);
|
|
109908
109956
|
const nextExplicitTitle = existing?.explicitTitle === true || explicitTitle !== null;
|
|
109909
109957
|
const cwd = lifecycleActivity ? existing.update.cwd : compactOptional(event.cwd, PREVIEW_MAX_CHARS);
|
|
109910
|
-
const project = lifecycleActivity ? existing.update.project : compactOptional(event.project,
|
|
109958
|
+
const project = lifecycleActivity ? existing.update.project : compactOptional(event.project, TITLE_MAX_CHARS2);
|
|
109911
109959
|
const activityChanged = activity.activity !== priorActivity;
|
|
109912
109960
|
const meaningfulActivity = preview !== null || activityChanged || !existing;
|
|
109913
109961
|
const lastActivityAt = lifecycleActivity ? existing.update.lastActivityAt : meaningfulActivity ? Math.max(existing?.update.lastActivityAt ?? 0, observedAt2) : existing?.update.lastActivityAt ?? observedAt2;
|
|
@@ -9565,6 +9565,12 @@ var init_runtime_catalog = __esm(() => {
|
|
|
9565
9565
|
reasoningEfforts = new Set(SCOUT_REASONING_EFFORTS);
|
|
9566
9566
|
});
|
|
9567
9567
|
|
|
9568
|
+
// packages/protocol/src/scout-baseline-runtime.ts
|
|
9569
|
+
var init_scout_baseline_runtime = () => {};
|
|
9570
|
+
|
|
9571
|
+
// packages/protocol/src/session-title.ts
|
|
9572
|
+
var init_session_title = () => {};
|
|
9573
|
+
|
|
9568
9574
|
// packages/protocol/src/reserved-vocabulary.ts
|
|
9569
9575
|
function scoutReservedVocabularyKind(value) {
|
|
9570
9576
|
const normalized = normalizeAgentSelectorSegment(value ?? "");
|
|
@@ -10130,6 +10136,8 @@ var init_src = __esm(() => {
|
|
|
10130
10136
|
init_runtime_profiles();
|
|
10131
10137
|
init_runtime_execution();
|
|
10132
10138
|
init_runtime_catalog();
|
|
10139
|
+
init_scout_baseline_runtime();
|
|
10140
|
+
init_session_title();
|
|
10133
10141
|
init_reserved_vocabulary();
|
|
10134
10142
|
init_scout_composer();
|
|
10135
10143
|
init_inbox();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openscout/scout",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.97",
|
|
4
4
|
"description": "Local-first control plane for discovering, messaging, and coordinating AI agents across Claude Code, Codex, and more",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"openscout",
|
|
@@ -65,5 +65,5 @@
|
|
|
65
65
|
"publishConfig": {
|
|
66
66
|
"access": "public"
|
|
67
67
|
},
|
|
68
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "aa8585053c67291fbdf44d664f7f00ef4f5bf637"
|
|
69
69
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,j as m}from"./index-DvLtl7rV.js";import{u as a}from"./Provider-CtXJeLrP.js";import{A as n}from"./AgentLanesView-CetZZDyF.js";import{i as c,j as l}from"./router-B9vQkNJL.js";import"./api-Co9aQ2Jw.js";import"./perf-PX8Rx0EP.js";import"./sse-CD9MMUxl.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BJIamJOH.js";import"./DocumentFocusViewer-Do3wQ_3Z.js";import"./createLucideIcon-DezKXSG2.js";import"./TextDocumentSurface-BflAwXeZ.js";import"./file-text-CqJgwxmv.js";import"./x-CAbNespN.js";import"./chevron-right-D-HdlPg8.js";import"./code-xml-D7pOQM9l.js";import"./arrow-left-Czpf-AE4.js";import"./arrow-right-BuzMnLYP.js";import"./scout-voice-BVUqGhth.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BLYDhL3Z.js";import"./NewChatComposer-_Stj0fZy.js";import"./text-BP3oyl8-.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-pM56HNhR.js";import"./conversation-model-Dc02NsGp.js";import"./time-Dhsh_2EG.js";import"./index-zvhpRHao.js";import"./HarnessMark-B979GCSB.js";import"./NewChatOrigin-B1u7ki70.js";import"./chevron-down-wciXnOQz.js";import"./search-CDko0PKE.js";import"./chunk-HRAB3GC3-Tyv9rzx7.js";/* empty css */import"./tail-events-Ps8KpKah.js";import"./observe-BpEm1INu.js";import"./terminal-sessions-BQ6t92tJ.js";import"./types-B0PlfpKc.js";import"./AgentAvatar-6-KBVKUu.js";import"./SpriteAvatar-z5hHesx9.js";import"./CrewAvatar-BwXjyg8N.js";import"./SessionObserve-dQDN23pP.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-HByf2ndx.js";import"./lane-observe-vfyACHi0.js";import"./lane-ask-display-B6iCAVcd.js";import"./mentions-DG6OQrsc.js";import"./AgentDetailCard-C9rn3Fj5.js";import"./AgentLiveActions-DrEJDJef.js";import"./terminal-takeover-_Jyys4me.js";import"./openContent-C6XO6kr5.js";import"./eye-BRyD0jno.js";import"./terminal-9GRS_Qdc.js";import"./message-markup-C2LQDm_k.js";import"./ObservedTopologyPanel-BJUhDSuQ.js";import"./ObserveTextFlow-ZQWwrK3i.js";import"./use-reduced-motion-x8pJMVrG.js";import"./proxy-BiW5suC7.js";import"./SessionObserveEvidence-BRBGKAgd.js";import"./message-circle-mZCv8tvB.js";import"./wrench-DjkoAOQt.js";import"./external-link-Dp_a2vRZ.js";import"./AgentFloorView-YT-Jjccf.js";/* empty css */import"./agent-lanes-model-DXqjs0OK.js";import"./context-budget-DX_fwUs3.js";import"./lane-roster-store-DOdI1O13.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./AgentLanesPreflight-q20mTjms.js";import"./AgentLaneChrome-D8bARHMx.js";import"./AgentLaneCard-DI2iW9zO.js";/* empty css */import"./AgentLaneSummaryResize-CEBjmPTa.js";import"./clipboard-e3fSpeo7.js";import"./agent-lane-card-model-CNZMPkhc.js";import"./agent-lane-preview-BhplDYGf.js";import"./agent-lane-detail-ppJId6Jc.js";import"./AgentLaneDetailSheet-52un7dKC.js";import"./SlidePanel-B9ugxWgA.js";import"./LaneTraceDetailSheet-BUgHz-sd.js";import"./LaneTraceEventFocus-DM-hoPxG.js";function p(r){return new URLSearchParams(window.location.search).get(r)?.trim()||null}function Hr(){const{agents:r,navigate:o}=a(),e=t.useMemo(()=>c(),[]),s=t.useMemo(()=>l(),[]),i=t.useMemo(()=>({harnessFilter:p("harness"),projectFilter:p("project")}),[]);return m.jsx("div",{className:"s-agent-lanes-embed","data-scout-theme":!0,children:m.jsx(n,{navigate:o,agents:r,embedded:!0,profileId:e,laneSize:s,harnessFilter:i.harnessFilter,projectFilter:i.projectFilter})})}export{Hr as AgentLanesEmbedScreen};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as t}from"./index-DvLtl7rV.js";import{S as i}from"./SecondaryNav-BR4VRdgh.js";import{A as m}from"./secondaryNavConfig-BoQ_zYR9.js";import"./createLucideIcon-DezKXSG2.js";import"./message-square-C7t_qtuj.js";import"./file-text-CqJgwxmv.js";import"./search-CDko0PKE.js";import"./compass-Dt1AMXz2.js";import"./settings-Dyvpkb1D.js";import"./terminal-9GRS_Qdc.js";import"./git-branch-CK5v8F2v.js";import"./code-xml-D7pOQM9l.js";import"./scroll-text-Dze_dXtQ.js";function j({activeRoute:r,navigate:o}){return t.jsx(i,{ariaLabel:"Agents sections",activeRoute:r,groups:m,navigate:o})}export{j as AgentsSubnav};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.cw-root{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-xl) var(--space-2xl) var(--space-6xl)}.cw-root--scoped{padding-top:var(--space-lg)}.cw-toolbar{flex:none;display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm)}.cw-modeToggle{display:flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--pi-hairline);border-radius:9px;background:color-mix(in srgb,var(--hud-surface) 40%,transparent)}.cw-modeToggle button{display:flex;align-items:center;gap:6px;height:26px;padding:0 10px;border:none;border-radius:7px;background:transparent;color:var(--pi-dim);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:background .15s var(--pi-ease),color .15s var(--pi-ease)}.cw-modeToggle button:hover{color:var(--pi-muted)}.cw-modeToggle button[data-active]{background:color-mix(in srgb,var(--hud-ink) 10%,transparent);color:var(--pi-ink);box-shadow:inset 0 0 0 1px var(--pi-hairline-strong)}.cw-search{flex:1 1 220px;min-width:180px;max-width:420px;display:flex;align-items:center;gap:7px;height:30px;padding:0 10px;border:1px solid var(--pi-hairline);border-radius:8px;background:color-mix(in srgb,var(--hud-surface) 34%,transparent);color:var(--pi-dim)}.cw-search input{flex:1;min-width:0;border:none;background:transparent;color:var(--pi-ink);font-size:var(--text-sm);font-family:var(--pi-sans)}.cw-search input:focus{outline:none}.cw-search input::placeholder{color:var(--pi-dim)}.cw-filters{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.cw-filtersIcon{color:var(--pi-dim);margin-right:2px}.cw-filters button{height:26px;padding:0 10px;border:1px solid var(--pi-hairline);border-radius:999px;background:color-mix(in srgb,var(--hud-surface) 30%,transparent);color:var(--pi-dim);font-size:var(--text-2xs);font-weight:600;letter-spacing:.01em;cursor:pointer;transition:background .15s var(--pi-ease),color .15s var(--pi-ease),border-color .15s var(--pi-ease)}.cw-filters button:hover{color:var(--pi-muted);border-color:var(--pi-hairline-strong)}.cw-filters button[data-active]{background:color-mix(in srgb,var(--pi-accent) 16%,transparent);border-color:color-mix(in srgb,var(--pi-accent) 40%,var(--pi-hairline));color:var(--pi-ink)}.cw-addProject{margin-left:auto;display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:1px solid var(--pi-hairline);border-radius:8px;background:color-mix(in srgb,var(--hud-surface) 34%,transparent);color:var(--pi-muted);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:background .15s var(--pi-ease),color .15s var(--pi-ease)}.cw-addProject:hover{color:var(--pi-ink);border-color:var(--pi-hairline-strong)}.cw-digest{flex:none;display:flex;align-items:center;gap:6px;color:var(--pi-dim);font-size:var(--text-xs);font-family:var(--pi-mono)}.cw-digest span[data-tone=live]{color:color-mix(in srgb,var(--pi-accent) 78%,var(--pi-ink))}.cw-digest span[data-tone=needs]{color:color-mix(in srgb,#d9a441 82%,var(--pi-ink));font-weight:650}.cw-digestSep{opacity:.5}.cw-empty{padding:48px 12px;text-align:center;color:var(--pi-dim);font-size:var(--text-sm)}.cw-agentDirectory,.cw-agentSection{display:flex;flex-direction:column;gap:var(--space-lg)}.cw-agentSectionHead{display:flex;align-items:baseline;gap:8px;padding-bottom:var(--space-xs);border-bottom:1px solid var(--pi-hairline)}.cw-agentSectionHead h2{margin:0;color:var(--pi-ink);font-size:var(--text-sm);font-weight:650}.cw-agentSectionHead span{color:var(--pi-dim);font-family:var(--pi-mono);font-size:var(--text-2xs)}.cw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-lg)}.cw-card{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--pi-hairline);border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,white 2.5%,transparent),transparent 40%),color-mix(in srgb,var(--hud-surface) 30%,transparent);transition:border-color .16s var(--pi-ease),transform .16s var(--pi-ease),background .16s var(--pi-ease)}.cw-card:hover{border-color:var(--pi-hairline-strong);transform:translateY(-1px)}.cw-card[data-status=needs]{border-color:color-mix(in srgb,#d9a441 45%,var(--pi-hairline))}.cw-card[data-status=working]{border-color:color-mix(in srgb,var(--pi-accent) 32%,var(--pi-hairline))}.cw-cardHead{display:flex;align-items:flex-start;gap:var(--space-md)}.cw-cardIdentity{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.cw-cardNameRow{display:flex;align-items:center;gap:8px;min-width:0}.cw-cardNameRow b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pi-ink);font-size:var(--text-md);font-weight:650}.cw-statusPill{flex:none;padding:2px 8px;border-radius:999px;font-size:var(--text-2xs);font-weight:650;letter-spacing:.01em;color:var(--pi-dim);background:color-mix(in srgb,var(--hud-ink) 8%,transparent);box-shadow:inset 0 0 0 1px var(--pi-hairline)}.cw-statusPill[data-status=needs]{color:color-mix(in srgb,#d9a441 88%,var(--pi-ink));background:color-mix(in srgb,#d9a441 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,#d9a441 40%,transparent)}.cw-statusPill[data-status=working]{color:color-mix(in srgb,var(--pi-accent) 84%,var(--pi-ink));background:color-mix(in srgb,var(--pi-accent) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pi-accent) 32%,transparent)}.cw-statusPill[data-status=thinking]{color:color-mix(in srgb,#6fb7c7 86%,var(--pi-ink));background:color-mix(in srgb,#6fb7c7 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,#6fb7c7 32%,transparent)}.cw-cardSubline{display:flex;align-items:center;gap:6px;min-width:0;color:var(--pi-muted);font-size:var(--text-xs)}.cw-headline{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-substrates{display:flex;flex-wrap:wrap;gap:6px}.cw-substrateChip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border:1px solid var(--pi-hairline);border-radius:999px;background:color-mix(in srgb,var(--hud-surface) 26%,transparent);color:var(--pi-muted);font-size:var(--text-2xs);cursor:pointer;transition:border-color .15s var(--pi-ease),color .15s var(--pi-ease)}.cw-substrateChip:hover{border-color:var(--pi-hairline-strong);color:var(--pi-ink)}.cw-substrateChip[data-primary]{color:var(--pi-ink);background:color-mix(in srgb,var(--hud-ink) 6%,transparent)}.cw-substrateChip[data-live]{border-color:color-mix(in srgb,var(--pi-accent) 34%,var(--pi-hairline))}.cw-substrateChip em{font-style:normal;color:var(--pi-dim);font-family:var(--pi-mono)}.cw-work{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);padding-top:var(--space-2xs);border-top:1px solid var(--pi-hairline)}.cw-work p{flex:1;min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pi-ink);font-size:var(--text-sm)}.cw-work time{flex:none;color:var(--pi-dim);font-size:var(--text-2xs);font-family:var(--pi-mono)}.cw-cardActions{display:flex;gap:6px}.cw-cardActions:empty{display:none}.cw-cardActions button{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;height:26px;border:1px solid var(--pi-hairline);border-radius:7px;background:transparent;color:var(--pi-muted);font-size:var(--text-2xs);font-weight:600;cursor:pointer;transition:background .15s var(--pi-ease),color .15s var(--pi-ease),border-color .15s var(--pi-ease)}.cw-cardActions button:hover{color:var(--pi-ink);border-color:var(--pi-hairline-strong);background:color-mix(in srgb,var(--hud-ink) 5%,transparent)}.cw-projectContext{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--pi-hairline);border-radius:7px;background:color-mix(in srgb,var(--hud-surface) 28%,transparent);color:var(--pi-muted);font-size:var(--text-2xs)}.cw-projectContext span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--pi-mono)}.cw-projectContext em{font-style:normal;color:var(--pi-dim)}.cw-workspaceList{display:flex;flex-direction:column;gap:5px}.cw-workspace{border:1px solid var(--pi-hairline);border-radius:8px;background:color-mix(in srgb,var(--hud-surface) 18%,transparent);overflow:hidden}.cw-workspace[data-state=needs]{border-color:color-mix(in srgb,#d9a441 40%,var(--pi-hairline))}.cw-workspace[data-state=live]{border-color:color-mix(in srgb,var(--pi-accent) 28%,var(--pi-hairline))}.cw-workspaceHead{width:100%;display:flex;align-items:center;gap:var(--space-md);min-height:44px;padding:8px 12px;border:none;background:transparent;color:inherit;text-align:left;cursor:pointer;transition:background .15s var(--pi-ease)}.cw-workspaceHead:hover{background:color-mix(in srgb,var(--hud-ink) 4%,transparent)}.cw-workspaceTitle{flex:none;display:flex;align-items:center;gap:6px;color:var(--pi-ink);font-size:var(--text-sm);font-weight:650}.cw-workspaceRoot{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pi-dim);font-family:var(--pi-mono);font-size:var(--text-xs)}.cw-workspaceMeta{flex:none;display:flex;align-items:center;gap:10px;color:var(--pi-dim);font-size:var(--text-xs)}.cw-workspaceMeta b{font-weight:650;color:var(--pi-muted)}.cw-workspaceMeta b[data-tone=needs]{color:color-mix(in srgb,#d9a441 85%,var(--pi-ink))}.cw-workspaceMeta b[data-tone=live]{color:color-mix(in srgb,var(--pi-accent) 82%,var(--pi-ink))}.cw-workspaceMeta time{font-family:var(--pi-mono)}.cw-modeToggle button:focus-visible,.cw-filters button:focus-visible,.cw-addProject:focus-visible,.cw-workspaceHead:focus-visible,.cw-substrateChip:focus-visible,.cw-cardActions button:focus-visible{outline:2px solid color-mix(in srgb,var(--pi-accent) 70%,white);outline-offset:2px}@media(max-width:600px){.cw-toolbar{flex-direction:column;align-items:stretch}.cw-search{flex:none;width:100%;min-width:0;max-width:none}.cw-addProject{margin-left:0}.cw-grid{grid-template-columns:1fr}.cw-workspaceHead{flex-wrap:wrap}.cw-workspaceRoot{flex:1 1 100%;order:3}.cw-workspaceMeta{flex-wrap:wrap}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as t,r as m}from"./index-DvLtl7rV.js";import{A as E}from"./AgentAvatar-6-KBVKUu.js";import{t as F}from"./time-Dhsh_2EG.js";import{F as H,A as Q}from"./AddProjectForm-IqOtJfRs.js";import{i as D,h as q}from"./mesh-roster-Bc7T4b7z.js";import{d as O}from"./Provider-CtXJeLrP.js";import{a as U}from"./agent-specialization-BujJVUTD.js";import{o as K}from"./model-IGCUEsMy.js";import{s as T}from"./project-overview-helpers-BQTc_Ous.js";import{c as M}from"./createLucideIcon-DezKXSG2.js";import{S as G}from"./search-CDko0PKE.js";import{S as J}from"./sliders-horizontal-C8njVwfg.js";import{F as x,a as V}from"./DocumentFocusViewer-Do3wQ_3Z.js";import{M as X}from"./message-square-C7t_qtuj.js";const Y=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M21 9H3",key:"1338ky"}],["path",{d:"M21 15H3",key:"9uk58r"}]],Z=M("rows-3",Y);const ee=[["path",{d:"m10.065 12.493-6.18 1.318a.934.934 0 0 1-1.108-.702l-.537-2.15a1.07 1.07 0 0 1 .691-1.265l13.504-4.44",key:"k4qptu"}],["path",{d:"m13.56 11.747 4.332-.924",key:"19l80z"}],["path",{d:"m16 21-3.105-6.21",key:"7oh9d"}],["path",{d:"M16.485 5.94a2 2 0 0 1 1.455-2.425l1.09-.272a1 1 0 0 1 1.212.727l1.515 6.06a1 1 0 0 1-.727 1.213l-1.09.272a2 2 0 0 1-2.425-1.455z",key:"m7xp4m"}],["path",{d:"m6.158 8.633 1.114 4.456",key:"74o979"}],["path",{d:"m8 21 3.105-6.21",key:"1fvxut"}],["circle",{cx:"12",cy:"13",r:"2",key:"1c1ljs"}]],te=M("telescope",ee);const se=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],ne=M("users",se);function z(e){return e.needs?3:e.working?2:1}function W(e){return[...e].sort((n,s)=>z(s)-z(n)||s.lastActivityAt-n.lastActivityAt)}function S(e){return[...new Set(e.map(n=>n?.trim().toLowerCase()).filter(n=>!!n))].sort()}function $(e){const n=[...new Set(e.map(s=>s?.trim()).filter(s=>!!s))];return n.length===0?null:n.length===1?n[0]:`${n.length} branches`}function _(e){return e.needs>0?"needs":e.working>0||e.liveSessionCount>0?"working":"idle"}function re(e){if(e.needs>0)return`${e.needs} ${e.needs===1?"item needs":"items need"} attention`;const n=Math.max(e.working,e.liveSessionCount);return n>0?`${n} active work ${n===1?"stream":"streams"}`:"No active work"}function ie(e,n){const s=W(n.filter(i=>i.projectSlug===e.slug)),r=S(s.map(i=>i.harness)),o={threadId:`project:${e.slug}`,projectSlug:e.slug,projectTitle:e.title,projectRoot:e.root,branch:$(e.branches.length>0?e.branches:s.map(i=>i.branch)),working:e.working>0||e.liveSessionCount>0,needs:e.needs>0,lastActivityAt:e.lastActivityAt,sessionCount:e.sessionCount,work:re(e),conversationId:null};return{kind:"project",key:`project:${e.slug}`,agentId:null,name:e.title,headline:"Project agent",harnesses:r,model:null,effort:null,status:_(e),needs:o.needs,working:o.working,substrates:[o],primary:o,work:o.work,conversationId:null,lastActivityAt:e.lastActivityAt,sessionCount:e.sessionCount}}function oe(e){const n=W(e),s=n[0];return{threadId:s.id,projectSlug:s.projectSlug,projectTitle:s.projectTitle,projectRoot:s.projectRoot,branch:$(n.map(r=>r.branch)),working:n.some(r=>r.working),needs:n.some(r=>r.needs),lastActivityAt:Math.max(...n.map(r=>r.lastActivityAt)),sessionCount:n.reduce((r,o)=>r+o.sessionCount,0),work:s.work,conversationId:s.conversationId}}function ae(e){const n=new Map;for(const s of e){const r=n.get(s.projectSlug)??[];r.push(s),n.set(s.projectSlug,r)}return[...n.values()].map(oe).sort((s,r)=>Number(r.needs)-Number(s.needs)||Number(r.working)-Number(s.working)||r.lastActivityAt-s.lastActivityAt)}function ce(e,n){return n.some(s=>s.needs)?"needs":e.some(s=>(s.state??"").toLowerCase().includes("think"))?"thinking":n.some(s=>s.working)||e.some(s=>/work|running|in_turn/iu.test(s.state??""))?"working":"idle"}function b(e){const n=e?.trim().replace(/\/+$/u,"");return n?n.replace(/^\/(?:Users|home)\/[^/]+(?=\/)/u,"~"):null}function le(e,n){return[n.root,...n.worktrees.map(r=>r.root)].map(b).filter(r=>!!r).some(r=>e===r||e.startsWith(`${r}/`))}function de(e,n,s){const r=new Set;for(const i of s)i.agentId===e.id&&r.add(i.projectSlug);const o=[e.projectRoot,e.cwd].map(b).filter(i=>!!i);for(const i of n){const c=[i.slug,i.title].map(d=>d.trim().toLowerCase());e.project&&c.includes(e.project.trim().toLowerCase())&&r.add(i.slug),e.workspaceQualifier&&c.includes(e.workspaceQualifier.trim().toLowerCase())&&r.add(i.slug),o.some(d=>le(d,i))&&r.add(i.slug)}if(r.size===0){const i=b(e.projectRoot??e.cwd);i?r.add(`root:${i}`):e.project?.trim()?r.add(`project:${e.project.trim().toLowerCase()}`):e.workspaceQualifier?.trim()&&r.add(`workspace:${e.workspaceQualifier.trim().toLowerCase()}`)}return r}function ue(e,n,s){const r=new Set;for(const o of e)for(const i of de(o,n,s))r.add(i);return r.size>1?!0:e.some(o=>!q(o)&&!o.workspaceQualifier?.trim()&&!o.cwd?.trim())}function he(e,n,s){const r=e.filter(D),o=new Map;for(const i of r){const c=i.definitionId.trim()||i.id,d=o.get(c)??[];d.push(i),o.set(c,d)}return[...o.entries()].flatMap(([i,c])=>{if(!ue(c,n,s))return[];const w=[...c].sort((l,k)=>(k.updatedAt??0)-(l.updatedAt??0))[0],p=new Set(c.map(l=>l.id)),v=s.filter(l=>l.agentId&&p.has(l.agentId)),h=ae(v),f=h[0]??null,u=S([...c.map(l=>l.harness),...v.map(l=>l.harness)]),y=S(c.map(l=>l.model)),A=S(c.map(l=>l.reasoningEffort)),j=ce(c,h),C=Math.max(0,...c.map(l=>l.updatedAt??0),...h.map(l=>l.lastActivityAt)),g=U(w);return[{kind:"role",key:`role:${i}`,agentId:w.id,name:w.name,headline:g.headline,harnesses:u,model:y.length===1?y[0]:null,effort:A.length===1?A[0]:null,status:j,needs:j==="needs",working:j==="working"||j==="thinking",substrates:h,primary:f,work:f?.work??g.headline,conversationId:f?.conversationId??w.conversationId,lastActivityAt:C,sessionCount:h.reduce((l,k)=>l+k.sessionCount,0)}]})}function L(e){switch(e.status){case"needs":return 3;case"working":return 2;case"thinking":return 1;case"idle":return 0}}function B(e,n,s,r=null){const o=O(s,r);return[...e.map(c=>ie(c,n)),...he(o,e,n)].sort((c,d)=>L(d)-L(c)||d.lastActivityAt-c.lastActivityAt||c.name.localeCompare(d.name))}function pe(e,n){switch(n){case"all":return!0;case"active":return e.status==="working"||e.status==="thinking";case"needs":return e.status==="needs";case"idle":return e.status==="idle"}}function je(e,n){const s=_(e);switch(n){case"all":return!0;case"active":return s==="working";case"needs":return s==="needs";case"idle":return s==="idle"}}function me(e,n){const s=n.trim().toLowerCase();return!s||e.name.toLowerCase().includes(s)||e.headline.toLowerCase().includes(s)||e.work.toLowerCase().includes(s)?!0:e.substrates.some(r=>r.projectTitle.toLowerCase().includes(s)||r.projectSlug.toLowerCase().includes(s)||(r.projectRoot?.toLowerCase().includes(s)??!1))}function we(e,n){const s=n.trim().toLowerCase();return s?e.title.toLowerCase().includes(s)||e.slug.toLowerCase().includes(s)||(e.root?.toLowerCase().includes(s)??!1):!0}function fe(e){switch(e){case"needs":return"Needs attention";case"working":return"Working";case"thinking":return"Thinking";case"idle":return"Idle"}}const ge=[{id:"all",label:"All"},{id:"active",label:"Active"},{id:"needs",label:"Needs attention"},{id:"idle",label:"Idle"}];function ke(e,n){if(n){e({view:"conversation",conversationId:n});return}e({view:"messages"})}function R(e,n){e({view:"code",project:n})}function xe(e,n,s){e(K(n,s))}function P(e,n,s){e({view:"agents-v2",projectSlug:s,...n.machineId?{machineId:n.machineId}:{},...n.showEphemeral?{showEphemeral:!0}:{}})}function ve({model:e,agents:n,route:s,navigate:r,nowMs:o}){const[i,c]=m.useState("projects"),[d,w]=m.useState("all"),[p,v]=m.useState(""),[h,f]=m.useState(!1),u=m.useMemo(()=>B(e.projects,e.threads,n,s.machineId??null),[n,e.projects,e.threads,s.machineId]),y=m.useMemo(()=>u.filter(a=>pe(a,d)&&me(a,p)),[u,p,d]),A=m.useMemo(()=>e.projects.filter(a=>je(a,d)&&we(a,p)),[e.projects,p,d]),j=e.projects.filter(a=>a.working>0||a.liveSessionCount>0).length,C=e.projects.filter(a=>a.needs>0).length,g=u.filter(a=>a.status==="working"||a.status==="thinking").length,l=u.filter(a=>a.status==="needs").length,k=u.filter(a=>a.kind==="project").length,N=u.filter(a=>a.kind==="role").length;return t.jsxs("main",{className:"cw-root","aria-label":"Projects and agents",children:[t.jsxs("div",{className:"cw-toolbar",children:[t.jsxs("div",{className:"cw-modeToggle",role:"group","aria-label":"Directory view",children:[t.jsxs("button",{type:"button","data-active":i==="projects"||void 0,"aria-pressed":i==="projects",onClick:()=>c("projects"),title:"Browse tracked projects",children:[t.jsx(Z,{size:13,strokeWidth:1.9,"aria-hidden":!0}),"Projects"]}),t.jsxs("button",{type:"button","data-active":i==="agents"||void 0,"aria-pressed":i==="agents",onClick:()=>c("agents"),title:"Browse durable agent identities",children:[t.jsx(ne,{size:13,strokeWidth:1.9,"aria-hidden":!0}),"Agents"]})]}),t.jsxs("label",{className:"cw-search",role:"search",children:[t.jsx(G,{size:13,strokeWidth:1.8,"aria-hidden":!0}),t.jsx("input",{type:"search",value:p,placeholder:i==="projects"?"Find project":"Find agent or project","aria-label":i==="projects"?"Find project":"Find agent or project",onChange:a=>v(a.currentTarget.value)})]}),t.jsxs("div",{className:"cw-filters","aria-label":"Status filter",children:[t.jsx(J,{size:12,strokeWidth:1.9,"aria-hidden":!0,className:"cw-filtersIcon"}),ge.map(a=>t.jsx("button",{type:"button","data-active":d===a.id||void 0,"aria-pressed":d===a.id,onClick:()=>w(a.id),children:a.label},a.id))]}),t.jsxs("button",{type:"button",className:"cw-addProject","aria-expanded":h,onClick:()=>f(a=>!a),children:[t.jsx(H,{size:13,strokeWidth:1.9,"aria-hidden":!0}),"Add project"]})]}),h?t.jsx(Q,{onClose:()=>f(!1)}):null,t.jsx("div",{className:"cw-digest",children:i==="projects"?t.jsxs(t.Fragment,{children:[t.jsxs("span",{children:[e.projects.length," projects"]}),t.jsx("span",{className:"cw-digestSep",children:"·"}),t.jsxs("span",{"data-tone":j>0?"live":void 0,children:[j," active"]}),C>0?t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"cw-digestSep",children:"·"}),t.jsxs("span",{"data-tone":"needs",children:[C," need you"]})]}):null]}):t.jsxs(t.Fragment,{children:[t.jsxs("span",{children:[k," project agents"]}),N>0?t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"cw-digestSep",children:"·"}),t.jsxs("span",{children:[N," role ",N===1?"agent":"agents"]})]}):null,t.jsx("span",{className:"cw-digestSep",children:"·"}),t.jsxs("span",{"data-tone":g>0?"live":void 0,children:[g," active"]}),l>0?t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"cw-digestSep",children:"·"}),t.jsxs("span",{"data-tone":"needs",children:[l," need you"]})]}):null]})}),i==="projects"?t.jsx(Ae,{projects:A,route:s,navigate:r,nowMs:o,allEmpty:e.projects.length===0}):t.jsx(Se,{members:y,route:s,navigate:r,nowMs:o,allEmpty:u.length===0})]})}function ye({project:e,threads:n,route:s,navigate:r,nowMs:o}){const i=B([e],n,[])[0];return t.jsx("main",{className:"cw-root cw-root--scoped","aria-label":`${e.title} agent`,children:t.jsx(I,{title:"Project agent",members:[i],route:s,navigate:r,nowMs:o})})}function Ae({projects:e,route:n,navigate:s,nowMs:r,allEmpty:o}){return e.length===0?t.jsx("div",{className:"cw-empty",children:o?"No projects are tracked yet.":"No projects match these filters."}):t.jsx("div",{className:"cw-workspaceList",children:e.map(i=>t.jsx(Ce,{project:i,route:n,navigate:s,nowMs:r},i.slug))})}function Ce({project:e,route:n,navigate:s,nowMs:r}){const o=e.working>0||e.liveSessionCount>0;return t.jsx("article",{className:"cw-workspace","data-state":e.needs>0?"needs":o?"live":void 0,children:t.jsxs("button",{type:"button",className:"cw-workspaceHead",onClick:()=>P(s,n,e.slug),children:[t.jsxs("span",{className:"cw-workspaceTitle",children:[t.jsx(x,{size:13,strokeWidth:1.7,"aria-hidden":!0}),"/",e.title]}),t.jsx("span",{className:"cw-workspaceRoot",title:e.root??void 0,children:e.root?T(e.root):"Discovered project"}),t.jsxs("span",{className:"cw-workspaceMeta",children:[e.needs>0?t.jsx("b",{"data-tone":"needs",children:"Needs you"}):null,o?t.jsx("b",{"data-tone":"live",children:"Active"}):null,t.jsxs("span",{children:[e.worktreeCount," ",e.worktreeCount===1?"worktree":"worktrees"]}),t.jsxs("span",{children:[e.sessionCount," ",e.sessionCount===1?"session":"sessions"]}),t.jsx("time",{children:e.lastActivityAt?F(e.lastActivityAt,r):"no activity"})]})]})})}function Se({members:e,route:n,navigate:s,nowMs:r,allEmpty:o}){if(e.length===0)return t.jsx("div",{className:"cw-empty",children:o?"No durable agents are registered yet.":"No agents match these filters."});const i=e.filter(d=>d.kind==="role"),c=e.filter(d=>d.kind==="project");return t.jsxs("div",{className:"cw-agentDirectory",children:[i.length>0?t.jsx(I,{title:"Role agents",members:i,route:n,navigate:s,nowMs:r}):null,c.length>0?t.jsx(I,{title:"Project agents",members:c,route:n,navigate:s,nowMs:r}):null]})}function I({title:e,members:n,route:s,navigate:r,nowMs:o}){return t.jsxs("section",{className:"cw-agentSection","aria-label":e,children:[t.jsxs("div",{className:"cw-agentSectionHead",children:[t.jsx("h2",{children:e}),t.jsx("span",{children:n.length})]}),t.jsx("div",{className:"cw-grid",children:n.map(i=>t.jsx(Ne,{member:i,route:s,navigate:r,nowMs:o},i.key))})]})}function Ne({member:e,route:n,navigate:s,nowMs:r}){const o=e.primary;return t.jsxs("article",{className:"cw-card","data-status":e.status,"data-kind":e.kind,children:[t.jsxs("header",{className:"cw-cardHead",children:[t.jsx(E,{agent:{name:e.name,state:be(e.status)},placement:"hero",size:46,presence:!0}),t.jsxs("div",{className:"cw-cardIdentity",children:[t.jsxs("div",{className:"cw-cardNameRow",children:[t.jsx("b",{title:e.name,children:e.name}),t.jsx("span",{className:"cw-statusPill","data-status":e.status,children:fe(e.status)})]}),t.jsx("div",{className:"cw-cardSubline",children:t.jsx("span",{className:"cw-headline",children:e.headline})})]})]}),e.kind==="project"&&o?t.jsxs("div",{className:"cw-projectContext",title:o.projectRoot??void 0,children:[t.jsx(x,{size:11,strokeWidth:1.8,"aria-hidden":!0}),t.jsx("span",{children:o.projectRoot?T(o.projectRoot):`/${o.projectTitle}`}),t.jsxs("em",{children:[e.sessionCount," ",e.sessionCount===1?"session":"sessions"]})]}):e.substrates.length>0?t.jsx("div",{className:"cw-substrates",children:e.substrates.map((i,c)=>t.jsx(Ie,{substrate:i,route:n,navigate:s,primary:c===0},i.threadId))}):null,t.jsxs("div",{className:"cw-work",children:[t.jsx("p",{title:e.work,children:e.work}),t.jsx("time",{children:e.lastActivityAt?F(e.lastActivityAt,r):"—"})]}),t.jsx("footer",{className:"cw-cardActions",children:e.kind==="project"&&o?t.jsxs(t.Fragment,{children:[t.jsxs("button",{type:"button",onClick:()=>P(s,n,o.projectSlug),children:[t.jsx(V,{size:12,strokeWidth:1.9,"aria-hidden":!0}),"Open project"]}),t.jsxs("button",{type:"button",onClick:()=>R(s,o.projectSlug),children:[t.jsx(x,{size:12,strokeWidth:1.9,"aria-hidden":!0}),"Browse code"]})]}):t.jsxs(t.Fragment,{children:[e.conversationId?t.jsxs("button",{type:"button",onClick:()=>ke(s,e.conversationId),children:[t.jsx(X,{size:12,strokeWidth:1.9,"aria-hidden":!0}),"Chat"]}):null,o?t.jsxs("button",{type:"button",onClick:()=>R(s,o.projectSlug),children:[t.jsx(x,{size:12,strokeWidth:1.9,"aria-hidden":!0}),"Browse code"]}):null,e.agentId?t.jsxs("button",{type:"button",onClick:()=>xe(s,n,e.agentId),children:[t.jsx(te,{size:12,strokeWidth:1.9,"aria-hidden":!0}),"Inspect"]}):null]})})]})}function be(e){switch(e){case"needs":return"needs_attention";case"working":return"in_turn";case"thinking":return"thinking";case"idle":return"idle"}}function Ie({substrate:e,route:n,navigate:s,primary:r=!1}){return t.jsxs("button",{type:"button",className:"cw-substrateChip","data-primary":r||void 0,"data-live":e.working||void 0,title:e.projectRoot??void 0,onClick:()=>P(s,n,e.projectSlug),children:[t.jsx(x,{size:11,strokeWidth:1.8,"aria-hidden":!0}),t.jsx("span",{children:e.projectTitle}),e.branch?t.jsxs("em",{children:["git: ",e.branch]}):null]})}const De=Object.freeze(Object.defineProperty({__proto__:null,CrewWorkspaces:ve,ProjectAgentDirectory:ye},Symbol.toStringTag,{value:"Module"}));export{ve as C,ye as P,ne as U,De as a};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as n,j as t}from"./index-DvLtl7rV.js";/* empty css */import{u as d}from"./Provider-CtXJeLrP.js";/* empty css */import{u as v}from"./page-status-E5jnk48p.js";import{A as x}from"./AgentLanesView-CetZZDyF.js";import{MissionControlView as j}from"./MissionControlView-E3V7bENU.js";import{OpsAgentsView as f}from"./OpsAgentsView-DI5wu1si.js";import{HostAdvisorView as w}from"./HostAdvisorView-Bok5Sk5c.js";import{AtopView as N}from"./AtopView-Daq_ob3z.js";import{TailView as c}from"./TailView-0uEIj2JH.js";import{u as g}from"./useContentSecondaryNav-pZe2Zfk1.js";import{OpsSubnav as S}from"./OpsSubnav-1K4Jaf__.js";import"./router-B9vQkNJL.js";import"./perf-PX8Rx0EP.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-BQ6t92tJ.js";import"./api-Co9aQ2Jw.js";import"./sse-CD9MMUxl.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BJIamJOH.js";import"./DocumentFocusViewer-Do3wQ_3Z.js";import"./createLucideIcon-DezKXSG2.js";import"./TextDocumentSurface-BflAwXeZ.js";import"./file-text-CqJgwxmv.js";import"./x-CAbNespN.js";import"./chevron-right-D-HdlPg8.js";import"./code-xml-D7pOQM9l.js";import"./arrow-left-Czpf-AE4.js";import"./arrow-right-BuzMnLYP.js";import"./scout-voice-BVUqGhth.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BLYDhL3Z.js";import"./NewChatComposer-_Stj0fZy.js";import"./text-BP3oyl8-.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-pM56HNhR.js";import"./conversation-model-Dc02NsGp.js";import"./time-Dhsh_2EG.js";import"./index-zvhpRHao.js";import"./HarnessMark-B979GCSB.js";import"./NewChatOrigin-B1u7ki70.js";import"./chevron-down-wciXnOQz.js";import"./search-CDko0PKE.js";import"./chunk-HRAB3GC3-Tyv9rzx7.js";/* empty css */import"./tail-events-Ps8KpKah.js";import"./observe-BpEm1INu.js";import"./types-B0PlfpKc.js";import"./AgentAvatar-6-KBVKUu.js";import"./SpriteAvatar-z5hHesx9.js";import"./CrewAvatar-BwXjyg8N.js";import"./SessionObserve-dQDN23pP.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-HByf2ndx.js";import"./lane-observe-vfyACHi0.js";import"./lane-ask-display-B6iCAVcd.js";import"./mentions-DG6OQrsc.js";import"./AgentDetailCard-C9rn3Fj5.js";import"./AgentLiveActions-DrEJDJef.js";import"./terminal-takeover-_Jyys4me.js";import"./openContent-C6XO6kr5.js";import"./eye-BRyD0jno.js";import"./terminal-9GRS_Qdc.js";import"./message-markup-C2LQDm_k.js";import"./ObservedTopologyPanel-BJUhDSuQ.js";import"./ObserveTextFlow-ZQWwrK3i.js";import"./use-reduced-motion-x8pJMVrG.js";import"./proxy-BiW5suC7.js";import"./SessionObserveEvidence-BRBGKAgd.js";import"./message-circle-mZCv8tvB.js";import"./wrench-DjkoAOQt.js";import"./external-link-Dp_a2vRZ.js";import"./AgentFloorView-YT-Jjccf.js";/* empty css */import"./agent-lanes-model-DXqjs0OK.js";import"./context-budget-DX_fwUs3.js";import"./lane-roster-store-DOdI1O13.js";import"./AgentLanesPreflight-q20mTjms.js";import"./AgentLaneChrome-D8bARHMx.js";import"./AgentLaneCard-DI2iW9zO.js";/* empty css */import"./AgentLaneSummaryResize-CEBjmPTa.js";import"./clipboard-e3fSpeo7.js";import"./agent-lane-card-model-CNZMPkhc.js";import"./agent-lane-preview-BhplDYGf.js";import"./agent-lane-detail-ppJId6Jc.js";import"./AgentLaneDetailSheet-52un7dKC.js";import"./SlidePanel-B9ugxWgA.js";import"./LaneTraceDetailSheet-BUgHz-sd.js";import"./LaneTraceEventFocus-DM-hoPxG.js";/* empty css */import"./mission-control-store-nDLdUZPA.js";import"./MissionContextRail-DF0_kiU7.js";import"./mission-wall-CocIM1cF.js";import"./mission-control-model-C0fByIjm.js";import"./MissionFocusOverlay-h15sQFvP.js";import"./MissionLogPane-BbdDKjUl.js";/* empty css */import"./DataTable-Bp8tU9AK.js";/* empty css */import"./useAgentHoverCard-DoBwV0LX.js";import"./sliders-horizontal-C8njVwfg.js";/* empty css */import"./compass-Dt1AMXz2.js";import"./layout-grid-DOChPJdZ.js";import"./refresh-cw-DMxGzDwn.js";import"./arrow-up-right-C6Wl-1uw.js";import"./cpu-DrqejfkB.js";import"./gauge-hU--hKVP.js";/* empty css */import"./SecondaryNav-BR4VRdgh.js";import"./secondaryNavConfig-BoQ_zYR9.js";import"./message-square-C7t_qtuj.js";import"./settings-Dyvpkb1D.js";import"./git-branch-CK5v8F2v.js";import"./scroll-text-Dze_dXtQ.js";const A=220;function F(){const r=v(),o=!!(r.hover||r.content),[i,p]=n.useState(o?{hover:r.hover,content:r.content}:null),[e,s]=n.useState(o?"enter":"hidden"),m=n.useRef(null);if(n.useEffect(()=>{if(o){m.current&&(clearTimeout(m.current),m.current=null),p({hover:r.hover,content:r.content}),s(h=>h==="show"?"show":"enter");const u=requestAnimationFrame(()=>s("show"));return()=>cancelAnimationFrame(u)}return s("leave"),m.current=setTimeout(()=>{s("hidden"),p(null),m.current=null},A),()=>{m.current&&(clearTimeout(m.current),m.current=null)}},[o,r.hover,r.content]),e==="hidden"||!i)return null;const a=i.hover?.label??i.hover?.route??null,l=i.hover?.label&&i.hover?.route?i.hover.route:null;return t.jsxs("div",{className:`s-page-status s-page-status--${e}`,role:"status","aria-live":"polite",children:[t.jsx("div",{className:"s-page-status-left",children:a&&t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"s-page-status-arrow","aria-hidden":!0,children:"→"}),t.jsx("span",{className:"s-page-status-target",children:a}),l&&t.jsx("span",{className:"s-page-status-route",children:l})]})}),t.jsx("div",{className:"s-page-status-right",children:i.content&&t.jsx("span",{className:"s-page-status-content",children:i.content})})]})}function qr({navigate:r,mode:o="mission",tailQuery:i}){const{agents:p,route:e}=d(),s=g();return t.jsxs("div",{className:"s-ops",children:[s?t.jsx("div",{className:"s-ops-header",children:t.jsx(S,{activeRoute:e,navigate:r})}):null,t.jsxs("div",{className:"s-ops-body",children:[o==="mission"&&t.jsx(j,{navigate:r,agents:p}),o==="agents"&&t.jsx(f,{navigate:r,agents:p}),o==="advisor"&&t.jsx(w,{navigate:r,agents:p}),o==="issues"&&t.jsx(c,{navigate:r,initialFilter:i,variant:"issues"}),o==="tail"&&t.jsx(c,{navigate:r,initialFilter:i,variant:"tail"}),o==="atop"&&t.jsx(N,{}),o==="lanes"&&t.jsx(x,{navigate:r,agents:p})]}),t.jsx(F,{})]})}export{qr as OpsScreen};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as t}from"./index-DvLtl7rV.js";import{S as p}from"./SecondaryNav-BR4VRdgh.js";import{O as i}from"./secondaryNavConfig-BoQ_zYR9.js";/* empty css */import"./createLucideIcon-DezKXSG2.js";import"./message-square-C7t_qtuj.js";import"./file-text-CqJgwxmv.js";import"./search-CDko0PKE.js";import"./compass-Dt1AMXz2.js";import"./settings-Dyvpkb1D.js";import"./terminal-9GRS_Qdc.js";import"./git-branch-CK5v8F2v.js";import"./code-xml-D7pOQM9l.js";import"./scroll-text-Dze_dXtQ.js";function v({activeRoute:r,navigate:o}){return t.jsx(p,{ariaLabel:"Ops sections",activeRoute:r,groups:i,navigate:o})}export{v as OpsSubnav};
|