@openhands/agent-canvas 1.8.0 → 1.10.0

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 (1282) hide show
  1. package/README.md +1 -1
  2. package/README.windows.md +2 -2
  3. package/build/assets/{acp-providers-WUD4tfSq.js → acp-providers-DLe_gVDY.js} +1 -1
  4. package/build/assets/active-backend-context-B0wI7OzM.js +2 -0
  5. package/build/assets/agent-context-settings-CaQtdNA-.js +1 -0
  6. package/build/assets/agent-profiles-settings-CvuErjp6.js +1 -0
  7. package/build/assets/agent-server-conversation-service.api-km_8sOVf.js +41 -0
  8. package/build/assets/{agent-settings-BGTyoT6X.js → agent-settings-UE-U4Xii.js} +2 -2
  9. package/build/assets/agent-settings-nmO-KSXr.js +1 -0
  10. package/build/assets/alert-banner-BMaOtTCG.js +1 -0
  11. package/build/assets/{api-key-entry-screen-JOx3SH1-.js → api-key-entry-screen-Cy66vT4D.js} +1 -1
  12. package/build/assets/{app-settings-D53QZy5p.js → app-settings-9ok42bV6.js} +1 -1
  13. package/build/assets/automation-C_eCrGyP.js +1 -0
  14. package/build/assets/automation-detail-fuITm6i3.js +3 -0
  15. package/build/assets/automation-export-CRq40mux.js +2 -0
  16. package/build/assets/automation-setup-route-EXDazOHW.js +1 -0
  17. package/build/assets/automation-templates-BArZsaxP.js +1 -0
  18. package/build/assets/automations-list-CG4HKOTn.js +1 -0
  19. package/build/assets/{back-nav-button-C02hGa8t.js → back-nav-button-BZB6H7xz.js} +1 -1
  20. package/build/assets/backend-form-modal-B_lXjOGa.js +1 -0
  21. package/build/assets/{backend-synced-settings-badge-CQ9xtNWm.js → backend-synced-settings-badge-B_NXJ3u1.js} +1 -1
  22. package/build/assets/{badge-CzXbf7tR.js → badge-C64c-7PO.js} +1 -1
  23. package/build/assets/{base-modal-DkVyzFMt.js → base-modal-C0RQPug5.js} +1 -1
  24. package/build/assets/bot-DuN83i3p.js +1 -0
  25. package/build/assets/{brand-button-BUlDL-mz.js → brand-button-DJmFCyMK.js} +1 -1
  26. package/build/assets/browser-D3gd2n83.js +6 -0
  27. package/build/assets/{browser-tab-BijpUbdt.js → browser-tab-BicAWuJ1.js} +1 -1
  28. package/build/assets/{chat-send-button-BKsVjhtA.js → chat-send-button-CCrH1E8u.js} +1 -1
  29. package/build/assets/check-DLOKoFU9.js +1 -0
  30. package/build/assets/{checkmark-CxdXtM3b.js → checkmark-XZyokq_Y.js} +1 -1
  31. package/build/assets/chevron-down-CnIbtM6i.js +1 -0
  32. package/build/assets/circle-check-CxCYJrpZ.js +1 -0
  33. package/build/assets/{circle-plus-check-toggle-DdjUiOo1.js → circle-plus-check-toggle-CB_sNERY.js} +1 -1
  34. package/build/assets/{close-CDAVqnTn.js → close-ScPlnwyq.js} +1 -1
  35. package/build/assets/cloud-funnel-analytics-XynamQGU.js +1 -0
  36. package/build/assets/{combobox-caret-Dl9UtvD6.js → combobox-caret-Bwiifgjs.js} +1 -1
  37. package/build/assets/command-menu-CA3IjGNc.js +1 -0
  38. package/build/assets/condenser-settings-cNGy75gq.js +1 -0
  39. package/build/assets/{confirmation-modal-CRBJSllP.js → confirmation-modal-BATFmFyP.js} +1 -1
  40. package/build/assets/context-menu-list-item-DhJCcBA0.js +1 -0
  41. package/build/assets/conversation-B6t6EiVp.js +1 -0
  42. package/build/assets/conversation-Csdxh9Xt.js +90 -0
  43. package/build/assets/conversation-panel-B6t6EiVp.js +1 -0
  44. package/build/assets/conversation-state-store-C2QzhPaK.js +1 -0
  45. package/build/assets/{conversation-store-C6hSXHw0.js → conversation-store-B8Eahyeg.js} +1 -1
  46. package/build/assets/{conversation-tab-empty-state-CDjvNgpG.js → conversation-tab-empty-state-D3fb5xIA.js} +1 -1
  47. package/build/assets/{copy-Drwu97Gx.js → copy-DaHuDtG4.js} +1 -1
  48. package/build/assets/{copy-z7idLzWO.js → copy-Drmhc2jD.js} +1 -1
  49. package/build/assets/{copy-to-clipboard-button-NbN1clVr.js → copy-to-clipboard-button-c4MQwKGj.js} +1 -1
  50. package/build/assets/{device-verify-CDm_WrVu.js → device-verify-oFpQoLgm.js} +1 -1
  51. package/build/assets/{dist-hOnv1nn2.js → dist-Bl64nBZL.js} +1 -1
  52. package/build/assets/{dropdown-classes-CqA2BTCL.js → dropdown-classes-f91ARMV1.js} +1 -1
  53. package/build/assets/entry.client-BCzY2Bf3.js +2 -0
  54. package/build/assets/enum-filter-dropdown-HG3q3rkV.js +1 -0
  55. package/build/assets/{environment-switch-overlay-mGl2pqqx.js → environment-switch-overlay-CquZXolz.js} +1 -1
  56. package/build/assets/{extensions-hub-Br3Lgynp.js → extensions-hub-BeweE0PW.js} +1 -1
  57. package/build/assets/{extensions-navigation-BQmstKDZ.js → extensions-navigation-Dd58NlUF.js} +1 -1
  58. package/build/assets/{external-link-D9B2QMPf.js → external-link-zWbg5KXS.js} +1 -1
  59. package/build/assets/file-text-RecuaId_.js +1 -0
  60. package/build/assets/files-tab-CLLG55-q.js +1 -0
  61. package/build/assets/{folder-C86qXV7M.js → folder-C1ou4_DT.js} +1 -1
  62. package/build/assets/{form-control-classes-CtVAktAy.js → form-control-classes-pHtZUI6K.js} +1 -1
  63. package/build/assets/format-relative-time-6-3uvOXe.js +1 -0
  64. package/build/assets/format-time-delta-BIR5Os7T.js +1 -0
  65. package/build/assets/git-provider-icon-wg7ShB98.js +1 -0
  66. package/build/assets/git-repo-dropdown-CWnaUyxL.js +1 -0
  67. package/build/assets/git-repo-dropdown-TzOuG5Ef.js +1 -0
  68. package/build/assets/{highlighted-source-view-KMsA9c4a.js → highlighted-source-view-DBtI3por.js} +1 -1
  69. package/build/assets/home-BpZQkDWM.js +1 -0
  70. package/build/assets/home-OEx0XtfP.js +1 -0
  71. package/build/assets/home-store-DM4qw1lF.js +1 -0
  72. package/build/assets/{iconBase-B2rQun3J.js → iconBase-C2sR-uAp.js} +1 -1
  73. package/build/assets/index-home-OEx0XtfP.js +1 -0
  74. package/build/assets/info-C9lpK5pw.js +1 -0
  75. package/build/assets/install-server-modal-DnjZrJUy.js +1 -0
  76. package/build/assets/kebab-menu-item-content-By16Tm_0.js +1 -0
  77. package/build/assets/{launch-DjkKw55l.js → launch-C9uijypN.js} +1 -1
  78. package/build/assets/{link-external-BDBCz-_z.js → link-external-BNZzCM1I.js} +1 -1
  79. package/build/assets/list-filter-C86CBRDE.js +1 -0
  80. package/build/assets/{list-todo-BpAf7aOT.js → list-todo-CheUtB7F.js} +1 -1
  81. package/build/assets/llm-not-configured-banner-DrBrhfN0.js +27 -0
  82. package/build/assets/{llm-settings-D8zNkIlP.js → llm-settings-CRsLqxgu.js} +1 -1
  83. package/build/assets/llm-settings-RBm_3kNm.js +1 -0
  84. package/build/assets/{llm-subscription-service-COTgZc1C.js → llm-subscription-service-DwjJ8-_X.js} +1 -1
  85. package/build/assets/loader-circle-C5AnEN8r.js +1 -0
  86. package/build/assets/{loading-spinner-DRFyh6Iy.js → loading-spinner-6Yj-YyoS.js} +1 -1
  87. package/build/assets/{manage-backends-modal-DiRWE3tJ.js → manage-backends-modal-DrwErS0N.js} +1 -1
  88. package/build/assets/manifest-c352d453.js +1 -0
  89. package/build/assets/manifest-subpage-layout-CtqVwIvJ.js +1 -0
  90. package/build/assets/markdown-renderer-lsvsp7jn.js +8 -0
  91. package/build/assets/mcp-DD4hPTRE.js +9 -0
  92. package/build/assets/mcp-marketplace-utils-BMnYz0Gc.js +1 -0
  93. package/build/assets/messages-Dt77e0qi.js +40 -0
  94. package/build/assets/{modal-backdrop-X-vKo61e.js → modal-backdrop-BSzNhM4r.js} +1 -1
  95. package/build/assets/{modal-body-C3bGicn4.js → modal-body-BHGCSAtj.js} +1 -1
  96. package/build/assets/{modal-classes-DFFO6BMU.js → modal-classes-DSTLuxkA.js} +1 -1
  97. package/build/assets/{modal-close-button-vxkAIRyZ.js → modal-close-button-dheWZ2ys.js} +1 -1
  98. package/build/assets/mouse-pointer-click-Px-dXWcS.js +1 -0
  99. package/build/assets/{navigation-context-BOGzIng3.js → navigation-context-CQZwH_tC.js} +1 -1
  100. package/build/assets/navigation-link-Bxo3-4vo.js +1 -0
  101. package/build/assets/onboarding-5CZvRBbh.js +1 -0
  102. package/build/assets/onboarding-modal-CD2ehuxt.js +1 -0
  103. package/build/assets/{openhands-logo-CmYvJXBa.js → openhands-logo-BS-Epajy.js} +1 -1
  104. package/build/assets/{organization-service.api-CQ73CB-S.js → organization-service.api-Dsuoep0g.js} +1 -1
  105. package/build/assets/{pencil-DzW2GB2M.js → pencil-Bl3GWhgq.js} +1 -1
  106. package/build/assets/{planner-tab-YG0bGxDY.js → planner-tab-DeO7Thb0.js} +1 -1
  107. package/build/assets/{plugins-management-service-ijhH8OSh.js → plugins-management-service-C9f75R6X.js} +1 -1
  108. package/build/assets/plus-CtzlyAoF.js +1 -0
  109. package/build/assets/{profiles-service.api-C32pPm70.js → profiles-service.api-Dl20_2IM.js} +1 -1
  110. package/build/assets/{providers-DuSn9s2i.js → providers-CeuhK46N.js} +1 -1
  111. package/build/assets/{proxy-BiyDhMBd.js → proxy-CIGI9zQC.js} +1 -1
  112. package/build/assets/{puzzle-DlqT0yvr.js → puzzle-B3v361yY.js} +1 -1
  113. package/build/assets/recommended-automations-launcher-6xmbf7lh.js +1 -0
  114. package/build/assets/{refresh-cw-Br5254f4.js → refresh-cw-B9GhC3QC.js} +1 -1
  115. package/build/assets/root-BQPNqNvD.js +2 -0
  116. package/build/assets/root-BeuHFY2s.css +1 -0
  117. package/build/assets/root-layout-Dl_2CDoq.js +3 -0
  118. package/build/assets/{schema-field-htfNouTG.js → schema-field-z2vSLuLo.js} +1 -1
  119. package/build/assets/{sdk-section-page-D0K1dBQY.js → sdk-section-page-BnCXAytf.js} +1 -1
  120. package/build/assets/{search-7DRiGm4Z.js → search-BatSpWed.js} +1 -1
  121. package/build/assets/search-CYaiKHRp.js +1 -0
  122. package/build/assets/{secrets-service-Dbv5Zb8G.js → secrets-service-DGUNlwQd.js} +1 -1
  123. package/build/assets/{secrets-settings-Da4SSaX9.js → secrets-settings-DUmML_dK.js} +1 -1
  124. package/build/assets/segmented-toggle-eSofF7gn.js +1 -0
  125. package/build/assets/settings-CWFxymAf.js +1 -0
  126. package/build/assets/{settings-F4a09IxY.js → settings-Co-M5bK9.js} +1 -1
  127. package/build/assets/{settings-dropdown-input-jOiv5Yrk.js → settings-dropdown-input-Cx4g7Xfl.js} +1 -1
  128. package/build/assets/{settings-gear-TYXnELES.js → settings-gear-DaJj6Pde.js} +1 -1
  129. package/build/assets/{settings-index-CyJBf5NA.js → settings-index-BECdgecg.js} +1 -1
  130. package/build/assets/settings-input-BQY115xH.js +1 -0
  131. package/build/assets/settings-like-page-layout-classes-Cw4Yzv_P.js +1 -0
  132. package/build/assets/{settings-list-classes-VqMzkYYt.js → settings-list-classes-C9cLrrcc.js} +1 -1
  133. package/build/assets/{settings-modal-C-S1NpbC.js → settings-modal-ChBJNTdd.js} +1 -1
  134. package/build/assets/{settings-section-header-context-CnIIQAUn.js → settings-section-header-context-BOJ_Fbak.js} +1 -1
  135. package/build/assets/settings-service.api-Dz9cZyvx.js +1 -0
  136. package/build/assets/{settings-switch-B405oU_v.js → settings-switch-BIodMVz9.js} +1 -1
  137. package/build/assets/shared-conversation-CSF0aTuE.js +1 -0
  138. package/build/assets/{sidebar-layout-BGMuyC86.js → sidebar-layout-DEycoFd_.js} +1 -1
  139. package/build/assets/sidebar-mobile-menu-toggle-DeRvTupV.js +1 -0
  140. package/build/assets/{sidebar-nav-link-DA4_ct9G.js → sidebar-nav-link-BjpQ-NVc.js} +1 -1
  141. package/build/assets/{sidebar-store-FRJ3rADB.js → sidebar-store-B04sX8aP.js} +1 -1
  142. package/build/assets/{skill-card-pill-row-BMdhr_sd.js → skill-card-pill-row-BH6fPGba.js} +1 -1
  143. package/build/assets/{skill-icon-badge-CGUkgcVH.js → skill-icon-badge-D4uznfjU.js} +1 -1
  144. package/build/assets/skill-scope-DH_AUUUP.js +1 -0
  145. package/build/assets/{skills-CYFLsN5U.js → skills-B0IliMxw.js} +1 -1
  146. package/build/assets/{skills-plugins-C5eJnyft.js → skills-plugins-vfvOk34h.js} +1 -1
  147. package/build/assets/skills-settings-DnbIu2eO.js +2 -0
  148. package/build/assets/sparkles-g7y3r-Ut.js +1 -0
  149. package/build/assets/{styled-tooltip-B3kIdVyH.js → styled-tooltip-CQ9JEFiO.js} +1 -1
  150. package/build/assets/{switch-skeleton-BQoOhQTB.js → switch-skeleton-DwOoCqaL.js} +1 -1
  151. package/build/assets/{syntax-highlighter-B92AFGMy.js → syntax-highlighter-BGDg_7w9.js} +1 -1
  152. package/build/assets/{task-list-tab-B3k4W1cK.js → task-list-tab-DeF_uXdw.js} +1 -1
  153. package/build/assets/{terminal-cMS3RgVE.js → terminal-BUpID2wS.js} +1 -1
  154. package/build/assets/{terminal-CBI_41Zc.js → terminal-DRc4rup7.js} +1 -1
  155. package/build/assets/{toggle-switch-DYRr9CAR.js → toggle-switch--8n8NeV_.js} +1 -1
  156. package/build/assets/{trash-2-gZPlx23R.js → trash-2-CzDVN-Iw.js} +1 -1
  157. package/build/assets/{typography-B1UxuuEC.js → typography-BSbUhJPn.js} +1 -1
  158. package/build/assets/{u-check-circle-DBEvndTS.js → u-check-circle-BKn1spCL.js} +1 -1
  159. package/build/assets/{u-edit-809W9D9T.js → u-edit-DAkcF52u.js} +1 -1
  160. package/build/assets/{u-robot-CJtSzy5X.js → u-robot-BvAOA2ZD.js} +1 -1
  161. package/build/assets/{use-acp-credential-form-CjSvKWFH.js → use-acp-credential-form-BGKFi1VL.js} +1 -1
  162. package/build/assets/{use-activate-agent-profile-DCRf47e-.js → use-activate-agent-profile-2nvALjC-.js} +1 -1
  163. package/build/assets/use-agent-profiles-BlQA67MW.js +1 -0
  164. package/build/assets/{use-breakpoint-DA7JqsRN.js → use-breakpoint-DWtihr9g.js} +1 -1
  165. package/build/assets/{use-can-manage-org-profiles-vBiP7rHF.js → use-can-manage-org-profiles-Clw5Dh1s.js} +1 -1
  166. package/build/assets/{use-click-outside-element-DKqpqEEm.js → use-click-outside-element-W6Os4Nlb.js} +1 -1
  167. package/build/assets/{use-cloud-current-user-id-BMq9gw93.js → use-cloud-current-user-id-B8AQSQFM.js} +1 -1
  168. package/build/assets/use-config-C3zGuUQI.js +1 -0
  169. package/build/assets/{use-create-conversation-CakhLF0X.js → use-create-conversation-FaP0kUpg.js} +1 -1
  170. package/build/assets/{use-create-secret-RT4QtSS9.js → use-create-secret-CgQ3pXd6.js} +1 -1
  171. package/build/assets/use-is-authed-Bka89Xmm.js +1 -0
  172. package/build/assets/{use-is-creating-conversation-CIAcnd8M.js → use-is-creating-conversation-CVefC9Ns.js} +1 -1
  173. package/build/assets/{use-launch-skill-in-chat-DKzCTMt0.js → use-launch-skill-in-chat-BcKNjxxd.js} +1 -1
  174. package/build/assets/use-llm-profiles-C-tDO6UB.js +1 -0
  175. package/build/assets/use-manifest-capabilities-DLP5wCxp.js +1 -0
  176. package/build/assets/{use-onboarding-completion-CJU4MNAY.js → use-onboarding-completion-BiCdXvlU.js} +1 -1
  177. package/build/assets/{use-plugins-marketplace-D-93nqtJ.js → use-plugins-marketplace-DRFNLBlr.js} +1 -1
  178. package/build/assets/use-save-agent-profile-CaGVAudI.js +1 -0
  179. package/build/assets/{use-save-settings--C6LZXfI.js → use-save-settings-C9B8Y-h3.js} +1 -1
  180. package/build/assets/{use-settings-DIAo5KFk.js → use-settings-3RcgdUuZ.js} +1 -1
  181. package/build/assets/use-settings-nav-items-y-Oyc93G.js +16 -0
  182. package/build/assets/use-tracking-CTtkLAmx.js +3 -0
  183. package/build/assets/{use-user-conversation-DhcAEyJX.js → use-user-conversation-Bei82QsZ.js} +1 -1
  184. package/build/assets/useInfiniteQuery-DbCv0Jzd.js +1 -0
  185. package/build/assets/{useMutation-DHLpZ6J0.js → useMutation-ChpkYxI5.js} +1 -1
  186. package/build/assets/{useQueries-B3T1a7qt.js → useQueries-Cjv3E8_1.js} +1 -1
  187. package/build/assets/useQuery-BCnzy4LX.js +1 -0
  188. package/build/assets/utils-BX9XJ0IE.js +1 -0
  189. package/build/assets/{vendor-markdown-BML7QbqS.js → vendor-markdown-j0kYzV48.js} +1 -1
  190. package/build/assets/{vendor-styling-Bcgpimp9.js → vendor-styling-Ck5D_A2Q.js} +6 -6
  191. package/build/assets/{vendor~browser-jaN4ilxM.js → vendor~browser-C6uXH-dw.js} +2 -2
  192. package/build/assets/vendor~browser-DJ1pl_wn.js +47 -0
  193. package/build/assets/{vendor~browser-tab-_-VCXq8n.js → vendor~browser-tab-C5uuAxZX.js} +1 -1
  194. package/build/assets/vendor~entry.client-CgNUwtQL.js +1 -0
  195. package/build/assets/{vendor~entry.client-Di4qO77Y.js → vendor~entry.client-zSIea5EO.js} +2 -2
  196. package/build/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js +1 -0
  197. package/build/assets/{vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~g4xrpilz-CYPMCkX1.js → vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js} +4 -4
  198. package/build/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js +26 -0
  199. package/build/assets/{vendor~files-tab-atebg0iG.js → vendor~files-tab-C87pjSpi.js} +1 -1
  200. package/build/assets/{vendor~index-home~home~conversation-panel~conversation-G9DMrR7m.js → vendor~index-home~home~conversation-panel~conversation-DiXf0dkj.js} +1 -1
  201. package/build/assets/{vendor~conversation-panel~conversation~alert-banner-BNzz5FuZ.js → vendor~index-home~home~conversation-panel~conversation~alert-banner-B3qC_oj8.js} +1 -1
  202. package/build/assets/{vendor~launch-ChXCOGw8.js → vendor~launch-CHwEQG6e.js} +1 -1
  203. package/build/assets/vendor~module-DyG7x7JT.js +2 -0
  204. package/build/assets/{vendor~root-layout~conversation-panel~conversation-DEhW1h3I.js → vendor~root-layout~conversation-panel~conversation-DEzjR4K7.js} +1 -1
  205. package/build/assets/{vendor~root-layout~conversation-panel~conversation~shared-conversation-DRblkyXD.js → vendor~root-layout~conversation-panel~conversation~shared-conversation-DOuig0C0.js} +1 -1
  206. package/build/assets/vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-U-xdsAEx.js +1 -0
  207. package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~automation-setup-route-CjECvSl5.js +1 -0
  208. package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-CQR5Sa0H.js +1 -0
  209. package/build/assets/vendor~root-layout~index-home~home~mcp~automations-list~automation-templates~automation-set~bxsimjx0-D7IDevqN.js +1 -0
  210. package/build/assets/{vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hakxo2tj-ClV0p9g3.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js} +1 -1
  211. package/build/assets/{vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~bi2r7bko-VFnwct3q.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-CuQhkiS7.js} +1 -1
  212. package/build/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~9pstowjp-BOVIFA_g.js +73 -0
  213. package/build/assets/{vendor~root-layout~index-home~home~conversation-panel~conversation~launch~skills-settings~a~eywn6ulz-BKxxr74w.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~ht43enc2-C0JXQb_q.js} +175 -54
  214. package/build/assets/{verification-settings-Vr5cN4md.js → verification-settings-nD61Ijph.js} +1 -1
  215. package/build/assets/wrench-DRitTfwe.js +1 -0
  216. package/build/assets/x-RYDBg-e2.js +1 -0
  217. package/build/assets/{x-mark-jcTkPiOB.js → x-mark-BopmFoBq.js} +1 -1
  218. package/build/assets/zap-tbKDzCe3.js +1 -0
  219. package/build/index.html +4 -4
  220. package/build/locales/ar/openhands.json +106 -5
  221. package/build/locales/ca/openhands.json +106 -5
  222. package/build/locales/de/openhands.json +106 -5
  223. package/build/locales/en/openhands.json +107 -6
  224. package/build/locales/es/openhands.json +106 -5
  225. package/build/locales/fr/openhands.json +106 -5
  226. package/build/locales/it/openhands.json +106 -5
  227. package/build/locales/ja/openhands.json +106 -5
  228. package/build/locales/ko-KR/openhands.json +106 -5
  229. package/build/locales/no/openhands.json +106 -5
  230. package/build/locales/pt/openhands.json +106 -5
  231. package/build/locales/tr/openhands.json +106 -5
  232. package/build/locales/uk/openhands.json +106 -5
  233. package/build/locales/zh-CN/openhands.json +106 -5
  234. package/build/locales/zh-TW/openhands.json +106 -5
  235. package/build/mockServiceWorker.js +21 -9
  236. package/config/defaults.json +3 -3
  237. package/dist/api/agent-server-adapter.cjs +3 -3
  238. package/dist/api/agent-server-adapter.cjs.map +1 -1
  239. package/dist/api/agent-server-adapter.d.ts +46 -6
  240. package/dist/api/agent-server-adapter.js +187 -168
  241. package/dist/api/agent-server-adapter.js.map +1 -1
  242. package/dist/api/agent-server-compatibility.cjs +1 -1
  243. package/dist/api/agent-server-compatibility.cjs.map +1 -1
  244. package/dist/api/agent-server-compatibility.d.ts +4 -0
  245. package/dist/api/agent-server-compatibility.js +41 -38
  246. package/dist/api/agent-server-compatibility.js.map +1 -1
  247. package/dist/api/automation-service/automation-service.api.cjs +1 -1
  248. package/dist/api/automation-service/automation-service.api.cjs.map +1 -1
  249. package/dist/api/automation-service/automation-service.api.d.ts +25 -0
  250. package/dist/api/automation-service/automation-service.api.js +110 -62
  251. package/dist/api/automation-service/automation-service.api.js.map +1 -1
  252. package/dist/api/backend-registry/active-store.cjs +1 -1
  253. package/dist/api/backend-registry/active-store.cjs.map +1 -1
  254. package/dist/api/backend-registry/active-store.js +36 -31
  255. package/dist/api/backend-registry/active-store.js.map +1 -1
  256. package/dist/api/backend-registry/url-selection.cjs +2 -0
  257. package/dist/api/backend-registry/url-selection.cjs.map +1 -0
  258. package/dist/api/backend-registry/url-selection.d.ts +31 -0
  259. package/dist/api/backend-registry/url-selection.js +29 -0
  260. package/dist/api/backend-registry/url-selection.js.map +1 -0
  261. package/dist/api/mcp-service/mcp-redacted-credentials.cjs +1 -1
  262. package/dist/api/mcp-service/mcp-redacted-credentials.cjs.map +1 -1
  263. package/dist/api/mcp-service/mcp-redacted-credentials.d.ts +3 -2
  264. package/dist/api/mcp-service/mcp-redacted-credentials.js +32 -27
  265. package/dist/api/mcp-service/mcp-redacted-credentials.js.map +1 -1
  266. package/dist/api/mcp-service/mcp-service.api.cjs +1 -1
  267. package/dist/api/mcp-service/mcp-service.api.cjs.map +1 -1
  268. package/dist/api/mcp-service/mcp-service.api.js +19 -19
  269. package/dist/api/mcp-service/mcp-service.api.js.map +1 -1
  270. package/dist/api/settings-service/settings-service.api.cjs +1 -1
  271. package/dist/api/settings-service/settings-service.api.cjs.map +1 -1
  272. package/dist/api/settings-service/settings-service.api.d.ts +10 -0
  273. package/dist/api/settings-service/settings-service.api.js +90 -100
  274. package/dist/api/settings-service/settings-service.api.js.map +1 -1
  275. package/dist/api/skills-service.cjs +1 -1
  276. package/dist/api/skills-service.cjs.map +1 -1
  277. package/dist/api/skills-service.js +1 -0
  278. package/dist/api/skills-service.js.map +1 -1
  279. package/dist/assets/chevron-left.d.ts +1 -1
  280. package/dist/assets/chevron-right.d.ts +1 -1
  281. package/dist/components/conversation-events/chat/event-content-helpers/get-action-event-title.cjs +2 -0
  282. package/dist/components/conversation-events/chat/event-content-helpers/get-action-event-title.cjs.map +1 -0
  283. package/dist/components/conversation-events/chat/event-content-helpers/get-action-event-title.d.ts +12 -0
  284. package/dist/components/conversation-events/chat/event-content-helpers/get-action-event-title.js +94 -0
  285. package/dist/components/conversation-events/chat/event-content-helpers/get-action-event-title.js.map +1 -0
  286. package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.cjs +1 -1
  287. package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.cjs.map +1 -1
  288. package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.js +31 -90
  289. package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.js.map +1 -1
  290. package/dist/components/conversation-events/chat/event-message-components/collapsible-thinking.d.ts +2 -1
  291. package/dist/components/conversation-events/chat/event-message-components/critic-result-display.d.ts +2 -1
  292. package/dist/components/conversation-events/chat/event-message-components/error-event-message.d.ts +2 -1
  293. package/dist/components/conversation-events/chat/event-message-components/event-group.d.ts +1 -1
  294. package/dist/components/conversation-events/chat/event-message-components/finish-event-message.d.ts +1 -1
  295. package/dist/components/conversation-events/chat/event-message-components/generic-event-message-wrapper.d.ts +1 -1
  296. package/dist/components/conversation-events/chat/event-message-components/observation-pair-event-message.d.ts +2 -1
  297. package/dist/components/conversation-events/chat/event-message-components/skill-item-expanded.d.ts +1 -1
  298. package/dist/components/conversation-events/chat/event-message-components/skill-ready-content-list.d.ts +2 -1
  299. package/dist/components/conversation-events/chat/event-message-components/thought-event-message.d.ts +1 -1
  300. package/dist/components/conversation-events/chat/event-message-components/user-assistant-event-message.d.ts +2 -1
  301. package/dist/components/conversation-events/chat/event-message.d.ts +2 -1
  302. package/dist/components/conversation-events/chat/task-tracking/task-item.d.ts +1 -1
  303. package/dist/components/conversation-events/chat/task-tracking/task-list-section.d.ts +1 -1
  304. package/dist/components/features/alerts/alert-banner.d.ts +1 -1
  305. package/dist/components/features/analytics/telemetry-consent-banner.d.ts +2 -1
  306. package/dist/components/features/automations/add-automation-modal.d.ts +1 -1
  307. package/dist/components/features/automations/automation-card-skeleton.d.ts +1 -1
  308. package/dist/components/features/automations/automation-card.d.ts +9 -1
  309. package/dist/components/features/automations/automation-group.d.ts +9 -1
  310. package/dist/components/features/automations/automation-health-badge.d.ts +8 -0
  311. package/dist/components/features/automations/automation-list-row.d.ts +3 -1
  312. package/dist/components/features/automations/automation-run-insights.d.ts +17 -0
  313. package/dist/components/features/automations/automation-view-toggle.d.ts +1 -1
  314. package/dist/components/features/automations/backend-not-configured.d.ts +1 -1
  315. package/dist/components/features/automations/create-instructions.d.ts +2 -2
  316. package/dist/components/features/automations/dashboard/automations-dashboard-controls.d.ts +18 -0
  317. package/dist/components/features/automations/dashboard/automations-filtered-empty-state.d.ts +9 -0
  318. package/dist/components/features/automations/dashboard/use-automation-sub-page-nav.d.ts +12 -0
  319. package/dist/components/features/automations/delete-confirmation-modal.d.ts +1 -1
  320. package/dist/components/features/automations/detail/active-status-badge.d.ts +1 -1
  321. package/dist/components/features/automations/detail/activity-log-item.d.ts +1 -1
  322. package/dist/components/features/automations/detail/activity-log-section.d.ts +3 -1
  323. package/dist/components/features/automations/detail/activity-section.d.ts +1 -1
  324. package/dist/components/features/automations/detail/back-link.d.ts +1 -1
  325. package/dist/components/features/automations/detail/branch-badge.d.ts +1 -1
  326. package/dist/components/features/automations/detail/config-field.d.ts +1 -1
  327. package/dist/components/features/automations/detail/configuration-section.d.ts +1 -1
  328. package/dist/components/features/automations/detail/debug-automation-button.d.ts +1 -1
  329. package/dist/components/features/automations/detail/detail-header.d.ts +1 -1
  330. package/dist/components/features/automations/detail/detail-skeleton.d.ts +1 -1
  331. package/dist/components/features/automations/detail/edit-automation-modal.d.ts +1 -1
  332. package/dist/components/features/automations/detail/not-found-state.d.ts +1 -1
  333. package/dist/components/features/automations/detail/plugin-chip.d.ts +1 -1
  334. package/dist/components/features/automations/detail/plugins-section.d.ts +1 -1
  335. package/dist/components/features/automations/detail/prompt-section.d.ts +2 -1
  336. package/dist/components/features/automations/detail/run-logs-modal.d.ts +1 -1
  337. package/dist/components/features/automations/detail/run-status-badge.d.ts +10 -1
  338. package/dist/components/features/automations/detail/section-card.d.ts +1 -1
  339. package/dist/components/features/automations/empty-state.d.ts +1 -1
  340. package/dist/components/features/automations/error-state.d.ts +1 -1
  341. package/dist/components/features/automations/import-automation-modal.d.ts +1 -1
  342. package/dist/components/features/automations/kebab-menu-item-content.d.ts +1 -1
  343. package/dist/components/features/automations/kebab-menu.d.ts +1 -1
  344. package/dist/components/features/automations/metadata-chip.d.ts +1 -1
  345. package/dist/components/features/automations/recommended-automations-launcher.d.ts +1 -8
  346. package/dist/components/features/automations/recommended-automations-section.d.ts +1 -7
  347. package/dist/components/features/automations/responder-deployment-modal.d.ts +1 -1
  348. package/dist/components/features/automations/search-input.d.ts +1 -1
  349. package/dist/components/features/automations/status-badge.d.ts +1 -1
  350. package/dist/components/features/automations/turn-off-confirmation-modal.d.ts +8 -0
  351. package/dist/components/features/automations/view-menu-item-content.d.ts +1 -1
  352. package/dist/components/features/backends/add-backend-modal.d.ts +1 -1
  353. package/dist/components/features/backends/api-key-entry-screen.d.ts +2 -1
  354. package/dist/components/features/backends/backend-form-modal.cjs +1 -1
  355. package/dist/components/features/backends/backend-form-modal.cjs.map +1 -1
  356. package/dist/components/features/backends/backend-form-modal.d.ts +3 -3
  357. package/dist/components/features/backends/backend-form-modal.js +568 -358
  358. package/dist/components/features/backends/backend-form-modal.js.map +1 -1
  359. package/dist/components/features/backends/backend-row.d.ts +1 -1
  360. package/dist/components/features/backends/backend-selector.d.ts +2 -1
  361. package/dist/components/features/backends/backend-status-dot.d.ts +2 -1
  362. package/dist/components/features/backends/backend-version.d.ts +1 -1
  363. package/dist/components/features/backends/device-flow-auth.cjs +1 -1
  364. package/dist/components/features/backends/device-flow-auth.cjs.map +1 -1
  365. package/dist/components/features/backends/device-flow-auth.d.ts +9 -1
  366. package/dist/components/features/backends/device-flow-auth.js +56 -55
  367. package/dist/components/features/backends/device-flow-auth.js.map +1 -1
  368. package/dist/components/features/backends/manage-backends-modal.cjs +1 -1
  369. package/dist/components/features/backends/manage-backends-modal.cjs.map +1 -1
  370. package/dist/components/features/backends/manage-backends-modal.d.ts +2 -1
  371. package/dist/components/features/backends/manage-backends-modal.js +1 -1
  372. package/dist/components/features/backends/manage-backends-modal.js.map +1 -1
  373. package/dist/components/features/browser/browser-chrome-bar.d.ts +1 -1
  374. package/dist/components/features/browser/browser-snapshot.d.ts +1 -1
  375. package/dist/components/features/browser/browser.d.ts +1 -1
  376. package/dist/components/features/browser/empty-browser-message.d.ts +1 -1
  377. package/dist/components/features/chat/btw-messages.d.ts +1 -1
  378. package/dist/components/features/chat/change-agent-button.d.ts +2 -1
  379. package/dist/components/features/chat/change-agent-context-menu.d.ts +1 -1
  380. package/dist/components/features/chat/chat-action-tooltip.d.ts +1 -1
  381. package/dist/components/features/chat/chat-add-file-button.d.ts +2 -1
  382. package/dist/components/features/chat/chat-interface.cjs +1 -1
  383. package/dist/components/features/chat/chat-interface.cjs.map +1 -1
  384. package/dist/components/features/chat/chat-interface.d.ts +2 -1
  385. package/dist/components/features/chat/chat-interface.js +105 -105
  386. package/dist/components/features/chat/chat-interface.js.map +1 -1
  387. package/dist/components/features/chat/chat-message.cjs +1 -1
  388. package/dist/components/features/chat/chat-message.cjs.map +1 -1
  389. package/dist/components/features/chat/chat-message.d.ts +2 -1
  390. package/dist/components/features/chat/chat-message.js +59 -49
  391. package/dist/components/features/chat/chat-message.js.map +1 -1
  392. package/dist/components/features/chat/chat-messages-skeleton.d.ts +2 -1
  393. package/dist/components/features/chat/chat-play-button.d.ts +1 -1
  394. package/dist/components/features/chat/chat-send-button.d.ts +1 -1
  395. package/dist/components/features/chat/chat-status-indicator.d.ts +1 -1
  396. package/dist/components/features/chat/chat-stop-button.d.ts +1 -1
  397. package/dist/components/features/chat/chat-suggestions.d.ts +1 -1
  398. package/dist/components/features/chat/components/chat-input-actions.d.ts +2 -1
  399. package/dist/components/features/chat/components/chat-input-container.d.ts +1 -1
  400. package/dist/components/features/chat/components/chat-input-field.d.ts +1 -1
  401. package/dist/components/features/chat/components/chat-input-grip.d.ts +1 -1
  402. package/dist/components/features/chat/components/chat-input-llm-profile-picker.d.ts +3 -2
  403. package/dist/components/features/chat/components/chat-input-model.d.ts +3 -2
  404. package/dist/components/features/chat/components/chat-input-profile-picker.d.ts +1 -1
  405. package/dist/components/features/chat/components/chat-input-row.d.ts +1 -1
  406. package/dist/components/features/chat/components/hidden-file-input.d.ts +1 -1
  407. package/dist/components/features/chat/components/slash-command-menu.d.ts +2 -1
  408. package/dist/components/features/chat/confirmation-mode-enabled.d.ts +1 -1
  409. package/dist/components/features/chat/custom-chat-input.d.ts +1 -1
  410. package/dist/components/features/chat/drag-over.d.ts +1 -1
  411. package/dist/components/features/chat/error-message-banner.d.ts +2 -1
  412. package/dist/components/features/chat/error-message.d.ts +2 -1
  413. package/dist/components/features/chat/generic-event-message.d.ts +1 -1
  414. package/dist/components/features/chat/git-control-bar-branch-button.d.ts +1 -1
  415. package/dist/components/features/chat/git-control-bar-pr-button.d.ts +1 -1
  416. package/dist/components/features/chat/git-control-bar-pull-button.d.ts +1 -1
  417. package/dist/components/features/chat/git-control-bar-push-button.d.ts +1 -1
  418. package/dist/components/features/chat/git-control-bar-repo-button.d.ts +1 -1
  419. package/dist/components/features/chat/git-control-bar-tooltip-wrapper.d.ts +1 -1
  420. package/dist/components/features/chat/git-control-bar.d.ts +1 -1
  421. package/dist/components/features/chat/git-external-link-icon.d.ts +1 -1
  422. package/dist/components/features/chat/goal-status-banner.d.ts +1 -1
  423. package/dist/components/features/chat/goal-status-content.d.ts +1 -1
  424. package/dist/components/features/chat/got-it-button.d.ts +1 -1
  425. package/dist/components/features/chat/interactive-chat-box.d.ts +1 -1
  426. package/dist/components/features/chat/model-messages.d.ts +2 -1
  427. package/dist/components/features/chat/mono-component.d.ts +1 -1
  428. package/dist/components/features/chat/open-repository-modal.d.ts +2 -1
  429. package/dist/components/features/chat/pasted-image-upload-as-file-button.d.ts +1 -1
  430. package/dist/components/features/chat/path-component.d.ts +1 -1
  431. package/dist/components/features/chat/pending-stop-icon.d.ts +1 -1
  432. package/dist/components/features/chat/pending-user-messages.cjs +1 -1
  433. package/dist/components/features/chat/pending-user-messages.cjs.map +1 -1
  434. package/dist/components/features/chat/pending-user-messages.d.ts +2 -1
  435. package/dist/components/features/chat/pending-user-messages.js +4 -1
  436. package/dist/components/features/chat/pending-user-messages.js.map +1 -1
  437. package/dist/components/features/chat/plan-preview.d.ts +1 -1
  438. package/dist/components/features/chat/remove-file-button.d.ts +1 -1
  439. package/dist/components/features/chat/skill-install-restart-banner.d.ts +1 -1
  440. package/dist/components/features/chat/success-indicator.d.ts +1 -1
  441. package/dist/components/features/chat/task-tracking/status-badge.d.ts +1 -1
  442. package/dist/components/features/chat/task-tracking/status-icon.d.ts +1 -1
  443. package/dist/components/features/chat/task-tracking/task-item.d.ts +1 -1
  444. package/dist/components/features/chat/task-tracking/task-list-section.d.ts +1 -1
  445. package/dist/components/features/chat/tool-visualizers/primitives/code-block.d.ts +2 -1
  446. package/dist/components/features/chat/tool-visualizers/primitives/diff-view.d.ts +2 -1
  447. package/dist/components/features/chat/tool-visualizers/primitives/file-path-chip.d.ts +2 -1
  448. package/dist/components/features/chat/tool-visualizers/primitives/key-value-grid.d.ts +1 -1
  449. package/dist/components/features/chat/tool-visualizers/primitives/output-pane.d.ts +2 -1
  450. package/dist/components/features/chat/typing-indicator.cjs +1 -1
  451. package/dist/components/features/chat/typing-indicator.cjs.map +1 -1
  452. package/dist/components/features/chat/typing-indicator.d.ts +8 -1
  453. package/dist/components/features/chat/typing-indicator.js +94 -10
  454. package/dist/components/features/chat/typing-indicator.js.map +1 -1
  455. package/dist/components/features/chat/uploaded-file.d.ts +1 -1
  456. package/dist/components/features/chat/uploaded-files.d.ts +1 -1
  457. package/dist/components/features/chat/uploaded-image.d.ts +2 -1
  458. package/dist/components/features/chat/user-message-body.d.ts +2 -2
  459. package/dist/components/features/chat/waiting-for-runtime-message.d.ts +1 -1
  460. package/dist/components/features/chat/workspace-mode-icon.d.ts +1 -1
  461. package/dist/components/features/chat/workspace-mode-selector.d.ts +1 -1
  462. package/dist/components/features/command-menu/command-menu-items.d.ts +5 -1
  463. package/dist/components/features/command-menu/command-menu-trigger.d.ts +2 -1
  464. package/dist/components/features/context-menu/archived-disabled-tooltip.d.ts +1 -1
  465. package/dist/components/features/context-menu/context-menu-icon-text-with-description.d.ts +1 -1
  466. package/dist/components/features/context-menu/context-menu-icon-text.d.ts +1 -1
  467. package/dist/components/features/context-menu/context-menu-list-item.cjs +1 -1
  468. package/dist/components/features/context-menu/context-menu-list-item.cjs.map +1 -1
  469. package/dist/components/features/context-menu/context-menu-list-item.d.ts +2 -1
  470. package/dist/components/features/context-menu/context-menu-list-item.js +2 -1
  471. package/dist/components/features/context-menu/context-menu-list-item.js.map +1 -1
  472. package/dist/components/features/controls/agent-loading.d.ts +1 -1
  473. package/dist/components/features/controls/agent-status.d.ts +1 -1
  474. package/dist/components/features/controls/git-tools-submenu.d.ts +1 -1
  475. package/dist/components/features/controls/macros-submenu.d.ts +1 -1
  476. package/dist/components/features/controls/server-status-context-menu-icon-text.d.ts +1 -1
  477. package/dist/components/features/controls/server-status-context-menu.d.ts +1 -1
  478. package/dist/components/features/controls/server-status.d.ts +1 -1
  479. package/dist/components/features/controls/tools-context-menu-icon-text.d.ts +1 -1
  480. package/dist/components/features/controls/tools-context-menu.d.ts +1 -1
  481. package/dist/components/features/controls/tools.d.ts +2 -1
  482. package/dist/components/features/conversation/conversation-loading.d.ts +1 -1
  483. package/dist/components/features/conversation/conversation-main/chat-interface-wrapper.d.ts +1 -1
  484. package/dist/components/features/conversation/conversation-main/conversation-main.d.ts +1 -1
  485. package/dist/components/features/conversation/conversation-main/conversation-mobile-panel-page.d.ts +2 -1
  486. package/dist/components/features/conversation/conversation-name-context-menu-icon-text.d.ts +1 -1
  487. package/dist/components/features/conversation/conversation-name-context-menu.d.ts +1 -1
  488. package/dist/components/features/conversation/conversation-name-with-status.d.ts +2 -1
  489. package/dist/components/features/conversation/conversation-name.d.ts +2 -1
  490. package/dist/components/features/conversation/conversation-tab-empty-state.d.ts +1 -1
  491. package/dist/components/features/conversation/conversation-tabs/conversation-tab-content/conversation-tab-content-crossfade.d.ts +1 -1
  492. package/dist/components/features/conversation/conversation-tabs/conversation-tab-content/conversation-tab-content.d.ts +1 -1
  493. package/dist/components/features/conversation/conversation-tabs/conversation-tab-content/suspense-pending-fallback.d.ts +1 -1
  494. package/dist/components/features/conversation/conversation-tabs/conversation-tab-content/tab-container.d.ts +1 -1
  495. package/dist/components/features/conversation/conversation-tabs/conversation-tab-content/tab-content-area.d.ts +1 -1
  496. package/dist/components/features/conversation/conversation-tabs/conversation-tab-content/tab-wrapper.d.ts +1 -1
  497. package/dist/components/features/conversation/conversation-tabs/conversation-tab-nav.d.ts +1 -1
  498. package/dist/components/features/conversation/conversation-tabs/conversation-tabs-context-menu.d.ts +1 -1
  499. package/dist/components/features/conversation/conversation-tabs/conversation-tabs.d.ts +1 -1
  500. package/dist/components/features/conversation/conversation-tabs/drawer-vscode-link.d.ts +1 -1
  501. package/dist/components/features/conversation/metrics-modal/context-window-section.d.ts +1 -1
  502. package/dist/components/features/conversation/metrics-modal/cost-section.d.ts +1 -1
  503. package/dist/components/features/conversation/metrics-modal/empty-state.d.ts +1 -1
  504. package/dist/components/features/conversation/metrics-modal/metric-row.d.ts +1 -1
  505. package/dist/components/features/conversation/metrics-modal/metrics-modal-header.d.ts +1 -1
  506. package/dist/components/features/conversation/metrics-modal/metrics-modal.d.ts +1 -1
  507. package/dist/components/features/conversation/metrics-modal/usage-section.d.ts +1 -1
  508. package/dist/components/features/conversation/right-panel-toggle.d.ts +1 -1
  509. package/dist/components/features/conversation/transcript-export-modal.d.ts +2 -1
  510. package/dist/components/features/conversation-panel/budget-display.d.ts +2 -1
  511. package/dist/components/features/conversation-panel/budget-progress-bar.d.ts +1 -1
  512. package/dist/components/features/conversation-panel/budget-usage-text.d.ts +2 -1
  513. package/dist/components/features/conversation-panel/cloud-new-conversation-menu.d.ts +1 -1
  514. package/dist/components/features/conversation-panel/compact-conversation-row.cjs +1 -1
  515. package/dist/components/features/conversation-panel/compact-conversation-row.cjs.map +1 -1
  516. package/dist/components/features/conversation-panel/compact-conversation-row.d.ts +2 -1
  517. package/dist/components/features/conversation-panel/compact-conversation-row.js +38 -37
  518. package/dist/components/features/conversation-panel/compact-conversation-row.js.map +1 -1
  519. package/dist/components/features/conversation-panel/confirm-delete-modal.d.ts +1 -1
  520. package/dist/components/features/conversation-panel/confirm-stop-modal.d.ts +1 -1
  521. package/dist/components/features/conversation-panel/conversation-card/conversation-card-actions.d.ts +1 -1
  522. package/dist/components/features/conversation-panel/conversation-card/conversation-card-context-menu.d.ts +1 -1
  523. package/dist/components/features/conversation-panel/conversation-card/conversation-card-footer.d.ts +1 -1
  524. package/dist/components/features/conversation-panel/conversation-card/conversation-card-header.d.ts +1 -1
  525. package/dist/components/features/conversation-panel/conversation-card/conversation-card-preview.d.ts +1 -1
  526. package/dist/components/features/conversation-panel/conversation-card/conversation-card-skeleton.d.ts +1 -1
  527. package/dist/components/features/conversation-panel/conversation-card/conversation-card-title.d.ts +1 -1
  528. package/dist/components/features/conversation-panel/conversation-card/conversation-card.d.ts +2 -1
  529. package/dist/components/features/conversation-panel/conversation-card/conversation-repo-link.d.ts +1 -1
  530. package/dist/components/features/conversation-panel/conversation-card/conversation-status-badges.d.ts +1 -1
  531. package/dist/components/features/conversation-panel/conversation-card/no-repository.d.ts +1 -1
  532. package/dist/components/features/conversation-panel/conversation-group-folder-list.d.ts +1 -1
  533. package/dist/components/features/conversation-panel/conversation-group-folder-row.d.ts +1 -1
  534. package/dist/components/features/conversation-panel/conversation-panel-filter-menu.d.ts +1 -1
  535. package/dist/components/features/conversation-panel/conversation-panel-new-thread-picker.d.ts +1 -1
  536. package/dist/components/features/conversation-panel/conversation-panel-pinned-section.d.ts +1 -1
  537. package/dist/components/features/conversation-panel/conversation-panel.cjs +1 -1
  538. package/dist/components/features/conversation-panel/conversation-panel.cjs.map +1 -1
  539. package/dist/components/features/conversation-panel/conversation-panel.d.ts +2 -1
  540. package/dist/components/features/conversation-panel/conversation-panel.js +221 -220
  541. package/dist/components/features/conversation-panel/conversation-panel.js.map +1 -1
  542. package/dist/components/features/conversation-panel/conversation-status-dot.d.ts +1 -1
  543. package/dist/components/features/conversation-panel/exit-conversation-modal.d.ts +1 -1
  544. package/dist/components/features/conversation-panel/hook-event-item.d.ts +1 -1
  545. package/dist/components/features/conversation-panel/hook-matcher-content.d.ts +1 -1
  546. package/dist/components/features/conversation-panel/hooks-empty-state.d.ts +1 -1
  547. package/dist/components/features/conversation-panel/hooks-loading-state.d.ts +1 -1
  548. package/dist/components/features/conversation-panel/hooks-modal-header.d.ts +1 -1
  549. package/dist/components/features/conversation-panel/hooks-modal.d.ts +1 -1
  550. package/dist/components/features/conversation-panel/local-new-conversation-menu.d.ts +1 -1
  551. package/dist/components/features/conversation-panel/menu-heading.d.ts +1 -1
  552. package/dist/components/features/conversation-panel/menu-row.d.ts +1 -1
  553. package/dist/components/features/conversation-panel/menu-separator.d.ts +1 -1
  554. package/dist/components/features/conversation-panel/new-conversation-button.d.ts +2 -1
  555. package/dist/components/features/conversation-panel/plugins-modal.d.ts +1 -1
  556. package/dist/components/features/conversation-panel/runtime-waiting-state.d.ts +1 -1
  557. package/dist/components/features/conversation-panel/skill-content.d.ts +1 -1
  558. package/dist/components/features/conversation-panel/skill-item.d.ts +1 -1
  559. package/dist/components/features/conversation-panel/skill-triggers.d.ts +1 -1
  560. package/dist/components/features/conversation-panel/skills-empty-state.d.ts +1 -1
  561. package/dist/components/features/conversation-panel/skills-loading-state.d.ts +1 -1
  562. package/dist/components/features/conversation-panel/skills-modal-header.d.ts +1 -1
  563. package/dist/components/features/conversation-panel/skills-modal-section.d.ts +1 -1
  564. package/dist/components/features/conversation-panel/skills-modal.d.ts +1 -1
  565. package/dist/components/features/conversation-panel/start-task-card/start-task-card-footer.d.ts +1 -1
  566. package/dist/components/features/conversation-panel/start-task-card/start-task-card-header.d.ts +1 -1
  567. package/dist/components/features/conversation-panel/start-task-card/start-task-card.d.ts +1 -1
  568. package/dist/components/features/conversation-panel/start-task-card/start-task-status-badge.d.ts +1 -1
  569. package/dist/components/features/conversation-panel/start-task-card/start-task-status-indicator.d.ts +1 -1
  570. package/dist/components/features/conversation-panel/system-message-modal/empty-tools-state.d.ts +1 -1
  571. package/dist/components/features/conversation-panel/system-message-modal/system-message-content.d.ts +1 -1
  572. package/dist/components/features/conversation-panel/system-message-modal/system-message-header.d.ts +1 -1
  573. package/dist/components/features/conversation-panel/system-message-modal/tab-button.d.ts +1 -1
  574. package/dist/components/features/conversation-panel/system-message-modal/tab-content.d.ts +1 -1
  575. package/dist/components/features/conversation-panel/system-message-modal/tab-navigation.d.ts +1 -1
  576. package/dist/components/features/conversation-panel/system-message-modal/toggle-button.d.ts +1 -1
  577. package/dist/components/features/conversation-panel/system-message-modal/tool-item.d.ts +1 -1
  578. package/dist/components/features/conversation-panel/system-message-modal/tool-parameters.d.ts +1 -1
  579. package/dist/components/features/conversation-panel/system-message-modal/tools-list.d.ts +1 -1
  580. package/dist/components/features/conversation-panel/system-message-modal.d.ts +1 -1
  581. package/dist/components/features/diff-viewer/commit-list.d.ts +2 -1
  582. package/dist/components/features/diff-viewer/commit-row.d.ts +2 -1
  583. package/dist/components/features/diff-viewer/diff-drawer-icon.d.ts +1 -1
  584. package/dist/components/features/diff-viewer/editor-container.d.ts +1 -1
  585. package/dist/components/features/diff-viewer/empty-changes-message.d.ts +1 -1
  586. package/dist/components/features/diff-viewer/file-diff-viewer.d.ts +2 -1
  587. package/dist/components/features/diff-viewer/loading-spinner.d.ts +1 -1
  588. package/dist/components/features/files/file-item.d.ts +1 -1
  589. package/dist/components/features/files/file-list.d.ts +2 -1
  590. package/dist/components/features/files-tab/file-content-viewer.d.ts +1 -1
  591. package/dist/components/features/files-tab/file-quick-row.d.ts +1 -1
  592. package/dist/components/features/files-tab/file-tree-view.d.ts +1 -1
  593. package/dist/components/features/files-tab/highlighted-source-view.d.ts +1 -1
  594. package/dist/components/features/files-tab/no-file-selected-message.d.ts +1 -1
  595. package/dist/components/features/files-tab/segmented-toggle.cjs +1 -1
  596. package/dist/components/features/files-tab/segmented-toggle.cjs.map +1 -1
  597. package/dist/components/features/files-tab/segmented-toggle.d.ts +3 -1
  598. package/dist/components/features/files-tab/segmented-toggle.js +17 -14
  599. package/dist/components/features/files-tab/segmented-toggle.js.map +1 -1
  600. package/dist/components/features/files-tab/tree-node.d.ts +1 -1
  601. package/dist/components/features/home/featured-automations/automation-health-indicator.d.ts +11 -0
  602. package/dist/components/features/home/featured-automations/automation-run-activity-metrics.d.ts +18 -0
  603. package/dist/components/features/home/featured-automations/automation-run-activity-sparkline.d.ts +14 -0
  604. package/dist/components/features/home/featured-automations/automation-run-health.d.ts +25 -0
  605. package/dist/components/features/home/featured-automations/build-home-automation-menu-items.d.ts +39 -0
  606. package/dist/components/features/home/featured-automations/build-pinned-automation-menu-items.d.ts +22 -0
  607. package/dist/components/features/home/featured-automations/home-automation-activity.d.ts +23 -0
  608. package/dist/components/features/home/featured-automations/home-automation-menu.d.ts +13 -0
  609. package/dist/components/features/home/featured-automations/home-automation-run-tooltip.d.ts +12 -0
  610. package/dist/components/features/home/featured-automations/pinned-automation-card.d.ts +21 -0
  611. package/dist/components/features/home/featured-automations/pinned-automations-dashboard.d.ts +6 -0
  612. package/dist/components/features/home/featured-automations/running-automations-list.d.ts +6 -0
  613. package/dist/components/features/home/git-branch-dropdown/branch-dropdown-menu.d.ts +1 -1
  614. package/dist/components/features/home/git-branch-dropdown/git-branch-dropdown.d.ts +2 -1
  615. package/dist/components/features/home/git-provider-dropdown/git-provider-dropdown.d.ts +2 -1
  616. package/dist/components/features/home/git-repo-dropdown/git-repo-dropdown.d.ts +2 -1
  617. package/dist/components/features/home/home-chat-launcher.d.ts +1 -1
  618. package/dist/components/features/home/home-git-control-bar-preview.d.ts +1 -1
  619. package/dist/components/features/home/home-header/guide-message.d.ts +1 -1
  620. package/dist/components/features/home/home-header/home-header-title.d.ts +1 -1
  621. package/dist/components/features/home/home-header/home-header.d.ts +1 -1
  622. package/dist/components/features/home/llm-not-configured-banner.d.ts +1 -1
  623. package/dist/components/features/home/new-conversation/create-conversation-button.d.ts +1 -1
  624. package/dist/components/features/home/new-conversation/new-conversation.d.ts +1 -1
  625. package/dist/components/features/home/new-conversation.d.ts +1 -1
  626. package/dist/components/features/home/open-launcher-button.d.ts +1 -1
  627. package/dist/components/features/home/open-repository-dialog.d.ts +1 -1
  628. package/dist/components/features/home/open-workspace-dialog.d.ts +1 -1
  629. package/dist/components/features/home/repo-selection-form.d.ts +2 -1
  630. package/dist/components/features/home/shared/clear-button.d.ts +2 -1
  631. package/dist/components/features/home/shared/dropdown-item.d.ts +1 -1
  632. package/dist/components/features/home/shared/empty-state.d.ts +2 -1
  633. package/dist/components/features/home/shared/error-message.d.ts +2 -1
  634. package/dist/components/features/home/shared/generic-dropdown-menu.d.ts +1 -1
  635. package/dist/components/features/home/shared/loading-spinner.d.ts +2 -1
  636. package/dist/components/features/home/shared/toggle-button.d.ts +1 -1
  637. package/dist/components/features/home/tasks/task-card.d.ts +1 -1
  638. package/dist/components/features/home/tasks/task-group.d.ts +1 -1
  639. package/dist/components/features/home/tasks/task-issue-number.d.ts +1 -1
  640. package/dist/components/features/home/tasks/task-item-title.d.ts +1 -1
  641. package/dist/components/features/home/tasks/task-suggestions-skeleton.d.ts +1 -1
  642. package/dist/components/features/home/tasks/task-suggestions.d.ts +1 -1
  643. package/dist/components/features/home/workspace-dropdown/folder-browser-modal.d.ts +2 -1
  644. package/dist/components/features/home/workspace-dropdown/manage-workspaces-modal.d.ts +2 -1
  645. package/dist/components/features/home/workspace-dropdown/workspace-dropdown.d.ts +2 -1
  646. package/dist/components/features/home/workspace-selection-form.d.ts +2 -1
  647. package/dist/components/features/images/image-carousel.d.ts +2 -1
  648. package/dist/components/features/images/image-preview.d.ts +1 -1
  649. package/dist/components/features/images/thumbnail.d.ts +1 -1
  650. package/dist/components/features/launch/plugin-launch-modal.d.ts +2 -1
  651. package/dist/components/features/launch/plugin-launch-parameter-input.d.ts +1 -1
  652. package/dist/components/features/launch/plugin-launch-plugin-section.d.ts +1 -1
  653. package/dist/components/features/manifest/manifest-form-field.d.ts +27 -0
  654. package/dist/components/features/manifest/manifest-icons.d.ts +13 -0
  655. package/dist/components/features/manifest/manifest-overview-tiles.d.ts +19 -0
  656. package/dist/components/features/manifest/manifest-prerequisites-step.d.ts +11 -0
  657. package/dist/components/features/manifest/manifest-review-step.d.ts +14 -0
  658. package/dist/components/features/manifest/manifest-setup-dialog.d.ts +14 -0
  659. package/dist/components/features/manifest/manifest-subpage-layout.d.ts +23 -0
  660. package/dist/components/features/markdown/anchor.d.ts +1 -1
  661. package/dist/components/features/markdown/blockquote.d.ts +1 -1
  662. package/dist/components/features/markdown/code.d.ts +1 -1
  663. package/dist/components/features/markdown/headings.d.ts +6 -6
  664. package/dist/components/features/markdown/horizontal-rule.d.ts +1 -1
  665. package/dist/components/features/markdown/list.d.ts +3 -3
  666. package/dist/components/features/markdown/markdown-renderer.d.ts +1 -1
  667. package/dist/components/features/markdown/markdown-table-scroll.d.ts +1 -1
  668. package/dist/components/features/markdown/paragraph.d.ts +1 -1
  669. package/dist/components/features/markdown/plan-components.d.ts +36 -36
  670. package/dist/components/features/markdown/table.d.ts +3 -3
  671. package/dist/components/features/mcp-logo-badge.d.ts +1 -1
  672. package/dist/components/features/mcp-page/custom-server-editor.cjs +1 -1
  673. package/dist/components/features/mcp-page/custom-server-editor.cjs.map +1 -1
  674. package/dist/components/features/mcp-page/custom-server-editor.d.ts +2 -1
  675. package/dist/components/features/mcp-page/custom-server-editor.js +5 -0
  676. package/dist/components/features/mcp-page/custom-server-editor.js.map +1 -1
  677. package/dist/components/features/mcp-page/install-server-modal.cjs +1 -1
  678. package/dist/components/features/mcp-page/install-server-modal.cjs.map +1 -1
  679. package/dist/components/features/mcp-page/install-server-modal.d.ts +2 -1
  680. package/dist/components/features/mcp-page/install-server-modal.js +117 -118
  681. package/dist/components/features/mcp-page/install-server-modal.js.map +1 -1
  682. package/dist/components/features/mcp-page/installed-server-card.d.ts +2 -1
  683. package/dist/components/features/mcp-page/installed-servers-section.d.ts +1 -1
  684. package/dist/components/features/mcp-page/marketplace-card.d.ts +1 -1
  685. package/dist/components/features/mcp-page/marketplace-section.d.ts +1 -1
  686. package/dist/components/features/mcp-page/mcp-logo-stack-badge.d.ts +1 -1
  687. package/dist/components/features/mcp-page/mcp-section-filter-dropdown.d.ts +1 -1
  688. package/dist/components/features/mcp-page/mcp-server-health.d.ts +2 -1
  689. package/dist/components/features/mcp-page/mcp-toolbar.d.ts +1 -1
  690. package/dist/components/features/mcp-page/save-as-secret-toggle.d.ts +1 -1
  691. package/dist/components/features/onboarding/onboarding-host.d.ts +1 -1
  692. package/dist/components/features/onboarding/onboarding-modal.d.ts +2 -1
  693. package/dist/components/features/onboarding/onboarding-progress-bar.d.ts +1 -1
  694. package/dist/components/features/onboarding/steps/check-backend-step.d.ts +2 -1
  695. package/dist/components/features/onboarding/steps/choose-agent-step.d.ts +3 -2
  696. package/dist/components/features/onboarding/steps/say-hello-step.d.ts +2 -1
  697. package/dist/components/features/onboarding/steps/setup-acp-secrets-step.d.ts +2 -1
  698. package/dist/components/features/onboarding/steps/setup-llm-step.d.ts +2 -1
  699. package/dist/components/features/plugins/add-plugin-modal.d.ts +2 -1
  700. package/dist/components/features/plugins/plugin-card.d.ts +2 -1
  701. package/dist/components/features/plugins/plugin-detail-modal.d.ts +1 -1
  702. package/dist/components/features/plugins/plugin-files-section.d.ts +2 -1
  703. package/dist/components/features/plugins/plugin-picker-card.d.ts +1 -1
  704. package/dist/components/features/plugins/plugin-picker-modal.d.ts +1 -1
  705. package/dist/components/features/plugins/plugin-picker-trigger.d.ts +1 -1
  706. package/dist/components/features/plugins/plugin-picker.d.ts +1 -1
  707. package/dist/components/features/plugins/plugins-toolbar.d.ts +1 -1
  708. package/dist/components/features/settings/acp-auth-status-banner.d.ts +1 -1
  709. package/dist/components/features/settings/acp-conflict-warnings.d.ts +2 -1
  710. package/dist/components/features/settings/acp-credentials-section.d.ts +1 -1
  711. package/dist/components/features/settings/acp-secret-field.d.ts +2 -1
  712. package/dist/components/features/settings/agent-canvas-update-card.d.ts +1 -1
  713. package/dist/components/features/settings/agent-profiles/agent-profile-actions-menu.d.ts +1 -1
  714. package/dist/components/features/settings/agent-profiles/agent-profile-row.d.ts +1 -1
  715. package/dist/components/features/settings/agent-profiles/agent-profiles-body.d.ts +1 -1
  716. package/dist/components/features/settings/agent-profiles/agent-profiles-local-view.d.ts +1 -1
  717. package/dist/components/features/settings/agent-profiles/agent-profiles-manager.d.ts +1 -1
  718. package/dist/components/features/settings/agent-profiles/delete-agent-profile-modal.d.ts +1 -1
  719. package/dist/components/features/settings/agent-server-onboarding.d.ts +2 -1
  720. package/dist/components/features/settings/api-key-modal-base.d.ts +1 -1
  721. package/dist/components/features/settings/app-settings/app-settings-inputs-skeleton.d.ts +1 -1
  722. package/dist/components/features/settings/app-settings/language-input.d.ts +1 -1
  723. package/dist/components/features/settings/app-settings/theme-input.d.ts +2 -1
  724. package/dist/components/features/settings/backend-synced-settings-badge.d.ts +1 -1
  725. package/dist/components/features/settings/banner-message.d.ts +1 -1
  726. package/dist/components/features/settings/cloud-settings-link.d.ts +1 -1
  727. package/dist/components/features/settings/input-skeleton.d.ts +1 -1
  728. package/dist/components/features/settings/integrations-settings-link.d.ts +1 -1
  729. package/dist/components/features/settings/key-status-icon.d.ts +1 -1
  730. package/dist/components/features/settings/llm-profiles/delete-profile-modal.d.ts +1 -1
  731. package/dist/components/features/settings/llm-profiles/llm-profiles-manager.d.ts +1 -1
  732. package/dist/components/features/settings/llm-profiles/llm-settings-local-view.d.ts +2 -1
  733. package/dist/components/features/settings/llm-profiles/profile-actions-menu-item.d.ts +1 -1
  734. package/dist/components/features/settings/llm-profiles/profile-actions-menu.d.ts +1 -1
  735. package/dist/components/features/settings/llm-profiles/profile-row.d.ts +1 -1
  736. package/dist/components/features/settings/llm-profiles/profiles-body.d.ts +1 -1
  737. package/dist/components/features/settings/llm-profiles/rename-profile-modal.d.ts +1 -1
  738. package/dist/components/features/settings/llm-settings/llm-settings-inputs-skeleton.d.ts +1 -1
  739. package/dist/components/features/settings/llm-settings/openai-subscription-auth-card.d.ts +2 -1
  740. package/dist/components/features/settings/mcp-settings/mcp-server-form.cjs +1 -1
  741. package/dist/components/features/settings/mcp-settings/mcp-server-form.cjs.map +1 -1
  742. package/dist/components/features/settings/mcp-settings/mcp-server-form.d.ts +2 -1
  743. package/dist/components/features/settings/mcp-settings/mcp-server-form.js +2 -1
  744. package/dist/components/features/settings/mcp-settings/mcp-server-form.js.map +1 -1
  745. package/dist/components/features/settings/mcp-settings/mcp-server-list-item.d.ts +1 -1
  746. package/dist/components/features/settings/mcp-settings/mcp-server-list.d.ts +1 -1
  747. package/dist/components/features/settings/mobile-header.d.ts +1 -1
  748. package/dist/components/features/settings/optional-tag.d.ts +1 -1
  749. package/dist/components/features/settings/sdk-settings/field-help.d.ts +1 -1
  750. package/dist/components/features/settings/sdk-settings/schema-field.d.ts +2 -1
  751. package/dist/components/features/settings/sdk-settings/sdk-section-page.d.ts +1 -1
  752. package/dist/components/features/settings/sdk-settings/view-toggle.d.ts +1 -1
  753. package/dist/components/features/settings/secrets-settings/secret-form.d.ts +2 -1
  754. package/dist/components/features/settings/secrets-settings/secret-list-item.d.ts +2 -2
  755. package/dist/components/features/settings/settings-desktop-sidebar.d.ts +1 -1
  756. package/dist/components/features/settings/settings-dropdown-input.d.ts +1 -1
  757. package/dist/components/features/settings/settings-input.cjs +1 -1
  758. package/dist/components/features/settings/settings-input.cjs.map +1 -1
  759. package/dist/components/features/settings/settings-input.d.ts +6 -0
  760. package/dist/components/features/settings/settings-input.js +13 -8
  761. package/dist/components/features/settings/settings-input.js.map +1 -1
  762. package/dist/components/features/settings/settings-layout.d.ts +1 -1
  763. package/dist/components/features/settings/settings-mobile-drawer.d.ts +1 -1
  764. package/dist/components/features/settings/settings-mobile-hub.d.ts +1 -1
  765. package/dist/components/features/settings/settings-nav-divider.d.ts +1 -1
  766. package/dist/components/features/settings/settings-nav-header.d.ts +1 -1
  767. package/dist/components/features/settings/settings-nav-link.d.ts +1 -1
  768. package/dist/components/features/settings/settings-navigation.d.ts +1 -1
  769. package/dist/components/features/settings/settings-switch.d.ts +1 -1
  770. package/dist/components/features/settings/subtext-skeleton.d.ts +1 -1
  771. package/dist/components/features/settings/switch-skeleton.d.ts +1 -1
  772. package/dist/components/features/settings/upgrade-banner.d.ts +1 -1
  773. package/dist/components/features/settings/upgrade-button.d.ts +1 -1
  774. package/dist/components/features/sidebar/avatar.d.ts +1 -1
  775. package/dist/components/features/sidebar/sidebar-collapsed-icon-slot.d.ts +1 -1
  776. package/dist/components/features/sidebar/sidebar-conversation-list.d.ts +1 -1
  777. package/dist/components/features/sidebar/sidebar-mobile-menu-bar.d.ts +1 -1
  778. package/dist/components/features/sidebar/sidebar-mobile-menu-toggle.d.ts +1 -1
  779. package/dist/components/features/sidebar/sidebar-mobile-nav-context.d.ts +1 -1
  780. package/dist/components/features/sidebar/sidebar-nav-link.d.ts +1 -1
  781. package/dist/components/features/sidebar/sidebar-rail-body.cjs +1 -1
  782. package/dist/components/features/sidebar/sidebar-rail-body.cjs.map +1 -1
  783. package/dist/components/features/sidebar/sidebar-rail-body.d.ts +1 -1
  784. package/dist/components/features/sidebar/sidebar-rail-body.js +124 -123
  785. package/dist/components/features/sidebar/sidebar-rail-body.js.map +1 -1
  786. package/dist/components/features/sidebar/sidebar.d.ts +2 -1
  787. package/dist/components/features/sidebar/user-avatar.d.ts +1 -1
  788. package/dist/components/features/skills/add-skill-modal.d.ts +2 -1
  789. package/dist/components/features/skills/extensions-mobile-hub.d.ts +1 -1
  790. package/dist/components/features/skills/extensions-navigation.d.ts +1 -1
  791. package/dist/components/features/skills/skill-card-pill-row.d.ts +1 -1
  792. package/dist/components/features/skills/skill-card.d.ts +2 -1
  793. package/dist/components/features/skills/skill-detail-modal.d.ts +2 -1
  794. package/dist/components/features/skills/skill-facet-rail.d.ts +8 -0
  795. package/dist/components/features/skills/skill-facet-row.d.ts +13 -0
  796. package/dist/components/features/skills/skill-filter.d.ts +34 -0
  797. package/dist/components/features/skills/skill-filters-modal.d.ts +10 -0
  798. package/dist/components/features/skills/skill-icon-badge.d.ts +1 -1
  799. package/dist/components/features/skills/skill-type-badge.d.ts +1 -1
  800. package/dist/components/features/skills/skills-toolbar.d.ts +3 -4
  801. package/dist/components/features/suggestions/suggestion-item.d.ts +1 -1
  802. package/dist/components/features/suggestions/suggestions.d.ts +1 -1
  803. package/dist/components/features/terminal/empty-terminal-message.d.ts +1 -1
  804. package/dist/components/features/terminal/terminal.d.ts +1 -1
  805. package/dist/components/features/tips/random-tip.d.ts +2 -1
  806. package/dist/components/providers/agent-server-ui-providers.d.ts +1 -1
  807. package/dist/components/providers/agent-server-ui-root.d.ts +1 -1
  808. package/dist/components/providers/telemetry-provider.d.ts +1 -1
  809. package/dist/components/shared/action-tooltip.d.ts +1 -1
  810. package/dist/components/shared/agent-brand-icon.d.ts +1 -1
  811. package/dist/components/shared/badge.d.ts +1 -1
  812. package/dist/components/shared/buttons/back-nav-button-content.d.ts +1 -1
  813. package/dist/components/shared/buttons/circle-plus-check-toggle.d.ts +3 -2
  814. package/dist/components/shared/buttons/conversation-confirmation-buttons.d.ts +1 -1
  815. package/dist/components/shared/buttons/copy-to-clipboard-button.d.ts +1 -1
  816. package/dist/components/shared/buttons/copyable-content-wrapper.d.ts +1 -1
  817. package/dist/components/shared/buttons/modal-button.d.ts +1 -1
  818. package/dist/components/shared/buttons/openhands-logo-button.d.ts +1 -1
  819. package/dist/components/shared/buttons/remove-button.d.ts +1 -1
  820. package/dist/components/shared/buttons/scroll-to-bottom-button.d.ts +1 -1
  821. package/dist/components/shared/buttons/styled-tooltip.d.ts +1 -1
  822. package/dist/components/shared/filters/enum-filter-dropdown.cjs +1 -1
  823. package/dist/components/shared/filters/enum-filter-dropdown.cjs.map +1 -1
  824. package/dist/components/shared/filters/enum-filter-dropdown.d.ts +6 -2
  825. package/dist/components/shared/filters/enum-filter-dropdown.js +13 -13
  826. package/dist/components/shared/filters/enum-filter-dropdown.js.map +1 -1
  827. package/dist/components/shared/git-provider-icon.d.ts +1 -1
  828. package/dist/components/shared/hook-execution-event-message.d.ts +2 -1
  829. package/dist/components/shared/loading-spinner.d.ts +1 -1
  830. package/dist/components/shared/modals/confirmation-modal.d.ts +1 -1
  831. package/dist/components/shared/modals/confirmation-modals/base-modal.d.ts +3 -3
  832. package/dist/components/shared/modals/confirmation-modals/danger-modal.d.ts +1 -1
  833. package/dist/components/shared/modals/modal-body.d.ts +1 -1
  834. package/dist/components/shared/modals/modal-close-button.d.ts +1 -1
  835. package/dist/components/shared/modals/settings/model-selector.d.ts +2 -1
  836. package/dist/components/shared/modals/settings/settings-form.d.ts +2 -1
  837. package/dist/components/shared/modals/settings/settings-modal.d.ts +1 -1
  838. package/dist/components/shared/navigation-link.cjs +1 -1
  839. package/dist/components/shared/navigation-link.cjs.map +1 -1
  840. package/dist/components/shared/navigation-link.js +11 -7
  841. package/dist/components/shared/navigation-link.js.map +1 -1
  842. package/dist/components/shared/risk-alert.d.ts +1 -1
  843. package/dist/components/shared/text-shimmer.d.ts +1 -1
  844. package/dist/components/ui/resize-handle.d.ts +1 -1
  845. package/dist/config/defaults.cjs +1 -1
  846. package/dist/config/defaults.cjs.map +1 -1
  847. package/dist/config/defaults.js +3 -3
  848. package/dist/config/defaults.js.map +1 -1
  849. package/dist/context/navigation-context.d.ts +1 -1
  850. package/dist/context/scroll-context.d.ts +1 -1
  851. package/dist/contexts/active-backend-context.d.ts +1 -1
  852. package/dist/contexts/conversation-websocket-context.d.ts +1 -1
  853. package/dist/contexts/settings-section-header-context.d.ts +1 -1
  854. package/dist/contexts/websocket-provider-wrapper.d.ts +1 -1
  855. package/dist/fixtures/home-automations-demo.d.ts +19 -0
  856. package/dist/hooks/mutation/use-add-mcp-server.cjs +1 -1
  857. package/dist/hooks/mutation/use-add-mcp-server.cjs.map +1 -1
  858. package/dist/hooks/mutation/use-add-mcp-server.js +10 -14
  859. package/dist/hooks/mutation/use-add-mcp-server.js.map +1 -1
  860. package/dist/hooks/mutation/use-delete-mcp-server.cjs +1 -1
  861. package/dist/hooks/mutation/use-delete-mcp-server.cjs.map +1 -1
  862. package/dist/hooks/mutation/use-delete-mcp-server.d.ts +2 -7
  863. package/dist/hooks/mutation/use-delete-mcp-server.js +8 -34
  864. package/dist/hooks/mutation/use-delete-mcp-server.js.map +1 -1
  865. package/dist/hooks/mutation/use-save-settings.cjs +1 -1
  866. package/dist/hooks/mutation/use-save-settings.cjs.map +1 -1
  867. package/dist/hooks/mutation/use-save-settings.js +8 -4
  868. package/dist/hooks/mutation/use-save-settings.js.map +1 -1
  869. package/dist/hooks/mutation/use-update-mcp-server.cjs +1 -1
  870. package/dist/hooks/mutation/use-update-mcp-server.cjs.map +1 -1
  871. package/dist/hooks/mutation/use-update-mcp-server.d.ts +1 -1
  872. package/dist/hooks/mutation/use-update-mcp-server.js +31 -16
  873. package/dist/hooks/mutation/use-update-mcp-server.js.map +1 -1
  874. package/dist/hooks/query/query-keys.cjs.map +1 -1
  875. package/dist/hooks/query/query-keys.d.ts +4 -0
  876. package/dist/hooks/query/query-keys.js.map +1 -1
  877. package/dist/hooks/query/use-active-conversation.d.ts +1 -1
  878. package/dist/hooks/query/use-agent-profiles.d.ts +1 -1
  879. package/dist/hooks/query/use-app-installations.d.ts +1 -1
  880. package/dist/hooks/query/use-automation-detail.d.ts +2 -2
  881. package/dist/hooks/query/use-automation-health.d.ts +2 -0
  882. package/dist/hooks/query/use-automations.d.ts +5 -1
  883. package/dist/hooks/query/use-bash-command-logs.d.ts +1 -1
  884. package/dist/hooks/query/use-cloud-sandbox.d.ts +1 -1
  885. package/dist/hooks/query/use-commit-changes.d.ts +1 -1
  886. package/dist/hooks/query/use-config.d.ts +1 -1
  887. package/dist/hooks/query/use-conversation-history.d.ts +1 -1
  888. package/dist/hooks/query/use-conversation-hooks.d.ts +1 -1
  889. package/dist/hooks/query/use-conversation-skills.d.ts +1 -1
  890. package/dist/hooks/query/use-get-secrets.d.ts +1 -1
  891. package/dist/hooks/query/use-home-automations.d.ts +20 -0
  892. package/dist/hooks/query/use-latest-automation-runs.d.ts +19 -0
  893. package/dist/hooks/query/use-llm-profiles.d.ts +1 -1
  894. package/dist/hooks/query/use-llm-subscription-models.d.ts +1 -1
  895. package/dist/hooks/query/use-llm-subscription-status.d.ts +1 -1
  896. package/dist/hooks/query/use-local-git-info.d.ts +1 -1
  897. package/dist/hooks/query/use-local-workspaces.d.ts +1 -1
  898. package/dist/hooks/query/use-manifest-capabilities.d.ts +23 -0
  899. package/dist/hooks/query/use-manifest-prerequisites.d.ts +24 -0
  900. package/dist/hooks/query/use-plugin-file-content.d.ts +1 -1
  901. package/dist/hooks/query/use-plugins-marketplace.d.ts +1 -1
  902. package/dist/hooks/query/use-provider-models.d.ts +1 -1
  903. package/dist/hooks/query/use-search-branches.d.ts +1 -1
  904. package/dist/hooks/query/use-search-providers.d.ts +1 -1
  905. package/dist/hooks/query/use-search-repositories.d.ts +1 -1
  906. package/dist/hooks/query/use-search-subdirs.d.ts +2 -2
  907. package/dist/hooks/query/use-settings.d.ts +2 -2
  908. package/dist/hooks/query/use-skills.d.ts +1 -1
  909. package/dist/hooks/query/use-start-tasks.d.ts +1 -1
  910. package/dist/hooks/query/use-sub-conversation-task-polling.d.ts +1 -1
  911. package/dist/hooks/query/use-sub-conversations.d.ts +1 -1
  912. package/dist/hooks/query/use-suggested-tasks.d.ts +1 -1
  913. package/dist/hooks/query/use-task-polling.d.ts +2 -2
  914. package/dist/hooks/query/use-unified-get-git-changes.d.ts +1 -1
  915. package/dist/hooks/query/use-unified-git-diff.d.ts +1 -1
  916. package/dist/hooks/query/use-user-conversation.d.ts +1 -1
  917. package/dist/hooks/query/use-workspace-file-content.d.ts +1 -1
  918. package/dist/hooks/use-backend-scoped-path.cjs +2 -0
  919. package/dist/hooks/use-backend-scoped-path.cjs.map +1 -0
  920. package/dist/hooks/use-backend-scoped-path.d.ts +10 -0
  921. package/dist/hooks/use-backend-scoped-path.js +13 -0
  922. package/dist/hooks/use-backend-scoped-path.js.map +1 -0
  923. package/dist/hooks/use-home-automation-actions.d.ts +23 -0
  924. package/dist/hooks/use-home-pinned-automations.d.ts +26 -0
  925. package/dist/hooks/use-llm-configured.cjs +1 -1
  926. package/dist/hooks/use-llm-configured.cjs.map +1 -1
  927. package/dist/hooks/use-llm-configured.js +2 -1
  928. package/dist/hooks/use-llm-configured.js.map +1 -1
  929. package/dist/hooks/use-manifest-preflight.d.ts +18 -0
  930. package/dist/hooks/use-tracking.cjs +1 -1
  931. package/dist/hooks/use-tracking.cjs.map +1 -1
  932. package/dist/hooks/use-tracking.d.ts +18 -0
  933. package/dist/hooks/use-tracking.js +25 -1
  934. package/dist/hooks/use-tracking.js.map +1 -1
  935. package/dist/i18n/declaration.cjs +1 -1
  936. package/dist/i18n/declaration.cjs.map +1 -1
  937. package/dist/i18n/declaration.d.ts +103 -2
  938. package/dist/i18n/declaration.js +1 -1
  939. package/dist/i18n/declaration.js.map +1 -1
  940. package/dist/i18n/translation.cjs +2 -2
  941. package/dist/i18n/translation.cjs.map +1 -1
  942. package/dist/i18n/translation.js +1780 -63
  943. package/dist/i18n/translation.js.map +1 -1
  944. package/dist/icons/code-pill.d.ts +1 -1
  945. package/dist/icons/external-link.cjs +2 -0
  946. package/dist/icons/external-link.cjs.map +1 -0
  947. package/dist/icons/external-link.js +22 -0
  948. package/dist/icons/external-link.js.map +1 -0
  949. package/dist/icons/server.cjs +2 -0
  950. package/dist/icons/server.cjs.map +1 -0
  951. package/dist/icons/server.js +17 -0
  952. package/dist/icons/server.js.map +1 -0
  953. package/dist/locales/ar/openhands.json +106 -5
  954. package/dist/locales/ca/openhands.json +106 -5
  955. package/dist/locales/de/openhands.json +106 -5
  956. package/dist/locales/en/openhands.json +107 -6
  957. package/dist/locales/es/openhands.json +106 -5
  958. package/dist/locales/fr/openhands.json +106 -5
  959. package/dist/locales/it/openhands.json +106 -5
  960. package/dist/locales/ja/openhands.json +106 -5
  961. package/dist/locales/ko-KR/openhands.json +106 -5
  962. package/dist/locales/no/openhands.json +106 -5
  963. package/dist/locales/pt/openhands.json +106 -5
  964. package/dist/locales/tr/openhands.json +106 -5
  965. package/dist/locales/uk/openhands.json +106 -5
  966. package/dist/locales/zh-CN/openhands.json +106 -5
  967. package/dist/locales/zh-TW/openhands.json +106 -5
  968. package/dist/manifests/automation-insights.d.ts +64 -0
  969. package/dist/manifests/automation-interface.cjs +2 -0
  970. package/dist/manifests/automation-interface.cjs.map +1 -0
  971. package/dist/manifests/automation-interface.d.ts +76 -0
  972. package/dist/manifests/automation-interface.js +82 -0
  973. package/dist/manifests/automation-interface.js.map +1 -0
  974. package/dist/manifests/automation-setup.cjs +2 -0
  975. package/dist/manifests/automation-setup.cjs.map +1 -0
  976. package/dist/manifests/automation-setup.d.ts +52 -0
  977. package/dist/manifests/automation-setup.js +8 -0
  978. package/dist/manifests/automation-setup.js.map +1 -0
  979. package/dist/manifests/interface-validation.cjs +2 -0
  980. package/dist/manifests/interface-validation.cjs.map +1 -0
  981. package/dist/manifests/interface-validation.d.ts +27 -0
  982. package/dist/manifests/interface-validation.js +360 -0
  983. package/dist/manifests/interface-validation.js.map +1 -0
  984. package/dist/manifests/manifest-actions.d.ts +15 -0
  985. package/dist/manifests/manifest-capabilities.d.ts +25 -0
  986. package/dist/manifests/manifest-error-map.d.ts +40 -0
  987. package/dist/manifests/manifest-local-validation.d.ts +56 -0
  988. package/dist/manifests/manifest-registry.cjs +2 -0
  989. package/dist/manifests/manifest-registry.cjs.map +1 -0
  990. package/dist/manifests/manifest-registry.d.ts +15 -0
  991. package/dist/manifests/manifest-registry.js +26 -0
  992. package/dist/manifests/manifest-registry.js.map +1 -0
  993. package/dist/manifests/manifest-sources.cjs +2 -0
  994. package/dist/manifests/manifest-sources.cjs.map +1 -0
  995. package/dist/manifests/manifest-sources.d.ts +15 -0
  996. package/dist/manifests/manifest-sources.js +8 -0
  997. package/dist/manifests/manifest-sources.js.map +1 -0
  998. package/dist/manifests/manifest-template.d.ts +20 -0
  999. package/dist/manifests/manifest-validation.cjs +2 -0
  1000. package/dist/manifests/manifest-validation.cjs.map +1 -0
  1001. package/dist/manifests/manifest-validation.d.ts +30 -0
  1002. package/dist/manifests/manifest-validation.js +145 -0
  1003. package/dist/manifests/manifest-validation.js.map +1 -0
  1004. package/dist/manifests/types.cjs +2 -0
  1005. package/dist/manifests/types.cjs.map +1 -0
  1006. package/dist/manifests/types.d.ts +355 -0
  1007. package/dist/manifests/types.js +39 -0
  1008. package/dist/manifests/types.js.map +1 -0
  1009. package/dist/mockServiceWorker.js +21 -9
  1010. package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.cjs +9 -0
  1011. package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.cjs.map +1 -0
  1012. package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.js +75 -0
  1013. package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.js.map +1 -0
  1014. package/dist/node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.cjs +9 -0
  1015. package/dist/node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.cjs.map +1 -0
  1016. package/dist/node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.js +78 -0
  1017. package/dist/node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.js.map +1 -0
  1018. package/dist/node_modules/@openhands/extensions/automations/catalog/incident-retrospective-drafter/manifest.cjs +17 -0
  1019. package/dist/node_modules/@openhands/extensions/automations/catalog/incident-retrospective-drafter/manifest.cjs.map +1 -0
  1020. package/dist/node_modules/@openhands/extensions/automations/catalog/incident-retrospective-drafter/manifest.js +89 -0
  1021. package/dist/node_modules/@openhands/extensions/automations/catalog/incident-retrospective-drafter/manifest.js.map +1 -0
  1022. package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-pr/manifest.cjs +10 -0
  1023. package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-pr/manifest.cjs.map +1 -0
  1024. package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-pr/manifest.js +17 -0
  1025. package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-pr/manifest.js.map +1 -0
  1026. package/dist/node_modules/@openhands/extensions/automations/catalog/linear-triage-assistant/manifest.cjs +9 -0
  1027. package/dist/node_modules/@openhands/extensions/automations/catalog/linear-triage-assistant/manifest.cjs.map +1 -0
  1028. package/dist/node_modules/@openhands/extensions/automations/catalog/linear-triage-assistant/manifest.js +15 -0
  1029. package/dist/node_modules/@openhands/extensions/automations/catalog/linear-triage-assistant/manifest.js.map +1 -0
  1030. package/dist/node_modules/@openhands/extensions/automations/catalog/research-brief-writer/manifest.cjs +9 -0
  1031. package/dist/node_modules/@openhands/extensions/automations/catalog/research-brief-writer/manifest.cjs.map +1 -0
  1032. package/dist/node_modules/@openhands/extensions/automations/catalog/research-brief-writer/manifest.js +18 -0
  1033. package/dist/node_modules/@openhands/extensions/automations/catalog/research-brief-writer/manifest.js.map +1 -0
  1034. package/dist/node_modules/@openhands/extensions/automations/catalog/slack-channel-monitor/manifest.cjs +9 -0
  1035. package/dist/node_modules/@openhands/extensions/automations/catalog/slack-channel-monitor/manifest.cjs.map +1 -0
  1036. package/dist/node_modules/@openhands/extensions/automations/catalog/slack-channel-monitor/manifest.js +14 -0
  1037. package/dist/node_modules/@openhands/extensions/automations/catalog/slack-channel-monitor/manifest.js.map +1 -0
  1038. package/dist/node_modules/@openhands/extensions/automations/catalog/slack-standup-digest/manifest.cjs +9 -0
  1039. package/dist/node_modules/@openhands/extensions/automations/catalog/slack-standup-digest/manifest.cjs.map +1 -0
  1040. package/dist/node_modules/@openhands/extensions/automations/catalog/slack-standup-digest/manifest.js +14 -0
  1041. package/dist/node_modules/@openhands/extensions/automations/catalog/slack-standup-digest/manifest.js.map +1 -0
  1042. package/dist/node_modules/@openhands/extensions/automations/catalog/upstream-fork-sync/manifest.cjs +9 -0
  1043. package/dist/node_modules/@openhands/extensions/automations/catalog/upstream-fork-sync/manifest.cjs.map +1 -0
  1044. package/dist/node_modules/@openhands/extensions/automations/catalog/upstream-fork-sync/manifest.js +74 -0
  1045. package/dist/node_modules/@openhands/extensions/automations/catalog/upstream-fork-sync/manifest.js.map +1 -0
  1046. package/dist/node_modules/@openhands/extensions/automations/catalog-index.cjs +2 -0
  1047. package/dist/node_modules/@openhands/extensions/automations/catalog-index.cjs.map +1 -0
  1048. package/dist/node_modules/@openhands/extensions/automations/catalog-index.js +25 -0
  1049. package/dist/node_modules/@openhands/extensions/automations/catalog-index.js.map +1 -0
  1050. package/dist/node_modules/@openhands/extensions/automations/index.cjs +2 -0
  1051. package/dist/node_modules/@openhands/extensions/automations/index.cjs.map +1 -0
  1052. package/dist/node_modules/@openhands/extensions/automations/index.js +18 -0
  1053. package/dist/node_modules/@openhands/extensions/automations/index.js.map +1 -0
  1054. package/dist/node_modules/@openhands/extensions/automations/interface.cjs +2 -0
  1055. package/dist/node_modules/@openhands/extensions/automations/interface.cjs.map +1 -0
  1056. package/dist/node_modules/@openhands/extensions/automations/interface.js +210 -0
  1057. package/dist/node_modules/@openhands/extensions/automations/interface.js.map +1 -0
  1058. package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.cjs +1 -1
  1059. package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.cjs.map +1 -1
  1060. package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.js +3 -3
  1061. package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.js.map +1 -1
  1062. package/dist/node_modules/@openhands/extensions/skills/index.cjs +174 -53
  1063. package/dist/node_modules/@openhands/extensions/skills/index.cjs.map +1 -1
  1064. package/dist/node_modules/@openhands/extensions/skills/index.js +115 -53
  1065. package/dist/node_modules/@openhands/extensions/skills/index.js.map +1 -1
  1066. package/dist/node_modules/@tanstack/query-core/build/modern/utils.cjs +1 -1
  1067. package/dist/node_modules/@tanstack/query-core/build/modern/utils.cjs.map +1 -1
  1068. package/dist/node_modules/@tanstack/query-core/build/modern/utils.js +12 -1
  1069. package/dist/node_modules/@tanstack/query-core/build/modern/utils.js.map +1 -1
  1070. package/dist/node_modules/@tanstack/react-query/build/modern/useBaseQuery.cjs +1 -1
  1071. package/dist/node_modules/@tanstack/react-query/build/modern/useBaseQuery.cjs.map +1 -1
  1072. package/dist/node_modules/@tanstack/react-query/build/modern/useBaseQuery.js +14 -12
  1073. package/dist/node_modules/@tanstack/react-query/build/modern/useBaseQuery.js.map +1 -1
  1074. package/dist/node_modules/html-parse-stringify/dist/esm/html-parse-stringify.cjs +2 -0
  1075. package/dist/node_modules/html-parse-stringify/dist/esm/html-parse-stringify.cjs.map +1 -0
  1076. package/dist/node_modules/html-parse-stringify/dist/esm/html-parse-stringify.js +177 -0
  1077. package/dist/node_modules/html-parse-stringify/dist/esm/html-parse-stringify.js.map +1 -0
  1078. package/dist/node_modules/i18next/dist/esm/i18next.cjs +1 -1
  1079. package/dist/node_modules/i18next/dist/esm/i18next.cjs.map +1 -1
  1080. package/dist/node_modules/i18next/dist/esm/i18next.js +31 -24
  1081. package/dist/node_modules/i18next/dist/esm/i18next.js.map +1 -1
  1082. package/dist/node_modules/lucide-react/dist/esm/icons/monitor.cjs +2 -0
  1083. package/dist/node_modules/lucide-react/dist/esm/icons/monitor.cjs.map +1 -0
  1084. package/dist/node_modules/lucide-react/dist/esm/icons/monitor.js +29 -0
  1085. package/dist/node_modules/lucide-react/dist/esm/icons/monitor.js.map +1 -0
  1086. package/dist/node_modules/posthog-js/dist/module.cjs +2 -2
  1087. package/dist/node_modules/posthog-js/dist/module.cjs.map +1 -1
  1088. package/dist/node_modules/posthog-js/dist/module.js +2055 -1929
  1089. package/dist/node_modules/posthog-js/dist/module.js.map +1 -1
  1090. package/dist/node_modules/react-i18next/dist/es/TransWithoutContext.cjs +1 -1
  1091. package/dist/node_modules/react-i18next/dist/es/TransWithoutContext.cjs.map +1 -1
  1092. package/dist/node_modules/react-i18next/dist/es/TransWithoutContext.js +43 -62
  1093. package/dist/node_modules/react-i18next/dist/es/TransWithoutContext.js.map +1 -1
  1094. package/dist/node_modules/react-i18next/dist/es/useTranslation.cjs +1 -1
  1095. package/dist/node_modules/react-i18next/dist/es/useTranslation.cjs.map +1 -1
  1096. package/dist/node_modules/react-i18next/dist/es/useTranslation.js +12 -6
  1097. package/dist/node_modules/react-i18next/dist/es/useTranslation.js.map +1 -1
  1098. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs +1 -1
  1099. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs.map +1 -1
  1100. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +352 -310
  1101. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -1
  1102. package/dist/package.cjs +1 -1
  1103. package/dist/package.cjs.map +1 -1
  1104. package/dist/package.js +34 -33
  1105. package/dist/package.js.map +1 -1
  1106. package/dist/routes/agent-settings.d.ts +3 -2
  1107. package/dist/routes/app-settings.d.ts +2 -1
  1108. package/dist/routes/browser-tab.d.ts +1 -1
  1109. package/dist/routes/changes-tab.d.ts +2 -1
  1110. package/dist/routes/commits-tab.d.ts +1 -1
  1111. package/dist/routes/conversation.d.ts +2 -1
  1112. package/dist/routes/files-tab.d.ts +1 -1
  1113. package/dist/routes/llm-settings.d.ts +3 -2
  1114. package/dist/routes/mcp.cjs +1 -1
  1115. package/dist/routes/mcp.cjs.map +1 -1
  1116. package/dist/routes/mcp.d.ts +2 -1
  1117. package/dist/routes/mcp.js +1 -1
  1118. package/dist/routes/mcp.js.map +1 -1
  1119. package/dist/routes/planner-tab.d.ts +2 -1
  1120. package/dist/routes/secrets-settings.d.ts +2 -1
  1121. package/dist/routes/task-list-tab.d.ts +1 -1
  1122. package/dist/services/settings.cjs +1 -1
  1123. package/dist/services/settings.cjs.map +1 -1
  1124. package/dist/services/settings.js +3 -7
  1125. package/dist/services/settings.js.map +1 -1
  1126. package/dist/types/agent-server/core/events/conversation-state-event.d.ts +2 -19
  1127. package/dist/types/agent-server/core/events/observation-event.d.ts +2 -18
  1128. package/dist/types/automation.d.ts +23 -4
  1129. package/dist/types/mcp-auth.cjs.map +1 -1
  1130. package/dist/types/mcp-auth.d.ts +5 -41
  1131. package/dist/types/mcp-auth.js.map +1 -1
  1132. package/dist/types/mcp-server.d.ts +17 -32
  1133. package/dist/types/settings.d.ts +8 -28
  1134. package/dist/ui/card-title.d.ts +1 -1
  1135. package/dist/ui/card.d.ts +1 -1
  1136. package/dist/ui/combobox-caret.d.ts +3 -3
  1137. package/dist/ui/context-menu.cjs +1 -1
  1138. package/dist/ui/context-menu.cjs.map +1 -1
  1139. package/dist/ui/context-menu.d.ts +3 -2
  1140. package/dist/ui/context-menu.js +10 -9
  1141. package/dist/ui/context-menu.js.map +1 -1
  1142. package/dist/ui/divider.d.ts +1 -1
  1143. package/dist/ui/dropdown/clear-button.d.ts +1 -1
  1144. package/dist/ui/dropdown/dropdown-input.d.ts +1 -1
  1145. package/dist/ui/dropdown/dropdown-menu.d.ts +1 -1
  1146. package/dist/ui/dropdown/dropdown.d.ts +1 -1
  1147. package/dist/ui/dropdown/loading-spinner.d.ts +1 -1
  1148. package/dist/ui/dropdown/toggle-button.d.ts +1 -1
  1149. package/dist/ui/help-link.d.ts +1 -1
  1150. package/dist/ui/pre.d.ts +1 -1
  1151. package/dist/ui/toggle-switch.d.ts +2 -2
  1152. package/dist/ui/typography.d.ts +7 -7
  1153. package/dist/utils/api-error-message.d.ts +6 -2
  1154. package/dist/utils/automation-activity-log-export.d.ts +17 -0
  1155. package/dist/utils/automation-catalog.cjs +2 -0
  1156. package/dist/utils/automation-catalog.cjs.map +1 -0
  1157. package/dist/utils/automation-catalog.d.ts +28 -0
  1158. package/dist/utils/automation-catalog.js +5 -0
  1159. package/dist/utils/automation-catalog.js.map +1 -0
  1160. package/dist/utils/automation-timeout.d.ts +5 -6
  1161. package/dist/utils/custom-toast-handlers.d.ts +2 -2
  1162. package/dist/utils/format-relative-time.d.ts +3 -0
  1163. package/dist/utils/mcp-config.cjs +1 -1
  1164. package/dist/utils/mcp-config.cjs.map +1 -1
  1165. package/dist/utils/mcp-config.d.ts +12 -29
  1166. package/dist/utils/mcp-config.js +161 -143
  1167. package/dist/utils/mcp-config.js.map +1 -1
  1168. package/dist/utils/mcp-installed-servers.cjs +1 -1
  1169. package/dist/utils/mcp-installed-servers.cjs.map +1 -1
  1170. package/dist/utils/mcp-installed-servers.d.ts +2 -2
  1171. package/dist/utils/mcp-installed-servers.js +21 -32
  1172. package/dist/utils/mcp-installed-servers.js.map +1 -1
  1173. package/dist/utils/mcp-server-health-key.cjs.map +1 -1
  1174. package/dist/utils/mcp-server-health-key.d.ts +2 -4
  1175. package/dist/utils/mcp-server-health-key.js.map +1 -1
  1176. package/dist/utils/responder-deployment.d.ts +5 -1
  1177. package/dist/utils/settings-like-page-layout-classes.cjs +1 -1
  1178. package/dist/utils/settings-like-page-layout-classes.cjs.map +1 -1
  1179. package/dist/utils/settings-like-page-layout-classes.d.ts +6 -2
  1180. package/dist/utils/settings-like-page-layout-classes.js +1 -1
  1181. package/dist/utils/settings-like-page-layout-classes.js.map +1 -1
  1182. package/dist/utils/skill-category.d.ts +12 -0
  1183. package/dist/utils/transcript-export/index.cjs +5 -5
  1184. package/dist/utils/transcript-export/index.js +12 -12
  1185. package/package.json +36 -33
  1186. package/scripts/check-sdk-version-sync.mjs +6 -6
  1187. package/scripts/check-translation-completeness.cjs +1 -0
  1188. package/scripts/dev-safe.mjs +17 -12
  1189. package/scripts/dev-static.mjs +17 -0
  1190. package/scripts/dev-with-automation.mjs +15 -16
  1191. package/scripts/ingress.mjs +22 -0
  1192. package/scripts/proxy-utils.mjs +157 -2
  1193. package/scripts/runtime-services-info.mjs +6 -6
  1194. package/scripts/static-build.mjs +0 -7
  1195. package/scripts/static-server.mjs +10 -0
  1196. package/build/assets/Trans-B7lYw4uD.js +0 -1
  1197. package/build/assets/active-backend-context-mY7Gff5c.js +0 -2
  1198. package/build/assets/agent-context-settings-BTUmWEzL.js +0 -1
  1199. package/build/assets/agent-profiles-settings-Ilqid_R5.js +0 -1
  1200. package/build/assets/agent-server-conversation-service.api-C_7YnjzP.js +0 -41
  1201. package/build/assets/agent-settings-CxfT4ksO.js +0 -1
  1202. package/build/assets/alert-banner-eRyIwDyU.js +0 -1
  1203. package/build/assets/automation-BGP_I1RR.js +0 -1
  1204. package/build/assets/automation-detail-nEflClmc.js +0 -2
  1205. package/build/assets/automation-export-BO_kfqC8.js +0 -2
  1206. package/build/assets/automations-list-BYncC7gv.js +0 -1
  1207. package/build/assets/backend-form-modal-CKrBF80P.js +0 -1
  1208. package/build/assets/browser-3QjrEr1D.js +0 -6
  1209. package/build/assets/check-CrxQfJZ2.js +0 -1
  1210. package/build/assets/chevron-down-D_LsyTA7.js +0 -1
  1211. package/build/assets/circle-check-DZn9HkLE.js +0 -1
  1212. package/build/assets/cloud-funnel-analytics-NlmDoeo2.js +0 -1
  1213. package/build/assets/command-menu-CvLPs7dg.js +0 -1
  1214. package/build/assets/condenser-settings-C4Y9CzQV.js +0 -1
  1215. package/build/assets/context-menu-list-item-FGaafXGh.js +0 -1
  1216. package/build/assets/conversation-D_ORtpKC.js +0 -1
  1217. package/build/assets/conversation-Dpc5nmGi.js +0 -90
  1218. package/build/assets/conversation-panel-D_ORtpKC.js +0 -1
  1219. package/build/assets/conversation-state-store-CGRQemtx.js +0 -1
  1220. package/build/assets/entry.client-BO2KQj0y.js +0 -2
  1221. package/build/assets/enum-filter-dropdown-DSqPZnsD.js +0 -1
  1222. package/build/assets/files-tab-4c9HFSLo.js +0 -1
  1223. package/build/assets/format-time-delta-DICE64sz.js +0 -1
  1224. package/build/assets/git-provider-icon-0PqmIS_S.js +0 -1
  1225. package/build/assets/home-D9JsyEmE.js +0 -1
  1226. package/build/assets/home-TFhnmZLx.js +0 -1
  1227. package/build/assets/index-home-D9JsyEmE.js +0 -1
  1228. package/build/assets/install-server-modal-BgGRnqA0.js +0 -1
  1229. package/build/assets/llm-not-configured-banner-Y4W9-sar.js +0 -27
  1230. package/build/assets/llm-settings-nPwv7hKu.js +0 -1
  1231. package/build/assets/loader-circle-CGD6-Vak.js +0 -1
  1232. package/build/assets/manifest-1cf33a7b.js +0 -1
  1233. package/build/assets/markdown-renderer-U40HF0Ak.js +0 -8
  1234. package/build/assets/mcp-xDMaHzOw.js +0 -9
  1235. package/build/assets/messages-CdNfZPgd.js +0 -40
  1236. package/build/assets/navigation-link-Bxmn-pCs.js +0 -1
  1237. package/build/assets/onboarding-DWuFieEA.js +0 -1
  1238. package/build/assets/onboarding-modal-C8m72Dpb.js +0 -1
  1239. package/build/assets/plus-CTGLo3aa.js +0 -1
  1240. package/build/assets/recommended-automations-launcher-Dru1yN46.js +0 -58
  1241. package/build/assets/root-B5JXKp1P.css +0 -1
  1242. package/build/assets/root-DOLLQteU.js +0 -2
  1243. package/build/assets/root-layout-xmylWoew.js +0 -3
  1244. package/build/assets/search-BrpWXWUi.js +0 -1
  1245. package/build/assets/segmented-toggle-CZKOdIly.js +0 -1
  1246. package/build/assets/settings-Chfn5xTD.js +0 -1
  1247. package/build/assets/settings-input-BEaTCem1.js +0 -1
  1248. package/build/assets/settings-like-page-layout-classes-DyxyJ0k4.js +0 -1
  1249. package/build/assets/settings-service.api-CTJRrvMu.js +0 -1
  1250. package/build/assets/shared-conversation-BvWtTwES.js +0 -1
  1251. package/build/assets/sidebar-mobile-menu-toggle-xiKoUfGa.js +0 -1
  1252. package/build/assets/skills-settings-pUxMr6WZ.js +0 -2
  1253. package/build/assets/use-agent-profiles-DmT9zxAN.js +0 -1
  1254. package/build/assets/use-config-C959QcRC.js +0 -1
  1255. package/build/assets/use-is-authed-BsS4XwSL.js +0 -1
  1256. package/build/assets/use-llm-profiles-CdaxVpyY.js +0 -1
  1257. package/build/assets/use-save-agent-profile-DGJ3-u0M.js +0 -1
  1258. package/build/assets/use-settings-nav-items-DPK5sxvR.js +0 -16
  1259. package/build/assets/use-skills-D_mLhYNa.js +0 -1
  1260. package/build/assets/use-tracking-COqZLobY.js +0 -1
  1261. package/build/assets/useQuery-B38jBavx.js +0 -1
  1262. package/build/assets/utils-DsWhWn2F.js +0 -1
  1263. package/build/assets/v4-DDdyfk2q.js +0 -1
  1264. package/build/assets/vendor~browser-CIoZCqGs.js +0 -47
  1265. package/build/assets/vendor~entry.client-BfviqoVc.js +0 -1
  1266. package/build/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~f1hl7voa-BrmgjeOw.js +0 -1
  1267. package/build/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~f9xdmd0z-DLMP7bZx.js +0 -26
  1268. package/build/assets/vendor~module-BZXjBMvd.js +0 -2
  1269. package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation-Acmf1sKj.js +0 -1
  1270. package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-CmzCY1BT.js +0 -1
  1271. package/build/assets/vendor~root-layout~index-home~home~mcp~automations-list~onboarding-modal-C7Yh77RT.js +0 -1
  1272. package/build/assets/x-Dx_JbpHA.js +0 -1
  1273. package/dist/components/features/skills/skill-type-filter.d.ts +0 -3
  1274. package/dist/components/features/skills/skills-type-filter-dropdown.d.ts +0 -7
  1275. package/dist/node_modules/html-parse-stringify/dist/html-parse-stringify.module.cjs +0 -2
  1276. package/dist/node_modules/html-parse-stringify/dist/html-parse-stringify.module.cjs.map +0 -1
  1277. package/dist/node_modules/html-parse-stringify/dist/html-parse-stringify.module.js +0 -81
  1278. package/dist/node_modules/html-parse-stringify/dist/html-parse-stringify.module.js.map +0 -1
  1279. package/dist/node_modules/void-elements/index.cjs +0 -2
  1280. package/dist/node_modules/void-elements/index.cjs.map +0 -1
  1281. package/dist/node_modules/void-elements/index.js +0 -25
  1282. package/dist/node_modules/void-elements/index.js.map +0 -1
