@openscout/scout 0.2.79 → 0.2.82
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/bin/scoutd +0 -0
- package/dist/build-manifest.json +4 -4
- package/dist/client/assets/ActivityScreen-aewI4Ul1.js +1 -0
- package/dist/client/assets/{AddProjectForm-BoVtelSP.js → AddProjectForm-Czb5uwou.js} +1 -1
- package/dist/client/assets/{AgentAvatar-CufDA4A-.js → AgentAvatar-DMov24_o.js} +1 -1
- package/dist/client/assets/AgentConfigurationScreen-BjG6ECjl.js +1 -0
- package/dist/client/assets/AgentDefinitionsWorkspace-D4MbSMXp.js +1 -0
- package/dist/client/assets/{AgentDetailCard-DxxVkgT1.js → AgentDetailCard-Biq8b2gv.js} +1 -1
- package/dist/client/assets/AgentFloorView-h9KDJdw0.js +1 -0
- package/dist/client/assets/AgentInfoScreen-SjhK_SBh.js +1 -0
- package/dist/client/assets/{AgentLaneCard-DTUvE96I.js → AgentLaneCard-C4DMQR-c.js} +1 -1
- package/dist/client/assets/{AgentLaneChrome-BfVygkgL.js → AgentLaneChrome-D1xNNf7A.js} +1 -1
- package/dist/client/assets/AgentLaneDetailSheet-DnAKe4e3.js +4 -0
- package/dist/client/assets/{AgentLaneSummaryResize-CMgzYvAA.js → AgentLaneSummaryResize-C9loK-st.js} +1 -1
- package/dist/client/assets/AgentLanesEmbedScreen-BNOYF16R.js +1 -0
- package/dist/client/assets/{AgentLanesPreflight-KWfLcaNB.js → AgentLanesPreflight-M7iDXdP2.js} +1 -1
- package/dist/client/assets/{AgentLanesView-CxfbV8Kd.js → AgentLanesView-Ct-Gz5WD.js} +1 -1
- package/dist/client/assets/{AgentLiveActions-CZdAInEu.js → AgentLiveActions-0iy8QZ1T.js} +1 -1
- package/dist/client/assets/{AgentSessions-Bkr0lyry.js → AgentSessions-CDfSfNiE.js} +2 -2
- package/dist/client/assets/{AgentsConsole-WtFVqaPJ.js → AgentsConsole-BVxhBqRa.js} +1 -1
- package/dist/client/assets/AgentsScreen-Bww6HgFs.js +1 -0
- package/dist/client/assets/AgentsSubnav-CiIuzxnZ.js +1 -0
- package/dist/client/assets/{AtopView-_OKDlZ1h.js → AtopView-h_aFoNkP.js} +1 -1
- package/dist/client/assets/BackToPicker-BXp5E2ck.js +1 -0
- package/dist/client/assets/{BriefingDetailScreen-i54EtZKW.js → BriefingDetailScreen-C83o2YfN.js} +1 -1
- package/dist/client/assets/{BriefingsScreen-CBrHojlQ.js → BriefingsScreen-BTsvr5fv.js} +1 -1
- package/dist/client/assets/{BrokerMetadataPanel-opTLuZU6.js → BrokerMetadataPanel-jg7odHQp.js} +1 -1
- package/dist/client/assets/BrokerScreen-DplF8d_X.js +5 -0
- package/dist/client/assets/Canvas-BePL08RR.js +1 -0
- package/dist/client/assets/{ChatCollapsedStrip-Dr2vmKXQ.js → ChatCollapsedStrip-BRljIymi.js} +1 -1
- package/dist/client/assets/{CodeDiffPane-CLOGjwul.js → CodeDiffPane-86odpBSt.js} +1 -1
- package/dist/client/assets/{CodeProjectPicker-DTV8hR6A.js → CodeProjectPicker-8svr_S_A.js} +1 -1
- package/dist/client/assets/CodeScreen-CJ2RgB32.js +1 -0
- package/dist/client/assets/{ContextMenu-BlBQhpax.js → ContextMenu-CxkmFQcN.js} +1 -1
- package/dist/client/assets/ConversationComposer-CWohCCmn.js +1 -0
- package/dist/client/assets/ConversationFeedRows-IWh0JSIL.js +1 -0
- package/dist/client/assets/ConversationHeader-BxTzXl8e.js +1 -0
- package/dist/client/assets/ConversationPanels-D9UCwNkS.js +2 -0
- package/dist/client/assets/ConversationScreen-oZSitVtX.js +1 -0
- package/dist/client/assets/ConversationScreen-yIKEsm-8.css +1 -0
- package/dist/client/assets/{ConversationStatus-DSgdVofa.js → ConversationStatus-B6pAbo2w.js} +1 -1
- package/dist/client/assets/{DataTable-0DwuXyvW.js → DataTable-CGw5CECG.js} +1 -1
- package/dist/client/assets/{DispatchAftermath-BrreQifA.js → DispatchAftermath-DowTb7uO.js} +1 -1
- package/dist/client/assets/{DocumentFocusViewer-DU_9BHsD.js → DocumentFocusViewer-DRKjNG9s.js} +1 -1
- package/dist/client/assets/{EmbeddableSurfacesLab-DdaswbfI.js → EmbeddableSurfacesLab-CxfJXS2g.js} +1 -1
- package/dist/client/assets/{EmptyState-CoL-QuUO.js → EmptyState-BUvllvA6.js} +1 -1
- package/dist/client/assets/{FileViewerPane-C9Ly01Ef.js → FileViewerPane-BM4AD_bo.js} +1 -1
- package/dist/client/assets/{FleetSearch-DlWTLl-v.js → FleetSearch-CYeWn85V.js} +1 -1
- package/dist/client/assets/FlightObserveScreen-DYJJ3Z2B.js +1 -0
- package/dist/client/assets/FollowScreen-DG0osbUp.js +1 -0
- package/dist/client/assets/HarnessMark-MztYnrGK.js +1 -0
- package/dist/client/assets/HarnessesScreen-BWqirBjK.js +1 -0
- package/dist/client/assets/HerdrSession-6sFln7WX.js +4 -0
- package/dist/client/assets/{HomeHero-Cfsow7qL.js → HomeHero-BPBArHXa.js} +1 -1
- package/dist/client/assets/{KnowledgeSearchInspector-DKashKoH.js → KnowledgeSearchInspector-BOIhFWd2.js} +1 -1
- package/dist/client/assets/KnowledgeSearchScreen-BP8tD-Bh.js +1 -0
- package/dist/client/assets/{LaneToolHoverCard-BzehBmdi.js → LaneToolHoverCard-CcEiQC6B.js} +1 -1
- package/dist/client/assets/LaneTraceDetailSheet-B4i1Ut4R.js +1 -0
- package/dist/client/assets/{LaneTraceEventFocus-DYvHfs_3.js → LaneTraceEventFocus-Bl9L0EYb.js} +1 -1
- package/dist/client/assets/{MeshCanvas-DIjlrMPU.js → MeshCanvas-ZjIuMiRo.js} +1 -1
- package/dist/client/assets/{MeshCanvasMinimap-DEq-PkF0.js → MeshCanvasMinimap-C-LQtiX6.js} +1 -1
- package/dist/client/assets/MeshScreen-Bs3soujg.js +1 -0
- package/dist/client/assets/{MeshTopologyView-BMHpH5BU.js → MeshTopologyView-C0LUyT3K.js} +2 -2
- package/dist/client/assets/{MessageComposerSuggestions-zAUUcLOv.js → MessageComposerSuggestions-Dfc3PH2y.js} +1 -1
- package/dist/client/assets/MessagesScreen-TgSL5KMc.js +1 -0
- package/dist/client/assets/MissionContextRail-CjGAEGu8.js +1 -0
- package/dist/client/assets/MissionControlView-D629w2A8.js +1 -0
- package/dist/client/assets/{MissionFocusOverlay-C7cPt6eU.js → MissionFocusOverlay-Bubrr8Gc.js} +1 -1
- package/dist/client/assets/{MissionLeftAgentRow-CxlH3dON.js → MissionLeftAgentRow-DokImu4Y.js} +1 -1
- package/dist/client/assets/MissionLogPane-Cs0LuIkn.js +1 -0
- package/dist/client/assets/{NewAgentModal-DprvD4EK.js → NewAgentModal-D5e0YUAo.js} +1 -1
- package/dist/client/assets/NewChatComposer-C5LT7MF7.css +1 -0
- package/dist/client/assets/NewChatComposer-S08F6_La.js +19 -0
- package/dist/client/assets/{NewChatOrigin--pHWUb4V.js → NewChatOrigin-BEz6jyqf.js} +1 -1
- package/dist/client/assets/{ObserveEmbedScreen-CfvrnOiZ.js → ObserveEmbedScreen-CHx2sEAA.js} +2 -2
- package/dist/client/assets/ObserveTextFlow-_ApDwRCO.js +2 -0
- package/dist/client/assets/{ObservedTopologyPanel-Dv6fbHzW.js → ObservedTopologyPanel-ByW7Ar7p.js} +1 -1
- package/dist/client/assets/OpenScoutAppShell-DTmnbG-h.js +88 -0
- package/dist/client/assets/OpsAgentsView-DiFuHcJs.js +1 -0
- package/dist/client/assets/OpsScreen-CCR3U_9P.js +1 -0
- package/dist/client/assets/OpsSubnav-CZs_OL2N.js +1 -0
- package/dist/client/assets/{PlanView-DYtt8H37.js → PlanView-C54eAzig.js} +1 -1
- package/dist/client/assets/ProjectAgentProfile-BEfYOaxc.js +1 -0
- package/dist/client/assets/{ProjectAgentProfileBar-B3IvVbqS.js → ProjectAgentProfileBar-B1VpwzGD.js} +1 -1
- package/dist/client/assets/{ProjectAgentProfileHero-D5E8yvDj.js → ProjectAgentProfileHero-B4f_AoCr.js} +1 -1
- package/dist/client/assets/ProjectsInbox-DoPZ17FC.js +2 -0
- package/dist/client/assets/{ProjectsRail-DEDS-M1c.js → ProjectsRail-CWOkZjsY.js} +1 -1
- package/dist/client/assets/ProjectsScreen-Dse0Q6p6.js +1 -0
- package/dist/client/assets/ProjectsThreadAside-DMnfyPLE.js +1 -0
- package/dist/client/assets/Provider-DKZWuzSR.js +1 -0
- package/dist/client/assets/{RailRow-BTlVAnHS.js → RailRow-DIGd3MMM.js} +1 -1
- package/dist/client/assets/RawSessionsTable-Zkl4YDvz.js +1 -0
- package/dist/client/assets/RealtimeVoiceScreen-B_PMJxY_.js +1 -0
- package/dist/client/assets/{RepoDiffEmbedScreen-CtTdlQ2A.js → RepoDiffEmbedScreen-VLg4caej.js} +1 -1
- package/dist/client/assets/{RepoDiffPageScreen-BRvaVYoC.js → RepoDiffPageScreen-BelnvgnP.js} +1 -1
- package/dist/client/assets/{RepoDiffViewer-Bo0gREMj.js → RepoDiffViewer-VrUJw33u.js} +1 -1
- package/dist/client/assets/RepoDiffViewerLazy-BPg_JkYW.js +2 -0
- package/dist/client/assets/{ReposScreen-BBkJf8xT.js → ReposScreen-IINK-CFn.js} +2 -2
- package/dist/client/assets/ScoutDeckSurface-MbwGp6Ab.js +1 -0
- package/dist/client/assets/{ScoutSurface-DEQg_7Io.js → ScoutSurface-x_QbcRyk.js} +1 -1
- package/dist/client/assets/ScoutbotBroadcastChip-DAKQKB25.js +2 -0
- package/dist/client/assets/{ScoutbotFxLab-BgsuLDjo.js → ScoutbotFxLab-7t9JVvZg.js} +1 -1
- package/dist/client/assets/{ScoutbotRealtimeVoiceCall-Bzyl0BCS.js → ScoutbotRealtimeVoiceCall-Br4bYVAx.js} +1 -1
- package/dist/client/assets/{SecondaryNav-Bks0CO2h.js → SecondaryNav-Dj30epYF.js} +1 -1
- package/dist/client/assets/{SessionEmbedScreen-b0Zgmfx5.js → SessionEmbedScreen-s2mJ5Fg9.js} +1 -1
- package/dist/client/assets/{SessionObserve-Dlx5vDaV.js → SessionObserve-DaUrJCMq.js} +1 -1
- package/dist/client/assets/{SessionObserveEvidence-ChBD1d4c.js → SessionObserveEvidence-ClUW8jpV.js} +1 -1
- package/dist/client/assets/SessionRefScreen-DLZNFZFK.js +1 -0
- package/dist/client/assets/SessionsScreen-D-hN1n4k.js +1 -0
- package/dist/client/assets/{SettingsDrawer-C587L1i1.js → SettingsDrawer-BFsnww-k.js} +3 -3
- package/dist/client/assets/SettingsScreen-Bc3Xtv5V.js +1 -0
- package/dist/client/assets/{ShikiPane-I_OTW5NO.js → ShikiPane-Dkwyx--r.js} +1 -1
- package/dist/client/assets/{SlidePanel-FCqT1zO3.js → SlidePanel-CuTeirnk.js} +1 -1
- package/dist/client/assets/{SpriteAvatar-CQs-jC-v.js → SpriteAvatar-DQ3PTb8L.js} +1 -1
- package/dist/client/assets/{StatusPill-CbABggnQ.js → StatusPill-BJ1ierIR.js} +1 -1
- package/dist/client/assets/{TailView-C_MXVSum.js → TailView-CufWcrvf.js} +2 -2
- package/dist/client/assets/Terminal-D_OmdFmr.js +1 -0
- package/dist/client/assets/TerminalEmbedScreen-D21ytNXW.js +1 -0
- package/dist/client/assets/TerminalRelay-rvUzI9Ek.js +46 -0
- package/dist/client/assets/{TextDocumentSurface-C-9EtYqt.js → TextDocumentSurface-Bc-kHPgG.js} +1 -1
- package/dist/client/assets/{TmuxPeek-Dz1gJ2pU.js → TmuxPeek-DLyDkq_D.js} +1 -1
- package/dist/client/assets/{VoicePermissionsPanel-MfICy9kk.js → VoicePermissionsPanel-CD903y9K.js} +1 -1
- package/dist/client/assets/{WorkDetailScreen-Cs7kdllj.js → WorkDetailScreen-D51oI0dH.js} +2 -2
- package/dist/client/assets/{WorkFilesViewer-CF-nhtZ4.js → WorkFilesViewer-BDMNbxE4.js} +1 -1
- package/dist/client/assets/{activity-WhBf3FXP.js → activity-BvGruxWG.js} +1 -1
- package/dist/client/assets/{addon-fit-q-x_HytU.js → addon-fit-Cfq4Ayjd.js} +1 -1
- package/dist/client/assets/{addon-webgl-fhhvEA9h.js → addon-webgl-B8sIf9-s.js} +1 -1
- package/dist/client/assets/{agent-essentials-DyJiUGpZ.js → agent-essentials-yb4wIJlX.js} +1 -1
- package/dist/client/assets/agent-identity-BxCsXnDp.js +1 -0
- package/dist/client/assets/{agent-lane-card-model-BCIwPjEh.js → agent-lane-card-model-q4cwzLX4.js} +1 -1
- package/dist/client/assets/agent-lane-detail-BNNm6FNu.js +2 -0
- package/dist/client/assets/{agent-lane-preview-BtnfNyFR.js → agent-lane-preview-C33Dwpn7.js} +1 -1
- package/dist/client/assets/{agent-lanes-model-Bl6xfviL.js → agent-lanes-model-VYQ5a68i.js} +2 -2
- package/dist/client/assets/{arc.es-DPJ0xRV6.js → arc.es-BBTfhvLE.js} +1 -1
- package/dist/client/assets/{arrow-left-WjQIN9J6.js → arrow-left-BOht-YQu.js} +1 -1
- package/dist/client/assets/{arrow-up-right-CtTDrZJr.js → arrow-up-right-hoR8_oUz.js} +1 -1
- package/dist/client/assets/{bot-B_Uzf4_O.js → bot-BUK7dOPS.js} +1 -1
- package/dist/client/assets/{check-BbgHJX8u.js → check--esHw52j.js} +1 -1
- package/dist/client/assets/{chevron-down-BFai6ZfE.js → chevron-down-NAhBUkFd.js} +1 -1
- package/dist/client/assets/{chevron-right-CyUa1zXx.js → chevron-right-C10o7t_X.js} +1 -1
- package/dist/client/assets/{chunk-HRAB3GC3-CvwpNg-G.js → chunk-HRAB3GC3-DF8R9rPv.js} +1 -1
- package/dist/client/assets/{clock-DviOalxA.js → clock-of01sAB6.js} +1 -1
- package/dist/client/assets/{code-xml-05TD3uOC.js → code-xml-CLn3TDWF.js} +1 -1
- package/dist/client/assets/content-B-SUUhXj.js +1 -0
- package/dist/client/assets/content-BRY2vo1_.js +1 -0
- package/dist/client/assets/content-BTm0mVyD.js +1 -0
- package/dist/client/assets/content-BTqvyb5E.js +1 -0
- package/dist/client/assets/content-BjDaXmSD.js +1 -0
- package/dist/client/assets/content-BrR6deGh.js +1 -0
- package/dist/client/assets/content-C5yvBEMy.js +1 -0
- package/dist/client/assets/content-Cgj5AWqT.js +1 -0
- package/dist/client/assets/content-CkhG__-v.js +1 -0
- package/dist/client/assets/content-CudIBsiP.js +1 -0
- package/dist/client/assets/content-DBb7ppd5.js +1 -0
- package/dist/client/assets/content-DEw_kGyK.js +1 -0
- package/dist/client/assets/content-DIy0DCzK.js +1 -0
- package/dist/client/assets/content-THl9hRAo.js +1 -0
- package/dist/client/assets/content-Uqt8AG-s.css +1 -0
- package/dist/client/assets/content-vi9FbmV9.js +1 -0
- package/dist/client/assets/content-wcgPMGVf.js +1 -0
- package/dist/client/assets/{conversation-icons-DohQL6GI.js → conversation-icons-ClBJi21l.js} +1 -1
- package/dist/client/assets/conversation-model-CHwHZNw-.js +1 -0
- package/dist/client/assets/conversation-motion-features-zU0k3Agz.js +1 -0
- package/dist/client/assets/{copy-CwCAivnc.js → copy-Dty8ZYsM.js} +1 -1
- package/dist/client/assets/{createLucideIcon-DlxlBfLC.js → createLucideIcon-Bt67PWH-.js} +1 -1
- package/dist/client/assets/discover-NDAqNvKt.js +2 -0
- package/dist/client/assets/embed-entry-BVR09F6e.js +2 -0
- package/dist/client/assets/{external-link-CnjcXf32.js → external-link-Dem738OJ.js} +1 -1
- package/dist/client/assets/{eye-So8tNNK6.js → eye-B3lBIwJZ.js} +1 -1
- package/dist/client/assets/{file-text-i3xTDUjJ.js → file-text-iF0hyVyU.js} +1 -1
- package/dist/client/assets/home-live-action-BkqGLVRY.js +1 -0
- package/dist/client/assets/home-moving-signal-C8dTXieA.js +1 -0
- package/dist/client/assets/home-now-card-BgvVcE83.js +1 -0
- package/dist/client/assets/{home-now-card-nano-CkLHUQ4J.js → home-now-card-nano-hZl9klbP.js} +1 -1
- package/dist/client/assets/hooks-DBIezYS2.js +2 -0
- package/dist/client/assets/index-BMwKgdz_.js +1 -0
- package/dist/client/assets/index-Bu-fckyR.css +1 -0
- package/dist/client/assets/index-BxoufAPA.js +1 -0
- package/dist/client/assets/index-Cj7NnSxI.js +1 -0
- package/dist/client/assets/{index-sUomXsrf.js → index-o4FKpU7Z.js} +2 -2
- package/dist/client/assets/{inspector-panel-DhXd-YbT.js → inspector-panel-Dy2cVTCi.js} +2 -2
- package/dist/client/assets/keyboard-nav-Chf51dns.js +1 -0
- package/dist/client/assets/{lane-observe-DrhKkQ3A.js → lane-observe-BA3g9aVd.js} +1 -1
- package/dist/client/assets/{lane-roster-store-NE15Oe6M.js → lane-roster-store-BiIVlYmG.js} +1 -1
- package/dist/client/assets/left-BC7p5QbT.js +1 -0
- package/dist/client/assets/left-BCSGqccQ.js +1 -0
- package/dist/client/assets/left-BSyj8PuJ.js +2 -0
- package/dist/client/assets/left-DDnxNUxd.js +1 -0
- package/dist/client/assets/left-DLoDKxT5.js +2 -0
- package/dist/client/assets/left-O-TBH7JB.js +1 -0
- package/dist/client/assets/left-agents-Dk9Y89lb.js +1 -0
- package/dist/client/assets/left-default-B3JBRQNJ.js +1 -0
- package/dist/client/assets/left-lanes-30Oe_3RM.js +1 -0
- package/dist/client/assets/left-mission-DEl4-7xu.js +1 -0
- package/dist/client/assets/left-plan-B4qdm4Gn.js +2 -0
- package/dist/client/assets/left-rvUOB14X.js +1 -0
- package/dist/client/assets/library-DDKSLFJ_.js +1 -0
- package/dist/client/assets/{loader-circle-lWOOKezu.js → loader-circle-4LDsy4Ke.js} +1 -1
- package/dist/client/assets/{local-agents-C7fDHLVC.js → local-agents-DIi2EacM.js} +1 -1
- package/dist/client/assets/{mentions-CY_wPZc5.js → mentions-CvDaviLJ.js} +1 -1
- package/dist/client/assets/{mesh-ops-Kn8pCtyJ.js → mesh-ops-JZwGuAPn.js} +1 -1
- package/dist/client/assets/{mesh-view-store-D14ihwkF.js → mesh-view-store-Du7VqIT_.js} +1 -1
- package/dist/client/assets/{message-circle-C5UZ6fO7.js → message-circle-BM3XgevU.js} +1 -1
- package/dist/client/assets/{message-markup-C8Nx04sP.js → message-markup-BcY1lShv.js} +1 -1
- package/dist/client/assets/{message-square-BD-4UUdc.js → message-square-ER1_q2pe.js} +1 -1
- package/dist/client/assets/mission-control-m3BTDQ9l.css +1 -0
- package/dist/client/assets/{mission-control-store-xQHVQdm8.js → mission-control-store-C6w5iVfg.js} +1 -1
- package/dist/client/assets/mission-wall-CocIM1cF.js +1 -0
- package/dist/client/assets/{observe-uJfIlIUV.js → observe-3-jn4SXb.js} +1 -1
- package/dist/client/assets/openAgent-Dbv5wfuL.js +1 -0
- package/dist/client/assets/{page-status-BymFEFai.js → page-status-0LPfBC8S.js} +1 -1
- package/dist/client/assets/{plus-C9lTjsgd.js → plus-C-2gTcPK.js} +1 -1
- package/dist/client/assets/profile-DW80Gn5k.js +1 -0
- package/dist/client/assets/{projects-inbox-DfVmGFFk.js → projects-inbox-DCeD3FfV.js} +1 -1
- package/dist/client/assets/provider-BvAxRQfE.js +1 -0
- package/dist/client/assets/{radio-DedMyP8J.js → radio-v7UAMZGh.js} +1 -1
- package/dist/client/assets/{refresh-cw-D8PFyhUa.js → refresh-cw-B5To7b6B.js} +1 -1
- package/dist/client/assets/resolve-panes-BDi9Qx4R.js +1 -0
- package/dist/client/assets/resolve-sidebar-context-HE-5eZYa.js +1 -0
- package/dist/client/assets/right-BDf_yTv6.js +1 -0
- package/dist/client/assets/{right-C1sIsSHR.js → right-BvoGOUKH.js} +1 -1
- package/dist/client/assets/right-C-bgjYg-.js +1 -0
- package/dist/client/assets/right-C3JdEfYQ.js +1 -0
- package/dist/client/assets/right-CYIs2tEe.js +1 -0
- package/dist/client/assets/right-CyRCv6Up.js +1 -0
- package/dist/client/assets/right-DBYGtoRv.js +1 -0
- package/dist/client/assets/right-o3LHMiKa.js +1 -0
- package/dist/client/assets/right-oPrcx9MX.js +1 -0
- package/dist/client/assets/right-sSvBUK-j.js +1 -0
- package/dist/client/assets/{rocket-CriBwkHM.js → rocket-BQQQv2L5.js} +1 -1
- package/dist/client/assets/router-C65cZYPn.js +1 -0
- package/dist/client/assets/{runtime-picker-DOZpZOlt.js → runtime-picker-eDEvx2Mz.js} +1 -1
- package/dist/client/assets/{scope-views-BF_RvGKU.js → scope-views-BOOmgmwx.js} +1 -1
- package/dist/client/assets/{scout-voice-BZ4KqADJ.js → scout-voice-B7kXlkcl.js} +1 -1
- package/dist/client/assets/{scroll-text-BIYf6g6N.js → scroll-text-BuneRiAD.js} +1 -1
- package/dist/client/assets/{search-DCT_EvPr.js → search-7_n7CxWl.js} +1 -1
- package/dist/client/assets/{secondaryNavConfig-Drb7wPG4.js → secondaryNavConfig-CSFDCQAf.js} +1 -1
- package/dist/client/assets/{selection-bridge-CJOTyYQs.js → selection-bridge-SlGsgHw2.js} +1 -1
- package/dist/client/assets/{send-horizontal-DDwOgEs3.js → send-horizontal-DP16OOIW.js} +1 -1
- package/dist/client/assets/{server-CHZCp3cF.js → server-pYOMFjrT.js} +1 -1
- package/dist/client/assets/{session-catalog-XhGxCtP-.js → session-catalog-_QfQ7fhZ.js} +1 -1
- package/dist/client/assets/session-table-CYN8e4s3.js +1 -0
- package/dist/client/assets/{sliders-horizontal-B9Nj-Y4J.js → sliders-horizontal-D2Z8gz6J.js} +1 -1
- package/dist/client/assets/{sparkles-up7pVlX-.js → sparkles-Bth2iK7t.js} +1 -1
- package/dist/client/assets/{sse-CVoGDiKW.js → sse-CL6gctHY.js} +1 -1
- package/dist/client/assets/synthetic-agent-routing-aduMYO7P.js +1 -0
- package/dist/client/assets/system-surfaces-redesign-B7GQhfpw.css +1 -0
- package/dist/client/assets/{tail-display-BdyoLvzY.js → tail-display-BRcJltQa.js} +2 -2
- package/dist/client/assets/{tail-events-CTipUIli.js → tail-events-NLIWLq27.js} +1 -1
- package/dist/client/assets/{terminal-DXQISjZn.js → terminal-By1Lw2i2.js} +1 -1
- package/dist/client/assets/{terminal-relay-B5Sma7fK.js → terminal-relay-CjkI5aUy.js} +1 -1
- package/dist/client/assets/{terminal-screen-19jAI0Cw.css → terminal-screen-BqVnCwl0.css} +1 -1
- package/dist/client/assets/terminal-sessions-AmSgHklm.js +1 -0
- package/dist/client/assets/{terminal-takeover-X97KCSJk.js → terminal-takeover-7AvNpnkC.js} +1 -1
- package/dist/client/assets/{use-conversation-list-B1T6J_qE.js → use-conversation-list-BCzY032j.js} +1 -1
- package/dist/client/assets/{use-fleet-active-asks-DLofGhhK.js → use-fleet-active-asks-CJ6-oj5k.js} +1 -1
- package/dist/client/assets/{use-mesh-ops-items-ByGZk8rU.js → use-mesh-ops-items-D5L-CKe_.js} +1 -1
- package/dist/client/assets/use-reduced-motion-CqXpVXv-.js +1 -0
- package/dist/client/assets/use-scout-dev-flags-BohC8seq.js +1 -0
- package/dist/client/assets/{useAgentHoverCard-D5e8Qg1z.js → useAgentHoverCard-RsLUYyeh.js} +1 -1
- package/dist/client/assets/useContentSecondaryNav-DOr5yHbT.js +1 -0
- package/dist/client/assets/usePersistentState-D3M4m2Ou.js +1 -0
- package/dist/client/assets/{usePierreRuntime-DIVunfX0.js → usePierreRuntime-B4hbNWTz.js} +1 -1
- package/dist/client/assets/{wrench-pEVd8JnN.js → wrench-M4G7WtYB.js} +1 -1
- package/dist/client/assets/{x-0XjXwGqq.js → x-ynOfVadO.js} +1 -1
- package/dist/client/assets/{xterm-CRLlV1Xp.js → xterm-DZHyijPp.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/main.mjs +1444 -381
- package/dist/node/main.mjs +82 -20
- package/dist/openscout-terminal-relay.mjs +16 -4
- package/dist/pairing-runtime-controller.mjs +3030 -2948
- package/dist/runtime/broker-daemon.mjs +358 -136
- package/dist/scout-control-plane-web.mjs +5646 -5184
- package/dist/scout-web-server.mjs +5646 -5184
- package/package.json +4 -4
- package/dist/client/assets/ActivityScreen-DnqqRSlS.js +0 -1
- package/dist/client/assets/AgentConfigurationScreen-CJqoMA0J.js +0 -1
- package/dist/client/assets/AgentDefinitionsWorkspace-FpEkb-tu.js +0 -1
- package/dist/client/assets/AgentFloorView-CycUn0Lv.js +0 -1
- package/dist/client/assets/AgentInfoScreen-CAQAxpAK.js +0 -1
- package/dist/client/assets/AgentLaneDetailSheet-CWs9wKWk.js +0 -5
- package/dist/client/assets/AgentLanesEmbedScreen-BUCW4nUj.js +0 -1
- package/dist/client/assets/AgentsScreen-BMXvuiA2.js +0 -1
- package/dist/client/assets/AgentsSubnav-BTNjPYoA.js +0 -1
- package/dist/client/assets/BackToPicker-CkUmHuuo.js +0 -1
- package/dist/client/assets/BrokerScreen-CObCQvoy.js +0 -5
- package/dist/client/assets/CodeScreen-BXqi72NK.js +0 -1
- package/dist/client/assets/ConversationComposer-BBNPa5S9.js +0 -1
- package/dist/client/assets/ConversationFeedRows-BuejHMCY.js +0 -1
- package/dist/client/assets/ConversationHeader-DXMT-YXv.js +0 -1
- package/dist/client/assets/ConversationPanels-DHCtilQF.js +0 -2
- package/dist/client/assets/ConversationScreen-DSxIt9pq.css +0 -1
- package/dist/client/assets/ConversationScreen-Dz2d_Z_F.js +0 -1
- package/dist/client/assets/FlightObserveScreen-C-9S0nA5.js +0 -1
- package/dist/client/assets/FollowScreen--Q04xSSE.js +0 -1
- package/dist/client/assets/HarnessMark-Dm_qm1Ku.js +0 -1
- package/dist/client/assets/HarnessesScreen-Y54viPX8.js +0 -1
- package/dist/client/assets/KnowledgeSearchScreen-DsdDz8wY.js +0 -1
- package/dist/client/assets/LaneTraceDetailSheet-CBf_aNZx.js +0 -1
- package/dist/client/assets/MeshScreen-TgDtz-1l.js +0 -1
- package/dist/client/assets/MessagesScreen-BTQL0UcE.js +0 -1
- package/dist/client/assets/MissionControlView-D59SPnAm.js +0 -1
- package/dist/client/assets/MissionLogPane-Ye3YlF9s.js +0 -1
- package/dist/client/assets/NewChatComposer-B5FnPyzS.js +0 -19
- package/dist/client/assets/NewChatComposer-W-t-L4oV.css +0 -1
- package/dist/client/assets/ObserveTextFlow-CBitljxi.js +0 -2
- package/dist/client/assets/OpenScoutAppShell-BIp0WitK.js +0 -87
- package/dist/client/assets/OpsAgentsView-CoBfAigH.js +0 -1
- package/dist/client/assets/OpsScreen-Bbo0W64T.js +0 -1
- package/dist/client/assets/OpsSubnav-CoN8utF8.js +0 -1
- package/dist/client/assets/ProjectAgentProfile-FiiIcB5R.js +0 -1
- package/dist/client/assets/ProjectsInbox-BWiXjGi7.js +0 -2
- package/dist/client/assets/ProjectsScreen-Cxk4CuYn.js +0 -1
- package/dist/client/assets/ProjectsThreadAside-BF66ugT5.js +0 -1
- package/dist/client/assets/Provider-tFc3jqZ4.js +0 -1
- package/dist/client/assets/RawSessionsTable-BsGVgZB3.js +0 -1
- package/dist/client/assets/RealtimeVoiceScreen-B0Bem5Rc.js +0 -1
- package/dist/client/assets/RepoDiffViewerLazy-C8UPk4oo.js +0 -2
- package/dist/client/assets/ScoutDeckSurface-Bi9ov9Bm.js +0 -1
- package/dist/client/assets/ScoutbotBroadcastChip-DJXuyn73.js +0 -2
- package/dist/client/assets/SessionRefScreen-D7TfPYPN.js +0 -1
- package/dist/client/assets/SessionsScreen-BlknOWAd.js +0 -1
- package/dist/client/assets/SettingsScreen-BIlYxv_a.js +0 -1
- package/dist/client/assets/Terminal-DwZyo8kA.js +0 -1
- package/dist/client/assets/TerminalEmbedScreen-Czp3tQyd.js +0 -1
- package/dist/client/assets/agent-chat-Bfjd9y6c.js +0 -1
- package/dist/client/assets/agent-identity-xQHedtLl.js +0 -1
- package/dist/client/assets/agent-lane-detail-Cw4QVAgH.js +0 -1
- package/dist/client/assets/arrow-down-DsD-dYj-.js +0 -1
- package/dist/client/assets/chunk-T65CQEWV-DI4NKdNq.js +0 -1
- package/dist/client/assets/chunk-YOZR3KYS-BW85tiCr.js +0 -47
- package/dist/client/assets/content-2u_eV3fX.js +0 -1
- package/dist/client/assets/content-5irOghrY.js +0 -1
- package/dist/client/assets/content-8Z_0CwtD.js +0 -1
- package/dist/client/assets/content-B38YRDBu.js +0 -1
- package/dist/client/assets/content-BE3uK0LB.js +0 -1
- package/dist/client/assets/content-BtIxSqVY.js +0 -1
- package/dist/client/assets/content-CFsPAihU.js +0 -1
- package/dist/client/assets/content-CHU0wwA3.css +0 -1
- package/dist/client/assets/content-CKj5g5tu.js +0 -1
- package/dist/client/assets/content-CLDWXf9Z.js +0 -1
- package/dist/client/assets/content-CRr73E0r.js +0 -1
- package/dist/client/assets/content-CVR75_Uj.js +0 -1
- package/dist/client/assets/content-Czdp7_JQ.js +0 -1
- package/dist/client/assets/content-D0_EJ6nP.js +0 -1
- package/dist/client/assets/content-DNmxpNhD.js +0 -1
- package/dist/client/assets/content-XpbI9uxd.js +0 -1
- package/dist/client/assets/content-cyxWdgKQ.js +0 -1
- package/dist/client/assets/conversation-model-C4yb6_FA.js +0 -1
- package/dist/client/assets/conversation-motion-features-CifSdJtm.js +0 -1
- package/dist/client/assets/discover-DoiAJo4Z.js +0 -2
- package/dist/client/assets/embed-entry-D1Or9S4d.js +0 -2
- package/dist/client/assets/gestures-CgvAMd6F.js +0 -1
- package/dist/client/assets/home-live-action-B22u89j7.js +0 -1
- package/dist/client/assets/home-moving-signal-BdkERL6B.js +0 -1
- package/dist/client/assets/home-now-card-lLkv6nQs.js +0 -1
- package/dist/client/assets/hooks-BPLDD9yu.js +0 -2
- package/dist/client/assets/index-DGoLx89y.js +0 -1
- package/dist/client/assets/index-DITWsjFb.css +0 -1
- package/dist/client/assets/index-m6dFtY5f.js +0 -1
- package/dist/client/assets/index-pY8-Mz7y.js +0 -1
- package/dist/client/assets/keyboard-nav-BhZZ5HEq.js +0 -1
- package/dist/client/assets/left-B6eawimv.js +0 -1
- package/dist/client/assets/left-BL2uBHe0.js +0 -2
- package/dist/client/assets/left-BNJguPDG.js +0 -1
- package/dist/client/assets/left-BvCtvN0f.js +0 -1
- package/dist/client/assets/left-CfBb6bxM.js +0 -1
- package/dist/client/assets/left-DTrlBF0h.js +0 -2
- package/dist/client/assets/left-agents-DsOHgDCY.js +0 -1
- package/dist/client/assets/left-d4hlBBxY.js +0 -1
- package/dist/client/assets/left-default-BRCwoCJr.js +0 -1
- package/dist/client/assets/left-lanes-DNtoRzoV.js +0 -1
- package/dist/client/assets/left-mission-DsTu2X5Y.js +0 -1
- package/dist/client/assets/left-plan-CtySjsXC.js +0 -2
- package/dist/client/assets/library-CLpgWNJO.js +0 -1
- package/dist/client/assets/mission-control-D3ikEPND.css +0 -1
- package/dist/client/assets/openAgent-Bjt57GdM.js +0 -1
- package/dist/client/assets/paperclip-DL9BXPp2.js +0 -1
- package/dist/client/assets/profile-BqY5tesX.js +0 -1
- package/dist/client/assets/resolve-panes-1xeZMuaw.js +0 -1
- package/dist/client/assets/resolve-sidebar-context-PLr32WHN.js +0 -1
- package/dist/client/assets/right-1x7HzabC.js +0 -1
- package/dist/client/assets/right-CFzPUzlF.js +0 -1
- package/dist/client/assets/right-CRKyeJDk.js +0 -1
- package/dist/client/assets/right-CagzkLWg.js +0 -1
- package/dist/client/assets/right-CsV149pN.js +0 -1
- package/dist/client/assets/right-DITNyG2s.js +0 -1
- package/dist/client/assets/right-E3nNcLE3.js +0 -1
- package/dist/client/assets/right-eUQvSjd7.js +0 -1
- package/dist/client/assets/right-ozp4nM44.js +0 -1
- package/dist/client/assets/router-Dja9_ygK.js +0 -1
- package/dist/client/assets/session-table-sAVe44a4.js +0 -1
- package/dist/client/assets/system-surfaces-redesign-CD26LFc0.css +0 -1
- package/dist/client/assets/terminal-sessions-D5CIR2OL.js +0 -1
- package/dist/client/assets/use-reduced-motion-Cvk-HRKg.js +0 -1
- package/dist/client/assets/use-scout-dev-flags-BHvg3G2c.js +0 -1
- package/dist/client/assets/useContentSecondaryNav-ZfBNi3d4.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as d}from"./index-
|
|
1
|
+
import{r as d}from"./index-o4FKpU7Z.js";const u=new Set(["in_turn","in_flight","needs_attention","callable","blocked"]),l="openscout.mesh.machinePositions.v1";function f(){if(typeof window>"u")return{};try{const e=window.localStorage.getItem(l);if(!e)return{};const n=JSON.parse(e);if(n&&typeof n=="object"){const i={};for(const[c,o]of Object.entries(n))o&&typeof o=="object"&&typeof o.x=="number"&&typeof o.y=="number"&&(i[c]={x:o.x,y:o.y});return i}}catch{}return{}}function r(e){if(!(typeof window>"u"))try{window.localStorage.setItem(l,JSON.stringify(e))}catch{}}let t={mode:"map",density:"comfortable",selectedId:null,selectedType:null,meshSnapshot:null,probeCache:{},query:"",stateFilter:"all",agentStateFilters:u,hiddenMachineIds:new Set,collapsedMachineIds:new Set,treeFullMachineIds:new Set,scrollTargetMachineId:null,machinePositions:f()};const a=new Set;function s(){for(const e of a)e()}function p(e){t.mode!==e&&(t={...t,mode:e},s())}function g(e){t.density!==e&&(t={...t,density:e},s())}function w(e,n){t.selectedId===e&&t.selectedType===n||(t={...t,selectedId:e,selectedType:n},s())}function y(e){t={...t,meshSnapshot:e},s()}function I(e){t.query!==e&&(t={...t,query:e},s())}function b(e){t.stateFilter!==e&&(t={...t,stateFilter:e},s())}function T(e){const n=new Set(t.agentStateFilters);n.has(e)?n.delete(e):n.add(e),t={...t,agentStateFilters:n},s()}function x(e){const n=new Set(t.treeFullMachineIds);n.has(e)?n.delete(e):n.add(e),t={...t,treeFullMachineIds:n},s()}function P(e){const n=new Set(t.hiddenMachineIds);n.has(e)?n.delete(e):n.add(e),t={...t,hiddenMachineIds:n},s()}function _(e,n){const i=new Set;for(const c of n)c!==e&&i.add(c);t={...t,hiddenMachineIds:i},s()}function m(){t.hiddenMachineIds.size!==0&&(t={...t,hiddenMachineIds:new Set},s())}function F(e){const n=new Set(t.collapsedMachineIds);n.has(e)?n.delete(e):n.add(e),t={...t,collapsedMachineIds:n},s()}function A(e,n){const i={...t.machinePositions,[e]:n};t={...t,machinePositions:i},r(i),s()}function O(){if(Object.keys(t.machinePositions).length===0)return;const e={};t={...t,machinePositions:e},r(e),s()}function E(e){t={...t,scrollTargetMachineId:e},s(),queueMicrotask(()=>{t.scrollTargetMachineId===e&&(t={...t,scrollTargetMachineId:null},s())})}function h(e){return a.add(e),()=>{a.delete(e)}}function S(){return t}function j(){return d.useSyncExternalStore(h,S)}export{w as a,F as b,A as c,O as d,p as e,g as f,I as g,b as h,T as i,m as j,x as k,_ as l,E as r,y as s,P as t,j as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e}from"./createLucideIcon-
|
|
1
|
+
import{c as e}from"./createLucideIcon-Bt67PWH-.js";const c=[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}]],a=e("message-circle",c);export{a as M};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as i}from"./index-
|
|
1
|
+
import{j as i}from"./index-o4FKpU7Z.js";import{r as c}from"./mentions-CvDaviLJ.js";const h=/^```([a-z0-9_-]+)?\s*$/iu,E=/^(#{1,6})\s+(.+)$/u,L=/^(?:-{3,}|\*{3,}|_{3,})$/u,_=/^\s*[-*]\s+(.+)$/u,M=/^\s*\d+[.)]\s+(.+)$/u,w=/^\|?\s*:?-{3,}:?\s*(?:\|\s*:?-{3,}:?\s*)+\|?$/u;function B(e){return/[\r\n]/u.test(e)||!(/(?:(?:\\r)?\\n){2}/u.test(e)||/(?:\\r)?\\n(?=\s*(?:#{1,6}\s|[-*+]\s|>\s|\d+[.)]\s|[A-Z][A-Za-z ]{0,40}:))/u.test(e))?e:e.replace(/\\r\\n|\\n|\\r/gu,`
|
|
2
2
|
`)}function P(e){const s=B(e).replace(/\r\n?/gu,`
|
|
3
3
|
`).trim();return s?s.replace(/([^\n])\s+---\s+(?=(?:#{1,6}\s|\*\*|[A-Z0-9]))/gu,`$1
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as a}from"./createLucideIcon-
|
|
1
|
+
import{c as a}from"./createLucideIcon-Bt67PWH-.js";const e=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]],o=a("message-square",e);export{o as M};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.s-wall{position:relative;display:flex;flex-direction:column;height:100%;min-height:0;background:var(--bg);font-family:var(--font-mono);color:var(--ink);overflow:hidden}.s-wall-status{flex:none;display:flex;align-items:center;gap:var(--space-sm);min-height:26px;padding:0 var(--space-lg);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 18%,var(--bg));font-size:var(--text-2xs);letter-spacing:.04em}.s-wall-status-key{color:var(--dim);text-transform:lowercase}.s-wall-status-value{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:var(--space-md)}.s-wall-status-hidden{color:var(--dim);font-variant-numeric:tabular-nums}.s-wall-status-keys{margin-left:auto;color:var(--dim);white-space:nowrap}.s-wall-status-keys kbd{font:inherit;color:var(--muted)}.s-wall-status-pin{margin-left:var(--space-md);padding:0;border:0;background:none;color:var(--accent);font:inherit;letter-spacing:inherit;cursor:pointer}.s-wall-status-pin:hover{text-decoration:underline}.s-wall-grid{flex:1;min-height:0;display:grid;padding:var(--space-sm);overflow:hidden}.s-wall-pane{position:relative;display:flex;flex-direction:column;contain:layout paint;min-width:0;min-height:0;border:1px solid var(--border);border-radius:var(--radius-xs);background:color-mix(in srgb,var(--surface) 34%,var(--bg));overflow:hidden;cursor:pointer;transition:border-color .12s}.s-wall-pane:hover{border-color:color-mix(in srgb,var(--muted) 45%,var(--border))}.s-wall-pane--live{border-color:color-mix(in srgb,var(--green) 30%,var(--border))}.s-wall-pane--selected,.s-wall-pane--selected:hover{border-color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent)}.s-wall-pane--cursor,.s-wall-pane--cursor:hover{border-color:color-mix(in srgb,var(--accent) 70%,var(--border));outline:1px solid var(--accent);outline-offset:-1px}.s-wall-pane:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.s-wall-pane--revealed{animation:s-wall-reveal 1.8s ease-out}@keyframes s-wall-reveal{0%,40%{box-shadow:inset 0 0 0 1px var(--accent);border-color:var(--accent)}to{box-shadow:inset 0 0 0 1px transparent}}@media(prefers-reduced-motion:reduce){.s-wall-pane--revealed{animation:none;border-color:var(--accent)}}.s-wall-pane-head{flex:none;display:flex;align-items:center;gap:var(--space-xs);min-height:22px;padding:0 var(--space-sm);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--ink) 3%,transparent);font-size:var(--text-2xs);letter-spacing:.02em;white-space:nowrap;overflow:hidden}.s-wall-pane-dot{flex:none;width:5px;height:5px;border-radius:50%}.s-wall-pane--live .s-wall-pane-dot{animation:s-ops-pulse 1.6s ease-in-out infinite}.s-wall-pane-title{flex:0 1 auto;min-width:0;padding:0;border:0;background:none;color:var(--ink);font:inherit;font-weight:600;letter-spacing:inherit;text-align:start;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.s-wall-pane-title:hover{color:var(--accent)}.s-wall-pane-title:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.s-wall-pane-where{flex:0 1 auto;min-width:0;color:var(--dim);overflow:hidden;text-overflow:ellipsis}.s-wall-pane-spacer{flex:1 1 auto}.s-wall-pane-live{flex:none;color:var(--green);text-transform:uppercase;letter-spacing:var(--tracking-md)}.s-wall-pane-file{flex:none;max-width:40%;padding:0;border:0;background:none;color:var(--dim);font:inherit;letter-spacing:inherit;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.s-wall-pane-file:hover{color:var(--accent);text-decoration:underline}.s-wall-pane-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:2px 0 4px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--border) 80%,transparent) transparent}.s-wall-pane-body::-webkit-scrollbar{width:5px}.s-wall-pane-body::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--border) 80%,transparent)}.s-wall-pane-idle{padding:var(--space-sm) var(--space-md);color:var(--dim);font-size:var(--text-2xs);letter-spacing:var(--tracking-sm)}.s-wall-line{display:grid;grid-template-columns:52px 8px minmax(0,1fr);align-items:baseline;content-visibility:auto;contain-intrinsic-size:auto 15px;gap:var(--space-xs);padding:0 var(--space-sm);font-size:var(--text-2xs);line-height:15px;color:var(--muted)}.s-wall-line:nth-child(2n){background:color-mix(in srgb,var(--ink) 2.5%,transparent)}.s-wall-line-time{color:var(--dim);font-variant-numeric:tabular-nums}.s-wall-line-glyph{color:var(--dim)}.s-wall-line-text{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.s-wall-line-repeat{color:var(--dim);font-variant-numeric:tabular-nums}.s-wall-line--user .s-wall-line-text{color:var(--ink)}.s-wall-line--assistant .s-wall-line-text{color:color-mix(in srgb,var(--ink) 80%,transparent)}.s-wall-line--tool .s-wall-line-text{color:var(--accent)}.s-wall-line--system .s-wall-line-text,.s-wall-line--other .s-wall-line-text{color:var(--dim)}.s-wall-pane-body>.s-wall-line:last-child{animation:s-wall-line-in .22s cubic-bezier(.22,.61,.36,1) both}@keyframes s-wall-line-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.s-wall-pane-body>.s-wall-line:last-child{animation:none}}.s-wall-grid--railed .s-wall-pane:not(.s-wall-pane--cursor){opacity:.5;transition:opacity .12s}.s-wall-rail{position:absolute;top:26px;right:0;bottom:0;z-index:3;width:min(400px,46vw);display:flex;flex-direction:column;border-left:1px solid var(--border);background:color-mix(in srgb,var(--surface) 92%,var(--bg));box-shadow:-12px 0 28px -18px #000000a6;font-size:var(--text-2xs);letter-spacing:.02em;overflow:hidden}.s-wall-rail-head{flex:none;display:flex;align-items:center;gap:var(--space-xs);min-height:34px;padding:0 var(--space-sm);border-bottom:1px solid var(--border)}.s-wall-rail-dot{flex:none;width:5px;height:5px;border-radius:50%;background:var(--dim)}.s-wall-rail-dot--live{background:var(--green);animation:s-ops-pulse 1.6s ease-in-out infinite}.s-wall-rail-identity{min-width:0;flex:1 1 auto}.s-wall-rail-title{color:var(--ink);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-wall-rail-sub{color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-wall-rail-close{flex:none;padding:0 var(--space-2xs);border:0;background:none;color:var(--dim);font:inherit;cursor:pointer}.s-wall-rail-close:hover{color:var(--ink)}.s-wall-rail-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--space-sm);scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--border) 80%,transparent) transparent}.s-wall-rail-sec+.s-wall-rail-sec{margin-top:var(--space-md)}.s-wall-rail-sechead{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs);color:var(--dim);text-transform:uppercase;letter-spacing:var(--tracking-md)}.s-wall-rail-seccount{color:var(--muted);text-transform:none;letter-spacing:.02em;font-variant-numeric:tabular-nums}.s-wall-rail-secrule{flex:1 1 auto;height:1px;background:var(--border)}.s-wall-rail-headline{color:var(--ink);line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.s-wall-rail-detail{margin-top:2px;color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-wall-rail-empty{color:var(--dim);line-height:1.45}.s-wall-rail-stats{display:flex;flex-wrap:wrap;gap:var(--space-md);margin:var(--space-sm) 0 0}.s-wall-rail-stat{display:flex;flex-direction:column;gap:1px}.s-wall-rail-stat-label{color:var(--dim);text-transform:uppercase;letter-spacing:var(--tracking-md)}.s-wall-rail-stat-value{margin:0;color:var(--ink);font-variant-numeric:tabular-nums}.s-wall-rail-gauge{margin-top:var(--space-sm)}.s-wall-rail-gauge-line{display:flex;align-items:baseline;gap:var(--space-xs);color:var(--muted)}.s-wall-rail-gauge-label{color:var(--dim);text-transform:uppercase;letter-spacing:var(--tracking-md)}.s-wall-rail-gauge-of{color:var(--dim)}.s-wall-rail-gauge-pct{margin-left:auto;font-variant-numeric:tabular-nums}.s-wall-rail-gauge--over .s-wall-rail-gauge-pct{color:var(--accent)}.s-wall-rail-gauge-bar{position:relative;height:3px;margin-top:4px;border-radius:2px;background:color-mix(in srgb,var(--border) 70%,transparent);overflow:hidden}.s-wall-rail-gauge-fill{display:block;height:100%;background:color-mix(in srgb,var(--muted) 70%,transparent)}.s-wall-rail-gauge--over .s-wall-rail-gauge-fill{background:var(--accent)}.s-wall-rail-facts{margin:0;display:grid;gap:2px}.s-wall-rail-fact{display:grid;grid-template-columns:62px minmax(0,1fr);gap:var(--space-xs);align-items:baseline}.s-wall-rail-fact-label{color:var(--dim);letter-spacing:var(--tracking-md)}.s-wall-rail-fact-value{margin:0;min-width:0;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-wall-rail-files{display:grid;gap:1px}.s-wall-rail-frow{display:flex;align-items:baseline;gap:var(--space-xs);width:100%;padding:1px 2px;border:0;border-radius:var(--radius-xs);background:none;color:inherit;font:inherit;letter-spacing:inherit;text-align:start;cursor:pointer}.s-wall-rail-frow:hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}.s-wall-rail-fstate{flex:none;width:8px;color:var(--dim)}.s-wall-rail-fstate--created,.s-wall-rail-fstate--modified{color:var(--accent)}.s-wall-rail-fpath{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-wall-rail-fdir{color:var(--dim)}.s-wall-rail-fbase{color:var(--ink)}.s-wall-rail-cmds{display:grid;gap:1px}.s-wall-rail-crow{display:flex;align-items:baseline;gap:var(--space-xs);padding:1px 2px;overflow:hidden}.s-wall-rail-cmark{flex:none;color:var(--dim)}.s-wall-rail-ctext{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-wall-rail-bash-dir{color:var(--dim)}.s-wall-rail-bash-prog{color:var(--ink)}.s-wall-rail-bash-arg{color:var(--muted)}.s-wall-rail-bash-dim,.s-wall-rail-bash-flag{color:var(--dim)}.s-wall-rail-cresult{flex:none;margin-left:auto;color:var(--dim);font-variant-numeric:tabular-nums}.s-wall-rail-foot{flex:none;display:flex;align-items:center;gap:var(--space-sm);min-height:28px;padding:0 var(--space-sm);border-top:1px solid var(--border)}.s-wall-rail-act{padding:0;border:0;background:none;color:var(--muted);font:inherit;letter-spacing:inherit;cursor:pointer}.s-wall-rail-act:hover{color:var(--accent);text-decoration:underline}.s-wall-rail-keys{margin-left:auto;color:var(--dim);white-space:nowrap}.s-wall-rail-keys kbd{font:inherit;color:var(--muted)}.s-wall-empty{grid-column:1 / -1;grid-row:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm)}.s-wall-empty-title{font-family:var(--font-accent-title);font-size:var(--text-4xl);color:var(--ink);letter-spacing:-.01em}.s-wall-empty-sub{font-size:var(--text-sm);color:var(--dim);letter-spacing:var(--tracking-sm)}.s-mission-overlay{position:absolute;inset:0;z-index:10;background:var(--scrim-soft);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);display:flex;align-items:stretch;justify-content:center;padding:var(--space-4xl);animation:s-mission-overlay-in .14s ease-out}@keyframes s-mission-overlay-in{0%{opacity:0}to{opacity:1}}.s-mission-overlay-dialog{display:flex;flex-direction:column;flex:1 1 auto;max-width:1180px;min-height:0;background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:var(--radius-md);box-shadow:0 24px 80px -12px #000000b8,0 0 0 1px #ffffff0a;outline:none;overflow:hidden}.s-mission-overlay-header{display:flex;align-items:center;gap:var(--space-xl);padding:var(--space-lg) var(--space-xl) var(--space-md) var(--space-3xl);border-bottom:1px solid color-mix(in srgb,var(--ink) 9%,transparent);flex:none}.s-mission-overlay-identity{flex:1 1 auto;min-width:0}.s-mission-overlay-handle{color:var(--dim);font-size:var(--text-sm)}.s-mission-overlay-close{flex:0 0 auto;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);color:var(--dim);font-family:var(--font-mono);font-size:var(--text-sm);cursor:pointer;border-radius:var(--radius-xs);transition:color .1s,background .1s,border-color .1s}.s-mission-overlay-close:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent)}.s-mission-overlay-tabs{display:flex;align-items:stretch;justify-content:space-between;gap:var(--space-lg);padding:0 var(--space-lg) 0 var(--space-3xl);border-bottom:1px solid color-mix(in srgb,var(--ink) 9%,transparent);flex:none}.s-mission-overlay-tabs-group{display:flex}.s-mission-overlay-tabs-action{display:flex;align-items:center}.s-mission-overlay-jump{padding:var(--space-2xs) var(--space-md);background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 32%,transparent);color:var(--accent);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-md);cursor:pointer;border-radius:var(--radius-xs);transition:background .12s,border-color .12s,color .12s}.s-mission-overlay-jump:hover{background:var(--accent);color:var(--bg)}.s-mission-overlay-jump:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.s-mission-overlay-tab{padding:var(--space-md) var(--space-xl);background:transparent;border:0;border-bottom:2px solid transparent;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;letter-spacing:var(--tracking-lg);text-transform:uppercase;cursor:pointer;transition:color .12s,border-color .12s;margin-bottom:-1px}.s-mission-overlay-tab:hover{color:var(--ink)}.s-mission-overlay-tab--active{color:var(--ink);border-bottom-color:var(--accent)}.s-mission-overlay-tab:focus-visible{outline:1px solid var(--accent);outline-offset:-2px}.s-focus-tab{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;padding:var(--space-3xl) var(--space-3xl);gap:var(--space-2xl)}.s-focus-tab--activity{padding:0;overflow:hidden}.s-focus-tab--activity-preview{gap:var(--space-xl)}.s-focus-stats{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:color-mix(in srgb,var(--ink) 10%,transparent);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);border-radius:var(--radius-xs);overflow:hidden;flex:0 0 auto}.s-focus-stat{display:flex;flex-direction:column;gap:var(--space-3xs);padding:var(--space-sm) var(--space-lg);background:color-mix(in srgb,var(--surface) 90%,transparent);min-width:0}.s-focus-stat-label{margin:0;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-xl);text-transform:uppercase;color:var(--dim)}.s-focus-stat-value{margin:0;font-family:var(--font-mono);font-size:var(--text-lg);font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}.s-focus-activity-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow-y:auto;border:1px solid color-mix(in srgb,var(--ink) 8%,transparent);border-radius:var(--radius-xs);background:color-mix(in srgb,var(--bg) 50%,transparent)}.s-focus-activity-empty{flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:var(--space-4xl);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--dim);border:1px dashed color-mix(in srgb,var(--ink) 12%,transparent);border-radius:var(--radius-xs)}.s-focus-activity-empty--rich{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:var(--space-xl);padding:var(--space-2xl);background:color-mix(in srgb,var(--surface) 60%,transparent);border:1px solid color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink)}.s-focus-activity-empty-head{display:flex;flex-direction:column;gap:var(--space-2xs)}.s-focus-activity-empty-eyebrow{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-xl);text-transform:uppercase;color:var(--dim)}.s-focus-activity-empty-title{font-family:var(--font-mono);font-size:var(--text-xl);font-weight:500;color:var(--ink);letter-spacing:var(--tracking-sm)}.s-focus-activity-empty-facts{margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:color-mix(in srgb,var(--ink) 6%,transparent);border:1px solid color-mix(in srgb,var(--ink) 7%,transparent)}.s-focus-activity-empty-fact{display:flex;flex-direction:column;gap:var(--space-3xs);padding:var(--space-sm) var(--space-md);background:color-mix(in srgb,var(--surface) 92%,transparent);min-width:0}.s-focus-activity-empty-fact dt{margin:0;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-xl);text-transform:uppercase;color:var(--dim)}.s-focus-activity-empty-fact dd{margin:0;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-focus-activity-empty-actions{display:flex;gap:var(--space-sm);margin-top:auto}.s-focus-activity-empty-btn{flex:1 1 auto;appearance:none;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);background:transparent;color:var(--ink);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-md);text-transform:uppercase;padding:var(--space-sm) var(--space-md);cursor:pointer;border-radius:var(--radius-xs);transition:background .12s ease,border-color .12s ease}.s-focus-activity-empty-btn:hover{background:color-mix(in srgb,var(--ink) 5%,transparent);border-color:color-mix(in srgb,var(--ink) 22%,transparent)}.s-focus-activity-empty-btn--primary{border-color:color-mix(in srgb,var(--accent) 50%,transparent);color:var(--accent)}.s-focus-activity-empty-btn--primary:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:var(--accent)}.s-focus-activity-row{display:grid;grid-template-columns:36px 14px 44px 1fr;align-items:baseline;gap:var(--space-sm);padding:var(--space-xs) var(--space-lg);border-bottom:1px solid color-mix(in srgb,var(--ink) 5%,transparent);min-width:0}.s-focus-activity-row:last-child{border-bottom:0}.s-focus-activity-time{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--dim);font-variant-numeric:tabular-nums;text-align:right;letter-spacing:var(--tracking-md)}.s-focus-activity-glyph{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--dim);text-align:center;line-height:var(--leading-none)}.s-focus-activity-row--tool .s-focus-activity-glyph{color:var(--accent)}.s-focus-activity-row--think .s-focus-activity-glyph{color:var(--muted, var(--dim))}.s-focus-activity-row--ask .s-focus-activity-glyph{color:var(--amber)}.s-focus-activity-row--message .s-focus-activity-glyph{color:var(--ink)}.s-focus-activity-row--boot .s-focus-activity-glyph{color:var(--green)}.s-focus-activity-kind{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-lg);text-transform:uppercase;color:var(--dim)}.s-focus-activity-text{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.s-focus-spec{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-5xl);row-gap:var(--space-lg);flex:0 0 auto}.s-focus-spec-row{display:grid;grid-template-columns:64px 1fr;column-gap:var(--space-lg);align-items:baseline;margin:0;min-width:0}.s-focus-spec-label{margin:0;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-xl);text-transform:uppercase;color:var(--dim);white-space:nowrap}.s-focus-spec-value{margin:0;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.s-focus-actions{display:flex;flex-direction:column;gap:var(--space-sm)}.s-focus-action{display:flex;flex-direction:column;gap:var(--space-2xs);padding:var(--space-lg) var(--space-xl);text-align:left;background:color-mix(in srgb,var(--surface) 60%,transparent);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);color:var(--ink);cursor:pointer;border-radius:var(--radius-sm);font-family:inherit;transition:background .12s,border-color .12s}.s-focus-action:hover{background:color-mix(in srgb,var(--accent) 6%,transparent);border-color:color-mix(in srgb,var(--accent) 32%,transparent)}.s-focus-action:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.s-focus-action-name{font-family:var(--font-mono);font-size:var(--text-md);font-weight:500;letter-spacing:var(--tracking-md);text-transform:uppercase;color:var(--ink)}.s-focus-action-desc{font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--muted)}.s-focus-compose{display:flex;flex-direction:column;gap:var(--space-md);flex:1 1 auto;min-height:0}.s-focus-compose-label{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-xl);text-transform:uppercase;color:var(--dim)}.s-focus-compose-target{color:var(--accent);text-transform:none;letter-spacing:var(--tracking-xs);font-size:var(--text-sm);margin-left:var(--space-xs)}.s-focus-compose-input{flex:1 1 auto;min-height:120px;padding:var(--space-md) var(--space-lg);background:color-mix(in srgb,var(--bg) 60%,transparent);border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:var(--radius-sm);color:var(--ink);font-family:var(--font-mono);font-size:var(--text-md);line-height:var(--leading-normal);resize:none;outline:none;transition:border-color .12s}.s-focus-compose-input::placeholder{color:var(--dim)}.s-focus-compose-input:focus{border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.s-focus-compose-input:disabled{opacity:.6}.s-focus-compose-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg)}.s-focus-compose-hint{flex:1 1 auto;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--dim);line-height:var(--leading-snug);min-width:0}.s-focus-compose-hint strong{color:var(--ink);font-weight:500}.s-focus-compose-error{color:var(--red)}.s-focus-compose-ok{color:var(--green);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-md)}.s-focus-compose-link{background:transparent;border:0;padding:0;margin-left:var(--space-sm);color:var(--accent);font-family:inherit;font-size:inherit;letter-spacing:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.s-focus-compose-link:hover{color:var(--ink)}.s-focus-compose-actions{display:flex;gap:var(--space-sm);flex:0 0 auto}.s-mission-overlay-name{font-size:var(--text-xl);font-weight:500}.s-mission-overlay-meta{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--dim);letter-spacing:var(--tracking-sm)}.s-mission-overlay-actions{margin-left:auto;display:flex;gap:var(--space-xs)}.s-mission-overlay-body{flex:1;min-height:0;overflow:hidden}
|
package/dist/client/assets/{mission-control-store-xQHVQdm8.js → mission-control-store-C6w5iVfg.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as o}from"./index-
|
|
1
|
+
import{r as o}from"./index-o4FKpU7Z.js";const c=[{label:"5m",value:5*6e4},{label:"30m",value:30*6e4},{label:"4h",value:240*6e4},{label:"24h",value:1440*6e4}];let t={activityFilter:"active",sourceFilter:"all",activityWindowMs:c[3].value,groupMode:"activity",query:"",focusedId:null,revealRequest:null,visibleAgents:[],selectedIds:[]};const u=new Set;let a=0;function s(){for(const e of u)e()}function I(e){t.activityFilter!==e&&(t={...t,activityFilter:e},s())}function g(e){t.sourceFilter!==e&&(t={...t,sourceFilter:e},s())}function y(e){t.activityWindowMs!==e&&(t={...t,activityWindowMs:e},s())}function A(e){t.groupMode!==e&&(t={...t,groupMode:e},s())}function S(e){t.query!==e&&(t={...t,query:e},s())}function h(e){t.focusedId!==e&&(t={...t,focusedId:e},s())}function b(e){a+=1,t={...t,revealRequest:{id:e,serial:a}},s()}function p(e){t.revealRequest?.serial===e&&(t={...t,revealRequest:null},s())}function f(e,n){if(e===n)return!0;if(e.length!==n.length)return!1;for(let i=0;i<e.length;i++){const r=e[i],l=n[i];if(r.id!==l.id||r.state!==l.state||r.updatedAt!==l.updatedAt||r.activity!==l.activity||r.lastActiveAt!==l.lastActiveAt)return!1}return!0}function q(e){f(t.visibleAgents,e)||(t={...t,visibleAgents:e},s())}function _(e){const n=t.selectedIds.includes(e);t={...t,selectedIds:n?t.selectedIds.filter(i=>i!==e):[...t.selectedIds,e]},s()}function R(){t.selectedIds.length!==0&&(t={...t,selectedIds:[]},s())}function d(e){return u.add(e),()=>{u.delete(e)}}function v(){return t}function F(){return o.useSyncExternalStore(d,v)}export{c as M,S as a,I as b,y as c,A as d,R as e,q as f,p as g,h,b as r,g as s,_ as t,F as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{m as L}from"./mission-control-model-C0fByIjm.js";const p=16,g=300,M=180,v=8,W=400,m=1.55,w={w:1440,h:860};function b(n,e,i,s,c,l){let a=null;for(let t=1;t<=n;t+=1){const r=Math.ceil(n/t),o=(e-s*(t-1))/t,u=(i-s*(r-1))/r;if(o<c||u<l)continue;const f=t*r-n,h=Math.min(o,u*m)*Math.min(o/m,u);(!a||f<a.waste||f===a.waste&&h>a.fit)&&(a={cols:t,rows:r,paneW:o,paneH:u,waste:f,fit:h})}return a}function I(n,e,i={}){const s=i.max??p,c=i.minW??g,l=i.minH??M,a=i.gap??v,t=e.w>0?e.w:w.w,r=e.h>0?e.h:w.h,o=Math.max(0,Math.floor(n));if(o===0)return{cols:0,rows:0,shown:0,hidden:0,paneW:0,paneH:0};for(let u=Math.min(o,s);u>=1;u-=1){const f=b(u,t,r,a,c,l);if(f)return{cols:f.cols,rows:f.rows,shown:u,hidden:o-u,paneW:f.paneW,paneH:f.paneH}}return{cols:1,rows:1,shown:1,hidden:o-1,paneW:t,paneH:r}}function j(n,e,i,s={}){const c=I(e,i,s);return n&&n.cols===c.cols&&n.rows===c.rows&&n.shown===c.shown&&n.hidden===c.hidden?n:c}function P(n){const e=n.sessionId?.trim();return e||null}function E(n){const e=n.bufferPerLog??W,i=new Map;for(const t of n.agents)for(const r of t.sessionIds){const o=r.trim();o&&i.set(o,t)}const s=new Map,c=(t,r)=>{const o=s.get(t);if(o)return o;const u={id:t,sessionId:t,lines:[],lastActiveAt:0,live:!1,agent:i.get(t)??null,...r};return s.set(t,u),u};for(const t of n.transcripts){const r=P(t);if(!r)continue;const o=c(r,{source:t.source,attribution:t.harness,project:t.project,cwd:t.cwd,logPath:t.transcriptPath});o.lastActiveAt=Math.max(o.lastActiveAt,t.mtimeMs??0)}const l=new Set;for(const t of n.events){const r=t.sessionId?.trim();if(!r)continue;if(t.id){if(l.has(t.id))continue;l.add(t.id)}const o=c(r,{source:t.source,attribution:t.harness,project:t.project,cwd:t.cwd,logPath:null});o.source=t.source,o.attribution=t.harness,o.project=t.project||o.project,o.cwd=t.cwd||o.cwd,o.lines.push(t),o.lastActiveAt=Math.max(o.lastActiveAt,t.ts)}const a=[];for(const t of s.values())t.lines.length>e&&(t.lines=t.lines.slice(t.lines.length-e)),t.live=t.lastActiveAt>0&&n.now-t.lastActiveAt<=n.liveWindowMs,a.push(t);return a}function _(n,e){const i=e.trim().toLowerCase();return i?[n.agent?.name,n.agent?.handle,n.agent?.branch,n.project,n.source,n.sessionId,n.cwd,n.logPath].filter(s=>!!s).some(s=>s.toLowerCase().includes(i)):!0}function d(n){return n.attribution==="scout-managed"||n.agent!==null}function F(n,e){const i=e.requireOutput??!0;return n.filter(s=>{if(i&&s.lines.length===0||e.sourceFilter==="scout"&&!d(s)||e.sourceFilter==="native"&&d(s)||e.activityFilter==="live"&&!s.live)return!1;if(e.activityFilter==="active"){const c=e.now-s.lastActiveAt;if(!(s.lastActiveAt>0&&c<=e.activeWindowMs))return!1}return _(s,e.query)})}function A(n,e){return e==="activity"?"":L({activityLabel:"",workspace:n.project,harness:n.source,state:n.agent?.state??null,source:d(n)?"scout":"native"},e)}function H(n,e){const i=new Map;for(const s of n){const c=A(s,e);i.set(c,Math.max(i.get(c)??0,s.lastActiveAt))}return[...n].sort((s,c)=>{const l=A(s,e),a=A(c,e);if(l!==a){const t=(i.get(a)??0)-(i.get(l)??0);return t!==0?t:l.localeCompare(a)}return s.lastActiveAt!==c.lastActiveAt?c.lastActiveAt-s.lastActiveAt:s.sessionId.localeCompare(c.sessionId)})}function y(n){return n.sessionId.slice(0,13)}function N(n){const e=n.agent?.handle?.trim();if(e)return`@${e}`;const i=n.agent?.name?.trim();return i||`${n.source}:${y(n)}`}function S(n){const e=n.logPath?.trim();return e?e.split("/").pop()||e:`${n.sessionId.slice(0,12)}.log`}export{v as W,S as a,E as b,I as c,y as d,F as f,N as m,j as n,H as s};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r}from"./index-
|
|
1
|
+
import{r}from"./index-o4FKpU7Z.js";import{a as L}from"./api-h5zurxmi.js";import{a as S}from"./colors-BtO5_zlx.js";import{i as y,o as E}from"./surface-activity-B1rgWB1i.js";const _=1e4,b=6e4;function O(t,s){const[p,i]=r.useState({}),c=s?.enabled??!0,o=r.useRef(!0),f=r.useRef(!1),l=r.useRef(!1),u=s?.pauseWhenHidden??!1,d=t.map(e=>e.id.trim()).filter(e=>e.length>0).join(","),I=t.some(e=>S(e.state))?s?.activeIntervalMs??_:s?.idleIntervalMs??b,n=r.useCallback(async()=>{if(c){if(t.length===0){i({});return}if(!(u&&!y())){if(f.current){l.current=!0;return}f.current=!0;try{const e=d?`?ids=${encodeURIComponent(d)}`:"",v=await L(`/api/observe/agents${e}`);if(!o.current)return;i(h=>{const m={};for(const a of t)m[a.id]=h[a.id];for(const a of v){const{agentId:R,...A}=a;m[R]=A}return m})}finally{f.current=!1,l.current&&(l.current=!1,n())}}}},[d,t,c,u]);return r.useEffect(()=>{if(o.current=!0,!c||t.length===0)return i({}),()=>{o.current=!1};n();const e=setInterval(()=>{n()},I),v=u?E(()=>{n()}):null;return()=>{o.current=!1,clearInterval(e),v?.()}},[t.length,c,n,u,I]),p}export{O as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i,s as u}from"./synthetic-agent-routing-aduMYO7P.js";import{o as f}from"./openContent-C6XO6kr5.js";function m(r,t,e={}){if(i(t.id)){const s=u(t);s&&f(r,{view:"sessions",sessionId:s},{returnTo:e.returnTo});return}const n=e.tab??(e.observe?"observe":void 0),o={view:"agents-v2",agentId:t.id,...n?{tab:n}:{}};if(e.returnTo){r(o,{returnTo:e.returnTo});return}r(o)}export{m as o};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as u}from"./index-
|
|
1
|
+
import{r as u}from"./index-o4FKpU7Z.js";let e={hover:null,content:null};const n=new Set;function s(){for(const t of n)t()}function i(t){return n.add(t),()=>{n.delete(t)}}function r(){return e}function c(){return u.useSyncExternalStore(i,r,r)}function o(t){e.hover!==t&&(e={...e,hover:t},s())}function f(t){return!t||!t.route&&!t.label?{onPointerEnter:void 0,onPointerLeave:void 0}:{onPointerEnter:()=>o(t),onPointerLeave:()=>{e.hover===t&&o(null)}}}export{f as s,c as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e}from"./createLucideIcon-
|
|
1
|
+
import{c as e}from"./createLucideIcon-Bt67PWH-.js";const o=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],c=e("plus",o);export{c as P};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as u,j as s}from"./index-o4FKpU7Z.js";import{A as Z}from"./AgentAvatar-DMov24_o.js";import{a as B}from"./api-h5zurxmi.js";import{d as _,c as rs}from"./context-budget-DX_fwUs3.js";import{e as q}from"./NewChatComposer-S08F6_La.js";import{b as Q,r as ss,s as es,a as ts}from"./session-catalog-_QfQ7fhZ.js";import{u as X}from"./sse-CL6gctHY.js";import{t as K}from"./time-Dhsh_2EG.js";import{B as ls}from"./BackToPicker-BXp5E2ck.js";import{o as F}from"./openContent-C6XO6kr5.js";import{u as G}from"./Provider-DKZWuzSR.js";import{ConversationScreen as cs}from"./ConversationScreen-oZSitVtX.js";import{S as ds}from"./SessionObserve-DaUrJCMq.js";import{H as ns}from"./HarnessMark-MztYnrGK.js";/* empty css */import{AgentDefinitionsWorkspace as ms}from"./AgentDefinitionsWorkspace-D4MbSMXp.js";import{AgentEssentialsGlyph as ps}from"./agent-essentials-yb4wIJlX.js";import{b as us,p as z,n as as}from"./model-Co0zkMIc.js";import"./SpriteAvatar-DQ3PTb8L.js";import"./agent-identity-BxCsXnDp.js";import"./colors-BtO5_zlx.js";import"./runtime-picker-eDEvx2Mz.js";import"./scout-voice-B7kXlkcl.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-4LDsy4Ke.js";import"./createLucideIcon-Bt67PWH-.js";import"./MessageComposerSuggestions-Dfc3PH2y.js";import"./index-BMwKgdz_.js";import"./conversation-model-CHwHZNw-.js";import"./NewChatOrigin-BEz6jyqf.js";import"./keyboard-nav-Chf51dns.js";import"./x-ynOfVadO.js";import"./chevron-down-NAhBUkFd.js";import"./search-7_n7CxWl.js";import"./file-text-iF0hyVyU.js";import"./terminal-relay-CjkI5aUy.js";import"./router-C65cZYPn.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-AmSgHklm.js";import"./index-BWHgHrtv.js";import"./provider-BvAxRQfE.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-CxkmFQcN.js";import"./DocumentFocusViewer-DRKjNG9s.js";import"./TextDocumentSurface-Bc-kHPgG.js";/* empty css */import"./chevron-right-C10o7t_X.js";import"./code-xml-CLn3TDWF.js";import"./arrow-left-BOht-YQu.js";import"./chunk-HRAB3GC3-DF8R9rPv.js";import"./ConversationComposer-CWohCCmn.js";import"./message-markup-BcY1lShv.js";import"./mentions-CvDaviLJ.js";import"./AgentDetailCard-Biq8b2gv.js";import"./AgentLiveActions-0iy8QZ1T.js";import"./terminal-takeover-7AvNpnkC.js";import"./eye-B3lBIwJZ.js";import"./terminal-By1Lw2i2.js";import"./message-visibility-kJM8XcSG.js";import"./sessionRead-CvFz2RHv.js";import"./clipboard-e3fSpeo7.js";import"./types-B0PlfpKc.js";/* empty css */import"./ConversationHeader-BxTzXl8e.js";import"./ConversationFeedRows-IWh0JSIL.js";import"./ConversationPanels-D9UCwNkS.js";import"./use-reduced-motion-CqXpVXv-.js";import"./activity-BvGruxWG.js";import"./message-circle-BM3XgevU.js";import"./tail-display-BRcJltQa.js";import"./lane-edit-display-C_Aujldz.js";import"./tail-events-NLIWLq27.js";import"./ConversationStatus-B6pAbo2w.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-CcEiQC6B.js";import"./lane-observe-BA3g9aVd.js";import"./lane-ask-display-B6iCAVcd.js";import"./ObservedTopologyPanel-ByW7Ar7p.js";import"./ObserveTextFlow-_ApDwRCO.js";import"./SessionObserveEvidence-ClUW8jpV.js";import"./wrench-M4G7WtYB.js";import"./external-link-Dem738OJ.js";import"./text-DsBWV_4k.js";import"./project-overview-helpers-BQTc_Ous.js";import"./FileViewerPane-BM4AD_bo.js";/* empty css */function hs(e){if(e===null)return"age unknown";const t=Math.max(0,Math.round(e/6e4));if(t<60)return`${t}m old`;const o=Math.floor(t/60),c=t%60;return c>0?`${o}h ${c}m old`:`${o}h old`}function Y(e){return`${e.turnCount} turn${e.turnCount===1?"":"s"}`}function xs(e){return e?e.startsWith("/Users/")?"~/"+e.split("/").slice(3).join("/"):e:null}function is(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu.test(e)?e:e.length>16?`${e.slice(0,8)}…${e.slice(-4)}`:e}function vs(e){return e.replace(/^relay-/u,"").replace(/-dev-mac-mini-local-(claude|codex)$/u,"")}function fs(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${Math.round(e/1e3)}k`:`${e}`}function U(e){return typeof e!="number"||!Number.isFinite(e)?"-":Math.abs(e)<1e3?`${Math.round(e)}`:Math.abs(e)<1e6?`${(e/1e3).toFixed(e%1e3===0?0:1)}k`:`${(e/1e6).toFixed(1)}m`}function js(e){if(!Number.isFinite(e)||e<=0)return"0s";if(e<60)return`${Math.round(e)}s`;const t=Math.round(e),o=Math.floor(t/3600),c=Math.floor(t%3600/60),i=t%60;return o>0?`${o}h ${c}m`:c>=10||i===0?`${c}m`:`${c}m ${i}s`}function Ns(e,t=32){if(e.length===0)return[];const o=e[e.length-1].t||1,c=new Array(t).fill(0);for(const i of e){const m=Math.min(t-1,Math.max(0,Math.floor(i.t/o*t)));c[m]+=1}return c}function bs(e){return e.kind!=="boot"&&e.kind!=="system"}function ws({buckets:e,emptyTitle:t,emptyDetail:o}){if(e.length===0)return s.jsxs("div",{className:"s-sum-observed-empty",children:[s.jsx("span",{children:t}),s.jsx("strong",{children:o})]});const c=Math.max(...e,1),i=240,m=20,r=1,p=(i-r*(e.length-1))/e.length;return s.jsxs("div",{className:"s-sum-spark",children:[s.jsx("svg",{viewBox:`0 0 ${i} ${m}`,preserveAspectRatio:"none",className:"s-sum-spark-svg","aria-hidden":!0,children:e.map((l,h)=>{const x=Math.max(1,l/c*m);return s.jsx("rect",{x:h*(p+r),y:m-x,width:p,height:x,fill:"var(--accent)",opacity:.22+.62*(l/c)},h)})}),s.jsxs("div",{className:"s-sum-spark-axis",children:[s.jsx("span",{children:"session start"}),s.jsx("span",{children:"now"})]})]})}function ys({agentId:e,session:t,active:o,onPrimary:c,primaryLabel:i,primaryTitle:m}){const[r,p]=u.useState(null),[l,h]=u.useState(null),x=u.useCallback(async()=>{const g=new URLSearchParams({sessionId:t.id}),[P,J]=await Promise.all([B(`/api/agents/${encodeURIComponent(e)}/observe?${g}`).catch(()=>null),B(`/api/agents/${encodeURIComponent(e)}/session/context`).catch(()=>null)]);p(P),h(J)},[e,t.id]);u.useEffect(()=>{x()},[x]),X(()=>{x()});const N=r?.data,v=(N?.events??[]).filter(bs),w=v.filter(g=>g.kind==="tool"),S=w.filter(g=>g.tool==="edit"||g.tool==="write"),y=w.filter(g=>g.tool==="read"),f=N?.files.length??0,b=N?.metadata?.session?.turnCount,$=l?.activeSessionId===t.id?l.turnCount:void 0,C=v.length>0||f>0,d=r?r.source==="unavailable"?"unavailable":C?"observed":"waiting":"loading",R=d==="loading"?"Loading trace":d==="unavailable"?"No trace source":"Session created",L=d==="loading"?"checking for terminal or transcript activity":d==="unavailable"?"this session has no observable transcript attached":"no agent work has been recorded yet",H=[{k:"turns",v:U(b??$)},{k:"tools",v:U(w.length)},{k:"edits",v:U(S.length)},{k:"reads",v:U(y.length)},{k:"files",v:U(f)},{k:"window",v:js(v.length>0?v[v.length-1].t:0)}],D=N?.metadata?.usage,a=_(D,{model:N?.metadata?.session?.model??t.model,adapterType:t.harness}),E=a?`${a.usedLabel} / ${a.budgetLabel} ctx`:l?Y(l):"context",T=a?`${a.pct}%${a.overLimit?" over":""}`:"tokens unavailable",O=l&&l.sessionAgeMs!==null?hs(l.sessionAgeMs):null,A=a&&l?`${Y(l)}${O?` · ${O}`:""}`:O,n=r?.sessionId?.trim()||r?.data.metadata?.session?.externalSessionId?.trim()||r?.data.metadata?.session?.threadId?.trim()||null,j=t.harnessSessionId?.trim()||t.threadId?.trim()||t.externalSessionId?.trim()||(o?n:null)||null,k=t.runtimeSessionId?.trim()||t.surfaceSessionId?.trim()||(j&&j!==t.id?t.id:null),M=j??t.id,W=j&&t.harness==="codex"?"codex session id":j&&t.harness?`${t.harness} session id`:t.id.startsWith("relay-")?"runtime id":"session id",V=t.cwd?z(t.cwd):"workspace";return s.jsxs("div",{className:"s-sum",children:[s.jsxs("div",{className:"s-sum-session-state",children:[s.jsx("span",{className:`s-sum-session-dot${o?" s-sum-session-dot--active":""}`}),s.jsxs("span",{className:"s-sum-session-copy",children:[s.jsx("strong",{children:o?"Session attached":"Previous session"}),s.jsxs("span",{className:"s-sum-session-ref",title:M,children:[s.jsx("span",{children:W}),s.jsx("code",{children:M})]}),k&&k!==M&&s.jsxs("span",{className:"s-sum-session-profile",title:k,children:["runtime ",k]}),s.jsx("small",{title:t.cwd||void 0,children:V})]}),d!=="observed"?s.jsx("span",{className:`s-sum-trace-pill s-sum-trace-pill--${d}`,children:d==="waiting"?"waiting for work":d==="loading"?"checking trace":"no trace"}):null]}),s.jsxs("div",{className:"s-sum-cols",children:[s.jsxs("div",{className:"s-sum-col s-sum-col--activity",children:[s.jsx("div",{className:"s-sum-label",children:"Observed work"}),s.jsx(ws,{buckets:Ns(v),emptyTitle:R,emptyDetail:L})]}),s.jsxs("div",{className:"s-sum-col s-sum-col--context",children:[s.jsx("div",{className:"s-sum-label",children:"Context"}),s.jsxs("div",{className:"s-sum-ctx-head",children:[s.jsx("span",{className:"s-sum-ctx-size",children:E}),s.jsx("span",{className:"s-sum-ctx-pct",children:T})]}),a?s.jsx("div",{className:"s-sum-gauge","aria-label":`Context ${a.pct}%`,children:s.jsx("div",{className:"s-sum-gauge-fill",style:{width:`${rs(a)}%`}})}):s.jsx("div",{className:"s-sum-ctx-unavailable",children:"No token-window usage yet"}),A&&s.jsx("div",{className:"s-sum-ctx-runway",children:A})]})]}),s.jsxs("div",{className:"s-sum-foot",children:[C?s.jsx("div",{className:"s-sum-stats",children:H.map((g,P)=>s.jsxs("span",{className:"s-sum-stat",children:[P>0&&s.jsx("span",{className:"s-sum-stat-sep",children:"·"}),s.jsx("span",{className:"s-sum-stat-v",children:g.v}),s.jsx("span",{className:"s-sum-stat-k",children:g.k})]},g.k))}):s.jsx("div",{className:"s-sum-status-note",children:o?"The session exists, but no turn/tool/file activity has reached Scout yet.":"This prior session has no observable work trace."}),s.jsx("button",{type:"button",className:"s-sess-explore-primary",onClick:c,title:m,children:i})]})]})}function lt({agent:e,name:t,sessionCatalog:o,conversationId:c,navigate:i,route:m,homeView:r="agents-v2"}){const{focusedSession:p,focusSession:l}=G(),h=ss(e,o),x=u.useMemo(()=>es(o?.sessions??[],h),[o?.sessions,h]),N=x.find(n=>n.id===h)??null,I=N?.model??null,v=N?.reasoningEffort??e.reasoningEffort??null,S=[!!(I&&I!==e.model)&&I?`Session model: ${I}`:null,v?`Effort: ${v}`:null].filter(Boolean).join(" · ")||null,[y,f]=u.useState("idle"),[b,$]=u.useState(null),[C,d]=u.useState("idle"),[R,L]=u.useState(null);u.useEffect(()=>{f("idle"),$(null),d("idle"),L(null)},[e.id]);const H=m.view==="agents-v2"&&m.agentId===e.id?m.sessionId:null,D=ts(e.id,p,h,x,H),a=Q(H,x);u.useEffect(()=>{a&&(p?.agentId===e.id&&p.sessionId===a||l(e.id,a))},[e.id,p?.agentId,p?.sessionId,l,a]);const E=async()=>{if(C!=="opening"){d("opening"),L(null);try{const n=await q({...e,conversationId:c});i({view:r,agentId:e.id,conversationId:n,tab:"message"})}catch(n){L(n instanceof Error?n.message:"Could not open chat.")}finally{d("idle")}}},T=async()=>{if(y!=="starting"){f("starting"),$(null);try{const n=await B("/api/sessions",{method:"POST",body:JSON.stringify(as(e))}),j=n.sessionId?.trim();if(j){F(i,{view:"sessions",sessionId:j},{returnTo:m});return}const k=n.conversationId?.trim();if(!k)throw new Error("Session started, but no conversation was returned.");i({view:r,agentId:n.agentId?.trim()||e.id,conversationId:k,tab:"message"})}catch(n){$(n instanceof Error?n.message:"Could not start a new session.")}finally{f("idle")}}},O=n=>F(i,{view:"sessions",sessionId:n.id},{returnTo:m}),A=n=>{l(e.id,n)};return s.jsxs("div",{className:"s-sess-root",children:[s.jsxs("header",{className:"s-sess-head",children:[s.jsxs("div",{className:"s-sess-id",children:[s.jsx("span",{className:"s-sess-avatar",children:s.jsx(Z,{agent:e,size:46,tile:!0,presence:!1})}),s.jsxs("div",{className:"s-sess-id-copy",children:[s.jsxs("div",{className:"s-sess-name-row",children:[s.jsx("span",{className:"s-sess-name",children:t}),e.handle&&s.jsxs("span",{className:"s-sess-handle",children:["@",e.handle.replace(/^@+/,"")]})]}),s.jsx(ps,{agent:e,chipTitle:S})]})]}),s.jsxs("div",{className:"s-sess-head-actions",children:[s.jsx("button",{type:"button",className:"s-sess-action",onClick:()=>i({view:r,agentId:e.id,tab:"config"}),children:"Edit config"}),s.jsx("button",{type:"button",className:"s-sess-action s-sess-action--accent",disabled:y==="starting",onClick:T,children:y==="starting"?"Starting...":"+ New session"}),b&&s.jsx("div",{className:"s-sess-action-error",children:b}),R&&s.jsx("div",{className:"s-sess-action-error",children:R})]})]}),s.jsxs("section",{className:"s-sess-band",children:[s.jsxs("header",{className:"s-sess-band-head",children:[s.jsx("span",{className:"s-sess-band-label",children:"Recent sessions"}),x.length>0&&s.jsxs("span",{className:"s-sess-band-meta",children:[x.length," sessions"]})]}),s.jsx("div",{className:"s-sess-list",children:x.length===0?s.jsxs("div",{className:"s-sess-empty",children:["No sessions yet — start a new session for ",t,"."]}):x.map(n=>{const j=n.id===h,k=n.id===D,M=n.harness??e.harness??"session",W=n.model??e.model,V=W&&M&&W.startsWith(`${M}-`)?W.slice(M.length+1):W,g=[M,V,n.reasoningEffort].filter(os=>!!os).join(" · "),P=n.surfaceSessionId?`${n.transport??e.transport??"terminal"} surface ${vs(n.surfaceSessionId)}`:n.transport&&n.transport!==M?`${n.transport} surface`:null,J=j?"now":n.endedAt?`ended · ${K(n.endedAt)||"recent"}`:K(n.startedAt)||"recent";return s.jsxs("div",{className:`s-sess-item${k?" s-sess-item--selected":""}`,children:[s.jsxs("button",{type:"button",className:`s-sess-row${j?" s-sess-row--active":""}${k?" s-sess-row--selected":""}`,onClick:()=>A(n.id),"aria-expanded":k,children:[s.jsx("span",{className:"s-mod-dot s-sess-row-dot",style:{background:j?"var(--accent)":"var(--dim)",opacity:j?1:.55}}),s.jsxs("span",{className:"s-sess-row-main",children:[s.jsxs("span",{className:"s-sess-row-top",children:[s.jsx("span",{className:"s-sess-row-id",title:n.id,children:is(n.id)}),s.jsx("span",{className:"s-sess-row-tag",children:g})]}),s.jsxs("span",{className:"s-sess-row-sub",title:P??void 0,children:[n.cwd?z(n.cwd):"workspace",P?` · ${P}`:""]})]}),s.jsx("span",{className:`s-sess-row-when${j?" s-sess-row-when--active":""}`,children:J})]}),k&&s.jsx(ys,{agentId:e.id,session:n,active:j,onPrimary:()=>j?void E():O(n),primaryLabel:j?"Continue":"Resume",primaryTitle:j?"Send a message into this conversation":"Reopen this conversation and message it"})]},n.id)})})]})]})}function Ss(e){let t;if(e.kind==="tool"){const o=e.arg?.trim()||e.text?.trim()||"";t=`${e.tool??"tool"}${o?` ${o}`:""}`.trim()}else t=e.text?.trim()||e.kind;return t.length>160?`${t.slice(0,157)}…`:t}function ks({agent:e,session:t,active:o,onContinue:c,onTakeover:i,onOpen:m}){const[r,p]=u.useState(null),l=u.useCallback(async()=>{const d=await B(`/api/agents/${encodeURIComponent(e.id)}/observe`).catch(()=>null);p(d)},[e.id]);u.useEffect(()=>{p(null),l()},[l]),X(()=>{l()});const h=r?.data.events??[],x=e.branch||(t.cwd?z(t.cwd):"main"),N=e.model&&e.harness&&e.model.startsWith(`${e.harness}-`)?e.model.slice(e.harness.length+1):e.model??null,I=t.harness??e.harness??"session",v=(()=>{for(const d of h)if((d.kind==="message"||d.kind==="ask")&&d.text?.trim())return d.text.trim();return null})()??(t.cwd?z(t.cwd):null)??e.name,w=r?.data.metadata?.usage??null,S=w?.assistantMessages??null,y=_(w,{model:r?.data.metadata?.session?.model??N,adapterType:I}),f=y?Math.min(100,y.pct):null,b=o?"live":"idle",$=h.length,C=h.slice(-6).map(d=>({t:d.at??d.t?K(d.at??d.t):"",text:Ss(d),kind:d.kind}));return s.jsxs("section",{className:"ap-focus ap-profileCard","data-tone":b,"aria-label":v,children:[s.jsxs("header",{className:"ap-focusHead",children:[s.jsx("h1",{className:"ap-focusTitle",children:v}),s.jsx("span",{className:"ap-focusState","data-tone":b,children:o?s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"ap-dot","data-tone":"live","aria-hidden":!0})," working"]}):"idle"}),s.jsx("button",{type:"button",className:"ap-focusOpen",onClick:m,children:"Open ↗"})]}),s.jsxs("div",{className:"ap-focusAttr",children:[s.jsxs("span",{className:"ap-focusAttrText",children:[x,N?` · ${N}`:""]}),s.jsx("span",{className:"ap-rowMark","aria-hidden":!0,children:s.jsx(ns,{harness:I,size:11})})]}),s.jsxs("div",{className:"ap-decision",children:[s.jsx("button",{type:"button",className:"ap-decisionPrimary",onClick:c,children:o?"Continue":"Resume"}),s.jsx("button",{type:"button",className:"ap-decisionGhost",onClick:i,children:"Take over"}),s.jsxs("span",{className:"ap-decisionMeta",children:[f!=null?s.jsxs("span",{children:[s.jsx("span",{className:"ap-metaKey",children:"ctx"}),f,"%"]}):null,w&&(w.inputTokens||w.outputTokens)?s.jsxs("span",{children:[s.jsx("span",{className:"ap-metaKey",children:"tokens"}),fs(w.inputTokens??0)," in"]}):null,S!=null?s.jsxs("span",{children:[s.jsx("span",{className:"ap-metaKey",children:"turns"}),S]}):null]})]}),s.jsxs("div",{className:"ap-logHead",children:[s.jsx("span",{className:"ap-logHeadTitle",children:"Session log"}),s.jsx("span",{className:"ap-logHeadMeta",children:r===null?"loading…":`${r.source} · ${$} events`})]}),s.jsx("div",{className:"ap-log",children:r===null?s.jsx("div",{className:"ap-traceLoading",children:"Resolving the most recent session…"}):C.length===0?s.jsx("div",{className:"ap-traceLoading",children:"No activity captured for this session yet."}):C.map((d,R)=>s.jsxs("div",{className:"ap-logLine","data-kind":d.kind,children:[s.jsx("span",{className:"ap-logT",children:d.t}),s.jsx("span",{className:"ap-logText",children:d.text})]},R))})]})}function gs({agent:e,name:t,sessionCatalog:o,conversationId:c,navigate:i,route:m}){const{focusedSession:r,focusSession:p}=G(),l=ss(e,o),h=u.useMemo(()=>es(o?.sessions??[],l),[o?.sessions,l]),x=h.find(a=>a.id===l)??h[0]??null,N=m.view==="agents-v2"&&m.agentId===e.id?m.sessionId:null,I=ts(e.id,r,l,h,N),v=Q(N,h);u.useEffect(()=>{v&&(r?.agentId===e.id&&r.sessionId===v||p(e.id,v))},[e.id,r?.agentId,r?.sessionId,p,v]);const w=e.model&&e.harness&&e.model.startsWith(`${e.harness}-`)?e.model.slice(e.harness.length+1):e.model??null,S=e.cwd?xs(e.cwd)??e.cwd:null,y=e.homeNodeName?e.homeNodeName.replace(/\.local$/i,""):null,f=e.handle?.trim().replace(/^@+/,"")||null,b=f?`@${f}`:t,$=f&&t.toLowerCase()!==f.toLowerCase()?t:[e.project?`/${e.project}`:null,e.branch,w].filter(Boolean).join(" · "),C=a=>m.view==="agents-v2"?{...m,...a,view:"agents-v2"}:{view:"agents-v2",agentId:e.id,...a},d=async()=>{try{const a=await q({...e,conversationId:c});i(C({agentId:e.id,conversationId:a,tab:"message"}))}catch{}},R=async()=>{try{const a=await B("/api/sessions",{method:"POST",body:JSON.stringify(as(e))}),E=a.sessionId?.trim();if(E){F(i,{view:"sessions",sessionId:E},{returnTo:m});return}const T=a.conversationId?.trim();i(C({agentId:a.agentId?.trim()||e.id,...T?{conversationId:T}:{},tab:"message"}))}catch{}},L=a=>F(i,{view:"sessions",sessionId:a.id},{returnTo:m}),H=()=>F(i,{view:"terminal",agentId:e.id,mode:"takeover"},{returnTo:m}),D=a=>{p(e.id,a)};return s.jsxs("div",{className:"ap-profile",children:[s.jsxs("header",{className:"ap-profileHead",children:[s.jsx(Z,{agent:e,size:48,tile:!0,presence:!1}),s.jsxs("div",{className:"ap-profileIdent",children:[s.jsxs("div",{className:"ap-profileTop",children:[s.jsx("h1",{className:"ap-profileName",title:b,children:b}),e.harness?s.jsx("span",{className:"ap-rowMark","aria-hidden":!0,children:s.jsx(ns,{harness:e.harness,size:13})}):null]}),s.jsx("span",{className:"ap-profileSub",title:$,children:$||S||"—"}),f&&t.toLowerCase()!==f.toLowerCase()?s.jsx("span",{className:"ap-profileId",title:e.id,children:t}):null]}),s.jsxs("div",{className:"ap-headActions",children:[s.jsx("button",{type:"button",className:"ap-headGhost",onClick:()=>i(C({agentId:e.id,tab:"config"})),children:"Edit config"}),s.jsx("button",{type:"button",className:"ap-headCta",onClick:()=>{R()},children:"+ New session"})]})]}),s.jsxs("div",{className:"ap-profileBody",children:[s.jsxs("div",{className:"ap-profileMain",children:[s.jsx("div",{className:"ap-profileSection",children:"Current session"}),x?s.jsx(ks,{agent:e,session:x,active:x.id===l,onContinue:()=>{d()},onTakeover:H,onOpen:()=>{d()}}):s.jsxs("div",{className:"ap-traceLoading",children:["No active session for ",t,"."]}),s.jsxs("div",{className:"ap-profileSection",children:["Sessions ",s.jsx("span",{className:"ap-profileCount",children:h.length})]}),h.length===0?s.jsxs("div",{className:"ap-empty",children:["No sessions yet — start a new session for ",t,"."]}):s.jsxs("div",{className:"ap-sessTable",children:[s.jsxs("div",{className:"ap-sessTableHead","aria-hidden":!0,children:[s.jsx("span",{}),s.jsx("span",{children:"Session"}),s.jsx("span",{children:"Engine"}),s.jsx("span",{children:"Last"})]}),h.map(a=>{const E=a.id===l,T=E?"now":a.endedAt?`ended · ${K(a.endedAt)||"recent"}`:K(a.startedAt)||"recent",O=a.cwd?z(a.cwd):is(a.id),A=a.harness??e.harness??"session",n=a.model??e.model,j=n&&n.startsWith(`${A}-`)?n.slice(A.length+1):n,k=[A,j,a.reasoningEffort].filter(Boolean).join(" · ");return s.jsxs("button",{type:"button",className:"ap-sessRow","data-tone":E?"live":"idle","data-selected":a.id===I||void 0,onClick:()=>E?D(a.id):L(a),children:[E?s.jsx("span",{className:"ap-dot","data-tone":"live","aria-hidden":!0}):s.jsx("span",{className:"ap-sessRowDot","aria-hidden":!0}),s.jsx("span",{className:"ap-sessRowName",title:a.id,children:O}),s.jsx("span",{className:"ap-sessRowEngine",children:k}),s.jsx("span",{className:"ap-sessRowWhen",children:T})]},a.id)})]})]}),s.jsxs("aside",{className:"ap-profileAside",children:[s.jsxs("div",{className:"ap-group",children:[s.jsx("div",{className:"ap-groupHead",children:"Place"}),S?s.jsxs("div",{className:"ap-kv",children:[s.jsx("span",{className:"ap-kvKey",children:"root"}),s.jsx("span",{className:"ap-kvVal",children:S})]}):null,y?s.jsxs("div",{className:"ap-kv",children:[s.jsx("span",{className:"ap-kvKey",children:"host"}),s.jsx("span",{className:"ap-kvVal",children:y})]}):null,e.branch?s.jsxs("div",{className:"ap-kv",children:[s.jsx("span",{className:"ap-kvKey",children:"branch"}),s.jsx("span",{className:"ap-kvVal",children:e.branch})]}):null]}),s.jsxs("div",{className:"ap-group",children:[s.jsx("div",{className:"ap-groupHead",children:"Runtime"}),e.harness?s.jsxs("div",{className:"ap-kv",children:[s.jsx("span",{className:"ap-kvKey",children:"harness"}),s.jsx("span",{className:"ap-kvVal",children:e.harness})]}):null,w?s.jsxs("div",{className:"ap-kv",children:[s.jsx("span",{className:"ap-kvKey",children:"model"}),s.jsx("span",{className:"ap-kvVal",children:w})]}):null]})]})]})]})}function ct({agent:e,allAgents:t,conversationId:o,navigate:c,activeTab:i,renderProfile:m}){const{name:r}=us(e,t),[p,l]=u.useState(null),[h,x]=u.useState(!1),[N,I]=u.useState(null),{route:v}=G(),w=v.view==="agents-v2"&&v.agentId===e.id?v.sessionId??null:null,S=Q(w,N?.sessions??[])??w,y=u.useCallback(async()=>{const b=await B(`/api/agents/${encodeURIComponent(e.id)}/session-catalog`).catch(()=>null);I(b)},[e.id]),f=u.useCallback(async()=>{x(!0);try{const b=S?new URLSearchParams({sessionId:S}):null,$=await B(`/api/agents/${encodeURIComponent(e.id)}/observe${b?`?${b}`:""}`);l($)}catch{l({agentId:e.id,source:"unavailable",fidelity:"synthetic",historyPath:null,sessionId:null,updatedAt:Date.now(),data:{events:[{id:`${e.id}:observe-error`,t:0,kind:"system",text:"Observer data is temporarily unavailable.",detail:"Retrying will resume once the session source becomes reachable."}],files:[],contextUsage:[],live:!1}})}finally{x(!1)}},[e.id,S]);return u.useEffect(()=>{I(null),y();const b=window.setTimeout(()=>{y()},3e3);return()=>window.clearTimeout(b)},[y]),u.useEffect(()=>{l(null),x(!1)},[e.id,S]),u.useEffect(()=>{i==="observe"&&f()},[i,f]),X(()=>{y(),i==="observe"&&f()}),u.useEffect(()=>{if(i!=="observe"||!p?.data.live)return;const b=setInterval(()=>{f()},2500);return()=>clearInterval(b)},[i,p?.data.live,f]),s.jsxs("div",{className:`s-profile-center${i!=="profile"?" s-profile-center--tabbed":" s-profile-center--modular"}`,children:[i==="profile"&&(m?m({agent:e,sessionCatalog:N,conversationId:o,navigate:c,route:v}):s.jsx("div",{className:"s-aproj s-aproj--profile",children:s.jsx(gs,{agent:e,name:r,sessionCatalog:N,conversationId:o,navigate:c,route:v})})),i==="config"&&s.jsx(ms,{agent:e,navigate:c,homeView:"agents-v2"}),i==="observe"&&s.jsx("div",{className:"s-profile-tab-conversation",children:h&&!p?s.jsxs("div",{className:"s-profile-activity-empty",children:[s.jsx("div",{className:"s-profile-activity-empty-title",children:"Loading trace"}),s.jsx("div",{className:"s-profile-activity-empty-detail",children:"Resolving the best available live or history-backed session stream for this agent."})]}):s.jsx(ds,{data:p?.data,agentId:e.id,sessionId:p?.sessionId,observeSource:p?.source,observeFidelity:p?.fidelity,showRail:!1})}),i==="message"&&(o?s.jsx("div",{className:"s-profile-tab-conversation",children:s.jsx(cs,{conversationId:o,navigate:c,embedded:!0})}):s.jsx(Is,{agent:e,navigate:c}))]})}function Is({agent:e,navigate:t}){const{route:o}=G(),[c,i]=u.useState("idle"),[m,r]=u.useState(null),p=async()=>{if(c!=="opening"){i("opening"),r(null);try{const l=await q(e);t(o.view==="agents-v2"?{...o,view:"agents-v2",agentId:e.id,conversationId:l,tab:"message"}:{view:"agents-v2",agentId:e.id,conversationId:l,tab:"message"})}catch(l){r(l instanceof Error?l.message:"Could not open chat.")}finally{i("idle")}}};return s.jsx("div",{className:"s-profile-tab-conversation",children:s.jsxs("div",{className:"s-profile-activity-empty",children:[s.jsx("div",{className:"s-profile-activity-empty-title",children:"No chat yet"}),s.jsxs("div",{className:"s-profile-activity-empty-detail",children:["Open a direct chat with ",e.name,". The broker will create a real chat ID and keep routing by this agent identity."]}),m&&s.jsx("div",{className:"s-sess-action-error",children:m}),s.jsx("button",{type:"button",className:"s-sess-action",disabled:c==="opening",onClick:()=>{p()},children:c==="opening"?"Opening...":"Open chat"})]})})}function dt({agent:e,conversationId:t,activeTab:o,navigate:c}){const i=[{key:"profile",label:"Sessions"},{key:"config",label:"Config"},{key:"observe",label:"Trace"},{key:"message",label:"Message"}],m=r=>c({view:"agents-v2",agentId:e.id,...t?{conversationId:t}:{},tab:r});return s.jsxs("div",{className:"s-agent-bar",children:[s.jsx(ls,{slot:"agents",fallback:{view:"agents-v2"},navigate:c,className:"s-agent-bar-back"}),s.jsx("nav",{className:"s-profile-tabs s-agent-bar-tabs",children:i.map(r=>s.jsx("button",{type:"button",className:`s-profile-tab${o===r.key?" s-profile-tab--active":""}`,disabled:r.disabled,onClick:()=>m(r.key),children:r.label},r.key))})]})}export{ct as AgentDetailWithRail,dt as AgentProfileBar,lt as AgentProfileSessionsCenter,ks as CurrentSessionCard};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as E}from"./index-sUomXsrf.js";import{a as C}from"./api-h5zurxmi.js";import{b as ot}from"./router-Dja9_ygK.js";import{u as it}from"./sse-CVoGDiKW.js";import{i as P,o as rt}from"./surface-activity-B1rgWB1i.js";import{e as ct,u as lt}from"./Provider-tFc3jqZ4.js";import{x as H}from"./conversation-model-C4yb6_FA.js";import{d as at,c as ut,e as dt,f as ft,i as q}from"./model-Co0zkMIc.js";import{i as gt}from"./agents-project-model-UYiamtrU.js";import{o as z,b as vt,a as wt,h as x,c as Y}from"./model-IGCUEsMy.js";const O=1440*6e4;function It(t){const e=new Map;for(const n of t?.activeAsks??[]){const s=e.get(n.agentId)??[];s.push(n),e.set(n.agentId,s)}return e}function At(t){const e=new Map,n=(s,o)=>{if(!s)return;const r=e.get(s)??[];r.push(o),e.set(s,r)};for(const s of t?.needsAttention??[])n(s.agentId,{title:s.title,summary:s.summary,conversationId:s.conversationId,updatedAt:s.updatedAt});for(const s of t?.activeAsks??[])s.status==="needs_attention"&&n(s.agentId,{title:s.task,summary:s.summary,conversationId:s.conversationId,updatedAt:s.updatedAt});for(const s of e.values())s.sort((o,r)=>r.updatedAt-o.updatedAt);return e}function Q(t){return t?t.charAt(0).toUpperCase()+t.slice(1):"Harness"}function X(t){return t.length===1?t[0]??null:t.length>1?`${t.length} branches`:null}function mt(t,e,n,s){const o=t.group,r=o.nodes.flatMap(I=>n.get(I.row.agent.id)??[]).sort((I,h)=>h.updatedAt-I.updatedAt)[0]??null,c=!!r,a=!c&&o.nodes.some(I=>q(I.row)),d=gt(o,s),v=c?"needs":a?"working":"recent",w=c?"needs":a||d?"live":"idle",f=t.leadAgent,m=r?.conversationId??e.get(f.id)??f.conversationId??null;return{id:`${t.projectSlug}:agent:${f.id}`,kind:"agent",projectSlug:t.projectSlug,projectTitle:t.projectTitle,projectRoot:t.projectRoot,workspaceRoot:f.cwd??f.projectRoot??t.projectRoot,agentId:f.id,agentName:o.name,harness:x(o.harness),branch:X(o.branches),work:r?.summary?.trim()||r?.title.trim()||wt(t,w),group:v,needs:c,working:a,lastActivityAt:o.lastActivityAt,sessionCount:o.sessionCount,contextPct:null,conversationId:m,sessionId:null}}function pt(t){return t&&t.view==="sessions"&&t.sessionId?t.sessionId:null}function ht(t,e,n){const s=x(e.harness);return{id:`${t.slice.slug}:native:${e.key}`,kind:"native",projectSlug:t.slice.slug,projectTitle:t.slice.title,projectRoot:t.slice.root,workspaceRoot:t.slice.root,agentId:null,agentName:`${Q(s)} session`,harness:s,branch:null,work:Y(e.detail??e.label)||e.label,group:"working",needs:!1,working:!0,lastActivityAt:e.lastActivityAt??n,sessionCount:1,contextPct:null,conversationId:null,sessionId:pt(e.route)}}function yt(t,e){return t.status==="active"||t.status==="workflow"?"working":(t.lastActivityAt&&e-t.lastActivityAt<O,"recent")}function Z(t){return t?t.view==="sessions"?t.sessionId??null:t.view==="conversation"?t.conversationId:null:null}function F(t){return!!Z(t.route)}function G(t,e,n,s,o){const r=x(e.harness),c=Z(e.route),a=e.status==="active"||e.status==="workflow";return{id:`${t.slice.slug}:session:${e.key}`,kind:"session",projectSlug:t.slice.slug,projectTitle:t.slice.title,projectRoot:t.slice.root,workspaceRoot:s?.cwd??s?.projectRoot??t.slice.root,agentId:s?.id??null,agentName:s?.name??`${Q(r)} session`,harness:r,branch:X(o?[o]:[]),work:Y(e.detail??e.label)||e.label,group:yt(e,n),needs:!1,working:a,lastActivityAt:e.lastActivityAt??n,sessionCount:1,contextPct:null,conversationId:e.route?.view==="conversation"?e.route.conversationId:null,sessionId:e.route?.view==="sessions"?e.route.sessionId??c:c,route:e.route}}function kt(t,e){const n=[];for(const s of t.agents)for(const o of s.sessions)F(o)&&n.push(G(t,o,e,s.row.agent,s.row.branch));for(const s of t.unassigned)F(s)&&n.push(G(t,s,e));return n.sort((s,o)=>o.lastActivityAt-s.lastActivityAt||s.agentName.localeCompare(o.agentName))}function St(t){const e=new Map,n=(s,o,r,c)=>{const a=e.get(s);if(!a){e.set(s,{root:s,branch:o,working:r,lastActivityAt:c});return}(r||!a.branch)&&o&&(a.branch=o),a.working||=r,a.lastActivityAt=Math.max(a.lastActivityAt,c)};for(const s of t.agents){const o=s.row.agent.cwd??s.row.agent.projectRoot??t.slice.root;if(!o)continue;const r=s.row.branch&&s.row.branch!=="—"?s.row.branch:null;n(o,r,q(s.row),s.row.lastActivityAt??0)}for(const s of t.slice.nativeSessions)s.cwd&&n(s.cwd,null,s.status==="active",s.lastActivityAt??0);return e.size===0&&t.slice.root&&n(t.slice.root,null,!1,t.lastActivityAt??0),[...e.values()].sort((s,o)=>Number(o.working)-Number(s.working)||o.lastActivityAt-s.lastActivityAt||s.root.localeCompare(o.root))}function K(t,e){return t.needs?3:t.working?2:e-t.lastActivityAt<O?1:0}function Rt(t){const{nowMs:e,showEphemeral:n}=t,s=ct(t.agents,t.machineId),o=It(t.fleet),r=At(t.fleet),{conversationByAgentId:c,sessionByAgentId:a}=at(t.sessions),d=s.map(i=>ut(i,a.get(i.id)??null,o.get(i.id)??[])),v=dt(t.discovery,e),w=ft(d,t.sessions,v),f=vt(w,n),m=f.map(i=>mt(i,c,r,e));for(const i of w)for(const l of i.unassigned)l.kind!=="native"||l.status!=="active"||!l.route||m.push(ht(i,l,e));m.sort((i,l)=>K(l,e)-K(i,e)||l.lastActivityAt-i.lastActivityAt);const I=w.flatMap(i=>kt(i,e)),h=new Map;for(const i of m){const l=h.get(i.projectSlug)??[];l.push(i),h.set(i.projectSlug,l)}const M=new Map;for(const i of I){const l=M.get(i.projectSlug)??[];l.push(i),M.set(i.projectSlug,l)}const j=new Map;for(const i of f)j.set(i.projectSlug,(j.get(i.projectSlug)??0)+1);const D=w.map(i=>{const l=h.get(i.slice.slug)??[],L=M.get(i.slice.slug)??[],nt=[...new Set(i.agents.map(g=>g.row.branch).filter(g=>!!g&&g!=="—"&&g!=="main"))],$=St(i);return{slug:i.slice.slug,title:i.slice.title,root:i.slice.root,agentCount:j.get(i.slice.slug)??0,sessionCount:L.length,liveSessionCount:L.filter(g=>g.working).length,worktreeCount:$.length,worktrees:$,needs:l.filter(g=>g.needs).length,working:l.filter(g=>g.working).length,threadCount:l.length,lastActivityAt:i.lastActivityAt,branches:nt}});return D.sort((i,l)=>V(l)-V(i)||l.lastActivityAt-i.lastActivityAt||i.title.localeCompare(l.title)),{projects:D,threads:m,sessions:I}}function V(t){return t.needs>0?2:t.working>0?1:0}function qt(t,e){return t.needs===0&&t.working===0&&(t.threadCount===0||e-t.lastActivityAt>O)}function zt(t,e){return t.filter(n=>n.projectSlug===e)}function Yt(t,e){return t.filter(n=>n.projectSlug===e)}const bt=["needs","working","recent"],Mt={needs:"Your turn",working:"In flight",recent:"Recent"};function Qt(t){const e=new Map;for(const n of t){const s=e.get(n.group)??[];s.push(n),e.set(n.group,s)}return bt.filter(n=>e.has(n)).map(n=>({group:n,label:Mt[n],items:e.get(n)}))}function A(t){return{view:"agents-v2",...t.projectSlug?{projectSlug:t.projectSlug}:{},...t.machineId?{machineId:t.machineId}:{}}}function Xt(t,e){return t.agentId&&e.selectedAgentId?e.selectedAgentId===t.agentId:t.kind==="native"&&t.sessionId&&e.sessionId?e.sessionId===t.sessionId:!1}function Zt(t,e){return t.kind==="native"?{...A(e),sessionId:t.sessionId??void 0}:{...A(e),selectedAgentId:t.agentId??void 0}}function te(t,e){return t.kind==="native"&&t.sessionId?{view:"sessions",sessionId:t.sessionId}:t.conversationId?{view:"conversation",conversationId:t.conversationId}:t.agentId?z(e,t.agentId):A(e)}function ee(t,e){return t.kind==="native"&&t.sessionId?{view:"sessions",sessionId:t.sessionId}:t.agentId?{...z(e,t.agentId),tab:"observe"}:null}function se(t,e){const n=_(t);return n?{...A(e),indexView:"sessions",...n?{sessionId:n}:{},selectedAgentId:void 0}:A(e)}function ne(t,e){const n=_(t);return n&&e.sessionId?e.sessionId===n:!1}function _(t){return t.sessionId?t.sessionId:t.conversationId?t.conversationId:null}function oe(t,e){const n=_(t);return n?{...A(e),projectSlug:t.projectSlug,indexView:"sessions",sessionId:n,selectedAgentId:void 0}:{...A(e),projectSlug:t.projectSlug,indexView:"sessions",selectedAgentId:void 0,sessionId:void 0}}const jt=15e3,tt=3e4,Ct=250;let u={sessions:[],fleet:null,discovery:null,loadedAt:null,loading:!0,error:null,nowMs:Date.now()};const N=new Set;let k=0,W=0,p=null,R=null,b=null,T=null,J=0;function et(){for(const t of[...N])t()}function Bt(t,e){return t&&JSON.stringify(t.activeAsks)===JSON.stringify(e.activeAsks)?t:e}function Et(t,e){const n=s=>JSON.stringify([s?.transcripts??[],s?.processes??[]]);return t&&n(t)===n(e)?t:e}function st(t){u={...u,...t},et()}async function y(t){const e=++W;J+=1,typeof window<"u"&&(window.__projectsInboxLoads=J),u.loadedAt===null&&t!=="background"&&st({loading:!0,error:null});const[n,s,o]=await Promise.allSettled([C("/api/conversations"),C("/api/fleet"),C("/api/tail/discover")]);if(e!==W)return;const r=n.status==="fulfilled"?H(u.sessions,n.value):u.sessions,c=s.status==="fulfilled"?Bt(u.fleet,s.value):u.fleet,a=o.status==="fulfilled"?Et(u.discovery,o.value):u.discovery,d=[n,s,o].find(f=>f.status==="rejected"),v=d?d.reason instanceof Error?d.reason.message:String(d.reason):null,w=r!==u.sessions||c!==u.fleet||a!==u.discovery||v!==u.error||u.loading;u={...u,sessions:r,fleet:c,discovery:a,error:v,loading:!1,loadedAt:Date.now()},w&&et()}function Pt(){P()&&(p||(p=setTimeout(()=>{p=null,y("background")},Ct)))}function Nt(){y("initial"),R=setInterval(()=>{P()&&y("background")},jt),b=setInterval(()=>{P()&&st({nowMs:Date.now()})},tt),T=rt(()=>{y("background")})}function Tt(){p&&(clearTimeout(p),p=null),R&&(clearInterval(R),R=null),b&&(clearInterval(b),b=null),T?.(),T=null}function ie(){y("background")}function xt(){const[t,e]=E.useState(u);return E.useEffect(()=>{const n=()=>e(u);return N.add(n),k+=1,k===1&&Nt(),n(),()=>{N.delete(n),k-=1,k===0&&Tt()}},[]),it(Pt),t}let U=null,S=null;function Ot(t,e){return!!t&&t.length===e.length&&t.every((n,s)=>n===e[s])}function B(t,e,n){if(!t?.length)return e;const s=new Map(t.map(c=>[n(c),c]));let o=t.length===e.length;const r=e.map((c,a)=>{const d=s.get(n(c)),v=d?H(d,c):c;return v!==t[a]&&(o=!1),v});return o?t:r}function _t(t,e){if(!t)return e;const n=B(t.projects,e.projects,r=>r.slug),s=B(t.threads,e.threads,r=>r.id),o=B(t.sessions,e.sessions,r=>r.id);return n===t.projects&&s===t.threads&&o===t.sessions?t:{projects:n,threads:s,sessions:o}}function Dt(t){const e=[t.agents,t.sessions,t.fleet,t.discovery,t.machineId,Math.floor(t.nowMs/tt),t.showEphemeral];if(Ot(U,e)&&S)return S;const n=Rt(t),s=_t(S,n);return U=e,S=s,s}function re(t){const e=xt(),{agents:n}=lt(),s=ot(t),o=!!t.showEphemeral;return{model:E.useMemo(()=>Dt({agents:n,machineId:s,sessions:e.sessions,fleet:e.fleet,discovery:e.discovery,nowMs:e.nowMs,showEphemeral:o}),[n,s,e.sessions,e.fleet,e.discovery,e.nowMs,o]),nowMs:e.nowMs,loading:e.loading,loadedAt:e.loadedAt,error:e.error}}export{te as a,ne as b,_ as c,Yt as d,zt as e,se as f,Qt as g,Zt as h,qt as i,Xt as j,ie as r,oe as s,ee as t,re as u};
|
|
1
|
+
import{r as E}from"./index-o4FKpU7Z.js";import{a as C}from"./api-h5zurxmi.js";import{d as ot}from"./router-C65cZYPn.js";import{u as it}from"./sse-CL6gctHY.js";import{i as P,o as rt}from"./surface-activity-B1rgWB1i.js";import{e as ct,u as lt}from"./Provider-DKZWuzSR.js";import{x as H}from"./conversation-model-CHwHZNw-.js";import{d as at,c as ut,e as dt,f as ft,i as q}from"./model-Co0zkMIc.js";import{i as gt}from"./agents-project-model-UYiamtrU.js";import{o as z,b as vt,a as wt,h as x,c as Y}from"./model-IGCUEsMy.js";const O=1440*6e4;function It(t){const e=new Map;for(const n of t?.activeAsks??[]){const s=e.get(n.agentId)??[];s.push(n),e.set(n.agentId,s)}return e}function At(t){const e=new Map,n=(s,o)=>{if(!s)return;const r=e.get(s)??[];r.push(o),e.set(s,r)};for(const s of t?.needsAttention??[])n(s.agentId,{title:s.title,summary:s.summary,conversationId:s.conversationId,updatedAt:s.updatedAt});for(const s of t?.activeAsks??[])s.status==="needs_attention"&&n(s.agentId,{title:s.task,summary:s.summary,conversationId:s.conversationId,updatedAt:s.updatedAt});for(const s of e.values())s.sort((o,r)=>r.updatedAt-o.updatedAt);return e}function Q(t){return t?t.charAt(0).toUpperCase()+t.slice(1):"Harness"}function X(t){return t.length===1?t[0]??null:t.length>1?`${t.length} branches`:null}function mt(t,e,n,s){const o=t.group,r=o.nodes.flatMap(I=>n.get(I.row.agent.id)??[]).sort((I,h)=>h.updatedAt-I.updatedAt)[0]??null,c=!!r,a=!c&&o.nodes.some(I=>q(I.row)),d=gt(o,s),v=c?"needs":a?"working":"recent",w=c?"needs":a||d?"live":"idle",f=t.leadAgent,m=r?.conversationId??e.get(f.id)??f.conversationId??null;return{id:`${t.projectSlug}:agent:${f.id}`,kind:"agent",projectSlug:t.projectSlug,projectTitle:t.projectTitle,projectRoot:t.projectRoot,workspaceRoot:f.cwd??f.projectRoot??t.projectRoot,agentId:f.id,agentName:o.name,harness:x(o.harness),branch:X(o.branches),work:r?.summary?.trim()||r?.title.trim()||wt(t,w),group:v,needs:c,working:a,lastActivityAt:o.lastActivityAt,sessionCount:o.sessionCount,contextPct:null,conversationId:m,sessionId:null}}function pt(t){return t&&t.view==="sessions"&&t.sessionId?t.sessionId:null}function ht(t,e,n){const s=x(e.harness);return{id:`${t.slice.slug}:native:${e.key}`,kind:"native",projectSlug:t.slice.slug,projectTitle:t.slice.title,projectRoot:t.slice.root,workspaceRoot:t.slice.root,agentId:null,agentName:`${Q(s)} session`,harness:s,branch:null,work:Y(e.detail??e.label)||e.label,group:"working",needs:!1,working:!0,lastActivityAt:e.lastActivityAt??n,sessionCount:1,contextPct:null,conversationId:null,sessionId:pt(e.route)}}function yt(t,e){return t.status==="active"||t.status==="workflow"?"working":(t.lastActivityAt&&e-t.lastActivityAt<O,"recent")}function Z(t){return t?t.view==="sessions"?t.sessionId??null:t.view==="conversation"?t.conversationId:null:null}function F(t){return!!Z(t.route)}function G(t,e,n,s,o){const r=x(e.harness),c=Z(e.route),a=e.status==="active"||e.status==="workflow";return{id:`${t.slice.slug}:session:${e.key}`,kind:"session",projectSlug:t.slice.slug,projectTitle:t.slice.title,projectRoot:t.slice.root,workspaceRoot:s?.cwd??s?.projectRoot??t.slice.root,agentId:s?.id??null,agentName:s?.name??`${Q(r)} session`,harness:r,branch:X(o?[o]:[]),work:Y(e.detail??e.label)||e.label,group:yt(e,n),needs:!1,working:a,lastActivityAt:e.lastActivityAt??n,sessionCount:1,contextPct:null,conversationId:e.route?.view==="conversation"?e.route.conversationId:null,sessionId:e.route?.view==="sessions"?e.route.sessionId??c:c,route:e.route}}function kt(t,e){const n=[];for(const s of t.agents)for(const o of s.sessions)F(o)&&n.push(G(t,o,e,s.row.agent,s.row.branch));for(const s of t.unassigned)F(s)&&n.push(G(t,s,e));return n.sort((s,o)=>o.lastActivityAt-s.lastActivityAt||s.agentName.localeCompare(o.agentName))}function St(t){const e=new Map,n=(s,o,r,c)=>{const a=e.get(s);if(!a){e.set(s,{root:s,branch:o,working:r,lastActivityAt:c});return}(r||!a.branch)&&o&&(a.branch=o),a.working||=r,a.lastActivityAt=Math.max(a.lastActivityAt,c)};for(const s of t.agents){const o=s.row.agent.cwd??s.row.agent.projectRoot??t.slice.root;if(!o)continue;const r=s.row.branch&&s.row.branch!=="—"?s.row.branch:null;n(o,r,q(s.row),s.row.lastActivityAt??0)}for(const s of t.slice.nativeSessions)s.cwd&&n(s.cwd,null,s.status==="active",s.lastActivityAt??0);return e.size===0&&t.slice.root&&n(t.slice.root,null,!1,t.lastActivityAt??0),[...e.values()].sort((s,o)=>Number(o.working)-Number(s.working)||o.lastActivityAt-s.lastActivityAt||s.root.localeCompare(o.root))}function K(t,e){return t.needs?3:t.working?2:e-t.lastActivityAt<O?1:0}function Rt(t){const{nowMs:e,showEphemeral:n}=t,s=ct(t.agents,t.machineId),o=It(t.fleet),r=At(t.fleet),{conversationByAgentId:c,sessionByAgentId:a}=at(t.sessions),d=s.map(i=>ut(i,a.get(i.id)??null,o.get(i.id)??[])),v=dt(t.discovery,e),w=ft(d,t.sessions,v),f=vt(w,n),m=f.map(i=>mt(i,c,r,e));for(const i of w)for(const l of i.unassigned)l.kind!=="native"||l.status!=="active"||!l.route||m.push(ht(i,l,e));m.sort((i,l)=>K(l,e)-K(i,e)||l.lastActivityAt-i.lastActivityAt);const I=w.flatMap(i=>kt(i,e)),h=new Map;for(const i of m){const l=h.get(i.projectSlug)??[];l.push(i),h.set(i.projectSlug,l)}const M=new Map;for(const i of I){const l=M.get(i.projectSlug)??[];l.push(i),M.set(i.projectSlug,l)}const j=new Map;for(const i of f)j.set(i.projectSlug,(j.get(i.projectSlug)??0)+1);const D=w.map(i=>{const l=h.get(i.slice.slug)??[],L=M.get(i.slice.slug)??[],nt=[...new Set(i.agents.map(g=>g.row.branch).filter(g=>!!g&&g!=="—"&&g!=="main"))],$=St(i);return{slug:i.slice.slug,title:i.slice.title,root:i.slice.root,agentCount:j.get(i.slice.slug)??0,sessionCount:L.length,liveSessionCount:L.filter(g=>g.working).length,worktreeCount:$.length,worktrees:$,needs:l.filter(g=>g.needs).length,working:l.filter(g=>g.working).length,threadCount:l.length,lastActivityAt:i.lastActivityAt,branches:nt}});return D.sort((i,l)=>V(l)-V(i)||l.lastActivityAt-i.lastActivityAt||i.title.localeCompare(l.title)),{projects:D,threads:m,sessions:I}}function V(t){return t.needs>0?2:t.working>0?1:0}function qt(t,e){return t.needs===0&&t.working===0&&(t.threadCount===0||e-t.lastActivityAt>O)}function zt(t,e){return t.filter(n=>n.projectSlug===e)}function Yt(t,e){return t.filter(n=>n.projectSlug===e)}const bt=["needs","working","recent"],Mt={needs:"Your turn",working:"In flight",recent:"Recent"};function Qt(t){const e=new Map;for(const n of t){const s=e.get(n.group)??[];s.push(n),e.set(n.group,s)}return bt.filter(n=>e.has(n)).map(n=>({group:n,label:Mt[n],items:e.get(n)}))}function A(t){return{view:"agents-v2",...t.projectSlug?{projectSlug:t.projectSlug}:{},...t.machineId?{machineId:t.machineId}:{}}}function Xt(t,e){return t.agentId&&e.selectedAgentId?e.selectedAgentId===t.agentId:t.kind==="native"&&t.sessionId&&e.sessionId?e.sessionId===t.sessionId:!1}function Zt(t,e){return t.kind==="native"?{...A(e),sessionId:t.sessionId??void 0}:{...A(e),selectedAgentId:t.agentId??void 0}}function te(t,e){return t.kind==="native"&&t.sessionId?{view:"sessions",sessionId:t.sessionId}:t.conversationId?{view:"conversation",conversationId:t.conversationId}:t.agentId?z(e,t.agentId):A(e)}function ee(t,e){return t.kind==="native"&&t.sessionId?{view:"sessions",sessionId:t.sessionId}:t.agentId?{...z(e,t.agentId),tab:"observe"}:null}function se(t,e){const n=_(t);return n?{...A(e),indexView:"sessions",...n?{sessionId:n}:{},selectedAgentId:void 0}:A(e)}function ne(t,e){const n=_(t);return n&&e.sessionId?e.sessionId===n:!1}function _(t){return t.sessionId?t.sessionId:t.conversationId?t.conversationId:null}function oe(t,e){const n=_(t);return n?{...A(e),projectSlug:t.projectSlug,indexView:"sessions",sessionId:n,selectedAgentId:void 0}:{...A(e),projectSlug:t.projectSlug,indexView:"sessions",selectedAgentId:void 0,sessionId:void 0}}const jt=15e3,tt=3e4,Ct=250;let u={sessions:[],fleet:null,discovery:null,loadedAt:null,loading:!0,error:null,nowMs:Date.now()};const N=new Set;let k=0,W=0,p=null,R=null,b=null,T=null,J=0;function et(){for(const t of[...N])t()}function Bt(t,e){return t&&JSON.stringify(t.activeAsks)===JSON.stringify(e.activeAsks)?t:e}function Et(t,e){const n=s=>JSON.stringify([s?.transcripts??[],s?.processes??[]]);return t&&n(t)===n(e)?t:e}function st(t){u={...u,...t},et()}async function y(t){const e=++W;J+=1,typeof window<"u"&&(window.__projectsInboxLoads=J),u.loadedAt===null&&t!=="background"&&st({loading:!0,error:null});const[n,s,o]=await Promise.allSettled([C("/api/conversations"),C("/api/fleet"),C("/api/tail/discover")]);if(e!==W)return;const r=n.status==="fulfilled"?H(u.sessions,n.value):u.sessions,c=s.status==="fulfilled"?Bt(u.fleet,s.value):u.fleet,a=o.status==="fulfilled"?Et(u.discovery,o.value):u.discovery,d=[n,s,o].find(f=>f.status==="rejected"),v=d?d.reason instanceof Error?d.reason.message:String(d.reason):null,w=r!==u.sessions||c!==u.fleet||a!==u.discovery||v!==u.error||u.loading;u={...u,sessions:r,fleet:c,discovery:a,error:v,loading:!1,loadedAt:Date.now()},w&&et()}function Pt(){P()&&(p||(p=setTimeout(()=>{p=null,y("background")},Ct)))}function Nt(){y("initial"),R=setInterval(()=>{P()&&y("background")},jt),b=setInterval(()=>{P()&&st({nowMs:Date.now()})},tt),T=rt(()=>{y("background")})}function Tt(){p&&(clearTimeout(p),p=null),R&&(clearInterval(R),R=null),b&&(clearInterval(b),b=null),T?.(),T=null}function ie(){y("background")}function xt(){const[t,e]=E.useState(u);return E.useEffect(()=>{const n=()=>e(u);return N.add(n),k+=1,k===1&&Nt(),n(),()=>{N.delete(n),k-=1,k===0&&Tt()}},[]),it(Pt),t}let U=null,S=null;function Ot(t,e){return!!t&&t.length===e.length&&t.every((n,s)=>n===e[s])}function B(t,e,n){if(!t?.length)return e;const s=new Map(t.map(c=>[n(c),c]));let o=t.length===e.length;const r=e.map((c,a)=>{const d=s.get(n(c)),v=d?H(d,c):c;return v!==t[a]&&(o=!1),v});return o?t:r}function _t(t,e){if(!t)return e;const n=B(t.projects,e.projects,r=>r.slug),s=B(t.threads,e.threads,r=>r.id),o=B(t.sessions,e.sessions,r=>r.id);return n===t.projects&&s===t.threads&&o===t.sessions?t:{projects:n,threads:s,sessions:o}}function Dt(t){const e=[t.agents,t.sessions,t.fleet,t.discovery,t.machineId,Math.floor(t.nowMs/tt),t.showEphemeral];if(Ot(U,e)&&S)return S;const n=Rt(t),s=_t(S,n);return U=e,S=s,s}function re(t){const e=xt(),{agents:n}=lt(),s=ot(t),o=!!t.showEphemeral;return{model:E.useMemo(()=>Dt({agents:n,machineId:s,sessions:e.sessions,fleet:e.fleet,discovery:e.discovery,nowMs:e.nowMs,showEphemeral:o}),[n,s,e.sessions,e.fleet,e.discovery,e.nowMs,o]),nowMs:e.nowMs,loading:e.loading,loadedAt:e.loadedAt,error:e.error}}export{te as a,ne as b,_ as c,Yt as d,zt as e,se as f,Qt as g,Zt as h,qt as i,Xt as j,ie as r,oe as s,ee as t,re as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as a,j as p}from"./index-o4FKpU7Z.js";import{b as S,c as h,w as v}from"./router-C65cZYPn.js";const L="hudson.flags",E=a.createContext(null);function M({registry:t,audience:s,audienceOrder:u,audienceIncludes:r,initialLayers:n,storageKey:o=L,warnOnUnknown:g=!1,children:O}){const[F,c]=a.useState(()=>{const e=n?.local;return{version:1,audience:e?.audience??void 0,flags:w(e)}});a.useEffect(()=>{const e=S(o);(e.audience||Object.keys(e.flags??{}).length>0)&&c(e)},[o]);const f=a.useMemo(()=>({...n,local:{...n?.local,audience:F.audience??n?.local?.audience,flags:{...n?.local?.flags??{},...F.flags??{}}}}),[n,F]),x=a.useMemo(()=>h({registry:t,audience:s,audienceOrder:u,audienceIncludes:r,layers:f,warnOnUnknown:g}),[t,s,u,r,f,g]),j=a.useMemo(()=>({...x,layers:f,storageKey:o,setLocalOverride:(e,i)=>{c(l=>{const d={...l.flags??{}};i===null?delete d[e]:d[e]=i;const m={...l,version:1,flags:d};return v(o,m),m})},setLocalAudienceOverride:e=>{c(i=>{const l={...i,version:1,audience:e??void 0};return v(o,l),l})},resetLocalOverrides:()=>{const e={version:1};v(o,e),c(e)}}),[x,f,o]);return p.jsx(E.Provider,{value:j,children:O})}function b(){return a.useContext(E)}function P(){const t=b();if(!t)throw new Error("useFeatureFlags must be used within FeatureFlagsProvider");return t}function R(t,s=!0){return b()?.isEnabled(t)??s}function w(t){if(!t?.flags)return;const s={};for(const[u,r]of Object.entries(t.flags))(r===!0||r===!1)&&(s[u]=r);return Object.keys(s).length>0?s:void 0}export{M as F,P as a,b,R as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as a}from"./createLucideIcon-
|
|
1
|
+
import{c as a}from"./createLucideIcon-Bt67PWH-.js";const c=[["path",{d:"M16.247 7.761a6 6 0 0 1 0 8.478",key:"1fwjs5"}],["path",{d:"M19.075 4.933a10 10 0 0 1 0 14.134",key:"ehdyv1"}],["path",{d:"M4.925 19.067a10 10 0 0 1 0-14.134",key:"1q22gi"}],["path",{d:"M7.753 16.239a6 6 0 0 1 0-8.478",key:"r2q7qm"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],o=a("radio",c);export{o as R};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e}from"./createLucideIcon-
|
|
1
|
+
import{c as e}from"./createLucideIcon-Bt67PWH-.js";const c=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],a=e("refresh-cw",c);export{a as R};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as r}from"./index-o4FKpU7Z.js";import{ActivityContent as s}from"./content-BRY2vo1_.js";import"./index-BWHgHrtv.js";import"./router-C65cZYPn.js";import"./index-BMwKgdz_.js";import"./Provider-DKZWuzSR.js";import"./AgentDetailCard-Biq8b2gv.js";/* empty css */import{AgentsLeft as e}from"./left-O-TBH7JB.js";import{AgentsContent as n}from"./content-BTm0mVyD.js";import{AgentsInspector as m}from"./right-CYIs2tEe.js";/* empty css */import"./secondaryNavConfig-CSFDCQAf.js";/* empty css */import"./BackToPicker-BXp5E2ck.js";import"./runtime-picker-eDEvx2Mz.js";import"./ConversationScreen-oZSitVtX.js";/* empty css */import"./ObservedTopologyPanel-ByW7Ar7p.js";import"./SessionObserve-DaUrJCMq.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./AgentLiveActions-0iy8QZ1T.js";import{P as c}from"./ProjectsRail-CWOkZjsY.js";import{ProjectsScreen as f}from"./ProjectsScreen-Dse0Q6p6.js";import{ProjectsThreadAside as a}from"./ProjectsThreadAside-DMnfyPLE.js";import{BriefingsContent as x}from"./content-B-SUUhXj.js";/* empty css */import{BrokerContent as j}from"./content-BTqvyb5E.js";import"./NewChatComposer-S08F6_La.js";import{ChatLeft as u}from"./left-BSyj8PuJ.js";/* empty css */import{ChatContent as l}from"./content-wcgPMGVf.js";import{ConversationInspector as i}from"./right-oPrcx9MX.js";import{CodeContent as h}from"./CodeScreen-CJ2RgB32.js";import{FollowContent as C}from"./content-DBb7ppd5.js";/* empty css */import{HarnessesContent as d}from"./content-BrR6deGh.js";/* empty css */import{HomeLeft as I}from"./left-DLoDKxT5.js";import{H as p}from"./content-CudIBsiP.js";import{HomeRight as w}from"./right-BDf_yTv6.js";import{MeshLeft as P}from"./left-DDnxNUxd.js";import{MeshContent as L}from"./content-DEw_kGyK.js";import{MeshInspectorPanel as R}from"./right-sSvBUK-j.js";import"./mesh-view-store-Du7VqIT_.js";/* empty css */import{MeshOpsLeft as k}from"./left-BC7p5QbT.js";import{MeshOpsContent as A}from"./content-Cgj5AWqT.js";import{MeshOpsInspector as M}from"./right-o3LHMiKa.js";import{OpsLeft as S}from"./left-rvUOB14X.js";import{OpsContent as b}from"./content-BjDaXmSD.js";/* empty css */import"./RailRow-DIGd3MMM.js";import"./left-mission-DEl4-7xu.js";import"./mission-control-store-C6w5iVfg.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./SlidePanel-CuTeirnk.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./TailView-CufWcrvf.js";import{ReposContent as g}from"./content-CkhG__-v.js";import{ReposInspector as H}from"./right-BvoGOUKH.js";/* empty css */import"./RepoDiffViewerLazy-BPg_JkYW.js";import"./cache-Dr0why2k.js";import{SearchContent as O}from"./content-vi9FbmV9.js";import{K as T}from"./KnowledgeSearchInspector-BOIhFWd2.js";/* empty css */import{SessionsContent as y}from"./content-C5yvBEMy.js";import{SessionsInspector as B}from"./right-C3JdEfYQ.js";/* empty css */import{SettingsContent as K}from"./content-DIy0DCzK.js";import"./SettingsDrawer-BFsnww-k.js";import{TerminalLeft as W}from"./left-BCSGqccQ.js";import{TerminalContent as E}from"./Terminal-D_OmdFmr.js";import{TerminalInspector as F}from"./right-DBYGtoRv.js";import{WorkContent as V}from"./content-THl9hRAo.js";import{WorkInspector as q}from"./right-CyRCv6Up.js";import{RealtimeVoicePage as z}from"./RealtimeVoiceScreen-B_PMJxY_.js";import"./ActivityScreen-aewI4Ul1.js";import"./api-h5zurxmi.js";import"./clipboard-e3fSpeo7.js";import"./sse-CL6gctHY.js";import"./colors-BtO5_zlx.js";import"./mentions-CvDaviLJ.js";import"./time-Dhsh_2EG.js";import"./ContextMenu-CxkmFQcN.js";import"./EmptyState-BUvllvA6.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-AmSgHklm.js";import"./provider-BvAxRQfE.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./DocumentFocusViewer-DRKjNG9s.js";import"./createLucideIcon-Bt67PWH-.js";import"./TextDocumentSurface-Bc-kHPgG.js";import"./file-text-iF0hyVyU.js";import"./x-ynOfVadO.js";import"./chevron-right-C10o7t_X.js";import"./code-xml-CLn3TDWF.js";import"./arrow-left-BOht-YQu.js";import"./scout-voice-B7kXlkcl.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-Chf51dns.js";import"./MessageComposerSuggestions-Dfc3PH2y.js";import"./chunk-HRAB3GC3-DF8R9rPv.js";import"./AgentAvatar-DMov24_o.js";import"./SpriteAvatar-DQ3PTb8L.js";import"./agent-identity-BxCsXnDp.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./AgentInfoScreen-SjhK_SBh.js";import"./conversation-model-CHwHZNw-.js";import"./openContent-C6XO6kr5.js";import"./AgentsScreen-Bww6HgFs.js";import"./AgentsSubnav-CiIuzxnZ.js";import"./SecondaryNav-Dj30epYF.js";import"./library-DDKSLFJ_.js";import"./HarnessMark-MztYnrGK.js";import"./AgentSessions-CDfSfNiE.js";import"./agents-project-model-UYiamtrU.js";import"./profile-DW80Gn5k.js";import"./context-budget-DX_fwUs3.js";import"./session-catalog-_QfQ7fhZ.js";import"./terminal-relay-CjkI5aUy.js";import"./AgentDefinitionsWorkspace-D4MbSMXp.js";import"./project-overview-helpers-BQTc_Ous.js";import"./FileViewerPane-BM4AD_bo.js";import"./chevron-down-NAhBUkFd.js";import"./agent-essentials-yb4wIJlX.js";import"./openAgent-Dbv5wfuL.js";import"./terminal-takeover-7AvNpnkC.js";import"./TmuxPeek-DLyDkq_D.js";import"./refresh-cw-B5To7b6B.js";import"./message-square-ER1_q2pe.js";import"./search-7_n7CxWl.js";import"./terminal-By1Lw2i2.js";import"./scroll-text-BuneRiAD.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-4LDsy4Ke.js";import"./ConversationComposer-CWohCCmn.js";import"./message-markup-BcY1lShv.js";import"./message-visibility-kJM8XcSG.js";import"./sessionRead-CvFz2RHv.js";import"./types-B0PlfpKc.js";import"./ConversationHeader-BxTzXl8e.js";import"./eye-B3lBIwJZ.js";import"./ConversationFeedRows-IWh0JSIL.js";import"./ConversationPanels-D9UCwNkS.js";import"./use-reduced-motion-CqXpVXv-.js";import"./activity-BvGruxWG.js";import"./message-circle-BM3XgevU.js";import"./tail-display-BRcJltQa.js";import"./lane-edit-display-C_Aujldz.js";import"./tail-events-NLIWLq27.js";import"./ConversationStatus-B6pAbo2w.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-CcEiQC6B.js";import"./lane-observe-BA3g9aVd.js";import"./lane-ask-display-B6iCAVcd.js";import"./ObserveTextFlow-_ApDwRCO.js";import"./SessionObserveEvidence-ClUW8jpV.js";import"./wrench-M4G7WtYB.js";import"./external-link-Dem738OJ.js";import"./AddProjectForm-Czb5uwou.js";import"./projects-inbox-DCeD3FfV.js";import"./model-IGCUEsMy.js";import"./ProjectsInbox-DoPZ17FC.js";import"./api-BkjHJfgJ.js";import"./ui-LM8pS8qE.js";import"./SessionRefScreen-DLZNFZFK.js";import"./arrow-up-right-hoR8_oUz.js";import"./ProjectAgentProfile-BEfYOaxc.js";import"./ProjectAgentProfileBar-B1VpwzGD.js";import"./BriefingDetailScreen-C83o2YfN.js";import"./BriefingsScreen-BTsvr5fv.js";import"./BrokerScreen-DplF8d_X.js";import"./status-tone-BM_zuRy1.js";import"./broker-display-pp33bLsu.js";import"./BrokerMetadataPanel-jg7odHQp.js";import"./DispatchAftermath-DowTb7uO.js";import"./follow-route-BvcGtBIL.js";import"./ShikiPane-Dkwyx--r.js";import"./sparkles-Bth2iK7t.js";import"./plus-C-2gTcPK.js";import"./send-horizontal-DP16OOIW.js";import"./check--esHw52j.js";import"./copy-Dty8ZYsM.js";import"./radio-v7UAMZGh.js";import"./bot-BUK7dOPS.js";import"./NewChatOrigin-BEz6jyqf.js";import"./conversation-prefs-DNre-Lcx.js";import"./use-conversation-list-BCzY032j.js";import"./use-fleet-active-asks-CJ6-oj5k.js";import"./MessagesScreen-TgSL5KMc.js";import"./CodeDiffPane-86odpBSt.js";import"./usePierreRuntime-B4hbNWTz.js";/* empty css */import"./CodeProjectPicker-8svr_S_A.js";/* empty css */import"./FollowScreen-DG0osbUp.js";import"./HarnessesScreen-BWqirBjK.js";import"./useContentSecondaryNav-DOr5yHbT.js";import"./OpsSubnav-CZs_OL2N.js";import"./operator-attention-BwSPeheT.js";import"./HomeHero-BPBArHXa.js";import"./observe-3-jn4SXb.js";import"./agent-lanes-model-VYQ5a68i.js";import"./home-moving-signal-C8dTXieA.js";import"./home-live-action-BkqGLVRY.js";import"./mesh-buckets-CfAukILK.js";import"./FleetSearch-CYeWn85V.js";import"./MeshScreen-Bs3soujg.js";import"./MeshCanvas-ZjIuMiRo.js";import"./Canvas-BePL08RR.js";import"./useAgentHoverCard-RsLUYyeh.js";import"./local-agents-DIi2EacM.js";import"./mesh-ops-JZwGuAPn.js";import"./use-mesh-ops-items-D5L-CKe_.js";import"./use-scout-dev-flags-BohC8seq.js";import"./left-agents-Dk9Y89lb.js";import"./left-default-B3JBRQNJ.js";import"./left-lanes-30Oe_3RM.js";import"./lane-roster-store-BiIVlYmG.js";import"./left-plan-B4qdm4Gn.js";import"./OpsScreen-CCR3U_9P.js";import"./page-status-0LPfBC8S.js";import"./AgentLanesView-Ct-Gz5WD.js";import"./AgentFloorView-h9KDJdw0.js";import"./AgentLanesPreflight-M7iDXdP2.js";import"./AgentLaneChrome-D1xNNf7A.js";import"./AgentLaneCard-C4DMQR-c.js";import"./AgentLaneSummaryResize-C9loK-st.js";import"./agent-lane-card-model-q4cwzLX4.js";import"./agent-lane-preview-C33Dwpn7.js";import"./AgentLaneDetailSheet-DnAKe4e3.js";import"./agent-lane-detail-BNNm6FNu.js";import"./LaneTraceDetailSheet-B4i1Ut4R.js";import"./LaneTraceEventFocus-Bl9L0EYb.js";import"./MissionControlView-D629w2A8.js";import"./MissionContextRail-CjGAEGu8.js";import"./mission-wall-CocIM1cF.js";import"./mission-control-model-C0fByIjm.js";import"./MissionFocusOverlay-Bubrr8Gc.js";import"./MissionLogPane-Cs0LuIkn.js";import"./OpsAgentsView-DiFuHcJs.js";import"./DataTable-CGw5CECG.js";import"./sliders-horizontal-D2Z8gz6J.js";import"./PlanView-C54eAzig.js";import"./AtopView-h_aFoNkP.js";import"./MissionLeftAgentRow-DokImu4Y.js";import"./RepoDiffPageScreen-BelnvgnP.js";import"./ReposScreen-IINK-CFn.js";import"./selection-bridge-SlGsgHw2.js";import"./KnowledgeSearchScreen-BP8tD-Bh.js";import"./clock-of01sAB6.js";import"./SessionsScreen-D-hN1n4k.js";import"./RawSessionsTable-Zkl4YDvz.js";import"./FlightObserveScreen-DYJJ3Z2B.js";import"./SettingsScreen-Bc3Xtv5V.js";import"./StatusPill-BJ1ierIR.js";import"./AgentConfigurationScreen-BjG6ECjl.js";import"./server-pYOMFjrT.js";import"./VoicePermissionsPanel-CD903y9K.js";import"./usePersistentState-D3M4m2Ou.js";import"./session-table-CYN8e4s3.js";/* empty css */import"./HerdrSession-6sFln7WX.js";import"./TerminalRelay-rvUzI9Ek.js";import"./WorkDetailScreen-D51oI0dH.js";import"./WorkFilesViewer-BDMNbxE4.js";import"./ScoutbotRealtimeVoiceCall-Br4bYVAx.js";function op(t,o){switch(t.view){case"ops":return r.jsx(S,{});case"agents-v2":return r.jsx(c,{route:t,navigate:o});case"agent-info":return r.jsx(e,{});case"messages":case"conversation":return r.jsx(u,{});case"mesh":return r.jsx(P,{});case"mesh-ops":return r.jsx(k,{});case"terminal":return r.jsx(W,{});default:return r.jsx(I,{})}}function mp(t,o,D=[]){switch(t.view){case"conversation":case"messages":return r.jsx(l,{route:t,navigate:o});case"agents-v2":return r.jsx(f,{route:t,navigate:o});case"agent-info":return r.jsx(n,{route:t,navigate:o});case"settings":return r.jsx(K,{route:t,navigate:o});case"inbox":return r.jsx(p,{navigate:o});case"sessions":return r.jsx(y,{route:t,navigate:o});case"search":return r.jsx(O,{route:t,navigate:o});case"mesh":return r.jsx(L,{route:t,navigate:o});case"mesh-ops":return r.jsx(A,{route:t,navigate:o});case"broker":return r.jsx(j,{route:t,navigate:o});case"code":return r.jsx(h,{route:t,navigate:o});case"repos":case"repo-diff":return r.jsx(g,{route:t,navigate:o});case"harnesses":return r.jsx(d,{route:t,navigate:o});case"briefings":return r.jsx(x,{route:t,navigate:o});case"activity":return r.jsx(s,{route:t,navigate:o});case"voice":return r.jsx(z,{});case"ops":return r.jsx(b,{route:t,navigate:o});case"terminal":return r.jsx(E,{route:t,navigate:o});case"work":return r.jsx(V,{route:t,navigate:o});case"follow":return r.jsx(C,{route:t,navigate:o});default:return r.jsx(p,{navigate:o})}}function ip(t,o){switch(t.view){case"inbox":return r.jsx(w,{});case"agents-v2":return t.agentId?r.jsx(m,{}):t.selectedAgentId||t.sessionId?r.jsx(a,{route:t,navigate:o}):null;case"agent-info":return r.jsx(m,{});case"sessions":return t.flightId?null:r.jsx(B,{});case"search":return r.jsx(T,{});case"conversation":return r.jsx(i,{});case"messages":return r.jsx(i,{});case"terminal":return r.jsx(F,{});case"work":return r.jsx(q,{});case"mesh":return r.jsx(R,{});case"mesh-ops":return r.jsx(M,{});case"repos":return r.jsx(H,{});default:return null}}export{mp as resolveContentPane,op as resolveLeftPane,ip as resolveRightPane};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as o}from"./index-o4FKpU7Z.js";import{AgentsLeft as i}from"./left-O-TBH7JB.js";/* empty css */import"./index-BWHgHrtv.js";import"./Provider-DKZWuzSR.js";import"./router-C65cZYPn.js";import"./BackToPicker-BXp5E2ck.js";import"./AgentLiveActions-0iy8QZ1T.js";import"./ObservedTopologyPanel-ByW7Ar7p.js";/* empty css */import"./secondaryNavConfig-CSFDCQAf.js";/* empty css */import"./runtime-picker-eDEvx2Mz.js";import"./index-BMwKgdz_.js";import"./AgentDetailCard-Biq8b2gv.js";import"./ConversationScreen-oZSitVtX.js";/* empty css */import"./SessionObserve-DaUrJCMq.js";/* empty css *//* empty css *//* empty css *//* empty css */import{P as m}from"./ProjectsRail-CWOkZjsY.js";import"./ProjectsInbox-DoPZ17FC.js";import"./projects-inbox-DCeD3FfV.js";import{ChatLeft as p}from"./left-BSyj8PuJ.js";/* empty css */import{HomeLeft as e}from"./left-DLoDKxT5.js";import"./content-CudIBsiP.js";import{MeshLeft as s}from"./left-DDnxNUxd.js";import"./mesh-view-store-Du7VqIT_.js";/* empty css *//* empty css */import{MeshOpsLeft as n}from"./left-BC7p5QbT.js";import"./use-scout-dev-flags-BohC8seq.js";import"./mesh-ops-JZwGuAPn.js";import{OpsLeft as l}from"./left-rvUOB14X.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./SlidePanel-CuTeirnk.js";/* empty css */import"./mission-control-store-C6w5iVfg.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./TailView-CufWcrvf.js";import"./RailRow-DIGd3MMM.js";import"./left-mission-DEl4-7xu.js";import{TerminalLeft as a}from"./left-BCSGqccQ.js";/* empty css */import{M as f}from"./MeshCanvasMinimap-C-LQtiX6.js";import"./NewChatComposer-S08F6_La.js";import"./MessageComposerSuggestions-Dfc3PH2y.js";import"./api-h5zurxmi.js";import"./HarnessMark-MztYnrGK.js";import"./conversation-model-CHwHZNw-.js";import"./colors-BtO5_zlx.js";import"./time-Dhsh_2EG.js";import"./NewChatOrigin-BEz6jyqf.js";import"./keyboard-nav-Chf51dns.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./x-ynOfVadO.js";import"./createLucideIcon-Bt67PWH-.js";import"./chevron-down-NAhBUkFd.js";import"./search-7_n7CxWl.js";import"./loader-circle-4LDsy4Ke.js";import"./file-text-iF0hyVyU.js";import"./AgentAvatar-DMov24_o.js";import"./SpriteAvatar-DQ3PTb8L.js";import"./agent-identity-BxCsXnDp.js";import"./sse-CL6gctHY.js";import"./surface-activity-B1rgWB1i.js";import"./provider-BvAxRQfE.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-CxkmFQcN.js";import"./DocumentFocusViewer-DRKjNG9s.js";import"./TextDocumentSurface-Bc-kHPgG.js";import"./chevron-right-C10o7t_X.js";import"./code-xml-CLn3TDWF.js";import"./arrow-left-BOht-YQu.js";import"./scout-voice-B7kXlkcl.js";import"./fx-z37u1o2z.js";import"./chunk-HRAB3GC3-DF8R9rPv.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-AmSgHklm.js";import"./terminal-takeover-7AvNpnkC.js";import"./openContent-C6XO6kr5.js";import"./eye-B3lBIwJZ.js";import"./terminal-By1Lw2i2.js";import"./message-square-ER1_q2pe.js";import"./scroll-text-BuneRiAD.js";import"./voice-levels-Dcr3jglk.js";import"./ConversationComposer-CWohCCmn.js";import"./message-markup-BcY1lShv.js";import"./mentions-CvDaviLJ.js";import"./message-visibility-kJM8XcSG.js";import"./sessionRead-CvFz2RHv.js";import"./clipboard-e3fSpeo7.js";import"./types-B0PlfpKc.js";import"./ConversationHeader-BxTzXl8e.js";import"./ConversationFeedRows-IWh0JSIL.js";import"./ConversationPanels-D9UCwNkS.js";import"./use-reduced-motion-CqXpVXv-.js";import"./activity-BvGruxWG.js";import"./message-circle-BM3XgevU.js";import"./tail-display-BRcJltQa.js";import"./lane-edit-display-C_Aujldz.js";import"./tail-events-NLIWLq27.js";import"./ConversationStatus-B6pAbo2w.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-CcEiQC6B.js";import"./lane-observe-BA3g9aVd.js";import"./lane-ask-display-B6iCAVcd.js";import"./ObserveTextFlow-_ApDwRCO.js";import"./SessionObserveEvidence-ClUW8jpV.js";import"./wrench-M4G7WtYB.js";import"./external-link-Dem738OJ.js";import"./AddProjectForm-Czb5uwou.js";import"./project-overview-helpers-BQTc_Ous.js";import"./api-BkjHJfgJ.js";import"./ui-LM8pS8qE.js";import"./SessionRefScreen-DLZNFZFK.js";/* empty css */import"./cache-Dr0why2k.js";import"./arrow-up-right-hoR8_oUz.js";import"./agents-project-model-UYiamtrU.js";import"./model-IGCUEsMy.js";import"./conversation-prefs-DNre-Lcx.js";import"./use-conversation-list-BCzY032j.js";import"./use-fleet-active-asks-CJ6-oj5k.js";import"./operator-attention-BwSPeheT.js";import"./openAgent-Dbv5wfuL.js";import"./HomeHero-BPBArHXa.js";import"./observe-3-jn4SXb.js";import"./agent-lanes-model-VYQ5a68i.js";import"./context-budget-DX_fwUs3.js";import"./home-moving-signal-C8dTXieA.js";import"./home-live-action-BkqGLVRY.js";import"./mesh-buckets-CfAukILK.js";import"./FleetSearch-CYeWn85V.js";import"./use-mesh-ops-items-D5L-CKe_.js";import"./left-agents-Dk9Y89lb.js";import"./left-default-B3JBRQNJ.js";import"./left-lanes-30Oe_3RM.js";import"./lane-roster-store-BiIVlYmG.js";import"./left-plan-B4qdm4Gn.js";import"./MissionLeftAgentRow-DokImu4Y.js";import"./page-status-0LPfBC8S.js";import"./usePersistentState-D3M4m2Ou.js";import"./terminal-relay-CjkI5aUy.js";import"./session-table-CYN8e4s3.js";import"./refresh-cw-B5To7b6B.js";import"./clock-of01sAB6.js";function lt(r,t){switch(r.view){case"inbox":case"activity":case"briefings":return{body:o.jsx(e,{}),footer:null};case"agents-v2":return{body:o.jsx(m,{route:r,navigate:t}),footer:null};case"agent-info":return{body:o.jsx(i,{}),footer:null};case"repos":case"repo-diff":case"code":return{body:null,footer:null};case"sessions":return{body:null,footer:null};case"terminal":return{body:o.jsx(a,{}),footer:null};case"messages":case"conversation":return{body:o.jsx(p,{}),footer:null};case"broker":case"work":case"follow":return{body:null,footer:null};case"search":return{body:null,footer:null};case"ops":return{body:o.jsx(l,{}),footer:null};case"mesh":return{body:o.jsx(s,{}),footer:o.jsx(f,{})};case"mesh-ops":return{body:o.jsx(n,{}),footer:null};case"harnesses":return{body:null,footer:null};case"settings":case"voice":return{body:null,footer:null};default:return{body:null,footer:null}}}export{lt as resolveSidebarContext};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as t}from"./index-o4FKpU7Z.js";import{u as h}from"./Provider-DKZWuzSR.js";import{o as j}from"./openAgent-Dbv5wfuL.js";import{n as v,i as u,c as d}from"./colors-BtO5_zlx.js";import{A as b}from"./AgentAvatar-DMov24_o.js";import{t as g}from"./time-Dhsh_2EG.js";import"./provider-BvAxRQfE.js";import"./router-C65cZYPn.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-AmSgHklm.js";import"./api-h5zurxmi.js";import"./sse-CL6gctHY.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-CxkmFQcN.js";import"./DocumentFocusViewer-DRKjNG9s.js";import"./createLucideIcon-Bt67PWH-.js";import"./TextDocumentSurface-Bc-kHPgG.js";/* empty css */import"./file-text-iF0hyVyU.js";import"./x-ynOfVadO.js";import"./chevron-right-C10o7t_X.js";import"./code-xml-CLn3TDWF.js";import"./arrow-left-BOht-YQu.js";import"./scout-voice-B7kXlkcl.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-Chf51dns.js";import"./MessageComposerSuggestions-Dfc3PH2y.js";import"./NewChatComposer-S08F6_La.js";import"./runtime-picker-eDEvx2Mz.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-4LDsy4Ke.js";import"./index-BMwKgdz_.js";import"./HarnessMark-MztYnrGK.js";import"./conversation-model-CHwHZNw-.js";import"./NewChatOrigin-BEz6jyqf.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-NAhBUkFd.js";import"./search-7_n7CxWl.js";import"./chunk-HRAB3GC3-DF8R9rPv.js";import"./openContent-C6XO6kr5.js";import"./SpriteAvatar-DQ3PTb8L.js";import"./agent-identity-BxCsXnDp.js";function xt(){const{agents:r,agentsLoaded:s,apiConnection:o,navigate:a,route:f}=h(),n=e=>j(a,e,{returnTo:f});if(!s)return t.jsx("div",{className:"flex h-full flex-col justify-center","aria-busy":"true",children:t.jsxs("div",{className:"base-rail-loading",role:"status","aria-label":"Loading agent roster",children:[t.jsx("span",{"aria-hidden":"true"}),t.jsx("span",{"aria-hidden":"true"}),t.jsx("span",{"aria-hidden":"true"}),t.jsx("span",{"aria-hidden":"true"})]})});if(r.length===0)return t.jsxs("div",{className:"flex h-full flex-col items-center justify-center px-4 text-center font-mono text-sm leading-relaxed text-[var(--scout-chrome-ink-faint)]",children:[t.jsx("div",{className:"mb-1 uppercase tracking-[0.15em]",children:o.status==="offline"?"Roster unavailable":"No agents"}),t.jsx("div",{children:o.status==="offline"?o.message:"Connect an agent to see your roster here."})]});const i=r.filter(e=>{const x=v(e.state,e);return x==="in_turn"||x==="in_flight"}),l=r.filter(e=>u(e.state,e)&&!i.includes(e)),m=r.filter(e=>!u(e.state,e));return t.jsxs("div",{className:"flex flex-col h-full overflow-y-auto frame-scrollbar p-4 gap-4 text-sm",children:[i.length>0&&t.jsx(c,{label:"In progress",count:i.length,children:i.map(e=>t.jsx(p,{agent:e,onOpen:n,subLabel:d(e.state,e)},e.id))}),l.length>0&&t.jsx(c,{label:"Callable",count:l.length,children:l.map(e=>t.jsx(p,{agent:e,onOpen:n},e.id))}),m.length>0&&t.jsx(c,{label:"Blocked",count:m.length,children:m.map(e=>t.jsx(p,{agent:e,onOpen:n,subLabel:d(e.state,e),dim:!0},e.id))})]})}function c({label:r,count:s,children:o}){return t.jsxs("div",{className:"flex flex-col",children:[t.jsxs("div",{className:"flex items-baseline justify-between mb-1.5",children:[t.jsx("span",{className:"text-2xs font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)]",children:r}),t.jsx("span",{className:"text-2xs font-mono tabular-nums text-[var(--scout-chrome-ink-ghost)]",children:s})]}),t.jsx("div",{className:"flex flex-col gap-0.5",children:o})]})}function p({agent:r,onOpen:s,subLabel:o,dim:a}){return t.jsxs("button",{onClick:()=>s(r),className:`group flex items-center gap-2.5 px-2 py-1.5 rounded-sm text-left transition-colors ${a?"opacity-60 hover:opacity-100 hover:bg-[var(--scout-chrome-hover)]":"hover:bg-[var(--scout-chrome-hover)]"}`,children:[t.jsx(b,{agent:r,placement:"row"}),t.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[t.jsx("span",{className:"truncate font-medium text-[var(--scout-chrome-ink)]",children:r.name}),o?t.jsx("span",{className:"truncate text-xs text-[var(--scout-chrome-ink-faint)]",children:o}):r.updatedAt?t.jsx("span",{className:"truncate text-xs text-[var(--scout-chrome-ink-ghost)]",children:g(r.updatedAt)}):null]})]})}export{xt as HomeRight};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as d,j as s}from"./index-
|
|
1
|
+
import{r as d,j as s}from"./index-o4FKpU7Z.js";/* empty css */import{a as P}from"./api-h5zurxmi.js";import{u as U,a as $,b as M,c as H,r as X,w as V,f as o,d as Y,e as _,t as z,g as Q,h as Z,i as ss,s as es}from"./ui-LM8pS8qE.js";import{B as as,u as ns}from"./selection-bridge-SlGsgHw2.js";function ts(n){return n.error!=null?{label:"SCAN ERR",cls:"err"}:n.status.conflicts>0?{label:"CONFLICT",cls:"conflict"}:n.status.clean?{label:"CLEAN",cls:"clean"}:{label:"DIRTY",cls:"dirty"}}function cs(n){const t=(n.state??"").toLowerCase();return t==="active"?"ACTIVE":t==="idle"?"IDLE":t==="waiting"?"WAITING":"—"}function ls(n){const t=n.lastIndexOf("/");return t<0?{dir:"",file:n}:{dir:n.slice(0,t+1),file:n.slice(t+1)}}function is(n){return n.status.clean?"clean":`staged ${n.status.staged}, unstaged ${n.status.unstaged}, untracked ${n.status.untracked}, conflicts ${n.status.conflicts}, changed files ${n.status.changedFiles}`}function rs(n,t,u){const l=["Operator request:",n,"","Repo Watch context:",`- Project: ${u.name}`,`- Project root: ${u.root}`,`- Project attention: ${u.attention}`,`- Worktree: ${t.path}`,`- Branch: ${t.branch.name??t.branch.head??"detached"}`];t.branch.upstream&&l.push(`- Upstream: ${t.branch.upstream}`),l.push(`- Drift: ahead ${t.branch.ahead}, behind ${t.branch.behind}`,`- Status: ${is(t)}`);const p=M(t),i=H(t);if(p.has&&l.push(`- Branch churn: +${p.add} -${p.del}`),i.has&&l.push(`- Working-tree churn: +${i.add} -${i.del}`),t.attentionReasons.length>0&&l.push(`- Attention reasons: ${t.attentionReasons.join("; ")}`),t.status.files.length>0){const T=t.status.files.slice(0,8).map(h=>`${h.status}: ${h.path}`).join(", ");l.push(`- Changed files: ${T}`)}return l.join(`
|
|
2
2
|
`)}function ds({worktree:n,project:t,generatedAt:u}){const[l,p]=d.useState(""),[i,T]=d.useState("scout"),[h,k]=d.useState(!1),[R,g]=d.useState(null),[O,A]=d.useState(null),[B,K]=d.useState(!1),x=d.useMemo(()=>n?U(n):[],[n]),E=d.useMemo(()=>x.slice(0,8),[x]),I=d.useMemo(()=>{if(i==="scout")return"Scout";const e=i.replace(/^agent:/,""),c=E.find(m=>m.id===e);return c?$(c):"Agent"},[E,i]);async function w(){const e=l.trim();if(!(!e||h||!n||!t)){k(!0),g(null),A(null);try{const c=rs(e,n,t);if(i==="scout")await P("/api/send",{method:"POST",body:JSON.stringify({body:c})}),g("Sent to Scout");else{const m=i.replace(/^agent:/,"");await P("/api/ask",{method:"POST",body:JSON.stringify({body:c,targetAgentId:m,targetLabel:m,metadata:{source:"repo-watch",originSurface:"repo-watch",handoffKind:"repo-watch-agent-ask",targetAgentId:m}})}),g(`Sent to ${I}`)}p("")}catch(c){A(c instanceof Error?c.message:String(c))}finally{k(!1)}}}if(!n||!t)return s.jsx("aside",{className:"rw-ctx","aria-label":"Worktree detail",children:s.jsxs("div",{className:"rw-ctx-empty",children:[s.jsx("span",{className:"eb",children:"CONTEXT · WORKTREE"}),s.jsx("span",{className:"msg",children:"Select a worktree to inspect"})]})});const a=n,r=a.branch,N=5,f=x.length+a.sessions.length,b=!B&&f>N,y=b?x.slice(0,N):x,D=b?a.sessions.slice(0,Math.max(0,N-y.length)):a.sessions,q=f-y.length-D.length,L=ts(a),j=M(a),v=H(a),{add:S,del:C,has:G}=X(a),W=S+C||1,F=[{label:"staged",n:a.status.staged},{label:"unstaged",n:a.status.unstaged},{label:"untracked",n:a.status.untracked},{label:"conflicts",n:a.status.conflicts,cls:"conf"}].filter(e=>e.n>0);return s.jsxs("aside",{className:"rw-ctx","aria-label":"Worktree detail",children:[s.jsxs("div",{className:"ctx-h",children:[s.jsx("div",{className:"ctx-eyebrow",children:s.jsx("span",{children:"CONTEXT · WORKTREE"})}),s.jsxs("div",{className:"ctx-repo",children:[s.jsx("span",{className:"dot "+V(a)}),s.jsx("span",{className:"rn",children:t.name}),s.jsx("span",{className:"ctx-state "+L.cls,children:L.label})]}),s.jsx("div",{className:"ctx-branch",children:s.jsx(as,{branch:r,fallback:a.name})}),s.jsxs("div",{className:"ctx-path",children:[a.path,r.upstream?s.jsxs("span",{className:"ref",children:[" · ",r.upstream]}):null]})]}),s.jsxs("div",{className:"ctx-stats",children:[s.jsxs("div",{children:[s.jsxs("div",{className:"v"+(r.ahead>0?" mint":" dim"),children:["↑",r.ahead]}),s.jsx("div",{className:"k",children:"AHEAD"})]}),s.jsxs("div",{children:[s.jsxs("div",{className:"v"+(r.behind>0?" amber":" dim"),children:["↓",r.behind]}),s.jsx("div",{className:"k",children:"BEHIND"})]}),s.jsxs("div",{children:[s.jsx("div",{className:"v"+(a.status.changedFiles>0?"":" dim"),children:a.status.changedFiles}),s.jsx("div",{className:"k",children:"FILES"})]})]}),F.length>0?s.jsx("div",{className:"ctx-breakdown",children:F.map(e=>s.jsxs("span",{className:"ctx-chip"+(e.cls?" "+e.cls:""),children:[s.jsx("span",{className:"n",children:e.n}),e.label]},e.label))}):null,s.jsxs("div",{className:"ctx-body",children:[a.attentionReasons.length>0?s.jsxs("div",{className:"ctx-sec",children:[s.jsxs("div",{className:"ctx-sec-h",children:[s.jsx("span",{children:"ATTENTION"}),s.jsx("span",{className:"n",children:a.attentionReasons.length})]}),s.jsx("div",{className:"ctx-why",children:a.attentionReasons.map((e,c)=>s.jsx("span",{className:"pill",children:e},c))})]}):null,a.error?s.jsxs("div",{className:"ctx-sec",children:[s.jsx("div",{className:"ctx-sec-h",children:s.jsx("span",{children:"SCAN ERROR"})}),s.jsx("div",{className:"ctx-err",children:a.error})]}):null,s.jsxs("div",{className:"ctx-sec",children:[s.jsxs("div",{className:"ctx-sec-h",children:[s.jsx("span",{children:"CHURN"}),s.jsx("span",{className:"n",children:j.has?"reviewable":"working tree"})]}),G?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"ctx-churn",children:[s.jsxs("span",{className:"nums",children:[s.jsxs("span",{className:"add",children:["+",o(S)]}),s.jsx("span",{className:"sl",children:"/"}),s.jsxs("span",{className:"del",children:["−",o(C)]})]}),s.jsxs("span",{className:"cbar",title:`+${o(S)} −${o(C)}`,children:[s.jsx("span",{className:"g",style:{width:S/W*100+"%"}}),s.jsx("span",{className:"r",style:{width:C/W*100+"%"}})]})]}),s.jsxs("span",{className:"ctx-churn-clean",children:[j.has?`branch +${o(j.add)} −${o(j.del)}`:null,j.has&&v.has?" · ":null,v.has?`working tree +${o(v.add)} −${o(v.del)}`:null]})]}):s.jsx("div",{className:"ctx-churn-clean",children:a.status.clean?"working tree clean":"no line changes"})]}),a.status.files.length>0?s.jsxs("div",{className:"ctx-sec",children:[s.jsxs("div",{className:"ctx-sec-h",children:[s.jsx("span",{children:"FILES CHANGED"}),s.jsx("span",{className:"n",children:a.status.files.length})]}),a.status.files.map(e=>{const c=Y(e.status),{dir:m,file:J}=ls(e.path);return s.jsxs("div",{className:"ctx-fchg",children:[s.jsx("span",{className:"badge",style:{color:Q(c),background:z(c)},title:e.status,children:_(e.status)}),s.jsxs("span",{className:"fp",title:e.path,children:[s.jsx("span",{className:"dir",children:m}),J]})]},e.path)})]}):null,s.jsxs("div",{className:"ctx-sec",children:[s.jsx("div",{className:"ctx-sec-h",children:s.jsx("span",{children:"LAST COMMIT"})}),s.jsx("div",{className:"ctx-commit",children:a.lastCommitAt!=null||r.head?s.jsxs(s.Fragment,{children:[r.head?s.jsx("span",{className:"hash",children:r.head.slice(0,7)}):null,s.jsxs("span",{className:"t",children:[Z(a.lastCommitAt,u)," ago"]})]}):s.jsx("span",{className:"none",children:"no commit data"})})]}),s.jsxs("div",{className:"ctx-sec",children:[s.jsxs("div",{className:"ctx-sec-h",children:[s.jsx("span",{children:"ATTACHED SESSIONS"}),s.jsxs("span",{className:"n",children:[x.length," handle",x.length===1?"":"s",a.sessions.length>0?` · ${a.sessions.length} session${a.sessions.length===1?"":"s"}`:""]})]}),f>0?s.jsxs(s.Fragment,{children:[y.map(e=>s.jsxs("div",{className:"ctx-agent",children:[s.jsx("span",{className:"d "+(ss(e)?"on":"off")}),s.jsx("span",{className:"h",children:$(e)}),s.jsx("span",{className:"role",children:cs(e)})]},$(e))),D.map(e=>s.jsxs("div",{className:"ctx-agent",children:[s.jsx("span",{className:"d off"}),s.jsx("span",{className:"h",children:es(e)}),s.jsx("span",{className:"role",children:"SESSION"})]},e.id)),f>N?s.jsx("button",{type:"button",className:"ctx-more",onClick:()=>K(e=>!e),"aria-expanded":!b,children:b?`+${q} more`:"Show less"}):null]}):s.jsx("div",{className:"ctx-none",children:"no attached sessions"})]})]}),s.jsxs("div",{className:"ctx-ask",children:[s.jsx("textarea",{value:l,onChange:e=>{p(e.currentTarget.value),g(null),A(null)},onKeyDown:e=>{e.stopPropagation(),(e.metaKey||e.ctrlKey)&&e.key==="Enter"&&(e.preventDefault(),w())},disabled:h,rows:3,placeholder:i==="scout"?"Message Scout about this worktree":"Message this agent about the worktree"}),s.jsxs("div",{className:"ctx-ask-bar",children:[s.jsxs("select",{value:i,onChange:e=>T(e.currentTarget.value),onKeyDown:e=>e.stopPropagation(),disabled:h,"aria-label":"Message target",children:[s.jsx("option",{value:"scout",children:"Scout"}),E.map(e=>s.jsx("option",{value:`agent:${e.id}`,children:$(e)},e.id))]}),s.jsx("button",{className:"ctx-btn primary",type:"button",disabled:h||l.trim().length===0,onClick:()=>{w()},children:h?"Sending":"Send"})]}),s.jsxs("div",{className:"ctx-ask-foot",children:[O?s.jsx("span",{className:"err",children:O}):R?s.jsx("span",{className:"ok",children:R}):s.jsxs("span",{children:["Repo Watch context included · ",I]}),s.jsx("button",{type:"button",title:"Copy worktree path",onClick:()=>{navigator.clipboard?.writeText(a.path)},children:"Copy path"})]})]})]})}function ps(){const{worktree:n,project:t,generatedAt:u,tone:l}=ns();return s.jsx("div",{className:"rw-scope rw-ctx-rail-scope tone-"+l,children:s.jsx(ds,{worktree:n,project:t,generatedAt:u})})}export{ps as ReposInspector,ps as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as e,r as i}from"./index-o4FKpU7Z.js";import{u as w}from"./Provider-DKZWuzSR.js";import{a as C}from"./api-h5zurxmi.js";import{u as B}from"./sse-CL6gctHY.js";import{t as g}from"./time-Dhsh_2EG.js";import{B as E,b as M}from"./BrokerScreen-DplF8d_X.js";import{b as S}from"./broker-display-pp33bLsu.js";import"./provider-BvAxRQfE.js";import"./router-C65cZYPn.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-AmSgHklm.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-CxkmFQcN.js";import"./DocumentFocusViewer-DRKjNG9s.js";import"./createLucideIcon-Bt67PWH-.js";import"./TextDocumentSurface-Bc-kHPgG.js";/* empty css */import"./file-text-iF0hyVyU.js";import"./x-ynOfVadO.js";import"./chevron-right-C10o7t_X.js";import"./code-xml-CLn3TDWF.js";import"./arrow-left-BOht-YQu.js";import"./scout-voice-B7kXlkcl.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-Chf51dns.js";import"./MessageComposerSuggestions-Dfc3PH2y.js";import"./NewChatComposer-S08F6_La.js";import"./runtime-picker-eDEvx2Mz.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-4LDsy4Ke.js";import"./index-BMwKgdz_.js";import"./HarnessMark-MztYnrGK.js";import"./conversation-model-CHwHZNw-.js";import"./NewChatOrigin-BEz6jyqf.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-NAhBUkFd.js";import"./search-7_n7CxWl.js";import"./chunk-HRAB3GC3-DF8R9rPv.js";import"./index-BWHgHrtv.js";import"./EmptyState-BUvllvA6.js";import"./clipboard-e3fSpeo7.js";import"./status-tone-BM_zuRy1.js";import"./openContent-C6XO6kr5.js";import"./BrokerMetadataPanel-jg7odHQp.js";import"./DispatchAftermath-DowTb7uO.js";import"./follow-route-BvcGtBIL.js";import"./arrow-up-right-hoR8_oUz.js";import"./ShikiPane-Dkwyx--r.js";import"./types-B0PlfpKc.js";/* empty css */import"./refresh-cw-B5To7b6B.js";import"./external-link-Dem738OJ.js";import"./sparkles-Bth2iK7t.js";import"./plus-C-2gTcPK.js";import"./send-horizontal-DP16OOIW.js";import"./check--esHw52j.js";import"./copy-Dty8ZYsM.js";import"./message-square-ER1_q2pe.js";import"./radio-v7UAMZGh.js";import"./bot-BUK7dOPS.js";function $(r){return`${Math.round(r*100)}%`}function R(r){switch(r){case"success":return"sent";case"failed_query":return"query";case"failed_delivery":return"delivery";default:return"attempt"}}function q(r){switch(r){case"dm":return"direct";case"channel":return"channel";case"broadcast":return"broadcast";case null:return"no route";default:return r}}function A(r){const t=new Map;for(const o of r){const n=q(o.route);t.set(n,(t.get(n)??0)+1)}return[...t.entries()].map(([o,n])=>({label:o,count:n})).sort((o,n)=>n.count-o.count||o.label.localeCompare(n.label)).slice(0,5)}function D(r){const t={sent:0,query:0,delivery:0,failures:0};for(const o of r)o.kind==="success"?t.sent+=1:o.kind==="failed_query"?t.query+=1:(o.kind==="failed_delivery"||o.kind==="delivery_attempt")&&(t.delivery+=1),S(o)&&(t.failures+=1);return t}function L(){const{inspectBrokerAttempt:r}=w(),[t,o]=i.useState(null),[n,f]=i.useState(null),l=i.useCallback(async()=>{try{const s=await C(M());o(s),f(null)}catch(s){f(s instanceof Error?s.message:String(s))}},[]);i.useEffect(()=>{l()},[l]),B(s=>{(s.kind==="message.posted"||s.kind==="delivery.planned"||s.kind==="delivery.attempted"||s.kind==="delivery.state.changed"||s.kind==="scout.dispatched")&&l()});const h=i.useMemo(()=>t?[...t.failedQueries,...t.failedDeliveries].sort((s,m)=>m.ts-s.ts).slice(0,4):[],[t]),v=i.useMemo(()=>t?t.attempts.slice().sort((s,m)=>m.ts-s.ts).slice(0,5):[],[t]),j=i.useMemo(()=>t?A(t.attempts):[],[t]),a=i.useMemo(()=>t?D(t.attempts):null,[t]),b=i.useCallback(s=>{r(s),window.dispatchEvent(new CustomEvent("scout:set-inspector-width",{detail:{width:420}}))},[r]);if(!t&&!n)return e.jsx("div",{className:"flex h-full flex-col overflow-y-auto frame-scrollbar p-4 gap-4 text-sm",children:e.jsx(u,{title:"Dispatch context",status:"Loading broker ledger..."})});if(!t)return e.jsxs("div",{className:"flex h-full flex-col overflow-y-auto frame-scrollbar p-4 gap-4 text-sm",children:[e.jsx(u,{title:"Dispatch context",status:"Broker diagnostics unavailable"}),e.jsx("div",{className:"rounded border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] p-2.5 text-sm leading-relaxed text-[var(--scout-chrome-ink-soft)]",children:n})]});const c=t.attempts.length,y=t.ledger.hasMore.attempts?"+":"",N=c>0&&a?a.failures/c:0;return e.jsxs("div",{className:"flex h-full flex-col overflow-y-auto frame-scrollbar p-4 gap-4 text-sm",children:[e.jsxs(u,{title:"Dispatch context",status:`${c}${y} latest route${c===1?"":"s"}`,children:[e.jsxs("div",{className:"mt-2 grid grid-cols-3 gap-1",children:[e.jsx(d,{label:"Sent",value:`${a?.sent??0}`}),e.jsx(d,{label:"Query",value:`${a?.query??0}`}),e.jsx(d,{label:"Delivery",value:`${a?.delivery??0}`})]}),e.jsxs("div",{className:"mt-2 flex items-center justify-between gap-2 border-t border-[var(--scout-chrome-border-soft)] pt-2 font-mono text-2xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-ghost)]",children:[e.jsxs("span",{children:[$(N)," failed"]}),e.jsx("span",{children:g(t.generatedAt)})]})]}),e.jsx(p,{label:"Route mix",children:e.jsx(_,{items:j,empty:"No route records visible"})}),e.jsx(p,{label:"Needs attention",children:h.length===0?e.jsx(x,{children:"No failed routes in history."}):e.jsx("div",{className:"flex flex-col gap-1.5",children:h.map(s=>e.jsx(k,{attempt:s,onOpen:b},s.id))})}),e.jsx(p,{label:"Recent dispatch",children:v.length===0?e.jsx(x,{children:"No recent dispatch rows."}):e.jsx("div",{className:"flex flex-col gap-1",children:v.map(s=>e.jsx(k,{attempt:s,onOpen:b,compact:!0},s.id))})})]})}function u({title:r,status:t,children:o}){return e.jsxs("div",{className:"rounded border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] p-2.5",children:[e.jsx("div",{className:"text-2xs font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)]",children:r}),e.jsx("div",{className:"mt-1 font-mono text-xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-soft)]",children:t}),o]})}function d({label:r,value:t}){return e.jsxs("div",{className:"min-w-0 rounded-sm border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-bg)] px-1.5 py-1",children:[e.jsx("div",{className:"font-mono text-2xs uppercase tracking-[0.1em] text-[var(--scout-chrome-ink-faint)]",children:r}),e.jsx("div",{className:"mt-0.5 truncate font-mono text-lg text-[var(--scout-chrome-ink-strong)]",children:t})]})}function p({label:r,children:t}){return e.jsxs("div",{className:"flex flex-col",children:[e.jsx("div",{className:"mb-1.5 text-2xs font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)]",children:r}),t]})}function _({items:r,empty:t}){return r.length===0?e.jsx(x,{children:t}):e.jsx("div",{className:"flex flex-wrap gap-1",children:r.map(o=>e.jsxs("span",{className:"rounded-sm border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] px-1.5 py-0.5 font-mono text-xs text-[var(--scout-chrome-ink-soft)]",title:`${o.count} ${o.label}`,children:[o.label," ",o.count]},o.label))})}function x({children:r}){return e.jsx("div",{className:"text-xs font-mono uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-ghost)]",children:r})}function k({attempt:r,onOpen:t,compact:o=!1}){return e.jsxs("button",{type:"button",className:"rounded border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] px-2 py-1.5 text-left transition-colors hover:border-[var(--scout-chrome-border)]",onClick:()=>t(r),children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"shrink-0 rounded-sm bg-[var(--scout-chrome-bg)] px-1 py-0.5 font-mono text-3xs uppercase tracking-[0.08em] text-[var(--scout-chrome-ink-faint)]",children:R(r.kind)}),e.jsx("span",{className:"min-w-0 flex-1 truncate text-sm text-[var(--scout-chrome-ink)]",children:r.detail}),e.jsx("span",{className:"shrink-0 font-mono text-2xs text-[var(--scout-chrome-ink-faint)]",children:g(r.ts)})]}),!o&&e.jsxs("div",{className:"mt-0.5 flex items-center gap-2 font-mono text-2xs text-[var(--scout-chrome-ink-ghost)]",children:[e.jsx("span",{className:"truncate",children:r.actorName??"unknown"}),e.jsx("span",{className:"shrink-0",children:"->"}),e.jsx("span",{className:"truncate",children:r.target??"none"})]})]})}function Ge({selectedAttempt:r,navigate:t,onClose:o}){return r?e.jsx(E,{attempt:r,navigate:t,onClose:o}):e.jsx(L,{})}export{Ge as BrokerRight};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as l,j as e}from"./index-o4FKpU7Z.js";import{u as P}from"./Provider-DKZWuzSR.js";import{a as g}from"./api-h5zurxmi.js";import{u as A}from"./sse-CL6gctHY.js";import{t as b}from"./time-Dhsh_2EG.js";import{o as k}from"./openContent-C6XO6kr5.js";import"./provider-BvAxRQfE.js";import"./router-C65cZYPn.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-AmSgHklm.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-CxkmFQcN.js";import"./DocumentFocusViewer-DRKjNG9s.js";import"./createLucideIcon-Bt67PWH-.js";import"./TextDocumentSurface-Bc-kHPgG.js";/* empty css */import"./file-text-iF0hyVyU.js";import"./x-ynOfVadO.js";import"./chevron-right-C10o7t_X.js";import"./code-xml-CLn3TDWF.js";import"./arrow-left-BOht-YQu.js";import"./scout-voice-B7kXlkcl.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-Chf51dns.js";import"./MessageComposerSuggestions-Dfc3PH2y.js";import"./NewChatComposer-S08F6_La.js";import"./runtime-picker-eDEvx2Mz.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-4LDsy4Ke.js";import"./index-BMwKgdz_.js";import"./HarnessMark-MztYnrGK.js";import"./conversation-model-CHwHZNw-.js";import"./NewChatOrigin-BEz6jyqf.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-NAhBUkFd.js";import"./search-7_n7CxWl.js";import"./chunk-HRAB3GC3-DF8R9rPv.js";import"./index-BWHgHrtv.js";function f(t){const r=t.replace(/[\\/]+$/,"").split(/[\\/]/).filter(Boolean);return r[r.length-1]??t}function N(t){const n=t?.trim();if(!n)return null;const r=f(n);return r.endsWith(".jsonl")?r.slice(0,-6):r}function L(t){return t.workspaceRoot?f(t.workspaceRoot):t.agentName??"unassigned"}function $(t){return t.harness?.trim()||t.kind?.trim()||"scout"}function w(t){return t.project?.trim()||(t.cwd?f(t.cwd):null)||"unknown"}function y(t,n=4){const r=new Map;for(const c of t){const a=c.trim()||"unknown";r.set(a,(r.get(a)??0)+1)}return[...r.entries()].map(([c,a])=>({label:c,count:a})).sort((c,a)=>a.count-c.count||c.label.localeCompare(a.label)).slice(0,n)}function ge(){const{route:t,navigate:n}=P(),[r,c]=l.useState([]),[a,h]=l.useState(null),p=l.useCallback(async()=>{const[u,d]=await Promise.allSettled([g("/api/sessions"),g("/api/tail/discover")]);u.status==="fulfilled"&&c(u.value),d.status==="fulfilled"&&h(d.value)},[]);if(l.useEffect(()=>{p()},[p]),A(()=>{p()}),t.view!=="sessions")return null;const s=t.sessionId?r.find(u=>u.id===t.sessionId)??null:null;return s?e.jsxs("div",{className:"flex flex-col h-full overflow-y-auto frame-scrollbar p-4 gap-4 text-sm",children:[e.jsxs("div",{className:"border-b border-[var(--scout-chrome-border-soft)] pb-3",children:[e.jsx("div",{className:"text-lg leading-snug text-[var(--scout-chrome-ink-strong)]",children:s.title}),e.jsx("div",{className:"text-xs font-mono uppercase tracking-wider text-cyan-400/70 mt-1",children:s.kind})]}),s.agentName&&e.jsxs(m,{label:"Agent",children:[e.jsx(x,{label:"Name",value:s.agentName}),s.harness&&e.jsx(x,{label:"Harness",value:s.harness})]}),(s.currentBranch||s.workspaceRoot)&&e.jsxs(m,{label:"Workspace",children:[s.currentBranch&&e.jsx(x,{label:"Branch",value:s.currentBranch}),s.workspaceRoot&&e.jsx(x,{label:"Root",value:s.workspaceRoot})]}),e.jsxs(m,{label:"Activity",children:[e.jsx(x,{label:"Messages",value:`${s.messageCount}`}),s.lastMessageAt&&e.jsx(x,{label:"Last",value:b(s.lastMessageAt)}),s.participantIds.length>0&&e.jsx(x,{label:"Participants",value:`${s.participantIds.length}`})]}),s.preview&&e.jsx(m,{label:"Preview",children:e.jsxs("div",{className:"text-sm italic leading-relaxed text-[var(--scout-chrome-ink-soft)]",children:['"',s.preview,'"']})})]}):e.jsx(I,{sessions:r,discovery:a,navigate:n,route:t})}function I({sessions:t,discovery:n,navigate:r,route:c}){const a=n?.transcripts??[],h=l.useMemo(()=>y([...t.map($),...a.map(o=>o.source||"unknown")],5),[t,a]),p=l.useMemo(()=>y([...t.map(L),...a.map(w)],5),[t,a]),s=l.useMemo(()=>a.slice().sort((o,i)=>i.mtimeMs-o.mtimeMs).slice(0,5),[a]),u=l.useMemo(()=>t.filter(o=>o.lastMessageAt).slice().sort((o,i)=>(i.lastMessageAt??0)-(o.lastMessageAt??0)).slice(0,5),[t]),d=n?.processes?.length??0,S=n?.totals.transcripts??a.length,R=d>0?"Live harness activity":"Quiet session surface";return e.jsxs("div",{className:"flex flex-col h-full overflow-y-auto frame-scrollbar p-4 gap-4 text-sm",children:[e.jsxs("div",{className:"rounded border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] p-2.5",children:[e.jsx("div",{className:"text-2xs font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)]",children:"Sessions context"}),e.jsxs("div",{className:"mt-2 grid grid-cols-3 gap-1",children:[e.jsx(v,{label:"Scout",value:`${t.length}`}),e.jsx(v,{label:"Raw",value:`${S}`}),e.jsx(v,{label:"Live",value:`${d}`})]}),e.jsxs("div",{className:"mt-2 flex items-center justify-between gap-2 border-t border-[var(--scout-chrome-border-soft)] pt-2 font-mono text-2xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-ghost)]",children:[e.jsx("span",{children:R}),e.jsxs("span",{children:[h.length," sources"]})]})]}),e.jsx(m,{label:"Sources",children:e.jsx(M,{items:h,empty:"No sources visible"})}),e.jsx(m,{label:"Project mix",children:e.jsx(M,{items:p,empty:"No projects visible"})}),e.jsx(m,{label:"Recent raw",children:s.length===0?e.jsx(j,{children:"No raw transcripts discovered."}):e.jsx("div",{className:"flex flex-col gap-1.5",children:s.map(o=>{const i=N(o.sessionId)??N(o.transcriptPath);return e.jsxs("button",{type:"button",className:"rounded border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] px-2 py-1.5 text-left transition-colors hover:border-[var(--scout-chrome-border)]",onClick:()=>{i&&k(r,{view:"sessions",sessionId:i},{returnTo:c})},disabled:!i,children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"shrink-0 rounded-sm bg-[var(--scout-chrome-bg)] px-1 py-0.5 font-mono text-3xs uppercase tracking-[0.08em] text-[var(--scout-chrome-ink-faint)]",children:o.source||"raw"}),e.jsx("span",{className:"min-w-0 flex-1 truncate text-sm text-[var(--scout-chrome-ink)]",children:w(o)}),e.jsx("span",{className:"shrink-0 font-mono text-2xs text-[var(--scout-chrome-ink-faint)]",children:b(o.mtimeMs)})]}),e.jsx("div",{className:"mt-0.5 truncate font-mono text-2xs text-[var(--scout-chrome-ink-ghost)]",children:i??f(o.transcriptPath)})]},`${o.source}:${o.transcriptPath}`)})})}),e.jsx(m,{label:"Recent Scout sessions",children:u.length===0?e.jsx(j,{children:"No recent Scout session messages."}):e.jsx("div",{className:"flex flex-col gap-1",children:u.map(o=>e.jsxs("button",{type:"button",className:"flex items-center gap-2 bg-transparent px-0 py-0.5 text-left",onClick:()=>k(r,{view:"sessions",sessionId:o.id},{returnTo:c}),children:[e.jsx("span",{className:"min-w-0 flex-1 truncate text-sm text-[var(--scout-chrome-ink-soft)]",children:o.title}),e.jsx("span",{className:"shrink-0 font-mono text-2xs text-[var(--scout-chrome-ink-faint)]",children:o.lastMessageAt?b(o.lastMessageAt):"-"})]},o.id))})})]})}function v({label:t,value:n}){return e.jsxs("div",{className:"min-w-0 rounded-sm border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-bg)] px-1.5 py-1",children:[e.jsx("div",{className:"font-mono text-2xs uppercase tracking-[0.1em] text-[var(--scout-chrome-ink-faint)]",children:t}),e.jsx("div",{className:"mt-0.5 truncate font-mono text-lg text-[var(--scout-chrome-ink-strong)]",children:n})]})}function M({items:t,empty:n}){return t.length===0?e.jsx(j,{children:n}):e.jsx("div",{className:"flex flex-wrap gap-1",children:t.map(r=>e.jsxs("span",{className:"rounded-sm border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] px-1.5 py-0.5 font-mono text-xs text-[var(--scout-chrome-ink-soft)]",title:`${r.count} ${r.label}`,children:[r.label," ",r.count]},r.label))})}function j({children:t}){return e.jsx("div",{className:"text-xs font-mono uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-ghost)]",children:t})}function m({label:t,children:n}){return e.jsxs("div",{className:"flex flex-col",children:[e.jsx("div",{className:"mb-1.5 text-2xs font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)]",children:t}),n]})}function x({label:t,value:n}){return e.jsxs("div",{className:"flex items-baseline justify-between py-0.5 gap-2",children:[e.jsx("span",{className:"shrink-0 text-xs font-mono uppercase tracking-wider text-[var(--scout-chrome-ink-faint)]",children:t}),e.jsx("span",{className:"truncate text-sm font-mono text-[var(--scout-chrome-ink)]",children:n})]})}export{ge as SessionsInspector};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as t,r as h}from"./index-o4FKpU7Z.js";import{u as Z}from"./Provider-DKZWuzSR.js";import{o as ee}from"./openAgent-Dbv5wfuL.js";import{o as F}from"./openContent-C6XO6kr5.js";import{i as pe,s as te,c as se,n as D,d as X}from"./colors-BtO5_zlx.js";import{t as O,c as ne}from"./time-Dhsh_2EG.js";import{f as oe}from"./text-DsBWV_4k.js";import{a as R}from"./api-h5zurxmi.js";import{u as L}from"./sse-CL6gctHY.js";import{r as E}from"./terminal-relay-CjkI5aUy.js";import{q as re}from"./terminal-takeover-7AvNpnkC.js";import{r as fe,s as ve,a as be,b as je,c as ke}from"./session-catalog-_QfQ7fhZ.js";import{p as ae}from"./model-Co0zkMIc.js";import{u as ge}from"./ContextMenu-CxkmFQcN.js";import{A as Ne}from"./AgentAvatar-DMov24_o.js";import{A as we}from"./AgentLiveActions-0iy8QZ1T.js";import{T as H}from"./TmuxPeek-DLyDkq_D.js";import"./provider-BvAxRQfE.js";import"./router-C65cZYPn.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-AmSgHklm.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./DocumentFocusViewer-DRKjNG9s.js";import"./createLucideIcon-Bt67PWH-.js";import"./TextDocumentSurface-Bc-kHPgG.js";/* empty css */import"./file-text-iF0hyVyU.js";import"./x-ynOfVadO.js";import"./chevron-right-C10o7t_X.js";import"./code-xml-CLn3TDWF.js";import"./arrow-left-BOht-YQu.js";import"./scout-voice-B7kXlkcl.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-Chf51dns.js";import"./MessageComposerSuggestions-Dfc3PH2y.js";import"./NewChatComposer-S08F6_La.js";import"./runtime-picker-eDEvx2Mz.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-4LDsy4Ke.js";import"./index-BMwKgdz_.js";import"./HarnessMark-MztYnrGK.js";import"./conversation-model-CHwHZNw-.js";import"./NewChatOrigin-BEz6jyqf.js";import"./chevron-down-NAhBUkFd.js";import"./search-7_n7CxWl.js";import"./chunk-HRAB3GC3-DF8R9rPv.js";import"./index-BWHgHrtv.js";import"./SpriteAvatar-DQ3PTb8L.js";import"./agent-identity-BxCsXnDp.js";import"./eye-B3lBIwJZ.js";import"./terminal-By1Lw2i2.js";/* empty css */import"./refresh-cw-B5To7b6B.js";const ye=new Intl.NumberFormat("en-US"),Ce=new Intl.NumberFormat("en-US",{notation:"compact",maximumFractionDigits:1});function M(e){return typeof e!="number"||!Number.isFinite(e)?"-":Math.abs(e)<1e3?ye.format(e):Ce.format(e).toLowerCase()}function Se(e){if(!Number.isFinite(e)||e<=0)return"0s";if(e<60)return`${Math.round(e)}s`;const s=Math.round(e),a=Math.floor(s/3600),r=Math.floor(s%3600/60),i=s%60;return a>0?`${a}h ${r}m`:r>=10||i===0?`${r}m`:`${r}m ${i}s`}function Ie(e){return e.replace(/\.local$/i,"").replace(/-local-openscout$/i,"")}function z(e){const s=e?.trim();return s?s.toLowerCase()==="a2a"?"A2A":s:null}function Y(e){const s=e?.trim();return s?s==="claude_stream_json"?"Claude stream-json worker":s==="codex_app_server"?"Codex app server":s==="pi_rpc"?"Pi RPC":s==="tmux"?"tmux terminal":s:null}function ie(e){return!!(e.providerName||z(e.protocol)||(e.skills?.length??0)>0)}async function Ae(e){await R("/api/local-path/reveal",{method:"POST",body:JSON.stringify({path:e.path,agentId:e.agentId,...e.basePath?{basePath:e.basePath}:{},...e.sessionId?{sessionId:e.sessionId}:{}})})}function ce(e){Ae(e).catch(s=>{console.warn("Failed to reveal local path",s)})}function Wt(){const{route:e,agents:s,navigate:a}=Z();if(e.view==="agent-info")return t.jsx(Re,{conversationId:e.conversationId,agents:s,navigate:a,route:e});if(e.view==="agents-v2"){if(!e.agentId)return null;const r=s.find(i=>i.id===e.agentId)??null;return r?t.jsx(le,{agent:r,agents:s,navigate:a,route:e,observeMode:e.tab==="observe",showStaticIdentity:!1}):null}return null}function Re({conversationId:e,agents:s,navigate:a,route:r}){const[i,m]=h.useState(null),[x,v]=h.useState(null),[p,f]=h.useState(!1),n=h.useCallback(async()=>{const o=await R(`/api/session/${encodeURIComponent(e)}`).catch(()=>null);m(o),f(!0)},[e]);h.useEffect(()=>{f(!1),n()},[n]),L(()=>{n()});const l=i?.agentId??null;h.useEffect(()=>{if(!l||s.some(c=>c.id===l)){v(null);return}let o=!1;return R(`/api/agents/${encodeURIComponent(l)}`).then(c=>{o||v(c)}).catch(()=>{o||v(null)}),()=>{o=!0}},[s,l]);const u=h.useMemo(()=>l?s.find(o=>o.id===l)??(x?.id===l?x:null):null,[x,s,l]);return p?u?t.jsx(le,{agent:u,agents:s,navigate:a,route:r,observeMode:!1}):t.jsxs("div",{className:"flex flex-col h-full overflow-y-auto frame-scrollbar p-4 gap-4 text-sm",children:[t.jsx(w,{label:"Conversation",value:e}),t.jsx("div",{className:"mt-2 text-xs font-mono uppercase tracking-[0.15em] leading-relaxed text-[var(--scout-chrome-ink-ghost)]",children:"No live agent registration matches this profile."})]}):t.jsx("div",{className:"flex h-full items-center justify-center p-4 text-center text-sm italic text-[var(--scout-chrome-ink-faint)]",children:"Loading agent context..."})}function le({agent:e,agents:s,navigate:a,route:r,observeMode:i,showStaticIdentity:m=!0}){const x=pe(e.state),[v,p]=h.useState(null),[f,n]=h.useState(null),[l,u]=h.useState(null),o=e.skills??[],c=z(e.protocol),j=ie(e),y=h.useCallback(async()=>{const[k,xe,he]=await Promise.all([R("/api/fleet").catch(()=>null),R(`/api/agents/${encodeURIComponent(e.id)}/session-catalog`).catch(()=>null),R(`/api/agents/${encodeURIComponent(e.id)}/observe`).catch(()=>null)]);k&&p(k),n(xe),u(he)},[e.id]);h.useEffect(()=>{y()},[y]),h.useEffect(()=>{n(null),u(null)},[e.id]),L(()=>{y()});const{focusedSession:d,focusSession:C}=Z(),N=fe(e,f),S=h.useMemo(()=>ve(f?.sessions??[],N),[f?.sessions,N]),$=r.view==="agents-v2"&&r.agentId===e.id?r.sessionId:null,I=be(e.id,d,N,S,$),P=je($,S);h.useEffect(()=>{P&&(d?.agentId===e.id&&d.sessionId===P||C(e.id,P))},[e.id,d?.agentId,d?.sessionId,C,P]);const b=S.find(k=>k.id===I)??null,_=!!(b&&N&&b.id===N),G=l?.sessionId?.trim()||l?.data.metadata?.session?.externalSessionId?.trim()||l?.data.metadata?.session?.threadId?.trim()||null,T=b&&_&&G?G:b?.id??null,U=b&&T&&T!==b.id?b.id:null,W=b?ke(e,f,b,_):{canObserve:!1,canTakeover:!1},me=()=>F(a,{view:"terminal",agentId:e.id,mode:"observe"},{returnTo:r}),B=()=>F(a,{view:"terminal",agentId:e.id,mode:"takeover"},{returnTo:r}),ue=()=>{if(E(e)){B();return}const k=f?.resumeCommand;if(k){re({command:k,cwd:f?.resumeCwd,agentId:e.id}).then(()=>B());return}B()};return m?t.jsxs("div",{className:"flex flex-col h-full overflow-y-auto frame-scrollbar p-4 gap-4 text-sm",children:[t.jsxs("div",{className:"flex items-center gap-3 border-b border-[var(--scout-chrome-border-soft)] pb-3",children:[t.jsx(Ne,{agent:e,placement:"inspector"}),t.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[t.jsx("span",{className:"truncate text-lg text-[var(--scout-chrome-ink-strong)]",children:e.name}),e.handle&&t.jsxs("span",{className:"text-xs font-mono text-[var(--scout-chrome-ink-faint)]",children:["@",e.handle]})]})]}),t.jsx(we,{agent:e,catalog:f,navigate:a,returnTo:r,variant:"compact"}),E(e)?.backend==="tmux"&&t.jsx(H,{agentId:e.id,lines:44,columns:132}),t.jsxs(g,{label:"State",children:[t.jsxs("div",{className:"flex items-baseline gap-2",children:[t.jsx("span",{className:"w-1.5 h-1.5 rounded-full",style:{background:te(e.state),opacity:x?1:.4}}),t.jsx("span",{className:"text-md capitalize text-[var(--scout-chrome-ink)]",children:se(e.state)})]}),e.updatedAt&&t.jsxs("div",{className:"mt-1 text-xs font-mono text-[var(--scout-chrome-ink-faint)]",children:["Updated ",O(e.updatedAt)]})]}),t.jsx(g,{label:"Presence",children:t.jsx(_e,{focusAgent:e,agents:s,onOpenAgent:k=>ee(a,k,{returnTo:r})})}),i&&t.jsx(J,{agentId:e.id}),v&&t.jsx(V,{asks:v.activeAsks,agentId:e.id,navigate:a}),t.jsxs(g,{label:"Identity",children:[e.providerName&&t.jsx(w,{label:"Provider",value:e.providerName}),c&&t.jsx(w,{label:"Protocol",value:c}),!j&&t.jsx(w,{label:"Class",value:e.agentClass}),!j&&e.role&&t.jsx(w,{label:"Role",value:oe(e.role)??e.role}),!j&&e.harness&&t.jsx(w,{label:"Harness",value:e.harness}),!j&&e.transport&&t.jsx(w,{label:"Transport",value:Y(e.transport)??e.transport}),(e.homeNodeName||e.homeNodeId)&&t.jsx(w,{label:"Host",value:Ie(e.homeNodeName??e.homeNodeId??"")})]}),o.length>0&&t.jsx(g,{label:`Skills · ${o.length}`,children:t.jsx("div",{className:"flex flex-wrap gap-1",children:o.map(k=>t.jsx("span",{className:"rounded-sm bg-[var(--scout-chrome-hover)] px-1.5 py-0.5 text-xs font-mono text-[var(--scout-chrome-ink-soft)]",children:k},k))})}),(e.project||e.branch||e.cwd)&&t.jsxs(g,{label:"Project",children:[e.project&&t.jsx(w,{label:"Name",value:e.project}),e.branch&&t.jsx(w,{label:"Branch",value:e.branch}),e.cwd&&t.jsx(w,{label:"Cwd",value:e.cwd})]}),e.capabilities.length>0&&t.jsx(g,{label:`Capabilities · ${e.capabilities.length}`,children:t.jsx("div",{className:"flex flex-wrap gap-1",children:e.capabilities.map(k=>t.jsx("span",{className:"rounded-sm bg-[var(--scout-chrome-hover)] px-1.5 py-0.5 text-xs font-mono text-[var(--scout-chrome-ink-soft)]",children:k},k))})}),t.jsx(Me,{agent:e,catalog:f,navigate:a,returnTo:r})]}):t.jsxs("div",{className:"flex flex-col h-full overflow-y-auto frame-scrollbar p-4 gap-4 text-sm",children:[b&&t.jsxs(g,{label:"Session",children:[t.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[t.jsx("span",{className:"truncate font-mono text-md text-[var(--scout-chrome-ink)]",title:T??b.id,children:de(T??b.id)}),t.jsx("span",{className:"shrink-0 font-mono text-2xs uppercase tracking-[0.12em]",style:{color:_?"var(--accent)":"var(--scout-chrome-ink-faint)"},children:_?"now":b.endedAt?`ended · ${O(b.endedAt)||"recent"}`:O(b.startedAt)||"recent"})]}),b.cwd&&t.jsx("div",{className:"mt-1 truncate font-mono text-2xs text-[var(--scout-chrome-ink-ghost)]",title:b.cwd,children:b.cwd}),T&&t.jsxs("div",{className:"mt-1 break-all font-mono text-2xs leading-snug text-[var(--scout-chrome-ink-faint)]",title:T,children:[t.jsx("span",{className:"uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-ghost)]",children:"id"})," ",T]}),U&&t.jsxs("div",{className:"mt-0.5 truncate font-mono text-2xs text-[var(--scout-chrome-ink-ghost)]",title:U,children:["profile ",U]}),t.jsx("div",{className:"mt-2.5 flex flex-col gap-1.5",children:t.jsxs(Te,{label:"Terminal",children:[t.jsx(q,{onClick:me,disabled:!W.canObserve,title:W.canObserve?"Watch the live terminal, read-only":"No live terminal to observe",children:"Observe"}),t.jsx(q,{onClick:ue,disabled:!W.canTakeover,title:W.canTakeover?"Grab the keyboard and drive it":"Can't take over this session",children:"Take over"})]})})]}),!i&&b&&t.jsx(Ee,{agentId:e.id,navigate:a,cwd:b.cwd??e.cwd,route:r}),E(e)?.backend==="tmux"&&t.jsx(H,{agentId:e.id,lines:44,columns:132}),t.jsx(g,{label:"Runtime",children:t.jsx($e,{agent:e})}),i&&t.jsx(J,{agentId:e.id}),v&&t.jsx(V,{asks:v.activeAsks,agentId:e.id,navigate:a})]})}function $e({agent:e}){const s=[],a=(m,x)=>{x&&x.trim()&&s.push({label:m,value:x.trim()})},r=z(e.protocol);return ie(e)?a("Protocol",r):(a("Role",oe(e.role)),a("Class",e.agentClass)),s.length===0?null:t.jsx("div",{className:"grid grid-cols-2 gap-x-3 gap-y-2",children:s.map(m=>t.jsxs("div",{className:"min-w-0",children:[t.jsx("div",{className:"font-mono text-3xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:m.label}),t.jsx("div",{className:"truncate font-mono text-sm text-[var(--scout-chrome-ink)]",children:m.value})]},m.label))})}function Te({label:e,children:s}){return t.jsxs("div",{className:"flex items-center gap-2.5",children:[t.jsx("span",{className:"w-[56px] shrink-0 font-mono text-3xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:e}),t.jsx("div",{className:"flex gap-1.5",children:s})]})}function q({onClick:e,disabled:s,title:a,children:r}){return t.jsx("button",{type:"button",onClick:e,disabled:s,title:a,className:"rounded-[4px] border border-[var(--scout-chrome-border-soft)] px-2.5 py-1 font-mono text-3xs uppercase tracking-[0.08em] text-[var(--scout-chrome-ink-soft)] transition-colors hover:bg-[var(--scout-chrome-active)] hover:text-[var(--scout-chrome-ink)] disabled:cursor-default disabled:opacity-40 disabled:hover:bg-transparent disabled:hover:text-[var(--scout-chrome-ink-soft)]",children:r})}function Me({agent:e,catalog:s,navigate:a,returnTo:r}){const i=ge(),m=E(e),x=s?.activeSessionId??(m?e.harnessSessionId??m.sessionName:null),p=h.useMemo(()=>Pe(e,s,x),[e,s,x]).filter(c=>c.id===x||!c.endedAt),f=p.slice(0,5);if(f.length===0)return null;const n=c=>F(a,{view:"terminal",agentId:e.id,mode:c},{returnTo:r}),l=()=>{if(m){n("takeover");return}s?.resumeCommand&&re({command:s.resumeCommand,cwd:s.resumeCwd,agentId:e.id}).then(()=>n("takeover"))},u=c=>F(a,{view:"sessions",sessionId:c},{returnTo:r}),o=(c,j,y)=>{const d=[];return j&&d.push({kind:"action",label:"Observe in terminal",onSelect:()=>n("observe")}),y&&d.push({kind:"action",label:"Takeover terminal",onSelect:l}),d.length>0&&d.push({kind:"separator"}),d.push({kind:"action",label:"Open session detail",onSelect:()=>u(c.id)}),d.push({kind:"action",label:"Open agent profile",onSelect:()=>ee(a,e,{returnTo:r})}),d};return t.jsx(g,{label:`Running sessions · ${p.length}`,children:t.jsxs("div",{className:"flex flex-col gap-1.5",children:[f.map(c=>{const j=c.id===x,y=j&&!!m,d=j&&(!!m||!!s?.resumeCommand),C=O(c.startedAt)||"recent",N=Y(c.transport)??c.harness??Y(e.transport)??e.harness??"session",S=j?C:c.endedAt?`${O(c.endedAt)||C} ended`:N,$=o(c,y,d);return t.jsxs("div",{onContextMenu:I=>i(I,$),className:`rounded border px-2 py-1.5 transition-colors ${j?"border-[color-mix(in_srgb,var(--accent)_40%,transparent)] bg-[color-mix(in_srgb,var(--accent)_8%,transparent)]":"border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)]"}`,children:[t.jsxs("button",{type:"button",title:y?`Observe terminal ${c.id}`:`Open session ${c.id}`,onClick:()=>y?n("observe"):u(c.id),className:"flex w-full items-center justify-between gap-2 bg-transparent p-0 text-left",children:[t.jsxs("span",{className:"flex min-w-0 flex-col",children:[t.jsxs("span",{className:"flex min-w-0 items-center gap-1.5",children:[j&&t.jsx("span",{className:"h-1.5 w-1.5 shrink-0 rounded-full bg-[var(--accent)]"}),t.jsx("span",{className:"truncate font-mono text-xs text-[var(--scout-chrome-ink)]",children:de(c.id)}),t.jsx("span",{className:"shrink-0 rounded-sm bg-[var(--scout-chrome-hover)] px-1 py-0.5 font-mono text-3xs uppercase tracking-[0.08em] text-[var(--scout-chrome-ink-faint)]",children:N})]}),t.jsx("span",{className:"mt-0.5 truncate font-mono text-2xs text-[var(--scout-chrome-ink-faint)]",children:c.cwd?ae(c.cwd):"workspace"})]}),t.jsxs("span",{className:"flex shrink-0 flex-col items-end",children:[t.jsx("span",{className:"font-mono text-2xs uppercase tracking-[0.12em] text-[var(--accent)]",children:j?"active":"running"}),t.jsx("span",{className:"mt-0.5 max-w-[78px] truncate font-mono text-2xs text-[var(--scout-chrome-ink-ghost)]",children:S})]})]}),t.jsx("button",{type:"button",title:"Session actions",onClick:I=>i(I,$),className:"mt-1.5 h-5 rounded border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] px-1.5 font-mono text-3xs uppercase tracking-[0.08em] text-[var(--scout-chrome-ink-faint)] hover:bg-[var(--scout-chrome-active)] hover:text-[var(--scout-chrome-ink)]",children:"..."})]},c.id)}),p.length>f.length&&t.jsxs("div",{className:"px-1 pt-0.5 font-mono text-2xs text-[var(--scout-chrome-ink-ghost)]",children:[p.length-f.length," more running"]})]})})}function Pe(e,s,a){const r=[...s?.sessions??[]],i=E(e);return i&&a&&!r.some(m=>m.id===a)&&r.unshift({id:a,startedAt:e.createdAt??e.updatedAt??Date.now(),cwd:e.cwd??e.projectRoot??".",...e.harness?{harness:e.harness}:{},transport:i.backend,model:e.model}),r.sort((m,x)=>{const v=m.endedAt??m.startedAt,p=x.endedAt??x.startedAt;return ne(v,p)})}function de(e){const s=e.replace(/^session[_:-]?/i,"");return s.length>10?s.slice(0,8):s}function J({agentId:e}){const[s,a]=h.useState(null),r=h.useCallback(async()=>{const i=await R(`/api/agents/${encodeURIComponent(e)}/observe`).catch(()=>null);a(i)},[e]);return h.useEffect(()=>{r()},[r]),L(()=>{r()}),s?.data?t.jsx(Oe,{agentId:e,data:s.data,sessionId:s.sessionId}):t.jsx(g,{label:"Trace",children:t.jsx("div",{className:"text-xs leading-relaxed text-[var(--scout-chrome-ink-faint)]",children:"Resolving session trace."})})}function Oe({agentId:e,data:s,sessionId:a}){const r=s.metadata?.session,i=s.events,m=s.files,x=i.filter(o=>o.kind==="tool").length,v=i.filter(o=>o.kind==="think").length,p=i.filter(o=>o.kind==="ask").length,f=i.filter(o=>o.kind==="tool"&&o.tool==="read").length,n=i.filter(o=>o.kind==="tool"&&(o.tool==="edit"||o.tool==="write")).length,l=i.length>0?i[i.length-1].t:0,u=r?.threadPath;return t.jsxs(t.Fragment,{children:[t.jsxs(g,{label:"Session",children:[a&&t.jsx(w,{label:"Active",value:a}),u&&t.jsx(Q,{label:"Source",path:u,basePath:r?.cwd??null,value:ae(u),agentId:e,sessionId:a}),r?.cwd&&t.jsx(Q,{label:"Workspace",path:r.cwd,value:r.cwd,agentId:e,sessionId:a})]}),t.jsx(g,{label:"Trace stats",children:t.jsxs("div",{className:"grid grid-cols-2 gap-1.5",children:[t.jsx(A,{label:"Turns",value:M(r?.turnCount)}),t.jsx(A,{label:"Tools",value:M(x)}),t.jsx(A,{label:"Thinks",value:M(v)}),t.jsx(A,{label:"Requests",value:M(p)}),t.jsx(A,{label:"Reads",value:M(f)}),t.jsx(A,{label:"Edits",value:M(n)}),t.jsx(A,{label:"Files",value:M(m.length)}),t.jsx(A,{label:"Window",value:Se(l)})]})}),m.length>0&&t.jsx(g,{label:`Files touched · ${m.length}`,children:t.jsx("div",{className:"flex flex-col gap-1",children:m.slice(0,8).map(o=>t.jsxs("button",{type:"button",title:o.path,onClick:()=>ce({path:o.path,basePath:r?.cwd??null,agentId:e,sessionId:a}),className:"flex items-center justify-between gap-2 rounded border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] px-2 py-1 text-left hover:border-[var(--accent)]",children:[t.jsx("span",{className:"min-w-0 truncate font-mono text-xs text-[var(--scout-chrome-ink-soft)]",children:o.path}),t.jsxs("span",{className:"shrink-0 font-mono text-2xs text-[var(--scout-chrome-ink-faint)]",children:["x",o.touches]})]},o.path))})})]})}function K(e,s){return e?.view==="agents-v2"?{...e,view:"agents-v2",agentId:s,tab:"observe"}:{view:"agents-v2",agentId:s,tab:"observe"}}function Ee({agentId:e,navigate:s,cwd:a,route:r}){const[i,m]=h.useState(null),x=h.useCallback(async()=>{const d=await R(`/api/agents/${encodeURIComponent(e)}/observe`).catch(()=>null);m(d)},[e]);h.useEffect(()=>{x()},[x]),L(()=>{x()});const v=i?.data;if(!v||v.files.length===0)return null;const p=v.files,n=[...p].sort((d,C)=>{const N=d.state==="read"?0:1,S=C.state==="read"?0:1;return N!==S?S-N:C.touches-d.touches}).slice(0,6),l=p.length-n.length,u=p.filter(d=>d.state!=="read").length,o=v.metadata?.session?.cwd??a??null,c=i.sessionId??v.metadata?.session?.externalSessionId??void 0,j=()=>s(o?{view:"repo-diff",path:o,agentId:e,include:"changed",...c?{sessionId:c}:{}}:K(r,e)),y=()=>s(o?{view:"repo-diff",path:o}:K(r,e));return t.jsxs(g,{label:"Files changed",children:[t.jsxs("div",{className:"mb-1.5 flex items-baseline justify-between font-mono text-3xs uppercase tracking-[0.14em] text-[var(--scout-chrome-ink-faint)]",children:[t.jsx("span",{children:u>0?`${u} changed`:"touched"}),t.jsx("span",{className:"tabular-nums",children:p.length})]}),t.jsxs("div",{className:"flex flex-col gap-1",children:[n.map(d=>{const C=d.path.replace(/\/+$/,"").split("/"),N=C.pop()??d.path,S=C.pop(),$=S?`${S}/`:"",I=d.state!=="read",P=d.state==="created"?"+":d.state==="modified"?"~":"·";return t.jsxs("div",{className:"flex items-baseline justify-between gap-2 font-mono text-xs leading-tight",title:`${d.path} · ${d.state}`,children:[t.jsxs("span",{className:"flex min-w-0 items-baseline gap-1.5",children:[t.jsx("span",{className:"flex-none tabular-nums",style:{color:I?"var(--accent)":"var(--scout-chrome-ink-ghost)"},children:P}),t.jsxs("span",{className:"flex min-w-0 items-baseline",children:[t.jsx("span",{className:"truncate text-[var(--scout-chrome-ink-ghost)]",children:$}),t.jsx("span",{className:"flex-none",style:{color:I?"var(--scout-chrome-ink-soft)":"var(--scout-chrome-ink-faint)"},children:N})]})]}),t.jsxs("span",{className:"shrink-0 tabular-nums text-2xs text-[var(--scout-chrome-ink-faint)]",children:["×",d.touches]})]},d.path)}),t.jsxs("div",{className:"mt-1 flex flex-wrap gap-x-3 gap-y-1",children:[t.jsxs("button",{type:"button",onClick:j,className:"w-fit cursor-pointer font-mono text-2xs uppercase tracking-[0.1em] text-[var(--accent)] hover:underline",children:["Session diff",l>0?` · +${l}`:""," →"]}),t.jsx("button",{type:"button",onClick:y,className:"w-fit cursor-pointer font-mono text-2xs uppercase tracking-[0.1em] text-[var(--scout-chrome-ink-faint)] hover:text-[var(--accent)] hover:underline",children:"Worktree diff →"})]})]})]})}function Q({label:e,path:s,basePath:a,value:r,agentId:i,sessionId:m}){return t.jsxs("div",{className:"flex items-baseline justify-between py-0.5 gap-2",children:[t.jsx("span",{className:"shrink-0 text-xs font-mono uppercase tracking-wider text-[var(--scout-chrome-ink-faint)]",children:e}),t.jsx("button",{type:"button",title:`Reveal ${s}`,onClick:()=>ce({path:s,basePath:a,agentId:i,sessionId:m}),className:"min-w-0 truncate bg-transparent p-0 text-right font-mono text-sm text-[var(--accent)] hover:text-[var(--scout-chrome-ink)] hover:underline",children:r})]})}function A({label:e,value:s}){return t.jsxs("div",{className:"rounded border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] px-2 py-1.5",children:[t.jsx("div",{className:"font-mono text-3xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:e}),t.jsx("div",{className:"mt-0.5 font-mono text-md text-[var(--scout-chrome-ink)]",children:s})]})}function _e({focusAgent:e,agents:s,onOpenAgent:a}){const p=h.useMemo(()=>{const n=s.filter(u=>u.id!==e.id),l=u=>{const o=D(u);return o==="in_turn"?0:o==="in_flight"?1:2};return n.slice().sort((u,o)=>{const c=l(u.state??""),j=l(o.state??"");return c!==j?c-j:ne(u.updatedAt,o.updatedAt)}).slice(0,8)},[s,e.id]),f=h.useMemo(()=>{const n=[{agent:e,x:120,y:90,focused:!0}];return p.forEach((l,u)=>{const o=2*Math.PI*u/Math.max(p.length,1)-Math.PI/2;n.push({agent:l,x:120+68*Math.cos(o),y:90+68*Math.sin(o),focused:!1})}),n},[e,p,120,90,68]);return t.jsxs("div",{className:"@container flex flex-wrap items-start gap-3",children:[t.jsxs("svg",{viewBox:"0 0 240 180",className:"block mx-auto shrink-0 w-full",style:{maxWidth:240},xmlns:"http://www.w3.org/2000/svg",children:[t.jsx("defs",{children:t.jsxs("radialGradient",{id:"inspMeshGlow",cx:"50%",cy:"50%",r:"50%",children:[t.jsx("stop",{offset:"0%",stopColor:"var(--accent)",stopOpacity:"0.06"}),t.jsx("stop",{offset:"100%",stopColor:"var(--accent)",stopOpacity:"0"})]})}),t.jsx("circle",{cx:120,cy:90,r:82,fill:"url(#inspMeshGlow)"}),t.jsx("circle",{cx:120,cy:90,r:68,fill:"none",stroke:"var(--border)",strokeDasharray:"2 4"}),f.slice(1).map((n,l)=>t.jsxs("g",{children:[t.jsx("line",{x1:120,y1:90,x2:n.x,y2:n.y,stroke:"var(--accent)",strokeWidth:1,opacity:.6}),t.jsx("circle",{r:2,fill:"var(--accent)",children:t.jsx("animateMotion",{dur:`${2+l*.3}s`,repeatCount:"indefinite",path:`M 120,90 L ${n.x},${n.y}`})})]},`e-${n.agent.id}`)),f.map(n=>{const l=D(n.agent.state),u=l==="in_turn"||l==="in_flight"||l==="callable",o=n.focused?14:9;return t.jsxs("g",{style:{cursor:"pointer"},onClick:()=>a(n.agent),children:[u&&t.jsxs("circle",{cx:n.x,cy:n.y,r:o+5,fill:"none",stroke:X(n.agent.name),strokeWidth:.8,opacity:.3,children:[t.jsx("animate",{attributeName:"r",values:`${o};${o+8};${o}`,dur:"2.5s",repeatCount:"indefinite"}),t.jsx("animate",{attributeName:"opacity",values:"0.3;0;0.3",dur:"2.5s",repeatCount:"indefinite"})]}),t.jsx("circle",{cx:n.x,cy:n.y,r:o,fill:X(n.agent.name),stroke:n.focused?"var(--accent)":"var(--surface)",strokeWidth:n.focused?1.5:1}),t.jsx("text",{x:n.x,y:n.y,dy:"0.35em",textAnchor:"middle",fontFamily:"var(--font-mono)",fontSize:n.focused?10:8,fontWeight:600,fill:"var(--scout-chrome-avatar-ink)",children:n.agent.name[0].toUpperCase()}),t.jsx("text",{x:n.x,y:n.y+o+10,textAnchor:"middle",fontFamily:"var(--font-mono)",fontSize:8,fill:"var(--dim)",letterSpacing:"0.04em",children:n.agent.name.length>9?n.agent.name.slice(0,8)+"...":n.agent.name})]},n.agent.id)})]}),p.length>0&&t.jsx("ul",{className:"@max-[380px]:hidden flex-1 min-w-[120px] flex flex-col gap-1 m-0 p-0 list-none",children:p.map(n=>{const l=D(n.state);return t.jsx("li",{children:t.jsxs("button",{type:"button",onClick:()=>a(n),className:"w-full flex items-center gap-2 py-1 px-1.5 rounded hover:bg-[var(--surface-hover)] text-left",children:[t.jsx("span",{"aria-hidden":!0,className:"shrink-0 w-2 h-2 rounded-full",style:{background:X(n.name)}}),t.jsx("span",{className:"flex-1 truncate text-sm font-mono text-[var(--scout-chrome-ink)]",children:n.name}),t.jsx("span",{"aria-hidden":!0,title:se(n.state),className:"shrink-0 w-1.5 h-1.5 rounded-full",style:{background:te(l)}})]})},n.id)})})]})}function V({asks:e,agentId:s,navigate:a}){const r=e.filter(i=>i.agentId===s&&(i.status==="needs_attention"||i.status==="queued"));return r.length===0?null:t.jsx(g,{label:`Incoming requests · ${r.length}`,children:t.jsx("div",{className:"flex flex-col gap-2",children:r.map(i=>t.jsxs("div",{className:"p-2.5 rounded-md border border-amber-500/30 bg-amber-500/[0.04] cursor-pointer hover:bg-amber-500/[0.08] transition-colors",onClick:()=>{i.conversationId&&a({view:"agents-v2",agentId:s,conversationId:i.conversationId})},children:[t.jsx("div",{className:"text-2xs font-mono uppercase tracking-[0.12em] text-amber-500/80 mb-1",children:"awaiting"}),t.jsx("div",{className:"line-clamp-2 text-sm leading-relaxed text-[var(--scout-chrome-ink)]",children:i.summary??i.task}),t.jsxs("div",{className:"mt-1.5 text-2xs font-mono text-[var(--scout-chrome-ink-ghost)]",children:[i.harness??"operator"," → ",i.agentName??"agent"]})]},i.invocationId))})})}function g({label:e,children:s}){return t.jsxs("div",{className:"flex flex-col",children:[t.jsx("div",{className:"mb-1.5 text-2xs font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)]",children:e}),s]})}function w({label:e,value:s}){return t.jsxs("div",{className:"flex items-baseline justify-between py-0.5 gap-2",children:[t.jsx("span",{className:"shrink-0 text-xs font-mono uppercase tracking-wider text-[var(--scout-chrome-ink-faint)]",children:e}),t.jsx("span",{className:"truncate text-sm font-mono text-[var(--scout-chrome-ink)]",title:s,children:s})]})}export{Wt as AgentsInspector};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as u,j as e}from"./index-o4FKpU7Z.js";import{u as j}from"./Provider-DKZWuzSR.js";import{o as b}from"./openContent-C6XO6kr5.js";import{a as N}from"./api-h5zurxmi.js";import{u as w}from"./sse-CL6gctHY.js";import{t as g,b as p}from"./time-Dhsh_2EG.js";import{C as y}from"./chevron-down-NAhBUkFd.js";import{C as I}from"./chevron-right-C10o7t_X.js";import{M as C}from"./message-square-ER1_q2pe.js";import"./provider-BvAxRQfE.js";import"./router-C65cZYPn.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-AmSgHklm.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-CxkmFQcN.js";import"./DocumentFocusViewer-DRKjNG9s.js";import"./createLucideIcon-Bt67PWH-.js";import"./TextDocumentSurface-Bc-kHPgG.js";/* empty css */import"./file-text-iF0hyVyU.js";import"./x-ynOfVadO.js";import"./code-xml-CLn3TDWF.js";import"./arrow-left-BOht-YQu.js";import"./scout-voice-B7kXlkcl.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-Chf51dns.js";import"./MessageComposerSuggestions-Dfc3PH2y.js";import"./NewChatComposer-S08F6_La.js";import"./runtime-picker-eDEvx2Mz.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-4LDsy4Ke.js";import"./index-BMwKgdz_.js";import"./HarnessMark-MztYnrGK.js";import"./conversation-model-CHwHZNw-.js";import"./NewChatOrigin-BEz6jyqf.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./search-7_n7CxWl.js";import"./chunk-HRAB3GC3-DF8R9rPv.js";import"./index-BWHgHrtv.js";const M=5;function Ne(){const{route:t,navigate:s}=j(),a=t.view==="work"?t.workId:null,[r,o]=u.useState(null),i=u.useCallback(async()=>{if(!a){o(null);return}try{o(await N(`/api/work/${encodeURIComponent(a)}`))}catch{o(null)}},[a]);if(u.useEffect(()=>{i()},[i]),w(()=>{a&&i()}),t.view!=="work")return null;if(!r)return e.jsx("div",{className:"flex h-full items-center justify-center px-4 text-center text-sm font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-ghost)]",children:"Loading work item…"});const d=O(r.state),m=T(r.attention),f=r.ownerName??r.ownerId??"Unassigned",l=r.nextMoveOwnerName??r.nextMoveOwnerId??null,h=l!==null&&(r.ownerId??null)!==(r.nextMoveOwnerId??null)&&l!==f,k=1+(h?1:0)+(r.priority?1:0)+2+(r.parentId?1:0)+(r.conversationId?1:0);return e.jsxs("div",{className:"flex flex-col h-full overflow-y-auto frame-scrollbar text-sm",children:[e.jsx("div",{className:"sticky top-0 z-10 border-b border-[var(--scout-chrome-border-soft)] bg-black/55 px-4 py-2 backdrop-blur",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:`h-1.5 w-1.5 rounded-full ${d.dot}`}),e.jsx("span",{className:`font-mono text-xs uppercase tracking-[0.15em] ${d.text}`,children:L(r.state)}),e.jsxs("span",{className:"min-w-0 flex-1 truncate text-xs text-[var(--scout-chrome-ink-faint)]",children:[e.jsx("span",{className:"text-[var(--scout-chrome-ink)]",children:f}),h&&e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"px-1 text-[var(--scout-chrome-ink-ghost)]",children:"→"}),e.jsx("span",{className:"text-[var(--scout-chrome-ink)]",children:l})]})]}),m&&e.jsx("span",{className:"shrink-0 rounded border border-amber-400/30 bg-amber-400/10 px-1.5 py-0.5 font-mono text-2xs uppercase tracking-[0.12em] text-amber-300/90",children:m})]})}),e.jsxs("div",{className:"flex flex-col gap-4 p-4",children:[e.jsxs(c,{label:"Case facts",children:[e.jsx(n,{label:"Phase",value:r.currentPhase}),e.jsx(n,{label:"Acceptance",value:r.acceptanceState.replace(/_/g," ")}),r.priority&&e.jsx(n,{label:"Priority",value:r.priority})]}),e.jsx(c,{label:"Timeline",children:r.timeline.length===0?e.jsx("div",{className:"text-xs text-[var(--scout-chrome-ink-faint)]",children:"No activity yet."}):e.jsx("div",{className:"flex flex-col gap-1.5",children:r.timeline.slice(0,M).map(x=>e.jsx(W,{item:x,onOpen:x.conversationId?()=>b(s,{view:"conversation",conversationId:x.conversationId},{returnTo:t}):void 0},x.id))})}),e.jsxs(c,{label:"Routing",collapsible:!0,defaultOpen:!1,count:k,children:[e.jsx(n,{label:"Owner",value:f}),h&&l&&e.jsx(n,{label:"Next move",value:l}),r.priority&&e.jsx(n,{label:"Priority",value:r.priority}),e.jsx(n,{label:"Children",value:`${r.activeChildWorkCount}`}),e.jsx(n,{label:"Flights",value:`${r.activeFlightCount}`}),r.lastMeaningfulAt&&e.jsx(n,{label:"Last update",value:g(r.lastMeaningfulAt)}),(r.conversationId||r.parentId)&&e.jsxs("div",{className:"mt-2 flex flex-col gap-1.5",children:[r.conversationId&&e.jsx(v,{label:"Open thread",onClick:()=>b(s,{view:"conversation",conversationId:r.conversationId},{returnTo:t})}),r.parentId&&r.parentTitle&&e.jsx(v,{label:r.parentTitle,eyebrow:"Parent",onClick:()=>b(s,{view:"work",workId:r.parentId},{returnTo:t})})]})]}),e.jsxs(c,{label:"Record",collapsible:!0,defaultOpen:!1,children:[e.jsx(n,{label:"Case ID",value:r.id}),e.jsx(n,{label:"Created",value:p(r.createdAt)}),e.jsx(n,{label:"Updated",value:p(r.updatedAt)}),e.jsx(n,{label:"Last activity",value:p(r.lastMeaningfulAt)})]}),r.lastMeaningfulSummary&&e.jsxs(c,{label:"Hudson context",collapsible:!0,defaultOpen:!1,children:[e.jsx("div",{className:"text-sm italic leading-relaxed text-[var(--scout-chrome-ink-soft)]",children:r.lastMeaningfulSummary}),e.jsxs("div",{className:"mt-2 flex gap-1.5",children:[e.jsx("span",{className:"rounded border border-[var(--scout-chrome-border-soft)] px-1.5 py-0.5 font-mono text-2xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:"Plan"}),e.jsx("span",{className:"rounded border border-[var(--scout-chrome-border-soft)] px-1.5 py-0.5 font-mono text-2xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:"Docs"}),e.jsx("span",{className:"rounded border border-[var(--scout-chrome-border-soft)] px-1.5 py-0.5 font-mono text-2xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:"Code"})]})]})]})]})}function L(t){switch(t){case"review":return"In review";case"waiting":return"Waiting";case"working":return"Working";case"done":return"Done";default:return t.replace(/_/g," ")}}function T(t){switch(t){case"badge":return"Noteworthy";case"interrupt":return"Blocked";default:return null}}function O(t){return/complete|done|finished/i.test(t)?{dot:"bg-emerald-400",text:"text-emerald-300/90"}:/fail|error/i.test(t)?{dot:"bg-red-400",text:"text-red-300/90"}:/block|wait|pause/i.test(t)?{dot:"bg-amber-400",text:"text-amber-300/90"}:/active|working|in[_-]?progress/i.test(t)?{dot:"bg-cyan-400",text:"text-cyan-300/90"}:{dot:"bg-[var(--scout-chrome-ink-faint)]",text:"text-[var(--scout-chrome-ink)]"}}function c({label:t,children:s,collapsible:a=!1,defaultOpen:r=!0,count:o}){const[i,d]=u.useState(r);return a?e.jsxs("div",{className:"flex flex-col",children:[e.jsxs("button",{type:"button",onClick:()=>d(m=>!m),className:"flex items-center gap-1.5 text-left text-2xs font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)] hover:text-[var(--scout-chrome-ink)]",children:[i?e.jsx(y,{"aria-hidden":"true",size:10,strokeWidth:2}):e.jsx(I,{"aria-hidden":"true",size:10,strokeWidth:2}),e.jsx("span",{children:t}),typeof o=="number"&&o>0&&e.jsx("span",{className:"rounded border border-[var(--scout-chrome-border-soft)] px-1 py-0 font-mono text-3xs tracking-[0.1em] text-[var(--scout-chrome-ink-faint)]",children:o})]}),i&&e.jsx("div",{className:"mt-1.5",children:s})]}):e.jsxs("div",{className:"flex flex-col",children:[e.jsx("div",{className:"mb-1.5 text-2xs font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)]",children:t}),s]})}function v({label:t,eyebrow:s,onClick:a}){return e.jsxs("button",{type:"button",onClick:a,className:"flex items-center justify-between gap-2 rounded border border-[var(--scout-chrome-border-soft)] bg-white/[0.025] px-2 py-1.5 text-left hover:border-cyan-400/25 hover:bg-cyan-400/10",children:[e.jsxs("span",{className:"min-w-0",children:[s&&e.jsx("span",{className:"block font-mono text-2xs uppercase tracking-[0.14em] text-[var(--scout-chrome-ink-faint)]",children:s}),e.jsx("span",{className:"block truncate font-mono text-xs text-[var(--scout-chrome-ink)]",children:t})]}),e.jsx(C,{"aria-hidden":"true",size:11,strokeWidth:1.8,className:"shrink-0 text-cyan-300/75"})]})}function W({item:t,onOpen:s}){const a=e.jsxs(e.Fragment,{children:[e.jsx("span",{className:`mt-1 h-1.5 w-1.5 shrink-0 rounded-full ${A(t)}`}),e.jsxs("span",{className:"min-w-0 flex-1",children:[e.jsxs("span",{className:"flex items-center justify-between gap-2",children:[e.jsx("span",{className:"font-mono text-2xs text-[var(--scout-chrome-ink-faint)]",children:g(t.at)}),e.jsx("span",{className:"shrink-0 rounded border border-[var(--scout-chrome-border-soft)] px-1 py-0.5 font-mono text-3xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-faint)]",children:_(t)})]}),e.jsx("span",{className:"mt-0.5 block truncate text-xs font-semibold text-[var(--scout-chrome-ink-strong)]",children:t.actorName??"system"}),t.title&&e.jsx("span",{className:"mt-0.5 block truncate text-xs leading-snug text-[var(--scout-chrome-ink)]",children:t.title}),t.summary&&e.jsx("span",{className:"mt-0.5 block text-xs leading-relaxed text-[var(--scout-chrome-ink-faint)]",style:{display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,overflow:"hidden"},children:t.summary})]})]}),r="flex gap-2 border-t border-[var(--scout-chrome-border-soft)] pt-1.5 first:border-t-0 first:pt-0",o=p(t.at);return s?e.jsx("button",{type:"button",onClick:s,title:o,className:`${r} text-left hover:text-cyan-300/90`,children:a}):e.jsx("div",{className:r,title:o,children:a})}function _(t){switch(t.kind){case"flight_started":return"flight started";case"flight_completed":return t.detailKind?`flight ${t.detailKind}`:"flight ended";case"message":return"message";default:return t.title??t.detailKind??"event"}}function A(t){return t.kind==="message"?"bg-cyan-400":t.kind==="flight_started"?"bg-lime-400":t.kind==="flight_completed"?t.detailKind?.includes("fail")?"bg-red-400":"bg-emerald-400":t.detailKind?.includes("interrupt")||t.detailKind?.includes("block")?"bg-amber-400":"bg-[var(--scout-chrome-ink-faint)]"}function n({label:t,value:s}){return e.jsxs("div",{className:"flex items-baseline justify-between py-0.5 gap-2",children:[e.jsx("span",{className:"shrink-0 text-xs font-mono uppercase tracking-wider text-[var(--scout-chrome-ink-faint)]",children:t}),e.jsx("span",{className:"truncate text-sm font-mono text-[var(--scout-chrome-ink)]",children:s})]})}export{Ne as WorkInspector};
|