@openhands/agent-canvas 1.5.1 → 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-B8rMv0X9.js → active-backend-context-Cd1qcZsb.js} +1 -1
- package/build/assets/{add-backend-modal-CxC7BNEc.js → add-backend-modal-5chsfln3.js} +1 -1
- package/build/assets/{agent-profiles-settings-BJb8YXR1.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-CZsu2CoM.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-BSfN0AZA.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-BGlWn93P.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-_f9GlIEi.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-DNlPGxsu.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-CAGavYl-.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-Casyzgn1.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-DJrMrFAr.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-vrRNwOma.js → organization-service.api-CvfQugOt.js} +1 -1
- package/build/assets/{path-utils-PNfCKQDV.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-ByOw1he8.js → planner-tab-ZrjiirRr.js} +1 -1
- package/build/assets/{plugins-management-service-B75jyC56.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-BQTklD5D.js → profiles-service.api-CRVlrQpT.js} +1 -1
- package/build/assets/{providers-DfTB2gPd.js → providers-C2DFGBrf.js} +1 -1
- package/build/assets/{proxy-B3tCGf0X.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-CUwk4wrQ.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-CvyPWJhg.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-DXk5TdeJ.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-DRXt2Lr4.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-Bm8qXdlc.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-hI-x-UBa.js → use-active-agent-profile-CCeFtmk9.js} +1 -1
- package/build/assets/{use-active-conversation-2qeez40F.js → use-active-conversation-Badxj8w4.js} +1 -1
- package/build/assets/{use-agent-profiles-0pr5bLS7.js → use-agent-profiles-BSWVN6hH.js} +1 -1
- package/build/assets/{use-agent-state-C6peDXUm.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-Ck_bsNbH.js → use-can-manage-org-profiles-Do6mYf6P.js} +1 -1
- package/build/assets/{use-cloud-current-user-id-DUCSxNjY.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-r1JHfKO5.js → use-create-conversation-vvl0kvu7.js} +1 -1
- package/build/assets/{use-create-secret-Cf2N11d2.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-CsAW3FlH.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-RqUGqTv6.js → use-save-agent-profile-Bj7N-1jS.js} +1 -1
- package/build/assets/{use-save-settings-Chvzeu2s.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-xrVoKYrF.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-CnE4zhOA.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-CfkrXoSa.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/query/use-task-polling.cjs +1 -1
- package/dist/hooks/query/use-task-polling.cjs.map +1 -1
- package/dist/hooks/query/use-task-polling.d.ts +19 -3
- package/dist/hooks/query/use-task-polling.js +36 -35
- package/dist/hooks/query/use-task-polling.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/conversation.cjs +1 -1
- package/dist/routes/conversation.cjs.map +1 -1
- package/dist/routes/conversation.js +1 -1
- package/dist/routes/conversation.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-BWN-EIQn.js +0 -1
- package/build/assets/agent-server-conversation-service.api-DSPIkMwJ.js +0 -41
- package/build/assets/agent-settings-CgCnqaAA.js +0 -2
- package/build/assets/agent-settings-DDkSavD7.js +0 -1
- package/build/assets/api-key-entry-screen-iZc7n8AI.js +0 -1
- package/build/assets/app-settings-B5zyipxJ.js +0 -1
- package/build/assets/automation-export-BwRX6H32.js +0 -2
- package/build/assets/automations-list-lHAVzMoA.js +0 -1
- package/build/assets/backend-form-modal-RGcu909r.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-BZK8vRs2.js +0 -1
- package/build/assets/cloud-funnel-analytics-Zcv57hfT.js +0 -1
- package/build/assets/conversation-BoCYx8n2.js +0 -89
- package/build/assets/conversation-DgHqMjnY.js +0 -1
- package/build/assets/conversation-panel-78Rxh_-I.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-CCbLA7IM.js +0 -1
- package/build/assets/extensions-navigation-CPNjMNvR.js +0 -1
- package/build/assets/files-tab-store-DJsPxYdg.js +0 -1
- package/build/assets/files-tab-y4K7EXBO.js +0 -1
- package/build/assets/git-provider-icon-ITvsH4Ko.js +0 -1
- package/build/assets/home-BwbeOWwU.js +0 -1
- package/build/assets/home-DKPGQ5P3.js +0 -1
- package/build/assets/index-home-Bko2Itv5.js +0 -1
- package/build/assets/install-server-modal-Qk1gwyI8.js +0 -1
- package/build/assets/lesson-plan-DMCPdtrf.js +0 -4
- package/build/assets/llm-not-configured-banner-C1ktyb3C.js +0 -27
- package/build/assets/llm-settings-BBsZFi9l.js +0 -1
- package/build/assets/llm-settings-DFkJQr_w.js +0 -1
- package/build/assets/manage-backends-modal-CKQ46rvw.js +0 -1
- package/build/assets/manifest-03478bbf.js +0 -1
- package/build/assets/markdown-renderer-B4V2OMFP.js +0 -2
- package/build/assets/mcp-BapoJsDc.js +0 -9
- package/build/assets/messages-CUBFMY5o.js +0 -40
- package/build/assets/objectWithoutPropertiesLoose-BgYIAs2y.js +0 -1
- package/build/assets/onboarding-6NMkdNxV.js +0 -1
- package/build/assets/onboarding-modal-Q4AnpIdg.js +0 -1
- package/build/assets/recommended-automations-launcher-Bj7PuHY1.js +0 -58
- package/build/assets/refresh-cw-B9B7-vsy.js +0 -1
- package/build/assets/root-CDnuTToz.js +0 -2
- package/build/assets/root-CYWeTrWE.css +0 -1
- package/build/assets/root-layout-DfYVlcRG.js +0 -2
- package/build/assets/sdk-section-page-DLLNrYjI.js +0 -1
- package/build/assets/secrets-settings-CHy72A5C.js +0 -1
- package/build/assets/settings-B9S8UVQr.js +0 -1
- package/build/assets/settings-index-BKDl2CQ-.js +0 -1
- package/build/assets/settings-modal-DeK11CyT.js +0 -1
- package/build/assets/shared-conversation-9atDzTR4.js +0 -1
- package/build/assets/sidebar-mobile-menu-toggle-giMMZctn.js +0 -1
- package/build/assets/skills-plugins-Tropusio.js +0 -1
- package/build/assets/skills-settings-BvzBBCWk.js +0 -2
- package/build/assets/telemetry-C5JMEfqB.js +0 -2
- package/build/assets/use-activate-agent-profile-DlykqEfN.js +0 -1
- package/build/assets/use-backends-health-CLHPitJM.js +0 -1
- package/build/assets/use-config-B5r8erYt.js +0 -1
- package/build/assets/use-event-store-Bbaz51GR.js +0 -4
- package/build/assets/use-llm-profiles-Dr5__SlZ.js +0 -1
- package/build/assets/use-plugins-marketplace-BplU65ae.js +0 -1
- package/build/assets/use-runtime-is-ready-vCFOcLFa.js +0 -1
- package/build/assets/use-settings-CyxSlyTQ.js +0 -1
- package/build/assets/use-settings-nav-items-zEkSO_Bf.js +0 -16
- package/build/assets/use-tracking-D2Qg5Lpd.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 +0,0 @@
|
|
|
1
|
-
function e(){return e=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},e.apply(null,arguments)}function t(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}export{e as n,t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t,bt as n}from"./vendor-styling-CI0PQ3ab.js";import{k as r}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~jkpzbynd-CkpBIhVe.js";import{n as i}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~e0djk9ee-Cw6LUe8p.js";import{t as a}from"./useMutation-u8UgRgDK.js";import{t as o}from"./useQueries-BpIlT8Mt.js";import{t as s}from"./useQuery-D5pEZbY0.js";import{t as c}from"./useTranslation-Cbf5AGg_.js";import{t as l}from"./declaration-BGsHjPEW.js";import{l as u,n as d}from"./active-backend-context-B8rMv0X9.js";import{t as f}from"./createLucideIcon-D4Tak8A1.js";import{t as p}from"./onboarding-modal-Q4AnpIdg.js";import{t as m}from"./utils-DB9LsAzA.js";import{d as h}from"./agent-server-compatibility-BWN-EIQn.js";import{g,h as _,o as v}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dhilvkxv-eGLBu60s.js";import{t as y}from"./modal-backdrop-zVwfOJZr.js";import{r as b,t as x}from"./modal-body-Cc2zp0xb.js";import{r as S}from"./base-modal-CIF_785P.js";import{i as C}from"./modal-classes-3qT9Ap7Q.js";import{t as w}from"./brand-button-B1izLAdR.js";import{t as T}from"./use-onboarding-completion-C_Swglzp.js";import{t as E}from"./confirmation-modal-DGBWM2Ls.js";import{t as D}from"./folder-Bk311brm.js";import{t as O}from"./close-DLFb5kfv.js";var k=f(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),A=f(`git-branch`,[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`,key:`1cii5b`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}]]);function j(){return new v(h())}function M(e){return{workspaces:e.workspaces.map(({parentPath:e,...t})=>({...t,...e?{parentPath:e}:{}})),workspaceParents:e.workspaceParents}}var N=class{static async listWorkspaces(){return M(await j().listWorkspaces())}static async addWorkspaces(e){return M(await j().addWorkspaces(e))}static async removeWorkspace(e){await j().deleteWorkspace(e)}static async addWorkspaceParents(e){return M(await j().addWorkspaceParents(e))}static async removeWorkspaceParent(e){await j().deleteWorkspaceParent(e)}};function P(){let e=i();return a({mutationFn:e=>N.addWorkspaces(e),onSuccess:()=>e.invalidateQueries({queryKey:u.all})})}function F(){let e=i();return a({mutationFn:e=>N.removeWorkspace(e),onSuccess:()=>e.invalidateQueries({queryKey:u.all})})}function I(){let e=i();return a({mutationFn:e=>N.addWorkspaceParents(e),onSuccess:()=>e.invalidateQueries({queryKey:u.all})})}function L(){let e=i();return a({mutationFn:e=>N.removeWorkspaceParent(e),onSuccess:()=>e.invalidateQueries({queryKey:u.all})})}var R=e(t(),1);function z({enabled:e=!0}={}){return s({queryKey:u.all,queryFn:()=>N.listWorkspaces(),enabled:e,retry:(e,t)=>!_(t)&&e<3,meta:{disableToast:!0},staleTime:6e4})}function B(){let{data:e,isLoading:t,isError:n,error:r}=z(),i=_(r),a=e?.workspaces??[],s=e?.workspaceParents??[],c=(0,R.useMemo)(()=>{let e=new Set(s.map(e=>e.path)),t=[].filter(t=>!e.has(t.path));return t.length===0?s:[...s,...t]},[s,i]),l=o({queries:i?[]:c.map(e=>({queryKey:[`file`,`search_subdirs`,e.path],queryFn:()=>new g(h()).searchSubdirectories(e.path),retry:!1,meta:{disableToast:!0}}))}),u=t||l.some(e=>e.isLoading),d=n||l.some(e=>e.isError);return{workspaces:(0,R.useMemo)(()=>{let e=new Map,t=new Map(c.map((e,t)=>[e.path,l[t]]));return c.forEach(n=>{(t.get(n.path)?.data?.items??[]).forEach(t=>{e.has(t.path)||e.set(t.path,{id:t.path,name:t.name,path:t.path,parentPath:n.path})})}),a.forEach(t=>{e.set(t.path,t)}),Array.from(e.values())},[a,c,l.map(e=>`${e.dataUpdatedAt??0}:${e.status}`).join(`|`)]),parents:c,isLoading:u,isError:d,error:r}}function V(e,t){return _(e)?t(l.HOME$WORKSPACES_UNSUPPORTED_AGENT_SERVER,{actualVersion:e.actualVersion,requiredVersion:e.requiredVersion}):null}function H(){return new g(h())}var ee=e=>{let t=d();return s({queryKey:[`file`,`search_subdirs`,e,t.backend.id,t.orgId],queryFn:()=>H().searchSubdirectories(e),enabled:!!e,retry:!1,meta:{disableToast:!0}})},te=()=>{let e=d();return s({queryKey:[`file`,`home`,e.backend.id,e.orgId],queryFn:async()=>H().getHome(),retry:!1,meta:{disableToast:!0},staleTime:1/0})},U=n(),W=e=>(0,U.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,...e,children:(0,U.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M13.8227 16.6549L10.4043 12.6668L13.8227 8.67871L14.9615 9.6549L12.3799 12.6668L14.9615 15.6787L13.8227 16.6549Z`,fill:`currentColor`})}),G=`/projects`;function K({label:e,entries:t,currentPath:n,onPick:r}){return t.length===0?null:(0,U.jsxs)(`div`,{className:`px-2 pb-3`,children:[(0,U.jsx)(`div`,{className:`px-2 pb-1 text-[11px] uppercase tracking-wide text-[var(--oh-muted)] font-semibold`,children:e}),(0,U.jsx)(`ul`,{children:t.map(e=>{let t=n===e.path;return(0,U.jsx)(`li`,{children:(0,U.jsxs)(`button`,{type:`button`,onClick:()=>r(e.path),"data-testid":`folder-browser-sidebar-${e.label.toLowerCase()}`,className:m(`flex items-center gap-2 w-full px-2 py-1 rounded text-sm cursor-pointer`,t?`bg-tertiary text-white`:`text-[var(--oh-text-tertiary)] hover:bg-[var(--oh-surface-raised)]`),children:[(0,U.jsx)(D,{width:14,height:14,className:`shrink-0`}),(0,U.jsx)(`span`,{className:`truncate`,children:e.label})]})},e.path)})})]})}function q(e){let t=Y(e);if(!t||t===`/`||J(t))return null;let n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`));if(n<0)return null;if(n===0)return`/`;let r=t.slice(0,n);return/^[A-Za-z]:$/.test(r)?`${r}${t[n]}`:r}function J(e){return/^[A-Za-z]:[\\/]?$/.test(e)}function Y(e){let t=e.replace(/[\\/]+$/,``);return/^[A-Za-z]:$/.test(t)?`${t}${e.includes(`/`)&&!e.includes(`\\`)?`/`:`\\`}`:t}function X(e){return e?.home===`/home/openhands`}function Z({isOpen:e,onClose:t,onAdd:n,onAddParent:r}){let{t:i}=c(`openhands`),[a,o]=(0,R.useState)(null),s=d(),{data:u}=te();(0,R.useEffect)(()=>{e&&u?.home&&a===null&&o(X(u)?G:u.home),e||o(null)},[e,u?.home,a]),(0,R.useEffect)(()=>{o(null)},[s.backend.id,s.orgId]);let{data:f,isLoading:p,isError:h,error:g}=ee(e?a:null),_=(0,R.useMemo)(()=>{if(!u?.home)return[];let e=[{label:`Home`,path:Y(u.home)||u.home},...u.favorites??[]];return X(u)&&!e.some(e=>e.path===G)&&e.push({label:G,path:G}),e},[u]),v=u?.locations??[];if(!e)return null;let T=f?.items??[],E=a?q(a):null,O=u?.home===`/home/openhands`&&(u?.favorites?.length??0)===0&&a===u?.home&&!p&&!h&&T.length===0,k=e=>{let t=Y(e);if(!t)return`/`;if(t===`/`||J(t))return t;let n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`));return n>=0&&t.slice(n+1)||t};return(0,U.jsx)(y,{onClose:t,"aria-label":i(l.HOME$ADD_WORKSPACES_TITLE),children:(0,U.jsxs)(`div`,{"data-testid":`folder-browser-modal`,className:m(`flex flex-col bg-[var(--oh-surface)] border border-[var(--oh-border-input)] rounded-xl`,b(`xl`),x,`h-[480px]`),children:[(0,U.jsx)(`div`,{className:`flex items-center justify-between px-5 py-3 border-b border-[var(--oh-border-input)]`,children:(0,U.jsx)(S,{className:C,title:i(l.HOME$ADD_WORKSPACES_TITLE)})}),(0,U.jsxs)(`div`,{className:`flex flex-1 min-h-0`,children:[(0,U.jsxs)(`aside`,{"data-testid":`folder-browser-sidebar`,className:`w-[180px] shrink-0 border-r border-[var(--oh-border-input)] bg-[var(--oh-surface)] py-3 overflow-y-auto`,children:[(0,U.jsx)(K,{label:i(l.HOME$FAVORITES),entries:_,currentPath:a,onPick:o}),(0,U.jsx)(K,{label:i(l.HOME$LOCATIONS),entries:v,currentPath:a,onPick:o})]}),(0,U.jsxs)(`div`,{className:`flex-1 flex flex-col min-w-0`,children:[(0,U.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-2 border-b border-[var(--oh-border-input)]`,children:[(0,U.jsx)(`button`,{type:`button`,"data-testid":`folder-browser-up`,onClick:()=>E&&o(E),disabled:!E,"aria-label":i(l.COMMON$UP),className:`p-1 rounded hover:bg-[var(--oh-interactive-hover)] text-white disabled:opacity-40 disabled:cursor-not-allowed cursor-pointer`,children:(0,U.jsx)(W,{width:16,height:16})}),(0,U.jsx)(`span`,{className:`text-xs text-[var(--oh-muted)] truncate`,"data-testid":`folder-browser-current-path`,children:a??``})]}),(0,U.jsxs)(`div`,{className:`grid grid-cols-[1fr_120px] px-4 py-1 border-b border-[var(--oh-border-input)] text-xs text-[var(--oh-text-secondary)] font-semibold`,children:[(0,U.jsx)(`span`,{children:i(l.HOME$NAME)}),(0,U.jsx)(`span`,{children:i(l.HOME$KIND)})]}),(0,U.jsxs)(`ul`,{className:`flex-1 overflow-auto custom-scrollbar-always`,"data-testid":`folder-browser-list`,children:[p&&(0,U.jsx)(`li`,{className:`px-4 py-2 text-sm text-[var(--oh-text-secondary)]`,children:i(l.HOME$LOADING)}),h&&(0,U.jsx)(`li`,{className:`px-4 py-2 text-sm text-red-400`,"data-testid":`folder-browser-error`,children:g?.message??i(l.COMMON$FAILED_TO_LOAD)}),!p&&!h&&T.length===0&&(0,U.jsx)(`li`,{className:`px-4 py-2 text-sm text-[var(--oh-text-secondary)]`,"data-testid":O?`folder-browser-host-home-hint`:`folder-browser-empty`,children:i(O?l.HOME$HOST_HOME_NOT_MOUNTED_HINT:l.HOME$NO_WORKSPACES)}),T.map(e=>(0,U.jsx)(`li`,{children:(0,U.jsxs)(`button`,{type:`button`,onClick:()=>o(e.path),className:`grid grid-cols-[1fr_120px] items-center w-full text-left px-4 py-1.5 text-sm text-white hover:bg-[var(--oh-interactive-hover)] cursor-pointer`,"data-testid":`folder-browser-entry-${e.name}`,children:[(0,U.jsxs)(`span`,{className:`flex items-center gap-2 min-w-0`,children:[(0,U.jsx)(D,{width:16,height:16,className:`shrink-0`}),(0,U.jsx)(`span`,{className:`truncate`,children:e.name})]}),(0,U.jsx)(`span`,{className:`text-[var(--oh-text-secondary)] text-xs`,children:i(l.HOME$FOLDER)})]})},e.path))]})]})]}),(0,U.jsxs)(`div`,{className:`flex items-center justify-end gap-2 px-5 py-3 border-t border-[var(--oh-border-input)]`,children:[(0,U.jsx)(w,{type:`button`,variant:`secondary`,onClick:t,testId:`folder-browser-cancel`,children:i(l.HOME$CANCEL)}),r&&(0,U.jsx)(w,{type:`button`,variant:`secondary`,onClick:()=>{!a||!r||(r([{id:a,name:k(a),path:a}]),t())},isDisabled:!a||p,testId:`folder-browser-add-all-subdirs`,children:i(l.HOME$ADD_ALL_SUBDIRECTORIES)}),(0,U.jsx)(w,{type:`button`,variant:`primary`,onClick:()=>{a&&(n([{id:a,name:k(a),path:a}]),t())},isDisabled:!a||p,testId:`folder-browser-use`,children:i(l.HOME$ADD_THIS_DIRECTORY)})]})]})})}function ne({isOpen:e,workspaces:t,workspaceParents:n=[],onClose:r,onRemove:i,onRemoveParent:a}){let{t:o}=c(`openhands`),[s,u]=R.useState(null);if(!e)return null;let d=t.filter(e=>!e.parentPath),f=new Map;t.forEach(e=>{if(!e.parentPath)return;let t=f.get(e.parentPath)??[];t.push(e),f.set(e.parentPath,t)});let p=d.length>0||n.length>0;return(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(y,{onClose:r,"aria-label":o(l.HOME$MANAGE_WORKSPACES),children:(0,U.jsxs)(`div`,{"data-testid":`manage-workspaces-modal`,className:m(`flex flex-col bg-[var(--oh-surface)] border border-[var(--oh-border-input)] rounded-xl`,b(`lg`),x,`max-h-[70vh]`),children:[(0,U.jsx)(`div`,{className:`flex items-center justify-between px-5 py-3 border-b border-[var(--oh-border-input)]`,children:(0,U.jsx)(S,{className:C,title:o(l.HOME$MANAGE_WORKSPACES)})}),(0,U.jsxs)(`div`,{className:`flex-1 overflow-auto custom-scrollbar-always`,"data-testid":`manage-workspaces-list`,children:[!p&&(0,U.jsx)(`p`,{className:`px-5 py-6 text-sm text-[var(--oh-text-secondary)] text-center`,children:o(l.HOME$MANAGE_WORKSPACES_EMPTY)}),d.length>0&&(0,U.jsx)(`ul`,{children:d.map(e=>(0,U.jsxs)(`li`,{className:`flex items-center gap-3 px-5 py-2 border-b border-[var(--oh-border-subtle)] last:border-b-0`,"data-testid":`manage-workspaces-row-${e.name}`,children:[(0,U.jsx)(D,{width:16,height:16,className:`shrink-0`}),(0,U.jsxs)(`div`,{className:`flex flex-col min-w-0 flex-1`,children:[(0,U.jsx)(`span`,{className:`text-sm text-white truncate`,children:e.name}),(0,U.jsx)(`span`,{className:`text-xs text-[var(--oh-muted)] truncate`,children:e.path})]}),(0,U.jsxs)(`button`,{type:`button`,onClick:()=>u({type:`workspace`,path:e.path,text:o(l.HOME$REMOVE_WORKSPACE_CONFIRMATION,{name:e.name})}),"aria-label":o(l.HOME$REMOVE_WORKSPACE),"data-testid":`manage-workspaces-remove-${e.name}`,className:`flex items-center gap-1 px-2 py-1 rounded text-xs text-[var(--oh-text-tertiary)] hover:bg-[var(--oh-interactive-hover)] hover:text-white cursor-pointer`,children:[(0,U.jsx)(O,{width:12,height:12}),(0,U.jsx)(`span`,{children:o(l.HOME$REMOVE_WORKSPACE)})]})]},e.id))}),n.length>0&&(0,U.jsxs)(`div`,{"data-testid":`manage-workspaces-parents-section`,children:[(0,U.jsx)(`div`,{className:`px-5 pt-3 pb-1 text-[11px] uppercase tracking-wide text-[var(--oh-muted)] font-semibold`,children:o(l.HOME$WORKSPACE_PARENTS)}),(0,U.jsx)(`ul`,{children:n.map(e=>{let t=f.get(e.path)??[];return(0,U.jsxs)(`li`,{className:`border-b border-[var(--oh-border-subtle)] last:border-b-0`,"data-testid":`manage-workspaces-parent-row-${e.name}`,children:[(0,U.jsxs)(`div`,{className:`flex items-center gap-3 px-5 py-2`,children:[(0,U.jsx)(D,{width:16,height:16,className:`shrink-0`}),(0,U.jsxs)(`div`,{className:`flex flex-col min-w-0 flex-1`,children:[(0,U.jsx)(`span`,{className:`text-sm text-white truncate`,children:e.name}),(0,U.jsx)(`span`,{className:`text-xs text-[var(--oh-muted)] truncate`,children:e.path})]}),a&&(0,U.jsxs)(`button`,{type:`button`,onClick:()=>u({type:`parent`,path:e.path,text:o(l.HOME$REMOVE_WORKSPACE_PARENT_CONFIRMATION,{name:e.name,count:t.length})}),"aria-label":o(l.HOME$REMOVE_WORKSPACE_PARENT),"data-testid":`manage-workspaces-remove-parent-${e.name}`,className:`flex items-center gap-1 px-2 py-1 rounded text-xs text-[var(--oh-text-tertiary)] hover:bg-[var(--oh-interactive-hover)] hover:text-white cursor-pointer`,children:[(0,U.jsx)(O,{width:12,height:12}),(0,U.jsx)(`span`,{children:o(l.HOME$REMOVE_WORKSPACE_PARENT)})]})]}),t.length>0&&(0,U.jsx)(`ul`,{className:`pb-2`,children:t.map(e=>(0,U.jsxs)(`li`,{className:`flex items-center gap-3 px-5 pl-10 py-1 text-xs text-[var(--oh-text-secondary)]`,"data-testid":`manage-workspaces-child-${e.name}`,children:[(0,U.jsx)(D,{width:12,height:12,className:`shrink-0 opacity-70`}),(0,U.jsx)(`span`,{className:`truncate`,children:e.name})]},e.id))})]},e.id)})})]})]}),(0,U.jsx)(`div`,{className:`flex justify-end gap-2 px-5 py-3 border-t border-[var(--oh-border-input)]`,children:(0,U.jsx)(w,{type:`button`,variant:`primary`,onClick:r,testId:`manage-workspaces-done`,children:o(l.HOME$DONE)})})]})}),s&&(0,U.jsx)(E,{text:s.text,onConfirm:()=>{s&&(s.type===`workspace`?i(s.path):a?.(s.path),u(null))},onCancel:()=>u(null)})]})}var re=`previewOnboardingStep`,ie=3;function Q(e=typeof window<`u`?window.location.search:``){let t=new URLSearchParams(e).get(re);if(t==null)return null;let n=Number.parseInt(t,10);return!Number.isFinite(n)||n<0||n>ie?null:n}function $(e=typeof window<`u`?window.location.search:``){return Q(e)!=null}function ae(){let e=r(),t=Q(e.search),n=$(e.search),{isCompleted:i,markCompleted:a}=T();return!n&&i?null:(0,U.jsx)(p,{onClose:()=>{n||a()},initialStep:t??0,isPreview:n})}export{V as a,I as c,L as d,A as f,Z as i,P as l,$ as n,B as o,k as p,ne as r,z as s,ae as t,F as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,r as t}from"./rolldown-runtime-BFRubm34.js";import{Ct as n,bt as r}from"./vendor-styling-CI0PQ3ab.js";import{t as i}from"./useTranslation-Cbf5AGg_.js";import{t as a}from"./declaration-BGsHjPEW.js";import{C as o,E as s,S as c,n as l,r as u}from"./active-backend-context-B8rMv0X9.js";import{t as d}from"./createLucideIcon-D4Tak8A1.js";import{n as f,t as p}from"./chat-send-button-BZHG2hAW.js";import{t as m}from"./check-TbOEtHKj.js";import{t as h}from"./loader-circle-CsAsfLIs.js";import{i as g,r as _,t as v}from"./llm-settings-DFkJQr_w.js";import{t as y}from"./utils-DB9LsAzA.js";import{E as b,F as x,I as S,R as C,S as w,j as T}from"./agent-server-compatibility-BWN-EIQn.js";import{r as E}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dhilvkxv-eGLBu60s.js";import{a as D}from"./use-backends-health-CLHPitJM.js";import{t as O}from"./modal-backdrop-zVwfOJZr.js";import{r as k,t as A}from"./modal-body-Cc2zp0xb.js";import{t as j}from"./brand-button-B1izLAdR.js";import{n as M}from"./navigation-context-DPs2G0X8.js";import{t as N}from"./openhands-logo-bcNw5bkY.js";import{c as P,s as F,t as I}from"./backend-form-modal-RGcu909r.js";import{r as L}from"./use-settings-CyxSlyTQ.js";import{t as R}from"./use-tracking-D2Qg5Lpd.js";import"./cloud-funnel-analytics-Zcv57hfT.js";import{c as z,i as ee,n as B,o as V}from"./acp-providers-DerAmTyY.js";import{n as H,r as U}from"./use-agent-profiles-0pr5bLS7.js";import{n as W}from"./use-create-conversation-r1JHfKO5.js";import{r as G,t as te}from"./recommended-automations-launcher-Bj7PuHY1.js";import{t as ne}from"./terminal-Cgf___rK.js";import{t as re}from"./use-save-settings-Chvzeu2s.js";import{o as ie}from"./use-can-manage-org-profiles-Ck_bsNbH.js";import{t as ae}from"./use-save-agent-profile-RqUGqTv6.js";import{n as oe}from"./use-activate-agent-profile-DlykqEfN.js";import{a as se,i as ce,n as le,r as ue,t as de}from"./use-acp-credential-form-Bm8qXdlc.js";var fe=d(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),K=e(n(),1),q=r(),pe=`m19.6 66.5 19.7-11 .3-1-.3-.5h-1l-3.3-.2-11.2-.3L14 53l-9.5-.5-2.4-.5L0 49l.2-1.5 2-1.3 2.9.2 6.3.5 9.5.6 6.9.4L38 49.1h1.6l.2-.7-.5-.4-.4-.4L29 41l-10.6-7-5.6-4.1-3-2-1.5-2-.6-4.2 2.7-3 3.7.3.9.2 3.7 2.9 8 6.1L37 36l1.5 1.2.6-.4.1-.3-.7-1.1L33 25l-6-10.4-2.7-4.3-.7-2.6c-.3-1-.4-2-.4-3l3-4.2L28 0l4.2.6L33.8 2l2.6 6 4.1 9.3L47 29.9l2 3.8 1 3.4.3 1h.7v-.5l.5-7.2 1-8.7 1-11.2.3-3.2 1.6-3.8 3-2L61 2.6l2 2.9-.3 1.8-1.1 7.7L59 27.1l-1.5 8.2h.9l1-1.1 4.1-5.4 6.9-8.6 3-3.5L77 13l2.3-1.8h4.3l3.1 4.7-1.4 4.9-4.4 5.6-3.7 4.7-5.3 7.1-3.2 5.7.3.4h.7l12-2.6 6.4-1.1 7.6-1.3 3.5 1.6.4 1.6-1.4 3.4-8.2 2-9.6 2-14.3 3.3-.2.1.2.3 6.4.6 2.8.2h6.8l12.6 1 3.3 2 1.9 2.7-.3 2-5.1 2.6-6.8-1.6-16-3.8-5.4-1.3h-.8v.4l4.6 4.5 8.3 7.5L89 80.1l.5 2.4-1.3 2-1.4-.2-9.2-7-3.6-3-8-6.8h-.5v.7l1.8 2.7 9.8 14.7.5 4.5-.7 1.4-2.6 1-2.7-.6-5.8-8-6-9-4.7-8.2-.5.4-2.9 30.2-1.3 1.5-3 1.2-2.5-2-1.4-3 1.4-6.2 1.6-8 1.3-6.4 1.2-7.9.7-2.6v-.2H49L43 72l-9 12.3-7.2 7.6-1.7.7-3-1.5.3-2.8L24 86l10-12.8 6-7.9 4-4.6-.1-.5h-.3L17.2 77.4l-4.7.6-2-2 .2-3 1-1 8-5.5Z`,me=`0 0 100 100`,he=`M4.04286 0.228393C4.52451 0.0304495 5.0488 -0.0409817 5.56586 0.0208928C6.23236 0.0973928 6.82636 0.380893 7.34786 0.870893C7.35488 0.877545 7.36344 0.882351 7.37278 0.884881C7.38212 0.887412 7.39194 0.887588 7.40136 0.885393C8.10536 0.712393 8.78236 0.773393 9.43186 1.06839L9.46336 1.08339L9.54036 1.12139C10.2189 1.47289 10.7054 2.00639 10.9994 2.72039C11.1384 3.05989 11.2084 3.41439 11.2099 3.78339C11.2197 4.05816 11.1893 4.33288 11.1199 4.59889C11.1164 4.61245 11.1165 4.62665 11.12 4.6402C11.1235 4.65374 11.1303 4.66618 11.1399 4.67639C11.5329 5.0749 11.8063 5.57572 11.9289 6.12189C12.1214 7.07239 11.9239 7.92939 11.3374 8.69189L11.2464 8.80189C10.8579 9.24669 10.3481 9.56836 9.77936 9.72739C9.76694 9.73097 9.75556 9.73747 9.74617 9.74634C9.73677 9.75521 9.72964 9.7662 9.72536 9.77839C9.59786 10.1464 9.46986 10.4604 9.23186 10.7744C8.63236 11.5654 7.75086 12.0054 6.75786 11.9999C5.96636 11.9959 5.26486 11.7064 4.65286 11.1319C4.64358 11.1234 4.63225 11.1174 4.61998 11.1146C4.6077 11.1118 4.59491 11.1123 4.58286 11.1159C4.32386 11.1994 4.06286 11.2114 3.78086 11.2084C3.33033 11.2048 2.88658 11.0984 2.48336 10.8974C2.0613 10.688 1.6939 10.3831 1.41036 10.0069C1.30886 9.87239 1.20836 9.74589 1.13486 9.59639C1.03349 9.39033 0.95066 9.17565 0.887357 8.95489C0.754446 8.45324 0.751521 7.92599 0.878857 7.42289C0.882974 7.41102 0.884341 7.39837 0.882857 7.38589C0.88038 7.37348 0.873877 7.36223 0.864357 7.35389C0.556147 7.04213 0.320543 6.66619 0.174357 6.25289C0.0775698 5.99842 0.0213841 5.73031 0.00785682 5.45839C-0.0163229 5.10033 0.0153902 4.74069 0.101857 4.39239C0.326857 3.65039 0.756357 3.06839 1.39036 2.64589C1.53136 2.55189 1.66536 2.47889 1.79136 2.42689C1.93436 2.36689 2.07786 2.31689 2.22186 2.27489C2.23216 2.27184 2.24153 2.26626 2.24913 2.25866C2.25672 2.25107 2.2623 2.24169 2.26536 2.23139C2.37455 1.83888 2.56235 1.47264 2.81736 1.15489C3.15736 0.731893 3.56586 0.422893 4.04286 0.228393ZM3.64086 4.15339C3.58503 4.05573 3.49269 3.98424 3.38415 3.95465C3.27562 3.92507 3.15977 3.93981 3.06211 3.99564C2.96444 4.05147 2.89295 4.14381 2.86337 4.25235C2.83378 4.36088 2.84853 4.47673 2.90436 4.57439L3.75136 6.05689L2.90736 7.48089C2.85561 7.57738 2.84315 7.69014 2.87257 7.7956C2.902 7.90106 2.97104 7.99108 3.06526 8.04684C3.15949 8.1026 3.27162 8.1198 3.37823 8.09484C3.48484 8.06988 3.57768 8.00469 3.63736 7.91289L4.60736 6.27689C4.64561 6.21237 4.66609 6.13887 4.66671 6.06386C4.66732 5.98886 4.64805 5.91503 4.61086 5.84989L3.64086 4.15339ZM6.36386 7.27339C6.25583 7.27982 6.15434 7.32727 6.08012 7.40603C6.00591 7.48479 5.96458 7.58892 5.96458 7.69714C5.96458 7.80536 6.00591 7.90949 6.08012 7.98826C6.15434 8.06702 6.25583 8.11446 6.36386 8.12089H8.78786C8.89675 8.1156 8.99943 8.06862 9.07462 7.98969C9.14982 7.91075 9.19176 7.80591 9.19176 7.69689C9.19176 7.58787 9.14982 7.48303 9.07462 7.4041C8.99943 7.32516 8.89675 7.27818 8.78786 7.27289H6.36386V7.27339Z`,ge=`0 0 12 12`,_e=`M12 0C12.904 6.056 17.944 11.096 24 12C17.944 12.904 12.904 17.944 12 24C11.096 17.944 6.056 12.904 0 12C6.056 11.096 11.096 6.056 12 0Z`,ve=`0 0 24 24`,ye=3/2;function J({kind:e,size:t=12,className:n,"data-testid":r}){return e===`openhands`?(0,q.jsx)(N,{width:Math.round(t*ye),height:t,className:y(`shrink-0 [&_path:not([fill=transparent])]:fill-current`,n),"data-testid":r??`agent-brand-icon-openhands`,"aria-hidden":!0}):e===`claude-code`?(0,q.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:me,width:t,height:t,className:y(`shrink-0`,n),"data-testid":r??`agent-brand-icon-claude-code`,"aria-hidden":!0,children:(0,q.jsx)(`path`,{fill:`currentColor`,d:pe})}):e===`codex`?(0,q.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:ge,width:t,height:t,className:y(`shrink-0`,n),"data-testid":r??`agent-brand-icon-codex`,"aria-hidden":!0,children:(0,q.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:he,fill:`currentColor`})}):e===`gemini`?(0,q.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:ve,width:t,height:t,className:y(`shrink-0`,n),"data-testid":r??`agent-brand-icon-gemini`,"aria-hidden":!0,children:(0,q.jsx)(`path`,{fill:`currentColor`,d:_e})}):(0,q.jsx)(ne,{width:t,height:t,className:y(`shrink-0`,n),"data-testid":r??`agent-brand-icon-generic`,"aria-hidden":!0})}function be({currentStep:e,totalSteps:t,className:n}){return(0,q.jsx)(`div`,{role:`progressbar`,"aria-valuemin":1,"aria-valuemax":t,"aria-valuenow":e+1,"data-testid":`onboarding-progress-bar`,className:y(`flex w-full items-center gap-2`,n),children:Array.from({length:t},(t,n)=>{let r=n<e,i=n===e;return(0,q.jsx)(`div`,{"data-testid":`onboarding-progress-step-${n}`,"data-state":r?`completed`:i?`current`:`upcoming`,className:y(`h-1.5 flex-1 rounded-full transition-colors duration-300`,r||i?`bg-white`:`bg-white/15`)},n)})})}function xe(e){return e===`openhands`?`openhands`:B.find(({key:t})=>t===e)?.icon??`cli-generic`}function Se({id:e,muted:t}){let n=xe(e);return n===`openhands`?(0,q.jsx)(J,{kind:`openhands`,size:16,className:y(`text-white`,t&&`opacity-55`),"data-testid":`onboarding-agent-icon-openhands`}):(0,q.jsx)(J,{kind:n,size:18,className:t?`text-[var(--oh-muted)]`:`text-white`,"data-testid":`onboarding-agent-icon-${n}`})}function Ce(){return[{id:`openhands`,label:`OpenHands`,descriptionKey:a.ONBOARDING$AGENT_OPENHANDS_DESCRIPTION},...B.map(e=>({id:e.key,label:e.display_name,descriptionKey:e.description_key}))]}function we({selectedAgentId:e,onSelect:t,onBack:n,onNext:r}){let{t:l}=i(`openhands`),{mutate:u,isPending:d}=re();return(0,q.jsxs)(`div`,{"data-testid":`onboarding-step-choose-agent`,className:`flex flex-col gap-6`,children:[(0,q.jsxs)(`header`,{className:`flex flex-col gap-2`,children:[(0,q.jsx)(`h2`,{className:`text-2xl font-medium text-white`,children:l(a.ONBOARDING$AGENT_TITLE)}),(0,q.jsx)(`p`,{className:`text-sm text-[var(--oh-muted)]`,children:l(a.ONBOARDING$AGENT_SUBTITLE)})]}),(0,q.jsx)(`div`,{role:`radiogroup`,"aria-label":l(a.ONBOARDING$AGENT_TITLE),className:`flex flex-col gap-3`,children:Ce().map(n=>{let r=n.id===e;return(0,q.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":r,"data-testid":`onboarding-agent-option-${n.id}`,"data-selected":r,onClick:()=>t(n.id),className:y(`flex items-start justify-between gap-4 rounded-xl border px-4 py-3 text-left transition-colors cursor-pointer`,r?`border-white/45 bg-white/[0.09] shadow-none hover:border-white/45 hover:bg-white/[0.09]`:`border-white/30 bg-white/5 hover:border-white/40 hover:bg-white/[0.08]`),children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(Se,{id:n.id,muted:!1}),(0,q.jsx)(`span`,{className:`truncate text-base font-normal text-white`,children:n.label})]}),(0,q.jsx)(`span`,{className:`text-xs text-[var(--oh-muted)]`,children:l(n.descriptionKey)})]}),(0,q.jsx)(`div`,{className:`flex shrink-0 flex-col items-end gap-1`,children:r?(0,q.jsx)(m,{width:18,height:18,className:`mt-1 shrink-0 text-white`,"aria-hidden":!0}):null})]},n.id)})}),(0,q.jsxs)(`div`,{className:y(`sticky bottom-0 flex items-center gap-2 bg-base-secondary pt-4 pb-7`,n?`justify-between`:`justify-end`),children:[n?(0,q.jsx)(j,{testId:`onboarding-agent-back`,type:`button`,variant:`secondary`,onClick:n,isDisabled:d,children:l(a.ONBOARDING$BACK)}):null,(0,q.jsx)(j,{testId:`onboarding-agent-next`,type:`button`,variant:`primary`,isDisabled:d,onClick:()=>{let t=ee(e);if(!t){r();return}u({agent_settings_diff:t},{onError:e=>{c(s(e)||l(a.ERROR$GENERIC))},onSuccess:()=>{o(l(a.SETTINGS$SAVED)),r()}})},children:l(d?a.SETTINGS$SAVING:a.ONBOARDING$NEXT)})]})]})}function Te({backend:e,isConnected:t,lastError:n}){let{t:r}=i(`openhands`);if(t===!0)return(0,q.jsxs)(`div`,{role:`status`,"data-testid":`onboarding-backend-connected`,className:y(`flex items-start gap-3 rounded-xl border border-green-500/40 bg-green-500/10 px-4 py-3`),children:[(0,q.jsx)(f,{className:`mt-0.5 size-5 shrink-0 text-green-400`}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,q.jsx)(`span`,{className:`text-sm font-medium text-green-200`,children:r(a.ONBOARDING$BACKEND_CONNECTED_TITLE)}),(0,q.jsx)(`span`,{className:`text-xs text-green-200/80`,children:r(a.ONBOARDING$BACKEND_CONNECTED_BODY)})]})]});if(t===!1){let i=F(r,e,{isConnected:t,lastError:n});return(0,q.jsxs)(`div`,{role:`alert`,"data-testid":`onboarding-backend-disconnected`,className:`flex items-start gap-3 rounded-xl border border-red-500/40 bg-red-500/10 px-4 py-3`,children:[(0,q.jsx)(fe,{className:`mt-0.5 size-5 shrink-0 text-red-400`}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,q.jsx)(`span`,{className:`text-sm font-medium text-red-200`,children:i}),(0,q.jsx)(`span`,{className:`text-xs text-red-200/80`,children:r(a.ONBOARDING$BACKEND_DISCONNECTED_BODY)})]})]})}return(0,q.jsxs)(`div`,{role:`status`,"data-testid":`onboarding-backend-checking`,className:`flex items-start gap-3 rounded-xl border border-white/10 bg-white/5 px-4 py-3`,children:[(0,q.jsx)(h,{className:`mt-0.5 size-5 shrink-0 animate-spin text-[var(--oh-text-tertiary)]`}),(0,q.jsx)(`span`,{className:`text-sm text-[var(--oh-text-tertiary)]`,children:r(a.ONBOARDING$BACKEND_CHECKING)})]})}function Ee({onBack:e,onNext:t,onClose:n}){let{t:r}=i(`openhands`),{active:o,addBackend:s,setActive:c,updateBackend:l}=u(),{trackBackendAdded:d}=R(),{backend:f}=o,p=w(f),m=x(),h=m!==null&&!p&&!(f.kind===`cloud`&&C(f.host,m)),g=p||h,_=K.useMemo(()=>T(),[]),v=g?{id:`onboarding-local-backend-draft`,name:b,host:_.baseUrl,apiKey:_.sessionApiKey,kind:`local`}:f,O=D(p?[]:[f]),k=g?null:O[f.id]?.isConnected??null,A=g?null:O[f.id]?.lastError??null,[M,N]=K.useState(!1);K.useEffect(()=>{k===!0&&N(!1)},[k]);let F=k===!0&&!M,L=K.useCallback((e,r)=>{if(p)s(e);else{let t=e.host!==f.host;l(f.id,e),t&&o.orgId!==null&&c(f.id,null)}let i=E(e.host);d({backendKind:e.kind,connectionMethod:r,isOpenhandsCloud:i,isCustomHost:!i,hasApiKey:!!e.apiKey,source:`onboarding`}),m!==null&&e.kind===`cloud`&&n?n():t()},[o.orgId,s,f.host,f.id,m,p,n,t,c,d,l]),z=y(`sticky bottom-0 mt-2 flex items-center gap-2 bg-base-secondary pt-4 pb-7`,e?`justify-between`:`justify-end`);return(0,q.jsxs)(`div`,{"data-testid":`onboarding-step-check-backend`,className:`flex flex-col gap-6`,children:[(0,q.jsxs)(`header`,{className:`flex flex-col gap-2`,children:[(0,q.jsx)(`h2`,{className:`text-2xl font-medium text-white`,children:r(g?m?a.ONBOARDING$LOGIN_TO_CLOUD_TITLE:a.BACKEND$ADD_TITLE:a.ONBOARDING$BACKEND_TITLE)}),g?null:(0,q.jsx)(`p`,{"data-testid":`onboarding-backend-subtitle`,className:`text-sm text-[var(--oh-muted)]`,children:r(a.ONBOARDING$BACKEND_SUBTITLE)})]}),g?null:(0,q.jsx)(Te,{backend:v,isConnected:k,lastError:A}),k===!0?(0,q.jsxs)(`button`,{type:`button`,onClick:()=>N(e=>!e),"aria-expanded":M,"data-testid":`onboarding-backend-show-configuration`,className:`flex w-full cursor-pointer items-center justify-center gap-1 text-center text-xs text-[var(--oh-muted)] transition-colors hover:text-content-2`,children:[(0,q.jsx)(`span`,{children:r(M?a.ONBOARDING$BACKEND_HIDE_CONFIGURATION:a.ONBOARDING$BACKEND_SHOW_CONFIGURATION)}),(0,q.jsx)(P,{className:y(`h-4 w-4 shrink-0 text-muted transition-transform`,M&&`rotate-180`),"aria-hidden":!0})]}):null,(0,q.jsx)(`div`,{"data-testid":`onboarding-backend-configuration-fields`,children:F?null:(0,q.jsx)(I,{onConnected:L,testIdRoot:`onboarding-backend`,initialManualBackend:v,requireManualApiKey:S(),manualSubmitLabel:r(a.ONBOARDING$NEXT),manualSubmittingLabel:r(a.SETTINGS$SAVING),manualSubmitTestId:`onboarding-backend-next`,analyticsSource:`onboarding`})}),F?(0,q.jsxs)(`div`,{className:z,children:[e?(0,q.jsx)(j,{testId:`onboarding-backend-back`,type:`button`,variant:`secondary`,onClick:e,children:r(a.ONBOARDING$BACK)}):null,(0,q.jsx)(j,{testId:`onboarding-backend-next`,type:`button`,variant:`primary`,onClick:t,children:r(a.ONBOARDING$NEXT)})]}):null]})}var Y=U;function X(){let e=ae(),t=oe();return(0,K.useCallback)(async n=>{try{await e.mutateAsync({name:Y,profile:n});let r=(await H.getProfile(Y)).profile.id;r&&await t.mutateAsync(r)}catch(e){console.error(`Failed to configure onboarding agent profile:`,e)}},[e,t])}var De=`openai/gpt-5.5`;function Oe({onBack:e,onNext:t}){let{t:n}=i(`openhands`),{backend:r}=l(),o=r.kind===`local`,s=_(),c=g(),u=X(),[d,f]=K.useState(null),[p,m]=K.useState(!1),h=K.useCallback(async()=>{if(!o||!d)return null;let e=d.values,t=typeof e[`llm.model`]==`string`?e[`llm.model`]:``;if(!t)return null;let n=typeof e[`llm.api_key`]==`string`?e[`llm.api_key`]:``,r=typeof e[`llm.base_url`]==`string`?e[`llm.base_url`]:``,i=ie(t),a={model:t};n&&(a.api_key=n),r&&(a.base_url=r);try{return await s.mutateAsync({name:i,request:{llm:a,include_secrets:!0}}),await c.mutateAsync(i),i}catch(e){return console.error(`Failed to persist onboarding LLM as profile:`,e),null}},[o,d,s,c]),y=K.useCallback(async()=>{m(!0);try{let e=await h();e&&await u({agent_kind:`openhands`,llm_profile_ref:e})}finally{m(!1),t()}},[h,u,t]);return(0,q.jsxs)(`div`,{"data-testid":`onboarding-step-setup-llm`,className:`flex flex-col gap-6 max-h-[calc(90vh-7rem)]`,children:[(0,q.jsxs)(`header`,{className:`flex flex-col gap-2`,children:[(0,q.jsx)(`h2`,{className:`text-2xl font-medium text-white`,children:n(a.ONBOARDING$LLM_TITLE)}),(0,q.jsx)(`p`,{className:`text-sm text-[var(--oh-muted)]`,children:n(a.ONBOARDING$LLM_SUBTITLE)})]}),(0,q.jsx)(`div`,{"data-testid":`onboarding-llm-settings`,className:`flex min-h-0 flex-1 flex-col overflow-y-auto custom-scrollbar-always`,children:(0,q.jsx)(v,{embedded:!0,hideSaveButton:!0,suppressSuccessToast:!0,initialValueOverrides:{"llm.model":De},onSaveSuccess:y,onSaveControlChange:f})}),(0,q.jsxs)(`div`,{className:`sticky bottom-0 flex items-center justify-between gap-2 bg-base-secondary pt-4 pb-7`,children:[(0,q.jsx)(j,{testId:`onboarding-llm-back`,type:`button`,variant:`secondary`,onClick:e,children:n(a.ONBOARDING$BACK)}),(0,q.jsx)(j,{testId:`onboarding-llm-next`,type:`button`,variant:`primary`,isDisabled:(d?.isSaving??!1)||p,onClick:()=>{if(d?.isDirty){d.save();return}t()},children:n(a.ONBOARDING$NEXT)})]})]})}function ke({providerKey:e,isActive:t,onBack:n,onNext:r}){let{t:o}=i(`openhands`),s=l(),{status:c,isChecking:u}=le(e,{enabled:t}),{fields:d,values:f,setValue:p,secretExists:m,hasValueFor:h,conflicts:g,consumesFileCredentials:_,save:v,isSaving:y}=de(e),b=X(),x=z(e)??e,S=c===`authenticated`,C=Ae(s.backend.kind,c),w=S||d.some(e=>e.secret&&(!e.multiline||_)&&h(e.name)),T=C&&!w,E=y||T||u&&!w;return(0,q.jsxs)(`div`,{"data-testid":`onboarding-step-setup-acp-secrets`,className:`flex flex-col gap-6`,children:[(0,q.jsxs)(`header`,{className:`flex flex-col gap-2`,children:[(0,q.jsx)(`h2`,{className:`text-2xl font-medium text-white`,children:o(a.ONBOARDING$ACP_SECRETS_TITLE)}),(0,q.jsx)(`p`,{className:`text-sm text-[var(--oh-muted)]`,children:o(a.ONBOARDING$ACP_SECRETS_SUBTITLE,{provider:x})}),C&&!S?(0,q.jsx)(`p`,{"data-testid":`onboarding-acp-secrets-required-note`,className:`text-sm text-[var(--oh-muted)]`,children:o(a.ONBOARDING$ACP_SECRETS_REQUIRED_NOTE,{provider:x})}):c!==`authenticated`&&(0,q.jsx)(`p`,{className:`text-sm text-[var(--oh-muted)]`,children:o(a.ONBOARDING$ACP_SECRETS_SUBSCRIPTION_NOTE)})]}),(0,q.jsx)(ce,{status:c,isChecking:u,providerName:x,testIdPrefix:`onboarding-acp-auth`}),(0,q.jsx)(`div`,{className:`flex flex-col gap-5`,children:d.map(e=>(0,q.jsx)(ue,{field:e,value:f[e.name]??``,onChange:t=>p(e.name,t),alreadySet:m(e.name),testId:`onboarding-acp-secret-${e.name}`,showOptionalTag:!0},e.name))}),(0,q.jsx)(se,{conflicts:g}),T?(0,q.jsx)(`p`,{"data-testid":`onboarding-acp-secrets-blocked`,className:`text-sm text-amber-300`,children:o(a.ONBOARDING$ACP_SECRETS_REQUIRED_BLOCKED)}):null,(0,q.jsxs)(`div`,{className:`sticky bottom-0 flex items-center justify-between gap-2 bg-base-secondary pt-4 pb-7`,children:[(0,q.jsx)(j,{testId:`onboarding-acp-secrets-back`,type:`button`,variant:`secondary`,onClick:n,isDisabled:y,children:o(a.ONBOARDING$BACK)}),(0,q.jsx)(j,{testId:`onboarding-acp-secrets-next`,type:`button`,variant:`primary`,isDisabled:E,onClick:async()=>{await v()&&(e!==`openhands`&&await b({agent_kind:`acp`,acp_server:e,acp_model:V(e)??void 0}),r())},children:o(y?a.SETTINGS$SAVING:a.ONBOARDING$NEXT)})]})]})}function Ae(e,t){return t===`authenticated`?!1:e===`cloud`?!0:t===`unauthenticated`}function je({onBack:e,onClose:t,onLaunched:n}){let{t:r}=i(`openhands`),{navigate:o}=M(),{backend:s}=l(),c=s.kind!==`cloud`,u=r(a.ONBOARDING$HELLO_DEFAULT_MESSAGE),[d,f]=K.useState(u),{mutate:m,isPending:h,isSuccess:g}=W(),_=G(),v=h||g||_,y=K.useRef(!1),b=d.trim().length>0&&!v&&!y.current,x=()=>{!b||y.current||(y.current=!0,m({query:d.trim(),entryPoint:`onboarding_say_hello`},{onSuccess:e=>{o(`/conversations/${e.conversation_id}`),n()},onError:()=>{y.current=!1}}))};return(0,q.jsxs)(`div`,{"data-testid":`onboarding-step-say-hello`,className:`flex max-h-[calc(90vh-7rem)] flex-col`,children:[(0,q.jsxs)(`header`,{className:`flex shrink-0 flex-col gap-2`,children:[(0,q.jsx)(`h2`,{className:`text-2xl font-medium text-white`,children:r(a.ONBOARDING$HELLO_TITLE)}),(0,q.jsx)(`p`,{className:`text-sm text-[var(--oh-muted)]`,children:r(a.ONBOARDING$HELLO_SUBTITLE)})]}),(0,q.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),x()},"data-testid":`onboarding-hello-input-form`,className:`mt-6 box-border flex w-full shrink-0 flex-col items-start justify-center rounded-[15px] border border-[var(--oh-border)] bg-surface-raised p-4`,children:[(0,q.jsx)(`div`,{className:`relative w-full`,children:(0,q.jsx)(`div`,{className:`box-border flex w-full shrink-0 flex-row items-end justify-between gap-2 p-0 pb-[18px]`,children:(0,q.jsx)(`input`,{"data-testid":`onboarding-hello-input`,"aria-label":r(a.ONBOARDING$HELLO_TITLE),type:`text`,value:d,onChange:e=>f(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),x())},placeholder:u,disabled:v,className:`min-h-[20px] w-full flex-1 bg-transparent text-[16px] font-normal leading-[20px] text-white outline-none placeholder:text-[var(--oh-text-tertiary)] disabled:cursor-not-allowed disabled:opacity-50`})})}),(0,q.jsx)(`div`,{className:`flex w-full min-w-0 items-center justify-end gap-2`,children:(0,q.jsx)(p,{buttonClassName:``,handleSubmit:x,disabled:!b})})]}),c?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{"data-testid":`onboarding-hello-or-separator`,className:`mt-6 flex w-full items-center gap-3`,children:[(0,q.jsx)(`div`,{className:`h-px flex-1 bg-[var(--oh-border)]`}),(0,q.jsx)(`span`,{className:`text-xs uppercase text-[var(--oh-muted)]`,children:r(a.LANDING$OR)}),(0,q.jsx)(`div`,{className:`h-px flex-1 bg-[var(--oh-border)]`})]}),(0,q.jsx)(`div`,{"data-testid":`onboarding-recommended-automations`,className:`flex min-h-0 flex-1 flex-col`,children:(0,q.jsx)(te,{onLaunched:n,scrollableGrid:!0})})]}):null,(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 bg-base-secondary pt-7 pb-7`,children:[(0,q.jsx)(j,{testId:`onboarding-hello-back`,type:`button`,variant:`secondary`,onClick:e,isDisabled:v,children:r(a.ONBOARDING$BACK)}),(0,q.jsx)(j,{testId:`onboarding-hello-close`,type:`button`,variant:`secondary`,onClick:t,isDisabled:v,children:r(a.BUTTON$CLOSE)})]})]})}var Me=t({OnboardingModal:()=>$}),Z=[`backend`,`agent`,`setup`,`hello`],Ne=[`agent`,`setup`,`hello`],Pe=`openhands-onboarding-started`;function Q({index:e,currentStep:t,children:n}){let r=e===t,i=(e-t)*100;return(0,q.jsx)(`div`,{"data-testid":`onboarding-slide-${e}`,"data-active":r,"aria-hidden":!r,style:{transform:`translateX(${i}%)`},className:y(`w-full transition-transform duration-300 ease-out`,!r&&`pointer-events-none absolute inset-0`),children:n})}function $({onClose:e,initialStep:t=0,isPreview:n=!1}){let{t:r}=i(`openhands`),{data:o}=L(),s=o?.user_consents_to_analytics===!0,{trackOnboardingStarted:c,trackOnboardingStepViewed:l,trackOnboardingCompleted:d,trackOnboardingSkipped:f}=R(),{active:p}=u(),{backend:m}=p,h=w(m),g=D(h?[]:[m]),_=x(),v=_!==null&&m.kind===`cloud`&&C(m.host,_),b=!h&&g[m.id]?.isConnected===!0&&(_===null||v),S=b?Ne:Z,[T,E]=K.useState(()=>Z[Math.min(Math.max(t,0),Z.length-1)]),[j,M]=K.useState(`openhands`);K.useEffect(()=>{S.includes(T)||E(S[0])},[T,S]);let N=S.length,P=S.includes(T)?T:S[0],F=S.indexOf(P),I=h||g[m.id]?.isConnected!==void 0,z=j===`openhands`,ee=F===0&&x()!==null,B=K.useCallback(()=>{E(e=>{let t=S,n=t.indexOf(e);return t[Math.min((n===-1?0:n)+1,t.length-1)]})},[S]),V=K.useCallback(()=>{E(e=>{let t=S,n=t.indexOf(e);return t[Math.max((n===-1?0:n)-1,0)]})},[S]),H=K.useRef(!1);K.useEffect(()=>{n||!s||H.current||window.sessionStorage.getItem(Pe)||(H.current=!0,window.sessionStorage.setItem(Pe,`1`),c())},[n,s]);let U=K.useRef(null);K.useEffect(()=>{n||!s||!I||U.current!==P&&(U.current=P,l({step:P,stepIndex:F,totalSteps:N,agent:j}))},[n,s,I,P,F,N,j]);let W=()=>{d({agent:j}),e()},G=()=>{f({step:P,stepIndex:F,totalSteps:N,agent:j}),e()};return(0,q.jsx)(O,{"aria-label":r(a.ONBOARDING$TITLE),children:(0,q.jsxs)(`div`,{className:`relative flex flex-col items-center gap-4`,children:[(0,q.jsxs)(`section`,{"data-testid":`onboarding-modal`,"data-current-step":F,"data-preview":n?`true`:void 0,className:y(`flex flex-col gap-6 overflow-hidden rounded-2xl border border-white/10 bg-base-secondary shadow-2xl`,k(`lg`),A,`max-h-[90vh]`),children:[(0,q.jsx)(`header`,{className:`flex flex-col gap-3 px-7 pt-7 shrink-0`,children:(0,q.jsx)(be,{currentStep:F,totalSteps:N})}),(0,q.jsx)(`div`,{"data-testid":`onboarding-scroll-area`,className:`flex-1 min-h-0 overflow-y-auto custom-scrollbar-always px-7`,children:(0,q.jsxs)(`div`,{"data-testid":`onboarding-slide-rail`,"data-current-step":F,className:`relative overflow-clip`,children:[b?null:(0,q.jsx)(Q,{index:S.indexOf(`backend`),currentStep:F,children:(0,q.jsx)(Ee,{onNext:B,onClose:e})}),(0,q.jsx)(Q,{index:S.indexOf(`agent`),currentStep:F,children:(0,q.jsx)(we,{selectedAgentId:j,onSelect:M,onBack:b?void 0:V,onNext:B})}),(0,q.jsx)(Q,{index:S.indexOf(`setup`),currentStep:F,children:z?(0,q.jsx)(Oe,{onBack:V,onNext:B}):(0,q.jsx)(ke,{providerKey:j,isActive:P===`setup`,onBack:V,onNext:B})}),(0,q.jsx)(Q,{index:S.indexOf(`hello`),currentStep:F,children:(0,q.jsx)(je,{onBack:V,onClose:G,onLaunched:W})})]})})]}),F<N-1&&!ee?(0,q.jsx)(`button`,{type:`button`,"data-testid":`onboarding-skip`,onClick:G,className:`rounded-md px-3 py-2 text-sm text-[var(--oh-muted)] transition-colors hover:bg-white/5 hover:text-white cursor-pointer`,children:r(a.ONBOARDING$SKIP)}):null]})})}export{Me as n,J as r,$ as t};
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t,bt as n}from"./vendor-styling-CI0PQ3ab.js";import{t as r}from"./useMutationState-OnAsCLA_.js";import{t as i}from"./useTranslation-Cbf5AGg_.js";import{t as a}from"./declaration-BGsHjPEW.js";import{n as o}from"./active-backend-context-B8rMv0X9.js";import{P as s,t as c}from"./utils-DB9LsAzA.js";import{t as l}from"./modal-backdrop-zVwfOJZr.js";import{n as u}from"./modal-classes-3qT9Ap7Q.js";import{t as d}from"./brand-button-B1izLAdR.js";import{n as f}from"./navigation-context-DPs2G0X8.js";import{a as p,o as ee}from"./conversation-local-storage-F6zVMM--.js";import{t as m}from"./conversation-store-LptbOvKa.js";import{t as h}from"./modal-close-button-BcIBUdSq.js";import{i as g}from"./settings-service.api-DXk5TdeJ.js";import{r as _}from"./use-settings-CyxSlyTQ.js";import{t as v}from"./use-tracking-D2Qg5Lpd.js";import{n as y}from"./use-create-conversation-r1JHfKO5.js";import{i as b,n as x,r as S,t as C}from"./extension-module-card-classes-9V3J9J_b.js";import{c as w,d as T,f as E,h as D,o as O,t as k}from"./install-server-modal-Qk1gwyI8.js";import{t as A}from"./vendor~root-layout~index-home~home~mcp~automations-list~onboarding-modal-C4-GDgiF.js";import{n as j}from"./skill-card-pill-row-BPYKQ3IN.js";import{t as M}from"./circle-plus-check-toggle-DoFIjVE0.js";var N=e(t(),1),P=()=>{let e=f(),t=r({mutationKey:[`create-conversation`]}),{isNavigating:n}=e;return t>0||n},F=`${s.PRODUCTION}/settings/integrations`,I=[`github`,`slack`];function L(e){let t=e.requiredIntegrationIds;return t.length>0&&t.every(e=>I.includes(e))}function R(e){switch(e){case`local`:return{target:e,testId:`responder-deployment-option-local`,titleKey:a.RESPONDER_DEPLOYMENT$LOCAL_TITLE,descriptionKey:a.RESPONDER_DEPLOYMENT$LOCAL_DESCRIPTION,primaryActionKey:a.RESPONDER_DEPLOYMENT$LOCAL_ACTION,primaryActionTestId:`responder-deployment-continue-local`,action:{kind:`launch-local`}};case`openhands-cloud`:return{target:e,testId:`responder-deployment-option-openhands-cloud`,titleKey:a.RESPONDER_DEPLOYMENT$OPENHANDS_CLOUD_TITLE,descriptionKey:a.RESPONDER_DEPLOYMENT$OPENHANDS_CLOUD_DESCRIPTION,primaryActionKey:a.RESPONDER_DEPLOYMENT$OPENHANDS_CLOUD_ACTION,primaryActionTestId:`responder-deployment-open-openhands-cloud`,action:{kind:`open-url`,url:F}};case`user-cloud`:throw Error(`User Cloud responder deployment is not yet supported`);default:return e}}var z=[`local`,`openhands-cloud`],B=[{id:`github-pr-reviewer`,name:`GitHub Code Review Agent`,category:`Code review`,description:`Watch for a configurable label on GitHub pull requests, inspect full PR and repository context, and post an AI review comment once per label event.`,requiredIntegrationIds:[`github`],popularityRank:100,estimatedSetupMinutes:4,prompt:`/pr-reviewer:setup`,exampleImplementation:`Trigger: cron polling for open GitHub PRs with a configured label such as openhands-review
|
|
2
|
-
Required secret: GITHUB_PERSONAL_ACCESS_TOKEN
|
|
3
|
-
|
|
4
|
-
1. Read repository, trigger label, review tone, and polling schedule from setup.
|
|
5
|
-
2. List open PRs and find the latest matching GitHub labeled issue event for each labeled PR.
|
|
6
|
-
3. Deduplicate on the label event ID so every label application queues exactly one review.
|
|
7
|
-
4. Start an OpenHands conversation that clones the repo, checks out the exact PR head SHA, and inspects PR discussion, review comments, changed files, diff, and surrounding code.
|
|
8
|
-
5. Post an acknowledgement with the conversation link, then post the final AI review comment only if the PR is still open and the head SHA has not changed.`},{id:`github-repo-monitor`,name:`GitHub repository monitor`,category:`Developer tools`,description:`Watch a repository for @OpenHands mentions in issues and PR comments, start a conversation, and post the agent's reply back to GitHub.`,requiredIntegrationIds:[`github`],popularityRank:98,estimatedSetupMinutes:5,prompt:`/github-monitor:poll`,exampleImplementation:`Trigger: cron, every minute (configurable)
|
|
9
|
-
Required secret: GITHUB_PERSONAL_ACCESS_TOKEN
|
|
10
|
-
|
|
11
|
-
1. Poll GitHub for new issue and PR comments since the last run.
|
|
12
|
-
2. Match comments containing the trigger phrase (case-insensitive, default: @OpenHands).
|
|
13
|
-
3. Post an acknowledgment comment with a link to the new OpenHands conversation.
|
|
14
|
-
4. Forward follow-up replies in the same thread to the running conversation.
|
|
15
|
-
5. Post the agent's final response back to GitHub when the conversation completes.`},{id:`slack-standup-digest`,name:`Slack standup digest`,category:`Team updates`,description:`Summarize yesterday’s Slack activity into an async standup note with blockers, decisions, and owners.`,requiredIntegrationIds:[`slack`],popularityRank:94,estimatedSetupMinutes:5,prompt:`/standup-digest:setup`,exampleImplementation:`Trigger: cron, weekday mornings
|
|
16
|
-
Required MCP: Slack
|
|
17
|
-
|
|
18
|
-
1. Search configured channels for messages since the last digest window.
|
|
19
|
-
2. Cluster updates into shipped work, active work, blockers, and decisions.
|
|
20
|
-
3. TODO: choose a safe allowlist for channels and whether DMs are excluded.
|
|
21
|
-
4. Draft a Slack message with owners, links, and unanswered questions.
|
|
22
|
-
5. Optionally post to the configured standup channel.`},{id:`slack-channel-monitor`,name:`Slack channel monitor`,category:`Team communication`,description:`Watch Slack channels for @openhands mentions, open a conversation with the message context, reply when the agent finishes, and continue the same conversation from triggered Slack thread follow-ups.`,requiredIntegrationIds:[`slack`],popularityRank:92,estimatedSetupMinutes:7,prompt:`/slack-monitor:poll`,exampleImplementation:`Trigger: cron, every minute
|
|
23
|
-
Required secret: SLACK_BOT_TOKEN or SLACK_USER_TOKEN
|
|
24
|
-
|
|
25
|
-
1. Poll up to 10 configured Slack channels for new messages since the last run.
|
|
26
|
-
2. Match messages containing the trigger phrase (default: @openhands).
|
|
27
|
-
3. React with 👀 and start an OpenHands conversation with the message and recent channel context.
|
|
28
|
-
4. Post a thread reply with a link to the conversation, then post the agent response when done.
|
|
29
|
-
5. Keep the thread in a short follow-up watch window and forward only replies that repeat the trigger phrase to the same conversation, with per-thread backoff for quiet threads.`},{id:`linear-triage-assistant`,name:`Linear issue triage assistant`,category:`Project management`,description:`Classify new Linear issues, suggest labels, find duplicates, and ask clarifying questions.`,requiredIntegrationIds:[`linear`],popularityRank:90,estimatedSetupMinutes:3,prompt:`/linear-triage:setup`,exampleImplementation:`Trigger: linear Issue create
|
|
30
|
-
Required MCP: Linear
|
|
31
|
-
|
|
32
|
-
1. Load the new issue, team context, project, labels, and recent similar issues.
|
|
33
|
-
2. Score priority and classify the request as bug, feature, support, or chore.
|
|
34
|
-
3. TODO: map local team labels and priority conventions.
|
|
35
|
-
4. Add a triage comment with rationale and suggested next actions.
|
|
36
|
-
5. Optionally update labels, priority, and assignee.`},{id:`research-brief-writer`,name:`Research brief writer`,category:`Research`,description:`Monitor a topic, gather sources from the web, and publish a short brief for your team.`,requiredIntegrationIds:[`tavily`,`notion`],popularityRank:84,estimatedSetupMinutes:7,prompt:`/research-brief:setup`,exampleImplementation:`Trigger: cron, weekly or daily
|
|
37
|
-
Required MCPs: Tavily, Notion
|
|
38
|
-
|
|
39
|
-
1. Run focused Tavily searches for configured topics and competitors.
|
|
40
|
-
2. Deduplicate sources and rank them by freshness and authority.
|
|
41
|
-
3. TODO: confirm citation format and destination Notion database schema.
|
|
42
|
-
4. Write an executive summary, implications, and recommended actions.
|
|
43
|
-
5. Create or update a Notion page with citations and source links.`},{id:`incident-retrospective-drafter`,name:`Incident retrospective drafter`,category:`Reliability`,description:`Collect incident chatter and issue updates, then draft a timeline and follow-up checklist.`,requiredIntegrationIds:[`slack`,`linear`,`notion`],popularityRank:78,estimatedSetupMinutes:8,prompt:`/incident-retro:setup`,exampleImplementation:`Trigger: manual, cron, or incident label added
|
|
44
|
-
Required MCPs: Slack, Linear, Notion
|
|
45
|
-
|
|
46
|
-
1. Gather incident messages, timestamps, and linked issue references.
|
|
47
|
-
2. Pull Linear follow-up tickets, owners, and status.
|
|
48
|
-
3. TODO: define the incident identifier format and approved Notion template.
|
|
49
|
-
4. Build a timeline, impact summary, root-cause hypotheses, and action items.
|
|
50
|
-
5. Publish a draft retrospective and notify the incident owner.`},{id:`jira-issue-to-pr`,name:`Jira issue to GitHub PR`,category:`Project management`,description:`Watch a Jira Cloud project for issues with a configurable label and automatically open a GitHub pull request for each new issue found. The target GitHub repo is read from the ticket body - no repo parameter required at deploy time.`,requiredIntegrationIds:[`jira`,`github`],popularityRank:85,estimatedSetupMinutes:5,prompt:`Set up a Jira automation to create pull requests`,exampleImplementation:`Trigger: cron polling (e.g. every 5 minutes)
|
|
51
|
-
Required secrets: Jira API token, GitHub personal access token (repo + workflow scope)
|
|
52
|
-
|
|
53
|
-
1. Collect Jira base URL, email, API token secret name, label to watch, and cron schedule from the user. No GitHub repo is needed at deploy time - each ticket must include the target repo (owner/repo) in its body.
|
|
54
|
-
2. Poll POST /rest/api/3/search/jql on the Jira Cloud instance to find open issues carrying the configured label.
|
|
55
|
-
3. Deduplicate against a KV-store-backed set of already-processed issue keys so re-runs never create duplicate PRs.
|
|
56
|
-
4. For each new issue, start an independent OpenHands agent conversation that extracts the GitHub repo from the ticket body, clones it, creates a branch named after the Jira key, implements or scaffolds the requested change, and opens a pull request.
|
|
57
|
-
5. Immediately after the conversation is created, post a Jira comment on the issue: 'I'm on it: <conversation URL>'.
|
|
58
|
-
6. Persist the processed issue key immediately after dispatching so the next poll skips it.`}],V=n(),H=`inline-flex h-10 w-10 shrink-0 overflow-hidden rounded-lg border border-white/10 bg-surface-raised shadow-[inset_0_1px_0_rgba(255,255,255,0.18)]`;function U(e){return e.slice(0,4)}function W({entries:e,className:t,testId:n}){let r=U(e);if(r.length===0)return(0,V.jsx)(O,{entry:null,size:`md`,className:t,testId:n});if(r.length===1)return(0,V.jsx)(O,{entry:r[0],size:`md`,className:t,testId:n});if(r.length===2)return(0,V.jsx)(`span`,{"aria-hidden":`true`,"data-testid":n,"data-layout":`overlap`,className:c(H,`items-center justify-center`,t),children:(0,V.jsx)(`span`,{className:`flex items-center justify-center -space-x-2`,children:r.map(e=>(0,V.jsx)(O,{entry:e,size:`sm`,className:`ring-2 ring-surface-raised`},e.id))})});let i=[r[0]??null,r[1]??null,r[2]??null,r[3]??null];return(0,V.jsx)(`span`,{"aria-hidden":`true`,"data-testid":n,"data-layout":`quadrants`,className:c(H,`grid grid-cols-2 grid-rows-2 gap-0.5 p-1`,t),children:i.map((e,t)=>e?(0,V.jsx)(`span`,{className:`flex items-center justify-center`,children:(0,V.jsx)(O,{entry:e,size:`xs`})},e.id):(0,V.jsx)(`span`,{"aria-hidden":`true`},`empty-${t}`))})}function G({count:e}){return(0,V.jsx)(`span`,{className:`ml-2 inline-flex items-center justify-center rounded-full bg-surface-raised px-2 py-0.5 text-xs text-foreground`,children:e})}function K(e){return e.map((e,t)=>({automation:e,index:t})).sort((e,t)=>(t.automation.popularityRank??0)-(e.automation.popularityRank??0)||e.index-t.index).map(({automation:e})=>e)}var q=K(B),J=[`github-pr-reviewer`,`github-repo-monitor`,`slack-channel-monitor`];function Y(e){return J.includes(e.id)}function X(e){let t=E(A);return e.requiredIntegrationIds.map(e=>T(e,t)).filter(e=>!!e)}function Z(e,t,n){let r=n.trim().toLowerCase();return r?[e.name,e.category,e.description,e.prompt,...t.map(e=>e.name),...t.flatMap(e=>e.keywords??[])].join(` `).toLowerCase().includes(r):!0}function Q(e){return X(e).length>0}function te(e,t,n,r){let i=e.map(e=>{let n=!!w(e,t);return{id:`mcp-${e.id}`,node:(0,V.jsxs)(`span`,{className:c(b,`gap-1`),children:[(0,V.jsx)(O,{entry:e,size:`xs`}),e.name,n?(0,V.jsx)(`span`,{className:`text-white`,children:r(a.RECOMMENDED_AUTOMATIONS$CONNECTED)}):null]})}});return n>0&&i.push({id:`missing-connect`,node:(0,V.jsx)(`span`,{className:b,children:r(a.RECOMMENDED_AUTOMATIONS$MISSING_CONNECT,{count:n})})}),i}function $({automations:e,installedServers:t,onSelect:n,translate:r}){return(0,V.jsx)(`div`,{className:c(`mt-3`,C),children:e.map(e=>{let i=X(e),a=i.filter(e=>!w(e,t)).length;return(0,V.jsx)(`button`,{type:`button`,"data-testid":`recommended-automation-card-${e.id}`,onClick:()=>n(e),className:c(`flex min-w-0 overflow-hidden p-4 text-left rounded-xl bg-surface-raised`,S),children:(0,V.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-3`,children:[(0,V.jsx)(W,{entries:i,testId:`recommended-automation-icon-${e.id}`}),(0,V.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3`,children:[(0,V.jsxs)(`header`,{className:`flex items-start justify-between gap-3`,children:[(0,V.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,V.jsx)(`h3`,{className:`truncate text-sm font-semibold text-white`,children:e.name}),(0,V.jsx)(`p`,{className:`mt-0.5 truncate text-xs text-tertiary-alt`,children:e.category})]}),(0,V.jsx)(M,{testId:`recommended-automation-plus-${e.id}`})]}),(0,V.jsx)(`p`,{className:`line-clamp-2 text-xs leading-relaxed text-tertiary-light`,children:e.description}),(0,V.jsx)(j,{pills:te(i,t,a,r),testId:`recommended-automation-pills-${e.id}`})]})]})},e.id)})})}function ne({backendKind:e,installedServers:t,query:n=``,onSelect:r,scrollableGrid:o=!1}){let{t:s}=i(`openhands`),l=q.filter(e=>{let t=X(e);return Q(e)&&Z(e,t,n)});if(l.length===0)return null;let u=l.filter(Y),d=l.filter(e=>!Y(e));return(0,V.jsx)(`section`,{"data-testid":`recommended-automations-section`,className:c(o&&`flex min-h-0 flex-1 flex-col`),children:(0,V.jsxs)(`div`,{"data-testid":o?`recommended-automations-scroll-area`:void 0,className:c(`mt-3`,x,o&&`min-h-0 flex-1 overflow-y-auto custom-scrollbar-always`),children:[u.length>0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`div`,{className:`flex items-center`,children:[(0,V.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:s(a.RECOMMENDED_AUTOMATIONS$SECTION_TITLE)}),(0,V.jsx)(G,{count:u.length})]}),(0,V.jsx)(`p`,{className:`mt-1 text-sm text-muted`,children:s(a.RECOMMENDED_AUTOMATIONS$SECTION_DESCRIPTION)}),(0,V.jsx)($,{automations:u,installedServers:t,onSelect:r,translate:s})]}),d.length>0&&(0,V.jsxs)(`section`,{"data-testid":`recommended-automations-beta-section`,className:c(u.length>0&&`mt-8`),children:[(0,V.jsxs)(`div`,{"data-testid":`recommended-automations-beta-heading`,className:`flex items-center`,children:[(0,V.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:s(a.RECOMMENDED_AUTOMATIONS$BETA_LABEL)}),(0,V.jsx)(G,{count:d.length})]}),(0,V.jsx)($,{automations:d,installedServers:t,onSelect:r,translate:s})]})]})})}function re({isOpen:e,onClose:t,onContinueLocal:n,onOpenUrl:r}){let{t:o}=i(`openhands`);return e?(0,V.jsx)(l,{onClose:t,"aria-label":o(a.RESPONDER_DEPLOYMENT$TITLE),children:(0,V.jsxs)(`div`,{"data-testid":`responder-deployment-modal`,className:`relative flex w-full max-w-3xl flex-col rounded-xl border border-[var(--oh-border)] bg-base-secondary`,children:[(0,V.jsx)(h,{onClose:t,testId:`responder-deployment-modal-close`}),(0,V.jsxs)(`header`,{className:`flex-shrink-0 px-6 pb-4 pt-6`,children:[(0,V.jsx)(`h2`,{className:c(`pr-6`,u),children:o(a.RESPONDER_DEPLOYMENT$TITLE)}),(0,V.jsx)(`p`,{className:`mt-2 text-sm text-muted`,children:o(a.RESPONDER_DEPLOYMENT$DESCRIPTION)})]}),(0,V.jsx)(`div`,{className:`flex flex-col gap-3 px-6 pb-6 sm:flex-row`,children:z.map(e=>{let t=R(e),{action:i}=t;return(0,V.jsxs)(`div`,{"data-testid":t.testId,className:`flex flex-1 flex-col gap-3 rounded-xl border border-[var(--oh-border)] bg-surface-raised p-4`,children:[(0,V.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,V.jsx)(`h3`,{className:`text-sm font-semibold text-white`,children:o(t.titleKey)}),(0,V.jsx)(`p`,{className:`text-xs leading-relaxed text-tertiary-light`,children:o(t.descriptionKey)})]}),(0,V.jsx)(d,{type:`button`,variant:`primary`,className:`mt-auto`,testId:t.primaryActionTestId,onClick:()=>{i.kind===`launch-local`?n():r(i.url)},children:o(t.primaryActionKey)})]},t.target)})})]})}):null}function ie(e){let t=E(A);return e.requiredIntegrationIds.map(e=>T(e,t)).filter(e=>!!e)}function ae(e){return e}function oe({query:e,onLaunched:t,scrollableGrid:n=!1}){let r=o(),{navigate:i}=f(),{data:a}=_(),{trackPrebuiltAutomationEnabled:s}=v(),c=y(),l=P(),u=m(e=>e.setMessageToSend),[d,h]=(0,N.useState)(null),[b,x]=(0,N.useState)(null),[S,C]=(0,N.useState)([]),T=(0,N.useRef)(!1),E=(0,N.useRef)(!1),O=(0,N.useMemo)(()=>D(g(a?.agent_settings?.mcp_config)),[a?.agent_settings?.mcp_config]),A=(0,N.useCallback)(e=>{if(E.current||c.isPending||l)return;E.current=!0;let n=ae(e.prompt);c.mutate({},{onSuccess:r=>{s({automationName:e.name,automationCategory:e.category}),r.conversation_id.startsWith(`task-`)&&r.task_id?ee(r.task_id,n):p(r.conversation_id,{draftMessage:n}),i?.(`/conversations/${r.conversation_id}`),t?.(),window.setTimeout(()=>u(n),0)},onError:()=>{E.current=!1}})},[r.backend.kind,c,l,i,t,u,s]),j=(0,N.useCallback)(e=>ie(e).filter(e=>!w(e,O)),[O]),M=e=>{let t=j(e);if(t.length===0){A(e);return}h(e),C(t)},F=e=>{if(!(E.current||c.isPending||l||S.length>0||b!==null)){if(L(e)){x(e);return}M(e)}},I=()=>{let e=b;x(null),e&&M(e)},R=e=>{x(null),window.open(e,`_blank`,`noopener,noreferrer`)},z=()=>{x(null)},B=()=>{if(T.current){T.current=!1;return}h(null),C([])},H=()=>{T.current=!0,C(e=>{let t=e.slice(1);if(t.length===0){let e=d;window.setTimeout(()=>{h(null),e&&A(e)},0)}return t})},U=S[0]??null;return r.backend.kind===`cloud`?null:(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(ne,{backendKind:r.backend.kind,installedServers:O,query:e,onSelect:F,scrollableGrid:n}),U&&(0,V.jsx)(k,{entry:U,onClose:B,onSuccess:H},U.id),(0,V.jsx)(re,{isOpen:b!==null,onClose:z,onContinueLocal:I,onOpenUrl:R})]})}export{G as n,P as r,oe as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-D4Tak8A1.js";var t=e(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),n=e(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]);export{t as n,n as t};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/manage-backends-modal-CKQ46rvw.js","assets/rolldown-runtime-BFRubm34.js","assets/vendor-styling-CI0PQ3ab.js","assets/agent-server-compatibility-BWN-EIQn.js","assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dhilvkxv-eGLBu60s.js","assets/useQuery-D5pEZbY0.js","assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~e0djk9ee-Cw6LUe8p.js","assets/suspense-DmZ3MSSh.js","assets/pencil-CWhApFIT.js","assets/createLucideIcon-D4Tak8A1.js","assets/refresh-cw-B9B7-vsy.js","assets/trash-2-BU6BlW4i.js","assets/declaration-BGsHjPEW.js","assets/useTranslation-Cbf5AGg_.js","assets/active-backend-context-B8rMv0X9.js","assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~iztiaf2o-rqo6vRFz.js","assets/utils-DB9LsAzA.js","assets/common-CxbUL3nR.js","assets/backend-form-modal-RGcu909r.js","assets/cloud-funnel-analytics-Zcv57hfT.js","assets/client-source-BZK8vRs2.js","assets/telemetry-C5JMEfqB.js","assets/segmented-toggle-kzwZkLaj.js","assets/brand-button-B1izLAdR.js","assets/form-control-classes-CbdN5aO3.js","assets/settings-input-BsgQWS5R.js","assets/modal-backdrop-zVwfOJZr.js","assets/modal-body-Cc2zp0xb.js","assets/modal-close-button-BcIBUdSq.js","assets/navigation-context-DPs2G0X8.js","assets/use-backends-health-CLHPitJM.js","assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~ftka0fnu-cFNmfAE6.js","assets/useQueries-BpIlT8Mt.js","assets/organization-service.api-vrRNwOma.js","assets/proxy-B3tCGf0X.js","assets/use-tracking-D2Qg5Lpd.js","assets/use-settings-CyxSlyTQ.js","assets/settings-service.api-DXk5TdeJ.js","assets/settings-mQUckT0g.js","assets/modal-classes-3qT9Ap7Q.js","assets/confirmation-modal-DGBWM2Ls.js","assets/use-cloud-current-user-id-DUCSxNjY.js","assets/api-key-entry-screen-iZc7n8AI.js","assets/onboarding-modal-Q4AnpIdg.js","assets/recommended-automations-launcher-Bj7PuHY1.js","assets/vendor~root-layout~index-home~home~mcp~automations-list~onboarding-modal-C4-GDgiF.js","assets/useMutationState-OnAsCLA_.js","assets/install-server-modal-Qk1gwyI8.js","assets/useMutation-u8UgRgDK.js","assets/bot-C-EA6685.js","assets/v4-DbCkTSoU.js","assets/secrets-service-CvyPWJhg.js","assets/styled-tooltip-B14i_Uac.js","assets/skill-card-pill-row-BPYKQ3IN.js","assets/extension-module-card-classes-9V3J9J_b.js","assets/circle-plus-check-toggle-DoFIjVE0.js","assets/checkmark-h7udgXMM.js","assets/x-mark-Batp6gXa.js","assets/use-create-conversation-r1JHfKO5.js","assets/use-agent-profiles-0pr5bLS7.js","assets/agent-server-conversation-service.api-DSPIkMwJ.js","assets/vendor~root-layout~index-home~home~conversation-panel~conversation~launch~skills-settings~a~j2jlu22h-mC0v44WR.js","assets/profiles-service.api-BQTklD5D.js","assets/llm-subscription-service-Casyzgn1.js","assets/llm-subscription-DtsX5Lhg.js","assets/acp-providers-DerAmTyY.js","assets/canvas-ui-COgjltGz.js","assets/plugins-management-service-B75jyC56.js","assets/use-llm-profiles-Dr5__SlZ.js","assets/conversation-store-LptbOvKa.js","assets/middleware-DYHYNAnP.js","assets/react-DPDgL6du.js","assets/conversation-local-storage-F6zVMM--.js","assets/chat-send-button-BZHG2hAW.js","assets/check-TbOEtHKj.js","assets/loader-circle-CsAsfLIs.js","assets/llm-settings-DFkJQr_w.js","assets/back-nav-button-DVknCcSP.js","assets/navigation-link-D8hfwvxI.js","assets/copy-D1YGjP-C.js","assets/external-link-lhdITPqq.js","assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~jkpzbynd-CkpBIhVe.js","assets/model-selector-DJrMrFAr.js","assets/combobox-caret-CxZpqoSR.js","assets/sdk-settings-schema-CLR01YIK.js","assets/dist-CodhvuAP.js","assets/map-provider-BbIb12oh.js","assets/ellipsis-button-CbNnHlIq.js","assets/dropdown-classes-D3wMJlXT.js","assets/use-can-manage-org-profiles-Ck_bsNbH.js","assets/base-modal-CIF_785P.js","assets/sdk-section-page-DLLNrYjI.js","assets/switch-skeleton-DqQwalyu.js","assets/schema-field-CUwk4wrQ.js","assets/settings-dropdown-input-Dhx9ErGd.js","assets/settings-switch-Bes8dIlV.js","assets/toggle-switch-DX_k418f.js","assets/use-is-authed-BezEyfeh.js","assets/typography-CzfoD9DY.js","assets/use-save-settings-Chvzeu2s.js","assets/copy-to-clipboard-button-CFzH_NOX.js","assets/copy-BLmGeJcd.js","assets/loading-spinner-BcdnT0mN.js","assets/settings-section-header-context-COMOIaxV.js","assets/u-check-circle-BqoIxNz_.js","assets/u-edit-DL5LgKon.js","assets/settings-list-classes-DSJJX99U.js","assets/use-acp-credential-form-Bm8qXdlc.js","assets/use-create-secret-Cf2N11d2.js","assets/openhands-logo-bcNw5bkY.js","assets/use-activate-agent-profile-DlykqEfN.js","assets/use-save-agent-profile-RqUGqTv6.js","assets/terminal-Cgf___rK.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t,St as n,bt as r}from"./vendor-styling-CI0PQ3ab.js";import{L as i,M as a,N as o,a as s,c,d as l,f as u,i as d,k as f}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~jkpzbynd-CkpBIhVe.js";import{n as p}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~e0djk9ee-Cw6LUe8p.js";import{c as m,t as h}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~iztiaf2o-rqo6vRFz.js";import{t as g}from"./useQuery-D5pEZbY0.js";import{t as _}from"./useTranslation-Cbf5AGg_.js";import{t as v}from"./declaration-BGsHjPEW.js";import{r as y}from"./providers-DfTB2gPd.js";import{R as b,d as x,r as ee,x as S}from"./active-backend-context-B8rMv0X9.js";import{F as C,L as te,P as w,R as ne,i as re,n as T,o as E,y as D}from"./agent-server-compatibility-BWN-EIQn.js";import{c as O,d as k,m as A,n as j,o as M,p as N,u as P}from"./telemetry-C5JMEfqB.js";import{a as F,n as I,t as L}from"./use-backends-health-CLHPitJM.js";import{t as R}from"./modal-backdrop-zVwfOJZr.js";import{n as z}from"./modal-body-Cc2zp0xb.js";import{n as B,r as V}from"./base-modal-CIF_785P.js";import{t as H}from"./brand-button-B1izLAdR.js";import{t as U}from"./loading-spinner-BcdnT0mN.js";import{t as W}from"./use-config-B5r8erYt.js";import{t as G}from"./use-onboarding-completion-C_Swglzp.js";import{t as K}from"./navigation-context-DPs2G0X8.js";import{i as q,n as J}from"./color-themes-CHizm1xF.js";var Y=e(t(),1),X=`/api/authenticate`,ie=`/login`,ae=`returnTo`,oe=new Set([`localhost`,`127.0.0.1`,`::1`]);function se(){return typeof window>`u`?`/`:`${window.location.pathname}${window.location.search}${window.location.hash}`}function ce(){return typeof window>`u`?!1:oe.has(window.location.hostname)}function le(){return w()===`cookie`&&!ce()}async function ue(){try{return await m.post(X,null,{withCredentials:!0}),!0}catch(e){if(m.isAxiosError(e)&&e.response?.status===401)return!1;throw e}}function de(e=se()){return`${ie}?${new URLSearchParams({[ae]:e}).toString()}`}function fe(){typeof window>`u`||window.location.assign(de())}function pe(){let e=(0,Y.useSyncExternalStore)(P,M,()=>`pending`),t=(0,Y.useRef)(!1);(0,Y.useEffect)(()=>{t.current||(t.current=!0,N())},[]),(0,Y.useEffect)(()=>{e===`granted`&&A()},[e]);let n=(0,Y.useCallback)(()=>O(`granted`),[]),r=(0,Y.useCallback)(()=>O(`denied`),[]),i=(0,Y.useCallback)((e,t)=>{k(e,t)},[]),a=(0,Y.useCallback)(()=>j(),[]);return{consent:e,isEnabled:e===`granted`,showConsentPrompt:e===`pending`,grantConsent:n,denyConsent:r,track:i,clearData:a}}var Z=r();function me({onChoice:e}){let{t,ready:n}=_(`openhands`),{showConsentPrompt:r,grantConsent:i,denyConsent:a}=pe(),[o,s]=(0,Y.useState)(!1);return(0,Y.useEffect)(()=>{if(n&&r){let e=setTimeout(()=>s(!0),50);return()=>clearTimeout(e)}s(!1)},[n,r]),o?(0,Z.jsx)(R,{elevated:!0,"aria-label":t(v.TELEMETRY$CONSENT_TITLE),children:(0,Z.jsx)(`form`,{"data-testid":`telemetry-consent-form`,onSubmit:t=>{t.preventDefault();let n=new FormData(t.currentTarget).get(`analytics`)===`on`;n?i():a(),e?.(n)},className:`flex flex-col gap-2`,children:(0,Z.jsxs)(z,{className:`border border-[var(--oh-border)]`,children:[(0,Z.jsx)(V,{title:t(v.TELEMETRY$CONSENT_TITLE)}),(0,Z.jsx)(B,{children:t(v.TELEMETRY$CONSENT_DESCRIPTION)}),(0,Z.jsxs)(`label`,{className:`flex gap-2 items-center self-start text-sm cursor-pointer`,children:[(0,Z.jsx)(`input`,{name:`analytics`,type:`checkbox`,defaultChecked:!0,className:`w-4 h-4 cursor-pointer`}),t(v.TELEMETRY$SEND_ANONYMOUS_DATA)]}),(0,Z.jsx)(H,{testId:`confirm-telemetry-preferences`,type:`submit`,variant:`primary`,className:`w-full`,children:t(v.TELEMETRY$CONFIRM_PREFERENCES)})]})})}):null}function Q(){return Y.useEffect(()=>{J(q())},[]),null}var he=Y.lazy(()=>n(()=>import(`./manage-backends-modal-CKQ46rvw.js`).then(e=>e.n).then(e=>({default:e.ManageBackendsModal})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41]))),ge=Y.lazy(()=>n(()=>import(`./api-key-entry-screen-iZc7n8AI.js`),__vite__mapDeps([42,1,2,3,4,12,13,14,15,6,9,16,17,18,5,7,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39]))),_e=Y.lazy(()=>n(()=>import(`./onboarding-modal-Q4AnpIdg.js`).then(e=>e.n).then(e=>({default:e.OnboardingModal})),__vite__mapDeps([43,1,2,3,4,44,45,46,6,12,13,14,15,9,16,17,37,34,38,47,48,49,50,51,23,24,25,52,26,28,36,5,7,39,53,54,55,56,57,29,58,59,60,61,31,20,62,63,64,65,66,67,68,35,21,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,33,90,27,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,19,18,22,30,32,109,110,111,112]))),ve=Y.lazy(()=>n(()=>import(`./backend-form-modal-RGcu909r.js`).then(e=>e.i).then(e=>({default:e.BackendFormModal})),__vite__mapDeps([18,1,2,3,4,5,6,7,12,13,14,15,9,16,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])));function ye({children:e}){return(0,Z.jsxs)(`html`,{lang:`en`,children:[(0,Z.jsxs)(`head`,{children:[(0,Z.jsx)(`meta`,{charSet:`utf-8`}),(0,Z.jsx)(`meta`,{name:`viewport`,content:`width=device-width, initial-scale=1`}),(0,Z.jsx)(s,{}),(0,Z.jsx)(d,{})]}),(0,Z.jsxs)(`body`,{"data-agent-server-ui":``,className:`m-0`,children:[(0,Z.jsxs)(y,{contentClassName:`min-h-screen`,children:[(0,Z.jsx)(Q,{}),e,(0,Z.jsx)(h,{toastOptions:S}),(0,Z.jsx)(me,{}),(0,Z.jsx)(`div`,{id:`modal-portal-exit`})]}),(0,Z.jsx)(u,{}),(0,Z.jsx)(l,{})]})]})}function $(){return(0,Z.jsx)(`main`,{className:`min-h-screen bg-base px-6 py-10 text-white`,children:(0,Z.jsx)(`div`,{className:`mx-auto flex min-h-screen max-w-6xl items-center justify-center`,children:(0,Z.jsx)(`div`,{className:`rounded-3xl border border-white/10 bg-base/80 px-8 py-10 shadow-2xl`,children:(0,Z.jsx)(U,{size:`large`})})})})}function be(){let e=p(),t=Y.useCallback(()=>{D()&&(T(),e.invalidateQueries({queryKey:x.WEB_CLIENT_CONFIG}))},[e]);return(0,Z.jsx)(`main`,{"data-testid":`agent-server-onboarding-screen`,className:`min-h-screen bg-base`,children:(0,Z.jsx)(Y.Suspense,{fallback:null,children:(0,Z.jsx)(he,{onClose:t,recoveryMode:!0})})})}function xe({onClose:e}){let t=f(),n=a(),r=o(),i=t.pathname.match(/^\/conversations\/([^/]+)/)?.[1]??null,s=Y.useMemo(()=>({currentPath:t.pathname,conversationId:i,isNavigating:!!r.location,navigate:(e,t)=>n(e,t)}),[i,t.pathname,n,r.location]);return C()===null?(0,Z.jsx)(`main`,{"data-testid":`first-run-onboarding-screen`,className:`min-h-screen bg-base`,children:(0,Z.jsx)(K,{value:s,children:(0,Z.jsx)(Y.Suspense,{fallback:(0,Z.jsx)($,{}),children:(0,Z.jsx)(_e,{onClose:e})})})}):(0,Z.jsx)(`main`,{"data-testid":`first-run-onboarding-screen`,className:`min-h-screen bg-base`,children:(0,Z.jsx)(Y.Suspense,{fallback:(0,Z.jsx)($,{}),children:(0,Z.jsx)(ve,{mode:`add`,onClose:e,source:`manage_backends_modal`,hideCloseButton:!0})})})}var Se=()=>[{rel:`icon`,type:`image/svg+xml`,href:b(`/favicon.svg`)}],Ce=()=>[{title:`OpenHands`},{name:`description`,content:`Let's Start Building!`}],we=i(function(){let e=te(),t=!!D()?.apiKey,n=e&&!t,{active:r}=ee(),i=C(),a=w(),o=i!==null,s=o&&r.backend.kind===`cloud`&&ne(r.backend.host,i),{isCompleted:l,markCompleted:u}=G(),d=le(),f=o?!d&&(!s||a!==`cookie`&&!l):!l,p=g({queryKey:x.MAIN_APP_COOKIE_AUTH,queryFn:ue,enabled:d&&!f,retry:!1,staleTime:1e3*60*5,meta:{disableToast:!0}}),m=d&&!f&&p.isPending&&!p.isError,h=d&&p.data===!1,_=!d||p.data===!0||p.isError;Y.useEffect(()=>{h&&fe()},[h]);let v=W({enabled:!n&&!f&&_}),y=F(r.backend.kind===`cloud`&&_?[r.backend]:[])[r.backend.id],b=r.backend.kind===`cloud`&&y?.isConnected===!1&&I(y.lastError),S=r.backend.kind===`cloud`&&y?.disabled===!0&&L(y.lastError);return f?(0,Z.jsx)(xe,{onClose:u}):m||h?(0,Z.jsx)($,{}):n||re(v.error)?(0,Z.jsx)(Y.Suspense,{fallback:(0,Z.jsx)($,{}),children:(0,Z.jsx)(ge,{})}):v.isPending||v.isLoading?(0,Z.jsx)($,{}):b||S||E(v.error)?(0,Z.jsx)(be,{}):(0,Z.jsx)(c,{})});export{ye as Layout,we as default,Se as links,Ce as meta};
|