@openscout/scout 0.2.102 → 0.2.105

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 (505) hide show
  1. package/README.md +37 -0
  2. package/bin/scout.mjs +6 -0
  3. package/bin/scoutd +0 -0
  4. package/dist/build-manifest.json +4 -4
  5. package/dist/chat.mjs +285 -0
  6. package/dist/client/assets/ActivityScreen-CcDdQTBK.js +1 -0
  7. package/dist/client/assets/{AddProjectForm-DfbjlFfy.js → AddProjectForm-CHNJ4NnS.js} +1 -1
  8. package/dist/client/assets/{AdventureEvidence-Dzz9VbuE.js → AdventureEvidence-B4mEvXeD.js} +1 -1
  9. package/dist/client/assets/{AdventureReader-ClMxT0e4.js → AdventureReader-ZsBDQITY.js} +1 -1
  10. package/dist/client/assets/{AdventureScenery-D548O0x4.js → AdventureScenery-DSxDlqG1.js} +1 -1
  11. package/dist/client/assets/AgentAdventures-BxrYq_2v.js +1 -0
  12. package/dist/client/assets/{AgentAvatar-BIwg54Tj.js → AgentAvatar-NZOqcsB2.js} +1 -1
  13. package/dist/client/assets/AgentConfigurationScreen-BhD1PEAM.js +1 -0
  14. package/dist/client/assets/AgentDefinitionsWorkspace-BqS6MXqF.js +1 -0
  15. package/dist/client/assets/{AgentDetailCard-CFDE8TLi.js → AgentDetailCard-MIEBKw_S.js} +1 -1
  16. package/dist/client/assets/AgentFloorView-A0dDRlRV.js +1 -0
  17. package/dist/client/assets/{AgentFloorWorld-BDJmXl3C.js → AgentFloorWorld-BTqwmK5G.js} +1 -1
  18. package/dist/client/assets/AgentInfoScreen-DuaN0sgE.js +1 -0
  19. package/dist/client/assets/{AgentLaneCard-C6YmwPxQ.js → AgentLaneCard-C4rKLLdT.js} +1 -1
  20. package/dist/client/assets/{AgentLaneChrome-D9uJ4QY7.js → AgentLaneChrome-fGC-ZrJS.js} +1 -1
  21. package/dist/client/assets/{AgentLaneDetailSheet-KYckCBCX.js → AgentLaneDetailSheet-BTF4_th9.js} +1 -1
  22. package/dist/client/assets/{AgentLaneSummaryResize-BBYBS3DO.js → AgentLaneSummaryResize-DgSeA_vS.js} +1 -1
  23. package/dist/client/assets/AgentLanesEmbedScreen-CeNiaZ9_.js +1 -0
  24. package/dist/client/assets/{AgentLanesPreflight-pw2vMO3Q.js → AgentLanesPreflight-CcS23wij.js} +1 -1
  25. package/dist/client/assets/{AgentLanesView-aAyC7lHf.js → AgentLanesView-WZhEDBFE.js} +1 -1
  26. package/dist/client/assets/{AgentLiveActions-lYzicnNa.js → AgentLiveActions-6Kfr1uOT.js} +1 -1
  27. package/dist/client/assets/AgentMasterScreen-DUDUTAnU.js +1 -0
  28. package/dist/client/assets/{AgentSessions-Cox2zS-e.js → AgentSessions-CO1WGa8Z.js} +2 -2
  29. package/dist/client/assets/AgentsConsole-BQOWkj35.js +1 -0
  30. package/dist/client/assets/AgentsScreen-BMNAj1PH.js +1 -0
  31. package/dist/client/assets/AgentsSubnav-CeHhuzyM.js +1 -0
  32. package/dist/client/assets/{AstronautSuit-C-4I5YKi.js → AstronautSuit-D67fIBdR.js} +1 -1
  33. package/dist/client/assets/{AtopView-DKm-ERYC.js → AtopView-Ck30FbzG.js} +1 -1
  34. package/dist/client/assets/{BackToPicker-Bys9ColC.js → BackToPicker-CkBhGRlD.js} +1 -1
  35. package/dist/client/assets/BriefingDetailScreen-yZG8_m4h.js +1 -0
  36. package/dist/client/assets/{BriefingsScreen-D4Zf31Y6.js → BriefingsScreen-DTxYMr3a.js} +1 -1
  37. package/dist/client/assets/{BrokerMetadataPanel-1GoSl2BV.js → BrokerMetadataPanel-crirZCdo.js} +1 -1
  38. package/dist/client/assets/BrokerScreen-CT37VQiL.js +8 -0
  39. package/dist/client/assets/Canvas-CRP0KjKb.js +1 -0
  40. package/dist/client/assets/{CastPicker-BuwE_JQp.js → CastPicker-ZPomvOf-.js} +1 -1
  41. package/dist/client/assets/ChannelComposer-BVItWlEz.js +1 -0
  42. package/dist/client/assets/ChannelSidebar-B-2spawY.js +1 -0
  43. package/dist/client/assets/{CharacterFamilyPreview-CfO3j8Of.js → CharacterFamilyPreview-ckVkecDO.js} +1 -1
  44. package/dist/client/assets/ChatAvatar-DKBsbOqk.js +1 -0
  45. package/dist/client/assets/ChatBits-CLJ71hTY.js +1 -0
  46. package/dist/client/assets/{ChatCollapsedStrip-TV0j1xTB.js → ChatCollapsedStrip-Co0NmqOO.js} +1 -1
  47. package/dist/client/assets/ChatRightPanel-pKQtkAgl.js +1 -0
  48. package/dist/client/assets/ChatSpaceSurface-NrLwdPkE.js +1 -0
  49. package/dist/client/assets/ChatSpaceTheme-BPMgPdVK.css +1 -0
  50. package/dist/client/assets/ChatSpaceTheme-D37Jk7bl.js +1 -0
  51. package/dist/client/assets/{CodeDiffPane-DB6-mqtX.js → CodeDiffPane-D-iv28LJ.js} +1 -1
  52. package/dist/client/assets/{CodeProjectPicker-B_LNLpIK.js → CodeProjectPicker-CZ3gDdiT.js} +1 -1
  53. package/dist/client/assets/{CodeScreen-C9H160XS.js → CodeScreen-CSC-zbP9.js} +1 -1
  54. package/dist/client/assets/{CommsCanvas-DOKw3Q8i.js → CommsCanvas-DdNAwjGW.js} +1 -1
  55. package/dist/client/assets/{CommsDeck-C18JA7rK.js → CommsDeck-mGWY7Ivi.js} +1 -1
  56. package/dist/client/assets/{CommsFlowGraph-Czg-KTS0.js → CommsFlowGraph-voDD9M5R.js} +1 -1
  57. package/dist/client/assets/{CommsFlowMap-CzBWvSa5.js → CommsFlowMap-C33sgD48.js} +1 -1
  58. package/dist/client/assets/{CommsSelection-g1twA-Lb.js → CommsSelection-BL8aYD7z.js} +1 -1
  59. package/dist/client/assets/{ConversationComposer-B7RU6LKd.js → ConversationComposer-DNcn5U6D.js} +1 -1
  60. package/dist/client/assets/ConversationFeedRows-RnYSa7Io.js +1 -0
  61. package/dist/client/assets/ConversationHeader-Y9TEJxP_.js +1 -0
  62. package/dist/client/assets/{ConversationPanels-C9yCAoJy.js → ConversationPanels-6pprBpmq.js} +2 -2
  63. package/dist/client/assets/ConversationScreen-tpj4cqWs.js +2 -0
  64. package/dist/client/assets/{ConversationStatus-CK-YfLpi.js → ConversationStatus-Cv-7hErW.js} +1 -1
  65. package/dist/client/assets/{CrewAvatar-CJhuqTsJ.js → CrewAvatar-zgzC3cbU.js} +1 -1
  66. package/dist/client/assets/{CrewSprite-hgpA3SWB.js → CrewSprite-Dp9KBBGY.js} +1 -1
  67. package/dist/client/assets/CrewWorkspaces-DDuYMByu.css +1 -0
  68. package/dist/client/assets/CrewWorkspaces-K2jcyLec.js +1 -0
  69. package/dist/client/assets/{DataTable-BMOZ1-z8.js → DataTable-av71ehJV.js} +1 -1
  70. package/dist/client/assets/{DispatchAftermath-DDlwqSCY.js → DispatchAftermath-CcYGUB10.js} +1 -1
  71. package/dist/client/assets/{DocumentFocusViewer-f12RRQpV.js → DocumentFocusViewer-DlMiEALb.js} +1 -1
  72. package/dist/client/assets/{EmbeddableSurfacesLab-DGl9EMRV.js → EmbeddableSurfacesLab-CTkO_tQR.js} +1 -1
  73. package/dist/client/assets/{EmptyState-uyYN5piI.js → EmptyState-CYUwYyAW.js} +1 -1
  74. package/dist/client/assets/{FileViewerPane-HtiDbj9N.js → FileViewerPane-Cxhixtks.js} +1 -1
  75. package/dist/client/assets/FlightObserveScreen-CvzhzuWc.js +1 -0
  76. package/dist/client/assets/{FloorContextSheet-DV-SYA0K.js → FloorContextSheet-Vj_wVZq1.js} +1 -1
  77. package/dist/client/assets/{FloorExchangePanel-D59nvRCF.js → FloorExchangePanel-CjHSDXad.js} +1 -1
  78. package/dist/client/assets/{FloorMessagePasses-BCwsz9VS.js → FloorMessagePasses-BG4ebnX5.js} +1 -1
  79. package/dist/client/assets/{FloorReplay-BHo79HCD.js → FloorReplay-BoYaGY9t.js} +1 -1
  80. package/dist/client/assets/FloorResourcesSheet-_Iy5UqgY.js +1 -0
  81. package/dist/client/assets/{FloorSavedWork-2tjBoy06.js → FloorSavedWork-jbtRs-YE.js} +1 -1
  82. package/dist/client/assets/{FloorTacticalHUD-Bngao6sn.js → FloorTacticalHUD-BhyOqlL5.js} +1 -1
  83. package/dist/client/assets/{FollowScreen-eHXOlK-u.js → FollowScreen-CupyOgt4.js} +1 -1
  84. package/dist/client/assets/HarnessMark-DSvM_H7H.js +1 -0
  85. package/dist/client/assets/HarnessesScreen-DyjqbZ4k.js +1 -0
  86. package/dist/client/assets/{HerdrSession-CtJOUn7H.js → HerdrSession-Dcm3vf9U.js} +1 -1
  87. package/dist/client/assets/{HomeHero-Cvwx2H0w.js → HomeHero-pIZtE1cC.js} +1 -1
  88. package/dist/client/assets/{HostAdvisorView-CTJXIc1Q.js → HostAdvisorView-Dv5meXo2.js} +1 -1
  89. package/dist/client/assets/InviteLandingScreen-xZQ2na1z.js +1 -0
  90. package/dist/client/assets/InviteSheet--5Zjct25.js +1 -0
  91. package/dist/client/assets/JumpPalette-BmiSOEmp.js +1 -0
  92. package/dist/client/assets/{KnowledgeSearchInspector-DwGMVmFL.js → KnowledgeSearchInspector-B8yiM524.js} +1 -1
  93. package/dist/client/assets/KnowledgeSearchScreen-BPqAjHnH.js +1 -0
  94. package/dist/client/assets/{LaneToolHoverCard-C6YehJqD.js → LaneToolHoverCard-D2cnTeUd.js} +1 -1
  95. package/dist/client/assets/LaneTraceDetailSheet-jl4XQmEx.js +1 -0
  96. package/dist/client/assets/{LaneTraceEventFocus-WLNZZVi_.js → LaneTraceEventFocus-BLhVHwff.js} +1 -1
  97. package/dist/client/assets/{MeshCanvas-FDDGE69h.js → MeshCanvas-BR25OBTJ.js} +1 -1
  98. package/dist/client/assets/{MeshCanvasMinimap-CGRzQCac.js → MeshCanvasMinimap-ClVolr4-.js} +1 -1
  99. package/dist/client/assets/MeshScreen-BW1dMFWF.js +1 -0
  100. package/dist/client/assets/{MeshTopologyView-C2Cv_2gx.js → MeshTopologyView-BT3ke2D1.js} +2 -2
  101. package/dist/client/assets/MessagesScreen-CtNMfIvC.js +1 -0
  102. package/dist/client/assets/{MissionContextRail-CVSZJnvX.js → MissionContextRail-CafjuseK.js} +1 -1
  103. package/dist/client/assets/MissionControlView-BjPOViGY.js +1 -0
  104. package/dist/client/assets/{MissionFocusOverlay-B9SiuO-i.js → MissionFocusOverlay-nhy3hkxQ.js} +1 -1
  105. package/dist/client/assets/MissionLeftAgentRow-Dms0DBjO.js +1 -0
  106. package/dist/client/assets/{MissionLogPane-CMBiI29U.js → MissionLogPane-DiUf3vWW.js} +1 -1
  107. package/dist/client/assets/NativeAreaScreen-BQSTo8As.js +1 -0
  108. package/dist/client/assets/NativeAreaScreen-Brix6xDB.js +1 -0
  109. package/dist/client/assets/NativeAreaScreen-D7HyQNlM.js +1 -0
  110. package/dist/client/assets/{NewAgentModal-Cl4nsGhu.js → NewAgentModal-BQ2wQ5gp.js} +1 -1
  111. package/dist/client/assets/NewChatComposer-BEXS8vV6.js +19 -0
  112. package/dist/client/assets/{NewChatOrigin-CyPPWTJP.js → NewChatOrigin-C8ROO4ps.js} +1 -1
  113. package/dist/client/assets/{NodeDetailPanel-BUG8rOb-.js → NodeDetailPanel-BNTqYC7m.js} +1 -1
  114. package/dist/client/assets/{NodeMenu-Fw8ATWQA.js → NodeMenu-CcOeFRCB.js} +1 -1
  115. package/dist/client/assets/{ObserveEmbedScreen-BPiSXXvm.js → ObserveEmbedScreen-Dh30EjAQ.js} +2 -2
  116. package/dist/client/assets/{ObserveTextFlow-ET0dD1wO.js → ObserveTextFlow-CC5mnngm.js} +2 -2
  117. package/dist/client/assets/{ObservedTopologyPanel-DkEkQzo-.js → ObservedTopologyPanel-DF6tRZL_.js} +1 -1
  118. package/dist/client/assets/OpenScoutAppShell-D9pgw36i.js +31 -0
  119. package/dist/client/assets/OpsAgentsView-D3rM0udq.js +1 -0
  120. package/dist/client/assets/OpsScreen-DySeNQ1V.js +1 -0
  121. package/dist/client/assets/OpsSubnav-C9E0r3GZ.js +1 -0
  122. package/dist/client/assets/ProjectAgentProfile-FUav75j2.js +1 -0
  123. package/dist/client/assets/{ProjectAgentProfileBar-C1fR65Eh.js → ProjectAgentProfileBar-C8z22pJ2.js} +1 -1
  124. package/dist/client/assets/ProjectAgentProfileHero-BLK0EwMg.js +1 -0
  125. package/dist/client/assets/ProjectsInbox-DfCXReZK.js +2 -0
  126. package/dist/client/assets/ProjectsRail-CELVubfJ.js +1 -0
  127. package/dist/client/assets/ProjectsScreen-DMw4TLKy.js +1 -0
  128. package/dist/client/assets/ProjectsThreadAside-D1Sh4fnX.js +1 -0
  129. package/dist/client/assets/{Provider-5Hotn7NQ.js → Provider-CNZluAZb.js} +2 -2
  130. package/dist/client/assets/{RailRow-BYguXNm4.js → RailRow-DUPqXMZh.js} +1 -1
  131. package/dist/client/assets/RailToggle-BwmY70B8.js +1 -0
  132. package/dist/client/assets/RawSessionsTable-6OVJq0JZ.js +1 -0
  133. package/dist/client/assets/RealtimeVoiceScreen-D41TYY0x.js +9 -0
  134. package/dist/client/assets/{RenderedWorkerSprite-CvdWO32C.js → RenderedWorkerSprite-C8fxndAh.js} +1 -1
  135. package/dist/client/assets/{ReplayClock-B7JLTp8A.js → ReplayClock-DUVJjrIu.js} +1 -1
  136. package/dist/client/assets/{ReplayLog-DZTpf2CW.js → ReplayLog-Bek1Vc4W.js} +1 -1
  137. package/dist/client/assets/{ReplayOutpost-CvWQa30T.js → ReplayOutpost-DlRg3172.js} +1 -1
  138. package/dist/client/assets/{RepoDiffEmbedScreen-Cbu0_PJW.js → RepoDiffEmbedScreen-CVUMnt6A.js} +1 -1
  139. package/dist/client/assets/{RepoDiffPageScreen-Chwm6GXL.js → RepoDiffPageScreen-D9-s5PyB.js} +1 -1
  140. package/dist/client/assets/{RepoDiffViewer-C2mb0Wj-.js → RepoDiffViewer-D7FN-oyY.js} +1 -1
  141. package/dist/client/assets/RepoDiffViewerLazy-BpMR7tlx.js +2 -0
  142. package/dist/client/assets/{ReposScreen-C7JZQmyh.js → ReposScreen-BQ7HO1om.js} +2 -2
  143. package/dist/client/assets/{RiggedWorkerCharacter-DNe731GE.js → RiggedWorkerCharacter-CJMWlvV-.js} +1 -1
  144. package/dist/client/assets/{SageModelStudio-BR1J2D4R.js → SageModelStudio-B526NSnw.js} +1 -1
  145. package/dist/client/assets/{ScoutDeckSurface-flRamdvE.js → ScoutDeckSurface-ChkvGyEW.js} +1 -1
  146. package/dist/client/assets/{ScoutSurface-BpklGmDL.js → ScoutSurface-6g1f5chk.js} +1 -1
  147. package/dist/client/assets/{ScoutbotFxLab-DeK7ySWZ.js → ScoutbotFxLab-BuwBdnPf.js} +1 -1
  148. package/dist/client/assets/{SecondaryNav-BkTn5tkq.js → SecondaryNav-Bs-_VwTC.js} +1 -1
  149. package/dist/client/assets/{SessionEmbedScreen-CcQN6xlo.js → SessionEmbedScreen-C2wf35-P.js} +1 -1
  150. package/dist/client/assets/{SessionObserve-DaqDhqDI.js → SessionObserve-B64YsYhy.js} +9 -9
  151. package/dist/client/assets/{SessionObserve-BOBJSfs0.css → SessionObserve-CDdJ7fAE.css} +1 -1
  152. package/dist/client/assets/{SessionObserveEvidence-Drv-D8Oh.js → SessionObserveEvidence-CS1aQBpQ.js} +1 -1
  153. package/dist/client/assets/SessionRefScreen-DURV0MpF.js +1 -0
  154. package/dist/client/assets/SessionsScreen-D71ZR-8t.js +1 -0
  155. package/dist/client/assets/{SettingsDrawer-BDapR4E9.js → SettingsDrawer-Nz98oBVl.js} +3 -3
  156. package/dist/client/assets/SettingsScreen-CYBHal6y.js +1 -0
  157. package/dist/client/assets/{SharedFloorCharacter-CSYG_t9t.js → SharedFloorCharacter-V04kD5T9.js} +1 -1
  158. package/dist/client/assets/SharedWorkFloor-C0xxW4SN.js +2 -0
  159. package/dist/client/assets/{ShikiPane-BudrOxNK.js → ShikiPane-XwFI-pCp.js} +1 -1
  160. package/dist/client/assets/{SlidePanel-Datu7XG4.js → SlidePanel-BMpkXai_.js} +1 -1
  161. package/dist/client/assets/SpaceSwitcher-BfeIf-ad.js +1 -0
  162. package/dist/client/assets/{SpriteAvatar-BW1JzkDt.js → SpriteAvatar-aHeF4ZQZ.js} +1 -1
  163. package/dist/client/assets/{SproutActionSprite-DveCzg6l.js → SproutActionSprite-DI5N3gOj.js} +1 -1
  164. package/dist/client/assets/{StatusPill-MxYClPG5.js → StatusPill-Dw4LP7wu.js} +1 -1
  165. package/dist/client/assets/{TailView-Dn7uWmPz.js → TailView-BofjmUMJ.js} +2 -2
  166. package/dist/client/assets/Terminal-jIqnIZZ6.js +4 -0
  167. package/dist/client/assets/TerminalEmbedScreen-3XsjuySR.js +1 -0
  168. package/dist/client/assets/{TerminalHeaderMount-DCGstkZ4.js → TerminalHeaderMount-CwbQhXcI.js} +1 -1
  169. package/dist/client/assets/TerminalRelay--qOBwnbR.js +46 -0
  170. package/dist/client/assets/{TextDocumentSurface-BhYvAB0o.js → TextDocumentSurface-BK6Qy41F.js} +1 -1
  171. package/dist/client/assets/{TmuxPeek-BhK0V9Qt.js → TmuxPeek-DpUT9Tpc.js} +1 -1
  172. package/dist/client/assets/{VoicePermissionsPanel-CecFWzva.js → VoicePermissionsPanel-D35fOnQj.js} +1 -1
  173. package/dist/client/assets/{WorkDetailScreen-CwtRCm_-.js → WorkDetailScreen-Bcf_yHhU.js} +2 -2
  174. package/dist/client/assets/{WorkFilesViewer-DJHftsH9.js → WorkFilesViewer-t8AEyx3Q.js} +1 -1
  175. package/dist/client/assets/{WorkRunView-x5PH1byG.js → WorkRunView-_mhG_FR2.js} +1 -1
  176. package/dist/client/assets/WorldActorTalk-CKerDikx.js +1 -0
  177. package/dist/client/assets/{WorldCharacter-Dn4sIXNP.js → WorldCharacter-BRrj3MQN.js} +1 -1
  178. package/dist/client/assets/{WorldMinimap-Blqg0d5r.js → WorldMinimap-DOptgrc4.js} +1 -1
  179. package/dist/client/assets/{WorldSky-DV9bpvXj.js → WorldSky-D-RJzSa6.js} +1 -1
  180. package/dist/client/assets/{activity-CSUhvjD0.js → activity-BJqFrZyB.js} +1 -1
  181. package/dist/client/assets/{addon-fit-MR98IWES.js → addon-fit-CHohcvS3.js} +1 -1
  182. package/dist/client/assets/{addon-webgl-CIIKXrvK.js → addon-webgl-CaRy2x2b.js} +1 -1
  183. package/dist/client/assets/agent-autocomplete-_u9o5EZu.js +2 -0
  184. package/dist/client/assets/{agent-essentials-8t2il7PV.js → agent-essentials-bKWYOZaH.js} +1 -1
  185. package/dist/client/assets/{agent-floor-actor-3v9drnxh.js → agent-floor-actor-DW8zLht0.js} +1 -1
  186. package/dist/client/assets/{agent-lane-card-model-l0stnU9N.js → agent-lane-card-model-CeqQGp-8.js} +1 -1
  187. package/dist/client/assets/{agent-lane-detail-Db7KyAlf.js → agent-lane-detail-Ti3trpfH.js} +1 -1
  188. package/dist/client/assets/{agent-lane-preview-B8lsQJOQ.js → agent-lane-preview-Dpa3DuOn.js} +1 -1
  189. package/dist/client/assets/{agent-lanes-model-CX0wTcnF.js → agent-lanes-model-DMAdqCmK.js} +1 -1
  190. package/dist/client/assets/{agent-specialization-CiVxQsFT.js → agent-specialization-BplZUa_0.js} +1 -1
  191. package/dist/client/assets/{api-B9_IqFKY.js → api-BQYTwoz6.js} +1 -1
  192. package/dist/client/assets/{api-CaROe5_H.js → api-DSqpVKC7.js} +1 -1
  193. package/dist/client/assets/{arc.es-BzhWalCl.js → arc.es-CubLvQ4W.js} +1 -1
  194. package/dist/client/assets/{arrow-left-PuKdO3NM.js → arrow-left-DFfKAq0d.js} +1 -1
  195. package/dist/client/assets/{arrow-right-ldbfp4SZ.js → arrow-right-DmAWnyAH.js} +1 -1
  196. package/dist/client/assets/{arrow-up-right-Hn754ybA.js → arrow-up-right-B0aLKiyF.js} +1 -1
  197. package/dist/client/assets/at-sign-DM7xeppo.js +1 -0
  198. package/dist/client/assets/{book-open-BlJnpf2U.js → book-open-BL9qvhEI.js} +1 -1
  199. package/dist/client/assets/{bot-CfN9PSBF.js → bot-BhAVbcCA.js} +1 -1
  200. package/dist/client/assets/{cache-DEy9E34b.js → cache-DGBo3vIf.js} +1 -1
  201. package/dist/client/assets/chat-api-BPVC0asu.js +1 -0
  202. package/dist/client/assets/chat-space-model-B6Jg2CY4.js +4 -0
  203. package/dist/client/assets/{check-B8dMv3Is.js → check-g7D7-c1J.js} +1 -1
  204. package/dist/client/assets/{chevron-down-B5eMsn5c.js → chevron-down-CDzRQQGl.js} +1 -1
  205. package/dist/client/assets/{chevron-right-C7UGFpkl.js → chevron-right-DKGTLiqc.js} +1 -1
  206. package/dist/client/assets/{chevron-up-BHOEgHcn.js → chevron-up-DX7R6KY2.js} +1 -1
  207. package/dist/client/assets/{chunk-HRAB3GC3-C5X-kFhb.js → chunk-HRAB3GC3-Dvk_QpRq.js} +1 -1
  208. package/dist/client/assets/{clock-DFcRbtrl.js → clock-CQb4FeMf.js} +1 -1
  209. package/dist/client/assets/{code-xml-BmyLM0I2.js → code-xml-Cmadr3pQ.js} +1 -1
  210. package/dist/client/assets/{coffee-C_D9zooM.js → coffee-ljG1_krY.js} +1 -1
  211. package/dist/client/assets/{compass-DTZdCpv9.js → compass-CvzkzkIh.js} +1 -1
  212. package/dist/client/assets/content-0AXa0klu.js +1 -0
  213. package/dist/client/assets/content-BEyJ19Lx.js +1 -0
  214. package/dist/client/assets/content-BN5weWKW.js +1 -0
  215. package/dist/client/assets/content-BNokkm7C.js +1 -0
  216. package/dist/client/assets/content-BV4PUM9q.js +1 -0
  217. package/dist/client/assets/content-BxUPlcx5.js +1 -0
  218. package/dist/client/assets/content-CIC5sku8.js +1 -0
  219. package/dist/client/assets/content-CKJ9zb7Z.js +1 -0
  220. package/dist/client/assets/content-CdkTyxqk.js +1 -0
  221. package/dist/client/assets/content-CnhhSCZq.js +1 -0
  222. package/dist/client/assets/content-D1Ze_FG9.js +1 -0
  223. package/dist/client/assets/content-DY3F9Vfr.js +1 -0
  224. package/dist/client/assets/content-DrKBYpcb.js +1 -0
  225. package/dist/client/assets/content-LSStQYj5.js +1 -0
  226. package/dist/client/assets/content-YvU-D0hF.js +1 -0
  227. package/dist/client/assets/content-oKQMyVnH.js +1 -0
  228. package/dist/client/assets/{context-budget-DemtXu7E.js → context-budget-8qFKqM-j.js} +1 -1
  229. package/dist/client/assets/{conversation-icons-BQ4OeOmr.js → conversation-icons-CIRaxmid.js} +1 -1
  230. package/dist/client/assets/{conversation-model-BGFHoxQ0.js → conversation-model-m8HhzroS.js} +1 -1
  231. package/dist/client/assets/conversation-motion-features-D9PxLoDt.js +1 -0
  232. package/dist/client/assets/{copy-D9WUpQRf.js → copy-BGOC1tJB.js} +1 -1
  233. package/dist/client/assets/{cpu-Ck_4tB_-.js → cpu-Q6nrHFTN.js} +1 -1
  234. package/dist/client/assets/{createLucideIcon-DkjnzvcJ.js → createLucideIcon-ChvMq-zl.js} +1 -1
  235. package/dist/client/assets/{credentials-C4VXz2hr.js → credentials-OeoF-VKJ.js} +1 -1
  236. package/dist/client/assets/discover-DlwbftpC.js +2 -0
  237. package/dist/client/assets/embed-entry-c0lwtjBG.js +2 -0
  238. package/dist/client/assets/{external-link-RT4Ph-6-.js → external-link-BVccgH0n.js} +1 -1
  239. package/dist/client/assets/{eye-CtqSV8BS.js → eye-CsGfEVR6.js} +1 -1
  240. package/dist/client/assets/{file-code-corner-D_Aptal2.js → file-code-corner-Be6da5l3.js} +1 -1
  241. package/dist/client/assets/{file-text-ChtICwub.js → file-text-DP6txVW-.js} +1 -1
  242. package/dist/client/assets/{flag-CqdOxVkI.js → flag-DAFE2wZ5.js} +1 -1
  243. package/dist/client/assets/{floor-context-model-DZBpo_oD.js → floor-context-model-rWKqaKmV.js} +1 -1
  244. package/dist/client/assets/{floor-message-passes-CJh9f8Jp.js → floor-message-passes-CO3Ix_wR.js} +1 -1
  245. package/dist/client/assets/{folder-0fWevPvQ.js → folder-B_S7gBVr.js} +1 -1
  246. package/dist/client/assets/{gauge-Dgtfxf_o.js → gauge-DQCGlE3o.js} +1 -1
  247. package/dist/client/assets/{gestures-BDCZ1FRG.js → gestures-CofqY4Km.js} +1 -1
  248. package/dist/client/assets/{git-branch-CA3cHKCI.js → git-branch-DcUCsWdJ.js} +1 -1
  249. package/dist/client/assets/{go-shortcuts-DKtw4qYx.js → go-shortcuts-KQy-ZOpV.js} +1 -1
  250. package/dist/client/assets/{home-moving-signal-B7m-ngb2.js → home-moving-signal-BIHUGNfI.js} +1 -1
  251. package/dist/client/assets/home-now-card-CaLgZze2.js +1 -0
  252. package/dist/client/assets/{home-now-card-nano-D1ScGrgv.js → home-now-card-nano-CvU8B61b.js} +1 -1
  253. package/dist/client/assets/hooks-DaUOREpP.js +2 -0
  254. package/dist/client/assets/index-CGbs0SBm.css +1 -0
  255. package/dist/client/assets/index-CbqBwfIW.js +1 -0
  256. package/dist/client/assets/index-CyPMl7Up.js +1 -0
  257. package/dist/client/assets/index-DReVb7jZ.js +10 -0
  258. package/dist/client/assets/index-PQpJveGO.js +1 -0
  259. package/dist/client/assets/{index-CvsM3jm8.js → index-kkXUq-zf.js} +1 -1
  260. package/dist/client/assets/{inspector-panel-BLhDODb3.js → inspector-panel-CLU7wjnT.js} +2 -2
  261. package/dist/client/assets/{keyboard-nav-CXfav14z.js → keyboard-nav-CJXPaHXj.js} +1 -1
  262. package/dist/client/assets/lane-ask-display-BTVSakyo.js +18 -0
  263. package/dist/client/assets/{lane-observe-BD21P8BB.js → lane-observe-CteDwdD-.js} +3 -3
  264. package/dist/client/assets/{lane-roster-store-DzNHP392.js → lane-roster-store-Ch9t6lb0.js} +1 -1
  265. package/dist/client/assets/{layers-Bolb8ejU.js → layers-BOwyWodP.js} +1 -1
  266. package/dist/client/assets/{layout-grid-DI9tVJ2E.js → layout-grid-B36Qsh0y.js} +1 -1
  267. package/dist/client/assets/left-0vBrvrBG.js +2 -0
  268. package/dist/client/assets/left-C6SyaqlJ.js +1 -0
  269. package/dist/client/assets/left-CTuXysZR.js +2 -0
  270. package/dist/client/assets/left-Cc6s4DT2.js +1 -0
  271. package/dist/client/assets/left-DF5caiyh.js +1 -0
  272. package/dist/client/assets/left-DgT4tWCx.js +1 -0
  273. package/dist/client/assets/left-R0wppTTr.js +1 -0
  274. package/dist/client/assets/left-advisor-C-kt8V28.js +1 -0
  275. package/dist/client/assets/left-agents-thnBO156.js +1 -0
  276. package/dist/client/assets/left-default-CT42fnpF.js +1 -0
  277. package/dist/client/assets/left-lanes-CSmZgciK.js +1 -0
  278. package/dist/client/assets/left-mission-C86x6i9h.js +1 -0
  279. package/dist/client/assets/library-DdhYL_9v.js +1 -0
  280. package/dist/client/assets/{loader-circle-DurUYl7E.js → loader-circle-DNUsuPWz.js} +1 -1
  281. package/dist/client/assets/{local-agents-D9fYYRyj.js → local-agents-I40PawYA.js} +1 -1
  282. package/dist/client/assets/{machine-children-RGS4Q0r6.js → machine-children-CdhNzDF0.js} +1 -1
  283. package/dist/client/assets/{mentions-Ctw1ECUC.js → mentions-Ck_Vjnyp.js} +1 -1
  284. package/dist/client/assets/{mesh-ops-CGpRk4ik.js → mesh-ops-DSlvHp-D.js} +1 -1
  285. package/dist/client/assets/{mesh-view-store-CliSYsmt.js → mesh-view-store-C1-mdP3P.js} +1 -1
  286. package/dist/client/assets/{message-circle-CSiJj6yo.js → message-circle-cI5_A5mj.js} +1 -1
  287. package/dist/client/assets/{message-markup-DgFSyb3f.js → message-markup-6Tgo4qFJ.js} +1 -1
  288. package/dist/client/assets/{message-square-NmXWtWLR.js → message-square-CJW4WRlo.js} +1 -1
  289. package/dist/client/assets/{mission-control-store-DZ29Mlj1.js → mission-control-store-p_cboAm4.js} +1 -1
  290. package/dist/client/assets/monitor-C7_cHlkC.js +1 -0
  291. package/dist/client/assets/{nav-destinations-CyXnw9kh.js → nav-destinations-CU_euC-Q.js} +1 -1
  292. package/dist/client/assets/{observe-CkfOxYx_.js → observe-CtS0l3zu.js} +1 -1
  293. package/dist/client/assets/{operator-attention-DGR4kOog.js → operator-attention-DBaRg5ep.js} +1 -1
  294. package/dist/client/assets/{page-status-CkS3SZu-.js → page-status-DwFR4wSw.js} +1 -1
  295. package/dist/client/assets/{panel-right-BNTJhy8M.js → panel-right-qP17MwMl.js} +1 -1
  296. package/dist/client/assets/{pause-DWS7YGQ3.js → pause-B_hliKuR.js} +1 -1
  297. package/dist/client/assets/{persistent-state-xsuk6Kc-.js → persistent-state-BUsTTZFE.js} +1 -1
  298. package/dist/client/assets/{pin-DWlD1BOF.js → pin-Oi4qHR6M.js} +1 -1
  299. package/dist/client/assets/{play-D_Pggug4.js → play-CVeRmqLH.js} +1 -1
  300. package/dist/client/assets/{plus-D_wLGJGT.js → plus-D5NLH_fM.js} +1 -1
  301. package/dist/client/assets/profile-BegEUmB7.js +1 -0
  302. package/dist/client/assets/projects-inbox-CKPLZN8s.css +1 -0
  303. package/dist/client/assets/{projects-inbox-DvbqJO3q.js → projects-inbox-CfwxCTdN.js} +1 -1
  304. package/dist/client/assets/provider-DwmCoSlc.js +1 -0
  305. package/dist/client/assets/{proxy-DOG46ja4.js → proxy-DgzP27W8.js} +1 -1
  306. package/dist/client/assets/{radio-C_jtwbFP.js → radio-Cas2qg1D.js} +1 -1
  307. package/dist/client/assets/{refresh-cw-Da9DDLk2.js → refresh-cw-IcD2lPoT.js} +1 -1
  308. package/dist/client/assets/resolve-panes-pfZTezKo.js +1 -0
  309. package/dist/client/assets/resolve-sidebar-context-D5ksvrb_.js +1 -0
  310. package/dist/client/assets/right-BDaCJ0CF.js +1 -0
  311. package/dist/client/assets/right-BP6lXRFS.js +1 -0
  312. package/dist/client/assets/right-Cb1VCrdj.js +1 -0
  313. package/dist/client/assets/right-CeFaxfBo.js +1 -0
  314. package/dist/client/assets/right-Ck2SrYCj.js +1 -0
  315. package/dist/client/assets/right-D-uv5YfF.js +1 -0
  316. package/dist/client/assets/right-DJMSICky.js +1 -0
  317. package/dist/client/assets/right-Dnljs8ah.js +1 -0
  318. package/dist/client/assets/right-SdCSF8PP.js +1 -0
  319. package/dist/client/assets/{right-BLJsc2-p.js → right-cjPTwPXS.js} +1 -1
  320. package/dist/client/assets/{rocket-DyrYDo8V.js → rocket-DAqYvu8I.js} +1 -1
  321. package/dist/client/assets/router-C-MF5-mb.js +1 -0
  322. package/dist/client/assets/{runtime-picker-DdsttHHc.js → runtime-picker-C_AVYF63.js} +1 -1
  323. package/dist/client/assets/{scope-views-B7PZGlhY.js → scope-views-Dl3ml9OZ.js} +1 -1
  324. package/dist/client/assets/{scout-voice-DOQ_B77g.js → scout-voice-CqAyfblr.js} +1 -1
  325. package/dist/client/assets/{scoutbot-markdown-Bz0Vbto2.js → scoutbot-markdown-DwvGQOWo.js} +1 -1
  326. package/dist/client/assets/{scroll-text-DwC8r2g6.js → scroll-text-B0tKI9Sg.js} +1 -1
  327. package/dist/client/assets/{search-C4VlW_0l.js → search-UsM-9-_W.js} +1 -1
  328. package/dist/client/assets/secondaryNavConfig-D15P1Y9k.css +1 -0
  329. package/dist/client/assets/secondaryNavConfig-DzNHk6IH.js +1 -0
  330. package/dist/client/assets/{selection-bridge-B5jqyMR9.js → selection-bridge-OTS2iFkt.js} +1 -1
  331. package/dist/client/assets/{send-horizontal-pOtGI7FM.js → send-horizontal-BlQsRK6C.js} +1 -1
  332. package/dist/client/assets/{send-to-agent-session-BZGq_ycy.js → send-to-agent-session-C1mgqdow.js} +1 -1
  333. package/dist/client/assets/{server-ms1yxUYJ.js → server-DBlPW0Mp.js} +1 -1
  334. package/dist/client/assets/{session-catalog-s-T_w41t.js → session-catalog-CnpZMB7C.js} +1 -1
  335. package/dist/client/assets/{session-table-CDx_16xf.js → session-table-CGkfG5Yd.js} +1 -1
  336. package/dist/client/assets/{sessions-view-DzYGsKWS.js → sessions-view-Bge4XZ4I.js} +1 -1
  337. package/dist/client/assets/{settings-TJIkkZ0P.js → settings-C69Zjrpq.js} +1 -1
  338. package/dist/client/assets/{shared-work-artifacts-4IIQXQfc.js → shared-work-artifacts-DfNl9KTo.js} +1 -1
  339. package/dist/client/assets/{sliders-horizontal-CHf3ntw0.js → sliders-horizontal-6bzeod7c.js} +1 -1
  340. package/dist/client/assets/{sparkles-BbOFw3d0.js → sparkles-Cc5lPZRv.js} +1 -1
  341. package/dist/client/assets/{sse-v5QLsOHV.js → sse-A8AyLH0g.js} +1 -1
  342. package/dist/client/assets/{tail-events-DQ46QBW1.js → tail-events-C4WdhVeK.js} +1 -1
  343. package/dist/client/assets/{terminal-96JWDYDL.js → terminal-DMZjX1es.js} +1 -1
  344. package/dist/client/assets/{terminal-relay-Bfx8pg80.js → terminal-relay-mO89dX-Y.js} +1 -1
  345. package/dist/client/assets/{terminal-sessions-Ch9aYlgi.js → terminal-sessions-3RfJpen8.js} +1 -1
  346. package/dist/client/assets/{terminal-takeover-BlpxpvSp.js → terminal-takeover-CZZsnPzj.js} +1 -1
  347. package/dist/client/assets/use-beside-D3cJpA5p.js +1 -0
  348. package/dist/client/assets/{use-conversation-list-A_YUf8lo.js → use-conversation-list-D5EnpVba.js} +1 -1
  349. package/dist/client/assets/{use-fleet-active-asks-DFs_u-vM.js → use-fleet-active-asks-D_QOmjg5.js} +1 -1
  350. package/dist/client/assets/{use-mesh-node-state-Ck9CYplv.js → use-mesh-node-state-3V3ADQ-G.js} +1 -1
  351. package/dist/client/assets/{use-mesh-ops-items-Be1WmwCg.js → use-mesh-ops-items-DI9GKWlF.js} +1 -1
  352. package/dist/client/assets/{use-reduced-motion-D7n3vK8t.js → use-reduced-motion-CiaZHMnk.js} +1 -1
  353. package/dist/client/assets/use-scout-dev-flags-CkdAHlDR.js +1 -0
  354. package/dist/client/assets/{useAgentHoverCard-Dr-OjNFF.js → useAgentHoverCard-A3QGXqIy.js} +1 -1
  355. package/dist/client/assets/useContentSecondaryNav-DrL_nkCZ.js +1 -0
  356. package/dist/client/assets/{useEmbedHeadline-BL8wQawZ.js → useEmbedHeadline-atkQVfGw.js} +1 -1
  357. package/dist/client/assets/usePersistentState-Y8XwSTg-.js +1 -0
  358. package/dist/client/assets/{usePierreRuntime-DJkRHMoe.js → usePierreRuntime-DTvcwISe.js} +1 -1
  359. package/dist/client/assets/users-RLK3P5U4.js +1 -0
  360. package/dist/client/assets/{wrench-BsMTSeji.js → wrench-B4maQJai.js} +1 -1
  361. package/dist/client/assets/{x-DI1ktCYb.js → x-rlMdRqJF.js} +1 -1
  362. package/dist/client/assets/{xterm-B1YBE4Gq.js → xterm-B1zHHOLQ.js} +1 -1
  363. package/dist/client/assets/{zap-sKPkh4sQ.js → zap-B4X0OrEw.js} +1 -1
  364. package/dist/client/index.html +15 -3
  365. package/dist/drizzle/0019_session_actor_targets.sql +227 -0
  366. package/dist/drizzle/README.md +19 -0
  367. package/dist/drizzle/meta/0019_snapshot.json +6804 -0
  368. package/dist/drizzle/meta/_journal.json +7 -0
  369. package/dist/highlights-eq9cgrbb.scm +604 -0
  370. package/dist/highlights-ghv9g403.scm +205 -0
  371. package/dist/highlights-hk7bwhj4.scm +284 -0
  372. package/dist/highlights-r812a2qc.scm +150 -0
  373. package/dist/highlights-x6tmsnaa.scm +115 -0
  374. package/dist/injections-73j83es3.scm +27 -0
  375. package/dist/main.mjs +1214 -722
  376. package/dist/node/main.mjs +133 -22
  377. package/dist/pairing-runtime-controller.mjs +715 -492
  378. package/dist/runtime/base-daemon.mjs +14176 -58
  379. package/dist/runtime/broker-daemon.mjs +15520 -445
  380. package/dist/runtime/broker-process-manager.mjs +5 -3
  381. package/dist/runtime/mesh-discover.mjs +5 -3
  382. package/dist/scout-control-plane-web.mjs +21065 -3387
  383. package/dist/tree-sitter-javascript-nd0q4pe9.wasm +0 -0
  384. package/dist/tree-sitter-markdown-411r6y9b.wasm +0 -0
  385. package/dist/tree-sitter-markdown_inline-j5349f42.wasm +0 -0
  386. package/dist/tree-sitter-typescript-zxjzwt75.wasm +0 -0
  387. package/dist/tree-sitter-zig-e78zbjpm.wasm +0 -0
  388. package/dist/update-helper.mjs +83 -17
  389. package/package.json +2 -2
  390. package/dist/client/assets/ActivityScreen-DCALiEXY.js +0 -1
  391. package/dist/client/assets/AgentAdventures-NwTKeF0F.js +0 -1
  392. package/dist/client/assets/AgentConfigurationScreen-B2Hw0ce1.js +0 -1
  393. package/dist/client/assets/AgentDefinitionsWorkspace-CwZJ833X.js +0 -1
  394. package/dist/client/assets/AgentFloorView-l2wNKFob.js +0 -1
  395. package/dist/client/assets/AgentInfoScreen-ClZM1wQb.js +0 -1
  396. package/dist/client/assets/AgentLanesEmbedScreen-DqHwqY0X.js +0 -1
  397. package/dist/client/assets/AgentMasterScreen-By6DN0jF.js +0 -1
  398. package/dist/client/assets/AgentsConsole-Dq0S_hRA.js +0 -1
  399. package/dist/client/assets/AgentsScreen-Bi9Lx47B.js +0 -1
  400. package/dist/client/assets/AgentsSubnav-BOobgtGE.js +0 -1
  401. package/dist/client/assets/BriefingDetailScreen-sprFl4Nk.js +0 -1
  402. package/dist/client/assets/BrokerScreen-CejzhRsB.js +0 -8
  403. package/dist/client/assets/ConversationFeedRows-DVqnZQH0.js +0 -1
  404. package/dist/client/assets/ConversationHeader-CCSU8uo_.js +0 -1
  405. package/dist/client/assets/ConversationScreen-tTP6B_F-.js +0 -2
  406. package/dist/client/assets/CrewWorkspaces-4O8dgRUD.js +0 -1
  407. package/dist/client/assets/CrewWorkspaces-Diq11KDq.css +0 -1
  408. package/dist/client/assets/FlightObserveScreen-DDXfNbsw.js +0 -1
  409. package/dist/client/assets/FloorResourcesSheet-Djrgd_ZU.js +0 -1
  410. package/dist/client/assets/HarnessMark-Bt47OeHy.js +0 -1
  411. package/dist/client/assets/HarnessesScreen-M84sFjWY.js +0 -1
  412. package/dist/client/assets/KnowledgeSearchScreen-WC0WhFio.js +0 -1
  413. package/dist/client/assets/LaneTraceDetailSheet-mAhj7MJi.js +0 -1
  414. package/dist/client/assets/MeshScreen-DlfiMlaR.js +0 -1
  415. package/dist/client/assets/MessagesScreen-BZ7yaGJx.js +0 -1
  416. package/dist/client/assets/MissionControlView-DpGhxG4a.js +0 -1
  417. package/dist/client/assets/MissionLeftAgentRow-DhhRRim0.js +0 -1
  418. package/dist/client/assets/NativeAreaScreen-BQyHHRAM.js +0 -1
  419. package/dist/client/assets/NativeAreaScreen-Ditv-TYW.js +0 -1
  420. package/dist/client/assets/NativeAreaScreen-Dq3uPSEI.js +0 -1
  421. package/dist/client/assets/NewChatComposer-JjLbm3W2.js +0 -19
  422. package/dist/client/assets/OpenScoutAppShell-CzKbjwCA.js +0 -22
  423. package/dist/client/assets/OpsAgentsView-CZbtkcQH.js +0 -1
  424. package/dist/client/assets/OpsScreen-DJq-aBmX.js +0 -1
  425. package/dist/client/assets/OpsSubnav-9sURjajO.js +0 -1
  426. package/dist/client/assets/ProjectAgentProfile-q_1tMJIL.js +0 -1
  427. package/dist/client/assets/ProjectAgentProfileHero-DyEFyTFs.js +0 -1
  428. package/dist/client/assets/ProjectsInbox-Bs8I__my.js +0 -2
  429. package/dist/client/assets/ProjectsRail-Deb38OJ1.js +0 -1
  430. package/dist/client/assets/ProjectsScreen-CgLiYiss.js +0 -1
  431. package/dist/client/assets/ProjectsThreadAside-C0Yw3yIL.js +0 -1
  432. package/dist/client/assets/RawSessionsTable-DIhmlvk-.js +0 -1
  433. package/dist/client/assets/RealtimeVoiceScreen-3oU7b7V5.js +0 -1
  434. package/dist/client/assets/RepoDiffViewerLazy-BQ6ZCrsq.js +0 -2
  435. package/dist/client/assets/SessionRefScreen-BOQ1_ydg.js +0 -1
  436. package/dist/client/assets/SessionsScreen-R8QKvoey.js +0 -1
  437. package/dist/client/assets/SettingsScreen-DirtO7Z0.js +0 -1
  438. package/dist/client/assets/SharedWorkFloor-yPWFLZwX.js +0 -2
  439. package/dist/client/assets/Terminal-D-DsQlmV.js +0 -4
  440. package/dist/client/assets/TerminalEmbedScreen-9Gmln759.js +0 -1
  441. package/dist/client/assets/WorldActorTalk-uIH2jGqA.js +0 -1
  442. package/dist/client/assets/agent-autocomplete-CeHQpuG9.js +0 -10
  443. package/dist/client/assets/arrow-down-WoVlkUmg.js +0 -1
  444. package/dist/client/assets/chunk-JTPDIGGW-ZC-98AHT.js +0 -46
  445. package/dist/client/assets/chunk-T65CQEWV-CSVUz2rY.js +0 -1
  446. package/dist/client/assets/chunk-YOZR3KYS-B59jqwO0.js +0 -2
  447. package/dist/client/assets/content-B5Q4pb9R.js +0 -1
  448. package/dist/client/assets/content-BK1IfOZs.js +0 -1
  449. package/dist/client/assets/content-BeEsWLEm.js +0 -1
  450. package/dist/client/assets/content-BkOwEknW.js +0 -1
  451. package/dist/client/assets/content-C32W5kAG.js +0 -1
  452. package/dist/client/assets/content-CoqyLs9v.js +0 -1
  453. package/dist/client/assets/content-CwpdIS5b.js +0 -1
  454. package/dist/client/assets/content-DS2OkJ3Q.js +0 -1
  455. package/dist/client/assets/content-DXKaPDfn.js +0 -1
  456. package/dist/client/assets/content-DZt5-dkI.js +0 -1
  457. package/dist/client/assets/content-DbQJH8L1.js +0 -1
  458. package/dist/client/assets/content-DetoiaHq.js +0 -1
  459. package/dist/client/assets/content-Dhu3wL7J.js +0 -1
  460. package/dist/client/assets/content-Dpv34iZu.js +0 -1
  461. package/dist/client/assets/content-TtQJb61D.js +0 -1
  462. package/dist/client/assets/content-ymNb2R7g.js +0 -1
  463. package/dist/client/assets/conversation-motion-features-9x8uZpwh.js +0 -1
  464. package/dist/client/assets/discover-C8IOY7_K.js +0 -2
  465. package/dist/client/assets/embed-entry-CG3CfCbm.js +0 -2
  466. package/dist/client/assets/home-now-card-DduXkHRR.js +0 -1
  467. package/dist/client/assets/hooks-C6VyQTQe.js +0 -2
  468. package/dist/client/assets/index-C5cX8dkl.js +0 -1
  469. package/dist/client/assets/index-C8uS5szO.js +0 -10
  470. package/dist/client/assets/index-Ck1__1yL.css +0 -1
  471. package/dist/client/assets/index-ClOOrVG1.js +0 -1
  472. package/dist/client/assets/index-Crtgfc9I.js +0 -1
  473. package/dist/client/assets/lane-ask-display-B6iCAVcd.js +0 -18
  474. package/dist/client/assets/left-B-_z_nqj.js +0 -2
  475. package/dist/client/assets/left-B1LY7rJc.js +0 -1
  476. package/dist/client/assets/left-C6bdjWcG.js +0 -2
  477. package/dist/client/assets/left-CF4iuqlz.js +0 -1
  478. package/dist/client/assets/left-DLtNyZl1.js +0 -1
  479. package/dist/client/assets/left-Fpxoq-VY.js +0 -1
  480. package/dist/client/assets/left-N2wXfTlp.js +0 -1
  481. package/dist/client/assets/left-advisor-CeIjCKbd.js +0 -1
  482. package/dist/client/assets/left-agents-upjHVlOj.js +0 -1
  483. package/dist/client/assets/left-default-08gmdCtb.js +0 -1
  484. package/dist/client/assets/left-lanes-Cvsp73Hw.js +0 -1
  485. package/dist/client/assets/left-mission-W1LLaz74.js +0 -1
  486. package/dist/client/assets/library-DLKBVUJ6.js +0 -1
  487. package/dist/client/assets/profile-C3KgiZvc.js +0 -1
  488. package/dist/client/assets/projects-inbox-BIW7nv-H.css +0 -1
  489. package/dist/client/assets/resolve-panes-DuowGRTk.js +0 -1
  490. package/dist/client/assets/resolve-sidebar-context-BkTbqteq.js +0 -1
  491. package/dist/client/assets/right-B9OUA6Ho.js +0 -1
  492. package/dist/client/assets/right-BDQnjetX.js +0 -1
  493. package/dist/client/assets/right-BUbKHmRH.js +0 -1
  494. package/dist/client/assets/right-Ci2IcD4s.js +0 -1
  495. package/dist/client/assets/right-CmCce3e5.js +0 -1
  496. package/dist/client/assets/right-D7w0zM5a.js +0 -1
  497. package/dist/client/assets/right-DIoON_bv.js +0 -1
  498. package/dist/client/assets/right-E0Jr3VN5.js +0 -1
  499. package/dist/client/assets/right-lCdAk9dW.js +0 -1
  500. package/dist/client/assets/router-BKiMcYa7.js +0 -1
  501. package/dist/client/assets/secondaryNavConfig-DAXIFtVd.js +0 -1
  502. package/dist/client/assets/secondaryNavConfig-xssF_ubT.css +0 -1
  503. package/dist/client/assets/use-beside-Df-F2Uvg.js +0 -1
  504. package/dist/client/assets/use-scout-dev-flags-0TXfQcG0.js +0 -1
  505. package/dist/client/assets/useContentSecondaryNav-CGvMOVGY.js +0 -1
