@openscout/scout 0.2.78 → 0.2.79
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -0
- package/bin/scoutd +0 -0
- package/dist/build-manifest.json +3 -3
- package/dist/client/assets/ActivityScreen-DnqqRSlS.js +1 -0
- package/dist/client/assets/{AddProjectForm-DMnobKch.js → AddProjectForm-BoVtelSP.js} +1 -1
- package/dist/client/assets/{AgentAvatar-D90c1Rzk.js → AgentAvatar-CufDA4A-.js} +1 -1
- package/dist/client/assets/AgentConfigurationScreen-CJqoMA0J.js +1 -0
- package/dist/client/assets/AgentDefinitionsWorkspace-FpEkb-tu.js +1 -0
- package/dist/client/assets/{AgentDetailCard-BcRBRp88.js → AgentDetailCard-DxxVkgT1.js} +1 -1
- package/dist/client/assets/AgentFloorView-CycUn0Lv.js +1 -0
- package/dist/client/assets/AgentInfoScreen-CAQAxpAK.js +1 -0
- package/dist/client/assets/{AgentLaneCard-RrNnDZu8.js → AgentLaneCard-DTUvE96I.js} +1 -1
- package/dist/client/assets/{AgentLaneChrome-D9ZwUKrl.js → AgentLaneChrome-BfVygkgL.js} +1 -1
- package/dist/client/assets/{AgentLaneDetailSheet-BXbPls9N.js → AgentLaneDetailSheet-CWs9wKWk.js} +1 -1
- package/dist/client/assets/{AgentLaneSummaryResize-BhFmGNzT.js → AgentLaneSummaryResize-CMgzYvAA.js} +1 -1
- package/dist/client/assets/AgentLanesEmbedScreen-BUCW4nUj.js +1 -0
- package/dist/client/assets/{AgentLanesPreflight-eSAoDsPi.js → AgentLanesPreflight-KWfLcaNB.js} +1 -1
- package/dist/client/assets/AgentLanesView-CxfbV8Kd.js +2 -0
- package/dist/client/assets/{AgentLiveActions-DBtnD0qE.js → AgentLiveActions-CZdAInEu.js} +1 -1
- package/dist/client/assets/{AgentSessions-DyqOf4nG.js → AgentSessions-Bkr0lyry.js} +2 -2
- package/dist/client/assets/AgentsConsole-WtFVqaPJ.js +1 -0
- package/dist/client/assets/AgentsScreen-BMXvuiA2.js +1 -0
- package/dist/client/assets/AgentsSubnav-BTNjPYoA.js +1 -0
- package/dist/client/assets/{AtopView-BCkae3e1.js → AtopView-_OKDlZ1h.js} +1 -1
- package/dist/client/assets/BackToPicker-CkUmHuuo.js +1 -0
- package/dist/client/assets/{BriefingDetailScreen-BwFyysT8.js → BriefingDetailScreen-i54EtZKW.js} +1 -1
- package/dist/client/assets/{BriefingsScreen-BQEevztH.js → BriefingsScreen-CBrHojlQ.js} +1 -1
- package/dist/client/assets/{BrokerMetadataPanel-7UjcuNjd.js → BrokerMetadataPanel-opTLuZU6.js} +1 -1
- package/dist/client/assets/{BrokerScreen-7ekklu88.js → BrokerScreen-CObCQvoy.js} +2 -2
- package/dist/client/assets/{ChatCollapsedStrip-CQSYSd8s.js → ChatCollapsedStrip-Dr2vmKXQ.js} +1 -1
- package/dist/client/assets/CodeDiffPane-CLOGjwul.js +1 -0
- package/dist/client/assets/{CodeProjectPicker-DqKFCpLU.js → CodeProjectPicker-DTV8hR6A.js} +1 -1
- package/dist/client/assets/CodeScreen-BXqi72NK.js +1 -0
- package/dist/client/assets/{ContextMenu-bARZqTzD.js → ContextMenu-BlBQhpax.js} +1 -1
- package/dist/client/assets/{ConversationComposer-Bla3DDvM.js → ConversationComposer-BBNPa5S9.js} +1 -1
- package/dist/client/assets/ConversationFeedRows-BuejHMCY.js +1 -0
- package/dist/client/assets/ConversationHeader-DXMT-YXv.js +1 -0
- package/dist/client/assets/ConversationPanels-DHCtilQF.js +2 -0
- package/dist/client/assets/ConversationScreen-DSxIt9pq.css +1 -0
- package/dist/client/assets/ConversationScreen-Dz2d_Z_F.js +1 -0
- package/dist/client/assets/ConversationStatus-DSgdVofa.js +1 -0
- package/dist/client/assets/{DataTable-E8s_MmoA.js → DataTable-0DwuXyvW.js} +1 -1
- package/dist/client/assets/{DispatchAftermath-Dpe88DFX.js → DispatchAftermath-BrreQifA.js} +1 -1
- package/dist/client/assets/{DocumentFocusViewer-BeVwwl26.js → DocumentFocusViewer-DU_9BHsD.js} +1 -1
- package/dist/client/assets/{EmbeddableSurfacesLab-BQqFQVnI.js → EmbeddableSurfacesLab-DdaswbfI.js} +1 -1
- package/dist/client/assets/{EmptyState-4F9XDFQm.js → EmptyState-CoL-QuUO.js} +1 -1
- package/dist/client/assets/{FileViewerPane-CLgUhSm4.js → FileViewerPane-C9Ly01Ef.js} +1 -1
- package/dist/client/assets/{FleetSearch-Dz5euQJe.js → FleetSearch-DlWTLl-v.js} +1 -1
- package/dist/client/assets/FlightObserveScreen-C-9S0nA5.js +1 -0
- package/dist/client/assets/{FollowScreen-DZ4qfYOY.js → FollowScreen--Q04xSSE.js} +1 -1
- package/dist/client/assets/{HarnessMark-Cbv3Ib0c.js → HarnessMark-Dm_qm1Ku.js} +1 -1
- package/dist/client/assets/HarnessesScreen-Y54viPX8.js +1 -0
- package/dist/client/assets/{HomeHero-B3uYd-pP.js → HomeHero-Cfsow7qL.js} +1 -1
- package/dist/client/assets/KnowledgeSearchInspector-DKashKoH.js +1 -0
- package/dist/client/assets/KnowledgeSearchScreen-DsdDz8wY.js +1 -0
- package/dist/client/assets/{LaneToolHoverCard-Bla0gBdm.js → LaneToolHoverCard-BzehBmdi.js} +1 -1
- package/dist/client/assets/LaneTraceDetailSheet-CBf_aNZx.js +1 -0
- package/dist/client/assets/{LaneTraceEventFocus-BF9ERP5O.js → LaneTraceEventFocus-DYvHfs_3.js} +1 -1
- package/dist/client/assets/{MeshCanvas-DFEPkpqY.js → MeshCanvas-DIjlrMPU.js} +2 -2
- package/dist/client/assets/{MeshCanvasMinimap-CyVFYixr.js → MeshCanvasMinimap-DEq-PkF0.js} +1 -1
- package/dist/client/assets/MeshScreen-TgDtz-1l.js +1 -0
- package/dist/client/assets/{MeshTopologyView-CalkZghg.js → MeshTopologyView-BMHpH5BU.js} +2 -2
- package/dist/client/assets/{MessageComposerSuggestions-DpxN9WiB.js → MessageComposerSuggestions-zAUUcLOv.js} +1 -1
- package/dist/client/assets/MessagesScreen-BTQL0UcE.js +1 -0
- package/dist/client/assets/{MissionControlView-lUeAiSVg.js → MissionControlView-D59SPnAm.js} +1 -1
- package/dist/client/assets/{MissionFocusOverlay-wlCmWDCT.js → MissionFocusOverlay-C7cPt6eU.js} +1 -1
- package/dist/client/assets/MissionLeftAgentRow-CxlH3dON.js +1 -0
- package/dist/client/assets/{MissionLogPane-__MVtEl9.js → MissionLogPane-Ye3YlF9s.js} +1 -1
- package/dist/client/assets/{NewAgentModal-Bg-eWHpY.js → NewAgentModal-DprvD4EK.js} +1 -1
- package/dist/client/assets/NewChatComposer-B5FnPyzS.js +19 -0
- package/dist/client/assets/{NewChatOrigin-Bk2OyVjI.js → NewChatOrigin--pHWUb4V.js} +1 -1
- package/dist/client/assets/ObserveEmbedScreen-CfvrnOiZ.js +2 -0
- package/dist/client/assets/{ObserveTextFlow-rsFj_rVo.js → ObserveTextFlow-CBitljxi.js} +2 -2
- package/dist/client/assets/{ObservedTopologyPanel-DyUeV98H.js → ObservedTopologyPanel-Dv6fbHzW.js} +1 -1
- package/dist/client/assets/OpenScoutAppShell-BIp0WitK.js +87 -0
- package/dist/client/assets/OpsAgentsView-CoBfAigH.js +1 -0
- package/dist/client/assets/OpsScreen-Bbo0W64T.js +1 -0
- package/dist/client/assets/OpsSubnav-CoN8utF8.js +1 -0
- package/dist/client/assets/{PlanView-C1CjH3PG.js → PlanView-DYtt8H37.js} +1 -1
- package/dist/client/assets/ProjectAgentProfile-FiiIcB5R.js +1 -0
- package/dist/client/assets/{ProjectAgentProfileBar-CtTpj6fU.js → ProjectAgentProfileBar-B3IvVbqS.js} +1 -1
- package/dist/client/assets/ProjectAgentProfileHero-D5E8yvDj.js +1 -0
- package/dist/client/assets/ProjectsInbox-BWiXjGi7.js +2 -0
- package/dist/client/assets/{ProjectsRail-BgiuV4LR.js → ProjectsRail-DEDS-M1c.js} +1 -1
- package/dist/client/assets/ProjectsScreen-Cxk4CuYn.js +1 -0
- package/dist/client/assets/ProjectsThreadAside-BF66ugT5.js +1 -0
- package/dist/client/assets/Provider-tFc3jqZ4.js +1 -0
- package/dist/client/assets/{RailRow-BoGxAHNF.js → RailRow-BTlVAnHS.js} +1 -1
- package/dist/client/assets/RawSessionsTable-BsGVgZB3.js +1 -0
- package/dist/client/assets/RealtimeVoiceScreen-B0Bem5Rc.js +1 -0
- package/dist/client/assets/{RepoDiffEmbedScreen-C0rumUME.js → RepoDiffEmbedScreen-CtTdlQ2A.js} +1 -1
- package/dist/client/assets/{RepoDiffPageScreen-DMv6DioL.js → RepoDiffPageScreen-BRvaVYoC.js} +1 -1
- package/dist/client/assets/RepoDiffViewer-Bo0gREMj.js +7 -0
- package/dist/client/assets/RepoDiffViewerLazy-C8UPk4oo.js +2 -0
- package/dist/client/assets/{ReposScreen-CB_YBWYf.js → ReposScreen-BBkJf8xT.js} +2 -2
- package/dist/client/assets/{ScoutDeckSurface-CxIYFyWx.js → ScoutDeckSurface-Bi9ov9Bm.js} +1 -1
- package/dist/client/assets/{ScoutSurface-CYz_TcWC.js → ScoutSurface-DEQg_7Io.js} +1 -1
- package/dist/client/assets/{ScoutbotBroadcastChip-L_R9atj0.js → ScoutbotBroadcastChip-DJXuyn73.js} +1 -1
- package/dist/client/assets/{ScoutbotFxLab-CgiZMDMW.js → ScoutbotFxLab-BgsuLDjo.js} +1 -1
- package/dist/client/assets/{ScoutbotRealtimeVoiceCall-FMQOr1Np.js → ScoutbotRealtimeVoiceCall-Bzyl0BCS.js} +1 -1
- package/dist/client/assets/{SecondaryNav-B3-nh5dM.js → SecondaryNav-Bks0CO2h.js} +1 -1
- package/dist/client/assets/SessionEmbedScreen-b0Zgmfx5.js +1 -0
- package/dist/client/assets/SessionObserve-CLrHfAKZ.css +1 -0
- package/dist/client/assets/SessionObserve-Dlx5vDaV.js +12 -0
- package/dist/client/assets/SessionObserveEvidence-ChBD1d4c.js +1 -0
- package/dist/client/assets/SessionRefScreen-D7TfPYPN.js +1 -0
- package/dist/client/assets/SessionsScreen-BlknOWAd.js +1 -0
- package/dist/client/assets/{SettingsDrawer-XfdAa_nD.js → SettingsDrawer-C587L1i1.js} +3 -3
- package/dist/client/assets/SettingsDrawer-UX7pFJU_.css +1 -0
- package/dist/client/assets/SettingsScreen-BIlYxv_a.js +1 -0
- package/dist/client/assets/{ShikiPane-Ap1iPxYb.js → ShikiPane-I_OTW5NO.js} +1 -1
- package/dist/client/assets/{SlidePanel-COwtoJqR.js → SlidePanel-FCqT1zO3.js} +1 -1
- package/dist/client/assets/SpriteAvatar-CQs-jC-v.js +1 -0
- package/dist/client/assets/{StatusPill-DhBL__p8.js → StatusPill-CbABggnQ.js} +1 -1
- package/dist/client/assets/{TailView-DGj_5HA9.js → TailView-C_MXVSum.js} +2 -2
- package/dist/client/assets/Terminal-DwZyo8kA.js +1 -0
- package/dist/client/assets/TerminalEmbedScreen-Czp3tQyd.js +1 -0
- package/dist/client/assets/{TextDocumentSurface-BpAw4eQS.js → TextDocumentSurface-C-9EtYqt.js} +1 -1
- package/dist/client/assets/{TmuxPeek-m1osv33Q.js → TmuxPeek-Dz1gJ2pU.js} +1 -1
- package/dist/client/assets/{VoicePermissionsPanel-DsK53ar4.js → VoicePermissionsPanel-MfICy9kk.js} +1 -1
- package/dist/client/assets/{WorkDetailScreen-Bx0JimPC.js → WorkDetailScreen-Cs7kdllj.js} +3 -3
- package/dist/client/assets/{WorkFilesViewer-Btl6C2Q1.js → WorkFilesViewer-CF-nhtZ4.js} +1 -1
- package/dist/client/assets/{activity-CA8qS6PI.js → activity-WhBf3FXP.js} +1 -1
- package/dist/client/assets/{addon-fit-BZ-kXjeN.js → addon-fit-q-x_HytU.js} +1 -1
- package/dist/client/assets/{addon-webgl-D9-EQVEK.js → addon-webgl-fhhvEA9h.js} +1 -1
- package/dist/client/assets/{agent-essentials-BSY1o46q.js → agent-essentials-DyJiUGpZ.js} +1 -1
- package/dist/client/assets/agent-identity-xQHedtLl.js +1 -0
- package/dist/client/assets/agent-lane-card-BkWVDYM8.css +1 -0
- package/dist/client/assets/{agent-lane-card-model-r2frk57c.js → agent-lane-card-model-BCIwPjEh.js} +1 -1
- package/dist/client/assets/{agent-lane-detail-Djm3YJEa.js → agent-lane-detail-Cw4QVAgH.js} +1 -1
- package/dist/client/assets/{agent-lane-preview-CmHVe3dU.js → agent-lane-preview-BtnfNyFR.js} +1 -1
- package/dist/client/assets/{agent-lanes-model-B4YTt4OF.js → agent-lanes-model-Bl6xfviL.js} +1 -1
- package/dist/client/assets/{arc.es-CQBb-dVu.js → arc.es-DPJ0xRV6.js} +1 -1
- package/dist/client/assets/{arrow-down-BPLe0am9.js → arrow-down-DsD-dYj-.js} +1 -1
- package/dist/client/assets/{arrow-left-DEZzHiPS.js → arrow-left-WjQIN9J6.js} +1 -1
- package/dist/client/assets/{arrow-up-right-ClxBnsi7.js → arrow-up-right-CtTDrZJr.js} +1 -1
- package/dist/client/assets/{bot-eu8pBNvI.js → bot-B_Uzf4_O.js} +1 -1
- package/dist/client/assets/{check-DjgFiBxb.js → check-BbgHJX8u.js} +1 -1
- package/dist/client/assets/{chevron-down-BGk5qoEw.js → chevron-down-BFai6ZfE.js} +1 -1
- package/dist/client/assets/{chevron-right-XiIHsk4m.js → chevron-right-CyUa1zXx.js} +1 -1
- package/dist/client/assets/chunk-HRAB3GC3-CvwpNg-G.js +1 -0
- package/dist/client/assets/{chunk-T65CQEWV-CrzwSeEt.js → chunk-T65CQEWV-DI4NKdNq.js} +1 -1
- package/dist/client/assets/{chunk-YOZR3KYS-Bet8khjg.js → chunk-YOZR3KYS-BW85tiCr.js} +3 -3
- package/dist/client/assets/clock-DviOalxA.js +1 -0
- package/dist/client/assets/{code-xml-B6jOCM4V.js → code-xml-05TD3uOC.js} +1 -1
- package/dist/client/assets/content-2u_eV3fX.js +1 -0
- package/dist/client/assets/content-5irOghrY.js +1 -0
- package/dist/client/assets/content-8Z_0CwtD.js +1 -0
- package/dist/client/assets/content-B38YRDBu.js +1 -0
- package/dist/client/assets/content-BE3uK0LB.js +1 -0
- package/dist/client/assets/{content-C2EwTb2y.js → content-BtIxSqVY.js} +1 -1
- package/dist/client/assets/content-CFsPAihU.js +1 -0
- package/dist/client/assets/content-CKj5g5tu.js +1 -0
- package/dist/client/assets/{content-D5kJmfgl.js → content-CLDWXf9Z.js} +1 -1
- package/dist/client/assets/content-CRr73E0r.js +1 -0
- package/dist/client/assets/content-CVR75_Uj.js +1 -0
- package/dist/client/assets/content-Czdp7_JQ.js +1 -0
- package/dist/client/assets/content-D0_EJ6nP.js +1 -0
- package/dist/client/assets/content-DNmxpNhD.js +1 -0
- package/dist/client/assets/content-XpbI9uxd.js +1 -0
- package/dist/client/assets/content-cyxWdgKQ.js +1 -0
- package/dist/client/assets/{context-budget-CbB4BDcO.js → context-budget-DX_fwUs3.js} +1 -1
- package/dist/client/assets/{conversation-icons-IIG5ha6D.js → conversation-icons-DohQL6GI.js} +1 -1
- package/dist/client/assets/conversation-model-C4yb6_FA.js +1 -0
- package/dist/client/assets/conversation-motion-features-CifSdJtm.js +1 -0
- package/dist/client/assets/{copy-CQGYbxdu.js → copy-CwCAivnc.js} +1 -1
- package/dist/client/assets/{createLucideIcon-OpA4Amw5.js → createLucideIcon-DlxlBfLC.js} +1 -1
- package/dist/client/assets/discover-DoiAJo4Z.js +2 -0
- package/dist/client/assets/embed-entry-D1Or9S4d.js +2 -0
- package/dist/client/assets/{external-link-CXBytO9o.js → external-link-CnjcXf32.js} +1 -1
- package/dist/client/assets/{eye-0PvebX_a.js → eye-So8tNNK6.js} +1 -1
- package/dist/client/assets/{file-text-BODxCjcz.js → file-text-i3xTDUjJ.js} +1 -1
- package/dist/client/assets/{gestures-CcwOTu8C.js → gestures-CgvAMd6F.js} +1 -1
- package/dist/client/assets/{home-moving-signal-CK147hxn.js → home-moving-signal-BdkERL6B.js} +1 -1
- package/dist/client/assets/home-now-card-lLkv6nQs.js +1 -0
- package/dist/client/assets/{home-now-card-nano-BcjnOU9H.js → home-now-card-nano-CkLHUQ4J.js} +1 -1
- package/dist/client/assets/hooks-BPLDD9yu.js +2 -0
- package/dist/client/assets/inbox-thread-redesign-B_1ocqaX.css +1 -0
- package/dist/client/assets/index-DGoLx89y.js +1 -0
- package/dist/client/assets/index-DITWsjFb.css +1 -0
- package/dist/client/assets/index-m6dFtY5f.js +1 -0
- package/dist/client/assets/index-pY8-Mz7y.js +1 -0
- package/dist/client/assets/{index-DMiGbrBt.js → index-sUomXsrf.js} +6 -6
- package/dist/client/assets/{inspector-panel-DPoCWxKs.js → inspector-panel-DhXd-YbT.js} +2 -2
- package/dist/client/assets/{keyboard-nav-2kv_tGUS.js → keyboard-nav-BhZZ5HEq.js} +1 -1
- package/dist/client/assets/knowledge-search-D_bLoYtC.css +1 -0
- package/dist/client/assets/{lane-observe-D0rfKDnU.js → lane-observe-DrhKkQ3A.js} +1 -1
- package/dist/client/assets/{lane-roster-store-D8x1jac2.js → lane-roster-store-NE15Oe6M.js} +1 -1
- package/dist/client/assets/left-B6eawimv.js +1 -0
- package/dist/client/assets/left-BL2uBHe0.js +2 -0
- package/dist/client/assets/left-BNJguPDG.js +1 -0
- package/dist/client/assets/left-BvCtvN0f.js +1 -0
- package/dist/client/assets/left-CfBb6bxM.js +1 -0
- package/dist/client/assets/left-DTrlBF0h.js +2 -0
- package/dist/client/assets/left-agents-DsOHgDCY.js +1 -0
- package/dist/client/assets/left-d4hlBBxY.js +1 -0
- package/dist/client/assets/left-default-BRCwoCJr.js +1 -0
- package/dist/client/assets/left-lanes-DNtoRzoV.js +1 -0
- package/dist/client/assets/left-mission-DsTu2X5Y.js +1 -0
- package/dist/client/assets/left-plan-CtySjsXC.js +2 -0
- package/dist/client/assets/library-CLpgWNJO.js +1 -0
- package/dist/client/assets/{loader-circle-CbHjZsz1.js → loader-circle-lWOOKezu.js} +1 -1
- package/dist/client/assets/{local-agents--00gLMqr.js → local-agents-C7fDHLVC.js} +1 -1
- package/dist/client/assets/{mentions-jSuTGeet.js → mentions-CY_wPZc5.js} +1 -1
- package/dist/client/assets/mesh-ops-B1kDjizF.css +1 -0
- package/dist/client/assets/mesh-ops-Kn8pCtyJ.js +1 -0
- package/dist/client/assets/{mesh-view-store-CWidRbTE.js → mesh-view-store-D14ihwkF.js} +1 -1
- package/dist/client/assets/{message-circle-CG-96zts.js → message-circle-C5UZ6fO7.js} +1 -1
- package/dist/client/assets/{message-markup-3J9pi3nx.js → message-markup-C8Nx04sP.js} +1 -1
- package/dist/client/assets/{message-square-DSaGpjFU.js → message-square-BD-4UUdc.js} +1 -1
- package/dist/client/assets/{mission-control-store-BlnEhiCq.js → mission-control-store-xQHVQdm8.js} +1 -1
- package/dist/client/assets/{model-CpAxGuis.js → model-IGCUEsMy.js} +1 -1
- package/dist/client/assets/{observe-CuLGD9Zp.js → observe-uJfIlIUV.js} +1 -1
- package/dist/client/assets/{page-status-DpkedE1F.js → page-status-BymFEFai.js} +1 -1
- package/dist/client/assets/paperclip-DL9BXPp2.js +1 -0
- package/dist/client/assets/{plus--b1raV_O.js → plus-C9lTjsgd.js} +1 -1
- package/dist/client/assets/profile-BqY5tesX.js +1 -0
- package/dist/client/assets/{projects-inbox-CHyUFQ6w.js → projects-inbox-DfVmGFFk.js} +1 -1
- package/dist/client/assets/{radio-Bz8ZePxj.js → radio-DedMyP8J.js} +1 -1
- package/dist/client/assets/{refresh-cw-BBmAnCB7.js → refresh-cw-D8PFyhUa.js} +1 -1
- package/dist/client/assets/repo-diff-DyYmQMSA.css +1 -0
- package/dist/client/assets/resolve-panes-1xeZMuaw.js +1 -0
- package/dist/client/assets/resolve-sidebar-context-PLr32WHN.js +1 -0
- package/dist/client/assets/right-1x7HzabC.js +1 -0
- package/dist/client/assets/{right-DjRXbnRP.js → right-C1sIsSHR.js} +1 -1
- package/dist/client/assets/right-CFzPUzlF.js +1 -0
- package/dist/client/assets/right-CRKyeJDk.js +1 -0
- package/dist/client/assets/right-CagzkLWg.js +1 -0
- package/dist/client/assets/right-CsV149pN.js +1 -0
- package/dist/client/assets/right-DITNyG2s.js +1 -0
- package/dist/client/assets/right-E3nNcLE3.js +1 -0
- package/dist/client/assets/right-eUQvSjd7.js +1 -0
- package/dist/client/assets/right-ozp4nM44.js +1 -0
- package/dist/client/assets/{rocket-BSNS_rLs.js → rocket-CriBwkHM.js} +1 -1
- package/dist/client/assets/router-Dja9_ygK.js +1 -0
- package/dist/client/assets/{runtime-picker-Bcl5iIX5.js → runtime-picker-DOZpZOlt.js} +1 -1
- package/dist/client/assets/{scope-views-U-ucT9m0.js → scope-views-BF_RvGKU.js} +1 -1
- package/dist/client/assets/{scout-voice-CU5c0LGi.js → scout-voice-BZ4KqADJ.js} +1 -1
- package/dist/client/assets/{scroll-text-D6Pdnar7.js → scroll-text-BIYf6g6N.js} +1 -1
- package/dist/client/assets/{search-CWfZtOt2.js → search-DCT_EvPr.js} +1 -1
- package/dist/client/assets/secondaryNavConfig-Drb7wPG4.js +1 -0
- package/dist/client/assets/{selection-bridge-16pk1qyG.js → selection-bridge-CJOTyYQs.js} +1 -1
- package/dist/client/assets/{send-horizontal-Bg5-QggH.js → send-horizontal-DDwOgEs3.js} +1 -1
- package/dist/client/assets/{server-CPp4ZJhZ.js → server-CHZCp3cF.js} +1 -1
- package/dist/client/assets/{session-catalog-BmoyVTJ_.js → session-catalog-XhGxCtP-.js} +1 -1
- package/dist/client/assets/{session-table-DZcrKoIH.js → session-table-sAVe44a4.js} +1 -1
- package/dist/client/assets/{sliders-horizontal-1oW76Xc9.js → sliders-horizontal-B9Nj-Y4J.js} +1 -1
- package/dist/client/assets/sparkles-up7pVlX-.js +1 -0
- package/dist/client/assets/{sse-CjIkKo46.js → sse-CVoGDiKW.js} +1 -1
- package/dist/client/assets/{tail-events-D19uAGe3.js → tail-events-CTipUIli.js} +1 -1
- package/dist/client/assets/{terminal-B9AOZQKR.js → terminal-DXQISjZn.js} +1 -1
- package/dist/client/assets/{terminal-relay-CWbJ1RCW.js → terminal-relay-B5Sma7fK.js} +1 -1
- package/dist/client/assets/{terminal-takeover-B8UeD9OX.js → terminal-takeover-X97KCSJk.js} +1 -1
- package/dist/client/assets/{time-DltNTpLl.js → time-Dhsh_2EG.js} +1 -1
- package/dist/client/assets/{use-conversation-list-Byab41G6.js → use-conversation-list-B1T6J_qE.js} +1 -1
- package/dist/client/assets/{use-fleet-active-asks-BIbQx5AS.js → use-fleet-active-asks-DLofGhhK.js} +1 -1
- package/dist/client/assets/use-mesh-ops-items-ByGZk8rU.js +1 -0
- package/dist/client/assets/{use-reduced-motion-RRBkmVkk.js → use-reduced-motion-Cvk-HRKg.js} +1 -1
- package/dist/client/assets/use-scout-dev-flags-BHvg3G2c.js +1 -0
- package/dist/client/assets/{useAgentHoverCard-DMrbBif0.js → useAgentHoverCard-D5e8Qg1z.js} +1 -1
- package/dist/client/assets/useContentSecondaryNav-ZfBNi3d4.js +1 -0
- package/dist/client/assets/usePierreRuntime-DIVunfX0.js +50 -0
- package/dist/client/assets/{wrench-Bkc_0lKF.js → wrench-pEVd8JnN.js} +1 -1
- package/dist/client/assets/{x-D3GElQbe.js → x-0XjXwGqq.js} +1 -1
- package/dist/client/assets/{xterm-BKR8oAkR.js → xterm-CRLlV1Xp.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/drizzle/0007_lean_venus.sql +26 -0
- package/dist/drizzle/0008_luxuriant_ted_forrester.sql +1 -0
- package/dist/drizzle/meta/0007_snapshot.json +5767 -0
- package/dist/drizzle/meta/0008_snapshot.json +5774 -0
- package/dist/drizzle/meta/_journal.json +14 -0
- package/dist/main.mjs +27836 -4437
- package/dist/node/main.mjs +31770 -12098
- package/dist/pairing-runtime-controller.mjs +37653 -16847
- package/dist/runtime/base-daemon.mjs +109 -18
- package/dist/runtime/broker-daemon.mjs +22018 -2739
- package/dist/runtime/broker-process-manager.mjs +122 -12
- package/dist/runtime/mesh-discover.mjs +90 -13
- package/dist/scout-control-plane-web.mjs +22453 -3299
- package/dist/scout-web-server.mjs +22453 -3299
- package/dist/statusline.mjs +2 -0
- package/package.json +3 -1
- package/dist/client/assets/ActivityScreen-Cu_1V4bq.js +0 -1
- package/dist/client/assets/AgentConfigurationScreen-BqfOz90D.js +0 -1
- package/dist/client/assets/AgentDefinitionsWorkspace-CUpUrY57.js +0 -1
- package/dist/client/assets/AgentFloorView-8LoAEBwS.js +0 -1
- package/dist/client/assets/AgentInfoScreen-DZs2_ibL.js +0 -1
- package/dist/client/assets/AgentLanesEmbedScreen-W3qs022h.js +0 -1
- package/dist/client/assets/AgentLanesView-B9vuEEmZ.js +0 -2
- package/dist/client/assets/AgentsConsole-BgiYP2wR.js +0 -1
- package/dist/client/assets/AgentsScreen-DBi8x4MB.js +0 -1
- package/dist/client/assets/AgentsSubnav-DIEO4NPx.js +0 -1
- package/dist/client/assets/BackToPicker-BRvfostO.js +0 -1
- package/dist/client/assets/CodeDiffPane-DDPt6KPh.js +0 -1
- package/dist/client/assets/CodeScreen-BxCrpRHd.js +0 -1
- package/dist/client/assets/ConversationFeedRows-B_gPxcqA.js +0 -1
- package/dist/client/assets/ConversationHeader-DE3FC0m-.js +0 -1
- package/dist/client/assets/ConversationPanels-DLek4H6A.js +0 -2
- package/dist/client/assets/ConversationScreen-BDRhx-RU.js +0 -1
- package/dist/client/assets/ConversationScreen-C9yMAMYF.css +0 -1
- package/dist/client/assets/ConversationStatus-BwVLiiO4.js +0 -1
- package/dist/client/assets/FlightObserveScreen-6RpZYwVz.js +0 -1
- package/dist/client/assets/HarnessesScreen-CznAImej.js +0 -1
- package/dist/client/assets/KnowledgeSearchInspector-Dgdkfvvz.js +0 -1
- package/dist/client/assets/KnowledgeSearchScreen-DJDGGaqC.js +0 -1
- package/dist/client/assets/LaneTraceDetailSheet-D1CspRbl.js +0 -1
- package/dist/client/assets/MeshScreen-DFgevn8N.js +0 -1
- package/dist/client/assets/MessagesScreen-C8YKW10Y.js +0 -1
- package/dist/client/assets/MissionLeftAgentRow-BpZWntfl.js +0 -1
- package/dist/client/assets/NewChatComposer-Cs6OsxK6.js +0 -19
- package/dist/client/assets/ObserveEmbedScreen-y2EpuqRZ.js +0 -2
- package/dist/client/assets/OpenScoutAppShell-C_URc8sV.js +0 -87
- package/dist/client/assets/OpsAgentsView-UN7iOscs.js +0 -1
- package/dist/client/assets/OpsScreen-Buf3LKjb.js +0 -1
- package/dist/client/assets/OpsSubnav-DsuXzHah.js +0 -1
- package/dist/client/assets/ProjectAgentProfile-DJusrAV-.js +0 -1
- package/dist/client/assets/ProjectAgentProfileHero-BFwNJo_N.js +0 -1
- package/dist/client/assets/ProjectsInbox-GhVMxOhw.js +0 -2
- package/dist/client/assets/ProjectsScreen-eNUBy4YU.js +0 -1
- package/dist/client/assets/ProjectsThreadAside-CoBgnHmr.js +0 -1
- package/dist/client/assets/Provider-C7UKGHQy.js +0 -1
- package/dist/client/assets/RawSessionsTable-DL8y_eEy.js +0 -1
- package/dist/client/assets/RealtimeVoiceScreen-ffS-39zy.js +0 -1
- package/dist/client/assets/RepoDiffViewer-D_exm6xK.js +0 -7
- package/dist/client/assets/RepoDiffViewerLazy-BPgF92Bg.js +0 -2
- package/dist/client/assets/SessionEmbedScreen-BVC7yvWF.js +0 -1
- package/dist/client/assets/SessionObserve-BpggNO_M.css +0 -1
- package/dist/client/assets/SessionObserve-yfXFafp8.js +0 -12
- package/dist/client/assets/SessionRefScreen-DRgJu7Jo.js +0 -1
- package/dist/client/assets/SessionsScreen-D6XUsZfA.js +0 -1
- package/dist/client/assets/SettingsDrawer-CmJt72ww.css +0 -1
- package/dist/client/assets/SettingsScreen-Cy8z-EuR.js +0 -1
- package/dist/client/assets/SpriteAvatar-DyaGuhik.js +0 -1
- package/dist/client/assets/Terminal-CqvGbjXU.js +0 -1
- package/dist/client/assets/TerminalEmbedScreen-DuZZFFzW.js +0 -1
- package/dist/client/assets/agent-lane-card-Dm7YWoew.css +0 -1
- package/dist/client/assets/content-BDt9VBPk.js +0 -1
- package/dist/client/assets/content-BIXf4cKR.js +0 -1
- package/dist/client/assets/content-BLm0NBJM.js +0 -1
- package/dist/client/assets/content-C5UbLsDF.js +0 -1
- package/dist/client/assets/content-CR3vdrYY.js +0 -1
- package/dist/client/assets/content-CSPVmo2s.js +0 -1
- package/dist/client/assets/content-C_FGqx1X.js +0 -1
- package/dist/client/assets/content-CvlVUOG8.js +0 -1
- package/dist/client/assets/content-DTpQsomG.js +0 -1
- package/dist/client/assets/content-DikVsqLf.js +0 -1
- package/dist/client/assets/content-DlUe5Ono.js +0 -1
- package/dist/client/assets/content-GIBv_55n.js +0 -1
- package/dist/client/assets/content-Q2oclDzi.js +0 -1
- package/dist/client/assets/conversation-model-B47vYmWN.js +0 -1
- package/dist/client/assets/conversation-motion-features-BdAONVls.js +0 -1
- package/dist/client/assets/discover-C1YwpBDE.js +0 -2
- package/dist/client/assets/embed-entry-BAcGL3g9.js +0 -2
- package/dist/client/assets/home-now-card-BgvNWuea.js +0 -1
- package/dist/client/assets/hooks-B6y_O2FB.js +0 -2
- package/dist/client/assets/inbox-thread-redesign-Bz4FjWzr.css +0 -1
- package/dist/client/assets/index-BcuhqXLe.js +0 -1
- package/dist/client/assets/index-CJXzfjo9.js +0 -1
- package/dist/client/assets/index-DQPvraRS.js +0 -1
- package/dist/client/assets/index-DxGoC5l5.css +0 -1
- package/dist/client/assets/knowledge-search-CVxQwxPn.js +0 -1
- package/dist/client/assets/knowledge-search-DjrQdiiW.css +0 -1
- package/dist/client/assets/left-C--GiIh8.js +0 -2
- package/dist/client/assets/left-Cj7Rt89X.js +0 -1
- package/dist/client/assets/left-CpNEtFEg.js +0 -1
- package/dist/client/assets/left-CzXAuK_t.js +0 -2
- package/dist/client/assets/left-agents-Bo9sO1by.js +0 -1
- package/dist/client/assets/left-bN4PCAXa.js +0 -1
- package/dist/client/assets/left-default-DV9GdvYi.js +0 -1
- package/dist/client/assets/left-jYYGAOYD.js +0 -1
- package/dist/client/assets/left-lanes-D0l_Co7V.js +0 -1
- package/dist/client/assets/left-mission-Ci7zREkQ.js +0 -1
- package/dist/client/assets/left-plan-D4U1uflW.js +0 -2
- package/dist/client/assets/library-D-RxGiCw.js +0 -1
- package/dist/client/assets/profile-CVRziEDA.js +0 -1
- package/dist/client/assets/repo-diff-C9Qs-bEn.css +0 -1
- package/dist/client/assets/resolve-panes-r9B3mpW7.js +0 -1
- package/dist/client/assets/resolve-sidebar-context-DcG8xGaB.js +0 -1
- package/dist/client/assets/right-BHeiIaty.js +0 -1
- package/dist/client/assets/right-BkgKo9VT.js +0 -1
- package/dist/client/assets/right-BpEU5jWE.js +0 -1
- package/dist/client/assets/right-CRZXoy-X.js +0 -1
- package/dist/client/assets/right-ChF_pbPy.js +0 -1
- package/dist/client/assets/right-DMoUT3KN.js +0 -1
- package/dist/client/assets/right-T4Ue6EqM.js +0 -1
- package/dist/client/assets/right-wzrLXKur.js +0 -1
- package/dist/client/assets/router-Bq5dwf78.js +0 -1
- package/dist/client/assets/secondaryNavConfig-DqUIp0Es.js +0 -1
- package/dist/client/assets/sparkles-ClfRJQ6w.js +0 -1
- package/dist/client/assets/useContentSecondaryNav-DMl1WNm7.js +0 -1
- package/dist/client/assets/usePierreRuntime-wC-yMtBb.js +0 -50
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/resolve-panes-r9B3mpW7.js","assets/index-DMiGbrBt.js","assets/index-DxGoC5l5.css","assets/content-CSPVmo2s.js","assets/ActivityScreen-Cu_1V4bq.js","assets/api-h5zurxmi.js","assets/clipboard-e3fSpeo7.js","assets/sse-CjIkKo46.js","assets/index-BWHgHrtv.js","assets/colors-BtO5_zlx.js","assets/Provider-C7UKGHQy.js","assets/router-Bq5dwf78.js","assets/terminal-sessions-D5CIR2OL.js","assets/surface-activity-B1rgWB1i.js","assets/scoutbot-BTIErYHo.js","assets/ContextMenu-bARZqTzD.js","assets/DocumentFocusViewer-BeVwwl26.js","assets/createLucideIcon-OpA4Amw5.js","assets/TextDocumentSurface-BpAw4eQS.js","assets/file-text-BODxCjcz.js","assets/x-D3GElQbe.js","assets/document-focus-viewer-BSC_JwVE.css","assets/chevron-right-XiIHsk4m.js","assets/code-xml-B6jOCM4V.js","assets/arrow-left-DEZzHiPS.js","assets/scout-voice-CU5c0LGi.js","assets/fx-z37u1o2z.js","assets/keyboard-nav-2kv_tGUS.js","assets/MessageComposerSuggestions-DpxN9WiB.js","assets/NewChatComposer-Cs6OsxK6.js","assets/runtime-picker-Bcl5iIX5.js","assets/voice-levels-Dcr3jglk.js","assets/loader-circle-CbHjZsz1.js","assets/runtime-picker-vhm0gtLs.css","assets/index-CJXzfjo9.js","assets/HarnessMark-Cbv3Ib0c.js","assets/conversation-model-B47vYmWN.js","assets/time-DltNTpLl.js","assets/NewChatOrigin-Bk2OyVjI.js","assets/agent-chat-Bfjd9y6c.js","assets/model-Co0zkMIc.js","assets/text-DsBWV_4k.js","assets/chevron-down-BGk5qoEw.js","assets/search-CWfZtOt2.js","assets/NewChatComposer-W-t-L4oV.css","assets/Provider-CCzjtkda.css","assets/mentions-jSuTGeet.js","assets/AgentDetailCard-BcRBRp88.js","assets/AgentLiveActions-DBtnD0qE.js","assets/terminal-takeover-B8UeD9OX.js","assets/openContent-C6XO6kr5.js","assets/eye-0PvebX_a.js","assets/terminal-B9AOZQKR.js","assets/AgentLiveActions-CGS-Bxb7.css","assets/AgentDetailCard-C4WVeJvJ.css","assets/EmptyState-4F9XDFQm.js","assets/system-surfaces-redesign-CD26LFc0.css","assets/left-CpNEtFEg.js","assets/AgentAvatar-D90c1Rzk.js","assets/SpriteAvatar-DyaGuhik.js","assets/ctx-panel-B4s49N9e.css","assets/content-BIXf4cKR.js","assets/AgentInfoScreen-DZs2_ibL.js","assets/BackToPicker-BRvfostO.js","assets/BackToPicker-CdgVu-to.css","assets/ObservedTopologyPanel-DyUeV98H.js","assets/ObservedTopologyPanel-BsBsvVPL.css","assets/agents-detail-redesign-h34ROjOW.css","assets/AgentsScreen-DBi8x4MB.js","assets/AgentsSubnav-DIEO4NPx.js","assets/SecondaryNav-B3-nh5dM.js","assets/secondaryNavConfig-DqUIp0Es.js","assets/message-square-DSaGpjFU.js","assets/scroll-text-D6Pdnar7.js","assets/secondaryNavConfig-xssF_ubT.css","assets/library-D-RxGiCw.js","assets/AgentSessions-DyqOf4nG.js","assets/agents-project-model-UYiamtrU.js","assets/agents-project-COzHxZAF.css","assets/profile-CVRziEDA.js","assets/context-budget-CbB4BDcO.js","assets/session-catalog-BmoyVTJ_.js","assets/terminal-relay-CWbJ1RCW.js","assets/ConversationScreen-BDRhx-RU.js","assets/ConversationComposer-Bla3DDvM.js","assets/message-markup-3J9pi3nx.js","assets/message-visibility-kJM8XcSG.js","assets/sessionRead-CvFz2RHv.js","assets/types-B0PlfpKc.js","assets/ConversationHeader-DE3FC0m-.js","assets/ConversationFeedRows-B_gPxcqA.js","assets/ConversationPanels-DLek4H6A.js","assets/use-reduced-motion-RRBkmVkk.js","assets/activity-CA8qS6PI.js","assets/message-circle-CG-96zts.js","assets/tail-display-BdyoLvzY.js","assets/lane-edit-display-C_Aujldz.js","assets/tail-events-D19uAGe3.js","assets/ConversationStatus-BwVLiiO4.js","assets/conversation-icons-IIG5ha6D.js","assets/ConversationScreen-C9yMAMYF.css","assets/ops-screen-giu3If_N.css","assets/SessionObserve-yfXFafp8.js","assets/bash-format-BRV5C6Gv.js","assets/lane-tool-detail-0WhMf4Vj.js","assets/LaneToolHoverCard-Bla0gBdm.js","assets/lane-observe-D0rfKDnU.js","assets/lane-ask-display-B6iCAVcd.js","assets/ObserveTextFlow-rsFj_rVo.js","assets/wrench-Bkc_0lKF.js","assets/external-link-CXBytO9o.js","assets/SessionObserve-BpggNO_M.css","assets/AgentDefinitionsWorkspace-CUpUrY57.js","assets/project-overview-helpers-BQTc_Ous.js","assets/FileViewerPane-CLgUhSm4.js","assets/agent-definitions-CymTYqvo.css","assets/agent-essentials-BSY1o46q.js","assets/agent-directory-studio-injection-Bc8590z5.css","assets/agents-screen-BMu6PpRY.css","assets/ops-atop-BB4B4JdE.css","assets/right-BkgKo9VT.js","assets/openAgent-Bjt57GdM.js","assets/TmuxPeek-m1osv33Q.js","assets/refresh-cw-BBmAnCB7.js","assets/ProjectsRail-BgiuV4LR.js","assets/AddProjectForm-DMnobKch.js","assets/projects-inbox-CHyUFQ6w.js","assets/model-CpAxGuis.js","assets/projects-inbox-COZ23dLR.css","assets/ProjectsScreen-eNUBy4YU.js","assets/ProjectsInbox-GhVMxOhw.js","assets/api-BkjHJfgJ.js","assets/ui-LM8pS8qE.js","assets/SessionRefScreen-DRgJu7Jo.js","assets/inbox-thread-redesign-Bz4FjWzr.css","assets/cache-Dr0why2k.js","assets/arrow-up-right-ClxBnsi7.js","assets/ProjectAgentProfile-DJusrAV-.js","assets/ProjectAgentProfileBar-CtTpj6fU.js","assets/ProjectsThreadAside-CoBgnHmr.js","assets/content-GIBv_55n.js","assets/BriefingDetailScreen-BwFyysT8.js","assets/briefings-BwuAFQK6.css","assets/BriefingsScreen-BQEevztH.js","assets/content-CvlVUOG8.js","assets/BrokerScreen-7ekklu88.js","assets/status-tone-BM_zuRy1.js","assets/broker-display-pp33bLsu.js","assets/BrokerMetadataPanel-7UjcuNjd.js","assets/DispatchAftermath-Dpe88DFX.js","assets/follow-route-BvcGtBIL.js","assets/ShikiPane-Ap1iPxYb.js","assets/arrow-down-BPLe0am9.js","assets/bot-eu8pBNvI.js","assets/check-DjgFiBxb.js","assets/copy-CQGYbxdu.js","assets/sparkles-ClfRJQ6w.js","assets/plus--b1raV_O.js","assets/send-horizontal-Bg5-QggH.js","assets/radio-Bz8ZePxj.js","assets/left-CzXAuK_t.js","assets/conversation-prefs-DNre-Lcx.js","assets/use-conversation-list-Byab41G6.js","assets/use-fleet-active-asks-BIbQx5AS.js","assets/RailRow-BoGxAHNF.js","assets/RailRow-Cf9LOiEj.css","assets/content-DikVsqLf.js","assets/MessagesScreen-C8YKW10Y.js","assets/right-wzrLXKur.js","assets/CodeScreen-BxCrpRHd.js","assets/CodeDiffPane-DDPt6KPh.js","assets/usePierreRuntime-wC-yMtBb.js","assets/repo-diff-C9Qs-bEn.css","assets/CodeProjectPicker-DqKFCpLU.js","assets/code-screen-DrKinCyh.css","assets/content-D5kJmfgl.js","assets/FollowScreen-DZ4qfYOY.js","assets/content-C_FGqx1X.js","assets/HarnessesScreen-CznAImej.js","assets/useContentSecondaryNav-DMl1WNm7.js","assets/OpsSubnav-DsuXzHah.js","assets/harnesses-screen-DBZoTZz8.css","assets/left-C--GiIh8.js","assets/operator-attention-BwSPeheT.js","assets/left-CAaRBK9S.css","assets/content-C2EwTb2y.js","assets/HomeHero-B3uYd-pP.js","assets/HomeHero-DEl-WBsT.css","assets/TailView-DGj_5HA9.js","assets/SlidePanel-COwtoJqR.js","assets/SlidePanel-Bg5dVaIa.css","assets/TailView-Mj3AU2u0.css","assets/observe-CuLGD9Zp.js","assets/agent-lanes-model-B4YTt4OF.js","assets/home-moving-signal-CK147hxn.js","assets/home-live-action-B22u89j7.js","assets/home-moving-signal-CAa0V91u.css","assets/content-CHU0wwA3.css","assets/right-BHeiIaty.js","assets/left-jYYGAOYD.js","assets/mesh-view-store-CWidRbTE.js","assets/mesh-buckets-CfAukILK.js","assets/FleetSearch-Dz5euQJe.js","assets/FleetSearch-EXOe8ulE.css","assets/left-Bk3XnxPD.css","assets/content-DTpQsomG.js","assets/MeshScreen-DFgevn8N.js","assets/MeshCanvas-DFEPkpqY.js","assets/chunk-T65CQEWV-CrzwSeEt.js","assets/useAgentHoverCard-DMrbBif0.js","assets/local-agents--00gLMqr.js","assets/mesh-screen-BSDUjrnV.css","assets/right-BpEU5jWE.js","assets/left-bN4PCAXa.js","assets/left-agents-Bo9sO1by.js","assets/left-default-DV9GdvYi.js","assets/left-lanes-D0l_Co7V.js","assets/lane-roster-store-D8x1jac2.js","assets/left-mission-Ci7zREkQ.js","assets/mission-control-store-BlnEhiCq.js","assets/MissionLeftAgentRow-BpZWntfl.js","assets/page-status-DpkedE1F.js","assets/left-mission-DSenPIyb.css","assets/left-plan-D4U1uflW.js","assets/content-BDt9VBPk.js","assets/OpsScreen-Buf3LKjb.js","assets/AgentLanesView-B9vuEEmZ.js","assets/AgentFloorView-8LoAEBwS.js","assets/agent-floor-CuJr1iK1.css","assets/AgentLanesPreflight-eSAoDsPi.js","assets/AgentLaneChrome-D9ZwUKrl.js","assets/AgentLaneCard-RrNnDZu8.js","assets/AgentLaneSummaryResize-BhFmGNzT.js","assets/agent-lane-card-Dm7YWoew.css","assets/agent-lane-card-model-r2frk57c.js","assets/agent-lane-preview-CmHVe3dU.js","assets/AgentLaneDetailSheet-BXbPls9N.js","assets/agent-lane-detail-Djm3YJEa.js","assets/LaneTraceDetailSheet-D1CspRbl.js","assets/LaneTraceEventFocus-BF9ERP5O.js","assets/agent-lanes-BDNktFBZ.css","assets/MissionControlView-lUeAiSVg.js","assets/MissionFocusOverlay-wlCmWDCT.js","assets/mission-control-model-C0fByIjm.js","assets/MissionLogPane-__MVtEl9.js","assets/mission-control-D3ikEPND.css","assets/OpsAgentsView-UN7iOscs.js","assets/DataTable-E8s_MmoA.js","assets/resizable-columns-C7ygvLt8.css","assets/sliders-horizontal-1oW76Xc9.js","assets/ops-agents-BOYxzPTm.css","assets/PlanView-C1CjH3PG.js","assets/plan-view-D56fneVF.css","assets/AtopView-BCkae3e1.js","assets/page-status-bar-ByUD7VPM.css","assets/content-DlUe5Ono.js","assets/RepoDiffPageScreen-DMv6DioL.js","assets/RepoDiffViewerLazy-BPgF92Bg.js","assets/ReposScreen-CB_YBWYf.js","assets/selection-bridge-16pk1qyG.js","assets/console-B1IBqLI_.css","assets/right-DjRXbnRP.js","assets/content-CR3vdrYY.js","assets/KnowledgeSearchScreen-DJDGGaqC.js","assets/knowledge-search-CVxQwxPn.js","assets/knowledge-search-DjrQdiiW.css","assets/KnowledgeSearchInspector-Dgdkfvvz.js","assets/content-BLm0NBJM.js","assets/SessionsScreen-D6XUsZfA.js","assets/RawSessionsTable-DL8y_eEy.js","assets/FlightObserveScreen-6RpZYwVz.js","assets/flight-observe-GFg9L8ft.css","assets/right-DMoUT3KN.js","assets/content-Q2oclDzi.js","assets/SettingsScreen-Cy8z-EuR.js","assets/StatusPill-DhBL__p8.js","assets/AgentConfigurationScreen-BqfOz90D.js","assets/server-CPp4ZJhZ.js","assets/SettingsDrawer-XfdAa_nD.js","assets/VoicePermissionsPanel-DsK53ar4.js","assets/VoicePermissionsPanel-RijAZ1gP.css","assets/SettingsDrawer-CmJt72ww.css","assets/left-Cj7Rt89X.js","assets/session-table-DZcrKoIH.js","assets/left-CCoobxPS.css","assets/Terminal-CqvGbjXU.js","assets/chunk-YOZR3KYS-Bet8khjg.js","assets/terminal-screen-19jAI0Cw.css","assets/right-T4Ue6EqM.js","assets/content-C5UbLsDF.js","assets/WorkDetailScreen-Bx0JimPC.js","assets/WorkFilesViewer-Btl6C2Q1.js","assets/right-CRZXoy-X.js","assets/RealtimeVoiceScreen-ffS-39zy.js","assets/ScoutbotRealtimeVoiceCall-FMQOr1Np.js","assets/collapsed-strip-Dz-of2SM.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{r as a,j as r,_ as E,h,M as S}from"./index-DMiGbrBt.js";import{F as j,S as w,h as x,i as y,j as _,k as g}from"./router-Bq5dwf78.js";import{u as C,j as P}from"./Provider-C7UKGHQy.js";import{f as R}from"./scoutbot-BTIErYHo.js";import{r as F}from"./types-B0PlfpKc.js";import{r as N}from"./discover-C1YwpBDE.js";import"./terminal-sessions-D5CIR2OL.js";import"./api-h5zurxmi.js";import"./sse-CjIkKo46.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./ContextMenu-bARZqTzD.js";import"./DocumentFocusViewer-BeVwwl26.js";import"./createLucideIcon-OpA4Amw5.js";import"./TextDocumentSurface-BpAw4eQS.js";/* empty css */import"./file-text-BODxCjcz.js";import"./x-D3GElQbe.js";import"./chevron-right-XiIHsk4m.js";import"./code-xml-B6jOCM4V.js";import"./arrow-left-DEZzHiPS.js";import"./scout-voice-CU5c0LGi.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-2kv_tGUS.js";import"./MessageComposerSuggestions-DpxN9WiB.js";import"./NewChatComposer-Cs6OsxK6.js";import"./runtime-picker-Bcl5iIX5.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CbHjZsz1.js";import"./index-CJXzfjo9.js";import"./HarnessMark-Cbv3Ib0c.js";import"./conversation-model-B47vYmWN.js";import"./time-DltNTpLl.js";import"./NewChatOrigin-Bk2OyVjI.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-BGk5qoEw.js";import"./search-CWfZtOt2.js";function O(e,o,t=R,i=()=>!1){!i(e)&&t({type:"navigate",route:e})||o(e)}const U=a.lazy(async()=>{const{resolveContentPane:e}=await E(async()=>{const{resolveContentPane:o}=await import("./resolve-panes-r9B3mpW7.js");return{resolveContentPane:o}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295]));return{default:({route:o,navigate:t,agents:i})=>e(o,t,i)}});function l(e,o){if(!e||typeof e!="object"||!o||typeof o!="object")return!1;const t=e;return Object.entries(o).every(([i,n])=>t[i]===n)}function A({surface:e}){const{route:o,navigate:t,agents:i}=C(),n=e.Screen,s=e.embed,c=!!e.embed?.ownsInternalRoutes,d=a.useCallback(m=>c&&l(m,e.route),[c,e.route]),p=a.useCallback(m=>O(m,t,void 0,d),[d,t]),u=typeof window>"u"||e.embedPaths.includes(window.location.pathname)||l(o,e.route),b=a.useMemo(()=>s.resolveEmbedProps?s.resolveEmbedProps(new URLSearchParams(window.location.search)):{},[s]),v=F(s),f=[s.rootClassName,"s-discovered-embed",v.showSecondaryNav?"":"s-discovered-embed--lean"].filter(Boolean).join(" ");return r.jsx("div",{className:f,"data-scout-theme":!0,"data-scout-surface":e.id,children:u?r.jsx(n,{navigate:p,embedded:!0,...b}):r.jsx(a.Suspense,{fallback:null,children:r.jsx(U,{route:o,navigate:p,agents:i})})})}async function je(e,o){const t=await N(window.location.pathname);return t?(h.createRoot(e).render(r.jsx(a.StrictMode,{children:r.jsx(S,{children:r.jsx(j,{registry:_,audience:y,audienceOrder:x,storageKey:w,initialLayers:g(),children:r.jsx(P,{initialTheme:o,children:r.jsx(A,{surface:t})})})})})),!0):!1}export{je as mountDiscoveredEmbed};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as _,j as s}from"./index-DMiGbrBt.js";import{A as ee}from"./AgentAvatar-D90c1Rzk.js";import{H as se}from"./HarnessMark-Cbv3Ib0c.js";import{a as te}from"./colors-BtO5_zlx.js";import{f as ne}from"./text-DsBWV_4k.js";import{n as h}from"./time-DltNTpLl.js";import{l as ae,h as le,b as re,d as G}from"./home-live-action-B22u89j7.js";import{a as ie}from"./agent-lane-card-model-r2frk57c.js";import{HomeNowNanoStat as A,HomeNowFilesPanel as oe}from"./home-now-card-nano-BcjnOU9H.js";import"./SpriteAvatar-DyaGuhik.js";import"./terminal-sessions-D5CIR2OL.js";import"./api-h5zurxmi.js";import"./context-budget-CbB4BDcO.js";import"./lane-observe-D0rfKDnU.js";import"./tail-display-BdyoLvzY.js";import"./lane-edit-display-C_Aujldz.js";import"./bash-format-BRV5C6Gv.js";import"./agent-lane-preview-CmHVe3dU.js";import"./lane-ask-display-B6iCAVcd.js";import"./agent-lanes-model-B4YTt4OF.js";function ce(e,t,a,n){const l={id:e.id,agent:e,source:e.id.startsWith("native:")?"native":"scout",observe:t??null,lastActiveAt:n};return ie(l,{isLive:a,nowMs:n})}function de(e){return e.stats.tools>0||e.stats.files>0||e.context!==null||e.pops.edits.rows.length>0||e.pops.files.rows.length>0}function ue(e,t=140){const a=(e??"").replace(/\s+/g," ").trim();return a?a.length>t?`${a.slice(0,t-1)}…`:a:""}function me(e,t=118){if(e.length<=t)return e;const a=Math.ceil((t-1)*.58),n=Math.floor((t-1)*.42);return`${e.slice(0,a).trimEnd()}…${e.slice(e.length-n).trimStart()}`}function Q(e){return e?e.startsWith("/Users/")?`~/${e.split("/").slice(3).join("/")}`:(e.startsWith("~/"),e):null}function pe(e){const t=e?.trim();if(!t)return null;const a=t.endsWith(".jsonl")?t.slice(0,-6):t,n=a.split(/[/:]/u).filter(Boolean).pop()??a;return/^[0-9a-f]{8}-[0-9a-f]{4}-/iu.test(n)?`${n.slice(0,8)}…${n.slice(-6)}`:me(n,22)}function he(e){const t=e?.trim();return t?t.replace(/^claude-/iu,"").replace(/^gpt-/iu,"gpt ").replace(/\s*\([^)]*\)\s*/u," ").replace(/\s+/g," ").trim():null}function fe(e){const t=e?.trim();return t?t.replace(/\.local$/iu,"").replace(/-local$/iu,""):null}function W(e,t){const a=h(e);if(a===null)return"—";const n=Math.max(0,Math.floor((t-a)/1e3));if(n<60)return`${n}s`;const l=Math.floor(n/60);if(l<60)return`${l}m`;const d=Math.floor(l/60);return d<48?`${d}h`:`${Math.floor(d/24)}d`}function xe(e,t){const a=e?.summary?.trim();if(!a)return null;const n=a.replace(/\s+/g," ");return!n||n===t||/acknowledged via|queued for local execution|received the message/i.test(n)?null:{line:ue(n,120)}}function we(e,t,a=!1){const n=h(t?.startedAt)??h(t?.acknowledgedAt)??h(t?.updatedAt)??null,l=h(e.updatedAt),d=t?.task?.trim()||e.project||Q(e.cwd)||`Working in ${e.project??"workspace"}`,o=t?.status??"working",u=te(e.state)||a,m=o==="completed"?"delivered":o==="failed"?"failed":o==="queued"?"queued":u?"working":"idle";return{agentId:e.id,agentName:e.name,harness:t?.harness??e.harness,model:e.model,branch:e.branch??"main",task:{title:d,openedAt:n},execution:{state:m,lastEventAt:l},checkpoint:xe(t,d),reply:{state:o==="completed"?"delivered":"none",deliveredAt:h(t?.completedAt)}}}function je(e){return e.execution.state==="failed"?"failed":e.reply.state==="delivered"?"delivered":e.execution.state==="queued"?"queued":e.execution.state==="idle"?"idle":"live"}function ke(e,t){e.key!=="Enter"&&e.key!==" "||(e.preventDefault(),t())}function B(e){e.stopPropagation()}function be(e){switch(e){case"spotlight":return 40;case"duo":return 32;case"strip":return 28;case"dense":return 24}}function Ne(e){switch(e){case"spotlight":return 22;case"duo":return 20;case"strip":return 18;case"dense":return 16}}function ve(e,t){return t?e==="spotlight"||e==="duo":!1}function ge(e){switch(e){case"spotlight":return{w:96,h:20};case"duo":return{w:88,h:20};case"strip":return{w:72,h:18};case"dense":return{w:64,h:16}}}function ye(e,t){if(e.length<=t)return e;const a=new Array(t).fill(0);for(let n=0;n<e.length;n+=1){const l=Math.min(t-1,Math.floor(n/e.length*t));a[l]+=e[n]}return a}function z({pulse:e,layout:t}){const{w:a,h:n}=ge(t),l=ye(e.counts,Math.max(5,Math.round(a/8))),d=l.length>0?Math.max(...l):0;if(d<=0||l.length<2)return null;const o=2,u=a/l.length,m=Math.max(1.5,u-o),N=2,v=n-1,c=l.length-1;return s.jsx("span",{className:"s-now-card-pulse",style:{width:a,height:n},title:"activity · last 30m","aria-hidden":"true",children:s.jsx("svg",{viewBox:`0 0 ${a} ${n}`,preserveAspectRatio:"none",children:l.map((r,j)=>{if(r<=0)return null;const g=Math.min(v,Math.max(N,r/d*v)),k=j*u+(u-m)/2;return s.jsx("rect",{x:k.toFixed(2),y:(n-g).toFixed(2),width:m.toFixed(2),height:g.toFixed(2),fill:"var(--accent)",fillOpacity:j===c?"0.95":"0.62"},j)})})})}function Ge({agent:e,ask:t,context:a,observeData:n,observeLive:l=!1,lastActivityAt:d,layout:o,nowMs:u,navigate:m,enter:N=!1,enterIndex:v=0}){const c=we(e,t,l),r=_.useMemo(()=>ce(e,n,l,u),[e,n,l,u]),j=de(r),g=ve(o,j),k=je(c),H=e.projectRoot??e.cwd??void 0,R=Q(H)??"no workspace",M=c.branch??"no branch",b=r.harness??c.harness??null,y=r.model??he(a?.model??c.model),q=pe(a?.sessionId??e.harnessSessionId),f=r.context??a?.contextPct??null,I=fe(e.homeNodeName??e.nodeQualifier),D=h(n?.metadata?.session?.sessionStart),K=D!==null?W(D,u):null,p=n?.pulse??null,L=!!(p&&p.counts.some(i=>i>0)),U=c.task.openedAt?W(c.task.openedAt,u):"new",P=h(d)??c.execution.lastEventAt,S=W(P,u),E=ae({observeData:n,checkpoint:c.checkpoint?.line??null,fallbackTask:c.task.title,observeLive:l,skipLifecycleTokens:!0}),J=le(e),X=re(e),w=o==="dense",T=o==="strip",Y=r.pops.edits.rows.length>0?r.pops.edits:r.pops.files,Z=r.pops.edits.rows.length>0?"Files modified":"Files touched",O=[{key:"root",text:R,title:H,mono:!0},{key:"branch",text:M,title:M,mono:!0}];e.role&&O.push({key:"role",text:ne(e.role)??e.role});const x=[{key:"last",label:"last activity",value:S,inlineValue:`last ${S}`,title:P!==null?`Last activity ${S} ago`:"Last activity unknown",tone:P!==null?"work":"dim"},{key:"turn",label:"turn",value:U,tone:c.task.openedAt?"work":"dim"}];f!==null&&x.push({key:"context",label:"context",value:`${f}%`,tone:f>=80?"warn":"work"}),K&&x.push({key:"uptime",label:"uptime",value:K,tone:"work"}),q&&!w&&x.push({key:"session",label:"session",value:q}),I&&!w&&x.push({key:"machine",label:"machine",value:I});const V=G(e,"observe"),$=i=>F=>{B(F),m(G(e,i))};return s.jsxs("article",{className:`s-now-card s-now-card--${k} s-now-card--layout-${o}${N?" s-now-card--enter":""}`,style:N?{"--enter-delay":`${v*45}ms`}:void 0,onClick:()=>m(V),onKeyDown:i=>ke(i,()=>m(V)),role:"button",tabIndex:0,children:[s.jsxs("div",{className:"s-now-card-top",children:[s.jsx(ee,{agent:e,placement:"row",size:be(o),className:"s-now-card-avatar"}),s.jsxs("div",{className:"s-now-card-ident",children:[s.jsx("span",{className:"s-now-card-name",title:c.agentName,children:c.agentName}),!w&&!T?s.jsxs("span",{className:`s-now-card-live s-now-card-live--${k}`,children:[s.jsx("span",{className:"s-now-card-live-dot","aria-hidden":"true"}),k]}):null]}),b||y?s.jsxs("div",{className:"s-now-card-runtime",title:y??b??void 0,children:[b?s.jsx(se,{harness:b,size:Ne(o),className:"s-now-card-hmark"}):null,y?s.jsx("span",{className:"s-now-card-model",children:y}):null]}):null]}),w?s.jsx("div",{className:"s-now-card-idline s-now-card-idline--dense",children:[b,R,M].filter(Boolean).join(" · ")}):s.jsx("div",{className:"s-now-card-idline",children:O.map((i,F)=>s.jsxs("span",{className:"s-now-card-idgroup",children:[F>0?s.jsx("span",{className:"s-now-card-idsep","aria-hidden":"true",children:"·"}):null,s.jsx("span",{className:`s-now-card-idpart${i.mono?" s-now-card-idpart--mono":""}`,title:i.title,children:i.text})]},i.key))}),E?s.jsxs("div",{className:`s-now-card-action${l?" s-now-card-action--live":""}`,children:[s.jsx("span",{className:"s-now-card-action-caret","aria-hidden":"true",children:"›"}),s.jsx("span",{className:"s-now-card-action-text",title:E,children:E}),l?s.jsx("span",{className:"s-now-card-action-cursor","aria-hidden":"true"}):null]}):null,w&&L&&p?s.jsx("div",{className:"s-now-card-pulse-cell",children:s.jsx(z,{pulse:p,layout:o})}):null,g?s.jsxs("div",{className:"s-now-card-detail",onClick:B,children:[s.jsxs("div",{className:"s-now-card-nanos",children:[r.stats.tools>0?s.jsxs(s.Fragment,{children:[s.jsx(A,{value:r.stats.tools,label:"tools",group:r.pops.tools}),r.stats.edits>0?s.jsx(A,{value:r.stats.edits,label:"edits",group:r.pops.edits}):null,r.stats.reads>0?s.jsx(A,{value:r.stats.reads,label:"reads",group:r.pops.reads}):null,r.stats.files>0?s.jsx(A,{value:r.stats.files,label:"files",group:r.pops.files}):null]}):s.jsx("span",{className:"s-now-card-nanos-empty",children:"no tool activity yet"}),L&&p?s.jsx(z,{pulse:p,layout:o}):null,f!==null?s.jsxs("span",{className:"s-now-card-ctx",title:`Context window ${f}% used`,children:[s.jsx("span",{className:"s-now-card-ctx-gauge","aria-hidden":"true",children:s.jsx("span",{className:"s-now-card-ctx-fill",style:{width:`${f}%`}})}),s.jsxs("span",{className:"s-now-card-ctx-val",children:[f,"%"]}),s.jsx("span",{className:"s-now-card-ctx-label",children:"ctx"})]}):null]}),s.jsx(oe,{label:Z,group:Y})]}):null,!w&&!T?s.jsx("div",{className:"s-now-card-metrics",style:{gridTemplateColumns:`repeat(${x.length}, minmax(0, 1fr))`},"aria-label":`${c.agentName} signals`,children:x.map(i=>s.jsx($e,{label:i.label,value:i.value,tone:i.tone,title:i.title},i.key))}):s.jsxs("div",{className:"s-now-card-metrics s-now-card-metrics--inline","aria-label":`${c.agentName} signals`,children:[T&&L&&p?s.jsx(z,{pulse:p,layout:o}):null,x.map(i=>s.jsx("span",{className:`s-now-card-metric-inline s-now-card-metric-inline--${i.tone??"dim"}`,title:i.title,children:i.inlineValue??i.value},i.key))]}),s.jsxs("div",{className:"s-now-card-actions",onClick:B,children:[s.jsx(C,{label:"Profile",onClick:$("profile")}),s.jsx(C,{label:"Observe",onClick:$("observe"),primary:!0}),s.jsx(C,{label:"Terminal",onClick:$("terminal"),disabled:!X}),s.jsx(C,{label:"Peek",onClick:$("peek"),disabled:!J})]})]})}function C({label:e,onClick:t,primary:a=!1,disabled:n=!1}){return s.jsx("button",{type:"button",className:`s-now-card-action-btn${a?" s-now-card-action-btn--primary":""}`,onClick:t,disabled:n,"aria-label":e,children:e})}function $e({label:e,value:t,tone:a="dim",title:n}){return s.jsxs("span",{className:`s-metric-tile s-metric-tile--${a}`,title:n,children:[s.jsx("strong",{children:t}),s.jsx("span",{children:e})]})}export{Ge as NowCard};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as s,j as f}from"./index-DMiGbrBt.js";import{b as k,L as N,s as L,M as O,u as g}from"./router-Bq5dwf78.js";import{a as E}from"./api-h5zurxmi.js";import{o as A,i as M}from"./surface-activity-B1rgWB1i.js";import{e as R}from"./agent-chat-Bfjd9y6c.js";import{u as h}from"./Provider-C7UKGHQy.js";import{l as T}from"./mesh-buckets-CfAukILK.js";import{S as _}from"./server-CPp4ZJhZ.js";import{i as j}from"./keyboard-nav-2kv_tGUS.js";import{S as x}from"./scoutbot-BTIErYHo.js";import{p as I,a as $,b as B,S as K,c as W}from"./secondaryNavConfig-DqUIp0Es.js";function P(e){return e?e.replace(/^https?:\/\//,"").split("/")[0].split(":")[0].split(".")[0]||e:""}function C(e){return P(e?.hostName)||e?.name||"machine"}function b(e,i,r,a){const t=i?.trim();!t||e.has(t)||e.set(t,{id:t,label:r?.trim()||t,group:a})}function D(e,i,r){const a=new Map;e?.localNode?.id&&b(a,e.localNode.id,C(e.localNode),"local");for(const t of Object.values(e?.nodes??{}))b(a,t.id,C(t),t.id===e?.localNode?.id?"local":"mesh");for(const t of i)b(a,t.authorityNodeId,t.authorityNodeName??t.authorityNodeId,"agent"),b(a,t.homeNodeId,t.homeNodeName??t.homeNodeId,"agent");return r&&b(a,r,r,"selected"),Array.from(a.values()).sort((t,l)=>{const c=t.group==="local"?0:t.group==="mesh"?1:t.group==="agent"?2:3,o=l.group==="local"?0:l.group==="mesh"?1:l.group==="agent"?2:3;return c!==o?c-o:t.label.localeCompare(l.label)})}function F({variant:e="bar"}){const{route:i,navigate:r,agents:a}=h(),[t,l]=s.useState(null),[c,o]=s.useState(!1),d=s.useRef(null),n=k(i);s.useEffect(()=>{if(!N(i))return;let u=!1;return E("/api/mesh").then(v=>{u||l(v)}).catch(()=>{u||l(null)}),()=>{u=!0}},[i.view]),s.useEffect(()=>{if(!c)return;const u=S=>{d.current?.contains(S.target)||o(!1)},v=S=>{S.key==="Escape"&&o(!1)};return document.addEventListener("mousedown",u),document.addEventListener("keydown",v),()=>{document.removeEventListener("mousedown",u),document.removeEventListener("keydown",v)}},[c]);const m=s.useMemo(()=>D(t,a,n),[a,t,n]);if(!N(i))return null;const p=n?m.find(u=>u.id===n)?.label??n:"All machines",y=f.jsxs("select",{id:"machine-scope-select",className:"machine-scope-select",value:n??"",onChange:u=>{const v=u.currentTarget.value;r(v?L(i,v):O(i)),o(!1)},title:p,children:[f.jsx("option",{value:"",children:"All machines"}),m.map(u=>f.jsx("option",{value:u.id,children:u.group==="local"?`${u.label} (this machine)`:u.label},u.id))]});return e==="rail"?f.jsxs("div",{className:"machine-scope machine-scope--rail",ref:d,children:[f.jsx("button",{type:"button",className:"machine-scope-rail-trigger","aria-label":`Machine scope: ${p}`,title:`Machine scope: ${p}`,"aria-expanded":c,onClick:()=>o(u=>!u),children:f.jsx(_,{size:16,strokeWidth:1.6,"aria-hidden":!0})}),c?f.jsxs("div",{className:"machine-scope-rail-popover",role:"dialog","aria-label":"Machine scope",children:[f.jsx("label",{className:"machine-scope-label",htmlFor:"machine-scope-select",children:"Scope"}),y]}):null]}):f.jsxs("div",{className:`machine-scope machine-scope--${e}`,children:[f.jsx("label",{className:"machine-scope-label",htmlFor:"machine-scope-select",children:"Scope"}),y]})}const U="C",be=["C"],ge=["⌘","⌥","N"],H="New task";function V(e){return e.key.toLowerCase()==="n"||e.code==="KeyN"}function Y(e){return e.key.toLowerCase()==="c"||e.code==="KeyC"}function Se(e){return j(e.target??null)?!1:Y(e)&&!e.metaKey&&!e.ctrlKey&&!e.altKey&&!e.shiftKey||V(e)&&!!(e.metaKey||e.ctrlKey)&&!!e.altKey&&!e.shiftKey}const w={inbox:"Home",conversation:"Conversation","agent-info":"Agent","agents-v2":"Projects",messages:"Messages",sessions:"Sessions",terminal:"Terminals",repos:"Repositories","repo-diff":"Diff",harnesses:"Agent Providers",search:"Search",activity:"Activity Log",briefings:"Briefings",mesh:"Network",broker:"Dispatch",settings:"Settings",work:"Work",follow:"Follow",code:"Code Browser",ops:"Operations",voice:"Live Voice"};function Ee(e){if(e.view==="settings"&&e.section==="agents")return"Configuration";switch(e.view){case"conversation":case"agent-info":case"repos":case"repo-diff":case"harnesses":case"mesh":case"broker":case"work":case"code":case"briefings":case"activity":case"follow":case"terminal":case"voice":return w[e.view]??e.view;case"ops":return e.mode==="tail"?"Live Activity":e.mode==="lanes"?"Agent Lanes":e.mode==="atop"?"Runtime Monitor":e.mode==="plan"?"Plans":e.mode==="mission"||e.mode==="issues"||e.mode===void 0?"Mission Control":w.ops;case"settings":return"Settings";default:return null}}const G=I(),q={...w,ops:"System"},z=new Set(["ops","broker","repos","harnesses","mesh","terminal","search","code","work","follow","settings","voice"]);function J(e){return e.view==="settings"&&e.section==="agents"?!1:z.has(e.view)}function Q(){return G}function X(e){if(e.view==="settings"&&e.section==="agents")return"agents";switch(e.view){case"agents-v2":case"agent-info":return"agents";case"sessions":return"sessions";case"conversation":case"messages":return"chat";case"ops":case"broker":case"repos":case"harnesses":case"mesh":case"terminal":case"search":case"code":case"work":case"follow":case"settings":case"voice":return"system";default:return"home"}}function Z(e){if(e.view==="settings"&&e.section==="agents")return"Configuration";switch(e.view){case"conversation":case"agent-info":case"repos":case"harnesses":case"mesh":case"broker":case"work":return q[e.view]??e.view;default:return null}}function ee({className:e="scout-nav-tabs",brandTag:i,items:r,activeKey:a,breadcrumb:t,navigate:l}){return s.createElement("div",{className:e},i&&s.createElement("span",{className:"scout-nav-scope-tag"},i),r.map(({key:c,label:o,route:d})=>s.createElement("button",{key:c,className:`scout-nav-tab${a===c?" active":""}`,onClick:()=>l(d)},o)),t&&s.createElement("span",{className:"scout-nav-slash"},"/"),t&&s.createElement("span",{className:"scout-nav-crumb"},t))}const te=$(),se=B();function ne(){const{route:e,navigate:i}=h(),r=g("ops.control",!0),[a,t]=s.useState(!1),l=s.useRef(null);s.useEffect(()=>{if(!a)return;const o=n=>{n.target instanceof Node&&l.current?.contains(n.target)||t(!1)},d=n=>{n.key==="Escape"&&t(!1)};return window.addEventListener("mousedown",o,!0),window.addEventListener("keydown",d),()=>{window.removeEventListener("mousedown",o,!0),window.removeEventListener("keydown",d)}},[a]);const c=o=>s.createElement("button",{key:o.key,type:"button",role:"menuitem",className:`scout-nav-system-item${o.active(e)?" active":""}`,onClick:()=>{t(!1),i(o.route)}},o.label);return s.createElement("div",{className:"scout-nav-system",ref:l},s.createElement("button",{type:"button",className:`scout-nav-action scout-nav-action--system${J(e)?" active":""}`,"aria-haspopup":"menu","aria-expanded":a,title:"System",onClick:()=>t(o=>!o)},s.createElement("span",null,"System"),s.createElement("span",{className:"scout-nav-system-caret","aria-hidden":!0},"▾")),a&&s.createElement("div",{className:"scout-nav-system-menu",role:"menu"},te.map(c),r&&s.createElement("div",{className:"scout-nav-system-divider",role:"separator"}),r&&se.map(c)))}function we(){const{navigate:e,agents:i,reload:r,applyScoutbotUiAction:a,openContextCapture:t}=h(),l=g("ops.control",!0),c=g("surface.scoutbot",!0),o=s.useCallback(()=>{a({type:"open-scoutbot",mode:"ask"}),window.dispatchEvent(new CustomEvent(x,{detail:{body:"What's the state of things? Give me a terse ops summary, the biggest risk, and the next action you recommend."}}))},[a]);return s.useMemo(()=>{const d=[{id:"session:new",label:H,action:()=>t(),shortcut:U},...W(e,{opsEnabled:l}),{id:"nav:settings",label:"Open Settings",action:()=>e({view:"settings",section:"appearance"}),shortcut:"Cmd+,"},...c?[{id:"scoutbot:open",label:"Open Scout",action:()=>a({type:"open-scoutbot",mode:"ask"})},{id:"scoutbot:state",label:"Message Scout for State",action:()=>o()},{id:"scoutbot:ops-tail",label:"Scout: Open Ops Tail",action:()=>a({type:"navigate",route:{view:"ops",mode:"tail"}})}]:[],{id:"nav:pair",label:"Pair Device",action:()=>e({view:"settings",section:"devices"})},{id:"scout:reload",label:"Reload Agents",action:()=>{r()}}];for(const n of i)d.push({id:`scout:open:${n.id}`,label:`Open ${n.name}`,action:()=>e({view:"agents-v2",agentId:n.id})}),d.push({id:`scout:message:${n.id}`,label:`Message ${n.name}`,action:()=>{R(n).then(m=>{e({view:"conversation",conversationId:m})}).catch(()=>e({view:"agents-v2",agentId:n.id,tab:"message"}))}});return d},[i,a,o,e,t,l,c,r])}function ae(){const{onlineCount:e,apiConnection:i}=h(),[r,a]=s.useState(null),[t,l]=s.useState(null),c=s.useRef(0),o=s.useCallback(async()=>{const n=++c.current;try{const m=await E("/api/mesh");if(n!==c.current)return;a(m)}catch{if(n!==c.current)return;a(null)}},[]);s.useEffect(()=>{o();const n=()=>{M()&&o()},m=setInterval(n,15e3),p=A(n);return()=>{clearInterval(m),p()}},[o]),s.useEffect(()=>{E("/api/build").then(l).catch(()=>l(null))},[]);const d=(()=>{if(!t)return{label:"dev",title:"Build information unavailable"};const n=t.mode==="production"?"prod":"dev",m=t.branch??"unknown",p=t.commit?` @ ${t.commit}${t.dirty?"*":""}`:"";return{label:`${n} ${m}${p}`,title:[`Mode: ${t.mode}`,`Version: ${t.version??"unknown"}`,`Branch: ${t.branch??"unknown"}`,`Commit: ${t.commit??"unknown"}`,`Dirty: ${t.dirty===null?"unknown":t.dirty?"yes":"no"}`].join(`
|
|
2
|
-
`)}})();return{status:i.status==="offline"?{label:"Scout: OFFLINE",color:"red"}:i.status==="degraded"?{label:"Scout: DEGRADED",color:"amber"}:r===null?{label:"Broker: …",color:"neutral"}:r.health.reachable?{label:"Broker: UP",color:"emerald"}:{label:"Broker: DOWN",color:"red"},activeAgents:{label:"Registered",count:e},mesh:(()=>{const n=T(r);return i.status==="offline"?{label:n,value:"offline",color:"red"}:r===null?{label:n,value:"checking",color:"neutral"}:r.health.reachable?Object.values(r.nodes).filter(p=>p.id!==r.localNode?.id).length>0?{label:n,value:"connected",color:"neutral"}:r.identity.discoverable?{label:n,value:"discoverable",color:"neutral"}:{label:n,value:"local",color:"amber"}:{label:n,value:"offline",color:"neutral"}})(),build:d}}function ye(){return ae().status}function Ne(){const{route:e,navigate:i}=h();return g("nav.sidebar",!1)?null:ee({items:Q(),activeKey:X(e),breadcrumb:Z(e),navigate:i})}function Ce(){const{openSettings:e}=h();return g("nav.sidebar",!1)?null:s.createElement("div",{className:"scout-nav-actions"},s.createElement(ne),s.createElement(F,{variant:"nav"}),s.createElement("button",{onClick:()=>e(),className:"scout-nav-action scout-nav-action--settings",title:"Settings"},s.createElement(K,{size:12,strokeWidth:1.6,"aria-hidden":!0}),s.createElement("span",null,"Settings")))}function ke(){return"panel"}function oe(e){return e.view==="ops"&&e.mode==="lanes"}function Le(){const{onboarding:e,onboardingSkipped:i,skipOnboarding:r,route:a}=h();if(oe(a))return{active:!1,dismissible:!0};if(!e)return null;if(i||e.needed===!1||e.skippedAt||e.completedAt)return{active:!1,dismissible:!0};const t=!e.hasLocalConfig,l=!e.hasProjectConfig,c=!e.hasOperatorName,o=!e.brokerReachable||!e.hasReadyRuntime;return{active:t||c||l||o,dismissible:!0,onDismiss:r}}export{H as N,ke as a,Ce as b,Ne as c,ye as d,we as e,be as f,ge as g,U as h,Ee as i,ae as j,Se as k,ee as r,Le as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.s-inbox-thread-redesign{--thread-panel-bg: color-mix(in srgb, var(--surface) 94%, transparent);--thread-panel-border: color-mix(in srgb, var(--border) 92%, var(--surface));--thread-panel-soft: color-mix(in srgb, var(--surface) 90%, var(--bg))}.s-inbox-thread-redesign.s-sessions-screen{display:flex;flex-direction:column;gap:0;padding:0;background:var(--bg);width:100%}.s-inbox-thread-redesign .s-thread-overview,.s-inbox-thread-redesign .s-thread-panel{border:none;background:transparent;border-radius:0;box-shadow:none}.s-inbox-thread-redesign .s-thread-overview{padding:var(--space-4xl) var(--space-5xl) var(--space-md)}.s-inbox-thread-redesign .s-thread-overview-copy{min-width:0}.s-inbox-thread-redesign .s-thread-kicker,.s-inbox-thread-redesign .s-thread-section-label{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-md);text-transform:uppercase;color:var(--muted)}.s-inbox-thread-redesign .s-thread-overview-heading{margin:0}.s-inbox-thread-redesign .s-sessions-header{margin-bottom:0}.s-inbox-thread-redesign .s-thread-overview-heading .s-page-title{font-size:var(--text-5xl);font-family:var(--font-accent-title);font-weight:500;letter-spacing:-.025em}.s-inbox-thread-redesign .s-thread-overview-summary{margin-top:var(--space-sm);max-width:58ch;font-size:var(--text-md);line-height:var(--leading-normal);color:var(--dim)}.s-inbox-thread-redesign .s-thread-panel{overflow:hidden}.s-inbox-thread-redesign .s-thread-panel-head{display:none}.s-inbox-thread-redesign.s-sessions-screen .s-sessions-toolbar{gap:var(--space-sm);margin-bottom:0;padding:0 var(--space-5xl) var(--space-lg);border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent)}.s-inbox-thread-redesign.s-sessions-screen .s-seg{padding:var(--space-3xs);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--border) 40%,transparent);border:none}.s-inbox-thread-redesign.s-sessions-screen .s-seg-btn,.s-inbox-thread-redesign.s-sessions-screen .s-seg-standalone{min-height:28px;font-size:var(--text-sm);border-radius:var(--radius-lg)}.s-inbox-thread-redesign.s-sessions-screen .s-seg-standalone{border-color:color-mix(in srgb,var(--border) 70%,transparent)}.s-inbox-thread-redesign.s-sessions-screen .s-search{max-width:320px}.s-inbox-thread-redesign.s-sessions-screen .s-search-input{min-height:28px;border-radius:var(--radius-lg);background:var(--surface);border-color:color-mix(in srgb,var(--border) 70%,transparent);font-size:var(--text-sm);padding:var(--space-2xs) 40px var(--space-2xs) var(--space-md)}.s-inbox-thread-redesign.s-sessions-screen .s-error,.s-inbox-thread-redesign.s-conversation .s-error{margin:var(--space-xl) var(--space-2xl) 0}.s-inbox-thread-redesign.s-sessions-screen .s-thread-empty-state{margin:var(--space-4xl) var(--space-5xl);border:1px dashed color-mix(in srgb,var(--border) 60%,transparent);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--surface) 60%,var(--bg));padding:var(--space-5xl) var(--space-4xl)}.s-inbox-thread-redesign.s-sessions-screen .s-inbox{gap:0;padding:var(--space-2xs) 0 var(--space-4xl);border-top:none;background:transparent}.s-inbox-thread-redesign.s-sessions-screen .s-inbox-row{min-height:0;align-items:flex-start;gap:var(--space-lg);padding:var(--space-md) var(--space-5xl) var(--space-lg);border:none;border-radius:0;background:transparent;border-bottom:1px solid color-mix(in srgb,var(--border) 30%,transparent);transition:background .1s ease}.s-inbox-thread-redesign.s-sessions-screen .s-inbox-row:last-child{border-bottom:none}.s-inbox-thread-redesign.s-sessions-screen .s-inbox-row:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:2px;border-radius:0 1px 1px 0;background:transparent;transition:background .1s ease}.s-inbox-thread-redesign.s-sessions-screen .s-inbox-row[data-unread=true]:before{background:var(--accent)}.s-inbox-thread-redesign.s-sessions-screen .s-inbox-row[data-unread=false] .s-inbox-name{font-weight:500;color:var(--muted)}.s-inbox-thread-redesign.s-sessions-screen .s-inbox-row[data-unread=true] .s-inbox-name{font-weight:600;color:var(--ink)}.s-inbox-thread-redesign.s-sessions-screen .s-inbox-row[data-unread=true]{border-color:color-mix(in srgb,var(--border) 40%,transparent)}.s-inbox-thread-redesign.s-sessions-screen .s-inbox-row:hover{background:color-mix(in srgb,var(--ink) 3%,var(--bg))}.s-inbox-thread-redesign.s-sessions-screen .s-inbox-row[data-selected=true]{background:color-mix(in srgb,var(--accent) 6%,var(--bg))}.s-inbox-thread-redesign.s-sessions-screen .s-inbox-row:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.s-inbox-thread-redesign.s-sessions-screen .s-session-avatar-wrap{position:relative;padding-top:1px}.s-inbox-thread-redesign.s-sessions-screen .s-inbox-row .s-avatar{width:36px;height:36px;font-size:var(--text-lg);font-weight:600;color:#fff;filter:saturate(.82) brightness(.98)}.s-inbox-thread-redesign.s-sessions-screen .s-session-unread-dot{display:none}.s-inbox-thread-redesign.s-sessions-screen .s-inbox-body{gap:var(--space-3xs)}.s-inbox-thread-redesign.s-sessions-screen .s-inbox-header{align-items:baseline;gap:var(--space-sm)}.s-inbox-thread-redesign.s-sessions-screen .s-session-heading{flex:1;min-width:0}.s-inbox-thread-redesign.s-sessions-screen .s-inbox-name{display:block;font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em;color:var(--ink)}.s-inbox-thread-redesign.s-sessions-screen .s-session-trailing{display:flex;align-items:baseline;gap:var(--space-sm);flex-shrink:0}.s-inbox-thread-redesign.s-sessions-screen .s-inbox-time{font-size:var(--text-sm);color:var(--dim);font-family:var(--font-sans);font-variant-numeric:tabular-nums}.s-inbox-thread-redesign.s-sessions-screen .s-inbox-preview{font-size:var(--text-md);line-height:var(--leading-snug);color:var(--muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;white-space:normal}.s-inbox-thread-redesign.s-sessions-screen .s-inbox-preview-empty{color:var(--dim);font-style:italic}.s-inbox-thread-redesign.s-sessions-screen .s-session-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);margin-top:var(--space-3xs)}.s-inbox-thread-redesign.s-sessions-screen .s-session-pill{display:inline-flex;align-items:center;min-height:18px;padding:0 var(--space-xs);border-radius:var(--radius-sm);border:none;background:color-mix(in srgb,var(--border) 40%,transparent);font-size:var(--text-sm);font-weight:500;letter-spacing:.01em;text-transform:none;color:var(--dim);font-family:var(--font-mono)}.s-inbox-thread-redesign.s-conversation .s-thread-chip,.s-inbox-thread-redesign.s-conversation .s-msg-kind{display:inline-flex;align-items:center;min-height:20px;padding:0 var(--space-sm);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--border) 70%,var(--surface));background:var(--bg);font-size:var(--text-xs);font-weight:500;letter-spacing:var(--tracking-xs);text-transform:none;color:var(--dim);font-family:var(--font-mono)}.s-inbox-thread-redesign.s-conversation{position:relative;background:var(--bg);flex:1;min-height:0}.s-inbox-thread-redesign.s-conversation .s-conv-header{gap:var(--space-lg);padding:var(--space-xl) var(--space-4xl);border-bottom:1px solid color-mix(in srgb,var(--border) 92%,var(--surface));background:var(--surface);box-shadow:none;overflow:hidden}.s-inbox-thread-redesign.s-conversation .s-conv-header:hover{background:var(--surface)}.s-inbox-thread-redesign.s-conversation .s-conv-header .s-back{width:36px;height:36px;margin-right:0;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--border) 92%,var(--surface));background:var(--bg);box-shadow:none}.s-inbox-thread-redesign.s-conversation .s-thread-header-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:var(--space-2xs)}.s-inbox-thread-redesign.s-conversation .s-thread-header-meta,.s-inbox-thread-redesign.s-conversation .s-thread-header-main,.s-inbox-thread-redesign.s-conversation .s-thread-header-chips,.s-inbox-thread-redesign.s-conversation .s-msg-meta,.s-inbox-thread-redesign.s-conversation .s-thread-compose-footer{display:flex;align-items:center;gap:var(--space-md)}.s-inbox-thread-redesign.s-conversation .s-thread-header-meta{flex-wrap:wrap;gap:var(--space-2xs);padding-left:40px;opacity:.5;transition:opacity .15s ease}.s-inbox-thread-redesign.s-conversation .s-conv-header:hover .s-thread-header-meta{opacity:.65}.s-inbox-thread-redesign.s-conversation .s-thread-kicker{font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-md)}.s-inbox-thread-redesign.s-conversation .s-thread-header-updated{font-size:var(--text-2xs);color:var(--dim)}.s-inbox-thread-redesign.s-conversation .s-thread-header-updated:before{content:"·";margin-right:var(--space-2xs)}.s-inbox-thread-redesign.s-conversation .s-thread-header-main{gap:var(--space-lg);min-width:0;overflow:hidden}.s-inbox-thread-redesign.s-conversation .s-conv-header-name{display:block;font-size:var(--text-xl);font-weight:650;letter-spacing:-.02em}.s-inbox-thread-redesign.s-conversation .s-conv-header-state{margin-top:var(--space-3xs);gap:var(--space-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-inbox-thread-redesign.s-conversation .s-thread-header-chips{justify-content:flex-end;flex-wrap:wrap;max-width:min(40%,400px);gap:var(--space-2xs);opacity:.7}.s-inbox-thread-redesign.s-conversation .s-chevron{opacity:.35}.s-inbox-thread-redesign.s-conversation .s-conv-status,.s-inbox-thread-redesign.s-conversation .s-conv-meta{margin:var(--space-sm) var(--space-4xl) 0;border:1px solid color-mix(in srgb,var(--border) 80%,var(--surface));border-radius:var(--radius-xl);box-shadow:none}.s-inbox-thread-redesign.s-conversation .s-conv-status{padding:var(--space-md) var(--space-xl)}.s-inbox-thread-redesign.s-conversation .s-conv-meta{gap:var(--space-sm);padding:var(--space-lg) var(--space-xl);background:var(--bg)}.s-inbox-thread-redesign.s-conversation .s-conv-meta-disclosure{margin:0 var(--space-4xl);padding-top:0;border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent)}.s-inbox-thread-redesign.s-conversation .s-conv-meta-toggle{padding:var(--space-xs) 0;font-size:var(--text-xs);font-weight:500;color:var(--dim);letter-spacing:.01em}.s-inbox-thread-redesign.s-conversation .s-conv-meta-row{grid-template-columns:100px minmax(0,1fr);font-size:var(--text-sm)}.s-inbox-thread-redesign.s-conversation .s-messages{gap:var(--space-xs);padding:var(--space-3xl) var(--space-4xl) var(--space-2xl);align-items:stretch;justify-content:flex-end}.s-inbox-thread-redesign.s-conversation .s-thread-message-block{display:flex;flex-direction:column;gap:var(--space-xs);max-width:min(85%,780px)}.s-inbox-thread-redesign.s-conversation .s-thread-message-block:has(.s-msg-you){align-self:flex-end}.s-inbox-thread-redesign.s-conversation .s-thread-message-block:has(.s-msg-you) .s-msg-header{flex-direction:row-reverse}.s-inbox-thread-redesign.s-conversation .s-thread-message-block:has(.s-msg-you) .s-msg-meta{flex-direction:row-reverse}.s-inbox-thread-redesign.s-conversation .s-thread-day-divider{display:flex;align-items:center;gap:var(--space-xl);margin:var(--space-xs) 0}.s-inbox-thread-redesign.s-conversation .s-thread-message-block:has(.s-thread-day-divider){max-width:100%;align-self:stretch}.s-inbox-thread-redesign.s-conversation .s-thread-day-line{flex:1;height:1px;background:color-mix(in srgb,var(--border) 60%,transparent)}.s-inbox-thread-redesign.s-conversation .s-thread-day-label{flex-shrink:0;font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-md);text-transform:uppercase;color:var(--muted)}.s-inbox-thread-redesign.s-conversation .s-msg,.s-inbox-thread-redesign.s-conversation .s-msg-working{max-width:min(100%,720px)}.s-inbox-thread-redesign.s-conversation .s-msg-card{display:flex;flex-direction:column;gap:var(--space-2xs);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-2xl);border:1px solid color-mix(in srgb,var(--border) 80%,var(--surface));background:var(--surface);box-shadow:none}.s-inbox-thread-redesign.s-conversation .s-msg-you .s-msg-card{border-color:color-mix(in srgb,var(--accent) 14%,var(--border));background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.s-inbox-thread-redesign.s-conversation .s-msg-header{justify-content:space-between;margin-bottom:0;padding:0}.s-inbox-thread-redesign.s-conversation .s-msg-actor{font-size:var(--text-md);font-weight:600;letter-spacing:0}.s-inbox-thread-redesign.s-conversation .s-msg-time{font-size:var(--text-xs);font-family:var(--font-sans);color:var(--dim);opacity:.7;transition:opacity .12s ease}.s-inbox-thread-redesign.s-conversation .s-msg-card:hover .s-msg-time{opacity:1}.s-inbox-thread-redesign.s-conversation .s-msg-body{padding:0;border:none;background:none;font-size:var(--text-lg);line-height:var(--leading-normal);color:var(--ink);letter-spacing:-.005em}.s-inbox-thread-redesign.s-conversation .s-msg[data-class=status] .s-msg-card,.s-inbox-thread-redesign.s-conversation .s-msg[data-class="scout.dispatch"] .s-msg-card{border-color:color-mix(in srgb,var(--accent) 12%,var(--border))}.s-inbox-thread-redesign.s-conversation .s-msg[data-class=system] .s-msg-card{background:var(--bg)}.s-inbox-thread-redesign.s-conversation .s-msg-working-card{border-color:color-mix(in srgb,var(--green) 12%,var(--border));background:color-mix(in srgb,var(--green) 2%,var(--surface))}.s-inbox-thread-redesign.s-conversation .s-msg-working-body{padding:0;border:none;background:none;gap:var(--space-sm)}.s-inbox-thread-redesign.s-conversation .s-scout-dispatch{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-sm);margin-top:var(--space-3xs)}.s-inbox-thread-redesign.s-conversation .s-scout-tile{gap:var(--space-xs) var(--space-md);border-radius:var(--radius-xl);border-color:color-mix(in srgb,var(--border) 92%,var(--surface));background:var(--bg)}.s-inbox-thread-redesign.s-conversation .s-scout-tile:hover{border-color:color-mix(in srgb,var(--accent) 18%,var(--border));background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.s-inbox-thread-redesign.s-conversation .s-thread-empty{align-self:center;width:min(100%,540px);padding:var(--space-6xl) var(--space-4xl);border:1px dashed color-mix(in srgb,var(--border) 84%,var(--surface));border-radius:var(--radius-2xl);background:var(--surface);text-align:center}.s-inbox-thread-redesign.s-conversation .s-compose{padding:var(--space-md) var(--space-4xl) var(--space-3xl);border-top:1px solid color-mix(in srgb,var(--border) 40%,transparent);background:transparent;flex-shrink:0;margin-top:auto}.s-inbox-thread-redesign.s-conversation .s-thread-compose-shell{width:100%;margin:0;align-self:flex-start;border:1px solid color-mix(in srgb,var(--border) 80%,var(--surface));border-radius:var(--radius-2xl);background:var(--surface);box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 2%,transparent);transition:border-color .15s ease,box-shadow .15s ease}.s-inbox-thread-redesign.s-conversation .s-thread-compose-shell:focus-within{border-color:color-mix(in srgb,var(--accent) 30%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 6%,transparent)}.s-inbox-thread-redesign.s-conversation .s-compose-mode-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-md) var(--space-lg) 0}.s-inbox-thread-redesign.s-conversation .s-compose-mode{flex-shrink:0;background:color-mix(in srgb,var(--bg) 82%,var(--surface))}.s-inbox-thread-redesign.s-conversation .s-compose-mode-detail{font-size:var(--text-xs);color:var(--dim);line-height:var(--leading-snug)}.s-inbox-thread-redesign.s-conversation .s-compose-input{min-height:40px;border:none;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;background:transparent;padding:var(--space-md) var(--space-2xl) var(--space-xs);font-size:var(--text-lg);line-height:var(--leading-normal)}.s-inbox-thread-redesign.s-conversation .s-compose-input:focus{box-shadow:none}.s-inbox-thread-redesign.s-conversation .s-thread-compose-footer{justify-content:space-between;padding:0 var(--space-md) var(--space-md) var(--space-2xl)}.s-inbox-thread-redesign.s-conversation .s-thread-compose-hint{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-xs);color:var(--dim);letter-spacing:.01em}.s-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:16px;padding:0 var(--space-2xs);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--border) 80%,transparent);background:color-mix(in srgb,var(--ink) 4%,transparent);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:500;color:var(--dim);line-height:var(--leading-none)}.s-inbox-thread-redesign.s-conversation .s-compose-send{width:32px;height:32px;border-radius:50%;background:var(--ink);box-shadow:none;transition:opacity .12s ease,transform .12s ease}.s-inbox-thread-redesign.s-conversation .s-compose-send:not(:disabled):hover{transform:scale(1.05)}.s-inbox-thread-redesign.s-conversation .s-compose-send:disabled{box-shadow:none;opacity:.25}.s-inbox-thread-redesign.s-conversation .s-compose-send.s-compose-stop{background:var(--red)}@media(max-width:960px){.s-inbox-thread-redesign.s-sessions-screen .s-thread-overview{padding:var(--space-3xl) var(--space-3xl) var(--space-lg)}.s-inbox-thread-redesign.s-sessions-screen .s-sessions-toolbar{padding:0 var(--space-3xl) var(--space-md)}.s-inbox-thread-redesign.s-sessions-screen .s-inbox-row{padding:var(--space-lg) var(--space-3xl)}.s-inbox-thread-redesign.s-sessions-screen .s-search{min-width:100%;max-width:none;margin-left:0}.s-inbox-thread-redesign.s-conversation .s-conv-header{flex-wrap:wrap;align-items:flex-start}.s-inbox-thread-redesign.s-conversation .s-thread-header-chips{max-width:100%;width:100%;justify-content:flex-start;padding-left:40px}.s-inbox-thread-redesign.s-conversation .s-compose-mode-row{flex-direction:column;align-items:flex-start}}@media(max-width:720px){.s-inbox-thread-redesign.s-conversation .s-conv-status,.s-inbox-thread-redesign.s-conversation .s-conv-meta{margin-inline:var(--space-2xl)}.s-inbox-thread-redesign.s-sessions-screen .s-thread-overview{padding:var(--space-3xl) var(--space-2xl) var(--space-md)}.s-inbox-thread-redesign.s-sessions-screen .s-sessions-toolbar{padding:0 var(--space-2xl) var(--space-md)}.s-inbox-thread-redesign.s-sessions-screen .s-search{min-width:100%;max-width:none;margin-left:0}.s-inbox-thread-redesign.s-sessions-screen .s-inbox-row{padding:var(--space-lg) var(--space-2xl)}.s-inbox-thread-redesign.s-conversation .s-conv-header{padding:var(--space-2xl)}.s-inbox-thread-redesign.s-conversation .s-thread-header-chips{padding-left:0}.s-inbox-thread-redesign.s-conversation .s-messages,.s-inbox-thread-redesign.s-conversation .s-compose{padding-inline:var(--space-2xl)}}@media(max-width:560px){.s-inbox-thread-redesign.s-sessions-screen .s-thread-overview-heading .s-page-title{font-size:var(--text-2xl)}.s-inbox-thread-redesign.s-sessions-screen .s-thread-overview{padding:var(--space-2xl) var(--space-xl) var(--space-sm)}.s-inbox-thread-redesign.s-sessions-screen .s-sessions-toolbar{padding:0 var(--space-xl) var(--space-md)}.s-inbox-thread-redesign.s-sessions-screen .s-inbox-row{gap:var(--space-md);padding:var(--space-md) var(--space-xl)}.s-inbox-thread-redesign.s-conversation .s-conv-header{padding:var(--space-lg)}.s-inbox-thread-redesign.s-conversation .s-messages,.s-inbox-thread-redesign.s-conversation .s-compose{padding-inline:var(--space-lg)}.s-inbox-thread-redesign.s-conversation .s-conv-status,.s-inbox-thread-redesign.s-conversation .s-conv-meta{margin-inline:var(--space-lg)}.s-inbox-thread-redesign.s-conversation .s-msg-card{padding:var(--space-md) var(--space-lg)}.s-inbox-thread-redesign.s-conversation .s-thread-compose-footer{flex-direction:column;align-items:stretch}.s-inbox-thread-redesign.s-conversation .s-compose-send{align-self:flex-end}}.s-session-ref-loading{display:flex;align-items:center;gap:var(--space-2xs)}.s-session-ref-loading-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--dim);animation:s-session-ref-bounce 1.2s ease-in-out infinite}.s-session-ref-loading-dot:nth-child(2){animation-delay:.16s}.s-session-ref-loading-dot:nth-child(3){animation-delay:.32s}@keyframes s-session-ref-bounce{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.s-session-ref-error-detail{margin-top:var(--space-sm);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--dim);opacity:.8;word-break:break-word}.s-session-ref-nav-hint{margin-top:var(--space-2xl)}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{u as q,a as ie,s as Pe,S as Oe}from"./scope-views-U-ucT9m0.js";import{b as Yi,i as Zi,c as Ji,d as Qi}from"./scope-views-U-ucT9m0.js";import{N as de,O as Me,y as $e,z as Be,B as Fe,C as We,D as pe,E as Ge,G as He,H as ze,P as Ke,I as Ue,Q as Ve,l as qe,o as Ye,n as Ze,e as Je,u as Se}from"./router-Bq5dwf78.js";import{R as el,T as tl,U as sl,V as ol,W as nl,X as rl,Y as al,Z as il,_ as ll,$ as cl,p as dl,a0 as pl,a1 as ul,a2 as ml,m as fl}from"./router-Bq5dwf78.js";import{r as p,j as r,D as le,m as Qe}from"./index-DMiGbrBt.js";import{k as gl,t as _l,n as Sl,E as bl,p as vl,G as xl,y as wl,o as Ll,x as yl,l as Nl,H as jl,I as kl}from"./index-DMiGbrBt.js";import{u as be}from"./Provider-C7UKGHQy.js";import{S as Xe}from"./ScoutSurface-CYz_TcWC.js";import{resolveContentPane as et}from"./resolve-panes-r9B3mpW7.js";import{i as tt}from"./model-CpAxGuis.js";import{t as st}from"./bash-format-BRV5C6Gv.js";import{t as ve}from"./time-DltNTpLl.js";import{i as ot,l as xe,h as nt,j as rt,k as at,e as it,f as lt,m as ct,r as dt,A as K,D as pt,g as ut}from"./agent-lanes-model-B4YTt4OF.js";import{S as mt}from"./SlidePanel-COwtoJqR.js";import{H as ft}from"./HarnessMark-Cbv3Ib0c.js";import{o as ht,f as gt,b as _t}from"./lane-observe-D0rfKDnU.js";import{SessionObserve as we}from"./SessionObserve-yfXFafp8.js";import{LaneTraceEventFocus as St}from"./LaneTraceEventFocus-BF9ERP5O.js";import{b as bt}from"./agent-lane-detail-Djm3YJEa.js";import{r as vt,u as xt}from"./AgentLanesView-B9vuEEmZ.js";import{u as wt}from"./observe-CuLGD9Zp.js";import{f as Lt}from"./terminal-sessions-D5CIR2OL.js";import{o as yt,i as Nt}from"./surface-activity-B1rgWB1i.js";import{AgentFloorView as jt}from"./AgentFloorView-8LoAEBwS.js";import{i as kt,c as Ct,n as ue}from"./keyboard-nav-2kv_tGUS.js";import{a as Et}from"./api-h5zurxmi.js";import{RawSessionsTable as At}from"./RawSessionsTable-DL8y_eEy.js";import{SessionRefScreen as It}from"./SessionRefScreen-DRgJu7Jo.js";import{TailView as Tt}from"./TailView-DGj_5HA9.js";import{c as Rt,b as Dt,u as Pt,r as Ot}from"./hooks-B6y_O2FB.js";import"./sse-CjIkKo46.js";import"./index-BWHgHrtv.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-bARZqTzD.js";import"./DocumentFocusViewer-BeVwwl26.js";import"./createLucideIcon-OpA4Amw5.js";import"./TextDocumentSurface-BpAw4eQS.js";/* empty css */import"./file-text-BODxCjcz.js";import"./x-D3GElQbe.js";import"./chevron-right-XiIHsk4m.js";import"./code-xml-B6jOCM4V.js";import"./arrow-left-DEZzHiPS.js";import"./scout-voice-CU5c0LGi.js";import"./fx-z37u1o2z.js";import"./MessageComposerSuggestions-DpxN9WiB.js";import"./NewChatComposer-Cs6OsxK6.js";import"./runtime-picker-Bcl5iIX5.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CbHjZsz1.js";import"./index-CJXzfjo9.js";import"./conversation-model-B47vYmWN.js";import"./NewChatOrigin-Bk2OyVjI.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-BGk5qoEw.js";import"./search-CWfZtOt2.js";import"./content-CSPVmo2s.js";import"./ActivityScreen-Cu_1V4bq.js";import"./clipboard-e3fSpeo7.js";import"./mentions-jSuTGeet.js";import"./AgentDetailCard-BcRBRp88.js";import"./AgentLiveActions-DBtnD0qE.js";import"./terminal-takeover-B8UeD9OX.js";import"./openContent-C6XO6kr5.js";import"./eye-0PvebX_a.js";import"./terminal-B9AOZQKR.js";import"./EmptyState-4F9XDFQm.js";/* empty css */import"./left-CpNEtFEg.js";/* empty css */import"./AgentAvatar-D90c1Rzk.js";import"./SpriteAvatar-DyaGuhik.js";import"./content-BIXf4cKR.js";import"./AgentInfoScreen-DZs2_ibL.js";/* empty css */import"./BackToPicker-BRvfostO.js";import"./ObservedTopologyPanel-DyUeV98H.js";import"./AgentsScreen-DBi8x4MB.js";/* empty css */import"./AgentsSubnav-DIEO4NPx.js";import"./SecondaryNav-B3-nh5dM.js";import"./secondaryNavConfig-DqUIp0Es.js";import"./message-square-DSaGpjFU.js";import"./scroll-text-D6Pdnar7.js";import"./library-D-RxGiCw.js";/* empty css */import"./AgentSessions-DyqOf4nG.js";import"./agents-project-model-UYiamtrU.js";import"./profile-CVRziEDA.js";import"./context-budget-CbB4BDcO.js";import"./session-catalog-BmoyVTJ_.js";import"./terminal-relay-CWbJ1RCW.js";import"./ConversationScreen-BDRhx-RU.js";import"./ConversationComposer-Bla3DDvM.js";import"./message-markup-3J9pi3nx.js";import"./message-visibility-kJM8XcSG.js";import"./sessionRead-CvFz2RHv.js";import"./types-B0PlfpKc.js";/* empty css */import"./ConversationHeader-DE3FC0m-.js";import"./ConversationFeedRows-B_gPxcqA.js";import"./ConversationPanels-DLek4H6A.js";import"./use-reduced-motion-RRBkmVkk.js";import"./activity-CA8qS6PI.js";import"./message-circle-CG-96zts.js";import"./tail-display-BdyoLvzY.js";import"./lane-edit-display-C_Aujldz.js";import"./tail-events-D19uAGe3.js";import"./ConversationStatus-BwVLiiO4.js";import"./conversation-icons-IIG5ha6D.js";import"./AgentDefinitionsWorkspace-CUpUrY57.js";import"./project-overview-helpers-BQTc_Ous.js";import"./FileViewerPane-CLgUhSm4.js";/* empty css */import"./agent-essentials-BSY1o46q.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-Bla0gBdm.js";import"./lane-ask-display-B6iCAVcd.js";import"./ObserveTextFlow-rsFj_rVo.js";import"./wrench-Bkc_0lKF.js";import"./external-link-CXBytO9o.js";/* empty css *//* empty css */import"./right-BkgKo9VT.js";import"./openAgent-Bjt57GdM.js";import"./TmuxPeek-m1osv33Q.js";import"./refresh-cw-BBmAnCB7.js";import"./ProjectsRail-BgiuV4LR.js";import"./AddProjectForm-DMnobKch.js";import"./projects-inbox-CHyUFQ6w.js";import"./ProjectsScreen-eNUBy4YU.js";import"./ProjectsInbox-GhVMxOhw.js";import"./api-BkjHJfgJ.js";import"./ui-LM8pS8qE.js";import"./cache-Dr0why2k.js";import"./arrow-up-right-ClxBnsi7.js";/* empty css */import"./ProjectAgentProfile-DJusrAV-.js";import"./ProjectAgentProfileBar-CtTpj6fU.js";import"./ProjectsThreadAside-CoBgnHmr.js";import"./content-GIBv_55n.js";import"./BriefingDetailScreen-BwFyysT8.js";/* empty css */import"./BriefingsScreen-BQEevztH.js";import"./content-CvlVUOG8.js";import"./BrokerScreen-7ekklu88.js";import"./status-tone-BM_zuRy1.js";import"./broker-display-pp33bLsu.js";import"./BrokerMetadataPanel-7UjcuNjd.js";import"./DispatchAftermath-Dpe88DFX.js";import"./follow-route-BvcGtBIL.js";import"./ShikiPane-Ap1iPxYb.js";import"./arrow-down-BPLe0am9.js";import"./bot-eu8pBNvI.js";import"./check-DjgFiBxb.js";import"./copy-CQGYbxdu.js";import"./sparkles-ClfRJQ6w.js";import"./plus--b1raV_O.js";import"./send-horizontal-Bg5-QggH.js";import"./radio-Bz8ZePxj.js";import"./left-CzXAuK_t.js";import"./conversation-prefs-DNre-Lcx.js";import"./use-conversation-list-Byab41G6.js";import"./use-fleet-active-asks-BIbQx5AS.js";import"./RailRow-BoGxAHNF.js";/* empty css */import"./content-DikVsqLf.js";import"./MessagesScreen-C8YKW10Y.js";import"./right-wzrLXKur.js";import"./CodeScreen-BxCrpRHd.js";import"./CodeDiffPane-DDPt6KPh.js";import"./usePierreRuntime-wC-yMtBb.js";/* empty css */import"./CodeProjectPicker-DqKFCpLU.js";/* empty css */import"./content-D5kJmfgl.js";import"./FollowScreen-DZ4qfYOY.js";import"./content-C_FGqx1X.js";import"./HarnessesScreen-CznAImej.js";import"./useContentSecondaryNav-DMl1WNm7.js";import"./OpsSubnav-DsuXzHah.js";/* empty css */import"./left-C--GiIh8.js";import"./operator-attention-BwSPeheT.js";import"./content-C2EwTb2y.js";import"./HomeHero-B3uYd-pP.js";import"./home-moving-signal-CK147hxn.js";import"./home-live-action-B22u89j7.js";import"./right-BHeiIaty.js";import"./left-jYYGAOYD.js";import"./mesh-view-store-CWidRbTE.js";import"./mesh-buckets-CfAukILK.js";import"./FleetSearch-Dz5euQJe.js";import"./content-DTpQsomG.js";import"./MeshScreen-DFgevn8N.js";import"./MeshCanvas-DFEPkpqY.js";import"./chunk-T65CQEWV-CrzwSeEt.js";import"./useAgentHoverCard-DMrbBif0.js";import"./local-agents--00gLMqr.js";/* empty css */import"./right-BpEU5jWE.js";import"./left-bN4PCAXa.js";import"./left-agents-Bo9sO1by.js";import"./left-default-DV9GdvYi.js";import"./left-lanes-D0l_Co7V.js";import"./lane-roster-store-D8x1jac2.js";import"./left-mission-Ci7zREkQ.js";import"./mission-control-store-BlnEhiCq.js";import"./MissionLeftAgentRow-BpZWntfl.js";import"./page-status-DpkedE1F.js";import"./left-plan-D4U1uflW.js";import"./content-BDt9VBPk.js";import"./OpsScreen-Buf3LKjb.js";/* empty css */import"./MissionControlView-lUeAiSVg.js";/* empty css */import"./MissionFocusOverlay-wlCmWDCT.js";import"./mission-control-model-C0fByIjm.js";import"./MissionLogPane-__MVtEl9.js";import"./OpsAgentsView-UN7iOscs.js";/* empty css */import"./DataTable-E8s_MmoA.js";/* empty css */import"./sliders-horizontal-1oW76Xc9.js";import"./PlanView-C1CjH3PG.js";/* empty css */import"./AtopView-BCkae3e1.js";/* empty css *//* empty css */import"./AgentLanesPreflight-eSAoDsPi.js";import"./AgentLaneChrome-D9ZwUKrl.js";import"./AgentLaneCard-RrNnDZu8.js";/* empty css */import"./AgentLaneSummaryResize-BhFmGNzT.js";import"./agent-lane-card-model-r2frk57c.js";import"./agent-lane-preview-CmHVe3dU.js";import"./AgentLaneDetailSheet-BXbPls9N.js";import"./LaneTraceDetailSheet-D1CspRbl.js";import"./content-DlUe5Ono.js";import"./RepoDiffPageScreen-DMv6DioL.js";import"./RepoDiffViewerLazy-BPgF92Bg.js";import"./ReposScreen-CB_YBWYf.js";/* empty css */import"./selection-bridge-16pk1qyG.js";import"./right-DjRXbnRP.js";import"./content-CR3vdrYY.js";import"./KnowledgeSearchScreen-DJDGGaqC.js";/* empty css */import"./knowledge-search-CVxQwxPn.js";import"./KnowledgeSearchInspector-Dgdkfvvz.js";import"./content-BLm0NBJM.js";import"./SessionsScreen-D6XUsZfA.js";import"./FlightObserveScreen-6RpZYwVz.js";/* empty css */import"./right-DMoUT3KN.js";import"./content-Q2oclDzi.js";import"./SettingsScreen-Cy8z-EuR.js";import"./StatusPill-DhBL__p8.js";import"./AgentConfigurationScreen-BqfOz90D.js";import"./server-CPp4ZJhZ.js";import"./SettingsDrawer-XfdAa_nD.js";import"./VoicePermissionsPanel-DsK53ar4.js";import"./left-Cj7Rt89X.js";import"./session-table-DZcrKoIH.js";import"./Terminal-CqvGbjXU.js";/* empty css */import"./chunk-YOZR3KYS-Bet8khjg.js";import"./right-T4Ue6EqM.js";import"./content-C5UbLsDF.js";import"./WorkDetailScreen-Bx0JimPC.js";import"./WorkFilesViewer-Btl6C2Q1.js";import"./right-CRZXoy-X.js";import"./RealtimeVoiceScreen-ffS-39zy.js";import"./ScoutbotRealtimeVoiceCall-FMQOr1Np.js";function Mt(e){return e?`${e[0]?.toUpperCase()}${e.slice(1)}`:"local"}function $t(e){const t=st(e.trim()),s=t.replace(/\/+$/u,"").split(/[\\/]/u).filter(Boolean);return s.length===0?t:s.slice(-2).join("/")}function Bt(e){const t=e?.trim();return t?t.replace(/\.jsonl$/u,"").slice(0,8):"—"}function B(e,t=Date.now()){const{agent:s,source:o,observe:n,lastActiveAt:l}=e,c=s.harness?.trim()||o,d=ot(n),i=$t(s.cwd||s.project||s.projectRoot||"—"),a=d?`${c} · live`:`${c} · ${ve(l??t)}`;return{source:Mt(c),sessionRef:Bt(s.harnessSessionId),path:i,statusLine:a,live:d}}const Ft={think:"Thought",tool:"Tool",ask:"Request",message:"Message",note:"Note",system:"System",boot:"Boot"};function Wt({lane:e,event:t,nowMs:s=Date.now()}){const{agent:o,observe:n,source:l,lastActiveAt:c}=e,d=p.useMemo(()=>bt(e),[e]),i=B(e,s),a=t??n?.events?.at(-1),f=a?Ft[a.kind]??a.kind:null,g=n?.metadata?.session?.sessionStart,_=a?ht(a,g):null,h=_!=null?gt(_,c):void 0,m=_!=null?_t(_):void 0,u=a?.kind==="tool"||a?.kind==="ask"?a:void 0;return r.jsxs("div",{className:"scope-lane-detail",children:[r.jsxs("header",{className:"scope-lane-detail__head",children:[r.jsxs("div",{className:"scope-lane-detail__copy",children:[r.jsx("span",{className:"scope-lane-detail__kicker",children:"Lane trace"}),r.jsxs("h2",{className:"scope-lane-detail__title",children:[i.source,r.jsxs("span",{className:"scope-lane-detail__ref",children:[" · ",i.sessionRef]})]}),r.jsxs("div",{className:"scope-lane-detail__sub",children:[i.path,f?` · ${f}`:"",c?` · ${ve(c)}`:""]})]}),r.jsx(ft,{harness:o.harness??d.harness,size:18,className:"scope-lane-detail__hmark"})]}),r.jsxs("dl",{className:"scope-lane-detail__meta","aria-label":"Session stats",children:[r.jsxs("div",{className:"scope-lane-detail__stat",children:[r.jsx("dt",{children:"events"}),r.jsx("dd",{children:d.events})]}),r.jsxs("div",{className:"scope-lane-detail__stat",children:[r.jsx("dt",{children:"tools"}),r.jsx("dd",{children:d.tools})]}),r.jsxs("div",{className:"scope-lane-detail__stat",children:[r.jsx("dt",{children:"files"}),r.jsx("dd",{children:d.files})]}),r.jsxs("div",{className:"scope-lane-detail__stat",children:[r.jsx("dt",{children:"model"}),r.jsx("dd",{children:d.model??"—"})]}),r.jsxs("div",{className:"scope-lane-detail__stat",children:[r.jsx("dt",{children:"branch"}),r.jsx("dd",{children:d.branch??"—"})]}),r.jsxs("div",{className:"scope-lane-detail__stat",children:[r.jsx("dt",{children:"status"}),r.jsx("dd",{children:i.statusLine})]})]}),r.jsx("div",{className:"scope-lane-detail__trace",children:r.jsx(we,{data:n??void 0,agentId:l==="scout"?o.id:void 0,sessionId:o.harnessSessionId??d.sessionId,showRail:!1,variant:"default",surface:"scope",initialCursorT:a?.t,focusEventId:a?.id,inlineFocusEventId:u?.id,inlineFocusContent:u?r.jsx(St,{event:u,wallLabel:h,wallTitle:m,variant:"inline"}):void 0})})]})}function Le({target:e,onClose:t}){const{lane:s,event:o}=e,n=B(s);return r.jsxs(mt,{open:!0,onClose:t,side:"right",owner:"scope.lane-trace",layer:"elevated",resizable:!0,defaultSize:980,minSize:560,maxSize:1280,scrollLock:!0,ariaLabel:`${n.source} ${n.sessionRef} trace`,className:"scope-lane-trace-sheet","data-scope-presentation":!0,children:[r.jsx("div",{className:"scope-lane-trace-sheet__toolbar",children:r.jsx("button",{type:"button",className:"scope-lane-trace-sheet__close",onClick:t,"aria-label":"Close",children:"×"})}),r.jsx(Wt,{lane:s,event:o})]})}function Gt(e,t){const[s,o]=p.useState(()=>de(e));p.useEffect(()=>{o(de(e))},[e]);const n=p.useCallback(u=>{Me(u),o(u)},[]),l=p.useMemo(()=>vt({autoLanes:t,deck:s,defaultWidthTier:e}),[t,s,e]),c=p.useCallback((u,S="pinned_left")=>{n($e(s,{laneId:u.id,title:xe(u.agent,u.source),zone:S,width:s.laneWidths[u.id]}))},[s,n]),d=p.useCallback(u=>{n(Be(s,u))},[s,n]),i=p.useCallback((u,S)=>{n(Fe(s,u,S))},[s,n]),a=p.useCallback(u=>{n(We(s,u))},[s,n]),f=p.useCallback((u,S)=>{n(pe(s,{kind:"harness",title:S??`${u} sessions`,harness:u,zone:"pinned_left",width:s.defaultLaneWidth}))},[s,n]),g=p.useCallback(()=>{n(pe(s,{kind:"attention",title:"Needs attention",zone:"pinned_left",width:"sm"}))},[s,n]),_=p.useCallback(()=>{n(Ge(s))},[s,n]),h=p.useCallback(u=>He(s,u),[s]),m=p.useCallback(u=>ze(s,u),[s]);return{deck:s,layout:l,pinLane:c,unpinLane:d,setLaneWidth:i,setDefaultLaneWidth:a,addHarnessLane:f,addAttentionLane:g,clearPins:_,isPinned:h,pinnedZone:m}}const ye=le("lanes-horizon");function Ht(){try{const e=sessionStorage.getItem(ye);if(e&&K.some(t=>t.key===e))return e}catch{}return pt}function Ne({scoutAgents:e,defaultWidthTier:t="md",harnessFilter:s,projectFilter:o,horizonOverride:n}){const[l,c]=p.useState(Date.now()),[d,i]=p.useState(Ht),a=n??d,[f,g]=p.useState([]),[_,h]=p.useState(()=>new Set),m=ut(a),u=nt(a),S=rt(a),{discovery:b,events:v,loadState:k}=xt({includeTranscriptReplay:!0,discoveryIntervalMs:5e3,recentLimit:m,pauseWhenHidden:!0});p.useEffect(()=>{const x=setInterval(()=>c(Date.now()),1e4);return()=>clearInterval(x)},[]),p.useEffect(()=>{let x=!1;const y=async()=>{if(Nt())try{const ee=await Lt({includeDiscovered:!1});x||g(ee)}catch{x||g([])}};y();const I=setInterval(()=>{y()},1e4),X=yt(()=>{y()});return()=>{x=!0,clearInterval(I),X()}},[]),p.useEffect(()=>{try{sessionStorage.setItem(ye,d)}catch{}},[d]);const N=p.useRef(at()),T=p.useMemo(()=>e.filter(x=>it(x,l,a)),[e,l,a]),E=wt(T,{pauseWhenHidden:!0}),R=k.discovery==="loading"||k.recent==="loading";p.useEffect(()=>{if(_.size===0)return;const x=setTimeout(()=>h(new Set),900);return()=>clearTimeout(x)},[_]);const{lanes:L,issues:A,freshLaneIds:D}=p.useMemo(()=>{const x=lt({transcripts:b?.transcripts??[],tailEvents:v,processes:b?.processes??[],scoutAgents:e,terminalSessions:f,observeCache:E,now:l,workingOnly:!0,horizon:a}),y=ct(x.lanes,N.current),I=[...dt(b),...x.issues];return{lanes:y.lanes,issues:I,freshLaneIds:y.newLaneIds}},[b,v,e,f,E,l,a]);p.useEffect(()=>{if(A.length!==0)for(const x of A)console.warn(`[agent-lanes] ${x.message}`,x)},[A]),p.useEffect(()=>{D.length!==0&&h(x=>{const y=new Set(x);for(const I of D)y.add(I);return y})},[D.join("\0")]);const O=p.useMemo(()=>L.filter(x=>Kt(x,{harnessFilter:s,projectFilter:o})),[L,s,o]),{deck:W,layout:Z,setLaneWidth:J,setDefaultLaneWidth:Q}=Gt(t,O);return{profileId:Ke,now:l,horizon:a,setHorizon:i,horizonLabel:S,traceWindowMs:u,lanes:O,issues:A,newLaneIds:_,tailLoading:R,deck:W,layout:Z,setLaneWidth:J,setDefaultLaneWidth:Q,activeFilterLabel:Ut({harnessFilter:s,projectFilter:o})}}function me(e){const t=e?.trim().toLowerCase();return t||null}function se(e){return e.trim().toLowerCase().replace(/['"]/gu,"").replace(/[^a-z0-9]+/gu,"-").replace(/^-+|-+$/gu,"")}function zt(e){return e.trim().replace(/\/+$/u,"").split(/[\\/]/u).filter(Boolean).pop()?.trim()||null}function fe(e,t){if(!t)return!0;const s=se(t);return e.some(o=>{const n=o?.trim();if(!n)return!1;const l=n.toLowerCase(),c=zt(n);return l===t||se(n)===s||!!(c&&(c.toLowerCase()===t||se(c)===s))})}function Kt(e,t){const s=me(t.harnessFilter),o=me(t.projectFilter),{agent:n,facts:l,source:c}=e;return fe([n.harness,n.definitionId,l?.attribution,c],s)&&fe([n.project,n.projectRoot,n.cwd,l?.cwd],o)}function Ut(e){return[e.harnessFilter?.trim()?`harness ${e.harnessFilter.trim()}`:"",e.projectFilter?.trim()?`project ${e.projectFilter.trim()}`:""].filter(Boolean).join(" · ")}function Vt(e){return e?`${e[0]?.toUpperCase()}${e.slice(1)}`:"local"}function qt(e){const t=new Map;for(const s of e){const o=s.agent.harness?.trim()||s.source,n=t.get(o)??[];n.push(s),t.set(o,n)}return[...t.entries()].map(([s,o])=>{const n=[...o].sort((c,d)=>(d.lastActiveAt??0)-(c.lastActiveAt??0)),l=n.filter(c=>B(c).live).length;return{harness:s,label:Vt(s),lanes:n,liveCount:l}}).sort((s,o)=>o.lanes.length-s.lanes.length)}function Yt({lane:e,nowMs:t,onOpen:s}){const o=B(e,t),n=e.observe?.events?.length??0,l=c=>{(c.key==="Enter"||c.key===" ")&&(c.preventDefault(),s(e))};return r.jsxs("div",{className:`scope-dir__row${o.live?" is-live":""}`,role:"button",tabIndex:0,onClick:()=>s(e),onKeyDown:l,"aria-label":`${o.source} ${o.sessionRef}`,children:[r.jsx("span",{className:`scope-dir__dot${o.live?" is-live":""}`,"aria-hidden":!0}),r.jsx("span",{className:"scope-dir__ref",children:o.sessionRef}),r.jsx("span",{className:"scope-dir__path",title:e.agent.cwd??e.agent.project??void 0,children:o.path}),r.jsxs("span",{className:"scope-dir__events",children:[n,r.jsx("span",{className:"scope-dir__unit",children:"ev"})]}),r.jsx("span",{className:"scope-dir__status",children:o.statusLine})]})}function Zt({navigate:e,agents:t}){const s=q(),{now:o,horizonLabel:n,lanes:l,tailLoading:c}=Ne({scoutAgents:t,defaultWidthTier:"md"}),d=p.useMemo(()=>qt(l),[l]),[i,a]=p.useState(null),f=p.useCallback(h=>{const m=h.observe?.events?.at(-1);m&&a({lane:h,event:m})},[]),g=l.length,_=d.reduce((h,m)=>h+m.liveCount,0);return r.jsxs("div",{className:"scope-dir","data-scope-presentation":!0,...s,children:[r.jsx("header",{className:"scope-dir__bar",children:r.jsxs("div",{className:"scope-dir__summary",children:[r.jsxs("span",{className:"scope-dir__count",children:[g," instance",g===1?"":"s"]}),_>0?r.jsxs("span",{className:"scope-dir__live",children:[_," live"]}):null,r.jsxs("span",{className:"scope-dir__window",children:["window ",n]})]})}),d.length===0?r.jsx("div",{className:"scope-dir__empty",children:c?"Discovering sessions…":"No sessions discovered for this workspace."}):r.jsx("div",{className:"scope-dir__body",children:d.map(h=>r.jsxs("section",{className:"scope-dir__group",children:[r.jsxs("header",{className:"scope-dir__group-head",children:[r.jsx("span",{className:"scope-dir__group-name",children:h.label}),r.jsx("span",{className:"scope-dir__group-kind",children:"runtime"}),r.jsxs("span",{className:"scope-dir__group-counts",children:[h.lanes.length," ",h.lanes.length===1?"instance":"instances",h.liveCount?` · ${h.liveCount} live`:""]})]}),r.jsx("div",{className:"scope-dir__list",role:"list",children:h.lanes.map(m=>r.jsx(Yt,{lane:m,nowMs:o,onOpen:f},m.id))})]},h.harness))}),i?r.jsx(Le,{target:i,onClose:()=>a(null)}):null]})}function Jt({laneId:e,grabbed:t,onKeyMove:s,onDragStart:o,onDragEnd:n}){const l=i=>{if(!(!i.altKey||!s)){if(i.key==="ArrowLeft"||i.key==="ArrowUp"){i.preventDefault(),i.stopPropagation(),s("before");return}(i.key==="ArrowRight"||i.key==="ArrowDown")&&(i.preventDefault(),i.stopPropagation(),s("after"))}},c=i=>{i.stopPropagation();const a=i.dataTransfer;if(!a)return;a.setData("text/plain",e),a.effectAllowed="move";const f=i.currentTarget.closest("[data-lane-id]");f instanceof HTMLElement&&(a.setDragImage(f,Math.min(48,f.clientWidth/2),18),f.classList.add("is-dragging")),o?.(e)},d=i=>{i.currentTarget.closest("[data-lane-id]")?.classList.remove("is-dragging"),n?.()};return r.jsx("span",{className:"scope-lane__drag",role:"button",tabIndex:0,draggable:!0,"aria-grabbed":t?"true":"false","aria-keyshortcuts":"Alt+ArrowLeft Alt+ArrowRight Alt+ArrowUp Alt+ArrowDown","aria-label":"Drag to reorder lane. Drop in a gutter for a new column. Alt+arrow keys also move.",title:"Drag to reorder · drop in gutters for a new column",onClick:i=>i.stopPropagation(),onKeyDown:l,onDragStart:c,onDragEnd:d,children:"⠿"})}const Qt=["sm","md","lg"],Xt={sm:"¼",md:"½",lg:"full"},es={sm:"Quarter row",md:"Half row",lg:"Full row"};function je({value:e,defaultValue:t,onChange:s,compact:o=!1,label:n="Lane width",variant:l="tier"}){const c=typeof e=="string"?e:t,d=l==="grid";return r.jsx("div",{className:`scope-lane-width${o?" is-compact":""}${d?" is-grid":""}`,role:"group","aria-label":n,onClick:i=>i.stopPropagation(),onKeyDown:i=>i.stopPropagation(),children:Qt.map(i=>r.jsx("button",{type:"button",className:`scope-lane-width__btn${c===i?" is-on":""}`,"aria-pressed":c===i,title:d?es[i]:`${i.toUpperCase()} column width`,onClick:()=>s(i),children:d?Xt[i]:i},i))})}function ts({lane:e,layoutMode:t,compact:s,laneWidth:o,defaultLaneWidth:n,onLaneWidthChange:l,nowMs:c,traceWindowMs:d,traceWindowLabel:i,onOpenTrace:a,onTraceEventSelect:f,onDragStart:g,onDragEnd:_,onDragKeyMove:h,focusProps:m}){const{agent:u,observe:S,source:b}=e,v=B(e,c),k=!!(S&&S.events.length>0),N=m?.ref,T=m?{"data-cursor":m["data-cursor"],tabIndex:m.tabIndex,onFocus:m.onFocus}:void 0,E=()=>{const L=S?.events?.at(-1);a(e,L)},R=L=>{(L.key==="Enter"||L.key===" ")&&(L.preventDefault(),E())};return r.jsxs("article",{ref:N,"data-lane-id":e.id,className:["scope-lane",v.live?"is-live":"",m?.["data-cursor"]?"is-cursor":"",s?"is-stack-compact":"",t==="grid"?"is-grid":""].filter(Boolean).join(" "),...T,children:[r.jsxs("header",{className:`scope-lane__head${s?" is-compact":""}`,role:"button",tabIndex:0,onClick:L=>{L.target instanceof HTMLElement&&L.target.closest(".scope-lane__drag")||E()},onKeyDown:R,"aria-label":`${v.source} ${v.sessionRef}`,children:[r.jsx(Jt,{laneId:e.id,onKeyMove:h,onDragStart:g,onDragEnd:_}),r.jsx("span",{className:"scope-lane__live","aria-hidden":"true"}),r.jsxs("div",{className:"scope-lane__meta",children:[r.jsxs("span",{className:"scope-lane__source",children:[v.source,r.jsxs("span",{className:"scope-lane__ref",children:[" · ",v.sessionRef]})]}),r.jsx("span",{className:"scope-lane__path",title:u.cwd??u.project??void 0,children:v.path}),s?null:r.jsx("span",{className:"scope-lane__status",children:v.statusLine}),l&&(t==="grid"||!s)?r.jsx(je,{value:o,defaultValue:n,onChange:l,compact:!0,label:`${v.sessionRef} width`,variant:t==="grid"?"grid":"tier"}):null]})]}),r.jsx("section",{className:"scope-lane__trace","aria-label":`${xe(u,b)} trace · ${i}`,children:k?r.jsx(we,{data:S??void 0,agentId:b==="scout"?u.id:void 0,sessionId:u.harnessSessionId,showRail:!1,variant:"lane",surface:"scope",nowMs:c,traceWindowMs:d,traceWindowLabel:i,onLaneEventSelect:L=>f(e,L)}):r.jsx("div",{className:"scope-lane__empty",children:"waiting for events"})})]})}function ss({space:e,layoutMode:t,widthPx:s,gridSpan:o,children:n}){const l=t==="swim"?{"--scope-lane-width":`${s}px`}:t==="grid"&&o?{gridColumn:`span ${o}`}:void 0;return r.jsx("div",{className:`scope-lane-space${t==="grid"?" is-grid":""}`,style:l,"data-split":e.ids.length,"data-orient":e.orient,"data-grid-span":t==="grid"?o:void 0,children:r.jsx("div",{className:"scope-lane-space__lanes",children:n})})}const os=[{key:"swim",label:"swim"},{key:"grid",label:"grid"},{key:"floor",label:"floor"}];function ns({liveCount:e,horizon:t,horizonLabel:s,layoutMode:o,laneWidth:n,onHorizonChange:l,onLayoutChange:c,onLaneWidthChange:d}){const i=o==="floor";return r.jsxs("header",{className:"scope-lanes-bar",children:[r.jsxs("div",{className:"scope-lanes-bar__summary",children:[r.jsxs("span",{className:"scope-lanes-bar__count",children:[e," lane",e===1?"":"s"]}),r.jsx("span",{className:"scope-lanes-bar__window",children:i?"past 30m · lanes 4h":`window ${s}`})]}),r.jsxs("div",{className:"scope-lanes-bar__controls",children:[r.jsx("div",{className:"scope-lanes-bar__layouts",role:"group","aria-label":"Lane layout",children:os.map(a=>r.jsx("button",{type:"button",className:`scope-lanes-bar__layout${o===a.key?" is-on":""}`,"aria-pressed":o===a.key,onClick:()=>c(a.key),children:a.label},a.key))}),i?null:r.jsxs(r.Fragment,{children:[r.jsx(je,{value:n,defaultValue:n,onChange:d,label:"Default column width",variant:o==="grid"?"grid":"tier"}),r.jsx("div",{className:"scope-lanes-bar__horizons",role:"group","aria-label":"Activity window",children:K.map(a=>r.jsx("button",{type:"button",className:`scope-lanes-bar__horizon${t===a.key?" is-on":""}`,"aria-pressed":t===a.key,onClick:()=>l(a.key),children:a.label},a.key))})]})]})]})}const U=.22,ce=.46,$=14,V=12,oe={mode:null,before:!0,slotIndex:-1,stackBand:0,targetAgentId:null};function H(e,t){return[...t.querySelectorAll(".scope-lane-space")].indexOf(e)}function rs(e){return[...e.querySelectorAll("[data-lane-id]")].map(t=>t.getAttribute("data-lane-id")).filter(t=>!!t)}function G(e){return e?.querySelector("[data-lane-id]")??null}function ke(e,t){const s=e.filter(n=>{const l=n.getBoundingClientRect();return t>=l.top-$&&t<=l.bottom+$});if(!s.length)return[];const o=s[0].getBoundingClientRect().top;return e.filter(n=>Math.abs(n.getBoundingClientRect().top-o)<=$)}function C(e){return{before:!1,stackBand:0,targetAgentId:null,label:"",previewColumn:!1,col:null,...e}}function as(e,t,s){const o=[...e.querySelectorAll(".scope-lane-space")];if(!o.length)return null;const n=ke(o,s);if(!n.length)return null;const l=n[0].getBoundingClientRect().top,c=Math.max(...n.map(f=>f.getBoundingClientRect().bottom));if(s<l-$||s>c+$)return null;const d=n[0].getBoundingClientRect(),i=H(n[0],e),a=Math.max(V*3,d.width*U);if(t<=d.left+a)return C({mode:"reorder",before:!0,slotIndex:i,slot:n[0],col:G(n[0]),label:"new column",previewColumn:!0});for(let f=0;f<n.length;f+=1){const g=n[f],_=g.getBoundingClientRect(),h=H(g,e),m=n[f+1],u=Math.max(V*3,_.width*U);if(m){const S=m.getBoundingClientRect(),b=_.right-u*.4,v=S.left+u*.4;if(t>=b&&t<=v){const k=(_.right+S.left)/2;if(t<k)return C({mode:"reorder",before:!1,slotIndex:h,slot:g,col:G(g),label:"new column",previewColumn:!0});const N=H(m,e);return C({mode:"reorder",before:!0,slotIndex:N,slot:m,col:G(m),label:"new column",previewColumn:!0})}continue}if(t>=_.right-u)return C({mode:"reorder",before:!1,slotIndex:h,slot:g,col:G(g),label:"new column",previewColumn:!0})}return null}function is(e,t,s,o,n,l){const c=s.closest(".scope-lane-space");if(!c)return null;const d=s.getBoundingClientRect(),i=c.getBoundingClientRect(),a=H(c,o),f=rs(c),g=(t-d.top)/d.height,_=(e-d.left)/d.width,h=(e-i.left)/i.width;if(g<ce){if(h<U)return C({mode:"reorder",before:!0,slotIndex:a,slot:c,col:s,label:"new column",previewColumn:!0});if(h>1-U)return C({mode:"reorder",before:!1,slotIndex:a,slot:c,col:s,label:"new column",previewColumn:!0});const S=_<.5;return C({mode:"reorder",before:S,slotIndex:a,slot:c,col:s,label:"new column",previewColumn:!0})}const m=c.dataset.orient||"row";if(l<=1){const S=_<.5;return C({mode:"reorder",before:S,slotIndex:a,slot:c,col:s,label:"new column",previewColumn:!0})}if(m==="column"&&f.length>=l&&!f.includes(n)){const S=_<.5;return C({mode:"reorder",before:S,slotIndex:a,slot:c,col:s,label:"new column",previewColumn:!0})}const u=ls(c,t);return C({mode:"stack",stackBand:u.band,targetAgentId:s.getAttribute("data-lane-id"),slotIndex:a,slot:c,col:s,label:u.label,stackPreview:u.preview})}function z(e){const t=e.top+e.height*ce;return{top:t,left:e.left,width:e.width,height:Math.max(24,e.bottom-t)}}function he(e,t){return t<=1?e>=1:e>=t}function ls(e,t){const s=e.getBoundingClientRect(),o=[...e.querySelectorAll("[data-lane-id]")];if(!o.length)return{band:0,label:"stack",preview:z(s)};if(o.length===1){const d=o[0].getBoundingClientRect(),i=d.top+d.height*ce,a=d.top+d.height*.5,f=t<a?0:1,g=f===0?{top:i,left:s.left,width:s.width,height:Math.max(18,a-i)}:z(s);return{band:f,label:f===0?"stack above":"stack below",preview:g}}let n=o.length;for(let d=0;d<o.length;d+=1){const i=o[d].getBoundingClientRect();if(t<i.top+i.height/2){n=d;break}}let l;if(he(n,o.length))l=z(s);else if(n===0){const d=o[0].getBoundingClientRect();l={top:d.top,left:s.left,width:s.width,height:Math.max(18,d.height*.5)}}else{const d=o[n-1].getBoundingClientRect(),i=o[n].getBoundingClientRect();l={top:(d.bottom+i.top)/2-10,left:s.left,width:s.width,height:20}}const c=n===0?"stack top":he(n,o.length)?"stack bottom":"stack between";return{band:n,label:c,preview:l}}function cs(e,t,s,o,n){const l=document.elementFromPoint(e,t);if(l&&s.contains(l)){const c=l.closest("[data-lane-id]"),d=c?.getAttribute("data-lane-id");if(c&&d&&d!==o&&!c.classList.contains("is-dragging"))return is(e,t,c,s,o,n)}return as(s,e,t)}function ds(e){return e.querySelector(".scope-lane-space")?.getBoundingClientRect().width||360}function ps(e){return[e.mode,e.slotIndex,e.before,e.stackBand,e.targetAgentId,e.label,e.previewColumn,e.col?.getAttribute("data-lane-id")].join("|")}function us(e,t,s,o){const n=t.getBoundingClientRect(),l=s.slot.getBoundingClientRect();if(s.mode==="stack"){const g=s.stackPreview??z(l),_=s.label==="stack below"||s.label==="stack bottom";e.hidden=!1,e.className=`scope-lane-drop is-band${_?" is-bottom-stack":""}`,e.dataset.mode="stack",e.dataset.label=s.label||"",e.style.transform=`translate(${g.left-n.left+t.scrollLeft}px, ${g.top-n.top+t.scrollTop}px)`,e.style.width=`${g.width}px`,e.style.height=`${g.height}px`;return}if(s.previewColumn){const g=ds(t),_=[...t.querySelectorAll(".scope-lane-space")],h=ke(_,l.top+l.height/2),m=(h.length?h:[s.slot]).map(v=>v.getBoundingClientRect()),u=Math.max(...m.map(v=>v.height),l.height),S=Math.min(...m.map(v=>v.top)),b=Math.max(0,s.before?l.left-n.left+t.scrollLeft-g-V/2:l.right-n.left+t.scrollLeft+V/2);e.hidden=!1,e.className="scope-lane-drop is-column",e.dataset.mode="column",e.dataset.label=s.label||"",e.style.transform=`translate(${b}px, ${S-n.top+t.scrollTop}px)`,e.style.width=`${g}px`,e.style.height=`${u}px`;return}const c=s.slot.dataset.orient||"row";let d,i,a,f;c==="column"?(d=l.left-n.left+t.scrollLeft,i=(s.before?l.top:l.bottom)-n.top+t.scrollTop-2,a=l.width,f=3):(d=(s.before?l.left:l.right)-n.left+t.scrollLeft-2,i=l.top-n.top+t.scrollTop,a=3,f=l.height),e.hidden=!1,e.className="scope-lane-drop is-line",e.dataset.mode="reorder",e.dataset.label=s.label||"",e.style.transform=`translate(${d}px, ${i}px)`,e.style.width=`${a}px`,e.style.height=`${f}px`}function ne(e,t,s={}){!s.keepIndicator&&t&&(t.hidden=!0,t.className="scope-lane-drop",delete t.dataset.label,delete t.dataset.mode,t.style.transform="",t.style.width="",t.style.height=""),e&&(e.querySelectorAll(".scope-lane-space").forEach(o=>{delete o.dataset.dropZone}),e.querySelectorAll("[data-lane-id].is-drop-target").forEach(o=>{o.classList.remove("is-drop-target"),delete o.dataset.dropZone,delete o.dataset.dropLabel}))}function ms({stackMax:e,onReorder:t,onStack:s,indicatorRef:o}){const n=p.useRef(null),l=p.useRef(null),c=p.useRef(oe),d=p.useRef(""),i=p.useCallback(h=>{n.current?.closest(".scope-lanes")?.classList.toggle("is-dragging",h)},[]),a=p.useCallback(h=>{l.current=h,d.current="",c.current=oe,i(!0)},[i]),f=p.useCallback(()=>{l.current=null,d.current="",c.current=oe,ne(n.current,o.current),i(!1)},[o,i]),g=p.useCallback(h=>{const m=l.current;if(!m)return;h.preventDefault(),h.dataTransfer.dropEffect="move";const u=n.current,S=o.current;if(!u||!S)return;const b=cs(h.clientX,h.clientY,u,m,e);if(!b){d.current&&(d.current="",ne(u,S));return}const v=ps(b);if(v===d.current)return;const k=!!(d.current&&b.mode==="reorder");d.current=v,c.current={mode:b.mode,before:b.before,slotIndex:b.slotIndex,stackBand:b.stackBand??0,targetAgentId:b.targetAgentId??null},ne(u,S,{keepIndicator:k}),b.col&&(b.col.classList.add("is-drop-target"),b.col.dataset.dropZone=b.mode,b.label&&(b.col.dataset.dropLabel=b.label)),b.slot.dataset.dropZone=b.mode,us(S,u,b)},[o,e]),_=p.useCallback(h=>{h.preventDefault();const m=h.dataTransfer.getData("text/plain")||l.current,u=c.current;if(!m||u.slotIndex<0||!u.mode){f();return}u.mode==="stack"?s(m,u.slotIndex,u.stackBand):t(m,u.slotIndex,u.before),f()},[f,t,s]);return p.useEffect(()=>{const h=m=>{m.key!=="Escape"||!l.current||f()};return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[f]),{scrollRef:n,onDragStart:a,onDragEnd:f,scrollDragProps:{onDragEnter:h=>{l.current&&h.preventDefault()},onDragOver:g,onDrop:_}}}const re=le("lane-spaces"),fs=2,hs=6,F=4;function gs(e){const t=Number(e);return Number.isFinite(t)?Math.min(hs,Math.max(fs,Math.round(t))):F}function Y(e){if(Array.isArray(e))return{ids:e.filter(s=>typeof s=="string"),orient:"row"};if(e&&typeof e=="object"&&Array.isArray(e.ids)){const t=e;return{ids:t.ids.filter(o=>typeof o=="string"),orient:t.orient==="column"?"column":"row"}}return{ids:[],orient:"row"}}function _s(e,t,s=F){const o=new Set(t),n=new Set,l=[];for(const c of e){const d=Y(c),i=d.ids.filter(g=>o.has(g)&&!n.has(g));if(i.forEach(g=>n.add(g)),!i.length)continue;const a=i.length===1?"row":d.orient,f=a==="column"?s:4;l.push({ids:i.slice(0,f),orient:a})}for(const c of t)n.has(c)||(l.push({ids:[c],orient:"row"}),n.add(c));return l}function ge(e,t,s=F){return t.length?_s(t,e,s):e.map(o=>({ids:[o],orient:"row"}))}function Ce(e,t){return e.map(s=>{const o=Y(s),n=o.ids.filter(l=>l!==t);return n.length?{ids:n,orient:n.length===1?"row":o.orient}:null}).filter(s=>s!==null)}function Ss(e,t,s,o){const n=Ce(e,t),l=Math.min(o?s:s+1,n.length);return n.splice(l,0,{ids:[t],orient:"row"}),n}function bs(e,t,s,o,n=F){const l=Ce(e,t),d=[...Y(l[s]??{ids:[],orient:"row"}).ids],i=Math.min(Math.max(0,o),d.length);d.splice(i,0,t);const a=d.slice(0,n);return l[s]={ids:a,orient:a.length>1?"column":"row"},l}function vs(){try{const e=sessionStorage.getItem(re);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.map(Y).filter(s=>s.ids.length>0):[]}catch{return[]}}function xs(e){try{if(!e.length){sessionStorage.removeItem(re);return}sessionStorage.setItem(re,JSON.stringify(e))}catch{}}function ws(e,t=F){const s=p.useMemo(()=>e.map(m=>m.lane.id),[e]),o=p.useMemo(()=>new Map(e.map(m=>[m.lane.id,m])),[e]),[n,l]=p.useState(()=>vs()),[c,d]=p.useState(()=>n.length>0),i=p.useMemo(()=>c?ge(s,n,t):ge(s,[],t),[s,c,t,n]);p.useEffect(()=>{c&&xs(i)},[c,i]);const a=p.useCallback(m=>{d(!0),l(m)},[]),f=p.useCallback((m,u,S)=>{a(Ss(i,m,u,S))},[a,i]),g=p.useCallback((m,u,S,b=t)=>{a(bs(i,m,u,S,b))},[a,i,t]),_=p.useMemo(()=>i.map(m=>({space:m,columns:m.ids.map(u=>o.get(u)).filter(u=>u!==void 0)})).filter(m=>m.columns.length>0),[o,i]),h=p.useMemo(()=>_.flatMap(m=>m.columns),[_]);return{spaces:i,resolvedSpaces:_,flatColumns:h,reorderLane:f,stackLane:g,stackMax:gs(t)}}function Ls({lanes:e,onOpenTrace:t,onHorizonChange:s}){const[o,n]=p.useState(-1),l=p.useRef(new Map);p.useEffect(()=>{if(o<0)return;if(o>=e.length){n(e.length-1);return}const i=e[o];if(!i)return;const a=l.current.get(i.id);a?.scrollIntoView({block:"nearest",inline:"nearest"}),a?.focus()},[o,e]);const c=p.useCallback((i,a)=>{a?l.current.set(i,a):l.current.delete(i)},[]);p.useEffect(()=>{const i=a=>{if(!document.querySelector(".scope-lanes")||kt(a.target)||Ct()||e.length===0)return;const f=Number(a.key)-1;if(!a.metaKey&&!a.ctrlKey&&!a.altKey&&f>=0&&f<K.length){a.preventDefault(),s(K[f].key);return}if(a.key==="ArrowRight"||a.key==="ArrowDown"||a.key==="j"){a.preventDefault(),n(g=>ue(g,e.length,1));return}if(a.key==="ArrowLeft"||a.key==="ArrowUp"||a.key==="k"){a.preventDefault(),n(g=>ue(g,e.length,-1));return}if(a.key==="Home"||a.key==="g"&&!a.shiftKey){a.preventDefault(),n(0);return}if(a.key==="End"||a.key==="G"){a.preventDefault(),n(e.length-1);return}if(a.key==="Enter"||a.key===" "){const g=o<0?0:o,_=e[g];if(!_)return;a.preventDefault(),n(g),t(_,_.observe?.events?.at(-1))}};return window.addEventListener("keydown",i),()=>window.removeEventListener("keydown",i)},[o,e,s,t]);const d=p.useCallback((i,a)=>({"data-cursor":o===i?!0:void 0,tabIndex:o===i?0:-1,ref:f=>c(a,f),onFocus:()=>n(i)}),[o,c]);return{focusedIndex:o,getLaneFocusProps:d}}const Ee=4;function Ae(e){switch(e){case"sm":return 1;case"md":return 2;case"lg":return Ee}}function ys(e,t){if(e==="sm"||e==="md"||e==="lg")return e;if(typeof e=="number"&&Number.isFinite(e)){const{tier:s,px:o}=Ue(e);if(s)return s;let n=t,l=Number.POSITIVE_INFINITY;for(const[c,d]of Object.entries(Ve)){const i=Math.abs(d-o);i<l&&(l=i,n=c)}return n}return t}function Ns(e,t){return Ae(ys(e,t))}function js(e,t){return e.length?Math.max(...e.map(s=>Ns(s,t))):Ae(t)}const ae=le("lanes-layout");function Ie(e){return e==="swim"||e==="grid"||e==="floor"}function ks(){try{const e=sessionStorage.getItem(ae);if(Ie(e))return e}catch{}return"swim"}function _e(){if(typeof window>"u")return null;const e=new URLSearchParams(window.location.search).get("layout")?.trim().toLowerCase();return Ie(e)?e:null}function Cs(){const[e,t]=p.useState(()=>_e()??ks()),s=p.useCallback(o=>{t(o);try{sessionStorage.setItem(ae,o)}catch{}typeof window>"u"||qe({searchPatch:{layout:o==="swim"?null:o},replace:!0})},[]);return p.useEffect(()=>{const o=_e();if(o&&o!==e){t(o);try{sessionStorage.setItem(ae,o)}catch{}}},[e]),{layoutMode:e,setLayoutMode:s}}function Es({message:e}){return r.jsx("li",{className:"scope-lanes__issue",children:r.jsx("span",{className:"scope-lanes__issue-msg",children:e})})}function As({navigate:e,agents:t}){const s=q(),{layoutMode:o,setLayoutMode:n}=Cs(),l=o==="floor",{now:c,horizon:d,setHorizon:i,horizonLabel:a,traceWindowMs:f,lanes:g,layout:_,deck:h,setLaneWidth:m,setDefaultLaneWidth:u,activeFilterLabel:S,issues:b,tailLoading:v}=Ne({scoutAgents:t,defaultWidthTier:"md",horizonOverride:l?"4h":void 0}),{resolvedSpaces:k,flatColumns:N,reorderLane:T,stackLane:E,stackMax:R}=ws(_.flat),L=o==="grid",[A,D]=p.useState(null),O=p.useRef(null),{scrollRef:W,onDragStart:Z,onDragEnd:J,scrollDragProps:Q}=ms({stackMax:R,onReorder:T,onStack:E,indicatorRef:O}),x=p.useCallback(w=>{W.current=w},[W]),y=p.useCallback((w,M)=>{const P=M??w.observe?.events?.at(-1);P&&D({lane:w,event:P})},[]),I=p.useMemo(()=>{const w=new Map;return N.forEach((M,P)=>w.set(M.lane.id,P)),w},[N]),{getLaneFocusProps:X}=Ls({lanes:N.map(w=>w.lane),onOpenTrace:y,onHorizonChange:i}),ee=p.useMemo(()=>v?"Loading sessions…":S?`No lanes match ${S} in the last ${a}.`:`No sessions with recent work in the last ${a}.`,[S,a,v]);return r.jsxs("div",{className:`scope-lanes${o==="grid"?" is-grid":""}`,"data-scope-presentation":!0,"data-scope-view":"lanes","data-scope-layout":o,"data-grid-cols":L?Ee:void 0,style:{"--scope-lane-stack-max":String(R)},...s,children:[r.jsx(ns,{liveCount:l?g.length:N.length,horizon:d,horizonLabel:a,layoutMode:o,laneWidth:h.defaultLaneWidth,onHorizonChange:i,onLayoutChange:n,onLaneWidthChange:u}),b.length>0?r.jsx("div",{className:"scope-lanes__issues",role:"status","aria-live":"polite",children:r.jsx("ul",{className:"scope-lanes__issues-list",children:b.map(w=>r.jsx(Es,{message:w.message},w.id))})}):null,(l?g.length:N.length)===0?r.jsx("div",{className:"scope-lanes__empty",children:ee}):l?r.jsx(jt,{lanes:g,now:c,onOpenTrace:y}):r.jsx("div",{className:"scope-lanes__canvas",role:"listbox","aria-label":"Session lanes",children:r.jsxs("div",{ref:x,className:`scope-lanes__scroll${o==="grid"?" is-grid":""}`,...Q,children:[k.map((w,M)=>{const P=w.space.orient==="column"&&w.columns.length>1,Te=Math.max(...w.columns.map(j=>j.widthPx)),Re=L?js(w.columns.map(j=>h.laneWidths[j.lane.id]??h.defaultLaneWidth),h.defaultLaneWidth):void 0;return r.jsx(ss,{space:w.space,layoutMode:o,widthPx:Te,gridSpan:Re,children:w.columns.map(j=>{const De=I.get(j.lane.id)??0;return r.jsx(ts,{lane:j.lane,layoutMode:o,compact:P,laneWidth:h.laneWidths[j.lane.id]??h.defaultLaneWidth,defaultLaneWidth:h.defaultLaneWidth,onLaneWidthChange:te=>m(j.lane.id,te),nowMs:c,traceWindowMs:f,traceWindowLabel:a,onOpenTrace:y,onTraceEventSelect:y,onDragStart:Z,onDragEnd:J,onDragKeyMove:te=>{T(j.lane.id,M,te==="before")},focusProps:X(De,j.lane.id)},j.key)})},w.space.ids.join(":"))}),r.jsx("div",{ref:O,className:"scope-lane-drop","aria-hidden":"true",hidden:!0})]})}),A?r.jsx(Le,{target:A,onClose:()=>D(null)}):null]})}const Is=1e4;function Ts({route:e,navigate:t}){const s=q(),[o,n]=p.useState(null),[l,c]=p.useState(null),d=p.useCallback(async()=>{c(null);try{n(await Et("/api/tail/discover"))}catch(f){c(f instanceof Error?f.message:String(f))}},[]);p.useEffect(()=>{d();const f=setInterval(()=>{d()},Is);return()=>clearInterval(f)},[d]);const i=o?.transcripts?.length??0,a=o?.processes?.length??0;return e.sessionId?r.jsx("div",{className:"scope-sessions-route","data-scope-view":"sessions",...s,children:r.jsx(It,{sessionRef:e.sessionId,navigate:t})}):r.jsx("div",{className:"scope-sessions-route","data-scope-view":"sessions",...s,children:r.jsxs("div",{className:"scope-sessions",children:[r.jsx("header",{className:"scope-sessions__bar",children:r.jsxs("div",{className:"scope-sessions__summary",children:[r.jsxs("span",{className:"scope-sessions__count",children:[i," session",i===1?"":"s"]}),a>0?r.jsxs("span",{className:"scope-sessions__live",children:[a," active"]}):null,l?r.jsx("span",{className:"scope-sessions__warn",children:"discovery error"}):null]})}),r.jsx("div",{className:"scope-sessions__body",children:r.jsx("div",{className:"scope-sessions__atop",children:r.jsx(At,{navigate:t})})})]})})}function Rs({navigate:e,tailQuery:t}){const s=q();return r.jsx("div",{className:"scope-tail-route","data-scope-view":"tail",...s,children:r.jsxs("div",{className:"scope-tail",children:[r.jsx("header",{className:"scope-tail__bar",children:r.jsxs("div",{className:"scope-tail__summary",children:[r.jsx("span",{className:"scope-tail__count",children:"tail"}),r.jsx("span",{className:"scope-tail__hint",children:"live event stream"}),t?r.jsxs("span",{className:"scope-tail__query",title:t,children:["q=",t]}):null]})}),r.jsx("div",{className:"scope-tail__body",children:r.jsx("div",{className:"scope-tail__stream",children:r.jsx(Tt,{navigate:e,initialFilter:t,variant:"tail",chrome:"embedded"})})})]})})}function Ds(e,t,s,o){if(!Ye(o))return null;const n=Ze(e);if(!n)return null;switch(n){case"lanes":return r.jsx(As,{navigate:t,agents:s});case"tail":return e.view!=="ops"||e.mode!=="tail"?null:r.jsx(Rs,{navigate:t,tailQuery:e.tailQuery});case"sessions":return e.view!=="sessions"?null:r.jsx(Ts,{route:e,navigate:t});case"agents":return e.view!=="agents-v2"||tt(e)?null:r.jsx(Zt,{navigate:t,agents:s});default:return null}}function Ps(){const{route:e,navigate:t,agents:s}=be(),{pathname:o}=Je(),n=Ds(e,t,s,o);return r.jsx(Xe,{children:n??et(e,t,s)})}function Os(){const{route:e,navigate:t}=be();return Ot({className:"scout-nav-tabs scout-nav-tabs--scope",brandTag:Qe,items:Oe,activeKey:Pe(e),navigate:t})}function Ms(){const e=ie(),t=Rt(),s=Os();return Se("nav.sidebar",!1)?null:e?s:t}function $s(){const e=ie(),t=Dt();return Se("nav.sidebar",!1)?null:e?p.createElement("div",{className:"scout-nav-actions"}):t}function Bs(){const e=ie(),t=Pt();return e?{active:!1,dismissible:!0}:t}function Ui(e){e.slots.Content=Ps,e.hooks.useNavCenter=Ms,e.hooks.useNavActions=$s,e.hooks.useTakeover=Bs}export{Qe as SCOPE_BRAND_LABEL,Yi as SCOPE_ENABLE_HINTS,gl as SCOPE_FLAG_BUNDLE,_l as SCOPE_FLAG_BUNDLE_ALIASES,Sl as SCOPE_FLAG_KEY,el as SCOPE_FLAG_REGISTRY_KEY,tl as SCOPE_LANE_DECK_DEFAULTS,Ke as SCOPE_LANE_DECK_PROFILE,bl as SCOPE_LEGACY_FLAG_BUNDLE,vl as SCOPE_LEGACY_FLAG_KEY,xl as SCOPE_LEGACY_PATH_PREFIX,wl as SCOPE_LEGACY_PATH_SEGMENT,Ll as SCOPE_PATH_PREFIX,yl as SCOPE_PATH_SEGMENT,Nl as SCOPE_ROUTE_SEGMENTS,jl as SCOPE_STORAGE_PREFIX,Oe as SCOPE_TOP_NAV_ITEMS,Ps as ScopeAppContent,Zt as ScopeDirView,ts as ScopeLaneColumn,Wt as ScopeLaneDetailView,Le as ScopeLaneTraceSheet,ns as ScopeLanesBar,As as ScopeLanesView,sl as buildScopePath,ol as buildScopeRoutePath,kl as canonicalizeScopePathname,Zi as isScopeOnboardingExempt,Ye as isScopePath,nl as isScopePresentation,rl as parseScopeRouteFromUrl,al as preserveLocationSearch,Ds as resolveScopeContentPane,il as routeBelongsInScopeNamespace,Ze as routeToScopeSegment,ll as scopeInstrumentBundleLayer,cl as scopeLaneDeckProfileId,dl as scopePresentationAttrs,Ji as scopePresentationTitle,pl as scopeRoutePath,le as scopeStorageKey,ul as scopeSurfaceFlagDefinition,Pe as scopeTopNavKeyForRoute,ml as scopeViewSegment,fl as segmentToRoute,ie as useScopePresentation,q as useScopePresentationAttrs,Qi as useScopeShellChrome,Ui as wireScopeOntoScout};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{e as r}from"./index-DMiGbrBt.js";var o=r();export{o as r};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as e,r as n,z as no,A as ro,B as io,C as ao}from"./index-DMiGbrBt.js";import{u as F,C as co,o as lo,a as uo,b as mo,p as ge,q as vt,s as po,i as ho,f as yt,T as fo,j as go}from"./Provider-C7UKGHQy.js";import{resolveContentPane as xo,resolveRightPane as bo,resolveLeftPane as vo}from"./resolve-panes-r9B3mpW7.js";import{S as yo}from"./ScoutSurface-CYz_TcWC.js";import{u as nt}from"./router-Bq5dwf78.js";import{a as $}from"./api-h5zurxmi.js";import{c as Ee}from"./clipboard-e3fSpeo7.js";import{u as So}from"./ContextMenu-bARZqTzD.js";import{o as ko,S as jo,V as wo,a as Co}from"./ScoutbotBroadcastChip-L_R9atj0.js";import{e as No}from"./SettingsDrawer-XfdAa_nD.js";import{u as Xe,a as Pt,b as To}from"./content-C2EwTb2y.js";import{s as xe,e as Eo,S as St}from"./scoutbot-BTIErYHo.js";import{g as Ro,d as Oo,i as Ao,e as Io,s as Po}from"./scout-voice-CU5c0LGi.js";import{d as Mo}from"./colors-BtO5_zlx.js";import{i as Lo,S as Mt,a as zo}from"./runtime-picker-Bcl5iIX5.js";import{b as _o,f as kt,n as ve}from"./time-DltNTpLl.js";import{S as Do}from"./BriefingDetailScreen-BwFyysT8.js";import{L as K}from"./loader-circle-CbHjZsz1.js";import{P as Ho}from"./plus--b1raV_O.js";import{H as Bo}from"./ScoutbotRealtimeVoiceCall-FMQOr1Np.js";import{C as Qe}from"./chevron-down-BGk5qoEw.js";import{A as $o}from"./ProjectsRail-BgiuV4LR.js";import{S as Vo}from"./send-horizontal-Bg5-QggH.js";import{c as Uo}from"./createLucideIcon-OpA4Amw5.js";import{C as Fo}from"./copy-CQGYbxdu.js";import{R as jt}from"./rocket-BSNS_rLs.js";import{X as Wo}from"./x-D3GElQbe.js";import{R as Go}from"./refresh-cw-BBmAnCB7.js";import{S as qo,d as Yo}from"./secondaryNavConfig-DqUIp0Es.js";import{V as wt}from"./fx-z37u1o2z.js";import{B as Ko}from"./bot-eu8pBNvI.js";import{BrokerRight as Jo}from"./right-ChF_pbPy.js";import{OpsRight as Xo}from"./inspector-panel-DPoCWxKs.js";import{M as Qo}from"./MeshCanvasMinimap-CyVFYixr.js";import{u as Zo,T as es}from"./chunk-YOZR3KYS-Bet8khjg.js";import{u as ts,a as os,b as ss,c as ns,d as rs,e as is}from"./hooks-B6y_O2FB.js";import"./sse-CjIkKo46.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./DocumentFocusViewer-BeVwwl26.js";import"./TextDocumentSurface-BpAw4eQS.js";/* empty css */import"./file-text-BODxCjcz.js";import"./chevron-right-XiIHsk4m.js";import"./code-xml-B6jOCM4V.js";import"./arrow-left-DEZzHiPS.js";import"./keyboard-nav-2kv_tGUS.js";import"./MessageComposerSuggestions-DpxN9WiB.js";import"./NewChatComposer-Cs6OsxK6.js";import"./index-CJXzfjo9.js";import"./HarnessMark-Cbv3Ib0c.js";import"./conversation-model-B47vYmWN.js";import"./NewChatOrigin-Bk2OyVjI.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./search-CWfZtOt2.js";import"./content-CSPVmo2s.js";import"./ActivityScreen-Cu_1V4bq.js";import"./mentions-jSuTGeet.js";import"./AgentDetailCard-BcRBRp88.js";import"./AgentLiveActions-DBtnD0qE.js";import"./terminal-takeover-B8UeD9OX.js";import"./openContent-C6XO6kr5.js";import"./eye-0PvebX_a.js";import"./terminal-B9AOZQKR.js";import"./EmptyState-4F9XDFQm.js";/* empty css */import"./voice-levels-Dcr3jglk.js";import"./terminal-sessions-D5CIR2OL.js";import"./left-CpNEtFEg.js";/* empty css */import"./AgentAvatar-D90c1Rzk.js";import"./SpriteAvatar-DyaGuhik.js";import"./content-BIXf4cKR.js";import"./AgentInfoScreen-DZs2_ibL.js";/* empty css */import"./BackToPicker-BRvfostO.js";import"./ObservedTopologyPanel-DyUeV98H.js";import"./AgentsScreen-DBi8x4MB.js";/* empty css */import"./AgentsSubnav-DIEO4NPx.js";import"./SecondaryNav-B3-nh5dM.js";import"./message-square-DSaGpjFU.js";import"./scroll-text-D6Pdnar7.js";import"./library-D-RxGiCw.js";/* empty css */import"./AgentSessions-DyqOf4nG.js";import"./agents-project-model-UYiamtrU.js";import"./profile-CVRziEDA.js";import"./context-budget-CbB4BDcO.js";import"./session-catalog-BmoyVTJ_.js";import"./terminal-relay-CWbJ1RCW.js";import"./ConversationScreen-BDRhx-RU.js";import"./ConversationComposer-Bla3DDvM.js";import"./message-markup-3J9pi3nx.js";import"./message-visibility-kJM8XcSG.js";import"./sessionRead-CvFz2RHv.js";import"./types-B0PlfpKc.js";/* empty css */import"./ConversationHeader-DE3FC0m-.js";import"./ConversationFeedRows-B_gPxcqA.js";import"./ConversationPanels-DLek4H6A.js";import"./use-reduced-motion-RRBkmVkk.js";import"./activity-CA8qS6PI.js";import"./message-circle-CG-96zts.js";import"./tail-display-BdyoLvzY.js";import"./lane-edit-display-C_Aujldz.js";import"./tail-events-D19uAGe3.js";import"./ConversationStatus-BwVLiiO4.js";import"./conversation-icons-IIG5ha6D.js";import"./SessionObserve-yfXFafp8.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-Bla0gBdm.js";import"./lane-observe-D0rfKDnU.js";import"./lane-ask-display-B6iCAVcd.js";import"./ObserveTextFlow-rsFj_rVo.js";import"./wrench-Bkc_0lKF.js";import"./external-link-CXBytO9o.js";import"./AgentDefinitionsWorkspace-CUpUrY57.js";import"./project-overview-helpers-BQTc_Ous.js";import"./FileViewerPane-CLgUhSm4.js";/* empty css */import"./agent-essentials-BSY1o46q.js";/* empty css *//* empty css */import"./right-BkgKo9VT.js";import"./openAgent-Bjt57GdM.js";import"./TmuxPeek-m1osv33Q.js";import"./ProjectsScreen-eNUBy4YU.js";import"./ProjectsInbox-GhVMxOhw.js";import"./api-BkjHJfgJ.js";import"./ui-LM8pS8qE.js";import"./SessionRefScreen-DRgJu7Jo.js";/* empty css */import"./AddProjectForm-DMnobKch.js";import"./projects-inbox-CHyUFQ6w.js";import"./model-CpAxGuis.js";import"./cache-Dr0why2k.js";import"./arrow-up-right-ClxBnsi7.js";import"./ProjectAgentProfile-DJusrAV-.js";import"./ProjectAgentProfileBar-CtTpj6fU.js";import"./ProjectsThreadAside-CoBgnHmr.js";import"./content-GIBv_55n.js";import"./BriefingsScreen-BQEevztH.js";/* empty css */import"./content-CvlVUOG8.js";import"./BrokerScreen-7ekklu88.js";import"./status-tone-BM_zuRy1.js";import"./broker-display-pp33bLsu.js";import"./BrokerMetadataPanel-7UjcuNjd.js";import"./DispatchAftermath-Dpe88DFX.js";import"./follow-route-BvcGtBIL.js";import"./ShikiPane-Ap1iPxYb.js";import"./arrow-down-BPLe0am9.js";import"./check-DjgFiBxb.js";import"./sparkles-ClfRJQ6w.js";import"./radio-Bz8ZePxj.js";import"./left-CzXAuK_t.js";import"./conversation-prefs-DNre-Lcx.js";import"./use-conversation-list-Byab41G6.js";import"./use-fleet-active-asks-BIbQx5AS.js";import"./RailRow-BoGxAHNF.js";/* empty css */import"./content-DikVsqLf.js";import"./MessagesScreen-C8YKW10Y.js";import"./right-wzrLXKur.js";import"./CodeScreen-BxCrpRHd.js";import"./CodeDiffPane-DDPt6KPh.js";import"./usePierreRuntime-wC-yMtBb.js";/* empty css */import"./CodeProjectPicker-DqKFCpLU.js";/* empty css */import"./content-D5kJmfgl.js";import"./FollowScreen-DZ4qfYOY.js";import"./content-C_FGqx1X.js";import"./HarnessesScreen-CznAImej.js";import"./useContentSecondaryNav-DMl1WNm7.js";import"./OpsSubnav-DsuXzHah.js";/* empty css */import"./left-C--GiIh8.js";import"./operator-attention-BwSPeheT.js";import"./right-BHeiIaty.js";import"./left-jYYGAOYD.js";import"./mesh-view-store-CWidRbTE.js";import"./mesh-buckets-CfAukILK.js";import"./FleetSearch-Dz5euQJe.js";import"./content-DTpQsomG.js";import"./MeshScreen-DFgevn8N.js";import"./MeshCanvas-DFEPkpqY.js";import"./chunk-T65CQEWV-CrzwSeEt.js";import"./useAgentHoverCard-DMrbBif0.js";import"./local-agents--00gLMqr.js";/* empty css */import"./right-BpEU5jWE.js";import"./left-bN4PCAXa.js";import"./left-agents-Bo9sO1by.js";import"./left-default-DV9GdvYi.js";import"./left-lanes-D0l_Co7V.js";import"./agent-lanes-model-B4YTt4OF.js";import"./lane-roster-store-D8x1jac2.js";import"./left-mission-Ci7zREkQ.js";import"./mission-control-store-BlnEhiCq.js";import"./MissionLeftAgentRow-BpZWntfl.js";import"./page-status-DpkedE1F.js";import"./left-plan-D4U1uflW.js";import"./content-BDt9VBPk.js";import"./OpsScreen-Buf3LKjb.js";/* empty css */import"./AgentLanesView-B9vuEEmZ.js";/* empty css */import"./observe-CuLGD9Zp.js";import"./AgentFloorView-8LoAEBwS.js";/* empty css */import"./AgentLanesPreflight-eSAoDsPi.js";import"./AgentLaneChrome-D9ZwUKrl.js";import"./AgentLaneCard-RrNnDZu8.js";/* empty css */import"./AgentLaneSummaryResize-BhFmGNzT.js";import"./agent-lane-card-model-r2frk57c.js";import"./agent-lane-preview-CmHVe3dU.js";import"./AgentLaneDetailSheet-BXbPls9N.js";import"./SlidePanel-COwtoJqR.js";import"./agent-lane-detail-Djm3YJEa.js";import"./LaneTraceDetailSheet-D1CspRbl.js";import"./LaneTraceEventFocus-BF9ERP5O.js";import"./MissionControlView-lUeAiSVg.js";/* empty css */import"./MissionFocusOverlay-wlCmWDCT.js";import"./mission-control-model-C0fByIjm.js";import"./MissionLogPane-__MVtEl9.js";import"./OpsAgentsView-UN7iOscs.js";/* empty css */import"./DataTable-E8s_MmoA.js";/* empty css */import"./sliders-horizontal-1oW76Xc9.js";import"./PlanView-C1CjH3PG.js";/* empty css */import"./AtopView-BCkae3e1.js";import"./TailView-DGj_5HA9.js";import"./content-DlUe5Ono.js";import"./RepoDiffPageScreen-DMv6DioL.js";import"./RepoDiffViewerLazy-BPgF92Bg.js";import"./ReposScreen-CB_YBWYf.js";/* empty css */import"./selection-bridge-16pk1qyG.js";import"./right-DjRXbnRP.js";import"./content-CR3vdrYY.js";import"./KnowledgeSearchScreen-DJDGGaqC.js";/* empty css */import"./knowledge-search-CVxQwxPn.js";import"./KnowledgeSearchInspector-Dgdkfvvz.js";import"./content-BLm0NBJM.js";import"./SessionsScreen-D6XUsZfA.js";import"./RawSessionsTable-DL8y_eEy.js";import"./FlightObserveScreen-6RpZYwVz.js";/* empty css */import"./right-DMoUT3KN.js";import"./content-Q2oclDzi.js";import"./SettingsScreen-Cy8z-EuR.js";import"./StatusPill-DhBL__p8.js";import"./AgentConfigurationScreen-BqfOz90D.js";import"./server-CPp4ZJhZ.js";import"./VoicePermissionsPanel-DsK53ar4.js";import"./left-Cj7Rt89X.js";import"./session-table-DZcrKoIH.js";import"./Terminal-CqvGbjXU.js";/* empty css */import"./right-T4Ue6EqM.js";import"./content-C5UbLsDF.js";import"./WorkDetailScreen-Bx0JimPC.js";import"./WorkFilesViewer-Btl6C2Q1.js";import"./right-CRZXoy-X.js";import"./RealtimeVoiceScreen-ffS-39zy.js";import"./HomeHero-B3uYd-pP.js";import"./home-moving-signal-CK147hxn.js";import"./home-live-action-B22u89j7.js";const as=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],cs=Uo("circle-check",as);function ls(){const{route:t,navigate:o,agents:s}=F();return e.jsx(yo,{children:xo(t,o,s)})}const ds=new Set(["air-local","local","mini","node"]),us=new Set(["main","master","trunk"]);function ms(t){return t.replace(/```[\s\S]*?```/g," code omitted ").replace(/\*\*([^*\n]+)\*\*/g,"$1").replace(/(^|[\s(])\*([^\s*][^*\n]*?[^\s*]|[^\s*])\*(?=[\s)\].,!?;:]|$)/g,"$1$2").replace(/(^|[\s(])_([^\s_][^_\n]*?[^\s_]|[^\s_])_(?=[\s)\].,!?;:]|$)/g,"$1$2").replace(/^\s*[-*]\s+/gm,"").replace(/\bhttps?:\/\/[^\s)]+/gi,o=>ps(o)).replace(/\b(session|conversation|message|flight|invocation|work)(?:\s+(?:id|ref))?\s*[:#]?\s+([a-z0-9][a-z0-9._:-]{9,})\b/gi,(o,s,r)=>`${s.toLowerCase()} ending in ${Ze(r)}`).replace(/\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/gi,o=>`ID ending in ${Ze(o)}`).replace(/@?([a-z][a-z0-9-]*(?:\.[a-z0-9][a-z0-9-]*){2,})\b/gi,(o,s)=>hs(o)?o:fs(s)).replace(/`([^`]+)`/g,(o,s)=>gs(s)).replace(/\s+/g," ").trim()}function ps(t){try{return new URL(t).hostname.replace(/^www\./,"").replace(/\./g," dot ")}catch{return"link"}}function hs(t){const o=t.replace(/^@/,"").toLowerCase();return/\.(com|app|dev|org|net|io|local)(?:\b|\/)/.test(o)&&!o.endsWith(".air-local")}function fs(t){const o=t.split(".").filter(Boolean);if(o.length<2)return t;const s=[...o];for(;s.length>1&&ds.has(s.at(-1).toLowerCase());)s.pop();const[r,...l]=s,a=l.filter(u=>!us.has(u.toLowerCase())).map(et).filter(Boolean);return[et(r),...a].filter(Boolean).join(", ")}function gs(t){return/^[a-z0-9][a-z0-9._:-]{12,}$/i.test(t)?`ID ending in ${Ze(t)}`:et(t)}function Ze(t){return(t.replace(/[^a-z0-9]/gi,"").slice(-4)||t.slice(-4)).split("").join(" ")}function et(t){return t.replace(/^@/,"").replace(/[_./:-]+/g," ").replace(/\s+/g," ").trim()}function rt(t){return t.handle??t.id}function xs(t,o){if(!o)return!0;const s=o.toLowerCase();return t.name.toLowerCase().includes(s)||rt(t).toLowerCase().includes(s)||t.id.toLowerCase().includes(s)}function bs({agents:t,query:o,excludeIds:s,maxResults:r=50}){const l=n.useMemo(()=>new Set(s??[]),[s]),a=n.useMemo(()=>t.filter(y=>!l.has(y.id)&&xs(y,o.trim())).slice(0,r),[t,l,o,r]),[u,d]=n.useState(0);n.useEffect(()=>{d(v=>a.length===0?0:Math.min(v,a.length-1))},[a]);const f=n.useCallback(v=>{d(y=>a.length===0?0:(y+v+a.length)%a.length)},[a.length]),b=n.useCallback(()=>d(0),[]);return{filtered:a,highlightedIndex:u,setHighlightedIndex:d,moveHighlight:f,resetHighlight:b}}function vs({agents:t,highlightedIndex:o,onSelect:s,onHover:r,emptyHint:l,pendingId:a,className:u,id:d}){return t.length===0?e.jsx("div",{className:`agent-autocomplete ${u??""}`,id:d,children:e.jsx("div",{className:"agent-autocomplete-empty",children:l??"No matches."})}):e.jsx("div",{className:`agent-autocomplete ${u??""}`,role:"listbox",id:d,children:t.map((f,b)=>{const v=rt(f),y=b===o;return e.jsxs("button",{type:"button",role:"option","aria-selected":y,className:`agent-autocomplete-item${y?" is-active":""}`,onMouseDown:S=>{S.preventDefault(),s(f)},onMouseEnter:()=>r?.(b),disabled:a===f.id,children:[e.jsx("div",{className:"agent-autocomplete-avatar",style:{background:Mo(f.name)},children:f.name[0]?.toUpperCase()??"?"}),e.jsxs("div",{className:"agent-autocomplete-info",children:[e.jsx("span",{className:"agent-autocomplete-name",children:f.name}),e.jsxs("span",{className:"agent-autocomplete-handle",children:["@",v]})]})]},f.id)})})}const ys=/(^|\s)@([a-zA-Z0-9_.-]*)$/,Ne=4,Ss=254;function ks(t,o){if(o<=0)return null;const s=t.slice(0,o),r=ys.exec(s);if(!r)return null;r[1];const l=r[2]??"",a=s.length-l.length-1;return a<0?null:(t.slice(o,o+1),{start:a,end:o,query:l})}const js=["boxSizing","width","height","overflowX","overflowY","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStyle","paddingTop","paddingRight","paddingBottom","paddingLeft","fontStyle","fontVariant","fontWeight","fontStretch","fontSize","fontSizeAdjust","lineHeight","fontFamily","textAlign","textTransform","textIndent","textDecoration","letterSpacing","wordSpacing","tabSize","whiteSpace","wordWrap","wordBreak"];function ws(t,o){const s=document.createElement("div");document.body.appendChild(s);const r=s.style,l=window.getComputedStyle(t);r.position="absolute",r.visibility="hidden",r.whiteSpace="pre-wrap",r.wordWrap="break-word",r.top="0",r.left="-9999px";for(const b of js)r[b]=l[b];s.textContent=t.value.slice(0,o);const a=document.createElement("span");a.textContent=t.value.slice(o)||".",s.appendChild(a);const u=a.offsetTop,d=a.offsetLeft,f=parseInt(l.lineHeight,10)||a.offsetHeight;return document.body.removeChild(s),{top:u,left:d,height:f}}const Cs=n.forwardRef(function({agents:o,excludeIds:s,value:r,onChange:l,onSubmit:a,placeholder:u,rows:d=1,disabled:f,submitOnEnter:b=!1,className:v,textareaClassName:y,emptyHint:S,onMention:k},T){const j=n.useRef(null),I=n.useRef(null),[N,x]=n.useState(null),[h,C]=n.useState(null);n.useImperativeHandle(T,()=>({focus:()=>j.current?.focus(),blur:()=>j.current?.blur(),get textarea(){return j.current}}),[]);const O=N?.query??"",{filtered:P,highlightedIndex:L,setHighlightedIndex:V,moveHighlight:z}=bs({agents:o,query:O,excludeIds:s}),W=n.useCallback(()=>{const m=j.current;if(!m)return;const g=window.getComputedStyle(m),E=parseFloat(g.minHeight)||0,R=parseFloat(g.maxHeight);m.style.height="0px";const M=Math.max(m.scrollHeight,E),A=Number.isFinite(R)&&R>0?Math.min(M,R):M;m.style.height=`${A}px`,m.style.overflowY=M>A?"auto":"hidden"},[]);n.useLayoutEffect(()=>{W()},[W,r]);const J=n.useCallback(()=>{const m=j.current;if(!m)return;const g=ks(m.value,m.selectionStart??0);x(g)},[]);n.useLayoutEffect(()=>{const m=j.current;if(!m||!N){C(null);return}const{top:g,left:E,height:R}=ws(m,N.start),M=m.getBoundingClientRect(),A=m.parentElement?.getBoundingClientRect(),_=A?M.top-A.top:0,Z=A?M.left-A.left:0,ee=I.current?.offsetHeight||Ss,q=window.visualViewport,Me=q?.offsetTop??0,se=Me+(q?.height??window.innerHeight),le=M.top+g-m.scrollTop,D=le+R,X=se-D-Ne,de=le-Me-Ne,Le=X<ee&&de>X;C({top:Le?_+g-m.scrollTop-ee-Ne:_+g+R-m.scrollTop+Ne,left:Z+E-m.scrollLeft})},[N,r,P.length]);const G=n.useCallback(m=>{const g=j.current,E=N;if(!g||!E)return;const R=rt(m),M=r.slice(0,E.start),A=r.slice(E.end),_=`@${R} `,Z=`${M}${_}${A}`;l(Z),k?.(m),x(null);const ee=E.start+_.length;queueMicrotask(()=>{const q=j.current;q&&(q.focus(),q.setSelectionRange(ee,ee))})},[N,r,l,k]),ce=m=>{if(Lo(m)||b&&m.key==="Enter"&&!m.shiftKey&&!m.nativeEvent?.isComposing&&!(N&&P.length>0)){m.preventDefault(),a?.();return}if(N&&P.length>0){if(m.key==="ArrowDown"){m.preventDefault(),z(1);return}if(m.key==="ArrowUp"){m.preventDefault(),z(-1);return}if(m.key==="Enter"||m.key==="Tab"){if(m.key==="Enter"&&m.shiftKey)return;const E=P[L];if(E){m.preventDefault(),G(E);return}}if(m.key==="Escape"){m.preventDefault(),x(null);return}}};return e.jsxs("div",{className:`agent-mention-wrap ${v??""}`,children:[e.jsx("textarea",{ref:j,className:y,value:r,rows:d,placeholder:u,disabled:f,onChange:m=>{l(m.target.value),W(),queueMicrotask(J)},onKeyUp:J,onClick:J,onBlur:()=>x(null),onKeyDown:ce,"aria-autocomplete":"list"}),N&&e.jsx("div",{ref:I,className:"agent-mention-popover",style:{top:`${h?.top??0}px`,left:`${h?.left??0}px`,visibility:h?void 0:"hidden"},children:e.jsx(vs,{agents:P,highlightedIndex:L,onSelect:G,onHover:V,emptyHint:S??"No matches."})})]})});function Ns({state:t,chatExpanded:o,onToggleExpanded:s,sessionPickerOpen:r,onToggleSessionPicker:l,onStartNewChat:a,startingNewChat:u,onSwitchSession:d,switchingSessionId:f,sending:b,briefing:v,pendingAsk:y,onArchiveSession:S,archivingSessionId:k,onAssistantContextMenu:T,suggestedPrompts:j,onSelectPrompt:I}){const x=t.session.messages,h=o?x:x.slice(-4),C=o?0:Math.max(0,x.length-h.length),O=x.length,P=t.sessions.length,L=t.retention,V=x.length===0&&!y&&!b&&!v,z=u||b||v||!!f||!!k,W=t.session.createdAt?_o(t.session.createdAt):null,J=V?"Scout conversation":t.session.title&&t.session.title!=="New Scout Session"?t.session.title:`Session ${t.session.id.slice(0,8)}`,G=n.useRef(null),ce=x[x.length-1]?.id??null,m=x[x.length-1]?.body??"";return n.useEffect(()=>{const g=G.current;g&&(g.scrollTop=g.scrollHeight)},[ce,m,y,b,o,t.session.id]),e.jsxs("div",{className:"flex h-full min-h-0 flex-1 flex-col overflow-hidden rounded border border-[var(--scout-chrome-border-soft)] bg-black/10 font-mono text-xs text-[var(--scout-chrome-ink-faint)]",children:[e.jsxs("div",{className:"flex shrink-0 items-center justify-between gap-2 border-b border-[var(--scout-chrome-border-soft)] px-2.5 py-1.5",children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-1.5",children:[e.jsx("span",{className:"min-w-0 truncate text-[var(--scout-chrome-ink)]",title:t.session.id,children:J}),W&&!V&&e.jsxs("span",{className:"shrink-0 text-[var(--scout-chrome-ink-ghost)]",children:["· ",W]}),!V&&e.jsxs("span",{className:"shrink-0 text-[var(--scout-chrome-ink-ghost)]",children:["· ",O," msg",O===1?"":"s"]})]}),e.jsxs("div",{className:"flex shrink-0 items-center gap-1",children:[e.jsxs("button",{type:"button",title:"Start a new chat (keeps this chat in Chats)","aria-label":"Start new chat",onClick:a,disabled:z,className:"flex items-center gap-1 rounded border border-lime-300/30 bg-lime-300/[0.06] px-1.5 py-0.5 text-2xs uppercase tracking-[0.1em] text-lime-100 transition-colors hover:border-lime-300/50 hover:bg-lime-300/10 disabled:cursor-not-allowed disabled:opacity-40",children:[u?e.jsx(K,{size:10,className:"animate-spin"}):e.jsx(Ho,{size:10}),e.jsx("span",{children:u?"Starting":"New chat"})]}),e.jsxs("button",{type:"button",title:`Switch chat (${P} total)`,"aria-label":"Switch chat",onClick:l,className:`flex items-center gap-1 rounded border px-1.5 py-0.5 text-2xs uppercase tracking-[0.1em] transition-colors ${r?"border-lime-300/40 bg-lime-300/10 text-lime-100":"border-[var(--scout-chrome-border-soft)] text-[var(--scout-chrome-ink-faint)] hover:bg-[var(--scout-chrome-hover)] hover:text-[var(--scout-chrome-ink)]"}`,children:[e.jsx(Bo,{size:10}),e.jsx("span",{children:"Chats"}),e.jsx("span",{className:"text-[var(--scout-chrome-ink-ghost)]",children:P}),e.jsx(Qe,{size:9,className:r?"rotate-180 transition-transform":"transition-transform"})]}),O>4&&e.jsxs("button",{type:"button",title:o?"Collapse chat":"View full session","aria-label":o?"Collapse chat":"View full session",onClick:s,className:"flex items-center gap-1 rounded border border-[var(--scout-chrome-border-soft)] px-1.5 py-0.5 text-2xs uppercase tracking-[0.1em] text-[var(--scout-chrome-ink-faint)] transition-colors hover:bg-[var(--scout-chrome-hover)] hover:text-[var(--scout-chrome-ink)]",children:[e.jsx("span",{children:o?"Collapse":"Full"}),o?e.jsx(co,{size:9}):e.jsx(Qe,{size:9})]})]})]}),r&&e.jsxs("div",{className:"shrink-0 border-b border-[var(--scout-chrome-border-soft)] px-2 py-1.5",children:[e.jsxs("div",{className:"mb-1 flex items-center justify-between gap-2 px-0.5 text-2xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-ghost)]",children:[e.jsx("span",{children:"Recent chats"}),L&&L.archivedCount>0&&e.jsxs("span",{children:[L.archivedCount," archived"]})]}),e.jsx("div",{className:"flex max-h-40 flex-col gap-0.5 overflow-y-auto pr-0.5",children:t.sessions.map(g=>{const E=g.id===t.session.id,R=f===g.id,M=k===g.id,A=kt(g.updatedAt)||"unknown",_=g.title&&g.title!=="New Scout Session"?g.title:`Session ${g.id.slice(0,8)}`;return e.jsxs("div",{className:`flex items-center gap-2 rounded border px-2 py-1 text-left transition-colors ${E?"border-lime-300/40 bg-lime-300/[0.06] text-lime-100":"border-transparent text-[var(--scout-chrome-ink-faint)] hover:border-[var(--scout-chrome-border-soft)] hover:bg-[var(--scout-chrome-hover)] hover:text-[var(--scout-chrome-ink)]"}`,children:[e.jsxs("button",{type:"button",onClick:()=>{E||d(g.id)},disabled:E||!!f||!!k,className:"flex min-w-0 flex-1 items-center gap-2 text-left disabled:cursor-not-allowed disabled:opacity-40",children:[e.jsx("span",{className:`h-1.5 w-1.5 shrink-0 rounded-full ${E?"bg-lime-300":"bg-[var(--scout-chrome-ink-ghost)]"}`}),e.jsx("span",{className:"min-w-0 flex-1 truncate text-xs text-[var(--scout-chrome-ink)]",children:_}),e.jsxs("span",{className:"shrink-0 text-2xs text-[var(--scout-chrome-ink-ghost)]",children:[g.messageCount," msg"]}),e.jsx("span",{className:"shrink-0 text-2xs text-[var(--scout-chrome-ink-ghost)]",children:A}),R&&e.jsx(K,{size:10,className:"shrink-0 animate-spin text-lime-200"})]}),e.jsx("button",{type:"button",title:"Archive chat","aria-label":`Archive chat ${_}`,onClick:()=>S(g.id),disabled:!!f||!!k,className:"flex h-5 w-5 shrink-0 items-center justify-center rounded border border-transparent text-[var(--scout-chrome-ink-ghost)] transition-colors hover:border-[var(--scout-chrome-border-soft)] hover:bg-black/20 hover:text-[var(--scout-chrome-ink)] disabled:cursor-not-allowed disabled:opacity-30",children:M?e.jsx(K,{size:10,className:"animate-spin"}):e.jsx($o,{size:10})})]},g.id)})})]}),e.jsxs("div",{ref:G,className:"flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto px-2.5 py-2",children:[C>0&&e.jsxs("button",{type:"button",onClick:s,className:"self-start text-2xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-ghost)] hover:text-[var(--scout-chrome-ink)]",children:["↑ ",C," earlier message",C===1?"":"s"]}),V&&e.jsx(Ts,{suggestedPrompts:j,onSelectPrompt:I}),h.map((g,E)=>{const R=Os(h[E-1],g),M=As(g.createdAt);return e.jsxs("div",{className:"flex flex-col gap-1",children:[R&&e.jsx("div",{className:"self-center rounded-full bg-white/[0.06] px-2.5 py-0.5 font-mono text-2xs font-medium text-[var(--scout-chrome-ink-ghost)]",title:kt(g.createdAt),"aria-label":M,children:M}),e.jsx(Ct,{role:g.role,body:g.body,onContextMenu:g.role==="assistant"&&T?A=>T(A,g.body):void 0})]},g.id)}),y&&e.jsx(Ct,{role:"user",body:y,pending:!0}),b&&!y&&e.jsx("p",{className:"text-[var(--scout-chrome-ink-ghost)]",children:"Reading the control plane…"}),v&&e.jsxs("div",{className:"flex items-center gap-2 rounded border border-lime-300/30 bg-lime-300/[0.06] px-2.5 py-2 font-mono text-xs leading-relaxed text-lime-100",children:[e.jsx(K,{size:12,className:"shrink-0 animate-spin text-lime-300","aria-hidden":"true"}),e.jsxs("div",{className:"min-w-0 flex flex-col gap-0.5",children:[e.jsx("span",{className:"text-xs uppercase tracking-[0.14em] text-lime-300",children:"Briefing"}),e.jsx("span",{className:"text-[var(--scout-chrome-ink)]",children:"Codex is reviewing the control-plane snapshot. Voice will pick up when it lands."})]})]})]})]})}function Ts({suggestedPrompts:t=[],onSelectPrompt:o}){return e.jsxs("div",{className:"flex min-h-0 flex-1 flex-col justify-start gap-2 px-1 py-2.5",children:[t.length>0?e.jsx("div",{className:"grid gap-1",children:t.slice(0,3).map(s=>e.jsx("button",{type:"button",onClick:()=>o?.(s),className:"min-h-7 truncate rounded border border-[var(--scout-chrome-border-soft)] bg-black/10 px-2.5 text-left font-mono text-xs leading-snug text-[var(--scout-chrome-ink-faint)] transition-colors hover:bg-[var(--scout-chrome-hover)] hover:text-[var(--scout-chrome-ink)]",children:s},s))}):null,e.jsxs("div",{className:"max-w-[30rem]",children:[e.jsx("div",{className:"font-sans text-lg font-semibold leading-tight text-[var(--scout-chrome-ink)]",children:"Start with a question."}),e.jsx("p",{className:"mt-0.5 font-sans text-xs leading-snug text-[var(--scout-chrome-ink-faint)]",children:"Paste a failed result or ask about what you are seeing. Scout replies when you ask."})]})]})}function Es({agents:t,draft:o,onDraftChange:s,onSubmit:r,sending:l,recording:a,voiceLabel:u,voiceBusy:d,voiceUnavailable:f,voiceHeld:b=!1,onMicClick:v,prominent:y=!1,autoFocus:S,focusSignal:k}){const T=n.useRef(null),j=n.useCallback(()=>{const h=T.current;h&&(h.textarea?h.textarea.focus({preventScroll:!0}):h.focus())},[]);n.useEffect(()=>{S&&j()},[S,j]),n.useEffect(()=>{k&&j()},[k,j]);let I="Start talking";f&&(I="Set up Scout voice"),a&&(I="Stop talking"),(d||b)&&(I=u);const N=d||a||b,x=["w-full resize-none rounded border font-mono text-sm leading-relaxed text-[var(--scout-chrome-ink)] placeholder:text-[var(--scout-chrome-ink-ghost)]",y?"min-h-[88px] max-h-[170px] border-lime-300/30 bg-black/25 px-3 py-2 text-md":"min-h-[44px] max-h-[124px] border-[var(--scout-chrome-border-soft)] bg-black/20 px-2 py-1.5"].join(" ");return e.jsxs("form",{className:"flex flex-col gap-1.5",onSubmit:h=>{h.preventDefault(),r()},children:[e.jsx(Cs,{ref:T,agents:t,value:o,onChange:s,onSubmit:()=>{o.trim()&&!l&&r()},placeholder:b?"Type while live voice is on…":y?"Ask Scout about what you are seeing…":"Ask Scout…",rows:y?4:2,disabled:l,submitOnEnter:!0,className:"min-w-0",textareaClassName:x}),e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsxs("button",{type:"button",title:I,"aria-label":I,onClick:v,disabled:l||d||b,className:`flex h-8 items-center justify-center rounded border transition-colors disabled:cursor-not-allowed disabled:opacity-40 ${a?"border-lime-300/50 bg-lime-300/10 text-lime-200":b?"border-lime-300/25 bg-lime-300/[0.05] text-lime-100/70":"border-[var(--scout-chrome-border-soft)] text-[var(--scout-chrome-ink-faint)] hover:bg-[var(--scout-chrome-hover)] hover:text-[var(--scout-chrome-ink)]"} ${N?"gap-1.5 px-3 font-mono text-xs uppercase tracking-[0.12em]":"w-9"}`,children:[d?e.jsx(K,{size:13,className:"animate-spin"}):a?e.jsx(Mt,{size:12,className:"fill-current"}):e.jsx(zo,{size:13}),N&&e.jsx("span",{className:"truncate",children:u})]}),e.jsx("button",{type:"submit",title:"Send","aria-label":"Send",disabled:!o.trim()||l,className:"flex h-8 w-9 items-center justify-center rounded bg-lime-300/90 text-black transition-opacity disabled:cursor-not-allowed disabled:opacity-40",children:l?e.jsx(K,{size:13,className:"animate-spin"}):e.jsx(Vo,{size:13})})]})]})}function Ct({role:t,body:o,pending:s=!1,onContextMenu:r}){const l=t==="user",a=l?o:xe(o),[u,d]=n.useState(!1),f=n.useCallback(()=>{Ee(a).then(()=>{d(!0),window.setTimeout(()=>d(!1),1200)}).catch(()=>{})},[a]);return e.jsxs("div",{className:"group flex flex-col gap-0.5",onContextMenu:r,children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsxs("span",{className:`text-2xs uppercase tracking-[0.12em] ${l?"text-[var(--scout-chrome-ink-ghost)]":"text-lime-300"}`,children:[l?"You":"Reply",s&&" · sending"]}),e.jsx("button",{type:"button",title:u?"Copied":"Copy message","aria-label":u?"Copied message":"Copy message",disabled:s||!a.trim(),onClick:f,className:"flex h-5 w-5 shrink-0 items-center justify-center rounded border border-[var(--scout-chrome-border-soft)] text-[var(--scout-chrome-ink-ghost)] opacity-70 transition hover:bg-[var(--scout-chrome-hover)] hover:text-[var(--scout-chrome-ink)] disabled:cursor-not-allowed disabled:opacity-20 group-hover:opacity-100",children:u?e.jsx(cs,{size:11}):e.jsx(Fo,{size:11})})]}),l?e.jsx("p",{className:`whitespace-pre-wrap break-words text-sm leading-relaxed text-[var(--scout-chrome-ink)] ${s?"opacity-60":""}`,children:a}):e.jsx("div",{className:s?"opacity-60":"",children:e.jsx(Do,{text:a})})]})}const Rs=5*6e4;function Os(t,o){if(!t||!tt(t.createdAt,o.createdAt))return!0;const s=ve(t.createdAt),r=ve(o.createdAt);return s===null||r===null?!0:Math.abs(r-s)>=Rs}function tt(t,o){const s=ve(t),r=ve(o);if(s===null||r===null)return!1;const l=new Date(s),a=new Date(r);return l.getFullYear()===a.getFullYear()&&l.getMonth()===a.getMonth()&&l.getDate()===a.getDate()}function As(t){const o=ve(t);if(o===null)return"";const s=new Date(o),r=new Date,l=new Date(r);l.setDate(r.getDate()-1);const a=s.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"});return tt(o,r.getTime())?`Today ${a}`:tt(o,l.getTime())?`Yesterday ${a}`:s.getFullYear()===r.getFullYear()?`${s.toLocaleDateString([],{month:"short",day:"numeric"})} ${a}`:`${s.toLocaleDateString([],{month:"short",day:"numeric",year:"numeric"})} ${a}`}function Nt({icon:t,title:o,onClick:s,disabled:r,active:l,badge:a}){return e.jsxs("button",{type:"button",title:o,"aria-label":o,onClick:s,disabled:r,className:`flex shrink-0 items-center gap-1 rounded border p-1 text-xs transition-colors disabled:cursor-not-allowed disabled:opacity-40 ${l?"border-lime-300/50 bg-lime-300/10 text-lime-200":"border-[var(--scout-chrome-border-soft)] text-[var(--scout-chrome-ink-faint)] hover:bg-[var(--scout-chrome-hover)] hover:text-[var(--scout-chrome-ink)]"}`,children:[t,a&&e.jsx("span",{className:"font-mono text-3xs tracking-tight",children:a})]})}function Is({issue:t,probeState:o,onLaunch:s,onRetry:r,onSettings:l,onDismiss:a}){const u=o==="probing"||o==="launching";return e.jsxs("div",{className:"rounded border border-[var(--scout-chrome-border-soft)] bg-black/15 px-2.5 py-2 font-mono text-xs text-[var(--scout-chrome-ink)]",children:[e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx(jt,{size:13,className:"mt-0.5 shrink-0 text-[var(--scout-chrome-ink-faint)]"}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("div",{className:"uppercase tracking-[0.14em] text-[var(--scout-chrome-ink-faint)]",children:"Scout Voice"}),e.jsx("p",{className:"mt-1 leading-relaxed text-[var(--scout-chrome-ink-ghost)]",children:"Open Scout Menu to use speech."}),t&&e.jsx("p",{className:"mt-2 break-words leading-relaxed text-[var(--scout-chrome-ink-ghost)]",children:t})]}),a?e.jsx("button",{type:"button",title:"Hide voice setup","aria-label":"Hide voice setup",onClick:a,className:"shrink-0 rounded border border-transparent p-1 text-[var(--scout-chrome-ink-ghost)] transition-colors hover:border-[var(--scout-chrome-border-soft)] hover:bg-[var(--scout-chrome-hover)] hover:text-[var(--scout-chrome-ink)]",children:e.jsx(Wo,{size:11})}):null]}),e.jsxs("div",{className:"mt-2 grid grid-cols-3 gap-1.5",children:[e.jsx(qe,{icon:o==="launching"?e.jsx(K,{size:12,className:"animate-spin"}):e.jsx(jt,{size:12}),label:o==="launching"?"Opening":"Open",onClick:s,disabled:o==="probing",title:"Open Scout services"}),e.jsx(qe,{icon:o==="probing"?e.jsx(K,{size:12,className:"animate-spin"}):e.jsx(Go,{size:12}),label:"Retry",onClick:r,disabled:u,title:"Check Scout voice again"}),e.jsx(qe,{icon:e.jsx(qo,{size:12}),label:"Voice",onClick:l,disabled:o==="probing",title:"Open Scoutbot voice settings"})]})]})}function qe({icon:t,label:o,onClick:s,disabled:r,title:l}){return e.jsxs("button",{type:"button",title:l,onClick:s,disabled:r,className:"flex min-h-7 items-center justify-center gap-1.5 rounded border border-[var(--scout-chrome-border-soft)] px-2 text-2xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)] transition-colors hover:bg-[var(--scout-chrome-hover)] hover:text-[var(--scout-chrome-ink)] disabled:cursor-not-allowed disabled:opacity-45",children:[t,o]})}function Ps({voicePresetId:t,onVoicePresetId:o,voiceDefaults:s,modelDraft:r,onModelDraft:l,promptDraft:a,onPromptDraft:u,configLoading:d,configSaving:f,configError:b,configStatus:v,onSave:y,onReload:S}){return e.jsx("div",{className:"rounded border border-[var(--scout-chrome-border-soft)] bg-black/10 p-3",children:e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs("label",{className:"flex flex-col gap-1 font-mono text-xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:["Voice FX",e.jsx("select",{value:t,onChange:k=>o(k.target.value),className:"rounded border border-[var(--scout-chrome-border-soft)] bg-black/20 px-2 py-1.5 font-mono text-sm normal-case tracking-normal text-[var(--scout-chrome-ink)]",children:wt.map(k=>e.jsxs("option",{value:k.id,children:[k.label," — ",k.family]},k.id))}),e.jsx("span",{className:"font-mono text-2xs normal-case leading-relaxed tracking-normal text-[var(--scout-chrome-ink-ghost)]",children:wt.find(k=>k.id===t)?.description??"Custom voice mood for spoken replies."})]}),e.jsxs("div",{className:"flex flex-col gap-1 font-mono text-xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:["Scout Voice",e.jsx("div",{className:"rounded border border-[var(--scout-chrome-border-soft)] bg-black/20 px-2 py-1.5 font-mono text-sm normal-case tracking-normal text-[var(--scout-chrome-ink)]",children:s?`${s.modelId}${s.voiceId?` / ${s.voiceId}`:""}`:"Unavailable"})]}),e.jsxs("label",{className:"flex flex-col gap-1 font-mono text-xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:["Preferred model",e.jsx("input",{value:r,onChange:k=>l(k.target.value),placeholder:"gpt-4.1-mini",className:"rounded border border-[var(--scout-chrome-border-soft)] bg-black/20 px-2 py-1.5 font-mono text-sm normal-case tracking-normal text-[var(--scout-chrome-ink)] placeholder:text-[var(--scout-chrome-ink-ghost)]",disabled:d||f})]}),e.jsxs("label",{className:"flex flex-col gap-1 font-mono text-xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:["System Prompt",e.jsx("textarea",{value:a,onChange:k=>u(k.target.value),rows:6,className:"w-full resize-y rounded border border-[var(--scout-chrome-border-soft)] bg-black/20 px-2 py-1.5 font-mono text-xs normal-case leading-relaxed tracking-normal text-[var(--scout-chrome-ink)]",disabled:d||f})]}),b&&e.jsx("div",{className:"font-mono text-xs leading-relaxed text-red-300",children:b}),v&&e.jsx("div",{className:"font-mono text-xs leading-relaxed text-lime-200",children:v}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("button",{type:"button",onClick:y,disabled:d||f||!a.trim(),className:"flex items-center justify-center gap-2 rounded bg-lime-300/90 px-2.5 py-2 font-mono text-xs font-bold uppercase tracking-[0.12em] text-black transition-opacity disabled:cursor-not-allowed disabled:opacity-40",children:[(d||f)&&e.jsx(K,{size:13,className:"animate-spin"}),f?"Saving":"Save"]}),e.jsx("button",{type:"button",onClick:S,disabled:d||f,className:"rounded border border-[var(--scout-chrome-border-soft)] px-2.5 py-2 font-mono text-xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)] hover:bg-[var(--scout-chrome-hover)] disabled:cursor-not-allowed disabled:opacity-40",children:"Reload"})]})]})})}const Ms="chill-dispatcher",Ls=6e4,zs=2500,_s=1.2,Ds={lowCutHz:160,highCutHz:5200,bandQ:.35,saturationAmount:.035,bitcrushAmount:0,hissGain:0,hissCutoffHz:1800,presencePeakDb:1.5,presenceCenterHz:1500,presenceQ:.65,compressorThresholdDb:-15,compressorRatio:2.2,clickEnabled:!0,clickGain:.24,clickDurationMs:45,squelchTailEnabled:!0,squelchTailGain:.018,squelchTailDurationMs:95,outputGain:1,wetMix:.38};function Hs(t){const o=Math.min(1,t/8);return{saturationAmount:.035+o*.025,presencePeakDb:1.5+o*1.5}}function Bs(t,o){return{...t==="chill-dispatcher"?Ds:{},...Hs(o)}}function Lt(t,o,s){return new Promise((r,l)=>{const a=window.setTimeout(()=>l(new Error(s)),o);t.then(r,l).finally(()=>window.clearTimeout(a))})}async function Tt(t,o={}){!t.sessionId&&!o.allowCurrentSession||await Lt(t.cancel(),zs,"Timed out releasing Scout voice session.").catch(()=>{})}function $s(t){const o=t instanceof Error?t.message:String(t);return/session_cancelled|was cancelled|cancelled/i.test(o)}const Et=new RegExp("(?:^|(?<=[\\s(`'\"<>]))(?:~\\/|\\/(?:Users|home|opt|var|etc|tmp|private)\\/)[^\\s)`'\"<>]+\\.[A-Za-z0-9]{1,8}\\b","g");function Vs(t){const o=[],s=new Set;Et.lastIndex=0;let r;for(;(r=Et.exec(t))!==null;)s.has(r[0])||(s.add(r[0]),o.push(r[0]));return o}function Rt(t){const o=t.split("/").filter(Boolean);return o.length<=2?t:`…/${o.slice(-2).join("/")}`}function Us(){return{requesterName:"OpenScout",productName:"Scout Voice",headline:"Turn on local voice",body:"Scout voice handles local speech capture and spoken replies. Start Scout services, then return here to talk with your workspace.",actionLabel:"Return to OpenScout",logo:{url:new URL("/openscout-icon.png",window.location.href).toString(),symbolName:"sparkles"}}}const Fs=["Explain what went wrong here.","Help me rewrite this message.","What should I try next?"];function Ot({height:t,forceExpanded:o=!1,fill:s=!1}={}){const{applyScoutbotUiAction:r,agents:l,route:a,onlineCount:u}=F(),d=lo(),f=nt(uo,!1),b=mo(),v=f&&(b.state==="connecting"||b.state==="live"),[y,S]=Xe("openscout.scoutbot.collapsed",!0),[k,T]=n.useState(""),[j,I]=n.useState(!1),[N,x]=n.useState(null),[h,C]=n.useState(null),[O,P]=n.useState(null),[L,V]=n.useState("idle"),[z,W]=Xe("openscout.scoutbot.voiceReplies",!1),[J]=Pt("openscout.scoutbot.voiceSpeed",_s),[G,ce]=To("openscout.scoutbot.voicePresetId",Ms),[m,g]=n.useState(!1),[E,R]=n.useState(null),[M,A]=n.useState(""),[_,Z]=n.useState(!1),[ee,q]=n.useState(null),[Me,se]=n.useState(null),[le,D]=n.useState(null),[X,de]=n.useState(!1),[Le,ze]=n.useState(!1),[Y,ne]=n.useState(null),[ue,it]=n.useState(!1),[_e,at]=n.useState(null),[Dt,ct]=n.useState(!1),[Ht,lt]=n.useState(!1),[Bt,Se]=n.useState(null),[$t,De]=n.useState(null),[He,Be]=n.useState(""),[$e,Ve]=n.useState(""),[Vt,dt]=n.useState(null),[Ut,re]=n.useState(!1),[Ft,ie]=n.useState(0),[Wt,ke]=n.useState(!1),[Ue,ut]=n.useState(null),je=n.useRef(Ro()),te=n.useRef(null),me=n.useRef(null),pe=n.useRef(null),mt=n.useRef(z);mt.current=z;const B=n.useCallback(()=>{pe.current?.stop(),pe.current=null,Z(!1)},[]),we=n.useCallback(i=>{if(!i)return;B();const c=Oo(ms(i),{speed:J,presetId:G,params:Bs(G,u)});pe.current=c,Z(!0),c.promise.catch(p=>{Ao(p)||x(p instanceof Error?p.message:"Scout voice speech failed.")}).finally(()=>{pe.current===c&&(pe.current=null,Z(!1))})},[B,J,u,G]),pt=n.useCallback(i=>{mt.current&&we(i)},[we]),ht=n.useCallback(i=>{we(xe(i))},[we]),{openFilePreview:ft}=F(),gt=So(),Gt=n.useCallback((i,c)=>{const p=window.getSelection()?.toString().trim(),w=xe(c),H=Vs(w),U=[];if(p&&(U.push({kind:"action",label:"Copy selection",shortcut:"⌘C",onSelect:()=>{Ee(p)}}),U.push({kind:"separator"})),U.push({kind:"action",label:"Copy message",onSelect:()=>{Ee(w)}}),H.length>0){U.push({kind:"separator"});for(const Q of H.slice(0,5)){const Ge=Rt(Q);U.push({kind:"action",label:`Preview ${Ge}`,onSelect:()=>ft(Q)})}for(const Q of H.slice(0,5)){const Ge=Rt(Q);U.push({kind:"action",label:`Open ${Ge} in OS`,onSelect:()=>{$("/api/file/reveal",{method:"POST",body:JSON.stringify({path:Q})}).catch(()=>{})}})}U.push({kind:"action",label:H.length===1?"Copy path":"Copy first path",onSelect:()=>{Ee(H[0])}})}U.push({kind:"separator"}),U.push({kind:"action",label:_?"Say again (stop current)":"Say",onSelect:()=>ht(c)}),gt(i,U)},[ft,ht,gt,_]);n.useEffect(()=>()=>{B()},[B]);const qt=Fs,ae=n.useCallback(i=>{const c=[...i.messages].reverse().find(w=>w.role==="user"),p=[...i.messages].reverse().find(w=>w.role==="assistant");q(c?.body??null),se(p?xe(p.body):null)},[]),he=n.useCallback(async()=>{try{const i=await $("/api/scoutbot/session");ne(i),ae(i.session)}catch{ne(null)}},[ae]);n.useEffect(()=>{he()},[he]);const Fe=n.useCallback(async()=>{ct(!0),Se(null);try{const i=await $("/api/scoutbot/config");Be(i.model),Ve(i.systemPrompt),De(null)}catch(i){Se(i instanceof Error?i.message:"Could not load settings.")}finally{ct(!1)}},[]);n.useEffect(()=>{X&&Fe()},[Fe,X]),n.useEffect(()=>{if(!X)return;let i=!1;return $("/api/voice/defaults").then(c=>{i||dt(c)}).catch(()=>{i||dt(null)}),()=>{i=!0}},[X]);const Yt=n.useCallback(async()=>{lt(!0),Se(null),De(null);try{const i=await $("/api/scoutbot/config",{method:"POST",body:JSON.stringify({model:He,systemPrompt:$e})});Be(i.config.model),Ve(i.config.systemPrompt),De("Saved")}catch(i){Se(i instanceof Error?i.message:"Could not save settings.")}finally{lt(!1)}},[He,$e]),Kt=n.useCallback(async i=>{if(!(!i||Ue)){ut(i),x(null),B();try{const c=await $("/api/scoutbot/session/switch",{method:"POST",body:JSON.stringify({id:i})});ne(c),ae(c.session),ke(!1),re(!1),window.dispatchEvent(new CustomEvent(ge,{detail:{id:c.session.id}}))}catch(c){x(c instanceof Error?c.message:"Could not switch session.")}finally{ut(null)}}},[B,Ue,ae]),We=n.useCallback(async()=>{if(!(ue||j)){if(Y?.session.messages.length===0){T(""),x(null),re(!1),ke(!1),D("New chat ready"),ie(i=>i+1);return}it(!0),x(null),D("Starting new chat"),B();try{const i=await $("/api/scoutbot/session/reset",{method:"POST"});ne(i),T(""),q(null),se(null),re(!1),ke(!1),D("New chat ready"),ie(c=>c+1),window.dispatchEvent(new CustomEvent(ge,{detail:{id:i.session.id}}))}catch(i){D(null),x(i instanceof Error?i.message:"Could not start a new chat.")}finally{it(!1)}}},[ue,j,Y,B]),Jt=n.useCallback(async i=>{if(!(!i||_e)){at(i),x(null),B();try{const c=await $("/api/scoutbot/session/archive",{method:"POST",body:JSON.stringify({id:i})});ne(c),ae(c.session),re(!1),D("session archived"),window.dispatchEvent(new CustomEvent(ge,{detail:{id:c.session.id}}))}catch(c){x(c instanceof Error?c.message:"Could not archive session.")}finally{at(null)}}},[_e,B,ae]),Ce=n.useCallback((i,c)=>{C(c),P(c?null:i.lastUnavailableReason??"Scout voice service is not reachable."),V("idle")},[]),oe=n.useCallback(async(i=!1)=>{const c=je.current;V(w=>w==="launching"?w:"probing");const p=await c.probe(i?{force:!0}:void 0);return Ce(c,p),p},[Ce]);n.useEffect(()=>{Io();const i=je.current,c=Po(p=>{C(p.ok),P(p.ok?null:p.reason),V("idle")});return i.connectionState==="unknown"?oe():Ce(i,i.connectionState==="connected"),c},[Ce,oe]);const Xt=n.useCallback(()=>{const i=je.current;x(null),V("launching"),i.launch({source:"openscout",context:Us()}),window.setTimeout(()=>{oe(!0)},2400)},[oe]),xt=n.useCallback(i=>{const c=xe(i);se(c);for(const p of Eo(i))p.type==="ask-agent"?(D(`Sending to ${p.targetLabel}`),$("/api/scoutbot/actions/ask",{method:"POST",body:JSON.stringify({targetLabel:p.targetLabel,targetAgentId:p.targetAgentId,body:p.body,channel:p.channel})}).then(w=>{D(w.flightId?`Sent to ${w.targetAgentId??w.targetLabel} · run ${w.flightId}`:`Sent to ${w.targetAgentId??w.targetLabel}`)}).catch(w=>{D(null),x(w instanceof Error?w.message:"Could not send to agent.")})):p.type!=="reminder"&&r(p);pt(c)},[r,pt]);n.useEffect(()=>{const i=()=>{D("Scoutbot replied by voice"),he()},c=()=>{D("Scoutbot chat changed"),he()};return window.addEventListener(vt,i),window.addEventListener(ge,c),()=>{window.removeEventListener(vt,i),window.removeEventListener(ge,c)}},[he]);const fe=n.useCallback(async i=>{const c=i.trim();if(!(!c||j)){I(!0),x(null),q(c),se(null),D("Sending"),T(p=>p.trim()===c?"":p);try{await No().catch(()=>null);const p=await $("/api/scoutbot/chat",{method:"POST",body:JSON.stringify({body:c,route:a,uiContext:po("web")})});ne({session:p.session,sessions:p.sessions,config:p.config}),D("Reply received"),xt(p.reply.body)}catch(p){D(null),x(p instanceof Error?p.message:"Could not send.")}finally{I(!1)}}},[xt,a,j]),Qt=n.useCallback(async()=>{if(m)return;const i=je.current;if(me.current=null,x(null),A(""),R("starting"),h!==!0&&!await oe(!0)){R(null);return}let c=null,p=!1;const w=async()=>{!c||p||(p=!0,await Tt(c,{allowCurrentSession:te.current===c}),te.current===c&&(te.current=null))};try{c=await i.startLive({onState:R,onPartial:A}),te.current=c,g(!0);const H=await c.result;if(await w(),g(!1),A(""),me.current)return;R("done"),H.text&&await fe(H.text)}catch(H){const U=me.current,Q=!!U||$s(H);if(await w(),g(!1),A(""),U==="stop-failed")return;R(Q?null:"error"),Q||x(H instanceof Error?H.message:"Scout voice recording failed.")}finally{await w(),me.current=null}},[fe,oe,m,h]),Zt=n.useCallback(async()=>{const i=te.current;if(i){R("processing");try{await Lt(i.stop(),Ls,"Scout voice did not finish processing the recording.")}catch(c){me.current="stop-failed",await Tt(i,{allowCurrentSession:!0}),te.current===i&&(te.current=null,g(!1),A(""),R("error")),x(c instanceof Error?`Scout voice recording did not finish: ${c.message}`:"Scout voice recording did not finish.")}}},[]);n.useEffect(()=>{const i=()=>S(!1);return window.addEventListener("scout:scoutbot-panel-open",i),()=>window.removeEventListener("scout:scoutbot-panel-open",i)},[S]),n.useEffect(()=>ko(()=>S(!y)),[y,S]),n.useEffect(()=>{const i=c=>{const p=c.detail,w=p&&typeof p=="object"&&"body"in p?p.body:null;typeof w=="string"&&w.trim()&&(S(!1),fe(w))};return window.addEventListener(St,i),()=>window.removeEventListener(St,i)},[fe,S]),n.useEffect(()=>{const i=c=>{const p=c.detail,w=p&&typeof p=="object"&&"body"in p?p.body:null;typeof w=="string"&&w.trim()&&(S(!1),T(w),ie(H=>H+1))};return window.addEventListener("scout:scoutbot-compose",i),()=>window.removeEventListener("scout:scoutbot-compose",i)},[S]);const bt=n.useMemo(()=>{const i=_?"speaking":j?"thinking":m?"listening":"idle",c=Y?.session??null,p=c&&c.messages.length>0?c.messages[c.messages.length-1]:null;return{activity:i,brief:{lastDeliveredAt:null},reminders:{dueCount:0,upcomingCount:0,due:[],next:null},voice:{available:h,setupBlocked:h===!1,replies:z},error:N,session:{title:c?.title??null,lastActivityAt:p?.createdAt??c?.updatedAt??null},conversation:{messageCount:c?.messages.length??0,loading:Y===null}}},[_,j,m,h,z,N,Y]);n.useEffect(()=>{d?.publishState(bt)},[d,bt]),n.useEffect(()=>{if(!d)return;const i={focusScoutbot:()=>S(!1),triggerBrief:()=>{S(!1),ie(c=>c+1)},triggerAskState:()=>{S(!1),ie(c=>c+1)},toggleVoiceReplies:()=>{const c=!z;W(c),c||B()},openScoutbotSettings:()=>{S(!1),de(!0)},startNewChat:()=>{S(!1),ue||We()},dismissReminder:()=>{},askReminderStatus:()=>{S(!1),ie(c=>c+1)}};d.registerActions(i)},[d,S,z,W,B,de,ue,We]),n.useEffect(()=>{h===!0&&ze(!1)},[h]);const eo=v?"Live call":m?E==="processing"?"Sending":"Stop":L==="probing"?"Checking Voice":L==="launching"?"Opening Scout":h===!1?"Open Scout":"Start Talking",to=Y!==null&&Y.session.messages.length===0&&!j;if(y&&!o)return e.jsx("div",{className:"flex shrink-0 items-center border-t border-[var(--scout-chrome-border-soft)] px-3 py-1.5",children:e.jsx(jo,{})});const oo=s?"flex h-full min-h-0 flex-col overflow-hidden border-t border-[var(--scout-chrome-border-soft)]":t===void 0?"flex max-h-[60vh] shrink-0 flex-col overflow-hidden border-t border-[var(--scout-chrome-border-soft)]":"flex shrink-0 flex-col overflow-hidden border-t border-[var(--scout-chrome-border-soft)]",so=t===void 0||s?void 0:{height:`${t}px`};return e.jsxs("section",{className:oo,style:so,children:[e.jsxs("div",{className:"flex shrink-0 flex-col gap-2 px-3 pt-2.5 pb-1.5",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsx("div",{className:"flex min-w-0 items-center gap-2",children:e.jsx(Ko,{size:20,className:"shrink-0 text-lime-300","aria-hidden":"true"})}),e.jsxs("div",{className:"flex shrink-0 items-center gap-0.5",children:[e.jsx(Nt,{icon:z?e.jsx(wo,{size:11}):e.jsx(Co,{size:11}),title:v?z?"Voice replies on for typed chat (live call has its own audio)":"Voice replies off for typed chat (live call has its own audio)":z?"Voice replies on (click to mute)":"Voice replies off (click to enable)",onClick:()=>{const i=!z;W(i),i||B()},active:z}),!o&&e.jsx(Nt,{icon:e.jsx(Qe,{size:11}),title:"Minimize",onClick:()=>S(!0)})]})]}),X&&e.jsx(Ps,{voicePresetId:G,onVoicePresetId:ce,voiceDefaults:Vt,modelDraft:He,onModelDraft:Be,promptDraft:$e,onPromptDraft:Ve,configLoading:Dt,configSaving:Ht,configError:Bt,configStatus:$t,onSave:()=>{Yt()},onReload:()=>{Fe()}})]}),e.jsx("div",{className:"flex min-h-0 flex-1 flex-col px-3 pb-1.5",children:Y&&e.jsx(Ns,{state:Y,chatExpanded:Ut,onToggleExpanded:()=>re(i=>!i),sessionPickerOpen:Wt,onToggleSessionPicker:()=>ke(i=>!i),onStartNewChat:()=>{We()},startingNewChat:ue,onSwitchSession:i=>{Kt(i)},switchingSessionId:Ue,sending:j,briefing:!1,pendingAsk:j?ee:null,onArchiveSession:i=>{Jt(i)},archivingSessionId:_e,onAssistantContextMenu:Gt,suggestedPrompts:qt,onSelectPrompt:i=>{T(i),re(!1)}})}),e.jsxs("div",{className:"flex shrink-0 flex-col gap-1.5 border-t border-[var(--scout-chrome-border-soft)] bg-black/10 px-3 pt-2 pb-2.5",children:[h===!1&&Le&&!v&&e.jsx(Is,{issue:O,probeState:L,onLaunch:Xt,onRetry:()=>{oe(!0)},onSettings:()=>de(!0),onDismiss:()=>ze(!1)}),(M||_)&&!v&&e.jsxs("div",{className:"flex items-center justify-between gap-2 rounded border border-[var(--scout-chrome-border-soft)] bg-black/10 px-2.5 py-2 font-mono text-xs leading-relaxed text-[var(--scout-chrome-ink-faint)]",children:[e.jsx("span",{className:"min-w-0 truncate",children:_?"Speaking reply…":M}),_&&e.jsx("button",{type:"button",title:"Stop spoken reply",onClick:B,className:"shrink-0 rounded border border-[var(--scout-chrome-border-soft)] p-1 text-[var(--scout-chrome-ink)] hover:bg-[var(--scout-chrome-hover)]",children:e.jsx(Mt,{size:11,className:"fill-current"})})]}),le&&!j&&e.jsx("div",{className:"font-mono text-2xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-ghost)]",children:le}),e.jsx(Es,{agents:l,draft:k,onDraftChange:T,onSubmit:()=>{fe(k)},sending:j,recording:m,voiceLabel:eo,voiceBusy:E==="processing"||L==="probing"||L==="launching",voiceUnavailable:h===!1,voiceHeld:v,onMicClick:()=>{if(!v){if(h===!1){ze(!0);return}m?Zt():Qt()}},prominent:to&&!v,autoFocus:o,focusSignal:Ft}),N&&e.jsx("div",{className:"rounded border border-red-400/30 bg-red-400/10 px-2.5 py-2 font-mono text-xs leading-relaxed text-red-200",children:N})]})]})}function Ws({onResizeStart:t}){const o=n.useCallback(s=>{s.preventDefault(),t(s)},[t]);return e.jsxs("div",{role:"separator","aria-orientation":"horizontal",onMouseDown:o,className:"group relative flex h-[7px] shrink-0 cursor-ns-resize items-center justify-center",children:[e.jsx("div",{className:"absolute inset-x-0 top-0 h-px bg-[var(--scout-chrome-border-soft)] transition-colors group-hover:bg-[var(--scout-chrome-ink-faint)]"}),e.jsxs("div",{className:"flex flex-row gap-[3px] opacity-0 transition-opacity group-hover:opacity-100",children:[e.jsx("div",{className:"h-[3px] w-[3px] rounded-full bg-[var(--scout-chrome-ink-faint)]"}),e.jsx("div",{className:"h-[3px] w-[3px] rounded-full bg-[var(--scout-chrome-ink-faint)]"}),e.jsx("div",{className:"h-[3px] w-[3px] rounded-full bg-[var(--scout-chrome-ink-faint)]"})]})]})}const At=260,Gs=.7,qs=260;function Ye(t,o){const s=Math.max(At,Math.floor(o*Gs));return Math.min(s,Math.max(At,Math.round(t)))}function Ys(){const t=nt("surface.scoutbot",!0),{route:o,navigate:s,agents:r,selectedBrokerAttempt:l,clearBrokerAttempt:a}=F(),[u]=Xe("openscout.scoutbot.collapsed",!0),[d,f]=Pt("openscout.scoutbot.height",qs),b=n.useRef(null),[v,y]=n.useState(0);n.useLayoutEffect(()=>{const N=b.current;if(!N)return;y(N.getBoundingClientRect().height);const x=new ResizeObserver(h=>{const C=h[0];C&&y(C.contentRect.height)});return x.observe(N),()=>x.disconnect()},[]),n.useEffect(()=>{if(v<=0)return;const N=Ye(d,v);N!==d&&f(N)},[v,d,f]);const S=n.useCallback(N=>{const x=N.clientY,h=d,C=b.current?.getBoundingClientRect().height??v,O=L=>{const V=L.clientY-x;f(Ye(h-V,C))},P=()=>{document.removeEventListener("mousemove",O),document.removeEventListener("mouseup",P),document.body.style.removeProperty("cursor"),document.body.style.removeProperty("user-select")};document.body.style.cursor="ns-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",O),document.addEventListener("mouseup",P)},[v,d,f]);let k=null;const T=t&&o.view==="ops"&&o.mode==="lanes";if(T)k=e.jsx(Ot,{forceExpanded:!0,fill:!0});else switch(o.view){case"ops":k=e.jsx(Xo,{mode:o.mode??"mission",agents:r,navigate:s,returnRoute:o});break;case"broker":k=e.jsx(Jo,{selectedAttempt:l,navigate:s,onClose:a});break;default:k=bo(o,s)}const j=v>0?Ye(d,v):d,I=t&&o.view!=="broker";return e.jsxs("div",{ref:b,className:"flex h-full flex-col overflow-hidden",children:[e.jsx("div",{className:"min-h-0 flex-1 overflow-hidden",children:k}),I&&!T&&!u&&e.jsx(Ws,{onResizeStart:S}),I&&!T&&e.jsx(Ot,{height:u?void 0:j})]})}const zt="openscout.globalJumpDock.mode.v1";function Ks(){if(typeof window>"u")return null;try{const t=window.localStorage.getItem(zt);return t==="jump"||t==="minimap"?t:null}catch{return null}}function Js(t){try{window.localStorage.setItem(zt,t)}catch{}}function Xs(){const{route:t,navigate:o}=F(),s=t.view==="mesh",[r,l]=n.useState(()=>{const u=Ks();return u==="minimap"&&s?"minimap":u==="jump"?"jump":s?"minimap":"jump"});n.useEffect(()=>{r==="minimap"&&!s&&l("jump")},[r,s]);const a=u=>{l(u),Js(u)};return e.jsxs("div",{className:"gjd",children:[e.jsxs("div",{className:"gjd-head",children:[e.jsx("span",{className:"gjd-ear","aria-hidden":!0}),e.jsxs("div",{className:"gjd-mode",role:"group","aria-label":"Bottom dock mode",children:[e.jsx("button",{type:"button",className:`gjd-mode-btn${r==="jump"?" gjd-mode-btn--active":""}`,onClick:()=>a("jump"),"aria-pressed":r==="jump",children:"jump"}),s&&e.jsx("button",{type:"button",className:`gjd-mode-btn${r==="minimap"?" gjd-mode-btn--active":""}`,onClick:()=>a("minimap"),"aria-pressed":r==="minimap",children:"minimap"})]}),e.jsx("span",{className:"gjd-ear","aria-hidden":!0})]}),e.jsx("div",{className:"gjd-body",children:r==="minimap"&&s?e.jsx(Qo,{}):e.jsx(Zs,{navigate:o})})]})}const Qs=Yo();function Zs({navigate:t}){const o=nt("ops.control",!0),s=Qs.filter(r=>!r.opsGated||o);return e.jsx("div",{className:"gjd-jumps",children:s.map(r=>{const l=r.icon;return e.jsxs("button",{type:"button",className:"gjd-jump",onClick:()=>t(r.route),children:[e.jsx("span",{className:"gjd-jump-icon",children:n.createElement(l,{size:13,strokeWidth:1.6})}),e.jsx("span",{className:"gjd-jump-label",children:r.label})]},r.id)})})}function en(){const{route:t,navigate:o}=F();return e.jsxs("div",{className:"scout-left-shell",children:[e.jsx("div",{className:"scout-left-shell-rail",children:vo(t,o)}),e.jsx(Xs,{})]})}function tn(){const t=no(),o=ro(),s=Zo({url:t,healthUrl:o,autoConnect:!0,sessionKey:"scout-terminal"});return e.jsx("div",{style:{height:"100%",background:"#0d0d0d",overflow:"hidden"},children:e.jsx(es,{relay:s,fontSize:13,configItems:[{label:"ws",value:t},{label:"health",value:o}]})})}const on="Scout's local server isn't responding. It may still be starting up — wait a moment and try again.",sn="Scout couldn't start its background service. Restart Scout from the menu bar icon, then try again.",nn="The broker isn't running yet. Start Scout's services from the menu bar icon, then run setup again.",rn="Starting the broker took too long. Try again — if it keeps happening, restart Scout.",an="Scout couldn't write its settings in your home folder (~/.openscout). Check the folder's permissions and try again.",cn="That folder doesn't exist on this Mac. Double-check the path — for example /Users/you/dev.";function ye(t,o){const s=o instanceof Error?o.message:String(o);return ho(yt(o))?on:/Unable to locate scoutd|Unable to locate Bun/i.test(s)?sn:/openscout-runtime broker/i.test(s)?nn:/timed out/i.test(s)?rn:/EACCES|EPERM|EROFS/i.test(s)?an:t==="project"&&/ENOENT|does not exist|doesn'?t exist/i.test(s)?/does not exist|doesn'?t exist/i.test(s)&&/[/~]/.test(s)?s:cn:yt(o)}const Oe=4;function ln(){const{onboarding:t}=F();return t?t.hasLocalConfig?t.hasOperatorName?t.hasProjectConfig?t.needed!==!1&&(!t.brokerReachable||!t.hasReadyRuntime)?e.jsx(Te,{children:e.jsx(pn,{step:4})}):null:e.jsx(Te,{children:e.jsx(mn,{step:3})}):e.jsx(Te,{children:e.jsx(un,{step:2})}):e.jsx(Te,{children:e.jsx(dn,{step:1})}):null}function Te({children:t}){return e.jsx("div",{style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",overflow:"auto",background:"var(--bg)",color:"var(--ink)"},children:e.jsx("div",{style:{width:"100%",maxWidth:720,padding:"80px 72px",display:"flex",flexDirection:"column",gap:40},children:t})})}function Ae({eyebrow:t,title:o,description:s}){return e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:16},children:[e.jsx("div",{style:hn,children:t}),e.jsx("div",{style:fn,children:o}),e.jsx("div",{style:gn,children:s})]})}function Ie({primary:t,onPrimary:o,primaryDisabled:s,busy:r}){const{skipOnboarding:l}=F();return e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:10,paddingTop:8},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:24},children:[e.jsx("button",{type:"button",onClick:o,disabled:s||r,style:{...xn,opacity:s||r?.5:1,cursor:s||r?"default":"pointer"},children:r?"Working…":t}),e.jsx("button",{type:"button",onClick:l,style:bn,onMouseEnter:a=>{a.currentTarget.style.color="rgba(255,255,255,0.8)"},onMouseLeave:a=>{a.currentTarget.style.color="rgba(255,255,255,0.45)"},children:"Set up later"})]}),e.jsx("div",{style:{fontSize:11,color:"rgba(255,255,255,0.35)",lineHeight:1.5},children:"Scout stays limited until setup finishes."})]})}function Pe({message:t}){return t?e.jsx("div",{style:{borderRadius:8,border:"1px solid rgba(239,68,68,0.35)",backgroundColor:"rgba(239,68,68,0.08)",color:"rgba(252,165,165,0.95)",padding:"12px 16px",fontSize:12,lineHeight:1.5},children:t}):null}function dn({step:t}){const{onboarding:o,refreshOnboarding:s}=F(),[r,l]=n.useState(!1),[a,u]=n.useState(null),d=async()=>{l(!0),u(null);try{await $("/api/onboarding/init",{method:"POST",body:"{}"}),await s()}catch(f){u(ye("init",f))}finally{l(!1)}};return e.jsxs(e.Fragment,{children:[e.jsx(Ae,{eyebrow:`First-run setup · Step ${t} of ${Oe}`,title:"Welcome to Scout",description:e.jsxs(e.Fragment,{children:["Scout needs a local config before it can talk to the broker, the web app, and paired devices. This writes"," ",e.jsx("code",{style:st,children:"~/.openscout/config.json"})," with sensible defaults — you can edit it any time."]})}),e.jsxs("ul",{style:_t,children:[e.jsx(be,{label:"Local config (~/.openscout/config.json)",done:!1,hint:"missing"}),e.jsx(be,{label:".openscout/project.json in a repo",done:!!o?.hasProjectConfig,hint:o?.hasProjectConfig?o.projectRoot??void 0:"checked after setup"})]}),e.jsx(Pe,{message:a}),e.jsx(Ie,{primary:"Initialize Scout",onPrimary:()=>{d()},busy:r})]})}function un({step:t}){const{onboarding:o,refreshOnboarding:s}=F(),r=o?.operatorNameSuggestion??"",[l,a]=n.useState(r),[u,d]=n.useState(!1),[f,b]=n.useState(null);n.useEffect(()=>{!l&&r&&a(r)},[r,l]);const v=async()=>{const y=l.trim();if(!y){b("Name is required.");return}d(!0),b(null);try{await $("/api/user",{method:"POST",body:JSON.stringify({name:y})}),await s()}catch(S){b(ye("identity",S))}finally{d(!1)}};return e.jsxs(e.Fragment,{children:[e.jsx(Ae,{eyebrow:`Identity · Step ${t} of ${Oe}`,title:"What should we call you?",description:"Your name shows up on messages you send and in any agent that speaks for you. You can change it later in Settings."}),e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[e.jsx("label",{style:Re,children:"Your name"}),e.jsx("input",{autoFocus:!0,value:l,onChange:y=>{a(y.target.value),b(null)},onKeyDown:y=>{y.key==="Enter"&&v()},placeholder:r||"Operator",style:ot}),r?e.jsx("div",{style:{fontSize:11,color:"rgba(255,255,255,0.4)",fontFamily:"var(--hud-font-mono)"},children:"Prefilled from your machine."}):null]}),e.jsx(Pe,{message:f}),e.jsx(Ie,{primary:"Continue",onPrimary:()=>{v()},busy:u,primaryDisabled:!l.trim()})]})}function mn({step:t}){const{onboarding:o,refreshOnboarding:s}=F(),r=o?.currentDirectory??"",l=r||"~/dev",[a,u]=n.useState([l]),[d,f]=n.useState(r),[b,v]=n.useState("claude"),[y,S]=n.useState(!1),[k,T]=n.useState(null),j=(h,C)=>{u(O=>O.map((P,L)=>L===h?C:P))},I=()=>u(h=>[...h,""]),N=h=>u(C=>C.filter((O,P)=>P!==h)),x=async()=>{const h=a.map(O=>O.trim()).filter(Boolean),C=d.trim();if(!C){T("Pick where Scout should anchor this context.");return}S(!0),T(null);try{await $("/api/onboarding/project",{method:"POST",body:JSON.stringify({contextRoot:C,sourceRoots:h,defaultHarness:b})}),await s()}catch(O){T(ye("project",O))}finally{S(!1)}};return e.jsxs(e.Fragment,{children:[e.jsx(Ae,{eyebrow:`Project · Step ${t} of ${Oe}`,title:"Where do your repos live?",description:e.jsxs(e.Fragment,{children:["Scout scans these folders for projects and anchors this context at"," ",e.jsx("code",{style:st,children:"<context>/.openscout/project.json"}),"."]})}),e.jsxs("div",{style:Ke,children:[e.jsx("label",{style:Re,children:"Scan folders"}),e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[a.map((h,C)=>e.jsxs("div",{style:{display:"flex",gap:8},children:[e.jsx("input",{value:h,onChange:O=>j(C,O.target.value),placeholder:C===0?l:"Add another folder",style:{...ot,flex:1}}),e.jsx("button",{type:"button",onClick:()=>N(C),disabled:a.length<=1,style:{...It,opacity:a.length<=1?.4:1,cursor:a.length<=1?"default":"pointer"},"aria-label":`Remove folder ${C+1}`,children:"−"})]},C)),e.jsx("button",{type:"button",onClick:I,style:{...It,alignSelf:"flex-start"},children:"+ Add folder"})]})]}),e.jsxs("div",{style:Ke,children:[e.jsx("label",{style:Re,children:"Context root"}),e.jsx("input",{value:d,onChange:h=>f(h.target.value),placeholder:l,style:ot}),e.jsxs("div",{style:Je,children:["Scout writes ",e.jsx("code",{style:st,children:".openscout/project.json"})," ","inside this folder."]}),e.jsx("div",{style:Je,children:"Tip: ~ expands to your home folder."})]}),e.jsxs("div",{style:Ke,children:[e.jsx("label",{style:Re,children:"Default harness"}),e.jsx("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12},children:["claude","codex"].map(h=>{const C=b===h;return e.jsxs("button",{type:"button",onClick:()=>v(h),style:{...vn,borderColor:C?"var(--accent, #2dd4bf)":"rgba(255,255,255,0.12)",backgroundColor:C?"rgba(45,212,191,0.08)":"rgba(255,255,255,0.02)"},children:[e.jsx("div",{style:{fontSize:15,fontWeight:600,textTransform:"capitalize"},children:h}),e.jsx("div",{style:{fontSize:12,color:"rgba(255,255,255,0.55)",marginTop:6,lineHeight:1.5},children:h==="claude"?"Anthropic Claude Code — local CLI agent.":"OpenAI Codex — cloud agentic sandbox."}),e.jsx("div",{style:{fontSize:11,fontFamily:"var(--hud-font-mono)",color:"rgba(255,255,255,0.4)",marginTop:8,lineHeight:1.5},children:h==="claude"?"Requires the Claude Code CLI, installed and signed in.":"Requires the Codex CLI, installed and signed in."})]},h)})}),e.jsx("div",{style:Je,children:"Not installed yet? Pick one anyway — the final step checks and tells you what's missing."})]}),e.jsx(Pe,{message:k}),e.jsx(Ie,{primary:"Create project",onPrimary:()=>{x()},busy:y,primaryDisabled:!d.trim()})]})}function pn({step:t}){const{onboarding:o,refreshOnboarding:s}=F(),[r,l]=n.useState(!1),[a,u]=n.useState(null),d=async()=>{l(!0),u(null);try{const f=await $("/api/onboarding/setup",{method:"POST",body:"{}"});await s(),f.brokerWarning?u(ye("setup",f.brokerWarning)):f.hasReadyRuntime===!1&&u("Setup finished, but Scout didn't find a coding agent it can use. Install Claude Code or Codex, sign in from a terminal, then choose Run setup again.")}catch(f){u(ye("setup",f))}finally{l(!1)}};return e.jsxs(e.Fragment,{children:[e.jsx(Ae,{eyebrow:`Setup · Step ${t} of ${Oe}`,title:"Finish setup",description:"Scout will install its harness skills, start the local broker, refresh discovery, and check for a ready agent runtime."}),e.jsxs("ul",{style:_t,children:[e.jsx(be,{label:".openscout/project.json",done:!!o?.hasProjectConfig,hint:o?.projectConfigPath??o?.projectRoot??void 0}),e.jsx(be,{label:"Broker reachable",done:!!o?.brokerReachable,hint:o?.brokerReachable?"ready":"will start during setup"}),e.jsx(be,{label:"Claude or Codex runtime",done:!!o?.hasReadyRuntime,hint:o?.hasReadyRuntime?"ready":"install Claude Code or Codex, then sign in"})]}),e.jsx(Pe,{message:a}),e.jsx(Ie,{primary:"Run setup",onPrimary:()=>{d()},busy:r})]})}function be({label:t,done:o,hint:s}){return e.jsxs("li",{style:{display:"flex",alignItems:"flex-start",gap:16},children:[e.jsx("span",{style:{marginTop:2,width:20,height:20,borderRadius:999,display:"flex",alignItems:"center",justifyContent:"center",fontSize:11,fontWeight:700,flexShrink:0,backgroundColor:o?"rgba(34,197,94,0.15)":"rgba(239,68,68,0.12)",color:o?"#4ade80":"#f87171"},children:o?"✓":"•"}),e.jsxs("div",{style:{minWidth:0},children:[e.jsx("div",{style:{fontSize:13,lineHeight:1.5,color:o?"rgba(255,255,255,0.75)":"rgba(255,255,255,0.9)"},children:t}),s?e.jsx("div",{style:{fontSize:11,fontFamily:"var(--hud-font-mono)",color:"rgba(255,255,255,0.35)",marginTop:4,wordBreak:"break-all"},children:s}):null]})]})}const hn={fontSize:11,fontFamily:"var(--hud-font-mono)",textTransform:"uppercase",letterSpacing:"0.18em",color:"rgba(255,255,255,0.4)"},fn={fontSize:36,fontWeight:600,letterSpacing:"-0.01em",lineHeight:1.15},gn={fontSize:15,lineHeight:1.75,color:"rgba(255,255,255,0.6)",maxWidth:580},Ke={display:"flex",flexDirection:"column",gap:10},Re={fontSize:11,fontFamily:"var(--hud-font-mono)",textTransform:"uppercase",letterSpacing:"0.15em",color:"rgba(255,255,255,0.5)"},ot={width:"100%",padding:"10px 14px",fontSize:14,fontFamily:"var(--hud-font-mono)",color:"rgba(255,255,255,0.92)",backgroundColor:"rgba(255,255,255,0.04)",border:"1px solid rgba(255,255,255,0.12)",borderRadius:8,outline:"none",boxSizing:"border-box"},Je={fontSize:12,color:"rgba(255,255,255,0.45)",lineHeight:1.6},st={fontFamily:"var(--hud-font-mono)",fontSize:12,padding:"2px 6px",borderRadius:4,backgroundColor:"rgba(255,255,255,0.06)"},xn={fontSize:13,fontWeight:600,padding:"12px 24px",borderRadius:10,backgroundColor:"var(--accent, #2dd4bf)",color:"#0b0d12",border:"none",transition:"opacity 0.15s ease"},It={fontSize:13,fontWeight:500,padding:"10px 14px",borderRadius:8,backgroundColor:"rgba(255,255,255,0.04)",border:"1px solid rgba(255,255,255,0.12)",color:"rgba(255,255,255,0.85)",transition:"all 0.15s ease"},bn={fontSize:12,color:"rgba(255,255,255,0.45)",textDecoration:"underline dotted rgba(255,255,255,0.25)",textUnderlineOffset:4,background:"none",border:"none",cursor:"pointer",padding:"4px 2px",transition:"color 0.15s ease"},_t={display:"flex",flexDirection:"column",gap:20,margin:0,padding:0,listStyle:"none"},vn={textAlign:"left",padding:"16px 18px",borderRadius:12,borderWidth:1,borderStyle:"solid",borderColor:"rgba(255,255,255,0.12)",color:"rgba(255,255,255,0.9)",cursor:"pointer",transition:"all 0.15s ease"},yn=[{commandId:"nav:home",title:"Go to Home",description:"Navigate to the home overview showing queue, threads, signal, and activity",category:"navigation",keywords:["home","inbox","dashboard"],shortcut:"Cmd+1"},{commandId:"nav:agents",title:"Go to Agents",description:"Navigate to the agents roster showing all registered agents",category:"navigation",keywords:["agents","roster","list"],shortcut:"Cmd+2"},{commandId:"nav:messages",title:"Go to Chat",description:"Navigate to the unified chat surface backed by the normalized conversations service",category:"navigation",keywords:["conversations","comms","chat","threads","channels","channel","group","broadcast"],shortcut:"Cmd+3"},{commandId:"nav:sessions",title:"Open Sessions",description:"Navigate to the sessions list showing all active conversations",category:"navigation",keywords:["sessions","conversations","threads"]},{commandId:"nav:search",title:"Go to Search",description:"Navigate to the session knowledge search surface for extraction, search, and raw-log drilldown planning",category:"navigation",keywords:["search","knowledge","qmd","history"],shortcut:"Cmd+4"},{commandId:"nav:activity",title:"Open Activity",description:"Navigate to the activity feed showing recent events",category:"navigation",keywords:["activity","feed","events","log"]},{commandId:"nav:mesh",title:"Open Mesh",description:"Navigate to the mesh network view showing nodes and topology",category:"navigation",keywords:["mesh","network","nodes","peers","topology"]},{commandId:"nav:dispatch",title:"Open Dispatch",description:"Navigate to the dispatch ledger for routing, delivery attempts, and failed queries",category:"navigation",keywords:["dispatch","broker","routing","delivery","messages"]},{commandId:"nav:repos",title:"Open Repos",description:"Navigate to the repos view for branches, diffs, and working-tree state",category:"navigation",keywords:["repos","repositories","git","branches","diffs"]},{commandId:"nav:harnesses",title:"Open Providers",description:"Open the central view for providers, harnesses, observed topology, and budget feeds",category:"navigation",keywords:["provider","providers","harness","harnesses","claude","codex","budget","usage","topology"]},{commandId:"nav:ops",title:"Go to Ops",description:"Navigate to the operator workspace for dispatch, mesh, tail, runtime, alerts, and agent operations",category:"navigation",keywords:["ops","operator","control","tail","runtime","services","atop","dispatch","mesh"],shortcut:"Cmd+5"},{commandId:"nav:ops-atop",title:"Open Runtime",description:"Open the live agent/process view with observed harness families",category:"navigation",keywords:["runtime","services","atop","process","session","agent","topology"]},{commandId:"nav:settings",title:"Open Settings",description:"Open the settings screen for pairing, identity, and relay config",category:"settings",keywords:["settings","preferences","config","pair"],shortcut:"Cmd+,"},{commandId:"nav:agent-config",title:"Open Agent Configuration",description:"Open the unified agent configuration surface for runtimes, agents, tools, delivery, and broker state",category:"settings",keywords:["agent config","runtimes","providers","mcp","tools"]},{commandId:"nav:pair",title:"Pair Device",description:"Open the device pairing flow to connect a mobile device",category:"settings",keywords:["pair","qr","device","phone","mobile"]},{commandId:"scout:reload",title:"Reload Agents",description:"Refresh the agent list and message state from the broker",category:"workspace",keywords:["reload","refresh","sync"]},{commandId:"scout:open:*",title:"Open Agent",description:"Open the agent's view (runtime, sessions, inspector) for one specific agent.",category:"navigation",keywords:["open","agent","view","inspect"],params:[{name:"agentId",description:"The agent identifier to open",type:"string"}]},{commandId:"scout:message:*",title:"Message Agent",description:"Open the DM conversation for one specific agent to message them. One agent maps to a DM; group work belongs in an explicit channel and broadcasts belong in the shared channel.",category:"workspace",keywords:["message","chat","conversation","dm","tell","ask","reply"],params:[{name:"agentId",description:"The agent identifier to message",type:"string"}]}];function Sn(t={}){const{initialTheme:o="dark"}=t,s=io();return{id:"openscout",name:"Scout",description:"All your agents, one message away. Scout is a control plane for managing coding agents: Send posts into a Chat, direct agent messages create or steer Runs, and shared work stays in explicit channels.",mode:"panel",icon:n.createElement("svg",{width:14,height:14,viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0},n.createElement("polygon",{points:"10,4.3 14.8,7.1 14.8,12.9 10,15.7 5.2,12.9 5.2,7.1",strokeWidth:1.9}),n.createElement("polygon",{points:"10,7 12.4,8.4 12.4,10.6 10,12 7.6,10.6 7.6,8.4",strokeWidth:1.32,opacity:.74})),Provider:({children:r})=>n.createElement(fo,{defaultTheme:o,defaultTemplate:s,storageKey:ao,children:n.createElement(go,{initialTheme:o,children:r})}),leftPanel:{title:"Navigation"},rightPanel:{title:"Context"},slots:{Content:ls,LeftPanel:en,Inspector:Ys,Takeover:ln,Terminal:tn},intents:yn,hooks:{useCommands:is,useStatus:rs,useNavCenter:ns,useNavActions:ss,useLayoutMode:os,useTakeover:ts}}}Sn();export{Sn as createScoutApp};
|