@openscout/scout 0.2.107 → 0.2.108

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.
Files changed (473) hide show
  1. package/README.md +53 -16
  2. package/bin/scoutd +0 -0
  3. package/dist/build-manifest.json +3 -3
  4. package/dist/client/assets/ActivityScreen-C1H-vL0L.js +1 -0
  5. package/dist/client/assets/{AddProjectForm-CusDRiVO.js → AddProjectForm-4sVXmjfN.js} +1 -1
  6. package/dist/client/assets/{AdventureEvidence-CyegKk1V.js → AdventureEvidence-D5wq1vu8.js} +1 -1
  7. package/dist/client/assets/{AdventureReader-X-hbTOi0.js → AdventureReader-BICypcDY.js} +1 -1
  8. package/dist/client/assets/{AdventureScenery-LPXSVP67.js → AdventureScenery-CGEcG0zV.js} +1 -1
  9. package/dist/client/assets/AgentAdventures-5yBt-Zl3.js +1 -0
  10. package/dist/client/assets/{AgentAvatar-CrP1eXxk.js → AgentAvatar-Dn8TUv5W.js} +1 -1
  11. package/dist/client/assets/AgentConfigurationScreen-C0D9WNyL.js +1 -0
  12. package/dist/client/assets/AgentDefinitionsWorkspace-BzcBdC_s.js +1 -0
  13. package/dist/client/assets/{AgentDetailCard-DtHT3sCo.js → AgentDetailCard-CI-ufaEP.js} +1 -1
  14. package/dist/client/assets/AgentFloorView-D8tlGlgy.js +1 -0
  15. package/dist/client/assets/{AgentFloorWorld-CjoIa6jA.js → AgentFloorWorld-DqmnQexg.js} +1 -1
  16. package/dist/client/assets/AgentInfoScreen-BnRhfcFy.js +1 -0
  17. package/dist/client/assets/{AgentLaneCard-BaZ2g-f8.js → AgentLaneCard-pppHFROz.js} +1 -1
  18. package/dist/client/assets/{AgentLaneChrome-TF1SlJSc.js → AgentLaneChrome-RptImDFc.js} +1 -1
  19. package/dist/client/assets/{AgentLaneDetailSheet-EzEPsn3g.js → AgentLaneDetailSheet-BqbwGskh.js} +1 -1
  20. package/dist/client/assets/{AgentLaneSummaryResize-dpp7YvrX.js → AgentLaneSummaryResize-DaIgwyVh.js} +1 -1
  21. package/dist/client/assets/AgentLanesEmbedScreen-De6C4ZOw.js +1 -0
  22. package/dist/client/assets/{AgentLanesPreflight-Ry-aqDTr.js → AgentLanesPreflight-BQfj2twF.js} +1 -1
  23. package/dist/client/assets/{AgentLanesView-BJi9xXz6.js → AgentLanesView-CiISx7pu.js} +1 -1
  24. package/dist/client/assets/{AgentLiveActions-CfTupTEl.js → AgentLiveActions-CkRGkv13.js} +1 -1
  25. package/dist/client/assets/AgentMasterScreen-CijN_4tN.js +1 -0
  26. package/dist/client/assets/{AgentSessions-B1gOhDBf.js → AgentSessions-ghjQcSrh.js} +2 -2
  27. package/dist/client/assets/AgentsConsole-D8upjDpn.js +1 -0
  28. package/dist/client/assets/AgentsScreen-C17BFqjf.js +1 -0
  29. package/dist/client/assets/AgentsSubnav-_1GVC4hj.js +1 -0
  30. package/dist/client/assets/{AstronautSuit-Cchnc4Ug.js → AstronautSuit-Dzu4GOMR.js} +1 -1
  31. package/dist/client/assets/{AtopView-gkEp4y__.js → AtopView-DJK5b3lZ.js} +1 -1
  32. package/dist/client/assets/{BackToPicker-CUkjnoVk.js → BackToPicker-BPU7kbXq.js} +1 -1
  33. package/dist/client/assets/BriefingDetailScreen-CTvFw523.js +1 -0
  34. package/dist/client/assets/{BriefingsScreen-B1HlBMGZ.js → BriefingsScreen-DpVC3OUk.js} +1 -1
  35. package/dist/client/assets/{BrokerMetadataPanel-Dk242Yh_.js → BrokerMetadataPanel-glRVdwkU.js} +1 -1
  36. package/dist/client/assets/BrokerScreen-CqKsBwEx.js +8 -0
  37. package/dist/client/assets/{CastPicker-BXUtPAGC.js → CastPicker-Y29K5kKk.js} +1 -1
  38. package/dist/client/assets/ChannelComposer-D4EY9jVW.js +1 -0
  39. package/dist/client/assets/{ChannelSidebar-e9DOPulb.js → ChannelSidebar-CVmykV4d.js} +1 -1
  40. package/dist/client/assets/{CharacterFamilyPreview-DMfw7UM_.js → CharacterFamilyPreview-Bj8oMD-5.js} +1 -1
  41. package/dist/client/assets/{ChatAvatar-C3a_o5Hj.js → ChatAvatar-BsAOShUr.js} +1 -1
  42. package/dist/client/assets/{ChatBits-CsvxbToF.js → ChatBits-Cq54CmyB.js} +1 -1
  43. package/dist/client/assets/{ChatCollapsedStrip-FEmQ_G9J.js → ChatCollapsedStrip-B0DdrOo2.js} +1 -1
  44. package/dist/client/assets/{ChatRichInput-DhtwFxQE.js → ChatRichInput-DYJRhGTP.js} +1 -1
  45. package/dist/client/assets/ChatRightPanel-D94Lw7ud.js +1 -0
  46. package/dist/client/assets/ChatSpaceSurface-Cp532VmZ.js +1 -0
  47. package/dist/client/assets/{ChatSpaceTheme-CUH8bTZc.js → ChatSpaceTheme-DPzYpw-v.js} +1 -1
  48. package/dist/client/assets/{CodeDiffPane-DuQRwpgK.js → CodeDiffPane-DCgMUi39.js} +1 -1
  49. package/dist/client/assets/{CodeProjectPicker-ZQ6gSBpg.js → CodeProjectPicker-Dq787L77.js} +1 -1
  50. package/dist/client/assets/{CodeScreen-BXyKeL5T.js → CodeScreen-BN4TkiR0.js} +1 -1
  51. package/dist/client/assets/{CommsCanvas-THp0r_U8.js → CommsCanvas-Dh056d91.js} +1 -1
  52. package/dist/client/assets/{CommsDeck-BVmSMV2V.js → CommsDeck-CRXKIerH.js} +1 -1
  53. package/dist/client/assets/{CommsFlowGraph-DxoOaLF_.js → CommsFlowGraph-Cc48o9u_.js} +1 -1
  54. package/dist/client/assets/{CommsFlowMap-Vi8ziCPg.js → CommsFlowMap-Ckasql5e.js} +1 -1
  55. package/dist/client/assets/{CommsSelection-BUoRbu9o.js → CommsSelection-CuphnUny.js} +1 -1
  56. package/dist/client/assets/{ComposerAttachments-DW0AIb8k.js → ComposerAttachments-9uYp_Lh5.js} +1 -1
  57. package/dist/client/assets/ConversationComposer-hYtLurqy.js +1 -0
  58. package/dist/client/assets/ConversationFeedRows-Bu0ZJcy8.js +1 -0
  59. package/dist/client/assets/ConversationHeader-L9738YVP.js +1 -0
  60. package/dist/client/assets/{ConversationPanels-D9oC0xG5.js → ConversationPanels-D6KuqvGu.js} +2 -2
  61. package/dist/client/assets/ConversationScreen-Pzxy9x4m.js +2 -0
  62. package/dist/client/assets/ConversationStatus-BEefIbXq.js +1 -0
  63. package/dist/client/assets/{CrewAvatar-kTznzqcO.js → CrewAvatar-a_C_F9r_.js} +1 -1
  64. package/dist/client/assets/{CrewSprite-Dhryjx2c.js → CrewSprite-CguHb2Ny.js} +1 -1
  65. package/dist/client/assets/{CrewStage-vdO0qm3D.js → CrewStage-IPpS3Oja.js} +1 -1
  66. package/dist/client/assets/{CrewWorkspaces-DCBzAAS4.js → CrewWorkspaces-BTPtcEcx.js} +1 -1
  67. package/dist/client/assets/{DataTable-aH-jCyDq.js → DataTable-DnL_8SAu.js} +1 -1
  68. package/dist/client/assets/{DispatchAftermath-66uQAorV.js → DispatchAftermath-CoAYaL3B.js} +1 -1
  69. package/dist/client/assets/{DocumentFocusViewer-DJr0v0D_.js → DocumentFocusViewer-mxzPxQQW.js} +1 -1
  70. package/dist/client/assets/{EmbeddableSurfacesLab-BBa70EhJ.js → EmbeddableSurfacesLab-BAZ_eRMc.js} +1 -1
  71. package/dist/client/assets/{EmptyState-CZlrHXy-.js → EmptyState-DLiLgtPK.js} +1 -1
  72. package/dist/client/assets/{FileViewerPane-BAO6mtjD.js → FileViewerPane-Dc7AoVod.js} +1 -1
  73. package/dist/client/assets/{FleetRollCallHud-C5q2567n.js → FleetRollCallHud-VhpxVcGO.js} +1 -1
  74. package/dist/client/assets/FlightObserveScreen-C1kASP3J.js +1 -0
  75. package/dist/client/assets/{FloorContextSheet-2_NVPQor.js → FloorContextSheet-BfrXNoBn.js} +1 -1
  76. package/dist/client/assets/{FloorExchangePanel-BU1pPu8K.js → FloorExchangePanel-DsG1cRzu.js} +1 -1
  77. package/dist/client/assets/{FloorMessagePasses-cLW2UGNP.js → FloorMessagePasses-Cm3LbkHd.js} +1 -1
  78. package/dist/client/assets/{FloorReplay-VFzA6Kxc.js → FloorReplay-Bg7kA-tR.js} +1 -1
  79. package/dist/client/assets/FloorResourcesSheet-Ba9HubO2.js +1 -0
  80. package/dist/client/assets/{FloorSavedWork-BeHDejWz.js → FloorSavedWork-BDOvV3mA.js} +1 -1
  81. package/dist/client/assets/{FloorTacticalHUD-CO-iiFpb.js → FloorTacticalHUD-4d-Hr-YL.js} +1 -1
  82. package/dist/client/assets/{FollowScreen-CFfkIbc6.js → FollowScreen-DFVSlsQV.js} +1 -1
  83. package/dist/client/assets/{HarnessMark-C4naWc16.js → HarnessMark-CP-PWk2W.js} +1 -1
  84. package/dist/client/assets/HarnessesScreen-j-91IoOo.js +1 -0
  85. package/dist/client/assets/{HerdrSession-_t7yM8vX.js → HerdrSession-H2mmxeTK.js} +1 -1
  86. package/dist/client/assets/{HomeHero-DouPyNmz.js → HomeHero-g4H3Ctxg.js} +1 -1
  87. package/dist/client/assets/{HostAdvisorView-CnM1i8hW.js → HostAdvisorView-Cyt3b5Fq.js} +1 -1
  88. package/dist/client/assets/{InviteLandingScreen-CEjG2E34.js → InviteLandingScreen-C3DtAGD4.js} +1 -1
  89. package/dist/client/assets/{InviteSheet-CwxZtWCl.js → InviteSheet-BiGMNpsE.js} +1 -1
  90. package/dist/client/assets/{JumpPalette-O1aJE9gR.js → JumpPalette-goXAVByA.js} +1 -1
  91. package/dist/client/assets/{KnowledgeSearchInspector-32n9baT-.js → KnowledgeSearchInspector-BbOQIqdF.js} +1 -1
  92. package/dist/client/assets/KnowledgeSearchScreen-DC8yX-kA.js +1 -0
  93. package/dist/client/assets/{LaneToolHoverCard-CJa110yk.js → LaneToolHoverCard-B8Am_1DC.js} +1 -1
  94. package/dist/client/assets/LaneTraceDetailSheet-CngYIxdI.js +1 -0
  95. package/dist/client/assets/{LaneTraceEventFocus-TbrNHRj_.js → LaneTraceEventFocus-BRR_jcl9.js} +1 -1
  96. package/dist/client/assets/{MeshCanvas-DWZHYh1A.js → MeshCanvas-DzkuY_XI.js} +1 -1
  97. package/dist/client/assets/{MeshCanvasMinimap-iswYFpIb.js → MeshCanvasMinimap-BrscEPAH.js} +1 -1
  98. package/dist/client/assets/MeshScreen-CAtRB8K6.js +1 -0
  99. package/dist/client/assets/{MeshTopologyView-BVvtqI8q.js → MeshTopologyView-B1I2dAhu.js} +2 -2
  100. package/dist/client/assets/{MessageEmbeds-ksPazAKH.js → MessageEmbeds-B-FbWI7a.js} +1 -1
  101. package/dist/client/assets/MessagesScreen-hq7D3Lfi.js +1 -0
  102. package/dist/client/assets/{MissionContextRail-D62-Wis8.js → MissionContextRail-ClR8amG1.js} +1 -1
  103. package/dist/client/assets/MissionControlView-D6gbMrgx.js +1 -0
  104. package/dist/client/assets/{MissionFocusOverlay-C1zys3Jv.js → MissionFocusOverlay-CzeNgI9Q.js} +1 -1
  105. package/dist/client/assets/MissionLeftAgentRow-CB3cgeYr.js +1 -0
  106. package/dist/client/assets/{MissionLogPane-B19lYSY9.js → MissionLogPane-2PMEoG44.js} +1 -1
  107. package/dist/client/assets/NativeAreaScreen-BnlrAWT8.js +1 -0
  108. package/dist/client/assets/NativeAreaScreen-DSR5Tf6F.js +1 -0
  109. package/dist/client/assets/NativeAreaScreen-fGsxyeC3.js +1 -0
  110. package/dist/client/assets/{NewAgentModal-Bh-L-emz.js → NewAgentModal-4b_3aoZE.js} +1 -1
  111. package/dist/client/assets/{NewChatComposer-C97-iTMK.js → NewChatComposer-D-VB5vdt.js} +1 -1
  112. package/dist/client/assets/{NewChatOrigin-DFbF_XvR.js → NewChatOrigin-BYsEu9dZ.js} +1 -1
  113. package/dist/client/assets/{NodeDetailPanel-CElOEpCh.js → NodeDetailPanel-9NaEnZAQ.js} +1 -1
  114. package/dist/client/assets/{NodeMenu-B-jjHf1c.js → NodeMenu-BgJMmffZ.js} +1 -1
  115. package/dist/client/assets/{ObserveEmbedScreen-B7Qt69Ms.js → ObserveEmbedScreen-W7Q5HbXP.js} +2 -2
  116. package/dist/client/assets/{ObserveTextFlow-PFnG_10h.js → ObserveTextFlow-C0oQEerY.js} +2 -2
  117. package/dist/client/assets/{ObservedTopologyPanel-CUTIoLZJ.js → ObservedTopologyPanel-Ci7emnnj.js} +1 -1
  118. package/dist/client/assets/OpenScoutAppShell-Di9qdmI0.js +22 -0
  119. package/dist/client/assets/OpsAgentsView-DVotOMg2.js +1 -0
  120. package/dist/client/assets/OpsScreen-C955zgr3.js +1 -0
  121. package/dist/client/assets/OpsSubnav-CjMVj7Sk.js +1 -0
  122. package/dist/client/assets/ProjectAgentProfile-B1VqGSmu.js +1 -0
  123. package/dist/client/assets/{ProjectAgentProfileBar-DHuMKJj-.js → ProjectAgentProfileBar-DhVU7zew.js} +1 -1
  124. package/dist/client/assets/ProjectAgentProfileHero-CJk-Dx4t.js +1 -0
  125. package/dist/client/assets/ProjectsInbox-B7kap8nR.js +2 -0
  126. package/dist/client/assets/ProjectsRail-BhSaqbv0.js +1 -0
  127. package/dist/client/assets/ProjectsScreen-CSb7nwjb.js +1 -0
  128. package/dist/client/assets/ProjectsThreadAside-pEJutIO8.js +1 -0
  129. package/dist/client/assets/{Provider-C35yu29I.js → Provider-BEXAZWd9.js} +2 -2
  130. package/dist/client/assets/{RailRow-BjmWK420.js → RailRow-Ddz90weI.js} +1 -1
  131. package/dist/client/assets/RawSessionsTable-TdKlJIPl.js +1 -0
  132. package/dist/client/assets/RealtimeVoiceScreen-BU5KmlNo.js +8 -0
  133. package/dist/client/assets/{RenderedWorkerSprite-Dhlyg89J.js → RenderedWorkerSprite-BNhFXMIo.js} +1 -1
  134. package/dist/client/assets/{ReplayClock-348f17bW.js → ReplayClock-wLpb4VqN.js} +1 -1
  135. package/dist/client/assets/{ReplayLog-CBnAM3ui.js → ReplayLog-IUyQdklN.js} +1 -1
  136. package/dist/client/assets/{ReplayOutpost-DyRPfNFx.js → ReplayOutpost-C4djhjZJ.js} +1 -1
  137. package/dist/client/assets/{RepoDiffEmbedScreen-BWxvRDrS.js → RepoDiffEmbedScreen-BmQX_8E-.js} +1 -1
  138. package/dist/client/assets/{RepoDiffPageScreen-DN94irmY.js → RepoDiffPageScreen-B9oAjrC6.js} +1 -1
  139. package/dist/client/assets/{RepoDiffViewer-_4JVXBIW.js → RepoDiffViewer-Ch_lIMt-.js} +1 -1
  140. package/dist/client/assets/RepoDiffViewerLazy-DL6A2o_z.js +2 -0
  141. package/dist/client/assets/{ReposScreen-uMCpt0e9.js → ReposScreen-D-E7fSAB.js} +2 -2
  142. package/dist/client/assets/{RiggedWorkerCharacter-q6QRc7_o.js → RiggedWorkerCharacter-CF6fhzGd.js} +1 -1
  143. package/dist/client/assets/{SageModelStudio-CNDhZhgD.js → SageModelStudio-CSet_ITs.js} +1 -1
  144. package/dist/client/assets/{ScoutDeckSurface-CUaU4R6T.js → ScoutDeckSurface-BJ-fl8AX.js} +1 -1
  145. package/dist/client/assets/{ScoutSurface-3_25USO_.js → ScoutSurface-BvFRdce6.js} +1 -1
  146. package/dist/client/assets/{ScoutbotFxLab-CRqhYe0a.js → ScoutbotFxLab-CfPzycZ7.js} +1 -1
  147. package/dist/client/assets/{SecondaryNav-D7dbV2qo.js → SecondaryNav-1FjBDWuY.js} +1 -1
  148. package/dist/client/assets/{SessionContextStrip-CXfs9hUD.js → SessionContextStrip-BoiIxXvS.js} +1 -1
  149. package/dist/client/assets/{SessionEmbedScreen-D0zFmou-.js → SessionEmbedScreen-BizGNGOz.js} +1 -1
  150. package/dist/client/assets/{SessionHopMenu-E6VJZrE0.js → SessionHopMenu-DX6PJPNk.js} +1 -1
  151. package/dist/client/assets/{SessionObserve-DXxBvejJ.js → SessionObserve-Dw3bVQYF.js} +1 -1
  152. package/dist/client/assets/{SessionObserveEvidence-Cuj_KHxR.js → SessionObserveEvidence-uD1OX-R5.js} +1 -1
  153. package/dist/client/assets/SessionRefScreen-Ch9H-qVk.js +1 -0
  154. package/dist/client/assets/SessionsScreen-DUeP23Xy.js +1 -0
  155. package/dist/client/assets/{SettingsDrawer-juCpnbH6.js → SettingsDrawer-BVrP6J52.js} +3 -3
  156. package/dist/client/assets/SettingsScreen-BcJ05LE5.js +1 -0
  157. package/dist/client/assets/{SharedFloorCharacter-DNEiaOUh.js → SharedFloorCharacter-dnamlt1p.js} +1 -1
  158. package/dist/client/assets/SharedWorkFloor-H-e2TVj9.js +2 -0
  159. package/dist/client/assets/{ShikiPane-CRtTYkMj.js → ShikiPane-CDiIT_qn.js} +1 -1
  160. package/dist/client/assets/{SlidePanel-_CHAQdOa.js → SlidePanel-D5oPQocF.js} +1 -1
  161. package/dist/client/assets/{SpaceSwitcher-BLgSCf_T.js → SpaceSwitcher-WccPJ0fS.js} +1 -1
  162. package/dist/client/assets/{SpriteAvatar-CpZWf54-.js → SpriteAvatar-D53GaaK3.js} +1 -1
  163. package/dist/client/assets/{SproutActionSprite-BSiTS4en.js → SproutActionSprite-BrFCmgWS.js} +1 -1
  164. package/dist/client/assets/{StatusPill-2gCP6H7A.js → StatusPill-jT--OXbn.js} +1 -1
  165. package/dist/client/assets/{TailView-CYSijNTy.js → TailView-B44cSuyl.js} +2 -2
  166. package/dist/client/assets/Terminal-D0PanmIk.js +4 -0
  167. package/dist/client/assets/TerminalEmbedScreen-Eddi4sts.js +1 -0
  168. package/dist/client/assets/{TerminalHeaderMount-Cq4OD_xN.js → TerminalHeaderMount-CYYcKxQ-.js} +1 -1
  169. package/dist/client/assets/{TextDocumentSurface-D52m7Vd8.js → TextDocumentSurface-DBslUq9k.js} +1 -1
  170. package/dist/client/assets/{TmuxPeek-CXFeweMg.js → TmuxPeek-Ctw5yYO5.js} +1 -1
  171. package/dist/client/assets/{VoiceControlWell-DF3bjcYA.js → VoiceControlWell-BkjuWjYu.js} +1 -1
  172. package/dist/client/assets/{VoicePathDiagram-CmpHWfO-.js → VoicePathDiagram-u0i6ntbx.js} +1 -1
  173. package/dist/client/assets/{VoicePermissionsPanel-Ok2nfxHw.js → VoicePermissionsPanel-9Nuw-xCr.js} +1 -1
  174. package/dist/client/assets/{VoiceTurnDetails-wAByRaNB.js → VoiceTurnDetails-kS7lfbmt.js} +1 -1
  175. package/dist/client/assets/{VoiceTurnStage-edoJalLV.js → VoiceTurnStage-DLY6aYDg.js} +1 -1
  176. package/dist/client/assets/{VoiceTurnView-D-8g5E4r.js → VoiceTurnView-CF4tIldB.js} +1 -1
  177. package/dist/client/assets/{WorkDetailScreen-zQkNVy2F.js → WorkDetailScreen-BrrkENYq.js} +2 -2
  178. package/dist/client/assets/{WorkFilesViewer-vNt01sDd.js → WorkFilesViewer-B63sKRYZ.js} +1 -1
  179. package/dist/client/assets/{WorkRunView-BDkR7Edq.js → WorkRunView-DLIzAsc3.js} +1 -1
  180. package/dist/client/assets/WorldActorTalk-CHhFTiQV.js +1 -0
  181. package/dist/client/assets/{WorldCharacter-CIIlutQq.js → WorldCharacter-CJGx2DVy.js} +1 -1
  182. package/dist/client/assets/{WorldMinimap-B6HNgcDe.js → WorldMinimap-DL12pBw3.js} +1 -1
  183. package/dist/client/assets/{WorldSky-Jm2Z6dfW.js → WorldSky-BlPNvGLo.js} +1 -1
  184. package/dist/client/assets/{activity-CIlFrfPJ.js → activity-CXkZ620t.js} +1 -1
  185. package/dist/client/assets/{addon-fit-dFpj9Kfq.js → addon-fit-G3qi01sy.js} +1 -1
  186. package/dist/client/assets/{addon-webgl-BFCGRtGh.js → addon-webgl-Bo7kSgOB.js} +1 -1
  187. package/dist/client/assets/{agent-essentials-BGGvT5G6.js → agent-essentials-DnfdGmIX.js} +1 -1
  188. package/dist/client/assets/{agent-specialization-DDc7mLCW.js → agent-specialization-DYX_DSlY.js} +1 -1
  189. package/dist/client/assets/{arc.es-C1SQHJ3k.js → arc.es-CLA3XI14.js} +1 -1
  190. package/dist/client/assets/arrow-down--OUDFWIq.js +1 -0
  191. package/dist/client/assets/{arrow-left-MVUKauwQ.js → arrow-left-DNjQHf4C.js} +1 -1
  192. package/dist/client/assets/{arrow-right-Bp-FpE5V.js → arrow-right-A_yyXwoH.js} +1 -1
  193. package/dist/client/assets/arrow-up-DFy-9ghF.js +1 -0
  194. package/dist/client/assets/{arrow-up-right-BPedAgxO.js → arrow-up-right-DUW1A1Hb.js} +1 -1
  195. package/dist/client/assets/{book-open-CV98WMSp.js → book-open-B_idZgTF.js} +1 -1
  196. package/dist/client/assets/{bot-B4zLQ4IN.js → bot-BNv_ZJzi.js} +1 -1
  197. package/dist/client/assets/{chat-api-DSJMBYoT.js → chat-api-BHGHALv2.js} +1 -1
  198. package/dist/client/assets/{chat-message-markup-91DIry6R.js → chat-message-markup-esR-YLtN.js} +1 -1
  199. package/dist/client/assets/{chat-transport-DNS5CB2I.js → chat-transport-CtxnPLMU.js} +1 -1
  200. package/dist/client/assets/{check-lrJ3a73a.js → check-BM6QtbB7.js} +1 -1
  201. package/dist/client/assets/{chevron-down-l1mrh5S9.js → chevron-down-DEDSNJNY.js} +1 -1
  202. package/dist/client/assets/{chevron-right-DrfqcerI.js → chevron-right-B02kAw12.js} +1 -1
  203. package/dist/client/assets/{chevron-up-CETZJzjV.js → chevron-up-CzveykKG.js} +1 -1
  204. package/dist/client/assets/{chunk-HRAB3GC3-DbVLgbWX.js → chunk-HRAB3GC3-DVhUsgOw.js} +1 -1
  205. package/dist/client/assets/chunk-JTPDIGGW-hdpdYwXb.js +46 -0
  206. package/dist/client/assets/chunk-T65CQEWV-G_Z0lqtn.js +1 -0
  207. package/dist/client/assets/chunk-YOZR3KYS-apgUnfXh.js +2 -0
  208. package/dist/client/assets/{clock-BV1aqPkK.js → clock-8tb9t2t9.js} +1 -1
  209. package/dist/client/assets/{code-xml-BhcNbLWU.js → code-xml-E9gBuiVs.js} +1 -1
  210. package/dist/client/assets/{coffee-D7EAOdCk.js → coffee-D0YEK6-l.js} +1 -1
  211. package/dist/client/assets/{compass-63TUaz5_.js → compass-EmGkpxIe.js} +1 -1
  212. package/dist/client/assets/content-B-rn1rka.js +1 -0
  213. package/dist/client/assets/content-BHV-ZU8_.js +1 -0
  214. package/dist/client/assets/content-BI9yWpWC.js +1 -0
  215. package/dist/client/assets/content-BLVuukzF.js +1 -0
  216. package/dist/client/assets/content-BP3cQkAj.js +1 -0
  217. package/dist/client/assets/content-BRY-UTkP.js +1 -0
  218. package/dist/client/assets/content-BXTmYOPB.js +1 -0
  219. package/dist/client/assets/content-C3DZ77HZ.js +1 -0
  220. package/dist/client/assets/content-CPchclaV.js +1 -0
  221. package/dist/client/assets/{content-nGlEZhUI.js → content-CVqPTQnr.js} +1 -1
  222. package/dist/client/assets/content-CjAERU44.js +1 -0
  223. package/dist/client/assets/content-CoYG0nWL.js +1 -0
  224. package/dist/client/assets/content-DK1KeRPw.js +1 -0
  225. package/dist/client/assets/content-iWBSSXa6.js +1 -0
  226. package/dist/client/assets/content-ryJeaQk8.js +1 -0
  227. package/dist/client/assets/content-srNyLgDt.js +1 -0
  228. package/dist/client/assets/{conversation-icons-Tqba2d56.js → conversation-icons-Dxn9N1Kx.js} +1 -1
  229. package/dist/client/assets/conversation-motion-features-BfmPlONx.js +1 -0
  230. package/dist/client/assets/{copy-xKeM5ZtU.js → copy-C1XrY27_.js} +1 -1
  231. package/dist/client/assets/{cpu-BOTa_WLr.js → cpu-DVZ_LhPn.js} +1 -1
  232. package/dist/client/assets/{createLucideIcon-zZ8Hx7er.js → createLucideIcon-CKbjXlwv.js} +1 -1
  233. package/dist/client/assets/direct-voice-DAOUU-kc.js +10 -0
  234. package/dist/client/assets/discover-BNa3BPr_.js +2 -0
  235. package/dist/client/assets/embed-entry-gK3z8Yxi.js +2 -0
  236. package/dist/client/assets/{external-link-CUObqmgX.js → external-link-Df1R34rX.js} +1 -1
  237. package/dist/client/assets/{eye-LrO-cXQt.js → eye-CD-_aphP.js} +1 -1
  238. package/dist/client/assets/{file-code-corner-CsU7jJpu.js → file-code-corner-DtMWHBN3.js} +1 -1
  239. package/dist/client/assets/{file-text-CnISiiw6.js → file-text-BOJQiS8p.js} +1 -1
  240. package/dist/client/assets/{flag-C4wl8z2-.js → flag-CeKO8NoD.js} +1 -1
  241. package/dist/client/assets/{folder-D5prSkzz.js → folder-C2emmTHq.js} +1 -1
  242. package/dist/client/assets/{gauge-D9_5iJEm.js → gauge-BR5CrhRM.js} +1 -1
  243. package/dist/client/assets/{gestures-QZub3Ot9.js → gestures-Dh8szhcU.js} +1 -1
  244. package/dist/client/assets/{git-branch-B0_fPLO7.js → git-branch-C45vy8qT.js} +1 -1
  245. package/dist/client/assets/{go-shortcuts-DicR7sUf.js → go-shortcuts--25Qg0lD.js} +1 -1
  246. package/dist/client/assets/{home-moving-signal-rpMhsOJB.js → home-moving-signal-BiiyEKEb.js} +1 -1
  247. package/dist/client/assets/home-now-card-DaCpqUZe.js +1 -0
  248. package/dist/client/assets/{home-now-card-nano-B5Dv3-pb.js → home-now-card-nano-wbxgyY4q.js} +1 -1
  249. package/dist/client/assets/hooks-JNwYSH18.js +2 -0
  250. package/dist/client/assets/{index-EsrkGBcv.js → index-BFbLvCJn.js} +2 -2
  251. package/dist/client/assets/index-BRNHY2fp.css +1 -0
  252. package/dist/client/assets/index-BrXaMEdK.js +1 -0
  253. package/dist/client/assets/index-CXzJ_hGx.js +1 -0
  254. package/dist/client/assets/{index-CHD0qcfL.js → index-V8FYEUpD.js} +1 -1
  255. package/dist/client/assets/index-mYtyYeAe.js +1 -0
  256. package/dist/client/assets/{inspector-panel-BkgUDn6G.js → inspector-panel-BgU5xUln.js} +2 -2
  257. package/dist/client/assets/{keyboard-nav-DDHegDbx.js → keyboard-nav-CEe-ApvZ.js} +1 -1
  258. package/dist/client/assets/{lane-roster-store-D-RSWjb-.js → lane-roster-store-MraynTHP.js} +1 -1
  259. package/dist/client/assets/{layers-C8PDiMul.js → layers-ClmyjwpB.js} +1 -1
  260. package/dist/client/assets/{layout-grid-Cor2frzj.js → layout-grid-DG2-JaPn.js} +1 -1
  261. package/dist/client/assets/left-B66YR0c5.js +1 -0
  262. package/dist/client/assets/left-BP5P8lzw.js +2 -0
  263. package/dist/client/assets/left-BbCKRDbW.js +1 -0
  264. package/dist/client/assets/left-CaY5FK2k.js +1 -0
  265. package/dist/client/assets/left-CemrfeSs.js +1 -0
  266. package/dist/client/assets/left-DcYA26sH.js +1 -0
  267. package/dist/client/assets/left-DdMMaqFT.js +2 -0
  268. package/dist/client/assets/left-advisor-DBml48M5.js +1 -0
  269. package/dist/client/assets/left-agents-DowYF2ag.js +1 -0
  270. package/dist/client/assets/left-default-Bifaeg_V.js +1 -0
  271. package/dist/client/assets/left-lanes-BGhjdqpD.js +1 -0
  272. package/dist/client/assets/left-mission-CvXPUovR.js +1 -0
  273. package/dist/client/assets/library-CnC8uzJt.js +1 -0
  274. package/dist/client/assets/{loader-circle-OvccU82H.js → loader-circle-CCG7hG7z.js} +1 -1
  275. package/dist/client/assets/{local-agents-BqnoxJrq.js → local-agents-BMcFlY_x.js} +1 -1
  276. package/dist/client/assets/{log-in-7SnYqW5w.js → log-in-VL9mdgeE.js} +1 -1
  277. package/dist/client/assets/{machine-children-DxcqCLmd.js → machine-children-DvCiQxwA.js} +1 -1
  278. package/dist/client/assets/{mentions-ByUvhS-v.js → mentions-s5oW4aQU.js} +1 -1
  279. package/dist/client/assets/{mesh-ops-CiZ8xSAx.js → mesh-ops-9SzD3sPw.js} +1 -1
  280. package/dist/client/assets/{mesh-view-store-DZvJC4KU.js → mesh-view-store-CVqzYz4K.js} +1 -1
  281. package/dist/client/assets/{message-circle-CxRVKNE-.js → message-circle-BB3rFCVD.js} +1 -1
  282. package/dist/client/assets/{message-markup-Zwo3t4cI.js → message-markup-D1C7GzHo.js} +1 -1
  283. package/dist/client/assets/{message-square-BxesYglW.js → message-square-BwqBIfv5.js} +1 -1
  284. package/dist/client/assets/{mission-control-store-elEEsIvb.js → mission-control-store-e8F85JhP.js} +1 -1
  285. package/dist/client/assets/{monitor-DTTYEb73.js → monitor-M0VSmHQ-.js} +1 -1
  286. package/dist/client/assets/{nav-destinations-uorRqFxf.js → nav-destinations-B3R5zxFX.js} +1 -1
  287. package/dist/client/assets/{observe-BJqERJVj.js → observe-M3rLosT5.js} +1 -1
  288. package/dist/client/assets/{page-status-BswZLqvA.js → page-status-BIuh3C5p.js} +1 -1
  289. package/dist/client/assets/{panel-right-Bv7sP_fc.js → panel-right-WKLdPm0F.js} +1 -1
  290. package/dist/client/assets/{paperclip-BjcuP_Hx.js → paperclip-DLf_ABSv.js} +1 -1
  291. package/dist/client/assets/{pause-C2XTlkjs.js → pause-7mmEEvVx.js} +1 -1
  292. package/dist/client/assets/{persistent-state-KRk_yb0q.js → persistent-state-3mbBFRDO.js} +1 -1
  293. package/dist/client/assets/{pin-C2mFOV1l.js → pin-q_0gAA6i.js} +1 -1
  294. package/dist/client/assets/{play-FT6K3It1.js → play-N5-hnPCV.js} +1 -1
  295. package/dist/client/assets/{plus-DFDDeGKu.js → plus-B0hdY0fF.js} +1 -1
  296. package/dist/client/assets/profile-B7ZGToTo.js +1 -0
  297. package/dist/client/assets/{projects-inbox-C0FUCv_p.js → projects-inbox-CMFBjQt0.js} +1 -1
  298. package/dist/client/assets/{proxy-AJsmwA6h.js → proxy-k0ILOVkK.js} +1 -1
  299. package/dist/client/assets/{radio-DRoOZsws.js → radio-Bjqmv997.js} +1 -1
  300. package/dist/client/assets/{refresh-cw-BmVr7sCD.js → refresh-cw-BcqctLqo.js} +1 -1
  301. package/dist/client/assets/resolve-panes-wzGu9d8o.js +1 -0
  302. package/dist/client/assets/resolve-sidebar-context-C8SOo5oZ.js +1 -0
  303. package/dist/client/assets/right-9rMRZN_r.js +1 -0
  304. package/dist/client/assets/right-BHZq648O.js +1 -0
  305. package/dist/client/assets/{right-DWPVB-nK.js → right-BNJzCaH9.js} +1 -1
  306. package/dist/client/assets/right-CAd7lTvY.js +1 -0
  307. package/dist/client/assets/right-Cc57bCTW.js +1 -0
  308. package/dist/client/assets/right-DY49Prjj.js +1 -0
  309. package/dist/client/assets/right-DfU47xKY.js +1 -0
  310. package/dist/client/assets/right-Dr7vxdZl.js +1 -0
  311. package/dist/client/assets/right-DsE4aR3A.js +1 -0
  312. package/dist/client/assets/right-zlkRjnkv.js +1 -0
  313. package/dist/client/assets/{rocket-CGl4RTV7.js → rocket-BahsdUe6.js} +1 -1
  314. package/dist/client/assets/router-CJIx83Ia.js +1 -0
  315. package/dist/client/assets/runtime-picker-IRcTkMZ5.js +1 -0
  316. package/dist/client/assets/{scope-views-RUWwCVAr.js → scope-views-KDtZoLUC.js} +1 -1
  317. package/dist/client/assets/{scout-voice-CZx60X6E.js → scout-voice-Cdh6pCsb.js} +1 -1
  318. package/dist/client/assets/{scoutbot-markdown-BKEBSbG0.js → scoutbot-markdown-7PRQHaAc.js} +1 -1
  319. package/dist/client/assets/{scroll-text-DNjxhyO2.js → scroll-text-CA0QxBHu.js} +1 -1
  320. package/dist/client/assets/{search-DT42oyRW.js → search-Bv2IONmc.js} +1 -1
  321. package/dist/client/assets/secondaryNavConfig-Bmb-oRvD.js +1 -0
  322. package/dist/client/assets/{selection-bridge-x3wFUjxj.js → selection-bridge-CthAuPRw.js} +1 -1
  323. package/dist/client/assets/{send-horizontal-CH0-fbZE.js → send-horizontal-_Tf_It04.js} +1 -1
  324. package/dist/client/assets/{send-to-agent-session-DoKCDBJ4.js → send-to-agent-session-CWDHHgFB.js} +1 -1
  325. package/dist/client/assets/{server-QfsgMLk1.js → server-U_l8A83n.js} +1 -1
  326. package/dist/client/assets/{session-catalog-CvSdPHPe.js → session-catalog-Dx4tl3sx.js} +1 -1
  327. package/dist/client/assets/{session-recap-queue-41l2XVkI.js → session-recap-queue-GeicPLsQ.js} +1 -1
  328. package/dist/client/assets/{session-table-L-pns6Zl.js → session-table-BI62J4NP.js} +1 -1
  329. package/dist/client/assets/{sessions-view-Dc-QAa7O.js → sessions-view-lGMwwZY7.js} +1 -1
  330. package/dist/client/assets/{settings-BVh7kldq.js → settings-bo9X410k.js} +1 -1
  331. package/dist/client/assets/{sliders-horizontal-782VC_yy.js → sliders-horizontal-CPSx6wd2.js} +1 -1
  332. package/dist/client/assets/{sparkles-BjHq_DNK.js → sparkles-Br-bA2aZ.js} +1 -1
  333. package/dist/client/assets/{sse-BCPRocpq.js → sse-BVxO0zNp.js} +1 -1
  334. package/dist/client/assets/{tail-events-d0yAYxR0.js → tail-events-C6NWFB1N.js} +1 -1
  335. package/dist/client/assets/{terminal-hQKQygcf.js → terminal-DMBAZjPP.js} +1 -1
  336. package/dist/client/assets/{terminal-relay-Bxs1hp-j.js → terminal-relay-CpGHpDa8.js} +1 -1
  337. package/dist/client/assets/{terminal-takeover-Ay5C2c-M.js → terminal-takeover-CXwdoZ5j.js} +1 -1
  338. package/dist/client/assets/{triangle-alert-CHoRGdVO.js → triangle-alert-BZikHKuT.js} +1 -1
  339. package/dist/client/assets/use-beside-DopIbJwf.js +1 -0
  340. package/dist/client/assets/{use-conversation-list-CY4JciOV.js → use-conversation-list-CGtcpdPd.js} +1 -1
  341. package/dist/client/assets/{use-fleet-active-asks-CymmXWH4.js → use-fleet-active-asks-DAHOPYPV.js} +1 -1
  342. package/dist/client/assets/{use-mesh-node-state-BvaqtODo.js → use-mesh-node-state-BlWIPTc4.js} +1 -1
  343. package/dist/client/assets/{use-mesh-ops-items-BSYaqH_0.js → use-mesh-ops-items-pKWBro7o.js} +1 -1
  344. package/dist/client/assets/{use-reduced-motion-3gMYZNIp.js → use-reduced-motion-DkdIQBwh.js} +1 -1
  345. package/dist/client/assets/use-scout-dev-flags-CduUFb7l.js +1 -0
  346. package/dist/client/assets/{useAgentHoverCard-BANmpjMh.js → useAgentHoverCard-DNlXPYQf.js} +1 -1
  347. package/dist/client/assets/useContentSecondaryNav-LJGNYG3U.js +1 -0
  348. package/dist/client/assets/{useEmbedHeadline-D6pJRxUg.js → useEmbedHeadline-BeeBDb7E.js} +1 -1
  349. package/dist/client/assets/{usePierreRuntime-BAQdiN0L.js → usePierreRuntime-DUXZ-DTK.js} +1 -1
  350. package/dist/client/assets/useSidebarCollapse-DoMvU_2R.js +1 -0
  351. package/dist/client/assets/{users-BUjx36gx.js → users-BQPEIUfd.js} +1 -1
  352. package/dist/client/assets/{wrench-DR0i5BU7.js → wrench-C-wjicn5.js} +1 -1
  353. package/dist/client/assets/{x-DAehov0E.js → x-BcfhXYiF.js} +1 -1
  354. package/dist/client/assets/{xterm-BXQiLVnI.js → xterm-qXD45dc0.js} +1 -1
  355. package/dist/client/assets/{zap-CEjZNZbI.js → zap-BqL8ttGz.js} +1 -1
  356. package/dist/client/index.html +2 -2
  357. package/dist/main.mjs +1 -1
  358. package/package.json +26 -4
  359. package/server.json +2 -2
  360. package/dist/client/assets/ActivityScreen-CZmGwQ2U.js +0 -1
  361. package/dist/client/assets/AgentAdventures-BAgxdOF8.js +0 -1
  362. package/dist/client/assets/AgentConfigurationScreen-1L0IQm2w.js +0 -1
  363. package/dist/client/assets/AgentDefinitionsWorkspace-DguGs7jZ.js +0 -1
  364. package/dist/client/assets/AgentFloorView-DH4jiDgw.js +0 -1
  365. package/dist/client/assets/AgentInfoScreen-DYtmKkeE.js +0 -1
  366. package/dist/client/assets/AgentLanesEmbedScreen-BlSof_6S.js +0 -1
  367. package/dist/client/assets/AgentMasterScreen-EJhmuKgl.js +0 -1
  368. package/dist/client/assets/AgentsConsole-RXGqRvcb.js +0 -1
  369. package/dist/client/assets/AgentsScreen-ChwMBs11.js +0 -1
  370. package/dist/client/assets/AgentsSubnav-DwNX4yy0.js +0 -1
  371. package/dist/client/assets/BriefingDetailScreen-DrlC3qkm.js +0 -1
  372. package/dist/client/assets/BrokerScreen-DwOF6bMA.js +0 -8
  373. package/dist/client/assets/Canvas-X9pVSkw3.js +0 -1
  374. package/dist/client/assets/ChannelComposer-DoK7IDGa.js +0 -1
  375. package/dist/client/assets/ChatRightPanel-C1h_aIkn.js +0 -1
  376. package/dist/client/assets/ChatSpaceSurface-BXyLYKHn.js +0 -1
  377. package/dist/client/assets/ConversationComposer-CUQyArlk.js +0 -1
  378. package/dist/client/assets/ConversationFeedRows-DWiOfT-y.js +0 -1
  379. package/dist/client/assets/ConversationHeader-C-ZWscKj.js +0 -1
  380. package/dist/client/assets/ConversationScreen-CUfsQ4MR.js +0 -2
  381. package/dist/client/assets/ConversationStatus--IPm2nGh.js +0 -1
  382. package/dist/client/assets/FlightObserveScreen-DZ2mrw91.js +0 -1
  383. package/dist/client/assets/FloorResourcesSheet-C-kQ6Ren.js +0 -1
  384. package/dist/client/assets/HarnessesScreen-DX3NLcDG.js +0 -1
  385. package/dist/client/assets/KnowledgeSearchScreen-Dd6jrQ0A.js +0 -1
  386. package/dist/client/assets/LaneTraceDetailSheet-DYrd0BIf.js +0 -1
  387. package/dist/client/assets/MeshScreen-8nAzQVbm.js +0 -1
  388. package/dist/client/assets/MessagesScreen-C3WB4T21.js +0 -1
  389. package/dist/client/assets/MissionControlView-B9cNPXvl.js +0 -1
  390. package/dist/client/assets/MissionLeftAgentRow-vycMV77n.js +0 -1
  391. package/dist/client/assets/NativeAreaScreen-B1RLa85C.js +0 -1
  392. package/dist/client/assets/NativeAreaScreen-CV0OhGra.js +0 -1
  393. package/dist/client/assets/NativeAreaScreen-CzuZt6o1.js +0 -1
  394. package/dist/client/assets/OpenScoutAppShell-37PDFfA4.js +0 -31
  395. package/dist/client/assets/OpsAgentsView-DajlX8LO.js +0 -1
  396. package/dist/client/assets/OpsScreen-jVcaBKGi.js +0 -1
  397. package/dist/client/assets/OpsSubnav-BOOYShHE.js +0 -1
  398. package/dist/client/assets/ProjectAgentProfile-D_wlW4sQ.js +0 -1
  399. package/dist/client/assets/ProjectAgentProfileHero-Dbebtug1.js +0 -1
  400. package/dist/client/assets/ProjectsInbox-Cgu7B4--.js +0 -2
  401. package/dist/client/assets/ProjectsRail-CDWocin_.js +0 -1
  402. package/dist/client/assets/ProjectsScreen-B_CJycqW.js +0 -1
  403. package/dist/client/assets/ProjectsThreadAside-1MMl_qUD.js +0 -1
  404. package/dist/client/assets/RawSessionsTable-DzT90hWu.js +0 -1
  405. package/dist/client/assets/RealtimeVoiceScreen-B6ylX3WQ.js +0 -16
  406. package/dist/client/assets/RepoDiffViewerLazy-XGVC3WXv.js +0 -2
  407. package/dist/client/assets/SessionRefScreen-DqLSUlCE.js +0 -1
  408. package/dist/client/assets/SessionsScreen-BLIRkohT.js +0 -1
  409. package/dist/client/assets/SettingsScreen-BtGzE2-O.js +0 -1
  410. package/dist/client/assets/SharedWorkFloor-D9mf9KSg.js +0 -2
  411. package/dist/client/assets/Terminal-Bi97yb5s.js +0 -4
  412. package/dist/client/assets/TerminalEmbedScreen-Bqop67Bq.js +0 -1
  413. package/dist/client/assets/TerminalRelay-DrikpUSJ.js +0 -46
  414. package/dist/client/assets/WorldActorTalk-BvSg_b1y.js +0 -1
  415. package/dist/client/assets/content-B1lgE8qr.js +0 -1
  416. package/dist/client/assets/content-B5l11YyQ.js +0 -1
  417. package/dist/client/assets/content-BNZOZEpX.js +0 -1
  418. package/dist/client/assets/content-BRIxP155.js +0 -1
  419. package/dist/client/assets/content-BWd8gt8L.js +0 -1
  420. package/dist/client/assets/content-BfwS2jAK.js +0 -1
  421. package/dist/client/assets/content-C4p43_eT.js +0 -1
  422. package/dist/client/assets/content-CdYfaoDV.js +0 -1
  423. package/dist/client/assets/content-CzldLxw0.js +0 -1
  424. package/dist/client/assets/content-D-olnc4U.js +0 -1
  425. package/dist/client/assets/content-DTioimq4.js +0 -1
  426. package/dist/client/assets/content-LOebm3_d.js +0 -1
  427. package/dist/client/assets/content-oyzDM-LK.js +0 -1
  428. package/dist/client/assets/content-x1PHxED7.js +0 -1
  429. package/dist/client/assets/content-zX3ZY3T9.js +0 -1
  430. package/dist/client/assets/conversation-motion-features-C5zjuNwE.js +0 -1
  431. package/dist/client/assets/direct-voice-BbLPuJ04.js +0 -2
  432. package/dist/client/assets/discover-DJFxyV1k.js +0 -2
  433. package/dist/client/assets/embed-entry-Lyvu0Kfc.js +0 -2
  434. package/dist/client/assets/home-now-card-ByE6Umcx.js +0 -1
  435. package/dist/client/assets/hooks-_eCZZPsR.js +0 -2
  436. package/dist/client/assets/index-724SdE6r.js +0 -1
  437. package/dist/client/assets/index-CN4rBB_s.css +0 -1
  438. package/dist/client/assets/index-D1d98iYf.js +0 -1
  439. package/dist/client/assets/index-gGHPA-By.js +0 -1
  440. package/dist/client/assets/left-Bn5X7x2o.js +0 -2
  441. package/dist/client/assets/left-BqS0fYX1.js +0 -1
  442. package/dist/client/assets/left-CTCeeeD3.js +0 -1
  443. package/dist/client/assets/left-DhtVPVux.js +0 -1
  444. package/dist/client/assets/left-K39b-Wvx.js +0 -2
  445. package/dist/client/assets/left-KGmueNPt.js +0 -1
  446. package/dist/client/assets/left-P_GOYB-s.js +0 -1
  447. package/dist/client/assets/left-advisor-B0N47De2.js +0 -1
  448. package/dist/client/assets/left-agents-CsSNc51Y.js +0 -1
  449. package/dist/client/assets/left-default-BlO5LP2T.js +0 -1
  450. package/dist/client/assets/left-lanes-C4PhaJE6.js +0 -1
  451. package/dist/client/assets/left-mission-BjTE5vPa.js +0 -1
  452. package/dist/client/assets/library-CkWNPHRp.js +0 -1
  453. package/dist/client/assets/profile-DTmzN16I.js +0 -1
  454. package/dist/client/assets/provider-Dojd8quC.js +0 -1
  455. package/dist/client/assets/resolve-panes-pbY1fCWi.js +0 -1
  456. package/dist/client/assets/resolve-sidebar-context-YWkZTq1t.js +0 -1
  457. package/dist/client/assets/right-49kO-6nD.js +0 -1
  458. package/dist/client/assets/right-APtItA8A.js +0 -1
  459. package/dist/client/assets/right-BJwhPqtn.js +0 -1
  460. package/dist/client/assets/right-BPqrf4ek.js +0 -1
  461. package/dist/client/assets/right-D7djOy6K.js +0 -1
  462. package/dist/client/assets/right-DKOUCRob.js +0 -1
  463. package/dist/client/assets/right-DMNrVzg7.js +0 -1
  464. package/dist/client/assets/right-DppeMCy4.js +0 -1
  465. package/dist/client/assets/right-GAL5Mw1v.js +0 -1
  466. package/dist/client/assets/router-DCtl8wqb.js +0 -1
  467. package/dist/client/assets/runtime-picker-DXu2bOTh.js +0 -1
  468. package/dist/client/assets/secondaryNavConfig-CS1svh6n.js +0 -1
  469. package/dist/client/assets/use-beside-DoRC1nt0.js +0 -1
  470. package/dist/client/assets/use-scout-dev-flags-DS_pYYQd.js +0 -1
  471. package/dist/client/assets/useContentSecondaryNav-C6OBu-3_.js +0 -1
  472. package/dist/client/assets/usePersistentState-B8lP7TRb.js +0 -1
  473. package/dist/client/assets/useSidebarCollapse-OL_8J5cL.js +0 -1
