@openscout/scout 0.2.95 → 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/scout +26 -10
- package/bin/scoutd +0 -0
- package/dist/build-manifest.json +3 -3
- package/dist/client/assets/{ActivityScreen--eANwuxa.js → ActivityScreen-y-5DLleY.js} +1 -1
- package/dist/client/assets/{AddProjectForm-CcD6qvV8.js → AddProjectForm-r_1tVuWk.js} +1 -1
- package/dist/client/assets/{AgentAvatar-CYhf6twS.js → AgentAvatar-B7c0egdP.js} +1 -1
- package/dist/client/assets/{AgentConfigurationScreen-BTI24HQX.js → AgentConfigurationScreen-BD7Unt2P.js} +1 -1
- package/dist/client/assets/{AgentDefinitionsWorkspace-srmN6-vj.js → AgentDefinitionsWorkspace-BbcZc9Xk.js} +1 -1
- package/dist/client/assets/{AgentDetailCard-UqPNpcvB.js → AgentDetailCard-B_KLcgsP.js} +1 -1
- package/dist/client/assets/{AgentFloorView-XXNgI5Cj.js → AgentFloorView-DMFiHs21.js} +1 -1
- package/dist/client/assets/{AgentInfoScreen-CimdOnZ9.js → AgentInfoScreen-DHGLRddI.js} +1 -1
- package/dist/client/assets/{AgentLaneCard-Z-aOBR3W.js → AgentLaneCard-ajZvcfdW.js} +1 -1
- package/dist/client/assets/{AgentLaneChrome-CyhA1reW.js → AgentLaneChrome-CTp39syR.js} +1 -1
- package/dist/client/assets/{AgentLaneDetailSheet-BNzjMjIH.js → AgentLaneDetailSheet-DRc-TpMB.js} +1 -1
- package/dist/client/assets/{AgentLaneSummaryResize-Box8-_rS.js → AgentLaneSummaryResize-VMNDo7kD.js} +1 -1
- package/dist/client/assets/AgentLanesEmbedScreen-C5k_dDS8.js +1 -0
- package/dist/client/assets/AgentLanesPreflight-CFadSaia.js +1 -0
- package/dist/client/assets/AgentLanesView-u5vpLwQf.js +2 -0
- package/dist/client/assets/{AgentLiveActions-BwuzOE8h.js → AgentLiveActions-CsQA3pu_.js} +1 -1
- package/dist/client/assets/AgentMasterScreen-C5WlWNmk.js +1 -0
- package/dist/client/assets/{AgentSessions-CsZwoukw.js → AgentSessions-BePq5Lgc.js} +1 -1
- package/dist/client/assets/{AgentsConsole-KCao4XmX.js → AgentsConsole-BuiZ_bDo.js} +1 -1
- package/dist/client/assets/{AgentsScreen-CtPAmwRX.js → AgentsScreen-CRi-hG2k.js} +1 -1
- package/dist/client/assets/AgentsSubnav-DUsya4WK.js +1 -0
- package/dist/client/assets/{AstronautSuit-Ckx7lu7G.js → AstronautSuit-Cjjcv6yQ.js} +1 -1
- package/dist/client/assets/{AtopView-DYlpgEHf.js → AtopView-PxWQd-sX.js} +1 -1
- package/dist/client/assets/{BackToPicker-4JaeRvDm.js → BackToPicker-Cto0Ioz9.js} +1 -1
- package/dist/client/assets/{BriefingDetailScreen-D6-xqrpo.js → BriefingDetailScreen-C29smC5d.js} +1 -1
- package/dist/client/assets/{BriefingsScreen-DKxSDEmk.js → BriefingsScreen-DNyFBrPn.js} +1 -1
- package/dist/client/assets/{BrokerMetadataPanel-BbREmsbK.js → BrokerMetadataPanel-DbaCQlhw.js} +1 -1
- package/dist/client/assets/{BrokerScreen-fbPIouMw.js → BrokerScreen-CS0s4Gm4.js} +1 -1
- package/dist/client/assets/{CastPicker-BcA2vDDV.js → CastPicker-CTBHjjGw.js} +1 -1
- package/dist/client/assets/ChatCollapsedStrip-D4rc7wBQ.js +1 -0
- package/dist/client/assets/{CodeDiffPane-Cn8Y9hAt.js → CodeDiffPane-QvxCUzTi.js} +1 -1
- package/dist/client/assets/{CodeProjectPicker-nPFktrco.js → CodeProjectPicker-DplkpM7f.js} +1 -1
- package/dist/client/assets/{CodeScreen-BlAxtxE5.js → CodeScreen-CrR2JaVj.js} +1 -1
- package/dist/client/assets/{ConversationComposer-2HjbGPL9.js → ConversationComposer-H8_hsYSc.js} +1 -1
- package/dist/client/assets/{ConversationFeedRows-C6wUqJrx.js → ConversationFeedRows-hlEFlURs.js} +1 -1
- package/dist/client/assets/{ConversationHeader-C8vfXaTF.js → ConversationHeader-B0ZBhE_E.js} +1 -1
- package/dist/client/assets/{ConversationPanels-CNCIbpqU.js → ConversationPanels-fMo6Uy1v.js} +2 -2
- package/dist/client/assets/ConversationScreen-CXAHQwQ3.js +2 -0
- package/dist/client/assets/{ConversationStatus-DZuyKsWN.js → ConversationStatus-DI5GCiyW.js} +1 -1
- package/dist/client/assets/{CrewAvatar-CTIuxp4G.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-6IDhanr5.js → DataTable-DXIlOlVu.js} +1 -1
- package/dist/client/assets/{DispatchAftermath-DC1u9itO.js → DispatchAftermath-CrELgl2e.js} +1 -1
- package/dist/client/assets/{DocumentFocusViewer-DZVhS7as.js → DocumentFocusViewer-DFFE85Tq.js} +1 -1
- package/dist/client/assets/{EmbeddableSurfacesLab-BKUFJMCV.js → EmbeddableSurfacesLab-DgpewB3y.js} +1 -1
- package/dist/client/assets/{EmptyState-CeBl0iGd.js → EmptyState-D9X16fKq.js} +1 -1
- package/dist/client/assets/{FileViewerPane-DQlpNt2S.js → FileViewerPane-CY0RN78e.js} +1 -1
- package/dist/client/assets/FlightObserveScreen-qyzHzxLa.js +1 -0
- package/dist/client/assets/{FollowScreen-BXHOp3gb.js → FollowScreen-wZ-z67mX.js} +1 -1
- package/dist/client/assets/{HarnessMark-D5CA5uSp.js → HarnessMark-DAaWPiT_.js} +1 -1
- package/dist/client/assets/{HarnessesScreen-DhFXq1qz.js → HarnessesScreen-DbKkQM4o.js} +1 -1
- package/dist/client/assets/{HerdrSession-BRhs5LIR.js → HerdrSession-CYKRfBad.js} +1 -1
- package/dist/client/assets/{HomeHero-DMABJuze.js → HomeHero-DYyd3cpz.js} +1 -1
- package/dist/client/assets/{HostAdvisorView-RAociATV.js → HostAdvisorView-NtM0bsg8.js} +1 -1
- package/dist/client/assets/{KnowledgeSearchInspector-CZPyVNSw.js → KnowledgeSearchInspector-CU6BCFcS.js} +1 -1
- package/dist/client/assets/{KnowledgeSearchScreen-mGTKIg00.js → KnowledgeSearchScreen-DvbRRPQB.js} +1 -1
- package/dist/client/assets/{LaneToolHoverCard-D_DMlBeT.js → LaneToolHoverCard-Bo2Zl-1a.js} +1 -1
- package/dist/client/assets/{LaneTraceDetailSheet-BEHg3LmH.js → LaneTraceDetailSheet-C3C8UjXv.js} +1 -1
- package/dist/client/assets/{LaneTraceEventFocus-DVimcizS.js → LaneTraceEventFocus-Cek_64zR.js} +1 -1
- package/dist/client/assets/{MeshCanvas-BOuZx4AM.js → MeshCanvas-TvsID4fe.js} +1 -1
- package/dist/client/assets/{MeshCanvasMinimap-wL-1N94e.js → MeshCanvasMinimap-CxqeVVco.js} +1 -1
- package/dist/client/assets/{MeshScreen-DMY9Bmh5.js → MeshScreen-BJ-j9YXv.js} +1 -1
- package/dist/client/assets/{MeshTopologyView-DiDcX5f4.js → MeshTopologyView-BjprutE8.js} +2 -2
- package/dist/client/assets/MessagesScreen-CyNIZ3-X.js +1 -0
- package/dist/client/assets/{MissionContextRail-DrNKXG5u.js → MissionContextRail-Be0uXljQ.js} +1 -1
- package/dist/client/assets/{MissionControlView-ByBlHVN8.js → MissionControlView-Bj7cAbZd.js} +1 -1
- package/dist/client/assets/{MissionFocusOverlay-D1i6R6Zt.js → MissionFocusOverlay-DvTw6ts5.js} +1 -1
- package/dist/client/assets/{MissionLeftAgentRow-DN9NcCML.js → MissionLeftAgentRow-B0QG7Gys.js} +1 -1
- package/dist/client/assets/{MissionLogPane-DSeIv3Xo.js → MissionLogPane-EsM_S3ro.js} +1 -1
- package/dist/client/assets/{NewAgentModal-V7yK6J6j.js → NewAgentModal-Cqiq1CE1.js} +1 -1
- package/dist/client/assets/NewChatComposer-C_1op4dH.js +19 -0
- package/dist/client/assets/{NewChatOrigin-DdpzE4kz.js → NewChatOrigin-D7hwp6dm.js} +1 -1
- package/dist/client/assets/{ObserveEmbedScreen-l_Q3ts2q.js → ObserveEmbedScreen-CGHI_hb5.js} +1 -1
- package/dist/client/assets/{ObserveTextFlow-BSEtYTxU.js → ObserveTextFlow-BcrGQet8.js} +2 -2
- package/dist/client/assets/{ObservedTopologyPanel-CdGUXxGR.js → ObservedTopologyPanel-BhVsvwkh.js} +1 -1
- package/dist/client/assets/{OpenScoutAppShell-DN8dOSK4.js → OpenScoutAppShell-BtfvMkAp.js} +25 -25
- package/dist/client/assets/{OpsAgentsView-ntGr4pz4.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-BQET-qrY.js → ProjectAgentProfileBar-uJw9Wdfk.js} +1 -1
- package/dist/client/assets/{ProjectAgentProfileHero-Ck8mThtx.js → ProjectAgentProfileHero-CIMS4Dy_.js} +1 -1
- package/dist/client/assets/ProjectsInbox-JgU0lrY8.js +2 -0
- package/dist/client/assets/ProjectsRail-p99BRBOa.js +1 -0
- package/dist/client/assets/ProjectsScreen-BB45DU53.js +1 -0
- package/dist/client/assets/ProjectsThreadAside-BHDTJWOz.js +1 -0
- package/dist/client/assets/{Provider-B2xuo3rf.js → Provider-Bu-C8Hxc.js} +1 -1
- package/dist/client/assets/{RailRow-B-GycCBx.js → RailRow-ClMmtaIE.js} +1 -1
- package/dist/client/assets/{RawSessionsTable-AQThi6sm.js → RawSessionsTable-BtKdQPiv.js} +1 -1
- package/dist/client/assets/RealtimeVoiceScreen-KPHJgO1l.js +1 -0
- package/dist/client/assets/{RepoDiffEmbedScreen-DXWoRF_c.js → RepoDiffEmbedScreen-CjZ5ew3y.js} +1 -1
- package/dist/client/assets/{RepoDiffPageScreen-D_274ExO.js → RepoDiffPageScreen-CdTFfmbk.js} +1 -1
- package/dist/client/assets/{RepoDiffViewer-DbedmHDX.js → RepoDiffViewer-BFperHQg.js} +1 -1
- package/dist/client/assets/{RepoDiffViewerLazy-C0--fPtk.js → RepoDiffViewerLazy-BkBmbi1Z.js} +2 -2
- package/dist/client/assets/{ReposScreen-D39_YG4H.js → ReposScreen-C8dT4bK0.js} +1 -1
- package/dist/client/assets/ScoutDeckSurface-BcJsm2Kq.js +1 -0
- package/dist/client/assets/{ScoutSurface-UsRy0t-I.js → ScoutSurface-DmzEtrx8.js} +1 -1
- package/dist/client/assets/{ScoutbotFxLab-Fmdfboxs.js → ScoutbotFxLab-DU15Plja.js} +1 -1
- package/dist/client/assets/{SecondaryNav-o2RL9H8H.js → SecondaryNav-BrXMtvKE.js} +1 -1
- package/dist/client/assets/SessionEmbedScreen-Bt4flmAx.js +1 -0
- package/dist/client/assets/{SessionObserve-Dsd0j05N.js → SessionObserve-BCehTlO8.js} +1 -1
- package/dist/client/assets/{SessionObserveEvidence-DopQYDkD.js → SessionObserveEvidence-Bb6U-dem.js} +1 -1
- package/dist/client/assets/SessionRefScreen-C8BiRVPx.js +1 -0
- package/dist/client/assets/SessionsScreen-BNvjUflN.js +1 -0
- package/dist/client/assets/{SettingsDrawer-_AwuopMS.js → SettingsDrawer-BieUmb8g.js} +1 -1
- package/dist/client/assets/{SettingsScreen-Cw4DDfJP.js → SettingsScreen-3JvX1WFL.js} +1 -1
- package/dist/client/assets/{ShikiPane-BfHc_3pM.js → ShikiPane-DPWsVNtn.js} +1 -1
- package/dist/client/assets/{SlidePanel-C-q7XwTa.js → SlidePanel-BMRIR6bH.js} +1 -1
- package/dist/client/assets/{SpriteAvatar-Bs68ZENy.js → SpriteAvatar-56DTXxSV.js} +1 -1
- package/dist/client/assets/{StatusPill-ZZQwxB1a.js → StatusPill-BcuYUgsD.js} +1 -1
- package/dist/client/assets/{TailView-Q4FVMsUH.js → TailView-BDy8c2VB.js} +1 -1
- package/dist/client/assets/{Terminal-D7zqHwHV.js → Terminal-BlUQY9_Z.js} +1 -1
- package/dist/client/assets/{TerminalEmbedScreen-CXIJ7qv6.js → TerminalEmbedScreen-DTjxktyr.js} +1 -1
- package/dist/client/assets/{TerminalHeaderMount-BnBLOPbb.js → TerminalHeaderMount-Cy-uxkey.js} +1 -1
- package/dist/client/assets/{TextDocumentSurface-CKQP-cBT.js → TextDocumentSurface-BeSwe3Yl.js} +1 -1
- package/dist/client/assets/{TmuxPeek-V9dGESfO.js → TmuxPeek-B4no_aGI.js} +1 -1
- package/dist/client/assets/{VoicePermissionsPanel-k7sbLXx2.js → VoicePermissionsPanel-Bd16scwz.js} +1 -1
- package/dist/client/assets/{WorkDetailScreen-60p9litn.js → WorkDetailScreen-DIFQufak.js} +1 -1
- package/dist/client/assets/{WorkFilesViewer-BjJS7GyM.js → WorkFilesViewer-CT5XEFGf.js} +1 -1
- package/dist/client/assets/{activity-Bj3Hnbj3.js → activity-CqZafWfx.js} +1 -1
- package/dist/client/assets/{addon-fit-BL-NTWRU.js → addon-fit-CM6F_JRD.js} +1 -1
- package/dist/client/assets/{addon-webgl-CIMgmNjg.js → addon-webgl-DRTiePFC.js} +1 -1
- package/dist/client/assets/{agent-autocomplete-DXlvdc4b.js → agent-autocomplete-DXUBnlkN.js} +1 -1
- package/dist/client/assets/{agent-essentials-BOMHR0_U.js → agent-essentials-vytdybaX.js} +1 -1
- package/dist/client/assets/{agent-lane-card-model-CTLxf3R4.js → agent-lane-card-model-CNZMPkhc.js} +1 -1
- package/dist/client/assets/{agent-lanes-model-AfrjRNK5.js → agent-lanes-model-DXqjs0OK.js} +2 -2
- package/dist/client/assets/agent-master-I1W-5d-x.css +1 -0
- package/dist/client/assets/agent-master-model-DAZL92oe.js +1 -0
- package/dist/client/assets/{agent-specialization-BIPIBW8u.js → agent-specialization-BtxLN4UR.js} +1 -1
- package/dist/client/assets/agents-project-DgbqDc65.css +1 -0
- package/dist/client/assets/{arc.es-IR5r6sj_.js → arc.es-Bh84oHJ7.js} +1 -1
- package/dist/client/assets/{arrow-down-BydciYFZ.js → arrow-down-DvTsLokL.js} +1 -1
- package/dist/client/assets/{arrow-left-CghA0kTw.js → arrow-left-DHfdXJVZ.js} +1 -1
- package/dist/client/assets/{arrow-right-iJFv3jNh.js → arrow-right-BBsrogWf.js} +1 -1
- package/dist/client/assets/{arrow-up-right-CCfZXPqD.js → arrow-up-right-CY0Vw_67.js} +1 -1
- package/dist/client/assets/{bot-B5sub1-i.js → bot-DzkOUFBb.js} +1 -1
- package/dist/client/assets/{check-C18YQC90.js → check-DbIkldnK.js} +1 -1
- package/dist/client/assets/{chevron-down-Mp9mu_yd.js → chevron-down-C475vltS.js} +1 -1
- package/dist/client/assets/{chevron-right-CzH-TaSF.js → chevron-right-CnZRSd-V.js} +1 -1
- package/dist/client/assets/{chunk-HRAB3GC3-swV8PA2k.js → chunk-HRAB3GC3-DLNT8aOo.js} +1 -1
- package/dist/client/assets/{chunk-JTPDIGGW-BKXqcLKw.js → chunk-JTPDIGGW-Ci5j4vzV.js} +3 -3
- package/dist/client/assets/{chunk-T65CQEWV-vYbNJ8E6.js → chunk-T65CQEWV-BtNvicWs.js} +1 -1
- package/dist/client/assets/{chunk-YOZR3KYS-U65yUmqt.js → chunk-YOZR3KYS-DN5EJulq.js} +1 -1
- package/dist/client/assets/{clock-B4PTFi5m.js → clock-DVvENUU5.js} +1 -1
- package/dist/client/assets/{code-xml-Jtxsp5d1.js → code-xml-CvKBY3KA.js} +1 -1
- package/dist/client/assets/{compass-0_54-vz3.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-DMbawvqU.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-CQlykFbe.js +1 -0
- 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-CHghn-rT.js → content-odbb5H4U.js} +1 -1
- package/dist/client/assets/content-uXHLPHe0.js +1 -0
- package/dist/client/assets/{conversation-icons-BV10B2Me.js → conversation-icons-CBMKBGHd.js} +1 -1
- package/dist/client/assets/{conversation-model-CwF6Y9gx.js → conversation-model-QsJVfSeG.js} +1 -1
- package/dist/client/assets/conversation-motion-features-BFLHX2eg.js +1 -0
- package/dist/client/assets/{copy-Dtpx4FOE.js → copy-Cj-owMb-.js} +1 -1
- package/dist/client/assets/{cpu-BjVis9mc.js → cpu-DuD3RFX5.js} +1 -1
- package/dist/client/assets/{createLucideIcon-DXpqZP7I.js → createLucideIcon-DthwWQIg.js} +1 -1
- package/dist/client/assets/{ctx-panel-D_HJ3nhb.css → ctx-panel-F05jXK4Q.css} +1 -1
- package/dist/client/assets/discover-B3uQlh5L.js +2 -0
- package/dist/client/assets/embed-entry-DkRcHKTh.js +2 -0
- package/dist/client/assets/{external-link-Ckiyzjwo.js → external-link-C_nxk0MJ.js} +1 -1
- package/dist/client/assets/{eye-CpfyvdLq.js → eye-FnaaPfja.js} +1 -1
- package/dist/client/assets/{file-code-corner-7mo7EviR.js → file-code-corner-DDPq4Cur.js} +1 -1
- package/dist/client/assets/{file-text-KijGBnME.js → file-text--hfhwZH1.js} +1 -1
- package/dist/client/assets/{gauge-y-Xg8Mrv.js → gauge-BVEknshP.js} +1 -1
- package/dist/client/assets/{gestures-Bq9XnSqY.js → gestures-3gw5VgUS.js} +1 -1
- package/dist/client/assets/{git-branch-BQ_x8KZL.js → git-branch-DJyvr0k-.js} +1 -1
- package/dist/client/assets/{home-moving-signal-DtRpiNa0.js → home-moving-signal-BPqBoNSm.js} +1 -1
- package/dist/client/assets/{home-now-card-DFb4GOgM.js → home-now-card-UspVW2-2.js} +1 -1
- package/dist/client/assets/{home-now-card-nano-D--m9jpq.js → home-now-card-nano-G8kMB32m.js} +1 -1
- package/dist/client/assets/{hooks-9d1SoaQA.js → hooks-BMsQzo9j.js} +1 -1
- package/dist/client/assets/{index-CZ-05hKz.js → index-BI9AljSD.js} +5 -5
- package/dist/client/assets/index-C-v0Z6ZS.js +1 -0
- package/dist/client/assets/index-D9DzUORB.js +1 -0
- package/dist/client/assets/index-DfsTyYDx.js +1 -0
- package/dist/client/assets/{inspector-panel-C-EhEDYy.js → inspector-panel-CFSArQ8Y.js} +1 -1
- package/dist/client/assets/{keyboard-nav-DFhAJkW3.js → keyboard-nav-e6yGeorb.js} +1 -1
- package/dist/client/assets/{lane-roster-store-gUBsydNf.js → lane-roster-store-Q7pcblY5.js} +1 -1
- package/dist/client/assets/{layers-CGou-LwV.js → layers-Dz2dKOnU.js} +1 -1
- package/dist/client/assets/{layout-grid-BrZt31QH.js → layout-grid-Bvs5fdB4.js} +1 -1
- package/dist/client/assets/{left-CwHZCGO3.js → left-B4Ak-Ibt.js} +1 -1
- package/dist/client/assets/{left-DA0amyfu.js → left-BMb493FZ.js} +1 -1
- package/dist/client/assets/{left-CwLs0okF.js → left-BjFLvVOC.js} +1 -1
- package/dist/client/assets/{left-B_o51JV6.js → left-CsXQ8Q3G.js} +1 -1
- package/dist/client/assets/left-FNH7faCI.js +1 -0
- package/dist/client/assets/left-POkqE8gI.js +2 -0
- package/dist/client/assets/left-UulOTcWh.js +1 -0
- package/dist/client/assets/{left-advisor-DU3s01gk.js → left-advisor-CJkQS2d6.js} +1 -1
- package/dist/client/assets/left-agents-CFMxyEjT.js +1 -0
- package/dist/client/assets/{left-default-uvuvDmt0.js → left-default-rnX5HANc.js} +1 -1
- package/dist/client/assets/{left-lanes-DnNLgec8.js → left-lanes-BpLXT_qH.js} +1 -1
- package/dist/client/assets/{left-mission-DN3-NLPC.js → left-mission-B0bhseWw.js} +1 -1
- package/dist/client/assets/library-D1iXfda2.js +1 -0
- package/dist/client/assets/{loader-circle-BiohlpM3.js → loader-circle-B2W9DPG5.js} +1 -1
- package/dist/client/assets/{local-agents-wUIaBcEr.js → local-agents-DKr-gIDC.js} +1 -1
- package/dist/client/assets/{mentions-CcPFMbmZ.js → mentions-DuLQnEcn.js} +1 -1
- package/dist/client/assets/{mesh-buckets-ByyFXdKT.js → mesh-buckets-6y3ZIibI.js} +1 -1
- package/dist/client/assets/{mesh-ops-CvGyjK84.js → mesh-ops-CRR-KnCG.js} +1 -1
- package/dist/client/assets/{mesh-roster-n2nDpEmA.js → mesh-roster-Bc7T4b7z.js} +1 -1
- package/dist/client/assets/{mesh-view-store-BpxGm71b.js → mesh-view-store-CiET-yN8.js} +1 -1
- package/dist/client/assets/{message-circle-B2ddzBrX.js → message-circle-B2DoYKDO.js} +1 -1
- package/dist/client/assets/{message-markup-RkfmDfME.js → message-markup-Cc_O-WdA.js} +1 -1
- package/dist/client/assets/{message-square-D9YYWE0x.js → message-square-O-Hu9Mk2.js} +1 -1
- package/dist/client/assets/{message-visibility-DwxgcgYK.js → message-visibility-CGOmSSKs.js} +1 -1
- package/dist/client/assets/{mission-control-store-Bf4b54MV.js → mission-control-store-DDAgWKUl.js} +1 -1
- package/dist/client/assets/{observe-CJRIvOCn.js → observe-Da2mRAsc.js} +1 -1
- package/dist/client/assets/{page-status-BptpTdQ-.js → page-status-Crtgjbq3.js} +1 -1
- package/dist/client/assets/{paperclip-B1UNGl5d.js → paperclip-BudMKSyr.js} +1 -1
- package/dist/client/assets/{persistent-state-YI-WHSCF.js → persistent-state-xJz-qAFc.js} +1 -1
- package/dist/client/assets/{plus-CuU_X0-8.js → plus-BJ1If8vj.js} +1 -1
- package/dist/client/assets/{profile-rY8jO38P.js → profile-B3qDSbrH.js} +1 -1
- package/dist/client/assets/projects-inbox-CLek3QaG.js +1 -0
- package/dist/client/assets/projects-inbox-DRBl2N85.css +1 -0
- package/dist/client/assets/{proxy-DnLpZIi9.js → proxy-1BABCaDb.js} +1 -1
- package/dist/client/assets/{radio-Dm1ItnA4.js → radio-B5OpHrrK.js} +1 -1
- package/dist/client/assets/{refresh-cw-BRn9Oxxl.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-BJltPRnd.js → right-BgJ4mQLf.js} +1 -1
- package/dist/client/assets/{right-DtsRNX5b.js → right-Bk6h7o-Z.js} +1 -1
- package/dist/client/assets/{right-C1yumXNx.js → right-BrICCmEt.js} +1 -1
- package/dist/client/assets/{right-BbyYdzHn.js → right-C1QIbqFZ.js} +1 -1
- package/dist/client/assets/{right-Shpw_xDy.js → right-CfliKiHY.js} +1 -1
- package/dist/client/assets/{right-D3aTKf1F.js → right-CtOLXB9s.js} +1 -1
- package/dist/client/assets/{right-CJnB_Bg7.js → right-D8id_DWQ.js} +1 -1
- package/dist/client/assets/{right-CPP7GyOm.js → right-DJ34yMAi.js} +1 -1
- package/dist/client/assets/{right-DI1B79nR.js → right-DiFmtw6d.js} +1 -1
- package/dist/client/assets/{right-Beh3nCUB.js → right-Lx79pxpG.js} +1 -1
- package/dist/client/assets/{rocket-DOwXHKWA.js → rocket-D3-TUJ2m.js} +1 -1
- package/dist/client/assets/router-DTtux5sP.js +1 -0
- package/dist/client/assets/{scope-views-A4_vP97W.js → scope-views-CPM0sBw_.js} +1 -1
- package/dist/client/assets/{scout-voice-BhPzrc6P.js → scout-voice-BZKsdquE.js} +1 -1
- package/dist/client/assets/{scoutbot-markdown-jh7tzFB1.js → scoutbot-markdown-CQ7Y1McC.js} +1 -1
- package/dist/client/assets/{scroll-text-DO0GQzvN.js → scroll-text-kPhYbh-M.js} +1 -1
- package/dist/client/assets/{search-D1tJSAWe.js → search-DmFM_9jm.js} +1 -1
- package/dist/client/assets/{secondaryNavConfig-B9IF8wXl.js → secondaryNavConfig-C9bQ9_IA.js} +1 -1
- package/dist/client/assets/{selection-bridge-i2S9zpf8.js → selection-bridge-Dy2mtMyi.js} +1 -1
- package/dist/client/assets/{send-horizontal-CgLppsIC.js → send-horizontal-qyjNgEaV.js} +1 -1
- package/dist/client/assets/{server-Dymv5Emh.js → server-nWqndnxu.js} +1 -1
- package/dist/client/assets/{session-catalog-DNaOEzoQ.js → session-catalog-BkmktBHI.js} +1 -1
- package/dist/client/assets/session-ref-lookup-state-SATH_jAP.js +1 -0
- package/dist/client/assets/{session-table-PTQVoTyc.js → session-table-DKSF0mrS.js} +1 -1
- package/dist/client/assets/{settings-2fC_G9nX.js → settings-C6h9y5XX.js} +1 -1
- package/dist/client/assets/{sliders-horizontal-BPSMHhbm.js → sliders-horizontal-BhHKxsCO.js} +1 -1
- package/dist/client/assets/{sparkles-Dy8p5xN8.js → sparkles-Cf8gin88.js} +1 -1
- package/dist/client/assets/{sse-CiOSzE5n.js → sse-DDHEHUgz.js} +1 -1
- package/dist/client/assets/{tail-events-BMQmSx1n.js → tail-events-BdUrO0kb.js} +1 -1
- package/dist/client/assets/{terminal-yN9xN-h9.js → terminal-C3YRPfyz.js} +1 -1
- package/dist/client/assets/{terminal-relay-9lhzEp2V.js → terminal-relay-BFhdIstF.js} +1 -1
- package/dist/client/assets/{terminal-takeover-DANQfTcy.js → terminal-takeover-B6H4llRR.js} +1 -1
- package/dist/client/assets/{text-rLpBg4_z.css → text-BYAFNLNq.css} +1 -1
- package/dist/client/assets/{text-CnZ0e1-V.js → text-Faa3ZStB.js} +1 -1
- package/dist/client/assets/{use-conversation-list-D9BNLfnW.js → use-conversation-list-DO5J8T1H.js} +1 -1
- package/dist/client/assets/use-fleet-active-asks-BtgNnRgK.js +1 -0
- package/dist/client/assets/{use-mesh-ops-items-BIvIHlqe.js → use-mesh-ops-items-N1HHhChY.js} +1 -1
- package/dist/client/assets/{use-reduced-motion-CKkhq9c5.js → use-reduced-motion-8WuxLa5l.js} +1 -1
- package/dist/client/assets/{use-scout-dev-flags-B2KCzPxn.js → use-scout-dev-flags-B31qTy6m.js} +1 -1
- package/dist/client/assets/{useAgentHoverCard-CHBsxcbp.js → useAgentHoverCard-Bkv-Uz_V.js} +1 -1
- package/dist/client/assets/useContentSecondaryNav-Bpkc8ayb.js +1 -0
- package/dist/client/assets/{usePierreRuntime-DUuXH5yp.js → usePierreRuntime-BfZHKAkI.js} +1 -1
- package/dist/client/assets/{wrench-YcXMlsh2.js → wrench-DkxnZRlR.js} +1 -1
- package/dist/client/assets/{x-e3h2hDsp.js → x-DfRJbqrh.js} +1 -1
- package/dist/client/assets/{xterm-Byp1Hep_.js → xterm-CJw8Epxv.js} +1 -1
- package/dist/client/assets/{zap-nMcjPoWB.js → zap-CIo8msJB.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/drizzle/0009_old_korg.sql +72 -0
- package/dist/drizzle/0010_sparkling_colonel_america.sql +2 -0
- package/dist/drizzle/0011_funny_onslaught.sql +4 -0
- package/dist/drizzle/0012_high_blazing_skull.sql +16 -0
- package/dist/drizzle/0013_perfect_juggernaut.sql +1 -0
- package/dist/drizzle/0014_legal_meggan.sql +6 -0
- package/dist/drizzle/0015_lame_marvel_boy.sql +12 -0
- package/dist/drizzle/0016_early_goliath.sql +6 -0
- package/dist/drizzle/meta/0009_snapshot.json +6262 -0
- package/dist/drizzle/meta/0010_snapshot.json +6286 -0
- package/dist/drizzle/meta/0011_snapshot.json +6337 -0
- package/dist/drizzle/meta/0012_snapshot.json +6458 -0
- package/dist/drizzle/meta/0013_snapshot.json +6465 -0
- package/dist/drizzle/meta/0014_snapshot.json +6503 -0
- package/dist/drizzle/meta/0015_snapshot.json +6596 -0
- package/dist/drizzle/meta/0016_snapshot.json +6611 -0
- package/dist/drizzle/meta/_journal.json +56 -0
- package/dist/main.mjs +1355 -365
- package/dist/node/main.mjs +314 -12
- package/dist/pairing-runtime-controller.mjs +616 -108
- package/dist/runtime/base-daemon.mjs +30 -3
- package/dist/runtime/broker-daemon.mjs +4822 -532
- package/dist/runtime/broker-process-manager.mjs +23 -2
- package/dist/runtime/mesh-discover.mjs +23 -2
- package/dist/scout-control-plane-web.mjs +1922 -478
- package/package.json +2 -2
- package/dist/client/assets/AgentLanesEmbedScreen-BmLnN4on.js +0 -1
- package/dist/client/assets/AgentLanesPreflight-5B6sXvRB.js +0 -1
- package/dist/client/assets/AgentLanesView-DHyzVBk6.js +0 -2
- package/dist/client/assets/AgentsSubnav-CDMjKeYC.js +0 -1
- package/dist/client/assets/ChatCollapsedStrip-Ycm0ecaX.js +0 -1
- package/dist/client/assets/ConversationScreen-BNULZAp2.js +0 -2
- package/dist/client/assets/CrewWorkspaces-CJhBKVoZ.css +0 -1
- package/dist/client/assets/CrewWorkspaces-CkPYIA46.js +0 -1
- package/dist/client/assets/FlightObserveScreen-CDWGSKZg.js +0 -1
- package/dist/client/assets/MessagesScreen-Eulveud3.js +0 -1
- package/dist/client/assets/NewChatComposer-hlWT-nbR.js +0 -19
- package/dist/client/assets/OpsScreen-Ppen_Lmj.js +0 -1
- package/dist/client/assets/OpsSubnav-GAKsoSor.js +0 -1
- package/dist/client/assets/ProjectAgentProfile-BLlp2e6t.js +0 -1
- package/dist/client/assets/ProjectsInbox-Dlt8OQ8O.js +0 -2
- package/dist/client/assets/ProjectsRail-DCfNMmnW.js +0 -1
- package/dist/client/assets/ProjectsScreen-BP-hmI1m.js +0 -1
- package/dist/client/assets/ProjectsThreadAside-CWpMjGIH.js +0 -1
- package/dist/client/assets/RealtimeVoiceScreen-D7zZHK_t.js +0 -1
- package/dist/client/assets/ScoutDeckSurface-CKT3qdqY.js +0 -1
- package/dist/client/assets/SessionEmbedScreen-RD5XOx7R.js +0 -1
- package/dist/client/assets/SessionRefScreen-B_cTv47v.js +0 -1
- package/dist/client/assets/SessionsScreen-Bq0Z77On.js +0 -1
- package/dist/client/assets/agents-project-COzHxZAF.css +0 -1
- package/dist/client/assets/archive-BjcGiAy8.js +0 -1
- package/dist/client/assets/content-6RvWTrtk.js +0 -1
- package/dist/client/assets/content-BCgwMUqz.js +0 -1
- package/dist/client/assets/content-Bf2VLhx0.js +0 -1
- package/dist/client/assets/content-BrU_38-m.js +0 -1
- package/dist/client/assets/content-BvvJN8rN.js +0 -1
- package/dist/client/assets/content-CAeEqYPw.js +0 -1
- package/dist/client/assets/content-CI_Z9DXk.js +0 -1
- package/dist/client/assets/content-CbyKONhW.js +0 -1
- package/dist/client/assets/content-Czogvp43.js +0 -1
- package/dist/client/assets/content-DFk0zNzX.js +0 -1
- package/dist/client/assets/content-DHe4DgkA.js +0 -1
- package/dist/client/assets/content-DTz7cKjo.js +0 -1
- package/dist/client/assets/content-E3kudY-W.js +0 -1
- package/dist/client/assets/content-LpO0aO_U.js +0 -1
- package/dist/client/assets/conversation-motion-features-BKkCRaWR.js +0 -1
- package/dist/client/assets/discover-CHbrEItO.js +0 -2
- package/dist/client/assets/embed-entry-vil28MyU.js +0 -2
- package/dist/client/assets/index-BVlMw8x_.js +0 -1
- package/dist/client/assets/index-Cn0GR-q1.js +0 -1
- package/dist/client/assets/index-DosI4AG9.js +0 -1
- package/dist/client/assets/left-BpgWnaah.js +0 -1
- package/dist/client/assets/left-Cx0kv6pe.js +0 -1
- package/dist/client/assets/left-agents-qL5PpUY-.js +0 -1
- package/dist/client/assets/left-z-6CkuBe.js +0 -2
- package/dist/client/assets/library-DIo5NiGP.js +0 -1
- package/dist/client/assets/projects-inbox-BBs1hG13.css +0 -1
- package/dist/client/assets/projects-inbox-D-zAb9Gp.js +0 -1
- package/dist/client/assets/resolve-panes-DO6LkwhQ.js +0 -1
- package/dist/client/assets/resolve-sidebar-context-CIF288wY.js +0 -1
- package/dist/client/assets/router-DJj2WbDg.js +0 -1
- package/dist/client/assets/use-fleet-active-asks-BeAdcl09.js +0 -1
- package/dist/client/assets/useContentSecondaryNav-D0mUhxTF.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{d as Ke,i as xe}from"./context-budget-DX_fwUs3.js";import{i as we}from"./terminal-sessions-BQ6t92tJ.js";import{c as ze,d as Re,o as Ge,i as Ue,l as Q,L as ke}from"./lane-observe-vfyACHi0.js";import{a as qe,i as Ve,b as Xe,c as Se,d as Qe}from"./lane-edit-display-C_Aujldz.js";import{i as Je,b as Ze,t as Ye,e as et,f as tt,g as nt}from"./tail-display-DcliDVkW.js";function H(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function Ee(e,t){return H(H(e)?.[t])}function st(e){const s=H(e.raw)?.type;return typeof s=="string"?s:void 0}function ot(e){const s=Ee(e.raw,"payload")?.type;return typeof s=="string"?s:void 0}const rt=/context\s+compacted|compacted\s+·/iu;function it(e){const t=e.summary.trim();return t&&(e.source==="codex"&&(Ee(H(e.raw),"payload"),ot(e)==="context_compacted"||st(e)==="compacted")||rt.test(t))?t:null}function at(e,t,s){let n=null,o=null;for(const c of e){const l=it(c);l&&(n===null||c.ts>=n)&&(n=c.ts,o=l)}const r=Ke(t,s);let i=null;return r?.overLimit?i="over_limit":r&&r.pct>=80?i="high_context":n!==null&&(i="post_compaction_point"),{eligible:!!(r&&(r.overLimit||r.pct>=75||n!==null)),reason:i,lastCompactedAt:n,lastCompactedSummary:o}}function hn(e){const t=e?.trim().toLowerCase()??"";return t==="codex"||t==="claude"||t==="claude-code"}const re="5m",te=[{key:"5m",label:"5m",windowMs:5*6e4},{key:"30m",label:"30m",windowMs:30*6e4},{key:"4h",label:"4h",windowMs:240*6e4},{key:"24h",label:"24h",windowMs:1440*6e4}];function ie(e){return te.find(t=>t.key===e)?.windowMs??te[0].windowMs}function gn(e){return te.find(t=>t.key===e)?.label??e}function yn(e){switch(e){case"5m":case"30m":return 2e3;case"4h":return 5e3;case"24h":return 1e4;default:return 2e3}}const be=400;function ct(e){return e?`${e[0]?.toUpperCase()}${e.slice(1).toLowerCase()}`:""}function ut(e){const t=e.name.trim();if(!t||e.agentClass==="organic")return!0;const s=e.harness?.trim();if(!s)return!1;const n=ct(s);return new RegExp(`^${n}\\s+[0-9a-f]{6}`,"i").test(t)}function ae(e,t=null){const s=e?.trim();if(!s)return!1;if(/^relay[-:]/i.test(s))return!0;const n=t?.sessionName?.trim();return!!(n&&s===n)}function N(e){const t=e.harnessSessionId?.trim();return t?!ae(t,e.terminalSurface):!1}function q(e){return e.transport==="codex_app_server"&&e.state==="available"}function lt(e,t,s){return(e.brokerActivity??[]).filter(n=>n.at>0&&t-n.at<=s)}function wn(e,t=Date.now(),s=re){if(q(e))return!1;if(e.harnessSessionId?.trim()||e.state&&/^(working|active|running|in_turn|in_flight|queued|waking|dispatching)$/i.test(e.state.trim()))return!0;const n=ie(s);return e.updatedAt?t-e.updatedAt<=n:!1}function j(e,t){return t==="scout"&&e.agentClass!=="organic"&&!ut(e)&&(N(e)||(e.brokerActivity?.length??0)>0)}function dt(e,t){return e.role==="subagent"?e.name.trim()||"Subagent":j(e,t)?e.name.trim()||"Agent":e.project?.trim()||e.harness?.trim()||"local"}function kn(e,t){return e.harness?.trim()||dt(e,t)}function Sn(e,t){if(j(e,t))return[e.project,e.branch].filter(Boolean).join(" · ")||e.harness||"local";const s=e.harness?.trim(),n=e.harnessSessionId?.trim();return s&&n?`${s} · ${n.replace(/\.jsonl$/u,"").slice(0,8)}`:s||n?.slice(0,8)||"native"}function ft(e){let t=2166136261;for(let s=0;s<e.length;s+=1)t^=e.charCodeAt(s),t=Math.imul(t,16777619);return(t>>>0).toString(36)}function ne(e){const t=e.sessionId?.trim();return t?`native:${e.source}:${t}`:`native:${e.source}:path:${ft(e.transcriptPath)}`}function T(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function $(e){const t=T(e.raw);return T(t?.payload)}function ce(e){const s=T(e.raw)?.type;return typeof s=="string"?s:null}function V(e){const s=$(e)?.type;return typeof s=="string"?s:null}function f(...e){for(const t of e){if(typeof t!="string")continue;const s=t.trim();if(s)return s}}function k(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}function I(e,t){return T(e?.[t])}function Fe(e,t){let s=null;for(const n of e){if(ce(n)!==t)continue;const o=$(n);o&&(!s||n.ts>=s.event.ts)&&(s={event:n,payload:o})}return s?.payload??null}function ue(e){return Fe(e,"turn_context")}function Le(e){return Fe(e,"session_meta")}function Ce(e){const t=I(e,"collaboration_mode"),s=I(t,"settings");return f(e?.effort,s?.reasoning_effort)}function K(e){return f(e?.gitBranch,e?.git_branch,e?.currentBranch,e?.current_branch,e?.branch)}function mt(e,t,s="session"){if(e.source!=="codex")return null;if(ce(e)!=="event_msg"||V(e)!=="token_count"){const b=e.summary.match(/^tokens? · ([0-9,]+)/i)?.[1]?.replace(/,/g,""),w=b?Number.parseInt(b,10):NaN;return Number.isFinite(w)?{totalTokens:w}:null}const n=$(e),o=I(n,"info"),r=I(o,"total_token_usage"),i=I(o,"last_token_usage"),u=I(n,"rate_limits");if(!r&&!o&&!u)return null;const c=s==="turn"?i??r:r??i,l={},p=k(c?.input_tokens),d=k(i?.input_tokens),m=k(c?.output_tokens),g=k(c?.reasoning_output_tokens),v=k(c?.cached_input_tokens)??k(c?.cache_read_input_tokens),x=k(c?.cache_creation_input_tokens)??k(c?.cache_write_input_tokens),M=k(c?.total_tokens)??(p!==void 0||m!==void 0?(p??0)+(m??0):void 0),D=k(o?.model_context_window)??xe({model:t,adapterType:"codex"}),a=f(n?.service_tier,u?.service_tier),S=f(n?.speed,u?.speed),y=f(n?.plan_type,u?.plan_type);return p!==void 0&&(l.inputTokens=p),d!==void 0&&(l.contextInputTokens=d),m!==void 0&&(l.outputTokens=m),g!==void 0&&(l.reasoningOutputTokens=g),v!==void 0&&(l.cacheReadInputTokens=v),x!==void 0&&(l.cacheCreationInputTokens=x),M!==void 0&&(l.totalTokens=M),D!==void 0&&(l.contextWindowTokens=D),a&&(l.serviceTier=a),S&&(l.speed=S),y&&(l.planType=y),Object.keys(l).length>0?l:null}function pt(e){if(e.source!=="claude"||ce(e)!=="assistant")return null;const t=T(e.raw),s=T(t?.message),n=T(s?.usage);if(!s||!n)return null;const o=k(n.input_tokens),r=k(n.output_tokens),i=k(n.cache_read_input_tokens),u=k(n.cache_creation_input_tokens),c=(o??0)+(i??0)+(u??0),l=k(n.context_window_tokens)??k(n.contextWindowTokens)??k(n.model_context_window)??k(s.context_window_tokens)??k(s.contextWindowTokens)??k(s.model_context_window)??xe({model:f(s.model),adapterType:"claude-code"}),p=(o??0)+(r??0)+(i??0)+(u??0),h=T(n.server_tool_use),d={};o!==void 0&&(d.inputTokens=o),c>0&&(d.contextInputTokens=c),r!==void 0&&(d.outputTokens=r),i!==void 0&&(d.cacheReadInputTokens=i),u!==void 0&&(d.cacheCreationInputTokens=u),p>0&&(d.totalTokens=p),l>0&&(d.contextWindowTokens=l);const m=k(h?.web_search_requests),g=k(h?.web_fetch_requests);m!==void 0&&(d.webSearchRequests=m),g!==void 0&&(d.webFetchRequests=g);const v=f(s.service_tier,n.service_tier),x=f(s.speed,n.speed);return v&&(d.serviceTier=v),x&&(d.speed=x),Object.keys(d).length>0?d:null}function Ne(e,t){let s=null;const n=ue(e),o=f(n?.model,I(I(n,"collaboration_mode"),"settings")?.model),r=t?.scope??"session";for(const i of e){if(i.source!=="codex"&&i.source!=="claude"||i.source==="codex"&&V(i)!=="token_count"&&!/^tokens?(?: ·|$)/i.test(i.summary.trim()))continue;const u=i.source==="codex"?mt(i,o,r):pt(i);u&&(!s||i.ts>=s.ts)&&(s={ts:i.ts,usage:u})}return s?.usage}function ht(e,t){const s=Le(t),n=ue(t),o=I(n,"collaboration_mode"),r=I(o,"settings"),i=T(n?.sandbox_policy),u=T(n?.permission_profile),c={adapterType:e.source,cwd:f(n?.cwd,s?.cwd,e.cwd)??void 0,externalSessionId:f(s?.id,e.sessionId)??void 0,threadId:f(n?.turn_id)??void 0,threadPath:e.transcriptPath,model:f(n?.model,r?.model)??void 0,effort:Ce(n),gitBranch:K(n)??K(s),cliVersion:f(s?.cli_version),entrypoint:f(s?.thread_source,s?.source),originator:f(s?.originator,s?.source),source:f(s?.source),approvalPolicy:f(n?.approval_policy),sandbox:f(i?.type,n?.sandbox),permissionMode:f(u?.type,n?.permission_mode),userType:f(s?.user_type,n?.user_type),modelProvider:f(s?.model_provider,n?.model_provider),timezone:f(n?.timezone)};for(const l of Object.keys(c))c[l]===void 0&&delete c[l];return c}function gt(e){let t,s,n;for(const o of e){if(o.source!=="claude")continue;const r=T(o.raw);if(!r)continue;const i=f(r.gitBranch);i&&(!s||o.ts>=s.ts)&&(s={ts:o.ts,value:i});const u=f(r.cwd);u&&(!n||o.ts>=n.ts)&&(n={ts:o.ts,value:u});const c=I(r,"message"),l=f(c?.model);l&&(!t||o.ts>=t.ts)&&(t={ts:o.ts,value:l})}return{model:t?.value,gitBranch:s?.value,cwd:n?.value}}function yt(e,t){const s=new Map;for(const n of[...e??[],...t??[]]){const o=n.path?.trim();if(!o||!Ue(o))continue;const r=s.get(o);if(!r){s.set(o,{...n,path:o});continue}r.touches+=n.touches,r.lastT=Math.max(r.lastT,n.lastT),r.state==="read"&&n.state!=="read"&&(r.state=n.state),r.state==="modified"&&n.state==="created"&&(r.state="created")}return[...s.values()].sort((n,o)=>{const r=n.state==="read"?0:1,i=o.state==="read"?0:1;return r!==i?i-r:o.lastT-n.lastT})}function wt(e){let t=-1,s=-1,n=0;for(const o of e){const r=o.summary.trim().toLowerCase(),i=V(o);(r==="task started"||i==="task_started")&&(t=Math.max(t,o.ts),n+=1),(r==="task complete"||i==="task_complete"||i==="turn_aborted")&&(s=Math.max(s,o.ts))}return n===0&&s<0?{phase:"idle"}:{phase:t>s?"started":"complete",index:n||void 0}}function kt(e,t){const s=[...t?.events??[]].reverse().find(n=>n.kind==="ask"&&n.text.trim());if(s)return Q(s.text,160,2);for(const n of[...e].sort((o,r)=>r.ts-o.ts)){if(n.kind==="user"&&n.summary.trim())return Q(n.summary,160,2);const o=$(n);if(V(n)==="user_message"){const r=f(o?.message);if(r)return Q(r,160,2)}}}function St(e){let t;for(const s of e)(!t||(U[s.harness]??0)>(U[t]??0))&&(t=s.harness);return t}function bt(e,t,s){const n=ht(e,t),o=gt(t);return{...n,model:n.model??o.model,gitBranch:n.gitBranch??o.gitBranch,cwd:n.cwd??o.cwd??e.cwd??void 0,externalSessionId:n.externalSessionId??e.sessionId??void 0,sessionStart:s}}function Me(e){if(!e?.trim())return null;try{return T(JSON.parse(e))}catch{return null}}function vt(e){const t=$(e);return f(t?.name,t?.type)}function Pe(e){const t=$(e),s=t?.arguments;if(typeof s=="string")return s;const n=t?.input;if(typeof n=="string")return n;const o=t?.command;if(Array.isArray(o))return o.filter(r=>typeof r=="string").join(" ");if(typeof o=="string")return o}function Tt(e){if(e.source!=="codex")return;const t=vt(e)?.toLowerCase();if(t!=="apply_patch"&&t!=="patch_apply")return;const s=Pe(e),n=Me(s);return f(n?.patch,n?.input,s)}function _t(e){if(!e?.trim())return;let t=0,s=0;const n=[];for(const o of e.split(/\r?\n/))o.startsWith("+")&&!o.startsWith("+++")&&(t+=1),o.startsWith("-")&&!o.startsWith("---")&&(s+=1),n.length<24&&/^(?:\*\*\* |@@|\+\+\+|---|[+-])/.test(o)&&n.push(o);if(!(t===0&&s===0&&n.length===0))return{add:t,del:s,preview:n.join(`
|
|
2
|
-
`)}}function At(e){const t=T(e.raw);return t?T(t.tool_input):null}function $e(e,t){if(!Ve(t))return null;if(e.source==="grok"){const o=Xe(e.summary);if(o)return o;const r=Se(At(e));if(r)return r}const s=Pe(e),n=Se(Me(s));return n||null}function It(e,t){const s=Tt(e);if(s)return s;const n=$e(e,t);if(n&&(n.oldText||n.newText))return Qe(n)}function Oe(e,t,s){const n=[...e].sort((o,r)=>o.ts-r.ts);return typeof s=="number"&&s>0?n.filter(o=>o.ts>=t-s):n}function ve(e,t,s){const n=Oe(e,t,s),o=nt(n);return o.length>be?o.slice(-be):o}function xt(e,t,s,n){const o=n?.now??Date.now(),r=Oe(t,o,n?.windowMs),i=ve(r,o,void 0),u=i.length>=ke?i:ve(t,o,void 0).slice(-ke),c=u[0]?.ts??e.mtimeMs,l=u.map(d=>{const m=Ze(d),g=$e(d,m.tool),v=Ye(d,e)??It(d,m.tool),x=g&&(g.oldText||g.newText)?qe(g):_t(v);return{id:d.id,t:Math.max(0,Math.round((d.ts-c)/1e3)),at:d.ts,kind:tt(d),text:et(d,m),tool:m.tool,arg:m.arg,result:m.result,stream:m.stream,diff:x,detail:v,live:s&&d.id===u[u.length-1]?.id}}),p=Re(l),h=Ne(r,{scope:typeof n?.windowMs=="number"&&n.windowMs>0?"turn":"session"});return{events:l,files:p,live:s&&l.length>0,metadata:{session:bt(e,t,c),usage:h}}}function z(e){return e?`${e[0]?.toUpperCase()}${e.slice(1)}`:"Native"}function se(e){return e?e.replace(/\.jsonl$/u,"").slice(0,8):"session"}function Te(e,t,s){const n=e.sessionId?.trim()||null,o=!!e.subagentId,r=o?`${z(e.source)} subagent ${se(e.subagentId)}`:`${z(e.source)} ${se(n)}`;return{id:ne(e),definitionId:`native:${e.source}`,name:r,handle:null,agentClass:"organic",harness:e.source,state:s?"working":"idle",projectRoot:e.cwd,cwd:e.cwd,updatedAt:t,createdAt:null,transport:null,selector:null,defaultSelector:null,nodeQualifier:null,workspaceQualifier:null,wakePolicy:null,capabilities:[],project:e.project,branch:null,role:o?"subagent":null,model:null,harnessSessionId:n,harnessLogPath:e.transcriptPath,conversationId:n??ne(e),homeNodeId:null,homeNodeName:null,ownerId:null,ownerName:null,ownerHandle:null,staleLocalRegistration:!1,retiredFromFleet:!1,replacedByAgentId:null,terminalSurface:null}}const Rt=new Set(["tmux","zellij","herdr"]);function Et(e){const t=e?.trim();if(!t)return null;const s=t.split("/").filter(Boolean);return s[s.length-1]??t}function _e(e){const t=e.surfaces.find(s=>we(s.backend));return!t||!we(t.backend)?null:{backend:t.backend,sessionName:t.sessionName,paneId:t.paneId,socketDir:t.socketDir??null}}function Ft(e){const t=e.harness?.trim();return!t||Rt.has(t.toLowerCase())||!e.sourceSessionId?.trim()||e.origin==="discovered"||e.metadata?.registryState==="discovered"?!1:e.surfaces.length>0}function X(e){const t=new Set;for(const s of[e.id,e.sourceSessionId,B(e.sourceSessionId)]){const n=s?.trim();n&&t.add(n)}for(const s of e.surfaces){const n=s.sessionName?.trim();n&&t.add(n)}return[...t]}function le(e){return`native:${e.harness}:terminal:${e.id}`}function Lt(e,t,s){const n=e.harness.trim()||"native",o=e.sourceSessionId.trim()||e.id,r=Et(e.cwd);return{id:le(e),definitionId:`native:${n}`,name:`${z(n)} ${se(o)}`,handle:null,agentClass:"organic",harness:n,state:s?"working":"idle",projectRoot:e.cwd||null,cwd:e.cwd||null,updatedAt:t,createdAt:e.createdAt??null,transport:_e(e)?.backend??null,selector:null,defaultSelector:null,nodeQualifier:null,workspaceQualifier:null,wakePolicy:null,capabilities:[],project:r,branch:null,role:null,model:null,harnessSessionId:o,harnessLogPath:null,conversationId:o,homeNodeId:null,homeNodeName:null,ownerId:null,ownerName:null,ownerHandle:null,staleLocalRegistration:!1,retiredFromFleet:!1,replacedByAgentId:null,terminalSurface:_e(e)}}function Ct(e){const t=e.surfaces[0];return t?`${t.backend}:${t.sessionName}`:null}function Be(e){const t=e.harness?.trim()||"Native";return{events:[{id:`${e.id}:session-ready`,t:0,at:e.startedAt,kind:"system",text:`${z(t)} session ready`,detail:e.detail??e.cwd??e.sessionId??void 0,live:e.current}],files:[],live:e.current,metadata:{session:{adapterType:e.harness??void 0,cwd:e.cwd??void 0,externalSessionId:e.sessionId??void 0,sessionStart:e.startedAt,model:e.model??void 0,source:"session-registry"}}}}function Nt(e,t,s){const n=Ct(e),o=[n?`surface: ${n}`:null,e.cwd].filter(Boolean).join(" · ");return Be({id:le(e),harness:e.harness,sessionId:e.sourceSessionId,cwd:e.cwd,startedAt:s,current:t,detail:o||null})}function je(e){if(!e)return null;const t=e.metadata?.session?.sessionStart;let s=null;for(const n of e.events){if(!de(n))continue;const o=Ge(n,t);o!==null&&(s=s===null?o:Math.max(s,o))}if(typeof t=="number"&&Number.isFinite(t))for(const n of e.files){if(!Number.isFinite(n.lastT)||n.lastT<0)continue;const o=t+n.lastT*1e3;s=s===null?o:Math.max(s,o)}return s}function G(e){return e?.live?e.events.some(t=>t.live===!0&&de(t)):!1}function Ae(e,t,s){const n=je(e);return n===null?!1:t-n<=s}function Mt(e,t,s){if(G(t?.data))return s;const n=je(t?.data),o=e.updatedAt??0;return n!==null?Math.max(n,o):0}function J(e){return G(e)}const Pt=["transcript discovered","waiting for events","no session trace","waiting for a live session"];function $t(e){if(e.kind!=="boot"&&e.kind!=="system")return!1;const t=e.text.trim().toLowerCase(),s=(e.detail??"").trim().toLowerCase();return t.includes("session started")?s.includes("turns: 0")&&s.includes("status: idle"):!1}function de(e){if(e.kind==="tool"||e.kind==="think"||e.kind==="ask"||e.kind==="message"||e.kind==="note")return!0;if(e.kind==="system"||e.kind==="boot"){if($t(e))return!1;const t=e.text.trim().toLowerCase();return!Pt.some(s=>t.includes(s))}return!1}const U={"scout-managed":3,"hudson-managed":2,unattributed:1};function Ot(e,t){const s=e.cwd?.trim();if(!s)return e.harness;const n=t.filter(o=>o.source===e.source&&o.cwd===s);return n.length===0?e.harness:n.reduce((o,r)=>{const i=U[o.harness]??0,u=U[r.harness]??0;return u>i||u===i&&r.pid<o.pid?r:o}).harness}function Z(e,t,s,n,o,r){const i=o?.metadata?.session,u=ue(t),c=Le(t),l=e?Ot(e,n):St(t),p=o?Re(o.events):[],h=yt(o?.files,p),d=Ne(t,{scope:"turn"})??o?.metadata?.usage,m={touchedFiles:h,model:f(i?.model,u?.model,I(I(u,"collaboration_mode"),"settings")?.model,s.model),effort:f(i?.effort,Ce(u)),branch:f(i?.gitBranch,K(u),K(c),s.branch),cwd:f(i?.cwd,c?.cwd,s.cwd,s.projectRoot),originator:f(i?.originator,c?.originator,c?.source),attribution:l,turn:t.length>0?wt(t):o?.live?{phase:"started"}:{phase:"idle"},usage:d,parentSessionId:e?.parentSessionId?.trim()||void 0,parentAgentName:e?.parentSessionId&&r?C(r):void 0,currentTask:kt(t,o)},g=at(t,d,{model:m.model,adapterType:e?.source??s.harness});(g.eligible||g.lastCompactedAt!==null)&&(m.compaction={eligible:g.eligible,reason:g.reason,...g.lastCompactedAt!==null?{lastCompactedAt:g.lastCompactedAt}:{},...g.lastCompactedSummary?{lastCompactedSummary:g.lastCompactedSummary}:{}});for(const v of["model","effort","branch","cwd","originator","attribution","usage","compaction","currentTask"])m[v]===void 0&&delete m[v];return m}function Bt(e){if(Je(e))return!1;if(e.kind==="tool"||e.kind==="tool-result"||e.kind==="assistant"||e.kind==="user")return!0;if(e.kind!=="system")return!1;if(e.source==="grok")return/^turn /u.test(e.summary);if(e.source==="codex"){const t=e.summary.trim().toLowerCase();if(t==="task started"||t==="task complete"||t.startsWith("turn aborted"))return!0;const s=e.raw;if(s&&typeof s=="object"&&!Array.isArray(s)){const n=s.payload;if(n&&typeof n=="object"&&!Array.isArray(n)&&n.type==="reasoning"&&t!=="[reasoning]")return!0}}return!1}function Y(e){return e?.events.some(de)??!1}function B(e){const t=e?.trim();if(!t)return null;const s=t.split("/").pop()??t;return s.endsWith(".jsonl")?s.slice(0,-6):s}function fe(e){const t=new Set;for(const s of[e.sessionId,e.transcriptPath,B(e.sessionId),B(e.transcriptPath)]){const n=s?.trim();n&&t.add(n)}return[...t]}function De(e,t){const s=fe(e),n=new Set,o=[];for(const r of s)for(const i of t.get(r)??[])n.has(i.id)||(n.add(i.id),o.push(i));return o}function me(e){const t=new Set,s=e.harnessSessionId?.trim();if(s){t.add(s);const n=B(s);n&&t.add(n);const o=W(s);o&&t.add(o)}for(const n of[e.harnessLogPath,e.conversationId,W(e.harnessLogPath),W(e.conversationId)]){const o=n?.trim();o&&t.add(o)}return[...t]}function Ie(e){return j(e,"scout")?N(e)?2:1:0}function jt(e,t,s){const n=e.get(t);if(!n){e.set(t,s);return}const o=Ie(n),r=Ie(s);if(r>o){e.set(t,s);return}r===o&&s.id.localeCompare(n.id)<0&&e.set(t,s)}function Dt(e,t){for(const s of fe(e)){const n=t.get(s);if(n)return n}}function Wt(e,t){return me(e).some(s=>t.has(s))}function Ht(e,t){return X(e).some(s=>t.has(s))}function pe(e,t,s){const n=s?De(s,t):e?.trim()?t.get(e.trim())??[]:[];let o=0;for(const r of n)Bt(r)&&(o=Math.max(o,r.ts));return o}function Kt(e,t){let s=0;for(const n of X(e))s=Math.max(s,pe(n,t));return s}function zt(e,t){return pe(e.sessionId,t,e)}function Gt(e,t){for(const s of X(e)){const n=t.get(s);if(n)return n}}function Ut(e,t,s){if(!N(e)||q(e))return!1;const n=e.transport?.trim();if(n!=="pi_rpc"&&n!=="pairing_bridge")return!1;const o=e.updatedAt??0;return o>0&&t-o<=s}function qt(e){return e.retiredFromFleet||e.staleLocalRegistration||!j(e,"scout")||!N(e)||q(e)?0:Math.max(e.updatedAt??0,e.createdAt??0)}function Vt(e,t,s){return Be({id:e.id,harness:e.harness,sessionId:e.harnessSessionId,cwd:e.cwd??e.projectRoot,model:e.model,startedAt:s,current:t,detail:[e.transport,e.cwd??e.projectRoot,e.harnessSessionId].filter(Boolean).join(" · ")||null})}function Xt(e,t){return{events:[],files:[],live:!1,metadata:{session:{adapterType:e.harness??void 0,cwd:e.cwd??e.projectRoot??void 0,externalSessionId:e.harnessSessionId??void 0,sessionStart:t,model:e.model??void 0,source:"agent-presence"}}}}function Qt(e,t){const s=new Set(["queued","waking","running","waiting","in_flight"]);return{events:t.map((n,o)=>({id:`broker:${n.kind}:${n.id}`,t:o,at:n.at,kind:n.kind==="flight"?"tool":n.kind==="invocation"?"ask":"message",text:n.summary,...n.kind==="flight"?{tool:"scout flight",arg:n.state??void 0,live:!!(n.state&&s.has(n.state))}:{}})),files:[],live:t.some(n=>!!(n.state&&s.has(n.state))),metadata:{session:{adapterType:e.harness??"scout",cwd:e.cwd??e.projectRoot??void 0,sessionStart:t[0]?.at,source:"broker-native",approvalPolicy:e.runtimePolicy?.approvalPolicy??void 0,sandbox:e.runtimePolicy?.sandbox??void 0}}}}function ee(e,t=Date.now(),s=ie(re),n=0){const{agent:o,observe:r,lastActiveAt:i,source:u}=e;return i<=0||t-i>s?!1:u==="native"?n>0&&t-n<=s?!0:G(r)||Ae(r,t,s):!!(n>0&&t-n<=s||G(r)||Ae(r,t,s))}function oe(e,t){return e.id.localeCompare(t.id)}function Jt(e){return[e.agent.harnessSessionId,e.agent.conversationId,e.observe?.metadata?.session?.externalSessionId].filter(t=>!!t?.trim())}function Zt(e,t){const s=new Map;for(const o of e)for(const r of Jt(o))s.set(r,o);const n=new Map;for(const o of e){const r=o.facts?.parentSessionId?.trim(),i=r?s.get(r):void 0;i&&i.id!==o.id&&n.set(o.id,i)}return[...e].sort((o,r)=>{const i=n.get(o.id),u=n.get(r.id),c=i??o,l=u??r,p=t.slots.get(c.id)??Number.MAX_SAFE_INTEGER,h=t.slots.get(l.id)??Number.MAX_SAFE_INTEGER;if(p!==h)return p-h;if(c.id!==l.id)return oe(c,l);if(o.id===c.id)return-1;if(r.id===l.id)return 1;const d=t.slots.get(o.id)??Number.MAX_SAFE_INTEGER,m=t.slots.get(r.id)??Number.MAX_SAFE_INTEGER;return d!==m?d-m:oe(o,r)})}const Yt=/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i;function W(e){return e?.match(Yt)?.[0]?.toLowerCase()??null}function bn(){return{slots:new Map,nextSlot:0}}function vn(e,t){const s=[];for(const r of e){const i=r.id;t.slots.has(i)||(t.slots.set(i,t.nextSlot),t.nextSlot+=1,s.push(r.id))}const n=new Set(e.map(r=>r.id));for(const r of[...t.slots.keys()])n.has(r)||t.slots.delete(r);return{lanes:Zt(e,t),newLaneIds:s}}function We(e){return W(e.harnessSessionId)??B(e.harnessSessionId)??e.harnessSessionId?.trim()??null}function C(e){return e.name.trim()||e.id}function He(e,t){return`${e}:${t}`}function O(e,t,s){const n=s.sessionRef??s.kind,o=s.id??He(s.kind,n);t.has(o)||(t.add(o),e.push({...s,id:o}))}function en(e,t){for(const s of e)for(const n of me(s)){const o=t.get(n);if(o&&e.some(r=>r.id===o.id))return o}}function tn(e){if(e.source==="cursor")return`${e.source}:path:${e.transcriptPath}`;const t=e.sessionId?.trim();return t?`${e.source}:${t}`:`${e.source}:path:${e.transcriptPath}`}function nn(e){const t=new Map,s=[];for(const n of e){if(n.source!=="cursor"){s.push(n);continue}const o=n.sessionId?.trim()||n.transcriptPath,r=t.get(o);(!r||n.mtimeMs>r.mtimeMs)&&t.set(o,n)}return[...s,...t.values()]}const sn=new Set(["codex_app_server","claude_stream_json","pairing_bridge","pi_rpc"]);function on(e){return e.retiredFromFleet||e.staleLocalRegistration?!1:ae(e.harnessSessionId,e.terminalSurface)||e.terminalSurface||e.transport?.trim()||e.state==="in_flight"?!0:N(e)}function rn(e){if(e.agentClass==="organic"||(e.brokerActivity?.length??0)>0||e.terminalSurface)return!1;const t=e.transport?.trim();return!t||t==="tmux"||t==="zellij"||!e.harness?.trim()||e.state!=="in_flight"?!1:sn.has(t)}function an(e){const t=[],s=new Set,n=new Map;for(const o of e){const r=tn(o),i=n.get(r)??[];i.push(o),n.set(r,i)}for(const[o,r]of n)r.length<=1||O(t,s,{kind:"duplicate_transcript_session",sessionRef:o,transcriptPaths:r.map(i=>i.transcriptPath),message:`Tail discovery returned ${r.length} transcripts for ${o}.`});return t}function cn(e,t){const s=e.filter(on),n=[],o=new Set,r=new Map;for(const c of s){const l=We(c);if(!l)continue;const p=r.get(l)??[];p.some(h=>h.id===c.id)||p.push(c),r.set(l,p)}const i=s.filter(c=>ae(c.harnessSessionId,c.terminalSurface));i.length>0&&O(n,o,{kind:"harness_session_polluted",sessionRef:"harness-slot",agentIds:i.map(c=>c.id),agentNames:i.map(C),message:`${i.length} agent(s) store a transport ref in harnessSessionId — use terminalSurface for attach and harnessSessionId for provider ids only.`});const u=s.filter(c=>rn(c)&&!N(c));u.length>0&&O(n,o,{kind:"harness_session_unbound",sessionRef:"fleet",agentIds:u.map(c=>c.id),agentNames:u.map(C),message:`${u.length} scout agent(s) have no provider harness session bound (lanes use tail transcripts, not agent.id).`});for(const[c,l]of r){if(l.length<=1)continue;const p=en(l,t);l.filter(d=>d.id!==p?.id).length!==0&&O(n,o,{kind:"session_binding_conflict",sessionRef:c,agentIds:l.map(d=>d.id),agentNames:l.map(C),selectedAgentId:p?.id,message:p?`Multiple scout agents claim ${c}; showing ${C(p)}.`:`Multiple scout agents claim ${c} but none could be selected.`})}return n}function Tn(e){if(!e?.issues?.length)return[];const t=new Set,s=[];for(const n of e.issues)n.sessionKey.startsWith("cursor:")||t.has(n.sessionKey)||(t.add(n.sessionKey),s.push({id:He("transcript_path_collision",n.sessionKey),kind:"transcript_path_collision",sessionRef:n.sessionKey,transcriptPaths:n.transcriptPaths,message:n.message}));return s}function _n(e){const{transcripts:t,tailEvents:s,processes:n=[],scoutAgents:o=e.agents??[],terminalSessions:r=[],observeCache:i={},now:u,workingOnly:c=!0,horizon:l=re}=e,p=nn(t),h=ie(l),d=[],m=new Map;for(const a of s){const S=m.get(a.sessionId)??[];S.push(a),m.set(a.sessionId,S)}const g=new Map;for(const a of o)for(const S of me(a))jt(g,S,a);const v=new Set,x=new Set,M=[...an(p),...cn(o,g)],D=new Set(M.map(a=>a.id));for(const a of p){a.sessionId?.trim();const S=De(a,m),y=zt(a,m),b=y>0&&u-y<=h;if(!b)continue;const w=Dt(a,g),E=a.parentSessionId?g.get(a.parentSessionId):void 0;w&&x.add(w.id);const _=xt(a,S,b,{now:u,windowMs:h}),F=S.length>0,L=Z(a,S,w??Te(a,y,b),n,_,E),R=y,P=w?{id:w.id,agent:{...w,updatedAt:y},source:"scout",observe:_,facts:L,lastActiveAt:y,current:b}:{id:ne(a),agent:Te(a,y,b),source:"native",observe:_,facts:L,lastActiveAt:y,current:b};if(!(c&&!ee(P,u,h,R))&&!(F&&!Y(_)&&!J(_))){for(const A of fe(a))v.add(A);d.push(P)}}for(const a of r){if(!Ft(a)||Ht(a,v))continue;const S=Kt(a,m),y=Math.max(S,a.updatedAt??0,a.createdAt??0),b=y>0&&u-y<=h;if(!b)continue;const w=Gt(a,g);w&&x.add(w.id);const E=Lt(a,y,b),_=w?{...w,harnessSessionId:w.harnessSessionId??a.sourceSessionId,terminalSurface:w.terminalSurface??E.terminalSurface,updatedAt:Math.max(w.updatedAt??0,y)}:E,F=Nt(a,b,y),L={id:w?w.id:le(a),agent:_,source:w?"scout":"native",observe:F,facts:Z(null,[],_,n,F),lastActiveAt:y,current:b};if(!(c&&!ee(L,u,h,S||y))){for(const R of X(a))v.add(R);d.push(L)}}for(const a of o){const S=lt(a,u,h);if(q(a)&&S.length===0||!j(a,"scout"))continue;const y=N(a);if(!y&&S.length===0)continue;if(y&&Wt(a,v)){if(!x.has(a.id)){const ye=We(a)??a.id;O(M,D,{kind:"shadowed_scout_card",sessionRef:ye,agentIds:[a.id],agentNames:[C(a)],message:`${C(a)} is active but hidden because another lane already represents ${ye}.`})}continue}const b=i[a.id],w=y?pe(a.harnessSessionId,m):0,E=S.at(-1)?.at??0,_=qt(a),F=Ut(a,u,h),L=F?a.updatedAt??0:0,R=Math.max(Mt(a,b,u),w,L,_,E),P=R>0&&u-R<=h;let A=ze(b?.data??null,u,h);!A&&S.length>0&&(A=Qt(a,S)),F&&P&&!Y(A)&&!J(A)?A=Vt(a,P,R):!A&&_>0&&(A=Xt(a,R));const he={id:a.id,agent:a,source:"scout",observe:A,facts:Z(null,[],a,n,A),lastActiveAt:R,current:P},ge=_>0&&u-_<=h||E>0;c&&!ge&&!ee(he,u,h,w)||!ge&&!Y(A)&&!J(A)||d.push(he)}return{lanes:d.sort(oe),issues:M}}export{te as A,re as D,Sn as a,q as b,on as c,kn as d,wn as e,je as f,_n as g,yn as h,J as i,ie as j,gn as k,dt as l,bn as m,vn as n,xt as o,Tn as r,hn as s};
|
|
1
|
+
import{d as Ke,i as xe}from"./context-budget-DX_fwUs3.js";import{i as we}from"./terminal-sessions-BQ6t92tJ.js";import{c as ze,d as Re,o as Ge,i as Ue,l as Q,L as ke}from"./lane-observe-vfyACHi0.js";import{a as qe,i as Ve,b as Xe,c as Se,d as Qe}from"./lane-edit-display-C_Aujldz.js";import{i as Je,b as Ze,t as Ye,e as et,f as tt,g as nt}from"./tail-display-DcliDVkW.js";function H(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function Ee(e,t){return H(H(e)?.[t])}function st(e){const s=H(e.raw)?.type;return typeof s=="string"?s:void 0}function ot(e){const s=Ee(e.raw,"payload")?.type;return typeof s=="string"?s:void 0}const rt=/context\s+compacted|compacted\s+·/iu;function it(e){const t=e.summary.trim();return t&&(e.source==="codex"&&(Ee(H(e.raw),"payload"),ot(e)==="context_compacted"||st(e)==="compacted")||rt.test(t))?t:null}function at(e,t,s){let n=null,o=null;for(const c of e){const l=it(c);l&&(n===null||c.ts>=n)&&(n=c.ts,o=l)}const r=Ke(t,s);let i=null;return r?.overLimit?i="over_limit":r&&r.pct>=80?i="high_context":n!==null&&(i="post_compaction_point"),{eligible:!!(r&&(r.overLimit||r.pct>=75||n!==null)),reason:i,lastCompactedAt:n,lastCompactedSummary:o}}function hn(e){const t=e?.trim().toLowerCase()??"";return t==="codex"||t==="claude"||t==="claude-code"}const re="5m",te=[{key:"5m",label:"5m",windowMs:5*6e4},{key:"30m",label:"30m",windowMs:30*6e4},{key:"4h",label:"4h",windowMs:240*6e4},{key:"24h",label:"24h",windowMs:1440*6e4}];function ie(e){return te.find(t=>t.key===e)?.windowMs??te[0].windowMs}function gn(e){return te.find(t=>t.key===e)?.label??e}function yn(e){return 1e3}const be=400;function ct(e){return e?`${e[0]?.toUpperCase()}${e.slice(1).toLowerCase()}`:""}function ut(e){const t=e.name.trim();if(!t||e.agentClass==="organic")return!0;const s=e.harness?.trim();if(!s)return!1;const n=ct(s);return new RegExp(`^${n}\\s+[0-9a-f]{6}`,"i").test(t)}function ae(e,t=null){const s=e?.trim();if(!s)return!1;if(/^relay[-:]/i.test(s))return!0;const n=t?.sessionName?.trim();return!!(n&&s===n)}function N(e){const t=e.harnessSessionId?.trim();return t?!ae(t,e.terminalSurface):!1}function q(e){return e.transport==="codex_app_server"&&e.state==="available"}function lt(e,t,s){return(e.brokerActivity??[]).filter(n=>n.at>0&&t-n.at<=s)}function wn(e,t=Date.now(),s=re){if(q(e))return!1;if(e.harnessSessionId?.trim()||e.state&&/^(working|active|running|in_turn|in_flight|queued|waking|dispatching)$/i.test(e.state.trim()))return!0;const n=ie(s);return e.updatedAt?t-e.updatedAt<=n:!1}function j(e,t){return t==="scout"&&e.agentClass!=="organic"&&!ut(e)&&(N(e)||(e.brokerActivity?.length??0)>0)}function dt(e,t){return e.role==="subagent"?e.name.trim()||"Subagent":j(e,t)?e.name.trim()||"Agent":e.project?.trim()||e.harness?.trim()||"local"}function kn(e,t){return e.harness?.trim()||dt(e,t)}function Sn(e,t){if(j(e,t))return[e.project,e.branch].filter(Boolean).join(" · ")||e.harness||"local";const s=e.harness?.trim(),n=e.harnessSessionId?.trim();return s&&n?`${s} · ${n.replace(/\.jsonl$/u,"").slice(0,8)}`:s||n?.slice(0,8)||"native"}function ft(e){let t=2166136261;for(let s=0;s<e.length;s+=1)t^=e.charCodeAt(s),t=Math.imul(t,16777619);return(t>>>0).toString(36)}function ne(e){const t=e.sessionId?.trim();return t?`native:${e.source}:${t}`:`native:${e.source}:path:${ft(e.transcriptPath)}`}function _(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function $(e){const t=_(e.raw);return _(t?.payload)}function ce(e){const s=_(e.raw)?.type;return typeof s=="string"?s:null}function V(e){const s=$(e)?.type;return typeof s=="string"?s:null}function f(...e){for(const t of e){if(typeof t!="string")continue;const s=t.trim();if(s)return s}}function k(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}function I(e,t){return _(e?.[t])}function Fe(e,t){let s=null;for(const n of e){if(ce(n)!==t)continue;const o=$(n);o&&(!s||n.ts>=s.event.ts)&&(s={event:n,payload:o})}return s?.payload??null}function ue(e){return Fe(e,"turn_context")}function Le(e){return Fe(e,"session_meta")}function Ce(e){const t=I(e,"collaboration_mode"),s=I(t,"settings");return f(e?.effort,s?.reasoning_effort)}function K(e){return f(e?.gitBranch,e?.git_branch,e?.currentBranch,e?.current_branch,e?.branch)}function mt(e,t,s="session"){if(e.source!=="codex")return null;if(ce(e)!=="event_msg"||V(e)!=="token_count"){const b=e.summary.match(/^tokens? · ([0-9,]+)/i)?.[1]?.replace(/,/g,""),w=b?Number.parseInt(b,10):NaN;return Number.isFinite(w)?{totalTokens:w}:null}const n=$(e),o=I(n,"info"),r=I(o,"total_token_usage"),i=I(o,"last_token_usage"),u=I(n,"rate_limits");if(!r&&!o&&!u)return null;const c=s==="turn"?i??r:r??i,l={},p=k(c?.input_tokens),d=k(i?.input_tokens),m=k(c?.output_tokens),g=k(c?.reasoning_output_tokens),v=k(c?.cached_input_tokens)??k(c?.cache_read_input_tokens),x=k(c?.cache_creation_input_tokens)??k(c?.cache_write_input_tokens),M=k(c?.total_tokens)??(p!==void 0||m!==void 0?(p??0)+(m??0):void 0),D=k(o?.model_context_window)??xe({model:t,adapterType:"codex"}),a=f(n?.service_tier,u?.service_tier),S=f(n?.speed,u?.speed),y=f(n?.plan_type,u?.plan_type);return p!==void 0&&(l.inputTokens=p),d!==void 0&&(l.contextInputTokens=d),m!==void 0&&(l.outputTokens=m),g!==void 0&&(l.reasoningOutputTokens=g),v!==void 0&&(l.cacheReadInputTokens=v),x!==void 0&&(l.cacheCreationInputTokens=x),M!==void 0&&(l.totalTokens=M),D!==void 0&&(l.contextWindowTokens=D),a&&(l.serviceTier=a),S&&(l.speed=S),y&&(l.planType=y),Object.keys(l).length>0?l:null}function pt(e){if(e.source!=="claude"||ce(e)!=="assistant")return null;const t=_(e.raw),s=_(t?.message),n=_(s?.usage);if(!s||!n)return null;const o=k(n.input_tokens),r=k(n.output_tokens),i=k(n.cache_read_input_tokens),u=k(n.cache_creation_input_tokens),c=(o??0)+(i??0)+(u??0),l=k(n.context_window_tokens)??k(n.contextWindowTokens)??k(n.model_context_window)??k(s.context_window_tokens)??k(s.contextWindowTokens)??k(s.model_context_window)??xe({model:f(s.model),adapterType:"claude-code"}),p=(o??0)+(r??0)+(i??0)+(u??0),h=_(n.server_tool_use),d={};o!==void 0&&(d.inputTokens=o),c>0&&(d.contextInputTokens=c),r!==void 0&&(d.outputTokens=r),i!==void 0&&(d.cacheReadInputTokens=i),u!==void 0&&(d.cacheCreationInputTokens=u),p>0&&(d.totalTokens=p),l>0&&(d.contextWindowTokens=l);const m=k(h?.web_search_requests),g=k(h?.web_fetch_requests);m!==void 0&&(d.webSearchRequests=m),g!==void 0&&(d.webFetchRequests=g);const v=f(s.service_tier,n.service_tier),x=f(s.speed,n.speed);return v&&(d.serviceTier=v),x&&(d.speed=x),Object.keys(d).length>0?d:null}function Ne(e,t){let s=null;const n=ue(e),o=f(n?.model,I(I(n,"collaboration_mode"),"settings")?.model),r=t?.scope??"session";for(const i of e){if(i.source!=="codex"&&i.source!=="claude"||i.source==="codex"&&V(i)!=="token_count"&&!/^tokens?(?: ·|$)/i.test(i.summary.trim()))continue;const u=i.source==="codex"?mt(i,o,r):pt(i);u&&(!s||i.ts>=s.ts)&&(s={ts:i.ts,usage:u})}return s?.usage}function ht(e,t){const s=Le(t),n=ue(t),o=I(n,"collaboration_mode"),r=I(o,"settings"),i=_(n?.sandbox_policy),u=_(n?.permission_profile),c={adapterType:e.source,cwd:f(n?.cwd,s?.cwd,e.cwd)??void 0,externalSessionId:f(s?.id,e.sessionId)??void 0,threadId:f(n?.turn_id)??void 0,threadPath:e.transcriptPath,model:f(n?.model,r?.model)??void 0,effort:Ce(n),gitBranch:K(n)??K(s),cliVersion:f(s?.cli_version),entrypoint:f(s?.thread_source,s?.source),originator:f(s?.originator,s?.source),source:f(s?.source),approvalPolicy:f(n?.approval_policy),sandbox:f(i?.type,n?.sandbox),permissionMode:f(u?.type,n?.permission_mode),userType:f(s?.user_type,n?.user_type),modelProvider:f(s?.model_provider,n?.model_provider),timezone:f(n?.timezone)};for(const l of Object.keys(c))c[l]===void 0&&delete c[l];return c}function gt(e){let t,s,n;for(const o of e){if(o.source!=="claude")continue;const r=_(o.raw);if(!r)continue;const i=f(r.gitBranch);i&&(!s||o.ts>=s.ts)&&(s={ts:o.ts,value:i});const u=f(r.cwd);u&&(!n||o.ts>=n.ts)&&(n={ts:o.ts,value:u});const c=I(r,"message"),l=f(c?.model);l&&(!t||o.ts>=t.ts)&&(t={ts:o.ts,value:l})}return{model:t?.value,gitBranch:s?.value,cwd:n?.value}}function yt(e,t){const s=new Map;for(const n of[...e??[],...t??[]]){const o=n.path?.trim();if(!o||!Ue(o))continue;const r=s.get(o);if(!r){s.set(o,{...n,path:o});continue}r.touches+=n.touches,r.lastT=Math.max(r.lastT,n.lastT),r.state==="read"&&n.state!=="read"&&(r.state=n.state),r.state==="modified"&&n.state==="created"&&(r.state="created")}return[...s.values()].sort((n,o)=>{const r=n.state==="read"?0:1,i=o.state==="read"?0:1;return r!==i?i-r:o.lastT-n.lastT})}function wt(e){let t=-1,s=-1,n=0;for(const o of e){const r=o.summary.trim().toLowerCase(),i=V(o);(r==="task started"||i==="task_started")&&(t=Math.max(t,o.ts),n+=1),(r==="task complete"||i==="task_complete"||i==="turn_aborted")&&(s=Math.max(s,o.ts))}return n===0&&s<0?{phase:"idle"}:{phase:t>s?"started":"complete",index:n||void 0}}function kt(e,t){const s=[...t?.events??[]].reverse().find(n=>n.kind==="ask"&&n.text.trim());if(s)return Q(s.text,160,2);for(const n of[...e].sort((o,r)=>r.ts-o.ts)){if(n.kind==="user"&&n.summary.trim())return Q(n.summary,160,2);const o=$(n);if(V(n)==="user_message"){const r=f(o?.message);if(r)return Q(r,160,2)}}}function St(e){let t;for(const s of e)(!t||(U[s.harness]??0)>(U[t]??0))&&(t=s.harness);return t}function bt(e,t,s){const n=ht(e,t),o=gt(t);return{...n,model:n.model??o.model,gitBranch:n.gitBranch??o.gitBranch,cwd:n.cwd??o.cwd??e.cwd??void 0,externalSessionId:n.externalSessionId??e.sessionId??void 0,sessionStart:s}}function Me(e){if(!e?.trim())return null;try{return _(JSON.parse(e))}catch{return null}}function vt(e){const t=$(e);return f(t?.name,t?.type)}function Pe(e){const t=$(e),s=t?.arguments;if(typeof s=="string")return s;const n=t?.input;if(typeof n=="string")return n;const o=t?.command;if(Array.isArray(o))return o.filter(r=>typeof r=="string").join(" ");if(typeof o=="string")return o}function _t(e){if(e.source!=="codex")return;const t=vt(e)?.toLowerCase();if(t!=="apply_patch"&&t!=="patch_apply")return;const s=Pe(e),n=Me(s);return f(n?.patch,n?.input,s)}function Tt(e){if(!e?.trim())return;let t=0,s=0;const n=[];for(const o of e.split(/\r?\n/))o.startsWith("+")&&!o.startsWith("+++")&&(t+=1),o.startsWith("-")&&!o.startsWith("---")&&(s+=1),n.length<24&&/^(?:\*\*\* |@@|\+\+\+|---|[+-])/.test(o)&&n.push(o);if(!(t===0&&s===0&&n.length===0))return{add:t,del:s,preview:n.join(`
|
|
2
|
+
`)}}function At(e){const t=_(e.raw);return t?_(t.tool_input):null}function $e(e,t){if(!Ve(t))return null;if(e.source==="grok"){const o=Xe(e.summary);if(o)return o;const r=Se(At(e));if(r)return r}const s=Pe(e),n=Se(Me(s));return n||null}function It(e,t){const s=_t(e);if(s)return s;const n=$e(e,t);if(n&&(n.oldText||n.newText))return Qe(n)}function Oe(e,t,s){const n=[...e].sort((o,r)=>o.ts-r.ts);return typeof s=="number"&&s>0?n.filter(o=>o.ts>=t-s):n}function ve(e,t,s){const n=Oe(e,t,s),o=nt(n);return o.length>be?o.slice(-be):o}function xt(e,t,s,n){const o=n?.now??Date.now(),r=Oe(t,o,n?.windowMs),i=ve(r,o,void 0),u=i.length>=ke?i:ve(t,o,void 0).slice(-ke),c=u[0]?.ts??e.mtimeMs,l=u.map(d=>{const m=Ze(d),g=$e(d,m.tool),v=Ye(d,e)??It(d,m.tool),x=g&&(g.oldText||g.newText)?qe(g):Tt(v);return{id:d.id,t:Math.max(0,Math.round((d.ts-c)/1e3)),at:d.ts,kind:tt(d),text:et(d,m),tool:m.tool,arg:m.arg,result:m.result,stream:m.stream,diff:x,detail:v,live:s&&d.id===u[u.length-1]?.id}}),p=Re(l),h=Ne(r,{scope:typeof n?.windowMs=="number"&&n.windowMs>0?"turn":"session"});return{events:l,files:p,live:s&&l.length>0,metadata:{session:bt(e,t,c),usage:h}}}function z(e){return e?`${e[0]?.toUpperCase()}${e.slice(1)}`:"Native"}function se(e){return e?e.replace(/\.jsonl$/u,"").slice(0,8):"session"}function _e(e,t,s){const n=e.sessionId?.trim()||null,o=!!e.subagentId,r=o?`${z(e.source)} subagent ${se(e.subagentId)}`:`${z(e.source)} ${se(n)}`;return{id:ne(e),definitionId:`native:${e.source}`,name:r,handle:null,agentClass:"organic",harness:e.source,state:s?"working":"idle",projectRoot:e.cwd,cwd:e.cwd,updatedAt:t,createdAt:null,transport:null,selector:null,defaultSelector:null,nodeQualifier:null,workspaceQualifier:null,wakePolicy:null,capabilities:[],project:e.project,branch:null,role:o?"subagent":null,model:null,harnessSessionId:n,harnessLogPath:e.transcriptPath,conversationId:n??ne(e),homeNodeId:null,homeNodeName:null,ownerId:null,ownerName:null,ownerHandle:null,staleLocalRegistration:!1,retiredFromFleet:!1,replacedByAgentId:null,terminalSurface:null}}const Rt=new Set(["tmux","zellij","herdr"]);function Et(e){const t=e?.trim();if(!t)return null;const s=t.split("/").filter(Boolean);return s[s.length-1]??t}function Te(e){const t=e.surfaces.find(s=>we(s.backend));return!t||!we(t.backend)?null:{backend:t.backend,sessionName:t.sessionName,paneId:t.paneId,socketDir:t.socketDir??null}}function Ft(e){const t=e.harness?.trim();return!t||Rt.has(t.toLowerCase())||!e.sourceSessionId?.trim()||e.origin==="discovered"||e.metadata?.registryState==="discovered"?!1:e.surfaces.length>0}function X(e){const t=new Set;for(const s of[e.id,e.sourceSessionId,B(e.sourceSessionId)]){const n=s?.trim();n&&t.add(n)}for(const s of e.surfaces){const n=s.sessionName?.trim();n&&t.add(n)}return[...t]}function le(e){return`native:${e.harness}:terminal:${e.id}`}function Lt(e,t,s){const n=e.harness.trim()||"native",o=e.sourceSessionId.trim()||e.id,r=Et(e.cwd);return{id:le(e),definitionId:`native:${n}`,name:`${z(n)} ${se(o)}`,handle:null,agentClass:"organic",harness:n,state:s?"working":"idle",projectRoot:e.cwd||null,cwd:e.cwd||null,updatedAt:t,createdAt:e.createdAt??null,transport:Te(e)?.backend??null,selector:null,defaultSelector:null,nodeQualifier:null,workspaceQualifier:null,wakePolicy:null,capabilities:[],project:r,branch:null,role:null,model:null,harnessSessionId:o,harnessLogPath:null,conversationId:o,homeNodeId:null,homeNodeName:null,ownerId:null,ownerName:null,ownerHandle:null,staleLocalRegistration:!1,retiredFromFleet:!1,replacedByAgentId:null,terminalSurface:Te(e)}}function Ct(e){const t=e.surfaces[0];return t?`${t.backend}:${t.sessionName}`:null}function Be(e){const t=e.harness?.trim()||"Native";return{events:[{id:`${e.id}:session-ready`,t:0,at:e.startedAt,kind:"system",text:`${z(t)} session ready`,detail:e.detail??e.cwd??e.sessionId??void 0,live:e.current}],files:[],live:e.current,metadata:{session:{adapterType:e.harness??void 0,cwd:e.cwd??void 0,externalSessionId:e.sessionId??void 0,sessionStart:e.startedAt,model:e.model??void 0,source:"session-registry"}}}}function Nt(e,t,s){const n=Ct(e),o=[n?`surface: ${n}`:null,e.cwd].filter(Boolean).join(" · ");return Be({id:le(e),harness:e.harness,sessionId:e.sourceSessionId,cwd:e.cwd,startedAt:s,current:t,detail:o||null})}function je(e){if(!e)return null;const t=e.metadata?.session?.sessionStart;let s=null;for(const n of e.events){if(!de(n))continue;const o=Ge(n,t);o!==null&&(s=s===null?o:Math.max(s,o))}if(typeof t=="number"&&Number.isFinite(t))for(const n of e.files){if(!Number.isFinite(n.lastT)||n.lastT<0)continue;const o=t+n.lastT*1e3;s=s===null?o:Math.max(s,o)}return s}function G(e){return e?.live?e.events.some(t=>t.live===!0&&de(t)):!1}function Ae(e,t,s){const n=je(e);return n===null?!1:t-n<=s}function Mt(e,t,s){if(G(t?.data))return s;const n=je(t?.data),o=e.updatedAt??0;return n!==null?Math.max(n,o):0}function J(e){return G(e)}const Pt=["transcript discovered","waiting for events","no session trace","waiting for a live session"];function $t(e){if(e.kind!=="boot"&&e.kind!=="system")return!1;const t=e.text.trim().toLowerCase(),s=(e.detail??"").trim().toLowerCase();return t.includes("session started")?s.includes("turns: 0")&&s.includes("status: idle"):!1}function de(e){if(e.kind==="tool"||e.kind==="think"||e.kind==="ask"||e.kind==="message"||e.kind==="note")return!0;if(e.kind==="system"||e.kind==="boot"){if($t(e))return!1;const t=e.text.trim().toLowerCase();return!Pt.some(s=>t.includes(s))}return!1}const U={"scout-managed":3,"hudson-managed":2,unattributed:1};function Ot(e,t){const s=e.cwd?.trim();if(!s)return e.harness;const n=t.filter(o=>o.source===e.source&&o.cwd===s);return n.length===0?e.harness:n.reduce((o,r)=>{const i=U[o.harness]??0,u=U[r.harness]??0;return u>i||u===i&&r.pid<o.pid?r:o}).harness}function Z(e,t,s,n,o,r){const i=o?.metadata?.session,u=ue(t),c=Le(t),l=e?Ot(e,n):St(t),p=o?Re(o.events):[],h=yt(o?.files,p),d=Ne(t,{scope:"turn"})??o?.metadata?.usage,m={touchedFiles:h,model:f(i?.model,u?.model,I(I(u,"collaboration_mode"),"settings")?.model,s.model),effort:f(i?.effort,Ce(u)),branch:f(i?.gitBranch,K(u),K(c),s.branch),cwd:f(i?.cwd,c?.cwd,s.cwd,s.projectRoot),originator:f(i?.originator,c?.originator,c?.source),attribution:l,turn:t.length>0?wt(t):o?.live?{phase:"started"}:{phase:"idle"},usage:d,parentSessionId:e?.parentSessionId?.trim()||void 0,parentAgentName:e?.parentSessionId&&r?C(r):void 0,currentTask:kt(t,o)},g=at(t,d,{model:m.model,adapterType:e?.source??s.harness});(g.eligible||g.lastCompactedAt!==null)&&(m.compaction={eligible:g.eligible,reason:g.reason,...g.lastCompactedAt!==null?{lastCompactedAt:g.lastCompactedAt}:{},...g.lastCompactedSummary?{lastCompactedSummary:g.lastCompactedSummary}:{}});for(const v of["model","effort","branch","cwd","originator","attribution","usage","compaction","currentTask"])m[v]===void 0&&delete m[v];return m}function Bt(e){if(Je(e))return!1;if(e.kind==="tool"||e.kind==="tool-result"||e.kind==="assistant"||e.kind==="user")return!0;if(e.kind!=="system")return!1;if(e.source==="grok")return/^turn /u.test(e.summary);if(e.source==="codex"){const t=e.summary.trim().toLowerCase();if(t==="task started"||t==="task complete"||t.startsWith("turn aborted"))return!0;const s=e.raw;if(s&&typeof s=="object"&&!Array.isArray(s)){const n=s.payload;if(n&&typeof n=="object"&&!Array.isArray(n)&&n.type==="reasoning"&&t!=="[reasoning]")return!0}}return!1}function Y(e){return e?.events.some(de)??!1}function B(e){const t=e?.trim();if(!t)return null;const s=t.split("/").pop()??t;return s.endsWith(".jsonl")?s.slice(0,-6):s}function fe(e){const t=new Set;for(const s of[e.sessionId,e.transcriptPath,B(e.sessionId),B(e.transcriptPath)]){const n=s?.trim();n&&t.add(n)}return[...t]}function De(e,t){const s=fe(e),n=new Set,o=[];for(const r of s)for(const i of t.get(r)??[])n.has(i.id)||(n.add(i.id),o.push(i));return o}function me(e){const t=new Set,s=e.harnessSessionId?.trim();if(s){t.add(s);const n=B(s);n&&t.add(n);const o=W(s);o&&t.add(o)}for(const n of[e.harnessLogPath,e.conversationId,W(e.harnessLogPath),W(e.conversationId)]){const o=n?.trim();o&&t.add(o)}return[...t]}function Ie(e){return j(e,"scout")?N(e)?2:1:0}function jt(e,t,s){const n=e.get(t);if(!n){e.set(t,s);return}const o=Ie(n),r=Ie(s);if(r>o){e.set(t,s);return}r===o&&s.id.localeCompare(n.id)<0&&e.set(t,s)}function Dt(e,t){for(const s of fe(e)){const n=t.get(s);if(n)return n}}function Wt(e,t){return me(e).some(s=>t.has(s))}function Ht(e,t){return X(e).some(s=>t.has(s))}function pe(e,t,s){const n=s?De(s,t):e?.trim()?t.get(e.trim())??[]:[];let o=0;for(const r of n)Bt(r)&&(o=Math.max(o,r.ts));return o}function Kt(e,t){let s=0;for(const n of X(e))s=Math.max(s,pe(n,t));return s}function zt(e,t){return pe(e.sessionId,t,e)}function Gt(e,t){for(const s of X(e)){const n=t.get(s);if(n)return n}}function Ut(e,t,s){if(!N(e)||q(e))return!1;const n=e.transport?.trim();if(n!=="pi_rpc"&&n!=="pairing_bridge")return!1;const o=e.updatedAt??0;return o>0&&t-o<=s}function qt(e){return e.retiredFromFleet||e.staleLocalRegistration||!j(e,"scout")||!N(e)||q(e)?0:Math.max(e.updatedAt??0,e.createdAt??0)}function Vt(e,t,s){return Be({id:e.id,harness:e.harness,sessionId:e.harnessSessionId,cwd:e.cwd??e.projectRoot,model:e.model,startedAt:s,current:t,detail:[e.transport,e.cwd??e.projectRoot,e.harnessSessionId].filter(Boolean).join(" · ")||null})}function Xt(e,t){return{events:[],files:[],live:!1,metadata:{session:{adapterType:e.harness??void 0,cwd:e.cwd??e.projectRoot??void 0,externalSessionId:e.harnessSessionId??void 0,sessionStart:t,model:e.model??void 0,source:"agent-presence"}}}}function Qt(e,t){const s=new Set(["queued","waking","running","waiting","in_flight"]);return{events:t.map((n,o)=>({id:`broker:${n.kind}:${n.id}`,t:o,at:n.at,kind:n.kind==="flight"?"tool":n.kind==="invocation"?"ask":"message",text:n.summary,...n.kind==="flight"?{tool:"scout flight",arg:n.state??void 0,live:!!(n.state&&s.has(n.state))}:{}})),files:[],live:t.some(n=>!!(n.state&&s.has(n.state))),metadata:{session:{adapterType:e.harness??"scout",cwd:e.cwd??e.projectRoot??void 0,sessionStart:t[0]?.at,source:"broker-native",approvalPolicy:e.runtimePolicy?.approvalPolicy??void 0,sandbox:e.runtimePolicy?.sandbox??void 0}}}}function ee(e,t=Date.now(),s=ie(re),n=0){const{agent:o,observe:r,lastActiveAt:i,source:u}=e;return i<=0||t-i>s?!1:u==="native"?n>0&&t-n<=s?!0:G(r)||Ae(r,t,s):!!(n>0&&t-n<=s||G(r)||Ae(r,t,s))}function oe(e,t){return e.id.localeCompare(t.id)}function Jt(e){return[e.agent.harnessSessionId,e.agent.conversationId,e.observe?.metadata?.session?.externalSessionId].filter(t=>!!t?.trim())}function Zt(e,t){const s=new Map;for(const o of e)for(const r of Jt(o))s.set(r,o);const n=new Map;for(const o of e){const r=o.facts?.parentSessionId?.trim(),i=r?s.get(r):void 0;i&&i.id!==o.id&&n.set(o.id,i)}return[...e].sort((o,r)=>{const i=n.get(o.id),u=n.get(r.id),c=i??o,l=u??r,p=t.slots.get(c.id)??Number.MAX_SAFE_INTEGER,h=t.slots.get(l.id)??Number.MAX_SAFE_INTEGER;if(p!==h)return p-h;if(c.id!==l.id)return oe(c,l);if(o.id===c.id)return-1;if(r.id===l.id)return 1;const d=t.slots.get(o.id)??Number.MAX_SAFE_INTEGER,m=t.slots.get(r.id)??Number.MAX_SAFE_INTEGER;return d!==m?d-m:oe(o,r)})}const Yt=/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i;function W(e){return e?.match(Yt)?.[0]?.toLowerCase()??null}function bn(){return{slots:new Map,nextSlot:0}}function vn(e,t){const s=[];for(const r of e){const i=r.id;t.slots.has(i)||(t.slots.set(i,t.nextSlot),t.nextSlot+=1,s.push(r.id))}const n=new Set(e.map(r=>r.id));for(const r of[...t.slots.keys()])n.has(r)||t.slots.delete(r);return{lanes:Zt(e,t),newLaneIds:s}}function We(e){return W(e.harnessSessionId)??B(e.harnessSessionId)??e.harnessSessionId?.trim()??null}function C(e){return e.name.trim()||e.id}function He(e,t){return`${e}:${t}`}function O(e,t,s){const n=s.sessionRef??s.kind,o=s.id??He(s.kind,n);t.has(o)||(t.add(o),e.push({...s,id:o}))}function en(e,t){for(const s of e)for(const n of me(s)){const o=t.get(n);if(o&&e.some(r=>r.id===o.id))return o}}function tn(e){if(e.source==="cursor")return`${e.source}:path:${e.transcriptPath}`;const t=e.sessionId?.trim();return t?`${e.source}:${t}`:`${e.source}:path:${e.transcriptPath}`}function nn(e){const t=new Map,s=[];for(const n of e){if(n.source!=="cursor"){s.push(n);continue}const o=n.sessionId?.trim()||n.transcriptPath,r=t.get(o);(!r||n.mtimeMs>r.mtimeMs)&&t.set(o,n)}return[...s,...t.values()]}const sn=new Set(["codex_app_server","claude_stream_json","pairing_bridge","pi_rpc"]);function on(e){return e.retiredFromFleet||e.staleLocalRegistration?!1:ae(e.harnessSessionId,e.terminalSurface)||e.terminalSurface||e.transport?.trim()||e.state==="in_flight"?!0:N(e)}function rn(e){if(e.agentClass==="organic"||(e.brokerActivity?.length??0)>0||e.terminalSurface)return!1;const t=e.transport?.trim();return!t||t==="tmux"||t==="zellij"||!e.harness?.trim()||e.state!=="in_flight"?!1:sn.has(t)}function an(e){const t=[],s=new Set,n=new Map;for(const o of e){const r=tn(o),i=n.get(r)??[];i.push(o),n.set(r,i)}for(const[o,r]of n)r.length<=1||O(t,s,{kind:"duplicate_transcript_session",sessionRef:o,transcriptPaths:r.map(i=>i.transcriptPath),message:`Tail discovery returned ${r.length} transcripts for ${o}.`});return t}function cn(e,t){const s=e.filter(on),n=[],o=new Set,r=new Map;for(const c of s){const l=We(c);if(!l)continue;const p=r.get(l)??[];p.some(h=>h.id===c.id)||p.push(c),r.set(l,p)}const i=s.filter(c=>ae(c.harnessSessionId,c.terminalSurface));i.length>0&&O(n,o,{kind:"harness_session_polluted",sessionRef:"harness-slot",agentIds:i.map(c=>c.id),agentNames:i.map(C),message:`${i.length} agent(s) store a transport ref in harnessSessionId — use terminalSurface for attach and harnessSessionId for provider ids only.`});const u=s.filter(c=>rn(c)&&!N(c));u.length>0&&O(n,o,{kind:"harness_session_unbound",sessionRef:"fleet",agentIds:u.map(c=>c.id),agentNames:u.map(C),message:`${u.length} scout agent(s) have no provider harness session bound (lanes use tail transcripts, not agent.id).`});for(const[c,l]of r){if(l.length<=1)continue;const p=en(l,t);l.filter(d=>d.id!==p?.id).length!==0&&O(n,o,{kind:"session_binding_conflict",sessionRef:c,agentIds:l.map(d=>d.id),agentNames:l.map(C),selectedAgentId:p?.id,message:p?`Multiple scout agents claim ${c}; showing ${C(p)}.`:`Multiple scout agents claim ${c} but none could be selected.`})}return n}function _n(e){if(!e?.issues?.length)return[];const t=new Set,s=[];for(const n of e.issues)n.sessionKey.startsWith("cursor:")||t.has(n.sessionKey)||(t.add(n.sessionKey),s.push({id:He("transcript_path_collision",n.sessionKey),kind:"transcript_path_collision",sessionRef:n.sessionKey,transcriptPaths:n.transcriptPaths,message:n.message}));return s}function Tn(e){const{transcripts:t,tailEvents:s,processes:n=[],scoutAgents:o=e.agents??[],terminalSessions:r=[],observeCache:i={},now:u,workingOnly:c=!0,horizon:l=re}=e,p=nn(t),h=ie(l),d=[],m=new Map;for(const a of s){const S=m.get(a.sessionId)??[];S.push(a),m.set(a.sessionId,S)}const g=new Map;for(const a of o)for(const S of me(a))jt(g,S,a);const v=new Set,x=new Set,M=[...an(p),...cn(o,g)],D=new Set(M.map(a=>a.id));for(const a of p){a.sessionId?.trim();const S=De(a,m),y=zt(a,m),b=y>0&&u-y<=h;if(!b)continue;const w=Dt(a,g),E=a.parentSessionId?g.get(a.parentSessionId):void 0;w&&x.add(w.id);const T=xt(a,S,b,{now:u,windowMs:h}),F=S.length>0,L=Z(a,S,w??_e(a,y,b),n,T,E),R=y,P=w?{id:w.id,agent:{...w,updatedAt:y},source:"scout",observe:T,facts:L,lastActiveAt:y,current:b}:{id:ne(a),agent:_e(a,y,b),source:"native",observe:T,facts:L,lastActiveAt:y,current:b};if(!(c&&!ee(P,u,h,R))&&!(F&&!Y(T)&&!J(T))){for(const A of fe(a))v.add(A);d.push(P)}}for(const a of r){if(!Ft(a)||Ht(a,v))continue;const S=Kt(a,m),y=Math.max(S,a.updatedAt??0,a.createdAt??0),b=y>0&&u-y<=h;if(!b)continue;const w=Gt(a,g);w&&x.add(w.id);const E=Lt(a,y,b),T=w?{...w,harnessSessionId:w.harnessSessionId??a.sourceSessionId,terminalSurface:w.terminalSurface??E.terminalSurface,updatedAt:Math.max(w.updatedAt??0,y)}:E,F=Nt(a,b,y),L={id:w?w.id:le(a),agent:T,source:w?"scout":"native",observe:F,facts:Z(null,[],T,n,F),lastActiveAt:y,current:b};if(!(c&&!ee(L,u,h,S||y))){for(const R of X(a))v.add(R);d.push(L)}}for(const a of o){const S=lt(a,u,h);if(q(a)&&S.length===0||!j(a,"scout"))continue;const y=N(a);if(!y&&S.length===0)continue;if(y&&Wt(a,v)){if(!x.has(a.id)){const ye=We(a)??a.id;O(M,D,{kind:"shadowed_scout_card",sessionRef:ye,agentIds:[a.id],agentNames:[C(a)],message:`${C(a)} is active but hidden because another lane already represents ${ye}.`})}continue}const b=i[a.id],w=y?pe(a.harnessSessionId,m):0,E=S.at(-1)?.at??0,T=qt(a),F=Ut(a,u,h),L=F?a.updatedAt??0:0,R=Math.max(Mt(a,b,u),w,L,T,E),P=R>0&&u-R<=h;let A=ze(b?.data??null,u,h);!A&&S.length>0&&(A=Qt(a,S)),F&&P&&!Y(A)&&!J(A)?A=Vt(a,P,R):!A&&T>0&&(A=Xt(a,R));const he={id:a.id,agent:a,source:"scout",observe:A,facts:Z(null,[],a,n,A),lastActiveAt:R,current:P},ge=T>0&&u-T<=h||E>0;c&&!ge&&!ee(he,u,h,w)||!ge&&!Y(A)&&!J(A)||d.push(he)}return{lanes:d.sort(oe),issues:M}}export{te as A,re as D,Sn as a,q as b,on as c,kn as d,wn as e,je as f,Tn as g,yn as h,J as i,ie as j,gn as k,dt as l,bn as m,vn as n,xt as o,_n as r,hn as s};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.amv{display:flex;height:100%;min-height:0;background:var(--bg)}.amv-main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.amv-head{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border)}.amv-ident{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.amv-name{font:600 14px/1.2 var(--font-sans);color:var(--ink)}.amv-sub{display:flex;align-items:center;gap:6px;font:400 11.5px/1.3 var(--font-sans);color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.amv-dot{flex:none;width:6px;height:6px;border-radius:50%;background:var(--green, #4ade80)}.amv-dot[data-tone=attention]{background:var(--accent)}.amv-dot[data-tone=pending]{background:var(--dim)}.amv-strip{display:flex;gap:8px;padding:8px 16px;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:thin}.amv-card{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--muted);cursor:pointer;white-space:nowrap;font:400 11.5px/1.3 var(--font-sans);flex:none}.amv-card:hover{background:color-mix(in srgb,var(--ink) 5%,var(--surface))}.amv-card--on{border-color:var(--accent);color:var(--ink)}.amv-cardTitle{font-weight:550;color:var(--ink);overflow:hidden;text-overflow:ellipsis;max-width:260px}.amv-cardMeta{font-family:var(--font-mono);font-size:10px;color:var(--dim)}.amv-mark{flex:none;width:7px;height:7px;border-radius:2px;box-shadow:inset 0 0 0 1px var(--border)}.amv-mark[data-state=working]{background:var(--green, #4ade80);box-shadow:none}.amv-mark[data-state=needs_you]{background:var(--accent);box-shadow:none}.amv-feed{flex:1;min-height:0;display:flex;flex-direction:column}.amv-feed>*{flex:1;min-height:0}.amv-empty{flex:1;display:grid;place-items:center;color:var(--dim);font:400 12.5px/1.4 var(--font-sans)}.amv-thread{width:min(420px,44%);min-width:320px;border-left:1px solid var(--border);display:flex;flex-direction:column;min-height:0;background:var(--bg)}.amv-threadHead{display:flex;align-items:center;gap:6px;padding:10px 12px;border-bottom:1px solid var(--border)}.amv-threadIdent{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.amv-threadKicker{font:600 9.5px/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.amv-threadTitle{font:550 12.5px/1.3 var(--font-sans);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.amv-threadBtn{flex:none;border:0;background:none;color:var(--dim);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:grid;place-items:center}.amv-threadBtn:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent)}.amv-threadBody{flex:1;min-height:0;display:flex;flex-direction:column}.amv-threadBody>*{flex:1;min-height:0}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f as M}from"./use-fleet-active-asks-BtgNnRgK.js";import{a as C}from"./message-visibility-CGOmSSKs.js";import{h as j}from"./conversation-model-QsJVfSeG.js";import{d as v,m as T,e as b}from"./Provider-Bu-C8Hxc.js";const h="No project";function B(e){const t=e?.project?.trim();if(t)return t;const s=e?.projectRoot?.trim();if(s){const i=s.replace(/\/+$/,"").split("/").pop();if(i)return i}return h}function P(e){const t=(e.title??"").trim()||e.agentName||e.id,s=(e.agentName??"").trim().toLowerCase();if(t&&t.trim().toLowerCase()!==s)return t;const i=e.preview?C(e.preview).replace(/\s+/g," ").trim():"";return i?i.length>64?`${i.slice(0,61)}…`:i:e.currentBranch??t}const A={needs_you:"Needs you",working:"Working",queued:"Starting",quiet:"Quiet"},E=["needs_you","working","queued","quiet"];function N(e){return e?.status==="needs_attention"?"needs_you":e?.status==="working"?"working":e?.status==="queued"?"queued":"quiet"}const _=1440*60*1e3,q=["Today","Yesterday","This week","Earlier"];function D(e,t){if(!e)return"Earlier";const s=f=>{const u=new Date(f);return u.setHours(0,0,0,0),u.getTime()},i=Math.round((s(t)-s(e))/_);return i<=0?"Today":i===1?"Yesterday":i<7?"This week":"Earlier"}function J(e,t,s,i,f){const u=o=>{const r=o.agentId?s.get(o.agentId):void 0;switch(t){case"project":return B(r);case"agent":return r?.name??o.agentName??"Unknown agent";case"day":return D(o.lastMessageAt,f);case"state":return A[N(M(i,o))]}},c=new Map;for(const o of e){const r=u(o),a=c.get(r);a?a.push(o):c.set(r,[o])}for(const o of c.values())o.sort((r,a)=>(a.lastMessageAt??0)-(r.lastMessageAt??0));return(()=>{const o=[...c.keys()];return t==="day"?q.filter(r=>c.has(r)):t==="state"?E.map(r=>A[r]).filter(r=>c.has(r)):o.sort((r,a)=>r===h?1:a===h?-1:r.localeCompare(a))})().map(o=>({label:o,sessions:c.get(o)}))}function O(e){const t=e.project?.trim().toLowerCase();if(t)return`project:${t}`;const s=e.projectRoot?.trim().replace(/\/+$/,"").toLowerCase();return s?`root:${s}`:"project:"}function $(e){return(e.authorityNodeId??e.homeNodeId??"").trim().toLowerCase()}function w(e,t){const s=e?.definitionId.trim().toLowerCase();return!e||!s?`agent:${t}`:JSON.stringify(["definition",s,O(e),$(e)])}function y(e,t){const s=e.id===e.definitionId?0:1,i=t.id===t.definitionId?0:1;return s-i||e.id.localeCompare(t.id)}function K(e){return[...e].sort(y)[0]}function p(e,t){return e.id===t||!!e.equivalentConversationIds?.includes(t)}function I(e,t){return(e.agentId??"").localeCompare(t.agentId??"")||e.id.localeCompare(t.id)}function Q(e){const t=e.machineId?.trim()||null,s=v(e.agents,t),i=T(e.agents,t),f=b(e.sessions,i,t),u=s.find(n=>n.id===e.agentId),c=w(u,e.agentId),g=u?s.filter(n=>w(n,n.id)===c):[],o=new Set(g.map(n=>n.id));o.size===0&&o.add(e.agentId);const r=f.filter(n=>j(n)&&!!(n.agentId&&o.has(n.agentId))).sort((n,l)=>(l.lastMessageAt??0)-(n.lastMessageAt??0)||I(n,l)),a=[...g].sort(y),m=a[0]??u;let d;for(const n of a)if(n.conversationId&&(d=r.find(l=>p(l,n.conversationId)),d))break;!d&&m&&(d=[...r].filter(n=>n.agentId===m.id).sort(I)[0]),d??=[...r].sort(I)[0];const S=r.filter(n=>n.id!==d?.id),k=!!(e.threadId&&d&&p(d,e.threadId)),L=e.threadId&&!k?r.find(n=>p(n,e.threadId)):void 0;return{agent:m,memberAgentIds:[...o].sort(),sessions:r,master:d,threads:S,thread:L}}export{h as N,w as a,Q as b,K as c,J as g,B as p,P as t};
|
package/dist/client/assets/{agent-specialization-BIPIBW8u.js → agent-specialization-BtxLN4UR.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as s}from"./text-
|
|
1
|
+
import{f as s}from"./text-Faa3ZStB.js";const c={general:"Generalist",builder:"Builder",reviewer:"Reviewer",researcher:"Researcher",operator:"Operator",bridge:"Bridge",system:"System",organic:"Organic",managed:"Managed"};function u(e){if(!e?.trim())return"Generalist";const r=e.trim().toLowerCase();return c[r]??e.replace(/_/g," ")}function m(e){return e?.trim()?s(e)?.trim()??null:null}function g(e,r){const i=e.agentClass?.trim()||"general",t=u(i),n=m(e.role),a=[...new Set(e.skills??[])].filter(Boolean),l=[...new Set([...e.capabilities??[],...r?.capabilities??[]])].filter(Boolean),o=i==="general"&&!n&&a.length===0;return{kind:t,kindRaw:i,role:n,isGeneralist:o,headline:n??t,skills:a,capabilities:l}}export{g as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.s-aproj{--s-bg: var(--hud-bg);--s-surface: var(--hud-surface);--s-ink: var(--scout-chrome-ink-strong);--s-muted: var(--scout-chrome-ink-soft);--s-dim: var(--scout-chrome-ink-faint);--s-border: color-mix(in srgb, var(--hud-ink) 17%, transparent);--s-hairline: color-mix(in srgb, var(--hud-ink) 9%, transparent);--s-hairline-strong: color-mix(in srgb, var(--hud-ink) 20%, transparent);--s-accent: var(--accent);--s-accent-soft: var(--hud-accent-soft);--s-font-sans: var(--hud-font-sans);--s-font-mono: var(--hud-font-mono);height:100%;min-height:0;overflow-y:auto;background:var(--s-bg);color:var(--s-ink);font-family:var(--s-font-sans)}.ap-dot{flex:none;width:6px;height:6px;border-radius:999px;background:var(--s-accent)}.ap-dot[data-tone=live]{box-shadow:0 0 0 3px var(--s-accent-soft)}.ap-dot[data-tone=needs]{box-shadow:0 0 0 3px var(--s-accent-soft);animation:ap-pulse 2.2s ease-in-out infinite}@keyframes ap-pulse{0%,to{opacity:1}50%{opacity:.45}}.ap-focus{min-width:0;max-width:720px;width:100%;margin:0 auto;display:flex;flex-direction:column;padding:32px}.ap-focusEmpty{max-width:720px;margin:0 auto;padding:60px 32px;text-align:center;font-size:var(--text-lg);color:var(--s-dim)}.ap-focusHead{display:flex;align-items:flex-start;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--s-hairline)}.ap-focusTitle{margin:0;flex:1;min-width:0;font-size:var(--text-3xl);font-weight:600;letter-spacing:-.01em;line-height:1.3;color:var(--s-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ap-focusAttr{display:flex;align-items:center;gap:8px;min-width:0;padding:13px 0;border-bottom:1px solid var(--s-hairline)}.ap-focusAttrText{flex:1;min-width:0;font-size:var(--text-sm);font-family:var(--s-font-mono);color:var(--s-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-logHead{display:flex;align-items:baseline;gap:10px;padding:16px 0 10px}.ap-logHeadTitle{font-size:var(--text-2xs);font-weight:680;letter-spacing:.07em;text-transform:uppercase;color:var(--s-muted)}.ap-logHeadMeta{margin-left:auto;font-size:var(--text-xs);font-family:var(--s-font-mono);color:var(--s-dim)}.ap-log{display:flex;flex-direction:column;gap:4px}.ap-logLine{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:baseline}.ap-logT{font-family:var(--s-font-mono);font-size:var(--text-xs);color:var(--s-dim);text-align:right}.ap-logText{font-family:var(--s-font-mono);font-size:var(--text-md);line-height:1.55;color:var(--s-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ap-logLine[data-kind=ask] .ap-logT,.ap-logLine[data-kind=ask] .ap-logText{color:var(--s-accent)}.ap-logLine[data-kind=message] .ap-logText{color:var(--s-ink)}.ap-profile{max-width:1140px;margin:0 auto;padding:24px 28px 36px;color:var(--s-ink);font-family:var(--s-font-sans)}.ap-profileHead{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--s-hairline)}.ap-profileIdent{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.ap-profileTop{display:flex;align-items:center;gap:10px}.ap-profileName{margin:0;font-size:var(--text-5xl);font-weight:600;letter-spacing:-.02em;color:var(--s-ink);text-transform:lowercase;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-profileSub{font-size:var(--text-md);font-family:var(--s-font-mono);color:var(--s-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-profileId{font-size:var(--text-xs);font-family:var(--s-font-mono);color:var(--s-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-profileBody{display:grid;grid-template-columns:minmax(0,1fr) 248px;gap:32px;padding-top:22px}@media(max-width:920px){.ap-profileBody{grid-template-columns:1fr}}.ap-profileMain{min-width:0;display:flex;flex-direction:column}.ap-profileAside{min-width:0;display:flex;flex-direction:column;gap:22px}.ap-profileSection{display:flex;align-items:baseline;gap:8px;font-size:var(--text-2xs);font-weight:680;letter-spacing:.08em;text-transform:uppercase;color:var(--s-muted);padding:0 0 12px}.ap-profileSection:not(:first-child){padding-top:26px}.ap-profileCount{font-family:var(--s-font-mono);font-weight:600;color:var(--s-dim);letter-spacing:0}.ap-focus.ap-profileCard{max-width:none;margin:0;padding:20px 22px;background:color-mix(in srgb,var(--s-surface) 55%,transparent);border:1px solid var(--s-hairline);border-radius:14px}.ap-profileSessions{display:flex;flex-direction:column}.ap-profileSession{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 10px;background:none;border:none;border-top:1px solid var(--s-hairline);cursor:pointer;text-align:left;transition:background .12s ease}.ap-profileSessions .ap-profileSession:last-child{border-bottom:1px solid var(--s-hairline)}.ap-profileSession:hover,.ap-profileSession[data-selected]{background:var(--s-surface)}.ap-profileSessionDot{flex:none;width:6px;height:6px;border-radius:999px;background:var(--s-hairline-strong)}.ap-profileSessionTitle{font-size:var(--text-md);font-weight:560;color:var(--s-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-profileSession[data-tone=idle] .ap-profileSessionTitle{color:var(--s-muted)}.ap-profileSessionBranch,.ap-profileSessionWhen{flex:none;font-size:var(--text-sm);font-family:var(--s-font-mono);color:var(--s-dim);white-space:nowrap}.ap-sessTable{display:flex;flex-direction:column}.ap-sessTableHead,.ap-sessRow{display:grid;grid-template-columns:12px minmax(0,1fr) minmax(0,168px) 84px;align-items:center;gap:12px}.ap-sessTableHead{padding:0 10px 8px;font-size:var(--text-2xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--s-muted);font-family:var(--s-font-mono)}.ap-sessTableHead>span:last-child{text-align:right}.ap-sessRow{padding:8px 10px;background:none;border:none;border-top:1px solid var(--s-hairline);cursor:pointer;text-align:left;transition:background .12s ease}.ap-sessTable .ap-sessRow:last-child{border-bottom:1px solid var(--s-hairline)}.ap-sessRow:hover,.ap-sessRow[data-selected]{background:var(--s-surface)}.ap-sessRowDot{flex:none;width:6px;height:6px;border-radius:999px;background:var(--s-hairline-strong)}.ap-sessRowName{font-size:var(--text-md);font-weight:540;color:var(--s-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-sessRow[data-tone=idle] .ap-sessRowName{color:var(--s-muted)}.ap-sessRowEngine{font-size:var(--text-sm);font-family:var(--s-font-mono);color:var(--s-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-sessRowWhen{font-size:var(--text-sm);font-family:var(--s-font-mono);color:var(--s-dim);text-align:right;white-space:nowrap}.ap-focusIdent{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.ap-focusTop{display:flex;align-items:center;gap:11px}.ap-focusName{margin:0;font-size:var(--text-5xl);font-weight:600;letter-spacing:-.02em;color:var(--s-ink);text-transform:lowercase}.ap-focusState{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:540;font-family:var(--s-font-mono);color:var(--s-dim)}.ap-focusState[data-tone=needs]{color:var(--s-accent)}.ap-focusState[data-tone=live]{color:var(--s-ink)}.ap-focusRoot{font-size:var(--text-md);font-family:var(--s-font-mono);color:var(--s-muted)}.ap-focusOpen{flex:none;font-size:var(--text-md);font-weight:540;color:var(--s-muted);background:none;border:none;cursor:pointer;padding:4px 2px;transition:color .12s ease}.ap-focusOpen:hover{color:var(--s-ink)}.ap-situation{padding:22px 0 20px;border-bottom:1px solid var(--s-hairline)}.ap-situationLead{font-size:var(--text-2xl);line-height:1.5;font-weight:500;letter-spacing:-.005em;color:var(--s-ink)}.ap-situation[data-tone=idle] .ap-situationLead{color:var(--s-dim);font-weight:460}.ap-situationLead b{font-weight:600;font-family:var(--s-font-mono);font-size:.92em}.ap-situationTask{margin-top:10px;font-size:var(--text-lg);line-height:1.5;color:var(--s-muted);font-family:var(--s-font-mono)}.ap-decision{display:flex;align-items:center;gap:12px;padding:18px 0;border-bottom:1px solid var(--s-hairline)}.ap-decisionPrimary{font-size:var(--text-lg);font-weight:600;color:var(--s-bg);background:var(--s-accent);border:none;border-radius:9px;padding:9px 18px;cursor:pointer;transition:filter .12s ease}.ap-decisionPrimary:hover{filter:brightness(1.07)}.ap-decisionGhost{font-size:var(--text-md);font-weight:540;color:var(--s-muted);background:none;border:none;cursor:pointer;padding:4px;transition:color .12s ease}.ap-decisionGhost:hover{color:var(--s-ink)}.ap-decisionMeta{margin-left:auto;display:inline-flex;align-items:baseline;gap:18px;font-size:var(--text-md);font-family:var(--s-font-mono);color:var(--s-ink)}.ap-decisionMeta>span{display:inline-flex;align-items:baseline;gap:6px}.ap-focusBody{display:flex;flex-direction:column;padding-top:18px}.ap-preview{padding-top:12px}.ap-previewKind{display:inline-block;font-size:var(--text-2xs);font-weight:660;letter-spacing:.06em;text-transform:uppercase;color:var(--s-muted);margin-bottom:8px}.ap-preview[data-kind=ask] .ap-previewKind{color:var(--s-accent)}.ap-previewText{margin:0;font-size:var(--text-lg);line-height:1.6;color:var(--s-ink);white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}.ap-focusFoot{display:flex;align-items:center;gap:16px;margin-top:22px;padding-top:16px;border-top:1px solid var(--s-hairline)}.ap-focusFootLink{font-size:var(--text-md);font-weight:540;color:var(--s-muted);background:none;border:none;padding:0;cursor:pointer;transition:color .12s ease}.ap-focusFootLink:hover{color:var(--s-accent)}.ap-focusFootDim{font-size:var(--text-sm);color:var(--s-dim);font-family:var(--s-font-mono)}.ap-ctxGauge{height:5px;border-radius:999px;background:var(--s-hairline);overflow:hidden;margin:4px 0 9px}.ap-ctxFill{height:100%;background:var(--s-accent);border-radius:999px}.ap-fileRow{display:flex;align-items:baseline;gap:9px;padding:4px 0}.ap-fileTag{flex:none;width:30px;font-size:var(--text-3xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--s-dim);font-family:var(--s-font-mono)}.ap-fileTag[data-state=modified],.ap-fileTag[data-state=created]{color:var(--s-accent)}.ap-fileName{flex:1;min-width:0;font-size:var(--text-sm);font-family:var(--s-font-mono);color:var(--s-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-sigil{color:var(--s-dim);font-weight:400;margin-right:1px}.ap-sessMeta{display:flex;flex-wrap:wrap;gap:20px;padding:14px 0 2px;font-size:var(--text-md);font-family:var(--s-font-mono);color:var(--s-ink)}.ap-sessMeta>span{display:inline-flex;align-items:baseline;gap:6px}.ap-sessMetaKey{font-size:var(--text-3xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--s-muted);font-family:var(--s-font-sans)}.ap-sessFiles{margin-top:18px;padding-top:14px;border-top:1px solid var(--s-hairline)}.ap-sessFilesHead{display:block;margin-bottom:9px}.ap-agentCard{display:flex;align-items:center;gap:11px;padding-bottom:18px;border-bottom:1px solid var(--s-hairline)}.ap-agentIdent{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ap-agentName{font-size:var(--text-xl);font-weight:600;letter-spacing:-.01em;color:var(--s-ink)}.ap-agentMeta{font-size:var(--text-2xs);font-weight:660;letter-spacing:.08em;text-transform:uppercase;color:var(--s-dim)}.ap-caps{display:flex;flex-wrap:wrap;gap:6px;padding-top:3px}.ap-cap{font-size:var(--text-xs);font-family:var(--s-font-mono);color:var(--s-muted);padding:2px 8px;border:1px solid var(--s-hairline);border-radius:999px}.ap-view{display:block;min-height:100%}@media(prefers-reduced-motion:reduce){.ap-resume{transition:none}}.ap-content{min-width:0;display:flex;flex-direction:column;padding:22px 28px 26px}.ap-head{display:flex;align-items:center;gap:13px;padding-bottom:18px;border-bottom:1px solid var(--s-hairline)}.ap-headIdent{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.ap-headTop{display:flex;align-items:center;gap:12px}.ap-headName{margin:0;font-size:var(--text-5xl);font-weight:600;letter-spacing:-.02em;text-transform:lowercase;color:var(--s-ink)}.ap-headState{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-md);font-weight:500;color:var(--s-dim);font-family:var(--s-font-mono)}.ap-headState[data-tone=needs]{color:var(--s-accent)}.ap-headState[data-tone=live]{color:var(--s-ink)}.ap-headRoot{font-size:var(--text-md);font-family:var(--s-font-mono);color:var(--s-muted)}.ap-headActions{display:flex;align-items:center;gap:14px;flex:none}.ap-headGhost{font-size:var(--text-md);font-weight:540;color:var(--s-muted);background:none;border:none;cursor:pointer;padding:4px 2px;transition:color .12s ease}.ap-headGhost:hover{color:var(--s-ink)}.ap-headCta{font-size:var(--text-md);font-weight:580;color:var(--s-bg);background:var(--s-accent);border:none;border-radius:8px;padding:7px 13px;cursor:pointer;transition:filter .12s ease}.ap-headCta:hover{filter:brightness(1.07)}.ap-digest{display:flex;align-items:center;gap:14px;padding:9px 0;border-bottom:1px solid var(--s-hairline)}.ap-stat{display:inline-flex;align-items:baseline;gap:5px}.ap-stat+.ap-stat:before{content:"·";margin-right:14px;color:var(--s-dim)}.ap-statNum{font-size:var(--text-md);font-weight:600;color:var(--s-ink);letter-spacing:0}.ap-statLbl{font-size:var(--text-xs);font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--s-muted)}.ap-statMarks{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:var(--s-muted)}.ap-statMarks>span{display:inline-flex}.ap-resume{display:flex;align-items:center;gap:11px;padding:10px 0;line-height:1.1;border-bottom:1px solid var(--s-hairline)}.ap-resumeLbl{font-size:var(--text-2xs);font-weight:680;line-height:1;letter-spacing:.06em;text-transform:uppercase;color:var(--s-accent)}.ap-resume[data-tone=live] .ap-resumeLbl{color:var(--s-muted)}.ap-resumeWho{font-size:var(--text-lg);font-weight:600;color:var(--s-ink)}.ap-resumeMeta{margin-left:3px;padding-right:6px;font-size:var(--text-md);font-family:var(--s-font-mono);color:var(--s-dim)}.ap-resumeActions{margin-left:auto;display:inline-flex;gap:16px}.ap-link,.ap-linkAccent{font-size:var(--text-md);font-weight:560;background:none;border:none;cursor:pointer;padding:0;transition:color .12s ease}.ap-link{color:var(--s-muted)}.ap-link:hover{color:var(--s-ink)}.ap-linkAccent{color:var(--s-accent)}.ap-linkAccent:hover{filter:brightness(1.1)}.ap-find{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--s-hairline);transition:border-color .14s ease}.ap-find:focus-within{border-bottom-color:var(--s-accent)}.ap-findIco{display:inline-flex;color:var(--s-muted);flex:none}.ap-findInput{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--s-ink);font-family:var(--s-font-sans);font-size:var(--text-lg)}.ap-findInput::placeholder{color:var(--s-muted)}.ap-findFilters{display:inline-flex;gap:14px;flex:none}.ap-filter{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-sm);font-weight:520;text-transform:capitalize;color:var(--s-muted);background:none;border:none;padding:2px 0;cursor:pointer;border-bottom:1.5px solid transparent;transition:color .12s ease,border-color .12s ease}.ap-filter:hover{color:var(--s-ink)}.ap-filter[data-on]{color:var(--s-ink);border-bottom-color:var(--s-accent)}.ap-main{display:flex;flex-direction:column;padding-top:16px}.ap-sectionHead{display:flex;align-items:baseline;gap:10px;padding:0 0 4px}.ap-sectionTitle{font-size:var(--text-xs);font-weight:680;letter-spacing:.07em;text-transform:uppercase;color:var(--s-muted)}.ap-sectionMeta{font-size:var(--text-sm);color:var(--s-dim);font-family:var(--s-font-mono)}.ap-kbdHint{margin-left:auto;font-size:var(--text-xs);font-family:var(--s-font-mono);color:var(--s-dim);opacity:.7}.ap-roster{display:flex;flex-direction:column;margin:0 -28px}.ap-row{position:relative;padding:0 28px;border-top:1px solid var(--s-hairline)}.ap-row:last-child{border-bottom:1px solid var(--s-hairline)}.ap-row:before{content:"";position:absolute;inset:0;background:var(--s-surface);opacity:0;transition:opacity .12s ease;pointer-events:none}.ap-row:hover:before,.ap-row[data-open]:before{opacity:.6}.ap-row[data-selected]:before{opacity:.85}.ap-row[data-selected]:after{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--s-accent)}.ap-row[data-selected] .ap-rowName{color:var(--s-ink)}.ap-row[data-cursor]:before{opacity:.6}.ap-row[data-cursor]:not([data-selected]):after{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--s-hairline-strong)}.ap-row:focus{outline:none}.ap-row:focus-visible:before{opacity:.7}.ap-rowMain{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:13px;padding:11px 2px;cursor:pointer}.ap-rowBody{min-width:0;display:flex;flex-direction:column;gap:3px}.ap-rowTop{display:flex;align-items:center;gap:8px;min-width:0;line-height:1.15}.ap-rowName{font-size:var(--text-xl);font-weight:600;line-height:1.15;color:var(--s-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-rowName[data-idle]{color:var(--s-dim);font-weight:540}.ap-rowMark{display:inline-flex;color:var(--s-ink);flex:none}.ap-rowMark[data-idle]{color:var(--s-dim)}.ap-needsWord{flex:none;font-size:var(--text-xs);font-weight:640;letter-spacing:.04em;text-transform:uppercase;color:var(--s-accent)}.ap-rowState{flex:none;font-size:var(--text-xs);font-weight:580;letter-spacing:.04em;text-transform:uppercase;color:var(--s-dim)}.ap-rowMeta{display:flex;align-items:center;gap:9px;min-width:0;line-height:1.1}.ap-rowBranch{font-size:var(--text-sm);line-height:1.1;font-family:var(--s-font-mono);color:var(--s-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-rowBranch[data-dim]{color:var(--s-dim)}.ap-rowDim{font-size:var(--text-sm);color:var(--s-dim);font-family:var(--s-font-mono);flex:none}.ap-rowDivider{flex:none;width:1px;height:10px;background:var(--s-hairline-strong)}.ap-rowTail{position:relative;display:grid;align-items:center;justify-items:end}.ap-tailMeta,.ap-rowActions{grid-area:1 / 1;display:flex;transition:opacity .12s ease}.ap-tailMeta{flex-direction:column;align-items:flex-end;gap:3px;text-align:right}.ap-rowAgo{font-size:var(--text-sm);color:var(--s-dim);font-family:var(--s-font-mono)}.ap-rowModel{font-size:var(--text-xs);color:var(--s-dim);font-family:var(--s-font-mono)}.ap-rowActions{align-items:center;gap:4px;opacity:0;pointer-events:none}.ap-row:hover .ap-tailMeta,.ap-row[data-tone=needs] .ap-tailMeta{opacity:0}.ap-row:hover .ap-rowActions,.ap-row[data-tone=needs] .ap-rowActions{opacity:1;pointer-events:auto}.ap-rowTailWrap{display:flex;align-items:center;gap:6px}.ap-rowMore{flex:none;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:6px;background:none;color:var(--s-dim);font-size:var(--text-2xl);line-height:1;cursor:pointer;opacity:.4;transition:opacity .12s ease,background .12s ease,color .12s ease}.ap-row:hover .ap-rowMore,.ap-row[data-selected] .ap-rowMore{opacity:.9}.ap-rowMore:hover{background:var(--s-surface);color:var(--s-ink);opacity:1}.ap-rowSessions{position:relative;display:flex;flex-direction:column;gap:1px;margin:1px 0 11px;padding-left:16px}.ap-rowSessions:before{content:"";position:absolute;left:6px;top:2px;bottom:9px;width:1px;background:var(--s-hairline)}.ap-rowSession{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;padding:5px 9px 5px 5px;border:0;border-radius:5px;background:transparent;text-align:left;cursor:pointer}.ap-rowSession:hover{background:var(--s-surface)}.ap-rowSession:disabled{cursor:default}.ap-rowSessionDot{width:5px;height:5px;border-radius:50%;background:var(--s-dim);transition:background .12s ease,box-shadow .12s ease}.ap-rowSessionDot[data-tone=live]{background:var(--s-accent);box-shadow:0 0 0 3px var(--s-accent-soft)}.ap-rowSession:hover .ap-rowSessionDot{background:var(--s-accent)}.ap-rowSessionText{min-width:0;font-size:var(--text-md);line-height:1.3;color:#fffc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-rowSession:hover .ap-rowSessionText{color:var(--s-ink)}.ap-rowSessionAgo{flex:none;font-size:var(--text-xs);font-family:var(--s-font-mono);color:var(--s-dim)}.ap-rowSession[data-stale] .ap-rowSessionText{color:var(--s-dim)}.ap-rowSession[data-stale] .ap-rowSessionDot{background:var(--s-hairline-strong)}.ap-rowSession[data-stale] .ap-rowSessionAgo{color:var(--s-hairline-strong)}.ap-rowSessionMore{align-self:flex-start;margin:1px 0 0 5px;padding:3px 4px;border:0;border-radius:4px;background:none;font-size:var(--text-xs);font-family:var(--s-font-mono);color:var(--s-dim);cursor:pointer;transition:color .12s ease,background .12s ease}.ap-rowSessionMore:hover{color:var(--s-muted);background:var(--s-surface)}.ap-sx-list{position:relative;display:flex;flex-direction:column;gap:2px;margin:1px 0 11px;padding-left:16px}.ap-sx-list:before{content:"";position:absolute;left:6px;top:2px;bottom:9px;width:1px;background:var(--s-hairline)}.ap-sx-session{border-radius:8px}.ap-sx-session[data-open]{background:var(--scout-chrome-hover);border:1px solid var(--s-hairline-strong);margin:3px 0}.ap-sx-row{display:flex;align-items:flex-start;gap:9px;width:100%;padding:7px 10px 7px 6px;border:0;border-radius:7px;background:none;text-align:left;cursor:pointer;transition:background .12s ease}.ap-sx-row>.ap-sx-tri,.ap-sx-row>.ap-sx-dot{margin-top:4px}.ap-sx-session:not([data-open]) .ap-sx-row:hover{background:var(--s-surface)}.ap-sx-tri{flex:none;width:9px;font-size:var(--text-3xs);color:var(--s-dim);transition:transform .14s ease}.ap-sx-tri[data-open]{transform:rotate(90deg)}.ap-sx-dot{flex:none;width:6px;height:6px;border-radius:50%;background:var(--s-dim)}.ap-sx-dot[data-tone=running]{background:var(--s-accent);box-shadow:0 0 0 3px var(--s-accent-soft)}.ap-sx-rowBody{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.ap-sx-line{display:flex;align-items:baseline;gap:12px;min-width:0}.ap-sx-title{flex:1;min-width:0;font-size:var(--text-md);color:var(--scout-chrome-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-sx-session[data-open] .ap-sx-title{color:var(--s-ink);font-weight:550}.ap-sx-rowMeta{flex:none;display:inline-flex;align-items:center;gap:11px;font-family:var(--s-font-mono)}.ap-sx-badge{font-size:var(--text-2xs);font-weight:600;letter-spacing:.1em;color:var(--s-dim)}.ap-sx-badge[data-tone=running]{color:var(--s-accent)}.ap-sx-age{font-size:var(--text-xs);color:var(--s-dim);min-width:24px;text-align:right}.ap-sx-sub{display:flex;align-items:center;gap:7px;font-family:var(--s-font-mono);font-size:var(--text-sm);color:var(--s-muted)}.ap-sx-subBranch{color:var(--s-ink)}.ap-sx-subId{color:var(--s-muted)}.ap-sx-subSep{color:var(--s-dim)}.ap-sx-card{padding:2px 12px 12px 14px;display:flex;flex-direction:column;gap:14px}.ap-sx-loading{padding:14px 2px;font-family:var(--s-font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--s-dim)}.ap-sx-statGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:11px 0 12px;border-bottom:1px solid var(--s-hairline)}.ap-sx-stat{display:flex;flex-direction:column;gap:4px;min-width:0}.ap-sx-statKey{font-family:var(--s-font-mono);font-size:var(--text-2xs);letter-spacing:.07em;text-transform:uppercase;color:var(--s-dim)}.ap-sx-statVal{font-size:var(--text-md);color:var(--s-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-sx-statVal[data-mono]{font-family:var(--s-font-mono);font-size:var(--text-sm)}.ap-sx-copy{display:inline-flex;align-items:center;gap:5px;max-width:100%;margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.ap-sx-copyText{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-sx-copyIco{flex:none;color:var(--s-dim);opacity:.7;transition:color .12s ease,opacity .12s ease}.ap-sx-copy:hover .ap-sx-copyIco{color:var(--s-muted);opacity:1}.ap-sx-copy[data-copied]{color:var(--s-accent)}.ap-sx-copy[data-copied] .ap-sx-copyIco{color:var(--s-accent);opacity:1}.ap-sx-copyStat{font-family:var(--s-font-mono);font-size:var(--text-sm);color:var(--s-ink)}.ap-sx-cols{display:grid;grid-template-columns:1fr 1fr;gap:22px}.ap-sx-block{min-width:0}.ap-sx-head{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}.ap-sx-lbl{font-family:var(--s-font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--s-muted)}.ap-sx-meta{font-family:var(--s-font-mono);font-size:var(--text-xs);color:var(--s-dim)}.ap-sx-read{margin-left:auto;font-family:var(--s-font-mono);font-size:var(--text-xs)}.ap-sx-num{color:var(--s-accent)}.ap-sx-dim{color:var(--s-dim)}.ap-sx-sep{color:var(--s-dim);margin:0 5px}.ap-sx-gauge{height:5px;border-radius:3px;background:var(--s-surface);overflow:hidden}.ap-sx-gaugeFill{display:block;height:100%;border-radius:3px;background:var(--s-accent)}.ap-sx-flow{display:flex;gap:14px;margin-top:7px;font-family:var(--s-font-mono);font-size:var(--text-xs);color:var(--s-muted)}.ap-sx-faint{color:var(--s-dim)}.ap-sx-empty{font-family:var(--s-font-mono);font-size:var(--text-xs);color:var(--s-dim)}.ap-sx-noTrace{padding:1px 0 2px}.ap-sx-tools{display:flex;flex-wrap:wrap;gap:5px}.ap-sx-tool{display:inline-flex;align-items:baseline;gap:4px;padding:2px 7px;border-radius:5px;background:var(--s-surface);border:1px solid var(--s-hairline);font-family:var(--s-font-mono);font-size:var(--text-xs)}.ap-sx-toolName{color:var(--s-ink)}.ap-sx-toolN{color:var(--s-dim)}.ap-sx-files{display:flex;flex-direction:column;gap:3px}.ap-sx-fileRow{display:grid;grid-template-columns:10px minmax(0,1.3fr) minmax(0,1fr) auto;align-items:baseline;gap:8px}.ap-sx-fileMark{font-family:var(--s-font-mono);font-size:var(--text-sm);text-align:center;color:var(--s-dim)}.ap-sx-fileMark[data-state=modified],.ap-sx-fileMark[data-state=created]{color:var(--s-accent)}.ap-sx-fileName{font-family:var(--s-font-mono);font-size:var(--text-sm);color:var(--s-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-sx-fileRow[data-changed] .ap-sx-fileName{color:var(--s-ink)}.ap-sx-fileDir{font-family:var(--s-font-mono);font-size:var(--text-xs);color:var(--s-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-sx-fileN{font-family:var(--s-font-mono);font-size:var(--text-xs);color:var(--s-dim)}.ap-sx-actions{display:flex;gap:8px;padding-top:2px}.ap-sx-open,.ap-sx-resume{padding:5px 13px;border-radius:6px;font-family:var(--s-font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:background .12s ease,color .12s ease}.ap-sx-open{border:1px solid var(--s-hairline-strong);background:none;color:var(--s-muted)}.ap-sx-open:hover{background:var(--s-surface);color:var(--s-ink)}.ap-sx-resume{border:1px solid color-mix(in srgb,var(--s-accent) 55%,transparent);background:var(--s-accent-soft);color:var(--s-accent)}.ap-sx-resume:hover{background:color-mix(in srgb,var(--s-accent) 22%,transparent)}.ap-sx-copyAll{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid var(--s-hairline);border-radius:6px;background:none;color:var(--s-dim);font-family:var(--s-font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.ap-sx-copyAll:hover{background:var(--s-surface);color:var(--s-muted);border-color:var(--s-hairline-strong)}.ap-sx-copyAll[data-copied]{color:var(--s-accent);border-color:color-mix(in srgb,var(--s-accent) 45%,transparent)}.ap-sx-copyAll .ap-sx-copyIco{color:currentColor;opacity:1}.ap-act{font-size:var(--text-sm);font-weight:540;color:var(--s-muted);background:none;border:none;border-radius:6px;padding:4px 8px;cursor:pointer;white-space:nowrap;transition:color .12s ease,background .12s ease}.ap-act:hover{color:var(--s-ink);background:var(--s-hairline)}.ap-actPrimary{color:var(--s-accent)}.ap-actPrimary:hover{color:var(--s-accent);background:var(--s-accent-soft)}.ap-actIcon{font-size:var(--text-xl);line-height:1;color:var(--s-muted);background:none;border:none;border-radius:6px;padding:4px 7px;cursor:pointer}.ap-actIcon:hover{color:var(--s-ink);background:var(--s-hairline)}.ap-empty{font-size:var(--text-md);color:var(--s-dim);padding:22px 4px;text-align:center}.ap-loading{display:flex;flex-direction:column;gap:14px;max-width:760px;margin:0 auto;padding:52px 32px}.ap-loading span{display:block;width:100%;height:42px;border-radius:8px;background:color-mix(in srgb,var(--s-ink) 7%,transparent);animation:ap-loading-pulse 1.2s ease-in-out infinite alternate}.ap-loading span:nth-child(3n){width:88%}@keyframes ap-loading-pulse{0%{opacity:.45}to{opacity:.9}}@media(prefers-reduced-motion:reduce){.ap-loading span{animation:none}}.ap-ephBlock{margin-top:14px}.ap-ephToggle{display:flex;align-items:center;gap:7px;width:100%;font-size:var(--text-sm);color:var(--s-muted);background:none;border:none;padding:6px 2px;cursor:pointer;text-align:left;transition:color .12s ease}.ap-ephToggle:hover{color:var(--s-ink)}.ap-ephCount{font-size:var(--text-sm);font-weight:660;font-family:var(--s-font-mono);color:var(--s-dim)}.ap-ephCaret{margin-left:auto;color:var(--s-muted)}.ap-ephList{display:flex;flex-direction:column;padding:2px 0 0}.ap-ephRow{display:flex;align-items:center;gap:10px;padding:5px 2px 5px 14px;background:none;border:none;cursor:pointer;text-align:left}.ap-ephRow:hover{background:var(--s-hairline)}.ap-ephMark{flex:none;display:inline-flex;color:var(--s-muted);opacity:.7}.ap-ephName{flex:none;min-width:0;max-width:42%;font-size:var(--text-md);color:var(--s-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-ephBranch{flex:1;min-width:0;font-size:var(--text-sm);font-family:var(--s-font-mono);color:var(--s-muted);opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-ephAgo{flex:none;font-size:var(--text-xs);color:var(--s-dim);font-family:var(--s-font-mono)}.ap-newAgent{margin-top:16px;align-self:flex-start;font-size:var(--text-md);font-weight:540;color:var(--s-muted);background:none;border:none;padding:4px 2px;cursor:pointer;transition:color .12s ease}.ap-newAgent:hover:not(:disabled){color:var(--s-accent)}.ap-newAgent:disabled{color:var(--s-dim);opacity:.55;cursor:default}.ap-group{display:flex;flex-direction:column}.ap-groupHead{font-size:var(--text-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--s-muted);padding-bottom:9px;margin-bottom:4px;border-bottom:1px solid var(--s-hairline)}.ap-groupDim{font-size:var(--text-md);color:var(--s-dim);padding:2px 0}.ap-recent{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:7px 0;background:none;border:none;border-bottom:1px solid var(--s-hairline);cursor:pointer;text-align:left}.ap-recent:last-child{border-bottom:none}.ap-recentWho{font-size:var(--text-md);font-weight:600;line-height:1.15;color:var(--s-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-recentAgo{font-size:var(--text-xs);line-height:1.15;color:var(--s-dim);font-family:var(--s-font-mono);text-align:right}.ap-recentTask{grid-column:1 / -1;font-size:var(--text-sm);color:var(--s-muted);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ap-kv{display:flex;gap:12px;align-items:baseline;padding:5px 0}.ap-kvKey{flex:none;width:54px;font-size:var(--text-2xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--s-muted)}.ap-kvVal{flex:1;min-width:0;font-size:var(--text-md);color:var(--s-ink);font-family:var(--s-font-mono)}.ap-kvDim{color:var(--s-dim)}.ap-kvBranches{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.ap-kvBranch{font-size:var(--text-sm);font-family:var(--s-font-mono);color:var(--s-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes ap-paneIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.ap-detail{min-width:0;min-height:0;display:flex;flex-direction:column;padding:22px 26px 26px;border-left:1px solid var(--s-hairline);overflow:hidden;animation:ap-paneIn .4s cubic-bezier(.22,.61,.36,1) both}.ap-detailHead{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--s-hairline)}.ap-detailBack{flex:none;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-3xl);line-height:1;color:var(--s-muted);background:none;border:none;border-radius:7px;cursor:pointer;transition:color .12s ease,background .12s ease}.ap-detailBack:hover{color:var(--s-ink);background:var(--s-hairline)}.ap-detailIdent{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ap-detailTop{display:flex;align-items:center;gap:10px}.ap-detailName{font-size:var(--text-3xl);font-weight:600;letter-spacing:-.01em;color:var(--s-ink)}.ap-detailSub{font-size:var(--text-sm);font-family:var(--s-font-mono);color:var(--s-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-metaStrip{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px 22px;padding:12px 0;border-bottom:1px solid var(--s-hairline);font-size:var(--text-md);font-family:var(--s-font-mono);color:var(--s-ink)}.ap-metaItem{display:inline-flex;align-items:baseline;gap:7px;min-width:0}.ap-metaKey{font-size:var(--text-2xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--s-muted);font-family:var(--s-font-sans)}.ap-metaVal{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-metaChanges{margin-left:auto;font-family:var(--s-font-mono);font-size:var(--text-md)}.ap-add{color:var(--s-accent)}.ap-del{color:var(--s-dim)}.ap-sessTabs{display:flex;gap:18px;overflow-x:auto;padding:11px 0;border-bottom:1px solid var(--s-hairline);scrollbar-width:thin}.ap-sessTab{flex:none;display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:2px 0;cursor:pointer;font-size:var(--text-sm);font-family:var(--s-font-mono);color:var(--s-muted);white-space:nowrap;border-bottom:1.5px solid transparent;transition:color .12s ease,border-color .12s ease}.ap-sessTab:hover{color:var(--s-ink)}.ap-sessTab[data-on]{color:var(--s-ink);border-bottom-color:var(--s-accent)}.ap-sessDot{flex:none;width:5px;height:5px;border-radius:999px;background:var(--s-hairline-strong)}.ap-sessDot[data-on]{background:var(--s-accent);box-shadow:0 0 0 2.5px var(--s-accent-soft)}.ap-traceLoading{font-size:var(--text-md);color:var(--s-dim);padding:24px 4px;text-align:center}.ap-detailBody{flex:1;min-height:0;display:flex;flex-direction:column;padding-top:4px}.ap-detailBody .ap-sectionHead{padding:10px 0 0}.ap-trace{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;margin:0 -26px}.ap-trace>*{flex:1;min-height:0}.ap-steer{display:flex;align-items:center;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--s-hairline)}.ap-steerInput{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--s-ink);font-family:var(--s-font-sans);font-size:var(--text-lg)}.ap-steerInput::placeholder{color:var(--s-muted)}.ap-steerSend{flex:none;font-size:var(--text-md);font-weight:580;color:var(--s-bg);background:var(--s-accent);border:none;border-radius:8px;padding:7px 15px;cursor:pointer;transition:filter .12s ease}.ap-steerSend:hover{filter:brightness(1.07)}
|