@openhands/agent-canvas 1.0.0-alpha.9 → 1.0.0-beta.2
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 +2 -2
- package/bin/agent-canvas.mjs +22 -2
- package/build/assets/{QueryClientProvider-B7kl84Kj.js → QueryClientProvider-CkGuhXg-.js} +1 -1
- package/build/assets/{Trans-1j65oy9O.js → Trans-Cvm_-SMi.js} +1 -1
- package/build/assets/acp-providers-CbiRekh9.js +1 -0
- package/build/assets/{acp-route-guard-CQTmeJwM.js → acp-route-guard-B2yoBZ_4.js} +1 -1
- package/build/assets/{active-backend-context-TVbjnvmP.js → active-backend-context-cCM1vYYZ.js} +1 -1
- package/build/assets/add-backend-modal-DIUQzMPa.js +1 -0
- package/build/assets/agent-server-client-options-Bc5ZorQZ.js +1 -0
- package/build/assets/agent-server-compatibility-BlkUsrX2.js +1 -0
- package/build/assets/agent-server-conversation-service.api-DFvqqEDo.js +5 -0
- package/build/assets/{agent-settings-B247S9G3.js → agent-settings-CnGSCmK8.js} +1 -1
- package/build/assets/{alert-banner-BWoqueRw.js → alert-banner-DtzAX654.js} +1 -1
- package/build/assets/{analytics-consent-form-modal-C7sXfxRh.js → analytics-consent-form-modal-CHZ3I37v.js} +1 -1
- package/build/assets/api-key-entry-screen-B2gynaCp.js +1 -0
- package/build/assets/{app-settings-BVeSaty9.js → app-settings-Db9ITeJH.js} +1 -1
- package/build/assets/{automation-detail-R-99FUce.js → automation-detail-Di7EOIZD.js} +1 -1
- package/build/assets/{automations-list-Dfu2c-_D.js → automations-list-IsIWdDiw.js} +1 -1
- package/build/assets/{backend-form-modal-DxYjqqAK.js → backend-form-modal-Dnk33xA_.js} +1 -1
- package/build/assets/{backend-synced-settings-badge-nAfiUWvM.js → backend-synced-settings-badge-Dc6c7GT4.js} +1 -1
- package/build/assets/{base-modal-CQRvRHu1.js → base-modal-_dYTw1ri.js} +1 -1
- package/build/assets/{brand-button-C2nEKopC.js → brand-button-Br7f0kZJ.js} +1 -1
- package/build/assets/{browser-HrYc5Gce.js → browser-D810xUYt.js} +2 -2
- package/build/assets/browser-store-Couc4S5D.js +1 -0
- package/build/assets/browser-tab-B-aIqXRl.js +1 -0
- package/build/assets/{checkmark-BJJrZUF8.js → checkmark-DL7acQA7.js} +1 -1
- package/build/assets/{chevron-left-small-CSh-sE9L.js → chevron-left-small-CVWf8TI6.js} +1 -1
- package/build/assets/{circle-plus-check-toggle-qs8Va1cC.js → circle-plus-check-toggle-P7ZZToV4.js} +1 -1
- package/build/assets/{clock-ZR4Kn-_Y.js → clock-BRjCgHTc.js} +1 -1
- package/build/assets/{close-BdmyeRqS.js → close-B5LROHR3.js} +1 -1
- package/build/assets/{combobox-caret-B53O9Hsq.js → combobox-caret-to1O8irE.js} +1 -1
- package/build/assets/{condenser-settings-A35V3yng.js → condenser-settings-wnEKhBof.js} +1 -1
- package/build/assets/{confirmation-modal-C9-La0h3.js → confirmation-modal-Dau3w_sa.js} +1 -1
- package/build/assets/{context-menu-list-item-Buu9nc0q.js → context-menu-list-item-CWNFpuiC.js} +1 -1
- package/build/assets/conversation-HlncOV7n.js +19 -0
- package/build/assets/conversation-MtnkpqA9.js +1 -0
- package/build/assets/conversation-panel-DxnM6tRe.js +1 -0
- package/build/assets/{conversation-service.api--f8WglOC.js → conversation-service.api-nb5W1PqR.js} +1 -1
- package/build/assets/{conversation-tab-empty-state-D8dNvo-V.js → conversation-tab-empty-state-DyssnnWa.js} +1 -1
- package/build/assets/conversation-websocket-context-C8_PkGLi.js +3 -0
- package/build/assets/{copy-C7Ti2d8C.js → copy-DYgmUdIw.js} +1 -1
- package/build/assets/{custom-toast-handlers-BOc3qeQ7.js → custom-toast-handlers-C-SZFmto.js} +1 -1
- package/build/assets/declaration-BNMqORFE.js +1 -0
- package/build/assets/{device-verify-CMusn8nX.js → device-verify-DqDlphsG.js} +1 -1
- package/build/assets/{dist-DZHSA2e6.js → dist-C6t0EXL7.js} +1 -1
- package/build/assets/{edit-automation-modal-Dnjxbjn7.js → edit-automation-modal-BGzR3nfZ.js} +1 -1
- package/build/assets/{ellipsis-button-ugUATsNo.js → ellipsis-button-ZyLMPURn.js} +1 -1
- package/build/assets/{entry.client-CqqXOSvd.js → entry.client-1VMHpktY.js} +2 -2
- package/build/assets/{enum-filter-dropdown-1vpOGySB.js → enum-filter-dropdown-CEgCdu4A.js} +1 -1
- package/build/assets/{environment-switch-overlay-CTCTQikP.js → environment-switch-overlay-XL8yCGP6.js} +1 -1
- package/build/assets/{extensions-hub-BSUseHVF.js → extensions-hub-C651jsVh.js} +1 -1
- package/build/assets/{extensions-navigation-CT1kc1u_.js → extensions-navigation-BYR8Giqq.js} +1 -1
- package/build/assets/files-tab-BhnLgimi.js +1 -0
- package/build/assets/{folder-0WSMImNX.js → folder-ZZJVGgd7.js} +1 -1
- package/build/assets/{git-control-bar-branch-button-C8u5rzjc.js → git-control-bar-branch-button-M34A5_vX.js} +2 -2
- package/build/assets/{git-provider-icon-D-a-rcLm.js → git-provider-icon-D5dCNy-k.js} +1 -1
- package/build/assets/home-CYQv7yc_.js +1 -0
- package/build/assets/{i18n-DjAGhTis.js → i18n-CTohRuoO.js} +1 -1
- package/build/assets/install-server-modal-f31_CLrW.js +1 -0
- package/build/assets/{launch-B2mbfOSm.js → launch-DHEUYn2A.js} +1 -1
- package/build/assets/{lesson-plan-DRYG5SLI.js → lesson-plan-dH5Bj0pN.js} +1 -1
- package/build/assets/{link-external-C9d6Fo3x.js → link-external-D2POYx4c.js} +1 -1
- package/build/assets/{llm-client-ChQzg4wX.js → llm-client-DaH1TuyR.js} +1 -1
- package/build/assets/llm-settings-Bql-vydt.js +1 -0
- package/build/assets/llm-settings-C_tal6Ds.js +1 -0
- package/build/assets/{loading-spinner-C04FGh14.js → loading-spinner-BPtYORNK.js} +1 -1
- package/build/assets/{manage-backends-modal-s22zCdEW.js → manage-backends-modal-l7RkKfwX.js} +1 -1
- package/build/assets/{manage-workspaces-modal-C5EuW8m1.js → manage-workspaces-modal-DhKF_8z3.js} +1 -1
- package/build/assets/manifest-6b31008e.js +1 -0
- package/build/assets/{markdown-renderer-CEX4Becj.js → markdown-renderer-DMzf2i4x.js} +1 -1
- package/build/assets/mcp-D2onbwVk.js +9 -0
- package/build/assets/{messages-6aOyUu3r.js → messages-BMzyOW2V.js} +1 -1
- package/build/assets/{modal-backdrop-DTYGVmOR.js → modal-backdrop-BAbgYsqB.js} +1 -1
- package/build/assets/{modal-body-YElmM1dV.js → modal-body-BI6Ru2Qr.js} +1 -1
- package/build/assets/{modal-close-button-C_GpQt9F.js → modal-close-button-t1Gh3qmL.js} +1 -1
- package/build/assets/{model-selector-DeMmw-Xa.js → model-selector-SM9IUz-q.js} +1 -1
- package/build/assets/{mutation-Cz7N4XAo.js → mutation-D0OogFCz.js} +1 -1
- package/build/assets/{navigation-context-DeIPtGPp.js → navigation-context-D0YWpT8d.js} +1 -1
- package/build/assets/{navigation-link-C9JD4PYD.js → navigation-link-Cn7KP3c5.js} +1 -1
- package/build/assets/{openhands-logo-CI5Fhn1W.js → openhands-logo-CnrF6LKb.js} +1 -1
- package/build/assets/{option-service.api-DsI1UW7N.js → option-service.api-KvY_mZMY.js} +1 -1
- package/build/assets/{organization-service.api-COwMPFg5.js → organization-service.api-DzYTHTYC.js} +1 -1
- package/build/assets/{path-utils-BVbe598W.js → path-utils-YohAYyMv.js} +1 -1
- package/build/assets/{plan-components-DEjMuDDG.js → plan-components-atxXCF0R.js} +1 -1
- package/build/assets/{planner-tab-bN6r1G-1.js → planner-tab-CFc-hV07.js} +1 -1
- package/build/assets/{profiles-client-BGkKEV9j.js → profiles-client-D6IkTJof.js} +1 -1
- package/build/assets/{providers-DXvCAN_u.js → providers-Bx6EfrzZ.js} +1 -1
- package/build/assets/{proxy-CurRmrqf.js → proxy-CxydCnis.js} +1 -1
- package/build/assets/{query-client-config-Ba7qAAoO.js → query-client-config-B7u9asM0.js} +1 -1
- package/build/assets/{recommended-automations-launcher-mJhK6Atl.js → recommended-automations-launcher-sgvfU62c.js} +3 -3
- package/build/assets/root-E6pcRIYp.js +2 -0
- package/build/assets/{root-layout-BjVwHmta.js → root-layout-DVepR4To.js} +2 -2
- package/build/assets/sdk-section-page-DOIKvwSL.js +1 -0
- package/build/assets/{sdk-settings-schema-QBYH-ONX.js → sdk-settings-schema-DsUf9wu1.js} +1 -1
- package/build/assets/{search-Cq_cFrDt.js → search-27Owlc3A.js} +1 -1
- package/build/assets/{secrets-service-Bwd5DeUs.js → secrets-service-BsnKFc2x.js} +1 -1
- package/build/assets/secrets-settings-Bz_UohPJ.js +1 -0
- package/build/assets/{server-client-C3mC8Hl3.js → server-client-DyAQ3NZ_.js} +1 -1
- package/build/assets/{settings-D7E2U5tK.js → settings-BYkVX7vW.js} +1 -1
- package/build/assets/{settings-client-CwjfwoiB.js → settings-client-C73C7IgV.js} +1 -1
- package/build/assets/{settings-dropdown-input-VwAXNrOb.js → settings-dropdown-input-BJYvGdg-.js} +1 -1
- package/build/assets/{settings-gear-BJwWR1ej.js → settings-gear-C77PgE_O.js} +1 -1
- package/build/assets/{settings-index-J-3BNR0W.js → settings-index-Dz0BmdJD.js} +1 -1
- package/build/assets/{settings-input-DBywAnA7.js → settings-input-Bn7F5C75.js} +1 -1
- package/build/assets/{settings-list-classes-BOS092DR.js → settings-list-classes-Bf80tWtc.js} +1 -1
- package/build/assets/{settings-modal-B8vgWDTe.js → settings-modal-Brzgh5Yw.js} +1 -1
- package/build/assets/{settings-section-header-context-32x6WTyL.js → settings-section-header-context-BgZe5YkE.js} +1 -1
- package/build/assets/{settings-service.api-FvJGK45W.js → settings-service.api-CZ3uWx4v.js} +1 -1
- package/build/assets/{settings-switch-DTKmHC8F.js → settings-switch-BeIKrWms.js} +1 -1
- package/build/assets/{shared-conversation-EZV0FRIf.js → shared-conversation-DChOdb0t.js} +1 -1
- package/build/assets/{sidebar-mobile-menu-toggle-BnbzzpQl.js → sidebar-mobile-menu-toggle-BWuf4PRH.js} +1 -1
- package/build/assets/{sidebar-nav-link-CnWoZcwc.js → sidebar-nav-link-BGjiJq-4.js} +1 -1
- package/build/assets/{skill-card-pill-row-tZ599jli.js → skill-card-pill-row-DF1axQCG.js} +1 -1
- package/build/assets/{skills-ZyAO5dyK.js → skills-ChIKZPK4.js} +1 -1
- package/build/assets/{skills-plugins-BSRz041I.js → skills-plugins-CcI_19lM.js} +1 -1
- package/build/assets/{skills-settings-CG2hu34D.js → skills-settings-DlA5hlXw.js} +1 -1
- package/build/assets/{status-CsatcFbK.js → status-hp6M6E7E.js} +1 -1
- package/build/assets/{styled-tooltip-CS3mB_1X.js → styled-tooltip-CBzrri6o.js} +1 -1
- package/build/assets/{switch-skeleton-C-CfhYYV.js → switch-skeleton-DnC9wLp7.js} +1 -1
- package/build/assets/{task-list-tab-465DDju0.js → task-list-tab-DUJn1sgz.js} +1 -1
- package/build/assets/{terminal-CcgBEVnC.js → terminal-CRf9S0Z2.js} +1 -1
- package/build/assets/{terminal-LNa-iU5c.js → terminal-RmuaSdhJ.js} +1 -1
- package/build/assets/{toggle-switch-k-IZCDbt.js → toggle-switch-Pvyp2RAN.js} +1 -1
- package/build/assets/{typography-vVUMoNUg.js → typography-gpuWmrQO.js} +1 -1
- package/build/assets/{u-check-circle-DplbarS5.js → u-check-circle-IUIfACQQ.js} +1 -1
- package/build/assets/{u-check-circle-half-yDuiSZHC.js → u-check-circle-half-C1YxB6py.js} +1 -1
- package/build/assets/{u-circuit-C9tYkpeK.js → u-circuit-BmVikJHu.js} +1 -1
- package/build/assets/{u-edit-KAUlufD8.js → u-edit-CFvXHqZk.js} +1 -1
- package/build/assets/use-active-conversation-Db3IWSPK.js +1 -0
- package/build/assets/{use-agent-settings-schema-Bvp5UzV8.js → use-agent-settings-schema-33Un7UF2.js} +1 -1
- package/build/assets/{use-agent-state-D2C9SeGw.js → use-agent-state-Bn8vS5sY.js} +1 -1
- package/build/assets/{use-cloud-current-user-id-DWVar4st.js → use-cloud-current-user-id-CvkXFnTT.js} +1 -1
- package/build/assets/use-config-Co1O8-Ey.js +1 -0
- package/build/assets/{use-create-conversation-BEZg__Vv.js → use-create-conversation-CKS3EAHu.js} +1 -1
- package/build/assets/use-get-secrets-DuhdIA59.js +1 -0
- package/build/assets/{use-handle-plan-click-uOpew2LO.js → use-handle-plan-click-C9zJpK8A.js} +1 -1
- package/build/assets/use-is-authed-BggE5wPj.js +1 -0
- package/build/assets/{use-is-creating-conversation-DhDeeWfA.js → use-is-creating-conversation-BZ5hB_Bg.js} +1 -1
- package/build/assets/{use-launch-skill-in-chat-DVGPFrbI.js → use-launch-skill-in-chat-fNN_xGZG.js} +1 -1
- package/build/assets/{use-llm-profiles-O4a9V6RC.js → use-llm-profiles-DDOol3gK.js} +1 -1
- package/build/assets/use-runtime-is-ready-CQCE3xZC.js +1 -0
- package/build/assets/{use-save-settings-CEEKSTWG.js → use-save-settings-VUrj_QNG.js} +1 -1
- package/build/assets/{use-settings-DQ7Oo1Hj.js → use-settings-DQIZmIov.js} +1 -1
- package/build/assets/{use-settings-nav-items-YmrXrjn9.js → use-settings-nav-items-1ZvovKSr.js} +1 -1
- package/build/assets/{use-skills-BIvlWblA.js → use-skills-DAMLFjKU.js} +1 -1
- package/build/assets/use-unified-vscode-url-sZt29HrC.js +1 -0
- package/build/assets/use-user-conversation-DfgEB6RW.js +1 -0
- package/build/assets/{useMutation-B4OUESdw.js → useMutation-DqrumCWD.js} +1 -1
- package/build/assets/{useTranslation-CpIcQBq6.js → useTranslation-DCOdSSMl.js} +1 -1
- package/build/assets/{utils-D-HX7JCe.js → utils-i18rdUj2.js} +1 -1
- package/build/assets/v4-CNn21NXa.js +1 -0
- package/build/assets/{vendor~browser-Dr71AdrG.js → vendor~browser-BNjNhjFU.js} +1 -1
- package/build/assets/{vendor~browser-tab-BiVxfjJo.js → vendor~browser-tab-BgwV1mxF.js} +1 -1
- package/build/assets/{vendor~conversation-panel~conversation-BlCIz9XQ.js → vendor~conversation-panel~conversation-a9SyrrhV.js} +1 -1
- package/build/assets/{vendor~files-tab-DtLR-QD9.js → vendor~files-tab-BGKayPiK.js} +1 -1
- package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-Ds9quNZ9.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-smY2r837.js} +1 -1
- package/build/assets/{vendor~home~mcp~automations-list-C5PoHCy6.js → vendor~home~mcp~automations-list-Ccy2I0KU.js} +1 -1
- package/build/assets/{vendor~home~mcp~automations-list-BUBGGGYz.js → vendor~home~mcp~automations-list-DoPfwaXj.js} +1 -1
- package/build/assets/{vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-CGlZoBKa.js → vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-DbfELDJu.js} +2 -2
- package/build/assets/{vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-DE11mPxp.js → vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-Z3nsiNNq.js} +1 -1
- package/build/assets/{vendor~launch-Dg--Ssk6.js → vendor~launch-vdeRTWFu.js} +1 -1
- package/build/assets/{vendor~root-layout~conversation-panel~conversation~shared-conversation-DrXgiSCq.js → vendor~root-layout~conversation-panel~conversation~shared-conversation-DW31UyBp.js} +1 -1
- package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-8b8V5bfO.js → vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-BkQGKpye.js} +1 -1
- package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-Dy7L6fMG.js → vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-DzIXV3Ui.js} +1 -1
- package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~k776hupu-D40EXhZx.js → vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~k776hupu-Bbs7UJ5U.js} +2 -2
- package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~dp08i1qy-CHrEOFl6.js → vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~dp08i1qy-DTwbEEcX.js} +1 -1
- package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-BP1SKG0F.js → vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-d2oallMa.js} +1 -1
- package/build/assets/{vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-CyUbhpbm.js → vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~f2l2lr17-CDXvdvb2.js} +1 -1
- package/build/assets/{verification-settings-BtlTiHP8.js → verification-settings-CsbvQcYS.js} +1 -1
- package/build/assets/{vscode-tab-B0vdh9gU.js → vscode-tab-Zb-QbTuV.js} +1 -1
- package/build/assets/{waiting-for-runtime-message-DWPl_Yby.js → waiting-for-runtime-message-CntjExbU.js} +1 -1
- package/build/assets/{x-mark-CWI0f9yI.js → x-mark-CrpjscNc.js} +1 -1
- package/build/index.html +4 -4
- package/build/locales/ar/openhands.json +7 -0
- package/build/locales/ca/openhands.json +7 -0
- package/build/locales/de/openhands.json +7 -0
- package/build/locales/en/openhands.json +7 -0
- package/build/locales/es/openhands.json +7 -0
- package/build/locales/fr/openhands.json +7 -0
- package/build/locales/it/openhands.json +7 -0
- package/build/locales/ja/openhands.json +7 -0
- package/build/locales/ko-KR/openhands.json +7 -0
- package/build/locales/no/openhands.json +7 -0
- package/build/locales/pt/openhands.json +7 -0
- package/build/locales/tr/openhands.json +7 -0
- package/build/locales/uk/openhands.json +7 -0
- package/build/locales/zh-CN/openhands.json +7 -0
- package/build/locales/zh-TW/openhands.json +7 -0
- package/config/defaults.json +0 -4
- 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.js +1 -1
- 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 +16 -0
- package/dist/api/agent-server-compatibility.js +31 -20
- 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.d.ts +45 -0
- package/dist/api/agent-server-config.js +49 -21
- package/dist/api/agent-server-config.js.map +1 -1
- package/dist/api/backend-registry/storage.cjs +1 -1
- package/dist/api/backend-registry/storage.cjs.map +1 -1
- package/dist/api/backend-registry/storage.js +34 -32
- package/dist/api/backend-registry/storage.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.d.ts +5 -4
- package/dist/api/conversation-service/agent-server-conversation-service.api.js +70 -76
- package/dist/api/conversation-service/agent-server-conversation-service.api.js.map +1 -1
- package/dist/components/features/backends/api-key-entry-screen.d.ts +10 -0
- 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 +23 -2
- package/dist/components/features/backends/backend-form-modal.js +43 -38
- package/dist/components/features/backends/backend-form-modal.js.map +1 -1
- package/dist/components/features/browser/browser.cjs +1 -1
- package/dist/components/features/browser/browser.cjs.map +1 -1
- package/dist/components/features/browser/browser.js +10 -16
- package/dist/components/features/browser/browser.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.js +123 -116
- 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 -40
- package/dist/components/features/mcp-page/installed-server-card.js.map +1 -1
- package/dist/components/features/mcp-page/marketplace-card.cjs +1 -1
- package/dist/components/features/mcp-page/marketplace-card.cjs.map +1 -1
- package/dist/components/features/mcp-page/marketplace-card.js +2 -3
- package/dist/components/features/mcp-page/marketplace-card.js.map +1 -1
- package/dist/components/features/mcp-page/marketplace-section.cjs +1 -1
- package/dist/components/features/mcp-page/marketplace-section.cjs.map +1 -1
- package/dist/components/features/mcp-page/marketplace-section.js +21 -21
- package/dist/components/features/mcp-page/marketplace-section.js.map +1 -1
- package/dist/components/features/onboarding/steps/setup-acp-secrets-step.d.ts +27 -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 +2 -0
- package/dist/components/features/settings/sdk-settings/sdk-section-page.cjs +1 -1
- package/dist/components/features/settings/sdk-settings/sdk-section-page.cjs.map +1 -1
- package/dist/components/features/settings/sdk-settings/sdk-section-page.d.ts +10 -1
- package/dist/components/features/settings/sdk-settings/sdk-section-page.js +87 -84
- package/dist/components/features/settings/sdk-settings/sdk-section-page.js.map +1 -1
- package/dist/constants/acp-providers.cjs +1 -1
- package/dist/constants/acp-providers.cjs.map +1 -1
- package/dist/constants/acp-providers.d.ts +25 -0
- package/dist/constants/acp-providers.js +1 -0
- package/dist/constants/acp-providers.js.map +1 -1
- package/dist/contexts/conversation-websocket-context.cjs +3 -3
- package/dist/contexts/conversation-websocket-context.cjs.map +1 -1
- package/dist/contexts/conversation-websocket-context.js +136 -132
- package/dist/contexts/conversation-websocket-context.js.map +1 -1
- package/dist/hooks/chat/use-model-interceptor.cjs.map +1 -1
- package/dist/hooks/chat/use-model-interceptor.js.map +1 -1
- package/dist/hooks/mutation/use-switch-llm-profile.cjs.map +1 -1
- package/dist/hooks/mutation/use-switch-llm-profile.d.ts +1 -1
- package/dist/hooks/mutation/use-switch-llm-profile.js.map +1 -1
- package/dist/hooks/query/use-config.cjs +1 -1
- package/dist/hooks/query/use-config.cjs.map +1 -1
- package/dist/hooks/query/use-config.js +10 -10
- package/dist/hooks/query/use-config.js.map +1 -1
- package/dist/hooks/query/use-local-git-info.cjs +3 -3
- package/dist/hooks/query/use-local-git-info.cjs.map +1 -1
- package/dist/hooks/query/use-local-git-info.js +24 -25
- package/dist/hooks/query/use-local-git-info.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 +7 -0
- package/dist/i18n/declaration.js +1 -1
- package/dist/i18n/declaration.js.map +1 -1
- package/dist/i18n/translation.cjs +2 -2
- package/dist/i18n/translation.cjs.map +1 -1
- package/dist/i18n/translation.js +119 -0
- package/dist/i18n/translation.js.map +1 -1
- package/dist/locales/ar/openhands.json +7 -0
- package/dist/locales/ca/openhands.json +7 -0
- package/dist/locales/de/openhands.json +7 -0
- package/dist/locales/en/openhands.json +7 -0
- package/dist/locales/es/openhands.json +7 -0
- package/dist/locales/fr/openhands.json +7 -0
- package/dist/locales/it/openhands.json +7 -0
- package/dist/locales/ja/openhands.json +7 -0
- package/dist/locales/ko-KR/openhands.json +7 -0
- package/dist/locales/no/openhands.json +7 -0
- package/dist/locales/pt/openhands.json +7 -0
- package/dist/locales/tr/openhands.json +7 -0
- package/dist/locales/uk/openhands.json +7 -0
- package/dist/locales/zh-CN/openhands.json +7 -0
- package/dist/locales/zh-TW/openhands.json +7 -0
- package/dist/package.cjs +1 -1
- package/dist/package.cjs.map +1 -1
- package/dist/package.js +1 -1
- package/dist/package.js.map +1 -1
- package/dist/routes/mcp.cjs +1 -1
- package/dist/routes/mcp.cjs.map +1 -1
- package/dist/routes/mcp.js +64 -64
- package/dist/routes/mcp.js.map +1 -1
- package/dist/stores/browser-store.cjs +1 -1
- package/dist/stores/browser-store.cjs.map +1 -1
- package/dist/stores/browser-store.js +1 -1
- package/dist/stores/browser-store.js.map +1 -1
- package/dist/utils/mcp-marketplace-utils.cjs +1 -1
- package/dist/utils/mcp-marketplace-utils.cjs.map +1 -1
- package/dist/utils/mcp-marketplace-utils.d.ts +13 -22
- package/dist/utils/mcp-marketplace-utils.js +46 -28
- package/dist/utils/mcp-marketplace-utils.js.map +1 -1
- package/dist/utils/sdk-settings-schema.cjs +1 -1
- package/dist/utils/sdk-settings-schema.cjs.map +1 -1
- package/dist/utils/sdk-settings-schema.d.ts +1 -0
- package/dist/utils/sdk-settings-schema.js +1 -1
- package/dist/utils/sdk-settings-schema.js.map +1 -1
- package/package.json +1 -1
- package/scripts/dev-safe.mjs +59 -40
- package/scripts/dev-static.mjs +2 -3
- package/scripts/dev-with-automation.mjs +75 -19
- package/scripts/static-server.mjs +77 -35
- package/tools/canvas_ui_tool.py +4 -0
- package/build/assets/acp-providers-DauuOsW9.js +0 -1
- package/build/assets/add-backend-modal-FsnpTTgO.js +0 -1
- package/build/assets/agent-server-client-options-DT2GP6VJ.js +0 -1
- package/build/assets/agent-server-compatibility-2aOx5iWd.js +0 -1
- package/build/assets/agent-server-conversation-service.api-BZmUqtiO.js +0 -5
- package/build/assets/browser-store-C3AqxAO7.js +0 -1
- package/build/assets/browser-tab-B_BuTvrO.js +0 -1
- package/build/assets/conversation--ldUK72N.js +0 -19
- package/build/assets/conversation-eNrhH94O.js +0 -1
- package/build/assets/conversation-panel-B49Jpqpb.js +0 -1
- package/build/assets/conversation-websocket-context-BW68-J8o.js +0 -3
- package/build/assets/declaration-D378OjpZ.js +0 -1
- package/build/assets/files-tab-CQHdWpQt.js +0 -1
- package/build/assets/home-DD0GroCu.js +0 -1
- package/build/assets/install-server-modal-z5VaHeXd.js +0 -1
- package/build/assets/llm-settings-BEyqixPI.js +0 -1
- package/build/assets/llm-settings-BdiaGFbg.js +0 -1
- package/build/assets/manifest-9d1c34fb.js +0 -1
- package/build/assets/mcp-C06YssEI.js +0 -9
- package/build/assets/root-3t9rxEpE.js +0 -2
- package/build/assets/sdk-section-page-CJW0G04-.js +0 -1
- package/build/assets/secrets-settings-MLXqOtX2.js +0 -1
- package/build/assets/use-active-conversation-DS5j9R4q.js +0 -1
- package/build/assets/use-config-BSu_53GL.js +0 -1
- package/build/assets/use-conversation-id-DajhCn2A.js +0 -1
- package/build/assets/use-is-authed-hXC8vxgT.js +0 -1
- package/build/assets/use-runtime-is-ready-pGSbPddC.js +0 -1
- package/build/assets/use-unified-vscode-url-wAMzv8Sn.js +0 -1
- package/build/assets/use-user-conversation-B_zDoSeh.js +0 -1
- /package/build/assets/{automation-XLxhq3I8.js → automation-IdgZq6ZK.js} +0 -0
- /package/build/assets/{common-SMkEaBSr.js → common-DR1t-EeP.js} +0 -0
- /package/build/assets/{conversation-state-store-Bc0slAjL.js → conversation-state-store-u5jepov0.js} +0 -0
- /package/build/assets/{dist-yMQV8IUk.js → dist-BxBP7tFD.js} +0 -0
- /package/build/assets/{git-status-mapper-BI8FyUVp.js → git-status-mapper-DnL9OC8_.js} +0 -0
- /package/build/assets/{handle-capture-consent-BfZATzpI.js → handle-capture-consent-3XrjZ8wi.js} +0 -0
- /package/build/assets/{iconBase-C7N9pPOs.js → iconBase-DE30Zj_-.js} +0 -0
- /package/build/assets/{settings-D5am1n6X.js → settings-D_H-qsRm.js} +0 -0
- /package/build/assets/{settings-like-page-layout-classes-Bn-M9oOa.js → settings-like-page-layout-classes-I0BDBEoq.js} +0 -0
- /package/build/assets/{settings-utils-BsvSU3OM.js → settings-utils-B6Nl07io.js} +0 -0
- /package/build/assets/{sidebar-store-cOeaKmIm.js → sidebar-store-Uy3v0AOV.js} +0 -0
- /package/build/assets/{use-breakpoint-B86yKT9n.js → use-breakpoint-DbJ6FkQ-.js} +0 -0
- /package/build/assets/{use-click-outside-element-835W9pC6.js → use-click-outside-element-DffgWWoZ.js} +0 -0
- /package/build/assets/{use-task-list-DDeNHprj.js → use-task-list-CLJbuJgM.js} +0 -0
- /package/build/assets/{vendor~browser-BpdPBhgZ.js → vendor~browser-DDiZgqD3.js} +0 -0
- /package/build/assets/{vendor~conversation-panel~conversation~alert-banner-Df7_G0zR.js → vendor~conversation-panel~conversation~alert-banner-DbvX3OcM.js} +0 -0
- /package/build/assets/{vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js → vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~g56ukk6u-DsSvIDZQ.js} +0 -0
- /package/build/assets/{vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js → vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~hkqzh1hb-BZ0HXuHD.js} +0 -0
- /package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~pfbaerbd-zhv9fooy.js → vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~ninslayh-D9P8e98a.js} +0 -0
- /package/build/assets/{vendor~terminal-BUxzHKcC.js → vendor~terminal-DUrOWGFE.js} +0 -0
- /package/build/assets/{vscode-url-helper-jesbpos5.js → vscode-url-helper-Cwy1A62q.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{I as n,L as r}from"./vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js";import{o as i,t as a}from"./declaration-
|
|
1
|
+
import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{I as n,L as r}from"./vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js";import{o as i,t as a}from"./declaration-BNMqORFE.js";import{t as o}from"./useTranslation-DCOdSSMl.js";import{t as s}from"./utils-i18rdUj2.js";import{t as c}from"./use-is-authed-BggE5wPj.js";import{t as l}from"./typography-gpuWmrQO.js";var u=e(t(),1),d=i(),f=r(function(){let{t:e}=o(`openhands`),[t]=n(),{data:r,isLoading:i}=c(),[f,p]=(0,u.useState)(null),[m,h]=(0,u.useState)(!1),g=t.get(`user_code`),_=async e=>{try{h(!0),(await fetch(`/oauth/device/verify-authenticated`,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:`user_code=${encodeURIComponent(e)}`,credentials:`include`})).ok?p({success:!0,messageKey:a.DEVICE$SUCCESS_MESSAGE}):p({success:!1,messageKey:a.DEVICE$ERROR_FAILED})}catch{p({success:!1,messageKey:a.DEVICE$ERROR_OCCURRED})}finally{h(!1)}};return f?(0,d.jsx)(`div`,{className:`min-h-screen flex items-center justify-center bg-background`,children:(0,d.jsx)(`div`,{className:`max-w-md w-full mx-auto p-6 bg-card rounded-lg shadow-lg`,children:(0,d.jsxs)(`div`,{className:`text-center`,children:[(0,d.jsx)(`div`,{className:s(`mb-4`,f.success?`text-green-600`:`text-red-600`),children:f.success?(0,d.jsx)(`svg`,{className:`w-12 h-12 mx-auto`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,d.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M5 13l4 4L19 7`})}):(0,d.jsx)(`svg`,{className:`w-12 h-12 mx-auto`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,d.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M6 18L18 6M6 6l12 12`})})}),(0,d.jsx)(`h2`,{className:`text-xl font-medium mb-2`,children:f.success?e(a.DEVICE$SUCCESS_TITLE):e(a.DEVICE$ERROR_TITLE)}),(0,d.jsx)(`p`,{className:`text-muted-foreground mb-4`,children:e(f.messageKey)}),!f.success&&(0,d.jsx)(`button`,{type:`button`,onClick:()=>window.location.reload(),className:`px-4 py-2 bg-primary text-primary-foreground rounded-md hover:bg-primary/90`,children:e(a.DEVICE$TRY_AGAIN)})]})})}):m?(0,d.jsx)(`div`,{className:`min-h-screen flex items-center justify-center bg-background`,children:(0,d.jsx)(`div`,{className:`max-w-md w-full mx-auto p-6 bg-card rounded-lg shadow-lg`,children:(0,d.jsxs)(`div`,{className:`text-center`,children:[(0,d.jsx)(`div`,{className:`animate-spin rounded-full h-8 w-8 border-b-2 border-white mx-auto mb-4`}),(0,d.jsx)(`p`,{className:`text-muted-foreground`,children:e(a.DEVICE$PROCESSING)})]})})}):r&&g?(0,d.jsx)(`div`,{className:`min-h-screen flex items-center justify-center bg-background p-4`,children:(0,d.jsx)(`div`,{className:`flex flex-col items-center gap-6 w-full max-w-md`,children:(0,d.jsxs)(`div`,{className:`flex-1 min-w-0 max-w-md w-full mx-auto p-6 bg-card rounded-2xl shadow-lg border border-[var(--oh-border-subtle)]`,children:[(0,d.jsx)(l,{className:`text-2xl mb-4 text-center`,children:e(a.DEVICE$AUTHORIZATION_REQUEST)}),(0,d.jsxs)(`div`,{className:`mb-6 p-4 bg-base rounded-lg border border-[var(--oh-border-subtle)]`,children:[(0,d.jsx)(`p`,{className:`text-xs text-[var(--oh-text-subtle)] mb-2 text-center uppercase tracking-wider`,children:e(a.DEVICE$CODE_LABEL)}),(0,d.jsx)(`p`,{className:`text-xl font-mono font-semibold text-center tracking-[0.3em]`,children:g})]}),(0,d.jsxs)(`div`,{className:`mb-6 p-4 bg-amber-950/50 border-l-2 border-amber-500 rounded-r-lg`,children:[(0,d.jsx)(`p`,{className:`text-sm font-medium text-amber-500 mb-1`,children:e(a.DEVICE$SECURITY_NOTICE)}),(0,d.jsx)(`p`,{className:`text-sm text-[var(--oh-muted)]`,children:e(a.DEVICE$SECURITY_WARNING)})]}),(0,d.jsx)(`p`,{className:`text-muted-foreground mb-6 text-center`,children:e(a.DEVICE$CONFIRM_PROMPT)}),(0,d.jsxs)(`div`,{className:`flex gap-3`,children:[(0,d.jsx)(`button`,{type:`button`,onClick:()=>window.close(),className:`flex-1 px-4 py-2 border border-[var(--oh-border)] rounded-md hover:bg-muted text-[var(--oh-text-tertiary)]`,children:e(a.DEVICE$CANCEL)}),(0,d.jsx)(`button`,{type:`button`,onClick:()=>_(g),className:`flex-1 px-4 py-2 bg-blue-600 text-white rounded-md hover:bg-blue-700`,children:e(a.DEVICE$AUTHORIZE)})]})]})})}):r&&!g?(0,d.jsx)(`div`,{className:`min-h-screen flex items-center justify-center bg-background`,children:(0,d.jsxs)(`div`,{className:`max-w-md w-full mx-auto p-6 bg-card rounded-lg shadow-lg`,children:[(0,d.jsx)(l,{className:`text-2xl mb-4 text-center`,children:e(a.DEVICE$AUTHORIZATION_TITLE)}),(0,d.jsx)(`p`,{className:`text-muted-foreground mb-6 text-center`,children:e(a.DEVICE$ENTER_CODE_PROMPT)}),(0,d.jsxs)(`form`,{onSubmit:e=>{e.preventDefault();let t=new FormData(e.currentTarget).get(`user_code`);t&&r&&_(t)},children:[(0,d.jsxs)(`div`,{className:`mb-4`,children:[(0,d.jsx)(`label`,{htmlFor:`user_code`,className:`block text-sm font-medium mb-2`,children:e(a.DEVICE$CODE_INPUT_LABEL)}),(0,d.jsx)(`input`,{type:`text`,id:`user_code`,name:`user_code`,required:!0,className:`w-full px-3 py-2 border border-input rounded-md focus:outline-none focus:ring-2 focus:ring-ring`,placeholder:e(a.DEVICE$CODE_PLACEHOLDER)})]}),(0,d.jsx)(`button`,{type:`submit`,className:`w-full px-4 py-2 bg-primary text-primary-foreground rounded-md hover:bg-primary/90`,children:e(a.DEVICE$CONTINUE)})]})]})}):i?(0,d.jsx)(`div`,{className:`min-h-screen flex items-center justify-center bg-background`,children:(0,d.jsxs)(`div`,{className:`text-center`,children:[(0,d.jsx)(`div`,{className:`animate-spin rounded-full h-8 w-8 border-b-2 border-white mx-auto mb-4`}),(0,d.jsx)(`p`,{className:`text-muted-foreground`,children:e(a.DEVICE$PROCESSING)})]})}):(0,d.jsx)(`div`,{className:`min-h-screen flex items-center justify-center bg-background`,children:(0,d.jsxs)(`div`,{className:`max-w-md w-full mx-auto p-6 bg-card rounded-lg shadow-lg text-center`,children:[(0,d.jsx)(l,{className:`text-2xl mb-4`,children:e(a.DEVICE$AUTH_REQUIRED)}),(0,d.jsx)(`p`,{className:`text-muted-foreground`,children:e(a.DEVICE$SIGN_IN_PROMPT)})]})})});export{f as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~
|
|
1
|
+
import{r as e}from"./vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~hkqzh1hb-BZ0HXuHD.js";var t=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,n=e,r=(e,r)=>i=>{if(r?.variants==null)return n(e,i?.class,i?.className);let{variants:a,defaultVariants:o}=r,s=Object.keys(a).map(e=>{let n=i?.[e],r=o?.[e];if(n===null)return null;let s=t(n)||t(r);return a[e][s]}),c=i&&Object.entries(i).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return n(e,s,r?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...i}=t;return Object.entries(i).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...o,...c}[t]):{...o,...c}[t]===n})?[...e,n,r]:e},[]),i?.class,i?.className)};export{r as t};
|
package/build/assets/{edit-automation-modal-Dnjxbjn7.js → edit-automation-modal-BGzR3nfZ.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{t as n}from"./react-dom-hVBnwgwZ.js";import{t as r}from"./vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-CyUbhpbm.js";import{t as i}from"./useMutation-B4OUESdw.js";import{o as a,t as o}from"./declaration-D378OjpZ.js";import{n as s}from"./QueryClientProvider-B7kl84Kj.js";import{t as c}from"./useTranslation-CpIcQBq6.js";import{n as l,r as u}from"./custom-toast-handlers-BOc3qeQ7.js";import{t as d}from"./utils-D-HX7JCe.js";import{c as f,u as p}from"./agent-server-client-options-DT2GP6VJ.js";import{n as m}from"./active-backend-context-TVbjnvmP.js";import{a as h,s as g,t as _}from"./brand-button-C2nEKopC.js";import{n as ee,r as v}from"./vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~pfbaerbd-zhv9fooy.js";import{t as y}from"./proxy-CurRmrqf.js";import{t as te}from"./settings-input-DBywAnA7.js";import{n as b,t as ne}from"./context-menu-list-item-Buu9nc0q.js";import{t as x}from"./settings-dropdown-input-VwAXNrOb.js";import{t as S}from"./x-mark-CWI0f9yI.js";import{t as C}from"./automation-XLxhq3I8.js";var w=`/api/automation`,T=v.create();T.interceptors.request.use(e=>{let t=p();e.baseURL||=t.host;let n=t.apiKey?.trim();return n&&e.headers.set(`X-Session-API-Key`,n),e});function E(e,t){let n=new URLSearchParams;return n.set(`limit`,String(e)),n.set(`offset`,String(t)),n.toString()}var D=class e{static async listAutomations(e={}){let{limit:t=50,offset:n=0}=e,r=f().backend;if(r.kind===`cloud`)return y({backend:r,method:`GET`,path:`${w}/v1?${E(t,n)}`});let{data:i}=await T.get(`${w}/v1`,{params:{limit:t,offset:n}});return i}static async getAutomations(t=50,n=0){return e.listAutomations({limit:t,offset:n})}static async getAutomation(e){let t=f().backend,n=`${w}/v1/${encodeURIComponent(e)}`;if(t.kind===`cloud`)return y({backend:t,method:`GET`,path:n});let{data:r}=await T.get(n);return r}static async updateAutomation(e,t){let n=f().backend,r=`${w}/v1/${encodeURIComponent(e)}`;if(n.kind===`cloud`)return y({backend:n,method:`PATCH`,path:r,body:t});let{data:i}=await T.patch(r,t);return i}static async deleteAutomation(e){let t=f().backend,n=`${w}/v1/${encodeURIComponent(e)}`;if(t.kind===`cloud`){await y({backend:t,method:`DELETE`,path:n});return}await T.delete(n)}static async dispatchAutomation(e){let t=f().backend,n=`${w}/v1/${encodeURIComponent(e)}/dispatch`;if(t.kind===`cloud`)return y({backend:t,method:`POST`,path:n});let{data:r}=await T.post(n);return r}static async listAutomationRuns(e,t={}){let{limit:n=50,offset:r=0}=t,i=f().backend,a=`${w}/v1/${encodeURIComponent(e)}/runs`;if(i.kind===`cloud`)return y({backend:i,method:`GET`,path:`${a}?${E(n,r)}`});let{data:o}=await T.get(a,{params:{limit:n,offset:r}});return o}static async getAutomationRuns(t,n=50,r=0){return e.listAutomationRuns(t,{limit:n,offset:r})}static async toggleAutomation(t,n){return e.updateAutomation(t,{enabled:n})}static async downloadTarball(e,t){let n=f().backend,r=`${w}/v1/${encodeURIComponent(e)}/tarball`,i;if(n.kind===`cloud`)i=await y({backend:n,method:`GET`,path:r,responseType:`blob`});else{let{data:e}=await T.get(r,{responseType:`blob`});i=e}let a=URL.createObjectURL(i),o=document.createElement(`a`);o.href=a,o.download=`${t}.tar`,o.click(),URL.revokeObjectURL(a)}static async checkHealth(){let e=f().backend,t=`${w}/health`;try{if(e.kind===`cloud`)return await y({backend:e,method:`GET`,path:t});let{data:n}=await T.get(t,{timeout:5e3});return n}catch{return{status:`error`}}}},O=e(t()),k=e(n(),1),A=a(),j=[`automation-detail`],M=[`automation-runs`];function re(e){let{id:t,enabled:n=!0}=e,i=m();return r({queryKey:[...j,t,i.backend.id,i.orgId],queryFn:()=>D.getAutomation(t),staleTime:300*1e3,enabled:!!t&&n})}function ie(e){let{id:t,limit:n=20,offset:i=0,enabled:a=!0}=e,o=m();return r({queryKey:[...M,t,{limit:n,offset:i},o.backend.id,o.orgId],queryFn:()=>D.getAutomationRuns(t,n,i),staleTime:60*1e3,enabled:!!t&&a,refetchInterval:e=>{let t=e.state.data;return t&&t.runs.some(e=>e.status===C.PENDING||e.status===C.RUNNING)?3e3:!1}})}var N=[`automations`];function P(e={}){let{limit:t=50,offset:n=0,enabled:i=!0}=e,a=m();return r({queryKey:[...N,{limit:t,offset:n},a.backend.id,a.orgId],queryFn:()=>D.getAutomations(t,n),staleTime:0,enabled:i})}function F(){let e=s();return i({mutationFn:({id:e,enabled:t})=>D.toggleAutomation(e,t),onSuccess:()=>{e.invalidateQueries({queryKey:N}),e.invalidateQueries({queryKey:j})}})}function I(){let e=s();return i({mutationFn:({id:e,body:t})=>D.updateAutomation(e,t),onSuccess:()=>{e.invalidateQueries({queryKey:N}),e.invalidateQueries({queryKey:j})}})}function L(){let e=s();return i({mutationFn:e=>D.deleteAutomation(e),onSuccess:()=>{e.invalidateQueries({queryKey:N})}})}function R(){let e=s();return i({mutationFn:e=>D.dispatchAutomation(e),onSuccess:(t,n)=>{e.invalidateQueries({queryKey:N}),e.invalidateQueries({queryKey:j}),e.invalidateQueries({queryKey:[...M,n]})}})}var z=[`automation-health`];function B(){let e=m();return r({queryKey:[...z,e.backend.id,e.orgId],queryFn:()=>D.checkHealth(),staleTime:30*1e3,retry:!1})}var V=e=>(0,A.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,fill:`currentColor`,viewBox:`0 0 20 20`,...e,children:(0,A.jsx)(`path`,{d:`M10 6a2 2 0 110-4 2 2 0 010 4zm0 6a2 2 0 110-4 2 2 0 010 4zm0 6a2 2 0 110-4 2 2 0 010 4z`})}),H=`inline-flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-md border-0 bg-transparent text-muted transition-colors hover:bg-interactive-hover hover:text-white focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-muted`,U=`inline-flex h-8 shrink-0 cursor-pointer items-center gap-1.5 rounded-md border-0 bg-transparent px-2 text-xs text-muted transition-colors hover:bg-interactive-hover hover:text-white focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-muted`;function W({icon:e,label:t}){return(0,A.jsxs)(`span`,{className:`flex min-w-0 w-full items-center gap-2`,children:[(0,A.jsx)(`span`,{className:`flex shrink-0 items-center text-[var(--oh-muted)] transition-colors group-hover:text-[var(--oh-foreground)] group-focus-visible:text-[var(--oh-foreground)] [&_svg]:size-4 [&_svg]:text-current`,"aria-hidden":!0,children:e}),(0,A.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:t})]})}function G({items:e}){let{t}=c(`openhands`),[n,r]=(0,O.useState)(!1),[i,a]=(0,O.useState)(),s=(0,O.useRef)(null),l=(0,O.useRef)(null);(0,O.useLayoutEffect)(()=>{if(!n||!s.current)return;let e=()=>{let e=s.current?.getBoundingClientRect();e&&a({position:`fixed`,zIndex:9999,top:e.bottom+4,right:window.innerWidth-e.right})};return e(),window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[n]),(0,O.useEffect)(()=>{if(!n)return;let e=e=>{let t=e.target;s.current?.contains(t)||l.current?.contains(t)||r(!1)},t=e=>{e.key===`Escape`&&r(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[n]);let u=n&&i?(0,A.jsx)(b,{ref:l,theme:`popover`,className:`min-w-[10rem]`,children:e.map(e=>(0,A.jsx)(`li`,{children:(0,A.jsx)(ne,{onClick:t=>{t.stopPropagation(),e.onClick(),r(!1)},isDisabled:e.disabled,className:`group`,children:(0,A.jsx)(W,{icon:e.icon,label:e.label})})},e.label))}):null;return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`button`,{ref:s,type:`button`,onClick:e=>{e.stopPropagation(),r(e=>!e)},className:H,"aria-label":t(o.AUTOMATIONS$ACTIONS_MENU),"aria-expanded":n,"aria-haspopup":`menu`,children:(0,A.jsx)(V,{className:`size-4`})}),n&&i&&typeof document<`u`?k.createPortal((0,A.jsx)(`div`,{style:i,children:u}),document.body):null]})}function K(e){return!0}var q=e=>(0,A.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,strokeWidth:2,...e,children:(0,A.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M9.813 15.904L9 18.75l-.813-2.846a4.5 4.5 0 00-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 003.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 003.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 00-3.09 3.09zM18.259 8.715L18 9.75l-.259-1.035a3.375 3.375 0 00-2.455-2.456L14.25 6l1.036-.259a3.375 3.375 0 002.455-2.456L18 2.25l.259 1.035a3.375 3.375 0 002.455 2.456L21.75 6l-1.036.259a3.375 3.375 0 00-2.455 2.456z`})}),J=e=>(0,A.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,strokeWidth:2,...e,children:(0,A.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M5.636 5.636a9 9 0 1012.728 0M12 3v9`})}),ae=e=>(0,A.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,strokeWidth:2,...e,children:(0,A.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16`})}),Y=e=>(0,A.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,strokeWidth:1.5,...e,children:(0,A.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M12 9v3.75m9-.75a9 9 0 11-18 0 9 9 0 0118 0zm-9 3.75h.008v.008H12v-.008z`})});function oe({onRetry:e}){let{t}=c(`openhands`);return(0,A.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-20`,children:[(0,A.jsx)(Y,{className:`size-12 text-danger`}),(0,A.jsx)(`p`,{className:`mt-4 text-sm text-muted`,children:t(o.AUTOMATIONS$ERROR_TITLE)}),(0,A.jsx)(`button`,{type:`button`,onClick:e,className:`mt-4 rounded-lg border border-[var(--oh-border)] px-4 py-2 text-sm text-white hover:bg-surface-raised`,children:t(o.AUTOMATIONS$ERROR_RETRY)})]})}function se({onRetry:e}){let{t}=c(`openhands`);return(0,A.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-20 px-4`,children:[(0,A.jsx)(Y,{className:`size-12 text-[var(--oh-warning)]`}),(0,A.jsx)(`h2`,{className:`mt-4 text-lg font-medium text-content`,children:t(o.AUTOMATIONS$BACKEND_UNAVAILABLE_TITLE)}),(0,A.jsx)(`p`,{className:`mt-2 text-sm text-muted text-center max-w-md`,children:t(o.AUTOMATIONS$BACKEND_UNAVAILABLE_MESSAGE)}),(0,A.jsx)(_,{type:`button`,variant:`secondary`,className:`mt-6`,onClick:e,children:t(o.AUTOMATIONS$BACKEND_UNAVAILABLE_RETRY)})]})}function ce({automationName:e,isOpen:t,onConfirm:n,onCancel:r}){let{t:i}=c(`openhands`);return t?(0,A.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center`,children:[(0,A.jsx)(`div`,{className:`absolute inset-0 bg-black/60`,onClick:r,onKeyDown:e=>{e.key===`Escape`&&r()},role:`presentation`}),(0,A.jsxs)(`div`,{className:`relative w-full max-w-sm rounded-xl border border-[var(--oh-border)] bg-[var(--oh-surface)] p-6`,children:[(0,A.jsx)(`button`,{type:`button`,onClick:r,className:`absolute right-4 top-4 text-muted hover:text-foreground`,"aria-label":`Close`,children:(0,A.jsx)(S,{className:`size-5`})}),(0,A.jsx)(`h2`,{className:`text-lg font-medium text-white`,children:i(o.AUTOMATIONS$DELETE_CONFIRM_TITLE)}),(0,A.jsx)(`p`,{className:`mt-2 text-sm text-muted`,children:i(o.AUTOMATIONS$DELETE_CONFIRM_MESSAGE,{name:e})}),(0,A.jsxs)(`div`,{className:`mt-6 flex justify-end gap-3`,children:[(0,A.jsx)(`button`,{type:`button`,onClick:r,className:`rounded-lg border border-[var(--oh-border)] px-4 py-2 text-sm text-white hover:bg-surface-raised`,children:i(o.AUTOMATIONS$CANCEL)}),(0,A.jsx)(`button`,{type:`button`,onClick:n,className:`rounded-lg bg-danger px-4 py-2 text-sm text-white hover:bg-danger/80`,children:i(o.AUTOMATIONS$DELETE)})]})]})]}):null}var le=/^(\d+)$/;function X(e,t,n){let r=e.match(le);if(!r)return null;let i=Number(r[1]);return Number.isNaN(i)||i<t||i>n?null:i}function Z(e){let t=(e??``).trim();if(!t)return{kind:`custom`,raw:``};let n=t.split(/\s+/);if(n.length!==5)return{kind:`custom`,raw:t};let[r,i,a,o,s]=n,c=X(r,0,59),l=X(i,0,23);if(c===null||l===null)return{kind:`custom`,raw:t};if(a!==`*`||o!==`*`)return{kind:`custom`,raw:t,hour:l,minute:c};if(s===`*`||s===`0-6`)return{kind:`daily`,hour:l,minute:c};if(s===`1-5`)return{kind:`weekdays`,hour:l,minute:c};let u=X(s,0,6);return u===null?{kind:`custom`,raw:t,hour:l,minute:c}:{kind:`weekly`,hour:l,minute:c,weekday:u}}function ue(e){let{kind:t,hour:n,minute:r,weekday:i}=e;switch(t){case`daily`:return`${r} ${n} * * *`;case`weekdays`:return`${r} ${n} * * 1-5`;case`weekly`:return`${r} ${n} * * ${i??1}`;default:return t}}function Q(e,t){return`${String(e).padStart(2,`0`)}:${String(t).padStart(2,`0`)}`}function $(e){let t=e.match(/^(\d{1,2}):(\d{2})$/);if(!t)return null;let n=Number(t[1]),r=Number(t[2]);return Number.isNaN(n)||Number.isNaN(r)||n<0||n>23||r<0||r>59?null:{hour:n,minute:r}}var de=[o.AUTOMATIONS$WEEKDAY_SUN,o.AUTOMATIONS$WEEKDAY_MON,o.AUTOMATIONS$WEEKDAY_TUE,o.AUTOMATIONS$WEEKDAY_WED,o.AUTOMATIONS$WEEKDAY_THU,o.AUTOMATIONS$WEEKDAY_FRI,o.AUTOMATIONS$WEEKDAY_SAT];function fe(e){let t=Z(e.trigger.schedule);return t.kind===`custom`?{name:e.name,prompt:e.prompt??``,frequency:`custom`,weekday:1,timeOfDay:t.hour!==void 0&&t.minute!==void 0?Q(t.hour,t.minute):``,isCustomSchedule:!0,rawSchedule:t.raw}:{name:e.name,prompt:e.prompt??``,frequency:t.kind,weekday:t.kind===`weekly`?t.weekday??1:1,timeOfDay:Q(t.hour,t.minute),isCustomSchedule:!1,rawSchedule:e.trigger.schedule??``}}function pe({automation:e,isOpen:t,onClose:n}){let{t:r}=c(`openhands`),i=I(),a=(0,O.useMemo)(()=>fe(e),[e]),[s,f]=(0,O.useState)(a),[p,m]=(0,O.useState)(null);if((0,O.useEffect)(()=>{t&&(f(a),m(null))},[t,a]),!t)return null;let v=[{key:`daily`,label:r(o.AUTOMATIONS$FREQUENCY_DAILY)},{key:`weekdays`,label:r(o.AUTOMATIONS$FREQUENCY_WEEKDAYS)},{key:`weekly`,label:r(o.AUTOMATIONS$FREQUENCY_WEEKLY)},...s.isCustomSchedule?[{key:`custom`,label:r(o.AUTOMATIONS$FREQUENCY_CUSTOM)}]:[]],y=de.map((e,t)=>({key:String(t),label:r(e)})),b=!s.isCustomSchedule||$(s.timeOfDay)!==null||s.timeOfDay===``;return(0,A.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center`,children:[(0,A.jsx)(`div`,{className:`absolute inset-0 bg-black/60`,onClick:n,onKeyDown:e=>{e.key===`Escape`&&n()},role:`presentation`}),(0,A.jsxs)(`div`,{className:`relative w-full max-w-md rounded-xl border border-[var(--oh-border)] bg-[var(--oh-surface)] p-6`,children:[(0,A.jsx)(`button`,{type:`button`,onClick:n,className:`absolute right-4 top-4 text-muted hover:text-foreground`,"aria-label":r(o.AUTOMATIONS$CANCEL),children:(0,A.jsx)(S,{className:`size-5`})}),(0,A.jsx)(`h2`,{className:`text-lg font-medium text-white`,children:r(o.AUTOMATIONS$EDIT_TITLE)}),(0,A.jsxs)(`form`,{onSubmit:t=>{t.preventDefault();let a=s.name.trim();if(!a){m(r(o.AUTOMATIONS$NAME_REQUIRED));return}m(null);let c={};a!==e.name&&(c.name=a);let d=s.prompt.trim();if(d!==(e.prompt??``).trim()&&(c.prompt=d.length===0?null:d),!s.isCustomSchedule&&s.frequency!==`custom`){let t=$(s.timeOfDay);if(t){let n=ue({kind:s.frequency,hour:t.hour,minute:t.minute,weekday:s.frequency===`weekly`?s.weekday:void 0});n!==e.trigger.schedule&&(c.trigger={...e.trigger,schedule:n})}}if(Object.keys(c).length===0){n();return}i.mutate({id:e.id,body:c},{onSuccess:()=>{u(r(o.AUTOMATIONS$EDIT_SUCCESS)),n()},onError:e=>{l(ee(e)?e.response?.data?.message||e.message||r(o.AUTOMATIONS$EDIT_ERROR):e.message||r(o.AUTOMATIONS$EDIT_ERROR))}})},className:`mt-4 flex flex-col gap-4`,"aria-label":r(o.AUTOMATIONS$EDIT_TITLE),children:[(0,A.jsx)(te,{testId:`edit-automation-name`,name:`name`,type:`text`,label:r(o.AUTOMATIONS$NAME),value:s.name,onChange:e=>f(t=>({...t,name:e})),error:p??void 0,showRequiredTag:!0}),(0,A.jsxs)(`label`,{className:`flex flex-col gap-2.5 w-full min-w-0`,children:[(0,A.jsx)(`span`,{className:`text-sm`,children:r(o.AUTOMATIONS$PROMPT)}),(0,A.jsx)(`textarea`,{"data-testid":`edit-automation-prompt`,name:`prompt`,value:s.prompt,onChange:e=>f(t=>({...t,prompt:e.target.value})),rows:4,className:d(h,`placeholder:italic`)}),(0,A.jsx)(`span`,{className:`text-xs text-muted`,children:r(o.AUTOMATIONS$EDIT_PROMPT_HINT)})]}),(0,A.jsx)(x,{testId:`edit-automation-frequency`,name:`frequency`,label:r(o.AUTOMATIONS$FREQUENCY),items:v,selectedKey:s.frequency,isDisabled:s.isCustomSchedule,onSelectionChange:e=>{!e||s.isCustomSchedule||f(t=>({...t,frequency:e}))}}),s.frequency===`weekly`&&!s.isCustomSchedule&&(0,A.jsx)(x,{testId:`edit-automation-weekday`,name:`weekday`,label:r(o.AUTOMATIONS$WEEKDAY),items:y,selectedKey:String(s.weekday),onSelectionChange:e=>{e!==null&&f(t=>({...t,weekday:Number(e)}))}}),(0,A.jsxs)(`label`,{className:`flex flex-col gap-2.5 w-full min-w-0`,children:[(0,A.jsx)(`span`,{className:`text-sm`,children:r(o.AUTOMATIONS$TIME_OF_DAY)}),(0,A.jsx)(`input`,{"data-testid":`edit-automation-time`,name:`timeOfDay`,type:`time`,value:s.timeOfDay,onChange:e=>f(t=>({...t,timeOfDay:e.target.value})),disabled:s.isCustomSchedule&&!b,className:d(g,`disabled:bg-[var(--oh-surface-raised)]`)}),e.timezone&&(0,A.jsxs)(`span`,{className:`text-xs text-muted`,children:[r(o.AUTOMATIONS$TIMEZONE),`: `,e.timezone]})]}),s.isCustomSchedule&&(0,A.jsxs)(`p`,{className:`text-xs text-muted`,"data-testid":`custom-schedule-hint`,children:[r(o.AUTOMATIONS$CUSTOM_SCHEDULE_HINT),s.rawSchedule&&(0,A.jsxs)(A.Fragment,{children:[` `,(0,A.jsx)(`code`,{className:`text-xs text-content`,children:s.rawSchedule})]})]}),(0,A.jsxs)(`div`,{className:`mt-2 flex justify-end gap-3`,children:[(0,A.jsx)(_,{testId:`edit-automation-cancel`,type:`button`,variant:`secondary`,onClick:n,isDisabled:i.isPending,children:r(o.AUTOMATIONS$CANCEL)}),(0,A.jsx)(_,{testId:`edit-automation-save`,type:`submit`,variant:`primary`,isDisabled:i.isPending,"aria-busy":i.isPending,children:i.isPending?r(o.AUTOMATIONS$SAVING):r(o.AUTOMATIONS$SAVE)})]})]})]})]})}export{F as _,Y as a,D as b,q as c,H as d,U as f,R as g,L as h,oe as i,K as l,P as m,ce as n,ae as o,B as p,se as r,J as s,pe as t,G as u,re as v,ie as y};
|
|
1
|
+
import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{t as n}from"./react-dom-hVBnwgwZ.js";import{t as r}from"./vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~f2l2lr17-CDXvdvb2.js";import{t as i}from"./useMutation-DqrumCWD.js";import{o as a,t as o}from"./declaration-BNMqORFE.js";import{n as s}from"./QueryClientProvider-CkGuhXg-.js";import{t as c}from"./useTranslation-DCOdSSMl.js";import{n as l,r as u}from"./custom-toast-handlers-C-SZFmto.js";import{t as d}from"./utils-i18rdUj2.js";import{c as f,u as p}from"./agent-server-client-options-Bc5ZorQZ.js";import{n as m}from"./active-backend-context-cCM1vYYZ.js";import{a as h,s as g,t as _}from"./brand-button-Br7f0kZJ.js";import{n as ee,r as v}from"./vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~ninslayh-D9P8e98a.js";import{t as y}from"./proxy-CxydCnis.js";import{t as te}from"./settings-input-Bn7F5C75.js";import{n as b,t as ne}from"./context-menu-list-item-CWNFpuiC.js";import{t as x}from"./settings-dropdown-input-BJYvGdg-.js";import{t as S}from"./x-mark-CrpjscNc.js";import{t as C}from"./automation-IdgZq6ZK.js";var w=`/api/automation`,T=v.create();T.interceptors.request.use(e=>{let t=p();e.baseURL||=t.host;let n=t.apiKey?.trim();return n&&e.headers.set(`X-Session-API-Key`,n),e});function E(e,t){let n=new URLSearchParams;return n.set(`limit`,String(e)),n.set(`offset`,String(t)),n.toString()}var D=class e{static async listAutomations(e={}){let{limit:t=50,offset:n=0}=e,r=f().backend;if(r.kind===`cloud`)return y({backend:r,method:`GET`,path:`${w}/v1?${E(t,n)}`});let{data:i}=await T.get(`${w}/v1`,{params:{limit:t,offset:n}});return i}static async getAutomations(t=50,n=0){return e.listAutomations({limit:t,offset:n})}static async getAutomation(e){let t=f().backend,n=`${w}/v1/${encodeURIComponent(e)}`;if(t.kind===`cloud`)return y({backend:t,method:`GET`,path:n});let{data:r}=await T.get(n);return r}static async updateAutomation(e,t){let n=f().backend,r=`${w}/v1/${encodeURIComponent(e)}`;if(n.kind===`cloud`)return y({backend:n,method:`PATCH`,path:r,body:t});let{data:i}=await T.patch(r,t);return i}static async deleteAutomation(e){let t=f().backend,n=`${w}/v1/${encodeURIComponent(e)}`;if(t.kind===`cloud`){await y({backend:t,method:`DELETE`,path:n});return}await T.delete(n)}static async dispatchAutomation(e){let t=f().backend,n=`${w}/v1/${encodeURIComponent(e)}/dispatch`;if(t.kind===`cloud`)return y({backend:t,method:`POST`,path:n});let{data:r}=await T.post(n);return r}static async listAutomationRuns(e,t={}){let{limit:n=50,offset:r=0}=t,i=f().backend,a=`${w}/v1/${encodeURIComponent(e)}/runs`;if(i.kind===`cloud`)return y({backend:i,method:`GET`,path:`${a}?${E(n,r)}`});let{data:o}=await T.get(a,{params:{limit:n,offset:r}});return o}static async getAutomationRuns(t,n=50,r=0){return e.listAutomationRuns(t,{limit:n,offset:r})}static async toggleAutomation(t,n){return e.updateAutomation(t,{enabled:n})}static async downloadTarball(e,t){let n=f().backend,r=`${w}/v1/${encodeURIComponent(e)}/tarball`,i;if(n.kind===`cloud`)i=await y({backend:n,method:`GET`,path:r,responseType:`blob`});else{let{data:e}=await T.get(r,{responseType:`blob`});i=e}let a=URL.createObjectURL(i),o=document.createElement(`a`);o.href=a,o.download=`${t}.tar`,o.click(),URL.revokeObjectURL(a)}static async checkHealth(){let e=f().backend,t=`${w}/health`;try{if(e.kind===`cloud`)return await y({backend:e,method:`GET`,path:t});let{data:n}=await T.get(t,{timeout:5e3});return n}catch{return{status:`error`}}}},O=e(t()),k=e(n(),1),A=a(),j=[`automation-detail`],M=[`automation-runs`];function re(e){let{id:t,enabled:n=!0}=e,i=m();return r({queryKey:[...j,t,i.backend.id,i.orgId],queryFn:()=>D.getAutomation(t),staleTime:300*1e3,enabled:!!t&&n})}function ie(e){let{id:t,limit:n=20,offset:i=0,enabled:a=!0}=e,o=m();return r({queryKey:[...M,t,{limit:n,offset:i},o.backend.id,o.orgId],queryFn:()=>D.getAutomationRuns(t,n,i),staleTime:60*1e3,enabled:!!t&&a,refetchInterval:e=>{let t=e.state.data;return t&&t.runs.some(e=>e.status===C.PENDING||e.status===C.RUNNING)?3e3:!1}})}var N=[`automations`];function P(e={}){let{limit:t=50,offset:n=0,enabled:i=!0}=e,a=m();return r({queryKey:[...N,{limit:t,offset:n},a.backend.id,a.orgId],queryFn:()=>D.getAutomations(t,n),staleTime:0,enabled:i})}function F(){let e=s();return i({mutationFn:({id:e,enabled:t})=>D.toggleAutomation(e,t),onSuccess:()=>{e.invalidateQueries({queryKey:N}),e.invalidateQueries({queryKey:j})}})}function I(){let e=s();return i({mutationFn:({id:e,body:t})=>D.updateAutomation(e,t),onSuccess:()=>{e.invalidateQueries({queryKey:N}),e.invalidateQueries({queryKey:j})}})}function L(){let e=s();return i({mutationFn:e=>D.deleteAutomation(e),onSuccess:()=>{e.invalidateQueries({queryKey:N})}})}function R(){let e=s();return i({mutationFn:e=>D.dispatchAutomation(e),onSuccess:(t,n)=>{e.invalidateQueries({queryKey:N}),e.invalidateQueries({queryKey:j}),e.invalidateQueries({queryKey:[...M,n]})}})}var z=[`automation-health`];function B(){let e=m();return r({queryKey:[...z,e.backend.id,e.orgId],queryFn:()=>D.checkHealth(),staleTime:30*1e3,retry:!1})}var V=e=>(0,A.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,fill:`currentColor`,viewBox:`0 0 20 20`,...e,children:(0,A.jsx)(`path`,{d:`M10 6a2 2 0 110-4 2 2 0 010 4zm0 6a2 2 0 110-4 2 2 0 010 4zm0 6a2 2 0 110-4 2 2 0 010 4z`})}),H=`inline-flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-md border-0 bg-transparent text-muted transition-colors hover:bg-interactive-hover hover:text-white focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-muted`,U=`inline-flex h-8 shrink-0 cursor-pointer items-center gap-1.5 rounded-md border-0 bg-transparent px-2 text-xs text-muted transition-colors hover:bg-interactive-hover hover:text-white focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-muted`;function W({icon:e,label:t}){return(0,A.jsxs)(`span`,{className:`flex min-w-0 w-full items-center gap-2`,children:[(0,A.jsx)(`span`,{className:`flex shrink-0 items-center text-[var(--oh-muted)] transition-colors group-hover:text-[var(--oh-foreground)] group-focus-visible:text-[var(--oh-foreground)] [&_svg]:size-4 [&_svg]:text-current`,"aria-hidden":!0,children:e}),(0,A.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:t})]})}function G({items:e}){let{t}=c(`openhands`),[n,r]=(0,O.useState)(!1),[i,a]=(0,O.useState)(),s=(0,O.useRef)(null),l=(0,O.useRef)(null);(0,O.useLayoutEffect)(()=>{if(!n||!s.current)return;let e=()=>{let e=s.current?.getBoundingClientRect();e&&a({position:`fixed`,zIndex:9999,top:e.bottom+4,right:window.innerWidth-e.right})};return e(),window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[n]),(0,O.useEffect)(()=>{if(!n)return;let e=e=>{let t=e.target;s.current?.contains(t)||l.current?.contains(t)||r(!1)},t=e=>{e.key===`Escape`&&r(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[n]);let u=n&&i?(0,A.jsx)(b,{ref:l,theme:`popover`,className:`min-w-[10rem]`,children:e.map(e=>(0,A.jsx)(`li`,{children:(0,A.jsx)(ne,{onClick:t=>{t.stopPropagation(),e.onClick(),r(!1)},isDisabled:e.disabled,className:`group`,children:(0,A.jsx)(W,{icon:e.icon,label:e.label})})},e.label))}):null;return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`button`,{ref:s,type:`button`,onClick:e=>{e.stopPropagation(),r(e=>!e)},className:H,"aria-label":t(o.AUTOMATIONS$ACTIONS_MENU),"aria-expanded":n,"aria-haspopup":`menu`,children:(0,A.jsx)(V,{className:`size-4`})}),n&&i&&typeof document<`u`?k.createPortal((0,A.jsx)(`div`,{style:i,children:u}),document.body):null]})}function K(e){return!0}var q=e=>(0,A.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,strokeWidth:2,...e,children:(0,A.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M9.813 15.904L9 18.75l-.813-2.846a4.5 4.5 0 00-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 003.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 003.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 00-3.09 3.09zM18.259 8.715L18 9.75l-.259-1.035a3.375 3.375 0 00-2.455-2.456L14.25 6l1.036-.259a3.375 3.375 0 002.455-2.456L18 2.25l.259 1.035a3.375 3.375 0 002.455 2.456L21.75 6l-1.036.259a3.375 3.375 0 00-2.455 2.456z`})}),J=e=>(0,A.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,strokeWidth:2,...e,children:(0,A.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M5.636 5.636a9 9 0 1012.728 0M12 3v9`})}),ae=e=>(0,A.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,strokeWidth:2,...e,children:(0,A.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16`})}),Y=e=>(0,A.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,strokeWidth:1.5,...e,children:(0,A.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M12 9v3.75m9-.75a9 9 0 11-18 0 9 9 0 0118 0zm-9 3.75h.008v.008H12v-.008z`})});function oe({onRetry:e}){let{t}=c(`openhands`);return(0,A.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-20`,children:[(0,A.jsx)(Y,{className:`size-12 text-danger`}),(0,A.jsx)(`p`,{className:`mt-4 text-sm text-muted`,children:t(o.AUTOMATIONS$ERROR_TITLE)}),(0,A.jsx)(`button`,{type:`button`,onClick:e,className:`mt-4 rounded-lg border border-[var(--oh-border)] px-4 py-2 text-sm text-white hover:bg-surface-raised`,children:t(o.AUTOMATIONS$ERROR_RETRY)})]})}function se({onRetry:e}){let{t}=c(`openhands`);return(0,A.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-20 px-4`,children:[(0,A.jsx)(Y,{className:`size-12 text-[var(--oh-warning)]`}),(0,A.jsx)(`h2`,{className:`mt-4 text-lg font-medium text-content`,children:t(o.AUTOMATIONS$BACKEND_UNAVAILABLE_TITLE)}),(0,A.jsx)(`p`,{className:`mt-2 text-sm text-muted text-center max-w-md`,children:t(o.AUTOMATIONS$BACKEND_UNAVAILABLE_MESSAGE)}),(0,A.jsx)(_,{type:`button`,variant:`secondary`,className:`mt-6`,onClick:e,children:t(o.AUTOMATIONS$BACKEND_UNAVAILABLE_RETRY)})]})}function ce({automationName:e,isOpen:t,onConfirm:n,onCancel:r}){let{t:i}=c(`openhands`);return t?(0,A.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center`,children:[(0,A.jsx)(`div`,{className:`absolute inset-0 bg-black/60`,onClick:r,onKeyDown:e=>{e.key===`Escape`&&r()},role:`presentation`}),(0,A.jsxs)(`div`,{className:`relative w-full max-w-sm rounded-xl border border-[var(--oh-border)] bg-[var(--oh-surface)] p-6`,children:[(0,A.jsx)(`button`,{type:`button`,onClick:r,className:`absolute right-4 top-4 text-muted hover:text-foreground`,"aria-label":`Close`,children:(0,A.jsx)(S,{className:`size-5`})}),(0,A.jsx)(`h2`,{className:`text-lg font-medium text-white`,children:i(o.AUTOMATIONS$DELETE_CONFIRM_TITLE)}),(0,A.jsx)(`p`,{className:`mt-2 text-sm text-muted`,children:i(o.AUTOMATIONS$DELETE_CONFIRM_MESSAGE,{name:e})}),(0,A.jsxs)(`div`,{className:`mt-6 flex justify-end gap-3`,children:[(0,A.jsx)(`button`,{type:`button`,onClick:r,className:`rounded-lg border border-[var(--oh-border)] px-4 py-2 text-sm text-white hover:bg-surface-raised`,children:i(o.AUTOMATIONS$CANCEL)}),(0,A.jsx)(`button`,{type:`button`,onClick:n,className:`rounded-lg bg-danger px-4 py-2 text-sm text-white hover:bg-danger/80`,children:i(o.AUTOMATIONS$DELETE)})]})]})]}):null}var le=/^(\d+)$/;function X(e,t,n){let r=e.match(le);if(!r)return null;let i=Number(r[1]);return Number.isNaN(i)||i<t||i>n?null:i}function Z(e){let t=(e??``).trim();if(!t)return{kind:`custom`,raw:``};let n=t.split(/\s+/);if(n.length!==5)return{kind:`custom`,raw:t};let[r,i,a,o,s]=n,c=X(r,0,59),l=X(i,0,23);if(c===null||l===null)return{kind:`custom`,raw:t};if(a!==`*`||o!==`*`)return{kind:`custom`,raw:t,hour:l,minute:c};if(s===`*`||s===`0-6`)return{kind:`daily`,hour:l,minute:c};if(s===`1-5`)return{kind:`weekdays`,hour:l,minute:c};let u=X(s,0,6);return u===null?{kind:`custom`,raw:t,hour:l,minute:c}:{kind:`weekly`,hour:l,minute:c,weekday:u}}function ue(e){let{kind:t,hour:n,minute:r,weekday:i}=e;switch(t){case`daily`:return`${r} ${n} * * *`;case`weekdays`:return`${r} ${n} * * 1-5`;case`weekly`:return`${r} ${n} * * ${i??1}`;default:return t}}function Q(e,t){return`${String(e).padStart(2,`0`)}:${String(t).padStart(2,`0`)}`}function $(e){let t=e.match(/^(\d{1,2}):(\d{2})$/);if(!t)return null;let n=Number(t[1]),r=Number(t[2]);return Number.isNaN(n)||Number.isNaN(r)||n<0||n>23||r<0||r>59?null:{hour:n,minute:r}}var de=[o.AUTOMATIONS$WEEKDAY_SUN,o.AUTOMATIONS$WEEKDAY_MON,o.AUTOMATIONS$WEEKDAY_TUE,o.AUTOMATIONS$WEEKDAY_WED,o.AUTOMATIONS$WEEKDAY_THU,o.AUTOMATIONS$WEEKDAY_FRI,o.AUTOMATIONS$WEEKDAY_SAT];function fe(e){let t=Z(e.trigger.schedule);return t.kind===`custom`?{name:e.name,prompt:e.prompt??``,frequency:`custom`,weekday:1,timeOfDay:t.hour!==void 0&&t.minute!==void 0?Q(t.hour,t.minute):``,isCustomSchedule:!0,rawSchedule:t.raw}:{name:e.name,prompt:e.prompt??``,frequency:t.kind,weekday:t.kind===`weekly`?t.weekday??1:1,timeOfDay:Q(t.hour,t.minute),isCustomSchedule:!1,rawSchedule:e.trigger.schedule??``}}function pe({automation:e,isOpen:t,onClose:n}){let{t:r}=c(`openhands`),i=I(),a=(0,O.useMemo)(()=>fe(e),[e]),[s,f]=(0,O.useState)(a),[p,m]=(0,O.useState)(null);if((0,O.useEffect)(()=>{t&&(f(a),m(null))},[t,a]),!t)return null;let v=[{key:`daily`,label:r(o.AUTOMATIONS$FREQUENCY_DAILY)},{key:`weekdays`,label:r(o.AUTOMATIONS$FREQUENCY_WEEKDAYS)},{key:`weekly`,label:r(o.AUTOMATIONS$FREQUENCY_WEEKLY)},...s.isCustomSchedule?[{key:`custom`,label:r(o.AUTOMATIONS$FREQUENCY_CUSTOM)}]:[]],y=de.map((e,t)=>({key:String(t),label:r(e)})),b=!s.isCustomSchedule||$(s.timeOfDay)!==null||s.timeOfDay===``;return(0,A.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center`,children:[(0,A.jsx)(`div`,{className:`absolute inset-0 bg-black/60`,onClick:n,onKeyDown:e=>{e.key===`Escape`&&n()},role:`presentation`}),(0,A.jsxs)(`div`,{className:`relative w-full max-w-md rounded-xl border border-[var(--oh-border)] bg-[var(--oh-surface)] p-6`,children:[(0,A.jsx)(`button`,{type:`button`,onClick:n,className:`absolute right-4 top-4 text-muted hover:text-foreground`,"aria-label":r(o.AUTOMATIONS$CANCEL),children:(0,A.jsx)(S,{className:`size-5`})}),(0,A.jsx)(`h2`,{className:`text-lg font-medium text-white`,children:r(o.AUTOMATIONS$EDIT_TITLE)}),(0,A.jsxs)(`form`,{onSubmit:t=>{t.preventDefault();let a=s.name.trim();if(!a){m(r(o.AUTOMATIONS$NAME_REQUIRED));return}m(null);let c={};a!==e.name&&(c.name=a);let d=s.prompt.trim();if(d!==(e.prompt??``).trim()&&(c.prompt=d.length===0?null:d),!s.isCustomSchedule&&s.frequency!==`custom`){let t=$(s.timeOfDay);if(t){let n=ue({kind:s.frequency,hour:t.hour,minute:t.minute,weekday:s.frequency===`weekly`?s.weekday:void 0});n!==e.trigger.schedule&&(c.trigger={...e.trigger,schedule:n})}}if(Object.keys(c).length===0){n();return}i.mutate({id:e.id,body:c},{onSuccess:()=>{u(r(o.AUTOMATIONS$EDIT_SUCCESS)),n()},onError:e=>{l(ee(e)?e.response?.data?.message||e.message||r(o.AUTOMATIONS$EDIT_ERROR):e.message||r(o.AUTOMATIONS$EDIT_ERROR))}})},className:`mt-4 flex flex-col gap-4`,"aria-label":r(o.AUTOMATIONS$EDIT_TITLE),children:[(0,A.jsx)(te,{testId:`edit-automation-name`,name:`name`,type:`text`,label:r(o.AUTOMATIONS$NAME),value:s.name,onChange:e=>f(t=>({...t,name:e})),error:p??void 0,showRequiredTag:!0}),(0,A.jsxs)(`label`,{className:`flex flex-col gap-2.5 w-full min-w-0`,children:[(0,A.jsx)(`span`,{className:`text-sm`,children:r(o.AUTOMATIONS$PROMPT)}),(0,A.jsx)(`textarea`,{"data-testid":`edit-automation-prompt`,name:`prompt`,value:s.prompt,onChange:e=>f(t=>({...t,prompt:e.target.value})),rows:4,className:d(h,`placeholder:italic`)}),(0,A.jsx)(`span`,{className:`text-xs text-muted`,children:r(o.AUTOMATIONS$EDIT_PROMPT_HINT)})]}),(0,A.jsx)(x,{testId:`edit-automation-frequency`,name:`frequency`,label:r(o.AUTOMATIONS$FREQUENCY),items:v,selectedKey:s.frequency,isDisabled:s.isCustomSchedule,onSelectionChange:e=>{!e||s.isCustomSchedule||f(t=>({...t,frequency:e}))}}),s.frequency===`weekly`&&!s.isCustomSchedule&&(0,A.jsx)(x,{testId:`edit-automation-weekday`,name:`weekday`,label:r(o.AUTOMATIONS$WEEKDAY),items:y,selectedKey:String(s.weekday),onSelectionChange:e=>{e!==null&&f(t=>({...t,weekday:Number(e)}))}}),(0,A.jsxs)(`label`,{className:`flex flex-col gap-2.5 w-full min-w-0`,children:[(0,A.jsx)(`span`,{className:`text-sm`,children:r(o.AUTOMATIONS$TIME_OF_DAY)}),(0,A.jsx)(`input`,{"data-testid":`edit-automation-time`,name:`timeOfDay`,type:`time`,value:s.timeOfDay,onChange:e=>f(t=>({...t,timeOfDay:e.target.value})),disabled:s.isCustomSchedule&&!b,className:d(g,`disabled:bg-[var(--oh-surface-raised)]`)}),e.timezone&&(0,A.jsxs)(`span`,{className:`text-xs text-muted`,children:[r(o.AUTOMATIONS$TIMEZONE),`: `,e.timezone]})]}),s.isCustomSchedule&&(0,A.jsxs)(`p`,{className:`text-xs text-muted`,"data-testid":`custom-schedule-hint`,children:[r(o.AUTOMATIONS$CUSTOM_SCHEDULE_HINT),s.rawSchedule&&(0,A.jsxs)(A.Fragment,{children:[` `,(0,A.jsx)(`code`,{className:`text-xs text-content`,children:s.rawSchedule})]})]}),(0,A.jsxs)(`div`,{className:`mt-2 flex justify-end gap-3`,children:[(0,A.jsx)(_,{testId:`edit-automation-cancel`,type:`button`,variant:`secondary`,onClick:n,isDisabled:i.isPending,children:r(o.AUTOMATIONS$CANCEL)}),(0,A.jsx)(_,{testId:`edit-automation-save`,type:`submit`,variant:`primary`,isDisabled:i.isPending,"aria-busy":i.isPending,children:i.isPending?r(o.AUTOMATIONS$SAVING):r(o.AUTOMATIONS$SAVE)})]})]})]})]})}export{F as _,Y as a,D as b,q as c,H as d,U as f,R as g,L as h,oe as i,K as l,P as m,ce as n,ae as o,B as p,se as r,J as s,pe as t,G as u,re as v,ie as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{o as n}from"./declaration-
|
|
1
|
+
import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{o as n}from"./declaration-BNMqORFE.js";import{t as r}from"./utils-i18rdUj2.js";import{d as i}from"./brand-button-Br7f0kZJ.js";var a=n();function o({icon:e,text:t,className:n}){return(0,a.jsxs)(`div`,{className:r(`flex min-w-0 w-full items-center gap-2`,n),children:[(0,a.jsx)(`span`,{className:r(`flex shrink-0 items-center text-[var(--oh-muted)] group-hover:text-[var(--oh-foreground)] group-focus-visible:text-[var(--oh-foreground)] [&_svg]:text-current`,i),"aria-hidden":!0,children:e}),(0,a.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:t})]})}var s=e(t()),c=e=>(0,a.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,...e,children:(0,a.jsx)(`path`,{d:`M7 4C7 2.89543 7.89543 2 9 2H15C16.1046 2 17 2.89543 17 4V6H18.9897C18.9959 5.99994 19.0021 5.99994 19.0083 6H21C21.5523 6 22 6.44772 22 7C22 7.55228 21.5523 8 21 8H19.9311L19.0638 20.1425C18.989 21.1891 18.1182 22 17.0689 22H6.93112C5.88184 22 5.01096 21.1891 4.9362 20.1425L4.06888 8H3C2.44772 8 2 7.55228 2 7C2 6.44772 2.44772 6 3 6H4.99174C4.99795 5.99994 5.00414 5.99994 5.01032 6H7V4ZM9 6H15V4H9V6ZM6.07398 8L6.93112 20H17.0689L17.926 8H6.07398ZM10 10C10.5523 10 11 10.4477 11 11V17C11 17.5523 10.5523 18 10 18C9.44772 18 9 17.5523 9 17V11C9 10.4477 9.44772 10 10 10ZM14 10C14.5523 10 15 10.4477 15 11V17C15 17.5523 14.5523 18 14 18C13.4477 18 13 17.5523 13 17V11C13 10.4477 13.4477 10 14 10Z`,fill:`currentColor`})}),l=e=>(0,a.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,...e,children:(0,a.jsx)(`path`,{d:`M14.25 19.5C14.25 20.7426 13.2426 21.75 12 21.75C10.7574 21.75 9.75 20.7426 9.75 19.5C9.75 18.2574 10.7574 17.25 12 17.25C13.2426 17.25 14.25 18.2574 14.25 19.5ZM14.25 12C14.25 13.2426 13.2426 14.25 12 14.25C10.7574 14.25 9.75 13.2426 9.75 12C9.75 10.7574 10.7574 9.75 12 9.75C13.2426 9.75 14.25 10.7574 14.25 12ZM14.25 4.5C14.25 5.74264 13.2426 6.75 12 6.75C10.7574 6.75 9.75 5.74264 9.75 4.5C9.75 3.25736 10.7574 2.25 12 2.25C13.2426 2.25 14.25 3.25736 14.25 4.5Z`,fill:`currentColor`})}),u=s.forwardRef(function({onClick:e,className:t,iconClassName:n,ariaLabel:o,testId:s=`ellipsis-button`},c){return(0,a.jsx)(`button`,{ref:c,"data-testid":s,type:`button`,onClick:e,"aria-label":o,className:r(`p-1 rounded-md cursor-pointer`,i,`text-[var(--oh-muted)] hover:text-white hover:bg-white/10`,`flex items-center justify-center`,t),children:(0,a.jsx)(l,{className:n??`w-4 h-4`})})});export{o as i,l as n,c as r,u as t};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/browser-
|
|
2
|
-
import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{t as n}from"./preload-helper-CT1Z6Pdu.js";import{n as r}from"./vendor~entry.client-Du9GpFmX.js";import{t as i}from"./vendor~entry.client-CySJvEhK.js";import{o as a}from"./declaration-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/browser-D810xUYt.js","assets/vendor~browser-BNjNhjFU.js","assets/vendor~browser-DDiZgqD3.js","assets/settings-D_H-qsRm.js","assets/common-DR1t-EeP.js","assets/automation-IdgZq6ZK.js","assets/query-client-config-B7u9asM0.js","assets/rolldown-runtime-BFRubm34.js","assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~g56ukk6u-DsSvIDZQ.js","assets/mutation-D0OogFCz.js","assets/custom-toast-handlers-C-SZFmto.js","assets/createLucideIcon-Ddu8jDOQ.js","assets/react-CM_dJw1Z.js","assets/declaration-BNMqORFE.js","assets/utils-i18rdUj2.js","assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~hkqzh1hb-BZ0HXuHD.js","assets/i18n-CTohRuoO.js","assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~skills-settings~m~o9nrx3fm-D44TR8hL.js","assets/health-store-BDC2rM-X.js","assets/retrieve-axios-error-message-BY-yIkIq.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{t as n}from"./preload-helper-CT1Z6Pdu.js";import{n as r}from"./vendor~entry.client-Du9GpFmX.js";import{t as i}from"./vendor~entry.client-CySJvEhK.js";import{o as a}from"./declaration-BNMqORFE.js";import{n as o,t as s}from"./providers-Bx6EfrzZ.js";import{s as c}from"./i18n-CTohRuoO.js";var l=e(t(),1),u=i();function d({mockApi:e=void 0,hasWindow:t=typeof window<`u`}={}){return t&&e===`true`}var f=a();async function p(){if(await c(),d()){let{worker:e}=await n(async()=>{let{worker:e}=await import(`./browser-D810xUYt.js`);return{worker:e}},__vite__mapDeps([0,1,2,3,4,5]));await e.start({onUnhandledRequest:`bypass`});let{queryClient:t}=await n(async()=>{let{queryClient:e}=await import(`./query-client-config-B7u9asM0.js`).then(e=>e.i);return{queryClient:e}},__vite__mapDeps([6,7,8,9,10,11,12,13,14,15,16,17,18,19]));window.__TEST_INVALIDATE_QUERIES__=e=>void t.invalidateQueries(e?{queryKey:e}:void 0)}}p().then(()=>(0,l.startTransition)(()=>{(0,u.hydrateRoot)(document,(0,f.jsx)(l.StrictMode,{children:(0,f.jsx)(s,{analytics:o,withStyleRoot:!1,children:(0,f.jsx)(r,{})})}))}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{o as n,t as r}from"./declaration-
|
|
1
|
+
import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{o as n,t as r}from"./declaration-BNMqORFE.js";import{t as i}from"./useTranslation-DCOdSSMl.js";import{t as a}from"./check-CYxAHs85.js";import{t as o}from"./chevron-down-Bnmd5iG-.js";import{t as s}from"./utils-i18rdUj2.js";import{t as c}from"./use-click-outside-element-DffgWWoZ.js";var l=e(t(),1),u=n();function d({testId:e,value:t,onChange:n,options:d,labelKeyByValue:f}){let{t:p}=i(`openhands`),[m,h]=l.useState(!1),g=c(()=>h(!1)),_=d[0],v=p(f[t]);return(0,u.jsxs)(`div`,{ref:g,className:`relative shrink-0 w-auto`,"data-testid":e,children:[(0,u.jsxs)(`button`,{type:`button`,"data-testid":`dropdown-trigger`,"aria-haspopup":`menu`,"aria-expanded":m,"aria-label":p(r.CONVERSATION_PANEL$FILTER_LABEL),onClick:()=>h(e=>!e),className:s(`inline-flex items-center gap-1.5 rounded-lg border px-3 py-2 text-sm font-medium transition-colors cursor-pointer`,`border-[var(--oh-border)] bg-base-secondary text-white`,`focus-visible:border-white/40 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-white/20`,_&&t!==_&&`border-white/60 bg-white/10`),children:[(0,u.jsx)(`span`,{className:`whitespace-nowrap`,children:v}),(0,u.jsx)(o,{className:s(`h-4 w-4 shrink-0 text-tertiary-alt transition-transform`,m&&`rotate-180`),"aria-hidden":!0})]}),m?(0,u.jsx)(`div`,{role:`menu`,"data-testid":`${e}-menu`,"aria-label":p(r.CONVERSATION_PANEL$FILTER_LABEL),className:s(`absolute right-0 top-full z-50 mt-1 min-w-full w-max`,`max-h-60 overflow-auto rounded-[6px] bg-tertiary p-1 context-menu-box-shadow`),children:d.map(r=>{let i=r===t;return(0,u.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":i,"data-testid":`${e}-${r}`,onClick:()=>{n(r),h(!1)},className:s(`flex w-full items-center gap-2 rounded px-2 py-2 text-left text-sm text-white`,`hover:bg-[var(--oh-interactive-hover)] cursor-pointer`,i&&`bg-[var(--oh-interactive-selected)]`),children:[(0,u.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:p(f[r])}),i?(0,u.jsx)(a,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0}):null]},r)})}):null]})}export{d as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{t as n}from"./react-dom-hVBnwgwZ.js";import{o as r,t as i}from"./declaration-
|
|
1
|
+
import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{t as n}from"./react-dom-hVBnwgwZ.js";import{o as r,t as i}from"./declaration-BNMqORFE.js";import{t as a}from"./useTranslation-DCOdSSMl.js";import{a as o,i as s,n as c,o as l,r as u,s as d,t as f}from"./environment-switch-store-C4ulFJKp.js";var p=e(t(),1),m=e(n(),1),h=r();function g({className:e}){return(0,h.jsxs)(`svg`,{viewBox:`0 0 74.17 22`,xmlns:`http://www.w3.org/2000/svg`,className:e,"aria-hidden":!0,children:[(0,h.jsxs)(`g`,{children:[(0,h.jsx)(`rect`,{x:`1`,y:`1`,width:`20`,height:`8`,rx:`2`,ry:`2`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,h.jsx)(`rect`,{x:`1`,y:`13`,width:`20`,height:`8`,rx:`2`,ry:`2`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,h.jsx)(`line`,{x1:`5`,y1:`5`,x2:`5.01`,y2:`5`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`}),(0,h.jsx)(`line`,{x1:`5`,y1:`17`,x2:`5.01`,y2:`17`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`})]}),(0,h.jsxs)(`g`,{children:[(0,h.jsx)(`rect`,{x:`53.17`,y:`1`,width:`20`,height:`8`,rx:`2`,ry:`2`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,h.jsx)(`rect`,{x:`53.17`,y:`13`,width:`20`,height:`8`,rx:`2`,ry:`2`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,h.jsx)(`line`,{x1:`57.17`,y1:`5`,x2:`57.18`,y2:`5`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`}),(0,h.jsx)(`line`,{x1:`57.17`,y1:`17`,x2:`57.18`,y2:`17`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`})]}),(0,h.jsxs)(`g`,{children:[(0,h.jsx)(`path`,{d:`M43.09,7l4,4-4,4`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,h.jsx)(`path`,{d:`M27.09,11h20`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,h.jsx)(`path`,{d:`M31.09,7l-4,4,4,4`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})]})]})}function _(){let{t:e}=a(`openhands`),{visible:t,target:n}=p.useSyncExternalStore(l,o,o);return!t||typeof document>`u`?null:(0,m.createPortal)((0,h.jsx)(`div`,{"data-testid":`environment-switch-overlay`,"data-target":n,className:`environment-switch-overlay pointer-events-none fixed inset-0 z-[2147483646] flex items-center justify-center`,"aria-live":`polite`,"aria-atomic":`true`,children:(0,h.jsxs)(`div`,{className:`pointer-events-none flex min-w-[280px] max-w-[420px] flex-col items-center gap-2 rounded-xl border border-[var(--oh-border)] bg-[var(--oh-surface)] px-5 py-4 text-[var(--oh-foreground)] shadow-2xl`,children:[(0,h.jsx)(g,{className:`mb-2 h-6 w-20 shrink-0 text-[var(--oh-foreground)]`}),(0,h.jsx)(`p`,{className:`text-center text-sm font-medium`,children:e(i.BACKEND$SWITCHING_TO,{environment:n})})]})}),document.body)}export{f as ENVIRONMENT_SWITCH_DURATION_MS,c as ENVIRONMENT_SWITCH_SETACTIVE_DELAY_MS,_ as EnvironmentSwitchOverlay,_ as default,u as __resetEnvironmentSwitchOverlayForTests,s as dismissEnvironmentSwitch,d as triggerEnvironmentSwitch};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{L as e,s as t}from"./vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js";import{o as n,t as r}from"./declaration-
|
|
1
|
+
import{L as e,s as t}from"./vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js";import{o as n,t as r}from"./declaration-BNMqORFE.js";import{t as i}from"./useTranslation-DCOdSSMl.js";import{t as a}from"./sidebar-nav-link-BGjiJq-4.js";import{r as o}from"./typography-gpuWmrQO.js";import{t as s}from"./use-breakpoint-DbJ6FkQ-.js";import{t as c}from"./backend-synced-settings-badge-Dc6c7GT4.js";import{t as l}from"./extensions-navigation-BYR8Giqq.js";var u=n();function d(){let{t:e}=i(`openhands`);return(0,u.jsxs)(`div`,{"data-testid":`extensions-mobile-hub`,className:`flex flex-col gap-4 px-4 py-2 md:hidden`,children:[(0,u.jsx)(o.H2,{children:e(r.NAV$EXTENSIONS)}),(0,u.jsx)(`nav`,{className:`flex flex-col gap-0.5`,children:l.map(e=>(0,u.jsx)(a,{to:e.to,label:e.label,end:e.end,testId:`sidebar-extensions-${e.to}`,icon:e.icon,disabled:e.comingSoon},e.to))}),(0,u.jsx)(`div`,{className:`pt-1`,children:(0,u.jsx)(c,{})})]})}var f=e(function(){return s(768)?(0,u.jsx)(d,{}):(0,u.jsx)(t,{to:`/skills`,replace:!0})});export{f as default};
|
package/build/assets/{extensions-navigation-CT1kc1u_.js → extensions-navigation-BYR8Giqq.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime-BFRubm34.js";import{t as e}from"./react-CM_dJw1Z.js";import{o as t,t as n}from"./declaration-
|
|
1
|
+
import"./rolldown-runtime-BFRubm34.js";import{t as e}from"./react-CM_dJw1Z.js";import{o as t,t as n}from"./declaration-BNMqORFE.js";import{t as r}from"./useTranslation-DCOdSSMl.js";import{t as i}from"./utils-i18rdUj2.js";import{t as a}from"./navigation-link-Cn7KP3c5.js";import{c as o,m as s}from"./use-cloud-current-user-id-CvkXFnTT.js";import{t as c}from"./styled-tooltip-CBzrri6o.js";import{n as l}from"./acp-providers-CbiRekh9.js";import{r as u}from"./use-settings-DQIZmIov.js";import{t as d}from"./skills-ChIKZPK4.js";import{t as f}from"./sidebar-store-Uy3v0AOV.js";import{t as p}from"./use-breakpoint-DbJ6FkQ-.js";import{t as m}from"./backend-synced-settings-badge-Dc6c7GT4.js";e();var h=t(),g=[{to:`/skills`,label:`Skills`,icon:(0,h.jsx)(d,{width:16,height:16,"aria-hidden":`true`}),end:!0},{to:`/mcp`,label:`MCP Servers`,icon:(0,h.jsx)(e=>(0,h.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,...e,children:(0,h.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M2.25 3H21.75L22.5 3.75V13.5H21V9H3V19.5H13.5V21H2.25L1.5 20.25V3.75L2.25 3ZM3 7.5H21V4.5H3V7.5ZM10.5 18V16.359C10.2451 16.2664 10.0074 16.132 9.7965 15.9615L8.379 16.77L7.629 15.48L9.0345 14.6595C8.98649 14.3881 8.98649 14.1104 9.0345 13.839L7.629 13.02L8.379 11.73L9.7965 12.54C10.023 12.36 10.2585 12.2265 10.5 12.141V10.5H12V12.141C12.2568 12.2293 12.4953 12.3641 12.7035 12.5385L14.121 11.73L14.871 13.02L13.4655 13.8405C13.5133 14.1114 13.5133 14.3886 13.4655 14.6595L14.871 15.48L14.121 16.77L12.7035 15.96C12.4903 16.1274 12.2531 16.2619 12 16.359V18H10.5ZM10.125 14.25C10.125 14.562 10.2345 14.8275 10.4535 15.0465C10.5568 15.1528 10.6807 15.2367 10.8177 15.2932C10.9547 15.3497 11.1018 15.3776 11.25 15.375C11.3982 15.3776 11.5453 15.3497 11.6823 15.2932C11.8193 15.2367 11.9432 15.1528 12.0465 15.0465C12.1528 14.9432 12.2367 14.8193 12.2932 14.6823C12.3497 14.5453 12.3776 14.3982 12.375 14.25C12.3776 14.1018 12.3497 13.9547 12.2932 13.8177C12.2367 13.6807 12.1528 13.5568 12.0465 13.4535C11.9432 13.3472 11.8193 13.2633 11.6823 13.2068C11.5453 13.1503 11.3982 13.1224 11.25 13.125C11.1018 13.1224 10.9547 13.1503 10.8177 13.2068C10.6807 13.2633 10.5568 13.3472 10.4535 13.4535C10.3472 13.5568 10.2633 13.6807 10.2068 13.8177C10.1503 13.9547 10.1224 14.1018 10.125 14.25ZM18.126 22.5V20.859C17.8711 20.7663 17.6334 20.632 17.4225 20.4615L16.005 21.27L15.255 19.98L16.662 19.1595C16.614 18.8881 16.614 18.6104 16.662 18.339L15.255 17.52L16.005 16.23L17.4225 17.04C17.649 16.86 17.8845 16.7265 18.1275 16.641V15H19.6275V16.641C19.8837 16.7297 20.1216 16.8644 20.3295 17.0385L21.747 16.23L22.497 17.52L21.0915 18.3405C21.1396 18.6114 21.1396 18.8886 21.0915 19.1595L22.497 19.98L21.747 21.27L20.3295 20.46C20.1163 20.6275 19.8791 20.762 19.626 20.859V22.5H18.126ZM17.751 18.75C17.751 19.062 17.8605 19.3275 18.0795 19.5465C18.1828 19.6528 18.3067 19.7367 18.4437 19.7932C18.5807 19.8497 18.7278 19.8776 18.876 19.875C19.0242 19.8776 19.1713 19.8497 19.3083 19.7932C19.4453 19.7367 19.5692 19.6528 19.6725 19.5465C19.779 19.4434 19.8633 19.3195 19.9201 19.1825C19.9768 19.0455 20.0049 18.8983 20.0025 18.75C20.0049 18.6017 19.9768 18.4545 19.9201 18.3175C19.8633 18.1805 19.779 18.0566 19.6725 17.9535C19.5694 17.8474 19.4457 17.7636 19.309 17.7071C19.1722 17.6506 19.0254 17.6226 18.8775 17.625C18.7291 17.6222 18.5817 17.65 18.4444 17.7065C18.3072 17.763 18.183 17.847 18.0795 17.9535C17.9732 18.0568 17.8893 18.1807 17.8328 18.3177C17.7763 18.4547 17.7484 18.6018 17.751 18.75Z`,fill:`currentColor`})}),{width:16,height:16}),end:!0,disabledByAcp:!0},{to:`/plugins`,label:`Plugins`,icon:(0,h.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,width:16,height:16,"aria-hidden":`true`,children:[(0,h.jsx)(`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`}),(0,h.jsx)(`path`,{d:`m3.3 7 8.7 5 8.7-5`}),(0,h.jsx)(`path`,{d:`M12 22V12`})]}),end:!0,comingSoon:!0}];function _(){let{t:e}=r(`openhands`),{data:t}=u(),d=f(e=>e.collapsed),_=p(1023),v=p(767),y=!d&&_&&!v,b=t?.agent_settings?.agent_kind===`acp`,x=typeof t?.agent_settings?.acp_server==`string`?t.agent_settings.acp_server:void 0,S=b?l.find(({key:e})=>e===x)?.display_name??`ACP Agent`:void 0;return y?null:(0,h.jsxs)(`aside`,{"data-testid":`extensions-navbar-desktop`,className:`hidden md:flex md:w-[260px] md:shrink-0 md:flex-col md:gap-2 md:sticky md:top-8 md:self-start`,children:[(0,h.jsx)(`span`,{className:`px-2 text-sm font-normal text-white`,children:e(n.NAV$EXTENSIONS)}),(0,h.jsx)(`div`,{className:`flex flex-col gap-0.5 pt-0.5`,children:g.map(t=>{let r=!!(b&&t.disabledByAcp),l=(0,h.jsx)(`span`,{className:`shrink-0 flex items-center justify-center`,children:t.icon}),u=(0,h.jsx)(`span`,{className:`truncate`,children:t.label}),d=t.comingSoon&&(0,h.jsx)(`span`,{className:`ml-auto shrink-0 rounded-full border border-white/20 bg-white/5 px-1.5 py-0.5 text-[10px] font-medium text-[var(--oh-text-dim)]`,children:e(n.NAV$COMING_SOON)});return r?(0,h.jsx)(c,{content:e(n.SETTINGS$AGENT_DISABLED_TOOLTIP,{agentName:S}),placement:`right`,children:(0,h.jsxs)(`span`,{"aria-disabled":`true`,"data-testid":`sidebar-extensions-${t.to}`,className:i(s(),`truncate text-[var(--oh-muted)] opacity-50 cursor-not-allowed`),children:[l,u,d]})},t.to):(0,h.jsxs)(a,{to:t.to,end:t.end,"data-testid":`sidebar-extensions-${t.to}`,className:({isActive:e})=>i(s(),`truncate`,e?o.active:o.idle),children:[l,u,d]},t.to)})}),(0,h.jsx)(`div`,{className:`px-2 pt-3`,children:(0,h.jsx)(m,{})})]})}export{_ as n,g as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{t as n}from"./vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~f2l2lr17-CDXvdvb2.js";import{o as r,t as i}from"./declaration-BNMqORFE.js";import{n as a}from"./QueryClientProvider-CkGuhXg-.js";import{t as o}from"./useTranslation-DCOdSSMl.js";import{t as s}from"./retrieve-axios-error-message-BY-yIkIq.js";import{t as c,v as l}from"./utils-i18rdUj2.js";import{c as u,i as d,t as f,v as p}from"./agent-server-client-options-Bc5ZorQZ.js";import{n as m}from"./active-backend-context-cCM1vYYZ.js";import{r as h,u as g}from"./vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~dp08i1qy-DTwbEEcX.js";import{a as _}from"./agent-server-conversation-service.api-DFvqqEDo.js";import{t as v}from"./proxy-CxydCnis.js";import{t as y}from"./react-Do0CT17Y.js";import{s as b}from"./conversation-local-storage-UYl-SX-r.js";import{a as x}from"./vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-d2oallMa.js";import{t as S}from"./folder-ZZJVGgd7.js";import{t as C}from"./chevron-left-small-CVWf8TI6.js";import{t as w}from"./git-status-mapper-DnL9OC8_.js";import{n as T,r as E,t as D}from"./use-active-conversation-Db3IWSPK.js";import{n as O,t as k}from"./link-external-D2POYx4c.js";import{t as A}from"./use-agent-state-Bn8vS5sY.js";import{t as ee}from"./use-event-store-BT_gV3ut.js";import{t as j}from"./files-tab-store-CDyVTXNT.js";import{r as te}from"./typography-gpuWmrQO.js";import{ot as ne,st as re}from"./vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-smY2r837.js";import{t as M}from"./markdown-renderer-DMzf2i4x.js";import{t as N}from"./use-runtime-is-ready-CQCE3xZC.js";import{t as ie}from"./conversation-tab-empty-state-DyssnnWa.js";import{a as ae,c as oe,i as se,n as ce,o as le,r as ue,s as de,t as fe}from"./vendor~files-tab-BGKayPiK.js";var P=e(t(),1),F=class{static async executeCommand(e,t,n,r,i=30){let a=u().backend;if(a.kind===`cloud`&&e){let o=await v({backend:a,method:`POST`,hostOverride:d(e),path:`/api/bash/execute_bash_command`,body:{command:n,...r?{cwd:r}:{},timeout:Math.floor(i)},authMode:`session-api-key`,sessionApiKey:t,timeoutSeconds:i+10});return{exit_code:o.exit_code??-1,stdout:o.stdout??``,stderr:o.stderr??``}}let o=await new h(f({conversationUrl:e,sessionApiKey:t})).executeCommand(n,r,i);return{exit_code:o.exit_code,stdout:o.stdout,stderr:o.stderr}}static async downloadFile(e,t,n){let r=u().backend;return r.kind===`cloud`&&e?(await v({backend:r,method:`GET`,hostOverride:d(e),path:`/api/file/download?path=${encodeURIComponent(n)}`,authMode:`session-api-key`,sessionApiKey:t,responseType:`blob`})).arrayBuffer():new g(f({conversationUrl:e,sessionApiKey:t})).downloadFile(n)}},I=2e3,pe=[`.git`,`node_modules`,`.venv`,`venv`,`__pycache__`,`dist`,`build`,`.next`,`.cache`,`.pytest_cache`,`.mypy_cache`,`.turbo`,`.parcel-cache`,`target`];function me(){return`find . \\( ${pe.map(e=>`-name '${e}' -prune`).join(` -o `)} \\) -o -type f -print 2>/dev/null | sort | head -n ${I}`}function he(e){return e.startsWith(`./`)?e.slice(2):e}function ge(){let{data:e}=D(),t=N(),r=e?.id,i=e?.conversation_url,a=e?.session_api_key,o=e?.workspace?.working_dir?.trim();return n({queryKey:[`workspace-files`,r,i,a,o],queryFn:async()=>{let e=await F.executeCommand(i,a,me(),o,30);if(e.exit_code!==0)throw Error(e.stderr?.trim()||`Failed to list workspace files`);let t=e.stdout.split(/\r?\n/).map(e=>e.trim()).filter(Boolean).map(he);return Array.from(new Set(t)).slice(0,I)},enabled:t&&!!r&&!!o,retry:!1,staleTime:1e3*30,gcTime:1e3*60*5,meta:{disableToast:!0}})}function _e(){let{data:e}=D(),t=N(),r=e?.id,i=e?.conversation_url,a=e?.session_api_key,o=u().backend.kind===`local`,s=n({queryKey:[`workspace-session`,r,i,a],queryFn:async()=>({baseUrl:await new h(f({conversationUrl:i,sessionApiKey:a})).startWorkspaceSession(r)}),enabled:t&&!!r&&o,staleTime:1/0,gcTime:1/0,retry:!1});return{data:s.data??null,isLoading:s.isLoading,isError:s.isError,error:s.error??null}}function ve(e,t){let n=(t??``).replace(/^\/+/,``);return n?`${e}${n.split(`/`).map(e=>encodeURIComponent(e)).join(`/`)}`:e}var L=y(e=>({count:0,bump:()=>e(e=>({count:e.count+1}))}));function R(e,t){return e===null?null:`${e}${e.includes(`?`)?`&`:`?`}v=${t}`}var ye=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`bmp`,`ico`,`svg`,`avif`]),be=new Set([`pdf`]);function z(e){let t=e.lastIndexOf(`.`);return t===-1?``:e.slice(t+1).toLowerCase()}function xe(e){switch(z(e)){case`html`:case`htm`:return`text/html`;case`css`:return`text/css`;case`js`:case`mjs`:case`cjs`:return`text/javascript`;case`json`:return`application/json`;case`md`:case`markdown`:return`text/markdown`;case`svg`:return`image/svg+xml`;case`png`:return`image/png`;case`jpg`:case`jpeg`:return`image/jpeg`;case`gif`:return`image/gif`;case`webp`:return`image/webp`;case`bmp`:return`image/bmp`;case`ico`:return`image/x-icon`;case`avif`:return`image/avif`;case`pdf`:return`application/pdf`;default:return`text/plain`}}function Se(e){let t=z(e);return ye.has(t)?`image`:be.has(t)?`pdf`:`text`}function B(e){let t=new Uint8Array(e,0,Math.min(e.byteLength,8e3));for(let e=0;e<t.length;e+=1)if(t[e]===0)return!0;return!1}function V(e){let t=new Uint8Array(e),n=32768,r=``;for(let e=0;e<t.length;e+=n)r+=String.fromCharCode.apply(null,t.subarray(e,e+n));return btoa(r)}function H(e){let{data:t}=D(),r=N(),{data:i}=_e(),a=L(e=>e.count),o=t?.id,s=t?.conversation_url,c=t?.session_api_key,l=i?.baseUrl,d=u().backend.kind===`cloud`;return n({queryKey:[`workspace-file-content`,o,s,c,d?`cloud`:l,e,a],queryFn:async()=>{if(!e)throw Error(`No path`);let t=Se(e),n=xe(e);if(d){let r=await F.downloadFile(s,c,e);return t===`text`?B(r)?{path:e,kind:`binary`,text:null,staticUrl:`data:application/octet-stream;base64,${V(r)}`,mimeType:`application/octet-stream`}:{path:e,kind:`text`,text:new TextDecoder(`utf-8`,{fatal:!1}).decode(r),staticUrl:`data:${n};charset=utf-8;base64,${V(r)}`,mimeType:n}:{path:e,kind:t,text:null,staticUrl:`data:${n};base64,${V(r)}`,mimeType:n}}if(!l)throw Error(`No workspace session`);let r=ve(l,e);if(t!==`text`)return{path:e,kind:t,text:null,staticUrl:r,mimeType:n};let i=await fetch(r,{credentials:`include`});if(!i.ok)throw Error(`Failed to read ${e}: ${i.status}`);let a=await i.arrayBuffer();return B(a)?{path:e,kind:`binary`,text:null,staticUrl:r,mimeType:`application/octet-stream`}:{path:e,kind:`text`,text:new TextDecoder(`utf-8`,{fatal:!1}).decode(a),staticUrl:r,mimeType:n}},enabled:r&&!!o&&!!e&&(d||!!l),retry:!1,staleTime:1e3*5,gcTime:1e3*60,meta:{disableToast:!0}})}function Ce(){let{data:e,isLoading:t}=D(),n=e?.id?_(e.id):null;return{hasAttachedSource:!!e?.selected_repository||!!n?.selected_workspace,isLoading:t}}function we(e){let{data:t}=D(),r=N(),{backend:i}=m(),a=i.kind===`local`,o=t?.id,s=t?.conversation_url,c=t?.session_api_key,l=t?.workspace?.working_dir?.trim(),u=(e?.enabled??!0)&&a&&r&&!!o&&!!l,d=n({queryKey:[`has-git-commits`,o,s,c,l],queryFn:async()=>(await F.executeCommand(s,c,`git rev-parse --verify HEAD`,l,10)).exit_code===0,enabled:u,retry:!1,staleTime:6e4,gcTime:5*6e4,meta:{disableToast:!0}});return{hasCommits:d.data??null,isLoading:d.isLoading}}var Te=new Set([`FileEditorObservation`,`StrReplaceEditorObservation`,`PlanningFileEditorObservation`]),Ee=new Set([`view`]);function De(e){let t=e.observation;return!(!t||typeof t.kind!=`string`||!Te.has(t.kind)||t.command&&Ee.has(t.command))}function Oe(){let e=a(),t=ee(e=>e.events),n=L(e=>e.bump),r=(0,P.useRef)(new Set),i=(0,P.useRef)(new WeakSet);(0,P.useEffect)(()=>{let a=[];for(let e of t){let t=`id`in e?e.id:void 0;(t===void 0?i.current.has(e):r.current.has(t))||(t===void 0?i.current.add(e):r.current.add(t),De(e)&&a.push(e))}a.length!==0&&(e.invalidateQueries({queryKey:[`workspace-files`]}),e.invalidateQueries({queryKey:[`workspace-file-content`]}),e.invalidateQueries({queryKey:[`file_changes`]}),n())},[t,e,n])}function U(e){return e.startsWith(`/`)?e:`/${e}`}var W=class{static async getGitChanges(e,t,n){let r=u().backend;if(r.kind===`cloud`&&e){let i=new URLSearchParams;i.set(`path`,U(n));let a=await v({backend:r,method:`GET`,hostOverride:d(e),path:`/api/git/changes?${i.toString()}`,authMode:`session-api-key`,sessionApiKey:t});if(!Array.isArray(a))throw Error(`Invalid response from runtime - runtime may be unavailable`);return a.map(e=>({status:w(String(e.status)),path:e.path}))}let i=await new h(f({conversationUrl:e,sessionApiKey:t})).gitChanges(n,{ref:`HEAD`});if(!Array.isArray(i))throw Error(`Invalid response from runtime - runtime may be unavailable`);return i.map(e=>({status:w(String(e.status)),path:e.path}))}static async getGitChangeDiff(e,t,n){let r=u().backend;if(r.kind===`cloud`&&e){let i=new URLSearchParams;i.set(`path`,U(n));let a=await v({backend:r,method:`GET`,hostOverride:d(e),path:`/api/git/diff?${i.toString()}`,authMode:`session-api-key`,sessionApiKey:t});return{modified:a?.modified??``,original:a?.original??``,...a?.diff?{diff:a.diff}:{}}}let i=await new h(f({conversationUrl:e,sessionApiKey:t})).gitDiff(n,{ref:`HEAD`});return{modified:i.modified??``,original:i.original??``,...i.diff?{diff:i.diff}:{}}}};function G(e,t){let n=t?.trim();if(n)return n;if(!e)return p;let r=e.split(`/`);return`${p}/${r[r.length-1]}`}var K=()=>{let{conversationId:e}=T(),{data:t}=D(),[r,i]=P.useState([]),a=P.useRef(null),o=N(),s=t?.conversation_url,c=t?.session_api_key,l=t?.selected_repository,u=t?.workspace?.working_dir?.trim(),d=P.useMemo(()=>G(l,u),[l,u]),f=n({queryKey:[`file_changes`,e,s,c,d],queryFn:async()=>{if(!e)throw Error(`No conversation ID`);return W.getGitChanges(s,c,d)},retry:!1,staleTime:1e3*60*5,gcTime:1e3*60*15,refetchOnMount:`always`,enabled:o&&!!e,meta:{disableToast:!0}});return P.useEffect(()=>{if(!f.isFetching&&f.isSuccess&&f.data){let e=f.data;if(e!==a.current)if(a.current=e,Array.isArray(e)){let t=new Set(e.map(e=>e.path)),n=new Set(r.map(e=>e.path)),a=e.filter(e=>!n.has(e.path)),o=r.filter(e=>t.has(e.path));i([...a,...o])}else i([e])}},[f.isFetching,f.isSuccess,f.data]),{data:r,isLoading:f.isLoading,isFetching:f.isFetching,isSuccess:f.isSuccess,isError:f.isError,error:f.error,refetch:f.refetch}},ke=[`index.html`,`index.htm`,`readme.md`,`readme`,`main.html`,`app.html`,`index.js`,`index.ts`,`index.tsx`,`index.jsx`,`main.py`,`app.py`,`main.go`,`main.rs`,`main.java`,`main.c`,`main.cpp`,`package.json`,`pyproject.toml`,`cargo.toml`,`go.mod`,`pom.xml`,`dockerfile`,`makefile`],Ae=[`license`,`license.md`,`license.txt`,`changelog.md`,`agents.md`,`tsconfig.json`,`.env.sample`,`.env.example`];function je(e){let t=e.lastIndexOf(`/`);return(t===-1?e:e.slice(t+1)).toLowerCase()}function q(e){return e.split(`/`).filter(Boolean).length-1}function J(e){let t=je(e),n=ke.indexOf(t);if(n!==-1)return n;let r=Ae.indexOf(t);return r===-1?1e4:1e3+r}function Y(e){return[...e].sort((e,t)=>{let n=q(e)-q(t);if(n!==0)return n;let r=J(e)-J(t);return r===0?e.localeCompare(t):r})}var X=r(),Me=e=>(0,X.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,...e,children:(0,X.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M10.8615 8.16992L14.2799 12.158L10.8615 16.1461L9.72266 15.1699L12.3043 12.158L9.72266 9.14611L10.8615 8.16992Z`,fill:`currentColor`})});function Ne({paths:e,selectedPath:t,onSelectFile:n,isTreeVisible:r,onToggleTree:a}){let{t:s}=o(`openhands`),l=(0,P.useMemo)(()=>Y(e),[e]);return(0,X.jsxs)(`div`,{className:`flex items-center gap-1.5 border-b border-[var(--oh-border)] px-2 py-1.5 min-h-[34px]`,"data-testid":`file-quick-row`,children:[(0,X.jsx)(`button`,{type:`button`,onClick:a,"data-testid":`file-quick-row-tree-toggle`,"aria-pressed":r,"aria-label":s(r?i.FILES$HIDE_FILE_TREE:i.FILES$SHOW_FILE_TREE),title:s(r?i.FILES$HIDE_FILE_TREE:i.FILES$SHOW_FILE_TREE),className:c(`shrink-0 inline-flex items-center justify-center w-6 h-6 rounded-md cursor-pointer`,`text-[var(--oh-text-tertiary)] hover:bg-tertiary`,r&&`bg-[var(--oh-surface-raised)]`),children:r?(0,X.jsx)(C,{className:`w-3 h-3`}):(0,X.jsx)(Me,{className:`w-3 h-3`})}),l.length>0&&(0,X.jsx)(`div`,{className:`flex flex-nowrap items-center gap-1.5 overflow-hidden flex-1 min-w-0`,children:l.map(e=>{let r=t===e;return(0,X.jsx)(`button`,{type:`button`,onClick:()=>n(e),title:e,"data-testid":`file-quick-row-item-${e}`,className:c(`inline-flex items-center px-2 py-0.5 text-xs whitespace-nowrap rounded-md cursor-pointer`,r?`bg-[var(--oh-interactive-hover)] text-white`:`bg-[var(--oh-surface-raised)] text-[var(--oh-text-tertiary)] hover:bg-tertiary`),children:e},e)})})]})}function Z(e){e.children.sort((e,t)=>e.isDirectory===t.isDirectory?e.name.localeCompare(t.name):e.isDirectory?-1:1);for(let t of e.children)t.isDirectory&&Z(t)}function Pe(e,t,n,r,i){let a=t.get(e);a||(a=new Map,t.set(e,a));let o=a.get(n);if(o)return!i&&!o.isDirectory&&(o.isDirectory=!0),o;let s={name:n,path:r,isDirectory:!i,children:[]};return e.children.push(s),a.set(n,s),s}function Fe(e){let t={name:``,path:``,isDirectory:!0,children:[]},n=new Map;for(let r of e){let e=r.split(`/`).filter(Boolean);if(e.length>0){let r=t,i=``;for(let t=0;t<e.length;t+=1){let a=e[t];i=i?`${i}/${a}`:a;let o=t===e.length-1;r=Pe(r,n,a,i,o)}}}return Z(t),t}function Q({node:e,depth:t,selectedPath:n,onSelectFile:r}){let[i,a]=(0,P.useState)(!1),o=8+t*12;if(e.isDirectory)return(0,X.jsxs)(`li`,{children:[(0,X.jsxs)(`button`,{type:`button`,onClick:()=>a(e=>!e),"aria-expanded":i,"data-testid":`file-tree-dir-${e.path}`,className:c(`flex w-full items-center gap-1.5 py-1 pr-2 text-left text-sm text-white`,`hover:bg-tertiary cursor-pointer`),style:{paddingLeft:`${o}px`},children:[(0,X.jsx)(`span`,{"aria-hidden":!0,className:c(`inline-block w-3 text-[10px] text-[var(--oh-muted)] transition-transform`,i?`rotate-90`:`rotate-0`),children:`▶`}),(0,X.jsx)(S,{className:`w-3.5 h-3.5 shrink-0`}),(0,X.jsx)(`span`,{className:`truncate`,children:e.name})]}),i&&e.children.length>0&&(0,X.jsx)(`ul`,{children:e.children.map(e=>(0,X.jsx)(Q,{node:e,depth:t+1,selectedPath:n,onSelectFile:r},e.path))})]});let s=n===e.path;return(0,X.jsx)(`li`,{children:(0,X.jsxs)(`button`,{type:`button`,onClick:()=>r(e.path),"data-testid":`file-tree-file-${e.path}`,className:c(`flex w-full items-center gap-1.5 py-1 pr-2 text-left text-sm`,`hover:bg-tertiary cursor-pointer`,s?`bg-[var(--oh-interactive-hover)] text-white`:`text-[var(--oh-text-tertiary)]`),style:{paddingLeft:`${o+16}px`},children:[(0,X.jsx)(O,{className:`w-3.5 h-3.5 shrink-0`}),(0,X.jsx)(`span`,{className:`truncate`,children:e.name})]})})}function Ie({paths:e,selectedPath:t,onSelectFile:n}){let{t:r}=o(`openhands`),a=(0,P.useMemo)(()=>Fe(e),[e]);return a.children.length===0?(0,X.jsx)(`div`,{className:`px-3 py-4 text-sm text-[var(--oh-muted)]`,children:r(i.FILES$NO_FILES)}):(0,X.jsx)(`ul`,{className:`py-1 custom-scrollbar-always`,"data-testid":`file-tree-view`,children:a.children.map(e=>(0,X.jsx)(Q,{node:e,depth:0,selectedPath:t,onSelectFile:n},e.path))})}var $={js:`javascript`,jsx:`jsx`,mjs:`javascript`,cjs:`javascript`,ts:`typescript`,tsx:`tsx`,py:`python`,pyi:`python`,pyw:`python`,html:`markup`,htm:`markup`,svg:`markup`,xml:`markup`,css:`css`,scss:`scss`,sass:`sass`,less:`less`,json:`json`,json5:`json5`,yaml:`yaml`,yml:`yaml`,toml:`toml`,ini:`ini`,cfg:`ini`,properties:`properties`,conf:`ini`,env:`bash`,md:`markdown`,markdown:`markdown`,mdx:`markdown`,sh:`bash`,bash:`bash`,zsh:`bash`,fish:`bash`,bat:`batch`,cmd:`batch`,ps1:`powershell`,ps:`powershell`,c:`c`,h:`c`,cpp:`cpp`,cc:`cpp`,cxx:`cpp`,hpp:`cpp`,hh:`cpp`,cs:`csharp`,java:`java`,kt:`kotlin`,kts:`kotlin`,scala:`scala`,rs:`rust`,go:`go`,rb:`ruby`,php:`php`,swift:`swift`,m:`objectivec`,mm:`objectivec`,hs:`haskell`,ex:`elixir`,exs:`elixir`,erl:`erlang`,fs:`fsharp`,fsx:`fsharp`,ml:`ocaml`,mli:`ocaml`,clj:`clojure`,cljs:`clojure`,cljc:`clojure`,lua:`lua`,pl:`perl`,pm:`perl`,r:`r`,jl:`julia`,dart:`dart`,groovy:`groovy`,gradle:`groovy`,tf:`hcl`,hcl:`hcl`,dockerfile:`docker`,sql:`sql`,graphql:`graphql`,gql:`graphql`,proto:`protobuf`,diff:`diff`,patch:`diff`,nix:`nix`,sol:`solidity`},Le={dockerfile:`docker`,makefile:`makefile`,gnumakefile:`makefile`,".bashrc":`bash`,".zshrc":`bash`,".profile":`bash`,".env":`bash`,".gitignore":`bash`,".dockerignore":`bash`};function Re(e){let t=Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`)),n=e.slice(t+1),r=n.lastIndexOf(`.`);return r<=0?``:n.slice(r+1).toLowerCase()}function ze(e){let t=Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`));return e.slice(t+1).toLowerCase()}function Be(e,t){let n=Le[ze(e)];if(n)return n;let r=Re(e);if(r&&$[r])return $[r];if(t){if(t===`text/html`)return`markup`;if(t===`text/css`)return`css`;if(t===`application/json`)return`json`;if(t===`text/markdown`)return`markdown`;if(t===`application/javascript`||t===`text/javascript`)return`javascript`;if(t===`application/x-yaml`||t===`text/yaml`)return`yaml`}return null}function Ve({path:e,text:t,mimeType:n}){let r=Be(e,n);return r?(0,X.jsx)(`div`,{"data-testid":`file-content-viewer-highlighted`,"data-language":r,className:`h-full w-full overflow-auto bg-[var(--oh-surface)] custom-scrollbar-always`,children:(0,X.jsx)(ne,{language:r,style:re,showLineNumbers:!0,wrapLongLines:!1,customStyle:{margin:0,padding:`1rem`,background:`transparent`,fontSize:`0.75rem`,lineHeight:`1.25rem`,minHeight:`100%`},codeTagProps:{style:{background:`transparent`,fontFamily:`inherit`}},lineNumberStyle:{color:`var(--oh-border)`,minWidth:`2.5em`,paddingRight:`1em`,userSelect:`none`},children:t})}):(0,X.jsx)(`pre`,{"data-testid":`file-content-viewer-plain`,className:`h-full w-full overflow-auto whitespace-pre-wrap break-words bg-[var(--oh-surface)] p-4 text-xs leading-5 text-white custom-scrollbar-always`,children:t})}var He=new Set([`html`,`htm`,`svg`]),Ue=new Set([`md`,`markdown`,`mdx`]);function We(e){let t=e.lastIndexOf(`.`);return t===-1?``:e.slice(t+1).toLowerCase()}function Ge({path:e,viewMode:t}){let{t:n}=o(`openhands`),r=H(e),a=L(e=>e.count);if(r.isLoading)return(0,X.jsx)(`div`,{className:`flex h-full w-full items-center justify-center text-sm text-[var(--oh-muted)]`,children:n(i.FILES$LOADING_FILES)});if(r.isError||!r.data)return(0,X.jsx)(`div`,{className:`flex h-full w-full items-center justify-center text-sm text-[var(--oh-muted)]`,"data-testid":`file-content-viewer-error`,children:r.error?.message??n(i.FILES$LOAD_ERROR)});let{kind:s,text:c,staticUrl:l,mimeType:u}=r.data,d=R(l,a);return t===`plain`?s===`text`&&c!==null?(0,X.jsx)(Ve,{path:e,text:c,mimeType:u??void 0}):(0,X.jsx)(`div`,{className:`flex h-full w-full items-center justify-center text-sm text-[var(--oh-muted)]`,"data-testid":`file-content-viewer-binary-fallback`,children:n(i.FILES$BINARY_FALLBACK)}):s===`image`?(0,X.jsx)(`div`,{className:`flex h-full w-full items-center justify-center bg-[var(--oh-surface)] p-4`,"data-testid":`file-content-viewer-image`,children:(0,X.jsx)(`img`,{src:d,alt:e,className:`max-h-full max-w-full object-contain`})}):s===`pdf`?(0,X.jsx)(`iframe`,{title:e,src:d,sandbox:`allow-same-origin`,"data-testid":`file-content-viewer-iframe`,className:`h-full w-full bg-white`}):s===`binary`?(0,X.jsx)(`div`,{className:`flex h-full w-full items-center justify-center text-sm text-[var(--oh-muted)]`,"data-testid":`file-content-viewer-binary-fallback`,children:n(i.FILES$BINARY_FALLBACK)}):u===`text/html`||He.has(We(e))?(0,X.jsx)(`iframe`,{title:e,src:d,sandbox:`allow-same-origin`,"data-testid":`file-content-viewer-iframe`,className:`h-full w-full bg-white`}):s===`text`&&Ue.has(We(e))?(0,X.jsx)(`div`,{"data-testid":`file-content-viewer-markdown`,className:`h-full w-full overflow-auto bg-[var(--oh-surface)] text-white custom-scrollbar-always`,children:(0,X.jsx)(`div`,{className:`prose prose-sm prose-invert max-w-none p-6 [--tw-prose-body:#fff] [--tw-prose-bold:#fff] [--tw-prose-headings:#fff] [--tw-prose-lead:#fff] [--tw-prose-counters:#fff] [--tw-prose-quotes:#fff] [--tw-prose-quote-borders:var(--oh-border-subtle)] [--tw-prose-bullets:var(--oh-muted)] [--tw-prose-hr:var(--oh-border-subtle)] [--tw-prose-captions:var(--oh-muted)] [--tw-prose-kbd:#fff]`,children:(0,X.jsx)(M,{content:c??``,includeStandard:!0,includeHeadings:!0})})}):s===`text`&&c!==null?(0,X.jsx)(Ve,{path:e,text:c,mimeType:u??void 0}):(0,X.jsx)(`div`,{className:`flex h-full w-full items-center justify-center text-sm text-[var(--oh-muted)]`,"data-testid":`file-content-viewer-binary-fallback`,children:n(i.FILES$BINARY_FALLBACK)})}function Ke({value:e,options:t,onChange:n,ariaLabel:r,testId:i}){return(0,X.jsx)(`div`,{role:`radiogroup`,"aria-label":r,"data-testid":i,className:`inline-flex items-center rounded-md bg-[var(--oh-surface-raised)] p-0.5 text-xs`,children:t.map(t=>{let r=t.value===e;return(0,X.jsx)(`button`,{type:`button`,role:`radio`,"aria-checked":r,"data-testid":i?`${i}-option-${t.value}`:void 0,onClick:()=>n(t.value),className:c(`px-2 py-0.5 rounded cursor-pointer transition-colors`,r?`bg-[var(--oh-interactive-hover)] text-white`:`text-[var(--oh-muted)] hover:text-white`),children:t.label},t.value)})})}var qe=e=>(0,X.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 13 15`,fill:`none`,...e,children:(0,X.jsx)(`path`,{d:`M6.59467 0.21967C6.88756 -0.0732233 7.36244 -0.0732233 7.65533 0.21967L9.90533 2.46967C10.1982 2.76256 10.1982 3.23744 9.90533 3.53033L7.65533 5.78033C7.36244 6.07322 6.88756 6.07322 6.59467 5.78033C6.30178 5.48744 6.30178 5.01256 6.59467 4.71967L7.56434 3.75H6.375C3.71421 3.75 1.5 5.96421 1.5 8.625C1.5 11.2858 3.71421 13.5 6.375 13.5C9.03579 13.5 11.25 11.2858 11.25 8.625C11.25 8.21079 11.5858 7.875 12 7.875C12.4142 7.875 12.75 8.21079 12.75 8.625C12.75 12.1142 9.86421 15 6.375 15C2.88579 15 0 12.1142 0 8.625C0 5.13579 2.88579 2.25 6.375 2.25H7.56434L6.59467 1.28033C6.30178 0.987437 6.30178 0.512563 6.59467 0.21967Z`,fill:`currentColor`})}),Je=e=>{switch(e.split(`.`).pop()?.toLowerCase()){case`js`:case`jsx`:return`javascript`;case`ts`:case`tsx`:return`typescript`;case`py`:return`python`;case`html`:return`html`;case`css`:return`css`;case`json`:return`json`;case`md`:return`markdown`;case`yml`:case`yaml`:return`yaml`;case`sh`:case`bash`:return`bash`;case`dockerfile`:return`dockerfile`;case`rs`:return`rust`;case`go`:return`go`;case`java`:return`java`;case`cpp`:case`cc`:case`cxx`:return`cpp`;case`c`:return`c`;case`rb`:return`ruby`;case`php`:return`php`;case`sql`:return`sql`;default:return`text`}},Ye=e=>(0,X.jsx)(`svg`,{width:13,height:8,viewBox:`0 0 13 8`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,X.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M0.259766 6.17427L6.26425 0.715628L12.2688 6.17427L11.2597 7.28418L6.26425 2.74282L1.26878 7.28418L0.259766 6.17427Z`,fill:`currentColor`})}),Xe=e=>{let{conversationId:t}=T(),{data:r}=D(),i=r?.conversation_url,a=r?.session_api_key,o=r?.selected_repository,s=r?.workspace?.working_dir?.trim(),c=P.useMemo(()=>`${G(o,s)}/${e.filePath}`,[o,e.filePath,s]),l=e.type===`D`;return n({queryKey:[`file_diff`,t,i,a,c],queryFn:async()=>{if(!t)throw Error(`No conversation ID`);return W.getGitChangeDiff(i,a,c)},enabled:e.enabled&&!l,staleTime:1e3*60*5,gcTime:1e3*60*15})};function Ze({className:e}){return(0,X.jsx)(`div`,{className:`flex items-center justify-center`,children:(0,X.jsx)(`div`,{className:c(`animate-spin rounded-full border-4 border-[var(--oh-border)] border-t-white`,e),role:`status`,"aria-label":`Loading`})})}function Qe({height:e,children:t}){return(0,X.jsx)(`div`,{"data-testid":`editor-container`,className:`w-full border-b border-[var(--oh-border)] overflow-hidden h-[var(--editor-height)]`,style:{"--editor-height":`${e}px`},children:t})}var $e=[{mode:`old`,icon:le},{mode:`diff`,icon:ae},{mode:`new`,icon:fe}],et={renderValidationDecorations:`off`,readOnly:!0,scrollBeyondLastLine:!1,minimap:{enabled:!1},automaticLayout:!0,scrollbar:{alwaysConsumeMouseWheel:!1}},tt={A:se,D:ue,M:ce,R:`Renamed`,U:`Untracked`},nt=e=>{e.editor.defineTheme(`custom-diff-theme`,{base:`vs-dark`,inherit:!0,rules:[{token:`comment`,foreground:`6a9955`},{token:`keyword`,foreground:`569cd6`},{token:`string`,foreground:`ce9178`},{token:`number`,foreground:`b5cea8`}],colors:{"diffEditor.insertedTextBackground":`#014b01AA`,"diffEditor.removedTextBackground":`#750000AA`,"diffEditor.insertedLineBackground":`#003f00AA`,"diffEditor.removedLineBackground":`#5a0000AA`,"diffEditor.border":`var(--oh-border-subtle)`,"editorUnnecessaryCode.border":`#00000000`,"editorUnnecessaryCode.opacity":`rgba(0, 0, 0, 0.467)`}})};function rt({path:e,type:t}){let{t:n}=o(`openhands`),[r,a]=P.useState(!0),[s,l]=P.useState(400),[u,d]=P.useState(`diff`),f=P.useRef(null),p=P.useRef(null),m=t===`A`||t===`U`,h=t===`D`,g=P.useMemo(()=>{if(t===`R`){let t=e.split(/\s+/).slice(1);return t[t.length-1]}return e},[e,t]),{data:_,isLoading:v,isSuccess:y,isRefetching:b}=Xe({filePath:g,type:t,enabled:!r}),x=P.useCallback(()=>{if(!f.current)return;let e=f.current.getOriginalEditor(),t=f.current.getModifiedEditor();e&&t&&l(Math.max(e.getContentHeight(),t.getContentHeight())+20)},[]),S=P.useCallback(()=>{p.current&&l(p.current.getContentHeight()+20)},[]),C=e=>{f.current=e,x(),e.getOriginalEditor().onDidContentSizeChange(x),e.getModifiedEditor().onDidContentSizeChange(x)},w=e=>{p.current=e,S(),e.onDidContentSizeChange(S)},T=(t===`U`?tt.A:tt[t])||`?`,E=typeof T==`string`?(0,X.jsx)(te.Text,{children:T}):P.createElement(T,{className:`w-5 h-5`}),D=v||b,O=Je(g),k=O===`markdown`,A=u===`old`?_?.original??``:_?.modified??``;return(0,X.jsxs)(`div`,{"data-testid":`file-diff-viewer-outer`,className:`w-full flex flex-col`,children:[(0,X.jsx)(`div`,{className:`flex justify-between items-center px-3 py-2.5 border-b border-[var(--oh-border)] hover:cursor-pointer`,onClick:()=>a(e=>!e),children:(0,X.jsxs)(`span`,{className:`text-sm w-full text-content flex items-center gap-2`,children:[D?(0,X.jsx)(Ze,{className:`w-4 h-4`}):E,(0,X.jsx)(`strong`,{className:`w-full truncate font-medium`,children:g}),!r&&!h&&(0,X.jsx)(`span`,{className:`flex items-center gap-0.5 shrink-0`,onClick:e=>e.stopPropagation(),children:$e.map(({mode:e,icon:t})=>(0,X.jsx)(`button`,{"data-testid":`view-mode-${e}`,type:`button`,"aria-pressed":u===e,onClick:()=>d(e),className:c(`p-1 rounded transition-colors cursor-pointer`,u===e?`bg-[var(--oh-interactive-hover)] text-white`:`text-[var(--oh-muted)] hover:bg-[var(--oh-interactive-hover)] hover:text-white`),children:(0,X.jsx)(t,{className:`w-4 h-4`})},e))}),(0,X.jsx)(`button`,{"data-testid":`collapse`,type:`button`,children:(0,X.jsx)(Ye,{className:c(`w-4 h-4 transition-transform`,r&&`transform rotate-180`)})})]})}),!r&&h&&(0,X.jsx)(`div`,{"data-testid":`file-deleted-message`,className:`w-full border-b border-[var(--oh-border)] p-4 bg-base text-[var(--oh-text-dim)] text-sm`,children:n(i.DIFF_VIEWER$FILE_DELETED)}),!r&&!h&&y&&(u===`diff`?(0,X.jsx)(Qe,{height:s,children:(0,X.jsx)(oe,{"data-testid":`file-diff-viewer`,className:`w-full h-full`,language:O,original:m?``:_?.original??``,modified:h?``:_?.modified??``,theme:`custom-diff-theme`,onMount:C,beforeMount:nt,options:{...et,renderSideBySide:!m&&!h,hideUnchangedRegions:{enabled:!0}}})}):k?(0,X.jsx)(`div`,{className:`w-full border-b border-[var(--oh-border)] overflow-auto p-4 bg-base prose prose-invert max-w-none`,"data-testid":`markdown-preview`,children:(0,X.jsx)(M,{content:A,includeStandard:!0,includeHeadings:!0})}):(0,X.jsx)(Qe,{height:s,children:(0,X.jsx)(de,{"data-testid":`file-single-viewer`,className:`w-full h-full`,language:O,value:A,theme:`custom-diff-theme`,beforeMount:nt,onMount:w,options:et})}))]})}function it(){let{t:e}=o(`openhands`);return(0,X.jsx)(ie,{icon:(0,X.jsx)(x,{}),children:e(i.DIFF_VIEWER$NO_CHANGES)})}var at=[{key:i.TIPS$CUSTOMIZE_MICROAGENT,link:`https://docs.all-hands.dev/usage/prompting/microagents-repo`},{key:i.TIPS$SETUP_SCRIPT,link:`https://docs.all-hands.dev/usage/prompting/repository#setup-script`},{key:i.TIPS$VSCODE_INSTANCE},{key:i.TIPS$SAVE_WORK},{key:i.TIPS$SPECIFY_FILES,link:`https://docs.all-hands.dev/usage/prompting/prompting-best-practices`},{key:i.TIPS$HEADLESS_MODE,link:`https://docs.all-hands.dev/usage/how-to/headless-mode`},{key:i.TIPS$CLI_MODE,link:`https://docs.all-hands.dev/usage/how-to/cli-mode`},{key:i.TIPS$GITHUB_HOOK,link:`https://docs.all-hands.dev/usage/cloud/github-installation#working-on-github-issues-and-pull-requests-using-openhands`},{key:i.TIPS$BLOG_SIGNUP,link:`https://www.all-hands.dev/blog`},{key:i.TIPS$API_USAGE,link:`https://docs.all-hands.dev/api-reference/health-check`}];function ot(){return at[Math.floor(Math.random()*at.length)]}function st(){let{t:e}=o(`openhands`),[t,n]=P.useState(ot());return P.useEffect(()=>{n(ot())},[]),(0,X.jsxs)(`div`,{children:[(0,X.jsxs)(`h4`,{className:`font-bold`,children:[e(i.TIPS$PROTIP),`:`]}),(0,X.jsxs)(`p`,{children:[e(t.key),t.link&&(0,X.jsxs)(X.Fragment,{children:[` `,(0,X.jsx)(`a`,{href:t.link,target:`_blank`,rel:`noopener noreferrer`,className:`underline`,children:e(i.TIPS$LEARN_MORE)})]})]})]})}var ct=/not a git repository/i;function lt({children:e}){return(0,X.jsx)(`div`,{className:`w-full h-full flex flex-col items-center text-center justify-center text-2xl text-tertiary-light`,children:e})}function ut(){let{t:e}=o(`openhands`),{data:t,isSuccess:n,isError:r,error:a,isLoading:c}=K(),[u,d]=P.useState(null),{curAgentState:f}=A(),p=!l.includes(f),m=a&&ct.test(s(a));return P.useEffect(()=>{if(!p)d([i.DIFF_VIEWER$WAITING_FOR_RUNTIME]);else if(a){let e=s(a);ct.test(e)?d([i.DIFF_VIEWER$NOT_A_GIT_REPO,i.DIFF_VIEWER$ASK_OH]):d([e])}else d(c?[i.DIFF_VIEWER$LOADING]:null)},[p,m,c,a,d]),(0,X.jsx)(`main`,{className:`h-full w-full flex flex-col items-stretch`,children:!n||!t.length?(0,X.jsxs)(`div`,{className:`flex flex-col h-full w-full`,children:[(0,X.jsxs)(`div`,{className:`flex-1 flex items-center justify-center`,children:[u&&(0,X.jsx)(lt,{children:u.map(t=>(0,X.jsx)(`span`,{children:e(t)},t))}),!u&&n&&t.length===0&&(0,X.jsx)(it,{})]}),!r&&n&&t.length===0&&(0,X.jsx)(`div`,{className:`w-full text-m bg-tertiary p-4 text-left`,children:(0,X.jsx)(st,{})})]}):(0,X.jsx)(`div`,{className:`h-full overflow-y-auto flex flex-col items-stretch custom-scrollbar-always`,children:t.slice(0,100).map(e=>(0,X.jsx)(rt,{path:e.path,type:e.status},e.path))})})}function dt(){let{t:e}=o(`openhands`);Oe();let{hasAttachedSource:t,isLoading:n}=Ce(),{hasCommits:r}=we({enabled:t}),{conversationId:s}=E(),{state:c,setFilesTabDiffView:l,setFilesTabContentViewMode:u}=b(s??``),d=(t||n)&&r!==!1,f=c.filesTabDiffView??d,p=c.filesTabContentViewMode,[m,h]=(0,P.useState)(!1),g=ge(),_=(0,P.useMemo)(()=>g.data??[],[g.data]),v=j(e=>e.selectedPath),y=j(e=>e.setSelectedPath),x=H(v),S=L(e=>e.count),C=R(x.data?.staticUrl??null,S);(0,P.useEffect)(()=>{if(v||_.length===0)return;let[e]=Y(_);e&&y(e)},[_,v]);let w=a(),{refetch:T,isFetching:D}=K();return(0,X.jsxs)(`main`,{className:`h-full w-full flex flex-col items-stretch`,"data-testid":`files-tab`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-3 px-3 py-1.5 border-b border-[var(--oh-border)]`,children:[(0,X.jsx)(Ke,{ariaLabel:e(i.FILES$DIFF_VIEW),testId:`files-tab-diff-toggle`,value:f?`on`:`off`,options:[{value:`on`,label:e(i.FILES$DIFF_VIEW)},{value:`off`,label:e(i.COMMON$FILES)}],onChange:e=>l(e===`on`)}),!f&&(0,X.jsx)(Ke,{ariaLabel:e(i.FILES$RICH),testId:`files-tab-content-mode-toggle`,value:p,options:[{value:`rich`,label:e(i.FILES$RICH)},{value:`plain`,label:e(i.FILES$PLAIN)}],onChange:u}),(0,X.jsxs)(`div`,{className:`ml-auto flex items-center gap-1`,children:[!f&&C&&(0,X.jsx)(`a`,{href:C,target:`_blank`,rel:`noopener noreferrer`,"aria-label":e(i.FILES$OPEN_IN_NEW_WINDOW),title:e(i.FILES$OPEN_IN_NEW_WINDOW),"data-testid":`files-tab-open-in-new-window`,className:`flex items-center justify-center w-[26px] py-1 rounded-[7px] hover:bg-[var(--oh-interactive-hover)] cursor-pointer text-white`,children:(0,X.jsx)(k,{width:14,height:14})}),(0,X.jsx)(`button`,{type:`button`,onClick:()=>{T(),w.invalidateQueries({queryKey:[`workspace-files`]}),w.invalidateQueries({queryKey:[`workspace-file-content`]})},disabled:D,"aria-label":e(i.FILES$REFRESH),title:e(i.FILES$REFRESH),"data-testid":`files-tab-refresh`,className:`flex items-center justify-center w-[26px] py-1 rounded-[7px] hover:enabled:bg-[var(--oh-interactive-hover)] cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed`,children:(0,X.jsx)(qe,{width:12.75,height:15,color:`#ffffff`,className:D?`animate-spin`:``})})]})]}),f?(0,X.jsx)(`div`,{className:`flex-1 min-h-0`,children:(0,X.jsx)(ut,{})}):(0,X.jsx)(`div`,{className:`flex flex-1 flex-col min-h-0`,children:g.isLoading?(0,X.jsx)(`div`,{className:`flex flex-1 items-center justify-center text-sm text-[var(--oh-muted)]`,children:e(i.FILES$LOADING_FILES)}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(Ne,{paths:_,selectedPath:v,onSelectFile:y,isTreeVisible:m,onToggleTree:()=>h(e=>!e)}),(0,X.jsxs)(`div`,{className:`flex flex-1 min-h-0`,children:[m&&(0,X.jsx)(`aside`,{className:`w-56 shrink-0 border-r border-[var(--oh-border)] overflow-y-auto custom-scrollbar-always`,"data-testid":`files-tab-tree`,children:(0,X.jsx)(Ie,{paths:_,selectedPath:v,onSelectFile:y})}),(0,X.jsx)(`section`,{className:`flex-1 min-w-0 min-h-0`,"data-testid":`files-tab-content`,children:v?(0,X.jsx)(Ge,{path:v,viewMode:p}):(0,X.jsx)(`div`,{className:`flex h-full w-full items-center justify-center text-sm text-[var(--oh-muted)]`,children:e(i.FILES$NO_FILE_SELECTED)})})]})]})})]})}export{dt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime-BFRubm34.js";import{t as e}from"./react-CM_dJw1Z.js";import{o as t}from"./declaration-
|
|
1
|
+
import"./rolldown-runtime-BFRubm34.js";import{t as e}from"./react-CM_dJw1Z.js";import{o as t}from"./declaration-BNMqORFE.js";e();var n=t(),r=e=>(0,n.jsxs)(`svg`,{width:28,height:28,viewBox:`0 0 28 28`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,n.jsxs)(`g`,{clipPath:`url(#clip0_8760_4530)`,children:[(0,n.jsx)(`path`,{d:`M2.33496 6.99504C2.33496 5.70504 3.37496 4.66504 4.66496 4.66504H10.495C10.805 4.66504 11.105 4.78504 11.315 5.00504L13.305 6.99504H23.325C24.615 6.99504 25.655 8.03504 25.655 9.32504V20.995C25.655 22.285 24.615 23.325 23.325 23.325H4.66496C3.37496 23.325 2.33496 22.285 2.33496 20.995V6.99504ZM10.015 6.99504H4.66496V20.995H23.335V9.33504H12.835C12.525 9.33504 12.225 9.21504 12.015 8.99504L10.025 7.00504L10.015 6.99504Z`,fill:`currentColor`}),(0,n.jsx)(`path`,{d:`M8.40279 11.4871C8.28576 11.4871 8.16873 11.4403 8.0829 11.3545L6.67853 9.95013C6.49908 9.77068 6.49908 9.482 6.67853 9.30255C6.85798 9.12311 7.14666 9.12311 7.3261 9.30255L8.73048 10.7069C8.90992 10.8864 8.90992 11.1751 8.73048 11.3545C8.64465 11.4403 8.52762 11.4871 8.41059 11.4871H8.40279Z`,fill:`currentColor`}),(0,n.jsx)(`path`,{d:`M9.48901 12.5635H8.57617V16.7532H9.48901V12.5635Z`,fill:`currentColor`}),(0,n.jsx)(`path`,{d:`M9.03627 13.0159C8.28727 13.0159 7.67871 12.4073 7.67871 11.6583C7.67871 10.9093 8.28727 10.3008 9.03627 10.3008C9.78527 10.3008 10.3938 10.9093 10.3938 11.6583C10.3938 12.4073 9.78527 13.0159 9.03627 13.0159ZM9.03627 11.2214C8.79441 11.2214 8.59936 11.4165 8.59936 11.6583C8.59936 11.9002 8.79441 12.0953 9.03627 12.0953C9.27814 12.0953 9.47319 11.9002 9.47319 11.6583C9.47319 11.4165 9.27814 11.2214 9.03627 11.2214Z`,fill:`currentColor`}),(0,n.jsx)(`path`,{d:`M12.0324 16.012C11.2834 16.012 10.6748 15.4034 10.6748 14.6544C10.6748 13.9054 11.2834 13.2969 12.0324 13.2969C12.7814 13.2969 13.3899 13.9054 13.3899 14.6544C13.3899 15.4034 12.7814 16.012 12.0324 16.012ZM12.0324 14.2175C11.7905 14.2175 11.5954 14.4126 11.5954 14.6544C11.5954 14.8963 11.7905 15.0914 12.0324 15.0914C12.2742 15.0914 12.4693 14.8963 12.4693 14.6544C12.4693 14.4126 12.2742 14.2175 12.0324 14.2175Z`,fill:`currentColor`}),(0,n.jsx)(`path`,{d:`M9.03627 19.0003C8.28727 19.0003 7.67871 18.3917 7.67871 17.6427C7.67871 16.8937 8.28727 16.2852 9.03627 16.2852C9.78527 16.2852 10.3938 16.8937 10.3938 17.6427C10.3938 18.3917 9.78527 19.0003 9.03627 19.0003ZM9.03627 17.2058C8.79441 17.2058 8.59936 17.4009 8.59936 17.6427C8.59936 17.8846 8.79441 18.0796 9.03627 18.0796C9.27814 18.0796 9.47319 17.8846 9.47319 17.6427C9.47319 17.4009 9.27814 17.2058 9.03627 17.2058Z`,fill:`currentColor`}),(0,n.jsx)(`path`,{d:`M9.9902 11.9805L9.34473 12.626L11.066 14.3472L11.7115 13.7018L9.9902 11.9805Z`,fill:`currentColor`})]}),(0,n.jsx)(`defs`,{children:(0,n.jsx)(`clipPath`,{id:`clip0_8760_4530`,children:(0,n.jsx)(`rect`,{width:23.33,height:18.67,fill:`white`,transform:`translate(2.33496 4.66504)`})})})]});export{r as t};
|