@openscout/scout 0.2.107 → 0.2.109

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 (545) hide show
  1. package/README.md +53 -16
  2. package/bin/scoutd +0 -0
  3. package/dist/build-manifest.json +3 -3
  4. package/dist/client/assets/conversation-motion-features-PYM3Yx_M.js +1 -0
  5. package/dist/client/assets/index-DGR8nSEY.js +88 -0
  6. package/dist/client/assets/index-rA7f7Rt0.css +1 -0
  7. package/dist/client/index.html +3 -3
  8. package/dist/main.mjs +1 -1
  9. package/package.json +26 -4
  10. package/server.json +2 -2
  11. package/dist/client/assets/ActivityScreen-CZmGwQ2U.js +0 -1
  12. package/dist/client/assets/AddProjectForm-CusDRiVO.js +0 -1
  13. package/dist/client/assets/AdventureEvidence-CyegKk1V.js +0 -5
  14. package/dist/client/assets/AdventureReader-X-hbTOi0.js +0 -4
  15. package/dist/client/assets/AdventureScenery-LPXSVP67.js +0 -1
  16. package/dist/client/assets/AgentAdventures-BAgxdOF8.js +0 -1
  17. package/dist/client/assets/AgentAvatar-CrP1eXxk.js +0 -1
  18. package/dist/client/assets/AgentConfigurationScreen-1L0IQm2w.js +0 -1
  19. package/dist/client/assets/AgentDefinitionsWorkspace-DguGs7jZ.js +0 -1
  20. package/dist/client/assets/AgentDetailCard-C4WVeJvJ.css +0 -1
  21. package/dist/client/assets/AgentDetailCard-DtHT3sCo.js +0 -1
  22. package/dist/client/assets/AgentFloorView-DH4jiDgw.js +0 -1
  23. package/dist/client/assets/AgentFloorWorld-CjoIa6jA.js +0 -1
  24. package/dist/client/assets/AgentInfoScreen-DYtmKkeE.js +0 -1
  25. package/dist/client/assets/AgentLaneCard-BaZ2g-f8.js +0 -1
  26. package/dist/client/assets/AgentLaneChrome-TF1SlJSc.js +0 -1
  27. package/dist/client/assets/AgentLaneDetailSheet-EzEPsn3g.js +0 -4
  28. package/dist/client/assets/AgentLaneSummaryResize-dpp7YvrX.js +0 -1
  29. package/dist/client/assets/AgentLanesEmbedScreen-BlSof_6S.js +0 -1
  30. package/dist/client/assets/AgentLanesPreflight-Ry-aqDTr.js +0 -1
  31. package/dist/client/assets/AgentLanesView-BJi9xXz6.js +0 -2
  32. package/dist/client/assets/AgentLiveActions-CGS-Bxb7.css +0 -1
  33. package/dist/client/assets/AgentLiveActions-CfTupTEl.js +0 -1
  34. package/dist/client/assets/AgentMasterScreen-EJhmuKgl.js +0 -1
  35. package/dist/client/assets/AgentSessions-B1gOhDBf.js +0 -6
  36. package/dist/client/assets/AgentsConsole-BjSTs-TV.css +0 -1
  37. package/dist/client/assets/AgentsConsole-RXGqRvcb.js +0 -1
  38. package/dist/client/assets/AgentsScreen-ChwMBs11.js +0 -1
  39. package/dist/client/assets/AgentsSubnav-DwNX4yy0.js +0 -1
  40. package/dist/client/assets/AstronautSuit-Cchnc4Ug.js +0 -1
  41. package/dist/client/assets/AtopView-gkEp4y__.js +0 -1
  42. package/dist/client/assets/BackToPicker-CUkjnoVk.js +0 -1
  43. package/dist/client/assets/BackToPicker-CdgVu-to.css +0 -1
  44. package/dist/client/assets/BriefingDetailScreen-DrlC3qkm.js +0 -1
  45. package/dist/client/assets/BriefingsScreen-B1HlBMGZ.js +0 -1
  46. package/dist/client/assets/BrokerMetadataPanel-Dk242Yh_.js +0 -1
  47. package/dist/client/assets/BrokerScreen-DwOF6bMA.js +0 -8
  48. package/dist/client/assets/Canvas-X9pVSkw3.js +0 -1
  49. package/dist/client/assets/CastPicker-BXUtPAGC.js +0 -1
  50. package/dist/client/assets/CastPicker-zXsnkTIy.css +0 -1
  51. package/dist/client/assets/ChannelComposer-DoK7IDGa.js +0 -1
  52. package/dist/client/assets/ChannelSidebar-e9DOPulb.js +0 -1
  53. package/dist/client/assets/CharacterFamilyPreview-BniL8sEL.css +0 -1
  54. package/dist/client/assets/CharacterFamilyPreview-DMfw7UM_.js +0 -1
  55. package/dist/client/assets/ChatAvatar-C3a_o5Hj.js +0 -1
  56. package/dist/client/assets/ChatBits-CsvxbToF.js +0 -1
  57. package/dist/client/assets/ChatCollapsedStrip-FEmQ_G9J.js +0 -1
  58. package/dist/client/assets/ChatRichInput-DhtwFxQE.js +0 -31
  59. package/dist/client/assets/ChatRightPanel-C1h_aIkn.js +0 -1
  60. package/dist/client/assets/ChatSpaceSurface-BXyLYKHn.js +0 -1
  61. package/dist/client/assets/ChatSpaceTheme-3wLZGsvT.css +0 -1
  62. package/dist/client/assets/ChatSpaceTheme-CUH8bTZc.js +0 -1
  63. package/dist/client/assets/CodeDiffPane-DuQRwpgK.js +0 -1
  64. package/dist/client/assets/CodeProjectPicker-ZQ6gSBpg.js +0 -2
  65. package/dist/client/assets/CodeScreen-BXyKeL5T.js +0 -1
  66. package/dist/client/assets/CommsCanvas-BR2YS76H.css +0 -1
  67. package/dist/client/assets/CommsCanvas-THp0r_U8.js +0 -1
  68. package/dist/client/assets/CommsDeck-BVmSMV2V.js +0 -1
  69. package/dist/client/assets/CommsFlowGraph-DxoOaLF_.js +0 -1
  70. package/dist/client/assets/CommsFlowGraph-vQucylxF.css +0 -1
  71. package/dist/client/assets/CommsFlowMap-Vi8ziCPg.js +0 -1
  72. package/dist/client/assets/CommsSelection-BUoRbu9o.js +0 -1
  73. package/dist/client/assets/ComposerAttachments-DW0AIb8k.js +0 -1
  74. package/dist/client/assets/ConversationComposer-CUQyArlk.js +0 -1
  75. package/dist/client/assets/ConversationFeedRows-DWiOfT-y.js +0 -1
  76. package/dist/client/assets/ConversationHeader-C-ZWscKj.js +0 -1
  77. package/dist/client/assets/ConversationPanels-D9oC0xG5.js +0 -6
  78. package/dist/client/assets/ConversationScreen-9MlMnEo4.css +0 -1
  79. package/dist/client/assets/ConversationScreen-CUfsQ4MR.js +0 -2
  80. package/dist/client/assets/ConversationStatus--IPm2nGh.js +0 -1
  81. package/dist/client/assets/CrewAvatar-BnIPIn_Z.css +0 -1
  82. package/dist/client/assets/CrewAvatar-kTznzqcO.js +0 -1
  83. package/dist/client/assets/CrewSprite-Dhryjx2c.js +0 -1
  84. package/dist/client/assets/CrewSprite-DsQJdu3Z.css +0 -1
  85. package/dist/client/assets/CrewStage-vdO0qm3D.js +0 -1
  86. package/dist/client/assets/CrewWorkspaces-DCBzAAS4.js +0 -1
  87. package/dist/client/assets/CrewWorkspaces-DDuYMByu.css +0 -1
  88. package/dist/client/assets/DataTable-aH-jCyDq.js +0 -1
  89. package/dist/client/assets/DispatchAftermath-66uQAorV.js +0 -1
  90. package/dist/client/assets/DocumentFocusViewer-BSC_JwVE.css +0 -1
  91. package/dist/client/assets/DocumentFocusViewer-DJr0v0D_.js +0 -1
  92. package/dist/client/assets/EmbeddableSurfacesLab-BBa70EhJ.js +0 -1
  93. package/dist/client/assets/EmptyState-CZlrHXy-.js +0 -1
  94. package/dist/client/assets/FileViewerPane-BAO6mtjD.js +0 -3
  95. package/dist/client/assets/FleetRollCallHud-C5q2567n.js +0 -1
  96. package/dist/client/assets/FlightObserveScreen-DZ2mrw91.js +0 -1
  97. package/dist/client/assets/FloorContextSheet-2_NVPQor.js +0 -1
  98. package/dist/client/assets/FloorExchangePanel-B3TFhjLk.css +0 -1
  99. package/dist/client/assets/FloorExchangePanel-BU1pPu8K.js +0 -1
  100. package/dist/client/assets/FloorMessagePasses-cLW2UGNP.js +0 -1
  101. package/dist/client/assets/FloorMessagePasses-nxwwiUom.css +0 -1
  102. package/dist/client/assets/FloorReplay-VFzA6Kxc.js +0 -1
  103. package/dist/client/assets/FloorResourcesSheet-C-kQ6Ren.js +0 -1
  104. package/dist/client/assets/FloorSavedWork-BeHDejWz.js +0 -1
  105. package/dist/client/assets/FloorTacticalHUD-CO-iiFpb.js +0 -1
  106. package/dist/client/assets/FollowScreen-CFfkIbc6.js +0 -1
  107. package/dist/client/assets/HarnessMark-C4naWc16.js +0 -1
  108. package/dist/client/assets/HarnessesScreen-DX3NLcDG.js +0 -1
  109. package/dist/client/assets/HerdrSession-_t7yM8vX.js +0 -4
  110. package/dist/client/assets/HomeHero-7JwycwFY.css +0 -1
  111. package/dist/client/assets/HomeHero-DouPyNmz.js +0 -1
  112. package/dist/client/assets/HostAdvisorView-CnM1i8hW.js +0 -1
  113. package/dist/client/assets/InviteLandingScreen-CEjG2E34.js +0 -1
  114. package/dist/client/assets/InviteSheet-CwxZtWCl.js +0 -1
  115. package/dist/client/assets/JumpPalette-O1aJE9gR.js +0 -1
  116. package/dist/client/assets/KnowledgeSearchInspector-32n9baT-.js +0 -1
  117. package/dist/client/assets/KnowledgeSearchScreen-Dd6jrQ0A.js +0 -1
  118. package/dist/client/assets/LaneToolHoverCard-CJa110yk.js +0 -1
  119. package/dist/client/assets/LaneTraceDetailSheet-DYrd0BIf.js +0 -1
  120. package/dist/client/assets/LaneTraceEventFocus-TbrNHRj_.js +0 -1
  121. package/dist/client/assets/MeshCanvas-DWZHYh1A.js +0 -3
  122. package/dist/client/assets/MeshCanvasMinimap-Dv7nMbl5.css +0 -1
  123. package/dist/client/assets/MeshCanvasMinimap-iswYFpIb.js +0 -1
  124. package/dist/client/assets/MeshScreen-8nAzQVbm.js +0 -1
  125. package/dist/client/assets/MeshTopologyView-BVvtqI8q.js +0 -2
  126. package/dist/client/assets/MessageEmbeds-ksPazAKH.js +0 -1
  127. package/dist/client/assets/MessagesScreen-C3WB4T21.js +0 -1
  128. package/dist/client/assets/MissionContextRail-D62-Wis8.js +0 -1
  129. package/dist/client/assets/MissionControlView-B9cNPXvl.js +0 -1
  130. package/dist/client/assets/MissionFocusOverlay-C1zys3Jv.js +0 -1
  131. package/dist/client/assets/MissionLeftAgentRow-vycMV77n.js +0 -1
  132. package/dist/client/assets/MissionLogPane-B19lYSY9.js +0 -1
  133. package/dist/client/assets/NativeAreaScreen-B1RLa85C.js +0 -1
  134. package/dist/client/assets/NativeAreaScreen-CV0OhGra.js +0 -1
  135. package/dist/client/assets/NativeAreaScreen-CzuZt6o1.js +0 -1
  136. package/dist/client/assets/NewAgentModal-Bh-L-emz.js +0 -1
  137. package/dist/client/assets/NewAgentModal-ru8u5YdJ.css +0 -1
  138. package/dist/client/assets/NewChatComposer-C5LT7MF7.css +0 -1
  139. package/dist/client/assets/NewChatComposer-C97-iTMK.js +0 -19
  140. package/dist/client/assets/NewChatOrigin-DFbF_XvR.js +0 -1
  141. package/dist/client/assets/NodeDetailPanel-CElOEpCh.js +0 -1
  142. package/dist/client/assets/NodeMenu-B-jjHf1c.js +0 -1
  143. package/dist/client/assets/ObserveEmbedScreen-B7Qt69Ms.js +0 -2
  144. package/dist/client/assets/ObserveTextFlow-PFnG_10h.js +0 -2
  145. package/dist/client/assets/ObservedTopologyPanel-BsBsvVPL.css +0 -1
  146. package/dist/client/assets/ObservedTopologyPanel-CUTIoLZJ.js +0 -2
  147. package/dist/client/assets/OpenScoutAppShell-37PDFfA4.js +0 -31
  148. package/dist/client/assets/OpenScoutAppShell-Bh6FnEJO.css +0 -1
  149. package/dist/client/assets/OpsAgentsView-DajlX8LO.js +0 -1
  150. package/dist/client/assets/OpsScreen-jVcaBKGi.js +0 -1
  151. package/dist/client/assets/OpsSubnav-BOOYShHE.js +0 -1
  152. package/dist/client/assets/ProjectAgentProfile-D_wlW4sQ.js +0 -1
  153. package/dist/client/assets/ProjectAgentProfileBar-DHuMKJj-.js +0 -1
  154. package/dist/client/assets/ProjectAgentProfileHero-Dbebtug1.js +0 -1
  155. package/dist/client/assets/ProjectsInbox-B8zYE4vP.css +0 -1
  156. package/dist/client/assets/ProjectsInbox-Cgu7B4--.js +0 -2
  157. package/dist/client/assets/ProjectsRail-CDWocin_.js +0 -1
  158. package/dist/client/assets/ProjectsScreen-B_CJycqW.js +0 -1
  159. package/dist/client/assets/ProjectsThreadAside-1MMl_qUD.js +0 -1
  160. package/dist/client/assets/Provider-C35yu29I.js +0 -5
  161. package/dist/client/assets/Provider-CCzjtkda.css +0 -1
  162. package/dist/client/assets/RailRow-B25zKEub.css +0 -1
  163. package/dist/client/assets/RailRow-BjmWK420.js +0 -1
  164. package/dist/client/assets/RawSessionsTable-DzT90hWu.js +0 -1
  165. package/dist/client/assets/RealtimeVoiceScreen-B6ylX3WQ.js +0 -16
  166. package/dist/client/assets/RenderedWorkerSprite-Dhlyg89J.js +0 -1
  167. package/dist/client/assets/RenderedWorkerSprite-qnTfkd_4.css +0 -1
  168. package/dist/client/assets/ReplayClock-348f17bW.js +0 -1
  169. package/dist/client/assets/ReplayLog-CBnAM3ui.js +0 -1
  170. package/dist/client/assets/ReplayOutpost-DyRPfNFx.js +0 -1
  171. package/dist/client/assets/ReplayOutpost-Y1DvZgeu.css +0 -1
  172. package/dist/client/assets/RepoDiffEmbedScreen-BWxvRDrS.js +0 -1
  173. package/dist/client/assets/RepoDiffPageScreen-DN94irmY.js +0 -1
  174. package/dist/client/assets/RepoDiffViewer-_4JVXBIW.js +0 -7
  175. package/dist/client/assets/RepoDiffViewerLazy-XGVC3WXv.js +0 -2
  176. package/dist/client/assets/ReposScreen-uMCpt0e9.js +0 -6
  177. package/dist/client/assets/RiggedWorkerCharacter-BpYECnyK.css +0 -1
  178. package/dist/client/assets/RiggedWorkerCharacter-q6QRc7_o.js +0 -1
  179. package/dist/client/assets/SageModelStudio-768dRQr4.css +0 -1
  180. package/dist/client/assets/SageModelStudio-CNDhZhgD.js +0 -4108
  181. package/dist/client/assets/ScoutDeckSurface-CUaU4R6T.js +0 -1
  182. package/dist/client/assets/ScoutDeckSurface-uhmuZRzC.css +0 -1
  183. package/dist/client/assets/ScoutSurface-3_25USO_.js +0 -1
  184. package/dist/client/assets/ScoutbotFxLab-CRqhYe0a.js +0 -4
  185. package/dist/client/assets/SecondaryNav-D7dbV2qo.js +0 -1
  186. package/dist/client/assets/SessionContextStrip-CXfs9hUD.js +0 -1
  187. package/dist/client/assets/SessionContextStrip-DAIXwtHd.css +0 -1
  188. package/dist/client/assets/SessionEmbedScreen-D0zFmou-.js +0 -1
  189. package/dist/client/assets/SessionHopMenu-E6VJZrE0.js +0 -1
  190. package/dist/client/assets/SessionObserve-CDdJ7fAE.css +0 -1
  191. package/dist/client/assets/SessionObserve-DXxBvejJ.js +0 -12
  192. package/dist/client/assets/SessionObserveEvidence-Cuj_KHxR.js +0 -1
  193. package/dist/client/assets/SessionRefScreen-DqLSUlCE.js +0 -1
  194. package/dist/client/assets/SessionsScreen-BLIRkohT.js +0 -1
  195. package/dist/client/assets/SettingsDrawer-R8a0TlJD.css +0 -1
  196. package/dist/client/assets/SettingsDrawer-juCpnbH6.js +0 -3
  197. package/dist/client/assets/SettingsScreen-BtGzE2-O.js +0 -1
  198. package/dist/client/assets/SharedFloorCharacter-Bi5_md4R.css +0 -1
  199. package/dist/client/assets/SharedFloorCharacter-DNEiaOUh.js +0 -1
  200. package/dist/client/assets/SharedWorkFloor-0rqtdF-n.css +0 -1
  201. package/dist/client/assets/SharedWorkFloor-D9mf9KSg.js +0 -2
  202. package/dist/client/assets/ShikiPane-CRtTYkMj.js +0 -15
  203. package/dist/client/assets/SlidePanel-Bg5dVaIa.css +0 -1
  204. package/dist/client/assets/SlidePanel-_CHAQdOa.js +0 -1
  205. package/dist/client/assets/SpaceSwitcher-BLgSCf_T.js +0 -1
  206. package/dist/client/assets/SpriteAvatar-CpZWf54-.js +0 -1
  207. package/dist/client/assets/SproutActionSprite-BSiTS4en.js +0 -1
  208. package/dist/client/assets/StatusPill-2gCP6H7A.js +0 -1
  209. package/dist/client/assets/TailView-CYSijNTy.js +0 -2
  210. package/dist/client/assets/TailView-Mj3AU2u0.css +0 -1
  211. package/dist/client/assets/Terminal-Bi97yb5s.js +0 -4
  212. package/dist/client/assets/TerminalEmbedScreen-Bqop67Bq.js +0 -1
  213. package/dist/client/assets/TerminalHeaderMount-Cq4OD_xN.js +0 -1
  214. package/dist/client/assets/TerminalRelay-DrikpUSJ.js +0 -46
  215. package/dist/client/assets/TextDocumentSurface-D52m7Vd8.js +0 -4
  216. package/dist/client/assets/TmuxPeek-CXFeweMg.js +0 -1
  217. package/dist/client/assets/VoiceControlWell-DF3bjcYA.js +0 -1
  218. package/dist/client/assets/VoicePathDiagram-CmpHWfO-.js +0 -1
  219. package/dist/client/assets/VoicePermissionsPanel-Ok2nfxHw.js +0 -1
  220. package/dist/client/assets/VoicePermissionsPanel-RijAZ1gP.css +0 -1
  221. package/dist/client/assets/VoiceTurnDetails-wAByRaNB.js +0 -8
  222. package/dist/client/assets/VoiceTurnStage-edoJalLV.js +0 -1
  223. package/dist/client/assets/VoiceTurnView-D-8g5E4r.js +0 -1
  224. package/dist/client/assets/WorkDetailScreen-zQkNVy2F.js +0 -5
  225. package/dist/client/assets/WorkFilesViewer-vNt01sDd.js +0 -1
  226. package/dist/client/assets/WorkRunView-BDkR7Edq.js +0 -1
  227. package/dist/client/assets/WorkRunView-CxwAZ2QQ.css +0 -1
  228. package/dist/client/assets/WorldActorTalk-BvSg_b1y.js +0 -1
  229. package/dist/client/assets/WorldCharacter-CIIlutQq.js +0 -1
  230. package/dist/client/assets/WorldMinimap-B6HNgcDe.js +0 -1
  231. package/dist/client/assets/WorldSky-Jm2Z6dfW.js +0 -1
  232. package/dist/client/assets/activity-CIlFrfPJ.js +0 -1
  233. package/dist/client/assets/addon-fit-dFpj9Kfq.js +0 -1
  234. package/dist/client/assets/addon-webgl-BFCGRtGh.js +0 -82
  235. package/dist/client/assets/adventure-evidence-DgQbBmfa.css +0 -1
  236. package/dist/client/assets/adventure-habitats-v1-CVMbdB_Z.png +0 -0
  237. package/dist/client/assets/adventure-habitats-v1-M1lcpTJh.js +0 -1
  238. package/dist/client/assets/adventure-playback-DTfkhIc0.js +0 -3
  239. package/dist/client/assets/adventure-reader-DM5UDDm9.css +0 -1
  240. package/dist/client/assets/agent-adventures-DZtWpj6k.css +0 -1
  241. package/dist/client/assets/agent-definitions-CymTYqvo.css +0 -1
  242. package/dist/client/assets/agent-directory-studio-injection-Bc8590z5.css +0 -1
  243. package/dist/client/assets/agent-essentials-BGGvT5G6.js +0 -1
  244. package/dist/client/assets/agent-floor-Dmr9hZHL.css +0 -1
  245. package/dist/client/assets/agent-floor-actor-DW8zLht0.js +0 -1
  246. package/dist/client/assets/agent-floor-world-Bnd1AtwK.css +0 -1
  247. package/dist/client/assets/agent-floor-world-layout-hfMjuoui.js +0 -1
  248. package/dist/client/assets/agent-lane-card-BkWVDYM8.css +0 -1
  249. package/dist/client/assets/agent-lane-card-model-CeqQGp-8.js +0 -1
  250. package/dist/client/assets/agent-lane-detail-Ti3trpfH.js +0 -2
  251. package/dist/client/assets/agent-lane-preview-Dpa3DuOn.js +0 -4
  252. package/dist/client/assets/agent-lanes-DmgipV9D.css +0 -1
  253. package/dist/client/assets/agent-lanes-model-DMAdqCmK.js +0 -4
  254. package/dist/client/assets/agent-master-THmq-1k8.css +0 -1
  255. package/dist/client/assets/agent-master-model-Bk_yuUXJ.js +0 -1
  256. package/dist/client/assets/agent-specialization-DDc7mLCW.js +0 -1
  257. package/dist/client/assets/agent-state-DDhnFEEP.js +0 -1
  258. package/dist/client/assets/agents-detail-redesign-h34ROjOW.css +0 -1
  259. package/dist/client/assets/agents-project-DgbqDc65.css +0 -1
  260. package/dist/client/assets/agents-screen-BYakbO50.css +0 -1
  261. package/dist/client/assets/api-BQYTwoz6.js +0 -1
  262. package/dist/client/assets/api-DSqpVKC7.js +0 -1
  263. package/dist/client/assets/arc.es-C1SQHJ3k.js +0 -188
  264. package/dist/client/assets/arrow-left-MVUKauwQ.js +0 -1
  265. package/dist/client/assets/arrow-right-Bp-FpE5V.js +0 -1
  266. package/dist/client/assets/arrow-up-right-BPedAgxO.js +0 -1
  267. package/dist/client/assets/bash-format-BRV5C6Gv.js +0 -1
  268. package/dist/client/assets/book-open-CV98WMSp.js +0 -1
  269. package/dist/client/assets/bot-B4zLQ4IN.js +0 -1
  270. package/dist/client/assets/briefings-BwuAFQK6.css +0 -1
  271. package/dist/client/assets/broker-display-BkBzyvbR.js +0 -2
  272. package/dist/client/assets/cache-DGBo3vIf.js +0 -2
  273. package/dist/client/assets/chat-api-DSJMBYoT.js +0 -2
  274. package/dist/client/assets/chat-message-markup-91DIry6R.js +0 -1
  275. package/dist/client/assets/chat-space-model-aW3Fd8_U.js +0 -4
  276. package/dist/client/assets/chat-transport-DNS5CB2I.js +0 -1
  277. package/dist/client/assets/check-lrJ3a73a.js +0 -1
  278. package/dist/client/assets/chevron-down-l1mrh5S9.js +0 -1
  279. package/dist/client/assets/chevron-right-DrfqcerI.js +0 -1
  280. package/dist/client/assets/chevron-up-CETZJzjV.js +0 -1
  281. package/dist/client/assets/chunk-HRAB3GC3-DbVLgbWX.js +0 -1
  282. package/dist/client/assets/clipboard-e3fSpeo7.js +0 -1
  283. package/dist/client/assets/clock-BV1aqPkK.js +0 -1
  284. package/dist/client/assets/code-screen-DrKinCyh.css +0 -1
  285. package/dist/client/assets/code-xml-BhcNbLWU.js +0 -1
  286. package/dist/client/assets/coffee-D7EAOdCk.js +0 -1
  287. package/dist/client/assets/collapsed-strip-raJWthAH.css +0 -1
  288. package/dist/client/assets/colors-CFlbwC25.js +0 -1
  289. package/dist/client/assets/comms-deck-C8nVeMBh.css +0 -1
  290. package/dist/client/assets/comms-deck-CBhsXnY-.js +0 -2
  291. package/dist/client/assets/comms-gesture-_aGFo6g3.js +0 -2
  292. package/dist/client/assets/compass-63TUaz5_.js +0 -1
  293. package/dist/client/assets/console-B1IBqLI_.css +0 -1
  294. package/dist/client/assets/content-B1lgE8qr.js +0 -1
  295. package/dist/client/assets/content-B5l11YyQ.js +0 -1
  296. package/dist/client/assets/content-BNZOZEpX.js +0 -1
  297. package/dist/client/assets/content-BRIxP155.js +0 -1
  298. package/dist/client/assets/content-BWd8gt8L.js +0 -1
  299. package/dist/client/assets/content-BfwS2jAK.js +0 -1
  300. package/dist/client/assets/content-C4p43_eT.js +0 -1
  301. package/dist/client/assets/content-CINHz-rZ.css +0 -1
  302. package/dist/client/assets/content-CdYfaoDV.js +0 -1
  303. package/dist/client/assets/content-CzldLxw0.js +0 -1
  304. package/dist/client/assets/content-D-olnc4U.js +0 -1
  305. package/dist/client/assets/content-DTioimq4.js +0 -1
  306. package/dist/client/assets/content-LOebm3_d.js +0 -1
  307. package/dist/client/assets/content-nGlEZhUI.js +0 -1
  308. package/dist/client/assets/content-oyzDM-LK.js +0 -1
  309. package/dist/client/assets/content-x1PHxED7.js +0 -1
  310. package/dist/client/assets/content-zX3ZY3T9.js +0 -1
  311. package/dist/client/assets/context-budget-8qFKqM-j.js +0 -1
  312. package/dist/client/assets/conversation-icons-Tqba2d56.js +0 -1
  313. package/dist/client/assets/conversation-model-FxDeWlle.js +0 -1
  314. package/dist/client/assets/conversation-motion-features-C5zjuNwE.js +0 -1
  315. package/dist/client/assets/conversation-prefs-DNre-Lcx.js +0 -1
  316. package/dist/client/assets/conversations-DoAAO6kA.js +0 -1
  317. package/dist/client/assets/copy-xKeM5ZtU.js +0 -1
  318. package/dist/client/assets/cpu-BOTa_WLr.js +0 -1
  319. package/dist/client/assets/createLucideIcon-zZ8Hx7er.js +0 -1
  320. package/dist/client/assets/credentials-OeoF-VKJ.js +0 -1
  321. package/dist/client/assets/ctx-panel-BC8fpcWJ.css +0 -1
  322. package/dist/client/assets/direct-voice-BbLPuJ04.js +0 -2
  323. package/dist/client/assets/direct-voice-DbO7CSv_.css +0 -1
  324. package/dist/client/assets/discover-DJFxyV1k.js +0 -2
  325. package/dist/client/assets/embed-entry-Lyvu0Kfc.js +0 -2
  326. package/dist/client/assets/embed-navigation-DayfkQau.js +0 -1
  327. package/dist/client/assets/external-link-CUObqmgX.js +0 -1
  328. package/dist/client/assets/eye-LrO-cXQt.js +0 -1
  329. package/dist/client/assets/file-code-corner-CsU7jJpu.js +0 -1
  330. package/dist/client/assets/file-text-CnISiiw6.js +0 -1
  331. package/dist/client/assets/flag-C4wl8z2-.js +0 -1
  332. package/dist/client/assets/fleet-roll-call-BUgf7w-V.css +0 -1
  333. package/dist/client/assets/flight-observe-GFg9L8ft.css +0 -1
  334. package/dist/client/assets/floor-character-name-CqJPOlXb.js +0 -1
  335. package/dist/client/assets/floor-context-model-rWKqaKmV.js +0 -1
  336. package/dist/client/assets/floor-context-sheet-BFnkFiY3.css +0 -1
  337. package/dist/client/assets/floor-memory-YMM8AlLY.js +0 -1
  338. package/dist/client/assets/floor-message-passes-CO3Ix_wR.js +0 -1
  339. package/dist/client/assets/floor-preview-text-HrORUJ7D.js +0 -1
  340. package/dist/client/assets/floor-replay-CccYqE-f.css +0 -1
  341. package/dist/client/assets/floor-tactical-hud-HL5Vja5Y.css +0 -1
  342. package/dist/client/assets/folder-D5prSkzz.js +0 -1
  343. package/dist/client/assets/follow-route-BvcGtBIL.js +0 -1
  344. package/dist/client/assets/fx-z37u1o2z.js +0 -1
  345. package/dist/client/assets/gauge-D9_5iJEm.js +0 -1
  346. package/dist/client/assets/gestures-QZub3Ot9.js +0 -1
  347. package/dist/client/assets/git-branch-B0_fPLO7.js +0 -1
  348. package/dist/client/assets/go-shortcuts-DicR7sUf.js +0 -1
  349. package/dist/client/assets/harnesses-screen-2z36fJKE.css +0 -1
  350. package/dist/client/assets/home-live-action-BkqGLVRY.js +0 -1
  351. package/dist/client/assets/home-moving-signal-DMguaRWR.css +0 -1
  352. package/dist/client/assets/home-moving-signal-rpMhsOJB.js +0 -1
  353. package/dist/client/assets/home-now-card-ByE6Umcx.js +0 -1
  354. package/dist/client/assets/home-now-card-nano-B5Dv3-pb.js +0 -1
  355. package/dist/client/assets/hooks-D787lBmm.css +0 -1
  356. package/dist/client/assets/hooks-_eCZZPsR.js +0 -2
  357. package/dist/client/assets/host-advisor-B2Fqs5Dd.css +0 -1
  358. package/dist/client/assets/inbox-thread-redesign-B_1ocqaX.css +0 -1
  359. package/dist/client/assets/index-724SdE6r.js +0 -1
  360. package/dist/client/assets/index-BWHgHrtv.js +0 -1
  361. package/dist/client/assets/index-CHD0qcfL.js +0 -1
  362. package/dist/client/assets/index-CN4rBB_s.css +0 -1
  363. package/dist/client/assets/index-D1d98iYf.js +0 -1
  364. package/dist/client/assets/index-EsrkGBcv.js +0 -10
  365. package/dist/client/assets/index-gGHPA-By.js +0 -1
  366. package/dist/client/assets/index-wLwc74Pu.css +0 -1
  367. package/dist/client/assets/inspector-panel-BkgUDn6G.js +0 -2
  368. package/dist/client/assets/keyboard-nav-DDHegDbx.js +0 -1
  369. package/dist/client/assets/knowledge-search-BNdQweGz.css +0 -1
  370. package/dist/client/assets/lane-ask-display-BTVSakyo.js +0 -18
  371. package/dist/client/assets/lane-edit-display-BjdT9oZl.js +0 -9
  372. package/dist/client/assets/lane-observe-CteDwdD-.js +0 -7
  373. package/dist/client/assets/lane-roster-store-D-RSWjb-.js +0 -1
  374. package/dist/client/assets/lane-tool-detail-Czggx8oM.js +0 -9
  375. package/dist/client/assets/layers-C8PDiMul.js +0 -1
  376. package/dist/client/assets/layout-grid-Cor2frzj.js +0 -1
  377. package/dist/client/assets/left-BV9yMiTL.css +0 -1
  378. package/dist/client/assets/left-Bn5X7x2o.js +0 -2
  379. package/dist/client/assets/left-BqS0fYX1.js +0 -1
  380. package/dist/client/assets/left-CAaRBK9S.css +0 -1
  381. package/dist/client/assets/left-CTCeeeD3.js +0 -1
  382. package/dist/client/assets/left-DhtVPVux.js +0 -1
  383. package/dist/client/assets/left-K39b-Wvx.js +0 -2
  384. package/dist/client/assets/left-KGmueNPt.js +0 -1
  385. package/dist/client/assets/left-P_GOYB-s.js +0 -1
  386. package/dist/client/assets/left-R2OOE7VG.css +0 -1
  387. package/dist/client/assets/left-advisor-B0N47De2.js +0 -1
  388. package/dist/client/assets/left-agents-CsSNc51Y.js +0 -1
  389. package/dist/client/assets/left-default-BlO5LP2T.js +0 -1
  390. package/dist/client/assets/left-lanes-C4PhaJE6.js +0 -1
  391. package/dist/client/assets/left-mission-BjTE5vPa.js +0 -1
  392. package/dist/client/assets/left-mission-DENnfshd.css +0 -1
  393. package/dist/client/assets/library-CkWNPHRp.js +0 -1
  394. package/dist/client/assets/loader-circle-OvccU82H.js +0 -1
  395. package/dist/client/assets/local-agents-BqnoxJrq.js +0 -1
  396. package/dist/client/assets/log-in-7SnYqW5w.js +0 -1
  397. package/dist/client/assets/machine-children-DxcqCLmd.js +0 -1
  398. package/dist/client/assets/machine-scope-DJt9RZ2w.js +0 -1
  399. package/dist/client/assets/media-blobs-Bi8pxr1u.js +0 -1
  400. package/dist/client/assets/mentions-ByUvhS-v.js +0 -1
  401. package/dist/client/assets/mesh-ops-B1kDjizF.css +0 -1
  402. package/dist/client/assets/mesh-ops-CiZ8xSAx.js +0 -1
  403. package/dist/client/assets/mesh-screen-DjA4mOaN.css +0 -1
  404. package/dist/client/assets/mesh-view-store-DZvJC4KU.js +0 -1
  405. package/dist/client/assets/message-circle-CxRVKNE-.js +0 -1
  406. package/dist/client/assets/message-markup-BQW5jdJw.js +0 -15
  407. package/dist/client/assets/message-markup-Zwo3t4cI.js +0 -1
  408. package/dist/client/assets/message-square-BxesYglW.js +0 -1
  409. package/dist/client/assets/message-visibility-DwxgcgYK.js +0 -1
  410. package/dist/client/assets/mission-control-CsX3Yc58.css +0 -1
  411. package/dist/client/assets/mission-control-model-BpJHDV5D.js +0 -1
  412. package/dist/client/assets/mission-control-store-elEEsIvb.js +0 -1
  413. package/dist/client/assets/mission-wall-CAo4BKfa.js +0 -1
  414. package/dist/client/assets/model-CBkMvT1w.js +0 -1
  415. package/dist/client/assets/monitor-DTTYEb73.js +0 -1
  416. package/dist/client/assets/nav-destinations-uorRqFxf.js +0 -1
  417. package/dist/client/assets/observe-BJqERJVj.js +0 -1
  418. package/dist/client/assets/openAgent-Dbv5wfuL.js +0 -1
  419. package/dist/client/assets/openContent-C6XO6kr5.js +0 -1
  420. package/dist/client/assets/operator-attention-DBaRg5ep.js +0 -1
  421. package/dist/client/assets/ops-agents-BOYxzPTm.css +0 -1
  422. package/dist/client/assets/ops-atop-BB4B4JdE.css +0 -1
  423. package/dist/client/assets/ops-screen-CxYM0VOW.css +0 -1
  424. package/dist/client/assets/page-status-BswZLqvA.js +0 -1
  425. package/dist/client/assets/page-status-bar-ByUD7VPM.css +0 -1
  426. package/dist/client/assets/panel-right-Bv7sP_fc.js +0 -1
  427. package/dist/client/assets/paperclip-BjcuP_Hx.js +0 -1
  428. package/dist/client/assets/pause-C2XTlkjs.js +0 -1
  429. package/dist/client/assets/persistent-state-KRk_yb0q.js +0 -1
  430. package/dist/client/assets/pin-C2mFOV1l.js +0 -1
  431. package/dist/client/assets/pip-idle-v1-Tt-CZsRG.png +0 -0
  432. package/dist/client/assets/pip-thinking-v1-BoHWSEye.png +0 -0
  433. package/dist/client/assets/pip-waiting-v1-DkuvJ-dN.png +0 -0
  434. package/dist/client/assets/pip-working-v1-wWQLRS1z.png +0 -0
  435. package/dist/client/assets/play-FT6K3It1.js +0 -1
  436. package/dist/client/assets/plus-DFDDeGKu.js +0 -1
  437. package/dist/client/assets/profile-DTmzN16I.js +0 -1
  438. package/dist/client/assets/project-overview-helpers-BQTc_Ous.js +0 -1
  439. package/dist/client/assets/projects-inbox-C0FUCv_p.js +0 -1
  440. package/dist/client/assets/projects-inbox-ColX6lpx.css +0 -1
  441. package/dist/client/assets/provider-Dojd8quC.js +0 -1
  442. package/dist/client/assets/proxy-AJsmwA6h.js +0 -1
  443. package/dist/client/assets/radio-DRoOZsws.js +0 -1
  444. package/dist/client/assets/refresh-cw-BmVr7sCD.js +0 -1
  445. package/dist/client/assets/repo-diff-DyYmQMSA.css +0 -1
  446. package/dist/client/assets/resizable-columns-C7ygvLt8.css +0 -1
  447. package/dist/client/assets/resolve-panes-pbY1fCWi.js +0 -1
  448. package/dist/client/assets/resolve-sidebar-context-YWkZTq1t.js +0 -1
  449. package/dist/client/assets/right-49kO-6nD.js +0 -1
  450. package/dist/client/assets/right-APtItA8A.js +0 -1
  451. package/dist/client/assets/right-BJwhPqtn.js +0 -1
  452. package/dist/client/assets/right-BPqrf4ek.js +0 -1
  453. package/dist/client/assets/right-D7djOy6K.js +0 -1
  454. package/dist/client/assets/right-DKOUCRob.js +0 -1
  455. package/dist/client/assets/right-DMNrVzg7.js +0 -1
  456. package/dist/client/assets/right-DWPVB-nK.js +0 -2
  457. package/dist/client/assets/right-DppeMCy4.js +0 -1
  458. package/dist/client/assets/right-GAL5Mw1v.js +0 -1
  459. package/dist/client/assets/rocket-CGl4RTV7.js +0 -1
  460. package/dist/client/assets/router-DCtl8wqb.js +0 -1
  461. package/dist/client/assets/runtime-picker-C3JwrDKP.css +0 -1
  462. package/dist/client/assets/runtime-picker-DXu2bOTh.js +0 -1
  463. package/dist/client/assets/scope-views-4khCg2_z.css +0 -1
  464. package/dist/client/assets/scope-views-RUWwCVAr.js +0 -1
  465. package/dist/client/assets/scout-voice-CZx60X6E.js +0 -1
  466. package/dist/client/assets/scoutbot-Bk3nyrkj.js +0 -3
  467. package/dist/client/assets/scoutbot-markdown-BKEBSbG0.js +0 -6
  468. package/dist/client/assets/scroll-text-DNjxhyO2.js +0 -1
  469. package/dist/client/assets/search-DT42oyRW.js +0 -1
  470. package/dist/client/assets/secondaryNavConfig-CS1svh6n.js +0 -1
  471. package/dist/client/assets/secondaryNavConfig-D15P1Y9k.css +0 -1
  472. package/dist/client/assets/selection-bridge-x3wFUjxj.js +0 -1
  473. package/dist/client/assets/send-horizontal-CH0-fbZE.js +0 -1
  474. package/dist/client/assets/send-to-agent-session-DoKCDBJ4.js +0 -1
  475. package/dist/client/assets/server-QfsgMLk1.js +0 -1
  476. package/dist/client/assets/session-catalog-CvSdPHPe.js +0 -1
  477. package/dist/client/assets/session-recap-lanes-D-eVJnpY.js +0 -1
  478. package/dist/client/assets/session-recap-queue-41l2XVkI.js +0 -1
  479. package/dist/client/assets/session-ref-lookup-state-SATH_jAP.js +0 -1
  480. package/dist/client/assets/session-table-L-pns6Zl.js +0 -1
  481. package/dist/client/assets/sessionRead-CvFz2RHv.js +0 -1
  482. package/dist/client/assets/sessions-view-Dc-QAa7O.js +0 -1
  483. package/dist/client/assets/settings-BVh7kldq.js +0 -1
  484. package/dist/client/assets/shared-work-artifacts-DfNl9KTo.js +0 -1
  485. package/dist/client/assets/sliders-horizontal-782VC_yy.js +0 -1
  486. package/dist/client/assets/solar-system-scope-2k-stars-points-1FwHnkj0.png +0 -0
  487. package/dist/client/assets/sparkles-BjHq_DNK.js +0 -1
  488. package/dist/client/assets/sprout-action-sprite-DZ8C0fTl.css +0 -1
  489. package/dist/client/assets/sprout-actions-proof-v1-BzUdc812.png +0 -0
  490. package/dist/client/assets/sse-BCPRocpq.js +0 -1
  491. package/dist/client/assets/status-tone-BM_zuRy1.js +0 -1
  492. package/dist/client/assets/surface-activity-B1rgWB1i.js +0 -1
  493. package/dist/client/assets/synthetic-agent-routing-aduMYO7P.js +0 -1
  494. package/dist/client/assets/system-surfaces-redesign-q2BmCB7e.css +0 -1
  495. package/dist/client/assets/tail-display-DHSNmvor.js +0 -2
  496. package/dist/client/assets/tail-events-d0yAYxR0.js +0 -1
  497. package/dist/client/assets/terminal-hQKQygcf.js +0 -1
  498. package/dist/client/assets/terminal-relay-Bxs1hp-j.js +0 -1
  499. package/dist/client/assets/terminal-screen-Bpb2SZrn.css +0 -1
  500. package/dist/client/assets/terminal-sessions-3RfJpen8.js +0 -1
  501. package/dist/client/assets/terminal-takeover-Ay5C2c-M.js +0 -1
  502. package/dist/client/assets/theme-vars-DNK0nn3k.js +0 -1
  503. package/dist/client/assets/time-Dhsh_2EG.js +0 -1
  504. package/dist/client/assets/triangle-alert-CHoRGdVO.js +0 -1
  505. package/dist/client/assets/types-B0PlfpKc.js +0 -1
  506. package/dist/client/assets/ui-LM8pS8qE.js +0 -1
  507. package/dist/client/assets/use-beside-DoRC1nt0.js +0 -1
  508. package/dist/client/assets/use-conversation-list-CY4JciOV.js +0 -1
  509. package/dist/client/assets/use-fleet-active-asks-CymmXWH4.js +0 -1
  510. package/dist/client/assets/use-mesh-node-state-BvaqtODo.js +0 -1
  511. package/dist/client/assets/use-mesh-ops-items-BSYaqH_0.js +0 -1
  512. package/dist/client/assets/use-reduced-motion-3gMYZNIp.js +0 -1
  513. package/dist/client/assets/use-scout-dev-flags-DS_pYYQd.js +0 -1
  514. package/dist/client/assets/useAgentHoverCard-BANmpjMh.js +0 -1
  515. package/dist/client/assets/useContentSecondaryNav-C6OBu-3_.js +0 -1
  516. package/dist/client/assets/useEmbedHeadline-D6pJRxUg.js +0 -1
  517. package/dist/client/assets/usePersistentState-B8lP7TRb.js +0 -1
  518. package/dist/client/assets/usePierreRuntime-BAQdiN0L.js +0 -50
  519. package/dist/client/assets/useSidebarCollapse-OL_8J5cL.js +0 -1
  520. package/dist/client/assets/users-BUjx36gx.js +0 -1
  521. package/dist/client/assets/voice-levels-Dcr3jglk.js +0 -1
  522. package/dist/client/assets/voice-paths-CJUuBPh3.css +0 -1
  523. package/dist/client/assets/voice-turn-DftA0iIb.css +0 -1
  524. package/dist/client/assets/voice-turn-ledger-BMZxlSjg.js +0 -1
  525. package/dist/client/assets/worker-rendered-v1-DmGVMlVi.png +0 -0
  526. package/dist/client/assets/worker-thinking-v1-ujakpzrK.png +0 -0
  527. package/dist/client/assets/worker-waiting-v1-DbTSsfJJ.png +0 -0
  528. package/dist/client/assets/worker-working-v1-BROAvJ_z.png +0 -0
  529. package/dist/client/assets/world-outposts-v1-DOt0i98W.png +0 -0
  530. package/dist/client/assets/wrench-DR0i5BU7.js +0 -1
  531. package/dist/client/assets/x-DAehov0E.js +0 -1
  532. package/dist/client/assets/xterm-BXQiLVnI.js +0 -34
  533. package/dist/client/assets/zap-CEjZNZbI.js +0 -1
  534. package/dist/client/characters/sage/sage.glb +0 -0
  535. package/dist/highlights-eq9cgrbb.scm +0 -604
  536. package/dist/highlights-ghv9g403.scm +0 -205
  537. package/dist/highlights-hk7bwhj4.scm +0 -284
  538. package/dist/highlights-r812a2qc.scm +0 -150
  539. package/dist/highlights-x6tmsnaa.scm +0 -115
  540. package/dist/injections-73j83es3.scm +0 -27
  541. package/dist/tree-sitter-javascript-nd0q4pe9.wasm +0 -0
  542. package/dist/tree-sitter-markdown-411r6y9b.wasm +0 -0
  543. package/dist/tree-sitter-markdown_inline-j5349f42.wasm +0 -0
  544. package/dist/tree-sitter-typescript-zxjzwt75.wasm +0 -0
  545. package/dist/tree-sitter-zig-e78zbjpm.wasm +0 -0
