@openscout/scout 0.2.92 → 0.2.95
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/NOTICE +14 -0
- package/README.md +164 -348
- package/bin/scoutd +0 -0
- package/dist/build-manifest.json +3 -3
- package/dist/client/apple-touch-icon.png +0 -0
- package/dist/client/assets/ActivityScreen--eANwuxa.js +1 -0
- package/dist/client/assets/{AddProjectForm-CpyytDf2.js → AddProjectForm-CcD6qvV8.js} +1 -1
- package/dist/client/assets/AgentAvatar-CYhf6twS.js +1 -0
- package/dist/client/assets/AgentConfigurationScreen-BTI24HQX.js +1 -0
- package/dist/client/assets/AgentDefinitionsWorkspace-srmN6-vj.js +1 -0
- package/dist/client/assets/{AgentDetailCard-BTiOmh-a.js → AgentDetailCard-UqPNpcvB.js} +1 -1
- package/dist/client/assets/AgentFloorView-XXNgI5Cj.js +1 -0
- package/dist/client/assets/AgentInfoScreen-CimdOnZ9.js +1 -0
- package/dist/client/assets/{AgentLaneCard-lfRNb7JD.js → AgentLaneCard-Z-aOBR3W.js} +1 -1
- package/dist/client/assets/{AgentLaneChrome-Dlwrbq3g.js → AgentLaneChrome-CyhA1reW.js} +1 -1
- package/dist/client/assets/AgentLaneDetailSheet-BNzjMjIH.js +4 -0
- package/dist/client/assets/{AgentLaneSummaryResize-6SOEWUnr.js → AgentLaneSummaryResize-Box8-_rS.js} +1 -1
- package/dist/client/assets/AgentLanesEmbedScreen-BmLnN4on.js +1 -0
- package/dist/client/assets/{AgentLanesPreflight-C3uOiOzd.js → AgentLanesPreflight-5B6sXvRB.js} +1 -1
- package/dist/client/assets/AgentLanesView-DHyzVBk6.js +2 -0
- package/dist/client/assets/{AgentLiveActions-BJ5dIfL3.js → AgentLiveActions-BwuzOE8h.js} +1 -1
- package/dist/client/assets/AgentSessions-CsZwoukw.js +6 -0
- package/dist/client/assets/AgentsConsole-KCao4XmX.js +1 -0
- package/dist/client/assets/AgentsScreen-CtPAmwRX.js +1 -0
- package/dist/client/assets/AgentsSubnav-CDMjKeYC.js +1 -0
- package/dist/client/assets/AstronautSuit-Ckx7lu7G.js +1 -0
- package/dist/client/assets/AtopView-DYlpgEHf.js +1 -0
- package/dist/client/assets/{BackToPicker-D1LV6Cqp.js → BackToPicker-4JaeRvDm.js} +1 -1
- package/dist/client/assets/BriefingDetailScreen-D6-xqrpo.js +1 -0
- package/dist/client/assets/BriefingsScreen-DKxSDEmk.js +1 -0
- package/dist/client/assets/{BrokerMetadataPanel-BhjECqOK.js → BrokerMetadataPanel-BbREmsbK.js} +1 -1
- package/dist/client/assets/BrokerScreen-fbPIouMw.js +5 -0
- package/dist/client/assets/CastPicker-BcA2vDDV.js +1 -0
- package/dist/client/assets/CastPicker-zXsnkTIy.css +1 -0
- package/dist/client/assets/ChatCollapsedStrip-Ycm0ecaX.js +1 -0
- package/dist/client/assets/{CodeDiffPane-Bx_2VAzv.js → CodeDiffPane-Cn8Y9hAt.js} +1 -1
- package/dist/client/assets/{CodeProjectPicker-C1yOJKvs.js → CodeProjectPicker-nPFktrco.js} +1 -1
- package/dist/client/assets/CodeScreen-BlAxtxE5.js +1 -0
- package/dist/client/assets/ConversationComposer-2HjbGPL9.js +1 -0
- package/dist/client/assets/ConversationFeedRows-C6wUqJrx.js +1 -0
- package/dist/client/assets/ConversationHeader-C8vfXaTF.js +1 -0
- package/dist/client/assets/ConversationPanels-CNCIbpqU.js +6 -0
- package/dist/client/assets/ConversationScreen-BNULZAp2.js +2 -0
- package/dist/client/assets/ConversationScreen-CkWnKXt6.css +1 -0
- package/dist/client/assets/ConversationStatus-DZuyKsWN.js +1 -0
- package/dist/client/assets/CrewAvatar-CTIuxp4G.js +1 -0
- package/dist/client/assets/CrewAvatar-D0c9z5Qr.css +1 -0
- package/dist/client/assets/CrewWorkspaces-CJhBKVoZ.css +1 -0
- package/dist/client/assets/CrewWorkspaces-CkPYIA46.js +1 -0
- package/dist/client/assets/{DataTable-CJbbgBdA.js → DataTable-6IDhanr5.js} +1 -1
- package/dist/client/assets/DispatchAftermath-DC1u9itO.js +1 -0
- package/dist/client/assets/DocumentFocusViewer-DZVhS7as.js +1 -0
- package/dist/client/assets/{EmbeddableSurfacesLab-BdsYRDky.js → EmbeddableSurfacesLab-BKUFJMCV.js} +1 -1
- package/dist/client/assets/{EmptyState-BRY5jTpz.js → EmptyState-CeBl0iGd.js} +1 -1
- package/dist/client/assets/{FileViewerPane-9Bveqm9c.js → FileViewerPane-DQlpNt2S.js} +2 -2
- package/dist/client/assets/FlightObserveScreen-CDWGSKZg.js +1 -0
- package/dist/client/assets/FollowScreen-BXHOp3gb.js +1 -0
- package/dist/client/assets/{HarnessMark-BPAphNjx.js → HarnessMark-D5CA5uSp.js} +1 -1
- package/dist/client/assets/HarnessesScreen-DhFXq1qz.js +1 -0
- package/dist/client/assets/{HerdrSession-BujfGzrP.js → HerdrSession-BRhs5LIR.js} +1 -1
- package/dist/client/assets/HomeHero-7JwycwFY.css +1 -0
- package/dist/client/assets/HomeHero-DMABJuze.js +1 -0
- package/dist/client/assets/HostAdvisorView-RAociATV.js +1 -0
- package/dist/client/assets/{KnowledgeSearchInspector-B4ZY24xE.js → KnowledgeSearchInspector-CZPyVNSw.js} +1 -1
- package/dist/client/assets/KnowledgeSearchScreen-mGTKIg00.js +1 -0
- package/dist/client/assets/{LaneToolHoverCard-B7KdvQvf.js → LaneToolHoverCard-D_DMlBeT.js} +1 -1
- package/dist/client/assets/LaneTraceDetailSheet-BEHg3LmH.js +1 -0
- package/dist/client/assets/{LaneTraceEventFocus-mkMw2wJU.js → LaneTraceEventFocus-DVimcizS.js} +1 -1
- package/dist/client/assets/{MeshCanvas-CpKcWxKy.js → MeshCanvas-BOuZx4AM.js} +2 -2
- package/dist/client/assets/{MeshCanvasMinimap-C9IoGHbe.js → MeshCanvasMinimap-wL-1N94e.js} +1 -1
- package/dist/client/assets/MeshScreen-DMY9Bmh5.js +1 -0
- package/dist/client/assets/{MeshTopologyView-DFzr0IZM.js → MeshTopologyView-DiDcX5f4.js} +2 -2
- package/dist/client/assets/MessagesScreen-Eulveud3.js +1 -0
- package/dist/client/assets/{MissionContextRail-Y8QxUZGE.js → MissionContextRail-DrNKXG5u.js} +1 -1
- package/dist/client/assets/MissionControlView-ByBlHVN8.js +1 -0
- package/dist/client/assets/MissionFocusOverlay-D1i6R6Zt.js +1 -0
- package/dist/client/assets/MissionLeftAgentRow-DN9NcCML.js +1 -0
- package/dist/client/assets/MissionLogPane-DSeIv3Xo.js +1 -0
- package/dist/client/assets/NewAgentModal-V7yK6J6j.js +1 -0
- package/dist/client/assets/NewChatComposer-hlWT-nbR.js +19 -0
- package/dist/client/assets/{NewChatOrigin-DmuJ32wa.js → NewChatOrigin-DdpzE4kz.js} +1 -1
- package/dist/client/assets/ObserveEmbedScreen-l_Q3ts2q.js +2 -0
- package/dist/client/assets/ObserveTextFlow-BSEtYTxU.js +2 -0
- package/dist/client/assets/ObservedTopologyPanel-CdGUXxGR.js +2 -0
- package/dist/client/assets/OpenScoutAppShell-DN8dOSK4.js +79 -0
- package/dist/client/assets/OpsAgentsView-ntGr4pz4.js +1 -0
- package/dist/client/assets/OpsScreen-Ppen_Lmj.js +1 -0
- package/dist/client/assets/OpsSubnav-GAKsoSor.js +1 -0
- package/dist/client/assets/ProjectAgentProfile-BLlp2e6t.js +1 -0
- package/dist/client/assets/{ProjectAgentProfileBar-BLVg5EeA.js → ProjectAgentProfileBar-BQET-qrY.js} +1 -1
- package/dist/client/assets/ProjectAgentProfileHero-Ck8mThtx.js +1 -0
- package/dist/client/assets/ProjectsInbox-Dlt8OQ8O.js +2 -0
- package/dist/client/assets/ProjectsRail-DCfNMmnW.js +1 -0
- package/dist/client/assets/ProjectsScreen-BP-hmI1m.js +1 -0
- package/dist/client/assets/ProjectsThreadAside-CWpMjGIH.js +1 -0
- package/dist/client/assets/Provider-B2xuo3rf.js +1 -0
- package/dist/client/assets/RailRow-B-GycCBx.js +1 -0
- package/dist/client/assets/RailRow-B0sRaJc6.css +1 -0
- package/dist/client/assets/RawSessionsTable-AQThi6sm.js +1 -0
- package/dist/client/assets/RealtimeVoiceScreen-D7zZHK_t.js +1 -0
- package/dist/client/assets/{RepoDiffEmbedScreen-BCDXFE3D.js → RepoDiffEmbedScreen-DXWoRF_c.js} +1 -1
- package/dist/client/assets/{RepoDiffPageScreen-m62FiWXC.js → RepoDiffPageScreen-D_274ExO.js} +1 -1
- package/dist/client/assets/RepoDiffViewer-DbedmHDX.js +7 -0
- package/dist/client/assets/RepoDiffViewerLazy-C0--fPtk.js +2 -0
- package/dist/client/assets/ReposScreen-D39_YG4H.js +6 -0
- package/dist/client/assets/ScoutDeckSurface-CKT3qdqY.js +1 -0
- package/dist/client/assets/{ScoutSurface-CkgT7A-c.js → ScoutSurface-UsRy0t-I.js} +1 -1
- package/dist/client/assets/{ScoutbotFxLab-D-kV5j4T.js → ScoutbotFxLab-Fmdfboxs.js} +1 -1
- package/dist/client/assets/{SecondaryNav-_wyKjwNf.js → SecondaryNav-o2RL9H8H.js} +1 -1
- package/dist/client/assets/{SessionEmbedScreen-CJZmIBV7.js → SessionEmbedScreen-RD5XOx7R.js} +1 -1
- package/dist/client/assets/{SessionObserve-yYA8Gy5s.js → SessionObserve-Dsd0j05N.js} +9 -9
- package/dist/client/assets/{SessionObserveEvidence-cHdjYOJe.js → SessionObserveEvidence-DopQYDkD.js} +1 -1
- package/dist/client/assets/SessionRefScreen-B_cTv47v.js +1 -0
- package/dist/client/assets/SessionsScreen-Bq0Z77On.js +1 -0
- package/dist/client/assets/SettingsDrawer-R8a0TlJD.css +1 -0
- package/dist/client/assets/SettingsDrawer-_AwuopMS.js +3 -0
- package/dist/client/assets/SettingsScreen-Cw4DDfJP.js +1 -0
- package/dist/client/assets/{ShikiPane-dBS9hD-z.js → ShikiPane-BfHc_3pM.js} +1 -1
- package/dist/client/assets/{SlidePanel-CH-3-8_2.js → SlidePanel-C-q7XwTa.js} +1 -1
- package/dist/client/assets/SpriteAvatar-Bs68ZENy.js +1 -0
- package/dist/client/assets/{StatusPill-C8m9ZymF.js → StatusPill-ZZQwxB1a.js} +1 -1
- package/dist/client/assets/{TailView-B0BSopPs.js → TailView-Q4FVMsUH.js} +2 -2
- package/dist/client/assets/Terminal-D7zqHwHV.js +1 -0
- package/dist/client/assets/TerminalEmbedScreen-CXIJ7qv6.js +1 -0
- package/dist/client/assets/TerminalHeaderMount-BnBLOPbb.js +1 -0
- package/dist/client/assets/{TextDocumentSurface-BWJCGBZf.js → TextDocumentSurface-CKQP-cBT.js} +1 -1
- package/dist/client/assets/{TmuxPeek-B4QdHbGm.js → TmuxPeek-V9dGESfO.js} +1 -1
- package/dist/client/assets/{VoicePermissionsPanel-Dd4ITJy_.js → VoicePermissionsPanel-k7sbLXx2.js} +1 -1
- package/dist/client/assets/WorkDetailScreen-60p9litn.js +5 -0
- package/dist/client/assets/WorkFilesViewer-BjJS7GyM.js +1 -0
- package/dist/client/assets/{activity-CC8JzJNH.js → activity-Bj3Hnbj3.js} +1 -1
- package/dist/client/assets/{addon-fit-CaZ-uLrg.js → addon-fit-BL-NTWRU.js} +1 -1
- package/dist/client/assets/{addon-webgl-B8utL3bM.js → addon-webgl-CIMgmNjg.js} +1 -1
- package/dist/client/assets/{ScoutbotBroadcastChip-CxtYZWPZ.css → agent-autocomplete-C7xwIcwd.css} +1 -1
- package/dist/client/assets/agent-autocomplete-DXlvdc4b.js +10 -0
- package/dist/client/assets/{agent-essentials-B3wcxg_v.js → agent-essentials-BOMHR0_U.js} +1 -1
- package/dist/client/assets/{agent-lane-card-model-q4cwzLX4.js → agent-lane-card-model-CTLxf3R4.js} +1 -1
- package/dist/client/assets/agent-lane-detail-ppJId6Jc.js +2 -0
- package/dist/client/assets/{agent-lane-preview-C33Dwpn7.js → agent-lane-preview-BhplDYGf.js} +1 -1
- package/dist/client/assets/{agent-lanes-BDNktFBZ.css → agent-lanes-DlqcEf0l.css} +1 -1
- package/dist/client/assets/{agent-lanes-model-VYQ5a68i.js → agent-lanes-model-AfrjRNK5.js} +2 -2
- package/dist/client/assets/agent-specialization-BIPIBW8u.js +1 -0
- package/dist/client/assets/api-Co9aQ2Jw.js +1 -0
- package/dist/client/assets/{api-BkjHJfgJ.js → api-HFH8wFyb.js} +1 -1
- package/dist/client/assets/{arc.es-uFv9UrHn.js → arc.es-IR5r6sj_.js} +1 -1
- package/dist/client/assets/archive-BjcGiAy8.js +1 -0
- package/dist/client/assets/{arrow-down-w1HPzDSE.js → arrow-down-BydciYFZ.js} +1 -1
- package/dist/client/assets/{arrow-left-B-3GJ7ct.js → arrow-left-CghA0kTw.js} +1 -1
- package/dist/client/assets/arrow-right-iJFv3jNh.js +1 -0
- package/dist/client/assets/{arrow-up-right-G6bJXxhK.js → arrow-up-right-CCfZXPqD.js} +1 -1
- package/dist/client/assets/{bot-DzCOGKi6.js → bot-B5sub1-i.js} +1 -1
- package/dist/client/assets/broker-display-Q75fupqG.js +2 -0
- package/dist/client/assets/{cache-Dr0why2k.js → cache-CeWH_KzJ.js} +1 -1
- package/dist/client/assets/{check-BX8nRgop.js → check-C18YQC90.js} +1 -1
- package/dist/client/assets/{chevron-down-B3VVRJcV.js → chevron-down-Mp9mu_yd.js} +1 -1
- package/dist/client/assets/{chevron-right-BYMV1511.js → chevron-right-CzH-TaSF.js} +1 -1
- package/dist/client/assets/{chunk-HRAB3GC3-dRd2eQMJ.js → chunk-HRAB3GC3-swV8PA2k.js} +1 -1
- package/dist/client/assets/{chunk-JTPDIGGW-BjX67kHU.js → chunk-JTPDIGGW-BKXqcLKw.js} +3 -3
- package/dist/client/assets/{chunk-T65CQEWV-kP6nJjkU.js → chunk-T65CQEWV-vYbNJ8E6.js} +1 -1
- package/dist/client/assets/{chunk-YOZR3KYS-C13bZPVd.js → chunk-YOZR3KYS-U65yUmqt.js} +1 -1
- package/dist/client/assets/{clock-B9ukVaVn.js → clock-B4PTFi5m.js} +1 -1
- package/dist/client/assets/{code-xml-BFc3TMSm.js → code-xml-Jtxsp5d1.js} +1 -1
- package/dist/client/assets/collapsed-strip-raJWthAH.css +1 -0
- package/dist/client/assets/compass-0_54-vz3.js +1 -0
- package/dist/client/assets/content-6RvWTrtk.js +1 -0
- package/dist/client/assets/content-BCgwMUqz.js +1 -0
- package/dist/client/assets/content-Bf2VLhx0.js +1 -0
- package/dist/client/assets/content-BrU_38-m.js +1 -0
- package/dist/client/assets/content-BvvJN8rN.js +1 -0
- package/dist/client/assets/content-CAeEqYPw.js +1 -0
- package/dist/client/assets/content-CHghn-rT.js +1 -0
- package/dist/client/assets/{content-Uqt8AG-s.css → content-CINHz-rZ.css} +1 -1
- package/dist/client/assets/content-CI_Z9DXk.js +1 -0
- package/dist/client/assets/content-CbyKONhW.js +1 -0
- package/dist/client/assets/content-Czogvp43.js +1 -0
- package/dist/client/assets/content-DFk0zNzX.js +1 -0
- package/dist/client/assets/content-DHe4DgkA.js +1 -0
- package/dist/client/assets/content-DMbawvqU.js +1 -0
- package/dist/client/assets/content-DTz7cKjo.js +1 -0
- package/dist/client/assets/content-E3kudY-W.js +1 -0
- package/dist/client/assets/content-LpO0aO_U.js +1 -0
- package/dist/client/assets/{conversation-icons-gpsv650H.js → conversation-icons-BV10B2Me.js} +1 -1
- package/dist/client/assets/conversation-model-CwF6Y9gx.js +1 -0
- package/dist/client/assets/conversation-motion-features-BKkCRaWR.js +1 -0
- package/dist/client/assets/{copy-BFmOcWof.js → copy-Dtpx4FOE.js} +1 -1
- package/dist/client/assets/cpu-BjVis9mc.js +1 -0
- package/dist/client/assets/{createLucideIcon-CFBn0Sdk.js → createLucideIcon-DXpqZP7I.js} +1 -1
- package/dist/client/assets/credentials-BTce3VP1.js +1 -0
- package/dist/client/assets/ctx-panel-D_HJ3nhb.css +1 -0
- package/dist/client/assets/discover-CHbrEItO.js +2 -0
- package/dist/client/assets/embed-entry-vil28MyU.js +2 -0
- package/dist/client/assets/{external-link-B1TI5yIt.js → external-link-Ckiyzjwo.js} +1 -1
- package/dist/client/assets/{eye-1J4yOUoG.js → eye-CpfyvdLq.js} +1 -1
- package/dist/client/assets/file-code-corner-7mo7EviR.js +1 -0
- package/dist/client/assets/{file-text-DcYSrI4v.js → file-text-KijGBnME.js} +1 -1
- package/dist/client/assets/gauge-y-Xg8Mrv.js +1 -0
- package/dist/client/assets/gestures-Bq9XnSqY.js +1 -0
- package/dist/client/assets/git-branch-BQ_x8KZL.js +1 -0
- package/dist/client/assets/harnesses-screen-2z36fJKE.css +1 -0
- package/dist/client/assets/home-moving-signal-DMguaRWR.css +1 -0
- package/dist/client/assets/home-moving-signal-DtRpiNa0.js +1 -0
- package/dist/client/assets/home-now-card-DFb4GOgM.js +1 -0
- package/dist/client/assets/{home-now-card-nano-y1EhBvVL.js → home-now-card-nano-D--m9jpq.js} +1 -1
- package/dist/client/assets/hooks-9d1SoaQA.js +2 -0
- package/dist/client/assets/host-advisor-B2Fqs5Dd.css +1 -0
- package/dist/client/assets/index-BVlMw8x_.js +1 -0
- package/dist/client/assets/index-CZ-05hKz.js +10 -0
- package/dist/client/assets/index-Cn0GR-q1.js +1 -0
- package/dist/client/assets/index-DosI4AG9.js +1 -0
- package/dist/client/assets/index-i7TMxlwW.css +1 -0
- package/dist/client/assets/index-wLwc74Pu.css +1 -0
- package/dist/client/assets/inspector-panel-C-EhEDYy.js +2 -0
- package/dist/client/assets/{keyboard-nav-h1IdakpD.js → keyboard-nav-DFhAJkW3.js} +1 -1
- package/dist/client/assets/{lane-observe-BA3g9aVd.js → lane-observe-vfyACHi0.js} +1 -1
- package/dist/client/assets/{lane-roster-store-71vFgAem.js → lane-roster-store-gUBsydNf.js} +1 -1
- package/dist/client/assets/layers-CGou-LwV.js +1 -0
- package/dist/client/assets/layout-grid-BrZt31QH.js +1 -0
- package/dist/client/assets/left-B_o51JV6.js +1 -0
- package/dist/client/assets/left-BpgWnaah.js +1 -0
- package/dist/client/assets/left-CwHZCGO3.js +2 -0
- package/dist/client/assets/left-CwLs0okF.js +1 -0
- package/dist/client/assets/left-Cx0kv6pe.js +1 -0
- package/dist/client/assets/left-DA0amyfu.js +1 -0
- package/dist/client/assets/left-DH44V4I_.css +1 -0
- package/dist/client/assets/left-R2OOE7VG.css +1 -0
- package/dist/client/assets/left-advisor-DU3s01gk.js +1 -0
- package/dist/client/assets/left-agents-qL5PpUY-.js +1 -0
- package/dist/client/assets/left-default-uvuvDmt0.js +1 -0
- package/dist/client/assets/left-lanes-DnNLgec8.js +1 -0
- package/dist/client/assets/left-mission-DN3-NLPC.js +1 -0
- package/dist/client/assets/left-z-6CkuBe.js +2 -0
- package/dist/client/assets/library-DIo5NiGP.js +1 -0
- package/dist/client/assets/{loader-circle-d6PKL_KD.js → loader-circle-BiohlpM3.js} +1 -1
- package/dist/client/assets/{local-agents-B5pq17tZ.js → local-agents-wUIaBcEr.js} +1 -1
- package/dist/client/assets/{mentions-agCGDgyA.js → mentions-CcPFMbmZ.js} +1 -1
- package/dist/client/assets/mesh-buckets-ByyFXdKT.js +1 -0
- package/dist/client/assets/{mesh-ops-5pZCYptW.js → mesh-ops-CvGyjK84.js} +1 -1
- package/dist/client/assets/mesh-roster-n2nDpEmA.js +1 -0
- package/dist/client/assets/{mesh-screen-BSDUjrnV.css → mesh-screen-D1Yvo8fU.css} +1 -1
- package/dist/client/assets/{mesh-view-store-KJzABIkN.js → mesh-view-store-BpxGm71b.js} +1 -1
- package/dist/client/assets/{message-circle-CJO-pi7b.js → message-circle-B2ddzBrX.js} +1 -1
- package/dist/client/assets/{message-markup-CyRDLdOn.js → message-markup-RkfmDfME.js} +1 -1
- package/dist/client/assets/{message-square-D1hMsMj_.js → message-square-D9YYWE0x.js} +1 -1
- package/dist/client/assets/message-visibility-DwxgcgYK.js +1 -0
- package/dist/client/assets/mission-control-CnU7dNt1.css +1 -0
- package/dist/client/assets/{mission-control-store-Ce6dOvnZ.js → mission-control-store-Bf4b54MV.js} +1 -1
- package/dist/client/assets/{observe-BSWVM8YA.js → observe-CJRIvOCn.js} +1 -1
- package/dist/client/assets/{operator-attention-BwSPeheT.js → operator-attention-RqieiSY8.js} +1 -1
- package/dist/client/assets/{page-status-D2FQLJOX.js → page-status-BptpTdQ-.js} +1 -1
- package/dist/client/assets/{paperclip-iZmDMOS5.js → paperclip-B1UNGl5d.js} +1 -1
- package/dist/client/assets/perf-PX8Rx0EP.js +1 -0
- package/dist/client/assets/persistent-state-YI-WHSCF.js +1 -0
- package/dist/client/assets/{plus-gZ0T0eBI.js → plus-CuU_X0-8.js} +1 -1
- package/dist/client/assets/profile-rY8jO38P.js +1 -0
- package/dist/client/assets/projects-inbox-BBs1hG13.css +1 -0
- package/dist/client/assets/projects-inbox-D-zAb9Gp.js +1 -0
- package/dist/client/assets/proxy-DnLpZIi9.js +1 -0
- package/dist/client/assets/{radio-RMLfV4EO.js → radio-Dm1ItnA4.js} +1 -1
- package/dist/client/assets/{refresh-cw-C4x1x6b_.js → refresh-cw-BRn9Oxxl.js} +1 -1
- package/dist/client/assets/resolve-panes-DO6LkwhQ.js +1 -0
- package/dist/client/assets/resolve-sidebar-context-CIF288wY.js +1 -0
- package/dist/client/assets/right-BJltPRnd.js +1 -0
- package/dist/client/assets/right-BbyYdzHn.js +1 -0
- package/dist/client/assets/right-Beh3nCUB.js +1 -0
- package/dist/client/assets/right-C1yumXNx.js +1 -0
- package/dist/client/assets/{right-D-k9Z1Fe.js → right-CJnB_Bg7.js} +2 -2
- package/dist/client/assets/right-CPP7GyOm.js +1 -0
- package/dist/client/assets/right-D3aTKf1F.js +1 -0
- package/dist/client/assets/right-DI1B79nR.js +1 -0
- package/dist/client/assets/right-DtsRNX5b.js +1 -0
- package/dist/client/assets/right-Shpw_xDy.js +1 -0
- package/dist/client/assets/{rocket-CMM-IdLy.js → rocket-DOwXHKWA.js} +1 -1
- package/dist/client/assets/router-DJj2WbDg.js +1 -0
- package/dist/client/assets/{scope-views-BIfMTXU4.js → scope-views-A4_vP97W.js} +1 -1
- package/dist/client/assets/scout-voice-BhPzrc6P.js +1 -0
- package/dist/client/assets/{scoutbot-BTIErYHo.js → scoutbot-BJIamJOH.js} +2 -2
- package/dist/client/assets/scoutbot-markdown-jh7tzFB1.js +6 -0
- package/dist/client/assets/{scroll-text-DPPYrqB9.js → scroll-text-DO0GQzvN.js} +1 -1
- package/dist/client/assets/{search-DAyagUtF.js → search-D1tJSAWe.js} +1 -1
- package/dist/client/assets/secondaryNavConfig-B9IF8wXl.js +1 -0
- package/dist/client/assets/{selection-bridge-BXw09aRF.js → selection-bridge-i2S9zpf8.js} +1 -1
- package/dist/client/assets/{send-horizontal-IcG46D2M.js → send-horizontal-CgLppsIC.js} +1 -1
- package/dist/client/assets/{server-BySujhDV.js → server-Dymv5Emh.js} +1 -1
- package/dist/client/assets/{session-catalog-ClS9xf6i.js → session-catalog-DNaOEzoQ.js} +1 -1
- package/dist/client/assets/{session-table-BdpHs1GN.js → session-table-PTQVoTyc.js} +1 -1
- package/dist/client/assets/settings-2fC_G9nX.js +1 -0
- package/dist/client/assets/{sliders-horizontal-R5pWUUcH.js → sliders-horizontal-BPSMHhbm.js} +1 -1
- package/dist/client/assets/{sparkles-DJOBD_8l.js → sparkles-Dy8p5xN8.js} +1 -1
- package/dist/client/assets/sse-CiOSzE5n.js +1 -0
- package/dist/client/assets/system-surfaces-redesign-QVXNeGYw.css +1 -0
- package/dist/client/assets/{tail-display-BRcJltQa.js → tail-display-DcliDVkW.js} +1 -1
- package/dist/client/assets/{tail-events-BdvqZHLr.js → tail-events-BMQmSx1n.js} +1 -1
- package/dist/client/assets/{terminal-relay-TffuSPGs.js → terminal-relay-9lhzEp2V.js} +1 -1
- package/dist/client/assets/terminal-screen-BLk4PAYt.css +1 -0
- package/dist/client/assets/terminal-sessions-BQ6t92tJ.js +1 -0
- package/dist/client/assets/{terminal-takeover-BOFPRPjR.js → terminal-takeover-DANQfTcy.js} +1 -1
- package/dist/client/assets/{terminal-DJPUp_Qn.js → terminal-yN9xN-h9.js} +1 -1
- package/dist/client/assets/{runtime-picker--IW3cRry.js → text-CnZ0e1-V.js} +1 -1
- package/dist/client/assets/text-rLpBg4_z.css +1 -0
- package/dist/client/assets/use-conversation-list-D9BNLfnW.js +1 -0
- package/dist/client/assets/{use-fleet-active-asks-BHzeBZSW.js → use-fleet-active-asks-BeAdcl09.js} +1 -1
- package/dist/client/assets/{use-mesh-ops-items-KmaauBr_.js → use-mesh-ops-items-BIvIHlqe.js} +1 -1
- package/dist/client/assets/use-reduced-motion-CKkhq9c5.js +1 -0
- package/dist/client/assets/{use-scout-dev-flags-BJbw87PK.js → use-scout-dev-flags-B2KCzPxn.js} +1 -1
- package/dist/client/assets/{useAgentHoverCard-C6o0tlat.js → useAgentHoverCard-CHBsxcbp.js} +1 -1
- package/dist/client/assets/useContentSecondaryNav-D0mUhxTF.js +1 -0
- package/dist/client/assets/{usePierreRuntime-Cm7-qdm0.js → usePierreRuntime-DUuXH5yp.js} +1 -1
- package/dist/client/assets/{wrench-CvRjjByE.js → wrench-YcXMlsh2.js} +1 -1
- package/dist/client/assets/{x-C8ayPBtj.js → x-e3h2hDsp.js} +1 -1
- package/dist/client/assets/{xterm-B0ci4Q9a.js → xterm-Byp1Hep_.js} +1 -1
- package/dist/client/assets/zap-nMcjPoWB.js +1 -0
- package/dist/client/favicon-16.png +0 -0
- package/dist/client/favicon-32.png +0 -0
- package/dist/client/favicon.ico +0 -0
- package/dist/client/favicon.svg +20 -47
- package/dist/client/index.html +5 -5
- package/dist/client/openscout-icon.png +0 -0
- package/dist/client/site.webmanifest +2 -2
- package/dist/client/web-app-icon-192.png +0 -0
- package/dist/client/web-app-icon-512.png +0 -0
- package/dist/main.mjs +20095 -78203
- package/dist/node/main.mjs +322 -252
- package/dist/pairing-runtime-controller.mjs +1032 -804
- package/dist/runtime/base-daemon.mjs +49 -121
- package/dist/runtime/broker-daemon.mjs +1105 -281
- package/dist/runtime/broker-process-manager.mjs +6 -0
- package/dist/runtime/mesh-discover.mjs +6 -0
- package/dist/scout-control-plane-web.mjs +3326 -1912
- package/package.json +27 -5
- package/dist/client/assets/ActivityScreen-DkUP7V7M.js +0 -1
- package/dist/client/assets/AgentAvatar-D8ZtMluU.js +0 -1
- package/dist/client/assets/AgentConfigurationScreen-BlGI6fuM.js +0 -1
- package/dist/client/assets/AgentDefinitionsWorkspace-CfaDVCVt.js +0 -1
- package/dist/client/assets/AgentFloorView-DjNLILLt.js +0 -1
- package/dist/client/assets/AgentInfoScreen-DG5dlHb_.js +0 -1
- package/dist/client/assets/AgentLaneDetailSheet-BzYzBfcW.js +0 -4
- package/dist/client/assets/AgentLanesEmbedScreen-Crxx1srt.js +0 -1
- package/dist/client/assets/AgentLanesView-ChNlmY-F.js +0 -2
- package/dist/client/assets/AgentSessions-DpY0htZV.js +0 -6
- package/dist/client/assets/AgentsConsole-CHyXrjhm.js +0 -1
- package/dist/client/assets/AgentsScreen-BhCjX2lD.js +0 -1
- package/dist/client/assets/AgentsSubnav-az_VDkri.js +0 -1
- package/dist/client/assets/AtopView-BjjPM8OX.js +0 -1
- package/dist/client/assets/BriefingDetailScreen-B7qJ90Np.js +0 -6
- package/dist/client/assets/BriefingsScreen-CW6N829d.js +0 -1
- package/dist/client/assets/BrokerScreen-X3z50712.js +0 -5
- package/dist/client/assets/ChatCollapsedStrip-DNR9osDy.js +0 -1
- package/dist/client/assets/CodeScreen-CIKK1LcZ.js +0 -1
- package/dist/client/assets/ContextMenu-CHIuVKz7.js +0 -1
- package/dist/client/assets/ConversationComposer-Bf7Ga_49.js +0 -1
- package/dist/client/assets/ConversationFeedRows-Cm1Lgo43.js +0 -1
- package/dist/client/assets/ConversationHeader-B_GXrKR0.js +0 -1
- package/dist/client/assets/ConversationPanels-BTBbEvrP.js +0 -2
- package/dist/client/assets/ConversationScreen-B3l2m3JI.js +0 -1
- package/dist/client/assets/ConversationScreen-yIKEsm-8.css +0 -1
- package/dist/client/assets/ConversationStatus-BqhUHD85.js +0 -1
- package/dist/client/assets/DispatchAftermath-BDA9CrOd.js +0 -1
- package/dist/client/assets/DocumentFocusViewer-B9vodVmG.js +0 -1
- package/dist/client/assets/FleetSearch-Bj9SCl2f.js +0 -1
- package/dist/client/assets/FleetSearch-EXOe8ulE.css +0 -1
- package/dist/client/assets/FlightObserveScreen-BVMdsiCC.js +0 -1
- package/dist/client/assets/FollowScreen-BifwHWOV.js +0 -1
- package/dist/client/assets/HarnessesScreen-fMnbnrD4.js +0 -1
- package/dist/client/assets/HomeHero-BgM6S39l.js +0 -1
- package/dist/client/assets/HomeHero-DEl-WBsT.css +0 -1
- package/dist/client/assets/KnowledgeSearchScreen-Ch_WENUC.js +0 -1
- package/dist/client/assets/LaneTraceDetailSheet-H3AnN-vN.js +0 -1
- package/dist/client/assets/MeshScreen-48QkJSDI.js +0 -1
- package/dist/client/assets/MessageComposerSuggestions-FdVHnT_q.js +0 -1
- package/dist/client/assets/MessagesScreen-BMOOfbWX.js +0 -1
- package/dist/client/assets/MissionControlView-BpsHKu1F.js +0 -1
- package/dist/client/assets/MissionFocusOverlay-BPnAEA3F.js +0 -1
- package/dist/client/assets/MissionLeftAgentRow-iOZ6ds9L.js +0 -1
- package/dist/client/assets/MissionLogPane-B0csI89E.js +0 -1
- package/dist/client/assets/NewAgentModal-DBHJR9Qm.js +0 -1
- package/dist/client/assets/NewChatComposer-Hd7pI5Ac.js +0 -19
- package/dist/client/assets/ObserveEmbedScreen-DyArn7Id.js +0 -2
- package/dist/client/assets/ObserveTextFlow-CkMrtT8s.js +0 -2
- package/dist/client/assets/ObservedTopologyPanel-CaSZZP05.js +0 -2
- package/dist/client/assets/OpenScoutAppShell-BtlKkiuF.js +0 -87
- package/dist/client/assets/OpsAgentsView-CnqrwbC2.js +0 -1
- package/dist/client/assets/OpsScreen-DOlmlVkP.js +0 -1
- package/dist/client/assets/OpsSubnav-Dj3ShAKv.js +0 -1
- package/dist/client/assets/PlanView-BLGdWDx6.js +0 -1
- package/dist/client/assets/ProjectAgentProfile-Dv1sVnQl.js +0 -1
- package/dist/client/assets/ProjectAgentProfileHero-0-GDhsPT.js +0 -1
- package/dist/client/assets/ProjectsInbox-B3DpAI5b.js +0 -2
- package/dist/client/assets/ProjectsRail-BDl7U9Jq.js +0 -1
- package/dist/client/assets/ProjectsScreen-Dl2FcGrR.js +0 -1
- package/dist/client/assets/ProjectsThreadAside-BcGC5mHE.js +0 -1
- package/dist/client/assets/Provider-cJCdHAxu.js +0 -1
- package/dist/client/assets/RailRow-CLcVmywd.js +0 -1
- package/dist/client/assets/RailRow-Cf9LOiEj.css +0 -1
- package/dist/client/assets/RawSessionsTable-DBto4Ts-.js +0 -1
- package/dist/client/assets/RealtimeVoiceScreen-DXEU5v3g.js +0 -1
- package/dist/client/assets/RepoDiffViewer-PaNeZMhJ.js +0 -7
- package/dist/client/assets/RepoDiffViewerLazy-CWE5GxMP.js +0 -2
- package/dist/client/assets/ReposScreen-Cksv1cAD.js +0 -6
- package/dist/client/assets/ScoutDeckSurface-BCjPl7C4.js +0 -1
- package/dist/client/assets/ScoutbotBroadcastChip-DkiRCHuK.js +0 -2
- package/dist/client/assets/ScoutbotRealtimeVoiceCall-1ixiEn1L.js +0 -1
- package/dist/client/assets/SessionRefScreen-OkTY7Szg.js +0 -1
- package/dist/client/assets/SessionsScreen-B-GFjxIA.js +0 -1
- package/dist/client/assets/SettingsDrawer-Co11RFX0.js +0 -3
- package/dist/client/assets/SettingsDrawer-UX7pFJU_.css +0 -1
- package/dist/client/assets/SettingsScreen-Cn09nq5_.js +0 -1
- package/dist/client/assets/SpriteAvatar-DS6Tmyua.js +0 -1
- package/dist/client/assets/Terminal-U8gjIdm3.js +0 -1
- package/dist/client/assets/TerminalEmbedScreen-CTmdE7us.js +0 -1
- package/dist/client/assets/WorkDetailScreen-mJs0mb99.js +0 -5
- package/dist/client/assets/WorkFilesViewer-ODzLXKxj.js +0 -1
- package/dist/client/assets/agent-identity-BxCsXnDp.js +0 -1
- package/dist/client/assets/agent-lane-detail-BNNm6FNu.js +0 -2
- package/dist/client/assets/api-h5zurxmi.js +0 -1
- package/dist/client/assets/broker-display-pp33bLsu.js +0 -2
- package/dist/client/assets/collapsed-strip-Dz-of2SM.css +0 -1
- package/dist/client/assets/content-B8gahuBy.js +0 -1
- package/dist/client/assets/content-BIqX06OQ.js +0 -1
- package/dist/client/assets/content-BKDZ6Fxe.js +0 -1
- package/dist/client/assets/content-C15Ya-iu.js +0 -1
- package/dist/client/assets/content-CDE9tJDF.js +0 -1
- package/dist/client/assets/content-CSAfI-PX.js +0 -1
- package/dist/client/assets/content-CTF9D60D.js +0 -1
- package/dist/client/assets/content-CbAGkYQO.js +0 -1
- package/dist/client/assets/content-CtqLJOVp.js +0 -1
- package/dist/client/assets/content-Dvs1KRfo.js +0 -1
- package/dist/client/assets/content-DyJdVZjI.js +0 -1
- package/dist/client/assets/content-Ji7ATaf7.js +0 -1
- package/dist/client/assets/content-eqZXKWcP.js +0 -1
- package/dist/client/assets/content-iyyQKwvA.js +0 -1
- package/dist/client/assets/content-pDE7Fpb9.js +0 -1
- package/dist/client/assets/content-pPSd2dua.js +0 -1
- package/dist/client/assets/conversation-model-CHwHZNw-.js +0 -1
- package/dist/client/assets/conversation-motion-features-DXtKlmuM.js +0 -1
- package/dist/client/assets/ctx-panel-B4s49N9e.css +0 -1
- package/dist/client/assets/discover-DKf0aTr_.js +0 -2
- package/dist/client/assets/embed-entry-RlQUTtc4.js +0 -2
- package/dist/client/assets/gestures-CcEOV6Sr.js +0 -1
- package/dist/client/assets/harnesses-screen-DBZoTZz8.css +0 -1
- package/dist/client/assets/home-moving-signal-Bh2FugbH.js +0 -1
- package/dist/client/assets/home-moving-signal-CAa0V91u.css +0 -1
- package/dist/client/assets/home-now-card-ByRH5fFx.js +0 -1
- package/dist/client/assets/hooks-DUZwL3Aq.js +0 -2
- package/dist/client/assets/index-BBznYVWk.css +0 -1
- package/dist/client/assets/index-BTuq-8Iv.js +0 -1
- package/dist/client/assets/index-CmwGCxUk.js +0 -1
- package/dist/client/assets/index-CvF09yvf.css +0 -1
- package/dist/client/assets/index-DmFAhGPj.js +0 -10
- package/dist/client/assets/index-Dtaswdsh.js +0 -1
- package/dist/client/assets/inspector-panel-DzgS5_Mv.js +0 -2
- package/dist/client/assets/left-8NITBvFX.js +0 -1
- package/dist/client/assets/left-B2HEqrTM.js +0 -2
- package/dist/client/assets/left-Bk3XnxPD.css +0 -1
- package/dist/client/assets/left-CCoobxPS.css +0 -1
- package/dist/client/assets/left-CTYUvXbe.js +0 -1
- package/dist/client/assets/left-CwDRT50z.js +0 -2
- package/dist/client/assets/left-CxlDLJlw.js +0 -1
- package/dist/client/assets/left-XFXxNd4g.js +0 -1
- package/dist/client/assets/left-agents-Ck4Xn-R8.js +0 -1
- package/dist/client/assets/left-default-BeOyS0bR.js +0 -1
- package/dist/client/assets/left-lanes-DZp3jJMo.js +0 -1
- package/dist/client/assets/left-mission-CuKFQ5xL.js +0 -1
- package/dist/client/assets/left-p1hkO6P0.js +0 -1
- package/dist/client/assets/left-plan-3rrFENhp.js +0 -2
- package/dist/client/assets/library-E--gKzEZ.js +0 -1
- package/dist/client/assets/mesh-buckets-CfAukILK.js +0 -1
- package/dist/client/assets/message-visibility-kJM8XcSG.js +0 -1
- package/dist/client/assets/mission-control-m3BTDQ9l.css +0 -1
- package/dist/client/assets/model-Co0zkMIc.js +0 -1
- package/dist/client/assets/plan-view-D56fneVF.css +0 -1
- package/dist/client/assets/profile-Dxj3VVOM.js +0 -1
- package/dist/client/assets/projects-inbox-COZ23dLR.css +0 -1
- package/dist/client/assets/projects-inbox-Dzt_GQDv.js +0 -1
- package/dist/client/assets/resolve-panes-C9gF0w4e.js +0 -1
- package/dist/client/assets/resolve-sidebar-context-DxbY5RCH.js +0 -1
- package/dist/client/assets/right-5L7Tn0zG.js +0 -1
- package/dist/client/assets/right-CYtkMmRu.js +0 -1
- package/dist/client/assets/right-CreoQzPP.js +0 -1
- package/dist/client/assets/right-D9xFfy2b.js +0 -1
- package/dist/client/assets/right-DI7zHADe.js +0 -1
- package/dist/client/assets/right-DUbJ3WVc.js +0 -1
- package/dist/client/assets/right-DiybhsiK.js +0 -1
- package/dist/client/assets/right-Jh_1Q88s.js +0 -1
- package/dist/client/assets/right-udr1qTJG.js +0 -1
- package/dist/client/assets/router-Cn_s9IGH.js +0 -1
- package/dist/client/assets/runtime-picker-vhm0gtLs.css +0 -1
- package/dist/client/assets/scout-voice-CwbOz6EN.js +0 -1
- package/dist/client/assets/secondaryNavConfig-Dw3gS1jR.js +0 -1
- package/dist/client/assets/sse-CxXt4tqI.js +0 -1
- package/dist/client/assets/system-surfaces-redesign-B7GQhfpw.css +0 -1
- package/dist/client/assets/terminal-screen-BqVnCwl0.css +0 -1
- package/dist/client/assets/terminal-sessions-AmSgHklm.js +0 -1
- package/dist/client/assets/text-DsBWV_4k.js +0 -1
- package/dist/client/assets/use-conversation-list-C-dPcjQe.js +0 -1
- package/dist/client/assets/use-reduced-motion-CYqhYqHO.js +0 -1
- package/dist/client/assets/useContentSecondaryNav-DjHBrgnS.js +0 -1
- package/dist/highlights-eq9cgrbb.scm +0 -604
- package/dist/highlights-ghv9g403.scm +0 -205
- package/dist/highlights-hk7bwhj4.scm +0 -284
- package/dist/highlights-r812a2qc.scm +0 -150
- package/dist/highlights-x6tmsnaa.scm +0 -115
- package/dist/injections-73j83es3.scm +0 -27
- package/dist/tree-sitter-javascript-nd0q4pe9.wasm +0 -0
- package/dist/tree-sitter-markdown-411r6y9b.wasm +0 -0
- package/dist/tree-sitter-markdown_inline-j5349f42.wasm +0 -0
- package/dist/tree-sitter-typescript-zxjzwt75.wasm +0 -0
- package/dist/tree-sitter-zig-e78zbjpm.wasm +0 -0
- /package/dist/client/assets/{document-focus-viewer-BSC_JwVE.css → DocumentFocusViewer-BSC_JwVE.css} +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import{r as h,j as t}from"./index-
|
|
1
|
+
import{r as h,j as t}from"./index-CZ-05hKz.js";import{f as je}from"./bash-format-BRV5C6Gv.js";import{j as ks,p as Ue,k as ys}from"./tail-display-DcliDVkW.js";import{l as Ns}from"./lane-edit-display-C_Aujldz.js";import{f as ws}from"./lane-tool-detail-0WhMf4Vj.js";import{useLaneToolHoverCard as Cs}from"./LaneToolHoverCard-D_DMlBeT.js";import{e as Ss,L as Oe,g as Ts,h as $s,j as Ae,o as Ls,b as Ie,f as Es,k as Rs,m as ke,l as Ve,a as Ke}from"./lane-observe-vfyACHi0.js";import{b as Ps}from"./lane-ask-display-B6iCAVcd.js";import{d as Os}from"./colors-BtO5_zlx.js";import{a as ye}from"./api-Co9aQ2Jw.js";import{r as Je}from"./mentions-CcPFMbmZ.js";import{a as As,g as Ye,t as Is,b as Bs,d as _s,n as Be}from"./time-Dhsh_2EG.js";import{M as Xe}from"./message-markup-RkfmDfME.js";import{q as Fs}from"./terminal-takeover-DANQfTcy.js";import{C as Ds,D as Ms,E as Ws}from"./NewChatComposer-hlWT-nbR.js";import{u as Ne,k as Ze}from"./Provider-B2xuo3rf.js";import{o as zs}from"./openContent-C6XO6kr5.js";import{O as Hs}from"./ObservedTopologyPanel-CdGUXxGR.js";import{M as Gs}from"./text-CnZ0e1-V.js";import"./index-BVlMw8x_.js";import{ObserveReasoningDisclosure as qs,ObserveStreamCursor as _e}from"./ObserveTextFlow-BSEtYTxU.js";import{SessionObserveReceiptView as Us}from"./SessionObserveEvidence-DopQYDkD.js";import{M as Vs}from"./message-circle-B2ddzBrX.js";import{W as Ks}from"./wrench-YcXMlsh2.js";import{E as Js}from"./external-link-Ckiyzjwo.js";import{C as Qe}from"./chevron-down-Mp9mu_yd.js";import{c as Ys}from"./createLucideIcon-DXpqZP7I.js";const Xs=[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]],Zs=Ys("tag",Xs),we=new Set(["bash","shell","terminal","exec","run","command","exec_command","shell_command","local_shell","container_exec","container.exec"]);function I(e){return(e??"").trim()}function q(e){return[e.kind,I(e.tool),I(e.arg),I(e.text),I(e.detail)].join("|")}function Qs(e){if(e.kind!=="tool"||!e.tool||e.result)return!1;const s=I(e.arg).toLowerCase();return s==="started"||s.length>0&&s!=="completed"}function et(e){return e.kind!=="tool"||!e.tool?!1:I(e.arg).toLowerCase()==="completed"||!!e.result?.outcome}const es=/^permission requested · ([A-Za-z][\w-]*)$/i,ss=/^permission ([a-z_]+) · ([A-Za-z][\w-]*)$/i;function Ce(e){return e.kind==="system"&&es.test(e.text.trim())}function Se(e){return e.kind==="system"&&ss.test(e.text.trim())}function de(e){const s=e.text.trim(),n=s.match(es);if(n?.[1])return n[1];const a=s.match(ss);return a?.[2]?a[2]:null}function Zn(e){const s=new Set;for(const n of e)if(Ce(n)){const a=de(n);a&&s.add(a)}else if(Se(n)){const a=de(n);a&&s.delete(a)}return s.size>0}function st(e,s){const n=e.text.trim();return{...e,text:s>1?`${n}
|
|
2
2
|
|
|
3
|
-
(${s} reasoning updates)`:n}}function
|
|
4
|
-
`)??"",l=r?o.trim()?`${n} · ${r} · ${o}`:a?`${n} · ${r} · ${a}`:`${n} · ${r}`:s.text.trim()||(a?`${n} completed · ${a}`:`${n} completed`);return{...s,tool:n,arg:r??"completed",text:l,stream:s.stream??e.stream,diff:s.diff??e.diff,detail:s.detail??e.detail,live:s.live??e.live}}function
|
|
5
|
-
`):I(e.tool).toLowerCase()==="res"?e.arg??"":""}function
|
|
3
|
+
(${s} reasoning updates)`:n}}function tt(e,s){const n=s.tool??e.tool,a=s.result?.outcome,r=e.arg&&e.arg!=="started"&&e.arg!=="completed"?e.arg:s.arg&&s.arg!=="completed"?s.arg:void 0,o=s.stream?.join(`
|
|
4
|
+
`)??"",l=r?o.trim()?`${n} · ${r} · ${o}`:a?`${n} · ${r} · ${a}`:`${n} · ${r}`:s.text.trim()||(a?`${n} completed · ${a}`:`${n} completed`);return{...s,tool:n,arg:r??"completed",text:l,stream:s.stream??e.stream,diff:s.diff??e.diff,detail:s.detail??e.detail,live:s.live??e.live}}function nt(e){if(e.kind!=="tool"||!e.tool)return!1;const s=I(e.tool).toLowerCase();if(!we.has(s))return!1;const n=I(e.arg);return n.length>0&&n!=="started"&&n!=="completed"}function at(e){if(e.kind!=="tool")return!1;const s=I(e.tool).toLowerCase();return s==="res"?!!(I(e.arg)||(e.stream?.length??0)>0):we.has(s)?(e.stream?.length??0)>0:!1}function rt(e){return(e.stream?.length??0)>0?e.stream.join(`
|
|
5
|
+
`):I(e.tool).toLowerCase()==="res"?e.arg??"":""}function ot(e,s){const n=rt(s),a=I(e.arg),r=e.tool??s.tool,o=n.trim()?`${r} · ${a} · ${n}`:e.text;return{...e,id:s.id,t:s.t,at:s.at,result:s.result??e.result,stream:n.trim()?[n]:s.stream??e.stream,diff:s.diff??e.diff,detail:s.detail??e.detail,text:o,live:s.live??e.live}}function Fe(e){if(e.kind!=="tool"||e.diff||(e.stream?.length??0)>0)return!1;const s=(e.tool??"").trim(),n=(e.arg??"").trim();if(!s||n==="started"||n==="completed")return!1;const a=e.result?.outcome;if(a!=null&&a!=="success"&&a!==0||e.result&&Object.keys(e.result).length>1)return!1;const r=s.toLowerCase();if(we.has(r)){if(!n||n.startsWith("{")||n.startsWith("["))return!1;const{dir:o,spans:l}=je(n);if(o)return!1;const u=l.filter(c=>c.tier==="prog");return u.length===1&&l.length===1&&u[0].text.length<=64}return n&&n!==s||/\s/u.test(s)?!1:s.length<=64}function lt(e){return Math.max(1,e.repeatCount)}function it(e){const s=e.result?.outcome;if(s==null)return!1;if(typeof s=="number")return s!==0;const n=s.trim().toLowerCase();return n.length>0&&n!=="0"&&n!=="ok"&&n!=="success"&&n!=="succeeded"&&n!=="completed"}function ct(e){if(e.live||e.kind==="boot")return!0;if(e.kind==="tool")return!!e.diff||it(e);if(e.kind==="note"){const s=e.text.trim().toLowerCase();return s==="turn started"||s==="turn complete"||s==="turn ended"||s==="[turn_started]"||s==="[turn_ended]"||/^turn \d+\b/u.test(s)}if(e.kind==="system"){const s=e.text.trim();return Ce(e)||Se(e)||/\b(?:approval|permission|denied|failed|failure|error|exception|aborted|blocked)\b/i.test(s)}return!1}function ut(e){return e.kind==="ask"||e.kind==="message"?!1:!ct(e)}function ae(e,s,n=`${s}s`){return`${e} ${e===1?s:n}`}function dt(e){const s={totalCount:0,toolCount:0,thinkCount:0,noteCount:0,systemCount:0};for(const a of e){const r=lt(a);switch(s.totalCount+=r,a.event.kind){case"tool":s.toolCount+=r;break;case"think":s.thinkCount+=r;break;case"note":s.noteCount+=r;break;case"system":case"boot":s.systemCount+=r;break}}const n=[s.toolCount>0?ae(s.toolCount,"tool"):null,s.thinkCount>0?ae(s.thinkCount,"reasoning update"):null,s.noteCount>0?ae(s.noteCount,"turn marker"):null,s.systemCount>0?ae(s.systemCount,"system event"):null].filter(a=>!!a);return{...s,labels:n}}function mt(e){return e.labels.length>0?e.labels.join(" · "):ae(e.totalCount,"technical event")}function ht(e){const s=e[0].event,n=e[e.length-1].event,a=dt(e),r=mt(a);return{event:{...n,id:`technical-rollup:${s.id}:${n.id}:${a.totalCount}`,kind:"note",text:r,detail:r,tool:void 0,arg:void 0,diff:void 0,result:void 0,stream:void 0,answer:void 0,answerT:void 0,to:void 0,live:e.some(o=>o.event.live)},repeatCount:1,technicalSummary:a,technicalSourceRows:e}}function ft(e){const s=[];let n=[];const a=()=>{n.length!==0&&(s.push(ht(n)),n=[])};for(const r of e){if(ut(r.event)){n.push(r);continue}a(),s.push(r)}return a(),s}function bt(e){const s=[];for(let n=0;n<e.length;n+=1){const a=e[n];if(!a)continue;const r=e[n+1];if(r&&Ce(a)&&Se(r)&&I(de(a)).toLowerCase()===I(de(r)).toLowerCase()){const o={...r,live:r.live??a.live},l=q(o),u=s[s.length-1];u&&q(u.event)===l?(u.repeatCount+=1,u.event=o):s.push({event:o,repeatCount:1}),n+=1;continue}if(r&&Qs(a)&&et(r)&&I(a.tool).toLowerCase()===I(r.tool).toLowerCase()){const o=tt(a,r),l=q(o),u=s[s.length-1];u&&q(u.event)===l?(u.repeatCount+=1,u.event=o):s.push({event:o,repeatCount:1}),n+=1;continue}if(r&&nt(a)&&at(r)&&(a.stream?.length??0)===0){const o=ot(a,r),l=q(o),u=s[s.length-1];u&&q(u.event)===l?(u.repeatCount+=1,u.event=o):s.push({event:o,repeatCount:1}),n+=1;continue}if(a.kind==="think"){let o=a,l=1;for(;e[n+l]?.kind==="think";){const c=e[n+l];if(!c)break;o=c,l+=1}const u=st(o,l);s.push({event:u,repeatCount:l}),n+=l-1;continue}if(a.kind!=="message"&&a.kind!=="ask"){const o=q(a),l=s[s.length-1];if(l&&q(l.event)===o){l.repeatCount+=1,l.event=a;continue}}s.push({event:a,repeatCount:1})}return s}function vt(e){return e.source==="broker"||e.source==="unavailable"||!Number.isFinite(e.eventCount)?0:Math.max(0,Math.floor(e.eventCount))}function pt(e){return e===0?"No trace events":`${e} event${e===1?"":"s"}`}function ts(e){const s=vt(e),n=pt(s);return e.source==="unavailable"?{label:"Trace unavailable",detail:"The session is known to the broker, but no readable event trace was captured.",tone:"unavailable",replayable:!1,traceEventCount:0,eventCountLabel:n,receiptOnly:!1}:e.source==="broker"?{label:"Session setup receipts",detail:"The broker recorded session setup, but no observed trace activity is available.",tone:"reconstructed",replayable:!1,traceEventCount:0,eventCountLabel:n,receiptOnly:!0}:e.fidelity==="timestamped"&&e.source==="live"&&e.live&&s>0?{label:"Live observed events",detail:"New timestamped events will appear here while the session runs.",tone:"live",replayable:s>1,traceEventCount:s,eventCountLabel:n,receiptOnly:!1}:e.fidelity==="timestamped"&&s===0?{label:"Attached · no trace events",detail:"This worker is attached but is not emitting trace events.",tone:"reconstructed",replayable:!1,traceEventCount:0,eventCountLabel:n,receiptOnly:!1}:e.fidelity==="timestamped"?{label:"Recorded event history",detail:"This timeline is replayed from timestamped session history.",tone:"recorded",replayable:s>1,traceEventCount:s,eventCountLabel:n,receiptOnly:!1}:{label:"Reconstructed session evidence",detail:"Lifecycle and session attachment are available; fine-grained activity may be missing.",tone:"reconstructed",replayable:!1,traceEventCount:s,eventCountLabel:n,receiptOnly:!1}}async function xt(e){await ye("/api/local-path/reveal",{method:"POST",body:JSON.stringify({path:e.path,...e.basePath?{basePath:e.basePath}:{},...e.agentId?{agentId:e.agentId}:{},...e.sessionId?{sessionId:e.sessionId}:{}})})}const ns={think:"var(--dim)",tool:"var(--accent)",ask:"var(--amber)",message:"var(--muted)",note:"var(--green)",system:"var(--dim)",boot:"var(--dim)"},gt={read:"◎",edit:"✎",bash:"$",grep:"⌕",write:"✎",think:"∿"},jt=20,as=new Intl.NumberFormat("en-US"),kt=new Intl.NumberFormat("en-US",{notation:"compact",maximumFractionDigits:1});function me(e){if(!Number.isFinite(e)||e<=0)return"0s";const s=Math.floor(e);if(s<60)return`${s}s`;if(s<3600)return`${Math.floor(s/60)}m`;const n=Math.floor(s/3600),a=Math.floor(s%3600/60);return a>0?`${n}h${a}m`:`${n}h`}function yt(e){return Ye(e*1e3)||"0:00"}function Nt(e){return!Number.isFinite(e)||e<=0?"0s":me(e)}function he(e,s){return Ls(e,s)}function wt(e,s,n,a=!1){const r=he(e,s);return r!==null?a?{label:Es(r,n),title:Ie(r)}:{label:Is(r,n),title:Ie(r)}:a?{label:""}:{label:me(e.t)}}function Ct(e,s){const n=he(e,s),a=yt(e.t);return n!==null?{label:_s(n)||me(e.t),title:`${Bs(n)} · elapsed ${a}`}:{label:me(e.t),title:`Elapsed ${a} from session start`}}function De(e,s){return e>=Math.max(0,s-jt)}function te(e){return typeof e!="number"||!Number.isFinite(e)?null:as.format(e)}function U(e){return typeof e!="number"||!Number.isFinite(e)?"—":Math.abs(e)<1e3?as.format(e):kt.format(e).toLowerCase()}function St(e){if(!Number.isFinite(e)||e<=0)return"0s";if(e<60)return`${Math.round(e)}s`;const s=Math.round(e),n=Math.floor(s/3600),a=Math.floor(s%3600/60),r=s%60;return n>0?`${n}h ${a}m`:a>=10||r===0?`${a}m`:`${a}m ${r}s`}function Me(e){return!!e&&Object.keys(e).length>0}function ve(e){return e.filter(s=>!!s)}function ge(e){const n=e.replace(/[\\/]+$/,"").split(/[\\/]/).filter(Boolean);return n[n.length-1]??e}function Tt(e){xt(e).catch(s=>{console.warn("Failed to reveal local path",s)})}function K({text:e,label:s="Copy",className:n}){const[a,r]=h.useState(!1),o=h.useRef(null);h.useEffect(()=>()=>{o.current&&clearTimeout(o.current)},[]);const l=h.useCallback(u=>{u.preventDefault(),u.stopPropagation();const c=e,f=()=>{r(!0),o.current&&clearTimeout(o.current),o.current=setTimeout(()=>r(!1),1100)};navigator.clipboard?.writeText?navigator.clipboard.writeText(c).then(f).catch(()=>{We(c),f()}):(We(c),f())},[e]);return t.jsx("button",{type:"button",className:`s-observe-copy-btn${a?" s-observe-copy-btn--copied":""}${n?` ${n}`:""}`,onClick:l,"aria-label":s,title:a?"Copied":s,children:a?t.jsx("svg",{width:"11",height:"11",viewBox:"0 0 11 11",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:t.jsx("path",{d:"M2 5.5l2.4 2.4L9 3.4"})}):t.jsxs("svg",{width:"11",height:"11",viewBox:"0 0 11 11",fill:"none",stroke:"currentColor",strokeWidth:"1.2",strokeLinejoin:"round","aria-hidden":"true",children:[t.jsx("rect",{x:"3.4",y:"3.4",width:"6.1",height:"6.1",rx:"1.2"}),t.jsx("path",{d:"M7.6 3.4V2.2a.8.8 0 0 0-.8-.8H2.2a.8.8 0 0 0-.8.8v4.6a.8.8 0 0 0 .8.8h1.2"})]})})}function We(e){try{const s=document.createElement("textarea");s.value=e,s.style.position="fixed",s.style.opacity="0",s.style.pointerEvents="none",document.body.appendChild(s),s.select(),document.execCommand("copy"),document.body.removeChild(s)}catch(s){console.warn("Clipboard copy failed",s)}}function $t(e){const s=[],n=[e.tool,e.arg].filter(Boolean).join(" ");return n&&s.push(n),e.result&&s.push(Object.entries(e.result).map(([a,r])=>`${a}: ${r}`).join(" · ")),e.diff&&(s.push(`+${e.diff.add}${e.diff.del>0?` -${e.diff.del}`:""}`),e.diff.preview&&s.push(e.diff.preview)),e.stream&&e.stream.length>0&&s.push(e.stream.join(`
|
|
6
6
|
`)),s.join(`
|
|
7
|
-
`)}function
|
|
7
|
+
`)}function rs({expanded:e,onToggle:s,label:n}){const a=e?"less":n??"more";return t.jsxs("button",{type:"button",className:"s-observe-lane-expand",onClick:s,"aria-expanded":e,"aria-label":e?"Show less":"Show more",children:[e?t.jsx(Ze,{size:11,strokeWidth:2,"aria-hidden":"true"}):t.jsx(Qe,{size:11,strokeWidth:2,"aria-hidden":"true"}),t.jsx("span",{children:a})]})}function os({text:e,className:s,laneMode:n=!1,live:a=!1,renderExpanded:r,renderCollapsed:o}){const[l,u]=h.useState(!1),c=e.trim();if(!n)return t.jsxs("div",{className:s,children:[r?r(c):c,a&&t.jsx(_e,{text:c})]});const f=ke(c),p=Ve(c),y=l?r?r(c):c:o?o(p):p;return t.jsx("div",{className:`s-observe-lane-expandable${l?" s-observe-lane-expandable--open":""}`,children:t.jsxs("div",{className:`${s} s-observe-lane-expandable-body`,children:[t.jsxs("span",{className:"s-observe-lane-expandable-text",children:[y,a&&t.jsx(_e,{text:c})]}),f&&t.jsx(rs,{expanded:l,onToggle:()=>u(m=>!m)})]})})}function Lt({event:e,laneMode:s=!1}){const n=e.text??"";return t.jsx(qs,{text:n,live:!!e.live,compact:s,copyControl:s?void 0:t.jsx(K,{text:n,label:"Copy reasoning",className:"s-observe-copy-btn--inline"})})}function Et({preview:e}){const s=e.split(`
|
|
8
8
|
`);return t.jsx("pre",{className:"s-observe-tool-diff-preview",children:s.map((n,a)=>{const r=n[0],o=r==="+"?"add":r==="-"||r==="−"?"del":n.startsWith("@@")?"hunk":"ctx";return t.jsxs("span",{className:`s-observe-diff-line s-observe-diff-line--${o}`,children:[n,a<s.length-1?`
|
|
9
|
-
`:null]},a)})})}function
|
|
10
|
-
`),180,2):null;return t.jsxs("div",{className:`s-observe-tool s-observe-block${s?` s-observe-tool--lane s-observe-tool--fam-${u}`:""}${s&&n?" s-observe-tool--simple":""}`,children:[t.jsxs("div",{className:`s-observe-tool-header${B&&!s?" s-observe-tool-header--has-body":""}`,children:[(!f||n)&&t.jsx("span",{className:"s-observe-tool-glyph",children:c}),t.jsxs("span",{className:"s-observe-tool-cmd",title:s&&!m?f&&y?p:`${e.tool??""} ${x}`.trim()||void 0:void 0,children:[m?t.jsx(
|
|
11
|
-
`)}),!s&&t.jsx(K,{text
|
|
12
|
-
${e.detail}`:e.text??"";return t.jsxs("div",{className:`s-observe-system s-observe-block${s?" s-observe-system--lane":""}`,children:[t.jsxs("div",{className:"s-observe-system-line",children:[!s&&t.jsx("span",{className:"s-observe-system-arrow","aria-hidden":"true",children:"▸ "}),t.jsx("span",{className:"s-observe-system-text",children:e.text})]}),a&&e.detail&&t.jsx("div",{className:"s-observe-system-detail",children:e.detail}),t.jsx(K,{text:r,label:"Copy system event"})]})}const nn={think:"think",tool:"tool",ask:"ask",message:"message",note:"note",system:"system",boot:"boot"};function an(e){const s=js(e);return s||(e.kind==="tool"?e.tool==="res"?"result":e.tool?.trim()||"tool":nn[e.kind]??e.kind)}function Me(e){return!!e?.closest("button, a, input, textarea, select, [role='slider'], [contenteditable='true']")}function rn({event:e,prevT:s,prevWallMs:n,laneMode:a=!1,entering:r=!1,repeatCount:o=1,sessionStartMs:l,nowMs:u=Date.now(),preferWallAge:c=!1,highlighted:f=!1,focusAnchor:p=!1,simpleTool:y=!1,stackedTool:m=!1,laneGutter:i="time",laneOperatorName:d,onLaneEventSelect:x,laneToolHover:A,hoverPreviewActive:D=!1,technicalSummary:L,technicalExpanded:B=!1,onTechnicalToggle:R}){const _=e.t-s,W=L?"var(--dim)":ts[e.kind]??"var(--dim)",b=a?Nt(e,l,u,c):wt(e,l),k=me(e,l),T=c&&typeof n=="number"&&k!==null?Es(k-n):null,v=!c&&_>15?`${yt(_)} gap`:null,w=T??v,g=a&&!!x&&!L,N=["s-observe-row",`s-observe-row--kind-${e.kind}`,r?"s-observe-row--enter":"",g?"s-observe-row--selectable":"",f?"s-observe-row--highlighted":"",p?"s-observe-row--focus-anchor":"",y?"s-observe-row--tool-simple":"",m?"s-observe-row--tool-stacked":"",D?"s-observe-row--hover-preview":"",L?"s-observe-row--tech-summary":""].filter(Boolean).join(" "),S=t.jsxs(t.Fragment,{children:[w?t.jsx("div",{className:"s-observe-row-gap",children:w}):null,t.jsxs("div",{className:"s-observe-row-time",title:b.title,children:[i==="label-time"&&!m?t.jsx("span",{className:"s-observe-row-kind",children:an(e)}):null,t.jsx("span",{className:"s-observe-row-clock",children:b.label}),o>1&&t.jsxs("span",{className:"s-observe-row-repeat",title:`${o} similar events merged`,children:["×",o]})]}),t.jsx("span",{className:"s-observe-row-bead",style:{background:W}}),L?t.jsx(Vt,{summary:L,expanded:B,onToggle:R}):t.jsxs(t.Fragment,{children:[e.kind==="think"&&t.jsx($t,{event:e,laneMode:a}),e.kind==="tool"&&t.jsx(Ht,{event:e,laneMode:a,simple:y,wallLabel:y?b.label:void 0,wallTitle:y?b.title:void 0}),e.kind==="ask"&&t.jsx(Gt,{event:e,laneMode:a,operatorName:d,wallLabel:a?b.label:void 0,wallTitle:a?b.title:void 0}),e.kind==="message"&&t.jsx(Ut,{event:e,laneMode:a}),e.kind==="note"&&t.jsx(sn,{event:e,laneMode:a}),(e.kind==="system"||e.kind==="boot")&&t.jsx(tn,{event:e,laneMode:a})]})]}),M=a&&e.kind==="tool"&&A?A(e,{wallLabel:b.label,wallTitle:b.title,sessionOffset:Ns(e.t)}):null,E=M?t.jsx("div",{ref:M.ref,className:"s-observe-row-hover-target",onMouseEnter:M.onMouseEnter,onMouseLeave:M.onMouseLeave,onFocus:M.onFocus,onBlur:M.onBlur,children:S}):S;return t.jsx("div",{className:N,"data-event-id":e.id,onClick:g?$=>{Me($.target)||x?.(e)}:void 0,onKeyDown:g?$=>{$.key!=="Enter"&&$.key!==" "||Me($.target)||($.preventDefault(),x?.(e))}:void 0,role:g?"button":void 0,tabIndex:g?0:void 0,"aria-label":g?e.kind==="tool"?"Open command detail at this step":"Open session detail at this step":void 0,children:E})}function on(e,s){if(!e)return;const n=e.closest(".s-observe-main");if(n){const a=n.scrollHeight-n.clientHeight;n.scrollTo({top:a,left:n.scrollLeft,behavior:s});return}e.scrollIntoView({behavior:s,block:"end",inline:"nearest"})}function ln({events:e,followEnd:s,laneMode:n=!1,sessionStartMs:a,nowMs:r=Date.now(),preferWallAge:o=!1,focusEventId:l,inlineFocusEventId:u,inlineFocusContent:c,onLaneEventSelect:f,laneGutter:p="time",richSimpleTools:y=!1,collapseTechnicalEvents:m=!1,laneOperatorName:i}){const d=h.useRef(null),x=h.useRef(s),A=h.useRef(new Set),D=h.useRef(!1),[L,B]=h.useState(()=>new Set),[R,_]=h.useState(()=>new Set),W=h.useCallback(v=>{_(w=>{const g=new Set(w);return g.has(v)?g.delete(v):g.add(v),g})},[]);h.useEffect(()=>{m||_(new Set)},[m]);const b=h.useMemo(()=>{const v=n?ft(e):e.map(g=>({event:g,repeatCount:1}));if(!n)return v;const w=v.filter(g=>g.event.live||!cs(g.event));return m?ht(w):w},[e,n,m]);h.useEffect(()=>{if(!n){D.current=!0;return}const v=A.current;if(!D.current){for(const S of b)v.add(S.event.id);D.current=!0;return}const w=[];for(const S of b)v.has(S.event.id)||(v.add(S.event.id),w.push(S.event.id));if(w.length===0)return;const g=new Set(w);B(g);const N=window.setTimeout(()=>{B(new Set)},380);return()=>window.clearTimeout(N)},[b,s,n]),h.useLayoutEffect(()=>{if(!s){x.current=!1;return}const v=!x.current;x.current=!0,on(d.current,n||v?"instant":"smooth")},[b.length,s,n]);const k=ws(n),T=(v,w,g,N={})=>{const S=g?.event??null,M=S?me(S,a):null,E=n&&!v.technicalSummary&&!y&&Ie(v.event),$=E&&S!=null&&!g?.technicalSummary&&Ie(S),O=!N.suppressInlineFocus&&u===v.event.id&&!!c,j=t.jsx(rn,{event:v.event,prevT:S?.t??0,prevWallMs:M,laneMode:n,simpleTool:E,stackedTool:$,laneGutter:p,entering:n&&L.has(v.event.id),repeatCount:v.repeatCount,sessionStartMs:a,nowMs:r,preferWallAge:o,highlighted:!n&&l===v.event.id,focusAnchor:O,laneOperatorName:i,onLaneEventSelect:f,laneToolHover:n?k.bind:void 0,hoverPreviewActive:n&&k.hoveredEventId===v.event.id,technicalSummary:v.technicalSummary,technicalExpanded:N.technicalExpanded,onTechnicalToggle:N.onTechnicalToggle});return t.jsxs("div",{className:`s-observe-focus-group${O?" s-observe-focus-group--active":""}`,"data-focus-group":O?"true":void 0,children:[j,O?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"s-observe-focus-connector","aria-hidden":!0}),t.jsx("div",{className:"s-observe-focus-detail",children:c})]}):null]},`${v.event.id}:${v.repeatCount}:${w}${N.keySuffix??""}`)};return t.jsxs("div",{className:"s-observe-stream",children:[t.jsx("div",{className:"s-observe-spine"}),b.map((v,w)=>{const g=w>0?b[w-1]:null,N=v.technicalSourceRows,S=!!(v.technicalSummary&&N&&N.length>0),M=S&&R.has(v.event.id);return S&&M?t.jsxs("div",{className:"s-observe-tech-rollup s-observe-tech-rollup--expanded",children:[T(v,w,g,{technicalExpanded:!0,onTechnicalToggle:()=>W(v.event.id),suppressInlineFocus:!0}),t.jsx("div",{className:"s-observe-tech-rollup-details",children:N.map((E,$)=>{const O=$>0?N[$-1]:null;return T(E,$,O,{keySuffix:`:rollup:${v.event.id}:detail`,suppressInlineFocus:!0})})})]},`${v.event.id}:${v.repeatCount}:${w}:rollup`):T(v,w,g,{onTechnicalToggle:S?()=>W(v.event.id):void 0})}),t.jsx("div",{ref:d}),k.card]})}function cn({data:e,cursor:s}){const r=e.length;if(r<2)return null;const o=276/(r-1),l=e.map((c,f)=>`${f===0?"M":"L"} ${(f*o).toFixed(1)} ${((1-c)*44).toFixed(1)}`).join(" "),u=s*276;return t.jsxs("svg",{viewBox:"0 0 276 44",style:{width:"100%",height:44,display:"block"},children:[t.jsx("defs",{children:t.jsxs("linearGradient",{id:"observeCtxFill",x1:"0",y1:"0",x2:"0",y2:"1",children:[t.jsx("stop",{offset:"0%",stopColor:"var(--accent)",stopOpacity:.25}),t.jsx("stop",{offset:"100%",stopColor:"var(--accent)",stopOpacity:0})]})}),t.jsx("path",{d:`${l} L 276 44 L 0 44 Z`,fill:"url(#observeCtxFill)"}),t.jsx("path",{d:l,fill:"none",stroke:"var(--accent)",strokeWidth:1.2}),t.jsx("line",{x1:u,y1:0,x2:u,y2:44,stroke:"var(--accent)",strokeWidth:1,opacity:.6,strokeDasharray:"2 3"})]})}function un({state:e}){const s=e==="created"?"var(--green)":e==="modified"?"var(--accent)":"var(--dim)",n=e==="created"?"+":e==="modified"?"~":"◎";return t.jsx("span",{className:"s-observe-file-glyph",style:{background:"color-mix(in srgb, var(--bg) 70%, black)",border:`1px solid color-mix(in srgb, ${s} 40%, var(--border))`,color:s},children:n})}function H({label:e,value:s,detail:n}){const a=s==="0"||s==="—"||s==="";return t.jsxs("div",{className:`s-observe-stat${a?" s-observe-stat--quiet":""}`,children:[t.jsx("div",{className:"s-observe-stat-value",children:s}),t.jsx("div",{className:"s-observe-stat-label",children:e}),n&&t.jsx("div",{className:"s-observe-stat-detail",children:n})]})}function ve({children:e="Not captured for this session"}){return t.jsx("div",{className:"s-observe-empty",children:e})}function we({path:e,basePath:s,agentId:n,sessionId:a,className:r,children:o}){const{openFilePreview:l}=ye(),u=e.startsWith("/")||e.startsWith("~/")?e:s?`${s.replace(/\/$/,"")}/${e}`:e;return t.jsxs("span",{className:"s-observe-path-link-group",children:[t.jsx("button",{type:"button",className:r,title:`Preview ${e} in Scout`,onClick:()=>l(u),children:o}),t.jsx("button",{type:"button",className:"s-observe-path-link-external",title:`Reveal ${e} in OS`,"aria-label":"Reveal in OS",onClick:()=>St({path:e,basePath:s,agentId:n,sessionId:a}),children:t.jsx(Ks,{size:11,strokeWidth:1.6})})]})}function dn({path:e,basePath:s,agentId:n,sessionId:a}){return t.jsxs("div",{className:"s-observe-source",children:[t.jsx("span",{className:"s-observe-source-label",children:"Source"}),t.jsx(we,{path:e,basePath:s,agentId:n,sessionId:a,className:"s-observe-source-link",children:xe(e)})]})}function pe({rows:e,agentId:s,sessionId:n}){return e.length===0?null:t.jsx("div",{className:"s-observe-detail-list",children:e.map(a=>{const r=`s-observe-detail-value s-observe-detail-value--${a.tone??"default"}${a.wrap?" s-observe-detail-value--wrap":""}`,o=a.display??a.value;return t.jsxs("div",{className:"s-observe-detail-row",children:[t.jsx("div",{className:"s-observe-detail-label",children:a.label}),t.jsxs("div",{className:"s-observe-detail-value-wrap",children:[a.actionPath?t.jsx(we,{path:a.actionPath,basePath:a.actionBasePath,agentId:s,sessionId:n,className:`${r} s-observe-detail-link`,children:o}):t.jsx("div",{className:r,title:a.title??(o!==a.value?a.value:void 0),children:o}),t.jsx(K,{text:a.actionPath??a.value,label:`Copy ${a.label.toLowerCase()}`,className:"s-observe-copy-btn--inline"})]})]},a.label)})})}function mn({events:e,duration:s,cursor:n,onCursor:a,snapTimes:r=[]}){const o=h.useRef(null),l=h.useMemo(()=>bn(e,s,48),[e,s]),u=l.some(m=>m.count>0),c=l.reduce((m,i)=>m+i.count,0),f=u?`${c} message turn anchors. Click the timeline or use arrow keys to snap between turns.`:"Session timeline",p=h.useCallback(m=>{const i=o.current.getBoundingClientRect(),d=m.clientX-i.left,x=Math.max(0,Math.min(s,d/i.width*s));a(We(x,s,r))},[s,a,r]),y=h.useCallback(m=>{if(s<=0)return;const i=s*.01,d=s*.05;let x=n;switch(m.key){case"ArrowLeft":x=r.length?fn(n,r):n-(m.shiftKey?d:i);break;case"ArrowRight":x=r.length?ds(n,r,s):n+(m.shiftKey?d:i);break;case"PageDown":x=n-d;break;case"PageUp":x=n+d;break;case"Home":x=0;break;case"End":x=s;break;default:return}m.preventDefault(),a(r.length&&(m.key==="PageDown"||m.key==="PageUp")?We(x,s,r):Math.max(0,Math.min(s,x)))},[n,s,a,r]);return t.jsxs("div",{className:"s-observe-track-wrap",title:f,children:[u?t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"s-observe-track-barsHead","aria-hidden":!0,children:[t.jsx("span",{children:"Turns"}),t.jsx("span",{children:c})]}),t.jsx("div",{className:"s-observe-track-bars","aria-hidden":!0,children:l.map(m=>t.jsx("span",{className:"s-observe-track-bar","data-active":m.start<=n||void 0,style:{height:`${vn(m.count,l)}%`}},m.index))})]}):null,t.jsxs("div",{ref:o,className:"s-observe-track",onClick:p,onKeyDown:y,role:"slider",tabIndex:s>0?0:-1,"aria-label":"Session timeline","aria-valuemin":0,"aria-valuemax":s,"aria-valuenow":Math.max(0,Math.min(s,n)),children:[e.map(m=>{const i=m.kind==="tool"?6:m.kind==="think"?4:5;return t.jsx("span",{className:"s-observe-track-tick",style:{left:`${s>0?m.t/s*100:0}%`,top:i===6?-2:-1,height:i,background:ts[m.kind]??"var(--dim)"}},m.id)}),t.jsx("div",{className:"s-observe-track-played",style:{width:`${s>0?n/s*100:0}%`}}),t.jsx("span",{className:"s-observe-track-cursor",style:{left:`${s>0?n/s*100:0}%`}})]})]})}function us(e){return e.kind==="message"||e.kind==="ask"}function hn(e,s){const n=e.filter(us).map(a=>Math.max(0,Math.min(s,a.t))).sort((a,r)=>a-r);return Array.from(new Set(n))}function We(e,s,n){const a=Math.max(0,Math.min(s,e));if(n.length===0)return a;let r=n[0],o=Math.abs(r-a);for(const l of n){const u=Math.abs(l-a);u<o&&(r=l,o=u)}return r}function ds(e,s,n){return s.find(r=>r>e+.01)??n}function fn(e,s){for(let n=s.length-1;n>=0;n-=1){const a=s[n];if(a<e-.01)return a}return 0}function bn(e,s,n){const a=Math.max(1,s),r=Array.from({length:n},(o,l)=>({index:l,count:0,start:l/n*a}));for(const o of e){if(!us(o))continue;const l=Math.min(n-1,Math.max(0,Math.floor(o.t/a*n)));r[l].count+=1}return r}function vn(e,s){if(e<=0)return 0;const n=Math.max(1,...s.map(a=>a.count));return Math.max(18,e/n*100)}function pn({events:e,duration:s,cursor:n,mode:a,speed:r,snapTimes:o,onCursor:l,onPlayToggle:u,onSpeedChange:c}){const f=a==="tail"?"Following latest":a==="playing"?"Pause replay":"Play turns";return t.jsxs("div",{className:"s-observe-transport","data-snap":o.length>0||void 0,"data-mode":a,children:[t.jsx("button",{type:"button",className:"s-observe-play-btn","data-state":a,onClick:u,"aria-pressed":a==="tail"||a==="playing","aria-label":f,title:f,children:a==="playing"?"❚❚":"▶"}),t.jsx("button",{type:"button",className:"s-observe-rewind-btn",onClick:()=>{l(0)},"aria-label":"Jump to start",title:"Jump to start",children:"⏮"}),t.jsx(mn,{events:e,duration:s,cursor:n,onCursor:l,snapTimes:o}),t.jsx("div",{className:"s-observe-speed-group",children:[.5,1,2,4].map(p=>t.jsxs("button",{type:"button",className:`s-observe-speed-btn${r===p?" s-observe-speed-btn--active":""}`,onClick:()=>c(p),children:[p,"×"]},p))})]})}function ze(e){return Os(e)||"unknown"}function xn(e,s){const n=Pe(e),a=Pe(s);return n===null||a===null?"0:00":Ve(a-n)||"0:00"}function gn({catalog:e,sessionId:s,agentId:n}){const{navigate:a,route:r}=ye(),[o,l]=h.useState(!1),u=e.sessions.find(d=>d.id===e.activeSessionId),c=e.sessions.filter(d=>d.id!==e.activeSessionId&&d.endedAt).sort((d,x)=>(x.endedAt??0)-(d.endedAt??0)).slice(0,5),f=e.activeSessionId??s,p=f?f.slice(0,8):null,y=!!(u?.canTakeover&&e.resumeCommand),m=h.useCallback(()=>{!y||!e.resumeCommand||(_s({command:e.resumeCommand,cwd:e.resumeCwd,agentId:n}).then(()=>{Ws(a,{view:"terminal",agentId:n},{returnTo:r})}),l(!0))},[y,e.resumeCommand,e.resumeCwd,a,r,n]),i=h.useCallback(()=>{a({view:"agents-v2",agentId:n,tab:"message"})},[a,n]);return t.jsxs("div",{className:"s-observe-session-header",children:[t.jsx("div",{className:"s-observe-session-active",children:t.jsxs("div",{className:"s-observe-session-row",children:[p&&t.jsx("span",{className:"s-observe-session-id",title:f??void 0,children:p}),u&&t.jsxs("span",{className:"s-observe-session-time",children:["started ",ze(u.startedAt)]}),t.jsx("button",{className:"s-observe-pair-btn",onClick:i,title:"Send messages into the live session without taking the terminal",children:"Pair"}),y&&t.jsx("button",{className:"s-observe-takeover-btn",onClick:m,title:e.resumeCommand??void 0,children:o?"Sent":"Takeover"})]})}),c.length>0&&t.jsxs("div",{className:"s-observe-session-history",children:[t.jsxs("div",{className:"s-observe-session-history-label",children:[e.sessions.length," session",e.sessions.length!==1?"s":""," total"]}),c.map(d=>t.jsxs("div",{className:"s-observe-session-past",children:[t.jsx("span",{className:"s-observe-session-id",children:d.id.slice(0,8)}),t.jsxs("span",{className:"s-observe-session-time",children:[ze(d.startedAt),d.endedAt?` · ${xn(d.startedAt,d.endedAt)}`:""]})]},d.id))]})]})}const ms={events:[{id:"observe:empty",t:0,kind:"system",text:"No session trace is available for this agent yet.",detail:"Waiting for a live session or readable history file."}],files:[],contextUsage:[],live:!1};function hs({data:e=ms,agentId:s,sessionId:n,cursor:a,duration:r,surface:o="embedded",observeSource:l,observeFidelity:u}){const{events:c,files:f}=e,[p,y]=h.useState(null);h.useEffect(()=>{if(!s)return;let j=!1;return ke(`/api/agents/${encodeURIComponent(s)}/session-catalog`).then(V=>{j||y(V)}).catch(()=>{}),()=>{j=!0}},[s]);const m=e.metadata,i=m?.session,d=m?.usage,x=typeof r=="number"&&Number.isFinite(r)&&r>0?r:c.length>0?c[c.length-1].t+30:60,A=typeof a=="number"&&Number.isFinite(a)?a:x,D=c.filter(j=>j.kind==="tool").length,L=c.filter(j=>j.kind==="think").length,B=c.filter(j=>j.kind==="ask").length,R=c.filter(j=>j.kind==="tool"&&j.tool==="read").length,_=c.filter(j=>j.kind==="tool"&&(j.tool==="edit"||j.tool==="write")).length,W=c.length>0?c[c.length-1].t:0,b=typeof d?.contextInputTokens=="number"&&typeof d.contextWindowTokens=="number"&&d.contextWindowTokens>0?Math.max(0,Math.min(100,Math.round(d.contextInputTokens/d.contextWindowTokens*100))):null,k=[{label:"Context input",value:d?.contextInputTokens},{label:"Input",value:d?.inputTokens},{label:"Output",value:d?.outputTokens},{label:"Cache hit",value:d?.cacheReadInputTokens},{label:"Cache write",value:d?.cacheCreationInputTokens},{label:"Total",value:d?.totalTokens},{label:"Reasoning",value:d?.reasoningOutputTokens}].filter(j=>typeof j.value=="number"),T=be([typeof d?.assistantMessages=="number"?{label:"Assistant msgs",value:te(d.assistantMessages)??"0",tone:"accent"}:null,typeof d?.webSearchRequests=="number"?{label:"Web search",value:te(d.webSearchRequests)??"0"}:null,typeof d?.webFetchRequests=="number"?{label:"Web fetch",value:te(d.webFetchRequests)??"0"}:null,d?.serviceTier?{label:"Service tier",value:d.serviceTier,tone:"good"}:null,d?.speed?{label:"Speed",value:d.speed}:null,d?.planType?{label:"Plan",value:d.planType}:null]),v=be([typeof d?.contextWindowTokens=="number"?{label:"Model window",value:`${te(d.contextWindowTokens)} tokens`,title:te(d.contextWindowTokens)??void 0,tone:"accent"}:null,b!==null?{label:"Window load",value:`${b}%`,tone:b>=80?"warn":"default"}:null]),w=be([i?.model?{label:"Model",value:i.model,tone:"accent"}:null,i?.adapterType?{label:"Adapter",value:i.adapterType}:null,i?.gitBranch?{label:"Branch",value:i.gitBranch}:null,i?.cwd?{label:"Workspace",value:i.cwd,display:xe(i.cwd),title:i.cwd,actionPath:i.cwd}:null,i?.entrypoint?{label:"Entrypoint",value:i.entrypoint}:null,i?.cliVersion?{label:"CLI",value:i.cliVersion}:null,i?.permissionMode?{label:"Permissions",value:i.permissionMode}:null,i?.approvalPolicy?{label:"Approval",value:i.approvalPolicy}:null,i?.sandbox?{label:"Sandbox",value:i.sandbox}:null,i?.userType?{label:"User type",value:i.userType}:null,i?.originator?{label:"Originator",value:i.originator}:null,i?.modelProvider?{label:"Provider",value:i.modelProvider}:null,i?.effort?{label:"Effort",value:i.effort}:null,i?.timezone?{label:"Timezone",value:i.timezone}:null,i?.externalSessionId?{label:"External session",value:i.externalSessionId,title:i.externalSessionId}:null,i?.threadId?{label:"Thread",value:i.threadId,title:i.threadId}:null,i?.threadPath?{label:"Thread path",value:i.threadPath,display:xe(i.threadPath),title:i.threadPath,actionPath:i.threadPath,actionBasePath:i.cwd??null}:null,i?.source?{label:"Runtime source",value:i.source}:null]),g=_e(d),N=_e(i),S=l??(e.live?"live":"history"),M=u??"timestamped",E=ss({source:S,fidelity:M,live:e.live,eventCount:c.length}),$=M==="timestamped",O=E.traceEventCount>0;return t.jsxs("aside",{className:`s-observe-rail${o==="context"?" s-observe-rail--context":""}`,children:[t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Evidence"}),t.jsxs("div",{className:"s-observe-evidence-card","data-tone":E.tone,children:[t.jsx("span",{className:"s-observe-evidence-dot","aria-hidden":"true"}),t.jsxs("span",{children:[t.jsx("strong",{children:E.label}),t.jsx("small",{children:E.detail})]})]})]}),p&&p.sessions.length>0&&t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Session"}),t.jsx(gn,{catalog:p,sessionId:n??null,agentId:s})]}),t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Trace stats"}),t.jsxs("div",{className:"s-observe-stats",children:[t.jsx(H,{label:"Turns",value:U(O?i?.turnCount:void 0)}),t.jsx(H,{label:"Tools",value:U(O?D:void 0)}),t.jsx(H,{label:"Thinks",value:U(O?L:void 0)}),t.jsx(H,{label:"Requests",value:U(O?B:void 0)}),t.jsx(H,{label:"Reads",value:U(O?R:void 0)}),t.jsx(H,{label:"Edits",value:U(O?_:void 0)}),t.jsx(H,{label:"Files",value:U(O?f.length:void 0)}),t.jsx(H,{label:"Window",value:$&&O?Ct(W):"—"})]})]}),t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Interacted agents"}),t.jsx(zs,{topology:m?.topology??null,sessionId:n??m?.session?.externalSessionId??null,size:"rail",maxAgents:4})]}),t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Context window"}),t.jsx(pe,{rows:v,agentId:s??null,sessionId:n??null}),b!==null?t.jsxs(t.Fragment,{children:[t.jsx(cn,{data:[b/100,b/100],cursor:A/x}),t.jsx("div",{className:"s-observe-ctx-detail",children:"Meter uses latest context input divided by the model window."})]}):v.length===0?t.jsx(ve,{}):t.jsx("div",{className:"s-observe-ctx-detail",children:"No derived load trace captured."})]}),t.jsxs("div",{children:[t.jsxs("div",{className:"s-observe-rail-label",children:["Files touched · ",f.length]}),t.jsx("div",{className:"s-observe-files",children:f.map(j=>t.jsxs("div",{className:`s-observe-file${j.lastT<=A?" s-observe-file--visible":" s-observe-file--hidden"}`,children:[t.jsx(un,{state:j.state}),t.jsx(we,{path:j.path,basePath:i?.cwd??null,agentId:s??null,sessionId:n??null,className:"s-observe-file-path",children:j.path}),t.jsxs("span",{className:"s-observe-file-touches",children:["×",j.touches]})]},j.path))})]}),t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Usage"}),k.length>0&&t.jsx("div",{className:"s-observe-stats s-observe-stats--usage",children:k.map(j=>t.jsx(H,{label:j.label,value:U(j.value)},j.label))}),T.length>0?t.jsx(pe,{rows:T,agentId:s??null,sessionId:n??null}):!g&&k.length===0?t.jsx(ve,{}):null]}),t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Metadata"}),w.length>0?t.jsx(pe,{rows:w,agentId:s??null,sessionId:n??null}):N?null:t.jsx(ve,{})]})]})}function jn({conversationId:e,agentId:s,sessionId:n,invoke:a}){const{navigate:r}=ye(),[o,l]=h.useState(""),[u,c]=h.useState(!1),[f,p]=h.useState(null),[y,m]=h.useState(null),[i,d]=h.useState(()=>e?.trim()||null),x=h.useRef(null);h.useEffect(()=>{d(e?.trim()||null)},[e]);const A=s?.trim()||null,D=n?.trim()||null,L=!!(A&&D),B=!!(a?.projectPath&&a?.sessionId),R=!!(i||L||B),_=R&&o.trim().length>0&&!u,W=async()=>{const b=o.trim();if(!(!b||u)){if(!i&&!L&&!B){m("No writable session target is attached yet.");return}c(!0),p(null),m(null);try{if(i)await ke("/api/send",{method:"POST",body:JSON.stringify({body:b,conversationId:i,intent:"steer"})}),l(""),p("Sent into this session."),x.current?.focus();else if(L){const T=(await Ds({agentId:A,sessionId:D,instructions:b})).conversationId?.trim();T&&d(T),l(""),p("Sent into this session."),x.current?.focus()}else{const T=(await Ms({projectPath:a.projectPath,sessionId:a.sessionId,...a.harness?{harness:a.harness}:{},...a.model?{model:a.model}:{},...a.reasoningEffort?{reasoningEffort:a.reasoningEffort}:{},instructions:b})).conversationId?.trim();l(""),T?(d(T),p("Session invoked — opening conversation."),r({view:"conversation",conversationId:T})):(p("Session invoked."),x.current?.focus())}}catch(k){m(k instanceof Error?k.message:String(k))}finally{c(!1)}}};return t.jsx("div",{className:"s-observe-compose",children:t.jsx(Hs,{density:"panel",value:o,onChange:l,onSend:()=>{W()},sending:u,disabled:!R||u,canSend:_,placeholder:R?!i&&!L&&B?"Message this session to invoke it…":"Write into this session…":"This trace is read-only",textareaRef:x,rows:3,showAttach:R,onAttach:()=>x.current?.focus(),attachTitle:"Add context",attachAriaLabel:"Add context",sendTitle:"Send into this session (Cmd+Enter)",sendAriaLabel:"Send into this session",tools:R?y?t.jsx("span",{className:"s-observe-compose-status s-observe-compose-status--error",children:y}):f?t.jsx("span",{className:"s-observe-compose-status",children:f}):null:t.jsx("span",{className:"s-observe-compose-status s-observe-compose-status--muted",children:"No broker conversation or resumable agent session is attached to this trace."})})})}function kn({data:e,agentId:s,sessionId:n,conversationId:a,observeSource:r,observeFidelity:o,showRail:l=!0,variant:u="default",traceLimit:c,traceWindowMs:f,traceWindowLabel:p,nowMs:y,initialCursorT:m,focusEventId:i,inlineFocusEventId:d,inlineFocusContent:x,onLaneEventSelect:A,surface:D="scout",laneGutter:L,richSimpleTools:B,laneCollapseTechnicalEvents:R,onLaneCollapseTechnicalEventsChange:_,laneOperatorName:W}){const b=u==="lane",k=D==="scope",T=L??(k?"label-time":"time"),v=B??k,w=l&&!k,g=e??ms,{events:N}=g,S=r??(g.live?"live":"history"),E=ss({source:S,fidelity:o??"timestamped",live:g.live,eventCount:N.length}),$=g.metadata?.session?.sessionStart,[O,j]=h.useState(Date.now),V=typeof y=="number"?y:O;h.useEffect(()=>{if(!b||typeof y=="number")return;const C=setInterval(()=>j(Date.now()),1e4);return()=>clearInterval(C)},[b,y]);const P=N.length>0?N[N.length-1].t+30:60,Z=typeof m=="number"?Math.max(0,Math.min(P,m)):null,[re,oe]=h.useState(()=>Z??P),[he,J]=h.useState(!1),[le,fs]=h.useState(1),[fe,Y]=h.useState(Z==null),Ce=h.useRef(P),Se=h.useRef(null),Q=h.useMemo(()=>hn(N,P),[N,P]);h.useEffect(()=>{Z!=null&&(oe(Z),Y(!1),J(!1))},[Z,i]),h.useEffect(()=>{oe(C=>{const F=Ce.current;Ce.current=P;const z=Be(C,F);return C>P||z&&fe?P:C})},[P,fe]),h.useEffect(()=>{if(!he)return;const C=Q.length>0?Math.max(220,700/le):100,F=setInterval(()=>{oe(z=>{if(Q.length>0){const ue=ds(z,Q,P);return ue>=P?(Y(!0),J(!1),P):ue}const ce=z+le;return ce>=P?(Y(!0),J(!1),P):ce})},C);return()=>clearInterval(F)},[he,P,Q,le]);const ee=b&&!!(f&&f>0),se=(()=>{let C=N.filter(F=>F.t<=re);if(ee&&f){const F=Cs(C,$,V,f);C=F.length>=Le?F:C.slice(-Le)}else b&&c&&c>0&&(C=C.slice(-c));return C})(),X=h.useMemo(()=>{if(!ee||!f)return null;const C=se[0]?.id,F=C===void 0?Ss(N,$,V,f):Math.max(0,N.findIndex(z=>z.id===C));return Ts(se,$,V,f,F)},[N,V,$,f,ee,se]);h.useLayoutEffect(()=>{if(b||!i)return;const C=Se.current;if(!C)return;const F=C.querySelector('[data-focus-group="true"]')??C.querySelector(`[data-event-id="${i}"]`),z=F?.closest(".s-observe-main");if(F&&z){const ce=z.getBoundingClientRect(),ue=F.getBoundingClientRect(),gs=z.scrollTop+(ue.top-ce.top)-16;z.scrollTo({top:Math.max(0,gs),behavior:"instant"});return}F?.scrollIntoView({block:"start",behavior:"instant"})},[i,d,b,se.length]);const ie=Be(re,P)&&fe,bs=ie?"tail":he?"playing":"paused",vs=h.useCallback(C=>{Y(!1),J(!1),oe(C)},[]),ps=h.useCallback(()=>{ie?(Y(!1),J(!1)):(Y(!1),J(C=>!C))},[ie]),G=g.metadata?.session,Te=G?.threadPath??null,$e=n?.trim()||G?.externalSessionId?.trim()||null,xs=!s&&G?.cwd&&$e?{projectPath:G.cwd,sessionId:$e,harness:Fs(G.adapterType),model:G.model,reasoningEffort:G.effort}:null;return t.jsxs("div",{ref:Se,className:["s-observe",(!w||b)&&"s-observe--content-only",b&&"s-observe--lane",b&&T==="label-time"&&"s-observe--lane-gutter-label",k&&"s-observe--scope"].filter(Boolean).join(" "),children:[t.jsxs("main",{className:"s-observe-main",children:[!b&&!k&&t.jsxs("div",{className:"s-observe-evidence-banner","data-tone":E.tone,children:[t.jsx("span",{className:"s-observe-evidence-dot","aria-hidden":"true"}),t.jsxs("span",{children:[t.jsx("strong",{children:E.label}),t.jsx("small",{children:E.detail})]})]}),Te&&!b&&t.jsx(dn,{path:Te,basePath:G?.cwd??null,agentId:s??null,sessionId:n??null}),!E.receiptOnly&&!k&&ee&&X?t.jsxs("div",{className:"s-observe-lane-trace-meta",children:[t.jsxs("span",{className:"s-observe-lane-trace-meta-leading",children:[t.jsx("span",{className:"s-observe-lane-trace-meta-label",children:"Trace"}),t.jsx(Kt,{collapseTechnicalEvents:!!R,onChange:_})]}),t.jsxs("span",{className:"s-observe-lane-trace-meta-stats",children:[t.jsxs("span",{className:"s-observe-lane-trace-meta-window",children:["last ",p??Ee(f??0)]}),t.jsx("span",{className:"s-observe-lane-trace-meta-sep","aria-hidden":"true",children:"·"}),t.jsxs("span",{children:[X.eventCount," event",X.eventCount===1?"":"s"]}),X.spanMs>0?t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"s-observe-lane-trace-meta-sep","aria-hidden":"true",children:"·"}),t.jsxs("span",{children:[Ee(X.spanMs)," span"]})]}):null,X.truncatedBefore?t.jsx("span",{className:"s-observe-lane-trace-meta-tag",title:"Earlier activity in this window may not be loaded",children:"partial"}):null]})]}):null,E.receiptOnly?t.jsx(qs,{events:N}):t.jsx(ln,{events:se,followEnd:ie,laneMode:b,sessionStartMs:$,nowMs:V,preferWallAge:ee,focusEventId:i,inlineFocusEventId:d,inlineFocusContent:x,onLaneEventSelect:A,laneGutter:T,richSimpleTools:v,collapseTechnicalEvents:b&&!!R,laneOperatorName:W})]}),w&&!b&&t.jsx(hs,{data:g,agentId:s,sessionId:n,cursor:re,duration:P,observeSource:r,observeFidelity:o}),!k&&!b&&t.jsxs("footer",{className:"s-observe-scrubber",children:[E.replayable?t.jsx(pn,{events:N,duration:P,cursor:re,mode:bs,speed:le,snapTimes:Q,onCursor:vs,onPlayToggle:ps,onSpeedChange:fs}):t.jsxs("div",{className:"s-observe-static-evidence",children:[t.jsx("span",{className:"s-observe-evidence-dot","aria-hidden":"true"}),t.jsx("span",{children:E.label}),t.jsx("small",{children:"No timestamped replay is available."})]}),t.jsx(jn,{conversationId:a,agentId:s,sessionId:n,invoke:xs})]})]})}const Xn=Object.freeze(Object.defineProperty({__proto__:null,SessionObserve:kn,SessionObserveContextRail:hs},Symbol.toStringTag,{value:"Module"}));export{kn as S,hs as a,Xn as b,ss as d};
|
|
9
|
+
`:null]},a)})})}function Rt(e){const s=(e??"").toLowerCase();return s==="shell"?"bash":s}function Pt(e){const s=e.arg?.trim();if(!(!s||s==="started"||s==="completed"))return s}const Ot={bash:["bash","shell","terminal","exec","run","command","exec_command","shell_command","local_shell","container_exec","container.exec"],read:["read","view","cat","readfile","open","open_file"],file:["write","writefile","create","edit","multiedit","str_replace","strreplace","str_replace_editor","apply_patch","applypatch","patch","patch_apply","update","delete"],search:["grep","glob","search","rg","ripgrep","find","codebase_search","file_search"],fetch:["webfetch","web_fetch","fetch","websearch","web_search","browse","url"],agent:["agent","task","dispatch","subagent"],generic:[]},At={bash:"$",read:"◎",file:"✎",search:"⌕",fetch:"⤓",agent:"◇",generic:"▸"};function It(e){const s=(e??"").trim().toLowerCase();if(!s)return"generic";for(const n of["bash","read","file","search","fetch","agent"])if(Ot[n].includes(s))return n;return"generic"}function ls(e){return!e||e==="started"||e==="completed"}function Bt(e){const s=e.trim().replace(/\/+$/u,""),n=s.lastIndexOf("/");return n<0?{dir:"",base:s}:{dir:s.slice(0,n+1),base:s.slice(n+1)}}function _t(e,s=2){const n=e.split("/").filter(Boolean);return n.length===0?"":n.length<=s?`${n.join("/")}/`:`…/${n.slice(-s).join("/")}/`}function Ft(e){if(!e)return null;for(const s of["matches","count","results","hits"]){const n=e[s];if(typeof n=="number"&&Number.isFinite(n))return n;if(typeof n=="string"&&/^\d+$/u.test(n.trim()))return Number(n.trim())}return null}function Dt(e){try{const s=new URL(e);return{host:s.host,path:s.pathname+s.search}}catch{return{host:e,path:""}}}function Mt(e){return e.length>=3&&/^(?:ba|z)?sh$/u.test(e[0])&&/^-[a-z]*c$/u.test(e[1])?e.slice(2).join(" "):e.join(" ")}function ne(e,s){const n=e.trim();if(!n.startsWith("{")&&!n.startsWith("["))return null;try{const a=JSON.parse(n);if(a&&typeof a=="object"&&!Array.isArray(a)){const r=a;for(const o of s){const l=r[o];if(typeof l=="string"&&l.trim())return l;if(Array.isArray(l)&&l.every(u=>typeof u=="string"))return Mt(l)}}}catch{}for(const a of s){const r=n.match(new RegExp(`"${a}"\\s*:\\s*"((?:[^"\\\\]|\\\\.)*)`,"u"));if(r?.[1])try{return JSON.parse(`"${r[1]}"`)}catch{return r[1]}}return null}function is(e){const s=e.match(/\*\*\*\s+(?:Update|Add|Delete|Move|Rename)\s+File:\s*(.+)/u);return s&&s[1].trim().split(/\s*(?:->|=>)\s*/u)[0]?.trim()||null}function cs(e,s){const n=s?.trim();if(!n)return"";switch(e){case"bash":return ne(n,["cmd","command","script","input","code"])??n;case"file":return n.includes("*** ")?is(n)??n:ne(n,["file_path","path","filename","file"])??n;case"read":return ne(n,["file_path","path","filename","file"])??n;case"search":return ne(n,["pattern","query","glob","regex","q","search"])??n;case"fetch":return ne(n,["url","href","uri"])??n;default:return n}}function ze({path:e,tone:s}){const n=Ns(e),{dir:a,base:r}=Bt(n);return t.jsxs("span",{className:"s-observe-tool-path",title:e,children:[a&&t.jsx("span",{className:"s-observe-tool-path-dir",children:_t(a)}),t.jsx("span",{className:`s-observe-tool-path-base s-observe-tool-path-base--${s}`,children:r})]})}function Wt({path:e}){const s=e.lastIndexOf("/"),n=s>=0?e.slice(0,s+1):"",a=s>=0?e.slice(s+1):e;return t.jsxs("span",{className:"s-observe-bash-dir",children:[n&&t.jsx("span",{className:"s-observe-bash-dir-prefix",children:n}),a]})}function zt({command:e,title:s,outcome:n,outputPreview:a,cwd:r,powerline:o}){const{dir:l,spans:u}=je(e,{cwd:r,powerline:o});return t.jsxs("span",{className:"s-observe-bash",title:s??e,children:[l&&t.jsxs("span",{className:"s-observe-bash-pl",children:[t.jsx("span",{className:"s-observe-bash-seg",children:l}),t.jsx("span",{className:"s-observe-bash-sep","aria-hidden":!0})]}),t.jsx("span",{className:"s-observe-bash-prompt","aria-hidden":!0,children:"❯"}),u.length>0?t.jsx("span",{className:"s-observe-bash-cmd",children:u.map((c,f)=>{const p=f>0?" ":"";return c.tier==="dir"?t.jsxs("span",{children:[p,t.jsx(Wt,{path:c.text})]},f):t.jsxs("span",{className:`s-observe-bash-${c.tier}${c.known?" s-observe-bash-prog--known":""}${c.flag?" s-observe-bash-flag":""}`,children:[p,c.text]},f)})}):!l&&t.jsx("span",{className:"s-observe-bash-arg",children:"shell"}),a&&t.jsxs("span",{className:"s-observe-bash-out",title:a,children:[" → ",Ke(a,88)]}),n&&t.jsx("span",{className:"s-observe-bash-ok",children:n})]})}function Ht({family:e,event:s}){const n=cs(e,s.arg),a=n.startsWith("{")||n.startsWith("["),r=!!n&&!ls(n)&&!a;switch(e){case"read":return r?t.jsx(ze,{path:n,tone:"read"}):t.jsx("span",{className:"s-observe-tool-cmd-name",children:"read"});case"file":{const o=r&&n!=="patch"?n:is(s.detail??"")??"";return o?t.jsx(ze,{path:o,tone:"file"}):t.jsx("span",{className:"s-observe-tool-cmd-name",children:s.tool??"edit"})}case"search":{if(!r)return t.jsx("span",{className:"s-observe-tool-cmd-name",children:"search"});const o=Ft(s.result);return t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:"s-observe-tool-needle",children:[t.jsx("span",{className:"s-observe-tool-needle-q",children:'"'}),n,t.jsx("span",{className:"s-observe-tool-needle-q",children:'"'})]}),o!=null&&t.jsxs("span",{className:"s-observe-tool-count",children:["· ",o," ",o===1?"match":"matches"]})]})}case"fetch":{if(!r)return t.jsx("span",{className:"s-observe-tool-cmd-name",children:"fetch"});const{host:o,path:l}=Dt(n);return t.jsxs("span",{className:"s-observe-tool-url",title:n,children:[t.jsx("span",{className:"s-observe-tool-host",children:o}),l&&l!=="/"&&t.jsx("span",{className:"s-observe-tool-host-path",children:Ke(l,40)})]})}case"agent":return t.jsx("span",{className:"s-observe-tool-agent-name",children:r?n:s.tool??"agent"});default:return t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"s-observe-tool-cmd-name",children:s.tool}),r?t.jsxs(t.Fragment,{children:[" ",t.jsx("span",{className:"s-observe-tool-cmd-arg",children:n})]}):null]})}}function Gt({event:e,laneMode:s=!1,simple:n=!1,wallLabel:a,wallTitle:r}){const[o,l]=h.useState(!1),u=It(e.tool),c=s?At[u]:gt[Rt(e.tool)]??"▸",f=s&&u==="bash",p=f?cs("bash",e.arg):"",y=!!p&&!ls(p)&&!p.startsWith("{")&&!p.startsWith("["),m=f&&!n,i=y?je(p).spans.find(k=>k.tier==="prog")?.text??p:"",x=Pt(e)??e.arg?.trim()??"",A=typeof e.result?.outcome=="string"?e.result.outcome.trim():typeof e.result?.outcome=="number"?String(e.result.outcome):void 0,D=s?void 0:e.stream?.[0]?.trim()||void 0,L=!!(A&&A!=="success"),B=!!(L||e.diff||e.stream),R=!s&&(B||ke(x,120,2)),_=!R||o,W=!s&&R&&!o&&e.stream?Ve(e.stream.join(`
|
|
10
|
+
`),180,2):null;return t.jsxs("div",{className:`s-observe-tool s-observe-block${s?` s-observe-tool--lane s-observe-tool--fam-${u}`:""}${s&&n?" s-observe-tool--simple":""}`,children:[t.jsxs("div",{className:`s-observe-tool-header${B&&!s?" s-observe-tool-header--has-body":""}`,children:[(!f||n)&&t.jsx("span",{className:"s-observe-tool-glyph",children:c}),t.jsxs("span",{className:"s-observe-tool-cmd",title:s&&!m?f&&y?p:`${e.tool??""} ${x}`.trim()||void 0:void 0,children:[m?t.jsx(zt,{command:y?p:"",title:y?p:void 0,outputPreview:D}):f&&n?t.jsx("span",{className:"s-observe-tool-cmd-name",children:i||"shell"}):s?t.jsx(Ht,{family:u,event:e}):t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"s-observe-tool-cmd-name",children:e.tool}),x?t.jsxs(t.Fragment,{children:[" ",t.jsx("span",{className:"s-observe-tool-cmd-arg",children:x})]}):null]}),A==="success"&&t.jsx("span",{className:"s-observe-tool-outcome s-observe-tool-outcome--success",children:"ok"}),!s&&e.diff&&t.jsxs("span",{className:"s-observe-tool-diff-inline","aria-label":`${e.diff.add} additions, ${e.diff.del} deletions`,children:[t.jsxs("span",{className:"s-observe-tool-diff-add",children:["+",e.diff.add]}),t.jsxs("span",{className:"s-observe-tool-diff-del",children:["−",e.diff.del]})]})]}),R&&t.jsx(rs,{expanded:o,onToggle:()=>l(k=>!k),label:e.stream?"output":"details"})]}),W&&t.jsx("pre",{className:"s-observe-tool-stream-preview",children:W}),L&&(s||_)&&e.result&&t.jsx("div",{className:"s-observe-tool-result",children:Object.entries(e.result).map(([k,T])=>`${k}: ${T}`).join(" · ")}),!s&&e.diff&&_&&t.jsxs("div",{className:"s-observe-tool-diff",children:[t.jsxs("div",{className:"s-observe-tool-diff-stats",children:[t.jsxs("span",{className:"s-observe-tool-diff-add",children:["+",e.diff.add]}),e.diff.del>0&&t.jsxs(t.Fragment,{children:[" ",t.jsxs("span",{className:"s-observe-tool-diff-del",children:["−",e.diff.del]})]})]}),t.jsx(Et,{preview:e.diff.preview})]}),!s&&e.stream&&_&&t.jsx("pre",{className:"s-observe-tool-stream",children:e.stream.join(`
|
|
11
|
+
`)}),!s&&t.jsx(K,{text:$t(e),label:"Copy tool call"})]})}function qt({event:e,laneMode:s=!1,operatorName:n="you",wallLabel:a,wallTitle:r}){const o=Ps(e),l=o.preview===o.title?"":o.preview,u=(n.trim()[0]??"y").toUpperCase();return t.jsxs("div",{className:`s-observe-ask s-observe-block${s?" s-observe-ask--lane":""}`,children:[s?t.jsxs("div",{className:"s-observe-ask-head",children:[t.jsx("span",{className:"s-observe-ask-avatar",style:{background:Os(n)},"aria-hidden":"true",children:u}),t.jsx("span",{className:"s-observe-ask-author",children:n}),a?t.jsx("span",{className:"s-observe-ask-time",title:r,children:a}):null]}):t.jsx("div",{className:"s-observe-ask-label",children:o.label}),o.contextTags.length>0&&t.jsx("div",{className:"s-observe-ask-tags","aria-label":"Attached context",children:o.contextTags.map(c=>t.jsxs("span",{className:"s-observe-ask-tag",title:c.raw,children:[t.jsx(Zs,{size:10,strokeWidth:2,"aria-hidden":"true"}),t.jsx("span",{className:"s-observe-ask-tag-name",children:c.name}),c.detail?t.jsx("span",{className:"s-observe-ask-tag-detail",children:c.detail}):null]},c.name))}),t.jsx("div",{className:"s-observe-ask-title",children:o.title}),l?t.jsx(os,{text:l,className:"s-observe-ask-text",laneMode:s,live:e.live,renderCollapsed:c=>Je(c),renderExpanded:c=>t.jsx(Xe,{text:c})}):e.live?t.jsx("span",{className:"s-observe-cursor"}):null,o.answer&&(!s||ke(o.answer.text))&&t.jsxs("div",{className:"s-observe-ask-answer",children:[t.jsxs("span",{className:"s-observe-ask-answer-meta",children:["↳ ",o.answer.label]}),t.jsx("div",{className:"s-observe-ask-answer-text",children:o.answer.text})]}),!s&&t.jsx(K,{text:o.copyText,label:"Copy request"})]})}function Ut(e){const s=e.to?.trim();return s?s==="human"?"→ you":`→ ${s}`:null}function us(e){return e.kind==="message"&&(e.text??"").trim().toLowerCase()==="[thinking]"}function Vt({event:e,laneMode:s=!1}){const n=e.text??"",a=s&&us(e),r=a?"Thinking...":n,o=a?"Agent thinking":Ut(e);return t.jsxs("div",{className:["s-observe-block",s&&"s-observe-message--lane",a&&"s-observe-message--thinking",e.live&&"s-observe-message--streaming"].filter(Boolean).join(" "),"aria-busy":e.live||void 0,children:[o?t.jsx("div",{className:"s-observe-message-label",children:o}):null,t.jsx(os,{text:r,className:"s-observe-message-text",laneMode:s,live:e.live,renderCollapsed:l=>Je(l),renderExpanded:l=>t.jsx(Xe,{text:l})}),!s&&t.jsx(K,{text:n,label:"Copy message"})]})}function Kt({summary:e,expanded:s=!1,onToggle:n}){const a=e.totalCount===1?"technical event":"technical events",r=t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:"s-observe-tech-summary-count",children:[e.totalCount," ",a]}),e.labels.length>0?t.jsx("span",{className:"s-observe-tech-summary-detail",children:e.labels.join(" · ")}):null,n?s?t.jsx(Ze,{size:12,strokeWidth:1.8,className:"s-observe-tech-summary-chevron","aria-hidden":!0}):t.jsx(Qe,{size:12,strokeWidth:1.8,className:"s-observe-tech-summary-chevron","aria-hidden":!0}):null]});return n?t.jsx("button",{type:"button",className:`s-observe-tech-summary s-observe-tech-summary--toggle s-observe-block s-observe-block--inline${s?" is-expanded":""}`,onClick:o=>{o.stopPropagation(),n()},"aria-expanded":s,"aria-label":s?`Collapse ${e.totalCount} ${a}`:`Expand ${e.totalCount} ${a}`,children:r}):t.jsx("div",{className:"s-observe-tech-summary s-observe-block s-observe-block--inline",children:r})}function Jt({collapseTechnicalEvents:e,onChange:s}){if(!s)return null;const n=e?"Concise":"Details",a=e?"Show detailed trace events":"Show concise trace summaries",r=e?Vs:Ks;return t.jsxs("label",{className:`s-observe-lane-trace-mode${e?" s-observe-lane-trace-mode--concise":" s-observe-lane-trace-mode--details"}`,title:a,children:[t.jsx("input",{type:"checkbox",checked:e,onChange:o=>s(o.currentTarget.checked),"aria-label":a}),t.jsx(r,{size:12,strokeWidth:1.8,"aria-hidden":"true"}),t.jsx("span",{children:n})]})}function Yt(e,s){return e?.trim()?s?!/^[a-z0-9._-]+ · [a-z0-9._-]+$/i.test(e.trim()):!0:!1}const Xt={turn_ended:"Turn complete",turn_started:"Turn started"};function Zt(e){const s=e.trim(),a=s.match(/^\[(.+)\]$/)?.[1]??s;return Xt[a]??a.replace(/_/g," ")}function Qt({turn:e,model:s}){return t.jsxs("div",{className:"s-observe-grok-turn s-observe-block s-observe-block--inline",children:[t.jsxs("span",{className:"s-observe-grok-turn-num",children:["turn ",e]}),s?t.jsx("span",{className:"s-observe-grok-turn-model",children:s}):null]})}function en({tool:e,decision:s}){return t.jsxs("div",{className:"s-observe-grok-permission s-observe-block s-observe-block--inline",children:[t.jsx("span",{className:`s-observe-grok-permission-decision is-${s}`,children:s}),t.jsx("span",{className:"s-observe-grok-permission-tool",children:e})]})}function sn({phase:e}){return t.jsx("div",{className:"s-observe-grok-phase s-observe-block s-observe-block--inline",children:t.jsx("span",{className:"s-observe-grok-phase-label",children:ys(e)})})}function tn({event:e,laneMode:s=!1}){if(s){const n=Ue(e.text??"");return n?.kind==="turn"&&typeof n.turn=="number"?t.jsx(Qt,{turn:n.turn,model:n.model}):t.jsx("div",{className:"s-observe-note s-observe-block s-observe-block--inline s-observe-note--lane",children:t.jsx("span",{className:"s-observe-note-text",children:Zt(e.text)})})}return t.jsxs("div",{className:"s-observe-note s-observe-block s-observe-block--inline",children:[t.jsx("span",{className:"s-observe-note-icon","aria-hidden":"true",children:"✓"}),t.jsx("span",{className:"s-observe-note-text",children:e.text}),t.jsx(K,{text:e.text??"",label:"Copy note"})]})}function nn({event:e,laneMode:s=!1}){const n=s?Ue(e.text??""):null;if(n?.kind==="permission"&&n.tool&&n.decision)return t.jsx(en,{tool:n.tool,decision:n.decision});if(n?.kind==="phase"&&n.phase)return t.jsx(sn,{phase:n.phase});const a=Yt(e.detail,s),r=a&&e.detail?`${e.text}
|
|
12
|
+
${e.detail}`:e.text??"";return t.jsxs("div",{className:`s-observe-system s-observe-block${s?" s-observe-system--lane":""}`,children:[t.jsxs("div",{className:"s-observe-system-line",children:[!s&&t.jsx("span",{className:"s-observe-system-arrow","aria-hidden":"true",children:"▸ "}),t.jsx("span",{className:"s-observe-system-text",children:e.text})]}),a&&e.detail&&t.jsx("div",{className:"s-observe-system-detail",children:e.detail}),t.jsx(K,{text:r,label:"Copy system event"})]})}const an={think:"think",tool:"tool",ask:"ask",message:"message",note:"note",system:"system",boot:"boot"};function rn(e){const s=ks(e);return s||(e.kind==="tool"?e.tool==="res"?"result":e.tool?.trim()||"tool":an[e.kind]??e.kind)}function He(e){return!!e?.closest("button, a, input, textarea, select, [role='slider'], [contenteditable='true']")}function on({event:e,prevT:s,prevWallMs:n,laneMode:a=!1,entering:r=!1,repeatCount:o=1,sessionStartMs:l,nowMs:u=Date.now(),preferWallAge:c=!1,highlighted:f=!1,focusAnchor:p=!1,simpleTool:y=!1,stackedTool:m=!1,laneGutter:i="time",laneOperatorName:d,onLaneEventSelect:x,laneToolHover:A,hoverPreviewActive:D=!1,technicalSummary:L,technicalExpanded:B=!1,onTechnicalToggle:R}){const _=e.t-s,W=L?"var(--dim)":ns[e.kind]??"var(--dim)",b=a?wt(e,l,u,c):Ct(e,l),k=he(e,l),T=c&&typeof n=="number"&&k!==null?Rs(k-n):null,v=!c&&_>15?`${Nt(_)} gap`:null,w=T??v,g=a&&!!x&&!L,N=["s-observe-row",`s-observe-row--kind-${e.kind}`,r?"s-observe-row--enter":"",g?"s-observe-row--selectable":"",f?"s-observe-row--highlighted":"",p?"s-observe-row--focus-anchor":"",y?"s-observe-row--tool-simple":"",m?"s-observe-row--tool-stacked":"",D?"s-observe-row--hover-preview":"",L?"s-observe-row--tech-summary":""].filter(Boolean).join(" "),S=t.jsxs(t.Fragment,{children:[w?t.jsx("div",{className:"s-observe-row-gap",children:w}):null,t.jsxs("div",{className:"s-observe-row-time",title:b.title,children:[i==="label-time"&&!m?t.jsx("span",{className:"s-observe-row-kind",children:rn(e)}):null,t.jsx("span",{className:"s-observe-row-clock",children:b.label}),o>1&&t.jsxs("span",{className:"s-observe-row-repeat",title:`${o} similar events merged`,children:["×",o]})]}),t.jsx("span",{className:"s-observe-row-bead",style:{background:W}}),L?t.jsx(Kt,{summary:L,expanded:B,onToggle:R}):t.jsxs(t.Fragment,{children:[e.kind==="think"&&t.jsx(Lt,{event:e,laneMode:a}),e.kind==="tool"&&t.jsx(Gt,{event:e,laneMode:a,simple:y,wallLabel:y?b.label:void 0,wallTitle:y?b.title:void 0}),e.kind==="ask"&&t.jsx(qt,{event:e,laneMode:a,operatorName:d,wallLabel:a?b.label:void 0,wallTitle:a?b.title:void 0}),e.kind==="message"&&t.jsx(Vt,{event:e,laneMode:a}),e.kind==="note"&&t.jsx(tn,{event:e,laneMode:a}),(e.kind==="system"||e.kind==="boot")&&t.jsx(nn,{event:e,laneMode:a})]})]}),M=a&&e.kind==="tool"&&A?A(e,{wallLabel:b.label,wallTitle:b.title,sessionOffset:ws(e.t)}):null,E=M?t.jsx("div",{ref:M.ref,className:"s-observe-row-hover-target",onMouseEnter:M.onMouseEnter,onMouseLeave:M.onMouseLeave,onFocus:M.onFocus,onBlur:M.onBlur,children:S}):S;return t.jsx("div",{className:N,"data-event-id":e.id,onClick:g?$=>{He($.target)||x?.(e)}:void 0,onKeyDown:g?$=>{$.key!=="Enter"&&$.key!==" "||He($.target)||($.preventDefault(),x?.(e))}:void 0,role:g?"button":void 0,tabIndex:g?0:void 0,"aria-label":g?e.kind==="tool"?"Open command detail at this step":"Open session detail at this step":void 0,children:E})}function ln(e,s){if(!e)return;const n=e.closest(".s-observe-main");if(n){const a=n.scrollHeight-n.clientHeight;n.scrollTo({top:a,left:n.scrollLeft,behavior:s});return}e.scrollIntoView({behavior:s,block:"end",inline:"nearest"})}function cn({events:e,followEnd:s,laneMode:n=!1,sessionStartMs:a,nowMs:r=Date.now(),preferWallAge:o=!1,focusEventId:l,inlineFocusEventId:u,inlineFocusContent:c,onLaneEventSelect:f,laneGutter:p="time",richSimpleTools:y=!1,collapseTechnicalEvents:m=!1,laneOperatorName:i}){const d=h.useRef(null),x=h.useRef(s),A=h.useRef(new Set),D=h.useRef(!1),[L,B]=h.useState(()=>new Set),[R,_]=h.useState(()=>new Set),W=h.useCallback(v=>{_(w=>{const g=new Set(w);return g.has(v)?g.delete(v):g.add(v),g})},[]);h.useEffect(()=>{m||_(new Set)},[m]);const b=h.useMemo(()=>{const v=n?bt(e):e.map(g=>({event:g,repeatCount:1}));if(!n)return v;const w=v.filter(g=>g.event.live||!us(g.event));return m?ft(w):w},[e,n,m]);h.useEffect(()=>{if(!n){D.current=!0;return}const v=A.current;if(!D.current){for(const S of b)v.add(S.event.id);D.current=!0;return}const w=[];for(const S of b)v.has(S.event.id)||(v.add(S.event.id),w.push(S.event.id));if(w.length===0)return;const g=new Set(w);B(g);const N=window.setTimeout(()=>{B(new Set)},380);return()=>window.clearTimeout(N)},[b,s,n]),h.useLayoutEffect(()=>{if(!s){x.current=!1;return}const v=!x.current;x.current=!0,ln(d.current,n||v?"instant":"smooth")},[b.length,s,n]);const k=Cs(n),T=(v,w,g,N={})=>{const S=g?.event??null,M=S?he(S,a):null,E=n&&!v.technicalSummary&&!y&&Fe(v.event),$=E&&S!=null&&!g?.technicalSummary&&Fe(S),O=!N.suppressInlineFocus&&u===v.event.id&&!!c,j=t.jsx(on,{event:v.event,prevT:S?.t??0,prevWallMs:M,laneMode:n,simpleTool:E,stackedTool:$,laneGutter:p,entering:n&&L.has(v.event.id),repeatCount:v.repeatCount,sessionStartMs:a,nowMs:r,preferWallAge:o,highlighted:!n&&l===v.event.id,focusAnchor:O,laneOperatorName:i,onLaneEventSelect:f,laneToolHover:n?k.bind:void 0,hoverPreviewActive:n&&k.hoveredEventId===v.event.id,technicalSummary:v.technicalSummary,technicalExpanded:N.technicalExpanded,onTechnicalToggle:N.onTechnicalToggle});return t.jsxs("div",{className:`s-observe-focus-group${O?" s-observe-focus-group--active":""}`,"data-focus-group":O?"true":void 0,children:[j,O?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"s-observe-focus-connector","aria-hidden":!0}),t.jsx("div",{className:"s-observe-focus-detail",children:c})]}):null]},`${v.event.id}:${v.repeatCount}:${w}${N.keySuffix??""}`)};return t.jsxs("div",{className:"s-observe-stream",children:[t.jsx("div",{className:"s-observe-spine"}),b.map((v,w)=>{const g=w>0?b[w-1]:null,N=v.technicalSourceRows,S=!!(v.technicalSummary&&N&&N.length>0),M=S&&R.has(v.event.id);return S&&M?t.jsxs("div",{className:"s-observe-tech-rollup s-observe-tech-rollup--expanded",children:[T(v,w,g,{technicalExpanded:!0,onTechnicalToggle:()=>W(v.event.id),suppressInlineFocus:!0}),t.jsx("div",{className:"s-observe-tech-rollup-details",children:N.map((E,$)=>{const O=$>0?N[$-1]:null;return T(E,$,O,{keySuffix:`:rollup:${v.event.id}:detail`,suppressInlineFocus:!0})})})]},`${v.event.id}:${v.repeatCount}:${w}:rollup`):T(v,w,g,{onTechnicalToggle:S?()=>W(v.event.id):void 0})}),t.jsx("div",{ref:d}),k.card]})}function un({data:e,cursor:s}){const r=e.length;if(r<2)return null;const o=276/(r-1),l=e.map((c,f)=>`${f===0?"M":"L"} ${(f*o).toFixed(1)} ${((1-c)*44).toFixed(1)}`).join(" "),u=s*276;return t.jsxs("svg",{viewBox:"0 0 276 44",style:{width:"100%",height:44,display:"block"},children:[t.jsx("defs",{children:t.jsxs("linearGradient",{id:"observeCtxFill",x1:"0",y1:"0",x2:"0",y2:"1",children:[t.jsx("stop",{offset:"0%",stopColor:"var(--accent)",stopOpacity:.25}),t.jsx("stop",{offset:"100%",stopColor:"var(--accent)",stopOpacity:0})]})}),t.jsx("path",{d:`${l} L 276 44 L 0 44 Z`,fill:"url(#observeCtxFill)"}),t.jsx("path",{d:l,fill:"none",stroke:"var(--accent)",strokeWidth:1.2}),t.jsx("line",{x1:u,y1:0,x2:u,y2:44,stroke:"var(--accent)",strokeWidth:1,opacity:.6,strokeDasharray:"2 3"})]})}function dn({state:e}){const s=e==="created"?"var(--green)":e==="modified"?"var(--accent)":"var(--dim)",n=e==="created"?"+":e==="modified"?"~":"◎";return t.jsx("span",{className:"s-observe-file-glyph",style:{background:"color-mix(in srgb, var(--bg) 70%, black)",border:`1px solid color-mix(in srgb, ${s} 40%, var(--border))`,color:s},children:n})}function H({label:e,value:s,detail:n}){const a=s==="0"||s==="—"||s==="";return t.jsxs("div",{className:`s-observe-stat${a?" s-observe-stat--quiet":""}`,children:[t.jsx("div",{className:"s-observe-stat-value",children:s}),t.jsx("div",{className:"s-observe-stat-label",children:e}),n&&t.jsx("div",{className:"s-observe-stat-detail",children:n})]})}function pe({children:e="Not captured for this session"}){return t.jsx("div",{className:"s-observe-empty",children:e})}function Te({path:e,basePath:s,agentId:n,sessionId:a,className:r,children:o}){const{openFilePreview:l}=Ne(),u=e.startsWith("/")||e.startsWith("~/")?e:s?`${s.replace(/\/$/,"")}/${e}`:e;return t.jsxs("span",{className:"s-observe-path-link-group",children:[t.jsx("button",{type:"button",className:r,title:`Preview ${e} in Scout`,onClick:()=>l(u),children:o}),t.jsx("button",{type:"button",className:"s-observe-path-link-external",title:`Reveal ${e} in OS`,"aria-label":"Reveal in OS",onClick:()=>Tt({path:e,basePath:s,agentId:n,sessionId:a}),children:t.jsx(Js,{size:11,strokeWidth:1.6})})]})}function mn({path:e,basePath:s,agentId:n,sessionId:a}){return t.jsxs("div",{className:"s-observe-source",children:[t.jsx("span",{className:"s-observe-source-label",children:"Source"}),t.jsx(Te,{path:e,basePath:s,agentId:n,sessionId:a,className:"s-observe-source-link",children:ge(e)})]})}function xe({rows:e,agentId:s,sessionId:n}){return e.length===0?null:t.jsx("div",{className:"s-observe-detail-list",children:e.map(a=>{const r=`s-observe-detail-value s-observe-detail-value--${a.tone??"default"}${a.wrap?" s-observe-detail-value--wrap":""}`,o=a.display??a.value;return t.jsxs("div",{className:"s-observe-detail-row",children:[t.jsx("div",{className:"s-observe-detail-label",children:a.label}),t.jsxs("div",{className:"s-observe-detail-value-wrap",children:[a.actionPath?t.jsx(Te,{path:a.actionPath,basePath:a.actionBasePath,agentId:s,sessionId:n,className:`${r} s-observe-detail-link`,children:o}):t.jsx("div",{className:r,title:a.title??(o!==a.value?a.value:void 0),children:o}),t.jsx(K,{text:a.actionPath??a.value,label:`Copy ${a.label.toLowerCase()}`,className:"s-observe-copy-btn--inline"})]})]},a.label)})})}function hn({events:e,duration:s,cursor:n,onCursor:a,snapTimes:r=[]}){const o=h.useRef(null),l=h.useMemo(()=>vn(e,s,48),[e,s]),u=l.some(m=>m.count>0),c=l.reduce((m,i)=>m+i.count,0),f=u?`${c} message turn anchors. Click the timeline or use arrow keys to snap between turns.`:"Session timeline",p=h.useCallback(m=>{const i=o.current.getBoundingClientRect(),d=m.clientX-i.left,x=Math.max(0,Math.min(s,d/i.width*s));a(Ge(x,s,r))},[s,a,r]),y=h.useCallback(m=>{if(s<=0)return;const i=s*.01,d=s*.05;let x=n;switch(m.key){case"ArrowLeft":x=r.length?bn(n,r):n-(m.shiftKey?d:i);break;case"ArrowRight":x=r.length?ms(n,r,s):n+(m.shiftKey?d:i);break;case"PageDown":x=n-d;break;case"PageUp":x=n+d;break;case"Home":x=0;break;case"End":x=s;break;default:return}m.preventDefault(),a(r.length&&(m.key==="PageDown"||m.key==="PageUp")?Ge(x,s,r):Math.max(0,Math.min(s,x)))},[n,s,a,r]);return t.jsxs("div",{className:"s-observe-track-wrap",title:f,children:[u?t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"s-observe-track-barsHead","aria-hidden":!0,children:[t.jsx("span",{children:"Turns"}),t.jsx("span",{children:c})]}),t.jsx("div",{className:"s-observe-track-bars","aria-hidden":!0,children:l.map(m=>t.jsx("span",{className:"s-observe-track-bar","data-active":m.start<=n||void 0,style:{height:`${pn(m.count,l)}%`}},m.index))})]}):null,t.jsxs("div",{ref:o,className:"s-observe-track",onClick:p,onKeyDown:y,role:"slider",tabIndex:s>0?0:-1,"aria-label":"Session timeline","aria-valuemin":0,"aria-valuemax":s,"aria-valuenow":Math.max(0,Math.min(s,n)),children:[e.map(m=>{const i=m.kind==="tool"?6:m.kind==="think"?4:5;return t.jsx("span",{className:"s-observe-track-tick",style:{left:`${s>0?m.t/s*100:0}%`,top:i===6?-2:-1,height:i,background:ns[m.kind]??"var(--dim)"}},m.id)}),t.jsx("div",{className:"s-observe-track-played",style:{width:`${s>0?n/s*100:0}%`}}),t.jsx("span",{className:"s-observe-track-cursor",style:{left:`${s>0?n/s*100:0}%`}})]})]})}function ds(e){return e.kind==="message"||e.kind==="ask"}function fn(e,s){const n=e.filter(ds).map(a=>Math.max(0,Math.min(s,a.t))).sort((a,r)=>a-r);return Array.from(new Set(n))}function Ge(e,s,n){const a=Math.max(0,Math.min(s,e));if(n.length===0)return a;let r=n[0],o=Math.abs(r-a);for(const l of n){const u=Math.abs(l-a);u<o&&(r=l,o=u)}return r}function ms(e,s,n){return s.find(r=>r>e+.01)??n}function bn(e,s){for(let n=s.length-1;n>=0;n-=1){const a=s[n];if(a<e-.01)return a}return 0}function vn(e,s,n){const a=Math.max(1,s),r=Array.from({length:n},(o,l)=>({index:l,count:0,start:l/n*a}));for(const o of e){if(!ds(o))continue;const l=Math.min(n-1,Math.max(0,Math.floor(o.t/a*n)));r[l].count+=1}return r}function pn(e,s){if(e<=0)return 0;const n=Math.max(1,...s.map(a=>a.count));return Math.max(18,e/n*100)}function xn({events:e,duration:s,cursor:n,mode:a,speed:r,snapTimes:o,onCursor:l,onPlayToggle:u,onSpeedChange:c}){const f=a==="tail"?"Following latest":a==="playing"?"Pause replay":"Play turns";return t.jsxs("div",{className:"s-observe-transport","data-snap":o.length>0||void 0,"data-mode":a,children:[t.jsx("button",{type:"button",className:"s-observe-play-btn","data-state":a,onClick:u,"aria-pressed":a==="tail"||a==="playing","aria-label":f,title:f,children:a==="playing"?"❚❚":"▶"}),t.jsx("button",{type:"button",className:"s-observe-rewind-btn",onClick:()=>{l(0)},"aria-label":"Jump to start",title:"Jump to start",children:"⏮"}),t.jsx(hn,{events:e,duration:s,cursor:n,onCursor:l,snapTimes:o}),t.jsx("div",{className:"s-observe-speed-group",children:[.5,1,2,4].map(p=>t.jsxs("button",{type:"button",className:`s-observe-speed-btn${r===p?" s-observe-speed-btn--active":""}`,onClick:()=>c(p),children:[p,"×"]},p))})]})}function qe(e){return As(e)||"unknown"}function gn(e,s){const n=Be(e),a=Be(s);return n===null||a===null?"0:00":Ye(a-n)||"0:00"}function jn({catalog:e,sessionId:s,agentId:n}){const{navigate:a,route:r}=Ne(),[o,l]=h.useState(!1),u=e.sessions.find(d=>d.id===e.activeSessionId),c=e.sessions.filter(d=>d.id!==e.activeSessionId&&d.endedAt).sort((d,x)=>(x.endedAt??0)-(d.endedAt??0)).slice(0,5),f=e.activeSessionId??s,p=f?f.slice(0,8):null,y=!!(u?.canTakeover&&e.resumeCommand),m=h.useCallback(()=>{!y||!e.resumeCommand||(Fs({command:e.resumeCommand,cwd:e.resumeCwd,agentId:n}).then(()=>{zs(a,{view:"terminal",agentId:n},{returnTo:r})}),l(!0))},[y,e.resumeCommand,e.resumeCwd,a,r,n]),i=h.useCallback(()=>{a({view:"agents-v2",agentId:n,tab:"message"})},[a,n]);return t.jsxs("div",{className:"s-observe-session-header",children:[t.jsx("div",{className:"s-observe-session-active",children:t.jsxs("div",{className:"s-observe-session-row",children:[p&&t.jsx("span",{className:"s-observe-session-id",title:f??void 0,children:p}),u&&t.jsxs("span",{className:"s-observe-session-time",children:["started ",qe(u.startedAt)]}),t.jsx("button",{className:"s-observe-pair-btn",onClick:i,title:"Send messages into the live session without taking the terminal",children:"Pair"}),y&&t.jsx("button",{className:"s-observe-takeover-btn",onClick:m,title:e.resumeCommand??void 0,children:o?"Sent":"Takeover"})]})}),c.length>0&&t.jsxs("div",{className:"s-observe-session-history",children:[t.jsxs("div",{className:"s-observe-session-history-label",children:[e.sessions.length," session",e.sessions.length!==1?"s":""," total"]}),c.map(d=>t.jsxs("div",{className:"s-observe-session-past",children:[t.jsx("span",{className:"s-observe-session-id",children:d.id.slice(0,8)}),t.jsxs("span",{className:"s-observe-session-time",children:[qe(d.startedAt),d.endedAt?` · ${gn(d.startedAt,d.endedAt)}`:""]})]},d.id))]})]})}const hs={events:[{id:"observe:empty",t:0,kind:"system",text:"No session trace is available for this agent yet.",detail:"Waiting for a live session or readable history file."}],files:[],contextUsage:[],live:!1};function fs({data:e=hs,agentId:s,sessionId:n,cursor:a,duration:r,surface:o="embedded",observeSource:l,observeFidelity:u}){const{events:c,files:f}=e,[p,y]=h.useState(null);h.useEffect(()=>{if(!s)return;let j=!1;return ye(`/api/agents/${encodeURIComponent(s)}/session-catalog`).then(V=>{j||y(V)}).catch(()=>{}),()=>{j=!0}},[s]);const m=e.metadata,i=m?.session,d=m?.usage,x=typeof r=="number"&&Number.isFinite(r)&&r>0?r:c.length>0?c[c.length-1].t+30:60,A=typeof a=="number"&&Number.isFinite(a)?a:x,D=c.filter(j=>j.kind==="tool").length,L=c.filter(j=>j.kind==="think").length,B=c.filter(j=>j.kind==="ask").length,R=c.filter(j=>j.kind==="tool"&&j.tool==="read").length,_=c.filter(j=>j.kind==="tool"&&(j.tool==="edit"||j.tool==="write")).length,W=c.length>0?c[c.length-1].t:0,b=typeof d?.contextInputTokens=="number"&&typeof d.contextWindowTokens=="number"&&d.contextWindowTokens>0?Math.max(0,Math.min(100,Math.round(d.contextInputTokens/d.contextWindowTokens*100))):null,k=[{label:"Context input",value:d?.contextInputTokens},{label:"Input",value:d?.inputTokens},{label:"Output",value:d?.outputTokens},{label:"Cache hit",value:d?.cacheReadInputTokens},{label:"Cache write",value:d?.cacheCreationInputTokens},{label:"Total",value:d?.totalTokens},{label:"Reasoning",value:d?.reasoningOutputTokens}].filter(j=>typeof j.value=="number"),T=ve([typeof d?.assistantMessages=="number"?{label:"Assistant msgs",value:te(d.assistantMessages)??"0",tone:"accent"}:null,typeof d?.webSearchRequests=="number"?{label:"Web search",value:te(d.webSearchRequests)??"0"}:null,typeof d?.webFetchRequests=="number"?{label:"Web fetch",value:te(d.webFetchRequests)??"0"}:null,d?.serviceTier?{label:"Service tier",value:d.serviceTier,tone:"good"}:null,d?.speed?{label:"Speed",value:d.speed}:null,d?.planType?{label:"Plan",value:d.planType}:null]),v=ve([typeof d?.contextWindowTokens=="number"?{label:"Model window",value:`${te(d.contextWindowTokens)} tokens`,title:te(d.contextWindowTokens)??void 0,tone:"accent"}:null,b!==null?{label:"Window load",value:`${b}%`,tone:b>=80?"warn":"default"}:null]),w=ve([i?.model?{label:"Model",value:i.model,tone:"accent"}:null,i?.adapterType?{label:"Adapter",value:i.adapterType}:null,i?.gitBranch?{label:"Branch",value:i.gitBranch}:null,i?.cwd?{label:"Workspace",value:i.cwd,display:ge(i.cwd),title:i.cwd,actionPath:i.cwd}:null,i?.entrypoint?{label:"Entrypoint",value:i.entrypoint}:null,i?.cliVersion?{label:"CLI",value:i.cliVersion}:null,i?.permissionMode?{label:"Permissions",value:i.permissionMode}:null,i?.approvalPolicy?{label:"Approval",value:i.approvalPolicy}:null,i?.sandbox?{label:"Sandbox",value:i.sandbox}:null,i?.userType?{label:"User type",value:i.userType}:null,i?.originator?{label:"Originator",value:i.originator}:null,i?.modelProvider?{label:"Provider",value:i.modelProvider}:null,i?.effort?{label:"Effort",value:i.effort}:null,i?.timezone?{label:"Timezone",value:i.timezone}:null,i?.externalSessionId?{label:"External session",value:i.externalSessionId,title:i.externalSessionId}:null,i?.threadId?{label:"Thread",value:i.threadId,title:i.threadId}:null,i?.threadPath?{label:"Thread path",value:i.threadPath,display:ge(i.threadPath),title:i.threadPath,actionPath:i.threadPath,actionBasePath:i.cwd??null}:null,i?.source?{label:"Runtime source",value:i.source}:null]),g=Me(d),N=Me(i),S=l??(e.live?"live":"history"),M=u??"timestamped",E=ts({source:S,fidelity:M,live:e.live,eventCount:c.length}),$=M==="timestamped",O=E.traceEventCount>0;return t.jsxs("aside",{className:`s-observe-rail${o==="context"?" s-observe-rail--context":""}`,children:[t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Evidence"}),t.jsxs("div",{className:"s-observe-evidence-card","data-tone":E.tone,children:[t.jsx("span",{className:"s-observe-evidence-dot","aria-hidden":"true"}),t.jsxs("span",{children:[t.jsx("strong",{children:E.label}),t.jsx("small",{children:E.detail})]})]})]}),p&&p.sessions.length>0&&t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Session"}),t.jsx(jn,{catalog:p,sessionId:n??null,agentId:s})]}),t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Trace stats"}),t.jsxs("div",{className:"s-observe-stats",children:[t.jsx(H,{label:"Turns",value:U(O?i?.turnCount:void 0)}),t.jsx(H,{label:"Tools",value:U(O?D:void 0)}),t.jsx(H,{label:"Thinks",value:U(O?L:void 0)}),t.jsx(H,{label:"Requests",value:U(O?B:void 0)}),t.jsx(H,{label:"Reads",value:U(O?R:void 0)}),t.jsx(H,{label:"Edits",value:U(O?_:void 0)}),t.jsx(H,{label:"Files",value:U(O?f.length:void 0)}),t.jsx(H,{label:"Window",value:$&&O?St(W):"—"})]})]}),t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Interacted agents"}),t.jsx(Hs,{topology:m?.topology??null,sessionId:n??m?.session?.externalSessionId??null,size:"rail",maxAgents:4})]}),t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Context window"}),t.jsx(xe,{rows:v,agentId:s??null,sessionId:n??null}),b!==null?t.jsxs(t.Fragment,{children:[t.jsx(un,{data:[b/100,b/100],cursor:A/x}),t.jsx("div",{className:"s-observe-ctx-detail",children:"Meter uses latest context input divided by the model window."})]}):v.length===0?t.jsx(pe,{}):t.jsx("div",{className:"s-observe-ctx-detail",children:"No derived load trace captured."})]}),t.jsxs("div",{children:[t.jsxs("div",{className:"s-observe-rail-label",children:["Files touched · ",f.length]}),t.jsx("div",{className:"s-observe-files",children:f.map(j=>t.jsxs("div",{className:`s-observe-file${j.lastT<=A?" s-observe-file--visible":" s-observe-file--hidden"}`,children:[t.jsx(dn,{state:j.state}),t.jsx(Te,{path:j.path,basePath:i?.cwd??null,agentId:s??null,sessionId:n??null,className:"s-observe-file-path",children:j.path}),t.jsxs("span",{className:"s-observe-file-touches",children:["×",j.touches]})]},j.path))})]}),t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Usage"}),k.length>0&&t.jsx("div",{className:"s-observe-stats s-observe-stats--usage",children:k.map(j=>t.jsx(H,{label:j.label,value:U(j.value)},j.label))}),T.length>0?t.jsx(xe,{rows:T,agentId:s??null,sessionId:n??null}):!g&&k.length===0?t.jsx(pe,{}):null]}),t.jsxs("div",{children:[t.jsx("div",{className:"s-observe-rail-label",children:"Metadata"}),w.length>0?t.jsx(xe,{rows:w,agentId:s??null,sessionId:n??null}):N?null:t.jsx(pe,{})]})]})}function kn({conversationId:e,agentId:s,sessionId:n,invoke:a}){const{navigate:r}=Ne(),[o,l]=h.useState(""),[u,c]=h.useState(!1),[f,p]=h.useState(null),[y,m]=h.useState(null),[i,d]=h.useState(()=>e?.trim()||null),x=h.useRef(null);h.useEffect(()=>{d(e?.trim()||null)},[e]);const A=s?.trim()||null,D=n?.trim()||null,L=!!(A&&D),B=!!(a?.projectPath&&a?.sessionId),R=!!(i||L||B),_=R&&o.trim().length>0&&!u,W=async()=>{const b=o.trim();if(!(!b||u)){if(!i&&!L&&!B){m("No writable session target is attached yet.");return}c(!0),p(null),m(null);try{if(i)await ye("/api/send",{method:"POST",body:JSON.stringify({body:b,conversationId:i,intent:"steer"})}),l(""),p("Sent into this session."),x.current?.focus();else if(L){const T=(await Ms({agentId:A,sessionId:D,instructions:b})).conversationId?.trim();T&&d(T),l(""),p("Sent into this session."),x.current?.focus()}else{const T=(await Ws({projectPath:a.projectPath,sessionId:a.sessionId,...a.harness?{harness:a.harness}:{},...a.model?{model:a.model}:{},...a.reasoningEffort?{reasoningEffort:a.reasoningEffort}:{},instructions:b})).conversationId?.trim();l(""),T?(d(T),p("Session invoked — opening conversation."),r({view:"conversation",conversationId:T})):(p("Session invoked."),x.current?.focus())}}catch(k){m(k instanceof Error?k.message:String(k))}finally{c(!1)}}};return t.jsx("div",{className:"s-observe-compose",children:t.jsx(Gs,{renderWhenEmbedded:!0,density:"panel",value:o,onChange:l,onSend:()=>{W()},sending:u,disabled:!R||u,canSend:_,placeholder:R?!i&&!L&&B?"Message this session to invoke it…":"Write into this session…":"This trace is read-only",textareaRef:x,rows:3,showAttach:R,onAttach:()=>x.current?.focus(),attachTitle:"Add context",attachAriaLabel:"Add context",sendTitle:"Send into this session (Cmd+Enter)",sendAriaLabel:"Send into this session",tools:R?y?t.jsx("span",{className:"s-observe-compose-status s-observe-compose-status--error",children:y}):f?t.jsx("span",{className:"s-observe-compose-status",children:f}):null:t.jsx("span",{className:"s-observe-compose-status s-observe-compose-status--muted",children:"No broker conversation or resumable agent session is attached to this trace."})})})}function yn({data:e,agentId:s,sessionId:n,conversationId:a,observeSource:r,observeFidelity:o,showRail:l=!0,variant:u="default",traceLimit:c,traceWindowMs:f,traceWindowLabel:p,nowMs:y,initialCursorT:m,focusEventId:i,inlineFocusEventId:d,inlineFocusContent:x,onLaneEventSelect:A,surface:D="scout",laneGutter:L,richSimpleTools:B,laneCollapseTechnicalEvents:R,onLaneCollapseTechnicalEventsChange:_,laneOperatorName:W}){const b=u==="lane",k=D==="scope",T=L??(k?"label-time":"time"),v=B??k,w=l&&!k,g=e??hs,{events:N}=g,S=r??(g.live?"live":"history"),E=ts({source:S,fidelity:o??"timestamped",live:g.live,eventCount:N.length}),$=g.metadata?.session?.sessionStart,[O,j]=h.useState(Date.now),V=typeof y=="number"?y:O;h.useEffect(()=>{if(!b||typeof y=="number")return;const C=setInterval(()=>j(Date.now()),1e4);return()=>clearInterval(C)},[b,y]);const P=N.length>0?N[N.length-1].t+30:60,Z=typeof m=="number"?Math.max(0,Math.min(P,m)):null,[re,oe]=h.useState(()=>Z??P),[fe,J]=h.useState(!1),[le,bs]=h.useState(1),[be,Y]=h.useState(Z==null),$e=h.useRef(P),Le=h.useRef(null),Q=h.useMemo(()=>fn(N,P),[N,P]);h.useEffect(()=>{Z!=null&&(oe(Z),Y(!1),J(!1))},[Z,i]),h.useEffect(()=>{oe(C=>{const F=$e.current;$e.current=P;const z=De(C,F);return C>P||z&&be?P:C})},[P,be]),h.useEffect(()=>{if(!fe)return;const C=Q.length>0?Math.max(220,700/le):100,F=setInterval(()=>{oe(z=>{if(Q.length>0){const ue=ms(z,Q,P);return ue>=P?(Y(!0),J(!1),P):ue}const ce=z+le;return ce>=P?(Y(!0),J(!1),P):ce})},C);return()=>clearInterval(F)},[fe,P,Q,le]);const ee=b&&!!(f&&f>0),se=(()=>{let C=N.filter(F=>F.t<=re);if(ee&&f){const F=Ss(C,$,V,f);C=F.length>=Oe?F:C.slice(-Oe)}else b&&c&&c>0&&(C=C.slice(-c));return C})(),X=h.useMemo(()=>{if(!ee||!f)return null;const C=se[0]?.id,F=C===void 0?Ts(N,$,V,f):Math.max(0,N.findIndex(z=>z.id===C));return $s(se,$,V,f,F)},[N,V,$,f,ee,se]);h.useLayoutEffect(()=>{if(b||!i)return;const C=Le.current;if(!C)return;const F=C.querySelector('[data-focus-group="true"]')??C.querySelector(`[data-event-id="${i}"]`),z=F?.closest(".s-observe-main");if(F&&z){const ce=z.getBoundingClientRect(),ue=F.getBoundingClientRect(),js=z.scrollTop+(ue.top-ce.top)-16;z.scrollTo({top:Math.max(0,js),behavior:"instant"});return}F?.scrollIntoView({block:"start",behavior:"instant"})},[i,d,b,se.length]);const ie=De(re,P)&&be,vs=ie?"tail":fe?"playing":"paused",ps=h.useCallback(C=>{Y(!1),J(!1),oe(C)},[]),xs=h.useCallback(()=>{ie?(Y(!1),J(!1)):(Y(!1),J(C=>!C))},[ie]),G=g.metadata?.session,Ee=G?.threadPath??null,Re=n?.trim()||G?.externalSessionId?.trim()||null,Pe=Ds(G?.adapterType),gs=!s&&G?.cwd&&Re&&Pe?{projectPath:G.cwd,sessionId:Re,harness:Pe,model:G.model,reasoningEffort:G.effort}:null;return t.jsxs("div",{ref:Le,className:["s-observe",(!w||b)&&"s-observe--content-only",b&&"s-observe--lane",b&&T==="label-time"&&"s-observe--lane-gutter-label",k&&"s-observe--scope"].filter(Boolean).join(" "),children:[t.jsxs("main",{className:"s-observe-main",children:[!b&&!k&&t.jsxs("div",{className:"s-observe-evidence-banner","data-tone":E.tone,children:[t.jsx("span",{className:"s-observe-evidence-dot","aria-hidden":"true"}),t.jsxs("span",{children:[t.jsx("strong",{children:E.label}),t.jsx("small",{children:E.detail})]})]}),Ee&&!b&&t.jsx(mn,{path:Ee,basePath:G?.cwd??null,agentId:s??null,sessionId:n??null}),!E.receiptOnly&&!k&&ee&&X?t.jsxs("div",{className:"s-observe-lane-trace-meta",children:[t.jsxs("span",{className:"s-observe-lane-trace-meta-leading",children:[t.jsx("span",{className:"s-observe-lane-trace-meta-label",children:"Trace"}),t.jsx(Jt,{collapseTechnicalEvents:!!R,onChange:_})]}),t.jsxs("span",{className:"s-observe-lane-trace-meta-stats",children:[t.jsxs("span",{className:"s-observe-lane-trace-meta-window",children:["last ",p??Ae(f??0)]}),t.jsx("span",{className:"s-observe-lane-trace-meta-sep","aria-hidden":"true",children:"·"}),t.jsxs("span",{children:[X.eventCount," event",X.eventCount===1?"":"s"]}),X.spanMs>0?t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"s-observe-lane-trace-meta-sep","aria-hidden":"true",children:"·"}),t.jsxs("span",{children:[Ae(X.spanMs)," span"]})]}):null,X.truncatedBefore?t.jsx("span",{className:"s-observe-lane-trace-meta-tag",title:"Earlier activity in this window may not be loaded",children:"partial"}):null]})]}):null,E.receiptOnly?t.jsx(Us,{events:N}):t.jsx(cn,{events:se,followEnd:ie,laneMode:b,sessionStartMs:$,nowMs:V,preferWallAge:ee,focusEventId:i,inlineFocusEventId:d,inlineFocusContent:x,onLaneEventSelect:A,laneGutter:T,richSimpleTools:v,collapseTechnicalEvents:b&&!!R,laneOperatorName:W})]}),w&&!b&&t.jsx(fs,{data:g,agentId:s,sessionId:n,cursor:re,duration:P,observeSource:r,observeFidelity:o}),!k&&!b&&t.jsxs("footer",{className:"s-observe-scrubber",children:[E.replayable?t.jsx(xn,{events:N,duration:P,cursor:re,mode:vs,speed:le,snapTimes:Q,onCursor:ps,onPlayToggle:xs,onSpeedChange:bs}):t.jsxs("div",{className:"s-observe-static-evidence",children:[t.jsx("span",{className:"s-observe-evidence-dot","aria-hidden":"true"}),t.jsx("span",{children:E.label}),t.jsx("small",{children:"No timestamped replay is available."})]}),t.jsx(kn,{conversationId:a,agentId:s,sessionId:n,invoke:gs})]})]})}const Qn=Object.freeze(Object.defineProperty({__proto__:null,SessionObserve:yn,SessionObserveContextRail:fs},Symbol.toStringTag,{value:"Module"}));export{yn as S,fs as a,Qn as b,ts as d,Zn as h};
|
package/dist/client/assets/{SessionObserveEvidence-cHdjYOJe.js → SessionObserveEvidence-DopQYDkD.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as s}from"./index-
|
|
1
|
+
import{j as s}from"./index-CZ-05hKz.js";function n(e){return e?e.length>18?`${e.slice(0,8)}...${e.slice(-6)}`:e:"no session"}function l({source:e,fidelity:r,sessionId:t,evidence:i}){return s.jsxs("div",{className:"s-observe-embed-status","data-tone":i.tone,children:[s.jsx("span",{className:"s-observe-embed-status-source",children:e}),s.jsx("span",{children:r}),s.jsx("span",{title:t??void 0,children:n(t)}),s.jsx("span",{children:i.eventCountLabel}),i.tone==="live"&&s.jsx("span",{className:"s-observe-embed-status-live",children:"Live"})]})}function o({events:e}){return s.jsxs("section",{className:"s-observe-receipt-view","aria-label":"Session setup receipts",children:[s.jsxs("div",{className:"s-observe-receipt-view-copy",children:[s.jsx("strong",{children:"No observed trace activity"}),s.jsx("span",{children:"These broker lifecycle records confirm setup only."})]}),e.length>0&&s.jsx("ul",{className:"s-observe-receipt-list",children:e.map(r=>s.jsxs("li",{className:"s-observe-receipt",children:[s.jsx("span",{children:r.text}),r.detail&&s.jsx("small",{children:r.detail})]},r.id))})]})}export{l as SessionObserveEmbedStatus,o as SessionObserveReceiptView};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as c,j as e}from"./index-CZ-05hKz.js";import{a as j}from"./api-Co9aQ2Jw.js";import{u as g}from"./sse-CiOSzE5n.js";import{u as k}from"./tail-events-BMQmSx1n.js";import{B as N}from"./BackToPicker-4JaeRvDm.js";import{ConversationScreen as S}from"./ConversationScreen-BNULZAp2.js";import{S as I,a as y}from"./SessionObserve-Dsd0j05N.js";/* empty css */import"./perf-PX8Rx0EP.js";import"./index-BWHgHrtv.js";import"./router-DJj2WbDg.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-BQ6t92tJ.js";import"./NewChatComposer-hlWT-nbR.js";import"./text-CnZ0e1-V.js";import"./scout-voice-BhPzrc6P.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-BiohlpM3.js";import"./createLucideIcon-DXpqZP7I.js";import"./conversation-model-CwF6Y9gx.js";import"./colors-BtO5_zlx.js";import"./time-Dhsh_2EG.js";import"./index-BVlMw8x_.js";import"./HarnessMark-D5CA5uSp.js";import"./NewChatOrigin-DdpzE4kz.js";import"./keyboard-nav-DFhAJkW3.js";import"./x-e3h2hDsp.js";import"./chevron-down-Mp9mu_yd.js";import"./search-D1tJSAWe.js";import"./file-text-KijGBnME.js";import"./ConversationComposer-2HjbGPL9.js";import"./AgentAvatar-CYhf6twS.js";import"./Provider-B2xuo3rf.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BJIamJOH.js";import"./DocumentFocusViewer-DZVhS7as.js";import"./TextDocumentSurface-CKQP-cBT.js";import"./chevron-right-CzH-TaSF.js";import"./code-xml-Jtxsp5d1.js";import"./arrow-left-CghA0kTw.js";import"./arrow-right-iJFv3jNh.js";import"./chunk-HRAB3GC3-swV8PA2k.js";import"./SpriteAvatar-Bs68ZENy.js";import"./CrewAvatar-CTIuxp4G.js";import"./zap-nMcjPoWB.js";import"./message-markup-RkfmDfME.js";import"./mentions-CcPFMbmZ.js";import"./AgentDetailCard-UqPNpcvB.js";import"./AgentLiveActions-BwuzOE8h.js";import"./terminal-takeover-DANQfTcy.js";import"./openContent-C6XO6kr5.js";import"./eye-CpfyvdLq.js";import"./terminal-yN9xN-h9.js";import"./message-visibility-DwxgcgYK.js";import"./operator-attention-RqieiSY8.js";import"./sessionRead-CvFz2RHv.js";import"./clipboard-e3fSpeo7.js";import"./types-B0PlfpKc.js";/* empty css */import"./ConversationHeader-C8vfXaTF.js";import"./AstronautSuit-Ckx7lu7G.js";import"./ConversationFeedRows-C6wUqJrx.js";import"./ConversationPanels-CNCIbpqU.js";import"./tail-display-DcliDVkW.js";import"./lane-edit-display-C_Aujldz.js";import"./use-reduced-motion-CKkhq9c5.js";import"./proxy-DnLpZIi9.js";import"./activity-Bj3Hnbj3.js";import"./message-circle-B2ddzBrX.js";import"./ConversationStatus-DZuyKsWN.js";import"./check-C18YQC90.js";import"./sparkles-Dy8p5xN8.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-D_DMlBeT.js";import"./lane-observe-vfyACHi0.js";import"./lane-ask-display-B6iCAVcd.js";import"./ObservedTopologyPanel-CdGUXxGR.js";import"./ObserveTextFlow-BSEtYTxU.js";import"./SessionObserveEvidence-DopQYDkD.js";import"./wrench-YcXMlsh2.js";import"./external-link-Ckiyzjwo.js";function R(s,o){return s.sessionRef===o?s:{sessionRef:o,lookup:null,loading:!0,error:null}}function w(s,o){let i=0;return{async request(t){const n=++i;try{const r=await s(t);if(n!==i)return;o({sessionRef:t,result:{ok:!0,lookup:r}})}catch(r){if(n!==i)return;o({sessionRef:t,result:{ok:!1,error:r}})}},invalidate(){i+=1}}}function u(s){const o=s?.trim()??"",i=o.split(/[\\/]/).filter(Boolean).at(-1)??o;return i.endsWith(".jsonl")?i.slice(0,-6):i}function T(s){return s.startsWith("native:process:")}function x(s){const[o,i]=c.useState(()=>({sessionRef:s,lookup:null,loading:!0,error:null})),t=c.useRef(null),n=c.useRef(null);n.current||(n.current=w(m=>j(`/api/session-ref/${encodeURIComponent(m)}`),({sessionRef:m,result:a})=>{if(a.ok){i({sessionRef:m,lookup:a.lookup,loading:!1,error:null});return}i({sessionRef:m,lookup:null,loading:!1,error:a.error instanceof Error?a.error.message:String(a.error)})}));const r=c.useCallback(async()=>{await n.current.request(s)},[s]);c.useEffect(()=>(i({sessionRef:s,lookup:null,loading:!0,error:null}),r(),()=>{n.current?.invalidate(),t.current&&(clearTimeout(t.current),t.current=null)}),[r,s]);const{lookup:l,loading:p,error:d}=R(o,s),v=c.useCallback(()=>{t.current&&clearTimeout(t.current),t.current=setTimeout(()=>{t.current=null,r()},150)},[r]);return g(v),k(m=>{const a=u(m.sessionId),b=u(s),f=l?.kind==="observe"?u(l.observe.sessionId??l.observe.refId):"",h=l?.kind==="observe"?u(l.observe.data.metadata?.session?.externalSessionId):"";a!==b&&(!f||a!==f)&&(!h||a!==h)||v()}),c.useEffect(()=>()=>{t.current&&clearTimeout(t.current)},[]),{lookup:l,loading:p,error:d}}function ir({sessionRef:s}){const{lookup:o,loading:i,error:t}=x(s);return o?.kind==="observe"?e.jsx(y,{data:o.observe.data,agentId:o.observe.agentId??o.session?.agentId??void 0,sessionId:o.observe.sessionId??o.observe.refId,surface:"context",observeSource:o.observe.source,observeFidelity:o.observe.fidelity}):e.jsx("aside",{className:"s-observe-rail s-observe-rail--context",children:e.jsxs("div",{children:[e.jsx("div",{className:"s-observe-rail-label",children:o?.kind==="conversation"?"Conversation":"Session context"}),e.jsx("div",{className:"s-observe-empty",children:i?"Resolving session reference":t?"Session context unavailable":"No observe context captured for this session"})]})})}function tr({sessionRef:s,navigate:o,renderBeforeContent:i,showObserveRail:t=!0,onLookup:n}){const{lookup:r,loading:l,error:p}=x(s);if(c.useEffect(()=>{r&&n?.(r)},[r,n]),r?.kind==="conversation")return e.jsxs(e.Fragment,{children:[i?.(r),e.jsx(S,{conversationId:r.conversationId,navigate:o})]});if(r?.kind==="observe")return e.jsxs(e.Fragment,{children:[i?.(r),e.jsx(I,{data:r.observe.data,agentId:r.observe.agentId??r.session?.agentId??void 0,sessionId:r.observe.sessionId??r.observe.refId,conversationId:r.session?.id??null,showRail:t,observeSource:r.observe.source,observeFidelity:r.observe.fidelity})]});if(l)return e.jsx("div",{className:"s-sessions-screen s-inbox-thread-redesign",children:e.jsx("section",{className:"s-thread-overview",children:e.jsxs("div",{className:"s-thread-overview-copy",children:[e.jsxs("div",{className:"s-sessions-header s-thread-overview-heading",children:[e.jsx("h2",{className:"s-page-title",children:"Session"}),e.jsx("span",{className:"s-meta s-tabular",children:s.slice(0,8)})]}),e.jsxs("p",{className:"s-thread-overview-summary s-session-ref-loading",children:[e.jsx("span",{className:"s-session-ref-loading-dot"}),e.jsx("span",{className:"s-session-ref-loading-dot"}),e.jsx("span",{className:"s-session-ref-loading-dot"}),"Resolving session reference"]})]})})});const d=T(s);return e.jsx("div",{className:"s-sessions-screen s-inbox-thread-redesign",children:e.jsx("section",{className:"s-thread-overview",children:e.jsxs("div",{className:"s-thread-overview-copy",children:[e.jsxs("div",{className:"s-sessions-header s-thread-overview-heading",children:[e.jsx("h2",{className:"s-page-title",children:d?"Process trace unavailable":"Session not found"}),e.jsx("span",{className:"s-meta s-tabular",children:s.slice(0,8)})]}),e.jsx("p",{className:"s-thread-overview-summary",children:d?"This is a live process handle, not a transcript session. No replayable session archive is attached yet.":"This session may have ended or the archive is not available on this machine."}),p&&e.jsx("p",{className:"s-session-ref-error-detail",children:p}),e.jsx("div",{className:"s-session-ref-nav-hint",children:e.jsx(N,{slot:"sessions",fallback:{view:"sessions"},navigate:o})})]})})})}export{ir as SessionRefContextRail,tr as SessionRefScreen};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as r}from"./index-CZ-05hKz.js";import{RawSessionsTable as t}from"./RawSessionsTable-AQThi6sm.js";/* empty css */import"./DataTable-6IDhanr5.js";/* empty css */import"./api-Co9aQ2Jw.js";import"./perf-PX8Rx0EP.js";import"./time-Dhsh_2EG.js";import"./tail-events-BMQmSx1n.js";import"./index-BWHgHrtv.js";import"./openContent-C6XO6kr5.js";import"./Provider-B2xuo3rf.js";import"./router-DJj2WbDg.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-BQ6t92tJ.js";import"./sse-CiOSzE5n.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BJIamJOH.js";import"./DocumentFocusViewer-DZVhS7as.js";import"./createLucideIcon-DXpqZP7I.js";import"./TextDocumentSurface-CKQP-cBT.js";import"./file-text-KijGBnME.js";import"./x-e3h2hDsp.js";import"./chevron-right-CzH-TaSF.js";import"./code-xml-Jtxsp5d1.js";import"./arrow-left-CghA0kTw.js";import"./arrow-right-iJFv3jNh.js";import"./scout-voice-BhPzrc6P.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-DFhAJkW3.js";import"./NewChatComposer-hlWT-nbR.js";import"./text-CnZ0e1-V.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-BiohlpM3.js";import"./conversation-model-CwF6Y9gx.js";import"./index-BVlMw8x_.js";import"./HarnessMark-D5CA5uSp.js";import"./NewChatOrigin-DdpzE4kz.js";import"./chevron-down-Mp9mu_yd.js";import"./search-D1tJSAWe.js";import"./chunk-HRAB3GC3-swV8PA2k.js";function Q({navigate:o}){return r.jsx(t,{navigate:o})}export{Q as SessionsScreen};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.s-settings-page{height:100%;min-height:0;overflow:auto;background:var(--bg);color:var(--ink);scrollbar-gutter:stable}.s-settings-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4xl);max-width:1320px;margin:0 auto;padding:var(--space-5xl) var(--space-5xl) var(--space-4xl);border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent)}.s-settings-page-kicker{margin-bottom:var(--space-sm);color:var(--accent);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:650;letter-spacing:var(--tracking-lg);text-transform:uppercase}.s-settings-page-header h1{margin:0;color:var(--ink);font-family:var(--font-accent-title);font-size:clamp(var(--text-4xl),3vw,var(--text-6xl));font-weight:620;letter-spacing:-.025em;line-height:var(--leading-tight)}.s-settings-page-header p{max-width:64ch;margin:var(--space-sm) 0 0;color:var(--muted);font-size:var(--text-md);line-height:var(--leading-normal)}.s-settings-page-save-state{display:inline-flex;align-items:center;gap:var(--space-sm);flex:none;margin-top:var(--space-xl);color:var(--dim);font-family:var(--font-mono);font-size:var(--text-xs)}.s-settings-page-save-state>span{width:6px;height:6px;border-radius:50%;background:var(--green)}.s-settings-page-save-state[data-state=saving]>span{background:var(--accent)}.s-settings-page-save-state[data-state=neutral]>span{background:var(--dim)}.s-settings-page-save-state[data-state=error]{color:var(--red)}.s-settings-page-save-state[data-state=error]>span{background:var(--red)}.s-settings-page-layout{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:start;gap:var(--space-5xl);max-width:1320px;margin:0 auto;padding:var(--space-4xl) var(--space-5xl) var(--space-7xl)}.s-settings-page .s-settings-rail{position:sticky;top:var(--space-4xl);grid-column:auto;grid-row:auto;padding:0;border-right:0;background:transparent}.s-settings-page .s-settings-rail-btn{border-left-width:1px;padding:var(--space-md) var(--space-xl)}.s-settings-page .s-settings-rail-btn:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}.s-settings-page .s-settings-rail-btn--active{background:color-mix(in srgb,var(--accent) 7%,transparent)}.s-settings-page .s-settings-content{grid-column:auto;grid-row:auto;min-width:0;overflow:visible;padding:0 0 var(--space-6xl);scroll-margin-top:var(--space-4xl)}.s-settings-page .s-settings-content:not([data-settings-section=appearance]){max-width:820px}.s-settings-loading,.s-settings-inline-note{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-sm)}.s-settings-theme-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm)}.s-settings-theme-mode,.s-settings-shell-choice,.s-settings-palette-choice,.s-settings-interface-choice,.s-settings-contrast-choice,.s-settings-avatar-size-choice,.s-settings-accent-choice{position:relative;display:flex;min-width:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 88%,var(--bg));color:var(--muted);cursor:pointer;text-align:left;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s cubic-bezier(.2,.8,.2,1)}.s-settings-theme-mode{align-items:center;gap:var(--space-md);min-height:68px;padding:var(--space-lg)}.s-settings-theme-mode:hover,.s-settings-shell-choice:hover,.s-settings-palette-choice:hover,.s-settings-interface-choice:hover,.s-settings-contrast-choice:hover,.s-settings-avatar-size-choice:hover,.s-settings-accent-choice:hover{border-color:color-mix(in srgb,var(--ink) 26%,var(--border));background:color-mix(in srgb,var(--ink) 4%,var(--surface))}.s-settings-theme-mode:focus-visible,.s-settings-shell-choice:focus-visible,.s-settings-palette-choice:focus-visible,.s-settings-interface-choice:focus-visible,.s-settings-contrast-choice:focus-visible,.s-settings-avatar-size-choice:focus-visible,.s-settings-accent-choice:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:none}.s-settings-theme-mode:active,.s-settings-shell-choice:active,.s-settings-palette-choice:active,.s-settings-interface-choice:active,.s-settings-contrast-choice:active,.s-settings-avatar-size-choice:active,.s-settings-accent-choice:active{transform:scale(.985)}.s-settings-theme-mode[data-active],.s-settings-shell-choice[data-active],.s-settings-palette-choice[data-active],.s-settings-interface-choice[data-active],.s-settings-contrast-choice[data-active],.s-settings-avatar-size-choice[data-active],.s-settings-accent-choice[data-active]{border-color:color-mix(in srgb,var(--ink) 58%,var(--border));background:var(--surface);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 20%,transparent);color:var(--ink)}.s-settings-theme-mode>span:not(.s-settings-theme-check){display:flex;flex-direction:column;gap:var(--space-3xs);min-width:0}.s-settings-theme-mode strong{color:var(--ink);font-size:var(--text-md);font-weight:620}.s-settings-theme-mode small{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);line-height:var(--leading-snug)}.s-settings-theme-check{flex:none;margin-left:auto;color:var(--accent)}.s-settings-shell-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.s-settings-shell-choice{display:grid;grid-template-columns:116px minmax(0,1fr);align-items:center;gap:var(--space-lg);min-height:92px;padding:var(--space-md)}.s-settings-shell-sample{position:relative;display:grid;grid-template-columns:18px 34px minmax(0,1fr);grid-template-rows:13px 46px;width:110px;height:61px;overflow:hidden;border:1px solid var(--hud-chrome-border);border-radius:6px;background:var(--hud-bg)}.s-settings-shell-sample>i{display:block;min-width:0}.s-settings-shell-sample [data-part=top]{grid-column:1 / -1;border-bottom:1px solid var(--hud-border);background:color-mix(in srgb,var(--hud-surface) 82%,var(--hud-bg))}.s-settings-shell-sample [data-part=rail]{border-right:1px solid var(--hud-border);background:color-mix(in srgb,var(--hud-surface) 76%,var(--hud-bg))}.s-settings-shell-sample [data-part=list]{display:flex;flex-direction:column;gap:5px;padding:8px 5px;border-right:1px solid var(--hud-border);background:color-mix(in srgb,var(--hud-surface) 90%,var(--hud-bg))}.s-settings-shell-sample [data-part=content]{display:flex;flex-direction:column;gap:6px;padding:10px 7px}.s-settings-shell-sample b{display:block;height:2px;border-radius:999px;background:var(--hud-muted);opacity:.46}.s-settings-shell-sample [data-part=content] b:first-child{width:62%;height:3px;background:var(--hud-ink);opacity:.78}.s-settings-shell-choice[data-shell=slack] .s-settings-shell-sample{grid-template-columns:15px 39px minmax(0,1fr)}.s-settings-shell-choice[data-shell=slack] .s-settings-shell-sample [data-part=top],.s-settings-shell-choice[data-shell=slack] .s-settings-shell-sample [data-part=rail]{background:#451f48}.s-settings-shell-choice[data-shell=slack] .s-settings-shell-sample [data-part=list]{background:#572d5a}.s-settings-appearance-workbench{display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:var(--space-5xl)}.s-settings-appearance-controls,.s-settings-preview-column{min-width:0}.s-settings-appearance-controls{display:flex;flex-direction:column;gap:var(--space-4xl)}.s-settings-palette-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.s-settings-palette-choice{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:var(--space-lg);min-height:98px;padding:var(--space-md)}.s-settings-palette-sample{display:grid;grid-template-columns:18px 32px minmax(0,1fr);gap:4px;height:72px;padding:5px;overflow:hidden;border:1px solid var(--hud-chrome-border);border-radius:var(--hud-radius);background:var(--hud-bg)}.s-settings-palette-rail,.s-settings-palette-list,.s-settings-palette-detail{display:flex;min-width:0;flex-direction:column;gap:4px;padding:5px;border:1px solid var(--hud-border);border-radius:calc(var(--hud-radius) * .72);background:var(--hud-surface)}.s-settings-palette-rail{align-items:center}.s-settings-palette-rail i,.s-settings-palette-list i,.s-settings-palette-detail i{display:block;width:100%;height:4px;border-radius:calc(var(--hud-radius) * .35);background:color-mix(in srgb,var(--hud-ink) 18%,transparent)}.s-settings-palette-rail i[data-active],.s-settings-palette-detail i[data-action]{background:var(--hud-accent)}.s-settings-palette-list i{flex:1;height:auto;border:1px solid var(--hud-border);background:color-mix(in srgb,var(--hud-bg) 62%,var(--hud-surface))}.s-settings-palette-list i[data-selected]{border-color:var(--hud-accent-line);background:var(--hud-accent-soft)}.s-settings-palette-detail i[data-title]{width:58%;height:5px;margin-bottom:2px;background:color-mix(in srgb,var(--hud-ink) 48%,transparent)}.s-settings-palette-detail i[data-action]{width:42%;height:7px;margin-top:auto}.s-settings-choice-copy{display:flex;min-width:0;flex-direction:column;gap:var(--space-3xs)}.s-settings-choice-title{display:flex;align-items:center;gap:var(--space-sm)}.s-settings-choice-title strong{color:var(--ink);font-size:var(--text-md);font-weight:620}.s-settings-choice-title .s-settings-theme-check{margin-left:auto}.s-settings-choice-copy small{color:var(--muted);font-family:var(--font-sans);font-size:var(--text-xs);line-height:var(--leading-snug)}.s-settings-choice-copy>span:last-child:not(.s-settings-choice-title){color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-sm)}.s-settings-interface-grid,.s-settings-contrast-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm)}.s-settings-interface-choice{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:var(--space-md);min-height:82px;padding:var(--space-md)}.s-settings-shape-sample{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--hud-chrome-border);border-radius:var(--hud-radius);background:var(--hud-bg)}.s-settings-shape-sample>i{display:grid;width:28px;height:28px;place-items:center;border:1px solid var(--hud-border);border-radius:calc(var(--hud-radius) * .72);background:var(--hud-surface)}.s-settings-shape-sample>i>i{display:block;width:14px;height:4px;border-radius:calc(var(--hud-radius) * .4);background:var(--hud-accent)}.s-settings-contrast-choice{display:grid;grid-template-columns:30px minmax(0,1fr);gap:0 var(--space-md);align-items:center;min-height:64px;padding:var(--space-md)}.s-settings-contrast-choice strong,.s-settings-contrast-choice small{grid-column:2}.s-settings-contrast-choice strong{align-self:end;color:var(--ink);font-size:var(--text-md);font-weight:620}.s-settings-contrast-choice small{align-self:start;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs)}.s-settings-contrast-lines{grid-row:1 / span 2;display:flex;width:30px;height:36px;flex-direction:column;justify-content:center;gap:5px}.s-settings-contrast-lines i{height:1px;background:var(--ink)}.s-settings-contrast-lines[data-level=soft] i{opacity:.18}.s-settings-contrast-lines[data-level=balanced] i{opacity:.42}.s-settings-contrast-lines[data-level=strong] i{opacity:.78}.s-settings-accent-row{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.s-settings-accent-choice{align-items:center;gap:var(--space-sm);min-height:38px;padding:var(--space-sm) var(--space-md);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs)}.s-settings-accent-choice>svg{margin-left:var(--space-2xs);color:var(--ink)}.s-settings-accent-dot{display:grid;width:16px;height:16px;place-items:center;border:1px solid var(--hud-chrome-border);border-radius:50%;background:var(--hud-bg)}.s-settings-accent-dot i{display:block;width:8px;height:8px;border-radius:50%;background:var(--hud-accent)}.s-settings-avatar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm)}.s-settings-avatar-choice{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-md);min-height:84px;padding:var(--space-md);text-align:left}.s-settings-avatar-preview{display:flex;align-items:center;justify-content:center}.s-settings-avatar-size-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm)}.s-settings-avatar-size-choice{flex-direction:column;align-items:flex-start;gap:var(--space-2xs);padding:var(--space-md)}.s-settings-avatar-size-sample{display:flex;align-items:center;min-height:40px;margin-bottom:var(--space-2xs);gap:0}.s-settings-avatar-size-sample>*+*{margin-left:-6px}.s-settings-avatar-size-choice .s-settings-choice-title{display:flex;align-items:center;gap:var(--space-2xs);color:var(--ink);font-size:var(--text-md);font-weight:620}.s-settings-avatar-size-choice small{color:var(--muted);font-size:var(--text-2xs);line-height:1.35}.s-settings-avatar-size-spec{color:color-mix(in srgb,var(--muted) 78%,transparent);font-family:var(--font-mono);font-size:var(--text-3xs, var(--text-2xs));letter-spacing:.06em}.s-settings-stage-hero-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--hud-border);border-top:1px solid color-mix(in srgb,var(--hud-border) 70%,white 30%);border-radius:calc(var(--hud-radius) * 1.5);background:color-mix(in srgb,var(--hud-surface) 88%,var(--hud-bg));box-shadow:inset 0 1px #ffffff0d,0 4px 20px color-mix(in srgb,black 25%,transparent);padding:var(--space-lg);overflow:hidden;transition:all .3s ease}.s-settings-stage-hero-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid color-mix(in srgb,var(--hud-border) 60%,transparent)}.s-settings-stage-hero-badge{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;letter-spacing:.1em;color:var(--hud-muted)}.s-settings-stage-live-dot{width:5px;height:5px;border-radius:50%;background:color-mix(in srgb,var(--hud-ink) 45%,transparent)}.s-settings-stage-toggle-btn{display:inline-flex;align-items:center;gap:6px;padding:var(--space-2xs) var(--space-sm);border:1px solid var(--hud-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--hud-surface) 70%,transparent);color:var(--hud-ink);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;cursor:pointer;transition:all .15s ease}.s-settings-stage-toggle-btn:hover{border-color:color-mix(in srgb,var(--hud-border) 60%,white 40%);background:color-mix(in srgb,var(--hud-surface) 90%,white 10%);color:var(--hud-ink)}.s-settings-stage-hero-body{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-xl);padding-top:var(--space-md)}.s-settings-stage-art-col{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:140px}.s-settings-stage-click-hint{margin-top:8px;font-family:var(--font-mono);font-size:10px;color:var(--hud-muted);text-align:center;-webkit-user-select:none;user-select:none}.s-settings-stage-meta-col{display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}.s-settings-stage-title-row{display:flex;align-items:baseline;gap:var(--space-sm);flex-wrap:wrap}.s-settings-stage-char-name{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:700;color:var(--hud-ink);letter-spacing:.05em}.s-settings-stage-char-title{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;color:var(--hud-muted)}.s-settings-stage-kernel-pill{display:inline-flex;align-items:center;width:fit-content;padding:2px 8px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--hud-ink) 7%,transparent);border:1px solid color-mix(in srgb,var(--hud-border) 60%,transparent)}.s-settings-stage-kernel-pill code{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--hud-ink);opacity:.85}.s-settings-stage-blurb{margin:4px 0 8px;font-size:var(--text-xs);line-height:1.45;color:var(--hud-muted)}.s-settings-stage-identity-group{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border:1px solid color-mix(in srgb,var(--hud-border) 70%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--hud-bg) 70%,var(--hud-surface));flex-wrap:wrap}.s-settings-stage-operator-id{display:flex;flex-direction:column}.s-settings-stage-operator-id strong{font-size:var(--text-sm);font-weight:600;color:var(--hud-ink)}.s-settings-stage-operator-id span{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--hud-muted)}.s-settings-preview-column{position:sticky;top:var(--space-4xl)}.s-settings-live-preview{overflow:hidden;border:1px solid var(--hud-chrome-border);border-radius:var(--hud-radius);background:var(--hud-bg);color:var(--hud-ink)}.s-settings-live-preview-bar{display:flex;align-items:center;justify-content:space-between;height:34px;padding:0 var(--space-md);border-bottom:1px solid var(--hud-border);background:color-mix(in srgb,var(--hud-surface) 78%,var(--hud-bg));color:var(--hud-muted);font-family:var(--hud-font-mono);font-size:var(--text-3xs);letter-spacing:.12em}.s-settings-live-preview-bar>span,.s-settings-live-preview-state{display:inline-flex;align-items:center;gap:5px}.s-settings-live-preview-bar i,.s-settings-live-preview-event i{display:block;width:6px;height:6px;border-radius:50%;background:var(--hud-accent)}.s-settings-live-preview-shell{display:grid;grid-template-columns:28px 104px minmax(0,1fr);min-height:294px}.s-settings-live-preview-rail,.s-settings-live-preview-list{border-right:1px solid var(--hud-border);background:color-mix(in srgb,var(--hud-surface) 74%,var(--hud-bg))}.s-settings-live-preview-rail{display:flex;align-items:center;gap:12px;padding:14px 7px;flex-direction:column}.s-settings-live-preview-rail i{display:block;width:10px;height:10px;border:1px solid var(--hud-border);border-radius:calc(var(--hud-radius) * .45)}.s-settings-live-preview-rail i[data-active]{border-color:var(--hud-accent-line);background:var(--hud-accent-soft)}.s-settings-live-preview-list{padding:13px 7px}.s-settings-live-preview-kicker{display:block;margin-bottom:9px;color:var(--hud-muted);font-family:var(--hud-font-mono);font-size:var(--text-3xs);letter-spacing:.11em}.s-settings-live-preview-row{display:grid;grid-template-columns:6px 1fr auto;align-items:center;gap:5px;min-height:29px;padding:0 5px;border:1px solid transparent;border-radius:calc(var(--hud-radius) * .55);color:var(--hud-muted);font-size:var(--text-3xs)}.s-settings-live-preview-row[data-selected]{border-color:var(--hud-accent-line);background:var(--hud-accent-soft);color:var(--hud-ink)}.s-settings-live-preview-row>i{width:5px;height:5px;border-radius:50%;background:var(--hud-accent)}.s-settings-live-preview-row b{overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.s-settings-live-preview-row small{color:var(--hud-muted);font-family:var(--hud-font-mono);font-size:var(--text-3xs)}.s-settings-live-preview-detail{display:flex;min-width:0;flex-direction:column;padding:18px 14px}.s-settings-live-preview-detail strong{color:var(--hud-ink);font-size:var(--text-lg);font-weight:620}.s-settings-live-preview-detail p{margin:7px 0 14px;color:var(--hud-muted);font-size:var(--text-2xs);line-height:1.5}.s-settings-live-preview-event{display:flex;align-items:center;gap:6px;padding:8px;border:1px solid var(--hud-border);border-radius:calc(var(--hud-radius) * .65);background:var(--hud-surface);color:var(--hud-muted);font-family:var(--hud-font-mono);font-size:var(--text-3xs);line-height:1.45}.s-settings-live-preview-detail button{align-self:flex-start;margin-top:auto;padding:5px 8px;border:1px solid var(--hud-accent-line);border-radius:calc(var(--hud-radius) * .65);background:var(--hud-accent-soft);color:var(--hud-accent);font-family:var(--hud-font-mono);font-size:var(--text-3xs)}.s-settings-theme-readout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:var(--space-md) 0 0;border-top:1px solid var(--border);border-left:1px solid var(--border)}.s-settings-theme-readout>div{padding:var(--space-md);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.s-settings-theme-readout dt,.s-settings-theme-readout dd{margin:0}.s-settings-theme-readout dt{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-md);text-transform:uppercase}.s-settings-theme-readout dd{margin-top:var(--space-2xs);color:var(--ink);font-size:var(--text-sm)}.s-settings-preview-note{margin:var(--space-md) 0 0;color:var(--muted);font-size:var(--text-xs);line-height:var(--leading-normal)}.s-settings-appearance-note{display:grid;grid-template-columns:minmax(140px,.4fr) 1fr;gap:var(--space-2xl);padding:var(--space-xl) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.s-settings-appearance-note strong{color:var(--ink);font-size:var(--text-sm);font-weight:620}.s-settings-appearance-note span{color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-normal)}.s-settings-scrim{position:fixed;inset:0;z-index:90;background:color-mix(in srgb,var(--bg) 55%,transparent);transition:opacity .18s ease}.s-settings-scrim--open{opacity:1;pointer-events:auto;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.s-settings-scrim--closed{opacity:0;pointer-events:none;backdrop-filter:none;-webkit-backdrop-filter:none}.s-settings-drawer{position:fixed;left:0;top:0;bottom:0;width:720px;z-index:100;background:var(--bg);color:var(--ink);border-right:1px solid var(--border);box-shadow:0 0 60px color-mix(in srgb,var(--bg) 60%,transparent);display:grid;grid-template-columns:200px 1fr;grid-template-rows:52px 1fr 48px;transition:transform .24s cubic-bezier(.2,.8,.2,1)}.s-settings-drawer--open{transform:translate(0)}.s-settings-drawer--closed{transform:translate(-100%)}.s-settings-header{grid-column:1 / -1;grid-row:1;display:flex;align-items:center;gap:var(--space-xl);padding:0 var(--space-4xl);border-bottom:1px solid var(--border);background:var(--surface)}.s-settings-header-title{font-family:var(--font-mono);font-size:var(--text-md);letter-spacing:.24em;font-weight:600}.s-settings-header-sep{color:var(--dim)}.s-settings-header-section{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--dim);letter-spacing:var(--tracking-md);text-transform:uppercase}.s-settings-header-hint{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--dim)}.s-settings-close{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:var(--text-3xl);padding:var(--space-2xs);line-height:var(--leading-none)}.s-settings-rail{grid-column:1;grid-row:2;border-right:1px solid var(--border);padding:var(--space-3xl) 0;background:var(--surface)}.s-settings-rail-btn{display:flex;flex-direction:column;gap:var(--space-3xs);width:100%;padding:var(--space-md) var(--space-3xl);text-align:left;border:0;background:transparent;border-left:2px solid transparent;cursor:pointer;color:inherit;text-decoration:none}.s-settings-rail-btn--active{background:var(--bg);border-left-color:var(--accent)}.s-settings-rail-label{font-size:var(--text-lg);font-weight:500;color:var(--muted)}.s-settings-rail-btn--active .s-settings-rail-label{color:var(--ink)}.s-settings-rail-sub{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--dim);letter-spacing:var(--tracking-sm)}.s-settings-content{grid-column:2;grid-row:2;overflow:auto;padding:var(--space-5xl)}.s-settings-footer{grid-column:1 / -1;grid-row:3;display:flex;align-items:center;gap:var(--space-md);padding:0 var(--space-4xl);border-top:1px solid var(--border);background:var(--surface);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--dim);letter-spacing:var(--tracking-md)}.s-settings-footer-sync{color:var(--green)}.s-settings-section-rule{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-2xs) 0;margin-bottom:var(--space-2xl)}.s-settings-section-label{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-lg);text-transform:uppercase;color:var(--dim);flex-shrink:0}.s-settings-section-line{flex:1;height:1px;background:var(--border)}.s-settings-section-right{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--dim);flex-shrink:0}.s-settings-field{display:flex;flex-direction:column;gap:var(--space-xs)}.s-settings-field-label{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-lg);text-transform:uppercase;color:var(--muted)}.s-settings-field-hint{font-size:var(--text-sm);color:var(--dim);line-height:var(--leading-snug)}.s-settings-input{padding:var(--space-md) var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-lg);outline:none}.s-settings-input:focus{border-color:var(--accent)}.s-settings-input--mono{font-family:var(--font-mono);font-size:var(--text-md)}.s-settings-textarea{padding:var(--space-md) var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-lg);line-height:var(--leading-normal);outline:none;resize:vertical}.s-settings-textarea:focus{border-color:var(--accent)}.s-settings-option-grid{display:grid;gap:var(--space-xs)}.s-settings-option-stacked{display:flex;flex-direction:column;gap:var(--space-xs)}.s-settings-option-btn{padding:var(--space-md) var(--space-lg);text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-3xs);color:inherit}.s-settings-option-btn--active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.s-settings-option-label{font-size:var(--text-md);font-weight:500;color:var(--muted)}.s-settings-option-btn--active .s-settings-option-label{color:var(--ink)}.s-settings-option-sub{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--dim);letter-spacing:var(--tracking-sm)}.s-settings-slider-wrap{display:flex;align-items:center;gap:var(--space-lg)}.s-settings-slider-wrap input[type=range]{flex:1;accent-color:var(--accent)}.s-settings-slider-value{font-family:var(--font-mono);font-size:var(--text-md);color:var(--ink);padding:var(--space-2xs) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:70px;text-align:center}.s-settings-identity-card{display:flex;gap:var(--space-3xl);align-items:center;padding:var(--space-3xl);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.s-settings-identity-dot{width:56px;height:56px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:var(--text-5xl);font-weight:600;flex-shrink:0}.s-settings-identity-name{font-size:var(--text-5xl);font-weight:500;line-height:var(--leading-none)}.s-settings-identity-meta{font-family:var(--font-mono);font-size:var(--text-md);color:var(--dim);margin-top:var(--space-2xs)}.s-settings-hue-wrap{display:flex;flex-direction:column;gap:var(--space-xs)}.s-settings-hue-row{display:flex;gap:var(--space-2xs)}.s-settings-hue-dot{width:22px;height:22px;border-radius:50%;border:1px solid var(--border);cursor:pointer;padding:0}.s-settings-hue-dot--active{border:2px solid var(--accent)}.s-settings-two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl)}.s-settings-col-gap{display:flex;flex-direction:column;gap:var(--space-4xl)}.s-settings-button-row{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.s-settings-device-row{display:grid;grid-template-columns:40px 1fr auto auto;align-items:center;gap:var(--space-xl);padding:var(--space-xl) var(--space-2xl);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.s-settings-device-icon{width:36px;height:36px;border-radius:var(--radius-md);background:var(--bg);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-3xl);color:var(--muted)}.s-settings-device-name{font-size:var(--text-lg);font-weight:500}.s-settings-device-meta{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--dim);letter-spacing:var(--tracking-sm)}.s-settings-device-status{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-md);text-transform:uppercase}.s-settings-relay-card{padding:var(--space-2xl);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);display:grid;grid-template-columns:1fr auto;gap:var(--space-2xl);align-items:center}.s-settings-relay-title{font-size:var(--text-lg);font-weight:500;margin-bottom:var(--space-2xs)}.s-settings-relay-meta{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--dim);letter-spacing:var(--tracking-sm)}.s-settings-relay-desc{font-size:var(--text-md);color:var(--muted);margin-top:var(--space-xs);line-height:var(--leading-normal)}.s-settings-about{display:flex;flex-direction:column;gap:var(--space-4xl)}.s-settings-about-summary{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3xl);padding:var(--space-3xl);border:1px solid color-mix(in srgb,var(--ink) 6%,transparent);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--surface) 96%,transparent)}.s-settings-about-summary>div:first-child{display:grid;gap:var(--space-xs);min-width:0}.s-settings-about-product{color:var(--accent);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:650;letter-spacing:var(--tracking-md);text-transform:uppercase}.s-settings-about-summary strong{color:var(--ink);font-family:var(--font-accent-title);font-size:clamp(var(--text-4xl),4vw,var(--text-6xl));font-weight:620;letter-spacing:-.025em;line-height:var(--leading-tight)}.s-settings-about-source{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-normal);overflow-wrap:anywhere}.s-settings-about-collected{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-normal)}.s-settings-about-actions{display:flex;flex:none;flex-wrap:wrap;gap:var(--space-sm)}.s-settings-about-actions .s-btn{display:inline-flex;align-items:center;gap:var(--space-xs)}.s-settings-about-copy{color:var(--accent)}.s-settings-about-warning{margin-top:calc(-1 * var(--space-md));padding:var(--space-lg) var(--space-xl);border:1px solid color-mix(in srgb,var(--amber) 28%,var(--border));border-radius:var(--radius-md);background:color-mix(in srgb,var(--amber) 7%,transparent);color:color-mix(in srgb,var(--amber) 78%,var(--ink));font-size:var(--text-sm);line-height:var(--leading-normal)}.s-settings-about-copy-fallback{display:grid;gap:var(--space-sm);margin-top:calc(-1 * var(--space-md));padding:var(--space-lg) var(--space-xl);border:1px solid color-mix(in srgb,var(--red) 26%,var(--border));border-radius:var(--radius-md);background:color-mix(in srgb,var(--red) 5%,transparent);color:var(--ink);font-size:var(--text-sm)}.s-settings-about-copy-fallback>span{color:var(--muted)}.s-settings-about-copy-fallback textarea{width:100%;min-height:180px;padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-normal);resize:vertical}.s-settings-about-ledger{margin:calc(-1 * var(--space-2xl)) 0 0;border-top:1px solid var(--border)}.s-settings-about-fact{display:grid;grid-template-columns:minmax(140px,.34fr) minmax(0,1fr);gap:var(--space-2xl);padding:var(--space-lg) 0;border-bottom:1px solid var(--border)}.s-settings-about-fact dt{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-sm);line-height:var(--leading-normal);text-transform:uppercase}.s-settings-about-fact dd{display:grid;gap:var(--space-2xs);min-width:0;margin:0}.s-settings-about-fact code{color:var(--ink);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-normal);overflow-wrap:anywhere;white-space:normal}.s-settings-about-fact dd>span{max-width:68ch;color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-normal)}.s-settings-about-note{max-width:70ch;margin:0;color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-normal)}@media(max-width:800px){.s-settings-drawer{width:100%;grid-template-columns:1fr;grid-template-rows:52px auto 1fr 48px}.s-settings-rail{grid-column:1;grid-row:2;border-right:none;border-bottom:1px solid var(--border);display:flex;padding:var(--space-sm) var(--space-lg);gap:var(--space-2xs);overflow-x:auto}.s-settings-rail-btn{flex-direction:row;gap:var(--space-sm);padding:var(--space-xs) var(--space-lg);white-space:nowrap}.s-settings-content{grid-column:1;grid-row:3}.s-settings-footer{grid-column:1;grid-row:4}}.s-settings-realtime-voice{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md);border:1px solid color-mix(in srgb,var(--border) 68%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 70%,transparent)}.s-settings-realtime-voice[data-enabled=true]{border-color:color-mix(in srgb,var(--accent) 36%,var(--border));background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.s-settings-realtime-voice[data-unavailable=true]{opacity:.7}.s-settings-realtime-voice-copy{display:grid;gap:var(--space-2xs);min-width:0;flex:1}.s-settings-realtime-voice-copy strong{color:var(--ink);font-size:var(--text-sm);font-weight:650}.s-settings-realtime-voice-copy>span{color:var(--muted);font-size:var(--text-xs);line-height:var(--leading-normal)}.s-settings-realtime-voice-copy em{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-style:normal}.s-settings-switch{position:relative;width:44px;height:24px;flex:0 0 auto;margin-top:var(--space-3xs);padding:3px;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--ink) 10%,var(--surface));cursor:pointer;transition:background-color var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard)}.s-settings-switch:hover:not(:disabled){border-color:color-mix(in srgb,var(--ink) 24%,var(--border))}.s-settings-switch[data-checked=true]{border-color:color-mix(in srgb,var(--accent) 58%,var(--border));background:color-mix(in srgb,var(--accent) 72%,var(--surface))}.s-settings-switch:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 35%,transparent)}.s-settings-switch:disabled{cursor:not-allowed;opacity:.45}.s-settings-switch-thumb{display:block;width:16px;height:16px;border-radius:50%;background:var(--ink);box-shadow:0 1px 2px color-mix(in srgb,black 34%,transparent);transform:translate(0);transition:transform var(--motion-duration-fast) var(--motion-ease-emphasis)}.s-settings-switch[data-checked=true] .s-settings-switch-thumb{transform:translate(20px);background:var(--canvas)}@media(max-width:1180px){.s-settings-page-layout{grid-template-columns:190px minmax(0,1fr);gap:var(--space-3xl)}.s-settings-appearance-workbench{grid-template-columns:1fr}.s-settings-preview-column{position:static}.s-settings-live-preview-shell{min-height:250px}}@media(max-width:760px){.s-settings-page-header{flex-direction:column;gap:var(--space-xl);padding:var(--space-3xl) var(--space-2xl)}.s-settings-page-save-state{margin-top:0}.s-settings-page-layout{display:block;padding:0 var(--space-2xl) var(--space-6xl)}.s-settings-page .s-settings-rail{position:sticky;top:0;z-index:5;display:flex;gap:var(--space-2xs);margin:0 calc(-1 * var(--space-2xl)) var(--space-3xl);padding:var(--space-sm) var(--space-2xl);overflow-x:auto;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 96%,transparent)}.s-settings-page .s-settings-rail-btn{flex:none;width:auto;min-height:42px;padding:var(--space-sm) var(--space-lg);border:1px solid transparent;border-radius:var(--radius-md);white-space:nowrap}.s-settings-page .s-settings-rail-btn--active{border-color:color-mix(in srgb,var(--accent) 36%,var(--border))}.s-settings-page .s-settings-rail-sub{display:none}.s-settings-theme-mode-grid,.s-settings-palette-grid,.s-settings-interface-grid,.s-settings-contrast-grid{grid-template-columns:1fr}.s-settings-palette-choice{grid-template-columns:112px minmax(0,1fr)}.s-settings-live-preview-shell{grid-template-columns:28px 96px minmax(0,1fr)}.s-settings-appearance-note{grid-template-columns:1fr;gap:var(--space-sm)}.s-settings-two-col{grid-template-columns:1fr}.s-settings-about-summary{align-items:stretch;flex-direction:column}.s-settings-about-actions .s-btn{justify-content:center;min-height:42px}.s-settings-about-fact{grid-template-columns:1fr;gap:var(--space-2xs)}}@media(prefers-reduced-motion:reduce){.s-settings-theme-mode,.s-settings-palette-choice,.s-settings-interface-choice,.s-settings-contrast-choice,.s-settings-accent-choice{transition:none}.s-settings-theme-mode:active,.s-settings-palette-choice:active,.s-settings-interface-choice:active,.s-settings-contrast-choice:active,.s-settings-accent-choice:active{transform:none}}
|