@openhands/agent-canvas 1.10.0 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/README.windows.md +2 -2
- package/build/assets/{acp-providers-DLe_gVDY.js → acp-providers-BkL3HWa3.js} +1 -1
- package/build/assets/{active-backend-context-B0wI7OzM.js → active-backend-context-BBvP-bI2.js} +1 -1
- package/build/assets/{agent-context-settings-CaQtdNA-.js → agent-context-settings-Bno1nwPL.js} +1 -1
- package/build/assets/{agent-profiles-settings-CvuErjp6.js → agent-profiles-settings-DqoS7RL3.js} +1 -1
- package/build/assets/agent-server-conversation-service.api-0RztSdJJ.js +86 -0
- package/build/assets/agent-settings-BJHryp65.js +1 -0
- package/build/assets/{agent-settings-UE-U4Xii.js → agent-settings-h8hQz-IU.js} +1 -1
- package/build/assets/{alert-banner-BMaOtTCG.js → alert-banner-lrK-2_0Y.js} +1 -1
- package/build/assets/{api-key-entry-screen-Cy66vT4D.js → api-key-entry-screen-Qsb83VX1.js} +1 -1
- package/build/assets/{app-settings-9ok42bV6.js → app-settings-r1RUbgGi.js} +1 -1
- package/build/assets/{automation-detail-fuITm6i3.js → automation-detail-7LkL91j9.js} +3 -3
- package/build/assets/{automation-export-CRq40mux.js → automation-export-U2QNyNy6.js} +1 -1
- package/build/assets/{automation-setup-route-EXDazOHW.js → automation-setup-route-Bel9_Lue.js} +1 -1
- package/build/assets/{automation-templates-BArZsaxP.js → automation-templates-CRLDssaI.js} +1 -1
- package/build/assets/{automations-list-CG4HKOTn.js → automations-list-B2iV3ZKW.js} +1 -1
- package/build/assets/{back-nav-button-BZB6H7xz.js → back-nav-button-B3pYwmUJ.js} +1 -1
- package/build/assets/backend-form-modal-OroTqnAv.js +1 -0
- package/build/assets/{backend-synced-settings-badge-B_NXJ3u1.js → backend-synced-settings-badge-DB4717Iu.js} +1 -1
- package/build/assets/{badge-C64c-7PO.js → badge-yR53enbU.js} +1 -1
- package/build/assets/{base-modal-C0RQPug5.js → base-modal-3NmIOKDm.js} +1 -1
- package/build/assets/{brand-button-DJmFCyMK.js → brand-button-CJcwjnfb.js} +1 -1
- package/build/assets/{browser-D3gd2n83.js → browser--eoQOo4M.js} +1 -1
- package/build/assets/{browser-tab-BicAWuJ1.js → browser-tab-A94o33Vn.js} +1 -1
- package/build/assets/{chat-send-button-CCrH1E8u.js → chat-send-button-B8n6-DQA.js} +1 -1
- package/build/assets/{circle-plus-check-toggle-CB_sNERY.js → circle-plus-check-toggle-BVzv5EkZ.js} +1 -1
- package/build/assets/{cloud-funnel-analytics-XynamQGU.js → cloud-funnel-analytics-CBQdPZl_.js} +1 -1
- package/build/assets/{combobox-caret-Bwiifgjs.js → combobox-caret-BlmRwiM8.js} +1 -1
- package/build/assets/command-menu-PsRXVBz2.js +1 -0
- package/build/assets/{condenser-settings-cNGy75gq.js → condenser-settings-w7L3EFvm.js} +1 -1
- package/build/assets/{confirmation-modal-BATFmFyP.js → confirmation-modal-DAH0XtOp.js} +1 -1
- package/build/assets/{context-menu-list-item-DhJCcBA0.js → context-menu-list-item-BQhmFVEK.js} +1 -1
- package/build/assets/{conversation-Csdxh9Xt.js → conversation-BUzBZAc-.js} +4 -4
- package/build/assets/conversation-panel-pzAKsSDb.js +1 -0
- package/build/assets/conversation-pzAKsSDb.js +1 -0
- package/build/assets/{conversation-state-store-C2QzhPaK.js → conversation-state-store-Bs8gA263.js} +1 -1
- package/build/assets/{conversation-tab-empty-state-D3fb5xIA.js → conversation-tab-empty-state-C9sfDOlt.js} +1 -1
- package/build/assets/{copy-to-clipboard-button-c4MQwKGj.js → copy-to-clipboard-button-DatoElj8.js} +1 -1
- package/build/assets/{device-verify-oFpQoLgm.js → device-verify-BIjXeW9N.js} +1 -1
- package/build/assets/{dropdown-classes-f91ARMV1.js → dropdown-classes-zFW7qPSK.js} +1 -1
- package/build/assets/{entry.client-BCzY2Bf3.js → entry.client-DzbDyLkV.js} +2 -2
- package/build/assets/{enum-filter-dropdown-HG3q3rkV.js → enum-filter-dropdown-CctILg5t.js} +1 -1
- package/build/assets/{environment-switch-overlay-CquZXolz.js → environment-switch-overlay-Cvmo6clk.js} +1 -1
- package/build/assets/{extensions-hub-BeweE0PW.js → extensions-hub-DOmHPGTA.js} +1 -1
- package/build/assets/{extensions-navigation-Dd58NlUF.js → extensions-navigation-6zU5M1pa.js} +1 -1
- package/build/assets/{files-tab-CLLG55-q.js → files-tab-BzofBmF4.js} +1 -1
- package/build/assets/{form-control-classes-pHtZUI6K.js → form-control-classes-DLN3Qgub.js} +1 -1
- package/build/assets/{format-relative-time-6-3uvOXe.js → format-relative-time-DGPQlPx0.js} +1 -1
- package/build/assets/{git-provider-icon-wg7ShB98.js → git-provider-icon-BLMlwy02.js} +1 -1
- package/build/assets/{git-repo-dropdown-CWnaUyxL.js → git-repo-dropdown-B7RvO70z.js} +1 -1
- package/build/assets/git-repo-dropdown-B_PTq4ol.js +1 -0
- package/build/assets/{highlighted-source-view-DBtI3por.js → highlighted-source-view-CgJfD5VT.js} +1 -1
- package/build/assets/{home-BpZQkDWM.js → home-DEZaZqYv.js} +1 -1
- package/build/assets/home-r89Vj2td.js +1 -0
- package/build/assets/{home-store-DM4qw1lF.js → home-store-D7CjMN_-.js} +1 -1
- package/build/assets/index-home-r89Vj2td.js +1 -0
- package/build/assets/install-server-modal-BTwK5lbi.js +1 -0
- package/build/assets/{kebab-menu-item-content-By16Tm_0.js → kebab-menu-item-content-C4CkeiJO.js} +1 -1
- package/build/assets/{launch-C9uijypN.js → launch-DVlx4v9o.js} +1 -1
- package/build/assets/{llm-not-configured-banner-DrBrhfN0.js → llm-not-configured-banner-CwKu8C6g.js} +2 -2
- package/build/assets/llm-settings-BJotLQND.js +1 -0
- package/build/assets/llm-settings-CDM-5H2A.js +1 -0
- package/build/assets/{llm-subscription-service-DwjJ8-_X.js → llm-subscription-service-7eVfDIE1.js} +1 -1
- package/build/assets/{loading-spinner-6Yj-YyoS.js → loading-spinner-CN3riY7k.js} +1 -1
- package/build/assets/{manage-backends-modal-DrwErS0N.js → manage-backends-modal-HNWKLYhq.js} +1 -1
- package/build/assets/manifest-2a36a8f8.js +1 -0
- package/build/assets/{manifest-subpage-layout-CtqVwIvJ.js → manifest-subpage-layout-D-m-h8_t.js} +1 -1
- package/build/assets/map-provider-7Bp2aih5.js +1 -0
- package/build/assets/markdown-renderer-BiiiIznl.js +8 -0
- package/build/assets/mcp-gLgPP7AS.js +9 -0
- package/build/assets/{mcp-marketplace-utils-BMnYz0Gc.js → mcp-marketplace-utils-Dr_HG_ol.js} +1 -1
- package/build/assets/messages-D1cbVhRK.js +40 -0
- package/build/assets/{modal-body-BHGCSAtj.js → modal-body-duRaxj_K.js} +1 -1
- package/build/assets/{modal-classes-DSTLuxkA.js → modal-classes-CLEXO6dj.js} +1 -1
- package/build/assets/{modal-close-button-dheWZ2ys.js → modal-close-button-D0aT02hs.js} +1 -1
- package/build/assets/npm-DRzJF5Zn.js +1 -0
- package/build/assets/{onboarding-5CZvRBbh.js → onboarding-DSr8hOpk.js} +1 -1
- package/build/assets/{onboarding-modal-CD2ehuxt.js → onboarding-modal-C6Euf7N4.js} +1 -1
- package/build/assets/{organization-service.api-Dsuoep0g.js → organization-service.api-C4GYWwj9.js} +1 -1
- package/build/assets/{planner-tab-DeO7Thb0.js → planner-tab-CZcguxTK.js} +1 -1
- package/build/assets/{plugins-management-service-C9f75R6X.js → plugins-management-service-BmDzOQsd.js} +1 -1
- package/build/assets/{profiles-service.api-Dl20_2IM.js → profiles-service.api-CoLTwjc1.js} +1 -1
- package/build/assets/{providers-CeuhK46N.js → providers-tBzTpz1w.js} +1 -1
- package/build/assets/{proxy-CIGI9zQC.js → proxy-DCI9S-LA.js} +1 -1
- package/build/assets/recommended-automations-launcher-BbJAJVED.js +1 -0
- package/build/assets/root-BfM_kC_d.css +1 -0
- package/build/assets/root-gstBEjty.js +2 -0
- package/build/assets/root-layout-BIAFLP9p.js +2 -0
- package/build/assets/{schema-field-z2vSLuLo.js → schema-field-zhsVDllR.js} +1 -1
- package/build/assets/{sdk-section-page-BnCXAytf.js → sdk-section-page-CS4GWn0y.js} +1 -1
- package/build/assets/{secrets-service-DGUNlwQd.js → secrets-service-DjgGduXk.js} +1 -1
- package/build/assets/{secrets-settings-DUmML_dK.js → secrets-settings-f-qahfbi.js} +1 -1
- package/build/assets/{segmented-toggle-eSofF7gn.js → segmented-toggle-SmvsR3jW.js} +1 -1
- package/build/assets/settings-DQd0xLEw.js +1 -0
- package/build/assets/{settings-dropdown-input-Cx4g7Xfl.js → settings-dropdown-input-TWIeiG02.js} +1 -1
- package/build/assets/{settings-index-BECdgecg.js → settings-index-BVwy9JEp.js} +1 -1
- package/build/assets/{settings-input-BQY115xH.js → settings-input-D61Vzp9e.js} +1 -1
- package/build/assets/{settings-list-classes-C9cLrrcc.js → settings-list-classes-sE0ASr1s.js} +1 -1
- package/build/assets/{settings-modal-ChBJNTdd.js → settings-modal-D6D5ngET.js} +1 -1
- package/build/assets/{settings-service.api-Dz9cZyvx.js → settings-service.api-DZp7E7A9.js} +1 -1
- package/build/assets/{settings-switch-BIodMVz9.js → settings-switch-Drt-rF5s.js} +1 -1
- package/build/assets/{settings-utils-BL_Z9uIe.js → settings-utils-gw2ppAvw.js} +1 -1
- package/build/assets/{shared-conversation-CSF0aTuE.js → shared-conversation-DIxZjElr.js} +1 -1
- package/build/assets/{wrench-DRitTfwe.js → shield-check-D2cpEpv3.js} +1 -1
- package/build/assets/{sidebar-layout-DEycoFd_.js → sidebar-layout-Dxg6zc2K.js} +1 -1
- package/build/assets/{sidebar-mobile-menu-toggle-DeRvTupV.js → sidebar-mobile-menu-toggle-OoZBHxaT.js} +1 -1
- package/build/assets/{sidebar-nav-link-BjpQ-NVc.js → sidebar-nav-link-CxLoG-dG.js} +1 -1
- package/build/assets/sidebar-store-BJeYY-E9.js +1 -0
- package/build/assets/{skill-card-pill-row-BH6fPGba.js → skill-card-pill-row-B_BYBONu.js} +1 -1
- package/build/assets/{skill-icon-badge-D4uznfjU.js → skill-icon-badge-CN41Hy9l.js} +1 -1
- package/build/assets/{skill-scope-DH_AUUUP.js → skill-scope-B1Per5XI.js} +1 -1
- package/build/assets/{skills-plugins-vfvOk34h.js → skills-plugins-B3AO6sMz.js} +1 -1
- package/build/assets/skills-settings-DmmgJ6CT.js +2 -0
- package/build/assets/{styled-tooltip-CQ9JEFiO.js → styled-tooltip-C5C07RQC.js} +1 -1
- package/build/assets/{task-list-tab-DeF_uXdw.js → task-list-tab-C19Q_JNf.js} +1 -1
- package/build/assets/{terminal-DRc4rup7.js → terminal-CbuMRYal.js} +1 -1
- package/build/assets/{toggle-switch--8n8NeV_.js → toggle-switch-CIioisto.js} +1 -1
- package/build/assets/{typography-BSbUhJPn.js → typography-D9tiHct7.js} +1 -1
- package/build/assets/{use-acp-credential-form-BGKFi1VL.js → use-acp-credential-form-DJmmJKMo.js} +1 -1
- package/build/assets/{use-activate-agent-profile-2nvALjC-.js → use-activate-agent-profile-CeFfYwu_.js} +1 -1
- package/build/assets/{use-agent-profiles-BlQA67MW.js → use-agent-profiles-BHLkLbRR.js} +1 -1
- package/build/assets/{use-can-manage-org-profiles-Clw5Dh1s.js → use-can-manage-org-profiles-Bu4y8gSx.js} +1 -1
- package/build/assets/{use-cloud-current-user-id-B8AQSQFM.js → use-cloud-current-user-id-QD9x3ySO.js} +1 -1
- package/build/assets/{use-config-C3zGuUQI.js → use-config-CPwqciXN.js} +1 -1
- package/build/assets/{use-create-conversation-FaP0kUpg.js → use-create-conversation-DWaSVUOB.js} +1 -1
- package/build/assets/{use-create-secret-CgQ3pXd6.js → use-create-secret-BsOfOLvg.js} +1 -1
- package/build/assets/{use-llm-profiles-C-tDO6UB.js → use-llm-profiles-CU8ah1pz.js} +1 -1
- package/build/assets/{use-manifest-capabilities-DLP5wCxp.js → use-manifest-capabilities-DBYPjyV6.js} +1 -1
- package/build/assets/{use-onboarding-completion-BiCdXvlU.js → use-onboarding-completion-CtNJxkXG.js} +1 -1
- package/build/assets/{use-plugins-marketplace-DRFNLBlr.js → use-plugins-marketplace-ZEA-gyM9.js} +1 -1
- package/build/assets/{use-save-agent-profile-CaGVAudI.js → use-save-agent-profile-DgI_Uz9a.js} +1 -1
- package/build/assets/{use-save-settings-C9B8Y-h3.js → use-save-settings-pSjRhD_m.js} +1 -1
- package/build/assets/{use-settings-3RcgdUuZ.js → use-settings-BHWsOcIG.js} +1 -1
- package/build/assets/use-settings-nav-items-CQgkxUbV.js +16 -0
- package/build/assets/{use-tracking-CTtkLAmx.js → use-tracking-CGCsBWhg.js} +1 -1
- package/build/assets/{use-user-conversation-Bei82QsZ.js → use-user-conversation-DRfEU8x0.js} +1 -1
- package/build/assets/utils-DPQfkd-7.js +1 -0
- package/build/assets/{verification-settings-nD61Ijph.js → verification-settings-BItwt998.js} +1 -1
- package/build/assets/wrench-B1_H-tL1.js +1 -0
- package/build/index.html +4 -4
- package/build/locales/ar/openhands.json +39 -2
- package/build/locales/ca/openhands.json +39 -2
- package/build/locales/de/openhands.json +39 -2
- package/build/locales/en/openhands.json +39 -2
- package/build/locales/es/openhands.json +39 -2
- package/build/locales/fr/openhands.json +39 -2
- package/build/locales/it/openhands.json +39 -2
- package/build/locales/ja/openhands.json +39 -2
- package/build/locales/ko-KR/openhands.json +39 -2
- package/build/locales/no/openhands.json +39 -2
- package/build/locales/pt/openhands.json +39 -2
- package/build/locales/tr/openhands.json +39 -2
- package/build/locales/uk/openhands.json +39 -2
- package/build/locales/zh-CN/openhands.json +39 -2
- package/build/locales/zh-TW/openhands.json +39 -2
- package/config/defaults.json +1 -1
- 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 +32 -5
- package/dist/api/agent-server-adapter.js +120 -91
- package/dist/api/agent-server-adapter.js.map +1 -1
- 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 +19 -2
- package/dist/api/cloud/conversation-service.api.js +51 -47
- package/dist/api/cloud/conversation-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-service/agent-server-conversation-service.api.cjs +1 -1
- package/dist/api/conversation-service/agent-server-conversation-service.api.cjs.map +1 -1
- package/dist/api/conversation-service/agent-server-conversation-service.api.js +55 -61
- 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/launch-child-conversation-client-tool.cjs +47 -0
- package/dist/api/launch-child-conversation-client-tool.cjs.map +1 -0
- package/dist/api/launch-child-conversation-client-tool.d.ts +3 -0
- package/dist/api/launch-child-conversation-client-tool.js +93 -0
- package/dist/api/launch-child-conversation-client-tool.js.map +1 -0
- package/dist/api/open-hands.types.d.ts +1 -1
- package/dist/api/workspace-upload-path.cjs +1 -1
- package/dist/api/workspace-upload-path.js +8 -8
- package/dist/components/conversation-events/chat/event-content-helpers/get-action-event-title.cjs +1 -1
- package/dist/components/conversation-events/chat/event-content-helpers/get-action-event-title.cjs.map +1 -1
- package/dist/components/conversation-events/chat/event-content-helpers/get-action-event-title.js +24 -18
- package/dist/components/conversation-events/chat/event-content-helpers/get-action-event-title.js.map +1 -1
- package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.cjs +1 -1
- package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.cjs.map +1 -1
- package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.js +5 -0
- package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.js.map +1 -1
- package/dist/components/conversation-events/chat/event-content-helpers/should-render-event.cjs +2 -2
- package/dist/components/conversation-events/chat/event-content-helpers/should-render-event.cjs.map +1 -1
- package/dist/components/conversation-events/chat/event-content-helpers/should-render-event.js +11 -7
- package/dist/components/conversation-events/chat/event-content-helpers/should-render-event.js.map +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-footer.cjs +1 -2
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-footer.cjs.map +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-footer.d.ts +2 -8
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-footer.js +48 -51
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-footer.js.map +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-meta-chip.cjs +2 -0
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-meta-chip.cjs.map +1 -0
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-meta-chip.d.ts +12 -0
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-meta-chip.js +6 -0
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-meta-chip.js.map +1 -0
- 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.d.ts +16 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-preview.js +95 -78
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-preview.js.map +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-repo-link.cjs +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-repo-link.cjs.map +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-repo-link.js +40 -38
- package/dist/components/features/conversation-panel/conversation-card/conversation-repo-link.js.map +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-tag-chips.cjs +2 -0
- package/dist/components/features/conversation-panel/conversation-card/conversation-tag-chips.cjs.map +1 -0
- package/dist/components/features/conversation-panel/conversation-card/conversation-tag-chips.d.ts +14 -0
- package/dist/components/features/conversation-panel/conversation-card/conversation-tag-chips.js +167 -0
- package/dist/components/features/conversation-panel/conversation-card/conversation-tag-chips.js.map +1 -0
- package/dist/components/features/conversation-panel/conversation-card/conversation-tag-display.cjs +2 -0
- package/dist/components/features/conversation-panel/conversation-card/conversation-tag-display.cjs.map +1 -0
- package/dist/components/features/conversation-panel/conversation-card/conversation-tag-display.d.ts +63 -0
- package/dist/components/features/conversation-panel/conversation-card/conversation-tag-display.js +66 -0
- package/dist/components/features/conversation-panel/conversation-card/conversation-tag-display.js.map +1 -0
- package/dist/components/features/conversation-panel/conversation-card/conversation-tag-icons.cjs +2 -0
- package/dist/components/features/conversation-panel/conversation-card/conversation-tag-icons.cjs.map +1 -0
- package/dist/components/features/conversation-panel/conversation-card/conversation-tag-icons.d.ts +15 -0
- package/dist/components/features/conversation-panel/conversation-card/conversation-tag-icons.js +117 -0
- package/dist/components/features/conversation-panel/conversation-card/conversation-tag-icons.js.map +1 -0
- package/dist/components/features/conversation-panel/conversation-card/no-repository.cjs +1 -1
- package/dist/components/features/conversation-panel/conversation-card/no-repository.cjs.map +1 -1
- package/dist/components/features/conversation-panel/conversation-card/no-repository.js +30 -19
- package/dist/components/features/conversation-panel/conversation-card/no-repository.js.map +1 -1
- package/dist/components/features/conversation-panel/conversation-panel-filter-menu.cjs +1 -1
- package/dist/components/features/conversation-panel/conversation-panel-filter-menu.cjs.map +1 -1
- package/dist/components/features/conversation-panel/conversation-panel-filter-menu.d.ts +7 -2
- package/dist/components/features/conversation-panel/conversation-panel-filter-menu.js +146 -104
- package/dist/components/features/conversation-panel/conversation-panel-filter-menu.js.map +1 -1
- package/dist/components/features/conversation-panel/conversation-panel-list-helpers.cjs +1 -1
- package/dist/components/features/conversation-panel/conversation-panel-list-helpers.cjs.map +1 -1
- package/dist/components/features/conversation-panel/conversation-panel-list-helpers.d.ts +20 -0
- package/dist/components/features/conversation-panel/conversation-panel-list-helpers.js +53 -27
- 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 +226 -213
- package/dist/components/features/conversation-panel/conversation-panel.js.map +1 -1
- package/dist/components/features/settings/agent-canvas-update-card.cjs +1 -1
- package/dist/components/features/settings/agent-canvas-update-card.cjs.map +1 -1
- package/dist/components/features/settings/agent-canvas-update-card.d.ts +10 -5
- package/dist/components/features/settings/agent-canvas-update-card.js +223 -149
- package/dist/components/features/settings/agent-canvas-update-card.js.map +1 -1
- package/dist/components/features/settings/agent-canvas-version-modal.cjs +2 -0
- package/dist/components/features/settings/agent-canvas-version-modal.cjs.map +1 -0
- package/dist/components/features/settings/agent-canvas-version-modal.d.ts +11 -0
- package/dist/components/features/settings/agent-canvas-version-modal.js +166 -0
- package/dist/components/features/settings/agent-canvas-version-modal.js.map +1 -0
- package/dist/components/features/settings/agent-canvas-version-tile.cjs +2 -0
- package/dist/components/features/settings/agent-canvas-version-tile.cjs.map +1 -0
- package/dist/components/features/settings/agent-canvas-version-tile.d.ts +13 -0
- package/dist/components/features/settings/agent-canvas-version-tile.js +60 -0
- package/dist/components/features/settings/agent-canvas-version-tile.js.map +1 -0
- package/dist/components/features/settings/settings-desktop-sidebar.cjs +1 -1
- package/dist/components/features/settings/settings-desktop-sidebar.cjs.map +1 -1
- package/dist/components/features/settings/settings-desktop-sidebar.js +1 -1
- package/dist/components/features/settings/settings-desktop-sidebar.js.map +1 -1
- package/dist/components/features/settings/settings-mobile-drawer.cjs +1 -1
- package/dist/components/features/settings/settings-mobile-drawer.cjs.map +1 -1
- package/dist/components/features/settings/settings-mobile-drawer.js +1 -1
- package/dist/components/features/settings/settings-mobile-drawer.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.js +109 -108
- package/dist/components/features/sidebar/sidebar-rail-body.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 +9 -9
- package/dist/components/features/skills/extensions-navigation.js.map +1 -1
- package/dist/config/defaults.cjs +1 -1
- package/dist/config/defaults.cjs.map +1 -1
- package/dist/config/defaults.js +1 -1
- package/dist/config/defaults.js.map +1 -1
- package/dist/constants/child-conversation.cjs +2 -0
- package/dist/constants/child-conversation.cjs.map +1 -0
- package/dist/constants/child-conversation.d.ts +29 -0
- package/dist/constants/child-conversation.js +6 -0
- package/dist/constants/child-conversation.js.map +1 -0
- package/dist/contexts/conversation-websocket-context.cjs +3 -3
- package/dist/contexts/conversation-websocket-context.cjs.map +1 -1
- package/dist/contexts/conversation-websocket-context.js +189 -188
- package/dist/contexts/conversation-websocket-context.js.map +1 -1
- package/dist/hooks/chat/use-model-interceptor.cjs +1 -1
- package/dist/hooks/chat/use-model-interceptor.js +6 -6
- package/dist/hooks/mutation/use-create-conversation.cjs +1 -1
- package/dist/hooks/mutation/use-create-conversation.js +6 -6
- package/dist/i18n/declaration.cjs +1 -1
- package/dist/i18n/declaration.cjs.map +1 -1
- package/dist/i18n/declaration.d.ts +38 -1
- package/dist/i18n/declaration.js +1 -1
- package/dist/i18n/declaration.js.map +1 -1
- package/dist/i18n/translation.cjs +2 -2
- package/dist/i18n/translation.cjs.map +1 -1
- package/dist/i18n/translation.js +644 -15
- package/dist/i18n/translation.js.map +1 -1
- package/dist/icons/docker.cjs +2 -0
- package/dist/icons/docker.cjs.map +1 -0
- package/dist/icons/docker.js +19 -0
- package/dist/icons/docker.js.map +1 -0
- package/dist/icons/npm.cjs +2 -0
- package/dist/icons/npm.cjs.map +1 -0
- package/dist/icons/npm.js +19 -0
- package/dist/icons/npm.js.map +1 -0
- package/dist/locales/ar/openhands.json +39 -2
- package/dist/locales/ca/openhands.json +39 -2
- package/dist/locales/de/openhands.json +39 -2
- package/dist/locales/en/openhands.json +39 -2
- package/dist/locales/es/openhands.json +39 -2
- package/dist/locales/fr/openhands.json +39 -2
- package/dist/locales/it/openhands.json +39 -2
- package/dist/locales/ja/openhands.json +39 -2
- package/dist/locales/ko-KR/openhands.json +39 -2
- package/dist/locales/no/openhands.json +39 -2
- package/dist/locales/pt/openhands.json +39 -2
- package/dist/locales/tr/openhands.json +39 -2
- package/dist/locales/uk/openhands.json +39 -2
- package/dist/locales/zh-CN/openhands.json +39 -2
- package/dist/locales/zh-TW/openhands.json +39 -2
- package/dist/node_modules/@openhands/typescript-client/dist/index.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/index.js +1 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/briefcase.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/briefcase.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/briefcase.js +16 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/briefcase.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/building-2.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/building-2.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/building-2.js +27 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/building-2.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/circle-arrow-up.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/circle-arrow-up.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/circle-arrow-up.js +21 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/circle-arrow-up.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/circle-user-round.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/circle-user-round.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/circle-user-round.js +23 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/circle-user-round.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/cloud-cog.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/cloud-cog.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/cloud-cog.js +43 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/cloud-cog.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/earth.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/earth.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/earth.js +25 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/earth.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/flag.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/flag.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/flag.js +9 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/flag.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/folder-git-2.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/folder-git-2.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/folder-git-2.js +27 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/folder-git-2.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/folder-key.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/folder-key.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/folder-key.js +25 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/folder-key.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/git-pull-request.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/git-pull-request.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/git-pull-request.js +30 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/git-pull-request.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/hash.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/hash.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/hash.js +35 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/hash.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/house.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/house.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/house.js +12 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/house.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/id-card.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/id-card.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/id-card.js +33 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/id-card.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/key-round.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/key-round.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/key-round.js +15 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/key-round.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/layers.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/layers.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/layers.js +19 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/layers.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/link-2.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/link-2.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/link-2.js +22 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/link-2.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/mails.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/mails.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/mails.js +23 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/mails.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/messages-square.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/messages-square.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/messages-square.js +12 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/messages-square.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/plug.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/plug.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/plug.js +23 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/plug.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/square-kanban.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/square-kanban.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/square-kanban.js +27 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/square-kanban.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/ticket.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/ticket.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/ticket.js +23 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/ticket.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/users-round.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/users-round.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/users-round.js +21 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/users-round.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/waypoints.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/waypoints.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/waypoints.js +43 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/waypoints.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/webhook.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/webhook.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/webhook.js +19 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/webhook.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/workflow.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/workflow.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/workflow.js +27 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/workflow.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/wrench.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/wrench.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/wrench.js +9 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/wrench.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/zap.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/zap.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/zap.js +9 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/zap.js.map +1 -0
- package/dist/package.cjs +1 -1
- package/dist/package.cjs.map +1 -1
- package/dist/package.js +6 -3
- package/dist/package.js.map +1 -1
- package/dist/services/child-conversation-launch.cjs +2 -0
- package/dist/services/child-conversation-launch.cjs.map +1 -0
- package/dist/services/child-conversation-launch.d.ts +41 -0
- package/dist/services/child-conversation-launch.js +182 -0
- package/dist/services/child-conversation-launch.js.map +1 -0
- 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 +5 -1
- package/dist/stores/conversation-panel-preferences-store.js +8 -2
- package/dist/stores/conversation-panel-preferences-store.js.map +1 -1
- package/dist/types/agent-server/core/base/action.d.ts +17 -1
- package/dist/types/agent-server/core/base/base.d.ts +2 -1
- package/dist/types/agent-server/type-guards.cjs +1 -1
- package/dist/types/agent-server/type-guards.cjs.map +1 -1
- package/dist/types/agent-server/type-guards.d.ts +8 -1
- package/dist/types/agent-server/type-guards.js +4 -3
- package/dist/types/agent-server/type-guards.js.map +1 -1
- package/dist/types/automation.d.ts +14 -0
- package/dist/utils/custom-toast-handlers.cjs +1 -1
- package/dist/utils/custom-toast-handlers.cjs.map +1 -1
- package/dist/utils/custom-toast-handlers.js +18 -1
- package/dist/utils/custom-toast-handlers.js.map +1 -1
- package/package.json +6 -3
- package/scripts/brand-dev-electron.mjs +244 -0
- package/scripts/check-translation-completeness.cjs +4 -0
- package/scripts/generate-icons.mjs +109 -0
- package/build/assets/agent-server-conversation-service.api-km_8sOVf.js +0 -41
- package/build/assets/agent-settings-nmO-KSXr.js +0 -1
- package/build/assets/backend-form-modal-B_lXjOGa.js +0 -1
- package/build/assets/command-menu-CA3IjGNc.js +0 -1
- package/build/assets/conversation-B6t6EiVp.js +0 -1
- package/build/assets/conversation-panel-B6t6EiVp.js +0 -1
- package/build/assets/copy-DaHuDtG4.js +0 -1
- package/build/assets/git-repo-dropdown-TzOuG5Ef.js +0 -1
- package/build/assets/home-OEx0XtfP.js +0 -1
- package/build/assets/index-home-OEx0XtfP.js +0 -1
- package/build/assets/info-C9lpK5pw.js +0 -1
- package/build/assets/install-server-modal-DnjZrJUy.js +0 -1
- package/build/assets/list-filter-C86CBRDE.js +0 -1
- package/build/assets/llm-settings-CRsLqxgu.js +0 -1
- package/build/assets/llm-settings-RBm_3kNm.js +0 -1
- package/build/assets/manifest-c352d453.js +0 -1
- package/build/assets/map-provider-CXU6issd.js +0 -1
- package/build/assets/markdown-renderer-lsvsp7jn.js +0 -8
- package/build/assets/mcp-DD4hPTRE.js +0 -9
- package/build/assets/messages-Dt77e0qi.js +0 -40
- package/build/assets/recommended-automations-launcher-6xmbf7lh.js +0 -1
- package/build/assets/root-BQPNqNvD.js +0 -2
- package/build/assets/root-BeuHFY2s.css +0 -1
- package/build/assets/root-layout-Dl_2CDoq.js +0 -3
- package/build/assets/settings-Co-M5bK9.js +0 -1
- package/build/assets/sidebar-store-B04sX8aP.js +0 -1
- package/build/assets/skills-settings-DnbIu2eO.js +0 -2
- package/build/assets/use-settings-nav-items-y-Oyc93G.js +0 -16
- package/build/assets/utils-BX9XJ0IE.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.cjs +0 -2
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.cjs.map +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.js +0 -9
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.js.map +0 -1
|
@@ -5,37 +5,38 @@ import { useConversationStore as r } from "../stores/conversation-store.js";
|
|
|
5
5
|
import { useConversationStateStore as i } from "../stores/conversation-state-store.js";
|
|
6
6
|
import { ConversationClient as ee } from "../node_modules/@openhands/typescript-client/dist/client/conversation-client.js";
|
|
7
7
|
import "../node_modules/@openhands/typescript-client/dist/clients.js";
|
|
8
|
-
import { buildWebSocketUrl as
|
|
9
|
-
import { getAgentServerClientOptions as
|
|
10
|
-
import { useQueryClient as
|
|
11
|
-
import { isActionEvent as
|
|
12
|
-
import { useEventStore as
|
|
13
|
-
import { useWebSocket as
|
|
14
|
-
import { SERVER_CONNECTION_ERROR_MESSAGE as
|
|
15
|
-
import { useErrorMessageStore as
|
|
16
|
-
import { useOptimisticUserMessageStore as
|
|
17
|
-
import { useGoalStore as
|
|
18
|
-
import { handleCanvasUIAction as
|
|
19
|
-
import { handleActionEventCacheInvalidation as Se } from "../utils/cache-utils.js";
|
|
20
|
-
import Ce from "../api/event-service/event-service.api.js";
|
|
21
|
-
import { trackError as d } from "../utils/error-handler.js";
|
|
8
|
+
import { buildWebSocketUrl as a } from "../utils/websocket-url.js";
|
|
9
|
+
import { getAgentServerClientOptions as te } from "../api/agent-server-client-options.js";
|
|
10
|
+
import { useQueryClient as ne } from "../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js";
|
|
11
|
+
import { isActionEvent as re, isAgentErrorEvent as ie, isAgentServerEvent as ae, isAgentStatusConversationStateUpdateEvent as oe, isBrowserNavigateActionEvent as se, isBrowserObservationEvent as ce, isCanvasUIActionEvent as le, isConversationStateUpdateEvent as o, isDisplayableErrorEvent as ue, isExecuteBashActionEvent as de, isExecuteBashObservationEvent as fe, isFullStateConversationStateUpdateEvent as pe, isGoalConversationStateUpdateEvent as me, isLaunchChildConversationActionEvent as he, isPlanningFileEditorObservationEvent as ge, isStatsConversationStateUpdateEvent as _e, isSwitchLLMObservationEvent as ve, isUserMessageEvent as s } from "../types/agent-server/type-guards.js";
|
|
12
|
+
import { useEventStore as c } from "../stores/use-event-store.js";
|
|
13
|
+
import { useWebSocket as ye } from "../hooks/use-websocket.js";
|
|
14
|
+
import { SERVER_CONNECTION_ERROR_MESSAGE as l } from "../constants/server-connection-error.js";
|
|
15
|
+
import { useErrorMessageStore as be } from "../stores/error-message-store.js";
|
|
16
|
+
import { useOptimisticUserMessageStore as xe } from "../stores/optimistic-user-message-store.js";
|
|
17
|
+
import { useGoalStore as Se } from "../stores/goal-store.js";
|
|
18
|
+
import { handleCanvasUIAction as Ce } from "../services/canvas-ui.js";
|
|
22
19
|
import { getStoredConversationMetadata as we, setStoredConversationMetadata as Te } from "../api/conversation-metadata-store.js";
|
|
23
|
-
import {
|
|
24
|
-
import De from "../
|
|
25
|
-
import
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
28
|
-
import
|
|
29
|
-
import {
|
|
20
|
+
import { handleLaunchChildConversationAction as Ee } from "../services/child-conversation-launch.js";
|
|
21
|
+
import { handleActionEventCacheInvalidation as De } from "../utils/cache-utils.js";
|
|
22
|
+
import Oe from "../api/event-service/event-service.api.js";
|
|
23
|
+
import { trackError as u } from "../utils/error-handler.js";
|
|
24
|
+
import { useReadConversationFile as ke } from "../hooks/mutation/use-read-conversation-file.js";
|
|
25
|
+
import Ae from "../stores/metrics-store.js";
|
|
26
|
+
import { useConversationHistory as je } from "../hooks/query/use-conversation-history.js";
|
|
27
|
+
import { recordModelSwitchMessage as Me, seedModelSwitchesFromHistory as Ne } from "../hooks/chat/record-model-switch-message.js";
|
|
28
|
+
import { invalidateConversationQueries as Pe, updateConversationLlmModelInCache as Fe } from "../hooks/mutation/conversation-mutation-utils.js";
|
|
29
|
+
import Ie, { createContext as Le, useCallback as d, useContext as f, useEffect as p, useLayoutEffect as m, useMemo as h, useRef as g, useState as _ } from "react";
|
|
30
|
+
import { jsx as Re } from "react/jsx-runtime";
|
|
30
31
|
//#region src/contexts/conversation-websocket-context.tsx
|
|
31
|
-
var v =
|
|
32
|
+
var v = Le(void 0);
|
|
32
33
|
function y(e) {
|
|
33
34
|
return e.llm_message.content.filter((e) => e.type === "text").map((e) => e.text).join("");
|
|
34
35
|
}
|
|
35
|
-
function b({ children:
|
|
36
|
-
let [
|
|
37
|
-
|
|
38
|
-
}, [
|
|
36
|
+
function b({ children: Le, conversationId: f, conversationUrl: b, sessionApiKey: x, subConversations: S, subConversationIds: ze }) {
|
|
37
|
+
let [C, w] = _("CONNECTING"), [T, E] = _("CONNECTING"), D = Ie.useRef(!1), O = Ie.useRef(!1), k = ne(), A = c((e) => e.addEvent), Be = c((e) => e.addEvents), Ve = c((e) => e.clearEventsForConversation), { setErrorMessage: j, removeErrorMessage: He, clearConnectionError: M } = be(), N = xe((e) => e.consumeMatchingPendingMessage), { setExecutionStatus: P } = i(), { appendInput: F, appendOutput: I } = t(), Ue = e((e) => e.reset), [L, R] = _(!0), [z, We] = _(null), { setPlanContent: B } = r(), { mutate: V } = ke(), H = g(0), U = g(null), Ge = (e) => e?.toUpperCase().endsWith("PLAN.MD") ?? !1, W = d(() => {
|
|
38
|
+
M();
|
|
39
|
+
}, [M]), G = d((e) => {
|
|
39
40
|
if (e.value.usage_to_metrics?.agent) {
|
|
40
41
|
let t = e.value.usage_to_metrics.agent, n = {
|
|
41
42
|
cost: t.accumulated_cost,
|
|
@@ -49,93 +50,93 @@ function b({ children: Pe, conversationId: p, conversationUrl: b, sessionApiKey:
|
|
|
49
50
|
per_turn_token: t.accumulated_token_usage.per_turn_token
|
|
50
51
|
} : null
|
|
51
52
|
};
|
|
52
|
-
|
|
53
|
+
Ae.getState().setMetrics(n);
|
|
53
54
|
}
|
|
54
|
-
}, []), { data:
|
|
55
|
-
|
|
56
|
-
let e =
|
|
57
|
-
|
|
55
|
+
}, []), { data: K, isPending: Ke, isFetching: q, isError: qe } = je(f), Je = !!f && Ke;
|
|
56
|
+
m(() => {
|
|
57
|
+
let e = f ?? null;
|
|
58
|
+
c.getState().loadedConversationId !== e && (Ve(e), Ue());
|
|
58
59
|
}, [
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
]),
|
|
63
|
-
if (!(!
|
|
64
|
-
|
|
65
|
-
for (let e of
|
|
60
|
+
f,
|
|
61
|
+
Ve,
|
|
62
|
+
Ue
|
|
63
|
+
]), m(() => {
|
|
64
|
+
if (!(!K || K.events.length === 0) && (Be(K.events), f)) {
|
|
65
|
+
Ne(f, c.getState().uiEvents);
|
|
66
|
+
for (let e of K.events) s(e) && N(f, y(e));
|
|
66
67
|
}
|
|
67
68
|
}, [
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
K,
|
|
70
|
+
Be,
|
|
71
|
+
f,
|
|
72
|
+
N
|
|
72
73
|
]);
|
|
73
|
-
let
|
|
74
|
-
if (
|
|
75
|
-
let e =
|
|
74
|
+
let J = h(() => {
|
|
75
|
+
if (q) return null;
|
|
76
|
+
let e = K?.events ?? [], t = e[e.length - 1];
|
|
76
77
|
return !t || !("timestamp" in t) || !t.timestamp ? null : t.timestamp;
|
|
77
|
-
}, [
|
|
78
|
-
|
|
78
|
+
}, [K, q]), Y = h(() => !f || !b || q && !qe ? null : a(f, b), [
|
|
79
|
+
f,
|
|
79
80
|
b,
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
]),
|
|
81
|
+
q,
|
|
82
|
+
qe
|
|
83
|
+
]), X = h(() => {
|
|
83
84
|
if (!S?.length) return null;
|
|
84
85
|
let e = S[0];
|
|
85
|
-
return !e?.id || !e.conversation_url ? null :
|
|
86
|
-
}, [S]),
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
86
|
+
return !e?.id || !e.conversation_url ? null : a(e.id, e.conversation_url);
|
|
87
|
+
}, [S]), Ye = h(() => X ? C === "CONNECTING" || T === "CONNECTING" ? "CONNECTING" : C === "OPEN" && T === "OPEN" ? "OPEN" : C === "CLOSED" && T === "CLOSED" ? "CLOSED" : C === "CLOSING" || T === "CLOSING" ? "CLOSING" : "CLOSED" : C, [
|
|
88
|
+
C,
|
|
89
|
+
T,
|
|
90
|
+
X
|
|
90
91
|
]);
|
|
91
|
-
|
|
92
|
-
|
|
92
|
+
p(() => {
|
|
93
|
+
z !== null && H.current >= z && L && R(!1);
|
|
93
94
|
}, [
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
]),
|
|
98
|
-
if (!
|
|
99
|
-
let { path: e, conversationId: t } =
|
|
100
|
-
|
|
95
|
+
z,
|
|
96
|
+
L,
|
|
97
|
+
H
|
|
98
|
+
]), p(() => {
|
|
99
|
+
if (!L && U.current) {
|
|
100
|
+
let { path: e, conversationId: t } = U.current;
|
|
101
|
+
V({
|
|
101
102
|
conversationId: t,
|
|
102
103
|
filePath: e
|
|
103
104
|
}, {
|
|
104
105
|
onSuccess: (e) => {
|
|
105
|
-
|
|
106
|
+
B(e);
|
|
106
107
|
},
|
|
107
108
|
onError: (e) => {
|
|
108
109
|
console.warn("Failed to read conversation file:", e);
|
|
109
110
|
}
|
|
110
|
-
}),
|
|
111
|
+
}), U.current = null;
|
|
111
112
|
}
|
|
112
113
|
}, [
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
]),
|
|
117
|
-
|
|
118
|
-
}, [
|
|
119
|
-
|
|
120
|
-
}, [
|
|
121
|
-
let
|
|
114
|
+
L,
|
|
115
|
+
V,
|
|
116
|
+
B
|
|
117
|
+
]), p(() => {
|
|
118
|
+
D.current = !1, R(!!ze?.length), We(null), H.current = 0, U.current = null;
|
|
119
|
+
}, [ze]), p(() => {
|
|
120
|
+
D.current = !1, O.current = !1, U.current = null;
|
|
121
|
+
}, [f]);
|
|
122
|
+
let Xe = h(() => Je || L, [Je, L]), Ze = d((t) => {
|
|
122
123
|
try {
|
|
123
124
|
let r = JSON.parse(t.data);
|
|
124
|
-
if (
|
|
125
|
-
let t =
|
|
126
|
-
if (
|
|
127
|
-
if (
|
|
125
|
+
if (ae(r)) {
|
|
126
|
+
let t = c.getState().eventIds.has(r.id), i = ve(r) ? r : null;
|
|
127
|
+
if (A(r), t) return;
|
|
128
|
+
if (ue(r)) {
|
|
128
129
|
let e = r;
|
|
129
|
-
|
|
130
|
+
u({
|
|
130
131
|
message: e.detail,
|
|
131
132
|
source: "conversation",
|
|
132
133
|
metadata: {
|
|
133
134
|
eventId: e.id,
|
|
134
135
|
errorCode: e.code
|
|
135
136
|
}
|
|
136
|
-
}),
|
|
137
|
-
} else
|
|
138
|
-
if (
|
|
137
|
+
}), j(e.detail, "conversation", e.code);
|
|
138
|
+
} else W();
|
|
139
|
+
if (ie(r) && u({
|
|
139
140
|
message: r.error,
|
|
140
141
|
source: "agent",
|
|
141
142
|
metadata: {
|
|
@@ -143,62 +144,62 @@ function b({ children: Pe, conversationId: p, conversationUrl: b, sessionApiKey:
|
|
|
143
144
|
toolName: r.tool_name,
|
|
144
145
|
toolCallId: r.tool_call_id
|
|
145
146
|
}
|
|
146
|
-
}),
|
|
147
|
+
}), s(r) && f && (N(f, y(r)), n(f, { draftMessage: null })), re(r) && De(r, f || "test-conversation-id", k), o(r) && (pe(r) && P(r.value.execution_status), oe(r) && P(r.value), _e(r) && G(r), me(r) && f && Se.getState().setStatus(f, r.value)), de(r) && F(r.action.command), fe(r) && I(r.observation.content.filter((e) => e.type === "text").map((e) => e.text).join("\n")), ce(r)) {
|
|
147
148
|
let { screenshot_data: t } = r.observation;
|
|
148
149
|
if (t) {
|
|
149
150
|
let n = t.startsWith("data:") ? t : `data:image/png;base64,${t}`;
|
|
150
151
|
e.getState().setScreenshotSrc(n);
|
|
151
152
|
}
|
|
152
153
|
}
|
|
153
|
-
if (
|
|
154
|
-
|
|
155
|
-
let e = we(
|
|
156
|
-
Te(
|
|
154
|
+
if (se(r) && e.getState().setUrl(r.action.url), f && i && !i.observation.is_error) {
|
|
155
|
+
Me(f, i.observation.profile_name);
|
|
156
|
+
let e = we(f);
|
|
157
|
+
Te(f, {
|
|
157
158
|
selected_repository: e?.selected_repository ?? null,
|
|
158
159
|
selected_branch: e?.selected_branch ?? null,
|
|
159
160
|
git_provider: e?.git_provider ?? null,
|
|
160
161
|
selected_workspace: e?.selected_workspace ?? null,
|
|
161
162
|
active_profile: i.observation.profile_name,
|
|
162
163
|
plugins: e?.plugins ?? null
|
|
163
|
-
}), i.observation.active_model &&
|
|
164
|
+
}), i.observation.active_model && Fe(k, f, i.observation.active_model), Pe(k, f);
|
|
164
165
|
}
|
|
165
|
-
|
|
166
|
+
le(r) && Ce(r.action, f ?? null), f && he(r) && Ee(r.action, f, r.tool_call_id);
|
|
166
167
|
}
|
|
167
168
|
} catch (e) {
|
|
168
169
|
console.warn("Failed to parse WebSocket message as JSON:", e);
|
|
169
170
|
}
|
|
170
171
|
}, [
|
|
172
|
+
A,
|
|
171
173
|
j,
|
|
172
|
-
|
|
174
|
+
N,
|
|
175
|
+
k,
|
|
176
|
+
f,
|
|
173
177
|
P,
|
|
174
|
-
A,
|
|
175
|
-
p,
|
|
176
178
|
F,
|
|
177
179
|
I,
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
]), Ye = f((e) => {
|
|
180
|
+
G,
|
|
181
|
+
W
|
|
182
|
+
]), Qe = d((e) => {
|
|
182
183
|
try {
|
|
183
184
|
let t = JSON.parse(e.data);
|
|
184
|
-
if (
|
|
185
|
-
let e =
|
|
186
|
-
if (
|
|
185
|
+
if (L && (H.current += 1, z !== null && H.current >= z && R(!1)), ae(t)) {
|
|
186
|
+
let e = c.getState().eventIds.has(t.id);
|
|
187
|
+
if (A({
|
|
187
188
|
...t,
|
|
188
189
|
isFromPlanningAgent: !0
|
|
189
190
|
}), e) return;
|
|
190
|
-
if (
|
|
191
|
+
if (ue(t)) {
|
|
191
192
|
let e = t;
|
|
192
|
-
|
|
193
|
+
u({
|
|
193
194
|
message: e.detail,
|
|
194
195
|
source: "planning_conversation",
|
|
195
196
|
metadata: {
|
|
196
197
|
eventId: e.id,
|
|
197
198
|
errorCode: e.code
|
|
198
199
|
}
|
|
199
|
-
}),
|
|
200
|
-
} else
|
|
201
|
-
if (
|
|
200
|
+
}), j(e.detail, "conversation", e.code);
|
|
201
|
+
} else W();
|
|
202
|
+
if (ie(t) && u({
|
|
202
203
|
message: t.error,
|
|
203
204
|
source: "planning_agent",
|
|
204
205
|
metadata: {
|
|
@@ -206,19 +207,19 @@ function b({ children: Pe, conversationId: p, conversationUrl: b, sessionApiKey:
|
|
|
206
207
|
toolName: t.tool_name,
|
|
207
208
|
toolCallId: t.tool_call_id
|
|
208
209
|
}
|
|
209
|
-
}),
|
|
210
|
+
}), s(t) && f && (N(f, y(t)), n(f, { draftMessage: null })), re(t) && De(t, S?.[0]?.id || "test-conversation-id", k), o(t) && (pe(t) && P(t.value.execution_status), oe(t) && P(t.value), _e(t) && G(t), me(t) && f && Se.getState().setStatus(f, t.value)), de(t) && F(t.action.command), fe(t) && I(t.observation.content.filter((e) => e.type === "text").map((e) => e.text).join("\n")), ge(t)) {
|
|
210
211
|
let { path: e } = t.observation;
|
|
211
|
-
if (
|
|
212
|
+
if (Ge(e)) {
|
|
212
213
|
let t = S?.[0]?.id;
|
|
213
|
-
t && e && (
|
|
214
|
+
t && e && (L ? U.current = {
|
|
214
215
|
path: e,
|
|
215
216
|
conversationId: t
|
|
216
|
-
} :
|
|
217
|
+
} : V({
|
|
217
218
|
conversationId: t,
|
|
218
219
|
filePath: e
|
|
219
220
|
}, {
|
|
220
221
|
onSuccess: (e) => {
|
|
221
|
-
|
|
222
|
+
B(e);
|
|
222
223
|
},
|
|
223
224
|
onError: (e) => {
|
|
224
225
|
console.warn("Failed to read conversation file:", e);
|
|
@@ -231,97 +232,97 @@ function b({ children: Pe, conversationId: p, conversationUrl: b, sessionApiKey:
|
|
|
231
232
|
console.warn("Failed to parse WebSocket message as JSON:", e);
|
|
232
233
|
}
|
|
233
234
|
}, [
|
|
234
|
-
j,
|
|
235
|
-
R,
|
|
236
|
-
B,
|
|
237
|
-
M,
|
|
238
|
-
P,
|
|
239
235
|
A,
|
|
236
|
+
L,
|
|
237
|
+
z,
|
|
238
|
+
j,
|
|
239
|
+
N,
|
|
240
|
+
k,
|
|
240
241
|
S,
|
|
241
|
-
|
|
242
|
+
f,
|
|
243
|
+
P,
|
|
242
244
|
F,
|
|
243
245
|
I,
|
|
244
|
-
L,
|
|
245
|
-
H,
|
|
246
246
|
V,
|
|
247
|
-
|
|
248
|
-
G
|
|
249
|
-
|
|
250
|
-
|
|
247
|
+
B,
|
|
248
|
+
G,
|
|
249
|
+
W
|
|
250
|
+
]), $e = h(() => ({
|
|
251
|
+
queryParams: J ? {
|
|
251
252
|
resend_mode: "since",
|
|
252
|
-
after_timestamp:
|
|
253
|
+
after_timestamp: J
|
|
253
254
|
} : { resend_mode: "all" },
|
|
254
255
|
sessionApiKey: x,
|
|
255
256
|
reconnect: { enabled: !0 },
|
|
256
257
|
onOpen: () => {
|
|
257
|
-
|
|
258
|
+
w("OPEN"), D.current = !0, M();
|
|
258
259
|
},
|
|
259
260
|
onClose: () => {
|
|
260
|
-
|
|
261
|
+
w("CLOSED");
|
|
261
262
|
},
|
|
262
263
|
onError: () => {
|
|
263
|
-
|
|
264
|
+
w("CLOSED"), D.current && j(l, "connection");
|
|
264
265
|
},
|
|
265
|
-
onMessage:
|
|
266
|
+
onMessage: Ze
|
|
266
267
|
}), [
|
|
267
|
-
|
|
268
|
+
Ze,
|
|
269
|
+
j,
|
|
268
270
|
M,
|
|
269
|
-
N,
|
|
270
271
|
x,
|
|
271
|
-
|
|
272
|
-
]),
|
|
272
|
+
J
|
|
273
|
+
]), et = h(() => {
|
|
273
274
|
let e = { resend_all: !0 }, t = S?.[0];
|
|
274
275
|
return {
|
|
275
276
|
queryParams: e,
|
|
276
277
|
sessionApiKey: t?.session_api_key ?? x,
|
|
277
278
|
reconnect: { enabled: !0 },
|
|
278
279
|
onOpen: async () => {
|
|
279
|
-
if (
|
|
280
|
-
let e = await
|
|
281
|
-
|
|
280
|
+
if (E("OPEN"), O.current = !0, M(), t?.id && t.conversation_url) try {
|
|
281
|
+
let e = await Oe.getEventCount(t.id, t.conversation_url, t.session_api_key);
|
|
282
|
+
We(e), e === 0 && R(!1);
|
|
282
283
|
} catch {
|
|
283
|
-
|
|
284
|
+
R(!1);
|
|
284
285
|
}
|
|
285
286
|
},
|
|
286
287
|
onClose: () => {
|
|
287
|
-
|
|
288
|
+
E("CLOSED");
|
|
288
289
|
},
|
|
289
290
|
onError: () => {
|
|
290
|
-
|
|
291
|
+
E("CLOSED"), O.current && j(l, "connection");
|
|
291
292
|
},
|
|
292
|
-
onMessage:
|
|
293
|
+
onMessage: Qe
|
|
293
294
|
};
|
|
294
295
|
}, [
|
|
295
|
-
|
|
296
|
+
Qe,
|
|
297
|
+
j,
|
|
296
298
|
M,
|
|
297
|
-
N,
|
|
298
299
|
x,
|
|
299
300
|
S
|
|
300
|
-
]), { socket:
|
|
301
|
-
if (
|
|
302
|
-
|
|
301
|
+
]), { socket: Z, reconnect: tt } = ye(Y || "", $e), { socket: Q, reconnect: nt } = ye(X || "", et), rt = d(() => {
|
|
302
|
+
if (He(), r.getState().conversationMode === "plan" && X) {
|
|
303
|
+
nt();
|
|
303
304
|
return;
|
|
304
305
|
}
|
|
305
|
-
|
|
306
|
+
tt();
|
|
306
307
|
}, [
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
]),
|
|
312
|
-
let t = r.getState().conversationMode === "plan" ?
|
|
308
|
+
X,
|
|
309
|
+
tt,
|
|
310
|
+
nt,
|
|
311
|
+
He
|
|
312
|
+
]), $ = d(async (e) => {
|
|
313
|
+
let t = r.getState().conversationMode === "plan" ? Q : Z;
|
|
313
314
|
if (t?.readyState !== WebSocket.OPEN) {
|
|
314
|
-
if (!
|
|
315
|
+
if (!f) {
|
|
315
316
|
let e = /* @__PURE__ */ Error("No conversation ID available");
|
|
316
|
-
throw
|
|
317
|
+
throw j(e.message), e;
|
|
317
318
|
}
|
|
318
319
|
try {
|
|
319
|
-
return await new ee(
|
|
320
|
+
return await new ee(te()).sendEvent(f, {
|
|
320
321
|
role: "user",
|
|
321
322
|
content: e.content
|
|
322
323
|
}, { run: !0 }), { queued: !0 };
|
|
323
324
|
} catch (e) {
|
|
324
|
-
throw
|
|
325
|
+
throw j(e instanceof Error ? e.message : "Failed to queue message for delivery"), e;
|
|
325
326
|
}
|
|
326
327
|
}
|
|
327
328
|
try {
|
|
@@ -330,72 +331,72 @@ function b({ children: Pe, conversationId: p, conversationUrl: b, sessionApiKey:
|
|
|
330
331
|
run: !0
|
|
331
332
|
})), { queued: !1 };
|
|
332
333
|
} catch (e) {
|
|
333
|
-
throw
|
|
334
|
+
throw j(e instanceof Error ? e.message : "Failed to send message"), e;
|
|
334
335
|
}
|
|
335
336
|
}, [
|
|
337
|
+
Z,
|
|
336
338
|
Q,
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
p
|
|
339
|
+
j,
|
|
340
|
+
f
|
|
340
341
|
]);
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
switch (
|
|
342
|
+
p(() => {
|
|
343
|
+
Z && Y && (() => {
|
|
344
|
+
switch (Z.readyState) {
|
|
344
345
|
case WebSocket.CONNECTING:
|
|
345
|
-
|
|
346
|
+
w("CONNECTING");
|
|
346
347
|
break;
|
|
347
348
|
case WebSocket.OPEN:
|
|
348
|
-
|
|
349
|
+
w("OPEN");
|
|
349
350
|
break;
|
|
350
351
|
case WebSocket.CLOSING:
|
|
351
|
-
|
|
352
|
+
w("CLOSING");
|
|
352
353
|
break;
|
|
353
354
|
case WebSocket.CLOSED:
|
|
354
|
-
|
|
355
|
+
w("CLOSED");
|
|
355
356
|
break;
|
|
356
357
|
default:
|
|
357
|
-
|
|
358
|
+
w("CLOSED");
|
|
358
359
|
break;
|
|
359
360
|
}
|
|
360
361
|
})();
|
|
361
|
-
}, [
|
|
362
|
-
|
|
363
|
-
switch (
|
|
362
|
+
}, [Z, Y]), p(() => {
|
|
363
|
+
Q && X && (() => {
|
|
364
|
+
switch (Q.readyState) {
|
|
364
365
|
case WebSocket.CONNECTING:
|
|
365
|
-
|
|
366
|
+
E("CONNECTING");
|
|
366
367
|
break;
|
|
367
368
|
case WebSocket.OPEN:
|
|
368
|
-
|
|
369
|
+
E("OPEN");
|
|
369
370
|
break;
|
|
370
371
|
case WebSocket.CLOSING:
|
|
371
|
-
|
|
372
|
+
E("CLOSING");
|
|
372
373
|
break;
|
|
373
374
|
case WebSocket.CLOSED:
|
|
374
|
-
|
|
375
|
+
E("CLOSED");
|
|
375
376
|
break;
|
|
376
377
|
default:
|
|
377
|
-
|
|
378
|
+
E("CLOSED");
|
|
378
379
|
break;
|
|
379
380
|
}
|
|
380
381
|
})();
|
|
381
|
-
}, [
|
|
382
|
-
let
|
|
383
|
-
connectionState:
|
|
384
|
-
sendMessage:
|
|
385
|
-
isLoadingHistory:
|
|
386
|
-
reconnect:
|
|
382
|
+
}, [Q, X]);
|
|
383
|
+
let it = h(() => ({
|
|
384
|
+
connectionState: Ye,
|
|
385
|
+
sendMessage: $,
|
|
386
|
+
isLoadingHistory: Xe,
|
|
387
|
+
reconnect: rt
|
|
387
388
|
}), [
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
389
|
+
Ye,
|
|
390
|
+
$,
|
|
391
|
+
Xe,
|
|
392
|
+
rt
|
|
392
393
|
]);
|
|
393
|
-
return /* @__PURE__ */
|
|
394
|
-
value:
|
|
395
|
-
children:
|
|
394
|
+
return /* @__PURE__ */ Re(v.Provider, {
|
|
395
|
+
value: it,
|
|
396
|
+
children: Le
|
|
396
397
|
});
|
|
397
398
|
}
|
|
398
|
-
var x = () =>
|
|
399
|
+
var x = () => f(v) || null;
|
|
399
400
|
//#endregion
|
|
400
401
|
export { b as ConversationWebSocketProvider, x as useConversationWebSocket };
|
|
401
402
|
|