package/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ # OpenScout — coordinate AI coding agents
2
+
1
3
  <p align="center">
2
4
  <a href="https://openscout.app">
3
5
  <img src="https://openscout.app/og.png" alt="Scout — one place for all your agents, local-first and neutral by design" width="100%" />
@@ -5,7 +7,7 @@
5
7
  </p>
6
8
 
7
9
  <p align="center">
8
- <strong>The coordination layer for the coding agents you already run.</strong><br />
10
+ <strong>Coordinate Claude Code, Codex, Cursor, OpenCode, Kimi, Grok, Pi, and Devin.</strong><br />
9
11
  Discover agents, dispatch work, send messages, and follow progress across the tools you already use.
10
12
  </p>
11
13
 
@@ -18,10 +20,11 @@
18
20
 
19
21
  ---
20
22
 
21
- Scout is a local-first control plane for AI agents. It sits underneath Claude
22
- Code, Codex, Cursor, Pi, and other harnesses, giving them one durable broker for
23
- discovery, messages, work, and routing without moving agents out of the tools
24
- where they already run.
23
+ OpenScout provides local-first agent messaging and multi-agent orchestration
24
+ through a CLI and MCP server. Discover coding agents, dispatch tasks, and follow
25
+ results across Claude Code, Codex, Cursor, OpenCode, Kimi Code, Grok, Pi, and
26
+ Devin. Keep using the tools where your agents already run, with one durable
27
+ broker for discovery, messages, work, and routing.
25
28
 
