@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 +1 @@
1
- import{j as l,r as d}from"./index-DMiGbrBt.js";import{n as y,e as F,f as V,d as K}from"./colors-BtO5_zlx.js";import{r as T}from"./index-CJXzfjo9.js";import{a as Z}from"./api-h5zurxmi.js";import{u as N}from"./Provider-C7UKGHQy.js";import{A as U}from"./AgentDetailCard-BcRBRp88.js";const X={workspace:"workspace",worktree:"workspace",branch:"workspace",profile:"profile",persona:"profile",harness:"harness",runtime:"harness",model:"model",node:"node",host:"node"};function G(e){return e.trim().replace(/^@+/,"").replace(/[.,!?;)\]]+$/,"")}function m(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"")}const Y="scout";function B(e){return X[m(e)]??null}function D(e){const n=m(e.definitionId),t=e.workspaceQualifier?m(e.workspaceQualifier):void 0,r=e.profile?m(e.profile):void 0,o=e.harness?m(e.harness):void 0,i=e.model?m(e.model):void 0,s=e.nodeQualifier?m(e.nodeQualifier):void 0;return n?{definitionId:n,...t?{workspaceQualifier:t}:{},...r?{profile:r}:{},...o?{harness:o}:{},...i?{model:i}:{},...s?{nodeQualifier:s}:{}}:null}function O(e){const n=e.split(".").filter(Boolean),t=n.shift();if(!t)return null;const r={definitionId:t},o=[];for(const i of n){if(i.includes(":")){const[s,c=""]=i.split(":",2),a=B(s),u=m(c);if(!a||!u)return null;a==="workspace"?r.workspaceQualifier=u:a==="profile"?r.profile=u:a==="harness"?r.harness=u:a==="model"?r.model=u:a==="node"&&(r.nodeQualifier=u);continue}o.push(i)}if(o.length===1){const i=m(o[0]);if(!i)return null;r.workspaceQualifier=i}else if(o.length===2){const i=m(o[0]),s=m(o[1]);if(!i||!s)return null;r.workspaceQualifier||(r.workspaceQualifier=i),r.nodeQualifier||(r.nodeQualifier=s)}else if(o.length>2)return null;return M(r,{raw:e})}function J(e){const n=e.indexOf("#"),t=e.indexOf("?");if(n===-1&&t===-1||e.indexOf("#",n+1)!==-1||e.indexOf("?",t+1)!==-1||n!==-1&&t!==-1&&t<n)return null;const r=Math.min(...[n,t].filter(a=>a>=0)),o=e.slice(0,r);if(!o)return null;const i=O(o);if(!i)return null;const s=n>=0?e.slice(n+1,t>=0?t:e.length):"",c=t>=0?e.slice(t+1):"";return n>=0&&!s||t>=0&&!c||s.includes("#")||s.includes("?")||c.includes("#")||c.includes("?")||i.harness&&s||i.model&&c?null:M({definitionId:i.definitionId,nodeQualifier:i.nodeQualifier,workspaceQualifier:i.workspaceQualifier,profile:i.profile,harness:s||i.harness,model:c||i.model},{raw:e})}function q(e){const n=G(e);return!n||n.includes("@")?null:n.includes("#")||n.includes("?")?J(n):O(n)}function L(e,n={}){const t=D(e);if(!t)return n.includeSigil===!1?"":"@";const o=[`${n.includeSigil===!1?"":"@"}${t.definitionId}`];return t.workspaceQualifier&&o.push(t.workspaceQualifier),t.profile&&o.push(`profile:${t.profile}`),t.harness&&o.push(`harness:${t.harness}`),t.model&&o.push(`model:${t.model}`),t.nodeQualifier&&o.push(`node:${t.nodeQualifier}`),o.join(".")}function M(e,n={}){const t=D(e);return t?{raw:n.raw??L(t,{includeSigil:!1}),label:L(t),definitionId:t.definitionId,...t.nodeQualifier?{nodeQualifier:t.nodeQualifier}:{},...t.workspaceQualifier?{workspaceQualifier:t.workspaceQualifier}:{},...t.profile?{profile:t.profile}:{},...t.harness?{harness:t.harness}:{},...t.model?{model:t.model}:{}}:null}function ee(e){return ne(e).parsed}function ne(e){const n=Array.from(e.matchAll(/(^|[\s([{'"`])@([a-z0-9][a-z0-9._/:-]*(?:#[a-z0-9][a-z0-9._/:-]*)?(?:\?[a-z0-9][a-z0-9._/:-]*)?)(?=$|[\s)\]}",.!?:;'"`])/gi)),t=new Map,r=[];for(const o of n){const i=o[2]??"",s=q(i);if(!s){i&&r.push(`@${i}`);continue}t.set(s.label,s)}return{parsed:Array.from(t.values()),unparsed:Array.from(new Set(r))}}const te=280,re=120,E=320,j=8,Q=new Map,ie=1e4;function p(e){const n=e?.trim().replace(/^@+/,"").toLowerCase();return n&&n.length>0?n:null}function W(e){const n=new Set,t=r=>{const o=p(r);o&&n.add(o)};return t(e.id),t(e.handle),t(e.name),t(e.selector),t(e.defaultSelector),t(e.definitionId),e.definitionId&&e.workspaceQualifier&&t(`${e.definitionId}.${e.workspaceQualifier}`),e.definitionId&&e.workspaceQualifier&&e.nodeQualifier&&(t(`${e.definitionId}.${e.workspaceQualifier}.${e.nodeQualifier}`),t(`${e.definitionId}.${e.workspaceQualifier}.node:${e.nodeQualifier}`)),e.definitionId&&e.nodeQualifier&&t(`${e.definitionId}.node:${e.nodeQualifier}`),n}function oe(e,n){const t=p(n.label),r=p(n.raw),o=W(e);return t&&o.has(t)||r&&o.has(r)?!0:n.definitionId&&p(e.definitionId)!==p(n.definitionId)||n.workspaceQualifier&&p(e.workspaceQualifier)!==p(n.workspaceQualifier)||n.nodeQualifier&&p(e.nodeQualifier)!==p(n.nodeQualifier)||n.harness&&p(e.harness)!==p(n.harness)||n.model&&p(e.model)!==p(n.model)?!1:!!n.definitionId}function _(e,n){const t=p(n.label),r=p(n.raw),o=W(e),i=t&&o.has(t)||r&&o.has(r)?1e3:0,s=[n.workspaceQualifier,n.nodeQualifier,n.harness,n.model,n.profile].filter(Boolean).length*100;y(e.state);const c=F(e.state,e)?30:V(e.state,e)?20:0;return i+s+c+Math.min(e.updatedAt??0,9999999999)/1e9}function se(e){const n=p(e.raw);return n&&n.split(".").length>=3?n:null}function H(e,n){const t=n.filter(r=>oe(r,e)).sort((r,o)=>_(o,e)-_(r,e));return t[0]?t[0]:null}async function le(e,n){const t=H(e,n),r=t?.id??se(e),o=r??e.label,i=Q.get(o);if(i&&Date.now()-i.fetchedAt<ie)return i.agent;if(!r)return Q.set(o,{agent:t,fetchedAt:Date.now()}),t;try{const s=await Z(`/api/agents/${encodeURIComponent(r)}`);return Q.set(o,{agent:s,fetchedAt:Date.now()}),s}catch{return Q.set(o,{agent:t,fetchedAt:Date.now()}),t}}function C(e){const n=window.innerWidth,t=window.innerHeight,r=Math.max(j,Math.min(n-E-j,e.left+e.width/2-E/2)),o=e.top-j;return o>200||e.bottom>t-200?{top:o,left:r,placement:"above"}:{top:e.bottom+j,left:r,placement:"below"}}function ae(e){let n=e;for(;n;){if(n instanceof HTMLElement&&n.dataset.scoutTheme)return n;n=n.parentElement??null}return document.body}function ce({identity:e,agent:n,triggerEl:t,onRequestClose:r}){const{agents:o,navigate:i}=N(),[s,c]=d.useState(()=>n??H(e,o)),[a,u]=d.useState(!n),[f,w]=d.useState(()=>C(t.getBoundingClientRect())),x=d.useRef(null),g=ae(t);d.useEffect(()=>{if(n){c(n),u(!1);return}let h=!1;return u(!0),le(e,o).then(I=>{h||(c(I),u(!1))}),()=>{h=!0}},[e,o,n]),d.useEffect(()=>{const h=()=>{w(C(t.getBoundingClientRect()))};return window.addEventListener("scroll",h,!0),window.addEventListener("resize",h),()=>{window.removeEventListener("scroll",h,!0),window.removeEventListener("resize",h)}},[t]),d.useEffect(()=>{const h=I=>{I.key==="Escape"&&r()};return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[r]);const k=d.useCallback(()=>{s&&(i({view:"agents-v2",agentId:s.id}),r())},[s,i,r]),b=f.placement==="above"?"bottom center":"top center",A=f.placement==="above"?"translateY(-100%)":"",$={position:"fixed",top:f.top,left:f.left,width:E,transform:A,transformOrigin:b};return s?T.createPortal(l.jsx("div",{onMouseEnter:()=>{},onMouseLeave:r,children:l.jsx(U,{ref:x,agent:s,pinned:!0,onOpen:k,onClose:r,onAction:r,style:$,className:"agent-card--mention"})}),g):T.createPortal(l.jsx("div",{ref:x,className:"agent-card agent-card--pinned agent-card--mention",role:"dialog","aria-label":`${e.label} snapshot`,style:$,onMouseEnter:()=>{},onMouseLeave:r,children:l.jsx("div",{style:{fontSize:"12px",color:"var(--dim)",padding:"4px 2px"},children:a?"loading…":l.jsxs(l.Fragment,{children:["No agent registered as ",l.jsx("code",{children:e.label}),"."]})})}),g)}function ue(e){return M({definitionId:e.definitionId,workspaceQualifier:e.workspaceQualifier??void 0,nodeQualifier:e.nodeQualifier??void 0,harness:e.harness??void 0,model:e.model??void 0})}function fe(e){const{agent:n,identity:t}=e,[r,o]=d.useState(!1),[i,s]=d.useState(!1),c=d.useRef(null),a=d.useRef(null),u=d.useRef(null),f=d.useCallback(()=>{a.current!==null&&(window.clearTimeout(a.current),a.current=null),u.current!==null&&(window.clearTimeout(u.current),u.current=null)},[]),w=d.useCallback(()=>{r||(f(),a.current=window.setTimeout(()=>o(!0),te))},[r,f]),x=d.useCallback(()=>{i||(f(),u.current=window.setTimeout(()=>o(!1),re))},[i,f]),g=d.useCallback(()=>{f(),o(!1),s(!1)},[f]);d.useEffect(()=>()=>f(),[f]);const k=d.useMemo(()=>t??(n?ue(n):null),[t,n]),b=!!k,A=d.useCallback(v=>{if(v.preventDefault(),v.stopPropagation(),r&&i){g();return}f(),s(!0),o(!0)},[r,i,g,f]),$=d.useCallback(v=>{(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),s(!0),o(!0))},[]),h=b?{ref:c,onMouseEnter:w,onMouseLeave:x,onFocus:w,onBlur:x,onClick:A,onKeyDown:$,"data-hover-open":r?"true":void 0,"aria-haspopup":"dialog","aria-expanded":r}:{ref:c},I=r&&c.current&&k?l.jsx(ce,{identity:k,agent:n??null,triggerEl:c.current,onRequestClose:()=>{i?g():x()}}):null;return{triggerProps:h,popover:I,open:r,pinned:i}}function de({identity:e,color:n}){const{triggerProps:t,popover:r}=fe({identity:e});return l.jsxs(l.Fragment,{children:[l.jsx("span",{...t,className:"s-mention",role:"button",tabIndex:0,style:{"--mention-color":n},children:e.label}),r]})}const pe=["ts","tsx","js","jsx","mjs","cjs","md","mdx","txt","log","json","jsonc","yaml","yml","toml","css","scss","html","htm","sh","py","rb","go","rs","swift","kt","java","c","cpp","h","png","jpg","jpeg","gif","svg","webp","avif","env","conf","ini","gitignore","sql","xml"],he=pe.join("|"),S=new RegExp(`\\.(?:${he})(?:$|[?#])`,"i"),me=/^(?:\/Users\/|\/home\/|\/Volumes\/|\/var\/|\/etc\/|\/opt\/|\/tmp\/|\/private\/|\/mnt\/|\/Applications\/|\/usr\/|\/Library\/)/u,we=/(?:^|[\s(\[`'"])((?:~\/|\.\/|\.\.\/|\/)[A-Za-z0-9._/\-]+|[A-Za-z0-9._\-]+(?:\/[A-Za-z0-9._\-]+)+)/g;function xe(e){return e.startsWith("~/")||e.startsWith("./")||e.startsWith("../")?!0:e.startsWith("/")&&me.test(e)||S.test(e)}function P(e){const n=[],t=new RegExp(we.source,"g");let r;for(;(r=t.exec(e))!==null;){const o=r[1];if(!o)continue;const i=o.replace(/[.,;:!?]+$/u,"");if(!i||!xe(i))continue;const s=r[0].lastIndexOf(o);if(s<0)continue;const c=r.index+s;n.push({start:c,end:c+i.length,path:i})}return n}function ge(e){return/\.(png|jpe?g|gif|svg|webp|avif)(?:$|[?#])/iu.test(e)}function ve(e){return e.endsWith("/")?!0:!(e.split("/").pop()??"").includes(".")&&!e.startsWith("./")&&!e.startsWith("../")}function ke({kind:e}){return e==="dir"?l.jsx("svg",{className:"s-path-token-icon",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:l.jsx("path",{d:"M2 5a1 1 0 0 1 1-1h3.5l1.5 1.5h5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1Z"})}):e==="image"?l.jsxs("svg",{className:"s-path-token-icon",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[l.jsx("rect",{x:"2",y:"3",width:"12",height:"10",rx:"1.5"}),l.jsx("circle",{cx:"6",cy:"7",r:"1"}),l.jsx("path",{d:"m3 12 3.5-3 2.5 2 3-2.5L14 11"})]}):l.jsxs("svg",{className:"s-path-token-icon",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[l.jsx("path",{d:"M4 2h5l3 3v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1Z"}),l.jsx("path",{d:"M9 2v3h3"})]})}function R({path:e}){const{openFilePreview:n}=N(),t=ge(e)?"image":ve(e)?"dir":"file";return l.jsxs("button",{type:"button",className:"s-path-token",onClick:r=>{r.preventDefault(),r.stopPropagation(),n(e)},title:`Open ${e}`,children:[l.jsx(ke,{kind:t}),e]})}function Ie(e,n){if(n.length===0)return[{kind:"text",value:e}];const t=new Map;for(const s of n)t.set(s.label.toLowerCase(),s);const r=[];let o=e;const i=/@([a-z0-9][a-z0-9._/:-]*)/i;for(;o.length>0;){const s=i.exec(o);if(!s||s.index===void 0){r.push({kind:"text",value:o});break}s.index>0&&r.push({kind:"text",value:o.slice(0,s.index)});const c=s[0],a=c.toLowerCase(),u=t.get(a);u?r.push({kind:"mention",identity:u}):r.push({kind:"text",value:c}),o=o.slice(s.index+c.length)}return r}function $e(e,n){const t=[],r=/`([^`\n]+)`|\*\*(.+?)\*\*|\*([^*\s][^*]*?)\*|\[([^\]\n]+)\]\(([^)\s]+)\)|(https?:\/\/[^\s<>"')\]]+)/g;let o=0,i,s=0;const c=a=>{if(!a)return;const u=P(a);if(u.length===0){t.push(l.jsx("span",{children:a},`${n}-${s++}`));return}let f=0;for(const w of u)w.start>f&&t.push(l.jsx("span",{children:a.slice(f,w.start)},`${n}-${s++}`)),t.push(l.jsx(R,{path:w.path},`${n}-${s++}`)),f=w.end;f<a.length&&t.push(l.jsx("span",{children:a.slice(f)},`${n}-${s++}`))};for(;(i=r.exec(e))!==null;){if(i.index>o&&c(e.slice(o,i.index)),i[1]!==void 0){const a=i[1],u=P(` ${a}`);u.length===1&&u[0].path===a?t.push(l.jsx(R,{path:a},`${n}-${s++}`)):t.push(l.jsx("code",{className:"s-inline-code",children:a},`${n}-${s++}`))}else if(i[2]!==void 0)t.push(l.jsx("strong",{children:i[2]},`${n}-${s++}`));else if(i[3]!==void 0)t.push(l.jsx("em",{children:i[3]},`${n}-${s++}`));else if(i[4]!==void 0&&i[5]!==void 0&&z(i[5]))t.push(l.jsx("a",{className:"s-inline-link",href:i[5],target:"_blank",rel:"noreferrer",children:i[4]},`${n}-${s++}`));else if(i[6]!==void 0&&z(i[6])){const a=i[6].replace(/[.,;:!?]+$/u,""),u=i[6].slice(a.length);t.push(l.jsx("a",{className:"s-inline-link",href:a,target:"_blank",rel:"noreferrer",children:a},`${n}-${s++}`)),u&&t.push(l.jsx("span",{children:u},`${n}-${s++}`))}else t.push(l.jsx("span",{children:i[0]},`${n}-${s++}`));o=i.index+i[0].length}return o<e.length&&c(e.slice(o)),t.length>0?t:[l.jsx("span",{children:e},n)]}function z(e){return/^(?:https?:\/\/|mailto:|\/|#)/iu.test(e)}function Te(e){if(!e)return e??"";const n=ee(e);return Ie(e,n).flatMap((r,o)=>{if(r.kind==="text")return $e(r.value,o*100);const{identity:i}=r,c=i.definitionId===Y?"var(--accent)":K(i.definitionId);return l.jsx(de,{identity:i,color:c},o)})}export{Te as r};
1
+ import{j as l,r as d}from"./index-sUomXsrf.js";import{n as y,e as F,f as V,d as K}from"./colors-BtO5_zlx.js";import{r as T}from"./index-m6dFtY5f.js";import{a as Z}from"./api-h5zurxmi.js";import{u as N}from"./Provider-tFc3jqZ4.js";import{A as U}from"./AgentDetailCard-DxxVkgT1.js";const X={workspace:"workspace",worktree:"workspace",branch:"workspace",profile:"profile",persona:"profile",harness:"harness",runtime:"harness",model:"model",node:"node",host:"node"};function G(e){return e.trim().replace(/^@+/,"").replace(/[.,!?;)\]]+$/,"")}function m(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"")}const Y="scout";function B(e){return X[m(e)]??null}function D(e){const n=m(e.definitionId),t=e.workspaceQualifier?m(e.workspaceQualifier):void 0,r=e.profile?m(e.profile):void 0,o=e.harness?m(e.harness):void 0,i=e.model?m(e.model):void 0,s=e.nodeQualifier?m(e.nodeQualifier):void 0;return n?{definitionId:n,...t?{workspaceQualifier:t}:{},...r?{profile:r}:{},...o?{harness:o}:{},...i?{model:i}:{},...s?{nodeQualifier:s}:{}}:null}function O(e){const n=e.split(".").filter(Boolean),t=n.shift();if(!t)return null;const r={definitionId:t},o=[];for(const i of n){if(i.includes(":")){const[s,c=""]=i.split(":",2),a=B(s),u=m(c);if(!a||!u)return null;a==="workspace"?r.workspaceQualifier=u:a==="profile"?r.profile=u:a==="harness"?r.harness=u:a==="model"?r.model=u:a==="node"&&(r.nodeQualifier=u);continue}o.push(i)}if(o.length===1){const i=m(o[0]);if(!i)return null;r.workspaceQualifier=i}else if(o.length===2){const i=m(o[0]),s=m(o[1]);if(!i||!s)return null;r.workspaceQualifier||(r.workspaceQualifier=i),r.nodeQualifier||(r.nodeQualifier=s)}else if(o.length>2)return null;return M(r,{raw:e})}function J(e){const n=e.indexOf("#"),t=e.indexOf("?");if(n===-1&&t===-1||e.indexOf("#",n+1)!==-1||e.indexOf("?",t+1)!==-1||n!==-1&&t!==-1&&t<n)return null;const r=Math.min(...[n,t].filter(a=>a>=0)),o=e.slice(0,r);if(!o)return null;const i=O(o);if(!i)return null;const s=n>=0?e.slice(n+1,t>=0?t:e.length):"",c=t>=0?e.slice(t+1):"";return n>=0&&!s||t>=0&&!c||s.includes("#")||s.includes("?")||c.includes("#")||c.includes("?")||i.harness&&s||i.model&&c?null:M({definitionId:i.definitionId,nodeQualifier:i.nodeQualifier,workspaceQualifier:i.workspaceQualifier,profile:i.profile,harness:s||i.harness,model:c||i.model},{raw:e})}function q(e){const n=G(e);return!n||n.includes("@")?null:n.includes("#")||n.includes("?")?J(n):O(n)}function L(e,n={}){const t=D(e);if(!t)return n.includeSigil===!1?"":"@";const o=[`${n.includeSigil===!1?"":"@"}${t.definitionId}`];return t.workspaceQualifier&&o.push(t.workspaceQualifier),t.profile&&o.push(`profile:${t.profile}`),t.harness&&o.push(`harness:${t.harness}`),t.model&&o.push(`model:${t.model}`),t.nodeQualifier&&o.push(`node:${t.nodeQualifier}`),o.join(".")}function M(e,n={}){const t=D(e);return t?{raw:n.raw??L(t,{includeSigil:!1}),label:L(t),definitionId:t.definitionId,...t.nodeQualifier?{nodeQualifier:t.nodeQualifier}:{},...t.workspaceQualifier?{workspaceQualifier:t.workspaceQualifier}:{},...t.profile?{profile:t.profile}:{},...t.harness?{harness:t.harness}:{},...t.model?{model:t.model}:{}}:null}function ee(e){return ne(e).parsed}function ne(e){const n=Array.from(e.matchAll(/(^|[\s([{'"`])@([a-z0-9][a-z0-9._/:-]*(?:#[a-z0-9][a-z0-9._/:-]*)?(?:\?[a-z0-9][a-z0-9._/:-]*)?)(?=$|[\s)\]}",.!?:;'"`])/gi)),t=new Map,r=[];for(const o of n){const i=o[2]??"",s=q(i);if(!s){i&&r.push(`@${i}`);continue}t.set(s.label,s)}return{parsed:Array.from(t.values()),unparsed:Array.from(new Set(r))}}const te=280,re=120,E=320,j=8,Q=new Map,ie=1e4;function p(e){const n=e?.trim().replace(/^@+/,"").toLowerCase();return n&&n.length>0?n:null}function W(e){const n=new Set,t=r=>{const o=p(r);o&&n.add(o)};return t(e.id),t(e.handle),t(e.name),t(e.selector),t(e.defaultSelector),t(e.definitionId),e.definitionId&&e.workspaceQualifier&&t(`${e.definitionId}.${e.workspaceQualifier}`),e.definitionId&&e.workspaceQualifier&&e.nodeQualifier&&(t(`${e.definitionId}.${e.workspaceQualifier}.${e.nodeQualifier}`),t(`${e.definitionId}.${e.workspaceQualifier}.node:${e.nodeQualifier}`)),e.definitionId&&e.nodeQualifier&&t(`${e.definitionId}.node:${e.nodeQualifier}`),n}function oe(e,n){const t=p(n.label),r=p(n.raw),o=W(e);return t&&o.has(t)||r&&o.has(r)?!0:n.definitionId&&p(e.definitionId)!==p(n.definitionId)||n.workspaceQualifier&&p(e.workspaceQualifier)!==p(n.workspaceQualifier)||n.nodeQualifier&&p(e.nodeQualifier)!==p(n.nodeQualifier)||n.harness&&p(e.harness)!==p(n.harness)||n.model&&p(e.model)!==p(n.model)?!1:!!n.definitionId}function _(e,n){const t=p(n.label),r=p(n.raw),o=W(e),i=t&&o.has(t)||r&&o.has(r)?1e3:0,s=[n.workspaceQualifier,n.nodeQualifier,n.harness,n.model,n.profile].filter(Boolean).length*100;y(e.state);const c=F(e.state,e)?30:V(e.state,e)?20:0;return i+s+c+Math.min(e.updatedAt??0,9999999999)/1e9}function se(e){const n=p(e.raw);return n&&n.split(".").length>=3?n:null}function H(e,n){const t=n.filter(r=>oe(r,e)).sort((r,o)=>_(o,e)-_(r,e));return t[0]?t[0]:null}async function le(e,n){const t=H(e,n),r=t?.id??se(e),o=r??e.label,i=Q.get(o);if(i&&Date.now()-i.fetchedAt<ie)return i.agent;if(!r)return Q.set(o,{agent:t,fetchedAt:Date.now()}),t;try{const s=await Z(`/api/agents/${encodeURIComponent(r)}`);return Q.set(o,{agent:s,fetchedAt:Date.now()}),s}catch{return Q.set(o,{agent:t,fetchedAt:Date.now()}),t}}function C(e){const n=window.innerWidth,t=window.innerHeight,r=Math.max(j,Math.min(n-E-j,e.left+e.width/2-E/2)),o=e.top-j;return o>200||e.bottom>t-200?{top:o,left:r,placement:"above"}:{top:e.bottom+j,left:r,placement:"below"}}function ae(e){let n=e;for(;n;){if(n instanceof HTMLElement&&n.dataset.scoutTheme)return n;n=n.parentElement??null}return document.body}function ce({identity:e,agent:n,triggerEl:t,onRequestClose:r}){const{agents:o,navigate:i}=N(),[s,c]=d.useState(()=>n??H(e,o)),[a,u]=d.useState(!n),[f,w]=d.useState(()=>C(t.getBoundingClientRect())),x=d.useRef(null),g=ae(t);d.useEffect(()=>{if(n){c(n),u(!1);return}let h=!1;return u(!0),le(e,o).then(I=>{h||(c(I),u(!1))}),()=>{h=!0}},[e,o,n]),d.useEffect(()=>{const h=()=>{w(C(t.getBoundingClientRect()))};return window.addEventListener("scroll",h,!0),window.addEventListener("resize",h),()=>{window.removeEventListener("scroll",h,!0),window.removeEventListener("resize",h)}},[t]),d.useEffect(()=>{const h=I=>{I.key==="Escape"&&r()};return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[r]);const k=d.useCallback(()=>{s&&(i({view:"agents-v2",agentId:s.id}),r())},[s,i,r]),b=f.placement==="above"?"bottom center":"top center",A=f.placement==="above"?"translateY(-100%)":"",$={position:"fixed",top:f.top,left:f.left,width:E,transform:A,transformOrigin:b};return s?T.createPortal(l.jsx("div",{onMouseEnter:()=>{},onMouseLeave:r,children:l.jsx(U,{ref:x,agent:s,pinned:!0,onOpen:k,onClose:r,onAction:r,style:$,className:"agent-card--mention"})}),g):T.createPortal(l.jsx("div",{ref:x,className:"agent-card agent-card--pinned agent-card--mention",role:"dialog","aria-label":`${e.label} snapshot`,style:$,onMouseEnter:()=>{},onMouseLeave:r,children:l.jsx("div",{style:{fontSize:"12px",color:"var(--dim)",padding:"4px 2px"},children:a?"loading…":l.jsxs(l.Fragment,{children:["No agent registered as ",l.jsx("code",{children:e.label}),"."]})})}),g)}function ue(e){return M({definitionId:e.definitionId,workspaceQualifier:e.workspaceQualifier??void 0,nodeQualifier:e.nodeQualifier??void 0,harness:e.harness??void 0,model:e.model??void 0})}function fe(e){const{agent:n,identity:t}=e,[r,o]=d.useState(!1),[i,s]=d.useState(!1),c=d.useRef(null),a=d.useRef(null),u=d.useRef(null),f=d.useCallback(()=>{a.current!==null&&(window.clearTimeout(a.current),a.current=null),u.current!==null&&(window.clearTimeout(u.current),u.current=null)},[]),w=d.useCallback(()=>{r||(f(),a.current=window.setTimeout(()=>o(!0),te))},[r,f]),x=d.useCallback(()=>{i||(f(),u.current=window.setTimeout(()=>o(!1),re))},[i,f]),g=d.useCallback(()=>{f(),o(!1),s(!1)},[f]);d.useEffect(()=>()=>f(),[f]);const k=d.useMemo(()=>t??(n?ue(n):null),[t,n]),b=!!k,A=d.useCallback(v=>{if(v.preventDefault(),v.stopPropagation(),r&&i){g();return}f(),s(!0),o(!0)},[r,i,g,f]),$=d.useCallback(v=>{(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),s(!0),o(!0))},[]),h=b?{ref:c,onMouseEnter:w,onMouseLeave:x,onFocus:w,onBlur:x,onClick:A,onKeyDown:$,"data-hover-open":r?"true":void 0,"aria-haspopup":"dialog","aria-expanded":r}:{ref:c},I=r&&c.current&&k?l.jsx(ce,{identity:k,agent:n??null,triggerEl:c.current,onRequestClose:()=>{i?g():x()}}):null;return{triggerProps:h,popover:I,open:r,pinned:i}}function de({identity:e,color:n}){const{triggerProps:t,popover:r}=fe({identity:e});return l.jsxs(l.Fragment,{children:[l.jsx("span",{...t,className:"s-mention",role:"button",tabIndex:0,style:{"--mention-color":n},children:e.label}),r]})}const pe=["ts","tsx","js","jsx","mjs","cjs","md","mdx","txt","log","json","jsonc","yaml","yml","toml","css","scss","html","htm","sh","py","rb","go","rs","swift","kt","java","c","cpp","h","png","jpg","jpeg","gif","svg","webp","avif","env","conf","ini","gitignore","sql","xml"],he=pe.join("|"),S=new RegExp(`\\.(?:${he})(?:$|[?#])`,"i"),me=/^(?:\/Users\/|\/home\/|\/Volumes\/|\/var\/|\/etc\/|\/opt\/|\/tmp\/|\/private\/|\/mnt\/|\/Applications\/|\/usr\/|\/Library\/)/u,we=/(?:^|[\s(\[`'"])((?:~\/|\.\/|\.\.\/|\/)[A-Za-z0-9._/\-]+|[A-Za-z0-9._\-]+(?:\/[A-Za-z0-9._\-]+)+)/g;function xe(e){return e.startsWith("~/")||e.startsWith("./")||e.startsWith("../")?!0:e.startsWith("/")&&me.test(e)||S.test(e)}function P(e){const n=[],t=new RegExp(we.source,"g");let r;for(;(r=t.exec(e))!==null;){const o=r[1];if(!o)continue;const i=o.replace(/[.,;:!?]+$/u,"");if(!i||!xe(i))continue;const s=r[0].lastIndexOf(o);if(s<0)continue;const c=r.index+s;n.push({start:c,end:c+i.length,path:i})}return n}function ge(e){return/\.(png|jpe?g|gif|svg|webp|avif)(?:$|[?#])/iu.test(e)}function ve(e){return e.endsWith("/")?!0:!(e.split("/").pop()??"").includes(".")&&!e.startsWith("./")&&!e.startsWith("../")}function ke({kind:e}){return e==="dir"?l.jsx("svg",{className:"s-path-token-icon",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:l.jsx("path",{d:"M2 5a1 1 0 0 1 1-1h3.5l1.5 1.5h5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1Z"})}):e==="image"?l.jsxs("svg",{className:"s-path-token-icon",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[l.jsx("rect",{x:"2",y:"3",width:"12",height:"10",rx:"1.5"}),l.jsx("circle",{cx:"6",cy:"7",r:"1"}),l.jsx("path",{d:"m3 12 3.5-3 2.5 2 3-2.5L14 11"})]}):l.jsxs("svg",{className:"s-path-token-icon",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[l.jsx("path",{d:"M4 2h5l3 3v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1Z"}),l.jsx("path",{d:"M9 2v3h3"})]})}function R({path:e}){const{openFilePreview:n}=N(),t=ge(e)?"image":ve(e)?"dir":"file";return l.jsxs("button",{type:"button",className:"s-path-token",onClick:r=>{r.preventDefault(),r.stopPropagation(),n(e)},title:`Open ${e}`,children:[l.jsx(ke,{kind:t}),e]})}function Ie(e,n){if(n.length===0)return[{kind:"text",value:e}];const t=new Map;for(const s of n)t.set(s.label.toLowerCase(),s);const r=[];let o=e;const i=/@([a-z0-9][a-z0-9._/:-]*)/i;for(;o.length>0;){const s=i.exec(o);if(!s||s.index===void 0){r.push({kind:"text",value:o});break}s.index>0&&r.push({kind:"text",value:o.slice(0,s.index)});const c=s[0],a=c.toLowerCase(),u=t.get(a);u?r.push({kind:"mention",identity:u}):r.push({kind:"text",value:c}),o=o.slice(s.index+c.length)}return r}function $e(e,n){const t=[],r=/`([^`\n]+)`|\*\*(.+?)\*\*|\*([^*\s][^*]*?)\*|\[([^\]\n]+)\]\(([^)\s]+)\)|(https?:\/\/[^\s<>"')\]]+)/g;let o=0,i,s=0;const c=a=>{if(!a)return;const u=P(a);if(u.length===0){t.push(l.jsx("span",{children:a},`${n}-${s++}`));return}let f=0;for(const w of u)w.start>f&&t.push(l.jsx("span",{children:a.slice(f,w.start)},`${n}-${s++}`)),t.push(l.jsx(R,{path:w.path},`${n}-${s++}`)),f=w.end;f<a.length&&t.push(l.jsx("span",{children:a.slice(f)},`${n}-${s++}`))};for(;(i=r.exec(e))!==null;){if(i.index>o&&c(e.slice(o,i.index)),i[1]!==void 0){const a=i[1],u=P(` ${a}`);u.length===1&&u[0].path===a?t.push(l.jsx(R,{path:a},`${n}-${s++}`)):t.push(l.jsx("code",{className:"s-inline-code",children:a},`${n}-${s++}`))}else if(i[2]!==void 0)t.push(l.jsx("strong",{children:i[2]},`${n}-${s++}`));else if(i[3]!==void 0)t.push(l.jsx("em",{children:i[3]},`${n}-${s++}`));else if(i[4]!==void 0&&i[5]!==void 0&&z(i[5]))t.push(l.jsx("a",{className:"s-inline-link",href:i[5],target:"_blank",rel:"noreferrer",children:i[4]},`${n}-${s++}`));else if(i[6]!==void 0&&z(i[6])){const a=i[6].replace(/[.,;:!?]+$/u,""),u=i[6].slice(a.length);t.push(l.jsx("a",{className:"s-inline-link",href:a,target:"_blank",rel:"noreferrer",children:a},`${n}-${s++}`)),u&&t.push(l.jsx("span",{children:u},`${n}-${s++}`))}else t.push(l.jsx("span",{children:i[0]},`${n}-${s++}`));o=i.index+i[0].length}return o<e.length&&c(e.slice(o)),t.length>0?t:[l.jsx("span",{children:e},n)]}function z(e){return/^(?:https?:\/\/|mailto:|\/|#)/iu.test(e)}function Te(e){if(!e)return e??"";const n=ee(e);return Ie(e,n).flatMap((r,o)=>{if(r.kind==="text")return $e(r.value,o*100);const{identity:i}=r,c=i.definitionId===Y?"var(--accent)":K(i.definitionId);return l.jsx(de,{identity:i,color:c},o)})}export{Te as r};
@@ -0,0 +1 @@
1
+ .mesh-ops-list{display:flex;flex-direction:column;height:100%;min-height:0;overflow-y:auto;padding-bottom:var(--space-md)}.mesh-ops-summary{display:flex;align-items:center;gap:var(--space-2xs);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border)}.mesh-ops-tabs{display:inline-flex;align-items:center;gap:var(--space-2xs)}.mesh-ops-tab{display:inline-flex;align-items:baseline;gap:var(--space-xs);border:1px solid var(--border);background:none;padding:var(--space-xs) var(--space-md);color:var(--muted);font-size:var(--text-sm);font-family:var(--font-mono);letter-spacing:var(--tracking-sm);cursor:pointer;border-radius:var(--radius-sm)}.mesh-ops-tab:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 4%,transparent)}.mesh-ops-tab--active{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.mesh-ops-tab-count{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.mesh-ops-tab .dot{align-self:center}.mesh-ops-tab .dot[data-quiet]{opacity:.35}.mesh-ops-tab--active .mesh-ops-tab-count{color:var(--accent)}.mesh-ops-summary-spacer{flex:1}.mesh-ops-groupby{display:inline-flex;align-items:center;gap:var(--space-2xs);font-size:var(--text-sm);font-family:var(--font-mono);color:var(--dim)}.mesh-ops-groupby-label{letter-spacing:var(--tracking-sm);margin-right:var(--space-2xs)}.mesh-ops-groupby-option{border:none;background:none;padding:var(--space-2xs) var(--space-sm);color:var(--muted);font:inherit;letter-spacing:var(--tracking-sm);cursor:pointer;border-radius:var(--radius-sm)}.mesh-ops-groupby-option:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 4%,transparent)}.mesh-ops-groupby-option--active{color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,transparent)}.mesh-ops-hosts{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-xs);padding:var(--space-xs) var(--space-md) 0}.mesh-ops-host{display:inline-flex;align-items:baseline;gap:var(--space-xs);border:1px solid var(--border);background:none;border-radius:var(--radius-md);padding:var(--space-2xs) var(--space-sm);color:var(--muted);font:inherit;font-size:var(--text-sm);cursor:pointer}.mesh-ops-host .dot{align-self:center}.mesh-ops-host:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 4%,transparent)}.mesh-ops-host--active{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.mesh-ops-host-name{color:inherit}.mesh-ops-host-meta{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--dim);font-variant-numeric:tabular-nums}.mesh-ops-host--active .mesh-ops-host-meta{color:var(--accent)}.mesh-ops-host-new{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--amber);font-variant-numeric:tabular-nums}.mesh-ops-host-age{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--dim);font-variant-numeric:tabular-nums}.mesh-ops-row{display:grid;grid-template-columns:14px minmax(0,2fr) minmax(0,.8fr) 120px 76px;column-gap:var(--space-md);align-items:center}.mesh-ops-group{flex-shrink:0;margin:var(--space-lg) var(--space-md) 0}.mesh-ops-group-head{display:flex;align-items:center;gap:var(--space-sm);padding:0 var(--space-sm) var(--space-2xs)}.mesh-ops-group-head .dot[data-quiet]{opacity:.35}.mesh-ops-group-name{color:var(--ink);text-transform:uppercase}.mesh-ops-group-count{color:var(--dim);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.mesh-ops-group-spacer{flex:1}.mesh-ops-row{width:100%;border:none;border-bottom:1px solid var(--border);background:none;padding:var(--space-xs) var(--space-sm);color:inherit;font:inherit;text-align:left;cursor:pointer}.mesh-ops-row:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}.mesh-ops-row--selected{background:var(--accent-soft)}.mesh-ops-row--selected:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.mesh-ops-row .dot[data-quiet]{opacity:.3}.mesh-ops-row .dot[data-hollow]{background:transparent;border:1px solid var(--dim);opacity:.6}.mesh-ops-list--lastlook .mesh-ops-row:not([data-fresh]) .mesh-ops-row-title{color:var(--muted)}.mesh-ops-row-main{min-width:0}.mesh-ops-row-title{display:block;color:var(--ink);font-size:var(--text-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mesh-ops-row-sub{display:block;margin-top:1px;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-sm);text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mesh-ops-row-owner{display:flex;align-items:center;gap:var(--space-xs);min-width:0;color:var(--muted);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mesh-ops-row-owner>span:last-child{overflow:hidden;text-overflow:ellipsis}.mesh-ops-row-harness{flex-shrink:0;width:6px;height:6px;border-radius:50%}.mesh-ops-row-route{min-width:0;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mesh-ops-row-state{text-align:right}.mesh-ops-row-state-word{display:block;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-sm);text-transform:uppercase}.mesh-ops-row-state-word[data-tone=danger]{color:var(--red)}.mesh-ops-row-state-word[data-tone=warning]{color:var(--amber)}.mesh-ops-row-state-word[data-tone=accent]{color:var(--accent)}.mesh-ops-row-state-word[data-tone=faint]{color:var(--dim)}.mesh-ops-row-age{display:block;margin-top:1px;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums}.mesh-ops-lastlook{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-2xs) var(--space-sm)}.mesh-ops-lastlook-rule{flex:1;height:1px;background:var(--border)}.mesh-ops-lastlook-label{color:var(--dim);font-size:var(--text-2xs);font-family:var(--font-mono);letter-spacing:var(--tracking-md);text-transform:uppercase}.mesh-ops-list--compact .mesh-ops-row{padding-top:var(--space-3xs);padding-bottom:var(--space-3xs)}.mesh-ops-group-more{border:none;background:none;padding:0;color:var(--dim);font-size:var(--text-xs);font-family:var(--font-mono);cursor:pointer}.mesh-ops-group-more:hover{color:var(--ink)}.mesh-ops-inspector{overflow-y:auto}.mesh-ops-inspector-header{padding:var(--space-md) var(--space-md) var(--space-2xs)}.mesh-ops-inspector-title{font-weight:600}.mesh-ops-inspector-summary{color:var(--muted);font-size:var(--text-md);margin-top:var(--space-2xs)}.mesh-ops-inspector-note{margin:0;padding:var(--space-2xs) var(--space-md) var(--space-sm);color:var(--dim);font-size:var(--text-sm);line-height:1.5}.mesh-ops-actions{display:flex;gap:var(--space-sm);padding:var(--space-sm) var(--space-md)}.mesh-ops-button{border:1px solid var(--border);background:none;color:inherit;padding:var(--space-2xs) var(--space-md);font-size:var(--text-md);font-family:var(--font-mono);letter-spacing:var(--tracking-sm);cursor:pointer;border-radius:var(--radius-md)}.mesh-ops-button:hover:not(:disabled){background:color-mix(in srgb,var(--ink) 4%,transparent)}.mesh-ops-button:disabled{opacity:.5;cursor:default}.mesh-ops-detail-row{display:flex;align-items:baseline;gap:var(--space-md);padding:var(--space-3xs) 0;font-size:var(--text-md)}.mesh-ops-detail-label{flex-shrink:0;width:6.5rem;color:var(--dim);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-sm)}.mesh-ops-detail-value{min-width:0;overflow-wrap:anywhere}.mesh-ops-lab{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-lg);margin-top:auto;padding:var(--space-sm) var(--space-md) 0;border-top:1px solid var(--border);color:var(--dim)}.mesh-ops-lab-toggle{border:none;background:none;padding:0;color:var(--dim);font-size:var(--text-sm);font-family:var(--font-mono);letter-spacing:var(--tracking-sm);cursor:pointer}.mesh-ops-lab-toggle:hover{color:var(--muted)}.mesh-ops-lab-toggle[data-on]{color:var(--accent)}.mesh-ops-routestrip{margin:var(--space-2xs) var(--space-md) 0;border:1px solid var(--border);border-radius:var(--radius-sm)}.mesh-ops-routestrip-svg{display:block;width:100%}.mesh-ops-routestrip-line{stroke:var(--border);stroke-width:1.5}.mesh-ops-routestrip-line--moving{stroke:var(--accent);stroke-dasharray:5 4}.mesh-ops-routestrip-node{fill:none;stroke:var(--muted)}.mesh-ops-routestrip-label{fill:var(--dim);font-size:8px;font-family:var(--font-mono)}
@@ -0,0 +1 @@
1
+ import{r as p}from"./index-sUomXsrf.js";const M={active:"active",moving:"moving",done:"done",archive:"archive"},b=["active","moving","done","archive"],h=300*1e3,O=1800*1e3,S=1440*60*1e3;function L(t,n=Date.now()){const o=n-u(t);return o<=h?"active":o<=O?"moving":o<=S?"done":"archive"}const i="openscout.meshOps.lastLookAt";function y(){if(typeof window>"u")return 0;try{const t=window.localStorage.getItem(i);return t?Number(t)||0:Date.now()}catch{return Date.now()}}function A(){if(!(typeof window>"u"))try{window.localStorage.setItem(i,String(Date.now()))}catch{}}function E(t,n){return u(t)>n}function v(t){if(t.labels.length>0)return t.labels[0];if(t.projectRoot){const n=t.projectRoot.split("/").filter(Boolean);return n[n.length-1]??t.projectRoot}return"unlabeled"}function u(t){return t.lastMeaningfulAt??t.updatedAt}const l="openscout.mesh-ops.lab.",r={lastLook:!0,routeStrip:!0,compact:!1,relays:!1,simulateHosts:!1};function m(){if(typeof window>"u")return r;const t=n=>{try{const o=window.localStorage.getItem(`${l}${n}`);return o===null?r[n]:o==="1"}catch{return r[n]}};return{lastLook:t("lastLook"),routeStrip:t("routeStrip"),compact:t("compact"),relays:t("relays"),simulateHosts:t("simulateHosts")}}function _(t,n){if(!(typeof window>"u"))try{window.localStorage.setItem(`${l}${t}`,n?"1":"0")}catch{}}let e={status:"idle",error:null,generatedAt:null,items:[],hosts:[],machineId:null,selectedItemId:null,groupBy:"family",attnFilter:null,unattributedOnly:!1,lab:m(),refreshToken:0};const a=new Set;function s(){for(const t of a)t()}function D(t){e={...e,status:"loading",error:null,machineId:t},s()}function R(t,n,o,c=[]){const f=e.selectedItemId!==null&&!n.some(d=>d.id===e.selectedItemId);e={...e,status:"ready",error:null,items:n,hosts:c,generatedAt:o,machineId:t,selectedItemId:f?null:e.selectedItemId},s()}function F(t,n){e={...e,status:"error",error:n,machineId:t},s()}function T(t){e.selectedItemId!==t&&(e={...e,selectedItemId:t},s())}function H(t){e.groupBy!==t&&(e={...e,groupBy:t},s())}function N(t){e.attnFilter!==t&&(e={...e,attnFilter:t},s())}function B(t){e.unattributedOnly!==t&&(e={...e,unattributedOnly:t},s())}function G(t){const n={...e.lab,[t]:!e.lab[t]};_(t,n[t]),e={...e,lab:n},s()}function P(){e={...e,refreshToken:e.refreshToken+1},s()}function g(t){return a.add(t),()=>{a.delete(t)}}function I(){return e}function W(){return p.useSyncExternalStore(g,I)}function k(){return e}export{b as M,T as a,A as b,u as c,M as d,N as e,v as f,H as g,G as h,E as i,P as j,D as k,R as l,k as m,F as n,y as r,B as s,L as t,W as u};
@@ -1 +1 @@
1
- import{r as d}from"./index-DMiGbrBt.js";const u=new Set(["in_turn","in_flight","needs_attention","callable","blocked"]),l="openscout.mesh.machinePositions.v1";function f(){if(typeof window>"u")return{};try{const e=window.localStorage.getItem(l);if(!e)return{};const n=JSON.parse(e);if(n&&typeof n=="object"){const i={};for(const[c,o]of Object.entries(n))o&&typeof o=="object"&&typeof o.x=="number"&&typeof o.y=="number"&&(i[c]={x:o.x,y:o.y});return i}}catch{}return{}}function r(e){if(!(typeof window>"u"))try{window.localStorage.setItem(l,JSON.stringify(e))}catch{}}let t={mode:"map",density:"comfortable",selectedId:null,selectedType:null,meshSnapshot:null,probeCache:{},query:"",stateFilter:"all",agentStateFilters:u,hiddenMachineIds:new Set,collapsedMachineIds:new Set,treeFullMachineIds:new Set,scrollTargetMachineId:null,machinePositions:f()};const a=new Set;function s(){for(const e of a)e()}function p(e){t.mode!==e&&(t={...t,mode:e},s())}function g(e){t.density!==e&&(t={...t,density:e},s())}function w(e,n){t.selectedId===e&&t.selectedType===n||(t={...t,selectedId:e,selectedType:n},s())}function y(e){t={...t,meshSnapshot:e},s()}function I(e){t.query!==e&&(t={...t,query:e},s())}function b(e){t.stateFilter!==e&&(t={...t,stateFilter:e},s())}function T(e){const n=new Set(t.agentStateFilters);n.has(e)?n.delete(e):n.add(e),t={...t,agentStateFilters:n},s()}function x(e){const n=new Set(t.treeFullMachineIds);n.has(e)?n.delete(e):n.add(e),t={...t,treeFullMachineIds:n},s()}function P(e){const n=new Set(t.hiddenMachineIds);n.has(e)?n.delete(e):n.add(e),t={...t,hiddenMachineIds:n},s()}function _(e,n){const i=new Set;for(const c of n)c!==e&&i.add(c);t={...t,hiddenMachineIds:i},s()}function m(){t.hiddenMachineIds.size!==0&&(t={...t,hiddenMachineIds:new Set},s())}function F(e){const n=new Set(t.collapsedMachineIds);n.has(e)?n.delete(e):n.add(e),t={...t,collapsedMachineIds:n},s()}function A(e,n){const i={...t.machinePositions,[e]:n};t={...t,machinePositions:i},r(i),s()}function O(){if(Object.keys(t.machinePositions).length===0)return;const e={};t={...t,machinePositions:e},r(e),s()}function E(e){t={...t,scrollTargetMachineId:e},s(),queueMicrotask(()=>{t.scrollTargetMachineId===e&&(t={...t,scrollTargetMachineId:null},s())})}function h(e){return a.add(e),()=>{a.delete(e)}}function S(){return t}function j(){return d.useSyncExternalStore(h,S)}export{w as a,F as b,A as c,O as d,p as e,g as f,I as g,b as h,T as i,m as j,x as k,_ as l,E as r,y as s,P as t,j as u};
1
+ import{r as d}from"./index-sUomXsrf.js";const u=new Set(["in_turn","in_flight","needs_attention","callable","blocked"]),l="openscout.mesh.machinePositions.v1";function f(){if(typeof window>"u")return{};try{const e=window.localStorage.getItem(l);if(!e)return{};const n=JSON.parse(e);if(n&&typeof n=="object"){const i={};for(const[c,o]of Object.entries(n))o&&typeof o=="object"&&typeof o.x=="number"&&typeof o.y=="number"&&(i[c]={x:o.x,y:o.y});return i}}catch{}return{}}function r(e){if(!(typeof window>"u"))try{window.localStorage.setItem(l,JSON.stringify(e))}catch{}}let t={mode:"map",density:"comfortable",selectedId:null,selectedType:null,meshSnapshot:null,probeCache:{},query:"",stateFilter:"all",agentStateFilters:u,hiddenMachineIds:new Set,collapsedMachineIds:new Set,treeFullMachineIds:new Set,scrollTargetMachineId:null,machinePositions:f()};const a=new Set;function s(){for(const e of a)e()}function p(e){t.mode!==e&&(t={...t,mode:e},s())}function g(e){t.density!==e&&(t={...t,density:e},s())}function w(e,n){t.selectedId===e&&t.selectedType===n||(t={...t,selectedId:e,selectedType:n},s())}function y(e){t={...t,meshSnapshot:e},s()}function I(e){t.query!==e&&(t={...t,query:e},s())}function b(e){t.stateFilter!==e&&(t={...t,stateFilter:e},s())}function T(e){const n=new Set(t.agentStateFilters);n.has(e)?n.delete(e):n.add(e),t={...t,agentStateFilters:n},s()}function x(e){const n=new Set(t.treeFullMachineIds);n.has(e)?n.delete(e):n.add(e),t={...t,treeFullMachineIds:n},s()}function P(e){const n=new Set(t.hiddenMachineIds);n.has(e)?n.delete(e):n.add(e),t={...t,hiddenMachineIds:n},s()}function _(e,n){const i=new Set;for(const c of n)c!==e&&i.add(c);t={...t,hiddenMachineIds:i},s()}function m(){t.hiddenMachineIds.size!==0&&(t={...t,hiddenMachineIds:new Set},s())}function F(e){const n=new Set(t.collapsedMachineIds);n.has(e)?n.delete(e):n.add(e),t={...t,collapsedMachineIds:n},s()}function A(e,n){const i={...t.machinePositions,[e]:n};t={...t,machinePositions:i},r(i),s()}function O(){if(Object.keys(t.machinePositions).length===0)return;const e={};t={...t,machinePositions:e},r(e),s()}function E(e){t={...t,scrollTargetMachineId:e},s(),queueMicrotask(()=>{t.scrollTargetMachineId===e&&(t={...t,scrollTargetMachineId:null},s())})}function h(e){return a.add(e),()=>{a.delete(e)}}function S(){return t}function j(){return d.useSyncExternalStore(h,S)}export{w as a,F as b,A as c,O as d,p as e,g as f,I as g,b as h,T as i,m as j,x as k,_ as l,E as r,y as s,P as t,j as u};
@@ -1 +1 @@
1
- import{c as e}from"./createLucideIcon-OpA4Amw5.js";const c=[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}]],a=e("message-circle",c);export{a as M};
1
+ import{c as e}from"./createLucideIcon-DlxlBfLC.js";const c=[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}]],a=e("message-circle",c);export{a as M};
@@ -1,4 +1,4 @@
1
- import{j as i}from"./index-DMiGbrBt.js";import{r as c}from"./mentions-jSuTGeet.js";const h=/^```([a-z0-9_-]+)?\s*$/iu,E=/^(#{1,6})\s+(.+)$/u,L=/^(?:-{3,}|\*{3,}|_{3,})$/u,_=/^\s*[-*]\s+(.+)$/u,M=/^\s*\d+[.)]\s+(.+)$/u,w=/^\|?\s*:?-{3,}:?\s*(?:\|\s*:?-{3,}:?\s*)+\|?$/u;function B(e){return/[\r\n]/u.test(e)||!(/(?:(?:\\r)?\\n){2}/u.test(e)||/(?:\\r)?\\n(?=\s*(?:#{1,6}\s|[-*+]\s|>\s|\d+[.)]\s|[A-Z][A-Za-z ]{0,40}:))/u.test(e))?e:e.replace(/\\r\\n|\\n|\\r/gu,`
1
+ import{j as i}from"./index-sUomXsrf.js";import{r as c}from"./mentions-CY_wPZc5.js";const h=/^```([a-z0-9_-]+)?\s*$/iu,E=/^(#{1,6})\s+(.+)$/u,L=/^(?:-{3,}|\*{3,}|_{3,})$/u,_=/^\s*[-*]\s+(.+)$/u,M=/^\s*\d+[.)]\s+(.+)$/u,w=/^\|?\s*:?-{3,}:?\s*(?:\|\s*:?-{3,}:?\s*)+\|?$/u;function B(e){return/[\r\n]/u.test(e)||!(/(?:(?:\\r)?\\n){2}/u.test(e)||/(?:\\r)?\\n(?=\s*(?:#{1,6}\s|[-*+]\s|>\s|\d+[.)]\s|[A-Z][A-Za-z ]{0,40}:))/u.test(e))?e:e.replace(/\\r\\n|\\n|\\r/gu,`
2
2
  `)}function P(e){const s=B(e).replace(/\r\n?/gu,`
3
3
  `).trim();return s?s.replace(/([^\n])\s+---\s+(?=(?:#{1,6}\s|\*\*|[A-Z0-9]))/gu,`$1
4
4
 
@@ -1 +1 @@
1
- import{c as a}from"./createLucideIcon-OpA4Amw5.js";const e=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]],o=a("message-square",e);export{o as M};
1
+ import{c as a}from"./createLucideIcon-DlxlBfLC.js";const e=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]],o=a("message-square",e);export{o as M};
@@ -1 +1 @@
1
- import{r as o}from"./index-DMiGbrBt.js";const c=[{label:"5m",value:5*6e4},{label:"30m",value:30*6e4},{label:"4h",value:240*6e4},{label:"24h",value:1440*6e4}];let t={activityFilter:"active",sourceFilter:"all",activityWindowMs:c[3].value,groupMode:"activity",query:"",focusedId:null,revealRequest:null,visibleAgents:[],selectedIds:[]};const u=new Set;let a=0;function s(){for(const e of u)e()}function I(e){t.activityFilter!==e&&(t={...t,activityFilter:e},s())}function g(e){t.sourceFilter!==e&&(t={...t,sourceFilter:e},s())}function y(e){t.activityWindowMs!==e&&(t={...t,activityWindowMs:e},s())}function A(e){t.groupMode!==e&&(t={...t,groupMode:e},s())}function S(e){t.query!==e&&(t={...t,query:e},s())}function h(e){t.focusedId!==e&&(t={...t,focusedId:e},s())}function b(e){a+=1,t={...t,revealRequest:{id:e,serial:a}},s()}function p(e){t.revealRequest?.serial===e&&(t={...t,revealRequest:null},s())}function f(e,n){if(e===n)return!0;if(e.length!==n.length)return!1;for(let i=0;i<e.length;i++){const r=e[i],l=n[i];if(r.id!==l.id||r.state!==l.state||r.updatedAt!==l.updatedAt||r.activity!==l.activity||r.lastActiveAt!==l.lastActiveAt)return!1}return!0}function q(e){f(t.visibleAgents,e)||(t={...t,visibleAgents:e},s())}function _(e){const n=t.selectedIds.includes(e);t={...t,selectedIds:n?t.selectedIds.filter(i=>i!==e):[...t.selectedIds,e]},s()}function R(){t.selectedIds.length!==0&&(t={...t,selectedIds:[]},s())}function d(e){return u.add(e),()=>{u.delete(e)}}function v(){return t}function F(){return o.useSyncExternalStore(d,v)}export{c as M,h as a,R as b,p as c,g as d,S as e,I as f,y as g,A as h,b as r,q as s,_ as t,F as u};
1
+ import{r as o}from"./index-sUomXsrf.js";const c=[{label:"5m",value:5*6e4},{label:"30m",value:30*6e4},{label:"4h",value:240*6e4},{label:"24h",value:1440*6e4}];let t={activityFilter:"active",sourceFilter:"all",activityWindowMs:c[3].value,groupMode:"activity",query:"",focusedId:null,revealRequest:null,visibleAgents:[],selectedIds:[]};const u=new Set;let a=0;function s(){for(const e of u)e()}function I(e){t.activityFilter!==e&&(t={...t,activityFilter:e},s())}function g(e){t.sourceFilter!==e&&(t={...t,sourceFilter:e},s())}function y(e){t.activityWindowMs!==e&&(t={...t,activityWindowMs:e},s())}function A(e){t.groupMode!==e&&(t={...t,groupMode:e},s())}function S(e){t.query!==e&&(t={...t,query:e},s())}function h(e){t.focusedId!==e&&(t={...t,focusedId:e},s())}function b(e){a+=1,t={...t,revealRequest:{id:e,serial:a}},s()}function p(e){t.revealRequest?.serial===e&&(t={...t,revealRequest:null},s())}function f(e,n){if(e===n)return!0;if(e.length!==n.length)return!1;for(let i=0;i<e.length;i++){const r=e[i],l=n[i];if(r.id!==l.id||r.state!==l.state||r.updatedAt!==l.updatedAt||r.activity!==l.activity||r.lastActiveAt!==l.lastActiveAt)return!1}return!0}function q(e){f(t.visibleAgents,e)||(t={...t,visibleAgents:e},s())}function _(e){const n=t.selectedIds.includes(e);t={...t,selectedIds:n?t.selectedIds.filter(i=>i!==e):[...t.selectedIds,e]},s()}function R(){t.selectedIds.length!==0&&(t={...t,selectedIds:[]},s())}function d(e){return u.add(e),()=>{u.delete(e)}}function v(){return t}function F(){return o.useSyncExternalStore(d,v)}export{c as M,h as a,R as b,p as c,g as d,S as e,I as f,y as g,A as h,b as r,q as s,_ as t,F as u};
@@ -1 +1 @@
1
- import{g as u,p}from"./agents-project-model-UYiamtrU.js";import{t as d}from"./time-DltNTpLl.js";function h(e){return e==="pi"?"grok":e.toLowerCase()}function I(e,t){const s=[];for(const o of e){const n=u(o),{primary:i,ephemeral:r}=p(n),g=t?[...i,...r]:i;for(const a of g){const c=a.nodes[0];c&&s.push({group:a,projectSlug:o.slice.slug,projectTitle:o.slice.title,projectRoot:o.slice.root,leadRow:c.row,leadAgent:c.row.agent})}}return s.sort(f)}function f(e,t){return e.group.needs!==t.group.needs?e.group.needs?-1:1:t.group.lastActivityAt-e.group.lastActivityAt||t.group.sessionCount-e.group.sessionCount}function v(e){const t=(e.preview??"").replace(/^\[ask:[^\]]+\]\s*/i,"").replace(/\s+/g," ").trim();if(t)return t;const s=e.title?.trim();return s&&s!==e.agentName?s:"Untitled session"}function l(e,t=140){if(!e?.trim())return"";let s=e.replace(/^\[ask:[^\]]+\]\s*/gi,"").replace(/^#+\s+/gm,"").replace(/\*\*([^*]+)\*\*/g,"$1").replace(/\*([^*]+)\*/g,"$1").replace(/`([^`]+)`/g,"$1").replace(/^[-*•]\s+/gm,"").replace(/\s+/g," ").trim();return s?s.length>t?`${s.slice(0,t-1).trim()}…`:s:""}function m(e){const t=[],s=(n,i)=>{const r=l(n);!r||r==="Untitled session"||t.push({text:r,at:i})};for(const n of e.group.nodes){n.row.session&&s(v(n.row.session),n.row.session.lastMessageAt??0);for(const i of n.sessions)s(i.detail??i.label,i.lastActivityAt??0)}return t.length===0?null:t.reduce((n,i)=>i.at>n.at?i:n).text}function j(e,t){const s=e.leadRow.activeTask?l(e.leadRow.activeTask):null;if(s)return s;const o=m(e);if(o)return o;if(e.group.sessionCount>0){const n=e.group.lastActivityAt?d(e.group.lastActivityAt):null;return n?`Idle · last active ${n}`:`Idle · ${e.group.sessionCount} sessions`}return t==="idle"?"No recent activity":e.leadRow.stateLabel}function R(e){return{view:"agents-v2",...e.projectSlug?{projectSlug:e.projectSlug}:{},...e.harness?{harness:e.harness}:{},...e.node?{node:e.node}:{},...e.set?{set:e.set}:{},...e.indexView?{indexView:e.indexView}:{},...e.stateFilter?{stateFilter:e.stateFilter}:{},...e.showEphemeral?{showEphemeral:!0}:{},...e.selectedAgentId?{selectedAgentId:e.selectedAgentId}:{},..."machineId"in e&&e.machineId?{machineId:e.machineId}:{}}}function k(e){return!!e.agentId}function x(e,t){return{...e,view:"agents-v2",agentId:t,selectedAgentId:void 0,sessionId:void 0,tab:void 0,conversationId:void 0}}export{j as a,I as b,l as c,h,k as i,x as o,R as r};
1
+ import{g as u,p}from"./agents-project-model-UYiamtrU.js";import{t as d}from"./time-Dhsh_2EG.js";function h(e){return e==="pi"?"grok":e.toLowerCase()}function I(e,t){const s=[];for(const o of e){const n=u(o),{primary:i,ephemeral:r}=p(n),g=t?[...i,...r]:i;for(const a of g){const c=a.nodes[0];c&&s.push({group:a,projectSlug:o.slice.slug,projectTitle:o.slice.title,projectRoot:o.slice.root,leadRow:c.row,leadAgent:c.row.agent})}}return s.sort(f)}function f(e,t){return e.group.needs!==t.group.needs?e.group.needs?-1:1:t.group.lastActivityAt-e.group.lastActivityAt||t.group.sessionCount-e.group.sessionCount}function v(e){const t=(e.preview??"").replace(/^\[ask:[^\]]+\]\s*/i,"").replace(/\s+/g," ").trim();if(t)return t;const s=e.title?.trim();return s&&s!==e.agentName?s:"Untitled session"}function l(e,t=140){if(!e?.trim())return"";let s=e.replace(/^\[ask:[^\]]+\]\s*/gi,"").replace(/^#+\s+/gm,"").replace(/\*\*([^*]+)\*\*/g,"$1").replace(/\*([^*]+)\*/g,"$1").replace(/`([^`]+)`/g,"$1").replace(/^[-*•]\s+/gm,"").replace(/\s+/g," ").trim();return s?s.length>t?`${s.slice(0,t-1).trim()}…`:s:""}function m(e){const t=[],s=(n,i)=>{const r=l(n);!r||r==="Untitled session"||t.push({text:r,at:i})};for(const n of e.group.nodes){n.row.session&&s(v(n.row.session),n.row.session.lastMessageAt??0);for(const i of n.sessions)s(i.detail??i.label,i.lastActivityAt??0)}return t.length===0?null:t.reduce((n,i)=>i.at>n.at?i:n).text}function j(e,t){const s=e.leadRow.activeTask?l(e.leadRow.activeTask):null;if(s)return s;const o=m(e);if(o)return o;if(e.group.sessionCount>0){const n=e.group.lastActivityAt?d(e.group.lastActivityAt):null;return n?`Idle · last active ${n}`:`Idle · ${e.group.sessionCount} sessions`}return t==="idle"?"No recent activity":e.leadRow.stateLabel}function R(e){return{view:"agents-v2",...e.projectSlug?{projectSlug:e.projectSlug}:{},...e.harness?{harness:e.harness}:{},...e.node?{node:e.node}:{},...e.set?{set:e.set}:{},...e.indexView?{indexView:e.indexView}:{},...e.stateFilter?{stateFilter:e.stateFilter}:{},...e.showEphemeral?{showEphemeral:!0}:{},...e.selectedAgentId?{selectedAgentId:e.selectedAgentId}:{},..."machineId"in e&&e.machineId?{machineId:e.machineId}:{}}}function k(e){return!!e.agentId}function x(e,t){return{...e,view:"agents-v2",agentId:t,selectedAgentId:void 0,sessionId:void 0,tab:void 0,conversationId:void 0}}export{j as a,I as b,l as c,h,k as i,x as o,R as r};
@@ -1 +1 @@
1
- import{r}from"./index-DMiGbrBt.js";import{a as L}from"./api-h5zurxmi.js";import{a as S}from"./colors-BtO5_zlx.js";import{i as y,o as E}from"./surface-activity-B1rgWB1i.js";const _=1e4,b=6e4;function O(t,s){const[p,i]=r.useState({}),c=s?.enabled??!0,o=r.useRef(!0),f=r.useRef(!1),l=r.useRef(!1),u=s?.pauseWhenHidden??!1,d=t.map(e=>e.id.trim()).filter(e=>e.length>0).join(","),I=t.some(e=>S(e.state))?s?.activeIntervalMs??_:s?.idleIntervalMs??b,n=r.useCallback(async()=>{if(c){if(t.length===0){i({});return}if(!(u&&!y())){if(f.current){l.current=!0;return}f.current=!0;try{const e=d?`?ids=${encodeURIComponent(d)}`:"",v=await L(`/api/observe/agents${e}`);if(!o.current)return;i(h=>{const m={};for(const a of t)m[a.id]=h[a.id];for(const a of v){const{agentId:R,...A}=a;m[R]=A}return m})}finally{f.current=!1,l.current&&(l.current=!1,n())}}}},[d,t,c,u]);return r.useEffect(()=>{if(o.current=!0,!c||t.length===0)return i({}),()=>{o.current=!1};n();const e=setInterval(()=>{n()},I),v=u?E(()=>{n()}):null;return()=>{o.current=!1,clearInterval(e),v?.()}},[t.length,c,n,u,I]),p}export{O as u};
1
+ import{r}from"./index-sUomXsrf.js";import{a as L}from"./api-h5zurxmi.js";import{a as S}from"./colors-BtO5_zlx.js";import{i as y,o as E}from"./surface-activity-B1rgWB1i.js";const _=1e4,b=6e4;function O(t,s){const[p,i]=r.useState({}),c=s?.enabled??!0,o=r.useRef(!0),f=r.useRef(!1),l=r.useRef(!1),u=s?.pauseWhenHidden??!1,d=t.map(e=>e.id.trim()).filter(e=>e.length>0).join(","),I=t.some(e=>S(e.state))?s?.activeIntervalMs??_:s?.idleIntervalMs??b,n=r.useCallback(async()=>{if(c){if(t.length===0){i({});return}if(!(u&&!y())){if(f.current){l.current=!0;return}f.current=!0;try{const e=d?`?ids=${encodeURIComponent(d)}`:"",v=await L(`/api/observe/agents${e}`);if(!o.current)return;i(h=>{const m={};for(const a of t)m[a.id]=h[a.id];for(const a of v){const{agentId:R,...A}=a;m[R]=A}return m})}finally{f.current=!1,l.current&&(l.current=!1,n())}}}},[d,t,c,u]);return r.useEffect(()=>{if(o.current=!0,!c||t.length===0)return i({}),()=>{o.current=!1};n();const e=setInterval(()=>{n()},I),v=u?E(()=>{n()}):null;return()=>{o.current=!1,clearInterval(e),v?.()}},[t.length,c,n,u,I]),p}export{O as u};
@@ -1 +1 @@
1
- import{r as u}from"./index-DMiGbrBt.js";let e={hover:null,content:null};const n=new Set;function s(){for(const t of n)t()}function i(t){return n.add(t),()=>{n.delete(t)}}function r(){return e}function c(){return u.useSyncExternalStore(i,r,r)}function o(t){e.hover!==t&&(e={...e,hover:t},s())}function f(t){return!t||!t.route&&!t.label?{onPointerEnter:void 0,onPointerLeave:void 0}:{onPointerEnter:()=>o(t),onPointerLeave:()=>{e.hover===t&&o(null)}}}export{f as s,c as u};
1
+ import{r as u}from"./index-sUomXsrf.js";let e={hover:null,content:null};const n=new Set;function s(){for(const t of n)t()}function i(t){return n.add(t),()=>{n.delete(t)}}function r(){return e}function c(){return u.useSyncExternalStore(i,r,r)}function o(t){e.hover!==t&&(e={...e,hover:t},s())}function f(t){return!t||!t.route&&!t.label?{onPointerEnter:void 0,onPointerLeave:void 0}:{onPointerEnter:()=>o(t),onPointerLeave:()=>{e.hover===t&&o(null)}}}export{f as s,c as u};
@@ -0,0 +1 @@
1
+ import{c}from"./createLucideIcon-DlxlBfLC.js";const a=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],o=c("paperclip",a);export{o as P};
@@ -1 +1 @@
1
- import{c as e}from"./createLucideIcon-OpA4Amw5.js";const o=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],c=e("plus",o);export{c as P};
1
+ import{c as e}from"./createLucideIcon-DlxlBfLC.js";const o=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],c=e("plus",o);export{c as P};
@@ -0,0 +1 @@
1
+ import{r as u,j as s}from"./index-sUomXsrf.js";import{A as Z}from"./AgentAvatar-CufDA4A-.js";import{a as B}from"./api-h5zurxmi.js";import{d as _,c as rs}from"./context-budget-DX_fwUs3.js";import{e as q}from"./agent-chat-Bfjd9y6c.js";import{b as Q,r as ss,s as es,a as ts}from"./session-catalog-XhGxCtP-.js";import{u as X}from"./sse-CVoGDiKW.js";import{t as K}from"./time-Dhsh_2EG.js";import{B as ls}from"./BackToPicker-CkUmHuuo.js";import{o as F}from"./openContent-C6XO6kr5.js";import{u as G}from"./Provider-tFc3jqZ4.js";import{ConversationScreen as cs}from"./ConversationScreen-Dz2d_Z_F.js";import{S as ds}from"./SessionObserve-Dlx5vDaV.js";import{H as ns}from"./HarnessMark-Dm_qm1Ku.js";/* empty css */import{AgentDefinitionsWorkspace as ms}from"./AgentDefinitionsWorkspace-FpEkb-tu.js";import{AgentEssentialsGlyph as ps}from"./agent-essentials-DyJiUGpZ.js";import{b as us,p as z,n as as}from"./model-Co0zkMIc.js";import"./SpriteAvatar-CQs-jC-v.js";import"./agent-identity-xQHedtLl.js";import"./colors-BtO5_zlx.js";import"./terminal-relay-B5Sma7fK.js";import"./router-Dja9_ygK.js";import"./terminal-sessions-D5CIR2OL.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"./conversation-model-C4yb6_FA.js";import"./NewChatOrigin--pHWUb4V.js";import"./chevron-down-BFai6ZfE.js";import"./search-DCT_EvPr.js";import"./chunk-HRAB3GC3-CvwpNg-G.js";import"./ConversationComposer-BBNPa5S9.js";import"./message-markup-C8Nx04sP.js";import"./mentions-CY_wPZc5.js";import"./AgentDetailCard-DxxVkgT1.js";import"./AgentLiveActions-CZdAInEu.js";import"./terminal-takeover-X97KCSJk.js";import"./eye-So8tNNK6.js";import"./terminal-DXQISjZn.js";import"./message-visibility-kJM8XcSG.js";import"./sessionRead-CvFz2RHv.js";import"./clipboard-e3fSpeo7.js";import"./types-B0PlfpKc.js";/* empty css */import"./ConversationHeader-DXMT-YXv.js";import"./ConversationFeedRows-BuejHMCY.js";import"./ConversationPanels-DHCtilQF.js";import"./use-reduced-motion-Cvk-HRKg.js";import"./activity-WhBf3FXP.js";import"./message-circle-C5UZ6fO7.js";import"./tail-display-BdyoLvzY.js";import"./lane-edit-display-C_Aujldz.js";import"./tail-events-CTipUIli.js";import"./ConversationStatus-DSgdVofa.js";import"./conversation-icons-DohQL6GI.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-BzehBmdi.js";import"./lane-observe-DrhKkQ3A.js";import"./lane-ask-display-B6iCAVcd.js";import"./ObservedTopologyPanel-Dv6fbHzW.js";import"./ObserveTextFlow-CBitljxi.js";import"./SessionObserveEvidence-ChBD1d4c.js";import"./wrench-pEVd8JnN.js";import"./external-link-CnjcXf32.js";import"./text-DsBWV_4k.js";import"./project-overview-helpers-BQTc_Ous.js";import"./FileViewerPane-C9Ly01Ef.js";/* empty css */function hs(e){if(e===null)return"age unknown";const t=Math.max(0,Math.round(e/6e4));if(t<60)return`${t}m old`;const o=Math.floor(t/60),c=t%60;return c>0?`${o}h ${c}m old`:`${o}h old`}function Y(e){return`${e.turnCount} turn${e.turnCount===1?"":"s"}`}function xs(e){return e?e.startsWith("/Users/")?"~/"+e.split("/").slice(3).join("/"):e:null}function is(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu.test(e)?e:e.length>16?`${e.slice(0,8)}…${e.slice(-4)}`:e}function vs(e){return e.replace(/^relay-/u,"").replace(/-arts-mac-mini-local-(claude|codex)$/u,"")}function fs(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${Math.round(e/1e3)}k`:`${e}`}function U(e){return typeof e!="number"||!Number.isFinite(e)?"-":Math.abs(e)<1e3?`${Math.round(e)}`:Math.abs(e)<1e6?`${(e/1e3).toFixed(e%1e3===0?0:1)}k`:`${(e/1e6).toFixed(1)}m`}function js(e){if(!Number.isFinite(e)||e<=0)return"0s";if(e<60)return`${Math.round(e)}s`;const t=Math.round(e),o=Math.floor(t/3600),c=Math.floor(t%3600/60),i=t%60;return o>0?`${o}h ${c}m`:c>=10||i===0?`${c}m`:`${c}m ${i}s`}function Ns(e,t=32){if(e.length===0)return[];const o=e[e.length-1].t||1,c=new Array(t).fill(0);for(const i of e){const m=Math.min(t-1,Math.max(0,Math.floor(i.t/o*t)));c[m]+=1}return c}function bs(e){return e.kind!=="boot"&&e.kind!=="system"}function ws({buckets:e,emptyTitle:t,emptyDetail:o}){if(e.length===0)return s.jsxs("div",{className:"s-sum-observed-empty",children:[s.jsx("span",{children:t}),s.jsx("strong",{children:o})]});const c=Math.max(...e,1),i=240,m=20,r=1,p=(i-r*(e.length-1))/e.length;return s.jsxs("div",{className:"s-sum-spark",children:[s.jsx("svg",{viewBox:`0 0 ${i} ${m}`,preserveAspectRatio:"none",className:"s-sum-spark-svg","aria-hidden":!0,children:e.map((l,h)=>{const x=Math.max(1,l/c*m);return s.jsx("rect",{x:h*(p+r),y:m-x,width:p,height:x,fill:"var(--accent)",opacity:.22+.62*(l/c)},h)})}),s.jsxs("div",{className:"s-sum-spark-axis",children:[s.jsx("span",{children:"session start"}),s.jsx("span",{children:"now"})]})]})}function ys({agentId:e,session:t,active:o,onPrimary:c,primaryLabel:i,primaryTitle:m}){const[r,p]=u.useState(null),[l,h]=u.useState(null),x=u.useCallback(async()=>{const g=new URLSearchParams({sessionId:t.id}),[P,J]=await Promise.all([B(`/api/agents/${encodeURIComponent(e)}/observe?${g}`).catch(()=>null),B(`/api/agents/${encodeURIComponent(e)}/session/context`).catch(()=>null)]);p(P),h(J)},[e,t.id]);u.useEffect(()=>{x()},[x]),X(()=>{x()});const N=r?.data,v=(N?.events??[]).filter(bs),w=v.filter(g=>g.kind==="tool"),S=w.filter(g=>g.tool==="edit"||g.tool==="write"),y=w.filter(g=>g.tool==="read"),f=N?.files.length??0,b=N?.metadata?.session?.turnCount,$=l?.activeSessionId===t.id?l.turnCount:void 0,C=v.length>0||f>0,d=r?r.source==="unavailable"?"unavailable":C?"observed":"waiting":"loading",R=d==="loading"?"Loading trace":d==="unavailable"?"No trace source":"Session created",L=d==="loading"?"checking for terminal or transcript activity":d==="unavailable"?"this session has no observable transcript attached":"no agent work has been recorded yet",H=[{k:"turns",v:U(b??$)},{k:"tools",v:U(w.length)},{k:"edits",v:U(S.length)},{k:"reads",v:U(y.length)},{k:"files",v:U(f)},{k:"window",v:js(v.length>0?v[v.length-1].t:0)}],D=N?.metadata?.usage,a=_(D,{model:N?.metadata?.session?.model??t.model,adapterType:t.harness}),E=a?`${a.usedLabel} / ${a.budgetLabel} ctx`:l?Y(l):"context",T=a?`${a.pct}%${a.overLimit?" over":""}`:"tokens unavailable",O=l&&l.sessionAgeMs!==null?hs(l.sessionAgeMs):null,A=a&&l?`${Y(l)}${O?` · ${O}`:""}`:O,n=r?.sessionId?.trim()||r?.data.metadata?.session?.externalSessionId?.trim()||r?.data.metadata?.session?.threadId?.trim()||null,j=t.harnessSessionId?.trim()||t.threadId?.trim()||t.externalSessionId?.trim()||(o?n:null)||null,k=t.runtimeSessionId?.trim()||t.surfaceSessionId?.trim()||(j&&j!==t.id?t.id:null),M=j??t.id,W=j&&t.harness==="codex"?"codex session id":j&&t.harness?`${t.harness} session id`:t.id.startsWith("relay-")?"runtime id":"session id",V=t.cwd?z(t.cwd):"workspace";return s.jsxs("div",{className:"s-sum",children:[s.jsxs("div",{className:"s-sum-session-state",children:[s.jsx("span",{className:`s-sum-session-dot${o?" s-sum-session-dot--active":""}`}),s.jsxs("span",{className:"s-sum-session-copy",children:[s.jsx("strong",{children:o?"Session attached":"Previous session"}),s.jsxs("span",{className:"s-sum-session-ref",title:M,children:[s.jsx("span",{children:W}),s.jsx("code",{children:M})]}),k&&k!==M&&s.jsxs("span",{className:"s-sum-session-profile",title:k,children:["runtime ",k]}),s.jsx("small",{title:t.cwd||void 0,children:V})]}),d!=="observed"?s.jsx("span",{className:`s-sum-trace-pill s-sum-trace-pill--${d}`,children:d==="waiting"?"waiting for work":d==="loading"?"checking trace":"no trace"}):null]}),s.jsxs("div",{className:"s-sum-cols",children:[s.jsxs("div",{className:"s-sum-col s-sum-col--activity",children:[s.jsx("div",{className:"s-sum-label",children:"Observed work"}),s.jsx(ws,{buckets:Ns(v),emptyTitle:R,emptyDetail:L})]}),s.jsxs("div",{className:"s-sum-col s-sum-col--context",children:[s.jsx("div",{className:"s-sum-label",children:"Context"}),s.jsxs("div",{className:"s-sum-ctx-head",children:[s.jsx("span",{className:"s-sum-ctx-size",children:E}),s.jsx("span",{className:"s-sum-ctx-pct",children:T})]}),a?s.jsx("div",{className:"s-sum-gauge","aria-label":`Context ${a.pct}%`,children:s.jsx("div",{className:"s-sum-gauge-fill",style:{width:`${rs(a)}%`}})}):s.jsx("div",{className:"s-sum-ctx-unavailable",children:"No token-window usage yet"}),A&&s.jsx("div",{className:"s-sum-ctx-runway",children:A})]})]}),s.jsxs("div",{className:"s-sum-foot",children:[C?s.jsx("div",{className:"s-sum-stats",children:H.map((g,P)=>s.jsxs("span",{className:"s-sum-stat",children:[P>0&&s.jsx("span",{className:"s-sum-stat-sep",children:"·"}),s.jsx("span",{className:"s-sum-stat-v",children:g.v}),s.jsx("span",{className:"s-sum-stat-k",children:g.k})]},g.k))}):s.jsx("div",{className:"s-sum-status-note",children:o?"The session exists, but no turn/tool/file activity has reached Scout yet.":"This prior session has no observable work trace."}),s.jsx("button",{type:"button",className:"s-sess-explore-primary",onClick:c,title:m,children:i})]})]})}function lt({agent:e,name:t,sessionCatalog:o,conversationId:c,navigate:i,route:m,homeView:r="agents-v2"}){const{focusedSession:p,focusSession:l}=G(),h=ss(e,o),x=u.useMemo(()=>es(o?.sessions??[],h),[o?.sessions,h]),N=x.find(n=>n.id===h)??null,I=N?.model??null,v=N?.reasoningEffort??e.reasoningEffort??null,S=[!!(I&&I!==e.model)&&I?`Session model: ${I}`:null,v?`Effort: ${v}`:null].filter(Boolean).join(" · ")||null,[y,f]=u.useState("idle"),[b,$]=u.useState(null),[C,d]=u.useState("idle"),[R,L]=u.useState(null);u.useEffect(()=>{f("idle"),$(null),d("idle"),L(null)},[e.id]);const H=m.view==="agents-v2"&&m.agentId===e.id?m.sessionId:null,D=ts(e.id,p,h,x,H),a=Q(H,x);u.useEffect(()=>{a&&(p?.agentId===e.id&&p.sessionId===a||l(e.id,a))},[e.id,p?.agentId,p?.sessionId,l,a]);const E=async()=>{if(C!=="opening"){d("opening"),L(null);try{const n=await q({...e,conversationId:c});i({view:r,agentId:e.id,conversationId:n,tab:"message"})}catch(n){L(n instanceof Error?n.message:"Could not open chat.")}finally{d("idle")}}},T=async()=>{if(y!=="starting"){f("starting"),$(null);try{const n=await B("/api/sessions",{method:"POST",body:JSON.stringify(as(e))}),j=n.sessionId?.trim();if(j){F(i,{view:"sessions",sessionId:j},{returnTo:m});return}const k=n.conversationId?.trim();if(!k)throw new Error("Session started, but no conversation was returned.");i({view:r,agentId:n.agentId?.trim()||e.id,conversationId:k,tab:"message"})}catch(n){$(n instanceof Error?n.message:"Could not start a new session.")}finally{f("idle")}}},O=n=>F(i,{view:"sessions",sessionId:n.id},{returnTo:m}),A=n=>{l(e.id,n)};return s.jsxs("div",{className:"s-sess-root",children:[s.jsxs("header",{className:"s-sess-head",children:[s.jsxs("div",{className:"s-sess-id",children:[s.jsx("span",{className:"s-sess-avatar",children:s.jsx(Z,{agent:e,size:46,tile:!0,presence:!1})}),s.jsxs("div",{className:"s-sess-id-copy",children:[s.jsxs("div",{className:"s-sess-name-row",children:[s.jsx("span",{className:"s-sess-name",children:t}),e.handle&&s.jsxs("span",{className:"s-sess-handle",children:["@",e.handle.replace(/^@+/,"")]})]}),s.jsx(ps,{agent:e,chipTitle:S})]})]}),s.jsxs("div",{className:"s-sess-head-actions",children:[s.jsx("button",{type:"button",className:"s-sess-action",onClick:()=>i({view:r,agentId:e.id,tab:"config"}),children:"Edit config"}),s.jsx("button",{type:"button",className:"s-sess-action s-sess-action--accent",disabled:y==="starting",onClick:T,children:y==="starting"?"Starting...":"+ New session"}),b&&s.jsx("div",{className:"s-sess-action-error",children:b}),R&&s.jsx("div",{className:"s-sess-action-error",children:R})]})]}),s.jsxs("section",{className:"s-sess-band",children:[s.jsxs("header",{className:"s-sess-band-head",children:[s.jsx("span",{className:"s-sess-band-label",children:"Recent sessions"}),x.length>0&&s.jsxs("span",{className:"s-sess-band-meta",children:[x.length," sessions"]})]}),s.jsx("div",{className:"s-sess-list",children:x.length===0?s.jsxs("div",{className:"s-sess-empty",children:["No sessions yet — start a new session for ",t,"."]}):x.map(n=>{const j=n.id===h,k=n.id===D,M=n.harness??e.harness??"session",W=n.model??e.model,V=W&&M&&W.startsWith(`${M}-`)?W.slice(M.length+1):W,g=[M,V,n.reasoningEffort].filter(os=>!!os).join(" · "),P=n.surfaceSessionId?`${n.transport??e.transport??"terminal"} surface ${vs(n.surfaceSessionId)}`:n.transport&&n.transport!==M?`${n.transport} surface`:null,J=j?"now":n.endedAt?`ended · ${K(n.endedAt)||"recent"}`:K(n.startedAt)||"recent";return s.jsxs("div",{className:`s-sess-item${k?" s-sess-item--selected":""}`,children:[s.jsxs("button",{type:"button",className:`s-sess-row${j?" s-sess-row--active":""}${k?" s-sess-row--selected":""}`,onClick:()=>A(n.id),"aria-expanded":k,children:[s.jsx("span",{className:"s-mod-dot s-sess-row-dot",style:{background:j?"var(--accent)":"var(--dim)",opacity:j?1:.55}}),s.jsxs("span",{className:"s-sess-row-main",children:[s.jsxs("span",{className:"s-sess-row-top",children:[s.jsx("span",{className:"s-sess-row-id",title:n.id,children:is(n.id)}),s.jsx("span",{className:"s-sess-row-tag",children:g})]}),s.jsxs("span",{className:"s-sess-row-sub",title:P??void 0,children:[n.cwd?z(n.cwd):"workspace",P?` · ${P}`:""]})]}),s.jsx("span",{className:`s-sess-row-when${j?" s-sess-row-when--active":""}`,children:J})]}),k&&s.jsx(ys,{agentId:e.id,session:n,active:j,onPrimary:()=>j?void E():O(n),primaryLabel:j?"Continue":"Resume",primaryTitle:j?"Send a message into this conversation":"Reopen this conversation and message it"})]},n.id)})})]})]})}function Ss(e){let t;if(e.kind==="tool"){const o=e.arg?.trim()||e.text?.trim()||"";t=`${e.tool??"tool"}${o?` ${o}`:""}`.trim()}else t=e.text?.trim()||e.kind;return t.length>160?`${t.slice(0,157)}…`:t}function ks({agent:e,session:t,active:o,onContinue:c,onTakeover:i,onOpen:m}){const[r,p]=u.useState(null),l=u.useCallback(async()=>{const d=await B(`/api/agents/${encodeURIComponent(e.id)}/observe`).catch(()=>null);p(d)},[e.id]);u.useEffect(()=>{p(null),l()},[l]),X(()=>{l()});const h=r?.data.events??[],x=e.branch||(t.cwd?z(t.cwd):"main"),N=e.model&&e.harness&&e.model.startsWith(`${e.harness}-`)?e.model.slice(e.harness.length+1):e.model??null,I=t.harness??e.harness??"session",v=(()=>{for(const d of h)if((d.kind==="message"||d.kind==="ask")&&d.text?.trim())return d.text.trim();return null})()??(t.cwd?z(t.cwd):null)??e.name,w=r?.data.metadata?.usage??null,S=w?.assistantMessages??null,y=_(w,{model:r?.data.metadata?.session?.model??N,adapterType:I}),f=y?Math.min(100,y.pct):null,b=o?"live":"idle",$=h.length,C=h.slice(-6).map(d=>({t:d.at??d.t?K(d.at??d.t):"",text:Ss(d),kind:d.kind}));return s.jsxs("section",{className:"ap-focus ap-profileCard","data-tone":b,"aria-label":v,children:[s.jsxs("header",{className:"ap-focusHead",children:[s.jsx("h1",{className:"ap-focusTitle",children:v}),s.jsx("span",{className:"ap-focusState","data-tone":b,children:o?s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"ap-dot","data-tone":"live","aria-hidden":!0})," working"]}):"idle"}),s.jsx("button",{type:"button",className:"ap-focusOpen",onClick:m,children:"Open ↗"})]}),s.jsxs("div",{className:"ap-focusAttr",children:[s.jsxs("span",{className:"ap-focusAttrText",children:[x,N?` · ${N}`:""]}),s.jsx("span",{className:"ap-rowMark","aria-hidden":!0,children:s.jsx(ns,{harness:I,size:11})})]}),s.jsxs("div",{className:"ap-decision",children:[s.jsx("button",{type:"button",className:"ap-decisionPrimary",onClick:c,children:o?"Continue":"Resume"}),s.jsx("button",{type:"button",className:"ap-decisionGhost",onClick:i,children:"Take over"}),s.jsxs("span",{className:"ap-decisionMeta",children:[f!=null?s.jsxs("span",{children:[s.jsx("span",{className:"ap-metaKey",children:"ctx"}),f,"%"]}):null,w&&(w.inputTokens||w.outputTokens)?s.jsxs("span",{children:[s.jsx("span",{className:"ap-metaKey",children:"tokens"}),fs(w.inputTokens??0)," in"]}):null,S!=null?s.jsxs("span",{children:[s.jsx("span",{className:"ap-metaKey",children:"turns"}),S]}):null]})]}),s.jsxs("div",{className:"ap-logHead",children:[s.jsx("span",{className:"ap-logHeadTitle",children:"Session log"}),s.jsx("span",{className:"ap-logHeadMeta",children:r===null?"loading…":`${r.source} · ${$} events`})]}),s.jsx("div",{className:"ap-log",children:r===null?s.jsx("div",{className:"ap-traceLoading",children:"Resolving the most recent session…"}):C.length===0?s.jsx("div",{className:"ap-traceLoading",children:"No activity captured for this session yet."}):C.map((d,R)=>s.jsxs("div",{className:"ap-logLine","data-kind":d.kind,children:[s.jsx("span",{className:"ap-logT",children:d.t}),s.jsx("span",{className:"ap-logText",children:d.text})]},R))})]})}function gs({agent:e,name:t,sessionCatalog:o,conversationId:c,navigate:i,route:m}){const{focusedSession:r,focusSession:p}=G(),l=ss(e,o),h=u.useMemo(()=>es(o?.sessions??[],l),[o?.sessions,l]),x=h.find(a=>a.id===l)??h[0]??null,N=m.view==="agents-v2"&&m.agentId===e.id?m.sessionId:null,I=ts(e.id,r,l,h,N),v=Q(N,h);u.useEffect(()=>{v&&(r?.agentId===e.id&&r.sessionId===v||p(e.id,v))},[e.id,r?.agentId,r?.sessionId,p,v]);const w=e.model&&e.harness&&e.model.startsWith(`${e.harness}-`)?e.model.slice(e.harness.length+1):e.model??null,S=e.cwd?xs(e.cwd)??e.cwd:null,y=e.homeNodeName?e.homeNodeName.replace(/\.local$/i,""):null,f=e.handle?.trim().replace(/^@+/,"")||null,b=f?`@${f}`:t,$=f&&t.toLowerCase()!==f.toLowerCase()?t:[e.project?`/${e.project}`:null,e.branch,w].filter(Boolean).join(" · "),C=a=>m.view==="agents-v2"?{...m,...a,view:"agents-v2"}:{view:"agents-v2",agentId:e.id,...a},d=async()=>{try{const a=await q({...e,conversationId:c});i(C({agentId:e.id,conversationId:a,tab:"message"}))}catch{}},R=async()=>{try{const a=await B("/api/sessions",{method:"POST",body:JSON.stringify(as(e))}),E=a.sessionId?.trim();if(E){F(i,{view:"sessions",sessionId:E},{returnTo:m});return}const T=a.conversationId?.trim();i(C({agentId:a.agentId?.trim()||e.id,...T?{conversationId:T}:{},tab:"message"}))}catch{}},L=a=>F(i,{view:"sessions",sessionId:a.id},{returnTo:m}),H=()=>F(i,{view:"terminal",agentId:e.id,mode:"takeover"},{returnTo:m}),D=a=>{p(e.id,a)};return s.jsxs("div",{className:"ap-profile",children:[s.jsxs("header",{className:"ap-profileHead",children:[s.jsx(Z,{agent:e,size:48,tile:!0,presence:!1}),s.jsxs("div",{className:"ap-profileIdent",children:[s.jsxs("div",{className:"ap-profileTop",children:[s.jsx("h1",{className:"ap-profileName",title:b,children:b}),e.harness?s.jsx("span",{className:"ap-rowMark","aria-hidden":!0,children:s.jsx(ns,{harness:e.harness,size:13})}):null]}),s.jsx("span",{className:"ap-profileSub",title:$,children:$||S||"—"}),f&&t.toLowerCase()!==f.toLowerCase()?s.jsx("span",{className:"ap-profileId",title:e.id,children:t}):null]}),s.jsxs("div",{className:"ap-headActions",children:[s.jsx("button",{type:"button",className:"ap-headGhost",onClick:()=>i(C({agentId:e.id,tab:"config"})),children:"Edit config"}),s.jsx("button",{type:"button",className:"ap-headCta",onClick:()=>{R()},children:"+ New session"})]})]}),s.jsxs("div",{className:"ap-profileBody",children:[s.jsxs("div",{className:"ap-profileMain",children:[s.jsx("div",{className:"ap-profileSection",children:"Current session"}),x?s.jsx(ks,{agent:e,session:x,active:x.id===l,onContinue:()=>{d()},onTakeover:H,onOpen:()=>{d()}}):s.jsxs("div",{className:"ap-traceLoading",children:["No active session for ",t,"."]}),s.jsxs("div",{className:"ap-profileSection",children:["Sessions ",s.jsx("span",{className:"ap-profileCount",children:h.length})]}),h.length===0?s.jsxs("div",{className:"ap-empty",children:["No sessions yet — start a new session for ",t,"."]}):s.jsxs("div",{className:"ap-sessTable",children:[s.jsxs("div",{className:"ap-sessTableHead","aria-hidden":!0,children:[s.jsx("span",{}),s.jsx("span",{children:"Session"}),s.jsx("span",{children:"Engine"}),s.jsx("span",{children:"Last"})]}),h.map(a=>{const E=a.id===l,T=E?"now":a.endedAt?`ended · ${K(a.endedAt)||"recent"}`:K(a.startedAt)||"recent",O=a.cwd?z(a.cwd):is(a.id),A=a.harness??e.harness??"session",n=a.model??e.model,j=n&&n.startsWith(`${A}-`)?n.slice(A.length+1):n,k=[A,j,a.reasoningEffort].filter(Boolean).join(" · ");return s.jsxs("button",{type:"button",className:"ap-sessRow","data-tone":E?"live":"idle","data-selected":a.id===I||void 0,onClick:()=>E?D(a.id):L(a),children:[E?s.jsx("span",{className:"ap-dot","data-tone":"live","aria-hidden":!0}):s.jsx("span",{className:"ap-sessRowDot","aria-hidden":!0}),s.jsx("span",{className:"ap-sessRowName",title:a.id,children:O}),s.jsx("span",{className:"ap-sessRowEngine",children:k}),s.jsx("span",{className:"ap-sessRowWhen",children:T})]},a.id)})]})]}),s.jsxs("aside",{className:"ap-profileAside",children:[s.jsxs("div",{className:"ap-group",children:[s.jsx("div",{className:"ap-groupHead",children:"Place"}),S?s.jsxs("div",{className:"ap-kv",children:[s.jsx("span",{className:"ap-kvKey",children:"root"}),s.jsx("span",{className:"ap-kvVal",children:S})]}):null,y?s.jsxs("div",{className:"ap-kv",children:[s.jsx("span",{className:"ap-kvKey",children:"host"}),s.jsx("span",{className:"ap-kvVal",children:y})]}):null,e.branch?s.jsxs("div",{className:"ap-kv",children:[s.jsx("span",{className:"ap-kvKey",children:"branch"}),s.jsx("span",{className:"ap-kvVal",children:e.branch})]}):null]}),s.jsxs("div",{className:"ap-group",children:[s.jsx("div",{className:"ap-groupHead",children:"Runtime"}),e.harness?s.jsxs("div",{className:"ap-kv",children:[s.jsx("span",{className:"ap-kvKey",children:"harness"}),s.jsx("span",{className:"ap-kvVal",children:e.harness})]}):null,w?s.jsxs("div",{className:"ap-kv",children:[s.jsx("span",{className:"ap-kvKey",children:"model"}),s.jsx("span",{className:"ap-kvVal",children:w})]}):null]})]})]})]})}function ct({agent:e,allAgents:t,conversationId:o,navigate:c,activeTab:i,renderProfile:m}){const{name:r}=us(e,t),[p,l]=u.useState(null),[h,x]=u.useState(!1),[N,I]=u.useState(null),{route:v}=G(),w=v.view==="agents-v2"&&v.agentId===e.id?v.sessionId??null:null,S=Q(w,N?.sessions??[])??w,y=u.useCallback(async()=>{const b=await B(`/api/agents/${encodeURIComponent(e.id)}/session-catalog`).catch(()=>null);I(b)},[e.id]),f=u.useCallback(async()=>{x(!0);try{const b=S?new URLSearchParams({sessionId:S}):null,$=await B(`/api/agents/${encodeURIComponent(e.id)}/observe${b?`?${b}`:""}`);l($)}catch{l({agentId:e.id,source:"unavailable",fidelity:"synthetic",historyPath:null,sessionId:null,updatedAt:Date.now(),data:{events:[{id:`${e.id}:observe-error`,t:0,kind:"system",text:"Observer data is temporarily unavailable.",detail:"Retrying will resume once the session source becomes reachable."}],files:[],contextUsage:[],live:!1}})}finally{x(!1)}},[e.id,S]);return u.useEffect(()=>{I(null),y();const b=window.setTimeout(()=>{y()},3e3);return()=>window.clearTimeout(b)},[y]),u.useEffect(()=>{l(null),x(!1)},[e.id,S]),u.useEffect(()=>{i==="observe"&&f()},[i,f]),X(()=>{y(),i==="observe"&&f()}),u.useEffect(()=>{if(i!=="observe"||!p?.data.live)return;const b=setInterval(()=>{f()},2500);return()=>clearInterval(b)},[i,p?.data.live,f]),s.jsxs("div",{className:`s-profile-center${i!=="profile"?" s-profile-center--tabbed":" s-profile-center--modular"}`,children:[i==="profile"&&(m?m({agent:e,sessionCatalog:N,conversationId:o,navigate:c,route:v}):s.jsx("div",{className:"s-aproj s-aproj--profile",children:s.jsx(gs,{agent:e,name:r,sessionCatalog:N,conversationId:o,navigate:c,route:v})})),i==="config"&&s.jsx(ms,{agent:e,navigate:c,homeView:"agents-v2"}),i==="observe"&&s.jsx("div",{className:"s-profile-tab-conversation",children:h&&!p?s.jsxs("div",{className:"s-profile-activity-empty",children:[s.jsx("div",{className:"s-profile-activity-empty-title",children:"Loading trace"}),s.jsx("div",{className:"s-profile-activity-empty-detail",children:"Resolving the best available live or history-backed session stream for this agent."})]}):s.jsx(ds,{data:p?.data,agentId:e.id,sessionId:p?.sessionId,observeSource:p?.source,observeFidelity:p?.fidelity,showRail:!1})}),i==="message"&&(o?s.jsx("div",{className:"s-profile-tab-conversation",children:s.jsx(cs,{conversationId:o,navigate:c,embedded:!0})}):s.jsx(Is,{agent:e,navigate:c}))]})}function Is({agent:e,navigate:t}){const{route:o}=G(),[c,i]=u.useState("idle"),[m,r]=u.useState(null),p=async()=>{if(c!=="opening"){i("opening"),r(null);try{const l=await q(e);t(o.view==="agents-v2"?{...o,view:"agents-v2",agentId:e.id,conversationId:l,tab:"message"}:{view:"agents-v2",agentId:e.id,conversationId:l,tab:"message"})}catch(l){r(l instanceof Error?l.message:"Could not open chat.")}finally{i("idle")}}};return s.jsx("div",{className:"s-profile-tab-conversation",children:s.jsxs("div",{className:"s-profile-activity-empty",children:[s.jsx("div",{className:"s-profile-activity-empty-title",children:"No chat yet"}),s.jsxs("div",{className:"s-profile-activity-empty-detail",children:["Open a direct chat with ",e.name,". The broker will create a real chat ID and keep routing by this agent identity."]}),m&&s.jsx("div",{className:"s-sess-action-error",children:m}),s.jsx("button",{type:"button",className:"s-sess-action",disabled:c==="opening",onClick:()=>{p()},children:c==="opening"?"Opening...":"Open chat"})]})})}function dt({agent:e,conversationId:t,activeTab:o,navigate:c}){const i=[{key:"profile",label:"Sessions"},{key:"config",label:"Config"},{key:"observe",label:"Trace"},{key:"message",label:"Message"}],m=r=>c({view:"agents-v2",agentId:e.id,...t?{conversationId:t}:{},tab:r});return s.jsxs("div",{className:"s-agent-bar",children:[s.jsx(ls,{slot:"agents",fallback:{view:"agents-v2"},navigate:c,className:"s-agent-bar-back"}),s.jsx("nav",{className:"s-profile-tabs s-agent-bar-tabs",children:i.map(r=>s.jsx("button",{type:"button",className:`s-profile-tab${o===r.key?" s-profile-tab--active":""}`,disabled:r.disabled,onClick:()=>m(r.key),children:r.label},r.key))})]})}export{ct as AgentDetailWithRail,dt as AgentProfileBar,lt as AgentProfileSessionsCenter,ks as CurrentSessionCard};
@@ -1 +1 @@
1
- import{r as E}from"./index-DMiGbrBt.js";import{a as C}from"./api-h5zurxmi.js";import{b as ot}from"./router-Bq5dwf78.js";import{u as it}from"./sse-CjIkKo46.js";import{i as P,o as rt}from"./surface-activity-B1rgWB1i.js";import{e as ct,u as lt}from"./Provider-C7UKGHQy.js";import{v as H}from"./conversation-model-B47vYmWN.js";import{d as at,c as ut,e as dt,f as ft,i as q}from"./model-Co0zkMIc.js";import{i as gt}from"./agents-project-model-UYiamtrU.js";import{o as z,b as vt,a as wt,h as x,c as Y}from"./model-CpAxGuis.js";const O=1440*6e4;function It(t){const e=new Map;for(const n of t?.activeAsks??[]){const s=e.get(n.agentId)??[];s.push(n),e.set(n.agentId,s)}return e}function At(t){const e=new Map,n=(s,o)=>{if(!s)return;const r=e.get(s)??[];r.push(o),e.set(s,r)};for(const s of t?.needsAttention??[])n(s.agentId,{title:s.title,summary:s.summary,conversationId:s.conversationId,updatedAt:s.updatedAt});for(const s of t?.activeAsks??[])s.status==="needs_attention"&&n(s.agentId,{title:s.task,summary:s.summary,conversationId:s.conversationId,updatedAt:s.updatedAt});for(const s of e.values())s.sort((o,r)=>r.updatedAt-o.updatedAt);return e}function Q(t){return t?t.charAt(0).toUpperCase()+t.slice(1):"Harness"}function X(t){return t.length===1?t[0]??null:t.length>1?`${t.length} branches`:null}function mt(t,e,n,s){const o=t.group,r=o.nodes.flatMap(I=>n.get(I.row.agent.id)??[]).sort((I,h)=>h.updatedAt-I.updatedAt)[0]??null,c=!!r,a=!c&&o.nodes.some(I=>q(I.row)),d=gt(o,s),v=c?"needs":a?"working":"recent",w=c?"needs":a||d?"live":"idle",f=t.leadAgent,m=r?.conversationId??e.get(f.id)??f.conversationId??null;return{id:`${t.projectSlug}:agent:${f.id}`,kind:"agent",projectSlug:t.projectSlug,projectTitle:t.projectTitle,projectRoot:t.projectRoot,workspaceRoot:f.cwd??f.projectRoot??t.projectRoot,agentId:f.id,agentName:o.name,harness:x(o.harness),branch:X(o.branches),work:r?.summary?.trim()||r?.title.trim()||wt(t,w),group:v,needs:c,working:a,lastActivityAt:o.lastActivityAt,sessionCount:o.sessionCount,contextPct:null,conversationId:m,sessionId:null}}function pt(t){return t&&t.view==="sessions"&&t.sessionId?t.sessionId:null}function ht(t,e,n){const s=x(e.harness);return{id:`${t.slice.slug}:native:${e.key}`,kind:"native",projectSlug:t.slice.slug,projectTitle:t.slice.title,projectRoot:t.slice.root,workspaceRoot:t.slice.root,agentId:null,agentName:`${Q(s)} session`,harness:s,branch:null,work:Y(e.detail??e.label)||e.label,group:"working",needs:!1,working:!0,lastActivityAt:e.lastActivityAt??n,sessionCount:1,contextPct:null,conversationId:null,sessionId:pt(e.route)}}function yt(t,e){return t.status==="active"||t.status==="workflow"?"working":(t.lastActivityAt&&e-t.lastActivityAt<O,"recent")}function Z(t){return t?t.view==="sessions"?t.sessionId??null:t.view==="conversation"?t.conversationId:null:null}function F(t){return!!Z(t.route)}function G(t,e,n,s,o){const r=x(e.harness),c=Z(e.route),a=e.status==="active"||e.status==="workflow";return{id:`${t.slice.slug}:session:${e.key}`,kind:"session",projectSlug:t.slice.slug,projectTitle:t.slice.title,projectRoot:t.slice.root,workspaceRoot:s?.cwd??s?.projectRoot??t.slice.root,agentId:s?.id??null,agentName:s?.name??`${Q(r)} session`,harness:r,branch:X(o?[o]:[]),work:Y(e.detail??e.label)||e.label,group:yt(e,n),needs:!1,working:a,lastActivityAt:e.lastActivityAt??n,sessionCount:1,contextPct:null,conversationId:e.route?.view==="conversation"?e.route.conversationId:null,sessionId:e.route?.view==="sessions"?e.route.sessionId??c:c,route:e.route}}function kt(t,e){const n=[];for(const s of t.agents)for(const o of s.sessions)F(o)&&n.push(G(t,o,e,s.row.agent,s.row.branch));for(const s of t.unassigned)F(s)&&n.push(G(t,s,e));return n.sort((s,o)=>o.lastActivityAt-s.lastActivityAt||s.agentName.localeCompare(o.agentName))}function St(t){const e=new Map,n=(s,o,r,c)=>{const a=e.get(s);if(!a){e.set(s,{root:s,branch:o,working:r,lastActivityAt:c});return}(r||!a.branch)&&o&&(a.branch=o),a.working||=r,a.lastActivityAt=Math.max(a.lastActivityAt,c)};for(const s of t.agents){const o=s.row.agent.cwd??s.row.agent.projectRoot??t.slice.root;if(!o)continue;const r=s.row.branch&&s.row.branch!=="—"?s.row.branch:null;n(o,r,q(s.row),s.row.lastActivityAt??0)}for(const s of t.slice.nativeSessions)s.cwd&&n(s.cwd,null,s.status==="active",s.lastActivityAt??0);return e.size===0&&t.slice.root&&n(t.slice.root,null,!1,t.lastActivityAt??0),[...e.values()].sort((s,o)=>Number(o.working)-Number(s.working)||o.lastActivityAt-s.lastActivityAt||s.root.localeCompare(o.root))}function K(t,e){return t.needs?3:t.working?2:e-t.lastActivityAt<O?1:0}function Rt(t){const{nowMs:e,showEphemeral:n}=t,s=ct(t.agents,t.machineId),o=It(t.fleet),r=At(t.fleet),{conversationByAgentId:c,sessionByAgentId:a}=at(t.sessions),d=s.map(i=>ut(i,a.get(i.id)??null,o.get(i.id)??[])),v=dt(t.discovery,e),w=ft(d,t.sessions,v),f=vt(w,n),m=f.map(i=>mt(i,c,r,e));for(const i of w)for(const l of i.unassigned)l.kind!=="native"||l.status!=="active"||!l.route||m.push(ht(i,l,e));m.sort((i,l)=>K(l,e)-K(i,e)||l.lastActivityAt-i.lastActivityAt);const I=w.flatMap(i=>kt(i,e)),h=new Map;for(const i of m){const l=h.get(i.projectSlug)??[];l.push(i),h.set(i.projectSlug,l)}const M=new Map;for(const i of I){const l=M.get(i.projectSlug)??[];l.push(i),M.set(i.projectSlug,l)}const j=new Map;for(const i of f)j.set(i.projectSlug,(j.get(i.projectSlug)??0)+1);const D=w.map(i=>{const l=h.get(i.slice.slug)??[],L=M.get(i.slice.slug)??[],nt=[...new Set(i.agents.map(g=>g.row.branch).filter(g=>!!g&&g!=="—"&&g!=="main"))],$=St(i);return{slug:i.slice.slug,title:i.slice.title,root:i.slice.root,agentCount:j.get(i.slice.slug)??0,sessionCount:L.length,liveSessionCount:L.filter(g=>g.working).length,worktreeCount:$.length,worktrees:$,needs:l.filter(g=>g.needs).length,working:l.filter(g=>g.working).length,threadCount:l.length,lastActivityAt:i.lastActivityAt,branches:nt}});return D.sort((i,l)=>V(l)-V(i)||l.lastActivityAt-i.lastActivityAt||i.title.localeCompare(l.title)),{projects:D,threads:m,sessions:I}}function V(t){return t.needs>0?2:t.working>0?1:0}function qt(t,e){return t.needs===0&&t.working===0&&(t.threadCount===0||e-t.lastActivityAt>O)}function zt(t,e){return t.filter(n=>n.projectSlug===e)}function Yt(t,e){return t.filter(n=>n.projectSlug===e)}const bt=["needs","working","recent"],Mt={needs:"Your turn",working:"In flight",recent:"Recent"};function Qt(t){const e=new Map;for(const n of t){const s=e.get(n.group)??[];s.push(n),e.set(n.group,s)}return bt.filter(n=>e.has(n)).map(n=>({group:n,label:Mt[n],items:e.get(n)}))}function A(t){return{view:"agents-v2",...t.projectSlug?{projectSlug:t.projectSlug}:{},...t.machineId?{machineId:t.machineId}:{}}}function Xt(t,e){return t.agentId&&e.selectedAgentId?e.selectedAgentId===t.agentId:t.kind==="native"&&t.sessionId&&e.sessionId?e.sessionId===t.sessionId:!1}function Zt(t,e){return t.kind==="native"?{...A(e),sessionId:t.sessionId??void 0}:{...A(e),selectedAgentId:t.agentId??void 0}}function te(t,e){return t.kind==="native"&&t.sessionId?{view:"sessions",sessionId:t.sessionId}:t.conversationId?{view:"conversation",conversationId:t.conversationId}:t.agentId?z(e,t.agentId):A(e)}function ee(t,e){return t.kind==="native"&&t.sessionId?{view:"sessions",sessionId:t.sessionId}:t.agentId?{...z(e,t.agentId),tab:"observe"}:null}function se(t,e){const n=_(t);return n?{...A(e),indexView:"sessions",...n?{sessionId:n}:{},selectedAgentId:void 0}:A(e)}function ne(t,e){const n=_(t);return n&&e.sessionId?e.sessionId===n:!1}function _(t){return t.sessionId?t.sessionId:t.conversationId?t.conversationId:null}function oe(t,e){const n=_(t);return n?{...A(e),projectSlug:t.projectSlug,indexView:"sessions",sessionId:n,selectedAgentId:void 0}:{...A(e),projectSlug:t.projectSlug,indexView:"sessions",selectedAgentId:void 0,sessionId:void 0}}const jt=15e3,tt=3e4,Ct=250;let u={sessions:[],fleet:null,discovery:null,loadedAt:null,loading:!0,error:null,nowMs:Date.now()};const N=new Set;let k=0,W=0,p=null,R=null,b=null,T=null,J=0;function et(){for(const t of[...N])t()}function Bt(t,e){return t&&JSON.stringify(t.activeAsks)===JSON.stringify(e.activeAsks)?t:e}function Et(t,e){const n=s=>JSON.stringify([s?.transcripts??[],s?.processes??[]]);return t&&n(t)===n(e)?t:e}function st(t){u={...u,...t},et()}async function y(t){const e=++W;J+=1,typeof window<"u"&&(window.__projectsInboxLoads=J),u.loadedAt===null&&t!=="background"&&st({loading:!0,error:null});const[n,s,o]=await Promise.allSettled([C("/api/conversations"),C("/api/fleet"),C("/api/tail/discover")]);if(e!==W)return;const r=n.status==="fulfilled"?H(u.sessions,n.value):u.sessions,c=s.status==="fulfilled"?Bt(u.fleet,s.value):u.fleet,a=o.status==="fulfilled"?Et(u.discovery,o.value):u.discovery,d=[n,s,o].find(f=>f.status==="rejected"),v=d?d.reason instanceof Error?d.reason.message:String(d.reason):null,w=r!==u.sessions||c!==u.fleet||a!==u.discovery||v!==u.error||u.loading;u={...u,sessions:r,fleet:c,discovery:a,error:v,loading:!1,loadedAt:Date.now()},w&&et()}function Pt(){P()&&(p||(p=setTimeout(()=>{p=null,y("background")},Ct)))}function Nt(){y("initial"),R=setInterval(()=>{P()&&y("background")},jt),b=setInterval(()=>{P()&&st({nowMs:Date.now()})},tt),T=rt(()=>{y("background")})}function Tt(){p&&(clearTimeout(p),p=null),R&&(clearInterval(R),R=null),b&&(clearInterval(b),b=null),T?.(),T=null}function ie(){y("background")}function xt(){const[t,e]=E.useState(u);return E.useEffect(()=>{const n=()=>e(u);return N.add(n),k+=1,k===1&&Nt(),n(),()=>{N.delete(n),k-=1,k===0&&Tt()}},[]),it(Pt),t}let U=null,S=null;function Ot(t,e){return!!t&&t.length===e.length&&t.every((n,s)=>n===e[s])}function B(t,e,n){if(!t?.length)return e;const s=new Map(t.map(c=>[n(c),c]));let o=t.length===e.length;const r=e.map((c,a)=>{const d=s.get(n(c)),v=d?H(d,c):c;return v!==t[a]&&(o=!1),v});return o?t:r}function _t(t,e){if(!t)return e;const n=B(t.projects,e.projects,r=>r.slug),s=B(t.threads,e.threads,r=>r.id),o=B(t.sessions,e.sessions,r=>r.id);return n===t.projects&&s===t.threads&&o===t.sessions?t:{projects:n,threads:s,sessions:o}}function Dt(t){const e=[t.agents,t.sessions,t.fleet,t.discovery,t.machineId,Math.floor(t.nowMs/tt),t.showEphemeral];if(Ot(U,e)&&S)return S;const n=Rt(t),s=_t(S,n);return U=e,S=s,s}function re(t){const e=xt(),{agents:n}=lt(),s=ot(t),o=!!t.showEphemeral;return{model:E.useMemo(()=>Dt({agents:n,machineId:s,sessions:e.sessions,fleet:e.fleet,discovery:e.discovery,nowMs:e.nowMs,showEphemeral:o}),[n,s,e.sessions,e.fleet,e.discovery,e.nowMs,o]),nowMs:e.nowMs,loading:e.loading,loadedAt:e.loadedAt,error:e.error}}export{te as a,ne as b,_ as c,Yt as d,zt as e,se as f,Qt as g,Zt as h,qt as i,Xt as j,ie as r,oe as s,ee as t,re as u};
1
+ import{r as E}from"./index-sUomXsrf.js";import{a as C}from"./api-h5zurxmi.js";import{b as ot}from"./router-Dja9_ygK.js";import{u as it}from"./sse-CVoGDiKW.js";import{i as P,o as rt}from"./surface-activity-B1rgWB1i.js";import{e as ct,u as lt}from"./Provider-tFc3jqZ4.js";import{x as H}from"./conversation-model-C4yb6_FA.js";import{d as at,c as ut,e as dt,f as ft,i as q}from"./model-Co0zkMIc.js";import{i as gt}from"./agents-project-model-UYiamtrU.js";import{o as z,b as vt,a as wt,h as x,c as Y}from"./model-IGCUEsMy.js";const O=1440*6e4;function It(t){const e=new Map;for(const n of t?.activeAsks??[]){const s=e.get(n.agentId)??[];s.push(n),e.set(n.agentId,s)}return e}function At(t){const e=new Map,n=(s,o)=>{if(!s)return;const r=e.get(s)??[];r.push(o),e.set(s,r)};for(const s of t?.needsAttention??[])n(s.agentId,{title:s.title,summary:s.summary,conversationId:s.conversationId,updatedAt:s.updatedAt});for(const s of t?.activeAsks??[])s.status==="needs_attention"&&n(s.agentId,{title:s.task,summary:s.summary,conversationId:s.conversationId,updatedAt:s.updatedAt});for(const s of e.values())s.sort((o,r)=>r.updatedAt-o.updatedAt);return e}function Q(t){return t?t.charAt(0).toUpperCase()+t.slice(1):"Harness"}function X(t){return t.length===1?t[0]??null:t.length>1?`${t.length} branches`:null}function mt(t,e,n,s){const o=t.group,r=o.nodes.flatMap(I=>n.get(I.row.agent.id)??[]).sort((I,h)=>h.updatedAt-I.updatedAt)[0]??null,c=!!r,a=!c&&o.nodes.some(I=>q(I.row)),d=gt(o,s),v=c?"needs":a?"working":"recent",w=c?"needs":a||d?"live":"idle",f=t.leadAgent,m=r?.conversationId??e.get(f.id)??f.conversationId??null;return{id:`${t.projectSlug}:agent:${f.id}`,kind:"agent",projectSlug:t.projectSlug,projectTitle:t.projectTitle,projectRoot:t.projectRoot,workspaceRoot:f.cwd??f.projectRoot??t.projectRoot,agentId:f.id,agentName:o.name,harness:x(o.harness),branch:X(o.branches),work:r?.summary?.trim()||r?.title.trim()||wt(t,w),group:v,needs:c,working:a,lastActivityAt:o.lastActivityAt,sessionCount:o.sessionCount,contextPct:null,conversationId:m,sessionId:null}}function pt(t){return t&&t.view==="sessions"&&t.sessionId?t.sessionId:null}function ht(t,e,n){const s=x(e.harness);return{id:`${t.slice.slug}:native:${e.key}`,kind:"native",projectSlug:t.slice.slug,projectTitle:t.slice.title,projectRoot:t.slice.root,workspaceRoot:t.slice.root,agentId:null,agentName:`${Q(s)} session`,harness:s,branch:null,work:Y(e.detail??e.label)||e.label,group:"working",needs:!1,working:!0,lastActivityAt:e.lastActivityAt??n,sessionCount:1,contextPct:null,conversationId:null,sessionId:pt(e.route)}}function yt(t,e){return t.status==="active"||t.status==="workflow"?"working":(t.lastActivityAt&&e-t.lastActivityAt<O,"recent")}function Z(t){return t?t.view==="sessions"?t.sessionId??null:t.view==="conversation"?t.conversationId:null:null}function F(t){return!!Z(t.route)}function G(t,e,n,s,o){const r=x(e.harness),c=Z(e.route),a=e.status==="active"||e.status==="workflow";return{id:`${t.slice.slug}:session:${e.key}`,kind:"session",projectSlug:t.slice.slug,projectTitle:t.slice.title,projectRoot:t.slice.root,workspaceRoot:s?.cwd??s?.projectRoot??t.slice.root,agentId:s?.id??null,agentName:s?.name??`${Q(r)} session`,harness:r,branch:X(o?[o]:[]),work:Y(e.detail??e.label)||e.label,group:yt(e,n),needs:!1,working:a,lastActivityAt:e.lastActivityAt??n,sessionCount:1,contextPct:null,conversationId:e.route?.view==="conversation"?e.route.conversationId:null,sessionId:e.route?.view==="sessions"?e.route.sessionId??c:c,route:e.route}}function kt(t,e){const n=[];for(const s of t.agents)for(const o of s.sessions)F(o)&&n.push(G(t,o,e,s.row.agent,s.row.branch));for(const s of t.unassigned)F(s)&&n.push(G(t,s,e));return n.sort((s,o)=>o.lastActivityAt-s.lastActivityAt||s.agentName.localeCompare(o.agentName))}function St(t){const e=new Map,n=(s,o,r,c)=>{const a=e.get(s);if(!a){e.set(s,{root:s,branch:o,working:r,lastActivityAt:c});return}(r||!a.branch)&&o&&(a.branch=o),a.working||=r,a.lastActivityAt=Math.max(a.lastActivityAt,c)};for(const s of t.agents){const o=s.row.agent.cwd??s.row.agent.projectRoot??t.slice.root;if(!o)continue;const r=s.row.branch&&s.row.branch!=="—"?s.row.branch:null;n(o,r,q(s.row),s.row.lastActivityAt??0)}for(const s of t.slice.nativeSessions)s.cwd&&n(s.cwd,null,s.status==="active",s.lastActivityAt??0);return e.size===0&&t.slice.root&&n(t.slice.root,null,!1,t.lastActivityAt??0),[...e.values()].sort((s,o)=>Number(o.working)-Number(s.working)||o.lastActivityAt-s.lastActivityAt||s.root.localeCompare(o.root))}function K(t,e){return t.needs?3:t.working?2:e-t.lastActivityAt<O?1:0}function Rt(t){const{nowMs:e,showEphemeral:n}=t,s=ct(t.agents,t.machineId),o=It(t.fleet),r=At(t.fleet),{conversationByAgentId:c,sessionByAgentId:a}=at(t.sessions),d=s.map(i=>ut(i,a.get(i.id)??null,o.get(i.id)??[])),v=dt(t.discovery,e),w=ft(d,t.sessions,v),f=vt(w,n),m=f.map(i=>mt(i,c,r,e));for(const i of w)for(const l of i.unassigned)l.kind!=="native"||l.status!=="active"||!l.route||m.push(ht(i,l,e));m.sort((i,l)=>K(l,e)-K(i,e)||l.lastActivityAt-i.lastActivityAt);const I=w.flatMap(i=>kt(i,e)),h=new Map;for(const i of m){const l=h.get(i.projectSlug)??[];l.push(i),h.set(i.projectSlug,l)}const M=new Map;for(const i of I){const l=M.get(i.projectSlug)??[];l.push(i),M.set(i.projectSlug,l)}const j=new Map;for(const i of f)j.set(i.projectSlug,(j.get(i.projectSlug)??0)+1);const D=w.map(i=>{const l=h.get(i.slice.slug)??[],L=M.get(i.slice.slug)??[],nt=[...new Set(i.agents.map(g=>g.row.branch).filter(g=>!!g&&g!=="—"&&g!=="main"))],$=St(i);return{slug:i.slice.slug,title:i.slice.title,root:i.slice.root,agentCount:j.get(i.slice.slug)??0,sessionCount:L.length,liveSessionCount:L.filter(g=>g.working).length,worktreeCount:$.length,worktrees:$,needs:l.filter(g=>g.needs).length,working:l.filter(g=>g.working).length,threadCount:l.length,lastActivityAt:i.lastActivityAt,branches:nt}});return D.sort((i,l)=>V(l)-V(i)||l.lastActivityAt-i.lastActivityAt||i.title.localeCompare(l.title)),{projects:D,threads:m,sessions:I}}function V(t){return t.needs>0?2:t.working>0?1:0}function qt(t,e){return t.needs===0&&t.working===0&&(t.threadCount===0||e-t.lastActivityAt>O)}function zt(t,e){return t.filter(n=>n.projectSlug===e)}function Yt(t,e){return t.filter(n=>n.projectSlug===e)}const bt=["needs","working","recent"],Mt={needs:"Your turn",working:"In flight",recent:"Recent"};function Qt(t){const e=new Map;for(const n of t){const s=e.get(n.group)??[];s.push(n),e.set(n.group,s)}return bt.filter(n=>e.has(n)).map(n=>({group:n,label:Mt[n],items:e.get(n)}))}function A(t){return{view:"agents-v2",...t.projectSlug?{projectSlug:t.projectSlug}:{},...t.machineId?{machineId:t.machineId}:{}}}function Xt(t,e){return t.agentId&&e.selectedAgentId?e.selectedAgentId===t.agentId:t.kind==="native"&&t.sessionId&&e.sessionId?e.sessionId===t.sessionId:!1}function Zt(t,e){return t.kind==="native"?{...A(e),sessionId:t.sessionId??void 0}:{...A(e),selectedAgentId:t.agentId??void 0}}function te(t,e){return t.kind==="native"&&t.sessionId?{view:"sessions",sessionId:t.sessionId}:t.conversationId?{view:"conversation",conversationId:t.conversationId}:t.agentId?z(e,t.agentId):A(e)}function ee(t,e){return t.kind==="native"&&t.sessionId?{view:"sessions",sessionId:t.sessionId}:t.agentId?{...z(e,t.agentId),tab:"observe"}:null}function se(t,e){const n=_(t);return n?{...A(e),indexView:"sessions",...n?{sessionId:n}:{},selectedAgentId:void 0}:A(e)}function ne(t,e){const n=_(t);return n&&e.sessionId?e.sessionId===n:!1}function _(t){return t.sessionId?t.sessionId:t.conversationId?t.conversationId:null}function oe(t,e){const n=_(t);return n?{...A(e),projectSlug:t.projectSlug,indexView:"sessions",sessionId:n,selectedAgentId:void 0}:{...A(e),projectSlug:t.projectSlug,indexView:"sessions",selectedAgentId:void 0,sessionId:void 0}}const jt=15e3,tt=3e4,Ct=250;let u={sessions:[],fleet:null,discovery:null,loadedAt:null,loading:!0,error:null,nowMs:Date.now()};const N=new Set;let k=0,W=0,p=null,R=null,b=null,T=null,J=0;function et(){for(const t of[...N])t()}function Bt(t,e){return t&&JSON.stringify(t.activeAsks)===JSON.stringify(e.activeAsks)?t:e}function Et(t,e){const n=s=>JSON.stringify([s?.transcripts??[],s?.processes??[]]);return t&&n(t)===n(e)?t:e}function st(t){u={...u,...t},et()}async function y(t){const e=++W;J+=1,typeof window<"u"&&(window.__projectsInboxLoads=J),u.loadedAt===null&&t!=="background"&&st({loading:!0,error:null});const[n,s,o]=await Promise.allSettled([C("/api/conversations"),C("/api/fleet"),C("/api/tail/discover")]);if(e!==W)return;const r=n.status==="fulfilled"?H(u.sessions,n.value):u.sessions,c=s.status==="fulfilled"?Bt(u.fleet,s.value):u.fleet,a=o.status==="fulfilled"?Et(u.discovery,o.value):u.discovery,d=[n,s,o].find(f=>f.status==="rejected"),v=d?d.reason instanceof Error?d.reason.message:String(d.reason):null,w=r!==u.sessions||c!==u.fleet||a!==u.discovery||v!==u.error||u.loading;u={...u,sessions:r,fleet:c,discovery:a,error:v,loading:!1,loadedAt:Date.now()},w&&et()}function Pt(){P()&&(p||(p=setTimeout(()=>{p=null,y("background")},Ct)))}function Nt(){y("initial"),R=setInterval(()=>{P()&&y("background")},jt),b=setInterval(()=>{P()&&st({nowMs:Date.now()})},tt),T=rt(()=>{y("background")})}function Tt(){p&&(clearTimeout(p),p=null),R&&(clearInterval(R),R=null),b&&(clearInterval(b),b=null),T?.(),T=null}function ie(){y("background")}function xt(){const[t,e]=E.useState(u);return E.useEffect(()=>{const n=()=>e(u);return N.add(n),k+=1,k===1&&Nt(),n(),()=>{N.delete(n),k-=1,k===0&&Tt()}},[]),it(Pt),t}let U=null,S=null;function Ot(t,e){return!!t&&t.length===e.length&&t.every((n,s)=>n===e[s])}function B(t,e,n){if(!t?.length)return e;const s=new Map(t.map(c=>[n(c),c]));let o=t.length===e.length;const r=e.map((c,a)=>{const d=s.get(n(c)),v=d?H(d,c):c;return v!==t[a]&&(o=!1),v});return o?t:r}function _t(t,e){if(!t)return e;const n=B(t.projects,e.projects,r=>r.slug),s=B(t.threads,e.threads,r=>r.id),o=B(t.sessions,e.sessions,r=>r.id);return n===t.projects&&s===t.threads&&o===t.sessions?t:{projects:n,threads:s,sessions:o}}function Dt(t){const e=[t.agents,t.sessions,t.fleet,t.discovery,t.machineId,Math.floor(t.nowMs/tt),t.showEphemeral];if(Ot(U,e)&&S)return S;const n=Rt(t),s=_t(S,n);return U=e,S=s,s}function re(t){const e=xt(),{agents:n}=lt(),s=ot(t),o=!!t.showEphemeral;return{model:E.useMemo(()=>Dt({agents:n,machineId:s,sessions:e.sessions,fleet:e.fleet,discovery:e.discovery,nowMs:e.nowMs,showEphemeral:o}),[n,s,e.sessions,e.fleet,e.discovery,e.nowMs,o]),nowMs:e.nowMs,loading:e.loading,loadedAt:e.loadedAt,error:e.error}}export{te as a,ne as b,_ as c,Yt as d,zt as e,se as f,Qt as g,Zt as h,qt as i,Xt as j,ie as r,oe as s,ee as t,re as u};
@@ -1 +1 @@
1
- import{c as a}from"./createLucideIcon-OpA4Amw5.js";const c=[["path",{d:"M16.247 7.761a6 6 0 0 1 0 8.478",key:"1fwjs5"}],["path",{d:"M19.075 4.933a10 10 0 0 1 0 14.134",key:"ehdyv1"}],["path",{d:"M4.925 19.067a10 10 0 0 1 0-14.134",key:"1q22gi"}],["path",{d:"M7.753 16.239a6 6 0 0 1 0-8.478",key:"r2q7qm"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],o=a("radio",c);export{o as R};
1
+ import{c as a}from"./createLucideIcon-DlxlBfLC.js";const c=[["path",{d:"M16.247 7.761a6 6 0 0 1 0 8.478",key:"1fwjs5"}],["path",{d:"M19.075 4.933a10 10 0 0 1 0 14.134",key:"ehdyv1"}],["path",{d:"M4.925 19.067a10 10 0 0 1 0-14.134",key:"1q22gi"}],["path",{d:"M7.753 16.239a6 6 0 0 1 0-8.478",key:"r2q7qm"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],o=a("radio",c);export{o as R};
@@ -1 +1 @@
1
- import{c as e}from"./createLucideIcon-OpA4Amw5.js";const c=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],a=e("refresh-cw",c);export{a as R};
1
+ import{c as e}from"./createLucideIcon-DlxlBfLC.js";const c=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],a=e("refresh-cw",c);export{a as R};
@@ -0,0 +1 @@
1
+ .rd-viewer,.s-code-diff{--rd-mono: var(--font-mono, ui-monospace, monospace);--rd-line: color-mix(in srgb, var(--ink) 9%, transparent);--rd-line-strong: color-mix(in srgb, var(--ink) 16%, transparent);--rd-rail-bg: color-mix(in srgb, var(--bg) 92%, var(--surface));--rd-header-bg: color-mix(in srgb, var(--bg) 88%, var(--surface));--rd-sel: color-mix(in srgb, var(--accent) 12%, transparent);--rd-add: var(--green);--rd-del: var(--red);--rd-mod: var(--amber);--rd-diff-line-mix-light: 94%;--rd-diff-line-mix-dark: 92%;--rd-diff-gutter-mix-light: 76%;--rd-diff-gutter-mix-dark: 72%;--rd-diff-spine-width: 6px;display:flex;flex:1;flex-direction:column;height:100%;min-height:0;background:var(--bg);color:var(--ink);font-family:var(--rd-mono);font-size:var(--text-sm)}.rd-header{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-md) var(--space-2xl);border-bottom:1px solid var(--rd-line);background:var(--rd-header-bg)}.rd-header-id{min-width:0}.rd-header-title{display:flex;align-items:center;gap:var(--space-sm);min-width:0}.rd-header-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-lg);font-weight:600;color:var(--ink)}.rd-header-dir{color:var(--muted);font-weight:400}.rd-scope-pill{flex:none;padding:1px var(--space-xs);border:1px solid var(--rd-line-strong);border-radius:var(--radius-sm);color:color-mix(in srgb,var(--muted) 88%,var(--ink));font-size:var(--text-2xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.rd-scope-pill.session{border-color:color-mix(in srgb,var(--accent) 34%,transparent);color:color-mix(in srgb,var(--accent) 76%,var(--ink));background:color-mix(in srgb,var(--accent) 8%,transparent)}.rd-header-sub{margin-top:2px;color:var(--muted);font-size:var(--text-2xs);font-variant-numeric:tabular-nums}.rd-freshness{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-2xs);color:color-mix(in srgb,var(--muted) 86%,transparent);font-size:var(--text-2xs);font-variant-numeric:tabular-nums}.rd-freshness span+span{color:color-mix(in srgb,var(--accent) 70%,var(--muted))}.rd-header-actions{display:flex;align-items:center;gap:var(--space-sm);margin-left:auto}.rd-layers{display:flex;gap:var(--space-xs)}.rd-layer-tab{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-md);border:1px solid var(--rd-line);border-radius:var(--radius-md);background:transparent;color:var(--muted);font-family:var(--rd-mono);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:color 80ms ease,background 80ms ease,border-color 80ms ease}.rd-layer-tab:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent)}.rd-layer-tab.on{color:var(--ink);background:var(--rd-sel);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.rd-layer-tab .rd-layer-stat{color:var(--muted);font-weight:400;font-variant-numeric:tabular-nums}.rd-layer-tab.on .rd-layer-stat{color:color-mix(in srgb,var(--ink) 70%,transparent)}.rd-segmented{display:inline-flex;overflow:hidden;border:1px solid var(--rd-line);border-radius:var(--radius-sm)}.rd-segmented button{padding:var(--space-2xs) var(--space-md);border:0;border-left:1px solid var(--rd-line);background:transparent;color:var(--muted);font-family:var(--rd-mono);font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-md);cursor:pointer}.rd-segmented button:first-child{border-left:0}.rd-segmented button.on{background:var(--rd-sel);color:var(--ink)}.rd-close{display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer}.rd-close:hover{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink)}.rd-close:disabled{cursor:progress;opacity:.65}.rd-close:disabled:hover{background:transparent;color:var(--muted)}.rd-close.spinning svg{animation:rd-spin .7s linear infinite;transform-origin:center}.rd-body{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);flex:1;min-height:0}.rd-rail{grid-row:1 / span 2;grid-column:1;position:relative;display:flex;flex-direction:column;flex:none;min-height:0;border-right:1px solid var(--rd-line);background:var(--rd-rail-bg)}.rd-rail-head{padding:var(--space-xs) var(--space-lg);border-bottom:1px solid var(--rd-line);color:var(--muted);font-size:var(--text-2xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-lg)}.rd-rail-list{flex:1;min-height:0;overflow-y:auto;padding:var(--space-2xs) 0}.rd-rail-resizer{position:absolute;top:0;right:-4px;bottom:0;z-index:2;width:8px;cursor:col-resize}.rd-rail-resizer:after{content:"";position:absolute;top:0;right:3px;bottom:0;width:1px;background:transparent}.rd-rail-resizer:hover:after,.rd-rail-resizer:active:after{background:color-mix(in srgb,var(--accent) 55%,transparent)}.rd-dir-row{display:flex;align-items:center;gap:var(--space-xs);width:100%;padding-top:var(--space-2xs);padding-right:var(--space-sm);padding-bottom:var(--space-2xs);border:0;background:color-mix(in srgb,var(--ink) 3%,transparent);color:color-mix(in srgb,var(--muted) 92%,var(--ink));font-family:var(--rd-mono);font-size:var(--text-2xs);text-align:left;cursor:pointer}.rd-dir-row:hover{background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink)}.rd-dir-caret{width:12px;flex:none;color:var(--muted)}.rd-dir-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rd-dir-count{flex:none;color:color-mix(in srgb,var(--muted) 70%,transparent);font-variant-numeric:tabular-nums}.rd-file-row{display:flex;align-items:center;width:100%;border-left:2px solid transparent;background:transparent;color:var(--ink);font-family:var(--rd-mono);text-align:left}.rd-file-row:hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}.rd-file-row.on{background:var(--rd-sel)}.rd-file-pick{display:flex;align-items:center;gap:var(--space-sm);min-width:0;flex:1;padding-top:var(--space-xs);padding-right:0;padding-bottom:var(--space-xs);padding-left:var(--space-lg);border:0;background:transparent;color:inherit;font-family:inherit;text-align:left;cursor:pointer}.rd-file-include{display:grid;place-items:center;width:24px;height:24px;margin:0 var(--space-sm);flex:none;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:color-mix(in srgb,var(--muted) 78%,transparent);cursor:pointer}.rd-file-include:hover,.rd-file-include:focus-visible{border-color:color-mix(in srgb,var(--accent) 34%,transparent);background:var(--rd-sel);color:var(--ink)}.rd-file-glyph{display:grid;place-items:center;width:15px;height:15px;flex:none;border-radius:var(--radius-xs);font-size:var(--text-2xs);font-weight:700;background:color-mix(in srgb,currentColor 16%,transparent)}.rd-file-glyph.added{color:var(--rd-add)}.rd-file-glyph.modified,.rd-file-glyph.renamed,.rd-file-glyph.copied,.rd-file-glyph.typechange{color:var(--rd-mod)}.rd-file-glyph.deleted,.rd-file-glyph.conflict{color:var(--rd-del)}.rd-file-glyph.unknown{color:var(--muted)}.rd-file-id{min-width:0;flex:1;line-height:1.25}.rd-file-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);color:var(--ink)}.rd-file-dir{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-2xs);color:var(--muted)}.rd-file-churn{flex:none;text-align:right;font-size:var(--text-2xs);font-variant-numeric:tabular-nums;line-height:1.25}.rd-file-churn .add{display:block;color:var(--rd-add)}.rd-file-churn .del{display:block;color:var(--rd-del)}.rd-file-tags{display:flex;gap:var(--space-3xs);margin-top:1px}.rd-file-tag{display:inline-block;padding:0 4px;border:1px solid var(--rd-line);border-radius:var(--radius-xs);font-size:var(--text-3xs);text-transform:uppercase;letter-spacing:var(--tracking-sm);color:var(--muted)}.rd-surface{grid-row:2;grid-column:2;display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;position:relative}.rd-surface-scroll{flex:1;min-height:0;overflow:auto}.rd-codeview{font-size:var(--text-xs);--diffs-addition-color-override: var(--rd-add);--diffs-deletion-color-override: var(--rd-del);height:100%;overflow:auto}.rd-codeview-host{height:100%;min-height:0}.rd-selection-context-chip{position:absolute;z-index:20;display:inline-flex;align-items:center;min-height:24px;max-width:124px;padding:0 var(--space-sm);border:1px solid color-mix(in srgb,var(--accent) 58%,var(--rd-line));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg) 82%,var(--accent) 18%);color:var(--ink);font-family:var(--rd-mono);font-size:var(--text-2xs);font-weight:700;white-space:nowrap;cursor:pointer;box-shadow:0 10px 26px #0000004d}.rd-selection-context-chip:hover,.rd-selection-context-chip:focus-visible{background:var(--accent);color:var(--bg);outline:none}.rd-banner{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-2xl);border-bottom:1px solid var(--rd-line);font-size:var(--text-xs);line-height:1.45}.rd-banner.warning{background:color-mix(in srgb,var(--amber) 12%,transparent);color:color-mix(in srgb,var(--amber) 80%,var(--ink))}.rd-banner.info{background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--muted)}.rd-banner-dot{margin-top:3px;width:6px;height:6px;flex:none;border-radius:var(--radius-pill);background:currentColor}.rd-comment{grid-row:1;grid-column:2;z-index:8;padding:var(--space-xs) var(--space-lg);border-bottom:1px solid var(--rd-line);background:color-mix(in srgb,var(--surface) 86%,var(--bg))}.rd-comment-context{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-xs);max-height:136px;margin-bottom:var(--space-xs);overflow:auto}.rd-context-item{min-width:0;border:1px solid var(--rd-line);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg) 90%,var(--ink) 10%);overflow:hidden}.rd-context-item.line{border-color:color-mix(in srgb,var(--accent) 24%,var(--rd-line))}.rd-context-item.selection{border-color:color-mix(in srgb,var(--green) 24%,var(--rd-line))}.rd-context-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:var(--space-xs);min-height:24px;padding:0 var(--space-xs);color:var(--muted);font-size:var(--text-2xs)}.rd-context-icon{display:grid;place-items:center;color:color-mix(in srgb,var(--accent) 74%,var(--muted))}.rd-context-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-weight:600}.rd-context-detail{color:color-mix(in srgb,var(--muted) 78%,transparent);font-variant-numeric:tabular-nums;white-space:nowrap}.rd-context-remove{display:grid;place-items:center;width:18px;height:18px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer}.rd-context-remove:hover:not(:disabled),.rd-context-remove:focus-visible{background:color-mix(in srgb,var(--red) 16%,transparent);color:var(--ink);outline:none}.rd-context-remove:disabled{cursor:not-allowed;opacity:.55}.rd-context-preview{max-height:84px;margin:0;padding:var(--space-2xs) var(--space-sm) var(--space-xs);overflow:auto;border-top:1px solid var(--rd-line);color:color-mix(in srgb,var(--ink) 88%,var(--muted));font-family:var(--rd-mono);font-size:var(--text-2xs);line-height:1.35;white-space:pre}.rd-comment-main{display:grid;grid-template-columns:minmax(132px,172px) minmax(0,1fr) 72px;gap:var(--space-xs);align-items:start}.rd-target-button,.rd-comment textarea,.rd-comment-send{border:1px solid var(--rd-line-strong);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg) 96%,var(--ink) 4%);color:var(--ink);font-family:var(--rd-mono);font-size:var(--text-xs);line-height:18px}.rd-target-button:focus-visible,.rd-comment textarea:focus-visible,.rd-comment-send:focus-visible{border-color:color-mix(in srgb,var(--accent) 55%,var(--rd-line-strong));outline:none;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent)}.rd-target-picker{position:relative;min-width:0}.rd-target-button{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);width:100%;height:34px;padding:0 var(--space-sm);cursor:pointer}.rd-target-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rd-target-button svg{flex:none;color:var(--muted)}.rd-target-button:disabled{cursor:not-allowed;opacity:.56}.rd-target-menu{position:absolute;bottom:calc(100% + 4px);left:0;z-index:40;width:min(260px,max(100%,172px));max-height:184px;overflow:auto;padding:var(--space-2xs);border:1px solid var(--rd-line-strong);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface) 92%,var(--bg));box-shadow:0 14px 34px #0000006b}.rd-target-option{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-xs);width:100%;min-height:26px;padding:0 var(--space-xs);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink);font-family:var(--rd-mono);font-size:var(--text-xs);text-align:left;cursor:pointer}.rd-target-option:hover,.rd-target-option:focus-visible,.rd-target-option[aria-selected=true]{background:var(--rd-sel);outline:none}.rd-target-option-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rd-target-option-suffix{color:color-mix(in srgb,var(--accent) 70%,var(--muted));font-size:var(--text-2xs);white-space:nowrap}.rd-target-option-check{display:grid;place-items:center;width:14px;color:var(--accent)}.rd-comment textarea{min-width:0;min-height:34px;max-height:96px;resize:vertical;overflow:auto;padding:7px var(--space-sm)}.rd-comment textarea::placeholder{color:color-mix(in srgb,var(--muted) 76%,transparent)}.rd-comment-send{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);width:72px;height:34px;padding:0 var(--space-sm);cursor:pointer}.rd-comment-send:hover:not(:disabled){background:var(--rd-sel);border-color:color-mix(in srgb,var(--accent) 38%,transparent)}.rd-comment-send:disabled{cursor:not-allowed;opacity:.56}.rd-comment-spin{animation:rd-spin .7s linear infinite}.rd-comment-meta{min-height:14px;margin-top:var(--space-2xs);color:var(--muted);font-size:var(--text-2xs);font-variant-numeric:tabular-nums}.rd-comment-meta .ok{color:var(--rd-add)}.rd-comment-meta .err{color:var(--rd-del)}@media(max-width:720px){.rd-comment-main{grid-template-columns:1fr}.rd-target-button,.rd-comment-send{width:100%}}.rd-center{display:flex;flex:1;align-items:center;justify-content:center;min-height:0;padding:var(--space-6xl);text-align:center}.rd-center-card{max-width:420px}.rd-center-title{font-size:var(--text-lg);color:var(--ink);font-weight:550;letter-spacing:-.01em}.rd-center-body{margin-top:var(--space-sm);color:color-mix(in srgb,var(--muted) 82%,var(--ink));font-size:var(--text-xs);line-height:1.5;word-break:break-word}[data-scout-theme=light] .rd-viewer,[data-scout-theme-mode=light] .rd-viewer,[data-scout-theme=light] .s-code-diff,[data-scout-theme-mode=light] .s-code-diff{--rd-rail-bg: color-mix(in srgb, var(--bg) 96%, var(--cat-gold, #a9824f));--rd-header-bg: color-mix(in srgb, var(--bg) 94%, var(--cat-gold, #a9824f));--rd-line: color-mix(in srgb, var(--ink) 7%, transparent);--rd-line-strong: color-mix(in srgb, var(--ink) 12%, transparent)}.rd-center-action{margin-top:var(--space-lg)}.rd-btn{padding:var(--space-2xs) var(--space-lg);border:1px solid var(--rd-line-strong);border-radius:var(--radius-md);background:transparent;color:var(--ink);font-family:var(--rd-mono);font-size:var(--text-xs);cursor:pointer}.rd-btn:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.rd-spinner{width:22px;height:22px;margin:0 auto var(--space-lg);border:2px solid var(--rd-line-strong);border-top-color:var(--accent);border-radius:var(--radius-pill);animation:rd-spin .7s linear infinite}@keyframes rd-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.rd-spinner{animation:none}}.rd-embed{height:100vh;height:100dvh;min-height:0;overflow:hidden;background:var(--bg);color:var(--ink)}
@@ -0,0 +1 @@
1
+ import{j as r}from"./index-sUomXsrf.js";import{ActivityContent as s}from"./content-BE3uK0LB.js";import"./index-BWHgHrtv.js";import"./router-Dja9_ygK.js";import"./index-m6dFtY5f.js";import"./Provider-tFc3jqZ4.js";import"./AgentDetailCard-DxxVkgT1.js";/* empty css */import{AgentsLeft as e}from"./left-BvCtvN0f.js";import{AgentsContent as n}from"./content-D0_EJ6nP.js";import{AgentsInspector as m}from"./right-DITNyG2s.js";/* empty css */import"./secondaryNavConfig-Drb7wPG4.js";/* empty css */import"./BackToPicker-CkUmHuuo.js";import"./runtime-picker-DOZpZOlt.js";import"./ConversationScreen-Dz2d_Z_F.js";/* empty css */import"./ObservedTopologyPanel-Dv6fbHzW.js";import"./SessionObserve-Dlx5vDaV.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./AgentLiveActions-CZdAInEu.js";import{P as c}from"./ProjectsRail-DEDS-M1c.js";import{ProjectsScreen as f}from"./ProjectsScreen-Cxk4CuYn.js";import{ProjectsThreadAside as a}from"./ProjectsThreadAside-BF66ugT5.js";import{BriefingsContent as x}from"./content-CVR75_Uj.js";/* empty css */import{BrokerContent as j}from"./content-cyxWdgKQ.js";import"./NewChatComposer-B5FnPyzS.js";import{ChatLeft as u}from"./left-BL2uBHe0.js";/* empty css */import{ChatContent as l}from"./content-DNmxpNhD.js";import{ConversationInspector as i}from"./right-CagzkLWg.js";import{CodeContent as h}from"./CodeScreen-BXqi72NK.js";import{FollowContent as C}from"./content-CLDWXf9Z.js";/* empty css */import{HarnessesContent as d}from"./content-CRr73E0r.js";/* empty css */import{HomeLeft as I}from"./left-DTrlBF0h.js";import{H as p}from"./content-BtIxSqVY.js";import{HomeRight as w}from"./right-eUQvSjd7.js";import{MeshLeft as P}from"./left-CfBb6bxM.js";import{MeshContent as L}from"./content-Czdp7_JQ.js";import{MeshInspectorPanel as R}from"./right-CsV149pN.js";import"./mesh-view-store-D14ihwkF.js";/* empty css */import{MeshOpsLeft as k}from"./left-B6eawimv.js";import{MeshOpsContent as A}from"./content-5irOghrY.js";import{MeshOpsInspector as M}from"./right-CFzPUzlF.js";import{OpsLeft as S}from"./left-BNJguPDG.js";import{OpsContent as b}from"./content-CFsPAihU.js";/* empty css */import"./RailRow-BTlVAnHS.js";import"./left-mission-DsTu2X5Y.js";import"./mission-control-store-xQHVQdm8.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./SlidePanel-FCqT1zO3.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./TailView-C_MXVSum.js";import{ReposContent as g}from"./content-2u_eV3fX.js";import{ReposInspector as H}from"./right-C1sIsSHR.js";/* empty css */import"./RepoDiffViewerLazy-C8UPk4oo.js";import"./cache-Dr0why2k.js";import{SearchContent as O}from"./content-B38YRDBu.js";import{K as T}from"./KnowledgeSearchInspector-DKashKoH.js";/* empty css */import{SessionsContent as y}from"./content-8Z_0CwtD.js";import{SessionsInspector as B}from"./right-E3nNcLE3.js";/* empty css */import{SettingsContent as K}from"./content-CKj5g5tu.js";import"./SettingsDrawer-C587L1i1.js";import{TerminalLeft as W}from"./left-d4hlBBxY.js";import{TerminalContent as E}from"./Terminal-DwZyo8kA.js";import{TerminalInspector as F}from"./right-CRKyeJDk.js";import{WorkContent as V}from"./content-XpbI9uxd.js";import{WorkInspector as q}from"./right-ozp4nM44.js";import{RealtimeVoicePage as z}from"./RealtimeVoiceScreen-B0Bem5Rc.js";import"./ActivityScreen-DnqqRSlS.js";import"./api-h5zurxmi.js";import"./clipboard-e3fSpeo7.js";import"./sse-CVoGDiKW.js";import"./colors-BtO5_zlx.js";import"./mentions-CY_wPZc5.js";import"./time-Dhsh_2EG.js";import"./ContextMenu-BlBQhpax.js";import"./EmptyState-CoL-QuUO.js";import"./terminal-sessions-D5CIR2OL.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./DocumentFocusViewer-DU_9BHsD.js";import"./createLucideIcon-DlxlBfLC.js";import"./TextDocumentSurface-C-9EtYqt.js";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"./chunk-HRAB3GC3-CvwpNg-G.js";import"./AgentAvatar-CufDA4A-.js";import"./SpriteAvatar-CQs-jC-v.js";import"./agent-identity-xQHedtLl.js";import"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./AgentInfoScreen-CAQAxpAK.js";import"./conversation-model-C4yb6_FA.js";import"./openContent-C6XO6kr5.js";import"./AgentsScreen-BMXvuiA2.js";import"./AgentsSubnav-BTNjPYoA.js";import"./SecondaryNav-Bks0CO2h.js";import"./library-CLpgWNJO.js";import"./HarnessMark-Dm_qm1Ku.js";import"./AgentSessions-Bkr0lyry.js";import"./agents-project-model-UYiamtrU.js";import"./profile-BqY5tesX.js";import"./context-budget-DX_fwUs3.js";import"./agent-chat-Bfjd9y6c.js";import"./session-catalog-XhGxCtP-.js";import"./terminal-relay-B5Sma7fK.js";import"./AgentDefinitionsWorkspace-FpEkb-tu.js";import"./project-overview-helpers-BQTc_Ous.js";import"./FileViewerPane-C9Ly01Ef.js";import"./chevron-down-BFai6ZfE.js";import"./agent-essentials-DyJiUGpZ.js";import"./openAgent-Bjt57GdM.js";import"./terminal-takeover-X97KCSJk.js";import"./TmuxPeek-Dz1gJ2pU.js";import"./refresh-cw-D8PFyhUa.js";import"./message-square-BD-4UUdc.js";import"./search-DCT_EvPr.js";import"./terminal-DXQISjZn.js";import"./scroll-text-BIYf6g6N.js";import"./voice-levels-Dcr3jglk.js";import"./loader-circle-lWOOKezu.js";import"./ConversationComposer-BBNPa5S9.js";import"./message-markup-C8Nx04sP.js";import"./message-visibility-kJM8XcSG.js";import"./sessionRead-CvFz2RHv.js";import"./types-B0PlfpKc.js";import"./ConversationHeader-DXMT-YXv.js";import"./eye-So8tNNK6.js";import"./ConversationFeedRows-BuejHMCY.js";import"./ConversationPanels-DHCtilQF.js";import"./use-reduced-motion-Cvk-HRKg.js";import"./activity-WhBf3FXP.js";import"./message-circle-C5UZ6fO7.js";import"./tail-display-BdyoLvzY.js";import"./lane-edit-display-C_Aujldz.js";import"./tail-events-CTipUIli.js";import"./ConversationStatus-DSgdVofa.js";import"./conversation-icons-DohQL6GI.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-BzehBmdi.js";import"./lane-observe-DrhKkQ3A.js";import"./lane-ask-display-B6iCAVcd.js";import"./ObserveTextFlow-CBitljxi.js";import"./SessionObserveEvidence-ChBD1d4c.js";import"./wrench-pEVd8JnN.js";import"./external-link-CnjcXf32.js";import"./AddProjectForm-BoVtelSP.js";import"./projects-inbox-DfVmGFFk.js";import"./model-IGCUEsMy.js";import"./ProjectsInbox-BWiXjGi7.js";import"./api-BkjHJfgJ.js";import"./ui-LM8pS8qE.js";import"./SessionRefScreen-D7TfPYPN.js";import"./arrow-up-right-CtTDrZJr.js";import"./ProjectAgentProfile-FiiIcB5R.js";import"./ProjectAgentProfileBar-B3IvVbqS.js";import"./BriefingDetailScreen-i54EtZKW.js";import"./BriefingsScreen-CBrHojlQ.js";import"./BrokerScreen-CObCQvoy.js";import"./status-tone-BM_zuRy1.js";import"./broker-display-pp33bLsu.js";import"./BrokerMetadataPanel-opTLuZU6.js";import"./DispatchAftermath-BrreQifA.js";import"./follow-route-BvcGtBIL.js";import"./ShikiPane-I_OTW5NO.js";import"./arrow-down-DsD-dYj-.js";import"./bot-B_Uzf4_O.js";import"./check-BbgHJX8u.js";import"./copy-CwCAivnc.js";import"./sparkles-up7pVlX-.js";import"./paperclip-DL9BXPp2.js";import"./plus-C9lTjsgd.js";import"./send-horizontal-DDwOgEs3.js";import"./radio-DedMyP8J.js";import"./NewChatOrigin--pHWUb4V.js";import"./conversation-prefs-DNre-Lcx.js";import"./use-conversation-list-B1T6J_qE.js";import"./use-fleet-active-asks-DLofGhhK.js";import"./MessagesScreen-BTQL0UcE.js";import"./CodeDiffPane-CLOGjwul.js";import"./usePierreRuntime-DIVunfX0.js";/* empty css */import"./CodeProjectPicker-DTV8hR6A.js";/* empty css */import"./FollowScreen--Q04xSSE.js";import"./HarnessesScreen-Y54viPX8.js";import"./useContentSecondaryNav-ZfBNi3d4.js";import"./OpsSubnav-CoN8utF8.js";import"./operator-attention-BwSPeheT.js";import"./HomeHero-Cfsow7qL.js";import"./observe-uJfIlIUV.js";import"./agent-lanes-model-Bl6xfviL.js";import"./home-moving-signal-BdkERL6B.js";import"./home-live-action-B22u89j7.js";import"./mesh-buckets-CfAukILK.js";import"./FleetSearch-DlWTLl-v.js";import"./MeshScreen-TgDtz-1l.js";import"./MeshCanvas-DIjlrMPU.js";import"./chunk-T65CQEWV-DI4NKdNq.js";import"./useAgentHoverCard-D5e8Qg1z.js";import"./local-agents-C7fDHLVC.js";import"./mesh-ops-Kn8pCtyJ.js";import"./use-mesh-ops-items-ByGZk8rU.js";import"./use-scout-dev-flags-BHvg3G2c.js";import"./left-agents-DsOHgDCY.js";import"./left-default-BRCwoCJr.js";import"./left-lanes-DNtoRzoV.js";import"./lane-roster-store-NE15Oe6M.js";import"./left-plan-CtySjsXC.js";import"./OpsScreen-Bbo0W64T.js";import"./page-status-BymFEFai.js";import"./AgentLanesView-CxfbV8Kd.js";import"./AgentFloorView-CycUn0Lv.js";import"./AgentLanesPreflight-KWfLcaNB.js";import"./AgentLaneChrome-BfVygkgL.js";import"./AgentLaneCard-DTUvE96I.js";import"./AgentLaneSummaryResize-CMgzYvAA.js";import"./agent-lane-card-model-BCIwPjEh.js";import"./agent-lane-preview-BtnfNyFR.js";import"./AgentLaneDetailSheet-CWs9wKWk.js";import"./agent-lane-detail-Cw4QVAgH.js";import"./LaneTraceDetailSheet-CBf_aNZx.js";import"./LaneTraceEventFocus-DYvHfs_3.js";import"./MissionControlView-D59SPnAm.js";import"./MissionFocusOverlay-C7cPt6eU.js";import"./mission-control-model-C0fByIjm.js";import"./MissionLogPane-Ye3YlF9s.js";import"./OpsAgentsView-CoBfAigH.js";import"./DataTable-0DwuXyvW.js";import"./sliders-horizontal-B9Nj-Y4J.js";import"./PlanView-DYtt8H37.js";import"./AtopView-_OKDlZ1h.js";import"./MissionLeftAgentRow-CxlH3dON.js";import"./RepoDiffPageScreen-BRvaVYoC.js";import"./ReposScreen-BBkJf8xT.js";import"./selection-bridge-CJOTyYQs.js";import"./KnowledgeSearchScreen-DsdDz8wY.js";import"./clock-DviOalxA.js";import"./SessionsScreen-BlknOWAd.js";import"./RawSessionsTable-BsGVgZB3.js";import"./FlightObserveScreen-C-9S0nA5.js";import"./SettingsScreen-BIlYxv_a.js";import"./StatusPill-CbABggnQ.js";import"./AgentConfigurationScreen-CJqoMA0J.js";import"./server-CHZCp3cF.js";import"./VoicePermissionsPanel-MfICy9kk.js";import"./session-table-sAVe44a4.js";/* empty css */import"./chunk-YOZR3KYS-BW85tiCr.js";import"./WorkDetailScreen-Cs7kdllj.js";import"./WorkFilesViewer-CF-nhtZ4.js";import"./ScoutbotRealtimeVoiceCall-Bzyl0BCS.js";function rp(t,o){switch(t.view){case"ops":return r.jsx(S,{});case"agents-v2":return r.jsx(c,{route:t,navigate:o});case"agent-info":return r.jsx(e,{});case"messages":case"conversation":return r.jsx(u,{});case"mesh":return r.jsx(P,{});case"mesh-ops":return r.jsx(k,{});case"terminal":return r.jsx(W,{});default:return r.jsx(I,{})}}function tp(t,o,D=[]){switch(t.view){case"conversation":case"messages":return r.jsx(l,{route:t,navigate:o});case"agents-v2":return r.jsx(f,{route:t,navigate:o});case"agent-info":return r.jsx(n,{route:t,navigate:o});case"settings":return r.jsx(K,{route:t,navigate:o});case"inbox":return r.jsx(p,{navigate:o});case"sessions":return r.jsx(y,{route:t,navigate:o});case"search":return r.jsx(O,{route:t,navigate:o});case"mesh":return r.jsx(L,{route:t,navigate:o});case"mesh-ops":return r.jsx(A,{route:t,navigate:o});case"broker":return r.jsx(j,{route:t,navigate:o});case"code":return r.jsx(h,{route:t,navigate:o});case"repos":case"repo-diff":return r.jsx(g,{route:t,navigate:o});case"harnesses":return r.jsx(d,{route:t,navigate:o});case"briefings":return r.jsx(x,{route:t,navigate:o});case"activity":return r.jsx(s,{route:t,navigate:o});case"voice":return r.jsx(z,{});case"ops":return r.jsx(b,{route:t,navigate:o});case"terminal":return r.jsx(E,{route:t,navigate:o});case"work":return r.jsx(V,{route:t,navigate:o});case"follow":return r.jsx(C,{route:t,navigate:o});default:return r.jsx(p,{navigate:o})}}function op(t,o){switch(t.view){case"inbox":return r.jsx(w,{});case"agents-v2":return t.agentId?r.jsx(m,{}):t.selectedAgentId||t.sessionId?r.jsx(a,{route:t,navigate:o}):null;case"agent-info":return r.jsx(m,{});case"sessions":return t.flightId?null:r.jsx(B,{});case"search":return r.jsx(T,{});case"conversation":return r.jsx(i,{});case"messages":return r.jsx(i,{});case"terminal":return r.jsx(F,{});case"work":return r.jsx(q,{});case"mesh":return r.jsx(R,{});case"mesh-ops":return r.jsx(M,{});case"repos":return r.jsx(H,{});default:return null}}export{tp as resolveContentPane,rp as resolveLeftPane,op as resolveRightPane};
@@ -0,0 +1 @@
1
+ import{j as o}from"./index-sUomXsrf.js";import{AgentsLeft as i}from"./left-BvCtvN0f.js";/* empty css */import"./index-BWHgHrtv.js";import"./Provider-tFc3jqZ4.js";import"./router-Dja9_ygK.js";import"./BackToPicker-CkUmHuuo.js";import"./AgentLiveActions-CZdAInEu.js";import"./ObservedTopologyPanel-Dv6fbHzW.js";/* empty css */import"./secondaryNavConfig-Drb7wPG4.js";/* empty css */import"./runtime-picker-DOZpZOlt.js";import"./index-m6dFtY5f.js";import"./AgentDetailCard-DxxVkgT1.js";import"./ConversationScreen-Dz2d_Z_F.js";/* empty css */import"./SessionObserve-Dlx5vDaV.js";/* empty css *//* empty css *//* empty css *//* empty css */import{P as m}from"./ProjectsRail-DEDS-M1c.js";import"./ProjectsInbox-BWiXjGi7.js";import"./projects-inbox-DfVmGFFk.js";import{ChatLeft as p}from"./left-BL2uBHe0.js";/* empty css */import{HomeLeft as e}from"./left-DTrlBF0h.js";import"./content-BtIxSqVY.js";import{MeshLeft as s}from"./left-CfBb6bxM.js";import"./mesh-view-store-D14ihwkF.js";/* empty css *//* empty css */import{MeshOpsLeft as n}from"./left-B6eawimv.js";import"./use-scout-dev-flags-BHvg3G2c.js";import"./mesh-ops-Kn8pCtyJ.js";import{OpsLeft as l}from"./left-BNJguPDG.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./SlidePanel-FCqT1zO3.js";/* empty css */import"./mission-control-store-xQHVQdm8.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./TailView-C_MXVSum.js";import"./RailRow-BTlVAnHS.js";import"./left-mission-DsTu2X5Y.js";import{TerminalLeft as a}from"./left-d4hlBBxY.js";/* empty css */import{M as f}from"./MeshCanvasMinimap-DEq-PkF0.js";import"./NewChatComposer-B5FnPyzS.js";import"./MessageComposerSuggestions-zAUUcLOv.js";import"./api-h5zurxmi.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"./model-Co0zkMIc.js";import"./text-DsBWV_4k.js";import"./x-0XjXwGqq.js";import"./createLucideIcon-DlxlBfLC.js";import"./chevron-down-BFai6ZfE.js";import"./search-DCT_EvPr.js";import"./loader-circle-lWOOKezu.js";import"./file-text-i3xTDUjJ.js";import"./AgentAvatar-CufDA4A-.js";import"./SpriteAvatar-CQs-jC-v.js";import"./agent-identity-xQHedtLl.js";import"./sse-CVoGDiKW.js";import"./surface-activity-B1rgWB1i.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-BlBQhpax.js";import"./DocumentFocusViewer-DU_9BHsD.js";import"./TextDocumentSurface-C-9EtYqt.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"./chunk-HRAB3GC3-CvwpNg-G.js";import"./terminal-sessions-D5CIR2OL.js";import"./terminal-takeover-X97KCSJk.js";import"./openContent-C6XO6kr5.js";import"./eye-So8tNNK6.js";import"./terminal-DXQISjZn.js";import"./message-square-BD-4UUdc.js";import"./scroll-text-BIYf6g6N.js";import"./voice-levels-Dcr3jglk.js";import"./ConversationComposer-BBNPa5S9.js";import"./message-markup-C8Nx04sP.js";import"./mentions-CY_wPZc5.js";import"./message-visibility-kJM8XcSG.js";import"./sessionRead-CvFz2RHv.js";import"./clipboard-e3fSpeo7.js";import"./types-B0PlfpKc.js";import"./ConversationHeader-DXMT-YXv.js";import"./ConversationFeedRows-BuejHMCY.js";import"./ConversationPanels-DHCtilQF.js";import"./use-reduced-motion-Cvk-HRKg.js";import"./activity-WhBf3FXP.js";import"./message-circle-C5UZ6fO7.js";import"./tail-display-BdyoLvzY.js";import"./lane-edit-display-C_Aujldz.js";import"./tail-events-CTipUIli.js";import"./ConversationStatus-DSgdVofa.js";import"./conversation-icons-DohQL6GI.js";import"./bash-format-BRV5C6Gv.js";import"./lane-tool-detail-0WhMf4Vj.js";import"./LaneToolHoverCard-BzehBmdi.js";import"./lane-observe-DrhKkQ3A.js";import"./lane-ask-display-B6iCAVcd.js";import"./ObserveTextFlow-CBitljxi.js";import"./SessionObserveEvidence-ChBD1d4c.js";import"./wrench-pEVd8JnN.js";import"./external-link-CnjcXf32.js";import"./AddProjectForm-BoVtelSP.js";import"./project-overview-helpers-BQTc_Ous.js";import"./api-BkjHJfgJ.js";import"./ui-LM8pS8qE.js";import"./SessionRefScreen-D7TfPYPN.js";/* empty css */import"./cache-Dr0why2k.js";import"./arrow-up-right-CtTDrZJr.js";import"./agents-project-model-UYiamtrU.js";import"./model-IGCUEsMy.js";import"./conversation-prefs-DNre-Lcx.js";import"./use-conversation-list-B1T6J_qE.js";import"./use-fleet-active-asks-DLofGhhK.js";import"./operator-attention-BwSPeheT.js";import"./openAgent-Bjt57GdM.js";import"./HomeHero-Cfsow7qL.js";import"./observe-uJfIlIUV.js";import"./agent-lanes-model-Bl6xfviL.js";import"./context-budget-DX_fwUs3.js";import"./home-moving-signal-BdkERL6B.js";import"./home-live-action-B22u89j7.js";import"./mesh-buckets-CfAukILK.js";import"./FleetSearch-DlWTLl-v.js";import"./use-mesh-ops-items-ByGZk8rU.js";import"./left-agents-DsOHgDCY.js";import"./left-default-BRCwoCJr.js";import"./left-lanes-DNtoRzoV.js";import"./lane-roster-store-NE15Oe6M.js";import"./left-plan-CtySjsXC.js";import"./MissionLeftAgentRow-CxlH3dON.js";import"./page-status-BymFEFai.js";import"./terminal-relay-B5Sma7fK.js";import"./session-table-sAVe44a4.js";import"./refresh-cw-D8PFyhUa.js";function st(r,t){switch(r.view){case"inbox":case"activity":case"briefings":return{body:o.jsx(e,{}),footer:null};case"agents-v2":return{body:o.jsx(m,{route:r,navigate:t}),footer:null};case"agent-info":return{body:o.jsx(i,{}),footer:null};case"repos":case"repo-diff":case"code":return{body:null,footer:null};case"sessions":return{body:null,footer:null};case"terminal":return{body:o.jsx(a,{}),footer:null};case"messages":case"conversation":return{body:o.jsx(p,{}),footer:null};case"broker":case"work":case"follow":return{body:null,footer:null};case"search":return{body:null,footer:null};case"ops":return{body:o.jsx(l,{}),footer:null};case"mesh":return{body:o.jsx(s,{}),footer:o.jsx(f,{})};case"mesh-ops":return{body:o.jsx(n,{}),footer:null};case"harnesses":return{body:null,footer:null};case"settings":case"voice":return{body:null,footer:null};default:return{body:null,footer:null}}}export{st as resolveSidebarContext};
@@ -0,0 +1 @@
1
+ import{j as e,r as i}from"./index-sUomXsrf.js";import{u as w}from"./Provider-tFc3jqZ4.js";import{a as C}from"./api-h5zurxmi.js";import{u as B}from"./sse-CVoGDiKW.js";import{t as g}from"./time-Dhsh_2EG.js";import{B as E,b as M}from"./BrokerScreen-CObCQvoy.js";import{b as S}from"./broker-display-pp33bLsu.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";import"./index-BWHgHrtv.js";import"./EmptyState-CoL-QuUO.js";import"./clipboard-e3fSpeo7.js";import"./status-tone-BM_zuRy1.js";import"./openContent-C6XO6kr5.js";import"./BrokerMetadataPanel-opTLuZU6.js";import"./DispatchAftermath-BrreQifA.js";import"./follow-route-BvcGtBIL.js";import"./arrow-up-right-CtTDrZJr.js";import"./ShikiPane-I_OTW5NO.js";import"./types-B0PlfpKc.js";/* empty css */import"./external-link-CnjcXf32.js";import"./arrow-down-DsD-dYj-.js";import"./bot-B_Uzf4_O.js";import"./refresh-cw-D8PFyhUa.js";import"./check-BbgHJX8u.js";import"./copy-CwCAivnc.js";import"./message-square-BD-4UUdc.js";import"./sparkles-up7pVlX-.js";import"./paperclip-DL9BXPp2.js";import"./plus-C9lTjsgd.js";import"./send-horizontal-DDwOgEs3.js";import"./radio-DedMyP8J.js";function $(r){return`${Math.round(r*100)}%`}function R(r){switch(r){case"success":return"sent";case"failed_query":return"query";case"failed_delivery":return"delivery";default:return"attempt"}}function q(r){switch(r){case"dm":return"direct";case"channel":return"channel";case"broadcast":return"broadcast";case null:return"no route";default:return r}}function A(r){const t=new Map;for(const o of r){const n=q(o.route);t.set(n,(t.get(n)??0)+1)}return[...t.entries()].map(([o,n])=>({label:o,count:n})).sort((o,n)=>n.count-o.count||o.label.localeCompare(n.label)).slice(0,5)}function D(r){const t={sent:0,query:0,delivery:0,failures:0};for(const o of r)o.kind==="success"?t.sent+=1:o.kind==="failed_query"?t.query+=1:(o.kind==="failed_delivery"||o.kind==="delivery_attempt")&&(t.delivery+=1),S(o)&&(t.failures+=1);return t}function L(){const{inspectBrokerAttempt:r}=w(),[t,o]=i.useState(null),[n,f]=i.useState(null),l=i.useCallback(async()=>{try{const s=await C(M());o(s),f(null)}catch(s){f(s instanceof Error?s.message:String(s))}},[]);i.useEffect(()=>{l()},[l]),B(s=>{(s.kind==="message.posted"||s.kind==="delivery.planned"||s.kind==="delivery.attempted"||s.kind==="delivery.state.changed"||s.kind==="scout.dispatched")&&l()});const h=i.useMemo(()=>t?[...t.failedQueries,...t.failedDeliveries].sort((s,m)=>m.ts-s.ts).slice(0,4):[],[t]),v=i.useMemo(()=>t?t.attempts.slice().sort((s,m)=>m.ts-s.ts).slice(0,5):[],[t]),j=i.useMemo(()=>t?A(t.attempts):[],[t]),a=i.useMemo(()=>t?D(t.attempts):null,[t]),b=i.useCallback(s=>{r(s),window.dispatchEvent(new CustomEvent("scout:set-inspector-width",{detail:{width:420}}))},[r]);if(!t&&!n)return e.jsx("div",{className:"flex h-full flex-col overflow-y-auto frame-scrollbar p-4 gap-4 text-sm",children:e.jsx(u,{title:"Dispatch context",status:"Loading broker ledger..."})});if(!t)return e.jsxs("div",{className:"flex h-full flex-col overflow-y-auto frame-scrollbar p-4 gap-4 text-sm",children:[e.jsx(u,{title:"Dispatch context",status:"Broker diagnostics unavailable"}),e.jsx("div",{className:"rounded border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] p-2.5 text-sm leading-relaxed text-[var(--scout-chrome-ink-soft)]",children:n})]});const c=t.attempts.length,y=t.ledger.hasMore.attempts?"+":"",N=c>0&&a?a.failures/c:0;return e.jsxs("div",{className:"flex h-full flex-col overflow-y-auto frame-scrollbar p-4 gap-4 text-sm",children:[e.jsxs(u,{title:"Dispatch context",status:`${c}${y} latest route${c===1?"":"s"}`,children:[e.jsxs("div",{className:"mt-2 grid grid-cols-3 gap-1",children:[e.jsx(d,{label:"Sent",value:`${a?.sent??0}`}),e.jsx(d,{label:"Query",value:`${a?.query??0}`}),e.jsx(d,{label:"Delivery",value:`${a?.delivery??0}`})]}),e.jsxs("div",{className:"mt-2 flex items-center justify-between gap-2 border-t border-[var(--scout-chrome-border-soft)] pt-2 font-mono text-2xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-ghost)]",children:[e.jsxs("span",{children:[$(N)," failed"]}),e.jsx("span",{children:g(t.generatedAt)})]})]}),e.jsx(p,{label:"Route mix",children:e.jsx(_,{items:j,empty:"No route records visible"})}),e.jsx(p,{label:"Needs attention",children:h.length===0?e.jsx(x,{children:"No failed routes in history."}):e.jsx("div",{className:"flex flex-col gap-1.5",children:h.map(s=>e.jsx(k,{attempt:s,onOpen:b},s.id))})}),e.jsx(p,{label:"Recent dispatch",children:v.length===0?e.jsx(x,{children:"No recent dispatch rows."}):e.jsx("div",{className:"flex flex-col gap-1",children:v.map(s=>e.jsx(k,{attempt:s,onOpen:b,compact:!0},s.id))})})]})}function u({title:r,status:t,children:o}){return e.jsxs("div",{className:"rounded border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] p-2.5",children:[e.jsx("div",{className:"text-2xs font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)]",children:r}),e.jsx("div",{className:"mt-1 font-mono text-xs uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-soft)]",children:t}),o]})}function d({label:r,value:t}){return e.jsxs("div",{className:"min-w-0 rounded-sm border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-bg)] px-1.5 py-1",children:[e.jsx("div",{className:"font-mono text-2xs uppercase tracking-[0.1em] text-[var(--scout-chrome-ink-faint)]",children:r}),e.jsx("div",{className:"mt-0.5 truncate font-mono text-lg text-[var(--scout-chrome-ink-strong)]",children:t})]})}function p({label:r,children:t}){return e.jsxs("div",{className:"flex flex-col",children:[e.jsx("div",{className:"mb-1.5 text-2xs font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)]",children:r}),t]})}function _({items:r,empty:t}){return r.length===0?e.jsx(x,{children:t}):e.jsx("div",{className:"flex flex-wrap gap-1",children:r.map(o=>e.jsxs("span",{className:"rounded-sm border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] px-1.5 py-0.5 font-mono text-xs text-[var(--scout-chrome-ink-soft)]",title:`${o.count} ${o.label}`,children:[o.label," ",o.count]},o.label))})}function x({children:r}){return e.jsx("div",{className:"text-xs font-mono uppercase tracking-[0.12em] text-[var(--scout-chrome-ink-ghost)]",children:r})}function k({attempt:r,onOpen:t,compact:o=!1}){return e.jsxs("button",{type:"button",className:"rounded border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] px-2 py-1.5 text-left transition-colors hover:border-[var(--scout-chrome-border)]",onClick:()=>t(r),children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"shrink-0 rounded-sm bg-[var(--scout-chrome-bg)] px-1 py-0.5 font-mono text-3xs uppercase tracking-[0.08em] text-[var(--scout-chrome-ink-faint)]",children:R(r.kind)}),e.jsx("span",{className:"min-w-0 flex-1 truncate text-sm text-[var(--scout-chrome-ink)]",children:r.detail}),e.jsx("span",{className:"shrink-0 font-mono text-2xs text-[var(--scout-chrome-ink-faint)]",children:g(r.ts)})]}),!o&&e.jsxs("div",{className:"mt-0.5 flex items-center gap-2 font-mono text-2xs text-[var(--scout-chrome-ink-ghost)]",children:[e.jsx("span",{className:"truncate",children:r.actorName??"unknown"}),e.jsx("span",{className:"shrink-0",children:"->"}),e.jsx("span",{className:"truncate",children:r.target??"none"})]})]})}function He({selectedAttempt:r,navigate:t,onClose:o}){return r?e.jsx(E,{attempt:r,navigate:t,onClose:o}):e.jsx(L,{})}export{He as BrokerRight};
@@ -1,2 +1,2 @@
1
- import{r as d,j as s}from"./index-DMiGbrBt.js";/* empty css */import{a as P}from"./api-h5zurxmi.js";import{u as U,a as $,b as M,c as H,r as X,w as V,f as o,d as Y,e as _,t as z,g as Q,h as Z,i as ss,s as es}from"./ui-LM8pS8qE.js";import{B as as,u as ns}from"./selection-bridge-16pk1qyG.js";function ts(n){return n.error!=null?{label:"SCAN ERR",cls:"err"}:n.status.conflicts>0?{label:"CONFLICT",cls:"conflict"}:n.status.clean?{label:"CLEAN",cls:"clean"}:{label:"DIRTY",cls:"dirty"}}function cs(n){const t=(n.state??"").toLowerCase();return t==="active"?"ACTIVE":t==="idle"?"IDLE":t==="waiting"?"WAITING":"—"}function ls(n){const t=n.lastIndexOf("/");return t<0?{dir:"",file:n}:{dir:n.slice(0,t+1),file:n.slice(t+1)}}function is(n){return n.status.clean?"clean":`staged ${n.status.staged}, unstaged ${n.status.unstaged}, untracked ${n.status.untracked}, conflicts ${n.status.conflicts}, changed files ${n.status.changedFiles}`}function rs(n,t,u){const l=["Operator request:",n,"","Repo Watch context:",`- Project: ${u.name}`,`- Project root: ${u.root}`,`- Project attention: ${u.attention}`,`- Worktree: ${t.path}`,`- Branch: ${t.branch.name??t.branch.head??"detached"}`];t.branch.upstream&&l.push(`- Upstream: ${t.branch.upstream}`),l.push(`- Drift: ahead ${t.branch.ahead}, behind ${t.branch.behind}`,`- Status: ${is(t)}`);const p=M(t),i=H(t);if(p.has&&l.push(`- Branch churn: +${p.add} -${p.del}`),i.has&&l.push(`- Working-tree churn: +${i.add} -${i.del}`),t.attentionReasons.length>0&&l.push(`- Attention reasons: ${t.attentionReasons.join("; ")}`),t.status.files.length>0){const T=t.status.files.slice(0,8).map(h=>`${h.status}: ${h.path}`).join(", ");l.push(`- Changed files: ${T}`)}return l.join(`
1
+ import{r as d,j as s}from"./index-sUomXsrf.js";/* empty css */import{a as P}from"./api-h5zurxmi.js";import{u as U,a as $,b as M,c as H,r as X,w as V,f as o,d as Y,e as _,t as z,g as Q,h as Z,i as ss,s as es}from"./ui-LM8pS8qE.js";import{B as as,u as ns}from"./selection-bridge-CJOTyYQs.js";function ts(n){return n.error!=null?{label:"SCAN ERR",cls:"err"}:n.status.conflicts>0?{label:"CONFLICT",cls:"conflict"}:n.status.clean?{label:"CLEAN",cls:"clean"}:{label:"DIRTY",cls:"dirty"}}function cs(n){const t=(n.state??"").toLowerCase();return t==="active"?"ACTIVE":t==="idle"?"IDLE":t==="waiting"?"WAITING":"—"}function ls(n){const t=n.lastIndexOf("/");return t<0?{dir:"",file:n}:{dir:n.slice(0,t+1),file:n.slice(t+1)}}function is(n){return n.status.clean?"clean":`staged ${n.status.staged}, unstaged ${n.status.unstaged}, untracked ${n.status.untracked}, conflicts ${n.status.conflicts}, changed files ${n.status.changedFiles}`}function rs(n,t,u){const l=["Operator request:",n,"","Repo Watch context:",`- Project: ${u.name}`,`- Project root: ${u.root}`,`- Project attention: ${u.attention}`,`- Worktree: ${t.path}`,`- Branch: ${t.branch.name??t.branch.head??"detached"}`];t.branch.upstream&&l.push(`- Upstream: ${t.branch.upstream}`),l.push(`- Drift: ahead ${t.branch.ahead}, behind ${t.branch.behind}`,`- Status: ${is(t)}`);const p=M(t),i=H(t);if(p.has&&l.push(`- Branch churn: +${p.add} -${p.del}`),i.has&&l.push(`- Working-tree churn: +${i.add} -${i.del}`),t.attentionReasons.length>0&&l.push(`- Attention reasons: ${t.attentionReasons.join("; ")}`),t.status.files.length>0){const T=t.status.files.slice(0,8).map(h=>`${h.status}: ${h.path}`).join(", ");l.push(`- Changed files: ${T}`)}return l.join(`
2
2
  `)}function ds({worktree:n,project:t,generatedAt:u}){const[l,p]=d.useState(""),[i,T]=d.useState("scout"),[h,k]=d.useState(!1),[R,g]=d.useState(null),[O,A]=d.useState(null),[B,K]=d.useState(!1),x=d.useMemo(()=>n?U(n):[],[n]),E=d.useMemo(()=>x.slice(0,8),[x]),I=d.useMemo(()=>{if(i==="scout")return"Scout";const e=i.replace(/^agent:/,""),c=E.find(m=>m.id===e);return c?$(c):"Agent"},[E,i]);async function w(){const e=l.trim();if(!(!e||h||!n||!t)){k(!0),g(null),A(null);try{const c=rs(e,n,t);if(i==="scout")await P("/api/send",{method:"POST",body:JSON.stringify({body:c})}),g("Sent to Scout");else{const m=i.replace(/^agent:/,"");await P("/api/ask",{method:"POST",body:JSON.stringify({body:c,targetAgentId:m,targetLabel:m,metadata:{source:"repo-watch",originSurface:"repo-watch",handoffKind:"repo-watch-agent-ask",targetAgentId:m}})}),g(`Sent to ${I}`)}p("")}catch(c){A(c instanceof Error?c.message:String(c))}finally{k(!1)}}}if(!n||!t)return s.jsx("aside",{className:"rw-ctx","aria-label":"Worktree detail",children:s.jsxs("div",{className:"rw-ctx-empty",children:[s.jsx("span",{className:"eb",children:"CONTEXT · WORKTREE"}),s.jsx("span",{className:"msg",children:"Select a worktree to inspect"})]})});const a=n,r=a.branch,N=5,f=x.length+a.sessions.length,b=!B&&f>N,y=b?x.slice(0,N):x,D=b?a.sessions.slice(0,Math.max(0,N-y.length)):a.sessions,q=f-y.length-D.length,L=ts(a),j=M(a),v=H(a),{add:S,del:C,has:G}=X(a),W=S+C||1,F=[{label:"staged",n:a.status.staged},{label:"unstaged",n:a.status.unstaged},{label:"untracked",n:a.status.untracked},{label:"conflicts",n:a.status.conflicts,cls:"conf"}].filter(e=>e.n>0);return s.jsxs("aside",{className:"rw-ctx","aria-label":"Worktree detail",children:[s.jsxs("div",{className:"ctx-h",children:[s.jsx("div",{className:"ctx-eyebrow",children:s.jsx("span",{children:"CONTEXT · WORKTREE"})}),s.jsxs("div",{className:"ctx-repo",children:[s.jsx("span",{className:"dot "+V(a)}),s.jsx("span",{className:"rn",children:t.name}),s.jsx("span",{className:"ctx-state "+L.cls,children:L.label})]}),s.jsx("div",{className:"ctx-branch",children:s.jsx(as,{branch:r,fallback:a.name})}),s.jsxs("div",{className:"ctx-path",children:[a.path,r.upstream?s.jsxs("span",{className:"ref",children:[" · ",r.upstream]}):null]})]}),s.jsxs("div",{className:"ctx-stats",children:[s.jsxs("div",{children:[s.jsxs("div",{className:"v"+(r.ahead>0?" mint":" dim"),children:["↑",r.ahead]}),s.jsx("div",{className:"k",children:"AHEAD"})]}),s.jsxs("div",{children:[s.jsxs("div",{className:"v"+(r.behind>0?" amber":" dim"),children:["↓",r.behind]}),s.jsx("div",{className:"k",children:"BEHIND"})]}),s.jsxs("div",{children:[s.jsx("div",{className:"v"+(a.status.changedFiles>0?"":" dim"),children:a.status.changedFiles}),s.jsx("div",{className:"k",children:"FILES"})]})]}),F.length>0?s.jsx("div",{className:"ctx-breakdown",children:F.map(e=>s.jsxs("span",{className:"ctx-chip"+(e.cls?" "+e.cls:""),children:[s.jsx("span",{className:"n",children:e.n}),e.label]},e.label))}):null,s.jsxs("div",{className:"ctx-body",children:[a.attentionReasons.length>0?s.jsxs("div",{className:"ctx-sec",children:[s.jsxs("div",{className:"ctx-sec-h",children:[s.jsx("span",{children:"ATTENTION"}),s.jsx("span",{className:"n",children:a.attentionReasons.length})]}),s.jsx("div",{className:"ctx-why",children:a.attentionReasons.map((e,c)=>s.jsx("span",{className:"pill",children:e},c))})]}):null,a.error?s.jsxs("div",{className:"ctx-sec",children:[s.jsx("div",{className:"ctx-sec-h",children:s.jsx("span",{children:"SCAN ERROR"})}),s.jsx("div",{className:"ctx-err",children:a.error})]}):null,s.jsxs("div",{className:"ctx-sec",children:[s.jsxs("div",{className:"ctx-sec-h",children:[s.jsx("span",{children:"CHURN"}),s.jsx("span",{className:"n",children:j.has?"reviewable":"working tree"})]}),G?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"ctx-churn",children:[s.jsxs("span",{className:"nums",children:[s.jsxs("span",{className:"add",children:["+",o(S)]}),s.jsx("span",{className:"sl",children:"/"}),s.jsxs("span",{className:"del",children:["−",o(C)]})]}),s.jsxs("span",{className:"cbar",title:`+${o(S)} −${o(C)}`,children:[s.jsx("span",{className:"g",style:{width:S/W*100+"%"}}),s.jsx("span",{className:"r",style:{width:C/W*100+"%"}})]})]}),s.jsxs("span",{className:"ctx-churn-clean",children:[j.has?`branch +${o(j.add)} −${o(j.del)}`:null,j.has&&v.has?" · ":null,v.has?`working tree +${o(v.add)} −${o(v.del)}`:null]})]}):s.jsx("div",{className:"ctx-churn-clean",children:a.status.clean?"working tree clean":"no line changes"})]}),a.status.files.length>0?s.jsxs("div",{className:"ctx-sec",children:[s.jsxs("div",{className:"ctx-sec-h",children:[s.jsx("span",{children:"FILES CHANGED"}),s.jsx("span",{className:"n",children:a.status.files.length})]}),a.status.files.map(e=>{const c=Y(e.status),{dir:m,file:J}=ls(e.path);return s.jsxs("div",{className:"ctx-fchg",children:[s.jsx("span",{className:"badge",style:{color:Q(c),background:z(c)},title:e.status,children:_(e.status)}),s.jsxs("span",{className:"fp",title:e.path,children:[s.jsx("span",{className:"dir",children:m}),J]})]},e.path)})]}):null,s.jsxs("div",{className:"ctx-sec",children:[s.jsx("div",{className:"ctx-sec-h",children:s.jsx("span",{children:"LAST COMMIT"})}),s.jsx("div",{className:"ctx-commit",children:a.lastCommitAt!=null||r.head?s.jsxs(s.Fragment,{children:[r.head?s.jsx("span",{className:"hash",children:r.head.slice(0,7)}):null,s.jsxs("span",{className:"t",children:[Z(a.lastCommitAt,u)," ago"]})]}):s.jsx("span",{className:"none",children:"no commit data"})})]}),s.jsxs("div",{className:"ctx-sec",children:[s.jsxs("div",{className:"ctx-sec-h",children:[s.jsx("span",{children:"ATTACHED SESSIONS"}),s.jsxs("span",{className:"n",children:[x.length," handle",x.length===1?"":"s",a.sessions.length>0?` · ${a.sessions.length} session${a.sessions.length===1?"":"s"}`:""]})]}),f>0?s.jsxs(s.Fragment,{children:[y.map(e=>s.jsxs("div",{className:"ctx-agent",children:[s.jsx("span",{className:"d "+(ss(e)?"on":"off")}),s.jsx("span",{className:"h",children:$(e)}),s.jsx("span",{className:"role",children:cs(e)})]},$(e))),D.map(e=>s.jsxs("div",{className:"ctx-agent",children:[s.jsx("span",{className:"d off"}),s.jsx("span",{className:"h",children:es(e)}),s.jsx("span",{className:"role",children:"SESSION"})]},e.id)),f>N?s.jsx("button",{type:"button",className:"ctx-more",onClick:()=>K(e=>!e),"aria-expanded":!b,children:b?`+${q} more`:"Show less"}):null]}):s.jsx("div",{className:"ctx-none",children:"no attached sessions"})]})]}),s.jsxs("div",{className:"ctx-ask",children:[s.jsx("textarea",{value:l,onChange:e=>{p(e.currentTarget.value),g(null),A(null)},onKeyDown:e=>{e.stopPropagation(),(e.metaKey||e.ctrlKey)&&e.key==="Enter"&&(e.preventDefault(),w())},disabled:h,rows:3,placeholder:i==="scout"?"Message Scout about this worktree":"Message this agent about the worktree"}),s.jsxs("div",{className:"ctx-ask-bar",children:[s.jsxs("select",{value:i,onChange:e=>T(e.currentTarget.value),onKeyDown:e=>e.stopPropagation(),disabled:h,"aria-label":"Message target",children:[s.jsx("option",{value:"scout",children:"Scout"}),E.map(e=>s.jsx("option",{value:`agent:${e.id}`,children:$(e)},e.id))]}),s.jsx("button",{className:"ctx-btn primary",type:"button",disabled:h||l.trim().length===0,onClick:()=>{w()},children:h?"Sending":"Send"})]}),s.jsxs("div",{className:"ctx-ask-foot",children:[O?s.jsx("span",{className:"err",children:O}):R?s.jsx("span",{className:"ok",children:R}):s.jsxs("span",{children:["Repo Watch context included · ",I]}),s.jsx("button",{type:"button",title:"Copy worktree path",onClick:()=>{navigator.clipboard?.writeText(a.path)},children:"Copy path"})]})]})]})}function ps(){const{worktree:n,project:t,generatedAt:u,tone:l}=ns();return s.jsx("div",{className:"rw-scope rw-ctx-rail-scope tone-"+l,children:s.jsx(ds,{worktree:n,project:t,generatedAt:u})})}export{ps as ReposInspector,ps as default};
@@ -0,0 +1 @@
1
+ import{r as y,j as e}from"./index-sUomXsrf.js";import{a as O}from"./api-h5zurxmi.js";import{a as r,t as f}from"./time-Dhsh_2EG.js";import{u as M,j as R}from"./mesh-ops-Kn8pCtyJ.js";import{u as L}from"./mesh-view-store-D14ihwkF.js";import{u as H}from"./Provider-tFc3jqZ4.js";/* empty css */import"./router-Dja9_ygK.js";import"./terminal-sessions-D5CIR2OL.js";import"./sse-CVoGDiKW.js";import"./index-BWHgHrtv.js";import"./surface-activity-B1rgWB1i.js";import"./colors-BtO5_zlx.js";import"./scoutbot-BTIErYHo.js";import"./ContextMenu-BlBQhpax.js";import"./DocumentFocusViewer-DU_9BHsD.js";import"./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";function E(o){return o.state==="waiting"&&o.nextMoveOwnerId==="operator"&&o.waitingOn?.label==="Held by operator"}function t({label:o,value:c}){return c?e.jsxs("div",{className:"mesh-ops-detail-row",children:[e.jsx("span",{className:"mesh-ops-detail-label",children:o}),e.jsx("span",{className:"mesh-ops-detail-value",children:c})]}):null}function Ae(){const{navigate:o}=H(),{items:c,hosts:h,selectedItemId:w,lab:A}=M(),{meshSnapshot:p}=L(),[i,x]=y.useState(null),[v,j]=y.useState(null),s=c.find(l=>l.id===w)??null,u=async l=>{if(!(!s||i)){x(l),j(null);try{await O(`/api/mesh-ops/items/${encodeURIComponent(s.id)}/${l}`,{method:"POST",body:"{}"}),R()}catch(d){j(d instanceof Error?d.message:String(d))}finally{x(null)}}};if(!s){const l=new Map;for(const n of c)n.hostNodeId&&l.set(n.hostNodeId,(l.get(n.hostNodeId)??0)+1);const d=p?.localNode?.id??null;return e.jsxs("div",{className:"ctx-panel mesh-ops-inspector",children:[e.jsxs("div",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Mesh"}),h.map(n=>e.jsx(t,{label:n.nodeId===d?"this host":"peer",value:`${n.label} · ${l.get(n.nodeId)??0} items${n.liveSessionCount>0?` · ${n.liveSessionCount} live`:""}`},n.nodeId)),h.length===0&&e.jsx("div",{className:"ctx-panel-empty",children:"No hosts yet."})]}),e.jsx("div",{className:"ctx-panel-section",children:e.jsx("p",{className:"mesh-ops-inspector-note",children:"Select an item to inspect it. Counts are items attributed to each host; the map stays in the mesh screen."})})]})}if(s.kind==="session"&&s.session){const l=s.session;return e.jsxs("div",{className:"ctx-panel mesh-ops-inspector",children:[e.jsxs("div",{className:"mesh-ops-inspector-header",children:[e.jsx("div",{className:"mesh-ops-inspector-title",children:s.title}),e.jsxs("div",{className:"mesh-ops-inspector-summary",children:[l.live?`Live ${l.harness} session`:l.endedAt!==null?`Ended ${l.harness} session`:`Lost ${l.harness} session — no end marker, last seen ${r(l.lastSeenAt)}`,l.alias?` · ${l.alias}`:""]})]}),e.jsxs("div",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Session"}),e.jsx(t,{label:"harness",value:l.harness}),e.jsx(t,{label:"state",value:l.endedAt!==null?"ended":l.state}),e.jsx(t,{label:"agent",value:s.ownerId}),e.jsx(t,{label:"started",value:l.startedAt!==null?r(l.startedAt):null}),e.jsx(t,{label:"last seen",value:r(l.lastSeenAt)}),e.jsx(t,{label:"ended",value:l.endedAt!==null?r(l.endedAt):null})]}),e.jsxs("div",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Venue"}),e.jsx(t,{label:"host",value:s.hostLabel}),e.jsx(t,{label:"project",value:s.projectRoot}),e.jsx(t,{label:"cwd",value:l.cwd})]})]})}const S=E(s),I=s.state==="done"||s.state==="cancelled",$=s.state==="open"||s.state==="working",C=S,m=s.state==="review",a=s.latestFlight,k=a!==null&&(a.state==="running"||a.state==="queued"),b=p?.localNode?.hostName?.split(".")[0]??p?.localNode?.name??"here",N=s.hostLabel??"unattributed",g=N===b||s.hostNodeId===null;return e.jsxs("div",{className:"ctx-panel mesh-ops-inspector",children:[e.jsxs("div",{className:"mesh-ops-inspector-header",children:[e.jsx("div",{className:"mesh-ops-inspector-title",children:s.title}),s.summary&&e.jsx("div",{className:"mesh-ops-inspector-summary",children:s.summary})]}),A.routeStrip&&e.jsx("div",{className:"mesh-ops-routestrip","aria-hidden":!0,children:e.jsxs("svg",{viewBox:"0 0 260 40",className:"mesh-ops-routestrip-svg",children:[e.jsx("line",{x1:"24",y1:"18",x2:"236",y2:"18",className:`mesh-ops-routestrip-line${k&&!g?" mesh-ops-routestrip-line--moving":""}`}),e.jsx("rect",{x:"14",y:"12",width:"12",height:"12",rx:"2",className:"mesh-ops-routestrip-node"}),e.jsx("rect",{x:"234",y:"12",width:"12",height:"12",rx:"2",className:"mesh-ops-routestrip-node"}),e.jsx("text",{x:"20",y:"36",textAnchor:"middle",className:"mesh-ops-routestrip-label",children:b}),e.jsx("text",{x:"246",y:"36",textAnchor:"end",className:"mesh-ops-routestrip-label",children:g?"(same host)":N})]})}),!I&&e.jsxs("div",{className:"mesh-ops-actions",children:[C?e.jsx("button",{type:"button",className:"mesh-ops-button",disabled:i!==null,onClick:()=>{u("release")},children:i==="release"?"Releasing…":"Release"}):$?e.jsx("button",{type:"button",className:"mesh-ops-button",disabled:i!==null,onClick:()=>{u("hold")},children:i==="hold"?"Holding…":"Hold"}):null,(s.state==="review"||s.attention!=="silent")&&e.jsx("button",{type:"button",className:"mesh-ops-button",disabled:i!==null,onClick:()=>{u(m?"accept":"clear")},title:m?"Accept this work item":"Dismiss this item from the attention queue",children:i==="accept"||i==="clear"?m?"Accepting…":"Clearing…":m?"Accept":"Clear"}),e.jsx("button",{type:"button",className:"mesh-ops-button",onClick:()=>o({view:"work",workId:s.id}),title:"Open the full work item",children:"Open item"})]}),v&&e.jsx("div",{className:"ctx-panel-empty","data-tone":"error",children:v}),e.jsxs("div",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"State"}),e.jsx(t,{label:"phase",value:s.currentPhase}),e.jsx(t,{label:"state",value:s.state}),e.jsx(t,{label:"attention",value:s.attention==="silent"?null:s.attention}),e.jsx(t,{label:"waiting on",value:s.waitingOn?.label??null}),e.jsx(t,{label:"acceptance",value:s.acceptanceState==="none"?null:s.acceptanceState}),e.jsx(t,{label:"priority",value:s.priority}),e.jsx(t,{label:"labels",value:s.labels.length>0?s.labels.join(", "):null})]}),e.jsxs("div",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Venue"}),e.jsx(t,{label:"owner",value:s.ownerName??s.ownerId}),e.jsx(t,{label:"host",value:s.hostLabel??(s.hostNodeId?s.hostNodeId:null)}),e.jsx(t,{label:"project",value:s.projectRoot})]}),a&&e.jsxs("div",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Latest flight"}),e.jsx(t,{label:"state",value:a.state}),e.jsx(t,{label:"summary",value:a.summary}),e.jsx(t,{label:"started",value:a.startedAt!==null?r(a.startedAt):null}),e.jsx(t,{label:"completed",value:a.completedAt!==null?r(a.completedAt):null}),s.activeFlightCount>0&&e.jsx(t,{label:"active",value:`${s.activeFlightCount} in flight`})]}),e.jsxs("div",{className:"ctx-panel-section",children:[e.jsx("div",{className:"ctx-panel-section-label",children:"Activity"}),e.jsx(t,{label:"last",value:s.lastMeaningfulSummary}),e.jsx(t,{label:"updated",value:`${f(s.updatedAt)} · created ${f(s.createdAt)}`})]})]})}export{Ae as MeshOpsInspector};
@@ -0,0 +1 @@
1
+ import{r as d,j as e}from"./index-sUomXsrf.js";import{u as k}from"./Provider-tFc3jqZ4.js";import{c as y}from"./colors-BtO5_zlx.js";import{A as S}from"./AgentAvatar-CufDA4A-.js";import{t as N}from"./time-Dhsh_2EG.js";import{f as w}from"./text-DsBWV_4k.js";import{c as I}from"./clipboard-e3fSpeo7.js";import{f as T,r as C,t as R}from"./terminal-sessions-D5CIR2OL.js";import"./router-Dja9_ygK.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"./chevron-down-BFai6ZfE.js";import"./search-DCT_EvPr.js";import"./chunk-HRAB3GC3-CvwpNg-G.js";import"./SpriteAvatar-CQs-jC-v.js";import"./agent-identity-xQHedtLl.js";function Se(){const{route:t,agents:o,navigate:s}=k();if(t.view!=="terminal")return null;const r=t.agentId?o.find(i=>i.id===t.agentId)??null:null,l=t.mode??"takeover",[f,p]=d.useState(null);d.useEffect(()=>{if(t.view!=="terminal"||t.agentId||!t.terminalSurfaceKey){p(null);return}let i=!1;return T().then(g=>{i||p(C(g,t.terminalSessionId,t.terminalSurfaceKey))}).catch(()=>{i||p(null)}),()=>{i=!0}},[t.agentId,t.terminalSessionId,t.terminalSurfaceKey,t.view]);const j=f?R(f.surface):null,n=(r?$(r):null)??j,c=d.useMemo(()=>n?A(n):null,[n]);return r?e.jsxs("div",{className:"flex h-full flex-col gap-4 overflow-y-auto p-4 text-sm frame-scrollbar",children:[e.jsx(D,{agent:r}),e.jsxs(u,{label:"Terminal",children:[e.jsx(a,{label:"Mode",value:v(l)}),e.jsx(a,{label:"Backend",value:n?.backend??"pty"}),n&&e.jsx(a,{label:"Session",value:n.sessionName}),n?.paneId&&e.jsx(a,{label:"Pane",value:n.paneId}),e.jsx(a,{label:"State",value:y(r.state)})]}),c&&e.jsx(h,{label:"Open in your own terminal",command:c}),e.jsxs("div",{className:"grid grid-cols-2 gap-1.5",children:[n&&e.jsx(m,{active:l==="observe",label:"Observe",onClick:()=>s(b(r.id,"observe"))}),e.jsx(m,{active:l==="takeover",label:"Takeover",onClick:()=>s(b(r.id,"takeover"))}),e.jsx(m,{label:"Profile",onClick:()=>s({view:"agents-v2",agentId:r.id,tab:"profile"})}),e.jsx(m,{label:"Trace",onClick:()=>s({view:"agents-v2",agentId:r.id,tab:"observe"})})]}),e.jsxs(u,{label:"Agent",children:[e.jsx(a,{label:"Harness",value:r.harness??"-"}),e.jsx(a,{label:"Transport",value:r.transport??"-"}),r.role&&e.jsx(a,{label:"Role",value:w(r.role)??r.role}),r.handle&&e.jsx(a,{label:"Handle",value:`@${r.handle}`}),r.updatedAt&&e.jsx(a,{label:"Updated",value:N(r.updatedAt)})]}),(r.project||r.branch||r.cwd||r.projectRoot)&&e.jsxs(u,{label:"Workspace",children:[r.project&&e.jsx(a,{label:"Name",value:r.project}),r.branch&&e.jsx(a,{label:"Branch",value:r.branch}),r.cwd&&e.jsx(a,{label:"Cwd",value:r.cwd}),!r.cwd&&r.projectRoot&&e.jsx(a,{label:"Root",value:r.projectRoot})]})]}):e.jsxs("div",{className:"flex h-full flex-col gap-4 overflow-y-auto p-4 text-sm frame-scrollbar",children:[e.jsxs(u,{label:"Terminal",children:[e.jsx(a,{label:"Mode",value:v(l)}),t.agentId&&e.jsx(a,{label:"Agent",value:t.agentId}),n&&e.jsx(a,{label:"Backend",value:n.backend}),n&&e.jsx(a,{label:"Session",value:n.sessionName})]}),c&&e.jsx(h,{label:"Open in your own terminal",command:c})]})}function x(t){return/^[A-Za-z0-9_./:@%+=,-]+$/u.test(t)?t:`'${t.replace(/'/gu,"'\\''")}'`}function A(t){return t.backend==="tmux"?`tmux attach -t ${x(t.sessionName)}`:`${t.socketDir?`ZELLIJ_SOCKET_DIR=${x(t.socketDir)} `:""}zellij attach ${x(t.sessionName)}`}function b(t,o){return{view:"terminal",agentId:t,mode:o}}function $(t){return t.terminalSurface?t.terminalSurface:t.transport==="tmux"&&t.harnessSessionId?{backend:"tmux",sessionName:t.harnessSessionId,paneId:null,socketDir:null}:null}function v(t){return t==="observe"?"Read-only observe":"Interactive takeover"}function D({agent:t}){return e.jsx("div",{className:"border-b border-[var(--scout-chrome-border-soft)] pb-3",children:e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx(S,{agent:t,placement:"row",size:32,presence:!1}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"truncate text-lg leading-snug text-[var(--scout-chrome-ink-strong)]",children:t.name}),t.handle&&e.jsxs("div",{className:"truncate font-mono text-xs text-cyan-400/70",children:["@",t.handle]})]})]})})}function m({active:t,label:o,onClick:s}){return e.jsx("button",{type:"button",onClick:s,className:`h-7 rounded border px-2 font-mono text-2xs uppercase tracking-[0.1em] transition-colors ${t?"border-cyan-400/35 bg-cyan-400/[0.12] text-cyan-200":"border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] text-[var(--scout-chrome-ink-soft)] hover:bg-[var(--scout-chrome-active)] hover:text-[var(--scout-chrome-ink)]"}`,children:o})}function h({label:t,command:o}){const[s,r]=d.useState(!1);return e.jsxs("details",{className:"rounded border border-[var(--scout-chrome-border-soft)] bg-[var(--scout-chrome-hover)] p-2",children:[e.jsx("summary",{className:"cursor-pointer select-none font-mono text-2xs uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)]",children:t}),e.jsx("div",{className:"mb-1.5 mt-2 flex items-center justify-end gap-2",children:e.jsx("button",{type:"button",className:"rounded border border-cyan-400/20 bg-cyan-400/[0.08] px-2 py-1 font-mono text-2xs uppercase tracking-[0.1em] text-cyan-100/80 hover:bg-cyan-400/[0.14]",onClick:()=>{I(o).then(l=>{l&&(r(!0),window.setTimeout(()=>r(!1),1200))})},children:s?"Copied":"Copy"})}),e.jsx("code",{className:"block select-text break-all rounded bg-black/25 p-2 font-mono text-xs leading-relaxed text-[var(--scout-chrome-ink)]",children:o})]})}function u({label:t,children:o}){return e.jsxs("div",{className:"flex flex-col",children:[e.jsx("div",{className:"mb-1.5 text-2xs font-mono uppercase tracking-[0.15em] text-[var(--scout-chrome-ink-faint)]",children:t}),o]})}function a({label:t,value:o}){return e.jsxs("div",{className:"flex items-baseline justify-between gap-2 py-0.5",children:[e.jsx("span",{className:"shrink-0 text-xs font-mono uppercase tracking-wider text-[var(--scout-chrome-ink-faint)]",children:t}),e.jsx("span",{className:"truncate text-right text-sm font-mono text-[var(--scout-chrome-ink)]",children:o})]})}export{Se as TerminalInspector};