@openhands/agent-canvas 1.0.0-alpha.6 → 1.0.0-alpha.8

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 (728) hide show
  1. package/README.md +32 -7
  2. package/bin/agent-canvas.mjs +35 -2
  3. package/build/assets/{QueryClientProvider-DITRCGAK.js → QueryClientProvider-B7kl84Kj.js} +1 -1
  4. package/build/assets/{Trans-D43bd3yR.js → Trans-1j65oy9O.js} +1 -1
  5. package/build/assets/{acp-providers-SCPK1BIU.js → acp-providers-DauuOsW9.js} +1 -1
  6. package/build/assets/{acp-route-guard-IWlFmS6x.js → acp-route-guard-CQTmeJwM.js} +1 -1
  7. package/build/assets/{active-backend-context-CkP3ZEJs.js → active-backend-context-TVbjnvmP.js} +1 -1
  8. package/build/assets/add-backend-modal-KMmPQNZU.js +1 -0
  9. package/build/assets/{agent-server-client-options-8OJSXbm8.js → agent-server-client-options-DT2GP6VJ.js} +1 -1
  10. package/build/assets/{agent-server-compatibility-DvKtnXHw.js → agent-server-compatibility-2aOx5iWd.js} +1 -1
  11. package/build/assets/{agent-server-conversation-service.api-BdEre_71.js → agent-server-conversation-service.api-DSl9G5UR.js} +3 -3
  12. package/build/assets/{agent-settings-DdisD2Xx.js → agent-settings-B247S9G3.js} +2 -2
  13. package/build/assets/{alert-banner-CvTYN73l.js → alert-banner-BWoqueRw.js} +1 -1
  14. package/build/assets/{analytics-consent-form-modal-BKgT9i2w.js → analytics-consent-form-modal-C7sXfxRh.js} +1 -1
  15. package/build/assets/{app-settings-DcYXtxGP.js → app-settings-BVeSaty9.js} +1 -1
  16. package/build/assets/automation-detail-g5-RZ0da.js +1 -0
  17. package/build/assets/automations-list-DHoq_0MM.js +1 -0
  18. package/build/assets/{backend-form-modal-KudhWUX8.js → backend-form-modal-K6IMCr3p.js} +1 -1
  19. package/build/assets/{backend-synced-settings-badge-BFy2HylT.js → backend-synced-settings-badge-nAfiUWvM.js} +1 -1
  20. package/build/assets/{base-modal-B4HvlFHE.js → base-modal-CQRvRHu1.js} +1 -1
  21. package/build/assets/{brand-button-8fVVei4i.js → brand-button-C2nEKopC.js} +1 -1
  22. package/build/assets/{browser-vYpdU3CR.js → browser-DKG63inJ.js} +1 -1
  23. package/build/assets/{browser-tab-DTM6RyoV.js → browser-tab-B_BuTvrO.js} +1 -1
  24. package/build/assets/{checkmark-BcvXE9bf.js → checkmark-BJJrZUF8.js} +1 -1
  25. package/build/assets/{chevron-left-small-BqSkXTeq.js → chevron-left-small-CSh-sE9L.js} +1 -1
  26. package/build/assets/{circle-plus-check-toggle-DRvuu-RD.js → circle-plus-check-toggle-qs8Va1cC.js} +1 -1
  27. package/build/assets/{clock-DfoVUZVq.js → clock-ZR4Kn-_Y.js} +1 -1
  28. package/build/assets/{close-SnIy2eLD.js → close-BdmyeRqS.js} +1 -1
  29. package/build/assets/{combobox-caret-BMsz5mQX.js → combobox-caret-B53O9Hsq.js} +1 -1
  30. package/build/assets/{condenser-settings-DduLQcpV.js → condenser-settings-A35V3yng.js} +1 -1
  31. package/build/assets/{confirmation-modal-B-DOYMUH.js → confirmation-modal-C9-La0h3.js} +1 -1
  32. package/build/assets/{context-menu-list-item-DzjPB8aC.js → context-menu-list-item-Buu9nc0q.js} +1 -1
  33. package/build/assets/conversation-BD5WemJI.js +19 -0
  34. package/build/assets/conversation-C47K62n8.js +1 -0
  35. package/build/assets/conversation-panel-Dn-S56Gk.js +1 -0
  36. package/build/assets/{conversation-service.api-YTGTw0pz.js → conversation-service.api-C8pYCyV6.js} +1 -1
  37. package/build/assets/{conversation-tab-empty-state-BtFDbyTe.js → conversation-tab-empty-state-D8dNvo-V.js} +1 -1
  38. package/build/assets/conversation-websocket-context-Ywrxd_9p.js +3 -0
  39. package/build/assets/{copy-BxgbrjDT.js → copy-C7Ti2d8C.js} +1 -1
  40. package/build/assets/{custom-toast-handlers-BYxhSr3t.js → custom-toast-handlers-BOc3qeQ7.js} +1 -1
  41. package/build/assets/declaration-D378OjpZ.js +1 -0
  42. package/build/assets/{device-verify-CTbXX9CQ.js → device-verify-CMusn8nX.js} +1 -1
  43. package/build/assets/edit-automation-modal-Dnjxbjn7.js +1 -0
  44. package/build/assets/{ellipsis-button-BoU2-xlG.js → ellipsis-button-ugUATsNo.js} +1 -1
  45. package/build/assets/{entry.client-DU7-q4ZU.js → entry.client-D9uR9Blz.js} +2 -2
  46. package/build/assets/{enum-filter-dropdown-BJt-NplD.js → enum-filter-dropdown-1vpOGySB.js} +1 -1
  47. package/build/assets/{environment-switch-overlay-DQ1n6Iu6.js → environment-switch-overlay-CTCTQikP.js} +1 -1
  48. package/build/assets/{extensions-hub-BW1FAKFJ.js → extensions-hub-BSUseHVF.js} +1 -1
  49. package/build/assets/{extensions-navigation-CbPMhSML.js → extensions-navigation-CT1kc1u_.js} +1 -1
  50. package/build/assets/{files-tab-CbJ4s7Ik.js → files-tab-B3A1NDlZ.js} +1 -1
  51. package/build/assets/{folder-CerIk8uG.js → folder-0WSMImNX.js} +1 -1
  52. package/build/assets/git-control-bar-branch-button-CcIpmyfM.js +27 -0
  53. package/build/assets/{git-provider-icon-D8RE4unY.js → git-provider-icon-DYE9n7fs.js} +1 -1
  54. package/build/assets/{home-D9fJfhQA.js → home-dIzxi5Dd.js} +1 -1
  55. package/build/assets/{i18n-DkYgs32x.js → i18n-DjAGhTis.js} +1 -1
  56. package/build/assets/install-server-modal-z5VaHeXd.js +1 -0
  57. package/build/assets/{launch-DKCU9uJH.js → launch-hZ0ifhcV.js} +1 -1
  58. package/build/assets/{lesson-plan-CmkRbe6Z.js → lesson-plan-DRYG5SLI.js} +1 -1
  59. package/build/assets/{link-external-CvxB0BmI.js → link-external-Df8J52xI.js} +1 -1
  60. package/build/assets/{llm-client-BpIfxETv.js → llm-client-ChQzg4wX.js} +1 -1
  61. package/build/assets/llm-settings-2036m7Wt.js +1 -0
  62. package/build/assets/{llm-settings-BOJC4vD-.js → llm-settings-CcHqGOYL.js} +1 -1
  63. package/build/assets/{loading-spinner-91b5FiMQ.js → loading-spinner-C04FGh14.js} +1 -1
  64. package/build/assets/{manage-backends-modal-DqpzcxdI.js → manage-backends-modal-rYeyGx7j.js} +1 -1
  65. package/build/assets/{manage-workspaces-modal-eG6XgAvw.js → manage-workspaces-modal-C5EuW8m1.js} +1 -1
  66. package/build/assets/manifest-97e839da.js +1 -0
  67. package/build/assets/{markdown-renderer-wZnLDbA1.js → markdown-renderer-CEX4Becj.js} +1 -1
  68. package/build/assets/mcp-C06YssEI.js +9 -0
  69. package/build/assets/messages-T2ewVkbp.js +36 -0
  70. package/build/assets/{modal-backdrop-B04pVYAD.js → modal-backdrop-DTYGVmOR.js} +1 -1
  71. package/build/assets/{modal-body-CgUoFQA1.js → modal-body-YElmM1dV.js} +1 -1
  72. package/build/assets/{modal-close-button-SM_WXzDY.js → modal-close-button-C_GpQt9F.js} +1 -1
  73. package/build/assets/{model-selector-7id-Uirf.js → model-selector-DeMmw-Xa.js} +1 -1
  74. package/build/assets/{navigation-context-BFjstyH6.js → navigation-context-DeIPtGPp.js} +1 -1
  75. package/build/assets/{navigation-link-DFQ7YcWq.js → navigation-link-C9JD4PYD.js} +1 -1
  76. package/build/assets/{openhands-logo-DkDp75rC.js → openhands-logo-CI5Fhn1W.js} +1 -1
  77. package/build/assets/{option-service.api-DN0ZcGjw.js → option-service.api-DsI1UW7N.js} +1 -1
  78. package/build/assets/{organization-service.api-Ct2dZF8M.js → organization-service.api-COwMPFg5.js} +1 -1
  79. package/build/assets/{path-utils-D1ZtqFC7.js → path-utils-CqJboYxo.js} +1 -1
  80. package/build/assets/{plan-components-gOm-daR3.js → plan-components-DEjMuDDG.js} +1 -1
  81. package/build/assets/{planner-tab-yubfN-6U.js → planner-tab-BrntFmb1.js} +1 -1
  82. package/build/assets/{profiles-client-D4twHRVf.js → profiles-client-BGkKEV9j.js} +1 -1
  83. package/build/assets/{providers-C2T07PM3.js → providers-DXvCAN_u.js} +1 -1
  84. package/build/assets/{proxy-BMZyC45G.js → proxy-CurRmrqf.js} +1 -1
  85. package/build/assets/{query-client-config-CiK0GJJO.js → query-client-config-Ba7qAAoO.js} +1 -1
  86. package/build/assets/recommended-automations-launcher-BI9NhG8Y.js +52 -0
  87. package/build/assets/root-BS1Td78t.js +2 -0
  88. package/build/assets/root-DHeCXo9N.css +1 -0
  89. package/build/assets/root-layout-BLjAEgle.js +2 -0
  90. package/build/assets/{sdk-section-page-03k88tIR.js → sdk-section-page-CJW0G04-.js} +1 -1
  91. package/build/assets/{sdk-settings-schema-BY8dOy3a.js → sdk-settings-schema-QBYH-ONX.js} +1 -1
  92. package/build/assets/{search-BCAF9EDS.js → search-Cq_cFrDt.js} +1 -1
  93. package/build/assets/{secrets-service-Z3qtRb_G.js → secrets-service-Bwd5DeUs.js} +1 -1
  94. package/build/assets/{secrets-settings-BnlByuMZ.js → secrets-settings-MLXqOtX2.js} +1 -1
  95. package/build/assets/{server-client-CG1zHqph.js → server-client-C3mC8Hl3.js} +1 -1
  96. package/build/assets/{settings-DyzGLF_d.js → settings-D7E2U5tK.js} +1 -1
  97. package/build/assets/{settings-client-CkXDJwIY.js → settings-client-CwjfwoiB.js} +1 -1
  98. package/build/assets/{settings-dropdown-input-CAQWQgx-.js → settings-dropdown-input-VwAXNrOb.js} +1 -1
  99. package/build/assets/{settings-gear-D4ZkEDGb.js → settings-gear-BJwWR1ej.js} +1 -1
  100. package/build/assets/{settings-index-KtTw49xL.js → settings-index-J-3BNR0W.js} +1 -1
  101. package/build/assets/{settings-input-BWCZt9g2.js → settings-input-DBywAnA7.js} +1 -1
  102. package/build/assets/{settings-list-classes-xMleGkTC.js → settings-list-classes-BOS092DR.js} +1 -1
  103. package/build/assets/{settings-modal-Cv2YWSUY.js → settings-modal-B8vgWDTe.js} +1 -1
  104. package/build/assets/{settings-section-header-context-1wfkgjZZ.js → settings-section-header-context-32x6WTyL.js} +1 -1
  105. package/build/assets/settings-service.api-FvJGK45W.js +1 -0
  106. package/build/assets/{settings-switch-CGap2LtG.js → settings-switch-DTKmHC8F.js} +1 -1
  107. package/build/assets/{settings-utils-BBozxqqi.js → settings-utils-BsvSU3OM.js} +1 -1
  108. package/build/assets/{shared-conversation-BfZNCsvo.js → shared-conversation-a0QV8o99.js} +1 -1
  109. package/build/assets/{sidebar-mobile-menu-toggle-DXplko7u.js → sidebar-mobile-menu-toggle-DTUNI1WQ.js} +1 -1
  110. package/build/assets/{sidebar-nav-link-B4h8naZ7.js → sidebar-nav-link-CnWoZcwc.js} +1 -1
  111. package/build/assets/{skill-card-pill-row-D0oTWx-a.js → skill-card-pill-row-tZ599jli.js} +1 -1
  112. package/build/assets/{skills-BN8atjgW.js → skills-ZyAO5dyK.js} +1 -1
  113. package/build/assets/{skills-plugins-BTnp7QcQ.js → skills-plugins-BSRz041I.js} +1 -1
  114. package/build/assets/{skills-settings-CbOQvzkR.js → skills-settings-DOnMn9q1.js} +2 -2
  115. package/build/assets/{status-DDL-ipIP.js → status-CsatcFbK.js} +1 -1
  116. package/build/assets/{styled-tooltip-Awq4HMw3.js → styled-tooltip-CS3mB_1X.js} +1 -1
  117. package/build/assets/{switch-skeleton-Bv21RGWd.js → switch-skeleton-C-CfhYYV.js} +1 -1
  118. package/build/assets/{task-list-tab-B45ktzHM.js → task-list-tab-Day9nhRT.js} +1 -1
  119. package/build/assets/{terminal-DGuR4559.js → terminal-LNa-iU5c.js} +1 -1
  120. package/build/assets/{terminal-D5pzR9Ru.js → terminal-ro4SNjUU.js} +1 -1
  121. package/build/assets/{toggle-switch-gj6T-wsU.js → toggle-switch-k-IZCDbt.js} +1 -1
  122. package/build/assets/{typography-BbaUAC4V.js → typography-vVUMoNUg.js} +1 -1
  123. package/build/assets/{u-check-circle-DHGiAi-w.js → u-check-circle-DplbarS5.js} +1 -1
  124. package/build/assets/{u-check-circle-half-BPcWtWwv.js → u-check-circle-half-yDuiSZHC.js} +1 -1
  125. package/build/assets/{u-circuit-B_nK9hOu.js → u-circuit-C9tYkpeK.js} +1 -1
  126. package/build/assets/{u-edit-BPFJBd34.js → u-edit-KAUlufD8.js} +1 -1
  127. package/build/assets/{use-active-conversation-Bu5J9iLy.js → use-active-conversation-D15D9GgR.js} +1 -1
  128. package/build/assets/{use-agent-settings-schema-BbtOsR7P.js → use-agent-settings-schema-Bvp5UzV8.js} +1 -1
  129. package/build/assets/{use-agent-state-DN9Nc5pP.js → use-agent-state-DE5dlEXJ.js} +1 -1
  130. package/build/assets/{use-cloud-current-user-id-B_rMUiu8.js → use-cloud-current-user-id-DWVar4st.js} +1 -1
  131. package/build/assets/{use-config-Bcz2JL2t.js → use-config-BSu_53GL.js} +1 -1
  132. package/build/assets/{use-conversation-id-BOaaZahn.js → use-conversation-id-DajhCn2A.js} +1 -1
  133. package/build/assets/{use-create-conversation-BWFA_FId.js → use-create-conversation-DW7AGgLA.js} +1 -1
  134. package/build/assets/{use-handle-plan-click-CgrCGmT1.js → use-handle-plan-click-DpgEQDAV.js} +1 -1
  135. package/build/assets/use-is-authed-hXC8vxgT.js +1 -0
  136. package/build/assets/{use-is-creating-conversation-DhoM7UAB.js → use-is-creating-conversation-DhDeeWfA.js} +1 -1
  137. package/build/assets/{use-launch-skill-in-chat-DOyQsXFO.js → use-launch-skill-in-chat-DVGPFrbI.js} +1 -1
  138. package/build/assets/{use-llm-profiles-CAIzHJDX.js → use-llm-profiles-D3-KXwQ0.js} +1 -1
  139. package/build/assets/use-runtime-is-ready-XFbT16BD.js +1 -0
  140. package/build/assets/{use-save-settings-5m3w89Ph.js → use-save-settings-CEEKSTWG.js} +1 -1
  141. package/build/assets/{use-settings-DzG0C3vO.js → use-settings-DQ7Oo1Hj.js} +1 -1
  142. package/build/assets/{use-settings-nav-items-BIsKeX52.js → use-settings-nav-items-YmrXrjn9.js} +2 -2
  143. package/build/assets/{use-skills-Cn-78xP1.js → use-skills-Xe0vjPMt.js} +1 -1
  144. package/build/assets/{use-unified-vscode-url-C5iI-Z5A.js → use-unified-vscode-url-BOsIOd-b.js} +1 -1
  145. package/build/assets/use-user-conversation-Mc0mQgkl.js +1 -0
  146. package/build/assets/{useMutation-CRJwk4cR.js → useMutation-B4OUESdw.js} +1 -1
  147. package/build/assets/{useTranslation-01pF7z10.js → useTranslation-CpIcQBq6.js} +1 -1
  148. package/build/assets/{utils-Czcl6buL.js → utils-D-HX7JCe.js} +1 -1
  149. package/build/assets/{vendor~conversation-panel~conversation-CbjvWBSu.js → vendor~conversation-panel~conversation-BlCIz9XQ.js} +1 -1
  150. package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-CofhIDpd.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-Ds9quNZ9.js} +1 -1
  151. package/build/assets/vendor~home~mcp~automations-list-C5PoHCy6.js +1 -0
  152. package/build/assets/{vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-BQPOygpY.js → vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-CGlZoBKa.js} +1 -1
  153. package/build/assets/{vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-CyYIBiBk.js → vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-DE11mPxp.js} +1 -1
  154. package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-CuGq_cxH.js → vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-8b8V5bfO.js} +1 -1
  155. package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-CFpDeb9o.js → vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-Dy7L6fMG.js} +1 -1
  156. package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~k776hupu-C1p8-pMr.js → vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~k776hupu-D40EXhZx.js} +1 -1
  157. package/build/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~dp08i1qy-CHrEOFl6.js +48 -0
  158. package/build/assets/{vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-DlKA6SoO.js → vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-CyUbhpbm.js} +1 -1
  159. package/build/assets/{verification-settings-DbziMp4K.js → verification-settings-BtlTiHP8.js} +1 -1
  160. package/build/assets/{vscode-tab-BVhQR2rt.js → vscode-tab-C0ShhiSU.js} +1 -1
  161. package/build/assets/{waiting-for-runtime-message-JotSOBdC.js → waiting-for-runtime-message-DWPl_Yby.js} +1 -1
  162. package/build/assets/{x-mark-CZ57VvRX.js → x-mark-CWI0f9yI.js} +1 -1
  163. package/build/favicon.svg +1 -0
  164. package/build/index.html +4 -4
  165. package/build/locales/ar/openhands.json +8 -0
  166. package/build/locales/ca/openhands.json +8 -0
  167. package/build/locales/de/openhands.json +8 -0
  168. package/build/locales/en/openhands.json +8 -0
  169. package/build/locales/es/openhands.json +8 -0
  170. package/build/locales/fr/openhands.json +8 -0
  171. package/build/locales/it/openhands.json +8 -0
  172. package/build/locales/ja/openhands.json +8 -0
  173. package/build/locales/ko-KR/openhands.json +8 -0
  174. package/build/locales/no/openhands.json +8 -0
  175. package/build/locales/pt/openhands.json +8 -0
  176. package/build/locales/tr/openhands.json +8 -0
  177. package/build/locales/uk/openhands.json +8 -0
  178. package/build/locales/zh-CN/openhands.json +8 -0
  179. package/build/locales/zh-TW/openhands.json +8 -0
  180. package/config/defaults.json +1 -1
  181. package/dist/api/agent-server-config.cjs +1 -1
  182. package/dist/api/agent-server-config.cjs.map +1 -1
  183. package/dist/api/agent-server-config.d.ts +1 -1
  184. package/dist/api/agent-server-config.js +1 -1
  185. package/dist/api/agent-server-config.js.map +1 -1
  186. package/dist/api/conversation-service/agent-server-conversation-service.api.cjs +1 -1
  187. package/dist/api/conversation-service/agent-server-conversation-service.api.cjs.map +1 -1
  188. package/dist/api/conversation-service/agent-server-conversation-service.api.d.ts +12 -0
  189. package/dist/api/conversation-service/agent-server-conversation-service.api.js +4 -0
  190. package/dist/api/conversation-service/agent-server-conversation-service.api.js.map +1 -1
  191. package/dist/api/mcp-service/mcp-service.api.cjs +2 -0
  192. package/dist/api/mcp-service/mcp-service.api.cjs.map +1 -0
  193. package/dist/api/mcp-service/mcp-service.api.d.ts +6 -0
  194. package/dist/api/mcp-service/mcp-service.api.js +36 -0
  195. package/dist/api/mcp-service/mcp-service.api.js.map +1 -0
  196. package/dist/api/settings-service/settings-service.api.cjs +1 -1
  197. package/dist/api/settings-service/settings-service.api.cjs.map +1 -1
  198. package/dist/api/settings-service/settings-service.api.d.ts +1 -0
  199. package/dist/api/settings-service/settings-service.api.js +59 -41
  200. package/dist/api/settings-service/settings-service.api.js.map +1 -1
  201. package/dist/components/features/automations/detail/activity-log-item.d.ts +1 -1
  202. package/dist/components/features/automations/recommended-automations-launcher.d.ts +1 -1
  203. package/dist/components/features/backends/backend-selector.cjs +1 -1
  204. package/dist/components/features/backends/backend-selector.cjs.map +1 -1
  205. package/dist/components/features/backends/backend-selector.js +95 -95
  206. package/dist/components/features/backends/backend-selector.js.map +1 -1
  207. package/dist/components/features/chat/change-agent-button.cjs +1 -1
  208. package/dist/components/features/chat/change-agent-button.cjs.map +1 -1
  209. package/dist/components/features/chat/change-agent-button.js +65 -59
  210. package/dist/components/features/chat/change-agent-button.js.map +1 -1
  211. package/dist/components/features/chat/chat-interface.cjs +2 -2
  212. package/dist/components/features/chat/chat-interface.cjs.map +1 -1
  213. package/dist/components/features/chat/chat-interface.js +15 -14
  214. package/dist/components/features/chat/chat-interface.js.map +1 -1
  215. package/dist/components/features/chat/components/chat-input-actions.cjs +1 -1
  216. package/dist/components/features/chat/components/chat-input-actions.cjs.map +1 -1
  217. package/dist/components/features/chat/components/chat-input-actions.js +115 -137
  218. package/dist/components/features/chat/components/chat-input-actions.js.map +1 -1
  219. package/dist/components/features/chat/components/chat-input-model.cjs +1 -1
  220. package/dist/components/features/chat/components/chat-input-model.cjs.map +1 -1
  221. package/dist/components/features/chat/components/chat-input-model.d.ts +10 -0
  222. package/dist/components/features/chat/components/chat-input-model.js +95 -60
  223. package/dist/components/features/chat/components/chat-input-model.js.map +1 -1
  224. package/dist/components/features/chat/components/slash-command-menu.cjs +1 -1
  225. package/dist/components/features/chat/components/slash-command-menu.cjs.map +1 -1
  226. package/dist/components/features/chat/components/slash-command-menu.js +1 -1
  227. package/dist/components/features/chat/components/slash-command-menu.js.map +1 -1
  228. package/dist/components/features/chat/git-control-bar.cjs +1 -1
  229. package/dist/components/features/chat/git-control-bar.cjs.map +1 -1
  230. package/dist/components/features/chat/git-control-bar.js +60 -59
  231. package/dist/components/features/chat/git-control-bar.js.map +1 -1
  232. package/dist/components/features/conversation/conversation-name-with-status.cjs +1 -1
  233. package/dist/components/features/conversation/conversation-name-with-status.cjs.map +1 -1
  234. package/dist/components/features/conversation/conversation-name-with-status.js +2 -2
  235. package/dist/components/features/conversation/conversation-name-with-status.js.map +1 -1
  236. package/dist/components/features/conversation/conversation-name.cjs +1 -1
  237. package/dist/components/features/conversation/conversation-name.cjs.map +1 -1
  238. package/dist/components/features/conversation/conversation-name.js +3 -3
  239. package/dist/components/features/conversation/conversation-name.js.map +1 -1
  240. package/dist/components/features/conversation/conversation-tabs/conversation-tabs-context-menu.cjs +1 -1
  241. package/dist/components/features/conversation/conversation-tabs/conversation-tabs-context-menu.cjs.map +1 -1
  242. package/dist/components/features/conversation/conversation-tabs/conversation-tabs-context-menu.js +1 -1
  243. package/dist/components/features/conversation/conversation-tabs/conversation-tabs-context-menu.js.map +1 -1
  244. package/dist/components/features/conversation/conversation-tabs/conversation-tabs.cjs +1 -1
  245. package/dist/components/features/conversation/conversation-tabs/conversation-tabs.cjs.map +1 -1
  246. package/dist/components/features/conversation/conversation-tabs/conversation-tabs.js +16 -16
  247. package/dist/components/features/conversation/conversation-tabs/conversation-tabs.js.map +1 -1
  248. package/dist/components/features/mcp-logo-badge.cjs +1 -1
  249. package/dist/components/features/mcp-logo-badge.cjs.map +1 -1
  250. package/dist/components/features/mcp-logo-badge.d.ts +2 -2
  251. package/dist/components/features/mcp-logo-badge.js +1 -1
  252. package/dist/components/features/mcp-logo-badge.js.map +1 -1
  253. package/dist/components/features/mcp-page/custom-server-editor.cjs +1 -1
  254. package/dist/components/features/mcp-page/custom-server-editor.cjs.map +1 -1
  255. package/dist/components/features/mcp-page/custom-server-editor.js +64 -41
  256. package/dist/components/features/mcp-page/custom-server-editor.js.map +1 -1
  257. package/dist/components/features/mcp-page/install-server-modal.cjs +1 -1
  258. package/dist/components/features/mcp-page/install-server-modal.cjs.map +1 -1
  259. package/dist/components/features/mcp-page/install-server-modal.d.ts +1 -1
  260. package/dist/components/features/mcp-page/install-server-modal.js +126 -102
  261. package/dist/components/features/mcp-page/install-server-modal.js.map +1 -1
  262. package/dist/components/features/mcp-page/installed-server-card.cjs +1 -1
  263. package/dist/components/features/mcp-page/installed-server-card.cjs.map +1 -1
  264. package/dist/components/features/mcp-page/installed-server-card.js +1 -1
  265. package/dist/components/features/mcp-page/installed-server-card.js.map +1 -1
  266. package/dist/components/features/mcp-page/marketplace-card.cjs +1 -1
  267. package/dist/components/features/mcp-page/marketplace-card.cjs.map +1 -1
  268. package/dist/components/features/mcp-page/marketplace-card.d.ts +1 -1
  269. package/dist/components/features/mcp-page/marketplace-card.js +27 -25
  270. package/dist/components/features/mcp-page/marketplace-card.js.map +1 -1
  271. package/dist/components/features/mcp-page/marketplace-section.cjs +1 -1
  272. package/dist/components/features/mcp-page/marketplace-section.cjs.map +1 -1
  273. package/dist/components/features/mcp-page/marketplace-section.d.ts +1 -1
  274. package/dist/components/features/mcp-page/marketplace-section.js +1 -1
  275. package/dist/components/features/mcp-page/marketplace-section.js.map +1 -1
  276. package/dist/components/features/mcp-page/mcp-logo-stack-badge.d.ts +2 -2
  277. package/dist/components/features/settings/mcp-settings/mcp-server-form.cjs +7 -7
  278. package/dist/components/features/settings/mcp-settings/mcp-server-form.cjs.map +1 -1
  279. package/dist/components/features/settings/mcp-settings/mcp-server-form.d.ts +8 -12
  280. package/dist/components/features/settings/mcp-settings/mcp-server-form.js +114 -87
  281. package/dist/components/features/settings/mcp-settings/mcp-server-form.js.map +1 -1
  282. package/dist/components/features/sidebar/sidebar-rail-body.cjs +1 -1
  283. package/dist/components/features/sidebar/sidebar-rail-body.cjs.map +1 -1
  284. package/dist/components/features/sidebar/sidebar-rail-body.d.ts +1 -2
  285. package/dist/components/features/sidebar/sidebar-rail-body.js +104 -104
  286. package/dist/components/features/sidebar/sidebar-rail-body.js.map +1 -1
  287. package/dist/components/features/sidebar/sidebar.cjs +1 -1
  288. package/dist/components/features/sidebar/sidebar.cjs.map +1 -1
  289. package/dist/components/features/sidebar/sidebar.js +82 -83
  290. package/dist/components/features/sidebar/sidebar.js.map +1 -1
  291. package/dist/context/scroll-context.cjs +1 -1
  292. package/dist/context/scroll-context.cjs.map +1 -1
  293. package/dist/context/scroll-context.d.ts +1 -0
  294. package/dist/context/scroll-context.js +4 -1
  295. package/dist/context/scroll-context.js.map +1 -1
  296. package/dist/contexts/conversation-websocket-context.cjs +3 -3
  297. package/dist/contexts/conversation-websocket-context.cjs.map +1 -1
  298. package/dist/contexts/conversation-websocket-context.js +36 -36
  299. package/dist/contexts/conversation-websocket-context.js.map +1 -1
  300. package/dist/favicon.svg +1 -0
  301. package/dist/hooks/mutation/use-switch-acp-model.cjs +2 -0
  302. package/dist/hooks/mutation/use-switch-acp-model.cjs.map +1 -0
  303. package/dist/hooks/mutation/use-switch-acp-model.d.ts +23 -0
  304. package/dist/hooks/mutation/use-switch-acp-model.js +26 -0
  305. package/dist/hooks/mutation/use-switch-acp-model.js.map +1 -0
  306. package/dist/hooks/mutation/use-test-mcp-server.cjs +2 -0
  307. package/dist/hooks/mutation/use-test-mcp-server.cjs.map +1 -0
  308. package/dist/hooks/mutation/use-test-mcp-server.d.ts +2 -0
  309. package/dist/hooks/mutation/use-test-mcp-server.js +10 -0
  310. package/dist/hooks/mutation/use-test-mcp-server.js.map +1 -0
  311. package/dist/hooks/query/use-automation-detail.d.ts +3 -2
  312. package/dist/hooks/query/use-local-git-info.cjs +3 -1
  313. package/dist/hooks/query/use-local-git-info.cjs.map +1 -1
  314. package/dist/hooks/query/use-local-git-info.d.ts +2 -2
  315. package/dist/hooks/query/use-local-git-info.js +27 -24
  316. package/dist/hooks/query/use-local-git-info.js.map +1 -1
  317. package/dist/hooks/use-acp-model-context.cjs.map +1 -1
  318. package/dist/hooks/use-acp-model-context.d.ts +3 -4
  319. package/dist/hooks/use-acp-model-context.js.map +1 -1
  320. package/dist/hooks/use-chat-input-model-state.cjs +2 -0
  321. package/dist/hooks/use-chat-input-model-state.cjs.map +1 -0
  322. package/dist/hooks/use-chat-input-model-state.d.ts +12 -0
  323. package/dist/hooks/use-chat-input-model-state.js +29 -0
  324. package/dist/hooks/use-chat-input-model-state.js.map +1 -0
  325. package/dist/i18n/declaration.cjs +1 -1
  326. package/dist/i18n/declaration.cjs.map +1 -1
  327. package/dist/i18n/declaration.d.ts +8 -0
  328. package/dist/i18n/declaration.js +1 -1
  329. package/dist/i18n/declaration.js.map +1 -1
  330. package/dist/i18n/translation.cjs +2 -2
  331. package/dist/i18n/translation.cjs.map +1 -1
  332. package/dist/i18n/translation.js +136 -0
  333. package/dist/i18n/translation.js.map +1 -1
  334. package/dist/locales/ar/openhands.json +8 -0
  335. package/dist/locales/ca/openhands.json +8 -0
  336. package/dist/locales/de/openhands.json +8 -0
  337. package/dist/locales/en/openhands.json +8 -0
  338. package/dist/locales/es/openhands.json +8 -0
  339. package/dist/locales/fr/openhands.json +8 -0
  340. package/dist/locales/it/openhands.json +8 -0
  341. package/dist/locales/ja/openhands.json +8 -0
  342. package/dist/locales/ko-KR/openhands.json +8 -0
  343. package/dist/locales/no/openhands.json +8 -0
  344. package/dist/locales/pt/openhands.json +8 -0
  345. package/dist/locales/tr/openhands.json +8 -0
  346. package/dist/locales/uk/openhands.json +8 -0
  347. package/dist/locales/zh-CN/openhands.json +8 -0
  348. package/dist/locales/zh-TW/openhands.json +8 -0
  349. package/dist/node_modules/@openhands/extensions/integrations/catalog/airtable.cjs +2 -0
  350. package/dist/node_modules/@openhands/extensions/integrations/catalog/airtable.cjs.map +1 -0
  351. package/dist/node_modules/@openhands/extensions/integrations/catalog/airtable.js +37 -0
  352. package/dist/node_modules/@openhands/extensions/integrations/catalog/airtable.js.map +1 -0
  353. package/dist/node_modules/@openhands/extensions/integrations/catalog/apify.cjs +2 -0
  354. package/dist/node_modules/@openhands/extensions/integrations/catalog/apify.cjs.map +1 -0
  355. package/dist/node_modules/@openhands/extensions/integrations/catalog/apify.js +36 -0
  356. package/dist/node_modules/@openhands/extensions/integrations/catalog/apify.js.map +1 -0
  357. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/atlassian.cjs +1 -1
  358. package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian.cjs.map +1 -0
  359. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/atlassian.js +15 -5
  360. package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian.js.map +1 -0
  361. package/dist/node_modules/@openhands/extensions/integrations/catalog/brave-search.cjs +2 -0
  362. package/dist/node_modules/@openhands/extensions/integrations/catalog/brave-search.cjs.map +1 -0
  363. package/dist/node_modules/@openhands/extensions/integrations/catalog/brave-search.js +36 -0
  364. package/dist/node_modules/@openhands/extensions/integrations/catalog/brave-search.js.map +1 -0
  365. package/dist/node_modules/@openhands/extensions/integrations/catalog/browser-mcp.cjs +2 -0
  366. package/dist/node_modules/@openhands/extensions/integrations/catalog/browser-mcp.cjs.map +1 -0
  367. package/dist/node_modules/@openhands/extensions/integrations/catalog/browser-mcp.js +31 -0
  368. package/dist/node_modules/@openhands/extensions/integrations/catalog/browser-mcp.js.map +1 -0
  369. package/dist/node_modules/@openhands/extensions/integrations/catalog/clickhouse.cjs +2 -0
  370. package/dist/node_modules/@openhands/extensions/integrations/catalog/clickhouse.cjs.map +1 -0
  371. package/dist/node_modules/@openhands/extensions/integrations/catalog/clickhouse.js +52 -0
  372. package/dist/node_modules/@openhands/extensions/integrations/catalog/clickhouse.js.map +1 -0
  373. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/cloudflare-bindings.cjs +1 -1
  374. package/dist/node_modules/@openhands/extensions/integrations/catalog/cloudflare-bindings.cjs.map +1 -0
  375. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/cloudflare-bindings.js +15 -5
  376. package/dist/node_modules/@openhands/extensions/integrations/catalog/cloudflare-bindings.js.map +1 -0
  377. package/dist/node_modules/@openhands/extensions/integrations/catalog/cloudflare-browser-rendering.cjs +2 -0
  378. package/dist/node_modules/@openhands/extensions/integrations/catalog/cloudflare-browser-rendering.cjs.map +1 -0
  379. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/cloudflare-browser-rendering.js +15 -5
  380. package/dist/node_modules/@openhands/extensions/integrations/catalog/cloudflare-browser-rendering.js.map +1 -0
  381. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/cloudflare-builds.cjs +1 -1
  382. package/dist/node_modules/@openhands/extensions/integrations/catalog/cloudflare-builds.cjs.map +1 -0
  383. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/cloudflare-builds.js +15 -5
  384. package/dist/node_modules/@openhands/extensions/integrations/catalog/cloudflare-builds.js.map +1 -0
  385. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/cloudflare-docs.cjs +1 -1
  386. package/dist/node_modules/@openhands/extensions/integrations/catalog/cloudflare-docs.cjs.map +1 -0
  387. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/cloudflare-docs.js +15 -5
  388. package/dist/node_modules/@openhands/extensions/integrations/catalog/cloudflare-docs.js.map +1 -0
  389. package/dist/node_modules/@openhands/extensions/integrations/catalog/cloudflare-observability.cjs +2 -0
  390. package/dist/node_modules/@openhands/extensions/integrations/catalog/cloudflare-observability.cjs.map +1 -0
  391. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/cloudflare-observability.js +15 -5
  392. package/dist/node_modules/@openhands/extensions/integrations/catalog/cloudflare-observability.js.map +1 -0
  393. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/deepwiki.cjs +1 -1
  394. package/dist/node_modules/@openhands/extensions/integrations/catalog/deepwiki.cjs.map +1 -0
  395. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/deepwiki.js +15 -5
  396. package/dist/node_modules/@openhands/extensions/integrations/catalog/deepwiki.js.map +1 -0
  397. package/dist/node_modules/@openhands/extensions/integrations/catalog/elevenlabs.cjs +2 -0
  398. package/dist/node_modules/@openhands/extensions/integrations/catalog/elevenlabs.cjs.map +1 -0
  399. package/dist/node_modules/@openhands/extensions/integrations/catalog/elevenlabs.js +36 -0
  400. package/dist/node_modules/@openhands/extensions/integrations/catalog/elevenlabs.js.map +1 -0
  401. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/everything.cjs +1 -1
  402. package/dist/node_modules/@openhands/extensions/integrations/catalog/everything.cjs.map +1 -0
  403. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/everything.js +13 -6
  404. package/dist/node_modules/@openhands/extensions/integrations/catalog/everything.js.map +1 -0
  405. package/dist/node_modules/@openhands/extensions/integrations/catalog/exa.cjs +2 -0
  406. package/dist/node_modules/@openhands/extensions/integrations/catalog/exa.cjs.map +1 -0
  407. package/dist/node_modules/@openhands/extensions/integrations/catalog/exa.js +36 -0
  408. package/dist/node_modules/@openhands/extensions/integrations/catalog/exa.js.map +1 -0
  409. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/fetch.cjs +1 -1
  410. package/dist/node_modules/@openhands/extensions/integrations/catalog/fetch.cjs.map +1 -0
  411. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/fetch.js +13 -6
  412. package/dist/node_modules/@openhands/extensions/integrations/catalog/fetch.js.map +1 -0
  413. package/dist/node_modules/@openhands/extensions/integrations/catalog/figma.cjs +2 -0
  414. package/dist/node_modules/@openhands/extensions/integrations/catalog/figma.cjs.map +1 -0
  415. package/dist/node_modules/@openhands/extensions/integrations/catalog/figma.js +40 -0
  416. package/dist/node_modules/@openhands/extensions/integrations/catalog/figma.js.map +1 -0
  417. package/dist/node_modules/@openhands/extensions/integrations/catalog/filesystem.cjs +2 -0
  418. package/dist/node_modules/@openhands/extensions/integrations/catalog/filesystem.cjs.map +1 -0
  419. package/dist/node_modules/@openhands/extensions/integrations/catalog/filesystem.js +39 -0
  420. package/dist/node_modules/@openhands/extensions/integrations/catalog/filesystem.js.map +1 -0
  421. package/dist/node_modules/@openhands/extensions/integrations/catalog/firecrawl.cjs +2 -0
  422. package/dist/node_modules/@openhands/extensions/integrations/catalog/firecrawl.cjs.map +1 -0
  423. package/dist/node_modules/@openhands/extensions/integrations/catalog/firecrawl.js +36 -0
  424. package/dist/node_modules/@openhands/extensions/integrations/catalog/firecrawl.js.map +1 -0
  425. package/dist/node_modules/@openhands/extensions/integrations/catalog/git.cjs +2 -0
  426. package/dist/node_modules/@openhands/extensions/integrations/catalog/git.cjs.map +1 -0
  427. package/dist/node_modules/@openhands/extensions/integrations/catalog/git.js +40 -0
  428. package/dist/node_modules/@openhands/extensions/integrations/catalog/git.js.map +1 -0
  429. package/dist/node_modules/@openhands/extensions/integrations/catalog/github.cjs +2 -0
  430. package/dist/node_modules/@openhands/extensions/integrations/catalog/github.cjs.map +1 -0
  431. package/dist/node_modules/@openhands/extensions/integrations/catalog/github.js +47 -0
  432. package/dist/node_modules/@openhands/extensions/integrations/catalog/github.js.map +1 -0
  433. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/huggingface.cjs +1 -1
  434. package/dist/node_modules/@openhands/extensions/integrations/catalog/huggingface.cjs.map +1 -0
  435. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/huggingface.js +15 -5
  436. package/dist/node_modules/@openhands/extensions/integrations/catalog/huggingface.js.map +1 -0
  437. package/dist/node_modules/@openhands/extensions/integrations/catalog/kagi.cjs +2 -0
  438. package/dist/node_modules/@openhands/extensions/integrations/catalog/kagi.cjs.map +1 -0
  439. package/dist/node_modules/@openhands/extensions/integrations/catalog/kagi.js +36 -0
  440. package/dist/node_modules/@openhands/extensions/integrations/catalog/kagi.js.map +1 -0
  441. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/linear.cjs +1 -1
  442. package/dist/node_modules/@openhands/extensions/integrations/catalog/linear.cjs.map +1 -0
  443. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/linear.js +15 -5
  444. package/dist/node_modules/@openhands/extensions/integrations/catalog/linear.js.map +1 -0
  445. package/dist/node_modules/@openhands/extensions/integrations/catalog/memory.cjs +2 -0
  446. package/dist/node_modules/@openhands/extensions/integrations/catalog/memory.cjs.map +1 -0
  447. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/memory.js +13 -6
  448. package/dist/node_modules/@openhands/extensions/integrations/catalog/memory.js.map +1 -0
  449. package/dist/node_modules/@openhands/extensions/integrations/catalog/mongodb.cjs +2 -0
  450. package/dist/node_modules/@openhands/extensions/integrations/catalog/mongodb.cjs.map +1 -0
  451. package/dist/node_modules/@openhands/extensions/integrations/catalog/mongodb.js +36 -0
  452. package/dist/node_modules/@openhands/extensions/integrations/catalog/mongodb.js.map +1 -0
  453. package/dist/node_modules/@openhands/extensions/integrations/catalog/neon.cjs +2 -0
  454. package/dist/node_modules/@openhands/extensions/integrations/catalog/neon.cjs.map +1 -0
  455. package/dist/node_modules/@openhands/extensions/integrations/catalog/neon.js +40 -0
  456. package/dist/node_modules/@openhands/extensions/integrations/catalog/neon.js.map +1 -0
  457. package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.cjs +2 -0
  458. package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.cjs.map +1 -0
  459. package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.js +39 -0
  460. package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.js.map +1 -0
  461. package/dist/node_modules/@openhands/extensions/integrations/catalog/obsidian.cjs +2 -0
  462. package/dist/node_modules/@openhands/extensions/integrations/catalog/obsidian.cjs.map +1 -0
  463. package/dist/node_modules/@openhands/extensions/integrations/catalog/obsidian.js +38 -0
  464. package/dist/node_modules/@openhands/extensions/integrations/catalog/obsidian.js.map +1 -0
  465. package/dist/node_modules/@openhands/extensions/integrations/catalog/paypal.cjs +2 -0
  466. package/dist/node_modules/@openhands/extensions/integrations/catalog/paypal.cjs.map +1 -0
  467. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/paypal.js +15 -5
  468. package/dist/node_modules/@openhands/extensions/integrations/catalog/paypal.js.map +1 -0
  469. package/dist/node_modules/@openhands/extensions/integrations/catalog/playwright.cjs +2 -0
  470. package/dist/node_modules/@openhands/extensions/integrations/catalog/playwright.cjs.map +1 -0
  471. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/playwright.js +13 -6
  472. package/dist/node_modules/@openhands/extensions/integrations/catalog/playwright.js.map +1 -0
  473. package/dist/node_modules/@openhands/extensions/integrations/catalog/redis.cjs +2 -0
  474. package/dist/node_modules/@openhands/extensions/integrations/catalog/redis.cjs.map +1 -0
  475. package/dist/node_modules/@openhands/extensions/integrations/catalog/redis.js +43 -0
  476. package/dist/node_modules/@openhands/extensions/integrations/catalog/redis.js.map +1 -0
  477. package/dist/node_modules/@openhands/extensions/integrations/catalog/resend.cjs +2 -0
  478. package/dist/node_modules/@openhands/extensions/integrations/catalog/resend.cjs.map +1 -0
  479. package/dist/node_modules/@openhands/extensions/integrations/catalog/resend.js +41 -0
  480. package/dist/node_modules/@openhands/extensions/integrations/catalog/resend.js.map +1 -0
  481. package/dist/node_modules/@openhands/extensions/integrations/catalog/sentry.cjs +2 -0
  482. package/dist/node_modules/@openhands/extensions/integrations/catalog/sentry.cjs.map +1 -0
  483. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/sentry.js +15 -5
  484. package/dist/node_modules/@openhands/extensions/integrations/catalog/sentry.js.map +1 -0
  485. package/dist/node_modules/@openhands/extensions/integrations/catalog/sequential-thinking.cjs +2 -0
  486. package/dist/node_modules/@openhands/extensions/integrations/catalog/sequential-thinking.cjs.map +1 -0
  487. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/sequential-thinking.js +13 -6
  488. package/dist/node_modules/@openhands/extensions/integrations/catalog/sequential-thinking.js.map +1 -0
  489. package/dist/node_modules/@openhands/extensions/integrations/catalog/slack.cjs +2 -0
  490. package/dist/node_modules/@openhands/extensions/integrations/catalog/slack.cjs.map +1 -0
  491. package/dist/node_modules/@openhands/extensions/integrations/catalog/slack.js +45 -0
  492. package/dist/node_modules/@openhands/extensions/integrations/catalog/slack.js.map +1 -0
  493. package/dist/node_modules/@openhands/extensions/integrations/catalog/stripe.cjs +2 -0
  494. package/dist/node_modules/@openhands/extensions/integrations/catalog/stripe.cjs.map +1 -0
  495. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/stripe.js +15 -5
  496. package/dist/node_modules/@openhands/extensions/integrations/catalog/stripe.js.map +1 -0
  497. package/dist/node_modules/@openhands/extensions/integrations/catalog/supabase.cjs +2 -0
  498. package/dist/node_modules/@openhands/extensions/integrations/catalog/supabase.cjs.map +1 -0
  499. package/dist/node_modules/@openhands/extensions/integrations/catalog/supabase.js +37 -0
  500. package/dist/node_modules/@openhands/extensions/integrations/catalog/supabase.js.map +1 -0
  501. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/tavily.cjs +1 -1
  502. package/dist/node_modules/@openhands/extensions/integrations/catalog/tavily.cjs.map +1 -0
  503. package/dist/node_modules/@openhands/extensions/integrations/catalog/tavily.js +39 -0
  504. package/dist/node_modules/@openhands/extensions/integrations/catalog/tavily.js.map +1 -0
  505. package/dist/node_modules/@openhands/extensions/integrations/catalog/time.cjs +2 -0
  506. package/dist/node_modules/@openhands/extensions/integrations/catalog/time.cjs.map +1 -0
  507. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/time.js +13 -6
  508. package/dist/node_modules/@openhands/extensions/integrations/catalog/time.js.map +1 -0
  509. package/dist/node_modules/@openhands/extensions/integrations/index.cjs +2 -0
  510. package/dist/node_modules/@openhands/extensions/integrations/index.cjs.map +1 -0
  511. package/dist/node_modules/@openhands/extensions/integrations/index.js +175 -0
  512. package/dist/node_modules/@openhands/extensions/integrations/index.js.map +1 -0
  513. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/logos.cjs +1 -1
  514. package/dist/node_modules/@openhands/extensions/integrations/logos.cjs.map +1 -0
  515. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/logos.js +2 -2
  516. package/dist/node_modules/@openhands/extensions/integrations/logos.js.map +1 -0
  517. package/dist/node_modules/@openhands/extensions/integrations/oauth-provider-catalog.cjs +2 -0
  518. package/dist/node_modules/@openhands/extensions/integrations/oauth-provider-catalog.cjs.map +1 -0
  519. package/dist/node_modules/@openhands/extensions/integrations/oauth-provider-catalog.js +548 -0
  520. package/dist/node_modules/@openhands/extensions/integrations/oauth-provider-catalog.js.map +1 -0
  521. package/dist/node_modules/@openhands/extensions/integrations/oauth-provider-registration-defaults.cjs +2 -0
  522. package/dist/node_modules/@openhands/extensions/integrations/oauth-provider-registration-defaults.cjs.map +1 -0
  523. package/dist/node_modules/@openhands/extensions/integrations/oauth-provider-registration-defaults.js +482 -0
  524. package/dist/node_modules/@openhands/extensions/integrations/oauth-provider-registration-defaults.js.map +1 -0
  525. package/dist/node_modules/@openhands/typescript-client/dist/client/conversation-client.cjs +1 -1
  526. package/dist/node_modules/@openhands/typescript-client/dist/client/conversation-client.cjs.map +1 -1
  527. package/dist/node_modules/@openhands/typescript-client/dist/client/conversation-client.js +3 -0
  528. package/dist/node_modules/@openhands/typescript-client/dist/client/conversation-client.js.map +1 -1
  529. package/dist/node_modules/@openhands/typescript-client/dist/client/mcp-client.cjs +2 -0
  530. package/dist/node_modules/@openhands/typescript-client/dist/client/mcp-client.cjs.map +1 -0
  531. package/dist/node_modules/@openhands/typescript-client/dist/client/mcp-client.js +22 -0
  532. package/dist/node_modules/@openhands/typescript-client/dist/client/mcp-client.js.map +1 -0
  533. package/dist/node_modules/@openhands/typescript-client/dist/index.cjs +1 -1
  534. package/dist/node_modules/@openhands/typescript-client/dist/index.js +1 -0
  535. package/dist/node_modules/@openhands/typescript-client/dist/models/acp-providers.cjs +1 -1
  536. package/dist/node_modules/@openhands/typescript-client/dist/models/acp-providers.cjs.map +1 -1
  537. package/dist/node_modules/@openhands/typescript-client/dist/models/acp-providers.js +3 -0
  538. package/dist/node_modules/@openhands/typescript-client/dist/models/acp-providers.js.map +1 -1
  539. package/dist/package.cjs +1 -1
  540. package/dist/package.cjs.map +1 -1
  541. package/dist/package.js +6 -4
  542. package/dist/package.js.map +1 -1
  543. package/dist/routes/mcp.cjs +1 -1
  544. package/dist/routes/mcp.cjs.map +1 -1
  545. package/dist/routes/mcp.js +1 -1
  546. package/dist/routes/mcp.js.map +1 -1
  547. package/dist/stores/error-message-store.cjs +1 -1
  548. package/dist/stores/error-message-store.cjs.map +1 -1
  549. package/dist/stores/error-message-store.d.ts +10 -1
  550. package/dist/stores/error-message-store.js +16 -3
  551. package/dist/stores/error-message-store.js.map +1 -1
  552. package/dist/utils/mcp-marketplace-utils.cjs +1 -1
  553. package/dist/utils/mcp-marketplace-utils.cjs.map +1 -1
  554. package/dist/utils/mcp-marketplace-utils.d.ts +21 -1
  555. package/dist/utils/mcp-marketplace-utils.js +23 -13
  556. package/dist/utils/mcp-marketplace-utils.js.map +1 -1
  557. package/dist/utils/settings-utils.cjs.map +1 -1
  558. package/dist/utils/settings-utils.js.map +1 -1
  559. package/package.json +6 -4
  560. package/scripts/check-sdk-version-sync.mjs +6 -6
  561. package/scripts/dev-safe.mjs +25 -7
  562. package/scripts/dev-static.mjs +6 -0
  563. package/scripts/dev-with-automation.mjs +12 -1
  564. package/scripts/static-server.mjs +85 -4
  565. package/tools/canvas_ui_tool.py +129 -0
  566. package/build/assets/add-backend-modal-CqjNjGqY.js +0 -1
  567. package/build/assets/automation-detail-CQrtk33s.js +0 -1
  568. package/build/assets/automations-list-COmogz0S.js +0 -1
  569. package/build/assets/conversation-CeGMBOyB.js +0 -1
  570. package/build/assets/conversation-D8scXOe7.js +0 -17
  571. package/build/assets/conversation-panel-DMz46ji-.js +0 -1
  572. package/build/assets/conversation-websocket-context-B0Gd3yiT.js +0 -3
  573. package/build/assets/declaration-C9nuq2Dj.js +0 -1
  574. package/build/assets/edit-automation-modal-DnTHJrf1.js +0 -1
  575. package/build/assets/git-control-bar-branch-button-DhpPgadK.js +0 -27
  576. package/build/assets/install-server-modal-VB5hOBpW.js +0 -1
  577. package/build/assets/llm-settings-CIdxmimN.js +0 -1
  578. package/build/assets/manifest-6400820c.js +0 -1
  579. package/build/assets/mcp-BdfyCW1l.js +0 -9
  580. package/build/assets/messages-BfaEAG2q.js +0 -36
  581. package/build/assets/recommended-automations-launcher-Cx7svuGE.js +0 -52
  582. package/build/assets/root-6AdVEJBT.js +0 -2
  583. package/build/assets/root-DEotKI6b.css +0 -1
  584. package/build/assets/root-layout-DvYGxAnr.js +0 -2
  585. package/build/assets/settings-service.api-Z6x0l0GU.js +0 -1
  586. package/build/assets/use-is-authed-BFoh8Ogh.js +0 -1
  587. package/build/assets/use-runtime-is-ready-BQWLEyqa.js +0 -1
  588. package/build/assets/use-user-conversation-BCYpbPT1.js +0 -1
  589. package/build/assets/vendor~home~mcp~automations-list-DRfWZRnF.js +0 -1
  590. package/build/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~dp08i1qy-BJm2mGIp.js +0 -48
  591. package/dist/node_modules/@openhands/extensions/mcps/catalog/airtable.cjs +0 -2
  592. package/dist/node_modules/@openhands/extensions/mcps/catalog/airtable.cjs.map +0 -1
  593. package/dist/node_modules/@openhands/extensions/mcps/catalog/airtable.js +0 -30
  594. package/dist/node_modules/@openhands/extensions/mcps/catalog/airtable.js.map +0 -1
  595. package/dist/node_modules/@openhands/extensions/mcps/catalog/apify.cjs +0 -2
  596. package/dist/node_modules/@openhands/extensions/mcps/catalog/apify.cjs.map +0 -1
  597. package/dist/node_modules/@openhands/extensions/mcps/catalog/apify.js +0 -29
  598. package/dist/node_modules/@openhands/extensions/mcps/catalog/apify.js.map +0 -1
  599. package/dist/node_modules/@openhands/extensions/mcps/catalog/atlassian.cjs.map +0 -1
  600. package/dist/node_modules/@openhands/extensions/mcps/catalog/atlassian.js.map +0 -1
  601. package/dist/node_modules/@openhands/extensions/mcps/catalog/brave-search.cjs +0 -2
  602. package/dist/node_modules/@openhands/extensions/mcps/catalog/brave-search.cjs.map +0 -1
  603. package/dist/node_modules/@openhands/extensions/mcps/catalog/brave-search.js +0 -29
  604. package/dist/node_modules/@openhands/extensions/mcps/catalog/brave-search.js.map +0 -1
  605. package/dist/node_modules/@openhands/extensions/mcps/catalog/browser-mcp.cjs +0 -2
  606. package/dist/node_modules/@openhands/extensions/mcps/catalog/browser-mcp.cjs.map +0 -1
  607. package/dist/node_modules/@openhands/extensions/mcps/catalog/browser-mcp.js +0 -24
  608. package/dist/node_modules/@openhands/extensions/mcps/catalog/browser-mcp.js.map +0 -1
  609. package/dist/node_modules/@openhands/extensions/mcps/catalog/clickhouse.cjs +0 -2
  610. package/dist/node_modules/@openhands/extensions/mcps/catalog/clickhouse.cjs.map +0 -1
  611. package/dist/node_modules/@openhands/extensions/mcps/catalog/clickhouse.js +0 -45
  612. package/dist/node_modules/@openhands/extensions/mcps/catalog/clickhouse.js.map +0 -1
  613. package/dist/node_modules/@openhands/extensions/mcps/catalog/cloudflare-bindings.cjs.map +0 -1
  614. package/dist/node_modules/@openhands/extensions/mcps/catalog/cloudflare-bindings.js.map +0 -1
  615. package/dist/node_modules/@openhands/extensions/mcps/catalog/cloudflare-browser-rendering.cjs +0 -2
  616. package/dist/node_modules/@openhands/extensions/mcps/catalog/cloudflare-browser-rendering.cjs.map +0 -1
  617. package/dist/node_modules/@openhands/extensions/mcps/catalog/cloudflare-browser-rendering.js.map +0 -1
  618. package/dist/node_modules/@openhands/extensions/mcps/catalog/cloudflare-builds.cjs.map +0 -1
  619. package/dist/node_modules/@openhands/extensions/mcps/catalog/cloudflare-builds.js.map +0 -1
  620. package/dist/node_modules/@openhands/extensions/mcps/catalog/cloudflare-docs.cjs.map +0 -1
  621. package/dist/node_modules/@openhands/extensions/mcps/catalog/cloudflare-docs.js.map +0 -1
  622. package/dist/node_modules/@openhands/extensions/mcps/catalog/cloudflare-observability.cjs +0 -2
  623. package/dist/node_modules/@openhands/extensions/mcps/catalog/cloudflare-observability.cjs.map +0 -1
  624. package/dist/node_modules/@openhands/extensions/mcps/catalog/cloudflare-observability.js.map +0 -1
  625. package/dist/node_modules/@openhands/extensions/mcps/catalog/deepwiki.cjs.map +0 -1
  626. package/dist/node_modules/@openhands/extensions/mcps/catalog/deepwiki.js.map +0 -1
  627. package/dist/node_modules/@openhands/extensions/mcps/catalog/elevenlabs.cjs +0 -2
  628. package/dist/node_modules/@openhands/extensions/mcps/catalog/elevenlabs.cjs.map +0 -1
  629. package/dist/node_modules/@openhands/extensions/mcps/catalog/elevenlabs.js +0 -29
  630. package/dist/node_modules/@openhands/extensions/mcps/catalog/elevenlabs.js.map +0 -1
  631. package/dist/node_modules/@openhands/extensions/mcps/catalog/everything.cjs.map +0 -1
  632. package/dist/node_modules/@openhands/extensions/mcps/catalog/everything.js.map +0 -1
  633. package/dist/node_modules/@openhands/extensions/mcps/catalog/exa.cjs +0 -2
  634. package/dist/node_modules/@openhands/extensions/mcps/catalog/exa.cjs.map +0 -1
  635. package/dist/node_modules/@openhands/extensions/mcps/catalog/exa.js +0 -29
  636. package/dist/node_modules/@openhands/extensions/mcps/catalog/exa.js.map +0 -1
  637. package/dist/node_modules/@openhands/extensions/mcps/catalog/fetch.cjs.map +0 -1
  638. package/dist/node_modules/@openhands/extensions/mcps/catalog/fetch.js.map +0 -1
  639. package/dist/node_modules/@openhands/extensions/mcps/catalog/figma.cjs +0 -2
  640. package/dist/node_modules/@openhands/extensions/mcps/catalog/figma.cjs.map +0 -1
  641. package/dist/node_modules/@openhands/extensions/mcps/catalog/figma.js +0 -33
  642. package/dist/node_modules/@openhands/extensions/mcps/catalog/figma.js.map +0 -1
  643. package/dist/node_modules/@openhands/extensions/mcps/catalog/filesystem.cjs +0 -2
  644. package/dist/node_modules/@openhands/extensions/mcps/catalog/filesystem.cjs.map +0 -1
  645. package/dist/node_modules/@openhands/extensions/mcps/catalog/filesystem.js +0 -32
  646. package/dist/node_modules/@openhands/extensions/mcps/catalog/filesystem.js.map +0 -1
  647. package/dist/node_modules/@openhands/extensions/mcps/catalog/firecrawl.cjs +0 -2
  648. package/dist/node_modules/@openhands/extensions/mcps/catalog/firecrawl.cjs.map +0 -1
  649. package/dist/node_modules/@openhands/extensions/mcps/catalog/firecrawl.js +0 -29
  650. package/dist/node_modules/@openhands/extensions/mcps/catalog/firecrawl.js.map +0 -1
  651. package/dist/node_modules/@openhands/extensions/mcps/catalog/git.cjs +0 -2
  652. package/dist/node_modules/@openhands/extensions/mcps/catalog/git.cjs.map +0 -1
  653. package/dist/node_modules/@openhands/extensions/mcps/catalog/git.js +0 -33
  654. package/dist/node_modules/@openhands/extensions/mcps/catalog/git.js.map +0 -1
  655. package/dist/node_modules/@openhands/extensions/mcps/catalog/github.cjs +0 -2
  656. package/dist/node_modules/@openhands/extensions/mcps/catalog/github.cjs.map +0 -1
  657. package/dist/node_modules/@openhands/extensions/mcps/catalog/github.js +0 -40
  658. package/dist/node_modules/@openhands/extensions/mcps/catalog/github.js.map +0 -1
  659. package/dist/node_modules/@openhands/extensions/mcps/catalog/huggingface.cjs.map +0 -1
  660. package/dist/node_modules/@openhands/extensions/mcps/catalog/huggingface.js.map +0 -1
  661. package/dist/node_modules/@openhands/extensions/mcps/catalog/kagi.cjs +0 -2
  662. package/dist/node_modules/@openhands/extensions/mcps/catalog/kagi.cjs.map +0 -1
  663. package/dist/node_modules/@openhands/extensions/mcps/catalog/kagi.js +0 -29
  664. package/dist/node_modules/@openhands/extensions/mcps/catalog/kagi.js.map +0 -1
  665. package/dist/node_modules/@openhands/extensions/mcps/catalog/linear.cjs.map +0 -1
  666. package/dist/node_modules/@openhands/extensions/mcps/catalog/linear.js.map +0 -1
  667. package/dist/node_modules/@openhands/extensions/mcps/catalog/memory.cjs +0 -2
  668. package/dist/node_modules/@openhands/extensions/mcps/catalog/memory.cjs.map +0 -1
  669. package/dist/node_modules/@openhands/extensions/mcps/catalog/memory.js.map +0 -1
  670. package/dist/node_modules/@openhands/extensions/mcps/catalog/mongodb.cjs +0 -2
  671. package/dist/node_modules/@openhands/extensions/mcps/catalog/mongodb.cjs.map +0 -1
  672. package/dist/node_modules/@openhands/extensions/mcps/catalog/mongodb.js +0 -29
  673. package/dist/node_modules/@openhands/extensions/mcps/catalog/mongodb.js.map +0 -1
  674. package/dist/node_modules/@openhands/extensions/mcps/catalog/neon.cjs +0 -2
  675. package/dist/node_modules/@openhands/extensions/mcps/catalog/neon.cjs.map +0 -1
  676. package/dist/node_modules/@openhands/extensions/mcps/catalog/neon.js +0 -33
  677. package/dist/node_modules/@openhands/extensions/mcps/catalog/neon.js.map +0 -1
  678. package/dist/node_modules/@openhands/extensions/mcps/catalog/notion.cjs +0 -2
  679. package/dist/node_modules/@openhands/extensions/mcps/catalog/notion.cjs.map +0 -1
  680. package/dist/node_modules/@openhands/extensions/mcps/catalog/notion.js +0 -32
  681. package/dist/node_modules/@openhands/extensions/mcps/catalog/notion.js.map +0 -1
  682. package/dist/node_modules/@openhands/extensions/mcps/catalog/obsidian.cjs +0 -2
  683. package/dist/node_modules/@openhands/extensions/mcps/catalog/obsidian.cjs.map +0 -1
  684. package/dist/node_modules/@openhands/extensions/mcps/catalog/obsidian.js +0 -31
  685. package/dist/node_modules/@openhands/extensions/mcps/catalog/obsidian.js.map +0 -1
  686. package/dist/node_modules/@openhands/extensions/mcps/catalog/paypal.cjs +0 -2
  687. package/dist/node_modules/@openhands/extensions/mcps/catalog/paypal.cjs.map +0 -1
  688. package/dist/node_modules/@openhands/extensions/mcps/catalog/paypal.js.map +0 -1
  689. package/dist/node_modules/@openhands/extensions/mcps/catalog/playwright.cjs +0 -2
  690. package/dist/node_modules/@openhands/extensions/mcps/catalog/playwright.cjs.map +0 -1
  691. package/dist/node_modules/@openhands/extensions/mcps/catalog/playwright.js.map +0 -1
  692. package/dist/node_modules/@openhands/extensions/mcps/catalog/redis.cjs +0 -2
  693. package/dist/node_modules/@openhands/extensions/mcps/catalog/redis.cjs.map +0 -1
  694. package/dist/node_modules/@openhands/extensions/mcps/catalog/redis.js +0 -36
  695. package/dist/node_modules/@openhands/extensions/mcps/catalog/redis.js.map +0 -1
  696. package/dist/node_modules/@openhands/extensions/mcps/catalog/resend.cjs +0 -2
  697. package/dist/node_modules/@openhands/extensions/mcps/catalog/resend.cjs.map +0 -1
  698. package/dist/node_modules/@openhands/extensions/mcps/catalog/resend.js +0 -34
  699. package/dist/node_modules/@openhands/extensions/mcps/catalog/resend.js.map +0 -1
  700. package/dist/node_modules/@openhands/extensions/mcps/catalog/sentry.cjs +0 -2
  701. package/dist/node_modules/@openhands/extensions/mcps/catalog/sentry.cjs.map +0 -1
  702. package/dist/node_modules/@openhands/extensions/mcps/catalog/sentry.js.map +0 -1
  703. package/dist/node_modules/@openhands/extensions/mcps/catalog/sequential-thinking.cjs +0 -2
  704. package/dist/node_modules/@openhands/extensions/mcps/catalog/sequential-thinking.cjs.map +0 -1
  705. package/dist/node_modules/@openhands/extensions/mcps/catalog/sequential-thinking.js.map +0 -1
  706. package/dist/node_modules/@openhands/extensions/mcps/catalog/slack.cjs +0 -2
  707. package/dist/node_modules/@openhands/extensions/mcps/catalog/slack.cjs.map +0 -1
  708. package/dist/node_modules/@openhands/extensions/mcps/catalog/slack.js +0 -38
  709. package/dist/node_modules/@openhands/extensions/mcps/catalog/slack.js.map +0 -1
  710. package/dist/node_modules/@openhands/extensions/mcps/catalog/stripe.cjs +0 -2
  711. package/dist/node_modules/@openhands/extensions/mcps/catalog/stripe.cjs.map +0 -1
  712. package/dist/node_modules/@openhands/extensions/mcps/catalog/stripe.js.map +0 -1
  713. package/dist/node_modules/@openhands/extensions/mcps/catalog/supabase.cjs +0 -2
  714. package/dist/node_modules/@openhands/extensions/mcps/catalog/supabase.cjs.map +0 -1
  715. package/dist/node_modules/@openhands/extensions/mcps/catalog/supabase.js +0 -30
  716. package/dist/node_modules/@openhands/extensions/mcps/catalog/supabase.js.map +0 -1
  717. package/dist/node_modules/@openhands/extensions/mcps/catalog/tavily.cjs.map +0 -1
  718. package/dist/node_modules/@openhands/extensions/mcps/catalog/tavily.js +0 -32
  719. package/dist/node_modules/@openhands/extensions/mcps/catalog/tavily.js.map +0 -1
  720. package/dist/node_modules/@openhands/extensions/mcps/catalog/time.cjs +0 -2
  721. package/dist/node_modules/@openhands/extensions/mcps/catalog/time.cjs.map +0 -1
  722. package/dist/node_modules/@openhands/extensions/mcps/catalog/time.js.map +0 -1
  723. package/dist/node_modules/@openhands/extensions/mcps/index.cjs +0 -2
  724. package/dist/node_modules/@openhands/extensions/mcps/index.cjs.map +0 -1
  725. package/dist/node_modules/@openhands/extensions/mcps/index.js +0 -87
  726. package/dist/node_modules/@openhands/extensions/mcps/index.js.map +0 -1
  727. package/dist/node_modules/@openhands/extensions/mcps/logos.cjs.map +0 -1
  728. package/dist/node_modules/@openhands/extensions/mcps/logos.js.map +0 -1
