@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
@@ -1,2 +1,2 @@
1
- import{r as p,j as e}from"./index-DMiGbrBt.js";import{u as _}from"./Provider-C7UKGHQy.js";import{o as q}from"./openAgent-Bjt57GdM.js";import{o as C}from"./openContent-C6XO6kr5.js";import{a as H,i as K,b as Q,c as X}from"./colors-BtO5_zlx.js";import{a as v}from"./api-h5zurxmi.js";import{c as G}from"./clipboard-e3fSpeo7.js";import{r as J,a as U}from"./operator-attention-BwSPeheT.js";import{u as D}from"./sse-CjIkKo46.js";import{t as j}from"./time-DltNTpLl.js";import{X as V}from"./x-D3GElQbe.js";import{C as Y}from"./check-DjgFiBxb.js";import{C as Z}from"./copy-CQGYbxdu.js";import"./router-Bq5dwf78.js";import"./terminal-sessions-D5CIR2OL.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-bARZqTzD.js";import"./DocumentFocusViewer-BeVwwl26.js";import"./createLucideIcon-OpA4Amw5.js";import"./TextDocumentSurface-BpAw4eQS.js";/* empty css */import"./file-text-BODxCjcz.js";import"./chevron-right-XiIHsk4m.js";import"./code-xml-B6jOCM4V.js";import"./arrow-left-DEZzHiPS.js";import"./scout-voice-CU5c0LGi.js";import"./fx-z37u1o2z.js";import"./keyboard-nav-2kv_tGUS.js";import"./MessageComposerSuggestions-DpxN9WiB.js";import"./NewChatComposer-Cs6OsxK6.js";import"./runtime-picker-Bcl5iIX5.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-CbHjZsz1.js";import"./index-CJXzfjo9.js";import"./HarnessMark-Cbv3Ib0c.js";import"./conversation-model-B47vYmWN.js";import"./NewChatOrigin-Bk2OyVjI.js";import"./agent-chat-Bfjd9y6c.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./chevron-down-BGk5qoEw.js";import"./search-CWfZtOt2.js";import"./index-BWHgHrtv.js";const ee={blocked:"blocked",completed:"done",in_progress:"active",pending:"todo",unknown:"step"},te={mission:"Control",plan:"Plans",issues:"Alerts",tail:"Tail",atop:"Runtime",agents:"Agents",lanes:"Lanes"},se={blocked:"!",completed:"x",in_progress:">",pending:" ",unknown:"-"};function ne(t,s){return t&&typeof t=="object"&&!Array.isArray(t)?t[s]:void 0}function A(t,s){const a=ne(t,s);return typeof a=="string"&&a.trim()?a.trim():null}function W(t){return A(t.input,"task")??A(t.input,"action")}function T(t){return A(t.output,"summary")??A(t.output,"text")}function z(t){const s=t.replace(/\\/g,"/").replace(/\/+$/g,""),a=s.lastIndexOf("/");return a>=0?s.slice(a+1):s}function ae(t,s=180){const a=t.replace(/\s+/g," ").trim();return a.length<=s?a:`${a.slice(0,Math.max(0,s-1)).trimEnd()}...`}function $(t){return t.toLowerCase().replace(/[^a-z0-9_/-]+/g," ").split(/\s+/).map(s=>s.trim()).filter(s=>s.length>=4).filter(s=>!["plan","plans","todo","work","task","docs","markdown"].includes(s)).slice(0,8)}function I(t,s){const a=s.filter(Boolean).join(" ").toLowerCase();if(!a)return 0;const r=t.path.toLowerCase(),o=z(r).toLowerCase(),x=t.title.toLowerCase();let c=0;r&&a.includes(r)&&(c+=8),o&&a.includes(o)&&(c+=6),x.length>8&&a.includes(x)&&(c+=6);for(const d of t.tags)d.length>=3&&a.includes(d.toLowerCase())&&(c+=2);for(const d of $(t.title))a.includes(d)&&(c+=1);for(const d of t.steps.slice(0,8))for(const u of $(d.text).slice(0,3))a.includes(u)&&(c+=1);return c}function le(t,s){let a=I(t,[s.id,s.title,s.preview,s.agentName,s.harness,s.harnessSessionId,s.harnessLogPath,s.currentBranch,s.workspaceRoot,s.participantIds.join(" ")]);return t.agentId&&s.agentId===t.agentId&&(a+=4),t.agentName&&s.agentName&&t.agentName===s.agentName&&(a+=2),t.workspaceName&&s.workspaceRoot&&z(s.workspaceRoot).toLowerCase()===t.workspaceName.toLowerCase()&&(a+=3),a}function ce(t){const s=new Map;for(const a of t)if(a.status==="fulfilled")for(const r of a.value)s.set(r.id,r);return[...s.values()]}function ie(t,s){if(!t)return{asks:[],runs:[],sessions:[],workItems:[],attention:[]};const a=6,r=[...s.fleet?.activeAsks??[],...s.fleet?.recentCompleted??[]].filter(l=>I(t,[l.task,l.summary,l.agentName,l.collaborationRecordId])>=a).slice(0,8),o=s.runs.filter(l=>I(t,[W(l),T(l),l.agentName,l.workId,l.collaborationRecordId])>=a).slice(0,8),x=s.workItems.filter(l=>I(t,[l.title,l.summary,l.lastMeaningfulSummary,l.parentTitle,l.ownerName,l.nextMoveOwnerName])>=a).slice(0,8),c=(s.fleet?.needsAttention??[]).filter(l=>I(t,[l.title,l.summary,l.agentName])>=a).slice(0,6),d=new Set,u=new Set;for(const l of r)l.conversationId&&d.add(l.conversationId);for(const l of o){l.conversationId&&d.add(l.conversationId);for(const b of l.traceSessionIds??[])u.add(b)}for(const l of x)l.conversationId&&d.add(l.conversationId);for(const l of c)l.conversationId&&d.add(l.conversationId);const f=s.sessions.filter(l=>d.has(l.id)||(l.harnessSessionId?u.has(l.harnessSessionId):!1)||le(t,l)>=a).slice(0,8);return{asks:r,runs:o,sessions:f,workItems:x,attention:c}}function ct({mode:t,agents:s,navigate:a,returnRoute:r}){const[o,x]=p.useState(null),[c,d]=p.useState(()=>typeof window>"u"?null:F(window.scoutOpsDetailSnapshot)),u=p.useCallback(async()=>{const i=await v("/api/fleet").catch(()=>null);x(i)},[]);if(p.useEffect(()=>{u()},[u]),p.useEffect(()=>{const i=N=>{d(F(N.detail))};return window.addEventListener("scout:ops-detail",i),()=>window.removeEventListener("scout:ops-detail",i)},[]),D(i=>{(i.kind==="message.posted"||i.kind==="flight.updated"||i.kind==="collaboration.event.appended")&&u()}),t==="plan")return e.jsx(pe,{navigate:a,returnRoute:r});if(t==="tail"||t==="issues")return e.jsx(re,{detail:c?.source==="tail"?c:null,mode:t,navigate:a});const f=(o?.activeAsks??[]).filter(i=>i.status!=="needs_attention"),l=o?.needsAttention??[];if(t==="lanes")return null;const b=s.filter(i=>H(i.state)),S=s.filter(i=>K(i.state)),y=[...s].sort((i,N)=>(N.updatedAt??0)-(i.updatedAt??0)).slice(0,7);return e.jsxs("div",{className:"ctx-panel ctx-panel--ops-inspector",children:[c&&e.jsxs("section",{className:"ctx-panel-section ctx-panel-selected-detail",children:[e.jsx("div",{className:"ctx-panel-section-label",children:c.focus==="flow"?"Message":"Selection"}),e.jsxs("div",{className:"ctx-panel-selected-card",children:[e.jsx("div",{className:"ctx-panel-selected-title",children:c.title}),e.jsx("div",{className:"ctx-panel-selected-meta",children:c.meta}),e.jsx("div",{className:"ctx-panel-selected-body",children:c.body}),c.action&&e.jsx("button",{type:"button",className:"ctx-panel-selected-action",onClick:()=>a(c.action.route),children:c.action.label})]})]}),e.jsxs("section",{className:"ctx-panel-section ctx-panel-ops-summary",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Ops Context"}),e.jsxs("div",{className:"ctx-panel-ops-mode-card",children:[e.jsx("span",{children:"Current"}),e.jsx("strong",{children:te[t]}),e.jsx("small",{children:o?`${j(o.generatedAt)} refresh`:"loading"})]}),e.jsxs("div",{className:"ctx-panel-stat-grid",children:[e.jsx(k,{label:"Needs",value:l.length,tone:l.length>0?"warn":"ok"}),e.jsx(k,{label:"Active",value:f.length}),e.jsx(k,{label:"Online",value:`${S.length}/${s.length}`}),e.jsx(k,{label:"Working",value:b.length})]})]}),e.jsxs("section",{className:"ctx-panel-section",children:[e.jsxs("div",{className:"ctx-panel-section-label",children:["Queue",l.length>0&&e.jsx("span",{className:"ctx-panel-count",children:l.length})]}),l.length===0?e.jsx("div",{className:"ctx-panel-empty",children:"No operator cues"}):e.jsx("div",{className:"ctx-panel-list",children:l.slice(0,5).map(i=>e.jsx(ue,{item:i,navigate:a},i.recordId))})]}),e.jsxs("section",{className:"ctx-panel-section",children:[e.jsxs("div",{className:"ctx-panel-section-label",children:["Runs",f.length>0&&e.jsx("span",{className:"ctx-panel-count",children:f.length})]}),f.length===0?e.jsx("div",{className:"ctx-panel-empty",children:"No active requests"}):e.jsx("div",{className:"ctx-panel-list",children:f.slice(0,5).map(i=>e.jsx(he,{ask:i,navigate:a},i.invocationId))})]}),e.jsxs("section",{className:"ctx-panel-section",children:[e.jsxs("div",{className:"ctx-panel-section-label",children:["Recent activity",y.length>0&&e.jsx("span",{className:"ctx-panel-count",children:y.length})]}),e.jsx("div",{className:"ctx-panel-pulse-list",children:y.map(i=>e.jsxs("button",{type:"button",className:"ctx-panel-pulse-row",onClick:()=>q(a,i,{returnTo:r}),children:[e.jsx("span",{className:`ctx-panel-pulse-dot ctx-panel-pulse-dot--${Q(i.state)}`}),e.jsx("span",{children:i.name}),e.jsxs("small",{children:[X(i.state)," · ",i.updatedAt?j(i.updatedAt):"unknown"]})]},i.id))})]})]})}function oe(){if(typeof window>"u")return;const t=window;t.scoutOpsDetailSnapshot=null,window.dispatchEvent(new CustomEvent("scout:ops-detail",{detail:null}))}function re({detail:t,mode:s,navigate:a}){const r=s==="issues"?"Alert detail":"Tail detail",o=t?.copy?.find(c=>c.label==="Copy message")?.value??t?.body??"",x=t?.copy?.find(c=>c.label==="Copy metadata")?.value??t?.metadata?.map(c=>`${c.label}: ${c.value}`).join(`
2
- `)??"";return e.jsx("div",{className:"ctx-panel ctx-panel--ops-inspector ctx-panel--tail-inspector",children:e.jsxs("section",{className:"ctx-panel-section ctx-panel-tail-detail",children:[e.jsxs("div",{className:"ctx-panel-section-label ctx-panel-tail-detail-label",children:[e.jsx("span",{children:r}),t&&e.jsx("button",{type:"button",className:"ctx-panel-tail-icon-button",onClick:oe,"aria-label":"Clear Tail detail",title:"Clear",children:e.jsx(V,{size:13,strokeWidth:2,"aria-hidden":"true"})})]}),t?e.jsxs("div",{className:"ctx-panel-tail-card",children:[e.jsxs("div",{className:"ctx-panel-tail-card-head",children:[e.jsx("div",{className:"ctx-panel-tail-card-title",children:t.title}),e.jsx("div",{className:"ctx-panel-tail-card-meta",children:t.meta})]}),t.metadata&&t.metadata.length>0&&e.jsxs("div",{className:"ctx-panel-tail-copy-scope",children:[e.jsx("dl",{className:"ctx-panel-tail-metadata",children:t.metadata.map(c=>e.jsxs("div",{className:"ctx-panel-tail-metadata-row",children:[e.jsx("dt",{children:c.label}),e.jsx("dd",{title:c.value,children:c.value})]},c.label))}),x&&e.jsx(B,{label:"Copy metadata",value:x})]}),t.action&&e.jsx("div",{className:"ctx-panel-tail-actions",children:e.jsx("button",{type:"button",className:"ctx-panel-tail-action-button",onClick:()=>a(t.action.route),children:t.action.label})}),e.jsxs("div",{className:"ctx-panel-tail-copy-scope ctx-panel-tail-copy-scope--message",children:[e.jsx("div",{className:"ctx-panel-tail-message",children:t.body}),o&&e.jsx(B,{label:"Copy message",value:o})]})]}):e.jsxs("div",{className:"ctx-panel-tail-empty-card",children:[e.jsx("span",{children:"Tail"}),e.jsx("strong",{children:"No log selected"})]})]})})}function B({label:t,value:s}){const[a,r]=p.useState(!1),o=p.useRef(null);p.useEffect(()=>()=>{o.current!=null&&window.clearTimeout(o.current)},[]);const x=p.useCallback(async()=>{await G(s)&&(r(!0),o.current!=null&&window.clearTimeout(o.current),o.current=window.setTimeout(()=>r(!1),1200))},[s]);return e.jsxs("button",{type:"button",className:`ctx-panel-tail-hover-copy${a?" ctx-panel-tail-hover-copy--copied":""}`,onClick:()=>{x()},title:t,children:[a?e.jsx(Y,{size:13,strokeWidth:2,"aria-hidden":"true"}):e.jsx(Z,{size:13,strokeWidth:1.9,"aria-hidden":"true"}),e.jsx("span",{children:a?"Copied":t})]})}function pe({navigate:t,returnRoute:s}){const[a,r]=p.useState(null),[o,x]=p.useState(null),[c,d]=p.useState([]),[u,f]=p.useState([]),[l,b]=p.useState([]),[S,y]=p.useState(!1),i=s.view==="ops"&&s.mode==="plan"?s.planDocumentId:void 0,N=p.useCallback(async()=>{const[n,g,O,P,E,M]=await Promise.allSettled([v("/api/plan-documents"),v("/api/fleet"),v("/api/work?limit=250"),v("/api/work?active=false&limit=250"),v("/api/runs?active=false&limit=500"),v("/api/conversations?limit=250")]);n.status==="fulfilled"&&r(n.value),g.status==="fulfilled"&&x(g.value),(O.status==="fulfilled"||P.status==="fulfilled")&&d(ce([O,P])),E.status==="fulfilled"&&f(E.value),M.status==="fulfilled"&&b(M.value),y(!0)},[]);p.useEffect(()=>{y(!1),N()},[N]),D(n=>{(n.kind==="message.posted"||n.kind==="flight.updated"||n.kind==="collaboration.event.appended")&&N()});const R=a?.documents??[],h=p.useMemo(()=>R.find(n=>n.id===i)??R[0]??null,[R,i]),m=p.useMemo(()=>ie(h,{fleet:o,runs:u,sessions:l,workItems:c}),[o,u,h,l,c]),L=m.attention.length+m.workItems.length+m.asks.length+m.runs.length+m.sessions.length;return h?e.jsxs("div",{className:"ctx-panel ctx-panel--ops-inspector ctx-panel--plan-inspector",children:[e.jsxs("section",{className:"ctx-panel-section ctx-panel-plan-summary",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Plan Context"}),e.jsxs("div",{className:"ctx-panel-plan-card",children:[e.jsx("span",{children:"Current"}),e.jsx("strong",{children:h.title}),e.jsxs("small",{children:[h.path," · ",j(h.updatedAt)]}),h.summary&&e.jsx("p",{children:h.summary})]})]}),e.jsxs("section",{className:"ctx-panel-section",children:[e.jsxs("div",{className:"ctx-panel-section-label",children:["Steps",e.jsx("span",{className:"ctx-panel-count",children:h.steps.length})]}),h.steps.length===0?e.jsx("div",{className:"ctx-panel-empty",children:"No checklist steps parsed"}):e.jsx("div",{className:"ctx-panel-plan-step-list",children:h.steps.map(n=>e.jsxs("div",{className:`ctx-panel-plan-step ctx-panel-plan-step--${n.status}`,children:[e.jsx("span",{className:"ctx-panel-plan-step-marker",children:se[n.status]}),e.jsx("span",{className:"ctx-panel-plan-step-text",children:n.text}),e.jsx("span",{className:"ctx-panel-plan-step-state",children:ee[n.status]})]},n.id))})]}),e.jsxs("section",{className:"ctx-panel-section",children:[e.jsxs("div",{className:"ctx-panel-section-label",children:["Around This Plan",e.jsx("span",{className:"ctx-panel-count",children:L})]}),L===0?e.jsx("div",{className:"ctx-panel-empty",children:"No nearby activity matched yet"}):null]}),e.jsx(w,{title:"Sessions",count:m.sessions.length,children:m.sessions.map(n=>e.jsx("button",{type:"button",className:"ctx-panel-item ctx-panel-plan-context-item",onClick:()=>C(t,{view:"conversation",conversationId:n.id},{returnTo:s}),children:e.jsxs("div",{className:"ctx-panel-body",children:[e.jsx("span",{className:"ctx-panel-name",children:n.title||n.agentName||n.id}),e.jsxs("span",{className:"ctx-panel-sub",children:[n.kind," · ",n.agentName??n.harness??"session"," · ",n.messageCount," msg"]}),e.jsx("span",{className:"ctx-panel-preview",children:n.preview?.trim()||n.workspaceRoot||n.id})]})},n.id))}),e.jsx(w,{title:"Work Items",count:m.workItems.length,children:m.workItems.map(n=>e.jsx("button",{type:"button",className:"ctx-panel-item ctx-panel-plan-context-item",onClick:()=>C(t,{view:"work",workId:n.id},{returnTo:s}),children:e.jsxs("div",{className:"ctx-panel-body",children:[e.jsx("span",{className:"ctx-panel-name",children:n.title}),e.jsxs("span",{className:"ctx-panel-sub",children:[n.currentPhase||n.state," · ",j(n.lastMeaningfulAt||n.updatedAt)]}),(n.summary||n.lastMeaningfulSummary)&&e.jsx("span",{className:"ctx-panel-preview",children:n.summary??n.lastMeaningfulSummary})]})},n.id))}),e.jsx(w,{title:"Runs",count:m.runs.length,children:m.runs.map(n=>e.jsx("button",{type:"button",className:"ctx-panel-item ctx-panel-plan-context-item",onClick:()=>t(me(n)),children:e.jsxs("div",{className:"ctx-panel-body",children:[e.jsx("span",{className:"ctx-panel-name",children:ae(W(n)??n.agentName??n.id,120)}),e.jsxs("span",{className:"ctx-panel-sub",children:[n.agentName??n.agentId," · ",n.state," · ",j(n.updatedAt)]}),T(n)&&e.jsx("span",{className:"ctx-panel-preview",children:T(n)})]})},n.id))}),e.jsx(w,{title:"Requests",count:m.asks.length,children:m.asks.map(n=>e.jsx("button",{type:"button",className:"ctx-panel-item ctx-panel-plan-context-item",onClick:()=>t(de(n)),children:e.jsxs("div",{className:"ctx-panel-body",children:[e.jsx("span",{className:"ctx-panel-name",children:n.task}),e.jsxs("span",{className:"ctx-panel-sub",children:[n.agentName??n.agentId," · ",n.statusLabel," · ",j(n.updatedAt)]}),n.summary&&e.jsx("span",{className:"ctx-panel-preview",children:n.summary})]})},n.invocationId))}),e.jsx(w,{title:"Attention",count:m.attention.length,children:m.attention.map(n=>{const g=xe(n);return e.jsx("button",{type:"button",className:"ctx-panel-item ctx-panel-item--attention ctx-panel-plan-context-item",onClick:()=>g&&t(g),disabled:!g,children:e.jsxs("div",{className:"ctx-panel-body",children:[e.jsx("span",{className:"ctx-panel-name",children:n.title}),e.jsxs("span",{className:"ctx-panel-sub",children:[n.kind," · ",j(n.updatedAt)]}),n.summary&&e.jsx("span",{className:"ctx-panel-preview",children:n.summary})]})},n.recordId)})})]}):e.jsx("div",{className:"ctx-panel ctx-panel--ops-inspector ctx-panel--plan-inspector",children:e.jsxs("section",{className:"ctx-panel-section ctx-panel-ops-summary",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Plan Context"}),e.jsx("div",{className:"ctx-panel-empty",children:S?"No plan document selected":"Indexing plan documents"})]})})}function w({title:t,count:s,children:a}){return e.jsxs("section",{className:"ctx-panel-section",children:[e.jsxs("div",{className:"ctx-panel-section-label",children:[t,e.jsx("span",{className:"ctx-panel-count",children:s})]}),s===0?e.jsx("div",{className:"ctx-panel-empty",children:"None matched"}):e.jsx("div",{className:"ctx-panel-list",children:a})]})}function de(t){return J(t)}function me(t){return t.conversationId?{view:"conversation",conversationId:t.conversationId}:t.workId?{view:"work",workId:t.workId}:{view:"agents-v2",agentId:t.agentId}}function xe(t){return U(t)}function k({label:t,value:s,tone:a}){return e.jsxs("div",{className:`ctx-panel-stat${a?` ctx-panel-stat--${a}`:""}`,children:[e.jsx("span",{children:t}),e.jsx("strong",{children:s})]})}function F(t){if(!t||typeof t!="object")return null;const s=t;if(s.focus!=="flow"&&s.focus!=="item"||typeof s.title!="string"||typeof s.meta!="string"||typeof s.body!="string")return null;const a=Array.isArray(s.metadata)?s.metadata.filter(o=>o!=null&&typeof o=="object"&&typeof o.label=="string"&&typeof o.value=="string"):void 0,r=Array.isArray(s.copy)?s.copy.filter(o=>o!=null&&typeof o=="object"&&typeof o.label=="string"&&typeof o.value=="string"):void 0;return{source:s.source==="tail"?"tail":"generic",focus:s.focus,title:s.title,meta:s.meta,body:s.body,metadata:a,copy:r,action:s.action&&typeof s.action=="object"?s.action:null}}function ue({item:t,navigate:s}){const{route:a}=_();return e.jsx("button",{type:"button",className:"ctx-panel-item ctx-panel-item--attention",onClick:()=>{t.conversationId?C(s,{view:"conversation",conversationId:t.conversationId},{returnTo:a}):s({view:"ops",mode:"mission"})},children:e.jsxs("div",{className:"ctx-panel-body",children:[e.jsx("span",{className:"ctx-panel-name",children:t.title}),e.jsxs("span",{className:"ctx-panel-sub",children:[t.agentName??t.agentId??"operator"," · ",j(t.updatedAt)]})]})})}function he({ask:t,navigate:s}){const{route:a}=_();return e.jsx("button",{type:"button",className:"ctx-panel-item",onClick:()=>{t.conversationId?C(s,{view:"conversation",conversationId:t.conversationId},{returnTo:a}):s({view:"ops",mode:"mission"})},children:e.jsxs("div",{className:"ctx-panel-body",children:[e.jsx("span",{className:"ctx-panel-name",children:t.task}),e.jsxs("span",{className:"ctx-panel-sub",children:[t.agentName??t.agentId," · ",t.statusLabel]})]})})}export{ct as OpsRight};
1
+ import{r as p,j as e}from"./index-sUomXsrf.js";import{u as _}from"./Provider-tFc3jqZ4.js";import{o as q}from"./openAgent-Bjt57GdM.js";import{o as C}from"./openContent-C6XO6kr5.js";import{a as H,i as K,b as Q,c as X}from"./colors-BtO5_zlx.js";import{a as v}from"./api-h5zurxmi.js";import{c as G}from"./clipboard-e3fSpeo7.js";import{r as J,a as U}from"./operator-attention-BwSPeheT.js";import{u as D}from"./sse-CVoGDiKW.js";import{t as j}from"./time-Dhsh_2EG.js";import{X as V}from"./x-0XjXwGqq.js";import{C as Y}from"./check-BbgHJX8u.js";import{C as Z}from"./copy-CwCAivnc.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"./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"./index-BWHgHrtv.js";const ee={blocked:"blocked",completed:"done",in_progress:"active",pending:"todo",unknown:"step"},te={mission:"Control",plan:"Plans",issues:"Alerts",tail:"Tail",atop:"Runtime",agents:"Agents",lanes:"Lanes"},se={blocked:"!",completed:"x",in_progress:">",pending:" ",unknown:"-"};function ne(t,s){return t&&typeof t=="object"&&!Array.isArray(t)?t[s]:void 0}function A(t,s){const a=ne(t,s);return typeof a=="string"&&a.trim()?a.trim():null}function W(t){return A(t.input,"task")??A(t.input,"action")}function T(t){return A(t.output,"summary")??A(t.output,"text")}function z(t){const s=t.replace(/\\/g,"/").replace(/\/+$/g,""),a=s.lastIndexOf("/");return a>=0?s.slice(a+1):s}function ae(t,s=180){const a=t.replace(/\s+/g," ").trim();return a.length<=s?a:`${a.slice(0,Math.max(0,s-1)).trimEnd()}...`}function $(t){return t.toLowerCase().replace(/[^a-z0-9_/-]+/g," ").split(/\s+/).map(s=>s.trim()).filter(s=>s.length>=4).filter(s=>!["plan","plans","todo","work","task","docs","markdown"].includes(s)).slice(0,8)}function I(t,s){const a=s.filter(Boolean).join(" ").toLowerCase();if(!a)return 0;const r=t.path.toLowerCase(),o=z(r).toLowerCase(),x=t.title.toLowerCase();let c=0;r&&a.includes(r)&&(c+=8),o&&a.includes(o)&&(c+=6),x.length>8&&a.includes(x)&&(c+=6);for(const d of t.tags)d.length>=3&&a.includes(d.toLowerCase())&&(c+=2);for(const d of $(t.title))a.includes(d)&&(c+=1);for(const d of t.steps.slice(0,8))for(const u of $(d.text).slice(0,3))a.includes(u)&&(c+=1);return c}function le(t,s){let a=I(t,[s.id,s.title,s.preview,s.agentName,s.harness,s.harnessSessionId,s.harnessLogPath,s.currentBranch,s.workspaceRoot,s.participantIds.join(" ")]);return t.agentId&&s.agentId===t.agentId&&(a+=4),t.agentName&&s.agentName&&t.agentName===s.agentName&&(a+=2),t.workspaceName&&s.workspaceRoot&&z(s.workspaceRoot).toLowerCase()===t.workspaceName.toLowerCase()&&(a+=3),a}function ce(t){const s=new Map;for(const a of t)if(a.status==="fulfilled")for(const r of a.value)s.set(r.id,r);return[...s.values()]}function ie(t,s){if(!t)return{asks:[],runs:[],sessions:[],workItems:[],attention:[]};const a=6,r=[...s.fleet?.activeAsks??[],...s.fleet?.recentCompleted??[]].filter(l=>I(t,[l.task,l.summary,l.agentName,l.collaborationRecordId])>=a).slice(0,8),o=s.runs.filter(l=>I(t,[W(l),T(l),l.agentName,l.workId,l.collaborationRecordId])>=a).slice(0,8),x=s.workItems.filter(l=>I(t,[l.title,l.summary,l.lastMeaningfulSummary,l.parentTitle,l.ownerName,l.nextMoveOwnerName])>=a).slice(0,8),c=(s.fleet?.needsAttention??[]).filter(l=>I(t,[l.title,l.summary,l.agentName])>=a).slice(0,6),d=new Set,u=new Set;for(const l of r)l.conversationId&&d.add(l.conversationId);for(const l of o){l.conversationId&&d.add(l.conversationId);for(const b of l.traceSessionIds??[])u.add(b)}for(const l of x)l.conversationId&&d.add(l.conversationId);for(const l of c)l.conversationId&&d.add(l.conversationId);const f=s.sessions.filter(l=>d.has(l.id)||(l.harnessSessionId?u.has(l.harnessSessionId):!1)||le(t,l)>=a).slice(0,8);return{asks:r,runs:o,sessions:f,workItems:x,attention:c}}function it({mode:t,agents:s,navigate:a,returnRoute:r}){const[o,x]=p.useState(null),[c,d]=p.useState(()=>typeof window>"u"?null:F(window.scoutOpsDetailSnapshot)),u=p.useCallback(async()=>{const i=await v("/api/fleet").catch(()=>null);x(i)},[]);if(p.useEffect(()=>{u()},[u]),p.useEffect(()=>{const i=N=>{d(F(N.detail))};return window.addEventListener("scout:ops-detail",i),()=>window.removeEventListener("scout:ops-detail",i)},[]),D(i=>{(i.kind==="message.posted"||i.kind==="flight.updated"||i.kind==="collaboration.event.appended")&&u()}),t==="plan")return e.jsx(pe,{navigate:a,returnRoute:r});if(t==="tail"||t==="issues")return e.jsx(re,{detail:c?.source==="tail"?c:null,mode:t,navigate:a});const f=(o?.activeAsks??[]).filter(i=>i.status!=="needs_attention"),l=o?.needsAttention??[];if(t==="lanes")return null;const b=s.filter(i=>H(i.state)),S=s.filter(i=>K(i.state)),y=[...s].sort((i,N)=>(N.updatedAt??0)-(i.updatedAt??0)).slice(0,7);return e.jsxs("div",{className:"ctx-panel ctx-panel--ops-inspector",children:[c&&e.jsxs("section",{className:"ctx-panel-section ctx-panel-selected-detail",children:[e.jsx("div",{className:"ctx-panel-section-label",children:c.focus==="flow"?"Message":"Selection"}),e.jsxs("div",{className:"ctx-panel-selected-card",children:[e.jsx("div",{className:"ctx-panel-selected-title",children:c.title}),e.jsx("div",{className:"ctx-panel-selected-meta",children:c.meta}),e.jsx("div",{className:"ctx-panel-selected-body",children:c.body}),c.action&&e.jsx("button",{type:"button",className:"ctx-panel-selected-action",onClick:()=>a(c.action.route),children:c.action.label})]})]}),e.jsxs("section",{className:"ctx-panel-section ctx-panel-ops-summary",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Ops Context"}),e.jsxs("div",{className:"ctx-panel-ops-mode-card",children:[e.jsx("span",{children:"Current"}),e.jsx("strong",{children:te[t]}),e.jsx("small",{children:o?`${j(o.generatedAt)} refresh`:"loading"})]}),e.jsxs("div",{className:"ctx-panel-stat-grid",children:[e.jsx(k,{label:"Needs",value:l.length,tone:l.length>0?"warn":"ok"}),e.jsx(k,{label:"Active",value:f.length}),e.jsx(k,{label:"Online",value:`${S.length}/${s.length}`}),e.jsx(k,{label:"Working",value:b.length})]})]}),e.jsxs("section",{className:"ctx-panel-section",children:[e.jsxs("div",{className:"ctx-panel-section-label",children:["Queue",l.length>0&&e.jsx("span",{className:"ctx-panel-count",children:l.length})]}),l.length===0?e.jsx("div",{className:"ctx-panel-empty",children:"No operator cues"}):e.jsx("div",{className:"ctx-panel-list",children:l.slice(0,5).map(i=>e.jsx(ue,{item:i,navigate:a},i.recordId))})]}),e.jsxs("section",{className:"ctx-panel-section",children:[e.jsxs("div",{className:"ctx-panel-section-label",children:["Runs",f.length>0&&e.jsx("span",{className:"ctx-panel-count",children:f.length})]}),f.length===0?e.jsx("div",{className:"ctx-panel-empty",children:"No active requests"}):e.jsx("div",{className:"ctx-panel-list",children:f.slice(0,5).map(i=>e.jsx(he,{ask:i,navigate:a},i.invocationId))})]}),e.jsxs("section",{className:"ctx-panel-section",children:[e.jsxs("div",{className:"ctx-panel-section-label",children:["Recent activity",y.length>0&&e.jsx("span",{className:"ctx-panel-count",children:y.length})]}),e.jsx("div",{className:"ctx-panel-pulse-list",children:y.map(i=>e.jsxs("button",{type:"button",className:"ctx-panel-pulse-row",onClick:()=>q(a,i,{returnTo:r}),children:[e.jsx("span",{className:`ctx-panel-pulse-dot ctx-panel-pulse-dot--${Q(i.state)}`}),e.jsx("span",{children:i.name}),e.jsxs("small",{children:[X(i.state)," · ",i.updatedAt?j(i.updatedAt):"unknown"]})]},i.id))})]})]})}function oe(){if(typeof window>"u")return;const t=window;t.scoutOpsDetailSnapshot=null,window.dispatchEvent(new CustomEvent("scout:ops-detail",{detail:null}))}function re({detail:t,mode:s,navigate:a}){const r=s==="issues"?"Alert detail":"Tail detail",o=t?.copy?.find(c=>c.label==="Copy message")?.value??t?.body??"",x=t?.copy?.find(c=>c.label==="Copy metadata")?.value??t?.metadata?.map(c=>`${c.label}: ${c.value}`).join(`
2
+ `)??"";return e.jsx("div",{className:"ctx-panel ctx-panel--ops-inspector ctx-panel--tail-inspector",children:e.jsxs("section",{className:"ctx-panel-section ctx-panel-tail-detail",children:[e.jsxs("div",{className:"ctx-panel-section-label ctx-panel-tail-detail-label",children:[e.jsx("span",{children:r}),t&&e.jsx("button",{type:"button",className:"ctx-panel-tail-icon-button",onClick:oe,"aria-label":"Clear Tail detail",title:"Clear",children:e.jsx(V,{size:13,strokeWidth:2,"aria-hidden":"true"})})]}),t?e.jsxs("div",{className:"ctx-panel-tail-card",children:[e.jsxs("div",{className:"ctx-panel-tail-card-head",children:[e.jsx("div",{className:"ctx-panel-tail-card-title",children:t.title}),e.jsx("div",{className:"ctx-panel-tail-card-meta",children:t.meta})]}),t.metadata&&t.metadata.length>0&&e.jsxs("div",{className:"ctx-panel-tail-copy-scope",children:[e.jsx("dl",{className:"ctx-panel-tail-metadata",children:t.metadata.map(c=>e.jsxs("div",{className:"ctx-panel-tail-metadata-row",children:[e.jsx("dt",{children:c.label}),e.jsx("dd",{title:c.value,children:c.value})]},c.label))}),x&&e.jsx(B,{label:"Copy metadata",value:x})]}),t.action&&e.jsx("div",{className:"ctx-panel-tail-actions",children:e.jsx("button",{type:"button",className:"ctx-panel-tail-action-button",onClick:()=>a(t.action.route),children:t.action.label})}),e.jsxs("div",{className:"ctx-panel-tail-copy-scope ctx-panel-tail-copy-scope--message",children:[e.jsx("div",{className:"ctx-panel-tail-message",children:t.body}),o&&e.jsx(B,{label:"Copy message",value:o})]})]}):e.jsxs("div",{className:"ctx-panel-tail-empty-card",children:[e.jsx("span",{children:"Tail"}),e.jsx("strong",{children:"No log selected"})]})]})})}function B({label:t,value:s}){const[a,r]=p.useState(!1),o=p.useRef(null);p.useEffect(()=>()=>{o.current!=null&&window.clearTimeout(o.current)},[]);const x=p.useCallback(async()=>{await G(s)&&(r(!0),o.current!=null&&window.clearTimeout(o.current),o.current=window.setTimeout(()=>r(!1),1200))},[s]);return e.jsxs("button",{type:"button",className:`ctx-panel-tail-hover-copy${a?" ctx-panel-tail-hover-copy--copied":""}`,onClick:()=>{x()},title:t,children:[a?e.jsx(Y,{size:13,strokeWidth:2,"aria-hidden":"true"}):e.jsx(Z,{size:13,strokeWidth:1.9,"aria-hidden":"true"}),e.jsx("span",{children:a?"Copied":t})]})}function pe({navigate:t,returnRoute:s}){const[a,r]=p.useState(null),[o,x]=p.useState(null),[c,d]=p.useState([]),[u,f]=p.useState([]),[l,b]=p.useState([]),[S,y]=p.useState(!1),i=s.view==="ops"&&s.mode==="plan"?s.planDocumentId:void 0,N=p.useCallback(async()=>{const[n,g,O,P,E,M]=await Promise.allSettled([v("/api/plan-documents"),v("/api/fleet"),v("/api/work?limit=250"),v("/api/work?active=false&limit=250"),v("/api/runs?active=false&limit=500"),v("/api/conversations?limit=250")]);n.status==="fulfilled"&&r(n.value),g.status==="fulfilled"&&x(g.value),(O.status==="fulfilled"||P.status==="fulfilled")&&d(ce([O,P])),E.status==="fulfilled"&&f(E.value),M.status==="fulfilled"&&b(M.value),y(!0)},[]);p.useEffect(()=>{y(!1),N()},[N]),D(n=>{(n.kind==="message.posted"||n.kind==="flight.updated"||n.kind==="collaboration.event.appended")&&N()});const R=a?.documents??[],h=p.useMemo(()=>R.find(n=>n.id===i)??R[0]??null,[R,i]),m=p.useMemo(()=>ie(h,{fleet:o,runs:u,sessions:l,workItems:c}),[o,u,h,l,c]),L=m.attention.length+m.workItems.length+m.asks.length+m.runs.length+m.sessions.length;return h?e.jsxs("div",{className:"ctx-panel ctx-panel--ops-inspector ctx-panel--plan-inspector",children:[e.jsxs("section",{className:"ctx-panel-section ctx-panel-plan-summary",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Plan Context"}),e.jsxs("div",{className:"ctx-panel-plan-card",children:[e.jsx("span",{children:"Current"}),e.jsx("strong",{children:h.title}),e.jsxs("small",{children:[h.path," · ",j(h.updatedAt)]}),h.summary&&e.jsx("p",{children:h.summary})]})]}),e.jsxs("section",{className:"ctx-panel-section",children:[e.jsxs("div",{className:"ctx-panel-section-label",children:["Steps",e.jsx("span",{className:"ctx-panel-count",children:h.steps.length})]}),h.steps.length===0?e.jsx("div",{className:"ctx-panel-empty",children:"No checklist steps parsed"}):e.jsx("div",{className:"ctx-panel-plan-step-list",children:h.steps.map(n=>e.jsxs("div",{className:`ctx-panel-plan-step ctx-panel-plan-step--${n.status}`,children:[e.jsx("span",{className:"ctx-panel-plan-step-marker",children:se[n.status]}),e.jsx("span",{className:"ctx-panel-plan-step-text",children:n.text}),e.jsx("span",{className:"ctx-panel-plan-step-state",children:ee[n.status]})]},n.id))})]}),e.jsxs("section",{className:"ctx-panel-section",children:[e.jsxs("div",{className:"ctx-panel-section-label",children:["Around This Plan",e.jsx("span",{className:"ctx-panel-count",children:L})]}),L===0?e.jsx("div",{className:"ctx-panel-empty",children:"No nearby activity matched yet"}):null]}),e.jsx(w,{title:"Sessions",count:m.sessions.length,children:m.sessions.map(n=>e.jsx("button",{type:"button",className:"ctx-panel-item ctx-panel-plan-context-item",onClick:()=>C(t,{view:"conversation",conversationId:n.id},{returnTo:s}),children:e.jsxs("div",{className:"ctx-panel-body",children:[e.jsx("span",{className:"ctx-panel-name",children:n.title||n.agentName||n.id}),e.jsxs("span",{className:"ctx-panel-sub",children:[n.kind," · ",n.agentName??n.harness??"session"," · ",n.messageCount," msg"]}),e.jsx("span",{className:"ctx-panel-preview",children:n.preview?.trim()||n.workspaceRoot||n.id})]})},n.id))}),e.jsx(w,{title:"Work Items",count:m.workItems.length,children:m.workItems.map(n=>e.jsx("button",{type:"button",className:"ctx-panel-item ctx-panel-plan-context-item",onClick:()=>C(t,{view:"work",workId:n.id},{returnTo:s}),children:e.jsxs("div",{className:"ctx-panel-body",children:[e.jsx("span",{className:"ctx-panel-name",children:n.title}),e.jsxs("span",{className:"ctx-panel-sub",children:[n.currentPhase||n.state," · ",j(n.lastMeaningfulAt||n.updatedAt)]}),(n.summary||n.lastMeaningfulSummary)&&e.jsx("span",{className:"ctx-panel-preview",children:n.summary??n.lastMeaningfulSummary})]})},n.id))}),e.jsx(w,{title:"Runs",count:m.runs.length,children:m.runs.map(n=>e.jsx("button",{type:"button",className:"ctx-panel-item ctx-panel-plan-context-item",onClick:()=>t(me(n)),children:e.jsxs("div",{className:"ctx-panel-body",children:[e.jsx("span",{className:"ctx-panel-name",children:ae(W(n)??n.agentName??n.id,120)}),e.jsxs("span",{className:"ctx-panel-sub",children:[n.agentName??n.agentId," · ",n.state," · ",j(n.updatedAt)]}),T(n)&&e.jsx("span",{className:"ctx-panel-preview",children:T(n)})]})},n.id))}),e.jsx(w,{title:"Requests",count:m.asks.length,children:m.asks.map(n=>e.jsx("button",{type:"button",className:"ctx-panel-item ctx-panel-plan-context-item",onClick:()=>t(de(n)),children:e.jsxs("div",{className:"ctx-panel-body",children:[e.jsx("span",{className:"ctx-panel-name",children:n.task}),e.jsxs("span",{className:"ctx-panel-sub",children:[n.agentName??n.agentId," · ",n.statusLabel," · ",j(n.updatedAt)]}),n.summary&&e.jsx("span",{className:"ctx-panel-preview",children:n.summary})]})},n.invocationId))}),e.jsx(w,{title:"Attention",count:m.attention.length,children:m.attention.map(n=>{const g=xe(n);return e.jsx("button",{type:"button",className:"ctx-panel-item ctx-panel-item--attention ctx-panel-plan-context-item",onClick:()=>g&&t(g),disabled:!g,children:e.jsxs("div",{className:"ctx-panel-body",children:[e.jsx("span",{className:"ctx-panel-name",children:n.title}),e.jsxs("span",{className:"ctx-panel-sub",children:[n.kind," · ",j(n.updatedAt)]}),n.summary&&e.jsx("span",{className:"ctx-panel-preview",children:n.summary})]})},n.recordId)})})]}):e.jsx("div",{className:"ctx-panel ctx-panel--ops-inspector ctx-panel--plan-inspector",children:e.jsxs("section",{className:"ctx-panel-section ctx-panel-ops-summary",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Plan Context"}),e.jsx("div",{className:"ctx-panel-empty",children:S?"No plan document selected":"Indexing plan documents"})]})})}function w({title:t,count:s,children:a}){return e.jsxs("section",{className:"ctx-panel-section",children:[e.jsxs("div",{className:"ctx-panel-section-label",children:[t,e.jsx("span",{className:"ctx-panel-count",children:s})]}),s===0?e.jsx("div",{className:"ctx-panel-empty",children:"None matched"}):e.jsx("div",{className:"ctx-panel-list",children:a})]})}function de(t){return J(t)}function me(t){return t.conversationId?{view:"conversation",conversationId:t.conversationId}:t.workId?{view:"work",workId:t.workId}:{view:"agents-v2",agentId:t.agentId}}function xe(t){return U(t)}function k({label:t,value:s,tone:a}){return e.jsxs("div",{className:`ctx-panel-stat${a?` ctx-panel-stat--${a}`:""}`,children:[e.jsx("span",{children:t}),e.jsx("strong",{children:s})]})}function F(t){if(!t||typeof t!="object")return null;const s=t;if(s.focus!=="flow"&&s.focus!=="item"||typeof s.title!="string"||typeof s.meta!="string"||typeof s.body!="string")return null;const a=Array.isArray(s.metadata)?s.metadata.filter(o=>o!=null&&typeof o=="object"&&typeof o.label=="string"&&typeof o.value=="string"):void 0,r=Array.isArray(s.copy)?s.copy.filter(o=>o!=null&&typeof o=="object"&&typeof o.label=="string"&&typeof o.value=="string"):void 0;return{source:s.source==="tail"?"tail":"generic",focus:s.focus,title:s.title,meta:s.meta,body:s.body,metadata:a,copy:r,action:s.action&&typeof s.action=="object"?s.action:null}}function ue({item:t,navigate:s}){const{route:a}=_();return e.jsx("button",{type:"button",className:"ctx-panel-item ctx-panel-item--attention",onClick:()=>{t.conversationId?C(s,{view:"conversation",conversationId:t.conversationId},{returnTo:a}):s({view:"ops",mode:"mission"})},children:e.jsxs("div",{className:"ctx-panel-body",children:[e.jsx("span",{className:"ctx-panel-name",children:t.title}),e.jsxs("span",{className:"ctx-panel-sub",children:[t.agentName??t.agentId??"operator"," · ",j(t.updatedAt)]})]})})}function he({ask:t,navigate:s}){const{route:a}=_();return e.jsx("button",{type:"button",className:"ctx-panel-item",onClick:()=>{t.conversationId?C(s,{view:"conversation",conversationId:t.conversationId},{returnTo:a}):s({view:"ops",mode:"mission"})},children:e.jsxs("div",{className:"ctx-panel-body",children:[e.jsx("span",{className:"ctx-panel-name",children:t.task}),e.jsxs("span",{className:"ctx-panel-sub",children:[t.agentName??t.agentId," · ",t.statusLabel]})]})})}export{it as OpsRight};
@@ -1 +1 @@
1
- import{r as l}from"./index-DMiGbrBt.js";const d=["input","textarea","select","[contenteditable='']","[contenteditable='true']","[contenteditable='plaintext-only']","[role='combobox']","[role='searchbox']","[role='spinbutton']","[role='textbox']"].join(","),m=[".xterm",".xterm-helper-textarea","[data-scout-terminal-input='true']"].join(",");function y(t){const e=t;if(!e)return!1;const n=typeof e.tagName=="string"?e.tagName.toLowerCase():"";return n==="input"||n==="textarea"||n==="select"||e.isContentEditable===!0||typeof e.closest=="function"&&e.closest(d)?!0:typeof e.parentElement?.closest=="function"&&!!e.parentElement.closest(d)}function x(t){const e=t;return e?typeof e.closest=="function"&&e.closest(m)?!0:typeof e.parentElement?.closest=="function"&&!!e.parentElement.closest(m):!1}function k(){return!!(document.querySelector(".kb-help-backdrop")||document.querySelector("[data-command-palette-open='true']")||document.querySelector("[role='dialog'][aria-modal='true']"))}function g(t,e,n){return e<=0?-1:t<0?n>0?0:e-1:Math.max(0,Math.min(e-1,t+n))}const f=["a[href]","button:not([disabled])","textarea:not([disabled])","input:not([disabled])","select:not([disabled])","[tabindex]:not([tabindex='-1'])"].join(", ");function h(t=!0){const e=l.useRef(null),n=l.useRef(null);l.useEffect(()=>{if(!t)return;n.current=document.activeElement;const o=e.current;return o?((o.querySelector(f)??o).focus(),()=>{n.current?.focus?.()}):void 0},[t]);const r=l.useCallback(o=>{if(!t||o.key!=="Tab")return;const s=e.current;if(!s)return;const c=Array.from(s.querySelectorAll(f));if(c.length===0){o.preventDefault(),s.focus();return}const u=c[0],a=c[c.length-1],i=document.activeElement;o.shiftKey?(i===u||!s.contains(i))&&(o.preventDefault(),a.focus()):i===a&&(o.preventDefault(),u.focus())},[t]);return{ref:e,onKeyDown:r}}function p(t){return Array.from(t.querySelectorAll([":scope > button:not([disabled])",":scope > [role='button']:not([aria-disabled='true'])",":scope > * > button[data-list-primary]:not([disabled])"].join(", ")))}function b(t,e){t.forEach((n,r)=>{n.tabIndex=r===e?0:-1}),t[e]?.focus()}function w(){return l.useCallback(t=>{const e=t.key==="ArrowDown"||t.key==="j",n=t.key==="ArrowUp"||t.key==="k",r=t.key==="Home"||t.key==="g"&&!t.shiftKey&&!t.metaKey&&!t.ctrlKey,o=t.key==="End"||t.key==="G";if(!e&&!n&&!r&&!o)return;const s=p(t.currentTarget);if(s.length===0)return;const c=document.activeElement,u=s.findIndex(i=>i===c);let a;e?a=u<0?0:Math.min(s.length-1,u+1):n?a=u<0?s.length-1:Math.max(0,u-1):r?a=0:a=s.length-1,t.preventDefault(),b(s,a)},[])}function v(t,e,n){return t||!e&&n?0:-1}function S(){l.useEffect(()=>{const t=e=>{if(e.key!=="["&&e.key!=="]"||y(e.target))return;const n=e.target,r=["left","center","right"],o=e.key==="]"?1:-1,s=r.findIndex(u=>{const a=document.querySelector(`[data-pane="${u}"]`);return a?a.contains(n):!1}),c=s<0?o>0?-1:r.length:s;for(let u=c+o;u>=0&&u<r.length;u+=o){const a=document.querySelector(`[data-pane="${r[u]}"]`);if(!a)continue;const i=a.querySelector(f);if(i){e.preventDefault(),i.focus();return}}};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[])}function T(t){l.useEffect(()=>{const e=n=>{if(n.key!=="/"||y(n.target))return;const r=t();r&&(n.preventDefault(),r.focus(),r.select())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[t])}function L(t){return e=>{if(e.key!=="ArrowDown")return;const n=t();if(!n)return;const r=p(n);if(r.length===0)return;const o=r.findIndex(c=>c.tabIndex===0),s=o>=0?o:0;e.preventDefault(),b(r,s)}}export{w as a,T as b,k as c,S as d,x as e,y as i,L as m,g as n,v as r,h as u};
1
+ import{r as l}from"./index-sUomXsrf.js";const d=["input","textarea","select","[contenteditable='']","[contenteditable='true']","[contenteditable='plaintext-only']","[role='combobox']","[role='searchbox']","[role='spinbutton']","[role='textbox']"].join(","),m=[".xterm",".xterm-helper-textarea","[data-scout-terminal-input='true']"].join(",");function y(t){const e=t;if(!e)return!1;const n=typeof e.tagName=="string"?e.tagName.toLowerCase():"";return n==="input"||n==="textarea"||n==="select"||e.isContentEditable===!0||typeof e.closest=="function"&&e.closest(d)?!0:typeof e.parentElement?.closest=="function"&&!!e.parentElement.closest(d)}function x(t){const e=t;return e?typeof e.closest=="function"&&e.closest(m)?!0:typeof e.parentElement?.closest=="function"&&!!e.parentElement.closest(m):!1}function k(){return!!(document.querySelector(".kb-help-backdrop")||document.querySelector("[data-command-palette-open='true']")||document.querySelector("[role='dialog'][aria-modal='true']"))}function g(t,e,n){return e<=0?-1:t<0?n>0?0:e-1:Math.max(0,Math.min(e-1,t+n))}const f=["a[href]","button:not([disabled])","textarea:not([disabled])","input:not([disabled])","select:not([disabled])","[tabindex]:not([tabindex='-1'])"].join(", ");function h(t=!0){const e=l.useRef(null),n=l.useRef(null);l.useEffect(()=>{if(!t)return;n.current=document.activeElement;const o=e.current;return o?((o.querySelector(f)??o).focus(),()=>{n.current?.focus?.()}):void 0},[t]);const r=l.useCallback(o=>{if(!t||o.key!=="Tab")return;const s=e.current;if(!s)return;const c=Array.from(s.querySelectorAll(f));if(c.length===0){o.preventDefault(),s.focus();return}const u=c[0],a=c[c.length-1],i=document.activeElement;o.shiftKey?(i===u||!s.contains(i))&&(o.preventDefault(),a.focus()):i===a&&(o.preventDefault(),u.focus())},[t]);return{ref:e,onKeyDown:r}}function p(t){return Array.from(t.querySelectorAll([":scope > button:not([disabled])",":scope > [role='button']:not([aria-disabled='true'])",":scope > * > button[data-list-primary]:not([disabled])"].join(", ")))}function b(t,e){t.forEach((n,r)=>{n.tabIndex=r===e?0:-1}),t[e]?.focus()}function w(){return l.useCallback(t=>{const e=t.key==="ArrowDown"||t.key==="j",n=t.key==="ArrowUp"||t.key==="k",r=t.key==="Home"||t.key==="g"&&!t.shiftKey&&!t.metaKey&&!t.ctrlKey,o=t.key==="End"||t.key==="G";if(!e&&!n&&!r&&!o)return;const s=p(t.currentTarget);if(s.length===0)return;const c=document.activeElement,u=s.findIndex(i=>i===c);let a;e?a=u<0?0:Math.min(s.length-1,u+1):n?a=u<0?s.length-1:Math.max(0,u-1):r?a=0:a=s.length-1,t.preventDefault(),b(s,a)},[])}function v(t,e,n){return t||!e&&n?0:-1}function S(){l.useEffect(()=>{const t=e=>{if(e.key!=="["&&e.key!=="]"||y(e.target))return;const n=e.target,r=["left","center","right"],o=e.key==="]"?1:-1,s=r.findIndex(u=>{const a=document.querySelector(`[data-pane="${u}"]`);return a?a.contains(n):!1}),c=s<0?o>0?-1:r.length:s;for(let u=c+o;u>=0&&u<r.length;u+=o){const a=document.querySelector(`[data-pane="${r[u]}"]`);if(!a)continue;const i=a.querySelector(f);if(i){e.preventDefault(),i.focus();return}}};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[])}function T(t){l.useEffect(()=>{const e=n=>{if(n.key!=="/"||y(n.target))return;const r=t();r&&(n.preventDefault(),r.focus(),r.select())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[t])}function L(t){return e=>{if(e.key!=="ArrowDown")return;const n=t();if(!n)return;const r=p(n);if(r.length===0)return;const o=r.findIndex(c=>c.tabIndex===0),s=o>=0?o:0;e.preventDefault(),b(r,s)}}export{w as a,T as b,k as c,S as d,x as e,y as i,L as m,g as n,v as r,h as u};
@@ -0,0 +1 @@
1
+ .ks-page{flex:1 1 auto;min-height:0;height:100%;overflow:hidden;display:flex;flex-direction:column;background:var(--bg);color:var(--ink)}.ks-shell{flex:1 1 auto;min-height:0;width:min(100%,1080px);margin:0 auto;padding:var(--space-3xl) clamp(var(--space-2xl),2.5vw,var(--space-5xl)) var(--space-4xl);display:flex;flex-direction:column;gap:var(--space-2xl);overflow:auto}.ks-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3xl)}.ks-header-titles{min-width:0;display:flex;flex-direction:column;gap:var(--space-sm)}.ks-eyebrow{display:inline-flex;align-items:center;gap:var(--space-sm);color:var(--accent);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:700;letter-spacing:0;text-transform:uppercase}.ks-header-titles h1{margin:0;font-family:var(--font-accent-title);font-size:var(--display-xs);font-weight:560;line-height:var(--leading-display);letter-spacing:0;color:var(--ink)}.ks-header-titles p{margin:0;font-size:var(--text-md);line-height:var(--leading-snug);color:var(--muted);max-width:64ch}.ks-search-form{display:grid;grid-template-columns:18px minmax(0,1fr) 24px 18px;align-items:center;gap:var(--space-md);height:52px;padding:0 var(--space-2xl);border:1px solid color-mix(in srgb,var(--ink) 8%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 92%,transparent);transition:border-color var(--motion-duration-hover) var(--motion-ease-standard),box-shadow var(--motion-duration-hover) var(--motion-ease-standard)}.ks-search-form:focus-within{border-color:color-mix(in srgb,var(--accent) 48%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent),0 1px color-mix(in srgb,var(--accent) 16%,transparent)}.ks-search-form>svg{color:var(--muted)}.ks-search-input{min-width:0;height:100%;border:0;outline:none;background:transparent;color:var(--ink);font-family:var(--font-accent-title);font-size:var(--text-2xl);line-height:var(--leading-tight);font-weight:500;padding:0}.ks-search-input::placeholder{color:var(--dim);font-weight:400}.ks-search-clear,.ks-search-hint{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);background:color-mix(in srgb,var(--ink) 4%,transparent);color:var(--muted);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;transition:color var(--motion-duration-hover) var(--motion-ease-standard),background var(--motion-duration-hover) var(--motion-ease-standard)}.ks-search-hint{cursor:default;pointer-events:none;color:var(--dim)}.ks-search-clear:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 10%,transparent)}.ks-search-form .ks-spin{color:var(--dim);grid-column:4}.ks-filterbar{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-md) var(--space-2xl);border:1px solid color-mix(in srgb,var(--ink) 7%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 70%,transparent)}.ks-filterbar-row{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap;min-width:0}.ks-filterbar-row--inline{flex-wrap:wrap}.ks-filterbar-label{display:inline-flex;align-items:center;gap:var(--space-2xs);flex:none;width:76px;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-md);text-transform:uppercase}.ks-chip-row{display:flex;flex-wrap:wrap;gap:var(--space-xs);min-width:0}.ks-chip{appearance:none;display:inline-flex;align-items:center;gap:var(--space-xs);min-height:28px;padding:0 var(--space-md);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--ink) 4%,transparent);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;line-height:1;cursor:pointer;transition:color var(--motion-duration-hover) var(--motion-ease-standard),background var(--motion-duration-hover) var(--motion-ease-standard),border-color var(--motion-duration-hover) var(--motion-ease-standard)}.ks-chip:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 9%,transparent);border-color:color-mix(in srgb,var(--ink) 18%,transparent)}.ks-chip:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:2px}.ks-chip--active{color:color-mix(in srgb,var(--accent) 92%,var(--ink));background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.ks-chip--active:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}.ks-chip-label{white-space:nowrap}.ks-chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:16px;padding:0 4px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;font-variant-numeric:tabular-nums}.ks-chip--active .ks-chip-count{background:color-mix(in srgb,var(--accent) 20%,transparent);color:color-mix(in srgb,var(--accent) 92%,var(--ink))}.ks-clear-all{appearance:none;margin-left:auto;padding:0 var(--space-sm);height:26px;border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);border-radius:var(--radius-pill);background:transparent;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;cursor:pointer;transition:color var(--motion-duration-hover) var(--motion-ease-standard),border-color var(--motion-duration-hover) var(--motion-ease-standard)}.ks-clear-all:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.ks-error{min-width:0;padding:var(--space-sm) 0;color:color-mix(in srgb,var(--red) 85%,var(--ink));font-size:var(--text-sm)}.ks-empty-state{min-width:0;display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-3xl);border:1px dashed color-mix(in srgb,var(--ink) 12%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--ink) 3%,transparent);color:var(--muted);font-size:var(--text-md);line-height:var(--leading-snug)}.ks-empty-state strong{color:var(--ink);font-size:var(--text-lg);font-weight:620}.ks-empty-hit{min-width:0;display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-3xl) var(--space-2xl);border:1px solid color-mix(in srgb,var(--ink) 8%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 70%,transparent);color:var(--muted);font-size:var(--text-md);line-height:var(--leading-snug)}.ks-empty-hit strong{color:var(--ink);font-size:var(--text-lg);font-weight:620}.ks-empty-hit--quiet{border-style:dashed;background:color-mix(in srgb,var(--ink) 3%,transparent)}.ks-empty-hit--quiet strong{font-size:var(--text-md);color:var(--muted)}.ks-empty-hit--quiet kbd,.ks-empty-hit kbd{display:inline-block;min-width:1.4em;padding:0 4px;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);border-bottom-width:2px;border-radius:4px;background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;text-align:center}.ks-empty-hit-actions{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-2xs)}.ks-hit-list{display:flex;flex-direction:column;min-width:0;gap:var(--space-md)}.ks-hit-list-head{position:sticky;top:0;z-index:1;display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) 0;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--ink);font-size:var(--text-md);font-weight:620;letter-spacing:0}.ks-hit-list-meta{font-weight:500;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--dim) 88%,transparent);font-size:var(--text-sm)}.ks-hit-list-body{display:flex;flex-direction:column;gap:var(--space-2xl)}.ks-session{min-width:0;display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-lg) 0;border-top:1px solid color-mix(in srgb,var(--ink) 8%,transparent)}.ks-session:first-child{border-top:0}.ks-session-head{min-width:0;display:flex;flex-direction:column;gap:var(--space-xs)}.ks-session-topline{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);font-size:var(--text-xs);color:var(--muted)}.ks-session-meta{min-width:0;display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap;color:var(--muted)}.ks-session-meta span{min-width:0;max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ks-session-meta span+span:before{content:"·";margin:0 .5em;color:color-mix(in srgb,var(--dim) 70%,transparent)}.ks-hit-chip{padding:2px 8px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--accent) 14%,transparent);color:color-mix(in srgb,var(--accent) 92%,var(--ink));font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-sm);text-transform:uppercase;white-space:nowrap}.ks-hit-session{font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap}.ks-session-count{color:color-mix(in srgb,var(--dim) 90%,transparent);font-variant-numeric:tabular-nums}.ks-hit-when{flex:none;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.ks-session-goal{appearance:none;width:fit-content;max-width:100%;text-align:left;border:0;background:transparent;color:var(--ink);font-family:var(--font-accent-title);font-size:var(--text-2xl);font-weight:600;line-height:var(--leading-tight);letter-spacing:0;cursor:pointer;padding:0;transition:color var(--motion-duration-hover) var(--motion-ease-standard)}.ks-session-goal:hover,.ks-session-goal:focus-visible{color:var(--accent);outline:none}.ks-session-moments{min-width:0;display:flex;flex-direction:column;gap:1px;border-radius:var(--radius-md);overflow:hidden;border:1px solid color-mix(in srgb,var(--ink) 7%,transparent);background:color-mix(in srgb,var(--ink) 6%,transparent)}.ks-hit{appearance:none;min-width:0;display:block;width:100%;text-align:left;border:0;padding:var(--space-md) var(--space-2xl);background:color-mix(in srgb,var(--surface) 86%,transparent);color:var(--ink);cursor:pointer;transition:background var(--motion-duration-hover) var(--motion-ease-standard)}.ks-hit:hover{background:color-mix(in srgb,var(--ink) 4%,var(--surface))}.ks-hit--selected{background:color-mix(in srgb,var(--accent) 9%,var(--surface));box-shadow:inset 2px 0 0 var(--accent)}.ks-hit:hover .ks-hit-title,.ks-hit--selected .ks-hit-title,.ks-hit:focus-visible .ks-hit-title{color:color-mix(in srgb,var(--accent) 82%,var(--ink))}.ks-hit:focus-visible{outline:none;background:color-mix(in srgb,var(--ink) 6%,var(--surface))}.ks-hit-body{min-width:0;display:flex;flex-direction:column;gap:var(--space-2xs)}.ks-hit-details{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-xs)}.ks-hit-details--moment{margin-bottom:1px}.ks-hit-details span{min-width:0;max-width:28ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-md);text-transform:uppercase}.ks-hit-details-strong{color:color-mix(in srgb,var(--muted) 90%,var(--ink));font-weight:600}.ks-hit-details span+span:before{content:"·";margin:0 .5em;color:color-mix(in srgb,var(--dim) 70%,transparent)}.ks-hit-title{margin:0;min-width:0;color:var(--ink);font-family:var(--font-accent-title);font-size:var(--text-lg);font-weight:580;line-height:var(--leading-tight);letter-spacing:0;overflow-wrap:anywhere;transition:color var(--motion-duration-hover) var(--motion-ease-standard)}.ks-hit-snippet{margin:0;color:color-mix(in srgb,var(--ink) 70%,var(--muted));font-size:var(--text-sm);line-height:var(--leading-snug);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ks-hit-snippet--empty{color:var(--dim);font-style:italic}.ks-hit mark,.ks-inspector mark{padding:0 3px;border-radius:3px;background:color-mix(in srgb,var(--accent) 28%,transparent);color:var(--ink);font-weight:600}.ks-foot-status{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--space-2xl);border-top:1px solid color-mix(in srgb,var(--ink) 7%,transparent);background:color-mix(in srgb,var(--surface) 70%,transparent);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;letter-spacing:0}.ks-foot-status-facts{min-width:0;display:inline-flex;align-items:center;gap:var(--space-sm);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ks-text-action{appearance:none;flex:none;padding:0;border:0;background:transparent;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:color var(--motion-duration-hover) var(--motion-ease-standard)}.ks-text-action:hover,.ks-text-action:focus-visible{color:var(--accent);outline:none}.ks-text-action:disabled{cursor:not-allowed;opacity:.55}.ks-spin{animation:ks-spin .9s linear infinite}@keyframes ks-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ks-inspector{height:100%;min-height:0;display:flex;flex-direction:column;background:color-mix(in srgb,var(--bg) 90%,transparent);border-left:1px solid color-mix(in srgb,var(--ink) 7%,transparent)}.ks-inspector-error{padding:var(--space-sm) var(--space-md);border-bottom:1px solid color-mix(in srgb,var(--red) 25%,transparent);background:color-mix(in srgb,var(--red) 8%,transparent);color:color-mix(in srgb,var(--red) 88%,var(--ink));font-size:var(--text-sm)}.ks-preview-panel{min-height:0;display:flex;flex:1 1 auto;flex-direction:column;gap:var(--space-lg);padding:var(--space-2xl);overflow:auto}.ks-inspector-empty{min-width:0;display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-2xl);color:var(--muted);font-size:var(--text-md);line-height:var(--leading-snug)}.ks-inspector-empty>svg{color:var(--dim);margin-bottom:var(--space-2xs)}.ks-inspector-empty strong{color:var(--ink);font-size:var(--text-lg)}.ks-inspector-empty-hint{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-md);text-transform:uppercase}.ks-inspector-empty kbd{display:inline-block;min-width:1.4em;padding:0 4px;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);border-bottom-width:2px;border-radius:4px;background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;text-align:center}.ks-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);position:sticky;top:0;z-index:1;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding-bottom:var(--space-sm);margin:calc(var(--space-2xl) * -1) calc(var(--space-2xl) * -1) 0;padding:var(--space-md) var(--space-2xl) var(--space-sm)}.ks-preview-head h2{margin:var(--space-3xs) 0 0;color:var(--ink);font-family:var(--font-accent-title);font-size:var(--text-2xl);font-weight:600;line-height:var(--leading-tight);letter-spacing:0;overflow-wrap:anywhere}.ks-panel-eyebrow{display:inline-flex;align-items:center;gap:var(--space-sm);color:var(--accent);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-md);text-transform:uppercase}.ks-preview-close{appearance:none;flex:none;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--ink) 4%,transparent);color:var(--muted);cursor:pointer;transition:color var(--motion-duration-hover) var(--motion-ease-standard),border-color var(--motion-duration-hover) var(--motion-ease-standard)}.ks-preview-close:hover{color:var(--ink);border-color:color-mix(in srgb,var(--accent) 32%,var(--border))}.ks-preview-meta{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin:0}.ks-preview-meta span{padding:3px var(--space-sm);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;letter-spacing:var(--tracking-sm);text-transform:uppercase}.ks-preview-actions{min-width:0;display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.ks-preview-actions button{appearance:none;min-width:0;height:28px;display:inline-flex;align-items:center;gap:var(--space-2xs);padding:0 var(--space-md);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--ink) 4%,transparent);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-sm);text-transform:uppercase;cursor:pointer;transition:color var(--motion-duration-hover) var(--motion-ease-standard),background var(--motion-duration-hover) var(--motion-ease-standard),border-color var(--motion-duration-hover) var(--motion-ease-standard)}.ks-preview-actions button:hover{border-color:color-mix(in srgb,var(--accent) 36%,var(--border));background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:color-mix(in srgb,var(--accent) 92%,var(--ink))}.ks-preview-actions button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:2px}.ks-preview-actions button.ks-action-primary{border-color:color-mix(in srgb,var(--accent) 42%,transparent);background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:color-mix(in srgb,var(--accent) 92%,var(--ink))}.ks-why-matched{min-width:0;border-block:1px solid color-mix(in srgb,var(--ink) 7%,transparent)}.ks-why-matched>summary{min-width:0;display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 0;color:var(--muted);cursor:pointer;list-style:none}.ks-why-matched>summary::-webkit-details-marker{display:none}.ks-why-matched>summary:before{content:"›";color:var(--dim);font-family:var(--font-mono);transition:transform var(--motion-duration-hover) var(--motion-ease-standard)}.ks-why-matched[open]>summary:before{transform:rotate(90deg)}.ks-why-matched>summary span{min-width:0;color:var(--ink);font-size:var(--text-sm);overflow-wrap:anywhere}.ks-why-matched>summary em{margin-left:auto;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-style:normal;font-weight:700;letter-spacing:var(--tracking-sm);text-transform:uppercase;white-space:nowrap}.ks-why-matched dl{display:grid;gap:var(--space-xs);margin:0;padding:0 0 var(--space-md) calc(var(--space-sm) + 7px)}.ks-why-matched dl div{display:grid;grid-template-columns:84px minmax(0,1fr);gap:var(--space-sm)}.ks-why-matched dt,.ks-why-matched dd{margin:0;font-family:var(--font-mono);font-size:var(--text-2xs)}.ks-why-matched dt{color:var(--dim);font-weight:700;letter-spacing:var(--tracking-sm);text-transform:uppercase}.ks-why-matched dd{color:var(--muted);overflow-wrap:anywhere}.ks-conversation-excerpt{min-width:0;display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);border:1px solid color-mix(in srgb,var(--accent) 16%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--accent) 4%,transparent)}.ks-excerpt-turn{min-width:0;display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-md);border:1px solid color-mix(in srgb,var(--ink) 7%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 80%,transparent)}.ks-excerpt-turn--matched{border-color:color-mix(in srgb,var(--accent) 30%,transparent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.ks-excerpt-turn--muted{opacity:.78}.ks-excerpt-turn header{display:flex;align-items:center;gap:var(--space-sm)}.ks-excerpt-turn header span,.ks-excerpt-turn header strong,.ks-excerpt-turn header em{font-family:var(--font-mono);font-size:var(--text-2xs)}.ks-excerpt-turn header span,.ks-excerpt-turn header em{color:var(--dim);font-style:normal;font-weight:700;letter-spacing:var(--tracking-sm);text-transform:uppercase}.ks-excerpt-turn header strong{color:var(--ink);overflow-wrap:anywhere}.ks-excerpt-turn header em{margin-left:auto;color:color-mix(in srgb,var(--accent) 88%,var(--ink))}.ks-excerpt-turn p{margin:0;color:var(--ink);font-size:var(--text-sm);line-height:var(--leading-snug);overflow-wrap:anywhere;white-space:pre-wrap;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}.ks-excerpt-turn p.is-expanded{display:block;overflow:visible;-webkit-line-clamp:unset}.ks-excerpt-turn--muted p{display:block;max-height:240px;overflow:auto;-webkit-line-clamp:unset}.ks-excerpt-turn--muted p:focus-visible{outline:1px solid color-mix(in srgb,var(--accent) 68%,transparent);outline-offset:3px}.ks-excerpt-turn-expand{appearance:none;align-self:flex-start;min-height:26px;padding:0 var(--space-sm);border:0;border-radius:var(--radius-md);background:transparent;color:color-mix(in srgb,var(--accent) 82%,var(--ink));font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;cursor:pointer}.ks-excerpt-turn-expand:hover,.ks-excerpt-turn-expand:focus-visible{background:color-mix(in srgb,var(--accent) 8%,transparent)}.ks-excerpt-fold{display:flex;flex-direction:column;gap:var(--space-xs)}.ks-excerpt-fold-toggle{appearance:none;align-self:flex-start;display:inline-flex;align-items:center;gap:var(--space-xs);min-height:28px;padding:0 var(--space-sm);border:0;border-radius:var(--radius-md);background:transparent;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;cursor:pointer}.ks-excerpt-fold-toggle:hover,.ks-excerpt-fold-toggle:focus-visible{background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--muted)}.ks-excerpt-fold-body{display:flex;flex-direction:column;gap:var(--space-xs)}@media(prefers-reduced-motion:reduce){.ks-why-matched>summary:before{transition:none}}.ks-rendered-head{display:flex;align-items:center;gap:var(--space-sm);color:var(--muted)}.ks-rendered-head strong{color:var(--ink);font-size:var(--text-sm);font-weight:620}.ks-rendered-head span{margin-left:auto;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-sm);text-transform:uppercase}.ks-indexed-snippet{min-width:0;display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);border:1px solid color-mix(in srgb,var(--ink) 7%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg) 34%,transparent)}.ks-indexed-snippet span{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-sm);text-transform:uppercase}.ks-indexed-snippet p{margin:0;color:var(--ink);font-size:var(--text-sm);line-height:var(--leading-snug);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.ks-preview-source{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-xs) var(--space-sm);align-items:center;padding:var(--space-md);border:1px solid color-mix(in srgb,var(--green) 16%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--green) 6%,transparent)}.ks-preview-source span{grid-column:1 / -1;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-sm);text-transform:uppercase}.ks-preview-source code{min-width:0;color:color-mix(in srgb,var(--green) 88%,var(--ink));font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:600;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.ks-preview-source button{appearance:none;height:26px;display:inline-flex;align-items:center;gap:var(--space-2xs);padding:0 var(--space-sm);border:1px solid color-mix(in srgb,var(--green) 24%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--green) 8%,var(--surface));color:color-mix(in srgb,var(--green) 88%,var(--ink));font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-sm);text-transform:uppercase;cursor:pointer;transition:background var(--motion-duration-hover) var(--motion-ease-standard)}.ks-preview-source button:hover{background:color-mix(in srgb,var(--green) 16%,var(--surface))}.ks-preview-loading{display:flex;align-items:center;gap:var(--space-sm);color:var(--muted);font-size:var(--text-sm)}.ks-jsonl-window{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid color-mix(in srgb,var(--ink) 7%,transparent);border-radius:var(--radius-lg)}.ks-jsonl-window>summary.ks-jsonl-window-head{cursor:pointer;list-style:none}.ks-jsonl-window>summary.ks-jsonl-window-head::-webkit-details-marker{display:none}.ks-jsonl-window:not([open])>summary.ks-jsonl-window-head{border-bottom:0}.ks-jsonl-window-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-bottom:1px solid color-mix(in srgb,var(--ink) 7%,transparent);background:color-mix(in srgb,var(--bg) 36%,transparent)}.ks-jsonl-window-head strong{color:var(--ink);font-size:var(--text-sm);font-weight:620}.ks-jsonl-window-head span{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-sm);text-transform:uppercase;text-align:right}.ks-jsonl-record{border-top:1px solid color-mix(in srgb,var(--ink) 6%,transparent);background:color-mix(in srgb,var(--surface) 75%,transparent)}.ks-jsonl-record--matched{background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.ks-jsonl-record:first-of-type{border-top:0}.ks-jsonl-record summary{display:grid;grid-template-columns:42px minmax(72px,.42fr) minmax(0,1fr);gap:var(--space-sm);align-items:center;padding:var(--space-sm) var(--space-md);color:var(--muted);font-size:var(--text-xs);cursor:pointer}.ks-jsonl-record summary span,.ks-jsonl-record summary strong{font-family:var(--font-mono)}.ks-jsonl-record summary strong{color:var(--ink);overflow-wrap:anywhere}.ks-jsonl-record summary em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal}.ks-jsonl-record pre{max-height:240px;margin:0;overflow:auto;padding:var(--space-md);border-top:1px solid color-mix(in srgb,var(--ink) 6%,transparent);background:color-mix(in srgb,black 20%,transparent);color:var(--ink);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-snug);white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:760px){.ks-shell{padding:var(--space-2xl) var(--space-2xl) var(--space-5xl)}.ks-header-titles h1{font-size:var(--text-4xl)}.ks-search-form{height:48px;padding:0 var(--space-lg)}.ks-search-input{font-size:var(--text-xl)}.ks-filterbar{padding:var(--space-md) var(--space-lg)}.ks-filterbar-label{width:64px}.ks-hit,.ks-preview-actions{padding-left:var(--space-lg);padding-right:var(--space-lg)}.ks-preview-panel{padding:var(--space-lg)}}
@@ -1,4 +1,4 @@
1
- import{n as m,t as T,a as A}from"./time-DltNTpLl.js";import{o as p,a as v}from"./tail-display-BdyoLvzY.js";const w=2*6e4,_=9e4;function y(e,n=Date.now()){const t=T(e,n);return t==="now"?"now":`${t} ago`}function H(e){return A(e)}function D(e){if(!Number.isFinite(e)||e<=0)return"0s";if(e<6e4)return`${Math.max(1,Math.round(e/1e3))}s`;if(e<36e5)return`${Math.max(1,Math.round(e/6e4))}m`;const n=Math.floor(e/36e5),t=Math.round(e%36e5/6e4);return t>0?`${n}h ${t}m`:`${n}h`}function R(e){if(!Number.isFinite(e)||e<w)return null;const n=Math.floor(e/1e3);if(n<3600)return`${Math.floor(n/60)}m gap`;const t=Math.floor(n/3600),s=Math.floor(n%3600/60);return s>0?`${t}h ${s}m gap`:`${t}h gap`}function C(e,n,t,s,o=0){const a=t-s,r=e.map(f=>u(f,n)).filter(f=>f!==null);if(r.length===0)return{eventCount:0,spanMs:0,oldestAt:null,newestAt:null,truncatedBefore:!1,hiddenBeforeCount:o};const i=Math.min(...r),c=Math.max(...r);return{eventCount:e.length,spanMs:Math.max(0,c-i),oldestAt:i,newestAt:c,truncatedBefore:i>a+_,hiddenBeforeCount:o}}function u(e,n){const t=m(e.at);if(t!==null)return t;if(!Number.isFinite(e.t)||e.t<0)return null;const s=m(n);return s===null?null:s+e.t*1e3}function E(e,n,t,s){const o=t-s;return e.filter(a=>{const r=u(a,n);return r===null?!1:r>=o})}function G(e,n,t,s){const o=t-s;return e.reduce((a,r)=>{const i=u(r,n);return i===null||i>=o?a:a+1},0)}const N=50;function q(e,n,t,s=N){const o=S(e,n,t);return!e||!o?o??null:o.events.length>=s||e.events.length<=o.events.length?o:{...e,events:e.events.slice(-s)}}function S(e,n,t){if(!e)return null;const s=e.metadata?.session?.sessionStart,o=E(e.events,s,n,t);if(o.length===e.events.length)return e;const a=n-t,r=e.files.filter(i=>typeof s!="number"||!Number.isFinite(s)||!Number.isFinite(i.lastT)||i.lastT<0?!0:s+i.lastT*1e3>=a);return{...e,events:o,files:r}}const g=180,b=3;function X(e,n=g,t=b){const s=e.replace(/\r\n/g,`
1
+ import{n as m,t as T,b as A}from"./time-Dhsh_2EG.js";import{o as p,a as v}from"./tail-display-BdyoLvzY.js";const w=2*6e4,_=9e4;function y(e,n=Date.now()){const t=T(e,n);return t==="now"?"now":`${t} ago`}function H(e){return A(e)}function D(e){if(!Number.isFinite(e)||e<=0)return"0s";if(e<6e4)return`${Math.max(1,Math.round(e/1e3))}s`;if(e<36e5)return`${Math.max(1,Math.round(e/6e4))}m`;const n=Math.floor(e/36e5),t=Math.round(e%36e5/6e4);return t>0?`${n}h ${t}m`:`${n}h`}function R(e){if(!Number.isFinite(e)||e<w)return null;const n=Math.floor(e/1e3);if(n<3600)return`${Math.floor(n/60)}m gap`;const t=Math.floor(n/3600),s=Math.floor(n%3600/60);return s>0?`${t}h ${s}m gap`:`${t}h gap`}function C(e,n,t,s,o=0){const a=t-s,r=e.map(f=>u(f,n)).filter(f=>f!==null);if(r.length===0)return{eventCount:0,spanMs:0,oldestAt:null,newestAt:null,truncatedBefore:!1,hiddenBeforeCount:o};const i=Math.min(...r),c=Math.max(...r);return{eventCount:e.length,spanMs:Math.max(0,c-i),oldestAt:i,newestAt:c,truncatedBefore:i>a+_,hiddenBeforeCount:o}}function u(e,n){const t=m(e.at);if(t!==null)return t;if(!Number.isFinite(e.t)||e.t<0)return null;const s=m(n);return s===null?null:s+e.t*1e3}function E(e,n,t,s){const o=t-s;return e.filter(a=>{const r=u(a,n);return r===null?!1:r>=o})}function G(e,n,t,s){const o=t-s;return e.reduce((a,r)=>{const i=u(r,n);return i===null||i>=o?a:a+1},0)}const N=50;function q(e,n,t,s=N){const o=S(e,n,t);return!e||!o?o??null:o.events.length>=s||e.events.length<=o.events.length?o:{...e,events:e.events.slice(-s)}}function S(e,n,t){if(!e)return null;const s=e.metadata?.session?.sessionStart,o=E(e.events,s,n,t);if(o.length===e.events.length)return e;const a=n-t,r=e.files.filter(i=>typeof s!="number"||!Number.isFinite(s)||!Number.isFinite(i.lastT)||i.lastT<0?!0:s+i.lastT*1e3>=a);return{...e,events:o,files:r}}const g=180,b=3;function X(e,n=g,t=b){const s=e.replace(/\r\n/g,`
2
2
  `).trim();if(!s)return"";const o=s.split(`
3
3
  `),a=o.slice(0,t).join(`
4
4
  `);if(a.length<=n&&o.length<=t)return a;const r=a.slice(0,n).trimEnd(),i=Math.max(r.lastIndexOf(" "),r.lastIndexOf(`
@@ -1 +1 @@
1
- import{r as c}from"./index-DMiGbrBt.js";let s=null;const o=new Set;function d(e,t){return e===t?!0:!e||!t?!1:e.live===t.live&&e.harness===t.harness&&e.actionGlyph===t.actionGlyph&&e.actionLabel===t.actionLabel&&e.actionMeta===t.actionMeta&&e.countsLabel===t.countsLabel&&e.strip.length===t.strip.length&&e.strip.every((n,r)=>n===t.strip[r])}function L(e,t){return e.id===t.id&&e.label===t.label&&e.statusLabel===t.statusLabel&&e.tone===t.tone&&e.agentId===t.agentId&&e.updatedAt===t.updatedAt&&d(e.floor,t.floor)}function p(e,t){return e===t?!0:e===null||t===null||e.length!==t.length?!1:e.every((n,r)=>L(n,t[r]))}function E(e){if(!p(s,e)){s=e;for(const t of o)t()}}function g(e){return o.add(e),()=>{o.delete(e)}}function i(){return s}function I(){return c.useSyncExternalStore(g,i,i)}let u=null;const l=new Set;function y(e){if(u!==e){u=e;for(const t of l)t()}}function h(e){return l.add(e),()=>{l.delete(e)}}function a(){return u}function F(){return c.useSyncExternalStore(h,a,a)}let f=null;function v(e){f=e}function R(){return f}export{y as a,F as b,R as g,E as p,v as s,I as u};
1
+ import{r as c}from"./index-sUomXsrf.js";let s=null;const o=new Set;function d(e,t){return e===t?!0:!e||!t?!1:e.live===t.live&&e.harness===t.harness&&e.actionGlyph===t.actionGlyph&&e.actionLabel===t.actionLabel&&e.actionMeta===t.actionMeta&&e.countsLabel===t.countsLabel&&e.strip.length===t.strip.length&&e.strip.every((n,r)=>n===t.strip[r])}function L(e,t){return e.id===t.id&&e.label===t.label&&e.statusLabel===t.statusLabel&&e.tone===t.tone&&e.agentId===t.agentId&&e.updatedAt===t.updatedAt&&d(e.floor,t.floor)}function p(e,t){return e===t?!0:e===null||t===null||e.length!==t.length?!1:e.every((n,r)=>L(n,t[r]))}function E(e){if(!p(s,e)){s=e;for(const t of o)t()}}function g(e){return o.add(e),()=>{o.delete(e)}}function i(){return s}function I(){return c.useSyncExternalStore(g,i,i)}let u=null;const l=new Set;function y(e){if(u!==e){u=e;for(const t of l)t()}}function h(e){return l.add(e),()=>{l.delete(e)}}function a(){return u}function F(){return c.useSyncExternalStore(h,a,a)}let f=null;function v(e){f=e}function R(){return f}export{y as a,F as b,R as g,E as p,v as s,I as u};
@@ -0,0 +1 @@
1
+ import{r as N,j as e}from"./index-sUomXsrf.js";import{a as I}from"./api-h5zurxmi.js";import{b as L,c as j,s as R}from"./router-Dja9_ygK.js";import{u as $,r as y,s as b,i as C}from"./mesh-ops-Kn8pCtyJ.js";import{u as E,s as T}from"./mesh-view-store-D14ihwkF.js";import{u as A}from"./Provider-tFc3jqZ4.js";import{R as h}from"./RailRow-BTlVAnHS.js";import{u as U}from"./use-mesh-ops-items-ByGZk8rU.js";/* empty css */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"./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";import"./AgentAvatar-CufDA4A-.js";import"./SpriteAvatar-CQs-jC-v.js";import"./agent-identity-xQHedtLl.js";function S(s){return s.hostName?.split(".")[0]??s.name??s.id.slice(0,12)}function $t(){const{route:s,navigate:u}=A(),l=L(s),{items:i,unattributedOnly:m,lab:M,refreshToken:g}=$(),{meshSnapshot:r}=E();U(l);const[w]=N.useState(()=>y());N.useEffect(()=>{let t=!1;return I("/api/mesh").then(o=>{t||T(o)}).catch(()=>{}),()=>{t=!0}},[g]);const c=t=>{b(!1),u(t?R(s,t):j(s))},O=()=>{u(j(s)),b(!0)},p=r?.localNode??null,d=r?Object.values(r.nodes).filter(t=>t.id!==p?.id):[],a=t=>M.lastLook?t.filter(o=>C(o,w)).length:0,x=i.filter(t=>t.hostNodeId===null),f=t=>{const o=i.filter(k=>k.hostNodeId===t.id),n=a(o),v=l===t.id;return e.jsx(h,{name:S(t),meta:o.length>0?`${n>0?`${n}·`:""}${o.length}`:"—",tone:n>0?"needs_attention":"neutral",active:v,unread:n>0,onClick:()=>c(v?null:t.id),title:`Scope the list to ${S(t)}`},t.id)};return e.jsxs("div",{className:"ctx-panel mesh-ops-rail",children:[e.jsxs("div",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Mesh"}),e.jsx(h,{name:"everywhere",meta:`${a(i)>0?`${a(i)}·`:""}${i.length}`,tone:a(i)>0?"needs_attention":"neutral",active:l===null&&!m,onClick:()=>c(null),title:"Show items across all hosts"})]}),p&&e.jsxs("div",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"This host"}),f(p)]}),d.length>0&&e.jsxs("div",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Peers"}),d.map(t=>f(t))]}),e.jsxs("div",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"No venue"}),e.jsx(h,{name:"unattributed",meta:x.length>0?String(x.length):"—",tone:"neutral",active:m,onClick:()=>m?c(null):O(),title:"Items with no venue host"})]}),!r&&e.jsx("div",{className:"ctx-panel-empty",children:"Loading mesh…"})]})}export{$t as MeshOpsLeft};
@@ -0,0 +1,2 @@
1
+ import{r as h,j as i}from"./index-sUomXsrf.js";/* empty css */import{u as Ot,m as Gt,g as _t,i as Dt}from"./Provider-tFc3jqZ4.js";import{a as Vt,b as Ft,m as Kt,r as qt}from"./keyboard-nav-BhZZ5HEq.js";import{n as ct,g as wt}from"./colors-BtO5_zlx.js";import{j as Ht,a as N,k as jt,l as lt,i as Mt,n as Qt}from"./conversation-model-C4yb6_FA.js";import{l as Wt,i as $,a as M,p as yt,t as Yt,b as zt}from"./conversation-prefs-DNre-Lcx.js";import{i as Jt,l as Xt,s as Zt}from"./sessionRead-CvFz2RHv.js";import{u as te}from"./ContextMenu-BlBQhpax.js";import{t as at}from"./time-Dhsh_2EG.js";import{u as ee}from"./use-conversation-list-B1T6J_qE.js";import{u as ne}from"./use-fleet-active-asks-DLofGhhK.js";import{b as oe}from"./router-Dja9_ygK.js";import{R as Nt}from"./RailRow-BTlVAnHS.js";import"./api-h5zurxmi.js";import"./sse-CVoGDiKW.js";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"./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"./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"./AgentAvatar-CufDA4A-.js";import"./SpriteAvatar-CQs-jC-v.js";import"./agent-identity-xQHedtLl.js";function Y(t){const n=t.split("/").filter(Boolean);return n[n.length-1]??t}function $t(t){const n=t.replace(/\/+$/,"").split("/");return n[n.length-1]??t}function se(t,n){const o=Y(n).toLowerCase(),r=t.filter(p=>!!p.projectRoot),c=r.filter(p=>$t(p.projectRoot).toLowerCase()===o),d=c.length>0?c:r,s=ie(d);return s?{label:(c.length>0?d.find(p=>p.projectRoot===s):[...d].sort((p,w)=>w.lastActivityAt-p.lastActivityAt)[0])?.project??Y(n),canonicalRoot:s}:{label:Y(n),canonicalRoot:null}}function ie(t){const n=new Map;for(const d of t){const s=n.get(d.projectRoot)??{count:0,latest:0};s.count+=1,s.latest=Math.max(s.latest,d.lastActivityAt),n.set(d.projectRoot,s)}let o=null,r=-1,c=-1;for(const[d,s]of n)(s.count>r||s.count===r&&s.latest>c)&&(o=d,r=s.count,c=s.latest);return o}function Ct(t,n,o,r){const c=new Map;for(const s of t){const f=Ht(s),p=s.agentId?n.get(s.agentId):void 0,w=p?.repoKey??null,u=p?.project??null,C=(s.agentName??N(s)).trim(),m=f?`channel:${s.id}`:w?`repo:${w.toLowerCase()}`:u?`project:${u.toLowerCase()}`:C?`name:${C.toLowerCase()}`:`dm:${s.id}`,y=f?N(s):w?Y(w):u??C??N(s);let j=c.get(m);if(j||(j={key:m,label:y,isChannel:f,conversations:[],bestState:"blocked",latestUpdate:0,unreadCount:0,canonicalRoot:null},c.set(m,j)),j.conversations.push(s),j.latestUpdate=Math.max(j.latestUpdate,s.lastMessageAt??0),Jt(s.lastMessageAt,s.id,o)&&(j.unreadCount+=1),!f&&p){const g=ct(p.state);wt(g)<wt(j.bestState)&&(j.bestState=g)}}for(const s of c.values()){if(s.key.startsWith("repo:")){const f=s.conversations.map(w=>{const u=w.agentId?n.get(w.agentId):void 0;return{project:u?.project??null,projectRoot:u?.projectRoot??null,lastActivityAt:w.lastMessageAt??0}}),p=se(f,s.key.slice(5));s.label=p.label,s.canonicalRoot=p.canonicalRoot}s.conversations.sort((f,p)=>(p.lastMessageAt??0)-(f.lastMessageAt??0))}const d=Array.from(c.values());return d.sort((s,f)=>f.latestUpdate-s.latestUpdate),d}const ae=12;function cn(){const{route:t,navigate:n,agents:o,apiConnection:r}=Ot(),{sessions:c,loading:d,loadError:s,reload:f}=ee(),[p,w]=h.useState(()=>Xt()),[u,C]=h.useState(()=>Wt()),[m,y]=h.useState(""),[j,g]=h.useState(()=>new Set),[b,l]=h.useState(!1),[R,L]=h.useState(!1),[q,J]=h.useState(!1),k=ne(),H=oe(t),O=h.useMemo(()=>Gt(o,H),[o,H]),I=h.useMemo(()=>{const e=new Map,a=O?o.filter(v=>O.has(v.id)):o;for(const v of a)e.set(v.id,v);return e},[o,O]),T=t.view==="messages"||t.view==="conversation"||t.view==="agent-info"||t.view==="agents-v2"?t.conversationId:void 0;h.useEffect(()=>{L(!1)},[m]);const G=h.useMemo(()=>_t(c,O,H),[c,O,H]),X=h.useMemo(()=>m?G.filter(e=>kt(e,m)):G,[G,m]),_=h.useMemo(()=>{const e=a=>(a.agentId?k.get(a.agentId)?.updatedAt:void 0)??0;return G.filter(a=>$(a.id,u)||!jt(a)?!1:(a.agentId?k.get(a.agentId):void 0)?.status==="needs_attention").sort((a,v)=>e(v)-e(a))},[G,u,k]),D=h.useMemo(()=>m?_.filter(e=>kt(e,m)):_,[_,m]),x=h.useMemo(()=>{const e=X.filter(A=>!$(A.id,u)),a=W(X.filter(A=>$(A.id,u))),v=e.filter(A=>M(A.id,u)).sort((A,xt)=>yt(xt.id,u)-yt(A.id,u)||(xt.lastMessageAt??0)-(A.lastMessageAt??0)),K=e.filter(A=>!M(A.id,u)),it=K.filter(lt),bt=K.filter(jt),Et=K.filter(Mt);return{pinned:v,channels:W(it),agents:Ct(W(bt),I,p),observed:Ct(W(Et),I,p),archived:a}},[X,I,p,u]),dt=te(),V=h.useCallback(e=>{C(a=>Yt(e,a))},[]),F=h.useCallback(e=>{C(a=>zt(e,a))},[]),S=h.useCallback(e=>{w(Zt(e.id)),n({view:"messages",conversationId:e.id})},[n]),P=h.useCallback((e,a)=>{const v=M(a.id,u),K=$(a.id,u),it=N(a);dt(e,[{kind:"action",label:"Open",onSelect:()=>S(a)},{kind:"separator"},{kind:"action",label:v?"Unpin":"Pin to top",onSelect:()=>V(a.id)},{kind:"action",label:K?"Unarchive":"Archive",onSelect:()=>F(a.id)},{kind:"separator"},{kind:"action",label:"Copy name",onSelect:()=>{navigator.clipboard?.writeText(it).catch(()=>{})}}])},[u,S,V,F,dt]),ut=e=>{g(a=>{const v=new Set(a);return v.has(e)?v.delete(e):v.add(e),v})},Tt=r.status==="offline"||Dt(s),pt=h.useRef(null),mt=h.useRef(null),Pt=Vt(),Ut=Kt(()=>pt.current);Ft(h.useCallback(()=>mt.current,[]));const Z=x.pinned.length,tt=x.channels.length,et=x.agents.reduce((e,a)=>e+a.conversations.length,0),nt=x.observed.reduce((e,a)=>e+a.conversations.length,0),Q=x.archived.length,ht=Z+tt+et+nt+Q,Bt=b||!!m,ot=h.useMemo(()=>{const e=[];for(const a of D)e.push({rowId:`ny-${a.id}`,id:a.id});for(const a of x.pinned)e.push({rowId:`pin-${a.id}`,id:a.id});for(const a of x.agents)for(const v of a.conversations)e.push({rowId:v.id,id:v.id});for(const a of x.channels)e.push({rowId:a.id,id:a.id});for(const a of x.observed)for(const v of a.conversations)e.push({rowId:v.id,id:v.id});for(const a of x.archived)e.push({rowId:`arch-${a.id}`,id:a.id});return e},[D,x]),U=h.useMemo(()=>({activeId:T,activeRowId:T?ot.find(e=>e.id===T)?.rowId:void 0,firstRowId:ot[0]?.rowId}),[T,ot]),vt=R||m?x.observed:x.observed.slice(0,ae),ft=Math.max(0,x.observed.length-vt.length),gt=e=>!!(m||j.has(e.key)||T&&e.conversations.some(a=>a.id===T)),st=e=>i.jsx(rt,{pinned:M(e.id,u),archived:$(e.id,u),onTogglePin:()=>V(e.id),onToggleArchive:()=>F(e.id)});return i.jsxs("div",{className:"ctx-panel",children:[i.jsxs("div",{className:"ctx-panel-toolbar",children:[i.jsx("input",{ref:mt,type:"text",className:"ctx-panel-search-input",placeholder:"Filter… (/)",value:m,onChange:e=>y(e.target.value),onKeyDown:Ut}),_.length>0&&i.jsx("span",{className:"ctx-panel-rail-stat",title:"Asks waiting on your reply",children:ce(_.length)})]}),i.jsx("div",{ref:pt,className:["ctx-panel-list","ctx-panel-list--scroll",ht===0&&"ctx-panel-list--empty"].filter(Boolean).join(" "),onKeyDown:Pt,children:ht===0?i.jsx(re,{query:m,loading:d,error:s,apiOffline:Tt,onRetry:()=>{f(!0)}}):i.jsxs(i.Fragment,{children:[D.length>0&&i.jsx(B,{label:"Needs you",count:D.length,hint:"Asks waiting on your reply",children:D.map(e=>i.jsx(E,{rowId:`ny-${e.id}`,session:e,nav:U,agentById:I,asksByAgent:k,onSelect:S,onContextMenu:P},`ny-${e.id}`))}),Z>0&&i.jsx(B,{label:"Pinned",count:Z,hint:"Pinned conversations",children:x.pinned.map(e=>i.jsx(E,{rowId:`pin-${e.id}`,session:e,nav:U,agentById:I,asksByAgent:k,pinned:!0,actions:st(e),onSelect:S,onContextMenu:P},`pin-${e.id}`))}),et>0&&i.jsx(B,{label:"Agents",count:et,children:x.agents.map(e=>i.jsx(At,{group:e,isOpen:gt(e),nav:U,agentById:I,asksByAgent:k,prefs:u,onToggle:()=>ut(e.key),onSelect:S,onTogglePin:V,onToggleArchive:F,onContextMenu:P},e.key))}),tt>0&&i.jsx(B,{label:"Channels",count:tt,children:x.channels.map(e=>i.jsx(E,{rowId:e.id,session:e,nav:U,agentById:I,asksByAgent:k,actions:st(e),onSelect:S,onContextMenu:P},e.id))}),nt>0&&i.jsxs(B,{label:"Observed",count:nt,hint:"Agent conversations you’re not in",open:Bt,onToggle:()=>l(e=>!e),children:[vt.map(e=>i.jsx(At,{group:e,isOpen:gt(e),nav:U,agentById:I,asksByAgent:k,prefs:u,observed:!0,onToggle:()=>ut(e.key),onSelect:S,onTogglePin:V,onToggleArchive:F,onContextMenu:P},e.key)),ft>0?i.jsxs("button",{type:"button",className:"ctx-panel-more",onClick:()=>L(!0),children:["+ ",ft," more observed"]}):null]}),Q>0&&i.jsxs(B,{label:"Archived",count:Q,hint:"Hidden from the main rail",children:[i.jsx("button",{type:"button",className:"ctx-panel-more",onClick:()=>J(e=>!e),children:q?"▾ hide archived":`› show ${Q} archived`}),q?x.archived.map(e=>i.jsx(E,{rowId:`arch-${e.id}`,session:e,nav:U,agentById:I,asksByAgent:k,actions:st(e),onSelect:S,onContextMenu:P},`arch-${e.id}`)):null]})]})})]})}function B({label:t,count:n,hint:o,open:r,onToggle:c,children:d}){return c?i.jsxs("section",{className:"ctx-panel-rail-section","aria-label":t,children:[i.jsxs("button",{type:"button",className:"ctx-panel-section-label ctx-panel-section-toggle",title:o,"aria-expanded":!!r,onClick:c,children:[i.jsxs("span",{className:"ctx-panel-section-toggle-label",children:[i.jsx("span",{className:"ctx-panel-section-chevron","aria-hidden":!0,children:r?"▾":"▸"}),t]}),i.jsx("span",{className:"ctx-panel-count",children:n})]}),r?i.jsx("div",{className:"ctx-panel-rail-section-body",children:d}):null]}):i.jsxs("section",{className:"ctx-panel-rail-section","aria-label":t,children:[i.jsxs("div",{className:"ctx-panel-section-label",title:o,children:[i.jsx("span",{children:t}),i.jsx("span",{className:"ctx-panel-count",children:n})]}),i.jsx("div",{className:"ctx-panel-rail-section-body",children:d})]})}function rt({pinned:t,archived:n,onTogglePin:o,onToggleArchive:r}){return i.jsxs(i.Fragment,{children:[i.jsx("button",{type:"button",className:["rr-row-action",t&&"rr-row-action--on"].filter(Boolean).join(" "),title:t?"Unpin":"Pin to top","aria-label":t?"Unpin":"Pin",onClick:c=>{c.stopPropagation(),o()},children:t?"Unpin":"Pin"}),i.jsx("button",{type:"button",className:["rr-row-action",n&&"rr-row-action--on"].filter(Boolean).join(" "),title:n?"Unarchive":"Archive","aria-label":n?"Unarchive":"Archive",onClick:c=>{c.stopPropagation(),r()},children:n?"Restore":"Archive"})]})}function E({session:t,rowId:n,nav:o,agentById:r,asksByAgent:c,pinned:d,depth:s,actions:f,worktreeLabel:p,onSelect:w,onContextMenu:u}){const C=t.id===o.activeId,m=N(t),y=lt(t),j=Mt(t),g=t.agentId?r.get(t.agentId):void 0,b=t.agentId?c.get(t.agentId):void 0,l=!y&&!j&&b?.status==="needs_attention",R=Rt(t,g),L=y?`${t.participantIds.length} members`:R.toLowerCase()===m.toLowerCase()?void 0:R,q=!y&&b?ue(t,g,b):L;return i.jsx(Nt,{depth:s,name:s===1?It(t,g,b):m,sub:s===1?Rt(t,g):q,meta:b?at(b.updatedAt):t.lastMessageAt?at(t.lastMessageAt):void 0,tone:y?"channel":b?de(g,b):g?ct(g.state):"dm",avatarName:s===1?g?.name??It(t,g,b):m,avatarKind:y?"channel":"user",active:C,unread:l,pinned:d,activityLabel:b?Lt(b):void 0,activityTone:b?le(b):void 0,worktreeLabel:p??void 0,title:s===1?pe(t,g,b):void 0,actions:f,tabIndex:qt(n===o.activeRowId,o.activeRowId!==void 0,n===o.firstRowId),onClick:()=>w(t),onContextMenu:u?J=>u(J,t):void 0})}function At({group:t,isOpen:n,nav:o,agentById:r,asksByAgent:c,prefs:d,observed:s,onToggle:f,onSelect:p,onTogglePin:w,onToggleArchive:u,onContextMenu:C}){if(t.conversations.length===1){const l=t.conversations[0];return i.jsx(E,{rowId:l.id,session:l,nav:o,agentById:r,asksByAgent:c,pinned:M(l.id,d),actions:i.jsx(rt,{pinned:M(l.id,d),archived:$(l.id,d),onTogglePin:()=>w(l.id),onToggleArchive:()=>u(l.id)}),onSelect:p,onContextMenu:C})}const m=t.conversations.map(l=>l.agentId?c.get(l.agentId):void 0).filter(l=>!!l),y=m.length,j=m.filter(l=>l.status==="working").length,g=m.filter(l=>l.status==="needs_attention").length,b=t.conversations.some(l=>l.id===o.activeId);return i.jsxs("div",{children:[i.jsx(Nt,{name:t.label,meta:y>0?`${y} active · ${St(t)}`:St(t),tone:j>0?"in_turn":t.bestState,caret:n?"open":"closed",active:b&&!n,unread:!s&&g>0&&!n,activityLabel:y>0?`${y} active`:void 0,activityTone:g>0?"attention":j>0?"working":"pending",onClick:f}),n&&t.conversations.map(l=>{const R=l.agentId?r.get(l.agentId):void 0,L=t.canonicalRoot&&R?.projectRoot&&R.projectRoot!==t.canonicalRoot?$t(R.projectRoot):null;return i.jsx(E,{rowId:l.id,session:l,depth:1,nav:o,agentById:r,asksByAgent:c,pinned:M(l.id,d),worktreeLabel:L,actions:i.jsx(rt,{pinned:M(l.id,d),archived:$(l.id,d),onTogglePin:()=>w(l.id),onToggleArchive:()=>u(l.id)}),onSelect:p,onContextMenu:C},l.id)})]},t.key)}function re({query:t,loading:n,error:o,apiOffline:r,onRetry:c}){const d=t.trim().length>0,s=n?"Loading conversations":r?"Scout server offline":o?"Couldn't load conversations":d?"No matching conversations":"No conversations yet",f=n?"Checking the broker for your conversations, channels, and observed threads.":r?"Start or restart Scout services, then retry.":o||(d?"Try a shorter filter.":"Your conversations, channels, and observed agent threads will show here.");return i.jsxs("div",{className:"ctx-panel-empty-card","data-tone":r||o?"error":"neutral",children:[i.jsx("div",{className:"ctx-panel-empty-card-title",children:s}),i.jsx("div",{className:"ctx-panel-empty-card-detail",children:f}),(r||o)&&i.jsx("button",{type:"button",className:"ctx-panel-empty-card-action",onClick:c,children:"Retry"})]})}function kt(t,n){const o=n.toLowerCase();return N(t).toLowerCase().includes(o)||t.id.toLowerCase().includes(o)||(t.preview??"").toLowerCase().includes(o)||(t.agentName??"").toLowerCase().includes(o)}function ce(t){return t===1?"1 needs a reply":`${t} need a reply`}function Lt(t){return t.status==="queued"?"Starting":t.status==="working"?"Working":t.status==="needs_attention"?"Needs you":t.statusLabel||t.status}function le(t){return t.status==="queued"?"pending":t.status==="needs_attention"?"attention":"working"}function de(t,n){return n.status==="working"?"in_turn":t?ct(t.state):"dm"}function ue(t,n,o){const r=Lt(o),c=z(o.task)??z(o.summary)??z(t.preview)??t.currentBranch??n?.branch??"";return c?`${r} · ${c}`:r}function W(t){return[...t].sort((n,o)=>(o.lastMessageAt??0)-(n.lastMessageAt??0))}function It(t,n,o){const r=o?.task??z(t.preview)??t.currentBranch??n?.branch??"",c=n?.name??t.agentName??N(t);return r?`${c} · ${r}`:c}function pe(t,n,o){const r=[];return o&&r.push(`task: ${o.task}`),t.preview&&r.push(`preview: ${t.preview}`),(t.currentBranch??n?.branch)&&r.push(`branch: ${t.currentBranch??n?.branch}`),n?.harness&&r.push(`harness: ${n.harness}`),r.length>0?r.join(`
2
+ `):void 0}function Rt(t,n){if(lt(t))return Qt(t);const o=n?.handle?.trim().replace(/^@+/,"");return o||(t.agentId?t.agentId.split(".")[0]??t.agentId:N(t))}function z(t){if(!t)return null;const n=t.replace(/\s+/g," ").trim();return n?n.length>60?`${n.slice(0,57)}…`:n:null}function St(t){const n=t.latestUpdate?at(t.latestUpdate):"",o=`${t.conversations.length}`;return n?`${o} · ${n}`:o}export{cn as ChatLeft};
@@ -0,0 +1 @@
1
+ import{j as t}from"./index-sUomXsrf.js";import{u as o}from"./Provider-tFc3jqZ4.js";import{OpsAgentsLeft as m}from"./left-agents-DsOHgDCY.js";import{OpsDefaultLeft as p}from"./left-default-BRCwoCJr.js";import{OpsLanesLeft as i}from"./left-lanes-DNtoRzoV.js";import{OpsMissionLeft as s}from"./left-mission-DsTu2X5Y.js";import{OpsPlanLeft as e}from"./left-plan-CtySjsXC.js";import"./router-Dja9_ygK.js";import"./terminal-sessions-D5CIR2OL.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"./use-fleet-active-asks-DLofGhhK.js";import"./RailRow-BTlVAnHS.js";import"./AgentAvatar-CufDA4A-.js";import"./SpriteAvatar-CQs-jC-v.js";import"./agent-identity-xQHedtLl.js";import"./operator-attention-BwSPeheT.js";import"./openContent-C6XO6kr5.js";import"./agent-lanes-model-Bl6xfviL.js";import"./context-budget-DX_fwUs3.js";import"./lane-observe-DrhKkQ3A.js";import"./tail-display-BdyoLvzY.js";import"./lane-edit-display-C_Aujldz.js";import"./lane-roster-store-NE15Oe6M.js";import"./mission-control-store-xQHVQdm8.js";import"./MissionLeftAgentRow-CxlH3dON.js";import"./page-status-BymFEFai.js";import"./FleetSearch-DlWTLl-v.js";function Lt(){const{route:r}=o();if(r.view!=="ops")return null;switch(r.mode){case"mission":return t.jsx(s,{});case"agents":return t.jsx(m,{});case"plan":return t.jsx(e,{});case"lanes":return t.jsx(i,{});default:return t.jsx(p,{})}}export{Lt as OpsLeft};
@@ -0,0 +1 @@
1
+ import{r,j as t}from"./index-sUomXsrf.js";/* empty css */import"./NewChatComposer-B5FnPyzS.js";import{u as k,e as w}from"./Provider-tFc3jqZ4.js";import{A as S}from"./AgentAvatar-CufDA4A-.js";import{a as g}from"./api-h5zurxmi.js";import{b as y}from"./router-Dja9_ygK.js";import{u as M}from"./sse-CVoGDiKW.js";import{o as A,i as j}from"./surface-activity-B1rgWB1i.js";import{d as N,c as b,e as I,f as C,g as B,h as P}from"./model-Co0zkMIc.js";import"./runtime-picker-DOZpZOlt.js";import"./scout-voice-BZ4KqADJ.js";import"./fx-z37u1o2z.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-lWOOKezu.js";import"./createLucideIcon-DlxlBfLC.js";import"./MessageComposerSuggestions-zAUUcLOv.js";import"./index-m6dFtY5f.js";import"./HarnessMark-Dm_qm1Ku.js";import"./conversation-model-C4yb6_FA.js";import"./colors-BtO5_zlx.js";import"./time-Dhsh_2EG.js";import"./NewChatOrigin--pHWUb4V.js";import"./keyboard-nav-BhZZ5HEq.js";import"./agent-chat-Bfjd9y6c.js";import"./x-0XjXwGqq.js";import"./chevron-down-BFai6ZfE.js";import"./search-DCT_EvPr.js";import"./file-text-i3xTDUjJ.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-BlBQhpax.js";import"./DocumentFocusViewer-DU_9BHsD.js";import"./TextDocumentSurface-C-9EtYqt.js";/* empty css */import"./chevron-right-CyUa1zXx.js";import"./code-xml-05TD3uOC.js";import"./arrow-left-WjQIN9J6.js";import"./chunk-HRAB3GC3-CvwpNg-G.js";import"./SpriteAvatar-CQs-jC-v.js";import"./agent-identity-xQHedtLl.js";import"./terminal-sessions-D5CIR2OL.js";import"./index-BWHgHrtv.js";import"./text-DsBWV_4k.js";function W(){const{agents:n,route:d}=k(),m=y(d),l=r.useMemo(()=>w(n,m),[n,m]),[u,h]=r.useState([]),[v,s]=r.useState(null),[a,p]=r.useState(null),c=r.useCallback(async()=>{const[e,i,o]=await Promise.allSettled([g("/api/conversations"),g("/api/fleet"),g("/api/tail/discover")]);e.status==="fulfilled"&&h(e.value),i.status==="fulfilled"&&s(i.value),o.status==="fulfilled"&&p(o.value)},[]);r.useEffect(()=>{c()},[c]),r.useEffect(()=>{const e=()=>{j()&&c()},i=window.setInterval(e,1e4),o=A(e);return()=>{window.clearInterval(i),o()}},[c]),M(()=>{j()&&c()});const x=r.useMemo(()=>{const e=new Map;for(const i of v?.activeAsks??[]){const o=e.get(i.agentId)??[];o.push(i),e.set(i.agentId,o)}return e},[v?.activeAsks]);return{projects:r.useMemo(()=>{const{sessionByAgentId:e}=N(u),i=l.map(f=>b(f,e.get(f.id)??null,x.get(f.id)??[])),o=I(a,Date.now());return C(i,u,o)},[l,u,x,a])}}function Nt(){const{route:n,navigate:d,openContextCapture:m}=k(),{projects:l}=W(),u=n.view==="agents-v2"?n.projectSlug:void 0,h=n.view==="agents-v2"?n.agentId:void 0,v=u??l[0]?.slice.slug;return t.jsxs("div",{className:"ctx-panel s-agents-rail",children:[t.jsx("div",{className:"s-agents-recent s-rail-projects",children:l.length===0?t.jsx("div",{className:"ctx-panel-empty",children:"No projects yet"}):l.map(s=>{const a=B(s),p=P(s),c=s.slice.slug===v&&!h;return t.jsxs("button",{type:"button",className:"s-rail-proj","data-selected":c||void 0,"data-live":a>0||void 0,"data-needs":p||void 0,title:s.slice.root??void 0,onClick:()=>d({view:"agents-v2",projectSlug:s.slice.slug}),children:[t.jsx(S,{name:s.slice.title,size:22,tile:!0,presence:!1}),t.jsxs("span",{className:"s-rail-proj-name","data-idle":a===0||void 0,children:[t.jsx("span",{"aria-hidden":!0,style:{opacity:.4},children:"/"}),s.slice.title]}),a>0?t.jsx("span",{className:"s-rail-proj-count","data-needs":p||void 0,title:p?"needs you":void 0,children:a}):null]},s.slice.key)})}),t.jsxs("div",{className:"s-agents-foot s-rail-foot-icons",children:[t.jsx("button",{type:"button",className:"s-rail-icon",title:"Search","aria-label":"Search",onClick:()=>d({view:"search"}),children:t.jsx(E,{})}),t.jsx("button",{type:"button",className:"s-rail-icon",title:"New chat (⌘⌥N)","aria-label":"New chat",onClick:()=>m(),children:t.jsx(L,{})}),t.jsx("button",{type:"button",className:"s-rail-icon s-rail-icon--end",title:"Settings","aria-label":"Settings",onClick:()=>d({view:"settings"}),children:t.jsx(D,{})})]})]})}function E(){return t.jsxs("svg",{width:"15",height:"15",viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:[t.jsx("circle",{cx:"7",cy:"7",r:"4.25",stroke:"currentColor",strokeWidth:"1.4"}),t.jsx("path",{d:"M10.5 10.5 14 14",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})]})}function L(){return t.jsx("svg",{width:"15",height:"15",viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:t.jsx("path",{d:"M8 3v10M3 8h10",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})}function D(){return t.jsxs("svg",{width:"15",height:"15",viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:[t.jsx("circle",{cx:"8",cy:"8",r:"2.25",stroke:"currentColor",strokeWidth:"1.3"}),t.jsx("path",{d:"M8 1.5v1.6M8 12.9v1.6M14.5 8h-1.6M3.1 8H1.5M12.6 3.4l-1.1 1.1M4.5 11.5l-1.1 1.1M12.6 12.6l-1.1-1.1M4.5 4.5 3.4 3.4",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})]})}export{Nt as AgentsLeft};
@@ -0,0 +1 @@
1
+ import{j as e,r as A}from"./index-sUomXsrf.js";import{u as q,g as z,i as P,j as G,k as I,l as H,a as w,r as T}from"./mesh-view-store-D14ihwkF.js";import{u as Q}from"./Provider-tFc3jqZ4.js";import{n as b,a as V}from"./colors-BtO5_zlx.js";import{b as D}from"./mesh-buckets-CfAukILK.js";import{u as J}from"./use-fleet-active-asks-DLofGhhK.js";import{R as h}from"./RailRow-BTlVAnHS.js";import{F as U}from"./FleetSearch-DlWTLl-v.js";import{o as W}from"./openAgent-Bjt57GdM.js";/* empty css */import"./router-Dja9_ygK.js";import"./terminal-sessions-D5CIR2OL.js";import"./api-h5zurxmi.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"./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";import"./AgentAvatar-CufDA4A-.js";import"./SpriteAvatar-CQs-jC-v.js";import"./agent-identity-xQHedtLl.js";import"./openContent-C6XO6kr5.js";const X=["needs_attention","in_turn","in_flight","callable","blocked"],Y={in_turn:"in turn",in_flight:"in flight",needs_attention:"needs attention",callable:"callable",blocked:"blocked"},Z={in_turn:"working",in_flight:"working",needs_attention:"working",callable:"available",blocked:"offline"};function ee({active:a,onToggle:p}){return e.jsx("div",{className:"fleet-pills",role:"group","aria-label":"State filters",children:X.map(o=>{const l=a.has(o);return e.jsx("button",{type:"button",className:`fleet-pill fleet-pill--${Z[o]}${l?" fleet-pill--on":""}`,onClick:()=>p(o),"aria-pressed":l,children:Y[o]},o)})})}const _=10;function te(a){return b(a.state)}function C(a){return a.updatedAt??a.createdAt??0}function Ye(){const{agents:a,navigate:p}=Q(),{meshSnapshot:o,selectedId:l,selectedType:S,query:d,agentStateFilters:u,hiddenMachineIds:g,treeFullMachineIds:F}=q(),L=J(),m=A.useMemo(()=>o?D(a,o):[],[a,o]),y=A.useMemo(()=>{const n=d.trim().toLowerCase();return m.filter(s=>!g.has(s.machineId)).map(s=>{const t=s.agents.filter(r=>u.has(te(r))?n?`${r.name??""} ${r.project??""} ${r.branch??""} ${r.harness??""}`.toLowerCase().includes(n):!0:!1);return{...s,agents:t}})},[m,d,u,g]),f=A.useMemo(()=>{const n=new Map([["this",[]],["peer",[]],["tailnet",[]]]);for(const s of y){const t=s.reachability==="this"?"this":s.reachability==="peer"?"peer":"tailnet";n.get(t)?.push(s)}return n},[y]);if(!o)return e.jsx("div",{className:"ctx-panel ctx-panel--empty",children:e.jsx("div",{className:"ctx-panel-empty-state",children:e.jsx("div",{className:"ctx-panel-empty-hint",children:"Loading mesh…"})})});const $=n=>{const s=m.map(t=>t.machineId);H(n,s),w(n,"node"),T(n)},v=g.size,x=m.length,E=n=>{w(n.id,"agent");const s=n.authorityNodeId??n.homeNodeId;s&&T(s),W(p,n,{returnTo:{view:"mesh"}})},j=(n,s)=>s.length===0?null:e.jsxs("section",{className:"mesh-nav-group",children:[e.jsx("div",{className:"mesh-nav-group-label",children:n}),s.map(t=>{const r=F.has(t.machineId),c=[...t.agents].sort((i,k)=>C(k)-C(i)),M=r?c:c.slice(0,_),N=c.length-M.length,B=l===t.machineId&&S==="node",R=t.agents.filter(i=>V(i.state)).length,K=t.agents.length>0?`${R}/${t.agents.length}`:t.online?"—":"not ready";return e.jsxs("div",{className:"mesh-nav-machine",children:[e.jsx(h,{name:t.machineLabel,meta:K,tone:"neutral",active:B,onClick:()=>$(t.machineId),title:`Focus ${t.machineLabel} on the map`}),M.map(i=>{const k=l===i.id&&S==="agent",O=L.has(i.id);return e.jsx(h,{name:i.name,tone:b(i.state),depth:1,active:k,unread:O,onClick:()=>E(i),title:i.name},i.id)}),!r&&N>0&&e.jsx(h,{name:`see ${N} more`,depth:1,tone:"neutral",onClick:()=>I(t.machineId),title:"Show all agents on this machine"}),r&&c.length>_&&e.jsx(h,{name:"see less",depth:1,tone:"neutral",onClick:()=>I(t.machineId),title:"Show recent agents only"})]},t.machineId)})]},n);return e.jsxs("div",{className:"ctx-panel mesh-nav",children:[e.jsxs("div",{className:"mesh-nav-head",children:[e.jsx(U,{value:d,onChange:z,placeholder:"Find machines or agents…"}),e.jsx(ee,{active:u,onToggle:P}),v>0&&v<x&&e.jsxs("button",{type:"button",className:"mesh-nav-focus-chip",onClick:G,title:"Show all machines",children:[e.jsxs("span",{className:"mesh-nav-focus-chip-label",children:["focused · ",x-v,"/",x]}),e.jsx("span",{className:"mesh-nav-focus-chip-clear","aria-hidden":!0,children:"×"})]})]}),e.jsxs("div",{className:"mesh-nav-tree",children:[j("this host",f.get("this")??[]),j("peers",f.get("peer")??[]),j("tailnet",f.get("tailnet")??[])]})]})}export{Ye as MeshLeft};
@@ -0,0 +1,2 @@
1
+ import{r,j as e}from"./index-sUomXsrf.js";/* empty css */import{n as k}from"./colors-BtO5_zlx.js";import{p as C,a as L}from"./api-h5zurxmi.js";import{u as F,m as $,e as D,h as H}from"./Provider-tFc3jqZ4.js";import{b as O}from"./router-Dja9_ygK.js";import{d as B,a as G}from"./operator-attention-BwSPeheT.js";import{u as K}from"./sse-CVoGDiKW.js";import{t as v}from"./time-Dhsh_2EG.js";import{o as P}from"./openAgent-Bjt57GdM.js";import{R as x}from"./RailRow-BTlVAnHS.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"./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"./index-BWHgHrtv.js";import"./openContent-C6XO6kr5.js";import"./AgentAvatar-CufDA4A-.js";import"./SpriteAvatar-CQs-jC-v.js";import"./agent-identity-xQHedtLl.js";const U=new Set(["message.posted","flight.updated","collaboration.event.appended","agent.updated"]),V=4,z=4,Q=3,N="/api/fleet",X=3e4;function Xt({prepend:t}){const{agents:o,agentsLoaded:a,navigate:c,route:n}=F(),[i]=r.useState(()=>C(N,X)),[l,E]=r.useState(i),[A,T]=r.useState(i!==null),[j,b]=r.useState(()=>new Set),p=O(n),I=r.useMemo(()=>$(o,p),[o,p]),u=r.useMemo(()=>D(o,p),[o,p]),m=r.useMemo(()=>H(l,I),[l,I]),d=r.useCallback(async()=>{try{E(await L(N))}catch{}finally{T(!0)}},[]);r.useEffect(()=>{d()},[d]),K(s=>{U.has(s.kind)&&d()});const w=r.useMemo(()=>Z(u).slice(0,V),[u]),R=r.useMemo(()=>(m?.activity??[]).slice(0,z),[m]),_=r.useMemo(()=>(m?.needsAttention??[]).filter(s=>!j.has(s.recordId)).slice(0,Q),[m,j]),M=r.useCallback(async s=>{b(h=>new Set(h).add(s.recordId));try{await B({recordKind:s.kind,recordId:s.recordId,itemUpdatedAt:s.updatedAt})}catch{b(h=>{const S=new Set(h);return S.delete(s.recordId),S});return}d()},[d]);return e.jsxs("div",{className:"ctx-panel base-rail",children:[t?e.jsx("div",{className:"base-rail-prepend",children:t}):null,e.jsx(Y,{agents:w,totalCount:u.length,loading:!a,onSelect:s=>P(c,s,{returnTo:n}),onSeeAll:()=>c({view:"agents-v2"})}),e.jsx(J,{items:R,loading:!A,onSelect:s=>c(tt(s)),onSeeAll:()=>c({view:"activity"})}),e.jsx(W,{items:_,loading:!A,onSelect:s=>c(G(s)),onDismiss:s=>{M(s)}})]})}function Y({agents:t,totalCount:o,loading:a,onSelect:c,onSeeAll:n}){return e.jsxs("section",{className:"ctx-panel-section base-rail-section",children:[e.jsx(g,{title:"Recent agents",onSeeAll:o>0?n:void 0}),a?e.jsx(f,{}):t.length===0?e.jsx("div",{className:"ctx-panel-empty",children:"No agents yet"}):t.map(i=>e.jsx(x,{name:i.name||i.id,meta:i.updatedAt?v(i.updatedAt):void 0,tone:k(i.state),title:q(i),onClick:()=>c(i)},i.id))]})}function q(t){const o=[];return t.project&&o.push(`project: ${t.project}`),t.branch&&o.push(`branch: ${t.branch}`),t.harness&&o.push(`harness: ${t.harness}`),o.join(`
2
+ `)}function J({items:t,loading:o,onSelect:a,onSeeAll:c}){return e.jsxs("section",{className:"ctx-panel-section base-rail-section",children:[e.jsx(g,{title:"Recent activity",meta:(t.length>0,void 0),onSeeAll:t.length>0?c:void 0}),o?e.jsx(f,{}):t.length===0?e.jsx("div",{className:"ctx-panel-empty",children:"Quiet so far"}):t.map(n=>{const i=n.actorName??n.agentName??n.agentId??"system",l=n.title??n.summary??y(n.kind);return e.jsx(x,{name:l,meta:n.ts?v(n.ts):void 0,tone:"neutral",title:`${i} · ${y(n.kind)}`,onClick:()=>a(n)},n.id)})]})}function W({items:t,loading:o,onSelect:a,onDismiss:c}){return e.jsxs("section",{className:"ctx-panel-section base-rail-section",children:[e.jsx(g,{title:"Needs attention",meta:t.length>0?`${t.length}`:void 0}),o?e.jsx(f,{rows:2}):t.length===0?e.jsx("div",{className:"ctx-panel-empty",children:"All clear"}):t.map(n=>{const i=n.agentName??n.agentId??"operator";return e.jsx(x,{name:n.title,meta:v(n.updatedAt),tone:"in_turn",unread:!0,title:`${i} · ${n.kind}`,onClick:()=>a(n),actions:e.jsx("button",{type:"button",className:"rr-row-action",title:"Dismiss — stop asking until this changes","aria-label":"Dismiss",onClick:l=>{l.stopPropagation(),c(n)},children:"Dismiss"})},n.recordId)})]})}function f({rows:t=3}){return e.jsx("div",{className:"base-rail-loading",role:"status","aria-label":"Loading",children:Array.from({length:t},(o,a)=>e.jsx("span",{"aria-hidden":"true"},a))})}function g({title:t,meta:o,onSeeAll:a}){return e.jsxs("div",{className:"ctx-panel-section-label base-rail-section-label",children:[e.jsx("span",{children:t}),e.jsxs("span",{className:"base-rail-section-trailing",children:[o?e.jsx("span",{className:"ctx-panel-count",children:o}):null,a?e.jsx("button",{type:"button",className:"base-rail-see-all",onClick:a,children:"all"}):null]})]})}function Z(t){return[...t].sort((o,a)=>(a.updatedAt??0)-(o.updatedAt??0))}function y(t){switch(t){case"message":return"Message";case"invocation":return"Invocation";case"flight":return"Flight update";case"collaboration":return"Collaboration";default:return t.replace(/_/g," ")}}function tt(t){return t.conversationId?{view:"conversation",conversationId:t.conversationId}:t.agentId?{view:"agents-v2",agentId:t.agentId}:{view:"activity"}}export{Xt as HomeLeft};
@@ -0,0 +1 @@
1
+ import{r,j as o}from"./index-sUomXsrf.js";/* empty css */import{a as j}from"./api-h5zurxmi.js";import{u as v}from"./sse-CVoGDiKW.js";import{u as N}from"./Provider-tFc3jqZ4.js";import{u as g}from"./use-fleet-active-asks-DLofGhhK.js";import{i as w}from"./colors-BtO5_zlx.js";import{R as a}from"./RailRow-BTlVAnHS.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"./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";import"./AgentAvatar-CufDA4A-.js";import"./SpriteAvatar-CQs-jC-v.js";import"./agent-identity-xQHedtLl.js";const $=new Set(["message.posted","conversation.upserted","agent.updated"]);function k(e){const n=x(e.cwd),m=x(e.projectRoot);return e.authorityNodeName??e.homeNodeName??e.authorityNodeId??e.homeNodeId??e.transport??n??m??"local"}function b(e){return e.project??e.role??e.agentClass??"Unassigned"}function x(e){if(!e)return null;const n=e.split("/").filter(Boolean);return n[n.length-1]??null}function ht(){const{agents:e,navigate:n}=N(),[m,f]=r.useState([]),p=g(),c=r.useCallback(async()=>{const t=await j("/api/conversations").catch(()=>[]);f(t)},[]);r.useEffect(()=>{c()},[c]),v(t=>{$.has(t.kind)&&c()});const h=r.useMemo(()=>e.filter(t=>w(t.state)).length,[e]),l=r.useMemo(()=>{let t=0;for(const s of p.values())(s.status==="failed"||s.status==="needs_attention")&&(t+=1);return t},[p]),u=r.useMemo(()=>{const t=new Map;for(const s of e){const i=b(s);t.set(i,(t.get(i)??0)+1)}return[...t.entries()].sort((s,i)=>i[1]-s[1]).slice(0,8)},[e]),d=r.useMemo(()=>{const t=new Map;for(const s of e){const i=k(s);t.set(i,(t.get(i)??0)+1)}return[...t.entries()].sort((s,i)=>i[1]-s[1]).slice(0,8)},[e]);return o.jsxs("div",{className:"ctx-panel",children:[o.jsxs("section",{className:"ctx-panel-section",children:[o.jsx("div",{className:"ctx-panel-section-label",children:"Agents"}),o.jsx(a,{name:"Overview",meta:`${e.length}`,tone:"neutral",onClick:()=>n({view:"inbox"})}),o.jsx(a,{name:"Agents",meta:`${h}`,tone:"callable",active:!0,onClick:()=>n({view:"ops",mode:"agents"})}),o.jsx(a,{name:"Sessions",meta:`${m.length}`,tone:"neutral",onClick:()=>n({view:"sessions"})}),o.jsx(a,{name:"Alerts",meta:`${l}`,tone:l>0?"in_turn":"neutral",unread:l>0,onClick:()=>n({view:"activity"})})]}),o.jsxs("section",{className:"ctx-panel-section",children:[o.jsx("div",{className:"ctx-panel-section-label",children:"Projects"}),u.length===0?o.jsx("div",{className:"ctx-panel-empty",children:"No projects"}):u.map(([t,s])=>o.jsx(a,{name:t,meta:`${s}`,tone:"neutral",title:`${s} agent${s===1?"":"s"} on ${t}`},t))]}),o.jsxs("section",{className:"ctx-panel-section",children:[o.jsx("div",{className:"ctx-panel-section-label",children:"Machines"}),d.length===0?o.jsx("div",{className:"ctx-panel-empty",children:"No machines"}):d.map(([t,s])=>o.jsx(a,{name:t,meta:`${s}`,tone:"neutral",title:`${s} agent${s===1?"":"s"} on ${t}`},t))]})]})}export{ht as OpsAgentsLeft};
@@ -0,0 +1 @@
1
+ import{r,j as n}from"./index-sUomXsrf.js";import{f as ee,b as ne,c as ae,s as te}from"./terminal-sessions-D5CIR2OL.js";import{a as se,b as ie,r as O,m as re}from"./keyboard-nav-BhZZ5HEq.js";import{u as le}from"./Provider-tFc3jqZ4.js";import{c as oe}from"./colors-BtO5_zlx.js";import{r as M,c as ce}from"./terminal-relay-B5Sma7fK.js";import{s as me,t as f,L as _,P as de}from"./session-table-sAVe44a4.js";/* empty css */import{R as ve}from"./refresh-cw-D8PFyhUa.js";import{C as ue}from"./chevron-right-CyUa1zXx.js";import{E as B}from"./eye-So8tNNK6.js";import{T as he}from"./terminal-DXQISjZn.js";import"./api-h5zurxmi.js";import"./router-Dja9_ygK.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"./code-xml-05TD3uOC.js";import"./arrow-left-WjQIN9J6.js";import"./scout-voice-BZ4KqADJ.js";import"./fx-z37u1o2z.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";const pe=8e3,xe=[{id:"recent",label:"Recent"},{id:"name",label:"A–Z"}];function vn(){const{route:a,navigate:i,agents:o}=le(),[l,h]=r.useState({state:"loading",sessions:[]}),[y,q]=r.useState(""),[p,H]=r.useState("recent"),[P,Q]=r.useState(!1),[Z,C]=r.useState(null),[T,A]=r.useState(null),$=r.useRef(null),L=r.useRef(null),G=se(),J=re(()=>L.current);ie(r.useCallback(()=>$.current,[]));const x=r.useCallback((e={})=>{e.silent||h(t=>({state:"loading",sessions:t.sessions})),ee({includeDiscovered:!0}).then(t=>{h({state:"ready",sessions:t})}).catch(t=>{e.silent||h(s=>({state:"failed",sessions:s.sessions,error:t instanceof Error?t.message:String(t)}))})},[]);r.useEffect(()=>{x()},[x]),r.useEffect(()=>{const e=()=>{document.visibilityState==="visible"&&x({silent:!0})},t=window.setInterval(e,pe);return window.addEventListener("focus",e),document.addEventListener("visibilitychange",e),()=>{window.clearInterval(t),window.removeEventListener("focus",e),document.removeEventListener("visibilitychange",e)}},[x]);const c=r.useMemo(()=>me(ne(l.sessions),p==="recent"?{column:"activity",direction:"desc"}:{column:"name",direction:"asc"}),[p,l.sessions]),b=r.useMemo(()=>fe(o,p).filter(e=>{const t=M(e);return t?!c.some(s=>s.surface.backend===t.backend&&s.surface.sessionName===t.sessionName&&(t.paneId==null||s.surface.paneId===t.paneId)):!0}),[o,c,p]),m=y.trim().toLowerCase(),j=m?c.filter(e=>e.searchable.includes(m)):c,g=j.filter(e=>f(e)==="current"),w=j.filter(e=>f(e)==="inactive"),v=j.filter(e=>f(e)==="review"),z=m?w.length+v.length:c.filter(e=>f(e)!=="current").length,F=m?v.length:c.filter(e=>f(e)==="review").length,N=P||!!m,d=m?b.filter(e=>je(e).includes(m)):b,U=a.view==="terminal"?a.terminalSurfaceKey??null:null,K=a.view==="terminal"?a.terminalSessionId??null:null,k=e=>ae(e.key,U)&&(!K||e.session.id===K),S=a.view==="terminal"&&a.agentId?`agent:${a.agentId}`:null,D=!!(g.some(k)||N&&[...w,...v].some(k)||S!=null&&d.some(e=>`agent:${e.id}`===S)),W=g[0]?.id??(N?w[0]?.id??v[0]?.id:void 0)??(d[0]?`agent:${d[0].id}`:void 0),X=l.state==="loading"?"Syncing":m?`${j.length+d.length}/${c.length+b.length}`:`${c.length+b.length} targets`,I=(e,t)=>({view:"terminal",terminalSessionId:e.session.id,terminalSurfaceKey:te(e.surface),...t?{mode:t}:{}}),R=(e,t="takeover")=>({view:"terminal",agentId:e.id,mode:t}),Y=async e=>{if(e.surface.backend==="tmux"&&window.confirm(`Release inactive terminal ${e.surface.sessionName}? The tmux surface will stop, but any associated Scout agent remains available and can be started again.`)){C(e.id),A(null);try{await ce({backend:"tmux",sessionName:e.surface.sessionName,paneId:e.surface.paneId??null,socketDir:e.surface.socketDir??null},"release"),x({silent:!0})}catch(t){A(t instanceof Error?t.message:String(t))}finally{C(null)}}},E=e=>{const t=k(e),s=f(e),u=Z===e.id;return n.jsxs("div",{className:`terminal-nav-row${t?" terminal-nav-row--active":""}${s==="review"?" terminal-nav-row--review":""}`,title:e.surface.sessionName,children:[n.jsxs("button",{type:"button","data-list-primary":!0,className:"terminal-nav-row-select",tabIndex:O(t,D,e.id===W),onClick:()=>i(I(e)),children:[n.jsx(he,{className:"terminal-nav-row-icon",size:14,strokeWidth:1.7}),n.jsxs("span",{className:"terminal-nav-row-main",children:[n.jsx("span",{className:"terminal-nav-row-title",children:n.jsx("span",{children:e.title})}),n.jsx("span",{className:"terminal-nav-row-detail",children:e.detail||e.session.sourceSessionId})]}),n.jsxs("span",{className:"terminal-nav-badges",children:[n.jsx("span",{className:"terminal-nav-badge terminal-nav-badge--backend",children:e.surface.backend}),n.jsx("span",{className:`terminal-nav-badge${s==="review"?" terminal-nav-badge--review":""}`,children:s==="current"?e.condition:s})]})]}),n.jsxs("div",{className:"terminal-nav-row-actions",children:[n.jsxs("button",{type:"button",className:`terminal-nav-action${a.view==="terminal"&&t&&a.mode==="takeover"?" terminal-nav-action--selected":""}`,onClick:()=>i(I(e,"takeover")),title:"Enter this terminal","aria-label":"Enter this terminal",children:[n.jsx(_,{size:12,strokeWidth:1.8}),n.jsx("span",{children:"Enter"})]}),n.jsxs("button",{type:"button",className:`terminal-nav-action${a.view==="terminal"&&t&&a.mode==="observe"?" terminal-nav-action--selected":""}`,onClick:()=>i(I(e,"observe")),title:"Observe this terminal read-only","aria-label":"Observe this terminal read-only",children:[n.jsx(B,{size:12,strokeWidth:1.8}),n.jsx("span",{children:"Observe"})]}),s==="review"&&e.surface.backend==="tmux"&&n.jsxs("button",{type:"button",className:"terminal-nav-action terminal-nav-action--release",onClick:()=>{Y(e)},disabled:u,title:"Release this inactive tmux surface; keep the agent","aria-label":"Release this inactive tmux surface; keep the agent",children:[n.jsx(de,{size:12,strokeWidth:1.8}),n.jsx("span",{children:u?"Releasing":"Release"})]})]})]},e.id)};return n.jsxs("div",{className:"ctx-panel terminal-nav",children:[n.jsxs("div",{className:"terminal-nav-head",children:[n.jsxs("div",{children:[n.jsx("div",{className:"terminal-nav-title",children:"Terminals"}),n.jsx("div",{className:"terminal-nav-summary",children:X})]}),n.jsx("button",{type:"button",className:"terminal-nav-refresh",onClick:()=>x(),disabled:l.state==="loading",title:"Refresh terminals","aria-label":"Refresh terminals",children:n.jsx(ve,{size:14,strokeWidth:1.8})})]}),n.jsxs("div",{className:"ctx-panel-toolbar terminal-nav-toolbar",children:[n.jsx("input",{ref:$,type:"text",className:"ctx-panel-search-input",placeholder:"Search… (/)",value:y,onChange:e=>q(e.target.value),onKeyDown:J}),n.jsx("div",{className:"ctx-panel-sort",role:"group","aria-label":"Sort terminals",children:xe.map(e=>n.jsx("button",{type:"button",title:e.id==="recent"?"Sort by most recent":"Sort alphabetically","aria-pressed":p===e.id,className:`ctx-panel-sort-option${p===e.id?" ctx-panel-sort-option--active":""}`,onClick:()=>H(e.id),children:e.label},e.id))})]}),l.state==="failed"&&n.jsx("div",{className:"terminal-nav-error",children:l.error}),T&&n.jsx("div",{className:"terminal-nav-error",children:T}),n.jsx("div",{ref:L,className:"terminal-nav-list",onKeyDown:G,children:j.length===0&&d.length===0&&l.state!=="loading"?n.jsx("div",{className:"ctx-panel-empty",children:c.length+b.length===0?"No terminal targets":"No matches"}):n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"terminal-nav-section",children:[n.jsxs("div",{className:"terminal-nav-section-title",children:[n.jsx("span",{children:"Sessions"}),n.jsx("span",{children:g.length})]}),g.map(E),g.length===0&&l.state!=="loading"&&n.jsx("div",{className:"terminal-nav-empty",children:"No sessions"})]}),z>0&&n.jsxs("div",{className:"terminal-nav-section terminal-nav-section--inactive",children:[n.jsxs("button",{type:"button",className:"terminal-nav-inactive-toggle","aria-expanded":N,onClick:()=>Q(e=>!e),children:[n.jsx(ue,{size:13,strokeWidth:1.8}),n.jsx("span",{children:"Inactive"}),n.jsx("span",{children:z}),F>0&&n.jsxs("span",{className:"terminal-nav-review-count",children:[F," review"]})]}),N&&n.jsxs(n.Fragment,{children:[w.map(E),v.length>0&&n.jsxs("div",{className:"terminal-nav-section-title terminal-nav-section-title--review",children:[n.jsx("span",{children:"Review after 30 days"}),n.jsx("span",{children:v.length})]}),v.map(E)]})]}),n.jsxs("div",{className:"terminal-nav-section",children:[n.jsxs("div",{className:"terminal-nav-section-title",children:[n.jsx("span",{children:"Available agents"}),n.jsx("span",{children:d.length})]}),d.map(e=>{const t=`agent:${e.id}`,s=t===S,u=M(e);return n.jsxs("div",{className:`terminal-nav-row terminal-nav-row--agent${s?" terminal-nav-row--active":""}`,title:e.name,children:[n.jsxs("button",{type:"button","data-list-primary":!0,className:"terminal-nav-row-select",tabIndex:O(s,D,t===W),onClick:()=>i(R(e)),children:[n.jsx("span",{className:`terminal-nav-agent-dot${u?" terminal-nav-agent-dot--bound":""}`,"aria-hidden":!0}),n.jsxs("span",{className:"terminal-nav-row-main",children:[n.jsx("span",{className:"terminal-nav-row-title",children:n.jsx("span",{children:e.name})}),n.jsx("span",{className:"terminal-nav-row-detail",children:be(e)})]}),n.jsxs("span",{className:"terminal-nav-badges",children:[n.jsx("span",{className:"terminal-nav-badge terminal-nav-badge--backend",children:u?.backend??e.harness??"agent"}),n.jsx("span",{className:"terminal-nav-badge",children:u?"bound":oe(e.state)})]})]}),n.jsxs("div",{className:"terminal-nav-row-actions",children:[n.jsxs("button",{type:"button",className:`terminal-nav-action${a.view==="terminal"&&s&&a.mode==="takeover"?" terminal-nav-action--selected":""}`,onClick:()=>i(R(e,"takeover")),title:"Enter this agent terminal","aria-label":"Enter this agent terminal",children:[n.jsx(_,{size:12,strokeWidth:1.8}),n.jsx("span",{children:"Enter"})]}),u&&n.jsxs("button",{type:"button",className:`terminal-nav-action${a.view==="terminal"&&s&&a.mode==="observe"?" terminal-nav-action--selected":""}`,onClick:()=>i(R(e,"observe")),title:"Observe this agent terminal read-only","aria-label":"Observe this agent terminal read-only",children:[n.jsx(B,{size:12,strokeWidth:1.8}),n.jsx("span",{children:"Observe"})]})]})]},e.id)}),d.length===0&&n.jsx("div",{className:"terminal-nav-empty",children:"No agents"})]})]})})]})}function fe(a,i){return[...a].filter(o=>!o.retiredFromFleet&&!o.staleLocalRegistration).sort((o,l)=>{const h=o.name.localeCompare(l.name,void 0,{numeric:!0,sensitivity:"base"});return i==="name"?h||o.id.localeCompare(l.id):(l.updatedAt??0)-(o.updatedAt??0)||h||o.id.localeCompare(l.id)})}function be(a){const i=a.project??V(a.cwd)??V(a.projectRoot)??a.definitionId;return[a.handle?`@${a.handle}`:null,a.harness,i,a.branch].filter(Boolean).join(" · ")}function je(a){return[a.name,a.handle,a.harness,a.state,a.project,a.branch,a.cwd,a.projectRoot,a.definitionId].filter(Boolean).join(" ").toLowerCase()}function V(a){const i=a?.trim().replace(/\/+$/u,"");return i?i.split("/").pop()||i:null}export{vn as TerminalLeft};
@@ -0,0 +1 @@
1
+ import{r,j as o}from"./index-sUomXsrf.js";/* empty css */import{a as h}from"./api-h5zurxmi.js";import{n as f}from"./colors-BtO5_zlx.js";import{a as g,r as j}from"./operator-attention-BwSPeheT.js";import{u as N}from"./sse-CVoGDiKW.js";import{t as c}from"./time-Dhsh_2EG.js";import{u as A}from"./Provider-tFc3jqZ4.js";import{o as l}from"./openContent-C6XO6kr5.js";import{R as m}from"./RailRow-BTlVAnHS.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"./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"./AgentAvatar-CufDA4A-.js";import"./SpriteAvatar-CQs-jC-v.js";import"./agent-identity-xQHedtLl.js";const w=[{name:"Control",route:{view:"ops",mode:"mission"},active:e=>e.view==="ops"&&(e.mode===void 0||e.mode==="mission")},{name:"Dispatch",route:{view:"broker"},active:e=>e.view==="broker"},{name:"Mesh",route:{view:"mesh"},active:e=>e.view==="mesh"},{name:"Tail",route:{view:"ops",mode:"tail"},active:e=>e.view==="ops"&&e.mode==="tail"},{name:"Runtime",route:{view:"ops",mode:"atop"},active:e=>e.view==="ops"&&e.mode==="atop"}];function xt(){const{navigate:e,route:n}=A(),[p,d]=r.useState(null),s=r.useCallback(async()=>{const t=await h("/api/fleet").catch(()=>null);d(t)},[]);r.useEffect(()=>{s()},[s]),N(t=>{(t.kind==="message.posted"||t.kind==="flight.updated"||t.kind==="collaboration.event.appended")&&s()});const i=p?.needsAttention??[],a=(p?.activeAsks??[]).filter(t=>t.status!=="needs_attention"),u=t=>{l(e,g(t),{returnTo:n})},v=t=>{l(e,j(t),{returnTo:n})};return o.jsxs("div",{className:"ctx-panel ctx-panel--ops",children:[o.jsxs("section",{className:"ctx-panel-section",children:[o.jsx("div",{className:"ctx-panel-section-label",children:"Surfaces"}),w.map(t=>o.jsx(m,{name:t.name,tone:"neutral",active:t.active(n),onClick:()=>e(t.route)},t.name))]}),o.jsxs("section",{className:"ctx-panel-section",children:[o.jsxs("div",{className:"ctx-panel-section-label",children:["Needs you",i.length>0&&o.jsx("span",{className:"ctx-panel-count",children:i.length})]}),i.length===0?o.jsx("div",{className:"ctx-panel-empty",children:"All clear"}):i.slice(0,4).map(t=>{const x=t.agentName??t.agentId??"operator";return o.jsx(m,{name:t.title,meta:c(t.updatedAt),tone:"in_turn",unread:!0,title:`${x} · ${t.kind}`,onClick:()=>u(t)},t.recordId)})]}),o.jsxs("section",{className:"ctx-panel-section",children:[o.jsxs("div",{className:"ctx-panel-section-label",children:["Active",a.length>0&&o.jsx("span",{className:"ctx-panel-count",children:a.length})]}),a.length===0?o.jsx("div",{className:"ctx-panel-empty",children:"No active requests"}):a.slice(0,10).map(t=>o.jsx(m,{name:t.task,meta:c(t.updatedAt),tone:f(t.agentState),title:`${t.agentName??t.agentId} · ${t.statusLabel}`,onClick:()=>v(t)},t.invocationId))]})]})}export{xt as OpsDefaultLeft};
@@ -0,0 +1 @@
1
+ import{r as f,j as t}from"./index-sUomXsrf.js";/* empty css */import{t as x}from"./time-Dhsh_2EG.js";import{u as b}from"./Provider-tFc3jqZ4.js";import{R as g}from"./RailRow-BTlVAnHS.js";import{S as v}from"./SpriteAvatar-CQs-jC-v.js";import{n as L}from"./colors-BtO5_zlx.js";import{b as h,c as j,l as p,d as N}from"./agent-lanes-model-Bl6xfviL.js";import{u as _,b as A,g as n}from"./lane-roster-store-NE15Oe6M.js";import"./router-Dja9_ygK.js";import"./terminal-sessions-D5CIR2OL.js";import"./api-h5zurxmi.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"./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"./AgentAvatar-CufDA4A-.js";import"./agent-identity-xQHedtLl.js";import"./context-budget-DX_fwUs3.js";import"./lane-observe-DrhKkQ3A.js";import"./tail-display-BdyoLvzY.js";import"./lane-edit-display-C_Aujldz.js";function c(s,e,i){const a=`[data-lane-id="${s.replace(/["\\]/g,"\\$&")}"]`,r=typeof document<"u"?document.querySelector(a):null;if(r){r.scrollIntoView({behavior:"smooth",inline:"center",block:"nearest"}),r.focus();return}e&&i({view:"agents-v2",agentId:e,tab:"profile"})}function R(s){return s.filter(e=>!h(e)&&j(e)).sort((e,i)=>{const a=(i.updatedAt??0)-(e.updatedAt??0);return a!==0?a:p(e,"scout").localeCompare(p(i,"scout"))}).map(e=>({id:e.id,label:p(e,"scout"),statusLabel:N(e,"scout"),tone:L(e.state,e),agentId:e.id,updatedAt:e.updatedAt??void 0}))}function _o(){const{agents:s,navigate:e}=b(),i=_(),a=A(),r=f.useMemo(()=>R(s),[s]),l=i??r,d=l.some(o=>o.floor);return t.jsx("div",{className:"ctx-panel ctx-panel--ops",children:t.jsxs("section",{className:"ctx-panel-section",children:[t.jsxs("div",{className:"ctx-panel-section-label",children:[d?"Fleet":"Lanes",l.length>0&&t.jsx("span",{className:"ctx-panel-count",children:l.length})]}),l.length===0?t.jsx("div",{className:"ctx-panel-empty",children:"No active lanes"}):l.map(o=>o.floor?t.jsxs("button",{type:"button",className:`agent-floor__ledger-row is-rail${a===o.id?" is-focus":""}`,onClick:()=>{const m=n();m?m.onSelect(o.id):c(o.id,o.agentId,e)},onPointerEnter:()=>n()?.onHover(o.id),onPointerLeave:()=>n()?.onHover(null),children:[t.jsxs("span",{className:"agent-floor__ledger-id",children:[t.jsx(v,{name:o.label,size:16,tile:!0}),t.jsx("span",{className:"agent-floor__ledger-name",children:o.label}),t.jsx("span",{className:`agent-floor__card-dot${o.floor.live?" is-live":""}`})]}),t.jsx("span",{className:"agent-floor__ledger-strip",children:o.floor.strip.slice(-6).map((m,u)=>t.jsx("span",{className:`agent-floor__ledger-cell is-${m}`},u))})]},o.id):t.jsx(g,{name:o.label,sub:o.statusLabel||void 0,meta:o.updatedAt?x(o.updatedAt):void 0,tone:o.tone,title:o.statusLabel,onClick:()=>c(o.id,o.agentId,e)},o.id))]})})}export{_o as OpsLanesLeft};
@@ -0,0 +1 @@
1
+ import{r as c,j as i}from"./index-sUomXsrf.js";/* empty css */import{n as S}from"./colors-BtO5_zlx.js";import{u as M,d as A,e as h,f as I,M as C,g as k,h as w,b as F,r as R,t as E}from"./mission-control-store-xQHVQdm8.js";import{u as K}from"./Provider-tFc3jqZ4.js";import{a as T,b as q,r as B,m as D}from"./keyboard-nav-BhZZ5HEq.js";import{MissionLeftAgentRow as L}from"./MissionLeftAgentRow-CxlH3dON.js";import"./router-Dja9_ygK.js";import"./terminal-sessions-D5CIR2OL.js";import"./api-h5zurxmi.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"./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";import"./page-status-BymFEFai.js";import"./RailRow-BTlVAnHS.js";import"./AgentAvatar-CufDA4A-.js";import"./SpriteAvatar-CQs-jC-v.js";import"./agent-identity-xQHedtLl.js";function Ee(){const{navigate:r}=K(),s=M(),o=s.visibleAgents,m=c.useRef(null),p=c.useRef(null),v=T(),x=D(()=>m.current);q(c.useCallback(()=>p.current,[]));const[d,y]=c.useState(null),u=s.activityFilter==="active",a=s.selectedIds.length,j=e=>{y(t=>t===e?null:e)},N=()=>{if(a===0)return;const t=o.filter(l=>s.selectedIds.includes(l.id)).map(l=>l.handle??l.name).filter(Boolean).join("|");t&&r({view:"ops",mode:"tail",tailQuery:t})};return i.jsxs("div",{className:"ctx-panel ml-panel",children:[i.jsxs("div",{className:"ml-section",children:[i.jsx("div",{className:"ml-section-label",children:"Source"}),i.jsx("div",{className:"ml-chips ml-chips--primary",children:["all","scout","native"].map(e=>i.jsx("button",{type:"button",className:["ml-chip",s.sourceFilter===e&&"ml-chip--active"].filter(Boolean).join(" "),onClick:()=>A(e),children:e==="all"?"All":e==="scout"?"Scout":"Native"},e))})]}),i.jsx("div",{className:"ctx-panel-search",children:i.jsx("input",{ref:p,type:"text",className:"ctx-panel-search-input",placeholder:"Filter agents… (press /)",value:s.query,onChange:e=>h(e.target.value),onKeyDown:e=>{x(e),e.key==="Escape"&&s.query&&h("")}})}),i.jsx("div",{className:"ml-section ml-section--secondary",children:i.jsxs("div",{className:"ml-chips ml-chips--secondary",children:[["active","live","all"].map(e=>i.jsx("button",{type:"button",className:["ml-chip ml-chip--ghost",s.activityFilter===e&&"ml-chip--ghost-active"].filter(Boolean).join(" "),onClick:()=>I(e),children:e==="active"?"Active":e==="live"?"Live":"Any"},e)),u&&i.jsx("span",{className:"ml-divider","aria-hidden":!0}),u&&C.map(e=>i.jsx("button",{type:"button",className:["ml-chip ml-chip--ghost",s.activityWindowMs===e.value&&"ml-chip--ghost-active"].filter(Boolean).join(" "),onClick:()=>k(e.value),children:e.label},e.value))]})}),i.jsxs("div",{className:"ml-section ml-section--grouping",children:[i.jsx("div",{className:"ml-section-label",children:"Order by"}),i.jsx("div",{className:"ml-chips ml-chips--grouping",children:[["activity","Activity"],["workspace","Project"],["harness","Harness"],["state","Status"],["source","Source"]].map(([e,t])=>i.jsx("button",{type:"button",className:["ml-chip","ml-chip--group",s.groupMode===e&&"ml-chip--group-active"].filter(Boolean).join(" "),"aria-pressed":s.groupMode===e,onClick:()=>w(e),children:t},e))})]}),a>0?i.jsxs("div",{className:"ml-selection",children:[i.jsxs("span",{className:"ml-selection-label",children:[a," selected"]}),i.jsxs("div",{className:"ml-selection-actions",children:[i.jsx("button",{type:"button",className:"ml-selection-btn ml-selection-btn--primary",onClick:N,children:"Tail ↗"}),i.jsx("button",{type:"button",className:"ml-selection-btn",onClick:F,children:"Clear"})]})]}):i.jsxs("div",{className:"ml-count",children:[o.length," visible",i.jsx("span",{className:"ml-count-hint",children:"⌘-click · ⌘A all"})]}),i.jsx("div",{ref:m,className:"ctx-panel-list ctx-panel-list--scroll",onKeyDown:v,children:o.length===0?i.jsx("div",{className:"ctx-panel-empty",children:s.query?"No match":"Nothing visible"}):o.map((e,t)=>{const l=e.id===d,b=o.some(n=>n.id===d),g=s.selectedIds.includes(e.id),f=S(e.state);return i.jsx(L,{agent:e,state:f,isExpanded:l,isSelected:g,tabIndex:B(l,b,t===0),onToggle:n=>{n.metaKey||n.ctrlKey||n.shiftKey?E(e.id):j(e.id)},onReveal:()=>R(e.id),onOpen:()=>r({view:"agents-v2",agentId:e.id})},e.id)})})]})}export{Ee as OpsMissionLeft};
@@ -0,0 +1,2 @@
1
+ import{r as a,j as s}from"./index-sUomXsrf.js";/* empty css */import{a as k}from"./api-h5zurxmi.js";import{u as y}from"./sse-CVoGDiKW.js";import{t as S}from"./time-Dhsh_2EG.js";import{u as w}from"./Provider-tFc3jqZ4.js";import{F as C}from"./FleetSearch-DlWTLl-v.js";import"./index-BWHgHrtv.js";import"./router-Dja9_ygK.js";import"./terminal-sessions-D5CIR2OL.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"./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";const u={all:"All",claude:"Claude",codex:"Codex",openscout:"OpenScout",workspace:"Workspace",unknown:"Other"},L={active:"Active",archived:"Archived",blocked:"Blocked",completed:"Complete",draft:"Draft",unknown:"Unknown"};function b(e){const o=e.replace(/\\/g,"/").replace(/\/+$/g,""),l=o.lastIndexOf("/");return l>=0?o.slice(l+1):o}function A(e){return e.steps.length===0?"No steps":`${e.steps.filter(l=>l.status==="completed").length}/${e.steps.length} steps`}function E(e){return[e.title,e.summary,e.source,e.documentKind,e.status,e.path,e.workspaceName,e.agentName,e.tags.join(" "),e.steps.map(o=>o.text).join(" ")].filter(Boolean).join(" ").toLowerCase()}function vt(){const{route:e,navigate:o}=w(),[l,f]=a.useState(null),[i,m]=a.useState(""),[r,h]=a.useState("all"),[x,v]=a.useState(!0),p=a.useCallback(async()=>{const t=await k("/api/plan-documents").catch(()=>null);f(t),v(!1)},[]);a.useEffect(()=>{p()},[p]),y(t=>{(t.kind==="message.posted"||t.kind==="flight.updated"||t.kind==="collaboration.event.appended")&&p()});const n=l?.documents??[],j=e.view==="ops"&&e.mode==="plan"?e.planDocumentId:void 0,c=i.trim().toLowerCase(),g=a.useMemo(()=>{const t={all:n.length,claude:0,codex:0,openscout:0,workspace:0,unknown:0};for(const N of n)t[N.source]+=1;return t},[n]),d=a.useMemo(()=>n.filter(t=>r==="all"||t.source===r).filter(t=>!c||E(t).includes(c)),[n,c,r]);return s.jsxs("div",{className:"s-plan-left-nav",children:[s.jsx("div",{className:"s-left-roster-search",children:s.jsx(C,{value:i,onChange:m,placeholder:"Search plan documents...",onKeyDown:t=>{t.key==="Escape"&&(i?m(""):t.target.blur())}})}),s.jsx("div",{className:"s-plan-left-source-grid",children:["all","claude","codex","openscout","workspace"].map(t=>s.jsxs("button",{type:"button",className:`s-plan-left-source${r===t?" s-plan-left-source--active":""}`,onClick:()=>h(t),children:[s.jsx("span",{children:u[t]}),s.jsx("strong",{children:g[t]})]},t))}),s.jsx("div",{className:"s-plan-left-list",children:x&&n.length===0?s.jsx("div",{className:"s-left-roster-empty",children:"Indexing plan documents..."}):d.length===0?s.jsx("div",{className:"s-left-roster-empty",children:n.length===0?"No plan documents found":"No plans match"}):d.map(t=>s.jsxs("button",{type:"button",className:`s-plan-left-document${t.id===j?" s-plan-left-document--active":""}`,onClick:()=>o({view:"ops",mode:"plan",planDocumentId:t.id}),title:`${t.path}
2
+ ${t.summary??""}`,children:[s.jsxs("div",{className:"s-plan-left-document-top",children:[s.jsx("span",{className:`s-plan-left-status s-plan-left-status--${t.status}`,children:L[t.status]}),s.jsx("span",{children:u[t.source]}),s.jsx("time",{children:S(t.updatedAt)})]}),s.jsx("div",{className:"s-plan-left-document-title",children:t.title}),t.summary&&s.jsx("div",{className:"s-plan-left-document-summary",children:t.summary}),s.jsxs("div",{className:"s-plan-left-document-foot",children:[s.jsx("span",{children:A(t)}),s.jsx("span",{children:b(t.path)})]})]},t.id))})]})}export{vt as OpsPlanLeft};
@@ -0,0 +1 @@
1
+ import{r as l,j as e}from"./index-sUomXsrf.js";/* empty css */import{t as O}from"./time-Dhsh_2EG.js";import{u as H}from"./Provider-tFc3jqZ4.js";import{S as $}from"./SpriteAvatar-CQs-jC-v.js";import{H as R}from"./HarnessMark-Dm_qm1Ku.js";import{AgentSessions as G}from"./AgentSessions-Bkr0lyry.js";import{a as T}from"./api-h5zurxmi.js";import{u as J}from"./ContextMenu-BlBQhpax.js";import{g as q,p as V,b as _}from"./agents-project-model-UYiamtrU.js";import{c as Q,e as X,f as Y,g as Z}from"./model-Co0zkMIc.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"./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"./conversation-model-C4yb6_FA.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"./agent-identity-xQHedtLl.js";import"./openContent-C6XO6kr5.js";import"./clipboard-e3fSpeo7.js";import"./text-DsBWV_4k.js";const ee=30*6e4,D=a=>a==="pi"?"grok":a,K=a=>a?a.replace(/^claude-/,"").replace(/-\d{8}$/,""):null;function Xe({agents:a,fleet:d,sessionByAgentId:c,sessions:A,discovery:k,loading:C,navigate:x,selectedAgentId:S}){const{route:N,reload:p,openContextCapture:u}=H(),m=N.view==="agents-v2"?N.projectSlug:void 0,f=l.useMemo(()=>{const n=new Map;for(const b of d?.activeAsks??[]){const i=n.get(b.agentId)??[];i.push(b),n.set(b.agentId,i)}return n},[d?.activeAsks]),v=l.useMemo(()=>a.map(n=>Q(n,c.get(n.id)??null,f.get(n.id)??[])),[f,a,c]),g=l.useMemo(()=>X(k,Date.now()),[k]),h=l.useMemo(()=>Y(v,A,g),[v,A,g]),w=l.useMemo(()=>h.find(n=>n.slice.slug===m)??h[0]??null,[h,m]),r=w?.slice.slug,M={selectAgent:n=>x({view:"agents-v2",agentId:n.agent.id,...r?{projectSlug:r}:{}}),openAgentPage:n=>x({view:"agents-v2",agentId:n.agent.id,tab:"profile"}),startSession:n=>u({intent:"new-task",projectPath:n.agent.projectRoot??n.agent.cwd??void 0}),openSession:n=>x(n),configureAgent:n=>x({view:"agents-v2",agentId:n.agent.id,tab:"config"}),restartAgent:n=>{T(`/api/agents/${encodeURIComponent(n.agent.id)}/config`,{method:"POST",body:JSON.stringify({restart:!0})}).catch(()=>{})},stopAgent:n=>{T(`/api/agents/${encodeURIComponent(n.agent.id)}/interrupt`,{method:"POST",body:JSON.stringify({})}).catch(()=>{})},archiveAgent:n=>{T(`/api/agents/${encodeURIComponent(n.agent.id)}/archive`,{method:"POST",body:JSON.stringify({archived:!0})}).then(()=>p()).catch(()=>{})}};return!w&&C?e.jsx("div",{className:"s-aproj","aria-busy":"true",children:e.jsx("div",{className:"ap-loading",role:"status","aria-label":"Loading agents",children:Array.from({length:7},(n,b)=>e.jsx("span",{"aria-hidden":"true"},b))})}):w?e.jsx("div",{className:"s-aproj",children:e.jsx(te,{project:w,selectedAgentId:S,gestures:M,sessions:A})}):e.jsx("div",{className:"s-aproj",children:e.jsx("div",{className:"ap-empty",children:"No agents discovered yet — they appear here as harnesses register and work."})})}function se(){return e.jsxs("svg",{width:"13",height:"13",viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:[e.jsx("circle",{cx:"7",cy:"7",r:"4.2",stroke:"currentColor",strokeWidth:"1.3"}),e.jsx("path",{d:"m10.5 10.5 3 3",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})]})}function ae({tone:a}){return a==="idle"?null:e.jsx("span",{className:"ap-dot","data-tone":a,"aria-hidden":!0})}function ne({g:a,gestures:d,sessions:c,selected:A,cursor:k,rowRef:C}){const x=J(),S=Date.now()-a.lastActivityAt<ee,N=a.needs?"needs":S?"live":"idle",p=a.nodes[0];if(!p)return null;const u=p.row.agent.handle?.trim()||a.name,m=a.branches.length>0?a.branches:["main"],f=m.length>1,v=f?`${m.length} branches`:m[0],g=[...new Set(a.nodes.map(r=>r.row.agent.model).filter(r=>!!r))],h=g.length>1,w=[{kind:"action",label:"Configure…",onSelect:()=>d.configureAgent(p.row)},{kind:"action",label:"Restart",onSelect:()=>d.restartAgent(p.row)},{kind:"separator"},{kind:"action",label:"Stop",onSelect:()=>d.stopAgent(p.row)},{kind:"action",label:"Archive",onSelect:()=>d.archiveAgent(p.row)}];return e.jsxs("div",{ref:C,tabIndex:-1,className:"ap-row","data-tone":N,"data-selected":A||void 0,"data-cursor":k||void 0,children:[e.jsxs("div",{className:"ap-rowMain",onClick:()=>d.selectAgent(p.row),children:[e.jsxs("div",{className:"ap-rowBody",children:[e.jsxs("div",{className:"ap-rowTop",children:[e.jsx(ae,{tone:N}),e.jsxs("span",{className:"ap-rowName","data-idle":N==="idle"||void 0,children:[e.jsx("span",{className:"ap-sigil","aria-hidden":!0,children:"@"}),u]}),e.jsx("span",{className:"ap-rowMark","aria-hidden":!0,children:e.jsx(R,{harness:D(a.harness),size:11})}),a.needs?e.jsx("span",{className:"ap-needsWord",children:"needs you"}):N==="live"?e.jsx("span",{className:"ap-rowState",children:"working"}):null]}),e.jsxs("div",{className:"ap-rowMeta",children:[e.jsx("span",{className:"ap-rowBranch","data-dim":!0,title:f?m.join(" · "):void 0,children:v}),h?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"ap-rowDivider","aria-hidden":!0}),e.jsxs("span",{className:"ap-rowDim",title:g.join(" · "),children:[g.length," models"]})]}):null,a.sessionCount?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"ap-rowDivider","aria-hidden":!0}),e.jsxs("span",{className:"ap-rowDim",children:[a.sessionCount," session",a.sessionCount===1?"":"s"]})]}):null]})]}),e.jsxs("div",{className:"ap-rowTailWrap",children:[e.jsxs("div",{className:"ap-rowTail",children:[e.jsxs("div",{className:"ap-tailMeta","aria-hidden":N==="needs"||void 0,children:[e.jsx("span",{className:"ap-rowAgo",children:a.lastActivityAt?O(a.lastActivityAt):"—"}),!h&&K(a.model)?e.jsx("span",{className:"ap-rowModel",children:K(a.model)}):null]}),e.jsxs("div",{className:"ap-rowActions",children:[e.jsx("button",{type:"button",className:"ap-act ap-actPrimary",onClick:r=>{r.stopPropagation(),d.openAgentPage(p.row)},children:"Open ↗"}),e.jsx("button",{type:"button",className:"ap-act",onClick:r=>{r.stopPropagation(),d.startSession(p.row)},children:"+ Session"})]})]}),e.jsx("button",{type:"button",className:"ap-rowMore","aria-label":"Agent actions",title:"Configure · restart · stop",onClick:r=>{r.stopPropagation(),x(r,w)},children:"⋯"})]})]}),e.jsx(G,{agentIds:a.nodes.map(r=>r.row.agent.id),sessions:c})]})}function te({project:a,selectedAgentId:d,gestures:c,sessions:A}){const[k,C]=l.useState(""),[x,S]=l.useState(null),[N,p]=l.useState(!1),[u,m]=l.useState(-1),f=l.useRef(null),v=l.useRef(new Map),g=l.useMemo(()=>q(a),[a]),{primary:h,ephemeral:w}=l.useMemo(()=>V(g),[g]),r=l.useMemo(()=>_(a),[a]),M=l.useMemo(()=>[...new Set(h.map(s=>D(s.harness)))],[h]),n=k.trim().toLowerCase(),b=s=>(!x||D(s.harness)===x)&&(!n||s.name.toLowerCase().includes(n)||s.branches.some(t=>t.toLowerCase().includes(n))||s.harness.includes(n)),i=h.filter(b),I=w.filter(b),E=!!(n||x),o=i.find(s=>s.needs)??i[0],U=i.some(s=>s.needs),B=h.length<=1;Z(a);const W=g.reduce((s,t)=>s+t.sessionCount,0),z=s=>!!(d&&s.nodes.some(t=>t.row.agent.id===d));return l.useEffect(()=>{function s(t){const y=document.activeElement,L=!!y&&(y.tagName==="INPUT"||y.tagName==="TEXTAREA"||y.isContentEditable);if(t.key.toLowerCase()==="k"&&(t.metaKey||t.ctrlKey)||t.key==="/"&&!L){t.preventDefault(),f.current?.focus(),f.current?.select();return}if(t.key==="Escape"){L&&y?.blur();return}if(L)return;const F=i.length;if(F){if(t.key==="ArrowDown"||t.key==="j")t.preventDefault(),m(j=>j<0?0:Math.min(F-1,j+1));else if(t.key==="ArrowUp"||t.key==="k")t.preventDefault(),m(j=>j<0?0:Math.max(0,j-1));else if(t.key==="Enter"&&(t.metaKey||t.ctrlKey)){const j=i.find(P=>P.needs)??i[0];j&&(t.preventDefault(),m(i.indexOf(j)),c.selectAgent(j.nodes[0].row))}else if(t.key==="Enter"){const j=u<0?0:u,P=i[j];P&&(t.preventDefault(),m(j),c.selectAgent(P.nodes[0].row))}}}return document.addEventListener("keydown",s),()=>document.removeEventListener("keydown",s)},[i,u,c]),l.useEffect(()=>{if(!(u<0)){if(u>=i.length){m(i.length-1);return}v.current.get(i[u]?.name??"")?.scrollIntoView({block:"nearest"})}},[u,i]),e.jsx("div",{className:"ap-view",children:e.jsxs("div",{className:"ap-content",children:[e.jsxs("header",{className:"ap-head",children:[e.jsx($,{name:a.slice.title,size:56,tile:!0}),e.jsxs("div",{className:"ap-headIdent",children:[e.jsx("div",{className:"ap-headTop",children:e.jsxs("h1",{className:"ap-headName",children:[e.jsx("span",{className:"ap-sigil","aria-hidden":!0,children:"/"}),a.slice.title]})}),a.slice.root?e.jsx("span",{className:"ap-headRoot",children:a.slice.root}):null]}),e.jsx("div",{className:"ap-headActions",children:e.jsx("button",{type:"button",className:"ap-headCta",disabled:!o,onClick:()=>o&&c.startSession(o.nodes[0].row),children:"+ New agent"})})]}),e.jsxs("div",{className:"ap-digest",children:[e.jsxs("span",{className:"ap-stat",children:[e.jsx("span",{className:"ap-statNum",children:h.length}),e.jsx("span",{className:"ap-statLbl",children:h.length===1?"agent":"agents"})]}),e.jsxs("span",{className:"ap-stat",children:[e.jsx("span",{className:"ap-statNum",children:W}),e.jsx("span",{className:"ap-statLbl",children:W===1?"session":"sessions"})]}),r.length>0?e.jsxs("span",{className:"ap-stat",children:[e.jsx("span",{className:"ap-statNum",children:r.length}),e.jsx("span",{className:"ap-statLbl",children:"in flight"})]}):null,e.jsx("span",{className:"ap-statMarks",children:M.map(s=>e.jsx("span",{title:s,"aria-hidden":!0,children:e.jsx(R,{harness:s,size:12})},s))})]}),o&&!E&&!B?e.jsxs("div",{className:"ap-resume","data-tone":o.needs?"needs":"live","aria-live":"polite",children:[e.jsx("span",{className:"ap-dot","data-tone":o.needs?"needs":"live","aria-hidden":!0}),e.jsx("span",{className:"ap-resumeLbl",children:o.needs?"Waiting on you":"Most recent"}),e.jsxs("span",{className:"ap-resumeWho",children:[e.jsx("span",{className:"ap-sigil","aria-hidden":!0,children:"@"}),o.nodes[0].row.agent.handle?.trim()||o.name]}),e.jsxs("span",{className:"ap-resumeMeta",children:[o.branches[0]??"main"," · ",o.lastActivityAt?O(o.lastActivityAt):"—"]}),e.jsxs("span",{className:"ap-resumeActions",children:[e.jsx("button",{type:"button",className:"ap-linkAccent",onClick:()=>c.selectAgent(o.nodes[0].row),children:o.needs?"Continue":"Resume"}),e.jsx("button",{type:"button",className:"ap-link",onClick:()=>c.openAgentPage(o.nodes[0].row),children:"Open ↗"})]})]}):null,B?null:e.jsxs("div",{className:"ap-find",children:[e.jsx("span",{className:"ap-findIco","aria-hidden":!0,children:e.jsx(se,{})}),e.jsx("input",{ref:f,className:"ap-findInput",placeholder:"Find an agent, branch, or harness… (⌘K)",value:k,onChange:s=>C(s.target.value)}),e.jsx("div",{className:"ap-findFilters",children:M.map(s=>e.jsxs("button",{type:"button",className:"ap-filter","data-on":x===s||void 0,onClick:()=>S(t=>t===s?null:s),children:[e.jsx(R,{harness:s,size:11}),s.charAt(0).toUpperCase()+s.slice(1)]},s))})]}),e.jsxs("div",{className:"ap-main",children:[e.jsxs("div",{className:"ap-sectionHead",children:[e.jsx("span",{className:"ap-sectionTitle",children:"Agents"}),e.jsxs("span",{className:"ap-sectionMeta",children:[i.length," shown",E?" · filtered":""]}),e.jsxs("span",{className:"ap-kbdHint","aria-hidden":!0,children:["↑↓ move · ↵ open",U?" · ⌘↵ needs":""]})]}),e.jsxs("div",{className:"ap-roster",children:[i.map((s,t)=>e.jsx(ne,{g:s,gestures:c,sessions:A,selected:z(s),cursor:u===t,rowRef:y=>{y?v.current.set(s.name,y):v.current.delete(s.name)}},s.name)),i.length===0?e.jsx("div",{className:"ap-empty",children:E?"No agents match.":I.length?"No primary agents — workflow & clone agents are in the fold below.":"No agents in this project yet."}):null]}),I.length?e.jsxs("div",{className:"ap-ephBlock",children:[e.jsxs("button",{type:"button",className:"ap-ephToggle",onClick:()=>p(s=>!s),children:[e.jsx("span",{className:"ap-ephCount",children:I.length})," ephemeral · workflow & clone agents",e.jsx("span",{className:"ap-ephCaret",children:N?"▴":"▾"})]}),N?e.jsx("div",{className:"ap-ephList",children:I.map(s=>e.jsxs("button",{type:"button",className:"ap-ephRow",onClick:()=>c.openAgentPage(s.nodes[0].row),children:[e.jsx("span",{className:"ap-ephMark","aria-hidden":!0,children:e.jsx(R,{harness:D(s.harness),size:10})}),e.jsx("span",{className:"ap-ephName",children:s.name}),e.jsx("span",{className:"ap-ephBranch",children:s.branches[0]??"main"}),e.jsx("span",{className:"ap-ephAgo",children:s.lastActivityAt?O(s.lastActivityAt):"—"})]},s.name))}):null]}):null,e.jsx("button",{type:"button",className:"ap-newAgent",disabled:!o,onClick:()=>o&&c.startSession(o.nodes[0].row),children:"+ New agent on this project"})]})]})})}export{Xe as AgentsLibrary};
@@ -1 +1 @@
1
- import{c}from"./createLucideIcon-OpA4Amw5.js";const e=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],a=c("loader-circle",e);export{a as L};
1
+ import{c}from"./createLucideIcon-DlxlBfLC.js";const e=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],a=c("loader-circle",e);export{a as L};
@@ -1 +1 @@
1
- import{r}from"./index-DMiGbrBt.js";import{a as d}from"./api-h5zurxmi.js";import{u as f}from"./Provider-C7UKGHQy.js";function p(e){if(!e)return null;const s=e.split("/").filter(Boolean);return s[s.length-1]??null}function m(e,s){if(!e)return[];const l=new Set;for(const t of s)t.cwd&&l.add(t.cwd),t.projectRoot&&l.add(t.projectRoot);const o=new Map;for(const t of e.transcripts){if(!t.cwd)continue;const n=o.get(t.cwd),a=t.lastEventAt??t.mtimeMs,c=n?.lastEventAt??n?.mtimeMs??0;(!n||a>c)&&o.set(t.cwd,t)}const i=[];for(const t of e.processes){if(t.harness==="scout-managed"||t.cwd&&l.has(t.cwd))continue;const n=t.cwd?o.get(t.cwd):void 0,a=n?.project??p(t.cwd)??null,c=n?.lastEventAt??n?.mtimeMs??e.generatedAt,u=n?.sessionId??null;i.push({id:`harness:${t.source}:${t.pid}`,definitionId:`harness:${t.source}:${t.pid}`,name:t.source,handle:null,agentClass:"organic",harness:t.source,state:"working",projectRoot:t.cwd,cwd:t.cwd,updatedAt:c,createdAt:null,transport:null,selector:null,defaultSelector:null,nodeQualifier:null,workspaceQualifier:null,wakePolicy:null,capabilities:[],project:a,branch:null,role:null,model:null,harnessSessionId:u,terminalSurface:null,harnessLogPath:n?.transcriptPath??null,conversationId:u??`harness:${t.pid}`,homeNodeId:null,homeNodeName:null,ownerId:null,ownerName:null,ownerHandle:null,staleLocalRegistration:!1,retiredFromFleet:!1,replacedByAgentId:null})}return i}function A(){const{agents:e}=f(),[s,l]=r.useState(null);r.useEffect(()=>{let t=!1;const n=async()=>{const c=await d("/api/tail/discover").catch(()=>null);t||l(c)};n();const a=setInterval(()=>{n()},1e4);return()=>{t=!0,clearInterval(a)}},[]);const o=r.useMemo(()=>m(s,e),[s,e]);return{agents:r.useMemo(()=>[...e,...o],[e,o]),scoutAgents:e,organicAgents:o,discovery:s}}export{A as u};
1
+ import{r}from"./index-sUomXsrf.js";import{a as d}from"./api-h5zurxmi.js";import{u as f}from"./Provider-tFc3jqZ4.js";function p(e){if(!e)return null;const s=e.split("/").filter(Boolean);return s[s.length-1]??null}function m(e,s){if(!e)return[];const l=new Set;for(const t of s)t.cwd&&l.add(t.cwd),t.projectRoot&&l.add(t.projectRoot);const o=new Map;for(const t of e.transcripts){if(!t.cwd)continue;const n=o.get(t.cwd),a=t.lastEventAt??t.mtimeMs,c=n?.lastEventAt??n?.mtimeMs??0;(!n||a>c)&&o.set(t.cwd,t)}const i=[];for(const t of e.processes){if(t.harness==="scout-managed"||t.cwd&&l.has(t.cwd))continue;const n=t.cwd?o.get(t.cwd):void 0,a=n?.project??p(t.cwd)??null,c=n?.lastEventAt??n?.mtimeMs??e.generatedAt,u=n?.sessionId??null;i.push({id:`harness:${t.source}:${t.pid}`,definitionId:`harness:${t.source}:${t.pid}`,name:t.source,handle:null,agentClass:"organic",harness:t.source,state:"working",projectRoot:t.cwd,cwd:t.cwd,updatedAt:c,createdAt:null,transport:null,selector:null,defaultSelector:null,nodeQualifier:null,workspaceQualifier:null,wakePolicy:null,capabilities:[],project:a,branch:null,role:null,model:null,harnessSessionId:u,terminalSurface:null,harnessLogPath:n?.transcriptPath??null,conversationId:u??`harness:${t.pid}`,homeNodeId:null,homeNodeName:null,ownerId:null,ownerName:null,ownerHandle:null,staleLocalRegistration:!1,retiredFromFleet:!1,replacedByAgentId:null})}return i}function A(){const{agents:e}=f(),[s,l]=r.useState(null);r.useEffect(()=>{let t=!1;const n=async()=>{const c=await d("/api/tail/discover").catch(()=>null);t||l(c)};n();const a=setInterval(()=>{n()},1e4);return()=>{t=!0,clearInterval(a)}},[]);const o=r.useMemo(()=>m(s,e),[s,e]);return{agents:r.useMemo(()=>[...e,...o],[e,o]),scoutAgents:e,organicAgents:o,discovery:s}}export{A as u};