@openhands/agent-canvas 1.5.2 → 1.6.1
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.
- package/README.md +1 -1
- package/README.windows.md +2 -2
- package/build/assets/{Trans-DqF_OEZB.js → Trans-52HCczKK.js} +1 -1
- package/build/assets/{acp-providers-DerAmTyY.js → acp-providers-xACMK9ZP.js} +1 -1
- package/build/assets/{active-backend-context-DHhm10VS.js → active-backend-context-Cd1qcZsb.js} +1 -1
- package/build/assets/{add-backend-modal-BoMkMyLB.js → add-backend-modal-5chsfln3.js} +1 -1
- package/build/assets/{agent-profiles-settings-CYPloKYK.js → agent-profiles-settings-BWK4H3kR.js} +1 -1
- package/build/assets/agent-server-compatibility-DMY0CihN.js +1 -0
- package/build/assets/agent-server-conversation-service.api-CI5-xmIX.js +41 -0
- package/build/assets/agent-settings-CMd8-O4f.js +2 -0
- package/build/assets/agent-settings-CdrhQJXX.js +1 -0
- package/build/assets/{alert-banner-Dh51WURQ.js → alert-banner-CLfWuIAX.js} +1 -1
- package/build/assets/api-key-entry-screen-Cc3aC7DZ.js +1 -0
- package/build/assets/app-settings-B-DQcBoB.js +1 -0
- package/build/assets/{automation-detail-Bn8q0AG3.js → automation-detail-BgxBIpyK.js} +2 -2
- package/build/assets/automation-export-Dbur8OHa.js +2 -0
- package/build/assets/automations-list-BWfjizlp.js +1 -0
- package/build/assets/{back-nav-button-DVknCcSP.js → back-nav-button-CaKvsD1E.js} +1 -1
- package/build/assets/backend-form-modal-YcfpuBZo.js +1 -0
- package/build/assets/{backend-synced-settings-badge-yVh6Kf4E.js → backend-synced-settings-badge-BellMmgC.js} +1 -1
- package/build/assets/{base-modal-CIF_785P.js → base-modal-Cw7enAHz.js} +1 -1
- package/build/assets/{brand-button-B1izLAdR.js → brand-button-BulEFHr3.js} +1 -1
- package/build/assets/{browser-DKaeq_sT.js → browser-DfVgUREb.js} +2 -2
- package/build/assets/browser-store-CBqI3tNR.js +1 -0
- package/build/assets/{browser-tab-qb_ftCxW.js → browser-tab-CmIKQB7S.js} +1 -1
- package/build/assets/chat-send-button-BchSSwuD.js +1 -0
- package/build/assets/circle-check-BXbQ5nEH.js +1 -0
- package/build/assets/{circle-plus-check-toggle-DoFIjVE0.js → circle-plus-check-toggle-BhpPjkh9.js} +1 -1
- package/build/assets/client-source-DAUgyJsi.js +1 -0
- package/build/assets/cloud-funnel-analytics-B5OeWh4y.js +1 -0
- package/build/assets/{color-themes-CHizm1xF.js → color-themes-QKMSVfDU.js} +1 -1
- package/build/assets/{combobox-caret-CxZpqoSR.js → combobox-caret-kNZtp53R.js} +1 -1
- package/build/assets/{command-menu-oTvKDU3Y.js → command-menu-tUsn23zy.js} +1 -1
- package/build/assets/{command-store-D8J5LMW1.js → command-store-B0hrIWMN.js} +1 -1
- package/build/assets/{condenser-settings-Q1rHh4Qe.js → condenser-settings-BBizzfIH.js} +1 -1
- package/build/assets/{confirmation-modal-DGBWM2Ls.js → confirmation-modal-108xng7X.js} +1 -1
- package/build/assets/{context-menu-list-item-6psNyl7X.js → context-menu-list-item-BbKfFuN1.js} +1 -1
- package/build/assets/conversation-CTzSrLMq.js +1 -0
- package/build/assets/conversation-CgcXNb-Z.js +90 -0
- package/build/assets/conversation-panel-bscjGQda.js +1 -0
- package/build/assets/{conversation-service.api-D8QU-BiL.js → conversation-service.api-DbBvscJA.js} +1 -1
- package/build/assets/conversation-state-store-C5GagZHT.js +1 -0
- package/build/assets/{conversation-store-LptbOvKa.js → conversation-store-CyVqoa0d.js} +1 -1
- package/build/assets/{conversation-tab-empty-state-CNUmIms2.js → conversation-tab-empty-state-2KYlk5Bh.js} +1 -1
- package/build/assets/{copy-to-clipboard-button-CFzH_NOX.js → copy-to-clipboard-button-C54YRPMg.js} +1 -1
- package/build/assets/declaration-_yumYLEx.js +1 -0
- package/build/assets/{device-verify-WBSjJBLH.js → device-verify-D6FW_KZq.js} +1 -1
- package/build/assets/{dropdown-classes-D3wMJlXT.js → dropdown-classes-9uONlOg1.js} +1 -1
- package/build/assets/{ellipsis-button-CbNnHlIq.js → ellipsis-button-CoaUrKmQ.js} +1 -1
- package/build/assets/{entry.client-Dnnak-Hq.js → entry.client-BJSVzw7V.js} +2 -2
- package/build/assets/{enum-filter-dropdown-JLYv1t8L.js → enum-filter-dropdown-qQzyjk_q.js} +1 -1
- package/build/assets/{environment-switch-overlay-B1PFO8P8.js → environment-switch-overlay-XRWCClLu.js} +1 -1
- package/build/assets/extensions-hub-DUp9sWQY.js +1 -0
- package/build/assets/extensions-navigation-DmkftjAx.js +1 -0
- package/build/assets/file-tUAzhmJ3.js +1 -0
- package/build/assets/files-tab-GV5hwiIM.js +1 -0
- package/build/assets/files-tab-store-DehyITNC.js +1 -0
- package/build/assets/{form-control-classes-CbdN5aO3.js → form-control-classes-BPUnoYyg.js} +1 -1
- package/build/assets/git-provider-icon-DDkru3b_.js +1 -0
- package/build/assets/highlighted-source-view-CYkPZUxr.js +1 -0
- package/build/assets/home-C53WekZ2.js +1 -0
- package/build/assets/home-EAwq8ah2.js +1 -0
- package/build/assets/index-home-kBdZGKtu.js +1 -0
- package/build/assets/install-server-modal-DYk4VP3-.js +1 -0
- package/build/assets/{launch-DlXspDku.js → launch-CIecOy_y.js} +1 -1
- package/build/assets/lesson-plan-BSEUwflx.js +4 -0
- package/build/assets/llm-not-configured-banner-C8uv1PHT.js +27 -0
- package/build/assets/llm-settings-0Bb97NCk.js +1 -0
- package/build/assets/llm-settings-D4toJ90k.js +1 -0
- package/build/assets/{llm-subscription-service-C0zN0-rH.js → llm-subscription-service-BPRw3u3H.js} +1 -1
- package/build/assets/{loading-spinner-BcdnT0mN.js → loading-spinner-BCInDEXB.js} +1 -1
- package/build/assets/manage-backends-modal-Bon32JYr.js +1 -0
- package/build/assets/manifest-ec000ae3.js +1 -0
- package/build/assets/markdown-renderer-BlaJOAI2.js +2 -0
- package/build/assets/mcp-CFIpOkn2.js +9 -0
- package/build/assets/messages-eRPeR4pW.js +40 -0
- package/build/assets/{modal-body-Cc2zp0xb.js → modal-body-Bg9UCeoV.js} +1 -1
- package/build/assets/{modal-classes-3qT9Ap7Q.js → modal-classes-H1KbJkeC.js} +1 -1
- package/build/assets/{modal-close-button-BcIBUdSq.js → modal-close-button-BMLYvo0C.js} +1 -1
- package/build/assets/{model-selector-D51W2Q9b.js → model-selector-BqX2RvEr.js} +1 -1
- package/build/assets/{navigation-link-D8hfwvxI.js → navigation-link-DoJzTCEz.js} +1 -1
- package/build/assets/onboarding-3KO4qE6R.js +1 -0
- package/build/assets/onboarding-modal-D4vqkJeT.js +1 -0
- package/build/assets/{organization-service.api-Da2jiuBS.js → organization-service.api-CvfQugOt.js} +1 -1
- package/build/assets/{path-utils-D53ZHUQU.js → path-utils-DRgexxnX.js} +1 -1
- package/build/assets/{plan-components-BdZXPyZU.js → plan-components-qkMiGs_-.js} +1 -1
- package/build/assets/{planner-tab-BM-pKx0z.js → planner-tab-ZrjiirRr.js} +1 -1
- package/build/assets/{plugins-management-service-DISfOL13.js → plugins-management-service-9qT-r_37.js} +1 -1
- package/build/assets/plus-CzE1b-wl.js +1 -0
- package/build/assets/{profiles-service.api-DWetW2TL.js → profiles-service.api-CRVlrQpT.js} +1 -1
- package/build/assets/{providers-C7lMslCi.js → providers-C2DFGBrf.js} +1 -1
- package/build/assets/{proxy-G4ce0fnQ.js → proxy-DnnDqkwn.js} +1 -1
- package/build/assets/puzzle-IHQnD54C.js +1 -0
- package/build/assets/recommended-automations-launcher-B97vgHuN.js +58 -0
- package/build/assets/refresh-cw-DxbAs3SK.js +1 -0
- package/build/assets/root-BbONavTg.css +1 -0
- package/build/assets/root-D01rpqZU.js +2 -0
- package/build/assets/root-layout-BiHbCIkS.js +2 -0
- package/build/assets/{runtime-waiting-state-CnyVhX4T.js → runtime-waiting-state-CbUV9txX.js} +1 -1
- package/build/assets/{schema-field-CwdqUOnE.js → schema-field-B9-9Ta9u.js} +1 -1
- package/build/assets/sdk-section-page-DG1s25Pr.js +1 -0
- package/build/assets/{sdk-settings-schema-CLR01YIK.js → sdk-settings-schema-B42JFr5Y.js} +1 -1
- package/build/assets/{secrets-service-Ch7RH8eH.js → secrets-service-DvyS6-mV.js} +1 -1
- package/build/assets/secrets-settings-CeSq6cQw.js +1 -0
- package/build/assets/{segmented-toggle-kzwZkLaj.js → segmented-toggle-DRVJBNy0.js} +1 -1
- package/build/assets/settings-Dzo0dJKM.js +1 -0
- package/build/assets/{settings-mQUckT0g.js → settings-HcwfqMjJ.js} +1 -1
- package/build/assets/{settings-dropdown-input-Dhx9ErGd.js → settings-dropdown-input-B6RL_mt0.js} +1 -1
- package/build/assets/settings-index-uAKHyijw.js +1 -0
- package/build/assets/{settings-input-BsgQWS5R.js → settings-input-ZoaAPNQh.js} +1 -1
- package/build/assets/{settings-list-classes-DSJJX99U.js → settings-list-classes-Dr8LgITi.js} +1 -1
- package/build/assets/settings-modal-BVX2G_IT.js +1 -0
- package/build/assets/{settings-service.api-DPTFyRXL.js → settings-service.api-BY7ncxIz.js} +1 -1
- package/build/assets/{settings-switch-Bes8dIlV.js → settings-switch-DUlGnP0B.js} +1 -1
- package/build/assets/{settings-utils-DzCVfiR3.js → settings-utils-kWEEvcdv.js} +1 -1
- package/build/assets/shared-conversation-CV4Rtdz2.js +1 -0
- package/build/assets/{sidebar-layout-Bm7pa3Vk.js → sidebar-layout-BhGooCga.js} +1 -1
- package/build/assets/sidebar-mobile-menu-toggle-BntOJphE.js +1 -0
- package/build/assets/{sidebar-nav-link-CHqyFXwV.js → sidebar-nav-link-DkA1XWV8.js} +1 -1
- package/build/assets/{sidebar-store-uiUXBU1N.js → sidebar-store-CF3b12-m.js} +1 -1
- package/build/assets/{skill-card-pill-row-BPYKQ3IN.js → skill-card-pill-row-_gWe1Tws.js} +1 -1
- package/build/assets/skill-icon-badge-C-zbaXbD.js +1 -0
- package/build/assets/skills-plugins-BwoXKtrR.js +1 -0
- package/build/assets/skills-settings-Crq-fZSt.js +2 -0
- package/build/assets/{styled-tooltip-B14i_Uac.js → styled-tooltip-CdnCJ67u.js} +1 -1
- package/build/assets/syntax-highlighter-CZK2ab-O.js +1 -0
- package/build/assets/{task-list-tab-DyfgG4MC.js → task-list-tab-CONOO9iI.js} +1 -1
- package/build/assets/telemetry-CC32dJYW.js +2 -0
- package/build/assets/{terminal-BDTa1HEr.js → terminal-CTkDpIU-.js} +1 -1
- package/build/assets/{toggle-switch-DX_k418f.js → toggle-switch-yVIzmJLM.js} +1 -1
- package/build/assets/{typography-CzfoD9DY.js → typography-BBVEW0un.js} +1 -1
- package/build/assets/{use-acp-credential-form-DHd_Id-q.js → use-acp-credential-form-CIsp8hJe.js} +1 -1
- package/build/assets/use-activate-agent-profile-BfcTTJJG.js +1 -0
- package/build/assets/{use-active-agent-profile-BMDTXsay.js → use-active-agent-profile-CCeFtmk9.js} +1 -1
- package/build/assets/{use-active-conversation-BbeVgedA.js → use-active-conversation-Badxj8w4.js} +1 -1
- package/build/assets/{use-agent-profiles-Dn_S_Tkz.js → use-agent-profiles-BSWVN6hH.js} +1 -1
- package/build/assets/{use-agent-state-5qM3X30V.js → use-agent-state-BzRrhoPd.js} +1 -1
- package/build/assets/use-backends-health-BsZikyFW.js +1 -0
- package/build/assets/{use-can-manage-org-profiles-CyYqfzeo.js → use-can-manage-org-profiles-Do6mYf6P.js} +1 -1
- package/build/assets/{use-cloud-current-user-id-BwMX7jHW.js → use-cloud-current-user-id-Cx3B_0-w.js} +1 -1
- package/build/assets/use-config-D9zUVw5b.js +1 -0
- package/build/assets/{use-create-conversation-CkKUQVbP.js → use-create-conversation-vvl0kvu7.js} +1 -1
- package/build/assets/{use-create-secret-DEgM0MXZ.js → use-create-secret-CB7Dvd4s.js} +1 -1
- package/build/assets/use-event-store-BlpSUF7N.js +4 -0
- package/build/assets/{use-handle-plan-click-BFcE0Xms.js → use-handle-plan-click-DDZkew9p.js} +1 -1
- package/build/assets/use-is-creating-conversation-fxSzN778.js +1 -0
- package/build/assets/{use-launch-skill-in-chat-DJWEfVc5.js → use-launch-skill-in-chat-D6_n1fs3.js} +1 -1
- package/build/assets/use-llm-profiles-CNQm7HYS.js +1 -0
- package/build/assets/use-plugins-marketplace-CloojomS.js +1 -0
- package/build/assets/use-runtime-is-ready-Bx_4cfar.js +1 -0
- package/build/assets/{use-save-agent-profile-i4FcEP98.js → use-save-agent-profile-Bj7N-1jS.js} +1 -1
- package/build/assets/{use-save-settings-DiDEbIJw.js → use-save-settings-BMsb2wk_.js} +1 -1
- package/build/assets/use-settings-B9XEmh7i.js +1 -0
- package/build/assets/use-settings-nav-items-BGfBS0yL.js +16 -0
- package/build/assets/{use-skills-Blpg2BqE.js → use-skills-CSRbvPle.js} +1 -1
- package/build/assets/{use-task-list-CfisapBW.js → use-task-list-CTIVLrQA.js} +1 -1
- package/build/assets/use-tracking-DjdCssvp.js +1 -0
- package/build/assets/{use-user-conversation-BrN2xeQU.js → use-user-conversation-BCpFn-Ei.js} +1 -1
- package/build/assets/{useTranslation-Cbf5AGg_.js → useTranslation-CHm_6BRr.js} +1 -1
- package/build/assets/{utils-DB9LsAzA.js → utils-CrRpzbM2.js} +1 -1
- package/build/assets/vendor-markdown-DzO4uO_0.js +37 -0
- package/build/assets/{vendor~browser-wXQ-WZEC.js → vendor~browser-Byfuq5J-.js} +1 -1
- package/build/assets/{vendor~browser-tab-CsMb-pta.js → vendor~browser-tab-BLk3qxhw.js} +1 -1
- package/build/assets/{vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dhilvkxv-eGLBu60s.js → vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dhilvkxv-DTJ_cjR5.js} +2 -2
- package/build/assets/{vendor~files-tab-B-5fBohe.js → vendor~files-tab-XmnauIZI.js} +1 -1
- package/build/assets/{vendor~launch-_Km3J77E.js → vendor~launch-DeC8QhXQ.js} +1 -1
- package/build/assets/{vendor~root-layout~conversation-panel~conversation~shared-conversation-BrguKXCn.js → vendor~root-layout~conversation-panel~conversation~shared-conversation-DDmLzCzm.js} +1 -1
- package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation-YrfJYTQw.js +1 -0
- package/build/assets/{vendor~root-layout~index-home~home~conversation-panel~conversation~launch~skills-settings~a~j2jlu22h-mC0v44WR.js → vendor~root-layout~index-home~home~conversation-panel~conversation~launch~skills-settings~a~j2jlu22h-DoaS51iW.js} +123 -3
- package/build/assets/{vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation~aler~gfu7qdtz-BOKQkbc6.js → vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation~aler~gfu7qdtz-DEYwoy8u.js} +1 -1
- package/build/assets/vendor~root-layout~index-home~home~mcp~automations-list~onboarding-modal-DZHLw5Sr.js +1 -0
- package/build/assets/{vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~ftka0fnu-cFNmfAE6.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~ftka0fnu-UJ4BNDJP.js} +1 -1
- package/build/assets/{verification-settings-C8KzAdAX.js → verification-settings-uwOfc16F.js} +1 -1
- package/build/index.html +4 -4
- package/build/locales/ar/openhands.json +38 -4
- package/build/locales/ca/openhands.json +38 -4
- package/build/locales/de/openhands.json +38 -4
- package/build/locales/en/openhands.json +38 -4
- package/build/locales/es/openhands.json +38 -4
- package/build/locales/fr/openhands.json +38 -4
- package/build/locales/it/openhands.json +38 -4
- package/build/locales/ja/openhands.json +38 -4
- package/build/locales/ko-KR/openhands.json +38 -4
- package/build/locales/no/openhands.json +38 -4
- package/build/locales/pt/openhands.json +38 -4
- package/build/locales/tr/openhands.json +38 -4
- package/build/locales/uk/openhands.json +38 -4
- package/build/locales/zh-CN/openhands.json +38 -4
- package/build/locales/zh-TW/openhands.json +38 -4
- package/config/defaults.json +7 -3
- package/dist/api/agent-canvas-updates.cjs +2 -0
- package/dist/api/agent-canvas-updates.cjs.map +1 -0
- package/dist/api/agent-canvas-updates.d.ts +7 -0
- package/dist/api/agent-canvas-updates.js +19 -0
- package/dist/api/agent-canvas-updates.js.map +1 -0
- package/dist/api/agent-server-adapter.cjs +1 -1
- package/dist/api/agent-server-adapter.cjs.map +1 -1
- package/dist/api/agent-server-adapter.d.ts +3 -0
- package/dist/api/agent-server-adapter.js +1 -0
- package/dist/api/agent-server-adapter.js.map +1 -1
- package/dist/api/agent-server-compatibility.cjs +1 -1
- package/dist/api/agent-server-compatibility.cjs.map +1 -1
- package/dist/api/agent-server-compatibility.d.ts +5 -0
- package/dist/api/agent-server-compatibility.js +24 -15
- package/dist/api/agent-server-compatibility.js.map +1 -1
- package/dist/api/agent-server-config.cjs +1 -1
- package/dist/api/agent-server-config.cjs.map +1 -1
- package/dist/api/agent-server-config.js +11 -8
- package/dist/api/agent-server-config.js.map +1 -1
- package/dist/api/automation-service/automation-service.api.cjs +2 -0
- package/dist/api/automation-service/automation-service.api.cjs.map +1 -0
- package/dist/api/automation-service/automation-service.api.d.ts +3 -0
- package/dist/api/automation-service/automation-service.api.js +283 -0
- package/dist/api/automation-service/automation-service.api.js.map +1 -0
- package/dist/api/client-source.cjs +1 -1
- package/dist/api/client-source.cjs.map +1 -1
- package/dist/api/client-source.d.ts +3 -0
- package/dist/api/client-source.js +4 -4
- package/dist/api/client-source.js.map +1 -1
- package/dist/api/cloud/settings-service.api.cjs.map +1 -1
- package/dist/api/cloud/settings-service.api.js.map +1 -1
- package/dist/api/conversation-service/agent-server-conversation-service.api.cjs +1 -1
- package/dist/api/conversation-service/agent-server-conversation-service.api.cjs.map +1 -1
- package/dist/api/conversation-service/agent-server-conversation-service.api.js +111 -109
- package/dist/api/conversation-service/agent-server-conversation-service.api.js.map +1 -1
- package/dist/api/mcp-health/mcp-health-store.cjs +2 -0
- package/dist/api/mcp-health/mcp-health-store.cjs.map +1 -0
- package/dist/api/mcp-health/mcp-health-store.d.ts +22 -0
- package/dist/api/mcp-health/mcp-health-store.js +45 -0
- package/dist/api/mcp-health/mcp-health-store.js.map +1 -0
- package/dist/api/mcp-health/probe-mcp-server-health.cjs +2 -0
- package/dist/api/mcp-health/probe-mcp-server-health.cjs.map +1 -0
- package/dist/api/mcp-health/probe-mcp-server-health.d.ts +31 -0
- package/dist/api/mcp-health/probe-mcp-server-health.js +57 -0
- package/dist/api/mcp-health/probe-mcp-server-health.js.map +1 -0
- package/dist/api/mcp-service/mcp-service.api.cjs +1 -1
- package/dist/api/mcp-service/mcp-service.api.cjs.map +1 -1
- package/dist/api/mcp-service/mcp-service.api.js +66 -46
- package/dist/api/mcp-service/mcp-service.api.js.map +1 -1
- package/dist/api/plugins-management-service.cjs.map +1 -1
- package/dist/api/plugins-management-service.d.ts +6 -1
- package/dist/api/plugins-management-service.js.map +1 -1
- package/dist/api/plugins-service.d.ts +30 -2
- package/dist/api/secrets-service.cjs +1 -1
- package/dist/api/secrets-service.cjs.map +1 -1
- package/dist/api/secrets-service.d.ts +6 -6
- package/dist/api/secrets-service.js +8 -3
- package/dist/api/secrets-service.js.map +1 -1
- package/dist/api/settings-service/settings-service.api.cjs +1 -1
- package/dist/api/settings-service/settings-service.api.cjs.map +1 -1
- package/dist/api/settings-service/settings-service.api.d.ts +1 -1
- package/dist/api/settings-service/settings-service.api.js +1 -0
- package/dist/api/settings-service/settings-service.api.js.map +1 -1
- package/dist/components/conversation-events/chat/event-message-components/critic-result-display.cjs +1 -1
- package/dist/components/conversation-events/chat/event-message-components/critic-result-display.js +5 -5
- package/dist/components/features/backends/backend-form-modal.cjs +1 -1
- package/dist/components/features/backends/backend-form-modal.cjs.map +1 -1
- package/dist/components/features/backends/backend-form-modal.d.ts +4 -1
- package/dist/components/features/backends/backend-form-modal.js +15 -16
- package/dist/components/features/backends/backend-form-modal.js.map +1 -1
- package/dist/components/features/backends/backend-selector.cjs +1 -1
- package/dist/components/features/backends/backend-selector.cjs.map +1 -1
- package/dist/components/features/backends/backend-selector.js +103 -102
- package/dist/components/features/backends/backend-selector.js.map +1 -1
- package/dist/components/features/backends/manage-backends-modal.cjs +1 -1
- package/dist/components/features/backends/manage-backends-modal.cjs.map +1 -1
- package/dist/components/features/backends/manage-backends-modal.js +85 -73
- package/dist/components/features/backends/manage-backends-modal.js.map +1 -1
- package/dist/components/features/chat/chat-interface.cjs +2 -2
- package/dist/components/features/chat/chat-interface.cjs.map +1 -1
- package/dist/components/features/chat/chat-interface.js +131 -129
- package/dist/components/features/chat/chat-interface.js.map +1 -1
- package/dist/components/features/chat/confirmation-mode-enabled.cjs +1 -1
- package/dist/components/features/chat/confirmation-mode-enabled.js +4 -4
- package/dist/components/features/chat/skill-install-restart-banner.cjs +2 -0
- package/dist/components/features/chat/skill-install-restart-banner.cjs.map +1 -0
- package/dist/components/features/chat/skill-install-restart-banner.d.ts +11 -0
- package/dist/components/features/chat/skill-install-restart-banner.js +63 -0
- package/dist/components/features/chat/skill-install-restart-banner.js.map +1 -0
- package/dist/components/features/conversation/right-panel-toggle.cjs +1 -1
- package/dist/components/features/conversation/right-panel-toggle.cjs.map +1 -1
- package/dist/components/features/conversation/right-panel-toggle.js +1 -1
- package/dist/components/features/conversation/right-panel-toggle.js.map +1 -1
- package/dist/components/features/conversation-panel/conversation-panel.cjs +1 -1
- package/dist/components/features/conversation-panel/conversation-panel.js +10 -10
- package/dist/components/features/mcp-page/custom-server-editor.cjs +1 -1
- package/dist/components/features/mcp-page/custom-server-editor.cjs.map +1 -1
- package/dist/components/features/mcp-page/custom-server-editor.js +78 -77
- package/dist/components/features/mcp-page/custom-server-editor.js.map +1 -1
- package/dist/components/features/mcp-page/install-server-modal.cjs +1 -1
- package/dist/components/features/mcp-page/install-server-modal.cjs.map +1 -1
- package/dist/components/features/mcp-page/install-server-modal.d.ts +4 -1
- package/dist/components/features/mcp-page/install-server-modal.js +135 -136
- package/dist/components/features/mcp-page/install-server-modal.js.map +1 -1
- package/dist/components/features/mcp-page/installed-server-card.cjs +1 -1
- package/dist/components/features/mcp-page/installed-server-card.cjs.map +1 -1
- package/dist/components/features/mcp-page/installed-server-card.js +40 -34
- package/dist/components/features/mcp-page/installed-server-card.js.map +1 -1
- package/dist/components/features/mcp-page/mcp-server-health.cjs +2 -0
- package/dist/components/features/mcp-page/mcp-server-health.cjs.map +1 -0
- package/dist/components/features/mcp-page/mcp-server-health.d.ts +18 -0
- package/dist/components/features/mcp-page/mcp-server-health.js +117 -0
- package/dist/components/features/mcp-page/mcp-server-health.js.map +1 -0
- package/dist/components/features/plugins/build-plugins-view-model.d.ts +10 -1
- package/dist/components/features/plugins/plugin-files-section.d.ts +13 -0
- package/dist/components/features/settings/agent-canvas-update-card.cjs +2 -0
- package/dist/components/features/settings/agent-canvas-update-card.cjs.map +1 -0
- package/dist/components/features/settings/agent-canvas-update-card.d.ts +7 -0
- package/dist/components/features/settings/agent-canvas-update-card.js +170 -0
- package/dist/components/features/settings/agent-canvas-update-card.js.map +1 -0
- package/dist/components/features/settings/integrations-settings-link.cjs +2 -0
- package/dist/components/features/settings/integrations-settings-link.cjs.map +1 -0
- package/dist/components/features/settings/integrations-settings-link.d.ts +5 -0
- package/dist/components/features/settings/integrations-settings-link.js +41 -0
- package/dist/components/features/settings/integrations-settings-link.js.map +1 -0
- package/dist/components/features/settings/llm-profiles/llm-settings-local-view.cjs +1 -1
- package/dist/components/features/settings/llm-profiles/llm-settings-local-view.js +1 -1
- package/dist/components/features/settings/settings-desktop-sidebar.cjs +1 -1
- package/dist/components/features/settings/settings-desktop-sidebar.cjs.map +1 -1
- package/dist/components/features/settings/settings-desktop-sidebar.js +31 -21
- package/dist/components/features/settings/settings-desktop-sidebar.js.map +1 -1
- package/dist/components/features/settings/settings-mobile-drawer.cjs +1 -1
- package/dist/components/features/settings/settings-mobile-drawer.cjs.map +1 -1
- package/dist/components/features/settings/settings-mobile-drawer.js +40 -30
- package/dist/components/features/settings/settings-mobile-drawer.js.map +1 -1
- package/dist/components/features/skills/extensions-navigation.cjs +1 -1
- package/dist/components/features/skills/extensions-navigation.cjs.map +1 -1
- package/dist/components/features/skills/extensions-navigation.js +54 -33
- package/dist/components/features/skills/extensions-navigation.js.map +1 -1
- package/dist/config/defaults.cjs +1 -1
- package/dist/config/defaults.cjs.map +1 -1
- package/dist/config/defaults.js +7 -3
- package/dist/config/defaults.js.map +1 -1
- package/dist/constants/acp-providers.cjs.map +1 -1
- package/dist/constants/acp-providers.js.map +1 -1
- package/dist/contexts/conversation-websocket-context.cjs +2 -2
- package/dist/contexts/conversation-websocket-context.cjs.map +1 -1
- package/dist/contexts/conversation-websocket-context.js +169 -166
- package/dist/contexts/conversation-websocket-context.js.map +1 -1
- package/dist/hooks/mutation/use-delete-llm-profile.cjs +1 -1
- package/dist/hooks/mutation/use-delete-llm-profile.js +1 -0
- package/dist/hooks/mutation/use-delete-mcp-server.cjs +1 -1
- package/dist/hooks/mutation/use-delete-mcp-server.cjs.map +1 -1
- package/dist/hooks/mutation/use-delete-mcp-server.js +8 -6
- package/dist/hooks/mutation/use-delete-mcp-server.js.map +1 -1
- package/dist/hooks/mutation/use-rename-llm-profile.cjs +1 -1
- package/dist/hooks/mutation/use-rename-llm-profile.js +1 -0
- package/dist/hooks/mutation/use-save-settings.cjs +1 -1
- package/dist/hooks/mutation/use-save-settings.js +3 -3
- package/dist/hooks/mutation/use-update-mcp-server.cjs +1 -1
- package/dist/hooks/mutation/use-update-mcp-server.cjs.map +1 -1
- package/dist/hooks/mutation/use-update-mcp-server.js +11 -9
- package/dist/hooks/mutation/use-update-mcp-server.js.map +1 -1
- package/dist/hooks/query/query-keys.cjs +1 -1
- package/dist/hooks/query/query-keys.cjs.map +1 -1
- package/dist/hooks/query/query-keys.d.ts +4 -0
- package/dist/hooks/query/query-keys.js +2 -2
- package/dist/hooks/query/query-keys.js.map +1 -1
- package/dist/hooks/query/use-automation-sdk-version.cjs +2 -0
- package/dist/hooks/query/use-automation-sdk-version.cjs.map +1 -0
- package/dist/hooks/query/use-automation-sdk-version.d.ts +3 -0
- package/dist/hooks/query/use-automation-sdk-version.js +63 -0
- package/dist/hooks/query/use-automation-sdk-version.js.map +1 -0
- package/dist/hooks/query/use-latest-agent-canvas-version.cjs +2 -0
- package/dist/hooks/query/use-latest-agent-canvas-version.cjs.map +1 -0
- package/dist/hooks/query/use-latest-agent-canvas-version.d.ts +10 -0
- package/dist/hooks/query/use-latest-agent-canvas-version.js +19 -0
- package/dist/hooks/query/use-latest-agent-canvas-version.js.map +1 -0
- package/dist/hooks/query/use-plugin-file-content.d.ts +7 -0
- package/dist/hooks/query/use-resolved-workspaces.cjs +1 -1
- package/dist/hooks/query/use-resolved-workspaces.cjs.map +1 -1
- package/dist/hooks/query/use-resolved-workspaces.js +25 -26
- package/dist/hooks/query/use-resolved-workspaces.js.map +1 -1
- package/dist/hooks/query/use-search-subdirs.cjs +1 -1
- package/dist/hooks/query/use-search-subdirs.cjs.map +1 -1
- package/dist/hooks/query/use-search-subdirs.d.ts +5 -0
- package/dist/hooks/query/use-search-subdirs.js +16 -4
- package/dist/hooks/query/use-search-subdirs.js.map +1 -1
- package/dist/hooks/use-device-flow.cjs +1 -1
- package/dist/hooks/use-device-flow.js +6 -6
- package/dist/hooks/use-llm-configured.cjs +1 -1
- package/dist/hooks/use-llm-configured.js +3 -3
- package/dist/hooks/use-mcp-server-health.cjs +2 -0
- package/dist/hooks/use-mcp-server-health.cjs.map +1 -0
- package/dist/hooks/use-mcp-server-health.d.ts +11 -0
- package/dist/hooks/use-mcp-server-health.js +18 -0
- package/dist/hooks/use-mcp-server-health.js.map +1 -0
- package/dist/hooks/use-skill-installs.cjs +2 -0
- package/dist/hooks/use-skill-installs.cjs.map +1 -0
- package/dist/hooks/use-skill-installs.d.ts +10 -0
- package/dist/hooks/use-skill-installs.js +21 -0
- package/dist/hooks/use-skill-installs.js.map +1 -0
- package/dist/hooks/use-tracking.cjs +1 -1
- package/dist/hooks/use-tracking.cjs.map +1 -1
- package/dist/hooks/use-tracking.d.ts +3 -3
- package/dist/hooks/use-tracking.js +67 -52
- package/dist/hooks/use-tracking.js.map +1 -1
- package/dist/i18n/declaration.cjs +1 -1
- package/dist/i18n/declaration.cjs.map +1 -1
- package/dist/i18n/declaration.d.ts +35 -1
- package/dist/i18n/declaration.js +1 -1
- package/dist/i18n/declaration.js.map +1 -1
- package/dist/i18n/translation.cjs +3 -3
- package/dist/i18n/translation.cjs.map +1 -1
- package/dist/i18n/translation.js +623 -45
- package/dist/i18n/translation.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -2
- package/dist/lib/index.cjs +1 -1
- package/dist/lib/index.d.ts +0 -1
- package/dist/lib/index.js +0 -1
- package/dist/locales/ar/openhands.json +38 -4
- package/dist/locales/ca/openhands.json +38 -4
- package/dist/locales/de/openhands.json +38 -4
- package/dist/locales/en/openhands.json +38 -4
- package/dist/locales/es/openhands.json +38 -4
- package/dist/locales/fr/openhands.json +38 -4
- package/dist/locales/it/openhands.json +38 -4
- package/dist/locales/ja/openhands.json +38 -4
- package/dist/locales/ko-KR/openhands.json +38 -4
- package/dist/locales/no/openhands.json +38 -4
- package/dist/locales/pt/openhands.json +38 -4
- package/dist/locales/tr/openhands.json +38 -4
- package/dist/locales/uk/openhands.json +38 -4
- package/dist/locales/zh-CN/openhands.json +38 -4
- package/dist/locales/zh-TW/openhands.json +38 -4
- package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian-rovo.cjs +2 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian-rovo.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian-rovo.js +44 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian-rovo.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian.js +13 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/github.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/github.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/github.js +21 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/github.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/linear.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/linear.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/linear.js +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/linear.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-outlook.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-outlook.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-outlook.js +13 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-outlook.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-teams.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-teams.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-teams.js +13 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-teams.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.js +13 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/onedrive.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/onedrive.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/onedrive.js +13 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/onedrive.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/sharepoint.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/sharepoint.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/sharepoint.js +13 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/sharepoint.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/slack.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/slack.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/slack.js +16 -2
- package/dist/node_modules/@openhands/extensions/integrations/catalog/slack.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/vanta.cjs +2 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/vanta.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/vanta.js +46 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/vanta.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog-index.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog-index.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog-index.js +74 -70
- package/dist/node_modules/@openhands/extensions/integrations/catalog-index.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/skills/index.cjs +123 -3
- package/dist/node_modules/@openhands/extensions/skills/index.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/skills/index.js +7 -1
- package/dist/node_modules/@openhands/extensions/skills/index.js.map +1 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.js +9 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/info.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/info.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/info.js +21 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/info.js.map +1 -0
- package/dist/package.cjs +1 -1
- package/dist/package.cjs.map +1 -1
- package/dist/package.js +10 -3
- package/dist/package.js.map +1 -1
- package/dist/routes/app-settings.cjs +1 -1
- package/dist/routes/app-settings.cjs.map +1 -1
- package/dist/routes/app-settings.js +113 -67
- package/dist/routes/app-settings.js.map +1 -1
- package/dist/routes/mcp.cjs +1 -1
- package/dist/routes/mcp.cjs.map +1 -1
- package/dist/routes/mcp.js +1 -0
- package/dist/routes/mcp.js.map +1 -1
- package/dist/services/cloud-funnel-analytics.cjs +1 -1
- package/dist/services/cloud-funnel-analytics.cjs.map +1 -1
- package/dist/services/cloud-funnel-analytics.d.ts +2 -2
- package/dist/services/cloud-funnel-analytics.js +18 -16
- package/dist/services/cloud-funnel-analytics.js.map +1 -1
- package/dist/services/settings.cjs +1 -1
- package/dist/services/settings.cjs.map +1 -1
- package/dist/services/settings.js +1 -0
- package/dist/services/settings.js.map +1 -1
- package/dist/services/telemetry-context.cjs +2 -0
- package/dist/services/telemetry-context.cjs.map +1 -0
- package/dist/services/telemetry-context.d.ts +17 -0
- package/dist/services/telemetry-context.js +27 -0
- package/dist/services/telemetry-context.js.map +1 -0
- package/dist/services/telemetry.cjs +1 -1
- package/dist/services/telemetry.cjs.map +1 -1
- package/dist/services/telemetry.d.ts +7 -5
- package/dist/services/telemetry.js +132 -123
- package/dist/services/telemetry.js.map +1 -1
- package/dist/stores/skill-install-banner-store.cjs +2 -0
- package/dist/stores/skill-install-banner-store.cjs.map +1 -0
- package/dist/stores/skill-install-banner-store.d.ts +32 -0
- package/dist/stores/skill-install-banner-store.js +14 -0
- package/dist/stores/skill-install-banner-store.js.map +1 -0
- package/dist/stores/use-event-store.cjs +1 -1
- package/dist/stores/use-event-store.cjs.map +1 -1
- package/dist/stores/use-event-store.js +35 -35
- package/dist/stores/use-event-store.js.map +1 -1
- package/dist/types/mcp-health.cjs +2 -0
- package/dist/types/mcp-health.cjs.map +1 -0
- package/dist/types/mcp-health.d.ts +21 -0
- package/dist/types/mcp-health.js +6 -0
- package/dist/types/mcp-health.js.map +1 -0
- package/dist/types/settings.d.ts +1 -0
- package/dist/utils/handle-event-for-ui.cjs +1 -1
- package/dist/utils/handle-event-for-ui.cjs.map +1 -1
- package/dist/utils/handle-event-for-ui.d.ts +5 -0
- package/dist/utils/handle-event-for-ui.js +71 -57
- package/dist/utils/handle-event-for-ui.js.map +1 -1
- package/dist/utils/mcp-credential-validation.cjs +1 -1
- package/dist/utils/mcp-credential-validation.cjs.map +1 -1
- package/dist/utils/mcp-credential-validation.js +32 -16
- package/dist/utils/mcp-credential-validation.js.map +1 -1
- package/dist/utils/mcp-server-health-key.cjs +2 -0
- package/dist/utils/mcp-server-health-key.cjs.map +1 -0
- package/dist/utils/mcp-server-health-key.d.ts +16 -0
- package/dist/utils/mcp-server-health-key.js +23 -0
- package/dist/utils/mcp-server-health-key.js.map +1 -0
- package/dist/utils/mcp-test-error-message.cjs +2 -0
- package/dist/utils/mcp-test-error-message.cjs.map +1 -0
- package/dist/utils/mcp-test-error-message.d.ts +8 -0
- package/dist/utils/mcp-test-error-message.js +14 -0
- package/dist/utils/mcp-test-error-message.js.map +1 -0
- package/dist/utils/redact-mcp-secrets.cjs +2 -0
- package/dist/utils/redact-mcp-secrets.cjs.map +1 -0
- package/dist/utils/redact-mcp-secrets.d.ts +13 -0
- package/dist/utils/redact-mcp-secrets.js +57 -0
- package/dist/utils/redact-mcp-secrets.js.map +1 -0
- package/dist/utils/settings-utils.cjs.map +1 -1
- package/dist/utils/settings-utils.js.map +1 -1
- package/dist/utils/skill-install-events.cjs +3 -0
- package/dist/utils/skill-install-events.cjs.map +1 -0
- package/dist/utils/skill-install-events.d.ts +16 -0
- package/dist/utils/skill-install-events.js +26 -0
- package/dist/utils/skill-install-events.js.map +1 -0
- package/dist/utils/title-llm-profile.cjs +2 -0
- package/dist/utils/title-llm-profile.cjs.map +1 -0
- package/dist/utils/title-llm-profile.d.ts +2 -0
- package/dist/utils/title-llm-profile.js +11 -0
- package/dist/utils/title-llm-profile.js.map +1 -0
- package/package.json +10 -3
- package/scripts/check-sdk-version-sync.mjs +6 -6
- package/scripts/check-translation-completeness.cjs +2 -0
- package/scripts/dev-process-utils.mjs +62 -1
- package/scripts/dev-safe.mjs +2 -2
- package/scripts/dev-static.mjs +5 -3
- package/scripts/dev-with-automation.mjs +98 -14
- package/scripts/download-node.mjs +382 -0
- package/scripts/download-uv.mjs +204 -0
- package/scripts/logger.mjs +64 -35
- package/build/assets/agent-server-compatibility-C0MtTTwb.js +0 -1
- package/build/assets/agent-server-conversation-service.api-lzc8dabY.js +0 -41
- package/build/assets/agent-settings-GwiXe_6k.js +0 -2
- package/build/assets/agent-settings-OdsyI2gX.js +0 -1
- package/build/assets/api-key-entry-screen-2gsoZAOK.js +0 -1
- package/build/assets/app-settings-CD9euh81.js +0 -1
- package/build/assets/automation-export-Djc8Tf0M.js +0 -2
- package/build/assets/automations-list-Dtiolk1h.js +0 -1
- package/build/assets/backend-form-modal-B8GtBA-J.js +0 -1
- package/build/assets/browser-store-BI6uklCG.js +0 -1
- package/build/assets/chat-send-button-BZHG2hAW.js +0 -1
- package/build/assets/client-source-CtQjJEy6.js +0 -1
- package/build/assets/cloud-funnel-analytics-uzzLlLuj.js +0 -1
- package/build/assets/conversation-B8d8_Upd.js +0 -1
- package/build/assets/conversation-Lmqm6VJC.js +0 -89
- package/build/assets/conversation-panel-B8n40Swu.js +0 -1
- package/build/assets/conversation-state-store-B2Bp32XI.js +0 -1
- package/build/assets/declaration-BGsHjPEW.js +0 -1
- package/build/assets/extensions-hub-DqvwvpCi.js +0 -1
- package/build/assets/extensions-navigation-BMc9Nluv.js +0 -1
- package/build/assets/files-tab-BAkaV4aO.js +0 -1
- package/build/assets/files-tab-store-DJsPxYdg.js +0 -1
- package/build/assets/git-provider-icon-xvbukHaT.js +0 -1
- package/build/assets/home-D01kSnmo.js +0 -1
- package/build/assets/home-NZO2bF4N.js +0 -1
- package/build/assets/index-home-BsI6i0TC.js +0 -1
- package/build/assets/install-server-modal-BYjqoRyX.js +0 -1
- package/build/assets/lesson-plan-cNUjpdFx.js +0 -4
- package/build/assets/llm-not-configured-banner-DUPyoFIZ.js +0 -27
- package/build/assets/llm-settings-Cs_iieFY.js +0 -1
- package/build/assets/llm-settings-J2ke2foG.js +0 -1
- package/build/assets/manage-backends-modal-nMoCZ2a0.js +0 -1
- package/build/assets/manifest-f1b46f62.js +0 -1
- package/build/assets/markdown-renderer-B4V2OMFP.js +0 -2
- package/build/assets/mcp-kZM-cAZw.js +0 -9
- package/build/assets/messages-CJAv5n4j.js +0 -40
- package/build/assets/objectWithoutPropertiesLoose-BgYIAs2y.js +0 -1
- package/build/assets/onboarding-Dx8n8HFr.js +0 -1
- package/build/assets/onboarding-modal-Bxuxpfdz.js +0 -1
- package/build/assets/recommended-automations-launcher-BWRRvMPE.js +0 -58
- package/build/assets/refresh-cw-B9B7-vsy.js +0 -1
- package/build/assets/root-CYWeTrWE.css +0 -1
- package/build/assets/root-layout-ClEl-JlJ.js +0 -2
- package/build/assets/root-oT83qVlk.js +0 -2
- package/build/assets/sdk-section-page-Cwj0T4gF.js +0 -1
- package/build/assets/secrets-settings-Bc_pBX6F.js +0 -1
- package/build/assets/settings-index-BzSIM1-N.js +0 -1
- package/build/assets/settings-modal-BnZ7mMu7.js +0 -1
- package/build/assets/settings-n9a395O0.js +0 -1
- package/build/assets/shared-conversation-CIDDti9I.js +0 -1
- package/build/assets/sidebar-mobile-menu-toggle-CTX7J4wM.js +0 -1
- package/build/assets/skills-plugins-HZEbNDmX.js +0 -1
- package/build/assets/skills-settings-BdqijFlC.js +0 -2
- package/build/assets/telemetry-SHxpVxk8.js +0 -2
- package/build/assets/use-activate-agent-profile-BRDdSwQ0.js +0 -1
- package/build/assets/use-backends-health-BagmAE_W.js +0 -1
- package/build/assets/use-config-B39iHYFi.js +0 -1
- package/build/assets/use-event-store-Bbaz51GR.js +0 -4
- package/build/assets/use-llm-profiles-CgRtnj74.js +0 -1
- package/build/assets/use-plugins-marketplace-DOJp9rlE.js +0 -1
- package/build/assets/use-runtime-is-ready-ziHQvXZQ.js +0 -1
- package/build/assets/use-settings-BeJap6YL.js +0 -1
- package/build/assets/use-settings-nav-items-D5JJjFHJ.js +0 -16
- package/build/assets/use-tracking-DFoPQUSU.js +0 -1
- package/build/assets/useMutationState-OnAsCLA_.js +0 -1
- package/build/assets/vendor~index-home~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-BD7v71DM.js +0 -2
- package/build/assets/vendor~index-home~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-BT05Osu4.js +0 -28
- package/build/assets/vendor~index-home~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-COhHANvV.js +0 -2
- package/build/assets/vendor~index-home~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DgzWSMRc.js +0 -2
- package/build/assets/vendor~index-home~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DqZatR3B.js +0 -7
- package/build/assets/vendor~index-home~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-FghQ3Z1a.js +0 -1
- package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation-BTvhGHHG.js +0 -1
- package/build/assets/vendor~root-layout~index-home~home~mcp~automations-list~onboarding-modal-C4-GDgiF.js +0 -1
- package/dist/components/features/analytics/telemetry-consent-banner.cjs +0 -2
- package/dist/components/features/analytics/telemetry-consent-banner.cjs.map +0 -1
- package/dist/components/features/analytics/telemetry-consent-banner.d.ts +0 -29
- package/dist/components/features/analytics/telemetry-consent-banner.js +0 -59
- package/dist/components/features/analytics/telemetry-consent-banner.js.map +0 -1
- /package/build/assets/{__vite-browser-external-BQUj0sYu.js → __vite-browser-external-CKHVBTNC.js} +0 -0
- /package/build/assets/{agent-server-ui-style-scope-qhnhZHBV.js → agent-server-ui-style-scope-BvSa9on7.js} +0 -0
- /package/build/assets/{automation-LZB0MjdV.js → automation-BGiPmxFR.js} +0 -0
- /package/build/assets/{canvas-ui-COgjltGz.js → canvas-ui-CC4EJo-H.js} +0 -0
- /package/build/assets/{checkmark-h7udgXMM.js → checkmark-ygQB1AtV.js} +0 -0
- /package/build/assets/{close-DLFb5kfv.js → close-BjSA0HWT.js} +0 -0
- /package/build/assets/{code-tag-DYlAhEQY.js → code-tag-D9aPPbOe.js} +0 -0
- /package/build/assets/{common-CxbUL3nR.js → common-CCuqQy_S.js} +0 -0
- /package/build/assets/{conversation-local-storage-F6zVMM--.js → conversation-local-storage-BDjWPg0Z.js} +0 -0
- /package/build/assets/{copy-BLmGeJcd.js → copy-Dce7sOvS.js} +0 -0
- /package/build/assets/{copy-D1YGjP-C.js → copy-iPJAncAj.js} +0 -0
- /package/build/assets/{dist-CodhvuAP.js → dist-D9PhjOaq.js} +0 -0
- /package/build/assets/{environment-switch-store-DkjlKWzN.js → environment-switch-store-DHfcz4M4.js} +0 -0
- /package/build/assets/{extension-module-card-classes-9V3J9J_b.js → extension-module-card-classes-BpebKiN6.js} +0 -0
- /package/build/assets/{external-link-lhdITPqq.js → external-link-CpPMXxrV.js} +0 -0
- /package/build/assets/{folder-Bk311brm.js → folder-BabbYnbF.js} +0 -0
- /package/build/assets/{format-time-delta-DhDbkD7V.js → format-time-delta-BkAmJEPT.js} +0 -0
- /package/build/assets/{get-language-from-path-DBqBsCWH.js → get-language-from-path-CPNnuVhI.js} +0 -0
- /package/build/assets/{git-status-mapper-DnL9OC8_.js → git-status-mapper-BIXK0AAG.js} +0 -0
- /package/build/assets/{iconBase-Dz51Zn5x.js → iconBase-Ch-fOe8B.js} +0 -0
- /package/build/assets/{link-external-CaBmUEs_.js → link-external-DfKQroKX.js} +0 -0
- /package/build/assets/{list-todo-CAtvkzcy.js → list-todo-6J6zc8oS.js} +0 -0
- /package/build/assets/{llm-subscription-DtsX5Lhg.js → llm-subscription-Bvu8BLXc.js} +0 -0
- /package/build/assets/{loader-circle-CsAsfLIs.js → loader-circle-DGsqG5qw.js} +0 -0
- /package/build/assets/{map-provider-BbIb12oh.js → map-provider-BSvXvVR0.js} +0 -0
- /package/build/assets/{middleware-DYHYNAnP.js → middleware-_izt7V6U.js} +0 -0
- /package/build/assets/{modal-backdrop-zVwfOJZr.js → modal-backdrop-B7H42xHG.js} +0 -0
- /package/build/assets/{navigation-context-DPs2G0X8.js → navigation-context-cvyvI1WA.js} +0 -0
- /package/build/assets/{openhands-logo-bcNw5bkY.js → openhands-logo-pEw0nKFP.js} +0 -0
- /package/build/assets/{pencil-CWhApFIT.js → pencil-DmSqWUA3.js} +0 -0
- /package/build/assets/{react-DPDgL6du.js → react-MKQOkha9.js} +0 -0
- /package/build/assets/{search-BgOCR7_c.js → search-B5D5EuSn.js} +0 -0
- /package/build/assets/{search-dIQ09UY2.js → search-vnYL5jwV.js} +0 -0
- /package/build/assets/{settings-gear-MXCyZW0x.js → settings-gear-BOwF59Bs.js} +0 -0
- /package/build/assets/{settings-section-header-context-COMOIaxV.js → settings-section-header-context-CGgHZXrf.js} +0 -0
- /package/build/assets/{skills-EqzxYBvT.js → skills-arUOHLcS.js} +0 -0
- /package/build/assets/{square-chevron-right-DE-JN-2Z.js → square-chevron-right-EizCGtgq.js} +0 -0
- /package/build/assets/{switch-skeleton-DqQwalyu.js → switch-skeleton-BjPRx1QD.js} +0 -0
- /package/build/assets/{terminal-Cgf___rK.js → terminal-a57bHgZs.js} +0 -0
- /package/build/assets/{trash-2-BU6BlW4i.js → trash-2-CF3hilrY.js} +0 -0
- /package/build/assets/{u-check-circle-BqoIxNz_.js → u-check-circle-WGqHdtfO.js} +0 -0
- /package/build/assets/{u-check-circle-half-MsShT8Ec.js → u-check-circle-half-LiwZkuFe.js} +0 -0
- /package/build/assets/{u-edit-DL5LgKon.js → u-edit-BwHepAPi.js} +0 -0
- /package/build/assets/{use-breakpoint-BP3lqLMx.js → use-breakpoint-B-O0lQ84.js} +0 -0
- /package/build/assets/{use-click-outside-element-D9BYdANT.js → use-click-outside-element-DLQIMQrz.js} +0 -0
- /package/build/assets/{use-is-authed-BezEyfeh.js → use-is-authed-BSeo4coy.js} +0 -0
- /package/build/assets/{use-onboarding-completion-C_Swglzp.js → use-onboarding-completion-C0hPNGpw.js} +0 -0
- /package/build/assets/{v4-DbCkTSoU.js → v4-q4yWTlMz.js} +0 -0
- /package/build/assets/{vendor~browser-By2MVv_N.js → vendor~browser-UwB1jbAZ.js} +0 -0
- /package/build/assets/{vendor~conversation-panel~conversation~alert-banner-CxfzCmkN.js → vendor~conversation-panel~conversation~alert-banner-DHDkknt5.js} +0 -0
- /package/build/assets/{vendor~index-home~home~conversation-panel~conversation-ChmYLVgz.js → vendor~index-home~home~conversation-panel~conversation-Bff9cq5J.js} +0 -0
- /package/build/assets/{vendor~module-D5a_AClf.js → vendor~module-D4DeFV4J.js} +0 -0
- /package/build/assets/{vendor~terminal-CnKZILnC.js → vendor~terminal-B7Eiak0-.js} +0 -0
- /package/build/assets/{x-ZE4iplpF.js → x-DQB_00VJ.js} +0 -0
- /package/build/assets/{x-mark-Batp6gXa.js → x-mark-B32XuEwS.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,c as t,i as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"./vendor~browser-
|
|
1
|
+
import{a as e,c as t,i as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"./vendor~browser-UwB1jbAZ.js";var u=class{constructor(e,t){this.protocol=e,this.data=t,this.events=new s}events},d=class extends t{frame;constructor(e,t){super(e,{}),this.frame=t}},f=class{emitter;constructor(){this.emitter=new s}async queue(e){await this.emitter.emitAsPromise(new d(`frame`,e))}on(e,t,n){this.emitter.on(e,t,n)}disable(){this.emitter.removeAllListeners()}};function p(e){let t=new URL(e.url);return t.protocol===`file:`||/(fonts\.googleapis\.com)/.test(t.hostname)||/node_modules/.test(t.pathname)||t.pathname.includes(`@vite`)?!0:/\.(s?css|less|m?jsx?|m?tsx?|html|ttf|otf|woff|woff2|eot|gif|jpe?g|png|avif|webp|svg|mp4|webm|ogg|mov|mp3|wav|ogg|flac|aac|pdf|txt|csv|json|xml|md|zip|tar|gz|rar|7z)$/i.test(t.pathname)}var m=`[MSW]`;function h(e,...t){return`${m} ${r(e,...t)}`}function g(e,...t){console.warn(h(e,...t))}function _(e,...t){console.error(h(e,...t))}var v={formatMessage:h,warn:g,error:_},y=class extends Error{constructor(e){super(e),this.name=`InternalError`}};function b(){if(typeof navigator<`u`&&navigator.product===`ReactNative`)return!0;if(typeof process<`u`){let e=process.type;return e===`renderer`||e===`worker`?!1:!!(process.versions&&process.versions.node)}return!1}var x=Object.defineProperty,S=(e,t)=>{for(var n in t)x(e,n,{get:t[n],enumerable:!0})},C={};S(C,{blue:()=>te,gray:()=>ne,green:()=>ie,red:()=>re,yellow:()=>ee});function ee(e){return`\x1B[33m${e}\x1B[0m`}function te(e){return`\x1B[34m${e}\x1B[0m`}function ne(e){return`\x1B[90m${e}\x1B[0m`}function re(e){return`\x1B[31m${e}\x1B[0m`}function ie(e){return`\x1B[32m${e}\x1B[0m`}var ae=b(),oe=class{constructor(e){this.name=e,this.prefix=`[${this.name}]`;let t=de(`DEBUG`),n=de(`LOG_LEVEL`);t===`1`||t===`true`||t!==void 0&&this.name.startsWith(t)?(this.debug=fe(n,`debug`)?w:this.debug,this.info=fe(n,`info`)?w:this.info,this.success=fe(n,`success`)?w:this.success,this.warning=fe(n,`warning`)?w:this.warning,this.error=fe(n,`error`)?w:this.error):(this.info=w,this.success=w,this.warning=w,this.error=w,this.only=w)}prefix;extend(e){return new oe(`${this.name}:${e}`)}debug(e,...t){this.logEntry({level:`debug`,message:ne(e),positionals:t,prefix:this.prefix,colors:{prefix:`gray`}})}info(e,...t){this.logEntry({level:`info`,message:e,positionals:t,prefix:this.prefix,colors:{prefix:`blue`}});let n=new se;return(e,...t)=>{n.measure(),this.logEntry({level:`info`,message:`${e} ${ne(`${n.deltaTime}ms`)}`,positionals:t,prefix:this.prefix,colors:{prefix:`blue`}})}}success(e,...t){this.logEntry({level:`info`,message:e,positionals:t,prefix:`\u2714 ${this.prefix}`,colors:{timestamp:`green`,prefix:`green`}})}warning(e,...t){this.logEntry({level:`warning`,message:e,positionals:t,prefix:`\u26A0 ${this.prefix}`,colors:{timestamp:`yellow`,prefix:`yellow`}})}error(e,...t){this.logEntry({level:`error`,message:e,positionals:t,prefix:`\u2716 ${this.prefix}`,colors:{timestamp:`red`,prefix:`red`}})}only(e){e()}createEntry(e,t){return{timestamp:new Date,level:e,message:t}}logEntry(e){let{level:t,message:n,prefix:r,colors:i,positionals:a=[]}=e,o=this.createEntry(t,n),s=i?.timestamp||`gray`,c=i?.prefix||`gray`,l={timestamp:C[s],prefix:C[c]};this.getWriter(t)([l.timestamp(this.formatTimestamp(o.timestamp))].concat(r==null?[]:l.prefix(r),pe(n)).join(` `),...a.map(pe))}formatTimestamp(e){return`${e.toLocaleTimeString(`en-GB`)}:${e.getMilliseconds()}`}getWriter(e){switch(e){case`debug`:case`success`:case`info`:return ce;case`warning`:return le;case`error`:return ue}}},se=class{startTime;endTime;deltaTime;constructor(){this.startTime=performance.now()}measure(){this.endTime=performance.now();let e=this.endTime-this.startTime;this.deltaTime=e.toFixed(2)}},w=()=>void 0;function ce(e,...t){if(ae){process.stdout.write(r(e,...t)+`
|
|
2
2
|
`);return}console.log(e,...t)}function le(e,...t){if(ae){process.stderr.write(r(e,...t)+`
|
|
3
3
|
`);return}console.warn(e,...t)}function ue(e,...t){if(ae){process.stderr.write(r(e,...t)+`
|
|
4
4
|
`);return}console.error(e,...t)}function de(e){return ae?{}[e]:globalThis[e]?.toString()}function fe(e,t){return e!==void 0&&e!==t}function pe(e){return e===void 0?`undefined`:e===null?`null`:typeof e==`string`?e:typeof e==`object`?JSON.stringify(e):e.toString()}function me(e){return globalThis[e]||void 0}function he(e,t){globalThis[e]=t}function ge(e){delete globalThis[e]}var T=function(e){return e.INACTIVE=`INACTIVE`,e.APPLYING=`APPLYING`,e.APPLIED=`APPLIED`,e.DISPOSING=`DISPOSING`,e.DISPOSED=`DISPOSED`,e}({}),_e=class{constructor(t){this.symbol=t,this.readyState=T.INACTIVE,this.emitter=new e,this.subscriptions=[],this.logger=new oe(t.description),this.emitter.setMaxListeners(0),this.logger.info(`constructing the interceptor...`)}checkEnvironment(){return!0}apply(){let e=this.logger.extend(`apply`);if(e.info(`applying the interceptor...`),this.readyState===T.APPLIED){e.info(`intercepted already applied!`);return}if(!this.checkEnvironment()){e.info(`the interceptor cannot be applied in this environment!`);return}this.readyState=T.APPLYING;let t=this.getInstance();if(t){e.info(`found a running instance, reusing...`),this.on=(n,r)=>(e.info(`proxying the "%s" listener`,n),t.emitter.addListener(n,r),this.subscriptions.push(()=>{t.emitter.removeListener(n,r),e.info(`removed proxied "%s" listener!`,n)}),this),this.readyState=T.APPLIED;return}e.info(`no running instance found, setting up a new instance...`),this.setup(),this.setInstance(),this.readyState=T.APPLIED}setup(){}on(e,t){let n=this.logger.extend(`on`);return this.readyState===T.DISPOSING||this.readyState===T.DISPOSED?(n.info(`cannot listen to events, already disposed!`),this):(n.info(`adding "%s" event listener:`,e,t),this.emitter.on(e,t),this)}once(e,t){return this.emitter.once(e,t),this}off(e,t){return this.emitter.off(e,t),this}removeAllListeners(e){return this.emitter.removeAllListeners(e),this}dispose(){let e=this.logger.extend(`dispose`);if(this.readyState===T.DISPOSED){e.info(`cannot dispose, already disposed!`);return}if(e.info(`disposing the interceptor...`),this.readyState=T.DISPOSING,!this.getInstance()){e.info(`no interceptors running, skipping dispose...`);return}if(this.clearInstance(),e.info(`global symbol deleted:`,me(this.symbol)),this.subscriptions.length>0){e.info(`disposing of %d subscriptions...`,this.subscriptions.length);for(let e of this.subscriptions)e();this.subscriptions=[],e.info(`disposed of all subscriptions!`,this.subscriptions.length)}this.emitter.removeAllListeners(),e.info(`destroyed the listener!`),this.readyState=T.DISPOSED}getInstance(){let e=me(this.symbol);return this.logger.info(`retrieved global instance:`,e?.constructor?.name),e}setInstance(){he(this.symbol,this),this.logger.info(`set global instance!`,this.symbol.description)}clearInstance(){ge(this.symbol),this.logger.info(`cleared global instance!`,this.symbol.description)}};function ve(){return Math.random().toString(16).slice(2)}function ye(){let e=(t,n)=>{e.state=`pending`,e.resolve=n=>e.state===`pending`?(e.result=n,t(n instanceof Promise?n:Promise.resolve(n).then(t=>(e.state=`fulfilled`,t)))):void 0,e.reject=t=>{if(e.state===`pending`)return queueMicrotask(()=>{e.state=`rejected`}),n(e.rejectionReason=t)}};return e}var be=class extends Promise{#e;resolve;reject;constructor(e=null){let t=ye();super((n,r)=>{t(n,r),e?.(t.resolve,t.reject)}),this.#e=t,this.resolve=this.#e.resolve,this.reject=this.#e.reject}get state(){return this.#e.state}get rejectionReason(){return this.#e.rejectionReason}then(e,t){return this.#t(super.then(e,t))}catch(e){return this.#t(super.catch(e))}finally(e){return this.#t(super.finally(e))}#t(e){return Object.defineProperties(e,{resolve:{configurable:!0,value:this.resolve},reject:{configurable:!0,value:this.reject}})}},xe=class e extends Error{constructor(t){super(t),this.name=`InterceptorError`,Object.setPrototypeOf(this,e.prototype)}};(class e{static{this.PENDING=0}static{this.PASSTHROUGH=1}static{this.RESPONSE=2}static{this.ERROR=3}constructor(t,n){this.request=t,this.source=n,this.readyState=e.PENDING,this.handled=new be}get#e(){return this.handled}async passthrough(){l.as(xe,this.readyState===e.PENDING,`Failed to passthrough the "%s %s" request: the request has already been handled`,this.request.method,this.request.url),this.readyState=e.PASSTHROUGH,await this.source.passthrough(),this.#e.resolve()}respondWith(t){l.as(xe,this.readyState===e.PENDING,`Failed to respond to the "%s %s" request with "%d %s": the request has already been handled (%d)`,this.request.method,this.request.url,t.status,t.statusText||`OK`,this.readyState),this.readyState=e.RESPONSE,this.#e.resolve(),this.source.respondWith(t)}errorWith(t){l.as(xe,this.readyState===e.PENDING,`Failed to error the "%s %s" request with "%s": the request has already been handled (%d)`,this.request.method,this.request.url,t?.toString(),this.readyState),this.readyState=e.ERROR,this.source.errorWith(t),this.#e.resolve()}});function Se(e){try{return new URL(e),!0}catch{return!1}}function Ce(e,t){let n=Object.getOwnPropertySymbols(t).find(t=>t.description===e);if(n)return Reflect.get(t,n)}var we=Symbol(`kStatus`),Te=Symbol(`kUrl`),Ee=class e extends Response{static{this.STATUS_CODES_WITHOUT_BODY=[101,103,204,205,304]}static{this.STATUS_CODES_WITH_REDIRECT=[301,302,303,307,308]}static isConfigurableStatusCode(e){return e>=200&&e<=599}static isRedirectResponse(t){return e.STATUS_CODES_WITH_REDIRECT.includes(t)}static isResponseWithBody(t){return!e.STATUS_CODES_WITHOUT_BODY.includes(t)}static setStatus(e,t){let n=Ce(`state`,t);n?n.status=e:Object.defineProperty(t,`status`,{value:e,enumerable:!0,configurable:!0,writable:!1}),Object.defineProperty(t,we,{value:e,enumerable:!1})}static setUrl(e,t){if(!e||e===`about:`||!Se(e))return;let n=Ce(`state`,t);n?n.urlList.push(new URL(e)):Object.defineProperty(t,`url`,{value:e,enumerable:!0,configurable:!0,writable:!1}),Object.defineProperty(t,Te,{value:e,enumerable:!1})}static parseRawHeaders(e){let t=new Headers;for(let n=0;n<e.length;n+=2)t.append(e[n],e[n+1]);return t}static clone(e){try{return e.clone()}catch(e){return Response.json(e instanceof Error?{name:e.name,message:e.message,stack:e.stack}:{},{status:500,statusText:`Unclonable Response`})}}constructor(t,n={}){let r=n.status??200,i=e.isConfigurableStatusCode(r)?r:200,a=e.isResponseWithBody(r)?t:null;super(a,{status:i,statusText:n.statusText,headers:n.headers}),r!==i&&e.setStatus(r,this),e.setUrl(n.url,this)}clone(){let t=super.clone(),n=Reflect.get(this,we);n&&e.setStatus(n,t);let r=Reflect.get(this,Te);return r&&e.setUrl(r,t),t}};new TextEncoder;function De(e){if(typeof e==`string`)return De(new URL(e,typeof location<`u`?location.href:void 0));if(e.protocol===`http:`?e.protocol=`ws:`:e.protocol===`https:`&&(e.protocol=`wss:`),e.protocol!==`ws:`&&e.protocol!==`wss:`)throw SyntaxError(`Failed to construct 'WebSocket': The URL's scheme must be either 'http', 'https', 'ws', or 'wss'. '${e.protocol}' is not allowed.`);if(e.hash!==``)throw SyntaxError(`Failed to construct 'WebSocket': The URL contains a fragment identifier ('${e.hash}'). Fragment identifiers are not allowed in WebSocket URLs.`);return e.href}var Oe=class e extends _e{constructor(t){e.symbol=Symbol.for(t.name),super(e.symbol),this.interceptors=t.interceptors}setup(){let e=this.logger.extend(`setup`);e.info(`applying all %d interceptors...`,this.interceptors.length);for(let t of this.interceptors)e.info(`applying "%s" interceptor...`,t.constructor.name),t.apply(),e.info(`adding interceptor dispose subscription`),this.subscriptions.push(()=>t.dispose())}on(e,t){for(let n of this.interceptors)n.on(e,t);return this}once(e,t){for(let n of this.interceptors)n.once(e,t);return this}off(e,t){for(let n of this.interceptors)n.off(e,t);return this}removeAllListeners(e){for(let t of this.interceptors)t.removeAllListeners(e);return this}};function ke(e,t=!0){return[t&&e.origin,e.pathname].filter(Boolean).join(``)}function Ae(e){let t=e instanceof URL?e:new URL(e);return typeof location<`u`&&t.origin===location.origin?t.pathname:t.origin+t.pathname}var je=/[^a-z0-9\-#$%&'*+.^_`|~]/i;function Me(e){if(je.test(e)||e.trim()===``)throw TypeError(`Invalid character in header field name`);return e.trim().toLowerCase()}var Ne=[`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./iconBase-
|
|
1
|
+
import{t as e}from"./iconBase-Ch-fOe8B.js";function t(t){return e({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M256 48h-.7c-55.4.2-107.4 21.9-146.6 61.1C69.6 148.4 48 200.5 48 256s21.6 107.6 60.8 146.9c39.1 39.2 91.2 60.9 146.6 61.1h.7c114.7 0 208-93.3 208-208S370.7 48 256 48zm180.2 194h-77.6c-.9-26.7-4.2-52.2-9.8-76.2 17.1-5.5 33.7-12.5 49.7-21 22 28.2 35 61.6 37.7 97.2zM242 242h-61.8c.8-24.5 3.8-47.7 8.8-69.1 17.4 3.9 35.1 6.3 53 7.1v62zm0 28v61.9c-17.8.8-35.6 3.2-53 7.1-5-21.4-8-44.6-8.8-69H242zm28 0h61.3c-.8 24.4-3.8 47.6-8.8 68.9-17.2-3.9-34.8-6.2-52.5-7V270zm0-28v-62c17.8-.8 35.4-3.2 52.5-7 5 21.4 8 44.5 8.8 69H270zm109.4-117.9c-12.3 6.1-25 11.3-38 15.5-7.1-21.4-16.1-39.9-26.5-54.5 24 8.3 45.9 21.6 64.5 39zM315 146.8c-14.7 3.2-29.8 5.2-45 6V79.4c17 9.2 33.6 33.9 45 67.4zM242 79v73.7c-15.4-.8-30.6-2.8-45.5-6.1 11.6-33.8 28.4-58.5 45.5-67.6zm-45.6 6.4c-10.3 14.5-19.2 32.9-26.3 54.1-12.8-4.2-25.4-9.4-37.5-15.4 18.4-17.3 40.1-30.5 63.8-38.7zm-82.9 59.5c15.8 8.4 32.3 15.4 49.2 20.8-5.7 23.9-9 49.5-9.8 76.2h-77c2.6-35.4 15.6-68.8 37.6-97zM75.8 270h77c.9 26.7 4.2 52.3 9.8 76.2-16.9 5.5-33.4 12.5-49.2 20.8-21.9-28.1-34.9-61.5-37.6-97zm56.7 117.9c12.1-6 24.7-11.2 37.6-15.4 7.1 21.3 16 39.6 26.3 54.2-23.7-8.4-45.4-21.5-63.9-38.8zm64-22.6c14.9-3.3 30.2-5.3 45.5-6.1V433c-17.2-9.1-33.9-33.9-45.5-67.7zm73.5 67.3v-73.5c15.2.8 30.3 2.8 45 6-11.4 33.6-28 58.3-45 67.5zm45-5.7c10.4-14.6 19.4-33.1 26.5-54.5 13 4.2 25.8 9.5 38 15.6-18.6 17.3-40.6 30.6-64.5 38.9zm83.5-59.8c-16-8.5-32.6-15.5-49.7-21 5.6-23.9 8.9-49.4 9.8-76.1h77.6c-2.7 35.5-15.6 68.9-37.7 97.1z`},child:[]}]})(t)}export{t};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/__vite-browser-external-
|
|
2
|
-
import{a as e}from"./rolldown-runtime-BFRubm34.js";import{St as t}from"./vendor-styling-CI0PQ3ab.js";var n=class extends Error{constructor(e,t,n,r){super(r||`HTTP ${e}: ${t}`),this.status=e,this.statusText=t,this.response=n,this.name=`HttpError`}},r=class{constructor(e){this.baseUrl=e.baseUrl.replace(/\/$/,``),this.apiKey=e.apiKey,this.timeout=e.timeout||6e4}buildUrl(e,t){let n=e.startsWith(`/`)?e.slice(1):e,r=new URL(n,this.baseUrl+`/`);return t&&Object.entries(t).forEach(([e,t])=>{t!=null&&(Array.isArray(t)?t.forEach(t=>r.searchParams.append(e,String(t))):r.searchParams.append(e,String(t)))}),r}async request(e){if(e.method===`GET`&&e.data!==void 0&&e.data!==null)return this.requestWithBodyOnGet(e);let t=this.buildUrl(e.url,e.params),r={"Content-Type":`application/json`,...e.headers};this.apiKey&&(r[`X-Session-API-Key`]=this.apiKey);let i={method:e.method,headers:r,signal:AbortSignal.timeout(e.timeout||this.timeout)};e.credentials&&(i.credentials=e.credentials),e.data&&e.method!==`GET`&&(e.data instanceof FormData?(delete r[`Content-Type`],i.body=e.data):i.body=JSON.stringify(e.data));try{let r=await fetch(t.toString(),i);if(!(e.acceptableStatusCodes?.has(r.status)||!e.acceptableStatusCodes&&r.ok)){let e;try{e=r.headers.get(`content-type`)?.includes(`application/json`)?await r.json():await r.text()}catch{e=null}throw new n(r.status,r.statusText,e,`HTTP request failed (${r.status} ${r.statusText}): ${JSON.stringify(e)}`)}let a=await this.parseResponse(r,e.responseType||`auto`),o={};return r.headers.forEach((e,t)=>{o[t]=e}),{data:a,status:r.status,statusText:r.statusText,headers:o}}catch(t){throw t instanceof n?t:t instanceof Error?t.name===`AbortError`?Error(`Request timeout after ${e.timeout||this.timeout}ms`,{cause:t}):Error(`Request failed: ${t.message}`,{cause:t}):Error(`Unknown request error`,{cause:t})}}async requestWithBodyOnGet(r){let i=this.buildUrl(r.url,r.params),a=typeof r.data==`string`?r.data:JSON.stringify(r.data),o={"Content-Type":`application/json`,...r.headers,"Content-Length":String(Buffer.byteLength(a))};this.apiKey&&(o[`X-Session-API-Key`]=this.apiKey);let s=(i.protocol,await t(()=>import(`./__vite-browser-external-BQUj0sYu.js`).then(t=>e(t.default,1)),__vite__mapDeps([0,1]))),c=r.timeout||this.timeout;return new Promise((e,t)=>{let l=s.request(i,{method:r.method,headers:o},i=>{let a=[];i.on(`data`,e=>a.push(e)),i.on(`end`,()=>{try{let o=i.statusCode??0,s=i.statusMessage??``,c={};for(let[e,t]of Object.entries(i.headers))t!==void 0&&(c[e]=Array.isArray(t)?t.join(`, `):t);let l=Buffer.concat(a),u=c[`content-type`];if(!(r.acceptableStatusCodes?.has(o)||!r.acceptableStatusCodes&&o>=200&&o<300)){let e=l.toString(`utf-8`),r;try{r=u?.includes(`application/json`)?JSON.parse(e):e}catch{r=e||null}t(new n(o,s,r,`HTTP request failed (${o} ${s}): ${JSON.stringify(r)}`));return}e({data:this.parseNodeResponse(l,u,r.responseType||`auto`),status:o,statusText:s,headers:c})}catch(e){t(e)}})});l.on(`error`,e=>{t(Error(`Request failed: ${e.message}`,{cause:e}))}),l.setTimeout(c,()=>{l.destroy(Error(`Request timeout after ${c}ms`))}),l.end(a)})}parseNodeResponse(e,t,n){if(n===`blob`)return new Blob([new Uint8Array(e)]);if(n===`arrayBuffer`)return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);let r=e.toString(`utf-8`);return n===`text`?r:n===`json`||t?.includes(`application/json`)?r?JSON.parse(r):void 0:r}async parseResponse(e,t){return t===`json`?await e.json():t===`text`?await e.text():t===`blob`?await e.blob():t===`arrayBuffer`?await e.arrayBuffer():e.headers.get(`content-type`)?.includes(`application/json`)?await e.json():await e.text()}async get(e,t){return this.request({method:`GET`,url:e,...t})}async post(e,t,n){return this.request({method:`POST`,url:e,data:t,...n})}async put(e,t,n){return this.request({method:`PUT`,url:e,data:t,...n})}async patch(e,t,n){return this.request({method:`PATCH`,url:e,data:t,...n})}async delete(e,t){return this.request({method:`DELETE`,url:e,...t})}close(){}},i=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout??6e4})}async listAgentProfiles(){return(await this.client.get(`/api/agent-profiles`)).data}async getAgentProfile(e,t={}){let n={};return t.exposeSecrets&&(n[`X-Expose-Secrets`]=t.exposeSecrets),(await this.client.get(`/api/agent-profiles/${encodeURIComponent(e)}`,{headers:n})).data}async saveAgentProfile(e,t){return(await this.client.post(`/api/agent-profiles/${encodeURIComponent(e)}`,t)).data}async deleteAgentProfile(e){return(await this.client.delete(`/api/agent-profiles/${encodeURIComponent(e)}`)).data}async renameAgentProfile(e,t){return(await this.client.post(`/api/agent-profiles/${encodeURIComponent(e)}/rename`,{new_name:t})).data}async activateAgentProfile(e){return(await this.client.post(`/api/agent-profiles/${encodeURIComponent(e)}/activate`,{})).data}async materializeAgentProfile(e){return(await this.client.post(`/api/agent-profiles/${encodeURIComponent(e)}/materialize`,{})).data}close(){this.client.close()}},a=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async getRoot(){return(await this.client.get(`/`)).data}async getAlive(){return(await this.client.get(`/alive`)).data}async getHealth(){return(await this.client.get(`/health`)).data}async getReady(){return(await this.client.get(`/ready`,{acceptableStatusCodes:new Set([200,503])})).data}async getServerInfo(){return(await this.client.get(`/server_info`)).data}close(){this.client.close()}},o=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async searchEvents(e={}){return(await this.client.get(`/api/bash/bash_events/search`,{params:e})).data}async getEvent(e){return(await this.client.get(`/api/bash/bash_events/${e}`)).data}async getEvents(e){return Promise.all(e.map(async e=>{try{return await this.getEvent(e)}catch(e){if(e instanceof n&&e.status===404)return null;throw e}}))}async batchGetEvents(e){return(await this.client.get(`/api/bash/bash_events/`,{data:e})).data}async startCommand(e,t,n){let r=this.normalizeRequest(e,t,n);return(await this.client.post(`/api/bash/start_bash_command`,r)).data}async executeCommand(e,t,n){let r=this.normalizeRequest(e,t,n);return(await this.client.post(`/api/bash/execute_bash_command`,r,{timeout:((r.timeout||30)+10)*1e3})).data}async clearEvents(){return(await this.client.delete(`/api/bash/bash_events`)).data}close(){this.client.close()}normalizeRequest(e,t,n){return typeof e==`string`?{command:e,...t?{cwd:t}:{},...n===void 0?{}:{timeout:Math.floor(n)}}:{...e,...e.timeout===void 0?{}:{timeout:Math.floor(e.timeout)}}}},s=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async createConversation(e){return(await this.client.post(`/api/conversations`,e)).data}async searchConversations(e={}){return(await this.client.get(`/api/conversations/search`,{params:e})).data}async countConversations(e={}){return(await this.client.get(`/api/conversations/count`,{params:e})).data}async getConversations(e){return(await this.client.get(`/api/conversations`,{params:{ids:e}})).data}async getConversation(e){return(await this.client.get(`/api/conversations/${e}`)).data}async searchEvents(e,t={}){return(await this.client.get(`/api/conversations/${e}/events/search`,{params:t})).data}async getEvent(e,t){return(await this.client.get(`/api/conversations/${e}/events/${t}`)).data}async getEvents(e,t){return Promise.all(t.map(async t=>{try{return await this.getEvent(e,t)}catch(e){if(e instanceof n&&e.status===404)return null;throw e}}))}async sendEvent(e,t,n={}){await this.client.post(`/api/conversations/${e}/events`,{...t,...n.run===void 0?{}:{run:n.run}})}async pauseConversation(e){return(await this.client.post(`/api/conversations/${e}/pause`,{})).data}async interruptConversation(e){return(await this.client.post(`/api/conversations/${e}/interrupt`,{})).data}async runConversation(e){return(await this.client.post(`/api/conversations/${e}/run`,{})).data}async startGoal(e,t){return(await this.client.post(`/api/conversations/${e}/goal`,t)).data}async stopGoal(e){return(await this.client.post(`/api/conversations/${e}/goal/stop`,{})).data}async resumeGoal(e){return(await this.client.post(`/api/conversations/${e}/goal/resume`,{})).data}async askAgent(e,t){return(await this.client.post(`/api/conversations/${e}/ask_agent`,{question:t})).data}async getEventCount(e,t={}){return(await this.client.get(`/api/conversations/${e}/events/count`,{params:t})).data}async respondToConfirmation(e,t){return(await this.client.post(`/api/conversations/${e}/events/respond_to_confirmation`,t)).data}async getAgentFinalResponse(e){return(await this.client.get(`/api/conversations/${e}/agent_final_response`)).data}async setConfirmationPolicy(e,t){let n=`policy`in t?t:{policy:t};return(await this.client.post(`/api/conversations/${e}/confirmation_policy`,n)).data}async condenseConversation(e){return(await this.client.post(`/api/conversations/${e}/condense`,{})).data}async setSecurityAnalyzer(e,t){let n=c(t)?t:{security_analyzer:t};return(await this.client.post(`/api/conversations/${e}/security_analyzer`,n)).data}async updateSecrets(e,t){return(await this.client.post(`/api/conversations/${e}/secrets`,t)).data}async forkConversation(e,t={},n={}){return(await this.client.post(`/api/conversations/${e}/fork`,t,{params:n.includeSkills===void 0?void 0:{include_skills:n.includeSkills}})).data}async navigateConversation(e,t={},n={}){return(await this.client.post(`/api/conversations/${e}/navigate`,t,{params:n.includeSkills===void 0?void 0:{include_skills:n.includeSkills}})).data}async switchProfile(e,t){await this.client.post(`/api/conversations/${e}/switch_profile`,{profile_name:t})}async switchLLM(e,t){await this.client.post(`/api/conversations/${e}/switch_llm`,{llm:t})}async switchAcpModel(e,t){await this.client.post(`/api/conversations/${e}/switch_acp_model`,{model:t})}async deleteConversation(e){await this.client.delete(`/api/conversations/${e}`)}async updateConversation(e,t){return(await this.client.patch(`/api/conversations/${e}`,t)).data}close(){this.client.close()}};function c(e){return typeof e==`object`&&!!e&&`security_analyzer`in e}var l=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async searchSubdirectories(e,t={}){return(await this.client.get(`/api/file/search_subdirs`,{params:{path:e,page_id:t.pageId,limit:t.limit,include_hidden:t.includeHidden||void 0}})).data}async getHome(e={}){return(await this.client.get(`/api/file/home`,{params:{include_hidden:e.includeHidden||void 0}})).data}async downloadFile(e){return(await this.client.get(`/api/file/download`,{params:{path:e},responseType:`arrayBuffer`})).data}async downloadTextFile(e){return new TextDecoder().decode(await this.downloadFile(e))}async uploadFile(e,t,n){let r=new FormData,i=typeof File>`u`?void 0:File;return i&&e instanceof i?r.append(`file`,e,n||e.name):e instanceof Blob?r.append(`file`,e,n||`blob-file`):r.append(`file`,new Blob([e],{type:`text/plain`}),n||`text-file.txt`),(await this.client.post(`/api/file/upload`,r,{params:{path:t}})).data}async uploadTextFile(e,t,n){return this.uploadFile(e,t,n)}async downloadTrajectory(e){return(await this.client.get(`/api/file/download-trajectory/${encodeURIComponent(e)}`,{responseType:`blob`})).data}close(){this.client.close()}},u=`AGENT_SERVER_VERSION_TOO_OLD`,d={workspaces:{feature:`workspaces`,displayName:`Workspaces`,minVersion:`1.23.0`},hooks:{feature:`hooks`,displayName:`Hooks API`,minVersion:`1.23.0`},mcpTest:{feature:`mcp-test`,displayName:`MCP test API`,minVersion:`1.23.0`},mcpOAuth:{feature:`mcp-oauth`,displayName:`MCP OAuth API`,minVersion:`1.31.0`}},f=class e extends Error{constructor({requirement:t,actualVersion:n}){super(`${t.displayName} requires agent-server ${t.minVersion} or newer; this backend is running ${n}. Please upgrade your agent-server backend.`),this.code=u,this.name=`AgentServerVersionError`,this.feature=t.feature,this.displayName=t.displayName,this.requiredVersion=t.minVersion,this.actualVersion=n,Object.setPrototypeOf(this,e.prototype)}},p=new WeakMap;function m(e){return e instanceof f||typeof e==`object`&&!!e&&`code`in e&&e.code===`AGENT_SERVER_VERSION_TOO_OLD`}async function h(e){let t=p.get(e);if(t)return t;let n=e.get(`/server_info`).then(e=>e.data);return p.set(e,n),n}async function g(e,t){let n=await h(e),r=typeof n.version==`string`&&n.version.trim()?n.version.trim():`unknown`,i=_(r,t.minVersion);if(i===null||i<0)throw new f({requirement:t,actualVersion:r});return n}function _(e,t){let n=v(e),r=v(t);if(!n||!r)return null;for(let e of[`major`,`minor`,`patch`]){if(n[e]>r[e])return 1;if(n[e]<r[e])return-1}return n.prerelease&&!r.prerelease?-1:!n.prerelease&&r.prerelease?1:n.prerelease&&r.prerelease?n.prerelease.localeCompare(r.prerelease):0}function v(e){let[t]=e.trim().replace(/^v/,``).split(`+`),[n,r]=t.split(`-`,2),i=n.split(`.`);if(i.length!==3)return null;let[a,o,s]=i.map(e=>Number(e));return[a,o,s].every(e=>Number.isInteger(e)&&e>=0)?{major:a,minor:o,patch:s,prerelease:r}:null}var y=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async getProviders(){return(await this.client.get(`/api/llm/providers`)).data.providers}async getModels(e){return(await this.client.get(`/api/llm/models`,{params:e?{provider:e}:void 0})).data.models}async getVerifiedModels(){return(await this.client.get(`/api/llm/models/verified`)).data.models}async getOpenAISubscriptionModels(){return(await this.client.get(`/api/llm/subscription/openai/models`)).data.models}async getOpenAISubscriptionStatus(){return(await this.client.get(`/api/llm/subscription/openai/status`)).data}async startOpenAISubscriptionDeviceLogin(){return(await this.client.post(`/api/llm/subscription/openai/device/start`)).data}async pollOpenAISubscriptionDeviceLogin(e){let t={device_code:e};return(await this.client.post(`/api/llm/subscription/openai/device/poll`,t)).data}async logoutOpenAISubscription(){return(await this.client.post(`/api/llm/subscription/openai/logout`)).data}close(){this.client.close()}},b=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async testServer(e){return await g(this.client,d.mcpTest),(await this.client.post(`/api/mcp/test`,e,{timeout:(e.timeout??15)*1e3+5e3})).data}async startOAuth(e){return await g(this.client,d.mcpOAuth),(await this.client.post(`/api/mcp/oauth/start`,e,{timeout:(e.timeout??15)*1e3+5e3})).data}async getOAuthStatus(e){return await g(this.client,d.mcpOAuth),(await this.client.get(`/api/mcp/oauth/status/${encodeURIComponent(e)}`)).data}async submitOAuthCallback(e,t){return await g(this.client,d.mcpOAuth),(await this.client.post(`/api/mcp/oauth/callback/${encodeURIComponent(e)}`,t)).data}close(){this.client.close()}},x=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async listProfiles(){return(await this.client.get(`/api/profiles`)).data}async getProfile(e,t={}){let n={};return t.exposeSecrets&&(n[`X-Expose-Secrets`]=t.exposeSecrets),(await this.client.get(`/api/profiles/${encodeURIComponent(e)}`,{headers:n})).data}async saveProfile(e,t){return(await this.client.post(`/api/profiles/${encodeURIComponent(e)}`,t)).data}async deleteProfile(e){return(await this.client.delete(`/api/profiles/${encodeURIComponent(e)}`)).data}async renameProfile(e,t){return(await this.client.post(`/api/profiles/${encodeURIComponent(e)}/rename`,{new_name:t})).data}async activateProfile(e){return(await this.client.post(`/api/profiles/${encodeURIComponent(e)}/activate`,{})).data}close(){this.client.close()}},S=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async getAgentSchema(){return(await this.client.get(`/api/settings/agent-schema`)).data}async getSettings(e={}){return(await this.client.get(`/api/settings`,{headers:e.exposeSecrets?{"X-Expose-Secrets":e.exposeSecrets}:void 0})).data}async updateSettings(e){return(await this.client.patch(`/api/settings`,e)).data}async listSecrets(){return(await this.client.get(`/api/settings/secrets`)).data}async upsertSecret(e){return(await this.client.put(`/api/settings/secrets`,e)).data}async getSecret(e){return(await this.client.get(`/api/settings/secrets/${encodeURIComponent(e)}`,{responseType:`text`})).data}async deleteSecret(e){return(await this.client.delete(`/api/settings/secrets/${encodeURIComponent(e)}`)).data}async getConversationSchema(){return(await this.client.get(`/api/settings/conversation-schema`)).data}async listProfiles(){return(await this.client.get(`/api/profiles`)).data}async getProfile(e,t={}){return(await this.client.get(`/api/profiles/${encodeURIComponent(e)}`,{headers:t.exposeSecrets?{"X-Expose-Secrets":t.exposeSecrets}:void 0})).data}async saveProfile(e,t){return(await this.client.post(`/api/profiles/${encodeURIComponent(e)}`,t)).data}async deleteProfile(e){return(await this.client.delete(`/api/profiles/${encodeURIComponent(e)}`)).data}async renameProfile(e,t){return(await this.client.post(`/api/profiles/${encodeURIComponent(e)}/rename`,{new_name:t})).data}close(){this.client.close()}},C=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async getSkills(e={}){return(await this.client.post(`/api/skills`,e)).data}async syncSkills(){return(await this.client.post(`/api/skills/sync`,{})).data}async installSkill(e){return(await this.client.post(`/api/skills/install`,e)).data}async listInstalledSkills(){return(await this.client.get(`/api/skills/installed`)).data}async getInstalledSkill(e){return(await this.client.get(`/api/skills/installed/${encodeURIComponent(e)}`)).data}async toggleSkill(e,t){return(await this.client.patch(`/api/skills/installed/${encodeURIComponent(e)}`,{enabled:t})).data}async uninstallSkill(e){return(await this.client.delete(`/api/skills/installed/${encodeURIComponent(e)}`)).data}async refreshSkill(e){return(await this.client.post(`/api/skills/installed/${encodeURIComponent(e)}/refresh`)).data}async getMarketplace(){return(await this.client.get(`/api/skills/marketplace`)).data}close(){this.client.close()}},w=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async getPlugins(e={}){return(await this.client.post(`/api/plugins`,e)).data}async getPluginsMarketplace(){return(await this.client.get(`/api/plugins/marketplace`)).data}async installPlugin(e){return(await this.client.post(`/api/plugins/install`,e)).data}async listInstalledPlugins(){return(await this.client.get(`/api/plugins/installed`)).data}async getInstalledPlugin(e){return(await this.client.get(`/api/plugins/installed/${encodeURIComponent(e)}`)).data}async setPluginEnabled(e,t){return(await this.client.patch(`/api/plugins/installed/${encodeURIComponent(e)}`,{enabled:t})).data}async uninstallPlugin(e){return(await this.client.delete(`/api/plugins/installed/${encodeURIComponent(e)}`)).data}async refreshPlugin(e){return(await this.client.post(`/api/plugins/installed/${encodeURIComponent(e)}/refresh`)).data}close(){this.client.close()}},T=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async getUrl(e={}){return(await this.client.get(`/api/vscode/url`,{params:{...e.baseUrl?{base_url:e.baseUrl}:{},...e.workspaceDir?{workspace_dir:e.workspaceDir}:{}}})).data.url}async getStatus(){return(await this.client.get(`/api/vscode/status`)).data}close(){this.client.close()}},E=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async getSharedConversations(e){return(await this.client.get(`/api/shared-conversations`,{params:{ids:e}})).data}async getSharedConversation(e){return(await this.getSharedConversations([e]))[0]??null}async searchSharedEvents(e){return(await this.client.get(`/api/shared-events/search`,{params:{conversation_id:e.conversationId,limit:e.limit,page_id:e.pageId}})).data}close(){this.client.close()}},D=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async listWorkspaces(){return await this.ensureWorkspacesSupported(),(await this.client.get(`/api/workspaces`)).data}async addWorkspaces(e){return await this.ensureWorkspacesSupported(),(await this.client.post(`/api/workspaces`,{workspaces:e})).data}async deleteWorkspace(e){return await this.ensureWorkspacesSupported(),(await this.client.delete(`/api/workspaces`,{params:{path:e}})).data}async addWorkspaceParents(e){return await this.ensureWorkspacesSupported(),(await this.client.post(`/api/workspaces/parents`,{parents:e})).data}async deleteWorkspaceParent(e){return await this.ensureWorkspacesSupported(),(await this.client.delete(`/api/workspaces/parents`,{params:{path:e}})).data}close(){this.client.close()}async ensureWorkspacesSupported(){await g(this.client,d.workspaces)}},O=class{constructor(e){this.host=e.host.replace(/\/+$/,``),this.apiKey=e.apiKey,this.timeout=e.timeout||6e4}get(e,t={}){return this.request({...t,method:`GET`,path:e})}post(e,t,n={}){return this.request({...n,method:`POST`,path:e,body:t})}patch(e,t,n={}){return this.request({...n,method:`PATCH`,path:e,body:t})}put(e,t,n={}){return this.request({...n,method:`PUT`,path:e,body:t})}delete(e,t={}){return this.request({...t,method:`DELETE`,path:e})}close(){}},k=class e extends Error{constructor(t,n){super(t),this.code=n,this.name=`DeviceFlowError`,Object.setPrototypeOf(this,e.prototype)}},A=6e5,j=3e4;function M(e){try{let t=e.trim().toLowerCase(),n=/^https?:\/\//i.test(t)?t:`https://${t}`,r=new URL(n).hostname;return r.endsWith(`.all-hands.dev`)||r===`all-hands.dev`||r.endsWith(`.openhands.dev`)||r===`openhands.dev`}catch{return!1}}function N(e){return e.replace(/\/+$/,``)}async function P(e,t,n,r,i,a){let o=typeof n==`string`||n instanceof Blob||n instanceof FormData||n instanceof URLSearchParams?n:JSON.stringify(n),s=new Headers(a);return s.set(`Content-Type`,r),fetch(`${N(e)}${t}`,{method:`POST`,headers:s,body:o,signal:i})}async function F(e,t={}){try{let n=await P(e,`/oauth/device/authorize`,{},`application/json`,void 0,t.headers);if(!n.ok)throw new k(`Failed to start device flow: Server returned ${n.status}`);let r=await n.json();if(!r.device_code||!r.user_code||!r.verification_uri)throw new k(`Invalid response from device authorization endpoint: missing required fields`);return{device_code:r.device_code,user_code:r.user_code,verification_uri:r.verification_uri,verification_uri_complete:r.verification_uri_complete??`${r.verification_uri}?user_code=${encodeURIComponent(r.user_code)}`,expires_in:r.expires_in??600,interval:r.interval??5}}catch(e){throw e instanceof k?e:new k(`Failed to start device flow: ${e instanceof Error?e.message:String(e)}`)}}async function I(e,t,n){let r=n.timeout??A,i=Math.max(1,n.interval)*1e3,a=Date.now();for(;Date.now()-a<r;){if(n.signal?.aborted)throw new k(`Authorization cancelled`,`cancelled`);try{let r=await P(e,`/oauth/device/token`,new URLSearchParams({grant_type:`urn:ietf:params:oauth:grant-type:device_code`,device_code:t}),`application/x-www-form-urlencoded`,n.signal,n.headers);if(r.ok){let e=await r.json();if(!e.access_token)throw new k(`Invalid token response: missing access_token`);return{access_token:e.access_token,token_type:e.token_type??`Bearer`,expires_in:e.expires_in}}let a;try{a=await r.json()}catch{throw new k(`Unexpected response from server: ${r.status}`)}switch(a.error){case`authorization_pending`:break;case`slow_down`:i=typeof a.interval==`number`&&Number.isFinite(a.interval)&&a.interval>0?Math.max(1,Math.min(a.interval,30))*1e3:Math.min(i+5e3,j);break;case`expired_token`:throw new k(`Device code has expired. Please try again.`,`expired_token`);case`access_denied`:throw new k(`Authorization request was denied.`,`access_denied`);default:throw new k(`Authorization error: ${a.error}${a.error_description?` - ${a.error_description}`:``}`,a.error)}}catch(e){if(e instanceof k)throw e;if(e instanceof DOMException&&e.name===`AbortError`)throw new k(`Authorization cancelled`,`cancelled`);console.warn(`Network error during polling, retrying:`,e)}try{await L(i,n.signal)}catch(e){throw e instanceof DOMException&&e.name===`AbortError`?new k(`Authorization cancelled`,`cancelled`):e}}throw new k(`Timeout waiting for authorization. Please try again.`,`timeout`)}function L(e,t){return new Promise((n,r)=>{if(t?.aborted){r(new DOMException(`Aborted`,`AbortError`));return}let i=setTimeout(n,e);t?.addEventListener(`abort`,()=>{clearTimeout(i),r(new DOMException(`Aborted`,`AbortError`))},{once:!0})})}var R=`/api/v1/settings/profiles`,z=100,B=class extends O{constructor(e){super(e),this.kind=`cloud`,this.orgId=e.orgId??null,this.proxy=e.proxy?{...e.proxy,host:e.proxy.host.replace(/\/+$/,``),path:e.proxy.path??`/api/cloud-proxy`}:void 0}async request(e){return e.hostOverride?this.requestThroughProxy(e):this.requestDirect(e)}startDeviceFlow(e={}){return F(this.host,e)}pollForToken(e,t){return I(this.host,e,t)}async getOrganizations(){let e=await this.get(`/api/organizations`);return{items:e?.items??[],currentOrgId:e?.current_org_id??null}}getCurrentApiKey(){return this.get(`/api/keys/current`)}async getOrganizationMe(e){let t=await this.get(`/api/organizations/${encodeURIComponent(e)}/me`);return{orgId:t?.org_id??e,userId:t?.user_id??``,role:t?.role??null,permissions:Array.isArray(t?.permissions)?t.permissions:null}}getSettings(){return this.get(`/api/v1/settings`)}async getSettingsWithDerivedFields(){let e=await this.getSettings();return{...e,agent_settings:q(e),conversation_settings:J(e),llm_api_key_set:!!e.llm_api_key_set,search_api_key_set:!!e.search_api_key_set,provider_tokens_set:e.provider_tokens_set}}async saveSettings(e){let t={};if(e.agent_settings_diff){let n={...e.agent_settings_diff};n.agent_context===null&&delete n.agent_context,Object.keys(n).length>0&&(t.agent_settings_diff=n)}if(e.conversation_settings_diff&&Object.keys(e.conversation_settings_diff).length>0&&(t.conversation_settings_diff=e.conversation_settings_diff),e.app_preferences)for(let[n,r]of Object.entries(e.app_preferences))r!==void 0&&(t[n]=r);await this.post(`/api/v1/settings`,t)}getSettingsSchema(){return this.get(`/api/v1/settings/agent-schema`)}getConversationSettingsSchema(){return this.get(`/api/v1/settings/conversation-schema`)}listProfiles(){return this.get(this.profileBasePath())}async getProfile(e){let t=await this.get(`${this.profileBasePath()}/${encodeURIComponent(e)}`);return{name:t.name,config:t.config??t.llm??{},api_key_set:t.api_key_set??!1}}saveProfile(e,t){return this.post(`${this.profileBasePath()}/${encodeURIComponent(e)}`,t)}deleteProfile(e){return this.delete(`${this.profileBasePath()}/${encodeURIComponent(e)}`)}renameProfile(e,t){return this.post(`${this.profileBasePath()}/${encodeURIComponent(e)}/rename`,{new_name:t})}async activateProfile(e){let t=await this.post(`${this.profileBasePath()}/${encodeURIComponent(e)}/activate`,{});return{name:t.name,message:t.message,llm_applied:t.model!=null||t.llm!=null}}async listSecrets(){let e=[],t=null;do{let n=new URLSearchParams({limit:String(z)});t&&n.set(`page_id`,t);let r=await this.get(`/api/v1/secrets/search?${n.toString()}`);e.push(...r.items??[]),t=r.next_page_id}while(t);return e}async createSecret(e,t,n){await this.post(`/api/v1/secrets`,{name:e,value:t,description:n})}async updateSecret(e,t,n){await this.put(`/api/v1/secrets/${encodeURIComponent(e)}`,{name:t,description:n})}async deleteSecret(e){await this.delete(`/api/v1/secrets/${encodeURIComponent(e)}`)}async listSkills(){let e=[],t=null;do{let n=new URLSearchParams({limit:String(z)});t&&n.set(`page_id`,t);let r=await this.get(`/api/v1/skills/search?${n.toString()}`);e.push(...r.items??[]),t=r.next_page_id}while(t);return e}searchRepositories(e){let t=new URLSearchParams;return t.set(`provider`,e.provider),t.set(`limit`,String(e.limit??100)),e.query&&t.set(`query`,e.query),e.pageId&&t.set(`page_id`,e.pageId),e.installationId&&t.set(`installation_id`,e.installationId),this.get(`/api/v1/git/repositories/search?${t.toString()}`)}getInstallations(e){let t=new URLSearchParams;return t.set(`provider`,e.provider),t.set(`limit`,String(e.limit??100)),e.pageId&&t.set(`page_id`,e.pageId),this.get(`/api/v1/git/installations/search?${t.toString()}`)}getRepositoryBranches(e){let t=new URLSearchParams;return t.set(`provider`,e.provider),t.set(`repository`,e.repository),t.set(`limit`,String(e.limit??30)),t.set(`query`,e.query??``),e.pageId&&t.set(`page_id`,e.pageId),this.get(`/api/v1/git/branches/search?${t.toString()}`)}getSuggestedTasks(e={}){let t=new URLSearchParams;return t.set(`limit`,String(e.limit??30)),e.pageId&&t.set(`page_id`,e.pageId),this.get(`/api/v1/git/suggested-tasks/search?${t.toString()}`)}searchModels(e){return this.get(`/api/v1/config/models/search${G(e)}`)}searchProviders(e){return this.get(`/api/v1/config/providers/search${G(e)}`)}searchConversations(e=20,t){let n=new URLSearchParams;return n.set(`limit`,String(e)),t&&n.set(`page_id`,t),n.set(`sort_order`,`UPDATED_AT_DESC`),this.get(`/api/v1/app-conversations/search?${n.toString()}`)}getConversations(e){if(e.length===0)return Promise.resolve([]);let t=new URLSearchParams;for(let n of e)t.append(`ids`,n);return this.get(`/api/v1/app-conversations?${t}`)}createConversation(e){return this.post(`/api/v1/app-conversations`,e)}downloadConversation(e){return this.get(`/api/v1/app-conversations/${e}/download`,{responseType:`blob`})}async deleteConversation(e){await this.delete(`/api/v1/app-conversations/${e}`)}updateConversationPublicFlag(e,t){return this.patch(`/api/v1/app-conversations/${e}`,{public:t})}async pauseSandbox(e){await this.post(`/api/v1/sandboxes/${e}/pause`,{})}async resumeSandbox(e){await this.post(`/api/v1/sandboxes/${e}/resume`,{})}getSandboxes(e){if(e.length===0)return Promise.resolve([]);let t=new URLSearchParams;for(let n of e)t.append(`id`,n);return this.get(`/api/v1/sandboxes?${t}`)}readConversationFile(e,t){let n=new URLSearchParams({file_path:t});return this.get(`/api/v1/app-conversations/${e}/file?${n}`,{responseType:`text`})}async getConversationStartTask(e){let t=new URLSearchParams;return t.append(`ids`,e),(await this.get(`/api/v1/app-conversations/start-tasks?${t}`))?.[0]??null}async switchConversationProfile(e,t){await this.post(`/api/v1/app-conversations/${e}/switch_profile`,{profile_name:t})}async switchConversationAcpModel(e,t){await this.post(`/api/v1/app-conversations/${e}/switch_acp_model`,{model:t})}async listAutomations(e=50,t=0){return this.get(`/api/automation/v1?${K(e,t)}`)}getAutomation(e){return this.get(`/api/automation/v1/${encodeURIComponent(e)}`)}updateAutomation(e,t){return this.patch(`/api/automation/v1/${encodeURIComponent(e)}`,t)}async deleteAutomation(e){await this.delete(`/api/automation/v1/${encodeURIComponent(e)}`)}dispatchAutomation(e){return this.post(`/api/automation/v1/${encodeURIComponent(e)}/dispatch`)}listAutomationRuns(e,t=50,n=0){return this.get(`/api/automation/v1/${encodeURIComponent(e)}/runs?${K(t,n)}`)}downloadAutomationTarball(e){return this.get(`/api/automation/v1/${encodeURIComponent(e)}/tarball`,{responseType:`blob`})}getAutomationHealth(){return this.get(`/api/automation/health`,{timeoutSeconds:5})}profileBasePath(){return this.orgId?`/api/organizations/${encodeURIComponent(this.orgId)}/profiles`:R}buildUpstreamAuthHeaders(e){let t=e.authMode??`bearer`;return t===`none`?{}:t===`session-api-key`?e.sessionApiKey?{"X-Session-API-Key":e.sessionApiKey}:{}:this.apiKey?{Authorization:`Bearer ${this.apiKey}`}:{}}async requestDirect(e){let t={...this.buildUpstreamAuthHeaders(e),...this.orgId?{"X-Org-Id":this.orgId}:{},...e.headers??{}};return V({host:this.host,method:e.method,path:e.path,params:e.params,body:e.body,headers:t,timeoutMs:e.timeoutSeconds?e.timeoutSeconds*1e3:this.timeout,acceptableStatusCodes:e.acceptableStatusCodes,responseType:e.responseType})}async requestThroughProxy(e){if(!this.proxy)throw Error(`CloudClient proxy options are required for hostOverride requests`);let t={...this.buildUpstreamAuthHeaders(e),...this.orgId?{"X-Org-Id":this.orgId}:{},...e.headers??{}},n={"Content-Type":`application/json`,...this.proxy.apiKey?{"X-Session-API-Key":this.proxy.apiKey}:{},...this.proxy.headers??{}},r=this.proxy.path??`/api/cloud-proxy`;return V({host:this.proxy.host,method:`POST`,path:r,body:{host:e.hostOverride,method:e.method,path:W(e.path,e.params),headers:t,body:e.body??null,...e.timeoutSeconds?{timeout_seconds:e.timeoutSeconds}:{}},headers:n,timeoutMs:this.timeout,acceptableStatusCodes:e.acceptableStatusCodes,responseType:e.responseType})}};async function V(e){let t=`${e.host.replace(/\/+$/,``)}${W(e.path,e.params)}`,n={...e.body instanceof FormData?{}:{"Content-Type":`application/json`},...e.headers??{}},r={method:e.method,headers:n,signal:AbortSignal.timeout(e.timeoutMs)};e.body!==void 0&&e.method!==`GET`&&(r.body=e.body instanceof FormData?e.body:JSON.stringify(e.body));let i;try{i=await fetch(t,r)}catch(t){throw t instanceof Error&&(t.name===`TimeoutError`||t.name===`AbortError`)?Error(`Request timeout after ${e.timeoutMs}ms`,{cause:t}):t}if(!(e.acceptableStatusCodes?.has(i.status)||!e.acceptableStatusCodes&&i.ok))throw await H(i);return U(i,e.responseType??`auto`)}async function H(e){let t;try{t=e.headers.get(`content-type`)?.includes(`application/json`)?await e.json():await e.text()}catch{t=null}return new n(e.status,e.statusText,t,`HTTP request failed (${e.status} ${e.statusText}): ${JSON.stringify(t)}`)}async function U(e,t){if(e.status===204)return;if(t===`blob`)return await e.blob();if(t===`arrayBuffer`)return await e.arrayBuffer();if(t===`text`)return await e.text();let n=e.headers.get(`content-type`);return t===`json`||n?.includes(`application/json`)?await e.json():await e.text()}function W(e,t){if(!t)return e;let[n,r=``]=e.split(`?`),i=new URLSearchParams(r);for(let[e,n]of Object.entries(t))n!=null&&(Array.isArray(n)?n.forEach(t=>i.append(e,String(t))):i.append(e,String(n)));let a=i.toString();return a?`${n}?${a}`:n}function G(e){let t=new URLSearchParams;for(let[n,r]of Object.entries(e))r!==void 0&&t.set(n,String(r));let n=t.toString();return n?`?${n}`:``}function K(e,t){let n=new URLSearchParams;return n.set(`limit`,String(e)),n.set(`offset`,String(t)),n.toString()}function q(e){if(e.agent_settings&&Object.keys(e.agent_settings).length>0)return e.agent_settings;let t={},n={};typeof e.llm_model==`string`&&(n.model=e.llm_model),typeof e.llm_base_url==`string`&&(n.base_url=e.llm_base_url),typeof e.llm_api_key==`string`&&(n.api_key=e.llm_api_key),Object.keys(n).length>0&&(t.llm=n);let r={};return typeof e.enable_default_condenser==`boolean`&&(r.enabled=e.enable_default_condenser),typeof e.condenser_max_size==`number`&&(r.max_size=e.condenser_max_size),Object.keys(r).length>0&&(t.condenser=r),typeof e.agent==`string`&&(t.agent=e.agent),e.mcp_config&&Object.keys(e.mcp_config).length>0&&(t.mcp_config=e.mcp_config),t}function J(e){if(e.conversation_settings&&Object.keys(e.conversation_settings).length>0)return e.conversation_settings;let t={};return typeof e.confirmation_mode==`boolean`&&(t.confirmation_mode=e.confirmation_mode),(typeof e.security_analyzer==`string`||e.security_analyzer===null)&&(t.security_analyzer=e.security_analyzer),typeof e.max_iterations==`number`&&(t.max_iterations=e.max_iterations),t}export{n as S,s as _,F as a,i as b,T as c,S as d,x as f,l as g,m as h,I as i,w as l,y as m,k as n,D as o,b as p,M as r,E as s,B as t,C as u,o as v,r as x,a as y};
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/__vite-browser-external-CKHVBTNC.js","assets/rolldown-runtime-BFRubm34.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{a as e}from"./rolldown-runtime-BFRubm34.js";import{St as t}from"./vendor-styling-CI0PQ3ab.js";var n=class extends Error{constructor(e,t,n,r){super(r||`HTTP ${e}: ${t}`),this.status=e,this.statusText=t,this.response=n,this.name=`HttpError`}},r=class{constructor(e){this.baseUrl=e.baseUrl.replace(/\/$/,``),this.apiKey=e.apiKey,this.timeout=e.timeout||6e4}buildUrl(e,t){let n=e.startsWith(`/`)?e.slice(1):e,r=new URL(n,this.baseUrl+`/`);return t&&Object.entries(t).forEach(([e,t])=>{t!=null&&(Array.isArray(t)?t.forEach(t=>r.searchParams.append(e,String(t))):r.searchParams.append(e,String(t)))}),r}async request(e){if(e.method===`GET`&&e.data!==void 0&&e.data!==null)return this.requestWithBodyOnGet(e);let t=this.buildUrl(e.url,e.params),r={"Content-Type":`application/json`,...e.headers};this.apiKey&&(r[`X-Session-API-Key`]=this.apiKey);let i={method:e.method,headers:r,signal:AbortSignal.timeout(e.timeout||this.timeout)};e.credentials&&(i.credentials=e.credentials),e.data&&e.method!==`GET`&&(e.data instanceof FormData?(delete r[`Content-Type`],i.body=e.data):i.body=JSON.stringify(e.data));try{let r=await fetch(t.toString(),i);if(!(e.acceptableStatusCodes?.has(r.status)||!e.acceptableStatusCodes&&r.ok)){let e;try{e=r.headers.get(`content-type`)?.includes(`application/json`)?await r.json():await r.text()}catch{e=null}throw new n(r.status,r.statusText,e,`HTTP request failed (${r.status} ${r.statusText}): ${JSON.stringify(e)}`)}let a=await this.parseResponse(r,e.responseType||`auto`),o={};return r.headers.forEach((e,t)=>{o[t]=e}),{data:a,status:r.status,statusText:r.statusText,headers:o}}catch(t){throw t instanceof n?t:t instanceof Error?t.name===`AbortError`?Error(`Request timeout after ${e.timeout||this.timeout}ms`,{cause:t}):Error(`Request failed: ${t.message}`,{cause:t}):Error(`Unknown request error`,{cause:t})}}async requestWithBodyOnGet(r){let i=this.buildUrl(r.url,r.params),a=typeof r.data==`string`?r.data:JSON.stringify(r.data),o={"Content-Type":`application/json`,...r.headers,"Content-Length":String(Buffer.byteLength(a))};this.apiKey&&(o[`X-Session-API-Key`]=this.apiKey);let s=(i.protocol,await t(()=>import(`./__vite-browser-external-CKHVBTNC.js`).then(t=>e(t.default,1)),__vite__mapDeps([0,1]))),c=r.timeout||this.timeout;return new Promise((e,t)=>{let l=s.request(i,{method:r.method,headers:o},i=>{let a=[];i.on(`data`,e=>a.push(e)),i.on(`end`,()=>{try{let o=i.statusCode??0,s=i.statusMessage??``,c={};for(let[e,t]of Object.entries(i.headers))t!==void 0&&(c[e]=Array.isArray(t)?t.join(`, `):t);let l=Buffer.concat(a),u=c[`content-type`];if(!(r.acceptableStatusCodes?.has(o)||!r.acceptableStatusCodes&&o>=200&&o<300)){let e=l.toString(`utf-8`),r;try{r=u?.includes(`application/json`)?JSON.parse(e):e}catch{r=e||null}t(new n(o,s,r,`HTTP request failed (${o} ${s}): ${JSON.stringify(r)}`));return}e({data:this.parseNodeResponse(l,u,r.responseType||`auto`),status:o,statusText:s,headers:c})}catch(e){t(e)}})});l.on(`error`,e=>{t(Error(`Request failed: ${e.message}`,{cause:e}))}),l.setTimeout(c,()=>{l.destroy(Error(`Request timeout after ${c}ms`))}),l.end(a)})}parseNodeResponse(e,t,n){if(n===`blob`)return new Blob([new Uint8Array(e)]);if(n===`arrayBuffer`)return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);let r=e.toString(`utf-8`);return n===`text`?r:n===`json`||t?.includes(`application/json`)?r?JSON.parse(r):void 0:r}async parseResponse(e,t){return t===`json`?await e.json():t===`text`?await e.text():t===`blob`?await e.blob():t===`arrayBuffer`?await e.arrayBuffer():e.headers.get(`content-type`)?.includes(`application/json`)?await e.json():await e.text()}async get(e,t){return this.request({method:`GET`,url:e,...t})}async post(e,t,n){return this.request({method:`POST`,url:e,data:t,...n})}async put(e,t,n){return this.request({method:`PUT`,url:e,data:t,...n})}async patch(e,t,n){return this.request({method:`PATCH`,url:e,data:t,...n})}async delete(e,t){return this.request({method:`DELETE`,url:e,...t})}close(){}},i=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout??6e4})}async listAgentProfiles(){return(await this.client.get(`/api/agent-profiles`)).data}async getAgentProfile(e,t={}){let n={};return t.exposeSecrets&&(n[`X-Expose-Secrets`]=t.exposeSecrets),(await this.client.get(`/api/agent-profiles/${encodeURIComponent(e)}`,{headers:n})).data}async saveAgentProfile(e,t){return(await this.client.post(`/api/agent-profiles/${encodeURIComponent(e)}`,t)).data}async deleteAgentProfile(e){return(await this.client.delete(`/api/agent-profiles/${encodeURIComponent(e)}`)).data}async renameAgentProfile(e,t){return(await this.client.post(`/api/agent-profiles/${encodeURIComponent(e)}/rename`,{new_name:t})).data}async activateAgentProfile(e){return(await this.client.post(`/api/agent-profiles/${encodeURIComponent(e)}/activate`,{})).data}async materializeAgentProfile(e){return(await this.client.post(`/api/agent-profiles/${encodeURIComponent(e)}/materialize`,{})).data}close(){this.client.close()}},a=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async getRoot(){return(await this.client.get(`/`)).data}async getAlive(){return(await this.client.get(`/alive`)).data}async getHealth(){return(await this.client.get(`/health`)).data}async getReady(){return(await this.client.get(`/ready`,{acceptableStatusCodes:new Set([200,503])})).data}async getServerInfo(){return(await this.client.get(`/server_info`)).data}close(){this.client.close()}},o=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async searchEvents(e={}){return(await this.client.get(`/api/bash/bash_events/search`,{params:e})).data}async getEvent(e){return(await this.client.get(`/api/bash/bash_events/${e}`)).data}async getEvents(e){return Promise.all(e.map(async e=>{try{return await this.getEvent(e)}catch(e){if(e instanceof n&&e.status===404)return null;throw e}}))}async batchGetEvents(e){return(await this.client.get(`/api/bash/bash_events/`,{data:e})).data}async startCommand(e,t,n){let r=this.normalizeRequest(e,t,n);return(await this.client.post(`/api/bash/start_bash_command`,r)).data}async executeCommand(e,t,n){let r=this.normalizeRequest(e,t,n);return(await this.client.post(`/api/bash/execute_bash_command`,r,{timeout:((r.timeout||30)+10)*1e3})).data}async clearEvents(){return(await this.client.delete(`/api/bash/bash_events`)).data}close(){this.client.close()}normalizeRequest(e,t,n){return typeof e==`string`?{command:e,...t?{cwd:t}:{},...n===void 0?{}:{timeout:Math.floor(n)}}:{...e,...e.timeout===void 0?{}:{timeout:Math.floor(e.timeout)}}}},s=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async createConversation(e){return(await this.client.post(`/api/conversations`,e)).data}async searchConversations(e={}){return(await this.client.get(`/api/conversations/search`,{params:e})).data}async countConversations(e={}){return(await this.client.get(`/api/conversations/count`,{params:e})).data}async getConversations(e){return(await this.client.get(`/api/conversations`,{params:{ids:e}})).data}async getConversation(e){return(await this.client.get(`/api/conversations/${e}`)).data}async searchEvents(e,t={}){return(await this.client.get(`/api/conversations/${e}/events/search`,{params:t})).data}async getEvent(e,t){return(await this.client.get(`/api/conversations/${e}/events/${t}`)).data}async getEvents(e,t){return Promise.all(t.map(async t=>{try{return await this.getEvent(e,t)}catch(e){if(e instanceof n&&e.status===404)return null;throw e}}))}async sendEvent(e,t,n={}){await this.client.post(`/api/conversations/${e}/events`,{...t,...n.run===void 0?{}:{run:n.run}})}async pauseConversation(e){return(await this.client.post(`/api/conversations/${e}/pause`,{})).data}async interruptConversation(e){return(await this.client.post(`/api/conversations/${e}/interrupt`,{})).data}async runConversation(e){return(await this.client.post(`/api/conversations/${e}/run`,{})).data}async startGoal(e,t){return(await this.client.post(`/api/conversations/${e}/goal`,t)).data}async stopGoal(e){return(await this.client.post(`/api/conversations/${e}/goal/stop`,{})).data}async resumeGoal(e){return(await this.client.post(`/api/conversations/${e}/goal/resume`,{})).data}async askAgent(e,t){return(await this.client.post(`/api/conversations/${e}/ask_agent`,{question:t})).data}async getEventCount(e,t={}){return(await this.client.get(`/api/conversations/${e}/events/count`,{params:t})).data}async respondToConfirmation(e,t){return(await this.client.post(`/api/conversations/${e}/events/respond_to_confirmation`,t)).data}async getAgentFinalResponse(e){return(await this.client.get(`/api/conversations/${e}/agent_final_response`)).data}async setConfirmationPolicy(e,t){let n=`policy`in t?t:{policy:t};return(await this.client.post(`/api/conversations/${e}/confirmation_policy`,n)).data}async condenseConversation(e){return(await this.client.post(`/api/conversations/${e}/condense`,{})).data}async setSecurityAnalyzer(e,t){let n=c(t)?t:{security_analyzer:t};return(await this.client.post(`/api/conversations/${e}/security_analyzer`,n)).data}async updateSecrets(e,t){return(await this.client.post(`/api/conversations/${e}/secrets`,t)).data}async forkConversation(e,t={},n={}){return(await this.client.post(`/api/conversations/${e}/fork`,t,{params:n.includeSkills===void 0?void 0:{include_skills:n.includeSkills}})).data}async navigateConversation(e,t={},n={}){return(await this.client.post(`/api/conversations/${e}/navigate`,t,{params:n.includeSkills===void 0?void 0:{include_skills:n.includeSkills}})).data}async switchProfile(e,t){await this.client.post(`/api/conversations/${e}/switch_profile`,{profile_name:t})}async switchLLM(e,t){await this.client.post(`/api/conversations/${e}/switch_llm`,{llm:t})}async switchAcpModel(e,t){await this.client.post(`/api/conversations/${e}/switch_acp_model`,{model:t})}async deleteConversation(e){await this.client.delete(`/api/conversations/${e}`)}async updateConversation(e,t){return(await this.client.patch(`/api/conversations/${e}`,t)).data}close(){this.client.close()}};function c(e){return typeof e==`object`&&!!e&&`security_analyzer`in e}var l=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async searchSubdirectories(e,t={}){return(await this.client.get(`/api/file/search_subdirs`,{params:{path:e,page_id:t.pageId,limit:t.limit,include_hidden:t.includeHidden||void 0}})).data}async getHome(e={}){return(await this.client.get(`/api/file/home`,{params:{include_hidden:e.includeHidden||void 0}})).data}async downloadFile(e){return(await this.client.get(`/api/file/download`,{params:{path:e},responseType:`arrayBuffer`})).data}async downloadTextFile(e){return new TextDecoder().decode(await this.downloadFile(e))}async uploadFile(e,t,n){let r=new FormData,i=typeof File>`u`?void 0:File;return i&&e instanceof i?r.append(`file`,e,n||e.name):e instanceof Blob?r.append(`file`,e,n||`blob-file`):r.append(`file`,new Blob([e],{type:`text/plain`}),n||`text-file.txt`),(await this.client.post(`/api/file/upload`,r,{params:{path:t}})).data}async uploadTextFile(e,t,n){return this.uploadFile(e,t,n)}async downloadTrajectory(e){return(await this.client.get(`/api/file/download-trajectory/${encodeURIComponent(e)}`,{responseType:`blob`})).data}close(){this.client.close()}},u=`AGENT_SERVER_VERSION_TOO_OLD`,d={workspaces:{feature:`workspaces`,displayName:`Workspaces`,minVersion:`1.23.0`},hooks:{feature:`hooks`,displayName:`Hooks API`,minVersion:`1.23.0`},mcpTest:{feature:`mcp-test`,displayName:`MCP test API`,minVersion:`1.23.0`},mcpOAuth:{feature:`mcp-oauth`,displayName:`MCP OAuth API`,minVersion:`1.31.0`}},f=class e extends Error{constructor({requirement:t,actualVersion:n}){super(`${t.displayName} requires agent-server ${t.minVersion} or newer; this backend is running ${n}. Please upgrade your agent-server backend.`),this.code=u,this.name=`AgentServerVersionError`,this.feature=t.feature,this.displayName=t.displayName,this.requiredVersion=t.minVersion,this.actualVersion=n,Object.setPrototypeOf(this,e.prototype)}},p=new WeakMap;function m(e){return e instanceof f||typeof e==`object`&&!!e&&`code`in e&&e.code===`AGENT_SERVER_VERSION_TOO_OLD`}async function h(e){let t=p.get(e);if(t)return t;let n=e.get(`/server_info`).then(e=>e.data);return p.set(e,n),n}async function g(e,t){let n=await h(e),r=typeof n.version==`string`&&n.version.trim()?n.version.trim():`unknown`,i=_(r,t.minVersion);if(i===null||i<0)throw new f({requirement:t,actualVersion:r});return n}function _(e,t){let n=v(e),r=v(t);if(!n||!r)return null;for(let e of[`major`,`minor`,`patch`]){if(n[e]>r[e])return 1;if(n[e]<r[e])return-1}return n.prerelease&&!r.prerelease?-1:!n.prerelease&&r.prerelease?1:n.prerelease&&r.prerelease?n.prerelease.localeCompare(r.prerelease):0}function v(e){let[t]=e.trim().replace(/^v/,``).split(`+`),[n,r]=t.split(`-`,2),i=n.split(`.`);if(i.length!==3)return null;let[a,o,s]=i.map(e=>Number(e));return[a,o,s].every(e=>Number.isInteger(e)&&e>=0)?{major:a,minor:o,patch:s,prerelease:r}:null}var y=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async getProviders(){return(await this.client.get(`/api/llm/providers`)).data.providers}async getModels(e){return(await this.client.get(`/api/llm/models`,{params:e?{provider:e}:void 0})).data.models}async getVerifiedModels(){return(await this.client.get(`/api/llm/models/verified`)).data.models}async getOpenAISubscriptionModels(){return(await this.client.get(`/api/llm/subscription/openai/models`)).data.models}async getOpenAISubscriptionStatus(){return(await this.client.get(`/api/llm/subscription/openai/status`)).data}async startOpenAISubscriptionDeviceLogin(){return(await this.client.post(`/api/llm/subscription/openai/device/start`)).data}async pollOpenAISubscriptionDeviceLogin(e){let t={device_code:e};return(await this.client.post(`/api/llm/subscription/openai/device/poll`,t)).data}async logoutOpenAISubscription(){return(await this.client.post(`/api/llm/subscription/openai/logout`)).data}close(){this.client.close()}},b=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async testServer(e){return await g(this.client,d.mcpTest),(await this.client.post(`/api/mcp/test`,e,{timeout:(e.timeout??15)*1e3+5e3})).data}async startOAuth(e){return await g(this.client,d.mcpOAuth),(await this.client.post(`/api/mcp/oauth/start`,e,{timeout:(e.timeout??15)*1e3+5e3})).data}async getOAuthStatus(e){return await g(this.client,d.mcpOAuth),(await this.client.get(`/api/mcp/oauth/status/${encodeURIComponent(e)}`)).data}async submitOAuthCallback(e,t){return await g(this.client,d.mcpOAuth),(await this.client.post(`/api/mcp/oauth/callback/${encodeURIComponent(e)}`,t)).data}close(){this.client.close()}},x=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async listProfiles(){return(await this.client.get(`/api/profiles`)).data}async getProfile(e,t={}){let n={};return t.exposeSecrets&&(n[`X-Expose-Secrets`]=t.exposeSecrets),(await this.client.get(`/api/profiles/${encodeURIComponent(e)}`,{headers:n})).data}async saveProfile(e,t){return(await this.client.post(`/api/profiles/${encodeURIComponent(e)}`,t)).data}async deleteProfile(e){return(await this.client.delete(`/api/profiles/${encodeURIComponent(e)}`)).data}async renameProfile(e,t){return(await this.client.post(`/api/profiles/${encodeURIComponent(e)}/rename`,{new_name:t})).data}async activateProfile(e){return(await this.client.post(`/api/profiles/${encodeURIComponent(e)}/activate`,{})).data}close(){this.client.close()}},S=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async getAgentSchema(){return(await this.client.get(`/api/settings/agent-schema`)).data}async getSettings(e={}){return(await this.client.get(`/api/settings`,{headers:e.exposeSecrets?{"X-Expose-Secrets":e.exposeSecrets}:void 0})).data}async updateSettings(e){return(await this.client.patch(`/api/settings`,e)).data}async listSecrets(){return(await this.client.get(`/api/settings/secrets`)).data}async upsertSecret(e){return(await this.client.put(`/api/settings/secrets`,e)).data}async getSecret(e){return(await this.client.get(`/api/settings/secrets/${encodeURIComponent(e)}`,{responseType:`text`})).data}async deleteSecret(e){return(await this.client.delete(`/api/settings/secrets/${encodeURIComponent(e)}`)).data}async getConversationSchema(){return(await this.client.get(`/api/settings/conversation-schema`)).data}async listProfiles(){return(await this.client.get(`/api/profiles`)).data}async getProfile(e,t={}){return(await this.client.get(`/api/profiles/${encodeURIComponent(e)}`,{headers:t.exposeSecrets?{"X-Expose-Secrets":t.exposeSecrets}:void 0})).data}async saveProfile(e,t){return(await this.client.post(`/api/profiles/${encodeURIComponent(e)}`,t)).data}async deleteProfile(e){return(await this.client.delete(`/api/profiles/${encodeURIComponent(e)}`)).data}async renameProfile(e,t){return(await this.client.post(`/api/profiles/${encodeURIComponent(e)}/rename`,{new_name:t})).data}close(){this.client.close()}},C=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async getSkills(e={}){return(await this.client.post(`/api/skills`,e)).data}async syncSkills(){return(await this.client.post(`/api/skills/sync`,{})).data}async installSkill(e){return(await this.client.post(`/api/skills/install`,e)).data}async listInstalledSkills(){return(await this.client.get(`/api/skills/installed`)).data}async getInstalledSkill(e){return(await this.client.get(`/api/skills/installed/${encodeURIComponent(e)}`)).data}async toggleSkill(e,t){return(await this.client.patch(`/api/skills/installed/${encodeURIComponent(e)}`,{enabled:t})).data}async uninstallSkill(e){return(await this.client.delete(`/api/skills/installed/${encodeURIComponent(e)}`)).data}async refreshSkill(e){return(await this.client.post(`/api/skills/installed/${encodeURIComponent(e)}/refresh`)).data}async getMarketplace(){return(await this.client.get(`/api/skills/marketplace`)).data}close(){this.client.close()}},w=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async getPlugins(e={}){return(await this.client.post(`/api/plugins`,e)).data}async getPluginsMarketplace(){return(await this.client.get(`/api/plugins/marketplace`)).data}async installPlugin(e){return(await this.client.post(`/api/plugins/install`,e)).data}async listInstalledPlugins(){return(await this.client.get(`/api/plugins/installed`)).data}async getInstalledPlugin(e){return(await this.client.get(`/api/plugins/installed/${encodeURIComponent(e)}`)).data}async setPluginEnabled(e,t){return(await this.client.patch(`/api/plugins/installed/${encodeURIComponent(e)}`,{enabled:t})).data}async uninstallPlugin(e){return(await this.client.delete(`/api/plugins/installed/${encodeURIComponent(e)}`)).data}async refreshPlugin(e){return(await this.client.post(`/api/plugins/installed/${encodeURIComponent(e)}/refresh`)).data}close(){this.client.close()}},T=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async getUrl(e={}){return(await this.client.get(`/api/vscode/url`,{params:{...e.baseUrl?{base_url:e.baseUrl}:{},...e.workspaceDir?{workspace_dir:e.workspaceDir}:{}}})).data.url}async getStatus(){return(await this.client.get(`/api/vscode/status`)).data}close(){this.client.close()}},E=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async getSharedConversations(e){return(await this.client.get(`/api/shared-conversations`,{params:{ids:e}})).data}async getSharedConversation(e){return(await this.getSharedConversations([e]))[0]??null}async searchSharedEvents(e){return(await this.client.get(`/api/shared-events/search`,{params:{conversation_id:e.conversationId,limit:e.limit,page_id:e.pageId}})).data}close(){this.client.close()}},D=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new r({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async listWorkspaces(){return await this.ensureWorkspacesSupported(),(await this.client.get(`/api/workspaces`)).data}async addWorkspaces(e){return await this.ensureWorkspacesSupported(),(await this.client.post(`/api/workspaces`,{workspaces:e})).data}async deleteWorkspace(e){return await this.ensureWorkspacesSupported(),(await this.client.delete(`/api/workspaces`,{params:{path:e}})).data}async addWorkspaceParents(e){return await this.ensureWorkspacesSupported(),(await this.client.post(`/api/workspaces/parents`,{parents:e})).data}async deleteWorkspaceParent(e){return await this.ensureWorkspacesSupported(),(await this.client.delete(`/api/workspaces/parents`,{params:{path:e}})).data}close(){this.client.close()}async ensureWorkspacesSupported(){await g(this.client,d.workspaces)}},O=class{constructor(e){this.host=e.host.replace(/\/+$/,``),this.apiKey=e.apiKey,this.timeout=e.timeout||6e4}get(e,t={}){return this.request({...t,method:`GET`,path:e})}post(e,t,n={}){return this.request({...n,method:`POST`,path:e,body:t})}patch(e,t,n={}){return this.request({...n,method:`PATCH`,path:e,body:t})}put(e,t,n={}){return this.request({...n,method:`PUT`,path:e,body:t})}delete(e,t={}){return this.request({...t,method:`DELETE`,path:e})}close(){}},k=class e extends Error{constructor(t,n){super(t),this.code=n,this.name=`DeviceFlowError`,Object.setPrototypeOf(this,e.prototype)}},A=6e5,j=3e4;function M(e){try{let t=e.trim().toLowerCase(),n=/^https?:\/\//i.test(t)?t:`https://${t}`,r=new URL(n).hostname;return r.endsWith(`.all-hands.dev`)||r===`all-hands.dev`||r.endsWith(`.openhands.dev`)||r===`openhands.dev`}catch{return!1}}function N(e){return e.replace(/\/+$/,``)}async function P(e,t,n,r,i,a){let o=typeof n==`string`||n instanceof Blob||n instanceof FormData||n instanceof URLSearchParams?n:JSON.stringify(n),s=new Headers(a);return s.set(`Content-Type`,r),fetch(`${N(e)}${t}`,{method:`POST`,headers:s,body:o,signal:i})}async function F(e,t={}){try{let n=await P(e,`/oauth/device/authorize`,{},`application/json`,void 0,t.headers);if(!n.ok)throw new k(`Failed to start device flow: Server returned ${n.status}`);let r=await n.json();if(!r.device_code||!r.user_code||!r.verification_uri)throw new k(`Invalid response from device authorization endpoint: missing required fields`);return{device_code:r.device_code,user_code:r.user_code,verification_uri:r.verification_uri,verification_uri_complete:r.verification_uri_complete??`${r.verification_uri}?user_code=${encodeURIComponent(r.user_code)}`,expires_in:r.expires_in??600,interval:r.interval??5}}catch(e){throw e instanceof k?e:new k(`Failed to start device flow: ${e instanceof Error?e.message:String(e)}`)}}async function I(e,t,n){let r=n.timeout??A,i=Math.max(1,n.interval)*1e3,a=Date.now();for(;Date.now()-a<r;){if(n.signal?.aborted)throw new k(`Authorization cancelled`,`cancelled`);try{let r=await P(e,`/oauth/device/token`,new URLSearchParams({grant_type:`urn:ietf:params:oauth:grant-type:device_code`,device_code:t}),`application/x-www-form-urlencoded`,n.signal,n.headers);if(r.ok){let e=await r.json();if(!e.access_token)throw new k(`Invalid token response: missing access_token`);return{access_token:e.access_token,token_type:e.token_type??`Bearer`,expires_in:e.expires_in}}let a;try{a=await r.json()}catch{throw new k(`Unexpected response from server: ${r.status}`)}switch(a.error){case`authorization_pending`:break;case`slow_down`:i=typeof a.interval==`number`&&Number.isFinite(a.interval)&&a.interval>0?Math.max(1,Math.min(a.interval,30))*1e3:Math.min(i+5e3,j);break;case`expired_token`:throw new k(`Device code has expired. Please try again.`,`expired_token`);case`access_denied`:throw new k(`Authorization request was denied.`,`access_denied`);default:throw new k(`Authorization error: ${a.error}${a.error_description?` - ${a.error_description}`:``}`,a.error)}}catch(e){if(e instanceof k)throw e;if(e instanceof DOMException&&e.name===`AbortError`)throw new k(`Authorization cancelled`,`cancelled`);console.warn(`Network error during polling, retrying:`,e)}try{await L(i,n.signal)}catch(e){throw e instanceof DOMException&&e.name===`AbortError`?new k(`Authorization cancelled`,`cancelled`):e}}throw new k(`Timeout waiting for authorization. Please try again.`,`timeout`)}function L(e,t){return new Promise((n,r)=>{if(t?.aborted){r(new DOMException(`Aborted`,`AbortError`));return}let i=setTimeout(n,e);t?.addEventListener(`abort`,()=>{clearTimeout(i),r(new DOMException(`Aborted`,`AbortError`))},{once:!0})})}var R=`/api/v1/settings/profiles`,z=100,B=class extends O{constructor(e){super(e),this.kind=`cloud`,this.orgId=e.orgId??null,this.proxy=e.proxy?{...e.proxy,host:e.proxy.host.replace(/\/+$/,``),path:e.proxy.path??`/api/cloud-proxy`}:void 0}async request(e){return e.hostOverride?this.requestThroughProxy(e):this.requestDirect(e)}startDeviceFlow(e={}){return F(this.host,e)}pollForToken(e,t){return I(this.host,e,t)}async getOrganizations(){let e=await this.get(`/api/organizations`);return{items:e?.items??[],currentOrgId:e?.current_org_id??null}}getCurrentApiKey(){return this.get(`/api/keys/current`)}async getOrganizationMe(e){let t=await this.get(`/api/organizations/${encodeURIComponent(e)}/me`);return{orgId:t?.org_id??e,userId:t?.user_id??``,role:t?.role??null,permissions:Array.isArray(t?.permissions)?t.permissions:null}}getSettings(){return this.get(`/api/v1/settings`)}async getSettingsWithDerivedFields(){let e=await this.getSettings();return{...e,agent_settings:q(e),conversation_settings:J(e),llm_api_key_set:!!e.llm_api_key_set,search_api_key_set:!!e.search_api_key_set,provider_tokens_set:e.provider_tokens_set}}async saveSettings(e){let t={};if(e.agent_settings_diff){let n={...e.agent_settings_diff};n.agent_context===null&&delete n.agent_context,Object.keys(n).length>0&&(t.agent_settings_diff=n)}if(e.conversation_settings_diff&&Object.keys(e.conversation_settings_diff).length>0&&(t.conversation_settings_diff=e.conversation_settings_diff),e.app_preferences)for(let[n,r]of Object.entries(e.app_preferences))r!==void 0&&(t[n]=r);await this.post(`/api/v1/settings`,t)}getSettingsSchema(){return this.get(`/api/v1/settings/agent-schema`)}getConversationSettingsSchema(){return this.get(`/api/v1/settings/conversation-schema`)}listProfiles(){return this.get(this.profileBasePath())}async getProfile(e){let t=await this.get(`${this.profileBasePath()}/${encodeURIComponent(e)}`);return{name:t.name,config:t.config??t.llm??{},api_key_set:t.api_key_set??!1}}saveProfile(e,t){return this.post(`${this.profileBasePath()}/${encodeURIComponent(e)}`,t)}deleteProfile(e){return this.delete(`${this.profileBasePath()}/${encodeURIComponent(e)}`)}renameProfile(e,t){return this.post(`${this.profileBasePath()}/${encodeURIComponent(e)}/rename`,{new_name:t})}async activateProfile(e){let t=await this.post(`${this.profileBasePath()}/${encodeURIComponent(e)}/activate`,{});return{name:t.name,message:t.message,llm_applied:t.model!=null||t.llm!=null}}async listSecrets(){let e=[],t=null;do{let n=new URLSearchParams({limit:String(z)});t&&n.set(`page_id`,t);let r=await this.get(`/api/v1/secrets/search?${n.toString()}`);e.push(...r.items??[]),t=r.next_page_id}while(t);return e}async createSecret(e,t,n){await this.post(`/api/v1/secrets`,{name:e,value:t,description:n})}async updateSecret(e,t,n){await this.put(`/api/v1/secrets/${encodeURIComponent(e)}`,{name:t,description:n})}async deleteSecret(e){await this.delete(`/api/v1/secrets/${encodeURIComponent(e)}`)}async listSkills(){let e=[],t=null;do{let n=new URLSearchParams({limit:String(z)});t&&n.set(`page_id`,t);let r=await this.get(`/api/v1/skills/search?${n.toString()}`);e.push(...r.items??[]),t=r.next_page_id}while(t);return e}searchRepositories(e){let t=new URLSearchParams;return t.set(`provider`,e.provider),t.set(`limit`,String(e.limit??100)),e.query&&t.set(`query`,e.query),e.pageId&&t.set(`page_id`,e.pageId),e.installationId&&t.set(`installation_id`,e.installationId),this.get(`/api/v1/git/repositories/search?${t.toString()}`)}getInstallations(e){let t=new URLSearchParams;return t.set(`provider`,e.provider),t.set(`limit`,String(e.limit??100)),e.pageId&&t.set(`page_id`,e.pageId),this.get(`/api/v1/git/installations/search?${t.toString()}`)}getRepositoryBranches(e){let t=new URLSearchParams;return t.set(`provider`,e.provider),t.set(`repository`,e.repository),t.set(`limit`,String(e.limit??30)),t.set(`query`,e.query??``),e.pageId&&t.set(`page_id`,e.pageId),this.get(`/api/v1/git/branches/search?${t.toString()}`)}getSuggestedTasks(e={}){let t=new URLSearchParams;return t.set(`limit`,String(e.limit??30)),e.pageId&&t.set(`page_id`,e.pageId),this.get(`/api/v1/git/suggested-tasks/search?${t.toString()}`)}searchModels(e){return this.get(`/api/v1/config/models/search${G(e)}`)}searchProviders(e){return this.get(`/api/v1/config/providers/search${G(e)}`)}searchConversations(e=20,t){let n=new URLSearchParams;return n.set(`limit`,String(e)),t&&n.set(`page_id`,t),n.set(`sort_order`,`UPDATED_AT_DESC`),this.get(`/api/v1/app-conversations/search?${n.toString()}`)}getConversations(e){if(e.length===0)return Promise.resolve([]);let t=new URLSearchParams;for(let n of e)t.append(`ids`,n);return this.get(`/api/v1/app-conversations?${t}`)}createConversation(e){return this.post(`/api/v1/app-conversations`,e)}downloadConversation(e){return this.get(`/api/v1/app-conversations/${e}/download`,{responseType:`blob`})}async deleteConversation(e){await this.delete(`/api/v1/app-conversations/${e}`)}updateConversationPublicFlag(e,t){return this.patch(`/api/v1/app-conversations/${e}`,{public:t})}async pauseSandbox(e){await this.post(`/api/v1/sandboxes/${e}/pause`,{})}async resumeSandbox(e){await this.post(`/api/v1/sandboxes/${e}/resume`,{})}getSandboxes(e){if(e.length===0)return Promise.resolve([]);let t=new URLSearchParams;for(let n of e)t.append(`id`,n);return this.get(`/api/v1/sandboxes?${t}`)}readConversationFile(e,t){let n=new URLSearchParams({file_path:t});return this.get(`/api/v1/app-conversations/${e}/file?${n}`,{responseType:`text`})}async getConversationStartTask(e){let t=new URLSearchParams;return t.append(`ids`,e),(await this.get(`/api/v1/app-conversations/start-tasks?${t}`))?.[0]??null}async switchConversationProfile(e,t){await this.post(`/api/v1/app-conversations/${e}/switch_profile`,{profile_name:t})}async switchConversationAcpModel(e,t){await this.post(`/api/v1/app-conversations/${e}/switch_acp_model`,{model:t})}async listAutomations(e=50,t=0){return this.get(`/api/automation/v1?${K(e,t)}`)}getAutomation(e){return this.get(`/api/automation/v1/${encodeURIComponent(e)}`)}updateAutomation(e,t){return this.patch(`/api/automation/v1/${encodeURIComponent(e)}`,t)}async deleteAutomation(e){await this.delete(`/api/automation/v1/${encodeURIComponent(e)}`)}dispatchAutomation(e){return this.post(`/api/automation/v1/${encodeURIComponent(e)}/dispatch`)}listAutomationRuns(e,t=50,n=0){return this.get(`/api/automation/v1/${encodeURIComponent(e)}/runs?${K(t,n)}`)}downloadAutomationTarball(e){return this.get(`/api/automation/v1/${encodeURIComponent(e)}/tarball`,{responseType:`blob`})}getAutomationHealth(){return this.get(`/api/automation/health`,{timeoutSeconds:5})}profileBasePath(){return this.orgId?`/api/organizations/${encodeURIComponent(this.orgId)}/profiles`:R}buildUpstreamAuthHeaders(e){let t=e.authMode??`bearer`;return t===`none`?{}:t===`session-api-key`?e.sessionApiKey?{"X-Session-API-Key":e.sessionApiKey}:{}:this.apiKey?{Authorization:`Bearer ${this.apiKey}`}:{}}async requestDirect(e){let t={...this.buildUpstreamAuthHeaders(e),...this.orgId?{"X-Org-Id":this.orgId}:{},...e.headers??{}};return V({host:this.host,method:e.method,path:e.path,params:e.params,body:e.body,headers:t,timeoutMs:e.timeoutSeconds?e.timeoutSeconds*1e3:this.timeout,acceptableStatusCodes:e.acceptableStatusCodes,responseType:e.responseType})}async requestThroughProxy(e){if(!this.proxy)throw Error(`CloudClient proxy options are required for hostOverride requests`);let t={...this.buildUpstreamAuthHeaders(e),...this.orgId?{"X-Org-Id":this.orgId}:{},...e.headers??{}},n={"Content-Type":`application/json`,...this.proxy.apiKey?{"X-Session-API-Key":this.proxy.apiKey}:{},...this.proxy.headers??{}},r=this.proxy.path??`/api/cloud-proxy`;return V({host:this.proxy.host,method:`POST`,path:r,body:{host:e.hostOverride,method:e.method,path:W(e.path,e.params),headers:t,body:e.body??null,...e.timeoutSeconds?{timeout_seconds:e.timeoutSeconds}:{}},headers:n,timeoutMs:this.timeout,acceptableStatusCodes:e.acceptableStatusCodes,responseType:e.responseType})}};async function V(e){let t=`${e.host.replace(/\/+$/,``)}${W(e.path,e.params)}`,n={...e.body instanceof FormData?{}:{"Content-Type":`application/json`},...e.headers??{}},r={method:e.method,headers:n,signal:AbortSignal.timeout(e.timeoutMs)};e.body!==void 0&&e.method!==`GET`&&(r.body=e.body instanceof FormData?e.body:JSON.stringify(e.body));let i;try{i=await fetch(t,r)}catch(t){throw t instanceof Error&&(t.name===`TimeoutError`||t.name===`AbortError`)?Error(`Request timeout after ${e.timeoutMs}ms`,{cause:t}):t}if(!(e.acceptableStatusCodes?.has(i.status)||!e.acceptableStatusCodes&&i.ok))throw await H(i);return U(i,e.responseType??`auto`)}async function H(e){let t;try{t=e.headers.get(`content-type`)?.includes(`application/json`)?await e.json():await e.text()}catch{t=null}return new n(e.status,e.statusText,t,`HTTP request failed (${e.status} ${e.statusText}): ${JSON.stringify(t)}`)}async function U(e,t){if(e.status===204)return;if(t===`blob`)return await e.blob();if(t===`arrayBuffer`)return await e.arrayBuffer();if(t===`text`)return await e.text();let n=e.headers.get(`content-type`);return t===`json`||n?.includes(`application/json`)?await e.json():await e.text()}function W(e,t){if(!t)return e;let[n,r=``]=e.split(`?`),i=new URLSearchParams(r);for(let[e,n]of Object.entries(t))n!=null&&(Array.isArray(n)?n.forEach(t=>i.append(e,String(t))):i.append(e,String(n)));let a=i.toString();return a?`${n}?${a}`:n}function G(e){let t=new URLSearchParams;for(let[n,r]of Object.entries(e))r!==void 0&&t.set(n,String(r));let n=t.toString();return n?`?${n}`:``}function K(e,t){let n=new URLSearchParams;return n.set(`limit`,String(e)),n.set(`offset`,String(t)),n.toString()}function q(e){if(e.agent_settings&&Object.keys(e.agent_settings).length>0)return e.agent_settings;let t={},n={};typeof e.llm_model==`string`&&(n.model=e.llm_model),typeof e.llm_base_url==`string`&&(n.base_url=e.llm_base_url),typeof e.llm_api_key==`string`&&(n.api_key=e.llm_api_key),Object.keys(n).length>0&&(t.llm=n);let r={};return typeof e.enable_default_condenser==`boolean`&&(r.enabled=e.enable_default_condenser),typeof e.condenser_max_size==`number`&&(r.max_size=e.condenser_max_size),Object.keys(r).length>0&&(t.condenser=r),typeof e.agent==`string`&&(t.agent=e.agent),e.mcp_config&&Object.keys(e.mcp_config).length>0&&(t.mcp_config=e.mcp_config),t}function J(e){if(e.conversation_settings&&Object.keys(e.conversation_settings).length>0)return e.conversation_settings;let t={};return typeof e.confirmation_mode==`boolean`&&(t.confirmation_mode=e.confirmation_mode),(typeof e.security_analyzer==`string`||e.security_analyzer===null)&&(t.security_analyzer=e.security_analyzer),typeof e.max_iterations==`number`&&(t.max_iterations=e.max_iterations),t}export{n as S,s as _,F as a,i as b,T as c,S as d,x as f,l as g,m as h,I as i,w as l,y as m,k as n,D as o,b as p,M as r,E as s,B as t,C as u,o as v,r as x,a as y};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t}from"./vendor-styling-CI0PQ3ab.js";import{t as n}from"./createLucideIcon-D4Tak8A1.js";import{t as r}from"./iconBase-
|
|
1
|
+
import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t}from"./vendor-styling-CI0PQ3ab.js";import{t as n}from"./createLucideIcon-D4Tak8A1.js";import{t as r}from"./iconBase-Ch-fOe8B.js";var i=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`}]]);function a(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function o(e){if(Array.isArray(e))return e}function s(e,t,n){return(t=g(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t!==0)for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function l(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
2
2
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function u(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 d(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?u(Object(n),!0).forEach(function(t){s(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function f(e,t){if(e==null)return{};var n,r,i=p(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function p(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function m(e,t){return o(e)||c(e,t)||_(e,t)||l()}function h(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function g(e){var t=h(e,`string`);return typeof t==`symbol`?t:t+``}function _(e,t){if(e){if(typeof e==`string`)return a(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(e,t):void 0}}function v(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function y(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?y(Object(n),!0).forEach(function(t){v(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):y(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function x(){var e=[...arguments];return function(t){return e.reduceRight(function(e,t){return t(e)},t)}}function S(e){return function t(){var n=this,r=[...arguments];return r.length>=e.length?e.apply(this,r):function(){var e=[...arguments];return t.apply(n,[].concat(r,e))}}}function C(e){return{}.toString.call(e).includes(`Object`)}function w(e){return!Object.keys(e).length}function T(e){return typeof e==`function`}function E(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function D(e,t){return C(t)||M(`changeType`),Object.keys(t).some(function(t){return!E(e,t)})&&M(`changeField`),t}function O(e){T(e)||M(`selectorType`)}function k(e){T(e)||C(e)||M(`handlerType`),C(e)&&Object.values(e).some(function(e){return!T(e)})&&M(`handlersType`)}function A(e){e||M(`initialIsRequired`),C(e)||M(`initialType`),w(e)&&M(`initialContent`)}function j(e,t){throw Error(e[t]||e.default)}var M=S(j)({initialIsRequired:`initial state is required`,initialType:`initial state should be an object`,initialContent:`initial state shouldn't be an empty object`,handlerType:`handler should be an object or a function`,handlersType:`all handlers should be a functions`,selectorType:`selector should be a function`,changeType:`provided value of changes should be an object`,changeField:`it seams you want to change a field in the state which is not specified in the "initial" state`,default:"an unknown error accured in `state-local` package"}),N={changes:D,selector:O,handler:k,initial:A};function P(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};N.initial(e),N.handler(t);var n={current:e},r=S(ee)(n,t),i=S(I)(n),a=S(N.changes)(e),o=S(F)(n);function s(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(e){return e};return N.selector(e),e(n.current)}function c(e){x(r,i,a,o)(e)}return[s,c]}function F(e,t){return T(t)?t(e.current):t}function I(e,t){return e.current=b(b({},e.current),t),t}function ee(e,t,n){return T(t)?t(e.current):Object.keys(n).forEach(function(n){return t[n]?.call(t,e.current[n])}),n}var te={create:P},ne={paths:{vs:`https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs`}};function re(e){return function t(){var n=this,r=[...arguments];return r.length>=e.length?e.apply(this,r):function(){var e=[...arguments];return t.apply(n,[].concat(r,e))}}}function ie(e){return{}.toString.call(e).includes(`Object`)}function ae(e){return e||L(`configIsRequired`),ie(e)||L(`configType`),e.urls?(oe(),{paths:{vs:e.urls.monacoBase}}):e}function oe(){console.warn(ce.deprecation)}function se(e,t){throw Error(e[t]||e.default)}var ce={configIsRequired:`the configuration object is required`,configType:`the configuration object should be an object`,default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:`Deprecation warning!
|
|
3
3
|
You are using deprecated way of configuration.
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./iconBase-
|
|
1
|
+
import{t as e}from"./iconBase-Ch-fOe8B.js";function t(t){return e({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`48`,d:`m184 112 144 144-144 144`},child:[]}]})(t)}function n(t){return e({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{fill:`none`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`48`,d:`m112 184 144 144 144-144`},child:[]}]})(t)}export{t as n,n as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./iconBase-
|
|
1
|
+
import{t as e}from"./iconBase-Ch-fOe8B.js";function t(t){return e({tag:`svg`,attr:{viewBox:`0 0 384 512`},child:[{tag:`path`,attr:{d:`M384 144c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 36.4 24.3 67.1 57.5 76.8-.6 16.1-4.2 28.5-11 36.9-15.4 19.2-49.3 22.4-85.2 25.7-28.2 2.6-57.4 5.4-81.3 16.9v-144c32.5-10.2 56-40.5 56-76.3 0-44.2-35.8-80-80-80S0 35.8 0 80c0 35.8 23.5 66.1 56 76.3v199.3C23.5 365.9 0 396.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-34-21.2-63.1-51.2-74.6 3.1-5.2 7.8-9.8 14.9-13.4 16.2-8.2 40.4-10.4 66.1-12.8 42.2-3.9 90-8.4 118.2-43.4 14-17.4 21.1-39.8 21.6-67.9 31.6-10.8 54.4-40.7 54.4-75.9zM80 64c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm0 384c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm224-320c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16z`},child:[]}]})(t)}function n(t){return e({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm92.49,313h0l-20,25a16,16,0,0,1-22.49,2.5h0l-67-49.72a40,40,0,0,1-15-31.23V112a16,16,0,0,1,16-16h32a16,16,0,0,1,16,16V256l58,42.5A16,16,0,0,1,348.49,321Z`},child:[]}]})(t)}function r(t){return e({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M32 448c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V160H32v288zm160-212c0-6.6 5.4-12 12-12h104c6.6 0 12 5.4 12 12v8c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-8zM480 32H32C14.3 32 0 46.3 0 64v48c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16V64c0-17.7-14.3-32-32-32z`},child:[]}]})(t)}export{n,t as r,r as t};
|
package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation-YrfJYTQw.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,t}from"./rolldown-runtime-BFRubm34.js";import{Ct as n}from"./vendor-styling-CI0PQ3ab.js";import{t as r}from"./createLucideIcon-D4Tak8A1.js";import{bt as i,xt as a}from"./vendor-markdown-DzO4uO_0.js";var o=r(`folder-open`,[[`path`,{d:`m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2`,key:`usdka0`}]]),s=e(n(),1),c=e=>typeof e==`object`&&!!e&&e.nodeType===1,l=(e,t)=>(!t||e!==`hidden`)&&e!==`visible`&&e!==`clip`,u=(e,t)=>{if(e.clientHeight<e.scrollHeight||e.clientWidth<e.scrollWidth){let n=getComputedStyle(e,null);return l(n.overflowY,t)||l(n.overflowX,t)||(e=>{let t=(e=>{if(!e.ownerDocument||!e.ownerDocument.defaultView)return null;try{return e.ownerDocument.defaultView.frameElement}catch{return null}})(e);return!!t&&(t.clientHeight<e.scrollHeight||t.clientWidth<e.scrollWidth)})(e)}return!1},d=(e,t,n,r,i,a,o,s)=>a<e&&o>t||a>e&&o<t?0:a<=e&&s<=n||o>=t&&s>=n?a-e-r:o>t&&s<n||a<e&&s>n?o-t+i:0,f=e=>e.parentElement??(e.getRootNode().host||null),p=(e,t)=>{if(typeof document>`u`)return[];let{scrollMode:n,block:r,inline:i,boundary:a,skipOverflowHiddenElements:o}=t,s=typeof a==`function`?a:e=>e!==a;if(!c(e))throw TypeError(`Invalid target`);let l=document.scrollingElement||document.documentElement,p=[],m=e;for(;c(m)&&s(m);){if(m=f(m),m===l){p.push(m);break}m!=null&&m===document.body&&u(m)&&!u(document.documentElement)||m!=null&&u(m,o)&&p.push(m)}let h=window.visualViewport?.width??innerWidth,g=window.visualViewport?.height??innerHeight,{scrollX:_,scrollY:v}=window,{height:y,width:b,top:x,right:S,bottom:C,left:w}=e.getBoundingClientRect(),{top:T,right:E,bottom:D,left:O}=(e=>{let t=window.getComputedStyle(e);return{top:parseFloat(t.scrollMarginTop)||0,right:parseFloat(t.scrollMarginRight)||0,bottom:parseFloat(t.scrollMarginBottom)||0,left:parseFloat(t.scrollMarginLeft)||0}})(e),k=r===`start`||r===`nearest`?x-T:r===`end`?C+D:x+y/2-T+D,A=i===`center`?w+b/2-O+E:i===`end`?S+E:w-O,j=[];for(let e=0;e<p.length;e++){let t=p[e],{height:a,width:o,top:s,right:c,bottom:f,left:m}=t.getBoundingClientRect();if(n===`if-needed`&&x>=0&&w>=0&&C<=g&&S<=h&&(t===l&&!u(t)||x>=s&&C<=f&&w>=m&&S<=c))return j;let T=getComputedStyle(t),E=parseInt(T.borderLeftWidth,10),D=parseInt(T.borderTopWidth,10),O=parseInt(T.borderRightWidth,10),M=parseInt(T.borderBottomWidth,10),N=0,P=0,F=`offsetWidth`in t?t.offsetWidth-t.clientWidth-E-O:0,I=`offsetHeight`in t?t.offsetHeight-t.clientHeight-D-M:0,L=`offsetWidth`in t?t.offsetWidth===0?0:o/t.offsetWidth:0,R=`offsetHeight`in t?t.offsetHeight===0?0:a/t.offsetHeight:0;if(l===t)N=r===`start`?k:r===`end`?k-g:r===`nearest`?d(v,v+g,g,D,M,v+k,v+k+y,y):k-g/2,P=i===`start`?A:i===`center`?A-h/2:i===`end`?A-h:d(_,_+h,h,E,O,_+A,_+A+b,b),N=Math.max(0,N+v),P=Math.max(0,P+_);else{N=r===`start`?k-s-D:r===`end`?k-f+M+I:r===`nearest`?d(s,f,a,D,M+I,k,k+y,y):k-(s+a/2)+I/2,P=i===`start`?A-m-E:i===`center`?A-(m+o/2)+F/2:i===`end`?A-c+O+F:d(m,c,o,E,O+F,A,A+b,b);let{scrollLeft:e,scrollTop:n}=t;N=R===0?0:Math.max(0,Math.min(n+N/R,t.scrollHeight-a/R+I)),P=L===0?0:Math.max(0,Math.min(e+P/L,t.scrollWidth-o/L+F)),k+=n-N,A+=e-P}j.push({el:t,top:N,left:P})}return j},m=t(((e,t)=>{t.exports=`SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED`})),h=t(((e,t)=>{var n=m();function r(){}function i(){}i.resetWarningCache=r,t.exports=function(){function e(e,t,r,i,a,o){if(o!==n){var s=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name=`Invariant Violation`,s}}e.isRequired=e;function t(){return e}var a={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:r};return a.PropTypes=a,a}})),g=t(((e,t)=>{t.exports=h()()})),_=t((e=>{})),v=t(((e,t)=>{t.exports=_()})),y=e(g(),1);v();var b=0;function x(){return String(b++)}function S(e){var t=s.useRef(e);return t.current=e,t}function C(){var e=[...arguments];return function(t){e.forEach(function(e){typeof e==`function`?e(t):e&&(e.current=t)})}}function w(){var e=[...arguments];return function(t){var n=[...arguments].slice(1);return e.some(function(e){return e&&e.apply(void 0,[t].concat(n)),t.preventDownshiftDefault||t.hasOwnProperty(`nativeEvent`)&&t.nativeEvent.preventDownshiftDefault})}}function T(e,t){var n;function r(){n&&clearTimeout(n)}function i(){var i=[...arguments];r(),n=setTimeout(function(){n=null,e.apply(void 0,i)},t)}return i.cancel=r,i}var E=T(function(e){D(e).textContent=``},500);function D(e){var t=e.getElementById(`a11y-status-message`);return t||(t=e.createElement(`div`),t.setAttribute(`id`,`a11y-status-message`),t.setAttribute(`role`,`status`),t.setAttribute(`aria-live`,`polite`),t.setAttribute(`aria-relevant`,`additions text`),Object.assign(t.style,{border:`0`,clip:`rect(0 0 0 0)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:`0`,position:`absolute`,width:`1px`}),e.body.appendChild(t),t)}function O(e,t){if(!(!e||!t)){var n=D(t);n.textContent=e,E(t)}}function k(e){var t=e?.getElementById(`a11y-status-message`);t&&t.remove()}function A(){}var j=A;function M(e,t){return t?Object.keys(e).reduce(function(e,n){return t[n]!==void 0&&(e[n]=t[n]),e},a({},e)):e}function N(e,t){e&&p(e,{boundary:t,block:`nearest`,scrollMode:`if-needed`}).forEach(function(e){var t=e.el,n=e.top,r=e.left;t.scrollTop=n,t.scrollLeft=r})}function P(e,t,n){return e===t||t instanceof n.Node&&e.contains&&e.contains(t)}function F(e,t){var n;function r(){n&&clearTimeout(n)}function i(){var i=[...arguments];r(),n=setTimeout(function(){n=null,e.apply(void 0,i)},t)}return i.cancel=r,i}function I(){var e=[...arguments];return function(t){var n=[...arguments].slice(1);return e.some(function(e){return e&&e.apply(void 0,[t].concat(n)),t.preventDownshiftDefault||t.hasOwnProperty(`nativeEvent`)&&t.nativeEvent.preventDownshiftDefault})}}function L(){var e=[...arguments];return function(t){e.forEach(function(e){typeof e==`function`?e(t):e&&(e.current=t)})}}function R(e,t){return e[t]!==void 0}function z(e){var t=e.key,n=e.keyCode;return n>=37&&n<=40&&t.indexOf(`Arrow`)!==0?`Arrow`+t:t}function B(e,t,n,r,i){i===void 0&&(i=!1);var a=n.length;if(a===0)return-1;var o=a-1;(typeof e!=`number`||e<0||e>o)&&(e=t>0?-1:o+1);var s=e+t;s<0?s=i?o:0:s>o&&(s=i?0:o);var c=V(s,t<0,n,r,i);return c===-1?e>=a?-1:e:c}function V(e,t,n,r,i){i===void 0&&(i=!1);var a=n.length;if(t){for(var o=e;o>=0;o--)if(!r(n[o],o))return o}else for(var s=e;s<a;s++)if(!r(n[s],s))return s;return i?V(t?a-1:0,t,n,r):-1}function ee(e,t,n,r){return r===void 0&&(r=!0),n&&t.some(function(t){return t&&(P(t,e,n)||r&&P(t,n.document.activeElement,n))})}function H(e){return``+e.slice(0,1).toUpperCase()+e.slice(1)}function te(e,t,n,r){for(var i=e.type,o={},s=Object.keys(n),c=0,l=s;c<l.length;c++){var u=l[c];ne(u,e,t,n,r),r[u]!==n[u]&&(o[u]=r[u])}t.onStateChange&&Object.keys(o).length&&t.onStateChange(a({type:i},o))}function ne(e,t,n,r,i){if(i[e]!==r[e]){var o=n[`on`+H(e)+`Change`];if(typeof o==`function`){var s=t.type;o(a({type:s},i))}}}function re(e,t,n,r){var i=s.useRef(null),o=s.useRef(void 0),c=S(t),l=s.useCallback(function(t,n){o.current=n,t=M(t,c.current);var r=e(t,c.current,n),i=c.current.stateReducer(t,a({},n,{changes:r}));return a({},t,i)},[c,e]),u=s.useReducer(l,t,n),d=u[0],f=u[1],p=o.current;return s.useEffect(function(){var e=M(i.current??{},c.current);p&&i.current&&!r(e,d)&&te(p,c.current,e,d),i.current=d},[d,p,r,c]),[d,f]}function ie(e,t,n,r){var i=re(e,t,n,r),a=i[0],o=i[1];return[M(a,t),o]}function ae(e,t,n,r){if(e!==void 0&&t!==void 0)return[e,t];if(e!==void 0){if(n.indexOf(e)<0)throw Error(r);return[e,n.indexOf(e)]}if(t!==void 0){var i=n[t];if(i===void 0)throw Error(r);return[i,t]}throw Error(r)}function U(){var e=s.useRef(!0);return s.useEffect(function(){return e.current=!1,function(){e.current=!0}},[]),e.current}function oe(e,t){return t.changes}var se={environment:y.default.shape({addEventListener:y.default.func.isRequired,removeEventListener:y.default.func.isRequired,document:y.default.shape({createElement:y.default.func.isRequired,getElementById:y.default.func.isRequired,activeElement:y.default.any.isRequired,body:y.default.any.isRequired}).isRequired,Node:y.default.func.isRequired}),itemToKey:y.default.func,stateReducer:y.default.func};function W(e,t,n){var r=e[`default`+H(t)];return r===void 0?n[t]:r}function G(e,t,n){var r=e[t];if(r!==void 0)return r;var i=e[`initial`+H(t)];return i===void 0?W(e,t,n):i}var ce=T(function(e,t){O(e,t)},200);function le(e,t,n,r){var i=r?.document,a=U();s.useEffect(function(){!e||a||!i||ce(e(t),i)},n),s.useEffect(function(){return function(){ce.cancel(),k(i)}},[i])}var K=a({},se,{getA11yStatusMessage:y.default.func,highlightedIndex:y.default.number,defaultHighlightedIndex:y.default.number,initialHighlightedIndex:y.default.number,isOpen:y.default.bool,defaultIsOpen:y.default.bool,initialIsOpen:y.default.bool,selectedItem:y.default.any,initialSelectedItem:y.default.any,defaultSelectedItem:y.default.any,id:y.default.string,labelId:y.default.string,menuId:y.default.string,getItemId:y.default.func,toggleButtonId:y.default.string,onSelectedItemChange:y.default.func,onHighlightedIndexChange:y.default.func,onStateChange:y.default.func,onIsOpenChange:y.default.func,scrollIntoView:y.default.func}),q={itemToString:function(e){return e?String(e):``},itemToKey:function(e){return e},stateReducer:oe,scrollIntoView:N,environment:typeof window>`u`?void 0:window},J={highlightedIndex:-1,isOpen:!1,selectedItem:null,inputValue:``},ue=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0?s.useLayoutEffect:s.useEffect;function de(e){return/^\S{1}$/.test(e)}function fe(e){var t=G(e,`selectedItem`,J),n=G(e,`isOpen`,J),r=ve(e),i=G(e,`inputValue`,J);return{highlightedIndex:r<0&&t&&n?e.items.findIndex(function(n){return e.itemToKey(n)===e.itemToKey(t)}):r,isOpen:n,selectedItem:t,inputValue:i}}function Y(e,t,n){var r=e.items,i=e.initialHighlightedIndex,a=e.defaultHighlightedIndex,o=e.isItemDisabled,s=e.itemToKey,c=t.selectedItem,l=t.highlightedIndex;return r.length===0?-1:i!==void 0&&l===i&&!o(r[i],i)?i:a!==void 0&&!o(r[a],a)?a:c?r.findIndex(function(e){return s(c)===s(e)}):n<0&&!o(r[r.length-1],r.length-1)?r.length-1:n>0&&!o(r[0],0)?0:-1}function pe(e,t,n){var r=s.useRef({isMouseDown:!1,isTouchMove:!1,isTouchEnd:!1}),i=s.useCallback(function(){return n.map(function(e){return e.current})},[n]);return s.useEffect(function(){if(!e)return A;function n(){r.current.isTouchEnd=!1,r.current.isMouseDown=!0}function a(n){r.current.isMouseDown=!1,ee(n.target,i(),e)||t()}function o(){r.current.isTouchEnd=!1,r.current.isTouchMove=!1}function s(){r.current.isTouchMove=!0}function c(n){r.current.isTouchEnd=!0,!r.current.isTouchMove&&!ee(n.target,i(),e,!1)&&t()}return e.addEventListener(`mousedown`,n),e.addEventListener(`mouseup`,a),e.addEventListener(`touchstart`,o),e.addEventListener(`touchmove`,s),e.addEventListener(`touchend`,c),function(){e.removeEventListener(`mousedown`,n),e.removeEventListener(`mouseup`,a),e.removeEventListener(`touchstart`,o),e.removeEventListener(`touchmove`,s),e.removeEventListener(`touchend`,c)}},[e,i,t]),r.current}var me=function(){return A};function he(e){var t=e.highlightedIndex,n=e.isOpen,r=e.itemRefs,i=e.getItemNodeFromIndex,a=e.menuElement,o=e.scrollIntoView,c=s.useRef(!0);return ue(function(){t<0||!n||!Object.keys(r.current).length||(c.current===!1?c.current=!0:o(i(t),a))},[t]),c}var ge=A;function X(e,t,n){return n===void 0&&(n=!0),a({isOpen:!1,highlightedIndex:-1},e.items?.length&&t>=0&&a({selectedItem:e.items[t],isOpen:W(e,`isOpen`,J),highlightedIndex:W(e,`highlightedIndex`,J)},n&&{inputValue:e.itemToString(e.items[t])}))}function _e(e,t){return e.isOpen===t.isOpen&&e.inputValue===t.inputValue&&e.highlightedIndex===t.highlightedIndex&&e.selectedItem===t.selectedItem}function Z(e){var t=W(e,`highlightedIndex`,J);return t>-1&&e.isItemDisabled(e.items[t],t)?-1:t}function ve(e){var t=G(e,`highlightedIndex`,J);return t>-1&&e.isItemDisabled(e.items[t],t)?-1:t}function ye(e,t,n,r){var i=n.type,o;switch(i){case r.ItemMouseMove:o={highlightedIndex:n.disabled?-1:n.index};break;case r.MenuMouseLeave:o={highlightedIndex:-1};break;case r.ToggleButtonClick:case r.FunctionToggleMenu:o={isOpen:!e.isOpen,highlightedIndex:e.isOpen?-1:Y(t,e,0)};break;case r.FunctionOpenMenu:o={isOpen:!0,highlightedIndex:Y(t,e,0)};break;case r.FunctionCloseMenu:o={isOpen:!1};break;case r.FunctionSetHighlightedIndex:o={highlightedIndex:t.isItemDisabled(t.items[n.highlightedIndex],n.highlightedIndex)?-1:n.highlightedIndex};break;case r.FunctionSetInputValue:o={inputValue:n.inputValue};break;case r.FunctionReset:o={highlightedIndex:Z(t),isOpen:W(t,`isOpen`,J),selectedItem:W(t,`selectedItem`,J),inputValue:W(t,`inputValue`,J)};break;default:throw Error(`Reducer called without proper action type.`)}return a({},e,o)}var be=a({},K,{items:y.default.array.isRequired,isItemDisabled:y.default.func}),xe=a({},q,{isItemDisabled:function(){return!1}});function Se(e){for(var t=e.keysSoFar,n=e.highlightedIndex,r=e.items,i=e.itemToString,a=e.isItemDisabled,o=t.toLowerCase(),s=0;s<r.length;s++){var c=(s+n+ +(t.length<2))%r.length,l=r[c];if(l!==void 0&&i(l).toLowerCase().startsWith(o)&&!a(l,c))return c}return n}var Q=0,Ce=1,we=2,$=3,Te=4,Ee=5,De=6,Oe=7,ke=8,Ae=9,je=10,Me=11,Ne=12,Pe=13,Fe=14,Ie=15,Le=16,Re=17,ze=18,Be=19,Ve=20,He=21,Ue=Object.freeze({__proto__:null,FunctionCloseMenu:Re,FunctionOpenMenu:Le,FunctionReset:He,FunctionSelectItem:Be,FunctionSetHighlightedIndex:ze,FunctionSetInputValue:Ve,FunctionToggleMenu:Ie,ItemClick:Fe,ItemMouseMove:Pe,MenuMouseLeave:Ne,ToggleButtonBlur:Me,ToggleButtonClick:Q,ToggleButtonKeyDownArrowDown:Ce,ToggleButtonKeyDownArrowUp:we,ToggleButtonKeyDownCharacter:$,ToggleButtonKeyDownEnd:De,ToggleButtonKeyDownEnter:Oe,ToggleButtonKeyDownEscape:Te,ToggleButtonKeyDownHome:Ee,ToggleButtonKeyDownPageDown:je,ToggleButtonKeyDownPageUp:Ae,ToggleButtonKeyDownSpaceButton:ke});function We(e,t,n){var r=n.type,i=n.altKey,o;switch(r){case Fe:o={isOpen:W(t,`isOpen`,J),highlightedIndex:Z(t),selectedItem:t.items[n.index]};break;case $:var s=n.key,c=``+e.inputValue+s;o={inputValue:c,highlightedIndex:Se({keysSoFar:c,highlightedIndex:!e.isOpen&&e.selectedItem?t.items.findIndex(function(n){return t.itemToKey(n)===t.itemToKey(e.selectedItem)}):e.highlightedIndex,items:t.items,itemToString:t.itemToString,isItemDisabled:t.isItemDisabled}),isOpen:!0};break;case Ce:o={highlightedIndex:e.isOpen?B(e.highlightedIndex,1,t.items,t.isItemDisabled):i&&e.selectedItem==null?-1:Y(t,e,1),isOpen:!0};break;case we:o=e.isOpen&&i?X(t,e.highlightedIndex,!1):{highlightedIndex:e.isOpen?B(e.highlightedIndex,-1,t.items,t.isItemDisabled):Y(t,e,-1),isOpen:!0};break;case Oe:case ke:o=X(t,e.highlightedIndex,!1);break;case Ee:o={highlightedIndex:V(0,!1,t.items,t.isItemDisabled),isOpen:!0};break;case De:o={highlightedIndex:V(t.items.length-1,!0,t.items,t.isItemDisabled),isOpen:!0};break;case Ae:o={highlightedIndex:B(e.highlightedIndex,-10,t.items,t.isItemDisabled)};break;case je:o={highlightedIndex:B(e.highlightedIndex,10,t.items,t.isItemDisabled)};break;case Te:o={isOpen:!1,highlightedIndex:-1};break;case Me:o=a({isOpen:!1,highlightedIndex:-1},e.highlightedIndex>=0&&t.items?.length&&{selectedItem:t.items[e.highlightedIndex]});break;case Be:o={selectedItem:n.selectedItem};break;default:return ye(e,t,n,Ue)}return a({},e,o)}var Ge=a({},s).useId,Ke=typeof Ge==`function`?qe:Je;function qe(e){var t=e.id,n=e.labelId,r=e.menuId,i=e.getItemId,a=e.toggleButtonId,o=e.inputId,c=`downshift-`+Ge();return t||=c,s.useMemo(function(){return{labelId:n??t+`-label`,menuId:r??t+`-menu`,getItemId:i??function(e){return t+`-item-`+e},toggleButtonId:a??t+`-toggle-button`,inputId:o??t+`-input`}},[i,t,o,n,r,a])}function Je(e){var t=e.id,n=e.labelId,r=e.menuId,i=e.getItemId,a=e.toggleButtonId,o=e.inputId,c=s.useRef(t??`downshift-`+x()).current;return s.useMemo(function(){return{labelId:n??c+`-label`,menuId:r??c+`-menu`,getItemId:i??function(e){return c+`-item-`+e},toggleButtonId:a??c+`-toggle-button`,inputId:o??c+`-input`}},[i,o,n,r,a,c])}var Ye=[`onClick`],Xe=[`onMouseLeave`,`refKey`,`ref`],Ze=[`onBlur`,`onClick`,`onPress`,`onKeyDown`,`refKey`,`ref`],Qe=[`item`,`index`,`onMouseMove`,`onClick`,`onMouseDown`,`onPress`,`refKey`,`disabled`,`ref`];$e.stateChangeTypes=Ue;function $e(e){e===void 0&&(e={}),j(e,$e,be);var t=a({},xe,e),n=t.scrollIntoView,r=t.environment,o=t.getA11yStatusMessage,c=ie(We,t,fe,_e),l=c[0],u=c[1],d=l.isOpen,f=l.highlightedIndex,p=l.selectedItem,m=l.inputValue,h=(0,s.useRef)(null),g=(0,s.useRef)(null),_=(0,s.useRef)({}),v=(0,s.useRef)(null),y=Ke(t),b=S({state:l,props:t}),x=(0,s.useCallback)(function(e){return _.current[y.getItemId(e)]},[y]);le(o,l,[d,f,p,m],r);var C=he({menuElement:g.current,highlightedIndex:f,isOpen:d,itemRefs:_,scrollIntoView:n,getItemNodeFromIndex:x});(0,s.useEffect)(function(){return v.current=F(function(e){e({type:Ve,inputValue:``})},500),function(){v.current.cancel()}},[]),(0,s.useEffect)(function(){m&&v.current(u)},[u,m]),ge({props:t,state:l}),(0,s.useEffect)(function(){G(t,`isOpen`,J)&&h.current&&h.current.focus()},[]);var w=pe(r,(0,s.useCallback)(function(){b.current.state.isOpen&&u({type:Me})},[u,b]),(0,s.useMemo)(function(){return[g,h]},[])),T=me(`getMenuProps`,`getToggleButtonProps`);(0,s.useEffect)(function(){d||(_.current={})},[d]);var E=(0,s.useMemo)(function(){return{ArrowDown:function(e){e.preventDefault(),u({type:Ce,altKey:e.altKey})},ArrowUp:function(e){e.preventDefault(),u({type:we,altKey:e.altKey})},Home:function(e){e.preventDefault(),u({type:Ee})},End:function(e){e.preventDefault(),u({type:De})},Escape:function(){b.current.state.isOpen&&u({type:Te})},Enter:function(e){e.preventDefault(),u({type:b.current.state.isOpen?Oe:Q})},PageUp:function(e){b.current.state.isOpen&&(e.preventDefault(),u({type:Ae}))},PageDown:function(e){b.current.state.isOpen&&(e.preventDefault(),u({type:je}))}," ":function(e){e.preventDefault();var t=b.current.state;if(!t.isOpen){u({type:Q});return}t.inputValue?u({type:$,key:` `}):u({type:ke})}}},[u,b]),D=(0,s.useCallback)(function(){u({type:Ie})},[u]),O=(0,s.useCallback)(function(){u({type:Re})},[u]),k=(0,s.useCallback)(function(){u({type:Le})},[u]),A=(0,s.useCallback)(function(e){u({type:ze,highlightedIndex:e})},[u]),M=(0,s.useCallback)(function(e){u({type:Be,selectedItem:e})},[u]),N=(0,s.useCallback)(function(){u({type:He})},[u]),P=(0,s.useCallback)(function(e){u({type:Ve,inputValue:e})},[u]),R=(0,s.useCallback)(function(e){var t=e===void 0?{}:e,n=t.onClick,r=i(t,Ye);return a({id:y.labelId,htmlFor:y.toggleButtonId,onClick:I(n,function(){var e;(e=h.current)==null||e.focus()})},r)},[y]),B=(0,s.useCallback)(function(e,t){var n,r=e===void 0?{}:e,o=r.onMouseLeave,s=r.refKey,c=s===void 0?`ref`:s,l=r.ref,d=i(r,Xe),f=(t===void 0?{}:t).suppressRefError;return T(`getMenuProps`,f===void 0?!1:f,c,g),a((n={},n[c]=L(l,function(e){g.current=e}),n.id=y.menuId,n.role=`listbox`,n[`aria-labelledby`]=d&&d[`aria-label`]?void 0:``+y.labelId,n.onMouseLeave=I(o,function(){u({type:Ne})}),n),d)},[u,T,y]);return{getToggleButtonProps:(0,s.useCallback)(function(e,t){var n,r=e===void 0?{}:e,o=r.onBlur,s=r.onClick;r.onPress;var c=r.onKeyDown,l=r.refKey,d=l===void 0?`ref`:l,f=r.ref,p=i(r,Ze),m=(t===void 0?{}:t).suppressRefError,g=m===void 0?!1:m,_=b.current.state,v=function(){u({type:Q})},x=function(){_.isOpen&&!w.isMouseDown&&u({type:Me})},S=function(e){var t=z(e);t&&E[t]?E[t](e):de(t)&&u({type:$,key:t})},C=a((n={},n[d]=L(f,function(e){h.current=e}),n[`aria-activedescendant`]=_.isOpen&&_.highlightedIndex>-1?y.getItemId(_.highlightedIndex):``,n[`aria-controls`]=y.menuId,n[`aria-expanded`]=b.current.state.isOpen,n[`aria-haspopup`]=`listbox`,n[`aria-labelledby`]=p&&p[`aria-label`]?void 0:``+y.labelId,n.id=y.toggleButtonId,n.role=`combobox`,n.tabIndex=0,n.onBlur=I(o,x),n),p);return p.disabled||(C.onClick=I(s,v),C.onKeyDown=I(c,S)),T(`getToggleButtonProps`,g,d,h),C},[u,y,b,w,T,E]),getLabelProps:R,getMenuProps:B,getItemProps:(0,s.useCallback)(function(e){var t,n=e===void 0?{}:e,r=n.item,o=n.index,s=n.onMouseMove,c=n.onClick,l=n.onMouseDown;n.onPress;var d=n.refKey,f=d===void 0?`ref`:d,p=n.disabled,m=n.ref,h=i(n,Qe);p!==void 0&&console.warn(`Passing "disabled" as an argument to getItemProps is not supported anymore. Please use the isItemDisabled prop from useSelect.`);var g=b.current,v=g.state,x=g.props,S=ae(r,o,x.items,`Pass either item or index to getItemProps!`),T=S[0],E=S[1],D=x.isItemDisabled(T,E),O=function(){w.isTouchEnd||E===v.highlightedIndex||(C.current=!1,u({type:Pe,index:E,disabled:D}))},k=function(){u({type:Fe,index:E})},A=function(e){return e.preventDefault()},j=a((t={},t[f]=L(m,function(e){e&&(_.current[y.getItemId(E)]=e)}),t[`aria-disabled`]=D,t[`aria-selected`]=T===v.selectedItem,t.id=y.getItemId(E),t.role=`option`,t),h);return D||(j.onClick=I(c,k)),j.onMouseMove=I(s,O),j.onMouseDown=I(l,A),j},[b,y,w,C,u]),toggleMenu:D,openMenu:k,closeMenu:O,setHighlightedIndex:A,selectItem:M,reset:N,setInputValue:P,highlightedIndex:f,isOpen:d,selectedItem:p,inputValue:m}}var et=0,tt=1,nt=2,rt=3,it=4,at=5,ot=6,st=7,ct=8,lt=9,ut=10,dt=11,ft=12,pt=13,mt=14,ht=15,gt=16,_t=17,vt=18,yt=19,bt=20,xt=21,St=22,Ct=Object.freeze({__proto__:null,ControlledPropUpdatedSelectedItem:St,FunctionCloseMenu:_t,FunctionOpenMenu:gt,FunctionReset:xt,FunctionSelectItem:yt,FunctionSetHighlightedIndex:vt,FunctionSetInputValue:bt,FunctionToggleMenu:ht,InputBlur:lt,InputChange:ct,InputClick:ut,InputKeyDownArrowDown:et,InputKeyDownArrowUp:tt,InputKeyDownEnd:it,InputKeyDownEnter:st,InputKeyDownEscape:nt,InputKeyDownHome:rt,InputKeyDownPageDown:ot,InputKeyDownPageUp:at,ItemClick:pt,ItemMouseMove:ft,MenuMouseLeave:dt,ToggleButtonClick:mt});function wt(e){var t=fe(e),n=t.selectedItem,r=t.inputValue;return r===``&&n&&e.defaultInputValue===void 0&&e.initialInputValue===void 0&&e.inputValue===void 0&&(r=e.itemToString(n)),a({},t,{inputValue:r})}var Tt=a({},K,{items:y.default.array.isRequired,isItemDisabled:y.default.func,inputValue:y.default.string,defaultInputValue:y.default.string,initialInputValue:y.default.string,inputId:y.default.string,onInputValueChange:y.default.func});function Et(e,t,n,r){var i=(0,s.useRef)(),a=re(e,t,n,r),o=a[0],c=a[1],l=U();return(0,s.useEffect)(function(){R(t,`selectedItem`)&&(l||t.itemToKey(t.selectedItem)!==t.itemToKey(i.current)&&c({type:St,inputValue:t.itemToString(t.selectedItem)}),i.current=o.selectedItem===i.current?t.selectedItem:o.selectedItem)},[o.selectedItem,t.selectedItem]),[M(o,t),c]}var Dt=a({},q,{isItemDisabled:function(){return!1}});function Ot(e,t,n){var r=n.type,i=n.altKey,o;switch(r){case pt:o={isOpen:W(t,`isOpen`,J),highlightedIndex:Z(t),selectedItem:t.items[n.index],inputValue:t.itemToString(t.items[n.index])};break;case et:o=e.isOpen?{highlightedIndex:B(e.highlightedIndex,1,t.items,t.isItemDisabled,!0)}:{highlightedIndex:i&&e.selectedItem==null?-1:Y(t,e,1),isOpen:t.items.length>=0};break;case tt:o=e.isOpen?i?X(t,e.highlightedIndex):{highlightedIndex:B(e.highlightedIndex,-1,t.items,t.isItemDisabled,!0)}:{highlightedIndex:Y(t,e,-1),isOpen:t.items.length>=0};break;case st:o=X(t,e.highlightedIndex);break;case nt:o=a({isOpen:!1,highlightedIndex:-1},!e.isOpen&&{selectedItem:null,inputValue:``});break;case at:o={highlightedIndex:B(e.highlightedIndex,-10,t.items,t.isItemDisabled,!0)};break;case ot:o={highlightedIndex:B(e.highlightedIndex,10,t.items,t.isItemDisabled,!0)};break;case rt:o={highlightedIndex:V(0,!1,t.items,t.isItemDisabled)};break;case it:o={highlightedIndex:V(t.items.length-1,!0,t.items,t.isItemDisabled)};break;case lt:o=a({isOpen:!1,highlightedIndex:-1},e.highlightedIndex>=0&&t.items?.length&&n.selectItem&&{selectedItem:t.items[e.highlightedIndex],inputValue:t.itemToString(t.items[e.highlightedIndex])});break;case ct:o={isOpen:!0,highlightedIndex:Z(t),inputValue:n.inputValue};break;case ut:o={isOpen:!e.isOpen,highlightedIndex:e.isOpen?-1:Y(t,e,0)};break;case yt:o={selectedItem:n.selectedItem,inputValue:t.itemToString(n.selectedItem)};break;case St:o={inputValue:n.inputValue};break;default:return ye(e,t,n,Ct)}return a({},e,o)}var kt=[`onMouseLeave`,`refKey`,`ref`],At=[`item`,`index`,`refKey`,`ref`,`onMouseMove`,`onMouseDown`,`onClick`,`onPress`,`disabled`],jt=[`onClick`,`onPress`,`refKey`,`ref`],Mt=[`onKeyDown`,`onChange`,`onInput`,`onBlur`,`onChangeText`,`onClick`,`refKey`,`ref`];Nt.stateChangeTypes=Ct;function Nt(e){e===void 0&&(e={}),j(e,Nt,Tt);var t=a({},Dt,e),n=t.items,r=t.scrollIntoView,o=t.environment,c=t.getA11yStatusMessage,l=Et(Ot,t,wt,_e),u=l[0],d=l[1],f=u.isOpen,p=u.highlightedIndex,m=u.selectedItem,h=u.inputValue,g=(0,s.useRef)(null),_=(0,s.useRef)({}),v=(0,s.useRef)(null),y=(0,s.useRef)(null),b=U(),x=Ke(t),C=(0,s.useRef)(),w=S({state:u,props:t}),T=(0,s.useCallback)(function(e){return _.current[x.getItemId(e)]},[x]);le(c,u,[f,p,m,h],o);var E=he({menuElement:g.current,highlightedIndex:p,isOpen:f,itemRefs:_,scrollIntoView:r,getItemNodeFromIndex:T});ge({props:t,state:u}),(0,s.useEffect)(function(){G(t,`isOpen`,J)&&v.current&&v.current.focus()},[]),(0,s.useEffect)(function(){b||(C.current=n.length)});var D=pe(o,(0,s.useCallback)(function(){w.current.state.isOpen&&d({type:lt})},[d,w]),(0,s.useMemo)(function(){return[g,y,v]},[])),O=me(`getInputProps`,`getMenuProps`);(0,s.useEffect)(function(){f||(_.current={})},[f]),(0,s.useEffect)(function(){var e;!f||!(o!=null&&o.document)||!(v!=null&&(e=v.current)!=null&&e.focus)||o.document.activeElement!==v.current&&v.current.focus()},[f,o]);var k=(0,s.useMemo)(function(){return{ArrowDown:function(e){e.preventDefault(),d({type:et,altKey:e.altKey})},ArrowUp:function(e){e.preventDefault(),d({type:tt,altKey:e.altKey})},Home:function(e){w.current.state.isOpen&&(e.preventDefault(),d({type:rt}))},End:function(e){w.current.state.isOpen&&(e.preventDefault(),d({type:it}))},Escape:function(e){var t=w.current.state;(t.isOpen||t.inputValue||t.selectedItem||t.highlightedIndex>-1)&&(e.preventDefault(),d({type:nt}))},Enter:function(e){!w.current.state.isOpen||e.which===229||(e.preventDefault(),d({type:st}))},PageUp:function(e){w.current.state.isOpen&&(e.preventDefault(),d({type:at}))},PageDown:function(e){w.current.state.isOpen&&(e.preventDefault(),d({type:ot}))}}},[d,w]),A=(0,s.useCallback)(function(e){return a({id:x.labelId,htmlFor:x.inputId},e)},[x]),M=(0,s.useCallback)(function(e,t){var n,r=e===void 0?{}:e,o=r.onMouseLeave,s=r.refKey,c=s===void 0?`ref`:s,l=r.ref,u=i(r,kt),f=(t===void 0?{}:t).suppressRefError;return O(`getMenuProps`,f===void 0?!1:f,c,g),a((n={},n[c]=L(l,function(e){g.current=e}),n.id=x.menuId,n.role=`listbox`,n[`aria-labelledby`]=u&&u[`aria-label`]?void 0:``+x.labelId,n.onMouseLeave=I(o,function(){d({type:dt})}),n),u)},[d,O,x]),N=(0,s.useCallback)(function(e){var t,n,r=e===void 0?{}:e,o=r.item,s=r.index,c=r.refKey,l=c===void 0?`ref`:c,u=r.ref,f=r.onMouseMove,p=r.onMouseDown,m=r.onClick;r.onPress;var h=r.disabled,g=i(r,At);h!==void 0&&console.warn(`Passing "disabled" as an argument to getItemProps is not supported anymore. Please use the isItemDisabled prop from useCombobox.`);var v=w.current,y=v.props,b=v.state,S=ae(o,s,y.items,`Pass either item or index to getItemProps!`),C=S[0],T=S[1],O=y.isItemDisabled(C,T),k=`onClick`,A=m;return a((t={},t[l]=L(u,function(e){e&&(_.current[x.getItemId(T)]=e)}),t[`aria-disabled`]=O,t[`aria-selected`]=T===b.highlightedIndex,t.id=x.getItemId(T),t.role=`option`,t),!O&&(n={},n[k]=I(A,function(){d({type:pt,index:T})}),n),{onMouseMove:I(f,function(){D.isTouchEnd||T===b.highlightedIndex||(E.current=!1,d({type:ft,index:T,disabled:O}))}),onMouseDown:I(p,function(e){return e.preventDefault()})},g)},[d,x,w,D,E]),P=(0,s.useCallback)(function(e){var t,n=e===void 0?{}:e,r=n.onClick;n.onPress;var o=n.refKey,s=o===void 0?`ref`:o,c=n.ref,l=i(n,jt),u=w.current.state;return a((t={},t[s]=L(c,function(e){y.current=e}),t[`aria-controls`]=x.menuId,t[`aria-expanded`]=u.isOpen,t.id=x.toggleButtonId,t.tabIndex=-1,t),!l.disabled&&a({},{onClick:I(r,function(){d({type:mt})})}),l)},[d,w,x]),F=(0,s.useCallback)(function(e,t){var n,r=e===void 0?{}:e,s=r.onKeyDown,c=r.onChange,l=r.onInput,u=r.onBlur;r.onChangeText;var f=r.onClick,p=r.refKey,m=p===void 0?`ref`:p,h=r.ref,g=i(r,Mt),_=(t===void 0?{}:t).suppressRefError;O(`getInputProps`,_===void 0?!1:_,m,v);var y=w.current.state,b=function(e){var t=z(e);t&&k[t]&&k[t](e)},S=function(e){d({type:ct,inputValue:e.target.value})},C=function(e){o!=null&&o.document&&y.isOpen&&!D.isMouseDown&&d({type:lt,selectItem:!(e.relatedTarget===null&&o.document.activeElement!==o.document.body)})},T=function(){d({type:ut})},E=`onChange`,A={};if(!g.disabled){var j;A=(j={},j[E]=I(c,l,S),j.onKeyDown=I(s,b),j.onBlur=I(u,C),j.onClick=I(f,T),j)}return a((n={},n[m]=L(h,function(e){v.current=e}),n[`aria-activedescendant`]=y.isOpen&&y.highlightedIndex>-1?x.getItemId(y.highlightedIndex):``,n[`aria-autocomplete`]=`list`,n[`aria-controls`]=x.menuId,n[`aria-expanded`]=y.isOpen,n[`aria-labelledby`]=g&&g[`aria-label`]?void 0:x.labelId,n.autoComplete=`off`,n.id=x.inputId,n.role=`combobox`,n.value=y.inputValue,n),A,g)},[d,x,o,k,w,D,O]),R=(0,s.useCallback)(function(){d({type:ht})},[d]),B=(0,s.useCallback)(function(){d({type:_t})},[d]),V=(0,s.useCallback)(function(){d({type:gt})},[d]),ee=(0,s.useCallback)(function(e){d({type:vt,highlightedIndex:e})},[d]),H=(0,s.useCallback)(function(e){d({type:yt,selectedItem:e})},[d]);return{getItemProps:N,getLabelProps:A,getMenuProps:M,getInputProps:F,getToggleButtonProps:P,toggleMenu:R,openMenu:V,closeMenu:B,setHighlightedIndex:ee,setInputValue:(0,s.useCallback)(function(e){d({type:bt,inputValue:e})},[d]),selectItem:H,reset:(0,s.useCallback)(function(){d({type:xt})},[d]),highlightedIndex:p,isOpen:f,selectedItem:m,inputValue:h}}var Pt={activeIndex:-1,selectedItems:[]};function Ft(e,t){return G(e,t,Pt)}function It(e,t){return W(e,t,Pt)}function Lt(e){return{activeIndex:Ft(e,`activeIndex`),selectedItems:Ft(e,`selectedItems`)}}function Rt(e){if(e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return!1;var t=e.target;return!(t instanceof HTMLInputElement&&t.value!==``&&(t.selectionStart!==0||t.selectionEnd!==0))}function zt(e,t){return e.selectedItems===t.selectedItems&&e.activeIndex===t.activeIndex}K.stateReducer,K.itemToKey,K.environment,y.default.array,y.default.array,y.default.array,y.default.func,y.default.number,y.default.number,y.default.number,y.default.func,y.default.func,y.default.string,y.default.string;var Bt={itemToKey:q.itemToKey,stateReducer:q.stateReducer,environment:q.environment,keyNavigationNext:`ArrowRight`,keyNavigationPrevious:`ArrowLeft`},Vt=A,Ht=0,Ut=1,Wt=2,Gt=3,Kt=4,qt=5,Jt=6,Yt=7,Xt=8,Zt=9,Qt=10,$t=11,en=12,tn=Object.freeze({__proto__:null,DropdownClick:Yt,DropdownKeyDownBackspace:Jt,DropdownKeyDownNavigationPrevious:qt,FunctionAddSelectedItem:Xt,FunctionRemoveSelectedItem:Zt,FunctionReset:en,FunctionSetActiveIndex:$t,FunctionSetSelectedItems:Qt,SelectedItemClick:Ht,SelectedItemKeyDownBackspace:Wt,SelectedItemKeyDownDelete:Ut,SelectedItemKeyDownNavigationNext:Gt,SelectedItemKeyDownNavigationPrevious:Kt});function nn(e,t,n){var r=n.type,i=n.index,o=n.selectedItem,s=e.activeIndex,c=e.selectedItems,l;switch(r){case Ht:l={activeIndex:i};break;case Kt:l={activeIndex:s-1<0?0:s-1};break;case Gt:l={activeIndex:s+1>=c.length?-1:s+1};break;case Wt:case Ut:if(s<0)break;var u=s;c.length===1?u=-1:s===c.length-1&&(u=c.length-2),l=a({selectedItems:[].concat(c.slice(0,s),c.slice(s+1))},{activeIndex:u});break;case qt:l={activeIndex:c.length-1};break;case Jt:l={selectedItems:c.slice(0,c.length-1)};break;case Xt:l={selectedItems:[].concat(c,[o])};break;case Yt:l={activeIndex:-1};break;case Zt:var d=s,f=c.findIndex(function(e){return t.itemToKey(e)===t.itemToKey(o)});if(f<0)break;c.length===1?d=-1:f===c.length-1&&(d=c.length-2),l={selectedItems:[].concat(c.slice(0,f),c.slice(f+1)),activeIndex:d};break;case Qt:l={selectedItems:n.selectedItems};break;case $t:l={activeIndex:n.activeIndex};break;case en:l={activeIndex:It(t,`activeIndex`),selectedItems:It(t,`selectedItems`)};break;default:throw Error(`Reducer called without proper action type.`)}return a({},e,l)}var rn=[`refKey`,`ref`,`onClick`,`onKeyDown`,`selectedItem`,`index`],an=[`refKey`,`ref`,`onKeyDown`,`onClick`,`preventKeyAction`];on.stateChangeTypes=tn;function on(e){e===void 0&&(e={}),Vt(e,on);var t=a({},Bt,e),n=t.getA11yStatusMessage,r=t.environment,o=t.keyNavigationNext,c=t.keyNavigationPrevious,l=ie(nn,t,Lt,zt),u=l[0],d=l[1],f=u.activeIndex,p=u.selectedItems,m=U(),h=(0,s.useRef)(null),g=(0,s.useRef)();g.current=[];var _=S({state:u,props:t});le(n,u,[f,p],r),(0,s.useEffect)(function(){m||(f===-1&&h.current?h.current.focus():g.current[f]&&g.current[f].focus())},[f]),ge({props:t,state:u});var v=me(`getDropdownProps`),y=(0,s.useMemo)(function(){var e;return e={},e[c]=function(){d({type:Kt})},e[o]=function(){d({type:Gt})},e.Delete=function(){d({type:Ut})},e.Backspace=function(){d({type:Wt})},e},[d,o,c]),b=(0,s.useMemo)(function(){var e;return e={},e[c]=function(e){Rt(e)&&d({type:qt})},e.Backspace=function(e){Rt(e)&&d({type:Jt})},e},[d,c]);return{getSelectedItemProps:(0,s.useCallback)(function(e){var t,n=e===void 0?{}:e,r=n.refKey,o=r===void 0?`ref`:r,s=n.ref,c=n.onClick,l=n.onKeyDown,u=n.selectedItem,f=n.index,p=i(n,rn),m=_.current.state,h=ae(u,f,m.selectedItems,`Pass either item or index to getSelectedItemProps!`)[1],v=h>-1&&h===m.activeIndex;return a((t={},t[o]=L(s,function(e){e&&g.current.push(e)}),t.tabIndex=v?0:-1,t.onClick=I(c,function(){d({type:Ht,index:h})}),t.onKeyDown=I(l,function(e){var t=z(e);t&&y[t]&&y[t](e)}),t),p)},[d,_,y]),getDropdownProps:(0,s.useCallback)(function(e,t){var n,r=e===void 0?{}:e,o=r.refKey,s=o===void 0?`ref`:o,c=r.ref,l=r.onKeyDown,u=r.onClick,f=r.preventKeyAction,p=f===void 0?!1:f,m=i(r,an),g=(t===void 0?{}:t).suppressRefError;return v(`getDropdownProps`,g===void 0?!1:g,s,h),a((n={},n[s]=L(c,function(e){e&&(h.current=e)}),n),!p&&{onKeyDown:I(l,function(e){var t=z(e);t&&b[t]&&b[t](e)}),onClick:I(u,function(){d({type:Yt})})},m)},[d,b,v]),addSelectedItem:(0,s.useCallback)(function(e){d({type:Xt,selectedItem:e})},[d]),removeSelectedItem:(0,s.useCallback)(function(e){d({type:Zt,selectedItem:e})},[d]),setSelectedItems:(0,s.useCallback)(function(e){d({type:Qt,selectedItems:e})},[d]),setActiveIndex:(0,s.useCallback)(function(e){d({type:$t,activeIndex:e})},[d]),reset:(0,s.useCallback)(function(){d({type:en})},[d]),selectedItems:p,activeIndex:f}}var sn=0,cn=1,ln=2,un=3,dn=4,fn=5,pn=6,mn=Object.freeze({__proto__:null,FunctionAddItem:pn,TagClick:sn,TagGroupKeyDownArrowLeft:cn,TagGroupKeyDownArrowRight:ln,TagGroupKeyDownBackspace:dn,TagGroupKeyDownDelete:un,TagRemoveClick:fn});function hn(e,t,n){var r=n.type,i;switch(r){case sn:i={activeIndex:n.index};break;case cn:i={activeIndex:e.activeIndex===0?e.items.length-1:e.activeIndex-1};break;case ln:i={activeIndex:e.activeIndex===e.items.length-1?0:e.activeIndex+1};break;case dn:case un:var o=[].concat(e.items.slice(0,e.activeIndex),e.items.slice(e.activeIndex+1)),s=o.length===0?-1:o.length===e.activeIndex?e.activeIndex-1:e.activeIndex;i={items:[].concat(e.items.slice(0,e.activeIndex),e.items.slice(e.activeIndex+1)),activeIndex:s};break;case fn:var c=[].concat(e.items.slice(0,n.index),e.items.slice(n.index+1));i={items:c,activeIndex:c.length===0?-1:c.length===n.index?n.index-1:n.index};break;case pn:var l=[];l=n.index===void 0?[].concat(e.items,[n.item]):[].concat(e.items.slice(0,n.index),[n.item],e.items.slice(n.index));var u=e.activeIndex===-1?l.length-1:e.activeIndex;i={items:l,activeIndex:u};break;default:throw Error(`Invalid useTagGroup reducer action.`)}return a({},e,i)}var gn=a({},s).useId,_n=typeof gn==`function`?vn:yn;function vn(e){var t=e.id,n=e.tagGroupId,r=e.getTagId,i=`downshift-`+gn();return t||=i,s.useMemo(function(){return{tagGroupId:n??t+`-tag-group`,getTagId:r??function(e){return t+`-tag-`+e}}},[r,t,n])}function yn(e){var t=e.id,n=e.getTagId,r=e.tagGroupId,i=s.useRef(t??`downshift-`+x()).current;return s.useMemo(function(){return{tagGroupId:r??i+`-tag-group`,getTagId:n??function(e){return i+`-tag-`+e}}},[n,i,r])}function bn(e){var t=e.items??e.initialItems??[];return{activeIndex:e.activeIndex??e.initialActiveIndex??(t.length===0?-1:0),items:t}}function xn(e,t){return e.activeIndex===t.activeIndex&&e.items===t.items}var Sn=`tag-group-a11y-description`;function Cn(e,t){s.useEffect(function(){if(e){var n=e.createElement(`div`);return n.setAttribute(`id`,Sn),n.style.display=`none`,n.textContent=t,e.body.appendChild(n),function(){n.remove()}}},[t,e])}function wn(e){return a({stateReducer:function(e,t){return t.changes},environment:typeof window>`u`?void 0:window,removeElementDescription:`Press Delete or Backspace to remove tag.`},e)}function Tn(e,t,n){var r=s.useRef({}),i=s.useRef(e),a=s.useRef(t);return s.useEffect(function(){if(e!==-1&&i.current!==-1&&e!==i.current||a.current===t+1){var o;(o=r.current[n(e)])==null||o.focus()}i.current=e,a.current=t},[e,n,t]),r}var En={isItemDisabled:y.default.func},Dn=[`onKeyDown`],On=[`index`,`refKey`,`ref`,`onClick`],kn=[`index`,`onClick`],An=function(e){e===void 0&&(e={}),j(e,An,En);var t=wn(e),n=ie(hn,t,bn,xn),r=n[0],o=n[1],c=r.activeIndex,l=r.items,u=S({state:r,props:t}),d=_n({getTagId:t.getTagId,id:t.id,tagGroupId:t.tagGroupId});Cn(t.environment?.document,t.removeElementDescription);var f=Tn(c,l.length,d.getTagId),p=(0,s.useCallback)(function(e){var t=e??{},n=t.onKeyDown,r=i(t,Dn);return a({id:d.tagGroupId,"aria-live":`polite`,"aria-atomic":`false`,"aria-relevant":`additions`,role:`listbox`,onKeyDown:w(n,function(e){switch(e.key){case`ArrowLeft`:o({type:cn});break;case`ArrowRight`:o({type:ln});break;case`Delete`:o({type:un});break;case`Backspace`:o({type:dn});break}})},r)},[o,d.tagGroupId]),m=(0,s.useCallback)(function(e){var t,n=e.index,r=e.refKey,s=r===void 0?`ref`:r,c=e.ref,l=e.onClick,p=i(e,On);if(!Number.isInteger(n)||n<0)throw Error(`Pass correct item index to getTagProps!`);var m=u.current.state,h=function(){o({type:sn,index:n})},g=d.getTagId(n);return a((t={"aria-describedby":Sn},t[s]=C(c,function(e){e&&(f.current[g]=e)}),t[`aria-labelledby`]=g,t.role=`option`,t.id=g,t.onClick=w(l,h),t.tabIndex=m.activeIndex===n?0:-1,t),p)},[o,d,u,f]),h=(0,s.useCallback)(function(e){var t=e.index,n=e.onClick,r=i(e,kn);if(!Number.isInteger(t)||t<0)throw Error(`Pass correct item index to getTagRemoveProps!`);var s=function(e){e.stopPropagation(),o({type:fn,index:t})},c=d.getTagId(t),l=c+`-remove`;return a({id:l,tabIndex:-1,"aria-labelledby":l+` `+c,onClick:w(n,s)},r)},[d,o]);return{activeIndex:c,addItem:(0,s.useCallback)(function(e,t){o({type:pn,item:e,index:t})},[o]),getTagGroupProps:p,getTagProps:m,getTagRemoveProps:h,items:l}};An.stateChangeTypes=mn;export{o as n,Nt as t};
|
|
@@ -2260,7 +2260,8 @@ that don't exist.
|
|
|
2260
2260
|
1. Push and ensure a draft PR exists.
|
|
2261
2261
|
2. Poll each present verification layer.
|
|
2262
2262
|
3. Decide: all passed? fix needed? wait?
|
|
2263
|
-
4. If fix needed — fix,
|
|
2263
|
+
4. If fix needed — fix, refresh any \`.pr/\` artifacts affected (see below),
|
|
2264
|
+
commit, push, re-request review from bots, go to 2.
|
|
2264
2265
|
5. If waiting — sleep per polling cadence, go to 2.
|
|
2265
2266
|
6. If all present layers passed on the *current* SHA — mark PR ready, done.
|
|
2266
2267
|
|
|
@@ -2561,12 +2562,31 @@ Stop **only** when:
|
|
|
2561
2562
|
- PR is green but blocked on review approval (\`REVIEW_REQUIRED\`); continue
|
|
2562
2563
|
polling and surface new review comments without asking for confirmation.
|
|
2563
2564
|
|
|
2565
|
+
## Keep \`.pr/\` artifacts fresh
|
|
2566
|
+
|
|
2567
|
+
By convention, a PR may carry generated artifacts (diagrams, reports, generated
|
|
2568
|
+
docs, fixtures) in a \`.pr/\` folder. These are derived from the code, so they go
|
|
2569
|
+
stale when you push fixes.
|
|
2570
|
+
|
|
2571
|
+
After each fix — and before marking the PR ready — check \`.pr/\`:
|
|
2572
|
+
|
|
2573
|
+
1. If there's no \`.pr/\` folder or it's empty, skip this entirely.
|
|
2574
|
+
2. For each artifact, work out how it was generated (a script, a documented
|
|
2575
|
+
command, a comment in the file, or the PR/commit history).
|
|
2576
|
+
3. If you can figure out how — and the code it derives from changed — regenerate
|
|
2577
|
+
it and commit the update, so the artifact matches the latest code.
|
|
2578
|
+
4. If you can't tell how it was generated, leave it alone. Don't guess.
|
|
2579
|
+
|
|
2580
|
+
The rule is simple: if you know how an artifact was made and the code moved on,
|
|
2581
|
+
keep it up to date; otherwise don't touch it.
|
|
2582
|
+
|
|
2564
2583
|
## When done — mark PR ready
|
|
2565
2584
|
|
|
2566
2585
|
Once all present verification layers pass on the current SHA:
|
|
2567
2586
|
|
|
2568
2587
|
1. Verify all review threads are resolved (zero unresolved remaining).
|
|
2569
|
-
2.
|
|
2588
|
+
2. Ensure \`.pr/\` artifacts are up to date with the latest code (see above).
|
|
2589
|
+
3. Convert the draft PR to ready for review:
|
|
2570
2590
|
|
|
2571
2591
|
\`\`\`bash
|
|
2572
2592
|
gh pr ready
|
|
@@ -6985,7 +7005,107 @@ Verify that Swift is correctly installed by running:
|
|
|
6985
7005
|
|
|
6986
7006
|
\`\`\`bash
|
|
6987
7007
|
swift --version
|
|
6988
|
-
\`\`\``},{name:`
|
|
7008
|
+
\`\`\``},{name:`technical-writing`,description:`Guides technical explanations toward flowing, direct, conversational prose. This skill should be used for engineering chat, design discussion, architecture analysis, code-review explanations, and technical recommendations that should be concise without becoming fragmented or vague.`,triggers:[],content:`# Technical Writing
|
|
7009
|
+
|
|
7010
|
+
Write the way a sharp senior engineer speaks in chat: direct, conversational, and confident. Favor flowing technical prose over report language, slide-deck fragments, or documentation boilerplate.
|
|
7011
|
+
|
|
7012
|
+
Follow the user's requested format when they explicitly ask for formal documentation, a report, or slides. Otherwise, apply these rules to technical explanations, design feedback, architecture discussion, issue and pull-request replies, and recommendations.
|
|
7013
|
+
|
|
7014
|
+
## Lead with the answer
|
|
7015
|
+
|
|
7016
|
+
Open with the verdict and its central caveat in one or two plain sentences. Do not use a bold heading as a substitute for the answer.
|
|
7017
|
+
|
|
7018
|
+
Match the length to the question and err short:
|
|
7019
|
+
|
|
7020
|
+
- A yes/no or confirmation question usually needs 2 to 4 sentences.
|
|
7021
|
+
- A choice between alternatives usually needs a few paragraphs.
|
|
7022
|
+
- A genuinely multi-part design question may need a longer structured answer.
|
|
7023
|
+
|
|
7024
|
+
Before sending, remove any paragraph that does not change what the reader understands, decides, or does next. Cut unrequested background, restatements of the problem, and generic advice the reader already knows.
|
|
7025
|
+
|
|
7026
|
+
## Complete the argument
|
|
7027
|
+
|
|
7028
|
+
Every paragraph and every bullet should carry a complete argument: claim, mechanism, and consequence together. Do not leave the reader to infer why a fact matters.
|
|
7029
|
+
|
|
7030
|
+
Weak:
|
|
7031
|
+
|
|
7032
|
+
> MoR increases scan cost, latency, and metadata overhead.
|
|
7033
|
+
|
|
7034
|
+
Better:
|
|
7035
|
+
|
|
7036
|
+
> MoR is cheap to write, but every read has to reconcile delete files against data files, so scans get slower and less reliable until something compacts them - and now that compaction is part of the system you operate.
|
|
7037
|
+
|
|
7038
|
+
## Match the form to the content
|
|
7039
|
+
|
|
7040
|
+
Vary the structure because different kinds of content need different forms:
|
|
7041
|
+
|
|
7042
|
+
- Use short bold headings on their own line for distinct sections or comparison axes, such as cost versus operations.
|
|
7043
|
+
- Use a numbered list for a genuine sequence, diagnostic procedure, or ranked set of hypotheses. Start each item with a short bold lead and continue in full sentences.
|
|
7044
|
+
- Use plain bullets for parallel, enumerable facts.
|
|
7045
|
+
- Use paragraphs for reasoning, causality, and narrative.
|
|
7046
|
+
|
|
7047
|
+
Shortening does not mean flattening a useful structure into uniform paragraphs. Keep the structure and cut low-value sentences within it.
|
|
7048
|
+
|
|
7049
|
+
## Keep connected reasoning together
|
|
7050
|
+
|
|
7051
|
+
Do not shred connected reasoning into bullets. If the ideas connect with "because," "so," or "but," those connections are the explanation and belong in prose.
|
|
7052
|
+
|
|
7053
|
+
Never write a bold label followed by a clipped noun phrase as if it were a complete bullet.
|
|
7054
|
+
|
|
7055
|
+
## Sound conversational, not dramatic
|
|
7056
|
+
|
|
7057
|
+
Use contractions when they fit. Prefer "so" and "but" to "therefore" and "however."
|
|
7058
|
+
|
|
7059
|
+
State the claim directly. Avoid scaffolding such as:
|
|
7060
|
+
|
|
7061
|
+
- "It is worth noting"
|
|
7062
|
+
- "Importantly"
|
|
7063
|
+
- "The deciding mechanism is"
|
|
7064
|
+
|
|
7065
|
+
Avoid theatrical labels and hype adjectives. Explain the concrete cost instead of calling something "the poison," "the trap," "brutally expensive," or "the killer feature."
|
|
7066
|
+
|
|
7067
|
+
Let sentences breathe. Do not create drama with a sequence of short, staccato sentences.
|
|
7068
|
+
|
|
7069
|
+
Do not use setup phrases that delay the point, including:
|
|
7070
|
+
|
|
7071
|
+
- "here's the thing"
|
|
7072
|
+
- "here's the kicker"
|
|
7073
|
+
- "the part nobody warns you about"
|
|
7074
|
+
- "what nobody tells you"
|
|
7075
|
+
- "the dirty secret"
|
|
7076
|
+
- "the truth is"
|
|
7077
|
+
- "plot twist"
|
|
7078
|
+
- "the reality is"
|
|
7079
|
+
- "here's what's wild"
|
|
7080
|
+
|
|
7081
|
+
Do not use contrastive "not just X, but Y" constructions. State the full point directly instead of negating a weaker framing first.
|
|
7082
|
+
|
|
7083
|
+
## Cut without compressing
|
|
7084
|
+
|
|
7085
|
+
Shortness comes from removing low-value content, not from clipping sentences. Keep articles, verbs, and the words needed to express the mechanism clearly. Replace strings of abstract nouns with a concrete actor and action.
|
|
7086
|
+
|
|
7087
|
+
## End only when a conclusion helps
|
|
7088
|
+
|
|
7089
|
+
Add a bottom line only when the answer weighs a real decision. State the recommendation and the condition that would change it in one plain sentence.
|
|
7090
|
+
|
|
7091
|
+
Short factual and confirmation answers should simply end.
|
|
7092
|
+
|
|
7093
|
+
## Final pass
|
|
7094
|
+
|
|
7095
|
+
Before sending, check:
|
|
7096
|
+
|
|
7097
|
+
1. Does the first sentence give the answer?
|
|
7098
|
+
2. Is the central caveat next to the answer?
|
|
7099
|
+
3. Does every paragraph or bullet explain why its claim matters?
|
|
7100
|
+
4. Does the structure match the content?
|
|
7101
|
+
5. Did connected reasoning stay in prose?
|
|
7102
|
+
6. Can any paragraph be removed without changing the reader's next step?
|
|
7103
|
+
7. Did any dramatic setup, clipped phrasing, or fake contrast survive?
|
|
7104
|
+
8. Is a bottom line present only when the reader has a real decision to make?
|
|
7105
|
+
|
|
7106
|
+
## Source
|
|
7107
|
+
|
|
7108
|
+
Adapted from the public [Writing style](https://prose.ami.rip/STYLE.md) agent instructions at prose.ami.rip.`},{name:`theme-factory`,description:`Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.`,triggers:[],content:`# Theme Factory Skill
|
|
6989
7109
|
|
|
6990
7110
|
This skill provides a curated collection of professional font and color themes themes, each with carefully selected color palettes and font pairings. Once a theme is chosen, it can be applied to any artifact.
|
|
6991
7111
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./iconBase-
|
|
1
|
+
import{t as e}from"./iconBase-Ch-fOe8B.js";function t(t){return e({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M503.5 204.6L502.8 202.8L433.1 21.02C431.7 17.45 429.2 14.43 425.9 12.38C423.5 10.83 420.8 9.865 417.9 9.57C415 9.275 412.2 9.653 409.5 10.68C406.8 11.7 404.4 13.34 402.4 15.46C400.5 17.58 399.1 20.13 398.3 22.9L351.3 166.9H160.8L113.7 22.9C112.9 20.13 111.5 17.59 109.6 15.47C107.6 13.35 105.2 11.72 102.5 10.7C99.86 9.675 96.98 9.295 94.12 9.587C91.26 9.878 88.51 10.83 86.08 12.38C82.84 14.43 80.33 17.45 78.92 21.02L9.267 202.8L8.543 204.6C-1.484 230.8-2.72 259.6 5.023 286.6C12.77 313.5 29.07 337.3 51.47 354.2L51.74 354.4L52.33 354.8L158.3 434.3L210.9 474L242.9 498.2C246.6 500.1 251.2 502.5 255.9 502.5C260.6 502.5 265.2 500.1 268.9 498.2L300.9 474L353.5 434.3L460.2 354.4L460.5 354.1C482.9 337.2 499.2 313.5 506.1 286.6C514.7 259.6 513.5 230.8 503.5 204.6z`},child:[]}]})(t)}function n(t){return e({tag:`svg`,attr:{viewBox:`0 0 496 512`},child:[{tag:`path`,attr:{d:`M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z`},child:[]}]})(t)}function r(t){return e({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M22.2 32A16 16 0 0 0 6 47.8a26.35 26.35 0 0 0 .2 2.8l67.9 412.1a21.77 21.77 0 0 0 21.3 18.2h325.7a16 16 0 0 0 16-13.4L505 50.7a16 16 0 0 0-13.2-18.3 24.58 24.58 0 0 0-2.8-.2L22.2 32zm285.9 297.8h-104l-28.1-147h157.3l-25.2 147z`},child:[]}]})(t)}function i(t){return e({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z`},child:[]}]})(t)}function a(t){return e({tag:`svg`,attr:{viewBox:`0 0 384 512`},child:[{tag:`path`,attr:{d:`M272 384c9.6-31.9 29.5-59.1 49.2-86.2c0 0 0 0 0 0c5.2-7.1 10.4-14.2 15.4-21.4c19.8-28.5 31.4-63 31.4-100.3C368 78.8 289.2 0 192 0S16 78.8 16 176c0 37.3 11.6 71.9 31.4 100.3c5 7.2 10.2 14.3 15.4 21.4c0 0 0 0 0 0c19.8 27.1 39.7 54.4 49.2 86.2l160 0zM192 512c44.2 0 80-35.8 80-80l0-16-160 0 0 16c0 44.2 35.8 80 80 80zM112 176c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-61.9 50.1-112 112-112c8.8 0 16 7.2 16 16s-7.2 16-16 16c-44.2 0-80 35.8-80 80z`},child:[]}]})(t)}function o(t){return e({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM192 160l128 0c17.7 0 32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-128 0c-17.7 0-32-14.3-32-32l0-128c0-17.7 14.3-32 32-32z`},child:[]}]})(t)}function s(t){return e({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336l24 0 0-64-24 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l48 0c13.3 0 24 10.7 24 24l0 88 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z`},child:[]}]})(t)}function c(t){return e({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24l0 112c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-112c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z`},child:[]}]})(t)}export{n as a,i as c,o as i,c as n,t as o,s as r,a as s,r as t};
|