@@ -1 +0,0 @@
1
- import{r as p,j as r}from"./index-EsrkGBcv.js";/* empty css */import{i as J,n as Z}from"./agent-state-DDhnFEEP.js";import{s as ee}from"./colors-CFlbwC25.js";import{a as A}from"./api-DSqpVKC7.js";import{u as te}from"./sse-BCPRocpq.js";import{t as re}from"./time-Dhsh_2EG.js";import{D as ne}from"./DataTable-aH-jCyDq.js";import{u as ae}from"./useAgentHoverCard-BANmpjMh.js";import{S as se}from"./search-DT42oyRW.js";import{S as oe}from"./sliders-horizontal-782VC_yy.js";import"./index-BWHgHrtv.js";/* empty css */import"./index-724SdE6r.js";import"./AgentDetailCard-DtHT3sCo.js";import"./AgentLiveActions-CfTupTEl.js";import"./terminal-takeover-Ay5C2c-M.js";import"./Provider-C35yu29I.js";import"./theme-vars-DNK0nn3k.js";import"./provider-Dojd8quC.js";import"./router-DCtl8wqb.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./machine-scope-DJt9RZ2w.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-C97-iTMK.js";import"./runtime-picker-DXu2bOTh.js";import"./scout-voice-CZx60X6E.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-OvccU82H.js";import"./createLucideIcon-zZ8Hx7er.js";import"./media-blobs-Bi8pxr1u.js";import"./HarnessMark-C4naWc16.js";import"./conversation-model-FxDeWlle.js";import"./conversations-DoAAO6kA.js";import"./NewChatOrigin-DFbF_XvR.js";import"./keyboard-nav-DDHegDbx.js";import"./x-DAehov0E.js";import"./chevron-down-l1mrh5S9.js";import"./file-text-CnISiiw6.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-DJr0v0D_.js";import"./TextDocumentSurface-D52m7Vd8.js";import"./index-CHD0qcfL.js";import"./chevron-right-DrfqcerI.js";import"./folder-D5prSkzz.js";import"./chevron-up-CETZJzjV.js";import"./code-xml-BhcNbLWU.js";import"./arrow-left-MVUKauwQ.js";import"./arrow-right-Bp-FpE5V.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DbVLgbWX.js";import"./openContent-C6XO6kr5.js";import"./eye-LrO-cXQt.js";import"./terminal-hQKQygcf.js";function ie(e,t){return{model:t?.data.metadata?.session?.model??e.model??null,provider:t?.data.metadata?.session?.modelProvider??e.providerName??null}}const ce=["openai","codex","codex_app_server"],ue=["anthropic","claude","claude-code","claude_stream_json"],W={"openai:gpt-5.5":{provider:"openai",model:"gpt-5.5",inputPerM:5,cachedInputPerM:.5,cacheWritePerM:null,outputPerM:30,webSearchPer1K:10},"openai:gpt-5.5-pro":{provider:"openai",model:"gpt-5.5-pro",inputPerM:30,cachedInputPerM:null,cacheWritePerM:null,outputPerM:180,webSearchPer1K:10},"openai:gpt-5.4":{provider:"openai",model:"gpt-5.4",inputPerM:2.5,cachedInputPerM:.25,cacheWritePerM:null,outputPerM:15,webSearchPer1K:10},"openai:gpt-5.4-mini":{provider:"openai",model:"gpt-5.4-mini",inputPerM:.75,cachedInputPerM:.075,cacheWritePerM:null,outputPerM:4.5,webSearchPer1K:10},"openai:gpt-5.4-nano":{provider:"openai",model:"gpt-5.4-nano",inputPerM:.2,cachedInputPerM:.02,cacheWritePerM:null,outputPerM:1.25,webSearchPer1K:10},"openai:gpt-5.4-pro":{provider:"openai",model:"gpt-5.4-pro",inputPerM:30,cachedInputPerM:null,cacheWritePerM:null,outputPerM:180,webSearchPer1K:10},"openai:gpt-5.3-codex":{provider:"openai",model:"gpt-5.3-codex",inputPerM:1.75,cachedInputPerM:.175,cacheWritePerM:null,outputPerM:14,webSearchPer1K:10},"openai:gpt-5.3-chat-latest":{provider:"openai",model:"gpt-5.3-chat-latest",inputPerM:1.75,cachedInputPerM:.175,cacheWritePerM:null,outputPerM:14,webSearchPer1K:10},"openai:gpt-5.2":{provider:"openai",model:"gpt-5.2",inputPerM:1.75,cachedInputPerM:.175,cacheWritePerM:null,outputPerM:14,webSearchPer1K:10},"openai:gpt-5.2-codex":{provider:"openai",model:"gpt-5.2-codex",inputPerM:1.75,cachedInputPerM:.175,cacheWritePerM:null,outputPerM:14,webSearchPer1K:10},"openai:gpt-5.2-chat-latest":{provider:"openai",model:"gpt-5.2-chat-latest",inputPerM:1.75,cachedInputPerM:.175,cacheWritePerM:null,outputPerM:14,webSearchPer1K:10},"openai:gpt-5.2-pro":{provider:"openai",model:"gpt-5.2-pro",inputPerM:21,cachedInputPerM:null,cacheWritePerM:null,outputPerM:168,webSearchPer1K:10},"openai:gpt-5.1":{provider:"openai",model:"gpt-5.1",inputPerM:1.25,cachedInputPerM:.125,cacheWritePerM:null,outputPerM:10,webSearchPer1K:10},"openai:gpt-5.1-codex":{provider:"openai",model:"gpt-5.1-codex",inputPerM:1.25,cachedInputPerM:.125,cacheWritePerM:null,outputPerM:10,webSearchPer1K:10},"openai:gpt-5.1-codex-max":{provider:"openai",model:"gpt-5.1-codex-max",inputPerM:1.25,cachedInputPerM:.125,cacheWritePerM:null,outputPerM:10,webSearchPer1K:10},"openai:gpt-5.1-chat-latest":{provider:"openai",model:"gpt-5.1-chat-latest",inputPerM:1.25,cachedInputPerM:.125,cacheWritePerM:null,outputPerM:10,webSearchPer1K:10},"openai:gpt-5":{provider:"openai",model:"gpt-5",inputPerM:1.25,cachedInputPerM:.125,cacheWritePerM:null,outputPerM:10,webSearchPer1K:10},"openai:gpt-5-codex":{provider:"openai",model:"gpt-5-codex",inputPerM:1.25,cachedInputPerM:.125,cacheWritePerM:null,outputPerM:10,webSearchPer1K:10},"openai:gpt-5-chat-latest":{provider:"openai",model:"gpt-5-chat-latest",inputPerM:1.25,cachedInputPerM:.125,cacheWritePerM:null,outputPerM:10,webSearchPer1K:10},"openai:gpt-5-mini":{provider:"openai",model:"gpt-5-mini",inputPerM:.25,cachedInputPerM:.025,cacheWritePerM:null,outputPerM:2,webSearchPer1K:10},"openai:gpt-5-nano":{provider:"openai",model:"gpt-5-nano",inputPerM:.05,cachedInputPerM:.005,cacheWritePerM:null,outputPerM:.4,webSearchPer1K:10},"openai:gpt-5-pro":{provider:"openai",model:"gpt-5-pro",inputPerM:15,cachedInputPerM:null,cacheWritePerM:null,outputPerM:120,webSearchPer1K:10},"openai:gpt-4.1":{provider:"openai",model:"gpt-4.1",inputPerM:2,cachedInputPerM:.5,cacheWritePerM:null,outputPerM:8,webSearchPer1K:10},"openai:gpt-4.1-mini":{provider:"openai",model:"gpt-4.1-mini",inputPerM:.4,cachedInputPerM:.1,cacheWritePerM:null,outputPerM:1.6,webSearchPer1K:10},"openai:gpt-4.1-nano":{provider:"openai",model:"gpt-4.1-nano",inputPerM:.1,cachedInputPerM:.025,cacheWritePerM:null,outputPerM:.4,webSearchPer1K:10},"openai:gpt-4o":{provider:"openai",model:"gpt-4o",inputPerM:2.5,cachedInputPerM:1.25,cacheWritePerM:null,outputPerM:10,webSearchPer1K:10},"openai:gpt-4o-mini":{provider:"openai",model:"gpt-4o-mini",inputPerM:.15,cachedInputPerM:.075,cacheWritePerM:null,outputPerM:.6,webSearchPer1K:10},"anthropic:claude-opus-4.6":{provider:"anthropic",model:"claude-opus-4.6",inputPerM:5,cachedInputPerM:.5,cacheWritePerM:6.25,outputPerM:25,webSearchPer1K:10},"anthropic:claude-opus-4.5":{provider:"anthropic",model:"claude-opus-4.5",inputPerM:5,cachedInputPerM:.5,cacheWritePerM:6.25,outputPerM:25,webSearchPer1K:10},"anthropic:claude-opus-4.1":{provider:"anthropic",model:"claude-opus-4.1",inputPerM:15,cachedInputPerM:1.5,cacheWritePerM:18.75,outputPerM:75,webSearchPer1K:10},"anthropic:claude-opus-4":{provider:"anthropic",model:"claude-opus-4",inputPerM:15,cachedInputPerM:1.5,cacheWritePerM:18.75,outputPerM:75,webSearchPer1K:10},"anthropic:claude-sonnet-4.6":{provider:"anthropic",model:"claude-sonnet-4.6",inputPerM:3,cachedInputPerM:.3,cacheWritePerM:3.75,outputPerM:15,webSearchPer1K:10},"anthropic:claude-sonnet-4.5":{provider:"anthropic",model:"claude-sonnet-4.5",inputPerM:3,cachedInputPerM:.3,cacheWritePerM:3.75,outputPerM:15,webSearchPer1K:10},"anthropic:claude-sonnet-4":{provider:"anthropic",model:"claude-sonnet-4",inputPerM:3,cachedInputPerM:.3,cacheWritePerM:3.75,outputPerM:15,webSearchPer1K:10},"anthropic:claude-3-7-sonnet":{provider:"anthropic",model:"claude-3-7-sonnet",inputPerM:3,cachedInputPerM:.3,cacheWritePerM:3.75,outputPerM:15,webSearchPer1K:10},"anthropic:claude-haiku-4.5":{provider:"anthropic",model:"claude-haiku-4.5",inputPerM:1,cachedInputPerM:.1,cacheWritePerM:1.25,outputPerM:5,webSearchPer1K:10}},le={"claude-sonnet-4-5":"anthropic:claude-sonnet-4.5","claude-sonnet-4-6":"anthropic:claude-sonnet-4.6","claude-opus-4-5":"anthropic:claude-opus-4.5","claude-opus-4-6":"anthropic:claude-opus-4.6","claude-haiku-4-5":"anthropic:claude-haiku-4.5"};function pe(e){const t=e.provider?.trim().toLowerCase()??"",s=e.adapterType?.trim().toLowerCase()??"",a=V(e.model)??"",i=[t,s].filter(Boolean);return i.some(o=>ce.some(c=>o.includes(c)))?"openai":i.some(o=>ue.some(c=>o.includes(c)))?"anthropic":a.startsWith("gpt-")||a.startsWith("o")||a.includes("codex")?"openai":a.startsWith("claude-")?"anthropic":"unknown"}function V(e){return e?e.trim().toLowerCase().replace(/^(openai|anthropic)\//,"").replace(/_/g,"-").replace(/-\d{8}$/,""):null}function de(e){const t=x(e?.inputTokens),s=x(e?.cacheReadInputTokens),a=x(e?.cacheCreationInputTokens),i=x(e?.outputTokens),o=x(e?.reasoningOutputTokens),c=[t,i].reduce((m,b)=>m+(b??0),0),h=x(e?.totalTokens)??(c||null);return{input:t,uncachedInput:t==null?null:Math.max(0,t-(s??0)-(a??0)),cachedInput:s,cacheWrite:a,output:i,reasoningOutput:o,total:h,webSearchRequests:x(e?.webSearchRequests),webFetchRequests:x(e?.webFetchRequests)}}function he(e){const t=pe(e),s=V(e.model),a=de(e.usage),i=me(t,s),o=ge(e);if(!i.rateCard)return{provider:t,model:s,rateCard:null,rateCardSource:"unknown",capturedAt:e.capturedAt??Date.now(),usage:a,lineItems:[],totalUsd:null,billedTotalUsd:null,billingMode:o,subscriptionWindows:e.subscriptionWindows??[]};const c=i.rateCard,h=a.uncachedInput??a.input??0,m=a.cachedInput??0,b=a.cacheWrite??0,g=a.output??0,v=a.webSearchRequests??0,f=[j("input","Input",h,c.inputPerM,o),j("cached_input","Cached input",m,c.cachedInputPerM??c.inputPerM,o),j("cache_write","Cache write",b,c.cacheWritePerM??c.inputPerM,o),j("output","Output",g,c.outputPerM,o),{key:"web_search",label:"Web search",quantity:v,unit:"requests",rate:c.webSearchPer1K??0,billedRate:o==="subscription"?0:c.webSearchPer1K??0,costUsd:v/1e3*(c.webSearchPer1K??0),billedCostUsd:o==="subscription"?0:v/1e3*(c.webSearchPer1K??0)}].filter(P=>P.quantity>0);return{provider:t,model:s,rateCard:c,rateCardSource:i.source,capturedAt:e.capturedAt??Date.now(),usage:a,lineItems:f,totalUsd:f.reduce((P,d)=>P+d.costUsd,0),billedTotalUsd:f.reduce((P,d)=>P+d.billedCostUsd,0),billingMode:o,subscriptionWindows:e.subscriptionWindows??[]}}function me(e,t){if(e==="unknown")return{rateCard:null,source:"unknown"};const s=t?`${e}:${t}`:null;if(s&&W[s])return{rateCard:W[s],source:"exact"};const a=t?le[t]:null;if(a&&W[a])return{rateCard:W[a],source:"alias"};if(e==="anthropic"){if(t?.includes("opus"))return{rateCard:W["anthropic:claude-opus-4.5"],source:"provider-default"};if(t?.includes("haiku"))return{rateCard:W["anthropic:claude-haiku-4.5"],source:"provider-default"};if(t?.includes("sonnet")||!t)return{rateCard:W["anthropic:claude-sonnet-4.5"],source:"provider-default"}}return{rateCard:null,source:"unknown"}}function j(e,t,s,a,i){const o=i==="subscription"?0:a;return{key:e,label:t,quantity:s,unit:"tokens",rate:a,billedRate:o,costUsd:s/1e6*a,billedCostUsd:s/1e6*o}}function x(e){return typeof e=="number"&&Number.isFinite(e)?e:null}function ge(e){if(e.billingMode)return e.billingMode;const t=e.adapterType?.trim().toLowerCase();if(t==="claude-code"||t==="claude_stream_json")return"subscription";const s=e.usage?.planType?.trim().toLowerCase();return!s||s==="api"||s.includes("api")?"api":"subscription"}const Pe=1500,T=1440*6e4,Me=90*6e4,E={needs_attention:0,in_turn:1,in_flight:2,callable:3,blocked:4},be=[{key:"agent",label:"Agent",kind:"custom",sortable:!0,sortValue:e=>e.agent.name.toLowerCase(),defaultWidth:220,minWidth:160,render:e=>r.jsxs("div",{className:"s-ops-agents-agent-cell",children:[r.jsx("span",{className:"s-ops-agents-dot",style:{background:ee(e.state)},"aria-hidden":!0}),r.jsx("span",{className:"s-ops-agents-agent-name",title:e.agent.name,children:e.agent.handle??e.agent.name})]})},{key:"task",label:"Active task",kind:"custom",sortable:!0,sortValue:e=>(e.activeTask??"").toLowerCase()||null,defaultWidth:240,minWidth:140,render:e=>e.activeTask?r.jsx("span",{className:"s-ops-agents-task",title:e.activeTask,children:e.activeTask}):r.jsx("span",{className:"s-ops-agents-task s-ops-agents-task--idle",children:"—"})},{key:"team",label:"Project",kind:"text",defaultWidth:140,minWidth:90,cls:"s-ops-agents-meta",render:e=>r.jsx("span",{className:"s-ops-agents-meta-cell",children:e.team}),sortValue:e=>e.team.toLowerCase()},{key:"machine",label:"Machine",kind:"text",defaultWidth:120,minWidth:88,cls:"s-ops-agents-meta",render:e=>r.jsx("span",{className:"s-ops-agents-meta-cell",children:e.machine}),sortValue:e=>e.machine.toLowerCase()},{key:"active",label:"Active",kind:"number",defaultWidth:90,minWidth:64,cls:"s-ops-agents-num",render:e=>e.activeFlights,sortValue:e=>e.activeFlights},{key:"sessions24h",label:"24h sessions",kind:"number",defaultWidth:108,minWidth:78,cls:"s-ops-agents-num",render:e=>e.sessions24h,sortValue:e=>e.sessions24h},{key:"throughput",label:"Throughput",kind:"custom",sortable:!1,defaultWidth:110,minWidth:90,render:e=>r.jsx(ke,{values:e.throughput,warn:e.errors>0})},{key:"avgLatency",label:"Avg latency",kind:"number",defaultWidth:108,minWidth:80,cls:"s-ops-agents-num",render:e=>D(e.avgLatencyMs),sortValue:e=>e.avgLatencyMs},{key:"input",label:"Input",kind:"number",defaultWidth:88,minWidth:64,cls:"s-ops-agents-num",render:e=>w(e.usage.uncachedInput??e.usage.input),sortValue:e=>e.usage.uncachedInput??e.usage.input??null},{key:"cacheRead",label:"Cache read",kind:"number",defaultWidth:98,minWidth:72,cls:"s-ops-agents-num",render:e=>w(e.usage.cachedInput),sortValue:e=>e.usage.cachedInput??null},{key:"cacheWrite",label:"Cache write",kind:"number",defaultWidth:98,minWidth:72,cls:"s-ops-agents-num",render:e=>w(e.usage.cacheWrite),sortValue:e=>e.usage.cacheWrite??null},{key:"output",label:"Output",kind:"number",defaultWidth:88,minWidth:64,cls:"s-ops-agents-num",render:e=>w(e.usage.output),sortValue:e=>e.usage.output??null},{key:"apiEquiv",label:"API equiv",kind:"number",defaultWidth:92,minWidth:72,cls:"s-ops-agents-num",render:e=>r.jsx("span",{className:e.cost.rateCardSource==="unknown"?"s-ops-agents-num--dim":void 0,children:N(e.cost.totalUsd)}),sortValue:e=>e.cost.totalUsd??null},{key:"billed",label:"Billed",kind:"number",defaultWidth:92,minWidth:72,cls:"s-ops-agents-num",render:e=>r.jsx("span",{className:e.cost.billingMode==="subscription"?"s-ops-agents-num--covered":void 0,children:N(e.cost.billedTotalUsd)}),sortValue:e=>e.cost.billedTotalUsd??null},{key:"errors",label:"Errors",kind:"number",defaultWidth:72,minWidth:58,cls:"s-ops-agents-num",render:e=>r.jsx("span",{className:e.errors>0?"s-ops-agents-num--warn":void 0,children:e.errors}),sortValue:e=>e.errors},{key:"lastActive",label:"Last active",kind:"time",defaultWidth:104,minWidth:78,cls:"s-ops-agents-last",render:e=>e.lastActiveAt?re(e.lastActiveAt):"—",sortValue:e=>e.lastActiveAt}];function U(e){if(!e)return null;const t=e.replace(/\/+$/,""),s=t.lastIndexOf("/");return s>=0?t.slice(s+1):t}function w(e){return e==null?"—":e>=1e6?`${(e/1e6).toFixed(e>=1e7?0:1)}M`:e>=1e3?`${(e/1e3).toFixed(e>=1e4?0:1)}K`:String(e)}function D(e){return e==null?"—":e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(2)}s`}function N(e){return e==null?"$—":e<1?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`}function fe(e,t){if(!e)return null;const s=e.data.events.filter(i=>i.kind==="message"||i.kind==="tool").filter(i=>t-i.t<=Me).sort((i,o)=>i.t-o.t);if(s.length<2)return null;const a=[];for(let i=1;i<s.length;i+=1){const o=s[i].t-s[i-1].t;o>0&&o<12e4&&a.push(o)}return a.length===0?null:Math.round(a.reduce((i,o)=>i+o,0)/a.length)}function ve(e,t){const s=new Array(24).fill(0),a=t-T;for(const i of e){if(i.ts<a||i.ts>t)continue;const o=Math.min(23,Math.max(0,Math.floor((i.ts-a)/T*s.length)));s[o]+=1}return s}function ke({values:e,warn:t=!1}){const i=Math.max(1,...e),o=e.map((c,h)=>{const m=h/Math.max(1,e.length-1)*92,b=22-c/i*19-1.5;return`${m.toFixed(1)},${b.toFixed(1)}`}).join(" ");return r.jsx("svg",{className:`s-ops-agents-spark${t?" s-ops-agents-spark--warn":""}`,viewBox:"0 0 92 22","aria-hidden":"true",children:r.jsx("polyline",{points:o,fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round"})})}function xe(e){return e.authorityNodeName??e.homeNodeName??e.authorityNodeId??e.homeNodeId??e.transport??U(e.cwd)??U(e.projectRoot)??"local"}function We(e){return e.project??e.role??e.agentClass??"Unassigned"}function Se(e){if(e.length===0)return null;const t={working:0,needs_attention:1,queued:2,failed:3,completed:4},a=[...e].sort((o,c)=>{const h=t[o.status]-t[c.status];return h!==0?h:(c.updatedAt??0)-(o.updatedAt??0)})[0];return(a.task??a.summary??"").trim()||null}function we(e,t,s,a,i,o){const c=t.filter(l=>l.agentId===e.id),h=c.filter(l=>{const I=l.lastMessageAt??0;return I>0&&o-I<=T}),m=e.conversationId,b=s.filter(l=>l.actorName===e.name||!!(m&&l.conversationId===m)),g=i.get(e.id),{model:v,provider:f}=ie(e,g),P=he({adapterType:g?.data.metadata?.session?.adapterType,capturedAt:g?.updatedAt??o,model:v,provider:f,usage:g?.data.metadata?.usage}),d=a.filter(l=>l.agentId===e.id);return{agent:e,team:We(e),machine:xe(e),model:v,provider:f,state:Z(e.state),activeFlights:d.length,activeTask:Se(d),sessions24h:h.length,throughput:ve(b,o),avgLatencyMs:fe(g,o),usage:P.usage,cost:P,errors:d.filter(l=>l.status==="failed"||l.status==="needs_attention").length,lastActiveAt:Math.max(0,...c.map(l=>l.lastMessageAt??0),...b.map(l=>l.ts),e.updatedAt??0)||null}}function jt({navigate:e,agents:t}){const[s,a]=p.useState(null),[i,o]=p.useState([]),[c,h]=p.useState([]),[m,b]=p.useState([]),[g,v]=p.useState(""),[f,P]=p.useState(()=>Date.now()),d=p.useRef(null),l=p.useCallback(async()=>{const n=t.map(X=>X.id).join(","),[u,k,L,$]=await Promise.allSettled([A("/api/fleet"),A("/api/conversations"),A("/api/activity"),n?A(`/api/observe/agents?ids=${encodeURIComponent(n)}`):Promise.resolve([])]);u.status==="fulfilled"&&a(u.value),k.status==="fulfilled"&&o(k.value),L.status==="fulfilled"&&h(L.value),$.status==="fulfilled"&&b($.value),P(Date.now())},[t]);p.useEffect(()=>{l()},[l]);const I=p.useCallback(()=>{d.current||(d.current=setTimeout(()=>{d.current=null,l()},Pe))},[l]);te(I),p.useEffect(()=>()=>{d.current&&(clearTimeout(d.current),d.current=null)},[]),p.useEffect(()=>{const n=setInterval(()=>P(Date.now()),1e3);return()=>clearInterval(n)},[]);const R=p.useMemo(()=>new Map(m.map(n=>[n.agentId,n])),[m]),M=p.useMemo(()=>{const n=s?.activeAsks??[];return t.map(u=>we(u,i,c,n,R,f))},[c,t,s?.activeAsks,f,R,i]),S=p.useMemo(()=>{const n=g.trim().toLowerCase();return n?M.filter(u=>`${u.agent.name} ${u.team} ${u.machine} ${u.agent.handle??""} ${u.agent.harness??""} ${u.activeTask??""}`.toLowerCase().includes(n)):M},[g,M]),[K,F]=p.useState({key:"lastActive",dir:-1}),O=p.useMemo(()=>K?.key==="agent"?void 0:(n,u)=>E[n.state]-E[u.state],[K?.key]),q=p.useMemo(()=>S.map(n=>n.agent),[S]),B=p.useMemo(()=>S.map(n=>n.agent.id),[S]),y=ae({agents:q,orderedIds:B,navigate:e,selectMode:"preview"}),z=M.filter(n=>n.state==="in_turn"||n.state==="in_flight").length,H=M.filter(n=>J(n.agent.state,n.agent)).length,Y=M.reduce((n,u)=>n+(u.usage.total??0),0),_=M.some(n=>n.cost.totalUsd!=null)?M.reduce((n,u)=>n+(u.cost.totalUsd??0),0):null,G=M.some(n=>n.cost.billedTotalUsd!=null)?M.reduce((n,u)=>n+(u.cost.billedTotalUsd??0),0):null,Q=(()=>{const n=M.map(u=>u.avgLatencyMs).filter(u=>u!=null);return n.length===0?null:Math.round(n.reduce((u,k)=>u+k,0)/n.length)})();return r.jsxs("div",{className:"s-ops-agents",children:[r.jsxs("main",{className:"s-ops-agents-main",children:[r.jsxs("div",{className:"s-ops-agents-toolbar",children:[r.jsxs("div",{className:"s-ops-agents-breadcrumb",children:["Agents ",r.jsx("span",{children:"/"})," Directory"]}),r.jsxs("div",{className:"s-ops-agents-live",children:[r.jsx("span",{className:"s-ops-agents-live-dot"}),H," active"]}),r.jsxs("div",{className:"s-ops-agents-search",children:[r.jsx(se,{size:13}),r.jsx("input",{value:g,onChange:n=>v(n.target.value),placeholder:"Search agents, tasks, projects, machines…"})]}),r.jsx("button",{className:"s-ops-agents-icon-btn",type:"button",title:"Filters",children:r.jsx(oe,{size:14})})]}),r.jsx("section",{className:"s-ops-agents-hero",children:r.jsxs("div",{children:[r.jsx("div",{className:"s-ops-agents-kicker",children:"Agents"}),r.jsx("h1",{children:"All agents"}),r.jsx("p",{children:"Every registered agent across the local fleet, sorted by live status."})]})}),r.jsxs("section",{className:"s-ops-agents-stats",children:[r.jsx(C,{label:"Running",value:String(z),sub:`of ${t.length} total`}),r.jsx(C,{label:"Tokens",value:w(Y||null),sub:_==null?"usage metadata pending":`${N(_)} API equiv`}),r.jsx(C,{label:"Avg latency",value:D(Q),sub:"recent observe events"}),r.jsx(C,{label:"Billed",value:N(G),sub:"subscription usage can mark this down"})]}),r.jsxs("section",{className:"s-ops-agents-table-panel",children:[r.jsxs("div",{className:"s-ops-agents-table-title",children:["Agents ",r.jsx("span",{children:S.length}),r.jsxs("span",{className:"s-ops-agents-hint","aria-hidden":!0,children:[r.jsx("kbd",{children:"↑"}),r.jsx("kbd",{children:"↓"})," navigate · ",r.jsx("kbd",{children:"enter"})," pin · ",r.jsx("kbd",{children:"o"})," open · ",r.jsx("kbd",{children:"esc"})," clear"]})]}),r.jsx("div",{className:"s-ops-agents-table-wrap",ref:y.containerRef,children:r.jsx(ne,{rows:S,columns:be,rowId:n=>n.agent.id,storageKey:"openscout.opsAgents.cols",sort:K,onSortChange:F,secondarySort:O,density:"compact",rowBindings:n=>{const u=y.bind(n);return{...u,onKeyDown:k=>{k.key!=="Enter"&&k.key!==" "||(k.preventDefault(),u.onClick())}}},rowState:n=>y.getState(n),empty:{title:"No agents match",body:"Adjust the search to find a different slice of the fleet."},className:"s-ops-agents-data-table",ariaLabel:"Agents directory"})})]})]}),y.card]})}function C({label:e,value:t,sub:s,tone:a="default"}){return r.jsxs("div",{className:`s-ops-agents-metric s-ops-agents-metric--${a}`,children:[r.jsx("div",{className:"s-ops-agents-metric-label",children:e}),r.jsx("div",{className:"s-ops-agents-metric-value",children:t}),r.jsx("div",{className:"s-ops-agents-metric-sub",children:s})]})}export{jt as OpsAgentsView};
@@ -1 +0,0 @@
1
- import{r as n,j as t}from"./index-EsrkGBcv.js";/* empty css */import{u as d}from"./Provider-C35yu29I.js";/* empty css */import{u as v}from"./page-status-BswZLqvA.js";import{A as x}from"./AgentLanesView-BJi9xXz6.js";import{MissionControlView as j}from"./MissionControlView-B9cNPXvl.js";import{OpsAgentsView as f}from"./OpsAgentsView-DajlX8LO.js";import{HostAdvisorView as w}from"./HostAdvisorView-CnM1i8hW.js";import{AtopView as N}from"./AtopView-gkEp4y__.js";import{TailView as c}from"./TailView-CYSijNTy.js";import{u as g}from"./useContentSecondaryNav-C6OBu-3_.js";import{OpsSubnav as S}from"./OpsSubnav-BOOYShHE.js";import{FleetRollCallHud as A}from"./FleetRollCallHud-C5q2567n.js";import"./theme-vars-DNK0nn3k.js";import"./provider-Dojd8quC.js";import"./router-DCtl8wqb.js";import"./api-DSqpVKC7.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./machine-scope-DJt9RZ2w.js";import"./sse-BCPRocpq.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./agent-state-DDhnFEEP.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-C97-iTMK.js";import"./runtime-picker-DXu2bOTh.js";import"./scout-voice-CZx60X6E.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-OvccU82H.js";import"./createLucideIcon-zZ8Hx7er.js";import"./media-blobs-Bi8pxr1u.js";import"./index-724SdE6r.js";import"./HarnessMark-C4naWc16.js";import"./conversation-model-FxDeWlle.js";import"./time-Dhsh_2EG.js";import"./conversations-DoAAO6kA.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-DFbF_XvR.js";import"./keyboard-nav-DDHegDbx.js";import"./x-DAehov0E.js";import"./chevron-down-l1mrh5S9.js";import"./search-DT42oyRW.js";import"./file-text-CnISiiw6.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-DJr0v0D_.js";import"./TextDocumentSurface-D52m7Vd8.js";import"./index-CHD0qcfL.js";import"./chevron-right-DrfqcerI.js";import"./folder-D5prSkzz.js";import"./chevron-up-CETZJzjV.js";import"./code-xml-BhcNbLWU.js";import"./arrow-left-MVUKauwQ.js";import"./arrow-right-Bp-FpE5V.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DbVLgbWX.js";/* empty css */import"./tail-events-d0yAYxR0.js";import"./observe-BJqERJVj.js";import"./types-B0PlfpKc.js";import"./useEmbedHeadline-D6pJRxUg.js";import"./AgentAvatar-CrP1eXxk.js";import"./SpriteAvatar-CpZWf54-.js";import"./CrewAvatar-kTznzqcO.js";import"./SessionObserve-DXxBvejJ.js";import"./bash-format-BRV5C6Gv.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";import"./lane-tool-detail-Czggx8oM.js";import"./LaneToolHoverCard-CJa110yk.js";import"./lane-observe-CteDwdD-.js";import"./lane-ask-display-BTVSakyo.js";import"./mentions-ByUvhS-v.js";import"./AgentDetailCard-DtHT3sCo.js";import"./AgentLiveActions-CfTupTEl.js";import"./terminal-takeover-Ay5C2c-M.js";import"./openContent-C6XO6kr5.js";import"./eye-LrO-cXQt.js";import"./terminal-hQKQygcf.js";import"./message-markup-Zwo3t4cI.js";import"./message-markup-BQW5jdJw.js";import"./SessionHopMenu-E6VJZrE0.js";import"./external-link-CUObqmgX.js";import"./ObservedTopologyPanel-CUTIoLZJ.js";import"./ObserveTextFlow-PFnG_10h.js";import"./use-reduced-motion-3gMYZNIp.js";import"./proxy-AJsmwA6h.js";import"./SessionObserveEvidence-Cuj_KHxR.js";import"./SessionContextStrip-CXfs9hUD.js";import"./message-circle-CxRVKNE-.js";import"./wrench-DR0i5BU7.js";import"./AgentFloorView-DH4jiDgw.js";import"./AgentAdventures-BAgxdOF8.js";import"./ReplayClock-348f17bW.js";import"./SproutActionSprite-BSiTS4en.js";/* empty css */import"./CrewSprite-Dhryjx2c.js";import"./agent-lanes-model-DMAdqCmK.js";import"./context-budget-8qFKqM-j.js";import"./adventure-playback-DTfkhIc0.js";import"./AdventureScenery-LPXSVP67.js";import"./adventure-habitats-v1-M1lcpTJh.js";import"./AdventureReader-X-hbTOi0.js";import"./floor-preview-text-HrORUJ7D.js";/* empty css */import"./book-open-CV98WMSp.js";import"./scroll-text-DNjxhyO2.js";import"./ReplayLog-CBnAM3ui.js";import"./AdventureEvidence-CyegKk1V.js";import"./agent-lane-detail-Ti3trpfH.js";/* empty css */import"./arrow-up-right-BPedAgxO.js";/* empty css */import"./flag-C4wl8z2-.js";import"./pause-C2XTlkjs.js";import"./play-FT6K3It1.js";import"./radio-DRoOZsws.js";import"./SharedWorkFloor-D9mf9KSg.js";import"./WorldMinimap-B6HNgcDe.js";import"./WorldSky-Jm2Z6dfW.js";import"./WorldActorTalk-BvSg_b1y.js";import"./send-to-agent-session-DoKCDBJ4.js";import"./FloorExchangePanel-BU1pPu8K.js";import"./floor-character-name-CqJPOlXb.js";import"./floor-message-passes-CO3Ix_wR.js";import"./shared-work-artifacts-DfNl9KTo.js";import"./floor-memory-YMM8AlLY.js";import"./CharacterFamilyPreview-DMfw7UM_.js";import"./RenderedWorkerSprite-Dhlyg89J.js";import"./FloorMessagePasses-cLW2UGNP.js";import"./WorkRunView-BDkR7Edq.js";import"./floor-context-model-rWKqaKmV.js";import"./agent-floor-actor-DW8zLht0.js";import"./SharedFloorCharacter-DNEiaOUh.js";import"./WorldCharacter-CIIlutQq.js";import"./RiggedWorkerCharacter-q6QRc7_o.js";import"./file-code-corner-CsU7jJpu.js";import"./FloorReplay-VFzA6Kxc.js";import"./AgentFloorWorld-CjoIa6jA.js";/* empty css */import"./agent-floor-world-layout-hfMjuoui.js";import"./coffee-D7EAOdCk.js";import"./git-branch-B0_fPLO7.js";/* empty css */import"./FloorTacticalHUD-CO-iiFpb.js";import"./FloorSavedWork-BeHDejWz.js";import"./pin-C2mFOV1l.js";/* empty css */import"./triangle-alert-CHoRGdVO.js";import"./FloorResourcesSheet-C-kQ6Ren.js";/* empty css *//* empty css */import"./FloorContextSheet-2_NVPQor.js";import"./lane-roster-store-D-RSWjb-.js";import"./session-recap-lanes-D-eVJnpY.js";import"./message-square-BxesYglW.js";import"./AgentLanesPreflight-Ry-aqDTr.js";import"./AgentLaneChrome-TF1SlJSc.js";import"./AgentLaneCard-BaZ2g-f8.js";/* empty css */import"./AgentLaneSummaryResize-dpp7YvrX.js";import"./clipboard-e3fSpeo7.js";import"./agent-lane-card-model-CeqQGp-8.js";import"./agent-lane-preview-Dpa3DuOn.js";import"./AgentLaneDetailSheet-EzEPsn3g.js";import"./SlidePanel-_CHAQdOa.js";import"./LaneTraceDetailSheet-DYrd0BIf.js";import"./LaneTraceEventFocus-TbrNHRj_.js";/* empty css */import"./mission-control-store-elEEsIvb.js";import"./MissionContextRail-D62-Wis8.js";import"./mission-wall-CAo4BKfa.js";import"./mission-control-model-BpJHDV5D.js";import"./MissionFocusOverlay-C1zys3Jv.js";import"./MissionLogPane-B19lYSY9.js";/* empty css */import"./DataTable-aH-jCyDq.js";/* empty css */import"./useAgentHoverCard-BANmpjMh.js";import"./sliders-horizontal-782VC_yy.js";/* empty css */import"./compass-63TUaz5_.js";import"./layout-grid-Cor2frzj.js";import"./refresh-cw-BmVr7sCD.js";import"./cpu-BOTa_WLr.js";import"./gauge-D9_5iJEm.js";/* empty css */import"./SecondaryNav-D7dbV2qo.js";import"./secondaryNavConfig-CS1svh6n.js";import"./nav-destinations-uorRqFxf.js";import"./settings-BVh7kldq.js";import"./session-recap-queue-41l2XVkI.js";/* empty css */const F=220;function O(){const r=v(),o=!!(r.hover||r.content),[i,e]=n.useState(o?{hover:r.hover,content:r.content}:null),[m,s]=n.useState(o?"enter":"hidden"),p=n.useRef(null);if(n.useEffect(()=>{if(o){p.current&&(clearTimeout(p.current),p.current=null),e({hover:r.hover,content:r.content}),s(h=>h==="show"?"show":"enter");const u=requestAnimationFrame(()=>s("show"));return()=>cancelAnimationFrame(u)}return s("leave"),p.current=setTimeout(()=>{s("hidden"),e(null),p.current=null},F),()=>{p.current&&(clearTimeout(p.current),p.current=null)}},[o,r.hover,r.content]),m==="hidden"||!i)return null;const a=i.hover?.label??i.hover?.route??null,l=i.hover?.label&&i.hover?.route?i.hover.route:null;return t.jsxs("div",{className:`s-page-status s-page-status--${m}`,role:"status","aria-live":"polite",children:[t.jsx("div",{className:"s-page-status-left",children:a&&t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"s-page-status-arrow","aria-hidden":!0,children:"→"}),t.jsx("span",{className:"s-page-status-target",children:a}),l&&t.jsx("span",{className:"s-page-status-route",children:l})]})}),t.jsx("div",{className:"s-page-status-right",children:i.content&&t.jsx("span",{className:"s-page-status-content",children:i.content})})]})}function si({navigate:r,mode:o="mission",tailQuery:i,showSecondaryNav:e}){const{agents:m,route:s}=d(),p=g();return t.jsxs("div",{className:"s-ops",children:[e??p?t.jsx("div",{className:"s-ops-header",children:t.jsx(S,{activeRoute:s,navigate:r})}):null,t.jsxs("div",{className:"s-ops-body",children:[(o==="lanes"||o==="world")&&t.jsx(A,{}),o==="mission"&&t.jsx(j,{navigate:r,agents:m}),o==="agents"&&t.jsx(f,{navigate:r,agents:m}),o==="advisor"&&t.jsx(w,{navigate:r,agents:m}),o==="issues"&&t.jsx(c,{navigate:r,initialFilter:i,variant:"issues"}),o==="tail"&&t.jsx(c,{navigate:r,initialFilter:i,variant:"tail"}),o==="atop"&&t.jsx(N,{}),(o==="lanes"||o==="world")&&t.jsx(x,{navigate:r,agents:m})]}),t.jsx(O,{})]})}export{si as OpsScreen};
@@ -1 +0,0 @@
1
- import{j as t}from"./index-EsrkGBcv.js";import{S as p}from"./SecondaryNav-D7dbV2qo.js";import{O as i}from"./secondaryNavConfig-CS1svh6n.js";/* empty css */import"./nav-destinations-uorRqFxf.js";import"./createLucideIcon-zZ8Hx7er.js";import"./message-square-BxesYglW.js";import"./terminal-hQKQygcf.js";import"./search-DT42oyRW.js";import"./compass-63TUaz5_.js";import"./settings-BVh7kldq.js";import"./file-text-CnISiiw6.js";import"./git-branch-B0_fPLO7.js";import"./code-xml-BhcNbLWU.js";import"./scroll-text-DNjxhyO2.js";function A({activeRoute:r,navigate:o}){return t.jsx(p,{ariaLabel:"Ops sections",activeRoute:r,groups:i,navigate:o})}export{A as OpsSubnav};
@@ -1 +0,0 @@
1
- import{r as m,j as o}from"./index-EsrkGBcv.js";import{a as A}from"./api-DSqpVKC7.js";import{b}from"./machine-scope-DJt9RZ2w.js";import{d as y}from"./router-DCtl8wqb.js";import{a as S}from"./sse-BCPRocpq.js";import{u as P}from"./Provider-C35yu29I.js";import{AgentsSubnav as N}from"./AgentsSubnav-DwNX4yy0.js";import{AgentDetailWithRail as R,AgentProfileSessionsCenter as B}from"./profile-DTmzN16I.js";import{r as E,d as C,b as M}from"./NewChatComposer-C97-iTMK.js";/* empty css *//* empty css *//* empty css */import{ProjectAgentProfileBar as w}from"./ProjectAgentProfileBar-DHuMKJj-.js";/* empty css *//* empty css */import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./index-BWHgHrtv.js";import"./theme-vars-DNK0nn3k.js";import"./provider-Dojd8quC.js";import"./surface-activity-B1rgWB1i.js";import"./agent-state-DDhnFEEP.js";import"./scoutbot-Bk3nyrkj.js";import"./model-CBkMvT1w.js";import"./time-Dhsh_2EG.js";import"./DocumentFocusViewer-DJr0v0D_.js";import"./createLucideIcon-zZ8Hx7er.js";import"./TextDocumentSurface-D52m7Vd8.js";import"./file-text-CnISiiw6.js";import"./x-DAehov0E.js";import"./index-CHD0qcfL.js";import"./chevron-right-DrfqcerI.js";import"./folder-D5prSkzz.js";import"./chevron-up-CETZJzjV.js";import"./code-xml-BhcNbLWU.js";import"./arrow-left-MVUKauwQ.js";import"./arrow-right-Bp-FpE5V.js";import"./scout-voice-CZx60X6E.js";import"./fx-z37u1o2z.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./keyboard-nav-DDHegDbx.js";import"./media-blobs-Bi8pxr1u.js";import"./chunk-HRAB3GC3-DbVLgbWX.js";import"./SecondaryNav-D7dbV2qo.js";import"./secondaryNavConfig-CS1svh6n.js";import"./nav-destinations-uorRqFxf.js";import"./message-square-BxesYglW.js";import"./terminal-hQKQygcf.js";import"./search-DT42oyRW.js";import"./compass-63TUaz5_.js";import"./settings-BVh7kldq.js";import"./git-branch-B0_fPLO7.js";import"./scroll-text-DNjxhyO2.js";import"./AgentAvatar-CrP1eXxk.js";import"./SpriteAvatar-CpZWf54-.js";import"./CrewAvatar-kTznzqcO.js";import"./HarnessMark-C4naWc16.js";import"./runtime-picker-DXu2bOTh.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-OvccU82H.js";import"./colors-CFlbwC25.js";import"./context-budget-8qFKqM-j.js";import"./session-catalog-CvSdPHPe.js";import"./terminal-relay-Bxs1hp-j.js";import"./BackToPicker-CUkjnoVk.js";import"./openContent-C6XO6kr5.js";import"./ConversationScreen-CUfsQ4MR.js";import"./ComposerAttachments-DW0AIb8k.js";import"./index-724SdE6r.js";import"./conversation-model-FxDeWlle.js";import"./conversations-DoAAO6kA.js";import"./message-markup-Zwo3t4cI.js";import"./message-markup-BQW5jdJw.js";import"./mentions-ByUvhS-v.js";import"./AgentDetailCard-DtHT3sCo.js";import"./AgentLiveActions-CfTupTEl.js";import"./terminal-takeover-Ay5C2c-M.js";import"./eye-LrO-cXQt.js";import"./message-visibility-DwxgcgYK.js";import"./operator-attention-DBaRg5ep.js";import"./sessionRead-CvFz2RHv.js";import"./clipboard-e3fSpeo7.js";import"./MessageEmbeds-ksPazAKH.js";import"./types-B0PlfpKc.js";import"./ConversationHeader-C-ZWscKj.js";import"./AstronautSuit-Cchnc4Ug.js";import"./panel-right-Bv7sP_fc.js";import"./CommsFlowGraph-DxoOaLF_.js";import"./comms-gesture-_aGFo6g3.js";import"./CommsCanvas-THp0r_U8.js";import"./comms-deck-CBhsXnY-.js";import"./CommsFlowMap-Vi8ziCPg.js";import"./CommsSelection-BUoRbu9o.js";/* empty css */import"./use-conversation-list-CY4JciOV.js";import"./agent-master-model-Bk_yuUXJ.js";import"./use-beside-DoRC1nt0.js";import"./ConversationComposer-CUQyArlk.js";import"./zap-CEjZNZbI.js";import"./ConversationFeedRows-DWiOfT-y.js";import"./ConversationPanels-D9oC0xG5.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";import"./use-reduced-motion-3gMYZNIp.js";import"./proxy-AJsmwA6h.js";import"./chevron-down-l1mrh5S9.js";import"./activity-CIlFrfPJ.js";import"./message-circle-CxRVKNE-.js";import"./tail-events-d0yAYxR0.js";import"./ConversationStatus--IPm2nGh.js";import"./check-lrJ3a73a.js";import"./sparkles-BjHq_DNK.js";import"./triangle-alert-CHoRGdVO.js";import"./SessionContextStrip-CXfs9hUD.js";import"./SessionObserve-DXxBvejJ.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-Czggx8oM.js";import"./LaneToolHoverCard-CJa110yk.js";import"./lane-observe-CteDwdD-.js";import"./lane-ask-display-BTVSakyo.js";import"./SessionHopMenu-E6VJZrE0.js";import"./external-link-CUObqmgX.js";import"./ObservedTopologyPanel-CUTIoLZJ.js";import"./ObserveTextFlow-PFnG_10h.js";import"./SessionObserveEvidence-Cuj_KHxR.js";import"./wrench-DR0i5BU7.js";/* empty css */import"./AgentDefinitionsWorkspace-DguGs7jZ.js";import"./agent-specialization-DDc7mLCW.js";import"./project-overview-helpers-BQTc_Ous.js";import"./FileViewerPane-BAO6mtjD.js";import"./agent-essentials-BGGvT5G6.js";import"./NewChatOrigin-DFbF_XvR.js";function pr({route:t,navigate:i}){const{agents:p}=P(),e=y(t),n=m.useMemo(()=>b(p,e),[p,e]),[f,g]=m.useState([]),a=m.useCallback(async()=>{const s=await A("/api/conversations").catch(()=>[]);g(s)},[]);m.useEffect(()=>{a()},[a]),S(()=>!0,()=>{a()});const r=E(n,t.agentId),c=!!(t.agentId&&r&&r.id!==t.agentId),{conversationByAgentId:j}=C(f);if(m.useEffect(()=>{!t.agentId||!r||!c||i({...t,view:"agents-v2",agentId:r.id})},[i,t,r,t.agentId,c]),!r)return o.jsx(v,{activeRoute:t,navigate:i,children:o.jsx("div",{className:"av2-empty",children:"Agent not found."})});const d=t.conversationId??j.get(r.id)??r.conversationId??null,l=t.tab??(t.conversationId?"message":"profile");return o.jsx("div",{className:"s-av2-profileShell sys-project-profile",children:o.jsx(v,{activeRoute:t,navigate:i,bar:o.jsx(w,{agent:r,conversationId:d,activeTab:l,route:t,navigate:i}),children:o.jsx("div",{className:"av2-profileCanvas",children:o.jsx(R,{agent:r,allAgents:n,conversationId:d,navigate:i,activeTab:l,renderProfile:({agent:s,sessionCatalog:h,conversationId:x,navigate:I,route:u})=>o.jsx(B,{agent:s,name:M(s,n).name,sessionCatalog:h,conversationId:x,navigate:I,route:u,homeView:"agents-v2"})})})})})}function v({activeRoute:t,children:i,navigate:p,bar:e}){return o.jsxs("div",{className:"s-secondary-nav-shell",children:[o.jsx("div",{className:"s-secondary-nav-bar",children:e??o.jsx(N,{activeRoute:t,navigate:p})}),o.jsx("div",{className:"s-secondary-nav-body",children:i})]})}export{pr as ProjectAgentProfile};
@@ -1 +0,0 @@
1
- import{r as c,j as e}from"./index-EsrkGBcv.js";import{i as S,c as L}from"./agent-state-DDhnFEEP.js";import{a as u}from"./api-DSqpVKC7.js";import{u as T}from"./sse-BCPRocpq.js";import{t as P}from"./time-Dhsh_2EG.js";import{o as R}from"./openContent-C6XO6kr5.js";import{A as E}from"./AgentAvatar-CrP1eXxk.js";import{H as O}from"./HarnessMark-C4naWc16.js";import{n as V}from"./NewChatComposer-C97-iTMK.js";import{h as B}from"./model-CBkMvT1w.js";/* empty css */import"./index-BWHgHrtv.js";import"./Provider-C35yu29I.js";import"./theme-vars-DNK0nn3k.js";import"./provider-Dojd8quC.js";import"./router-DCtl8wqb.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./machine-scope-DJt9RZ2w.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-Bk3nyrkj.js";import"./DocumentFocusViewer-DJr0v0D_.js";import"./createLucideIcon-zZ8Hx7er.js";import"./TextDocumentSurface-D52m7Vd8.js";import"./file-text-CnISiiw6.js";import"./x-DAehov0E.js";import"./index-CHD0qcfL.js";import"./chevron-right-DrfqcerI.js";import"./folder-D5prSkzz.js";import"./chevron-up-CETZJzjV.js";import"./code-xml-BhcNbLWU.js";import"./arrow-left-MVUKauwQ.js";import"./arrow-right-Bp-FpE5V.js";import"./scout-voice-CZx60X6E.js";import"./fx-z37u1o2z.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./keyboard-nav-DDHegDbx.js";import"./media-blobs-Bi8pxr1u.js";import"./chunk-HRAB3GC3-DbVLgbWX.js";import"./SpriteAvatar-CpZWf54-.js";import"./CrewAvatar-kTznzqcO.js";import"./runtime-picker-DXu2bOTh.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-OvccU82H.js";import"./colors-CFlbwC25.js";import"./index-724SdE6r.js";import"./conversation-model-FxDeWlle.js";import"./conversations-DoAAO6kA.js";import"./NewChatOrigin-DFbF_XvR.js";import"./chevron-down-l1mrh5S9.js";import"./search-DT42oyRW.js";function U(s){return s?s.startsWith("/Users/")?`~/${s.split("/").slice(3).join("/")}`:s:null}function _(s){const a=s.model?.trim();if(!a)return null;const o=s.harness?.trim();return o&&a.startsWith(`${o}-`)?a.slice(o.length+1).replace(/-\d{8}$/,""):a.replace(/^claude-/,"").replace(/-\d{8}$/,"")}function g(s){const a=new Map;for(const o of s){if(o.kind!=="tool"||!o.tool)continue;const t=o.tool.toLowerCase();a.set(t,(a.get(t)??0)+1)}return[...a.entries()].sort((o,t)=>t[1]-o[1]||o[0].localeCompare(t[0])).map(([o])=>o).slice(0,6)}function l({label:s,value:a,title:o}){return a?.trim()?e.jsxs("div",{className:"av2-coreMetaItem",title:o??a,children:[e.jsx("span",{className:"av2-coreMetaLabel",children:s}),e.jsx("span",{className:"av2-coreMetaValue",children:a})]}):null}function Us({agent:s,route:a,navigate:o}){const[t,h]=c.useState(null),[C,v]=c.useState(null),m=c.useCallback(async()=>{const[r,i]=await Promise.all([u(`/api/agents/${encodeURIComponent(s.id)}/observe`).catch(()=>null),u(`/api/agents/${encodeURIComponent(s.id)}/session-catalog`).catch(()=>null)]);h(r),v(i)},[s.id]);c.useEffect(()=>{h(null),v(null),m()},[m]),T(()=>{m()});const p=s.handle?.trim().replace(/^@+/,"")||null,j=p?`@${p}`:s.name,n=s.harness?B(s.harness):null,H=_(s),w=U(s.cwd??s.projectRoot),M=(s.homeNodeName??s.authorityNodeName??"").replace(/\.local$/i,"").replace(/-local-openscout$/i,""),I=S(s.state),k=L(s.state,s),x=t?.data.events??[],d=c.useMemo(()=>g(x),[x]),f=t?.data.metadata?.usage??null,N=(()=>{const r=f?.contextWindowTokens??0,i=f?.contextInputTokens??0;return!r||r<=0||i<=0?null:Math.min(100,Math.max(0,Math.round(i/r*100)))})(),A=C?.sessions?.length??0,$=s.transport==="claude_stream_json"?"stream-json":s.transport==="codex_app_server"?"app-server":s.transport?.trim()||null,y=async()=>{try{const r=await u("/api/sessions",{method:"POST",body:JSON.stringify(V(s))}),i=r.sessionId?.trim();if(i){R(o,{view:"sessions",sessionId:i},{returnTo:a});return}const b=r.conversationId?.trim();o({...a,view:"agents-v2",agentId:r.agentId?.trim()||s.id,...b?{conversationId:b}:{},tab:"message"})}catch{}};return e.jsxs("header",{className:"av2-profileHero sys-profile-hero",children:[e.jsx(E,{agent:s,placement:"hero",size:56}),e.jsxs("div",{className:"av2-profileHeroCore",children:[e.jsxs("div",{className:"av2-profileHeroTop",children:[e.jsxs("div",{className:"av2-profileHeroIdent",children:[e.jsx("h1",{className:"av2-profileHeroTitle",title:j,children:j}),e.jsxs("span",{className:"av2-profileHeroState","data-online":I||void 0,children:[e.jsx("span",{className:"av2-profileHeroDot","aria-hidden":!0}),k,s.updatedAt?` · ${P(s.updatedAt)}`:""]}),p&&s.name.toLowerCase()!==p.toLowerCase()?e.jsx("span",{className:"av2-profileHeroBroker",title:s.id,children:s.name}):e.jsx("span",{className:"av2-profileHeroBroker",title:s.id,children:s.id})]}),e.jsxs("div",{className:"av2-profileHeroActions",children:[e.jsx("button",{type:"button",className:"av2-heroGhost",onClick:()=>o({...a,view:"agents-v2",agentId:s.id,tab:"config"}),children:"Edit config"}),e.jsx("button",{type:"button",className:"av2-heroCta",onClick:()=>{y()},children:"+ New session"})]})]}),e.jsxs("div",{className:"av2-profileHeroMeta",children:[e.jsx(l,{label:"Project",value:s.project?`/${s.project}`:null}),e.jsx(l,{label:"Branch",value:s.branch}),e.jsx(l,{label:"Harness",value:n?n.charAt(0).toUpperCase()+n.slice(1):null,title:s.harness??void 0}),e.jsx(l,{label:"Model",value:H}),e.jsx(l,{label:"Host",value:M||null}),e.jsx(l,{label:"Root",value:w,title:s.cwd??s.projectRoot??void 0}),e.jsx(l,{label:"Transport",value:$})]}),e.jsxs("div",{className:"av2-profileHeroSignal",children:[n?e.jsx("span",{className:"av2-signalMark",title:s.harness??n,children:e.jsx(O,{harness:n,size:12})}):null,e.jsxs("span",{className:"av2-signalChip",children:[e.jsx("span",{className:"av2-signalLabel",children:"Sessions"}),e.jsx("span",{className:"av2-signalValue",children:A})]}),N!=null?e.jsxs("span",{className:"av2-signalChip",children:[e.jsx("span",{className:"av2-signalLabel",children:"Ctx"}),e.jsxs("span",{className:"av2-signalValue",children:[N,"%"]})]}):null,d.length>0?e.jsxs("span",{className:"av2-signalChip av2-signalChip--wide",title:d.join(" · "),children:[e.jsx("span",{className:"av2-signalLabel",children:"Tools"}),e.jsx("span",{className:"av2-signalValue",children:d.join(" · ")})]}):t?e.jsxs("span",{className:"av2-signalChip",children:[e.jsx("span",{className:"av2-signalLabel",children:"Tools"}),e.jsx("span",{className:"av2-signalValue",children:"—"})]}):null]})]})]})}export{Us as ProjectAgentProfileHero};
@@ -1,2 +0,0 @@
1
- import{l as Ge,n as Ve,r as d,p as ke,C as ee,Q as Ue,j as t,q as Se,t as ce,D as Ke,g as Qe,R as ie}from"./index-EsrkGBcv.js";import{c as Xe,A as Ye}from"./AgentAvatar-CrP1eXxk.js";import{u as Ze}from"./CrewAvatar-kTznzqcO.js";import{d as re,r as Je,o as X,q as ue,v as et,s as de,b as pe,w as tt,x as ye,y as st,z as nt,f as ot,u as it}from"./Provider-C35yu29I.js";import{H as Re}from"./HarnessMark-C4naWc16.js";import{a as at}from"./api-DSqpVKC7.js";import{r as rt,i as lt}from"./ui-LM8pS8qE.js";import{t as G,d as ct,n as te}from"./time-Dhsh_2EG.js";import{p as Z}from"./NewChatComposer-C97-iTMK.js";import{SessionRefScreen as ut}from"./SessionRefScreen-DqLSUlCE.js";import{P as dt,C as pt,b as Ce}from"./CrewWorkspaces-DCBzAAS4.js";import{r as Q,s as V}from"./project-overview-helpers-BQTc_Ous.js";import{a as mt}from"./SessionHopMenu-E6VJZrE0.js";import{u as ht,r as ft}from"./projects-inbox-C0FUCv_p.js";import{u as jt}from"./useEmbedHeadline-D6pJRxUg.js";import{g as xt,a as gt,f as me,b as bt}from"./api-BQYTwoz6.js";import{f as wt}from"./cache-DGBo3vIf.js";/* empty css */import{A as he}from"./arrow-up-right-BPedAgxO.js";import{C as vt}from"./chevron-right-DrfqcerI.js";import{F as Nt}from"./AddProjectForm-CusDRiVO.js";import{S as kt}from"./search-DT42oyRW.js";import{A as St}from"./arrow-right-Bp-FpE5V.js";import{F as yt}from"./folder-D5prSkzz.js";import"./SpriteAvatar-CpZWf54-.js";import"./agent-state-DDhnFEEP.js";import"./colors-CFlbwC25.js";import"./runtime-picker-DXu2bOTh.js";import"./scout-voice-CZx60X6E.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-OvccU82H.js";import"./createLucideIcon-zZ8Hx7er.js";import"./router-DCtl8wqb.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./theme-vars-DNK0nn3k.js";import"./provider-Dojd8quC.js";import"./machine-scope-DJt9RZ2w.js";import"./sse-BCPRocpq.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-Bk3nyrkj.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-DJr0v0D_.js";import"./TextDocumentSurface-D52m7Vd8.js";import"./file-text-CnISiiw6.js";import"./x-DAehov0E.js";import"./index-CHD0qcfL.js";import"./chevron-up-CETZJzjV.js";import"./code-xml-BhcNbLWU.js";import"./arrow-left-MVUKauwQ.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./keyboard-nav-DDHegDbx.js";import"./media-blobs-Bi8pxr1u.js";import"./chunk-HRAB3GC3-DbVLgbWX.js";import"./index-724SdE6r.js";import"./conversation-model-FxDeWlle.js";import"./conversations-DoAAO6kA.js";import"./NewChatOrigin-DFbF_XvR.js";import"./chevron-down-l1mrh5S9.js";import"./tail-events-d0yAYxR0.js";import"./BackToPicker-CUkjnoVk.js";import"./ConversationScreen-CUfsQ4MR.js";import"./ComposerAttachments-DW0AIb8k.js";import"./message-markup-Zwo3t4cI.js";import"./message-markup-BQW5jdJw.js";import"./mentions-ByUvhS-v.js";import"./AgentDetailCard-DtHT3sCo.js";import"./AgentLiveActions-CfTupTEl.js";import"./terminal-takeover-Ay5C2c-M.js";import"./openContent-C6XO6kr5.js";import"./eye-LrO-cXQt.js";import"./terminal-hQKQygcf.js";import"./message-visibility-DwxgcgYK.js";import"./operator-attention-DBaRg5ep.js";import"./sessionRead-CvFz2RHv.js";import"./clipboard-e3fSpeo7.js";import"./MessageEmbeds-ksPazAKH.js";import"./types-B0PlfpKc.js";/* empty css */import"./ConversationHeader-C-ZWscKj.js";import"./AstronautSuit-Cchnc4Ug.js";import"./panel-right-Bv7sP_fc.js";import"./CommsFlowGraph-DxoOaLF_.js";import"./comms-gesture-_aGFo6g3.js";import"./CommsCanvas-THp0r_U8.js";import"./comms-deck-CBhsXnY-.js";import"./CommsFlowMap-Vi8ziCPg.js";import"./CommsSelection-BUoRbu9o.js";/* empty css */import"./use-conversation-list-CY4JciOV.js";import"./agent-master-model-Bk_yuUXJ.js";import"./use-beside-DoRC1nt0.js";import"./ConversationComposer-CUQyArlk.js";import"./zap-CEjZNZbI.js";import"./ConversationFeedRows-DWiOfT-y.js";import"./ConversationPanels-D9oC0xG5.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";import"./use-reduced-motion-3gMYZNIp.js";import"./proxy-AJsmwA6h.js";import"./activity-CIlFrfPJ.js";import"./message-circle-CxRVKNE-.js";import"./ConversationStatus--IPm2nGh.js";import"./check-lrJ3a73a.js";import"./sparkles-BjHq_DNK.js";import"./triangle-alert-CHoRGdVO.js";import"./SessionContextStrip-CXfs9hUD.js";import"./SessionObserve-DXxBvejJ.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-Czggx8oM.js";import"./LaneToolHoverCard-CJa110yk.js";import"./lane-observe-CteDwdD-.js";import"./lane-ask-display-BTVSakyo.js";import"./ObservedTopologyPanel-CUTIoLZJ.js";import"./ObserveTextFlow-PFnG_10h.js";import"./SessionObserveEvidence-Cuj_KHxR.js";import"./wrench-DR0i5BU7.js";import"./external-link-CUObqmgX.js";import"./session-ref-lookup-state-SATH_jAP.js";/* empty css */import"./agent-specialization-DDc7mLCW.js";import"./plus-DFDDeGKu.js";import"./message-square-BxesYglW.js";function Ae({slug:e,height:s,pose:o="rest",floor:n=!1,halo:i=null,blink:r=!0,alt:a="",className:u,style:f}){const j=e.toLowerCase(),g=ee[j],x=Ge[j],w=o==="rest",S=Ze(r&&w&&x?x.roles.length+1:1),A=w&&x&&S>0?Ve[S]?.role:void 0,y=d.useMemo(()=>typeof i=="number"?i:i?ke(i):null,[i]);if(!g)return null;const k=s/g.h,T=g.w*k,R=y!=null&&g.ink<Ue;return t.jsxs("span",{className:`xc-figure ${u??""}`,style:{width:T,height:s,"--xc-fig-h":`${s}px`,...f},"data-pose":o,children:[R&&t.jsx("span",{className:"xc-figure-halo",style:{background:Se(y,g.ink)}}),n&&t.jsx("span",{className:"xc-figure-floor"}),t.jsx("img",{src:ce(Ke(j,o)),alt:a,className:"xc-figure-img",draggable:!1}),x&&A&&t.jsx("img",{src:ce(`${x.dir}/${A}.webp`),alt:"",className:"xc-figure-patch",style:{width:x.patch[2]*k,height:x.patch[3]*k,left:x.patch[0]*k,top:x.patch[1]*k}})]})}const Rt=6,fe=2100,Ct=1400,At=143,Te=120,Tt=168,Mt=16,Et=18,je=64;function Pt(e,s,o=Te){if(e.length===0||s<=0)return o;const n=e.reduce((r,a)=>r+a,0);if(n<=0)return o;const i=s-Et*2-Mt*(e.length-1);return i<=0?je:Math.max(je,Math.min(o,Math.floor(i/n)))}function Me(e,s=Rt){const o=[...e].sort((r,a)=>a.lastActivityAt-r.lastActivityAt||r.name.localeCompare(a.name)||r.key.localeCompare(a.key)),n=new Set,i=[];for(const r of o)if(!n.has(r.castSlug)&&(n.add(r.castSlug),i.push(r),i.length>=s))break;return i}function Lt(e,s){const o=e instanceof Set?e:new Set(e),n=[];for(const i of s)o.has(i)||n.includes(i)||n.push(i);return n}function Ee(e,s){const o=[];for(const n of s){const{castSlug:i}=Xe(e,{agent:{id:n.agentId??null,name:n.name}});i&&o.push({key:n.key,name:n.name,castSlug:i,lastActivityAt:n.lastActivityAt})}return o}const It=typeof window>"u"?d.useEffect:d.useLayoutEffect;function Ft(){return typeof window<"u"&&!!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches}function $t({subjects:e,projectSlug:s,figureHeight:o=Te,bandHeight:n=Tt,className:i,style:r}){const a=re(),u=d.useMemo(()=>Me(Ee(a,e)),[a,e]),j=d.useMemo(()=>u.map(l=>l.castSlug),[u]).join("\0"),[g,x]=d.useState(Ft),[w,S]=d.useState({}),[A,y]=d.useState(0),[k,T]=d.useState(0),R=d.useRef(null),L=d.useRef(null),D=d.useRef(null),E=d.useRef(new Map),v=d.useRef([]);d.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const l=window.matchMedia("(prefers-reduced-motion: reduce)"),p=()=>x(l.matches);return p(),l.addEventListener("change",p),()=>l.removeEventListener("change",p)},[]),d.useEffect(()=>()=>{for(const l of v.current)clearTimeout(l);v.current=[]},[]),d.useEffect(()=>{const l=R.current;if(!l||typeof ResizeObserver>"u")return;T(l.clientWidth);const p=new ResizeObserver(b=>{const m=b[0]?.contentRect.width;m!=null&&T(m)});return p.observe(l),()=>p.disconnect()},[u.length]),It(()=>{const l=j?j.split("\0"):[];if(D.current!==s){D.current=s,L.current=l.length>0?new Set(l):null;for(const h of v.current)clearTimeout(h);v.current=[],S(h=>Object.keys(h).length>0?{}:h);return}const p=L.current;if(!p){l.length>0&&(L.current=new Set(l));return}L.current=new Set(l);const b=g?[]:Lt(p,l),m=new Set(l);S(h=>{const P={};for(const[N,c]of Object.entries(h))m.has(N)&&(P[N]=c);for(const N of b)P[N]="travel";return P});for(const h of b){const P=E.current.get(h);P&&P.style.setProperty("--xcp-from",`${-(P.offsetLeft+P.offsetWidth+16)}px`),v.current.push(window.setTimeout(()=>{S(N=>N[h]==="travel"?{...N,[h]:"wave"}:N)},fe)),v.current.push(window.setTimeout(()=>{S(N=>{if(!(h in N))return N;const c={...N};return delete c[h],c})},fe+Ct))}},[s,g,j]);const O=Object.values(w).some(l=>l==="travel");if(d.useEffect(()=>{if(!O||g||typeof window>"u")return;const l=window.setInterval(()=>y(p=>p===0?1:0),At);return()=>clearInterval(l)},[g,O]),u.length===0)return null;const F=ke(s),M=Pt(u.map(l=>{const p=ee[l.castSlug];return p?p.w/p.h:1}),k,o);return t.jsxs("div",{ref:R,className:`xcp-photo${i?` ${i}`:""}`,style:{height:n,background:Se(F,.7),...r},children:[t.jsx("div",{className:"xcp-stage",children:u.map(l=>{const p=w[l.castSlug],b=ie(l.castSlug,"run-a")&&ie(l.castSlug,"run-b"),m=p==="travel"&&b?A===0?"run-a":"run-b":p==="wave"?"wave":"rest";return t.jsxs("span",{className:"xcp-slot",style:{width:M*ee[l.castSlug].w/ee[l.castSlug].h},"data-phase":p??void 0,"data-run":b?void 0:"off",ref:h=>{h?E.current.set(l.castSlug,h):E.current.delete(l.castSlug)},children:[t.jsx(Ae,{slug:l.castSlug,height:M,pose:m,floor:!1,halo:s,blink:!0,alt:l.name}),t.jsx("span",{className:"xcp-name",title:l.name,children:l.name})]},l.castSlug)})}),t.jsx("span",{className:"xcp-fade","aria-hidden":!0})]})}function Wt({subjects:e,projectSlug:s,onStart:o}){const n=re(),i=d.useMemo(()=>Me(Ee(n,e),1)[0]??null,[n,e]),r=i?.castSlug??Qe(s);return t.jsxs("div",{className:"xcp-empty",role:"note",children:[t.jsx(Ae,{slug:r,height:210,pose:ie(r,"wave")?"wave":"rest",floor:!0,halo:null,blink:!0,alt:i?.name??""}),i?t.jsx("span",{className:"xcp-emptyWho",children:i.name}):null,t.jsx("span",{className:"xcp-emptyTitle",children:"Nobody is flying this project yet"}),t.jsx("span",{className:"xcp-emptyDetail",children:"Start a conversation and the crew shows up here."}),o?t.jsx("button",{type:"button",className:"xcp-emptyAction",onClick:o,children:"Start a conversation"}):null]})}const Ot=1e4,Dt=2e4,Ht=6e4,Bt=15e3,zt=45e3,_t=["branch","unstaged","staged"];function ne(e){const s=()=>{document.visibilityState==="visible"&&e()};return window.addEventListener("focus",s),document.addEventListener("visibilitychange",s),()=>{window.removeEventListener("focus",s),document.removeEventListener("visibilitychange",s)}}function qt(e,s){const o=new Set;for(const n of[e,...s]){const i=n?.trim();i&&o.add(i.replace(/\/+$/u,""))}return[...o].slice(0,6)}function Gt(e){return e.replace(/\/+$/u,"").split("/").pop()?.toLocaleLowerCase()??e.toLocaleLowerCase()}function Vt(e,s,o){return e.path===s||o?.worktrees.some(i=>i.path===e.path)?!0:e.repo.split("/").pop()?.toLocaleLowerCase()===(o?.name.toLocaleLowerCase()??Gt(s))}function J(e){return e&&typeof e=="object"&&"name"in e&&e.name==="AbortError"?"The repository scan timed out.":e instanceof Error?e.message:String(e)}function Ut(e,s=[]){const o=qt(e,s).join("\0"),n=d.useMemo(()=>o?o.split("\0"):[],[o]),[i,r]=d.useState(()=>xt()),[a,u]=d.useState(()=>gt()),[f,j]=d.useState(!!(e&&!Q(i,e))),[g,x]=d.useState(!!e),[w,S]=d.useState(!!e),[A,y]=d.useState(null),[k,T]=d.useState(null),[R,L]=d.useState(()=>new Map),[D,E]=d.useState(()=>new Map),[v,O]=d.useState(0),F=d.useRef(null),M=d.useCallback(()=>{F.current=null,O(m=>m+1)},[]);d.useEffect(()=>{if(!e){j(!1),y(null);return}let m=!1,h=!1,P=!0;const N=async()=>{if(h)return;h=!0,m||(j(!0),y(null));let H=null;try{let W=null;const B=v>0&&P;P=!1;try{W=await me("standard",B,Bt)}catch(I){H=J(I)}if((!W||!Q(W,e))&&F.current!==e){F.current=e;try{const I=await me("expanded",B,zt);Q(I,e)&&(W=I)}catch(I){H=J(I)}}!m&&W&&r(I=>Q(W,e)?W:I&&Q(I,e)?I:W),!m&&!Q(W,e)&&y(H??"Repo Watch did not include this project in its latest scan.")}finally{h=!1,m||j(!1)}};N();const c=window.setInterval(()=>{document.visibilityState==="visible"&&N()},Ot),$=ne(()=>{N()});return()=>{m=!0,window.clearInterval(c),$()}},[e,v]),d.useEffect(()=>{if(n.length===0){S(!1),E(new Map);return}let m=!1,h=!1,P=!0;const N=async()=>{if(h)return;h=!0,m||S(!0);const H=await Promise.allSettled(n.map(W=>wt(W,[..._t],{force:v>0&&P,tier:"summary"})));if(P=!1,!m){const W=new Map,B=new Map;H.forEach((I,U)=>{const _=n[U];I.status==="fulfilled"?W.set(_,I.value.snapshot):B.set(_,J(I.reason))}),L(I=>{const U=new Map(I);for(const _ of n)U.delete(_);for(const[_,se]of W)U.set(_,se);return U}),E(B),S(!1)}h=!1};N();const c=window.setInterval(()=>{document.visibilityState==="visible"&&N()},Dt),$=ne(()=>{N()});return()=>{m=!0,window.clearInterval(c),$()}},[n,v]),d.useEffect(()=>{if(n.length===0){x(!1),T(null);return}let m=!1,h=!1;const P=async()=>{if(!h){h=!0;try{const $=await bt(n);m||(u($),T(null))}catch($){m||T(J($))}finally{h=!1,m||x(!1)}}};x(!0),T(null),P();const N=window.setInterval(()=>{document.visibilityState==="visible"&&P()},Ht),c=ne(()=>{P()});return()=>{m=!0,window.clearInterval(N),c()}},[n,v]);const l=d.useMemo(()=>Q(i,e),[e,i]),p=d.useMemo(()=>e?(a?.pullRequests??[]).filter(m=>Vt(m,e,l)):[],[l,e,a]),b=d.useMemo(()=>{const m=a?.paths.some(h=>n.includes(h))?a.warnings:[];return k?[k,...m]:m},[n,k,a]);return{project:l,pullRequests:p,pullRequestsLoading:g,pullRequestWarnings:b,repoLoading:f,repoError:A,diffSnapshots:R,diffErrors:D,diffLoading:w,refresh:M}}const Pe=[];function Kt(e,s){return e.thread===s.thread&&e.crossProject===s.crossProject&&e.selected===s.selected&&e.cursor===s.cursor&&e.nowMs===s.nowMs&&e.workLabel===s.workLabel}const Qt=d.memo(function({thread:s,crossProject:o,selected:n,cursor:i,nowMs:r,onSelect:a,onOpen:u,rowRef:f,workLabel:j}){return t.jsxs("button",{ref:f,type:"button",className:"pi-row","data-state":s.group,"data-selected":n||void 0,"data-cursor":i||void 0,onClick:a,onDoubleClick:u,children:[t.jsx("span",{className:"pi-rowDot","aria-hidden":!0}),t.jsxs("span",{className:"pi-rowBody",children:[t.jsx("span",{className:"pi-rowWork",title:s.work,children:j??s.work}),t.jsxs("span",{className:"pi-rowAttr",children:[t.jsx("span",{className:"pi-rowAvatar",children:t.jsx(Ye,{agent:{name:s.agentName,harness:s.harness,state:s.working?"in_turn":null},placement:"row",size:22})}),t.jsx("span",{className:"pi-rowAgent",title:s.agentName,children:s.agentName}),t.jsx("span",{className:"pi-rowHmark","aria-hidden":!0,children:t.jsx(Re,{harness:s.harness,size:11})}),o?t.jsxs("span",{className:"pi-rowChip",title:`/${s.projectTitle}`,children:["/",s.projectTitle]}):s.branch?t.jsx("span",{className:"pi-rowBranch",title:s.branch,children:s.branch}):null]})]}),t.jsxs("span",{className:"pi-rowVitals",children:[s.working?t.jsx("span",{className:"pi-rowLiveTag",children:"live"}):null,t.jsx("span",{className:"pi-rowAgo",children:s.lastActivityAt?G(s.lastActivityAt,r):"—"}),s.contextPct!=null?t.jsxs("span",{className:"pi-rowCtx",children:[s.contextPct,"%"]}):null]}),t.jsxs("span",{className:"pi-rowOpen","aria-hidden":!0,children:[t.jsx("span",{children:"Open"}),t.jsx(vt,{size:14,strokeWidth:1.8})]})]})},Kt);function xe({title:e,detail:s,tone:o="muted"}){return t.jsxs("div",{className:"pi-stateBlock","data-tone":o,role:o==="loading"?"status":"note",children:[t.jsx("span",{className:"pi-statePulse","aria-hidden":!0}),t.jsx("span",{className:"pi-stateTitle",children:e}),s?t.jsx("span",{className:"pi-stateDetail",children:s}):null]})}function Xt({rows:e=7}){return t.jsxs("div",{className:"pi-loadingRows","aria-hidden":"true",children:[t.jsxs("div",{className:"pi-sectionHead pi-sectionHead--loading",children:[t.jsx("span",{className:"pi-loadingLine pi-loadingLine--label"}),t.jsx("span",{className:"pi-loadingLine pi-loadingLine--count"})]}),Array.from({length:e},(s,o)=>t.jsxs("div",{className:"pi-row pi-row--loading",children:[t.jsx("span",{className:"pi-rowDot"}),t.jsxs("span",{className:"pi-rowBody",children:[t.jsx("span",{className:"pi-loadingLine pi-loadingLine--title"}),t.jsx("span",{className:"pi-loadingLine pi-loadingLine--meta"})]}),t.jsx("span",{className:"pi-rowVitals",children:t.jsx("span",{className:"pi-loadingLine pi-loadingLine--time"})})]},o))]})}function Yt({route:e,navigate:s,slug:o,model:n,mode:i,repoProject:r}){const a=n.projects.find(R=>R.slug===o)??null,u=d.useMemo(()=>X(n.threads,o),[n.threads,o]),f=d.useMemo(()=>u.filter(R=>R.kind==="agent"),[u]),j=re(),g=d.useMemo(()=>a?Ce([a],u,j?.agents??Pe,e.machineId??null):[],[a,u,e.machineId,j?.agents]),x=a?.title??o,w=a?.root??null,S=(a?.agentCount??f.length)>0,A=e.machineId?{machineId:e.machineId}:{},y={view:"agents-v2",projectSlug:o,...A},k=Zt(a?.needs??0,Math.max(a?.working??0,a?.liveSessionCount??0),a?.agentCount??(f.length>0?1:0),a?.sessionCount??0),T=r?.worktrees.length??a?.worktreeCount??0;return t.jsxs("header",{className:"pi-projectHead",children:[t.jsx("div",{className:"pi-projectHeadTop",children:t.jsxs("div",{className:"pi-projectIdent",children:[t.jsx("h1",{className:"pi-projectTitle",children:x}),t.jsxs("div",{className:"pi-projectMeta",children:[w?t.jsx("span",{title:w,children:V(w)}):null,t.jsx("span",{className:"pi-projectDigest",children:k})]})]})}),t.jsx($t,{subjects:g,projectSlug:o}),t.jsxs("div",{className:"pi-projectFacets","aria-label":"Project sections",children:[t.jsx("button",{type:"button",className:"pi-projectFacet","data-selected":i==="overview"||void 0,onClick:()=>s(y),children:t.jsx("span",{children:"Overview"})}),t.jsxs("button",{type:"button",className:"pi-projectFacet","data-selected":i==="sessions"||void 0,onClick:()=>s({...y,indexView:"sessions"}),children:[t.jsx("span",{children:"Sessions"}),t.jsx("b",{children:a?.sessionCount??0})]}),S?t.jsxs("button",{type:"button",className:"pi-projectFacet","data-selected":i==="agents"||void 0,onClick:()=>s({...y,indexView:"agents"}),children:[t.jsx("span",{children:"Agents"}),t.jsx("b",{children:a?.agentCount??f.length})]}):null,t.jsxs("button",{type:"button",className:"pi-projectFacet",title:"Open worktrees in Repos",onClick:()=>s({view:"repos",...w?{root:w}:{},...A}),children:[t.jsx("span",{children:"Worktrees"}),t.jsx("b",{children:T}),t.jsx(he,{className:"pi-projectFacetOut",size:11,strokeWidth:2,"aria-hidden":!0})]}),t.jsxs("button",{type:"button",className:"pi-projectFacet",disabled:!w,title:w?"Open this project's AGENTS.md":"No project root known",onClick:()=>s({view:"code",project:o,path:"AGENTS.md"}),children:[t.jsx("span",{children:"Rules"}),t.jsx("b",{children:w?"set":"—"}),t.jsx(he,{className:"pi-projectFacetOut",size:11,strokeWidth:2,"aria-hidden":!0})]})]})]})}function Zt(e,s,o,n){const i=[];return s>0&&i.push(t.jsxs("b",{children:[s," active"]},"w")),e>0&&i.push(t.jsxs("b",{children:[e," needs you"]},"n")),i.push(t.jsxs("span",{children:[o," agent",o===1?"":"s"]},"a")),i.push(t.jsxs("span",{children:[n," session",n===1?"":"s"]},"s")),i.reduce((r,a,u)=>(u>0&&r.push(t.jsx("span",{children:" · "},`sep${u}`)),r.push(a),r),[])}function Le(e){if(e.length<=18)return e;const s=e.match(/^([0-9a-f]{8})-[0-9a-f-]{27,}$/iu);return s?s[1]:`${e.slice(0,10)}…${e.slice(-5)}`}function Jt(e,s){return`${s?0:e.projects.length} tracked`}function es({route:e,navigate:s,projects:o}){const{onboarding:n,refreshOnboarding:i,reload:r}=it(),a=ts(n?.defaultHarness),[u,f]=d.useState(""),[j,g]=d.useState(""),[x,w]=d.useState(a),[S,A]=d.useState(!1),[y,k]=d.useState(null),[T,R]=d.useState(null),[L,D]=d.useState(null);d.useEffect(()=>{w(a)},[a]);const E=d.useMemo(()=>ss(o),[o]),v=d.useMemo(()=>ns(E,u),[u,E]),O=d.useMemo(()=>E.find(c=>c.slug===j)??be(E,u),[u,E,j]),F=u.trim(),M=is(F)&&!be(E,F),l=O??(!M&&F?v[0]??null:null),p=l?"Open project":M?"Create project":"Find project",b=!!(l||M||F);d.useEffect(()=>{j&&(E.some(c=>c.slug===j)||g(""))},[E,j]),d.useEffect(()=>{if(!L)return;const c=E.find($=>as($,L));c&&(D(null),s(ge(e,c.slug)))},[L,s,E,e]);const m=c=>{g(c.slug),f(c.title),k(null),R(null)},h=c=>{s(ge(e,c.slug))},P=async c=>{A(!0),k(null),R(null);try{await at("/api/onboarding/project",{method:"POST",body:JSON.stringify({contextRoot:c,sourceRoots:[c],defaultHarness:x})}),D(c),R("Project created. Refreshing inventory."),g(""),f(""),ft(),await Promise.all([i(),r()])}catch($){k($ instanceof Error?$.message:"Could not create project.")}finally{A(!1)}},N=c=>{if(c.preventDefault(),!S){if(l){h(l);return}if(M){P(F);return}if(F){k("No project matches that search. Paste a repo path to create one.");return}k("Choose a project or paste a repo path.")}};return t.jsxs("div",{className:"pi-zero",children:[t.jsxs("div",{className:"pi-zeroHead",children:[t.jsxs("span",{className:"pi-zeroKicker",children:[t.jsx(Nt,{size:13,strokeWidth:1.9,"aria-hidden":!0}),"Projects"]}),t.jsx("h2",{children:"Pick a project to start."})]}),t.jsxs("form",{className:"pi-zeroComposer",onSubmit:N,children:[t.jsxs("div",{className:"pi-zeroBar",children:[t.jsxs("label",{className:"pi-zeroSelect",children:[t.jsx(kt,{size:13,strokeWidth:1.8,"aria-hidden":!0}),t.jsxs("select",{value:j,"aria-label":"Choose project",onChange:c=>{const $=E.find(H=>H.slug===c.currentTarget.value);$?m($):g("")},children:[t.jsx("option",{value:"",children:"Choose project"}),E.slice(0,80).map(c=>t.jsx("option",{value:c.slug,children:c.title},c.slug))]})]}),t.jsx("div",{className:"pi-zeroHarness",role:"group","aria-label":"Default harness",children:["claude","codex"].map(c=>t.jsx("button",{type:"button","data-on":x===c||void 0,onClick:()=>w(c),children:c==="claude"?"Claude":"Codex"},c))})]}),t.jsxs("div",{className:"pi-zeroInputRow",children:[t.jsx("textarea",{value:u,rows:2,placeholder:"Find project or paste /path/to/repo","aria-label":"Find or create project",onChange:c=>{f(c.currentTarget.value),g(""),k(null),R(null)},onKeyDown:c=>{c.key==="Enter"&&!c.shiftKey&&(c.preventDefault(),c.currentTarget.form?.requestSubmit())}}),t.jsxs("button",{type:"submit",className:"pi-zeroSend",disabled:S||!b,title:p,children:[t.jsx(St,{size:15,strokeWidth:2,"aria-hidden":!0}),t.jsx("span",{children:S?"Working":p})]})]}),v.length>0?t.jsx("div",{className:"pi-zeroMatches","aria-label":"Matching projects",children:v.map(c=>t.jsxs("button",{type:"button",className:"pi-zeroMatch","data-selected":O?.slug===c.slug||void 0,onClick:()=>m(c),onDoubleClick:()=>h(c),children:[t.jsxs("span",{className:"pi-zeroMatchMain",children:[t.jsxs("span",{className:"pi-zeroMatchTitle",children:["/",c.title]}),t.jsx("span",{className:"pi-zeroMatchRoot",title:c.root??void 0,children:c.root?V(c.root):c.slug})]}),t.jsx("span",{className:"pi-zeroMatchMeta",children:rs(c)})]},c.slug))}):F?t.jsx("div",{className:"pi-zeroEmpty",children:"No project matches."}):null,y?t.jsx("div",{className:"pi-zeroError",children:y}):null,T?t.jsx("div",{className:"pi-zeroStatus",children:T}):null]})]})}function ts(e){return e==="codex"?"codex":"claude"}function ge(e,s){return{view:"agents-v2",projectSlug:s,...e.showEphemeral?{showEphemeral:!0}:{},...e.machineId?{machineId:e.machineId}:{}}}function ss(e){return e.map(s=>({slug:s.slug,title:s.title,root:s.root,agentCount:s.agentCount,sessionCount:s.sessionCount,lastActivityAt:s.lastActivityAt})).sort((s,o)=>o.lastActivityAt-s.lastActivityAt||o.agentCount-s.agentCount||o.sessionCount-s.sessionCount||s.title.localeCompare(o.title))}function ns(e,s){const o=z(s);return o?e.map(n=>({option:n,score:os(n,o)})).filter(n=>n.score!==null).sort((n,i)=>n.score-i.score||i.option.lastActivityAt-n.option.lastActivityAt||n.option.title.localeCompare(i.option.title)).slice(0,6).map(n=>n.option):e.slice(0,6)}function be(e,s){const o=z(s);return o?e.find(n=>{const i=z(n.root??""),r=z(n.root?Z(n.root):"");return z(n.title)===o||z(n.slug)===o||i===o||r===o||z(n.root?V(n.root):"")===o})??null:null}function os(e,s){const o=z(e.title),n=z(e.slug),i=z(e.root??""),r=z(e.root?Z(e.root):"");return o===s||n===s||i===s||r===s?0:o.startsWith(s)||n.startsWith(s)||r.startsWith(s)?1:o.includes(s)||n.includes(s)||r.includes(s)?2:i.includes(s)?3:null}function z(e){return e.trim().toLowerCase().replace(/^~(?=\/)/u,"").replace(/\s+/g," ")}function is(e){const s=e.trim();return/^(~\/|\/|\.{1,2}\/)/u.test(s)||s.includes("/")}function as(e,s){const o=z(s);return o?[e.root??"",e.root?V(e.root):"",e.root?Z(e.root):"",e.slug,e.title].map(z).some(i=>i===o||i.endsWith(o)):!1}function rs(e){return[we(e.agentCount,"agent"),we(e.sessionCount,"session"),e.lastActivityAt?G(e.lastActivityAt):null].filter(Boolean).join(" · ")}function we(e,s){return`${e} ${s}${e===1?"":"s"}`}function ls(e,s){return ot(e,s)}function ve(e){return/^native:process:/iu.test(e??"")}function cs(e){return e.startsWith("/")||e.startsWith("~/")||e.includes("/")&&/\.(jsonl?|events)$/i.test(e)}function Ie(e,s,o){const n=e?.trim()??"";return!n||cs(n)?s:n}function us({session:e,sessionRef:s,threads:o,lookup:n,route:i,navigate:r,nowMs:a}){const u=e?.agentName??i.selectedAgentId??i.agentId??"Session",f=e?.harness??"session",j=n?.kind==="observe"?n.observe.data:null,g=j?.metadata?.session,x=e?.lastActivityAt??n?.session?.lastMessageAt??null,[w,S,A]=d.useMemo(()=>[le(j),$e(j,x),fs(j,x)],[j,x]),y=g?.gitBranch??n?.session?.currentBranch??e?.branch??null,k=g?.model??null,T=g?.turnCount??j?.metadata?.usage?.assistantMessages??(n?.kind==="conversation"?n.session.messageCount:null),R=S?G(S,a):e?.lastActivityAt?G(e.lastActivityAt,a):"—",L=e?.working?`live · last ${R}`:R!=="—"?`last ${R}`:"trace resolving",D=Ie(e?.work,u),E=Le(s),v=n?.session??null,O=n?.kind==="observe"?n.observe.agentId??v?.agentId??e?.agentId:v?.agentId??e?.agentId,F=n?.kind==="observe"?n.observe.sessionId:v?.harnessSessionId,M=[u,f,k,y,w?`started ${ct(w)}`:null,A,T!=null?`turn ${C(T)}`:null,E].filter(p=>!!p&&p!=="—"),l=d.useMemo(()=>({agentId:O,sessionRefs:[s,F,e?.sessionId]}),[e?.sessionId,s,O,F]);return t.jsxs("section",{className:"pi-sessionOverview","aria-label":"Session overview",children:[t.jsxs("section",{className:"pi-sessionMasthead","data-state":e?.working?"working":"recent",children:[t.jsxs("div",{className:"pi-sessionMastTop",children:[t.jsx("span",{className:"pi-sessionCrumb",children:"Sessions ▸"}),t.jsx("h2",{className:"pi-sessionHeadline",title:D,children:D}),t.jsxs("span",{className:"pi-sessionState",children:[e?.working?t.jsx("span",{className:"pi-sessionLiveDot","aria-hidden":!0}):null,L]})]}),t.jsx("div",{className:"pi-sessionMeta",children:M.map((p,b)=>t.jsxs("span",{title:b===M.length-1?s:p,children:[b===1?t.jsx(Re,{harness:f,size:11}):null,p]},`${p}:${b}`))}),t.jsx(mt,{hints:l,navigate:r,returnTo:i,className:"pi-sessionTerminalActions"})]}),t.jsx(Ns,{lookup:n,session:e,threads:o,nowMs:a,route:i,navigate:r})]})}function ds({session:e,sessionRef:s,threads:o,route:n,navigate:i,nowMs:r}){const[a,u]=d.useState(null);return d.useEffect(()=>{u(null)},[s]),t.jsx("main",{className:"pi-sessionDetail","aria-label":"Selected session",children:t.jsxs("div",{className:"pi-sessionContent",children:[t.jsx(us,{session:e,sessionRef:s,threads:o,lookup:a,route:n,navigate:i,nowMs:r}),t.jsx(ut,{sessionRef:s,navigate:i,showObserveRail:!1,onLookup:u})]})})}function C(e){return typeof e!="number"||!Number.isFinite(e)?"—":Math.abs(e)<1e3?e.toLocaleString("en-US"):Intl.NumberFormat("en-US",{notation:"compact",maximumFractionDigits:1}).format(e).toLowerCase()}function Fe(e){return typeof e!="number"||!Number.isFinite(e)||e<=0?"—":`${C(e)} tok`}function q(e){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:null}function ps(e){const s=q(e?.contextInputTokens),o=q(e?.contextWindowTokens);return s===null||o===null?null:Math.max(0,Math.min(1,s/o))}function ms(e){const s=[{key:"input",label:"input",value:q(e?.inputTokens)??0},{key:"cache-read",label:"cache rd",value:q(e?.cacheReadInputTokens)??0},{key:"cache-write",label:"cache wr",value:q(e?.cacheCreationInputTokens)??0},{key:"output",label:"output",value:q(e?.outputTokens)??0},{key:"reasoning",label:"reasoning",value:q(e?.reasoningOutputTokens)??0}].filter(r=>r.value>0),o=s.reduce((r,a)=>r+a.value,0),n=s.filter(r=>r.key!=="reasoning"||o>0&&r.value/o>=.02);if(n.length>0)return n;const i=q(e?.totalTokens);return i!==null?[{key:"total",label:"total",value:i}]:[]}function hs({buckets:e}){const s=e.reduce((o,n)=>o+n.value,0);return e.length===0?null:t.jsxs("div",{className:"pi-sessionGlanceTokens","aria-label":"Token usage",children:[t.jsx("div",{className:"pi-sessionGlanceTokenBars",children:e.map(o=>t.jsx("span",{className:"pi-sessionGlanceTokenSeg","data-kind":o.key,style:{flexGrow:s>0?Math.max(.035,o.value/s):1,flexBasis:0},title:`${o.label}: ${Fe(o.value)}`},o.key))}),t.jsx("div",{className:"pi-sessionGlanceTokenLegend",children:e.map(o=>t.jsxs("span",{children:[t.jsx("i",{"data-kind":o.key,"aria-hidden":!0}),o.label," ",t.jsx("b",{children:C(o.value)})]},o.key))})]})}function le(e){const s=te(e?.metadata?.session?.sessionStart);if(s!==null)return s;for(const o of e?.events??[]){const n=te(o.at);if(n!==null)return n}return null}function $e(e,s){for(let i=(e?.events.length??0)-1;i>=0;i-=1){const r=te(e?.events[i]?.at);if(r!==null)return r}const o=le(e),n=e?.events.at(-1)?.t;return o!==null&&typeof n=="number"&&Number.isFinite(n)?o+n*1e3:te(s)}function fs(e,s){const o=le(e),n=$e(e,s);if(o!==null&&n!==null)return ae(Math.max(0,n-o))||"—";const i=e?.events.at(-1)?.t;return typeof i=="number"&&Number.isFinite(i)&&ae(i*1e3)||"—"}function ae(e){if(typeof e!="number"||!Number.isFinite(e)||e<0)return"";const s=Math.floor(e/1e3);if(s<60)return`${s}s`;const o=Math.floor(s/60);if(o<60)return`${o}m`;const n=Math.floor(o/60),i=o%60;if(n<48)return i>0?`${n}h ${i}m`:`${n}h`;const r=Math.floor(n/24),a=n%24;return a>0?`${r}d ${a}h`:`${r}d`}function js(e){const s=e?.metadata?.topology;if(!s)return null;const o=s.agents.length,n=s.agents.filter(u=>u.role!=="lead").length,i=s.groups.filter(u=>u.kind==="workflow").length,r=s.tasks.length,a=[];return n>0?a.push(`${n} worker${n===1?"":"s"}`):o>0&&a.push(`${o} agent${o===1?"":"s"}`),i>0&&a.push(`${i} workflow${i===1?"":"s"}`),r>0&&a.push(`${r} task${r===1?"":"s"}`),a.length?a.join(" · "):null}function xs(e){return[...e].sort((s,o)=>Ne(o.state)-Ne(s.state)||o.touches-s.touches||o.lastT-s.lastT||s.path.localeCompare(o.path)).slice(0,5).map(s=>({path:s.path,kind:s.state,detail:[s.touches>1?`${C(s.touches)} touches`:"1 touch",s.lastT>0?`last ${ae(s.lastT*1e3)}`:null].filter(Boolean).join(" · ")}))}function Ne(e){switch(e){case"created":return 3;case"modified":return 2;case"read":return 1}}function gs(e){const s=new Map;for(const o of e){if(o.kind!=="tool")continue;const n=bs(o.tool||o.text),i=s.get(n)??{count:0,samples:[]};i.count+=1;const r=o.arg||o.detail||o.text;r&&i.samples.length<2&&i.samples.push(r),s.set(n,i)}return[...s.entries()].sort((o,n)=>n[1].count-o[1].count||o[0].localeCompare(n[0])).slice(0,5).map(([o,n])=>({name:o,count:n.count,detail:n.samples.join(" · ")||`${C(n.count)} uses`}))}function bs(e){return(e.trim().split(/\s+/u)[0]??"tool").replace(/[_-]+/gu," ").toLowerCase()}function ws({usage:e,contextPct:s,topology:o,workspace:n,projectRoot:i,branch:r}){const a=[];return s!==null&&a.push({label:"Context",value:`${s}%`,detail:s>=80?"approaching limit":"within window",tone:s>=80?"warn":void 0}),(e?.serviceTier||e?.planType||e?.speed)&&a.push({label:"Budget",value:e.serviceTier??e.planType??e.speed??"usage",detail:[e.planType,e.speed].filter(Boolean).join(" · ")||"provider metadata"}),n&&i&&n!==i?a.push({label:"Worktree",value:V(n),detail:"session cwd differs from project root",tone:"warn"}):r&&a.push({label:"Repo",value:r,detail:"session branch"}),o&&a.push({label:"Topology",value:o,detail:"observed harness hierarchy"}),(e?.webSearchRequests||e?.webFetchRequests)&&a.push({label:"Network",value:`${C((e.webSearchRequests??0)+(e.webFetchRequests??0))} req`,detail:[e.webSearchRequests?`${C(e.webSearchRequests)} search`:null,e.webFetchRequests?`${C(e.webFetchRequests)} fetch`:null].filter(Boolean).join(" · ")}),a.slice(0,4)}function vs({session:e,threads:s,nowMs:o}){return s.filter(n=>n.kind==="agent").filter(n=>n.agentId!==e?.agentId||n.work!==e?.work).sort((n,i)=>Number(i.working)-Number(n.working)||i.lastActivityAt-n.lastActivityAt).slice(0,4).map(n=>{const i=!!(e?.branch&&n.branch===e.branch),r=!!(e?.agentName&&n.agentName===e.agentName);return{thread:n,title:Ie(n.work,n.agentName,n.id),channel:n.conversationId?Le(n.conversationId):n.agentName,state:n.needs?"needs":n.working?"working":"recent",time:n.lastActivityAt?G(n.lastActivityAt,o):"—",participants:n.agentName,why:i?"same branch":r?"same agent":n.working?"active in project":"project thread"}})}function Y({label:e,value:s,title:o,detail:n}){return t.jsxs("span",{className:"pi-sessionGlanceField",title:o,children:[t.jsx("span",{children:e}),t.jsx("b",{children:s}),n?t.jsx("small",{children:n}):null]})}function Ns({lookup:e,session:s,threads:o,nowMs:n,route:i,navigate:r}){const[a,u]=d.useState(!1),f=d.useMemo(()=>{const M=e?.kind==="observe"?e.observe.data:null,l=M?.metadata?.session,p=M?.metadata?.usage,b=M?.events??[],m=M?.files??[],h=l?.turnCount??p?.assistantMessages??(e?.kind==="conversation"?e.session.messageCount:null),P=b.filter(K=>K.kind==="tool").length,N=m.filter(K=>K.state==="created").length,c=m.filter(K=>K.state==="modified").length,$=m.filter(K=>K.state==="read").length,H=N+c,W=ps(p),B=W!==null?Math.round(W*100):null,I=l?.cwd??e?.session?.workspaceRoot??s?.projectRoot??null,U=l?.gitBranch??e?.session?.currentBranch??s?.branch??null,_=js(M),se=Fe(p?.totalTokens??(typeof p?.inputTokens=="number"||typeof p?.outputTokens=="number"?(p?.inputTokens??0)+(p?.outputTokens??0):null)),Oe=ms(p),De=H>0?[c>0?`${C(c)} mod`:null,N>0?`${C(N)} new`:null].filter(Boolean).join(" · "):$>0?"read-only":"no file trace",He=m.length>0?`${C(m.length)} touched`:"—",Be=xs(m),ze=gs(b),_e=ws({usage:p,contextPct:B,topology:_,workspace:I,projectRoot:s?.projectRoot,branch:U}),qe=vs({session:s,threads:o,nowMs:n});return{turnCount:h,toolCount:P,editCount:H,fileCountLabel:He,fileStateLabel:De,workspace:I,contextPct:B,showContext:B!==null,contextWarn:B!==null&&B>=80,tokenTotal:se,buckets:Oe,fileSignals:Be,toolSignals:ze,contextSignals:_e,threadSignals:qe,projectRoot:s?.projectRoot??null}},[e,s,o,n]),{turnCount:j,toolCount:g,editCount:x,fileCountLabel:w,fileStateLabel:S,workspace:A,contextPct:y,showContext:k,contextWarn:T,tokenTotal:R,buckets:L,fileSignals:D,toolSignals:E,contextSignals:v,threadSignals:O,projectRoot:F}=f;return t.jsxs("section",{className:"pi-sessionGlance","aria-label":"Session glance",children:[t.jsxs("div",{className:"pi-sessionVitals","aria-label":"Session vitals",children:[t.jsx(Y,{label:"Turns",value:C(j)}),t.jsx(Y,{label:"Tools",value:C(g)}),t.jsx(Y,{label:"Edits",value:C(x)}),t.jsx(Y,{label:"Files",value:w,detail:S!=="no file trace"?S:null}),A&&F&&A!==F?t.jsx(Y,{label:"Worktree",value:V(A),title:A}):null,k?t.jsxs("span",{className:"pi-sessionContextVital",title:"Context window usage",children:[t.jsx("span",{children:"Ctx"}),t.jsx("span",{className:"pi-sessionContextBar","aria-hidden":!0,children:t.jsx("span",{"data-warn":T||void 0,style:{width:`${y}%`}})}),t.jsxs("b",{"data-warn":T||void 0,children:[y,"%"]})]}):null,L.length>0?t.jsxs("button",{type:"button",className:"pi-sessionTokenToggle","aria-expanded":a,onClick:()=>u(M=>!M),children:[t.jsx("span",{children:"Tokens"}),t.jsx("b",{children:R}),t.jsx("i",{children:a?"▾":"▸"})]}):null]}),a&&L.length>0?t.jsx(hs,{buckets:L}):null,t.jsx(ks,{files:D,tools:E,context:v,threads:O,route:i,navigate:r})]})}function ks({files:e,tools:s,context:o,threads:n,route:i,navigate:r}){return t.jsxs("section",{className:"pi-sessionSignals","aria-label":"Session work signals",children:[t.jsxs("div",{className:"pi-sessionSignalCol",children:[t.jsxs("div",{className:"pi-sessionSignalHead",children:[t.jsx("span",{children:"Files"}),t.jsx("b",{children:C(e.length)})]}),e.length>0?t.jsx("div",{className:"pi-sessionFileList",children:e.map(a=>t.jsxs("div",{className:"pi-sessionFileRow",children:[t.jsx("span",{"data-kind":a.kind,children:a.kind}),t.jsx("code",{title:a.path,children:a.path}),t.jsx("small",{children:a.detail})]},`${a.kind}:${a.path}`))}):t.jsx("span",{className:"pi-sessionSignalEmpty",children:"No file trace yet."})]}),t.jsxs("div",{className:"pi-sessionSignalCol",children:[t.jsx("div",{className:"pi-sessionSignalHead",children:t.jsx("span",{children:"Tools · Context · Topology"})}),s.length>0?t.jsx("div",{className:"pi-sessionToolGrid",children:s.map(a=>t.jsxs("span",{className:"pi-sessionToolPill",title:a.detail,children:[t.jsx("b",{children:a.name}),t.jsx("em",{children:C(a.count)})]},a.name))}):null,o.length>0?t.jsx("div",{className:"pi-sessionContextList",children:o.map(a=>t.jsxs("div",{className:"pi-sessionContextRow",children:[t.jsx("span",{children:a.label}),t.jsx("b",{"data-tone":a.tone,children:a.value}),t.jsx("small",{children:a.detail})]},`${a.label}:${a.value}`))}):s.length===0?t.jsx("span",{className:"pi-sessionSignalEmpty",children:"Trace metadata is still resolving."}):null]}),t.jsxs("div",{className:"pi-sessionSignalCol",children:[t.jsxs("div",{className:"pi-sessionSignalHead",children:[t.jsx("span",{children:"Recent threads"}),t.jsx("b",{children:C(n.length)})]}),n.length>0?t.jsx("div",{className:"pi-sessionThreadList",children:n.map(a=>t.jsxs("button",{type:"button",className:"pi-sessionThreadRow",onClick:()=>r(ye(a.thread,i)),children:[t.jsx("span",{className:"pi-sessionThreadTitle",title:a.title,children:a.title}),t.jsxs("span",{className:"pi-sessionThreadMeta",children:[t.jsx("b",{children:a.channel}),t.jsx("em",{children:a.state}),t.jsx("small",{children:a.time})]}),t.jsxs("span",{className:"pi-sessionThreadWhy",children:[a.participants," · ",a.why]})]},a.thread.id))}):t.jsx("span",{className:"pi-sessionSignalEmpty",children:"No recent agent threads."})]})]})}function oe(e){return!e||e==="—"||/^\d+\s+branches$/iu.test(e)?null:e}function We(e,s,o,n){const i=new Map,r=(u,f)=>{const j=u??e,g=oe(f),x=j??"project",w=i.get(x);if(w)return!w.branch&&g&&(w.branch=g),w;const S={key:x,root:j,branch:g,sessions:0,work:0,moving:0,lastActivityAt:0,repoWatch:null};return i.set(x,S),S};for(const u of s){const f=r(u.root,u.branch);u.working&&(f.moving+=1),f.lastActivityAt=Math.max(f.lastActivityAt,u.lastActivityAt)}const a=(u,f)=>{const j=u??e,g=i.get(j??"project");return g||(s.length>0?i.get(e??"")??i.values().next().value:r(u,f))};for(const u of o){const f=a(u.workspaceRoot??u.projectRoot,u.branch);f.sessions+=1,u.working&&(f.moving+=1,f.branch=oe(u.branch)??f.branch),f.lastActivityAt=Math.max(f.lastActivityAt,u.lastActivityAt)}for(const u of n){const f=a(u.workspaceRoot??u.projectRoot,u.branch);f.work+=1,u.working&&(f.moving+=1,f.branch=oe(u.branch)??f.branch),f.lastActivityAt=Math.max(f.lastActivityAt,u.lastActivityAt)}return i.size===0&&r(e,null),[...i.values()].sort((u,f)=>f.moving-u.moving||f.lastActivityAt-u.lastActivityAt||(u.root??"").localeCompare(f.root??""))}function Ss(e){return e.worktrees.map(s=>({key:s.id,root:s.path,branch:s.branch.name,sessions:s.sessions.length,work:s.agents.length,moving:s.agents.some(lt)?1:0,lastActivityAt:s.lastCommitAt??0,repoWatch:s}))}function ys({pullRequests:e,loading:s,warnings:o,onRefresh:n,nowMs:i}){return t.jsxs("section",{className:"pi-projectPullRequests","aria-label":"Open pull requests",children:[t.jsxs("div",{className:"pi-projectPullRequestsHead",children:[t.jsx("span",{children:"Open PRs"}),t.jsx("b",{children:s&&e.length===0?"…":C(e.length)})]}),e.length>0?t.jsx("div",{className:"pi-projectPullRequestList",children:e.slice(0,6).map(r=>{const a=r.updatedAt?Date.parse(r.updatedAt):Number.NaN;return t.jsxs("a",{className:"pi-projectPullRequest",href:r.url,target:"_blank",rel:"noreferrer",children:[t.jsxs("span",{className:"pi-projectPullRequestNumber",children:["#",r.number]}),t.jsx("b",{title:r.title,children:r.title}),t.jsxs("span",{className:"pi-projectPullRequestBranch",title:`${r.headRefName} → ${r.baseRefName}`,children:[r.headRefName," → ",r.baseRefName]}),t.jsx("em",{children:r.isDraft?"draft":"open"}),t.jsx("time",{children:Number.isFinite(a)?G(a,i):"updated"})]},r.id)})}):t.jsxs("div",{className:"pi-projectPullRequestState","data-loading":s||void 0,children:[t.jsx("span",{children:s?"Checking GitHub for open pull requests…":o[0]??"No open pull requests for this repository."}),!s&&o.length>0?t.jsx("button",{type:"button",onClick:n,children:"Retry"}):null]})]})}function Rs(e){const s=new Set;let o=0,n=0;const i=[];for(const r of e.layers){r.files.length>0&&i.push(r.kind);for(const a of r.files)s.add(a.newPath??a.oldPath??"unknown"),o+=a.additions??0,n+=a.deletions??0}return{additions:o,deletions:n,files:[...s],layers:i}}function Cs({additions:e,deletions:s}){return e+s===0?t.jsx("span",{className:"pi-projectWorktreeChurnBar","data-empty":!0}):t.jsxs("span",{className:"pi-projectWorktreeChurnBar","aria-label":`${e} additions and ${s} deletions`,children:[e>0?t.jsx("i",{"data-add":!0,style:{flexGrow:e}}):null,s>0?t.jsx("i",{"data-delete":!0,style:{flexGrow:s}}):null]})}function As({project:e,repoProject:s,repoLoading:o,repoError:n,diffSnapshots:i,diffErrors:r,diffLoading:a,pullRequests:u,pullRequestsLoading:f,pullRequestWarnings:j,onRepositoryRefresh:g,threads:x,sessions:w,route:S,navigate:A,nowMs:y}){const k=e?.root??w[0]?.projectRoot??x[0]?.projectRoot??null,T=x.length,R=e?.sessionCount??w.length,L=e?.agentCount??0,D=Math.max(e?.lastActivityAt??0,w[0]?.lastActivityAt??0,x[0]?.lastActivityAt??0),E=e?.branches.length?e.branches:[...new Set([...w.map(l=>l.branch),...x.map(l=>l.branch)].filter(l=>!!l&&l!=="—"&&l!=="main"))],v=s?.worktrees.length?Ss(s):We(k,e?.worktrees??[],w,x),O=v.find(l=>l.moving>0&&l.branch)?.branch??v.find(l=>l.branch)?.branch??E[0]??"main",F=k?Z(k):e?.title??S.projectSlug??"project",M=v.find(l=>l.moving>0)?.key??v.find(l=>l.branch===O)?.key??v[0]?.key;return t.jsxs("main",{className:"pi-projectOverview","aria-label":"Project overview",children:[t.jsxs("section",{className:"pi-projectSnapshot","aria-label":"Project snapshot",children:[t.jsxs("div",{className:"pi-projectRepository",children:[t.jsxs("div",{className:"pi-projectRepositoryHead",children:[t.jsx("span",{children:"Repository"}),t.jsx(yt,{size:13,strokeWidth:1.7,"aria-hidden":!0})]}),t.jsxs("div",{className:"pi-projectRepositoryIdentity",children:[t.jsx("b",{children:F}),t.jsx("span",{title:k??void 0,children:k?V(k):S.projectSlug??"project"})]}),t.jsxs("div",{className:"pi-projectRepositoryCurrent",children:[v.some(l=>l.moving>0)?t.jsx("span",{className:"pi-projectRepositoryPulse","aria-label":"Active now"}):null,t.jsxs("span",{children:[t.jsx("small",{children:"Current branch"}),t.jsx("b",{title:O,children:O})]}),t.jsx("time",{children:D?G(D,y):"no activity"})]}),R>0||L>0||T>0?t.jsxs("div",{className:"pi-projectRepositoryStats","aria-label":"Repository activity",children:[R>0?t.jsxs("span",{children:[t.jsx("b",{children:C(R)})," ",R===1?"session":"sessions"]}):null,L>0?t.jsxs("span",{children:[t.jsx("b",{children:C(L)})," ",L===1?"agent":"agents"]}):null,T>0?t.jsxs("span",{children:[t.jsx("b",{children:C(T)})," ",T===1?"thread":"threads"]}):null]}):null]}),t.jsxs("div",{className:"pi-projectWorktrees",children:[t.jsxs("div",{className:"pi-projectWorktreesHead",children:[t.jsx("span",{children:"Worktree preview"}),t.jsx("b",{children:C(v.length)})]}),t.jsx("div",{className:"pi-projectWorktreeList",children:v.slice(0,6).map(l=>{const p=l.repoWatch,b=l.root?i.get(l.root)??null:null,m=b?Rs(b):null,h=p?rt(p):null,P=m?.additions??h?.add??0,N=m?.deletions??h?.del??0,c=m?.files.length??(p?Math.max(p.status.changedFiles,h?.files??0):0),$=!!(c>0||p&&(!p.status.clean||p.branch.ahead>0||p.branch.behind>0)),H=u.filter(I=>I.headRefName===l.branch),W=!!(l.root&&a&&!b&&!r.has(l.root)),B=l.root?r.get(l.root)??null:"No worktree path is available.";return t.jsxs("article",{className:"pi-projectWorktree","data-active":l.key===M||void 0,"data-stranded":$||void 0,children:[t.jsx("span",{className:"pi-projectWorktreeTop",children:t.jsx("b",{title:l.branch??"main",children:l.branch??"main"})}),t.jsx("em",{title:l.root??void 0,children:l.root?V(l.root):"workspace"}),b||p?t.jsxs("div",{className:"pi-projectWorktreeDiff","data-clean":!$||void 0,children:[$?t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:"pi-projectWorktreeChurn",children:[t.jsxs("b",{className:"pi-projectWorktreeAdd",children:["+",C(P)]}),t.jsxs("b",{className:"pi-projectWorktreeDel",children:["−",C(N)]}),t.jsx(Cs,{additions:P,deletions:N})]}),t.jsxs("small",{children:[C(c)," changed"]})]}):t.jsx("small",{children:"clean"}),l.root?t.jsx("button",{type:"button",className:"pi-projectWorktreeOpenDiff",onClick:()=>A({view:"repo-diff",path:l.root}),children:"View diff"}):null]}):t.jsxs("div",{className:"pi-projectWorktreeDiff","data-pending":!0,children:[t.jsx("small",{children:W||o?"Reading worktree diff…":B??n??"No diff data returned."}),!W&&!o?t.jsx("button",{type:"button",className:"pi-projectWorktreeOpenDiff",onClick:g,children:"Retry"}):null]}),m&&m.files.length>0?t.jsxs("span",{className:"pi-projectWorktreeFiles",title:m.files.join(`
2
- `),children:[m.files.slice(0,2).map(I=>Z(I)).join(" · "),m.files.length>2?` · +${m.files.length-2} more`:""]}):null,t.jsx("span",{className:"pi-projectWorktreeMeta",children:p?t.jsxs(t.Fragment,{children:[t.jsx("small",{children:p.branch.ahead>0||p.branch.behind>0?`${p.branch.ahead}↑ ${p.branch.behind}↓`:"synced"}),p.status.staged>0?t.jsxs("small",{children:[C(p.status.staged)," staged"]}):null,p.status.unstaged>0?t.jsxs("small",{children:[C(p.status.unstaged)," unstaged"]}):null,p.status.untracked>0?t.jsxs("small",{children:[C(p.status.untracked)," untracked"]}):null,p.status.conflicts>0?t.jsxs("small",{children:[C(p.status.conflicts)," conflicts"]}):null,m?.layers.map(I=>t.jsx("small",{children:I},I)),H.length>0?t.jsxs("small",{children:[H.length," PR",H.length===1?"":"s"]}):null]}):t.jsxs(t.Fragment,{children:[t.jsx("small",{children:l.lastActivityAt?G(l.lastActivityAt,y):"idle"}),t.jsxs("small",{children:[C(l.sessions)," sessions"]}),t.jsxs("small",{children:[C(l.work)," threads"]})]})})]},l.key)})}),v.length>6?t.jsxs("div",{className:"pi-projectWorktreeMore",children:["+",v.length-6," more worktrees"]}):null]})]}),t.jsx(ys,{pullRequests:u,loading:f,warnings:j,onRefresh:g,nowMs:y})]})}function Ts({project:e,threads:s,sessions:o,route:n,navigate:i,nowMs:r}){const a=e?.root??o[0]?.projectRoot??s[0]?.projectRoot??null,u=d.useMemo(()=>We(a,e?.worktrees??[],o,s).map(j=>j.root).filter(j=>!!j),[e?.worktrees,a,o,s]),f=Ut(a,u);return t.jsx(As,{project:e,repoProject:f.project,repoLoading:f.repoLoading,repoError:f.repoError,diffSnapshots:f.diffSnapshots,diffErrors:f.diffErrors,diffLoading:f.diffLoading,pullRequests:f.pullRequests,pullRequestsLoading:f.pullRequestsLoading,pullRequestWarnings:f.pullRequestWarnings,onRepositoryRefresh:f.refresh,threads:s,sessions:o,route:n,navigate:i,nowMs:r})}function Xo({route:e,navigate:s,zeroPreview:o=!1,embedded:n=!1}){const{model:i,nowMs:r,loading:a,error:u,agents:f=Pe}=ht(e),j=!!e.projectSlug,g=e.projectSlug?Je(i,e.projectSlug)??e.projectSlug:null,x=g&&g!==e.projectSlug?{...e,projectSlug:g}:e,w=j&&!ve(e.sessionId)?e.sessionId??null:null,S=d.useMemo(()=>w?ls(i.sessions,x):null,[x,i.sessions,w]),A=j?e.indexView==="agents"?"agents":e.indexView==="sessions"?"sessions":"overview":"overview",y=j?i.projects.find(b=>b.slug===g)??null:null,k=j?y?.title??g:"Projects";jt(k,n);const T=d.useMemo(()=>{if(o)return[];if(!j)return[];const b=g,m=X(i.threads,b),h=ue(i.sessions,b);return A==="overview"?[]:A==="agents"?[]:h.length>0?h:m},[g,i.sessions,i.threads,A,j,o]),R=d.useMemo(()=>et(T),[T]),L=d.useMemo(()=>R.flatMap(b=>b.items),[R]),D=i.projects.length>0||i.threads.length>0||i.sessions.length>0,E=a&&!D,v=a&&!o,O=!j&&!v&&(o||i.projects.length===0&&T.length===0),F=!j&&!O,[M,l]=d.useState(-1),p=d.useRef(new Map);return d.useEffect(()=>{!j||!e.sessionId||!ve(e.sessionId)||s({...x,indexView:"sessions",sessionId:void 0,selectedAgentId:void 0})},[x,s,e.sessionId,j]),d.useEffect(()=>{l(-1)},[g]),d.useEffect(()=>{function b(m){const h=document.activeElement;if(!!h&&(h.tagName==="INPUT"||h.tagName==="TEXTAREA"||h.isContentEditable))return;const N=L.length;if(N){if(m.key==="ArrowDown"||m.key==="j")m.preventDefault(),l(c=>c<0?0:Math.min(N-1,c+1));else if(m.key==="ArrowUp"||m.key==="k")m.preventDefault(),l(c=>c<0?0:Math.max(0,c-1));else if(m.key==="Enter"){const c=L[M<0?0:M];c&&(m.preventDefault(),s(c.kind==="session"?de(c,x):pe(c,x)))}}}return document.addEventListener("keydown",b),()=>document.removeEventListener("keydown",b)},[M,x,L,s]),d.useEffect(()=>{if(M<0)return;const b=L[M];b&&p.current.get(b.id)?.scrollIntoView({block:"nearest"})},[M,L]),t.jsxs("div",{className:"s-pi s-pi-inbox","aria-busy":a||void 0,"data-loading":a||void 0,children:[j?t.jsx(Yt,{route:x,navigate:s,slug:g,model:i,mode:A,repoProject:null}):t.jsx("div",{className:"pi-inboxHead",children:t.jsxs("div",{className:"pi-inboxHeading",children:[t.jsx("h1",{className:"pi-inboxTitle",children:"Projects"}),t.jsx("span",{className:"pi-inboxDigest",children:Jt(i,o)})]})}),w?t.jsx(ds,{session:S,sessionRef:w,threads:X(i.threads,g),route:x,navigate:s,nowMs:r}):j&&A==="overview"?t.jsx(Ts,{project:y,threads:X(i.threads,g),sessions:ue(i.sessions,g),route:x,navigate:s,nowMs:r}):j&&A==="agents"&&y?t.jsx(dt,{project:y,threads:X(i.threads,g),route:x,navigate:s,nowMs:r}):F?t.jsx(pt,{model:i,agents:f,route:e,navigate:s,nowMs:r}):t.jsxs("div",{className:"pi-threads",children:[E?t.jsx(Xt,{}):null,!E&&R.map(b=>{let m=0;for(const h of R){if(h.group===b.group)break;m+=h.items.length}return t.jsxs("div",{children:[t.jsxs("div",{className:"pi-sectionHead","data-tone":b.group,children:[t.jsx("span",{className:"pi-sectionLabel",children:b.label}),t.jsx("span",{className:"pi-sectionCount",children:b.items.length})]}),b.items.map((h,P)=>{const N=m+P;return t.jsx(Qt,{thread:h,crossProject:!j,selected:h.kind==="session"?st(h,x,i.sessions):nt(h,x,i.threads),cursor:M===N,nowMs:r,onSelect:()=>{const c=h.kind==="session"?tt(h,x):ye(h,x);s(c)},onOpen:()=>s(h.kind==="session"?de(h,x):pe(h,x)),rowRef:c=>{c?p.current.set(h.id,c):p.current.delete(h.id)}},h.id)})]},b.group)}),!E&&T.length===0?u&&!D?t.jsx(xe,{tone:"error",title:"Projects unavailable",detail:u}):O?t.jsx("div",{className:"pi-empty",children:t.jsx(es,{route:e,navigate:s,projects:i.projects})}):v?t.jsx("div",{className:"pi-empty",children:"Loading…"}):j&&A!=="agents"&&g?t.jsx(Wt,{subjects:y?Ce([y],X(i.threads,g),f,e.machineId??null):[],projectSlug:g,onStart:()=>s({view:"messages",...e.machineId?{machineId:e.machineId}:{}})}):t.jsx(xe,{title:Ms(j,A)}):null]})]})}function Ms(e,s){return e&&s==="agents"?"No visible agents in this project.":e?"No sessions in this project yet.":"No projects yet."}export{Xo as ProjectsInbox,Qt as ThreadRow};
@@ -1 +0,0 @@
1
- import{r as c,j as e}from"./index-EsrkGBcv.js";import{t as P}from"./time-Dhsh_2EG.js";import{F as y,A as b}from"./AddProjectForm-CusDRiVO.js";import{s as k}from"./project-overview-helpers-BQTc_Ous.js";import{u as C}from"./projects-inbox-C0FUCv_p.js";import{r as A}from"./Provider-C35yu29I.js";import{S as x}from"./search-DT42oyRW.js";import{X as w}from"./x-DAehov0E.js";import{C as F}from"./chevron-down-l1mrh5S9.js";import{F as v}from"./folder-D5prSkzz.js";import"./api-DSqpVKC7.js";import"./createLucideIcon-zZ8Hx7er.js";import"./router-DCtl8wqb.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./sse-BCPRocpq.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./tail-events-d0yAYxR0.js";import"./conversation-model-FxDeWlle.js";import"./agent-state-DDhnFEEP.js";import"./conversations-DoAAO6kA.js";import"./theme-vars-DNK0nn3k.js";import"./provider-Dojd8quC.js";import"./machine-scope-DJt9RZ2w.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-C97-iTMK.js";import"./runtime-picker-DXu2bOTh.js";import"./scout-voice-CZx60X6E.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-OvccU82H.js";import"./media-blobs-Bi8pxr1u.js";import"./index-724SdE6r.js";import"./HarnessMark-C4naWc16.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-DFbF_XvR.js";import"./keyboard-nav-DDHegDbx.js";import"./file-text-CnISiiw6.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-DJr0v0D_.js";import"./TextDocumentSurface-D52m7Vd8.js";import"./index-CHD0qcfL.js";import"./chevron-right-DrfqcerI.js";import"./chevron-up-CETZJzjV.js";import"./code-xml-BhcNbLWU.js";import"./arrow-left-MVUKauwQ.js";import"./arrow-right-Bp-FpE5V.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DbVLgbWX.js";function G(t){return t.needs>0?"needs":t.working>0||t.liveSessionCount>0?"working":"idle"}function L(t){return[t.title,t.slug,t.root??""].join(" ").toLowerCase()}function R(t,a,s){const o=a.trim().toLowerCase();return[...o?t.filter(i=>L(i).includes(o)):t].sort((i,n)=>s==="name"?i.title.localeCompare(n.title):n.lastActivityAt-i.lastActivityAt||i.title.localeCompare(n.title))}function W({rows:t=7}){return e.jsx("div",{className:"pi-railLoading","aria-hidden":"true",children:Array.from({length:t},(a,s)=>e.jsx("div",{className:"pi-projectGroup pi-projectGroup--loading",children:e.jsx("div",{className:"pi-projectGroupHead pi-projectGroupHead--flat",children:e.jsxs("span",{className:"pi-projectPath pi-projectPath--flat",children:[e.jsx(v,{size:13,strokeWidth:1.6,"aria-hidden":!0}),e.jsxs("span",{className:"pi-projectPathStack",children:[e.jsx("span",{className:"pi-loadingLine pi-loadingLine--railProject"}),e.jsx("span",{className:"pi-loadingLine pi-loadingLine--railRoot"})]})]})})},s))})}function Le({route:t,navigate:a,zeroPreview:s=!1}){const{model:o,nowMs:l,loading:i,error:n}=C(t),[p,j]=c.useState(""),[d,N]=c.useState("recent"),[h,u]=c.useState(!1),m=c.useMemo(()=>R(s?[]:o.projects,p,d),[o.projects,p,d,s]),g=t.projectSlug?A(o,t.projectSlug)??t.projectSlug:void 0,f=i&&o.projects.length===0&&!s,S=c.useCallback(r=>{a({view:"agents-v2",projectSlug:r,...t.machineId?{machineId:t.machineId}:{},...t.showEphemeral?{showEphemeral:!0}:{}})},[a,t.machineId,t.showEphemeral]);return e.jsxs("nav",{className:"s-pi s-pi-rail","aria-label":"Projects","aria-busy":i||void 0,"data-loading":i||void 0,children:[e.jsxs("div",{className:"pi-railFind",role:"search",children:[e.jsx(x,{size:13,strokeWidth:1.8,"aria-hidden":!0}),e.jsx("input",{className:"pi-railFindInput",type:"search",value:p,placeholder:"Find project","aria-label":"Find project",onChange:r=>j(r.currentTarget.value)}),p?e.jsx("button",{type:"button",className:"pi-railFindClear","aria-label":"Clear",onClick:()=>j(""),children:e.jsx(w,{size:12,strokeWidth:2,"aria-hidden":!0})}):null]}),e.jsx("div",{className:"pi-railBody",children:e.jsxs("div",{className:"pi-railGroup pi-railGroup--projects",children:[e.jsxs("div",{className:"pi-railProjectTools",children:[e.jsx("div",{className:"pi-railLabel",children:"Projects"}),e.jsxs("label",{className:"pi-railSortWrap",title:"Sort projects",children:[e.jsx("span",{className:"pi-srOnly",children:"Sort projects"}),e.jsxs("select",{className:"pi-railSort",value:d,"aria-label":"Sort projects",onChange:r=>N(r.currentTarget.value),children:[e.jsx("option",{value:"recent",children:"Recent"}),e.jsx("option",{value:"name",children:"Name"})]}),e.jsx(F,{size:12,strokeWidth:2,"aria-hidden":!0})]}),e.jsx("button",{type:"button",className:"pi-railAddBtn","aria-expanded":h,"aria-label":"Add project",title:"Add a project by path",onClick:()=>u(r=>!r),children:e.jsx(y,{size:13,strokeWidth:1.8,"aria-hidden":!0})})]}),h?e.jsx(b,{onClose:()=>u(!1)}):null,f?e.jsx(W,{}):n&&m.length===0?e.jsx("div",{className:"pi-railEmpty",children:"Projects unavailable."}):m.length===0?e.jsx("div",{className:"pi-railEmpty",children:p?"No projects matched.":"No projects yet."}):e.jsx("div",{className:"pi-projectIndex",children:m.map(r=>e.jsx(E,{project:r,selected:g===r.slug,nowMs:l,onOpen:S},r.slug))})]})}),e.jsx("div",{className:"pi-railFoot",children:e.jsxs("button",{type:"button",className:"pi-railFootBtn",onClick:()=>a({view:"search"}),children:[e.jsx(x,{size:13,strokeWidth:1.8,"aria-hidden":!0}),"Search all Scout"]})})]})}function E({project:t,selected:a,nowMs:s,onOpen:o}){const l=G(t),i=t.lastActivityAt?P(t.lastActivityAt,s):"No activity";return e.jsx("div",{className:"pi-projectGroup pi-projectGroup--flat","data-selected":a||void 0,"data-state":l,children:e.jsx("div",{className:"pi-projectGroupHead pi-projectGroupHead--flat",children:e.jsxs("button",{type:"button",className:"pi-projectPath pi-projectPath--flat",title:t.root??t.title,"aria-current":a?"page":void 0,"aria-label":`Open /${t.title}`,onClick:()=>o(t.slug),children:[e.jsx(v,{size:13,strokeWidth:1.6,"aria-hidden":!0}),e.jsxs("span",{className:"pi-projectPathStack",children:[e.jsxs("span",{className:"pi-projectPathText",children:["/",t.title]}),e.jsxs("span",{className:"pi-projectPathMeta",children:[e.jsx("span",{children:t.root?k(t.root):"Discovered project"}),e.jsx("span",{"aria-hidden":!0,children:"·"}),e.jsxs("span",{children:[t.worktreeCount," ",t.worktreeCount===1?"worktree":"worktrees"]}),e.jsx("span",{"aria-hidden":!0,children:"·"}),e.jsx("time",{children:i})]})]}),l!=="idle"?e.jsx("span",{className:"pi-projectState","data-state":l,children:l==="needs"?"Needs you":"Active"}):null]})})})}export{Le as ProjectsRail,R as filterAndSortProjects};
@@ -1 +0,0 @@
1
- import{r as n,j as e}from"./index-EsrkGBcv.js";import{p as a,e as u,u as l}from"./Provider-C35yu29I.js";import{d as f}from"./types-B0PlfpKc.js";import{ProjectsInbox as d}from"./ProjectsInbox-Cgu7B4--.js";import{ProjectAgentProfile as j}from"./ProjectAgentProfile-D_wlW4sQ.js";import{u as w}from"./projects-inbox-C0FUCv_p.js";import{i as P}from"./model-CBkMvT1w.js";/* empty css */import"./theme-vars-DNK0nn3k.js";import"./provider-Dojd8quC.js";import"./router-DCtl8wqb.js";import"./api-DSqpVKC7.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./machine-scope-DJt9RZ2w.js";import"./sse-BCPRocpq.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./agent-state-DDhnFEEP.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-C97-iTMK.js";import"./runtime-picker-DXu2bOTh.js";import"./scout-voice-CZx60X6E.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-OvccU82H.js";import"./createLucideIcon-zZ8Hx7er.js";import"./media-blobs-Bi8pxr1u.js";import"./index-724SdE6r.js";import"./HarnessMark-C4naWc16.js";import"./conversation-model-FxDeWlle.js";import"./time-Dhsh_2EG.js";import"./conversations-DoAAO6kA.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-DFbF_XvR.js";import"./keyboard-nav-DDHegDbx.js";import"./x-DAehov0E.js";import"./chevron-down-l1mrh5S9.js";import"./search-DT42oyRW.js";import"./file-text-CnISiiw6.js";import"./DocumentFocusViewer-DJr0v0D_.js";import"./TextDocumentSurface-D52m7Vd8.js";import"./index-CHD0qcfL.js";import"./chevron-right-DrfqcerI.js";import"./folder-D5prSkzz.js";import"./chevron-up-CETZJzjV.js";import"./code-xml-BhcNbLWU.js";import"./arrow-left-MVUKauwQ.js";import"./arrow-right-Bp-FpE5V.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DbVLgbWX.js";import"./AgentAvatar-CrP1eXxk.js";import"./SpriteAvatar-CpZWf54-.js";import"./CrewAvatar-kTznzqcO.js";import"./ui-LM8pS8qE.js";import"./SessionRefScreen-DqLSUlCE.js";import"./tail-events-d0yAYxR0.js";import"./BackToPicker-CUkjnoVk.js";import"./ConversationScreen-CUfsQ4MR.js";import"./ComposerAttachments-DW0AIb8k.js";import"./message-markup-Zwo3t4cI.js";import"./message-markup-BQW5jdJw.js";import"./mentions-ByUvhS-v.js";import"./AgentDetailCard-DtHT3sCo.js";import"./AgentLiveActions-CfTupTEl.js";import"./terminal-takeover-Ay5C2c-M.js";import"./openContent-C6XO6kr5.js";import"./eye-LrO-cXQt.js";import"./terminal-hQKQygcf.js";import"./message-visibility-DwxgcgYK.js";import"./operator-attention-DBaRg5ep.js";import"./sessionRead-CvFz2RHv.js";import"./clipboard-e3fSpeo7.js";import"./MessageEmbeds-ksPazAKH.js";/* empty css */import"./ConversationHeader-C-ZWscKj.js";import"./AstronautSuit-Cchnc4Ug.js";import"./panel-right-Bv7sP_fc.js";import"./CommsFlowGraph-DxoOaLF_.js";import"./comms-gesture-_aGFo6g3.js";import"./CommsCanvas-THp0r_U8.js";import"./comms-deck-CBhsXnY-.js";import"./CommsFlowMap-Vi8ziCPg.js";import"./CommsSelection-BUoRbu9o.js";/* empty css */import"./use-conversation-list-CY4JciOV.js";import"./agent-master-model-Bk_yuUXJ.js";import"./use-beside-DoRC1nt0.js";import"./ConversationComposer-CUQyArlk.js";import"./zap-CEjZNZbI.js";import"./ConversationFeedRows-DWiOfT-y.js";import"./ConversationPanels-D9oC0xG5.js";import"./tail-display-DHSNmvor.js";import"./lane-edit-display-BjdT9oZl.js";import"./use-reduced-motion-3gMYZNIp.js";import"./proxy-AJsmwA6h.js";import"./activity-CIlFrfPJ.js";import"./message-circle-CxRVKNE-.js";import"./ConversationStatus--IPm2nGh.js";import"./check-lrJ3a73a.js";import"./sparkles-BjHq_DNK.js";import"./triangle-alert-CHoRGdVO.js";import"./SessionContextStrip-CXfs9hUD.js";import"./SessionObserve-DXxBvejJ.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-Czggx8oM.js";import"./LaneToolHoverCard-CJa110yk.js";import"./lane-observe-CteDwdD-.js";import"./lane-ask-display-BTVSakyo.js";import"./SessionHopMenu-E6VJZrE0.js";import"./external-link-CUObqmgX.js";import"./ObservedTopologyPanel-CUTIoLZJ.js";import"./ObserveTextFlow-PFnG_10h.js";import"./SessionObserveEvidence-Cuj_KHxR.js";import"./wrench-DR0i5BU7.js";import"./session-ref-lookup-state-SATH_jAP.js";/* empty css */import"./CrewWorkspaces-DCBzAAS4.js";import"./AddProjectForm-CusDRiVO.js";import"./agent-specialization-DDc7mLCW.js";import"./project-overview-helpers-BQTc_Ous.js";/* empty css */import"./plus-DFDDeGKu.js";import"./message-square-BxesYglW.js";import"./useEmbedHeadline-D6pJRxUg.js";import"./api-BQYTwoz6.js";import"./cache-DGBo3vIf.js";import"./arrow-up-right-BPedAgxO.js";import"./AgentsSubnav-DwNX4yy0.js";import"./SecondaryNav-D7dbV2qo.js";import"./secondaryNavConfig-CS1svh6n.js";import"./nav-destinations-uorRqFxf.js";import"./compass-63TUaz5_.js";import"./settings-BVh7kldq.js";import"./git-branch-B0_fPLO7.js";import"./scroll-text-DNjxhyO2.js";import"./profile-DTmzN16I.js";import"./context-budget-8qFKqM-j.js";import"./session-catalog-CvSdPHPe.js";import"./terminal-relay-Bxs1hp-j.js";/* empty css */import"./AgentDefinitionsWorkspace-DguGs7jZ.js";import"./FileViewerPane-BAO6mtjD.js";import"./agent-essentials-BGGvT5G6.js";/* empty css *//* empty css */import"./ProjectAgentProfileBar-DHuMKJj-.js";function h(o,r){const{model:i,loading:t}=w(o),m=n.useRef(void 0),s=n.useRef(o);s.current=o;const c=n.useCallback(p=>{if(p&&t&&i.projects.length===0){m.current=p;return}m.current=void 0,r(a(i,p,s.current))},[t,i,r]);n.useEffect(()=>(u(p=>{c(p.root)}),()=>u(null)),[c]),n.useEffect(()=>{const p=m.current;p!==void 0&&(p&&t&&i.projects.length===0||(m.current=void 0,r(a(i,p,s.current))))},[t,i,r])}function v({route:o,navigate:r,embedded:i=!1}){const t=P(o),m=t?`profile:${o.agentId}`:"index",s=!t&&x();return e.jsx("div",{className:"s-av2","data-view":t?"profile":"index",children:e.jsx("div",{className:"av2-stagePane",children:t?e.jsx(j,{route:o,navigate:r}):e.jsx(d,{route:o,navigate:r,zeroPreview:s,embedded:i})},m)})}function st({navigate:o,embedded:r=!1}){const{route:i}=l(),t=i.view==="agents-v2"?i:{view:"agents-v2"};return h(t,o),e.jsx("div",{className:"pi-projectsEmbedShell",children:e.jsx(v,{route:t,navigate:o,embedded:r})})}const nt=f({id:"projects",label:"Projects",route:{view:"agents-v2"},webPath:"/projects",screen:"ProjectsEmbedScreen",embed:{path:"/embed/projects",profile:"macos.projects",ownsInternalRoutes:!0,rootClassName:"s-projects-embed",chrome:{showSecondaryNav:!1,showPageStatusBar:!1},hosts:{macos:!0}}});function x(){if(typeof window>"u")return!1;const o=window.location.hostname.toLowerCase();if(o!=="localhost"&&o!=="127.0.0.1"&&o!=="::1")return!1;const r=new URLSearchParams(window.location.search).get("zero")?.trim().toLowerCase();return r==="projects"||r==="project"||r==="1"||r==="true"}export{st as ProjectsEmbedScreen,v as ProjectsScreen,nt as scoutSurface};
@@ -1 +0,0 @@
1
- import{j as s}from"./index-EsrkGBcv.js";import{A as R}from"./AgentAvatar-CrP1eXxk.js";import{H as y}from"./HarnessMark-C4naWc16.js";import{t as O}from"./time-Dhsh_2EG.js";import{s as P}from"./project-overview-helpers-BQTc_Ous.js";import{u as H}from"./projects-inbox-C0FUCv_p.js";import{t as T,b as B,s as C,f as L,c as z}from"./Provider-C35yu29I.js";import{A as b}from"./arrow-up-right-BPedAgxO.js";import"./SpriteAvatar-CpZWf54-.js";import"./agent-state-DDhnFEEP.js";import"./CrewAvatar-kTznzqcO.js";import"./runtime-picker-DXu2bOTh.js";import"./scout-voice-CZx60X6E.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-OvccU82H.js";import"./createLucideIcon-zZ8Hx7er.js";import"./router-DCtl8wqb.js";import"./api-DSqpVKC7.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./colors-CFlbwC25.js";import"./sse-BCPRocpq.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./tail-events-d0yAYxR0.js";import"./conversation-model-FxDeWlle.js";import"./conversations-DoAAO6kA.js";import"./theme-vars-DNK0nn3k.js";import"./provider-Dojd8quC.js";import"./machine-scope-DJt9RZ2w.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-C97-iTMK.js";import"./media-blobs-Bi8pxr1u.js";import"./index-724SdE6r.js";import"./NewChatOrigin-DFbF_XvR.js";import"./keyboard-nav-DDHegDbx.js";import"./x-DAehov0E.js";import"./chevron-down-l1mrh5S9.js";import"./search-DT42oyRW.js";import"./file-text-CnISiiw6.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-DJr0v0D_.js";import"./TextDocumentSurface-D52m7Vd8.js";import"./index-CHD0qcfL.js";import"./chevron-right-DrfqcerI.js";import"./folder-D5prSkzz.js";import"./chevron-up-CETZJzjV.js";import"./code-xml-BhcNbLWU.js";import"./arrow-left-MVUKauwQ.js";import"./arrow-right-Bp-FpE5V.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DbVLgbWX.js";function V(i,o,t){if(t.sessionId){const r=L(o,t);if(r)return{kind:"session",session:r};const a=z(i,t);if(a)return{kind:"thread",thread:a}}if(t.selectedAgentId){const r=i.find(l=>l.agentId===t.selectedAgentId)??null;if(r)return{kind:"thread",thread:r};const a=o.find(l=>!l.sessionId&&l.agentId===t.selectedAgentId)??null;if(a)return{kind:"session",session:a}}return null}function p({label:i,value:o}){return s.jsxs("span",{className:"pi-stat",children:[s.jsx("span",{className:"pi-statLabel",children:i}),s.jsx("span",{className:"pi-statValue",children:o})]})}function Vs({route:i,navigate:o}){const{model:t,nowMs:r,loading:a,error:l}=H(i);if(!i.sessionId&&!i.selectedAgentId)return null;const d=V(t.threads,t.sessions,i);if(!d)return s.jsxs("div",{className:"s-pi s-pi-aside",children:[s.jsx("header",{className:"pi-asideHead",children:s.jsxs("div",{className:"pi-asideIdent",children:[s.jsx("div",{className:"pi-asideTop",children:s.jsx("span",{className:"pi-asideName",children:a?"Resolving selection":l?"Project data unavailable":"Selection unavailable"})}),s.jsx("div",{className:"pi-asideSub",children:s.jsxs("span",{className:"pi-asideStatus","data-tone":a?"working":"recent",children:[a?s.jsx("span",{className:"pi-asidePulse","aria-hidden":!0}):null,a?"loading":"idle"]})})]})}),s.jsx("div",{className:"pi-asideBody",children:s.jsx("p",{className:"pi-asideMuted",children:l??"The selected item is not in the current project snapshot."})})]});const n=d.kind==="thread"?d.thread:null,e=d.kind==="session"?d.session:null,m=n?.agentName??e?.agentName??"Session",h=n?.harness??e?.harness??"session",f=n?.projectTitle??e?.projectTitle??i.projectSlug??"project",x=n?.branch??e?.branch??null,c=n?.working??e?.working??!1,g=n?.needs?"needs":c?"working":"recent",I=n?.needs?"your turn":c?"working":e?"selected":"idle",k=n?.work??e?.work??"No session detail available.",v=n?.lastActivityAt??e?.lastActivityAt??0,j=e?.sessionId??n?.sessionId??null,u=n?.projectRoot??e?.projectRoot??null,N=n?T(n,i):null,w=n?B(n,i):e?C(e,i):i,A=e?e.route?.view==="conversation"?"Open conversation":e.route?.view==="sessions"?"Open session":e.agentId?"Open agent":"Open project":n?.kind==="native"?"Open session":n?.conversationId?"Open conversation":"Open agent",S={view:"agents-v2",...i.projectSlug?{projectSlug:i.projectSlug}:{},...i.indexView?{indexView:i.indexView}:{},...i.machineId?{machineId:i.machineId}:{},...i.showEphemeral?{showEphemeral:!0}:{}};return s.jsxs("div",{className:"s-pi s-pi-aside",children:[s.jsxs("header",{className:"pi-asideHead",children:[s.jsx("span",{className:"pi-asideAvatar",children:s.jsx(R,{agent:{name:m,harness:h,state:c?"in_turn":null},placement:"row",size:38})}),s.jsxs("div",{className:"pi-asideIdent",children:[s.jsxs("div",{className:"pi-asideTop",children:[s.jsx("span",{className:"pi-asideName",title:m,children:m}),s.jsx("span",{className:"pi-asideHmark","aria-hidden":!0,children:s.jsx(y,{harness:h,size:13})}),s.jsxs("span",{className:"pi-asideProj",children:["/",f]})]}),s.jsxs("div",{className:"pi-asideSub",children:[x?s.jsx("span",{className:"pi-asideBranch",children:x}):null,s.jsxs("span",{className:"pi-asideStatus","data-tone":g,children:[c?s.jsx("span",{className:"pi-asidePulse","aria-hidden":!0}):null,I]})]})]})]}),s.jsxs("div",{className:"pi-asideBody",children:[s.jsx("h2",{className:"pi-asideHeadline",children:k}),s.jsxs("div",{className:"pi-asideReadouts",children:[s.jsx(p,{label:"Last active",value:v?O(v,r):"—"}),s.jsx(p,{label:e?"Session":"Conversations",value:e?"1":String(n?.sessionCount??0)}),s.jsx(p,{label:"Harness",value:h}),n?.contextPct!=null?s.jsx(p,{label:"Context",value:`${n.contextPct}%`}):null]}),e?s.jsxs("div",{className:"pi-asideSection",children:[s.jsx("div",{className:"pi-asideSectionHead",children:"Session context"}),s.jsxs("div",{className:"pi-asideLine",children:[j?s.jsxs("span",{title:j,children:["ref · ",j]}):s.jsx("span",{children:"No stable session reference yet."}),u?s.jsxs("span",{title:u,children:["root · ",P(u)]}):null,e.conversationId?s.jsxs("span",{title:e.conversationId,children:["conversation · ",e.conversationId]}):null]})]}):null,s.jsxs("div",{className:"pi-asideActions",children:[s.jsxs("button",{type:"button",className:"pi-asideBtn pi-asideBtnPrimary",onClick:()=>o(w),children:[A,s.jsx(b,{size:13,strokeWidth:2,"aria-hidden":!0})]}),N?s.jsxs("button",{type:"button",className:"pi-asideBtn",onClick:()=>o(N),children:["Observe",s.jsx(b,{size:13,strokeWidth:2,"aria-hidden":!0})]}):null,s.jsx("button",{type:"button",className:"pi-asideBtn",onClick:()=>o(S),children:"Clear"})]})]})]})}export{Vs as ProjectsThreadAside};
@@ -1 +0,0 @@
1
- import{r as a,j as o}from"./index-EsrkGBcv.js";/* empty css */import{D as Z}from"./DataTable-aH-jCyDq.js";import{u as ee,a as te}from"./Provider-C35yu29I.js";import{w as se,p as $,r as R,g as ne,t as oe,s as ae}from"./SessionHopMenu-E6VJZrE0.js";import{p as _,a as P}from"./api-DSqpVKC7.js";import{t as re,n as z,f as ie}from"./time-Dhsh_2EG.js";import{u as le}from"./tail-events-d0yAYxR0.js";import{o as B}from"./openContent-C6XO6kr5.js";/* empty css */import"./theme-vars-DNK0nn3k.js";import"./provider-Dojd8quC.js";import"./router-DCtl8wqb.js";import"./synthetic-agent-routing-aduMYO7P.js";import"./terminal-sessions-3RfJpen8.js";import"./machine-scope-DJt9RZ2w.js";import"./sse-BCPRocpq.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./agent-state-DDhnFEEP.js";import"./scoutbot-Bk3nyrkj.js";import"./NewChatComposer-C97-iTMK.js";import"./runtime-picker-DXu2bOTh.js";import"./scout-voice-CZx60X6E.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-OvccU82H.js";import"./createLucideIcon-zZ8Hx7er.js";import"./media-blobs-Bi8pxr1u.js";import"./index-724SdE6r.js";import"./HarnessMark-C4naWc16.js";import"./conversation-model-FxDeWlle.js";import"./conversations-DoAAO6kA.js";import"./colors-CFlbwC25.js";import"./NewChatOrigin-DFbF_XvR.js";import"./keyboard-nav-DDHegDbx.js";import"./x-DAehov0E.js";import"./chevron-down-l1mrh5S9.js";import"./search-DT42oyRW.js";import"./file-text-CnISiiw6.js";import"./model-CBkMvT1w.js";import"./DocumentFocusViewer-DJr0v0D_.js";import"./TextDocumentSurface-D52m7Vd8.js";import"./index-CHD0qcfL.js";import"./chevron-right-DrfqcerI.js";import"./folder-D5prSkzz.js";import"./chevron-up-CETZJzjV.js";import"./code-xml-BhcNbLWU.js";import"./arrow-left-MVUKauwQ.js";import"./arrow-right-Bp-FpE5V.js";import"./voice-turn-ledger-BMZxlSjg.js";import"./chunk-HRAB3GC3-DbVLgbWX.js";import"./external-link-CUObqmgX.js";const ce=1e4,pe=500,H=1e3,ue=6e4,F="/api/tail/discover",O=`/api/tail/recent?limit=${pe}`,V=3e4,me=[{key:"status",label:"status",cls:"s-atop-col-status",kind:"text",sortable:!1,defaultWidth:96,minWidth:70,render:e=>o.jsxs("span",{className:`s-atop-status s-atop-status--${e.status}`,children:[o.jsx("span",{className:"s-atop-status-dot","aria-hidden":"true"}),e.statusLabel]})},{key:"session",label:"session",cls:"s-atop-col-agent",kind:"text",sortable:!1,defaultWidth:168,minWidth:110,maxWidth:280,render:e=>o.jsxs("div",{className:"s-atop-agent-cell",title:e.sessionId??e.refId,children:[o.jsx("span",{className:`s-atop-chip s-atop-chip--harness s-atop-chip--harness-${fe(e.source)}`,children:e.source}),o.jsx("span",{className:"s-atop-agent-id",children:e.refId.slice(0,8)})]})},{key:"project",label:"project",cls:"s-atop-col-project",kind:"text",sortable:!1,defaultWidth:200,minWidth:96,maxWidth:360,render:e=>o.jsx("span",{title:e.cwd??e.project,children:e.project})},{key:"updated",label:"updated",cls:"s-atop-col-last",kind:"time",sortable:!1,defaultWidth:86,minWidth:64,render:e=>o.jsx("span",{title:ie(e.mtimeMs),children:re(Math.max(z(e.mtimeMs)??0,z(e.lastEvent?.ts)??0))||"-"})},{key:"size",label:"size",cls:"s-atop-col-runtime",kind:"number",sortable:!1,defaultWidth:80,minWidth:64,render:e=>he(e.size)},{key:"path",label:"path",kind:"text",sortable:!1,defaultWidth:360,minWidth:160,maxWidth:800,render:e=>o.jsx("span",{title:e.transcriptPath,children:e.cwd??e.transcriptPath})}];function K(e){const r=e?.trim();if(!r)return null;const i=Y(r);return i.endsWith(".jsonl")?i.slice(0,-6):i}function Y(e){const r=e.replace(/[\\/]+$/,"");return r.split(/[\\/]/).filter(Boolean).at(-1)??r}function de(e){const i=e.replace(/[\\/]+$/,"").split(/[\\/]/).filter(Boolean);return i.pop(),i.at(-1)??""}function fe(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")||"unknown"}function he(e){if(!Number.isFinite(e)||e<0)return"-";if(e<1024)return`${e} B`;const r=e/1024;if(r<1024)return`${r.toFixed(r>=10?0:1)} KiB`;const i=r/1024;return`${i.toFixed(i>=10?0:1)} MiB`}function xe(e,r){return r?[e.refId,e.sessionId??"",e.source,e.project,e.cwd??"",e.transcriptPath,e.lastEvent?.summary??"",e.process?.command??""].join(" ").toLowerCase().includes(r.toLowerCase()):!0}function U(e){return`${e.source}\0${e.cwd??""}`}function ke(e){return`${e.source}\0${e.cwd??""}`}function je(e,r,i){if(!e?.transcripts?.length)return[];const h=new Map;for(const n of r){const l=h.get(n.sessionId);(!l||n.ts>l.ts)&&h.set(n.sessionId,n)}const x=new Map;for(const n of e.processes){if(!n.cwd)continue;const l=x.get(U(n));(!l||n.pid<l.pid)&&x.set(U(n),n)}return e.transcripts.map(n=>{const l=K(n.sessionId)??K(n.transcriptPath);if(!l)return null;const d=n.sessionId?h.get(n.sessionId)??null:null,y=x.get(ke(n))??null,S=Math.max(n.mtimeMs,d?.ts??0),f=!!y||i-S<=ue,I=n.project?.trim()||(n.cwd?Y(n.cwd):de(n.transcriptPath))||"unknown";return{refId:l,source:n.source||"unknown",project:I,cwd:n.cwd,transcriptPath:n.transcriptPath,sessionId:n.sessionId,mtimeMs:n.mtimeMs,size:n.size,status:f?"run":"idle",statusLabel:f?"active":"idle",lastEvent:d,process:y}}).filter(n=>n!==null).sort((n,l)=>{const d=Math.max(n.mtimeMs,n.lastEvent?.ts??0);return Math.max(l.mtimeMs,l.lastEvent?.ts??0)-d||n.project.localeCompare(l.project)})}function jt({navigate:e}){const{route:r}=ee(),i=te(),[h]=a.useState(()=>_(F,V)),[x,n]=a.useState(h),[l,d]=a.useState(()=>_(O,V)?.events??[]),[y,S]=a.useState(h===null),[f,I]=a.useState(""),[b,A]=a.useState("all"),[k,E]=a.useState(0),[T,W]=a.useState(null),[D,G]=a.useState(Date.now()),M=a.useRef(null),C=a.useCallback(async()=>{W(null);try{n(await P(F))}catch(t){W(t instanceof Error?t.message:String(t))}finally{S(!1)}},[]);a.useEffect(()=>{C();const t=setInterval(()=>{C()},ce);return()=>clearInterval(t)},[C]),a.useEffect(()=>{let t=!1;return(async()=>{try{const s=await P(O);t||d(s.events??[])}catch{}})(),()=>{t=!0}},[]),le(t=>{d(s=>s.length>=H?[...s.slice(s.length-H+1),t]:[...s,t])}),a.useEffect(()=>{const t=setInterval(()=>G(Date.now()),15e3);return()=>clearInterval(t)},[]);const j=a.useMemo(()=>je(x,l,D),[x,l,D]),Q=a.useMemo(()=>[...new Set(j.map(t=>t.source))].sort(),[j]),c=a.useMemo(()=>j.filter(t=>(b==="all"||t.source===b)&&xe(t,f.trim())),[j,b,f]);a.useEffect(()=>{k>=c.length&&E(Math.max(0,c.length-1))},[c.length,k]);const g=a.useCallback(t=>{t&&B(e,{view:"sessions",sessionId:t.refId},{returnTo:r})},[e,r]);a.useEffect(()=>{se()},[]);const N=a.useCallback(t=>({sessionRefs:[t.sessionId,t.refId,t.transcriptPath]}),[]),L=a.useCallback(t=>{if(!t)return;const s=u=>{const m=oe(u,null);m&&B(e,m,{returnTo:r})},p=$();if(p){s(R(p,N(t)));return}ne().then(u=>s(R(u,N(t)))).catch(()=>{})},[e,r,N]);a.useEffect(()=>{const t=s=>{const p=s.target,u=p instanceof HTMLInputElement||p instanceof HTMLTextAreaElement||(p?.isContentEditable??!1);if(s.key==="/"&&!u){s.preventDefault(),M.current?.focus();return}if(u){s.key==="Escape"&&p===M.current&&(I(""),M.current?.blur());return}if(s.key==="ArrowDown"||s.key==="j"){s.preventDefault(),E(m=>c.length===0?0:Math.min(c.length-1,m+1));return}if(s.key==="ArrowUp"||s.key==="k"){s.preventDefault(),E(m=>Math.max(0,m-1));return}if(s.key==="t"){s.preventDefault(),L(c[k]);return}(s.key==="Enter"||s.key==="o")&&(s.preventDefault(),g(c[k]))};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[c,k,g,L]);const X=T?[]:c,v=a.useCallback(t=>`${t.source}:${t.transcriptPath}`,[]),w=a.useMemo(()=>new Map(c.map((t,s)=>[v(t),s])),[c,v]),q=(t,s)=>{const p=w.get(s),u=p!=null?c[p]:void 0;if(!u)return;const m=$(),J=m?R(m,N(u)):null;i(t,[{kind:"action",label:"Open session",onSelect:()=>g(u)},{kind:"separator"},...ae({target:J,navigate:e,returnTo:r})])};return o.jsxs("div",{className:"s-atop s-atop--sessions",children:[o.jsxs("div",{className:"s-atop-fbar",children:[o.jsxs("label",{className:"s-atop-search",children:[o.jsx("span",{className:"s-atop-search-prompt",children:"/"}),o.jsx("input",{ref:M,className:"s-atop-search-input",placeholder:"filter sessions",value:f,onChange:t=>I(t.target.value)}),o.jsx("kbd",{className:"s-atop-search-kbd",children:"/"})]}),o.jsx("span",{className:"s-atop-fbar-label",children:"source"}),o.jsxs("button",{type:"button",className:`s-atop-pill${b==="all"?" s-atop-pill--on":""}`,onClick:()=>A("all"),children:["all",o.jsx("span",{className:"s-atop-pill-ct",children:j.length})]}),Q.map(t=>o.jsxs("button",{type:"button",className:`s-atop-pill${b===t?" s-atop-pill--on":""}`,onClick:()=>A(t),children:[t,o.jsx("span",{className:"s-atop-pill-ct",children:j.filter(s=>s.source===t).length})]},t)),o.jsx("div",{className:"s-atop-fbar-spacer"})]}),o.jsx(Z,{rows:X,columns:me,rowId:v,storageKey:"openscout.sessions.cols",rowBindings:t=>({onMouseEnter:()=>{const s=w.get(t);s!=null&&E(s)},onFocus:()=>{const s=w.get(t);s!=null&&E(s)},onContextMenu:s=>q(s,t)}),onRowClick:t=>g(t),rowClassName:t=>w.get(v(t))===k?"s-atop-row--selected":void 0,empty:T?{title:"Discovery failed",body:T}:{title:"No raw sessions",body:f?"No sessions match the current filter.":"No transcript sessions were discovered."},loading:y,density:"compact",className:"s-atop-data-table",ariaLabel:"Raw sessions"}),o.jsxs("div",{className:"s-atop-keys",children:[o.jsxs("span",{children:[o.jsx("kbd",{children:"/"}),"filter"]}),o.jsxs("span",{children:[o.jsx("kbd",{children:"j/k"}),"select"]}),o.jsxs("span",{children:[o.jsx("kbd",{children:"enter"}),"open"]}),o.jsxs("span",{children:[o.jsx("kbd",{children:"t"}),"terminal"]}),o.jsx("span",{className:"s-atop-keys-spacer"}),o.jsxs("span",{className:"s-atop-keys-count",children:[o.jsx("strong",{children:c.length})," sessions"]})]})]})}export{jt as RawSessionsTable};