@openscout/scout 0.2.78 → 0.2.79

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (391) hide show
  1. package/README.md +19 -0
  2. package/bin/scoutd +0 -0
  3. package/dist/build-manifest.json +3 -3
  4. package/dist/client/assets/ActivityScreen-DnqqRSlS.js +1 -0
  5. package/dist/client/assets/{AddProjectForm-DMnobKch.js → AddProjectForm-BoVtelSP.js} +1 -1
  6. package/dist/client/assets/{AgentAvatar-D90c1Rzk.js → AgentAvatar-CufDA4A-.js} +1 -1
  7. package/dist/client/assets/AgentConfigurationScreen-CJqoMA0J.js +1 -0
  8. package/dist/client/assets/AgentDefinitionsWorkspace-FpEkb-tu.js +1 -0
  9. package/dist/client/assets/{AgentDetailCard-BcRBRp88.js → AgentDetailCard-DxxVkgT1.js} +1 -1
  10. package/dist/client/assets/AgentFloorView-CycUn0Lv.js +1 -0
  11. package/dist/client/assets/AgentInfoScreen-CAQAxpAK.js +1 -0
  12. package/dist/client/assets/{AgentLaneCard-RrNnDZu8.js → AgentLaneCard-DTUvE96I.js} +1 -1
  13. package/dist/client/assets/{AgentLaneChrome-D9ZwUKrl.js → AgentLaneChrome-BfVygkgL.js} +1 -1
  14. package/dist/client/assets/{AgentLaneDetailSheet-BXbPls9N.js → AgentLaneDetailSheet-CWs9wKWk.js} +1 -1
  15. package/dist/client/assets/{AgentLaneSummaryResize-BhFmGNzT.js → AgentLaneSummaryResize-CMgzYvAA.js} +1 -1
  16. package/dist/client/assets/AgentLanesEmbedScreen-BUCW4nUj.js +1 -0
  17. package/dist/client/assets/{AgentLanesPreflight-eSAoDsPi.js → AgentLanesPreflight-KWfLcaNB.js} +1 -1
  18. package/dist/client/assets/AgentLanesView-CxfbV8Kd.js +2 -0
  19. package/dist/client/assets/{AgentLiveActions-DBtnD0qE.js → AgentLiveActions-CZdAInEu.js} +1 -1
  20. package/dist/client/assets/{AgentSessions-DyqOf4nG.js → AgentSessions-Bkr0lyry.js} +2 -2
  21. package/dist/client/assets/AgentsConsole-WtFVqaPJ.js +1 -0
  22. package/dist/client/assets/AgentsScreen-BMXvuiA2.js +1 -0
  23. package/dist/client/assets/AgentsSubnav-BTNjPYoA.js +1 -0
  24. package/dist/client/assets/{AtopView-BCkae3e1.js → AtopView-_OKDlZ1h.js} +1 -1
  25. package/dist/client/assets/BackToPicker-CkUmHuuo.js +1 -0
  26. package/dist/client/assets/{BriefingDetailScreen-BwFyysT8.js → BriefingDetailScreen-i54EtZKW.js} +1 -1
  27. package/dist/client/assets/{BriefingsScreen-BQEevztH.js → BriefingsScreen-CBrHojlQ.js} +1 -1
  28. package/dist/client/assets/{BrokerMetadataPanel-7UjcuNjd.js → BrokerMetadataPanel-opTLuZU6.js} +1 -1
  29. package/dist/client/assets/{BrokerScreen-7ekklu88.js → BrokerScreen-CObCQvoy.js} +2 -2
  30. package/dist/client/assets/{ChatCollapsedStrip-CQSYSd8s.js → ChatCollapsedStrip-Dr2vmKXQ.js} +1 -1
  31. package/dist/client/assets/CodeDiffPane-CLOGjwul.js +1 -0
  32. package/dist/client/assets/{CodeProjectPicker-DqKFCpLU.js → CodeProjectPicker-DTV8hR6A.js} +1 -1
  33. package/dist/client/assets/CodeScreen-BXqi72NK.js +1 -0
  34. package/dist/client/assets/{ContextMenu-bARZqTzD.js → ContextMenu-BlBQhpax.js} +1 -1
  35. package/dist/client/assets/{ConversationComposer-Bla3DDvM.js → ConversationComposer-BBNPa5S9.js} +1 -1
  36. package/dist/client/assets/ConversationFeedRows-BuejHMCY.js +1 -0
  37. package/dist/client/assets/ConversationHeader-DXMT-YXv.js +1 -0
  38. package/dist/client/assets/ConversationPanels-DHCtilQF.js +2 -0
  39. package/dist/client/assets/ConversationScreen-DSxIt9pq.css +1 -0
  40. package/dist/client/assets/ConversationScreen-Dz2d_Z_F.js +1 -0
  41. package/dist/client/assets/ConversationStatus-DSgdVofa.js +1 -0
  42. package/dist/client/assets/{DataTable-E8s_MmoA.js → DataTable-0DwuXyvW.js} +1 -1
  43. package/dist/client/assets/{DispatchAftermath-Dpe88DFX.js → DispatchAftermath-BrreQifA.js} +1 -1
  44. package/dist/client/assets/{DocumentFocusViewer-BeVwwl26.js → DocumentFocusViewer-DU_9BHsD.js} +1 -1
  45. package/dist/client/assets/{EmbeddableSurfacesLab-BQqFQVnI.js → EmbeddableSurfacesLab-DdaswbfI.js} +1 -1
  46. package/dist/client/assets/{EmptyState-4F9XDFQm.js → EmptyState-CoL-QuUO.js} +1 -1
  47. package/dist/client/assets/{FileViewerPane-CLgUhSm4.js → FileViewerPane-C9Ly01Ef.js} +1 -1
  48. package/dist/client/assets/{FleetSearch-Dz5euQJe.js → FleetSearch-DlWTLl-v.js} +1 -1
  49. package/dist/client/assets/FlightObserveScreen-C-9S0nA5.js +1 -0
  50. package/dist/client/assets/{FollowScreen-DZ4qfYOY.js → FollowScreen--Q04xSSE.js} +1 -1
  51. package/dist/client/assets/{HarnessMark-Cbv3Ib0c.js → HarnessMark-Dm_qm1Ku.js} +1 -1
  52. package/dist/client/assets/HarnessesScreen-Y54viPX8.js +1 -0
  53. package/dist/client/assets/{HomeHero-B3uYd-pP.js → HomeHero-Cfsow7qL.js} +1 -1
  54. package/dist/client/assets/KnowledgeSearchInspector-DKashKoH.js +1 -0
  55. package/dist/client/assets/KnowledgeSearchScreen-DsdDz8wY.js +1 -0
  56. package/dist/client/assets/{LaneToolHoverCard-Bla0gBdm.js → LaneToolHoverCard-BzehBmdi.js} +1 -1
  57. package/dist/client/assets/LaneTraceDetailSheet-CBf_aNZx.js +1 -0
  58. package/dist/client/assets/{LaneTraceEventFocus-BF9ERP5O.js → LaneTraceEventFocus-DYvHfs_3.js} +1 -1
  59. package/dist/client/assets/{MeshCanvas-DFEPkpqY.js → MeshCanvas-DIjlrMPU.js} +2 -2
  60. package/dist/client/assets/{MeshCanvasMinimap-CyVFYixr.js → MeshCanvasMinimap-DEq-PkF0.js} +1 -1
  61. package/dist/client/assets/MeshScreen-TgDtz-1l.js +1 -0
  62. package/dist/client/assets/{MeshTopologyView-CalkZghg.js → MeshTopologyView-BMHpH5BU.js} +2 -2
  63. package/dist/client/assets/{MessageComposerSuggestions-DpxN9WiB.js → MessageComposerSuggestions-zAUUcLOv.js} +1 -1
  64. package/dist/client/assets/MessagesScreen-BTQL0UcE.js +1 -0
  65. package/dist/client/assets/{MissionControlView-lUeAiSVg.js → MissionControlView-D59SPnAm.js} +1 -1
  66. package/dist/client/assets/{MissionFocusOverlay-wlCmWDCT.js → MissionFocusOverlay-C7cPt6eU.js} +1 -1
  67. package/dist/client/assets/MissionLeftAgentRow-CxlH3dON.js +1 -0
  68. package/dist/client/assets/{MissionLogPane-__MVtEl9.js → MissionLogPane-Ye3YlF9s.js} +1 -1
  69. package/dist/client/assets/{NewAgentModal-Bg-eWHpY.js → NewAgentModal-DprvD4EK.js} +1 -1
  70. package/dist/client/assets/NewChatComposer-B5FnPyzS.js +19 -0
  71. package/dist/client/assets/{NewChatOrigin-Bk2OyVjI.js → NewChatOrigin--pHWUb4V.js} +1 -1
  72. package/dist/client/assets/ObserveEmbedScreen-CfvrnOiZ.js +2 -0
  73. package/dist/client/assets/{ObserveTextFlow-rsFj_rVo.js → ObserveTextFlow-CBitljxi.js} +2 -2
  74. package/dist/client/assets/{ObservedTopologyPanel-DyUeV98H.js → ObservedTopologyPanel-Dv6fbHzW.js} +1 -1
  75. package/dist/client/assets/OpenScoutAppShell-BIp0WitK.js +87 -0
  76. package/dist/client/assets/OpsAgentsView-CoBfAigH.js +1 -0
  77. package/dist/client/assets/OpsScreen-Bbo0W64T.js +1 -0
  78. package/dist/client/assets/OpsSubnav-CoN8utF8.js +1 -0
  79. package/dist/client/assets/{PlanView-C1CjH3PG.js → PlanView-DYtt8H37.js} +1 -1
  80. package/dist/client/assets/ProjectAgentProfile-FiiIcB5R.js +1 -0
  81. package/dist/client/assets/{ProjectAgentProfileBar-CtTpj6fU.js → ProjectAgentProfileBar-B3IvVbqS.js} +1 -1
  82. package/dist/client/assets/ProjectAgentProfileHero-D5E8yvDj.js +1 -0
  83. package/dist/client/assets/ProjectsInbox-BWiXjGi7.js +2 -0
  84. package/dist/client/assets/{ProjectsRail-BgiuV4LR.js → ProjectsRail-DEDS-M1c.js} +1 -1
  85. package/dist/client/assets/ProjectsScreen-Cxk4CuYn.js +1 -0
  86. package/dist/client/assets/ProjectsThreadAside-BF66ugT5.js +1 -0
  87. package/dist/client/assets/Provider-tFc3jqZ4.js +1 -0
  88. package/dist/client/assets/{RailRow-BoGxAHNF.js → RailRow-BTlVAnHS.js} +1 -1
  89. package/dist/client/assets/RawSessionsTable-BsGVgZB3.js +1 -0
  90. package/dist/client/assets/RealtimeVoiceScreen-B0Bem5Rc.js +1 -0
  91. package/dist/client/assets/{RepoDiffEmbedScreen-C0rumUME.js → RepoDiffEmbedScreen-CtTdlQ2A.js} +1 -1
  92. package/dist/client/assets/{RepoDiffPageScreen-DMv6DioL.js → RepoDiffPageScreen-BRvaVYoC.js} +1 -1
  93. package/dist/client/assets/RepoDiffViewer-Bo0gREMj.js +7 -0
  94. package/dist/client/assets/RepoDiffViewerLazy-C8UPk4oo.js +2 -0
  95. package/dist/client/assets/{ReposScreen-CB_YBWYf.js → ReposScreen-BBkJf8xT.js} +2 -2
  96. package/dist/client/assets/{ScoutDeckSurface-CxIYFyWx.js → ScoutDeckSurface-Bi9ov9Bm.js} +1 -1
  97. package/dist/client/assets/{ScoutSurface-CYz_TcWC.js → ScoutSurface-DEQg_7Io.js} +1 -1
  98. package/dist/client/assets/{ScoutbotBroadcastChip-L_R9atj0.js → ScoutbotBroadcastChip-DJXuyn73.js} +1 -1
  99. package/dist/client/assets/{ScoutbotFxLab-CgiZMDMW.js → ScoutbotFxLab-BgsuLDjo.js} +1 -1
  100. package/dist/client/assets/{ScoutbotRealtimeVoiceCall-FMQOr1Np.js → ScoutbotRealtimeVoiceCall-Bzyl0BCS.js} +1 -1
  101. package/dist/client/assets/{SecondaryNav-B3-nh5dM.js → SecondaryNav-Bks0CO2h.js} +1 -1
  102. package/dist/client/assets/SessionEmbedScreen-b0Zgmfx5.js +1 -0
  103. package/dist/client/assets/SessionObserve-CLrHfAKZ.css +1 -0
  104. package/dist/client/assets/SessionObserve-Dlx5vDaV.js +12 -0
  105. package/dist/client/assets/SessionObserveEvidence-ChBD1d4c.js +1 -0
  106. package/dist/client/assets/SessionRefScreen-D7TfPYPN.js +1 -0
  107. package/dist/client/assets/SessionsScreen-BlknOWAd.js +1 -0
  108. package/dist/client/assets/{SettingsDrawer-XfdAa_nD.js → SettingsDrawer-C587L1i1.js} +3 -3
  109. package/dist/client/assets/SettingsDrawer-UX7pFJU_.css +1 -0
  110. package/dist/client/assets/SettingsScreen-BIlYxv_a.js +1 -0
  111. package/dist/client/assets/{ShikiPane-Ap1iPxYb.js → ShikiPane-I_OTW5NO.js} +1 -1
  112. package/dist/client/assets/{SlidePanel-COwtoJqR.js → SlidePanel-FCqT1zO3.js} +1 -1
  113. package/dist/client/assets/SpriteAvatar-CQs-jC-v.js +1 -0
  114. package/dist/client/assets/{StatusPill-DhBL__p8.js → StatusPill-CbABggnQ.js} +1 -1
  115. package/dist/client/assets/{TailView-DGj_5HA9.js → TailView-C_MXVSum.js} +2 -2
  116. package/dist/client/assets/Terminal-DwZyo8kA.js +1 -0
  117. package/dist/client/assets/TerminalEmbedScreen-Czp3tQyd.js +1 -0
  118. package/dist/client/assets/{TextDocumentSurface-BpAw4eQS.js → TextDocumentSurface-C-9EtYqt.js} +1 -1
  119. package/dist/client/assets/{TmuxPeek-m1osv33Q.js → TmuxPeek-Dz1gJ2pU.js} +1 -1
  120. package/dist/client/assets/{VoicePermissionsPanel-DsK53ar4.js → VoicePermissionsPanel-MfICy9kk.js} +1 -1
  121. package/dist/client/assets/{WorkDetailScreen-Bx0JimPC.js → WorkDetailScreen-Cs7kdllj.js} +3 -3
  122. package/dist/client/assets/{WorkFilesViewer-Btl6C2Q1.js → WorkFilesViewer-CF-nhtZ4.js} +1 -1
  123. package/dist/client/assets/{activity-CA8qS6PI.js → activity-WhBf3FXP.js} +1 -1
  124. package/dist/client/assets/{addon-fit-BZ-kXjeN.js → addon-fit-q-x_HytU.js} +1 -1
  125. package/dist/client/assets/{addon-webgl-D9-EQVEK.js → addon-webgl-fhhvEA9h.js} +1 -1
  126. package/dist/client/assets/{agent-essentials-BSY1o46q.js → agent-essentials-DyJiUGpZ.js} +1 -1
  127. package/dist/client/assets/agent-identity-xQHedtLl.js +1 -0
  128. package/dist/client/assets/agent-lane-card-BkWVDYM8.css +1 -0
  129. package/dist/client/assets/{agent-lane-card-model-r2frk57c.js → agent-lane-card-model-BCIwPjEh.js} +1 -1
  130. package/dist/client/assets/{agent-lane-detail-Djm3YJEa.js → agent-lane-detail-Cw4QVAgH.js} +1 -1
  131. package/dist/client/assets/{agent-lane-preview-CmHVe3dU.js → agent-lane-preview-BtnfNyFR.js} +1 -1
  132. package/dist/client/assets/{agent-lanes-model-B4YTt4OF.js → agent-lanes-model-Bl6xfviL.js} +1 -1
  133. package/dist/client/assets/{arc.es-CQBb-dVu.js → arc.es-DPJ0xRV6.js} +1 -1
  134. package/dist/client/assets/{arrow-down-BPLe0am9.js → arrow-down-DsD-dYj-.js} +1 -1
  135. package/dist/client/assets/{arrow-left-DEZzHiPS.js → arrow-left-WjQIN9J6.js} +1 -1
  136. package/dist/client/assets/{arrow-up-right-ClxBnsi7.js → arrow-up-right-CtTDrZJr.js} +1 -1
  137. package/dist/client/assets/{bot-eu8pBNvI.js → bot-B_Uzf4_O.js} +1 -1
  138. package/dist/client/assets/{check-DjgFiBxb.js → check-BbgHJX8u.js} +1 -1
  139. package/dist/client/assets/{chevron-down-BGk5qoEw.js → chevron-down-BFai6ZfE.js} +1 -1
  140. package/dist/client/assets/{chevron-right-XiIHsk4m.js → chevron-right-CyUa1zXx.js} +1 -1
  141. package/dist/client/assets/chunk-HRAB3GC3-CvwpNg-G.js +1 -0
  142. package/dist/client/assets/{chunk-T65CQEWV-CrzwSeEt.js → chunk-T65CQEWV-DI4NKdNq.js} +1 -1
  143. package/dist/client/assets/{chunk-YOZR3KYS-Bet8khjg.js → chunk-YOZR3KYS-BW85tiCr.js} +3 -3
  144. package/dist/client/assets/clock-DviOalxA.js +1 -0
  145. package/dist/client/assets/{code-xml-B6jOCM4V.js → code-xml-05TD3uOC.js} +1 -1
  146. package/dist/client/assets/content-2u_eV3fX.js +1 -0
  147. package/dist/client/assets/content-5irOghrY.js +1 -0
  148. package/dist/client/assets/content-8Z_0CwtD.js +1 -0
  149. package/dist/client/assets/content-B38YRDBu.js +1 -0
  150. package/dist/client/assets/content-BE3uK0LB.js +1 -0
  151. package/dist/client/assets/{content-C2EwTb2y.js → content-BtIxSqVY.js} +1 -1
  152. package/dist/client/assets/content-CFsPAihU.js +1 -0
  153. package/dist/client/assets/content-CKj5g5tu.js +1 -0
  154. package/dist/client/assets/{content-D5kJmfgl.js → content-CLDWXf9Z.js} +1 -1
  155. package/dist/client/assets/content-CRr73E0r.js +1 -0
  156. package/dist/client/assets/content-CVR75_Uj.js +1 -0
  157. package/dist/client/assets/content-Czdp7_JQ.js +1 -0
  158. package/dist/client/assets/content-D0_EJ6nP.js +1 -0
  159. package/dist/client/assets/content-DNmxpNhD.js +1 -0
  160. package/dist/client/assets/content-XpbI9uxd.js +1 -0
  161. package/dist/client/assets/content-cyxWdgKQ.js +1 -0
  162. package/dist/client/assets/{context-budget-CbB4BDcO.js → context-budget-DX_fwUs3.js} +1 -1
  163. package/dist/client/assets/{conversation-icons-IIG5ha6D.js → conversation-icons-DohQL6GI.js} +1 -1
  164. package/dist/client/assets/conversation-model-C4yb6_FA.js +1 -0
  165. package/dist/client/assets/conversation-motion-features-CifSdJtm.js +1 -0
  166. package/dist/client/assets/{copy-CQGYbxdu.js → copy-CwCAivnc.js} +1 -1
  167. package/dist/client/assets/{createLucideIcon-OpA4Amw5.js → createLucideIcon-DlxlBfLC.js} +1 -1
  168. package/dist/client/assets/discover-DoiAJo4Z.js +2 -0
  169. package/dist/client/assets/embed-entry-D1Or9S4d.js +2 -0
  170. package/dist/client/assets/{external-link-CXBytO9o.js → external-link-CnjcXf32.js} +1 -1
  171. package/dist/client/assets/{eye-0PvebX_a.js → eye-So8tNNK6.js} +1 -1
  172. package/dist/client/assets/{file-text-BODxCjcz.js → file-text-i3xTDUjJ.js} +1 -1
  173. package/dist/client/assets/{gestures-CcwOTu8C.js → gestures-CgvAMd6F.js} +1 -1
  174. package/dist/client/assets/{home-moving-signal-CK147hxn.js → home-moving-signal-BdkERL6B.js} +1 -1
  175. package/dist/client/assets/home-now-card-lLkv6nQs.js +1 -0
  176. package/dist/client/assets/{home-now-card-nano-BcjnOU9H.js → home-now-card-nano-CkLHUQ4J.js} +1 -1
  177. package/dist/client/assets/hooks-BPLDD9yu.js +2 -0
  178. package/dist/client/assets/inbox-thread-redesign-B_1ocqaX.css +1 -0
  179. package/dist/client/assets/index-DGoLx89y.js +1 -0
  180. package/dist/client/assets/index-DITWsjFb.css +1 -0
  181. package/dist/client/assets/index-m6dFtY5f.js +1 -0
  182. package/dist/client/assets/index-pY8-Mz7y.js +1 -0
  183. package/dist/client/assets/{index-DMiGbrBt.js → index-sUomXsrf.js} +6 -6
  184. package/dist/client/assets/{inspector-panel-DPoCWxKs.js → inspector-panel-DhXd-YbT.js} +2 -2
  185. package/dist/client/assets/{keyboard-nav-2kv_tGUS.js → keyboard-nav-BhZZ5HEq.js} +1 -1
  186. package/dist/client/assets/knowledge-search-D_bLoYtC.css +1 -0
  187. package/dist/client/assets/{lane-observe-D0rfKDnU.js → lane-observe-DrhKkQ3A.js} +1 -1
  188. package/dist/client/assets/{lane-roster-store-D8x1jac2.js → lane-roster-store-NE15Oe6M.js} +1 -1
  189. package/dist/client/assets/left-B6eawimv.js +1 -0
  190. package/dist/client/assets/left-BL2uBHe0.js +2 -0
  191. package/dist/client/assets/left-BNJguPDG.js +1 -0
  192. package/dist/client/assets/left-BvCtvN0f.js +1 -0
  193. package/dist/client/assets/left-CfBb6bxM.js +1 -0
  194. package/dist/client/assets/left-DTrlBF0h.js +2 -0
  195. package/dist/client/assets/left-agents-DsOHgDCY.js +1 -0
  196. package/dist/client/assets/left-d4hlBBxY.js +1 -0
  197. package/dist/client/assets/left-default-BRCwoCJr.js +1 -0
  198. package/dist/client/assets/left-lanes-DNtoRzoV.js +1 -0
  199. package/dist/client/assets/left-mission-DsTu2X5Y.js +1 -0
  200. package/dist/client/assets/left-plan-CtySjsXC.js +2 -0
  201. package/dist/client/assets/library-CLpgWNJO.js +1 -0
  202. package/dist/client/assets/{loader-circle-CbHjZsz1.js → loader-circle-lWOOKezu.js} +1 -1
  203. package/dist/client/assets/{local-agents--00gLMqr.js → local-agents-C7fDHLVC.js} +1 -1
  204. package/dist/client/assets/{mentions-jSuTGeet.js → mentions-CY_wPZc5.js} +1 -1
  205. package/dist/client/assets/mesh-ops-B1kDjizF.css +1 -0
  206. package/dist/client/assets/mesh-ops-Kn8pCtyJ.js +1 -0
  207. package/dist/client/assets/{mesh-view-store-CWidRbTE.js → mesh-view-store-D14ihwkF.js} +1 -1
  208. package/dist/client/assets/{message-circle-CG-96zts.js → message-circle-C5UZ6fO7.js} +1 -1
  209. package/dist/client/assets/{message-markup-3J9pi3nx.js → message-markup-C8Nx04sP.js} +1 -1
  210. package/dist/client/assets/{message-square-DSaGpjFU.js → message-square-BD-4UUdc.js} +1 -1
  211. package/dist/client/assets/{mission-control-store-BlnEhiCq.js → mission-control-store-xQHVQdm8.js} +1 -1
  212. package/dist/client/assets/{model-CpAxGuis.js → model-IGCUEsMy.js} +1 -1
  213. package/dist/client/assets/{observe-CuLGD9Zp.js → observe-uJfIlIUV.js} +1 -1
  214. package/dist/client/assets/{page-status-DpkedE1F.js → page-status-BymFEFai.js} +1 -1
  215. package/dist/client/assets/paperclip-DL9BXPp2.js +1 -0
  216. package/dist/client/assets/{plus--b1raV_O.js → plus-C9lTjsgd.js} +1 -1
  217. package/dist/client/assets/profile-BqY5tesX.js +1 -0
  218. package/dist/client/assets/{projects-inbox-CHyUFQ6w.js → projects-inbox-DfVmGFFk.js} +1 -1
  219. package/dist/client/assets/{radio-Bz8ZePxj.js → radio-DedMyP8J.js} +1 -1
  220. package/dist/client/assets/{refresh-cw-BBmAnCB7.js → refresh-cw-D8PFyhUa.js} +1 -1
  221. package/dist/client/assets/repo-diff-DyYmQMSA.css +1 -0
  222. package/dist/client/assets/resolve-panes-1xeZMuaw.js +1 -0
  223. package/dist/client/assets/resolve-sidebar-context-PLr32WHN.js +1 -0
  224. package/dist/client/assets/right-1x7HzabC.js +1 -0
  225. package/dist/client/assets/{right-DjRXbnRP.js → right-C1sIsSHR.js} +1 -1
  226. package/dist/client/assets/right-CFzPUzlF.js +1 -0
  227. package/dist/client/assets/right-CRKyeJDk.js +1 -0
  228. package/dist/client/assets/right-CagzkLWg.js +1 -0
  229. package/dist/client/assets/right-CsV149pN.js +1 -0
  230. package/dist/client/assets/right-DITNyG2s.js +1 -0
  231. package/dist/client/assets/right-E3nNcLE3.js +1 -0
  232. package/dist/client/assets/right-eUQvSjd7.js +1 -0
  233. package/dist/client/assets/right-ozp4nM44.js +1 -0
  234. package/dist/client/assets/{rocket-BSNS_rLs.js → rocket-CriBwkHM.js} +1 -1
  235. package/dist/client/assets/router-Dja9_ygK.js +1 -0
  236. package/dist/client/assets/{runtime-picker-Bcl5iIX5.js → runtime-picker-DOZpZOlt.js} +1 -1
  237. package/dist/client/assets/{scope-views-U-ucT9m0.js → scope-views-BF_RvGKU.js} +1 -1
  238. package/dist/client/assets/{scout-voice-CU5c0LGi.js → scout-voice-BZ4KqADJ.js} +1 -1
  239. package/dist/client/assets/{scroll-text-D6Pdnar7.js → scroll-text-BIYf6g6N.js} +1 -1
  240. package/dist/client/assets/{search-CWfZtOt2.js → search-DCT_EvPr.js} +1 -1
  241. package/dist/client/assets/secondaryNavConfig-Drb7wPG4.js +1 -0
  242. package/dist/client/assets/{selection-bridge-16pk1qyG.js → selection-bridge-CJOTyYQs.js} +1 -1
  243. package/dist/client/assets/{send-horizontal-Bg5-QggH.js → send-horizontal-DDwOgEs3.js} +1 -1
  244. package/dist/client/assets/{server-CPp4ZJhZ.js → server-CHZCp3cF.js} +1 -1
  245. package/dist/client/assets/{session-catalog-BmoyVTJ_.js → session-catalog-XhGxCtP-.js} +1 -1
  246. package/dist/client/assets/{session-table-DZcrKoIH.js → session-table-sAVe44a4.js} +1 -1
  247. package/dist/client/assets/{sliders-horizontal-1oW76Xc9.js → sliders-horizontal-B9Nj-Y4J.js} +1 -1
  248. package/dist/client/assets/sparkles-up7pVlX-.js +1 -0
  249. package/dist/client/assets/{sse-CjIkKo46.js → sse-CVoGDiKW.js} +1 -1
  250. package/dist/client/assets/{tail-events-D19uAGe3.js → tail-events-CTipUIli.js} +1 -1
  251. package/dist/client/assets/{terminal-B9AOZQKR.js → terminal-DXQISjZn.js} +1 -1
  252. package/dist/client/assets/{terminal-relay-CWbJ1RCW.js → terminal-relay-B5Sma7fK.js} +1 -1
  253. package/dist/client/assets/{terminal-takeover-B8UeD9OX.js → terminal-takeover-X97KCSJk.js} +1 -1
  254. package/dist/client/assets/{time-DltNTpLl.js → time-Dhsh_2EG.js} +1 -1
  255. package/dist/client/assets/{use-conversation-list-Byab41G6.js → use-conversation-list-B1T6J_qE.js} +1 -1
  256. package/dist/client/assets/{use-fleet-active-asks-BIbQx5AS.js → use-fleet-active-asks-DLofGhhK.js} +1 -1
  257. package/dist/client/assets/use-mesh-ops-items-ByGZk8rU.js +1 -0
  258. package/dist/client/assets/{use-reduced-motion-RRBkmVkk.js → use-reduced-motion-Cvk-HRKg.js} +1 -1
  259. package/dist/client/assets/use-scout-dev-flags-BHvg3G2c.js +1 -0
  260. package/dist/client/assets/{useAgentHoverCard-DMrbBif0.js → useAgentHoverCard-D5e8Qg1z.js} +1 -1
  261. package/dist/client/assets/useContentSecondaryNav-ZfBNi3d4.js +1 -0
  262. package/dist/client/assets/usePierreRuntime-DIVunfX0.js +50 -0
  263. package/dist/client/assets/{wrench-Bkc_0lKF.js → wrench-pEVd8JnN.js} +1 -1
  264. package/dist/client/assets/{x-D3GElQbe.js → x-0XjXwGqq.js} +1 -1
  265. package/dist/client/assets/{xterm-BKR8oAkR.js → xterm-CRLlV1Xp.js} +1 -1
  266. package/dist/client/index.html +2 -2
  267. package/dist/drizzle/0007_lean_venus.sql +26 -0
  268. package/dist/drizzle/0008_luxuriant_ted_forrester.sql +1 -0
  269. package/dist/drizzle/meta/0007_snapshot.json +5767 -0
  270. package/dist/drizzle/meta/0008_snapshot.json +5774 -0
  271. package/dist/drizzle/meta/_journal.json +14 -0
  272. package/dist/main.mjs +27836 -4437
  273. package/dist/node/main.mjs +31770 -12098
  274. package/dist/pairing-runtime-controller.mjs +37653 -16847
  275. package/dist/runtime/base-daemon.mjs +109 -18
  276. package/dist/runtime/broker-daemon.mjs +22018 -2739
  277. package/dist/runtime/broker-process-manager.mjs +122 -12
  278. package/dist/runtime/mesh-discover.mjs +90 -13
  279. package/dist/scout-control-plane-web.mjs +22453 -3299
  280. package/dist/scout-web-server.mjs +22453 -3299
  281. package/dist/statusline.mjs +2 -0
  282. package/package.json +3 -1
  283. package/dist/client/assets/ActivityScreen-Cu_1V4bq.js +0 -1
  284. package/dist/client/assets/AgentConfigurationScreen-BqfOz90D.js +0 -1
  285. package/dist/client/assets/AgentDefinitionsWorkspace-CUpUrY57.js +0 -1
  286. package/dist/client/assets/AgentFloorView-8LoAEBwS.js +0 -1
  287. package/dist/client/assets/AgentInfoScreen-DZs2_ibL.js +0 -1
  288. package/dist/client/assets/AgentLanesEmbedScreen-W3qs022h.js +0 -1
  289. package/dist/client/assets/AgentLanesView-B9vuEEmZ.js +0 -2
  290. package/dist/client/assets/AgentsConsole-BgiYP2wR.js +0 -1
  291. package/dist/client/assets/AgentsScreen-DBi8x4MB.js +0 -1
  292. package/dist/client/assets/AgentsSubnav-DIEO4NPx.js +0 -1
  293. package/dist/client/assets/BackToPicker-BRvfostO.js +0 -1
  294. package/dist/client/assets/CodeDiffPane-DDPt6KPh.js +0 -1
  295. package/dist/client/assets/CodeScreen-BxCrpRHd.js +0 -1
  296. package/dist/client/assets/ConversationFeedRows-B_gPxcqA.js +0 -1
  297. package/dist/client/assets/ConversationHeader-DE3FC0m-.js +0 -1
  298. package/dist/client/assets/ConversationPanels-DLek4H6A.js +0 -2
  299. package/dist/client/assets/ConversationScreen-BDRhx-RU.js +0 -1
  300. package/dist/client/assets/ConversationScreen-C9yMAMYF.css +0 -1
  301. package/dist/client/assets/ConversationStatus-BwVLiiO4.js +0 -1
  302. package/dist/client/assets/FlightObserveScreen-6RpZYwVz.js +0 -1
  303. package/dist/client/assets/HarnessesScreen-CznAImej.js +0 -1
  304. package/dist/client/assets/KnowledgeSearchInspector-Dgdkfvvz.js +0 -1
  305. package/dist/client/assets/KnowledgeSearchScreen-DJDGGaqC.js +0 -1
  306. package/dist/client/assets/LaneTraceDetailSheet-D1CspRbl.js +0 -1
  307. package/dist/client/assets/MeshScreen-DFgevn8N.js +0 -1
  308. package/dist/client/assets/MessagesScreen-C8YKW10Y.js +0 -1
  309. package/dist/client/assets/MissionLeftAgentRow-BpZWntfl.js +0 -1
  310. package/dist/client/assets/NewChatComposer-Cs6OsxK6.js +0 -19
  311. package/dist/client/assets/ObserveEmbedScreen-y2EpuqRZ.js +0 -2
  312. package/dist/client/assets/OpenScoutAppShell-C_URc8sV.js +0 -87
  313. package/dist/client/assets/OpsAgentsView-UN7iOscs.js +0 -1
  314. package/dist/client/assets/OpsScreen-Buf3LKjb.js +0 -1
  315. package/dist/client/assets/OpsSubnav-DsuXzHah.js +0 -1
  316. package/dist/client/assets/ProjectAgentProfile-DJusrAV-.js +0 -1
  317. package/dist/client/assets/ProjectAgentProfileHero-BFwNJo_N.js +0 -1
  318. package/dist/client/assets/ProjectsInbox-GhVMxOhw.js +0 -2
  319. package/dist/client/assets/ProjectsScreen-eNUBy4YU.js +0 -1
  320. package/dist/client/assets/ProjectsThreadAside-CoBgnHmr.js +0 -1
  321. package/dist/client/assets/Provider-C7UKGHQy.js +0 -1
  322. package/dist/client/assets/RawSessionsTable-DL8y_eEy.js +0 -1
  323. package/dist/client/assets/RealtimeVoiceScreen-ffS-39zy.js +0 -1
  324. package/dist/client/assets/RepoDiffViewer-D_exm6xK.js +0 -7
  325. package/dist/client/assets/RepoDiffViewerLazy-BPgF92Bg.js +0 -2
  326. package/dist/client/assets/SessionEmbedScreen-BVC7yvWF.js +0 -1
  327. package/dist/client/assets/SessionObserve-BpggNO_M.css +0 -1
  328. package/dist/client/assets/SessionObserve-yfXFafp8.js +0 -12
  329. package/dist/client/assets/SessionRefScreen-DRgJu7Jo.js +0 -1
  330. package/dist/client/assets/SessionsScreen-D6XUsZfA.js +0 -1
  331. package/dist/client/assets/SettingsDrawer-CmJt72ww.css +0 -1
  332. package/dist/client/assets/SettingsScreen-Cy8z-EuR.js +0 -1
  333. package/dist/client/assets/SpriteAvatar-DyaGuhik.js +0 -1
  334. package/dist/client/assets/Terminal-CqvGbjXU.js +0 -1
  335. package/dist/client/assets/TerminalEmbedScreen-DuZZFFzW.js +0 -1
  336. package/dist/client/assets/agent-lane-card-Dm7YWoew.css +0 -1
  337. package/dist/client/assets/content-BDt9VBPk.js +0 -1
  338. package/dist/client/assets/content-BIXf4cKR.js +0 -1
  339. package/dist/client/assets/content-BLm0NBJM.js +0 -1
  340. package/dist/client/assets/content-C5UbLsDF.js +0 -1
  341. package/dist/client/assets/content-CR3vdrYY.js +0 -1
  342. package/dist/client/assets/content-CSPVmo2s.js +0 -1
  343. package/dist/client/assets/content-C_FGqx1X.js +0 -1
  344. package/dist/client/assets/content-CvlVUOG8.js +0 -1
  345. package/dist/client/assets/content-DTpQsomG.js +0 -1
  346. package/dist/client/assets/content-DikVsqLf.js +0 -1
  347. package/dist/client/assets/content-DlUe5Ono.js +0 -1
  348. package/dist/client/assets/content-GIBv_55n.js +0 -1
  349. package/dist/client/assets/content-Q2oclDzi.js +0 -1
  350. package/dist/client/assets/conversation-model-B47vYmWN.js +0 -1
  351. package/dist/client/assets/conversation-motion-features-BdAONVls.js +0 -1
  352. package/dist/client/assets/discover-C1YwpBDE.js +0 -2
  353. package/dist/client/assets/embed-entry-BAcGL3g9.js +0 -2
  354. package/dist/client/assets/home-now-card-BgvNWuea.js +0 -1
  355. package/dist/client/assets/hooks-B6y_O2FB.js +0 -2
  356. package/dist/client/assets/inbox-thread-redesign-Bz4FjWzr.css +0 -1
  357. package/dist/client/assets/index-BcuhqXLe.js +0 -1
  358. package/dist/client/assets/index-CJXzfjo9.js +0 -1
  359. package/dist/client/assets/index-DQPvraRS.js +0 -1
  360. package/dist/client/assets/index-DxGoC5l5.css +0 -1
  361. package/dist/client/assets/knowledge-search-CVxQwxPn.js +0 -1
  362. package/dist/client/assets/knowledge-search-DjrQdiiW.css +0 -1
  363. package/dist/client/assets/left-C--GiIh8.js +0 -2
  364. package/dist/client/assets/left-Cj7Rt89X.js +0 -1
  365. package/dist/client/assets/left-CpNEtFEg.js +0 -1
  366. package/dist/client/assets/left-CzXAuK_t.js +0 -2
  367. package/dist/client/assets/left-agents-Bo9sO1by.js +0 -1
  368. package/dist/client/assets/left-bN4PCAXa.js +0 -1
  369. package/dist/client/assets/left-default-DV9GdvYi.js +0 -1
  370. package/dist/client/assets/left-jYYGAOYD.js +0 -1
  371. package/dist/client/assets/left-lanes-D0l_Co7V.js +0 -1
  372. package/dist/client/assets/left-mission-Ci7zREkQ.js +0 -1
  373. package/dist/client/assets/left-plan-D4U1uflW.js +0 -2
  374. package/dist/client/assets/library-D-RxGiCw.js +0 -1
  375. package/dist/client/assets/profile-CVRziEDA.js +0 -1
  376. package/dist/client/assets/repo-diff-C9Qs-bEn.css +0 -1
  377. package/dist/client/assets/resolve-panes-r9B3mpW7.js +0 -1
  378. package/dist/client/assets/resolve-sidebar-context-DcG8xGaB.js +0 -1
  379. package/dist/client/assets/right-BHeiIaty.js +0 -1
  380. package/dist/client/assets/right-BkgKo9VT.js +0 -1
  381. package/dist/client/assets/right-BpEU5jWE.js +0 -1
  382. package/dist/client/assets/right-CRZXoy-X.js +0 -1
  383. package/dist/client/assets/right-ChF_pbPy.js +0 -1
  384. package/dist/client/assets/right-DMoUT3KN.js +0 -1
  385. package/dist/client/assets/right-T4Ue6EqM.js +0 -1
  386. package/dist/client/assets/right-wzrLXKur.js +0 -1
  387. package/dist/client/assets/router-Bq5dwf78.js +0 -1
  388. package/dist/client/assets/secondaryNavConfig-DqUIp0Es.js +0 -1
  389. package/dist/client/assets/sparkles-ClfRJQ6w.js +0 -1
  390. package/dist/client/assets/useContentSecondaryNav-DMl1WNm7.js +0 -1
  391. package/dist/client/assets/usePierreRuntime-wC-yMtBb.js +0 -50