26
29
  ## What Scout gives you
27
30
 
@@ -38,23 +41,27 @@ TUI, web UI, and optional native apps.
38
41
 
39
42
  ## Start here
40
43
 
41
- Scout requires [Bun 1.3 or newer](https://bun.sh). The full broker and service
42
- package currently targets Apple Silicon macOS.
44
+ Local agent coordination requires [Bun 1.3 or newer](https://bun.sh). The full
45
+ broker and service package currently targets Apple Silicon macOS.
43
46
 
44
47
  ```bash
45
- bun add -g @openscout/scout
48
+ npm install -g @openscout/scout
49
+ scout --version
46
50
  scout setup
47
51
  scout doctor
48
52
  ```
49
53
 
50
- Prefer npm for global packages? `npm install -g @openscout/scout` installs the
51
- same package; Bun is still required at runtime.
54
+ Prefer Bun for global packages? `bun add -g @openscout/scout` installs the
55
+ same package. Bun is required for the local broker and agent coordination.
56
+
57
+ Only joining a Scout Chat room? The [standalone Chat client](#participate-in-scout-chat)
58
+ runs on Node.js or Bun and does not require `scout setup` or a local broker.
52
59
 
53
60
  Installing the package does not silently start services. `scout setup`
54
61
  configures the local broker and attempts to start it explicitly; `scout doctor`
55
62
  then verifies that the broker and project inventory are healthy.
56
63
 
57
- ## Make your first handoff
64
+ ## Make your first handoff: Claude Code or Codex
58
65
 
59
66
  Route work by project and harness instead of guessing an agent name:
60
67
 
@@ -65,6 +72,9 @@ scout ask --project . --harness codex \
65
72
  "Review this repository and return the three highest-leverage improvements."
66
73
  ```
67
74
 
75
+ Use `--harness claude` to route the same task to Claude Code. The selected
76
+ harness must already be installed and authenticated.
77
+
68
78
  Scout resolves or starts a suitable worker, records the request, and returns a
69
79
  durable handle. Continue the same work with the returned ref:
70
80
 
@@ -125,10 +135,37 @@ Run `scout --help` for the complete command list and
125
135
 
126
136
  ## Works with the tools you already use
127
137
 
128
- Scout has host integrations for Claude Code, Codex, Cursor, Pi, and Hermes, plus
129
- MCP, ACP, Slack, Telegram, voice, and webhook paths where those transports are
130
- configured. The broker provides the shared coordination model; each harness
131
- keeps its native runtime and workflow.
138
+ Scout's runtime catalog includes **Claude Code, Codex, Cursor CLI, OpenCode,
139
+ Kimi Code, Grok, Pi, and Devin**. Host integrations also connect **Hermes Agent**
140
+ and **Grok Bot** through their plugin or MCP paths. Hermes is an agent/MCP host,
141
+ not a dispatch harness.
142
+
143
+ Model families in Scout's runtime catalog include:
144
+
145
+ | Runtime | Model families |
146
+ | --- | --- |
147
+ | Claude Code | Claude **Opus**, **Fable**, **Sonnet**, and **Haiku** |
148
+ | Codex | **GPT**, including **Astra**, **Sol**, **Terra**, and **Luna** variants |
149
+ | Grok | **Grok** |
150
+ | OpenCode | **GLM**, **Kimi**, **Qwen**, **MiniMax**, **DeepSeek**, **Grok**, **Nemotron**, and **Laguna** |
151
+ | Devin | **SWE** |
152
+
153
+ Available models depend on the installed harness, provider configuration, and
154
+ account access. Run `scout runtimes --json` for the current runtime and model
155
+ IDs before selecting an exact model. Kimi Code, Cursor, and Pi use their harness
156
+ configuration; Scout does not enumerate fixed model choices for them.
157
+
158
+ MCP, ACP, Slack, Telegram, voice, and webhook paths connect additional surfaces
159
+ where configured. Each harness keeps its native runtime and workflow.
160
+
161
+ Connect Scout to your agent host:
162
+
163
+ - [Claude Code plugin](https://github.com/arach/claude-scout)
164
+ - [Codex plugin](https://github.com/arach/codex-scout)
165
+ - [Cursor MCP setup](https://github.com/arach/cursor-scout)
166
+ - [Pi extension](https://github.com/arach/pi-scout)
167
+ - [Hermes Agent plugin](https://github.com/arach/hermes-scout)
168
+ - [Grok setup guide](https://openscout.app/docs/scout-for-grok)
132
169
 
133
170
  See the [integration guide](https://github.com/oscout/scout/blob/main/docs/integrations.md)
134
171
  for the current package and setup map.
@@ -243,7 +280,7 @@ Run `scout --help` for the current command inventory and
243
280
  Apache-2.0. See the [license](https://github.com/oscout/scout/blob/main/LICENSE)
244
281
  and [notice](https://github.com/oscout/scout/blob/main/packages/cli/NOTICE).
245
282
 
246
- ### Participate in Scout Chat
283
+ ## Participate in Scout Chat
247
284
 
248
285
  The main package includes a scoped Chat client:
249
286
 
package/bin/scoutd CHANGED
Binary file
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "packageName": "@openscout/scout",
4
- "version": "0.2.107",
5
- "commit": "de4adeafa651cf25926907aea7fc7fcc7e2e35f5",
4
+ "version": "0.2.109",
5
+ "commit": "0216b39e55dd10d9754e3d11193a3a410f171d7a",
6
6
  "branch": "main",
7
7
  "sourceDirty": false,
8
- "builtAt": "2026-09-22T15:40:41.664Z"
8
+ "builtAt": "2026-09-30T05:27:11.451Z"
9
9
  }
@@ -0,0 +1 @@
1
+ import{n as te,i as Pt,a as je,m as ne,r as We,h as Ue,b as kt,c as ve,d as Ve,e as _e,f as ue,g as Ce,t as K,j as It,k as H,l as L,o as U,p as Ot,s as E,v as Ft,M as _,W as qe,q as be,N as Rt,u as Et,w as Kt,x as Lt,y as Bt,K as ze,z as Gt,A as Te,B as Nt,C as Ht,D as jt,E as Wt,F as $e,G as Ut,H as _t,I as qt,J as Me,L as De,O as X,P as Pe,V as zt,Q as $t,R as Xt,S as Yt,T as Zt,U as Jt,X as Xe,Y as Qt,Z as en,_ as tn,$ as nn,a0 as sn,a1 as Ye,a2 as Ze,a3 as Je,a4 as Qe,a5 as rn,a6 as on}from"./index-DGR8nSEY.js";const an=e=>typeof e=="object"&&e!==null,ie=(...e)=>e.reduce((t,n)=>i=>n(t(i))),et=(e,t,n)=>{const i=t-e;return i?(n-e)/i:1},tt=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,cn=1e-7,ln=12;function un(e,t,n,i,s){let r,a,o=0;do a=t+(n-t)/2,r=tt(a,i,s)-e,r>0?n=a:t=a;while(Math.abs(r)>cn&&++o<ln);return a}function $(e,t,n,i){if(e===t&&n===i)return te;const s=r=>un(r,0,1,e,n);return r=>r===0||r===1?r:tt(s(r),t,i)}const nt=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,it=e=>t=>1-e(1-t),st=$(.33,1.53,.69,.99),Ae=it(st),rt=nt(Ae),ot=e=>e>=1?1:(e*=2)<1?.5*Ae(e):.5*(2-Math.pow(2,-10*(e-1))),xe=e=>1-Math.sin(Math.acos(e)),fn=it(xe),at=nt(xe),hn=$(.42,0,1,1),dn=$(0,0,.58,1),ct=$(.42,0,.58,1),pn=e=>Array.isArray(e)&&typeof e[0]!="number",mn={linear:te,easeIn:hn,easeInOut:ct,easeOut:dn,circIn:xe,circInOut:at,circOut:fn,backIn:Ae,backInOut:rt,backOut:st,anticipate:ot},gn=e=>typeof e=="string",ke=e=>{if(Pt(e)){je(e.length===4);const[t,n,i,s]=e;return $(t,n,i,s)}else if(gn(e))return mn[e];return e};function se(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function yn({hue:e,saturation:t,lightness:n,alpha:i}){e/=360,t/=100,n/=100;let s=0,r=0,a=0;if(!t)s=r=a=n;else{const o=n<.5?n*(1+t):n+t-n*t,u=2*n-o;s=se(u,o,e+1/3),r=se(u,o,e),a=se(u,o,e-1/3)}return{red:Math.round(s*255),green:Math.round(r*255),blue:Math.round(a*255),alpha:i}}function Z(e,t){return n=>n>0?t:e}const re=(e,t,n)=>{const i=e*e,s=n*(t*t-i)+i;return s<0?0:Math.sqrt(s)},vn=[kt,We,Ue],bn=e=>vn.find(t=>t.test(e));function Ie(e){const t=bn(e);if(!t)return!1;let n=t.parse(e);return t===Ue&&(n=yn(n)),n}const Oe=(e,t)=>{const n=Ie(e),i=Ie(t);if(!n||!i)return Z(e,t);const s={...n};return r=>(s.red=re(n.red,i.red,r),s.green=re(n.green,i.green,r),s.blue=re(n.blue,i.blue,r),s.alpha=ne(n.alpha,i.alpha,r),We.transform(s))},fe=new Set(["none","hidden"]);function Tn(e,t){return fe.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function An(e,t){return n=>ne(e,t,n)}function we(e){return typeof e=="number"?An:typeof e=="string"?ve(e)?Z:Ve.test(e)?Oe:Sn:Array.isArray(e)?lt:typeof e=="object"?Ve.test(e)?Oe:xn:Z}function lt(e,t){const n=[...e],i=n.length,s=e.map((r,a)=>we(r)(r,t[a]));return r=>{for(let a=0;a<i;a++)n[a]=s[a](r);return n}}function xn(e,t){const n={...e,...t},i={};for(const s in n)e[s]!==void 0&&t[s]!==void 0&&(i[s]=we(e[s])(e[s],t[s]));return s=>{for(const r in i)n[r]=i[r](s);return n}}function wn(e,t){const n=[],i={color:0,var:0,number:0};for(let s=0;s<t.values.length;s++){const r=t.types[s],a=e.indexes[r][i[r]],o=e.values[a]??0;n[s]=o,i[r]++}return n}const Sn=(e,t)=>{const n=_e.createTransformer(t),i=ue(e),s=ue(t);return i.indexes.var.length===s.indexes.var.length&&i.indexes.color.length===s.indexes.color.length&&i.indexes.number.length>=s.indexes.number.length?fe.has(e)&&!s.values.length||fe.has(t)&&!i.values.length?Tn(e,t):ie(lt(wn(i,s),s.values),n):Z(e,t)};function ut(e,t,n){return typeof e=="number"&&typeof t=="number"&&typeof n=="number"?ne(e,t,n):we(e)(e,t)}const Vn=e=>{const t=({timestamp:n})=>e(n);return{start:(n=!0)=>H.update(t,n),stop:()=>It(t),now:()=>Ce.isProcessing?Ce.timestamp:K.now()}},J=2e4;function Se(e){let t=0;const n=50;let i=e.next(t);for(;!i.done&&t<J;)t+=n,i=e.next(t);return t>=J?1/0:t}function Cn(e,t=100,n){const i=n({...e,keyframes:[0,t]}),s=Math.min(Se(i),J);return{type:"keyframes",ease:r=>i.next(s*r).value/t,duration:L(s)}}const S={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1};function he(e,t){return e*Math.sqrt(1-t*t)}const Mn=12;function Dn(e,t,n){let i=n;for(let s=1;s<Mn;s++)i=i-e(i)/t(i);return i}const oe=.001;function Pn({duration:e=S.duration,bounce:t=S.bounce,velocity:n=S.velocity,mass:i=S.mass}){let s,r,a=1-t;a=U(S.minDamping,S.maxDamping,a),e=U(S.minDuration,S.maxDuration,L(e)),a<1?(s=l=>{const c=l*a,f=c*e,h=c-n,v=he(l,a),m=Math.exp(-f);return oe-h/v*m},r=l=>{const f=l*a*e,h=f*n+n,v=Math.pow(a,2)*Math.pow(l,2)*e,m=Math.exp(-f),g=he(Math.pow(l,2),a);return(-s(l)+oe>0?-1:1)*((h-v)*m)/g}):(s=l=>{const c=Math.exp(-l*e),f=(l-n)*e+1;return-oe+c*f},r=l=>{const c=Math.exp(-l*e),f=(n-l)*(e*e);return c*f});const o=5/e,u=Dn(s,r,o);if(e=E(e),isNaN(u))return{stiffness:S.stiffness,damping:S.damping,duration:e};{const l=Math.pow(u,2)*i;return{stiffness:l,damping:a*2*Math.sqrt(i*l),duration:e}}}const kn=["duration","bounce"],In=["stiffness","damping","mass"];function Fe(e,t){return t.some(n=>e[n]!==void 0)}function On(e){let t={velocity:S.velocity,stiffness:S.stiffness,damping:S.damping,mass:S.mass,isResolvedFromDuration:!1,...e};if(!Fe(e,In)&&Fe(e,kn))if(t.velocity=0,e.visualDuration){const n=e.visualDuration,i=2*Math.PI/(n*1.2),s=i*i,r=2*U(.05,1,1-(e.bounce||0))*Math.sqrt(s);t={...t,mass:S.mass,stiffness:s,damping:r}}else{const n=Pn({...e,velocity:0});t={...t,...n,mass:S.mass},t.isResolvedFromDuration=!0}return t}function Q(e=S.visualDuration,t=S.bounce){const n=typeof e!="object"?{visualDuration:e,keyframes:[0,1],bounce:t}:e;let{restSpeed:i,restDelta:s}=n;const r=n.keyframes[0],a=n.keyframes[n.keyframes.length-1],o={done:!1,value:r},{stiffness:u,damping:l,mass:c,duration:f,velocity:h,isResolvedFromDuration:v}=On({...n,velocity:-L(n.velocity||0)}),m=h||0,g=l/(2*Math.sqrt(u*c)),d=a-r,p=L(Math.sqrt(u/c)),T=Math.abs(d)<5;i||(i=T?S.restSpeed.granular:S.restSpeed.default),s||(s=T?S.restDelta.granular:S.restDelta.default);let x,w,A,V,M,b;if(g<1)A=he(p,g),V=(m+g*p*d)/A,x=y=>{const C=Math.exp(-g*p*y);return a-C*(V*Math.sin(A*y)+d*Math.cos(A*y))},M=g*p*V+d*A,b=g*p*d-V*A,w=y=>Math.exp(-g*p*y)*(M*Math.sin(A*y)+b*Math.cos(A*y));else if(g===1){x=C=>a-Math.exp(-p*C)*(d+(m+p*d)*C);const y=m+p*d;w=C=>Math.exp(-p*C)*(p*y*C-m)}else{const y=p*Math.sqrt(g*g-1);x=O=>{const R=Math.exp(-g*p*O),F=Math.min(y*O,300);return a-R*((m+g*p*d)*Math.sinh(F)+y*d*Math.cosh(F))/y};const C=(m+g*p*d)/y,k=g*p*C-d*y,B=g*p*d-C*y;w=O=>{const R=Math.exp(-g*p*O),F=Math.min(y*O,300);return R*(k*Math.sinh(F)+B*Math.cosh(F))}}const D={calculatedDuration:v&&f||null,velocity:y=>E(w(y)),next:y=>{if(!v&&g<1){const k=Math.exp(-g*p*y),B=Math.sin(A*y),O=Math.cos(A*y),R=a-k*(V*B+d*O),F=E(k*(M*B+b*O));return o.done=Math.abs(F)<=i&&Math.abs(a-R)<=s,o.value=o.done?a:R,o}const C=x(y);if(v)o.done=y>=f;else{const k=E(w(y));o.done=Math.abs(k)<=i&&Math.abs(a-C)<=s}return o.value=o.done?a:C,o},toString:()=>{const y=Math.min(Se(D),J),C=Ot(k=>D.next(y*k).value,y,30);return y+"ms "+C},toTransition:()=>{}};return D}Q.applyToOptions=e=>{const t=Cn(e,100,Q);return e.ease=t.ease,e.duration=E(t.duration),e.type="keyframes",e};const Fn=5;function ft(e,t,n){const i=Math.max(t-Fn,0);return Ft(n-e(i),t-i)}function de({keyframes:e,velocity:t=0,power:n=.8,timeConstant:i=325,bounceDamping:s=10,bounceStiffness:r=500,modifyTarget:a,min:o,max:u,restDelta:l=.5,restSpeed:c}){const f=e[0],h={done:!1,value:f},v=b=>o!==void 0&&b<o||u!==void 0&&b>u,m=b=>o===void 0?u:u===void 0||Math.abs(o-b)<Math.abs(u-b)?o:u;let g=n*t;const d=f+g,p=a===void 0?d:a(d);p!==d&&(g=p-f);const T=b=>-g*Math.exp(-b/i),x=b=>p+T(b),w=b=>{const D=T(b),y=x(b);h.done=Math.abs(D)<=l,h.value=h.done?p:y};let A,V;const M=b=>{v(h.value)&&(A=b,V=Q({keyframes:[h.value,m(h.value)],velocity:ft(x,b,h.value),damping:s,stiffness:r,restDelta:l,restSpeed:c}))};return M(0),{calculatedDuration:null,next:b=>{let D=!1;return!V&&A===void 0&&(D=!0,w(b),M(b)),A!==void 0&&b>=A?V.next(b-A):(!D&&w(b),h)}}}function Rn(e,t,n){const i=[],s=n||_.mix||ut,r=e.length-1;for(let a=0;a<r;a++){let o=s(e[a],e[a+1]);if(t){const u=Array.isArray(t)?t[a]||te:t;o=ie(u,o)}i.push(o)}return i}function En(e,t,{clamp:n=!0,ease:i,mixer:s}={}){const r=e.length;if(je(r===t.length),r===1)return()=>t[0];if(r===2&&t[0]===t[1])return()=>t[1];const a=e[0]===e[1];e[0]>e[r-1]&&(e=[...e].reverse(),t=[...t].reverse());const o=Rn(t,i,s),u=o.length,l=c=>{if(a&&c<e[0])return t[0];let f=0;if(u>1)for(;f<e.length-2&&!(c<e[f+1]);f++);const h=et(e[f],e[f+1],c);return o[f](h)};return n?c=>l(U(e[0],e[r-1],c)):l}function Kn(e,t){const n=e[e.length-1];for(let i=1;i<=t;i++){const s=et(0,t,i);e.push(ne(n,1,s))}}function Ln(e){const t=[0];return Kn(t,e.length-1),t}function Bn(e,t){return e.map(n=>n*t)}function Gn(e,t){return e.map(()=>t||ct).splice(0,e.length-1)}function z({duration:e=300,keyframes:t,times:n,ease:i="easeInOut"}){const s=pn(i)?i.map(ke):ke(i),r={done:!1,value:t[0]},a=Bn(n&&n.length===t.length?n:Ln(t),e),o=En(a,t,{ease:Array.isArray(s)?s:Gn(t,s)});return{calculatedDuration:e,next:u=>(r.value=o(u),r.done=u>=e,r)}}const Nn={decay:de,inertia:de,tween:z,keyframes:z,spring:Q};function ht(e){typeof e.type=="string"&&(e.type=Nn[e.type])}const Hn=e=>e/100;class ee extends qe{constructor(t){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.delayState={done:!1,value:void 0},this.stop=()=>{const{motionValue:n}=this.options;n&&n.updatedAt!==K.now()&&this.tick(K.now()),this.isStopped=!0,this.state!=="idle"&&(this.teardown(),this.options.onStop?.())},this.options=t,this.initAnimation(),this.play(),t.autoplay===!1&&this.pause()}initAnimation(){const{options:t}=this;ht(t);const{type:n=z,repeat:i=0,repeatDelay:s=0,repeatType:r,velocity:a=0}=t;let{keyframes:o}=t;const u=n||z;u!==z&&typeof o[0]!="number"&&(this.mixKeyframes=ie(Hn,ut(o[0],o[1])),o=[0,100]);const l=u({...t,keyframes:o});r==="mirror"&&(this.mirroredGenerator=u({...t,keyframes:[...o].reverse(),velocity:-a})),l.calculatedDuration===null&&(l.calculatedDuration=Se(l));const{calculatedDuration:c}=l;this.calculatedDuration=c,this.resolvedDuration=c+s,this.totalDuration=this.resolvedDuration*(i+1)-s,this.generator=l}updateTime(t){const n=Math.round(t-this.startTime)*this.playbackSpeed;this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=n}tick(t,n=!1){const{generator:i,totalDuration:s,mixKeyframes:r,mirroredGenerator:a,resolvedDuration:o,calculatedDuration:u}=this;if(this.startTime===null)return i.next(0);const{delay:l=0,keyframes:c,repeat:f,repeatType:h,repeatDelay:v,type:m,onUpdate:g,finalKeyframe:d}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-s/this.speed,this.startTime)),n?this.currentTime=t:this.updateTime(t);const p=this.currentTime-l*(this.playbackSpeed>=0?1:-1),T=this.playbackSpeed>=0?p<0:p>s;this.currentTime=Math.max(p,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=s);let x=this.currentTime,w=i;if(f){const b=Math.min(this.currentTime,s)/o;let D=Math.floor(b),y=b%1;!y&&b>=1&&(y=1),y===1&&D--,D=Math.min(D,f+1),D%2&&(h==="reverse"?(y=1-y,v&&(y-=v/o)):h==="mirror"&&(w=a)),x=U(0,1,y)*o}let A;T?(this.delayState.value=c[0],A=this.delayState):A=w.next(x),r&&!T&&(A.value=r(A.value));let{done:V}=A;!T&&u!==null&&(V=this.playbackSpeed>=0?this.currentTime>=s:this.currentTime<=0);const M=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&V);return M&&m!==de&&(A.value=be(c,this.options,d,this.speed)),g&&g(A.value),M&&this.finish(),A}then(t,n){return this.finished.then(t,n)}get duration(){return L(this.calculatedDuration)}get iterationDuration(){const{delay:t=0}=this.options||{};return this.duration+L(t)}get time(){return L(this.currentTime)}set time(t){t=E(t),this.currentTime=t,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=t:this.driver&&(this.startTime=this.driver.now()-t/this.playbackSpeed),this.driver?this.driver.start(!1):(this.startTime=0,this.state="paused",this.holdTime=t,this.tick(t))}getGeneratorVelocity(){const t=this.currentTime;if(t<=0)return this.options.velocity||0;if(this.generator.velocity)return this.generator.velocity(t);const n=this.generator.next(t).value;return ft(i=>this.generator.next(i).value,t,n)}get speed(){return this.playbackSpeed}set speed(t){const n=this.playbackSpeed!==t;n&&this.driver&&this.updateTime(K.now()),this.playbackSpeed=t,n&&this.driver&&(this.time=L(this.currentTime))}play(){if(this.isStopped)return;const{driver:t=Vn,startTime:n}=this.options;this.driver||(this.driver=t(s=>this.tick(s))),this.options.onPlay?.();const i=this.driver.now();this.state==="finished"?(this.updateFinished(),this.startTime=i):this.holdTime!==null?this.startTime=i-this.holdTime:this.startTime||(this.startTime=n??i),this.state==="finished"&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(K.now()),this.holdTime=this.currentTime}complete(){this.state!=="running"&&this.play(),this.state="finished",this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state="finished",this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(t){return this.startTime=0,this.tick(t,!0)}attachTimeline(t){return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),this.driver?.stop(),t.observe(this)}}const dt={anticipate:ot,backInOut:rt,circInOut:at};function jn(e){return e in dt}function Wn(e){typeof e.ease=="string"&&jn(e.ease)&&(e.ease=dt[e.ease])}const ae=10;class Un extends Rt{constructor(t){Wn(t),ht(t),super(t),t.startTime!==void 0&&t.autoplay!==!1&&(this.startTime=t.startTime),this.options=t}updateMotionValue(t){const{motionValue:n,onUpdate:i,onComplete:s,element:r,...a}=this.options;if(!n)return;if(t!==void 0){n.set(t);return}const o=new ee({...a,autoplay:!1}),u=Math.max(ae,K.now()-this.startTime),l=U(0,ae,u-ae),c=o.sample(u).value,{name:f}=this.options;r&&f&&Et(r,f,c),n.setWithVelocity(o.sample(Math.max(0,u-l)).value,c,l),o.stop()}}const Re=(e,t)=>t==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(_e.test(e)||e==="0")&&!e.startsWith("url("));function _n(e){const t=e[0];if(e.length===1)return!0;for(let n=0;n<e.length;n++)if(e[n]!==t)return!0}function qn(e,t,n,i){const s=e[0];if(s===null)return!1;if(t==="display"||t==="visibility")return!0;const r=e[e.length-1],a=Re(s,t),o=Re(r,t);return!a||!o?!1:_n(e)||(n==="spring"||Kt(n))&&i}function pe(e){e.duration=0,e.type="keyframes"}const zn=/^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;function $n(e){for(let t=0;t<e.length;t++)if(typeof e[t]=="string"&&zn.test(e[t]))return!0;return!1}const Xn=new Set(["color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"]),Yn=Bt(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));function Zn(e){const{motionValue:t,name:n,repeatDelay:i,repeatType:s,damping:r,type:a,keyframes:o}=e;if(!(t?.owner?.current instanceof HTMLElement))return!1;const{onUpdate:l,transformTemplate:c}=t.owner.getProps();return Yn()&&n&&(Lt.has(n)||Xn.has(n)&&$n(o))&&(n!=="transform"||!c)&&!l&&!i&&s!=="mirror"&&r!==0&&a!=="inertia"}const Jn=40;class Qn extends qe{constructor({autoplay:t=!0,delay:n=0,type:i="keyframes",repeat:s=0,repeatDelay:r=0,repeatType:a="loop",keyframes:o,name:u,motionValue:l,element:c,...f}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=K.now();const h={autoplay:t,delay:n,type:i,repeat:s,repeatDelay:r,repeatType:a,name:u,motionValue:l,element:c,...f},v=c?.KeyframeResolver||ze;this.keyframeResolver=new v(o,(m,g,d)=>this.onKeyframesResolved(m,g,h,!d),u,l,c),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(t,n,i,s){this.keyframeResolver=void 0;const{name:r,type:a,velocity:o,delay:u,isHandoff:l,onUpdate:c}=i;this.resolvedAt=K.now();let f=!0;qn(t,r,a,o)||(f=!1,(_.instantAnimations||!u)&&c?.(be(t,i,n)),t[0]=t[t.length-1],pe(i),i.repeat=0);const v={startTime:s?this.resolvedAt?this.resolvedAt-this.createdAt>Jn?this.resolvedAt:this.createdAt:this.createdAt:void 0,finalKeyframe:n,...i,keyframes:t},m=f&&!l&&Zn(v),g=v.motionValue?.owner?.current;let d;if(m)try{d=new Un({...v,element:g})}catch{d=new ee(v)}else d=new ee(v);d.finished.then(()=>{this.notifyFinished()}).catch(te),this.pendingTimeline&&(this.stopTimeline=d.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=d}get finished(){return this._animation?this.animation.finished:this._finished}then(t,n){return this.finished.finally(t).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),Gt()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(t){this.animation.time=t}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(t){this.animation.speed=t}get startTime(){return this.animation.startTime}attachTimeline(t){return this._animation?this.stopTimeline=this.animation.attachTimeline(t):this.pendingTimeline=t,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}}function pt(e,t,n,i=0,s=1){const r=Array.from(e).sort((l,c)=>l.sortNodePosition(c)).indexOf(t),a=e.size,o=(a-1)*i;return typeof n=="function"?n(r,a):s===1?r*i:o-r*i}function mt(e,t){if(e?.inherit&&t){const{inherit:n,...i}=e;return{...t,...i}}return e}function gt(e,t){const n=e?.[t]??e?.default??e;return n!==e?mt(n,e):n}const ei={type:"spring",stiffness:500,damping:25,restSpeed:10},ti=e=>({type:"spring",stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),ni={type:"keyframes",duration:.8},ii={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},si=(e,{keyframes:t})=>t.length>2?ni:Te.has(e)?e.startsWith("scale")?ti(t[1]):ei:ii,ri=new Set(["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from","elapsed"]);function oi(e){for(const t in e)if(!ri.has(t))return!0;return!1}const ai=(e,t,n,i={},s,r)=>a=>{const o=gt(i,e)||{},u=o.delay||i.delay||0;let{elapsed:l=0}=i;l=l-E(u);const c={keyframes:Array.isArray(n)?n:[null,n],ease:"easeOut",velocity:t.getVelocity(),...o,delay:-l,onUpdate:h=>{t.set(h),o.onUpdate&&o.onUpdate(h)},onComplete:()=>{a(),o.onComplete&&o.onComplete()},name:e,motionValue:t,element:r?void 0:s};oi(o)||Object.assign(c,si(e,c)),c.duration&&(c.duration=E(c.duration)),c.repeatDelay&&(c.repeatDelay=E(c.repeatDelay)),c.from!==void 0&&(c.keyframes[0]=c.from);let f=!1;if((c.type===!1||c.duration===0&&!c.repeatDelay)&&(pe(c),c.delay===0&&(f=!0)),(_.instantAnimations||_.skipAnimations||s?.shouldSkipAnimations||o.skipAnimations)&&(f=!0,pe(c),c.delay=0),c.allowFlatten=!o.type&&!o.ease,f&&!r&&t.get()!==void 0){const h=be(c.keyframes,o);if(h!==void 0){H.update(()=>{c.onUpdate(h),c.onComplete()});return}}return o.isSync?new ee(c):new Qn(c)},ci=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function li(e){const t=ci.exec(e);if(!t)return[,];const[,n,i,s]=t;return[`--${n??i}`,s]}function yt(e,t,n=1){const[i,s]=li(e);if(!i)return;const r=window.getComputedStyle(t).getPropertyValue(i);if(r){const a=r.trim();return Nt(a)?parseFloat(a):a}return ve(s)?yt(s,t,n+1):s}function j(e,t,n){const i=e.getProps();return Ht(i,t,n!==void 0?n:i.custom,e)}const vt=new Set(["width","height","top","left","right","bottom",...jt]),me=e=>Array.isArray(e);function ui(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,Wt(n))}function fi(e){return me(e)?e[e.length-1]||0:e}function hi(e,t){const n=j(e,t);let{transitionEnd:i={},transition:s={},...r}=n||{};r={...r,...i};for(const a in r){const o=fi(r[a]);ui(e,a,o)}}function di(e){return!!($e(e)&&e.add)}function pi(e,t){const n=e.getValue("willChange");if(di(n))return n.add(t);if(!n&&_.WillChange){const i=new _.WillChange("auto");e.addValue("willChange",i),i.add(t)}}function mi(e){return e.props[Ut]}function gi({protectedKeys:e,needsAnimating:t},n){const i=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,i}function bt(e,t,{delay:n=0,transitionOverride:i,type:s}={}){let{transition:r,transitionEnd:a,...o}=t;const u=e.getDefaultTransition();r=r?mt(r,u):u;const l=r?.reduceMotion,c=r?.skipAnimations;i&&(r=i);const f=[],h=s&&e.animationState&&e.animationState.getState()[s],v=r?.path;v&&v.animateVisualElement(e,o,r,n,f);for(const m in o){const g=e.getValue(m,e.latestValues[m]??null),d=o[m];if(d===void 0||h&&gi(h,m))continue;const p={delay:n,...gt(r||{},m)};c&&(p.skipAnimations=!0);const T=g.get();if(T!==void 0&&!g.isAnimating()&&!Array.isArray(d)&&d===T&&!p.velocity){H.update(()=>g.set(d));continue}let x=!1;if(window.MotionHandoffAnimation){const V=mi(e);if(V){const M=window.MotionHandoffAnimation(V,m,H);M!==null&&(p.startTime=M,x=!0)}}pi(e,m);const w=l??e.shouldReduceMotion;g.start(ai(m,g,d,w&&vt.has(m)?{type:!1}:p,e,x));const A=g.animation;A&&f.push(A)}if(a){const m=()=>H.update(()=>{a&&hi(e,a)});f.length?Promise.all(f).then(m):m()}return f}function ge(e,t,n={}){const i=j(e,t,n.type==="exit"?e.presenceContext?.custom:void 0);let{transition:s=e.getDefaultTransition()||{}}=i||{};n.transitionOverride&&(s=n.transitionOverride);const r=i?()=>Promise.all(bt(e,i,n)):()=>Promise.resolve(),a=e.variantChildren&&e.variantChildren.size?(u=0)=>{const{delayChildren:l=0,staggerChildren:c,staggerDirection:f}=s;return yi(e,t,u,l,c,f,n)}:()=>Promise.resolve(),{when:o}=s;if(o){const[u,l]=o==="beforeChildren"?[r,a]:[a,r];return u().then(()=>l())}else return Promise.all([r(),a(n.delay)])}function yi(e,t,n=0,i=0,s=0,r=1,a){const o=[];for(const u of e.variantChildren)u.notify("AnimationStart",t),o.push(ge(u,t,{...a,delay:n+(typeof i=="function"?0:i)+pt(e.variantChildren,u,i,s,r)}).then(()=>u.notify("AnimationComplete",t)));return Promise.all(o)}function vi(e,t,n={}){e.notify("AnimationStart",t);let i;if(Array.isArray(t)){const s=t.map(r=>ge(e,r,n));i=Promise.all(s)}else if(typeof t=="string")i=ge(e,t,n);else{const s=typeof t=="function"?j(e,t,n.custom):t;i=Promise.all(bt(e,s,n))}return i.then(()=>{e.notify("AnimationComplete",t)})}function bi(e){return typeof e=="number"?e===0:e!==null?e==="none"||e==="0"||_t(e):!0}const Ti=new Set(["auto","none","0"]);function Ai(e,t,n){let i=0,s;for(;i<e.length&&!s;){const r=e[i];typeof r=="string"&&!Ti.has(r)&&ue(r).values.length&&(s=e[i]),i++}if(s&&n)for(const r of t)e[r]=qt(n,s)}class xi extends ze{constructor(t,n,i,s,r){super(t,n,i,s,r,!0)}readKeyframes(){const{unresolvedKeyframes:t,element:n,name:i}=this;if(!n||!n.current)return;super.readKeyframes();for(let c=0;c<t.length;c++){let f=t[c];if(typeof f=="string"&&(f=f.trim(),ve(f))){const h=yt(f,n.current);h!==void 0&&(t[c]=h),c===t.length-1&&(this.finalKeyframe=f)}}if(this.resolveNoneKeyframes(),!vt.has(i)||t.length!==2)return;const[s,r]=t,a=Me(s),o=Me(r),u=De(s),l=De(r);if(u!==l&&X[i]){this.needsMeasurement=!0;return}if(a!==o)if(Pe(a)&&Pe(o))for(let c=0;c<t.length;c++){const f=t[c];typeof f=="string"&&(t[c]=parseFloat(f))}else X[i]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){const{unresolvedKeyframes:t,name:n}=this,i=[];for(let s=0;s<t.length;s++)(t[s]===null||bi(t[s]))&&i.push(s);i.length&&Ai(t,i,n)}measureInitialState(){const{element:t,unresolvedKeyframes:n,name:i}=this;if(!t||!t.current)return;i==="height"&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=X[i](t.measureViewportBox(),window.getComputedStyle(t.current)),n[0]=this.measuredOrigin;const s=n[n.length-1];s!==void 0&&t.getValue(i,s).jump(s,!1)}measureEndState(){const{element:t,name:n,unresolvedKeyframes:i}=this;if(!t||!t.current)return;const s=t.getValue(n);s&&s.jump(this.measuredOrigin,!1);const r=i.length-1,a=i[r];i[r]=X[n](t.measureViewportBox(),window.getComputedStyle(t.current)),a!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=a),this.removedTransforms?.length&&this.removedTransforms.forEach(([o,u])=>{t.getValue(o).set(u)}),this.resolveNoneKeyframes()}}function wi(e,t,n){if(e==null)return[];if(e instanceof EventTarget)return[e];if(typeof e=="string"){let i=document;const s=n?.[e]??i.querySelectorAll(e);return s?Array.from(s):[]}return Array.from(e).filter(i=>i!=null)}function Si(e){return an(e)&&"offsetHeight"in e&&!("ownerSVGElement"in e)}const Vi={y:!1};function Ci(){return Vi.y}function Tt(e,t){const n=wi(e),i=new AbortController,s={passive:!0,...t,signal:i.signal};return[n,s,()=>i.abort()]}function Mi(e){return!(e.pointerType==="touch"||Ci())}function Di(e,t,n={}){const[i,s,r]=Tt(e,n);return i.forEach(a=>{let o=!1,u=!1,l;const c=()=>{a.removeEventListener("pointerleave",m)},f=d=>{l&&(l(d),l=void 0),c()},h=d=>{o=!1,window.removeEventListener("pointerup",h),window.removeEventListener("pointercancel",h),u&&(u=!1,f(d))},v=()=>{o=!0,window.addEventListener("pointerup",h,s),window.addEventListener("pointercancel",h,s)},m=d=>{if(d.pointerType!=="touch"){if(o){u=!0;return}f(d)}},g=d=>{if(!Mi(d))return;u=!1;const p=t(a,d);typeof p=="function"&&(l=p,a.addEventListener("pointerleave",m,s))};a.addEventListener("pointerenter",g,s),a.addEventListener("pointerdown",v,s)}),r}const At=(e,t)=>t?e===t?!0:At(e,t.parentElement):!1,Pi=e=>e.pointerType==="mouse"?typeof e.button!="number"||e.button<=0:e.isPrimary!==!1,ki=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function Ii(e){return ki.has(e.tagName)||e.isContentEditable===!0}const Y=new WeakSet;function Ee(e){return t=>{t.key==="Enter"&&e(t)}}function ce(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}const Oi=(e,t)=>{const n=e.currentTarget;if(!n)return;const i=Ee(()=>{if(Y.has(n))return;ce(n,"down");const s=Ee(()=>{ce(n,"up")}),r=()=>ce(n,"cancel");n.addEventListener("keyup",s,t),n.addEventListener("blur",r,t)});n.addEventListener("keydown",i,t),n.addEventListener("blur",()=>n.removeEventListener("keydown",i),t)};function Ke(e){return Pi(e)&&!0}const Le=new WeakSet;function Fi(e,t,n={}){const[i,s,r]=Tt(e,n),a=o=>{const u=o.currentTarget;if(!Ke(o)||Le.has(o))return;Y.add(u),n.stopPropagation&&Le.add(o);const l=t(u,o),c=(v,m)=>{window.removeEventListener("pointerup",f),window.removeEventListener("pointercancel",h),Y.has(u)&&Y.delete(u),Ke(v)&&typeof l=="function"&&l(v,{success:m})},f=v=>{c(v,u===window||u===document||n.useGlobalTarget||At(u,v.target))},h=v=>{c(v,!1)};window.addEventListener("pointerup",f,s),window.addEventListener("pointercancel",h,s)};return i.forEach(o=>{(n.useGlobalTarget?window:o).addEventListener("pointerdown",a,s),Si(o)&&(o.addEventListener("focus",l=>Oi(l,s)),!Ii(o)&&!o.hasAttribute("tabindex")&&(o.tabIndex=0))}),r}class xt extends zt{constructor(){super(...arguments),this.KeyframeResolver=xi}sortInstanceNodePosition(t,n){return t.compareDocumentPosition(n)&2?1:-1}getBaseTargetFromProps(t,n){const i=t.style;return i?i[n]:void 0}removeValueFromRenderState(t,{vars:n,style:i}){delete n[t],delete i[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:t}=this.props;$e(t)&&(this.childSubscription=t.on("change",n=>{this.current&&(this.current.textContent=`${n}`)}))}}class q{constructor(t){this.isMounted=!1,this.node=t}update(){}}function Ri({top:e,left:t,right:n,bottom:i}){return{x:{min:t,max:n},y:{min:e,max:i}}}function Ei(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),i=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:i.y,right:i.x}}function Ki(e,t){return Ri(Ei(e.getBoundingClientRect(),t))}function wt(e,{style:t,vars:n},i,s){const r=e.style;let a;for(a in t)r[a]=t[a];s?.applyProjectionStyles(r,i);for(a in n)r.setProperty(a,n[a])}function Li(e){return window.getComputedStyle(e)}class Bi extends xt{constructor(){super(...arguments),this.type="html",this.renderInstance=wt}readValueFromInstance(t,n){if(Te.has(n))return this.projection?.isProjecting?$t(n):Xt(t,n);{const i=Li(t),s=(Yt(n)?i.getPropertyValue(n):i[n])||0;return typeof s=="string"?s.trim():s}}measureInstanceViewportBox(t,{transformPagePoint:n}){return Ki(t,n)}build(t,n,i){Zt(t,n,i.transformTemplate)}scrapeMotionValuesFromProps(t,n,i){return Jt(t,n,i)}}const St=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function Gi(e,t,n,i){wt(e,t,void 0,i);for(const s in t.attrs)e.setAttribute(St.has(s)?s:Xe(s),t.attrs[s])}class Ni extends xt{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=Qt}getBaseTargetFromProps(t,n){return t[n]}readValueFromInstance(t,n){if(Te.has(n)){const i=sn(n);return i&&i.default||0}return n=St.has(n)?n:Xe(n),t.getAttribute(n)}scrapeMotionValuesFromProps(t,n,i){return en(t,n,i)}build(t,n,i){tn(t,n,this.isSVGTag,i.transformTemplate,i.style)}renderInstance(t,n,i,s){Gi(t,n,i,s)}mount(t){this.isSVGTag=nn(t.tagName),super.mount(t)}}const Hi=Ze.length;function Vt(e){if(!e)return;if(!e.isControllingVariants){const n=e.parent?Vt(e.parent)||{}:{};return e.props.initial!==void 0&&(n.initial=e.props.initial),n}const t={};for(let n=0;n<Hi;n++){const i=Ze[n],s=e.props[i];(Ye(s)||s===!1)&&(t[i]=s)}return t}function Ct(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let i=0;i<n;i++)if(t[i]!==e[i])return!1;return!0}const ji=[...Qe].reverse(),Wi=Qe.length;function Ui(e){return t=>Promise.all(t.map(({animation:n,options:i})=>vi(e,n,i)))}function _i(e){let t=Ui(e),n=Be(),i=!0,s=!1;const r=l=>(c,f)=>{const h=j(e,f,l==="exit"?e.presenceContext?.custom:void 0);if(h){const{transition:v,transitionEnd:m,...g}=h;c={...c,...g,...m}}return c};function a(l){t=l(e)}function o(l){const{props:c}=e,f=Vt(e.parent)||{},h=[],v=new Set;let m={},g=1/0;for(let p=0;p<Wi;p++){const T=ji[p],x=n[T],w=c[T]!==void 0?c[T]:f[T],A=Ye(w),V=T===l?x.isActive:null;V===!1&&(g=p);let M=w===f[T]&&w!==c[T]&&A;if(M&&(i||s)&&e.manuallyAnimateOnMount&&(M=!1),x.protectedKeys={...m},!x.isActive&&V===null||!w&&!x.prevProp||Je(w)||typeof w=="boolean")continue;if(T==="exit"&&x.isActive&&V!==!0){x.prevResolvedValues&&(m={...m,...x.prevResolvedValues});continue}const b=qi(x.prevProp,w);let D=b||T===l&&x.isActive&&!M&&A||p>g&&A,y=!1;const C=Array.isArray(w)?w:[w];let k=C.reduce(r(T),{});V===!1&&(k={});const{prevResolvedValues:B={}}=x,O={...B,...k},R=P=>{D=!0,v.has(P)&&(y=!0,v.delete(P)),x.needsAnimating[P]=!0;const I=e.getValue(P);I&&(I.liveStyle=!1)};for(const P in O){const I=k[P],G=B[P];if(m.hasOwnProperty(P))continue;let W=!1;me(I)&&me(G)?W=!Ct(I,G)||b:W=I!==G,W?I!=null?R(P):v.add(P):I!==void 0&&v.has(P)?R(P):x.protectedKeys[P]=!0}x.prevProp=w,x.prevResolvedValues=k,x.isActive&&(m={...m,...k}),(i||s)&&e.blockInitialAnimation&&(D=!1);const F=M&&b;D&&(!F||y)&&h.push(...C.map(P=>{const I={type:T};if(typeof P=="string"&&(i||s)&&!F&&e.manuallyAnimateOnMount&&e.parent){const{parent:G}=e,W=j(G,P);if(G.enteringChildren&&W){const{delayChildren:Dt}=W.transition||{};I.delay=pt(G.enteringChildren,e,Dt)}}return{animation:P,options:I}}))}if(v.size){const p={};if(typeof c.initial!="boolean"){const T=j(e,Array.isArray(c.initial)?c.initial[0]:c.initial);T&&T.transition&&(p.transition=T.transition)}v.forEach(T=>{const x=e.getBaseTarget(T),w=e.getValue(T);w&&(w.liveStyle=!0),p[T]=x??null}),h.push({animation:p})}let d=!!h.length;return i&&(c.initial===!1||c.initial===c.animate)&&!e.manuallyAnimateOnMount&&(d=!1),i=!1,s=!1,d?t(h):Promise.resolve()}function u(l,c){if(n[l].isActive===c)return Promise.resolve();e.variantChildren?.forEach(h=>h.animationState?.setActive(l,c)),n[l].isActive=c;const f=o(l);for(const h in n)n[h].protectedKeys={};return f}return{animateChanges:o,setActive:u,setAnimateFunction:a,getState:()=>n,reset:()=>{n=Be(),s=!0}}}function qi(e,t){return typeof t=="string"?t!==e:Array.isArray(t)?!Ct(t,e):!1}function N(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Be(){return{animate:N(!0),whileInView:N(),whileHover:N(),whileTap:N(),whileDrag:N(),whileFocus:N(),exit:N()}}function Ge(e,t,n,i={passive:!0}){return e.addEventListener(t,n,i),()=>e.removeEventListener(t,n)}const zi=(e,t)=>t.isSVG??rn(e)?new Ni(t):new Bi(t,{allowProjection:e!==on.Fragment});class $i extends q{constructor(t){super(t),t.animationState||(t.animationState=_i(t))}updateAnimationControlsSubscription(){const{animate:t}=this.node.getProps();Je(t)&&(this.unmountControls=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:t}=this.node.getProps(),{animate:n}=this.node.prevProps||{};t!==n&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}let Xi=0;class Yi extends q{constructor(){super(...arguments),this.id=Xi++,this.isExitComplete=!1}update(){if(!this.node.presenceContext)return;const{isPresent:t,onExitComplete:n}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;if(t&&i===!1){if(this.isExitComplete){const{initial:r,custom:a}=this.node.getProps();if(typeof r=="string"||typeof r=="object"&&r!==null&&!Array.isArray(r)){const o=j(this.node,r,a);if(o){const{transition:u,transitionEnd:l,...c}=o;for(const f in c)this.node.getValue(f)?.jump(c[f])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive("exit",!1);this.isExitComplete=!1;return}const s=this.node.animationState.setActive("exit",!t);n&&!t&&s.then(()=>{this.isExitComplete=!0,n(this.id)})}mount(){const{register:t,onExitComplete:n}=this.node.presenceContext||{};n&&n(this.id),t&&(this.unmount=t(this.id))}unmount(){}}const Zi={animation:{Feature:$i},exit:{Feature:Yi}};function Mt(e){return{point:{x:e.pageX,y:e.pageY}}}function Ne(e,t,n){const{props:i}=e;e.animationState&&i.whileHover&&e.animationState.setActive("whileHover",n==="Start");const s="onHover"+n,r=i[s];r&&H.postRender(()=>r(t,Mt(t)))}class Ji extends q{mount(){const{current:t}=this.node;t&&(this.unmount=Di(t,(n,i)=>(Ne(this.node,i,"Start"),s=>Ne(this.node,s,"End"))))}unmount(){}}class Qi extends q{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch{t=!0}!t||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=ie(Ge(this.node.current,"focus",()=>this.onFocus()),Ge(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function He(e,t,n){const{props:i}=e;if(e.current instanceof HTMLButtonElement&&e.current.disabled)return;e.animationState&&i.whileTap&&e.animationState.setActive("whileTap",n==="Start");const s="onTap"+(n==="End"?"":n),r=i[s];r&&H.postRender(()=>r(t,Mt(t)))}class es extends q{mount(){const{current:t}=this.node;if(!t)return;const{globalTapTarget:n,propagate:i}=this.node.props;this.unmount=Fi(t,(s,r)=>(He(this.node,r,"Start"),(a,{success:o})=>He(this.node,a,o?"End":"Cancel")),{useGlobalTarget:n,stopPropagation:i?.tap===!1})}unmount(){}}const ye=new WeakMap,le=new WeakMap,ts=e=>{const t=ye.get(e.target);t&&t(e)},ns=e=>{e.forEach(ts)};function is({root:e,...t}){const n=e||document;le.has(n)||le.set(n,{});const i=le.get(n),s=JSON.stringify(t);return i[s]||(i[s]=new IntersectionObserver(ns,{root:e,...t})),i[s]}function ss(e,t,n){const i=is(t);return ye.set(e,n),i.observe(e),()=>{ye.delete(e),i.unobserve(e)}}const rs={some:0,all:1};class os extends q{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.stopObserver?.();const{viewport:t={}}=this.node.getProps(),{root:n,margin:i,amount:s="some",once:r}=t,a={root:n?n.current:void 0,rootMargin:i,threshold:typeof s=="number"?s:rs[s]},o=u=>{const{isIntersecting:l}=u;if(this.isInView===l||(this.isInView=l,r&&!l&&this.hasEnteredView))return;l&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",l);const{onViewportEnter:c,onViewportLeave:f}=this.node.getProps(),h=l?c:f;h&&h(u)};this.stopObserver=ss(this.node.current,a,o)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:t,prevProps:n}=this.node;["amount","margin","root"].some(as(t,n))&&this.startObserver()}unmount(){this.stopObserver?.(),this.hasEnteredView=!1,this.isInView=!1}}function as({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}const cs={inView:{Feature:os},tap:{Feature:es},focus:{Feature:Qi},hover:{Feature:Ji}},fs={renderer:zi,...Zi,...cs};export{fs as default};