@@ -1 +1 @@
1
- import{t as e}from"./declaration-C9nuq2Dj.js";import{n as t,r as n}from"./vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js";var r=`var(--oh-status-success)`,i=`var(--oh-status-error)`,a={base00:`transparent`,base01:`var(--cool-grey-900)`,base02:`var(--cool-grey-700)`,base03:`var(--cool-grey-600)`,base04:`var(--cool-grey-500)`,base05:`var(--cool-grey-200)`,base06:`var(--cool-grey-100)`,base07:`#ffffff`,base08:`#ff5370`,base09:`#f78c6c`,base0A:`#ffcb6b`,base0B:`#c3e88d`,base0C:`#89ddff`,base0D:`#82aaff`,base0E:`#c792ea`,base0F:`#ff5370`},o={PRODUCTION:`https://app.all-hands.dev`},s={LABEL_CLASSNAME:`text-[11px] font-medium leading-4 tracking-[0.11px]`},c={HEIGHT_THRESHOLD:100},l=1.5,u=`/btw`,d=`/model`,f=[{skill:{name:`new`,type:`agentskills`,content:`Creates a new conversation using the same runtime`,triggers:[`/new`]},command:`/new`},{skill:{name:`btw`,type:`agentskills`,content:`Ask the agent a side question without derailing the main task`,triggers:[u]},command:u},{skill:{name:`model`,type:`agentskills`,content:`List saved LLM profiles, or switch the conversation LLM profile with /model <name>`,triggers:[d]},command:d}],p=[`The following information has been included`,`It may or may not be relevant`,`Skill location:`,`(Use this path to resolve`],m=function(e){return e.LOADING=`loading`,e.INIT=`init`,e.RUNNING=`running`,e.AWAITING_USER_INPUT=`awaiting_user_input`,e.PAUSED=`paused`,e.STOPPED=`stopped`,e.FINISHED=`finished`,e.REJECTED=`rejected`,e.ERROR=`error`,e.RATE_LIMITED=`rate_limited`,e.AWAITING_USER_CONFIRMATION=`awaiting_user_confirmation`,e.USER_CONFIRMED=`user_confirmed`,e.USER_REJECTED=`user_rejected`,e}({}),h=[m.INIT,m.LOADING],g=[...h,m.ERROR];function _(...e){return t(n(e))}var v=(e,t)=>{let n=window.URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),window.URL.revokeObjectURL(n)},y=(e,t)=>{let n=parseFloat(e.style.height||``);return Number.isFinite(n)?n:t},b=(e,t)=>{e.style.setProperty(`height`,`${t}px`)},x=()=>/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)?!0:`ontouchstart`in window||navigator.maxTouchPoints>0?typeof window.matchMedia==`function`?!window.matchMedia(`(pointer: fine)`).matches:!0:!1,S=e=>e.split(`.`).pop()?.toUpperCase()||`FILE`,C=(e,t)=>{if(!e)return!1;switch(e){case`bitbucket`:case`bitbucket_data_center`:return!0;case`github`:return t===`cloud`;default:return!1}},w=(e,t)=>{if(t&&t.trim()!==``)return t.startsWith(`http`)?t:`https://${t}`;switch(e){case`github`:return`https://github.com`;case`gitlab`:return`https://gitlab.com`;case`bitbucket`:return`https://bitbucket.org`;case`azure_devops`:return`https://dev.azure.com`;case`forgejo`:return`https://codeberg.org`;default:return``}},T=e=>e===`gitlab`?`GitLab`:e===`bitbucket`?`Bitbucket`:e===`bitbucket_data_center`?`Bitbucket Data Center`:e===`azure_devops`?`Azure DevOps`:e===`forgejo`?`Forgejo`:`GitHub`,E=e=>e?`merge request`:`pull request`,D=e=>e?`MR`:`PR`,O=(e,t,n)=>{let r=w(e,n);if(e===`bitbucket_data_center`){let[e,n]=t.split(`/`);return`${r}/projects/${e}/repos/${n}`}return`${r}/${t}`},k=(e,t,n,r)=>{let i=w(e,r);switch(e){case`github`:return`${i}/${t}/tree/${n}`;case`forgejo`:return`${i}/${t}/src/branch/${n}`;case`gitlab`:return`${i}/${t}/-/tree/${n}`;case`bitbucket`:return`${i}/${t}/src/${n}`;case`bitbucket_data_center`:{let e=t.split(`/`);if(e.length>=2){let[t,r]=e;return`${i}/projects/${t}/repos/${r}/browse?at=refs/heads/${n}`}return``}case`azure_devops`:{let e=t.split(`/`);if(e.length===3){let[t,r,a]=e;return`${i}/${t}/${r}/_git/${a}?version=GB${n}`}return``}default:return``}},A=()=>`Please pull the latest code from the repository.`,j=e=>`Please push the changes to a remote branch on ${T(e)}, but do NOT create a ${E(e===`gitlab`)}. Check your current branch name first - if it's main, master, deploy, or another common default branch name, create a new branch with a descriptive name related to your changes. Otherwise, use the exact SAME branch name as the one you are currently on.`,M=e=>{let t=T(e),n=E(e===`gitlab`);return`Please push the changes to ${t} and open a ${n}. If you're on a default branch (e.g., main, master, deploy), create a new branch with a descriptive name otherwise use the current branch. If a ${n} template exists in the repository, please follow it when creating the ${D(e===`gitlab`)} description.`},N=()=>`Please create a new branch with a descriptive name related to the work you plan to do.`,P=e=>!!e&&e!==`ERROR`&&e!==`READY`,F=e=>{let{isPausing:t,isTask:n,taskStatus:a,isStartingStatus:o,isStopStatus:s,curAgentState:c}=e;return t?`#FFD600`:n&&a?a===`ERROR`?i:`#FFD600`:o?`#FFD600`:s?`#ffffff`:c===m.ERROR?i:r};function I({isPausing:t=!1,isTask:n,taskStatus:r,taskDetail:i,isStartingStatus:a,isStopStatus:o,curAgentState:s,errorMessage:c,t:l}){return t?l(e.COMMON$STOPPING):n&&r?r===`ERROR`?i||l(e.CONVERSATION$ERROR_STARTING_CONVERSATION):r===`READY`?l(e.CONVERSATION$READY):i||r.toLowerCase().replace(/_/g,` `).replace(/^\w/,e=>e.toUpperCase()):a?l(e.COMMON$STARTING):o?l(e.COMMON$SERVER_STOPPED):s===m.ERROR?c||l(e.COMMON$ERROR):l(e.COMMON$RUNNING)}export{l as C,o as D,d as E,s as O,c as S,p as T,m as _,N as a,u as b,A as c,I as d,y as f,C as g,b as h,v as i,i as k,j as l,P as m,k as n,M as o,x as p,O as r,S as s,_ as t,F as u,g as v,a as w,f as x,h as y};
1
+ import{t as e}from"./declaration-D378OjpZ.js";import{n as t,r as n}from"./vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js";var r=`var(--oh-status-success)`,i=`var(--oh-status-error)`,a={base00:`transparent`,base01:`var(--cool-grey-900)`,base02:`var(--cool-grey-700)`,base03:`var(--cool-grey-600)`,base04:`var(--cool-grey-500)`,base05:`var(--cool-grey-200)`,base06:`var(--cool-grey-100)`,base07:`#ffffff`,base08:`#ff5370`,base09:`#f78c6c`,base0A:`#ffcb6b`,base0B:`#c3e88d`,base0C:`#89ddff`,base0D:`#82aaff`,base0E:`#c792ea`,base0F:`#ff5370`},o={PRODUCTION:`https://app.all-hands.dev`},s={LABEL_CLASSNAME:`text-[11px] font-medium leading-4 tracking-[0.11px]`},c={HEIGHT_THRESHOLD:100},l=1.5,u=`/btw`,d=`/model`,f=[{skill:{name:`new`,type:`agentskills`,content:`Creates a new conversation using the same runtime`,triggers:[`/new`]},command:`/new`},{skill:{name:`btw`,type:`agentskills`,content:`Ask the agent a side question without derailing the main task`,triggers:[u]},command:u},{skill:{name:`model`,type:`agentskills`,content:`List saved LLM profiles, or switch the conversation LLM profile with /model <name>`,triggers:[d]},command:d}],p=[`The following information has been included`,`It may or may not be relevant`,`Skill location:`,`(Use this path to resolve`],m=function(e){return e.LOADING=`loading`,e.INIT=`init`,e.RUNNING=`running`,e.AWAITING_USER_INPUT=`awaiting_user_input`,e.PAUSED=`paused`,e.STOPPED=`stopped`,e.FINISHED=`finished`,e.REJECTED=`rejected`,e.ERROR=`error`,e.RATE_LIMITED=`rate_limited`,e.AWAITING_USER_CONFIRMATION=`awaiting_user_confirmation`,e.USER_CONFIRMED=`user_confirmed`,e.USER_REJECTED=`user_rejected`,e}({}),h=[m.INIT,m.LOADING],g=[...h,m.ERROR];function _(...e){return t(n(e))}var v=(e,t)=>{let n=window.URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),window.URL.revokeObjectURL(n)},y=(e,t)=>{let n=parseFloat(e.style.height||``);return Number.isFinite(n)?n:t},b=(e,t)=>{e.style.setProperty(`height`,`${t}px`)},x=()=>/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)?!0:`ontouchstart`in window||navigator.maxTouchPoints>0?typeof window.matchMedia==`function`?!window.matchMedia(`(pointer: fine)`).matches:!0:!1,S=e=>e.split(`.`).pop()?.toUpperCase()||`FILE`,C=(e,t)=>{if(!e)return!1;switch(e){case`bitbucket`:case`bitbucket_data_center`:return!0;case`github`:return t===`cloud`;default:return!1}},w=(e,t)=>{if(t&&t.trim()!==``)return t.startsWith(`http`)?t:`https://${t}`;switch(e){case`github`:return`https://github.com`;case`gitlab`:return`https://gitlab.com`;case`bitbucket`:return`https://bitbucket.org`;case`azure_devops`:return`https://dev.azure.com`;case`forgejo`:return`https://codeberg.org`;default:return``}},T=e=>e===`gitlab`?`GitLab`:e===`bitbucket`?`Bitbucket`:e===`bitbucket_data_center`?`Bitbucket Data Center`:e===`azure_devops`?`Azure DevOps`:e===`forgejo`?`Forgejo`:`GitHub`,E=e=>e?`merge request`:`pull request`,D=e=>e?`MR`:`PR`,O=(e,t,n)=>{let r=w(e,n);if(e===`bitbucket_data_center`){let[e,n]=t.split(`/`);return`${r}/projects/${e}/repos/${n}`}return`${r}/${t}`},k=(e,t,n,r)=>{let i=w(e,r);switch(e){case`github`:return`${i}/${t}/tree/${n}`;case`forgejo`:return`${i}/${t}/src/branch/${n}`;case`gitlab`:return`${i}/${t}/-/tree/${n}`;case`bitbucket`:return`${i}/${t}/src/${n}`;case`bitbucket_data_center`:{let e=t.split(`/`);if(e.length>=2){let[t,r]=e;return`${i}/projects/${t}/repos/${r}/browse?at=refs/heads/${n}`}return``}case`azure_devops`:{let e=t.split(`/`);if(e.length===3){let[t,r,a]=e;return`${i}/${t}/${r}/_git/${a}?version=GB${n}`}return``}default:return``}},A=()=>`Please pull the latest code from the repository.`,j=e=>`Please push the changes to a remote branch on ${T(e)}, but do NOT create a ${E(e===`gitlab`)}. Check your current branch name first - if it's main, master, deploy, or another common default branch name, create a new branch with a descriptive name related to your changes. Otherwise, use the exact SAME branch name as the one you are currently on.`,M=e=>{let t=T(e),n=E(e===`gitlab`);return`Please push the changes to ${t} and open a ${n}. If you're on a default branch (e.g., main, master, deploy), create a new branch with a descriptive name otherwise use the current branch. If a ${n} template exists in the repository, please follow it when creating the ${D(e===`gitlab`)} description.`},N=()=>`Please create a new branch with a descriptive name related to the work you plan to do.`,P=e=>!!e&&e!==`ERROR`&&e!==`READY`,F=e=>{let{isPausing:t,isTask:n,taskStatus:a,isStartingStatus:o,isStopStatus:s,curAgentState:c}=e;return t?`#FFD600`:n&&a?a===`ERROR`?i:`#FFD600`:o?`#FFD600`:s?`#ffffff`:c===m.ERROR?i:r};function I({isPausing:t=!1,isTask:n,taskStatus:r,taskDetail:i,isStartingStatus:a,isStopStatus:o,curAgentState:s,errorMessage:c,t:l}){return t?l(e.COMMON$STOPPING):n&&r?r===`ERROR`?i||l(e.CONVERSATION$ERROR_STARTING_CONVERSATION):r===`READY`?l(e.CONVERSATION$READY):i||r.toLowerCase().replace(/_/g,` `).replace(/^\w/,e=>e.toUpperCase()):a?l(e.COMMON$STARTING):o?l(e.COMMON$SERVER_STOPPED):s===m.ERROR?c||l(e.COMMON$ERROR):l(e.COMMON$RUNNING)}export{l as C,o as D,d as E,s as O,c as S,p as T,m as _,N as a,u as b,A as c,I as d,y as f,C as g,b as h,v as i,i as k,j as l,P as m,k as n,M as o,x as p,O as r,S as s,_ as t,F as u,g as v,a as w,f as x,h as y};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{o as n}from"./declaration-C9nuq2Dj.js";import{t as r}from"./createLucideIcon-Ddu8jDOQ.js";import{A as i,E as a,T as o,j as s,k as c,w as l}from"./vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-CFpDeb9o.js";import{Ct as u,D as d,G as f,O as ee,Tt as p,X as m,Z as te,at as h,b as ne,ct as g,ft as re,ht as _,it as ie,lt as v,mt as ae,ot as y,pt as oe,rt as b,s as se,st as x,v as S,vt as ce,wt as le,xt as ue,y as C}from"./vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-BebWhFNT.js";import{C as de,D as fe,E as pe,O as w,S as me,T as he,_ as ge,a as _e,b as ve,c as ye,d as T,f as E,g as be,h as D,i as xe,k as Se,l as Ce,m as we,n as Te,o as O,p as Ee,r as De,s as Oe,t as ke,u as Ae,v as je,w as Me,x as k,y as Ne}from"./vendor~conversation-panel~conversation~index-C23ZXO4R.js";var Pe=r(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),Fe=r(`share-2`,[[`circle`,{cx:`18`,cy:`5`,r:`3`,key:`gq8acd`}],[`circle`,{cx:`6`,cy:`12`,r:`3`,key:`w7nqdw`}],[`circle`,{cx:`18`,cy:`19`,r:`3`,key:`1xt0gg`}],[`line`,{x1:`8.59`,x2:`15.42`,y1:`13.51`,y2:`17.49`,key:`47mynk`}],[`line`,{x1:`15.41`,x2:`8.59`,y1:`6.51`,y2:`10.49`,key:`1n3mei`}]]);function Ie(e){return e===`x`||e===`y`?k[e]?null:(k[e]=!0,()=>{k[e]=!1}):k.x||k.y?null:(k.x=k.y=!0,()=>{k.x=k.y=!1})}function A(e){return ce(e)&&`ownerSVGElement`in e}var j=new WeakMap,M,Le=(e,t,n)=>(r,i)=>i&&i[0]?i[0][e+`Size`]:A(r)&&`getBBox`in r?r.getBBox()[t]:r[n],Re=Le(`inline`,`width`,`offsetWidth`),ze=Le(`block`,`height`,`offsetHeight`);function Be({target:e,borderBoxSize:t}){j.get(e)?.forEach(n=>{n(e,{get width(){return Re(e,t)},get height(){return ze(e,t)}})})}function Ve(e){e.forEach(Be)}function He(){typeof ResizeObserver>`u`||(M=new ResizeObserver(Ve))}function Ue(e,t){M||He();let n=me(e);return n.forEach(e=>{let n=j.get(e);n||(n=new Set,j.set(e,n)),n.add(t),M?.observe(e)}),()=>{n.forEach(e=>{let n=j.get(e);n?.delete(t),n?.size||M?.unobserve(e)})}}var N=new Set,P;function We(){P=()=>{let e={get width(){return window.innerWidth},get height(){return window.innerHeight}};N.forEach(t=>t(e))},window.addEventListener(`resize`,P)}function Ge(e){return N.add(e),P||We(),()=>{N.delete(e),!N.size&&typeof P==`function`&&(window.removeEventListener(`resize`,P),P=void 0)}}function Ke(e,t){return typeof e==`function`?Ge(e):Ue(e,t)}function qe(e){return A(e)&&e.tagName===`svg`}function F(e,t){e.min=t.min,e.max=t.max}function I(e,t){F(e.x,t.x),F(e.y,t.y)}function Je(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}var Ye=1e-4,Xe=1-Ye,Ze=1+Ye,Qe=.01,$e=0-Qe,et=0+Qe;function L(e){return e.max-e.min}function tt(e,t,n){return Math.abs(e-t)<=n}function nt(e,t,n,r=.5){e.origin=r,e.originPoint=f(t.min,t.max,e.origin),e.scale=L(n)/L(t),e.translate=f(n.min,n.max,e.origin)-e.originPoint,(e.scale>=Xe&&e.scale<=Ze||isNaN(e.scale))&&(e.scale=1),(e.translate>=$e&&e.translate<=et||isNaN(e.translate))&&(e.translate=0)}function R(e,t,n,r){nt(e.x,t.x,n.x,r?r.originX:void 0),nt(e.y,t.y,n.y,r?r.originY:void 0)}function rt(e,t,n,r=0){e.min=(r?f(n.min,n.max,r):n.min)+t.min,e.max=e.min+L(t)}function it(e,t,n,r){rt(e.x,t.x,n.x,r?.x),rt(e.y,t.y,n.y,r?.y)}function at(e,t,n,r=0){let i=r?f(n.min,n.max,r):n.min;e.min=t.min-i,e.max=e.min+L(t)}function z(e,t,n,r){at(e.x,t.x,n.x,r?.x),at(e.y,t.y,n.y,r?.y)}function ot(e,t,n,r,i){return e-=t,e=Ae(e,1/n,r),i!==void 0&&(e=Ae(e,1/i,r)),e}function st(e,t=0,n=1,r=.5,i,a=e,o=e){if(m.test(t)&&(t=parseFloat(t),t=f(o.min,o.max,t/100)-o.min),typeof t!=`number`)return;let s=f(a.min,a.max,r);e===a&&(s-=t),e.min=ot(e.min,t,n,s,i),e.max=ot(e.max,t,n,s,i)}function ct(e,t,[n,r,i],a,o){st(e,t[n],t[r],t[i],t.scale,a,o)}var lt=[`x`,`scaleX`,`originX`],ut=[`y`,`scaleY`,`originY`];function dt(e,t,n,r){ct(e.x,t,lt,n?n.x:void 0,r?r.x:void 0),ct(e.y,t,ut,n?n.y:void 0,r?r.y:void 0)}function ft(e){return e.translate===0&&e.scale===1}function pt(e){return ft(e.x)&&ft(e.y)}function mt(e,t){return e.min===t.min&&e.max===t.max}function ht(e,t){return mt(e.x,t.x)&&mt(e.y,t.y)}function gt(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function _t(e,t){return gt(e.x,t.x)&&gt(e.y,t.y)}function vt(e){return L(e.x)/L(e.y)}function yt(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}function B(e){return[e(`x`),e(`y`)]}function bt(e,t,n){let r=``,i=e.x.translate/t.x,a=e.y.translate/t.y,o=n?.z||0;if((i||a||o)&&(r=`translate3d(${i}px, ${a}px, ${o}px) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){let{transformPerspective:e,rotate:t,rotateX:i,rotateY:a,skewX:o,skewY:s}=n;e&&(r=`perspective(${e}px) ${r}`),t&&(r+=`rotate(${t}deg) `),i&&(r+=`rotateX(${i}deg) `),a&&(r+=`rotateY(${a}deg) `),o&&(r+=`skewX(${o}deg) `),s&&(r+=`skewY(${s}deg) `)}let s=e.x.scale*t.x,c=e.y.scale*t.y;return(s!==1||c!==1)&&(r+=`scale(${s}, ${c})`),r||`none`}var xt=[`borderTopLeftRadius`,`borderTopRightRadius`,`borderBottomLeftRadius`,`borderBottomRightRadius`],St=xt.length,Ct=e=>typeof e==`string`?parseFloat(e):e,wt=e=>typeof e==`number`||te.test(e);function Tt(e,t,n,r,i,a){i?(e.opacity=f(0,n.opacity??1,Dt(r)),e.opacityExit=f(t.opacity??1,0,Ot(r))):a&&(e.opacity=f(t.opacity??1,n.opacity??1,r));for(let i=0;i<St;i++){let a=xt[i],o=Et(t,a),s=Et(n,a);o===void 0&&s===void 0||(o||=0,s||=0,o===0||s===0||wt(o)===wt(s)?(e[a]=Math.max(f(Ct(o),Ct(s),r),0),(m.test(s)||m.test(o))&&(e[a]+=`%`)):e[a]=s)}(t.rotate||n.rotate)&&(e.rotate=f(t.rotate||0,n.rotate||0,r))}function Et(e,t){return e[t]===void 0?e.borderRadius:e[t]}var Dt=kt(0,.5,fe),Ot=kt(.5,.95,_);function kt(e,t,n){return r=>r<e?0:r>t?1:n(w(e,t,r))}function At(e,t,n){let r=d(e)?e:ee(e);return r.start(he(``,r,t,n)),r.animation}var jt=(e,t)=>e.depth-t.depth,Mt=class{constructor(){this.children=[],this.isDirty=!1}add(e){le(this.children,e),this.isDirty=!0}remove(e){p(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(jt),this.isDirty=!1,this.children.forEach(e)}};function Nt(e,t){let n=ie.now(),r=({timestamp:i})=>{let a=i-n;a>=t&&(h(r),e(a-t))};return y.setup(r,!0),()=>h(r)}var Pt=class{constructor(){this.members=[]}add(e){le(this.members,e);for(let t=this.members.length-1;t>=0;t--){let n=this.members[t];if(n===e||n===this.lead||n===this.prevLead)continue;let r=n.instance;(!r||r.isConnected===!1)&&!n.snapshot&&(p(this.members,n),n.unmount())}e.scheduleRender()}remove(e){if(p(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){let e=this.members[this.members.length-1];e&&this.promote(e)}}relegate(e){for(let t=this.members.indexOf(e)-1;t>=0;t--){let e=this.members[t];if(e.isPresent!==!1&&e.instance?.isConnected!==!1)return this.promote(e),!0}return!1}promote(e,t){let n=this.lead;if(e!==n&&(this.prevLead=n,this.lead=e,e.show(),n)){n.updateSnapshot(),e.scheduleRender();let{layoutDependency:r}=n.options,{layoutDependency:i}=e.options;(r===void 0||r!==i)&&(e.resumeFrom=n,t&&(n.preserveOpacity=!0),n.snapshot&&(e.snapshot=n.snapshot,e.snapshot.latestValues=n.animationValues||n.latestValues),e.root?.isUpdating&&(e.isLayoutDirty=!0)),e.options.crossfade===!1&&n.hide()}}exitAnimationComplete(){this.members.forEach(e=>{e.options.onExitComplete?.(),e.resumingFrom?.options.onExitComplete?.()})}scheduleRender(){this.members.forEach(e=>e.instance&&e.scheduleRender(!1))}removeLeadSnapshot(){this.lead?.snapshot&&(this.lead.snapshot=void 0)}},V={hasAnimatedSinceResize:!0,hasEverUpdated:!1},H={nodes:0,calculatedTargetDeltas:0,calculatedProjections:0},U=[``,`X`,`Y`,`Z`],Ft=1e3,It=0;function W(e,t,n,r){let{latestValues:i}=t;i[e]&&(n[e]=i[e],t.setStaticValue(e,0),r&&(r[e]=0))}function Lt(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;let{visualElement:t}=e.options;if(!t)return;let n=de(t);if(window.MotionHasOptimisedAnimation(n,`transform`)){let{layout:t,layoutId:r}=e.options;window.MotionCancelOptimisedAnimation(n,`transform`,y,!(t||r))}let{parent:r}=e;r&&!r.hasCheckedOptimisedAppear&&Lt(r)}function Rt({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:a}){return class{constructor(e={},n=t?.()){this.id=It++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,v.value&&(H.nodes=H.calculatedTargetDeltas=H.calculatedProjections=0),this.nodes.forEach(Vt),this.nodes.forEach(Xt),this.nodes.forEach(Zt),this.nodes.forEach(Ht),v.addProjectionMetrics&&v.addProjectionMetrics(H)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=e,this.root=n?n.root||n:this,this.path=n?[...n.path,n]:[],this.parent=n,this.depth=n?n.depth+1:0;for(let e=0;e<this.path.length;e++)this.path[e].shouldResetTransform=!0;this.root===this&&(this.nodes=new Mt)}addEventListener(e,t){return this.eventHandlers.has(e)||this.eventHandlers.set(e,new ae),this.eventHandlers.get(e).add(t)}notifyListeners(e,...t){let n=this.eventHandlers.get(e);n&&n.notify(...t)}hasListeners(e){return this.eventHandlers.has(e)}mount(t){if(this.instance)return;this.isSVG=A(t)&&!qe(t),this.instance=t;let{layoutId:n,layout:r,visualElement:i}=this.options;if(i&&!i.current&&i.mount(t),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(r||n)&&(this.isLayoutDirty=!0),e){let n,r=0,i=()=>this.root.updateBlockedByResize=!1;y.read(()=>{r=window.innerWidth}),e(t,()=>{let e=window.innerWidth;e!==r&&(r=e,this.root.updateBlockedByResize=!0,n&&n(),n=Nt(i,250),V.hasAnimatedSinceResize&&(V.hasAnimatedSinceResize=!1,this.nodes.forEach(Yt)))})}n&&this.root.registerSharedNode(n,this),this.options.animate!==!1&&i&&(n||r)&&this.addEventListener(`didUpdate`,({delta:e,hasLayoutChanged:t,hasRelativeLayoutChanged:n,layout:r})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}let a=this.options.transition||i.getDefaultTransition()||an,{onLayoutAnimationStart:o,onLayoutAnimationComplete:s}=i.getProps(),c=!this.targetLayout||!_t(this.targetLayout,r),l=!t&&n;if(this.options.layoutRoot||this.resumeFrom||l||t&&(c||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);let t={...pe(a,`layout`),onPlay:o,onComplete:s};(i.shouldReduceMotion||this.options.layoutRoot)&&(t.delay=0,t.type=!1),this.startAnimation(t),this.setAnimationOrigin(e,l)}else t||Yt(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=r})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);let e=this.getStack();e&&e.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),h(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(Qt),this.animationId++)}getTransformTemplate(){let{visualElement:e}=this.options;return e&&e.getProps().transformTemplate}willUpdate(e=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&Lt(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let e=0;e<this.path.length;e++){let t=this.path[e];t.shouldResetTransform=!0,(typeof t.latestValues.x==`string`||typeof t.latestValues.y==`string`)&&(t.isLayoutDirty=!0),t.updateScroll(`snapshot`),t.options.layoutRoot&&t.willUpdate(!1)}let{layoutId:t,layout:n}=this.options;if(t===void 0&&!n)return;let r=this.getTransformTemplate();this.prevTransformTemplateValue=r?r(this.latestValues,``):void 0,this.updateSnapshot(),e&&this.notifyListeners(`willUpdate`)}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){let e=this.updateBlockedByResize;this.unblockUpdate(),this.updateBlockedByResize=!1,this.clearAllSnapshots(),e&&this.nodes.forEach(Gt),this.nodes.forEach(Wt);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(Kt);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(qt),this.nodes.forEach(Jt),this.nodes.forEach(zt),this.nodes.forEach(Bt)):this.nodes.forEach(Kt),this.clearAllSnapshots();let e=ie.now();x.delta=u(0,1e3/60,e-x.timestamp),x.timestamp=e,x.isProcessing=!0,g.update.process(x),g.preRender.process(x),g.render.process(x),x.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,ne.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(Ut),this.sharedNodes.forEach($t)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,y.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){y.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!L(this.snapshot.measuredBox.x)&&!L(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let e=0;e<this.path.length;e++)this.path[e].updateScroll();let e=this.layout;this.layout=this.measure(!1),this.layoutVersion++,this.layoutCorrected||=S(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners(`measure`,this.layout.layoutBox);let{visualElement:t}=this.options;t&&t.notify(`LayoutMeasure`,this.layout.layoutBox,e?e.layoutBox:void 0)}updateScroll(e=`measure`){let t=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===e&&(t=!1),t&&this.instance){let t=r(this.instance);this.scroll={animationId:this.root.animationId,phase:e,isRoot:t,offset:n(this.instance),wasRoot:this.scroll?this.scroll.isRoot:t}}}resetTransform(){if(!a)return;let e=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,t=this.projectionDelta&&!pt(this.projectionDelta),n=this.getTransformTemplate(),r=n?n(this.latestValues,``):void 0,i=r!==this.prevTransformTemplateValue;e&&this.instance&&(t||D(this.latestValues)||i)&&(a(this.instance,r),this.shouldResetTransform=!1,this.scheduleRender())}measure(e=!0){let t=this.measurePageBox(),n=this.removeElementScroll(t);return e&&(n=this.removeTransform(n)),ln(n),{animationId:this.root.animationId,measuredBox:t,layoutBox:n,latestValues:{},source:this.id}}measurePageBox(){let{visualElement:e}=this.options;if(!e)return S();let t=e.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(dn))){let{scroll:e}=this.root;e&&(E(t.x,e.offset.x),E(t.y,e.offset.y))}return t}removeElementScroll(e){let t=S();if(I(t,e),this.scroll?.wasRoot)return t;for(let n=0;n<this.path.length;n++){let r=this.path[n],{scroll:i,options:a}=r;r!==this.root&&i&&a.layoutScroll&&(i.wasRoot&&I(t,e),E(t.x,i.offset.x),E(t.y,i.offset.y))}return t}applyTransform(e,t=!1,n){let r=n||S();I(r,e);for(let e=0;e<this.path.length;e++){let n=this.path[e];!t&&n.options.layoutScroll&&n.scroll&&n!==n.root&&(E(r.x,-n.scroll.offset.x),E(r.y,-n.scroll.offset.y)),D(n.latestValues)&&T(r,n.latestValues,n.layout?.layoutBox)}return D(this.latestValues)&&T(r,this.latestValues,this.layout?.layoutBox),r}removeTransform(e){let t=S();I(t,e);for(let e=0;e<this.path.length;e++){let n=this.path[e];if(!D(n.latestValues))continue;let r;n.instance&&(we(n.latestValues)&&n.updateSnapshot(),r=S(),I(r,n.measurePageBox())),dt(t,n.latestValues,n.snapshot?.layoutBox,r)}return D(this.latestValues)&&dt(t,this.latestValues),t}setTargetDelta(e){this.targetDelta=e,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(e){this.options={...this.options,...e,crossfade:e.crossfade===void 0?!0:e.crossfade}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==x.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(e=!1){let t=this.getLead();this.isProjectionDirty||=t.isProjectionDirty,this.isTransformDirty||=t.isTransformDirty,this.isSharedProjectionDirty||=t.isSharedProjectionDirty;let n=!!this.resumingFrom||this!==t;if(!(e||n&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;let{layout:r,layoutId:i}=this.options;if(!this.layout||!(r||i))return;this.resolvedRelativeTargetAt=x.timestamp;let a=this.getClosestProjectingParent();a&&this.linkedParentVersion!==a.layoutVersion&&!a.options.layoutRoot&&this.removeRelativeTarget(),!this.targetDelta&&!this.relativeTarget&&(this.options.layoutAnchor!==!1&&a&&a.layout?this.createRelativeTarget(a,this.layout.layoutBox,a.layout.layoutBox):this.removeRelativeTarget()),!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=S(),this.targetWithTransforms=S()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),it(this.target,this.relativeTarget,this.relativeParent.target,this.options.layoutAnchor||void 0)):this.targetDelta?(this.resumingFrom?this.applyTransform(this.layout.layoutBox,!1,this.target):I(this.target,this.layout.layoutBox),ye(this.target,this.targetDelta)):I(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget&&(this.attemptToResolveRelativeTarget=!1,this.options.layoutAnchor!==!1&&a&&!!a.resumingFrom==!!this.resumingFrom&&!a.options.layoutScroll&&a.target&&this.animationProgress!==1?this.createRelativeTarget(a,this.target,a.target):this.relativeParent=this.relativeTarget=void 0),v.value&&H.calculatedTargetDeltas++)}getClosestProjectingParent(){if(!(!this.parent||we(this.parent.latestValues)||Ee(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(e,t,n){this.relativeParent=e,this.linkedParentVersion=e.layoutVersion,this.forceRelativeParentToResolveTarget(),this.relativeTarget=S(),this.relativeTargetOrigin=S(),z(this.relativeTargetOrigin,t,n,this.options.layoutAnchor||void 0),I(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){let e=this.getLead(),t=!!this.resumingFrom||this!==e,n=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(n=!1),t&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(n=!1),this.resolvedRelativeTargetAt===x.timestamp&&(n=!1),n)return;let{layout:r,layoutId:i}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(r||i))return;I(this.layoutCorrected,this.layout.layoutBox);let a=this.treeScale.x,o=this.treeScale.y;Ce(this.layoutCorrected,this.treeScale,this.path,t),e.layout&&!e.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(e.target=e.layout.layoutBox,e.targetWithTransforms=S());let{target:s}=e;if(!s){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(Je(this.prevProjectionDelta.x,this.projectionDelta.x),Je(this.prevProjectionDelta.y,this.projectionDelta.y)),R(this.projectionDelta,this.layoutCorrected,s,this.latestValues),(this.treeScale.x!==a||this.treeScale.y!==o||!yt(this.projectionDelta.x,this.prevProjectionDelta.x)||!yt(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners(`projectionUpdate`,s)),v.value&&H.calculatedProjections++}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(e=!0){if(this.options.visualElement?.scheduleRender(),e){let e=this.getStack();e&&e.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=C(),this.projectionDelta=C(),this.projectionDeltaWithTransform=C()}setAnimationOrigin(e,t=!1){let n=this.snapshot,r=n?n.latestValues:{},i={...this.latestValues},a=C();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!t;let o=S(),s=(n?n.source:void 0)!==(this.layout?this.layout.source:void 0),c=this.getStack(),l=!c||c.members.length<=1,u=!!(s&&!l&&this.options.crossfade===!0&&!this.path.some(rn));this.animationProgress=0;let d;this.mixTargetDelta=t=>{let n=t/1e3;en(a.x,e.x,n),en(a.y,e.y,n),this.setTargetDelta(a),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(z(o,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),nn(this.relativeTarget,this.relativeTargetOrigin,o,n),d&&ht(this.relativeTarget,d)&&(this.isProjectionDirty=!1),d||=S(),I(d,this.relativeTarget)),s&&(this.animationValues=i,Tt(i,r,this.latestValues,n,u,l)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=n},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(e){this.notifyListeners(`animationStart`),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&=(h(this.pendingAnimation),void 0),this.pendingAnimation=y.update(()=>{V.hasAnimatedSinceResize=!0,b.layout++,this.motionValue||=ee(0),this.motionValue.jump(0,!1),this.currentAnimation=At(this.motionValue,[0,1e3],{...e,velocity:0,isSync:!0,onUpdate:t=>{this.mixTargetDelta(t),e.onUpdate&&e.onUpdate(t)},onStop:()=>{b.layout--},onComplete:()=>{b.layout--,e.onComplete&&e.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);let e=this.getStack();e&&e.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners(`animationComplete`)}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(Ft),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){let e=this.getLead(),{targetWithTransforms:t,target:n,layout:r,latestValues:i}=e;if(!(!t||!n||!r)){if(this!==e&&this.layout&&r&&un(this.options.animationType,this.layout.layoutBox,r.layoutBox)){n=this.target||S();let t=L(this.layout.layoutBox.x);n.x.min=e.target.x.min,n.x.max=n.x.min+t;let r=L(this.layout.layoutBox.y);n.y.min=e.target.y.min,n.y.max=n.y.min+r}I(t,n),T(t,i),R(this.projectionDeltaWithTransform,this.layoutCorrected,t,i)}}registerSharedNode(e,t){this.sharedNodes.has(e)||this.sharedNodes.set(e,new Pt),this.sharedNodes.get(e).add(t);let n=t.options.initialPromotionConfig;t.promote({transition:n?n.transition:void 0,preserveFollowOpacity:n&&n.shouldPreserveFollowOpacity?n.shouldPreserveFollowOpacity(t):void 0})}isLead(){let e=this.getStack();return e?e.lead===this:!0}getLead(){let{layoutId:e}=this.options;return e&&this.getStack()?.lead||this}getPrevLead(){let{layoutId:e}=this.options;return e?this.getStack()?.prevLead:void 0}getStack(){let{layoutId:e}=this.options;if(e)return this.root.sharedNodes.get(e)}promote({needsReset:e,transition:t,preserveFollowOpacity:n}={}){let r=this.getStack();r&&r.promote(this,n),e&&(this.projectionDelta=void 0,this.needsReset=!0),t&&this.setOptions({transition:t})}relegate(){let e=this.getStack();return e?e.relegate(this):!1}resetSkewAndRotation(){let{visualElement:e}=this.options;if(!e)return;let t=!1,{latestValues:n}=e;if((n.z||n.rotate||n.rotateX||n.rotateY||n.rotateZ||n.skewX||n.skewY)&&(t=!0),!t)return;let r={};n.z&&W(`z`,e,r,this.animationValues);for(let t=0;t<U.length;t++)W(`rotate${U[t]}`,e,r,this.animationValues),W(`skew${U[t]}`,e,r,this.animationValues);e.render();for(let t in r)e.setStaticValue(t,r[t]),this.animationValues&&(this.animationValues[t]=r[t]);e.scheduleRender()}applyProjectionStyles(e,t){if(!this.instance||this.isSVG)return;if(!this.isVisible){e.visibility=`hidden`;return}let n=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,e.visibility=``,e.opacity=``,e.pointerEvents=i(t?.pointerEvents)||``,e.transform=n?n(this.latestValues,``):`none`;return}let r=this.getLead();if(!this.projectionDelta||!this.layout||!r.target){this.options.layoutId&&(e.opacity=this.latestValues.opacity===void 0?1:this.latestValues.opacity,e.pointerEvents=i(t?.pointerEvents)||``),this.hasProjected&&!D(this.latestValues)&&(e.transform=n?n({},``):`none`,this.hasProjected=!1);return}e.visibility=``;let a=r.animationValues||r.latestValues;this.applyTransformsToTarget();let o=bt(this.projectionDeltaWithTransform,this.treeScale,a);n&&(o=n(a,o)),e.transform=o;let{x:s,y:c}=this.projectionDelta;e.transformOrigin=`${s.origin*100}% ${c.origin*100}% 0`,r.animationValues?e.opacity=r===this?a.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:a.opacityExit:e.opacity=r===this?a.opacity===void 0?``:a.opacity:a.opacityExit===void 0?0:a.opacityExit;for(let t in se){if(a[t]===void 0)continue;let{correct:n,applyTo:i,isCSSVariable:s}=se[t],c=o===`none`?a[t]:n(a[t],r);if(i){let t=i.length;for(let n=0;n<t;n++)e[i[n]]=c}else s?this.options.visualElement.renderState.vars[t]=c:e[t]=c}this.options.layoutId&&(e.pointerEvents=r===this?i(t?.pointerEvents)||``:`none`)}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(e=>e.currentAnimation?.stop()),this.root.nodes.forEach(Wt),this.root.sharedNodes.clear()}}}function zt(e){e.updateLayout()}function Bt(e){let t=e.resumeFrom?.snapshot||e.snapshot;if(e.isLead()&&e.layout&&t&&e.hasListeners(`didUpdate`)){let{layoutBox:n,measuredBox:r}=e.layout,{animationType:i}=e.options,a=t.source!==e.layout.source;if(i===`size`)B(e=>{let r=a?t.measuredBox[e]:t.layoutBox[e],i=L(r);r.min=n[e].min,r.max=r.min+i});else if(i===`x`||i===`y`){let e=i===`x`?`y`:`x`;F(a?t.measuredBox[e]:t.layoutBox[e],n[e])}else un(i,t.layoutBox,n)&&B(r=>{let i=a?t.measuredBox[r]:t.layoutBox[r],o=L(n[r]);i.max=i.min+o,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[r].max=e.relativeTarget[r].min+o)});let o=C();R(o,n,t.layoutBox);let s=C();a?R(s,e.applyTransform(r,!0),t.measuredBox):R(s,n,t.layoutBox);let c=!pt(o),l=!1;if(!e.resumeFrom){let r=e.getClosestProjectingParent();if(r&&!r.resumeFrom){let{snapshot:i,layout:a}=r;if(i&&a){let o=e.options.layoutAnchor||void 0,s=S();z(s,t.layoutBox,i.layoutBox,o);let c=S();z(c,n,a.layoutBox,o),_t(s,c)||(l=!0),r.options.layoutRoot&&(e.relativeTarget=c,e.relativeTargetOrigin=s,e.relativeParent=r)}}}e.notifyListeners(`didUpdate`,{layout:n,snapshot:t,delta:s,layoutDelta:o,hasLayoutChanged:c,hasRelativeLayoutChanged:l})}else if(e.isLead()){let{onExitComplete:t}=e.options;t&&t()}e.options.transition=void 0}function Vt(e){v.value&&H.nodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty),e.isTransformDirty||=e.parent.isTransformDirty)}function Ht(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function Ut(e){e.clearSnapshot()}function Wt(e){e.clearMeasurements()}function Gt(e){e.isLayoutDirty=!0,e.updateLayout()}function Kt(e){e.isLayoutDirty=!1}function qt(e){e.isAnimationBlocked&&e.layout&&!e.isLayoutDirty&&(e.snapshot=e.layout,e.isLayoutDirty=!0)}function Jt(e){let{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify(`BeforeLayoutMeasure`),e.resetTransform()}function Yt(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function Xt(e){e.resolveTargetDelta()}function Zt(e){e.calcProjection()}function Qt(e){e.resetSkewAndRotation()}function $t(e){e.removeLeadSnapshot()}function en(e,t,n){e.translate=f(t.translate,0,n),e.scale=f(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function tn(e,t,n,r){e.min=f(t.min,n.min,r),e.max=f(t.max,n.max,r)}function nn(e,t,n,r){tn(e.x,t.x,n.x,r),tn(e.y,t.y,n.y,r)}function rn(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}var an={duration:.45,ease:[.4,0,.1,1]},on=e=>typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),sn=on(`applewebkit/`)&&!on(`chrome/`)?Math.round:_;function cn(e){e.min=sn(e.min),e.max=sn(e.max)}function ln(e){cn(e.x),cn(e.y)}function un(e,t,n){return e===`position`||e===`preserve-aspect`&&!tt(vt(t),vt(n),.2)}function dn(e){return e!==e.root&&e.scroll?.wasRoot}var fn=Rt({attachResizeListener:(e,t)=>O(e,`resize`,t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body?.scrollLeft||0,y:document.documentElement.scrollTop||document.body?.scrollTop||0}),checkIsScrollRoot:()=>!0}),G={current:void 0},pn=Rt({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!G.current){let e=new fn({});e.mount(window),e.setOptions({layoutScroll:!0}),G.current=e}return G.current},resetTransform:(e,t)=>{e.style.transform=t===void 0?`none`:t},checkIsScrollRoot:e=>window.getComputedStyle(e).position===`fixed`});function K(e,t,n,r){return O(e,t,Te(n),r)}var mn=({current:e})=>e?e.ownerDocument.defaultView:null,hn=(e,t)=>Math.abs(e-t);function gn(e,t){let n=hn(e.x,t.x),r=hn(e.y,t.y);return Math.sqrt(n**2+r**2)}var _n=new Set([`auto`,`scroll`]),vn=class{constructor(e,t,{transformPagePoint:n,contextWindow:r=window,dragSnapToOrigin:i=!1,distanceThreshold:a=3,element:o}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=e=>{this.handleScroll(e.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=q(this.lastRawMoveEventInfo,this.transformPagePoint));let e=J(this.lastMoveEventInfo,this.history),t=this.startEvent!==null,n=gn(e.offset,{x:0,y:0})>=this.distanceThreshold;if(!t&&!n)return;let{point:r}=e,{timestamp:i}=x;this.history.push({...r,timestamp:i});let{onStart:a,onMove:o}=this.handlers;t||(a&&a(this.lastMoveEvent,e),this.startEvent=this.lastMoveEvent),o&&o(this.lastMoveEvent,e)},this.handlePointerMove=(e,t)=>{this.lastMoveEvent=e,this.lastRawMoveEventInfo=t,this.lastMoveEventInfo=q(t,this.transformPagePoint),y.update(this.updatePoint,!0)},this.handlePointerUp=(e,t)=>{this.end();let{onEnd:n,onSessionEnd:r,resumeAnimation:i}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&i&&i(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;let a=J(e.type===`pointercancel`?this.lastMoveEventInfo:q(t,this.transformPagePoint),this.history);this.startEvent&&n&&n(e,a),r&&r(e,a)},!ve(e))return;this.dragSnapToOrigin=i,this.handlers=t,this.transformPagePoint=n,this.distanceThreshold=a,this.contextWindow=r||window;let s=q(De(e),this.transformPagePoint),{point:c}=s,{timestamp:l}=x;this.history=[{...c,timestamp:l}];let{onSessionStart:u}=t;u&&u(e,J(s,this.history)),this.removeListeners=Se(K(this.contextWindow,`pointermove`,this.handlePointerMove),K(this.contextWindow,`pointerup`,this.handlePointerUp),K(this.contextWindow,`pointercancel`,this.handlePointerUp)),o&&this.startScrollTracking(o)}startScrollTracking(e){let t=e.parentElement;for(;t;){let e=getComputedStyle(t);(_n.has(e.overflowX)||_n.has(e.overflowY))&&this.scrollPositions.set(t,{x:t.scrollLeft,y:t.scrollTop}),t=t.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener(`scroll`,this.onElementScroll,{capture:!0}),window.addEventListener(`scroll`,this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener(`scroll`,this.onElementScroll,{capture:!0}),window.removeEventListener(`scroll`,this.onWindowScroll)}}handleScroll(e){let t=this.scrollPositions.get(e);if(!t)return;let n=e===window,r=n?{x:window.scrollX,y:window.scrollY}:{x:e.scrollLeft,y:e.scrollTop},i={x:r.x-t.x,y:r.y-t.y};i.x===0&&i.y===0||(n?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=i.x,this.lastMoveEventInfo.point.y+=i.y):this.history.length>0&&(this.history[0].x-=i.x,this.history[0].y-=i.y),this.scrollPositions.set(e,r),y.update(this.updatePoint,!0))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),h(this.updatePoint)}};function q(e,t){return t?{point:t(e.point)}:e}function yn(e,t){return{x:e.x-t.x,y:e.y-t.y}}function J({point:e},t){return{point:e,delta:yn(e,xn(t)),offset:yn(e,bn(t)),velocity:Sn(t,.1)}}function bn(e){return e[0]}function xn(e){return e[e.length-1]}function Sn(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null,i=xn(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>oe(t)));)n--;if(!r)return{x:0,y:0};r===e[0]&&e.length>2&&i.timestamp-r.timestamp>oe(t)*2&&(r=e[1]);let a=re(i.timestamp-r.timestamp);if(a===0)return{x:0,y:0};let o={x:(i.x-r.x)/a,y:(i.y-r.y)/a};return o.x===1/0&&(o.x=0),o.y===1/0&&(o.y=0),o}function Cn(e,{min:t,max:n},r){return t!==void 0&&e<t?e=r?f(t,e,r.min):Math.max(e,t):n!==void 0&&e>n&&(e=r?f(n,e,r.max):Math.min(e,n)),e}function wn(e,t,n){return{min:t===void 0?void 0:e.min+t,max:n===void 0?void 0:e.max+n-(e.max-e.min)}}function Tn(e,{top:t,left:n,bottom:r,right:i}){return{x:wn(e.x,n,i),y:wn(e.y,t,r)}}function En(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.min<e.max-e.min&&([n,r]=[r,n]),{min:n,max:r}}function Dn(e,t){return{x:En(e.x,t.x),y:En(e.y,t.y)}}function On(e,t){let n=.5,r=L(e),i=L(t);return i>r?n=w(t.min,t.max-r,e.min):r>i&&(n=w(e.min,e.max-i,t.min)),u(0,1,n)}function kn(e,t){let n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}var Y=.35;function An(e=Y){return e===!1?e=0:e===!0&&(e=Y),{x:jn(e,`left`,`right`),y:jn(e,`top`,`bottom`)}}function jn(e,t,n){return{min:Mn(e,t),max:Mn(e,n)}}function Mn(e,t){return typeof e==`number`?e:e[t]||0}var Nn=new WeakMap,Pn=class{constructor(e){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=S(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=e}start(e,{snapToCursor:t=!1,distanceThreshold:n}={}){let{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;let i=e=>{t&&this.snapToCursor(De(e).point),this.stopAnimation()},a=(e,t)=>{let{drag:n,dragPropagation:r,onDragStart:i}=this.getProps();if(n&&!r&&(this.openDragLock&&this.openDragLock(),this.openDragLock=Ie(n),!this.openDragLock))return;this.latestPointerEvent=e,this.latestPanInfo=t,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),B(e=>{let t=this.getAxisMotionValue(e).get()||0;if(m.test(t)){let{projection:n}=this.visualElement;if(n&&n.layout){let r=n.layout.layoutBox[e];r&&(t=L(r)*(parseFloat(t)/100))}}this.originPoint[e]=t}),i&&y.update(()=>i(e,t),!1,!0),Me(this.visualElement,`transform`);let{animationState:a}=this.visualElement;a&&a.setActive(`whileDrag`,!0)},o=(e,t)=>{this.latestPointerEvent=e,this.latestPanInfo=t;let{dragPropagation:n,dragDirectionLock:r,onDirectionLock:i,onDrag:a}=this.getProps();if(!n&&!this.openDragLock)return;let{offset:o}=t;if(r&&this.currentDirection===null){this.currentDirection=Ln(o),this.currentDirection!==null&&i&&i(this.currentDirection);return}this.updateAxis(`x`,t.point,o),this.updateAxis(`y`,t.point,o),this.visualElement.render(),a&&y.update(()=>a(e,t),!1,!0)},s=(e,t)=>{this.latestPointerEvent=e,this.latestPanInfo=t,this.stop(e,t),this.latestPointerEvent=null,this.latestPanInfo=null},c=()=>{let{dragSnapToOrigin:e}=this.getProps();(e||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:l}=this.getProps();this.panSession=new vn(e,{onSessionStart:i,onStart:a,onMove:o,onSessionEnd:s,resumeAnimation:c},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:l,distanceThreshold:n,contextWindow:mn(this.visualElement),element:this.visualElement.current})}stop(e,t){let n=e||this.latestPointerEvent,r=t||this.latestPanInfo,i=this.isDragging;if(this.cancel(),!i||!r||!n)return;let{velocity:a}=r;this.startAnimation(a);let{onDragEnd:o}=this.getProps();o&&y.postRender(()=>o(n,r))}cancel(){this.isDragging=!1;let{projection:e,animationState:t}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.endPanSession();let{dragPropagation:n}=this.getProps();!n&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),t&&t.setActive(`whileDrag`,!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(e,t,n){let{drag:r}=this.getProps();if(!n||!X(e,r,this.currentDirection))return;let i=this.getAxisMotionValue(e),a=this.originPoint[e]+n[e];this.constraints&&this.constraints[e]&&(a=Cn(a,this.constraints[e],this.elastic[e])),i.set(a)}resolveConstraints(){let{dragConstraints:e,dragElastic:t}=this.getProps(),n=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,r=this.constraints;e&&o(e)?this.constraints||=this.resolveRefConstraints():e&&n?this.constraints=Tn(n.layoutBox,e):this.constraints=!1,this.elastic=An(t),r!==this.constraints&&!o(e)&&n&&this.constraints&&!this.hasMutatedConstraints&&B(e=>{this.constraints!==!1&&this.getAxisMotionValue(e)&&(this.constraints[e]=kn(n.layoutBox[e],this.constraints[e]))})}resolveRefConstraints(){let{dragConstraints:e,onMeasureDragConstraints:t}=this.getProps();if(!e||!o(e))return!1;let n=e.current;ue(n!==null,"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.",`drag-constraints-ref`);let{projection:r}=this.visualElement;if(!r||!r.layout)return!1;let i=Oe(n,r.root,this.visualElement.getTransformPagePoint()),a=Dn(r.layout.layoutBox,i);if(t){let e=t(ge(a));this.hasMutatedConstraints=!!e,e&&(a=be(e))}return a}startAnimation(e){let{drag:t,dragMomentum:n,dragElastic:r,dragTransition:i,dragSnapToOrigin:a,onDragTransitionEnd:o}=this.getProps(),s=this.constraints||{},c=B(o=>{if(!X(o,t,this.currentDirection))return;let c=s&&s[o]||{};(a===!0||a===o)&&(c={min:0,max:0});let l=r?200:1e6,u=r?40:1e7,d={type:`inertia`,velocity:n?e[o]:0,bounceStiffness:l,bounceDamping:u,timeConstant:750,restDelta:1,restSpeed:10,...i,...c};return this.startAxisValueAnimation(o,d)});return Promise.all(c).then(o)}startAxisValueAnimation(e,t){let n=this.getAxisMotionValue(e);return Me(this.visualElement,e),n.start(he(e,n,0,t,this.visualElement,!1))}stopAnimation(){B(e=>this.getAxisMotionValue(e).stop())}getAxisMotionValue(e){let t=`_drag${e.toUpperCase()}`,n=this.visualElement.getProps();return n[t]||this.visualElement.getValue(e,(n.initial?n.initial[e]:void 0)||0)}snapToCursor(e){B(t=>{let{drag:n}=this.getProps();if(!X(t,n,this.currentDirection))return;let{projection:r}=this.visualElement,i=this.getAxisMotionValue(t);if(r&&r.layout){let{min:n,max:a}=r.layout.layoutBox[t],o=i.get()||0;i.set(e[t]-f(n,a,.5)+o)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;let{drag:e,dragConstraints:t}=this.getProps(),{projection:n}=this.visualElement;if(!o(t)||!n||!this.constraints)return;this.stopAnimation();let r={x:0,y:0};B(e=>{let t=this.getAxisMotionValue(e);if(t&&this.constraints!==!1){let n=t.get();r[e]=On({min:n,max:n},this.constraints[e])}});let{transformTemplate:i}=this.visualElement.getProps();this.visualElement.current.style.transform=i?i({},``):`none`,n.root&&n.root.updateScroll(),n.updateLayout(),this.constraints=!1,this.resolveConstraints(),B(t=>{if(!X(t,e,null))return;let n=this.getAxisMotionValue(t),{min:i,max:a}=this.constraints[t];n.set(f(i,a,r[t]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;Nn.set(this.visualElement,this);let e=this.visualElement.current,t=K(e,`pointerdown`,t=>{let{drag:n,dragListener:r=!0}=this.getProps(),i=t.target,a=i!==e&&Ne(i);n&&r&&!a&&this.start(t)}),n,r=()=>{let{dragConstraints:t}=this.getProps();o(t)&&t.current&&(this.constraints=this.resolveRefConstraints(),n||=In(e,t.current,()=>this.scalePositionWithinConstraints()))},{projection:i}=this.visualElement,a=i.addEventListener(`measure`,r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),y.read(r);let s=O(window,`resize`,()=>this.scalePositionWithinConstraints()),c=i.addEventListener(`didUpdate`,(({delta:e,hasLayoutChanged:t})=>{this.isDragging&&t&&(B(t=>{let n=this.getAxisMotionValue(t);n&&(this.originPoint[t]+=e[t].translate,n.set(n.get()+e[t].translate))}),this.visualElement.render())}));return()=>{s(),t(),a(),c&&c(),n&&n()}}getProps(){let e=this.visualElement.getProps(),{drag:t=!1,dragDirectionLock:n=!1,dragPropagation:r=!1,dragConstraints:i=!1,dragElastic:a=Y,dragMomentum:o=!0}=e;return{...e,drag:t,dragDirectionLock:n,dragPropagation:r,dragConstraints:i,dragElastic:a,dragMomentum:o}}};function Fn(e){let t=!0;return()=>{if(t){t=!1;return}e()}}function In(e,t,n){let r=Ke(e,Fn(n)),i=Ke(t,Fn(n));return()=>{r(),i()}}function X(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function Ln(e,t=10){let n=null;return Math.abs(e.y)>t?n=`y`:Math.abs(e.x)>t&&(n=`x`),n}var Rn=class extends je{constructor(e){super(e),this.removeGroupControls=_,this.removeListeners=_,this.controls=new Pn(e)}mount(){let{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||_}update(){let{dragControls:e}=this.node.getProps(),{dragControls:t}=this.node.prevProps||{};e!==t&&(this.removeGroupControls(),e&&(this.removeGroupControls=e.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}},Z=e=>(t,n)=>{e&&y.update(()=>e(t,n),!1,!0)},zn=class extends je{constructor(){super(...arguments),this.removePointerDownListener=_}onPointerDown(e){this.session=new vn(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:mn(this.node)})}createPanHandlers(){let{onPanSessionStart:e,onPanStart:t,onPan:n,onPanEnd:r}=this.node.getProps();return{onSessionStart:Z(e),onStart:Z(t),onMove:Z(n),onEnd:(e,t)=>{delete this.session,r&&y.postRender(()=>r(e,t))}}}mount(){this.removePointerDownListener=K(this.node.current,`pointerdown`,e=>this.onPointerDown(e))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}},Bn=n(),Q=e(t(),1),$=!1,Vn=class extends Q.Component{componentDidMount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:n,layoutId:r}=this.props,{projection:i}=e;i&&(t.group&&t.group.add(i),n&&n.register&&r&&n.register(i),$&&i.root.didUpdate(),i.addEventListener(`animationComplete`,()=>{this.safeToRemove()}),i.setOptions({...i.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),V.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){let{layoutDependency:t,visualElement:n,drag:r,isPresent:i}=this.props,{projection:a}=n;return a?(a.isPresent=i,e.layoutDependency!==t&&a.setOptions({...a.options,layoutDependency:t}),$=!0,r||e.layoutDependency!==t||t===void 0||e.isPresent!==i?a.willUpdate():this.safeToRemove(),e.isPresent!==i&&(i?a.promote():a.relegate()||y.postRender(()=>{let e=a.getStack();(!e||!e.members.length)&&this.safeToRemove()})),null):null}componentDidUpdate(){let{visualElement:e,layoutAnchor:t}=this.props,{projection:n}=e;n&&(n.options.layoutAnchor=t,n.root.didUpdate(),ne.postRender(()=>{!n.currentAnimation&&n.isLead()&&this.safeToRemove()}))}componentWillUnmount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:n}=this.props,{projection:r}=e;$=!0,r&&(r.scheduleCheckAfterUnmount(),t&&t.group&&t.group.remove(r),n&&n.deregister&&n.deregister(r))}safeToRemove(){let{safeToRemove:e}=this.props;e&&e()}render(){return null}};function Hn(e){let[t,n]=c(),r=(0,Q.useContext)(s);return(0,Bn.jsx)(Vn,{...e,layoutGroup:r,switchLayoutGroup:(0,Q.useContext)(a),isPresent:t,safeToRemove:n})}var Un={pan:{Feature:zn},drag:{Feature:Rn,ProjectionNode:pn,MeasureLayout:Hn}},Wn={layout:{ProjectionNode:pn,MeasureLayout:Hn}},Gn=l({...xe,...ke,...Un,...Wn},_e);export{Fe as n,Pe as r,Gn as t};
1
+ import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{o as n}from"./declaration-D378OjpZ.js";import{t as r}from"./createLucideIcon-Ddu8jDOQ.js";import{A as i,E as a,T as o,j as s,k as c,w as l}from"./vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-Dy7L6fMG.js";import{Ct as u,D as d,G as f,O as ee,Tt as p,X as m,Z as te,at as h,b as ne,ct as g,ft as re,ht as _,it as ie,lt as v,mt as ae,ot as y,pt as oe,rt as b,s as se,st as x,v as S,vt as ce,wt as le,xt as ue,y as C}from"./vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-BebWhFNT.js";import{C as de,D as fe,E as pe,O as w,S as me,T as he,_ as ge,a as _e,b as ve,c as ye,d as T,f as E,g as be,h as D,i as xe,k as Se,l as Ce,m as we,n as Te,o as O,p as Ee,r as De,s as Oe,t as ke,u as Ae,v as je,w as Me,x as k,y as Ne}from"./vendor~conversation-panel~conversation~index-C23ZXO4R.js";var Pe=r(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),Fe=r(`share-2`,[[`circle`,{cx:`18`,cy:`5`,r:`3`,key:`gq8acd`}],[`circle`,{cx:`6`,cy:`12`,r:`3`,key:`w7nqdw`}],[`circle`,{cx:`18`,cy:`19`,r:`3`,key:`1xt0gg`}],[`line`,{x1:`8.59`,x2:`15.42`,y1:`13.51`,y2:`17.49`,key:`47mynk`}],[`line`,{x1:`15.41`,x2:`8.59`,y1:`6.51`,y2:`10.49`,key:`1n3mei`}]]);function Ie(e){return e===`x`||e===`y`?k[e]?null:(k[e]=!0,()=>{k[e]=!1}):k.x||k.y?null:(k.x=k.y=!0,()=>{k.x=k.y=!1})}function A(e){return ce(e)&&`ownerSVGElement`in e}var j=new WeakMap,M,Le=(e,t,n)=>(r,i)=>i&&i[0]?i[0][e+`Size`]:A(r)&&`getBBox`in r?r.getBBox()[t]:r[n],Re=Le(`inline`,`width`,`offsetWidth`),ze=Le(`block`,`height`,`offsetHeight`);function Be({target:e,borderBoxSize:t}){j.get(e)?.forEach(n=>{n(e,{get width(){return Re(e,t)},get height(){return ze(e,t)}})})}function Ve(e){e.forEach(Be)}function He(){typeof ResizeObserver>`u`||(M=new ResizeObserver(Ve))}function Ue(e,t){M||He();let n=me(e);return n.forEach(e=>{let n=j.get(e);n||(n=new Set,j.set(e,n)),n.add(t),M?.observe(e)}),()=>{n.forEach(e=>{let n=j.get(e);n?.delete(t),n?.size||M?.unobserve(e)})}}var N=new Set,P;function We(){P=()=>{let e={get width(){return window.innerWidth},get height(){return window.innerHeight}};N.forEach(t=>t(e))},window.addEventListener(`resize`,P)}function Ge(e){return N.add(e),P||We(),()=>{N.delete(e),!N.size&&typeof P==`function`&&(window.removeEventListener(`resize`,P),P=void 0)}}function Ke(e,t){return typeof e==`function`?Ge(e):Ue(e,t)}function qe(e){return A(e)&&e.tagName===`svg`}function F(e,t){e.min=t.min,e.max=t.max}function I(e,t){F(e.x,t.x),F(e.y,t.y)}function Je(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}var Ye=1e-4,Xe=1-Ye,Ze=1+Ye,Qe=.01,$e=0-Qe,et=0+Qe;function L(e){return e.max-e.min}function tt(e,t,n){return Math.abs(e-t)<=n}function nt(e,t,n,r=.5){e.origin=r,e.originPoint=f(t.min,t.max,e.origin),e.scale=L(n)/L(t),e.translate=f(n.min,n.max,e.origin)-e.originPoint,(e.scale>=Xe&&e.scale<=Ze||isNaN(e.scale))&&(e.scale=1),(e.translate>=$e&&e.translate<=et||isNaN(e.translate))&&(e.translate=0)}function R(e,t,n,r){nt(e.x,t.x,n.x,r?r.originX:void 0),nt(e.y,t.y,n.y,r?r.originY:void 0)}function rt(e,t,n,r=0){e.min=(r?f(n.min,n.max,r):n.min)+t.min,e.max=e.min+L(t)}function it(e,t,n,r){rt(e.x,t.x,n.x,r?.x),rt(e.y,t.y,n.y,r?.y)}function at(e,t,n,r=0){let i=r?f(n.min,n.max,r):n.min;e.min=t.min-i,e.max=e.min+L(t)}function z(e,t,n,r){at(e.x,t.x,n.x,r?.x),at(e.y,t.y,n.y,r?.y)}function ot(e,t,n,r,i){return e-=t,e=Ae(e,1/n,r),i!==void 0&&(e=Ae(e,1/i,r)),e}function st(e,t=0,n=1,r=.5,i,a=e,o=e){if(m.test(t)&&(t=parseFloat(t),t=f(o.min,o.max,t/100)-o.min),typeof t!=`number`)return;let s=f(a.min,a.max,r);e===a&&(s-=t),e.min=ot(e.min,t,n,s,i),e.max=ot(e.max,t,n,s,i)}function ct(e,t,[n,r,i],a,o){st(e,t[n],t[r],t[i],t.scale,a,o)}var lt=[`x`,`scaleX`,`originX`],ut=[`y`,`scaleY`,`originY`];function dt(e,t,n,r){ct(e.x,t,lt,n?n.x:void 0,r?r.x:void 0),ct(e.y,t,ut,n?n.y:void 0,r?r.y:void 0)}function ft(e){return e.translate===0&&e.scale===1}function pt(e){return ft(e.x)&&ft(e.y)}function mt(e,t){return e.min===t.min&&e.max===t.max}function ht(e,t){return mt(e.x,t.x)&&mt(e.y,t.y)}function gt(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function _t(e,t){return gt(e.x,t.x)&&gt(e.y,t.y)}function vt(e){return L(e.x)/L(e.y)}function yt(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}function B(e){return[e(`x`),e(`y`)]}function bt(e,t,n){let r=``,i=e.x.translate/t.x,a=e.y.translate/t.y,o=n?.z||0;if((i||a||o)&&(r=`translate3d(${i}px, ${a}px, ${o}px) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){let{transformPerspective:e,rotate:t,rotateX:i,rotateY:a,skewX:o,skewY:s}=n;e&&(r=`perspective(${e}px) ${r}`),t&&(r+=`rotate(${t}deg) `),i&&(r+=`rotateX(${i}deg) `),a&&(r+=`rotateY(${a}deg) `),o&&(r+=`skewX(${o}deg) `),s&&(r+=`skewY(${s}deg) `)}let s=e.x.scale*t.x,c=e.y.scale*t.y;return(s!==1||c!==1)&&(r+=`scale(${s}, ${c})`),r||`none`}var xt=[`borderTopLeftRadius`,`borderTopRightRadius`,`borderBottomLeftRadius`,`borderBottomRightRadius`],St=xt.length,Ct=e=>typeof e==`string`?parseFloat(e):e,wt=e=>typeof e==`number`||te.test(e);function Tt(e,t,n,r,i,a){i?(e.opacity=f(0,n.opacity??1,Dt(r)),e.opacityExit=f(t.opacity??1,0,Ot(r))):a&&(e.opacity=f(t.opacity??1,n.opacity??1,r));for(let i=0;i<St;i++){let a=xt[i],o=Et(t,a),s=Et(n,a);o===void 0&&s===void 0||(o||=0,s||=0,o===0||s===0||wt(o)===wt(s)?(e[a]=Math.max(f(Ct(o),Ct(s),r),0),(m.test(s)||m.test(o))&&(e[a]+=`%`)):e[a]=s)}(t.rotate||n.rotate)&&(e.rotate=f(t.rotate||0,n.rotate||0,r))}function Et(e,t){return e[t]===void 0?e.borderRadius:e[t]}var Dt=kt(0,.5,fe),Ot=kt(.5,.95,_);function kt(e,t,n){return r=>r<e?0:r>t?1:n(w(e,t,r))}function At(e,t,n){let r=d(e)?e:ee(e);return r.start(he(``,r,t,n)),r.animation}var jt=(e,t)=>e.depth-t.depth,Mt=class{constructor(){this.children=[],this.isDirty=!1}add(e){le(this.children,e),this.isDirty=!0}remove(e){p(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(jt),this.isDirty=!1,this.children.forEach(e)}};function Nt(e,t){let n=ie.now(),r=({timestamp:i})=>{let a=i-n;a>=t&&(h(r),e(a-t))};return y.setup(r,!0),()=>h(r)}var Pt=class{constructor(){this.members=[]}add(e){le(this.members,e);for(let t=this.members.length-1;t>=0;t--){let n=this.members[t];if(n===e||n===this.lead||n===this.prevLead)continue;let r=n.instance;(!r||r.isConnected===!1)&&!n.snapshot&&(p(this.members,n),n.unmount())}e.scheduleRender()}remove(e){if(p(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){let e=this.members[this.members.length-1];e&&this.promote(e)}}relegate(e){for(let t=this.members.indexOf(e)-1;t>=0;t--){let e=this.members[t];if(e.isPresent!==!1&&e.instance?.isConnected!==!1)return this.promote(e),!0}return!1}promote(e,t){let n=this.lead;if(e!==n&&(this.prevLead=n,this.lead=e,e.show(),n)){n.updateSnapshot(),e.scheduleRender();let{layoutDependency:r}=n.options,{layoutDependency:i}=e.options;(r===void 0||r!==i)&&(e.resumeFrom=n,t&&(n.preserveOpacity=!0),n.snapshot&&(e.snapshot=n.snapshot,e.snapshot.latestValues=n.animationValues||n.latestValues),e.root?.isUpdating&&(e.isLayoutDirty=!0)),e.options.crossfade===!1&&n.hide()}}exitAnimationComplete(){this.members.forEach(e=>{e.options.onExitComplete?.(),e.resumingFrom?.options.onExitComplete?.()})}scheduleRender(){this.members.forEach(e=>e.instance&&e.scheduleRender(!1))}removeLeadSnapshot(){this.lead?.snapshot&&(this.lead.snapshot=void 0)}},V={hasAnimatedSinceResize:!0,hasEverUpdated:!1},H={nodes:0,calculatedTargetDeltas:0,calculatedProjections:0},U=[``,`X`,`Y`,`Z`],Ft=1e3,It=0;function W(e,t,n,r){let{latestValues:i}=t;i[e]&&(n[e]=i[e],t.setStaticValue(e,0),r&&(r[e]=0))}function Lt(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;let{visualElement:t}=e.options;if(!t)return;let n=de(t);if(window.MotionHasOptimisedAnimation(n,`transform`)){let{layout:t,layoutId:r}=e.options;window.MotionCancelOptimisedAnimation(n,`transform`,y,!(t||r))}let{parent:r}=e;r&&!r.hasCheckedOptimisedAppear&&Lt(r)}function Rt({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:a}){return class{constructor(e={},n=t?.()){this.id=It++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,v.value&&(H.nodes=H.calculatedTargetDeltas=H.calculatedProjections=0),this.nodes.forEach(Vt),this.nodes.forEach(Xt),this.nodes.forEach(Zt),this.nodes.forEach(Ht),v.addProjectionMetrics&&v.addProjectionMetrics(H)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=e,this.root=n?n.root||n:this,this.path=n?[...n.path,n]:[],this.parent=n,this.depth=n?n.depth+1:0;for(let e=0;e<this.path.length;e++)this.path[e].shouldResetTransform=!0;this.root===this&&(this.nodes=new Mt)}addEventListener(e,t){return this.eventHandlers.has(e)||this.eventHandlers.set(e,new ae),this.eventHandlers.get(e).add(t)}notifyListeners(e,...t){let n=this.eventHandlers.get(e);n&&n.notify(...t)}hasListeners(e){return this.eventHandlers.has(e)}mount(t){if(this.instance)return;this.isSVG=A(t)&&!qe(t),this.instance=t;let{layoutId:n,layout:r,visualElement:i}=this.options;if(i&&!i.current&&i.mount(t),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(r||n)&&(this.isLayoutDirty=!0),e){let n,r=0,i=()=>this.root.updateBlockedByResize=!1;y.read(()=>{r=window.innerWidth}),e(t,()=>{let e=window.innerWidth;e!==r&&(r=e,this.root.updateBlockedByResize=!0,n&&n(),n=Nt(i,250),V.hasAnimatedSinceResize&&(V.hasAnimatedSinceResize=!1,this.nodes.forEach(Yt)))})}n&&this.root.registerSharedNode(n,this),this.options.animate!==!1&&i&&(n||r)&&this.addEventListener(`didUpdate`,({delta:e,hasLayoutChanged:t,hasRelativeLayoutChanged:n,layout:r})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}let a=this.options.transition||i.getDefaultTransition()||an,{onLayoutAnimationStart:o,onLayoutAnimationComplete:s}=i.getProps(),c=!this.targetLayout||!_t(this.targetLayout,r),l=!t&&n;if(this.options.layoutRoot||this.resumeFrom||l||t&&(c||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);let t={...pe(a,`layout`),onPlay:o,onComplete:s};(i.shouldReduceMotion||this.options.layoutRoot)&&(t.delay=0,t.type=!1),this.startAnimation(t),this.setAnimationOrigin(e,l)}else t||Yt(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=r})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);let e=this.getStack();e&&e.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),h(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(Qt),this.animationId++)}getTransformTemplate(){let{visualElement:e}=this.options;return e&&e.getProps().transformTemplate}willUpdate(e=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&Lt(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let e=0;e<this.path.length;e++){let t=this.path[e];t.shouldResetTransform=!0,(typeof t.latestValues.x==`string`||typeof t.latestValues.y==`string`)&&(t.isLayoutDirty=!0),t.updateScroll(`snapshot`),t.options.layoutRoot&&t.willUpdate(!1)}let{layoutId:t,layout:n}=this.options;if(t===void 0&&!n)return;let r=this.getTransformTemplate();this.prevTransformTemplateValue=r?r(this.latestValues,``):void 0,this.updateSnapshot(),e&&this.notifyListeners(`willUpdate`)}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){let e=this.updateBlockedByResize;this.unblockUpdate(),this.updateBlockedByResize=!1,this.clearAllSnapshots(),e&&this.nodes.forEach(Gt),this.nodes.forEach(Wt);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(Kt);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(qt),this.nodes.forEach(Jt),this.nodes.forEach(zt),this.nodes.forEach(Bt)):this.nodes.forEach(Kt),this.clearAllSnapshots();let e=ie.now();x.delta=u(0,1e3/60,e-x.timestamp),x.timestamp=e,x.isProcessing=!0,g.update.process(x),g.preRender.process(x),g.render.process(x),x.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,ne.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(Ut),this.sharedNodes.forEach($t)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,y.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){y.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!L(this.snapshot.measuredBox.x)&&!L(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let e=0;e<this.path.length;e++)this.path[e].updateScroll();let e=this.layout;this.layout=this.measure(!1),this.layoutVersion++,this.layoutCorrected||=S(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners(`measure`,this.layout.layoutBox);let{visualElement:t}=this.options;t&&t.notify(`LayoutMeasure`,this.layout.layoutBox,e?e.layoutBox:void 0)}updateScroll(e=`measure`){let t=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===e&&(t=!1),t&&this.instance){let t=r(this.instance);this.scroll={animationId:this.root.animationId,phase:e,isRoot:t,offset:n(this.instance),wasRoot:this.scroll?this.scroll.isRoot:t}}}resetTransform(){if(!a)return;let e=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,t=this.projectionDelta&&!pt(this.projectionDelta),n=this.getTransformTemplate(),r=n?n(this.latestValues,``):void 0,i=r!==this.prevTransformTemplateValue;e&&this.instance&&(t||D(this.latestValues)||i)&&(a(this.instance,r),this.shouldResetTransform=!1,this.scheduleRender())}measure(e=!0){let t=this.measurePageBox(),n=this.removeElementScroll(t);return e&&(n=this.removeTransform(n)),ln(n),{animationId:this.root.animationId,measuredBox:t,layoutBox:n,latestValues:{},source:this.id}}measurePageBox(){let{visualElement:e}=this.options;if(!e)return S();let t=e.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(dn))){let{scroll:e}=this.root;e&&(E(t.x,e.offset.x),E(t.y,e.offset.y))}return t}removeElementScroll(e){let t=S();if(I(t,e),this.scroll?.wasRoot)return t;for(let n=0;n<this.path.length;n++){let r=this.path[n],{scroll:i,options:a}=r;r!==this.root&&i&&a.layoutScroll&&(i.wasRoot&&I(t,e),E(t.x,i.offset.x),E(t.y,i.offset.y))}return t}applyTransform(e,t=!1,n){let r=n||S();I(r,e);for(let e=0;e<this.path.length;e++){let n=this.path[e];!t&&n.options.layoutScroll&&n.scroll&&n!==n.root&&(E(r.x,-n.scroll.offset.x),E(r.y,-n.scroll.offset.y)),D(n.latestValues)&&T(r,n.latestValues,n.layout?.layoutBox)}return D(this.latestValues)&&T(r,this.latestValues,this.layout?.layoutBox),r}removeTransform(e){let t=S();I(t,e);for(let e=0;e<this.path.length;e++){let n=this.path[e];if(!D(n.latestValues))continue;let r;n.instance&&(we(n.latestValues)&&n.updateSnapshot(),r=S(),I(r,n.measurePageBox())),dt(t,n.latestValues,n.snapshot?.layoutBox,r)}return D(this.latestValues)&&dt(t,this.latestValues),t}setTargetDelta(e){this.targetDelta=e,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(e){this.options={...this.options,...e,crossfade:e.crossfade===void 0?!0:e.crossfade}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==x.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(e=!1){let t=this.getLead();this.isProjectionDirty||=t.isProjectionDirty,this.isTransformDirty||=t.isTransformDirty,this.isSharedProjectionDirty||=t.isSharedProjectionDirty;let n=!!this.resumingFrom||this!==t;if(!(e||n&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;let{layout:r,layoutId:i}=this.options;if(!this.layout||!(r||i))return;this.resolvedRelativeTargetAt=x.timestamp;let a=this.getClosestProjectingParent();a&&this.linkedParentVersion!==a.layoutVersion&&!a.options.layoutRoot&&this.removeRelativeTarget(),!this.targetDelta&&!this.relativeTarget&&(this.options.layoutAnchor!==!1&&a&&a.layout?this.createRelativeTarget(a,this.layout.layoutBox,a.layout.layoutBox):this.removeRelativeTarget()),!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=S(),this.targetWithTransforms=S()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),it(this.target,this.relativeTarget,this.relativeParent.target,this.options.layoutAnchor||void 0)):this.targetDelta?(this.resumingFrom?this.applyTransform(this.layout.layoutBox,!1,this.target):I(this.target,this.layout.layoutBox),ye(this.target,this.targetDelta)):I(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget&&(this.attemptToResolveRelativeTarget=!1,this.options.layoutAnchor!==!1&&a&&!!a.resumingFrom==!!this.resumingFrom&&!a.options.layoutScroll&&a.target&&this.animationProgress!==1?this.createRelativeTarget(a,this.target,a.target):this.relativeParent=this.relativeTarget=void 0),v.value&&H.calculatedTargetDeltas++)}getClosestProjectingParent(){if(!(!this.parent||we(this.parent.latestValues)||Ee(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(e,t,n){this.relativeParent=e,this.linkedParentVersion=e.layoutVersion,this.forceRelativeParentToResolveTarget(),this.relativeTarget=S(),this.relativeTargetOrigin=S(),z(this.relativeTargetOrigin,t,n,this.options.layoutAnchor||void 0),I(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){let e=this.getLead(),t=!!this.resumingFrom||this!==e,n=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(n=!1),t&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(n=!1),this.resolvedRelativeTargetAt===x.timestamp&&(n=!1),n)return;let{layout:r,layoutId:i}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(r||i))return;I(this.layoutCorrected,this.layout.layoutBox);let a=this.treeScale.x,o=this.treeScale.y;Ce(this.layoutCorrected,this.treeScale,this.path,t),e.layout&&!e.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(e.target=e.layout.layoutBox,e.targetWithTransforms=S());let{target:s}=e;if(!s){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(Je(this.prevProjectionDelta.x,this.projectionDelta.x),Je(this.prevProjectionDelta.y,this.projectionDelta.y)),R(this.projectionDelta,this.layoutCorrected,s,this.latestValues),(this.treeScale.x!==a||this.treeScale.y!==o||!yt(this.projectionDelta.x,this.prevProjectionDelta.x)||!yt(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners(`projectionUpdate`,s)),v.value&&H.calculatedProjections++}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(e=!0){if(this.options.visualElement?.scheduleRender(),e){let e=this.getStack();e&&e.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=C(),this.projectionDelta=C(),this.projectionDeltaWithTransform=C()}setAnimationOrigin(e,t=!1){let n=this.snapshot,r=n?n.latestValues:{},i={...this.latestValues},a=C();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!t;let o=S(),s=(n?n.source:void 0)!==(this.layout?this.layout.source:void 0),c=this.getStack(),l=!c||c.members.length<=1,u=!!(s&&!l&&this.options.crossfade===!0&&!this.path.some(rn));this.animationProgress=0;let d;this.mixTargetDelta=t=>{let n=t/1e3;en(a.x,e.x,n),en(a.y,e.y,n),this.setTargetDelta(a),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(z(o,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),nn(this.relativeTarget,this.relativeTargetOrigin,o,n),d&&ht(this.relativeTarget,d)&&(this.isProjectionDirty=!1),d||=S(),I(d,this.relativeTarget)),s&&(this.animationValues=i,Tt(i,r,this.latestValues,n,u,l)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=n},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(e){this.notifyListeners(`animationStart`),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&=(h(this.pendingAnimation),void 0),this.pendingAnimation=y.update(()=>{V.hasAnimatedSinceResize=!0,b.layout++,this.motionValue||=ee(0),this.motionValue.jump(0,!1),this.currentAnimation=At(this.motionValue,[0,1e3],{...e,velocity:0,isSync:!0,onUpdate:t=>{this.mixTargetDelta(t),e.onUpdate&&e.onUpdate(t)},onStop:()=>{b.layout--},onComplete:()=>{b.layout--,e.onComplete&&e.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);let e=this.getStack();e&&e.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners(`animationComplete`)}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(Ft),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){let e=this.getLead(),{targetWithTransforms:t,target:n,layout:r,latestValues:i}=e;if(!(!t||!n||!r)){if(this!==e&&this.layout&&r&&un(this.options.animationType,this.layout.layoutBox,r.layoutBox)){n=this.target||S();let t=L(this.layout.layoutBox.x);n.x.min=e.target.x.min,n.x.max=n.x.min+t;let r=L(this.layout.layoutBox.y);n.y.min=e.target.y.min,n.y.max=n.y.min+r}I(t,n),T(t,i),R(this.projectionDeltaWithTransform,this.layoutCorrected,t,i)}}registerSharedNode(e,t){this.sharedNodes.has(e)||this.sharedNodes.set(e,new Pt),this.sharedNodes.get(e).add(t);let n=t.options.initialPromotionConfig;t.promote({transition:n?n.transition:void 0,preserveFollowOpacity:n&&n.shouldPreserveFollowOpacity?n.shouldPreserveFollowOpacity(t):void 0})}isLead(){let e=this.getStack();return e?e.lead===this:!0}getLead(){let{layoutId:e}=this.options;return e&&this.getStack()?.lead||this}getPrevLead(){let{layoutId:e}=this.options;return e?this.getStack()?.prevLead:void 0}getStack(){let{layoutId:e}=this.options;if(e)return this.root.sharedNodes.get(e)}promote({needsReset:e,transition:t,preserveFollowOpacity:n}={}){let r=this.getStack();r&&r.promote(this,n),e&&(this.projectionDelta=void 0,this.needsReset=!0),t&&this.setOptions({transition:t})}relegate(){let e=this.getStack();return e?e.relegate(this):!1}resetSkewAndRotation(){let{visualElement:e}=this.options;if(!e)return;let t=!1,{latestValues:n}=e;if((n.z||n.rotate||n.rotateX||n.rotateY||n.rotateZ||n.skewX||n.skewY)&&(t=!0),!t)return;let r={};n.z&&W(`z`,e,r,this.animationValues);for(let t=0;t<U.length;t++)W(`rotate${U[t]}`,e,r,this.animationValues),W(`skew${U[t]}`,e,r,this.animationValues);e.render();for(let t in r)e.setStaticValue(t,r[t]),this.animationValues&&(this.animationValues[t]=r[t]);e.scheduleRender()}applyProjectionStyles(e,t){if(!this.instance||this.isSVG)return;if(!this.isVisible){e.visibility=`hidden`;return}let n=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,e.visibility=``,e.opacity=``,e.pointerEvents=i(t?.pointerEvents)||``,e.transform=n?n(this.latestValues,``):`none`;return}let r=this.getLead();if(!this.projectionDelta||!this.layout||!r.target){this.options.layoutId&&(e.opacity=this.latestValues.opacity===void 0?1:this.latestValues.opacity,e.pointerEvents=i(t?.pointerEvents)||``),this.hasProjected&&!D(this.latestValues)&&(e.transform=n?n({},``):`none`,this.hasProjected=!1);return}e.visibility=``;let a=r.animationValues||r.latestValues;this.applyTransformsToTarget();let o=bt(this.projectionDeltaWithTransform,this.treeScale,a);n&&(o=n(a,o)),e.transform=o;let{x:s,y:c}=this.projectionDelta;e.transformOrigin=`${s.origin*100}% ${c.origin*100}% 0`,r.animationValues?e.opacity=r===this?a.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:a.opacityExit:e.opacity=r===this?a.opacity===void 0?``:a.opacity:a.opacityExit===void 0?0:a.opacityExit;for(let t in se){if(a[t]===void 0)continue;let{correct:n,applyTo:i,isCSSVariable:s}=se[t],c=o===`none`?a[t]:n(a[t],r);if(i){let t=i.length;for(let n=0;n<t;n++)e[i[n]]=c}else s?this.options.visualElement.renderState.vars[t]=c:e[t]=c}this.options.layoutId&&(e.pointerEvents=r===this?i(t?.pointerEvents)||``:`none`)}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(e=>e.currentAnimation?.stop()),this.root.nodes.forEach(Wt),this.root.sharedNodes.clear()}}}function zt(e){e.updateLayout()}function Bt(e){let t=e.resumeFrom?.snapshot||e.snapshot;if(e.isLead()&&e.layout&&t&&e.hasListeners(`didUpdate`)){let{layoutBox:n,measuredBox:r}=e.layout,{animationType:i}=e.options,a=t.source!==e.layout.source;if(i===`size`)B(e=>{let r=a?t.measuredBox[e]:t.layoutBox[e],i=L(r);r.min=n[e].min,r.max=r.min+i});else if(i===`x`||i===`y`){let e=i===`x`?`y`:`x`;F(a?t.measuredBox[e]:t.layoutBox[e],n[e])}else un(i,t.layoutBox,n)&&B(r=>{let i=a?t.measuredBox[r]:t.layoutBox[r],o=L(n[r]);i.max=i.min+o,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[r].max=e.relativeTarget[r].min+o)});let o=C();R(o,n,t.layoutBox);let s=C();a?R(s,e.applyTransform(r,!0),t.measuredBox):R(s,n,t.layoutBox);let c=!pt(o),l=!1;if(!e.resumeFrom){let r=e.getClosestProjectingParent();if(r&&!r.resumeFrom){let{snapshot:i,layout:a}=r;if(i&&a){let o=e.options.layoutAnchor||void 0,s=S();z(s,t.layoutBox,i.layoutBox,o);let c=S();z(c,n,a.layoutBox,o),_t(s,c)||(l=!0),r.options.layoutRoot&&(e.relativeTarget=c,e.relativeTargetOrigin=s,e.relativeParent=r)}}}e.notifyListeners(`didUpdate`,{layout:n,snapshot:t,delta:s,layoutDelta:o,hasLayoutChanged:c,hasRelativeLayoutChanged:l})}else if(e.isLead()){let{onExitComplete:t}=e.options;t&&t()}e.options.transition=void 0}function Vt(e){v.value&&H.nodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty),e.isTransformDirty||=e.parent.isTransformDirty)}function Ht(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function Ut(e){e.clearSnapshot()}function Wt(e){e.clearMeasurements()}function Gt(e){e.isLayoutDirty=!0,e.updateLayout()}function Kt(e){e.isLayoutDirty=!1}function qt(e){e.isAnimationBlocked&&e.layout&&!e.isLayoutDirty&&(e.snapshot=e.layout,e.isLayoutDirty=!0)}function Jt(e){let{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify(`BeforeLayoutMeasure`),e.resetTransform()}function Yt(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function Xt(e){e.resolveTargetDelta()}function Zt(e){e.calcProjection()}function Qt(e){e.resetSkewAndRotation()}function $t(e){e.removeLeadSnapshot()}function en(e,t,n){e.translate=f(t.translate,0,n),e.scale=f(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function tn(e,t,n,r){e.min=f(t.min,n.min,r),e.max=f(t.max,n.max,r)}function nn(e,t,n,r){tn(e.x,t.x,n.x,r),tn(e.y,t.y,n.y,r)}function rn(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}var an={duration:.45,ease:[.4,0,.1,1]},on=e=>typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),sn=on(`applewebkit/`)&&!on(`chrome/`)?Math.round:_;function cn(e){e.min=sn(e.min),e.max=sn(e.max)}function ln(e){cn(e.x),cn(e.y)}function un(e,t,n){return e===`position`||e===`preserve-aspect`&&!tt(vt(t),vt(n),.2)}function dn(e){return e!==e.root&&e.scroll?.wasRoot}var fn=Rt({attachResizeListener:(e,t)=>O(e,`resize`,t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body?.scrollLeft||0,y:document.documentElement.scrollTop||document.body?.scrollTop||0}),checkIsScrollRoot:()=>!0}),G={current:void 0},pn=Rt({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!G.current){let e=new fn({});e.mount(window),e.setOptions({layoutScroll:!0}),G.current=e}return G.current},resetTransform:(e,t)=>{e.style.transform=t===void 0?`none`:t},checkIsScrollRoot:e=>window.getComputedStyle(e).position===`fixed`});function K(e,t,n,r){return O(e,t,Te(n),r)}var mn=({current:e})=>e?e.ownerDocument.defaultView:null,hn=(e,t)=>Math.abs(e-t);function gn(e,t){let n=hn(e.x,t.x),r=hn(e.y,t.y);return Math.sqrt(n**2+r**2)}var _n=new Set([`auto`,`scroll`]),vn=class{constructor(e,t,{transformPagePoint:n,contextWindow:r=window,dragSnapToOrigin:i=!1,distanceThreshold:a=3,element:o}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=e=>{this.handleScroll(e.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=q(this.lastRawMoveEventInfo,this.transformPagePoint));let e=J(this.lastMoveEventInfo,this.history),t=this.startEvent!==null,n=gn(e.offset,{x:0,y:0})>=this.distanceThreshold;if(!t&&!n)return;let{point:r}=e,{timestamp:i}=x;this.history.push({...r,timestamp:i});let{onStart:a,onMove:o}=this.handlers;t||(a&&a(this.lastMoveEvent,e),this.startEvent=this.lastMoveEvent),o&&o(this.lastMoveEvent,e)},this.handlePointerMove=(e,t)=>{this.lastMoveEvent=e,this.lastRawMoveEventInfo=t,this.lastMoveEventInfo=q(t,this.transformPagePoint),y.update(this.updatePoint,!0)},this.handlePointerUp=(e,t)=>{this.end();let{onEnd:n,onSessionEnd:r,resumeAnimation:i}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&i&&i(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;let a=J(e.type===`pointercancel`?this.lastMoveEventInfo:q(t,this.transformPagePoint),this.history);this.startEvent&&n&&n(e,a),r&&r(e,a)},!ve(e))return;this.dragSnapToOrigin=i,this.handlers=t,this.transformPagePoint=n,this.distanceThreshold=a,this.contextWindow=r||window;let s=q(De(e),this.transformPagePoint),{point:c}=s,{timestamp:l}=x;this.history=[{...c,timestamp:l}];let{onSessionStart:u}=t;u&&u(e,J(s,this.history)),this.removeListeners=Se(K(this.contextWindow,`pointermove`,this.handlePointerMove),K(this.contextWindow,`pointerup`,this.handlePointerUp),K(this.contextWindow,`pointercancel`,this.handlePointerUp)),o&&this.startScrollTracking(o)}startScrollTracking(e){let t=e.parentElement;for(;t;){let e=getComputedStyle(t);(_n.has(e.overflowX)||_n.has(e.overflowY))&&this.scrollPositions.set(t,{x:t.scrollLeft,y:t.scrollTop}),t=t.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener(`scroll`,this.onElementScroll,{capture:!0}),window.addEventListener(`scroll`,this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener(`scroll`,this.onElementScroll,{capture:!0}),window.removeEventListener(`scroll`,this.onWindowScroll)}}handleScroll(e){let t=this.scrollPositions.get(e);if(!t)return;let n=e===window,r=n?{x:window.scrollX,y:window.scrollY}:{x:e.scrollLeft,y:e.scrollTop},i={x:r.x-t.x,y:r.y-t.y};i.x===0&&i.y===0||(n?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=i.x,this.lastMoveEventInfo.point.y+=i.y):this.history.length>0&&(this.history[0].x-=i.x,this.history[0].y-=i.y),this.scrollPositions.set(e,r),y.update(this.updatePoint,!0))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),h(this.updatePoint)}};function q(e,t){return t?{point:t(e.point)}:e}function yn(e,t){return{x:e.x-t.x,y:e.y-t.y}}function J({point:e},t){return{point:e,delta:yn(e,xn(t)),offset:yn(e,bn(t)),velocity:Sn(t,.1)}}function bn(e){return e[0]}function xn(e){return e[e.length-1]}function Sn(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null,i=xn(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>oe(t)));)n--;if(!r)return{x:0,y:0};r===e[0]&&e.length>2&&i.timestamp-r.timestamp>oe(t)*2&&(r=e[1]);let a=re(i.timestamp-r.timestamp);if(a===0)return{x:0,y:0};let o={x:(i.x-r.x)/a,y:(i.y-r.y)/a};return o.x===1/0&&(o.x=0),o.y===1/0&&(o.y=0),o}function Cn(e,{min:t,max:n},r){return t!==void 0&&e<t?e=r?f(t,e,r.min):Math.max(e,t):n!==void 0&&e>n&&(e=r?f(n,e,r.max):Math.min(e,n)),e}function wn(e,t,n){return{min:t===void 0?void 0:e.min+t,max:n===void 0?void 0:e.max+n-(e.max-e.min)}}function Tn(e,{top:t,left:n,bottom:r,right:i}){return{x:wn(e.x,n,i),y:wn(e.y,t,r)}}function En(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.min<e.max-e.min&&([n,r]=[r,n]),{min:n,max:r}}function Dn(e,t){return{x:En(e.x,t.x),y:En(e.y,t.y)}}function On(e,t){let n=.5,r=L(e),i=L(t);return i>r?n=w(t.min,t.max-r,e.min):r>i&&(n=w(e.min,e.max-i,t.min)),u(0,1,n)}function kn(e,t){let n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}var Y=.35;function An(e=Y){return e===!1?e=0:e===!0&&(e=Y),{x:jn(e,`left`,`right`),y:jn(e,`top`,`bottom`)}}function jn(e,t,n){return{min:Mn(e,t),max:Mn(e,n)}}function Mn(e,t){return typeof e==`number`?e:e[t]||0}var Nn=new WeakMap,Pn=class{constructor(e){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=S(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=e}start(e,{snapToCursor:t=!1,distanceThreshold:n}={}){let{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;let i=e=>{t&&this.snapToCursor(De(e).point),this.stopAnimation()},a=(e,t)=>{let{drag:n,dragPropagation:r,onDragStart:i}=this.getProps();if(n&&!r&&(this.openDragLock&&this.openDragLock(),this.openDragLock=Ie(n),!this.openDragLock))return;this.latestPointerEvent=e,this.latestPanInfo=t,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),B(e=>{let t=this.getAxisMotionValue(e).get()||0;if(m.test(t)){let{projection:n}=this.visualElement;if(n&&n.layout){let r=n.layout.layoutBox[e];r&&(t=L(r)*(parseFloat(t)/100))}}this.originPoint[e]=t}),i&&y.update(()=>i(e,t),!1,!0),Me(this.visualElement,`transform`);let{animationState:a}=this.visualElement;a&&a.setActive(`whileDrag`,!0)},o=(e,t)=>{this.latestPointerEvent=e,this.latestPanInfo=t;let{dragPropagation:n,dragDirectionLock:r,onDirectionLock:i,onDrag:a}=this.getProps();if(!n&&!this.openDragLock)return;let{offset:o}=t;if(r&&this.currentDirection===null){this.currentDirection=Ln(o),this.currentDirection!==null&&i&&i(this.currentDirection);return}this.updateAxis(`x`,t.point,o),this.updateAxis(`y`,t.point,o),this.visualElement.render(),a&&y.update(()=>a(e,t),!1,!0)},s=(e,t)=>{this.latestPointerEvent=e,this.latestPanInfo=t,this.stop(e,t),this.latestPointerEvent=null,this.latestPanInfo=null},c=()=>{let{dragSnapToOrigin:e}=this.getProps();(e||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:l}=this.getProps();this.panSession=new vn(e,{onSessionStart:i,onStart:a,onMove:o,onSessionEnd:s,resumeAnimation:c},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:l,distanceThreshold:n,contextWindow:mn(this.visualElement),element:this.visualElement.current})}stop(e,t){let n=e||this.latestPointerEvent,r=t||this.latestPanInfo,i=this.isDragging;if(this.cancel(),!i||!r||!n)return;let{velocity:a}=r;this.startAnimation(a);let{onDragEnd:o}=this.getProps();o&&y.postRender(()=>o(n,r))}cancel(){this.isDragging=!1;let{projection:e,animationState:t}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.endPanSession();let{dragPropagation:n}=this.getProps();!n&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),t&&t.setActive(`whileDrag`,!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(e,t,n){let{drag:r}=this.getProps();if(!n||!X(e,r,this.currentDirection))return;let i=this.getAxisMotionValue(e),a=this.originPoint[e]+n[e];this.constraints&&this.constraints[e]&&(a=Cn(a,this.constraints[e],this.elastic[e])),i.set(a)}resolveConstraints(){let{dragConstraints:e,dragElastic:t}=this.getProps(),n=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,r=this.constraints;e&&o(e)?this.constraints||=this.resolveRefConstraints():e&&n?this.constraints=Tn(n.layoutBox,e):this.constraints=!1,this.elastic=An(t),r!==this.constraints&&!o(e)&&n&&this.constraints&&!this.hasMutatedConstraints&&B(e=>{this.constraints!==!1&&this.getAxisMotionValue(e)&&(this.constraints[e]=kn(n.layoutBox[e],this.constraints[e]))})}resolveRefConstraints(){let{dragConstraints:e,onMeasureDragConstraints:t}=this.getProps();if(!e||!o(e))return!1;let n=e.current;ue(n!==null,"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.",`drag-constraints-ref`);let{projection:r}=this.visualElement;if(!r||!r.layout)return!1;let i=Oe(n,r.root,this.visualElement.getTransformPagePoint()),a=Dn(r.layout.layoutBox,i);if(t){let e=t(ge(a));this.hasMutatedConstraints=!!e,e&&(a=be(e))}return a}startAnimation(e){let{drag:t,dragMomentum:n,dragElastic:r,dragTransition:i,dragSnapToOrigin:a,onDragTransitionEnd:o}=this.getProps(),s=this.constraints||{},c=B(o=>{if(!X(o,t,this.currentDirection))return;let c=s&&s[o]||{};(a===!0||a===o)&&(c={min:0,max:0});let l=r?200:1e6,u=r?40:1e7,d={type:`inertia`,velocity:n?e[o]:0,bounceStiffness:l,bounceDamping:u,timeConstant:750,restDelta:1,restSpeed:10,...i,...c};return this.startAxisValueAnimation(o,d)});return Promise.all(c).then(o)}startAxisValueAnimation(e,t){let n=this.getAxisMotionValue(e);return Me(this.visualElement,e),n.start(he(e,n,0,t,this.visualElement,!1))}stopAnimation(){B(e=>this.getAxisMotionValue(e).stop())}getAxisMotionValue(e){let t=`_drag${e.toUpperCase()}`,n=this.visualElement.getProps();return n[t]||this.visualElement.getValue(e,(n.initial?n.initial[e]:void 0)||0)}snapToCursor(e){B(t=>{let{drag:n}=this.getProps();if(!X(t,n,this.currentDirection))return;let{projection:r}=this.visualElement,i=this.getAxisMotionValue(t);if(r&&r.layout){let{min:n,max:a}=r.layout.layoutBox[t],o=i.get()||0;i.set(e[t]-f(n,a,.5)+o)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;let{drag:e,dragConstraints:t}=this.getProps(),{projection:n}=this.visualElement;if(!o(t)||!n||!this.constraints)return;this.stopAnimation();let r={x:0,y:0};B(e=>{let t=this.getAxisMotionValue(e);if(t&&this.constraints!==!1){let n=t.get();r[e]=On({min:n,max:n},this.constraints[e])}});let{transformTemplate:i}=this.visualElement.getProps();this.visualElement.current.style.transform=i?i({},``):`none`,n.root&&n.root.updateScroll(),n.updateLayout(),this.constraints=!1,this.resolveConstraints(),B(t=>{if(!X(t,e,null))return;let n=this.getAxisMotionValue(t),{min:i,max:a}=this.constraints[t];n.set(f(i,a,r[t]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;Nn.set(this.visualElement,this);let e=this.visualElement.current,t=K(e,`pointerdown`,t=>{let{drag:n,dragListener:r=!0}=this.getProps(),i=t.target,a=i!==e&&Ne(i);n&&r&&!a&&this.start(t)}),n,r=()=>{let{dragConstraints:t}=this.getProps();o(t)&&t.current&&(this.constraints=this.resolveRefConstraints(),n||=In(e,t.current,()=>this.scalePositionWithinConstraints()))},{projection:i}=this.visualElement,a=i.addEventListener(`measure`,r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),y.read(r);let s=O(window,`resize`,()=>this.scalePositionWithinConstraints()),c=i.addEventListener(`didUpdate`,(({delta:e,hasLayoutChanged:t})=>{this.isDragging&&t&&(B(t=>{let n=this.getAxisMotionValue(t);n&&(this.originPoint[t]+=e[t].translate,n.set(n.get()+e[t].translate))}),this.visualElement.render())}));return()=>{s(),t(),a(),c&&c(),n&&n()}}getProps(){let e=this.visualElement.getProps(),{drag:t=!1,dragDirectionLock:n=!1,dragPropagation:r=!1,dragConstraints:i=!1,dragElastic:a=Y,dragMomentum:o=!0}=e;return{...e,drag:t,dragDirectionLock:n,dragPropagation:r,dragConstraints:i,dragElastic:a,dragMomentum:o}}};function Fn(e){let t=!0;return()=>{if(t){t=!1;return}e()}}function In(e,t,n){let r=Ke(e,Fn(n)),i=Ke(t,Fn(n));return()=>{r(),i()}}function X(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function Ln(e,t=10){let n=null;return Math.abs(e.y)>t?n=`y`:Math.abs(e.x)>t&&(n=`x`),n}var Rn=class extends je{constructor(e){super(e),this.removeGroupControls=_,this.removeListeners=_,this.controls=new Pn(e)}mount(){let{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||_}update(){let{dragControls:e}=this.node.getProps(),{dragControls:t}=this.node.prevProps||{};e!==t&&(this.removeGroupControls(),e&&(this.removeGroupControls=e.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}},Z=e=>(t,n)=>{e&&y.update(()=>e(t,n),!1,!0)},zn=class extends je{constructor(){super(...arguments),this.removePointerDownListener=_}onPointerDown(e){this.session=new vn(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:mn(this.node)})}createPanHandlers(){let{onPanSessionStart:e,onPanStart:t,onPan:n,onPanEnd:r}=this.node.getProps();return{onSessionStart:Z(e),onStart:Z(t),onMove:Z(n),onEnd:(e,t)=>{delete this.session,r&&y.postRender(()=>r(e,t))}}}mount(){this.removePointerDownListener=K(this.node.current,`pointerdown`,e=>this.onPointerDown(e))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}},Bn=n(),Q=e(t(),1),$=!1,Vn=class extends Q.Component{componentDidMount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:n,layoutId:r}=this.props,{projection:i}=e;i&&(t.group&&t.group.add(i),n&&n.register&&r&&n.register(i),$&&i.root.didUpdate(),i.addEventListener(`animationComplete`,()=>{this.safeToRemove()}),i.setOptions({...i.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),V.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){let{layoutDependency:t,visualElement:n,drag:r,isPresent:i}=this.props,{projection:a}=n;return a?(a.isPresent=i,e.layoutDependency!==t&&a.setOptions({...a.options,layoutDependency:t}),$=!0,r||e.layoutDependency!==t||t===void 0||e.isPresent!==i?a.willUpdate():this.safeToRemove(),e.isPresent!==i&&(i?a.promote():a.relegate()||y.postRender(()=>{let e=a.getStack();(!e||!e.members.length)&&this.safeToRemove()})),null):null}componentDidUpdate(){let{visualElement:e,layoutAnchor:t}=this.props,{projection:n}=e;n&&(n.options.layoutAnchor=t,n.root.didUpdate(),ne.postRender(()=>{!n.currentAnimation&&n.isLead()&&this.safeToRemove()}))}componentWillUnmount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:n}=this.props,{projection:r}=e;$=!0,r&&(r.scheduleCheckAfterUnmount(),t&&t.group&&t.group.remove(r),n&&n.deregister&&n.deregister(r))}safeToRemove(){let{safeToRemove:e}=this.props;e&&e()}render(){return null}};function Hn(e){let[t,n]=c(),r=(0,Q.useContext)(s);return(0,Bn.jsx)(Vn,{...e,layoutGroup:r,switchLayoutGroup:(0,Q.useContext)(a),isPresent:t,safeToRemove:n})}var Un={pan:{Feature:zn},drag:{Feature:Rn,ProjectionNode:pn,MeasureLayout:Hn}},Wn={layout:{ProjectionNode:pn,MeasureLayout:Hn}},Gn=l({...xe,...ke,...Un,...Wn},_e);export{Fe as n,Pe as r,Gn as t};
@@ -1,4 +1,4 @@
1
- import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{o as n}from"./declaration-C9nuq2Dj.js";import{n as r}from"./objectWithoutPropertiesLoose-Du6eBn-V.js";import{a as i,i as a,r as o}from"./vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-BbFOrAjI.js";import{i as s,l as c,o as l,s as u,u as d}from"./vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-B92czPCF.js";import{a as f,i as p,o as m}from"./vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DpAdkv8m.js";import{a as h,i as g,n as _,o as v,r as y,s as b,t as x}from"./vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-By5W2oHN.js";function S(e){let t=this;t.parser=n;function n(n){return b(n,{...t.data(`settings`),...e,extensions:t.data(`micromarkExtensions`)||[],mdastExtensions:t.data(`fromMarkdownExtensions`)||[]})}}function C(e,t){return e&&`run`in e?async function(n,r){let i=v(n,{file:r,...t});await e.run(i,r)}:function(n,r){return v(n,{file:r,...e||t})}}var w=n(),T=e(t(),1),E=[],D={allowDangerousHtml:!0},O=/^(https?|ircs?|mailto|xmpp)$/i,k=[{from:`astPlugins`,id:`remove-buggy-html-in-markdown-parser`},{from:`allowDangerousHtml`,id:`remove-buggy-html-in-markdown-parser`},{from:`allowNode`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`allowElement`},{from:`allowedTypes`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`allowedElements`},{from:`className`,id:`remove-classname`},{from:`disallowedTypes`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`disallowedElements`},{from:`escapeHtml`,id:`remove-buggy-html-in-markdown-parser`},{from:`includeElementIndex`,id:`#remove-includeelementindex`},{from:`includeNodeIndex`,id:`change-includenodeindex-to-includeelementindex`},{from:`linkTarget`,id:`remove-linktarget`},{from:`plugins`,id:`change-plugins-to-remarkplugins`,to:`remarkPlugins`},{from:`rawSourcePos`,id:`#remove-rawsourcepos`},{from:`renderers`,id:`change-renderers-to-components`,to:`components`},{from:`source`,id:`change-source-to-children`,to:`children`},{from:`sourcePos`,id:`#remove-sourcepos`},{from:`transformImageUri`,id:`#add-urltransform`,to:`urlTransform`},{from:`transformLinkUri`,id:`#add-urltransform`,to:`urlTransform`}];function A(e){let t=j(e),n=M(e);return ee(t.runSync(t.parse(n),n),e)}function j(e){let t=e.rehypePlugins||E,n=e.remarkPlugins||E,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...D}:D;return p().use(S).use(n).use(C,r).use(t)}function M(e){let t=e.children||``,n=new f;return typeof t==`string`?n.value=t:``+t,n}function ee(e,t){let n=t.allowedElements,r=t.allowElement,i=t.components,a=t.disallowedElements,o=t.skipHtml,s=t.unwrapDisallowed,l=t.urlTransform||te;for(let e of k)Object.hasOwn(t,e.from)&&``+e.from+(e.to?"use `"+e.to+"` instead":`remove it`)+e.id;return m(e,u),d(e,{Fragment:w.Fragment,components:i,ignoreInvalidStyle:!0,jsx:w.jsx,jsxs:w.jsxs,passKeys:!0,passNode:!0});function u(e,t,i){if(e.type===`raw`&&i&&typeof t==`number`)return o?i.children.splice(t,1):i.children[t]={type:`text`,value:e.value},t;if(e.type===`element`){let t;for(t in c)if(Object.hasOwn(c,t)&&Object.hasOwn(e.properties,t)){let n=e.properties[t],r=c[t];(r===null||r.includes(e.tagName))&&(e.properties[t]=l(String(n||``),t,e))}}if(e.type===`element`){let o=n?!n.includes(e.tagName):a?a.includes(e.tagName):!1;if(!o&&r&&typeof t==`number`&&(o=!r(e,t,i)),o&&i&&typeof t==`number`)return s&&e.children?i.children.splice(t,1,...e.children):i.children.splice(t,1),t}}}function te(e){let t=e.indexOf(`:`),n=e.indexOf(`?`),r=e.indexOf(`#`),i=e.indexOf(`/`);return t===-1||i!==-1&&t>i||n!==-1&&t>n||r!==-1&&t>r||O.test(e.slice(0,t))?e:``}var N={};function P(e){let t=this,n=e||N,r=t.data(),i=r.micromarkExtensions||=[],a=r.fromMarkdownExtensions||=[],o=r.toMarkdownExtensions||=[];i.push(y(n)),a.push(g()),o.push(h(n))}function F(){return function(e){_(e)}}function ne(e){return function(t,n){return l(t,{...e,file:n})}}function re(e){return function(t){return s(t,e)}}var ie={'pre[class*="language-"]':{color:`#d4d4d4`,fontSize:`13px`,textShadow:`none`,fontFamily:`Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace`,direction:`ltr`,textAlign:`left`,whiteSpace:`pre`,wordSpacing:`normal`,wordBreak:`normal`,lineHeight:`1.5`,MozTabSize:`4`,OTabSize:`4`,tabSize:`4`,WebkitHyphens:`none`,MozHyphens:`none`,msHyphens:`none`,hyphens:`none`,padding:`1em`,margin:`.5em 0`,overflow:`auto`,background:`#1e1e1e`},'code[class*="language-"]':{color:`#d4d4d4`,fontSize:`13px`,textShadow:`none`,fontFamily:`Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace`,direction:`ltr`,textAlign:`left`,whiteSpace:`pre`,wordSpacing:`normal`,wordBreak:`normal`,lineHeight:`1.5`,MozTabSize:`4`,OTabSize:`4`,tabSize:`4`,WebkitHyphens:`none`,MozHyphens:`none`,msHyphens:`none`,hyphens:`none`},'pre[class*="language-"]::selection':{textShadow:`none`,background:`#264F78`},'code[class*="language-"]::selection':{textShadow:`none`,background:`#264F78`},'pre[class*="language-"] *::selection':{textShadow:`none`,background:`#264F78`},'code[class*="language-"] *::selection':{textShadow:`none`,background:`#264F78`},':not(pre) > code[class*="language-"]':{padding:`.1em .3em`,borderRadius:`.3em`,color:`#db4c69`,background:`#1e1e1e`},".namespace":{Opacity:`.7`},"doctype.doctype-tag":{color:`#569CD6`},"doctype.name":{color:`#9cdcfe`},comment:{color:`#6a9955`},prolog:{color:`#6a9955`},punctuation:{color:`#d4d4d4`},".language-html .language-css .token.punctuation":{color:`#d4d4d4`},".language-html .language-javascript .token.punctuation":{color:`#d4d4d4`},property:{color:`#9cdcfe`},tag:{color:`#569cd6`},boolean:{color:`#569cd6`},number:{color:`#b5cea8`},constant:{color:`#9cdcfe`},symbol:{color:`#b5cea8`},inserted:{color:`#b5cea8`},unit:{color:`#b5cea8`},selector:{color:`#d7ba7d`},"attr-name":{color:`#9cdcfe`},string:{color:`#ce9178`},char:{color:`#ce9178`},builtin:{color:`#ce9178`},deleted:{color:`#ce9178`},".language-css .token.string.url":{textDecoration:`underline`},operator:{color:`#d4d4d4`},entity:{color:`#569cd6`},"operator.arrow":{color:`#569CD6`},atrule:{color:`#ce9178`},"atrule.rule":{color:`#c586c0`},"atrule.url":{color:`#9cdcfe`},"atrule.url.function":{color:`#dcdcaa`},"atrule.url.punctuation":{color:`#d4d4d4`},keyword:{color:`#569CD6`},"keyword.module":{color:`#c586c0`},"keyword.control-flow":{color:`#c586c0`},function:{color:`#dcdcaa`},"function.maybe-class-name":{color:`#dcdcaa`},regex:{color:`#d16969`},important:{color:`#569cd6`},italic:{fontStyle:`italic`},"class-name":{color:`#4ec9b0`},"maybe-class-name":{color:`#4ec9b0`},console:{color:`#9cdcfe`},parameter:{color:`#9cdcfe`},interpolation:{color:`#9cdcfe`},"punctuation.interpolation-punctuation":{color:`#569cd6`},variable:{color:`#9cdcfe`},"imports.maybe-class-name":{color:`#9cdcfe`},"exports.maybe-class-name":{color:`#9cdcfe`},escape:{color:`#d7ba7d`},"tag.punctuation":{color:`#808080`},cdata:{color:`#808080`},"attr-value":{color:`#ce9178`},"attr-value.punctuation":{color:`#ce9178`},"attr-value.punctuation.attr-equals":{color:`#d4d4d4`},namespace:{color:`#4ec9b0`},'pre[class*="language-javascript"]':{color:`#9cdcfe`},'code[class*="language-javascript"]':{color:`#9cdcfe`},'pre[class*="language-jsx"]':{color:`#9cdcfe`},'code[class*="language-jsx"]':{color:`#9cdcfe`},'pre[class*="language-typescript"]':{color:`#9cdcfe`},'code[class*="language-typescript"]':{color:`#9cdcfe`},'pre[class*="language-tsx"]':{color:`#9cdcfe`},'code[class*="language-tsx"]':{color:`#9cdcfe`},'pre[class*="language-css"]':{color:`#ce9178`},'code[class*="language-css"]':{color:`#ce9178`},'pre[class*="language-html"]':{color:`#d4d4d4`},'code[class*="language-html"]':{color:`#d4d4d4`},".language-regex .token.anchor":{color:`#dcdcaa`},".language-html .token.punctuation":{color:`#808080`},'pre[class*="language-"] > code[class*="language-"]':{position:`relative`,zIndex:`1`},".line-highlight.line-highlight":{background:`#f7ebc6`,boxShadow:`inset 5px 0 0 #f7d87c`,zIndex:`0`}};function I(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function L(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?I(Object(n),!0).forEach(function(t){o(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):I(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function R(e){var t=e.length;if(t===0||t===1)return e;if(t===2)return[e[0],e[1],`${e[0]}.${e[1]}`,`${e[1]}.${e[0]}`];if(t===3)return[e[0],e[1],e[2],`${e[0]}.${e[1]}`,`${e[0]}.${e[2]}`,`${e[1]}.${e[0]}`,`${e[1]}.${e[2]}`,`${e[2]}.${e[0]}`,`${e[2]}.${e[1]}`,`${e[0]}.${e[1]}.${e[2]}`,`${e[0]}.${e[2]}.${e[1]}`,`${e[1]}.${e[0]}.${e[2]}`,`${e[1]}.${e[2]}.${e[0]}`,`${e[2]}.${e[0]}.${e[1]}`,`${e[2]}.${e[1]}.${e[0]}`];if(t>=4)return[e[0],e[1],e[2],e[3],`${e[0]}.${e[1]}`,`${e[0]}.${e[2]}`,`${e[0]}.${e[3]}`,`${e[1]}.${e[0]}`,`${e[1]}.${e[2]}`,`${e[1]}.${e[3]}`,`${e[2]}.${e[0]}`,`${e[2]}.${e[1]}`,`${e[2]}.${e[3]}`,`${e[3]}.${e[0]}`,`${e[3]}.${e[1]}`,`${e[3]}.${e[2]}`,`${e[0]}.${e[1]}.${e[2]}`,`${e[0]}.${e[1]}.${e[3]}`,`${e[0]}.${e[2]}.${e[1]}`,`${e[0]}.${e[2]}.${e[3]}`,`${e[0]}.${e[3]}.${e[1]}`,`${e[0]}.${e[3]}.${e[2]}`,`${e[1]}.${e[0]}.${e[2]}`,`${e[1]}.${e[0]}.${e[3]}`,`${e[1]}.${e[2]}.${e[0]}`,`${e[1]}.${e[2]}.${e[3]}`,`${e[1]}.${e[3]}.${e[0]}`,`${e[1]}.${e[3]}.${e[2]}`,`${e[2]}.${e[0]}.${e[1]}`,`${e[2]}.${e[0]}.${e[3]}`,`${e[2]}.${e[1]}.${e[0]}`,`${e[2]}.${e[1]}.${e[3]}`,`${e[2]}.${e[3]}.${e[0]}`,`${e[2]}.${e[3]}.${e[1]}`,`${e[3]}.${e[0]}.${e[1]}`,`${e[3]}.${e[0]}.${e[2]}`,`${e[3]}.${e[1]}.${e[0]}`,`${e[3]}.${e[1]}.${e[2]}`,`${e[3]}.${e[2]}.${e[0]}`,`${e[3]}.${e[2]}.${e[1]}`,`${e[0]}.${e[1]}.${e[2]}.${e[3]}`,`${e[0]}.${e[1]}.${e[3]}.${e[2]}`,`${e[0]}.${e[2]}.${e[1]}.${e[3]}`,`${e[0]}.${e[2]}.${e[3]}.${e[1]}`,`${e[0]}.${e[3]}.${e[1]}.${e[2]}`,`${e[0]}.${e[3]}.${e[2]}.${e[1]}`,`${e[1]}.${e[0]}.${e[2]}.${e[3]}`,`${e[1]}.${e[0]}.${e[3]}.${e[2]}`,`${e[1]}.${e[2]}.${e[0]}.${e[3]}`,`${e[1]}.${e[2]}.${e[3]}.${e[0]}`,`${e[1]}.${e[3]}.${e[0]}.${e[2]}`,`${e[1]}.${e[3]}.${e[2]}.${e[0]}`,`${e[2]}.${e[0]}.${e[1]}.${e[3]}`,`${e[2]}.${e[0]}.${e[3]}.${e[1]}`,`${e[2]}.${e[1]}.${e[0]}.${e[3]}`,`${e[2]}.${e[1]}.${e[3]}.${e[0]}`,`${e[2]}.${e[3]}.${e[0]}.${e[1]}`,`${e[2]}.${e[3]}.${e[1]}.${e[0]}`,`${e[3]}.${e[0]}.${e[1]}.${e[2]}`,`${e[3]}.${e[0]}.${e[2]}.${e[1]}`,`${e[3]}.${e[1]}.${e[0]}.${e[2]}`,`${e[3]}.${e[1]}.${e[2]}.${e[0]}`,`${e[3]}.${e[2]}.${e[0]}.${e[1]}`,`${e[3]}.${e[2]}.${e[1]}.${e[0]}`]}var z={};function ae(e){if(e.length===0||e.length===1)return e;var t=e.join(`.`);return z[t]||(z[t]=R(e)),z[t]}function oe(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return ae(e.filter(function(e){return e!==`token`})).reduce(function(e,t){return L(L({},e),n[t])},t)}function se(e){return e.join(` `)}function ce(e,t){var n=0;return function(r){return n+=1,r.map(function(r,i){return le({node:r,stylesheet:e,useInlineStyles:t,key:`code-segment-${n}-${i}`})})}}function le(e){var t=e.node,n=e.stylesheet,i=e.style,a=i===void 0?{}:i,o=e.useInlineStyles,s=e.key,c=t.properties,l=t.type,u=t.tagName,d=t.value;if(l===`text`)return d;if(u){var f=ce(n,o),p;if(!o)p=L(L({},c),{},{className:se(c.className)});else{var m=Object.keys(n).reduce(function(e,t){return t.split(`.`).forEach(function(t){e.includes(t)||e.push(t)}),e},[]),h=c.className&&c.className.includes(`token`)?[`token`]:[],g=c.className&&h.concat(c.className.filter(function(e){return!m.includes(e)}));p=L(L({},c),{},{className:se(g)||void 0,style:oe(c.className,Object.assign({},c.style,a),n)})}var _=f(t.children);return T.createElement(u,r({key:s},p),_)}}var ue=(function(e,t){return e.listLanguages().indexOf(t)!==-1}),de=[`language`,`children`,`style`,`customStyle`,`codeTagProps`,`useInlineStyles`,`showLineNumbers`,`showInlineLineNumbers`,`startingLineNumber`,`lineNumberContainerStyle`,`lineNumberStyle`,`wrapLines`,`wrapLongLines`,`lineProps`,`renderer`,`PreTag`,`CodeTag`,`code`,`astGenerator`];function fe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function B(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?fe(Object(n),!0).forEach(function(t){o(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):fe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var pe=/\n/g;function me(e){return e.match(pe)}function he(e){var t=e.lines,n=e.startingLineNumber,r=e.style;return t.map(function(e,t){var i=t+n;return T.createElement(`span`,{key:`line-${t}`,className:`react-syntax-highlighter-line-number`,style:typeof r==`function`?r(i):r},`${i}
1
+ import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{o as n}from"./declaration-D378OjpZ.js";import{n as r}from"./objectWithoutPropertiesLoose-Du6eBn-V.js";import{a as i,i as a,r as o}from"./vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-BbFOrAjI.js";import{i as s,l as c,o as l,s as u,u as d}from"./vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-B92czPCF.js";import{a as f,i as p,o as m}from"./vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DpAdkv8m.js";import{a as h,i as g,n as _,o as v,r as y,s as b,t as x}from"./vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-By5W2oHN.js";function S(e){let t=this;t.parser=n;function n(n){return b(n,{...t.data(`settings`),...e,extensions:t.data(`micromarkExtensions`)||[],mdastExtensions:t.data(`fromMarkdownExtensions`)||[]})}}function C(e,t){return e&&`run`in e?async function(n,r){let i=v(n,{file:r,...t});await e.run(i,r)}:function(n,r){return v(n,{file:r,...e||t})}}var w=n(),T=e(t(),1),E=[],D={allowDangerousHtml:!0},O=/^(https?|ircs?|mailto|xmpp)$/i,k=[{from:`astPlugins`,id:`remove-buggy-html-in-markdown-parser`},{from:`allowDangerousHtml`,id:`remove-buggy-html-in-markdown-parser`},{from:`allowNode`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`allowElement`},{from:`allowedTypes`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`allowedElements`},{from:`className`,id:`remove-classname`},{from:`disallowedTypes`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`disallowedElements`},{from:`escapeHtml`,id:`remove-buggy-html-in-markdown-parser`},{from:`includeElementIndex`,id:`#remove-includeelementindex`},{from:`includeNodeIndex`,id:`change-includenodeindex-to-includeelementindex`},{from:`linkTarget`,id:`remove-linktarget`},{from:`plugins`,id:`change-plugins-to-remarkplugins`,to:`remarkPlugins`},{from:`rawSourcePos`,id:`#remove-rawsourcepos`},{from:`renderers`,id:`change-renderers-to-components`,to:`components`},{from:`source`,id:`change-source-to-children`,to:`children`},{from:`sourcePos`,id:`#remove-sourcepos`},{from:`transformImageUri`,id:`#add-urltransform`,to:`urlTransform`},{from:`transformLinkUri`,id:`#add-urltransform`,to:`urlTransform`}];function A(e){let t=j(e),n=M(e);return ee(t.runSync(t.parse(n),n),e)}function j(e){let t=e.rehypePlugins||E,n=e.remarkPlugins||E,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...D}:D;return p().use(S).use(n).use(C,r).use(t)}function M(e){let t=e.children||``,n=new f;return typeof t==`string`?n.value=t:``+t,n}function ee(e,t){let n=t.allowedElements,r=t.allowElement,i=t.components,a=t.disallowedElements,o=t.skipHtml,s=t.unwrapDisallowed,l=t.urlTransform||te;for(let e of k)Object.hasOwn(t,e.from)&&``+e.from+(e.to?"use `"+e.to+"` instead":`remove it`)+e.id;return m(e,u),d(e,{Fragment:w.Fragment,components:i,ignoreInvalidStyle:!0,jsx:w.jsx,jsxs:w.jsxs,passKeys:!0,passNode:!0});function u(e,t,i){if(e.type===`raw`&&i&&typeof t==`number`)return o?i.children.splice(t,1):i.children[t]={type:`text`,value:e.value},t;if(e.type===`element`){let t;for(t in c)if(Object.hasOwn(c,t)&&Object.hasOwn(e.properties,t)){let n=e.properties[t],r=c[t];(r===null||r.includes(e.tagName))&&(e.properties[t]=l(String(n||``),t,e))}}if(e.type===`element`){let o=n?!n.includes(e.tagName):a?a.includes(e.tagName):!1;if(!o&&r&&typeof t==`number`&&(o=!r(e,t,i)),o&&i&&typeof t==`number`)return s&&e.children?i.children.splice(t,1,...e.children):i.children.splice(t,1),t}}}function te(e){let t=e.indexOf(`:`),n=e.indexOf(`?`),r=e.indexOf(`#`),i=e.indexOf(`/`);return t===-1||i!==-1&&t>i||n!==-1&&t>n||r!==-1&&t>r||O.test(e.slice(0,t))?e:``}var N={};function P(e){let t=this,n=e||N,r=t.data(),i=r.micromarkExtensions||=[],a=r.fromMarkdownExtensions||=[],o=r.toMarkdownExtensions||=[];i.push(y(n)),a.push(g()),o.push(h(n))}function F(){return function(e){_(e)}}function ne(e){return function(t,n){return l(t,{...e,file:n})}}function re(e){return function(t){return s(t,e)}}var ie={'pre[class*="language-"]':{color:`#d4d4d4`,fontSize:`13px`,textShadow:`none`,fontFamily:`Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace`,direction:`ltr`,textAlign:`left`,whiteSpace:`pre`,wordSpacing:`normal`,wordBreak:`normal`,lineHeight:`1.5`,MozTabSize:`4`,OTabSize:`4`,tabSize:`4`,WebkitHyphens:`none`,MozHyphens:`none`,msHyphens:`none`,hyphens:`none`,padding:`1em`,margin:`.5em 0`,overflow:`auto`,background:`#1e1e1e`},'code[class*="language-"]':{color:`#d4d4d4`,fontSize:`13px`,textShadow:`none`,fontFamily:`Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace`,direction:`ltr`,textAlign:`left`,whiteSpace:`pre`,wordSpacing:`normal`,wordBreak:`normal`,lineHeight:`1.5`,MozTabSize:`4`,OTabSize:`4`,tabSize:`4`,WebkitHyphens:`none`,MozHyphens:`none`,msHyphens:`none`,hyphens:`none`},'pre[class*="language-"]::selection':{textShadow:`none`,background:`#264F78`},'code[class*="language-"]::selection':{textShadow:`none`,background:`#264F78`},'pre[class*="language-"] *::selection':{textShadow:`none`,background:`#264F78`},'code[class*="language-"] *::selection':{textShadow:`none`,background:`#264F78`},':not(pre) > code[class*="language-"]':{padding:`.1em .3em`,borderRadius:`.3em`,color:`#db4c69`,background:`#1e1e1e`},".namespace":{Opacity:`.7`},"doctype.doctype-tag":{color:`#569CD6`},"doctype.name":{color:`#9cdcfe`},comment:{color:`#6a9955`},prolog:{color:`#6a9955`},punctuation:{color:`#d4d4d4`},".language-html .language-css .token.punctuation":{color:`#d4d4d4`},".language-html .language-javascript .token.punctuation":{color:`#d4d4d4`},property:{color:`#9cdcfe`},tag:{color:`#569cd6`},boolean:{color:`#569cd6`},number:{color:`#b5cea8`},constant:{color:`#9cdcfe`},symbol:{color:`#b5cea8`},inserted:{color:`#b5cea8`},unit:{color:`#b5cea8`},selector:{color:`#d7ba7d`},"attr-name":{color:`#9cdcfe`},string:{color:`#ce9178`},char:{color:`#ce9178`},builtin:{color:`#ce9178`},deleted:{color:`#ce9178`},".language-css .token.string.url":{textDecoration:`underline`},operator:{color:`#d4d4d4`},entity:{color:`#569cd6`},"operator.arrow":{color:`#569CD6`},atrule:{color:`#ce9178`},"atrule.rule":{color:`#c586c0`},"atrule.url":{color:`#9cdcfe`},"atrule.url.function":{color:`#dcdcaa`},"atrule.url.punctuation":{color:`#d4d4d4`},keyword:{color:`#569CD6`},"keyword.module":{color:`#c586c0`},"keyword.control-flow":{color:`#c586c0`},function:{color:`#dcdcaa`},"function.maybe-class-name":{color:`#dcdcaa`},regex:{color:`#d16969`},important:{color:`#569cd6`},italic:{fontStyle:`italic`},"class-name":{color:`#4ec9b0`},"maybe-class-name":{color:`#4ec9b0`},console:{color:`#9cdcfe`},parameter:{color:`#9cdcfe`},interpolation:{color:`#9cdcfe`},"punctuation.interpolation-punctuation":{color:`#569cd6`},variable:{color:`#9cdcfe`},"imports.maybe-class-name":{color:`#9cdcfe`},"exports.maybe-class-name":{color:`#9cdcfe`},escape:{color:`#d7ba7d`},"tag.punctuation":{color:`#808080`},cdata:{color:`#808080`},"attr-value":{color:`#ce9178`},"attr-value.punctuation":{color:`#ce9178`},"attr-value.punctuation.attr-equals":{color:`#d4d4d4`},namespace:{color:`#4ec9b0`},'pre[class*="language-javascript"]':{color:`#9cdcfe`},'code[class*="language-javascript"]':{color:`#9cdcfe`},'pre[class*="language-jsx"]':{color:`#9cdcfe`},'code[class*="language-jsx"]':{color:`#9cdcfe`},'pre[class*="language-typescript"]':{color:`#9cdcfe`},'code[class*="language-typescript"]':{color:`#9cdcfe`},'pre[class*="language-tsx"]':{color:`#9cdcfe`},'code[class*="language-tsx"]':{color:`#9cdcfe`},'pre[class*="language-css"]':{color:`#ce9178`},'code[class*="language-css"]':{color:`#ce9178`},'pre[class*="language-html"]':{color:`#d4d4d4`},'code[class*="language-html"]':{color:`#d4d4d4`},".language-regex .token.anchor":{color:`#dcdcaa`},".language-html .token.punctuation":{color:`#808080`},'pre[class*="language-"] > code[class*="language-"]':{position:`relative`,zIndex:`1`},".line-highlight.line-highlight":{background:`#f7ebc6`,boxShadow:`inset 5px 0 0 #f7d87c`,zIndex:`0`}};function I(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function L(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?I(Object(n),!0).forEach(function(t){o(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):I(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function R(e){var t=e.length;if(t===0||t===1)return e;if(t===2)return[e[0],e[1],`${e[0]}.${e[1]}`,`${e[1]}.${e[0]}`];if(t===3)return[e[0],e[1],e[2],`${e[0]}.${e[1]}`,`${e[0]}.${e[2]}`,`${e[1]}.${e[0]}`,`${e[1]}.${e[2]}`,`${e[2]}.${e[0]}`,`${e[2]}.${e[1]}`,`${e[0]}.${e[1]}.${e[2]}`,`${e[0]}.${e[2]}.${e[1]}`,`${e[1]}.${e[0]}.${e[2]}`,`${e[1]}.${e[2]}.${e[0]}`,`${e[2]}.${e[0]}.${e[1]}`,`${e[2]}.${e[1]}.${e[0]}`];if(t>=4)return[e[0],e[1],e[2],e[3],`${e[0]}.${e[1]}`,`${e[0]}.${e[2]}`,`${e[0]}.${e[3]}`,`${e[1]}.${e[0]}`,`${e[1]}.${e[2]}`,`${e[1]}.${e[3]}`,`${e[2]}.${e[0]}`,`${e[2]}.${e[1]}`,`${e[2]}.${e[3]}`,`${e[3]}.${e[0]}`,`${e[3]}.${e[1]}`,`${e[3]}.${e[2]}`,`${e[0]}.${e[1]}.${e[2]}`,`${e[0]}.${e[1]}.${e[3]}`,`${e[0]}.${e[2]}.${e[1]}`,`${e[0]}.${e[2]}.${e[3]}`,`${e[0]}.${e[3]}.${e[1]}`,`${e[0]}.${e[3]}.${e[2]}`,`${e[1]}.${e[0]}.${e[2]}`,`${e[1]}.${e[0]}.${e[3]}`,`${e[1]}.${e[2]}.${e[0]}`,`${e[1]}.${e[2]}.${e[3]}`,`${e[1]}.${e[3]}.${e[0]}`,`${e[1]}.${e[3]}.${e[2]}`,`${e[2]}.${e[0]}.${e[1]}`,`${e[2]}.${e[0]}.${e[3]}`,`${e[2]}.${e[1]}.${e[0]}`,`${e[2]}.${e[1]}.${e[3]}`,`${e[2]}.${e[3]}.${e[0]}`,`${e[2]}.${e[3]}.${e[1]}`,`${e[3]}.${e[0]}.${e[1]}`,`${e[3]}.${e[0]}.${e[2]}`,`${e[3]}.${e[1]}.${e[0]}`,`${e[3]}.${e[1]}.${e[2]}`,`${e[3]}.${e[2]}.${e[0]}`,`${e[3]}.${e[2]}.${e[1]}`,`${e[0]}.${e[1]}.${e[2]}.${e[3]}`,`${e[0]}.${e[1]}.${e[3]}.${e[2]}`,`${e[0]}.${e[2]}.${e[1]}.${e[3]}`,`${e[0]}.${e[2]}.${e[3]}.${e[1]}`,`${e[0]}.${e[3]}.${e[1]}.${e[2]}`,`${e[0]}.${e[3]}.${e[2]}.${e[1]}`,`${e[1]}.${e[0]}.${e[2]}.${e[3]}`,`${e[1]}.${e[0]}.${e[3]}.${e[2]}`,`${e[1]}.${e[2]}.${e[0]}.${e[3]}`,`${e[1]}.${e[2]}.${e[3]}.${e[0]}`,`${e[1]}.${e[3]}.${e[0]}.${e[2]}`,`${e[1]}.${e[3]}.${e[2]}.${e[0]}`,`${e[2]}.${e[0]}.${e[1]}.${e[3]}`,`${e[2]}.${e[0]}.${e[3]}.${e[1]}`,`${e[2]}.${e[1]}.${e[0]}.${e[3]}`,`${e[2]}.${e[1]}.${e[3]}.${e[0]}`,`${e[2]}.${e[3]}.${e[0]}.${e[1]}`,`${e[2]}.${e[3]}.${e[1]}.${e[0]}`,`${e[3]}.${e[0]}.${e[1]}.${e[2]}`,`${e[3]}.${e[0]}.${e[2]}.${e[1]}`,`${e[3]}.${e[1]}.${e[0]}.${e[2]}`,`${e[3]}.${e[1]}.${e[2]}.${e[0]}`,`${e[3]}.${e[2]}.${e[0]}.${e[1]}`,`${e[3]}.${e[2]}.${e[1]}.${e[0]}`]}var z={};function ae(e){if(e.length===0||e.length===1)return e;var t=e.join(`.`);return z[t]||(z[t]=R(e)),z[t]}function oe(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return ae(e.filter(function(e){return e!==`token`})).reduce(function(e,t){return L(L({},e),n[t])},t)}function se(e){return e.join(` `)}function ce(e,t){var n=0;return function(r){return n+=1,r.map(function(r,i){return le({node:r,stylesheet:e,useInlineStyles:t,key:`code-segment-${n}-${i}`})})}}function le(e){var t=e.node,n=e.stylesheet,i=e.style,a=i===void 0?{}:i,o=e.useInlineStyles,s=e.key,c=t.properties,l=t.type,u=t.tagName,d=t.value;if(l===`text`)return d;if(u){var f=ce(n,o),p;if(!o)p=L(L({},c),{},{className:se(c.className)});else{var m=Object.keys(n).reduce(function(e,t){return t.split(`.`).forEach(function(t){e.includes(t)||e.push(t)}),e},[]),h=c.className&&c.className.includes(`token`)?[`token`]:[],g=c.className&&h.concat(c.className.filter(function(e){return!m.includes(e)}));p=L(L({},c),{},{className:se(g)||void 0,style:oe(c.className,Object.assign({},c.style,a),n)})}var _=f(t.children);return T.createElement(u,r({key:s},p),_)}}var ue=(function(e,t){return e.listLanguages().indexOf(t)!==-1}),de=[`language`,`children`,`style`,`customStyle`,`codeTagProps`,`useInlineStyles`,`showLineNumbers`,`showInlineLineNumbers`,`startingLineNumber`,`lineNumberContainerStyle`,`lineNumberStyle`,`wrapLines`,`wrapLongLines`,`lineProps`,`renderer`,`PreTag`,`CodeTag`,`code`,`astGenerator`];function fe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function B(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?fe(Object(n),!0).forEach(function(t){o(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):fe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var pe=/\n/g;function me(e){return e.match(pe)}function he(e){var t=e.lines,n=e.startingLineNumber,r=e.style;return t.map(function(e,t){var i=t+n;return T.createElement(`span`,{key:`line-${t}`,className:`react-syntax-highlighter-line-number`,style:typeof r==`function`?r(i):r},`${i}
2
2
  `)})}function ge(e){var t=e.codeString,n=e.codeStyle,r=e.containerStyle,i=r===void 0?{float:`left`,paddingRight:`10px`}:r,a=e.numberStyle,o=a===void 0?{}:a,s=e.startingLineNumber;return T.createElement(`code`,{style:Object.assign({},n,i)},he({lines:t.replace(/\n$/,``).split(`
3
3
  `),style:o,startingLineNumber:s}))}function _e(e){return`${e.toString().length}.25em`}function ve(e,t){return{type:`element`,tagName:`span`,properties:{key:`line-number--${e}`,className:[`comment`,`linenumber`,`react-syntax-highlighter-line-number`],style:t},children:[{type:`text`,value:e}]}}function ye(e,t,n){var r={display:`inline-block`,minWidth:_e(n),paddingRight:`1em`,textAlign:`right`,userSelect:`none`},i=typeof e==`function`?e(t):e;return B(B({},r),i)}function V(e){var t=e.children,n=e.lineNumber,r=e.lineNumberStyle,i=e.largestLineNumber,o=e.showInlineLineNumbers,s=e.lineProps,c=s===void 0?{}:s,l=e.className,u=l===void 0?[]:l,d=e.showLineNumbers,f=e.wrapLongLines,p=e.wrapLines,m=p!==void 0&&p?B({},typeof c==`function`?c(n):c):{};if(m.className=m.className?[].concat(a(m.className.trim().split(/\s+/)),a(u)):u,n&&o){var h=ye(r,n,i);t.unshift(ve(n,h))}return f&d&&(m.style=B({display:`flex`},m.style)),{type:`element`,tagName:`span`,properties:m,children:t}}function be(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];e.length===void 0&&(e=[e]);for(var r=0;r<e.length;r++){var i=e[r];if(i.type===`text`)n.push(V({children:[i],className:a(new Set(t))}));else if(i.children){var o=t.concat(i.properties?.className||[]);be(i.children,o).forEach(function(e){return n.push(e)})}}return n}function xe(e,t,n,r,i,a,o,s,c){var l,u=be(e.value),d=[],f=-1,p=0;function m(e,a){return V({children:e,lineNumber:a,lineNumberStyle:s,largestLineNumber:o,showInlineLineNumbers:i,lineProps:n,className:arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],showLineNumbers:r,wrapLongLines:c,wrapLines:t})}function h(e,t){if(r&&t&&i){var n=ye(s,t,o);e.unshift(ve(t,n))}return e}function g(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return t||r.length>0?m(e,n,r):h(e,n)}for(var _=function(){var e=u[p],t=e.children[0].value;if(me(t)){var n=t.split(`
4
4
  `);n.forEach(function(t,i){var o=r&&d.length+a,s={type:`text`,value:`${t}
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{t as n}from"./createLucideIcon-Ddu8jDOQ.js";import{n as r,r as i,t as a}from"./git-branch-DQS2nMK4.js";import{l as ee}from"./circle-plus-check-toggle-qs8Va1cC.js";import{_ as te,a as o,b as ne,c as re,d as ie,f as ae,g as oe,h as se,i as ce,l as le,m as ue,n as de,o as fe,p as s,r as c,s as l,t as u,u as d,v as f,x as p,y as m}from"./vendor~home~mcp~automations-list-BUBGGGYz.js";var h=n(`book-open`,[[`path`,{d:`M12 7v14`,key:`1akyts`}],[`path`,{d:`M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z`,key:`ruj8y`}]]),g=n(`brain`,[[`path`,{d:`M12 18V5`,key:`adv99a`}],[`path`,{d:`M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4`,key:`1e3is1`}],[`path`,{d:`M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5`,key:`1gqd8o`}],[`path`,{d:`M17.997 5.125a4 4 0 0 1 2.526 5.77`,key:`iwvgf7`}],[`path`,{d:`M18 18a4 4 0 0 0 2-7.464`,key:`efp6ie`}],[`path`,{d:`M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517`,key:`1gq6am`}],[`path`,{d:`M6 18a4 4 0 0 1-2-7.464`,key:`k1g0md`}],[`path`,{d:`M6.003 5.125a4 4 0 0 0-2.526 5.77`,key:`q97ue3`}]]),_=n(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]),v=n(`database`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]),y=n(`flame`,[[`path`,{d:`M12 3q1 4 4 6.5t3 5.5a1 1 0 0 1-14 0 5 5 0 0 1 1-3 1 1 0 0 0 5 0c0-2-1.5-3-1.5-5q0-2 2.5-4`,key:`1slcih`}]]),b=n(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),x=n(`list-tree`,[[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`M3 10a2 2 0 0 0 2 2h3`,key:`1npucw`}],[`path`,{d:`M3 5v12a2 2 0 0 0 2 2h3`,key:`x1gjn2`}]]),S=n(`mouse-pointer-click`,[[`path`,{d:`M14 4.1 12 6`,key:`ita8i4`}],[`path`,{d:`m5.1 8-2.9-.8`,key:`1go3kf`}],[`path`,{d:`m6 12-1.9 2`,key:`mnht97`}],[`path`,{d:`M7.2 2.2 8 5.1`,key:`1cfko1`}],[`path`,{d:`M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z`,key:`s0h3yz`}]]),C=n(`sparkles`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]]),w=n(`telescope`,[[`path`,{d:`m10.065 12.493-6.18 1.318a.934.934 0 0 1-1.108-.702l-.537-2.15a1.07 1.07 0 0 1 .691-1.265l13.504-4.44`,key:`k4qptu`}],[`path`,{d:`m13.56 11.747 4.332-.924`,key:`19l80z`}],[`path`,{d:`m16 21-3.105-6.21`,key:`7oh9d`}],[`path`,{d:`M16.485 5.94a2 2 0 0 1 1.455-2.425l1.09-.272a1 1 0 0 1 1.212.727l1.515 6.06a1 1 0 0 1-.727 1.213l-1.09.272a2 2 0 0 1-2.425-1.455z`,key:`m7xp4m`}],[`path`,{d:`m6.158 8.633 1.114 4.456`,key:`74o979`}],[`path`,{d:`m8 21 3.105-6.21`,key:`1fvxut`}],[`circle`,{cx:`12`,cy:`13`,r:`2`,key:`1c1ljs`}]]),T=n(`test-tube`,[[`path`,{d:`M14.5 2v17.5c0 1.4-1.1 2.5-2.5 2.5c-1.4 0-2.5-1.1-2.5-2.5V2`,key:`125lnx`}],[`path`,{d:`M8.5 2h7`,key:`csnxdl`}],[`path`,{d:`M14.5 16h-5`,key:`1ox875`}]]),E={id:`airtable`,name:`Airtable`,description:`List bases, query records, and update fields across your Airtable workspace.`,docsUrl:`https://github.com/domdomegg/airtable-mcp-server`,iconBg:`#FCB400`,iconColor:`var(--oh-surface-deep)`,keywords:[`spreadsheet`,`database`,`records`,`bases`],kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`airtable`,command:`npx`,args:[`-y`,`airtable-mcp-server`],envFields:[{key:`AIRTABLE_API_KEY`,label:`Airtable personal access token`,type:`password`,required:!0}]},auth:{strategy:`api_key`}}]},D={id:`apify`,name:`Apify Actors`,description:`Run any of Apify's 5,000+ Actors (scrapers, automations) from the agent.`,docsUrl:`https://docs.apify.com/platform/integrations/mcp`,iconBg:`#10b981`,keywords:[`scraping`,`automation`,`crawl`,`actors`],kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`apify`,command:`npx`,args:[`-y`,`@apify/actors-mcp-server`],envFields:[{key:`APIFY_TOKEN`,label:`Apify token`,type:`password`,required:!0}]},auth:{strategy:`api_key`}}]},O={id:`atlassian`,name:`Atlassian (Jira & Confluence)`,description:`Search Jira issues and Confluence pages via Atlassian's hosted MCP server.`,docsUrl:`https://www.atlassian.com/platform/remote-mcp-server`,iconBg:`#0052CC`,keywords:[`jira`,`confluence`,`tickets`,`wiki`,`issues`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`sse`,url:`https://mcp.atlassian.com/v1/sse`,apiKeyOptional:!0},auth:{strategy:`none`,apiKeyOptional:!0}}]},k={id:`brave-search`,name:`Brave Search`,description:`Privacy-first web and local search using the Brave Search API.`,docsUrl:`https://github.com/brave/brave-search-mcp-server`,iconBg:`#FB542B`,keywords:[`search`,`web`],kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`brave_search`,command:`npx`,args:[`-y`,`@brave/brave-search-mcp-server`,`--transport`,`stdio`],envFields:[{key:`BRAVE_API_KEY`,label:`Brave API key`,type:`password`,required:!0}]},auth:{strategy:`api_key`}}]},A={id:`browser-mcp`,name:`Browser MCP`,description:`Control your local browser tab — navigate, click, type, and read DOM contents.`,docsUrl:`https://browsermcp.io/`,iconBg:`#0EA5E9`,keywords:[`browser`,`automation`,`chrome`,`playwright`],kind:`mcp`,runtimeAvailability:`local`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`stdio`,serverName:`browser_mcp`,command:`npx`,args:[`-y`,`@browsermcp/mcp`]},auth:{strategy:`none`}}]},j={id:`clickhouse`,name:`ClickHouse`,description:`Run analytical SQL queries against a ClickHouse cluster.`,docsUrl:`https://github.com/ClickHouse/mcp-clickhouse`,iconBg:`#FFFF00`,iconColor:`var(--oh-surface-deep)`,keywords:[`analytics`,`olap`,`database`,`sql`],kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`clickhouse`,command:`uvx`,args:[`mcp-clickhouse`],envFields:[{key:`CLICKHOUSE_HOST`,label:`Host`,type:`text`,placeholder:`clickhouse.example.com`,required:!0},{key:`CLICKHOUSE_USER`,label:`Username`,type:`text`,required:!0},{key:`CLICKHOUSE_PASSWORD`,label:`Password`,type:`password`,required:!0}]},auth:{strategy:`api_key`}}]},M={id:`cloudflare-bindings`,name:`Cloudflare Workers Bindings`,description:`Inspect and manage KV, D1, R2, and Durable Object bindings on your Cloudflare account.`,docsUrl:`https://developers.cloudflare.com/agents/model-context-protocol/`,iconBg:`#F38020`,keywords:[`cloudflare`,`workers`,`kv`,`d1`,`r2`,`durable objects`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`sse`,url:`https://bindings.mcp.cloudflare.com/sse`,apiKeyOptional:!0},auth:{strategy:`none`,apiKeyOptional:!0}}]},N={id:`cloudflare-browser-rendering`,name:`Cloudflare Browser Rendering`,description:`Fetch and screenshot pages using Cloudflare's hosted browser rendering.`,docsUrl:`https://developers.cloudflare.com/agents/model-context-protocol/`,iconBg:`#F38020`,keywords:[`cloudflare`,`browser`,`rendering`,`screenshots`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`sse`,url:`https://browser.mcp.cloudflare.com/sse`,apiKeyOptional:!0},auth:{strategy:`none`,apiKeyOptional:!0}}]},P={id:`cloudflare-builds`,name:`Cloudflare Builds`,description:`Inspect Workers Builds — logs, statuses, and rerun failed deploys.`,docsUrl:`https://developers.cloudflare.com/agents/model-context-protocol/`,iconBg:`#F38020`,keywords:[`cloudflare`,`workers`,`ci`,`builds`,`deploys`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`sse`,url:`https://builds.mcp.cloudflare.com/sse`,apiKeyOptional:!0},auth:{strategy:`none`,apiKeyOptional:!0}}]},F={id:`cloudflare-docs`,name:`Cloudflare Docs`,description:`Search and reference Cloudflare's developer documentation directly from the agent.`,docsUrl:`https://developers.cloudflare.com/agents/model-context-protocol/`,iconBg:`#F38020`,keywords:[`cloudflare`,`docs`,`reference`,`workers`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`sse`,url:`https://docs.mcp.cloudflare.com/sse`,apiKeyOptional:!0},auth:{strategy:`none`,apiKeyOptional:!0}}]},I={id:`cloudflare-observability`,name:`Cloudflare Observability`,description:`Tail Workers logs and query observability data from your Cloudflare account.`,docsUrl:`https://developers.cloudflare.com/agents/model-context-protocol/`,iconBg:`#F38020`,keywords:[`cloudflare`,`logs`,`tail`,`observability`,`workers`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`sse`,url:`https://observability.mcp.cloudflare.com/sse`,apiKeyOptional:!0},auth:{strategy:`none`,apiKeyOptional:!0}}]},L={id:`deepwiki`,name:`DeepWiki`,description:`Ask grounded questions about any public GitHub repository via Devin's DeepWiki MCP.`,docsUrl:`https://docs.devin.ai/work-with-devin/deepwiki-mcp`,iconBg:`var(--oh-color-base)`,keywords:[`devin`,`code`,`wiki`,`github`,`docs`,`qa`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`sse`,url:`https://mcp.deepwiki.com/sse`,apiKeyOptional:!0},auth:{strategy:`none`,apiKeyOptional:!0}}]},R={id:`elevenlabs`,name:`ElevenLabs`,description:`Generate speech, clone voices, and transcribe audio via ElevenLabs.`,docsUrl:`https://elevenlabs.io/docs/api-reference/mcp`,iconBg:`var(--oh-color-base)`,keywords:[`tts`,`speech`,`voice`,`audio`],kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`elevenlabs`,command:`uvx`,args:[`elevenlabs-mcp`],envFields:[{key:`ELEVENLABS_API_KEY`,label:`ElevenLabs API key`,type:`password`,required:!0}]},auth:{strategy:`api_key`}}]},z={id:`everything`,name:`Everything (demo)`,description:`Reference server exercising every MCP capability — useful for testing.`,docsUrl:`https://github.com/modelcontextprotocol/servers/tree/main/src/everything`,iconBg:`#6366F1`,keywords:[`demo`,`test`,`reference`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`stdio`,serverName:`everything`,command:`npx`,args:[`-y`,`@modelcontextprotocol/server-everything`]},auth:{strategy:`none`}}]},B={id:`exa`,name:`Exa`,description:`Neural web search with semantic ranking, content extraction, and similar-page lookup.`,docsUrl:`https://docs.exa.ai/reference/exa-mcp`,iconBg:`var(--oh-surface)`,keywords:[`search`,`web`,`research`,`neural`],kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`exa`,command:`npx`,args:[`-y`,`exa-mcp-server`],envFields:[{key:`EXA_API_KEY`,label:`Exa API key`,type:`password`,required:!0}]},auth:{strategy:`api_key`}}]},V={id:`fetch`,name:`Fetch`,description:`Plain HTTP fetcher: download a URL and convert HTML to readable markdown.`,docsUrl:`https://github.com/modelcontextprotocol/servers/tree/main/src/fetch`,iconBg:`var(--oh-interactive-hover)`,keywords:[`http`,`web`,`url`,`scrape`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`stdio`,serverName:`fetch`,command:`uvx`,args:[`mcp-server-fetch`]},auth:{strategy:`none`}}]},pe={id:`figma`,name:`Figma`,description:`Read Figma frames, components, and styles to ground UI work in your designs.`,docsUrl:`https://github.com/GLips/Figma-Context-MCP`,iconBg:`var(--oh-surface)`,keywords:[`design`,`ui`,`frames`,`components`],kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`figma`,command:`npx`,args:[`-y`,`figma-developer-mcp`,`--stdio`],envFields:[{key:`FIGMA_API_KEY`,label:`Figma personal access token`,type:`password`,required:!0}]},auth:{strategy:`api_key`}}]},me={id:`filesystem`,name:`Filesystem`,description:`Give the agent secure, scoped filesystem access outside the workspace.`,docsUrl:`https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem`,iconBg:`var(--oh-interactive-hover)`,keywords:[`files`,`local`,`disk`],installHint:`Each path is exposed read/write. Add as many as you need, separated by spaces.`,kind:`mcp`,runtimeAvailability:`local`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`filesystem`,command:`npx`,args:[`-y`,`@modelcontextprotocol/server-filesystem`],argFields:[{key:`paths`,label:`Paths (space separated)`,type:`text`,placeholder:`/Users/me/Documents /Users/me/Projects`,required:!0,helperText:`Each whitespace-separated token is appended as its own argument.`}]},auth:{strategy:`api_key`}}]},he={id:`firecrawl`,name:`Firecrawl`,description:`Crawl any site and return clean markdown, structured data, or screenshots.`,docsUrl:`https://docs.firecrawl.dev/mcp`,iconBg:`#F97316`,keywords:[`scraping`,`crawl`,`web`,`markdown`],kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`firecrawl`,command:`npx`,args:[`-y`,`firecrawl-mcp`],envFields:[{key:`FIRECRAWL_API_KEY`,label:`Firecrawl API key`,type:`password`,required:!0}]},auth:{strategy:`api_key`}}]},ge={id:`git`,name:`Git`,description:`Local git repository operations: log, diff, blame, status, and more.`,docsUrl:`https://github.com/modelcontextprotocol/servers/tree/main/src/git`,iconBg:`#F1502F`,keywords:[`version control`,`log`,`diff`,`blame`],installHint:`Runs the official Python server via uvx — no setup beyond the path.`,kind:`mcp`,runtimeAvailability:`local`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`git`,command:`uvx`,args:[`mcp-server-git`,`--repository`],argFields:[{key:`repo_path`,label:`Repository path`,type:`text`,placeholder:`/Users/me/code/my-repo`,required:!0,helperText:`Appended as --repository <path>.`}]},auth:{strategy:`api_key`}}]},_e={id:`github`,name:`GitHub`,description:`Search code, manage issues and pull requests, and inspect repos via the GitHub API.`,docsUrl:`https://github.com/github/github-mcp-server`,iconBg:`var(--oh-surface)`,keywords:[`git`,`pr`,`repo`,`issues`,`code`],popularityRank:100,installHint:`Requires Docker because the legacy npm package was deprecated upstream.`,kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`github`,command:`docker`,args:[`run`,`-i`,`--rm`,`-e`,`GITHUB_PERSONAL_ACCESS_TOKEN`,`ghcr.io/github/github-mcp-server`],envFields:[{key:`GITHUB_PERSONAL_ACCESS_TOKEN`,label:`Personal access token`,type:`password`,placeholder:`github_pat_...`,required:!0}]},auth:{strategy:`api_key`}}]},ve={id:`huggingface`,name:`Hugging Face`,description:`Search models, datasets, and Spaces on the Hugging Face Hub from your agent.`,docsUrl:`https://huggingface.co/docs/huggingface_hub/en/guides/mcp`,iconBg:`#FFD21E`,iconColor:`#000000`,keywords:[`ml`,`models`,`datasets`,`ai`,`hub`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`shttp`,url:`https://huggingface.co/mcp`,apiKeyOptional:!0},auth:{strategy:`none`,apiKeyOptional:!0}}]},ye={id:`kagi`,name:`Kagi Search`,description:`Paid, privacy-first search with high signal-to-noise — great for research.`,docsUrl:`https://github.com/kagisearch/kagimcp`,iconBg:`#FFB319`,iconColor:`var(--oh-surface-deep)`,keywords:[`search`,`web`,`privacy`],kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`kagi`,command:`uvx`,args:[`kagimcp`],envFields:[{key:`KAGI_API_KEY`,label:`Kagi API key`,type:`password`,required:!0}]},auth:{strategy:`api_key`}}]},be={id:`linear`,name:`Linear`,description:`Browse and update Linear issues, cycles, and projects from the agent.`,docsUrl:`https://linear.app/changelog/2025-05-01-mcp`,iconBg:`#5E6AD2`,keywords:[`issues`,`project management`,`tasks`,`tickets`],popularityRank:86,installHint:`Linear's hosted MCP server uses your Linear OAuth login — no key required.`,kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`sse`,url:`https://mcp.linear.app/sse`,apiKeyOptional:!0},auth:{strategy:`none`,apiKeyOptional:!0}}]},xe={id:`memory`,name:`Memory`,description:`Persistent key-value memory for the agent across conversations.`,docsUrl:`https://github.com/modelcontextprotocol/servers/tree/main/src/memory`,iconBg:`#7C3AED`,keywords:[`memory`,`kv`,`state`,`persistence`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`stdio`,serverName:`memory`,command:`npx`,args:[`-y`,`@modelcontextprotocol/server-memory`]},auth:{strategy:`none`}}]},Se={id:`mongodb`,name:`MongoDB`,description:`Query MongoDB collections, inspect schemas, and run aggregation pipelines.`,docsUrl:`https://www.mongodb.com/docs/mcp-server/`,iconBg:`#00684A`,keywords:[`database`,`nosql`,`atlas`],kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`mongodb`,command:`npx`,args:[`-y`,`mongodb-mcp-server`],envFields:[{key:`MDB_MCP_CONNECTION_STRING`,label:`MongoDB connection string`,type:`password`,placeholder:`mongodb+srv://user:pass@cluster.mongodb.net`,required:!0}]},auth:{strategy:`api_key`}}]},Ce={id:`neon`,name:`Neon`,description:`Serverless Postgres: list projects, run queries, manage branches.`,docsUrl:`https://neon.com/docs/ai/neon-mcp-server`,iconBg:`#00E599`,iconColor:`var(--oh-surface-deep)`,keywords:[`database`,`postgres`,`serverless`],kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`neon`,command:`npx`,args:[`-y`,`@neondatabase/mcp-server-neon`,`start`],envFields:[{key:`NEON_API_KEY`,label:`Neon API key`,type:`password`,required:!0}]},auth:{strategy:`api_key`}}]},we={id:`notion`,name:`Notion`,description:`Read and edit Notion pages, databases, and blocks via Notion's MCP server.`,docsUrl:`https://developers.notion.com/docs/mcp`,iconBg:`#FFFFFF`,iconColor:`#000000`,keywords:[`docs`,`notes`,`wiki`,`knowledge base`],popularityRank:82,kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`notion`,command:`npx`,args:[`-y`,`@notionhq/notion-mcp-server`],envFields:[{key:`NOTION_API_KEY`,label:`Internal integration token`,type:`password`,placeholder:`ntn_...`,required:!0}]},auth:{strategy:`api_key`}}]},Te={id:`obsidian`,name:`Obsidian`,description:`Read and edit Markdown notes inside an Obsidian vault on the local disk.`,docsUrl:`https://github.com/MarkusPfundstein/mcp-obsidian`,iconBg:`#7C3AED`,keywords:[`notes`,`knowledge`,`markdown`,`vault`],kind:`mcp`,runtimeAvailability:`local`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`obsidian`,command:`uvx`,args:[`mcp-obsidian`],envFields:[{key:`OBSIDIAN_API_KEY`,label:`Local REST API key`,type:`password`,required:!0,helperText:`From the Obsidian 'Local REST API' community plugin.`}]},auth:{strategy:`api_key`}}]},Ee={id:`paypal`,name:`PayPal`,description:`Manage transactions and merchant data via PayPal's MCP server.`,docsUrl:`https://developer.paypal.com/tools/mcp-server/`,iconBg:`#003087`,keywords:[`payments`,`billing`,`finance`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`sse`,url:`https://mcp.paypal.com/sse`,apiKeyOptional:!0},auth:{strategy:`none`,apiKeyOptional:!0}}]},De={id:`playwright`,name:`Playwright`,description:`Headless-browser automation backed by Microsoft Playwright.`,docsUrl:`https://github.com/microsoft/playwright-mcp`,iconBg:`#2EAD33`,keywords:[`browser`,`automation`,`e2e`,`testing`,`scrape`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`stdio`,serverName:`playwright`,command:`npx`,args:[`-y`,`@playwright/mcp`]},auth:{strategy:`none`}}]},Oe={id:`redis`,name:`Redis`,description:`Get, set, scan, and inspect data on a Redis or Redis-compatible instance.`,docsUrl:`https://github.com/redis/mcp-redis`,iconBg:`#DC382D`,keywords:[`cache`,`kv`,`database`],kind:`mcp`,runtimeAvailability:`local`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`redis`,command:`uvx`,args:[`--from`,`redis-mcp-server@latest`,`redis-mcp-server`,`--url`],argFields:[{key:`redis_url`,label:`Redis URL`,type:`password`,placeholder:`redis://localhost:6379`,required:!0,helperText:`Appended as --url <redis_url>.`}]},auth:{strategy:`api_key`}}]},ke={id:`resend`,name:`Resend`,description:`Send transactional and marketing emails via the Resend API.`,docsUrl:`https://resend.com/docs/mcp`,iconBg:`var(--oh-surface-deep)`,keywords:[`email`,`transactional`,`smtp`],kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`resend`,command:`npx`,args:[`-y`,`mcp-send-email`],envFields:[{key:`RESEND_API_KEY`,label:`Resend API key`,type:`password`,required:!0},{key:`SENDER_EMAIL_ADDRESS`,label:`From address`,type:`text`,placeholder:`you@example.com`,required:!0}]},auth:{strategy:`api_key`}}]},Ae={id:`sentry`,name:`Sentry`,description:`Triage issues, inspect events, and run Seer fixes against your Sentry org.`,docsUrl:`https://docs.sentry.io/product/sentry-mcp/`,iconBg:`#362D59`,keywords:[`errors`,`observability`,`monitoring`,`crash`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`shttp`,url:`https://mcp.sentry.dev/mcp`,apiKeyOptional:!0},auth:{strategy:`none`,apiKeyOptional:!0}}]},je={id:`sequential-thinking`,name:`Sequential Thinking`,description:`Lets the agent emit and revise a chain of structured thoughts.`,docsUrl:`https://github.com/modelcontextprotocol/servers/tree/main/src/sequentialthinking`,iconBg:`var(--oh-color-base)`,keywords:[`reasoning`,`planning`,`thoughts`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`stdio`,serverName:`sequential_thinking`,command:`npx`,args:[`-y`,`@modelcontextprotocol/server-sequential-thinking`]},auth:{strategy:`none`}}]},Me={id:`slack`,name:`Slack`,description:`Read channels, post messages, and search workspace history from your agent.`,docsUrl:`https://github.com/zencoderai/slack-mcp-server`,iconBg:`#4A154B`,keywords:[`chat`,`messaging`,`team`],popularityRank:95,installHint:`Create a Slack app with the required scopes, then paste its bot token below.`,kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`slack`,command:`npx`,args:[`-y`,`@zencoderai/slack-mcp-server`],envFields:[{key:`SLACK_BOT_TOKEN`,label:`Bot token`,type:`password`,placeholder:`xoxb-...`,required:!0},{key:`SLACK_TEAM_ID`,label:`Team / Workspace ID`,type:`text`,placeholder:`T01234567`,helperText:`Find this in Slack under Workspace settings → About this workspace.`,required:!0}]},auth:{strategy:`api_key`}}]},Ne={id:`stripe`,name:`Stripe`,description:`Query customers, payments, subscriptions, and invoices via Stripe's hosted MCP server.`,docsUrl:`https://stripe.com/docs/mcp`,iconBg:`#635BFF`,keywords:[`payments`,`billing`,`subscriptions`,`finance`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`shttp`,url:`https://mcp.stripe.com/`,apiKeyOptional:!0},auth:{strategy:`none`,apiKeyOptional:!0}}]},Pe={id:`supabase`,name:`Supabase`,description:`Query and manage your Supabase project, including database, auth, and storage.`,docsUrl:`https://supabase.com/docs/guides/getting-started/mcp`,iconBg:`#3ECF8E`,keywords:[`database`,`auth`,`storage`,`postgres`],kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`supabase`,command:`npx`,args:[`-y`,`@supabase/mcp-server-supabase@latest`],envFields:[{key:`SUPABASE_ACCESS_TOKEN`,label:`Supabase access token`,type:`password`,required:!0,helperText:`Personal access token from your Supabase dashboard.`}]},auth:{strategy:`api_key`}}]},Fe={id:`tavily`,name:`Tavily`,description:`Production-grade web search optimized for LLM agents. Free tier available.`,docsUrl:`https://github.com/tavily-ai/tavily-mcp`,iconBg:`#2563EB`,keywords:[`search`,`web`,`browsing`,`research`],popularityRank:90,installHint:`Paste your Tavily API key — the official tavily-mcp package runs via npx.`,kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`tavily`,command:`npx`,args:[`-y`,`tavily-mcp`],envFields:[{key:`TAVILY_API_KEY`,label:`Tavily API key`,type:`password`,placeholder:`tvly-...`,required:!0}]},auth:{strategy:`api_key`}}]},Ie={id:`time`,name:`Time`,description:`Timezone-aware current time, conversions, and timestamp formatting.`,docsUrl:`https://github.com/modelcontextprotocol/servers/tree/main/src/time`,iconBg:`var(--oh-surface)`,keywords:[`clock`,`timezone`,`date`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`stdio`,serverName:`time`,command:`uvx`,args:[`mcp-server-time`]},auth:{strategy:`none`}}]},Le=`https://accounts.google.com/o/oauth2/v2/auth`,Re=`https://oauth2.googleapis.com/token`,ze=`https://login.microsoftonline.com/common/oauth2/v2.0/authorize`,Be=`https://login.microsoftonline.com/common/oauth2/v2.0/token`,Ve=`https://auth.atlassian.com/authorize`,He=`https://auth.atlassian.com/oauth/token`,H=(e,t,n,r,i,a=`GET`)=>({apiBaseUrl:e,authorizationUrl:Le,tokenUrl:Re,scopes:t,toolName:n,toolDescription:r,requestMethod:a,requestPath:i}),U=(e,t,n,r)=>({apiBaseUrl:`https://graph.microsoft.com/v1.0`,authorizationUrl:ze,tokenUrl:Be,scopes:e,toolName:t,toolDescription:n,requestMethod:`GET`,requestPath:r}),W=(e,t,n,r,i)=>({apiBaseUrl:e,authorizationUrl:Ve,tokenUrl:He,scopes:t,toolName:n,toolDescription:r,requestMethod:`GET`,requestPath:i}),G=`https://mcp.hubspot.com`,Ue=`${G}/oauth/authorize/user`,We=`${G}/oauth/v3/token`,Ge={github:`https://api.githubcopilot.com/mcp/`,hubspot:G,slack:`https://mcp.slack.com/mcp`,webflow:`https://mcp.webflow.com/mcp`,datadog:`https://mcp.datadoghq.com/api/unstable/mcp-server/mcp`,ordinal:`https://app.tryordinal.com/api/mcp`},Ke={github:{apiBaseUrl:`https://api.github.com`,authorizationUrl:`https://github.com/login/oauth/authorize`,tokenUrl:`https://github.com/login/oauth/access_token`,scopes:[`read:user`,`repo`],toolName:`get_authenticated_user`,toolDescription:`Fetch the authenticated GitHub user profile.`,requestMethod:`GET`,requestPath:`/user`},"google-docs":H(`https://docs.googleapis.com`,[`https://www.googleapis.com/auth/documents.readonly`],`get_document`,`Fetch a Google Docs document by ID.`,`/v1/documents/{documentId}`),slack:{provider:`mcp`,authorizationUrl:`https://slack.com/oauth/v2_user/authorize`,tokenUrl:`https://slack.com/api/oauth.v2.user.access`,scopes:[`search:read.public`,`search:read.private`,`search:read.mpim`,`search:read.im`,`search:read.files`,`search:read.users`,`chat:write`,`channels:history`,`groups:history`,`mpim:history`,`im:history`,`canvases:read`,`canvases:write`,`users:read`,`users:read.email`],pkce:!0,clientAuthentication:`body`},notion:{provider:`http`,apiBaseUrl:`https://api.notion.com`,openApiUrl:`https://developers.notion.com/openapi.json`,authorizationUrl:`https://api.notion.com/v1/oauth/authorize`,tokenUrl:`https://api.notion.com/v1/oauth/token`,scopes:[],toolName:`post_search`,toolDescription:`Search pages and databases in the connected Notion workspace.`,requestMethod:`POST`,requestPath:`/v1/search`},figma:{apiBaseUrl:`https://api.figma.com`,authorizationUrl:`https://www.figma.com/oauth`,tokenUrl:`https://api.figma.com/v1/oauth/token`,scopes:[`current_user:read`,`file_content:read`,`file_metadata:read`,`projects:read`],toolName:`get_file`,toolDescription:`Fetch a Figma file by key.`,requestMethod:`GET`,requestPath:`/v1/files/{fileKey}`},elevenlabs:{provider:`http`,authModes:[`api_key`],authStrategy:`api_key`,credentialLabel:`ElevenLabs API key`,credentialPlaceholder:`Paste your ElevenLabs API key`,credentialHelp:`Personal or workspace ElevenLabs API key sent in the xi-api-key header.`,apiKeyHeaderName:`xi-api-key`,apiBaseUrl:`https://api.elevenlabs.io`,openApiUrl:`https://api.elevenlabs.io/openapi.json`},"google-drive":H(`https://www.googleapis.com/drive/v3`,[`https://www.googleapis.com/auth/drive.metadata.readonly`],`list_files`,`List Drive files visible to the connected user.`,`/files`),"google-sheets":H(`https://sheets.googleapis.com`,[`https://www.googleapis.com/auth/spreadsheets.readonly`],`get_spreadsheet`,`Fetch spreadsheet metadata and sheets by ID.`,`/v4/spreadsheets/{spreadsheetId}`),gmail:H(`https://gmail.googleapis.com`,[`https://www.googleapis.com/auth/gmail.readonly`],`list_messages`,`List Gmail messages for the authenticated user.`,`/gmail/v1/users/me/messages`),"google-calendar":H(`https://www.googleapis.com/calendar/v3`,[`https://www.googleapis.com/auth/calendar.readonly`],`list_events`,`List events from the user's primary Google Calendar.`,`/calendars/primary/events`),jira:W(`https://api.atlassian.com/ex/jira/{cloudId}`,[`read:jira-work`],`list_projects`,`List Jira projects available to the connected user.`,`/rest/api/3/project/search`),confluence:W(`https://api.atlassian.com/ex/confluence/{cloudId}`,[`read:page:confluence`],`list_spaces`,`List Confluence spaces available to the connected user.`,`/wiki/api/v2/spaces`),linear:{apiBaseUrl:`https://api.linear.app`,authorizationUrl:`https://linear.app/oauth/authorize`,tokenUrl:`https://api.linear.app/oauth/token`,scopes:[`read`],toolName:`list_issues`,toolDescription:`Query issues from Linear via GraphQL.`,requestMethod:`POST`,requestPath:`/graphql`},asana:{apiBaseUrl:`https://app.asana.com/api/1.0`,authorizationUrl:`https://app.asana.com/-/oauth_authorize`,tokenUrl:`https://app.asana.com/-/oauth_token`,scopes:[`tasks:read`],toolName:`list_tasks`,toolDescription:`List tasks visible to the connected Asana user.`,requestMethod:`GET`,requestPath:`/tasks`},trello:{apiBaseUrl:`https://api.trello.com/1`,toolName:`list_boards`,toolDescription:`List Trello boards visible to the authenticated member.`,requestMethod:`GET`,requestPath:`/members/me/boards`},clickup:{apiBaseUrl:`https://api.clickup.com/api/v2`,authorizationUrl:`https://app.clickup.com/api`,tokenUrl:`https://api.clickup.com/api/v2/oauth/token`,scopes:[],toolName:`list_workspaces`,toolDescription:`List ClickUp workspaces available to the connected user.`,requestMethod:`GET`,requestPath:`/team`},monday:{apiBaseUrl:`https://api.monday.com/v2`,authorizationUrl:`https://auth.monday.com/oauth2/authorize`,tokenUrl:`https://auth.monday.com/oauth2/token`,scopes:[`boards:read`],toolName:`list_boards`,toolDescription:`Query boards from Monday.com.`,requestMethod:`POST`,requestPath:`/`},airtable:{apiBaseUrl:`https://api.airtable.com/v0`,authorizationUrl:`https://airtable.com/oauth2/v1/authorize`,tokenUrl:`https://airtable.com/oauth2/v1/token`,scopes:[`schema.bases:read`,`data.records:read`],toolName:`list_bases`,toolDescription:`List Airtable bases the connected user granted access to.`,requestMethod:`GET`,requestPath:`/meta/bases`},dropbox:{apiBaseUrl:`https://api.dropboxapi.com/2`,authorizationUrl:`https://www.dropbox.com/oauth2/authorize`,tokenUrl:`https://api.dropboxapi.com/oauth2/token`,scopes:[`files.metadata.read`],toolName:`list_root_folder`,toolDescription:`List entries in the root Dropbox folder.`,requestMethod:`POST`,requestPath:`/files/list_folder`},box:{apiBaseUrl:`https://api.box.com/2.0`,authorizationUrl:`https://account.box.com/api/oauth2/authorize`,tokenUrl:`https://api.box.com/oauth2/token`,scopes:[`root_readonly`,`item_read`],toolName:`list_root_items`,toolDescription:`List files and folders in the Box root folder.`,requestMethod:`GET`,requestPath:`/folders/0/items`},"microsoft-outlook":U([`Mail.Read`],`list_messages`,`List Outlook messages for the signed-in user.`,`/me/messages`),"microsoft-teams":U([`Team.ReadBasic.All`],`list_teams`,`List Microsoft Teams joined by the signed-in user.`,`/me/joinedTeams`),onedrive:U([`Files.Read`],`list_drive_items`,`List OneDrive items in the root folder.`,`/me/drive/root/children`),sharepoint:U([`Sites.Read.All`],`get_root_site`,`Fetch the SharePoint root site through Microsoft Graph.`,`/sites/root`),salesforce:{apiBaseUrl:`https://{instance}.salesforce.com/services/data/v60.0`,authorizationUrl:`https://login.salesforce.com/services/oauth2/authorize`,tokenUrl:`https://login.salesforce.com/services/oauth2/token`,scopes:[`api`],toolName:`list_accounts`,toolDescription:`List Salesforce accounts from the connected org.`,requestMethod:`GET`,requestPath:`/sobjects/Account`},hubspot:{provider:`mcp`,authorizationUrl:Ue,tokenUrl:We,clientAuthentication:`body`,pkce:!0,scopes:[],credentialHelp:`Use the client ID and secret from a HubSpot MCP auth app (Development → MCP Auth Apps). Standard HubSpot OAuth apps and private apps will not authenticate with mcp.hubspot.com.`},zendesk:{apiBaseUrl:`https://{subdomain}.zendesk.com/api/v2`,authorizationUrl:`https://{subdomain}.zendesk.com/oauth2/authorize`,tokenUrl:`https://{subdomain}.zendesk.com/oauth2/token`,scopes:[`tickets:read`],toolName:`list_tickets`,toolDescription:`List Zendesk tickets for the connected account.`,requestMethod:`GET`,requestPath:`/tickets`},intercom:{apiBaseUrl:`https://api.intercom.io`,authorizationUrl:`https://app.intercom.com/oauth`,tokenUrl:`https://api.intercom.io/auth/eagle/token`,scopes:[`read_users`,`read_conversations`],toolName:`list_contacts`,toolDescription:`List Intercom contacts for the connected workspace.`,requestMethod:`GET`,requestPath:`/contacts`},stripe:{apiBaseUrl:`https://api.stripe.com/v1`,authorizationUrl:`https://connect.stripe.com/oauth/authorize`,tokenUrl:`https://connect.stripe.com/oauth/token`,scopes:[`read_only`],toolName:`list_customers`,toolDescription:`List Stripe customers from the connected account.`,requestMethod:`GET`,requestPath:`/customers`},shopify:{apiBaseUrl:`https://{shop}.myshopify.com/admin/api/2025-01`,authorizationUrl:`https://{shop}.myshopify.com/admin/oauth/authorize`,tokenUrl:`https://{shop}.myshopify.com/admin/oauth/access_token`,scopes:[`read_products`],toolName:`list_products`,toolDescription:`List Shopify products for the connected store.`,requestMethod:`GET`,requestPath:`/products.json`},discord:{apiBaseUrl:`https://discord.com/api/v10`,authorizationUrl:`https://discord.com/oauth2/authorize`,tokenUrl:`https://discord.com/api/oauth2/token`,scopes:[`identify`,`guilds`],toolName:`list_guilds`,toolDescription:`List Discord guilds available to the connected user.`,requestMethod:`GET`,requestPath:`/users/@me/guilds`},zoom:{apiBaseUrl:`https://api.zoom.us/v2`,authorizationUrl:`https://zoom.us/oauth/authorize`,tokenUrl:`https://zoom.us/oauth/token`,scopes:[`meeting:read:user`],toolName:`list_meetings`,toolDescription:`List Zoom meetings for the connected user.`,requestMethod:`GET`,requestPath:`/users/me/meetings`},webflow:{provider:`mcp`,authorizationUrl:`https://mcp.webflow.com/oauth/authorize`,tokenUrl:`https://mcp.webflow.com/oauth/token`,registrationUrl:`https://mcp.webflow.com/oauth/register`,clientAuthentication:`none`,pkce:!0,scopes:[]},miro:{apiBaseUrl:`https://api.miro.com/v2`,authorizationUrl:`https://miro.com/oauth/authorize`,tokenUrl:`https://api.miro.com/v1/oauth/token`,scopes:[`boards:read`],toolName:`list_boards`,toolDescription:`List Miro boards available to the connected user.`,requestMethod:`GET`,requestPath:`/boards`},canva:{apiBaseUrl:`https://api.canva.com/rest/v1`,tokenUrl:`https://api.canva.com/rest/v1/oauth/token`,scopes:[],toolName:`list_designs`,toolDescription:`List Canva designs available to the connected user.`,requestMethod:`GET`,requestPath:`/designs`},datadog:{provider:`mcp`,authorizationUrl:`https://app.datadoghq.com/oauth2/v1/authorize`,tokenUrl:`https://api.datadoghq.com/oauth2/v1/token`,scopes:[`dashboards_read`,`monitors_read`]},sentry:{apiBaseUrl:`https://sentry.io/api/0`,authorizationUrl:`https://sentry.io/oauth/authorize`,tokenUrl:`https://sentry.io/oauth/token`,scopes:[`project:read`,`event:read`,`org:read`],toolName:`list_organizations`,toolDescription:`List Sentry organizations available to the connected user.`,requestMethod:`GET`,requestPath:`/organizations/`},posthog:{apiBaseUrl:`https://us.posthog.com/api`,authorizationUrl:`https://us.posthog.com/oauth/authorize`,tokenUrl:`https://us.posthog.com/oauth/token`,scopes:[`project:read`],toolName:`list_projects`,toolDescription:`List PostHog projects available to the connected user.`,requestMethod:`GET`,requestPath:`/projects/`},supabase:{apiBaseUrl:`https://api.supabase.com/v1`,authorizationUrl:`https://api.supabase.com/v1/oauth/authorize`,tokenUrl:`https://api.supabase.com/v1/oauth/token`,scopes:[],toolName:`list_projects`,toolDescription:`List Supabase projects available to the connected user.`,requestMethod:`GET`,requestPath:`/projects`},vercel:{apiBaseUrl:`https://api.vercel.com`,authorizationUrl:`https://vercel.com/oauth/authorize`,tokenUrl:`https://api.vercel.com/v2/oauth/access_token`,scopes:[`project:read`],toolName:`list_projects`,toolDescription:`List Vercel projects available to the connected user.`,requestMethod:`GET`,requestPath:`/v9/projects`},netlify:{apiBaseUrl:`https://api.netlify.com/api/v1`,authorizationUrl:`https://app.netlify.com/authorize`,tokenUrl:`https://api.netlify.com/oauth/token`,scopes:[`sites:read`],toolName:`list_sites`,toolDescription:`List Netlify sites available to the connected user.`,requestMethod:`GET`,requestPath:`/sites`},plaid:{apiBaseUrl:`https://production.plaid.com`,toolName:`get_accounts`,toolDescription:`Fetch accounts for a connected Plaid item.`,requestMethod:`POST`,requestPath:`/accounts/get`},okta:{apiBaseUrl:`https://{yourOktaDomain}/api/v1`,authorizationUrl:`https://{yourOktaDomain}/oauth2/v1/authorize`,tokenUrl:`https://{yourOktaDomain}/oauth2/v1/token`,scopes:[`okta.users.read`],toolName:`list_users`,toolDescription:`List Okta users for the connected org.`,requestMethod:`GET`,requestPath:`/users`},servicenow:{apiBaseUrl:`https://{instance}.service-now.com/api/now/v1`,authorizationUrl:`https://{instance}.service-now.com/oauth_auth.do`,tokenUrl:`https://{instance}.service-now.com/oauth_token.do`,scopes:[`useraccount`,`table.read`],toolName:`list_incidents`,toolDescription:`List ServiceNow incidents for the connected instance.`,requestMethod:`GET`,requestPath:`/table/incident`},freshdesk:{apiBaseUrl:`https://{domain}.freshdesk.com/api/v2`,authorizationUrl:`https://{domain}.freshdesk.com/oauth/authorize`,tokenUrl:`https://{domain}.freshdesk.com/oauth/token`,scopes:[`tickets_view`],toolName:`list_tickets`,toolDescription:`List Freshdesk tickets for the connected account.`,requestMethod:`GET`,requestPath:`/tickets`},pipedrive:{apiBaseUrl:`https://api.pipedrive.com/v1`,authorizationUrl:`https://oauth.pipedrive.com/oauth/authorize`,tokenUrl:`https://oauth.pipedrive.com/oauth/token`,scopes:[`deals:read`,`contacts:read`],toolName:`list_persons`,toolDescription:`List Pipedrive people visible to the connected user.`,requestMethod:`GET`,requestPath:`/persons`},mailchimp:{apiBaseUrl:`https://{dc}.api.mailchimp.com/3.0`,authorizationUrl:`https://login.mailchimp.com/oauth2/authorize`,tokenUrl:`https://login.mailchimp.com/oauth2/token`,scopes:[`audiences:read`],toolName:`list_audiences`,toolDescription:`List Mailchimp audiences for the connected account.`,requestMethod:`GET`,requestPath:`/lists`},quickbooks:{apiBaseUrl:`https://sandbox-quickbooks.api.intuit.com/v3/company/{companyId}`,authorizationUrl:`https://appcenter.intuit.com/connect/oauth2`,tokenUrl:`https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer`,scopes:[`com.intuit.quickbooks.accounting`],toolName:`list_customers`,toolDescription:`Query QuickBooks customers for the connected company.`,requestMethod:`GET`,requestPath:`/query?query=SELECT%20*%20FROM%20Customer%20MAXRESULTS%2010`},xero:{apiBaseUrl:`https://api.xero.com/api.xro/2.0`,authorizationUrl:`https://login.xero.com/identity/connect/authorize`,tokenUrl:`https://identity.xero.com/connect/token`,scopes:[`accounting.contacts.read`],toolName:`list_contacts`,toolDescription:`List Xero contacts for the connected tenant.`,requestMethod:`GET`,requestPath:`/Contacts`},gitlab:{apiBaseUrl:`https://gitlab.com/api/v4`,authorizationUrl:`https://gitlab.com/oauth/authorize`,tokenUrl:`https://gitlab.com/oauth/token`,scopes:[`read_api`],toolName:`get_current_user`,toolDescription:`Fetch the authenticated GitLab user profile.`,requestMethod:`GET`,requestPath:`/user`},bitbucket:{apiBaseUrl:`https://api.bitbucket.org/2.0`,authorizationUrl:`https://bitbucket.org/site/oauth2/authorize`,tokenUrl:`https://bitbucket.org/site/oauth2/access_token`,scopes:[`account`,`repository`],toolName:`get_current_user`,toolDescription:`Fetch the authenticated Bitbucket user profile.`,requestMethod:`GET`,requestPath:`/user`},ordinal:{provider:`mcp`,authModes:[`bearer`],authStrategy:`bearer`,credentialLabel:`Ordinal API key`,credentialPlaceholder:`Paste your Ordinal API key`,credentialHelp:`API key from your Ordinal workspace settings, sent as a Bearer token in the Authorization header.`}},qe=e=>{let t=Ke[e];if(!t)return;let n=Ge[e],r=t.provider??(n?`mcp`:t.apiBaseUrl||t.openApiUrl?`http`:void 0);return{...t,provider:r,serverUrl:r===`mcp`?t.serverUrl??n:t.serverUrl}},K=(e,t)=>{let n=qe(t.slug);return{...t,authStrategy:t.authStrategy??n?.authStrategy??`oauth2`,popularityRank:e,registrationDefaults:n}},q=[K(1,{slug:`github`,name:`GitHub`,description:`Source control, issues, pull requests, and developer workflows.`,categories:[`Engineering`,`Source control`],availability:`manual_token`,managedConnectorSlug:`github`,appUrl:`https://github.com`,docsUrl:`https://docs.github.com/apps/oauth-apps/building-oauth-apps`,notes:`Current managed connector works with bearer tokens today; GitHub OAuth is a strong candidate for a future one-click connect flow.`}),K(2,{slug:`google-docs`,name:`Google Docs`,description:`Docs authoring and Google Workspace document automation.`,categories:[`Documents`,`Knowledge base`],availability:`manual_token`,managedConnectorSlug:`google-docs`,appUrl:`https://workspace.google.com/products/docs/`,docsUrl:`https://developers.google.com/identity/protocols/oauth2`,notes:`Current managed connector accepts a Google access token manually; a full OAuth connect flow can remove token copy/paste.`}),K(3,{slug:`slack`,name:`Slack`,description:`Channels, messaging, workflows, canvases, and operational collaboration.`,categories:[`Communication`,`Operations`],availability:`oauth_ready`,managedConnectorSlug:`slack`,appUrl:`https://slack.com`,docsUrl:`https://docs.slack.dev/ai/slack-mcp-server`,notes:`Uses Slack's official hosted MCP server with confidential OAuth user-token auth.`}),K(4,{slug:`notion`,name:`Notion`,description:`Workspace search, pages, databases, and knowledge management.`,categories:[`Knowledge base`,`Documentation`],availability:`oauth_ready`,managedConnectorSlug:`notion`,appUrl:`https://www.notion.so`,docsUrl:`https://developers.notion.com/docs/authorization`,notes:``}),K(5,{slug:`figma`,name:`Figma`,description:`Design files, nodes, and developer handoff automation.`,categories:[`Design`,`Frontend`],availability:`oauth_ready`,managedConnectorSlug:`figma`,appUrl:`https://www.figma.com`,docsUrl:`https://www.figma.com/developers/api#oauth2`,notes:``}),K(6,{slug:`google-drive`,name:`Google Drive`,description:`File search, metadata, folders, and document discovery.`,categories:[`Storage`,`Documents`],availability:`planned`,appUrl:`https://workspace.google.com/products/drive/`,docsUrl:`https://developers.google.com/identity/protocols/oauth2`,notes:`Natural expansion of the Google Workspace surface beyond Google Docs.`}),K(7,{slug:`google-sheets`,name:`Google Sheets`,description:`Spreadsheet reads, writes, formulas, and reporting workflows.`,categories:[`Spreadsheets`,`Analytics`],availability:`planned`,appUrl:`https://workspace.google.com/products/sheets/`,docsUrl:`https://developers.google.com/identity/protocols/oauth2`,notes:`High-value automation surface for agent-driven reporting and structured edits.`}),K(8,{slug:`gmail`,name:`Gmail`,description:`Mailbox search, drafting, sending, and thread triage.`,categories:[`Communication`,`Email`],availability:`planned`,appUrl:`https://workspace.google.com/products/gmail/`,docsUrl:`https://developers.google.com/identity/protocols/oauth2`,notes:`Popular agent workflow target for inbox triage and drafting.`}),K(9,{slug:`google-calendar`,name:`Google Calendar`,description:`Calendar search, event scheduling, and meeting coordination.`,categories:[`Calendar`,`Scheduling`],availability:`planned`,appUrl:`https://workspace.google.com/products/calendar/`,docsUrl:`https://developers.google.com/identity/protocols/oauth2`,notes:`Strong personal productivity use case with mature OAuth flows.`}),K(10,{slug:`jira`,name:`Jira`,description:`Issue tracking, sprint workflows, and engineering program management.`,categories:[`Project management`,`Engineering`],availability:`planned`,appUrl:`https://www.atlassian.com/software/jira`,docsUrl:`https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps/`,notes:`Very common MCP target for software teams and ticket automation.`}),K(11,{slug:`confluence`,name:`Confluence`,description:`Wiki pages, spaces, and internal documentation search.`,categories:[`Documentation`,`Knowledge base`],availability:`planned`,appUrl:`https://www.atlassian.com/software/confluence`,docsUrl:`https://developer.atlassian.com/cloud/confluence/oauth-2-3lo-apps/`,notes:`Natural companion to Jira for software teams.`}),K(12,{slug:`linear`,name:`Linear`,description:`Issue tracking, roadmap planning, and product engineering workflows.`,categories:[`Project management`,`Engineering`],availability:`planned`,appUrl:`https://linear.app`,docsUrl:`https://linear.app/developers/oauth-authentication`,notes:`Popular among modern product engineering teams and already useful to this repo's users.`}),K(13,{slug:`asana`,name:`Asana`,description:`Task management, projects, and work tracking.`,categories:[`Project management`,`Operations`],availability:`planned`,appUrl:`https://asana.com`,docsUrl:`https://developers.asana.com/docs/oauth`,notes:`Broad business adoption and straightforward OAuth app model.`}),K(14,{slug:`trello`,name:`Trello`,description:`Boards, cards, checklists, and lightweight project planning.`,categories:[`Project management`,`Operations`],availability:`planned`,appUrl:`https://trello.com`,docsUrl:`https://developer.atlassian.com/cloud/trello/guides/rest-api/authorization/`,notes:`Useful for SMB and cross-functional task boards, but Trello's public API auth is a special-case flow rather than a straightforward generic OAuth2 connector.`}),K(15,{slug:`clickup`,name:`ClickUp`,description:`Tasks, docs, goals, and workflow automation.`,categories:[`Project management`,`Operations`],availability:`planned`,appUrl:`https://clickup.com`,docsUrl:`https://clickup.com/api/developer-portal/authentication`,notes:`Large install base and broad operations coverage.`}),K(16,{slug:`monday`,name:`Monday.com`,description:`Boards, automations, and work management across teams.`,categories:[`Project management`,`Operations`],availability:`planned`,appUrl:`https://monday.com`,docsUrl:`https://developer.monday.com/apps/docs/oauth`,notes:`High-demand operations platform with rich board APIs.`}),K(17,{slug:`airtable`,name:`Airtable`,description:`Bases, records, linked data, and workflow automation.`,categories:[`Database`,`Operations`],availability:`planned`,appUrl:`https://airtable.com`,docsUrl:`https://airtable.com/developers/web/api/oauth-reference`,notes:`Very common internal-tools and operations automation surface.`}),K(18,{slug:`dropbox`,name:`Dropbox`,description:`Cloud files, folders, content access, and sharing.`,categories:[`Storage`,`Documents`],availability:`planned`,appUrl:`https://www.dropbox.com`,docsUrl:`https://developers.dropbox.com/oauth-guide`,notes:`Popular file automation target with mature OAuth support.`}),K(19,{slug:`box`,name:`Box`,description:`Enterprise file storage, metadata, and collaboration.`,categories:[`Storage`,`Enterprise`],availability:`planned`,appUrl:`https://www.box.com`,docsUrl:`https://developer.box.com/guides/authentication/oauth2/`,notes:`Strong enterprise document-management footprint.`}),K(20,{slug:`microsoft-outlook`,name:`Microsoft Outlook`,description:`Mail, calendar, contacts, and meeting workflows through Microsoft Graph.`,categories:[`Email`,`Calendar`],availability:`planned`,appUrl:`https://www.microsoft.com/microsoft-365/outlook/email-and-calendar-software-microsoft-outlook`,docsUrl:`https://learn.microsoft.com/graph/auth-v2-user`,notes:`High-value Microsoft Graph integration surface for enterprise users.`}),K(21,{slug:`microsoft-teams`,name:`Microsoft Teams`,description:`Chats, channels, meetings, and collaboration via Microsoft Graph.`,categories:[`Communication`,`Enterprise`],availability:`planned`,appUrl:`https://www.microsoft.com/microsoft-teams/group-chat-software`,docsUrl:`https://learn.microsoft.com/graph/auth-v2-user`,notes:`Common enterprise chat target alongside Outlook.`}),K(22,{slug:`onedrive`,name:`OneDrive`,description:`Cloud file access and document workflows through Microsoft Graph.`,categories:[`Storage`,`Documents`],availability:`planned`,appUrl:`https://www.microsoft.com/microsoft-365/onedrive/online-cloud-storage`,docsUrl:`https://learn.microsoft.com/graph/auth-v2-user`,notes:`Useful for enterprise file automation and search.`}),K(23,{slug:`sharepoint`,name:`SharePoint`,description:`Sites, document libraries, lists, and intranet content.`,categories:[`Knowledge base`,`Enterprise`],availability:`planned`,appUrl:`https://www.microsoft.com/microsoft-365/sharepoint/collaboration`,docsUrl:`https://learn.microsoft.com/graph/auth-v2-user`,notes:`Frequently requested for enterprise knowledge retrieval.`}),K(24,{slug:`salesforce`,name:`Salesforce`,description:`CRM records, accounts, opportunities, and sales operations.`,categories:[`CRM`,`Sales`],availability:`planned`,appUrl:`https://www.salesforce.com`,docsUrl:`https://help.salesforce.com/s/articleView?id=sf.remoteaccess_oauth_web_server_flow.htm&type=5`,notes:`Very common enterprise CRM and agent-assist target.`}),K(25,{slug:`hubspot`,name:`HubSpot`,description:`CRM, marketing, tickets, and customer lifecycle workflows.`,categories:[`CRM`,`Marketing`],availability:`oauth_ready`,managedConnectorSlug:`hubspot`,appUrl:`https://www.hubspot.com`,docsUrl:`https://developers.hubspot.com/docs/apps/developer-platform/build-apps/integrate-with-the-remote-hubspot-mcp-server`,notes:`Uses HubSpot's official remote MCP server plus MCP auth apps with PKCE.`}),K(26,{slug:`zendesk`,name:`Zendesk`,description:`Support tickets, customers, agents, and help desk operations.`,categories:[`Support`,`Operations`],availability:`planned`,appUrl:`https://www.zendesk.com`,docsUrl:`https://developer.zendesk.com/documentation/apps/getting-started/oauth/`,notes:`Strong support automation use case for agents.`}),K(27,{slug:`intercom`,name:`Intercom`,description:`Customer support, conversations, inboxes, and CRM context.`,categories:[`Support`,`CRM`],availability:`planned`,appUrl:`https://www.intercom.com`,docsUrl:`https://developers.intercom.com/building-apps/docs/authentication-types`,notes:`Useful for customer-facing assistant workflows.`}),K(28,{slug:`stripe`,name:`Stripe`,description:`Payments, customers, invoices, and subscription operations.`,categories:[`Payments`,`Finance`],availability:`planned`,appUrl:`https://stripe.com`,docsUrl:`https://docs.stripe.com/connect/oauth-reference`,notes:`High-value fintech automation target with mature OAuth patterns.`}),K(29,{slug:`shopify`,name:`Shopify`,description:`Storefronts, products, orders, and ecommerce operations.`,categories:[`Ecommerce`,`Operations`],availability:`planned`,appUrl:`https://www.shopify.com`,docsUrl:`https://shopify.dev/docs/apps/build/authentication-authorization/access-tokens/authorization-code-grant`,notes:`A top ecommerce platform and strong MCP candidate.`}),K(30,{slug:`discord`,name:`Discord`,description:`Guilds, channels, messages, and community operations.`,categories:[`Communication`,`Community`],availability:`planned`,appUrl:`https://discord.com`,docsUrl:`https://discord.com/developers/docs/topics/oauth2`,notes:`Useful for community automation and bot-assisted workflows.`}),K(31,{slug:`zoom`,name:`Zoom`,description:`Meetings, recordings, webinars, and scheduling operations.`,categories:[`Meetings`,`Calendar`],availability:`planned`,appUrl:`https://zoom.us`,docsUrl:`https://developers.zoom.us/docs/integrations/oauth/`,notes:`Frequently requested for scheduling and meeting summaries.`}),K(32,{slug:`webflow`,name:`Webflow`,description:`CMS items, sites, and web publishing workflows.`,categories:[`CMS`,`Marketing`],availability:`oauth_ready`,managedConnectorSlug:`webflow`,appUrl:`https://webflow.com`,docsUrl:`https://developers.webflow.com/mcp/reference/getting-started`,notes:`Uses Webflow's official hosted MCP server and deployment-scoped MCP OAuth registration so each user can authorize their own sites and workspaces.`}),K(33,{slug:`miro`,name:`Miro`,description:`Whiteboards, diagrams, notes, and workshop collaboration.`,categories:[`Whiteboard`,`Collaboration`],availability:`planned`,appUrl:`https://miro.com`,docsUrl:`https://developers.miro.com/docs/rest-api-build-your-first-oauth-app`,notes:`Strong visual collaboration target for design and product teams.`}),K(34,{slug:`canva`,name:`Canva`,description:`Design content, brand assets, and marketing collateral workflows.`,categories:[`Design`,`Marketing`],availability:`planned`,appUrl:`https://www.canva.com`,docsUrl:`https://www.canva.dev/docs/connect/oauth/`,notes:`Broad creator and marketing adoption with OAuth-based apps.`}),K(35,{slug:`datadog`,name:`Datadog`,description:`Logs, metrics, monitors, incidents, and observability workflows.`,categories:[`Observability`,`Operations`],availability:`oauth_ready`,managedConnectorSlug:`datadog`,appUrl:`https://www.datadoghq.com`,docsUrl:`https://docs.datadoghq.com/bits_ai/mcp_server/setup/`,notes:`Uses Datadog's official hosted MCP server. The default registration targets the US1 endpoint and can be edited for other Datadog sites.`}),K(36,{slug:`sentry`,name:`Sentry`,description:`Errors, releases, issue ownership, and incident investigation.`,categories:[`Observability`,`Engineering`],availability:`planned`,appUrl:`https://sentry.io`,docsUrl:`https://docs.sentry.io/api/guides/oauth/`,notes:`Natural target for engineering support agents.`}),K(37,{slug:`posthog`,name:`PostHog`,description:`Product analytics, feature flags, and session insights.`,categories:[`Analytics`,`Product`],availability:`planned`,appUrl:`https://posthog.com`,docsUrl:`https://posthog.com/docs/apps/build/oauth`,notes:`Relevant for product analytics and experimentation workflows.`}),K(38,{slug:`supabase`,name:`Supabase`,description:`Projects, databases, auth, and storage administration.`,categories:[`Database`,`Developer tools`],availability:`planned`,appUrl:`https://supabase.com`,docsUrl:`https://supabase.com/docs/guides/integrations/build-a-supabase-oauth-integration`,notes:`Popular developer platform with broad automation value and a documented management-API OAuth integration flow.`}),K(39,{slug:`vercel`,name:`Vercel`,description:`Deployments, projects, domains, and preview environment workflows.`,categories:[`Developer tools`,`Deployment`],availability:`planned`,appUrl:`https://vercel.com`,docsUrl:`https://vercel.com/docs/rest-api#oauth-apps`,notes:`Especially relevant to this repo's deployment model.`}),K(40,{slug:`netlify`,name:`Netlify`,description:`Sites, builds, deploy previews, and web operations.`,categories:[`Deployment`,`Developer tools`],availability:`planned`,appUrl:`https://www.netlify.com`,docsUrl:`https://docs.netlify.com/api/get-started/#oauth-applications`,notes:`Common alternative hosting/deployment automation target.`}),K(41,{slug:`plaid`,name:`Plaid`,description:`Financial account connectivity and transaction data flows.`,categories:[`Finance`,`Payments`],availability:`planned`,appUrl:`https://plaid.com`,docsUrl:`https://plaid.com/docs/auth/oauth/`,notes:`Strong fintech workflow candidate, although much of Plaid's OAuth guidance is a special-case token exchange rather than a generic end-user SaaS OAuth connector.`}),K(42,{slug:`okta`,name:`Okta`,description:`Identity, users, applications, and access administration.`,categories:[`Identity`,`Enterprise`],availability:`planned`,appUrl:`https://www.okta.com`,docsUrl:`https://developer.okta.com/docs/guides/implement-oauth-for-okta/main/`,notes:`High-value admin and security automation surface.`}),K(43,{slug:`servicenow`,name:`ServiceNow`,description:`Tickets, incidents, service catalogs, and enterprise workflows.`,categories:[`ITSM`,`Enterprise`],availability:`planned`,appUrl:`https://www.servicenow.com`,docsUrl:`https://www.servicenow.com/docs/bundle/xanadu-platform-security/page/administer/security/concept/oauth-concept.html`,notes:`Strong enterprise IT operations use case.`}),K(44,{slug:`freshdesk`,name:`Freshdesk`,description:`Support tickets, customer records, and help desk workflows.`,categories:[`Support`,`Operations`],availability:`planned`,appUrl:`https://www.freshworks.com/freshdesk/`,docsUrl:`https://developers.freshdesk.com/api/#authentication`,notes:`Popular support platform for SMB and mid-market teams.`}),K(45,{slug:`pipedrive`,name:`Pipedrive`,description:`Deals, contacts, and sales pipeline management.`,categories:[`CRM`,`Sales`],availability:`planned`,appUrl:`https://www.pipedrive.com`,docsUrl:`https://pipedrive.readme.io/docs/marketplace-oauth-authorization`,notes:`Common CRM choice with solid OAuth story.`}),K(46,{slug:`mailchimp`,name:`Mailchimp`,description:`Campaigns, audiences, automations, and email marketing.`,categories:[`Marketing`,`Email`],availability:`planned`,appUrl:`https://mailchimp.com`,docsUrl:`https://mailchimp.com/developer/marketing/guides/access-user-data-oauth-2/`,notes:`Popular marketing automation target.`}),K(47,{slug:`quickbooks`,name:`QuickBooks`,description:`Accounting, invoices, customers, and financial operations.`,categories:[`Finance`,`Accounting`],availability:`planned`,appUrl:`https://quickbooks.intuit.com`,docsUrl:`https://developer.intuit.com/app/developer/qbo/docs/develop/authentication-and-authorization/oauth-2.0`,notes:`Frequent finance automation request with OAuth-based apps.`}),K(48,{slug:`xero`,name:`Xero`,description:`Accounting, contacts, invoices, and bookkeeping workflows.`,categories:[`Finance`,`Accounting`],availability:`planned`,appUrl:`https://www.xero.com`,docsUrl:`https://developer.xero.com/documentation/guides/oauth2/overview/`,notes:`Important accounting platform in many regions.`}),K(49,{slug:`gitlab`,name:`GitLab`,description:`Repositories, issues, merge requests, pipelines, and DevSecOps.`,categories:[`Engineering`,`Source control`],availability:`planned`,appUrl:`https://about.gitlab.com`,docsUrl:`https://docs.gitlab.com/integration/oauth_provider/`,notes:`Major Git hosting platform and natural expansion beyond GitHub.`}),K(50,{slug:`bitbucket`,name:`Bitbucket`,description:`Repositories, pull requests, and Atlassian engineering workflows.`,categories:[`Engineering`,`Source control`],availability:`planned`,appUrl:`https://bitbucket.org`,docsUrl:`https://developer.atlassian.com/cloud/bitbucket/oauth-2/`,notes:`Popular in Atlassian-centric teams and complements Jira/Confluence.`}),K(51,{slug:`elevenlabs`,name:`ElevenLabs`,description:`Text to speech, voices, transcription, audio generation, and agents.`,categories:[`Audio`,`AI`],authStrategy:`api_key`,availability:`manual_token`,managedConnectorSlug:`elevenlabs`,appUrl:`https://elevenlabs.io`,docsUrl:`https://elevenlabs.io/docs/api-reference/introduction`,notes:`Official API-key connector backed by ElevenLabs' published OpenAPI spec.`}),K(52,{slug:`ordinal`,name:`Ordinal`,description:`Social media posts, profiles, analytics, labels, approvals, and engagements.`,categories:[`Social media`,`Marketing`],authStrategy:`bearer`,availability:`manual_token`,managedConnectorSlug:`ordinal`,appUrl:`https://app.tryordinal.com`,docsUrl:`https://docs.tryordinal.com/api/mcp`,notes:`Official MCP server backed by Ordinal's API with API-key (Bearer) auth.`})],Je=()=>q,Ye=[E,D,O,k,A,j,M,N,P,F,I,L,R,z,B,V,pe,me,he,ge,_e,ve,ye,be,xe,Se,Ce,we,Te,Ee,De,Oe,ke,Ae,je,Me,Ne,Pe,Fe,Ie],Xe=e=>{let t=e?.authStrategy??(e?.authorizationUrl||e?.tokenUrl,`oauth2`);return t===`oauth2`?`oauth`:t===`none`?`none`:`api`},Ze=e=>{let t=e.registrationDefaults;if(!t)return null;let n={id:Xe(t),provider:t.provider??(t.serverUrl?`mcp`:`http`),auth:{strategy:t.authStrategy??e.authStrategy??`oauth2`,authModes:t.authModes,credentialLabel:t.credentialLabel,credentialPlaceholder:t.credentialPlaceholder,credentialHelp:t.credentialHelp,apiKeyHeaderName:t.apiKeyHeaderName,oauth:t.authorizationUrl||t.tokenUrl?{authorizationUrl:t.authorizationUrl,tokenUrl:t.tokenUrl,scopes:t.scopes??[],optionalScopes:t.optionalScopes,toolScopes:t.toolScopes,scopeSeparator:t.scopeSeparator,pkce:t.pkce,clientAuthentication:t.clientAuthentication,registrationUrl:t.registrationUrl,additionalAuthorizationParams:t.additionalAuthorizationParams,additionalTokenParams:t.additionalTokenParams}:void 0}};return n.provider===`mcp`?n.transport={kind:`shttp`,url:t.serverUrl}:n.http={apiBaseUrl:t.apiBaseUrl,openApiUrl:t.openApiUrl,defaultTool:t.toolName?{name:t.toolName,description:t.toolDescription,method:t.requestMethod,path:t.requestPath,scopes:t.toolScopes}:void 0},n},Qe=e=>{let t=Ze(e);return{id:e.slug,kind:t?.provider??`http`,name:e.name,description:e.description,categories:e.categories,appUrl:e.appUrl,docsUrl:e.docsUrl,notes:e.notes,catalogStatus:e.availability,managedConnectorSlug:e.managedConnectorSlug,authStrategy:e.authStrategy,popularityRank:e.popularityRank,registrationDefaults:e.registrationDefaults,...t?{defaultConnectionOptionId:t.id,connectionOptions:[t]}:{connectionOptions:[]}}},$e=(e=[],t=[])=>{let n=new Map;for(let t of e)n.set(t.id,t);for(let e of t)n.has(e.id)||n.set(e.id,e);return[...n.values()]},et=(e,t)=>{let n=$e(e.connectionOptions,t.connectionOptions);return{...e,...t,catalogStatus:e.catalogStatus??t.catalogStatus,managedConnectorSlug:e.managedConnectorSlug??t.managedConnectorSlug,authStrategy:e.authStrategy??t.authStrategy,registrationDefaults:e.registrationDefaults??t.registrationDefaults,connectionOptions:n,defaultConnectionOptionId:e.defaultConnectionOptionId??t.defaultConnectionOptionId??n[0]?.id}},J=new Map;for(let e of Je().map(Qe))J.set(e.id,e);for(let e of Ye)J.set(e.id,J.has(e.id)?et(J.get(e.id),e):e);var tt=[...J.values()].sort((e,t)=>(t.popularityRank??0)-(e.popularityRank??0)||e.name.localeCompare(t.name)),Y=e(t(),1),X=`h-5 w-5`,Z=e=>(0,Y.createElement)(e,{className:X}),Q=e=>(0,Y.createElement)(e,{className:X,strokeWidth:2.25}),nt=Q(i),$={github:Z(re),slack:Z(m),tavily:(0,Y.createElement)(ee,{className:X,strokeWidth:2.5}),linear:Z(ie),notion:Z(s),atlassian:Z(de),sentry:Z(f),stripe:Z(ne),paypal:Z(se),"cloudflare-docs":Z(o),"cloudflare-bindings":Z(o),"cloudflare-observability":Z(o),huggingface:Z(le),deepwiki:Z(h),git:Q(a),"brave-search":Z(c),exa:Q(w),firecrawl:Q(y),apify:Q(i),fetch:Q(b),"browser-mcp":Q(S),playwright:Q(T),supabase:Z(p),neon:Q(v),mongodb:Z(ae),redis:Z(oe),filesystem:Q(r),memory:Q(g),"sequential-thinking":Q(x),time:Q(_),everything:Q(C),figma:Z(l),airtable:Z(u),obsidian:Z(ue),elevenlabs:Z(fe),resend:Z(te),"cloudflare-builds":Z(o),"cloudflare-browser-rendering":Z(o),kagi:Z(d),clickhouse:Z(ce)};new Set(Object.keys($));export{$ as n,tt as r,nt as t};