@openhands/agent-canvas 1.14.0 → 1.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/README.windows.md +2 -2
- package/build/assets/acp-providers-BKvmTf82.js +1 -0
- package/build/assets/active-backend-context-DKFSMbn3.js +2 -0
- package/build/assets/agent-context-settings-D3PjSTU1.js +1 -0
- package/build/assets/agent-profiles-settings-D4cY5U2T.js +1 -0
- package/build/assets/agent-server-conversation-service.api-DozDKIW_.js +86 -0
- package/build/assets/agent-settings-351vXWc9.js +2 -0
- package/build/assets/agent-settings-Ce7BDZ6I.js +1 -0
- package/build/assets/alert-banner-Kyy1YWZU.js +1 -0
- package/build/assets/api-error-message-BJyfWp6p.js +1 -0
- package/build/assets/api-key-entry-screen-INIxqAMs.js +1 -0
- package/build/assets/app-settings-CbHqzQus.js +1 -0
- package/build/assets/automation-detail-DXDhUwPq.js +3 -0
- package/build/assets/automation-export-BRopEHMu.js +2 -0
- package/build/assets/automation-git-sync-CzyS4cn1.js +1 -0
- package/build/assets/automation-setup-route-FRr05f_g.js +1 -0
- package/build/assets/automation-templates-C_0FZgLG.js +1 -0
- package/build/assets/automations-list-CERuQWE6.js +1 -0
- package/build/assets/back-nav-button-Dm9tIjVf.js +1 -0
- package/build/assets/backend-form-modal-DK78-jn1.js +1 -0
- package/build/assets/backend-synced-settings-badge-3fOwg6Bd.js +1 -0
- package/build/assets/badge-D4SqUCsR.js +1 -0
- package/build/assets/base-modal-C7_BDl_U.js +1 -0
- package/build/assets/bot-C-0Wu7vQ.js +1 -0
- package/build/assets/brand-button-Dxv6PDeN.js +1 -0
- package/build/assets/browser-11etCQ04.js +7 -0
- package/build/assets/browser-tab-BAl4ckJE.js +1 -0
- package/build/assets/chat-send-button-DWwR2cgI.js +1 -0
- package/build/assets/check-Cf2YoT90.js +1 -0
- package/build/assets/chevron-down-C3OQ-ehx.js +1 -0
- package/build/assets/chevron-right-CN1uUiJ1.js +1 -0
- package/build/assets/circle-check-g5yeGMd-.js +1 -0
- package/build/assets/circle-plus-check-toggle-CBh_qomE.js +1 -0
- package/build/assets/cloud-funnel-analytics-287iIERo.js +1 -0
- package/build/assets/cog-C4rrw-ZK.js +1 -0
- package/build/assets/command-menu-BZQ8S3Ke.js +1 -0
- package/build/assets/commits-tab-DZtJgaDM.js +1 -0
- package/build/assets/condenser-settings-BcNmYR4s.js +1 -0
- package/build/assets/confirmation-modal-Bk4JRcCM.js +1 -0
- package/build/assets/context-menu-list-item-lVYETtY5.js +1 -0
- package/build/assets/conversation-CchMzpGl.js +1 -0
- package/build/assets/conversation-Dpzftz57.js +93 -0
- package/build/assets/conversation-panel-CchMzpGl.js +1 -0
- package/build/assets/conversation-state-store-a9d2fxRc.js +1 -0
- package/build/assets/conversation-store-Ca3ghXap.js +6 -0
- package/build/assets/conversation-tab-empty-state-HJtkmHZj.js +1 -0
- package/build/assets/copy-to-clipboard-button-Cjkswvnj.js +1 -0
- package/build/assets/device-verify-EZhHhBT7.js +1 -0
- package/build/assets/dropdown-classes-DJe-E6MC.js +1 -0
- package/build/assets/edit-automation-modal-D-urtv8n.js +1 -0
- package/build/assets/empty-state-CvaVahVr.js +1 -0
- package/build/assets/entry.client-C7Bi2tkU.js +2 -0
- package/build/assets/enum-filter-dropdown-DliX_Lo0.js +1 -0
- package/build/assets/environment-switch-overlay-CEKrFiMw.js +1 -0
- package/build/assets/error-state-BALXiBNy.js +1 -0
- package/build/assets/extension-module-card-classes-DpeaYhYo.js +1 -0
- package/build/assets/extensions-hub-CFduxBnk.js +1 -0
- package/build/assets/extensions-navigation-BeC224yX.js +1 -0
- package/build/assets/external-link-DFpYunfj.js +1 -0
- package/build/assets/files-tab-CL3J9b3p.js +1 -0
- package/build/assets/form-control-classes-CGw40z5h.js +1 -0
- package/build/assets/get-git-path-DlAJa_i6.js +1 -0
- package/build/assets/git-repo-dropdown-DGMEhz7d.js +1 -0
- package/build/assets/git-repo-dropdown-ai8qaNkD.js +1 -0
- package/build/assets/highlighted-source-view-C3sxykQi.js +1 -0
- package/build/assets/home-BCGlNJCA.js +1 -0
- package/build/assets/home-DB1pRqTC.js +1 -0
- package/build/assets/home-automation-run-tooltip-CooFQRIG.js +1 -0
- package/build/assets/home-store-Dl1dPE58.js +1 -0
- package/build/assets/index-home-DB1pRqTC.js +1 -0
- package/build/assets/info-uYSVzX86.js +1 -0
- package/build/assets/install-server-modal-BbJdhzet.js +1 -0
- package/build/assets/kebab-menu-item-content-BYokkRHi.js +1 -0
- package/build/assets/key-Cn5za3rg.js +1 -0
- package/build/assets/launch-C1ieiOGe.js +1 -0
- package/build/assets/list-filter-OFkpRrmi.js +1 -0
- package/build/assets/list-todo-Cuu-STFc.js +1 -0
- package/build/assets/llm-not-configured-banner-BqqYnJ1t.js +27 -0
- package/build/assets/llm-settings-CnDbbmVW.js +1 -0
- package/build/assets/llm-settings-S8Yjg__1.js +1 -0
- package/build/assets/llm-subscription-service-BpPfzW4x.js +1 -0
- package/build/assets/loader-circle-nvrwthvj.js +1 -0
- package/build/assets/loading-spinner-0L3ZTToZ.js +1 -0
- package/build/assets/manage-backends-modal-BCUPswyl.js +1 -0
- package/build/assets/manifest-58597dde.js +1 -0
- package/build/assets/manifest-subpage-layout-BGhiUQbA.js +1 -0
- package/build/assets/map-provider-B9LTm23I.js +1 -0
- package/build/assets/markdown-renderer-Cb2sBWtV.js +8 -0
- package/build/assets/mcp-CKbR4Vft.js +1 -0
- package/build/assets/mcp-marketplace-utils-C13fFccR.js +1 -0
- package/build/assets/mcp-page-Bm4K2NQq.js +9 -0
- package/build/assets/messages-BTN5thLe.js +40 -0
- package/build/assets/modal-body-CMOc2tLl.js +1 -0
- package/build/assets/modal-classes-BAb4Y_BG.js +1 -0
- package/build/assets/modal-close-button-CkJ0Ktjj.js +1 -0
- package/build/assets/mouse-pointer-click-CsgRs_-r.js +1 -0
- package/build/assets/onboarding-Cx_kaiD1.js +1 -0
- package/build/assets/onboarding-modal-vMwn7ihv.js +1 -0
- package/build/assets/organization-service.api-C8XpQ0pM.js +1 -0
- package/build/assets/parse-git-remote-url-DpDM9bK6.js +1 -0
- package/build/assets/pencil-Clh1Wjvh.js +1 -0
- package/build/assets/planner-tab-DQvDU3ap.js +1 -0
- package/build/assets/plug-BuQhHSSG.js +1 -0
- package/build/assets/plugins-management-service-BjYeF0b0.js +1 -0
- package/build/assets/plus-CEKne-Yp.js +1 -0
- package/build/assets/profiles-service.api-QB-T_u-g.js +1 -0
- package/build/assets/providers-FfSZ5TXP.js +1 -0
- package/build/assets/proxy-tcFL2yTQ.js +1 -0
- package/build/assets/puzzle-A9pGxxai.js +1 -0
- package/build/assets/recommended-automations-launcher-Bw8uC4V6.js +1 -0
- package/build/assets/refresh-cw-Bh69DyYO.js +1 -0
- package/build/assets/root-BLeQfBEq.css +1 -0
- package/build/assets/root-ZKKYPR1Z.js +2 -0
- package/build/assets/root-layout-luJoE9IG.js +2 -0
- package/build/assets/schema-field-Csw5fhtN.js +1 -0
- package/build/assets/scroll-fade-state-Dw-i4SGq.js +1 -0
- package/build/assets/sdk-section-page-HTffvm7Q.js +1 -0
- package/build/assets/secret-form-HTUbYw5o.js +1 -0
- package/build/assets/secrets-service-BTor9uAU.js +1 -0
- package/build/assets/secrets-settings-BizaTEr1.js +1 -0
- package/build/assets/server-process-C9RKzd1x.js +1 -0
- package/build/assets/settings-BlmrkwRi.js +1 -0
- package/build/assets/settings-dropdown-input-tM0A0ipy.js +1 -0
- package/build/assets/settings-index-CKq0b0Vg.js +1 -0
- package/build/assets/settings-input-C03KUoSC.js +1 -0
- package/build/assets/settings-list-classes-BJ0g8rWj.js +1 -0
- package/build/assets/settings-modal-AzEF1QPP.js +1 -0
- package/build/assets/settings-service.api-B2agVfjL.js +1 -0
- package/build/assets/settings-switch-CQE0EGC-.js +1 -0
- package/build/assets/settings-utils-ClYOkbbI.js +1 -0
- package/build/assets/shared-conversation-B55pCyBG.js +1 -0
- package/build/assets/shield-check-CFDViW82.js +1 -0
- package/build/assets/sidebar-layout-D3hE08wK.js +1 -0
- package/build/assets/sidebar-mobile-menu-toggle-BOtyJHwE.js +1 -0
- package/build/assets/sidebar-nav-link-CPzhyHQg.js +1 -0
- package/build/assets/sidebar-onboarding-checklist-storage-3qYflszY.js +1 -0
- package/build/assets/sidebar-store-DtpU7zaI.js +1 -0
- package/build/assets/skill-card-pill-row-CFxjoqxn.js +1 -0
- package/build/assets/skill-filter-CWZ5kjcg.js +2 -0
- package/build/assets/skill-icon-badge-CPQJ6A-I.js +1 -0
- package/build/assets/skill-scope-CV1dkAbW.js +1 -0
- package/build/assets/skills-plugins-DGHULTq6.js +1 -0
- package/build/assets/skills-settings-CM1lFv3e.js +1 -0
- package/build/assets/styled-tooltip-Dl06rkpY.js +1 -0
- package/build/assets/task-list-tab-04GNQuii.js +1 -0
- package/build/assets/terminal-Cj0iHIW7.js +3 -0
- package/build/assets/toggle-switch-Fd_QGz0r.js +1 -0
- package/build/assets/trash-2-Dl8_RGz0.js +1 -0
- package/build/assets/trash-_RMt7Ayc.js +1 -0
- package/build/assets/triangle-alert-SM-q4NU_.js +1 -0
- package/build/assets/typography-SgFy466J.js +1 -0
- package/build/assets/usage-tab-BcfWV6db.js +1 -0
- package/build/assets/use-acp-credential-form-BsSW5NHG.js +1 -0
- package/build/assets/use-activate-agent-profile-B2NS8nA5.js +1 -0
- package/build/assets/use-agent-profiles-DWBPC0Si.js +1 -0
- package/build/assets/use-automation-health-BxXdzZMP.js +1 -0
- package/build/assets/use-automations-zYb0dUny.js +1 -0
- package/build/assets/use-can-manage-org-profiles-BWMahtUh.js +1 -0
- package/build/assets/use-cloud-current-user-id-CPHMDG-C.js +1 -0
- package/build/assets/use-config-Bft35DOK.js +1 -0
- package/build/assets/use-create-conversation-DwN5vv2f.js +1 -0
- package/build/assets/use-create-secret-BSxJMxHp.js +1 -0
- package/build/assets/use-get-secrets-BT4ihRwj.js +1 -0
- package/build/assets/use-has-permission-B3C8rQmR.js +1 -0
- package/build/assets/use-is-authed-CFGkY3-Z.js +1 -0
- package/build/assets/use-launch-skill-in-chat-BYjYihBP.js +1 -0
- package/build/assets/use-llm-configured-BI6obxsc.js +1 -0
- package/build/assets/use-llm-profiles-djGAhTWL.js +1 -0
- package/build/assets/use-manifest-capabilities-3z0-1G59.js +1 -0
- package/build/assets/use-onboarding-completion-BXpyUSsJ.js +1 -0
- package/build/assets/use-plugins-marketplace-DI4_pK56.js +1 -0
- package/build/assets/use-save-agent-profile-DdBSTdpN.js +1 -0
- package/build/assets/use-save-settings-CUZW6yXP.js +1 -0
- package/build/assets/use-settings-C5VhGpqd.js +1 -0
- package/build/assets/use-settings-nav-items-DHaUu1Dg.js +16 -0
- package/build/assets/use-tracking-D5t9otIF.js +3 -0
- package/build/assets/use-user-conversation-DT0_QCnL.js +1 -0
- package/build/assets/useInfiniteQuery-CgeUQPfs.js +1 -0
- package/build/assets/useMutation-DFnzkf6f.js +1 -0
- package/build/assets/useQueries-BhbrGEf1.js +1 -0
- package/build/assets/useQuery-BXWbZBZl.js +1 -0
- package/build/assets/utils-DaCIEEQP.js +1 -0
- package/build/assets/vendor~browser-hbU4u2Ag.js +47 -0
- package/build/assets/vendor~commits-tab-BaO2Ce3e.js +11 -0
- package/build/assets/vendor~conversation-panel~conversation-CTvDDiXg.js +1 -0
- package/build/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kepq2zme-ZixYGy6E.js +186 -0
- package/build/assets/vendor~index-home~home~conversation-panel~conversation-BTyukeM-.js +13 -0
- package/build/assets/vendor~root-layout-BlUaZ18v.js +1 -0
- package/build/assets/vendor~root-layout~conversation-panel~conversation-BYAWJwQX.js +1 -0
- package/build/assets/vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-CHaLEBVR.js +1 -0
- package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~mcp~automations-list~aut~ibfbmr9f-B2OLKL7N.js +1 -0
- package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-DXqM7vqB.js +1 -0
- package/build/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-Dtu7BpYk.js +48 -0
- package/build/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~iw7io29p-Dz-MAyNb.js +1 -0
- package/build/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~eo2nf80n-DonTKfQD.js +4949 -0
- package/build/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~jz4f6vo2-BgxDvUcf.js +8420 -0
- package/build/assets/verification-settings-Bj6bo097.js +1 -0
- package/build/assets/wrench-hi7Q13dF.js +1 -0
- package/build/assets/x-DkgltWa0.js +1 -0
- package/build/index.html +4 -4
- package/build/locales/ar/openhands.json +124 -43
- package/build/locales/ca/openhands.json +124 -43
- package/build/locales/de/openhands.json +124 -43
- package/build/locales/en/openhands.json +124 -43
- package/build/locales/es/openhands.json +124 -43
- package/build/locales/fr/openhands.json +124 -43
- package/build/locales/it/openhands.json +124 -43
- package/build/locales/ja/openhands.json +124 -43
- package/build/locales/ko-KR/openhands.json +124 -43
- package/build/locales/no/openhands.json +124 -43
- package/build/locales/pt/openhands.json +124 -43
- package/build/locales/tr/openhands.json +124 -43
- package/build/locales/uk/openhands.json +124 -43
- package/build/locales/zh-CN/openhands.json +124 -43
- package/build/locales/zh-TW/openhands.json +124 -43
- package/config/defaults.json +2 -2
- package/dist/api/agent-server-adapter.cjs +3 -3
- package/dist/api/agent-server-adapter.cjs.map +1 -1
- package/dist/api/agent-server-adapter.d.ts +10 -1
- package/dist/api/agent-server-adapter.js +115 -110
- package/dist/api/agent-server-adapter.js.map +1 -1
- package/dist/api/automation-service/automation-service.api.cjs +1 -1
- package/dist/api/automation-service/automation-service.api.cjs.map +1 -1
- package/dist/api/automation-service/automation-service.api.d.ts +13 -2
- package/dist/api/automation-service/automation-service.api.js +99 -84
- package/dist/api/automation-service/automation-service.api.js.map +1 -1
- package/dist/api/backend-registry/url-selection.cjs +1 -1
- package/dist/api/backend-registry/url-selection.cjs.map +1 -1
- package/dist/api/backend-registry/url-selection.d.ts +2 -1
- package/dist/api/backend-registry/url-selection.js +2 -2
- package/dist/api/backend-registry/url-selection.js.map +1 -1
- package/dist/api/conversation-service/agent-server-conversation-service.api.cjs +1 -1
- package/dist/api/conversation-service/agent-server-conversation-service.api.cjs.map +1 -1
- package/dist/api/conversation-service/agent-server-conversation-service.api.js +29 -24
- package/dist/api/conversation-service/agent-server-conversation-service.api.js.map +1 -1
- package/dist/api/git-provider-items-service.cjs +2 -0
- package/dist/api/git-provider-items-service.cjs.map +1 -0
- package/dist/api/git-provider-items-service.d.ts +25 -0
- package/dist/api/git-provider-items-service.js +127 -0
- package/dist/api/git-provider-items-service.js.map +1 -0
- package/dist/api/mcp-health/probe-mcp-server-health.cjs +1 -1
- package/dist/api/mcp-health/probe-mcp-server-health.js +31 -31
- package/dist/api/open-hands.types.d.ts +0 -19
- package/dist/api/profiles-service/profiles-service.api.cjs.map +1 -1
- package/dist/api/profiles-service/profiles-service.api.d.ts +16 -2
- package/dist/api/profiles-service/profiles-service.api.js.map +1 -1
- package/dist/api/provider-connections-service/provider-connections-service.api.cjs +2 -0
- package/dist/api/provider-connections-service/provider-connections-service.api.cjs.map +1 -0
- package/dist/api/provider-connections-service/provider-connections-service.api.d.ts +34 -0
- package/dist/api/provider-connections-service/provider-connections-service.api.js +50 -0
- package/dist/api/provider-connections-service/provider-connections-service.api.js.map +1 -0
- package/dist/components/conversation-events/chat/event-content-helpers/create-skill-ready-event.cjs +1 -1
- package/dist/components/conversation-events/chat/event-content-helpers/create-skill-ready-event.cjs.map +1 -1
- package/dist/components/conversation-events/chat/event-content-helpers/create-skill-ready-event.js +1 -1
- package/dist/components/conversation-events/chat/event-content-helpers/create-skill-ready-event.js.map +1 -1
- package/dist/components/conversation-events/chat/event-message.cjs +1 -1
- package/dist/components/conversation-events/chat/event-message.cjs.map +1 -1
- package/dist/components/conversation-events/chat/event-message.js +1 -1
- package/dist/components/conversation-events/chat/event-message.js.map +1 -1
- package/dist/components/conversation-events/chat/messages.cjs.map +1 -1
- package/dist/components/conversation-events/chat/messages.js.map +1 -1
- package/dist/components/features/automations/add-automation-menu.d.ts +7 -0
- package/dist/components/features/automations/add-automation-modal.cjs +2 -0
- package/dist/components/features/automations/add-automation-modal.cjs.map +1 -0
- package/dist/components/features/automations/add-automation-modal.js +42 -0
- package/dist/components/features/automations/add-automation-modal.js.map +1 -0
- package/dist/components/features/automations/automation-action-button-classes.cjs +2 -0
- package/dist/components/features/automations/automation-action-button-classes.cjs.map +1 -0
- package/dist/components/features/automations/automation-action-button-classes.d.ts +0 -2
- package/dist/components/features/automations/automation-action-button-classes.js +8 -0
- package/dist/components/features/automations/automation-action-button-classes.js.map +1 -0
- package/dist/components/features/automations/automation-card-skeleton.cjs +2 -0
- package/dist/components/features/automations/automation-card-skeleton.cjs.map +1 -0
- package/dist/components/features/automations/automation-card-skeleton.js +33 -0
- package/dist/components/features/automations/automation-card-skeleton.js.map +1 -0
- package/dist/components/features/automations/automation-card.cjs +2 -0
- package/dist/components/features/automations/automation-card.cjs.map +1 -0
- package/dist/components/features/automations/automation-card.d.ts +1 -1
- package/dist/components/features/automations/automation-card.js +160 -0
- package/dist/components/features/automations/automation-card.js.map +1 -0
- package/dist/components/features/automations/automation-group.cjs +2 -0
- package/dist/components/features/automations/automation-group.cjs.map +1 -0
- package/dist/components/features/automations/automation-group.js +54 -0
- package/dist/components/features/automations/automation-group.js.map +1 -0
- package/dist/components/features/automations/automation-list-row.cjs +2 -0
- package/dist/components/features/automations/automation-list-row.cjs.map +1 -0
- package/dist/components/features/automations/automation-list-row.js +152 -0
- package/dist/components/features/automations/automation-list-row.js.map +1 -0
- package/dist/components/features/automations/automation-run-insights.cjs +2 -0
- package/dist/components/features/automations/automation-run-insights.cjs.map +1 -0
- package/dist/components/features/automations/automation-run-insights.js +46 -0
- package/dist/components/features/automations/automation-run-insights.js.map +1 -0
- package/dist/components/features/automations/automation-view-mode.cjs +2 -0
- package/dist/components/features/automations/automation-view-mode.cjs.map +1 -0
- package/dist/components/features/automations/automation-view-mode.d.ts +5 -1
- package/dist/components/features/automations/automation-view-mode.js +6 -0
- package/dist/components/features/automations/automation-view-mode.js.map +1 -0
- package/dist/components/features/automations/backend-not-configured.cjs +2 -0
- package/dist/components/features/automations/backend-not-configured.cjs.map +1 -0
- package/dist/components/features/automations/backend-not-configured.js +34 -0
- package/dist/components/features/automations/backend-not-configured.js.map +1 -0
- package/dist/components/features/automations/build-automation-menu-items.cjs +2 -0
- package/dist/components/features/automations/build-automation-menu-items.cjs.map +1 -0
- package/dist/components/features/automations/build-automation-menu-items.js +53 -0
- package/dist/components/features/automations/build-automation-menu-items.js.map +1 -0
- package/dist/components/features/automations/build-automation-pills.cjs +2 -0
- package/dist/components/features/automations/build-automation-pills.cjs.map +1 -0
- package/dist/components/features/automations/build-automation-pills.js +71 -0
- package/dist/components/features/automations/build-automation-pills.js.map +1 -0
- package/dist/components/features/automations/create-instructions.cjs +2 -0
- package/dist/components/features/automations/create-instructions.cjs.map +1 -0
- package/dist/components/features/automations/create-instructions.js +102 -0
- package/dist/components/features/automations/create-instructions.js.map +1 -0
- package/dist/components/features/automations/dashboard/automations-dashboard-controls.d.ts +4 -3
- package/dist/components/features/automations/detail/run-status-badge.cjs +2 -0
- package/dist/components/features/automations/detail/run-status-badge.cjs.map +1 -0
- package/dist/components/features/automations/detail/run-status-badge.js +102 -0
- package/dist/components/features/automations/detail/run-status-badge.js.map +1 -0
- package/dist/components/features/automations/empty-state.cjs +2 -0
- package/dist/components/features/automations/empty-state.cjs.map +1 -0
- package/dist/components/features/automations/empty-state.js +35 -0
- package/dist/components/features/automations/empty-state.js.map +1 -0
- package/dist/components/features/automations/error-state.cjs +2 -0
- package/dist/components/features/automations/error-state.cjs.map +1 -0
- package/dist/components/features/automations/error-state.js +28 -0
- package/dist/components/features/automations/error-state.js.map +1 -0
- package/dist/components/features/automations/import-automation-modal.d.ts +2 -1
- package/dist/components/features/automations/kebab-menu-item-content.cjs +2 -0
- package/dist/components/features/automations/kebab-menu-item-content.cjs.map +1 -0
- package/dist/components/features/automations/kebab-menu-item-content.js +21 -0
- package/dist/components/features/automations/kebab-menu-item-content.js.map +1 -0
- package/dist/components/features/automations/kebab-menu.cjs +2 -0
- package/dist/components/features/automations/kebab-menu.cjs.map +1 -0
- package/dist/components/features/automations/kebab-menu.d.ts +2 -1
- package/dist/components/features/automations/kebab-menu.js +76 -0
- package/dist/components/features/automations/kebab-menu.js.map +1 -0
- package/dist/components/features/automations/recommended-automations-launcher.cjs +2 -0
- package/dist/components/features/automations/recommended-automations-launcher.cjs.map +1 -0
- package/dist/components/features/automations/recommended-automations-launcher.d.ts +7 -1
- package/dist/components/features/automations/recommended-automations-launcher.js +134 -0
- package/dist/components/features/automations/recommended-automations-launcher.js.map +1 -0
- package/dist/components/features/automations/recommended-automations-rail.cjs +2 -0
- package/dist/components/features/automations/recommended-automations-rail.cjs.map +1 -0
- package/dist/components/features/automations/recommended-automations-rail.d.ts +9 -0
- package/dist/components/features/automations/recommended-automations-rail.js +127 -0
- package/dist/components/features/automations/recommended-automations-rail.js.map +1 -0
- package/dist/components/features/automations/recommended-automations-section.cjs +2 -0
- package/dist/components/features/automations/recommended-automations-section.cjs.map +1 -0
- package/dist/components/features/automations/recommended-automations-section.d.ts +2 -2
- package/dist/components/features/automations/recommended-automations-section.js +198 -0
- package/dist/components/features/automations/recommended-automations-section.js.map +1 -0
- package/dist/components/features/automations/responder-deployment-modal.cjs +2 -0
- package/dist/components/features/automations/responder-deployment-modal.cjs.map +1 -0
- package/dist/components/features/automations/responder-deployment-modal.js +75 -0
- package/dist/components/features/automations/responder-deployment-modal.js.map +1 -0
- package/dist/components/features/automations/status-badge.cjs +2 -0
- package/dist/components/features/automations/status-badge.cjs.map +1 -0
- package/dist/components/features/automations/status-badge.js +12 -0
- package/dist/components/features/automations/status-badge.js.map +1 -0
- package/dist/components/features/automations/to-latest-run-state.cjs +2 -0
- package/dist/components/features/automations/to-latest-run-state.cjs.map +1 -0
- package/dist/components/features/automations/to-latest-run-state.d.ts +6 -0
- package/dist/components/features/automations/to-latest-run-state.js +21 -0
- package/dist/components/features/automations/to-latest-run-state.js.map +1 -0
- package/dist/components/features/backends/backend-form-modal.cjs +1 -1
- package/dist/components/features/backends/backend-form-modal.js +10 -10
- package/dist/components/features/backends/manage-backends-modal.cjs +1 -1
- package/dist/components/features/backends/manage-backends-modal.js +5 -5
- package/dist/components/features/chat/chat-interface.cjs +2 -2
- package/dist/components/features/chat/chat-interface.cjs.map +1 -1
- package/dist/components/features/chat/chat-interface.js +179 -177
- package/dist/components/features/chat/chat-interface.js.map +1 -1
- package/dist/components/features/command-menu/command-menu-items.d.ts +10 -4
- package/dist/components/features/conversation/conversation-git-actions-menu.cjs +2 -0
- package/dist/components/features/conversation/conversation-git-actions-menu.cjs.map +1 -0
- package/dist/components/features/conversation/conversation-git-actions-menu.d.ts +15 -0
- package/dist/components/features/conversation/conversation-git-actions-menu.js +123 -0
- package/dist/components/features/conversation/conversation-git-actions-menu.js.map +1 -0
- package/dist/components/features/conversation/conversation-git-actions-toggle.cjs +2 -0
- package/dist/components/features/conversation/conversation-git-actions-toggle.cjs.map +1 -0
- package/dist/components/features/conversation/conversation-git-actions-toggle.d.ts +10 -0
- package/dist/components/features/conversation/conversation-git-actions-toggle.js +60 -0
- package/dist/components/features/conversation/conversation-git-actions-toggle.js.map +1 -0
- package/dist/components/features/conversation/conversation-main/chat-interface-wrapper.cjs +1 -1
- package/dist/components/features/conversation/conversation-main/chat-interface-wrapper.cjs.map +1 -1
- package/dist/components/features/conversation/conversation-main/chat-interface-wrapper.js +46 -10
- package/dist/components/features/conversation/conversation-main/chat-interface-wrapper.js.map +1 -1
- package/dist/components/features/conversation/conversation-main/conversation-main.cjs +1 -1
- package/dist/components/features/conversation/conversation-main/conversation-main.cjs.map +1 -1
- package/dist/components/features/conversation/conversation-main/conversation-main.js +49 -43
- package/dist/components/features/conversation/conversation-main/conversation-main.js.map +1 -1
- package/dist/components/features/conversation/conversation-name-with-status.cjs +1 -1
- package/dist/components/features/conversation/conversation-name-with-status.cjs.map +1 -1
- package/dist/components/features/conversation/conversation-name-with-status.js +49 -40
- package/dist/components/features/conversation/conversation-name-with-status.js.map +1 -1
- package/dist/components/features/conversation/conversation-name.cjs +1 -1
- package/dist/components/features/conversation/conversation-name.js +4 -4
- package/dist/components/features/conversation/conversation-overview-automations-panel.cjs +2 -0
- package/dist/components/features/conversation/conversation-overview-automations-panel.cjs.map +1 -0
- package/dist/components/features/conversation/conversation-overview-automations-panel.d.ts +6 -0
- package/dist/components/features/conversation/conversation-overview-automations-panel.js +48 -0
- package/dist/components/features/conversation/conversation-overview-automations-panel.js.map +1 -0
- package/dist/components/features/conversation/conversation-overview-context-menu.cjs +2 -0
- package/dist/components/features/conversation/conversation-overview-context-menu.cjs.map +1 -0
- package/dist/components/features/conversation/conversation-overview-context-menu.d.ts +10 -0
- package/dist/components/features/conversation/conversation-overview-context-menu.js +221 -0
- package/dist/components/features/conversation/conversation-overview-context-menu.js.map +1 -0
- package/dist/components/features/conversation/conversation-overview-diffs-row.cjs +2 -0
- package/dist/components/features/conversation/conversation-overview-diffs-row.cjs.map +1 -0
- package/dist/components/features/conversation/conversation-overview-diffs-row.d.ts +2 -0
- package/dist/components/features/conversation/conversation-overview-diffs-row.js +88 -0
- package/dist/components/features/conversation/conversation-overview-diffs-row.js.map +1 -0
- package/dist/components/features/conversation/conversation-overview-drawer-content.cjs +2 -0
- package/dist/components/features/conversation/conversation-overview-drawer-content.cjs.map +1 -0
- package/dist/components/features/conversation/conversation-overview-drawer-content.d.ts +6 -0
- package/dist/components/features/conversation/conversation-overview-drawer-content.js +138 -0
- package/dist/components/features/conversation/conversation-overview-drawer-content.js.map +1 -0
- package/dist/components/features/conversation/conversation-overview-drawer-context.cjs +2 -0
- package/dist/components/features/conversation/conversation-overview-drawer-context.cjs.map +1 -0
- package/dist/components/features/conversation/conversation-overview-drawer-context.d.ts +17 -0
- package/dist/components/features/conversation/conversation-overview-drawer-context.js +43 -0
- package/dist/components/features/conversation/conversation-overview-drawer-context.js.map +1 -0
- package/dist/components/features/conversation/conversation-overview-drawer.cjs +2 -0
- package/dist/components/features/conversation/conversation-overview-drawer.cjs.map +1 -0
- package/dist/components/features/conversation/conversation-overview-drawer.constants.cjs +2 -0
- package/dist/components/features/conversation/conversation-overview-drawer.constants.cjs.map +1 -0
- package/dist/components/features/conversation/conversation-overview-drawer.constants.d.ts +6 -0
- package/dist/components/features/conversation/conversation-overview-drawer.constants.js +6 -0
- package/dist/components/features/conversation/conversation-overview-drawer.constants.js.map +1 -0
- package/dist/components/features/conversation/conversation-overview-drawer.d.ts +7 -0
- package/dist/components/features/conversation/conversation-overview-drawer.js +45 -0
- package/dist/components/features/conversation/conversation-overview-drawer.js.map +1 -0
- package/dist/components/features/conversation/conversation-overview-drawer.types.cjs +2 -0
- package/dist/components/features/conversation/conversation-overview-drawer.types.cjs.map +1 -0
- package/dist/components/features/conversation/conversation-overview-drawer.types.d.ts +12 -0
- package/dist/components/features/conversation/conversation-overview-drawer.types.js +13 -0
- package/dist/components/features/conversation/conversation-overview-drawer.types.js.map +1 -0
- package/dist/components/features/conversation/conversation-overview-git-items-panel.cjs +2 -0
- package/dist/components/features/conversation/conversation-overview-git-items-panel.cjs.map +1 -0
- package/dist/components/features/conversation/conversation-overview-git-items-panel.d.ts +7 -0
- package/dist/components/features/conversation/conversation-overview-git-items-panel.js +81 -0
- package/dist/components/features/conversation/conversation-overview-git-items-panel.js.map +1 -0
- package/dist/components/features/conversation/conversation-overview-git-section.cjs +2 -0
- package/dist/components/features/conversation/conversation-overview-git-section.cjs.map +1 -0
- package/dist/components/features/conversation/conversation-overview-git-section.d.ts +6 -0
- package/dist/components/features/conversation/conversation-overview-git-section.js +143 -0
- package/dist/components/features/conversation/conversation-overview-git-section.js.map +1 -0
- package/dist/components/features/conversation/conversation-overview-mcp-panel.cjs +2 -0
- package/dist/components/features/conversation/conversation-overview-mcp-panel.cjs.map +1 -0
- package/dist/components/features/conversation/conversation-overview-mcp-panel.d.ts +6 -0
- package/dist/components/features/conversation/conversation-overview-mcp-panel.js +108 -0
- package/dist/components/features/conversation/conversation-overview-mcp-panel.js.map +1 -0
- package/dist/components/features/conversation/conversation-overview-panel.cjs +2 -0
- package/dist/components/features/conversation/conversation-overview-panel.cjs.map +1 -0
- package/dist/components/features/conversation/conversation-overview-panel.constants.cjs +2 -0
- package/dist/components/features/conversation/conversation-overview-panel.constants.cjs.map +1 -0
- package/dist/components/features/conversation/conversation-overview-panel.constants.d.ts +24 -0
- package/dist/components/features/conversation/conversation-overview-panel.constants.js +12 -0
- package/dist/components/features/conversation/conversation-overview-panel.constants.js.map +1 -0
- package/dist/components/features/conversation/conversation-overview-panel.d.ts +2 -0
- package/dist/components/features/conversation/conversation-overview-panel.js +102 -0
- package/dist/components/features/conversation/conversation-overview-panel.js.map +1 -0
- package/dist/components/features/conversation/conversation-overview-project-scope-toggle.cjs +2 -0
- package/dist/components/features/conversation/conversation-overview-project-scope-toggle.cjs.map +1 -0
- package/dist/components/features/conversation/conversation-overview-project-scope-toggle.d.ts +8 -0
- package/dist/components/features/conversation/conversation-overview-project-scope-toggle.js +29 -0
- package/dist/components/features/conversation/conversation-overview-project-scope-toggle.js.map +1 -0
- package/dist/components/features/conversation/conversation-overview-secrets-panel.cjs +2 -0
- package/dist/components/features/conversation/conversation-overview-secrets-panel.cjs.map +1 -0
- package/dist/components/features/conversation/conversation-overview-secrets-panel.d.ts +6 -0
- package/dist/components/features/conversation/conversation-overview-secrets-panel.js +89 -0
- package/dist/components/features/conversation/conversation-overview-secrets-panel.js.map +1 -0
- package/dist/components/features/conversation/conversation-overview-sections.cjs +2 -0
- package/dist/components/features/conversation/conversation-overview-sections.cjs.map +1 -0
- package/dist/components/features/conversation/conversation-overview-sections.d.ts +43 -0
- package/dist/components/features/conversation/conversation-overview-sections.js +27 -0
- package/dist/components/features/conversation/conversation-overview-sections.js.map +1 -0
- package/dist/components/features/conversation/conversation-overview-skills-panel.cjs +2 -0
- package/dist/components/features/conversation/conversation-overview-skills-panel.cjs.map +1 -0
- package/dist/components/features/conversation/conversation-overview-skills-panel.d.ts +6 -0
- package/dist/components/features/conversation/conversation-overview-skills-panel.js +138 -0
- package/dist/components/features/conversation/conversation-overview-skills-panel.js.map +1 -0
- package/dist/components/features/conversation/conversation-overview-toggle.cjs +2 -0
- package/dist/components/features/conversation/conversation-overview-toggle.cjs.map +1 -0
- package/dist/components/features/conversation/conversation-overview-toggle.d.ts +11 -0
- package/dist/components/features/conversation/conversation-overview-toggle.js +99 -0
- package/dist/components/features/conversation/conversation-overview-toggle.js.map +1 -0
- package/dist/components/features/conversation/conversation-secondary-drawer.classes.cjs +2 -0
- package/dist/components/features/conversation/conversation-secondary-drawer.classes.cjs.map +1 -0
- package/dist/components/features/conversation/conversation-secondary-drawer.classes.d.ts +4 -0
- package/dist/components/features/conversation/conversation-secondary-drawer.classes.js +7 -0
- package/dist/components/features/conversation/conversation-secondary-drawer.classes.js.map +1 -0
- package/dist/components/features/conversation/conversation-tabs/conversation-tab-content/conversation-tab-content.cjs +1 -1
- package/dist/components/features/conversation/conversation-tabs/conversation-tab-content/conversation-tab-content.cjs.map +1 -1
- package/dist/components/features/conversation/conversation-tabs/conversation-tab-content/conversation-tab-content.js +10 -9
- package/dist/components/features/conversation/conversation-tabs/conversation-tab-content/conversation-tab-content.js.map +1 -1
- package/dist/components/features/conversation/conversation-tabs/conversation-tabs-context-menu.cjs +1 -1
- package/dist/components/features/conversation/conversation-tabs/conversation-tabs-context-menu.cjs.map +1 -1
- package/dist/components/features/conversation/conversation-tabs/conversation-tabs-context-menu.js +68 -62
- package/dist/components/features/conversation/conversation-tabs/conversation-tabs-context-menu.js.map +1 -1
- package/dist/components/features/conversation/conversation-tabs/conversation-tabs.cjs +1 -1
- package/dist/components/features/conversation/conversation-tabs/conversation-tabs.cjs.map +1 -1
- package/dist/components/features/conversation/conversation-tabs/conversation-tabs.js +98 -88
- package/dist/components/features/conversation/conversation-tabs/conversation-tabs.js.map +1 -1
- package/dist/components/features/conversation/right-panel-toggle.cjs +1 -1
- package/dist/components/features/conversation/right-panel-toggle.cjs.map +1 -1
- package/dist/components/features/conversation/right-panel-toggle.d.ts +3 -2
- package/dist/components/features/conversation/right-panel-toggle.js +34 -33
- package/dist/components/features/conversation/right-panel-toggle.js.map +1 -1
- package/dist/components/features/conversation-panel/conversation-panel-list-helpers.cjs +1 -1
- package/dist/components/features/conversation-panel/conversation-panel-list-helpers.cjs.map +1 -1
- package/dist/components/features/conversation-panel/conversation-panel-list-helpers.d.ts +2 -1
- package/dist/components/features/conversation-panel/conversation-panel-list-helpers.js +14 -7
- package/dist/components/features/conversation-panel/conversation-panel-list-helpers.js.map +1 -1
- package/dist/components/features/conversation-panel/conversation-panel.cjs +1 -1
- package/dist/components/features/conversation-panel/conversation-panel.cjs.map +1 -1
- package/dist/components/features/conversation-panel/conversation-panel.js +252 -225
- package/dist/components/features/conversation-panel/conversation-panel.js.map +1 -1
- package/dist/components/features/conversation-panel/local-new-conversation-menu.cjs +1 -1
- package/dist/components/features/conversation-panel/local-new-conversation-menu.cjs.map +1 -1
- package/dist/components/features/conversation-panel/local-new-conversation-menu.js +4 -4
- package/dist/components/features/conversation-panel/local-new-conversation-menu.js.map +1 -1
- package/dist/components/features/diff-viewer/accordion-panel.cjs +2 -0
- package/dist/components/features/diff-viewer/accordion-panel.cjs.map +1 -0
- package/dist/components/features/diff-viewer/accordion-panel.d.ts +13 -0
- package/dist/components/features/diff-viewer/accordion-panel.js +41 -0
- package/dist/components/features/diff-viewer/accordion-panel.js.map +1 -0
- package/dist/components/features/diff-viewer/commit-list.cjs +1 -1
- package/dist/components/features/diff-viewer/commit-list.cjs.map +1 -1
- package/dist/components/features/diff-viewer/commit-list.d.ts +5 -1
- package/dist/components/features/diff-viewer/commit-list.js +30 -16
- package/dist/components/features/diff-viewer/commit-list.js.map +1 -1
- package/dist/components/features/diff-viewer/commit-row.cjs +1 -1
- package/dist/components/features/diff-viewer/commit-row.cjs.map +1 -1
- package/dist/components/features/diff-viewer/commit-row.d.ts +1 -2
- package/dist/components/features/diff-viewer/commit-row.js +38 -34
- package/dist/components/features/diff-viewer/commit-row.js.map +1 -1
- package/dist/components/features/diff-viewer/diff-change-list.cjs +2 -0
- package/dist/components/features/diff-viewer/diff-change-list.cjs.map +1 -0
- package/dist/components/features/diff-viewer/diff-change-list.d.ts +18 -0
- package/dist/components/features/diff-viewer/diff-change-list.js +22 -0
- package/dist/components/features/diff-viewer/diff-change-list.js.map +1 -0
- package/dist/components/features/diff-viewer/editor-container.cjs +1 -1
- package/dist/components/features/diff-viewer/editor-container.cjs.map +1 -1
- package/dist/components/features/diff-viewer/editor-container.d.ts +2 -1
- package/dist/components/features/diff-viewer/editor-container.js +8 -7
- package/dist/components/features/diff-viewer/editor-container.js.map +1 -1
- package/dist/components/features/diff-viewer/file-diff-viewer.cjs +1 -1
- package/dist/components/features/diff-viewer/file-diff-viewer.cjs.map +1 -1
- package/dist/components/features/diff-viewer/file-diff-viewer.d.ts +10 -1
- package/dist/components/features/diff-viewer/file-diff-viewer.js +138 -112
- package/dist/components/features/diff-viewer/file-diff-viewer.js.map +1 -1
- package/dist/components/features/diff-viewer/uncommitted-changes-row.cjs +2 -0
- package/dist/components/features/diff-viewer/uncommitted-changes-row.cjs.map +1 -0
- package/dist/components/features/diff-viewer/uncommitted-changes-row.d.ts +12 -0
- package/dist/components/features/diff-viewer/uncommitted-changes-row.js +51 -0
- package/dist/components/features/diff-viewer/uncommitted-changes-row.js.map +1 -0
- package/dist/components/features/files-tab/file-content-viewer.cjs +1 -1
- package/dist/components/features/files-tab/file-content-viewer.cjs.map +1 -1
- package/dist/components/features/files-tab/file-content-viewer.js +0 -1
- package/dist/components/features/files-tab/file-content-viewer.js.map +1 -1
- package/dist/components/features/files-tab/file-quick-row.cjs +1 -1
- package/dist/components/features/files-tab/file-quick-row.cjs.map +1 -1
- package/dist/components/features/files-tab/file-quick-row.d.ts +9 -7
- package/dist/components/features/files-tab/file-quick-row.js +63 -34
- package/dist/components/features/files-tab/file-quick-row.js.map +1 -1
- package/dist/components/features/files-tab/files-tab-tree.constants.cjs +2 -0
- package/dist/components/features/files-tab/files-tab-tree.constants.cjs.map +1 -0
- package/dist/components/features/files-tab/files-tab-tree.constants.d.ts +7 -0
- package/dist/components/features/files-tab/files-tab-tree.constants.js +6 -0
- package/dist/components/features/files-tab/files-tab-tree.constants.js.map +1 -0
- package/dist/components/features/files-tab/segmented-toggle.cjs +1 -1
- package/dist/components/features/files-tab/segmented-toggle.cjs.map +1 -1
- package/dist/components/features/files-tab/segmented-toggle.d.ts +5 -3
- package/dist/components/features/files-tab/segmented-toggle.js +10 -13
- package/dist/components/features/files-tab/segmented-toggle.js.map +1 -1
- package/dist/components/features/files-tab/tree-node.cjs +1 -1
- package/dist/components/features/files-tab/tree-node.cjs.map +1 -1
- package/dist/components/features/files-tab/tree-node.js +34 -32
- package/dist/components/features/files-tab/tree-node.js.map +1 -1
- package/dist/components/features/files-tab/workspace-path.cjs +2 -0
- package/dist/components/features/files-tab/workspace-path.cjs.map +1 -0
- package/dist/components/features/files-tab/workspace-path.d.ts +6 -0
- package/dist/components/features/files-tab/workspace-path.js +41 -0
- package/dist/components/features/files-tab/workspace-path.js.map +1 -0
- package/dist/components/features/home/featured-automations/automation-health-indicator.cjs +2 -0
- package/dist/components/features/home/featured-automations/automation-health-indicator.cjs.map +1 -0
- package/dist/components/features/home/featured-automations/automation-health-indicator.js +22 -0
- package/dist/components/features/home/featured-automations/automation-health-indicator.js.map +1 -0
- package/dist/components/features/home/featured-automations/automation-run-activity-metrics.cjs +2 -0
- package/dist/components/features/home/featured-automations/automation-run-activity-metrics.cjs.map +1 -0
- package/dist/components/features/home/featured-automations/automation-run-activity-metrics.js +45 -0
- package/dist/components/features/home/featured-automations/automation-run-activity-metrics.js.map +1 -0
- package/dist/components/features/home/featured-automations/automation-run-activity-sparkline.cjs +2 -0
- package/dist/components/features/home/featured-automations/automation-run-activity-sparkline.cjs.map +1 -0
- package/dist/components/features/home/featured-automations/automation-run-activity-sparkline.js +108 -0
- package/dist/components/features/home/featured-automations/automation-run-activity-sparkline.js.map +1 -0
- package/dist/components/features/home/featured-automations/automation-run-health.cjs +2 -0
- package/dist/components/features/home/featured-automations/automation-run-health.cjs.map +1 -0
- package/dist/components/features/home/featured-automations/automation-run-health.js +75 -0
- package/dist/components/features/home/featured-automations/automation-run-health.js.map +1 -0
- package/dist/components/features/home/featured-automations/home-automation-run-tooltip.cjs +2 -0
- package/dist/components/features/home/featured-automations/home-automation-run-tooltip.cjs.map +1 -0
- package/dist/components/features/home/featured-automations/home-automation-run-tooltip.js +74 -0
- package/dist/components/features/home/featured-automations/home-automation-run-tooltip.js.map +1 -0
- package/dist/components/features/home/featured-automations/pinned-automation-card.d.ts +3 -3
- package/dist/components/features/home/git-repo-dropdown/use-url-search.cjs +1 -1
- package/dist/components/features/home/git-repo-dropdown/use-url-search.cjs.map +1 -1
- package/dist/components/features/home/git-repo-dropdown/use-url-search.js +1 -1
- package/dist/components/features/home/git-repo-dropdown/use-url-search.js.map +1 -1
- package/dist/components/features/home/workspace-dropdown/folder-browser-modal.cjs +1 -1
- package/dist/components/features/home/workspace-dropdown/folder-browser-modal.js +6 -6
- package/dist/components/features/home/workspace-dropdown/manage-workspaces-modal.cjs +1 -1
- package/dist/components/features/home/workspace-dropdown/manage-workspaces-modal.js +6 -6
- package/dist/components/features/manifest/manifest-form-field.d.ts +4 -3
- package/dist/components/features/manifest/manifest-icons.cjs +2 -0
- package/dist/components/features/manifest/manifest-icons.cjs.map +1 -0
- package/dist/components/features/manifest/manifest-icons.d.ts +1 -0
- package/dist/components/features/manifest/manifest-icons.js +21 -0
- package/dist/components/features/manifest/manifest-icons.js.map +1 -0
- package/dist/components/features/manifest/manifest-repository-list.d.ts +25 -0
- package/dist/components/features/markdown/markdown-table-scroll.cjs +1 -1
- package/dist/components/features/markdown/markdown-table-scroll.cjs.map +1 -1
- package/dist/components/features/markdown/markdown-table-scroll.d.ts +2 -6
- package/dist/components/features/markdown/markdown-table-scroll.js +15 -21
- package/dist/components/features/markdown/markdown-table-scroll.js.map +1 -1
- package/dist/components/features/mcp-logo-badge.cjs +1 -1
- package/dist/components/features/mcp-logo-badge.cjs.map +1 -1
- package/dist/components/features/mcp-logo-badge.d.ts +1 -1
- package/dist/components/features/mcp-logo-badge.js +1 -0
- package/dist/components/features/mcp-logo-badge.js.map +1 -1
- package/dist/components/features/mcp-page/custom-server-editor.cjs +1 -1
- package/dist/components/features/mcp-page/custom-server-editor.js +16 -16
- package/dist/components/features/mcp-page/index.cjs +1 -1
- package/dist/components/features/mcp-page/index.js +2 -2
- 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 +25 -25
- 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.js +5 -5
- package/dist/components/features/mcp-page/marketplace-card.cjs +1 -1
- package/dist/components/features/mcp-page/marketplace-card.js +4 -4
- package/dist/components/features/mcp-page/marketplace-section.cjs +1 -1
- package/dist/components/features/mcp-page/marketplace-section.js +3 -3
- package/dist/components/features/mcp-page/mcp-logo-stack-badge.cjs +2 -0
- package/dist/components/features/mcp-page/mcp-logo-stack-badge.cjs.map +1 -0
- package/dist/components/features/mcp-page/mcp-logo-stack-badge.js +60 -0
- package/dist/components/features/mcp-page/mcp-logo-stack-badge.js.map +1 -0
- package/dist/components/features/mcp-page/mcp-server-health.cjs +1 -1
- package/dist/components/features/mcp-page/mcp-server-health.js +18 -18
- package/dist/components/features/onboarding/use-onboarding-completion.cjs +2 -0
- package/dist/components/features/onboarding/use-onboarding-completion.cjs.map +1 -0
- package/dist/components/features/onboarding/use-onboarding-completion.js +32 -0
- package/dist/components/features/onboarding/use-onboarding-completion.js.map +1 -0
- package/dist/components/features/settings/app-settings/getting-started-checklist-switch.cjs +2 -0
- package/dist/components/features/settings/app-settings/getting-started-checklist-switch.cjs.map +1 -0
- package/dist/components/features/settings/app-settings/getting-started-checklist-switch.d.ts +1 -0
- package/dist/components/features/settings/app-settings/getting-started-checklist-switch.js +22 -0
- package/dist/components/features/settings/app-settings/getting-started-checklist-switch.js.map +1 -0
- package/dist/components/features/settings/brand-button.cjs +1 -1
- package/dist/components/features/settings/brand-button.cjs.map +1 -1
- package/dist/components/features/settings/brand-button.d.ts +2 -0
- package/dist/components/features/settings/brand-button.js +4 -2
- package/dist/components/features/settings/brand-button.js.map +1 -1
- package/dist/components/features/settings/llm-profiles/delete-provider-connection-modal.cjs +1 -0
- package/dist/components/features/settings/llm-profiles/delete-provider-connection-modal.d.ts +7 -0
- package/dist/components/features/settings/llm-profiles/delete-provider-connection-modal.js +7 -0
- package/dist/components/features/settings/llm-profiles/llm-profiles-manager.cjs +1 -1
- package/dist/components/features/settings/llm-profiles/llm-profiles-manager.js +3 -0
- package/dist/components/features/settings/llm-profiles/llm-settings-local-view.cjs +1 -1
- package/dist/components/features/settings/llm-profiles/llm-settings-local-view.js +1 -0
- package/dist/components/features/settings/llm-profiles/profiles-body.d.ts +20 -1
- package/dist/components/features/settings/llm-profiles/provider-connection-modal.cjs +1 -0
- package/dist/components/features/settings/llm-profiles/provider-connection-modal.d.ts +19 -0
- package/dist/components/features/settings/llm-profiles/provider-connection-modal.js +10 -0
- package/dist/components/features/settings/llm-profiles/provider-connection-row.cjs +1 -0
- package/dist/components/features/settings/llm-profiles/provider-connection-row.d.ts +10 -0
- package/dist/components/features/settings/llm-profiles/provider-connection-row.js +6 -0
- package/dist/components/features/settings/llm-profiles/provider-connections-manager.cjs +1 -0
- package/dist/components/features/settings/llm-profiles/provider-connections-manager.d.ts +15 -0
- package/dist/components/features/settings/llm-profiles/provider-connections-manager.js +8 -0
- package/dist/components/features/settings/sdk-settings/schema-field.cjs +1 -1
- package/dist/components/features/settings/sdk-settings/schema-field.js +6 -6
- package/dist/components/features/settings/sdk-settings/sdk-section-page.cjs +1 -1
- package/dist/components/features/settings/sdk-settings/sdk-section-page.js +7 -7
- package/dist/components/features/settings/sdk-settings/sdk-section-page.js.map +1 -1
- package/dist/components/features/settings/secrets-settings/secret-form.cjs +1 -1
- package/dist/components/features/settings/secrets-settings/secret-form.js +7 -7
- package/dist/components/features/settings/settings-input.cjs +1 -1
- package/dist/components/features/settings/settings-input.cjs.map +1 -1
- package/dist/components/features/settings/settings-input.d.ts +6 -0
- package/dist/components/features/settings/settings-input.js +14 -13
- package/dist/components/features/settings/settings-input.js.map +1 -1
- package/dist/components/features/sidebar/sidebar-onboarding-checklist-item-icon.cjs +2 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist-item-icon.cjs.map +1 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist-item-icon.d.ts +7 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist-item-icon.js +102 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist-item-icon.js.map +1 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist-item-preview.cjs +2 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist-item-preview.cjs.map +1 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist-item-preview.d.ts +8 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist-item-preview.js +66 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist-item-preview.js.map +1 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist-llm-complete.cjs +2 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist-llm-complete.cjs.map +1 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist-llm-complete.d.ts +3 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist-llm-complete.js +15 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist-llm-complete.js.map +1 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist-storage.cjs +2 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist-storage.cjs.map +1 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist-storage.d.ts +10 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist-storage.js +39 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist-storage.js.map +1 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist.cjs +2 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist.cjs.map +1 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist.constants.cjs +2 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist.constants.cjs.map +1 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist.constants.d.ts +26 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist.constants.js +78 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist.constants.js.map +1 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist.d.ts +5 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist.js +127 -0
- package/dist/components/features/sidebar/sidebar-onboarding-checklist.js.map +1 -0
- package/dist/components/features/sidebar/sidebar-rail-body.cjs +1 -1
- package/dist/components/features/sidebar/sidebar-rail-body.cjs.map +1 -1
- package/dist/components/features/sidebar/sidebar-rail-body.js +115 -111
- package/dist/components/features/sidebar/sidebar-rail-body.js.map +1 -1
- package/dist/components/features/sidebar/use-sidebar-onboarding-checklist-dismissed.cjs +2 -0
- package/dist/components/features/sidebar/use-sidebar-onboarding-checklist-dismissed.cjs.map +1 -0
- package/dist/components/features/sidebar/use-sidebar-onboarding-checklist-dismissed.d.ts +1 -0
- package/dist/components/features/sidebar/use-sidebar-onboarding-checklist-dismissed.js +10 -0
- package/dist/components/features/sidebar/use-sidebar-onboarding-checklist-dismissed.js.map +1 -0
- package/dist/components/features/sidebar/use-sidebar-onboarding-checklist.cjs +2 -0
- package/dist/components/features/sidebar/use-sidebar-onboarding-checklist.cjs.map +1 -0
- package/dist/components/features/sidebar/use-sidebar-onboarding-checklist.d.ts +15 -0
- package/dist/components/features/sidebar/use-sidebar-onboarding-checklist.js +75 -0
- package/dist/components/features/sidebar/use-sidebar-onboarding-checklist.js.map +1 -0
- package/dist/components/features/skills/add-skill-modal.cjs +2 -0
- package/dist/components/features/skills/add-skill-modal.cjs.map +1 -0
- package/dist/components/features/skills/add-skill-modal.js +164 -0
- package/dist/components/features/skills/add-skill-modal.js.map +1 -0
- package/dist/components/features/skills/build-skill-pills.cjs +2 -0
- package/dist/components/features/skills/build-skill-pills.cjs.map +1 -0
- package/dist/components/features/skills/build-skill-pills.js +88 -0
- package/dist/components/features/skills/build-skill-pills.js.map +1 -0
- package/dist/components/features/skills/get-skill-card-description.cjs +2 -0
- package/dist/components/features/skills/get-skill-card-description.cjs.map +1 -0
- package/dist/components/features/skills/get-skill-card-description.js +34 -0
- package/dist/components/features/skills/get-skill-card-description.js.map +1 -0
- package/dist/components/features/skills/get-skill-chat-launch-message.cjs +2 -0
- package/dist/components/features/skills/get-skill-chat-launch-message.cjs.map +1 -0
- package/dist/components/features/skills/get-skill-chat-launch-message.js +9 -0
- package/dist/components/features/skills/get-skill-chat-launch-message.js.map +1 -0
- package/dist/components/features/skills/is-copyable-skill-source.cjs +2 -0
- package/dist/components/features/skills/is-copyable-skill-source.cjs.map +1 -0
- package/dist/components/features/skills/is-copyable-skill-source.js +9 -0
- package/dist/components/features/skills/is-copyable-skill-source.js.map +1 -0
- package/dist/components/features/skills/skill-card-pill-row.cjs +2 -0
- package/dist/components/features/skills/skill-card-pill-row.cjs.map +1 -0
- package/dist/components/features/skills/skill-card-pill-row.d.ts +1 -1
- package/dist/components/features/skills/skill-card-pill-row.js +137 -0
- package/dist/components/features/skills/skill-card-pill-row.js.map +1 -0
- package/dist/components/features/skills/skill-card.cjs +2 -0
- package/dist/components/features/skills/skill-card.cjs.map +1 -0
- package/dist/components/features/skills/skill-card.js +93 -0
- package/dist/components/features/skills/skill-card.js.map +1 -0
- package/dist/components/features/skills/skill-detail-modal.cjs +3 -0
- package/dist/components/features/skills/skill-detail-modal.cjs.map +1 -0
- package/dist/components/features/skills/skill-detail-modal.js +150 -0
- package/dist/components/features/skills/skill-detail-modal.js.map +1 -0
- package/dist/components/features/skills/skill-facet-rail.cjs +2 -0
- package/dist/components/features/skills/skill-facet-rail.cjs.map +1 -0
- package/dist/components/features/skills/skill-facet-rail.js +42 -0
- package/dist/components/features/skills/skill-facet-rail.js.map +1 -0
- package/dist/components/features/skills/skill-facet-row.cjs +2 -0
- package/dist/components/features/skills/skill-facet-row.cjs.map +1 -0
- package/dist/components/features/skills/skill-facet-row.js +44 -0
- package/dist/components/features/skills/skill-facet-row.js.map +1 -0
- package/dist/components/features/skills/skill-filter.cjs +2 -0
- package/dist/components/features/skills/skill-filter.cjs.map +1 -0
- package/dist/components/features/skills/skill-filter.js +166 -0
- package/dist/components/features/skills/skill-filter.js.map +1 -0
- package/dist/components/features/skills/skill-filters-modal.cjs +2 -0
- package/dist/components/features/skills/skill-filters-modal.cjs.map +1 -0
- package/dist/components/features/skills/skill-filters-modal.js +53 -0
- package/dist/components/features/skills/skill-filters-modal.js.map +1 -0
- package/dist/components/features/skills/skill-icon-badge.cjs +2 -0
- package/dist/components/features/skills/skill-icon-badge.cjs.map +1 -0
- package/dist/components/features/skills/skill-icon-badge.js +17 -0
- package/dist/components/features/skills/skill-icon-badge.js.map +1 -0
- package/dist/components/features/skills/skill-type-badge.cjs +2 -0
- package/dist/components/features/skills/skill-type-badge.cjs.map +1 -0
- package/dist/components/features/skills/skill-type-badge.js +21 -0
- package/dist/components/features/skills/skill-type-badge.js.map +1 -0
- package/dist/components/features/skills/skills-toolbar.cjs +2 -0
- package/dist/components/features/skills/skills-toolbar.cjs.map +1 -0
- package/dist/components/features/skills/skills-toolbar.js +63 -0
- package/dist/components/features/skills/skills-toolbar.js.map +1 -0
- package/dist/components/shared/buttons/circle-plus-check-toggle.cjs +1 -1
- package/dist/components/shared/buttons/circle-plus-check-toggle.cjs.map +1 -1
- package/dist/components/shared/buttons/circle-plus-check-toggle.js +19 -6
- package/dist/components/shared/buttons/circle-plus-check-toggle.js.map +1 -1
- package/dist/components/shared/filters/enum-filter-dropdown.cjs +1 -1
- package/dist/components/shared/filters/enum-filter-dropdown.cjs.map +1 -1
- package/dist/components/shared/filters/enum-filter-dropdown.d.ts +4 -1
- package/dist/components/shared/filters/enum-filter-dropdown.js +14 -14
- package/dist/components/shared/filters/enum-filter-dropdown.js.map +1 -1
- package/dist/components/shared/modals/settings/settings-form.cjs +1 -1
- package/dist/components/shared/modals/settings/settings-form.js +4 -4
- package/dist/components/ui/resize-handle.cjs +1 -1
- package/dist/components/ui/resize-handle.cjs.map +1 -1
- package/dist/components/ui/resize-handle.d.ts +2 -1
- package/dist/components/ui/resize-handle.js +6 -5
- package/dist/components/ui/resize-handle.js.map +1 -1
- package/dist/config/defaults.cjs +1 -1
- package/dist/config/defaults.cjs.map +1 -1
- package/dist/config/defaults.js +2 -2
- package/dist/config/defaults.js.map +1 -1
- package/dist/constants/skills-docs.cjs +2 -0
- package/dist/constants/skills-docs.cjs.map +1 -0
- package/dist/constants/skills-docs.js +6 -0
- package/dist/constants/skills-docs.js.map +1 -0
- 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 +174 -149
- package/dist/contexts/conversation-websocket-context.js.map +1 -1
- package/dist/fixtures/home-automations-demo.cjs +2 -0
- package/dist/fixtures/home-automations-demo.cjs.map +1 -0
- package/dist/fixtures/home-automations-demo.d.ts +1 -3
- package/dist/fixtures/home-automations-demo.js +384 -0
- package/dist/fixtures/home-automations-demo.js.map +1 -0
- package/dist/hooks/chat/use-slash-command.cjs +1 -1
- package/dist/hooks/chat/use-slash-command.cjs.map +1 -1
- package/dist/hooks/chat/use-slash-command.d.ts +1 -2
- package/dist/hooks/chat/use-slash-command.js +1 -0
- package/dist/hooks/chat/use-slash-command.js.map +1 -1
- package/dist/hooks/mutation/use-create-conversation.cjs +1 -1
- package/dist/hooks/mutation/use-create-conversation.cjs.map +1 -1
- package/dist/hooks/mutation/use-create-conversation.js +27 -30
- package/dist/hooks/mutation/use-create-conversation.js.map +1 -1
- package/dist/hooks/mutation/use-create-provider-connection.cjs +1 -0
- package/dist/hooks/mutation/use-create-provider-connection.d.ts +2 -0
- package/dist/hooks/mutation/use-create-provider-connection.js +1 -0
- package/dist/hooks/mutation/use-delete-mcp-server.cjs +1 -1
- package/dist/hooks/mutation/use-delete-mcp-server.js +3 -3
- package/dist/hooks/mutation/use-delete-provider-connection.cjs +1 -0
- package/dist/hooks/mutation/use-delete-provider-connection.d.ts +1 -0
- package/dist/hooks/mutation/use-delete-provider-connection.js +1 -0
- package/dist/hooks/mutation/use-switch-acp-model.cjs +1 -1
- package/dist/hooks/mutation/use-switch-acp-model.cjs.map +1 -1
- package/dist/hooks/mutation/use-switch-acp-model.d.ts +5 -3
- package/dist/hooks/mutation/use-switch-acp-model.js +9 -13
- package/dist/hooks/mutation/use-switch-acp-model.js.map +1 -1
- package/dist/hooks/mutation/use-update-mcp-server.cjs +1 -1
- package/dist/hooks/mutation/use-update-mcp-server.js +6 -6
- package/dist/hooks/mutation/use-update-provider-connection.cjs +1 -0
- package/dist/hooks/mutation/use-update-provider-connection.d.ts +7 -0
- package/dist/hooks/mutation/use-update-provider-connection.js +1 -0
- package/dist/hooks/query/query-keys.cjs +1 -1
- package/dist/hooks/query/query-keys.cjs.map +1 -1
- package/dist/hooks/query/query-keys.d.ts +3 -0
- package/dist/hooks/query/query-keys.js +4 -4
- package/dist/hooks/query/query-keys.js.map +1 -1
- package/dist/hooks/query/use-automation-detail.cjs +1 -0
- package/dist/hooks/query/use-automation-detail.js +2 -0
- package/dist/hooks/query/use-automation-health.cjs +2 -0
- package/dist/hooks/query/use-automation-health.cjs.map +1 -0
- package/dist/hooks/query/use-automation-health.js +22 -0
- package/dist/hooks/query/use-automation-health.js.map +1 -0
- package/dist/hooks/query/use-automations.cjs +2 -0
- package/dist/hooks/query/use-automations.cjs.map +1 -0
- package/dist/hooks/query/use-automations.js +28 -0
- package/dist/hooks/query/use-automations.js.map +1 -0
- package/dist/hooks/query/use-backends-health.cjs +1 -1
- package/dist/hooks/query/use-backends-health.cjs.map +1 -1
- package/dist/hooks/query/use-backends-health.js +1 -1
- package/dist/hooks/query/use-backends-health.js.map +1 -1
- package/dist/hooks/query/use-commit-changes.cjs +1 -1
- package/dist/hooks/query/use-commit-changes.js +4 -4
- package/dist/hooks/query/use-conversation-history.cjs +1 -1
- package/dist/hooks/query/use-conversation-history.cjs.map +1 -1
- package/dist/hooks/query/use-conversation-history.js +3 -1
- package/dist/hooks/query/use-conversation-history.js.map +1 -1
- package/dist/hooks/query/use-conversation-metrics.cjs +1 -1
- package/dist/hooks/query/use-conversation-metrics.js +3 -3
- package/dist/hooks/query/use-latest-automation-runs.cjs +1 -0
- package/dist/hooks/query/use-latest-automation-runs.d.ts +2 -0
- package/dist/hooks/query/use-latest-automation-runs.js +3 -0
- package/dist/hooks/query/use-llm-profiles.d.ts +1 -1
- package/dist/hooks/query/use-paginated-conversations.cjs +1 -1
- package/dist/hooks/query/use-paginated-conversations.cjs.map +1 -1
- package/dist/hooks/query/use-paginated-conversations.js +1 -1
- package/dist/hooks/query/use-paginated-conversations.js.map +1 -1
- package/dist/hooks/query/use-provider-connections.cjs +2 -0
- package/dist/hooks/query/use-provider-connections.cjs.map +1 -0
- package/dist/hooks/query/use-provider-connections.d.ts +8 -0
- package/dist/hooks/query/use-provider-connections.js +19 -0
- package/dist/hooks/query/use-provider-connections.js.map +1 -0
- package/dist/hooks/query/use-repository-git-items.cjs +2 -0
- package/dist/hooks/query/use-repository-git-items.cjs.map +1 -0
- package/dist/hooks/query/use-repository-git-items.d.ts +3 -0
- package/dist/hooks/query/use-repository-git-items.js +33 -0
- package/dist/hooks/query/use-repository-git-items.js.map +1 -0
- package/dist/hooks/query/use-unified-get-git-changes.cjs +1 -1
- package/dist/hooks/query/use-unified-get-git-changes.js +4 -4
- package/dist/hooks/query/use-unified-git-commits.cjs +1 -1
- package/dist/hooks/query/use-unified-git-commits.js +4 -4
- package/dist/hooks/query/use-unified-git-diff.cjs +1 -1
- package/dist/hooks/query/use-unified-git-diff.js +4 -4
- package/dist/hooks/query/use-workspace-files.cjs +1 -1
- package/dist/hooks/query/use-workspace-files.js +6 -6
- package/dist/hooks/use-bash-command-runner.cjs +1 -1
- package/dist/hooks/use-bash-command-runner.cjs.map +1 -1
- package/dist/hooks/use-bash-command-runner.js +45 -42
- package/dist/hooks/use-bash-command-runner.js.map +1 -1
- package/dist/hooks/use-conversation-overview-column-space.cjs +2 -0
- package/dist/hooks/use-conversation-overview-column-space.cjs.map +1 -0
- package/dist/hooks/use-conversation-overview-column-space.d.ts +2 -0
- package/dist/hooks/use-conversation-overview-column-space.js +25 -0
- package/dist/hooks/use-conversation-overview-column-space.js.map +1 -0
- package/dist/hooks/use-conversation-overview-git-diff-stats.cjs +2 -0
- package/dist/hooks/use-conversation-overview-git-diff-stats.cjs.map +1 -0
- package/dist/hooks/use-conversation-overview-git-diff-stats.d.ts +7 -0
- package/dist/hooks/use-conversation-overview-git-diff-stats.js +37 -0
- package/dist/hooks/use-conversation-overview-git-diff-stats.js.map +1 -0
- package/dist/hooks/use-conversation-overview-panel-peek.cjs +2 -0
- package/dist/hooks/use-conversation-overview-panel-peek.cjs.map +1 -0
- package/dist/hooks/use-conversation-overview-panel-peek.d.ts +9 -0
- package/dist/hooks/use-conversation-overview-panel-peek.js +32 -0
- package/dist/hooks/use-conversation-overview-panel-peek.js.map +1 -0
- package/dist/hooks/use-conversation-overview-stats.cjs +2 -0
- package/dist/hooks/use-conversation-overview-stats.cjs.map +1 -0
- package/dist/hooks/use-conversation-overview-stats.d.ts +4 -0
- package/dist/hooks/use-conversation-overview-stats.js +15 -0
- package/dist/hooks/use-conversation-overview-stats.js.map +1 -0
- package/dist/hooks/use-conversation-primary-repository.cjs +2 -0
- package/dist/hooks/use-conversation-primary-repository.cjs.map +1 -0
- package/dist/hooks/use-conversation-primary-repository.d.ts +11 -0
- package/dist/hooks/use-conversation-primary-repository.js +17 -0
- package/dist/hooks/use-conversation-primary-repository.js.map +1 -0
- package/dist/hooks/use-drag-scroll.cjs +2 -0
- package/dist/hooks/use-drag-scroll.cjs.map +1 -0
- package/dist/hooks/use-drag-scroll.d.ts +12 -0
- package/dist/hooks/use-drag-scroll.js +41 -0
- package/dist/hooks/use-drag-scroll.js.map +1 -0
- package/dist/hooks/use-has-permission.cjs +2 -0
- package/dist/hooks/use-has-permission.cjs.map +1 -0
- package/dist/hooks/use-has-permission.js +8 -0
- package/dist/hooks/use-has-permission.js.map +1 -0
- package/dist/hooks/use-home-automation-actions.cjs +2 -0
- package/dist/hooks/use-home-automation-actions.cjs.map +1 -0
- package/dist/hooks/use-home-automation-actions.js +15 -0
- package/dist/hooks/use-home-automation-actions.js.map +1 -0
- package/dist/hooks/use-launch-skill-in-chat.cjs +2 -0
- package/dist/hooks/use-launch-skill-in-chat.cjs.map +1 -0
- package/dist/hooks/use-launch-skill-in-chat.js +16 -0
- package/dist/hooks/use-launch-skill-in-chat.js.map +1 -0
- package/dist/hooks/use-mcp-server-health.cjs +1 -1
- package/dist/hooks/use-mcp-server-health.js +3 -3
- package/dist/hooks/use-resizable-drawer-width.cjs +2 -0
- package/dist/hooks/use-resizable-drawer-width.cjs.map +1 -0
- package/dist/hooks/use-resizable-drawer-width.d.ts +22 -0
- package/dist/hooks/use-resizable-drawer-width.js +46 -0
- package/dist/hooks/use-resizable-drawer-width.js.map +1 -0
- package/dist/hooks/use-responder-url-secret.cjs +2 -0
- package/dist/hooks/use-responder-url-secret.cjs.map +1 -0
- package/dist/hooks/use-responder-url-secret.js +51 -0
- package/dist/hooks/use-responder-url-secret.js.map +1 -0
- package/dist/hooks/use-select-conversation-tab.cjs +1 -1
- package/dist/hooks/use-select-conversation-tab.cjs.map +1 -1
- package/dist/hooks/use-select-conversation-tab.d.ts +2 -0
- package/dist/hooks/use-select-conversation-tab.js +15 -7
- package/dist/hooks/use-select-conversation-tab.js.map +1 -1
- package/dist/hooks/use-tracking.cjs +1 -1
- package/dist/hooks/use-tracking.cjs.map +1 -1
- package/dist/hooks/use-tracking.d.ts +17 -0
- package/dist/hooks/use-tracking.js +10 -0
- package/dist/hooks/use-tracking.js.map +1 -1
- package/dist/hooks/use-websocket.cjs +1 -1
- package/dist/hooks/use-websocket.cjs.map +1 -1
- package/dist/hooks/use-websocket.d.ts +1 -2
- package/dist/hooks/use-websocket.js +58 -51
- package/dist/hooks/use-websocket.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 +124 -43
- package/dist/i18n/declaration.js +1 -1
- package/dist/i18n/declaration.js.map +1 -1
- package/dist/i18n/translation.cjs +3 -3
- package/dist/i18n/translation.cjs.map +1 -1
- package/dist/i18n/translation.js +2091 -714
- package/dist/i18n/translation.js.map +1 -1
- package/dist/icons/check-circle.cjs +2 -0
- package/dist/icons/check-circle.cjs.map +1 -0
- package/dist/icons/check-circle.js +20 -0
- package/dist/icons/check-circle.js.map +1 -0
- package/dist/icons/chevron-down.cjs +2 -0
- package/dist/icons/chevron-down.cjs.map +1 -0
- package/dist/icons/chevron-down.js +20 -0
- package/dist/icons/chevron-down.js.map +1 -0
- package/dist/icons/clock.cjs +2 -0
- package/dist/icons/clock.cjs.map +1 -0
- package/dist/icons/clock.js +20 -0
- package/dist/icons/clock.js.map +1 -0
- package/dist/icons/exclamation-circle.cjs +2 -0
- package/dist/icons/exclamation-circle.cjs.map +1 -0
- package/dist/icons/exclamation-circle.js +20 -0
- package/dist/icons/exclamation-circle.js.map +1 -0
- package/dist/icons/kebab-vertical.cjs +2 -0
- package/dist/icons/kebab-vertical.cjs.map +1 -0
- package/dist/icons/kebab-vertical.js +14 -0
- package/dist/icons/kebab-vertical.js.map +1 -0
- package/dist/icons/key.cjs +2 -0
- package/dist/icons/key.cjs.map +1 -0
- package/dist/icons/key.js +21 -0
- package/dist/icons/key.js.map +1 -0
- package/dist/icons/message-square-share.cjs +2 -0
- package/dist/icons/message-square-share.cjs.map +1 -0
- package/dist/icons/message-square-share.js +22 -0
- package/dist/icons/message-square-share.js.map +1 -0
- package/dist/icons/play.cjs +2 -0
- package/dist/icons/play.cjs.map +1 -0
- package/dist/icons/play.js +19 -0
- package/dist/icons/play.js.map +1 -0
- package/dist/icons/power.cjs +2 -0
- package/dist/icons/power.cjs.map +1 -0
- package/dist/icons/power.js +20 -0
- package/dist/icons/power.js.map +1 -0
- package/dist/icons/sparkle.cjs +2 -0
- package/dist/icons/sparkle.cjs.map +1 -0
- package/dist/icons/sparkle.js +20 -0
- package/dist/icons/sparkle.js.map +1 -0
- package/dist/icons/trash.cjs +2 -0
- package/dist/icons/trash.cjs.map +1 -0
- package/dist/icons/trash.js +20 -0
- package/dist/icons/trash.js.map +1 -0
- package/dist/icons/x-circle.cjs +2 -0
- package/dist/icons/x-circle.cjs.map +1 -0
- package/dist/icons/x-circle.js +20 -0
- package/dist/icons/x-circle.js.map +1 -0
- package/dist/locales/ar/openhands.json +124 -43
- package/dist/locales/ca/openhands.json +124 -43
- package/dist/locales/de/openhands.json +124 -43
- package/dist/locales/en/openhands.json +124 -43
- package/dist/locales/es/openhands.json +124 -43
- package/dist/locales/fr/openhands.json +124 -43
- package/dist/locales/it/openhands.json +124 -43
- package/dist/locales/ja/openhands.json +124 -43
- package/dist/locales/ko-KR/openhands.json +124 -43
- package/dist/locales/no/openhands.json +124 -43
- package/dist/locales/pt/openhands.json +124 -43
- package/dist/locales/tr/openhands.json +124 -43
- package/dist/locales/uk/openhands.json +124 -43
- package/dist/locales/zh-CN/openhands.json +124 -43
- package/dist/locales/zh-TW/openhands.json +124 -43
- package/dist/manifests/automation-insights.cjs +2 -0
- package/dist/manifests/automation-insights.cjs.map +1 -0
- package/dist/manifests/automation-insights.d.ts +2 -0
- package/dist/manifests/automation-insights.js +9 -0
- package/dist/manifests/automation-insights.js.map +1 -0
- package/dist/manifests/automation-interface.cjs +1 -1
- package/dist/manifests/automation-interface.cjs.map +1 -1
- package/dist/manifests/automation-interface.d.ts +47 -31
- package/dist/manifests/automation-interface.js +48 -54
- package/dist/manifests/automation-interface.js.map +1 -1
- package/dist/manifests/automation-setup.cjs +1 -1
- package/dist/manifests/automation-setup.cjs.map +1 -1
- package/dist/manifests/automation-setup.d.ts +37 -3
- package/dist/manifests/automation-setup.js +16 -2
- package/dist/manifests/automation-setup.js.map +1 -1
- package/dist/manifests/interface-validation.cjs +1 -1
- package/dist/manifests/interface-validation.cjs.map +1 -1
- package/dist/manifests/interface-validation.js +56 -52
- package/dist/manifests/interface-validation.js.map +1 -1
- package/dist/manifests/manifest-actions.d.ts +5 -0
- package/dist/manifests/manifest-bundle.d.ts +30 -0
- package/dist/manifests/manifest-local-validation.d.ts +10 -1
- package/dist/manifests/manifest-sources.cjs +1 -1
- package/dist/manifests/manifest-sources.cjs.map +1 -1
- package/dist/manifests/manifest-sources.js +3 -3
- package/dist/manifests/manifest-sources.js.map +1 -1
- package/dist/manifests/manifest-template.d.ts +14 -0
- package/dist/manifests/manifest-validation.cjs +1 -1
- package/dist/manifests/manifest-validation.cjs.map +1 -1
- package/dist/manifests/manifest-validation.js +78 -45
- package/dist/manifests/manifest-validation.js.map +1 -1
- package/dist/manifests/types.cjs +1 -1
- package/dist/manifests/types.cjs.map +1 -1
- package/dist/manifests/types.d.ts +64 -3
- package/dist/manifests/types.js +7 -6
- package/dist/manifests/types.js.map +1 -1
- package/dist/node_modules/@heroui/popover/dist/chunk-NW7HJLND.cjs +1 -1
- package/dist/node_modules/@heroui/popover/dist/chunk-NW7HJLND.js +10 -10
- package/dist/node_modules/@heroui/ripple/dist/chunk-UIQI3AYJ.cjs +1 -1
- package/dist/node_modules/@heroui/ripple/dist/chunk-UIQI3AYJ.js +8 -8
- package/dist/node_modules/@heroui/tooltip/dist/chunk-AUA5GDXN.cjs +1 -1
- package/dist/node_modules/@heroui/tooltip/dist/chunk-AUA5GDXN.js +9 -9
- package/dist/node_modules/@openhands/extensions/automations/bundle-index.cjs +4843 -0
- package/dist/node_modules/@openhands/extensions/automations/bundle-index.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/bundle-index.js +11 -0
- package/dist/node_modules/@openhands/extensions/automations/bundle-index.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-agents-md-maintainer/manifest.cjs +13 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-agents-md-maintainer/manifest.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-agents-md-maintainer/manifest.js +87 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-agents-md-maintainer/manifest.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-issue-to-pr/manifest.cjs +12 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-issue-to-pr/manifest.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-issue-to-pr/manifest.js +98 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-issue-to-pr/manifest.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.cjs +9 -7
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.js +32 -13
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.cjs +2 -2
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.js +29 -34
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-pr/manifest.cjs +3 -3
- package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-pr/manifest.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-pr/manifest.js +2 -2
- package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-pr/manifest.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/news-digest/manifest.cjs +14 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/news-digest/manifest.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/news-digest/manifest.js +72 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/news-digest/manifest.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog-index.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog-index.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog-index.js +16 -10
- package/dist/node_modules/@openhands/extensions/automations/catalog-index.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/index.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/automations/index.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/index.js +18 -13
- package/dist/node_modules/@openhands/extensions/automations/index.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/interface.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/automations/interface.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/interface.js +6 -2
- package/dist/node_modules/@openhands/extensions/automations/interface.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/posthog.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/posthog.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/posthog.js +36 -3
- package/dist/node_modules/@openhands/extensions/integrations/catalog/posthog.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/sonarqube.cjs +2 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/sonarqube.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/sonarqube.js +75 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/sonarqube.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog-index.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog-index.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog-index.js +68 -66
- package/dist/node_modules/@openhands/extensions/integrations/catalog-index.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/skills/index.cjs +1002 -47
- package/dist/node_modules/@openhands/extensions/skills/index.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/skills/index.js +59 -17
- package/dist/node_modules/@openhands/extensions/skills/index.js.map +1 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/activity.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/activity.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/activity.js +9 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/activity.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/book-open.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/book-open.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/book-open.js +12 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/book-open.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/download.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/download.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/download.js +19 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/download.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/file-text.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/file-text.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/file-text.js +27 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/file-text.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/git-commit-horizontal.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/git-commit-horizontal.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/git-commit-horizontal.js +27 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/git-commit-horizontal.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/laptop.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/laptop.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/laptop.js +12 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/laptop.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/layout-dashboard.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/layout-dashboard.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/layout-dashboard.js +39 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/layout-dashboard.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/library.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/library.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/library.js +23 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/library.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/package.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/package.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/package.js +23 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/package.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/palette.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/palette.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/palette.js +39 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/palette.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/pen-line.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/pen-line.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/pen-line.js +12 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/pen-line.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/shield-check.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/shield-check.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/shield-check.js +12 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/shield-check.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/sparkles.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/sparkles.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/sparkles.js +25 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/sparkles.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/timer.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/timer.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/timer.js +27 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/timer.js.map +1 -0
- package/dist/package.cjs +1 -1
- package/dist/package.cjs.map +1 -1
- package/dist/package.js +3 -3
- package/dist/package.js.map +1 -1
- package/dist/routes/app-settings.cjs +1 -1
- package/dist/routes/app-settings.cjs.map +1 -1
- package/dist/routes/app-settings.js +87 -85
- package/dist/routes/app-settings.js.map +1 -1
- package/dist/routes/commits-tab.cjs +1 -1
- package/dist/routes/commits-tab.cjs.map +1 -1
- package/dist/routes/commits-tab.js +27 -21
- package/dist/routes/commits-tab.js.map +1 -1
- package/dist/routes/conversation.cjs +1 -1
- package/dist/routes/conversation.cjs.map +1 -1
- package/dist/routes/conversation.js +56 -55
- package/dist/routes/conversation.js.map +1 -1
- package/dist/routes/files-tab.cjs +1 -1
- package/dist/routes/files-tab.cjs.map +1 -1
- package/dist/routes/files-tab.d.ts +4 -0
- package/dist/routes/files-tab.js +121 -151
- package/dist/routes/files-tab.js.map +1 -1
- package/dist/routes/llm-settings.cjs +1 -1
- package/dist/routes/llm-settings.cjs.map +1 -1
- package/dist/routes/llm-settings.d.ts +9 -1
- package/dist/routes/llm-settings.js +137 -107
- package/dist/routes/llm-settings.js.map +1 -1
- package/dist/routes/mcp.cjs +1 -1
- package/dist/routes/mcp.cjs.map +1 -1
- package/dist/routes/mcp.js +20 -20
- package/dist/routes/secrets-settings.cjs +1 -1
- package/dist/routes/secrets-settings.js +15 -15
- package/dist/stores/conversation-store.cjs +1 -1
- package/dist/stores/conversation-store.cjs.map +1 -1
- package/dist/stores/conversation-store.d.ts +8 -1
- package/dist/stores/conversation-store.js +9 -0
- package/dist/stores/conversation-store.js.map +1 -1
- package/dist/stores/files-tab-store.cjs +1 -1
- package/dist/stores/files-tab-store.cjs.map +1 -1
- package/dist/stores/files-tab-store.d.ts +13 -0
- package/dist/stores/files-tab-store.js +49 -5
- package/dist/stores/files-tab-store.js.map +1 -1
- package/dist/stores/use-event-store.cjs +1 -1
- package/dist/stores/use-event-store.cjs.map +1 -1
- package/dist/stores/use-event-store.js +11 -11
- package/dist/stores/use-event-store.js.map +1 -1
- package/dist/types/agent-server/core/events/message-event.d.ts +2 -2
- package/dist/types/automation.cjs +2 -0
- package/dist/types/automation.cjs.map +1 -0
- package/dist/types/automation.js +8 -0
- package/dist/types/automation.js.map +1 -0
- package/dist/utils/automation-catalog.cjs +1 -1
- package/dist/utils/automation-catalog.cjs.map +1 -1
- package/dist/utils/automation-catalog.d.ts +12 -0
- package/dist/utils/automation-catalog.js +20 -1
- package/dist/utils/automation-catalog.js.map +1 -1
- package/dist/utils/automation-schedule.cjs +2 -0
- package/dist/utils/automation-schedule.cjs.map +1 -0
- package/dist/utils/automation-schedule.js +8 -0
- package/dist/utils/automation-schedule.js.map +1 -0
- package/dist/utils/automation-stack-section.cjs +2 -0
- package/dist/utils/automation-stack-section.cjs.map +1 -0
- package/dist/utils/automation-stack-section.d.ts +2 -0
- package/dist/utils/automation-stack-section.js +6 -0
- package/dist/utils/automation-stack-section.js.map +1 -0
- package/dist/utils/constants.cjs +1 -1
- package/dist/utils/constants.cjs.map +1 -1
- package/dist/utils/constants.js +4 -0
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/conversation-local-storage.cjs +1 -1
- package/dist/utils/conversation-local-storage.cjs.map +1 -1
- package/dist/utils/conversation-local-storage.d.ts +17 -4
- package/dist/utils/conversation-local-storage.js +111 -63
- package/dist/utils/conversation-local-storage.js.map +1 -1
- package/dist/utils/conversation-metrics.cjs +1 -1
- package/dist/utils/conversation-metrics.cjs.map +1 -1
- package/dist/utils/conversation-metrics.d.ts +3 -2
- package/dist/utils/conversation-metrics.js +16 -14
- package/dist/utils/conversation-metrics.js.map +1 -1
- package/dist/utils/conversation-overview-project-scope.cjs +2 -0
- package/dist/utils/conversation-overview-project-scope.cjs.map +1 -0
- package/dist/utils/conversation-overview-project-scope.d.ts +16 -0
- package/dist/utils/conversation-overview-project-scope.js +22 -0
- package/dist/utils/conversation-overview-project-scope.js.map +1 -0
- package/dist/utils/extension-module-card-classes.cjs +1 -1
- package/dist/utils/extension-module-card-classes.cjs.map +1 -1
- package/dist/utils/extension-module-card-classes.d.ts +1 -1
- package/dist/utils/extension-module-card-classes.js +2 -2
- package/dist/utils/extension-module-card-classes.js.map +1 -1
- package/dist/utils/format-relative-time.cjs +2 -0
- package/dist/utils/format-relative-time.cjs.map +1 -0
- package/dist/utils/format-relative-time.js +17 -0
- package/dist/utils/format-relative-time.js.map +1 -0
- package/dist/utils/git-diff-stats.cjs +5 -0
- package/dist/utils/git-diff-stats.cjs.map +1 -0
- package/dist/utils/git-diff-stats.d.ts +9 -0
- package/dist/utils/git-diff-stats.js +53 -0
- package/dist/utils/git-diff-stats.js.map +1 -0
- package/dist/utils/handle-event-for-ui.cjs +1 -1
- package/dist/utils/handle-event-for-ui.cjs.map +1 -1
- package/dist/utils/handle-event-for-ui.js +13 -11
- package/dist/utils/handle-event-for-ui.js.map +1 -1
- package/dist/utils/mcp-credential-validation.cjs +1 -1
- package/dist/utils/mcp-credential-validation.js +3 -3
- 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.js +22 -9
- package/dist/utils/mcp-marketplace-utils.js.map +1 -1
- package/dist/utils/parse-git-remote-url.cjs +1 -1
- package/dist/utils/parse-git-remote-url.cjs.map +1 -1
- package/dist/utils/parse-git-remote-url.js +6 -7
- package/dist/utils/parse-git-remote-url.js.map +1 -1
- package/dist/utils/recommended-automation-rail.cjs +2 -0
- package/dist/utils/recommended-automation-rail.cjs.map +1 -0
- package/dist/utils/recommended-automation-rail.d.ts +22 -0
- package/dist/utils/recommended-automation-rail.js +44 -0
- package/dist/utils/recommended-automation-rail.js.map +1 -0
- package/dist/utils/responder-deployment.cjs +2 -0
- package/dist/utils/responder-deployment.cjs.map +1 -0
- package/dist/utils/responder-deployment.js +42 -0
- package/dist/utils/responder-deployment.js.map +1 -0
- package/dist/utils/scroll-fade-state.cjs +2 -0
- package/dist/utils/scroll-fade-state.cjs.map +1 -0
- package/dist/utils/scroll-fade-state.d.ts +6 -0
- package/dist/utils/scroll-fade-state.js +13 -0
- package/dist/utils/scroll-fade-state.js.map +1 -0
- package/dist/utils/skill-category.cjs +2 -0
- package/dist/utils/skill-category.cjs.map +1 -0
- package/dist/utils/skill-category.js +51 -0
- package/dist/utils/skill-category.js.map +1 -0
- package/dist/utils/skill-scope.cjs +1 -1
- package/dist/utils/skill-scope.cjs.map +1 -1
- package/dist/utils/skill-scope.js +1 -1
- package/dist/utils/skill-scope.js.map +1 -1
- package/dist/utils/streaming-delta-batcher.cjs +2 -0
- package/dist/utils/streaming-delta-batcher.cjs.map +1 -0
- package/dist/utils/streaming-delta-batcher.d.ts +21 -0
- package/dist/utils/streaming-delta-batcher.js +31 -0
- package/dist/utils/streaming-delta-batcher.js.map +1 -0
- package/dist/utils/tar-gzip.d.ts +26 -0
- package/dist/utils/utils.cjs +1 -1
- package/dist/utils/utils.cjs.map +1 -1
- package/dist/utils/utils.d.ts +1 -41
- package/dist/utils/utils.js +27 -6
- package/dist/utils/utils.js.map +1 -1
- package/dist/utils/websocket-handshake.cjs +2 -0
- package/dist/utils/websocket-handshake.cjs.map +1 -0
- package/dist/utils/websocket-handshake.d.ts +11 -0
- package/dist/utils/websocket-handshake.js +12 -0
- package/dist/utils/websocket-handshake.js.map +1 -0
- package/package.json +3 -3
- package/scripts/check-translation-completeness.cjs +4 -0
- package/scripts/dev-static.mjs +49 -43
- package/scripts/dev-with-automation.mjs +13 -5
- package/scripts/seed-automation-ux-data.mjs +810 -0
- package/build/assets/acp-providers-CYy8qA2z.js +0 -1
- package/build/assets/active-backend-context-BZDG15C0.js +0 -2
- package/build/assets/agent-context-settings-DGWBBbcp.js +0 -1
- package/build/assets/agent-profiles-settings-DrkGdf4_.js +0 -1
- package/build/assets/agent-server-conversation-service.api-DK56YPTs.js +0 -86
- package/build/assets/agent-settings-DfcSgkLD.js +0 -2
- package/build/assets/agent-settings-Lrc5-twS.js +0 -1
- package/build/assets/alert-banner-BgDHhL7b.js +0 -1
- package/build/assets/api-error-message-BEIE_yD1.js +0 -1
- package/build/assets/api-key-entry-screen-DaZnOlVo.js +0 -1
- package/build/assets/app-settings-BG5NAUbC.js +0 -1
- package/build/assets/automation-detail-D4Hs831Z.js +0 -3
- package/build/assets/automation-export-n0X6FB0C.js +0 -2
- package/build/assets/automation-git-sync-CDrm8WV7.js +0 -1
- package/build/assets/automation-setup-route-CZCl4ONs.js +0 -1
- package/build/assets/automation-templates-DFF96AdL.js +0 -1
- package/build/assets/automations-list-Bl-oGOrV.js +0 -1
- package/build/assets/back-nav-button-H_ThtDA0.js +0 -1
- package/build/assets/backend-form-modal-CbCemvHt.js +0 -1
- package/build/assets/backend-not-configured-DP8KLNq_.js +0 -1
- package/build/assets/backend-synced-settings-badge-BBASWqsb.js +0 -1
- package/build/assets/badge-B-51h-SW.js +0 -1
- package/build/assets/base-modal-BbjycA8X.js +0 -1
- package/build/assets/bot-CGPCg03p.js +0 -1
- package/build/assets/brand-button-Blxv5nww.js +0 -1
- package/build/assets/browser-CuW0nWvh.js +0 -7
- package/build/assets/browser-tab-D5G0ORwt.js +0 -1
- package/build/assets/chat-send-button-BD2tii1r.js +0 -1
- package/build/assets/check-DSuS-lyr.js +0 -1
- package/build/assets/chevron-down-CgGcmtE2.js +0 -1
- package/build/assets/circle-check-CG5-NPw7.js +0 -1
- package/build/assets/circle-plus-check-toggle-ASbpB8vN.js +0 -1
- package/build/assets/cloud-funnel-analytics-GlCUG0gk.js +0 -1
- package/build/assets/cog-CZiR80uT.js +0 -1
- package/build/assets/combobox-caret-DvpEsh2O.js +0 -1
- package/build/assets/command-menu-DwUQzjYP.js +0 -1
- package/build/assets/condenser-settings-BptcoiLA.js +0 -1
- package/build/assets/confirmation-modal-CiEwxZAA.js +0 -1
- package/build/assets/context-menu-list-item-CdcamfM1.js +0 -1
- package/build/assets/conversation-DREHj4nT.js +0 -1
- package/build/assets/conversation-DotRfiDz.js +0 -90
- package/build/assets/conversation-panel-DREHj4nT.js +0 -1
- package/build/assets/conversation-state-store-DMLtlHbE.js +0 -1
- package/build/assets/conversation-store-Blc5xysY.js +0 -6
- package/build/assets/conversation-tab-empty-state-D-puECpY.js +0 -1
- package/build/assets/copy-to-clipboard-button-BGxcUbgy.js +0 -1
- package/build/assets/device-verify-CZJfWaJf.js +0 -1
- package/build/assets/dropdown-classes-tLhpwtxS.js +0 -1
- package/build/assets/entry.client-D8GnI6GZ.js +0 -2
- package/build/assets/enum-filter-dropdown-Fk8k60nk.js +0 -1
- package/build/assets/environment-switch-overlay-DeztVYuL.js +0 -1
- package/build/assets/extension-module-card-classes-Bo43vY5V.js +0 -1
- package/build/assets/extensions-hub-Cd6GCYzq.js +0 -1
- package/build/assets/extensions-navigation-C4sgZg-y.js +0 -1
- package/build/assets/external-link-C0UpBgsE.js +0 -1
- package/build/assets/file-text-C6WYtNdV.js +0 -1
- package/build/assets/files-tab-BW_qzyAm.js +0 -1
- package/build/assets/form-control-classes-CGXBLcn1.js +0 -1
- package/build/assets/format-relative-time-ZhQD4rsl.js +0 -1
- package/build/assets/git-provider-icon-CaQ1yLPi.js +0 -1
- package/build/assets/git-repo-dropdown-CgXR6M_E.js +0 -1
- package/build/assets/git-repo-dropdown-D2Uei3CO.js +0 -1
- package/build/assets/highlighted-source-view-C_YOp8Fo.js +0 -1
- package/build/assets/home-DNzzJcMP.js +0 -1
- package/build/assets/home-aCos-5vc.js +0 -1
- package/build/assets/home-store-DgzViC3f.js +0 -1
- package/build/assets/index-home-DNzzJcMP.js +0 -1
- package/build/assets/info-CLoC1LRo.js +0 -1
- package/build/assets/install-server-modal-D7zIqNKz.js +0 -1
- package/build/assets/kebab-menu-item-content-DERMdnDv.js +0 -1
- package/build/assets/launch-5PjKeLak.js +0 -1
- package/build/assets/list-todo-BF049YaY.js +0 -1
- package/build/assets/llm-not-configured-banner-BK9z5eS0.js +0 -27
- package/build/assets/llm-settings-BLAMK2tR.js +0 -1
- package/build/assets/llm-settings-BWsbarGM.js +0 -1
- package/build/assets/llm-subscription-service-SfnEV9Uc.js +0 -1
- package/build/assets/loader-circle-D7IagAyF.js +0 -1
- package/build/assets/loading-spinner-DBgXgra0.js +0 -1
- package/build/assets/manage-backends-modal-BTqNPhzc.js +0 -1
- package/build/assets/manifest-abebca3c.js +0 -1
- package/build/assets/manifest-subpage-layout-Rn-glaxV.js +0 -1
- package/build/assets/map-provider-BK4HnqYz.js +0 -1
- package/build/assets/markdown-renderer-Cp6DlHQN.js +0 -8
- package/build/assets/mcp-BC-Ixn4T.js +0 -9
- package/build/assets/mcp-marketplace-utils-BJWJgbB6.js +0 -1
- package/build/assets/messages-CzFKrzPG.js +0 -40
- package/build/assets/modal-body-BdKfD3Hl.js +0 -1
- package/build/assets/modal-classes-D5_b5vMi.js +0 -1
- package/build/assets/modal-close-button-objukxk_.js +0 -1
- package/build/assets/mouse-pointer-click-C_gXyLyD.js +0 -1
- package/build/assets/npm-CHVHV1MC.js +0 -1
- package/build/assets/onboarding-Diw0V51A.js +0 -1
- package/build/assets/onboarding-modal-Da4yHzsA.js +0 -1
- package/build/assets/organization-service.api-BztSy69u.js +0 -1
- package/build/assets/parse-git-remote-url-BkXN9jzl.js +0 -1
- package/build/assets/pencil-49avMHlD.js +0 -1
- package/build/assets/planner-tab-CJiSpNax.js +0 -1
- package/build/assets/plugins-management-service-lHdNKWNU.js +0 -1
- package/build/assets/plus-C0BagBpV.js +0 -1
- package/build/assets/profiles-service.api-BLr7FXec.js +0 -1
- package/build/assets/providers-CWXnb7S3.js +0 -1
- package/build/assets/proxy-DYDXxtje.js +0 -1
- package/build/assets/puzzle-Bt2B1rzf.js +0 -1
- package/build/assets/recommended-automations-launcher-CcFMfJRR.js +0 -1
- package/build/assets/refresh-cw-nmcesifB.js +0 -1
- package/build/assets/root-CT4t7apy.css +0 -1
- package/build/assets/root-DnRgLKpU.js +0 -2
- package/build/assets/root-layout-2L9tr-BN.js +0 -2
- package/build/assets/schema-field-C59lVZTA.js +0 -1
- package/build/assets/sdk-section-page-BbBEQQjq.js +0 -1
- package/build/assets/search-CYSDBczG.js +0 -1
- package/build/assets/secrets-service-BtsgYSlj.js +0 -1
- package/build/assets/secrets-settings-DJ0OKa4_.js +0 -1
- package/build/assets/segmented-toggle-DiVfTZuN.js +0 -1
- package/build/assets/settings-CDqL_Uqh.js +0 -1
- package/build/assets/settings-dropdown-input-Ba1UN5Du.js +0 -1
- package/build/assets/settings-index-Cz2cKt2K.js +0 -1
- package/build/assets/settings-input-CWUEHHvS.js +0 -1
- package/build/assets/settings-list-classes-DdcLXDGn.js +0 -1
- package/build/assets/settings-modal-nEEK1Kh1.js +0 -1
- package/build/assets/settings-service.api-3yAUFcaP.js +0 -1
- package/build/assets/settings-switch-Dk9hChx1.js +0 -1
- package/build/assets/settings-utils-CxjtCSB3.js +0 -1
- package/build/assets/shared-conversation-DbAcrx3s.js +0 -1
- package/build/assets/shield-check-CiOTXxV2.js +0 -1
- package/build/assets/sidebar-layout-lrfPooIB.js +0 -1
- package/build/assets/sidebar-mobile-menu-toggle-KERXfNu1.js +0 -1
- package/build/assets/sidebar-nav-link-B8lFD6Cb.js +0 -1
- package/build/assets/sidebar-store-u6pUpxJ7.js +0 -1
- package/build/assets/skill-card-pill-row-dGIUzr_b.js +0 -1
- package/build/assets/skill-icon-badge-kkOWZ89w.js +0 -1
- package/build/assets/skill-scope-DWN1PBPH.js +0 -1
- package/build/assets/skills-plugins-DFjH2Nq6.js +0 -1
- package/build/assets/skills-settings-DIHpl3ol.js +0 -2
- package/build/assets/sparkles-ntyMLnbj.js +0 -1
- package/build/assets/styled-tooltip-B6JXcsmL.js +0 -1
- package/build/assets/task-list-tab-aEJzEcHD.js +0 -1
- package/build/assets/terminal-Dch7Ty5K.js +0 -3
- package/build/assets/toggle-switch-B2MLKsgt.js +0 -1
- package/build/assets/trash-2-yZnDM4Ji.js +0 -1
- package/build/assets/typography-DB5HoCk0.js +0 -1
- package/build/assets/usage-tab-DrEtBmBT.js +0 -1
- package/build/assets/use-acp-credential-form-c8KXAa8A.js +0 -1
- package/build/assets/use-activate-agent-profile-B0p34N3q.js +0 -1
- package/build/assets/use-agent-profiles-CPIc6wLH.js +0 -1
- package/build/assets/use-can-manage-org-profiles-Dz_8Eqkv.js +0 -1
- package/build/assets/use-cloud-current-user-id-DvUVqCle.js +0 -1
- package/build/assets/use-config-C3PO4TBw.js +0 -1
- package/build/assets/use-create-conversation-DVrA_uLD.js +0 -1
- package/build/assets/use-create-secret-DbBIpaCR.js +0 -1
- package/build/assets/use-get-secrets-6PBitf54.js +0 -1
- package/build/assets/use-has-permission-CQ31Cl8j.js +0 -1
- package/build/assets/use-is-authed-2UrDIziV.js +0 -1
- package/build/assets/use-is-creating-conversation-BvYpmb3v.js +0 -1
- package/build/assets/use-launch-skill-in-chat-COnDpxCQ.js +0 -1
- package/build/assets/use-llm-profiles-diZS4FiN.js +0 -1
- package/build/assets/use-manifest-capabilities-HIWCtIUm.js +0 -1
- package/build/assets/use-onboarding-completion-Bs8PcXik.js +0 -1
- package/build/assets/use-plugins-marketplace-BCuNLFsr.js +0 -1
- package/build/assets/use-save-agent-profile-BaMNSpBV.js +0 -1
- package/build/assets/use-save-settings-BahvC2Gw.js +0 -1
- package/build/assets/use-settings-C6ZxpBDX.js +0 -1
- package/build/assets/use-settings-nav-items-Bqn69Ggw.js +0 -16
- package/build/assets/use-tracking-Bhu7gk2y.js +0 -3
- package/build/assets/use-user-conversation-BkNXpXrd.js +0 -1
- package/build/assets/useInfiniteQuery-c_OmS3lK.js +0 -1
- package/build/assets/useMutation-6ZsQCqAn.js +0 -1
- package/build/assets/useQueries-xDrGlTO_.js +0 -1
- package/build/assets/useQuery-Bs5NFz2s.js +0 -1
- package/build/assets/utils-DUD5ScdA.js +0 -1
- package/build/assets/vendor~browser-B-fae1JU.js +0 -47
- package/build/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kepq2zme-D87mAf6K.js +0 -186
- package/build/assets/vendor~files-tab-B6POTS66.js +0 -11
- package/build/assets/vendor~index-home~home~conversation-panel~conversation-53Q_U6uP.js +0 -13
- package/build/assets/vendor~root-layout-DeQACFVA.js +0 -1
- package/build/assets/vendor~root-layout~conversation-panel~conversation-bv7ooVgH.js +0 -1
- package/build/assets/vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-e8pX05xf.js +0 -1
- package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-BvS6PCK2.js +0 -1
- package/build/assets/vendor~root-layout~index-home~home~mcp~automations-list~automation-templates~automation-set~bxsimjx0-D7IDevqN.js +0 -1
- package/build/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-DOPLJMH9.js +0 -48
- package/build/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~iw7io29p-Dz8NQve5.js +0 -1
- package/build/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~eo2nf80n-BOVIFA_g.js +0 -73
- package/build/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~jz4f6vo2-C0JXQb_q.js +0 -7465
- package/build/assets/verification-settings-COueVXmM.js +0 -1
- package/build/assets/wrench-C95ujnYo.js +0 -1
- package/build/assets/x-86ZCfxKY.js +0 -1
- package/build/assets/zap-DRa-r-Tf.js +0 -1
- package/dist/components/features/diff-viewer/empty-changes-message.cjs +0 -2
- package/dist/components/features/diff-viewer/empty-changes-message.cjs.map +0 -1
- package/dist/components/features/diff-viewer/empty-changes-message.js +0 -17
- package/dist/components/features/diff-viewer/empty-changes-message.js.map +0 -1
- package/dist/components/features/tips/random-tip.cjs +0 -2
- package/dist/components/features/tips/random-tip.cjs.map +0 -1
- package/dist/components/features/tips/random-tip.js +0 -41
- package/dist/components/features/tips/random-tip.js.map +0 -1
- package/dist/hooks/query/use-has-git-commits.cjs +0 -2
- package/dist/hooks/query/use-has-git-commits.cjs.map +0 -1
- package/dist/hooks/query/use-has-git-commits.d.ts +0 -25
- package/dist/hooks/query/use-has-git-commits.js +0 -31
- package/dist/hooks/query/use-has-git-commits.js.map +0 -1
- package/dist/hooks/use-has-attached-source.cjs +0 -2
- package/dist/hooks/use-has-attached-source.cjs.map +0 -1
- package/dist/hooks/use-has-attached-source.d.ts +0 -18
- package/dist/hooks/use-has-attached-source.js +0 -14
- package/dist/hooks/use-has-attached-source.js.map +0 -1
- package/dist/icons/chveron-up.cjs +0 -2
- package/dist/icons/chveron-up.cjs.map +0 -1
- package/dist/icons/chveron-up.js +0 -21
- package/dist/icons/chveron-up.js.map +0 -1
- package/dist/routes/changes-tab.cjs +0 -2
- package/dist/routes/changes-tab.cjs.map +0 -1
- package/dist/routes/changes-tab.d.ts +0 -3
- package/dist/routes/changes-tab.js +0 -64
- package/dist/routes/changes-tab.js.map +0 -1
- package/dist/utils/file-priority.cjs +0 -2
- package/dist/utils/file-priority.cjs.map +0 -1
- package/dist/utils/file-priority.d.ts +0 -27
- package/dist/utils/file-priority.js +0 -61
- package/dist/utils/file-priority.js.map +0 -1
- package/dist/utils/table-row-classes.d.ts +0 -9
- package/dist/utils/tips.cjs +0 -2
- package/dist/utils/tips.cjs.map +0 -1
- package/dist/utils/tips.js +0 -45
- package/dist/utils/tips.js.map +0 -1
- /package/build/assets/{vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dcc51rps-rfV8mQ9m.js → vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~ew3u153i-rfV8mQ9m.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skills-toolbar.js","names":[],"sources":["../../../../src/components/features/skills/skills-toolbar.tsx"],"sourcesContent":["import { ListFilter, Search, X } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\nimport { I18nKey } from \"#/i18n/declaration\";\nimport { cn } from \"#/utils/utils\";\n\ninterface SkillsToolbarProps {\n search: string;\n onSearchChange: (value: string) => void;\n activeFilterCount: number;\n onOpenFilters: () => void;\n}\n\nexport function SkillsToolbar({\n search,\n onSearchChange,\n activeFilterCount,\n onOpenFilters,\n}: SkillsToolbarProps) {\n const { t } = useTranslation(\"openhands\");\n\n return (\n <div data-testid=\"skills-toolbar\" className=\"flex items-stretch gap-2\">\n <div\n className={cn(\n \"relative flex flex-1 min-w-0 items-center\",\n \"rounded-lg border border-[var(--oh-border)] bg-base-secondary\",\n \"focus-within:border-white/40 focus-within:ring-1 focus-within:ring-white/20\",\n \"transition-colors\",\n )}\n >\n <Search\n className=\"ml-3 h-4 w-4 shrink-0 text-tertiary-alt\"\n aria-hidden\n />\n <input\n data-testid=\"skills-search-input\"\n type=\"search\"\n value={search}\n onChange={(e) => onSearchChange(e.target.value)}\n placeholder={t(I18nKey.SETTINGS$SKILLS_SEARCH_PLACEHOLDER)}\n aria-label={t(I18nKey.SETTINGS$SKILLS_SEARCH_PLACEHOLDER)}\n className={cn(\n \"flex-1 min-w-0 bg-transparent border-0 outline-none\",\n \"px-3 py-2 text-sm placeholder:text-tertiary-alt\",\n \"[&::-webkit-search-cancel-button]:hidden\",\n )}\n />\n {search ? (\n <button\n type=\"button\"\n onClick={() => onSearchChange(\"\")}\n aria-label={t(I18nKey.MCP$SEARCH_CLEAR)}\n className=\"mr-2 p-1 rounded text-tertiary-alt hover:text-white cursor-pointer\"\n >\n <X className=\"h-4 w-4\" aria-hidden />\n </button>\n ) : null}\n </div>\n\n {/* The facet rail is desktop-only, so below md this is the only way in. */}\n <button\n type=\"button\"\n data-testid=\"skills-filters-button\"\n onClick={onOpenFilters}\n className={cn(\n \"flex shrink-0 items-center gap-2 rounded-lg px-3 py-2 text-sm md:hidden\",\n \"border border-[var(--oh-border)] bg-base-secondary text-white\",\n \"cursor-pointer hover:bg-[var(--oh-interactive-hover)]\",\n )}\n >\n <ListFilter className=\"size-4 shrink-0\" aria-hidden />\n {t(I18nKey.SETTINGS$SKILLS_FILTERS_BUTTON)}\n {activeFilterCount > 0 ? (\n <span className=\"rounded-full bg-white px-1.5 text-[11px] font-medium text-black\">\n {activeFilterCount}\n </span>\n ) : null}\n </button>\n </div>\n );\n}\n"],"mappings":";;;;;;;;AAYA,SAAgB,EAAc,EAC5B,WACA,mBACA,sBACA,oBACqB;CACrB,IAAM,EAAE,SAAM,EAAe,WAAW;CAExC,OACE,kBAAC,OAAD;EAAK,eAAY;EAAiB,WAAU;YAA5C,CACE,kBAAC,OAAD;GACE,WAAW,EACT,6CACA,iEACA,+EACA,mBACF;aANF;IAQE,kBAAC,GAAD;KACE,WAAU;KACV,eAAA;IACD,CAAA;IACD,kBAAC,SAAD;KACE,eAAY;KACZ,MAAK;KACL,OAAO;KACP,WAAW,MAAM,EAAe,EAAE,OAAO,KAAK;KAC9C,aAAa,EAAE,EAAQ,kCAAkC;KACzD,cAAY,EAAE,EAAQ,kCAAkC;KACxD,WAAW,EACT,uDACA,mDACA,0CACF;IACD,CAAA;IACA,IACC,kBAAC,UAAD;KACE,MAAK;KACL,eAAe,EAAe,EAAE;KAChC,cAAY,EAAE,EAAQ,gBAAgB;KACtC,WAAU;eAEV,kBAAC,GAAD;MAAG,WAAU;MAAU,eAAA;KAAa,CAAA;IAC9B,CAAA,IACN;GACD;MAGL,kBAAC,UAAD;GACE,MAAK;GACL,eAAY;GACZ,SAAS;GACT,WAAW,EACT,2EACA,iEACA,uDACF;aARF;IAUE,kBAAC,GAAD;KAAY,WAAU;KAAkB,eAAA;IAAa,CAAA;IACpD,EAAE,EAAQ,8BAA8B;IACxC,IAAoB,IACnB,kBAAC,QAAD;KAAM,WAAU;eACb;IACG,CAAA,IACJ;GACE;IACL;;AAET"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/react-i18next/dist/es/useTranslation.cjs"),n=require("../../../i18n/declaration.cjs"),r=require("../../../utils/utils.cjs"),i=require("../../../icons/checkmark.cjs"),a=require("./styled-tooltip.cjs"),o=require("../../../icons/
|
|
1
|
+
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/react-i18next/dist/es/useTranslation.cjs"),n=require("../../../i18n/declaration.cjs"),r=require("../../../utils/utils.cjs"),i=require("../../../icons/checkmark.cjs"),a=require("./styled-tooltip.cjs"),o=require("../../../icons/x-mark.cjs"),s=require("../../../icons/u-plus.cjs");let c=require("react");c=e.__toESM(c,1);let l=require("react/jsx-runtime");function u({className:e,testId:i,tooltipKey:o=n.I18nKey.AUTOMATIONS$ADD_AUTOMATION}){let{t:c}=t.useTranslation(`openhands`);return(0,l.jsx)(a.StyledTooltip,{content:c(o),placement:`top`,children:(0,l.jsx)(`span`,{"aria-hidden":`true`,"data-testid":i,className:r.cn(`inline-flex size-7 shrink-0 items-center justify-center rounded-full bg-surface-raised text-white transition-colors hover:bg-[var(--oh-interactive-hover)]`,e),children:(0,l.jsx)(s.default,{className:`size-3`})})})}function d({testId:e,isSelected:u,onToggle:d,isDisabled:f=!1,className:p,enableLabelKey:m=n.I18nKey.SETTINGS$SKILLS_ENABLE_SKILL,disableLabelKey:h=n.I18nKey.SETTINGS$SKILLS_DISABLE_SKILL,enableTooltipKey:g=n.I18nKey.COMMON$ENABLE,disableTooltipKey:_,removeTooltipKey:v=n.I18nKey.COMMON$REMOVE}){let{t:y}=t.useTranslation(`openhands`),[b,x]=c.default.useState(!1),S=e=>{e.stopPropagation(),!f&&(d(!u),e.currentTarget.blur())},C=u&&b,w=y(u?_??v:g),T=y(u?h:m);return(0,l.jsx)(a.StyledTooltip,{content:w,placement:`top`,children:(0,l.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":u,"data-testid":e,"data-showing-remove":C?`true`:`false`,disabled:f,"aria-label":T,onClick:S,onPointerEnter:()=>x(!0),onPointerLeave:()=>x(!1),className:r.cn(`inline-flex size-7 shrink-0 cursor-pointer items-center justify-center rounded-full p-0 transition-colors`,u&&(C?`border-0 bg-[rgba(248,113,113,0.14)] text-[#ef4444] hover:bg-[rgba(248,113,113,0.24)]`:`border border-white bg-transparent text-white [&_path]:fill-current`),!u&&`border-0 bg-surface-raised text-white hover:bg-[var(--oh-interactive-hover)]`,f&&`cursor-not-allowed opacity-50`,p),children:u?C?(0,l.jsx)(o.default,{"aria-hidden":!0,width:14,height:14,className:`stroke-[2.5]`}):(0,l.jsx)(i.default,{"aria-hidden":!0,width:14,height:14}):(0,l.jsx)(s.default,{"aria-hidden":!0,className:`size-3`})})})}exports.CirclePlusBadge=u,exports.CirclePlusCheckToggle=d;
|
|
2
2
|
//# sourceMappingURL=circle-plus-check-toggle.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"circle-plus-check-toggle.cjs","names":[],"sources":["../../../../src/components/shared/buttons/circle-plus-check-toggle.tsx"],"sourcesContent":["import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport PlusIcon from \"#/icons/u-plus.svg?react\";\nimport CheckmarkIcon from \"#/icons/checkmark.svg?react\";\nimport RemoveIcon from \"#/icons/x-mark.svg?react\";\nimport { StyledTooltip } from \"#/components/shared/buttons/styled-tooltip\";\nimport { I18nKey } from \"#/i18n/declaration\";\nimport { cn } from \"#/utils/utils\";\n\ninterface CirclePlusCheckToggleProps {\n testId?: string;\n isSelected: boolean;\n onToggle: (selected: boolean) => void;\n isDisabled?: boolean;\n className?: string;\n enableLabelKey?: I18nKey;\n disableLabelKey?: I18nKey;\n enableTooltipKey?: I18nKey;\n disableTooltipKey?: I18nKey;\n removeTooltipKey?: I18nKey;\n}\n\nexport function CirclePlusBadge({\n className,\n testId,\n tooltipKey = I18nKey.AUTOMATIONS$ADD_AUTOMATION,\n}: {\n className?: string;\n testId?: string;\n tooltipKey?: I18nKey;\n}) {\n const { t } = useTranslation(\"openhands\");\n\n return (\n <StyledTooltip content={t(tooltipKey)} placement=\"top\">\n <span\n aria-hidden=\"true\"\n data-testid={testId}\n className={cn(\n \"inline-flex size-7 shrink-0 items-center justify-center rounded-full bg-surface-raised text-white transition-colors hover:bg-[var(--oh-interactive-hover)]\",\n className,\n )}\n >\n <PlusIcon className=\"size-3\" />\n </span>\n </StyledTooltip>\n );\n}\n\nexport function CirclePlusCheckToggle({\n testId,\n isSelected,\n onToggle,\n isDisabled = false,\n className,\n enableLabelKey = I18nKey.SETTINGS$SKILLS_ENABLE_SKILL,\n disableLabelKey = I18nKey.SETTINGS$SKILLS_DISABLE_SKILL,\n enableTooltipKey = I18nKey.COMMON$ENABLE,\n disableTooltipKey,\n removeTooltipKey = I18nKey.COMMON$REMOVE,\n}: CirclePlusCheckToggleProps) {\n const { t } = useTranslation(\"openhands\");\n const [isPointerOver, setIsPointerOver] = React.useState(false);\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n if (isDisabled) {\n return;\n }\n onToggle(!isSelected);\n event.currentTarget.blur();\n };\n\n const showRemoveIcon = isSelected && isPointerOver;\n const selectedTooltipKey = disableTooltipKey ?? removeTooltipKey;\n const tooltipLabel = t(isSelected ? selectedTooltipKey : enableTooltipKey);\n const ariaLabel = t(isSelected ? disableLabelKey : enableLabelKey);\n\n return (\n <StyledTooltip content={tooltipLabel} placement=\"top\">\n <button\n type=\"button\"\n role=\"switch\"\n aria-checked={isSelected}\n data-testid={testId}\n data-showing-remove={showRemoveIcon ? \"true\" : \"false\"}\n disabled={isDisabled}\n aria-label={ariaLabel}\n onClick={handleClick}\n onPointerEnter={() => setIsPointerOver(true)}\n onPointerLeave={() => setIsPointerOver(false)}\n className={cn(\n \"inline-flex size-7 shrink-0 cursor-pointer items-center justify-center rounded-full p-0 transition-colors\",\n isSelected &&\n (showRemoveIcon\n ? \"border-0 bg-[rgba(248,113,113,0.14)] text-[#ef4444] hover:bg-[rgba(248,113,113,0.24)]\"\n : \"border border-white bg-transparent text-white [&_path]:fill-current\"),\n !isSelected &&\n \"border-0 bg-surface-raised text-white hover:bg-[var(--oh-interactive-hover)]\",\n isDisabled && \"cursor-not-allowed opacity-50\",\n className,\n )}\n >\n {isSelected ? (\n showRemoveIcon ? (\n <RemoveIcon\n aria-hidden\n width={14}\n height={14}\n className=\"stroke-[2.5]\"\n />\n ) : (\n <CheckmarkIcon aria-hidden width={14} height={14} />\n )\n ) : (\n <PlusIcon aria-hidden className=\"size-3\" />\n )}\n </button>\n </StyledTooltip>\n );\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"circle-plus-check-toggle.cjs","names":[],"sources":["../../../../src/components/shared/buttons/circle-plus-check-toggle.tsx"],"sourcesContent":["import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport PlusIcon from \"#/icons/u-plus.svg?react\";\nimport CheckmarkIcon from \"#/icons/checkmark.svg?react\";\nimport RemoveIcon from \"#/icons/x-mark.svg?react\";\nimport { StyledTooltip } from \"#/components/shared/buttons/styled-tooltip\";\nimport { I18nKey } from \"#/i18n/declaration\";\nimport { cn } from \"#/utils/utils\";\n\ninterface CirclePlusCheckToggleProps {\n testId?: string;\n isSelected: boolean;\n onToggle: (selected: boolean) => void;\n isDisabled?: boolean;\n className?: string;\n enableLabelKey?: I18nKey;\n disableLabelKey?: I18nKey;\n enableTooltipKey?: I18nKey;\n disableTooltipKey?: I18nKey;\n removeTooltipKey?: I18nKey;\n}\n\nexport function CirclePlusBadge({\n className,\n testId,\n tooltipKey = I18nKey.AUTOMATIONS$ADD_AUTOMATION,\n}: {\n className?: string;\n testId?: string;\n tooltipKey?: I18nKey;\n}) {\n const { t } = useTranslation(\"openhands\");\n\n return (\n <StyledTooltip content={t(tooltipKey)} placement=\"top\">\n <span\n aria-hidden=\"true\"\n data-testid={testId}\n className={cn(\n \"inline-flex size-7 shrink-0 items-center justify-center rounded-full bg-surface-raised text-white transition-colors hover:bg-[var(--oh-interactive-hover)]\",\n className,\n )}\n >\n <PlusIcon className=\"size-3\" />\n </span>\n </StyledTooltip>\n );\n}\n\nexport function CirclePlusCheckToggle({\n testId,\n isSelected,\n onToggle,\n isDisabled = false,\n className,\n enableLabelKey = I18nKey.SETTINGS$SKILLS_ENABLE_SKILL,\n disableLabelKey = I18nKey.SETTINGS$SKILLS_DISABLE_SKILL,\n enableTooltipKey = I18nKey.COMMON$ENABLE,\n disableTooltipKey,\n removeTooltipKey = I18nKey.COMMON$REMOVE,\n}: CirclePlusCheckToggleProps) {\n const { t } = useTranslation(\"openhands\");\n const [isPointerOver, setIsPointerOver] = React.useState(false);\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n if (isDisabled) {\n return;\n }\n onToggle(!isSelected);\n event.currentTarget.blur();\n };\n\n const showRemoveIcon = isSelected && isPointerOver;\n const selectedTooltipKey = disableTooltipKey ?? removeTooltipKey;\n const tooltipLabel = t(isSelected ? selectedTooltipKey : enableTooltipKey);\n const ariaLabel = t(isSelected ? disableLabelKey : enableLabelKey);\n\n return (\n <StyledTooltip content={tooltipLabel} placement=\"top\">\n <button\n type=\"button\"\n role=\"switch\"\n aria-checked={isSelected}\n data-testid={testId}\n data-showing-remove={showRemoveIcon ? \"true\" : \"false\"}\n disabled={isDisabled}\n aria-label={ariaLabel}\n onClick={handleClick}\n onPointerEnter={() => setIsPointerOver(true)}\n onPointerLeave={() => setIsPointerOver(false)}\n className={cn(\n \"inline-flex size-7 shrink-0 cursor-pointer items-center justify-center rounded-full p-0 transition-colors\",\n isSelected &&\n (showRemoveIcon\n ? \"border-0 bg-[rgba(248,113,113,0.14)] text-[#ef4444] hover:bg-[rgba(248,113,113,0.24)]\"\n : \"border border-white bg-transparent text-white [&_path]:fill-current\"),\n !isSelected &&\n \"border-0 bg-surface-raised text-white hover:bg-[var(--oh-interactive-hover)]\",\n isDisabled && \"cursor-not-allowed opacity-50\",\n className,\n )}\n >\n {isSelected ? (\n showRemoveIcon ? (\n <RemoveIcon\n aria-hidden\n width={14}\n height={14}\n className=\"stroke-[2.5]\"\n />\n ) : (\n <CheckmarkIcon aria-hidden width={14} height={14} />\n )\n ) : (\n <PlusIcon aria-hidden className=\"size-3\" />\n )}\n </button>\n </StyledTooltip>\n );\n}\n"],"mappings":"6bAsBA,SAAgB,EAAgB,CAC9B,YACA,SACA,aAAa,EAAA,QAAQ,4BAKpB,CACD,GAAM,CAAE,KAAM,EAAA,eAAe,WAAW,EAExC,OACE,EAAA,EAAA,KAAC,EAAA,cAAD,CAAe,QAAS,EAAE,CAAU,EAAG,UAAU,gBAC/C,EAAA,EAAA,KAAC,OAAD,CACE,cAAY,OACZ,cAAa,EACb,UAAW,EAAA,GACT,6JACA,CACF,YAEA,EAAA,EAAA,KAAC,EAAA,QAAD,CAAU,UAAU,QAAU,CAAA,CAC1B,CAAA,CACO,CAAA,CAEnB,CAEA,SAAgB,EAAsB,CACpC,SACA,aACA,WACA,aAAa,GACb,YACA,iBAAiB,EAAA,QAAQ,6BACzB,kBAAkB,EAAA,QAAQ,8BAC1B,mBAAmB,EAAA,QAAQ,cAC3B,oBACA,mBAAmB,EAAA,QAAQ,eACE,CAC7B,GAAM,CAAE,KAAM,EAAA,eAAe,WAAW,EAClC,CAAC,EAAe,GAAoB,EAAA,QAAM,SAAS,EAAK,EAExD,EAAe,GAA+C,CAClE,EAAM,gBAAgB,EAClB,KAGJ,EAAS,CAAC,CAAU,EACpB,EAAM,cAAc,KAAK,EAC3B,EAEM,EAAiB,GAAc,EAE/B,EAAe,EAAE,EADI,GAAqB,EACS,CAAgB,EACnE,EAAY,EAAE,EAAa,EAAkB,CAAc,EAEjE,OACE,EAAA,EAAA,KAAC,EAAA,cAAD,CAAe,QAAS,EAAc,UAAU,gBAC9C,EAAA,EAAA,KAAC,SAAD,CACE,KAAK,SACL,KAAK,SACL,eAAc,EACd,cAAa,EACb,sBAAqB,EAAiB,OAAS,QAC/C,SAAU,EACV,aAAY,EACZ,QAAS,EACT,mBAAsB,EAAiB,EAAI,EAC3C,mBAAsB,EAAiB,EAAK,EAC5C,UAAW,EAAA,GACT,4GACA,IACG,EACG,wFACA,uEACN,CAAC,GACC,+EACF,GAAc,gCACd,CACF,WAEC,EACC,GACE,EAAA,EAAA,KAAC,EAAA,QAAD,CACE,cAAA,GACA,MAAO,GACP,OAAQ,GACR,UAAU,cACX,CAAA,GAED,EAAA,EAAA,KAAC,EAAA,QAAD,CAAe,cAAA,GAAY,MAAO,GAAI,OAAQ,EAAK,CAAA,GAGrD,EAAA,EAAA,KAAC,EAAA,QAAD,CAAU,cAAA,GAAY,UAAU,QAAU,CAAA,CAEtC,CAAA,CACK,CAAA,CAEnB"}
|
|
@@ -3,12 +3,25 @@ import { I18nKey as t } from "../../../i18n/declaration.js";
|
|
|
3
3
|
import { cn as n } from "../../../utils/utils.js";
|
|
4
4
|
import r from "../../../icons/checkmark.js";
|
|
5
5
|
import { StyledTooltip as i } from "./styled-tooltip.js";
|
|
6
|
-
import a from "../../../icons/
|
|
7
|
-
import o from "../../../icons/
|
|
6
|
+
import a from "../../../icons/x-mark.js";
|
|
7
|
+
import o from "../../../icons/u-plus.js";
|
|
8
8
|
import s from "react";
|
|
9
9
|
import { jsx as c } from "react/jsx-runtime";
|
|
10
10
|
//#region src/components/shared/buttons/circle-plus-check-toggle.tsx
|
|
11
|
-
function l({
|
|
11
|
+
function l({ className: r, testId: a, tooltipKey: s = t.AUTOMATIONS$ADD_AUTOMATION }) {
|
|
12
|
+
let { t: l } = e("openhands");
|
|
13
|
+
return /* @__PURE__ */ c(i, {
|
|
14
|
+
content: l(s),
|
|
15
|
+
placement: "top",
|
|
16
|
+
children: /* @__PURE__ */ c("span", {
|
|
17
|
+
"aria-hidden": "true",
|
|
18
|
+
"data-testid": a,
|
|
19
|
+
className: n("inline-flex size-7 shrink-0 items-center justify-center rounded-full bg-surface-raised text-white transition-colors hover:bg-[var(--oh-interactive-hover)]", r),
|
|
20
|
+
children: /* @__PURE__ */ c(o, { className: "size-3" })
|
|
21
|
+
})
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
function u({ testId: l, isSelected: u, onToggle: d, isDisabled: f = !1, className: p, enableLabelKey: m = t.SETTINGS$SKILLS_ENABLE_SKILL, disableLabelKey: h = t.SETTINGS$SKILLS_DISABLE_SKILL, enableTooltipKey: g = t.COMMON$ENABLE, disableTooltipKey: _, removeTooltipKey: v = t.COMMON$REMOVE }) {
|
|
12
25
|
let { t: y } = e("openhands"), [b, x] = s.useState(!1), S = (e) => {
|
|
13
26
|
e.stopPropagation(), !f && (d(!u), e.currentTarget.blur());
|
|
14
27
|
}, C = u && b, w = y(u ? _ ?? v : g), T = y(u ? h : m);
|
|
@@ -27,7 +40,7 @@ function l({ testId: l, isSelected: u, onToggle: d, isDisabled: f = !1, classNam
|
|
|
27
40
|
onPointerEnter: () => x(!0),
|
|
28
41
|
onPointerLeave: () => x(!1),
|
|
29
42
|
className: n("inline-flex size-7 shrink-0 cursor-pointer items-center justify-center rounded-full p-0 transition-colors", u && (C ? "border-0 bg-[rgba(248,113,113,0.14)] text-[#ef4444] hover:bg-[rgba(248,113,113,0.24)]" : "border border-white bg-transparent text-white [&_path]:fill-current"), !u && "border-0 bg-surface-raised text-white hover:bg-[var(--oh-interactive-hover)]", f && "cursor-not-allowed opacity-50", p),
|
|
30
|
-
children: u ? C ? /* @__PURE__ */ c(
|
|
43
|
+
children: u ? C ? /* @__PURE__ */ c(a, {
|
|
31
44
|
"aria-hidden": !0,
|
|
32
45
|
width: 14,
|
|
33
46
|
height: 14,
|
|
@@ -36,7 +49,7 @@ function l({ testId: l, isSelected: u, onToggle: d, isDisabled: f = !1, classNam
|
|
|
36
49
|
"aria-hidden": !0,
|
|
37
50
|
width: 14,
|
|
38
51
|
height: 14
|
|
39
|
-
}) : /* @__PURE__ */ c(
|
|
52
|
+
}) : /* @__PURE__ */ c(o, {
|
|
40
53
|
"aria-hidden": !0,
|
|
41
54
|
className: "size-3"
|
|
42
55
|
})
|
|
@@ -44,6 +57,6 @@ function l({ testId: l, isSelected: u, onToggle: d, isDisabled: f = !1, classNam
|
|
|
44
57
|
});
|
|
45
58
|
}
|
|
46
59
|
//#endregion
|
|
47
|
-
export { l as CirclePlusCheckToggle };
|
|
60
|
+
export { l as CirclePlusBadge, u as CirclePlusCheckToggle };
|
|
48
61
|
|
|
49
62
|
//# sourceMappingURL=circle-plus-check-toggle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"circle-plus-check-toggle.js","names":[],"sources":["../../../../src/components/shared/buttons/circle-plus-check-toggle.tsx"],"sourcesContent":["import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport PlusIcon from \"#/icons/u-plus.svg?react\";\nimport CheckmarkIcon from \"#/icons/checkmark.svg?react\";\nimport RemoveIcon from \"#/icons/x-mark.svg?react\";\nimport { StyledTooltip } from \"#/components/shared/buttons/styled-tooltip\";\nimport { I18nKey } from \"#/i18n/declaration\";\nimport { cn } from \"#/utils/utils\";\n\ninterface CirclePlusCheckToggleProps {\n testId?: string;\n isSelected: boolean;\n onToggle: (selected: boolean) => void;\n isDisabled?: boolean;\n className?: string;\n enableLabelKey?: I18nKey;\n disableLabelKey?: I18nKey;\n enableTooltipKey?: I18nKey;\n disableTooltipKey?: I18nKey;\n removeTooltipKey?: I18nKey;\n}\n\nexport function CirclePlusBadge({\n className,\n testId,\n tooltipKey = I18nKey.AUTOMATIONS$ADD_AUTOMATION,\n}: {\n className?: string;\n testId?: string;\n tooltipKey?: I18nKey;\n}) {\n const { t } = useTranslation(\"openhands\");\n\n return (\n <StyledTooltip content={t(tooltipKey)} placement=\"top\">\n <span\n aria-hidden=\"true\"\n data-testid={testId}\n className={cn(\n \"inline-flex size-7 shrink-0 items-center justify-center rounded-full bg-surface-raised text-white transition-colors hover:bg-[var(--oh-interactive-hover)]\",\n className,\n )}\n >\n <PlusIcon className=\"size-3\" />\n </span>\n </StyledTooltip>\n );\n}\n\nexport function CirclePlusCheckToggle({\n testId,\n isSelected,\n onToggle,\n isDisabled = false,\n className,\n enableLabelKey = I18nKey.SETTINGS$SKILLS_ENABLE_SKILL,\n disableLabelKey = I18nKey.SETTINGS$SKILLS_DISABLE_SKILL,\n enableTooltipKey = I18nKey.COMMON$ENABLE,\n disableTooltipKey,\n removeTooltipKey = I18nKey.COMMON$REMOVE,\n}: CirclePlusCheckToggleProps) {\n const { t } = useTranslation(\"openhands\");\n const [isPointerOver, setIsPointerOver] = React.useState(false);\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n if (isDisabled) {\n return;\n }\n onToggle(!isSelected);\n event.currentTarget.blur();\n };\n\n const showRemoveIcon = isSelected && isPointerOver;\n const selectedTooltipKey = disableTooltipKey ?? removeTooltipKey;\n const tooltipLabel = t(isSelected ? selectedTooltipKey : enableTooltipKey);\n const ariaLabel = t(isSelected ? disableLabelKey : enableLabelKey);\n\n return (\n <StyledTooltip content={tooltipLabel} placement=\"top\">\n <button\n type=\"button\"\n role=\"switch\"\n aria-checked={isSelected}\n data-testid={testId}\n data-showing-remove={showRemoveIcon ? \"true\" : \"false\"}\n disabled={isDisabled}\n aria-label={ariaLabel}\n onClick={handleClick}\n onPointerEnter={() => setIsPointerOver(true)}\n onPointerLeave={() => setIsPointerOver(false)}\n className={cn(\n \"inline-flex size-7 shrink-0 cursor-pointer items-center justify-center rounded-full p-0 transition-colors\",\n isSelected &&\n (showRemoveIcon\n ? \"border-0 bg-[rgba(248,113,113,0.14)] text-[#ef4444] hover:bg-[rgba(248,113,113,0.24)]\"\n : \"border border-white bg-transparent text-white [&_path]:fill-current\"),\n !isSelected &&\n \"border-0 bg-surface-raised text-white hover:bg-[var(--oh-interactive-hover)]\",\n isDisabled && \"cursor-not-allowed opacity-50\",\n className,\n )}\n >\n {isSelected ? (\n showRemoveIcon ? (\n <RemoveIcon\n aria-hidden\n width={14}\n height={14}\n className=\"stroke-[2.5]\"\n />\n ) : (\n <CheckmarkIcon aria-hidden width={14} height={14} />\n )\n ) : (\n <PlusIcon aria-hidden className=\"size-3\" />\n )}\n </button>\n </StyledTooltip>\n );\n}\n"],"mappings":";;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"circle-plus-check-toggle.js","names":[],"sources":["../../../../src/components/shared/buttons/circle-plus-check-toggle.tsx"],"sourcesContent":["import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport PlusIcon from \"#/icons/u-plus.svg?react\";\nimport CheckmarkIcon from \"#/icons/checkmark.svg?react\";\nimport RemoveIcon from \"#/icons/x-mark.svg?react\";\nimport { StyledTooltip } from \"#/components/shared/buttons/styled-tooltip\";\nimport { I18nKey } from \"#/i18n/declaration\";\nimport { cn } from \"#/utils/utils\";\n\ninterface CirclePlusCheckToggleProps {\n testId?: string;\n isSelected: boolean;\n onToggle: (selected: boolean) => void;\n isDisabled?: boolean;\n className?: string;\n enableLabelKey?: I18nKey;\n disableLabelKey?: I18nKey;\n enableTooltipKey?: I18nKey;\n disableTooltipKey?: I18nKey;\n removeTooltipKey?: I18nKey;\n}\n\nexport function CirclePlusBadge({\n className,\n testId,\n tooltipKey = I18nKey.AUTOMATIONS$ADD_AUTOMATION,\n}: {\n className?: string;\n testId?: string;\n tooltipKey?: I18nKey;\n}) {\n const { t } = useTranslation(\"openhands\");\n\n return (\n <StyledTooltip content={t(tooltipKey)} placement=\"top\">\n <span\n aria-hidden=\"true\"\n data-testid={testId}\n className={cn(\n \"inline-flex size-7 shrink-0 items-center justify-center rounded-full bg-surface-raised text-white transition-colors hover:bg-[var(--oh-interactive-hover)]\",\n className,\n )}\n >\n <PlusIcon className=\"size-3\" />\n </span>\n </StyledTooltip>\n );\n}\n\nexport function CirclePlusCheckToggle({\n testId,\n isSelected,\n onToggle,\n isDisabled = false,\n className,\n enableLabelKey = I18nKey.SETTINGS$SKILLS_ENABLE_SKILL,\n disableLabelKey = I18nKey.SETTINGS$SKILLS_DISABLE_SKILL,\n enableTooltipKey = I18nKey.COMMON$ENABLE,\n disableTooltipKey,\n removeTooltipKey = I18nKey.COMMON$REMOVE,\n}: CirclePlusCheckToggleProps) {\n const { t } = useTranslation(\"openhands\");\n const [isPointerOver, setIsPointerOver] = React.useState(false);\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n if (isDisabled) {\n return;\n }\n onToggle(!isSelected);\n event.currentTarget.blur();\n };\n\n const showRemoveIcon = isSelected && isPointerOver;\n const selectedTooltipKey = disableTooltipKey ?? removeTooltipKey;\n const tooltipLabel = t(isSelected ? selectedTooltipKey : enableTooltipKey);\n const ariaLabel = t(isSelected ? disableLabelKey : enableLabelKey);\n\n return (\n <StyledTooltip content={tooltipLabel} placement=\"top\">\n <button\n type=\"button\"\n role=\"switch\"\n aria-checked={isSelected}\n data-testid={testId}\n data-showing-remove={showRemoveIcon ? \"true\" : \"false\"}\n disabled={isDisabled}\n aria-label={ariaLabel}\n onClick={handleClick}\n onPointerEnter={() => setIsPointerOver(true)}\n onPointerLeave={() => setIsPointerOver(false)}\n className={cn(\n \"inline-flex size-7 shrink-0 cursor-pointer items-center justify-center rounded-full p-0 transition-colors\",\n isSelected &&\n (showRemoveIcon\n ? \"border-0 bg-[rgba(248,113,113,0.14)] text-[#ef4444] hover:bg-[rgba(248,113,113,0.24)]\"\n : \"border border-white bg-transparent text-white [&_path]:fill-current\"),\n !isSelected &&\n \"border-0 bg-surface-raised text-white hover:bg-[var(--oh-interactive-hover)]\",\n isDisabled && \"cursor-not-allowed opacity-50\",\n className,\n )}\n >\n {isSelected ? (\n showRemoveIcon ? (\n <RemoveIcon\n aria-hidden\n width={14}\n height={14}\n className=\"stroke-[2.5]\"\n />\n ) : (\n <CheckmarkIcon aria-hidden width={14} height={14} />\n )\n ) : (\n <PlusIcon aria-hidden className=\"size-3\" />\n )}\n </button>\n </StyledTooltip>\n );\n}\n"],"mappings":";;;;;;;;;;AAsBA,SAAgB,EAAgB,EAC9B,cACA,WACA,gBAAa,EAAQ,8BAKpB;CACD,IAAM,EAAE,SAAM,EAAe,WAAW;CAExC,OACE,kBAAC,GAAD;EAAe,SAAS,EAAE,CAAU;EAAG,WAAU;YAC/C,kBAAC,QAAD;GACE,eAAY;GACZ,eAAa;GACb,WAAW,EACT,8JACA,CACF;aAEA,kBAAC,GAAD,EAAU,WAAU,SAAU,CAAA;EAC1B,CAAA;CACO,CAAA;AAEnB;AAEA,SAAgB,EAAsB,EACpC,WACA,eACA,aACA,gBAAa,IACb,cACA,oBAAiB,EAAQ,8BACzB,qBAAkB,EAAQ,+BAC1B,sBAAmB,EAAQ,eAC3B,sBACA,sBAAmB,EAAQ,iBACE;CAC7B,IAAM,EAAE,SAAM,EAAe,WAAW,GAClC,CAAC,GAAe,KAAoB,EAAM,SAAS,EAAK,GAExD,KAAe,MAA+C;EAClE,EAAM,gBAAgB,GAClB,OAGJ,EAAS,CAAC,CAAU,GACpB,EAAM,cAAc,KAAK;CAC3B,GAEM,IAAiB,KAAc,GAE/B,IAAe,EAAE,IADI,KAAqB,IACS,CAAgB,GACnE,IAAY,EAAE,IAAa,IAAkB,CAAc;CAEjE,OACE,kBAAC,GAAD;EAAe,SAAS;EAAc,WAAU;YAC9C,kBAAC,UAAD;GACE,MAAK;GACL,MAAK;GACL,gBAAc;GACd,eAAa;GACb,uBAAqB,IAAiB,SAAS;GAC/C,UAAU;GACV,cAAY;GACZ,SAAS;GACT,sBAAsB,EAAiB,EAAI;GAC3C,sBAAsB,EAAiB,EAAK;GAC5C,WAAW,EACT,6GACA,MACG,IACG,0FACA,wEACN,CAAC,KACC,gFACF,KAAc,iCACd,CACF;aAEC,IACC,IACE,kBAAC,GAAD;IACE,eAAA;IACA,OAAO;IACP,QAAQ;IACR,WAAU;GACX,CAAA,IAED,kBAAC,GAAD;IAAe,eAAA;IAAY,OAAO;IAAI,QAAQ;GAAK,CAAA,IAGrD,kBAAC,GAAD;IAAU,eAAA;IAAY,WAAU;GAAU,CAAA;EAEtC,CAAA;CACK,CAAA;AAEnB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/react-i18next/dist/es/useTranslation.cjs"),n=require("../../../i18n/declaration.cjs"),r=require("../../../node_modules/lucide-react/dist/esm/icons/check.cjs"),i=require("../../../node_modules/lucide-react/dist/esm/icons/chevron-down.cjs"),a=require("../../../utils/utils.cjs"),o=require("../../../utils/dropdown-classes.cjs"),s=require("../../../hooks/use-click-outside-element.cjs");let c=require("react");c=e.__toESM(c,1);let l=require("react/jsx-runtime");function u({testId:e,value:u,onChange:d,options:f,labelKeyByValue:p,labelByValue:m,ariaLabel:h}){let{t:
|
|
1
|
+
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/react-i18next/dist/es/useTranslation.cjs"),n=require("../../../i18n/declaration.cjs"),r=require("../../../node_modules/lucide-react/dist/esm/icons/check.cjs"),i=require("../../../node_modules/lucide-react/dist/esm/icons/chevron-down.cjs"),a=require("../../../utils/utils.cjs"),o=require("../../../utils/dropdown-classes.cjs"),s=require("../../../hooks/use-click-outside-element.cjs");let c=require("react");c=e.__toESM(c,1);let l=require("react/jsx-runtime");function u({testId:e,value:u,onChange:d,options:f,labelKeyByValue:p,labelByValue:m,ariaLabel:h,className:g,fullWidth:_=!1}){let{t:v}=t.useTranslation(`openhands`),[y,b]=c.default.useState(!1),x=s.useClickOutsideElement(()=>b(!1)),S=e=>m?.[e]??(p?v(p[e]):e),C=h??v(n.I18nKey.CONVERSATION_PANEL$FILTER_LABEL),w=f[0],T=S(u);return(0,l.jsxs)(`div`,{ref:x,className:a.cn(`relative shrink-0`,_?`w-full`:`w-auto`,g),"data-testid":e,children:[(0,l.jsxs)(`button`,{type:`button`,"data-testid":`dropdown-trigger`,"aria-haspopup":`menu`,"aria-expanded":y,"aria-label":C,onClick:()=>b(e=>!e),className:a.cn(o.dropdownFilterTriggerClassName,_&&`w-full justify-between`,w&&u!==w&&`border-white/60 bg-white/10`),children:[(0,l.jsx)(`span`,{className:`whitespace-nowrap`,children:T}),(0,l.jsx)(i.ChevronDown,{className:a.cn(`h-4 w-4 shrink-0 text-tertiary-alt transition-transform`,y&&`rotate-180`),"aria-hidden":!0})]}),y?(0,l.jsx)(`div`,{role:`menu`,"data-testid":`${e}-menu`,"aria-label":C,className:a.cn(`absolute right-0 top-full z-50 mt-1 min-w-full w-max`,`max-h-60 overflow-auto rounded-[6px] bg-tertiary p-1 context-menu-box-shadow`,o.dropdownMenuListClassName),children:f.map(t=>{let n=t===u;return(0,l.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":n,"data-testid":`${e}-${t}`,onClick:()=>{d(t),b(!1)},className:a.cn(o.dropdownMenuRowClassName,n&&`bg-[var(--oh-interactive-selected)]`),children:[(0,l.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:S(t)}),n?(0,l.jsx)(r.Check,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0}):null]},t)})}):null]})}exports.EnumFilterDropdown=u;
|
|
2
2
|
//# sourceMappingURL=enum-filter-dropdown.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum-filter-dropdown.cjs","names":[],"sources":["../../../../src/components/shared/filters/enum-filter-dropdown.tsx"],"sourcesContent":["import React from \"react\";\nimport { Check, ChevronDown } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\nimport { I18nKey } from \"#/i18n/declaration\";\nimport { useClickOutsideElement } from \"#/hooks/use-click-outside-element\";\nimport { cn } from \"#/utils/utils\";\nimport {\n dropdownFilterTriggerClassName,\n dropdownMenuListClassName,\n dropdownMenuRowClassName,\n} from \"#/utils/dropdown-classes\";\n\ninterface EnumFilterDropdownProps<T extends string> {\n testId: string;\n value: T;\n onChange: (value: T) => void;\n options: readonly T[];\n labelKeyByValue?: Record<T, I18nKey>;\n /** Plain-string labels, e.g. manifest-supplied copy. Wins over the keys. */\n labelByValue?: Record<T, string>;\n ariaLabel?: string;\n}\n\nexport function EnumFilterDropdown<T extends string>({\n testId,\n value,\n onChange,\n options,\n labelKeyByValue,\n labelByValue,\n ariaLabel,\n}: EnumFilterDropdownProps<T>) {\n const { t } = useTranslation(\"openhands\");\n const [open, setOpen] = React.useState(false);\n const containerRef = useClickOutsideElement<HTMLDivElement>(() =>\n setOpen(false),\n );\n\n const getOptionLabel = (option: T): string =>\n labelByValue?.[option] ??\n (labelKeyByValue ? t(labelKeyByValue[option]) : option);\n const resolvedAriaLabel =\n ariaLabel ?? t(I18nKey.CONVERSATION_PANEL$FILTER_LABEL);\n\n const defaultOption = options[0];\n const selectedLabel = getOptionLabel(value);\n\n return (\n <div\n ref={containerRef}\n className
|
|
1
|
+
{"version":3,"file":"enum-filter-dropdown.cjs","names":[],"sources":["../../../../src/components/shared/filters/enum-filter-dropdown.tsx"],"sourcesContent":["import React from \"react\";\nimport { Check, ChevronDown } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\nimport { I18nKey } from \"#/i18n/declaration\";\nimport { useClickOutsideElement } from \"#/hooks/use-click-outside-element\";\nimport { cn } from \"#/utils/utils\";\nimport {\n dropdownFilterTriggerClassName,\n dropdownMenuListClassName,\n dropdownMenuRowClassName,\n} from \"#/utils/dropdown-classes\";\n\ninterface EnumFilterDropdownProps<T extends string> {\n testId: string;\n value: T;\n onChange: (value: T) => void;\n options: readonly T[];\n labelKeyByValue?: Record<T, I18nKey>;\n /** Plain-string labels, e.g. manifest-supplied copy. Wins over the keys. */\n labelByValue?: Record<T, string>;\n ariaLabel?: string;\n className?: string;\n /** Stretch the trigger to the container width, e.g. inside a parent menu. */\n fullWidth?: boolean;\n}\n\nexport function EnumFilterDropdown<T extends string>({\n testId,\n value,\n onChange,\n options,\n labelKeyByValue,\n labelByValue,\n ariaLabel,\n className,\n fullWidth = false,\n}: EnumFilterDropdownProps<T>) {\n const { t } = useTranslation(\"openhands\");\n const [open, setOpen] = React.useState(false);\n const containerRef = useClickOutsideElement<HTMLDivElement>(() =>\n setOpen(false),\n );\n\n const getOptionLabel = (option: T): string =>\n labelByValue?.[option] ??\n (labelKeyByValue ? t(labelKeyByValue[option]) : option);\n const resolvedAriaLabel =\n ariaLabel ?? t(I18nKey.CONVERSATION_PANEL$FILTER_LABEL);\n\n const defaultOption = options[0];\n const selectedLabel = getOptionLabel(value);\n\n return (\n <div\n ref={containerRef}\n className={cn(\n \"relative shrink-0\",\n fullWidth ? \"w-full\" : \"w-auto\",\n className,\n )}\n data-testid={testId}\n >\n <button\n type=\"button\"\n data-testid=\"dropdown-trigger\"\n aria-haspopup=\"menu\"\n aria-expanded={open}\n aria-label={resolvedAriaLabel}\n onClick={() => setOpen((prev) => !prev)}\n className={cn(\n dropdownFilterTriggerClassName,\n fullWidth && \"w-full justify-between\",\n defaultOption &&\n value !== defaultOption &&\n \"border-white/60 bg-white/10\",\n )}\n >\n <span className=\"whitespace-nowrap\">{selectedLabel}</span>\n <ChevronDown\n className={cn(\n \"h-4 w-4 shrink-0 text-tertiary-alt transition-transform\",\n open && \"rotate-180\",\n )}\n aria-hidden\n />\n </button>\n\n {open ? (\n <div\n role=\"menu\"\n data-testid={`${testId}-menu`}\n aria-label={resolvedAriaLabel}\n className={cn(\n \"absolute right-0 top-full z-50 mt-1 min-w-full w-max\",\n \"max-h-60 overflow-auto rounded-[6px] bg-tertiary p-1 context-menu-box-shadow\",\n dropdownMenuListClassName,\n )}\n >\n {options.map((option) => {\n const selected = option === value;\n return (\n <button\n key={option}\n type=\"button\"\n role=\"menuitemradio\"\n aria-checked={selected}\n data-testid={`${testId}-${option}`}\n onClick={() => {\n onChange(option);\n setOpen(false);\n }}\n className={cn(\n dropdownMenuRowClassName,\n selected && \"bg-[var(--oh-interactive-selected)]\",\n )}\n >\n <span className=\"min-w-0 flex-1 truncate\">\n {getOptionLabel(option)}\n </span>\n {selected ? (\n <Check className=\"h-4 w-4 shrink-0\" aria-hidden />\n ) : null}\n </button>\n );\n })}\n </div>\n ) : null}\n </div>\n );\n}\n"],"mappings":"uiBA0BA,SAAgB,EAAqC,CACnD,SACA,QACA,WACA,UACA,kBACA,eACA,YACA,YACA,YAAY,IACiB,CAC7B,GAAM,CAAE,KAAM,EAAA,eAAe,WAAW,EAClC,CAAC,EAAM,GAAW,EAAA,QAAM,SAAS,EAAK,EACtC,EAAe,EAAA,2BACnB,EAAQ,EAAK,CACf,EAEM,EAAkB,GACtB,IAAe,KACd,EAAkB,EAAE,EAAgB,EAAO,EAAI,GAC5C,EACJ,GAAa,EAAE,EAAA,QAAQ,+BAA+B,EAElD,EAAgB,EAAQ,GACxB,EAAgB,EAAe,CAAK,EAE1C,OACE,EAAA,EAAA,MAAC,MAAD,CACE,IAAK,EACL,UAAW,EAAA,GACT,oBACA,EAAY,SAAW,SACvB,CACF,EACA,cAAa,WAPf,EASE,EAAA,EAAA,MAAC,SAAD,CACE,KAAK,SACL,cAAY,mBACZ,gBAAc,OACd,gBAAe,EACf,aAAY,EACZ,YAAe,EAAS,GAAS,CAAC,CAAI,EACtC,UAAW,EAAA,GACT,EAAA,+BACA,GAAa,yBACb,GACE,IAAU,GACV,6BACJ,WAbF,EAeE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,6BAAqB,CAAoB,CAAA,GACzD,EAAA,EAAA,KAAC,EAAA,YAAD,CACE,UAAW,EAAA,GACT,0DACA,GAAQ,YACV,EACA,cAAA,EACD,CAAA,CACK,IAEP,GACC,EAAA,EAAA,KAAC,MAAD,CACE,KAAK,OACL,cAAa,GAAG,EAAO,OACvB,aAAY,EACZ,UAAW,EAAA,GACT,uDACA,+EACA,EAAA,yBACF,WAEC,EAAQ,IAAK,GAAW,CACvB,IAAM,EAAW,IAAW,EAC5B,OACE,EAAA,EAAA,MAAC,SAAD,CAEE,KAAK,SACL,KAAK,gBACL,eAAc,EACd,cAAa,GAAG,EAAO,GAAG,IAC1B,YAAe,CACb,EAAS,CAAM,EACf,EAAQ,EAAK,CACf,EACA,UAAW,EAAA,GACT,EAAA,yBACA,GAAY,qCACd,WAbF,EAeE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,mCACb,EAAe,CAAM,CAClB,CAAA,EACL,GACC,EAAA,EAAA,KAAC,EAAA,MAAD,CAAO,UAAU,mBAAmB,cAAA,EAAa,CAAA,EAC/C,IACE,GApBD,CAoBC,CAEZ,CAAC,CACE,CAAA,EACH,IACD,GAET"}
|
|
@@ -9,6 +9,9 @@ interface EnumFilterDropdownProps<T extends string> {
|
|
|
9
9
|
/** Plain-string labels, e.g. manifest-supplied copy. Wins over the keys. */
|
|
10
10
|
labelByValue?: Record<T, string>;
|
|
11
11
|
ariaLabel?: string;
|
|
12
|
+
className?: string;
|
|
13
|
+
/** Stretch the trigger to the container width, e.g. inside a parent menu. */
|
|
14
|
+
fullWidth?: boolean;
|
|
12
15
|
}
|
|
13
|
-
export declare function EnumFilterDropdown<T extends string>({ testId, value, onChange, options, labelKeyByValue, labelByValue, ariaLabel, }: EnumFilterDropdownProps<T>): React.JSX.Element;
|
|
16
|
+
export declare function EnumFilterDropdown<T extends string>({ testId, value, onChange, options, labelKeyByValue, labelByValue, ariaLabel, className, fullWidth, }: EnumFilterDropdownProps<T>): React.JSX.Element;
|
|
14
17
|
export {};
|
|
@@ -8,31 +8,31 @@ import { useClickOutsideElement as c } from "../../../hooks/use-click-outside-el
|
|
|
8
8
|
import l from "react";
|
|
9
9
|
import { jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
10
10
|
//#region src/components/shared/filters/enum-filter-dropdown.tsx
|
|
11
|
-
function f({ testId: f, value: p, onChange: m, options: h, labelKeyByValue: g, labelByValue: _, ariaLabel: v }) {
|
|
12
|
-
let { t:
|
|
11
|
+
function f({ testId: f, value: p, onChange: m, options: h, labelKeyByValue: g, labelByValue: _, ariaLabel: v, className: y, fullWidth: b = !1 }) {
|
|
12
|
+
let { t: x } = e("openhands"), [S, C] = l.useState(!1), w = c(() => C(!1)), T = (e) => _?.[e] ?? (g ? x(g[e]) : e), E = v ?? x(t.CONVERSATION_PANEL$FILTER_LABEL), D = h[0], O = T(p);
|
|
13
13
|
return /* @__PURE__ */ d("div", {
|
|
14
|
-
ref:
|
|
15
|
-
className: "relative shrink-0 w-auto",
|
|
14
|
+
ref: w,
|
|
15
|
+
className: i("relative shrink-0", b ? "w-full" : "w-auto", y),
|
|
16
16
|
"data-testid": f,
|
|
17
17
|
children: [/* @__PURE__ */ d("button", {
|
|
18
18
|
type: "button",
|
|
19
19
|
"data-testid": "dropdown-trigger",
|
|
20
20
|
"aria-haspopup": "menu",
|
|
21
|
-
"aria-expanded":
|
|
22
|
-
"aria-label":
|
|
23
|
-
onClick: () =>
|
|
24
|
-
className: i(a,
|
|
21
|
+
"aria-expanded": S,
|
|
22
|
+
"aria-label": E,
|
|
23
|
+
onClick: () => C((e) => !e),
|
|
24
|
+
className: i(a, b && "w-full justify-between", D && p !== D && "border-white/60 bg-white/10"),
|
|
25
25
|
children: [/* @__PURE__ */ u("span", {
|
|
26
26
|
className: "whitespace-nowrap",
|
|
27
|
-
children:
|
|
27
|
+
children: O
|
|
28
28
|
}), /* @__PURE__ */ u(r, {
|
|
29
|
-
className: i("h-4 w-4 shrink-0 text-tertiary-alt transition-transform",
|
|
29
|
+
className: i("h-4 w-4 shrink-0 text-tertiary-alt transition-transform", S && "rotate-180"),
|
|
30
30
|
"aria-hidden": !0
|
|
31
31
|
})]
|
|
32
|
-
}),
|
|
32
|
+
}), S ? /* @__PURE__ */ u("div", {
|
|
33
33
|
role: "menu",
|
|
34
34
|
"data-testid": `${f}-menu`,
|
|
35
|
-
"aria-label":
|
|
35
|
+
"aria-label": E,
|
|
36
36
|
className: i("absolute right-0 top-full z-50 mt-1 min-w-full w-max", "max-h-60 overflow-auto rounded-[6px] bg-tertiary p-1 context-menu-box-shadow", o),
|
|
37
37
|
children: h.map((e) => {
|
|
38
38
|
let t = e === p;
|
|
@@ -42,12 +42,12 @@ function f({ testId: f, value: p, onChange: m, options: h, labelKeyByValue: g, l
|
|
|
42
42
|
"aria-checked": t,
|
|
43
43
|
"data-testid": `${f}-${e}`,
|
|
44
44
|
onClick: () => {
|
|
45
|
-
m(e),
|
|
45
|
+
m(e), C(!1);
|
|
46
46
|
},
|
|
47
47
|
className: i(s, t && "bg-[var(--oh-interactive-selected)]"),
|
|
48
48
|
children: [/* @__PURE__ */ u("span", {
|
|
49
49
|
className: "min-w-0 flex-1 truncate",
|
|
50
|
-
children:
|
|
50
|
+
children: T(e)
|
|
51
51
|
}), t ? /* @__PURE__ */ u(n, {
|
|
52
52
|
className: "h-4 w-4 shrink-0",
|
|
53
53
|
"aria-hidden": !0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum-filter-dropdown.js","names":[],"sources":["../../../../src/components/shared/filters/enum-filter-dropdown.tsx"],"sourcesContent":["import React from \"react\";\nimport { Check, ChevronDown } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\nimport { I18nKey } from \"#/i18n/declaration\";\nimport { useClickOutsideElement } from \"#/hooks/use-click-outside-element\";\nimport { cn } from \"#/utils/utils\";\nimport {\n dropdownFilterTriggerClassName,\n dropdownMenuListClassName,\n dropdownMenuRowClassName,\n} from \"#/utils/dropdown-classes\";\n\ninterface EnumFilterDropdownProps<T extends string> {\n testId: string;\n value: T;\n onChange: (value: T) => void;\n options: readonly T[];\n labelKeyByValue?: Record<T, I18nKey>;\n /** Plain-string labels, e.g. manifest-supplied copy. Wins over the keys. */\n labelByValue?: Record<T, string>;\n ariaLabel?: string;\n}\n\nexport function EnumFilterDropdown<T extends string>({\n testId,\n value,\n onChange,\n options,\n labelKeyByValue,\n labelByValue,\n ariaLabel,\n}: EnumFilterDropdownProps<T>) {\n const { t } = useTranslation(\"openhands\");\n const [open, setOpen] = React.useState(false);\n const containerRef = useClickOutsideElement<HTMLDivElement>(() =>\n setOpen(false),\n );\n\n const getOptionLabel = (option: T): string =>\n labelByValue?.[option] ??\n (labelKeyByValue ? t(labelKeyByValue[option]) : option);\n const resolvedAriaLabel =\n ariaLabel ?? t(I18nKey.CONVERSATION_PANEL$FILTER_LABEL);\n\n const defaultOption = options[0];\n const selectedLabel = getOptionLabel(value);\n\n return (\n <div\n ref={containerRef}\n className
|
|
1
|
+
{"version":3,"file":"enum-filter-dropdown.js","names":[],"sources":["../../../../src/components/shared/filters/enum-filter-dropdown.tsx"],"sourcesContent":["import React from \"react\";\nimport { Check, ChevronDown } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\nimport { I18nKey } from \"#/i18n/declaration\";\nimport { useClickOutsideElement } from \"#/hooks/use-click-outside-element\";\nimport { cn } from \"#/utils/utils\";\nimport {\n dropdownFilterTriggerClassName,\n dropdownMenuListClassName,\n dropdownMenuRowClassName,\n} from \"#/utils/dropdown-classes\";\n\ninterface EnumFilterDropdownProps<T extends string> {\n testId: string;\n value: T;\n onChange: (value: T) => void;\n options: readonly T[];\n labelKeyByValue?: Record<T, I18nKey>;\n /** Plain-string labels, e.g. manifest-supplied copy. Wins over the keys. */\n labelByValue?: Record<T, string>;\n ariaLabel?: string;\n className?: string;\n /** Stretch the trigger to the container width, e.g. inside a parent menu. */\n fullWidth?: boolean;\n}\n\nexport function EnumFilterDropdown<T extends string>({\n testId,\n value,\n onChange,\n options,\n labelKeyByValue,\n labelByValue,\n ariaLabel,\n className,\n fullWidth = false,\n}: EnumFilterDropdownProps<T>) {\n const { t } = useTranslation(\"openhands\");\n const [open, setOpen] = React.useState(false);\n const containerRef = useClickOutsideElement<HTMLDivElement>(() =>\n setOpen(false),\n );\n\n const getOptionLabel = (option: T): string =>\n labelByValue?.[option] ??\n (labelKeyByValue ? t(labelKeyByValue[option]) : option);\n const resolvedAriaLabel =\n ariaLabel ?? t(I18nKey.CONVERSATION_PANEL$FILTER_LABEL);\n\n const defaultOption = options[0];\n const selectedLabel = getOptionLabel(value);\n\n return (\n <div\n ref={containerRef}\n className={cn(\n \"relative shrink-0\",\n fullWidth ? \"w-full\" : \"w-auto\",\n className,\n )}\n data-testid={testId}\n >\n <button\n type=\"button\"\n data-testid=\"dropdown-trigger\"\n aria-haspopup=\"menu\"\n aria-expanded={open}\n aria-label={resolvedAriaLabel}\n onClick={() => setOpen((prev) => !prev)}\n className={cn(\n dropdownFilterTriggerClassName,\n fullWidth && \"w-full justify-between\",\n defaultOption &&\n value !== defaultOption &&\n \"border-white/60 bg-white/10\",\n )}\n >\n <span className=\"whitespace-nowrap\">{selectedLabel}</span>\n <ChevronDown\n className={cn(\n \"h-4 w-4 shrink-0 text-tertiary-alt transition-transform\",\n open && \"rotate-180\",\n )}\n aria-hidden\n />\n </button>\n\n {open ? (\n <div\n role=\"menu\"\n data-testid={`${testId}-menu`}\n aria-label={resolvedAriaLabel}\n className={cn(\n \"absolute right-0 top-full z-50 mt-1 min-w-full w-max\",\n \"max-h-60 overflow-auto rounded-[6px] bg-tertiary p-1 context-menu-box-shadow\",\n dropdownMenuListClassName,\n )}\n >\n {options.map((option) => {\n const selected = option === value;\n return (\n <button\n key={option}\n type=\"button\"\n role=\"menuitemradio\"\n aria-checked={selected}\n data-testid={`${testId}-${option}`}\n onClick={() => {\n onChange(option);\n setOpen(false);\n }}\n className={cn(\n dropdownMenuRowClassName,\n selected && \"bg-[var(--oh-interactive-selected)]\",\n )}\n >\n <span className=\"min-w-0 flex-1 truncate\">\n {getOptionLabel(option)}\n </span>\n {selected ? (\n <Check className=\"h-4 w-4 shrink-0\" aria-hidden />\n ) : null}\n </button>\n );\n })}\n </div>\n ) : null}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;AA0BA,SAAgB,EAAqC,EACnD,WACA,UACA,aACA,YACA,oBACA,iBACA,cACA,cACA,eAAY,MACiB;CAC7B,IAAM,EAAE,SAAM,EAAe,WAAW,GAClC,CAAC,GAAM,KAAW,EAAM,SAAS,EAAK,GACtC,IAAe,QACnB,EAAQ,EAAK,CACf,GAEM,KAAkB,MACtB,IAAe,OACd,IAAkB,EAAE,EAAgB,EAAO,IAAI,IAC5C,IACJ,KAAa,EAAE,EAAQ,+BAA+B,GAElD,IAAgB,EAAQ,IACxB,IAAgB,EAAe,CAAK;CAE1C,OACE,kBAAC,OAAD;EACE,KAAK;EACL,WAAW,EACT,qBACA,IAAY,WAAW,UACvB,CACF;EACA,eAAa;YAPf,CASE,kBAAC,UAAD;GACE,MAAK;GACL,eAAY;GACZ,iBAAc;GACd,iBAAe;GACf,cAAY;GACZ,eAAe,GAAS,MAAS,CAAC,CAAI;GACtC,WAAW,EACT,GACA,KAAa,0BACb,KACE,MAAU,KACV,6BACJ;aAbF,CAeE,kBAAC,QAAD;IAAM,WAAU;cAAqB;GAAoB,CAAA,GACzD,kBAAC,GAAD;IACE,WAAW,EACT,2DACA,KAAQ,YACV;IACA,eAAA;GACD,CAAA,CACK;MAEP,IACC,kBAAC,OAAD;GACE,MAAK;GACL,eAAa,GAAG,EAAO;GACvB,cAAY;GACZ,WAAW,EACT,wDACA,gFACA,CACF;aAEC,EAAQ,KAAK,MAAW;IACvB,IAAM,IAAW,MAAW;IAC5B,OACE,kBAAC,UAAD;KAEE,MAAK;KACL,MAAK;KACL,gBAAc;KACd,eAAa,GAAG,EAAO,GAAG;KAC1B,eAAe;MAEb,AADA,EAAS,CAAM,GACf,EAAQ,EAAK;KACf;KACA,WAAW,EACT,GACA,KAAY,qCACd;eAbF,CAeE,kBAAC,QAAD;MAAM,WAAU;gBACb,EAAe,CAAM;KAClB,CAAA,GACL,IACC,kBAAC,GAAD;MAAO,WAAU;MAAmB,eAAA;KAAa,CAAA,IAC/C,IACE;OApBD,CAoBC;GAEZ,CAAC;EACE,CAAA,IACH,IACD;;AAET"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require("../../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../../node_modules/react-i18next/dist/es/useTranslation.cjs"),n=require("../../../../i18n/declaration.cjs"),r=require("../../../../utils/constants.cjs"),i=require("../../../../context/navigation-context.cjs"),a=require("../../../../hooks/use-tracking.cjs"),o=require("../modal-backdrop.cjs"),s=require("../../../features/settings/brand-button.cjs"),c=require("../../../../utils/settings-utils.cjs"),l=require("
|
|
1
|
+
const e=require("../../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../../node_modules/react-i18next/dist/es/useTranslation.cjs"),n=require("../../../../i18n/declaration.cjs"),r=require("../../../../utils/constants.cjs"),i=require("../../../../context/navigation-context.cjs"),a=require("../../../../hooks/use-tracking.cjs"),o=require("../modal-backdrop.cjs"),s=require("../../../features/settings/brand-button.cjs"),c=require("../../../../utils/settings-utils.cjs"),l=require("../../../features/settings/settings-input.cjs"),u=require("../../../../hooks/mutation/use-save-settings.cjs"),d=require("../../../../ui/help-link.cjs"),f=require("./model-selector.cjs"),p=require("../../../../utils/sdk-settings-schema.cjs"),m=require("../confirmation-modals/danger-modal.cjs");let h=require("react");h=e.__toESM(h,1);let g=require("react/jsx-runtime");function _({settings:e,onClose:_}){let{trackSettingsSaved:v}=a.useTracking(),{mutate:y}=u.useSaveSettings(),{currentPath:b}=i.useNavigation(),{t:x}=t.useTranslation(`openhands`),S=h.default.useRef(null),[C,w]=h.default.useState(!1),T=async e=>{let t=c.extractSettings(e);await y(t,{onSuccess:()=>{_();let e=t.agent_settings_diff?.llm??{};v({llmModel:e.model,llmApiKeySet:e.api_key?`SET`:`UNSET`,searchApiKeySet:t.search_api_key?`SET`:`UNSET`,remoteRuntimeResourceFactor:t.remote_runtime_resource_factor})}})},E=()=>{T(new FormData(S.current??void 0))},D=e=>{e.preventDefault();let t=new FormData(e.currentTarget);b.startsWith(`/conversations/`)?w(!0):T(t)},O=e.llm_api_key_set,k=p.getAgentSettingValue(e,`llm.model`);return(0,g.jsxs)(`div`,{children:[(0,g.jsxs)(`form`,{ref:S,"data-testid":`settings-form`,className:`flex flex-col gap-6`,onSubmit:D,children:[(0,g.jsxs)(`div`,{className:`flex flex-col gap-[17px]`,children:[(0,g.jsx)(f.ModelSelector,{currentModel:typeof k==`string`?k:void 0,wrapperClassName:`!flex-col !gap-[17px]`,labelClassName:r.SETTINGS_FORM.LABEL_CLASSNAME}),(0,g.jsx)(l.SettingsInput,{testId:`llm-api-key-input`,name:`llm-api-key-input`,label:x(n.I18nKey.SETTINGS_FORM$API_KEY),type:`password`,className:`w-full`,placeholder:O?`<hidden>`:``,labelClassName:r.SETTINGS_FORM.LABEL_CLASSNAME}),(0,g.jsx)(d.HelpLink,{testId:`llm-api-key-help-anchor`,text:x(n.I18nKey.SETTINGS$DONT_KNOW_API_KEY),linkText:x(n.I18nKey.SETTINGS$CLICK_FOR_INSTRUCTIONS),href:`https://docs.openhands.dev/usage/local-setup#getting-an-api-key`,size:`settings`,linkColor:`white`})]}),(0,g.jsx)(`div`,{className:`flex flex-col gap-2`,children:(0,g.jsx)(s.BrandButton,{testId:`save-settings-button`,type:`submit`,variant:`primary`,className:`w-full`,children:x(n.I18nKey.BUTTON$SAVE)})})]}),C&&(0,g.jsx)(o.ModalBackdrop,{children:(0,g.jsx)(m.DangerModal,{title:x(n.I18nKey.MODAL$END_SESSION_TITLE),description:x(n.I18nKey.MODAL$END_SESSION_MESSAGE),buttons:{danger:{text:x(n.I18nKey.BUTTON$END_SESSION),onClick:E},cancel:{text:x(n.I18nKey.BUTTON$CANCEL),onClick:()=>w(!1)}}})})]})}exports.SettingsForm=_;
|
|
2
2
|
//# sourceMappingURL=settings-form.cjs.map
|
|
@@ -6,8 +6,8 @@ import { useTracking as i } from "../../../../hooks/use-tracking.js";
|
|
|
6
6
|
import { ModalBackdrop as a } from "../modal-backdrop.js";
|
|
7
7
|
import { BrandButton as o } from "../../../features/settings/brand-button.js";
|
|
8
8
|
import { extractSettings as s } from "../../../../utils/settings-utils.js";
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
9
|
+
import { SettingsInput as c } from "../../../features/settings/settings-input.js";
|
|
10
|
+
import { useSaveSettings as l } from "../../../../hooks/mutation/use-save-settings.js";
|
|
11
11
|
import { HelpLink as u } from "../../../../ui/help-link.js";
|
|
12
12
|
import { ModelSelector as d } from "./model-selector.js";
|
|
13
13
|
import { getAgentSettingValue as f } from "../../../../utils/sdk-settings-schema.js";
|
|
@@ -16,7 +16,7 @@ import m from "react";
|
|
|
16
16
|
import { jsx as h, jsxs as g } from "react/jsx-runtime";
|
|
17
17
|
//#region src/components/shared/modals/settings/settings-form.tsx
|
|
18
18
|
function _({ settings: _, onClose: v }) {
|
|
19
|
-
let { trackSettingsSaved: y } = i(), { mutate: b } =
|
|
19
|
+
let { trackSettingsSaved: y } = i(), { mutate: b } = l(), { currentPath: x } = r(), { t: S } = e("openhands"), C = m.useRef(null), [w, T] = m.useState(!1), E = async (e) => {
|
|
20
20
|
let t = s(e);
|
|
21
21
|
await b(t, { onSuccess: () => {
|
|
22
22
|
v();
|
|
@@ -48,7 +48,7 @@ function _({ settings: _, onClose: v }) {
|
|
|
48
48
|
wrapperClassName: "!flex-col !gap-[17px]",
|
|
49
49
|
labelClassName: n.LABEL_CLASSNAME
|
|
50
50
|
}),
|
|
51
|
-
/* @__PURE__ */ h(
|
|
51
|
+
/* @__PURE__ */ h(c, {
|
|
52
52
|
testId: "llm-api-key-input",
|
|
53
53
|
name: "llm-api-key-input",
|
|
54
54
|
label: S(t.SETTINGS_FORM$API_KEY),
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
require("../../_virtual/_rolldown/runtime.cjs");const e=require("../../utils/utils.cjs");let t=require("react"),n=require("react/jsx-runtime");function r({onMouseDown:r,className:i,isDragging:a=!1}){let[
|
|
1
|
+
require("../../_virtual/_rolldown/runtime.cjs");const e=require("../../utils/utils.cjs");let t=require("react"),n=require("react/jsx-runtime");function r({onMouseDown:r,className:i,isDragging:a=!1,testId:o}){let[s,c]=(0,t.useState)(!1),l=a||s;return(0,n.jsxs)(`div`,{"data-testid":o,className:e.cn(`relative z-10 w-0 shrink-0 self-stretch`,i),"aria-hidden":!0,children:[(0,n.jsx)(`div`,{className:`absolute inset-y-0 left-1/2 w-3 min-w-[12px] -translate-x-1/2 cursor-ew-resize`,onMouseDown:r,onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1)}),(0,n.jsx)(`div`,{className:e.cn(`pointer-events-none absolute inset-y-0 left-1/2 w-px -translate-x-1/2 transition-colors`,l?`bg-white`:`bg-transparent`),"aria-hidden":!0})]})}exports.ResizeHandle=r;
|
|
2
2
|
//# sourceMappingURL=resize-handle.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resize-handle.cjs","names":[],"sources":["../../../src/components/ui/resize-handle.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { cn } from \"#/utils/utils\";\n\ninterface ResizeHandleProps {\n onMouseDown: (e: React.MouseEvent) => void;\n className?: string;\n /** While the parent panel drag is active, keep the grip line highlighted. */\n isDragging?: boolean;\n}\n\nexport function ResizeHandle({\n onMouseDown,\n className,\n isDragging = false,\n}: ResizeHandleProps) {\n const [isHovering, setIsHovering] = useState(false);\n const lineActive = isDragging || isHovering;\n\n return (\n <div\n className={cn(\"relative z-10 w-0 shrink-0 self-stretch\", className)}\n aria-hidden\n >\n <div\n className=\"absolute inset-y-0 left-1/2 w-3 min-w-[12px] -translate-x-1/2 cursor-ew-resize\"\n onMouseDown={onMouseDown}\n onMouseEnter={() => setIsHovering(true)}\n onMouseLeave={() => setIsHovering(false)}\n />\n <div\n className={cn(\n \"pointer-events-none absolute inset-y-0 left-1/2 w-px -translate-x-1/2 transition-colors\",\n lineActive ? \"bg-white\" : \"bg-transparent\",\n )}\n aria-hidden\n />\n </div>\n );\n}\n"],"mappings":"+
|
|
1
|
+
{"version":3,"file":"resize-handle.cjs","names":[],"sources":["../../../src/components/ui/resize-handle.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { cn } from \"#/utils/utils\";\n\ninterface ResizeHandleProps {\n onMouseDown: (e: React.MouseEvent) => void;\n className?: string;\n /** While the parent panel drag is active, keep the grip line highlighted. */\n isDragging?: boolean;\n testId?: string;\n}\n\nexport function ResizeHandle({\n onMouseDown,\n className,\n isDragging = false,\n testId,\n}: ResizeHandleProps) {\n const [isHovering, setIsHovering] = useState(false);\n const lineActive = isDragging || isHovering;\n\n return (\n <div\n data-testid={testId}\n className={cn(\"relative z-10 w-0 shrink-0 self-stretch\", className)}\n aria-hidden\n >\n <div\n className=\"absolute inset-y-0 left-1/2 w-3 min-w-[12px] -translate-x-1/2 cursor-ew-resize\"\n onMouseDown={onMouseDown}\n onMouseEnter={() => setIsHovering(true)}\n onMouseLeave={() => setIsHovering(false)}\n />\n <div\n className={cn(\n \"pointer-events-none absolute inset-y-0 left-1/2 w-px -translate-x-1/2 transition-colors\",\n lineActive ? \"bg-white\" : \"bg-transparent\",\n )}\n aria-hidden\n />\n </div>\n );\n}\n"],"mappings":"+IAWA,SAAgB,EAAa,CAC3B,cACA,YACA,aAAa,GACb,UACoB,CACpB,GAAM,CAAC,EAAY,IAAA,EAAA,EAAA,UAA0B,EAAK,EAC5C,EAAa,GAAc,EAEjC,OACE,EAAA,EAAA,MAAC,MAAD,CACE,cAAa,EACb,UAAW,EAAA,GAAG,0CAA2C,CAAS,EAClE,cAAA,YAHF,EAKE,EAAA,EAAA,KAAC,MAAD,CACE,UAAU,iFACG,cACb,iBAAoB,EAAc,EAAI,EACtC,iBAAoB,EAAc,EAAK,CACxC,CAAA,GACD,EAAA,EAAA,KAAC,MAAD,CACE,UAAW,EAAA,GACT,0FACA,EAAa,WAAa,gBAC5B,EACA,cAAA,EACD,CAAA,CACE,GAET"}
|
|
@@ -3,6 +3,7 @@ interface ResizeHandleProps {
|
|
|
3
3
|
className?: string;
|
|
4
4
|
/** While the parent panel drag is active, keep the grip line highlighted. */
|
|
5
5
|
isDragging?: boolean;
|
|
6
|
+
testId?: string;
|
|
6
7
|
}
|
|
7
|
-
export declare function ResizeHandle({ onMouseDown, className, isDragging, }: ResizeHandleProps): import("react").JSX.Element;
|
|
8
|
+
export declare function ResizeHandle({ onMouseDown, className, isDragging, testId, }: ResizeHandleProps): import("react").JSX.Element;
|
|
8
9
|
export {};
|
|
@@ -2,18 +2,19 @@ import { cn as e } from "../../utils/utils.js";
|
|
|
2
2
|
import { useState as t } from "react";
|
|
3
3
|
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
4
4
|
//#region src/components/ui/resize-handle.tsx
|
|
5
|
-
function i({ onMouseDown: i, className: a, isDragging: o = !1 }) {
|
|
6
|
-
let [
|
|
5
|
+
function i({ onMouseDown: i, className: a, isDragging: o = !1, testId: s }) {
|
|
6
|
+
let [c, l] = t(!1), u = o || c;
|
|
7
7
|
return /* @__PURE__ */ r("div", {
|
|
8
|
+
"data-testid": s,
|
|
8
9
|
className: e("relative z-10 w-0 shrink-0 self-stretch", a),
|
|
9
10
|
"aria-hidden": !0,
|
|
10
11
|
children: [/* @__PURE__ */ n("div", {
|
|
11
12
|
className: "absolute inset-y-0 left-1/2 w-3 min-w-[12px] -translate-x-1/2 cursor-ew-resize",
|
|
12
13
|
onMouseDown: i,
|
|
13
|
-
onMouseEnter: () =>
|
|
14
|
-
onMouseLeave: () =>
|
|
14
|
+
onMouseEnter: () => l(!0),
|
|
15
|
+
onMouseLeave: () => l(!1)
|
|
15
16
|
}), /* @__PURE__ */ n("div", {
|
|
16
|
-
className: e("pointer-events-none absolute inset-y-0 left-1/2 w-px -translate-x-1/2 transition-colors",
|
|
17
|
+
className: e("pointer-events-none absolute inset-y-0 left-1/2 w-px -translate-x-1/2 transition-colors", u ? "bg-white" : "bg-transparent"),
|
|
17
18
|
"aria-hidden": !0
|
|
18
19
|
})]
|
|
19
20
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resize-handle.js","names":[],"sources":["../../../src/components/ui/resize-handle.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { cn } from \"#/utils/utils\";\n\ninterface ResizeHandleProps {\n onMouseDown: (e: React.MouseEvent) => void;\n className?: string;\n /** While the parent panel drag is active, keep the grip line highlighted. */\n isDragging?: boolean;\n}\n\nexport function ResizeHandle({\n onMouseDown,\n className,\n isDragging = false,\n}: ResizeHandleProps) {\n const [isHovering, setIsHovering] = useState(false);\n const lineActive = isDragging || isHovering;\n\n return (\n <div\n className={cn(\"relative z-10 w-0 shrink-0 self-stretch\", className)}\n aria-hidden\n >\n <div\n className=\"absolute inset-y-0 left-1/2 w-3 min-w-[12px] -translate-x-1/2 cursor-ew-resize\"\n onMouseDown={onMouseDown}\n onMouseEnter={() => setIsHovering(true)}\n onMouseLeave={() => setIsHovering(false)}\n />\n <div\n className={cn(\n \"pointer-events-none absolute inset-y-0 left-1/2 w-px -translate-x-1/2 transition-colors\",\n lineActive ? \"bg-white\" : \"bg-transparent\",\n )}\n aria-hidden\n />\n </div>\n );\n}\n"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"resize-handle.js","names":[],"sources":["../../../src/components/ui/resize-handle.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { cn } from \"#/utils/utils\";\n\ninterface ResizeHandleProps {\n onMouseDown: (e: React.MouseEvent) => void;\n className?: string;\n /** While the parent panel drag is active, keep the grip line highlighted. */\n isDragging?: boolean;\n testId?: string;\n}\n\nexport function ResizeHandle({\n onMouseDown,\n className,\n isDragging = false,\n testId,\n}: ResizeHandleProps) {\n const [isHovering, setIsHovering] = useState(false);\n const lineActive = isDragging || isHovering;\n\n return (\n <div\n data-testid={testId}\n className={cn(\"relative z-10 w-0 shrink-0 self-stretch\", className)}\n aria-hidden\n >\n <div\n className=\"absolute inset-y-0 left-1/2 w-3 min-w-[12px] -translate-x-1/2 cursor-ew-resize\"\n onMouseDown={onMouseDown}\n onMouseEnter={() => setIsHovering(true)}\n onMouseLeave={() => setIsHovering(false)}\n />\n <div\n className={cn(\n \"pointer-events-none absolute inset-y-0 left-1/2 w-px -translate-x-1/2 transition-colors\",\n lineActive ? \"bg-white\" : \"bg-transparent\",\n )}\n aria-hidden\n />\n </div>\n );\n}\n"],"mappings":";;;;AAWA,SAAgB,EAAa,EAC3B,gBACA,cACA,gBAAa,IACb,aACoB;CACpB,IAAM,CAAC,GAAY,KAAiB,EAAS,EAAK,GAC5C,IAAa,KAAc;CAEjC,OACE,kBAAC,OAAD;EACE,eAAa;EACb,WAAW,EAAG,2CAA2C,CAAS;EAClE,eAAA;YAHF,CAKE,kBAAC,OAAD;GACE,WAAU;GACG;GACb,oBAAoB,EAAc,EAAI;GACtC,oBAAoB,EAAc,EAAK;EACxC,CAAA,GACD,kBAAC,OAAD;GACE,WAAW,EACT,2FACA,IAAa,aAAa,gBAC5B;GACA,eAAA;EACD,CAAA,CACE;;AAET"}
|
package/dist/config/defaults.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
require("../_virtual/_rolldown/runtime.cjs");var e={_comment:`Single source of truth for version pins, ports, paths, and defaults shared across the npm and Docker install paths. Read by scripts/dev-safe.mjs, scripts/dev-with-automation.mjs, docker/entrypoint.sh (via generated defaults.env), and .github/workflows/docker.yml.`,versions:{agentServer:`1.42.1`,agentCanvas:`1.
|
|
1
|
+
require("../_virtual/_rolldown/runtime.cjs");var e={_comment:`Single source of truth for version pins, ports, paths, and defaults shared across the npm and Docker install paths. Read by scripts/dev-safe.mjs, scripts/dev-with-automation.mjs, docker/entrypoint.sh (via generated defaults.env), and .github/workflows/docker.yml.`,versions:{agentServer:`1.42.1`,agentCanvas:`1.15.0`,automation:`1.8.0`},compatibility:{minimumAgentServer:`1.28.0`},constraints:{_comment:`Temporary upper bound on the agent-client-protocol (acp) transitive dependency. openhands-sdk 1.35.0 requires agent-client-protocol>=0.10.1 with no upper bound, but acp 0.11.0 reordered the ACP prompt() arguments and breaks the SDK's ACP client (a PromptRequest validation error surfaces as 'ACP error: 2 validation errors for PromptRequest'). Pin acp <0.11 until a fixed openhands-sdk ships. Consumed by scripts/dev-safe.mjs (agent-server uvx install) and .github/workflows/mock-llm-e2e.yml (mock ACP server venv).`,agentClientProtocol:`agent-client-protocol<0.11`},images:{agentServer:`ghcr.io/openhands/agent-server`,agentCanvas:`ghcr.io/openhands/agent-canvas`},ports:{agentServer:18e3,automation:18001,proxy:8e3},paths:{stateSubdir:`agent-canvas`,conversations:`agent-canvas/conversations`,bashEvents:`agent-canvas/bash_events`,automationDb:`automation/automations.db`,canvasBasePath:`/canvas`},packages:{agentServer:`openhands-agent-server`,automation:`openhands-automation`,tools:`openhands-tools`,workspace:`openhands-workspace`},telemetry:{posthogApiKey:`phc_kBtz5nKmxVRRQ7HtPwr2QX9eMC5j65zE86QKocVNwb4U`,posthogHost:`https://us.i.posthog.com`}};exports.default=e;
|
|
2
2
|
//# sourceMappingURL=defaults.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.cjs","names":[],"sources":["../../config/defaults.json"],"sourcesContent":["{\n \"_comment\": \"Single source of truth for version pins, ports, paths, and defaults shared across the npm and Docker install paths. Read by scripts/dev-safe.mjs, scripts/dev-with-automation.mjs, docker/entrypoint.sh (via generated defaults.env), and .github/workflows/docker.yml.\",\n \"versions\": {\n \"agentServer\": \"1.42.1\",\n \"agentCanvas\": \"1.
|
|
1
|
+
{"version":3,"file":"defaults.cjs","names":[],"sources":["../../config/defaults.json"],"sourcesContent":["{\n \"_comment\": \"Single source of truth for version pins, ports, paths, and defaults shared across the npm and Docker install paths. Read by scripts/dev-safe.mjs, scripts/dev-with-automation.mjs, docker/entrypoint.sh (via generated defaults.env), and .github/workflows/docker.yml.\",\n \"versions\": {\n \"agentServer\": \"1.42.1\",\n \"agentCanvas\": \"1.15.0\",\n \"automation\": \"1.8.0\"\n },\n \"compatibility\": {\n \"minimumAgentServer\": \"1.28.0\"\n },\n \"constraints\": {\n \"_comment\": \"Temporary upper bound on the agent-client-protocol (acp) transitive dependency. openhands-sdk 1.35.0 requires agent-client-protocol>=0.10.1 with no upper bound, but acp 0.11.0 reordered the ACP prompt() arguments and breaks the SDK's ACP client (a PromptRequest validation error surfaces as 'ACP error: 2 validation errors for PromptRequest'). Pin acp <0.11 until a fixed openhands-sdk ships. Consumed by scripts/dev-safe.mjs (agent-server uvx install) and .github/workflows/mock-llm-e2e.yml (mock ACP server venv).\",\n \"agentClientProtocol\": \"agent-client-protocol<0.11\"\n },\n \"images\": {\n \"agentServer\": \"ghcr.io/openhands/agent-server\",\n \"agentCanvas\": \"ghcr.io/openhands/agent-canvas\"\n },\n \"ports\": {\n \"agentServer\": 18000,\n \"automation\": 18001,\n \"proxy\": 8000\n },\n \"paths\": {\n \"stateSubdir\": \"agent-canvas\",\n \"conversations\": \"agent-canvas/conversations\",\n \"bashEvents\": \"agent-canvas/bash_events\",\n \"automationDb\": \"automation/automations.db\",\n \"canvasBasePath\": \"/canvas\"\n },\n \"packages\": {\n \"agentServer\": \"openhands-agent-server\",\n \"automation\": \"openhands-automation\",\n \"tools\": \"openhands-tools\",\n \"workspace\": \"openhands-workspace\"\n },\n \"telemetry\": {\n \"posthogApiKey\": \"phc_kBtz5nKmxVRRQ7HtPwr2QX9eMC5j65zE86QKocVNwb4U\",\n \"posthogHost\": \"https://us.i.posthog.com\"\n }\n}\n"],"mappings":""}
|
package/dist/config/defaults.js
CHANGED
|
@@ -2,8 +2,8 @@ var e = {
|
|
|
2
2
|
_comment: "Single source of truth for version pins, ports, paths, and defaults shared across the npm and Docker install paths. Read by scripts/dev-safe.mjs, scripts/dev-with-automation.mjs, docker/entrypoint.sh (via generated defaults.env), and .github/workflows/docker.yml.",
|
|
3
3
|
versions: {
|
|
4
4
|
agentServer: "1.42.1",
|
|
5
|
-
agentCanvas: "1.
|
|
6
|
-
automation: "1.
|
|
5
|
+
agentCanvas: "1.15.0",
|
|
6
|
+
automation: "1.8.0"
|
|
7
7
|
},
|
|
8
8
|
compatibility: { minimumAgentServer: "1.28.0" },
|
|
9
9
|
constraints: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","names":[],"sources":["../../config/defaults.json"],"sourcesContent":["{\n \"_comment\": \"Single source of truth for version pins, ports, paths, and defaults shared across the npm and Docker install paths. Read by scripts/dev-safe.mjs, scripts/dev-with-automation.mjs, docker/entrypoint.sh (via generated defaults.env), and .github/workflows/docker.yml.\",\n \"versions\": {\n \"agentServer\": \"1.42.1\",\n \"agentCanvas\": \"1.
|
|
1
|
+
{"version":3,"file":"defaults.js","names":[],"sources":["../../config/defaults.json"],"sourcesContent":["{\n \"_comment\": \"Single source of truth for version pins, ports, paths, and defaults shared across the npm and Docker install paths. Read by scripts/dev-safe.mjs, scripts/dev-with-automation.mjs, docker/entrypoint.sh (via generated defaults.env), and .github/workflows/docker.yml.\",\n \"versions\": {\n \"agentServer\": \"1.42.1\",\n \"agentCanvas\": \"1.15.0\",\n \"automation\": \"1.8.0\"\n },\n \"compatibility\": {\n \"minimumAgentServer\": \"1.28.0\"\n },\n \"constraints\": {\n \"_comment\": \"Temporary upper bound on the agent-client-protocol (acp) transitive dependency. openhands-sdk 1.35.0 requires agent-client-protocol>=0.10.1 with no upper bound, but acp 0.11.0 reordered the ACP prompt() arguments and breaks the SDK's ACP client (a PromptRequest validation error surfaces as 'ACP error: 2 validation errors for PromptRequest'). Pin acp <0.11 until a fixed openhands-sdk ships. Consumed by scripts/dev-safe.mjs (agent-server uvx install) and .github/workflows/mock-llm-e2e.yml (mock ACP server venv).\",\n \"agentClientProtocol\": \"agent-client-protocol<0.11\"\n },\n \"images\": {\n \"agentServer\": \"ghcr.io/openhands/agent-server\",\n \"agentCanvas\": \"ghcr.io/openhands/agent-canvas\"\n },\n \"ports\": {\n \"agentServer\": 18000,\n \"automation\": 18001,\n \"proxy\": 8000\n },\n \"paths\": {\n \"stateSubdir\": \"agent-canvas\",\n \"conversations\": \"agent-canvas/conversations\",\n \"bashEvents\": \"agent-canvas/bash_events\",\n \"automationDb\": \"automation/automations.db\",\n \"canvasBasePath\": \"/canvas\"\n },\n \"packages\": {\n \"agentServer\": \"openhands-agent-server\",\n \"automation\": \"openhands-automation\",\n \"tools\": \"openhands-tools\",\n \"workspace\": \"openhands-workspace\"\n },\n \"telemetry\": {\n \"posthogApiKey\": \"phc_kBtz5nKmxVRRQ7HtPwr2QX9eMC5j65zE86QKocVNwb4U\",\n \"posthogHost\": \"https://us.i.posthog.com\"\n }\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
require("../_virtual/_rolldown/runtime.cjs");var e=`https://docs.openhands.dev/overview/skills/adding#adding-new-skills`,t=`add-skill`,n=`/add-skill https://github.com/OpenHands/extensions/tree/main/skills/codereview`;exports.ADD_SKILL_DOCS_URL=e,exports.ADD_SKILL_EXAMPLE_COMMAND=n,exports.ADD_SKILL_SKILL_NAME=t;
|
|
2
|
+
//# sourceMappingURL=skills-docs.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skills-docs.cjs","names":[],"sources":["../../src/constants/skills-docs.ts"],"sourcesContent":["export const ADD_SKILL_DOCS_URL =\n \"https://docs.openhands.dev/overview/skills/adding#adding-new-skills\";\n\nexport const ADD_SKILL_SKILL_NAME = \"add-skill\";\n\nexport const ADD_SKILL_EXAMPLE_COMMAND =\n \"/add-skill https://github.com/OpenHands/extensions/tree/main/skills/codereview\";\n"],"mappings":"6CAAA,IAAa,EACX,sEAEW,EAAuB,YAEvB,EACX"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
//#region src/constants/skills-docs.ts
|
|
2
|
+
var e = "https://docs.openhands.dev/overview/skills/adding#adding-new-skills", t = "add-skill", n = "/add-skill https://github.com/OpenHands/extensions/tree/main/skills/codereview";
|
|
3
|
+
//#endregion
|
|
4
|
+
export { e as ADD_SKILL_DOCS_URL, n as ADD_SKILL_EXAMPLE_COMMAND, t as ADD_SKILL_SKILL_NAME };
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=skills-docs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skills-docs.js","names":[],"sources":["../../src/constants/skills-docs.ts"],"sourcesContent":["export const ADD_SKILL_DOCS_URL =\n \"https://docs.openhands.dev/overview/skills/adding#adding-new-skills\";\n\nexport const ADD_SKILL_SKILL_NAME = \"add-skill\";\n\nexport const ADD_SKILL_EXAMPLE_COMMAND =\n \"/add-skill https://github.com/OpenHands/extensions/tree/main/skills/codereview\";\n"],"mappings":";AAAA,IAAa,IACX,uEAEW,IAAuB,aAEvB,IACX"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const e=require("../_virtual/_rolldown/runtime.cjs"),t=require("../stores/browser-store.cjs"),n=require("../stores/command-store.cjs"),
|
|
2
|
-
`)),
|
|
3
|
-
`)),
|
|
1
|
+
const e=require("../_virtual/_rolldown/runtime.cjs"),t=require("../stores/browser-store.cjs"),n=require("../stores/command-store.cjs"),ee=require("../utils/conversation-local-storage.cjs"),r=require("../stores/conversation-store.cjs"),te=require("../stores/conversation-state-store.cjs"),ne=require("../node_modules/@openhands/typescript-client/dist/client/conversation-client.cjs");require("../node_modules/@openhands/typescript-client/dist/clients.cjs");const re=require("../utils/websocket-url.cjs"),ie=require("../api/agent-server-client-options.cjs"),ae=require("../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.cjs"),i=require("../types/agent-server/type-guards.cjs"),a=require("../stores/use-event-store.cjs"),o=require("../hooks/use-websocket.cjs"),oe=require("../constants/server-connection-error.cjs"),s=require("../stores/error-message-store.cjs"),se=require("../stores/optimistic-user-message-store.cjs"),c=require("../stores/goal-store.cjs"),ce=require("../utils/streaming-delta-batcher.cjs"),le=require("../services/canvas-ui.cjs"),l=require("../api/conversation-metadata-store.cjs"),ue=require("../services/child-conversation-launch.cjs"),de=require("../utils/cache-utils.cjs"),fe=require("../api/event-service/event-service.api.cjs"),u=require("../utils/error-handler.cjs"),pe=require("../hooks/mutation/use-read-conversation-file.cjs"),me=require("../stores/metrics-store.cjs"),he=require("../hooks/query/use-conversation-history.cjs"),ge=require("../hooks/chat/record-model-switch-message.cjs"),d=require("../hooks/mutation/conversation-mutation-utils.cjs");let f=require("react");f=e.__toESM(f,1);let _e=require("react/jsx-runtime");var p=(0,f.createContext)(void 0);function m(e){return e.llm_message.content.filter(e=>e.type===`text`).map(e=>e.text).join(``)}function h({children:e,conversationId:h,conversationUrl:g,sessionApiKey:_,subConversations:v,subConversationIds:ve}){let[y,b]=(0,f.useState)(`CONNECTING`),[x,S]=(0,f.useState)(`CONNECTING`),C=f.default.useRef(!1),w=f.default.useRef(!1),T=ae.useQueryClient(),E=a.useEventStore(e=>e.addEvent),ye=a.useEventStore(e=>e.addEvents),be=a.useEventStore(e=>e.clearEventsForConversation),{setErrorMessage:D,removeErrorMessage:O,clearConnectionError:k}=s.useErrorMessageStore(),A=se.useOptimisticUserMessageStore(e=>e.consumeMatchingPendingMessage),{setExecutionStatus:j}=te.useConversationStateStore(),{appendInput:M,appendOutput:N}=n.useCommandStore(),P=t.useBrowserStore(e=>e.reset),F=(0,f.useRef)(null);F.current===null&&(F.current=ce.createStreamingDeltaBatcher(e=>{a.useEventStore.getState().addEvent(e),s.useErrorMessageStore.getState().clearConnectionError()}));let I=(0,f.useRef)(null);I.current===null&&(I.current=ce.createStreamingDeltaBatcher(e=>{a.useEventStore.getState().addEvent({...e,isFromPlanningAgent:!0}),s.useErrorMessageStore.getState().clearConnectionError()}));let[L,R]=(0,f.useState)(!0),[z,xe]=(0,f.useState)(null),{setPlanContent:B}=r.useConversationStore(),{mutate:V}=pe.useReadConversationFile(),H=(0,f.useRef)(0),U=(0,f.useRef)(null),Se=e=>e?.toUpperCase().endsWith(`PLAN.MD`)??!1,W=(0,f.useCallback)(()=>{k()},[k]),G=(0,f.useCallback)(e=>{let t=e.value.usage_to_metrics;if(!t)return;let n=Object.values(t).reduce((e,t)=>{e.cost+=t.accumulated_cost,e.maxBudgetPerTask===null&&t.max_budget_per_task!==null&&(e.maxBudgetPerTask=t.max_budget_per_task);let n=t.accumulated_token_usage;return n&&(e.usage={prompt_tokens:(e.usage?.prompt_tokens??0)+n.prompt_tokens,completion_tokens:(e.usage?.completion_tokens??0)+n.completion_tokens,cache_read_tokens:(e.usage?.cache_read_tokens??0)+n.cache_read_tokens,cache_write_tokens:(e.usage?.cache_write_tokens??0)+n.cache_write_tokens,context_window:Math.max(e.usage?.context_window??0,n.context_window),per_turn_token:Math.max(e.usage?.per_turn_token??0,n.per_turn_token)}),e},{cost:0,maxBudgetPerTask:null,usage:null});me.default.getState().setMetrics({cost:n.cost,max_budget_per_task:n.maxBudgetPerTask,usage:n.usage})},[]),{data:K,isPending:q}=he.useConversationHistory(h),Ce=!!h&&q;(0,f.useLayoutEffect)(()=>{let e=h??null;a.useEventStore.getState().loadedConversationId!==e&&(be(e),P(),me.default.getState().resetMetrics())},[h,be,P]),(0,f.useLayoutEffect)(()=>{if(!(!K||K.events.length===0)&&(ye(K.events),h)){ge.seedModelSwitchesFromHistory(h,a.useEventStore.getState().uiEvents);for(let e of K.events)i.isUserMessageEvent(e)&&A(h,m(e))}},[K,ye,h,A]);let J=(0,f.useMemo)(()=>{let e=K?.events??[],t=e[e.length-1];return!t||!(`timestamp`in t)||!t.timestamp?null:t.timestamp},[K]),Y=(0,f.useMemo)(()=>!h||!g||q?null:re.buildWebSocketUrl(h,g),[h,g,q]),X=(0,f.useMemo)(()=>{if(!v?.length)return null;let e=v[0];return!e?.id||!e.conversation_url?null:re.buildWebSocketUrl(e.id,e.conversation_url)},[v]),we=(0,f.useMemo)(()=>X?y===`CONNECTING`||x===`CONNECTING`?`CONNECTING`:y===`OPEN`&&x===`OPEN`?`OPEN`:y===`CLOSED`&&x===`CLOSED`?`CLOSED`:y===`CLOSING`||x===`CLOSING`?`CLOSING`:`CLOSED`:y,[y,x,X]);(0,f.useEffect)(()=>{z!==null&&H.current>=z&&L&&R(!1)},[z,L,H]),(0,f.useEffect)(()=>{if(!L&&U.current){let{path:e,conversationId:t}=U.current;V({conversationId:t,filePath:e},{onSuccess:e=>{B(e)},onError:e=>{console.warn(`Failed to read conversation file:`,e)}}),U.current=null}},[L,V,B]),(0,f.useEffect)(()=>{C.current=!1,R(!!ve?.length),xe(null),H.current=0,U.current=null},[ve]),(0,f.useEffect)(()=>{C.current=!1,w.current=!1,U.current=null},[h]),(0,f.useEffect)(()=>{let e=F.current,t=I.current;return()=>{e?.reset(),t?.reset()}},[h]);let Te=(0,f.useMemo)(()=>Ce||L,[Ce,L]),Ee=(0,f.useCallback)(e=>{try{let n=JSON.parse(e.data);if(i.isAgentServerEvent(n)){if(i.isStreamingDeltaEvent(n)){F.current?.enqueue(n);return}F.current?.flush();let e=a.useEventStore.getState().eventIds.has(n.id??``),r=i.isSwitchLLMObservationEvent(n)?n:null;if(E(n),e)return;if(i.isDisplayableErrorEvent(n)){let e=n,t=`classification`in e?e.classification:null;u.trackError({source:`conversation`,metadata:{eventId:e.id,errorCode:e.code},classification:t}),D(e.detail,`conversation`,e.code,t)}else W();if(i.isAgentErrorEvent(n)&&u.trackError({source:`agent`,metadata:{eventId:n.id,toolName:n.tool_name,toolCallId:n.tool_call_id},classification:n.classification}),i.isUserMessageEvent(n)&&h&&(A(h,m(n)),ee.setConversationState(h,{draftMessage:null})),i.isActionEvent(n)&&de.handleActionEventCacheInvalidation(n,h||`test-conversation-id`,T),i.isConversationStateUpdateEvent(n)&&(i.isFullStateConversationStateUpdateEvent(n)&&j(n.value.execution_status),i.isAgentStatusConversationStateUpdateEvent(n)&&j(n.value),i.isStatsConversationStateUpdateEvent(n)&&G(n),i.isGoalConversationStateUpdateEvent(n)&&h&&c.useGoalStore.getState().setStatus(h,n.value)),i.isExecuteBashActionEvent(n)&&M(n.action.command),i.isExecuteBashObservationEvent(n)&&N(n.observation.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
2
|
+
`)),i.isBrowserObservationEvent(n)){let{screenshot_data:e}=n.observation;if(e){let n=e.startsWith(`data:`)?e:`data:image/png;base64,${e}`;t.useBrowserStore.getState().setScreenshotSrc(n)}}if(i.isBrowserNavigateActionEvent(n)&&t.useBrowserStore.getState().setUrl(n.action.url),h&&r&&!r.observation.is_error){ge.recordModelSwitchMessage(h,r.observation.profile_name);let e=l.getStoredConversationMetadata(h);l.setStoredConversationMetadata(h,{selected_repository:e?.selected_repository??null,selected_branch:e?.selected_branch??null,git_provider:e?.git_provider??null,selected_workspace:e?.selected_workspace??null,active_profile:r.observation.profile_name,plugins:e?.plugins??null}),r.observation.active_model&&d.updateConversationLlmModelInCache(T,h,r.observation.active_model),d.invalidateConversationQueries(T,h)}i.isCanvasUIActionEvent(n)&&le.handleCanvasUIAction(n.action,h??null),h&&i.isLaunchChildConversationActionEvent(n)&&ue.handleLaunchChildConversationAction(n.action,h,n.tool_call_id)}}catch(e){console.warn(`Failed to parse WebSocket message as JSON:`,e)}},[E,D,A,T,h,j,M,N,G,W]),De=(0,f.useCallback)(e=>{try{let t=JSON.parse(e.data);if(L&&(H.current+=1,z!==null&&H.current>=z&&R(!1)),i.isAgentServerEvent(t)){if(i.isStreamingDeltaEvent(t)){I.current?.enqueue(t);return}I.current?.flush();let e=a.useEventStore.getState().eventIds.has(t.id??``);if(E({...t,isFromPlanningAgent:!0}),e)return;if(i.isDisplayableErrorEvent(t)){let e=t,n=`classification`in e?e.classification:null;u.trackError({source:`planning_conversation`,metadata:{eventId:e.id,errorCode:e.code},classification:n}),D(e.detail,`conversation`,e.code,n)}else W();if(i.isAgentErrorEvent(t)&&u.trackError({source:`planning_agent`,metadata:{eventId:t.id,toolName:t.tool_name,toolCallId:t.tool_call_id},classification:t.classification}),i.isUserMessageEvent(t)&&h&&(A(h,m(t)),ee.setConversationState(h,{draftMessage:null})),i.isActionEvent(t)&&de.handleActionEventCacheInvalidation(t,v?.[0]?.id||`test-conversation-id`,T),i.isConversationStateUpdateEvent(t)&&(i.isFullStateConversationStateUpdateEvent(t)&&j(t.value.execution_status),i.isAgentStatusConversationStateUpdateEvent(t)&&j(t.value),i.isStatsConversationStateUpdateEvent(t)&&G(t),i.isGoalConversationStateUpdateEvent(t)&&h&&c.useGoalStore.getState().setStatus(h,t.value)),i.isExecuteBashActionEvent(t)&&M(t.action.command),i.isExecuteBashObservationEvent(t)&&N(t.observation.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
3
|
+
`)),i.isPlanningFileEditorObservationEvent(t)){let{path:e}=t.observation;if(Se(e)){let t=v?.[0]?.id;t&&e&&(L?U.current={path:e,conversationId:t}:V({conversationId:t,filePath:e},{onSuccess:e=>{B(e)},onError:e=>{console.warn(`Failed to read conversation file:`,e)}}))}}}}catch(e){console.warn(`Failed to parse WebSocket message as JSON:`,e)}},[E,L,z,D,A,T,v,h,j,M,N,V,B,G,W]),Oe=(0,f.useMemo)(()=>({queryParams:J?{resend_mode:`since`,after_timestamp:J}:{resend_mode:`all`},sessionApiKey:_,reconnect:{enabled:!0},onOpen:()=>{b(`OPEN`),C.current=!0,k()},onClose:()=>{b(`CLOSED`)},onError:()=>{b(`CLOSED`),C.current&&D(oe.SERVER_CONNECTION_ERROR_MESSAGE,`connection`)},onMessage:Ee}),[Ee,D,k,_,J]),ke=(0,f.useMemo)(()=>{let e={resend_all:!0},t=v?.[0];return{queryParams:e,sessionApiKey:t?.session_api_key??_,reconnect:{enabled:!0},onOpen:async()=>{if(S(`OPEN`),w.current=!0,k(),t?.id&&t.conversation_url)try{let e=await fe.default.getEventCount(t.id,t.conversation_url,t.session_api_key);xe(e),e===0&&R(!1)}catch{R(!1)}},onClose:()=>{S(`CLOSED`)},onError:()=>{S(`CLOSED`),w.current&&D(oe.SERVER_CONNECTION_ERROR_MESSAGE,`connection`)},onMessage:De}},[De,D,k,_,v]),{socket:Z,reconnect:Ae}=o.useWebSocket(Y||``,Oe),{socket:Q,reconnect:je}=o.useWebSocket(X||``,ke),Me=(0,f.useCallback)(()=>{if(O(),r.useConversationStore.getState().conversationMode===`plan`&&X){je();return}Ae()},[X,Ae,je,O]),$=(0,f.useCallback)(async e=>{let t=r.useConversationStore.getState().conversationMode===`plan`?Q:Z;if(t?.readyState!==WebSocket.OPEN){if(!h){let e=Error(`No conversation ID available`);throw D(e.message),e}try{return await new ne.ConversationClient(ie.getAgentServerClientOptions()).sendEvent(h,{role:`user`,content:e.content},{run:!0}),{queued:!0}}catch(e){throw D(e instanceof Error?e.message:`Failed to queue message for delivery`),e}}try{return t.send(JSON.stringify({...e,run:!0})),{queued:!1}}catch(e){throw D(e instanceof Error?e.message:`Failed to send message`),e}},[Z,Q,D,h]);(0,f.useEffect)(()=>{Z&&Y&&(()=>{switch(Z.readyState){case WebSocket.CONNECTING:b(`CONNECTING`);break;case WebSocket.OPEN:b(`OPEN`);break;case WebSocket.CLOSING:b(`CLOSING`);break;case WebSocket.CLOSED:b(`CLOSED`);break;default:b(`CLOSED`);break}})()},[Z,Y]),(0,f.useEffect)(()=>{Q&&X&&(()=>{switch(Q.readyState){case WebSocket.CONNECTING:S(`CONNECTING`);break;case WebSocket.OPEN:S(`OPEN`);break;case WebSocket.CLOSING:S(`CLOSING`);break;case WebSocket.CLOSED:S(`CLOSED`);break;default:S(`CLOSED`);break}})()},[Q,X]);let Ne=(0,f.useMemo)(()=>({connectionState:we,sendMessage:$,isLoadingHistory:Te,reconnect:Me}),[we,$,Te,Me]);return(0,_e.jsx)(p.Provider,{value:Ne,children:e})}var g=()=>(0,f.useContext)(p)||null;exports.ConversationWebSocketProvider=h,exports.useConversationWebSocket=g;
|
|
4
4
|
//# sourceMappingURL=conversation-websocket-context.cjs.map
|