package/README.md CHANGED
@@ -20,6 +20,7 @@ scout whoami
20
20
  scout who
21
21
  scout latest
22
22
  scout runtimes
23
+ scout providers usage
23
24
  scout ask --project ../talkie --harness claude "can you review our docs?"
24
25
  ```
25
26
 
@@ -332,6 +333,7 @@ scout version
332
333
  scout doctor
333
334
  scout setup
334
335
  scout runtimes
336
+ scout providers usage
335
337
  scout whoami
336
338
  scout send
337
339
  scout speak
@@ -351,6 +353,23 @@ scout server open
351
353
  scout tui
352
354
  ```
353
355
 
356
+ ### Provider Usage (`scout providers usage`)
357
+
358
+ Read every quota window from the live `/providers` feed without opening the
359
+ web UI. Status-only provider cards are intentionally omitted:
360
+
361
+ ```bash
362
+ scout providers usage
363
+ scout providers usage --json
364
+ scout providers usage --cached
365
+ ```
366
+
367
+ The default command refreshes the shared service-budget pipeline and prints
368
+ every available quota window with percent used and remaining, the local reset
369
+ time, source, and observation freshness. `--cached` skips live provider probes
370
+ when a recent server snapshot is available; a cold or expired cache still reads
371
+ the providers normally.
372
+
354
373
  ### Menu Bar App (`scout menu`)
355
374
 
356
375
  On macOS, `scout menu` is the quick launcher for the native menu bar app.
package/bin/scoutd CHANGED
Binary file
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "packageName": "@openscout/scout",
4
- "version": "0.2.78",
5
- "commit": "cd95b875d607494587d2a40bec37ab94a6ad12d8",
4
+ "version": "0.2.79",
5
+ "commit": "ea293087cd3772e3e9d1f74f3f4044d1282ed7af",
6
6
  "branch": "HEAD",
7
7
  "sourceDirty": false,
8
- "builtAt": "2026-08-09T19:04:51.471Z"
8
+ "builtAt": "2026-08-12T23:06:31.706Z"
9
9
  }