@@ -1 +1 @@
1
- import{d as G,f as W}from"./context-budget-DemtXu7E.js";import{a as O}from"./agent-state-DDhnFEEP.js";import{t as D}from"./time-Dhsh_2EG.js";import{l as E}from"./lane-observe-BD21P8BB.js";import{t as H,s as N}from"./bash-format-BRV5C6Gv.js";import{b as _,h as z,f as y}from"./agent-lane-preview-B8lsQJOQ.js";import{l as J}from"./agent-lanes-model-CX0wTcnF.js";const g=14;function U(o){const t=(o??"").toLowerCase();return/bash|shell|exec|run|command|terminal/.test(t)?"❯":/edit|write|apply|patch|create|update|str_replace|multiedit/.test(t)?"✎":/read|view|cat|open/.test(t)?"◎":/grep|search|glob|find|rg|ripgrep/.test(t)?"⌕":/fetch|web|browse|url/.test(t)?"⤓":"▸"}function V(o){const t=o.arg?.trim(),e=!!t&&(t.startsWith("{")||t.startsWith("["));let a;if(!t||e||t==="started"||t==="completed")a=o.tool??"tool";else{let i=H(t);i=N(i).rest||i,a=E(i,56)}return{mark:U(o.tool),tone:"tool",text:a,full:t||(o.tool??a)}}function q(o){const t=o.replace(/\/+$/u,"").split(/[\\/]/u).filter(Boolean);return t.length===0?o:t.slice(-2).join("/")}function T(o){const t=o?.trim();return t?(t.split("/").pop()??t).replace(/\.jsonl$/u,"").slice(0,8):null}function K(o){const t=o?.trim();if(!t)return null;let e=t.replace(/^[a-z0-9.]+\//iu,"");return e=e.replace(/^(claude|anthropic)-/iu,""),e=e.replace(/-(\d{8})$/u,""),e=e.replace(/-(\d+)-(\d+)(?=$|-)/gu,"-$1.$2"),e||t}function Q(o){return o==="created"?"new":o==="read"?"read":"mod"}function v(o){return(o??"").replace(/^\s*[←→↳⇒➜]+\s*/u,"").trim()}function X(o){const t=o.trim().toLowerCase().replace(/[[\]…]/gu,"").trim();return t===""||t==="thinking"||t==="running tool"||t==="turn update"}function se(o,t){const{agent:e,observe:a,source:i,facts:r}=o,l=_(a,e,{isLive:t.isLive}),u=a?.metadata?.session,f=r?.cwd??e.cwd??e.projectRoot??null,S=f?q(f):null,C=e.harnessSessionId?.trim()||null,$=e.agentClass==="operator"?{label:"operator",title:[e.role?`Role: ${e.role}`:"Privileged operator agent",e.authorityProfile?`Reads: ${e.authorityProfile.readTools.join(", ")||"none"}`:null,e.authorityProfile?`Writes: ${e.authorityProfile.writeTools.join(", ")||"none"}`:null,e.authorityProfile?`Shell: ${e.authorityProfile.shell?"allowed":"blocked"}; code writes: ${e.authorityProfile.codebaseWrites?"allowed":"blocked"}`:null,e.runtimePolicy?.sandbox?`Sandbox: ${e.runtimePolicy.sandbox}`:null].filter(Boolean).join(" · ")}:null,m=(r?.touchedFiles.length?r.touchedFiles:l?.files??[]).filter(n=>z(y(n))),F=n=>{const c=Q(n.state);return{mark:c,tone:c,text:y(n),full:n.path}},p=n=>{const c=n.map(F);return{rows:c.slice(0,g),more:Math.max(0,c.length-g)}},w=(a?.events??[]).filter(n=>n.kind==="tool"),b=w.slice(-g).reverse().map(V),I={tools:{rows:b,more:Math.max(0,w.length-b.length)},edits:p(m.filter(n=>n.state!=="read")),reads:p(m.filter(n=>n.state==="read")),files:p(m)},s=r?.usage??a?.metadata?.usage??null,h=G(s,{model:r?.model??l?.model??e.model??u?.model??null,adapterType:e.harness??l?.harness??u?.adapterType??null}),A=h?Math.min(100,h.pct):null,L=h?.usedLabel??W(s?.contextInputTokens),R=r?.turn?.index??u?.turnCount??null,k=s?[{label:"in",value:s.inputTokens},{label:"out",value:s.outputTokens},{label:"cache rd",value:s.cacheReadInputTokens},{label:"cache wr",value:s.cacheCreationInputTokens},{label:"total",value:s.totalTokens},{label:"reasoning",value:s.reasoningOutputTokens}].filter(n=>typeof n.value=="number"):[],j=k.length>0?{total:typeof s?.totalTokens=="number"?s.totalTokens:null,dials:k}:null,P=O(e.state??null,e),M=l?.headlineFrom==="user"?"from":l?.headlineFrom==="agent"?"to":null,x=v(l?.headline),d=!l||X(x),B={dir:d?null:M,text:d?P?"thinking…":"idle":x,full:d||!l||l.headFull===l.headline?null:v(l.headFull),placeholder:d};return{name:J(e,i),authority:$,harness:e.harness??l?.harness??u?.adapterType??null,model:K(r?.model??l?.model??e.model??u?.model??null),effort:r?.effort??u?.effort??null,cwd:S,cwdFull:f,branch:r?.branch??l?.branch??e.branch??null,sessionId:T(e.harnessSessionId),sessionIdFull:C,parentSessionId:r?.parentSessionId??null,parentSessionLabel:r?.parentSessionId?[r.parentAgentName,T(r.parentSessionId)].filter(Boolean).join(" · "):null,time:o.lastActiveAt?D(o.lastActiveAt,t.nowMs):null,working:P,head:B,stats:{tools:l?.stats.tools??0,edits:l?.stats.edits??0,reads:l?.stats.reads??0,files:l?.stats.files??0},context:A,tokens:L,turns:R,tokenUsage:j,pops:I}}export{se as a};
1
+ import{d as G,f as W}from"./context-budget-8qFKqM-j.js";import{a as O}from"./agent-state-DDhnFEEP.js";import{t as D}from"./time-Dhsh_2EG.js";import{l as E}from"./lane-observe-CteDwdD-.js";import{t as H,s as N}from"./bash-format-BRV5C6Gv.js";import{b as _,h as z,f as y}from"./agent-lane-preview-Dpa3DuOn.js";import{l as J}from"./agent-lanes-model-DMAdqCmK.js";const g=14;function U(o){const t=(o??"").toLowerCase();return/bash|shell|exec|run|command|terminal/.test(t)?"❯":/edit|write|apply|patch|create|update|str_replace|multiedit/.test(t)?"✎":/read|view|cat|open/.test(t)?"◎":/grep|search|glob|find|rg|ripgrep/.test(t)?"⌕":/fetch|web|browse|url/.test(t)?"⤓":"▸"}function V(o){const t=o.arg?.trim(),e=!!t&&(t.startsWith("{")||t.startsWith("["));let a;if(!t||e||t==="started"||t==="completed")a=o.tool??"tool";else{let i=H(t);i=N(i).rest||i,a=E(i,56)}return{mark:U(o.tool),tone:"tool",text:a,full:t||(o.tool??a)}}function q(o){const t=o.replace(/\/+$/u,"").split(/[\\/]/u).filter(Boolean);return t.length===0?o:t.slice(-2).join("/")}function T(o){const t=o?.trim();return t?(t.split("/").pop()??t).replace(/\.jsonl$/u,"").slice(0,8):null}function K(o){const t=o?.trim();if(!t)return null;let e=t.replace(/^[a-z0-9.]+\//iu,"");return e=e.replace(/^(claude|anthropic)-/iu,""),e=e.replace(/-(\d{8})$/u,""),e=e.replace(/-(\d+)-(\d+)(?=$|-)/gu,"-$1.$2"),e||t}function Q(o){return o==="created"?"new":o==="read"?"read":"mod"}function v(o){return(o??"").replace(/^\s*[←→↳⇒➜]+\s*/u,"").trim()}function X(o){const t=o.trim().toLowerCase().replace(/[[\]…]/gu,"").trim();return t===""||t==="thinking"||t==="running tool"||t==="turn update"}function se(o,t){const{agent:e,observe:a,source:i,facts:r}=o,l=_(a,e,{isLive:t.isLive}),u=a?.metadata?.session,f=r?.cwd??e.cwd??e.projectRoot??null,S=f?q(f):null,C=e.harnessSessionId?.trim()||null,$=e.agentClass==="operator"?{label:"operator",title:[e.role?`Role: ${e.role}`:"Privileged operator agent",e.authorityProfile?`Reads: ${e.authorityProfile.readTools.join(", ")||"none"}`:null,e.authorityProfile?`Writes: ${e.authorityProfile.writeTools.join(", ")||"none"}`:null,e.authorityProfile?`Shell: ${e.authorityProfile.shell?"allowed":"blocked"}; code writes: ${e.authorityProfile.codebaseWrites?"allowed":"blocked"}`:null,e.runtimePolicy?.sandbox?`Sandbox: ${e.runtimePolicy.sandbox}`:null].filter(Boolean).join(" · ")}:null,m=(r?.touchedFiles.length?r.touchedFiles:l?.files??[]).filter(n=>z(y(n))),F=n=>{const c=Q(n.state);return{mark:c,tone:c,text:y(n),full:n.path}},p=n=>{const c=n.map(F);return{rows:c.slice(0,g),more:Math.max(0,c.length-g)}},w=(a?.events??[]).filter(n=>n.kind==="tool"),b=w.slice(-g).reverse().map(V),I={tools:{rows:b,more:Math.max(0,w.length-b.length)},edits:p(m.filter(n=>n.state!=="read")),reads:p(m.filter(n=>n.state==="read")),files:p(m)},s=r?.usage??a?.metadata?.usage??null,h=G(s,{model:r?.model??l?.model??e.model??u?.model??null,adapterType:e.harness??l?.harness??u?.adapterType??null}),A=h?Math.min(100,h.pct):null,L=h?.usedLabel??W(s?.contextInputTokens),R=r?.turn?.index??u?.turnCount??null,k=s?[{label:"in",value:s.inputTokens},{label:"out",value:s.outputTokens},{label:"cache rd",value:s.cacheReadInputTokens},{label:"cache wr",value:s.cacheCreationInputTokens},{label:"total",value:s.totalTokens},{label:"reasoning",value:s.reasoningOutputTokens}].filter(n=>typeof n.value=="number"):[],j=k.length>0?{total:typeof s?.totalTokens=="number"?s.totalTokens:null,dials:k}:null,P=O(e.state??null,e),M=l?.headlineFrom==="user"?"from":l?.headlineFrom==="agent"?"to":null,x=v(l?.headline),d=!l||X(x),B={dir:d?null:M,text:d?P?"thinking…":"idle":x,full:d||!l||l.headFull===l.headline?null:v(l.headFull),placeholder:d};return{name:J(e,i),authority:$,harness:e.harness??l?.harness??u?.adapterType??null,model:K(r?.model??l?.model??e.model??u?.model??null),effort:r?.effort??u?.effort??null,cwd:S,cwdFull:f,branch:r?.branch??l?.branch??e.branch??null,sessionId:T(e.harnessSessionId),sessionIdFull:C,parentSessionId:r?.parentSessionId??null,parentSessionLabel:r?.parentSessionId?[r.parentAgentName,T(r.parentSessionId)].filter(Boolean).join(" · "):null,time:o.lastActiveAt?D(o.lastActiveAt,t.nowMs):null,working:P,head:B,stats:{tools:l?.stats.tools??0,edits:l?.stats.edits??0,reads:l?.stats.reads??0,files:l?.stats.files??0},context:A,tokens:L,turns:R,tokenUsage:j,pops:I}}export{se as a};
@@ -1,2 +1,2 @@
1
- import{p as g}from"./lane-observe-BD21P8BB.js";import{o as w,a as k}from"./tail-display-DHSNmvor.js";function L(n){const{agent:t,observe:e}=n,s=e?.metadata?.session,r=e?.events??[],i=e?.files??[];return{tools:r.filter(o=>o.kind==="tool").length,edits:r.filter(o=>o.kind==="tool"&&k(o.tool)).length,reads:r.filter(o=>o.kind==="tool"&&w(o.tool)).length,thinks:r.filter(o=>o.kind==="think").length,files:i.length,events:r.length,model:s?.model??t.model??null,branch:s?.gitBranch??t.branch??null,harness:t.harness??s?.adapterType??null,cwd:s?.cwd??t.cwd??t.projectRoot??null,sessionId:s?.externalSessionId??t.harnessSessionId??null,usage:e?.metadata?.usage??null}}function v(n){return(L(n).cwd??n.facts?.cwd??n.agent.projectRoot??"").trim()||null}function N(n,t=10){return!n||n.files.length===0?[]:g(n.files).sort((e,s)=>{const r=e.state==="read"?0:1,i=s.state==="read"?0:1;return r!==i?i-r:s.lastT-e.lastT}).slice(0,t)}const y=new Set(["bash","shell","terminal","exec","run","command","exec_command","shell_command","local_shell","container_exec","container.exec"]);function b(n){return n.replace(/\\(["\\/bfnrt])/g,(t,e)=>{switch(e){case"n":return`
1
+ import{p as g}from"./lane-observe-CteDwdD-.js";import{o as w,a as k}from"./tail-display-DHSNmvor.js";function L(n){const{agent:t,observe:e}=n,s=e?.metadata?.session,r=e?.events??[],i=e?.files??[];return{tools:r.filter(o=>o.kind==="tool").length,edits:r.filter(o=>o.kind==="tool"&&k(o.tool)).length,reads:r.filter(o=>o.kind==="tool"&&w(o.tool)).length,thinks:r.filter(o=>o.kind==="think").length,files:i.length,events:r.length,model:s?.model??t.model??null,branch:s?.gitBranch??t.branch??null,harness:t.harness??s?.adapterType??null,cwd:s?.cwd??t.cwd??t.projectRoot??null,sessionId:s?.externalSessionId??t.harnessSessionId??null,usage:e?.metadata?.usage??null}}function v(n){return(L(n).cwd??n.facts?.cwd??n.agent.projectRoot??"").trim()||null}function N(n,t=10){return!n||n.files.length===0?[]:g(n.files).sort((e,s)=>{const r=e.state==="read"?0:1,i=s.state==="read"?0:1;return r!==i?i-r:s.lastT-e.lastT}).slice(0,t)}const y=new Set(["bash","shell","terminal","exec","run","command","exec_command","shell_command","local_shell","container_exec","container.exec"]);function b(n){return n.replace(/\\(["\\/bfnrt])/g,(t,e)=>{switch(e){case"n":return`
2
2
  `;case"t":return" ";case"r":return"\r";case"b":return"\b";case"f":return"\f";default:return e}})}function d(n){const t=n.filter(r=>typeof r=="string");if(t.length===0)return"";const e=t[0].replace(/^.*\//,"");return(t.length>=3&&(e==="bash"||e==="sh"||e==="zsh"||e==="fish")&&/^-[a-z]*c$/.test(t[1])?t.slice(2):t).join(" ").trim()}function C(n){const t=n?.trim();if(!t)return"";if(t.startsWith("{"))try{const e=JSON.parse(t);for(const s of["command","cmd","script","input","code"]){const r=e[s];if(typeof r=="string"&&r.trim())return r.trim();if(Array.isArray(r)){const i=d(r);if(i)return i}}}catch{const e=t.match(/"(?:command|cmd|script|input|code)"\s*:\s*"((?:[^"\\]|\\.)*)/);if(e&&e[1].trim())return b(e[1]).trim()}else if(t.startsWith("["))try{const e=JSON.parse(t);if(Array.isArray(e)){const s=d(e);if(s)return s}}catch{}return t}function S(n){const t=n.result;if(t)for(const e of["status","exit","matches","result","summary"]){const s=t[e];if(s!=null&&`${s}`.trim())return`${s}`.trim().slice(0,24)}return null}function B(n,t=12){if(!n)return[];const e=[];for(const s of n.events){if(s.kind!=="tool"||!y.has((s.tool??"").trim().toLowerCase()))continue;const r=C(s.arg);!r||r==="started"||r==="completed"||r.startsWith("[")||e.push({id:s.id,command:r,outcome:S(s)})}return e.slice(-t)}function O(n,t=220){const e=n.summary?.trim()||n.body.trim()||n.rawText.trim();if(!e)return"";const s=e.replace(/\s+/g," ").trim();return s.length<=t?s:`${s.slice(0,Math.max(0,t-1)).trimEnd()}…`}function x(n){const t=n.replace(/\\/g,"/").replace(/\/+$/g,""),e=t.lastIndexOf("/");return e>=0?t.slice(e+1):t}function p(n){return n.toLowerCase().replace(/[^a-z0-9_/-]+/g," ").split(/\s+/).map(t=>t.trim()).filter(t=>t.length>=4).filter(t=>!["plan","plans","todo","work","task","docs","markdown"].includes(t)).slice(0,8)}function A(n,t){const{agent:e,observe:s,source:r}=t,i=s?.metadata?.session,o=[e.project,e.name,e.branch,e.harness,e.workspaceQualifier,e.harnessSessionId,i?.cwd,i?.gitBranch,i?.model,...s?.files.map(a=>a.path)??[],...s?.events.slice(-12).flatMap(a=>[a.arg,a.text,a.detail])??[]].filter(Boolean).join(" ").toLowerCase();if(!o)return 0;const l=n.path.toLowerCase(),u=x(l).toLowerCase(),f=n.title.toLowerCase();let c=0;n.agentId&&n.agentId===e.id&&(c+=10),n.agentName&&n.agentName===e.name&&(c+=6),n.workspaceName&&e.project&&n.workspaceName.toLowerCase()===e.project.toLowerCase()&&(c+=5),l&&o.includes(l)&&(c+=8),u&&o.includes(u)&&(c+=6),f.length>8&&o.includes(f)&&(c+=6);for(const a of n.tags)a.length>=3&&o.includes(a.toLowerCase())&&(c+=2);for(const a of p(n.title))o.includes(a)&&(c+=1);for(const a of n.steps.slice(0,8))for(const h of p(a.text).slice(0,3))o.includes(h)&&(c+=1);return r==="scout"&&n.source==="openscout"&&(c+=2),c}function m(n,t,e=4){return n.map(s=>({document:s,score:A(s,t)})).filter(s=>s.score>=e).sort((s,r)=>r.score-s.score||r.document.updatedAt-s.document.updatedAt)}function T(n,t,e=4){return m(n,t).filter(s=>s.document.steps.length>0).slice(0,e).map(s=>s.document)}function I(n,t,e=6){return m(n,t).filter(s=>s.document.steps.length===0).slice(0,e).map(s=>s.document)}function W(n,t,e={}){return{plans:T(n,t,e.plans??4),docs:I(n,t,e.docs??6)}}export{N as a,L as b,v as c,O as d,B as l,W as r};
@@ -1,4 +1,4 @@
1
- import{l as p}from"./lane-observe-BD21P8BB.js";import{l as x,a as k}from"./lane-ask-display-B6iCAVcd.js";import{t as T,s as w}from"./bash-format-BRV5C6Gv.js";import{a as C,o as A}from"./tail-display-DHSNmvor.js";const L=["transcript discovered","waiting for events","no session trace","waiting for a live session"];function E(t){if(t.kind==="tool"||t.kind==="think"||t.kind==="ask"||t.kind==="message"||t.kind==="note")return!0;if(t.kind==="system"||t.kind==="boot"){const e=t.text.trim().toLowerCase();return!L.some(n=>e.includes(n))}return!1}function P(t){const e=t?.trim();if(!e)return"file";const n=e.split(/[\\/]/).filter(Boolean);return n[n.length-1]??e}function a(t){return!!t&&/[\p{L}\p{N}]/u.test(t)}function j(t){let e=-1,n=-1;for(const r of t){if(r.kind!=="note")continue;const i=r.text.trim().toLowerCase();i==="turn started"&&(e=r.t),i==="turn complete"&&(n=r.t)}return e>n}function R(t,e){const n=t.filter(E);if(n.length===0)return;if(e&&j(t)){const o=[...n].reverse().find(u=>u.kind==="think"&&a(u.text));if(o)return o}const i=[...n].reverse().find(o=>(o.kind==="message"||o.kind==="ask")&&a(o.text)),l=[...n].reverse().find(o=>o.kind==="tool");return e&&l&&(!i||l.t>i.t)?l:i||(l??n[n.length-1])}function h(t,e=!1){const n=a(t.text)?t.text.trim():void 0,r=i=>i==null?void 0:e?i:i.slice(0,72);switch(t.kind){case"tool":{let i=t.arg?T(t.arg):null;i&&(i=w(i).rest||i);const l=i?e?i:p(i,72):null;return[t.tool,l].filter(Boolean).join(" · ").trim()||"Running tool"}case"think":return r(n)||"Thinking";case"ask":return e?k(t,!0):k(t);case"message":return r(n)||`Message → ${t.to??"operator"}`;case"note":return r(n)||"Turn update";default:return r(n)||t.kind}}function S(t){return h(t)}function H(t){if(t.kind==="ask")return x(t);const e=a(t.text)?t.text.trim():null;return e?e.slice(0,220):t.kind==="tool"&&t.diff?.preview?t.diff.preview.split(`
1
+ import{l as p}from"./lane-observe-CteDwdD-.js";import{l as x,a as k}from"./lane-ask-display-BTVSakyo.js";import{t as T,s as w}from"./bash-format-BRV5C6Gv.js";import{a as C,o as A}from"./tail-display-DHSNmvor.js";const L=["transcript discovered","waiting for events","no session trace","waiting for a live session"];function E(t){if(t.kind==="tool"||t.kind==="think"||t.kind==="ask"||t.kind==="message"||t.kind==="note")return!0;if(t.kind==="system"||t.kind==="boot"){const e=t.text.trim().toLowerCase();return!L.some(n=>e.includes(n))}return!1}function P(t){const e=t?.trim();if(!e)return"file";const n=e.split(/[\\/]/).filter(Boolean);return n[n.length-1]??e}function a(t){return!!t&&/[\p{L}\p{N}]/u.test(t)}function j(t){let e=-1,n=-1;for(const r of t){if(r.kind!=="note")continue;const i=r.text.trim().toLowerCase();i==="turn started"&&(e=r.t),i==="turn complete"&&(n=r.t)}return e>n}function R(t,e){const n=t.filter(E);if(n.length===0)return;if(e&&j(t)){const o=[...n].reverse().find(u=>u.kind==="think"&&a(u.text));if(o)return o}const i=[...n].reverse().find(o=>(o.kind==="message"||o.kind==="ask")&&a(o.text)),l=[...n].reverse().find(o=>o.kind==="tool");return e&&l&&(!i||l.t>i.t)?l:i||(l??n[n.length-1])}function h(t,e=!1){const n=a(t.text)?t.text.trim():void 0,r=i=>i==null?void 0:e?i:i.slice(0,72);switch(t.kind){case"tool":{let i=t.arg?T(t.arg):null;i&&(i=w(i).rest||i);const l=i?e?i:p(i,72):null;return[t.tool,l].filter(Boolean).join(" · ").trim()||"Running tool"}case"think":return r(n)||"Thinking";case"ask":return e?k(t,!0):k(t);case"message":return r(n)||`Message → ${t.to??"operator"}`;case"note":return r(n)||"Turn update";default:return r(n)||t.kind}}function S(t){return h(t)}function H(t){if(t.kind==="ask")return x(t);const e=a(t.text)?t.text.trim():null;return e?e.slice(0,220):t.kind==="tool"&&t.diff?.preview?t.diff.preview.split(`
2
2
  `).slice(0,4).join(`
3
3
  `):t.kind==="tool"&&t.stream?.length?t.stream.join(`
4
4
  `).slice(0,220):t.kind==="tool"&&t.result?Object.entries(t.result).slice(0,3).map(([n,r])=>`${n}: ${r}`).join(" · "):a(t.detail)?t.detail.trim():null}function M(t,e,n){if(!t||t.events.length===0)return null;const r=R(t.events,n?.isLive??t.live===!0)??t.events[t.events.length-1];if(!r)return null;const i=t.metadata?.session,l=t.events.filter(s=>s.kind==="tool").length,o=t.events.filter(s=>s.kind==="tool"&&C(s.tool)).length,u=t.events.filter(s=>s.kind==="tool"&&A(s.tool)).length,m=t.events.filter(s=>s.kind==="think").length,g=[...t.files].sort((s,d)=>{const f=s.state==="read"?0:1,c=d.state==="read"?0:1;return f!==c?c-f:d.lastT-s.lastT}).slice(0,5);return{headline:S(r),headFull:h(r,!0),headlineFrom:r.kind==="ask"?"user":r.kind==="message"?"agent":null,detail:H(r),model:i?.model??e.model??null,branch:i?.gitBranch??e.branch??null,harness:e.harness??i?.adapterType??null,stats:{tools:l,edits:o,reads:u,thinks:m,files:t.files.length},files:g}}function $(t){return t?P(typeof t=="string"?t:t.path):"file"}export{M as b,$ as f,a as h};
@@ -1,4 +1,4 @@
1
- import{b as Ke}from"./lane-ask-display-B6iCAVcd.js";import{d as ze,i as Ee}from"./context-budget-DemtXu7E.js";import{i as Se}from"./terminal-sessions-Ch9aYlgi.js";import{c as Ge,d as Fe,o as Ue,i as qe,L as be,b as Ve}from"./lane-observe-BD21P8BB.js";import{b as Xe,i as Qe,a as Je,c as ve,d as Ze}from"./lane-edit-display-BjdT9oZl.js";import{i as Ye,b as et,t as tt,e as nt,g as st,f as ot}from"./tail-display-DHSNmvor.js";function rt(e){if(e.source!=="codex")return null;const t=e.raw,s=t?.payload;if(t?.type!=="response_item"||s?.type!=="agent_message"||typeof s.author!="string"||typeof s.recipient!="string")return null;const n=Array.isArray(s.content)?s.content:[],o=n.flatMap(a=>a&&typeof a=="object"&&typeof a.text=="string"?[a.text]:[]).join(`
1
+ import{b as Ke}from"./lane-ask-display-BTVSakyo.js";import{d as ze,i as Ee}from"./context-budget-8qFKqM-j.js";import{i as Se}from"./terminal-sessions-3RfJpen8.js";import{c as Ge,d as Fe,o as Ue,i as qe,L as be,b as Ve}from"./lane-observe-CteDwdD-.js";import{b as Xe,i as Qe,a as Je,c as ve,d as Ze}from"./lane-edit-display-BjdT9oZl.js";import{i as Ye,b as et,t as tt,e as nt,g as st,f as ot}from"./tail-display-DHSNmvor.js";function rt(e){if(e.source!=="codex")return null;const t=e.raw,s=t?.payload;if(t?.type!=="response_item"||s?.type!=="agent_message"||typeof s.author!="string"||typeof s.recipient!="string")return null;const n=Array.isArray(s.content)?s.content:[],o=n.flatMap(a=>a&&typeof a=="object"&&typeof a.text=="string"?[a.text]:[]).join(`
2
2
  `),r=n.some(a=>a&&typeof a=="object"&&a.type==="encrypted_content"),i=o.replace(/^Message Type: [^\n]+\nTask name: [^\n]+\nSender: [^\n]+\nPayload:\s*/,"").trim();return{kind:"message",text:i||(r?"Message contents unavailable":"Message exchanged"),communication:{from:s.author,to:s.recipient,received:!0,bodyAvailable:!!i}}}function K(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function Ce(e,t){return K(K(e)?.[t])}function it(e){const s=K(e.raw)?.type;return typeof s=="string"?s:void 0}function at(e){const s=Ce(e.raw,"payload")?.type;return typeof s=="string"?s:void 0}const ct=/context\s+compacted|compacted\s+·/iu;function ut(e){const t=e.summary.trim();return t&&(e.source==="codex"&&(Ce(K(e.raw),"payload"),at(e)==="context_compacted"||it(e)==="compacted")||ct.test(t))?t:null}function lt(e,t,s){let n=null,o=null;for(const u of e){const l=ut(u);l&&(n===null||u.ts>=n)&&(n=u.ts,o=l)}const r=ze(t,s);let i=null;return r?.overLimit?i="over_limit":r&&r.pct>=80?i="high_context":n!==null&&(i="post_compaction_point"),{eligible:!!(r&&(r.overLimit||r.pct>=75||n!==null)),reason:i,lastCompactedAt:n,lastCompactedSummary:o}}function kn(e){const t=e?.trim().toLowerCase()??"";return t==="codex"||t==="claude"||t==="claude-code"}const ie="5m",ne=[{key:"5m",label:"5m",windowMs:5*6e4},{key:"30m",label:"30m",windowMs:30*6e4},{key:"4h",label:"4h",windowMs:240*6e4},{key:"24h",label:"24h",windowMs:1440*6e4}];function ae(e){return ne.find(t=>t.key===e)?.windowMs??ne[0].windowMs}function Sn(e){return ne.find(t=>t.key===e)?.label??e}function bn(e){return 1e3}const _e=400;function dt(e){return e?`${e[0]?.toUpperCase()}${e.slice(1).toLowerCase()}`:""}function ft(e){const t=e.name.trim();if(!t||e.agentClass==="organic")return!0;const s=e.harness?.trim();if(!s)return!1;const n=dt(s);return new RegExp(`^${n}\\s+[0-9a-f]{6}`,"i").test(t)}function ce(e,t=null){const s=e?.trim();if(!s)return!1;if(/^relay[-:]/i.test(s))return!0;const n=t?.sessionName?.trim();return!!(n&&s===n)}function P(e){const t=e.harnessSessionId?.trim();return t?!ce(t,e.terminalSurface):!1}function X(e){return e.transport==="codex_app_server"&&e.state==="available"}function mt(e,t,s){return(e.brokerActivity??[]).filter(n=>n.at>0&&t-n.at<=s)}function vn(e,t=Date.now(),s=ie){if(X(e))return!1;if(e.harnessSessionId?.trim()||e.state&&/^(working|active|running|in_turn|in_flight|queued|waking|dispatching)$/i.test(e.state.trim()))return!0;const n=ae(s);return e.updatedAt?t-e.updatedAt<=n:!1}function D(e,t){return t==="scout"&&e.agentClass!=="organic"&&!ft(e)&&(P(e)||(e.brokerActivity?.length??0)>0)}function pt(e,t){return e.role==="subagent"?e.name.trim()||"Subagent":D(e,t)?e.name.trim()||"Agent":e.project?.trim()||e.harness?.trim()||"local"}function _n(e,t){return e.harness?.trim()||pt(e,t)}function Tn(e,t){if(D(e,t))return[e.project,e.branch].filter(Boolean).join(" · ")||e.harness||"local";const s=e.harness?.trim(),n=e.harnessSessionId?.trim();return s&&n?`${s} · ${n.replace(/\.jsonl$/u,"").slice(0,8)}`:s||n?.slice(0,8)||"native"}function ht(e){let t=2166136261;for(let s=0;s<e.length;s+=1)t^=e.charCodeAt(s),t=Math.imul(t,16777619);return(t>>>0).toString(36)}function se(e){const t=e.sessionId?.trim();return t?`native:${e.source}:${t}`:`native:${e.source}:path:${ht(e.transcriptPath)}`}function v(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function M(e){const t=v(e.raw);return v(t?.payload)}function ue(e){const s=v(e.raw)?.type;return typeof s=="string"?s:null}function Q(e){const s=M(e)?.type;return typeof s=="string"?s:null}function f(...e){for(const t of e){if(typeof t!="string")continue;const s=t.trim();if(s)return s}}function S(e){return typeof e=="number"&&Number.isFinite(e)?e:void 0}function T(e,t){return v(e?.[t])}function Le(e,t){let s=null;for(const n of e){if(ue(n)!==t)continue;const o=M(n);o&&(!s||n.ts>=s.event.ts)&&(s={event:n,payload:o})}return s?.payload??null}function le(e){return Le(e,"turn_context")}function de(e){return Le(e,"session_meta")}function Me(e){const t=T(e,"collaboration_mode"),s=T(t,"settings");return f(e?.effort,s?.reasoning_effort)}function z(e){return f(e?.gitBranch,e?.git_branch,e?.currentBranch,e?.current_branch,e?.branch)}function gt(e,t,s="session"){if(e.source!=="codex")return null;if(ue(e)!=="event_msg"||Q(e)!=="token_count"){const b=e.summary.match(/^tokens? · ([0-9,]+)/i)?.[1]?.replace(/,/g,""),k=b?Number.parseInt(b,10):NaN;return Number.isFinite(k)?{totalTokens:k}:null}const n=M(e),o=T(n,"info"),r=T(o,"total_token_usage"),i=T(o,"last_token_usage"),a=T(n,"rate_limits");if(!r&&!o&&!a)return null;const u=s==="turn"?i??r:r??i,l={},p=S(u?.input_tokens),d=S(i?.input_tokens),g=S(u?.output_tokens),m=S(u?.reasoning_output_tokens),_=S(u?.cached_input_tokens)??S(u?.cache_read_input_tokens),I=S(u?.cache_creation_input_tokens)??S(u?.cache_write_input_tokens),F=S(u?.total_tokens)??(p!==void 0||g!==void 0?(p??0)+(g??0):void 0),x=S(o?.model_context_window)??Ee({model:t,adapterType:"codex"}),c=f(n?.service_tier,a?.service_tier),y=f(n?.speed,a?.speed),w=f(n?.plan_type,a?.plan_type);return p!==void 0&&(l.inputTokens=p),d!==void 0&&(l.contextInputTokens=d),g!==void 0&&(l.outputTokens=g),m!==void 0&&(l.reasoningOutputTokens=m),_!==void 0&&(l.cacheReadInputTokens=_),I!==void 0&&(l.cacheCreationInputTokens=I),F!==void 0&&(l.totalTokens=F),x!==void 0&&(l.contextWindowTokens=x),c&&(l.serviceTier=c),y&&(l.speed=y),w&&(l.planType=w),Object.keys(l).length>0?l:null}function yt(e){if(e.source!=="claude"||ue(e)!=="assistant")return null;const t=v(e.raw),s=v(t?.message),n=v(s?.usage);if(!s||!n)return null;const o=S(n.input_tokens),r=S(n.output_tokens),i=S(n.cache_read_input_tokens),a=S(n.cache_creation_input_tokens),u=(o??0)+(i??0)+(a??0),l=S(n.context_window_tokens)??S(n.contextWindowTokens)??S(n.model_context_window)??S(s.context_window_tokens)??S(s.contextWindowTokens)??S(s.model_context_window)??Ee({model:f(s.model),adapterType:"claude-code"}),p=(o??0)+(r??0)+(i??0)+(a??0),h=v(n.server_tool_use),d={};o!==void 0&&(d.inputTokens=o),u>0&&(d.contextInputTokens=u),r!==void 0&&(d.outputTokens=r),i!==void 0&&(d.cacheReadInputTokens=i),a!==void 0&&(d.cacheCreationInputTokens=a),p>0&&(d.totalTokens=p),l>0&&(d.contextWindowTokens=l);const g=S(h?.web_search_requests),m=S(h?.web_fetch_requests);g!==void 0&&(d.webSearchRequests=g),m!==void 0&&(d.webFetchRequests=m);const _=f(s.service_tier,n.service_tier),I=f(s.speed,n.speed);return _&&(d.serviceTier=_),I&&(d.speed=I),Object.keys(d).length>0?d:null}function Ne(e,t){let s=null;const n=le(e),o=f(n?.model,T(T(n,"collaboration_mode"),"settings")?.model),r=t?.scope??"session";for(const i of e){if(i.source!=="codex"&&i.source!=="claude"||i.source==="codex"&&Q(i)!=="token_count"&&!/^tokens?(?: ·|$)/i.test(i.summary.trim()))continue;const a=i.source==="codex"?gt(i,o,r):yt(i);a&&(!s||i.ts>=s.ts)&&(s={ts:i.ts,usage:a})}return s?.usage}function wt(e,t){const s=de(t),n=le(t),o=T(n,"collaboration_mode"),r=T(o,"settings"),i=v(n?.sandbox_policy),a=v(n?.permission_profile),u={adapterType:e.source,cwd:f(n?.cwd,s?.cwd,e.cwd)??void 0,externalSessionId:f(s?.id,e.sessionId)??void 0,threadId:f(n?.turn_id)??void 0,threadPath:e.transcriptPath,model:f(n?.model,r?.model)??void 0,effort:Me(n),gitBranch:z(n)??z(s),cliVersion:f(s?.cli_version),entrypoint:f(s?.thread_source,s?.source),originator:f(s?.originator,s?.source),source:f(s?.source),approvalPolicy:f(n?.approval_policy),sandbox:f(i?.type,n?.sandbox),permissionMode:f(a?.type,n?.permission_mode),userType:f(s?.user_type,n?.user_type),modelProvider:f(s?.model_provider,n?.model_provider),timezone:f(n?.timezone)};for(const l of Object.keys(u))u[l]===void 0&&delete u[l];return u}function kt(e){let t,s,n;for(const o of e){if(o.source!=="claude")continue;const r=v(o.raw);if(!r)continue;const i=f(r.gitBranch);i&&(!s||o.ts>=s.ts)&&(s={ts:o.ts,value:i});const a=f(r.cwd);a&&(!n||o.ts>=n.ts)&&(n={ts:o.ts,value:a});const u=T(r,"message"),l=f(u?.model);l&&(!t||o.ts>=t.ts)&&(t={ts:o.ts,value:l})}return{model:t?.value,gitBranch:s?.value,cwd:n?.value}}function St(e,t){const s=new Map;for(const n of[...e??[],...t??[]]){const o=n.path?.trim();if(!o||!qe(o))continue;const r=s.get(o);if(!r){s.set(o,{...n,path:o});continue}r.touches+=n.touches,r.lastT=Math.max(r.lastT,n.lastT),r.state==="read"&&n.state!=="read"&&(r.state=n.state),r.state==="modified"&&n.state==="created"&&(r.state="created")}return[...s.values()].sort((n,o)=>{const r=n.state==="read"?0:1,i=o.state==="read"?0:1;return r!==i?i-r:o.lastT-n.lastT})}function bt(e){let t=-1,s=-1,n=0;for(const o of e){const r=o.summary.trim().toLowerCase(),i=Q(o);(r==="task started"||r==="turn started"||i==="task_started"||i==="turn_started")&&(t=Math.max(t,o.ts),n+=1),(r==="task complete"||r==="turn complete"||i==="task_complete"||i==="turn_complete"||i==="turn_completed"||i==="turn_aborted")&&(s=Math.max(s,o.ts))}return n===0&&s<0?{phase:"idle"}:{phase:t>s?"started":"complete",index:n||void 0}}function vt(e,t){const s=n=>{if(n.trimStart().startsWith("<realtime_delegation>")){const o=n.match(/<input>([\s\S]*?)<\/input>/)?.[1];if(!o)return;n=o}if(!(n.trim().startsWith("<in-app-browser-context")&&!n.includes("</in-app-browser-context>")&&!/##? My request/i.test(n)))return Ve(Ke({text:n,t:0}).preview,240,3)||void 0};for(const n of[...e].sort((o,r)=>r.ts-o.ts)){const o=M(n);if(n.kind!=="user"&&Q(n)!=="user_message")continue;const r=v(n.raw),i=v(r?.message),a=o?.content??i?.content??r?.content,u=Array.isArray(a)?a.map(h=>f(v(h)?.text)??"").filter(Boolean).join(`
3
3
  `):typeof a=="string"?a:void 0,l=f(o?.message,u,n.summary),p=l?s(l):void 0;if(p)return p}for(const n of[...t?.events??[]].reverse()){if(n.kind!=="ask"||!n.text.trim())continue;const o=s(n.text);if(o)return o}}function _t(e){let t;for(const s of e)(!t||(V[s.harness]??0)>(V[t]??0))&&(t=s.harness);return t}function Tt(e,t,s){const n=wt(e,t),o=kt(t);return{...n,model:n.model??o.model,gitBranch:n.gitBranch??o.gitBranch,cwd:n.cwd??o.cwd??e.cwd??void 0,externalSessionId:n.externalSessionId??e.sessionId??void 0,sessionStart:s}}function Pe(e){if(!e?.trim())return null;try{return v(JSON.parse(e))}catch{return null}}function At(e){const t=M(e);return f(t?.name,t?.type)}function fe(e){const t=M(e),s=t?.arguments;if(typeof s=="string")return s;const n=t?.input;if(typeof n=="string")return n;const o=t?.command;if(Array.isArray(o))return o.filter(r=>typeof r=="string").join(" ");if(typeof o=="string")return o}function It(e){if(e.source!=="codex")return;const t=At(e)?.toLowerCase();if(t!=="apply_patch"&&t!=="patch_apply")return;const s=fe(e),n=Pe(s);return f(n?.patch,n?.input,s)}function xt(e){if(!e?.trim())return;let t=0,s=0;const n=[];for(const o of e.split(/\r?\n/))o.startsWith("+")&&!o.startsWith("+++")&&(t+=1),o.startsWith("-")&&!o.startsWith("---")&&(s+=1),n.length<24&&/^(?:\*\*\* |@@|\+\+\+|---|[+-])/.test(o)&&n.push(o);if(!(t===0&&s===0&&n.length===0))return{add:t,del:s,preview:n.join(`
4
4
  `)}}function Rt(e){const t=v(e.raw);return t?v(t.tool_input):null}function $e(e,t){if(!Qe(t))return null;if(e.source==="grok"){const o=Je(e.summary);if(o)return o;const r=ve(Rt(e));if(r)return r}const s=fe(e),n=ve(Pe(s));return n||null}function Et(e,t){const s=It(e);if(s)return s;const n=$e(e,t);if(n&&(n.oldText||n.newText))return Ze(n);if(e.source==="codex"&&e.kind==="tool")return fe(e)}function je(e,t,s){const n=[...e].sort((o,r)=>o.ts-r.ts);return typeof s=="number"&&s>0?n.filter(o=>o.ts>=t-s):n}function Te(e,t,s){const n=je(e,t,s),o=ot(n);return o.length>_e?o.slice(-_e):o}function Ft(e,t,s,n){const o=n?.now??Date.now(),r=je(t,o,n?.windowMs),i=Te(r,o,void 0),a=i.length>=be?i:Te(t,o,void 0).slice(-be),u=a[0]?.ts??e.mtimeMs,l=a.map(d=>{const g=M(d),m=v(g?.item),_=d.source==="codex"&&g?.type==="item_completed"&&m?.type==="CommandExecution",I=_&&Array.isArray(m?.command)&&m.command.every(b=>typeof b=="string")?m.command.length>=3&&/(?:^|\/)(?:ba|z|da)?sh$/.test(String(m.command[0]))&&/c/.test(String(m.command[1]))?String(m.command[2]):m.command.join(" "):void 0,F=_&&typeof m?.exit_code=="number"?m.exit_code:void 0,x=et(d),c=$e(d,x.tool),y=tt(d,e)??Et(d,x.tool),w=c&&(c.oldText||c.newText)?Xe(c):xt(y);return{id:d.id,t:Math.max(0,Math.round((d.ts-u)/1e3)),at:d.ts,kind:st(d),text:nt(d,x),tool:x.tool,arg:x.arg,result:x.result,stream:x.stream,diff:w,detail:y,live:s&&d.id===a[a.length-1]?.id,...rt(d),...I?{kind:"tool",tool:"exec_command",arg:I,detail:I,text:"Command completed",result:F===void 0?void 0:{exit_code:F}}:{}}}),p=Fe(l),h=Ne(r,{scope:typeof n?.windowMs=="number"&&n.windowMs>0?"turn":"session"});return{events:l,files:p,live:s&&l.length>0,metadata:{session:Tt(e,t,u),usage:h}}}function G(e){return e?`${e[0]?.toUpperCase()}${e.slice(1)}`:"Native"}function oe(e){return e?e.replace(/\.jsonl$/u,"").slice(0,8):"session"}function U(e,t){if(e?.parentSessionId?.trim())return{parentSessionId:e.parentSessionId.trim(),nickname:e.agentNickname?.trim()||void 0};if(e?.source!=="codex"||!e.sessionId?.trim())return{};const s=de(t.filter(r=>M(r)?.id===e.sessionId)),n=T(T(T(s,"source"),"sub_agent"),"thread_spawn"),o=f(s?.parent_thread_id,n?.parent_thread_id);return!o||o===e.sessionId?{}:{parentSessionId:o,nickname:f(s?.agent_nickname,n?.agent_nickname)}}function Ae(e,t,s,n=[]){const o=e.sessionId?.trim()||null,r=U(e,n),i=!!(e.subagentId||r.parentSessionId),a=i?r.nickname??`${G(e.source)} subagent ${oe(e.subagentId||o)}`:`${G(e.source)} ${oe(o)}`;return{id:se(e),definitionId:`native:${e.source}`,name:a,handle:null,agentClass:"organic",harness:e.source,state:s?"working":"idle",projectRoot:e.cwd,cwd:e.cwd,updatedAt:t,createdAt:null,transport:null,selector:null,defaultSelector:null,nodeQualifier:null,workspaceQualifier:null,wakePolicy:null,capabilities:[],project:e.project,branch:null,role:i?"subagent":null,model:null,harnessSessionId:o,harnessLogPath:e.transcriptPath,conversationId:o??se(e),homeNodeId:null,homeNodeName:null,ownerId:null,ownerName:null,ownerHandle:null,staleLocalRegistration:!1,retiredFromFleet:!1,replacedByAgentId:null,terminalSurface:null}}const Ct=new Set(["tmux","zellij","herdr"]);function Lt(e){const t=e?.trim();if(!t)return null;const s=t.split("/").filter(Boolean);return s[s.length-1]??t}function Ie(e){const t=e.surfaces.find(s=>Se(s.backend));return!t||!Se(t.backend)?null:{backend:t.backend,sessionName:t.sessionName,paneId:t.paneId,socketDir:t.socketDir??null}}function Mt(e){const t=e.harness?.trim();return!t||Ct.has(t.toLowerCase())||!e.sourceSessionId?.trim()||e.origin==="discovered"||e.metadata?.registryState==="discovered"?!1:e.surfaces.length>0}function J(e){const t=new Set;for(const s of[e.id,e.sourceSessionId,O(e.sourceSessionId)]){const n=s?.trim();n&&t.add(n)}for(const s of e.surfaces){const n=s.sessionName?.trim();n&&t.add(n)}return[...t]}function me(e){return`native:${e.harness}:terminal:${e.id}`}function Nt(e,t,s){const n=e.harness.trim()||"native",o=e.sourceSessionId.trim()||e.id,r=Lt(e.cwd);return{id:me(e),definitionId:`native:${n}`,name:`${G(n)} ${oe(o)}`,handle:null,agentClass:"organic",harness:n,state:s?"working":"idle",projectRoot:e.cwd||null,cwd:e.cwd||null,updatedAt:t,createdAt:e.createdAt??null,transport:Ie(e)?.backend??null,selector:null,defaultSelector:null,nodeQualifier:null,workspaceQualifier:null,wakePolicy:null,capabilities:[],project:r,branch:null,role:null,model:null,harnessSessionId:o,harnessLogPath:null,conversationId:o,homeNodeId:null,homeNodeName:null,ownerId:null,ownerName:null,ownerHandle:null,staleLocalRegistration:!1,retiredFromFleet:!1,replacedByAgentId:null,terminalSurface:Ie(e)}}function Pt(e){const t=e.surfaces[0];return t?`${t.backend}:${t.sessionName}`:null}function Be(e){const t=e.harness?.trim()||"Native";return{events:[{id:`${e.id}:session-ready`,t:0,at:e.startedAt,kind:"system",text:`${G(t)} session ready`,detail:e.detail??e.cwd??e.sessionId??void 0,live:e.current}],files:[],live:e.current,metadata:{session:{adapterType:e.harness??void 0,cwd:e.cwd??void 0,externalSessionId:e.sessionId??void 0,sessionStart:e.startedAt,model:e.model??void 0,source:"session-registry"}}}}function $t(e,t,s){const n=Pt(e),o=[n?`surface: ${n}`:null,e.cwd].filter(Boolean).join(" · ");return Be({id:me(e),harness:e.harness,sessionId:e.sourceSessionId,cwd:e.cwd,startedAt:s,current:t,detail:o||null})}function Oe(e){if(!e)return null;const t=e.metadata?.session?.sessionStart;let s=null;for(const n of e.events){if(!pe(n))continue;const o=Ue(n,t);o!==null&&(s=s===null?o:Math.max(s,o))}if(typeof t=="number"&&Number.isFinite(t))for(const n of e.files){if(!Number.isFinite(n.lastT)||n.lastT<0)continue;const o=t+n.lastT*1e3;s=s===null?o:Math.max(s,o)}return s}function q(e){return e?.live?e.events.some(t=>t.live===!0&&pe(t)):!1}function xe(e,t,s){const n=Oe(e);return n===null?!1:t-n<=s}function jt(e,t,s){if(q(t?.data))return s;const n=Oe(t?.data),o=e.updatedAt??0;return n!==null?Math.max(n,o):0}function Z(e){return q(e)}const Bt=["transcript discovered","waiting for events","no session trace","waiting for a live session"];function Ot(e){if(e.kind!=="boot"&&e.kind!=="system")return!1;const t=e.text.trim().toLowerCase(),s=(e.detail??"").trim().toLowerCase();return t.includes("session started")?s.includes("turns: 0")&&s.includes("status: idle"):!1}function pe(e){if(e.kind==="tool"||e.kind==="think"||e.kind==="ask"||e.kind==="message"||e.kind==="note")return!0;if(e.kind==="system"||e.kind==="boot"){if(Ot(e))return!1;const t=e.text.trim().toLowerCase();return!Bt.some(s=>t.includes(s))}return!1}const V={"scout-managed":3,"hudson-managed":2,unattributed:1};function Dt(e,t){const s=e.cwd?.trim();if(!s)return e.harness;const n=t.filter(o=>o.source===e.source&&o.cwd===s);return n.length===0?e.harness:n.reduce((o,r)=>{const i=V[o.harness]??0,a=V[r.harness]??0;return a>i||a===i&&r.pid<o.pid?r:o}).harness}function Y(e,t,s,n,o,r){const i=o?.metadata?.session,a=le(t),u=de(t),l=e?Dt(e,n):_t(t),p=o?Fe(o.events):[],h=St(o?.files,p),d=Ne(t,{scope:"turn"})??o?.metadata?.usage,g={touchedFiles:h,model:f(i?.model,a?.model,T(T(a,"collaboration_mode"),"settings")?.model,s.model),effort:f(i?.effort,Me(a)),branch:f(i?.gitBranch,z(a),z(u),s.branch),cwd:f(i?.cwd,u?.cwd,s.cwd,s.projectRoot),originator:f(i?.originator,u?.originator,u?.source),attribution:l,turn:t.length>0?bt(t):o?.live?{phase:"started"}:{phase:"idle"},usage:d,parentSessionId:U(e,t).parentSessionId,parentAgentName:U(e,t).parentSessionId&&r?N(r):void 0,currentTask:vt(t,o)},m=lt(t,d,{model:g.model,adapterType:e?.source??s.harness});(m.eligible||m.lastCompactedAt!==null)&&(g.compaction={eligible:m.eligible,reason:m.reason,...m.lastCompactedAt!==null?{lastCompactedAt:m.lastCompactedAt}:{},...m.lastCompactedSummary?{lastCompactedSummary:m.lastCompactedSummary}:{}});for(const _ of["model","effort","branch","cwd","originator","attribution","usage","compaction","currentTask"])g[_]===void 0&&delete g[_];return g}function Wt(e){if(Ye(e))return!1;if(e.kind==="tool"||e.kind==="tool-result"||e.kind==="assistant"||e.kind==="user")return!0;if(e.kind!=="system")return!1;if(e.source==="grok")return/^turn /u.test(e.summary);if(e.source==="codex"){const t=e.summary.trim().toLowerCase();if(t==="task started"||t==="task complete"||t.startsWith("turn aborted"))return!0;const s=e.raw;if(s&&typeof s=="object"&&!Array.isArray(s)){const n=s.payload;if(n&&typeof n=="object"&&!Array.isArray(n)&&n.type==="reasoning"&&t!=="[reasoning]")return!0}}return!1}function ee(e){return e?.events.some(pe)??!1}function O(e){const t=e?.trim();if(!t)return null;const s=t.split("/").pop()??t;return s.endsWith(".jsonl")?s.slice(0,-6):s}function he(e){const t=new Set;for(const s of[e.sessionId,e.transcriptPath,O(e.sessionId),O(e.transcriptPath)]){const n=s?.trim();n&&t.add(n)}return[...t]}function De(e,t){const s=he(e),n=new Set,o=[];for(const r of s)for(const i of t.get(r)??[])n.has(i.id)||(n.add(i.id),o.push(i));return o}function ge(e){const t=new Set,s=e.harnessSessionId?.trim();if(s){t.add(s);const n=O(s);n&&t.add(n);const o=H(s);o&&t.add(o)}for(const n of[e.harnessLogPath,e.conversationId,H(e.harnessLogPath),H(e.conversationId)]){const o=n?.trim();o&&t.add(o)}return[...t]}function Re(e){return D(e,"scout")?P(e)?2:1:0}function Ht(e,t,s){const n=e.get(t);if(!n){e.set(t,s);return}const o=Re(n),r=Re(s);if(r>o){e.set(t,s);return}r===o&&s.id.localeCompare(n.id)<0&&e.set(t,s)}function Kt(e,t){for(const s of he(e)){const n=t.get(s);if(n)return n}}function zt(e,t){return ge(e).some(s=>t.has(s))}function Gt(e,t){return J(e).some(s=>t.has(s))}function ye(e,t,s){const n=s?De(s,t):e?.trim()?t.get(e.trim())??[]:[];let o=0;for(const r of n)Wt(r)&&(o=Math.max(o,r.ts));return o}function Ut(e,t){let s=0;for(const n of J(e))s=Math.max(s,ye(n,t));return s}function qt(e,t){return ye(e.sessionId,t,e)}function Vt(e,t){for(const s of J(e)){const n=t.get(s);if(n)return n}}function Xt(e,t,s){if(!P(e)||X(e))return!1;const n=e.transport?.trim();if(n!=="pi_rpc"&&n!=="pairing_bridge")return!1;const o=e.updatedAt??0;return o>0&&t-o<=s}function Qt(e){return e.retiredFromFleet||e.staleLocalRegistration||!D(e,"scout")||!P(e)||X(e)?0:Math.max(e.updatedAt??0,e.createdAt??0)}function Jt(e,t,s){return Be({id:e.id,harness:e.harness,sessionId:e.harnessSessionId,cwd:e.cwd??e.projectRoot,model:e.model,startedAt:s,current:t,detail:[e.transport,e.cwd??e.projectRoot,e.harnessSessionId].filter(Boolean).join(" · ")||null})}function Zt(e,t){return{events:[],files:[],live:!1,metadata:{session:{adapterType:e.harness??void 0,cwd:e.cwd??e.projectRoot??void 0,externalSessionId:e.harnessSessionId??void 0,sessionStart:t,model:e.model??void 0,source:"agent-presence"}}}}function Yt(e,t){const s=new Set(["queued","waking","running","waiting","in_flight"]);return{events:t.map((n,o)=>({id:`broker:${n.kind}:${n.id}`,t:o,at:n.at,kind:n.kind==="flight"?"tool":n.kind==="invocation"?"ask":"message",text:n.summary,...n.kind==="flight"?{tool:"scout flight",arg:n.state??void 0,live:!!(n.state&&s.has(n.state))}:{}})),files:[],live:t.some(n=>!!(n.state&&s.has(n.state))),metadata:{session:{adapterType:e.harness??"scout",cwd:e.cwd??e.projectRoot??void 0,sessionStart:t[0]?.at,source:"broker-native",approvalPolicy:e.runtimePolicy?.approvalPolicy??void 0,sandbox:e.runtimePolicy?.sandbox??void 0}}}}function te(e,t=Date.now(),s=ae(ie),n=0){const{agent:o,observe:r,lastActiveAt:i,source:a}=e;return i<=0||t-i>s?!1:a==="native"?n>0&&t-n<=s?!0:q(r)||xe(r,t,s):!!(n>0&&t-n<=s||q(r)||xe(r,t,s))}function re(e,t){return e.id.localeCompare(t.id)}function en(e){return[e.agent.harnessSessionId,e.agent.conversationId,e.observe?.metadata?.session?.externalSessionId].filter(t=>!!t?.trim())}function tn(e,t){const s=new Map;for(const o of e)for(const r of en(o))s.set(r,o);const n=new Map;for(const o of e){const r=o.facts?.parentSessionId?.trim(),i=r?s.get(r):void 0;i&&i.id!==o.id&&n.set(o.id,i)}return[...e].sort((o,r)=>{const i=n.get(o.id),a=n.get(r.id),u=i??o,l=a??r,p=t.slots.get(u.id)??Number.MAX_SAFE_INTEGER,h=t.slots.get(l.id)??Number.MAX_SAFE_INTEGER;if(p!==h)return p-h;if(u.id!==l.id)return re(u,l);if(o.id===u.id)return-1;if(r.id===l.id)return 1;const d=t.slots.get(o.id)??Number.MAX_SAFE_INTEGER,g=t.slots.get(r.id)??Number.MAX_SAFE_INTEGER;return d!==g?d-g:re(o,r)})}const nn=/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i;function H(e){return e?.match(nn)?.[0]?.toLowerCase()??null}function An(){return{slots:new Map,nextSlot:0}}function In(e,t){const s=[];for(const r of e){const i=r.id;t.slots.has(i)||(t.slots.set(i,t.nextSlot),t.nextSlot+=1,s.push(r.id))}const n=new Set(e.map(r=>r.id));for(const r of[...t.slots.keys()])n.has(r)||t.slots.delete(r);return{lanes:tn(e,t),newLaneIds:s}}function We(e){return H(e.harnessSessionId)??O(e.harnessSessionId)??e.harnessSessionId?.trim()??null}function N(e){return e.name.trim()||e.id}function He(e,t){return`${e}:${t}`}function B(e,t,s){const n=s.sessionRef??s.kind,o=s.id??He(s.kind,n);t.has(o)||(t.add(o),e.push({...s,id:o}))}function sn(e,t){for(const s of e)for(const n of ge(s)){const o=t.get(n);if(o&&e.some(r=>r.id===o.id))return o}}function on(e){if(e.source==="cursor")return`${e.source}:path:${e.transcriptPath}`;const t=e.sessionId?.trim();return t?`${e.source}:${t}`:`${e.source}:path:${e.transcriptPath}`}function rn(e){const t=new Map,s=[];for(const n of e){if(n.source!=="cursor"){s.push(n);continue}const o=n.sessionId?.trim()||n.transcriptPath,r=t.get(o);(!r||n.mtimeMs>r.mtimeMs)&&t.set(o,n)}return[...s,...t.values()]}const an=new Set(["codex_app_server","claude_stream_json","pairing_bridge","pi_rpc"]);function cn(e){return e.retiredFromFleet||e.staleLocalRegistration?!1:ce(e.harnessSessionId,e.terminalSurface)||e.terminalSurface||e.transport?.trim()||e.state==="in_flight"?!0:P(e)}function un(e){if(e.agentClass==="organic"||(e.brokerActivity?.length??0)>0||e.terminalSurface)return!1;const t=e.transport?.trim();return!t||t==="tmux"||t==="zellij"||!e.harness?.trim()||e.state!=="in_flight"?!1:an.has(t)}function ln(e){const t=[],s=new Set,n=new Map;for(const o of e){const r=on(o),i=n.get(r)??[];i.push(o),n.set(r,i)}for(const[o,r]of n)r.length<=1||B(t,s,{kind:"duplicate_transcript_session",sessionRef:o,transcriptPaths:r.map(i=>i.transcriptPath),message:`Tail discovery returned ${r.length} transcripts for ${o}.`});return t}function dn(e,t){const s=e.filter(cn),n=[],o=new Set,r=new Map;for(const u of s){const l=We(u);if(!l)continue;const p=r.get(l)??[];p.some(h=>h.id===u.id)||p.push(u),r.set(l,p)}const i=s.filter(u=>ce(u.harnessSessionId,u.terminalSurface));i.length>0&&B(n,o,{kind:"harness_session_polluted",sessionRef:"harness-slot",agentIds:i.map(u=>u.id),agentNames:i.map(N),message:`${i.length} agent(s) store a transport ref in harnessSessionId — use terminalSurface for attach and harnessSessionId for provider ids only.`});const a=s.filter(u=>un(u)&&!P(u));a.length>0&&B(n,o,{kind:"harness_session_unbound",sessionRef:"fleet",agentIds:a.map(u=>u.id),agentNames:a.map(N),message:`${a.length} scout agent(s) have no provider harness session bound (lanes use tail transcripts, not agent.id).`});for(const[u,l]of r){if(l.length<=1)continue;const p=sn(l,t);l.filter(d=>d.id!==p?.id).length!==0&&B(n,o,{kind:"session_binding_conflict",sessionRef:u,agentIds:l.map(d=>d.id),agentNames:l.map(N),selectedAgentId:p?.id,message:p?`Multiple scout agents claim ${u}; showing ${N(p)}.`:`Multiple scout agents claim ${u} but none could be selected.`})}return n}function xn(e){if(!e?.issues?.length)return[];const t=new Set,s=[];for(const n of e.issues)n.sessionKey.startsWith("cursor:")||t.has(n.sessionKey)||(t.add(n.sessionKey),s.push({id:He("transcript_path_collision",n.sessionKey),kind:"transcript_path_collision",sessionRef:n.sessionKey,transcriptPaths:n.transcriptPaths,message:n.message}));return s}function Rn(e){const{transcripts:t=[],tailEvents:s,processes:n=[],scoutAgents:o=e.agents??[],terminalSessions:r=[],observeCache:i={},now:a,workingOnly:u=!0,horizon:l=ie}=e,p=rn(t),h=ae(l),d=[],g=new Map;for(const c of s){const y=g.get(c.sessionId)??[];y.push(c),g.set(c.sessionId,y)}const m=new Map;for(const c of o)for(const y of ge(c))Ht(m,y,c);const _=new Set,I=new Set,F=[...ln(p),...dn(o,m)],x=new Set(F.map(c=>c.id));for(const c of p){c.sessionId?.trim();const y=De(c,g),w=qt(c,g),b=w>0&&a-w<=h;if(!b)continue;const k=Kt(c,m),L=U(c,y).parentSessionId,C=L?m.get(L):void 0;k&&I.add(k.id);const R=Ft(c,y,b,{now:a,windowMs:h}),$=y.length>0,E=Y(c,y,k??Ae(c,w,b,y),n,R,C),j=w,A=k?{id:k.id,agent:{...k,updatedAt:w},source:"scout",observe:R,facts:E,lastActiveAt:w,current:b}:{id:se(c),agent:Ae(c,w,b,y),source:"native",observe:R,facts:E,lastActiveAt:w,current:b};if(!(u&&!te(A,a,h,j))&&!($&&!ee(R)&&!Z(R))){for(const W of he(c))_.add(W);d.push(A)}}for(const c of r){if(!Mt(c)||Gt(c,_))continue;const y=Ut(c,g),w=Math.max(y,c.updatedAt??0,c.createdAt??0),b=w>0&&a-w<=h;if(!b)continue;const k=Vt(c,m);k&&I.add(k.id);const L=Nt(c,w,b),C=k?{...k,harnessSessionId:k.harnessSessionId??c.sourceSessionId,terminalSurface:k.terminalSurface??L.terminalSurface,updatedAt:Math.max(k.updatedAt??0,w)}:L,R=$t(c,b,w),$={id:k?k.id:me(c),agent:C,source:k?"scout":"native",observe:R,facts:Y(null,[],C,n,R),lastActiveAt:w,current:b};if(!(u&&!te($,a,h,y||w))){for(const E of J(c))_.add(E);d.push($)}}for(const c of o){const y=mt(c,a,h);if(X(c)&&y.length===0||!D(c,"scout"))continue;const w=P(c);if(!w&&y.length===0)continue;if(w&&zt(c,_)){if(!I.has(c.id)){const ke=We(c)??c.id;B(F,x,{kind:"shadowed_scout_card",sessionRef:ke,agentIds:[c.id],agentNames:[N(c)],message:`${N(c)} is active but hidden because another lane already represents ${ke}.`})}continue}const b=i[c.id],k=w?ye(c.harnessSessionId,g):0,L=y.at(-1)?.at??0,C=Qt(c),R=Xt(c,a,h),$=R?c.updatedAt??0:0,E=Math.max(jt(c,b,a),k,$,C,L),j=E>0&&a-E<=h;let A=Ge(b?.data??null,a,h);!A&&y.length>0&&(A=Yt(c,y)),R&&j&&!ee(A)&&!Z(A)?A=Jt(c,j,E):!A&&C>0&&(A=Zt(c,E));const W={id:c.id,agent:c,source:"scout",observe:A,facts:Y(null,[],c,n,A),lastActiveAt:E,current:j},we=C>0&&a-C<=h||L>0;u&&!we&&!te(W,a,h,k)||!we&&!ee(A)&&!Z(A)||d.push(W)}return{lanes:d.sort(re),issues:F}}export{ne as A,ie as D,Tn as a,X as b,cn as c,_n as d,vn as e,Oe as f,Rn as g,bn as h,Z as i,ft as j,ae as k,pt as l,Sn as m,An as n,Ft as o,In as p,xn as r,kn as s};
@@ -1 +1 @@
1
- import{f as s}from"./runtime-picker-DdsttHHc.js";const c={general:"Generalist",builder:"Builder",reviewer:"Reviewer",researcher:"Researcher",operator:"Operator",bridge:"Bridge",system:"System",organic:"Organic",managed:"Managed"};function u(e){if(!e?.trim())return"Generalist";const r=e.trim().toLowerCase();return c[r]??e.replace(/_/g," ")}function m(e){return e?.trim()?s(e)?.trim()??null:null}function g(e,r){const i=e.agentClass?.trim()||"general",t=u(i),n=m(e.role),a=[...new Set(e.skills??[])].filter(Boolean),l=[...new Set([...e.capabilities??[],...r?.capabilities??[]])].filter(Boolean),o=i==="general"&&!n&&a.length===0;return{kind:t,kindRaw:i,role:n,isGeneralist:o,headline:n??t,skills:a,capabilities:l}}export{g as a};
1
+ import{f as s}from"./runtime-picker-C_AVYF63.js";const c={general:"Generalist",builder:"Builder",reviewer:"Reviewer",researcher:"Researcher",operator:"Operator",bridge:"Bridge",system:"System",organic:"Organic",managed:"Managed"};function u(e){if(!e?.trim())return"Generalist";const r=e.trim().toLowerCase();return c[r]??e.replace(/_/g," ")}function m(e){return e?.trim()?s(e)?.trim()??null:null}function g(e,r){const i=e.agentClass?.trim()||"general",t=u(i),n=m(e.role),a=[...new Set(e.skills??[])].filter(Boolean),l=[...new Set([...e.capabilities??[],...r?.capabilities??[]])].filter(Boolean),o=i==="general"&&!n&&a.length===0;return{kind:t,kindRaw:i,role:n,isGeneralist:o,headline:n??t,skills:a,capabilities:l}}export{g as a};
@@ -1 +1 @@
1
- import{a as s}from"./api-CaROe5_H.js";let r=null,c=null;function l(a,e){const t=new URLSearchParams({includeDiff:"1",native:"0"});return a==="standard"&&t.set("includeLastCommit","1"),e&&t.set("force","1"),a==="expanded"&&(t.set("maxRoots","32"),t.set("maxWorktrees","12"),t.set("scanBudgetMs","30000")),`/api/repo-watch?${t.toString()}`}async function h(a,e,t){const n=new AbortController,i=window.setTimeout(()=>n.abort(),t);try{const o=await s(l(a,e),{signal:n.signal});return r=o,o}finally{window.clearTimeout(i)}}function f(){return r}function p(a){const e=new URLSearchParams({limit:"8"});for(const t of a.slice(0,12))e.append("path",t);return`/api/repo-prs?${e.toString()}`}async function m(a){const e=await s(p(a));return c=e,e}function d(){return c}export{d as a,m as b,h as f,f as g};
1
+ import{a as s}from"./api-DSqpVKC7.js";let r=null,c=null;function l(a,e){const t=new URLSearchParams({includeDiff:"1",native:"0"});return a==="standard"&&t.set("includeLastCommit","1"),e&&t.set("force","1"),a==="expanded"&&(t.set("maxRoots","32"),t.set("maxWorktrees","12"),t.set("scanBudgetMs","30000")),`/api/repo-watch?${t.toString()}`}async function h(a,e,t){const n=new AbortController,i=window.setTimeout(()=>n.abort(),t);try{const o=await s(l(a,e),{signal:n.signal});return r=o,o}finally{window.clearTimeout(i)}}function f(){return r}function p(a){const e=new URLSearchParams({limit:"8"});for(const t of a.slice(0,12))e.append("path",t);return`/api/repo-prs?${e.toString()}`}async function m(a){const e=await s(p(a));return c=e,e}function d(){return c}export{d as a,m as b,h as f,f as g};
@@ -1 +1 @@
1
- const i=[];function M(e){i.push(e),i.length>400&&i.splice(0,i.length-400)}function $(e){return e>=1048576?`${(e/1048576).toFixed(1)}MB`:e>=1024?`${Math.round(e/1024)}KB`:`${e}B`}function g(e){const t=e.indexOf("?");return t===-1?e:e.slice(0,t)}function h(e){M({kind:"api",at:Date.now(),...e}),e.ms>=600&&console.info(`[scout-perf] slow api ${e.method} ${e.path} ${Math.round(e.ms)}ms ${$(e.bytes)}${e.ok?"":" (failed)"}`)}function E(e,t){if(typeof requestAnimationFrame!="function")return;const n=performance.now();requestAnimationFrame(()=>{requestAnimationFrame(()=>{const o=performance.now()-n;M({kind:"nav",from:e,to:t,ms:o,at:Date.now()}),o>=300&&console.info(`[scout-perf] slow nav ${e} -> ${t} ${Math.round(o)}ms to first paint`)})})}function A(){const e=new Map;for(const t of i){const n=t.kind==="api"?`${t.method} ${g(t.path)}`:`nav ${t.to}`,o=e.get(n)??{count:0,totalMs:0,maxMs:0,totalBytes:0};o.count+=1,o.totalMs+=t.ms,o.maxMs=Math.max(o.maxMs,t.ms),t.kind==="api"&&(o.totalBytes+=t.bytes),e.set(n,o)}return[...e.entries()].map(([t,n])=>({key:t,count:n.count,avgMs:Math.round(n.totalMs/n.count),maxMs:Math.round(n.maxMs),totalBytes:n.totalBytes})).sort((t,n)=>n.maxMs-t.maxMs)}typeof window<"u"&&(window.__scoutPerf={entries:()=>[...i],summary:A});const p=new Map,c=new Map,S=128;let f=null;function _(){return globalThis?.__OPENSCOUT_WEB_BOOTSTRAP__?.routes?.bootstrapScriptPath?.trim()||"/api/bootstrap.js"}async function x(){if(f)return f;const e=_();return f=(async()=>{try{return(await fetch(e,{method:"GET",credentials:"include",cache:"no-store"})).ok}catch{return!1}finally{f=null}})(),f}function b(e){const t=e.replace(/\s+/g," ").trim();return t?t.length>180?`${t.slice(0,180)}...`:t:"empty body"}function d(e,t,n){if(t)try{return JSON.parse(t)}catch{const o=n?.trim()||"non-JSON";throw new Error(`Expected JSON from ${e} but received ${o}: ${b(t)}`)}}function G(e){return e?JSON.stringify([...new Headers(e).entries()].sort(([t],[n])=>t.localeCompare(n))):""}function T(e,t){return`${(t?.method??"GET").toUpperCase()}:${e}:${G(t?.headers)}`}async function y(e,t){const n=(t?.method??"GET").toUpperCase(),o=performance.now(),r=async()=>fetch(e,{...t,headers:{...t?.headers??{},...t?.body?{"content-type":"application/json"}:{}}});let a=await r();if(a.status===401&&!e.includes("/bootstrap.js")&&await x()&&(a=await r()),!a.ok){const s=await a.text();h({method:n,path:e,ms:performance.now()-o,bytes:s.length,ok:!1});let l=s||`HTTP ${a.status}`;try{const m=JSON.parse(s);m?.error&&(l=m.error)}catch{}throw new Error(l)}const u=await a.text();return h({method:n,path:e,ms:performance.now()-o,bytes:u.length,ok:!0}),{text:u,contentType:a.headers.get("content-type")}}function w(e,t){for(c.delete(e),c.set(e,{response:t,receivedAt:Date.now()});c.size>S;){const n=c.keys().next().value;if(typeof n!="string")break;c.delete(n)}}function O(e,t,n){if("GET".toUpperCase()!=="GET"||n?.body||t<=0)return null;const r=c.get(T(e,n));return!r||Date.now()-r.receivedAt>t?null:d(e,r.response.text,r.response.contentType)}async function k(e,t){if(!((t?.method??"GET").toUpperCase()==="GET"&&!t?.body&&!t?.signal)){const s=await y(e,t);return d(e,s.text,s.contentType)}const r=T(e,t),a=p.get(r);if(a){const s=await a;return w(r,s),d(e,s.text,s.contentType)}const u=y(e,t);p.set(r,u);try{const s=await u;return w(r,s),d(e,s.text,s.contentType)}finally{p.delete(r)}}export{k as a,E as b,O as p};
1
+ const i=[];function M(e){i.push(e),i.length>400&&i.splice(0,i.length-400)}function $(e){return e>=1048576?`${(e/1048576).toFixed(1)}MB`:e>=1024?`${Math.round(e/1024)}KB`:`${e}B`}function g(e){const t=e.indexOf("?");return t===-1?e:e.slice(0,t)}function h(e){M({kind:"api",at:Date.now(),...e}),e.ms>=600&&console.info(`[scout-perf] slow api ${e.method} ${e.path} ${Math.round(e.ms)}ms ${$(e.bytes)}${e.ok?"":" (failed)"}`)}function E(e,t){if(typeof requestAnimationFrame!="function")return;const n=performance.now();requestAnimationFrame(()=>{requestAnimationFrame(()=>{const o=performance.now()-n;M({kind:"nav",from:e,to:t,ms:o,at:Date.now()}),o>=300&&console.info(`[scout-perf] slow nav ${e} -> ${t} ${Math.round(o)}ms to first paint`)})})}function A(){const e=new Map;for(const t of i){const n=t.kind==="api"?`${t.method} ${g(t.path)}`:`nav ${t.to}`,o=e.get(n)??{count:0,totalMs:0,maxMs:0,totalBytes:0};o.count+=1,o.totalMs+=t.ms,o.maxMs=Math.max(o.maxMs,t.ms),t.kind==="api"&&(o.totalBytes+=t.bytes),e.set(n,o)}return[...e.entries()].map(([t,n])=>({key:t,count:n.count,avgMs:Math.round(n.totalMs/n.count),maxMs:Math.round(n.maxMs),totalBytes:n.totalBytes})).sort((t,n)=>n.maxMs-t.maxMs)}typeof window<"u"&&(window.__scoutPerf={entries:()=>[...i],summary:A});const p=new Map,c=new Map,S=128;let f=null;function _(){return globalThis?.__OPENSCOUT_WEB_BOOTSTRAP__?.routes?.bootstrapScriptPath?.trim()||"/api/bootstrap.js"}async function x(){if(f)return f;const e=_();return f=(async()=>{try{return(await fetch(e,{method:"GET",credentials:"include",cache:"no-store"})).ok}catch{return!1}finally{f=null}})(),f}function b(e){const t=e.replace(/\s+/g," ").trim();return t?t.length>180?`${t.slice(0,180)}...`:t:"empty body"}function d(e,t,n){if(t)try{return JSON.parse(t)}catch{const o=n?.trim()||"non-JSON";throw new Error(`Expected JSON from ${e} but received ${o}: ${b(t)}`)}}function G(e){return e?JSON.stringify([...new Headers(e).entries()].sort(([t],[n])=>t.localeCompare(n))):""}function T(e,t){return`${(t?.method??"GET").toUpperCase()}:${e}:${G(t?.headers)}`}async function y(e,t){const n=(t?.method??"GET").toUpperCase(),o=performance.now(),r=async()=>fetch(e,{...t,headers:{...t?.headers??{},...t?.body?{"content-type":"application/json"}:{}}});let a=await r();if(a.status===401&&!e.includes("/bootstrap.js")&&await x()&&(a=await r()),!a.ok){const s=await a.text();h({method:n,path:e,ms:performance.now()-o,bytes:s.length,ok:!1});let l=s||`HTTP ${a.status}`;try{const m=JSON.parse(s);m?.error&&(l=m.error)}catch{}throw new Error(l)}const u=await a.text();return h({method:n,path:e,ms:performance.now()-o,bytes:u.length,ok:!0}),{text:u,contentType:a.headers.get("content-type")}}function w(e,t){for(c.delete(e),c.set(e,{response:t,receivedAt:Date.now()});c.size>S;){const n=c.keys().next().value;if(typeof n!="string")break;c.delete(n)}}function O(e,t,n){if("GET".toUpperCase()!=="GET"||n?.body||t<=0)return null;const r=c.get(T(e,n));return!r||Date.now()-r.receivedAt>t?null:d(e,r.response.text,r.response.contentType)}async function k(e,t){if(!((t?.method??"GET").toUpperCase()==="GET"&&!t?.body&&!t?.signal)){const s=await y(e,t);return d(e,s.text,s.contentType)}const r=T(e,t),a=p.get(r);if(a){const s=await a;return w(r,s),d(e,s.text,s.contentType)}const u=y(e,t);p.set(r,u);try{const s=await u;return w(r,s),d(e,s.text,s.contentType)}finally{p.delete(r)}}export{k as a,E as b,O as p,x as r};