@openhands/agent-canvas 1.0.0-alpha.9 → 1.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +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-9fee01b9.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-BXWU99D-.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 +0,0 @@
|
|
|
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~kyz9p27j-CyUbhpbm.js";import{o as r,t as i}from"./declaration-D378OjpZ.js";import{n as a}from"./QueryClientProvider-B7kl84Kj.js";import{t as o}from"./useTranslation-CpIcQBq6.js";import{t as s}from"./retrieve-axios-error-message-BY-yIkIq.js";import{t as c,v as l}from"./utils-D-HX7JCe.js";import{c as u,i as d,t as f,v as p}from"./agent-server-client-options-DT2GP6VJ.js";import{n as m}from"./active-backend-context-TVbjnvmP.js";import{r as h,u as g}from"./vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~dp08i1qy-CHrEOFl6.js";import{a as _}from"./agent-server-conversation-service.api-BZmUqtiO.js";import{t as v}from"./proxy-CurRmrqf.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-BP1SKG0F.js";import{t as S}from"./folder-0WSMImNX.js";import{t as C}from"./chevron-left-small-CSh-sE9L.js";import{t as w}from"./git-status-mapper-BI8FyUVp.js";import{n as T,t as E}from"./use-conversation-id-DajhCn2A.js";import{t as D}from"./use-active-conversation-DS5j9R4q.js";import{n as O,t as k}from"./link-external-C9d6Fo3x.js";import{t as A}from"./use-agent-state-D2C9SeGw.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-vVUMoNUg.js";import{ot as ne,st as re}from"./vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-Ds9quNZ9.js";import{t as M}from"./markdown-renderer-CEX4Becj.js";import{t as N}from"./use-runtime-is-ready-pGSbPddC.js";import{t as ie}from"./conversation-tab-empty-state-D8dNvo-V.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-DtLR-QD9.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}=E(),{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}=E(),{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}=T(),{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:E,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:()=>{E(),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 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{L as n}from"./vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js";import{o as r,t as i}from"./declaration-D378OjpZ.js";import{t as a}from"./use-is-creating-conversation-DhDeeWfA.js";import{t as o}from"./useTranslation-CpIcQBq6.js";import{t as s}from"./retrieve-axios-error-message-BY-yIkIq.js";import{t as c}from"./createLucideIcon-Ddu8jDOQ.js";import{s as l}from"./vendor~home~conversation-panel~conversation-PK1-gtXU.js";import{n as u}from"./git-branch-DQS2nMK4.js";import{t as d}from"./check-CYxAHs85.js";import{a as f,n as p,r as m,t as h}from"./custom-toast-handlers-BOc3qeQ7.js";import{d as g,m as _}from"./conversation-websocket-context-BW68-J8o.js";import{a as v,i as y,r as b,t as x}from"./llm-settings-BdiaGFbg.js";import{t as S}from"./utils-D-HX7JCe.js";import{n as C,r as w}from"./active-backend-context-TVbjnvmP.js";import{t as T}from"./modal-backdrop-DTYGVmOR.js";import{n as E,r as D,t as O}from"./modal-body-YElmM1dV.js";import{r as k}from"./base-modal-CQRvRHu1.js";import{d as A,l as j,n as M,r as N,t as P}from"./brand-button-C2nEKopC.js";import{n as F}from"./navigation-context-DeIPtGPp.js";import{t as I}from"./vendor~root-layout~home~conversation-panel~conversation-DjAjXS5J.js";import{t as L}from"./styled-tooltip-CS3mB_1X.js";import{c as ee,d as R,n as te,s as z}from"./git-provider-icon-D-a-rcLm.js";import{i as ne,t as re}from"./backend-form-modal-DxYjqqAK.js";import{t as ie}from"./conversation-store-Z5iMCRpc.js";import{t as B}from"./modal-close-button-C_GpQt9F.js";import{i as ae,n as V}from"./acp-providers-DauuOsW9.js";import{t as H}from"./use-create-conversation-BEZg__Vv.js";import{a as U,c as oe,i as se,l as ce,n as le,o as ue,r as W,s as de,t as fe,u as G}from"./manage-workspaces-modal-C5EuW8m1.js";import{t as pe}from"./folder-0WSMImNX.js";import{t as me}from"./use-save-settings-CEEKSTWG.js";import{A as he,F as ge,I as _e,M as ve,N as ye,a as be,c as xe,d as Se,f as Ce,i as we,l as Te,n as Ee,o as De,p as Oe,r as ke,s as Ae,t as je,u as Me}from"./git-control-bar-branch-button-C8u5rzjc.js";import{r as Ne}from"./typography-vVUMoNUg.js";import{t as Pe}from"./recommended-automations-launcher-mJhK6Atl.js";var Fe=c(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),Ie=c(`send`,[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]),K=e(t(),1);async function q(e){let{imagesToEmbed:t}=_e(e.images,e.imagesMarkedUploadAsFile),n=await Promise.all(t.map(e=>ve(e)));g.getState().enqueuePendingMessage({conversationId:e.conversationId,text:e.text,content:e.text,imageUrls:n,fileUrls:[]})}var J=r();function Le(){let{t:e}=o(`openhands`);return(0,J.jsx)(`div`,{className:`flex min-h-[80px] w-full items-center justify-center py-2`,children:(0,J.jsx)(Ne.H1,{className:`w-full text-center leading-normal`,children:e(`HOME$LETS_START_BUILDING`)})})}function Re({kind:e,onClick:t,disabled:n=!1,disabledTooltip:r}){let{t:a}=o(`openhands`),s=e===`local`,c=a(s?i.HOME$OPEN_WORKSPACE:i.COMMON$OPEN_REPOSITORY),l=(0,J.jsxs)(`button`,{type:`button`,"data-testid":s?`open-workspace-button`:`open-repository-button`,onClick:t,disabled:n,className:S(`flex flex-row items-center gap-2 rounded-full px-2.5 py-1 text-white`,M,j,A,n?`cursor-not-allowed opacity-50`:`cursor-pointer hover:bg-surface-raised`),children:[(0,J.jsx)(`span`,{className:`flex h-4 w-4 shrink-0 items-center justify-center`,children:s?(0,J.jsx)(u,{"aria-hidden":!0,className:`h-4 w-4`,strokeWidth:2}):(0,J.jsx)(R,{width:16,height:16,className:`shrink-0`})}),(0,J.jsx)(`span`,{className:`text-sm font-normal leading-5`,children:c})]});return r?(0,J.jsx)(L,{content:r,placement:`top`,children:(0,J.jsx)(`span`,{className:`inline-flex`,children:l})}):l}function ze({workspaces:e,value:t,placeholder:n,className:r,disabled:a=!1,disabledTooltip:s,showManage:c,onChange:l,onAddClick:u,onManageClick:d}){let{t:f}=o(`openhands`),[p,m]=(0,K.useState)(t?.name??``),h=(0,K.useRef)(null),g=(0,K.useMemo)(()=>{let t=p.trim().toLowerCase();return t?e.filter(e=>e.name.toLowerCase().includes(t)||e.path.toLowerCase().includes(t)):e},[e,p]),_=(0,K.useCallback)(e=>{l(e),e&&m(e.name)},[l]),v=(0,K.useCallback)(()=>{_(null),m(``)},[_]),{isOpen:y,getToggleButtonProps:b,getMenuProps:x,getInputProps:C,highlightedIndex:w,getItemProps:T,selectedItem:E,closeMenu:D}=I({items:g,itemToString:e=>e?.name??``,selectedItem:t,onSelectedItemChange:({selectedItem:e})=>{_(e??null)},inputValue:p,stateReducer:(e,t)=>t.type===I.stateChangeTypes.InputClick&&e.isOpen?{...t.changes,isOpen:!0}:t.changes}),O=(e,t,n,r,i)=>(0,J.jsx)(xe,{item:e,index:t,isSelected:r?.id===e.id,getItemProps:i,getDisplayText:e=>e.name,getItemKey:e=>e.id},e.id),k=e=>(0,J.jsx)(Ae,{inputValue:e,searchMessage:f(i.HOME$NO_WORKSPACES),emptyMessage:f(i.HOME$NO_WORKSPACES),testId:`workspace-dropdown-empty`}),A=(0,K.useMemo)(()=>(0,J.jsxs)(`div`,{className:`flex flex-col`,children:[(0,J.jsx)(`button`,{type:`button`,"data-testid":`add-workspaces-button`,className:`flex items-center w-full px-2 py-2 text-sm text-white hover:bg-[var(--oh-interactive-hover)] rounded-md transition-colors duration-150 font-normal`,onMouseDown:e=>{e.preventDefault(),e.stopPropagation()},onClick:e=>{e.preventDefault(),e.stopPropagation(),D(),u()},children:f(i.HOME$ADD_WORKSPACES)}),(c??e.length>0)&&(0,J.jsx)(`button`,{type:`button`,"data-testid":`manage-workspaces-button`,className:`flex items-center w-full px-2 py-2 text-sm text-white hover:bg-[var(--oh-interactive-hover)] rounded-md transition-colors duration-150 font-normal`,onMouseDown:e=>{e.preventDefault(),e.stopPropagation()},onClick:e=>{e.preventDefault(),e.stopPropagation(),D(),d()},children:f(i.HOME$MANAGE_WORKSPACES)})]}),[u,d,f,D,e.length,c]),j=(0,J.jsxs)(`div`,{className:S(`relative`,r),children:[(0,J.jsxs)(`div`,{className:`group relative text-[var(--oh-muted)] hover:text-white`,children:[(0,J.jsx)(`div`,{className:`absolute left-2 top-1/2 transform -translate-y-1/2 z-10`,children:(0,J.jsx)(ee,{width:16,height:16})}),(0,J.jsx)(`input`,{...C({disabled:a,placeholder:n??f(i.HOME$WORKSPACE_PLACEHOLDER),className:S(N,`text-inherit shadow-none pl-7 pr-16 text-sm font-normal leading-5`,`placeholder:text-[var(--oh-muted)]`,`disabled:cursor-not-allowed disabled:opacity-60`),onChange:e=>{m(e.target.value)}}),"data-testid":`workspace-dropdown`}),(0,J.jsxs)(`div`,{className:`absolute right-1 top-1/2 transform -translate-y-1/2 flex items-center`,children:[t&&(0,J.jsx)(Me,{disabled:a,onClear:v}),(0,J.jsx)(Te,{isOpen:y,disabled:a,getToggleButtonProps:b})]})]}),(0,J.jsx)(De,{isOpen:y,filteredItems:g,inputValue:p,highlightedIndex:w,selectedItem:E,getMenuProps:x,getItemProps:T,menuRef:h,renderItem:O,renderEmptyState:k,stickyFooterItem:A,testId:`workspace-dropdown-menu`,itemKey:e=>e.id})]});return s?(0,J.jsx)(L,{content:s,placement:`top`,children:(0,J.jsx)(`span`,{className:`block`,children:j})}):j}function Be({isLoadingSettings:e=!1,onConfirm:t}){let{t:n}=o(`openhands`),{navigate:r}=F(),{data:s,error:c}=U(),l=s?.workspaceParents??[],{mutate:u}=de(),{mutate:d}=oe(),{mutate:f}=ue(),{mutate:p}=ce(),{workspaces:m,isLoading:h,isError:g,error:_}=se(),v=W(c??_,n),[y,b]=K.useState(null),[x,S]=K.useState(!1),[C,w]=K.useState(!1),{mutate:T,isPending:E,isSuccess:D}=H(),O=a(),k=E||D||O,A=l.length>0||!!v,j=null;v?j=v:h?j=n(i.HOME$LOADING):g&&(j=n(i.HOME$WORKSPACE_SCAN_ERROR));let M=!!v||e||h&&m.length===0;return(0,J.jsxs)(`div`,{className:`flex flex-col`,children:[!t&&(0,J.jsxs)(`div`,{className:`flex items-center gap-[10px] pb-4`,children:[(0,J.jsx)(pe,{width:24,height:24}),(0,J.jsx)(`span`,{className:`leading-5 font-bold text-base text-white`,children:n(i.HOME$WORKSPACES_TAB)})]}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-[10px] pb-4`,children:[(0,J.jsx)(ze,{workspaces:m,value:y,placeholder:v?n(i.HOME$WORKSPACES_UNSUPPORTED_PLACEHOLDER):M?n(i.HOME$LOADING):void 0,disabled:M,disabledTooltip:v,showManage:m.length>0||l.length>0,onChange:b,onAddClick:()=>S(!0),onManageClick:()=>w(!0),className:`max-w-auto`}),A&&j&&(0,J.jsx)(`p`,{className:`px-1 text-xs text-[var(--oh-text-secondary)]`,"data-testid":`workspace-status-message`,children:j})]}),(0,J.jsx)(P,{testId:`workspace-launch-button`,variant:`primary`,type:`button`,isDisabled:!y||!t&&k||e,onClick:()=>{if(y){if(t){t(y);return}T({workingDir:y.path},{onSuccess:e=>r(`/conversations/${e.conversation_id}`)})}},className:t?`w-full`:`w-auto absolute bottom-5 left-5 right-5`,children:t?n(i.BUTTON$CONFIRM):k?n(i.HOME$LOADING):`Launch`}),(0,J.jsx)(le,{isOpen:x,onClose:()=>S(!1),onAdd:e=>u(e),onAddParent:e=>f(e)}),(0,J.jsx)(fe,{isOpen:C,workspaces:m,workspaceParents:l,onClose:()=>w(!1),onRemove:e=>{y?.path===e&&b(null),d(e)},onRemoveParent:e=>{y?.parentPath===e&&b(null),p(e)}})]})}function Ve({isOpen:e,onClose:t,onConfirm:n}){let{t:r}=o(`openhands`),{isLoadingSettings:a}=z();return e?(0,J.jsx)(T,{onClose:t,children:(0,J.jsxs)(E,{width:`sm`,className:`relative items-start border border-[var(--oh-border)] !gap-4`,children:[(0,J.jsx)(B,{onClose:t,testId:`close-open-workspace-dialog`}),(0,J.jsx)(`div`,{className:`w-full pr-6`,children:(0,J.jsx)(k,{title:r(i.HOME$OPEN_WORKSPACE)})}),(0,J.jsx)(`div`,{className:`w-full`,"data-testid":`open-workspace-dialog-body`,children:(0,J.jsx)(Be,{isLoadingSettings:a,onConfirm:e=>{n(e),t()}})})]})}):null}function He({onRepoSelection:e,isLoadingSettings:t=!1,onConfirm:n}){let{navigate:r}=F(),[s,c]=K.useState(null),[l,u]=K.useState(null),[d,f]=K.useState(null),{providers:p}=z(),{addRecentRepository:m,setLastSelectedProvider:h,getLastSelectedProvider:g}=te(),{mutate:_,isPending:v,isSuccess:y}=H(),b=a(),{t:x}=o(`openhands`);K.useEffect(()=>{if(p.length!==0){if(p.length===1&&!d){f(p[0]);return}if(p.length>1&&!d){let e=g();e&&p.includes(e)&&f(e)}}},[p,d,g]);let S=v||y||b,C=t=>{t!==d&&(f(t),h(t),c(null),u(null),e?.(null))},w=K.useCallback(e=>{u(e)},[]);return(0,J.jsxs)(`div`,{className:`flex flex-col`,children:[!n&&(0,J.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,J.jsxs)(`div`,{className:`flex items-center gap-[10px] pb-4`,children:[(0,J.jsx)(R,{width:24,height:24}),(0,J.jsx)(`span`,{className:`leading-5 font-bold text-base text-white`,children:x(i.COMMON$OPEN_REPOSITORY)})]})}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-[10px] pb-4`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsx)(`span`,{className:`text-sm text-white font-normal leading-[22px]`,children:x(i.HOME$SELECT_OR_INSERT_URL)}),p.length<=1?null:(0,J.jsx)(be,{providers:p,value:d,placeholder:`Select Provider`,className:`max-w-[500px]`,onChange:C,disabled:t})]}),(0,J.jsx)(ke,{provider:d||p[0],value:s?.id||null,repositoryName:s?.full_name||null,placeholder:`user/repo`,disabled:!d||t,onChange:t=>{t?(e?.(t),c(t)):(e?.(null),c(null),u(null))},className:`max-w-auto`}),(()=>{let e=s?.main_branch||null;return(0,J.jsx)(we,{repository:s?.full_name||null,provider:d||p[0],selectedBranch:l,onBranchSelect:w,defaultBranch:e,placeholder:`Select branch...`,className:`max-w-full`,disabled:!s||t})})()]}),(0,J.jsx)(P,{testId:`repo-launch-button`,variant:`primary`,type:`button`,isDisabled:!s||!l||!n&&S||p.length>1&&!d||t,onClick:()=>{if(!(!s||!l)){if(m(s),n){n({repository:s,branch:l,provider:d});return}_({repository:{name:s.full_name||``,gitProvider:s.git_provider||`github`,branch:l.name||`main`}},{onSuccess:e=>r(`/conversations/${e.conversation_id}`)})}},className:`w-full`,children:n?x(i.BUTTON$CONFIRM):S?x(`HOME$LOADING`):`Launch`})]})}function Ue({isOpen:e,onClose:t,onConfirm:n}){let{t:r}=o(`openhands`),{isLoadingSettings:a}=z();return e?(0,J.jsx)(T,{onClose:t,children:(0,J.jsxs)(E,{width:`sm`,className:`relative items-start border border-[var(--oh-border)] !gap-4`,children:[(0,J.jsx)(B,{onClose:t,testId:`close-open-repository-dialog`}),(0,J.jsx)(`div`,{className:`w-full pr-6`,children:(0,J.jsx)(k,{title:r(i.COMMON$OPEN_REPOSITORY)})}),(0,J.jsx)(`div`,{className:`w-full`,"data-testid":`open-repository-dialog-body`,children:(0,J.jsx)(He,{isLoadingSettings:a,onConfirm:e=>{n(e),t()}})})]})}):null}function We({workspace:e,repository:t,branch:n,provider:r,onRepoClick:i}){let a=e?e.path.replace(/\/+$/,``).split(`/`).pop()||e.path:null;return(0,J.jsxs)(`div`,{className:`flex flex-row gap-2.5 items-center flex-wrap`,"data-testid":`home-git-control-bar-preview`,children:[(0,J.jsx)(Ee,{selectedRepository:t?.full_name??null,gitProvider:r??null,workspaceName:a,onClick:i}),n?(0,J.jsx)(je,{selectedBranch:n.name,selectedRepository:t?.full_name??null,gitProvider:r??null}):null]})}function Ge(){let{t:e}=o(`openhands`),{backend:t}=C(),{navigate:n}=F(),r=t.kind===`local`,[s,c]=(0,K.useState)(!1),[l,u]=(0,K.useState)(null),[d,m]=(0,K.useState)(null),[g,_]=(0,K.useState)(null),[v,y]=(0,K.useState)(null),{mutate:b,isPending:x}=H(),S=a(),w=x||S,{images:T,files:E,imagesMarkedUploadAsFile:D,clearAllFiles:O}=ie(),{handleUpload:k}=Se(),{error:A}=U({enabled:r}),j=r?W(A,e):null,M=r?!!l:!!d&&!!g,N=Ce(null,t=>{let a=t.trim(),o=T.length>0||E.length>0;if(!a&&!o||w)return;let s={images:[...T],files:[...E]},c={query:o?void 0:a||void 0};r&&l?c={...c,workingDir:l.path}:!r&&d&&g&&(c={...c,repository:{name:d.full_name,gitProvider:d.git_provider,branch:g.name}});let u=f.loading(e(i.HOME$CREATING_CONVERSATION),h);b(c,{onSuccess:async t=>{f.dismiss(u);try{sessionStorage.removeItem(ge)}catch{}let i=t.conversation_id,c=i.startsWith(`task-`);if(o)if(!r||c){let e=t.task_id??(c?i.slice(5):null);if(!e){p(null);return}ye(e,{content:a,images:s.images,files:s.files,imagesMarkedUploadAsFile:[...D]}),O(),await q({conversationId:i,text:a,images:s.images,imagesMarkedUploadAsFile:D}),n(`/conversations/${i}`);return}else try{await he({conversationId:i,content:a,images:s.images,files:s.files,imagesMarkedUploadAsFile:D,t:e}),O()}catch(e){p(e instanceof Error?e.message:null);return}c&&a&&await q({conversationId:i,text:a,images:[],imagesMarkedUploadAsFile:[]}),n(`/conversations/${i}`)},onError:e=>{f.dismiss(u),p(e instanceof Error?e.message:null)}})});return(0,J.jsxs)(`div`,{"data-testid":`home-chat-launcher`,className:`flex w-full max-w-[800px] flex-col gap-4 md:px-4`,children:[(0,J.jsx)(`div`,{className:`flex w-full justify-center`,children:(0,J.jsx)(Le,{})}),(0,J.jsx)(`div`,{className:`w-full`,children:(0,J.jsx)(Oe,{onSubmit:N,onFilesPaste:k,disabled:w})}),(0,J.jsx)(`div`,{className:`flex justify-start`,children:M?(0,J.jsx)(We,{workspace:l,repository:d,branch:g,provider:v,onRepoClick:()=>c(!0)}):(0,J.jsx)(Re,{kind:r?`local`:`cloud`,onClick:()=>c(!0),disabled:w||!!j,disabledTooltip:j})}),r?(0,J.jsx)(Ve,{isOpen:s,onClose:()=>c(!1),onConfirm:e=>{u(e),m(null),_(null),y(null)}}):(0,J.jsx)(Ue,{isOpen:s,onClose:()=>c(!1),onConfirm:({repository:e,branch:t,provider:n})=>{m(e),_(t),y(n??e.git_provider),u(null)}})]})}function Ke({currentStep:e,totalSteps:t,className:n}){return(0,J.jsx)(`div`,{role:`progressbar`,"aria-valuemin":1,"aria-valuemax":t,"aria-valuenow":e+1,"data-testid":`onboarding-progress-bar`,className:S(`flex w-full items-center gap-2`,n),children:Array.from({length:t},(t,n)=>{let r=n<e,i=n===e;return(0,J.jsx)(`div`,{"data-testid":`onboarding-progress-step-${n}`,"data-state":r?`completed`:i?`current`:`upcoming`,className:S(`h-1.5 flex-1 rounded-full transition-colors duration-300`,r||i?`bg-white`:`bg-white/15`)},n)})})}function qe(e){return e===`openhands`?`openhands`:V.find(({key:t})=>t===e)?.icon??`cli-generic`}function Je({id:e,muted:t}){let n=qe(e);return n===`openhands`?(0,J.jsx)(G,{kind:`openhands`,size:16,className:S(`text-white`,t&&`opacity-55`),"data-testid":`onboarding-agent-icon-openhands`}):(0,J.jsx)(G,{kind:n,size:18,className:t?`text-[var(--oh-muted)]`:`text-white`,"data-testid":`onboarding-agent-icon-${n}`})}function Ye(){return[{id:`openhands`,label:`OpenHands`,descriptionKey:i.ONBOARDING$AGENT_OPENHANDS_DESCRIPTION},...V.map(e=>({id:e.key,label:e.display_name,descriptionKey:e.description_key}))]}function Xe({selectedAgentId:e,onSelect:t,onNext:n}){let{t:r}=o(`openhands`),{mutate:a,isPending:c}=me();return(0,J.jsxs)(`div`,{"data-testid":`onboarding-step-choose-agent`,className:`flex flex-col gap-6`,children:[(0,J.jsxs)(`header`,{className:`flex flex-col gap-2`,children:[(0,J.jsx)(`h2`,{className:`text-2xl font-medium text-white`,children:r(i.ONBOARDING$AGENT_TITLE)}),(0,J.jsx)(`p`,{className:`text-sm text-[var(--oh-muted)]`,children:r(i.ONBOARDING$AGENT_SUBTITLE)})]}),(0,J.jsx)(`div`,{role:`radiogroup`,"aria-label":r(i.ONBOARDING$AGENT_TITLE),className:`flex flex-col gap-3`,children:Ye().map(n=>{let i=n.id===e;return(0,J.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":i,"data-testid":`onboarding-agent-option-${n.id}`,"data-selected":i,onClick:()=>t(n.id),className:S(`flex items-start justify-between gap-4 rounded-xl border px-4 py-3 text-left transition-colors cursor-pointer`,i?`border-white/45 bg-white/[0.09] shadow-none hover:border-white/45 hover:bg-white/[0.09]`:`border-white/30 bg-white/5 hover:border-white/40 hover:bg-white/[0.08]`),children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,J.jsx)(Je,{id:n.id,muted:!1}),(0,J.jsx)(`span`,{className:`truncate text-base font-normal text-white`,children:n.label})]}),(0,J.jsx)(`span`,{className:`text-xs text-[var(--oh-muted)]`,children:r(n.descriptionKey)})]}),(0,J.jsx)(`div`,{className:`flex shrink-0 flex-col items-end gap-1`,children:i?(0,J.jsx)(d,{width:18,height:18,className:`mt-1 shrink-0 text-white`,"aria-hidden":!0}):null})]},n.id)})}),(0,J.jsx)(`div`,{className:`sticky bottom-0 flex justify-end bg-base-secondary pt-4 pb-7`,children:(0,J.jsx)(P,{testId:`onboarding-agent-next`,type:`button`,variant:`primary`,isDisabled:c,onClick:()=>{let t=ae(e);if(!t){n();return}a({agent_settings_diff:t},{onError:e=>{p(s(e)||r(i.ERROR$GENERIC))},onSuccess:()=>{m(r(i.SETTINGS$SAVED)),n()}})},children:r(c?i.SETTINGS$SAVING:i.ONBOARDING$NEXT)})})]})}function Ze({isConnected:e}){let{t}=o(`openhands`);return e===!0?(0,J.jsxs)(`div`,{role:`status`,"data-testid":`onboarding-backend-connected`,className:S(`flex items-start gap-3 rounded-xl border border-green-500/40 bg-green-500/10 px-4 py-3`),children:[(0,J.jsx)(l,{className:`mt-0.5 size-5 shrink-0 text-green-400`}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,J.jsx)(`span`,{className:`text-sm font-medium text-green-200`,children:t(i.ONBOARDING$BACKEND_CONNECTED_TITLE)}),(0,J.jsx)(`span`,{className:`text-xs text-green-200/80`,children:t(i.ONBOARDING$BACKEND_CONNECTED_BODY)})]})]}):e===!1?(0,J.jsxs)(`div`,{role:`alert`,"data-testid":`onboarding-backend-disconnected`,className:`flex items-start gap-3 rounded-xl border border-red-500/40 bg-red-500/10 px-4 py-3`,children:[(0,J.jsx)(Fe,{className:`mt-0.5 size-5 shrink-0 text-red-400`}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,J.jsx)(`span`,{className:`text-sm font-medium text-red-200`,children:t(i.ONBOARDING$BACKEND_DISCONNECTED_TITLE)}),(0,J.jsx)(`span`,{className:`text-xs text-red-200/80`,children:t(i.ONBOARDING$BACKEND_DISCONNECTED_BODY)})]})]}):(0,J.jsxs)(`div`,{role:`status`,"data-testid":`onboarding-backend-checking`,className:`flex items-start gap-3 rounded-xl border border-white/10 bg-white/5 px-4 py-3`,children:[(0,J.jsx)(_,{className:`mt-0.5 size-5 shrink-0 animate-spin text-[var(--oh-text-tertiary)]`}),(0,J.jsx)(`span`,{className:`text-sm text-[var(--oh-text-tertiary)]`,children:t(i.ONBOARDING$BACKEND_CHECKING)})]})}function Qe({onBack:e,onNext:t}){let{t:n}=o(`openhands`),{active:r}=w(),{backend:a}=r,s=ne([a])[a.id]?.isConnected??null;return(0,J.jsxs)(`div`,{"data-testid":`onboarding-step-check-backend`,className:`flex flex-col gap-6`,children:[(0,J.jsxs)(`header`,{className:`flex flex-col gap-2`,children:[(0,J.jsx)(`h2`,{className:`text-2xl font-medium text-white`,children:n(i.ONBOARDING$BACKEND_TITLE)}),(0,J.jsx)(`p`,{className:`text-sm text-[var(--oh-muted)]`,children:n(i.ONBOARDING$BACKEND_SUBTITLE)})]}),(0,J.jsx)(Ze,{isConnected:s}),(0,J.jsx)(re,{mode:`edit`,backend:a,onSubmitted:()=>{},testIdRoot:`onboarding-backend`,renderActions:({canSubmit:r,testIdRoot:a})=>(0,J.jsxs)(`div`,{className:`sticky bottom-0 flex items-center justify-end gap-2 mt-2 bg-base-secondary pt-4 pb-7`,children:[(0,J.jsx)(P,{testId:`onboarding-backend-back`,type:`button`,variant:`secondary`,onClick:e,children:n(i.ONBOARDING$BACK)}),(0,J.jsx)(P,{testId:`${a}-submit`,type:`submit`,variant:`secondary`,isDisabled:!r,children:n(i.BACKEND$SAVE)}),(0,J.jsx)(P,{testId:`onboarding-backend-next`,type:`button`,variant:`primary`,isDisabled:s!==!0,onClick:t,children:n(i.ONBOARDING$NEXT)})]})})]})}var Y={"llm.model":`anthropic/claude-opus-4-7`};function $e({onBack:e,onNext:t}){let{t:n}=o(`openhands`),{backend:r}=C(),a=r.kind===`local`,s=b(),c=y(),[l,u]=K.useState(null),[d,f]=K.useState(!1),p=K.useCallback(async()=>{if(!a||!l)return;let e=l.values,t=typeof e[`llm.model`]==`string`?e[`llm.model`]:``;if(!t)return;let n=typeof e[`llm.api_key`]==`string`?e[`llm.api_key`]:``,r=typeof e[`llm.base_url`]==`string`?e[`llm.base_url`]:``,i=v(t),o={model:t};n&&(o.api_key=n),r&&(o.base_url=r);try{await s.mutateAsync({name:i,request:{llm:o,include_secrets:!0}}),await c.mutateAsync(i)}catch(e){console.error(`Failed to persist onboarding LLM as profile:`,e)}},[a,l,s,c]),m=K.useCallback(async()=>{f(!0);try{await p()}finally{f(!1),t()}},[p,t]);return(0,J.jsxs)(`div`,{"data-testid":`onboarding-step-setup-llm`,className:`flex flex-col gap-6 max-h-[calc(90vh-7rem)]`,children:[(0,J.jsxs)(`header`,{className:`flex flex-col gap-2`,children:[(0,J.jsx)(`h2`,{className:`text-2xl font-medium text-white`,children:n(i.ONBOARDING$LLM_TITLE)}),(0,J.jsx)(`p`,{className:`text-sm text-[var(--oh-muted)]`,children:n(i.ONBOARDING$LLM_SUBTITLE)})]}),(0,J.jsx)(`div`,{"data-testid":`onboarding-llm-settings`,className:`flex min-h-0 flex-1 flex-col overflow-y-auto custom-scrollbar-always`,children:(0,J.jsx)(x,{embedded:!0,hideSaveButton:!0,initialValueOverrides:Y,onSaveSuccess:m,onSaveControlChange:u})}),(0,J.jsxs)(`div`,{className:`sticky bottom-0 flex items-center justify-end gap-2 bg-base-secondary pt-4 pb-7`,children:[(0,J.jsx)(P,{testId:`onboarding-llm-back`,type:`button`,variant:`secondary`,onClick:e,children:n(i.ONBOARDING$BACK)}),(0,J.jsx)(P,{testId:`onboarding-llm-next`,type:`button`,variant:`primary`,isDisabled:(l?.isSaving??!1)||d,onClick:()=>{if(l?.isDirty){l.save();return}t()},children:n(i.ONBOARDING$NEXT)})]})]})}function et({onBack:e,onLaunched:t}){let{t:n}=o(`openhands`),{navigate:r}=F(),s=n(i.ONBOARDING$HELLO_DEFAULT_MESSAGE),[c,l]=K.useState(s),{mutate:u,isPending:d,isSuccess:f}=H(),p=a(),m=d||f||p,h=K.useRef(!1),g=c.trim().length>0&&!m&&!h.current,_=()=>{!g||h.current||(h.current=!0,u({query:c.trim()},{onSuccess:e=>{t(),r(`/conversations/${e.conversation_id}`)},onError:()=>{h.current=!1}}))};return(0,J.jsxs)(`div`,{"data-testid":`onboarding-step-say-hello`,className:`flex flex-col gap-6`,children:[(0,J.jsxs)(`header`,{className:`flex flex-col gap-2`,children:[(0,J.jsx)(`h2`,{className:`text-2xl font-medium text-white`,children:n(i.ONBOARDING$HELLO_TITLE)}),(0,J.jsx)(`p`,{className:`text-sm text-[var(--oh-muted)]`,children:n(i.ONBOARDING$HELLO_SUBTITLE)})]}),(0,J.jsx)(`form`,{onSubmit:e=>{e.preventDefault(),_()},className:`contents`,children:(0,J.jsx)(`input`,{"data-testid":`onboarding-hello-input`,"aria-label":n(i.ONBOARDING$HELLO_TITLE),type:`text`,value:c,onChange:e=>l(e.target.value),placeholder:s,disabled:m,className:`w-full rounded-xl border border-white/10 bg-base-secondary px-4 py-3 text-base text-white placeholder:text-[var(--oh-text-subtle)] focus:border-primary focus:outline-none disabled:opacity-60`})}),(0,J.jsx)(`div`,{"data-testid":`onboarding-recommended-automations`,children:(0,J.jsx)(Pe,{onLaunched:t})}),(0,J.jsxs)(`div`,{className:`sticky bottom-0 flex items-center justify-between gap-2 bg-base-secondary pt-4 pb-7`,children:[(0,J.jsx)(P,{testId:`onboarding-hello-back`,type:`button`,variant:`secondary`,onClick:e,isDisabled:m,children:n(i.ONBOARDING$BACK)}),(0,J.jsx)(P,{testId:`onboarding-hello-launch`,type:`button`,variant:`primary`,isDisabled:!g,onClick:_,startContent:(0,J.jsx)(Ie,{className:`size-4`,"aria-hidden":!0}),children:n(m?i.ONBOARDING$HELLO_LAUNCHING:i.ONBOARDING$HELLO_LAUNCH)})]})]})}var X=4;function Z({index:e,currentStep:t,children:n}){let r=e===t,i=(e-t)*100;return(0,J.jsx)(`div`,{"data-testid":`onboarding-slide-${e}`,"data-active":r,"aria-hidden":!r,style:{transform:`translateX(${i}%)`},className:S(`w-full transition-transform duration-300 ease-out`,!r&&`pointer-events-none absolute inset-0`),children:n})}function tt({onClose:e}){let{t}=o(`openhands`),[n,r]=K.useState(0),[a,s]=K.useState(`openhands`),c=a!==`openhands`,l=K.useCallback(()=>r(e=>Math.min(e+(c&&e===1?2:1),X-1)),[c]),u=K.useCallback(()=>r(e=>Math.max(e-(c&&e===3?2:1),0)),[c]),d=c?X-1:X,f=c&&n>1?n-1:n;return(0,J.jsx)(T,{onClose:e,closeOnEscape:!1,"aria-label":t(i.ONBOARDING$TITLE),children:(0,J.jsxs)(`div`,{className:`relative flex flex-col items-center gap-4`,children:[(0,J.jsxs)(`section`,{"data-testid":`onboarding-modal`,"data-current-step":n,className:S(`flex flex-col gap-6 overflow-hidden rounded-2xl border border-white/10 bg-base-secondary shadow-2xl`,D(`lg`),O,`max-h-[90vh]`),children:[(0,J.jsx)(`header`,{className:`flex flex-col gap-3 px-7 pt-7 shrink-0`,children:(0,J.jsx)(Ke,{currentStep:f,totalSteps:d})}),(0,J.jsx)(`div`,{"data-testid":`onboarding-scroll-area`,className:`flex-1 min-h-0 overflow-y-auto custom-scrollbar-always px-7`,children:(0,J.jsxs)(`div`,{"data-testid":`onboarding-slide-rail`,"data-current-step":n,className:`relative overflow-clip`,children:[(0,J.jsx)(Z,{index:0,currentStep:n,children:(0,J.jsx)(Xe,{selectedAgentId:a,onSelect:s,onNext:l})}),(0,J.jsx)(Z,{index:1,currentStep:n,children:(0,J.jsx)(Qe,{onBack:u,onNext:l})}),(0,J.jsx)(Z,{index:2,currentStep:n,children:(0,J.jsx)($e,{onBack:u,onNext:l})}),(0,J.jsx)(Z,{index:3,currentStep:n,children:(0,J.jsx)(et,{onBack:u,onLaunched:e})})]})})]}),(0,J.jsx)(`button`,{type:`button`,"data-testid":`onboarding-skip`,onClick:e,className:`rounded-md px-3 py-2 text-sm text-[var(--oh-muted)] transition-colors hover:bg-white/5 hover:text-white cursor-pointer`,children:t(i.ONBOARDING$SKIP)})]})})}var Q=`openhands-onboarded`;function $(){if(typeof window>`u`)return!0;try{return window.localStorage.getItem(Q)!==null}catch{return!0}}function nt(){let[e,t]=K.useState(()=>$());return K.useEffect(()=>{let e=e=>{e.key===`openhands-onboarded`&&t($())};return window.addEventListener(`storage`,e),()=>window.removeEventListener(`storage`,e)},[]),{isCompleted:e,markCompleted:K.useCallback(()=>{try{window.localStorage.setItem(Q,`1`)}catch{}t(!0)},[])}}function rt(){let{isCompleted:e,markCompleted:t}=nt();return e?null:(0,J.jsx)(tt,{onClose:t})}function it(){return(0,J.jsxs)(`div`,{"data-testid":`home-screen`,className:`custom-scrollbar-always flex h-full flex-col overflow-y-auto rounded-xl bg-transparent px-4 md:px-0 lg:px-[42px]`,children:[(0,J.jsx)(`div`,{className:`flex flex-1 min-h-0 flex-col items-center justify-center`,children:(0,J.jsx)(Ge,{})}),(0,J.jsx)(rt,{})]})}var at=n(it);export{at as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{t as n}from"./useMutation-B4OUESdw.js";import{o as r,t as i}from"./declaration-D378OjpZ.js";import{n as a}from"./QueryClientProvider-B7kl84Kj.js";import{t as o}from"./useTranslation-CpIcQBq6.js";import{t as s}from"./retrieve-axios-error-message-BY-yIkIq.js";import{n as c,t as l}from"./vendor~home~mcp~automations-list-C5PoHCy6.js";import{r as u}from"./custom-toast-handlers-BOc3qeQ7.js";import{t as d}from"./utils-D-HX7JCe.js";import{t as f}from"./agent-server-client-options-DT2GP6VJ.js";import{l as p}from"./vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~dp08i1qy-CHrEOFl6.js";import{a as m}from"./query-keys-tAsQcc_9.js";import{t as h}from"./modal-backdrop-DTYGVmOR.js";import{t as g}from"./brand-button-C2nEKopC.js";import{t as _}from"./modal-close-button-C_GpQt9F.js";import{t as v}from"./settings-input-DBywAnA7.js";import{t as y}from"./settings-service.api-FvJGK45W.js";import{a as b,i as x,r as S}from"./use-settings-DQ7Oo1Hj.js";function C(e){return[...e.sse_servers.map((e,t)=>({id:`sse-${t}`,type:`sse`,url:typeof e==`string`?e:e.url,api_key:typeof e==`object`?e.api_key:void 0})),...e.stdio_servers.map((e,t)=>({id:`stdio-${t}`,type:`stdio`,name:e.name,command:e.command,args:e.args,env:e.env})),...e.shttp_servers.map((e,t)=>({id:`shttp-${t}`,type:`shttp`,url:typeof e==`string`?e:e.url,api_key:typeof e==`object`?e.api_key:void 0,timeout:typeof e==`object`?e.timeout:void 0}))]}var w=e(t(),1),T=r(),E=e=>{try{return new URL(e)}catch{return null}};function D(e,t){let n=typeof e==`string`?e:``,r=typeof t==`string`?t:``;if(!n||!r)return!1;let i=E(n),a=E(r);return!i||!a?n.replace(/\/+$/,``)===r.replace(/\/+$/,``):i.protocol===a.protocol&&i.host===a.host&&i.pathname.replace(/\/+$/,``)===a.pathname.replace(/\/+$/,``)}function O(e){return(e.connectionOptions.find(t=>t.id===e.defaultConnectionOptionId)??e.connectionOptions[0])?.transport}function k(e){let t=e.connectionOptions.find(e=>e.transport?.kind===`stdio`);return t?.transport?t.transport:O(e)}function A(e,t){if(e.kind===`shttp`){let n=e.url;return n?t.find(e=>e.type===`shttp`&&!!e.url&&D(e.url,n))??null:null}if(e.kind===`sse`){let n=e.url;return n?t.find(e=>e.type===`sse`&&!!e.url&&D(e.url,n))??null:null}return t.find(t=>t.type===`stdio`&&t.name===e.serverName)??null}function j(e,t){return!e.runtimeAvailability||e.runtimeAvailability===`all`?!0:e.runtimeAvailability===t}function M(e){return e.trim().toLowerCase()}function N(e){return e.map((e,t)=>({entry:e,index:t})).sort((e,t)=>(t.entry.popularityRank??0)-(e.entry.popularityRank??0)||e.index-t.index).map(({entry:e})=>e)}function P(e,t){return t.find(t=>t.id===e)}function F(e,t){let n=M(t);return n?[e.name,e.description,e.id,...e.keywords??[]].join(` `).toLowerCase().includes(n):!0}function I(e,t,n){let r=M(n);return r?[e.type,`name`in e?e.name:void 0,`command`in e?e.command:void 0,`args`in e?e.args?.join(` `):void 0,`url`in e?e.url:void 0,t?.name,t?.description,t?.id,...t?.keywords??[]].filter(Boolean).join(` `).toLowerCase().includes(r):!0}function L(e,t){return t.find(t=>{for(let n of t.connectionOptions){let t=n.transport;if(t&&(t.kind===`stdio`&&e.type===`stdio`&&e.name===t.serverName||t.kind===`shttp`&&e.type===`shttp`&&D(e.url,t.url)||t.kind===`sse`&&e.type===`sse`&&D(e.url,t.url)))return!0}return!1})}var R={xs:`h-4 w-4 rounded [&>svg]:h-2.5 [&>svg]:w-2.5`,sm:`h-5 w-5 rounded-md [&>svg]:h-3 [&>svg]:w-3`,md:`h-10 w-10 rounded-lg [&>svg]:h-5 [&>svg]:w-5`};function z({entry:e,size:t=`md`,className:n,fallback:r,testId:i}){return(0,T.jsx)(`span`,{"aria-hidden":`true`,title:e?.name,"data-testid":i,className:d(`inline-flex shrink-0 items-center justify-center overflow-hidden`,`border border-white/10 shadow-[inset_0_1px_0_rgba(255,255,255,0.18)]`,R[t],n),style:{backgroundColor:e?.iconBg??`var(--oh-color-tertiary)`,color:e?.iconColor??`#FFFFFF`},children:e?c[e.id]??r??l:r??l})}function B(){let e=a(),{data:t}=S();return n({mutationFn:async e=>{if(!t)return;let n=x(t.agent_settings?.mcp_config),r={sse_servers:[...n.sse_servers],stdio_servers:[...n.stdio_servers],shttp_servers:[...n.shttp_servers]};if(e.type===`sse`){let t={url:e.url,...e.api_key&&{api_key:e.api_key}};r.sse_servers.push(t)}else if(e.type===`stdio`){let t={name:e.name,command:e.command,...e.args&&{args:e.args},...e.env&&{env:e.env}};r.stdio_servers.push(t)}else if(e.type===`shttp`){let t={url:e.url,...e.api_key&&{api_key:e.api_key},...e.timeout!==void 0&&{timeout:e.timeout}};r.shttp_servers.push(t)}await y.saveSettings({agent_settings_diff:{mcp_config:b(r)}})},onSuccess:()=>{e.invalidateQueries({queryKey:m.personal()})}})}function V(e){return e.type===`stdio`?{type:`stdio`,command:e.command,...e.args?.length&&{args:e.args},...e.env&&Object.keys(e.env).length>0&&{env:e.env}}:{type:e.type,url:e.url,...e.api_key?{api_key:e.api_key}:{}}}var H=class{static async testServer(e){let{host:t,apiKey:n}=f(),r=new p({host:t,...n?{apiKey:n}:{}});try{return await r.testServer({server:V(e),...e.name?{name:e.name}:{},...e.timeout?{timeout:e.timeout}:{}})}finally{r.close()}}};function U(){return n({mutationFn:e=>H.testServer(e)})}function W(e){let t={},n=k(e);if(!n)return{values:t,errors:{}};if(n.kind===`stdio`){for(let e of n.envFields??[])t[e.key]=``;for(let e of n.argFields??[])t[e.key]=``}else (n.kind===`shttp`||n.kind===`sse`)&&(t.api_key=``);return{values:t,errors:{}}}function G({entry:e,onClose:t,onSuccess:n}){let{t:r}=o(`openhands`),{mutate:a,isPending:c}=B(),{mutate:l,isPending:d}=U(),f=(0,w.useId)(),[p,m]=w.useState(()=>W(e)),[y,b]=w.useState(null),x=d||c,S=(e,t)=>{m(n=>({values:{...n.values,[e]:t},errors:{...n.errors,[e]:null}})),b(null)},C=e=>{switch(e.error_kind){case`timeout`:return r(i.MCP$TEST_ERROR_TIMEOUT);case`connection`:return r(i.MCP$TEST_ERROR_CONNECTION);default:return r(i.MCP$TEST_ERROR_UNKNOWN,{error:e.error})}},E=o=>{l(o,{onSuccess:c=>{if(!c.ok){b(C(c));return}a(o,{onSuccess:()=>{u(r(i.MCP$INSTALL_SUCCESS)),n?.(e),t()},onError:e=>{b(s(e)||r(i.ERROR$GENERIC))}})},onError:e=>{b(s(e)||r(i.ERROR$GENERIC))}})},D=k(e),O=()=>{if(!D||D.kind!==`shttp`&&D.kind!==`sse`)return;let e=p.values.api_key?.trim()??``;if(!D.apiKeyOptional&&!e){m(e=>({...e,errors:{api_key:r(i.MCP$ERROR_FIELD_REQUIRED)}}));return}E({id:`${D.kind}-${f}`,type:D.kind,url:D.url,...e&&{api_key:e}})},A=()=>{if(D?.kind!==`stdio`)return;let e=D,t={};for(let n of e.envFields??[])n.required&&!(p.values[n.key]??``).trim()&&(t[n.key]=r(i.MCP$ERROR_FIELD_REQUIRED));for(let n of e.argFields??[])n.required&&!(p.values[n.key]??``).trim()&&(t[n.key]=r(i.MCP$ERROR_FIELD_REQUIRED));if(Object.values(t).some(Boolean)){m(e=>({...e,errors:t}));return}let n={};for(let t of e.envFields??[]){let e=p.values[t.key]?.trim();e&&(n[t.key]=e)}let a=[];for(let t of e.argFields??[]){let e=p.values[t.key]?.trim();if(e)for(let t of e.split(/\s+/))t&&a.push(t)}E({id:`stdio-${f}`,type:`stdio`,name:e.serverName,command:e.command,args:[...e.args,...a],...Object.keys(n).length>0&&{env:n}})};return(0,T.jsx)(h,{onClose:t,"aria-label":e.name,children:(0,T.jsxs)(`form`,{"data-testid":`mcp-install-modal`,"data-marketplace-id":e.id,onSubmit:e=>(e.preventDefault(),b(null),D?.kind===`shttp`||D?.kind===`sse`?O():A()),className:`relative bg-base-secondary p-6 rounded-xl flex flex-col gap-4 border border-[var(--oh-border)] w-[520px] max-w-[90vw] max-h-[85vh] overflow-y-auto custom-scrollbar`,children:[(0,T.jsx)(_,{onClose:t,testId:`mcp-install-modal-close`,disabled:x}),(0,T.jsxs)(`div`,{className:`flex items-start gap-3 pr-6`,children:[(0,T.jsx)(z,{entry:e}),(0,T.jsxs)(`div`,{className:`flex flex-col flex-1`,children:[(0,T.jsx)(`h2`,{className:`text-lg font-semibold`,children:e.name}),(0,T.jsx)(`p`,{className:`text-xs text-tertiary-light`,children:e.description})]})]}),e.installHint&&(0,T.jsx)(`p`,{className:`text-xs text-tertiary-light`,children:e.installHint}),e.docsUrl&&(0,T.jsx)(`a`,{href:e.docsUrl,target:`_blank`,rel:`noreferrer`,className:`text-xs text-[var(--oh-muted)] hover:text-white hover:underline self-start transition-colors`,children:r(i.MCP$VIEW_DOCS)}),(0,T.jsx)(`div`,{className:`flex flex-col gap-3`,children:(()=>{if(!D)return null;if(D.kind===`shttp`||D.kind===`sse`){let e=D.apiKeyOptional??!1;return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(v,{testId:`mcp-install-field-url`,name:`url`,type:`url`,label:r(i.SETTINGS$MCP_URL),value:D.url,onChange:()=>{},isDisabled:!0,className:`w-full`}),(0,T.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,T.jsx)(v,{testId:`mcp-install-field-api_key`,name:`api_key`,type:`password`,label:r(i.SETTINGS$MCP_API_KEY),value:p.values.api_key??``,onChange:e=>S(`api_key`,e),placeholder:r(i.SETTINGS$MCP_API_KEY_PLACEHOLDER),showOptionalTag:e,required:!e,className:`w-full`}),p.errors.api_key&&(0,T.jsx)(`p`,{className:`text-xs text-red-500`,children:p.errors.api_key})]})]})}let e=D;return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(v,{testId:`mcp-install-field-command-readonly`,name:`command-readonly`,type:`text`,label:r(i.MCP$COMMAND_LABEL),value:`${e.command} ${e.args.join(` `)}`.trim(),onChange:()=>{},isDisabled:!0,className:`w-full`}),(e.envFields??[]).map(e=>(0,T.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,T.jsx)(v,{testId:`mcp-install-field-${e.key}`,name:e.key,type:e.type===`password`?`password`:`text`,label:e.label,value:p.values[e.key]??``,onChange:t=>S(e.key,t),placeholder:e.placeholder,required:e.required,showOptionalTag:!e.required,className:`w-full`}),e.helperText&&(0,T.jsx)(`p`,{className:`text-xs text-tertiary-alt`,children:e.helperText}),p.errors[e.key]&&(0,T.jsx)(`p`,{className:`text-xs text-red-500`,children:p.errors[e.key]})]},e.key)),(e.argFields??[]).map(e=>(0,T.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,T.jsx)(v,{testId:`mcp-install-field-${e.key}`,name:e.key,type:e.type===`password`?`password`:`text`,label:e.label,value:p.values[e.key]??``,onChange:t=>S(e.key,t),placeholder:e.placeholder,required:e.required,showOptionalTag:!e.required,className:`w-full`}),e.helperText&&(0,T.jsx)(`p`,{className:`text-xs text-tertiary-alt`,children:e.helperText}),p.errors[e.key]&&(0,T.jsx)(`p`,{className:`text-xs text-red-500`,children:p.errors[e.key]})]},e.key))]})})()}),y&&(0,T.jsx)(`p`,{"data-testid":`mcp-install-modal-error`,className:`text-sm text-red-500 whitespace-pre-wrap`,children:y}),(0,T.jsxs)(`div`,{className:`flex justify-end gap-2 mt-2`,children:[(0,T.jsx)(g,{type:`button`,variant:`secondary`,onClick:t,testId:`mcp-install-cancel`,children:r(i.BUTTON$CANCEL)}),(0,T.jsx)(g,{type:`submit`,variant:`primary`,isDisabled:x,testId:`mcp-install-submit`,children:r(d?i.MCP$VERIFYING:c?i.SETTINGS$SAVING:i.MCP$INSTALL_BUTTON)})]})]})})}export{L as a,k as c,I as d,j as f,z as i,N as l,C as m,U as n,A as o,F as p,B as r,O as s,G as t,P as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./llm-settings-BdiaGFbg.js";export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{L as n}from"./vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js";import{t as r}from"./react-dom-hVBnwgwZ.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{t as l}from"./createLucideIcon-Ddu8jDOQ.js";import{i as u,n as d,r as f,t as p,u as m}from"./settings-list-classes-BOS092DR.js";import{n as h,r as g}from"./custom-toast-handlers-BOc3qeQ7.js";import{t as _}from"./utils-D-HX7JCe.js";import{n as v}from"./active-backend-context-TVbjnvmP.js";import{a as y,n as b}from"./query-keys-tAsQcc_9.js";import{t as x}from"./modal-backdrop-DTYGVmOR.js";import{r as S,t as C}from"./modal-body-YElmM1dV.js";import{r as w}from"./base-modal-CQRvRHu1.js";import{t as T}from"./brand-button-C2nEKopC.js";import{t as E}from"./loading-spinner-C04FGh14.js";import{n as D,t as O}from"./model-selector-DeMmw-Xa.js";import{t as k}from"./settings-input-DBywAnA7.js";import{t as A}from"./settings-D5am1n6X.js";import{t as j}from"./settings-service.api-FvJGK45W.js";import{r as ee}from"./use-settings-DQ7Oo1Hj.js";import{i as te,r as M,t as N}from"./ellipsis-button-ugUATsNo.js";import{t as P}from"./u-edit-KAUlufD8.js";import{n as F,t as I}from"./use-llm-profiles-O4a9V6RC.js";import{r as ne}from"./typography-vVUMoNUg.js";import{l as L,s as re}from"./sdk-settings-schema-QBYH-ONX.js";import{t as ie}from"./use-agent-settings-schema-Bvp5UzV8.js";import{t as ae}from"./sdk-section-page-CJW0G04-.js";import{t as oe}from"./u-check-circle-DplbarS5.js";import{n as se}from"./settings-section-header-context-32x6WTyL.js";var ce=l(`text-cursor`,[[`path`,{d:`M17 22h-1a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4h1`,key:`uvaxm9`}],[`path`,{d:`M7 22h1a4 4 0 0 0 4-4v-1`,key:`11xy8d`}],[`path`,{d:`M7 2h1a4 4 0 0 1 4 4v1`,key:`1uw06m`}]]),R=e(t()),z=a(),B=e=>(0,z.jsxs)(`svg`,{width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,z.jsx)(`path`,{d:`M9.9509 15.588H10.8349L16.5125 9.91042L15.6285 9.0264L10.3991 14.2681L8.00867 11.8777L7.12465 12.7617L9.9509 15.588Z`,fill:`currentColor`}),(0,z.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M12.8521 3.29895C14.8443 3.42346 16.712 4.41954 18.0816 5.78916C19.7002 7.53231 20.5718 9.64898 20.5718 12.1392C20.5718 14.1314 19.8247 15.999 18.5796 17.6177C17.3345 19.1118 15.5914 20.2324 13.5992 20.6059C11.607 20.9794 9.61486 20.7304 7.87171 19.7343C6.12856 18.7382 4.75895 17.2441 4.01189 15.3765C3.26482 13.5088 3.14031 11.3921 3.76286 9.52447C4.38542 7.53231 5.50601 5.91367 7.24916 4.79308C8.86779 3.67248 10.86 3.17444 12.8521 3.29895ZM13.4747 19.3608C15.0933 18.9873 16.5874 18.1157 17.708 16.7461C18.7041 15.3765 19.3267 13.7578 19.2022 12.0147C19.2022 10.0225 18.4551 8.03035 17.0855 6.66073C15.8404 5.41563 14.3463 4.66857 12.6031 4.54405C10.9845 4.41954 9.24132 4.79308 7.87171 5.78916C6.50209 6.78524 5.50601 8.15486 5.00797 9.89801C4.50993 11.5166 4.50993 13.2598 5.25699 14.8784C6.00405 16.4971 7.12465 17.7422 8.61877 18.6137C10.1129 19.4853 11.856 19.7343 13.4747 19.3608Z`,fill:`currentColor`})]});function V({testId:e,isSet:t}){return(0,z.jsx)(`span`,{"data-testid":e||(t?`set-indicator`:`unset-indicator`),children:(0,z.jsx)(B,{className:_(t?`text-success`:`text-danger`)})})}var H=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/;function U(e,{isRequired:t=!1}={}){return e===``?!t:H.test(e)}function W(e){let t=e.split(`/`),n=(t[t.length-1]||e).replace(/[^A-Za-z0-9._-]/g,`-`).replace(/-+/g,`-`).replace(/^-+|-+$/g,``);return n&&!/^[A-Za-z0-9]/.test(n)&&(n=`profile-${n}`),n.length>64&&(n=n.substring(0,64).replace(/-+$/,``)),n||`default-profile`}var G=(0,R.forwardRef)(function({testId:e,ruleTestId:t,value:n,onChange:r,onKeyDown:i,placeholder:a,isDisabled:s,isOptional:l,isRequired:u=!1},d){let{t:f}=c(`openhands`),p=U(n,{isRequired:u}),m=l?`${f(o.SETTINGS$PROFILE_NAME_LABEL)} (${f(o.COMMON$OPTIONAL)})`:f(o.SETTINGS$PROFILE_NAME_LABEL),h=R.useId(),g=t??`${h}-rule`;return(0,z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,z.jsx)(k,{ref:d,testId:e,label:m,type:`text`,className:`w-full`,value:n,placeholder:a??f(o.SETTINGS$PROFILE_NAME_PLACEHOLDER),onChange:r,onKeyDown:i,isDisabled:s,ariaDescribedBy:g,ariaInvalid:!p}),(0,z.jsx)(`p`,{id:g,"data-testid":t,className:_(`text-xs`,p?`text-[var(--oh-muted)]`:`text-red-400`),children:f(o.SETTINGS$PROFILE_NAME_RULE)})]})});function K({isOpen:e,title:t,width:n=`md`,children:r,footer:i,onClose:a,initialFocusRef:o}){let s=(0,R.useRef)(null);return(0,R.useEffect)(()=>{if(!e)return;let t=o?.current??s.current;if(t){let e=setTimeout(()=>{t.focus()},0);return()=>clearTimeout(e)}},[e,o]),(0,R.useEffect)(()=>{if(!e||!s.current)return;let t=s.current,n=e=>{if(e.key!==`Tab`)return;let n=t.querySelectorAll(`button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])`),r=n[0],i=n[n.length-1];e.shiftKey&&document.activeElement===r?(e.preventDefault(),i?.focus()):!e.shiftKey&&document.activeElement===i&&(e.preventDefault(),r?.focus())};return document.addEventListener(`keydown`,n),()=>document.removeEventListener(`keydown`,n)},[e]),e?(0,z.jsx)(x,{onClose:a,children:(0,z.jsxs)(`div`,{ref:s,tabIndex:-1,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`modal-title`,className:_(`bg-base-secondary p-6 rounded-xl flex flex-col gap-4 border border-[var(--oh-border)]`,S(n),C),children:[(0,z.jsx)(w,{id:`modal-title`,title:t,className:`text-xl font-medium text-white`}),r,(0,z.jsx)(`div`,{className:`w-full flex justify-end gap-2 mt-2`,children:i})]})}):null}function le(){let e=s();return i({mutationFn:({name:e,newName:t})=>F.renameProfile(e,t),onSuccess:async()=>{j.invalidateCache(),await e.invalidateQueries({queryKey:b.all}),await e.invalidateQueries({queryKey:y.personal()})},meta:{disableToast:!0}})}function ue({profile:e,onClose:t}){let{t:n}=c(`openhands`),[r,i]=(0,R.useState)(``),a=le(),s=(0,R.useRef)(null);if((0,R.useEffect)(()=>{i(e?.name??``)},[e?.name]),!e)return null;let l=U(r,{isRequired:!0}),u=r===e.name,d=async()=>{if(!l){h(n(o.SETTINGS$PROFILE_NAME_RULE));return}if(u){t();return}try{await a.mutateAsync({name:e.name,newName:r}),g(n(o.SETTINGS$PROFILE_RENAMED,{name:r})),t()}catch(e){h(e instanceof Error?e.message:n(o.ERROR$GENERIC))}},f=()=>{a.isPending||t()},p=(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(T,{type:`button`,variant:`tertiary`,onClick:f,isDisabled:a.isPending,children:n(o.BUTTON$CANCEL)}),(0,z.jsx)(T,{testId:`rename-profile-submit`,type:`button`,variant:`primary`,onClick:d,isDisabled:a.isPending||!l,children:a.isPending?(0,z.jsx)(E,{size:`small`}):n(o.BUTTON$RENAME)})]});return(0,z.jsx)(K,{isOpen:!0,title:n(o.SETTINGS$PROFILE_RENAME_TITLE),footer:p,onClose:f,initialFocusRef:s,children:(0,z.jsx)(`div`,{"data-testid":`rename-profile-modal`,className:`flex flex-col gap-3`,children:(0,z.jsx)(G,{ref:s,testId:`rename-profile-input`,ruleTestId:`rename-profile-rule`,value:r,onChange:i,isRequired:!0,onKeyDown:e=>{e.key===`Enter`&&!a.isPending&&l&&d()}})})})}function de(){let e=s();return i({mutationFn:e=>F.deleteProfile(e),onSuccess:async()=>{j.invalidateCache(),await e.invalidateQueries({queryKey:b.all}),await e.invalidateQueries({queryKey:y.personal()})},meta:{disableToast:!0}})}function fe({profile:e,onClose:t}){let{t:n}=c(`openhands`),r=de(),i=(0,R.useRef)(null);if(!e)return null;let a=async()=>{try{await r.mutateAsync(e.name),g(n(o.SETTINGS$PROFILE_DELETED,{name:e.name})),t()}catch(e){h(e instanceof Error?e.message:n(o.ERROR$GENERIC))}},s=()=>{r.isPending||t()},l=(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(T,{ref:i,type:`button`,variant:`tertiary`,onClick:s,isDisabled:r.isPending,children:n(o.BUTTON$CANCEL)}),(0,z.jsx)(T,{testId:`delete-profile-confirm`,type:`button`,variant:`danger`,onClick:a,isDisabled:r.isPending,"aria-busy":r.isPending,children:r.isPending?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(E,{size:`small`}),(0,z.jsx)(`span`,{className:`sr-only`,children:n(o.BUTTON$DELETE)})]}):n(o.BUTTON$DELETE)})]});return(0,z.jsx)(K,{isOpen:!0,title:n(o.SETTINGS$PROFILE_DELETE_TITLE),footer:l,onClose:s,initialFocusRef:i,children:(0,z.jsx)(`p`,{className:`text-sm break-all`,children:n(o.SETTINGS$PROFILE_DELETE_CONFIRMATION,{name:e.name})})})}var pe=e(r(),1);function q({index:e,icon:t,label:n,onClick:r,onKeyDown:i,menuItemsRef:a,disabled:o,testId:s}){return(0,z.jsx)(`button`,{ref:t=>{a.current[e]=t},type:`button`,onClick:r,onKeyDown:t=>i(t,e),disabled:o,className:_(`group w-full cursor-pointer rounded px-2 py-2 text-start text-nowrap text-sm font-normal`,`text-[var(--oh-foreground)] hover:bg-[var(--oh-interactive-hover)]`,`disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent`),role:`menuitem`,"data-testid":s,children:(0,z.jsx)(te,{icon:t,text:n})})}function me({onEdit:e,onRename:t,onSetActive:n,onDelete:r,isActive:i,isActivating:a,onClose:s,anchorRef:l}){let{t:u}=c(`openhands`),d=(0,R.useRef)(null),f=(0,R.useRef)([]),p=l?.current??null,[m,h]=(0,R.useState)();(0,R.useLayoutEffect)(()=>{if(!p)return;let e=()=>{let e=p.getBoundingClientRect();e&&h({position:`fixed`,zIndex:9999,top:e.bottom+8,right:window.innerWidth-e.right,width:`max-content`})};return e(),window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[p]),(0,R.useEffect)(()=>{f.current[0]?.focus()},[]),(0,R.useEffect)(()=>{let e=e=>{let t=e.target;d.current&&!d.current.contains(t)&&s()},t=e=>{e.key===`Escape`&&s()};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[s]);let g=e=>{e(),s()},v=(0,R.useCallback)((e,t)=>{if(e.key===`Tab`){s();return}let n=f.current.filter(Boolean).length;if(e.key===`ArrowDown`){e.preventDefault();let r=(t+1)%n;f.current[r]?.focus()}else if(e.key===`ArrowUp`){e.preventDefault();let r=(t-1+n)%n;f.current[r]?.focus()}},[s]),y=i||a,b=!!p,x=(0,z.jsxs)(`div`,{ref:d,className:_(`absolute right-0 top-full z-10 mt-2 w-[160px] rounded-md border border-[var(--oh-border-subtle)] bg-tertiary px-1 py-1 shadow-lg`,b&&`!static !top-auto !bottom-auto !left-auto !right-auto !mt-0`),role:`menu`,"aria-orientation":`vertical`,"data-testid":`profile-actions-menu`,children:[(0,z.jsx)(q,{index:0,icon:(0,z.jsx)(P,{width:16,height:16}),label:u(o.SETTINGS$PROFILE_EDIT),onClick:()=>g(e),onKeyDown:v,menuItemsRef:f,testId:`profile-edit`}),(0,z.jsx)(q,{index:1,icon:(0,z.jsx)(ce,{"aria-hidden":!0,className:`size-4`,strokeWidth:2}),label:u(o.BUTTON$RENAME),onClick:()=>g(t),onKeyDown:v,menuItemsRef:f,testId:`profile-rename`}),(0,z.jsx)(q,{index:2,icon:(0,z.jsx)(oe,{width:16,height:16}),label:u(o.SETTINGS$PROFILE_SET_ACTIVE),onClick:()=>g(n),onKeyDown:v,menuItemsRef:f,disabled:y,testId:`profile-set-active`}),(0,z.jsx)(q,{index:3,icon:(0,z.jsx)(M,{width:16,height:16}),label:u(o.BUTTON$DELETE),onClick:()=>g(r),onKeyDown:v,menuItemsRef:f,testId:`profile-delete`})]});return b?typeof document>`u`||!m?null:pe.createPortal((0,z.jsx)(`div`,{style:m,children:x}),document.body):x}function he({children:e,className:t,...n}){return(0,z.jsx)(`span`,{className:_(`text-sm leading-4 text-black font-semibold tracking-tighter bg-primary p-1 rounded-full`,t),...n,children:e})}function ge({profile:e,isActive:t,onActivate:n,onEdit:r,onRename:i,onDelete:a,isActivating:s}){let{t:l}=c(`openhands`),[d,p]=(0,R.useState)(!1),m=(0,R.useRef)(null);return(0,z.jsxs)(`div`,{"data-testid":`profile-row`,className:_(u,`justify-between gap-3`),children:[(0,z.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,z.jsx)(`span`,{className:`min-w-0 max-w-full truncate text-sm font-medium text-white`,title:e.name,children:e.name}),e.model?(0,z.jsx)(`span`,{className:`min-w-0 max-w-full truncate text-sm text-[var(--oh-muted)]`,title:e.model,children:e.model}):null,t&&(0,z.jsx)(he,{className:`shrink-0 whitespace-nowrap px-2.5 py-1 text-xs`,"data-testid":`profile-active-badge`,children:l(o.SETTINGS$PROFILE_ACTIVE)})]}),(0,z.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,z.jsx)(N,{ref:m,onClick:()=>p(e=>!e),ariaLabel:l(o.SETTINGS$PROFILE_MENU),testId:`profile-menu-trigger`,className:f}),d&&(0,z.jsx)(me,{anchorRef:m,onEdit:()=>r(e),onRename:()=>i(e),onSetActive:()=>n(e.name),onDelete:()=>a(e),isActive:t,isActivating:s,onClose:()=>p(!1)})]})]})}function _e({isLoading:e,loadError:t,profiles:n,active:r,onActivate:i,onEdit:a,onRename:s,onDelete:l,isActivating:u}){let{t:f}=c(`openhands`);return e?(0,z.jsx)(`div`,{className:`flex justify-center p-4`,children:(0,z.jsx)(E,{size:`large`})}):t?(0,z.jsx)(`p`,{className:`text-sm text-red-400`,children:f(o.SETTINGS$PROFILES_LOAD_ERROR)}):n.length===0?(0,z.jsx)(`p`,{className:`text-sm text-[var(--oh-muted)] italic`,children:f(o.SETTINGS$PROFILES_EMPTY)}):(0,z.jsx)(`div`,{className:_(p,d),children:n.map(e=>(0,z.jsx)(ge,{profile:e,isActive:e.name===r,onActivate:i,onEdit:a,onRename:s,onDelete:l,isActivating:u},e.name))})}function J(){let e=s();return i({mutationFn:e=>F.activateProfile(e),onSuccess:async()=>{j.invalidateCache(),await e.invalidateQueries({queryKey:b.all}),await e.invalidateQueries({queryKey:y.personal()})},meta:{disableToast:!0}})}function Y({onAddProfile:e,onEditProfile:t}){let{t:n}=c(`openhands`),{data:r,isLoading:i,error:a}=I(),s=J(),[l,u]=(0,R.useState)(null),[d,f]=(0,R.useState)(null),p=r?.profiles??[],m=r?.active_profile??null;return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,z.jsx)(`h2`,{className:`text-base font-medium text-white`,children:n(o.SETTINGS$AVAILABLE_PROFILES)}),e?(0,z.jsx)(T,{testId:`add-llm-profile`,type:`button`,variant:`secondary`,className:`ml-auto`,onClick:e,children:n(o.SETTINGS$ADD_LLM_PROFILE)}):null]}),(0,z.jsx)(_e,{isLoading:i,loadError:a??null,profiles:p,active:m,onActivate:async e=>{try{await s.mutateAsync(e),g(n(o.SETTINGS$PROFILE_ACTIVATED,{name:e}))}catch(e){console.error(`Failed to activate profile:`,e),h(n(o.ERROR$GENERIC))}},onEdit:e=>{t?.(e)},onRename:u,onDelete:f,isActivating:s.isPending})]}),(0,z.jsx)(ue,{profile:l,onClose:()=>u(null)}),(0,z.jsx)(fe,{profile:d,onClose:()=>f(null)})]})}function X(){let e=s();return i({mutationFn:({name:e,request:t})=>F.saveProfile(e,t),onSuccess:async()=>{j.invalidateCache(),await e.invalidateQueries({queryKey:b.all}),await e.invalidateQueries({queryKey:y.personal()})},meta:{disableToast:!0}})}function ve(){let{t:e}=c(`openhands`),{setHideSectionHeader:t}=se(),n=X(),{data:r}=I(),[i,a]=(0,R.useState)(`list`),[s,l]=(0,R.useState)(``),[u,d]=(0,R.useState)(null),[f,p]=(0,R.useState)(null),[_,v]=(0,R.useState)(!1);(0,R.useEffect)(()=>(t(i!==`list`),()=>t(!1)),[i,t]);let y=(0,R.useMemo)(()=>new Set(r?.profiles.map(e=>e.name)??[]),[r]),b=(0,R.useMemo)(()=>!(!U(s,{isRequired:!0})||i===`create`&&y.has(s)||i===`edit`&&s!==u?.profile.name&&y.has(s)),[s,i,y,u?.profile.name]),x=(0,R.useCallback)(()=>{l(``),d(null),a(`create`)},[]),S=(0,R.useCallback)(async t=>{try{let e=(await F.getProfile(t.name,`encrypted`)).config??{};d({profile:t,initialValues:{"llm.model":e.model??``,"llm.api_key":e.api_key??``,"llm.base_url":e.base_url??``}}),l(t.name),a(`edit`)}catch(t){console.error(`Failed to fetch profile details:`,t),h(e(o.ERROR$GENERIC))}},[e]),C=(0,R.useCallback)(()=>{a(`list`),d(null),l(``),p(null)},[]),w=(0,R.useCallback)(e=>{if(p(e),i===`create`&&!s){let t=e.values[`llm.model`];if(typeof t==`string`&&t){let e=W(t);y.has(e)||l(e)}}},[i,s,y]),E=(0,R.useCallback)(async()=>{if(!f||!b)return;let t=f.values,a=typeof t[`llm.model`]==`string`?t[`llm.model`]:``,c=typeof t[`llm.api_key`]==`string`?t[`llm.api_key`]:``,l=typeof t[`llm.base_url`]==`string`?t[`llm.base_url`]:``;if(!a){h(e(o.SETTINGS$MODEL_REQUIRED));return}let d=s.trim(),p=u?.profile.name,m=i===`edit`&&p&&p!==d,_=r?.active_profile===p;v(!0);try{m&&await F.renameProfile(p,d);let t={model:a};c?t.api_key=c:i===`edit`&&u?.initialValues[`llm.api_key`]&&(t.api_key=u.initialValues[`llm.api_key`]),l&&(t.base_url=l),await n.mutateAsync({name:d,request:{llm:t,include_secrets:!0}}),m&&_&&await F.activateProfile(d),g(e(i===`create`?o.SETTINGS$PROFILE_CREATED:o.SETTINGS$PROFILE_UPDATED,{name:d})),C()}catch(t){console.error(`Failed to save profile:`,t),h(e(o.ERROR$GENERIC))}finally{v(!1)}},[f,b,s,i,u,r?.active_profile,n,e,C]);if(i===`list`)return(0,z.jsx)(Y,{onAddProfile:x,onEditProfile:S});let D=e(i===`edit`?o.SETTINGS$EDIT_LLM_PROFILE:o.SETTINGS$ADD_LLM_PROFILE),O=i===`edit`&&u?e(o.SETTINGS$PROFILE_LOADED,{name:u.profile.name}):e(o.SETTINGS$PROFILE_SAVE_HINT);return(0,z.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,z.jsxs)(`button`,{type:`button`,onClick:C,className:`flex items-center gap-2 self-start rounded-lg p-2 text-[var(--oh-muted)] transition-colors hover:bg-tertiary hover:text-white`,"data-testid":`back-to-profiles`,children:[(0,z.jsx)(m,{size:20,"aria-hidden":!0}),(0,z.jsx)(`span`,{className:`text-sm leading-5`,children:e(o.BUTTON$BACK)})]}),(0,z.jsx)(ne.H2,{testId:`profile-editor-title`,children:D}),(0,z.jsx)(`p`,{"data-testid":`profile-editor-description`,className:`text-sm leading-5 text-tertiary-light`,children:O})]}),(0,z.jsx)(G,{testId:`profile-name-input`,value:s,onChange:l,isRequired:!0}),(0,z.jsx)($,{embedded:!0,hideSaveButton:!0,initialValueOverrides:i===`edit`&&u?.initialValues?u.initialValues:{"llm.model":``,"llm.api_key":``,"llm.base_url":``},onSaveControlChange:w},i===`edit`?`edit-${u?.profile.name}`:`new-profile`),(0,z.jsxs)(`div`,{className:`flex justify-start gap-3 pt-4 border-t border-[var(--oh-border)]`,children:[(0,z.jsx)(T,{testId:`cancel-profile-btn`,type:`button`,variant:`tertiary`,onClick:C,children:e(o.BUTTON$CANCEL)}),(0,z.jsx)(T,{testId:`save-profile-btn`,type:`button`,variant:`primary`,onClick:E,isDisabled:!b||_||!f,"aria-busy":_,children:e(_?o.STATUS$SAVING:o.BUTTON$SAVE)})]})]})}var ye=new Set([`llm.model`,`llm.api_key`,`llm.base_url`]),be=(e,t)=>!e||!t?null:`${e}/${t}`,xe=(e,t)=>e?.sections.flatMap(e=>e.fields).find(e=>e.key===t)?.default??null,Z={openai:new Set([`https://api.openai.com`,`https://api.openai.com/v1`]),openhands:new Set([`https://llm-proxy.app.all-hands.dev`,`https://llm-proxy.app.all-hands.dev/v1`]),litellm_proxy:new Set([`https://llm-proxy.app.all-hands.dev`,`https://llm-proxy.app.all-hands.dev/v1`])},Se=e=>{try{let t=new URL(e),n=t.pathname.replace(/\/+$/,``)||``;return`${t.origin}${n}`}catch{return e.trim().replace(/\/+$/,``)}},Ce=(e,t)=>{let n=Se(t),{provider:r}=D(e);if(r){let e=Z[r];if(e)return e.has(n)}return Object.values(Z).some(e=>e?.has(n))};function Q({testId:e}){let{t}=c(`openhands`);return(0,z.jsx)(L,{testId:e,text:t(o.SETTINGS$OPENHANDS_API_KEY_HELP_TEXT),linkText:t(o.SETTINGS$NAV_API_KEYS),href:`https://app.all-hands.dev/settings/api-keys`,suffix:` ${t(o.SETTINGS$OPENHANDS_API_KEY_HELP_SUFFIX)}`})}function $({scope:e=`personal`,onSaveSuccess:t,initialValueOverrides:n,embedded:r,hideSaveButton:i,onSaveControlChange:a}){let{t:s}=c(`openhands`),{data:l}=ee(e),{data:u}=ie(l?.agent_settings_schema),d=String(A.agent_settings?.llm?.model??``),f=R.useCallback((e,t)=>{let n=re(e,t);if(n!==`basic`)return n;let r=e.llm_model??``,i=e.llm_base_url?.trim()??``;return i.length>0&&!Ce(r,i)?`all`:`basic`},[]);return(0,z.jsx)(ae,{scope:e,sectionKeys:[`llm`],excludeKeys:ye,header:R.useCallback(({values:e,isDisabled:t,view:n,onChange:i})=>{let a=typeof e[`llm.model`]==`string`?e[`llm.model`]:``,c=typeof e[`llm.base_url`]==`string`?e[`llm.base_url`]:``,u=a.startsWith(`openhands/`),f=typeof e[`llm.api_key`]==`string`?e[`llm.api_key`]:``,p=r?f.length>0:!!l?.llm_api_key_set,m=(e,n)=>(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(k,{testId:e,label:s(o.SETTINGS_FORM$API_KEY),type:`password`,className:`w-full`,value:f,placeholder:p?`<hidden>`:``,onChange:e=>i(`llm.api_key`,e),isDisabled:t,startContent:p?(0,z.jsx)(V,{isSet:p}):void 0}),(0,z.jsx)(L,{testId:n,text:s(o.SETTINGS$DONT_KNOW_API_KEY),linkText:s(o.SETTINGS$CLICK_FOR_INSTRUCTIONS),href:`https://docs.openhands.dev/usage/local-setup#getting-an-api-key`})]});return(0,z.jsx)(`div`,{className:`flex flex-col gap-6`,children:n===`basic`?(0,z.jsxs)(`div`,{className:`flex flex-col gap-6`,"data-testid":`llm-settings-form-basic`,children:[(0,z.jsx)(O,{currentModel:a||void 0,currentBaseUrl:c||void 0,onChange:(e,t)=>{let n=be(e,t);n&&i(`llm.model`,n)},wrapperClassName:`!flex-col !gap-6`,isDisabled:t}),u?(0,z.jsx)(Q,{testId:`openhands-api-key-help`}):null,m(`llm-api-key-input`,`llm-api-key-help-anchor`)]}):(0,z.jsxs)(`div`,{className:`flex flex-col gap-6`,"data-testid":`llm-settings-form-advanced`,children:[(0,z.jsx)(k,{testId:`llm-custom-model-input`,label:s(o.SETTINGS$CUSTOM_MODEL),type:`text`,className:`w-full`,value:a,placeholder:d,onChange:e=>i(`llm.model`,e),isDisabled:t}),u?(0,z.jsx)(Q,{testId:`openhands-api-key-help-2`}):null,(0,z.jsx)(k,{testId:`base-url-input`,label:s(o.SETTINGS$BASE_URL),type:`text`,className:`w-full`,value:c,placeholder:`https://api.openai.com`,onChange:e=>i(`llm.base_url`,e),isDisabled:t}),m(`llm-api-key-input`,`llm-api-key-help-anchor-advanced`)]})})},[d,r,l?.llm_api_key_set,s]),buildPayload:R.useCallback((e,t)=>{let n=structuredClone(e),r=n.llm??{};return t.view===`basic`&&(r.base_url=xe(u,`llm.base_url`),n.llm=r),{agent_settings_diff:n}},[u]),getInitialView:f,forceShowAdvancedView:!0,allowAllView:!0,onSaveSuccess:t,initialValueOverrides:n,embedded:r,hideSaveButton:i,onSaveControlChange:a,testId:`llm-settings-screen`})}var we=n(function(){let{backend:e}=v();return e.kind===`cloud`?(0,z.jsx)($,{}):(0,z.jsx)(ve,{})});export{W as a,J as i,we as n,X as r,$ as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
window.__reactRouterManifest={"entry":{"module":"/assets/entry.client-CqqXOSvd.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/preload-helper-CT1Z6Pdu.js","/assets/vendor~entry.client-CySJvEhK.js","/assets/providers-DXvCAN_u.js","/assets/declaration-D378OjpZ.js","/assets/vendor~entry.client-Du9GpFmX.js","/assets/react-CM_dJw1Z.js","/assets/i18n-DjAGhTis.js","/assets/react-dom-hVBnwgwZ.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js","/assets/query-client-config-Ba7qAAoO.js","/assets/QueryClientProvider-B7kl84Kj.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~jfc6hidu-VnmIZrq3.js","/assets/context-CEQZwATj.js","/assets/option-service.api-DsI1UW7N.js","/assets/utils-D-HX7JCe.js","/assets/active-backend-context-TVbjnvmP.js","/assets/query-keys-tAsQcc_9.js","/assets/agent-server-ui-style-scope-BwIZYdC1.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js","/assets/mutation-Cz7N4XAo.js","/assets/custom-toast-handlers-BOc3qeQ7.js","/assets/health-store-BDC2rM-X.js","/assets/retrieve-axios-error-message-BY-yIkIq.js","/assets/createLucideIcon-Ddu8jDOQ.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~skills-settings~m~o9nrx3fm-D44TR8hL.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~zm51vy4j-iOsylxCS.js","/assets/agent-server-client-options-DT2GP6VJ.js","/assets/llm-client-ChQzg4wX.js","/assets/agent-server-compatibility-2aOx5iWd.js","/assets/server-client-C3mC8Hl3.js"],"css":[]},"routes":{"root":{"id":"root","path":"","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/root-3t9rxEpE.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/preload-helper-CT1Z6Pdu.js","/assets/vendor~entry.client-CySJvEhK.js","/assets/providers-DXvCAN_u.js","/assets/declaration-D378OjpZ.js","/assets/vendor~entry.client-Du9GpFmX.js","/assets/react-CM_dJw1Z.js","/assets/i18n-DjAGhTis.js","/assets/react-dom-hVBnwgwZ.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js","/assets/query-client-config-Ba7qAAoO.js","/assets/QueryClientProvider-B7kl84Kj.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~jfc6hidu-VnmIZrq3.js","/assets/context-CEQZwATj.js","/assets/option-service.api-DsI1UW7N.js","/assets/utils-D-HX7JCe.js","/assets/active-backend-context-TVbjnvmP.js","/assets/query-keys-tAsQcc_9.js","/assets/agent-server-ui-style-scope-BwIZYdC1.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js","/assets/mutation-Cz7N4XAo.js","/assets/custom-toast-handlers-BOc3qeQ7.js","/assets/health-store-BDC2rM-X.js","/assets/retrieve-axios-error-message-BY-yIkIq.js","/assets/createLucideIcon-Ddu8jDOQ.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~skills-settings~m~o9nrx3fm-D44TR8hL.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~zm51vy4j-iOsylxCS.js","/assets/agent-server-client-options-DT2GP6VJ.js","/assets/llm-client-ChQzg4wX.js","/assets/agent-server-compatibility-2aOx5iWd.js","/assets/server-client-C3mC8Hl3.js","/assets/useTranslation-CpIcQBq6.js","/assets/brand-button-C2nEKopC.js","/assets/base-modal-CQRvRHu1.js","/assets/loading-spinner-C04FGh14.js","/assets/modal-backdrop-DTYGVmOR.js","/assets/modal-body-YElmM1dV.js","/assets/use-config-BSu_53GL.js","/assets/color-themes-DSaoIL6A.js","/assets/vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-CyUbhpbm.js"],"css":["/assets/root-DHeCXo9N.css"]},"routes/root-layout":{"id":"routes/root-layout","parentId":"root","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/root-layout-BjVwHmta.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/preload-helper-CT1Z6Pdu.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~k776hupu-D40EXhZx.js","/assets/agent-server-conversation-service.api-BZmUqtiO.js","/assets/path-utils-BVbe598W.js","/assets/vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-CyUbhpbm.js","/assets/use-is-creating-conversation-DhDeeWfA.js","/assets/vendor~root-layout~home~conversation-panel~conversation-DjAjXS5J.js","/assets/custom-toast-handlers-BOc3qeQ7.js","/assets/createLucideIcon-Ddu8jDOQ.js","/assets/git-branch-DQS2nMK4.js","/assets/check-CYxAHs85.js","/assets/sidebar-mobile-menu-toggle-BnbzzpQl.js","/assets/plus-DT-M0FA1.js","/assets/trash-2-CbVljPko.js","/assets/x-JOBEVLW0.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~jfc6hidu-VnmIZrq3.js","/assets/react-dom-hVBnwgwZ.js","/assets/declaration-D378OjpZ.js","/assets/useTranslation-CpIcQBq6.js","/assets/vendor~root-layout~conversation-panel~conversation~shared-conversation-DrXgiSCq.js","/assets/vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-BP1SKG0F.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js","/assets/react-CM_dJw1Z.js","/assets/middleware-BC9EwbB9.js","/assets/react-Do0CT17Y.js","/assets/git-provider-icon-D-a-rcLm.js","/assets/conversation-service.api--f8WglOC.js","/assets/backend-form-modal-DxYjqqAK.js","/assets/manage-workspaces-modal-C5EuW8m1.js","/assets/openhands-logo-CI5Fhn1W.js","/assets/add-backend-modal-FsnpTTgO.js","/assets/environment-switch-store-C4ulFJKp.js","/assets/manage-backends-modal-s22zCdEW.js","/assets/context-menu-list-item-Buu9nc0q.js","/assets/ellipsis-button-ugUATsNo.js","/assets/brand-button-C2nEKopC.js","/assets/sidebar-nav-link-CnWoZcwc.js","/assets/use-cloud-current-user-id-DWVar4st.js","/assets/base-modal-CQRvRHu1.js","/assets/styled-tooltip-CS3mB_1X.js","/assets/loading-spinner-C04FGh14.js","/assets/modal-backdrop-DTYGVmOR.js","/assets/modal-body-YElmM1dV.js","/assets/navigation-link-C9JD4PYD.js","/assets/acp-providers-DauuOsW9.js","/assets/utils-D-HX7JCe.js","/assets/navigation-context-DeIPtGPp.js","/assets/active-backend-context-TVbjnvmP.js","/assets/use-create-conversation-BEZg__Vv.js","/assets/use-save-settings-CEEKSTWG.js","/assets/use-config-BSu_53GL.js","/assets/use-is-authed-hXC8vxgT.js","/assets/use-settings-DQ7Oo1Hj.js","/assets/use-user-conversation-B_zDoSeh.js","/assets/use-click-outside-element-835W9pC6.js","/assets/i18n-DjAGhTis.js","/assets/search-Cq_cFrDt.js","/assets/skills-ZyAO5dyK.js","/assets/u-edit-KAUlufD8.js","/assets/conversation-state-store-Bc0slAjL.js","/assets/conversation-store-Z5iMCRpc.js","/assets/sidebar-store-cOeaKmIm.js","/assets/common-SMkEaBSr.js","/assets/combobox-caret-B53O9Hsq.js","/assets/handle-capture-consent-BfZATzpI.js","/assets/status-CsatcFbK.js","/assets/vscode-url-helper-jesbpos5.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-8b8V5bfO.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-Dy7L6fMG.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-BebWhFNT.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~dp08i1qy-CHrEOFl6.js","/assets/agent-server-client-options-DT2GP6VJ.js","/assets/profiles-client-BGkKEV9j.js","/assets/agent-server-compatibility-2aOx5iWd.js","/assets/settings-service.api-FvJGK45W.js","/assets/proxy-CurRmrqf.js","/assets/settings-D5am1n6X.js","/assets/server-client-C3mC8Hl3.js","/assets/settings-client-CwjfwoiB.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~pfbaerbd-zhv9fooy.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js","/assets/QueryClientProvider-B7kl84Kj.js","/assets/objectWithoutPropertiesLoose-Du6eBn-V.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~skills-settings~m~o9nrx3fm-D44TR8hL.js","/assets/useMutation-B4OUESdw.js","/assets/Trans-1j65oy9O.js","/assets/mutation-Cz7N4XAo.js","/assets/context-CEQZwATj.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~zm51vy4j-iOsylxCS.js","/assets/iconBase-C7N9pPOs.js","/assets/dist-DZHSA2e6.js","/assets/conversation-local-storage-UYl-SX-r.js","/assets/git-status-mapper-BI8FyUVp.js","/assets/health-store-BDC2rM-X.js","/assets/query-keys-tAsQcc_9.js","/assets/organization-service.api-COwMPFg5.js","/assets/settings-input-DBywAnA7.js","/assets/modal-close-button-C_GpQt9F.js","/assets/confirmation-modal-C9-La0h3.js","/assets/chevron-left-small-CSh-sE9L.js","/assets/close-BdmyeRqS.js","/assets/folder-0WSMImNX.js","/assets/terminal-LNa-iU5c.js","/assets/pencil-Dr0b2jL1.js","/assets/option-service.api-DsI1UW7N.js","/assets/llm-client-ChQzg4wX.js"],"css":[]},"routes/index-redirect":{"id":"routes/index-redirect","parentId":"routes/root-layout","index":true,"hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":true,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/index-redirect-Cc5dXUGe.js","imports":["/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js","/assets/rolldown-runtime-BFRubm34.js","/assets/preload-helper-CT1Z6Pdu.js","/assets/react-CM_dJw1Z.js"],"css":[]},"routes/home":{"id":"routes/home","parentId":"routes/root-layout","path":"conversations","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/home-DD0GroCu.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/vendor~home~conversation-panel~conversation-PK1-gtXU.js","/assets/recommended-automations-launcher-mJhK6Atl.js","/assets/use-is-creating-conversation-DhDeeWfA.js","/assets/vendor~root-layout~home~conversation-panel~conversation-DjAjXS5J.js","/assets/custom-toast-handlers-BOc3qeQ7.js","/assets/createLucideIcon-Ddu8jDOQ.js","/assets/git-branch-DQS2nMK4.js","/assets/check-CYxAHs85.js","/assets/conversation-websocket-context-BW68-J8o.js","/assets/llm-settings-BdiaGFbg.js","/assets/declaration-D378OjpZ.js","/assets/useTranslation-CpIcQBq6.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js","/assets/react-CM_dJw1Z.js","/assets/git-provider-icon-D-a-rcLm.js","/assets/backend-form-modal-DxYjqqAK.js","/assets/manage-workspaces-modal-C5EuW8m1.js","/assets/git-control-bar-branch-button-C8u5rzjc.js","/assets/brand-button-C2nEKopC.js","/assets/base-modal-CQRvRHu1.js","/assets/styled-tooltip-CS3mB_1X.js","/assets/modal-backdrop-DTYGVmOR.js","/assets/modal-body-YElmM1dV.js","/assets/modal-close-button-C_GpQt9F.js","/assets/acp-providers-DauuOsW9.js","/assets/utils-D-HX7JCe.js","/assets/navigation-context-DeIPtGPp.js","/assets/active-backend-context-TVbjnvmP.js","/assets/use-create-conversation-BEZg__Vv.js","/assets/use-save-settings-CEEKSTWG.js","/assets/folder-0WSMImNX.js","/assets/conversation-store-Z5iMCRpc.js","/assets/typography-vVUMoNUg.js","/assets/retrieve-axios-error-message-BY-yIkIq.js","/assets/vendor~home~mcp~automations-list-C5PoHCy6.js","/assets/circle-plus-check-toggle-qs8Va1cC.js","/assets/install-server-modal-z5VaHeXd.js","/assets/skill-card-pill-row-tZ599jli.js","/assets/use-settings-DQ7Oo1Hj.js","/assets/clock-ZR4Kn-_Y.js","/assets/conversation-local-storage-UYl-SX-r.js","/assets/vendor~home~mcp~automations-list-BUBGGGYz.js","/assets/checkmark-BJJrZUF8.js","/assets/x-mark-CWI0f9yI.js","/assets/context-CEQZwATj.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~k776hupu-D40EXhZx.js","/assets/preload-helper-CT1Z6Pdu.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-8b8V5bfO.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-Dy7L6fMG.js","/assets/react-dom-hVBnwgwZ.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-BebWhFNT.js","/assets/iconBase-C7N9pPOs.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js","/assets/QueryClientProvider-B7kl84Kj.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~dp08i1qy-CHrEOFl6.js","/assets/agent-server-client-options-DT2GP6VJ.js","/assets/useMutation-B4OUESdw.js","/assets/settings-service.api-FvJGK45W.js","/assets/settings-input-DBywAnA7.js","/assets/query-keys-tAsQcc_9.js","/assets/mutation-Cz7N4XAo.js","/assets/i18n-DjAGhTis.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~skills-settings~m~o9nrx3fm-D44TR8hL.js","/assets/settings-client-CwjfwoiB.js","/assets/proxy-CurRmrqf.js","/assets/settings-D5am1n6X.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~pfbaerbd-zhv9fooy.js","/assets/vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-CyUbhpbm.js","/assets/health-store-BDC2rM-X.js","/assets/agent-server-conversation-service.api-BZmUqtiO.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~jfc6hidu-VnmIZrq3.js","/assets/profiles-client-BGkKEV9j.js","/assets/agent-server-compatibility-2aOx5iWd.js","/assets/common-SMkEaBSr.js","/assets/server-client-C3mC8Hl3.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~zm51vy4j-iOsylxCS.js","/assets/middleware-BC9EwbB9.js","/assets/react-Do0CT17Y.js","/assets/objectWithoutPropertiesLoose-Du6eBn-V.js","/assets/path-utils-BVbe598W.js","/assets/use-user-conversation-B_zDoSeh.js","/assets/browser-store-C3AqxAO7.js","/assets/command-store-DFN_17p1.js","/assets/conversation-state-store-Bc0slAjL.js","/assets/files-tab-store-CDyVTXNT.js","/assets/use-event-store-BT_gV3ut.js","/assets/model-selector-DeMmw-Xa.js","/assets/settings-list-classes-BOS092DR.js","/assets/use-llm-profiles-O4a9V6RC.js","/assets/ellipsis-button-ugUATsNo.js","/assets/sdk-section-page-CJW0G04-.js","/assets/loading-spinner-C04FGh14.js","/assets/settings-section-header-context-32x6WTyL.js","/assets/use-agent-settings-schema-Bvp5UzV8.js","/assets/u-check-circle-DplbarS5.js","/assets/u-edit-KAUlufD8.js","/assets/sdk-settings-schema-QBYH-ONX.js","/assets/vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-CGlZoBKa.js","/assets/llm-client-ChQzg4wX.js","/assets/combobox-caret-B53O9Hsq.js","/assets/map-provider-COBVzZYo.js","/assets/vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-DE11mPxp.js","/assets/dist-DZHSA2e6.js","/assets/sdk-settings-field-metadata-CBPmeqYa.js","/assets/switch-skeleton-C-CfhYYV.js","/assets/settings-dropdown-input-VwAXNrOb.js","/assets/settings-switch-DTKmHC8F.js","/assets/toggle-switch-k-IZCDbt.js","/assets/use-is-authed-hXC8vxgT.js","/assets/vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-BP1SKG0F.js","/assets/git-status-mapper-BI8FyUVp.js","/assets/organization-service.api-COwMPFg5.js","/assets/openhands-logo-CI5Fhn1W.js","/assets/confirmation-modal-C9-La0h3.js","/assets/chevron-left-small-CSh-sE9L.js","/assets/close-BdmyeRqS.js","/assets/terminal-LNa-iU5c.js","/assets/chevron-down-Bnmd5iG-.js","/assets/plus-DT-M0FA1.js","/assets/use-skills-BIvlWblA.js","/assets/conversation-service.api--f8WglOC.js","/assets/context-menu-list-item-Buu9nc0q.js","/assets/markdown-renderer-CEX4Becj.js","/assets/navigation-link-C9JD4PYD.js","/assets/use-active-conversation-DS5j9R4q.js","/assets/use-agent-state-D2C9SeGw.js","/assets/use-click-outside-element-835W9pC6.js","/assets/use-conversation-id-DajhCn2A.js","/assets/use-handle-plan-click-uOpew2LO.js","/assets/link-external-C9d6Fo3x.js","/assets/lesson-plan-DRYG5SLI.js","/assets/settings-gear-BJwWR1ej.js","/assets/skills-ZyAO5dyK.js","/assets/u-circuit-C9tYkpeK.js","/assets/status-CsatcFbK.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-B92czPCF.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-Ds9quNZ9.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DpAdkv8m.js","/assets/copy-C7Ti2d8C.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-BbFOrAjI.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-BW6261Sb.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-By5W2oHN.js"],"css":[]},"routes/conversation-panel":{"id":"routes/conversation-panel","parentId":"routes/root-layout","path":"conversations/:conversationId/panel","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/conversation-panel-B49Jpqpb.js","imports":["/assets/conversation--ldUK72N.js","/assets/rolldown-runtime-BFRubm34.js","/assets/preload-helper-CT1Z6Pdu.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-8b8V5bfO.js","/assets/agent-server-conversation-service.api-BZmUqtiO.js","/assets/agent-server-client-options-DT2GP6VJ.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-Dy7L6fMG.js","/assets/path-utils-BVbe598W.js","/assets/useMutation-B4OUESdw.js","/assets/vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-CyUbhpbm.js","/assets/QueryClientProvider-B7kl84Kj.js","/assets/vendor~conversation-panel~conversation~alert-banner-Df7_G0zR.js","/assets/vendor~conversation-panel~conversation-BlCIz9XQ.js","/assets/custom-toast-handlers-BOc3qeQ7.js","/assets/Trans-1j65oy9O.js","/assets/messages-6aOyUu3r.js","/assets/sidebar-mobile-menu-toggle-BnbzzpQl.js","/assets/conversation-websocket-context-BW68-J8o.js","/assets/x-JOBEVLW0.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~jfc6hidu-VnmIZrq3.js","/assets/react-dom-hVBnwgwZ.js","/assets/declaration-D378OjpZ.js","/assets/useTranslation-CpIcQBq6.js","/assets/vendor~root-layout~conversation-panel~conversation~shared-conversation-DrXgiSCq.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js","/assets/react-CM_dJw1Z.js","/assets/middleware-BC9EwbB9.js","/assets/react-Do0CT17Y.js","/assets/git-provider-icon-D-a-rcLm.js","/assets/use-unified-vscode-url-wAMzv8Sn.js","/assets/conversation-service.api--f8WglOC.js","/assets/git-control-bar-branch-button-C8u5rzjc.js","/assets/context-menu-list-item-Buu9nc0q.js","/assets/ellipsis-button-ugUATsNo.js","/assets/plan-components-DEjMuDDG.js","/assets/brand-button-C2nEKopC.js","/assets/base-modal-CQRvRHu1.js","/assets/styled-tooltip-CS3mB_1X.js","/assets/loading-spinner-C04FGh14.js","/assets/modal-backdrop-DTYGVmOR.js","/assets/modal-body-YElmM1dV.js","/assets/modal-close-button-C_GpQt9F.js","/assets/utils-D-HX7JCe.js","/assets/navigation-context-DeIPtGPp.js","/assets/active-backend-context-TVbjnvmP.js","/assets/use-create-conversation-BEZg__Vv.js","/assets/use-active-conversation-DS5j9R4q.js","/assets/use-is-authed-hXC8vxgT.js","/assets/use-settings-DQ7Oo1Hj.js","/assets/use-user-conversation-B_zDoSeh.js","/assets/use-agent-state-D2C9SeGw.js","/assets/use-breakpoint-B86yKT9n.js","/assets/use-click-outside-element-835W9pC6.js","/assets/use-conversation-id-DajhCn2A.js","/assets/use-runtime-is-ready-pGSbPddC.js","/assets/use-task-list-DDeNHprj.js","/assets/copy-C7Ti2d8C.js","/assets/lesson-plan-DRYG5SLI.js","/assets/skills-ZyAO5dyK.js","/assets/terminal-LNa-iU5c.js","/assets/u-edit-KAUlufD8.js","/assets/command-store-DFN_17p1.js","/assets/conversation-state-store-Bc0slAjL.js","/assets/conversation-store-Z5iMCRpc.js","/assets/use-event-store-BT_gV3ut.js","/assets/common-SMkEaBSr.js","/assets/typography-vVUMoNUg.js","/assets/conversation-local-storage-UYl-SX-r.js","/assets/status-CsatcFbK.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-BebWhFNT.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~dp08i1qy-CHrEOFl6.js","/assets/profiles-client-BGkKEV9j.js","/assets/agent-server-compatibility-2aOx5iWd.js","/assets/settings-service.api-FvJGK45W.js","/assets/proxy-CurRmrqf.js","/assets/acp-providers-DauuOsW9.js","/assets/settings-D5am1n6X.js","/assets/server-client-C3mC8Hl3.js","/assets/settings-client-CwjfwoiB.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~pfbaerbd-zhv9fooy.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js","/assets/createLucideIcon-Ddu8jDOQ.js","/assets/mutation-Cz7N4XAo.js","/assets/vendor~conversation-panel~conversation~index-C23ZXO4R.js","/assets/i18n-DjAGhTis.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~skills-settings~m~o9nrx3fm-D44TR8hL.js","/assets/context-CEQZwATj.js","/assets/chevron-down-Bnmd5iG-.js","/assets/markdown-renderer-CEX4Becj.js","/assets/use-config-BSu_53GL.js","/assets/close-BdmyeRqS.js","/assets/u-check-circle-half-yDuiSZHC.js","/assets/u-check-circle-DplbarS5.js","/assets/browser-store-C3AqxAO7.js","/assets/files-tab-store-CDyVTXNT.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~zm51vy4j-iOsylxCS.js","/assets/health-store-BDC2rM-X.js","/assets/iconBase-C7N9pPOs.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-B92czPCF.js","/assets/vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-BP1SKG0F.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-Ds9quNZ9.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DpAdkv8m.js","/assets/checkmark-BJJrZUF8.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-BbFOrAjI.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-BW6261Sb.js","/assets/objectWithoutPropertiesLoose-Du6eBn-V.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-By5W2oHN.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~k776hupu-D40EXhZx.js","/assets/option-service.api-DsI1UW7N.js","/assets/query-keys-tAsQcc_9.js","/assets/llm-client-ChQzg4wX.js","/assets/dist-DZHSA2e6.js","/assets/git-status-mapper-BI8FyUVp.js","/assets/vscode-url-helper-jesbpos5.js","/assets/vendor~home~conversation-panel~conversation-PK1-gtXU.js","/assets/vendor~root-layout~home~conversation-panel~conversation-DjAjXS5J.js","/assets/check-CYxAHs85.js","/assets/plus-DT-M0FA1.js","/assets/use-skills-BIvlWblA.js","/assets/use-llm-profiles-O4a9V6RC.js","/assets/navigation-link-C9JD4PYD.js","/assets/use-handle-plan-click-uOpew2LO.js","/assets/link-external-C9d6Fo3x.js","/assets/settings-gear-BJwWR1ej.js","/assets/u-circuit-C9tYkpeK.js","/assets/combobox-caret-B53O9Hsq.js"],"css":[]},"routes/conversation":{"id":"routes/conversation","parentId":"routes/root-layout","path":"conversations/:conversationId","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/conversation-eNrhH94O.js","imports":["/assets/conversation--ldUK72N.js","/assets/rolldown-runtime-BFRubm34.js","/assets/preload-helper-CT1Z6Pdu.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-8b8V5bfO.js","/assets/agent-server-conversation-service.api-BZmUqtiO.js","/assets/agent-server-client-options-DT2GP6VJ.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-Dy7L6fMG.js","/assets/path-utils-BVbe598W.js","/assets/useMutation-B4OUESdw.js","/assets/vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-CyUbhpbm.js","/assets/QueryClientProvider-B7kl84Kj.js","/assets/vendor~conversation-panel~conversation~alert-banner-Df7_G0zR.js","/assets/vendor~conversation-panel~conversation-BlCIz9XQ.js","/assets/custom-toast-handlers-BOc3qeQ7.js","/assets/Trans-1j65oy9O.js","/assets/messages-6aOyUu3r.js","/assets/sidebar-mobile-menu-toggle-BnbzzpQl.js","/assets/conversation-websocket-context-BW68-J8o.js","/assets/x-JOBEVLW0.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~jfc6hidu-VnmIZrq3.js","/assets/react-dom-hVBnwgwZ.js","/assets/declaration-D378OjpZ.js","/assets/useTranslation-CpIcQBq6.js","/assets/vendor~root-layout~conversation-panel~conversation~shared-conversation-DrXgiSCq.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js","/assets/react-CM_dJw1Z.js","/assets/middleware-BC9EwbB9.js","/assets/react-Do0CT17Y.js","/assets/git-provider-icon-D-a-rcLm.js","/assets/use-unified-vscode-url-wAMzv8Sn.js","/assets/conversation-service.api--f8WglOC.js","/assets/git-control-bar-branch-button-C8u5rzjc.js","/assets/context-menu-list-item-Buu9nc0q.js","/assets/ellipsis-button-ugUATsNo.js","/assets/plan-components-DEjMuDDG.js","/assets/brand-button-C2nEKopC.js","/assets/base-modal-CQRvRHu1.js","/assets/styled-tooltip-CS3mB_1X.js","/assets/loading-spinner-C04FGh14.js","/assets/modal-backdrop-DTYGVmOR.js","/assets/modal-body-YElmM1dV.js","/assets/modal-close-button-C_GpQt9F.js","/assets/utils-D-HX7JCe.js","/assets/navigation-context-DeIPtGPp.js","/assets/active-backend-context-TVbjnvmP.js","/assets/use-create-conversation-BEZg__Vv.js","/assets/use-active-conversation-DS5j9R4q.js","/assets/use-is-authed-hXC8vxgT.js","/assets/use-settings-DQ7Oo1Hj.js","/assets/use-user-conversation-B_zDoSeh.js","/assets/use-agent-state-D2C9SeGw.js","/assets/use-breakpoint-B86yKT9n.js","/assets/use-click-outside-element-835W9pC6.js","/assets/use-conversation-id-DajhCn2A.js","/assets/use-runtime-is-ready-pGSbPddC.js","/assets/use-task-list-DDeNHprj.js","/assets/copy-C7Ti2d8C.js","/assets/lesson-plan-DRYG5SLI.js","/assets/skills-ZyAO5dyK.js","/assets/terminal-LNa-iU5c.js","/assets/u-edit-KAUlufD8.js","/assets/command-store-DFN_17p1.js","/assets/conversation-state-store-Bc0slAjL.js","/assets/conversation-store-Z5iMCRpc.js","/assets/use-event-store-BT_gV3ut.js","/assets/common-SMkEaBSr.js","/assets/typography-vVUMoNUg.js","/assets/conversation-local-storage-UYl-SX-r.js","/assets/status-CsatcFbK.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-BebWhFNT.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~dp08i1qy-CHrEOFl6.js","/assets/profiles-client-BGkKEV9j.js","/assets/agent-server-compatibility-2aOx5iWd.js","/assets/settings-service.api-FvJGK45W.js","/assets/proxy-CurRmrqf.js","/assets/acp-providers-DauuOsW9.js","/assets/settings-D5am1n6X.js","/assets/server-client-C3mC8Hl3.js","/assets/settings-client-CwjfwoiB.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~pfbaerbd-zhv9fooy.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js","/assets/createLucideIcon-Ddu8jDOQ.js","/assets/mutation-Cz7N4XAo.js","/assets/vendor~conversation-panel~conversation~index-C23ZXO4R.js","/assets/i18n-DjAGhTis.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~skills-settings~m~o9nrx3fm-D44TR8hL.js","/assets/context-CEQZwATj.js","/assets/chevron-down-Bnmd5iG-.js","/assets/markdown-renderer-CEX4Becj.js","/assets/use-config-BSu_53GL.js","/assets/close-BdmyeRqS.js","/assets/u-check-circle-half-yDuiSZHC.js","/assets/u-check-circle-DplbarS5.js","/assets/browser-store-C3AqxAO7.js","/assets/files-tab-store-CDyVTXNT.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~zm51vy4j-iOsylxCS.js","/assets/health-store-BDC2rM-X.js","/assets/iconBase-C7N9pPOs.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-B92czPCF.js","/assets/vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-BP1SKG0F.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-Ds9quNZ9.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DpAdkv8m.js","/assets/checkmark-BJJrZUF8.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-BbFOrAjI.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-BW6261Sb.js","/assets/objectWithoutPropertiesLoose-Du6eBn-V.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-By5W2oHN.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~k776hupu-D40EXhZx.js","/assets/option-service.api-DsI1UW7N.js","/assets/query-keys-tAsQcc_9.js","/assets/llm-client-ChQzg4wX.js","/assets/dist-DZHSA2e6.js","/assets/git-status-mapper-BI8FyUVp.js","/assets/vscode-url-helper-jesbpos5.js","/assets/vendor~home~conversation-panel~conversation-PK1-gtXU.js","/assets/vendor~root-layout~home~conversation-panel~conversation-DjAjXS5J.js","/assets/check-CYxAHs85.js","/assets/plus-DT-M0FA1.js","/assets/use-skills-BIvlWblA.js","/assets/use-llm-profiles-O4a9V6RC.js","/assets/navigation-link-C9JD4PYD.js","/assets/use-handle-plan-click-uOpew2LO.js","/assets/link-external-C9d6Fo3x.js","/assets/settings-gear-BJwWR1ej.js","/assets/u-circuit-C9tYkpeK.js","/assets/combobox-caret-B53O9Hsq.js"],"css":[]},"routes/launch":{"id":"routes/launch","parentId":"routes/root-layout","path":"launch","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/launch-B2mbfOSm.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/declaration-D378OjpZ.js","/assets/useTranslation-CpIcQBq6.js","/assets/vendor~launch-Dg--Ssk6.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js","/assets/react-CM_dJw1Z.js","/assets/brand-button-C2nEKopC.js","/assets/settings-input-DBywAnA7.js","/assets/modal-backdrop-DTYGVmOR.js","/assets/modal-body-YElmM1dV.js","/assets/modal-close-button-C_GpQt9F.js","/assets/utils-D-HX7JCe.js","/assets/use-create-conversation-BEZg__Vv.js","/assets/typography-vVUMoNUg.js","/assets/context-CEQZwATj.js","/assets/iconBase-C7N9pPOs.js","/assets/preload-helper-CT1Z6Pdu.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js","/assets/react-dom-hVBnwgwZ.js","/assets/agent-server-conversation-service.api-BZmUqtiO.js","/assets/useMutation-B4OUESdw.js","/assets/QueryClientProvider-B7kl84Kj.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~jfc6hidu-VnmIZrq3.js","/assets/use-settings-DQ7Oo1Hj.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~dp08i1qy-CHrEOFl6.js","/assets/agent-server-client-options-DT2GP6VJ.js","/assets/profiles-client-BGkKEV9j.js","/assets/agent-server-compatibility-2aOx5iWd.js","/assets/settings-service.api-FvJGK45W.js","/assets/proxy-CurRmrqf.js","/assets/acp-providers-DauuOsW9.js","/assets/settings-D5am1n6X.js","/assets/common-SMkEaBSr.js","/assets/server-client-C3mC8Hl3.js","/assets/settings-client-CwjfwoiB.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~pfbaerbd-zhv9fooy.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js","/assets/mutation-Cz7N4XAo.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~zm51vy4j-iOsylxCS.js","/assets/vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-CyUbhpbm.js","/assets/active-backend-context-TVbjnvmP.js","/assets/query-keys-tAsQcc_9.js","/assets/health-store-BDC2rM-X.js","/assets/dist-DZHSA2e6.js"],"css":[]},"routes/extensions-hub":{"id":"routes/extensions-hub","parentId":"routes/root-layout","path":"customize","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/extensions-hub-BSUseHVF.js","imports":["/assets/declaration-D378OjpZ.js","/assets/useTranslation-CpIcQBq6.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js","/assets/backend-synced-settings-badge-nAfiUWvM.js","/assets/sidebar-nav-link-CnWoZcwc.js","/assets/extensions-navigation-CT1kc1u_.js","/assets/use-breakpoint-B86yKT9n.js","/assets/typography-vVUMoNUg.js","/assets/rolldown-runtime-BFRubm34.js","/assets/context-CEQZwATj.js","/assets/react-CM_dJw1Z.js","/assets/preload-helper-CT1Z6Pdu.js","/assets/use-cloud-current-user-id-DWVar4st.js","/assets/active-backend-context-TVbjnvmP.js","/assets/organization-service.api-COwMPFg5.js","/assets/utils-D-HX7JCe.js","/assets/agent-server-client-options-DT2GP6VJ.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js","/assets/vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-CyUbhpbm.js","/assets/QueryClientProvider-B7kl84Kj.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~pfbaerbd-zhv9fooy.js","/assets/proxy-CurRmrqf.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js","/assets/health-store-BDC2rM-X.js","/assets/dist-DZHSA2e6.js","/assets/styled-tooltip-CS3mB_1X.js","/assets/navigation-link-C9JD4PYD.js","/assets/navigation-context-DeIPtGPp.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~k776hupu-D40EXhZx.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-8b8V5bfO.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-Dy7L6fMG.js","/assets/react-dom-hVBnwgwZ.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-BebWhFNT.js","/assets/acp-providers-DauuOsW9.js","/assets/use-settings-DQ7Oo1Hj.js","/assets/skills-ZyAO5dyK.js","/assets/sidebar-store-cOeaKmIm.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~dp08i1qy-CHrEOFl6.js","/assets/settings-service.api-FvJGK45W.js","/assets/query-keys-tAsQcc_9.js","/assets/settings-D5am1n6X.js","/assets/settings-client-CwjfwoiB.js","/assets/middleware-BC9EwbB9.js","/assets/react-Do0CT17Y.js"],"css":[]},"routes/skills-settings":{"id":"routes/skills-settings","parentId":"routes/root-layout","path":"skills","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/skills-settings-CG2hu34D.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/custom-toast-handlers-BOc3qeQ7.js","/assets/Trans-1j65oy9O.js","/assets/circle-plus-check-toggle-qs8Va1cC.js","/assets/x-JOBEVLW0.js","/assets/declaration-D378OjpZ.js","/assets/useTranslation-CpIcQBq6.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js","/assets/react-CM_dJw1Z.js","/assets/use-skills-BIvlWblA.js","/assets/brand-button-C2nEKopC.js","/assets/settings-switch-DTKmHC8F.js","/assets/extensions-navigation-CT1kc1u_.js","/assets/skill-card-pill-row-tZ599jli.js","/assets/enum-filter-dropdown-1vpOGySB.js","/assets/modal-backdrop-DTYGVmOR.js","/assets/modal-close-button-C_GpQt9F.js","/assets/utils-D-HX7JCe.js","/assets/use-save-settings-CEEKSTWG.js","/assets/use-settings-DQ7Oo1Hj.js","/assets/use-launch-skill-in-chat-DVGPFrbI.js","/assets/checkmark-BJJrZUF8.js","/assets/copy-C7Ti2d8C.js","/assets/skills-ZyAO5dyK.js","/assets/retrieve-axios-error-message-BY-yIkIq.js","/assets/settings-like-page-layout-classes-Bn-M9oOa.js","/assets/createLucideIcon-Ddu8jDOQ.js","/assets/i18n-DjAGhTis.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~skills-settings~m~o9nrx3fm-D44TR8hL.js","/assets/context-CEQZwATj.js","/assets/styled-tooltip-CS3mB_1X.js","/assets/x-mark-CWI0f9yI.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~k776hupu-D40EXhZx.js","/assets/preload-helper-CT1Z6Pdu.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-8b8V5bfO.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-Dy7L6fMG.js","/assets/react-dom-hVBnwgwZ.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-BebWhFNT.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~dp08i1qy-CHrEOFl6.js","/assets/agent-server-client-options-DT2GP6VJ.js","/assets/vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-CyUbhpbm.js","/assets/proxy-CurRmrqf.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js","/assets/QueryClientProvider-B7kl84Kj.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~pfbaerbd-zhv9fooy.js","/assets/toggle-switch-k-IZCDbt.js","/assets/backend-synced-settings-badge-nAfiUWvM.js","/assets/use-cloud-current-user-id-DWVar4st.js","/assets/navigation-link-C9JD4PYD.js","/assets/acp-providers-DauuOsW9.js","/assets/use-breakpoint-B86yKT9n.js","/assets/sidebar-store-cOeaKmIm.js","/assets/active-backend-context-TVbjnvmP.js","/assets/typography-vVUMoNUg.js","/assets/organization-service.api-COwMPFg5.js","/assets/health-store-BDC2rM-X.js","/assets/dist-DZHSA2e6.js","/assets/navigation-context-DeIPtGPp.js","/assets/settings-service.api-FvJGK45W.js","/assets/query-keys-tAsQcc_9.js","/assets/settings-D5am1n6X.js","/assets/settings-client-CwjfwoiB.js","/assets/middleware-BC9EwbB9.js","/assets/react-Do0CT17Y.js","/assets/check-CYxAHs85.js","/assets/chevron-down-Bnmd5iG-.js","/assets/use-click-outside-element-835W9pC6.js","/assets/useMutation-B4OUESdw.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~jfc6hidu-VnmIZrq3.js","/assets/mutation-Cz7N4XAo.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~zm51vy4j-iOsylxCS.js","/assets/conversation-store-Z5iMCRpc.js","/assets/conversation-local-storage-UYl-SX-r.js"],"css":[]},"routes/skills-plugins":{"id":"routes/skills-plugins","parentId":"routes/root-layout","path":"plugins","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/skills-plugins-BSRz041I.js","imports":["/assets/declaration-D378OjpZ.js","/assets/useTranslation-CpIcQBq6.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js","/assets/extensions-navigation-CT1kc1u_.js","/assets/settings-like-page-layout-classes-Bn-M9oOa.js","/assets/rolldown-runtime-BFRubm34.js","/assets/context-CEQZwATj.js","/assets/react-CM_dJw1Z.js","/assets/preload-helper-CT1Z6Pdu.js","/assets/backend-synced-settings-badge-nAfiUWvM.js","/assets/use-cloud-current-user-id-DWVar4st.js","/assets/styled-tooltip-CS3mB_1X.js","/assets/navigation-link-C9JD4PYD.js","/assets/acp-providers-DauuOsW9.js","/assets/utils-D-HX7JCe.js","/assets/use-settings-DQ7Oo1Hj.js","/assets/use-breakpoint-B86yKT9n.js","/assets/skills-ZyAO5dyK.js","/assets/sidebar-store-cOeaKmIm.js","/assets/active-backend-context-TVbjnvmP.js","/assets/typography-vVUMoNUg.js","/assets/organization-service.api-COwMPFg5.js","/assets/agent-server-client-options-DT2GP6VJ.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js","/assets/vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-CyUbhpbm.js","/assets/QueryClientProvider-B7kl84Kj.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~pfbaerbd-zhv9fooy.js","/assets/proxy-CurRmrqf.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js","/assets/health-store-BDC2rM-X.js","/assets/dist-DZHSA2e6.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~k776hupu-D40EXhZx.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-8b8V5bfO.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-Dy7L6fMG.js","/assets/react-dom-hVBnwgwZ.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-BebWhFNT.js","/assets/navigation-context-DeIPtGPp.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~dp08i1qy-CHrEOFl6.js","/assets/settings-service.api-FvJGK45W.js","/assets/query-keys-tAsQcc_9.js","/assets/settings-D5am1n6X.js","/assets/settings-client-CwjfwoiB.js","/assets/middleware-BC9EwbB9.js","/assets/react-Do0CT17Y.js"],"css":[]},"routes/mcp":{"id":"routes/mcp","parentId":"routes/root-layout","path":"mcp","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":true,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/mcp-C06YssEI.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/vendor~home~mcp~automations-list-C5PoHCy6.js","/assets/useMutation-B4OUESdw.js","/assets/QueryClientProvider-B7kl84Kj.js","/assets/custom-toast-handlers-BOc3qeQ7.js","/assets/createLucideIcon-Ddu8jDOQ.js","/assets/circle-plus-check-toggle-qs8Va1cC.js","/assets/trash-2-CbVljPko.js","/assets/x-JOBEVLW0.js","/assets/declaration-D378OjpZ.js","/assets/useTranslation-CpIcQBq6.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js","/assets/react-CM_dJw1Z.js","/assets/settings-service.api-FvJGK45W.js","/assets/install-server-modal-z5VaHeXd.js","/assets/brand-button-C2nEKopC.js","/assets/settings-input-DBywAnA7.js","/assets/settings-dropdown-input-VwAXNrOb.js","/assets/extensions-navigation-CT1kc1u_.js","/assets/enum-filter-dropdown-1vpOGySB.js","/assets/confirmation-modal-C9-La0h3.js","/assets/modal-backdrop-DTYGVmOR.js","/assets/modal-close-button-C_GpQt9F.js","/assets/utils-D-HX7JCe.js","/assets/active-backend-context-TVbjnvmP.js","/assets/query-keys-tAsQcc_9.js","/assets/use-settings-DQ7Oo1Hj.js","/assets/acp-route-guard-CQTmeJwM.js","/assets/retrieve-axios-error-message-BY-yIkIq.js","/assets/settings-like-page-layout-classes-Bn-M9oOa.js","/assets/git-branch-DQS2nMK4.js","/assets/vendor~home~mcp~automations-list-BUBGGGYz.js","/assets/styled-tooltip-CS3mB_1X.js","/assets/checkmark-BJJrZUF8.js","/assets/x-mark-CWI0f9yI.js","/assets/context-CEQZwATj.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~k776hupu-D40EXhZx.js","/assets/preload-helper-CT1Z6Pdu.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-8b8V5bfO.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-Dy7L6fMG.js","/assets/react-dom-hVBnwgwZ.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-BebWhFNT.js","/assets/iconBase-C7N9pPOs.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js","/assets/mutation-Cz7N4XAo.js","/assets/i18n-DjAGhTis.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~skills-settings~m~o9nrx3fm-D44TR8hL.js","/assets/agent-server-client-options-DT2GP6VJ.js","/assets/settings-client-CwjfwoiB.js","/assets/proxy-CurRmrqf.js","/assets/settings-D5am1n6X.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~pfbaerbd-zhv9fooy.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~dp08i1qy-CHrEOFl6.js","/assets/vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-CyUbhpbm.js","/assets/health-store-BDC2rM-X.js","/assets/vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-CGlZoBKa.js","/assets/combobox-caret-B53O9Hsq.js","/assets/vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-DE11mPxp.js","/assets/backend-synced-settings-badge-nAfiUWvM.js","/assets/use-cloud-current-user-id-DWVar4st.js","/assets/navigation-link-C9JD4PYD.js","/assets/acp-providers-DauuOsW9.js","/assets/use-breakpoint-B86yKT9n.js","/assets/skills-ZyAO5dyK.js","/assets/sidebar-store-cOeaKmIm.js","/assets/typography-vVUMoNUg.js","/assets/organization-service.api-COwMPFg5.js","/assets/dist-DZHSA2e6.js","/assets/navigation-context-DeIPtGPp.js","/assets/middleware-BC9EwbB9.js","/assets/react-Do0CT17Y.js","/assets/check-CYxAHs85.js","/assets/chevron-down-Bnmd5iG-.js","/assets/use-click-outside-element-835W9pC6.js","/assets/query-client-config-Ba7qAAoO.js"],"css":[]},"routes/settings":{"id":"routes/settings","parentId":"routes/root-layout","path":"settings","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":true,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/settings-D7E2U5tK.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/query-client-config-Ba7qAAoO.js","/assets/use-settings-nav-items-YmrXrjn9.js","/assets/declaration-D378OjpZ.js","/assets/useTranslation-CpIcQBq6.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js","/assets/react-CM_dJw1Z.js","/assets/option-service.api-DsI1UW7N.js","/assets/backend-synced-settings-badge-nAfiUWvM.js","/assets/sidebar-nav-link-CnWoZcwc.js","/assets/use-cloud-current-user-id-DWVar4st.js","/assets/navigation-link-C9JD4PYD.js","/assets/utils-D-HX7JCe.js","/assets/settings-section-header-context-32x6WTyL.js","/assets/query-keys-tAsQcc_9.js","/assets/use-breakpoint-B86yKT9n.js","/assets/close-BdmyeRqS.js","/assets/settings-gear-BJwWR1ej.js","/assets/typography-vVUMoNUg.js","/assets/acp-route-guard-CQTmeJwM.js","/assets/settings-like-page-layout-classes-Bn-M9oOa.js","/assets/settings-utils-BsvSU3OM.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js","/assets/mutation-Cz7N4XAo.js","/assets/custom-toast-handlers-BOc3qeQ7.js","/assets/health-store-BDC2rM-X.js","/assets/i18n-DjAGhTis.js","/assets/retrieve-axios-error-message-BY-yIkIq.js","/assets/createLucideIcon-Ddu8jDOQ.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~skills-settings~m~o9nrx3fm-D44TR8hL.js","/assets/acp-providers-DauuOsW9.js","/assets/active-backend-context-TVbjnvmP.js","/assets/use-config-BSu_53GL.js","/assets/use-settings-DQ7Oo1Hj.js","/assets/u-circuit-C9tYkpeK.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~dp08i1qy-CHrEOFl6.js","/assets/agent-server-client-options-DT2GP6VJ.js","/assets/vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-CyUbhpbm.js","/assets/agent-server-compatibility-2aOx5iWd.js","/assets/QueryClientProvider-B7kl84Kj.js","/assets/server-client-C3mC8Hl3.js","/assets/llm-client-ChQzg4wX.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~pfbaerbd-zhv9fooy.js","/assets/settings-service.api-FvJGK45W.js","/assets/settings-D5am1n6X.js","/assets/settings-client-CwjfwoiB.js","/assets/proxy-CurRmrqf.js","/assets/map-provider-COBVzZYo.js","/assets/context-CEQZwATj.js","/assets/preload-helper-CT1Z6Pdu.js","/assets/organization-service.api-COwMPFg5.js","/assets/dist-DZHSA2e6.js","/assets/styled-tooltip-CS3mB_1X.js","/assets/navigation-context-DeIPtGPp.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~k776hupu-D40EXhZx.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-8b8V5bfO.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-Dy7L6fMG.js","/assets/react-dom-hVBnwgwZ.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-BebWhFNT.js"],"css":[]},"routes/settings-index":{"id":"routes/settings-index","parentId":"routes/settings","index":true,"hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/settings-index-J-3BNR0W.js","imports":["/assets/use-settings-nav-items-YmrXrjn9.js","/assets/declaration-D378OjpZ.js","/assets/useTranslation-CpIcQBq6.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js","/assets/backend-synced-settings-badge-nAfiUWvM.js","/assets/sidebar-nav-link-CnWoZcwc.js","/assets/use-config-BSu_53GL.js","/assets/use-breakpoint-B86yKT9n.js","/assets/typography-vVUMoNUg.js","/assets/settings-utils-BsvSU3OM.js","/assets/rolldown-runtime-BFRubm34.js","/assets/createLucideIcon-Ddu8jDOQ.js","/assets/react-CM_dJw1Z.js","/assets/acp-providers-DauuOsW9.js","/assets/active-backend-context-TVbjnvmP.js","/assets/use-settings-DQ7Oo1Hj.js","/assets/u-circuit-C9tYkpeK.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~dp08i1qy-CHrEOFl6.js","/assets/agent-server-client-options-DT2GP6VJ.js","/assets/health-store-BDC2rM-X.js","/assets/vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-CyUbhpbm.js","/assets/agent-server-compatibility-2aOx5iWd.js","/assets/option-service.api-DsI1UW7N.js","/assets/query-keys-tAsQcc_9.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js","/assets/QueryClientProvider-B7kl84Kj.js","/assets/server-client-C3mC8Hl3.js","/assets/llm-client-ChQzg4wX.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~pfbaerbd-zhv9fooy.js","/assets/settings-service.api-FvJGK45W.js","/assets/settings-D5am1n6X.js","/assets/settings-client-CwjfwoiB.js","/assets/proxy-CurRmrqf.js","/assets/map-provider-COBVzZYo.js","/assets/context-CEQZwATj.js","/assets/preload-helper-CT1Z6Pdu.js","/assets/use-cloud-current-user-id-DWVar4st.js","/assets/organization-service.api-COwMPFg5.js","/assets/utils-D-HX7JCe.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js","/assets/dist-DZHSA2e6.js","/assets/styled-tooltip-CS3mB_1X.js","/assets/navigation-link-C9JD4PYD.js","/assets/navigation-context-DeIPtGPp.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~k776hupu-D40EXhZx.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-8b8V5bfO.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-Dy7L6fMG.js","/assets/react-dom-hVBnwgwZ.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-BebWhFNT.js"],"css":[]},"routes/llm-settings":{"id":"routes/llm-settings","parentId":"routes/settings","path":"llm","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/llm-settings-BEyqixPI.js","imports":["/assets/llm-settings-BdiaGFbg.js","/assets/rolldown-runtime-BFRubm34.js","/assets/model-selector-DeMmw-Xa.js","/assets/useMutation-B4OUESdw.js","/assets/QueryClientProvider-B7kl84Kj.js","/assets/custom-toast-handlers-BOc3qeQ7.js","/assets/createLucideIcon-Ddu8jDOQ.js","/assets/settings-list-classes-BOS092DR.js","/assets/react-dom-hVBnwgwZ.js","/assets/declaration-D378OjpZ.js","/assets/useTranslation-CpIcQBq6.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js","/assets/react-CM_dJw1Z.js","/assets/settings-service.api-FvJGK45W.js","/assets/use-llm-profiles-O4a9V6RC.js","/assets/ellipsis-button-ugUATsNo.js","/assets/brand-button-C2nEKopC.js","/assets/sdk-section-page-CJW0G04-.js","/assets/settings-input-DBywAnA7.js","/assets/base-modal-CQRvRHu1.js","/assets/loading-spinner-C04FGh14.js","/assets/modal-backdrop-DTYGVmOR.js","/assets/modal-body-YElmM1dV.js","/assets/utils-D-HX7JCe.js","/assets/active-backend-context-TVbjnvmP.js","/assets/settings-section-header-context-32x6WTyL.js","/assets/query-keys-tAsQcc_9.js","/assets/use-agent-settings-schema-Bvp5UzV8.js","/assets/use-settings-DQ7Oo1Hj.js","/assets/u-check-circle-DplbarS5.js","/assets/u-edit-KAUlufD8.js","/assets/settings-D5am1n6X.js","/assets/sdk-settings-schema-QBYH-ONX.js","/assets/typography-vVUMoNUg.js","/assets/vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-CGlZoBKa.js","/assets/agent-server-client-options-DT2GP6VJ.js","/assets/llm-client-ChQzg4wX.js","/assets/vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-CyUbhpbm.js","/assets/combobox-caret-B53O9Hsq.js","/assets/map-provider-COBVzZYo.js","/assets/preload-helper-CT1Z6Pdu.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-8b8V5bfO.js","/assets/vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-DE11mPxp.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-Dy7L6fMG.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-BebWhFNT.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js","/assets/context-CEQZwATj.js","/assets/dist-DZHSA2e6.js","/assets/sdk-settings-field-metadata-CBPmeqYa.js","/assets/mutation-Cz7N4XAo.js","/assets/i18n-DjAGhTis.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~skills-settings~m~o9nrx3fm-D44TR8hL.js","/assets/settings-client-CwjfwoiB.js","/assets/proxy-CurRmrqf.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~pfbaerbd-zhv9fooy.js","/assets/profiles-client-BGkKEV9j.js","/assets/health-store-BDC2rM-X.js","/assets/switch-skeleton-C-CfhYYV.js","/assets/settings-dropdown-input-VwAXNrOb.js","/assets/settings-switch-DTKmHC8F.js","/assets/use-save-settings-CEEKSTWG.js","/assets/retrieve-axios-error-message-BY-yIkIq.js","/assets/toggle-switch-k-IZCDbt.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~jfc6hidu-VnmIZrq3.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~zm51vy4j-iOsylxCS.js","/assets/use-is-authed-hXC8vxgT.js"],"css":[]},"routes/agent-settings":{"id":"routes/agent-settings","parentId":"routes/settings","path":"agent","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/agent-settings-B247S9G3.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/custom-toast-handlers-BOc3qeQ7.js","/assets/declaration-D378OjpZ.js","/assets/useTranslation-CpIcQBq6.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js","/assets/react-CM_dJw1Z.js","/assets/brand-button-C2nEKopC.js","/assets/settings-input-DBywAnA7.js","/assets/settings-dropdown-input-VwAXNrOb.js","/assets/settings-switch-DTKmHC8F.js","/assets/acp-providers-DauuOsW9.js","/assets/utils-D-HX7JCe.js","/assets/use-save-settings-CEEKSTWG.js","/assets/use-agent-settings-schema-Bvp5UzV8.js","/assets/use-settings-DQ7Oo1Hj.js","/assets/typography-vVUMoNUg.js","/assets/retrieve-axios-error-message-BY-yIkIq.js","/assets/sdk-settings-field-metadata-CBPmeqYa.js","/assets/createLucideIcon-Ddu8jDOQ.js","/assets/i18n-DjAGhTis.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~skills-settings~m~o9nrx3fm-D44TR8hL.js","/assets/context-CEQZwATj.js","/assets/preload-helper-CT1Z6Pdu.js","/assets/vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-CGlZoBKa.js","/assets/combobox-caret-B53O9Hsq.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-8b8V5bfO.js","/assets/vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-DE11mPxp.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-Dy7L6fMG.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-BebWhFNT.js","/assets/react-dom-hVBnwgwZ.js","/assets/toggle-switch-k-IZCDbt.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~dp08i1qy-CHrEOFl6.js","/assets/agent-server-client-options-DT2GP6VJ.js","/assets/useMutation-B4OUESdw.js","/assets/QueryClientProvider-B7kl84Kj.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~jfc6hidu-VnmIZrq3.js","/assets/settings-service.api-FvJGK45W.js","/assets/query-keys-tAsQcc_9.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js","/assets/mutation-Cz7N4XAo.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~zm51vy4j-iOsylxCS.js","/assets/settings-client-CwjfwoiB.js","/assets/proxy-CurRmrqf.js","/assets/settings-D5am1n6X.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~pfbaerbd-zhv9fooy.js","/assets/vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-CyUbhpbm.js","/assets/active-backend-context-TVbjnvmP.js","/assets/health-store-BDC2rM-X.js","/assets/use-is-authed-hXC8vxgT.js","/assets/dist-DZHSA2e6.js"],"css":[]},"routes/condenser-settings":{"id":"routes/condenser-settings","parentId":"routes/settings","path":"condenser","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/condenser-settings-A35V3yng.js","imports":["/assets/declaration-D378OjpZ.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js","/assets/sdk-section-page-CJW0G04-.js","/assets/rolldown-runtime-BFRubm34.js","/assets/preload-helper-CT1Z6Pdu.js","/assets/react-CM_dJw1Z.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~pfbaerbd-zhv9fooy.js","/assets/custom-toast-handlers-BOc3qeQ7.js","/assets/useTranslation-CpIcQBq6.js","/assets/brand-button-C2nEKopC.js","/assets/switch-skeleton-C-CfhYYV.js","/assets/settings-input-DBywAnA7.js","/assets/settings-dropdown-input-VwAXNrOb.js","/assets/settings-switch-DTKmHC8F.js","/assets/utils-D-HX7JCe.js","/assets/use-save-settings-CEEKSTWG.js","/assets/use-agent-settings-schema-Bvp5UzV8.js","/assets/use-settings-DQ7Oo1Hj.js","/assets/sdk-settings-schema-QBYH-ONX.js","/assets/typography-vVUMoNUg.js","/assets/retrieve-axios-error-message-BY-yIkIq.js","/assets/sdk-settings-field-metadata-CBPmeqYa.js","/assets/createLucideIcon-Ddu8jDOQ.js","/assets/i18n-DjAGhTis.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~skills-settings~m~o9nrx3fm-D44TR8hL.js","/assets/context-CEQZwATj.js","/assets/vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-CGlZoBKa.js","/assets/combobox-caret-B53O9Hsq.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-8b8V5bfO.js","/assets/vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-DE11mPxp.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-Dy7L6fMG.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-BebWhFNT.js","/assets/react-dom-hVBnwgwZ.js","/assets/toggle-switch-k-IZCDbt.js","/assets/useMutation-B4OUESdw.js","/assets/QueryClientProvider-B7kl84Kj.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~jfc6hidu-VnmIZrq3.js","/assets/settings-service.api-FvJGK45W.js","/assets/query-keys-tAsQcc_9.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js","/assets/mutation-Cz7N4XAo.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~zm51vy4j-iOsylxCS.js","/assets/agent-server-client-options-DT2GP6VJ.js","/assets/settings-client-CwjfwoiB.js","/assets/proxy-CurRmrqf.js","/assets/settings-D5am1n6X.js","/assets/vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-CyUbhpbm.js","/assets/active-backend-context-TVbjnvmP.js","/assets/health-store-BDC2rM-X.js","/assets/use-is-authed-hXC8vxgT.js","/assets/dist-DZHSA2e6.js"],"css":[]},"routes/verification-settings":{"id":"routes/verification-settings","parentId":"routes/settings","path":"verification","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/verification-settings-BtlTiHP8.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/declaration-D378OjpZ.js","/assets/useTranslation-CpIcQBq6.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js","/assets/react-CM_dJw1Z.js","/assets/brand-button-C2nEKopC.js","/assets/sdk-section-page-CJW0G04-.js","/assets/settings-dropdown-input-VwAXNrOb.js","/assets/settings-switch-DTKmHC8F.js","/assets/utils-D-HX7JCe.js","/assets/use-settings-DQ7Oo1Hj.js","/assets/settings-D5am1n6X.js","/assets/context-CEQZwATj.js","/assets/preload-helper-CT1Z6Pdu.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~pfbaerbd-zhv9fooy.js","/assets/custom-toast-handlers-BOc3qeQ7.js","/assets/switch-skeleton-C-CfhYYV.js","/assets/settings-input-DBywAnA7.js","/assets/use-save-settings-CEEKSTWG.js","/assets/use-agent-settings-schema-Bvp5UzV8.js","/assets/sdk-settings-schema-QBYH-ONX.js","/assets/typography-vVUMoNUg.js","/assets/retrieve-axios-error-message-BY-yIkIq.js","/assets/sdk-settings-field-metadata-CBPmeqYa.js","/assets/createLucideIcon-Ddu8jDOQ.js","/assets/i18n-DjAGhTis.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~skills-settings~m~o9nrx3fm-D44TR8hL.js","/assets/vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-CGlZoBKa.js","/assets/combobox-caret-B53O9Hsq.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-8b8V5bfO.js","/assets/vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-DE11mPxp.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-Dy7L6fMG.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-BebWhFNT.js","/assets/react-dom-hVBnwgwZ.js","/assets/toggle-switch-k-IZCDbt.js","/assets/useMutation-B4OUESdw.js","/assets/QueryClientProvider-B7kl84Kj.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~jfc6hidu-VnmIZrq3.js","/assets/settings-service.api-FvJGK45W.js","/assets/query-keys-tAsQcc_9.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js","/assets/mutation-Cz7N4XAo.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~zm51vy4j-iOsylxCS.js","/assets/agent-server-client-options-DT2GP6VJ.js","/assets/settings-client-CwjfwoiB.js","/assets/proxy-CurRmrqf.js","/assets/vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-CyUbhpbm.js","/assets/active-backend-context-TVbjnvmP.js","/assets/health-store-BDC2rM-X.js","/assets/use-is-authed-hXC8vxgT.js","/assets/dist-DZHSA2e6.js"],"css":[]},"routes/mcp-settings-redirect":{"id":"routes/mcp-settings-redirect","parentId":"routes/settings","path":"mcp","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":true,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/mcp-settings-redirect-DVodP_iu.js","imports":["/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js","/assets/rolldown-runtime-BFRubm34.js","/assets/preload-helper-CT1Z6Pdu.js","/assets/react-CM_dJw1Z.js"],"css":[]},"routes/app-settings":{"id":"routes/app-settings","parentId":"routes/settings","path":"app","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/app-settings-BVeSaty9.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/custom-toast-handlers-BOc3qeQ7.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~jfc6hidu-VnmIZrq3.js","/assets/declaration-D378OjpZ.js","/assets/useTranslation-CpIcQBq6.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js","/assets/react-CM_dJw1Z.js","/assets/brand-button-C2nEKopC.js","/assets/switch-skeleton-C-CfhYYV.js","/assets/settings-input-DBywAnA7.js","/assets/settings-dropdown-input-VwAXNrOb.js","/assets/settings-switch-DTKmHC8F.js","/assets/use-save-settings-CEEKSTWG.js","/assets/use-settings-DQ7Oo1Hj.js","/assets/i18n-DjAGhTis.js","/assets/settings-D5am1n6X.js","/assets/color-themes-DSaoIL6A.js","/assets/handle-capture-consent-BfZATzpI.js","/assets/retrieve-axios-error-message-BY-yIkIq.js","/assets/createLucideIcon-Ddu8jDOQ.js","/assets/utils-D-HX7JCe.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~skills-settings~m~o9nrx3fm-D44TR8hL.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~zm51vy4j-iOsylxCS.js","/assets/context-CEQZwATj.js","/assets/preload-helper-CT1Z6Pdu.js","/assets/vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-CGlZoBKa.js","/assets/combobox-caret-B53O9Hsq.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-8b8V5bfO.js","/assets/vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-DE11mPxp.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-Dy7L6fMG.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-BebWhFNT.js","/assets/react-dom-hVBnwgwZ.js","/assets/toggle-switch-k-IZCDbt.js","/assets/useMutation-B4OUESdw.js","/assets/QueryClientProvider-B7kl84Kj.js","/assets/settings-service.api-FvJGK45W.js","/assets/query-keys-tAsQcc_9.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js","/assets/mutation-Cz7N4XAo.js","/assets/agent-server-client-options-DT2GP6VJ.js","/assets/settings-client-CwjfwoiB.js","/assets/proxy-CurRmrqf.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~pfbaerbd-zhv9fooy.js","/assets/vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-CyUbhpbm.js","/assets/active-backend-context-TVbjnvmP.js","/assets/health-store-BDC2rM-X.js","/assets/agent-server-ui-style-scope-BwIZYdC1.js"],"css":[]},"routes/secrets-settings":{"id":"routes/secrets-settings","parentId":"routes/settings","path":"secrets","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/secrets-settings-MLXqOtX2.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/useMutation-B4OUESdw.js","/assets/vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-CyUbhpbm.js","/assets/QueryClientProvider-B7kl84Kj.js","/assets/settings-list-classes-BOS092DR.js","/assets/pencil-Dr0b2jL1.js","/assets/trash-2-CbVljPko.js","/assets/declaration-D378OjpZ.js","/assets/useTranslation-CpIcQBq6.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js","/assets/react-CM_dJw1Z.js","/assets/secrets-service-Bwd5DeUs.js","/assets/brand-button-C2nEKopC.js","/assets/settings-input-DBywAnA7.js","/assets/loading-spinner-C04FGh14.js","/assets/confirmation-modal-C9-La0h3.js","/assets/utils-D-HX7JCe.js","/assets/active-backend-context-TVbjnvmP.js","/assets/typography-vVUMoNUg.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js","/assets/mutation-Cz7N4XAo.js","/assets/createLucideIcon-Ddu8jDOQ.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js","/assets/context-CEQZwATj.js","/assets/preload-helper-CT1Z6Pdu.js","/assets/agent-server-client-options-DT2GP6VJ.js","/assets/settings-client-CwjfwoiB.js","/assets/proxy-CurRmrqf.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~pfbaerbd-zhv9fooy.js","/assets/modal-backdrop-DTYGVmOR.js","/assets/react-dom-hVBnwgwZ.js","/assets/health-store-BDC2rM-X.js","/assets/dist-DZHSA2e6.js"],"css":[]},"routes/device-verify":{"id":"routes/device-verify","parentId":"routes/root-layout","path":"oauth/device/verify","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/device-verify-CMusn8nX.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/declaration-D378OjpZ.js","/assets/useTranslation-CpIcQBq6.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js","/assets/react-CM_dJw1Z.js","/assets/utils-D-HX7JCe.js","/assets/use-is-authed-hXC8vxgT.js","/assets/typography-vVUMoNUg.js","/assets/context-CEQZwATj.js","/assets/preload-helper-CT1Z6Pdu.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js","/assets/vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-CyUbhpbm.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js","/assets/QueryClientProvider-B7kl84Kj.js","/assets/dist-DZHSA2e6.js"],"css":[]},"routes/automations-list":{"id":"routes/automations-list","parentId":"routes/root-layout","path":"automations","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/automations-list-Dfu2c-_D.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/recommended-automations-launcher-mJhK6Atl.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~pfbaerbd-zhv9fooy.js","/assets/custom-toast-handlers-BOc3qeQ7.js","/assets/Trans-1j65oy9O.js","/assets/createLucideIcon-Ddu8jDOQ.js","/assets/check-CYxAHs85.js","/assets/circle-plus-check-toggle-qs8Va1cC.js","/assets/react-dom-hVBnwgwZ.js","/assets/declaration-D378OjpZ.js","/assets/useTranslation-CpIcQBq6.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js","/assets/react-CM_dJw1Z.js","/assets/edit-automation-modal-Dnjxbjn7.js","/assets/context-menu-list-item-Buu9nc0q.js","/assets/brand-button-C2nEKopC.js","/assets/skill-card-pill-row-tZ599jli.js","/assets/styled-tooltip-CS3mB_1X.js","/assets/modal-backdrop-DTYGVmOR.js","/assets/modal-close-button-C_GpQt9F.js","/assets/utils-D-HX7JCe.js","/assets/navigation-context-DeIPtGPp.js","/assets/active-backend-context-TVbjnvmP.js","/assets/use-launch-skill-in-chat-DVGPFrbI.js","/assets/clock-ZR4Kn-_Y.js","/assets/folder-0WSMImNX.js","/assets/search-Cq_cFrDt.js","/assets/u-edit-KAUlufD8.js","/assets/vendor~home~mcp~automations-list-C5PoHCy6.js","/assets/use-is-creating-conversation-DhDeeWfA.js","/assets/install-server-modal-z5VaHeXd.js","/assets/use-create-conversation-BEZg__Vv.js","/assets/use-settings-DQ7Oo1Hj.js","/assets/conversation-store-Z5iMCRpc.js","/assets/conversation-local-storage-UYl-SX-r.js","/assets/git-branch-DQS2nMK4.js","/assets/vendor~home~mcp~automations-list-BUBGGGYz.js","/assets/checkmark-BJJrZUF8.js","/assets/x-mark-CWI0f9yI.js","/assets/context-CEQZwATj.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~k776hupu-D40EXhZx.js","/assets/preload-helper-CT1Z6Pdu.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-8b8V5bfO.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-Dy7L6fMG.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-BebWhFNT.js","/assets/iconBase-C7N9pPOs.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js","/assets/QueryClientProvider-B7kl84Kj.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~dp08i1qy-CHrEOFl6.js","/assets/agent-server-client-options-DT2GP6VJ.js","/assets/useMutation-B4OUESdw.js","/assets/settings-service.api-FvJGK45W.js","/assets/settings-input-DBywAnA7.js","/assets/query-keys-tAsQcc_9.js","/assets/retrieve-axios-error-message-BY-yIkIq.js","/assets/mutation-Cz7N4XAo.js","/assets/i18n-DjAGhTis.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~skills-settings~m~o9nrx3fm-D44TR8hL.js","/assets/settings-client-CwjfwoiB.js","/assets/proxy-CurRmrqf.js","/assets/settings-D5am1n6X.js","/assets/vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-CyUbhpbm.js","/assets/health-store-BDC2rM-X.js","/assets/agent-server-conversation-service.api-BZmUqtiO.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~jfc6hidu-VnmIZrq3.js","/assets/profiles-client-BGkKEV9j.js","/assets/agent-server-compatibility-2aOx5iWd.js","/assets/acp-providers-DauuOsW9.js","/assets/common-SMkEaBSr.js","/assets/server-client-C3mC8Hl3.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~zm51vy4j-iOsylxCS.js","/assets/middleware-BC9EwbB9.js","/assets/react-Do0CT17Y.js","/assets/settings-dropdown-input-VwAXNrOb.js","/assets/automation-XLxhq3I8.js","/assets/dist-DZHSA2e6.js","/assets/vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-CGlZoBKa.js","/assets/combobox-caret-B53O9Hsq.js","/assets/vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-DE11mPxp.js"],"css":[]},"routes/automation-detail":{"id":"routes/automation-detail","parentId":"routes/root-layout","path":"automations/:automationId","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/automation-detail-R-99FUce.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~dp08i1qy-CHrEOFl6.js","/assets/agent-server-client-options-DT2GP6VJ.js","/assets/vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-CyUbhpbm.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~pfbaerbd-zhv9fooy.js","/assets/custom-toast-handlers-BOc3qeQ7.js","/assets/declaration-D378OjpZ.js","/assets/useTranslation-CpIcQBq6.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js","/assets/react-CM_dJw1Z.js","/assets/edit-automation-modal-Dnjxbjn7.js","/assets/proxy-CurRmrqf.js","/assets/navigation-link-C9JD4PYD.js","/assets/utils-D-HX7JCe.js","/assets/navigation-context-DeIPtGPp.js","/assets/active-backend-context-TVbjnvmP.js","/assets/use-user-conversation-B_zDoSeh.js","/assets/clock-ZR4Kn-_Y.js","/assets/terminal-LNa-iU5c.js","/assets/u-edit-KAUlufD8.js","/assets/x-mark-CWI0f9yI.js","/assets/automation-XLxhq3I8.js","/assets/toggle-switch-k-IZCDbt.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js","/assets/QueryClientProvider-B7kl84Kj.js","/assets/createLucideIcon-Ddu8jDOQ.js","/assets/i18n-DjAGhTis.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~skills-settings~m~o9nrx3fm-D44TR8hL.js","/assets/context-CEQZwATj.js","/assets/preload-helper-CT1Z6Pdu.js","/assets/useMutation-B4OUESdw.js","/assets/react-dom-hVBnwgwZ.js","/assets/context-menu-list-item-Buu9nc0q.js","/assets/brand-button-C2nEKopC.js","/assets/settings-input-DBywAnA7.js","/assets/settings-dropdown-input-VwAXNrOb.js","/assets/mutation-Cz7N4XAo.js","/assets/dist-DZHSA2e6.js","/assets/vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-CGlZoBKa.js","/assets/combobox-caret-B53O9Hsq.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-8b8V5bfO.js","/assets/vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-DE11mPxp.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-Dy7L6fMG.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-BebWhFNT.js","/assets/health-store-BDC2rM-X.js","/assets/agent-server-conversation-service.api-BZmUqtiO.js","/assets/profiles-client-BGkKEV9j.js","/assets/agent-server-compatibility-2aOx5iWd.js","/assets/settings-service.api-FvJGK45W.js","/assets/acp-providers-DauuOsW9.js","/assets/settings-D5am1n6X.js","/assets/common-SMkEaBSr.js","/assets/server-client-C3mC8Hl3.js","/assets/settings-client-CwjfwoiB.js"],"css":[]},"routes/shared-conversation":{"id":"routes/shared-conversation","parentId":"root","path":"shared/conversations/:conversationId","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/shared-conversation-EZV0FRIf.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~dp08i1qy-CHrEOFl6.js","/assets/agent-server-client-options-DT2GP6VJ.js","/assets/path-utils-BVbe598W.js","/assets/vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-CyUbhpbm.js","/assets/messages-6aOyUu3r.js","/assets/conversation-websocket-context-BW68-J8o.js","/assets/declaration-D378OjpZ.js","/assets/useTranslation-CpIcQBq6.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js","/assets/react-CM_dJw1Z.js","/assets/openhands-logo-CI5Fhn1W.js","/assets/loading-spinner-C04FGh14.js","/assets/use-event-store-BT_gV3ut.js","/assets/agent-server-conversation-service.api-BZmUqtiO.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js","/assets/createLucideIcon-Ddu8jDOQ.js","/assets/preload-helper-CT1Z6Pdu.js","/assets/profiles-client-BGkKEV9j.js","/assets/agent-server-compatibility-2aOx5iWd.js","/assets/settings-service.api-FvJGK45W.js","/assets/proxy-CurRmrqf.js","/assets/acp-providers-DauuOsW9.js","/assets/settings-D5am1n6X.js","/assets/common-SMkEaBSr.js","/assets/server-client-C3mC8Hl3.js","/assets/settings-client-CwjfwoiB.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~pfbaerbd-zhv9fooy.js","/assets/QueryClientProvider-B7kl84Kj.js","/assets/useMutation-B4OUESdw.js","/assets/Trans-1j65oy9O.js","/assets/chevron-down-Bnmd5iG-.js","/assets/vendor~root-layout~conversation-panel~conversation~shared-conversation-DrXgiSCq.js","/assets/react-Do0CT17Y.js","/assets/markdown-renderer-CEX4Becj.js","/assets/plan-components-DEjMuDDG.js","/assets/styled-tooltip-CS3mB_1X.js","/assets/utils-D-HX7JCe.js","/assets/use-active-conversation-DS5j9R4q.js","/assets/use-config-BSu_53GL.js","/assets/use-agent-state-D2C9SeGw.js","/assets/use-conversation-id-DajhCn2A.js","/assets/i18n-DjAGhTis.js","/assets/close-BdmyeRqS.js","/assets/lesson-plan-DRYG5SLI.js","/assets/skills-ZyAO5dyK.js","/assets/u-check-circle-half-yDuiSZHC.js","/assets/u-check-circle-DplbarS5.js","/assets/conversation-store-Z5iMCRpc.js","/assets/typography-vVUMoNUg.js","/assets/conversation-local-storage-UYl-SX-r.js","/assets/mutation-Cz7N4XAo.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~skills-settings~m~o9nrx3fm-D44TR8hL.js","/assets/context-CEQZwATj.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~jfc6hidu-VnmIZrq3.js","/assets/middleware-BC9EwbB9.js","/assets/use-user-conversation-B_zDoSeh.js","/assets/browser-store-C3AqxAO7.js","/assets/command-store-DFN_17p1.js","/assets/conversation-state-store-Bc0slAjL.js","/assets/files-tab-store-CDyVTXNT.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~zm51vy4j-iOsylxCS.js","/assets/active-backend-context-TVbjnvmP.js","/assets/health-store-BDC2rM-X.js","/assets/iconBase-C7N9pPOs.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-B92czPCF.js","/assets/vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-BP1SKG0F.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-Ds9quNZ9.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DpAdkv8m.js","/assets/checkmark-BJJrZUF8.js","/assets/copy-C7Ti2d8C.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-BbFOrAjI.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-BW6261Sb.js","/assets/objectWithoutPropertiesLoose-Du6eBn-V.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-By5W2oHN.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~k776hupu-D40EXhZx.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-8b8V5bfO.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-Dy7L6fMG.js","/assets/react-dom-hVBnwgwZ.js","/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-BebWhFNT.js","/assets/conversation-service.api--f8WglOC.js","/assets/navigation-context-DeIPtGPp.js","/assets/option-service.api-DsI1UW7N.js","/assets/query-keys-tAsQcc_9.js","/assets/llm-client-ChQzg4wX.js","/assets/dist-DZHSA2e6.js"],"css":[]}},"url":"/assets/manifest-9d1c34fb.js","version":"9d1c34fb"};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{L as n}from"./vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js";import{t as r}from"./useMutation-B4OUESdw.js";import{o as i,t as a}from"./declaration-D378OjpZ.js";import{n as o}from"./QueryClientProvider-B7kl84Kj.js";import{t as s}from"./useTranslation-CpIcQBq6.js";import{t as c}from"./retrieve-axios-error-message-BY-yIkIq.js";import{t as l}from"./createLucideIcon-Ddu8jDOQ.js";import{r as u}from"./vendor~home~mcp~automations-list-C5PoHCy6.js";import{n as d,r as f}from"./custom-toast-handlers-BOc3qeQ7.js";import{a as p,c as m,i as h,l as g,n as _,r as v,s as y}from"./circle-plus-check-toggle-qs8Va1cC.js";import{t as b}from"./trash-2-CbVljPko.js";import{t as x}from"./x-JOBEVLW0.js";import{t as S}from"./utils-D-HX7JCe.js";import{n as C}from"./active-backend-context-TVbjnvmP.js";import{a as w}from"./query-keys-tAsQcc_9.js";import{t as T}from"./modal-backdrop-DTYGVmOR.js";import{a as E,t as D}from"./brand-button-C2nEKopC.js";import{t as O}from"./modal-close-button-C_GpQt9F.js";import{n as k,t as A}from"./settings-input-DBywAnA7.js";import{t as j}from"./confirmation-modal-C9-La0h3.js";import{t as M}from"./settings-service.api-FvJGK45W.js";import{a as N,i as P,r as F}from"./use-settings-DQ7Oo1Hj.js";import{t as ee}from"./settings-dropdown-input-VwAXNrOb.js";import{a as I,d as L,f as R,i as z,l as te,m as ne,n as B,p as V,r as H,s as U,t as W}from"./install-server-modal-z5VaHeXd.js";import{n as G}from"./extensions-navigation-CT1kc1u_.js";import{t as K}from"./enum-filter-dropdown-1vpOGySB.js";import{n as q}from"./settings-like-page-layout-classes-Bn-M9oOa.js";import{t as J}from"./acp-route-guard-CQTmeJwM.js";var Y=l(`puzzle`,[[`path`,{d:`M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z`,key:`w46dr5`}]]),X=e(t(),1);function Z(){let e=o(),{data:t}=F();return r({mutationFn:async e=>{let n=P(t?.agent_settings?.mcp_config),r={sse_servers:[...n.sse_servers],stdio_servers:[...n.stdio_servers],shttp_servers:[...n.shttp_servers]},i=e=>{if(typeof e==`string`)return e;if(e&&typeof e==`object`&&`url`in e){let t=e.url;return typeof t==`string`?t:void 0}};if(e.type===`sse`){if(!e.url)return;let t=r.sse_servers.findIndex(t=>i(t)===e.url);t>=0&&r.sse_servers.splice(t,1)}else if(e.type===`shttp`){if(!e.url)return;let t=r.shttp_servers.findIndex(t=>i(t)===e.url);t>=0&&r.shttp_servers.splice(t,1)}else if(e.type===`stdio`){if(!e.name||!e.command)return;let t=r.stdio_servers.findIndex(t=>t.name===e.name&&t.command===e.command&&JSON.stringify(t.args??[])===JSON.stringify(e.args??[]));t>=0&&r.stdio_servers.splice(t,1)}else return;await M.saveSettings({agent_settings_diff:{mcp_config:N(r)}})},onSuccess:()=>{e.invalidateQueries({queryKey:w.personal()})}})}var Q=i();function re(e){switch(e){case`sse`:return`SSE`;case`shttp`:return`HTTP`;case`stdio`:return`STDIO`;default:return e}}function ie(e){return e.type===`stdio`?e.name??e.command??``:e.url??``}function ae(e){if(e.type===`stdio`){let t=e.args&&e.args.length>0?` ${e.args.join(` `)}`:``;return`${e.command??``}${t}`.trim()}return e.url??``}function oe({server:e,onEdit:t,onDelete:n}){let{t:r}=s(`openhands`),i=I(e,u),o=i?.name??ie(e),c=ae(e),l=re(e.type);return(0,Q.jsx)(`div`,{"data-testid":`mcp-server-item`,"data-server-id":e.id,role:`button`,tabIndex:0,onClick:t,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())},"aria-label":r(a.MCP$EDIT_SERVER_ARIA,{name:o}),className:S(`flex min-h-[132px] flex-col overflow-hidden p-4 text-left`,y,p),children:(0,Q.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Q.jsx)(z,{entry:i,fallback:(0,Q.jsx)(Y,{strokeWidth:2.25})}),(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3`,children:[(0,Q.jsxs)(`header`,{className:`flex items-start justify-between gap-3`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`h3`,{className:`truncate text-sm font-semibold`,title:o,children:o}),(0,Q.jsx)(`p`,{className:`mt-0.5 text-xs text-tertiary-alt`,children:l})]}),(0,Q.jsx)(_,{testId:`mcp-installed-toggle-${e.id}`,isSelected:!0,onToggle:e=>{e||n()},enableLabelKey:a.MCP$TOGGLE_ADD_SERVER,disableLabelKey:a.MCP$TOGGLE_REMOVE_SERVER})]}),i?.description?(0,Q.jsx)(`p`,{"data-testid":`mcp-server-description-${e.id}`,className:`line-clamp-2 break-words text-xs leading-relaxed text-tertiary-light`,children:i.description}):null,c?(0,Q.jsx)(`p`,{"data-testid":`mcp-server-detail-${e.id}`,className:`truncate text-xs text-tertiary-alt`,title:c,children:c}):null]})]})})}function se({servers:e,hasAnyInstalled:t,query:n=``,onEdit:r,onDelete:i}){let{t:o}=s(`openhands`);return e.length===0?t&&n.trim().length>0?(0,Q.jsx)(`div`,{"data-testid":`mcp-installed-empty-search`,className:`rounded-xl border border-[var(--oh-border)] p-6 text-center`,children:(0,Q.jsx)(`p`,{className:`text-xs text-tertiary-light`,children:o(a.MCP$SEARCH_EMPTY)})}):(0,Q.jsxs)(`div`,{"data-testid":`mcp-installed-empty`,className:m,children:[(0,Q.jsx)(`p`,{className:`text-sm text-white`,children:o(a.MCP$INSTALLED_EMPTY_TITLE)}),(0,Q.jsx)(`p`,{className:`text-xs text-tertiary-light mt-1`,children:o(a.MCP$INSTALLED_EMPTY_HINT)})]}):(0,Q.jsx)(`div`,{className:h,children:(0,Q.jsx)(`div`,{"data-testid":`mcp-installed-list`,className:v,children:e.map(e=>(0,Q.jsx)(oe,{server:e,onEdit:()=>r(e),onDelete:()=>i(e.id)},e.id))})})}function ce({entry:e,onClick:t,onAdd:n}){let r=U(e),i=(()=>{if(!r)return``;switch(r.kind){case`stdio`:return`STDIO`;case`shttp`:return`HTTP`;case`sse`:return`SSE`;default:return``}})();return(0,Q.jsx)(`button`,{type:`button`,onClick:t,"data-testid":`mcp-marketplace-card-${e.id}`,className:S(`flex min-h-[132px] flex-col overflow-hidden p-4 text-left`,y,p),children:(0,Q.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Q.jsx)(z,{entry:e}),(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3`,children:[(0,Q.jsxs)(`header`,{className:`flex items-start justify-between gap-3`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`h3`,{className:`truncate text-sm font-semibold`,children:e.name}),(0,Q.jsx)(`p`,{className:`mt-0.5 text-xs text-tertiary-alt`,children:i})]}),(0,Q.jsx)(_,{testId:`mcp-marketplace-toggle-${e.id}`,isSelected:!1,onToggle:e=>{e&&n()},enableLabelKey:a.MCP$TOGGLE_ADD_SERVER,disableLabelKey:a.MCP$TOGGLE_ADD_SERVER})]}),(0,Q.jsx)(`p`,{className:`line-clamp-3 text-xs leading-relaxed text-tertiary-light`,children:e.description})]})]})})}function le({backendKind:e,onSelect:t,onAdd:n,query:r=``}){let{t:i}=s(`openhands`),o=te(u).filter(t=>R(t,e)&&V(t,r));return(0,Q.jsxs)(`section`,{"data-testid":`mcp-marketplace-section`,className:`flex flex-col gap-3`,children:[(0,Q.jsx)(`h2`,{className:`text-base font-medium text-foreground`,children:i(a.MCP$LIBRARY_TITLE)}),o.length===0?(0,Q.jsx)(`div`,{"data-testid":`mcp-marketplace-empty`,className:`rounded-xl border border-dashed border-[var(--oh-border)] p-6 text-center`,children:(0,Q.jsx)(`p`,{className:`text-xs text-tertiary-light`,children:i(a.MCP$SEARCH_EMPTY)})}):(0,Q.jsx)(`div`,{className:h,children:(0,Q.jsx)(`div`,{"data-testid":`mcp-marketplace-grid`,className:v,children:o.map(e=>(0,Q.jsx)(ce,{entry:e,onClick:()=>t(e),onAdd:()=>n(e)},e.id))})})]})}function ue({mode:e,server:t,existingServers:n,onSubmit:r,onCancel:i,onDelete:o,isActionDisabled:c=!1,onTest:l,isTestPending:u=!1,testMessage:d=null}){let{t:f}=s(`openhands`),[p,m]=X.useState(t?.type||`sse`),[h,g]=X.useState(null),_=X.useRef(null),v=[{key:`sse`,label:f(a.SETTINGS$MCP_SERVER_TYPE_SSE)},{key:`stdio`,label:f(a.SETTINGS$MCP_SERVER_TYPE_STDIO)},{key:`shttp`,label:f(a.SETTINGS$MCP_SERVER_TYPE_SHTTP)}],y=e=>{if(!e)return f(a.SETTINGS$MCP_ERROR_URL_REQUIRED);try{let t=new URL(e);if(![`http:`,`https:`].includes(t.protocol))return f(a.SETTINGS$MCP_ERROR_URL_INVALID_PROTOCOL)}catch{return f(a.SETTINGS$MCP_ERROR_URL_INVALID)}return null},x=e=>e?/^[a-zA-Z0-9_-]+$/.test(e)?null:f(a.SETTINGS$MCP_ERROR_NAME_INVALID):f(a.SETTINGS$MCP_ERROR_NAME_REQUIRED),C=r=>!n||!(e===`add`||e===`edit`&&t?.name!==r)?null:n.filter(e=>e.type===`stdio`).map(e=>e.name).filter(Boolean).includes(r)?f(a.SETTINGS$MCP_ERROR_NAME_DUPLICATE):null,w=e=>e?e.includes(` `)?f(a.SETTINGS$MCP_ERROR_COMMAND_NO_SPACES):null:f(a.SETTINGS$MCP_ERROR_COMMAND_REQUIRED),T=r=>{if(!n)return null;let i=t?.url;return(e===`add`||e===`edit`&&i!==r)&&n.some(e=>(e.type===`sse`||e.type===`shttp`)&&e.url===r)?f(a.SETTINGS$MCP_ERROR_URL_DUPLICATE):null},O=e=>{if(!e.trim())return null;let t=e.split(`
|
|
2
|
-
`);for(let e=0;e<t.length;e+=1){let n=t[e].trim();if(n){let e=n.indexOf(`=`);if(e===-1||!n.substring(0,e).trim())return f(a.SETTINGS$MCP_ERROR_ENV_INVALID_FORMAT)}}return null},j=e=>{if(!e.trim())return null;let t=parseInt(e.trim(),10);return Number.isNaN(t)?f(a.SETTINGS$MCP_ERROR_TIMEOUT_INVALID_NUMBER):t<=0?f(a.SETTINGS$MCP_ERROR_TIMEOUT_POSITIVE):t>3600?f(a.SETTINGS$MCP_ERROR_TIMEOUT_MAX_EXCEEDED):null},M=e=>{let t=e.get(`name`)?.toString().trim()||``,n=e.get(`command`)?.toString().trim()||``,r=e.get(`env`)?.toString()||``;return x(t)||C(t)||w(n)||O(r)||null},N=e=>{if(p===`sse`||p===`shttp`){let t=e.get(`url`)?.toString().trim()||``,n=y(t);if(n)return n;let r=T(t);if(r)return r;if(p===`shttp`){let t=j(e.get(`timeout`)?.toString()||``);if(t)return t}return null}return p===`stdio`?M(e):null},P=e=>{let t={},n=e.trim();if(!n)return t;for(let e of n.split(`
|
|
3
|
-
`)){let n=e.trim(),r=n.indexOf(`=`),i=r>=0?n.substring(0,r).trim():``;n&&r!==-1&&i&&(t[i]=n.substring(r+1).trim())}return t},F=e=>e?Object.entries(e).map(([e,t])=>`${e}=${t}`).join(`
|
|
4
|
-
`):``,I=e=>{let n={id:t?.id||`${p}-${Date.now()}`,type:p};if(p===`sse`||p===`shttp`){let t=e.get(`url`)?.toString().trim(),r=e.get(`api_key`)?.toString().trim(),i=e.get(`timeout`)?.toString().trim(),a={...n,url:t,...r&&{api_key:r}};if(p===`shttp`&&i){let e=parseInt(i,10);Number.isNaN(e)||(a.timeout=e)}return a}let r=e.get(`name`)?.toString().trim(),i=e.get(`command`)?.toString().trim(),a=e.get(`args`)?.toString().trim(),o=e.get(`env`)?.toString().trim(),s=a?a.split(`
|
|
5
|
-
`).map(e=>e.trim()).filter(Boolean):[],c=P(o||``);return{...n,name:r,command:i,...s.length>0&&{args:s},...Object.keys(c).length>0&&{env:c}}};return(0,Q.jsxs)(`form`,{ref:_,"data-testid":e===`add`?`add-mcp-server-form`:`edit-mcp-server-form`,onSubmit:e=>{e.preventDefault(),g(null);let t=new FormData(e.currentTarget),n=N(t);if(n){g(n);return}r(I(t))},className:`flex flex-col items-start gap-6`,children:[e===`add`&&(0,Q.jsx)(ee,{testId:`server-type-dropdown`,name:`server-type`,label:f(a.SETTINGS$MCP_SERVER_TYPE),items:v,selectedKey:p,onSelectionChange:e=>m(e),onInputChange:()=>{},isClearable:!1,allowsCustomValue:!1,required:!0,wrapperClassName:`w-full min-w-0`}),h&&(0,Q.jsx)(`p`,{className:`text-red-500 text-sm`,children:h}),(p===`sse`||p===`shttp`)&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(A,{testId:`url-input`,name:`url`,type:`url`,label:f(a.SETTINGS$MCP_URL),className:`w-full min-w-0`,required:!0,defaultValue:t?.url||``,placeholder:`https://api.example.com`}),(0,Q.jsx)(A,{testId:`api-key-input`,name:`api_key`,type:`password`,label:f(a.SETTINGS$MCP_API_KEY),className:`w-full min-w-0`,showOptionalTag:!0,defaultValue:t?.api_key||``,placeholder:f(a.SETTINGS$MCP_API_KEY_PLACEHOLDER)}),p===`shttp`&&(0,Q.jsx)(A,{testId:`timeout-input`,name:`timeout`,type:`number`,label:f(a.SETTINGS$MCP_TIMEOUT_LABEL),className:`w-full min-w-0`,showOptionalTag:!0,defaultValue:t?.timeout?.toString()||``,placeholder:`60`,min:1,max:3600})]}),p===`stdio`&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(A,{testId:`name-input`,name:`name`,type:`text`,label:f(a.SETTINGS$MCP_NAME),className:`w-full min-w-0`,required:!0,defaultValue:t?.name||``,placeholder:`my-mcp-server`,pattern:`^[a-zA-Z0-9_-]+$`}),(0,Q.jsx)(A,{testId:`command-input`,name:`command`,type:`text`,label:f(a.SETTINGS$MCP_COMMAND),className:`w-full min-w-0`,required:!0,defaultValue:t?.command||``,placeholder:`npx`}),(0,Q.jsxs)(`label`,{className:`flex flex-col gap-2.5 w-full min-w-0`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:`text-sm`,children:f(a.SETTINGS$MCP_COMMAND_ARGUMENTS)}),(0,Q.jsx)(k,{})]}),(0,Q.jsx)(`textarea`,{"data-testid":`args-input`,name:`args`,rows:3,defaultValue:t?.args?.join(`
|
|
6
|
-
`)||``,placeholder:`arg1
|
|
7
|
-
arg2
|
|
8
|
-
arg3`,className:S(E,`resize-none placeholder:italic`,`disabled:bg-[var(--oh-surface-raised)] disabled:border-[var(--oh-border-subtle)]`)}),(0,Q.jsx)(`p`,{className:`text-xs text-tertiary-alt`,children:f(a.SETTINGS$MCP_COMMAND_ARGUMENTS_HELP)})]}),(0,Q.jsxs)(`label`,{className:`flex flex-col gap-2.5 w-full min-w-0`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:`text-sm`,children:f(a.SETTINGS$MCP_ENVIRONMENT_VARIABLES)}),(0,Q.jsx)(k,{})]}),(0,Q.jsx)(`textarea`,{"data-testid":`env-input`,name:`env`,rows:4,defaultValue:F(t?.env),placeholder:`KEY1=value1
|
|
9
|
-
KEY2=value2`,className:S(E,`resize-none placeholder:italic`,`disabled:bg-[var(--oh-surface-raised)] disabled:border-[var(--oh-border-subtle)]`)})]})]}),d&&(0,Q.jsx)(`p`,{"data-testid":`mcp-test-message`,className:d.ok?`text-sm text-green-500 whitespace-pre-wrap`:`text-sm text-red-500 whitespace-pre-wrap`,children:d.text}),(0,Q.jsxs)(`div`,{className:S(`flex w-full items-center gap-2`,o?`justify-between`:`justify-end`),children:[o?(0,Q.jsx)(D,{testId:`mcp-custom-editor-delete`,type:`button`,variant:`secondary`,onClick:o,isDisabled:c,startContent:(0,Q.jsx)(b,{"aria-hidden":!0,className:`size-4`,strokeWidth:2}),children:f(a.BUTTON$DELETE)}):null,(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(D,{testId:`cancel-button`,type:`button`,variant:`secondary`,onClick:i,isDisabled:c,children:f(a.BUTTON$CANCEL)}),l&&(0,Q.jsx)(D,{testId:`mcp-test-connection`,type:`button`,variant:`secondary`,onClick:()=>{if(!l||!_.current)return;g(null);let e=new FormData(_.current),t=N(e);if(t){g(t);return}l(I(e))},isDisabled:c||u,children:f(u?a.MCP$VERIFYING:a.MCP$TEST_BUTTON)}),(0,Q.jsxs)(D,{testId:`submit-button`,type:`submit`,variant:`primary`,isDisabled:c||u,children:[e===`add`&&f(a.SETTINGS$MCP_ADD_SERVER),e===`edit`&&f(a.SETTINGS$MCP_SAVE_SERVER)]})]})]})]})}function de(){let e=o(),{data:t}=F();return r({mutationFn:async({serverId:e,server:n})=>{let r=P(t?.agent_settings?.mcp_config),i={sse_servers:[...r.sse_servers],stdio_servers:[...r.stdio_servers],shttp_servers:[...r.shttp_servers]},[a,o]=e.split(`-`),s=parseInt(o,10);if(a===`sse`){let e={url:n.url,...n.api_key&&{api_key:n.api_key}};i.sse_servers[s]=e}else if(a===`stdio`){let e={name:n.name,command:n.command,...n.args&&{args:n.args},...n.env&&{env:n.env}};i.stdio_servers[s]=e}else if(a===`shttp`){let e={url:n.url,...n.api_key&&{api_key:n.api_key},...n.timeout!==void 0&&{timeout:n.timeout}};i.shttp_servers[s]=e}await M.saveSettings({agent_settings_diff:{mcp_config:N(i)}})},onSuccess:()=>{e.invalidateQueries({queryKey:w.personal()})}})}function fe({server:e,existingServers:t,onClose:n}){let{t:r}=s(`openhands`),{mutate:i,isPending:o}=H(),{mutate:l,isPending:u}=de(),{mutate:p,isPending:m}=Z(),{mutate:h,isPending:g,data:_,reset:v}=B(),[y,b]=X.useState(!1),x=!!e.id,S=o||u||m,C=S||g||y,w=e=>{switch(e.error_kind){case`timeout`:return r(a.MCP$TEST_ERROR_TIMEOUT);case`connection`:return r(a.MCP$TEST_ERROR_CONNECTION);default:return r(a.MCP$TEST_ERROR_UNKNOWN,{error:e.error})}},E=X.useMemo(()=>_?_.ok?{ok:!0,text:r(a.MCP$TEST_SUCCESS,{count:_.tools.length})}:{ok:!1,text:w(_)}:null,[_,r]),D=e=>{d(c(e)||r(a.ERROR$GENERIC))};return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(T,{onClose:C?void 0:n,closeOnEscape:!C,"aria-label":r(x?a.MCP$EDIT_CUSTOM_TITLE:a.MCP$ADD_CUSTOM_TITLE),children:(0,Q.jsxs)(`div`,{"data-testid":`mcp-custom-editor`,className:`relative bg-base-secondary p-6 rounded-xl border border-[var(--oh-border)] w-[520px] max-w-[90vw] max-h-[90vh] overflow-y-auto custom-scrollbar`,children:[(0,Q.jsx)(O,{onClose:n,testId:`mcp-custom-editor-close`,disabled:C}),(0,Q.jsx)(`h2`,{className:`mb-4 pr-6 text-lg font-semibold`,children:r(x?a.MCP$EDIT_CUSTOM_TITLE:a.MCP$ADD_CUSTOM_TITLE)}),(0,Q.jsx)(ue,{mode:x?`edit`:`add`,server:x?e:void 0,existingServers:t,onSubmit:t=>{v(),h(t,{onSuccess:r=>{r.ok&&(x?l({serverId:e.id,server:t},{onSuccess:n,onError:D}):i(t,{onSuccess:n,onError:D}))},onError:D})},onCancel:n,onDelete:x?()=>b(!0):void 0,isActionDisabled:S,onTest:e=>{h(e)},isTestPending:g,testMessage:E})]})}),y?(0,Q.jsx)(j,{text:r(a.SETTINGS$MCP_CONFIRM_DELETE),onCancel:()=>b(!1),onConfirm:()=>{p(e,{onSuccess:()=>{f(r(a.MCP$REMOVE_SUCCESS)),b(!1),n()},onError:e=>{D(e),b(!1)}})},isConfirming:m}):null]})}var pe=[`all`,`installed`,`library`],$={all:a.MCP$SECTION_FILTER_ALL,installed:a.MCP$INSTALLED_TITLE,library:a.MCP$LIBRARY_TITLE};function me({value:e,onChange:t}){return(0,Q.jsx)(K,{testId:`mcp-section-filter`,value:e,onChange:t,options:pe,labelKeyByValue:$})}function he({search:e,onSearchChange:t,sectionFilter:n,onSectionFilterChange:r}){let{t:i}=s(`openhands`);return(0,Q.jsxs)(`div`,{"data-testid":`mcp-toolbar`,className:`flex items-stretch gap-2`,children:[(0,Q.jsxs)(`div`,{"data-testid":`mcp-search`,className:S(`relative flex flex-1 min-w-0 items-center`,`rounded-lg border border-[var(--oh-border)] bg-base-secondary`,`focus-within:border-white/40 focus-within:ring-1 focus-within:ring-white/20`,`transition-colors`),children:[(0,Q.jsx)(g,{className:`ml-3 h-4 w-4 text-tertiary-alt shrink-0`,"aria-hidden":!0}),(0,Q.jsx)(`input`,{type:`search`,value:e,onChange:e=>t(e.target.value),placeholder:i(a.MCP$SEARCH_PLACEHOLDER),"aria-label":i(a.MCP$SEARCH_PLACEHOLDER),"data-testid":`mcp-search-input`,className:S(`flex-1 min-w-0 bg-transparent border-0 outline-none`,`px-3 py-2 text-sm placeholder:text-tertiary-alt`,`[&::-webkit-search-cancel-button]:hidden`)}),e?(0,Q.jsx)(`button`,{type:`button`,onClick:()=>t(``),"aria-label":i(a.MCP$SEARCH_CLEAR),"data-testid":`mcp-search-clear`,className:`mr-2 p-1 rounded text-tertiary-alt hover:text-content-1 cursor-pointer`,children:(0,Q.jsx)(x,{className:`h-4 w-4`,"aria-hidden":!0})}):null]}),(0,Q.jsx)(me,{value:n,onChange:r})]})}var ge=async()=>J(),_e=n(function(){let{t:e}=s(`openhands`),{data:t,isLoading:n}=F(),{mutate:r,isPending:i}=Z(),o=C().backend.kind,[l,p]=X.useState(null),[m,h]=X.useState(null),[g,_]=X.useState(null),[v,y]=X.useState(``),[b,x]=X.useState(`all`),S=ne(P(t?.agent_settings?.mcp_config)),w=S.filter(e=>L(e,I(e,u),v)),T=e=>{p(e)};return n||!t?(0,Q.jsxs)(`div`,{"data-testid":`mcp-page`,className:`flex h-full gap-4 md:gap-6 md:pl-8 lg:gap-10 lg:pl-10`,children:[(0,Q.jsx)(G,{}),(0,Q.jsx)(`div`,{className:`flex h-full flex-1 items-center justify-center px-4 md:px-0`,children:(0,Q.jsx)(`div`,{className:`h-8 w-8 rounded-full border-2 border-[var(--oh-border)] border-t-white animate-spin`})})]}):(0,Q.jsxs)(`div`,{"data-testid":`mcp-page`,className:`flex h-full gap-4 md:gap-6 md:pl-8 lg:gap-10 lg:pl-10`,children:[(0,Q.jsx)(G,{}),(0,Q.jsxs)(`main`,{className:q,children:[(0,Q.jsxs)(`div`,{className:`mx-auto flex w-full min-w-0 max-w-[800px] flex-col gap-6`,children:[(0,Q.jsx)(`div`,{className:`min-w-0`,children:(0,Q.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`h2`,{className:`text-xl font-medium leading-6 text-foreground`,children:e(a.SETTINGS$MCP_TITLE)}),(0,Q.jsx)(`div`,{className:`max-w-2xl text-sm text-tertiary-light`,children:e(a.MCP$PAGE_DESCRIPTION)})]}),(0,Q.jsx)(D,{type:`button`,variant:`secondary`,testId:`mcp-add-custom-server`,className:`flex-shrink-0 whitespace-nowrap`,onClick:()=>h({id:``,type:`sse`}),children:e(a.MCP$ADD_CUSTOM)})]})}),(0,Q.jsx)(he,{search:v,onSearchChange:y,sectionFilter:b,onSectionFilterChange:x}),b===`library`?null:(0,Q.jsxs)(`section`,{className:`flex flex-col gap-3`,children:[(0,Q.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:e(a.MCP$INSTALLED_TITLE)}),(0,Q.jsx)(se,{servers:w,hasAnyInstalled:S.length>0,query:v,onEdit:e=>{h(e)},onDelete:e=>{let t=S.find(t=>t.id===e);t&&_(t)}})]}),b===`installed`?null:(0,Q.jsx)(le,{backendKind:o,onSelect:T,onAdd:T,query:v})]}),l&&(0,Q.jsx)(W,{entry:l,onClose:()=>p(null)}),m&&(0,Q.jsx)(fe,{server:m,existingServers:S,onClose:()=>h(null)}),g&&(0,Q.jsx)(j,{text:e(a.SETTINGS$MCP_CONFIRM_DELETE),onCancel:()=>_(null),onConfirm:()=>{g&&r(g,{onSuccess:()=>{f(e(a.MCP$REMOVE_SUCCESS)),_(null)},onError:t=>{d(c(t)||e(a.ERROR$GENERIC)),_(null)}})},isConfirming:i})]})]})});export{ge as clientLoader,_e as default};
|