@@ -0,0 +1 @@
1
+ import{r as n,j as s}from"./index-sUomXsrf.js";import{a as J}from"./api-h5zurxmi.js";import{c as k}from"./clipboard-e3fSpeo7.js";import{u as Q}from"./sse-CVoGDiKW.js";import{d as V}from"./colors-BtO5_zlx.js";import{u as X,m as Z,d as ss}from"./Provider-tFc3jqZ4.js";import{b as es}from"./router-Dja9_ygK.js";import{r as O}from"./mentions-CY_wPZc5.js";import{t as I,b as B}from"./time-Dhsh_2EG.js";import{u as as}from"./ContextMenu-BlBQhpax.js";import{E as C}from"./EmptyState-CoL-QuUO.js";/* empty css */import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./DocumentFocusViewer-DU_9BHsD.js";import"./createLucideIcon-DlxlBfLC.js";import"./TextDocumentSurface-C-9EtYqt.js";/* empty css */import"./file-text-i3xTDUjJ.js";import"./x-0XjXwGqq.js";import"./chevron-right-CyUa1zXx.js";import"./code-xml-05TD3uOC.js";import"./arrow-left-WjQIN9J6.js";import"./scout-voice-BZ4KqADJ.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BhZZ5HEq.js";import"./MessageComposerSuggestions-zAUUcLOv.js";import"./NewChatComposer-B5FnPyzS.js";import"./runtime-picker-DOZpZOlt.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-lWOOKezu.js";import"./index-m6dFtY5f.js";import"./HarnessMark-Dm_qm1Ku.js";import"./conversation-model-C4yb6_FA.js";import"./NewChatOrigin--pHWUb4V.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-BFai6ZfE.js";import"./search-DCT_EvPr.js";import"./chunk-HRAB3GC3-CvwpNg-G.js";import"./terminal-sessions-D5CIR2OL.js";import"./AgentDetailCard-DxxVkgT1.js";import"./AgentLiveActions-CZdAInEu.js";import"./terminal-takeover-X97KCSJk.js";import"./openContent-C6XO6kr5.js";import"./eye-So8tNNK6.js";import"./terminal-DXQISjZn.js";const ts={"agent.registered":"registered","agent.online":"came online","agent.offline":"went offline","flight.started":"started task","flight.completed":"completed task","flight.updated":"updated task","message.sent":"sent message","message.received":"received message","collaboration.ask":"asked a question","collaboration.answer":"answered",ask_sent:"sent a request",ask_replied:"replied",ask_working:"working",flight_created:"started task",flight_updated:"updated task",message_sent:"sent",message_received:"received"},ns={presence:{label:"Presence",tone:"notice"},work:{label:"Execution",tone:"working"},message:{label:"Delivery",tone:"completed"},collaboration:{label:"Coordination",tone:"working"},system:{label:"System",tone:"notice"}};function q(a){return ts[a]??a.replace(/[._]/g," ")}function ls(a){return a.startsWith("agent.")||a.includes("registered")||a.includes("online")||a.includes("offline")?"presence":a.startsWith("flight")||a.startsWith("ask_")?"work":a.startsWith("message")?"message":a.startsWith("collaboration")?"collaboration":"system"}function is(a){return(a??"system").charAt(0).toUpperCase()}function u(a){return a.length<=14?a:`${a.slice(0,8)}...${a.slice(-4)}`}function rs(a){if(!a)return null;const p=a.split("/").filter(Boolean);return p[p.length-1]??a}function os(a){return`${a.actorName??"system"} ${q(a.kind)}`}function cs(a){return a.workspaceRoot?`Recorded from ${a.workspaceRoot}.`:a.conversationId?`Linked to thread ${u(a.conversationId)}.`:"No additional detail was captured for this event."}function le({navigate:a}){const{agents:p,route:z}=X(),[v,F]=n.useState([]),[x,w]=n.useState(null),[y,A]=n.useState(!0),[R,$]=n.useState(!1),[h,S]=n.useState(null),[N,P]=n.useState(null),L=n.useRef([]),b=n.useRef(0),f=n.useRef(null),U=as(),T=es(z),W=n.useMemo(()=>Z(p,T),[p,T]),l=n.useMemo(()=>ss(v,W),[v,W]);n.useEffect(()=>{L.current=v},[v]),n.useEffect(()=>{x&&!l.some(e=>e.id===x)&&w(null)},[x,l]);const m=n.useCallback(async(e="initial")=>{const i=++b.current;!(L.current.length>0)&&e!=="background"?(A(!0),S(null)):$(!0);try{const o=await J("/api/activity");if(i!==b.current)return;F(o),S(null),P(Date.now()),w(g=>o.some(E=>E.id===g)?g:null)}catch(o){if(i!==b.current)return;S(o instanceof Error?o.message:String(o))}finally{i===b.current&&(A(!1),$(!1))}},[]),K=n.useCallback(()=>{f.current||(f.current=setTimeout(()=>{f.current=null,m("background")},250))},[m]);n.useEffect(()=>(m("initial"),()=>{f.current&&clearTimeout(f.current)}),[m]),Q(K);const G=n.useMemo(()=>{const e=new Set(l.map(c=>c.actorName??"system")),i=new Set(l.map(c=>c.conversationId).filter(c=>!!c));return[{label:"Events",value:`${l.length}`,detail:l.length>0?`Latest ${I(l[0].ts)}`:"Waiting for records"},{label:"Actors",value:`${e.size}`,detail:e.size>0?"Distinct event owners":"No actors yet"},{label:"Threads",value:`${i.size}`,detail:i.size>0?"Conversation-linked records":"No linked threads"}]},[l]),Y=!y&&l.length===0&&!!h,H=!y&&l.length===0&&!h;return s.jsxs("div",{className:"sys-surface-page",children:[s.jsxs("div",{className:"sys-page-head",children:[s.jsxs("div",{className:"sys-page-title-group",children:[s.jsx("h2",{className:"sys-page-title",children:"Activity Log"}),s.jsx("p",{className:"sys-page-subtitle",children:"Broker events, task execution, and collaboration handoffs."})]}),s.jsxs("div",{className:"sys-page-actions",children:[s.jsx("div",{className:"sys-sync-note",children:y?"Loading audit ledger...":h&&l.length>0?`Showing last confirmed snapshot from ${N?I(N):"earlier"}`:N?`Updated ${I(N)}`:"Waiting for first snapshot"}),s.jsx("button",{type:"button",className:"s-btn",disabled:y||R,onClick:()=>{m("manual")},children:R?"Refreshing...":"Refresh"})]})]}),s.jsx("div",{className:"sys-stat-grid",children:G.map(e=>s.jsxs("div",{className:"sys-stat-card",children:[s.jsx("span",{className:"sys-stat-label",children:e.label}),s.jsx("strong",{className:"sys-stat-value",children:e.value}),s.jsx("span",{className:"sys-stat-detail",children:e.detail})]},e.label))}),h&&l.length>0&&s.jsxs("div",{className:"sys-banner sys-banner-warning",children:[s.jsx("strong",{children:"Refresh failed."}),s.jsx("span",{children:h})]}),y&&l.length===0&&s.jsx(C,{title:"Loading activity",body:"Pulling the latest records from the broker database."}),Y&&s.jsx(C,{className:"sys-state-card-error",title:"Activity is unavailable",body:h,action:s.jsx("button",{type:"button",className:"s-btn",onClick:()=>{m("manual")},children:"Try again"})}),H&&s.jsx(C,{title:"No activity yet",body:"Events appear here after agents register, send messages, or advance work."}),l.length>0&&s.jsx("div",{className:"sys-audit-list",children:l.map(e=>{const i=x===e.id,c=ls(e.kind),o=ns[c],g=rs(e.workspaceRoot),E=e.summary&&e.summary!==e.title?e.summary:cs(e),r=[];if(e.conversationId&&r.push({key:"thread",label:"Thread",title:`Open thread ${u(e.conversationId)}`,route:{view:"conversation",conversationId:e.conversationId}}),e.recordId&&r.push({key:"work",label:"Work",title:"Open work item",route:{view:"work",workId:e.recordId}}),e.agentId){const t=e.agentName??"Agent";r.push({key:"agent",label:t,title:`Open agent ${t}`,route:{view:"agents-v2",agentId:e.agentId}})}e.sessionId&&r.push({key:"session",label:"Session",title:"Open session",route:{view:"sessions",sessionId:e.sessionId}}),(e.flightId||e.invocationId)&&r.push({key:"follow",label:"Follow",title:"Follow live execution",route:{view:"follow",...e.flightId?{flightId:e.flightId}:{},...e.invocationId?{invocationId:e.invocationId}:{},...e.conversationId?{conversationId:e.conversationId}:{}}});const _=()=>w(i?null:e.id);return s.jsxs("article",{className:`sys-audit-entry${i?" sys-audit-entry-expanded":""}`,onContextMenu:t=>{const j=window.getSelection()?.toString().trim(),d=[];j&&(d.push({kind:"action",label:"Copy Selection",shortcut:"⌘C",onSelect:()=>{k(j)}}),d.push({kind:"separator"}));const M=e.title??e.summary??"";if(M&&d.push({kind:"action",label:"Copy Details",onSelect:()=>{k(M)}}),e.actorName&&d.push({kind:"action",label:"Copy Actor",onSelect:()=>{k(e.actorName)}}),d.push({kind:"action",label:"Copy Event ID",onSelect:()=>{k(e.id)}}),r.length>0){d.push({kind:"separator"});for(const D of r)d.push({kind:"action",label:`Open ${D.label}`,onSelect:()=>a(D.route)})}U(t,d)},children:[s.jsxs("div",{className:"sys-audit-toggle",role:"button",tabIndex:0,"aria-expanded":i,onClick:_,onKeyDown:t=>{(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),_())},children:[s.jsxs("div",{className:"sys-audit-stamp",children:[s.jsx("span",{className:"sys-audit-time",children:I(e.ts)}),s.jsx("span",{className:"sys-audit-date",children:B(e.ts)})]}),s.jsx("div",{className:`sys-audit-marker sys-audit-marker-${o.tone}`,children:s.jsx("span",{})}),s.jsxs("div",{className:"sys-audit-body",children:[s.jsxs("div",{className:"sys-audit-topline",children:[s.jsx("span",{className:"sys-audit-category",children:o.label}),s.jsx("span",{className:"sys-audit-kind",children:q(e.kind)})]}),s.jsx("h3",{className:"sys-audit-title",children:O(e.title??os(e))}),s.jsx("p",{className:"sys-audit-summary",children:O(E)}),s.jsxs("div",{className:"sys-audit-meta",children:[s.jsxs("span",{className:"sys-audit-meta-item",children:[s.jsx("span",{className:"sys-audit-avatar",style:{background:V(e.actorName??"system")},children:is(e.actorName)}),e.actorName??"system"]}),g&&s.jsxs("span",{className:"sys-audit-meta-item",children:["Workspace ",g]})]}),r.length>0&&s.jsxs("div",{className:"sys-audit-jumps",children:[s.jsx("span",{className:"sys-audit-jumps-label",children:"Open"}),r.map(t=>s.jsx("button",{type:"button",className:"sys-audit-jump",title:t.title,onClick:j=>{j.stopPropagation(),a(t.route)},children:t.label},t.key))]})]}),s.jsx("div",{className:"sys-audit-expand",children:i?"Close":"Details"})]}),i&&s.jsxs("div",{className:"sys-audit-details",children:[s.jsxs("div",{className:"sys-detail-grid",children:[s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Event"}),s.jsx("code",{className:"sys-detail-value",children:e.kind})]}),s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Recorded"}),s.jsx("span",{className:"sys-detail-value",children:B(e.ts)})]}),s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Actor"}),s.jsx("span",{className:"sys-detail-value",children:e.actorName??"system"})]}),e.agentName&&s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Agent"}),s.jsx("span",{className:"sys-detail-value",children:e.agentName})]}),s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Workspace"}),s.jsx("span",{className:"sys-detail-value",children:e.workspaceRoot??"Not attached"})]}),s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Thread"}),s.jsx("span",{className:"sys-detail-value",children:e.conversationId?u(e.conversationId):"Not attached"})]}),e.recordId&&s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Work"}),s.jsx("span",{className:"sys-detail-value",children:u(e.recordId)})]}),e.sessionId&&s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Session"}),s.jsx("span",{className:"sys-detail-value",children:u(e.sessionId)})]}),e.flightId&&s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Flight"}),s.jsx("span",{className:"sys-detail-value",children:u(e.flightId)})]}),e.invocationId&&s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Invocation"}),s.jsx("span",{className:"sys-detail-value",children:u(e.invocationId)})]}),s.jsxs("div",{className:"sys-detail-card",children:[s.jsx("span",{className:"sys-detail-label",children:"Record id"}),s.jsx("code",{className:"sys-detail-value",children:e.id})]})]}),r.length>0&&s.jsx("div",{className:"sys-inline-actions",children:r.map(t=>s.jsxs("button",{type:"button",className:"s-btn s-btn-sm",onClick:()=>a(t.route),children:["Open ",t.label]},t.key))})]})]},e.id)})})]})}export{le as ActivityScreen};
@@ -1 +1 @@
1
- import{r as n,j as o}from"./index-DMiGbrBt.js";import{a as y}from"./api-h5zurxmi.js";import{c as j}from"./createLucideIcon-OpA4Amw5.js";const m=[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],f=j("folder-plus",m);function h({onClose:p}){const[d,l]=n.useState(""),[r,c]=n.useState(!1),[i,a]=n.useState(null),u=async()=>{const e=d.trim();if(!(!e||r)){c(!0),a(null);try{const t=await y("/api/projects/add",{method:"POST",body:JSON.stringify({root:e})}),s=t.projects[0]?.title??null;t.alreadyRegistered?a({text:s?`/${s} is already registered`:"Already registered",tone:"ok"}):s?(a({text:`Registered /${s}`,tone:"ok"}),l("")):a({text:"Root added, but no project found there yet",tone:"error"})}catch(t){a({text:t instanceof Error?t.message:String(t),tone:"error"})}finally{c(!1)}}};return o.jsxs("div",{className:"pi-addProject",children:[o.jsxs("div",{className:"pi-addProjectBox","data-busy":r||void 0,children:[o.jsx(f,{size:13,strokeWidth:1.8,"aria-hidden":!0}),o.jsx("input",{className:"pi-addProjectInput",type:"text",value:d,placeholder:"~/dev/my-project","aria-label":"Project folder path",autoFocus:!0,disabled:r,spellCheck:!1,onChange:e=>l(e.currentTarget.value),onKeyDown:e=>{e.key==="Enter"&&u(),e.key==="Escape"&&p()}}),o.jsx("button",{type:"button",className:"pi-addProjectSubmit",disabled:r||!d.trim(),onClick:()=>{u()},children:r?"Adding...":"Add"})]}),i?o.jsx("div",{className:"pi-addProjectNote","data-tone":i.tone,role:"status",children:i.text}):null]})}const k=Object.freeze(Object.defineProperty({__proto__:null,AddProjectForm:h},Symbol.toStringTag,{value:"Module"}));export{h as A,f as F,k as a};
1
+ import{r as n,j as o}from"./index-sUomXsrf.js";import{a as y}from"./api-h5zurxmi.js";import{c as j}from"./createLucideIcon-DlxlBfLC.js";const m=[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],f=j("folder-plus",m);function h({onClose:p}){const[d,l]=n.useState(""),[r,c]=n.useState(!1),[i,a]=n.useState(null),u=async()=>{const e=d.trim();if(!(!e||r)){c(!0),a(null);try{const t=await y("/api/projects/add",{method:"POST",body:JSON.stringify({root:e})}),s=t.projects[0]?.title??null;t.alreadyRegistered?a({text:s?`/${s} is already registered`:"Already registered",tone:"ok"}):s?(a({text:`Registered /${s}`,tone:"ok"}),l("")):a({text:"Root added, but no project found there yet",tone:"error"})}catch(t){a({text:t instanceof Error?t.message:String(t),tone:"error"})}finally{c(!1)}}};return o.jsxs("div",{className:"pi-addProject",children:[o.jsxs("div",{className:"pi-addProjectBox","data-busy":r||void 0,children:[o.jsx(f,{size:13,strokeWidth:1.8,"aria-hidden":!0}),o.jsx("input",{className:"pi-addProjectInput",type:"text",value:d,placeholder:"~/dev/my-project","aria-label":"Project folder path",autoFocus:!0,disabled:r,spellCheck:!1,onChange:e=>l(e.currentTarget.value),onKeyDown:e=>{e.key==="Enter"&&u(),e.key==="Escape"&&p()}}),o.jsx("button",{type:"button",className:"pi-addProjectSubmit",disabled:r||!d.trim(),onClick:()=>{u()},children:r?"Adding...":"Add"})]}),i?o.jsx("div",{className:"pi-addProjectNote","data-tone":i.tone,role:"status",children:i.text}):null]})}const k=Object.freeze(Object.defineProperty({__proto__:null,AddProjectForm:h},Symbol.toStringTag,{value:"Module"}));export{h as A,f as F,k as a};
@@ -1 +1 @@
1
- import{j as l}from"./index-DMiGbrBt.js";import{a as g,S}from"./SpriteAvatar-DyaGuhik.js";import{i as b,s as E,e as P}from"./colors-BtO5_zlx.js";const C={hero:{tile:!1,presence:!1,glow:!0},inspector:{size:40,tile:!0,presence:!0},row:{size:24,tile:!0,presence:!0},turn:{tile:!1,presence:!1},list:{tile:!1,presence:!1},roster:{tile:!1,presence:!1},node:{size:16,tile:!1,presence:!1}};function I({agent:e,name:u,kind:f="agent",placement:d="row",size:h,presence:m,tile:v,salt:w,className:s,channelClassName:x,style:t,title:o}){const r=e?.name??u??"?";if(f==="channel")return l.jsx("span",{className:x??s,style:t,title:o??r,children:"#"});const n=C[d],a=e?g(e):null,c=m??n.presence,A=b(e?.state??null),j=c&&A?E(e?.state??null):void 0,z=c&&P(e?.state??null),p=h??n.size,i=l.jsx(S,{name:r,size:p,hue:a?.hue,tone:a?.tone,salt:w,tile:v??n.tile,glow:n.glow,corner:j,cornerPulse:z,title:o??r});return p==null?l.jsx("span",{className:s,style:{background:"transparent",overflow:"visible",...t},title:o??r,children:i}):s||t?l.jsx("span",{className:s,style:t,children:i}):i}export{I as A};
1
+ import{j as l}from"./index-sUomXsrf.js";import{a as g,S}from"./SpriteAvatar-CQs-jC-v.js";import{i as b,s as E,e as P}from"./colors-BtO5_zlx.js";const C={hero:{tile:!1,presence:!1,glow:!0},inspector:{size:40,tile:!0,presence:!0},row:{size:24,tile:!0,presence:!0},turn:{tile:!1,presence:!1},list:{tile:!1,presence:!1},roster:{tile:!1,presence:!1},node:{size:16,tile:!1,presence:!1}};function I({agent:e,name:u,kind:f="agent",placement:d="row",size:h,presence:m,tile:v,salt:w,className:s,channelClassName:x,style:t,title:o}){const r=e?.name??u??"?";if(f==="channel")return l.jsx("span",{className:x??s,style:t,title:o??r,children:"#"});const n=C[d],a=e?g(e):null,c=m??n.presence,A=b(e?.state??null),j=c&&A?E(e?.state??null):void 0,z=c&&P(e?.state??null),p=h??n.size,i=l.jsx(S,{name:r,size:p,hue:a?.hue,tone:a?.tone,salt:w,tile:v??n.tile,glow:n.glow,corner:j,cornerPulse:z,title:o??r});return p==null?l.jsx("span",{className:s,style:{background:"transparent",overflow:"visible",...t},title:o??r,children:i}):s||t?l.jsx("span",{className:s,style:t,children:i}):i}export{I as A};
@@ -0,0 +1 @@
1
+ import{r as t,j as s}from"./index-sUomXsrf.js";import{E as H}from"./EmptyState-CoL-QuUO.js";import{a as R}from"./api-h5zurxmi.js";import{e as L}from"./agent-chat-Bfjd9y6c.js";import{d as K}from"./time-Dhsh_2EG.js";import{u as I}from"./Provider-tFc3jqZ4.js";import{o as U}from"./openContent-C6XO6kr5.js";import{AgentsSubnav as q}from"./AgentsSubnav-BTNjPYoA.js";/* empty css */import{R as W}from"./refresh-cw-D8PFyhUa.js";import{S as V}from"./secondaryNavConfig-Drb7wPG4.js";import{c as E}from"./createLucideIcon-DlxlBfLC.js";import{B as O}from"./bot-B_Uzf4_O.js";import{W as Y}from"./wrench-pEVd8JnN.js";import{S as F}from"./server-CHZCp3cF.js";import"./router-Dja9_ygK.js";import"./terminal-sessions-D5CIR2OL.js";import"./sse-CVoGDiKW.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-BlBQhpax.js";import"./DocumentFocusViewer-DU_9BHsD.js";import"./TextDocumentSurface-C-9EtYqt.js";/* empty css */import"./file-text-i3xTDUjJ.js";import"./x-0XjXwGqq.js";import"./chevron-right-CyUa1zXx.js";import"./code-xml-05TD3uOC.js";import"./arrow-left-WjQIN9J6.js";import"./scout-voice-BZ4KqADJ.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BhZZ5HEq.js";import"./MessageComposerSuggestions-zAUUcLOv.js";import"./NewChatComposer-B5FnPyzS.js";import"./runtime-picker-DOZpZOlt.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-lWOOKezu.js";import"./index-m6dFtY5f.js";import"./HarnessMark-Dm_qm1Ku.js";import"./conversation-model-C4yb6_FA.js";import"./NewChatOrigin--pHWUb4V.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-BFai6ZfE.js";import"./search-DCT_EvPr.js";import"./chunk-HRAB3GC3-CvwpNg-G.js";import"./SecondaryNav-Bks0CO2h.js";import"./message-square-BD-4UUdc.js";import"./terminal-DXQISjZn.js";import"./scroll-text-BIYf6g6N.js";const J=[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]],G=E("cpu",J);const Q=[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]],B=E("key-round",Q);const X=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],Z=E("save",X);function S(e){switch(e){case"ready":case"running":case"available":case"enabled":return"sys-chip-success";case"configured":case"installed":case"working":return"sys-chip-warning";case"missing":case"offline":case"not_ready":case"error":return"sys-chip-danger";default:return"sys-chip-neutral"}}function A(e){switch(e){case"available":case"ready":return"ready";case"offline":case"not_ready":return"not ready";default:return e}}function M(e){return e?e.replace(/^\/Users\/[^/]+/,"~"):"Not reported"}function ss(e){return e.length>0?e.join(", "):"No capabilities reported"}function es({runtime:e}){return s.jsxs("div",{className:"agent-config-row",children:[s.jsxs("div",{className:"agent-config-row-main",children:[s.jsx("span",{className:"agent-config-icon",children:s.jsx(G,{size:14})}),s.jsxs("div",{className:"agent-config-row-copy",children:[s.jsx("div",{className:"agent-config-row-title",children:e.label}),s.jsx("div",{className:"agent-config-row-detail",children:e.description}),s.jsx("div",{className:"agent-config-row-meta",children:e.detail})]})]}),s.jsxs("div",{className:"agent-config-row-side",children:[s.jsx("span",{className:`sys-chip ${S(e.state)}`,children:e.state}),s.jsx("span",{className:"agent-config-row-meta",children:e.binaryPath??e.loginCommand??e.source})]})]})}function as({provider:e}){return s.jsxs("div",{className:"agent-config-row",children:[s.jsxs("div",{className:"agent-config-row-main",children:[s.jsx("span",{className:"agent-config-icon",children:s.jsx(B,{size:14})}),s.jsxs("div",{className:"agent-config-row-copy",children:[s.jsx("div",{className:"agent-config-row-title",children:e.name}),s.jsx("div",{className:"agent-config-row-detail",children:e.protocol}),s.jsx("code",{className:"agent-config-code",children:e.baseUrl}),s.jsxs("div",{className:"agent-config-row-meta",children:["Keys: ",e.envKeys.join(", ")]}),s.jsx("div",{className:"agent-config-row-meta",children:e.note})]})]}),s.jsxs("div",{className:"agent-config-row-side",children:[s.jsx("span",{className:`sys-chip ${S(e.status)}`,children:e.status}),s.jsx("a",{className:"agent-config-link",href:e.docsUrl,target:"_blank",rel:"noreferrer",children:"Docs"})]})]})}function ns({agent:e,selected:l,navigate:p}){return s.jsxs("button",{type:"button",className:`agent-config-row agent-config-row-button${l?" agent-config-row-selected":""}`,onClick:()=>p({view:"agents-v2",agentId:e.id,tab:"config"}),children:[s.jsxs("div",{className:"agent-config-row-main",children:[s.jsx("span",{className:"agent-config-icon",children:s.jsx(O,{size:14})}),s.jsxs("div",{className:"agent-config-row-copy",children:[s.jsx("div",{className:"agent-config-row-title",children:e.name}),s.jsx("div",{className:"agent-config-row-detail",children:e.id}),s.jsxs("div",{className:"agent-config-row-meta",children:[e.harness??"unknown harness"," / ",e.transport??"unknown transport",e.model?` / ${e.model}`:""]})]})]}),s.jsxs("div",{className:"agent-config-row-side",children:[s.jsx("span",{className:`sys-chip ${S(e.status)}`,children:A(e.status)}),s.jsx("span",{className:"agent-config-row-meta",children:M(e.projectRoot??e.cwd)})]})]})}function D(e,l,p,n,o){l(e),p(e.model??""),n(e.runtime.cwd),o(e.runtime.harness)}function is({agent:e,navigate:l,onConfigSaved:p}){const{route:n}=I(),o=e?.id??null,[c,f]=t.useState(null),[u,v]=t.useState(!1),[y,g]=t.useState(null),[x,d]=t.useState(""),[w,m]=t.useState(""),[N,a]=t.useState(""),[b,h]=t.useState(!1),[j,$]=t.useState("idle"),[z,C]=t.useState(null),k=t.useRef(0),T=t.useCallback(async()=>{const i=++k.current;if(C(null),h(!1),!o){f(null),g(null),v(!1);return}v(!0),g(null);try{const r=await R(`/api/agents/${encodeURIComponent(o)}/config`);if(i!==k.current)return;D(r,f,d,m,a)}catch(r){if(i!==k.current)return;f(null),d(""),m(""),a(e?.harness??""),g(r instanceof Error?r.message:String(r))}finally{i===k.current&&v(!1)}},[e?.harness,o]);t.useEffect(()=>{T()},[T]);const P=t.useMemo(()=>{const i=["claude","codex","pi",c?.runtime.harness,e?.harness,N].filter(r=>!!r?.trim());return Array.from(new Set(i))},[e?.harness,c?.runtime.harness,N]),_=async i=>{if(i.preventDefault(),!(!o||!c||j==="saving")){$("saving"),C(null),g(null);try{const r=await R(`/api/agents/${encodeURIComponent(o)}/config`,{method:"POST",body:JSON.stringify({model:x.trim()||null,runtime:{cwd:w.trim()||c.runtime.cwd,harness:N.trim()||c.runtime.harness},restart:b})});D(r.config,f,d,m,a),h(!1),C(r.restarted?"Saved and restarted":"Saved"),p?.()}catch(r){g(r instanceof Error?r.message:String(r))}finally{$("idle")}}};return e?s.jsxs("div",{className:"sys-panel agent-config-detail-panel",children:[s.jsxs("div",{className:"sys-section-head",children:[s.jsxs("div",{children:[s.jsx("h3",{className:"sys-section-title",children:e.name}),s.jsx("p",{className:"sys-section-subtitle",children:e.id})]}),s.jsxs("div",{className:"sys-page-actions",children:[s.jsx("button",{type:"button",className:"s-btn",onClick:()=>l({view:"agents-v2",agentId:e.id}),children:"Open Agent"}),s.jsx("button",{type:"button",className:"s-btn",onClick:()=>{L(e).then(i=>{U(l,{view:"conversation",conversationId:i},{returnTo:n})})},children:"Open Chat"})]})]}),s.jsxs("div",{className:"agent-config-detail-grid",children:[s.jsxs("div",{children:[s.jsx("span",{className:"agent-config-label",children:"Status"}),s.jsx("span",{className:`sys-chip ${S(e.status)}`,children:A(e.status)})]}),s.jsxs("div",{children:[s.jsx("span",{className:"agent-config-label",children:"Harness"}),s.jsx("strong",{className:"agent-config-selectable",children:e.harness??"Not reported"})]}),s.jsxs("div",{children:[s.jsx("span",{className:"agent-config-label",children:"Transport"}),s.jsx("strong",{className:"agent-config-selectable",children:e.transport??"Not reported"})]}),s.jsxs("div",{children:[s.jsx("span",{className:"agent-config-label",children:"Reported model"}),s.jsx("strong",{className:"agent-config-selectable",children:e.model??"Not reported"})]}),s.jsxs("div",{children:[s.jsx("span",{className:"agent-config-label",children:"Configured model"}),s.jsx("strong",{className:"agent-config-selectable",children:u?"Loading...":c?c.model??"Harness default":"Not editable"})]}),s.jsxs("div",{className:"agent-config-detail-wide",children:[s.jsx("span",{className:"agent-config-label",children:"Project"}),s.jsx("code",{className:"agent-config-inline-code",title:e.projectRoot??void 0,children:M(e.projectRoot)})]}),s.jsxs("div",{className:"agent-config-detail-wide",children:[s.jsx("span",{className:"agent-config-label",children:"Working dir"}),s.jsx("code",{className:"agent-config-inline-code",title:e.cwd??c?.runtime.cwd??void 0,children:M(e.cwd??c?.runtime.cwd??null)})]}),s.jsxs("div",{className:"agent-config-detail-wide",children:[s.jsx("span",{className:"agent-config-label",children:"Capabilities"}),s.jsx("span",{className:"agent-config-selectable",children:ss(e.capabilities)})]})]}),u&&s.jsx("div",{className:"agent-config-edit agent-config-edit-empty",children:s.jsx("span",{className:"agent-config-save-note",children:"Loading editable launch config..."})}),!u&&c&&s.jsxs("form",{className:"agent-config-edit",onSubmit:_,children:[s.jsxs("div",{className:"agent-config-edit-grid",children:[s.jsxs("label",{className:"agent-config-field",children:[s.jsx("span",{children:"Model"}),s.jsx("input",{name:"model",value:x,placeholder:"Harness default",disabled:!c.editable||j==="saving",onChange:i=>d(i.currentTarget.value)})]}),s.jsxs("label",{className:"agent-config-field",children:[s.jsx("span",{children:"Harness"}),s.jsx("select",{name:"harness",value:N,disabled:!c.editable||j==="saving",onChange:i=>a(i.currentTarget.value),children:P.map(i=>s.jsx("option",{value:i,children:i},i))})]}),s.jsxs("label",{className:"agent-config-field agent-config-field-wide",children:[s.jsx("span",{children:"Working dir"}),s.jsx("input",{name:"cwd",value:w,disabled:!c.editable||j==="saving",onChange:i=>m(i.currentTarget.value)})]})]}),s.jsxs("div",{className:"agent-config-save-row",children:[s.jsxs("label",{className:"agent-config-check",children:[s.jsx("input",{type:"checkbox",checked:b,disabled:!c.editable||j==="saving",onChange:i=>h(i.currentTarget.checked)}),s.jsx("span",{children:"Restart after saving"})]}),s.jsxs("button",{type:"submit",className:"s-btn",disabled:!c.editable||j==="saving",children:[s.jsx(Z,{size:13}),j==="saving"?"Saving...":"Save config"]}),z&&s.jsx("span",{className:"agent-config-save-note",children:z}),y&&s.jsx("span",{className:"agent-config-save-error",children:y})]})]}),!u&&!c&&s.jsx("div",{className:"agent-config-edit agent-config-edit-empty",children:s.jsx("span",{className:"agent-config-save-error",children:y??"No editable local config found"})})]}):s.jsxs("div",{className:"sys-panel agent-config-detail-panel",children:[s.jsx("div",{className:"sys-section-head",children:s.jsxs("div",{children:[s.jsx("h3",{className:"sys-section-title",children:"Agent Details"}),s.jsx("p",{className:"sys-section-subtitle",children:"Select an agent to inspect runtime, model, and tool context."})]})}),s.jsxs("div",{className:"sys-list-empty",children:[s.jsx("h3",{children:"No agent selected"}),s.jsx("p",{children:"Choose an agent from the configuration roster."})]})]})}function ne({navigate:e,selectedAgentId:l}){const{route:p}=I(),[n,o]=t.useState(null),[c,f]=t.useState(!0),[u,v]=t.useState(!1),[y,g]=t.useState(null),x=t.useRef(0),d=t.useCallback(async(a="initial")=>{const b=++x.current;a==="initial"?f(!0):v(!0),g(null);try{const h=await R("/api/agent-config/snapshot");if(b!==x.current)return;o(h)}catch(h){if(b!==x.current)return;g(h instanceof Error?h.message:String(h))}finally{b===x.current&&(f(!1),v(!1))}},[]);t.useEffect(()=>{d()},[d]);const w=t.useMemo(()=>n?n.agents.find(a=>a.id===l)??n.agents[0]??null:null,[l,n]),m=n?.providers??[],N=n?[{label:"Runtimes",value:String(n.runtimes.length),detail:`${n.runtimes.filter(a=>a.state==="ready").length} ready`},{label:"BYOK",value:String(m.length),detail:`${m.filter(a=>a.status==="configured").length} configured`},{label:"Agents",value:String(n.agents.length),detail:`${n.agents.filter(a=>A(a.status)!=="not ready").length} ready`},{label:"Broker",value:n.broker.label,detail:n.broker.nodeId??"No node id"}]:[];return s.jsxs("div",{className:"s-secondary-nav-shell",children:[s.jsx("div",{className:"s-secondary-nav-bar",children:s.jsx(q,{activeRoute:p,navigate:e})}),s.jsx("div",{className:"s-secondary-nav-body s-secondary-nav-body--scroll",children:s.jsxs("div",{className:"sys-surface-page sys-surface-page-wide",children:[s.jsxs("div",{className:"sys-page-head",children:[s.jsxs("div",{className:"sys-page-title-group",children:[s.jsx("h2",{className:"sys-page-title",children:"Agent Configuration"}),s.jsx("p",{className:"sys-page-subtitle",children:"Runtimes, agents, project inventory, delivery bridges, and the missing tool/provider surfaces in one control plane."})]}),s.jsxs("div",{className:"sys-page-actions",children:[n&&s.jsxs("div",{className:"sys-sync-note",children:["Updated ",K(n.generatedAt)||"unknown"]}),s.jsxs("button",{type:"button",className:"s-btn",disabled:c||u,onClick:()=>{d("manual")},children:[s.jsx(W,{size:13}),u?"Refreshing...":"Refresh"]})]})]}),n&&s.jsx("div",{className:"sys-stat-grid",children:N.map(a=>s.jsxs("div",{className:"sys-stat-card",children:[s.jsx("span",{className:"sys-stat-label",children:a.label}),s.jsx("strong",{className:"sys-stat-value",children:a.value}),s.jsx("span",{className:"sys-stat-detail",children:a.detail})]},a.label))}),y&&s.jsxs("div",{className:"sys-banner sys-banner-warning",children:[s.jsx("strong",{children:"Configuration snapshot failed."}),s.jsx("span",{children:y})]}),c&&!n&&s.jsx(H,{title:"Loading configuration",body:"Reading Scout settings, runtime readiness, broker agents, and project inventory."}),n&&s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"agent-config-layout",children:[s.jsxs("div",{className:"sys-panel",children:[s.jsxs("div",{className:"sys-section-head",children:[s.jsxs("div",{children:[s.jsx("h3",{className:"sys-section-title",children:"Runtimes"}),s.jsx("p",{className:"sys-section-subtitle",children:"Harness readiness replaces provider auth for the current local-first posture."})]}),s.jsx(V,{size:15})]}),s.jsx("div",{className:"agent-config-list",children:n.runtimes.map(a=>s.jsx(es,{runtime:a},a.id))})]}),s.jsxs("div",{className:"sys-panel",children:[s.jsxs("div",{className:"sys-section-head",children:[s.jsxs("div",{children:[s.jsx("h3",{className:"sys-section-title",children:"BYOK Providers"}),s.jsx("p",{className:"sys-section-subtitle",children:"OpenAI-compatible vendors OpenScout can discover from local environment configuration."})]}),s.jsx(B,{size:15})]}),s.jsx("div",{className:"agent-config-list",children:m.map(a=>s.jsx(as,{provider:a},a.id))})]})]}),s.jsxs("div",{className:"agent-config-layout agent-config-layout-primary",children:[s.jsxs("div",{className:"sys-panel",children:[s.jsxs("div",{className:"sys-section-head",children:[s.jsxs("div",{children:[s.jsx("h3",{className:"sys-section-title",children:"Agents"}),s.jsx("p",{className:"sys-section-subtitle",children:"Broker-visible endpoints with runtime, model, and source state."})]}),s.jsx(O,{size:15})]}),s.jsx("div",{className:"agent-config-list agent-config-list-scroll",children:n.agents.length===0?s.jsxs("div",{className:"sys-list-empty",children:[s.jsx("h3",{children:"No agents registered"}),s.jsx("p",{children:"Run setup or start a local agent to populate this roster."})]}):n.agents.map(a=>s.jsx(ns,{agent:a,selected:a.id===w?.id,navigate:e},a.id))})]}),s.jsx(is,{agent:w,navigate:e,onConfigSaved:()=>{d("manual")}})]}),s.jsxs("div",{className:"agent-config-layout",children:[s.jsxs("div",{className:"sys-panel",children:[s.jsxs("div",{className:"sys-section-head",children:[s.jsxs("div",{children:[s.jsx("h3",{className:"sys-section-title",children:"Tools & Context"}),s.jsx("p",{className:"sys-section-subtitle",children:"The next model boundary to make first-class."})]}),s.jsx(Y,{size:15})]}),s.jsx("p",{className:"agent-config-copy",children:n.toolContext.note}),s.jsxs("div",{className:"agent-config-chip-row",children:[s.jsxs("span",{className:"sys-chip sys-chip-neutral",children:[n.toolContext.mcpServerCount," MCP servers"]}),s.jsx("span",{className:"sys-chip sys-chip-warning",children:"loadouts pending"})]})]}),s.jsxs("div",{className:"sys-panel",children:[s.jsxs("div",{className:"sys-section-head",children:[s.jsxs("div",{children:[s.jsx("h3",{className:"sys-section-title",children:"Broker & Delivery"}),s.jsx("p",{className:"sys-section-subtitle",children:"Control-plane state and bridges that route attention back to you."})]}),s.jsx(F,{size:15})]}),s.jsxs("div",{className:"agent-config-detail-grid",children:[s.jsxs("div",{children:[s.jsx("span",{className:"agent-config-label",children:"Broker"}),s.jsx("span",{className:`sys-chip ${n.broker.healthy?"sys-chip-success":"sys-chip-danger"}`,children:n.broker.label})]}),s.jsxs("div",{children:[s.jsx("span",{className:"agent-config-label",children:"Messages"}),s.jsx("strong",{children:n.broker.messageCount})]}),n.integrations.map(a=>s.jsxs("div",{className:"agent-config-detail-wide",children:[s.jsx("span",{className:"agent-config-label",children:a.name}),s.jsx("span",{children:a.detail})]},a.id))]})]})]}),s.jsxs("div",{className:"sys-panel",children:[s.jsx("div",{className:"sys-section-head",children:s.jsxs("div",{children:[s.jsx("h3",{className:"sys-section-title",children:"Known Missing Pieces"}),s.jsx("p",{className:"sys-section-subtitle",children:"The configuration model is now visible; these are the next root-cause surfaces to build."})]})}),s.jsx("div",{className:"agent-config-gap-list",children:n.gaps.map(a=>s.jsx("span",{children:a},a))})]})]})]})})]})}export{ne as AgentConfigurationScreen};
@@ -0,0 +1 @@
1
+ import{r,j as e}from"./index-sUomXsrf.js";import{A as E}from"./AgentAvatar-CufDA4A-.js";import{a as F}from"./api-h5zurxmi.js";import{c as T}from"./colors-BtO5_zlx.js";import{t as D}from"./time-Dhsh_2EG.js";import{u as L}from"./Provider-tFc3jqZ4.js";import{f as M}from"./text-DsBWV_4k.js";import{p as O}from"./project-overview-helpers-BQTc_Ous.js";import{FileViewerPane as z}from"./FileViewerPane-C9Ly01Ef.js";/* empty css */import{C as I}from"./chevron-right-CyUa1zXx.js";import{C as $}from"./chevron-down-BFai6ZfE.js";import{F as B,a as G}from"./DocumentFocusViewer-DU_9BHsD.js";import{F as H}from"./file-text-i3xTDUjJ.js";import"./SpriteAvatar-CQs-jC-v.js";import"./agent-identity-xQHedtLl.js";import"./router-Dja9_ygK.js";import"./terminal-sessions-D5CIR2OL.js";import"./sse-CVoGDiKW.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-BlBQhpax.js";import"./TextDocumentSurface-C-9EtYqt.js";import"./createLucideIcon-DlxlBfLC.js";import"./code-xml-05TD3uOC.js";import"./arrow-left-WjQIN9J6.js";import"./scout-voice-BZ4KqADJ.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BhZZ5HEq.js";import"./MessageComposerSuggestions-zAUUcLOv.js";import"./NewChatComposer-B5FnPyzS.js";import"./runtime-picker-DOZpZOlt.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-lWOOKezu.js";import"./index-m6dFtY5f.js";import"./HarnessMark-Dm_qm1Ku.js";import"./conversation-model-C4yb6_FA.js";import"./NewChatOrigin--pHWUb4V.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./x-0XjXwGqq.js";import"./search-DCT_EvPr.js";import"./chunk-HRAB3GC3-CvwpNg-G.js";/* empty css */const U={general:"Generalist",builder:"Builder",reviewer:"Reviewer",researcher:"Researcher",operator:"Operator",bridge:"Bridge",system:"System",organic:"Organic",managed:"Managed"};function J(s){if(!s?.trim())return"Generalist";const n=s.trim().toLowerCase();return U[n]??s.replace(/_/g," ")}function V(s){return s?.trim()?M(s)?.trim()??null:null}function W(s,n){const f=s.agentClass?.trim()||"general",g=J(f),i=V(s.role),v=[...new Set(s.skills??[])].filter(Boolean),h=[...new Set([...s.capabilities??[],...n?.capabilities??[]])].filter(Boolean),m=f==="general"&&!i&&v.length===0;return{kind:g,kindRaw:f,role:i,isGeneralist:m,headline:i??g,skills:v,capabilities:h}}function _({payload:s,selectedSlug:n,selectedFile:f,filter:g,collapsed:i,onToggleFolder:v,onSelectFile:h}){const m=g.trim().toLowerCase(),j=s.folders.filter(o=>!m||o.slug.includes(m)?!0:o.files.some(c=>c.name.toLowerCase().includes(m)||c.relativePath.toLowerCase().includes(m)));return j.length===0?e.jsx("div",{className:"adef-treeEmpty",children:s.agentsRootExists?"No agent folders in .agents yet.":"No .agents directory on disk."}):e.jsx(e.Fragment,{children:j.map(o=>{const c=i.has(o.slug),C=o.slug===n;return e.jsxs("div",{className:"adef-folder","data-selected-agent":C||void 0,children:[e.jsxs("button",{type:"button",className:"adef-folderRow",onClick:()=>v(o.slug),children:[e.jsx("span",{className:"adef-folderChevron","aria-hidden":!0,children:c?e.jsx(I,{size:12}):e.jsx($,{size:12})}),e.jsx("span",{className:"adef-folderIcon","aria-hidden":!0,children:c?e.jsx(B,{size:13}):e.jsx(G,{size:13})}),e.jsx("span",{className:"adef-folderName",children:o.slug})]}),c?null:o.files.map(d=>{const x=f?.absolutePath===d.absolutePath;return e.jsxs("button",{type:"button",className:"adef-fileRow","data-selected":x||void 0,onClick:()=>h({slug:o.slug,name:d.name,relativePath:`.agents/${d.relativePath}`,absolutePath:d.absolutePath,excerpt:d.excerpt}),children:[e.jsx("span",{className:"adef-fileIcon","aria-hidden":!0,children:e.jsx(H,{size:12})}),e.jsx("span",{className:"adef-fileName",children:d.name})]},d.absolutePath)})]},o.slug)})})}function K({agent:s,config:n,onConfigSaved:f,sessionCatalog:g,navigate:i,homeView:v}){const h=W(s,n),m=s.handle?.replace(/^@+/,"")||s.name,j=g?.sessions.length??0,[o,c]=r.useState(""),[C,d]=r.useState(""),[x,S]=r.useState(""),[k,w]=r.useState(!1),[u,N]=r.useState("idle"),[y,P]=r.useState(null),[b,R]=r.useState(null);r.useEffect(()=>{if(!n){c(""),d(""),S(s.harness??"");return}c(n.model??""),d(n.runtime.cwd),S(n.runtime.harness),w(!1),P(null),R(null)},[s.harness,s.id,n]);const A=r.useMemo(()=>{const t=["claude","codex","pi",n?.runtime.harness,s.harness,x].filter(p=>!!p?.trim());return Array.from(new Set(t))},[s.harness,n?.runtime.harness,x]),a=async t=>{if(t.preventDefault(),!(!n||u==="saving")){N("saving"),P(null),R(null);try{const p=await F(`/api/agents/${encodeURIComponent(s.id)}/config`,{method:"POST",body:JSON.stringify({model:o.trim()||null,runtime:{cwd:C.trim()||n.runtime.cwd,harness:x.trim()||n.runtime.harness},restart:k})});f(p.config),w(!1),P(p.restarted?"Saved and restarted":"Saved")}catch(p){R(p instanceof Error?p.message:"Could not save config")}finally{N("idle")}}},l=()=>i({view:v,agentId:s.id,tab:"profile"});return e.jsxs("aside",{className:"adef-inspector",children:[e.jsxs("header",{className:"adef-inspectorHead",children:[e.jsx(E,{agent:s,size:36,tile:!0,presence:!1}),e.jsxs("div",{className:"adef-inspectorIdent",children:[e.jsxs("span",{className:"adef-inspectorHandle",children:["@",m]}),e.jsx("span",{className:"adef-inspectorSpec",children:h.headline})]})]}),e.jsxs("dl",{className:"adef-inspectorFacts",children:[e.jsxs("div",{children:[e.jsx("dt",{children:"State"}),e.jsx("dd",{children:T(s.state,s)})]}),e.jsxs("div",{children:[e.jsx("dt",{children:"Sessions"}),e.jsx("dd",{children:j})]})]}),n?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"adef-inspectorSec",children:"Runtime"}),e.jsxs("form",{className:"adef-configEdit",onSubmit:a,children:[e.jsxs("label",{className:"adef-configField",children:[e.jsx("span",{children:"Model"}),e.jsx("input",{value:o,placeholder:"Harness default",disabled:!n.editable||u==="saving",onChange:t=>c(t.currentTarget.value)})]}),e.jsxs("label",{className:"adef-configField",children:[e.jsx("span",{children:"Harness"}),e.jsx("select",{value:x,disabled:!n.editable||u==="saving",onChange:t=>S(t.currentTarget.value),children:A.map(t=>e.jsx("option",{value:t,children:t},t))})]}),e.jsxs("label",{className:"adef-configField adef-configField--wide",children:[e.jsx("span",{children:"Working dir"}),e.jsx("input",{value:C,disabled:!n.editable||u==="saving",onChange:t=>d(t.currentTarget.value)})]}),e.jsxs("div",{className:"adef-configSaveRow",children:[e.jsxs("label",{className:"adef-configCheck",children:[e.jsx("input",{type:"checkbox",checked:k,disabled:!n.editable||u==="saving",onChange:t=>w(t.currentTarget.checked)}),e.jsx("span",{children:"Restart"})]}),e.jsx("button",{type:"submit",className:"adef-inspectorAct","data-primary":!0,disabled:!n.editable||u==="saving",children:u==="saving"?"Saving…":"Save"})]}),y?e.jsx("p",{className:"adef-inspectorMeta",children:y}):null,b?e.jsx("p",{className:"adef-configError",children:b}):null]}),e.jsx("div",{className:"adef-inspectorSec",children:"Permissions"}),e.jsx("p",{className:"adef-inspectorMono",children:O(n.permissionProfile)}),e.jsx("div",{className:"adef-inspectorSec",children:"Tools"}),e.jsx("div",{className:"adef-inspectorChips",children:(h.capabilities.length>0?h.capabilities:["—"]).map(t=>e.jsx("span",{className:"adef-inspectorChip",children:t},t))})]}):e.jsx("p",{className:"adef-inspectorMeta",children:"No editable local config on disk."}),s.updatedAt?e.jsxs("p",{className:"adef-inspectorMeta",children:["Updated ",D(s.updatedAt)]}):null,e.jsx("div",{className:"adef-inspectorActs",children:e.jsx("button",{type:"button",className:"adef-inspectorAct","data-primary":!0,onClick:l,children:"Sessions"})})]})}function Be({agent:s,navigate:n,homeView:f="agents-v2"}){const{openFilePreview:g}=L(),[i,v]=r.useState(null),[h,m]=r.useState(null),[j,o]=r.useState(null),[c,C]=r.useState(null),[d,x]=r.useState("loading"),[S,k]=r.useState(""),[w,u]=r.useState(()=>new Set),[N,y]=r.useState(null),P=r.useCallback(async a=>{await F("/api/file/reveal",{method:"POST",body:JSON.stringify({path:a})}).catch(()=>{})},[]);r.useEffect(()=>{let a=!1;return x("loading"),(async()=>{const[l,t,p]=await Promise.allSettled([F(`/api/agents/${encodeURIComponent(s.id)}/definitions`),F(`/api/agents/${encodeURIComponent(s.id)}/config`).catch(()=>null),F(`/api/agents/${encodeURIComponent(s.id)}/session-catalog`).catch(()=>null)]);a||(l.status==="fulfilled"&&v(l.value),t.status==="fulfilled"&&m(t.value),p.status==="fulfilled"&&o(p.value),x("ready"))})(),()=>{a=!0}},[s.id]);const b=r.useMemo(()=>{if(!i)return null;const a=i.folders.find(t=>t.slug===i.selectedSlug)??i.folders[0]??null,l=a?.files.find(t=>t.name==="AGENT.md")??a?.files[0]??null;return!a||!l?null:{slug:a.slug,name:l.name,relativePath:`.agents/${l.relativePath}`,absolutePath:l.absolutePath,excerpt:l.excerpt}},[i]);r.useEffect(()=>{b&&(y(a=>a&&i?.folders.some(l=>l.files.some(t=>t.absolutePath===a.absolutePath))?a:b),i?.selectedSlug&&u(a=>{const l=new Set(a);return l.delete(i.selectedSlug),l}))},[b,i]);const R=i?.folders.reduce((a,l)=>a+l.files.length,0)??0,A=r.useCallback(a=>{u(l=>{const t=new Set(l);return t.has(a)?t.delete(a):t.add(a),t})},[]);return e.jsxs("div",{className:"adef-workspace",children:[e.jsxs("header",{className:"adef-head",children:[e.jsxs("div",{className:"adef-headCopy",children:[e.jsx("span",{className:"adef-headKind",children:"Config"}),e.jsxs("span",{className:"adef-headPath",title:i?.agentsRoot,children:[i?.agentsRootExists?".agents · explore & edit":"explore & edit",i?` · ${i.folders.length} agents · ${R} files`:""]})]}),e.jsx("input",{type:"search",className:"adef-filter",placeholder:"Filter agents & files…",value:S,onChange:a=>k(a.target.value)})]}),d==="loading"?e.jsx("div",{className:"adef-loading",children:"Loading agent config…"}):e.jsxs("div",{className:"adef-frame",children:[e.jsx("aside",{className:"adef-tree","aria-label":"Agent definition files",children:i?e.jsx(_,{payload:i,selectedSlug:i.selectedSlug,selectedFile:N,filter:S,collapsed:w,onToggleFolder:A,onSelectFile:y}):null}),e.jsx("section",{className:"adef-viewer","aria-label":"Definition file",children:N?e.jsx(z,{artifact:N,onOpen:g,onReveal:a=>{P(a)},onBrowse:i?a=>n({view:"code",root:i.projectRoot,file:a}):void 0}):e.jsx("div",{className:"av2-repoViewerState",children:i?.agentsRootExists?"Select a definition file — or create .agents/<handle>/AGENT.md":"Create .agents/<handle>/AGENT.md in the project root to define this expert on disk."})}),e.jsx(K,{agent:s,config:h,onConfigSaved:m,sessionCatalog:c,navigate:n,homeView:f})]})]})}export{Be as AgentDefinitionsWorkspace};
@@ -1 +1 @@
1
- import{r as v,j as a}from"./index-DMiGbrBt.js";import{n as A,b as C,c as y,s as $}from"./colors-BtO5_zlx.js";import{t as k}from"./time-DltNTpLl.js";import{A as w}from"./AgentLiveActions-DBtnD0qE.js";function F(c){return c?c.replace(/^\/Users\/[^/]+/,"~"):null}const E=v.forwardRef(function({agent:e,pinned:l,onOpen:N,onClose:b,onAction:u,style:g,className:o},f){const r=A(e.state),m=C(e.state),n=e.cwd??e.projectRoot,d=l?n:F(n),t=e.handle?`@${e.handle.replace(/^@+/,"")}`:null,h=e.selector??e.defaultSelector,p=t??e.name,j=e.authorityNodeName??e.homeNodeName??e.authorityNodeId??e.homeNodeId,i=y(r);return a.jsxs("div",{ref:f,className:`agent-card${l?" agent-card--pinned":""}${o?` ${o}`:""}`,style:g,role:"dialog","aria-label":`${p} details`,children:[a.jsxs("header",{className:"agent-card-head",children:[a.jsx("div",{className:"agent-card-name",children:p}),a.jsxs("div",{className:"agent-card-meta",children:[a.jsx("span",{className:`agent-card-dot agent-card-dot--${m}`,style:r==="in_turn"||r==="in_flight"?{background:$(e.state)}:void 0}),i&&a.jsx("span",{className:`agent-card-state agent-card-state--${m}`,children:i}),e.updatedAt&&a.jsxs(a.Fragment,{children:[i&&a.jsx("span",{className:"agent-card-sep",children:"·"}),a.jsx("span",{className:"agent-card-time",children:k(e.updatedAt)})]})]})]}),a.jsxs("div",{className:"agent-card-body",children:[t&&a.jsx(s,{label:"handle",children:a.jsx("code",{className:"agent-card-mono",children:t})}),h&&a.jsx(s,{label:"selector",children:a.jsx("code",{className:"agent-card-mono",children:h})}),d&&a.jsx(s,{label:"cwd",children:a.jsx("code",{className:"agent-card-mono",title:n??d,children:d})}),j&&a.jsx(s,{label:"machine",children:a.jsx("span",{className:"agent-card-mono",children:j})}),(e.project||e.branch)&&a.jsx(s,{label:"project",children:a.jsxs("span",{className:"agent-card-mono",children:[e.project??"—",e.branch&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"agent-card-sep agent-card-sep--inline",children:"·"}),a.jsx("span",{className:"agent-card-branch",children:e.branch})]})]})}),(e.harness||e.model)&&a.jsx(s,{label:"runtime",children:a.jsxs("span",{className:"agent-card-mono",children:[e.harness??"—",e.model&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"agent-card-sep agent-card-sep--inline",children:"·"}),a.jsx("span",{className:"agent-card-model",children:e.model})]})]})}),e.transport&&a.jsx(s,{label:"launch transport",children:a.jsx("span",{className:"agent-card-mono",children:e.transport})}),e.role&&a.jsx(s,{label:"role",children:a.jsx("span",{className:"agent-card-mono",children:e.role})}),e.capabilities&&e.capabilities.length>0&&a.jsx(s,{label:"capabilities",children:a.jsxs("div",{className:"agent-card-caps",children:[e.capabilities.slice(0,8).map(x=>a.jsx("span",{className:"agent-card-cap",children:x},x)),e.capabilities.length>8&&a.jsxs("span",{className:"agent-card-cap agent-card-cap--more",children:["+",e.capabilities.length-8]})]})})]}),a.jsx(w,{agent:e,variant:"compact",onNavigate:u}),a.jsxs("footer",{className:"agent-card-foot",children:[a.jsxs("button",{type:"button",className:"agent-card-link",onClick:N,children:["Open agent ",a.jsx("span",{"aria-hidden":!0,children:"→"})]}),l&&a.jsx("button",{type:"button",className:"agent-card-close",onClick:b,"aria-label":"Close",children:"esc"})]})]})});function s({label:c,children:e}){return a.jsxs("div",{className:"agent-card-field",children:[a.jsx("span",{className:"agent-card-label",children:c}),a.jsx("div",{className:"agent-card-value",children:e})]})}export{E as A};
1
+ import{r as v,j as a}from"./index-sUomXsrf.js";import{n as A,b as C,c as y,s as $}from"./colors-BtO5_zlx.js";import{t as k}from"./time-Dhsh_2EG.js";import{A as w}from"./AgentLiveActions-CZdAInEu.js";function F(c){return c?c.replace(/^\/Users\/[^/]+/,"~"):null}const E=v.forwardRef(function({agent:e,pinned:l,onOpen:N,onClose:b,onAction:u,style:g,className:o},f){const r=A(e.state),m=C(e.state),n=e.cwd??e.projectRoot,d=l?n:F(n),t=e.handle?`@${e.handle.replace(/^@+/,"")}`:null,h=e.selector??e.defaultSelector,p=t??e.name,j=e.authorityNodeName??e.homeNodeName??e.authorityNodeId??e.homeNodeId,i=y(r);return a.jsxs("div",{ref:f,className:`agent-card${l?" agent-card--pinned":""}${o?` ${o}`:""}`,style:g,role:"dialog","aria-label":`${p} details`,children:[a.jsxs("header",{className:"agent-card-head",children:[a.jsx("div",{className:"agent-card-name",children:p}),a.jsxs("div",{className:"agent-card-meta",children:[a.jsx("span",{className:`agent-card-dot agent-card-dot--${m}`,style:r==="in_turn"||r==="in_flight"?{background:$(e.state)}:void 0}),i&&a.jsx("span",{className:`agent-card-state agent-card-state--${m}`,children:i}),e.updatedAt&&a.jsxs(a.Fragment,{children:[i&&a.jsx("span",{className:"agent-card-sep",children:"·"}),a.jsx("span",{className:"agent-card-time",children:k(e.updatedAt)})]})]})]}),a.jsxs("div",{className:"agent-card-body",children:[t&&a.jsx(s,{label:"handle",children:a.jsx("code",{className:"agent-card-mono",children:t})}),h&&a.jsx(s,{label:"selector",children:a.jsx("code",{className:"agent-card-mono",children:h})}),d&&a.jsx(s,{label:"cwd",children:a.jsx("code",{className:"agent-card-mono",title:n??d,children:d})}),j&&a.jsx(s,{label:"machine",children:a.jsx("span",{className:"agent-card-mono",children:j})}),(e.project||e.branch)&&a.jsx(s,{label:"project",children:a.jsxs("span",{className:"agent-card-mono",children:[e.project??"—",e.branch&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"agent-card-sep agent-card-sep--inline",children:"·"}),a.jsx("span",{className:"agent-card-branch",children:e.branch})]})]})}),(e.harness||e.model)&&a.jsx(s,{label:"runtime",children:a.jsxs("span",{className:"agent-card-mono",children:[e.harness??"—",e.model&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"agent-card-sep agent-card-sep--inline",children:"·"}),a.jsx("span",{className:"agent-card-model",children:e.model})]})]})}),e.transport&&a.jsx(s,{label:"launch transport",children:a.jsx("span",{className:"agent-card-mono",children:e.transport})}),e.role&&a.jsx(s,{label:"role",children:a.jsx("span",{className:"agent-card-mono",children:e.role})}),e.capabilities&&e.capabilities.length>0&&a.jsx(s,{label:"capabilities",children:a.jsxs("div",{className:"agent-card-caps",children:[e.capabilities.slice(0,8).map(x=>a.jsx("span",{className:"agent-card-cap",children:x},x)),e.capabilities.length>8&&a.jsxs("span",{className:"agent-card-cap agent-card-cap--more",children:["+",e.capabilities.length-8]})]})})]}),a.jsx(w,{agent:e,variant:"compact",onNavigate:u}),a.jsxs("footer",{className:"agent-card-foot",children:[a.jsxs("button",{type:"button",className:"agent-card-link",onClick:N,children:["Open agent ",a.jsx("span",{"aria-hidden":!0,children:"→"})]}),l&&a.jsx("button",{type:"button",className:"agent-card-close",onClick:b,"aria-label":"Close",children:"esc"})]})]})});function s({label:c,children:e}){return a.jsxs("div",{className:"agent-card-field",children:[a.jsx("span",{className:"agent-card-label",children:c}),a.jsx("div",{className:"agent-card-value",children:e})]})}export{E as A};
@@ -0,0 +1 @@
1
+ import{r as i,j as e}from"./index-sUomXsrf.js";/* empty css */import{H as Me}from"./HarnessMark-Dm_qm1Ku.js";import{a as ue,S as fe}from"./SpriteAvatar-CQs-jC-v.js";import{n as Ze}from"./colors-BtO5_zlx.js";import{o as He,l as Ke}from"./lane-observe-DrhKkQ3A.js";import{t as We}from"./time-Dhsh_2EG.js";import{S as Be}from"./SessionObserve-Dlx5vDaV.js";import{l as X,i as Ge}from"./agent-lanes-model-Bl6xfviL.js";import{p as Ve,s as je,a as Ne}from"./lane-roster-store-NE15Oe6M.js";import"./agent-identity-xQHedtLl.js";import"./tail-display-BdyoLvzY.js";import"./lane-edit-display-C_Aujldz.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-BzehBmdi.js";import"./index-m6dFtY5f.js";import"./lane-ask-display-B6iCAVcd.js";import"./api-h5zurxmi.js";import"./mentions-CY_wPZc5.js";import"./Provider-tFc3jqZ4.js";import"./router-Dja9_ygK.js";import"./terminal-sessions-D5CIR2OL.js";import"./sse-CVoGDiKW.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-BlBQhpax.js";import"./DocumentFocusViewer-DU_9BHsD.js";import"./createLucideIcon-DlxlBfLC.js";import"./TextDocumentSurface-C-9EtYqt.js";/* empty css */import"./file-text-i3xTDUjJ.js";import"./x-0XjXwGqq.js";import"./chevron-right-CyUa1zXx.js";import"./code-xml-05TD3uOC.js";import"./arrow-left-WjQIN9J6.js";import"./scout-voice-BZ4KqADJ.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BhZZ5HEq.js";import"./MessageComposerSuggestions-zAUUcLOv.js";import"./NewChatComposer-B5FnPyzS.js";import"./runtime-picker-DOZpZOlt.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-lWOOKezu.js";import"./conversation-model-C4yb6_FA.js";import"./NewChatOrigin--pHWUb4V.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-BFai6ZfE.js";import"./search-DCT_EvPr.js";import"./chunk-HRAB3GC3-CvwpNg-G.js";import"./AgentDetailCard-DxxVkgT1.js";import"./AgentLiveActions-CZdAInEu.js";import"./terminal-takeover-X97KCSJk.js";import"./openContent-C6XO6kr5.js";import"./eye-So8tNNK6.js";import"./terminal-DXQISjZn.js";import"./message-markup-C8Nx04sP.js";import"./ObservedTopologyPanel-Dv6fbHzW.js";import"./ObserveTextFlow-CBitljxi.js";import"./use-reduced-motion-Cvk-HRKg.js";import"./SessionObserveEvidence-ChBD1d4c.js";import"./message-circle-C5UZ6fO7.js";import"./wrench-pEVd8JnN.js";import"./external-link-CnjcXf32.js";import"./context-budget-DX_fwUs3.js";const z=5*6e4,qe=6,Z=qe+1,be=8,Ue=30*6e4,ye=.65,Ae=1.45,ke=.1,ve=360,Se=260;function pe(t){return Math.round(Math.min(Ae,Math.max(ye,t))*100)/100}function se(t,o){return Math.round(Math.min(o,Math.max(-o,t)))}const I=164,ne=56,$e=14,Le=12,C=66,me=7,P=96,ce=12,D=88,M=150,Je=48,Qe=24,et=480,tt=38,Oe="openscout:agent-floor-orient",Ee="openscout:agent-floor-lane-order";function st(){try{const t=localStorage.getItem(Oe);if(t==="past-left"||t==="past-right")return t}catch{}return"past-left"}function nt(){try{const t=JSON.parse(sessionStorage.getItem(Ee)??"[]");return Array.isArray(t)?t.filter(o=>typeof o=="string"):[]}catch{return[]}}function ae(t){return new Date(t).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",hour12:!1})}const at=/^(edit|multi_?edit|write|apply_?patch|patch_apply|str_?replace|notebook_?edit|create_file)/i;function ot(t){return t.kind==="tool"?t.diff||t.tool&&at.test(t.tool.trim())?"edit":"tool":t.kind==="message"||t.kind==="ask"?"msg":null}function lt(t,o){const a=t.observe?.metadata?.session?.sessionStart,l={tool:0,edit:0,msg:0},c=Array.from({length:Z},()=>({blocks:[],counts:{tool:0,edit:0,msg:0},tools:new Map,total:0})),u=[];let b=0,g=null;for(const m of t.observe?.events??[]){const r=ot(m);if(!r)continue;const d=He(m,a),w=d===null||d>=o?0:Math.floor((o-d)/z)+1;if(w>=Z)continue;const _=c[w];_.blocks.push(r),_.counts[r]+=1,_.total+=1,l[r]+=1,b+=1;const x=r==="msg"?null:m.tool?.trim()||"tool";x&&_.tools.set(x,(_.tools.get(x)??0)+1),u.push({kind:r,label:r==="msg"?Ke(m.text,44,1):m.text.trim()||x||"tool",at:d}),g={at:d,label:r==="msg"?"message":m.tool?.trim()||"tool"}}return{lane:t,live:Ge(t.observe)&&b>0,slots:c.map(m=>({blocks:m.blocks.slice(-8),counts:m.counts,tools:[...m.tools.entries()].sort((r,d)=>d[1]-r[1]),total:m.total})),counts:l,strip:u.slice(-10).map(m=>m.kind),lastLabel:g?.label??null,lastAt:g?.at??(t.lastActiveAt||null)}}function oe(t){const o=(a,l,c)=>`${a} ${a===1?l:c}`;return[o(t.tool,"tool","tools"),o(t.edit,"edit","edits"),o(t.msg,"msg","msgs")].join(" · ")}function rt(t){return/^(working|active|running|in_turn|in_flight)/i.test(t.lane.agent.state??"")?"quiet":"idle"}function F(t){return t.tool+t.edit+t.msg}function we(t){if(F(t)===0)return"quiet";const a=[["tool-led",t.tool],["edit-heavy",t.edit],["conversation-led",t.msg]].sort((l,c)=>c[1]-l[1]);return a[0][1]===a[1][1]?"balanced":a[0][0]}function it(t){const o=new Map;for(const l of t.slots)for(const[c,u]of l.tools)o.set(c,(o.get(c)??0)+u);const[a]=[...o.entries()].sort((l,c)=>c[1]-l[1]);return a?{value:a[0],detail:`${a[1]} call${a[1]===1?"":"s"} · 30m`}:{value:"no tool pattern",detail:"messages and edits only"}}function ct(t){const o=t.slots[0]?.total??0,a=t.slots[1]?.total??0;return o===0&&a===0?{value:"quiet",detail:"no work in the last 10m"}:o===0?{value:"paused",detail:`${a} in the prior 5m`}:a===0?{value:"new burst",detail:`${o} in the current 5m`}:o>=a+3?{value:"building",detail:`${o} now · ${a} prior`}:a>=o+3?{value:"easing",detail:`${o} now · ${a} prior`}:{value:"steady",detail:`${o} now · ${a} prior`}}function L({label:t,value:o,detail:a,mix:l}){const c=l?Math.max(1,F(l)):1;return e.jsxs("span",{className:"agent-floor__dock-insight",children:[e.jsx("span",{className:"agent-floor__dock-insight-label",children:t}),e.jsx("span",{className:"agent-floor__dock-insight-value",children:o}),e.jsx("span",{className:"agent-floor__dock-insight-detail",children:a}),l?e.jsx("span",{className:"agent-floor__dock-mix",style:{"--mix-tool":`${l.tool/c*100}%`,"--mix-edit":`${(l.tool+l.edit)/c*100}%`},"aria-hidden":"true"}):null]})}function Ce(t,o){const a=t.lastAt?We(t.lastAt,o):null;return t.live?{glyph:"▸",label:t.lastLabel??"working",meta:a??"now"}:{glyph:"⏸",label:rt(t),meta:a?`· ${a}`:""}}function Fe({series:t,now:o}){const a=Ce(t,o);return t.live?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"agent-floor__card-run",children:a.glyph}),e.jsx("span",{className:"agent-floor__card-tool",children:a.label}),e.jsx("span",{className:"agent-floor__card-ago",children:a.meta})]}):e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"agent-floor__card-pause",children:a.glyph}),e.jsxs("span",{className:"agent-floor__card-idle",children:[a.label,a.meta?` ${a.meta}`:""]})]})}function de({kind:t,z:o,size:a=ne,faceH:l=Le,pad:c,live:u}){return e.jsxs("span",{className:`agent-floor__block is-${t}${c?" is-pedestal":""}${u?" is-live":""}`,style:{"--z":`${o}px`,"--bs":`${a}px`,"--bh":`${l}px`},"aria-hidden":"true",children:[e.jsx("span",{className:"agent-floor__face is-left"}),e.jsx("span",{className:"agent-floor__face is-right"}),e.jsx("span",{className:"agent-floor__face is-top"})]})}function dt({slot:t}){const o=Math.max(1,t.total),a=t.counts.tool/o*100,l=t.counts.edit/o*100;return e.jsxs("span",{className:"agent-floor__block agent-floor__slab",style:{"--z":"0px","--bs":`${C}px`,"--bh":`${me}px`,"--mix-a":`${a.toFixed(1)}%`,"--mix-b":`${(a+l).toFixed(1)}%`},"aria-hidden":"true",children:[e.jsx("span",{className:"agent-floor__face is-left"}),e.jsx("span",{className:"agent-floor__face is-right"}),e.jsx("span",{className:"agent-floor__face is-top"})]})}function pt({slot:t,slotIndex:o,periodStart:a}){const l=o===0?`${ae(a)} — now`:`${ae(a-o*z)} – ${ae(a-(o-1)*z)}`;return e.jsxs("span",{className:"agent-floor__peek",children:[e.jsx("span",{className:"agent-floor__peek-range",children:l}),e.jsxs("span",{className:"agent-floor__peek-cols",children:[e.jsxs("span",{className:"agent-floor__peek-col",children:[t.tools.slice(0,3).map(([c,u])=>e.jsxs("span",{className:"agent-floor__peek-tool",children:[c,u>1?` ×${u}`:""]},c)),t.tools.length===0?e.jsx("span",{className:"agent-floor__peek-tool is-empty",children:"no tools"}):null]}),e.jsxs("span",{className:"agent-floor__peek-col is-right",children:[e.jsxs("span",{children:[t.counts.edit," edit",t.counts.edit===1?"":"s"]}),e.jsxs("span",{children:[t.counts.msg," msg",t.counts.msg===1?"":"s"]})]})]})]})}function mt({series:t,index:o,planeW:a,flip:l,periodStart:c,now:u,focused:b,pinned:g,dimmed:m,peekSlot:r,onFocus:d,onPeek:w,onSelect:_}){const{lane:x,live:j,slots:S}=t,O=x.agent,$=X(O,x.source),R=ue(O),H=l?(M-P)/2:a-M+(M-P)/2,Y=(I-P)/2,K=(I-C)/2,le=k=>{const N=(D-C)/2;return l?M+k*D+N:a-M-(k+1)*D+N},W=ce+tt+o%2*14;return e.jsxs("button",{type:"button",className:`agent-floor__lane${j?" is-live":""}${o%2===1?" is-alt":""}${b?" is-focus":""}${g?" is-pinned":""}${m?" is-dim":""}`,style:{left:0,top:o*I,width:a,height:I},onClick:()=>_(x),onMouseEnter:()=>d(x.id),onMouseLeave:()=>{d(null),w(x.id,null)},"aria-label":g?`${$} — open timeline`:`${$} — pin details`,children:[e.jsx("span",{className:"agent-floor__lane-strip","aria-hidden":"true"}),S.map((k,N)=>{if(k.total===0)return null;const B=b&&r===N,T=me+2+k.blocks.length*$e;return e.jsxs("span",{className:`agent-floor__stack${N===0?" is-now":" is-minted"}${B?" is-peeking":""}`,style:{left:le(N),top:K},onMouseEnter:()=>w(x.id,N),children:[e.jsx(dt,{slot:k}),e.jsx("span",{className:"agent-floor__stack-blocks",style:{left:(C-ne)/2,top:(C-ne)/2},children:k.blocks.map((re,y)=>e.jsx(de,{kind:re,z:me+2+y*$e},y))}),B?e.jsx("span",{className:"agent-floor__bb agent-floor__peek-anchor",style:{left:C/2,top:C/2,"--z":`${T+46}px`},children:e.jsx(pt,{slot:k,slotIndex:N,periodStart:c})}):null]},N)}),e.jsxs("span",{className:"agent-floor__pad",style:{left:H,top:Y},"aria-hidden":"true",children:[e.jsx("span",{className:"agent-floor__ground"}),e.jsx(de,{kind:"pad",z:0,size:P,faceH:ce,pad:!0}),j?e.jsx(de,{kind:"head",z:ce+2,size:ne,faceH:Le,live:!0}):null]}),e.jsx("span",{className:"agent-floor__bb agent-floor__flag-anchor",style:{left:H+P/2,top:Y+P/2,"--z":`${W}px`},children:e.jsxs("span",{className:`agent-floor__flag${b?" is-focus":""}${g?" is-pinned":""}`,children:[e.jsx(fe,{name:O.name,size:15,tile:!0,hue:R.hue,tone:R.tone}),e.jsx("span",{className:"agent-floor__flag-name",children:$}),e.jsx("span",{className:"agent-floor__flag-action",children:e.jsx(Fe,{series:t,now:u})}),e.jsx("span",{className:`agent-floor__card-dot${j?" is-live":""}`})]})})]})}function ut({focus:t,pinned:o,ledger:a,liveCount:l,now:c}){if(!t){const d=a.reduce((j,S)=>(j.tool+=S.counts.tool,j.edit+=S.counts.edit,j.msg+=S.counts.msg,j),{tool:0,edit:0,msg:0}),w=a.filter(j=>F(j.counts)>0).length,_=[...a].sort((j,S)=>F(S.counts)-F(j.counts))[0]??null,x=_?F(_.counts):0;return e.jsxs("div",{className:"agent-floor__dock is-resting",children:[e.jsx("span",{className:"agent-floor__dock-id agent-floor__dock-fleet",children:e.jsxs("span",{className:"agent-floor__dock-id-copy",children:[e.jsx("span",{className:"agent-floor__dock-title",children:"fleet at a glance"}),e.jsxs("span",{children:[a.length," lane",a.length===1?"":"s"," · ",l," live"]})]})}),e.jsxs("span",{className:"agent-floor__dock-insights",children:[e.jsx(L,{label:"coverage",value:`${w}/${a.length} lanes`,detail:"showed work · 30m"}),e.jsx(L,{label:"hottest lane",value:_?X(_.lane.agent,_.lane.source):"none yet",detail:_?`${x} classified events`:"waiting for activity"}),e.jsx(L,{label:"throughput",value:`${F(d)} events`,detail:"classified · 30m"}),e.jsx(L,{label:"activity mix",value:we(d),detail:oe(d),mix:d})]})]})}const u=t.lane.agent,b=ue(u),g=ct(t),m=it(t),r=t.slots.filter(d=>d.total>0).length;return e.jsxs("div",{className:`agent-floor__dock${o?" is-pinned":""}`,children:[e.jsxs("span",{className:"agent-floor__dock-id",children:[e.jsx(fe,{name:u.name,size:30,tile:!0,hue:b.hue,tone:b.tone}),e.jsxs("span",{className:"agent-floor__dock-id-copy",children:[e.jsxs("span",{className:"agent-floor__dock-name",children:[X(u,t.lane.source),e.jsx(Me,{harness:u.harness,size:12,className:"agent-floor__card-mark"}),e.jsx("span",{className:`agent-floor__card-dot${t.live?" is-live":""}`}),o?e.jsx("span",{className:"agent-floor__dock-lock",children:"locked"}):null]}),e.jsx("span",{className:"agent-floor__dock-action",children:e.jsx(Fe,{series:t,now:c})})]})]}),e.jsxs("span",{className:"agent-floor__dock-insights",children:[e.jsx(L,{label:"momentum",value:g.value,detail:g.detail}),e.jsx(L,{label:"cadence",value:`${r}/${t.slots.length} windows`,detail:"active five-minute bands"}),e.jsx(L,{label:"signature",value:m.value,detail:m.detail}),e.jsx(L,{label:"activity mix",value:we(t.counts),detail:oe(t.counts),mix:t.counts})]})]})}function ft({series:t,now:o,concise:a,onConciseChange:l,onClose:c,onOpenFull:u,operatorName:b}){const{agent:g,observe:m,source:r}=t.lane,d=X(g,r);return e.jsxs("aside",{className:"agent-floor__trace-panel","aria-label":`${d} selected lane trace`,children:[e.jsx("button",{type:"button",className:"agent-floor__trace-close",onClick:c,"aria-label":"Close selected lane trace",children:"×"}),e.jsx("div",{className:"agent-floor__trace-body",children:m?e.jsx(Be,{data:m,agentId:r==="scout"?g.id:void 0,sessionId:g.harnessSessionId,showRail:!1,variant:"lane",nowMs:o,traceWindowMs:Ue,traceWindowLabel:"30m",laneCollapseTechnicalEvents:a,onLaneCollapseTechnicalEventsChange:l,laneOperatorName:b,onLaneEventSelect:u}):e.jsx("div",{className:"agent-floor__trace-empty",children:"Waiting for trace activity…"})})]})}function gt({zoom:t,fit:o,onZoomChange:a,onReset:l}){const c=Math.round(t*100);return e.jsxs("div",{className:"agent-floor__zoom",role:"group","aria-label":"Floor zoom",children:[e.jsx("button",{type:"button","aria-label":"Zoom out",disabled:t<=ye,onClick:()=>a(pe(t-ke)),children:"−"}),e.jsx("button",{type:"button",className:"agent-floor__zoom-reset","aria-label":"Reset floor zoom to fit",title:"Reset zoom and position to automatic fit",onClick:l,children:o?"fit":`${c}%`}),e.jsx("button",{type:"button","aria-label":"Zoom in",disabled:t>=Ae,onClick:()=>a(pe(t+ke)),children:"+"})]})}function Ls({lanes:t,now:o,onOpenTrace:a,railLedger:l=!1,operatorName:c}){const[u,b]=i.useState(st),[g,m]=i.useState(null),[r,d]=i.useState(null),[w,_]=i.useState(null),[x,j]=i.useState(!1),[S,O]=i.useState(1),[$,R]=i.useState({x:0,y:0}),[H,Y]=i.useState(!1),[K,le]=i.useState(nt),W=i.useRef(null),k=i.useRef(null),[N,B]=i.useState(null),T=u==="past-right";i.useEffect(()=>{const s=W.current;if(!s)return;const n=new ResizeObserver(p=>{const h=p[0]?.contentRect;h&&B(f=>f&&Math.abs(f.w-h.width)<2&&Math.abs(f.h-h.height)<2?f:{w:h.width,h:h.height})});return n.observe(s),()=>n.disconnect()},[]);const re=i.useCallback(()=>{b(s=>{const n=s==="past-left"?"past-right":"past-left";try{localStorage.setItem(Oe,n)}catch{}return n})},[]),y=i.useCallback(s=>{m(s),s===null&&_(null)},[]),Re=i.useCallback((s,n)=>{_(n===null?null:{laneId:s,slot:n})},[]),G=i.useCallback(s=>{r===s.id?a(s):d(s.id)},[r,a]),Te=i.useCallback(()=>{O(1),R({x:0,y:0})},[]),Pe=i.useCallback(s=>{if(!(s.target instanceof Element?s.target:null)?.closest(".agent-floor__trace-panel, .agent-floor__zoom")){if(s.preventDefault(),s.metaKey||s.ctrlKey){O(p=>pe(p-s.deltaY*.002));return}R(p=>({x:se(p.x-s.deltaX,ve),y:se(p.y-s.deltaY,Se)}))}},[]),Ie=i.useCallback(s=>{const n=s.target instanceof Element?s.target:null;s.button!==0||n?.closest("button, .agent-floor__trace-panel")||(k.current={pointerId:s.pointerId,startX:s.clientX,startY:s.clientY,panX:$.x,panY:$.y},s.currentTarget.setPointerCapture(s.pointerId),Y(!0))},[$]),ze=i.useCallback(s=>{const n=k.current;!n||n.pointerId!==s.pointerId||R({x:se(n.panX+s.clientX-n.startX,ve),y:se(n.panY+s.clientY-n.startY,Se)})},[]),ge=i.useCallback(s=>{k.current?.pointerId===s.pointerId&&(k.current=null,s.currentTarget.hasPointerCapture(s.pointerId)&&s.currentTarget.releasePointerCapture(s.pointerId),Y(!1))},[]);i.useEffect(()=>{if(r===null)return;const s=n=>{n.key==="Escape"&&d(null)};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[r]);const V=Math.floor(o/z)*z,q=i.useMemo(()=>{const s=new Map(t.map(f=>[f.id,f])),n=K.flatMap(f=>{const te=s.get(f);return te?[te]:[]}),p=new Set(n.map(f=>f.id)),h=t.filter(f=>!p.has(f.id)).sort((f,te)=>te.lastActiveAt-f.lastActiveAt);return n.concat(h)},[t,K]);i.useEffect(()=>{const s=q.map(n=>n.id);le(n=>n.length===s.length&&n.every((p,h)=>p===s[h])?n:s);try{sessionStorage.setItem(Ee,JSON.stringify(s))}catch{}},[q]);const{series:U,hidden:J,planeW:E,planeD:Q,lanesStartY:_e}=i.useMemo(()=>{const s=q.map(f=>lt(f,V)),n=s.slice(0,be),p=n.length*I,h=Math.max(et,p+Qe*2);return{series:n,hidden:s.slice(be),planeW:Je+Z*D+M,planeD:h,lanesStartY:(h-p)/2}},[q,V]),v=i.useMemo(()=>U.concat(J),[U,J]),ie=v.filter(s=>s.live).length,A=g??r,De=A===null?null:v.find(s=>s.lane.id===A)??null,ee=r===null?null:v.find(s=>s.lane.id===r)??null;i.useEffect(()=>{r!==null&&!v.some(s=>s.lane.id===r)&&d(null)},[v,r]),i.useEffect(()=>{j(!1)},[r]),i.useEffect(()=>{if(!l)return;const s=v.map(n=>{const p=Ce(n,o);return{id:n.lane.id,label:X(n.lane.agent,n.lane.source),statusLabel:n.lane.agent.harness?.trim()||"lane",tone:Ze(n.lane.agent.state,n.lane.agent),updatedAt:n.lane.lastActiveAt>0?n.lane.lastActiveAt:void 0,floor:{live:n.live,harness:n.lane.agent.harness,actionGlyph:p.glyph,actionLabel:p.label,actionMeta:p.meta,strip:n.strip,countsLabel:oe(n.counts)}}});Ve(s)},[l,v,o]),i.useEffect(()=>{if(l)return je({onHover:y,onSelect:s=>{const n=v.find(p=>p.lane.id===s);n&&G(n.lane)}}),()=>je(null)},[l,v,y,G]),i.useEffect(()=>{if(l)return Ne(A),()=>Ne(null)},[l,A]);const he=s=>T?M+s*D:E-M-s*D,xe=_e+U.length*I+26,Xe=i.useMemo(()=>{if(!N)return 1;const s=E+Q,n=.708*s+60,p=.386*s+250,h=Math.min(N.w/n,N.h/p);return Math.round(Math.min(1.6,Math.max(.7,h))*100)/100},[N,E,Q]),Ye=Math.round(Xe*S*100)/100;return e.jsxs("div",{className:`agent-floor${l?" is-rail-ledger":""}`,"data-live-count":ie,"data-floor-orient":u,children:[e.jsxs("div",{className:"agent-floor__body",children:[l?null:e.jsxs("aside",{className:"agent-floor__ledger","aria-label":"Fleet ledger",children:[e.jsxs("header",{className:"agent-floor__ledger-head",children:[e.jsx("span",{className:"agent-floor__ledger-title",children:"fleet"}),e.jsxs("span",{className:"agent-floor__ledger-meta",children:[v.length," lane",v.length===1?"":"s"," · ",ie," live"]}),e.jsx("span",{className:"agent-floor__ledger-trace",children:"trace 30m"})]}),e.jsx("div",{className:"agent-floor__ledger-rows",children:v.map(s=>{const n=s.lane.agent,p=ue(n);return e.jsxs("button",{type:"button",className:`agent-floor__ledger-row${A===s.lane.id?" is-focus":""}`,onClick:()=>G(s.lane),onMouseEnter:()=>y(s.lane.id),onMouseLeave:()=>y(null),children:[e.jsxs("span",{className:"agent-floor__ledger-id",children:[e.jsx(fe,{name:n.name,size:18,tile:!0,hue:p.hue,tone:p.tone}),e.jsx("span",{className:"agent-floor__ledger-name",children:X(n,s.lane.source)}),e.jsx(Me,{harness:n.harness,size:11,className:"agent-floor__card-mark"}),e.jsx("span",{className:`agent-floor__card-dot${s.live?" is-live":""}`})]}),e.jsxs("span",{className:"agent-floor__ledger-tally",children:[e.jsx("span",{className:"agent-floor__ledger-strip",children:s.strip.map((h,f)=>e.jsx("span",{className:`agent-floor__ledger-cell is-${h}`},f))}),e.jsx("span",{className:"agent-floor__ledger-counts",children:oe(s.counts)})]})]},s.lane.id)})}),e.jsx("footer",{className:"agent-floor__ledger-foot",children:"rows and flags are linked — hover to unroll, click to pin"})]}),e.jsxs("div",{className:`agent-floor__viewport${ee?" is-inspecting":""}${H?" is-dragging":""}`,ref:W,onWheel:Pe,onPointerDown:Ie,onPointerMove:ze,onPointerUp:ge,onPointerCancel:ge,children:[e.jsx(gt,{zoom:S,fit:S===1&&$.x===0&&$.y===0,onZoomChange:O,onReset:Te}),e.jsx("div",{className:"agent-floor__stage",style:{transform:`translate3d(${$.x}px, ${$.y}px, 0) scale(${Ye}) rotateX(57deg) rotateZ(45deg)`},children:e.jsxs("div",{className:"agent-floor__field",style:{width:E,height:Q,left:-E/2,top:-Q/2},children:[e.jsx("div",{className:"agent-floor__plane"}),Array.from({length:Z+1},(s,n)=>e.jsx("div",{className:`agent-floor__seam${n===0?" is-front":""}`,style:{left:he(n)}},n)),Array.from({length:Z+1},(s,n)=>e.jsx("div",{className:`agent-floor__bb agent-floor__tick${n===0?" is-now":""}`,style:{left:he(n),top:xe},children:n===0?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"agent-floor__tick-pulse"}),e.jsx("span",{children:"now"})]}):ae(V-(n-1)*z)},n)),e.jsx("div",{className:"agent-floor__lanes",style:{left:0,top:_e},"data-focus":A!==null||void 0,children:U.map((s,n)=>e.jsx(mt,{series:s,index:n,planeW:E,flip:T,periodStart:V,now:o,focused:A===s.lane.id,pinned:r===s.lane.id,dimmed:r===null&&g!==null&&g!==s.lane.id,peekSlot:w?.laneId===s.lane.id?w.slot:null,onFocus:y,onPeek:Re,onSelect:G},s.lane.id))}),J.length>0?e.jsxs("div",{className:"agent-floor__bb agent-floor__chip",style:{left:T?M/2:E-M/2,top:xe+30},children:["+",J.length," more in the ledger"]}):null]})}),ee?e.jsx(ft,{series:ee,now:o,concise:x,onConciseChange:j,onClose:()=>d(null),onOpenFull:()=>a(ee.lane),operatorName:c}):null]})]}),e.jsx(ut,{focus:De,pinned:r!==null&&A===r,ledger:v,liveCount:ie,now:o}),e.jsxs("footer",{className:"agent-floor__legend",children:[e.jsxs("span",{className:"agent-floor__legend-item",children:[e.jsx("span",{className:"agent-floor__legend-swatch is-tool"}),"tool call"]}),e.jsxs("span",{className:"agent-floor__legend-item",children:[e.jsx("span",{className:"agent-floor__legend-swatch is-edit"}),"file edit"]}),e.jsxs("span",{className:"agent-floor__legend-item",children:[e.jsx("span",{className:"agent-floor__legend-swatch is-msg"}),"message"]}),e.jsxs("span",{className:"agent-floor__legend-item",children:[e.jsx("span",{className:"agent-floor__legend-pulse"}),"live — pad glows"]}),e.jsxs("button",{type:"button",className:"agent-floor__legend-flip",onClick:re,title:"Flip which side history accumulates on",children:["past ",T?"→":"←"]}),e.jsx("span",{className:"agent-floor__legend-note",children:"Towers mint every 5 min · details land in the dock · click to pin, click again for the timeline"})]})]})}export{Ls as AgentFloorView};
@@ -0,0 +1 @@
1
+ import{r as m,j as a}from"./index-sUomXsrf.js";/* empty css */import{c as q,d as K,s as V,b as G}from"./colors-BtO5_zlx.js";import{m as J,c as X}from"./conversation-model-C4yb6_FA.js";import{a as D}from"./api-h5zurxmi.js";import{u as Y}from"./sse-CVoGDiKW.js";import{b as Z,t as ee}from"./time-Dhsh_2EG.js";import{f as h}from"./text-DsBWV_4k.js";import{u as ae}from"./Provider-tFc3jqZ4.js";import{o as te}from"./openContent-C6XO6kr5.js";import{B as E}from"./BackToPicker-CkUmHuuo.js";import{A as se}from"./AgentLiveActions-CZdAInEu.js";import{O as le}from"./ObservedTopologyPanel-Dv6fbHzW.js";import{a as re}from"./model-Co0zkMIc.js";import"./index-BWHgHrtv.js";import"./router-Dja9_ygK.js";import"./terminal-sessions-D5CIR2OL.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-BlBQhpax.js";import"./DocumentFocusViewer-DU_9BHsD.js";import"./createLucideIcon-DlxlBfLC.js";import"./TextDocumentSurface-C-9EtYqt.js";/* empty css */import"./file-text-i3xTDUjJ.js";import"./x-0XjXwGqq.js";import"./chevron-right-CyUa1zXx.js";import"./code-xml-05TD3uOC.js";import"./arrow-left-WjQIN9J6.js";import"./scout-voice-BZ4KqADJ.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BhZZ5HEq.js";import"./MessageComposerSuggestions-zAUUcLOv.js";import"./NewChatComposer-B5FnPyzS.js";import"./runtime-picker-DOZpZOlt.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-lWOOKezu.js";import"./index-m6dFtY5f.js";import"./HarnessMark-Dm_qm1Ku.js";import"./NewChatOrigin--pHWUb4V.js";import"./agent-chat-Bfjd9y6c.js";import"./chevron-down-BFai6ZfE.js";import"./search-DCT_EvPr.js";import"./chunk-HRAB3GC3-CvwpNg-G.js";import"./terminal-takeover-X97KCSJk.js";import"./eye-So8tNNK6.js";import"./terminal-DXQISjZn.js";function k({values:t}){return a.jsx("span",{className:"s-agent-token-list",children:t.map(s=>a.jsx("span",{className:"s-agent-token",children:s},s))})}function r({value:t}){return a.jsx("span",{className:"s-agent-code-value",children:t})}function w({label:t,value:s}){return s?.trim()?a.jsxs("span",{className:"s-agent-profile-chip",children:[a.jsx("span",{className:"s-agent-profile-chip-label",children:t}),a.jsx("span",{className:"s-agent-profile-chip-value",children:s})]}):null}function $(t){return(t??"").toLowerCase().replace(/[^a-z0-9]+/g,"")}function oe(t){return t.trim().replace(/^@+/,"").replace(/^(project|agent|session)[-_.:\s]+/iu,"").split(/[-_\s·]+/u).filter(Boolean).map(s=>s.slice(0,1).toUpperCase()+s.slice(1)).join(" ")}function ie(t,s,i,c){let l=t.trim().replace(/^@+/,"");const f=[s,i,c,c?h(c):null].filter(d=>!!d?.trim());for(const d of f){const p=d.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");l=l.replace(new RegExp(`^${p}[-_.:\\s·]+`,"iu"),"")}return l}function ne(t,s,i,c){const l=s?.participants?.find(u=>u.agentId===t.id||u.actorId===t.id),f=$(t.harness),d=$(i),p=[l?.scopedAlias,s?.alias,t.handle,l?.displayName,s?.agentName,t.name];for(const u of p){if(!u?.trim())continue;const j=ie(u,i,c,t.harness),v=oe(j),n=$(v);if(!(!n||n===d||n===f))return v}return null}function ce(t){const s=t?.trim();return s?s.toLowerCase()==="a2a"?"A2A":h(s)??s:null}function ue({name:t,url:s}){return s?a.jsx("a",{href:s,target:"_blank",rel:"noreferrer",children:t}):a.jsx(a.Fragment,{children:t})}function x({title:t,subtitle:s,items:i,variant:c}){return i.length===0?null:a.jsxs("section",{className:`s-agent-profile-card${c?` s-agent-profile-card-${c}`:""}`,children:[a.jsx("div",{className:"s-agent-profile-card-header",children:a.jsxs("div",{children:[a.jsx("div",{className:"s-agent-profile-card-title",children:t}),s&&a.jsx("div",{className:"s-agent-profile-card-subtitle",children:s})]})}),a.jsx("div",{className:"s-agent-meta-card-body",children:i.map(l=>a.jsxs("div",{className:"s-agent-meta-row",children:[a.jsx("span",{className:"s-agent-meta-label",children:l.label}),a.jsx("span",{className:"s-agent-meta-value",children:l.value})]},l.label))})]})}function la({conversationId:t,navigate:s}){const{agents:i,route:c}=ae(),[l,f]=m.useState(null),[d,p]=m.useState(null),[u,j]=m.useState(null),v=m.useCallback(async()=>{j(null);try{const o=await D(`/api/session/${encodeURIComponent(t)}`).catch(()=>null);f(o)}catch(o){j(o instanceof Error?o.message:String(o)),f(null)}},[t]);m.useEffect(()=>{v()},[v]),Y(()=>{v()});const n=l?.agentId??null;m.useEffect(()=>{if(!n||i.some(P=>P.id===n)){p(null);return}let o=!1;return D(`/api/agents/${encodeURIComponent(n)}`).then(P=>{o||p(P)}).catch(()=>{o||p(null)}),()=>{o=!0}},[i,n]);const e=m.useMemo(()=>n?i.find(o=>o.id===n)??(d?.id===n?d:null):null,[d,i,n]);if(!e)return a.jsxs("div",{children:[a.jsx(E,{slot:"agent-info",fallback:{view:"conversation",conversationId:t},navigate:s}),u&&a.jsx("p",{className:"s-error",children:u}),a.jsx("div",{className:"s-empty",children:a.jsx("p",{children:"Agent not found"})})]});const H=J(e),A=e.handle?`@${e.handle.replace(/^@+/,"")}`:null,I=e.selector??e.defaultSelector??A,S=q(e.state),L=e.authorityNodeName?`${e.authorityNodeName} (${e.authorityNodeId??"unknown"})`:e.authorityNodeId,R=e.homeNodeName?`${e.homeNodeName} (${e.homeNodeId??"unknown"})`:e.homeNodeId,C=e.skills??[],b=ce(e.protocol),N=!!(e.providerName||b||C.length>0),T=re(e),g=T.title,y=ne(e,l,g,T.slug),F=y?`${g} · ${y}`:g,B=l?.participants?.find(o=>o.agentId===e.id||o.actorId===e.id),M=e.model&&e.harness&&e.model.startsWith(`${e.harness}-`)?e.model.slice(e.harness.length+1):e.model,U=[h(e.harness??"")??e.harness,M].filter(o=>!!o).join(" · "),W=[{label:"Project",value:g},{label:"Alias",value:y??"Default project participant"},...I?[{label:"Primary selector",value:a.jsx(r,{value:I})}]:[],...B?.scopedAlias?[{label:"Scoped alias",value:a.jsx(r,{value:B.scopedAlias})}]:[],...A?[{label:"Handle",value:a.jsx(r,{value:A})}]:[],...e.defaultSelector&&e.defaultSelector!==e.selector?[{label:"Default selector",value:a.jsx(r,{value:e.defaultSelector})}]:[],{label:"Definition",value:a.jsx(r,{value:e.definitionId})}],z=[{label:"Routable agent ID",value:a.jsx(r,{value:e.id})},...e.providerName?[{label:"Provider",value:a.jsx(ue,{name:e.providerName,url:e.providerUrl})}]:[],...b?[{label:"Protocol",value:b}]:[],...C.length>0?[{label:"Skills",value:a.jsx(k,{values:C})}]:[],...N?[]:[{label:"Class",value:h(e.agentClass)??"—"}],...!N&&e.role?[{label:"Role",value:h(e.role)??e.role}]:[],...e.authorityProfile?[{label:"Authority profile",value:a.jsx(r,{value:e.authorityProfile.roleId})}]:[],...e.workspaceQualifier?[{label:"Workspace qualifier",value:a.jsx(r,{value:e.workspaceQualifier})}]:[],...e.nodeQualifier?[{label:"Node qualifier",value:a.jsx(r,{value:e.nodeQualifier})}]:[],...e.staleLocalRegistration?[{label:"Registration",value:e.replacedByAgentId?`Superseded by ${e.replacedByAgentId}`:"Historical registration"}]:[],...e.retiredFromFleet?[{label:"Fleet state",value:"Retired"}]:[]],O=[...e.projectRoot?[{label:"Project path",value:a.jsx(r,{value:e.projectRoot})}]:[],...e.cwd?[{label:"Working dir",value:a.jsx(r,{value:e.cwd})}]:[],...e.branch?[{label:"Branch",value:e.branch}]:[],...L?[{label:"Authority node",value:a.jsx(r,{value:L})}]:[],...R?[{label:"Home node",value:a.jsx(r,{value:R})}]:[],...e.ownerId?[{label:"Owner",value:e.ownerName?`${e.ownerName} (${e.ownerId})`:e.ownerId}]:[],...e.conversationId?[{label:"Direct conversation",value:a.jsx(r,{value:e.conversationId})}]:[]],Q=[...!N&&e.harness?[{label:"Harness",value:e.harness}]:[],...e.model?[{label:"Model",value:e.model}]:[],...!N&&e.transport?[{label:"Transport",value:h(e.transport)??e.transport}]:[],...e.wakePolicy?[{label:"Wake policy",value:h(e.wakePolicy)??e.wakePolicy}]:[],...e.harnessSessionId?[{label:b?`${b} session`:"Harness session",value:a.jsx(r,{value:e.harnessSessionId})}]:[],...e.harnessLogPath?[{label:"Harness log",value:a.jsx(r,{value:e.harnessLogPath})}]:[],...e.capabilities.length>0?[{label:"Capabilities",value:a.jsx(k,{values:e.capabilities})}]:[],...e.authorityProfile?.readTools.length?[{label:"Broker reads",value:a.jsx(k,{values:e.authorityProfile.readTools})}]:[],...e.authorityProfile?.writeTools.length?[{label:"Broker writes",value:a.jsx(k,{values:e.authorityProfile.writeTools})}]:[],...e.authorityProfile?[{label:"Machine access",value:`shell ${e.authorityProfile.shell?"allowed":"blocked"} · code writes ${e.authorityProfile.codebaseWrites?"allowed":"blocked"}`}]:[],...e.runtimePolicy?.sandbox?[{label:"Sandbox",value:e.runtimePolicy.sandbox}]:[]],_=[{label:"Conversation ID",value:a.jsx(r,{value:t})},...l?.alias?[{label:"Conversation alias",value:a.jsx(r,{value:l.alias})}]:[],...l?.naturalKey?[{label:"Natural key",value:a.jsx(r,{value:l.naturalKey})}]:[],...l?.workspaceRoot?[{label:"Workspace",value:a.jsx(r,{value:l.workspaceRoot})}]:[],...l?.currentBranch?[{label:"Session branch",value:l.currentBranch}]:[],...l?.messageCount!=null?[{label:"Messages",value:String(l.messageCount)}]:[],...l?.lastMessageAt?[{label:"Last message",value:Z(l.lastMessageAt)}]:[]];return a.jsxs("div",{className:"s-agent-profile-page",children:[a.jsxs("div",{className:"s-agent-profile-page-topbar",children:[a.jsx(E,{slot:"agent-info",fallback:{view:"conversation",conversationId:t},navigate:s}),a.jsx("button",{type:"button",className:"s-btn",onClick:()=>s({view:"agents-v2",agentId:e.id}),children:"Open in Agents"})]}),u&&a.jsx("p",{className:"s-error",children:u}),a.jsxs("section",{className:"s-agent-profile-hero",children:[a.jsx("div",{className:"s-agent-profile-hero-main",children:a.jsxs("div",{className:"s-agent-profile-hero-title-row",children:[a.jsx("div",{className:"s-avatar s-agent-profile-hero-avatar",style:{background:K(e.name)},children:e.name[0].toUpperCase()}),a.jsxs("div",{className:"s-agent-profile-hero-copy",children:[a.jsxs("div",{className:"s-agent-casefile-title-meta",children:[a.jsx("span",{className:"s-agent-casefile-record",children:I??H??X(e.id)??e.id}),S&&a.jsxs("span",{className:`s-agent-state-chip s-agent-state-chip-${G(e.state)}`,children:[a.jsx("span",{className:"s-dot",style:{background:V(e.state)}}),S]}),e.staleLocalRegistration&&a.jsx("span",{className:"s-agent-state-chip s-agent-state-chip-offline",children:"Superseded registration"})]}),a.jsx("h1",{className:"s-agent-profile-hero-title",children:F}),a.jsxs("div",{className:"s-agent-profile-hero-tags",children:[a.jsx(w,{label:"Project",value:g}),a.jsx(w,{label:"Alias",value:y??"Default"}),a.jsx(w,{label:"Runtime",value:U||null}),a.jsx(w,{label:"Host",value:e.homeNodeName?.replace(/\.local$/i,"")??null})]}),a.jsxs("p",{className:"s-agent-profile-hero-context",children:[l?.title?`Conversation: ${l.title}.`:"Attached to this conversation.",e.updatedAt?` Updated ${ee(e.updatedAt)}.`:""]})]})]})}),a.jsxs("div",{className:"s-agent-profile-hero-actions",children:[a.jsx(se,{agent:e,navigate:s,returnTo:c}),a.jsx("button",{type:"button",className:"s-btn s-btn-primary",onClick:()=>te(s,{view:"conversation",conversationId:t},{returnTo:c}),children:"Open conversation"})]})]}),a.jsxs("div",{className:"s-agent-profile-grid",children:[a.jsx(x,{title:"Stable alias",subtitle:"Repeatable project identity used to route future work.",items:W,variant:"primary"}),a.jsx(x,{title:"Current conversation",subtitle:"Unique DM/context attached to this page.",items:_}),a.jsx(x,{title:"Runtime instance",subtitle:"Concrete harness state for the current attachment.",items:Q}),a.jsx(x,{title:"Location",subtitle:"Where this alias resolves right now.",items:O}),a.jsx(x,{title:"Diagnostics",subtitle:"Broker and provider fields for debugging.",items:z,variant:"secondary"})]}),a.jsx(le,{title:"Observed harness families",size:"compact",maxAgents:8,maxTasks:4,showEmpty:!0})]})}export{la as AgentInfoScreen};
@@ -1 +1 @@
1
- import{j as a,r as u}from"./index-DMiGbrBt.js";/* empty css */import{AgentLaneCockpitPane as w,cockpitHeightTier as y}from"./AgentLaneSummaryResize-BhFmGNzT.js";import{c as $}from"./clipboard-e3fSpeo7.js";import{H as L}from"./HarnessMark-Cbv3Ib0c.js";function F(){return a.jsx("svg",{viewBox:"0 0 12 12",width:"11",height:"11","aria-hidden":"true",className:"s-lane-card-gmark",children:a.jsx("path",{d:"M2 4.2c0-.4.3-.7.7-.7h2.1l1 1h3.5c.4 0 .7.3.7.7V9c0 .4-.3.7-.7.7H2.7c-.4 0-.7-.3-.7-.7V4.2Z",fill:"none",stroke:"currentColor",strokeWidth:"1",strokeLinejoin:"round"})})}function T(){return a.jsxs("svg",{viewBox:"0 0 12 12",width:"11",height:"11","aria-hidden":"true",className:"s-lane-card-gmark",children:[a.jsx("circle",{cx:"6",cy:"3",r:"1.5",fill:"none",stroke:"currentColor",strokeWidth:"1"}),a.jsx("circle",{cx:"6",cy:"9",r:"1.5",fill:"none",stroke:"currentColor",strokeWidth:"1"}),a.jsx("path",{d:"M6 4.5v3",stroke:"currentColor",strokeWidth:"1"})]})}function W({dir:s}){return a.jsx("span",{className:"s-lane-card-dir","aria-hidden":"true",children:s==="from"?"←":"→"})}function M(){return a.jsxs(a.Fragment,{children:[a.jsx("i",{className:"s-lane-card-gl s-lane-card-gl-t","aria-hidden":"true"}),a.jsx("i",{className:"s-lane-card-gl s-lane-card-gl-b","aria-hidden":"true"}),a.jsx("i",{className:"s-lane-card-gl s-lane-card-gl-l","aria-hidden":"true"}),a.jsx("i",{className:"s-lane-card-gl s-lane-card-gl-r","aria-hidden":"true"})]})}function d({value:s,label:l,side:n}){const[r,e]=u.useState(!1),c=u.useRef(null);u.useEffect(()=>()=>{c.current&&clearTimeout(c.current)},[]);const i=u.useCallback(t=>{t.preventDefault(),t.stopPropagation(),$(s).then(o=>{o&&(e(!0),c.current&&clearTimeout(c.current),c.current=setTimeout(()=>e(!1),1100))})},[s]);return a.jsx("button",{type:"button",className:`s-lane-card-copydot s-lane-card-copydot--${n}${r?" s-lane-card-copydot--done":""}`,onClick:i,title:r?"Copied":`Copy ${l}`,"aria-label":r?`Copied ${l}`:`Copy ${l}`,children:r?a.jsx("svg",{viewBox:"0 0 12 12",width:"11",height:"11","aria-hidden":"true",children:a.jsx("path",{d:"M2.5 6.2 4.8 8.5 9.5 3.8",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})}):a.jsxs("svg",{viewBox:"0 0 12 12",width:"11",height:"11","aria-hidden":"true",children:[a.jsx("rect",{x:"3.4",y:"3.4",width:"5.8",height:"5.8",rx:"1.3",fill:"none",stroke:"currentColor",strokeWidth:"1"}),a.jsx("path",{d:"M2.4 7.2V2.8c0-.4.3-.7.7-.7h4",fill:"none",stroke:"currentColor",strokeWidth:"1",strokeLinecap:"round"})]})})}function N({value:s,label:l,group:n}){const r=!!n&&n.rows.length>0;return a.jsxs("span",{className:`s-lane-card-instr${r?" s-lane-card-instr--pop":""}`,children:[a.jsx("span",{className:"s-lane-card-instr-val",children:s}),a.jsx("span",{className:"s-lane-card-instr-label",children:l}),r&&a.jsxs("span",{className:"s-lane-card-pop",role:"tooltip",children:[a.jsxs("span",{className:"s-lane-card-pop-h",children:[a.jsx("span",{className:"s-lane-card-pop-title",children:l}),a.jsx("span",{className:"s-lane-card-pop-count",children:n.more>0?`top ${n.rows.length} · ${s}`:s})]}),a.jsxs("span",{className:"s-lane-card-pop-list",children:[n.rows.map((e,c)=>a.jsxs("span",{className:"s-lane-card-pop-row",title:e.full??e.text,children:[a.jsx("span",{className:`s-lane-card-pop-mark s-lane-card-pop-mark--${e.tone}`,children:e.mark}),a.jsx("span",{className:"s-lane-card-pop-text",children:e.text})]},`${c}:${e.full||e.text}`)),n.more>0&&a.jsxs("span",{className:"s-lane-card-pop-more",children:["+",n.more," more"]})]})]})]})}function P(s){return s.toLocaleString()}function B(s){return s>=1e6?`${(s/1e6).toFixed(1)}M`:s>=1e3?`${(s/1e3).toFixed(s>=1e5?0:1)}k`:`${s}`}function S({usage:s}){return s.dials.length===0?null:a.jsxs("div",{className:"s-lane-card-cockpit-tokens","aria-label":"Token usage",children:[a.jsxs("div",{className:"s-lane-card-cockpit-tokens-head",children:[a.jsxs("span",{className:"s-lane-card-cockpit-tokens-label",children:[a.jsx("span",{className:"s-lane-card-cockpit-tokens-mark","aria-hidden":"true",children:"◎"}),"Tokens"]}),s.total!=null&&a.jsx("span",{className:"s-lane-card-cockpit-tokens-hint",children:B(s.total)})]}),a.jsx("div",{className:"s-lane-card-cockpit-dials",children:s.dials.map(l=>a.jsxs("span",{className:"s-lane-card-cockpit-dial",children:[a.jsx("span",{className:"s-lane-card-cockpit-dial-value",children:P(l.value)}),a.jsx("span",{className:"s-lane-card-cockpit-dial-label",children:l.label})]},l.label))})]})}function I({pops:s}){const l=s.edits.rows.length>0,n=l?s.edits:s.files;if(n.rows.length===0)return null;const r=l?"Files modified":"Files touched";return a.jsxs("div",{className:"s-lane-card-cockpit-files","aria-label":r,children:[a.jsxs("div",{className:"s-lane-card-cockpit-tokens-head",children:[a.jsx("span",{className:"s-lane-card-cockpit-tokens-label",children:r}),a.jsx("span",{className:"s-lane-card-cockpit-tokens-hint",children:n.rows.length+n.more})]}),a.jsxs("div",{className:"s-lane-card-cockpit-files-list",children:[n.rows.map((e,c)=>a.jsxs("span",{className:"s-lane-card-cockpit-file",title:e.full??e.text,children:[a.jsx("span",{className:`s-lane-card-pop-mark s-lane-card-pop-mark--${e.tone}`,children:e.mark}),a.jsx("span",{className:"s-lane-card-cockpit-file-text",children:e.text})]},`${c}:${e.full||e.text}`)),n.more>0&&a.jsxs("span",{className:"s-lane-card-cockpit-file s-lane-card-cockpit-file--more",children:["+",n.more," more"]})]})]})}function g({model:s,cockpitHeight:l=null}){const n=y(l)==="stats";return a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"s-lane-card-summary",children:s.head?.placeholder?a.jsxs("div",{className:`s-lane-card-wait${s.working?" s-lane-card-wait--working":""}`,children:[a.jsx("span",{className:"s-lane-card-wait-dot","aria-hidden":"true"}),a.jsx("span",{className:"s-lane-card-wait-label",children:s.head.text})]}):a.jsxs("div",{className:`s-lane-card-current${s.head?.dir?"":" s-lane-card-current--console"}`,children:[s.head?.dir?a.jsx(W,{dir:s.head.dir}):a.jsx("span",{className:"s-lane-card-prompt","aria-hidden":"true",children:"❯"}),a.jsxs("span",{className:"s-lane-card-headwrap",children:[a.jsx("span",{className:"s-lane-card-head-text",children:s.head?.text??"Waiting for trace activity…"}),s.head?.full&&a.jsx("span",{className:"s-lane-card-headpop",role:"tooltip",children:s.head.full})]})]})}),a.jsxs("div",{className:"s-lane-card-accs",children:[a.jsx("div",{className:"s-lane-card-accs-tools",children:s.stats.tools>0?a.jsxs(a.Fragment,{children:[a.jsx(N,{value:s.stats.tools,label:"tools",group:s.pops.tools}),s.stats.edits>0&&a.jsx(N,{value:s.stats.edits,label:"edits",group:s.pops.edits}),s.stats.reads>0&&a.jsx(N,{value:s.stats.reads,label:"reads",group:s.pops.reads}),s.stats.files>0&&a.jsx(N,{value:s.stats.files,label:"files",group:s.pops.files})]}):a.jsx("span",{className:"s-lane-card-accs-empty",children:"no tool activity yet"})}),a.jsxs("div",{className:"s-lane-card-vitals",children:[a.jsxs("span",{className:`s-lane-card-instr s-lane-card-instr--ctx${s.context==null?" s-lane-card-instr--ctx-pending":""}`,title:s.context==null?"Context window — awaiting usage":`Context window ${s.context}% used`,children:[a.jsx("span",{className:"s-lane-card-gauge","aria-hidden":"true",children:a.jsx("span",{className:"s-lane-card-gauge-fill",style:{width:`${s.context??0}%`}})}),a.jsx("span",{className:"s-lane-card-instr-val",children:s.context==null?"—":`${s.context}%`}),a.jsx("span",{className:"s-lane-card-instr-label",children:"ctx"})]}),s.tokens&&a.jsxs("span",{className:"s-lane-card-instr",title:"Tokens currently in context",children:[a.jsx("span",{className:"s-lane-card-instr-val",children:s.tokens}),a.jsx("span",{className:"s-lane-card-instr-label",children:"ctx tokens"})]}),s.turns!=null&&a.jsxs("span",{className:"s-lane-card-instr",children:[a.jsx("span",{className:"s-lane-card-instr-val",children:s.turns}),a.jsx("span",{className:"s-lane-card-instr-label",children:s.turns===1?"turn":"turns"})]})]})]}),n&&(s.tokenUsage?a.jsx(S,{usage:s.tokenUsage}):a.jsx(I,{pops:s.pops}))]})}function V({model:s,avatar:l,trace:n,collapsed:r=!1,onToggleCollapsed:e,onOpen:c,cockpitHeight:i}){const{name:t,harness:o,model:h,effort:k,cwd:p,cwdFull:f,branch:x,sessionId:j,sessionIdFull:v,parentSessionId:m,parentSessionLabel:b}=s;return a.jsxs("section",{className:`s-lane-card${s.working?" s-lane-card--working":""}${r?" s-lane-card--collapsed":""}`,"aria-label":`${t} lane`,children:[c&&a.jsx("button",{type:"button",className:"s-lane-card-hit",onClick:c,"aria-label":`Inspect ${t}`}),a.jsxs("div",{className:"s-lane-card-head",children:[a.jsxs("span",{className:"s-lane-card-anchor s-lane-card-anchor--av",children:[a.jsx(M,{}),l]}),a.jsxs("div",{className:"s-lane-card-ident",children:[a.jsxs("span",{className:"s-lane-card-fieldc s-lane-card-fieldc--trail s-lane-card-namebox",children:[a.jsx("span",{className:"s-lane-card-name s-lane-card-sel",children:t}),s.authority&&a.jsx("span",{className:"s-lane-card-authority",title:s.authority.title,children:s.authority.label}),a.jsx(d,{value:t,label:"agent name",side:"trail"})]}),p&&a.jsxs("span",{className:"s-lane-card-fieldc s-lane-card-fieldc--trail s-lane-card-d s-lane-card-d--strong",title:f??p,children:[a.jsx(F,{}),a.jsx("span",{className:"s-lane-card-val s-lane-card-sel",children:p}),a.jsx(d,{value:f??p,label:"working directory",side:"trail"})]}),x&&a.jsxs("span",{className:"s-lane-card-fieldc s-lane-card-fieldc--trail s-lane-card-d",title:x,children:[a.jsx("span",{className:"s-lane-card-gchar","aria-hidden":"true",children:"⎇"}),a.jsx("span",{className:"s-lane-card-val s-lane-card-sel",children:x}),a.jsx(d,{value:x,label:"branch",side:"trail"})]})]}),a.jsxs("div",{className:"s-lane-card-meta",children:[o&&a.jsx("span",{className:"s-lane-card-anchor s-lane-card-anchor--hm",children:a.jsx(L,{harness:o,size:30,className:"s-lane-card-hmark"})}),a.jsxs("div",{className:"s-lane-card-meta-lines",children:[(h||k)&&a.jsxs("div",{className:"s-lane-card-meta-run",children:[h&&a.jsxs("span",{className:"s-lane-card-fieldc s-lane-card-fieldc--lead s-lane-card-modelwrap",children:[a.jsx("span",{className:"s-lane-card-meta-model s-lane-card-sel",children:h}),a.jsx(d,{value:h,label:"model",side:"lead"})]}),k&&a.jsx("span",{className:"s-lane-card-meta-effort s-lane-card-sel",children:k})]}),(j||m)&&a.jsxs("span",{className:"s-lane-card-fieldc s-lane-card-fieldc--lead s-lane-card-meta-sid",children:[a.jsx(T,{}),j&&a.jsx("span",{className:"s-lane-card-val s-lane-card-sel",children:j}),m&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"s-lane-card-gchar","aria-hidden":"true",children:"↳"}),a.jsx("span",{className:"s-lane-card-val s-lane-card-sel",children:b??m})]}),a.jsx(d,{value:v??m??j??"",label:"session id",side:"lead"})]}),a.jsxs("div",{className:"s-lane-card-meta-foot",children:[s.time&&a.jsxs("span",{className:"s-lane-card-time",children:[a.jsx("span",{className:"s-lane-card-time-dot","aria-hidden":"true"}),s.time]}),e&&a.jsx("button",{type:"button",className:"s-lane-card-caret","aria-label":r?"Expand summary":"Collapse summary","aria-expanded":!r,onClick:C=>{C.stopPropagation(),e()},children:a.jsx("svg",{viewBox:"0 0 10 10",width:"10",height:"10","aria-hidden":"true",children:a.jsx("path",{d:"M2 3.5 L5 6.5 L8 3.5",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})})]})]})]})]}),!r&&(i!==void 0?a.jsx(w,{cockpitHeight:i,children:a.jsx(g,{model:s,cockpitHeight:i})}):a.jsx(g,{model:s})),n]})}export{V as AgentLaneCard};
1
+ import{j as a,r as u}from"./index-sUomXsrf.js";/* empty css */import{AgentLaneCockpitPane as w,cockpitHeightTier as y}from"./AgentLaneSummaryResize-CMgzYvAA.js";import{c as $}from"./clipboard-e3fSpeo7.js";import{H as L}from"./HarnessMark-Dm_qm1Ku.js";function F(){return a.jsx("svg",{viewBox:"0 0 12 12",width:"11",height:"11","aria-hidden":"true",className:"s-lane-card-gmark",children:a.jsx("path",{d:"M2 4.2c0-.4.3-.7.7-.7h2.1l1 1h3.5c.4 0 .7.3.7.7V9c0 .4-.3.7-.7.7H2.7c-.4 0-.7-.3-.7-.7V4.2Z",fill:"none",stroke:"currentColor",strokeWidth:"1",strokeLinejoin:"round"})})}function T(){return a.jsxs("svg",{viewBox:"0 0 12 12",width:"11",height:"11","aria-hidden":"true",className:"s-lane-card-gmark",children:[a.jsx("circle",{cx:"6",cy:"3",r:"1.5",fill:"none",stroke:"currentColor",strokeWidth:"1"}),a.jsx("circle",{cx:"6",cy:"9",r:"1.5",fill:"none",stroke:"currentColor",strokeWidth:"1"}),a.jsx("path",{d:"M6 4.5v3",stroke:"currentColor",strokeWidth:"1"})]})}function W({dir:s}){return a.jsx("span",{className:"s-lane-card-dir","aria-hidden":"true",children:s==="from"?"←":"→"})}function M(){return a.jsxs(a.Fragment,{children:[a.jsx("i",{className:"s-lane-card-gl s-lane-card-gl-t","aria-hidden":"true"}),a.jsx("i",{className:"s-lane-card-gl s-lane-card-gl-b","aria-hidden":"true"}),a.jsx("i",{className:"s-lane-card-gl s-lane-card-gl-l","aria-hidden":"true"}),a.jsx("i",{className:"s-lane-card-gl s-lane-card-gl-r","aria-hidden":"true"})]})}function d({value:s,label:l,side:n}){const[r,e]=u.useState(!1),c=u.useRef(null);u.useEffect(()=>()=>{c.current&&clearTimeout(c.current)},[]);const i=u.useCallback(t=>{t.preventDefault(),t.stopPropagation(),$(s).then(o=>{o&&(e(!0),c.current&&clearTimeout(c.current),c.current=setTimeout(()=>e(!1),1100))})},[s]);return a.jsx("button",{type:"button",className:`s-lane-card-copydot s-lane-card-copydot--${n}${r?" s-lane-card-copydot--done":""}`,onClick:i,title:r?"Copied":`Copy ${l}`,"aria-label":r?`Copied ${l}`:`Copy ${l}`,children:r?a.jsx("svg",{viewBox:"0 0 12 12",width:"11",height:"11","aria-hidden":"true",children:a.jsx("path",{d:"M2.5 6.2 4.8 8.5 9.5 3.8",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})}):a.jsxs("svg",{viewBox:"0 0 12 12",width:"11",height:"11","aria-hidden":"true",children:[a.jsx("rect",{x:"3.4",y:"3.4",width:"5.8",height:"5.8",rx:"1.3",fill:"none",stroke:"currentColor",strokeWidth:"1"}),a.jsx("path",{d:"M2.4 7.2V2.8c0-.4.3-.7.7-.7h4",fill:"none",stroke:"currentColor",strokeWidth:"1",strokeLinecap:"round"})]})})}function N({value:s,label:l,group:n}){const r=!!n&&n.rows.length>0;return a.jsxs("span",{className:`s-lane-card-instr${r?" s-lane-card-instr--pop":""}`,children:[a.jsx("span",{className:"s-lane-card-instr-val",children:s}),a.jsx("span",{className:"s-lane-card-instr-label",children:l}),r&&a.jsxs("span",{className:"s-lane-card-pop",role:"tooltip",children:[a.jsxs("span",{className:"s-lane-card-pop-h",children:[a.jsx("span",{className:"s-lane-card-pop-title",children:l}),a.jsx("span",{className:"s-lane-card-pop-count",children:n.more>0?`top ${n.rows.length} · ${s}`:s})]}),a.jsxs("span",{className:"s-lane-card-pop-list",children:[n.rows.map((e,c)=>a.jsxs("span",{className:"s-lane-card-pop-row",title:e.full??e.text,children:[a.jsx("span",{className:`s-lane-card-pop-mark s-lane-card-pop-mark--${e.tone}`,children:e.mark}),a.jsx("span",{className:"s-lane-card-pop-text",children:e.text})]},`${c}:${e.full||e.text}`)),n.more>0&&a.jsxs("span",{className:"s-lane-card-pop-more",children:["+",n.more," more"]})]})]})]})}function P(s){return s.toLocaleString()}function B(s){return s>=1e6?`${(s/1e6).toFixed(1)}M`:s>=1e3?`${(s/1e3).toFixed(s>=1e5?0:1)}k`:`${s}`}function S({usage:s}){return s.dials.length===0?null:a.jsxs("div",{className:"s-lane-card-cockpit-tokens","aria-label":"Token usage",children:[a.jsxs("div",{className:"s-lane-card-cockpit-tokens-head",children:[a.jsxs("span",{className:"s-lane-card-cockpit-tokens-label",children:[a.jsx("span",{className:"s-lane-card-cockpit-tokens-mark","aria-hidden":"true",children:"◎"}),"Tokens"]}),s.total!=null&&a.jsx("span",{className:"s-lane-card-cockpit-tokens-hint",children:B(s.total)})]}),a.jsx("div",{className:"s-lane-card-cockpit-dials",children:s.dials.map(l=>a.jsxs("span",{className:"s-lane-card-cockpit-dial",children:[a.jsx("span",{className:"s-lane-card-cockpit-dial-value",children:P(l.value)}),a.jsx("span",{className:"s-lane-card-cockpit-dial-label",children:l.label})]},l.label))})]})}function I({pops:s}){const l=s.edits.rows.length>0,n=l?s.edits:s.files;if(n.rows.length===0)return null;const r=l?"Files modified":"Files touched";return a.jsxs("div",{className:"s-lane-card-cockpit-files","aria-label":r,children:[a.jsxs("div",{className:"s-lane-card-cockpit-tokens-head",children:[a.jsx("span",{className:"s-lane-card-cockpit-tokens-label",children:r}),a.jsx("span",{className:"s-lane-card-cockpit-tokens-hint",children:n.rows.length+n.more})]}),a.jsxs("div",{className:"s-lane-card-cockpit-files-list",children:[n.rows.map((e,c)=>a.jsxs("span",{className:"s-lane-card-cockpit-file",title:e.full??e.text,children:[a.jsx("span",{className:`s-lane-card-pop-mark s-lane-card-pop-mark--${e.tone}`,children:e.mark}),a.jsx("span",{className:"s-lane-card-cockpit-file-text",children:e.text})]},`${c}:${e.full||e.text}`)),n.more>0&&a.jsxs("span",{className:"s-lane-card-cockpit-file s-lane-card-cockpit-file--more",children:["+",n.more," more"]})]})]})}function g({model:s,cockpitHeight:l=null}){const n=y(l)==="stats";return a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"s-lane-card-summary",children:s.head?.placeholder?a.jsxs("div",{className:`s-lane-card-wait${s.working?" s-lane-card-wait--working":""}`,children:[a.jsx("span",{className:"s-lane-card-wait-dot","aria-hidden":"true"}),a.jsx("span",{className:"s-lane-card-wait-label",children:s.head.text})]}):a.jsxs("div",{className:`s-lane-card-current${s.head?.dir?"":" s-lane-card-current--console"}`,children:[s.head?.dir?a.jsx(W,{dir:s.head.dir}):a.jsx("span",{className:"s-lane-card-prompt","aria-hidden":"true",children:"❯"}),a.jsxs("span",{className:"s-lane-card-headwrap",children:[a.jsx("span",{className:"s-lane-card-head-text",children:s.head?.text??"Waiting for trace activity…"}),s.head?.full&&a.jsx("span",{className:"s-lane-card-headpop",role:"tooltip",children:s.head.full})]})]})}),a.jsxs("div",{className:"s-lane-card-accs",children:[a.jsx("div",{className:"s-lane-card-accs-tools",children:s.stats.tools>0?a.jsxs(a.Fragment,{children:[a.jsx(N,{value:s.stats.tools,label:"tools",group:s.pops.tools}),s.stats.edits>0&&a.jsx(N,{value:s.stats.edits,label:"edits",group:s.pops.edits}),s.stats.reads>0&&a.jsx(N,{value:s.stats.reads,label:"reads",group:s.pops.reads}),s.stats.files>0&&a.jsx(N,{value:s.stats.files,label:"files",group:s.pops.files})]}):a.jsx("span",{className:"s-lane-card-accs-empty",children:"no tool activity yet"})}),a.jsxs("div",{className:"s-lane-card-vitals",children:[a.jsxs("span",{className:`s-lane-card-instr s-lane-card-instr--ctx${s.context==null?" s-lane-card-instr--ctx-pending":""}`,title:s.context==null?"Context window — awaiting usage":`Context window ${s.context}% used`,children:[a.jsx("span",{className:"s-lane-card-gauge","aria-hidden":"true",children:a.jsx("span",{className:"s-lane-card-gauge-fill",style:{width:`${s.context??0}%`}})}),a.jsx("span",{className:"s-lane-card-instr-val",children:s.context==null?"—":`${s.context}%`}),a.jsx("span",{className:"s-lane-card-instr-label",children:"ctx"})]}),s.tokens&&a.jsxs("span",{className:"s-lane-card-instr",title:"Tokens currently in context",children:[a.jsx("span",{className:"s-lane-card-instr-val",children:s.tokens}),a.jsx("span",{className:"s-lane-card-instr-label",children:"ctx tokens"})]}),s.turns!=null&&a.jsxs("span",{className:"s-lane-card-instr",children:[a.jsx("span",{className:"s-lane-card-instr-val",children:s.turns}),a.jsx("span",{className:"s-lane-card-instr-label",children:s.turns===1?"turn":"turns"})]})]})]}),n&&(s.tokenUsage?a.jsx(S,{usage:s.tokenUsage}):a.jsx(I,{pops:s.pops}))]})}function V({model:s,avatar:l,trace:n,collapsed:r=!1,onToggleCollapsed:e,onOpen:c,cockpitHeight:i}){const{name:t,harness:o,model:h,effort:k,cwd:p,cwdFull:f,branch:x,sessionId:j,sessionIdFull:v,parentSessionId:m,parentSessionLabel:b}=s;return a.jsxs("section",{className:`s-lane-card${s.working?" s-lane-card--working":""}${r?" s-lane-card--collapsed":""}`,"aria-label":`${t} lane`,children:[c&&a.jsx("button",{type:"button",className:"s-lane-card-hit",onClick:c,"aria-label":`Inspect ${t}`}),a.jsxs("div",{className:"s-lane-card-head",children:[a.jsxs("span",{className:"s-lane-card-anchor s-lane-card-anchor--av",children:[a.jsx(M,{}),l]}),a.jsxs("div",{className:"s-lane-card-ident",children:[a.jsxs("span",{className:"s-lane-card-fieldc s-lane-card-fieldc--trail s-lane-card-namebox",children:[a.jsx("span",{className:"s-lane-card-name s-lane-card-sel",children:t}),s.authority&&a.jsx("span",{className:"s-lane-card-authority",title:s.authority.title,children:s.authority.label}),a.jsx(d,{value:t,label:"agent name",side:"trail"})]}),p&&a.jsxs("span",{className:"s-lane-card-fieldc s-lane-card-fieldc--trail s-lane-card-d s-lane-card-d--strong",title:f??p,children:[a.jsx(F,{}),a.jsx("span",{className:"s-lane-card-val s-lane-card-sel",children:p}),a.jsx(d,{value:f??p,label:"working directory",side:"trail"})]}),x&&a.jsxs("span",{className:"s-lane-card-fieldc s-lane-card-fieldc--trail s-lane-card-d",title:x,children:[a.jsx("span",{className:"s-lane-card-gchar","aria-hidden":"true",children:"⎇"}),a.jsx("span",{className:"s-lane-card-val s-lane-card-sel",children:x}),a.jsx(d,{value:x,label:"branch",side:"trail"})]})]}),a.jsxs("div",{className:"s-lane-card-meta",children:[o&&a.jsx("span",{className:"s-lane-card-anchor s-lane-card-anchor--hm",children:a.jsx(L,{harness:o,size:30,className:"s-lane-card-hmark"})}),a.jsxs("div",{className:"s-lane-card-meta-lines",children:[(h||k)&&a.jsxs("div",{className:"s-lane-card-meta-run",children:[h&&a.jsxs("span",{className:"s-lane-card-fieldc s-lane-card-fieldc--lead s-lane-card-modelwrap",children:[a.jsx("span",{className:"s-lane-card-meta-model s-lane-card-sel",children:h}),a.jsx(d,{value:h,label:"model",side:"lead"})]}),k&&a.jsx("span",{className:"s-lane-card-meta-effort s-lane-card-sel",children:k})]}),(j||m)&&a.jsxs("span",{className:"s-lane-card-fieldc s-lane-card-fieldc--lead s-lane-card-meta-sid",children:[a.jsx(T,{}),j&&a.jsx("span",{className:"s-lane-card-val s-lane-card-sel",children:j}),m&&a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"s-lane-card-gchar","aria-hidden":"true",children:"↳"}),a.jsx("span",{className:"s-lane-card-val s-lane-card-sel",children:b??m})]}),a.jsx(d,{value:v??m??j??"",label:"session id",side:"lead"})]}),a.jsxs("div",{className:"s-lane-card-meta-foot",children:[s.time&&a.jsxs("span",{className:"s-lane-card-time",children:[a.jsx("span",{className:"s-lane-card-time-dot","aria-hidden":"true"}),s.time]}),e&&a.jsx("button",{type:"button",className:"s-lane-card-caret","aria-label":r?"Expand summary":"Collapse summary","aria-expanded":!r,onClick:C=>{C.stopPropagation(),e()},children:a.jsx("svg",{viewBox:"0 0 10 10",width:"10",height:"10","aria-hidden":"true",children:a.jsx("path",{d:"M2 3.5 L5 6.5 L8 3.5",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})})]})]})]})]}),!r&&(i!==void 0?a.jsx(w,{cockpitHeight:i,children:a.jsx(g,{model:s,cockpitHeight:i})}):a.jsx(g,{model:s})),n]})}export{V as AgentLaneCard};
@@ -1 +1 @@
1
- import{j as e}from"./index-DMiGbrBt.js";const p=["sm","md","lg"];function j({title:n,width:l,defaultWidth:c,pinned:s,onTogglePin:h,onWidthChange:d,onResizeStart:m,resizing:r,widthControls:o=!0,statusLabel:t,live:g}){const i=typeof l=="string"?l:c;return e.jsxs("div",{className:`s-agent-lane-chrome${r?" s-agent-lane-chrome--resizing":""}`,children:[e.jsxs("div",{className:"s-agent-lane-chrome-body",children:[e.jsxs("div",{className:"s-agent-lane-chrome-top",children:[e.jsx("button",{type:"button",className:`s-agent-lane-chrome-pin${s?" s-agent-lane-chrome-pin--on":""}`,"aria-pressed":s,title:s?"Unpin lane":"Pin lane",onClick:h,children:e.jsx(u,{filled:s})}),e.jsx("span",{className:"s-agent-lane-chrome-title",title:n,children:n}),t?e.jsxs("span",{className:`s-agent-lane-chrome-status${g?" s-agent-lane-chrome-status--live":""}`,title:t,children:[e.jsx("span",{className:"s-agent-lane-chrome-status-dot","aria-hidden":"true"}),e.jsx("span",{className:"s-agent-lane-chrome-status-label",children:t})]}):null]}),o?e.jsx("div",{className:"s-agent-lane-chrome-widths",role:"group","aria-label":"Lane width",children:p.map(a=>e.jsx("button",{type:"button",className:`s-agent-lane-chrome-width-btn${i===a?" s-agent-lane-chrome-width-btn--on":""}`,"aria-pressed":i===a,title:`${a.toUpperCase()} width`,onClick:()=>d(a),children:a.toUpperCase()},a))}):null]}),o?e.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":"Resize lane width",title:"Drag to resize lane",className:`s-agent-lane-width-handle${r?" s-agent-lane-width-handle--active":""}`,onPointerDown:m}):null]})}function u({filled:n}){return e.jsx("svg",{viewBox:"0 0 12 12",width:"12",height:"12","aria-hidden":"true",children:e.jsx("path",{d:"M4.2 1.8h3.6l.5 1.8 1.9.8-.2 1.1-1.7.4-.8 3.1H4.3l-.8-3.1-1.7-.4-.2-1.1 1.9-.8.5-1.8Z",fill:n?"currentColor":"none",stroke:"currentColor",strokeWidth:"0.9",strokeLinejoin:"round"})})}export{j as AgentLaneChrome};
1
+ import{j as e}from"./index-sUomXsrf.js";const p=["sm","md","lg"];function j({title:n,width:l,defaultWidth:c,pinned:s,onTogglePin:h,onWidthChange:d,onResizeStart:m,resizing:r,widthControls:o=!0,statusLabel:t,live:g}){const i=typeof l=="string"?l:c;return e.jsxs("div",{className:`s-agent-lane-chrome${r?" s-agent-lane-chrome--resizing":""}`,children:[e.jsxs("div",{className:"s-agent-lane-chrome-body",children:[e.jsxs("div",{className:"s-agent-lane-chrome-top",children:[e.jsx("button",{type:"button",className:`s-agent-lane-chrome-pin${s?" s-agent-lane-chrome-pin--on":""}`,"aria-pressed":s,title:s?"Unpin lane":"Pin lane",onClick:h,children:e.jsx(u,{filled:s})}),e.jsx("span",{className:"s-agent-lane-chrome-title",title:n,children:n}),t?e.jsxs("span",{className:`s-agent-lane-chrome-status${g?" s-agent-lane-chrome-status--live":""}`,title:t,children:[e.jsx("span",{className:"s-agent-lane-chrome-status-dot","aria-hidden":"true"}),e.jsx("span",{className:"s-agent-lane-chrome-status-label",children:t})]}):null]}),o?e.jsx("div",{className:"s-agent-lane-chrome-widths",role:"group","aria-label":"Lane width",children:p.map(a=>e.jsx("button",{type:"button",className:`s-agent-lane-chrome-width-btn${i===a?" s-agent-lane-chrome-width-btn--on":""}`,"aria-pressed":i===a,title:`${a.toUpperCase()} width`,onClick:()=>d(a),children:a.toUpperCase()},a))}):null]}),o?e.jsx("div",{role:"separator","aria-orientation":"vertical","aria-label":"Resize lane width",title:"Drag to resize lane",className:`s-agent-lane-width-handle${r?" s-agent-lane-width-handle--active":""}`,onPointerDown:m}):null]})}function u({filled:n}){return e.jsx("svg",{viewBox:"0 0 12 12",width:"12",height:"12","aria-hidden":"true",children:e.jsx("path",{d:"M4.2 1.8h3.6l.5 1.8 1.9.8-.2 1.1-1.7.4-.8 3.1H4.3l-.8-3.1-1.7-.4-.2-1.1 1.9-.8.5-1.8Z",fill:n?"currentColor":"none",stroke:"currentColor",strokeWidth:"0.9",strokeLinejoin:"round"})})}export{j as AgentLaneChrome};
@@ -1,4 +1,4 @@
1
- import{r as o,j as e}from"./index-DMiGbrBt.js";import{S as ze}from"./SlidePanel-COwtoJqR.js";import{a as de}from"./api-h5zurxmi.js";import{A as He}from"./AgentAvatar-D90c1Rzk.js";import{H as qe}from"./HarnessMark-Cbv3Ib0c.js";import{t as re}from"./time-DltNTpLl.js";import{h as Je}from"./tail-display-BdyoLvzY.js";import{a as Ge}from"./colors-BtO5_zlx.js";import{c as V}from"./clipboard-e3fSpeo7.js";import{d as Ke,c as Ve}from"./context-budget-CbB4BDcO.js";import{l as Ue}from"./router-Bq5dwf78.js";import{u as Qe}from"./Provider-C7UKGHQy.js";import{s as Xe,t as Ye,b as Ze}from"./bash-format-BRV5C6Gv.js";import{i as es}from"./keyboard-nav-2kv_tGUS.js";import{o as te}from"./openContent-C6XO6kr5.js";import{b as ss,f as Se}from"./agent-lane-preview-CmHVe3dU.js";import{i as as}from"./terminal-sessions-D5CIR2OL.js";import{b as Le,a as ts,r as ns,d as ls}from"./agent-lane-detail-Djm3YJEa.js";import{l as is,a as rs,s as cs}from"./agent-lanes-model-B4YTt4OF.js";import{E as he}from"./external-link-CXBytO9o.js";async function os(s){return de("/api/session-control/compact",{method:"POST",body:JSON.stringify(s)})}function $e(s){return as(s.id)}function ds(s){return Le(s).sessionId?.trim()||null}function Ie(s){const t=ds(s);if(!t)return null;const n=$e(s.agent)?void 0:s.agent.id;return{view:"sessions",sessionId:t,...n?{agentId:n}:{}}}function hs(s){return Ie(s)}function us(s){return $e(s.agent)?null:{view:"agents-v2",agentId:s.agent.id,tab:"profile"}}const ms={created:"+",modified:"~",read:"○"},ps={blocked:"blocked",completed:"done",in_progress:"active",pending:"todo",unknown:"step"},Te=["s-lane-sheet-vitals","s-lane-sheet-runtime","s-lane-sheet-files","s-lane-sheet-commands","s-lane-sheet-plans","s-lane-sheet-docs"];function ce(s){return!!(s&&Te.includes(s))}function fs(){if(typeof window>"u")return null;const s=window.location.hash.replace(/^#/,"");return ce(s)?s:null}function ne(s){return typeof s!="number"||!Number.isFinite(s)?"—":s.toLocaleString()}function xs(s){return s>=1e6?`${(s/1e6).toFixed(1)}M`:s>=1e3?`${(s/1e3).toFixed(s>=1e5?0:1)}k`:`${s}`}function js(s){const t=s.lastIndexOf("/");return t<0?{dir:"",base:s}:{dir:s.slice(0,t+1),base:s.slice(t+1)}}const gs=new Set(["bash","shell","terminal","exec","run","command","exec_command","shell_command","local_shell","container_exec","container.exec"]);function vs(s){return s.replace(/\\(["\\/bfnrt])/g,(t,n)=>{switch(n){case"n":return`
1
+ import{r as o,j as e}from"./index-sUomXsrf.js";import{S as ze}from"./SlidePanel-FCqT1zO3.js";import{a as de}from"./api-h5zurxmi.js";import{A as He}from"./AgentAvatar-CufDA4A-.js";import{H as qe}from"./HarnessMark-Dm_qm1Ku.js";import{t as re}from"./time-Dhsh_2EG.js";import{h as Je}from"./tail-display-BdyoLvzY.js";import{a as Ge}from"./colors-BtO5_zlx.js";import{c as V}from"./clipboard-e3fSpeo7.js";import{d as Ke,c as Ve}from"./context-budget-DX_fwUs3.js";import{P as Ue}from"./router-Dja9_ygK.js";import{u as Qe}from"./Provider-tFc3jqZ4.js";import{s as Xe,t as Ye,b as Ze}from"./bash-format-BRV5C6Gv.js";import{i as es}from"./keyboard-nav-BhZZ5HEq.js";import{o as te}from"./openContent-C6XO6kr5.js";import{b as ss,f as Se}from"./agent-lane-preview-BtnfNyFR.js";import{i as as}from"./terminal-sessions-D5CIR2OL.js";import{b as Le,a as ts,r as ns,d as ls}from"./agent-lane-detail-Cw4QVAgH.js";import{l as is,a as rs,s as cs}from"./agent-lanes-model-Bl6xfviL.js";import{E as he}from"./external-link-CnjcXf32.js";async function os(s){return de("/api/session-control/compact",{method:"POST",body:JSON.stringify(s)})}function $e(s){return as(s.id)}function ds(s){return Le(s).sessionId?.trim()||null}function Ie(s){const t=ds(s);if(!t)return null;const n=$e(s.agent)?void 0:s.agent.id;return{view:"sessions",sessionId:t,...n?{agentId:n}:{}}}function hs(s){return Ie(s)}function us(s){return $e(s.agent)?null:{view:"agents-v2",agentId:s.agent.id,tab:"profile"}}const ms={created:"+",modified:"~",read:"○"},ps={blocked:"blocked",completed:"done",in_progress:"active",pending:"todo",unknown:"step"},Te=["s-lane-sheet-vitals","s-lane-sheet-runtime","s-lane-sheet-files","s-lane-sheet-commands","s-lane-sheet-plans","s-lane-sheet-docs"];function ce(s){return!!(s&&Te.includes(s))}function fs(){if(typeof window>"u")return null;const s=window.location.hash.replace(/^#/,"");return ce(s)?s:null}function ne(s){return typeof s!="number"||!Number.isFinite(s)?"—":s.toLocaleString()}function xs(s){return s>=1e6?`${(s/1e6).toFixed(1)}M`:s>=1e3?`${(s/1e3).toFixed(s>=1e5?0:1)}k`:`${s}`}function js(s){const t=s.lastIndexOf("/");return t<0?{dir:"",base:s}:{dir:s.slice(0,t+1),base:s.slice(t+1)}}const gs=new Set(["bash","shell","terminal","exec","run","command","exec_command","shell_command","local_shell","container_exec","container.exec"]);function vs(s){return s.replace(/\\(["\\/bfnrt])/g,(t,n)=>{switch(n){case"n":return`
2
2
  `;case"t":return" ";case"r":return"\r";case"b":return"\b";case"f":return"\f";default:return n}})}function ye(s){const t=s.filter(r=>typeof r=="string");if(t.length===0)return"";const n=t[0].replace(/^.*\//,"");return(t.length>=3&&(n==="bash"||n==="sh"||n==="zsh"||n==="fish")&&/^-[a-z]*c$/.test(t[1])?t.slice(2):t).join(" ").trim()}function Ns(s){const t=s?.trim();if(!t)return"";if(t.startsWith("{"))try{const n=JSON.parse(t);for(const i of["command","cmd","script","input","code"]){const r=n[i];if(typeof r=="string"&&r.trim())return r.trim();if(Array.isArray(r)){const l=ye(r);if(l)return l}}}catch{const n=t.match(/"(?:command|cmd|script|input|code)"\s*:\s*"((?:[^"\\]|\\.)*)/);if(n&&n[1].trim())return vs(n[1]).trim()}else if(t.startsWith("["))try{const n=JSON.parse(t);if(Array.isArray(n)){const i=ye(n);if(i)return i}}catch{}return t}function bs(s){const t=s.result;if(t)for(const n of["status","exit","matches","result","summary"]){const i=t[n];if(i!=null&&`${i}`.trim())return`${i}`.trim().slice(0,24)}return null}function ws(s,t=12){if(!s)return[];const n=[];for(const i of s.events){if(i.kind!=="tool"||!gs.has((i.tool??"").trim().toLowerCase()))continue;const r=Ns(i.arg);!r||r==="started"||r==="completed"||r.startsWith("[")||n.push({id:i.id,command:r,outcome:bs(i)})}return n.slice(-t)}function ks(s,t){const n=new Map;for(const i of t?.events??[]){if(i.kind!=="tool"||!i.diff||!i.arg)continue;const r=i.arg.trim().split(/[\\/]/).filter(Boolean).pop();if(!r)continue;const l=n.get(r)??{add:0,del:0};l.add+=i.diff.add??0,l.del+=i.diff.del??0,n.set(r,l)}return s.map(i=>{const r=i.path.split(/[\\/]/).filter(Boolean).pop()??i.path,l=n.get(r);return{...i,add:l?.add??0,del:l?.del??0}})}function le(s,t=48){return s?s.length<=t?s:`…${s.slice(-(t-1))}`:"—"}async function ys(s){await de("/api/local-path/reveal",{method:"POST",body:JSON.stringify({path:s.path,...s.basePath?{basePath:s.basePath}:{},...s.agentId?{agentId:s.agentId}:{},...s.sessionId?{sessionId:s.sessionId}:{}})})}function oe(s,t){return s.startsWith("/")||s.startsWith("~/")?s:t?`${t.replace(/\/$/u,"")}/${s}`:s}function U({value:s,label:t}){const[n,i]=o.useState(!1),r=o.useRef(null);o.useEffect(()=>()=>{r.current&&clearTimeout(r.current)},[]);const l=o.useCallback(h=>{h.preventDefault(),h.stopPropagation(),V(s).then(I=>{I&&(i(!0),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>i(!1),1100))})},[s]);return e.jsx("button",{type:"button",className:`s-lane-sheet-copy${n?" s-lane-sheet-copy--done":""}`,onClick:l,title:n?"Copied":`Copy ${t}`,"aria-label":n?`Copied ${t}`:`Copy ${t}`,children:n?e.jsx("svg",{viewBox:"0 0 12 12",width:"11",height:"11","aria-hidden":"true",children:e.jsx("path",{d:"M2.5 6.2 4.8 8.5 9.5 3.8",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})}):e.jsxs("svg",{viewBox:"0 0 12 12",width:"11",height:"11","aria-hidden":"true",children:[e.jsx("rect",{x:"3.4",y:"3.4",width:"5.8",height:"5.8",rx:"1.3",fill:"none",stroke:"currentColor",strokeWidth:"1"}),e.jsx("path",{d:"M2.4 7.2V2.8c0-.4.3-.7.7-.7h4",fill:"none",stroke:"currentColor",strokeWidth:"1",strokeLinecap:"round"})]})})}function Pe({path:s,basePath:t,agentId:n,sessionId:i,label:r}){return e.jsx("button",{type:"button",className:"s-lane-sheet-reveal",title:`Reveal ${r} in OS`,"aria-label":`Reveal ${r} in OS`,onClick:l=>{l.preventDefault(),l.stopPropagation(),ys({path:s,basePath:t,agentId:n,sessionId:i}).catch(h=>console.warn("Failed to reveal local path",h))},children:e.jsx(he,{size:11,strokeWidth:1.6})})}function K({id:s,label:t,count:n,actions:i}){return e.jsxs("div",{className:"s-lane-sheet-sechead",id:s,children:[e.jsx("span",{className:"s-lane-sheet-sechead-label",children:t}),n!=null&&n!==!1&&e.jsx("span",{className:"s-lane-sheet-sechead-count",children:n}),e.jsx("span",{className:"s-lane-sheet-sechead-rule","aria-hidden":"true"}),i&&e.jsx("span",{className:"s-lane-sheet-sechead-actions",children:i})]})}function C({children:s,onClick:t,primary:n=!1,disabled:i=!1}){return e.jsx("button",{type:"button",className:`s-lane-sheet-ghost${n?" s-lane-sheet-ghost--primary":""}`,onClick:t,disabled:i,children:s})}function y({label:s,value:t,title:n,copy:i,reveal:r}){return e.jsxs("div",{className:"s-lane-sheet-meta-row",children:[e.jsx("dt",{children:s}),e.jsxs("dd",{className:"s-lane-sheet-fact",children:[e.jsx("span",{className:"s-lane-sheet-fact-val",title:n??t,children:t}),r&&e.jsx(Pe,{...r,label:s}),i&&e.jsx(U,{value:i,label:s})]})]})}function ie({file:s,basePath:t,agentId:n,sessionId:i,onOpen:r}){const l=Se(s),h=s.path,I=oe(h,t),{dir:S,base:L}=js(h),A=s.add>0||s.del>0;return e.jsxs("div",{className:"s-lane-sheet-frow",title:h,children:[e.jsx("span",{className:`s-lane-sheet-fstate s-lane-sheet-fstate--${s.state}`,"aria-hidden":"true",children:ms[s.state]??"○"}),e.jsxs("span",{className:"s-lane-sheet-fpath",children:[S&&e.jsx("span",{className:"s-lane-sheet-fdir",children:S}),e.jsx("span",{className:"s-lane-sheet-fbase",children:L})]}),A&&e.jsxs("span",{className:"s-lane-sheet-fdiff",children:[s.add>0&&e.jsxs("span",{className:"s-lane-sheet-file-add",children:["+",s.add]}),s.del>0&&e.jsxs("span",{className:"s-lane-sheet-file-del",children:["−",s.del]})]}),e.jsxs("span",{className:"s-lane-sheet-frow-acts",children:[e.jsx("button",{type:"button",className:"s-lane-sheet-rowact",title:`Open ${l} in diff`,"aria-label":`Open ${l} in diff`,onClick:()=>r(I),children:e.jsx(he,{size:11,strokeWidth:1.6})}),e.jsx(Pe,{path:h,basePath:t,agentId:n,sessionId:i,label:l}),e.jsx(U,{value:h,label:"file path"})]})]})}function Cs({entry:s}){const{dir:t,rest:n}=Xe(Ye(s.command)),i=Ze(n||s.command);return e.jsxs("div",{className:"s-lane-sheet-crow",title:s.command,children:[e.jsx("span",{className:"s-lane-sheet-cmark","aria-hidden":"true",children:"❯"}),e.jsxs("span",{className:"s-lane-sheet-ctext",children:[t&&e.jsxs("span",{className:"s-lane-sheet-bash-dir",children:[t,"/"]}),i.map((r,l)=>e.jsxs("span",{className:`s-lane-sheet-bash-${r.tier}${r.known?" s-lane-sheet-bash-prog--known":""}${r.flag?" s-lane-sheet-bash-flag":""}`,children:[l>0?" ":"",r.text]},l))]}),s.outcome&&e.jsx("span",{className:"s-lane-sheet-cresult",children:s.outcome}),e.jsx("span",{className:"s-lane-sheet-crow-acts",children:e.jsx(U,{value:s.command,label:"command"})})]})}function Ce({label:s,hint:t,children:n}){const[i,r]=o.useState(!1);return e.jsxs("div",{className:`s-lane-sheet-disc${i?" s-lane-sheet-disc--open":""}`,children:[e.jsxs("button",{type:"button",className:"s-lane-sheet-disc-head","aria-expanded":i,onClick:()=>r(l=>!l),children:[e.jsx("span",{className:`s-lane-sheet-disc-caret${i?" s-lane-sheet-disc-caret--open":""}`,"aria-hidden":"true",children:"›"}),e.jsx("span",{className:"s-lane-sheet-disc-label",children:s}),t!=null&&t!==!1&&e.jsx("span",{className:"s-lane-sheet-disc-hint",children:t})]}),i&&e.jsx("div",{className:"s-lane-sheet-disc-body",children:n})]})}function Ss({plan:s,onOpen:t}){const[n,i]=o.useState(!1),r=s.steps.filter(h=>h.status==="completed").length,l=s.steps.find(h=>h.status==="in_progress");return e.jsxs("div",{className:`s-lane-sheet-plan${n?" s-lane-sheet-plan--open":""}`,children:[e.jsxs("button",{type:"button",className:"s-lane-sheet-plan-head","aria-expanded":n,onClick:()=>i(h=>!h),children:[e.jsx("span",{className:`s-lane-sheet-plan-caret${n?" s-lane-sheet-plan-caret--open":""}`,"aria-hidden":"true",children:"›"}),e.jsx("span",{className:"s-lane-sheet-plan-title",title:s.title,children:s.title}),e.jsxs("span",{className:"s-lane-sheet-plan-tally",children:[r,"/",s.steps.length]})]}),!n&&l&&e.jsxs("div",{className:"s-lane-sheet-plan-now",title:l.text,children:[e.jsx("span",{className:"s-lane-sheet-plan-now-mark","aria-hidden":"true",children:"▸"}),e.jsx("span",{className:"s-lane-sheet-plan-now-text",children:l.text})]}),n&&e.jsxs("div",{className:"s-lane-sheet-plan-steps",children:[s.steps.map(h=>e.jsxs("div",{className:`s-lane-sheet-pstep s-lane-sheet-pstep--${h.status}`,children:[e.jsx("span",{className:"s-lane-sheet-pstep-box","aria-hidden":"true",children:h.status==="completed"?"✓":h.status==="in_progress"?"▸":"○"}),e.jsx("span",{className:"s-lane-sheet-pstep-text",children:h.text})]},h.id)),e.jsx("div",{className:"s-lane-sheet-plan-foot",children:e.jsx(C,{onClick:t,children:"Open in Plans →"})})]})]})}function Ls({document:s,expanded:t,onToggle:n,onOpen:i}){const r=ls(s),l=s.steps.length>0;return e.jsxs("article",{className:"s-lane-sheet-doc",children:[e.jsxs("button",{type:"button",className:"s-lane-sheet-doc-head","aria-expanded":t,onClick:n,children:[e.jsx("span",{className:"s-lane-sheet-doc-title",children:s.title}),e.jsxs("span",{className:"s-lane-sheet-doc-meta",children:[l?`${s.steps.length} steps`:Se(s.path)," · ",re(s.updatedAt)]}),!t&&r&&e.jsx("span",{className:"s-lane-sheet-doc-excerpt",children:r})]}),t&&e.jsxs("div",{className:"s-lane-sheet-doc-body",children:[s.summary&&e.jsx("p",{className:"s-lane-sheet-doc-summary",children:s.summary}),l&&s.steps.length>0&&e.jsx("ol",{className:"s-lane-sheet-doc-steps",children:s.steps.map(h=>e.jsxs("li",{className:`s-lane-sheet-doc-step s-lane-sheet-doc-step--${h.status}`,children:[e.jsx("span",{className:"s-lane-sheet-doc-step-state",children:ps[h.status]}),e.jsx("span",{className:"s-lane-sheet-doc-step-text",children:h.text})]},h.id))}),(s.body||s.rawText)&&e.jsx("pre",{className:"s-lane-sheet-doc-pre",children:s.body||s.rawText}),e.jsx("button",{type:"button",className:"s-lane-sheet-doc-open",onClick:i,children:"Open in Plans"})]})]})}function $s({lane:s,navigate:t,returnRoute:n,onClose:i,navigationEnabled:r=!0}){const{agent:l,observe:h,source:I,lastActiveAt:S}=s,{openFilePreview:L}=Qe(),A=o.useMemo(()=>Ge(l.state??null,l),[l]),N=o.useMemo(()=>ss(h,l,{isLive:A}),[h,l,A]),[O,Q]=o.useState(!1),[D,ue]=o.useState([]),[F,me]=o.useState([]),[Ae,Oe]=o.useState(null),[R,De]=o.useState(!1),[Fe,pe]=o.useState(!1),[_,fe]=o.useState(!1),[xe,X]=o.useState(null),[f,Y]=o.useState("s-lane-sheet-vitals"),E=o.useRef(null),Z=o.useRef(null);o.useEffect(()=>()=>{E.current&&clearTimeout(E.current)},[]);const je=o.useCallback(a=>{typeof window>"u"||window.location.hash!==`#${a}`&&Ue({hash:a,replace:!1})},[]),W=o.useCallback(a=>{const u=Z.current,p=u?.querySelector(`#${a}`);if(!u||!p)return!1;const j=u.getBoundingClientRect().top,w=p.getBoundingClientRect().top;return u.scrollTop=Math.max(0,u.scrollTop+w-j),Y(a),!0},[]),T=o.useCallback((a,u)=>{a.preventDefault(),W(u)&&je(u)},[W,je]),z=is(l,I),Ee=rs(l,I),c=o.useMemo(()=>Le(s),[s]),d=s.facts,$=d?.turn?.phase?d.turn.phase==="started":A,m=o.useMemo(()=>{const a=d?.touchedFiles.length?d.touchedFiles:ts(h,1/0),u=ks(a,h),p=u.filter(g=>g.state==="created"),j=u.filter(g=>g.state==="modified"),w=u.filter(g=>g.state==="read"),M=[...p,...j];return{created:p,modified:j,read:w,changed:M,totalAdd:M.reduce((g,v)=>g+v.add,0),totalDel:M.reduce((g,v)=>g+v.del,0)}},[d,h]),H=m.changed.length+m.read.length,k=o.useMemo(()=>ws(h),[h]),ee=o.useMemo(()=>m.changed.map(a=>oe(a.path,c.cwd)).join(`
3
3
  `),[m.changed,c.cwd]),ge=o.useMemo(()=>{const a=[`agent: ${z}`],u=l.harness??c.harness,p=d?.model??c.model;(u||p||d?.effort)&&a.push(`harness: ${[u,p,d?.effort].filter(Boolean).join(" · ")}`);const j=d?.branch??c.branch;return j&&a.push(`branch: ${j}`),c.cwd&&a.push(`cwd: ${c.cwd}`),c.sessionId&&a.push(`session: ${c.sessionId}`),l.harnessLogPath&&a.push(`transcript: ${l.harnessLogPath}`),d?.originator&&a.push(`origin: ${d.originator}`),a.join(`
4
4
  `)},[l,d,z,c]),ve=o.useMemo(()=>k.map(a=>a.command).join(`
@@ -1 +1 @@
1
- import{r as a,j as R}from"./index-DMiGbrBt.js";const d="openscout:agent-lanes-cockpit-height",S="openscout:agent-lanes-summary-height",m=48,i=220,_=120,h=112,T=80,C=200,H=112;function v(e){if(!e)return i;const t=e.getBoundingClientRect().height,r=Math.floor(t-H-C);return Math.max(m,Math.min(i,r))}function x(e){return e===null?"auto":e<T?"compact":e<h?"default":"stats"}function w(){try{const e=sessionStorage.getItem(d)??sessionStorage.getItem(S);if(!e||e==="auto")return null;const t=Number(e);return Number.isFinite(t)?Math.min(i,Math.max(m,t)):null}catch{return null}}function f(e){try{if(e===null){sessionStorage.setItem(d,"auto");return}sessionStorage.setItem(d,String(Math.round(e)))}catch{}}function y(e){const[t,r]=a.useState(!1),s=a.useRef({y:0,h:_,max:i}),c=a.useRef(null),L=a.useCallback((n,o)=>{n.preventDefault(),n.currentTarget.setPointerCapture(n.pointerId);const u=n.currentTarget.closest(".s-agent-lane"),l=u?.querySelector(".s-agent-lane-cockpit")?.getBoundingClientRect().height??_,p=o??l,A=v(u);s.current={y:n.clientY,h:p,max:A},c.current=p,r(!0),document.body.classList.add("s-agent-lanes--resizing-summary")},[]),E=a.useCallback(()=>{r(n=>(n&&(document.body.classList.remove("s-agent-lanes--resizing-summary"),f(c.current)),!1))},[]);a.useEffect(()=>{if(!t)return;const n=u=>{const g=u.clientY-s.current.y,l=Math.min(s.current.max,Math.max(m,s.current.h+g));c.current=l,e(l)},o=()=>E();return window.addEventListener("pointermove",n),window.addEventListener("pointerup",o),window.addEventListener("pointercancel",o),()=>{window.removeEventListener("pointermove",n),window.removeEventListener("pointerup",o),window.removeEventListener("pointercancel",o)}},[E,t,e]);const M=a.useCallback(()=>{c.current=null,e(null),f(null)},[e]);return{beginResize:L,resetSummaryHeight:M,resizing:t}}function z({cockpitHeight:e,children:t}){const r=e!==null,s=x(e);return R.jsx("div",{className:`s-agent-lane-cockpit${r?` s-agent-lane-cockpit--sized s-agent-lane-cockpit--${s}`:""}`,style:r?{height:e,maxHeight:e}:void 0,children:t})}function N({onResizeStart:e,onReset:t,active:r}){return R.jsx("div",{role:"separator","aria-orientation":"horizontal","aria-label":"Resize tools panel",title:"Drag to resize tools panel · double-click to reset","aria-valuemin":m,"aria-valuemax":i,className:`s-agent-lane-split${r?" s-agent-lane-split--active":""}`,onPointerDown:e,onDoubleClick:s=>{s.preventDefault(),s.stopPropagation(),t()}})}export{z as AgentLaneCockpitPane,N as AgentLaneSummaryResizeHandle,T as LANE_COCKPIT_COMPACT_HEIGHT,h as LANE_COCKPIT_STATS_HEIGHT,_ as LANE_SUMMARY_HEIGHT_DEFAULT,i as LANE_SUMMARY_HEIGHT_MAX,m as LANE_SUMMARY_HEIGHT_MIN,d as LANE_SUMMARY_HEIGHT_STORAGE_KEY,v as cockpitHeightMaxForLane,x as cockpitHeightTier,w as readStoredLaneSummaryHeight,y as useLaneSummaryResize,f as writeStoredLaneSummaryHeight};
1
+ import{r as a,j as R}from"./index-sUomXsrf.js";const d="openscout:agent-lanes-cockpit-height",S="openscout:agent-lanes-summary-height",m=48,i=220,_=120,h=112,T=80,C=200,H=112;function v(e){if(!e)return i;const t=e.getBoundingClientRect().height,r=Math.floor(t-H-C);return Math.max(m,Math.min(i,r))}function x(e){return e===null?"auto":e<T?"compact":e<h?"default":"stats"}function w(){try{const e=sessionStorage.getItem(d)??sessionStorage.getItem(S);if(!e||e==="auto")return null;const t=Number(e);return Number.isFinite(t)?Math.min(i,Math.max(m,t)):null}catch{return null}}function f(e){try{if(e===null){sessionStorage.setItem(d,"auto");return}sessionStorage.setItem(d,String(Math.round(e)))}catch{}}function y(e){const[t,r]=a.useState(!1),s=a.useRef({y:0,h:_,max:i}),c=a.useRef(null),L=a.useCallback((n,o)=>{n.preventDefault(),n.currentTarget.setPointerCapture(n.pointerId);const u=n.currentTarget.closest(".s-agent-lane"),l=u?.querySelector(".s-agent-lane-cockpit")?.getBoundingClientRect().height??_,p=o??l,A=v(u);s.current={y:n.clientY,h:p,max:A},c.current=p,r(!0),document.body.classList.add("s-agent-lanes--resizing-summary")},[]),E=a.useCallback(()=>{r(n=>(n&&(document.body.classList.remove("s-agent-lanes--resizing-summary"),f(c.current)),!1))},[]);a.useEffect(()=>{if(!t)return;const n=u=>{const g=u.clientY-s.current.y,l=Math.min(s.current.max,Math.max(m,s.current.h+g));c.current=l,e(l)},o=()=>E();return window.addEventListener("pointermove",n),window.addEventListener("pointerup",o),window.addEventListener("pointercancel",o),()=>{window.removeEventListener("pointermove",n),window.removeEventListener("pointerup",o),window.removeEventListener("pointercancel",o)}},[E,t,e]);const M=a.useCallback(()=>{c.current=null,e(null),f(null)},[e]);return{beginResize:L,resetSummaryHeight:M,resizing:t}}function z({cockpitHeight:e,children:t}){const r=e!==null,s=x(e);return R.jsx("div",{className:`s-agent-lane-cockpit${r?` s-agent-lane-cockpit--sized s-agent-lane-cockpit--${s}`:""}`,style:r?{height:e,maxHeight:e}:void 0,children:t})}function N({onResizeStart:e,onReset:t,active:r}){return R.jsx("div",{role:"separator","aria-orientation":"horizontal","aria-label":"Resize tools panel",title:"Drag to resize tools panel · double-click to reset","aria-valuemin":m,"aria-valuemax":i,className:`s-agent-lane-split${r?" s-agent-lane-split--active":""}`,onPointerDown:e,onDoubleClick:s=>{s.preventDefault(),s.stopPropagation(),t()}})}export{z as AgentLaneCockpitPane,N as AgentLaneSummaryResizeHandle,T as LANE_COCKPIT_COMPACT_HEIGHT,h as LANE_COCKPIT_STATS_HEIGHT,_ as LANE_SUMMARY_HEIGHT_DEFAULT,i as LANE_SUMMARY_HEIGHT_MAX,m as LANE_SUMMARY_HEIGHT_MIN,d as LANE_SUMMARY_HEIGHT_STORAGE_KEY,v as cockpitHeightMaxForLane,x as cockpitHeightTier,w as readStoredLaneSummaryHeight,y as useLaneSummaryResize,f as writeStoredLaneSummaryHeight};
@@ -0,0 +1 @@
1
+ import{r as t,j as m}from"./index-sUomXsrf.js";import{u as a}from"./Provider-tFc3jqZ4.js";import{A as n}from"./AgentLanesView-CxfbV8Kd.js";import{i as c,j as l}from"./router-Dja9_ygK.js";import"./api-h5zurxmi.js";import"./sse-CVoGDiKW.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-BlBQhpax.js";import"./DocumentFocusViewer-DU_9BHsD.js";import"./createLucideIcon-DlxlBfLC.js";import"./TextDocumentSurface-C-9EtYqt.js";/* empty css */import"./file-text-i3xTDUjJ.js";import"./x-0XjXwGqq.js";import"./chevron-right-CyUa1zXx.js";import"./code-xml-05TD3uOC.js";import"./arrow-left-WjQIN9J6.js";import"./scout-voice-BZ4KqADJ.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-BhZZ5HEq.js";import"./MessageComposerSuggestions-zAUUcLOv.js";import"./NewChatComposer-B5FnPyzS.js";import"./runtime-picker-DOZpZOlt.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-lWOOKezu.js";import"./index-m6dFtY5f.js";import"./HarnessMark-Dm_qm1Ku.js";import"./conversation-model-C4yb6_FA.js";import"./time-Dhsh_2EG.js";import"./NewChatOrigin--pHWUb4V.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-BFai6ZfE.js";import"./search-DCT_EvPr.js";import"./chunk-HRAB3GC3-CvwpNg-G.js";/* empty css */import"./tail-events-CTipUIli.js";import"./observe-uJfIlIUV.js";import"./terminal-sessions-D5CIR2OL.js";import"./types-B0PlfpKc.js";import"./AgentAvatar-CufDA4A-.js";import"./SpriteAvatar-CQs-jC-v.js";import"./agent-identity-xQHedtLl.js";import"./SessionObserve-Dlx5vDaV.js";import"./bash-format-BRV5C6Gv.js";import"./tail-display-BdyoLvzY.js";import"./lane-edit-display-C_Aujldz.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-BzehBmdi.js";import"./lane-observe-DrhKkQ3A.js";import"./lane-ask-display-B6iCAVcd.js";import"./mentions-CY_wPZc5.js";import"./AgentDetailCard-DxxVkgT1.js";import"./AgentLiveActions-CZdAInEu.js";import"./terminal-takeover-X97KCSJk.js";import"./openContent-C6XO6kr5.js";import"./eye-So8tNNK6.js";import"./terminal-DXQISjZn.js";import"./message-markup-C8Nx04sP.js";import"./ObservedTopologyPanel-Dv6fbHzW.js";import"./ObserveTextFlow-CBitljxi.js";import"./use-reduced-motion-Cvk-HRKg.js";import"./SessionObserveEvidence-ChBD1d4c.js";import"./message-circle-C5UZ6fO7.js";import"./wrench-pEVd8JnN.js";import"./external-link-CnjcXf32.js";import"./AgentFloorView-CycUn0Lv.js";/* empty css */import"./agent-lanes-model-Bl6xfviL.js";import"./context-budget-DX_fwUs3.js";import"./lane-roster-store-NE15Oe6M.js";import"./AgentLanesPreflight-KWfLcaNB.js";import"./AgentLaneChrome-BfVygkgL.js";import"./AgentLaneCard-DTUvE96I.js";/* empty css */import"./AgentLaneSummaryResize-CMgzYvAA.js";import"./clipboard-e3fSpeo7.js";import"./agent-lane-card-model-BCIwPjEh.js";import"./agent-lane-preview-BtnfNyFR.js";import"./AgentLaneDetailSheet-CWs9wKWk.js";import"./SlidePanel-FCqT1zO3.js";import"./agent-lane-detail-Cw4QVAgH.js";import"./LaneTraceDetailSheet-CBf_aNZx.js";import"./LaneTraceEventFocus-DYvHfs_3.js";function p(r){return new URLSearchParams(window.location.search).get(r)?.trim()||null}function Kr(){const{agents:r,navigate:o}=a(),e=t.useMemo(()=>c(),[]),s=t.useMemo(()=>l(),[]),i=t.useMemo(()=>({harnessFilter:p("harness"),projectFilter:p("project")}),[]);return m.jsx("div",{className:"s-agent-lanes-embed","data-scout-theme":!0,children:m.jsx(n,{navigate:o,agents:r,embedded:!0,profileId:e,laneSize:s,harnessFilter:i.harnessFilter,projectFilter:i.projectFilter})})}export{Kr as AgentLanesEmbedScreen};
@@ -1 +1 @@
1
- import{r as d,j as s}from"./index-DMiGbrBt.js";import{t as k}from"./time-DltNTpLl.js";const w=3,E=12;function A(e){const n=e?.trim();return n?n.slice(0,13):null}function x(e){const n=e.lastEventAt;return typeof n=="number"&&Number.isFinite(n)&&n>0?n:e.mtimeMs}function D(e){return e.sessionId?.trim()||e.transcriptPath}function T(e){const n=e.max??E;if(e.discoveryPhase==="loading")return{cells:[],blindCells:Math.min(e.blindCells??w,n),identified:!1};const i=e.discovery?.transcripts??[],a=new Set,t=[];for(const l of i.filter(c=>{if(e.matchTranscript&&!e.matchTranscript(c))return!1;const r=e.now-x(c);return r>=0?r<=e.windowMs:!0}).sort((c,r)=>x(r)-x(c))){const c=D(l);if(!a.has(c)&&(a.add(c),t.push({key:c,source:l.source,sessionLabel:A(l.sessionId),project:l.project,cwd:l.cwd,lastActiveAt:x(l)}),t.length>=n))break}return{cells:t,blindCells:0,identified:!0}}function I(e){return e.sessionLabel?`${e.source}:${e.sessionLabel}`:e.source}const K=260,_=100;function S(e,n){const[i,a]=d.useState(e),[t,l]=d.useState(!1);return d.useEffect(()=>{if(e){a(!0),l(!1);return}if(!i)return;if(n<=0){a(!1),l(!1);return}l(!0);const c=setTimeout(()=>{a(!1),l(!1)},n);return()=>clearTimeout(c)},[e,n,i]),{visible:i,exiting:t}}function P(e,n){const i=d.useRef(Date.now()),[a,t]=d.useState({discoveryMs:null,recentMs:null,deckMs:null}),[l,c]=d.useState(0);return d.useEffect(()=>{t(r=>{const o=r.discoveryMs===null&&e.discovery!=="loading"?Date.now()-i.current:r.discoveryMs,m=r.recentMs===null&&e.recent!=="loading"?Date.now()-i.current:r.recentMs;return o===r.discoveryMs&&m===r.recentMs?r:{...r,discoveryMs:o,recentMs:m}})},[e.discovery,e.recent]),d.useEffect(()=>{n&&t(r=>r.deckMs===null?{...r,deckMs:Date.now()-i.current}:r)},[n]),d.useEffect(()=>{if(a.deckMs!==null)return;const r=()=>c(Date.now()-i.current);r();const o=setInterval(r,_);return()=>clearInterval(o)},[a.deckMs]),{...a,elapsedMs:l}}function N({seed:e,rows:n}){const i=d.useMemo(()=>{const a=[68,92,54,80,61,74];return Array.from({length:n},(t,l)=>a[(e+l)%a.length])},[n,e]);return s.jsx("div",{className:"s-lane-pre-bars","aria-hidden":"true",children:i.map((a,t)=>s.jsx("span",{className:"s-lane-pre-bar",style:{width:`${a}%`,animationDelay:`${e*110+t*90}ms`}},`${t}-${a}`))})}function R({cell:e,index:n,nowMs:i,style:a}){if(!e)return s.jsxs("div",{className:"s-lane-pre s-lane-pre--blind",style:a,"aria-hidden":"true",children:[s.jsxs("div",{className:"s-lane-pre-head",children:[s.jsx("span",{className:"s-lane-pre-ghost s-lane-pre-ghost--dot"}),s.jsx("span",{className:"s-lane-pre-ghost s-lane-pre-ghost--name"}),s.jsx("span",{className:"s-lane-pre-spacer"}),s.jsx("span",{className:"s-lane-pre-ghost s-lane-pre-ghost--meta"})]}),s.jsx(N,{seed:n,rows:6})]});const t=[e.project,e.cwd].find(l=>!!l)??"—";return s.jsxs("div",{className:"s-lane-pre",style:a,children:[s.jsxs("div",{className:"s-lane-pre-head",children:[s.jsx("span",{className:"s-lane-pre-dot","aria-hidden":"true"}),s.jsx("span",{className:"s-lane-pre-title",children:I(e)}),s.jsx("span",{className:"s-lane-pre-where",title:e.cwd??t,children:t}),s.jsx("span",{className:"s-lane-pre-spacer"}),s.jsx("span",{className:"s-lane-pre-age",children:k(e.lastActiveAt,i)})]}),s.jsx(N,{seed:n,rows:5})]})}function V({discovery:e,discoveryPhase:n,windowMs:i,nowMs:a,layout:t,gridColumns:l,laneWidthPx:c,matchTranscript:r}){const o=t==="grid",m=d.useMemo(()=>T({discovery:e,discoveryPhase:n,windowMs:i,now:a,matchTranscript:r}),[e,n,r,a,i]),h=m.identified?m.cells:Array.from({length:m.blindCells},()=>null);if(t==="none"||h.length===0)return s.jsx("div",{className:"s-agent-lanes-preflight-empty","aria-hidden":"true"});const p=h.map((f,b)=>s.jsx(R,{cell:f,index:b,nowMs:a,style:o?void 0:{width:`${c}px`,flex:"none"}},f?.key??`blind-${b}`));return o?s.jsx("div",{className:"s-agent-lanes-grid s-agent-lanes-grid--preflight","data-grid-columns":l,"aria-label":"Lane deck loading",children:p}):s.jsx("div",{className:"s-agent-lanes-body",children:s.jsx("section",{className:"s-agent-lanes-zone s-agent-lanes-zone--main",children:s.jsx("div",{className:"s-agent-lanes-scroll","aria-label":"Lane deck loading",children:p})})})}function v(e){return e==="ready"?"OK":e==="error"?"WARN":"RUN"}function j(e){return`s-lane-boot-step s-lane-boot-step--${e}`}function u(e,n){return`${e.toLocaleString()} ${n}${e===1?"":"s"}`}function g(e){return e===null?"":`${Math.round(e)}ms`}function G({loadState:e,sourceCount:n,processCount:i,eventCount:a,laneCount:t,horizonLabel:l,handedOff:c,exiting:r}){const o=P(e,c),m=e.discovery!=="loading"&&e.recent!=="loading",h=e.discovery==="ready"?`${u(n,"session source")} indexed`:e.discovery==="error"?"session source scan unavailable":"scanning local transcripts and harness processes",p=e.recent==="ready"?`${u(a,"recent event")} merged`:e.recent==="error"?"history replay unavailable; live signals remain enabled":`reading turns and tool output for the ${l} view`,f=t>0?`${u(t,"lane")} composed`:e.recent==="error"?`${u(a,"live signal")} in, no history`:a>0?`${u(a,"signal")} in, waiting on replay`:"waiting on first signals",b=e.discovery==="ready"?"done":e.discovery==="error"?"warn":"running",y=e.recent==="ready"?"done":e.recent==="error"?"warn":e.discovery==="loading"?"pending":"running",M=c?"done":e.recent==="loading"?"pending":"running",L=o.deckMs!==null?g(o.deckMs):o.elapsedMs<1e3?g(o.elapsedMs):`${(o.elapsedMs/1e3).toFixed(1)}s`,$=t>0;return s.jsxs("div",{className:["s-lane-boot",$?"s-lane-boot--bare":null,r?"s-lane-boot--exiting":null].filter(Boolean).join(" "),role:"status","aria-live":"polite","aria-busy":!m,children:[s.jsx("div",{className:"s-lane-boot-veil","aria-hidden":"true"}),s.jsxs("div",{className:"s-lane-boot-sheet",children:[s.jsxs("div",{className:"s-lane-boot-head",children:[s.jsx("span",{className:`s-lane-boot-dot${m?" s-lane-boot-dot--done":""}`,"aria-hidden":"true"}),s.jsx("span",{className:"s-lane-boot-lead",children:"Starting agent tail"}),s.jsxs("span",{className:"s-lane-boot-count",children:[n.toLocaleString()," sources"]}),s.jsxs("span",{className:"s-lane-boot-count",children:[i.toLocaleString()," live"]}),s.jsxs("span",{className:"s-lane-boot-count",children:[a.toLocaleString()," events"]}),t>0?s.jsxs("span",{className:"s-lane-boot-count",children:[t.toLocaleString()," lanes"]}):null,s.jsx("span",{className:"s-lane-boot-spacer"}),s.jsxs("span",{className:"s-lane-boot-meta",children:["lookback ",l]}),s.jsx("span",{className:"s-lane-boot-elapsed","aria-hidden":"true",children:L})]}),s.jsxs("div",{className:"s-lane-boot-log",children:[s.jsxs("div",{className:j(b),children:[s.jsx("span",{className:"s-lane-boot-state",children:v(e.discovery)}),s.jsx("strong",{className:"s-lane-boot-name",children:"discover sessions"}),s.jsx("code",{className:"s-lane-boot-detail",children:h}),s.jsx("span",{className:"s-lane-boot-timing",children:g(o.discoveryMs)})]}),s.jsxs("div",{className:j(y),children:[s.jsx("span",{className:"s-lane-boot-state",children:v(e.recent)}),s.jsx("strong",{className:"s-lane-boot-name",children:"replay recent tail"}),s.jsx("code",{className:"s-lane-boot-detail",children:p}),s.jsx("span",{className:"s-lane-boot-timing",children:g(o.recentMs)})]}),s.jsxs("div",{className:j(M),children:[s.jsx("span",{className:"s-lane-boot-state",children:c?"OK":"LIVE"}),s.jsx("strong",{className:"s-lane-boot-name",children:"assemble lanes"}),s.jsx("code",{className:"s-lane-boot-detail",children:f}),s.jsx("span",{className:"s-lane-boot-timing",children:g(o.deckMs)})]})]})]})]})}export{G as AgentLanesLoadingSheet,V as AgentLanesPreflightDeck,K as LANE_BOOT_EXIT_MS,S as useLaneBootVisibility};
1
+ import{r as d,j as s}from"./index-sUomXsrf.js";import{t as k}from"./time-Dhsh_2EG.js";const w=3,E=12;function A(e){const n=e?.trim();return n?n.slice(0,13):null}function x(e){const n=e.lastEventAt;return typeof n=="number"&&Number.isFinite(n)&&n>0?n:e.mtimeMs}function D(e){return e.sessionId?.trim()||e.transcriptPath}function T(e){const n=e.max??E;if(e.discoveryPhase==="loading")return{cells:[],blindCells:Math.min(e.blindCells??w,n),identified:!1};const i=e.discovery?.transcripts??[],a=new Set,t=[];for(const l of i.filter(c=>{if(e.matchTranscript&&!e.matchTranscript(c))return!1;const r=e.now-x(c);return r>=0?r<=e.windowMs:!0}).sort((c,r)=>x(r)-x(c))){const c=D(l);if(!a.has(c)&&(a.add(c),t.push({key:c,source:l.source,sessionLabel:A(l.sessionId),project:l.project,cwd:l.cwd,lastActiveAt:x(l)}),t.length>=n))break}return{cells:t,blindCells:0,identified:!0}}function I(e){return e.sessionLabel?`${e.source}:${e.sessionLabel}`:e.source}const K=260,_=100;function S(e,n){const[i,a]=d.useState(e),[t,l]=d.useState(!1);return d.useEffect(()=>{if(e){a(!0),l(!1);return}if(!i)return;if(n<=0){a(!1),l(!1);return}l(!0);const c=setTimeout(()=>{a(!1),l(!1)},n);return()=>clearTimeout(c)},[e,n,i]),{visible:i,exiting:t}}function P(e,n){const i=d.useRef(Date.now()),[a,t]=d.useState({discoveryMs:null,recentMs:null,deckMs:null}),[l,c]=d.useState(0);return d.useEffect(()=>{t(r=>{const o=r.discoveryMs===null&&e.discovery!=="loading"?Date.now()-i.current:r.discoveryMs,m=r.recentMs===null&&e.recent!=="loading"?Date.now()-i.current:r.recentMs;return o===r.discoveryMs&&m===r.recentMs?r:{...r,discoveryMs:o,recentMs:m}})},[e.discovery,e.recent]),d.useEffect(()=>{n&&t(r=>r.deckMs===null?{...r,deckMs:Date.now()-i.current}:r)},[n]),d.useEffect(()=>{if(a.deckMs!==null)return;const r=()=>c(Date.now()-i.current);r();const o=setInterval(r,_);return()=>clearInterval(o)},[a.deckMs]),{...a,elapsedMs:l}}function N({seed:e,rows:n}){const i=d.useMemo(()=>{const a=[68,92,54,80,61,74];return Array.from({length:n},(t,l)=>a[(e+l)%a.length])},[n,e]);return s.jsx("div",{className:"s-lane-pre-bars","aria-hidden":"true",children:i.map((a,t)=>s.jsx("span",{className:"s-lane-pre-bar",style:{width:`${a}%`,animationDelay:`${e*110+t*90}ms`}},`${t}-${a}`))})}function R({cell:e,index:n,nowMs:i,style:a}){if(!e)return s.jsxs("div",{className:"s-lane-pre s-lane-pre--blind",style:a,"aria-hidden":"true",children:[s.jsxs("div",{className:"s-lane-pre-head",children:[s.jsx("span",{className:"s-lane-pre-ghost s-lane-pre-ghost--dot"}),s.jsx("span",{className:"s-lane-pre-ghost s-lane-pre-ghost--name"}),s.jsx("span",{className:"s-lane-pre-spacer"}),s.jsx("span",{className:"s-lane-pre-ghost s-lane-pre-ghost--meta"})]}),s.jsx(N,{seed:n,rows:6})]});const t=[e.project,e.cwd].find(l=>!!l)??"—";return s.jsxs("div",{className:"s-lane-pre",style:a,children:[s.jsxs("div",{className:"s-lane-pre-head",children:[s.jsx("span",{className:"s-lane-pre-dot","aria-hidden":"true"}),s.jsx("span",{className:"s-lane-pre-title",children:I(e)}),s.jsx("span",{className:"s-lane-pre-where",title:e.cwd??t,children:t}),s.jsx("span",{className:"s-lane-pre-spacer"}),s.jsx("span",{className:"s-lane-pre-age",children:k(e.lastActiveAt,i)})]}),s.jsx(N,{seed:n,rows:5})]})}function V({discovery:e,discoveryPhase:n,windowMs:i,nowMs:a,layout:t,gridColumns:l,laneWidthPx:c,matchTranscript:r}){const o=t==="grid",m=d.useMemo(()=>T({discovery:e,discoveryPhase:n,windowMs:i,now:a,matchTranscript:r}),[e,n,r,a,i]),h=m.identified?m.cells:Array.from({length:m.blindCells},()=>null);if(t==="none"||h.length===0)return s.jsx("div",{className:"s-agent-lanes-preflight-empty","aria-hidden":"true"});const p=h.map((f,b)=>s.jsx(R,{cell:f,index:b,nowMs:a,style:o?void 0:{width:`${c}px`,flex:"none"}},f?.key??`blind-${b}`));return o?s.jsx("div",{className:"s-agent-lanes-grid s-agent-lanes-grid--preflight","data-grid-columns":l,"aria-label":"Lane deck loading",children:p}):s.jsx("div",{className:"s-agent-lanes-body",children:s.jsx("section",{className:"s-agent-lanes-zone s-agent-lanes-zone--main",children:s.jsx("div",{className:"s-agent-lanes-scroll","aria-label":"Lane deck loading",children:p})})})}function v(e){return e==="ready"?"OK":e==="error"?"WARN":"RUN"}function j(e){return`s-lane-boot-step s-lane-boot-step--${e}`}function u(e,n){return`${e.toLocaleString()} ${n}${e===1?"":"s"}`}function g(e){return e===null?"":`${Math.round(e)}ms`}function G({loadState:e,sourceCount:n,processCount:i,eventCount:a,laneCount:t,horizonLabel:l,handedOff:c,exiting:r}){const o=P(e,c),m=e.discovery!=="loading"&&e.recent!=="loading",h=e.discovery==="ready"?`${u(n,"session source")} indexed`:e.discovery==="error"?"session source scan unavailable":"scanning local transcripts and harness processes",p=e.recent==="ready"?`${u(a,"recent event")} merged`:e.recent==="error"?"history replay unavailable; live signals remain enabled":`reading turns and tool output for the ${l} view`,f=t>0?`${u(t,"lane")} composed`:e.recent==="error"?`${u(a,"live signal")} in, no history`:a>0?`${u(a,"signal")} in, waiting on replay`:"waiting on first signals",b=e.discovery==="ready"?"done":e.discovery==="error"?"warn":"running",y=e.recent==="ready"?"done":e.recent==="error"?"warn":e.discovery==="loading"?"pending":"running",M=c?"done":e.recent==="loading"?"pending":"running",L=o.deckMs!==null?g(o.deckMs):o.elapsedMs<1e3?g(o.elapsedMs):`${(o.elapsedMs/1e3).toFixed(1)}s`,$=t>0;return s.jsxs("div",{className:["s-lane-boot",$?"s-lane-boot--bare":null,r?"s-lane-boot--exiting":null].filter(Boolean).join(" "),role:"status","aria-live":"polite","aria-busy":!m,children:[s.jsx("div",{className:"s-lane-boot-veil","aria-hidden":"true"}),s.jsxs("div",{className:"s-lane-boot-sheet",children:[s.jsxs("div",{className:"s-lane-boot-head",children:[s.jsx("span",{className:`s-lane-boot-dot${m?" s-lane-boot-dot--done":""}`,"aria-hidden":"true"}),s.jsx("span",{className:"s-lane-boot-lead",children:"Starting agent tail"}),s.jsxs("span",{className:"s-lane-boot-count",children:[n.toLocaleString()," sources"]}),s.jsxs("span",{className:"s-lane-boot-count",children:[i.toLocaleString()," live"]}),s.jsxs("span",{className:"s-lane-boot-count",children:[a.toLocaleString()," events"]}),t>0?s.jsxs("span",{className:"s-lane-boot-count",children:[t.toLocaleString()," lanes"]}):null,s.jsx("span",{className:"s-lane-boot-spacer"}),s.jsxs("span",{className:"s-lane-boot-meta",children:["lookback ",l]}),s.jsx("span",{className:"s-lane-boot-elapsed","aria-hidden":"true",children:L})]}),s.jsxs("div",{className:"s-lane-boot-log",children:[s.jsxs("div",{className:j(b),children:[s.jsx("span",{className:"s-lane-boot-state",children:v(e.discovery)}),s.jsx("strong",{className:"s-lane-boot-name",children:"discover sessions"}),s.jsx("code",{className:"s-lane-boot-detail",children:h}),s.jsx("span",{className:"s-lane-boot-timing",children:g(o.discoveryMs)})]}),s.jsxs("div",{className:j(y),children:[s.jsx("span",{className:"s-lane-boot-state",children:v(e.recent)}),s.jsx("strong",{className:"s-lane-boot-name",children:"replay recent tail"}),s.jsx("code",{className:"s-lane-boot-detail",children:p}),s.jsx("span",{className:"s-lane-boot-timing",children:g(o.recentMs)})]}),s.jsxs("div",{className:j(M),children:[s.jsx("span",{className:"s-lane-boot-state",children:c?"OK":"LIVE"}),s.jsx("strong",{className:"s-lane-boot-name",children:"assemble lanes"}),s.jsx("code",{className:"s-lane-boot-detail",children:f}),s.jsx("span",{className:"s-lane-boot-timing",children:g(o.deckMs)})]})]})]})]})}export{G as AgentLanesLoadingSheet,V as AgentLanesPreflightDeck,K as LANE_BOOT_EXIT_MS,S as useLaneBootVisibility};