@openhands/agent-canvas 1.15.0 → 1.17.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 +15 -1
- package/README.windows.md +2 -2
- package/build/assets/{acp-providers-BKvmTf82.js → acp-providers-DrjNsPOH.js} +1 -1
- package/build/assets/active-backend-context-rZiLJRUc.js +2 -0
- package/build/assets/{agent-context-settings-D3PjSTU1.js → agent-context-settings-CJUrcBut.js} +1 -1
- package/build/assets/agent-profiles-service.api-Biieml2L.js +1 -0
- package/build/assets/agent-profiles-settings-x6RvPsq7.js +1 -0
- package/build/assets/agent-server-client-options-BikiNwTa.js +1 -0
- package/build/assets/agent-server-conversation-service.api-DYFsNHKf.js +88 -0
- package/build/assets/agent-settings-BJyovpJ_.js +1 -0
- package/build/assets/agent-settings-CpY3zObk.js +2 -0
- package/build/assets/alert-banner-vARz1idS.js +1 -0
- package/build/assets/{api-error-message-BJyfWp6p.js → api-error-message-Ve79qDcN.js} +1 -1
- package/build/assets/api-key-entry-screen-CsMuBhoP.js +1 -0
- package/build/assets/{app-settings-CbHqzQus.js → app-settings-BaJ7nfHt.js} +1 -1
- package/build/assets/automation-detail-CVoGDrKq.js +3 -0
- package/build/assets/{automation-export-BRopEHMu.js → automation-export-DxY47m3T.js} +1 -1
- package/build/assets/automation-git-sync-CRMP9Bbm.js +1 -0
- package/build/assets/automation-setup-route-072beLz1.js +3 -0
- package/build/assets/{automation-templates-C_0FZgLG.js → automation-templates-4C4PM8K7.js} +1 -1
- package/build/assets/automations-list-xuqTSQL4.js +1 -0
- package/build/assets/{back-nav-button-Dm9tIjVf.js → back-nav-button-B8tH0BEp.js} +1 -1
- package/build/assets/backend-form-modal-0aJmWdsa.js +1 -0
- package/build/assets/{backend-synced-settings-badge-3fOwg6Bd.js → backend-synced-settings-badge-B7rKWBir.js} +1 -1
- package/build/assets/{badge-D4SqUCsR.js → badge-CcGx2TaV.js} +1 -1
- package/build/assets/{base-modal-C7_BDl_U.js → base-modal-DTULovNc.js} +1 -1
- package/build/assets/bot-CLMxGFaq.js +1 -0
- package/build/assets/{brand-button-Dxv6PDeN.js → brand-button-DxPO4Lf8.js} +1 -1
- package/build/assets/browser-C-_qBasq.js +46 -0
- package/build/assets/{browser-tab-BAl4ckJE.js → browser-tab-DZanIw5m.js} +1 -1
- package/build/assets/canvas-extension-page-o_cWgE9B.js +1 -0
- package/build/assets/canvas-extensions-DSgNlCha.js +1 -0
- package/build/assets/canvas-extensions-runtime-DdnkgJXV.js +1 -0
- package/build/assets/{chat-send-button-DWwR2cgI.js → chat-send-button-B3SFSIg5.js} +1 -1
- package/build/assets/check-fDEfgSzj.js +1 -0
- package/build/assets/chevron-down-CFrWHqu8.js +1 -0
- package/build/assets/chevron-right-C5roOrJu.js +1 -0
- package/build/assets/circle-check-ClTzJTdb.js +1 -0
- package/build/assets/{circle-plus-check-toggle-CBh_qomE.js → circle-plus-check-toggle-Fr-h-mbL.js} +1 -1
- package/build/assets/{cloud-funnel-analytics-287iIERo.js → cloud-funnel-analytics-BQanUEEC.js} +1 -1
- package/build/assets/{cog-C4rrw-ZK.js → cog-VBlRo6iw.js} +1 -1
- package/build/assets/command-menu-BT3Ia5Ru.js +1 -0
- package/build/assets/commits-tab-2jhtaohl.js +1 -0
- package/build/assets/{condenser-settings-BcNmYR4s.js → condenser-settings-eVKFMvap.js} +1 -1
- package/build/assets/confirmation-modal-gIFHeZt6.js +1 -0
- package/build/assets/{context-menu-list-item-lVYETtY5.js → context-menu-list-item-DDROe12Z.js} +1 -1
- package/build/assets/conversation-BnjJSFf5.js +93 -0
- package/build/assets/conversation-DZ578rOX.js +1 -0
- package/build/assets/conversation-panel-DZ578rOX.js +1 -0
- package/build/assets/conversation-state-store-D1_G_9I-.js +1 -0
- package/build/assets/{conversation-store-Ca3ghXap.js → conversation-store-DVVfkCsk.js} +1 -1
- package/build/assets/{conversation-tab-empty-state-HJtkmHZj.js → conversation-tab-empty-state-DKlzAz5c.js} +1 -1
- package/build/assets/{copy-to-clipboard-button-Cjkswvnj.js → copy-to-clipboard-button-B3w0X7WH.js} +1 -1
- package/build/assets/{device-verify-EZhHhBT7.js → device-verify-BfkCzyFB.js} +1 -1
- package/build/assets/{dropdown-classes-DJe-E6MC.js → dropdown-classes-B9kJVDIk.js} +1 -1
- package/build/assets/edit-automation-modal-BwhJ39JT.js +1 -0
- package/build/assets/empty-state-RZz0OfnY.js +1 -0
- package/build/assets/{entry.client-C7Bi2tkU.js → entry.client-Ds8LVp-E.js} +2 -2
- package/build/assets/enum-filter-dropdown-C4pW0ORd.js +1 -0
- package/build/assets/{environment-switch-overlay-CEKrFiMw.js → environment-switch-overlay-P2ZAuzov.js} +1 -1
- package/build/assets/{error-state-BALXiBNy.js → error-state-B_5cgNPJ.js} +1 -1
- package/build/assets/extensions-hub-DsaUr4ca.js +1 -0
- package/build/assets/extensions-navigation-CRMZd-FE.js +1 -0
- package/build/assets/external-link-DQtv7eTh.js +1 -0
- package/build/assets/files-tab-CCgAcVdc.js +1 -0
- package/build/assets/{form-control-classes-CGw40z5h.js → form-control-classes-B-z85REi.js} +1 -1
- package/build/assets/format-model-name-CasAP3nd.js +1 -0
- package/build/assets/get-git-path-EHrSDxTM.js +1 -0
- package/build/assets/git-repo-dropdown-D2WEQ97X.js +1 -0
- package/build/assets/{git-repo-dropdown-ai8qaNkD.js → git-repo-dropdown-DVeCUUXG.js} +1 -1
- package/build/assets/{highlighted-source-view-C3sxykQi.js → highlighted-source-view-DjHO3SdW.js} +1 -1
- package/build/assets/home-BorS_vdS.js +1 -0
- package/build/assets/home-aIMbHw5M.js +1 -0
- package/build/assets/home-automation-run-tooltip-CpHNFiFl.js +1 -0
- package/build/assets/home-store-DyXz0w6d.js +1 -0
- package/build/assets/hooks-service-C6dpRtZM.js +1 -0
- package/build/assets/index-home-zKFuKK2B.js +1 -0
- package/build/assets/info-CTIdjttz.js +1 -0
- package/build/assets/install-server-modal-DUiZMc8u.js +1 -0
- package/build/assets/kebab-menu-item-content-mm04SBD3.js +1 -0
- package/build/assets/{key-Cn5za3rg.js → key-CfXbJa8w.js} +1 -1
- package/build/assets/{launch-C1ieiOGe.js → launch-BSIf9KEg.js} +1 -1
- package/build/assets/list-filter-CNpqTWVY.js +1 -0
- package/build/assets/{list-todo-Cuu-STFc.js → list-todo-ByXMdY4W.js} +1 -1
- package/build/assets/llm-not-configured-banner-z_QRSeV0.js +27 -0
- package/build/assets/llm-settings-B-5AHMiX.js +1 -0
- package/build/assets/llm-settings-B3SjHDmA.js +1 -0
- package/build/assets/llm-subscription-service-aDNBQ7Gq.js +1 -0
- package/build/assets/loader-circle-Dex47vVW.js +1 -0
- package/build/assets/{loading-spinner-0L3ZTToZ.js → loading-spinner-DfHI77BA.js} +1 -1
- package/build/assets/manage-backends-modal-q1NdFisr.js +1 -0
- package/build/assets/manifest-8920b615.js +1 -0
- package/build/assets/{manifest-subpage-layout-BGhiUQbA.js → manifest-subpage-layout-BQQy5ipR.js} +1 -1
- package/build/assets/{map-provider-B9LTm23I.js → map-provider-DXvssjw9.js} +1 -1
- package/build/assets/markdown-renderer-rivLvYh-.js +8 -0
- package/build/assets/{mcp-CKbR4Vft.js → mcp-CEXDhQWn.js} +1 -1
- package/build/assets/{mcp-marketplace-utils-C13fFccR.js → mcp-marketplace-utils-Cn_NIMWM.js} +1 -1
- package/build/assets/mcp-page-LGYIICMG.js +9 -0
- package/build/assets/messages-DUSeANAh.js +41 -0
- package/build/assets/{modal-body-CMOc2tLl.js → modal-body-DJw4xBki.js} +1 -1
- package/build/assets/{modal-classes-BAb4Y_BG.js → modal-classes-Dg0ngBPO.js} +1 -1
- package/build/assets/{modal-close-button-CkJ0Ktjj.js → modal-close-button-B9j4nasm.js} +1 -1
- package/build/assets/{mouse-pointer-click-CsgRs_-r.js → mouse-pointer-click-DEhsSUpu.js} +1 -1
- package/build/assets/onboarding-BjFebfs5.js +1 -0
- package/build/assets/onboarding-modal-DDTjOpyd.js +1 -0
- package/build/assets/organization-service.api-Cyg1Tn03.js +1 -0
- package/build/assets/pencil-D5c47kyN.js +1 -0
- package/build/assets/pin-C7vMagvf.js +1 -0
- package/build/assets/planner-tab-D8f2Y3rn.js +1 -0
- package/build/assets/plug-CeaqeF6u.js +1 -0
- package/build/assets/plugins-management-service-Bh_pBuf-.js +1 -0
- package/build/assets/plus-B3wvU06-.js +1 -0
- package/build/assets/profiles-service.api-BbOK0EkF.js +1 -0
- package/build/assets/providers-2gIIkz2N.js +1 -0
- package/build/assets/proxy-CBgMd2zf.js +1 -0
- package/build/assets/{puzzle-A9pGxxai.js → puzzle-DdAqbUrb.js} +1 -1
- package/build/assets/recommended-automations-launcher-YLAQTp4s.js +1 -0
- package/build/assets/refresh-cw-DEQdPCpH.js +1 -0
- package/build/assets/root-Bye_XmEL.js +2 -0
- package/build/assets/root-Cnwwzgo0.css +1 -0
- package/build/assets/root-layout-CSAwxBGM.js +2 -0
- package/build/assets/schema-field-CK0xYNbO.js +1 -0
- package/build/assets/scroll-fade-state-Dt_fx2kf.js +1 -0
- package/build/assets/sdk-section-page-Da73Rs_o.js +1 -0
- package/build/assets/secret-form-CB2VwYYg.js +1 -0
- package/build/assets/secrets-service-Cr8g8xuv.js +1 -0
- package/build/assets/{secrets-settings-BizaTEr1.js → secrets-settings-Bh0udeKv.js} +1 -1
- package/build/assets/settings-CKqk8ZnH.js +1 -0
- package/build/assets/settings-DmyIgRxO.js +1 -0
- package/build/assets/{settings-dropdown-input-tM0A0ipy.js → settings-dropdown-input-DVpyD87C.js} +1 -1
- package/build/assets/settings-index-BSJUFmjE.js +1 -0
- package/build/assets/{settings-input-C03KUoSC.js → settings-input-C0dd8Utu.js} +1 -1
- package/build/assets/{settings-list-classes-BJ0g8rWj.js → settings-list-classes-Ds4jPBHK.js} +1 -1
- package/build/assets/{settings-modal-AzEF1QPP.js → settings-modal-yStgEh2o.js} +1 -1
- package/build/assets/settings-service.api-9_xdv_mh.js +1 -0
- package/build/assets/{settings-switch-CQE0EGC-.js → settings-switch-B78Khmyz.js} +1 -1
- package/build/assets/{settings-utils-ClYOkbbI.js → settings-utils-8GIIgOQL.js} +1 -1
- package/build/assets/shared-conversation-DM96X4KV.js +1 -0
- package/build/assets/shield-check-DO7wa_eu.js +1 -0
- package/build/assets/{sidebar-layout-D3hE08wK.js → sidebar-layout-EPfWxk11.js} +1 -1
- package/build/assets/sidebar-mobile-menu-toggle-D5GR5xT9.js +1 -0
- package/build/assets/sidebar-nav-link-_t4_Ef-9.js +1 -0
- package/build/assets/{sidebar-onboarding-checklist-storage-3qYflszY.js → sidebar-onboarding-checklist-storage-DbDX-Wvj.js} +1 -1
- package/build/assets/sidebar-store-CSDFK0W5.js +1 -0
- package/build/assets/{skill-card-pill-row-CFxjoqxn.js → skill-card-pill-row-989y15jV.js} +1 -1
- package/build/assets/skill-enablement-DXeaImBz.js +1 -0
- package/build/assets/skill-filter-BBeZ4JEP.js +2 -0
- package/build/assets/{skill-icon-badge-CPQJ6A-I.js → skill-icon-badge-BDhQ-tQ0.js} +1 -1
- package/build/assets/skill-scope-Dz3kPH3P.js +1 -0
- package/build/assets/skills-plugins-e3CYGdUJ.js +1 -0
- package/build/assets/skills-settings-3e-FuHw_.js +1 -0
- package/build/assets/styled-tooltip-Pd22BIvr.js +1 -0
- package/build/assets/{task-list-tab-04GNQuii.js → task-list-tab-3Jg8ywch.js} +1 -1
- package/build/assets/{terminal-Cj0iHIW7.js → terminal-onXx0_Qz.js} +1 -1
- package/build/assets/toggle-switch-lwQtxDcm.js +1 -0
- package/build/assets/trash-2-ZhKuTLiz.js +1 -0
- package/build/assets/trash-B6OIe4yX.js +1 -0
- package/build/assets/triangle-alert-BajLPpQg.js +1 -0
- package/build/assets/{typography-SgFy466J.js → typography-HLLg_FAn.js} +1 -1
- package/build/assets/usage-tab-Cm-9j3UK.js +1 -0
- package/build/assets/use-acp-credential-form-BARcvjYE.js +1 -0
- package/build/assets/use-activate-agent-profile-BLKML6vQ.js +1 -0
- package/build/assets/use-agent-profiles-1P91KSXz.js +1 -0
- package/build/assets/{use-automation-health-BxXdzZMP.js → use-automation-health-BZkQNEA8.js} +1 -1
- package/build/assets/use-automation-permissions-B_RpvL-s.js +1 -0
- package/build/assets/{use-automations-zYb0dUny.js → use-automations-Cg0PDIZr.js} +1 -1
- package/build/assets/{use-can-manage-org-profiles-BWMahtUh.js → use-can-manage-org-profiles-BbN6KfDr.js} +1 -1
- package/build/assets/use-canvas-extensions-CFUpHat6.js +1 -0
- package/build/assets/{use-cloud-current-user-id-CPHMDG-C.js → use-cloud-current-user-id-Dk0rjr63.js} +1 -1
- package/build/assets/use-config-DpafU_QP.js +1 -0
- package/build/assets/use-create-conversation-1YgmAHt-.js +1 -0
- package/build/assets/use-create-secret-D8p9ybQj.js +1 -0
- package/build/assets/{use-get-secrets-BT4ihRwj.js → use-get-secrets-CQ4b0qK8.js} +1 -1
- package/build/assets/use-is-authed-BRPjCRKM.js +1 -0
- package/build/assets/{use-launch-skill-in-chat-BYjYihBP.js → use-launch-skill-in-chat-DeYa1tFM.js} +1 -1
- package/build/assets/use-llm-configured-DGm8FiRR.js +1 -0
- package/build/assets/use-llm-profiles-BTTtpW4z.js +1 -0
- package/build/assets/use-manifest-capabilities-AOWGcu0j.js +1 -0
- package/build/assets/use-onboarding-completion-CoINurkm.js +1 -0
- package/build/assets/use-pinned-home-route-D6krwXjy.js +1 -0
- package/build/assets/use-plugins-marketplace-mLsIDhBv.js +1 -0
- package/build/assets/use-save-agent-profile-CxyO9YG-.js +1 -0
- package/build/assets/{use-save-settings-CUZW6yXP.js → use-save-settings-3U5K9-8x.js} +1 -1
- package/build/assets/use-settings-Dn00UISA.js +1 -0
- package/build/assets/use-settings-nav-items-vrjxTqcu.js +16 -0
- package/build/assets/use-tracking-B9prBsrq.js +3 -0
- package/build/assets/{use-user-conversation-DT0_QCnL.js → use-user-conversation-ZWlXtbZb.js} +1 -1
- package/build/assets/{useInfiniteQuery-CgeUQPfs.js → useInfiniteQuery-BzrRqjLg.js} +1 -1
- package/build/assets/{useMutation-DFnzkf6f.js → useMutation-CJuK90oc.js} +1 -1
- package/build/assets/{useQueries-BhbrGEf1.js → useQueries-CykmpT-a.js} +1 -1
- package/build/assets/{useQuery-BXWbZBZl.js → useQuery-S6j94er1.js} +1 -1
- package/build/assets/utils-BOco8mxR.js +1 -0
- package/build/assets/{vendor~conversation-panel~conversation-CTvDDiXg.js → vendor~conversation-panel~conversation-4eJ0tml3.js} +1 -1
- package/build/assets/{vendor~entry.client-BFE7Llz9.js → vendor~entry.client-CoCfUXUF.js} +1 -1
- package/build/assets/{vendor~entry.client-BaKt_PIp.js → vendor~entry.client-DA2izTjq.js} +1 -1
- package/build/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~b0x1wrp2-Z0lly3FE.js +2 -0
- package/build/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~czjee3a3-BfkNGovw.js +185 -0
- package/build/assets/{vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~ew3u153i-rfV8mQ9m.js → vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~ew9ih1s8-DnDoaYNi.js} +1 -1
- package/build/assets/{vendor~index-home~home~conversation-panel~conversation-BTyukeM-.js → vendor~index-home~home~conversation-panel~conversation-CSFLzmTN.js} +1 -1
- package/build/assets/vendor~root-layout-n8XCEXG8.js +1 -0
- package/build/assets/{vendor~root-layout~conversation-panel~conversation-BYAWJwQX.js → vendor~root-layout~conversation-panel~conversation-3Idg1_U3.js} +1 -1
- package/build/assets/{vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-CHaLEBVR.js → vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-DkPlXWl9.js} +1 -1
- package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation-DgQ564nC.js +1 -0
- package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~mcp~automations-list~aut~ibfbmr9f-CxhwKuAd.js +1 -0
- package/build/assets/{vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-Dtu7BpYk.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~inibp4qe-CnsDDzeE.js} +2 -2
- package/build/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~iyia17eu-CV850oio.js +1 -0
- package/build/assets/{vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~eo2nf80n-DonTKfQD.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~eo2nf80n-BPjI-atc.js} +125 -15
- package/build/assets/{vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~jz4f6vo2-BgxDvUcf.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~jz4f6vo2-C7HiY4Ae.js} +42 -3
- package/build/assets/{verification-settings-Bj6bo097.js → verification-settings-u2POabjH.js} +1 -1
- package/build/assets/{wrench-hi7Q13dF.js → wrench-CkgI4rxA.js} +1 -1
- package/build/assets/x-By6qCmtY.js +1 -0
- package/build/index.html +4 -4
- package/build/locales/ar/openhands.json +94 -25
- package/build/locales/ca/openhands.json +94 -25
- package/build/locales/de/openhands.json +94 -25
- package/build/locales/en/openhands.json +94 -25
- package/build/locales/es/openhands.json +94 -25
- package/build/locales/fr/openhands.json +94 -25
- package/build/locales/it/openhands.json +94 -25
- package/build/locales/ja/openhands.json +94 -25
- package/build/locales/ko-KR/openhands.json +94 -25
- package/build/locales/no/openhands.json +94 -25
- package/build/locales/pt/openhands.json +94 -25
- package/build/locales/tr/openhands.json +94 -25
- package/build/locales/uk/openhands.json +94 -25
- package/build/locales/zh-CN/openhands.json +94 -25
- package/build/locales/zh-TW/openhands.json +94 -25
- package/config/defaults.json +9 -5
- package/dist/api/agent-profiles-service/profile-field-support.d.ts +26 -0
- 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 +72 -12
- package/dist/api/agent-server-adapter.js +249 -145
- package/dist/api/agent-server-adapter.js.map +1 -1
- package/dist/api/agent-server-compatibility.cjs +1 -1
- package/dist/api/agent-server-compatibility.cjs.map +1 -1
- package/dist/api/agent-server-compatibility.d.ts +21 -0
- package/dist/api/agent-server-compatibility.js +52 -38
- package/dist/api/agent-server-compatibility.js.map +1 -1
- package/dist/api/agent-server-config.cjs +1 -1
- package/dist/api/agent-server-config.cjs.map +1 -1
- package/dist/api/agent-server-config.d.ts +32 -0
- package/dist/api/agent-server-config.js +21 -5
- package/dist/api/agent-server-config.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 +2 -2
- package/dist/api/automation-service/automation-service.api.js +7 -7
- package/dist/api/automation-service/automation-service.api.js.map +1 -1
- package/dist/api/canvas-extensions-service.cjs +1 -0
- package/dist/api/canvas-extensions-service.d.ts +22 -0
- package/dist/api/canvas-extensions-service.js +4 -0
- package/dist/api/cloud/conversation-service.api.cjs +1 -1
- package/dist/api/cloud/conversation-service.api.cjs.map +1 -1
- package/dist/api/cloud/conversation-service.api.d.ts +6 -0
- package/dist/api/cloud/conversation-service.api.js +14 -6
- package/dist/api/cloud/conversation-service.api.js.map +1 -1
- package/dist/api/cloud/provider-connections-service.api.cjs +2 -0
- package/dist/api/cloud/provider-connections-service.api.cjs.map +1 -0
- package/dist/api/cloud/provider-connections-service.api.d.ts +5 -0
- package/dist/api/cloud/provider-connections-service.api.js +50 -0
- package/dist/api/cloud/provider-connections-service.api.js.map +1 -0
- package/dist/api/cloud/skills-service.api.cjs +1 -1
- package/dist/api/cloud/skills-service.api.cjs.map +1 -1
- package/dist/api/cloud/skills-service.api.d.ts +10 -0
- package/dist/api/cloud/skills-service.api.js +11 -1
- package/dist/api/cloud/skills-service.api.js.map +1 -1
- package/dist/api/conversation-file-upload.api.cjs +1 -1
- package/dist/api/conversation-file-upload.api.js +10 -10
- package/dist/api/conversation-metadata-store.cjs +1 -1
- package/dist/api/conversation-metadata-store.cjs.map +1 -1
- package/dist/api/conversation-metadata-store.d.ts +24 -0
- package/dist/api/conversation-metadata-store.js +10 -2
- package/dist/api/conversation-metadata-store.js.map +1 -1
- package/dist/api/conversation-service/agent-server-conversation-service.api.cjs +1 -1
- package/dist/api/conversation-service/agent-server-conversation-service.api.cjs.map +1 -1
- package/dist/api/conversation-service/agent-server-conversation-service.api.d.ts +31 -0
- package/dist/api/conversation-service/agent-server-conversation-service.api.js +188 -128
- package/dist/api/conversation-service/agent-server-conversation-service.api.js.map +1 -1
- package/dist/api/event-service/event-service.api.cjs +1 -1
- package/dist/api/event-service/event-service.api.js +12 -12
- package/dist/api/git-service/agent-server-git-service.api.cjs +1 -1
- package/dist/api/git-service/agent-server-git-service.api.js +8 -8
- package/dist/api/hooks-service.cjs +2 -0
- package/dist/api/hooks-service.cjs.map +1 -0
- package/dist/api/hooks-service.d.ts +13 -0
- package/dist/api/hooks-service.js +20 -0
- package/dist/api/hooks-service.js.map +1 -0
- package/dist/api/provider-connections-service/provider-connections-service.api.cjs +1 -1
- package/dist/api/provider-connections-service/provider-connections-service.api.cjs.map +1 -1
- package/dist/api/provider-connections-service/provider-connections-service.api.js +25 -16
- package/dist/api/provider-connections-service/provider-connections-service.api.js.map +1 -1
- package/dist/api/runtime-service/agent-server-runtime-service.cjs +1 -1
- package/dist/api/runtime-service/agent-server-runtime-service.js +8 -8
- package/dist/api/settings-service/settings-service.api.cjs +1 -1
- package/dist/api/settings-service/settings-service.api.cjs.map +1 -1
- package/dist/api/settings-service/settings-service.api.d.ts +5 -2
- package/dist/api/settings-service/settings-service.api.js +20 -11
- package/dist/api/settings-service/settings-service.api.js.map +1 -1
- package/dist/api/skills-service.cjs +1 -1
- package/dist/api/skills-service.cjs.map +1 -1
- package/dist/api/skills-service.d.ts +7 -0
- package/dist/api/skills-service.js +11 -8
- package/dist/api/skills-service.js.map +1 -1
- package/dist/components/conversation-events/chat/event-message-components/critic-result-display.cjs +1 -1
- package/dist/components/conversation-events/chat/event-message-components/critic-result-display.js +5 -5
- package/dist/components/conversation-events/chat/event-message-components/event-group.cjs +1 -1
- package/dist/components/conversation-events/chat/event-message-components/event-group.cjs.map +1 -1
- package/dist/components/conversation-events/chat/event-message-components/event-group.js +40 -36
- package/dist/components/conversation-events/chat/event-message-components/event-group.js.map +1 -1
- package/dist/components/conversation-events/chat/event-message-components/finish-event-message.cjs +1 -1
- package/dist/components/conversation-events/chat/event-message-components/finish-event-message.cjs.map +1 -1
- package/dist/components/conversation-events/chat/event-message-components/finish-event-message.js +2 -1
- package/dist/components/conversation-events/chat/event-message-components/finish-event-message.js.map +1 -1
- package/dist/components/conversation-events/chat/event-message-components/generic-event-message-wrapper.cjs +1 -1
- package/dist/components/conversation-events/chat/event-message-components/generic-event-message-wrapper.cjs.map +1 -1
- package/dist/components/conversation-events/chat/event-message-components/generic-event-message-wrapper.d.ts +1 -1
- package/dist/components/conversation-events/chat/event-message-components/generic-event-message-wrapper.js +28 -28
- package/dist/components/conversation-events/chat/event-message-components/generic-event-message-wrapper.js.map +1 -1
- package/dist/components/conversation-events/chat/event-message-components/thought-event-message.cjs +1 -1
- package/dist/components/conversation-events/chat/event-message-components/thought-event-message.cjs.map +1 -1
- package/dist/components/conversation-events/chat/event-message-components/thought-event-message.js +2 -1
- package/dist/components/conversation-events/chat/event-message-components/thought-event-message.js.map +1 -1
- package/dist/components/conversation-events/chat/event-message-components/user-assistant-event-message.cjs +1 -1
- package/dist/components/conversation-events/chat/event-message-components/user-assistant-event-message.cjs.map +1 -1
- package/dist/components/conversation-events/chat/event-message-components/user-assistant-event-message.d.ts +1 -1
- package/dist/components/conversation-events/chat/event-message-components/user-assistant-event-message.js +37 -37
- package/dist/components/conversation-events/chat/event-message-components/user-assistant-event-message.js.map +1 -1
- package/dist/components/conversation-events/chat/event-message.cjs +2 -2
- package/dist/components/conversation-events/chat/event-message.cjs.map +1 -1
- package/dist/components/conversation-events/chat/event-message.js +79 -70
- package/dist/components/conversation-events/chat/event-message.js.map +1 -1
- package/dist/components/conversation-events/chat/messages.cjs +1 -1
- package/dist/components/conversation-events/chat/messages.cjs.map +1 -1
- package/dist/components/conversation-events/chat/messages.js +28 -27
- package/dist/components/conversation-events/chat/messages.js.map +1 -1
- package/dist/components/features/automations/automation-card.cjs +1 -1
- package/dist/components/features/automations/automation-card.cjs.map +1 -1
- package/dist/components/features/automations/automation-card.js +118 -102
- package/dist/components/features/automations/automation-card.js.map +1 -1
- package/dist/components/features/automations/automation-list-row.cjs +1 -1
- package/dist/components/features/automations/automation-list-row.cjs.map +1 -1
- package/dist/components/features/automations/automation-list-row.js +88 -77
- package/dist/components/features/automations/automation-list-row.js.map +1 -1
- package/dist/components/features/automations/detail/detail-header.d.ts +3 -1
- package/dist/components/features/automations/detail/run-phase.cjs +2 -0
- package/dist/components/features/automations/detail/run-phase.cjs.map +1 -0
- package/dist/components/features/automations/detail/run-phase.d.ts +89 -0
- package/dist/components/features/automations/detail/run-phase.js +72 -0
- package/dist/components/features/automations/detail/run-phase.js.map +1 -0
- package/dist/components/features/automations/detail/run-status-badge.cjs +1 -1
- package/dist/components/features/automations/detail/run-status-badge.cjs.map +1 -1
- package/dist/components/features/automations/detail/run-status-badge.d.ts +2 -2
- package/dist/components/features/automations/detail/run-status-badge.js +82 -53
- package/dist/components/features/automations/detail/run-status-badge.js.map +1 -1
- package/dist/components/features/automations/kebab-menu.cjs +1 -1
- package/dist/components/features/automations/kebab-menu.cjs.map +1 -1
- package/dist/components/features/automations/kebab-menu.js +9 -5
- package/dist/components/features/automations/kebab-menu.js.map +1 -1
- package/dist/components/features/automations/recommended-automations-launcher.cjs +1 -1
- package/dist/components/features/automations/recommended-automations-launcher.cjs.map +1 -1
- package/dist/components/features/automations/recommended-automations-launcher.js +12 -12
- package/dist/components/features/automations/recommended-automations-launcher.js.map +1 -1
- package/dist/components/features/automations/recommended-automations-section.cjs +1 -1
- package/dist/components/features/automations/recommended-automations-section.js +9 -9
- package/dist/components/features/backends/backend-form-modal.cjs +1 -1
- package/dist/components/features/backends/backend-form-modal.cjs.map +1 -1
- package/dist/components/features/backends/backend-form-modal.js +5 -11
- package/dist/components/features/backends/backend-form-modal.js.map +1 -1
- package/dist/components/features/backends/backend-selector.cjs +1 -1
- package/dist/components/features/backends/backend-selector.cjs.map +1 -1
- package/dist/components/features/backends/backend-selector.js +133 -122
- package/dist/components/features/backends/backend-selector.js.map +1 -1
- package/dist/components/features/backends/manage-backends-modal.cjs +1 -1
- package/dist/components/features/backends/manage-backends-modal.cjs.map +1 -1
- package/dist/components/features/backends/manage-backends-modal.js +29 -29
- package/dist/components/features/backends/manage-backends-modal.js.map +1 -1
- package/dist/components/features/canvas-extensions/add-canvas-extension-modal.d.ts +6 -0
- package/dist/components/features/canvas-extensions/canvas-extension-card.d.ts +9 -0
- package/dist/components/features/canvas-extensions/canvas-extensions-runtime.cjs +2 -0
- package/dist/components/features/canvas-extensions/canvas-extensions-runtime.cjs.map +1 -0
- package/dist/components/features/canvas-extensions/canvas-extensions-runtime.d.ts +23 -0
- package/dist/components/features/canvas-extensions/canvas-extensions-runtime.js +19 -0
- package/dist/components/features/canvas-extensions/canvas-extensions-runtime.js.map +1 -0
- package/dist/components/features/chat/change-agent-button.cjs +1 -1
- package/dist/components/features/chat/change-agent-button.js +4 -4
- 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 +107 -104
- package/dist/components/features/chat/chat-interface.js.map +1 -1
- package/dist/components/features/chat/chat-markdown-path-code.cjs +3 -0
- package/dist/components/features/chat/chat-markdown-path-code.cjs.map +1 -0
- package/dist/components/features/chat/chat-markdown-path-code.d.ts +27 -0
- package/dist/components/features/chat/chat-markdown-path-code.js +72 -0
- package/dist/components/features/chat/chat-markdown-path-code.js.map +1 -0
- package/dist/components/features/chat/chat-message.cjs +1 -1
- package/dist/components/features/chat/chat-message.cjs.map +1 -1
- package/dist/components/features/chat/chat-message.d.ts +2 -1
- package/dist/components/features/chat/chat-message.js +88 -79
- package/dist/components/features/chat/chat-message.js.map +1 -1
- package/dist/components/features/chat/components/context-window-meter.cjs +1 -1
- package/dist/components/features/chat/components/context-window-meter.js +4 -4
- package/dist/components/features/chat/confirmation-mode-enabled.cjs +1 -1
- package/dist/components/features/chat/confirmation-mode-enabled.js +4 -4
- package/dist/components/features/chat/generic-event-message.cjs +1 -1
- package/dist/components/features/chat/generic-event-message.cjs.map +1 -1
- package/dist/components/features/chat/generic-event-message.d.ts +2 -1
- package/dist/components/features/chat/generic-event-message.js +41 -22
- package/dist/components/features/chat/generic-event-message.js.map +1 -1
- package/dist/components/features/chat/interactive-chat-box.cjs +1 -1
- package/dist/components/features/chat/interactive-chat-box.cjs.map +1 -1
- package/dist/components/features/chat/interactive-chat-box.js +20 -19
- package/dist/components/features/chat/interactive-chat-box.js.map +1 -1
- package/dist/components/features/chat/path-component.cjs +1 -1
- package/dist/components/features/chat/path-component.cjs.map +1 -1
- package/dist/components/features/chat/path-component.d.ts +8 -2
- package/dist/components/features/chat/path-component.js +33 -21
- package/dist/components/features/chat/path-component.js.map +1 -1
- package/dist/components/features/chat/tool-visualizers/file-editor/file-editor.cjs +1 -1
- package/dist/components/features/chat/tool-visualizers/file-editor/file-editor.cjs.map +1 -1
- package/dist/components/features/chat/tool-visualizers/file-editor/file-editor.js +38 -43
- package/dist/components/features/chat/tool-visualizers/file-editor/file-editor.js.map +1 -1
- package/dist/components/features/chat/tool-visualizers/primitives/file-path-chip.cjs +1 -1
- package/dist/components/features/chat/tool-visualizers/primitives/file-path-chip.cjs.map +1 -1
- package/dist/components/features/chat/tool-visualizers/primitives/file-path-chip.d.ts +8 -5
- package/dist/components/features/chat/tool-visualizers/primitives/file-path-chip.js +22 -16
- package/dist/components/features/chat/tool-visualizers/primitives/file-path-chip.js.map +1 -1
- package/dist/components/features/chat/user-message-body.cjs +1 -1
- package/dist/components/features/chat/user-message-body.cjs.map +1 -1
- package/dist/components/features/chat/user-message-body.d.ts +4 -0
- package/dist/components/features/chat/user-message-body.js +30 -24
- package/dist/components/features/chat/user-message-body.js.map +1 -1
- package/dist/components/features/conversation/conversation-overview-git-section.cjs +1 -1
- package/dist/components/features/conversation/conversation-overview-git-section.js +4 -4
- package/dist/components/features/conversation/conversation-overview-skills-panel.cjs +1 -1
- package/dist/components/features/conversation/conversation-overview-skills-panel.cjs.map +1 -1
- package/dist/components/features/conversation/conversation-overview-skills-panel.js +63 -81
- package/dist/components/features/conversation/conversation-overview-skills-panel.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 +77 -78
- 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 +96 -96
- package/dist/components/features/conversation/conversation-tabs/conversation-tabs.js.map +1 -1
- package/dist/components/features/conversation/conversation-tabs/drawer-vscode-link.cjs +1 -1
- package/dist/components/features/conversation/conversation-tabs/drawer-vscode-link.cjs.map +1 -1
- package/dist/components/features/conversation/conversation-tabs/drawer-vscode-link.d.ts +1 -1
- package/dist/components/features/conversation/conversation-tabs/drawer-vscode-link.js +3 -3
- package/dist/components/features/conversation/conversation-tabs/drawer-vscode-link.js.map +1 -1
- package/dist/components/features/conversation-panel/advanced-conversation-options-modal.cjs +2 -0
- package/dist/components/features/conversation-panel/advanced-conversation-options-modal.cjs.map +1 -0
- package/dist/components/features/conversation-panel/advanced-conversation-options-modal.d.ts +21 -0
- package/dist/components/features/conversation-panel/advanced-conversation-options-modal.js +239 -0
- package/dist/components/features/conversation-panel/advanced-conversation-options-modal.js.map +1 -0
- package/dist/components/features/conversation-panel/conversation-active-tag-filters.cjs +2 -0
- package/dist/components/features/conversation-panel/conversation-active-tag-filters.cjs.map +1 -0
- package/dist/components/features/conversation-panel/conversation-active-tag-filters.d.ts +28 -0
- package/dist/components/features/conversation-panel/conversation-active-tag-filters.js +69 -0
- package/dist/components/features/conversation-panel/conversation-active-tag-filters.js.map +1 -0
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-actions.cjs +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-actions.cjs.map +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-actions.d.ts +2 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-actions.js +19 -18
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-actions.js.map +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-context-menu.cjs +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-context-menu.cjs.map +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-context-menu.d.ts +2 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-context-menu.js +91 -80
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-context-menu.js.map +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-preview.cjs +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-preview.cjs.map +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-preview.js +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-preview.js.map +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card.cjs +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card.cjs.map +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card.d.ts +7 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card.js +87 -81
- package/dist/components/features/conversation-panel/conversation-card/conversation-card.js.map +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-tag-chips.cjs +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-tag-chips.cjs.map +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-tag-chips.d.ts +2 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-tag-chips.js +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-tag-chips.js.map +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-tag-display.cjs +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-tag-display.cjs.map +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-tag-display.d.ts +2 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-tag-display.js +2 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-tag-display.js.map +1 -1
- package/dist/components/features/conversation-panel/conversation-layouts-menu.cjs +2 -0
- package/dist/components/features/conversation-panel/conversation-layouts-menu.cjs.map +1 -0
- package/dist/components/features/conversation-panel/conversation-layouts-menu.d.ts +29 -0
- package/dist/components/features/conversation-panel/conversation-layouts-menu.js +177 -0
- package/dist/components/features/conversation-panel/conversation-layouts-menu.js.map +1 -0
- 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 +37 -0
- package/dist/components/features/conversation-panel/conversation-panel-list-helpers.js +85 -45
- 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 +296 -290
- package/dist/components/features/conversation-panel/conversation-panel.js.map +1 -1
- package/dist/components/features/conversation-panel/edit-conversation-tags-modal.cjs +2 -0
- package/dist/components/features/conversation-panel/edit-conversation-tags-modal.cjs.map +1 -0
- package/dist/components/features/conversation-panel/edit-conversation-tags-modal.d.ts +22 -0
- package/dist/components/features/conversation-panel/edit-conversation-tags-modal.js +153 -0
- package/dist/components/features/conversation-panel/edit-conversation-tags-modal.js.map +1 -0
- package/dist/components/features/conversation-panel/hide-older-conversations-row.cjs +2 -0
- package/dist/components/features/conversation-panel/hide-older-conversations-row.cjs.map +1 -0
- package/dist/components/features/conversation-panel/hide-older-conversations-row.d.ts +6 -0
- package/dist/components/features/conversation-panel/hide-older-conversations-row.js +65 -0
- package/dist/components/features/conversation-panel/hide-older-conversations-row.js.map +1 -0
- package/dist/components/features/conversation-panel/menu-row.cjs +1 -1
- package/dist/components/features/conversation-panel/menu-row.cjs.map +1 -1
- package/dist/components/features/conversation-panel/menu-row.d.ts +11 -1
- package/dist/components/features/conversation-panel/menu-row.js +27 -16
- package/dist/components/features/conversation-panel/menu-row.js.map +1 -1
- package/dist/components/features/conversation-panel/skills-modal.cjs +1 -1
- package/dist/components/features/conversation-panel/skills-modal.cjs.map +1 -1
- package/dist/components/features/conversation-panel/skills-modal.js +29 -28
- package/dist/components/features/conversation-panel/skills-modal.js.map +1 -1
- package/dist/components/features/files-tab/file-content-viewer.cjs +1 -1
- package/dist/components/features/files-tab/file-content-viewer.js +5 -5
- package/dist/components/features/home/featured-automations/automation-health-indicator.cjs +1 -1
- package/dist/components/features/home/featured-automations/automation-health-indicator.cjs.map +1 -1
- package/dist/components/features/home/featured-automations/automation-health-indicator.js +1 -1
- package/dist/components/features/home/featured-automations/automation-health-indicator.js.map +1 -1
- package/dist/components/features/home/featured-automations/automation-run-activity-metrics.cjs +1 -1
- package/dist/components/features/home/featured-automations/automation-run-activity-metrics.cjs.map +1 -1
- package/dist/components/features/home/featured-automations/automation-run-activity-metrics.d.ts +4 -3
- package/dist/components/features/home/featured-automations/automation-run-activity-metrics.js +22 -25
- package/dist/components/features/home/featured-automations/automation-run-activity-metrics.js.map +1 -1
- package/dist/components/features/home/featured-automations/automation-run-activity-sparkline.cjs +1 -1
- package/dist/components/features/home/featured-automations/automation-run-activity-sparkline.cjs.map +1 -1
- package/dist/components/features/home/featured-automations/automation-run-activity-sparkline.d.ts +1 -1
- package/dist/components/features/home/featured-automations/automation-run-activity-sparkline.js +15 -15
- package/dist/components/features/home/featured-automations/automation-run-activity-sparkline.js.map +1 -1
- package/dist/components/features/home/featured-automations/automation-run-health.cjs +1 -1
- package/dist/components/features/home/featured-automations/automation-run-health.cjs.map +1 -1
- package/dist/components/features/home/featured-automations/automation-run-health.d.ts +5 -3
- package/dist/components/features/home/featured-automations/automation-run-health.js +30 -23
- package/dist/components/features/home/featured-automations/automation-run-health.js.map +1 -1
- package/dist/components/features/home/featured-automations/home-automation-activity.d.ts +3 -2
- package/dist/components/features/home/featured-automations/home-automation-run-tooltip.cjs +1 -1
- package/dist/components/features/home/featured-automations/home-automation-run-tooltip.cjs.map +1 -1
- package/dist/components/features/home/featured-automations/home-automation-run-tooltip.d.ts +1 -1
- package/dist/components/features/home/featured-automations/home-automation-run-tooltip.js +59 -37
- package/dist/components/features/home/featured-automations/home-automation-run-tooltip.js.map +1 -1
- package/dist/components/features/manifest/manifest-form-field.d.ts +3 -1
- package/dist/components/features/manifest/manifest-review-step.d.ts +3 -1
- package/dist/components/features/onboarding/onboarding-host.d.ts +3 -4
- package/dist/components/features/onboarding/steps/setup-llm-step.d.ts +5 -9
- package/dist/components/features/settings/acp-auth-status-banner.d.ts +23 -6
- package/dist/components/features/settings/cloud-settings-link.cjs +1 -1
- package/dist/components/features/settings/cloud-settings-link.cjs.map +1 -1
- package/dist/components/features/settings/cloud-settings-link.js +5 -3
- package/dist/components/features/settings/cloud-settings-link.js.map +1 -1
- package/dist/components/features/settings/integrations-settings-link.cjs +1 -1
- package/dist/components/features/settings/integrations-settings-link.cjs.map +1 -1
- package/dist/components/features/settings/integrations-settings-link.d.ts +3 -1
- package/dist/components/features/settings/integrations-settings-link.js +20 -17
- package/dist/components/features/settings/integrations-settings-link.js.map +1 -1
- package/dist/components/features/settings/llm-profiles/llm-settings-local-view.cjs +1 -1
- package/dist/components/features/settings/llm-profiles/llm-settings-local-view.js +2 -1
- package/dist/components/features/settings/llm-profiles/profiles-body.d.ts +2 -2
- package/dist/components/features/settings/llm-profiles/provider-connection-modal.cjs +1 -1
- package/dist/components/features/settings/llm-profiles/provider-connection-modal.js +3 -0
- package/dist/components/features/settings/sdk-settings/field-help.cjs +1 -1
- package/dist/components/features/settings/sdk-settings/field-help.cjs.map +1 -1
- package/dist/components/features/settings/sdk-settings/field-help.d.ts +1 -1
- package/dist/components/features/settings/sdk-settings/field-help.js +1 -1
- package/dist/components/features/settings/sdk-settings/field-help.js.map +1 -1
- package/dist/components/features/settings/sdk-settings/sdk-section-page.cjs +1 -1
- package/dist/components/features/settings/sdk-settings/sdk-section-page.cjs.map +1 -1
- package/dist/components/features/settings/sdk-settings/sdk-section-page.d.ts +8 -7
- package/dist/components/features/settings/sdk-settings/sdk-section-page.js +172 -142
- 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.cjs.map +1 -1
- package/dist/components/features/settings/secrets-settings/secret-form.js +38 -25
- package/dist/components/features/settings/secrets-settings/secret-form.js.map +1 -1
- package/dist/components/features/settings/settings-dropdown-input.cjs +1 -1
- package/dist/components/features/settings/settings-dropdown-input.js +6 -6
- package/dist/components/features/sidebar/sidebar-nav-link.cjs +1 -1
- package/dist/components/features/sidebar/sidebar-nav-link.cjs.map +1 -1
- package/dist/components/features/sidebar/sidebar-nav-link.d.ts +10 -1
- package/dist/components/features/sidebar/sidebar-nav-link.js +54 -36
- package/dist/components/features/sidebar/sidebar-nav-link.js.map +1 -1
- 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.d.ts +3 -1
- package/dist/components/features/sidebar/sidebar-rail-body.js +98 -58
- package/dist/components/features/sidebar/sidebar-rail-body.js.map +1 -1
- package/dist/components/features/sidebar/sidebar.cjs +1 -1
- package/dist/components/features/sidebar/sidebar.cjs.map +1 -1
- package/dist/components/features/sidebar/sidebar.js +44 -43
- package/dist/components/features/sidebar/sidebar.js.map +1 -1
- package/dist/components/features/sidebar/use-sidebar-onboarding-checklist.cjs +1 -1
- package/dist/components/features/sidebar/use-sidebar-onboarding-checklist.js +3 -3
- package/dist/components/features/skills/build-skill-pills.cjs +1 -1
- package/dist/components/features/skills/build-skill-pills.cjs.map +1 -1
- package/dist/components/features/skills/build-skill-pills.js +60 -52
- package/dist/components/features/skills/build-skill-pills.js.map +1 -1
- package/dist/components/features/skills/extensions-navigation.cjs +1 -1
- package/dist/components/features/skills/extensions-navigation.cjs.map +1 -1
- package/dist/components/features/skills/extensions-navigation.js +54 -43
- package/dist/components/features/skills/extensions-navigation.js.map +1 -1
- package/dist/components/features/skills/skill-filter.cjs +1 -1
- package/dist/components/features/skills/skill-filter.cjs.map +1 -1
- package/dist/components/features/skills/skill-filter.d.ts +8 -3
- package/dist/components/features/skills/skill-filter.js +69 -52
- package/dist/components/features/skills/skill-filter.js.map +1 -1
- package/dist/components/shared/buttons/styled-tooltip.cjs +1 -1
- package/dist/components/shared/buttons/styled-tooltip.cjs.map +1 -1
- package/dist/components/shared/buttons/styled-tooltip.d.ts +2 -1
- package/dist/components/shared/buttons/styled-tooltip.js +2 -1
- package/dist/components/shared/buttons/styled-tooltip.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 +5 -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/confirmation-modal.cjs +1 -1
- package/dist/components/shared/modals/confirmation-modal.cjs.map +1 -1
- package/dist/components/shared/modals/confirmation-modal.d.ts +2 -1
- package/dist/components/shared/modals/confirmation-modal.js +8 -8
- package/dist/components/shared/modals/confirmation-modal.js.map +1 -1
- package/dist/components/shared/modals/settings/model-selector.cjs +1 -1
- package/dist/components/shared/modals/settings/model-selector.js +27 -27
- package/dist/components/shared/modals/settings/settings-form.cjs +1 -1
- package/dist/components/shared/modals/settings/settings-form.js +8 -8
- package/dist/config/defaults.cjs +1 -1
- package/dist/config/defaults.cjs.map +1 -1
- package/dist/config/defaults.js +9 -5
- package/dist/config/defaults.js.map +1 -1
- package/dist/constants/settings-nav.d.ts +8 -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.d.ts +5 -0
- package/dist/contexts/conversation-websocket-context.js +194 -198
- package/dist/contexts/conversation-websocket-context.js.map +1 -1
- package/dist/contexts/websocket-provider-wrapper.cjs +1 -1
- package/dist/contexts/websocket-provider-wrapper.cjs.map +1 -1
- package/dist/contexts/websocket-provider-wrapper.js +31 -15
- package/dist/contexts/websocket-provider-wrapper.js.map +1 -1
- package/dist/extensions/canvas-extension-module-loader.d.ts +11 -0
- package/dist/hooks/chat/record-model-switch-message.cjs +1 -1
- package/dist/hooks/chat/record-model-switch-message.cjs.map +1 -1
- package/dist/hooks/chat/record-model-switch-message.d.ts +31 -0
- package/dist/hooks/chat/record-model-switch-message.js +25 -12
- package/dist/hooks/chat/record-model-switch-message.js.map +1 -1
- package/dist/hooks/chat/use-plan-mode-interceptor.cjs +2 -0
- package/dist/hooks/chat/use-plan-mode-interceptor.cjs.map +1 -0
- package/dist/hooks/chat/use-plan-mode-interceptor.d.ts +16 -0
- package/dist/hooks/chat/use-plan-mode-interceptor.js +43 -0
- package/dist/hooks/chat/use-plan-mode-interceptor.js.map +1 -0
- 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 +5 -1
- package/dist/hooks/mutation/use-create-conversation.js.map +1 -1
- package/dist/hooks/mutation/use-manage-canvas-extensions.d.ts +12 -0
- package/dist/hooks/mutation/use-read-conversation-file.cjs +1 -1
- package/dist/hooks/mutation/use-read-conversation-file.cjs.map +1 -1
- package/dist/hooks/mutation/use-read-conversation-file.js +11 -4
- package/dist/hooks/mutation/use-read-conversation-file.js.map +1 -1
- package/dist/hooks/mutation/use-save-settings.cjs +1 -1
- package/dist/hooks/mutation/use-save-settings.js +3 -3
- package/dist/hooks/mutation/use-switch-llm-profile.cjs +1 -1
- package/dist/hooks/mutation/use-switch-llm-profile.cjs.map +1 -1
- package/dist/hooks/mutation/use-switch-llm-profile.js +13 -25
- package/dist/hooks/mutation/use-switch-llm-profile.js.map +1 -1
- package/dist/hooks/mutation/use-update-conversation-tags.cjs +2 -0
- package/dist/hooks/mutation/use-update-conversation-tags.cjs.map +1 -0
- package/dist/hooks/mutation/use-update-conversation-tags.d.ts +8 -0
- package/dist/hooks/mutation/use-update-conversation-tags.js +45 -0
- package/dist/hooks/mutation/use-update-conversation-tags.js.map +1 -0
- package/dist/hooks/query/concurrency-limiter.cjs +2 -0
- package/dist/hooks/query/concurrency-limiter.cjs.map +1 -0
- package/dist/hooks/query/concurrency-limiter.d.ts +22 -0
- package/dist/hooks/query/concurrency-limiter.js +29 -0
- package/dist/hooks/query/concurrency-limiter.js.map +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 +10 -0
- package/dist/hooks/query/query-keys.js +2 -2
- package/dist/hooks/query/query-keys.js.map +1 -1
- package/dist/hooks/query/use-active-conversation.cjs +1 -1
- package/dist/hooks/query/use-active-conversation.js +4 -4
- package/dist/hooks/query/use-automation-sdk-version.cjs +1 -1
- package/dist/hooks/query/use-automation-sdk-version.cjs.map +1 -1
- package/dist/hooks/query/use-automation-sdk-version.d.ts +0 -1
- package/dist/hooks/query/use-automation-sdk-version.js +30 -55
- package/dist/hooks/query/use-automation-sdk-version.js.map +1 -1
- package/dist/hooks/query/use-automations.cjs.map +1 -1
- package/dist/hooks/query/use-automations.js.map +1 -1
- 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.d.ts +1 -1
- package/dist/hooks/query/use-backends-health.js +50 -64
- package/dist/hooks/query/use-backends-health.js.map +1 -1
- package/dist/hooks/query/use-canvas-extensions.cjs +1 -0
- package/dist/hooks/query/use-canvas-extensions.d.ts +5 -0
- package/dist/hooks/query/use-canvas-extensions.js +3 -0
- 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-skills.cjs +1 -1
- package/dist/hooks/query/use-conversation-skills.cjs.map +1 -1
- package/dist/hooks/query/use-conversation-skills.d.ts +14 -5
- package/dist/hooks/query/use-conversation-skills.js +20 -4
- package/dist/hooks/query/use-conversation-skills.js.map +1 -1
- package/dist/hooks/query/use-latest-automation-runs.cjs +1 -1
- package/dist/hooks/query/use-latest-automation-runs.js +1 -0
- 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 +19 -16
- package/dist/hooks/query/use-paginated-conversations.js.map +1 -1
- package/dist/hooks/query/use-provider-connections.cjs +1 -1
- package/dist/hooks/query/use-provider-connections.cjs.map +1 -1
- package/dist/hooks/query/use-provider-connections.d.ts +6 -3
- package/dist/hooks/query/use-provider-connections.js +7 -3
- package/dist/hooks/query/use-provider-connections.js.map +1 -1
- package/dist/hooks/query/use-search-providers.cjs +1 -1
- package/dist/hooks/query/use-search-providers.cjs.map +1 -1
- package/dist/hooks/query/use-search-providers.js +17 -10
- package/dist/hooks/query/use-search-providers.js.map +1 -1
- package/dist/hooks/query/use-sub-conversations.cjs +1 -1
- package/dist/hooks/query/use-sub-conversations.cjs.map +1 -1
- package/dist/hooks/query/use-sub-conversations.js +16 -16
- package/dist/hooks/query/use-sub-conversations.js.map +1 -1
- 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-unified-vscode-url.cjs +1 -1
- package/dist/hooks/query/use-unified-vscode-url.cjs.map +1 -1
- package/dist/hooks/query/use-unified-vscode-url.d.ts +1 -0
- package/dist/hooks/query/use-unified-vscode-url.js +40 -26
- package/dist/hooks/query/use-unified-vscode-url.js.map +1 -1
- package/dist/hooks/query/use-workspace-file-content.cjs +1 -1
- package/dist/hooks/query/use-workspace-file-content.js +5 -5
- package/dist/hooks/query/use-workspace-files.cjs +1 -1
- package/dist/hooks/query/use-workspace-files.js +6 -6
- package/dist/hooks/use-acp-credential-form.d.ts +6 -0
- package/dist/hooks/use-acp-model-context.cjs +1 -1
- package/dist/hooks/use-acp-model-context.js +3 -3
- package/dist/hooks/use-agent-state.cjs +1 -1
- package/dist/hooks/use-agent-state.cjs.map +1 -1
- package/dist/hooks/use-agent-state.d.ts +17 -1
- package/dist/hooks/use-agent-state.js +19 -9
- package/dist/hooks/use-agent-state.js.map +1 -1
- package/dist/hooks/use-automation-permissions.cjs +2 -0
- package/dist/hooks/use-automation-permissions.cjs.map +1 -0
- package/dist/hooks/use-automation-permissions.d.ts +43 -0
- package/dist/hooks/use-automation-permissions.js +52 -0
- package/dist/hooks/use-automation-permissions.js.map +1 -0
- package/dist/hooks/use-chat-input-model-state.cjs +1 -1
- package/dist/hooks/use-chat-input-model-state.js +3 -3
- package/dist/hooks/use-conversation-overview-git-diff-stats.cjs +1 -1
- package/dist/hooks/use-conversation-overview-git-diff-stats.js +4 -4
- package/dist/hooks/use-handle-plan-click.cjs +1 -1
- package/dist/hooks/use-handle-plan-click.cjs.map +1 -1
- package/dist/hooks/use-handle-plan-click.d.ts +3 -1
- package/dist/hooks/use-handle-plan-click.js +85 -26
- package/dist/hooks/use-handle-plan-click.js.map +1 -1
- package/dist/hooks/use-home-automation-actions.cjs +1 -1
- package/dist/hooks/use-home-automation-actions.cjs.map +1 -1
- package/dist/hooks/use-home-automation-actions.js +1 -0
- package/dist/hooks/use-home-automation-actions.js.map +1 -1
- package/dist/hooks/use-llm-configured.cjs +1 -1
- package/dist/hooks/use-llm-configured.js +3 -3
- package/dist/hooks/use-manifest-preflight.d.ts +1 -1
- package/dist/hooks/use-pinned-home-route.cjs +2 -0
- package/dist/hooks/use-pinned-home-route.cjs.map +1 -0
- package/dist/hooks/use-pinned-home-route.d.ts +33 -0
- package/dist/hooks/use-pinned-home-route.js +34 -0
- package/dist/hooks/use-pinned-home-route.js.map +1 -0
- package/dist/hooks/use-skill-enablement.cjs +2 -0
- package/dist/hooks/use-skill-enablement.cjs.map +1 -0
- package/dist/hooks/use-skill-enablement.d.ts +14 -0
- package/dist/hooks/use-skill-enablement.js +80 -0
- package/dist/hooks/use-skill-enablement.js.map +1 -0
- package/dist/hooks/use-unified-websocket-status.cjs +1 -1
- package/dist/hooks/use-unified-websocket-status.cjs.map +1 -1
- package/dist/hooks/use-unified-websocket-status.d.ts +7 -0
- package/dist/hooks/use-unified-websocket-status.js +5 -1
- package/dist/hooks/use-unified-websocket-status.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 +83 -14
- 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 +1575 -402
- package/dist/i18n/translation.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +15 -14
- package/dist/lib/index.cjs +1 -1
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.js +1 -0
- package/dist/locales/ar/openhands.json +94 -25
- package/dist/locales/ca/openhands.json +94 -25
- package/dist/locales/de/openhands.json +94 -25
- package/dist/locales/en/openhands.json +94 -25
- package/dist/locales/es/openhands.json +94 -25
- package/dist/locales/fr/openhands.json +94 -25
- package/dist/locales/it/openhands.json +94 -25
- package/dist/locales/ja/openhands.json +94 -25
- package/dist/locales/ko-KR/openhands.json +94 -25
- package/dist/locales/no/openhands.json +94 -25
- package/dist/locales/pt/openhands.json +94 -25
- package/dist/locales/tr/openhands.json +94 -25
- package/dist/locales/uk/openhands.json +94 -25
- package/dist/locales/zh-CN/openhands.json +94 -25
- package/dist/locales/zh-TW/openhands.json +94 -25
- package/dist/manifests/automation-insights.cjs.map +1 -1
- package/dist/manifests/automation-insights.d.ts +10 -2
- package/dist/manifests/automation-insights.js.map +1 -1
- package/dist/manifests/automation-interface.cjs +1 -1
- package/dist/manifests/automation-interface.cjs.map +1 -1
- package/dist/manifests/automation-interface.d.ts +6 -0
- package/dist/manifests/automation-interface.js +11 -8
- 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 +9 -16
- package/dist/manifests/automation-setup.js +17 -7
- package/dist/manifests/automation-setup.js.map +1 -1
- package/dist/manifests/manifest-actions.d.ts +1 -1
- package/dist/manifests/manifest-capabilities.d.ts +3 -1
- package/dist/manifests/manifest-local-validation.cjs +2 -0
- package/dist/manifests/manifest-local-validation.cjs.map +1 -0
- package/dist/manifests/manifest-local-validation.d.ts +15 -11
- package/dist/manifests/manifest-local-validation.js +8 -0
- package/dist/manifests/manifest-local-validation.js.map +1 -0
- package/dist/manifests/manifest-template.cjs +2 -0
- package/dist/manifests/manifest-template.cjs.map +1 -0
- package/dist/manifests/manifest-template.d.ts +4 -4
- package/dist/manifests/manifest-template.js +12 -0
- package/dist/manifests/manifest-template.js.map +1 -0
- package/dist/manifests/manifest-validation.cjs +1 -1
- package/dist/manifests/manifest-validation.cjs.map +1 -1
- package/dist/manifests/manifest-validation.js +106 -28
- package/dist/manifests/manifest-validation.js.map +1 -1
- package/dist/manifests/types.cjs.map +1 -1
- package/dist/manifests/types.d.ts +39 -4
- package/dist/manifests/types.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/bundle-index.cjs +45 -4
- package/dist/node_modules/@openhands/extensions/automations/bundle-index.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/bundle-index.js +1 -1
- package/dist/node_modules/@openhands/extensions/automations/bundle-index.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/custom-automation/manifest.cjs +8 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/custom-automation/manifest.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/custom-automation/manifest.js +221 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/custom-automation/manifest.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-agents-md-maintainer/manifest.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-agents-md-maintainer/manifest.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-agents-md-maintainer/manifest.js +5 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-agents-md-maintainer/manifest.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-issue-to-pr/manifest.cjs +2 -2
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-issue-to-pr/manifest.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-issue-to-pr/manifest.js +6 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-issue-to-pr/manifest.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.cjs +2 -2
- 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 +6 -1
- 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 +1 -1
- 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 +5 -0
- 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-bitbucket-pr/manifest.cjs +9 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-bitbucket-pr/manifest.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-bitbucket-pr/manifest.js +21 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-bitbucket-pr/manifest.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-gitlab-mr/manifest.cjs +9 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-gitlab-mr/manifest.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-gitlab-mr/manifest.js +21 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-gitlab-mr/manifest.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-bitbucket-pr/manifest.cjs +9 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-bitbucket-pr/manifest.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-bitbucket-pr/manifest.js +21 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-bitbucket-pr/manifest.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-github-pr/manifest.cjs +9 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-github-pr/manifest.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-github-pr/manifest.js +21 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-github-pr/manifest.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-gitlab-mr/manifest.cjs +9 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-gitlab-mr/manifest.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-gitlab-mr/manifest.js +21 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-gitlab-mr/manifest.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/news-digest/manifest.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/news-digest/manifest.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/news-digest/manifest.js +5 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/news-digest/manifest.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/automations/catalog/qa-changes/manifest.cjs +30 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/qa-changes/manifest.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/qa-changes/manifest.js +65 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/qa-changes/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 +28 -14
- package/dist/node_modules/@openhands/extensions/automations/catalog-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 +2 -1
- package/dist/node_modules/@openhands/extensions/automations/interface.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.js +2 -2
- package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/gitlab.cjs +2 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/gitlab.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/gitlab.js +59 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/gitlab.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.js +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog-index.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog-index.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog-index.js +74 -72
- package/dist/node_modules/@openhands/extensions/integrations/catalog-index.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/skills/index.cjs +42 -3
- package/dist/node_modules/@openhands/extensions/skills/index.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/skills/index.js +22 -3
- package/dist/node_modules/@openhands/extensions/skills/index.js.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-conversation.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-conversation.js +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-state.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-state.cjs.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-state.js +8 -7
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-state.js.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/index.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/index.js +2 -2
- package/dist/node_modules/@tanstack/react-query/build/modern/QueryClientProvider.cjs +1 -1
- package/dist/node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js +1 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/blocks.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/blocks.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/blocks.js +16 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/blocks.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/circle-question-mark.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/circle-question-mark.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/circle-question-mark.js +21 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/circle-question-mark.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/panels-top-left.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/panels-top-left.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/panels-top-left.js +23 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/panels-top-left.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/shrink.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/shrink.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/shrink.js +23 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/shrink.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/sliders-horizontal.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/sliders-horizontal.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/sliders-horizontal.js +43 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/sliders-horizontal.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/tags.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/tags.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/tags.js +22 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/tags.js.map +1 -0
- package/dist/package.cjs +1 -1
- package/dist/package.cjs.map +1 -1
- package/dist/package.js +5 -5
- package/dist/package.js.map +1 -1
- package/dist/routes/agent-settings.d.ts +12 -0
- package/dist/routes/app-settings.cjs +1 -1
- package/dist/routes/app-settings.cjs.map +1 -1
- package/dist/routes/app-settings.js +11 -11
- package/dist/routes/files-tab.cjs +1 -1
- package/dist/routes/files-tab.cjs.map +1 -1
- package/dist/routes/files-tab.js +14 -14
- 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 +3 -1
- package/dist/routes/llm-settings.js +100 -91
- package/dist/routes/llm-settings.js.map +1 -1
- package/dist/routes/planner-tab.cjs +1 -1
- package/dist/routes/planner-tab.cjs.map +1 -1
- package/dist/routes/planner-tab.js +44 -28
- package/dist/routes/planner-tab.js.map +1 -1
- package/dist/services/canvas-ui.cjs +1 -1
- package/dist/services/canvas-ui.cjs.map +1 -1
- package/dist/services/canvas-ui.d.ts +5 -0
- package/dist/services/canvas-ui.js +24 -10
- package/dist/services/canvas-ui.js.map +1 -1
- package/dist/services/settings.cjs +1 -1
- package/dist/services/settings.cjs.map +1 -1
- package/dist/services/settings.js +3 -2
- package/dist/services/settings.js.map +1 -1
- package/dist/services/telemetry.cjs +1 -1
- package/dist/services/telemetry.cjs.map +1 -1
- package/dist/services/telemetry.d.ts +5 -0
- package/dist/services/telemetry.js +122 -115
- package/dist/services/telemetry.js.map +1 -1
- package/dist/stores/conversation-panel-preferences-store.cjs +1 -1
- package/dist/stores/conversation-panel-preferences-store.cjs.map +1 -1
- package/dist/stores/conversation-panel-preferences-store.d.ts +32 -5
- package/dist/stores/conversation-panel-preferences-store.js +29 -12
- package/dist/stores/conversation-panel-preferences-store.js.map +1 -1
- package/dist/stores/conversation-state-store.cjs +1 -1
- package/dist/stores/conversation-state-store.cjs.map +1 -1
- package/dist/stores/conversation-state-store.d.ts +9 -3
- package/dist/stores/conversation-state-store.js +6 -3
- package/dist/stores/conversation-state-store.js.map +1 -1
- package/dist/stores/conversation-store.cjs +1 -1
- package/dist/stores/conversation-store.cjs.map +1 -1
- package/dist/stores/conversation-store.d.ts +2 -0
- package/dist/stores/conversation-store.js +3 -0
- package/dist/stores/conversation-store.js.map +1 -1
- package/dist/stores/model-store.cjs +1 -1
- package/dist/stores/model-store.cjs.map +1 -1
- package/dist/stores/model-store.d.ts +7 -0
- package/dist/stores/model-store.js +4 -0
- package/dist/stores/model-store.js.map +1 -1
- package/dist/types/automation.cjs.map +1 -1
- package/dist/types/automation.d.ts +66 -1
- package/dist/types/automation.js.map +1 -1
- package/dist/types/canvas-extension.cjs +2 -0
- package/dist/types/canvas-extension.cjs.map +1 -0
- package/dist/types/canvas-extension.d.ts +77 -0
- package/dist/types/canvas-extension.js +6 -0
- package/dist/types/canvas-extension.js.map +1 -0
- package/dist/types/settings.d.ts +7 -0
- package/dist/ui/context-menu.d.ts +1 -1
- package/dist/ui/help-link.cjs +1 -1
- package/dist/ui/help-link.cjs.map +1 -1
- package/dist/ui/help-link.d.ts +6 -1
- package/dist/ui/help-link.js +32 -18
- package/dist/ui/help-link.js.map +1 -1
- package/dist/ui/toggle-switch.cjs +1 -1
- package/dist/ui/toggle-switch.cjs.map +1 -1
- package/dist/ui/toggle-switch.d.ts +4 -1
- package/dist/ui/toggle-switch.js +4 -3
- package/dist/ui/toggle-switch.js.map +1 -1
- package/dist/utils/acp-auth-display.d.ts +35 -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 -1
- package/dist/utils/automation-catalog.js +42 -12
- package/dist/utils/automation-catalog.js.map +1 -1
- package/dist/utils/automation-run-display.cjs +2 -0
- package/dist/utils/automation-run-display.cjs.map +1 -0
- package/dist/utils/automation-run-display.d.ts +20 -0
- package/dist/utils/automation-run-display.js +85 -0
- package/dist/utils/automation-run-display.js.map +1 -0
- package/dist/utils/automation-schedule.cjs +1 -1
- package/dist/utils/automation-schedule.cjs.map +1 -1
- package/dist/utils/automation-schedule.d.ts +16 -0
- package/dist/utils/automation-schedule.js +2 -0
- package/dist/utils/automation-schedule.js.map +1 -1
- package/dist/utils/cache-utils.cjs +1 -1
- package/dist/utils/cache-utils.js +5 -5
- package/dist/utils/constants.cjs +1 -1
- package/dist/utils/constants.cjs.map +1 -1
- package/dist/utils/constants.d.ts +4 -0
- package/dist/utils/constants.js +23 -3
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/format-event-timestamp.cjs +2 -0
- package/dist/utils/format-event-timestamp.cjs.map +1 -0
- package/dist/utils/format-event-timestamp.d.ts +1 -0
- package/dist/utils/format-event-timestamp.js +13 -0
- package/dist/utils/format-event-timestamp.js.map +1 -0
- package/dist/utils/format-model-name.cjs +1 -1
- package/dist/utils/format-model-name.cjs.map +1 -1
- package/dist/utils/format-model-name.d.ts +7 -3
- package/dist/utils/format-model-name.js +6 -11
- package/dist/utils/format-model-name.js.map +1 -1
- package/dist/utils/format-relative-time.cjs +1 -1
- package/dist/utils/format-relative-time.cjs.map +1 -1
- package/dist/utils/format-relative-time.d.ts +7 -0
- package/dist/utils/format-relative-time.js +7 -2
- package/dist/utils/format-relative-time.js.map +1 -1
- package/dist/utils/git-diff-stats.cjs +2 -2
- package/dist/utils/git-diff-stats.cjs.map +1 -1
- package/dist/utils/git-diff-stats.d.ts +4 -0
- package/dist/utils/git-diff-stats.js +12 -2
- package/dist/utils/git-diff-stats.js.map +1 -1
- package/dist/utils/path-utils.cjs +1 -1
- package/dist/utils/path-utils.cjs.map +1 -1
- package/dist/utils/path-utils.d.ts +15 -3
- package/dist/utils/path-utils.js +29 -3
- package/dist/utils/path-utils.js.map +1 -1
- package/dist/utils/plan-file.cjs +4 -0
- package/dist/utils/plan-file.cjs.map +1 -0
- package/dist/utils/plan-file.d.ts +18 -0
- package/dist/utils/plan-file.js +58 -0
- package/dist/utils/plan-file.js.map +1 -0
- package/dist/utils/recommended-automation-rail.cjs +1 -1
- package/dist/utils/recommended-automation-rail.cjs.map +1 -1
- package/dist/utils/recommended-automation-rail.js +1 -0
- package/dist/utils/recommended-automation-rail.js.map +1 -1
- package/dist/utils/scroll-fade-state.cjs +1 -1
- package/dist/utils/scroll-fade-state.cjs.map +1 -1
- package/dist/utils/scroll-fade-state.d.ts +6 -0
- package/dist/utils/scroll-fade-state.js +8 -1
- package/dist/utils/scroll-fade-state.js.map +1 -1
- package/dist/utils/sdk-settings-schema.cjs +1 -1
- package/dist/utils/sdk-settings-schema.cjs.map +1 -1
- package/dist/utils/sdk-settings-schema.d.ts +1 -0
- package/dist/utils/sdk-settings-schema.js +25 -22
- package/dist/utils/sdk-settings-schema.js.map +1 -1
- package/dist/utils/skill-enablement.cjs +2 -0
- package/dist/utils/skill-enablement.cjs.map +1 -0
- package/dist/utils/skill-enablement.d.ts +51 -0
- package/dist/utils/skill-enablement.js +31 -0
- package/dist/utils/skill-enablement.js.map +1 -0
- package/dist/utils/utils.cjs +1 -1
- package/dist/utils/utils.cjs.map +1 -1
- package/dist/utils/utils.js +11 -11
- package/dist/utils/utils.js.map +1 -1
- package/dist/utils/vscode-origin.cjs +2 -0
- package/dist/utils/vscode-origin.cjs.map +1 -0
- package/dist/utils/vscode-origin.d.ts +55 -0
- package/dist/utils/vscode-origin.js +27 -0
- package/dist/utils/vscode-origin.js.map +1 -0
- package/dist/utils/workspace-mode.d.ts +4 -0
- package/package.json +5 -5
- package/scripts/check-sdk-version-sync.mjs +6 -6
- package/scripts/check-translation-completeness.cjs +1 -0
- package/scripts/dev-extra-backend.mjs +28 -9
- package/scripts/dev-safe.mjs +81 -8
- package/scripts/dev-static.mjs +35 -37
- package/scripts/dev-with-automation.mjs +83 -2
- package/scripts/ingress.mjs +27 -1
- package/scripts/static-server.mjs +107 -2
- package/tools/canvas_ui_tool.py +19 -0
- package/build/assets/active-backend-context-DKFSMbn3.js +0 -2
- package/build/assets/agent-profiles-settings-D4cY5U2T.js +0 -1
- package/build/assets/agent-server-conversation-service.api-DozDKIW_.js +0 -86
- package/build/assets/agent-settings-351vXWc9.js +0 -2
- package/build/assets/agent-settings-Ce7BDZ6I.js +0 -1
- package/build/assets/alert-banner-Kyy1YWZU.js +0 -1
- package/build/assets/api-key-entry-screen-INIxqAMs.js +0 -1
- package/build/assets/automation-detail-DXDhUwPq.js +0 -3
- package/build/assets/automation-git-sync-CzyS4cn1.js +0 -1
- package/build/assets/automation-setup-route-FRr05f_g.js +0 -1
- package/build/assets/automations-list-CERuQWE6.js +0 -1
- package/build/assets/backend-form-modal-DK78-jn1.js +0 -1
- package/build/assets/bot-C-0Wu7vQ.js +0 -1
- package/build/assets/browser-11etCQ04.js +0 -7
- package/build/assets/check-Cf2YoT90.js +0 -1
- package/build/assets/chevron-down-C3OQ-ehx.js +0 -1
- package/build/assets/chevron-right-CN1uUiJ1.js +0 -1
- package/build/assets/circle-check-g5yeGMd-.js +0 -1
- package/build/assets/command-menu-BZQ8S3Ke.js +0 -1
- package/build/assets/commits-tab-DZtJgaDM.js +0 -1
- package/build/assets/confirmation-modal-Bk4JRcCM.js +0 -1
- package/build/assets/conversation-CchMzpGl.js +0 -1
- package/build/assets/conversation-Dpzftz57.js +0 -93
- package/build/assets/conversation-panel-CchMzpGl.js +0 -1
- package/build/assets/conversation-state-store-a9d2fxRc.js +0 -1
- package/build/assets/edit-automation-modal-D-urtv8n.js +0 -1
- package/build/assets/empty-state-CvaVahVr.js +0 -1
- package/build/assets/enum-filter-dropdown-DliX_Lo0.js +0 -1
- package/build/assets/extensions-hub-CFduxBnk.js +0 -1
- package/build/assets/extensions-navigation-BeC224yX.js +0 -1
- package/build/assets/external-link-DFpYunfj.js +0 -1
- package/build/assets/files-tab-CL3J9b3p.js +0 -1
- package/build/assets/format-model-name-BNPKVsIq.js +0 -1
- package/build/assets/get-git-path-DlAJa_i6.js +0 -1
- package/build/assets/git-repo-dropdown-DGMEhz7d.js +0 -1
- package/build/assets/home-BCGlNJCA.js +0 -1
- package/build/assets/home-DB1pRqTC.js +0 -1
- package/build/assets/home-automation-run-tooltip-CooFQRIG.js +0 -1
- package/build/assets/home-store-Dl1dPE58.js +0 -1
- package/build/assets/index-home-DB1pRqTC.js +0 -1
- package/build/assets/info-uYSVzX86.js +0 -1
- package/build/assets/install-server-modal-BbJdhzet.js +0 -1
- package/build/assets/kebab-menu-item-content-BYokkRHi.js +0 -1
- package/build/assets/list-filter-OFkpRrmi.js +0 -1
- package/build/assets/llm-not-configured-banner-BqqYnJ1t.js +0 -27
- package/build/assets/llm-settings-CnDbbmVW.js +0 -1
- package/build/assets/llm-settings-S8Yjg__1.js +0 -1
- package/build/assets/llm-subscription-service-BpPfzW4x.js +0 -1
- package/build/assets/loader-circle-nvrwthvj.js +0 -1
- package/build/assets/manage-backends-modal-BCUPswyl.js +0 -1
- package/build/assets/manifest-58597dde.js +0 -1
- package/build/assets/markdown-renderer-Cb2sBWtV.js +0 -8
- package/build/assets/mcp-page-Bm4K2NQq.js +0 -9
- package/build/assets/messages-BTN5thLe.js +0 -40
- package/build/assets/onboarding-Cx_kaiD1.js +0 -1
- package/build/assets/onboarding-modal-vMwn7ihv.js +0 -1
- package/build/assets/organization-service.api-C8XpQ0pM.js +0 -1
- package/build/assets/pencil-Clh1Wjvh.js +0 -1
- package/build/assets/planner-tab-DQvDU3ap.js +0 -1
- package/build/assets/plug-BuQhHSSG.js +0 -1
- package/build/assets/plugins-management-service-BjYeF0b0.js +0 -1
- package/build/assets/plus-CEKne-Yp.js +0 -1
- package/build/assets/profiles-service.api-QB-T_u-g.js +0 -1
- package/build/assets/providers-FfSZ5TXP.js +0 -1
- package/build/assets/proxy-tcFL2yTQ.js +0 -1
- package/build/assets/recommended-automations-launcher-Bw8uC4V6.js +0 -1
- package/build/assets/refresh-cw-Bh69DyYO.js +0 -1
- package/build/assets/root-BLeQfBEq.css +0 -1
- package/build/assets/root-ZKKYPR1Z.js +0 -2
- package/build/assets/root-layout-luJoE9IG.js +0 -2
- package/build/assets/schema-field-Csw5fhtN.js +0 -1
- package/build/assets/scroll-fade-state-Dw-i4SGq.js +0 -1
- package/build/assets/sdk-section-page-HTffvm7Q.js +0 -1
- package/build/assets/secret-form-HTUbYw5o.js +0 -1
- package/build/assets/secrets-service-BTor9uAU.js +0 -1
- package/build/assets/settings-BlmrkwRi.js +0 -1
- package/build/assets/settings-DcNPxz0v.js +0 -1
- package/build/assets/settings-index-CKq0b0Vg.js +0 -1
- package/build/assets/settings-service.api-B2agVfjL.js +0 -1
- package/build/assets/shared-conversation-B55pCyBG.js +0 -1
- package/build/assets/shield-check-CFDViW82.js +0 -1
- package/build/assets/sidebar-mobile-menu-toggle-BOtyJHwE.js +0 -1
- package/build/assets/sidebar-nav-link-CPzhyHQg.js +0 -1
- package/build/assets/sidebar-store-DtpU7zaI.js +0 -1
- package/build/assets/skill-filter-CWZ5kjcg.js +0 -2
- package/build/assets/skill-scope-CV1dkAbW.js +0 -1
- package/build/assets/skills-plugins-DGHULTq6.js +0 -1
- package/build/assets/skills-settings-CM1lFv3e.js +0 -1
- package/build/assets/styled-tooltip-Dl06rkpY.js +0 -1
- package/build/assets/toggle-switch-Fd_QGz0r.js +0 -1
- package/build/assets/trash-2-Dl8_RGz0.js +0 -1
- package/build/assets/trash-_RMt7Ayc.js +0 -1
- package/build/assets/triangle-alert-SM-q4NU_.js +0 -1
- package/build/assets/usage-tab-BcfWV6db.js +0 -1
- package/build/assets/use-acp-credential-form-BsSW5NHG.js +0 -1
- package/build/assets/use-activate-agent-profile-B2NS8nA5.js +0 -1
- package/build/assets/use-agent-profiles-DWBPC0Si.js +0 -1
- package/build/assets/use-config-Bft35DOK.js +0 -1
- package/build/assets/use-create-conversation-DwN5vv2f.js +0 -1
- package/build/assets/use-create-secret-BSxJMxHp.js +0 -1
- package/build/assets/use-has-permission-B3C8rQmR.js +0 -1
- package/build/assets/use-is-authed-CFGkY3-Z.js +0 -1
- package/build/assets/use-llm-configured-BI6obxsc.js +0 -1
- package/build/assets/use-llm-profiles-djGAhTWL.js +0 -1
- package/build/assets/use-manifest-capabilities-3z0-1G59.js +0 -1
- package/build/assets/use-onboarding-completion-BXpyUSsJ.js +0 -1
- package/build/assets/use-plugins-marketplace-DI4_pK56.js +0 -1
- package/build/assets/use-save-agent-profile-DdBSTdpN.js +0 -1
- package/build/assets/use-settings-C5VhGpqd.js +0 -1
- package/build/assets/use-settings-nav-items-DHaUu1Dg.js +0 -16
- package/build/assets/use-tracking-D5t9otIF.js +0 -3
- package/build/assets/utils-DaCIEEQP.js +0 -1
- package/build/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kepq2zme-ZixYGy6E.js +0 -186
- package/build/assets/vendor~index-home~home~conversation-panel~conversation~alert-banner-B3qC_oj8.js +0 -1
- package/build/assets/vendor~root-layout-BlUaZ18v.js +0 -1
- package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~mcp~automations-list~aut~ibfbmr9f-B2OLKL7N.js +0 -1
- package/build/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~iw7io29p-Dz-MAyNb.js +0 -1
- package/build/assets/x-DkgltWa0.js +0 -1
- package/dist/components/features/conversation-panel/conversation-panel-filter-menu.cjs +0 -2
- package/dist/components/features/conversation-panel/conversation-panel-filter-menu.cjs.map +0 -1
- package/dist/components/features/conversation-panel/conversation-panel-filter-menu.d.ts +0 -35
- package/dist/components/features/conversation-panel/conversation-panel-filter-menu.js +0 -247
- package/dist/components/features/conversation-panel/conversation-panel-filter-menu.js.map +0 -1
- package/dist/components/features/tips/random-tip.d.ts +0 -2
- package/dist/hooks/query/use-skills.cjs +0 -2
- package/dist/hooks/query/use-skills.cjs.map +0 -1
- package/dist/hooks/query/use-skills.d.ts +0 -7
- package/dist/hooks/query/use-skills.js +0 -13
- package/dist/hooks/query/use-skills.js.map +0 -1
- package/dist/hooks/use-has-permission.cjs +0 -2
- package/dist/hooks/use-has-permission.cjs.map +0 -1
- package/dist/hooks/use-has-permission.d.ts +0 -1
- package/dist/hooks/use-has-permission.js +0 -8
- package/dist/hooks/use-has-permission.js.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/eye.cjs +0 -2
- package/dist/node_modules/lucide-react/dist/esm/icons/eye.cjs.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/eye.js +0 -14
- package/dist/node_modules/lucide-react/dist/esm/icons/eye.js.map +0 -1
- package/dist/utils/tips.d.ts +0 -7
- package/dist/utils/workspace-relative-path.cjs +0 -2
- package/dist/utils/workspace-relative-path.cjs.map +0 -1
- package/dist/utils/workspace-relative-path.d.ts +0 -10
- package/dist/utils/workspace-relative-path.js +0 -22
- package/dist/utils/workspace-relative-path.js.map +0 -1
- /package/build/assets/{vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~ox0jfsa0-cHFhpUBq.js → vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~i58xkef6-cHFhpUBq.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills-service.cjs","names":[],"sources":["../../src/api/skills-service.ts"],"sourcesContent":["import { SkillsClient } from \"@openhands/typescript-client/clients\";\nimport {\n SKILLS_CATALOG,\n type SkillCatalogEntry,\n} from \"@openhands/extensions/skills\";\nimport { SkillInfo } from \"#/types/settings\";\nimport { getAgentServerWorkingDir } from \"./agent-server-config\";\nimport { getActiveBackend } from \"./backend-registry/active-store\";\nimport {
|
|
1
|
+
{"version":3,"file":"skills-service.cjs","names":[],"sources":["../../src/api/skills-service.ts"],"sourcesContent":["import { SkillsClient } from \"@openhands/typescript-client/clients\";\nimport {\n SKILLS_CATALOG,\n type SkillCatalogEntry,\n} from \"@openhands/extensions/skills\";\nimport { SkillInfo } from \"#/types/settings\";\nimport { getAgentServerWorkingDir } from \"./agent-server-config\";\nimport { getActiveBackend } from \"./backend-registry/active-store\";\nimport {\n fetchCloudConversationSkills,\n fetchCloudSkills,\n} from \"./cloud/skills-service.api\";\nimport { getAgentServerClientOptions } from \"./agent-server-client-options\";\n\nfunction catalogEntryToSkillInfo(entry: SkillCatalogEntry): SkillInfo {\n return {\n name: entry.name,\n type: \"knowledge\",\n source: \"public\",\n description: entry.description,\n triggers: entry.triggers,\n category: entry.category,\n content: entry.content,\n license: entry.license ?? null,\n compatibility: entry.compatibility ?? null,\n };\n}\n\n/**\n * Public skills loaded from the `@openhands/extensions` npm package.\n *\n * This is an **immutable build-time snapshot**: the catalog is baked into the\n * bundle at `npm run build` / `vite build` time and does not change at\n * runtime. Updating the catalog requires bumping the `@openhands/extensions`\n * dependency and rebuilding.\n */\nconst PUBLIC_SKILLS: SkillInfo[] = SKILLS_CATALOG.map(catalogEntryToSkillInfo);\n\nclass SkillsService {\n static async getSkills(projectDir?: string): Promise<SkillInfo[]> {\n if (getActiveBackend().backend.kind === \"cloud\") {\n return fetchCloudSkills();\n }\n\n // Public skills come from the bundled @openhands/extensions npm package —\n // no agent-server round-trip or GitHub fetch needed. Only ask the agent-\n // server for user and project skills so local .agents/skills/ content is\n // still picked up.\n let localSkills: SkillInfo[] = [];\n try {\n const response = await new SkillsClient(\n getAgentServerClientOptions(),\n ).getSkills({\n load_public: false,\n load_user: true,\n load_project: true,\n load_org: false,\n project_dir: projectDir ?? getAgentServerWorkingDir(),\n });\n localSkills = (response.skills ?? []) as SkillInfo[];\n } catch {\n // Agent-server may not support the skills endpoint or may be\n // unreachable; fall back to the bundled public catalog alone.\n }\n\n return [...localSkills, ...PUBLIC_SKILLS];\n }\n\n /**\n * Skills loaded into a running cloud conversation (see\n * `fetchCloudConversationSkills`). Cloud-only: local conversations keep\n * using `getSkills(projectDir)`, whose agent-server call already scopes to\n * the conversation's workspace.\n */\n static getConversationSkills(conversationId: string): Promise<SkillInfo[]> {\n return fetchCloudConversationSkills(conversationId);\n }\n}\n\nexport default SkillsService;\n"],"mappings":"idAcA,SAAS,EAAwB,EAAqC,CACpE,MAAO,CACL,KAAM,EAAM,KACZ,KAAM,YACN,OAAQ,SACR,YAAa,EAAM,YACnB,SAAU,EAAM,SAChB,SAAU,EAAM,SAChB,QAAS,EAAM,QACf,QAAS,EAAM,SAAW,KAC1B,cAAe,EAAM,eAAiB,IACxC,CACF,CAUA,IAAM,EAA6B,EAAA,QAAe,IAAI,CAAuB,EAEvE,EAAN,KAAoB,CAClB,aAAa,UAAU,EAA2C,CAChE,GAAI,EAAA,iBAAiB,EAAE,QAAQ,OAAS,QACtC,OAAO,EAAA,iBAAiB,EAO1B,IAAI,EAA2B,CAAC,EAChC,GAAI,CAUF,GAAe,MATQ,IAAI,EAAA,aACzB,EAAA,4BAA4B,CAC9B,EAAE,UAAU,CACV,YAAa,GACb,UAAW,GACX,aAAc,GACd,SAAU,GACV,YAAa,GAAc,EAAA,yBAAyB,CACtD,CAAC,GACuB,QAAU,CAAC,CACrC,MAAQ,CAGR,CAEA,MAAO,CAAC,GAAG,EAAa,GAAG,CAAa,CAC1C,CAQA,OAAO,sBAAsB,EAA8C,CACzE,OAAO,EAAA,6BAA6B,CAAc,CACpD,CACF"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { SkillInfo } from "#/types/settings";
|
|
2
2
|
declare class SkillsService {
|
|
3
3
|
static getSkills(projectDir?: string): Promise<SkillInfo[]>;
|
|
4
|
+
/**
|
|
5
|
+
* Skills loaded into a running cloud conversation (see
|
|
6
|
+
* `fetchCloudConversationSkills`). Cloud-only: local conversations keep
|
|
7
|
+
* using `getSkills(projectDir)`, whose agent-server call already scopes to
|
|
8
|
+
* the conversation's workspace.
|
|
9
|
+
*/
|
|
10
|
+
static getConversationSkills(conversationId: string): Promise<SkillInfo[]>;
|
|
4
11
|
}
|
|
5
12
|
export default SkillsService;
|
|
@@ -4,9 +4,9 @@ import { getAgentServerWorkingDir as t } from "./agent-server-config.js";
|
|
|
4
4
|
import { getActiveBackend as n } from "./backend-registry/active-store.js";
|
|
5
5
|
import { getAgentServerClientOptions as r } from "./agent-server-client-options.js";
|
|
6
6
|
import i from "../node_modules/@openhands/extensions/skills/index.js";
|
|
7
|
-
import {
|
|
7
|
+
import { fetchCloudConversationSkills as a, fetchCloudSkills as o } from "./cloud/skills-service.api.js";
|
|
8
8
|
//#region src/api/skills-service.ts
|
|
9
|
-
function
|
|
9
|
+
function s(e) {
|
|
10
10
|
return {
|
|
11
11
|
name: e.name,
|
|
12
12
|
type: "knowledge",
|
|
@@ -19,12 +19,12 @@ function o(e) {
|
|
|
19
19
|
compatibility: e.compatibility ?? null
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
|
-
var
|
|
22
|
+
var c = i.map(s), l = class {
|
|
23
23
|
static async getSkills(i) {
|
|
24
|
-
if (n().backend.kind === "cloud") return
|
|
25
|
-
let
|
|
24
|
+
if (n().backend.kind === "cloud") return o();
|
|
25
|
+
let a = [];
|
|
26
26
|
try {
|
|
27
|
-
|
|
27
|
+
a = (await new e(r()).getSkills({
|
|
28
28
|
load_public: !1,
|
|
29
29
|
load_user: !0,
|
|
30
30
|
load_project: !0,
|
|
@@ -32,10 +32,13 @@ var s = i.map(o), c = class {
|
|
|
32
32
|
project_dir: i ?? t()
|
|
33
33
|
})).skills ?? [];
|
|
34
34
|
} catch {}
|
|
35
|
-
return [...
|
|
35
|
+
return [...a, ...c];
|
|
36
|
+
}
|
|
37
|
+
static getConversationSkills(e) {
|
|
38
|
+
return a(e);
|
|
36
39
|
}
|
|
37
40
|
};
|
|
38
41
|
//#endregion
|
|
39
|
-
export {
|
|
42
|
+
export { l as default };
|
|
40
43
|
|
|
41
44
|
//# sourceMappingURL=skills-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills-service.js","names":[],"sources":["../../src/api/skills-service.ts"],"sourcesContent":["import { SkillsClient } from \"@openhands/typescript-client/clients\";\nimport {\n SKILLS_CATALOG,\n type SkillCatalogEntry,\n} from \"@openhands/extensions/skills\";\nimport { SkillInfo } from \"#/types/settings\";\nimport { getAgentServerWorkingDir } from \"./agent-server-config\";\nimport { getActiveBackend } from \"./backend-registry/active-store\";\nimport {
|
|
1
|
+
{"version":3,"file":"skills-service.js","names":[],"sources":["../../src/api/skills-service.ts"],"sourcesContent":["import { SkillsClient } from \"@openhands/typescript-client/clients\";\nimport {\n SKILLS_CATALOG,\n type SkillCatalogEntry,\n} from \"@openhands/extensions/skills\";\nimport { SkillInfo } from \"#/types/settings\";\nimport { getAgentServerWorkingDir } from \"./agent-server-config\";\nimport { getActiveBackend } from \"./backend-registry/active-store\";\nimport {\n fetchCloudConversationSkills,\n fetchCloudSkills,\n} from \"./cloud/skills-service.api\";\nimport { getAgentServerClientOptions } from \"./agent-server-client-options\";\n\nfunction catalogEntryToSkillInfo(entry: SkillCatalogEntry): SkillInfo {\n return {\n name: entry.name,\n type: \"knowledge\",\n source: \"public\",\n description: entry.description,\n triggers: entry.triggers,\n category: entry.category,\n content: entry.content,\n license: entry.license ?? null,\n compatibility: entry.compatibility ?? null,\n };\n}\n\n/**\n * Public skills loaded from the `@openhands/extensions` npm package.\n *\n * This is an **immutable build-time snapshot**: the catalog is baked into the\n * bundle at `npm run build` / `vite build` time and does not change at\n * runtime. Updating the catalog requires bumping the `@openhands/extensions`\n * dependency and rebuilding.\n */\nconst PUBLIC_SKILLS: SkillInfo[] = SKILLS_CATALOG.map(catalogEntryToSkillInfo);\n\nclass SkillsService {\n static async getSkills(projectDir?: string): Promise<SkillInfo[]> {\n if (getActiveBackend().backend.kind === \"cloud\") {\n return fetchCloudSkills();\n }\n\n // Public skills come from the bundled @openhands/extensions npm package —\n // no agent-server round-trip or GitHub fetch needed. Only ask the agent-\n // server for user and project skills so local .agents/skills/ content is\n // still picked up.\n let localSkills: SkillInfo[] = [];\n try {\n const response = await new SkillsClient(\n getAgentServerClientOptions(),\n ).getSkills({\n load_public: false,\n load_user: true,\n load_project: true,\n load_org: false,\n project_dir: projectDir ?? getAgentServerWorkingDir(),\n });\n localSkills = (response.skills ?? []) as SkillInfo[];\n } catch {\n // Agent-server may not support the skills endpoint or may be\n // unreachable; fall back to the bundled public catalog alone.\n }\n\n return [...localSkills, ...PUBLIC_SKILLS];\n }\n\n /**\n * Skills loaded into a running cloud conversation (see\n * `fetchCloudConversationSkills`). Cloud-only: local conversations keep\n * using `getSkills(projectDir)`, whose agent-server call already scopes to\n * the conversation's workspace.\n */\n static getConversationSkills(conversationId: string): Promise<SkillInfo[]> {\n return fetchCloudConversationSkills(conversationId);\n }\n}\n\nexport default SkillsService;\n"],"mappings":";;;;;;;;AAcA,SAAS,EAAwB,GAAqC;CACpE,OAAO;EACL,MAAM,EAAM;EACZ,MAAM;EACN,QAAQ;EACR,aAAa,EAAM;EACnB,UAAU,EAAM;EAChB,UAAU,EAAM;EAChB,SAAS,EAAM;EACf,SAAS,EAAM,WAAW;EAC1B,eAAe,EAAM,iBAAiB;CACxC;AACF;AAUA,IAAM,IAA6B,EAAe,IAAI,CAAuB,GAEvE,IAAN,MAAoB;CAClB,aAAa,UAAU,GAA2C;EAChE,IAAI,EAAiB,EAAE,QAAQ,SAAS,SACtC,OAAO,EAAiB;EAO1B,IAAI,IAA2B,CAAC;EAChC,IAAI;GAUF,KAAe,MATQ,IAAI,EACzB,EAA4B,CAC9B,EAAE,UAAU;IACV,aAAa;IACb,WAAW;IACX,cAAc;IACd,UAAU;IACV,aAAa,KAAc,EAAyB;GACtD,CAAC,GACuB,UAAU,CAAC;EACrC,QAAQ,CAGR;EAEA,OAAO,CAAC,GAAG,GAAa,GAAG,CAAa;CAC1C;CAQA,OAAO,sBAAsB,GAA8C;EACzE,OAAO,EAA6B,CAAc;CACpD;AACF"}
|
package/dist/components/conversation-events/chat/event-message-components/critic-result-display.cjs
CHANGED
|
@@ -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("../../../../
|
|
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("../../../../hooks/query/use-settings.cjs"),i=require("../../../../icons/angle-down-solid.cjs"),a=require("../../../../icons/angle-up-solid.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("react/jsx-runtime");function c(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e)):0}function l(e){let t=Math.round(e*5);return{filled:t,empty:5-t}}function u(e){return e>=.6?`text-green-400`:e>=.4?`text-yellow-400`:`text-red-400`}function d(e){return e>=.7?`text-red-400 font-semibold`:e>=.5?`text-yellow-400`:`text-neutral-400`}function f(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function p(e){let t=e?.verification;if(!f(t))return null;let n=t.enable_iterative_refinement;return typeof n==`boolean`?n:null}function m({feature:e}){let t=Math.round(e.probability*100),n=d(e.probability);return(0,s.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,s.jsx)(`span`,{className:`text-neutral-200`,children:e.display_name}),(0,s.jsxs)(`span`,{className:n,children:[`(`,t,`%)`]})]})}function h({label:e,features:t}){return!t||t.length===0?null:(0,s.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-1 text-xs`,children:[(0,s.jsx)(`span`,{className:`font-semibold text-neutral-300`,children:e}),t.map((e,t)=>(0,s.jsxs)(o.default.Fragment,{children:[t>0&&(0,s.jsx)(`span`,{className:`text-neutral-500`,children:`·`}),(0,s.jsx)(m,{feature:e})]},e.name))]})}function g({categorized:e}){let{t:r}=t.useTranslation(),i=e.agent_behavioral_issues&&e.agent_behavioral_issues.length>0,a=e.user_followup_patterns&&e.user_followup_patterns.length>0,o=e.infrastructure_issues&&e.infrastructure_issues.length>0,c=e.other&&e.other.length>0;return!i&&!a&&!o&&!c?null:(0,s.jsxs)(`div`,{className:`flex flex-col gap-1 mt-1.5`,children:[i&&(0,s.jsx)(h,{label:r(n.I18nKey.CRITIC$POTENTIAL_ISSUES),features:e.agent_behavioral_issues}),o&&(0,s.jsx)(h,{label:r(n.I18nKey.CRITIC$INFRASTRUCTURE),features:e.infrastructure_issues}),a&&(0,s.jsx)(h,{label:r(n.I18nKey.CRITIC$LIKELY_FOLLOWUP),features:e.user_followup_patterns}),c&&(0,s.jsx)(h,{label:r(n.I18nKey.CRITIC$OTHER),features:e.other})]})}function _({criticResult:e}){let{t:d}=t.useTranslation(),{data:f}=r.useSettings(),[m,h]=o.default.useState(!1),_=c(e.score),{filled:v,empty:y}=l(_),b=u(_),x=(_*100).toFixed(1),S=p(f?.agent_settings)===!1,C=e.metadata?.categorized_features,w=C!=null&&((C.agent_behavioral_issues??[]).length>0||(C.user_followup_patterns??[]).length>0||(C.infrastructure_issues??[]).length>0||(C.other??[]).length>0);return(0,s.jsxs)(`div`,{className:`border-l-2 border-neutral-600 pl-2 my-2 py-1.5 text-sm`,children:[(0,s.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,s.jsx)(`span`,{className:`font-semibold text-neutral-300 text-xs`,children:d(n.I18nKey.CRITIC$SUCCESS_LIKELIHOOD_LABEL)}),(0,s.jsxs)(`span`,{className:`${b} text-xs tracking-wide`,"aria-label":`Score: ${x}%`,children:[`★`.repeat(v),`☆`.repeat(y)]}),(0,s.jsxs)(`span`,{className:`text-neutral-500 text-xs`,children:[`(`,x,`%)`]}),w&&(0,s.jsx)(`button`,{type:`button`,onClick:()=>h(e=>!e),className:`cursor-pointer ml-1`,"aria-label":d(m?n.I18nKey.BUTTON$COLLAPSE_DETAILS:n.I18nKey.BUTTON$EXPAND_DETAILS),children:m?(0,s.jsx)(a.default,{className:`h-3 w-3 inline fill-neutral-400`}):(0,s.jsx)(i.default,{className:`h-3 w-3 inline fill-neutral-400`})})]}),m&&w&&(0,s.jsx)(g,{categorized:C}),S&&(0,s.jsx)(`p`,{className:`mt-1.5 text-xs leading-5 text-neutral-500`,"data-testid":`critic-iterative-refinement-hint`,children:d(n.I18nKey.CRITIC$ITERATIVE_REFINEMENT_HINT)})]})}exports.CriticResultDisplay=_;
|
|
2
2
|
//# sourceMappingURL=critic-result-display.cjs.map
|
package/dist/components/conversation-events/chat/event-message-components/critic-result-display.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useTranslation as e } from "../../../../node_modules/react-i18next/dist/es/useTranslation.js";
|
|
2
2
|
import { I18nKey as t } from "../../../../i18n/declaration.js";
|
|
3
|
-
import n from "../../../../
|
|
4
|
-
import r from "../../../../icons/angle-
|
|
5
|
-
import
|
|
3
|
+
import { useSettings as n } from "../../../../hooks/query/use-settings.js";
|
|
4
|
+
import r from "../../../../icons/angle-down-solid.js";
|
|
5
|
+
import i from "../../../../icons/angle-up-solid.js";
|
|
6
6
|
import a from "react";
|
|
7
7
|
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
8
8
|
//#region src/components/conversation-events/chat/event-message-components/critic-result-display.tsx
|
|
@@ -85,7 +85,7 @@ function g({ categorized: n }) {
|
|
|
85
85
|
});
|
|
86
86
|
}
|
|
87
87
|
function _({ criticResult: d }) {
|
|
88
|
-
let { t: f } = e(), { data: m } =
|
|
88
|
+
let { t: f } = e(), { data: m } = n(), [h, _] = a.useState(!1), v = c(d.score), { filled: y, empty: b } = l(v), x = u(v), S = (v * 100).toFixed(1), C = p(m?.agent_settings) === !1, w = d.metadata?.categorized_features, T = w != null && ((w.agent_behavioral_issues ?? []).length > 0 || (w.user_followup_patterns ?? []).length > 0 || (w.infrastructure_issues ?? []).length > 0 || (w.other ?? []).length > 0);
|
|
89
89
|
return /* @__PURE__ */ s("div", {
|
|
90
90
|
className: "border-l-2 border-neutral-600 pl-2 my-2 py-1.5 text-sm",
|
|
91
91
|
children: [
|
|
@@ -114,7 +114,7 @@ function _({ criticResult: d }) {
|
|
|
114
114
|
onClick: () => _((e) => !e),
|
|
115
115
|
className: "cursor-pointer ml-1",
|
|
116
116
|
"aria-label": f(h ? t.BUTTON$COLLAPSE_DETAILS : t.BUTTON$EXPAND_DETAILS),
|
|
117
|
-
children: o(h ?
|
|
117
|
+
children: o(h ? i : r, { className: "h-3 w-3 inline fill-neutral-400" })
|
|
118
118
|
})
|
|
119
119
|
]
|
|
120
120
|
}),
|
|
@@ -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/loader-circle.cjs"),i=require("../../../../types/agent-server/type-guards.cjs"),a=require("../../../../icons/angle-down-solid.cjs"),o=require("../../../../icons/angle-up-solid.cjs"),s=require("../event-content-helpers/get-event-content.cjs"),
|
|
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/loader-circle.cjs"),i=require("../../../../types/agent-server/type-guards.cjs"),a=require("../../../../icons/angle-down-solid.cjs"),o=require("../../../../icons/angle-up-solid.cjs"),s=require("../../../features/chat/path-component.cjs"),c=require("../event-content-helpers/get-event-content.cjs"),l=require("../../../features/chat/is-in-event-group-context.cjs");let u=require("react");u=e.__toESM(u,1);let d=require("react/jsx-runtime");function f({events:e,allEvents:f,isFinalized:p=!1,children:m}){let{t:h}=t.useTranslation(`openhands`),[g,_]=u.default.useState(!1),v=u.default.useId(),y=`${v}-toggle`;if(e.length===0)return null;let b=e.find(e=>i.isActionEvent(e)),x=e.filter(i.isObservationEvent).length,S=e.length,C=!!b,w=e[e.length-1],T=null;w&&(i.isActionEvent(w)?T=c.getEventContent(w).title:i.isObservationEvent(w)&&(T=c.getEventContent(w,(f??e).find(e=>i.isActionEvent(e)&&e.id===w.action_id)).title));let E=C?h(n.I18nKey.EVENT_GROUP$ACTIONS_PROGRESS,{completed:x,total:S}):h(n.I18nKey.EVENT_GROUP$ACTIONS_COMPLETED,{count:S}),D=g?o.default:a.default;return(0,d.jsxs)(`div`,{className:`my-1 w-full py-1 text-sm`,"data-testid":`event-group`,children:[(0,d.jsx)(`button`,{id:y,type:`button`,onClick:()=>_(e=>!e),"aria-controls":v,"aria-expanded":g,"aria-label":h(g?n.I18nKey.EVENT_GROUP$COLLAPSE:n.I18nKey.EVENT_GROUP$EXPAND),"data-testid":`event-group-toggle`,className:`w-full flex items-center justify-between gap-2 text-left cursor-pointer`,children:p?(0,d.jsxs)(`span`,{className:`flex items-center gap-2 min-w-0 font-normal text-[var(--oh-muted)]`,children:[(0,d.jsx)(D,{className:`h-4 w-4 fill-[var(--oh-muted)] flex-shrink-0`}),(0,d.jsx)(`span`,{className:`truncate`,children:E})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(`span`,{className:`flex items-center gap-2 min-w-0 font-normal text-[var(--oh-muted)]`,children:[(0,d.jsx)(D,{className:`h-4 w-4 fill-[var(--oh-muted)] flex-shrink-0`}),(0,d.jsx)(`span`,{className:`truncate`,children:(0,d.jsx)(s.PathInteractiveContext.Provider,{value:!1,children:T??E})})]}),(0,d.jsxs)(`span`,{className:`flex items-center flex-shrink-0 font-normal text-[var(--oh-muted)]`,children:[(0,d.jsx)(`span`,{className:`truncate`,children:E}),C?(0,d.jsx)(r.LoaderCircle,{"data-testid":`spinner-icon`,className:`h-4 w-4 ml-2 inline animate-spin text-[var(--oh-muted)]`}):null]})]})}),g&&(0,d.jsx)(`div`,{id:v,role:`region`,"aria-labelledby":y,className:`mt-1.5 flex flex-col`,"data-testid":`event-group-content`,children:(0,d.jsx)(l.IsInEventGroupContext.Provider,{value:!0,children:m})})]})}exports.EventGroup=f;
|
|
2
2
|
//# sourceMappingURL=event-group.cjs.map
|
package/dist/components/conversation-events/chat/event-message-components/event-group.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-group.cjs","names":[],"sources":["../../../../../src/components/conversation-events/chat/event-message-components/event-group.tsx"],"sourcesContent":["import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { LoaderCircle } from \"lucide-react\";\nimport ArrowDown from \"#/icons/angle-down-solid.svg?react\";\nimport ArrowUp from \"#/icons/angle-up-solid.svg?react\";\nimport { OpenHandsEvent, ActionEvent } from \"#/types/agent-server/core\";\nimport {\n isActionEvent,\n isObservationEvent,\n} from \"#/types/agent-server/type-guards\";\nimport { I18nKey } from \"#/i18n/declaration\";\nimport { getEventContent } from \"../event-content-helpers/get-event-content\";\nimport { IsInEventGroupContext } from \"../../../features/chat/is-in-event-group-context\";\n\ninterface EventGroupProps {\n /** The events represented by this group. Used to compute the summary. */\n events: OpenHandsEvent[];\n /**\n * Full event history. Used to resolve the action that produced the latest\n * observation in the group so the summary title matches what the individual\n * card would show (e.g. \"Editing path/to/file\"). Falls back to `events` when\n * omitted.\n */\n allEvents?: OpenHandsEvent[];\n /**\n * `true` once an event outside this group has been emitted after it, so the\n * group is no longer the \"live\" tail of the chat. While `false` (the\n * default), the group keeps showing the most recent action's title as its\n * prominent summary, with the count of completed actions shown subtly on\n * the right.\n */\n isFinalized?: boolean;\n /** The fully-rendered event messages to show when the group is expanded. */\n children: React.ReactNode;\n}\n\n/**\n * Collapsible container that wraps a run of consecutive agent action/observation\n * events into a single summary card.\n *\n * Collapsed, while the group is still the live tail of the chat\n * (`isFinalized=false`):\n * - Left (prominent): the title of the most recent action/observation in\n * the group — i.e. either the action currently in flight, or the latest\n * completed step.\n * - Right (subdued): \"{completed}/{total} actions completed\" while at\n * least one action is still pending (with a spinner), otherwise\n * \"{count} actions completed\" followed by a success check.\n *\n * Collapsed, after the group has been \"moved past\" (`isFinalized=true`):\n * - \"{count} actions completed\" is promoted to the prominent foreground\n * style and the count is the only thing shown next to the chevron.\n *\n * Expanded:\n * - Renders the children verbatim, so each individual action/observation can\n * still be expanded the way it was before grouping.\n */\nexport function EventGroup({\n events,\n allEvents,\n isFinalized = false,\n children,\n}: EventGroupProps) {\n const { t } = useTranslation(\"openhands\");\n const [expanded, setExpanded] = React.useState(false);\n const contentId = React.useId();\n const buttonId = `${contentId}-toggle`;\n\n if (events.length === 0) {\n return null;\n }\n\n // Each ObservationEvent in the group is a completed action. An ActionEvent\n // that's still here (i.e. not yet replaced by its observation in the UI\n // events array) is an action currently in flight.\n const pendingAction = events.find((e): e is ActionEvent => isActionEvent(e));\n const completedCount = events.filter(isObservationEvent).length;\n const totalCount = events.length;\n const isRunning = !!pendingAction;\n\n // Title of the most recent groupable event. While running this is the\n // pending action; otherwise it's the latest observation, with its\n // originating action looked up so the title can be the action-style summary\n // (\"Editing path/to/file\") instead of the observation default.\n const latestEvent = events[events.length - 1];\n let latestTitle: React.ReactNode = null;\n if (latestEvent) {\n if (isActionEvent(latestEvent)) {\n latestTitle = getEventContent(latestEvent).title;\n } else if (isObservationEvent(latestEvent)) {\n const lookupSource = allEvents ?? events;\n const correspondingAction = lookupSource.find(\n (e): e is ActionEvent =>\n isActionEvent(e) && e.id === latestEvent.action_id,\n );\n latestTitle = getEventContent(latestEvent, correspondingAction).title;\n }\n }\n\n const countSummary = isRunning\n ? t(I18nKey.EVENT_GROUP$ACTIONS_PROGRESS, {\n completed: completedCount,\n total: totalCount,\n })\n : t(I18nKey.EVENT_GROUP$ACTIONS_COMPLETED, { count: totalCount });\n\n const Chevron = expanded ? ArrowUp : ArrowDown;\n\n return (\n <div className=\"my-1 w-full py-1 text-sm\" data-testid=\"event-group\">\n <button\n id={buttonId}\n type=\"button\"\n onClick={() => setExpanded((prev) => !prev)}\n aria-controls={contentId}\n aria-expanded={expanded}\n aria-label={\n expanded\n ? t(I18nKey.EVENT_GROUP$COLLAPSE)\n : t(I18nKey.EVENT_GROUP$EXPAND)\n }\n data-testid=\"event-group-toggle\"\n className=\"w-full flex items-center justify-between gap-2 text-left cursor-pointer\"\n >\n {isFinalized ? (\n <span className=\"flex items-center gap-2 min-w-0 font-normal text-[var(--oh-muted)]\">\n <Chevron className=\"h-4 w-4 fill-[var(--oh-muted)] flex-shrink-0\" />\n <span className=\"truncate\">{countSummary}</span>\n </span>\n ) : (\n <>\n <span className=\"flex items-center gap-2 min-w-0 font-normal text-[var(--oh-muted)]\">\n <Chevron className=\"h-4 w-4 fill-[var(--oh-muted)] flex-shrink-0\" />\n <span className=\"truncate\"
|
|
1
|
+
{"version":3,"file":"event-group.cjs","names":[],"sources":["../../../../../src/components/conversation-events/chat/event-message-components/event-group.tsx"],"sourcesContent":["import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { LoaderCircle } from \"lucide-react\";\nimport ArrowDown from \"#/icons/angle-down-solid.svg?react\";\nimport ArrowUp from \"#/icons/angle-up-solid.svg?react\";\nimport { OpenHandsEvent, ActionEvent } from \"#/types/agent-server/core\";\nimport {\n isActionEvent,\n isObservationEvent,\n} from \"#/types/agent-server/type-guards\";\nimport { I18nKey } from \"#/i18n/declaration\";\nimport { getEventContent } from \"../event-content-helpers/get-event-content\";\nimport { IsInEventGroupContext } from \"../../../features/chat/is-in-event-group-context\";\nimport { PathInteractiveContext } from \"../../../features/chat/path-component\";\n\ninterface EventGroupProps {\n /** The events represented by this group. Used to compute the summary. */\n events: OpenHandsEvent[];\n /**\n * Full event history. Used to resolve the action that produced the latest\n * observation in the group so the summary title matches what the individual\n * card would show (e.g. \"Editing path/to/file\"). Falls back to `events` when\n * omitted.\n */\n allEvents?: OpenHandsEvent[];\n /**\n * `true` once an event outside this group has been emitted after it, so the\n * group is no longer the \"live\" tail of the chat. While `false` (the\n * default), the group keeps showing the most recent action's title as its\n * prominent summary, with the count of completed actions shown subtly on\n * the right.\n */\n isFinalized?: boolean;\n /** The fully-rendered event messages to show when the group is expanded. */\n children: React.ReactNode;\n}\n\n/**\n * Collapsible container that wraps a run of consecutive agent action/observation\n * events into a single summary card.\n *\n * Collapsed, while the group is still the live tail of the chat\n * (`isFinalized=false`):\n * - Left (prominent): the title of the most recent action/observation in\n * the group — i.e. either the action currently in flight, or the latest\n * completed step.\n * - Right (subdued): \"{completed}/{total} actions completed\" while at\n * least one action is still pending (with a spinner), otherwise\n * \"{count} actions completed\" followed by a success check.\n *\n * Collapsed, after the group has been \"moved past\" (`isFinalized=true`):\n * - \"{count} actions completed\" is promoted to the prominent foreground\n * style and the count is the only thing shown next to the chevron.\n *\n * Expanded:\n * - Renders the children verbatim, so each individual action/observation can\n * still be expanded the way it was before grouping.\n */\nexport function EventGroup({\n events,\n allEvents,\n isFinalized = false,\n children,\n}: EventGroupProps) {\n const { t } = useTranslation(\"openhands\");\n const [expanded, setExpanded] = React.useState(false);\n const contentId = React.useId();\n const buttonId = `${contentId}-toggle`;\n\n if (events.length === 0) {\n return null;\n }\n\n // Each ObservationEvent in the group is a completed action. An ActionEvent\n // that's still here (i.e. not yet replaced by its observation in the UI\n // events array) is an action currently in flight.\n const pendingAction = events.find((e): e is ActionEvent => isActionEvent(e));\n const completedCount = events.filter(isObservationEvent).length;\n const totalCount = events.length;\n const isRunning = !!pendingAction;\n\n // Title of the most recent groupable event. While running this is the\n // pending action; otherwise it's the latest observation, with its\n // originating action looked up so the title can be the action-style summary\n // (\"Editing path/to/file\") instead of the observation default.\n const latestEvent = events[events.length - 1];\n let latestTitle: React.ReactNode = null;\n if (latestEvent) {\n if (isActionEvent(latestEvent)) {\n latestTitle = getEventContent(latestEvent).title;\n } else if (isObservationEvent(latestEvent)) {\n const lookupSource = allEvents ?? events;\n const correspondingAction = lookupSource.find(\n (e): e is ActionEvent =>\n isActionEvent(e) && e.id === latestEvent.action_id,\n );\n latestTitle = getEventContent(latestEvent, correspondingAction).title;\n }\n }\n\n const countSummary = isRunning\n ? t(I18nKey.EVENT_GROUP$ACTIONS_PROGRESS, {\n completed: completedCount,\n total: totalCount,\n })\n : t(I18nKey.EVENT_GROUP$ACTIONS_COMPLETED, { count: totalCount });\n\n const Chevron = expanded ? ArrowUp : ArrowDown;\n\n return (\n <div className=\"my-1 w-full py-1 text-sm\" data-testid=\"event-group\">\n <button\n id={buttonId}\n type=\"button\"\n onClick={() => setExpanded((prev) => !prev)}\n aria-controls={contentId}\n aria-expanded={expanded}\n aria-label={\n expanded\n ? t(I18nKey.EVENT_GROUP$COLLAPSE)\n : t(I18nKey.EVENT_GROUP$EXPAND)\n }\n data-testid=\"event-group-toggle\"\n className=\"w-full flex items-center justify-between gap-2 text-left cursor-pointer\"\n >\n {isFinalized ? (\n <span className=\"flex items-center gap-2 min-w-0 font-normal text-[var(--oh-muted)]\">\n <Chevron className=\"h-4 w-4 fill-[var(--oh-muted)] flex-shrink-0\" />\n <span className=\"truncate\">{countSummary}</span>\n </span>\n ) : (\n <>\n <span className=\"flex items-center gap-2 min-w-0 font-normal text-[var(--oh-muted)]\">\n <Chevron className=\"h-4 w-4 fill-[var(--oh-muted)] flex-shrink-0\" />\n <span className=\"truncate\">\n <PathInteractiveContext.Provider value={false}>\n {latestTitle ?? countSummary}\n </PathInteractiveContext.Provider>\n </span>\n </span>\n <span className=\"flex items-center flex-shrink-0 font-normal text-[var(--oh-muted)]\">\n <span className=\"truncate\">{countSummary}</span>\n {isRunning ? (\n <LoaderCircle\n data-testid=\"spinner-icon\"\n className=\"h-4 w-4 ml-2 inline animate-spin text-[var(--oh-muted)]\"\n />\n ) : null}\n </span>\n </>\n )}\n </button>\n\n {expanded && (\n <div\n id={contentId}\n role=\"region\"\n aria-labelledby={buttonId}\n className=\"mt-1.5 flex flex-col\"\n data-testid=\"event-group-content\"\n >\n <IsInEventGroupContext.Provider value>\n {children}\n </IsInEventGroupContext.Provider>\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"irBA0DA,SAAgB,EAAW,CACzB,SACA,YACA,cAAc,GACd,YACkB,CAClB,GAAM,CAAE,KAAM,EAAA,eAAe,WAAW,EAClC,CAAC,EAAU,GAAe,EAAA,QAAM,SAAS,EAAK,EAC9C,EAAY,EAAA,QAAM,MAAM,EACxB,EAAW,GAAG,EAAU,SAE9B,GAAI,EAAO,SAAW,EACpB,OAAO,KAMT,IAAM,EAAgB,EAAO,KAAM,GAAwB,EAAA,cAAc,CAAC,CAAC,EACrE,EAAiB,EAAO,OAAO,EAAA,kBAAkB,EAAE,OACnD,EAAa,EAAO,OACpB,EAAY,CAAC,CAAC,EAMd,EAAc,EAAO,EAAO,OAAS,GACvC,EAA+B,KAC/B,IACE,EAAA,cAAc,CAAW,EAC3B,EAAc,EAAA,gBAAgB,CAAW,EAAE,MAClC,EAAA,mBAAmB,CAAW,IAMvC,EAAc,EAAA,gBAAgB,GALT,GAAa,GACO,KACtC,GACC,EAAA,cAAc,CAAC,GAAK,EAAE,KAAO,EAAY,SAEF,CAAmB,EAAE,QAIpE,IAAM,EAAe,EACjB,EAAE,EAAA,QAAQ,6BAA8B,CACtC,UAAW,EACX,MAAO,CACT,CAAC,EACD,EAAE,EAAA,QAAQ,8BAA+B,CAAE,MAAO,CAAW,CAAC,EAE5D,EAAU,EAAW,EAAA,QAAU,EAAA,QAErC,OACE,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,2BAA2B,cAAY,uBAAtD,EACE,EAAA,EAAA,KAAC,SAAD,CACE,GAAI,EACJ,KAAK,SACL,YAAe,EAAa,GAAS,CAAC,CAAI,EAC1C,gBAAe,EACf,gBAAe,EACf,aAEM,EADJ,EACM,EAAA,QAAQ,qBACR,EAAA,QAAQ,kBAAkB,EAElC,cAAY,qBACZ,UAAU,mFAET,GACC,EAAA,EAAA,MAAC,OAAD,CAAM,UAAU,8EAAhB,EACE,EAAA,EAAA,KAAC,EAAD,CAAS,UAAU,8CAAgD,CAAA,GACnE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,oBAAY,CAAmB,CAAA,CAC3C,KAEN,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,MAAC,OAAD,CAAM,UAAU,8EAAhB,EACE,EAAA,EAAA,KAAC,EAAD,CAAS,UAAU,8CAAgD,CAAA,GACnE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,qBACd,EAAA,EAAA,KAAC,EAAA,uBAAuB,SAAxB,CAAiC,MAAO,YACrC,GAAe,CACe,CAAA,CAC7B,CAAA,CACF,KACN,EAAA,EAAA,MAAC,OAAD,CAAM,UAAU,8EAAhB,EACE,EAAA,EAAA,KAAC,OAAD,CAAM,UAAU,oBAAY,CAAmB,CAAA,EAC9C,GACC,EAAA,EAAA,KAAC,EAAA,aAAD,CACE,cAAY,eACZ,UAAU,yDACX,CAAA,EACC,IACA,GACN,CAAA,CAAA,CAEE,CAAA,EAEP,IACC,EAAA,EAAA,KAAC,MAAD,CACE,GAAI,EACJ,KAAK,SACL,kBAAiB,EACjB,UAAU,uBACV,cAAY,gCAEZ,EAAA,EAAA,KAAC,EAAA,sBAAsB,SAAvB,CAAgC,MAAA,GAC7B,UAC6B,CAAA,CAC7B,CAAA,CAEJ,GAET"}
|
|
@@ -4,68 +4,72 @@ import { LoaderCircle as n } from "../../../../node_modules/lucide-react/dist/es
|
|
|
4
4
|
import { isActionEvent as r, isObservationEvent as i } from "../../../../types/agent-server/type-guards.js";
|
|
5
5
|
import a from "../../../../icons/angle-down-solid.js";
|
|
6
6
|
import o from "../../../../icons/angle-up-solid.js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import l from "
|
|
10
|
-
import
|
|
7
|
+
import { PathInteractiveContext as s } from "../../../features/chat/path-component.js";
|
|
8
|
+
import { getEventContent as c } from "../event-content-helpers/get-event-content.js";
|
|
9
|
+
import { IsInEventGroupContext as l } from "../../../features/chat/is-in-event-group-context.js";
|
|
10
|
+
import u from "react";
|
|
11
|
+
import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
11
12
|
//#region src/components/conversation-events/chat/event-message-components/event-group.tsx
|
|
12
|
-
function
|
|
13
|
-
let { t:
|
|
14
|
-
if (
|
|
15
|
-
let
|
|
16
|
-
|
|
17
|
-
let
|
|
18
|
-
completed:
|
|
19
|
-
total:
|
|
20
|
-
}) :
|
|
21
|
-
return /* @__PURE__ */
|
|
13
|
+
function m({ events: m, allEvents: h, isFinalized: g = !1, children: _ }) {
|
|
14
|
+
let { t: v } = e("openhands"), [y, b] = u.useState(!1), x = u.useId(), S = `${x}-toggle`;
|
|
15
|
+
if (m.length === 0) return null;
|
|
16
|
+
let C = m.find((e) => r(e)), w = m.filter(i).length, T = m.length, E = !!C, D = m[m.length - 1], O = null;
|
|
17
|
+
D && (r(D) ? O = c(D).title : i(D) && (O = c(D, (h ?? m).find((e) => r(e) && e.id === D.action_id)).title));
|
|
18
|
+
let k = E ? v(t.EVENT_GROUP$ACTIONS_PROGRESS, {
|
|
19
|
+
completed: w,
|
|
20
|
+
total: T
|
|
21
|
+
}) : v(t.EVENT_GROUP$ACTIONS_COMPLETED, { count: T }), A = y ? o : a;
|
|
22
|
+
return /* @__PURE__ */ p("div", {
|
|
22
23
|
className: "my-1 w-full py-1 text-sm",
|
|
23
24
|
"data-testid": "event-group",
|
|
24
|
-
children: [/* @__PURE__ */
|
|
25
|
-
id:
|
|
25
|
+
children: [/* @__PURE__ */ f("button", {
|
|
26
|
+
id: S,
|
|
26
27
|
type: "button",
|
|
27
|
-
onClick: () =>
|
|
28
|
-
"aria-controls":
|
|
29
|
-
"aria-expanded":
|
|
30
|
-
"aria-label":
|
|
28
|
+
onClick: () => b((e) => !e),
|
|
29
|
+
"aria-controls": x,
|
|
30
|
+
"aria-expanded": y,
|
|
31
|
+
"aria-label": v(y ? t.EVENT_GROUP$COLLAPSE : t.EVENT_GROUP$EXPAND),
|
|
31
32
|
"data-testid": "event-group-toggle",
|
|
32
33
|
className: "w-full flex items-center justify-between gap-2 text-left cursor-pointer",
|
|
33
|
-
children:
|
|
34
|
+
children: g ? /* @__PURE__ */ p("span", {
|
|
34
35
|
className: "flex items-center gap-2 min-w-0 font-normal text-[var(--oh-muted)]",
|
|
35
|
-
children: [/* @__PURE__ */
|
|
36
|
+
children: [/* @__PURE__ */ f(A, { className: "h-4 w-4 fill-[var(--oh-muted)] flex-shrink-0" }), /* @__PURE__ */ f("span", {
|
|
36
37
|
className: "truncate",
|
|
37
|
-
children:
|
|
38
|
+
children: k
|
|
38
39
|
})]
|
|
39
|
-
}) : /* @__PURE__ */
|
|
40
|
+
}) : /* @__PURE__ */ p(d, { children: [/* @__PURE__ */ p("span", {
|
|
40
41
|
className: "flex items-center gap-2 min-w-0 font-normal text-[var(--oh-muted)]",
|
|
41
|
-
children: [/* @__PURE__ */
|
|
42
|
+
children: [/* @__PURE__ */ f(A, { className: "h-4 w-4 fill-[var(--oh-muted)] flex-shrink-0" }), /* @__PURE__ */ f("span", {
|
|
42
43
|
className: "truncate",
|
|
43
|
-
children:
|
|
44
|
+
children: /* @__PURE__ */ f(s.Provider, {
|
|
45
|
+
value: !1,
|
|
46
|
+
children: O ?? k
|
|
47
|
+
})
|
|
44
48
|
})]
|
|
45
|
-
}), /* @__PURE__ */
|
|
49
|
+
}), /* @__PURE__ */ p("span", {
|
|
46
50
|
className: "flex items-center flex-shrink-0 font-normal text-[var(--oh-muted)]",
|
|
47
|
-
children: [/* @__PURE__ */
|
|
51
|
+
children: [/* @__PURE__ */ f("span", {
|
|
48
52
|
className: "truncate",
|
|
49
|
-
children:
|
|
50
|
-
}),
|
|
53
|
+
children: k
|
|
54
|
+
}), E ? /* @__PURE__ */ f(n, {
|
|
51
55
|
"data-testid": "spinner-icon",
|
|
52
56
|
className: "h-4 w-4 ml-2 inline animate-spin text-[var(--oh-muted)]"
|
|
53
57
|
}) : null]
|
|
54
58
|
})] })
|
|
55
|
-
}),
|
|
56
|
-
id:
|
|
59
|
+
}), y && /* @__PURE__ */ f("div", {
|
|
60
|
+
id: x,
|
|
57
61
|
role: "region",
|
|
58
|
-
"aria-labelledby":
|
|
62
|
+
"aria-labelledby": S,
|
|
59
63
|
className: "mt-1.5 flex flex-col",
|
|
60
64
|
"data-testid": "event-group-content",
|
|
61
|
-
children: /* @__PURE__ */
|
|
65
|
+
children: /* @__PURE__ */ f(l.Provider, {
|
|
62
66
|
value: !0,
|
|
63
|
-
children:
|
|
67
|
+
children: _
|
|
64
68
|
})
|
|
65
69
|
})]
|
|
66
70
|
});
|
|
67
71
|
}
|
|
68
72
|
//#endregion
|
|
69
|
-
export {
|
|
73
|
+
export { m as EventGroup };
|
|
70
74
|
|
|
71
75
|
//# sourceMappingURL=event-group.js.map
|
package/dist/components/conversation-events/chat/event-message-components/event-group.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-group.js","names":[],"sources":["../../../../../src/components/conversation-events/chat/event-message-components/event-group.tsx"],"sourcesContent":["import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { LoaderCircle } from \"lucide-react\";\nimport ArrowDown from \"#/icons/angle-down-solid.svg?react\";\nimport ArrowUp from \"#/icons/angle-up-solid.svg?react\";\nimport { OpenHandsEvent, ActionEvent } from \"#/types/agent-server/core\";\nimport {\n isActionEvent,\n isObservationEvent,\n} from \"#/types/agent-server/type-guards\";\nimport { I18nKey } from \"#/i18n/declaration\";\nimport { getEventContent } from \"../event-content-helpers/get-event-content\";\nimport { IsInEventGroupContext } from \"../../../features/chat/is-in-event-group-context\";\n\ninterface EventGroupProps {\n /** The events represented by this group. Used to compute the summary. */\n events: OpenHandsEvent[];\n /**\n * Full event history. Used to resolve the action that produced the latest\n * observation in the group so the summary title matches what the individual\n * card would show (e.g. \"Editing path/to/file\"). Falls back to `events` when\n * omitted.\n */\n allEvents?: OpenHandsEvent[];\n /**\n * `true` once an event outside this group has been emitted after it, so the\n * group is no longer the \"live\" tail of the chat. While `false` (the\n * default), the group keeps showing the most recent action's title as its\n * prominent summary, with the count of completed actions shown subtly on\n * the right.\n */\n isFinalized?: boolean;\n /** The fully-rendered event messages to show when the group is expanded. */\n children: React.ReactNode;\n}\n\n/**\n * Collapsible container that wraps a run of consecutive agent action/observation\n * events into a single summary card.\n *\n * Collapsed, while the group is still the live tail of the chat\n * (`isFinalized=false`):\n * - Left (prominent): the title of the most recent action/observation in\n * the group — i.e. either the action currently in flight, or the latest\n * completed step.\n * - Right (subdued): \"{completed}/{total} actions completed\" while at\n * least one action is still pending (with a spinner), otherwise\n * \"{count} actions completed\" followed by a success check.\n *\n * Collapsed, after the group has been \"moved past\" (`isFinalized=true`):\n * - \"{count} actions completed\" is promoted to the prominent foreground\n * style and the count is the only thing shown next to the chevron.\n *\n * Expanded:\n * - Renders the children verbatim, so each individual action/observation can\n * still be expanded the way it was before grouping.\n */\nexport function EventGroup({\n events,\n allEvents,\n isFinalized = false,\n children,\n}: EventGroupProps) {\n const { t } = useTranslation(\"openhands\");\n const [expanded, setExpanded] = React.useState(false);\n const contentId = React.useId();\n const buttonId = `${contentId}-toggle`;\n\n if (events.length === 0) {\n return null;\n }\n\n // Each ObservationEvent in the group is a completed action. An ActionEvent\n // that's still here (i.e. not yet replaced by its observation in the UI\n // events array) is an action currently in flight.\n const pendingAction = events.find((e): e is ActionEvent => isActionEvent(e));\n const completedCount = events.filter(isObservationEvent).length;\n const totalCount = events.length;\n const isRunning = !!pendingAction;\n\n // Title of the most recent groupable event. While running this is the\n // pending action; otherwise it's the latest observation, with its\n // originating action looked up so the title can be the action-style summary\n // (\"Editing path/to/file\") instead of the observation default.\n const latestEvent = events[events.length - 1];\n let latestTitle: React.ReactNode = null;\n if (latestEvent) {\n if (isActionEvent(latestEvent)) {\n latestTitle = getEventContent(latestEvent).title;\n } else if (isObservationEvent(latestEvent)) {\n const lookupSource = allEvents ?? events;\n const correspondingAction = lookupSource.find(\n (e): e is ActionEvent =>\n isActionEvent(e) && e.id === latestEvent.action_id,\n );\n latestTitle = getEventContent(latestEvent, correspondingAction).title;\n }\n }\n\n const countSummary = isRunning\n ? t(I18nKey.EVENT_GROUP$ACTIONS_PROGRESS, {\n completed: completedCount,\n total: totalCount,\n })\n : t(I18nKey.EVENT_GROUP$ACTIONS_COMPLETED, { count: totalCount });\n\n const Chevron = expanded ? ArrowUp : ArrowDown;\n\n return (\n <div className=\"my-1 w-full py-1 text-sm\" data-testid=\"event-group\">\n <button\n id={buttonId}\n type=\"button\"\n onClick={() => setExpanded((prev) => !prev)}\n aria-controls={contentId}\n aria-expanded={expanded}\n aria-label={\n expanded\n ? t(I18nKey.EVENT_GROUP$COLLAPSE)\n : t(I18nKey.EVENT_GROUP$EXPAND)\n }\n data-testid=\"event-group-toggle\"\n className=\"w-full flex items-center justify-between gap-2 text-left cursor-pointer\"\n >\n {isFinalized ? (\n <span className=\"flex items-center gap-2 min-w-0 font-normal text-[var(--oh-muted)]\">\n <Chevron className=\"h-4 w-4 fill-[var(--oh-muted)] flex-shrink-0\" />\n <span className=\"truncate\">{countSummary}</span>\n </span>\n ) : (\n <>\n <span className=\"flex items-center gap-2 min-w-0 font-normal text-[var(--oh-muted)]\">\n <Chevron className=\"h-4 w-4 fill-[var(--oh-muted)] flex-shrink-0\" />\n <span className=\"truncate\"
|
|
1
|
+
{"version":3,"file":"event-group.js","names":[],"sources":["../../../../../src/components/conversation-events/chat/event-message-components/event-group.tsx"],"sourcesContent":["import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { LoaderCircle } from \"lucide-react\";\nimport ArrowDown from \"#/icons/angle-down-solid.svg?react\";\nimport ArrowUp from \"#/icons/angle-up-solid.svg?react\";\nimport { OpenHandsEvent, ActionEvent } from \"#/types/agent-server/core\";\nimport {\n isActionEvent,\n isObservationEvent,\n} from \"#/types/agent-server/type-guards\";\nimport { I18nKey } from \"#/i18n/declaration\";\nimport { getEventContent } from \"../event-content-helpers/get-event-content\";\nimport { IsInEventGroupContext } from \"../../../features/chat/is-in-event-group-context\";\nimport { PathInteractiveContext } from \"../../../features/chat/path-component\";\n\ninterface EventGroupProps {\n /** The events represented by this group. Used to compute the summary. */\n events: OpenHandsEvent[];\n /**\n * Full event history. Used to resolve the action that produced the latest\n * observation in the group so the summary title matches what the individual\n * card would show (e.g. \"Editing path/to/file\"). Falls back to `events` when\n * omitted.\n */\n allEvents?: OpenHandsEvent[];\n /**\n * `true` once an event outside this group has been emitted after it, so the\n * group is no longer the \"live\" tail of the chat. While `false` (the\n * default), the group keeps showing the most recent action's title as its\n * prominent summary, with the count of completed actions shown subtly on\n * the right.\n */\n isFinalized?: boolean;\n /** The fully-rendered event messages to show when the group is expanded. */\n children: React.ReactNode;\n}\n\n/**\n * Collapsible container that wraps a run of consecutive agent action/observation\n * events into a single summary card.\n *\n * Collapsed, while the group is still the live tail of the chat\n * (`isFinalized=false`):\n * - Left (prominent): the title of the most recent action/observation in\n * the group — i.e. either the action currently in flight, or the latest\n * completed step.\n * - Right (subdued): \"{completed}/{total} actions completed\" while at\n * least one action is still pending (with a spinner), otherwise\n * \"{count} actions completed\" followed by a success check.\n *\n * Collapsed, after the group has been \"moved past\" (`isFinalized=true`):\n * - \"{count} actions completed\" is promoted to the prominent foreground\n * style and the count is the only thing shown next to the chevron.\n *\n * Expanded:\n * - Renders the children verbatim, so each individual action/observation can\n * still be expanded the way it was before grouping.\n */\nexport function EventGroup({\n events,\n allEvents,\n isFinalized = false,\n children,\n}: EventGroupProps) {\n const { t } = useTranslation(\"openhands\");\n const [expanded, setExpanded] = React.useState(false);\n const contentId = React.useId();\n const buttonId = `${contentId}-toggle`;\n\n if (events.length === 0) {\n return null;\n }\n\n // Each ObservationEvent in the group is a completed action. An ActionEvent\n // that's still here (i.e. not yet replaced by its observation in the UI\n // events array) is an action currently in flight.\n const pendingAction = events.find((e): e is ActionEvent => isActionEvent(e));\n const completedCount = events.filter(isObservationEvent).length;\n const totalCount = events.length;\n const isRunning = !!pendingAction;\n\n // Title of the most recent groupable event. While running this is the\n // pending action; otherwise it's the latest observation, with its\n // originating action looked up so the title can be the action-style summary\n // (\"Editing path/to/file\") instead of the observation default.\n const latestEvent = events[events.length - 1];\n let latestTitle: React.ReactNode = null;\n if (latestEvent) {\n if (isActionEvent(latestEvent)) {\n latestTitle = getEventContent(latestEvent).title;\n } else if (isObservationEvent(latestEvent)) {\n const lookupSource = allEvents ?? events;\n const correspondingAction = lookupSource.find(\n (e): e is ActionEvent =>\n isActionEvent(e) && e.id === latestEvent.action_id,\n );\n latestTitle = getEventContent(latestEvent, correspondingAction).title;\n }\n }\n\n const countSummary = isRunning\n ? t(I18nKey.EVENT_GROUP$ACTIONS_PROGRESS, {\n completed: completedCount,\n total: totalCount,\n })\n : t(I18nKey.EVENT_GROUP$ACTIONS_COMPLETED, { count: totalCount });\n\n const Chevron = expanded ? ArrowUp : ArrowDown;\n\n return (\n <div className=\"my-1 w-full py-1 text-sm\" data-testid=\"event-group\">\n <button\n id={buttonId}\n type=\"button\"\n onClick={() => setExpanded((prev) => !prev)}\n aria-controls={contentId}\n aria-expanded={expanded}\n aria-label={\n expanded\n ? t(I18nKey.EVENT_GROUP$COLLAPSE)\n : t(I18nKey.EVENT_GROUP$EXPAND)\n }\n data-testid=\"event-group-toggle\"\n className=\"w-full flex items-center justify-between gap-2 text-left cursor-pointer\"\n >\n {isFinalized ? (\n <span className=\"flex items-center gap-2 min-w-0 font-normal text-[var(--oh-muted)]\">\n <Chevron className=\"h-4 w-4 fill-[var(--oh-muted)] flex-shrink-0\" />\n <span className=\"truncate\">{countSummary}</span>\n </span>\n ) : (\n <>\n <span className=\"flex items-center gap-2 min-w-0 font-normal text-[var(--oh-muted)]\">\n <Chevron className=\"h-4 w-4 fill-[var(--oh-muted)] flex-shrink-0\" />\n <span className=\"truncate\">\n <PathInteractiveContext.Provider value={false}>\n {latestTitle ?? countSummary}\n </PathInteractiveContext.Provider>\n </span>\n </span>\n <span className=\"flex items-center flex-shrink-0 font-normal text-[var(--oh-muted)]\">\n <span className=\"truncate\">{countSummary}</span>\n {isRunning ? (\n <LoaderCircle\n data-testid=\"spinner-icon\"\n className=\"h-4 w-4 ml-2 inline animate-spin text-[var(--oh-muted)]\"\n />\n ) : null}\n </span>\n </>\n )}\n </button>\n\n {expanded && (\n <div\n id={contentId}\n role=\"region\"\n aria-labelledby={buttonId}\n className=\"mt-1.5 flex flex-col\"\n data-testid=\"event-group-content\"\n >\n <IsInEventGroupContext.Provider value>\n {children}\n </IsInEventGroupContext.Provider>\n </div>\n )}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;AA0DA,SAAgB,EAAW,EACzB,WACA,cACA,iBAAc,IACd,eACkB;CAClB,IAAM,EAAE,SAAM,EAAe,WAAW,GAClC,CAAC,GAAU,KAAe,EAAM,SAAS,EAAK,GAC9C,IAAY,EAAM,MAAM,GACxB,IAAW,GAAG,EAAU;CAE9B,IAAI,EAAO,WAAW,GACpB,OAAO;CAMT,IAAM,IAAgB,EAAO,MAAM,MAAwB,EAAc,CAAC,CAAC,GACrE,IAAiB,EAAO,OAAO,CAAkB,EAAE,QACnD,IAAa,EAAO,QACpB,IAAY,CAAC,CAAC,GAMd,IAAc,EAAO,EAAO,SAAS,IACvC,IAA+B;CACnC,AAAI,MACE,EAAc,CAAW,IAC3B,IAAc,EAAgB,CAAW,EAAE,QAClC,EAAmB,CAAW,MAMvC,IAAc,EAAgB,IALT,KAAa,GACO,MACtC,MACC,EAAc,CAAC,KAAK,EAAE,OAAO,EAAY,SAEF,CAAmB,EAAE;CAIpE,IAAM,IAAe,IACjB,EAAE,EAAQ,8BAA8B;EACtC,WAAW;EACX,OAAO;CACT,CAAC,IACD,EAAE,EAAQ,+BAA+B,EAAE,OAAO,EAAW,CAAC,GAE5D,IAAU,IAAW,IAAU;CAErC,OACE,kBAAC,OAAD;EAAK,WAAU;EAA2B,eAAY;YAAtD,CACE,kBAAC,UAAD;GACE,IAAI;GACJ,MAAK;GACL,eAAe,GAAa,MAAS,CAAC,CAAI;GAC1C,iBAAe;GACf,iBAAe;GACf,cAEM,EADJ,IACM,EAAQ,uBACR,EAAQ,kBAAkB;GAElC,eAAY;GACZ,WAAU;aAET,IACC,kBAAC,QAAD;IAAM,WAAU;cAAhB,CACE,kBAAC,GAAD,EAAS,WAAU,+CAAgD,CAAA,GACnE,kBAAC,QAAD;KAAM,WAAU;eAAY;IAAmB,CAAA,CAC3C;QAEN,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,QAAD;IAAM,WAAU;cAAhB,CACE,kBAAC,GAAD,EAAS,WAAU,+CAAgD,CAAA,GACnE,kBAAC,QAAD;KAAM,WAAU;eACd,kBAAC,EAAuB,UAAxB;MAAiC,OAAO;gBACrC,KAAe;KACe,CAAA;IAC7B,CAAA,CACF;OACN,kBAAC,QAAD;IAAM,WAAU;cAAhB,CACE,kBAAC,QAAD;KAAM,WAAU;eAAY;IAAmB,CAAA,GAC9C,IACC,kBAAC,GAAD;KACE,eAAY;KACZ,WAAU;IACX,CAAA,IACC,IACA;KACN,EAAA,CAAA;EAEE,CAAA,GAEP,KACC,kBAAC,OAAD;GACE,IAAI;GACJ,MAAK;GACL,mBAAiB;GACjB,WAAU;GACV,eAAY;aAEZ,kBAAC,EAAsB,UAAvB;IAAgC,OAAA;IAC7B;GAC6B,CAAA;EAC7B,CAAA,CAEJ;;AAET"}
|
package/dist/components/conversation-events/chat/event-message-components/finish-event-message.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
require("../../../../_virtual/_rolldown/runtime.cjs");const e=require("../../../features/chat/chat-message.cjs"),t=require("./critic-result-display.cjs"),n=require("../event-content-helpers/get-event-content.cjs");let r=require("react/jsx-runtime");function i({event:i,isFromPlanningAgent:a=!1}){let o=n.getEventContent(i);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.ChatMessage,{type:`agent`,message:typeof o.details==`string`?o.details:String(o.details),isFromPlanningAgent:a}),i.critic_result!=null&&(0,r.jsx)(t.CriticResultDisplay,{criticResult:i.critic_result})]})}exports.FinishEventMessage=i;
|
|
1
|
+
require("../../../../_virtual/_rolldown/runtime.cjs");const e=require("../../../features/chat/chat-message.cjs"),t=require("./critic-result-display.cjs"),n=require("../event-content-helpers/get-event-content.cjs");let r=require("react/jsx-runtime");function i({event:i,isFromPlanningAgent:a=!1}){let o=n.getEventContent(i);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.ChatMessage,{type:`agent`,message:typeof o.details==`string`?o.details:String(o.details),isFromPlanningAgent:a,timestamp:i.timestamp}),i.critic_result!=null&&(0,r.jsx)(t.CriticResultDisplay,{criticResult:i.critic_result})]})}exports.FinishEventMessage=i;
|
|
2
2
|
//# sourceMappingURL=finish-event-message.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finish-event-message.cjs","names":[],"sources":["../../../../../src/components/conversation-events/chat/event-message-components/finish-event-message.tsx"],"sourcesContent":["import { ActionEvent } from \"#/types/agent-server/core\";\nimport { FinishAction } from \"#/types/agent-server/core/base/action\";\nimport { ChatMessage } from \"../../../features/chat/chat-message\";\nimport { getEventContent } from \"../event-content-helpers/get-event-content\";\nimport { CriticResultDisplay } from \"./critic-result-display\";\n\ninterface FinishEventMessageProps {\n event: ActionEvent<FinishAction>;\n isFromPlanningAgent?: boolean;\n}\n\nexport function FinishEventMessage({\n event,\n isFromPlanningAgent = false,\n}: FinishEventMessageProps) {\n const eventContent = getEventContent(event);\n const message =\n typeof eventContent.details === \"string\"\n ? eventContent.details\n : String(eventContent.details);\n\n return (\n <>\n <ChatMessage\n type=\"agent\"\n message={message}\n isFromPlanningAgent={isFromPlanningAgent}\n />\n {event.critic_result != null && (\n <CriticResultDisplay criticResult={event.critic_result} />\n )}\n </>\n );\n}\n"],"mappings":"yPAWA,SAAgB,EAAmB,CACjC,QACA,sBAAsB,IACI,CAC1B,IAAM,EAAe,EAAA,gBAAgB,CAAK,EAM1C,OACE,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,KAAC,EAAA,YAAD,CACE,KAAK,QACI,QARb,OAAO,EAAa,SAAY,SAC5B,EAAa,QACb,OAAO,EAAa,OAAO,EAON,
|
|
1
|
+
{"version":3,"file":"finish-event-message.cjs","names":[],"sources":["../../../../../src/components/conversation-events/chat/event-message-components/finish-event-message.tsx"],"sourcesContent":["import { ActionEvent } from \"#/types/agent-server/core\";\nimport { FinishAction } from \"#/types/agent-server/core/base/action\";\nimport { ChatMessage } from \"../../../features/chat/chat-message\";\nimport { getEventContent } from \"../event-content-helpers/get-event-content\";\nimport { CriticResultDisplay } from \"./critic-result-display\";\n\ninterface FinishEventMessageProps {\n event: ActionEvent<FinishAction>;\n isFromPlanningAgent?: boolean;\n}\n\nexport function FinishEventMessage({\n event,\n isFromPlanningAgent = false,\n}: FinishEventMessageProps) {\n const eventContent = getEventContent(event);\n const message =\n typeof eventContent.details === \"string\"\n ? eventContent.details\n : String(eventContent.details);\n\n return (\n <>\n <ChatMessage\n type=\"agent\"\n message={message}\n isFromPlanningAgent={isFromPlanningAgent}\n timestamp={event.timestamp}\n />\n {event.critic_result != null && (\n <CriticResultDisplay criticResult={event.critic_result} />\n )}\n </>\n );\n}\n"],"mappings":"yPAWA,SAAgB,EAAmB,CACjC,QACA,sBAAsB,IACI,CAC1B,IAAM,EAAe,EAAA,gBAAgB,CAAK,EAM1C,OACE,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,KAAC,EAAA,YAAD,CACE,KAAK,QACI,QARb,OAAO,EAAa,SAAY,SAC5B,EAAa,QACb,OAAO,EAAa,OAAO,EAON,sBACrB,UAAW,EAAM,SAClB,CAAA,EACA,EAAM,eAAiB,OACtB,EAAA,EAAA,KAAC,EAAA,oBAAD,CAAqB,aAAc,EAAM,aAAgB,CAAA,CAE3D,CAAA,CAAA,CAEN"}
|
package/dist/components/conversation-events/chat/event-message-components/finish-event-message.js
CHANGED
|
@@ -8,7 +8,8 @@ function o({ event: o, isFromPlanningAgent: s = !1 }) {
|
|
|
8
8
|
return /* @__PURE__ */ a(r, { children: [/* @__PURE__ */ i(e, {
|
|
9
9
|
type: "agent",
|
|
10
10
|
message: typeof c.details == "string" ? c.details : String(c.details),
|
|
11
|
-
isFromPlanningAgent: s
|
|
11
|
+
isFromPlanningAgent: s,
|
|
12
|
+
timestamp: o.timestamp
|
|
12
13
|
}), o.critic_result != null && /* @__PURE__ */ i(t, { criticResult: o.critic_result })] });
|
|
13
14
|
}
|
|
14
15
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finish-event-message.js","names":[],"sources":["../../../../../src/components/conversation-events/chat/event-message-components/finish-event-message.tsx"],"sourcesContent":["import { ActionEvent } from \"#/types/agent-server/core\";\nimport { FinishAction } from \"#/types/agent-server/core/base/action\";\nimport { ChatMessage } from \"../../../features/chat/chat-message\";\nimport { getEventContent } from \"../event-content-helpers/get-event-content\";\nimport { CriticResultDisplay } from \"./critic-result-display\";\n\ninterface FinishEventMessageProps {\n event: ActionEvent<FinishAction>;\n isFromPlanningAgent?: boolean;\n}\n\nexport function FinishEventMessage({\n event,\n isFromPlanningAgent = false,\n}: FinishEventMessageProps) {\n const eventContent = getEventContent(event);\n const message =\n typeof eventContent.details === \"string\"\n ? eventContent.details\n : String(eventContent.details);\n\n return (\n <>\n <ChatMessage\n type=\"agent\"\n message={message}\n isFromPlanningAgent={isFromPlanningAgent}\n />\n {event.critic_result != null && (\n <CriticResultDisplay criticResult={event.critic_result} />\n )}\n </>\n );\n}\n"],"mappings":";;;;;AAWA,SAAgB,EAAmB,EACjC,UACA,yBAAsB,MACI;CAC1B,IAAM,IAAe,EAAgB,CAAK;CAM1C,OACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;EACE,MAAK;EACI,SARb,OAAO,EAAa,WAAY,WAC5B,EAAa,UACb,OAAO,EAAa,OAAO;EAON;
|
|
1
|
+
{"version":3,"file":"finish-event-message.js","names":[],"sources":["../../../../../src/components/conversation-events/chat/event-message-components/finish-event-message.tsx"],"sourcesContent":["import { ActionEvent } from \"#/types/agent-server/core\";\nimport { FinishAction } from \"#/types/agent-server/core/base/action\";\nimport { ChatMessage } from \"../../../features/chat/chat-message\";\nimport { getEventContent } from \"../event-content-helpers/get-event-content\";\nimport { CriticResultDisplay } from \"./critic-result-display\";\n\ninterface FinishEventMessageProps {\n event: ActionEvent<FinishAction>;\n isFromPlanningAgent?: boolean;\n}\n\nexport function FinishEventMessage({\n event,\n isFromPlanningAgent = false,\n}: FinishEventMessageProps) {\n const eventContent = getEventContent(event);\n const message =\n typeof eventContent.details === \"string\"\n ? eventContent.details\n : String(eventContent.details);\n\n return (\n <>\n <ChatMessage\n type=\"agent\"\n message={message}\n isFromPlanningAgent={isFromPlanningAgent}\n timestamp={event.timestamp}\n />\n {event.critic_result != null && (\n <CriticResultDisplay criticResult={event.critic_result} />\n )}\n </>\n );\n}\n"],"mappings":";;;;;AAWA,SAAgB,EAAmB,EACjC,UACA,yBAAsB,MACI;CAC1B,IAAM,IAAe,EAAgB,CAAK;CAM1C,OACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;EACE,MAAK;EACI,SARb,OAAO,EAAa,WAAY,WAC5B,EAAa,UACb,OAAO,EAAa,OAAO;EAON;EACrB,WAAW,EAAM;CAClB,CAAA,GACA,EAAM,iBAAiB,QACtB,kBAAC,GAAD,EAAqB,cAAc,EAAM,cAAgB,CAAA,CAE3D,EAAA,CAAA;AAEN"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
require("../../../../_virtual/_rolldown/runtime.cjs");const e=require("../../../../i18n/declaration.cjs"),t=require("../../../../types/agent-server/type-guards.cjs"),n=require("../../../features/chat/generic-event-message.cjs"),r=require("../../../../icons/skills.cjs"),i=require("
|
|
1
|
+
require("../../../../_virtual/_rolldown/runtime.cjs");const e=require("../../../../i18n/declaration.cjs"),t=require("../../../../types/agent-server/type-guards.cjs"),n=require("../../../features/chat/generic-event-message.cjs"),r=require("../../../../icons/skills.cjs"),i=require("../event-content-helpers/get-observation-result.cjs"),a=require("../event-content-helpers/create-skill-ready-event.cjs"),o=require("../../../features/chat/tool-visualizers/primitives/markdown-file-preview.cjs"),s=require("../event-content-helpers/get-event-content.cjs"),c=require("../event-content-helpers/get-invoke-skill-items.cjs"),l=require("./skill-ready-content-list.cjs");let u=require("react/jsx-runtime");function d(n){if(a.isSkillReadyEvent(n))return n._skillReadyItems.length>0?{items:n._skillReadyItems,titleKey:e.I18nKey.SKILLS$TRIGGERED_SKILL_KNOWLEDGE}:null;if(t.isObservationEvent(n)&&n.observation.kind===`InvokeSkillObservation`){let t=c.getInvokeSkillItems(n);return t.length>0?{items:t,titleKey:e.I18nKey.SKILLS$INVOKED_SKILL_KNOWLEDGE}:null}return null}function f({event:e,correspondingAction:c}){let{title:f,details:p}=s.getEventContent(e,c);if(!a.isSkillReadyEvent(e)&&t.isObservationEvent(e)&&e.observation.kind===`TaskTrackerObservation`)return(0,u.jsx)(`div`,{children:p});let m;a.isSkillReadyEvent(e)?m=`success`:t.isObservationEvent(e)?m=i.getObservationResult(e):t.isACPToolCallEvent(e)&&(m=i.getACPToolCallResult(e));let h=d(e),g=h?(0,u.jsx)(l.SkillReadyContentList,{items:h.items,titleKey:h.titleKey}):p,_=!a.isSkillReadyEvent(e)&&o.isMarkdownFileEditorEvent(e,c);return(0,u.jsx)(`div`,{children:(0,u.jsx)(n.GenericEventMessage,{title:f,details:g,success:m,initiallyExpanded:_,timestamp:e.timestamp,titleIcon:h?(0,u.jsx)(r.default,{className:`h-4 w-4 stroke-[var(--oh-muted)] flex-shrink-0 mr-2`}):void 0})})}exports.GenericEventMessageWrapper=f;
|
|
2
2
|
//# sourceMappingURL=generic-event-message-wrapper.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-event-message-wrapper.cjs","names":[],"sources":["../../../../../src/components/conversation-events/chat/event-message-components/generic-event-message-wrapper.tsx"],"sourcesContent":["import {\n OpenHandsEvent,\n ActionEvent,\n ObservationEvent,\n} from \"#/types/agent-server/core\";\nimport { InvokeSkillObservation } from \"#/types/agent-server/core/base/observation\";\nimport { I18nKey } from \"#/i18n/declaration\";\nimport { GenericEventMessage } from \"../../../features/chat/generic-event-message\";\nimport { getEventContent } from \"../event-content-helpers/get-event-content\";\nimport {\n getACPToolCallResult,\n getObservationResult,\n ObservationResultStatus,\n} from \"../event-content-helpers/get-observation-result\";\nimport {\n isACPToolCallEvent,\n isObservationEvent,\n} from \"#/types/agent-server/type-guards\";\nimport {\n SkillReadyEvent,\n SkillReadyItem,\n isSkillReadyEvent,\n} from \"../event-content-helpers/create-skill-ready-event\";\nimport { getInvokeSkillItems } from \"../event-content-helpers/get-invoke-skill-items\";\nimport {
|
|
1
|
+
{"version":3,"file":"generic-event-message-wrapper.cjs","names":[],"sources":["../../../../../src/components/conversation-events/chat/event-message-components/generic-event-message-wrapper.tsx"],"sourcesContent":["import {\n OpenHandsEvent,\n ActionEvent,\n ObservationEvent,\n} from \"#/types/agent-server/core\";\nimport { InvokeSkillObservation } from \"#/types/agent-server/core/base/observation\";\nimport { I18nKey } from \"#/i18n/declaration\";\nimport { GenericEventMessage } from \"../../../features/chat/generic-event-message\";\nimport { getEventContent } from \"../event-content-helpers/get-event-content\";\nimport {\n getACPToolCallResult,\n getObservationResult,\n ObservationResultStatus,\n} from \"../event-content-helpers/get-observation-result\";\nimport {\n isACPToolCallEvent,\n isObservationEvent,\n} from \"#/types/agent-server/type-guards\";\nimport {\n SkillReadyEvent,\n SkillReadyItem,\n isSkillReadyEvent,\n} from \"../event-content-helpers/create-skill-ready-event\";\nimport { getInvokeSkillItems } from \"../event-content-helpers/get-invoke-skill-items\";\nimport { SkillReadyContentList } from \"./skill-ready-content-list\";\nimport SkillsIcon from \"#/icons/skills.svg?react\";\nimport { isMarkdownFileEditorEvent } from \"#/components/features/chat/tool-visualizers/primitives/markdown-file-preview\";\n\ninterface GenericEventMessageWrapperProps {\n event: OpenHandsEvent | SkillReadyEvent;\n isLastMessage: boolean;\n correspondingAction?: ActionEvent;\n}\n\n/**\n * Resolves the expandable skill-knowledge list shared by Skill Ready events and\n * invoke-skill tool observations. Returns the list items and their header\n * label, or null when the event carries no skill knowledge (so the caller keeps\n * the default details body). Additional skill-knowledge sources slot in as one\n * more branch here.\n */\nfunction getSkillKnowledge(\n event: OpenHandsEvent | SkillReadyEvent,\n): { items: SkillReadyItem[]; titleKey: I18nKey } | null {\n if (isSkillReadyEvent(event)) {\n return event._skillReadyItems.length > 0\n ? {\n items: event._skillReadyItems,\n titleKey: I18nKey.SKILLS$TRIGGERED_SKILL_KNOWLEDGE,\n }\n : null;\n }\n if (\n isObservationEvent(event) &&\n event.observation.kind === \"InvokeSkillObservation\"\n ) {\n const items = getInvokeSkillItems(\n event as ObservationEvent<InvokeSkillObservation>,\n );\n return items.length > 0\n ? { items, titleKey: I18nKey.SKILLS$INVOKED_SKILL_KNOWLEDGE }\n : null;\n }\n return null;\n}\n\nexport function GenericEventMessageWrapper({\n event,\n correspondingAction,\n}: GenericEventMessageWrapperProps) {\n const { title, details } = getEventContent(event, correspondingAction);\n\n // TaskTrackerObservation has its own rendering\n if (\n !isSkillReadyEvent(event) &&\n isObservationEvent(event) &&\n event.observation.kind === \"TaskTrackerObservation\"\n ) {\n return <div>{details}</div>;\n }\n\n // Determine success status\n let success: ObservationResultStatus | undefined;\n if (isSkillReadyEvent(event)) {\n success = \"success\";\n } else if (isObservationEvent(event)) {\n success = getObservationResult(event);\n } else if (isACPToolCallEvent(event)) {\n success = getACPToolCallResult(event);\n }\n\n // Skill Ready events and invoke-skill tool observations both render the\n // expandable skill-knowledge list (with the skills icon); they differ only in\n // the header label.\n const skillKnowledge = getSkillKnowledge(event);\n const bodyDetails = skillKnowledge ? (\n <SkillReadyContentList\n items={skillKnowledge.items}\n titleKey={skillKnowledge.titleKey}\n />\n ) : (\n details\n );\n\n // Markdown file-editor cards carry a clipped preview; expand them by\n // default so the artifact is visible without an extra chevron click.\n const initiallyExpanded =\n !isSkillReadyEvent(event) &&\n isMarkdownFileEditorEvent(event, correspondingAction);\n\n return (\n <div>\n <GenericEventMessage\n title={title}\n details={bodyDetails}\n success={success}\n initiallyExpanded={initiallyExpanded}\n timestamp={event.timestamp}\n titleIcon={\n skillKnowledge ? (\n <SkillsIcon className=\"h-4 w-4 stroke-[var(--oh-muted)] flex-shrink-0 mr-2\" />\n ) : undefined\n }\n />\n </div>\n );\n}\n"],"mappings":"wrBAyCA,SAAS,EACP,EACuD,CACvD,GAAI,EAAA,kBAAkB,CAAK,EACzB,OAAO,EAAM,iBAAiB,OAAS,EACnC,CACE,MAAO,EAAM,iBACb,SAAU,EAAA,QAAQ,gCACpB,EACA,KAEN,GACE,EAAA,mBAAmB,CAAK,GACxB,EAAM,YAAY,OAAS,yBAC3B,CACA,IAAM,EAAQ,EAAA,oBACZ,CACF,EACA,OAAO,EAAM,OAAS,EAClB,CAAE,QAAO,SAAU,EAAA,QAAQ,8BAA+B,EAC1D,IACN,CACA,OAAO,IACT,CAEA,SAAgB,EAA2B,CACzC,QACA,uBACkC,CAClC,GAAM,CAAE,QAAO,WAAY,EAAA,gBAAgB,EAAO,CAAmB,EAGrE,GACE,CAAC,EAAA,kBAAkB,CAAK,GACxB,EAAA,mBAAmB,CAAK,GACxB,EAAM,YAAY,OAAS,yBAE3B,OAAO,EAAA,EAAA,KAAC,MAAD,CAAA,SAAM,CAAa,CAAA,EAI5B,IAAI,EACA,EAAA,kBAAkB,CAAK,EACzB,EAAU,UACD,EAAA,mBAAmB,CAAK,EACjC,EAAU,EAAA,qBAAqB,CAAK,EAC3B,EAAA,mBAAmB,CAAK,IACjC,EAAU,EAAA,qBAAqB,CAAK,GAMtC,IAAM,EAAiB,EAAkB,CAAK,EACxC,EAAc,GAClB,EAAA,EAAA,KAAC,EAAA,sBAAD,CACE,MAAO,EAAe,MACtB,SAAU,EAAe,QAC1B,CAAA,EAED,EAKI,EACJ,CAAC,EAAA,kBAAkB,CAAK,GACxB,EAAA,0BAA0B,EAAO,CAAmB,EAEtD,OACE,EAAA,EAAA,KAAC,MAAD,CAAA,UACE,EAAA,EAAA,KAAC,EAAA,oBAAD,CACS,QACP,QAAS,EACA,UACU,oBACnB,UAAW,EAAM,UACjB,UACE,GACE,EAAA,EAAA,KAAC,EAAA,QAAD,CAAY,UAAU,qDAAuD,CAAA,EAC3E,IAAA,EAEP,CAAA,CACE,CAAA,CAET"}
|
|
@@ -5,5 +5,5 @@ interface GenericEventMessageWrapperProps {
|
|
|
5
5
|
isLastMessage: boolean;
|
|
6
6
|
correspondingAction?: ActionEvent;
|
|
7
7
|
}
|
|
8
|
-
export declare function GenericEventMessageWrapper({ event,
|
|
8
|
+
export declare function GenericEventMessageWrapper({ event, correspondingAction, }: GenericEventMessageWrapperProps): import("react").JSX.Element;
|
|
9
9
|
export {};
|
|
@@ -2,22 +2,21 @@ import { I18nKey as e } from "../../../../i18n/declaration.js";
|
|
|
2
2
|
import { isACPToolCallEvent as t, isObservationEvent as n } from "../../../../types/agent-server/type-guards.js";
|
|
3
3
|
import { GenericEventMessage as r } from "../../../features/chat/generic-event-message.js";
|
|
4
4
|
import i from "../../../../icons/skills.js";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import { jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
5
|
+
import { getACPToolCallResult as a, getObservationResult as o } from "../event-content-helpers/get-observation-result.js";
|
|
6
|
+
import { isSkillReadyEvent as s } from "../event-content-helpers/create-skill-ready-event.js";
|
|
7
|
+
import { isMarkdownFileEditorEvent as c } from "../../../features/chat/tool-visualizers/primitives/markdown-file-preview.js";
|
|
8
|
+
import { getEventContent as l } from "../event-content-helpers/get-event-content.js";
|
|
9
|
+
import { getInvokeSkillItems as u } from "../event-content-helpers/get-invoke-skill-items.js";
|
|
10
|
+
import { SkillReadyContentList as d } from "./skill-ready-content-list.js";
|
|
11
|
+
import { jsx as f } from "react/jsx-runtime";
|
|
13
12
|
//#region src/components/conversation-events/chat/event-message-components/generic-event-message-wrapper.tsx
|
|
14
|
-
function
|
|
15
|
-
if (
|
|
13
|
+
function p(t) {
|
|
14
|
+
if (s(t)) return t._skillReadyItems.length > 0 ? {
|
|
16
15
|
items: t._skillReadyItems,
|
|
17
16
|
titleKey: e.SKILLS$TRIGGERED_SKILL_KNOWLEDGE
|
|
18
17
|
} : null;
|
|
19
18
|
if (n(t) && t.observation.kind === "InvokeSkillObservation") {
|
|
20
|
-
let n =
|
|
19
|
+
let n = u(t);
|
|
21
20
|
return n.length > 0 ? {
|
|
22
21
|
items: n,
|
|
23
22
|
titleKey: e.SKILLS$INVOKED_SKILL_KNOWLEDGE
|
|
@@ -25,24 +24,25 @@ function h(t) {
|
|
|
25
24
|
}
|
|
26
25
|
return null;
|
|
27
26
|
}
|
|
28
|
-
function
|
|
29
|
-
let { title:
|
|
30
|
-
if (!
|
|
31
|
-
let
|
|
32
|
-
|
|
33
|
-
let
|
|
34
|
-
items:
|
|
35
|
-
titleKey:
|
|
36
|
-
}) :
|
|
37
|
-
return /* @__PURE__ */
|
|
38
|
-
title:
|
|
39
|
-
details:
|
|
40
|
-
success:
|
|
41
|
-
initiallyExpanded:
|
|
42
|
-
|
|
43
|
-
|
|
27
|
+
function m({ event: e, correspondingAction: u }) {
|
|
28
|
+
let { title: m, details: h } = l(e, u);
|
|
29
|
+
if (!s(e) && n(e) && e.observation.kind === "TaskTrackerObservation") return /* @__PURE__ */ f("div", { children: h });
|
|
30
|
+
let g;
|
|
31
|
+
s(e) ? g = "success" : n(e) ? g = o(e) : t(e) && (g = a(e));
|
|
32
|
+
let _ = p(e), v = _ ? /* @__PURE__ */ f(d, {
|
|
33
|
+
items: _.items,
|
|
34
|
+
titleKey: _.titleKey
|
|
35
|
+
}) : h, y = !s(e) && c(e, u);
|
|
36
|
+
return /* @__PURE__ */ f("div", { children: /* @__PURE__ */ f(r, {
|
|
37
|
+
title: m,
|
|
38
|
+
details: v,
|
|
39
|
+
success: g,
|
|
40
|
+
initiallyExpanded: y,
|
|
41
|
+
timestamp: e.timestamp,
|
|
42
|
+
titleIcon: _ ? /* @__PURE__ */ f(i, { className: "h-4 w-4 stroke-[var(--oh-muted)] flex-shrink-0 mr-2" }) : void 0
|
|
43
|
+
}) });
|
|
44
44
|
}
|
|
45
45
|
//#endregion
|
|
46
|
-
export {
|
|
46
|
+
export { m as GenericEventMessageWrapper };
|
|
47
47
|
|
|
48
48
|
//# sourceMappingURL=generic-event-message-wrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-event-message-wrapper.js","names":[],"sources":["../../../../../src/components/conversation-events/chat/event-message-components/generic-event-message-wrapper.tsx"],"sourcesContent":["import {\n OpenHandsEvent,\n ActionEvent,\n ObservationEvent,\n} from \"#/types/agent-server/core\";\nimport { InvokeSkillObservation } from \"#/types/agent-server/core/base/observation\";\nimport { I18nKey } from \"#/i18n/declaration\";\nimport { GenericEventMessage } from \"../../../features/chat/generic-event-message\";\nimport { getEventContent } from \"../event-content-helpers/get-event-content\";\nimport {\n getACPToolCallResult,\n getObservationResult,\n ObservationResultStatus,\n} from \"../event-content-helpers/get-observation-result\";\nimport {\n isACPToolCallEvent,\n isObservationEvent,\n} from \"#/types/agent-server/type-guards\";\nimport {\n SkillReadyEvent,\n SkillReadyItem,\n isSkillReadyEvent,\n} from \"../event-content-helpers/create-skill-ready-event\";\nimport { getInvokeSkillItems } from \"../event-content-helpers/get-invoke-skill-items\";\nimport {
|
|
1
|
+
{"version":3,"file":"generic-event-message-wrapper.js","names":[],"sources":["../../../../../src/components/conversation-events/chat/event-message-components/generic-event-message-wrapper.tsx"],"sourcesContent":["import {\n OpenHandsEvent,\n ActionEvent,\n ObservationEvent,\n} from \"#/types/agent-server/core\";\nimport { InvokeSkillObservation } from \"#/types/agent-server/core/base/observation\";\nimport { I18nKey } from \"#/i18n/declaration\";\nimport { GenericEventMessage } from \"../../../features/chat/generic-event-message\";\nimport { getEventContent } from \"../event-content-helpers/get-event-content\";\nimport {\n getACPToolCallResult,\n getObservationResult,\n ObservationResultStatus,\n} from \"../event-content-helpers/get-observation-result\";\nimport {\n isACPToolCallEvent,\n isObservationEvent,\n} from \"#/types/agent-server/type-guards\";\nimport {\n SkillReadyEvent,\n SkillReadyItem,\n isSkillReadyEvent,\n} from \"../event-content-helpers/create-skill-ready-event\";\nimport { getInvokeSkillItems } from \"../event-content-helpers/get-invoke-skill-items\";\nimport { SkillReadyContentList } from \"./skill-ready-content-list\";\nimport SkillsIcon from \"#/icons/skills.svg?react\";\nimport { isMarkdownFileEditorEvent } from \"#/components/features/chat/tool-visualizers/primitives/markdown-file-preview\";\n\ninterface GenericEventMessageWrapperProps {\n event: OpenHandsEvent | SkillReadyEvent;\n isLastMessage: boolean;\n correspondingAction?: ActionEvent;\n}\n\n/**\n * Resolves the expandable skill-knowledge list shared by Skill Ready events and\n * invoke-skill tool observations. Returns the list items and their header\n * label, or null when the event carries no skill knowledge (so the caller keeps\n * the default details body). Additional skill-knowledge sources slot in as one\n * more branch here.\n */\nfunction getSkillKnowledge(\n event: OpenHandsEvent | SkillReadyEvent,\n): { items: SkillReadyItem[]; titleKey: I18nKey } | null {\n if (isSkillReadyEvent(event)) {\n return event._skillReadyItems.length > 0\n ? {\n items: event._skillReadyItems,\n titleKey: I18nKey.SKILLS$TRIGGERED_SKILL_KNOWLEDGE,\n }\n : null;\n }\n if (\n isObservationEvent(event) &&\n event.observation.kind === \"InvokeSkillObservation\"\n ) {\n const items = getInvokeSkillItems(\n event as ObservationEvent<InvokeSkillObservation>,\n );\n return items.length > 0\n ? { items, titleKey: I18nKey.SKILLS$INVOKED_SKILL_KNOWLEDGE }\n : null;\n }\n return null;\n}\n\nexport function GenericEventMessageWrapper({\n event,\n correspondingAction,\n}: GenericEventMessageWrapperProps) {\n const { title, details } = getEventContent(event, correspondingAction);\n\n // TaskTrackerObservation has its own rendering\n if (\n !isSkillReadyEvent(event) &&\n isObservationEvent(event) &&\n event.observation.kind === \"TaskTrackerObservation\"\n ) {\n return <div>{details}</div>;\n }\n\n // Determine success status\n let success: ObservationResultStatus | undefined;\n if (isSkillReadyEvent(event)) {\n success = \"success\";\n } else if (isObservationEvent(event)) {\n success = getObservationResult(event);\n } else if (isACPToolCallEvent(event)) {\n success = getACPToolCallResult(event);\n }\n\n // Skill Ready events and invoke-skill tool observations both render the\n // expandable skill-knowledge list (with the skills icon); they differ only in\n // the header label.\n const skillKnowledge = getSkillKnowledge(event);\n const bodyDetails = skillKnowledge ? (\n <SkillReadyContentList\n items={skillKnowledge.items}\n titleKey={skillKnowledge.titleKey}\n />\n ) : (\n details\n );\n\n // Markdown file-editor cards carry a clipped preview; expand them by\n // default so the artifact is visible without an extra chevron click.\n const initiallyExpanded =\n !isSkillReadyEvent(event) &&\n isMarkdownFileEditorEvent(event, correspondingAction);\n\n return (\n <div>\n <GenericEventMessage\n title={title}\n details={bodyDetails}\n success={success}\n initiallyExpanded={initiallyExpanded}\n timestamp={event.timestamp}\n titleIcon={\n skillKnowledge ? (\n <SkillsIcon className=\"h-4 w-4 stroke-[var(--oh-muted)] flex-shrink-0 mr-2\" />\n ) : undefined\n }\n />\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;AAyCA,SAAS,EACP,GACuD;CACvD,IAAI,EAAkB,CAAK,GACzB,OAAO,EAAM,iBAAiB,SAAS,IACnC;EACE,OAAO,EAAM;EACb,UAAU,EAAQ;CACpB,IACA;CAEN,IACE,EAAmB,CAAK,KACxB,EAAM,YAAY,SAAS,0BAC3B;EACA,IAAM,IAAQ,EACZ,CACF;EACA,OAAO,EAAM,SAAS,IAClB;GAAE;GAAO,UAAU,EAAQ;EAA+B,IAC1D;CACN;CACA,OAAO;AACT;AAEA,SAAgB,EAA2B,EACzC,UACA,0BACkC;CAClC,IAAM,EAAE,UAAO,eAAY,EAAgB,GAAO,CAAmB;CAGrE,IACE,CAAC,EAAkB,CAAK,KACxB,EAAmB,CAAK,KACxB,EAAM,YAAY,SAAS,0BAE3B,OAAO,kBAAC,OAAD,EAAA,UAAM,EAAa,CAAA;CAI5B,IAAI;CACJ,AAAI,EAAkB,CAAK,IACzB,IAAU,YACD,EAAmB,CAAK,IACjC,IAAU,EAAqB,CAAK,IAC3B,EAAmB,CAAK,MACjC,IAAU,EAAqB,CAAK;CAMtC,IAAM,IAAiB,EAAkB,CAAK,GACxC,IAAc,IAClB,kBAAC,GAAD;EACE,OAAO,EAAe;EACtB,UAAU,EAAe;CAC1B,CAAA,IAED,GAKI,IACJ,CAAC,EAAkB,CAAK,KACxB,EAA0B,GAAO,CAAmB;CAEtD,OACE,kBAAC,OAAD,EAAA,UACE,kBAAC,GAAD;EACS;EACP,SAAS;EACA;EACU;EACnB,WAAW,EAAM;EACjB,WACE,IACE,kBAAC,GAAD,EAAY,WAAU,sDAAuD,CAAA,IAC3E,KAAA;CAEP,CAAA,EACE,CAAA;AAET"}
|