@@ -0,0 +1,47 @@
1
+ import{a as e,c as t,i as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"./vendor~browser-C6uXH-dw.js";var u=class{constructor(e,t){this.protocol=e,this.data=t,this.events=new s}protocol;data;events},d=class extends t{frame;constructor(e,t){super(e,{}),this.frame=t}},f=class{emitter;constructor(){this.emitter=new s}async queue(e){await this.emitter.emitAsPromise(new d(`frame`,e))}on(e,t,n){this.emitter.on(e,t,n)}disable(){this.emitter.removeAllListeners()}};function p(e){let t=new URL(e.url);return t.protocol===`file:`||/(fonts\.googleapis\.com)/.test(t.hostname)||/node_modules/.test(t.pathname)||t.pathname.includes(`@vite`)?!0:/\.(s?css|less|m?jsx?|m?tsx?|html|ttf|otf|woff|woff2|eot|gif|jpe?g|png|avif|webp|svg|mp4|webm|ogg|mov|mp3|wav|ogg|flac|aac|pdf|txt|csv|json|xml|md|zip|tar|gz|rar|7z)$/i.test(t.pathname)}var m=`[MSW]`;function h(e,...t){return`${m} ${r(e,...t)}`}function g(e,...t){console.warn(h(e,...t))}function _(e,...t){console.error(h(e,...t))}var v={formatMessage:h,warn:g,error:_},y=class extends Error{constructor(e){super(e),this.name=`InternalError`}};function b(){if(typeof navigator<`u`&&navigator.product===`ReactNative`)return!0;if(typeof process<`u`){let e=process.type;return e===`renderer`||e===`worker`?!1:!!(process.versions&&process.versions.node)}return!1}var x=Object.defineProperty,S=(e,t)=>{for(var n in t)x(e,n,{get:t[n],enumerable:!0})},C={};S(C,{blue:()=>te,gray:()=>ne,green:()=>ie,red:()=>re,yellow:()=>ee});function ee(e){return`\x1B[33m${e}\x1B[0m`}function te(e){return`\x1B[34m${e}\x1B[0m`}function ne(e){return`\x1B[90m${e}\x1B[0m`}function re(e){return`\x1B[31m${e}\x1B[0m`}function ie(e){return`\x1B[32m${e}\x1B[0m`}var ae=b(),oe=class{constructor(e){this.name=e,this.prefix=`[${this.name}]`;let t=de(`DEBUG`),n=de(`LOG_LEVEL`);t===`1`||t===`true`||t!==void 0&&this.name.startsWith(t)?(this.debug=T(n,`debug`)?w:this.debug,this.info=T(n,`info`)?w:this.info,this.success=T(n,`success`)?w:this.success,this.warning=T(n,`warning`)?w:this.warning,this.error=T(n,`error`)?w:this.error):(this.info=w,this.success=w,this.warning=w,this.error=w,this.only=w)}prefix;extend(e){return new oe(`${this.name}:${e}`)}debug(e,...t){this.logEntry({level:`debug`,message:ne(e),positionals:t,prefix:this.prefix,colors:{prefix:`gray`}})}info(e,...t){this.logEntry({level:`info`,message:e,positionals:t,prefix:this.prefix,colors:{prefix:`blue`}});let n=new se;return(e,...t)=>{n.measure(),this.logEntry({level:`info`,message:`${e} ${ne(`${n.deltaTime}ms`)}`,positionals:t,prefix:this.prefix,colors:{prefix:`blue`}})}}success(e,...t){this.logEntry({level:`info`,message:e,positionals:t,prefix:`\u2714 ${this.prefix}`,colors:{timestamp:`green`,prefix:`green`}})}warning(e,...t){this.logEntry({level:`warning`,message:e,positionals:t,prefix:`\u26A0 ${this.prefix}`,colors:{timestamp:`yellow`,prefix:`yellow`}})}error(e,...t){this.logEntry({level:`error`,message:e,positionals:t,prefix:`\u2716 ${this.prefix}`,colors:{timestamp:`red`,prefix:`red`}})}only(e){e()}createEntry(e,t){return{timestamp:new Date,level:e,message:t}}logEntry(e){let{level:t,message:n,prefix:r,colors:i,positionals:a=[]}=e,o=this.createEntry(t,n),s=i?.timestamp||`gray`,c=i?.prefix||`gray`,l={timestamp:C[s],prefix:C[c]};this.getWriter(t)([l.timestamp(this.formatTimestamp(o.timestamp))].concat(r==null?[]:l.prefix(r),fe(n)).join(` `),...a.map(fe))}formatTimestamp(e){return`${e.toLocaleTimeString(`en-GB`)}:${e.getMilliseconds()}`}getWriter(e){switch(e){case`debug`:case`success`:case`info`:return ce;case`warning`:return le;case`error`:return ue}}},se=class{startTime;endTime;deltaTime;constructor(){this.startTime=performance.now()}measure(){this.endTime=performance.now();let e=this.endTime-this.startTime;this.deltaTime=e.toFixed(2)}},w=()=>void 0;function ce(e,...t){if(ae){process.stdout.write(r(e,...t)+`
2
+ `);return}console.log(e,...t)}function le(e,...t){if(ae){process.stderr.write(r(e,...t)+`
3
+ `);return}console.warn(e,...t)}function ue(e,...t){if(ae){process.stderr.write(r(e,...t)+`
4
+ `);return}console.error(e,...t)}function de(e){return ae?{}[e]:globalThis[e]?.toString()}function T(e,t){return e!==void 0&&e!==t}function fe(e){return e===void 0?`undefined`:e===null?`null`:typeof e==`string`?e:typeof e==`object`?JSON.stringify(e):e.toString()}function pe(e){return globalThis[e]||void 0}function me(e,t){globalThis[e]=t}function he(e){delete globalThis[e]}var E=function(e){return e.INACTIVE=`INACTIVE`,e.APPLYING=`APPLYING`,e.APPLIED=`APPLIED`,e.DISPOSING=`DISPOSING`,e.DISPOSED=`DISPOSED`,e}({}),ge=class{constructor(t){this.symbol=t,this.readyState=E.INACTIVE,this.emitter=new e,this.subscriptions=[],this.logger=new oe(t.description),this.emitter.setMaxListeners(0),this.logger.info(`constructing the interceptor...`)}checkEnvironment(){return!0}apply(){let e=this.logger.extend(`apply`);if(e.info(`applying the interceptor...`),this.readyState===E.APPLIED){e.info(`intercepted already applied!`);return}if(!this.checkEnvironment()){e.info(`the interceptor cannot be applied in this environment!`);return}this.readyState=E.APPLYING;let t=this.getInstance();if(t){e.info(`found a running instance, reusing...`),this.on=(n,r)=>(e.info(`proxying the "%s" listener`,n),t.emitter.addListener(n,r),this.subscriptions.push(()=>{t.emitter.removeListener(n,r),e.info(`removed proxied "%s" listener!`,n)}),this),this.readyState=E.APPLIED;return}e.info(`no running instance found, setting up a new instance...`),this.setup(),this.setInstance(),this.readyState=E.APPLIED}setup(){}on(e,t){let n=this.logger.extend(`on`);return this.readyState===E.DISPOSING||this.readyState===E.DISPOSED?(n.info(`cannot listen to events, already disposed!`),this):(n.info(`adding "%s" event listener:`,e,t),this.emitter.on(e,t),this)}once(e,t){return this.emitter.once(e,t),this}off(e,t){return this.emitter.off(e,t),this}removeAllListeners(e){return this.emitter.removeAllListeners(e),this}dispose(){let e=this.logger.extend(`dispose`);if(this.readyState===E.DISPOSED){e.info(`cannot dispose, already disposed!`);return}if(e.info(`disposing the interceptor...`),this.readyState=E.DISPOSING,!this.getInstance()){e.info(`no interceptors running, skipping dispose...`);return}if(this.clearInstance(),e.info(`global symbol deleted:`,pe(this.symbol)),this.subscriptions.length>0){e.info(`disposing of %d subscriptions...`,this.subscriptions.length);for(let e of this.subscriptions)e();this.subscriptions=[],e.info(`disposed of all subscriptions!`,this.subscriptions.length)}this.emitter.removeAllListeners(),e.info(`destroyed the listener!`),this.readyState=E.DISPOSED}getInstance(){let e=pe(this.symbol);return this.logger.info(`retrieved global instance:`,e?.constructor?.name),e}setInstance(){me(this.symbol,this),this.logger.info(`set global instance!`,this.symbol.description)}clearInstance(){he(this.symbol),this.logger.info(`cleared global instance!`,this.symbol.description)}};function _e(){return Math.random().toString(16).slice(2)}function ve(){let e=(t,n)=>{e.state=`pending`,e.resolve=n=>e.state===`pending`?(e.result=n,t(n instanceof Promise?n:Promise.resolve(n).then(t=>(e.state=`fulfilled`,t)))):void 0,e.reject=t=>{if(e.state===`pending`)return queueMicrotask(()=>{e.state=`rejected`}),n(e.rejectionReason=t)}};return e}var ye=class extends Promise{#e;resolve;reject;constructor(e=null){let t=ve();super((n,r)=>{t(n,r),e?.(t.resolve,t.reject)}),this.#e=t,this.resolve=this.#e.resolve,this.reject=this.#e.reject}get state(){return this.#e.state}get rejectionReason(){return this.#e.rejectionReason}then(e,t){return this.#t(super.then(e,t))}catch(e){return this.#t(super.catch(e))}finally(e){return this.#t(super.finally(e))}#t(e){return Object.defineProperties(e,{resolve:{configurable:!0,value:this.resolve},reject:{configurable:!0,value:this.reject}})}},be=class e extends Error{constructor(t){super(t),this.name=`InterceptorError`,Object.setPrototypeOf(this,e.prototype)}};(class e{static{this.PENDING=0}static{this.PASSTHROUGH=1}static{this.RESPONSE=2}static{this.ERROR=3}constructor(t,n){this.request=t,this.source=n,this.readyState=e.PENDING,this.handled=new ye}get#e(){return this.handled}async passthrough(){l.as(be,this.readyState===e.PENDING,`Failed to passthrough the "%s %s" request: the request has already been handled`,this.request.method,this.request.url),this.readyState=e.PASSTHROUGH,await this.source.passthrough(),this.#e.resolve()}respondWith(t){l.as(be,this.readyState===e.PENDING,`Failed to respond to the "%s %s" request with "%d %s": the request has already been handled (%d)`,this.request.method,this.request.url,t.status,t.statusText||`OK`,this.readyState),this.readyState=e.RESPONSE,this.#e.resolve(),this.source.respondWith(t)}errorWith(t){l.as(be,this.readyState===e.PENDING,`Failed to error the "%s %s" request with "%s": the request has already been handled (%d)`,this.request.method,this.request.url,t?.toString(),this.readyState),this.readyState=e.ERROR,this.source.errorWith(t),this.#e.resolve()}});function xe(e){try{return new URL(e),!0}catch{return!1}}function Se(e,t){let n=Object.getOwnPropertySymbols(t).find(t=>t.description===e);if(n)return Reflect.get(t,n)}var Ce=Symbol(`kStatus`),we=Symbol(`kUrl`),Te=class e extends Response{static{this.STATUS_CODES_WITHOUT_BODY=[101,103,204,205,304]}static{this.STATUS_CODES_WITH_REDIRECT=[301,302,303,307,308]}static isConfigurableStatusCode(e){return e>=200&&e<=599}static isRedirectResponse(t){return e.STATUS_CODES_WITH_REDIRECT.includes(t)}static isResponseWithBody(t){return!e.STATUS_CODES_WITHOUT_BODY.includes(t)}static setStatus(e,t){let n=Se(`state`,t);n?n.status=e:Object.defineProperty(t,"status",{value:e,enumerable:!0,configurable:!0,writable:!1}),Object.defineProperty(t,Ce,{value:e,enumerable:!1})}static setUrl(e,t){if(!e||e===`about:`||!xe(e))return;let n=Se(`state`,t);n?n.urlList.push(new URL(e)):Object.defineProperty(t,"url",{value:e,enumerable:!0,configurable:!0,writable:!1}),Object.defineProperty(t,we,{value:e,enumerable:!1})}static parseRawHeaders(e){let t=new Headers;for(let n=0;n<e.length;n+=2)t.append(e[n],e[n+1]);return t}static clone(e){try{return e.clone()}catch(e){return Response.json(e instanceof Error?{name:e.name,message:e.message,stack:e.stack}:{},{status:500,statusText:`Unclonable Response`})}}constructor(t,n={}){let r=n.status??200,i=e.isConfigurableStatusCode(r)?r:200,a=e.isResponseWithBody(r)?t:null;super(a,{status:i,statusText:n.statusText,headers:n.headers}),r!==i&&e.setStatus(r,this),e.setUrl(n.url,this)}clone(){let t=super.clone(),n=Reflect.get(this,Ce);n&&e.setStatus(n,t);let r=Reflect.get(this,we);return r&&e.setUrl(r,t),t}};new TextEncoder;function Ee(e){if(typeof e==`string`)return Ee(new URL(e,typeof location<`u`?location.href:void 0));if(e.protocol===`http:`?e.protocol=`ws:`:e.protocol===`https:`&&(e.protocol=`wss:`),e.protocol!==`ws:`&&e.protocol!==`wss:`)throw SyntaxError(`Failed to construct 'WebSocket': The URL's scheme must be either 'http', 'https', 'ws', or 'wss'. '${e.protocol}' is not allowed.`);if(e.hash!==``)throw SyntaxError(`Failed to construct 'WebSocket': The URL contains a fragment identifier ('${e.hash}'). Fragment identifiers are not allowed in WebSocket URLs.`);return e.href}var De=class e extends ge{constructor(t){e.symbol=Symbol.for(t.name),super(e.symbol),this.interceptors=t.interceptors}setup(){let e=this.logger.extend(`setup`);e.info(`applying all %d interceptors...`,this.interceptors.length);for(let t of this.interceptors)e.info(`applying "%s" interceptor...`,t.constructor.name),t.apply(),e.info(`adding interceptor dispose subscription`),this.subscriptions.push(()=>t.dispose())}on(e,t){for(let n of this.interceptors)n.on(e,t);return this}once(e,t){for(let n of this.interceptors)n.once(e,t);return this}off(e,t){for(let n of this.interceptors)n.off(e,t);return this}removeAllListeners(e){for(let t of this.interceptors)t.removeAllListeners(e);return this}};function Oe(e,t=!0){return[t&&e.origin,e.pathname].filter(Boolean).join(``)}function ke(e){let t=e instanceof URL?e:new URL(e);return typeof location<`u`&&t.origin===location.origin?t.pathname:t.origin+t.pathname}var Ae=/[^a-z0-9\-#$%&'*+.^_`|~]/i;function je(e){if(Ae.test(e)||e.trim()===``)throw TypeError(`Invalid character in header field name`);return e.trim().toLowerCase()}var Me=[`
5
+ `,`\r`,` `,` `],Ne=RegExp(`(^[${Me.join(``)}]|$[${Me.join(``)}])`,`g`);function Pe(e){return e.replace(Ne,``)}function Fe(e){if(typeof e!=`string`||e.length===0)return!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n>127||!Ie(n))return!1}return!0}function Ie(e){return![127,32,`(`,`)`,`<`,`>`,`@`,`,`,`;`,`:`,`\\`,`"`,`/`,`[`,`]`,`?`,`=`,`{`,`}`].includes(e)}function Le(e){if(typeof e!=`string`||e.trim()!==e)return!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n===0||n===10||n===13)return!1}return!0}var Re,D=Symbol(`normalizedHeaders`),ze=Symbol(`rawHeaderNames`),Be=`, `,Ve=class e{constructor(t){this[D]={},this[ze]=new Map,this[Re]=`Headers`,[`Headers`,`HeadersPolyfill`].includes(t?.constructor?.name)||t instanceof e||globalThis.Headers!==void 0&&t instanceof globalThis.Headers?t.forEach((e,t)=>{this.append(t,e)},this):Array.isArray(t)?t.forEach(([e,t])=>{this.append(e,Array.isArray(t)?t.join(Be):t)}):t&&Object.getOwnPropertyNames(t).forEach(e=>{let n=t[e];this.append(e,Array.isArray(n)?n.join(Be):n)})}[(Re=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}*entries(){let e=Object.keys(this[D]).sort((e,t)=>e.localeCompare(t));for(let t of e)if(t===`set-cookie`)for(let e of this.getSetCookie())yield[t,e];else yield[t,this.get(t)]}has(e){if(!Fe(e))throw TypeError(`Invalid header name "${e}"`);return this[D].hasOwnProperty(je(e))}get(e){if(!Fe(e))throw TypeError(`Invalid header name "${e}"`);return this[D][je(e)]??null}set(e,t){if(!Fe(e)||!Le(t))return;let n=je(e),r=Pe(t);this[D][n]=Pe(r),this[ze].set(n,e)}append(e,t){if(!Fe(e)||!Le(t))return;let n=je(e),r=Pe(t),i=this.has(n)?`${this.get(n)}, ${r}`:r;this.set(e,i)}delete(e){if(!Fe(e)||!this.has(e))return;let t=je(e);delete this[D][t],this[ze].delete(t)}forEach(e,t){for(let[n,r]of this.entries())e.call(t,r,n,this)}getSetCookie(){let e=this.get(`set-cookie`);return e===null?[]:e===``?[``]:n(e)}},He=/[/\\]msw[/\\]src[/\\](.+)/,Ue=/(node_modules)?[/\\]lib[/\\](core|browser|node|native|iife)[/\\]|^[^/\\]*$/;function We(e){let t=e.stack;if(!t)return;let n=t.split(`
6
+ `).slice(1).find(e=>!(He.test(e)||Ue.test(e)));if(n)return n.replace(/\s*at [^()]*\(([^)]+)\)/,`$1`).replace(/^@/,``)}function Ge(e){return e?Reflect.has(e,Symbol.iterator)||Reflect.has(e,Symbol.asyncIterator):!1}var Ke=Object.create,qe=Object.defineProperty,Je=Object.getOwnPropertyDescriptor,Ye=Object.getOwnPropertyNames,Xe=Object.getPrototypeOf,Ze=Object.prototype.hasOwnProperty,Qe=(e,t)=>function(){return t||(0,e[Ye(e)[0]])((t={exports:{}}).exports,t),t.exports},$e=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of Ye(t))!Ze.call(e,i)&&i!==n&&qe(e,i,{get:()=>t[i],enumerable:!(r=Je(t,i))||r.enumerable});return e},et=(e,t,n)=>(n=e==null?{}:Ke(Xe(e)),$e(t||!e||!e.__esModule?qe(n,`default`,{value:e,enumerable:!0}):n,e)),tt=Qe({"node_modules/.pnpm/statuses@2.0.2/node_modules/statuses/codes.json"(e,t){t.exports={100:`Continue`,101:`Switching Protocols`,102:`Processing`,103:`Early Hints`,200:`OK`,201:`Created`,202:`Accepted`,203:`Non-Authoritative Information`,204:`No Content`,205:`Reset Content`,206:`Partial Content`,207:`Multi-Status`,208:`Already Reported`,226:`IM Used`,300:`Multiple Choices`,301:`Moved Permanently`,302:`Found`,303:`See Other`,304:`Not Modified`,305:`Use Proxy`,307:`Temporary Redirect`,308:`Permanent Redirect`,400:`Bad Request`,401:`Unauthorized`,402:`Payment Required`,403:`Forbidden`,404:`Not Found`,405:`Method Not Allowed`,406:`Not Acceptable`,407:`Proxy Authentication Required`,408:`Request Timeout`,409:`Conflict`,410:`Gone`,411:`Length Required`,412:`Precondition Failed`,413:`Payload Too Large`,414:`URI Too Long`,415:`Unsupported Media Type`,416:`Range Not Satisfiable`,417:`Expectation Failed`,418:`I'm a Teapot`,421:`Misdirected Request`,422:`Unprocessable Entity`,423:`Locked`,424:`Failed Dependency`,425:`Too Early`,426:`Upgrade Required`,428:`Precondition Required`,429:`Too Many Requests`,431:`Request Header Fields Too Large`,451:`Unavailable For Legal Reasons`,500:`Internal Server Error`,501:`Not Implemented`,502:`Bad Gateway`,503:`Service Unavailable`,504:`Gateway Timeout`,505:`HTTP Version Not Supported`,506:`Variant Also Negotiates`,507:`Insufficient Storage`,508:`Loop Detected`,509:`Bandwidth Limit Exceeded`,510:`Not Extended`,511:`Network Authentication Required`}}}),nt=et(Qe({"node_modules/.pnpm/statuses@2.0.2/node_modules/statuses/index.js"(e,t){var n=tt();t.exports=s,s.message=n,s.code=r(n),s.codes=i(n),s.redirect={300:!0,301:!0,302:!0,303:!0,305:!0,307:!0,308:!0},s.empty={204:!0,205:!0,304:!0},s.retry={502:!0,503:!0,504:!0};function r(e){var t={};return Object.keys(e).forEach(function(n){var r=e[n],i=Number(n);t[r.toLowerCase()]=i}),t}function i(e){return Object.keys(e).map(function(e){return Number(e)})}function a(e){var t=e.toLowerCase();if(!Object.prototype.hasOwnProperty.call(s.code,t))throw Error(`invalid status message: "`+e+`"`);return s.code[t]}function o(e){if(!Object.prototype.hasOwnProperty.call(s.message,e))throw Error(`invalid status code: `+e);return s.message[e]}function s(e){if(typeof e==`number`)return o(e);if(typeof e!=`string`)throw TypeError(`code must be a number or string`);var t=parseInt(e,10);return isNaN(t)?a(e):o(t)}}})(),1),rt=nt.default||nt;rt.message;var it=rt,{message:at}=it,ot=Symbol(`kSetCookie`);function O(e={}){let t=e?.status||200,n=e?.statusText||at[t]||``,r=new Headers(e?.headers);return{...e,headers:r,status:t,statusText:n}}function st(e,t){t.type&&Object.defineProperty(e,"type",{value:t.type,enumerable:!0,writable:!1});let n=t.headers.get(`set-cookie`);return n&&Object.defineProperty(e,ot,{value:n,enumerable:!1,writable:!1}),e}function ct(e){return Reflect.get(e,ot)}function lt(e,t){for(let n of Reflect.ownKeys(e)){let r=Object.getOwnPropertyDescriptor(e,n);r&&Object.getOwnPropertyDescriptor(t,n)==null&&Object.defineProperty(t,n,r)}}var ut=Symbol(`bodyType`),k=Symbol.for(`kDefaultContentType`),dt=class e extends Te{[ut]=null;constructor(e,t){let n=O(t);super(e,n),st(this,n)}static error(){return super.error()}static text(t,n){let r=O(n),i=r.headers.has(`Content-Type`);i||r.headers.set(`Content-Type`,`text/plain`),r.headers.has(`Content-Length`)||r.headers.set(`Content-Length`,t?new Blob([t]).size.toString():`0`);let a=new e(t,r);return i||Object.defineProperty(a,k,{value:!0,enumerable:!1}),a}static json(t,n){let r=O(n),i=r.headers.has(`Content-Type`);i||r.headers.set(`Content-Type`,`application/json`);let a=JSON.stringify(t);r.headers.has(`Content-Length`)||r.headers.set(`Content-Length`,a?new Blob([a]).size.toString():`0`);let o=new e(a,r);return i||Object.defineProperty(o,k,{value:!0,enumerable:!1}),o}static xml(t,n){let r=O(n),i=r.headers.has(`Content-Type`);i||r.headers.set(`Content-Type`,`text/xml`);let a=new e(t,r);return i||Object.defineProperty(a,k,{value:!0,enumerable:!1}),a}static html(t,n){let r=O(n),i=r.headers.has(`Content-Type`);i||r.headers.set(`Content-Type`,`text/html`);let a=new e(t,r);return i||Object.defineProperty(a,k,{value:!0,enumerable:!1}),a}static arrayBuffer(t,n){let r=O(n),i=r.headers.has(`Content-Type`);i||r.headers.set(`Content-Type`,`application/octet-stream`),t&&!r.headers.has(`Content-Length`)&&r.headers.set(`Content-Length`,t.byteLength.toString());let a=new e(t,r);return i||Object.defineProperty(a,k,{value:!0,enumerable:!1}),a}static formData(t,n){return new e(t,O(n))}};function ft(){let e=((t,n)=>{e.state=`pending`,e.resolve=n=>e.state===`pending`?(e.result=n,t(n instanceof Promise?n:Promise.resolve(n).then(t=>(e.state=`fulfilled`,t)))):void 0,e.reject=t=>{if(e.state===`pending`)return queueMicrotask(()=>{e.state=`rejected`}),n(e.rejectionReason=t)}});return e}var pt=class extends Promise{#e;resolve;reject;constructor(e=null){let t=ft();super((n,r)=>{t(n,r),e?.(t.resolve,t.reject)}),this.#e=t,this.resolve=this.#e.resolve,this.reject=this.#e.reject}get state(){return this.#e.state}get rejectionReason(){return this.#e.rejectionReason}then(e,t){return this.#t(super.then(e,t))}catch(e){return this.#t(super.catch(e))}finally(e){return this.#t(super.finally(e))}#t(e){return Object.defineProperties(e,{resolve:{configurable:!0,value:this.resolve},reject:{configurable:!0,value:this.reject}})}};function mt(e){if(e.body==null||e.bodyUsed||e.body.locked)return null;let t=new pt,n=e.body.getReader(),r=new Te(new ReadableStream({async pull(e){try{let r=await n.read();if(r.done){t.resolve(),e.close();return}e.enqueue(r.value)}catch(e){throw t.resolve(),e}},async cancel(e){t.resolve(),await n.cancel(e)}}),{status:e.status,statusText:e.statusText,headers:e.headers});return lt(e,r),{response:r,settled:t}}var ht=class e{static cache=new WeakMap;kind=`request`;resolver;resolverIterator;resolverIteratorResult;resolverIteratorCleanups;options;scheduledCleanups;info;isUsed;constructor(e){this.resolver=e.resolver,this.options=e.options,this.scheduledCleanups=new Map;let t=We(Error());this.info={...e.info,callFrame:t},this.isUsed=!1}reset(){this.scheduledCleanups.clear();let e=this.resolverIterator;this.resolverIterator=void 0,this.resolverIteratorResult=void 0,this.resolverIteratorCleanups=void 0,typeof e?.return==`function`&&Promise.resolve(e.return())}restore(){this.options?.once&&(this.reset(),this.isUsed=!1)}async parse(e){return{}}async test(e){let t=await this.parse({request:e.request,resolutionContext:e.resolutionContext});return this.predicate({request:e.request,parsedResult:t,resolutionContext:e.resolutionContext})}extendResolverArgs(e){return{}}cloneRequestOrGetFromCache(t){let n=e.cache.get(t);if(n!==void 0)return n;let r=t.clone();return e.cache.set(t,r),r}async run(e){if(this.isUsed&&this.options?.once)return null;let t=this.cloneRequestOrGetFromCache(e.request),n=await this.parse({request:e.request,resolutionContext:e.resolutionContext});if(!await this.predicate({request:e.request,parsedResult:n,resolutionContext:e.resolutionContext})||this.isUsed&&this.options?.once)return null;this.isUsed=!0;let r=this.wrapResolver(this.resolver),i=this.extendResolverArgs({request:e.request,parsedResult:n}),a=new AbortController,o,s=()=>(o??=(e.request.signal.aborted||e.request.signal.addEventListener(`abort`,()=>this.runScheduledCleanups(e.requestId),{once:!0,signal:a.signal}),t=>{this.scheduleCleanup(e.requestId,t),e.request.signal.aborted&&this.runScheduledCleanups(e.requestId)}),o),c=await r({...i,get finalize(){return s()},requestId:e.requestId,request:e.request}).catch(e=>{if(e instanceof Response)return e;throw e}).finally(()=>{a.abort()});return c&&gt(c),this.createExecutionResult({request:t,requestId:e.requestId,response:c,parsedResult:n})}wrapResolver(e){return async t=>{if(!this.resolverIterator){let n;try{n=await e(t)}catch(e){throw await this.runScheduledCleanups(t.requestId),e}if(!Ge(n))return this.complete({request:t.request,requestId:t.requestId,response:n});let r=this.scheduledCleanups.get(t.requestId);r!=null&&r.length>0&&(this.resolverIteratorCleanups=r,this.scheduledCleanups.delete(t.requestId)),this.resolverIterator=Symbol.iterator in n?n[Symbol.iterator]():n[Symbol.asyncIterator]()}this.isUsed=!1;let{done:n,value:r}=await this.resolverIterator.next(),i=await r;return i&&(this.resolverIteratorResult=i.clone()),n?(this.isUsed=!0,this.complete({request:t.request,requestId:t.requestId,response:this.resolverIteratorResult?.clone()})):i}}createExecutionResult(e){return{handler:this,request:e.request,requestId:e.requestId,response:e.response,parsedResult:e.parsedResult}}scheduleCleanup(e,t){if(this.resolverIterator){(this.resolverIteratorCleanups||=[]).unshift(t);return}let n=this.scheduledCleanups.get(e)||[];n.unshift(t),this.scheduledCleanups.set(e,n)}async exhaustCleanups(e){let t=[];for(let n of e)try{await n()}catch(e){e instanceof Error&&t.push(e)}t.length>0&&v.error(`Failed to execute cleanup for request handler "%s"`,this.info.header,AggregateError(t,`Failed to execute cleanup for request handler "${this.info.header}"`))}takeScheduledCleanups(e){if(this.resolverIterator&&this.resolverIteratorCleanups!=null&&this.resolverIteratorCleanups.length>0){let e=this.resolverIteratorCleanups;return this.resolverIteratorCleanups=void 0,e}let t=this.scheduledCleanups.get(e);if(!(!t||t.length===0))return this.scheduledCleanups.delete(e),t}async runScheduledCleanups(e){let t=this.takeScheduledCleanups(e);t&&await this.exhaustCleanups(t)}async complete(e){let t=this.takeScheduledCleanups(e.requestId);if(!t)return e.response;let n=e.response?mt(e.response):null;if(!n)return await this.exhaustCleanups(t),e.response;let r=new AbortController,i=()=>{r.signal.aborted||(r.abort(),this.exhaustCleanups(t))};return n.settled.then(i),e.request.signal.aborted?i():e.request.signal.addEventListener(`abort`,i,{once:!0,signal:r.signal}),n.response}};function gt(e){if(typeof document>`u`)return;let t=ct(e);if(!t)return;let n=Ve.prototype.getSetCookie.call(new Headers([[`set-cookie`,t]]));for(let e of n)document.cookie=e}var _t=async({request:e,requestId:t,handlers:n,resolutionContext:r})=>{let i=null,a=null;for(let o of n)if(a=await o.run({request:e,requestId:t,resolutionContext:r}),a!==null&&(i=o),a?.response)break;return i?{handler:i,parsedResult:a?.parsedResult,response:a?.response}:null};function vt(e){try{return JSON.parse(e)}catch{return}}var yt=new class{#e=`__msw-cookie-store__`;#t;#n;constructor(){b()||l(typeof localStorage<`u`,"Failed to create a CookieStore: `localStorage` is not available in this environment. This is likely an issue with your environment, which has been detected as browser (or browser-like) environment and must implement global browser APIs correctly."),this.#n=new o,this.#n.idx=this.getCookieStoreIndex(),this.#t=new i(this.#n)}getCookies(e){return this.#t.getCookiesSync(e)}async setCookie(e,t){await this.#t.setCookie(e,t),this.persist()}getCookieStoreIndex(){if(typeof localStorage>`u`||typeof localStorage.getItem!=`function`)return{};let e=localStorage.getItem(this.#e);if(e==null)return{};let t=vt(e);if(t==null)return{};let n={};for(let e of t){let t=c.fromJSON(e);t!=null&&t.domain!=null&&t.path!=null&&(n[t.domain]||={},n[t.domain][t.path]||={},n[t.domain][t.path][t.key]=t)}return n}persist(){if(typeof localStorage>`u`||typeof localStorage.setItem!=`function`)return;let e=[],{idx:t}=this.#n;for(let n in t)for(let r in t[n])for(let i in t[n][r])e.push(t[n][r][i].toJSON());localStorage.setItem(this.#e,JSON.stringify(e))}};async function bt(e,t){let n=ct(t);n&&await yt.setCookie(n,e.url)}function xt(e){return!!e.headers.get(`accept`)?.includes(`msw/passthrough`)}function St(e){return e.status===302&&e.headers.get(`x-msw-intention`)===`passthrough`}function Ct(e){let t=e.headers.get(`accept`);if(t){let n=t.replace(/(,\s+)?msw\/passthrough/,``);n?e.headers.set(`accept`,n):e.headers.delete(`accept`)}}function wt(e){for(var t=[],n=0;n<e.length;){var r=e[n];if(r===`*`||r===`+`||r===`?`){t.push({type:`MODIFIER`,index:n,value:e[n++]});continue}if(r===`\\`){t.push({type:`ESCAPED_CHAR`,index:n++,value:e[n++]});continue}if(r===`{`){t.push({type:`OPEN`,index:n,value:e[n++]});continue}if(r===`}`){t.push({type:`CLOSE`,index:n,value:e[n++]});continue}if(r===`:`){for(var i=``,a=n+1;a<e.length;){var o=e.charCodeAt(a);if(o>=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122||o===95){i+=e[a++];continue}break}if(!i)throw TypeError(`Missing parameter name at ${n}`);t.push({type:`NAME`,index:n,value:i}),n=a;continue}if(r===`(`){var s=1,c=``,a=n+1;if(e[a]===`?`)throw TypeError(`Pattern cannot start with "?" at ${a}`);for(;a<e.length;){if(e[a]===`\\`){c+=e[a++]+e[a++];continue}if(e[a]===`)`){if(s--,s===0){a++;break}}else if(e[a]===`(`&&(s++,e[a+1]!==`?`))throw TypeError(`Capturing groups are not allowed at ${a}`);c+=e[a++]}if(s)throw TypeError(`Unbalanced pattern at ${n}`);if(!c)throw TypeError(`Missing pattern at ${n}`);t.push({type:`PATTERN`,index:n,value:c}),n=a;continue}t.push({type:`CHAR`,index:n,value:e[n++]})}return t.push({type:`END`,index:n,value:``}),t}function Tt(e,t){t===void 0&&(t={});for(var n=wt(e),r=t.prefixes,i=r===void 0?`./`:r,a=t.delimiter,o=a===void 0?`/#?`:a,s=[],c=0,l=0,u=``,d=function(e){if(l<n.length&&n[l].type===e)return n[l++].value},f=function(e){var t=d(e);if(t!==void 0)return t;var r=n[l],i=r.type,a=r.index;throw TypeError(`Unexpected ${i} at ${a}, expected ${e}`)},p=function(){for(var e=``,t;t=d(`CHAR`)||d(`ESCAPED_CHAR`);)e+=t;return e},m=function(e){for(var t=0,n=o;t<n.length;t++){var r=n[t];if(e.indexOf(r)>-1)return!0}return!1},h=function(e){var t=s[s.length-1],n=e||(t&&typeof t==`string`?t:``);if(t&&!n)throw TypeError(`Must have text between two parameters, missing text after "${t.name}"`);return!n||m(n)?`[^${A(o)}]+?`:`(?:(?!${A(n)})[^${A(o)}])+?`};l<n.length;){var g=d(`CHAR`),_=d(`NAME`),v=d(`PATTERN`);if(_||v){var y=g||``;i.indexOf(y)===-1&&(u+=y,y=``),u&&=(s.push(u),``),s.push({name:_||c++,prefix:y,suffix:``,pattern:v||h(y),modifier:d(`MODIFIER`)||``});continue}var b=g||d(`ESCAPED_CHAR`);if(b){u+=b;continue}if(u&&=(s.push(u),``),d(`OPEN`)){var y=p(),x=d(`NAME`)||``,S=d(`PATTERN`)||``,C=p();f(`CLOSE`),s.push({name:x||(S?c++:``),pattern:x&&!S?h(y):S,prefix:y,suffix:C,modifier:d(`MODIFIER`)||``});continue}f(`END`)}return s}function Et(e,t){var n=[];return Dt(Nt(e,n,t),n,t)}function Dt(e,t,n){n===void 0&&(n={});var r=n.decode,i=r===void 0?function(e){return e}:r;return function(n){var r=e.exec(n);if(!r)return!1;for(var a=r[0],o=r.index,s=Object.create(null),c=function(e){if(r[e]===void 0)return`continue`;var n=t[e-1];n.modifier===`*`||n.modifier===`+`?s[n.name]=r[e].split(n.prefix+n.suffix).map(function(e){return i(e,n)}):s[n.name]=i(r[e],n)},l=1;l<r.length;l++)c(l);return{path:a,index:o,params:s}}}function A(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,`\\$1`)}function Ot(e){return e&&e.sensitive?``:`i`}function kt(e,t){if(!t)return e;for(var n=/\((?:\?<(.*?)>)?(?!\?)/g,r=0,i=n.exec(e.source);i;)t.push({name:i[1]||r++,prefix:``,suffix:``,modifier:``,pattern:``}),i=n.exec(e.source);return e}function At(e,t,n){var r=e.map(function(e){return Nt(e,t,n).source});return RegExp(`(?:${r.join(`|`)})`,Ot(n))}function jt(e,t,n){return Mt(Tt(e,n),t,n)}function Mt(e,t,n){n===void 0&&(n={});for(var r=n.strict,i=r===void 0?!1:r,a=n.start,o=a===void 0?!0:a,s=n.end,c=s===void 0?!0:s,l=n.encode,u=l===void 0?function(e){return e}:l,d=n.delimiter,f=d===void 0?`/#?`:d,p=n.endsWith,m=`[${A(p===void 0?``:p)}]|\$`,h=`[${A(f)}]`,g=o?`^`:``,_=0,v=e;_<v.length;_++){var y=v[_];if(typeof y==`string`)g+=A(u(y));else{var b=A(u(y.prefix)),x=A(u(y.suffix));if(y.pattern)if(t&&t.push(y),b||x)if(y.modifier===`+`||y.modifier===`*`){var S=y.modifier===`*`?`?`:``;g+=`(?:${b}((?:${y.pattern})(?:${x}${b}(?:${y.pattern}))*)${x})${S}`}else g+=`(?:${b}(${y.pattern})${x})${y.modifier}`;else{if(y.modifier===`+`||y.modifier===`*`)throw TypeError(`Can not repeat "${y.name}" without a prefix and suffix`);g+=`(${y.pattern})${y.modifier}`}else g+=`(?:${b}${x})${y.modifier}`}}if(c)i||(g+=`${h}?`),g+=n.endsWith?`(?=${m})`:`$`;else{var C=e[e.length-1],ee=typeof C==`string`?h.indexOf(C[C.length-1])>-1:C===void 0;i||(g+=`(?:${h}(?=${m}))?`),ee||(g+=`(?=${h}|${m})`)}return new RegExp(g,Ot(n))}function Nt(e,t,n){return e instanceof RegExp?kt(e,t):Array.isArray(e)?At(e,t,n):jt(e,t,n)}var Pt=/[?|#].*$/g;function Ft(e){return e.endsWith(`?`)?e:e.replace(Pt,``)}function It(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function Lt(e,t){if(It(e)||e.startsWith(`*`))return e;let n=t||typeof location<`u`&&location.href;return n?decodeURI(new URL(encodeURI(e),n).href):e}function Rt(e,t){return e instanceof RegExp?e:Ft(Lt(e,t))}function zt(e){return e.replace(/([:a-zA-Z_-]*)(\*{1,2})+/g,(e,t,n)=>{let r=`(.*)`;return t?t.startsWith(`:`)?`${t}${n}`:`${t}${r}`:r}).replace(/([^/])(:)(?=(?:\d+|\(\.\*\))(?=\/|$))/,`$1\\$2`).replace(/^([^/]+)(:)(?=\/\/)/,`$1\\$2`)}function Bt(e,t,n){let r=Rt(t,n),i=typeof r==`string`?zt(r):r,a=Oe(e),o=Et(i,{decode:decodeURIComponent})(a),s=o&&o.params||{};return{matches:o!==!1,params:s}}function Vt(e){let t=new Date,n=`${t.getHours().toString().padStart(2,`0`)}:${t.getMinutes().toString().padStart(2,`0`)}:${t.getSeconds().toString().padStart(2,`0`)}`;return e?.milliseconds?`${n}.${t.getMilliseconds().toString().padStart(3,`0`)}`:n}function Ht(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var Ut=Symbol(`kConnect`),Wt=Symbol(`kAutoConnect`),Gt=Symbol(`kSiblingHandlers`);function Kt(e){return Reflect.get(e,Gt)||[]}function qt(e){let t={},n=(e,n)=>{let r=t[e]||=[];r.includes(n)||r.push(n)};for(let t of e){n(t.kind,t);for(let e of Kt(t))n(e.kind,e)}return t}var Jt=class{getInitialState(e){l(this.#e(e),v.formatMessage(`Failed to apply given request handlers: invalid input. Did you forget to spread the request handlers Array?`));let t=qt(e);return{initialHandlers:t,handlers:{...t}}}currentHandlers(){return Object.values(this.getState().handlers).flat().filter(e=>e!=null)}getHandlersByKind(e){return this.getState().handlers[e]||[]}use(e){if(l(this.#e(e),v.formatMessage(`[MSW] Failed to call "use()" with the given request handlers: invalid input. Did you forget to spread the array of request handlers?`)),e.length===0)return;let{handlers:t}=this.getState(),n=qt(e);for(let e in n){let r=n[e],i=t[e];t[e]=i?[...r,...i]:r}this.setState({handlers:t})}reset(e){l(e.length>0?this.#e(e):!0,v.formatMessage(`Failed to replace initial handlers during reset: invalid handlers. Did you forget to spread the handlers array?`));for(let e of this.currentHandlers())`reset`in e&&e.reset();let{initialHandlers:t}=this.getState();if(e.length===0){this.setState({handlers:{...t}});return}let n=qt(e);this.setState({initialHandlers:n,handlers:{...n}})}restore(){for(let e of this.currentHandlers())`restore`in e&&e.restore()}#e(e){return e.every(e=>!Array.isArray(e))}},Yt=class extends Jt{#e;#t;constructor(e){super();let t=this.getInitialState(e);this.#t=t.initialHandlers,this.#e=t.handlers}getState(){return{initialHandlers:this.#t,handlers:this.#e}}setState(e){e.initialHandlers&&(this.#t=e.initialHandlers),e.handlers&&(this.#e=e.handlers)}},j=class extends t{requestId;request;constructor(e,t){super(e,{}),this.requestId=t.requestId,this.request=t.request}},Xt=class extends t{requestId;request;response;constructor(e,t){super(e,{}),this.requestId=t.requestId,this.request=t.request,this.response=t.response}},Zt=class extends t{error;requestId;request;constructor(e,t){super(e,{}),this.error=t.error,this.requestId=t.requestId,this.request=t.request}},Qt=class extends u{constructor(e){let t=e.id||_e();super(`http`,{id:t,request:e.request})}getHandlers(e){return e.getHandlersByKind(`request`)}async getUnhandledMessage(){let{request:e}=this.data,t=new URL(e.url),n=ke(t)+t.search,r=e.body==null?null:await e.clone().text();return`intercepted a request without a matching request handler:${`
7
+
8
+ \u2022 ${e.method} ${n}
9
+
10
+ ${r?` \u2022 Request body: ${r}
11
+
12
+ `:``}`}If you still wish to intercept this unhandled request, please create a request handler for it.
13
+ Read more: https://mswjs.io/docs/http/intercepting-requests`}async resolve(e,t,n){let{id:r,request:i}=this.data,o=n?.quiet?null:i.clone();if(this.events.emit(new j(`request:start`,{requestId:r,request:i})),xt(i))return this.events.emit(new j(`request:end`,{requestId:r,request:i})),this.passthrough(),null;let[s,c]=await a(()=>_t({requestId:r,request:i,handlers:e,resolutionContext:{baseUrl:n?.baseUrl?.toString(),quiet:n?.quiet}}));if(s!=null)return this.events.emit(new Zt(`unhandledException`,{error:s,requestId:r,request:i}))||(console.error(s),v.error(`Encountered an unhandled exception during the handler lookup for "%s %s". Please see the original error above.`,i.method,i.url)),this.errorWith(s),null;if(c==null)return this.events.emit(new j(`request:unhandled`,{requestId:r,request:i})),await $t(this,t).then(()=>this.passthrough(),e=>this.errorWith(e)),this.events.emit(new j(`request:end`,{requestId:r,request:i})),!1;let{response:l,handler:u,parsedResult:d}=c;if(this.events.emit(new j(`request:match`,{requestId:r,request:i})),l==null||St(l))return this.events.emit(new j(`request:end`,{requestId:r,request:i})),this.passthrough(),null;let f=n?.quiet?null:l.clone();return await bt(i,l),this.respondWith(l),this.events.emit(new j(`request:end`,{requestId:r,request:i})),n?.quiet||u.log({request:o,response:f,parsedResult:d}),!0}};async function $t(e,t){let n=async t=>{if(t===`bypass`)return;let n=await e.getUnhandledMessage();switch(t){case`warn`:return v.warn(`Warning: %s`,n);case`error`:return v.error(`Error: %s`,n)}},r=async e=>{if(l.as(y,e===`bypass`||e===`warn`||e===`error`,v.formatMessage(`Failed to react to an unhandled network frame: unknown strategy "%s". Please provide one of the supported strategies ("bypass", "warn", "error") or a custom callback function as the value of the "onUnhandledRequest" option.`,e)),e!==`bypass`&&(await n(e),e===`error`))return Promise.reject(new y(v.formatMessage(`Cannot bypass a request when using the "error" strategy for the "onUnhandledRequest" option.`)))};if(typeof t==`function`)return t({frame:e,defaults:{warn:n.bind(null,`warn`),error:n.bind(null,`error`)}});if(!(e instanceof Qt&&p(e.data.request)))return r(t)}function en(e){let t=[...e];return Object.freeze(t),t}var tn=class{subscriptions=[];dispose(){let e,t=[];for(;e=this.subscriptions.shift();)try{e()}catch(e){e instanceof Error&&t.push(e)}t.length>0&&console.error(AggregateError(t,v.formatMessage(`Failed to dispose of some side effects. This is likely an issue with MSW, please report it on GitHub: https://github.com/mswjs/msw/issues`)))}};function nn(e){let t=[];for(let n of e)n instanceof Promise&&t.push(n);if(t.length>0)return Promise.all(t).then(()=>{})}var rn=(e=>(e[e.DISABLED=0]=`DISABLED`,e[e.ENABLED=1]=`ENABLED`,e))(rn||{});function an(e){let t=0,n=new s,r=new tn,i=e=>e instanceof Jt?e:new Yt(e||[]),a={...e},o=i(a.handlers);return{get readyState(){return t},events:n,configure(e){l(t===0,`Failed to call "configure()" on the network: cannot configure an already enabled network.`),e.handlers&&!Object.is(e.handlers,a.handlers)&&(o=i(e.handlers)),a={...a,...e}},enable(){l(t===0,`Failed to call "enable" on the network: already enabled`),t=1;let e={active:!0};return r.subscriptions.push(()=>{e.active=!1}),nn(a.sources.map(t=>(f.prototype.disable.call(t),t.on(`frame`,async({frame:t})=>{t.events.on(`*`,t=>{e.active&&n.emit(t)});let r=t.getHandlers(o);await t.resolve(r,a.onUnhandledFrame||`warn`,a.context)}),t.enable())))},disable(){return l(t===1,`Failed to call "disable" on the network: already disabled`),t=0,r.dispose(),nn(a.sources.map(e=>e.disable()))},use(...e){o.use(e)},resetHandlers(...e){o.reset(e)},restoreHandlers(){o.restore()},listHandlers(){return en(o.currentHandlers())}}}async function on(e,t,...n){let r=e.listeners(t);if(r.length!==0)for(let t of r)await t.apply(e,n)}var sn=new class{#e=new Map;applyPatch(e,t,n){let r=this.#e.get(e);l(!r?.has(t),`Failed to replace a global value at "${String(t)}": already replaced.`);let i=cn(e,t);if(i===void 0)return console.warn(`Failed to replace a global value at "${String(t)}": not a global value.`),()=>{};if(i.descriptor.configurable)Object.defineProperty(e,t,{value:n(e[t]),enumerable:!0,configurable:!0});else if(i.descriptor.writable)e[t]=n(e[t]);else throw Error(`Failed to patch a non-configurable non-writable property "${t.toString()}"`);let a=()=>{let n=this.#e.get(e);n?.has(t)&&(i.owner===e?Object.defineProperty(i.owner,t,i.descriptor):Reflect.deleteProperty(e,t),n.delete(t),n.size===0&&this.#e.delete(e))};return r?r.set(t,a):this.#e.set(e,new Map([[t,a]])),a}restoreAllPatches(){let e=[];for(let[,t]of this.#e)for(let[,n]of t)try{n()}catch(t){if(t instanceof Error)e.push(t);else throw t}if(e.length>0)throw AggregateError(e,`FOO!`)}};function cn(e,t){let n=e,r;for(;n;){if(r=Object.getOwnPropertyDescriptor(n,t),r)return{owner:n,descriptor:r};n=Object.getPrototypeOf(n)}}function ln(e){let t=cn(globalThis,e);if(t===void 0)return!1;let{descriptor:n}=t;return typeof n.get==`function`&&n.get()===void 0||n.get===void 0&&n.value==null?!1:n.set===void 0&&!n.configurable?(console.error(`[MSW] Failed to apply interceptor: the global \`${e}\` property is non-configurable. This is likely an issue with your environment. If you are using a framework, please open an issue about this in their repository.`),!1):!0}function M(e,t){return Object.defineProperties(t,{target:{value:e,enumerable:!0,writable:!0},currentTarget:{value:e,enumerable:!0,writable:!0}}),t}var N=Symbol(`kCancelable`),P=Symbol(`kDefaultPrevented`),un=class extends MessageEvent{constructor(e,t){super(e,t),this[N]=!!t.cancelable,this[P]=!1}get cancelable(){return this[N]}set cancelable(e){this[N]=e}get defaultPrevented(){return this[P]}set defaultPrevented(e){this[P]=e}preventDefault(){this.cancelable&&!this[P]&&(this[P]=!0)}},dn=class extends Event{constructor(e,t={}){super(e,t),this.code=t.code===void 0?0:t.code,this.reason=t.reason===void 0?``:t.reason,this.wasClean=t.wasClean===void 0?!1:t.wasClean}},fn=class extends dn{constructor(e,t={}){super(e,t),this[N]=!!t.cancelable,this[P]=!1}get cancelable(){return this[N]}set cancelable(e){this[N]=e}get defaultPrevented(){return this[P]}set defaultPrevented(e){this[P]=e}preventDefault(){this.cancelable&&!this[P]&&(this[P]=!0)}},pn=Symbol(`kEmitter`),mn=Symbol(`kBoundListener`),hn=class{constructor(e,t){this.socket=e,this.transport=t,this.id=_e(),this.url=new URL(e.url),this[pn]=new EventTarget,this.transport.addEventListener(`outgoing`,e=>{let t=M(this.socket,new un(`message`,{data:e.data,origin:e.origin,cancelable:!0}));this[pn].dispatchEvent(t),t.defaultPrevented&&e.preventDefault()}),this.transport.addEventListener(`close`,e=>{this[pn].dispatchEvent(M(this.socket,new dn(`close`,e)))})}addEventListener(e,t,n){if(!Reflect.has(t,mn)){let e=t.bind(this.socket);Object.defineProperty(t,mn,{value:e,enumerable:!1,configurable:!1})}this[pn].addEventListener(e,Reflect.get(t,mn),n)}removeEventListener(e,t,n){this[pn].removeEventListener(e,Reflect.get(t,mn),n)}send(e){this.transport.send(e)}close(e,t){this.transport.close(e,t)}},gn=`InvalidAccessError: close code out of user configurable range`,_n=Symbol(`kPassthroughPromise`),vn=Symbol(`kOnSend`),yn=Symbol(`kClose`),bn=class extends EventTarget{static{this.CONNECTING=0}static{this.OPEN=1}static{this.CLOSING=2}static{this.CLOSED=3}constructor(e,t){super(),this.CONNECTING=0,this.OPEN=1,this.CLOSING=2,this.CLOSED=3,this._onopen=null,this._onmessage=null,this._onerror=null,this._onclose=null,this.url=Ee(e),this.protocol=``,this.extensions=``,this.binaryType=`blob`,this.readyState=this.CONNECTING,this.bufferedAmount=0,this[_n]=new ye,queueMicrotask(async()=>{await this[_n]||(this.protocol=typeof t==`string`?t:Array.isArray(t)&&t.length>0?t[0]:``,this.readyState===this.CONNECTING&&(this.readyState=this.OPEN,this.dispatchEvent(M(this,new Event(`open`)))))})}set onopen(e){this.removeEventListener(`open`,this._onopen),this._onopen=e,e!==null&&this.addEventListener(`open`,e)}get onopen(){return this._onopen}set onmessage(e){this.removeEventListener(`message`,this._onmessage),this._onmessage=e,e!==null&&this.addEventListener(`message`,e)}get onmessage(){return this._onmessage}set onerror(e){this.removeEventListener(`error`,this._onerror),this._onerror=e,e!==null&&this.addEventListener(`error`,e)}get onerror(){return this._onerror}set onclose(e){this.removeEventListener(`close`,this._onclose),this._onclose=e,e!==null&&this.addEventListener(`close`,e)}get onclose(){return this._onclose}send(e){if(this.readyState===this.CONNECTING)throw this.close(),new DOMException(`InvalidStateError`);this.readyState===this.CLOSING||this.readyState===this.CLOSED||(this.bufferedAmount+=xn(e),queueMicrotask(()=>{this.bufferedAmount=0,this[vn]?.(e)}))}close(e=1e3,t){l(e,gn),l(e===1e3||e>=3e3&&e<=4999,gn),this[yn](e,t)}[yn](e=1e3,t,n=!0){this.readyState===this.CLOSING||this.readyState===this.CLOSED||(this.readyState=this.CLOSING,queueMicrotask(()=>{this.readyState=this.CLOSED,this.dispatchEvent(M(this,new dn(`close`,{code:e,reason:t,wasClean:n}))),this._onopen=null,this._onmessage=null,this._onerror=null,this._onclose=null}))}addEventListener(e,t,n){return super.addEventListener(e,t,n)}removeEventListener(e,t,n){return super.removeEventListener(e,t,n)}};function xn(e){return typeof e==`string`?e.length:e instanceof Blob?e.size:e.byteLength}var F=Symbol(`kEmitter`),Sn=Symbol(`kBoundListener`),Cn=Symbol(`kSend`),wn=class{constructor(e,t,n){this.client=e,this.transport=t,this.createConnection=n,this[F]=new EventTarget,this.mockCloseController=new AbortController,this.realCloseController=new AbortController,this.transport.addEventListener(`outgoing`,e=>{this.realWebSocket!==void 0&&queueMicrotask(()=>{e.defaultPrevented||this[Cn](e.data)})}),this.transport.addEventListener(`incoming`,this.handleIncomingMessage.bind(this))}get socket(){return l(this.realWebSocket,'Cannot access "socket" on the original WebSocket server object: the connection is not open. Did you forget to call `server.connect()`?'),this.realWebSocket}connect(){l(!this.realWebSocket||this.realWebSocket.readyState!==WebSocket.OPEN,`Failed to call "connect()" on the original WebSocket instance: the connection already open`);let e=this.createConnection();e.binaryType=this.client.binaryType,e.addEventListener(`open`,e=>{this[F].dispatchEvent(M(this.realWebSocket,new Event(`open`,e)))},{once:!0}),e.addEventListener(`message`,e=>{this.transport.dispatchEvent(M(this.realWebSocket,new MessageEvent(`incoming`,{data:e.data,origin:e.origin})))}),this.client.addEventListener(`close`,e=>{this.handleMockClose(e)},{signal:this.mockCloseController.signal}),e.addEventListener(`close`,e=>{this.handleRealClose(e)},{signal:this.realCloseController.signal}),e.addEventListener(`error`,()=>{let t=M(e,new Event(`error`,{cancelable:!0}));this[F].dispatchEvent(t),t.defaultPrevented||this.client.dispatchEvent(M(this.client,new Event(`error`)))}),this.realWebSocket=e}addEventListener(e,t,n){if(!Reflect.has(t,Sn)){let e=t.bind(this.client);Object.defineProperty(t,Sn,{value:e,enumerable:!1})}this[F].addEventListener(e,Reflect.get(t,Sn),n)}removeEventListener(e,t,n){this[F].removeEventListener(e,Reflect.get(t,Sn),n)}send(e){this[Cn](e)}[Cn](e){let{realWebSocket:t}=this;if(l(t,`Failed to call "server.send()" for "%s": the connection is not open. Did you forget to call "server.connect()"?`,this.client.url),!(t.readyState===WebSocket.CLOSING||t.readyState===WebSocket.CLOSED)){if(t.readyState===WebSocket.CONNECTING){t.addEventListener(`open`,()=>{t.send(e)},{once:!0});return}t.send(e)}}close(){let{realWebSocket:e}=this;l(e,`Failed to close server connection for "%s": the connection is not open. Did you forget to call "server.connect()"?`,this.client.url),this.realCloseController.abort(),!(e.readyState===WebSocket.CLOSING||e.readyState===WebSocket.CLOSED)&&(e.close(),queueMicrotask(()=>{this[F].dispatchEvent(M(this.realWebSocket,new fn(`close`,{code:1e3,cancelable:!0})))}))}handleIncomingMessage(e){let t=M(e.target,new un(`message`,{data:e.data,origin:e.origin,cancelable:!0}));this[F].dispatchEvent(t),t.defaultPrevented||this.client.dispatchEvent(M(this.client,new MessageEvent(`message`,{data:e.data,origin:e.origin})))}handleMockClose(e){this.realWebSocket&&this.realWebSocket.close()}handleRealClose(e){this.mockCloseController.abort();let t=M(this.realWebSocket,new fn(`close`,{code:e.code,reason:e.reason,wasClean:e.wasClean,cancelable:!0}));this[F].dispatchEvent(t),t.defaultPrevented||this.client[yn](e.code,e.reason)}},Tn=class extends EventTarget{constructor(e){super(),this.socket=e,this.socket.addEventListener(`close`,e=>{this.dispatchEvent(M(this.socket,new dn(`close`,e)))}),this.socket[vn]=e=>{this.dispatchEvent(M(this.socket,new un(`outgoing`,{data:e,origin:this.socket.url,cancelable:!0})))}}addEventListener(e,t,n){return super.addEventListener(e,t,n)}dispatchEvent(e){return super.dispatchEvent(e)}send(e){queueMicrotask(()=>{if(this.socket.readyState===this.socket.CLOSING||this.socket.readyState===this.socket.CLOSED)return;let t=()=>{this.socket.dispatchEvent(M(this.socket,new MessageEvent(`message`,{data:e,origin:this.socket.url})))};this.socket.readyState===this.socket.CONNECTING?this.socket.addEventListener(`open`,()=>{t()},{once:!0}):t()})}close(e,t){this.socket[yn](e,t)}};(class e extends ge{static{this.symbol=Symbol.for(`websocket-interceptor`)}constructor(){super(e.symbol)}checkEnvironment(){return ln(`WebSocket`)}setup(){let e=this.logger.extend(`setup`),t=new Proxy(globalThis.WebSocket,{construct:(e,t,n)=>{let[r,i]=t,a=()=>Reflect.construct(e,t,n),o=new bn(r,i),s=new Tn(o);return queueMicrotask(async()=>{try{let e=new wn(o,s,a),t=this.emitter.listenerCount(`connection`)>0;await on(this.emitter,`connection`,{client:new hn(o,s),server:e,info:{protocols:i}}),t?o[_n].resolve(!1):(o[_n].resolve(!0),e.connect(),e.addEventListener(`open`,()=>{o.dispatchEvent(M(o,new Event(`open`))),e.realWebSocket&&(o.protocol=e.realWebSocket.protocol)}))}catch(e){e instanceof Error&&(o.dispatchEvent(new Event(`error`)),o.readyState!==WebSocket.CLOSING&&o.readyState!==WebSocket.CLOSED&&o[yn](1011,e.message,!1),console.error(e))}}),o}});e.info(`patching global WebSocket...`),this.subscriptions.push(sn.applyPatch(globalThis,`WebSocket`,()=>t)),e.info(`global WebSocket patched!`,globalThis.WebSocket.name)}});var En=class extends t{url;protocols;constructor(e,t){super(e,{}),this.url=t.url,this.protocols=t.protocols}},Dn=class extends t{url;protocols;error;constructor(e,t){super(e,{}),this.url=t.url,this.protocols=t.protocols,this.error=t.error}},On=class extends u{constructor(e){super(`ws`,{connection:e.connection})}getHandlers(e){return e.getHandlersByKind(`websocket`)}async resolve(e,t,n){let{connection:r}=this.data;if(this.events.emit(new En(`connection`,{url:r.client.url,protocols:r.info.protocols})),e.length===0)return await $t(this,t).then(()=>this.passthrough(),e=>this.errorWith(e)),!1;let i=!1;for(let t of e){let e=await t.run(r,{baseUrl:n?.baseUrl?.toString(),[Wt]:!1});if(!e)continue;i=!0;let a=n?.quiet?void 0:t.log(r);try{t[Ut](e)||a?.()}catch(e){throw this.events.emit(new Dn(`unhandledException`,{error:e,url:r.client.url,protocols:r.info.protocols}))||(console.error(e),v.error(`Encountered an unhandled exception during the handler lookup for "%s". Please see the original error above.`,r.client.url)),e}}return i?!0:(await $t(this,t).then(()=>this.passthrough(),e=>this.errorWith(e)),!1)}async getUnhandledMessage(){let{connection:e}=this.data;return`intercepted a WebSocket connection without a matching event handler:${`
14
+
15
+ \u2022 ${e.client.url}
16
+
17
+ `}If you still wish to intercept this unhandled connection, please create an event handler for it.
18
+ Read more: https://mswjs.io/docs/websocket`}},kn=class extends f{#e;#t;constructor(e){super(),this.#e=new De({name:`interceptor-source`,interceptors:e.interceptors}),this.#t=new Map}enable(){this.#e.apply(),this.#e.on(`request`,this.#n.bind(this)).on(`response`,this.#r.bind(this)).on(`connection`,this.#i.bind(this))}disable(){super.disable(),this.#e.dispose(),this.#t.clear()}async#n({requestId:e,request:t,controller:n}){let r=new An({id:e,request:t,controller:n});this.#t.set(e,r),await this.queue(r)}async#r({requestId:e,request:t,response:n,isMockedResponse:r}){let i=this.#t.get(e);this.#t.delete(e),i!=null&&queueMicrotask(()=>{try{i.events.emit(new Xt(r?`response:mocked`:`response:bypass`,{requestId:e,request:t,response:n}))}finally{i.events.removeAllListeners()}})}async#i(e){await this.queue(new jn({connection:e}))}},An=class extends Qt{#e;constructor(e){super({id:e.id,request:e.request}),this.#e=e.controller}passthrough(){Ct(this.data.request)}respondWith(e){e&&this.#e.respondWith(e)}errorWith(e){if(e instanceof Response)return this.respondWith(e);throw e instanceof y&&this.#e.errorWith(e),e}},jn=class extends On{constructor(e){super({connection:e.connection}),e.connection.client.addEventListener(`close`,()=>{this.events.removeAllListeners()},{once:!0})}errorWith(e){if(e instanceof Error){let{client:t}=this.data.connection,n=new Event(`error`);Object.defineProperty(n,"cause",{enumerable:!0,configurable:!1,value:e}),t.socket.dispatchEvent(n)}}passthrough(){this.data.connection.server.connect()}};function Mn(e){return({frame:t,defaults:n})=>{let r=e();if(r!=null){if(typeof r==`function`){let e=t instanceof Qt?t.data.request:t instanceof On?new Request(t.data.connection.client.url,{headers:{connection:`upgrade`,upgrade:`websocket`}}):null;return l(e!=null,'Failed to coerce a network frame to a legacy `onUnhandledRequest` strategy: unknown frame protocol "%s"',t.protocol),r(e,{warning:n.warn,error:n.error})}return $t(t,r)}}}function Nn(e){return{status:e.status,statusText:e.statusText,headers:Object.fromEntries(e.headers.entries())}}var Pn=/(%?)(%([sdijo]))/g;function Fn(e,t){switch(t){case`s`:return e;case`d`:case`i`:return Number(e);case`j`:return JSON.stringify(e);case`o`:{if(typeof e==`string`)return e;let t=JSON.stringify(e);return t===`{}`||t===`[]`||/^\[object .+?\]$/.test(t)?e:t}}}function I(e,...t){if(t.length===0)return e;let n=0,r=e.replace(Pn,(e,r,i,a)=>{let o=t[n],s=Fn(o,a);return r?e:(n++,s)});return n<t.length&&(r+=` ${t.slice(n).join(` `)}`),r=r.replace(/%{2,2}/g,`%`),r}var In=2;function Ln(e){if(!e.stack)return;let t=e.stack.split(`
19
+ `);t.splice(1,In),e.stack=t.join(`
20
+ `)}var Rn=class extends Error{constructor(e,...t){super(e),this.message=e,this.name=`Invariant Violation`,this.message=I(e,...t),Ln(this)}},L=(e,t,...n)=>{if(!e)throw new Rn(t,...n)};L.as=(e,t,n,...r)=>{if(!t){let t=r.length===0?n:I(n,...r),i;try{i=Reflect.construct(e,[t])}catch{i=e(t)}throw i}};function zn(){if(typeof navigator<`u`&&navigator.product===`ReactNative`)return!0;if(typeof process<`u`){let e=process.type;return e===`renderer`||e===`worker`?!1:!!(process.versions&&process.versions.node)}return!1}var Bn=Object.defineProperty,Vn=(e,t)=>{for(var n in t)Bn(e,n,{get:t[n],enumerable:!0})},Hn={};Vn(Hn,{blue:()=>Wn,gray:()=>Gn,green:()=>qn,red:()=>Kn,yellow:()=>Un});function Un(e){return`\x1B[33m${e}\x1B[0m`}function Wn(e){return`\x1B[34m${e}\x1B[0m`}function Gn(e){return`\x1B[90m${e}\x1B[0m`}function Kn(e){return`\x1B[31m${e}\x1B[0m`}function qn(e){return`\x1B[32m${e}\x1B[0m`}var Jn=zn(),Yn=class{constructor(e){this.name=e,this.prefix=`[${this.name}]`;let t=er(`DEBUG`),n=er(`LOG_LEVEL`);t===`1`||t===`true`||t!==void 0&&this.name.startsWith(t)?(this.debug=z(n,`debug`)?R:this.debug,this.info=z(n,`info`)?R:this.info,this.success=z(n,`success`)?R:this.success,this.warning=z(n,`warning`)?R:this.warning,this.error=z(n,`error`)?R:this.error):(this.info=R,this.success=R,this.warning=R,this.error=R,this.only=R)}prefix;extend(e){return new Yn(`${this.name}:${e}`)}debug(e,...t){this.logEntry({level:`debug`,message:Gn(e),positionals:t,prefix:this.prefix,colors:{prefix:`gray`}})}info(e,...t){this.logEntry({level:`info`,message:e,positionals:t,prefix:this.prefix,colors:{prefix:`blue`}});let n=new Xn;return(e,...t)=>{n.measure(),this.logEntry({level:`info`,message:`${e} ${Gn(`${n.deltaTime}ms`)}`,positionals:t,prefix:this.prefix,colors:{prefix:`blue`}})}}success(e,...t){this.logEntry({level:`info`,message:e,positionals:t,prefix:`\u2714 ${this.prefix}`,colors:{timestamp:`green`,prefix:`green`}})}warning(e,...t){this.logEntry({level:`warning`,message:e,positionals:t,prefix:`\u26A0 ${this.prefix}`,colors:{timestamp:`yellow`,prefix:`yellow`}})}error(e,...t){this.logEntry({level:`error`,message:e,positionals:t,prefix:`\u2716 ${this.prefix}`,colors:{timestamp:`red`,prefix:`red`}})}only(e){e()}createEntry(e,t){return{timestamp:new Date,level:e,message:t}}logEntry(e){let{level:t,message:n,prefix:r,colors:i,positionals:a=[]}=e,o=this.createEntry(t,n),s=i?.timestamp||`gray`,c=i?.prefix||`gray`,l={timestamp:Hn[s],prefix:Hn[c]};this.getWriter(t)([l.timestamp(this.formatTimestamp(o.timestamp))].concat(r==null?[]:l.prefix(r),tr(n)).join(` `),...a.map(tr))}formatTimestamp(e){return`${e.toLocaleTimeString(`en-GB`)}:${e.getMilliseconds()}`}getWriter(e){switch(e){case`debug`:case`success`:case`info`:return Zn;case`warning`:return Qn;case`error`:return $n}}},Xn=class{startTime;endTime;deltaTime;constructor(){this.startTime=performance.now()}measure(){this.endTime=performance.now();let e=this.endTime-this.startTime;this.deltaTime=e.toFixed(2)}},R=()=>void 0;function Zn(e,...t){if(Jn){process.stdout.write(I(e,...t)+`
21
+ `);return}console.log(e,...t)}function Qn(e,...t){if(Jn){process.stderr.write(I(e,...t)+`
22
+ `);return}console.warn(e,...t)}function $n(e,...t){if(Jn){process.stderr.write(I(e,...t)+`
23
+ `);return}console.error(e,...t)}function er(e){return Jn?{}[e]:globalThis[e]?.toString()}function z(e,t){return e!==void 0&&e!==t}function tr(e){return e===void 0?`undefined`:e===null?`null`:typeof e==`string`?e:typeof e==`object`?JSON.stringify(e):e.toString()}var nr=class extends Error{constructor(e,t,n){super(`Possible EventEmitter memory leak detected. ${n} ${t.toString()} listeners added. Use emitter.setMaxListeners() to increase limit`),this.emitter=e,this.type=t,this.count=n,this.name=`MaxListenersExceededWarning`}},rr=class{static listenerCount(e,t){return e.listenerCount(t)}constructor(){this.events=new Map,this.maxListeners=rr.defaultMaxListeners,this.hasWarnedAboutPotentialMemoryLeak=!1}_emitInternalEvent(e,t,n){this.emit(e,t,n)}_getListeners(e){return Array.prototype.concat.apply([],this.events.get(e))||[]}_removeListener(e,t){let n=e.indexOf(t);return n>-1&&e.splice(n,1),[]}_wrapOnceListener(e,t){let n=(...r)=>(this.removeListener(e,n),t.apply(this,r));return Object.defineProperty(n,"name",{value:t.name}),n}setMaxListeners(e){return this.maxListeners=e,this}getMaxListeners(){return this.maxListeners}eventNames(){return Array.from(this.events.keys())}emit(e,...t){let n=this._getListeners(e);return n.forEach(e=>{e.apply(this,t)}),n.length>0}addListener(e,t){this._emitInternalEvent(`newListener`,e,t);let n=this._getListeners(e).concat(t);if(this.events.set(e,n),this.maxListeners>0&&this.listenerCount(e)>this.maxListeners&&!this.hasWarnedAboutPotentialMemoryLeak){this.hasWarnedAboutPotentialMemoryLeak=!0;let t=new nr(this,e,this.listenerCount(e));console.warn(t)}return this}on(e,t){return this.addListener(e,t)}once(e,t){return this.addListener(e,this._wrapOnceListener(e,t))}prependListener(e,t){let n=this._getListeners(e);if(n.length>0){let r=[t].concat(n);this.events.set(e,r)}else this.events.set(e,n.concat(t));return this}prependOnceListener(e,t){return this.prependListener(e,this._wrapOnceListener(e,t))}removeListener(e,t){let n=this._getListeners(e);return n.length>0&&(this._removeListener(n,t),this.events.set(e,n),this._emitInternalEvent(`removeListener`,e,t)),this}off(e,t){return this.removeListener(e,t)}removeAllListeners(e){return e?this.events.delete(e):this.events.clear(),this}listeners(e){return Array.from(this._getListeners(e))}listenerCount(e){return this._getListeners(e).length}rawListeners(e){return this.listeners(e)}},ir=rr;ir.defaultMaxListeners=10;var ar=`x-interceptors-internal-request-id`;function or(e){return globalThis[e]||void 0}function sr(e,t){globalThis[e]=t}function cr(e){delete globalThis[e]}var B=(function(e){return e.INACTIVE=`INACTIVE`,e.APPLYING=`APPLYING`,e.APPLIED=`APPLIED`,e.DISPOSING=`DISPOSING`,e.DISPOSED=`DISPOSED`,e})({}),lr=class{constructor(e){this.symbol=e,this.readyState=B.INACTIVE,this.emitter=new ir,this.subscriptions=[],this.logger=new Yn(e.description),this.emitter.setMaxListeners(0),this.logger.info(`constructing the interceptor...`)}checkEnvironment(){return!0}apply(){let e=this.logger.extend(`apply`);if(e.info(`applying the interceptor...`),this.readyState===B.APPLIED){e.info(`intercepted already applied!`);return}if(!this.checkEnvironment()){e.info(`the interceptor cannot be applied in this environment!`);return}this.readyState=B.APPLYING;let t=this.getInstance();if(t){e.info(`found a running instance, reusing...`),this.on=(n,r)=>(e.info(`proxying the "%s" listener`,n),t.emitter.addListener(n,r),this.subscriptions.push(()=>{t.emitter.removeListener(n,r),e.info(`removed proxied "%s" listener!`,n)}),this),this.readyState=B.APPLIED;return}e.info(`no running instance found, setting up a new instance...`),this.setup(),this.setInstance(),this.readyState=B.APPLIED}setup(){}on(e,t){let n=this.logger.extend(`on`);return this.readyState===B.DISPOSING||this.readyState===B.DISPOSED?(n.info(`cannot listen to events, already disposed!`),this):(n.info(`adding "%s" event listener:`,e,t),this.emitter.on(e,t),this)}once(e,t){return this.emitter.once(e,t),this}off(e,t){return this.emitter.off(e,t),this}removeAllListeners(e){return this.emitter.removeAllListeners(e),this}dispose(){let e=this.logger.extend(`dispose`);if(this.readyState===B.DISPOSED){e.info(`cannot dispose, already disposed!`);return}if(e.info(`disposing the interceptor...`),this.readyState=B.DISPOSING,!this.getInstance()){e.info(`no interceptors running, skipping dispose...`);return}if(this.clearInstance(),e.info(`global symbol deleted:`,or(this.symbol)),this.subscriptions.length>0){e.info(`disposing of %d subscriptions...`,this.subscriptions.length);for(let e of this.subscriptions)e();this.subscriptions=[],e.info(`disposed of all subscriptions!`,this.subscriptions.length)}this.emitter.removeAllListeners(),e.info(`destroyed the listener!`),this.readyState=B.DISPOSED}getInstance(){let e=or(this.symbol);return this.logger.info(`retrieved global instance:`,e?.constructor?.name),e}setInstance(){sr(this.symbol,this),this.logger.info(`set global instance!`,this.symbol.description)}clearInstance(){cr(this.symbol),this.logger.info(`cleared global instance!`,this.symbol.description)}};function ur(){return Math.random().toString(16).slice(2)}function dr(e){if(typeof e==`string`)return dr(new URL(e,typeof location<`u`?location.href:void 0));if(e.protocol===`http:`?e.protocol=`ws:`:e.protocol===`https:`&&(e.protocol=`wss:`),e.protocol!==`ws:`&&e.protocol!==`wss:`)throw SyntaxError(`Failed to construct 'WebSocket': The URL's scheme must be either 'http', 'https', 'ws', or 'wss'. '${e.protocol}' is not allowed.`);if(e.hash!==``)throw SyntaxError(`Failed to construct 'WebSocket': The URL contains a fragment identifier ('${e.hash}'). Fragment identifiers are not allowed in WebSocket URLs.`);return e.href}async function V(e,t,...n){let r=e.listeners(t);if(r.length!==0)for(let t of r)await t.apply(e,n)}var fr=new class{#e=new Map;applyPatch(e,t,n){let r=this.#e.get(e);L(!r?.has(t),`Failed to replace a global value at "${String(t)}": already replaced.`);let i=pr(e,t);if(i===void 0)return console.warn(`Failed to replace a global value at "${String(t)}": not a global value.`),()=>{};if(i.descriptor.configurable)Object.defineProperty(e,t,{value:n(e[t]),enumerable:!0,configurable:!0});else if(i.descriptor.writable)e[t]=n(e[t]);else throw Error(`Failed to patch a non-configurable non-writable property "${t.toString()}"`);let a=()=>{let n=this.#e.get(e);n?.has(t)&&(i.owner===e?Object.defineProperty(i.owner,t,i.descriptor):Reflect.deleteProperty(e,t),n.delete(t),n.size===0&&this.#e.delete(e))};return r?r.set(t,a):this.#e.set(e,new Map([[t,a]])),a}restoreAllPatches(){let e=[];for(let[,t]of this.#e)for(let[,n]of t)try{n()}catch(t){if(t instanceof Error)e.push(t);else throw t}if(e.length>0)throw AggregateError(e,`FOO!`)}};function pr(e,t){let n=e,r;for(;n;){if(r=Object.getOwnPropertyDescriptor(n,t),r)return{owner:n,descriptor:r};n=Object.getPrototypeOf(n)}}function mr(e){let t=pr(globalThis,e);if(t===void 0)return!1;let{descriptor:n}=t;return typeof n.get==`function`&&n.get()===void 0||n.get===void 0&&n.value==null?!1:n.set===void 0&&!n.configurable?(console.error(`[MSW] Failed to apply interceptor: the global \`${e}\` property is non-configurable. This is likely an issue with your environment. If you are using a framework, please open an issue about this in their repository.`),!1):!0}function hr(){let e=(t,n)=>{e.state=`pending`,e.resolve=n=>e.state===`pending`?(e.result=n,t(n instanceof Promise?n:Promise.resolve(n).then(t=>(e.state=`fulfilled`,t)))):void 0,e.reject=t=>{if(e.state===`pending`)return queueMicrotask(()=>{e.state=`rejected`}),n(e.rejectionReason=t)}};return e}var gr=class extends Promise{#e;resolve;reject;constructor(e=null){let t=hr();super((n,r)=>{t(n,r),e?.(t.resolve,t.reject)}),this.#e=t,this.resolve=this.#e.resolve,this.reject=this.#e.reject}get state(){return this.#e.state}get rejectionReason(){return this.#e.rejectionReason}then(e,t){return this.#t(super.then(e,t))}catch(e){return this.#t(super.catch(e))}finally(e){return this.#t(super.finally(e))}#t(e){return Object.defineProperties(e,{resolve:{configurable:!0,value:this.resolve},reject:{configurable:!0,value:this.reject}})}};function H(e,t){return Object.defineProperties(t,{target:{value:e,enumerable:!0,writable:!0},currentTarget:{value:e,enumerable:!0,writable:!0}}),t}var U=Symbol(`kCancelable`),W=Symbol(`kDefaultPrevented`),_r=class extends MessageEvent{constructor(e,t){super(e,t),this[U]=!!t.cancelable,this[W]=!1}get cancelable(){return this[U]}set cancelable(e){this[U]=e}get defaultPrevented(){return this[W]}set defaultPrevented(e){this[W]=e}preventDefault(){this.cancelable&&!this[W]&&(this[W]=!0)}},vr=class extends Event{constructor(e,t={}){super(e,t),this.code=t.code===void 0?0:t.code,this.reason=t.reason===void 0?``:t.reason,this.wasClean=t.wasClean===void 0?!1:t.wasClean}},yr=class extends vr{constructor(e,t={}){super(e,t),this[U]=!!t.cancelable,this[W]=!1}get cancelable(){return this[U]}set cancelable(e){this[U]=e}get defaultPrevented(){return this[W]}set defaultPrevented(e){this[W]=e}preventDefault(){this.cancelable&&!this[W]&&(this[W]=!0)}},G=Symbol(`kEmitter`),br=Symbol(`kBoundListener`),xr=class{constructor(e,t){this.socket=e,this.transport=t,this.id=ur(),this.url=new URL(e.url),this[G]=new EventTarget,this.transport.addEventListener(`outgoing`,e=>{let t=H(this.socket,new _r(`message`,{data:e.data,origin:e.origin,cancelable:!0}));this[G].dispatchEvent(t),t.defaultPrevented&&e.preventDefault()}),this.transport.addEventListener(`close`,e=>{this[G].dispatchEvent(H(this.socket,new vr(`close`,e)))})}addEventListener(e,t,n){if(!Reflect.has(t,br)){let e=t.bind(this.socket);Object.defineProperty(t,br,{value:e,enumerable:!1,configurable:!1})}this[G].addEventListener(e,Reflect.get(t,br),n)}removeEventListener(e,t,n){this[G].removeEventListener(e,Reflect.get(t,br),n)}send(e){this.transport.send(e)}close(e,t){this.transport.close(e,t)}},Sr=`InvalidAccessError: close code out of user configurable range`,Cr=Symbol(`kPassthroughPromise`),wr=Symbol(`kOnSend`),K=Symbol(`kClose`),Tr=class extends EventTarget{static{this.CONNECTING=0}static{this.OPEN=1}static{this.CLOSING=2}static{this.CLOSED=3}constructor(e,t){super(),this.CONNECTING=0,this.OPEN=1,this.CLOSING=2,this.CLOSED=3,this._onopen=null,this._onmessage=null,this._onerror=null,this._onclose=null,this.url=dr(e),this.protocol=``,this.extensions=``,this.binaryType=`blob`,this.readyState=this.CONNECTING,this.bufferedAmount=0,this[Cr]=new gr,queueMicrotask(async()=>{await this[Cr]||(this.protocol=typeof t==`string`?t:Array.isArray(t)&&t.length>0?t[0]:``,this.readyState===this.CONNECTING&&(this.readyState=this.OPEN,this.dispatchEvent(H(this,new Event(`open`)))))})}set onopen(e){this.removeEventListener(`open`,this._onopen),this._onopen=e,e!==null&&this.addEventListener(`open`,e)}get onopen(){return this._onopen}set onmessage(e){this.removeEventListener(`message`,this._onmessage),this._onmessage=e,e!==null&&this.addEventListener(`message`,e)}get onmessage(){return this._onmessage}set onerror(e){this.removeEventListener(`error`,this._onerror),this._onerror=e,e!==null&&this.addEventListener(`error`,e)}get onerror(){return this._onerror}set onclose(e){this.removeEventListener(`close`,this._onclose),this._onclose=e,e!==null&&this.addEventListener(`close`,e)}get onclose(){return this._onclose}send(e){if(this.readyState===this.CONNECTING)throw this.close(),new DOMException(`InvalidStateError`);this.readyState===this.CLOSING||this.readyState===this.CLOSED||(this.bufferedAmount+=Er(e),queueMicrotask(()=>{this.bufferedAmount=0,this[wr]?.(e)}))}close(e=1e3,t){L(e,Sr),L(e===1e3||e>=3e3&&e<=4999,Sr),this[K](e,t)}[K](e=1e3,t,n=!0){this.readyState===this.CLOSING||this.readyState===this.CLOSED||(this.readyState=this.CLOSING,queueMicrotask(()=>{this.readyState=this.CLOSED,this.dispatchEvent(H(this,new vr(`close`,{code:e,reason:t,wasClean:n}))),this._onopen=null,this._onmessage=null,this._onerror=null,this._onclose=null}))}addEventListener(e,t,n){return super.addEventListener(e,t,n)}removeEventListener(e,t,n){return super.removeEventListener(e,t,n)}};function Er(e){return typeof e==`string`?e.length:e instanceof Blob?e.size:e.byteLength}var q=Symbol(`kEmitter`),Dr=Symbol(`kBoundListener`),Or=Symbol(`kSend`),kr=class{constructor(e,t,n){this.client=e,this.transport=t,this.createConnection=n,this[q]=new EventTarget,this.mockCloseController=new AbortController,this.realCloseController=new AbortController,this.transport.addEventListener(`outgoing`,e=>{this.realWebSocket!==void 0&&queueMicrotask(()=>{e.defaultPrevented||this[Or](e.data)})}),this.transport.addEventListener(`incoming`,this.handleIncomingMessage.bind(this))}get socket(){return L(this.realWebSocket,'Cannot access "socket" on the original WebSocket server object: the connection is not open. Did you forget to call `server.connect()`?'),this.realWebSocket}connect(){L(!this.realWebSocket||this.realWebSocket.readyState!==WebSocket.OPEN,`Failed to call "connect()" on the original WebSocket instance: the connection already open`);let e=this.createConnection();e.binaryType=this.client.binaryType,e.addEventListener(`open`,e=>{this[q].dispatchEvent(H(this.realWebSocket,new Event(`open`,e)))},{once:!0}),e.addEventListener(`message`,e=>{this.transport.dispatchEvent(H(this.realWebSocket,new MessageEvent(`incoming`,{data:e.data,origin:e.origin})))}),this.client.addEventListener(`close`,e=>{this.handleMockClose(e)},{signal:this.mockCloseController.signal}),e.addEventListener(`close`,e=>{this.handleRealClose(e)},{signal:this.realCloseController.signal}),e.addEventListener(`error`,()=>{let t=H(e,new Event(`error`,{cancelable:!0}));this[q].dispatchEvent(t),t.defaultPrevented||this.client.dispatchEvent(H(this.client,new Event(`error`)))}),this.realWebSocket=e}addEventListener(e,t,n){if(!Reflect.has(t,Dr)){let e=t.bind(this.client);Object.defineProperty(t,Dr,{value:e,enumerable:!1})}this[q].addEventListener(e,Reflect.get(t,Dr),n)}removeEventListener(e,t,n){this[q].removeEventListener(e,Reflect.get(t,Dr),n)}send(e){this[Or](e)}[Or](e){let{realWebSocket:t}=this;if(L(t,`Failed to call "server.send()" for "%s": the connection is not open. Did you forget to call "server.connect()"?`,this.client.url),!(t.readyState===WebSocket.CLOSING||t.readyState===WebSocket.CLOSED)){if(t.readyState===WebSocket.CONNECTING){t.addEventListener(`open`,()=>{t.send(e)},{once:!0});return}t.send(e)}}close(){let{realWebSocket:e}=this;L(e,`Failed to close server connection for "%s": the connection is not open. Did you forget to call "server.connect()"?`,this.client.url),this.realCloseController.abort(),!(e.readyState===WebSocket.CLOSING||e.readyState===WebSocket.CLOSED)&&(e.close(),queueMicrotask(()=>{this[q].dispatchEvent(H(this.realWebSocket,new yr(`close`,{code:1e3,cancelable:!0})))}))}handleIncomingMessage(e){let t=H(e.target,new _r(`message`,{data:e.data,origin:e.origin,cancelable:!0}));this[q].dispatchEvent(t),t.defaultPrevented||this.client.dispatchEvent(H(this.client,new MessageEvent(`message`,{data:e.data,origin:e.origin})))}handleMockClose(e){this.realWebSocket&&this.realWebSocket.close()}handleRealClose(e){this.mockCloseController.abort();let t=H(this.realWebSocket,new yr(`close`,{code:e.code,reason:e.reason,wasClean:e.wasClean,cancelable:!0}));this[q].dispatchEvent(t),t.defaultPrevented||this.client[K](e.code,e.reason)}},Ar=class extends EventTarget{constructor(e){super(),this.socket=e,this.socket.addEventListener(`close`,e=>{this.dispatchEvent(H(this.socket,new vr(`close`,e)))}),this.socket[wr]=e=>{this.dispatchEvent(H(this.socket,new _r(`outgoing`,{data:e,origin:this.socket.url,cancelable:!0})))}}addEventListener(e,t,n){return super.addEventListener(e,t,n)}dispatchEvent(e){return super.dispatchEvent(e)}send(e){queueMicrotask(()=>{if(this.socket.readyState===this.socket.CLOSING||this.socket.readyState===this.socket.CLOSED)return;let t=()=>{this.socket.dispatchEvent(H(this.socket,new MessageEvent(`message`,{data:e,origin:this.socket.url})))};this.socket.readyState===this.socket.CONNECTING?this.socket.addEventListener(`open`,()=>{t()},{once:!0}):t()})}close(e,t){this.socket[K](e,t)}},jr=class e extends lr{static{this.symbol=Symbol.for(`websocket-interceptor`)}constructor(){super(e.symbol)}checkEnvironment(){return mr(`WebSocket`)}setup(){let e=this.logger.extend(`setup`),t=new Proxy(globalThis.WebSocket,{construct:(e,t,n)=>{let[r,i]=t,a=()=>Reflect.construct(e,t,n),o=new Tr(r,i),s=new Ar(o);return queueMicrotask(async()=>{try{let e=new kr(o,s,a),t=this.emitter.listenerCount(`connection`)>0;await V(this.emitter,`connection`,{client:new xr(o,s),server:e,info:{protocols:i}}),t?o[Cr].resolve(!1):(o[Cr].resolve(!0),e.connect(),e.addEventListener(`open`,()=>{o.dispatchEvent(H(o,new Event(`open`))),e.realWebSocket&&(o.protocol=e.realWebSocket.protocol)}))}catch(e){e instanceof Error&&(o.dispatchEvent(new Event(`error`)),o.readyState!==WebSocket.CLOSING&&o.readyState!==WebSocket.CLOSED&&o[K](1011,e.message,!1),console.error(e))}}),o}});e.info(`patching global WebSocket...`),this.subscriptions.push(fr.applyPatch(globalThis,`WebSocket`,()=>t)),e.info(`global WebSocket patched!`,globalThis.WebSocket.name)}};function Mr(){return typeof navigator<`u`&&`serviceWorker`in navigator&&typeof location<`u`&&location.protocol!==`file:`}function Nr(){try{let e=new ReadableStream({start:e=>e.close()});return new MessageChannel().port1.postMessage(e,[e]),!0}catch{return!1}}function Pr(){let e=((t,n)=>{e.state=`pending`,e.resolve=n=>e.state===`pending`?(e.result=n,t(n instanceof Promise?n:Promise.resolve(n).then(t=>(e.state=`fulfilled`,t)))):void 0,e.reject=t=>{if(e.state===`pending`)return queueMicrotask(()=>{e.state=`rejected`}),n(e.rejectionReason=t)}});return e}var Fr=class extends Promise{#e;resolve;reject;constructor(e=null){let t=Pr();super((n,r)=>{t(n,r),e?.(t.resolve,t.reject)}),this.#e=t,this.resolve=this.#e.resolve,this.reject=this.#e.reject}get state(){return this.#e.state}get rejectionReason(){return this.#e.rejectionReason}then(e,t){return this.#t(super.then(e,t))}catch(e){return this.#t(super.catch(e))}finally(e){return this.#t(super.finally(e))}#t(e){return Object.defineProperties(e,{resolve:{configurable:!0,value:this.resolve},reject:{configurable:!0,value:this.reject}})}},Ir=class e extends Error{constructor(t){super(t),this.name=`InterceptorError`,Object.setPrototypeOf(this,e.prototype)}},Lr=class e{static{this.PENDING=0}static{this.PASSTHROUGH=1}static{this.RESPONSE=2}static{this.ERROR=3}constructor(t,n){this.request=t,this.source=n,this.readyState=e.PENDING,this.handled=new gr}get#e(){return this.handled}async passthrough(){L.as(Ir,this.readyState===e.PENDING,`Failed to passthrough the "%s %s" request: the request has already been handled`,this.request.method,this.request.url),this.readyState=e.PASSTHROUGH,await this.source.passthrough(),this.#e.resolve()}respondWith(t){L.as(Ir,this.readyState===e.PENDING,`Failed to respond to the "%s %s" request with "%d %s": the request has already been handled (%d)`,this.request.method,this.request.url,t.status,t.statusText||`OK`,this.readyState),this.readyState=e.RESPONSE,this.#e.resolve(),this.source.respondWith(t)}errorWith(t){L.as(Ir,this.readyState===e.PENDING,`Failed to error the "%s %s" request with "%s": the request has already been handled (%d)`,this.request.method,this.request.url,t?.toString(),this.readyState),this.readyState=e.ERROR,this.source.errorWith(t),this.#e.resolve()}};function Rr(e){try{return new URL(e),!0}catch{return!1}}function zr(e,t){let n=Object.getOwnPropertySymbols(t).find(t=>t.description===e);if(n)return Reflect.get(t,n)}var Br=class e extends Request{static#e(e,t={},n){return t[n]??(e instanceof Request?e[n]:void 0)}static isConfigurableMethod(e){return e!==`CONNECT`&&e!==`TRACE`&&e!==`TRACK`}static isMethodWithBody(t){return t!==`HEAD`&&t!==`GET`&&e.isConfigurableMethod(t)}static isConfigurableMode(e){return e!==`navigate`&&e!==`websocket`&&e!==`webtransport`}constructor(t,n){let r=e.#e(t,n,`method`)||`GET`,i=e.isConfigurableMethod(r)?r:`GET`,a=n!=null&&`body`in n,o=e.isMethodWithBody(r)?a?{body:n.body}:{}:{body:void 0},s=e.#e(t,n,`mode`)??void 0,c=e.isConfigurableMode(s)?s:void 0;if(super(t,{...n||{},method:i,mode:c,duplex:n?.duplex??(e.isMethodWithBody(r)?`half`:void 0),...o}),r!==i&&this.#t(`method`,r),r===`CONNECT`){let e=new URL(t instanceof Request?t.url:t),n;n=e.protocol===`localhost:`?e.href:e.pathname.replace(/^\/+/,``),Object.defineProperty(this,"url",{get:()=>n,enumerable:!0,configurable:!0})}s!=null&&s!==c&&this.#t(`mode`,s)}#t(e,t){let n=zr(`state`,this);n?Reflect.set(n,e,t):Object.defineProperty(this,e,{value:t,enumerable:!0,configurable:!0,writable:!1})}},Vr=Symbol(`kStatus`),Hr=Symbol(`kUrl`),J=class e extends Response{static{this.STATUS_CODES_WITHOUT_BODY=[101,103,204,205,304]}static{this.STATUS_CODES_WITH_REDIRECT=[301,302,303,307,308]}static isConfigurableStatusCode(e){return e>=200&&e<=599}static isRedirectResponse(t){return e.STATUS_CODES_WITH_REDIRECT.includes(t)}static isResponseWithBody(t){return!e.STATUS_CODES_WITHOUT_BODY.includes(t)}static setStatus(e,t){let n=zr(`state`,t);n?n.status=e:Object.defineProperty(t,"status",{value:e,enumerable:!0,configurable:!0,writable:!1}),Object.defineProperty(t,Vr,{value:e,enumerable:!1})}static setUrl(e,t){if(!e||e===`about:`||!Rr(e))return;let n=zr(`state`,t);n?n.urlList.push(new URL(e)):Object.defineProperty(t,"url",{value:e,enumerable:!0,configurable:!0,writable:!1}),Object.defineProperty(t,Hr,{value:e,enumerable:!1})}static parseRawHeaders(e){let t=new Headers;for(let n=0;n<e.length;n+=2)t.append(e[n],e[n+1]);return t}static clone(e){try{return e.clone()}catch(e){return Response.json(e instanceof Error?{name:e.name,message:e.message,stack:e.stack}:{},{status:500,statusText:`Unclonable Response`})}}constructor(t,n={}){let r=n.status??200,i=e.isConfigurableStatusCode(r)?r:200,a=e.isResponseWithBody(r)?t:null;super(a,{status:i,statusText:n.statusText,headers:n.headers}),r!==i&&e.setStatus(r,this),e.setUrl(n.url,this)}clone(){let t=super.clone(),n=Reflect.get(this,Vr);n&&e.setStatus(n,t);let r=Reflect.get(this,Hr);return r&&e.setUrl(r,t),t}},Ur=Symbol(`kRawRequest`);function Wr(e,t){Reflect.set(e,Ur,t)}var Gr=new TextEncoder;function Kr(e){return Gr.encode(e)}function qr(e,t){return new TextDecoder(t).decode(e)}function Jr(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}async function Yr(e){try{return[null,await e().catch(e=>{throw e})]}catch(e){return[e,null]}}function Xr(e){return new URL(e,location.href).href}function Zr(e,t,n){return[e.active,e.installing,e.waiting].filter(e=>e!=null).find(e=>n(e.scriptURL,t))||null}var Qr=async(e,t={},n)=>{let r=Xr(e),i=await navigator.serviceWorker.getRegistrations().then(e=>e.filter(e=>Zr(e,r,n)));!navigator.serviceWorker.controller&&i.length>0&&location.reload();let[a]=i;if(a)return a.update(),[Zr(a,r,n),a];let[o,s]=await Yr(async()=>{let i=await navigator.serviceWorker.register(e,t);return[Zr(i,r,n),i]});if(o){if(o.message.includes(`(404)`)){let e=new URL(t?.scope||`/`,location.href);throw Error(v.formatMessage(`Failed to register a Service Worker for scope ('${e.href}') with script ('${r}'): Service Worker script does not exist at the given path.
24
+
25
+ Did you forget to run "npx msw init <PUBLIC_DIR>"?
26
+
27
+ Learn more about creating the Service Worker script: https://mswjs.io/docs/cli/init`))}throw Error(v.formatMessage(`Failed to register the Service Worker:
28
+
29
+ %s`,o.message))}return s},$r=class{#e;#t;constructor(){this.#e=[],this.#t=new Map}get[Symbol.iterator](){return this.#e[Symbol.iterator].bind(this.#e)}entries(){return this.#t.entries()}get(e){return this.#t.get(e)||[]}getAll(){return this.#e.map(([,e])=>e)}append(e,t){this.#e.push([e,t]),this.#n(e,e=>e.push(t))}prepend(e,t){this.#e.unshift([e,t]),this.#n(e,e=>e.unshift(t))}delete(e,t){if(this.size===0)return!1;let n=this.#t.get(e);if(!n)return!1;let r=n.indexOf(t);return r===-1?!1:(n.splice(r,1),this.#e.splice(this.#e.findIndex(n=>n[0]===e&&n[1]===t),1),!0)}deleteAll(e){this.size!==0&&(this.#e=this.#e.filter(t=>t[0]!==e),this.#t.delete(e))}get size(){return this.#e.length}clear(){this.size!==0&&(this.#e.length=0,this.#t.clear())}#n(e,t){t(this.#t.get(e)||this.#t.set(e,[]).get(e))}},ei=Symbol(`kDefaultPrevented`),Y=Symbol(`kPropagationStopped`),ti=Symbol(`kImmediatePropagationStopped`),ni=class extends MessageEvent{[ei];[Y];[ti];constructor(...e){super(e[0],e[1]),this[ei]=!1}get defaultPrevented(){return this[ei]}preventDefault(){super.preventDefault(),this[ei]=!0}stopImmediatePropagation(){super.stopImmediatePropagation(),this[ti]=!0}},ri=class{#e;#t;#n;#r;#i;#a;#o;hooks;constructor(){this.#e=new $r,this.#t=new WeakMap,this.#n=new WeakMap,this.#r=new WeakSet,this.#i=new $r,this.#a=new WeakMap,this.#o=new WeakMap,this.hooks={on:(e,t,n)=>{if(!n?.signal?.aborted){if(n?.once){let n=t,r=((...t)=>(this.#s(e,r),n(...t)));t=r}if(this.#i.append(e,t),n&&this.#a.set(t,n),n?.signal){let{signal:r}=n,i=()=>{this.#s(e,t)};r.addEventListener(`abort`,i,{once:!0}),this.#o.set(t,()=>{r.removeEventListener(`abort`,i)})}}},removeListener:(e,t)=>{this.#s(e,t)}}}#s(e,t){this.#i.delete(e,t);let n=this.#o.get(t);n&&(n(),this.#o.delete(t))}#c(e,t){let n=this.#e.delete(e,t),r=this.#n.get(t);return r&&(r(),this.#n.delete(t)),n}on(e,t,n){return this.#l(e,t,n),this}once(e,t,n){return this.on(e,t,{...n||{},once:!0})}earlyOn(e,t,n){return this.#l(e,t,n,`prepend`),this}earlyOnce(e,t,n){return this.earlyOn(e,t,{...n||{},once:!0})}emit(e){if(this.#e.size===0)return!1;let t=this.listenerCount(e.type)>0,n=this.#u(e);for(let t of this.#f(e.type)){if(n.event[Y]!=null&&n.event[Y]!==this)return n.revoke(),!1;if(n.event[ti])break;this.#d(n.event,t)}return n.revoke(),t}async emitAsPromise(e){if(this.#e.size===0)return[];let t=[],n=this.#u(e);for(let r of this.#f(e.type)){if(n.event[Y]!=null&&n.event[Y]!==this)return n.revoke(),[];if(n.event[ti])break;let e=await Promise.resolve(this.#d(n.event,r));this.#p(r)||t.push(e)}return n.revoke(),Promise.allSettled(t).then(e=>e.map(e=>e.status===`fulfilled`?e.value:e.reason))}*emitAsGenerator(e){if(this.#e.size===0)return;let t=this.#u(e);for(let n of this.#f(e.type)){if(t.event[Y]!=null&&t.event[Y]!==this){t.revoke();return}if(t.event[ti])break;let e=this.#d(t.event,n);this.#p(n)||(yield e)}t.revoke()}removeListener(e,t){let n=this.#t.get(t);if(this.#c(e,t))for(let r of this.#i.get(`removeListener`).slice())r(e,t,n)}removeAllListeners(e){if(e==null){for(let[e,t]of this.#e.entries())for(;t.length>0;)this.removeListener(e,t[0]);for(let[e,t]of[...this.#i])this.#a.get(t)?.persist||this.#s(e,t);return}let t=this.listeners(e);for(;t.length>0;)this.removeListener(e,t[0])}listeners(e){return e==null?this.#e.getAll():this.#e.get(e)}listenerCount(e){return e==null?this.#e.size:this.listeners(e).length}#l(e,t,n,r=`append`){if(!n?.signal?.aborted){for(let r of this.#i.get(`newListener`).slice())r(e,t,n);if(e===`*`&&this.#r.add(t),r===`prepend`?this.#e.prepend(e,t):this.#e.append(e,t),n&&(this.#t.set(t,n),n.signal)){let{signal:r}=n,i=()=>{this.removeListener(e,t)};r.addEventListener(`abort`,i,{once:!0}),this.#n.set(t,()=>{r.removeEventListener(`abort`,i)})}}}#u(e){let{stopPropagation:t}=e;return e.stopPropagation=()=>{e[Y]=this,t.call(e)},{event:e,revoke(){e.stopPropagation=t}}}#d(e,t){for(let t of this.#i.get(`beforeEmit`).slice())if(t(e)===!1)return;let n=t.call(this,e),r=this.#t.get(t);if(r?.once){let n=this.#p(t)?`*`:e.type;if(this.#c(n,t))for(let e of this.#i.get(`removeListener`).slice())e(n,t,r)}return n}*#f(e){let t=[];for(let[n,r]of this.#e)(n===`*`||n===e)&&t.push(r);yield*t}#p(e){return this.#r.has(e)}},ii=Mr(),ai=class extends ni{#e;constructor(e){let t=e.data.type,n=e.data.payload;super(t,{data:n}),this.#e=e}get ports(){return this.#e.ports}postMessage(e,...t){this.#e.ports[0].postMessage({type:e,data:t[0]},{transfer:t[1]})}},oi=class extends ri{#e;#t;constructor(e){super(),L(ii,`Failed to open a WorkerChannel: Service Worker is not supported in this environment.`),this.#e=e.getWorker,this.#t=new AbortController,navigator.serviceWorker.addEventListener(`message`,async e=>{let t=await this.#e();e.source!=null&&e.source!==t||e.data&&Ht(e.data)&&`type`in e.data&&this.emit(new ai(e))},{signal:this.#t.signal})}postMessage(e){L(ii,`Failed to post message on a WorkerChannel: the Service Worker API is unavailable in this environment. This is likely an issue with MSW. Please report it on GitHub: https://github.com/mswjs/msw/issues`),this.#e().then(t=>{t.postMessage(e)})}terminate(){this.#t.abort(),this.removeAllListeners()}};function si(e){if(![`HEAD`,`GET`].includes(e.method))return e.body}function ci(e){return new Request(e.url,{...e,body:si(e)})}function li(e){location.href.startsWith(e.scope)||v.warn(`Cannot intercept requests on this page because it's outside of the worker's scope ("${e.scope}"). If you wish to mock API requests on this page, you must resolve this scope issue.
30
+
31
+ - (Recommended) Register the worker at the root level ("/") of your application.
32
+ - Set the "Service-Worker-Allowed" response header to allow out-of-scope workers.`)}function ui(e,t){return e.findWorker!==t.findWorker||e.serviceWorker.url!==t.serviceWorker.url||JSON.stringify(e.serviceWorker.options)!==JSON.stringify(t.serviceWorker.options)}var di=class e extends f{static#e;static async from(t){return e.#e==null?e.#e=new e(t):ui(e.#e.#t,t)&&(await e.#e.terminate(),e.#e=new e(t)),e.#e}#t;#n;#r;#i;#a;#o;#s;workerPromise;constructor(e){super(),L(Mr(),`Failed to use Service Worker as the network source: the Service Worker API is not supported in this environment`),this.#t=e,this.#n=new Map,this.workerPromise=new Fr,this.#r=new oi({getWorker:()=>this.workerPromise.then(([e])=>e)})}async enable(){if(this.workerPromise.state===`fulfilled`&&this.#s===void 0)return v.warn(`Found a redundant "worker.start()" call. Note that starting the worker while mocking is already enabled will have no effect. Consider removing this "worker.start()" call.`),this.workerPromise.then(([,e])=>e);this.#s=void 0,this.#r.removeAllListeners(),this.#n.clear(),this.#i=new AbortController;let[e,t]=await this.#c();if(e.state!==`activated`){let t=new AbortController,n=new Fr;n.then(()=>t.abort()),e.addEventListener(`statechange`,()=>{e.state===`activated`&&n.resolve()},{signal:t.signal}),await n}this.#r.postMessage(`MOCK_ACTIVATE`);let n=new Fr;return this.#a=n,this.#r.once(`MOCKING_ENABLED`,e=>{n.resolve(e.data.client)}),await n,this.#t.quiet||this.#p(),t}disable(){if(this.#s!==void 0){v.warn(`Found a redundant "worker.stop()" call. Notice that stopping the worker after it has already been stopped has no effect. Consider removing this "worker.stop()" call.`);return}this.#s=Date.now(),this.#i?.abort(),this.#i=void 0,this.#r.postMessage(`CLIENT_CLOSED`),this.#t.quiet||this.#m()}async terminate(){if(this.#o!=null&&(clearInterval(this.#o),this.#o=void 0),this.#n.clear(),this.#r.terminate(),this.#i?.abort(),this.#i=void 0,this.workerPromise.state===`fulfilled`){let[,e]=await this.workerPromise;await e.unregister()}e.#e===this&&(e.#e=void 0)}async#c(){this.#o&&clearInterval(this.#o);let e=this.#t.serviceWorker.url,[t,n]=await Qr(e,this.#t.serviceWorker.options,this.#t.findWorker||this.#d);if(t==null){let t=this.#t?.findWorker?v.formatMessage(`Failed to locate the Service Worker registration using a custom "findWorker" predicate.
33
+
34
+ Please ensure that the custom predicate properly locates the Service Worker registration at "%s".
35
+ More details: https://mswjs.io/docs/api/setup-worker/start#findworker
36
+ `,e):v.formatMessage(`Failed to locate the Service Worker registration.
37
+
38
+ This most likely means that the worker script URL "%s" cannot resolve against the actual public hostname (%s). This may happen if your application runs behind a proxy, or has a dynamic hostname.
39
+
40
+ Please consider using a custom "serviceWorker.url" option to point to the actual worker script location, or a custom "findWorker" option to resolve the Service Worker registration manually. More details: https://mswjs.io/docs/api/setup-worker/start`,e,location.host);throw Error(t)}return this.workerPromise.state===`pending`?this.workerPromise.resolve([t,n]):this.workerPromise=new Fr(e=>{e([t,n])}),this.#r.on(`REQUEST`,this.#l.bind(this)),this.#r.on(`RESPONSE`,this.#u.bind(this)),window.addEventListener(`beforeunload`,()=>{t.state!==`redundant`&&this.#r.postMessage(`CLIENT_CLOSED`),clearInterval(this.#o),window.postMessage({type:`msw/worker:stop`})},{signal:this.#i?.signal}),await this.#f().catch(e=>{v.error(`Error while checking the worker script integrity. Please report this on GitHub (https://github.com/mswjs/msw/issues) and include the original error below.`),console.error(e)}),this.#o=window.setInterval(()=>{this.#r.postMessage(`KEEPALIVE_REQUEST`)},5e3),this.#t.quiet||li(n),[t,n]}async#l(e){if(this.#s&&e.data.interceptedAt>this.#s)return e.postMessage(`PASSTHROUGH`);let t=ci(e.data);ht.cache.set(t,t.clone());let n=new fi({event:e,request:t});this.#n.set(e.data.id,n),await this.queue(n)}async#u(e){let{request:t,response:n,isMockedResponse:r}=e.data,i=this.#n.get(t.id);if(n.type?.includes(`opaque`)){this.#n.delete(t.id),i?.events.removeAllListeners();return}if(this.#n.delete(t.id),i==null)return;let a=ci(t),o=n.status===0?Response.error():new J(J.isResponseWithBody(n.status)?n.body:null,{...n,url:t.url});try{i.events.emit(new Xt(r?`response:mocked`:`response:bypass`,{requestId:i.data.id,request:a,response:o,isMockedResponse:r}))}finally{i.events.removeAllListeners()}}#d=(e,t)=>e===t;async#f(){let e=new Fr;return this.#r.postMessage(`INTEGRITY_CHECK_REQUEST`),this.#r.once(`INTEGRITY_CHECK_RESPONSE`,t=>{let{checksum:n,packageVersion:r}=t.data;n!==`03cb67ac84128e63d7cd722a6e5b7f1e`&&v.warn(`The currently registered Service Worker has been generated by a different version of MSW (${r}) and may not be fully compatible with the installed version.
41
+
42
+ It's recommended you update your worker script by running this command:
43
+
44
+ \u2022 npx msw init <PUBLIC_DIR>
45
+
46
+ You can also automate this process and make the worker script update automatically upon the library installations. Read more: https://mswjs.io/docs/cli/init.`),e.resolve()}),e}async#p(){if(this.workerPromise.state===`rejected`)return;L(this.#a!=null,`[ServiceWorkerSource] Failed to print a start message: client confirmation not received`);let e=await this.#a,[t,n]=await this.workerPromise;console.groupCollapsed(`%c${v.formatMessage(`Mocking enabled.`)}`,`color:orangered;font-weight:bold;`),console.log(`%cDocumentation: %chttps://mswjs.io/docs`,`font-weight:bold`,`font-weight:normal`),console.log(`Found an issue? https://github.com/mswjs/msw/issues`),console.log(`Worker script URL:`,t.scriptURL),console.log(`Worker scope:`,n.scope),e&&console.log(`Client ID: %s (%s)`,e.id,e.frameType),console.groupEnd()}#m(){console.log(`%c${v.formatMessage(`Mocking disabled.`)}`,`color:orangered;font-weight:bold;`)}},fi=class extends Qt{#e;constructor(e){super({request:e.request}),this.#e=e.event}passthrough(){this.#e.postMessage(`PASSTHROUGH`)}respondWith(e){e&&this.#t(e)}errorWith(e){if(e instanceof Response)return this.respondWith(e);v.warn(`Uncaught exception in the request handler for "%s %s". This exception has been gracefully handled as a 500 response, however, it's strongly recommended to resolve this error, as it indicates a mistake in your code. If you wish to mock an error response, please see this guide: https://mswjs.io/docs/http/mocking-responses/error-responses`,this.data.request.method,this.data.request.url);let t=e instanceof Error?e:Error(e?.toString()||`Request failure`);this.respondWith(dt.json({name:t.name,message:t.message,stack:t.stack},{status:500,statusText:`Request Handler Error`}))}async#t(e){let t,n,r=Nn(e);Nr()?(t=e.body,n=e.body==null?void 0:[e.body]):t=e.body==null?null:await e.clone().arrayBuffer(),this.#e.postMessage(`MOCK_RESPONSE`,{...r,body:t},n)}},pi=async e=>{try{return{error:null,data:await e().catch(e=>{throw e})}}catch(e){return{error:e,data:null}}};function mi(e,t=!1){return t?Object.prototype.toString.call(e).startsWith(`[object `):Object.prototype.toString.call(e)===`[object Object]`}function hi(e,t){try{return e[t],!0}catch{return!1}}function gi(e){return new Response(JSON.stringify(e instanceof Error?{name:e.name,message:e.message,stack:e.stack}:e),{status:500,statusText:`Unhandled Exception`,headers:{"Content-Type":`application/json`}})}function _i(e){return e!=null&&e instanceof Response&&hi(e,`type`)&&e.type===`error`}function vi(e){return mi(e,!0)&&hi(e,`status`)&&hi(e,`statusText`)&&hi(e,`bodyUsed`)}function yi(e){return e==null||!(e instanceof Error)?!1:`code`in e&&`errno`in e}async function bi(e){let t=async t=>t instanceof Error?(await e.controller.errorWith(t),!0):_i(t)||vi(t)?(await e.controller.respondWith(t),!0):mi(t)?(await e.controller.errorWith(t),!0):!1,n=async n=>{if(n instanceof Ir)throw a.error;return yi(n)?(await e.controller.errorWith(n),!0):n instanceof Response?await t(n):!1},r=new gr,i=()=>{r.reject(e.request.signal?.reason)};if(e.request.signal){if(e.request.signal.aborted){await e.controller.errorWith(e.request.signal.reason);return}e.request.signal.addEventListener(`abort`,i,{once:!0})}let a=await pi(async()=>{let t=V(e.emitter,`request`,{requestId:e.requestId,request:e.request,controller:e.controller});await Promise.race([r,t,e.controller.handled])});if(e.request.signal?.removeEventListener(`abort`,i),r.state===`rejected`){await e.controller.errorWith(r.rejectionReason);return}if(a.error){if(await n(a.error))return;if(e.emitter.listenerCount(`unhandledException`)>0){let n=new Lr(e.request,{passthrough(){},async respondWith(e){await t(e)},async errorWith(t){await e.controller.errorWith(t)}});if(await V(e.emitter,`unhandledException`,{error:a.error,request:e.request,requestId:e.requestId,controller:n}),n.readyState!==Lr.PENDING)return}await e.controller.respondWith(gi(a.error));return}return e.controller.readyState===Lr.PENDING?await e.controller.passthrough():e.controller.handled}function X(e){return Object.assign(TypeError(`Failed to fetch`),{cause:e})}var xi=[`content-encoding`,`content-language`,`content-location`,`content-type`,`content-length`],Si=Symbol(`kRedirectCount`);async function Ci(e,t){if(t.status!==303&&e.body!=null)return Promise.reject(X());let n=new URL(e.url),r;try{r=new URL(t.headers.get(`location`),e.url)}catch(e){return Promise.reject(X(e))}if(!(r.protocol===`http:`||r.protocol===`https:`))return Promise.reject(X(`URL scheme must be a HTTP(S) scheme`));if(Reflect.get(e,Si)>20)return Promise.reject(X(`redirect count exceeded`));if(Object.defineProperty(e,Si,{value:(Reflect.get(e,Si)||0)+1}),e.mode===`cors`&&(r.username||r.password)&&!wi(n,r))return Promise.reject(X(`cross origin not allowed for request mode "cors"`));let i={};([301,302].includes(t.status)&&e.method===`POST`||t.status===303&&![`HEAD`,`GET`].includes(e.method))&&(i.method=`GET`,i.body=null,xi.forEach(t=>{e.headers.delete(t)})),wi(n,r)||(e.headers.delete(`authorization`),e.headers.delete(`proxy-authorization`),e.headers.delete(`cookie`),e.headers.delete(`host`)),i.headers=e.headers;let a=await fetch(new Request(r,i));return Object.defineProperty(a,"redirected",{value:!0,configurable:!0}),a}function wi(e,t){return e.origin===t.origin&&e.origin===`null`||e.protocol===t.protocol&&e.hostname===t.hostname&&e.port===t.port}var Ti=class extends TransformStream{constructor(){console.warn(`[Interceptors]: Brotli decompression of response streams is not supported in the browser`),super({transform(e,t){t.enqueue(e)}})}},Ei=class extends TransformStream{constructor(e,...t){super({},...t);let n=[super.readable,...e].reduce((e,t)=>e.pipeThrough(t));Object.defineProperty(this,"readable",{get(){return n}})}};function Di(e){return e.toLowerCase().split(`,`).map(e=>e.trim())}function Oi(e){if(e===``)return null;let t=Di(e);return t.length===0?null:new Ei(t.reduceRight((e,t)=>t===`gzip`||t===`x-gzip`?e.concat(new DecompressionStream(`gzip`)):t===`deflate`?e.concat(new DecompressionStream(`deflate`)):t===`br`?e.concat(new Ti):(e.length=0,e),[]))}function ki(e){if(e.body===null)return null;let t=Oi(e.headers.get(`content-encoding`)||``);return t?(e.body.pipeTo(t.writable),t.readable):null}var Ai=class e extends lr{static{this.symbol=Symbol.for(`fetch-interceptor`)}constructor(){super(e.symbol)}checkEnvironment(){return mr(`fetch`)}async setup(){let e=this.logger.extend(`setup`),t=globalThis.fetch,n=async(e,n)=>{let r=ur(),i=new Br(typeof e==`string`&&typeof location<`u`&&!Rr(e)?new URL(e,location.href):e,n);e instanceof Request&&Wr(i,e);let a=new gr,o=new Lr(i,{passthrough:async()=>{this.logger.info(`request has not been handled, passthrough...`);let e=i.clone(),{error:n,data:o}=await pi(()=>t(i));if(n)return a.reject(n);if(this.logger.info(`original fetch performed`,o),this.emitter.listenerCount(`response`)>0){this.logger.info(`emitting the "response" event...`);let t=J.clone(o);await V(this.emitter,`response`,{response:t,isMockedResponse:!1,request:e,requestId:r})}a.resolve(o)},respondWith:async e=>{if(_i(e)){this.logger.info(`request has errored!`,{response:e}),a.reject(X(e));return}this.logger.info(`received mocked response!`,{rawResponse:e});let t=new J(ki(e)||e.body,{url:i.url,status:e.status,statusText:e.statusText,headers:e.headers});if(J.isRedirectResponse(t.status)){if(i.redirect===`error`){a.reject(X(`unexpected redirect`));return}if(i.redirect===`follow`){Ci(i,t).then(e=>{a.resolve(e)},e=>{a.reject(e)});return}}this.emitter.listenerCount(`response`)>0&&(this.logger.info(`emitting the "response" event...`),await V(this.emitter,`response`,{response:J.clone(t),isMockedResponse:!0,request:i,requestId:r})),a.resolve(t)},errorWith:e=>{this.logger.info(`request has been aborted!`,{reason:e}),a.reject(e)}});return this.logger.info(`[%s] %s`,i.method,i.url),this.logger.info(`awaiting for the mocked response...`),this.logger.info(`emitting the "request" event for %s listener(s)...`,this.emitter.listenerCount(`request`)),await bi({request:i,requestId:r,emitter:this.emitter,controller:o}),a};e.info(`patching global fetch...`),this.subscriptions.push(fr.applyPatch(globalThis,`fetch`,()=>n)),e.info(`global fetch patched!`,globalThis.fetch.name)}};function ji(e,t){let n=new Uint8Array(e.byteLength+t.byteLength);return n.set(e,0),n.set(t,e.byteLength),n}var Mi=class{constructor(e,t){this.NONE=0,this.CAPTURING_PHASE=1,this.AT_TARGET=2,this.BUBBLING_PHASE=3,this.type=``,this.srcElement=null,this.currentTarget=null,this.eventPhase=0,this.isTrusted=!0,this.composed=!1,this.cancelable=!0,this.defaultPrevented=!1,this.bubbles=!0,this.lengthComputable=!0,this.loaded=0,this.total=0,this.cancelBubble=!1,this.returnValue=!0,this.type=e,this.target=t?.target||null,this.currentTarget=t?.currentTarget||null,this.timeStamp=Date.now()}composedPath(){return[]}initEvent(e,t,n){this.type=e,this.bubbles=!!t,this.cancelable=!!n}preventDefault(){this.defaultPrevented=!0}stopPropagation(){}stopImmediatePropagation(){}},Ni=class extends Mi{constructor(e,t){super(e),this.lengthComputable=t?.lengthComputable||!1,this.composed=t?.composed||!1,this.loaded=t?.loaded||0,this.total=t?.total||0}},Pi=typeof ProgressEvent<`u`;function Fi(e,t,n){let r=[`error`,`progress`,`loadstart`,`loadend`,`load`,`timeout`,`abort`],i=Pi?ProgressEvent:Ni;return r.includes(t)?new i(t,{lengthComputable:!0,loaded:n?.loaded||0,total:n?.total||0}):new Mi(t,{target:e,currentTarget:e})}function Ii(e,t){if(!(t in e))return null;if(Object.prototype.hasOwnProperty.call(e,t))return e;let n=Reflect.getPrototypeOf(e);return n?Ii(n,t):null}function Li(e,t){return new Proxy(e,Ri(t))}function Ri(e){let{constructorCall:t,methodCall:n,getProperty:r,setProperty:i}=e,a={};return t!==void 0&&(a.construct=function(e,n,r){let i=Reflect.construct.bind(null,e,n,r);return t.call(r,n,i)}),a.set=function(e,t,n){let r=()=>{let r=Ii(e,t)||e,i=Reflect.getOwnPropertyDescriptor(r,t);return i?.set===void 0?Reflect.defineProperty(r,t,{writable:!0,enumerable:!0,configurable:!0,value:n}):(i.set.apply(e,[n]),!0)};return i===void 0?r():i.call(e,[t,n],r)},a.get=function(e,t,i){let a=()=>e[t],o=r===void 0?a():r.call(e,[t,i],a);return typeof o==`function`?(...r)=>{let i=o.bind(e,...r);return n===void 0?i():n.call(e,[t,r],i)}:o},a}function zi(e){return[`application/xhtml+xml`,`application/xml`,`image/svg+xml`,`text/html`,`text/xml`].some(t=>e.startsWith(t))}function Bi(e){try{return JSON.parse(e)}catch{return null}}function Vi(e,t){return new J(J.isResponseWithBody(e.status)?t:null,{url:e.responseURL,status:e.status,statusText:e.statusText,headers:Hi(e.getAllResponseHeaders())})}function Hi(e){let t=new Headers,n=e.split(/[\r\n]+/);for(let e of n){if(e.trim()===``)continue;let[n,...r]=e.split(`: `),i=r.join(`: `);t.append(n,i)}return t}async function Ui(e){let t=e.headers.get(`content-length`);return t!=null&&t!==``?Number(t):(await e.arrayBuffer()).byteLength}var Wi=Symbol(`kIsRequestHandled`),Gi=zn(),Ki=Symbol(`kFetchRequest`),qi=class{constructor(e,t){this.initialRequest=e,this.logger=t,this.method=`GET`,this.url=null,this[Wi]=!1,this.events=new Map,this.uploadEvents=new Map,this.requestId=ur(),this.requestHeaders=new Headers,this.responseBuffer=new Uint8Array,this.request=Li(e,{setProperty:([e,t],n)=>{switch(e){case`ontimeout`:{let r=e.slice(2);return this.request.addEventListener(r,t),n()}default:return n()}},methodCall:([e,t],n)=>{switch(e){case`open`:{let[e,r]=t;return r===void 0?(this.method=`GET`,this.url=Ji(e)):(this.method=e,this.url=Ji(r)),this.logger=this.logger.extend(`${this.method} ${this.url.href}`),this.logger.info(`open`,this.method,this.url.href),n()}case`addEventListener`:{let[e,r]=t;return this.registerEvent(e,r),this.logger.info(`addEventListener`,e,r),n()}case`setRequestHeader`:{let[e,r]=t;return this.requestHeaders.set(e,r),this.logger.info(`setRequestHeader`,e,r),n()}case`send`:{let[e]=t;this.request.addEventListener(`load`,()=>{if(this.onResponse!==void 0){let e=Vi(this.request,this.request.response);this.onResponse.call(this,{response:e,isMockedResponse:this[Wi],request:i,requestId:this.requestId})}});let r=typeof e==`string`?Kr(e):e,i=this.toFetchApiRequest(r);this[Ki]=i.clone(),queueMicrotask(()=>{(this.onRequest?.call(this,{request:i,requestId:this.requestId})||Promise.resolve()).finally(()=>{if(!this[Wi])return this.logger.info(`request callback settled but request has not been handled (readystate %d), performing as-is...`,this.request.readyState),Gi&&this.request.setRequestHeader(ar,this.requestId),n()})});break}default:return n()}}}),Z(this.request,`upload`,Li(this.request.upload,{setProperty:([e,t],n)=>{switch(e){case`onloadstart`:case`onprogress`:case`onaboart`:case`onerror`:case`onload`:case`ontimeout`:case`onloadend`:{let n=e.slice(2);this.registerUploadEvent(n,t)}}return n()},methodCall:([e,t],n)=>{switch(e){case`addEventListener`:{let[e,r]=t;return this.registerUploadEvent(e,r),this.logger.info(`upload.addEventListener`,e,r),n()}}}}))}registerEvent(e,t){let n=(this.events.get(e)||[]).concat(t);this.events.set(e,n),this.logger.info(`registered event "%s"`,e,t)}registerUploadEvent(e,t){let n=(this.uploadEvents.get(e)||[]).concat(t);this.uploadEvents.set(e,n),this.logger.info(`registered upload event "%s"`,e,t)}async respondWith(e){if(this[Wi]=!0,this[Ki]){let e=await Ui(this[Ki]);this.trigger(`loadstart`,this.request.upload,{loaded:0,total:e}),this.trigger(`progress`,this.request.upload,{loaded:e,total:e}),this.trigger(`load`,this.request.upload,{loaded:e,total:e}),this.trigger(`loadend`,this.request.upload,{loaded:e,total:e})}this.logger.info(`responding with a mocked response: %d %s`,e.status,e.statusText),Z(this.request,`status`,e.status),Z(this.request,`statusText`,e.statusText),Z(this.request,`responseURL`,this.url.href),this.request.getResponseHeader=new Proxy(this.request.getResponseHeader,{apply:(t,n,r)=>{if(this.logger.info(`getResponseHeader`,r[0]),this.request.readyState<this.request.HEADERS_RECEIVED)return this.logger.info(`headers not received yet, returning null`),null;let i=e.headers.get(r[0]);return this.logger.info(`resolved response header "%s" to`,r[0],i),i}}),this.request.getAllResponseHeaders=new Proxy(this.request.getAllResponseHeaders,{apply:()=>{if(this.logger.info(`getAllResponseHeaders`),this.request.readyState<this.request.HEADERS_RECEIVED)return this.logger.info(`headers not received yet, returning empty string`),``;let t=Array.from(e.headers.entries()).map(([e,t])=>`${e}: ${t}`).join(`\r
47
+ `);return this.logger.info(`resolved all response headers to`,t),t}}),Object.defineProperties(this.request,{response:{enumerable:!0,configurable:!1,get:()=>this.response},responseText:{enumerable:!0,configurable:!1,get:()=>this.responseText},responseXML:{enumerable:!0,configurable:!1,get:()=>this.responseXML}});let t=await Ui(e.clone());this.logger.info(`calculated response body length`,t),this.trigger(`loadstart`,this.request,{loaded:0,total:t}),this.setReadyState(this.request.HEADERS_RECEIVED),this.setReadyState(this.request.LOADING);let n=()=>{this.logger.info(`finalizing the mocked response...`),this.setReadyState(this.request.DONE),this.trigger(`load`,this.request,{loaded:this.responseBuffer.byteLength,total:t}),this.trigger(`loadend`,this.request,{loaded:this.responseBuffer.byteLength,total:t})};if(e.body){this.logger.info(`mocked response has body, streaming...`);let r=e.body.getReader(),i=async()=>{let{value:e,done:a}=await r.read();if(a){this.logger.info(`response body stream done!`),n();return}e&&(this.logger.info(`read response body chunk:`,e),this.responseBuffer=ji(this.responseBuffer,e),this.trigger(`progress`,this.request,{loaded:this.responseBuffer.byteLength,total:t})),i()};i()}else n()}responseBufferToText(){return qr(this.responseBuffer)}get response(){if(this.logger.info(`getResponse (responseType: %s)`,this.request.responseType),this.request.readyState!==this.request.DONE)return null;switch(this.request.responseType){case`json`:{let e=Bi(this.responseBufferToText());return this.logger.info(`resolved response JSON`,e),e}case`arraybuffer`:{let e=Jr(this.responseBuffer);return this.logger.info(`resolved response ArrayBuffer`,e),e}case`blob`:{let e=this.request.getResponseHeader(`Content-Type`)||`text/plain`,t=new Blob([this.responseBufferToText()],{type:e});return this.logger.info(`resolved response Blob (mime type: %s)`,t,e),t}default:{let e=this.responseBufferToText();return this.logger.info(`resolving "%s" response type as text`,this.request.responseType,e),e}}}get responseText(){if(L(this.request.responseType===``||this.request.responseType===`text`,`InvalidStateError: The object is in invalid state.`),this.request.readyState!==this.request.LOADING&&this.request.readyState!==this.request.DONE)return``;let e=this.responseBufferToText();return this.logger.info(`getResponseText: "%s"`,e),e}get responseXML(){if(L(this.request.responseType===``||this.request.responseType===`document`,`InvalidStateError: The object is in invalid state.`),this.request.readyState!==this.request.DONE)return null;let e=this.request.getResponseHeader(`Content-Type`)||``;return typeof DOMParser>`u`?(console.warn(`Cannot retrieve XMLHttpRequest response body as XML: DOMParser is not defined. You are likely using an environment that is not browser or does not polyfill browser globals correctly.`),null):zi(e)?new DOMParser().parseFromString(this.responseBufferToText(),e):null}errorWith(e){this[Wi]=!0,this.logger.info(`responding with an error`),this.setReadyState(this.request.DONE),this.trigger(`error`,this.request),this.trigger(`loadend`,this.request)}setReadyState(e){if(this.logger.info(`setReadyState: %d -> %d`,this.request.readyState,e),this.request.readyState===e){this.logger.info(`ready state identical, skipping transition...`);return}Z(this.request,`readyState`,e),this.logger.info(`set readyState to: %d`,e),e!==this.request.UNSENT&&(this.logger.info(`triggering "readystatechange" event...`),this.trigger(`readystatechange`,this.request))}trigger(e,t,n){let r=t[`on${e}`],i=Fi(t,e,n);this.logger.info(`trigger "%s"`,e,n||``),typeof r==`function`&&(this.logger.info(`found a direct "%s" callback, calling...`,e),r.call(t,i));let a=t instanceof XMLHttpRequestUpload?this.uploadEvents:this.events;for(let[n,r]of a)n===e&&(this.logger.info(`found %d listener(s) for "%s" event, calling...`,r.length,e),r.forEach(e=>e.call(t,i)))}toFetchApiRequest(e){this.logger.info(`converting request to a Fetch API Request...`);let t=e instanceof Document?e.documentElement.innerText:e,n=new Br(this.url.href,{method:this.method,headers:this.requestHeaders,credentials:this.request.withCredentials?`include`:`same-origin`,body:[`GET`,`HEAD`].includes(this.method.toUpperCase())?null:t});return Z(n,`headers`,Li(n.headers,{methodCall:([e,t],r)=>{switch(e){case`append`:case`set`:{let[e,n]=t;this.request.setRequestHeader(e,n);break}case`delete`:{let[e]=t;console.warn(`XMLHttpRequest: Cannot remove a "${e}" header from the Fetch API representation of the "${n.method} ${n.url}" request. XMLHttpRequest headers cannot be removed.`);break}}return r()}})),Wr(n,this.request),this.logger.info(`converted request to a Fetch API Request!`,n),n}};function Ji(e){return typeof location>`u`?new URL(e):new URL(e.toString(),location.href)}function Z(e,t,n){Reflect.defineProperty(e,t,{writable:!0,enumerable:!0,value:n})}function Yi({emitter:e,logger:t}){return new Proxy(globalThis.XMLHttpRequest,{construct(n,r,i){t.info(`constructed new XMLHttpRequest`);let a=Reflect.construct(n,r,i),o=Object.getOwnPropertyDescriptors(n.prototype);for(let e in o)Reflect.defineProperty(a,e,o[e]);let s=new qi(a,t);return s.onRequest=async function({request:t,requestId:n}){let r=new Lr(t,{passthrough:()=>{this.logger.info(`no mocked response received, performing request as-is...`)},respondWith:async e=>{if(_i(e)){this.errorWith(TypeError(`Network error`));return}await this.respondWith(e)},errorWith:e=>{this.logger.info(`request errored!`,{error:e}),e instanceof Error&&this.errorWith(e)}});this.logger.info(`awaiting mocked response...`),this.logger.info(`emitting the "request" event for %s listener(s)...`,e.listenerCount(`request`)),await bi({request:t,requestId:n,controller:r,emitter:e})},s.onResponse=async function({response:t,isMockedResponse:n,request:r,requestId:i}){this.logger.info(`emitting the "response" event for %s listener(s)...`,e.listenerCount(`response`)),e.emit(`response`,{response:t,isMockedResponse:n,request:r,requestId:i})},s.request}})}var Xi=class e extends lr{static{this.symbol=Symbol.for(`xhr-interceptor`)}constructor(){super(e.symbol)}checkEnvironment(){return mr(`XMLHttpRequest`)}setup(){let e=this.logger.extend(`setup`);e.info(`patching global XMLHttpRequest...`),this.subscriptions.push(fr.applyPatch(globalThis,`XMLHttpRequest`,()=>Yi({emitter:this.emitter,logger:this.logger}))),e.info(`global XMLHttpRequest patched!`,globalThis.XMLHttpRequest.name)}},Zi=class extends kn{constructor(e){super({interceptors:[new Xi,new Ai]}),this.options=e}options;enable(){super.enable(),this.options.quiet||this.#e()}disable(){super.disable(),this.options.quiet||this.#t()}#e(){console.groupCollapsed(`%c${v.formatMessage(`Mocking enabled (fallback mode).`)}`,`color:orangered;font-weight:bold;`),console.log(`%cDocumentation: %chttps://mswjs.io/docs`,`font-weight:bold`,`font-weight:normal`),console.log(`Found an issue? https://github.com/mswjs/msw/issues`),console.groupEnd()}#t(){console.log(`%c${v.formatMessage(`Mocking disabled.`)}`,`color:orangered;font-weight:bold;`)}},Qi=`/mockServiceWorker.js`;function $i(...e){L(!zn(),v.formatMessage("Failed to execute `setupWorker` in a non-browser environment"));let t=an({sources:[],handlers:e});return{async start(e){if(e?.waitUntilReady!=null&&v.warn(`The "waitUntilReady" option has been deprecated. Please remove it from this "worker.start()" call. Follow the recommended Browser integration (https://mswjs.io/docs/integrations/browser) to eliminate any race conditions between the Service Worker registration and any requests made by your application on initial render.`),t.readyState===rn.ENABLED){v.warn(`Found a redundant "worker.start()" call. Note that starting the worker while mocking is already enabled will have no effect. Consider removing this "worker.start()" call.`);return}let n=Mr()?await di.from({serviceWorker:{url:e?.serviceWorker?.url?.toString()||Qi,options:e?.serviceWorker?.options},findWorker:e?.findWorker,quiet:e?.quiet}):new Zi({quiet:e?.quiet});if(t.configure({sources:[n,new kn({interceptors:[new jr]})],onUnhandledFrame:Mn(()=>e?.onUnhandledRequest||`warn`),context:{quiet:e?.quiet}}),await t.enable(),n instanceof di){let[,e]=await n.workerPromise;return e}},stop(){if(t.readyState===rn.DISABLED){v.warn(`Found a redundant "worker.stop()" call. Notice that stopping the worker after it has already been stopped has no effect. Consider removing this "worker.stop()" call.`);return}t.disable(),window.postMessage({type:`msw/worker:stop`})},events:t.events,use:t.use.bind(t),resetHandlers:t.resetHandlers.bind(t),restoreHandlers:t.restoreHandlers.bind(t),listHandlers:t.listHandlers.bind(t)}}function ea(e,t){return e.toLowerCase()===t.toLowerCase()}function ta(e){return e<300?`#69AB32`:e<400?`#F0BB4B`:`#E95F5D`}async function na(e){let t=await e.clone().text();return{url:new URL(e.url),method:e.method,headers:Object.fromEntries(e.headers.entries()),body:t}}var{message:ra}=it;async function ia(e){let t=e.clone(),n=await t.text(),r=t.status||200;return{status:r,statusText:t.statusText||ra[r]||`OK`,headers:Object.fromEntries(t.headers.entries()),body:n}}var aa=Object.create,oa=Object.defineProperty,sa=Object.getOwnPropertyDescriptor,ca=Object.getOwnPropertyNames,la=Object.getPrototypeOf,ua=Object.prototype.hasOwnProperty,da=(e,t)=>function(){return t||(0,e[ca(e)[0]])((t={exports:{}}).exports,t),t.exports},fa=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of ca(t))!ua.call(e,i)&&i!==n&&oa(e,i,{get:()=>t[i],enumerable:!(r=sa(t,i))||r.enumerable});return e},pa=((e,t,n)=>(n=e==null?{}:aa(la(e)),fa(t||!e||!e.__esModule?oa(n,`default`,{value:e,enumerable:!0}):n,e)))(da({"node_modules/.pnpm/cookie@1.1.1/node_modules/cookie/dist/index.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.parseCookie=c,e.parse=c,e.stringifyCookie=l,e.stringifySetCookie=u,e.serialize=u,e.parseSetCookie=d,e.stringifySetCookie=u,e.serialize=u;var t=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/,n=/^[\u0021-\u003A\u003C-\u007E]*$/,r=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,i=/^[\u0020-\u003A\u003D-\u007E]*$/,a=/^-?\d+$/,o=Object.prototype.toString,s=(()=>{let e=function(){};return e.prototype=Object.create(null),e})();function c(e,t){let n=new s,r=e.length;if(r<2)return n;let i=t?.decode||h,a=0;do{let t=p(e,a,r);if(t===-1)break;let o=f(e,a,r);if(t>o){a=e.lastIndexOf(`;`,t-1)+1;continue}let s=m(e,a,t);n[s]===void 0&&(n[s]=i(m(e,t+1,o))),a=o+1}while(a<r);return n}function l(e,r){let i=r?.encode||encodeURIComponent,a=[];for(let r of Object.keys(e)){let o=e[r];if(o===void 0)continue;if(!t.test(r))throw TypeError(`cookie name is invalid: ${r}`);let s=i(o);if(!n.test(s))throw TypeError(`cookie val is invalid: ${o}`);a.push(`${r}=${s}`)}return a.join(`; `)}function u(e,a,o){let s=typeof e==`object`?e:{...o,name:e,value:String(a)},c=(typeof a==`object`?a:o)?.encode||encodeURIComponent;if(!t.test(s.name))throw TypeError(`argument name is invalid: ${s.name}`);let l=s.value?c(s.value):``;if(!n.test(l))throw TypeError(`argument val is invalid: ${s.value}`);let u=s.name+`=`+l;if(s.maxAge!==void 0){if(!Number.isInteger(s.maxAge))throw TypeError(`option maxAge is invalid: ${s.maxAge}`);u+=`; Max-Age=`+s.maxAge}if(s.domain){if(!r.test(s.domain))throw TypeError(`option domain is invalid: ${s.domain}`);u+=`; Domain=`+s.domain}if(s.path){if(!i.test(s.path))throw TypeError(`option path is invalid: ${s.path}`);u+=`; Path=`+s.path}if(s.expires){if(!g(s.expires)||!Number.isFinite(s.expires.valueOf()))throw TypeError(`option expires is invalid: ${s.expires}`);u+=`; Expires=`+s.expires.toUTCString()}if(s.httpOnly&&(u+=`; HttpOnly`),s.secure&&(u+=`; Secure`),s.partitioned&&(u+=`; Partitioned`),s.priority)switch(typeof s.priority==`string`?s.priority.toLowerCase():void 0){case`low`:u+=`; Priority=Low`;break;case`medium`:u+=`; Priority=Medium`;break;case`high`:u+=`; Priority=High`;break;default:throw TypeError(`option priority is invalid: ${s.priority}`)}if(s.sameSite)switch(typeof s.sameSite==`string`?s.sameSite.toLowerCase():s.sameSite){case!0:case`strict`:u+=`; SameSite=Strict`;break;case`lax`:u+=`; SameSite=Lax`;break;case`none`:u+=`; SameSite=None`;break;default:throw TypeError(`option sameSite is invalid: ${s.sameSite}`)}return u}function d(e,t){let n=t?.decode||h,r=e.length,i=f(e,0,r),o=p(e,0,i),s=o===-1?{name:``,value:n(m(e,0,i))}:{name:m(e,0,o),value:n(m(e,o+1,i))},c=i+1;for(;c<r;){let t=f(e,c,r),n=p(e,c,t),i=n===-1?m(e,c,t):m(e,c,n),o=n===-1?void 0:m(e,n+1,t);switch(i.toLowerCase()){case`httponly`:s.httpOnly=!0;break;case`secure`:s.secure=!0;break;case`partitioned`:s.partitioned=!0;break;case`domain`:s.domain=o;break;case`path`:s.path=o;break;case`max-age`:o&&a.test(o)&&(s.maxAge=Number(o));break;case`expires`:if(!o)break;let e=new Date(o);Number.isFinite(e.valueOf())&&(s.expires=e);break;case`priority`:if(!o)break;let t=o.toLowerCase();(t===`low`||t===`medium`||t===`high`)&&(s.priority=t);break;case`samesite`:if(!o)break;let n=o.toLowerCase();(n===`lax`||n===`strict`||n===`none`)&&(s.sameSite=n);break}c=t+1}return s}function f(e,t,n){let r=e.indexOf(`;`,t);return r===-1?n:r}function p(e,t,n){let r=e.indexOf(`=`,t);return r<n?r:-1}function m(e,t,n){let r=t,i=n;do{let t=e.charCodeAt(r);if(t!==32&&t!==9)break}while(++r<i);for(;i>r;){let t=e.charCodeAt(i-1);if(t!==32&&t!==9)break;i--}return e.slice(r,i)}function h(e){if(e.indexOf(`%`)===-1)return e;try{return decodeURIComponent(e)}catch{return e}}function g(e){return o.call(e)===`[object Date]`}}})(),1),ma=pa.default||pa,ha=ma.parse,ga=ma.serialize;function _a(e){let t=ha(e),n={};for(let e in t)t[e]!==void 0&&(n[e]=t[e]);return n}function va(){return _a(document.cookie)}function ya(e){if(typeof document>`u`||typeof location>`u`)return{};switch(e.credentials){case`same-origin`:{let t=new URL(e.url);return location.origin===t.origin?va():{}}case`include`:return va();default:return{}}}function ba(e){let t=e.headers.get(`cookie`),n=t?_a(t):{},r=ya(e);for(let t in r)e.headers.append(`cookie`,ga(t,r[t]));let i=yt.getCookies(e.url),a=Object.fromEntries(i.map(e=>[e.key,e.value]));for(let t of i)e.headers.append(`cookie`,t.toString());return{...r,...a,...n}}var Q=(e=>(e.HEAD=`HEAD`,e.GET=`GET`,e.POST=`POST`,e.PUT=`PUT`,e.PATCH=`PATCH`,e.OPTIONS=`OPTIONS`,e.DELETE=`DELETE`,e))(Q||{}),xa=class extends ht{constructor(e,t,n,r){let i=typeof t==`function`?`[custom predicate]`:t;super({info:{header:`${e}${i?` ${i}`:``}`,path:t,method:e},resolver:n,options:r}),this.checkRedundantQueryParameters()}checkRedundantQueryParameters(){let{method:e,path:t}=this.info;!t||t instanceof RegExp||typeof t==`function`||Ft(t)!==t&&v.warn(`Found a redundant usage of query parameters in the request handler URL for "${e} ${t}". Please match against a path instead and access query parameters using "new URL(request.url).searchParams" instead. Learn more: https://mswjs.io/docs/http/intercepting-requests#querysearch-parameters`)}async parse(e){let t=new URL(e.request.url),n=ba(e.request);if(typeof this.info.path==`function`){let t=await this.info.path({request:e.request,cookies:n});return{match:typeof t==`boolean`?{matches:t,params:{}}:t,cookies:n}}return{match:this.info.path?Bt(t,this.info.path,e.resolutionContext?.baseUrl):{matches:!1,params:{}},cookies:n}}async predicate(e){let t=this.matchMethod(e.request.method),n=e.parsedResult.match.matches;return t&&n}matchMethod(e){return this.info.method instanceof RegExp?this.info.method.test(e):ea(this.info.method,e)}extendResolverArgs(e){return{params:e.parsedResult.match?.params||{},cookies:e.parsedResult.cookies}}async log(e){let t=ke(e.request.url),n=await na(e.request),r=await ia(e.response),i=ta(r.status);console.groupCollapsed(v.formatMessage(`${Vt()} ${e.request.method} ${t} (%c${r.status} ${r.statusText}%c)`),`color:${i}`,`color:inherit`),console.log(`Request`,n),console.log(`Handler:`,this),console.log(`Response`,r),console.groupEnd()}};function $(e){return(t,n,r={})=>new xa(e,t,n,r)}var Sa={all:$(/.+/),head:$(Q.HEAD),get:$(Q.GET),post:$(Q.POST),put:$(Q.PUT),delete:$(Q.DELETE),patch:$(Q.PATCH),options:$(Q.OPTIONS)};function Ca(e){return Ht(e)&&typeof Reflect.get(e,`ref`)==`function`&&typeof Reflect.get(e,`unref`)==`function`}var wa=2147483647;function Ta(){return b()?5:Math.floor(Math.random()*300+100)}async function Ea(e){let t;if(typeof e==`string`)switch(e){case`infinite`:t=wa;break;case`real`:t=Ta();break;default:throw Error(`Failed to delay a response: unknown delay mode "${e}". Please make sure you provide one of the supported modes ("real", "infinite") or a number.`)}else if(e===void 0)t=Ta();else{if(e>2147483647)throw Error(`Failed to delay a response: provided delay duration (${e}) exceeds the maximum allowed duration for "setTimeout" (${wa}). This will cause the response to be returned immediately. Please use a number within the allowed range to delay the response by exact duration, or consider the "infinite" delay mode to delay the response indefinitely.`);t=e}return new Promise(e=>{let n=setTimeout(e,t);t===2147483647&&b()&&Ca(n)&&n.unref()})}var Da={description:`Reference responses for the capabilities endpoint the host queries at stage 2. The endpoint does not exist yet - defining it is OpenHands/automation#262. Field names here are the contract that setup.requires.features, the trigger kinds in setup.form.triggers, and the cron and timezone field types are written against.`,endpoint:{method:`GET`,path:`/v1/capabilities`},responses:{supported:{description:`A deployment that is publicly reachable and can run every archetype.`,status:200,body:{ready:!0,triggerKinds:[`cron`,`event`],eventSources:[`github`],eventTypes:[`issue_comment.created`,`pull_request.opened`,`pull_request.labeled`,`pull_request_review_comment.created`,`push`],triggers:{cron:{minIntervalSeconds:300,timezones:[`UTC`,`America/Los_Angeles`,`America/New_York`,`Asia/Tokyo`,`Europe/London`]},event:{filterLanguage:`jmespath`,filterFunctions:[`contains`,`ends_with`,`glob`,`icontains`,`lower`,`regex`,`starts_with`,`upper`]}},features:[`conversationDispatch`,`mcpTools`,`presetPlugin`,`presetPrompt`,`repoClone`,`webhookDelivery`]}},cronOnly:{description:`A deployment that is not reachable from the public internet, so external services cannot deliver webhooks to it. Scheduled polling is the documented alternative - see skills/openhands-automation/SKILL.md.`,status:200,body:{ready:!0,triggerKinds:[`cron`],eventSources:[],eventTypes:[],triggers:{cron:{minIntervalSeconds:300,timezones:[`UTC`]}},features:[`conversationDispatch`,`mcpTools`,`presetPrompt`,`repoClone`]}},notReady:{description:`The automation service is reachable but not accepting work. It offers no features and no trigger kinds, so every setup block is blocked.`,status:200,body:{ready:!1,triggerKinds:[],eventSources:[],eventTypes:[],triggers:{},features:[]}}}};export{dt as a,$i as i,Ea as n,Sa as r,Da as t};
@@ -1 +1 @@
1
- import{t as e}from"./iconBase-B2rQun3J.js";function t(t){return e({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M256 48h-.7c-55.4.2-107.4 21.9-146.6 61.1C69.6 148.4 48 200.5 48 256s21.6 107.6 60.8 146.9c39.1 39.2 91.2 60.9 146.6 61.1h.7c114.7 0 208-93.3 208-208S370.7 48 256 48zm180.2 194h-77.6c-.9-26.7-4.2-52.2-9.8-76.2 17.1-5.5 33.7-12.5 49.7-21 22 28.2 35 61.6 37.7 97.2zM242 242h-61.8c.8-24.5 3.8-47.7 8.8-69.1 17.4 3.9 35.1 6.3 53 7.1v62zm0 28v61.9c-17.8.8-35.6 3.2-53 7.1-5-21.4-8-44.6-8.8-69H242zm28 0h61.3c-.8 24.4-3.8 47.6-8.8 68.9-17.2-3.9-34.8-6.2-52.5-7V270zm0-28v-62c17.8-.8 35.4-3.2 52.5-7 5 21.4 8 44.5 8.8 69H270zm109.4-117.9c-12.3 6.1-25 11.3-38 15.5-7.1-21.4-16.1-39.9-26.5-54.5 24 8.3 45.9 21.6 64.5 39zM315 146.8c-14.7 3.2-29.8 5.2-45 6V79.4c17 9.2 33.6 33.9 45 67.4zM242 79v73.7c-15.4-.8-30.6-2.8-45.5-6.1 11.6-33.8 28.4-58.5 45.5-67.6zm-45.6 6.4c-10.3 14.5-19.2 32.9-26.3 54.1-12.8-4.2-25.4-9.4-37.5-15.4 18.4-17.3 40.1-30.5 63.8-38.7zm-82.9 59.5c15.8 8.4 32.3 15.4 49.2 20.8-5.7 23.9-9 49.5-9.8 76.2h-77c2.6-35.4 15.6-68.8 37.6-97zM75.8 270h77c.9 26.7 4.2 52.3 9.8 76.2-16.9 5.5-33.4 12.5-49.2 20.8-21.9-28.1-34.9-61.5-37.6-97zm56.7 117.9c12.1-6 24.7-11.2 37.6-15.4 7.1 21.3 16 39.6 26.3 54.2-23.7-8.4-45.4-21.5-63.9-38.8zm64-22.6c14.9-3.3 30.2-5.3 45.5-6.1V433c-17.2-9.1-33.9-33.9-45.5-67.7zm73.5 67.3v-73.5c15.2.8 30.3 2.8 45 6-11.4 33.6-28 58.3-45 67.5zm45-5.7c10.4-14.6 19.4-33.1 26.5-54.5 13 4.2 25.8 9.5 38 15.6-18.6 17.3-40.6 30.6-64.5 38.9zm83.5-59.8c-16-8.5-32.6-15.5-49.7-21 5.6-23.9 8.9-49.4 9.8-76.1h77.6c-2.7 35.5-15.6 68.9-37.7 97.1z`},child:[]}]})(t)}export{t};
1
+ import{t as e}from"./iconBase-C2sR-uAp.js";function t(t){return e({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M256 48h-.7c-55.4.2-107.4 21.9-146.6 61.1C69.6 148.4 48 200.5 48 256s21.6 107.6 60.8 146.9c39.1 39.2 91.2 60.9 146.6 61.1h.7c114.7 0 208-93.3 208-208S370.7 48 256 48zm180.2 194h-77.6c-.9-26.7-4.2-52.2-9.8-76.2 17.1-5.5 33.7-12.5 49.7-21 22 28.2 35 61.6 37.7 97.2zM242 242h-61.8c.8-24.5 3.8-47.7 8.8-69.1 17.4 3.9 35.1 6.3 53 7.1v62zm0 28v61.9c-17.8.8-35.6 3.2-53 7.1-5-21.4-8-44.6-8.8-69H242zm28 0h61.3c-.8 24.4-3.8 47.6-8.8 68.9-17.2-3.9-34.8-6.2-52.5-7V270zm0-28v-62c17.8-.8 35.4-3.2 52.5-7 5 21.4 8 44.5 8.8 69H270zm109.4-117.9c-12.3 6.1-25 11.3-38 15.5-7.1-21.4-16.1-39.9-26.5-54.5 24 8.3 45.9 21.6 64.5 39zM315 146.8c-14.7 3.2-29.8 5.2-45 6V79.4c17 9.2 33.6 33.9 45 67.4zM242 79v73.7c-15.4-.8-30.6-2.8-45.5-6.1 11.6-33.8 28.4-58.5 45.5-67.6zm-45.6 6.4c-10.3 14.5-19.2 32.9-26.3 54.1-12.8-4.2-25.4-9.4-37.5-15.4 18.4-17.3 40.1-30.5 63.8-38.7zm-82.9 59.5c15.8 8.4 32.3 15.4 49.2 20.8-5.7 23.9-9 49.5-9.8 76.2h-77c2.6-35.4 15.6-68.8 37.6-97zM75.8 270h77c.9 26.7 4.2 52.3 9.8 76.2-16.9 5.5-33.4 12.5-49.2 20.8-21.9-28.1-34.9-61.5-37.6-97zm56.7 117.9c12.1-6 24.7-11.2 37.6-15.4 7.1 21.3 16 39.6 26.3 54.2-23.7-8.4-45.4-21.5-63.9-38.8zm64-22.6c14.9-3.3 30.2-5.3 45.5-6.1V433c-17.2-9.1-33.9-33.9-45.5-67.7zm73.5 67.3v-73.5c15.2.8 30.3 2.8 45 6-11.4 33.6-28 58.3-45 67.5zm45-5.7c10.4-14.6 19.4-33.1 26.5-54.5 13 4.2 25.8 9.5 38 15.6-18.6 17.3-40.6 30.6-64.5 38.9zm83.5-59.8c-16-8.5-32.6-15.5-49.7-21 5.6-23.9 8.9-49.4 9.8-76.1h77.6c-2.7 35.5-15.6 68.9-37.7 97.1z`},child:[]}]})(t)}export{t};
@@ -0,0 +1 @@
1
+ import{a as e,t}from"./rolldown-runtime-Cyuzqnbw.js";import{St as n,bt as r}from"./vendor-styling-Ck5D_A2Q.js";import{A as i,C as a,D as o,E as s,M as c,N as l,S as u,T as d,b as f,d as p,h as m,k as h,m as g,s as _,v,w as y,x as b,y as x}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js";var S=e(n(),1);[...p],new TextEncoder,S.Component;function C({state:e,routes:t,getRouteInfo:n,location:r,basename:a,isSpaMode:o}){let s={...e,loaderData:{...e.loaderData}},l=i(t,r,a);if(l)for(let e of l){let t=e.route.id,r=n(t);c(t,r.clientLoader,r.hasLoader,o)&&(r.hasHydrateFallback||!r.hasLoader)?delete s.loaderData[t]:r.hasLoader||(s.loaderData[t]=null)}return s}var w=e(r(),1);function T(e){return S.createElement(m,{flushSync:w.flushSync,...e})}var E=null,D=null;function O(){if(!E&&window.__reactRouterContext&&window.__reactRouterManifest&&window.__reactRouterRouteModules){if(window.__reactRouterManifest.sri===!0){let e=document.querySelector(`script[rr-importmap]`);if(e?.textContent)try{window.__reactRouterManifest.sri=JSON.parse(e.textContent).integrity}catch(e){console.error(`Failed to parse import map`,e)}}E={context:window.__reactRouterContext,manifest:window.__reactRouterManifest,routeModules:window.__reactRouterRouteModules,stateDecodingPromise:void 0,router:void 0,routerInitialized:!1}}}function k({getContext:e,instrumentations:t}){if(O(),!E)throw Error("You must be using the SSR features of React Router in order to skip passing a `router` prop to `<RouterProvider>`");let n=E;if(!E.stateDecodingPromise){let e=E.context.stream;o(e,`No stream found for single fetch decoding`),E.context.stream=void 0,E.stateDecodingPromise=a(e,window).then(e=>{E.context.state=e.value,n.stateDecodingPromise.value=!0}).catch(e=>{n.stateDecodingPromise.error=e})}if(E.stateDecodingPromise.error)throw E.stateDecodingPromise.error;if(!E.stateDecodingPromise.value)throw E.stateDecodingPromise;let r=x(E.manifest.routes,E.routeModules,E.context.state,E.context.ssr,E.context.isSpaMode),i;if(E.context.isSpaMode){let{loaderData:e}=E.context.state;E.manifest.routes.root?.hasLoader&&e&&`root`in e&&(i={loaderData:{root:e.root}})}else i=C({state:E.context.state,routes:r,getRouteInfo:e=>({clientLoader:E.routeModules[e]?.clientLoader,hasLoader:E.manifest.routes[e]?.hasLoader===!0,hasHydrateFallback:E.routeModules[e]?.HydrateFallback!=null}),location:window.location,basename:window.__reactRouterContext?.basename,isSpaMode:E.context.isSpaMode});window.history.state&&window.history.state.masked&&window.history.replaceState({...window.history.state,masked:void 0},``);let c=u({routes:r,history:v(),basename:E.context.basename,getContext:e,hydrationData:i,hydrationRouteProperties:s,instrumentations:t,mapRouteProperties:h,future:{v8_passThroughRequests:E.context.future.v8_passThroughRequests},dataStrategy:d(()=>c,E.manifest,E.routeModules,E.context.ssr,E.context.basename,E.context.future.v8_trailingSlashAwareDataRequests),patchRoutesOnNavigation:y(()=>c,E.manifest,E.routeModules,E.context.ssr,E.context.routeDiscovery,E.context.isSpaMode,E.context.basename)});return E.router=c,c.state.initialized&&(E.routerInitialized=!0,c.initialize()),c.createRoutesForHMR=f,window.__reactRouterDataRouter=c,c}function A(e){D||=k({getContext:e.getContext,instrumentations:e.instrumentations});let[t,n]=S.useState(void 0);S.useEffect(()=>{},[]),S.useEffect(()=>{},[t]);let[r,i]=S.useState(D.state.location);return S.useLayoutEffect(()=>{E&&E.router&&!E.routerInitialized&&(E.routerInitialized=!0,E.router.initialize())},[]),S.useLayoutEffect(()=>{if(E&&E.router)return E.router.subscribe(e=>{e.location!==r&&i(e.location)})},[r]),o(E,`ssrInfo unavailable for HydratedRouter`),l(D,E.manifest,E.routeModules,E.context.ssr,E.context.routeDiscovery,E.context.isSpaMode),S.createElement(S.Fragment,null,S.createElement(_.Provider,{value:{manifest:E.manifest,routeModules:E.routeModules,future:E.context.future,criticalCss:t,ssr:E.context.ssr,isSpaMode:E.context.isSpaMode,routeDiscovery:E.context.routeDiscovery}},S.createElement(g,{location:r},S.createElement(T,{router:D,useTransitions:e.useTransitions,onError:e.onError}))),S.createElement(S.Fragment,null))}b();var j=t((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&j(x,t.startTime-e)}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-T<w)}function D(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&j(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,A=k.port2;k.port1.onmessage=D,O=function(){A.postMessage(null)}}else O=function(){_(D,0)};function j(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,j(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),M=t(((e,t)=>{t.exports=j()}));export{A as n,M as t};