@openhands/agent-canvas 1.0.0-beta.8 → 1.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/README.windows.md +2 -2
- package/build/assets/{QueryClientProvider-Cnr-Yl3j.js → QueryClientProvider-w1cZWY41.js} +1 -1
- package/build/assets/{Trans-4jmk54WC.js → Trans-BJeYqz2A.js} +1 -1
- package/build/assets/{acp-providers-BAX8OU5C.js → acp-providers-DJr8DlNG.js} +1 -1
- package/build/assets/{acp-route-guard-HPk6TV-L.js → acp-route-guard-A__sWgbc.js} +1 -1
- package/build/assets/{active-backend-context-BSPE-W72.js → active-backend-context-I2w666XY.js} +1 -1
- package/build/assets/add-backend-modal-BDBDBXsJ.js +1 -0
- package/build/assets/agent-server-conversation-service.api-Cagoqq1V.js +5 -0
- package/build/assets/agent-settings-BXBaybB_.js +2 -0
- package/build/assets/{alert-banner-DFnn_lC6.js → alert-banner-NeUl1-PQ.js} +1 -1
- package/build/assets/analytics-consent-form-modal-DxkThW4K.js +1 -0
- package/build/assets/{api-key-entry-screen-myuWMqzW.js → api-key-entry-screen-ByXA4hXH.js} +1 -1
- package/build/assets/{app-settings-CCcX8ZEH.js → app-settings-C-U6jONZ.js} +1 -1
- package/build/assets/automation-detail-Dbmgt974.js +1 -0
- package/build/assets/automations-list-BLJzAd-p.js +1 -0
- package/build/assets/{back-nav-button-7dQJ2k3O.js → back-nav-button-DgkK0Ka6.js} +1 -1
- package/build/assets/{backend-form-modal-D3bDMO3C.js → backend-form-modal-CeB983Sj.js} +1 -1
- package/build/assets/{backend-synced-settings-badge-BkW5evM0.js → backend-synced-settings-badge-BktJcGgH.js} +1 -1
- package/build/assets/{base-modal-C2oy2EBG.js → base-modal-DZCNv0A4.js} +1 -1
- package/build/assets/{brand-button-DJ_S16rO.js → brand-button-LBFNic99.js} +1 -1
- package/build/assets/browser-D08Sp3ZY.js +5 -0
- package/build/assets/{browser-tab-dvSPdvkm.js → browser-tab-be3QvXg9.js} +1 -1
- package/build/assets/chat-send-button-5qz0zj6R.js +1 -0
- package/build/assets/{checkmark-Dus0b6jt.js → checkmark-Rmpruj7q.js} +1 -1
- package/build/assets/{chevron-left-small-_uvG7RVM.js → chevron-left-small-6nyFCWVQ.js} +1 -1
- package/build/assets/{circle-plus-check-toggle-DKS8MAVV.js → circle-plus-check-toggle-DquBwJ_6.js} +1 -1
- package/build/assets/{close-BU5iTc66.js → close-D_o3d8QM.js} +1 -1
- package/build/assets/{code-tag-BzyqOtPD.js → code-tag-DhsjDB-v.js} +1 -1
- package/build/assets/{combobox-caret-BJC7XJsz.js → combobox-caret-CO7eozIY.js} +1 -1
- package/build/assets/{condenser-settings-DCTulgLO.js → condenser-settings-BulzYEuW.js} +1 -1
- package/build/assets/{confirmation-modal-B5Ca6qFE.js → confirmation-modal-CMAtd9R0.js} +1 -1
- package/build/assets/{context-menu-list-item-7tAcm2c3.js → context-menu-list-item-D0swnhFt.js} +1 -1
- package/build/assets/conversation-BrjF2-Ky.js +1 -0
- package/build/assets/conversation-HgR_TTPE.js +19 -0
- package/build/assets/conversation-panel-BlRcO5AC.js +1 -0
- package/build/assets/conversation-service.api-B_Pdmwsa.js +1 -0
- package/build/assets/{conversation-tab-empty-state-CStQLPVW.js → conversation-tab-empty-state-DYjKsg_c.js} +1 -1
- package/build/assets/conversation-websocket-context-G95yfL81.js +3 -0
- package/build/assets/{copy-Chg-sFu3.js → copy-BM0RpLez.js} +1 -1
- package/build/assets/{custom-toast-handlers-ufGJ6_Rc.js → custom-toast-handlers-BohXx7uh.js} +1 -1
- package/build/assets/{declaration-CR6HMp29.js → declaration-DaUdB2Wg.js} +1 -1
- package/build/assets/{device-verify-C6mj28zv.js → device-verify-DiEJqpJb.js} +1 -1
- package/build/assets/dist-Bl-1K5Tv.js +1 -0
- package/build/assets/{dist-C3NfioQC.js → dist-xtCm0O6P.js} +1 -1
- package/build/assets/{dropdown-classes-BsVmxlNG.js → dropdown-classes-Vqz86I0R.js} +1 -1
- package/build/assets/{edit-automation-modal-DamwL0s0.js → edit-automation-modal-CNZgSSiH.js} +1 -1
- package/build/assets/{entry.client-Cn71WM8q.js → entry.client-BvKgdCQ9.js} +2 -2
- package/build/assets/{enum-filter-dropdown-5JeF2RLb.js → enum-filter-dropdown-DdFgk0EM.js} +1 -1
- package/build/assets/{environment-switch-overlay-Tf_BIfeR.js → environment-switch-overlay-CuBuZOaa.js} +1 -1
- package/build/assets/{extensions-hub-CUEmfvGy.js → extensions-hub-Dayqvv0n.js} +1 -1
- package/build/assets/{extensions-navigation-VQ-3umJ7.js → extensions-navigation-yFLAU06N.js} +1 -1
- package/build/assets/{file-BTY6Gyy9.js → file-DwHCkWZT.js} +1 -1
- package/build/assets/files-tab-CMredyYX.js +1 -0
- package/build/assets/{folder-D1T2W1cj.js → folder-2h1hR1Qb.js} +1 -1
- package/build/assets/git-control-bar-branch-button-D8blTNXh.js +27 -0
- package/build/assets/{globe-Bzj_0oXT.js → globe-qFjFNG6J.js} +1 -1
- package/build/assets/home-CWw845Rz.js +1 -0
- package/build/assets/{i18n-DET2iOyh.js → i18n-zDndR1Ne.js} +1 -1
- package/build/assets/install-server-modal-D8Q0xZcN.js +1 -0
- package/build/assets/{launch-DGghLfGx.js → launch-I00QV8YT.js} +1 -1
- package/build/assets/{lesson-plan-duSsqWVs.js → lesson-plan-C18uB_56.js} +1 -1
- package/build/assets/{link-external-DGxVm4Ps.js → link-external-DtcdPFbw.js} +1 -1
- package/build/assets/llm-settings-CAnFYAEG.js +1 -0
- package/build/assets/llm-settings-DotqpmCF.js +1 -0
- package/build/assets/{loading-spinner-5GT9q1xy.js → loading-spinner-DNwR4--Z.js} +1 -1
- package/build/assets/{manage-backends-modal-CRMwyU0t.js → manage-backends-modal-Ceo_SOcf.js} +1 -1
- package/build/assets/manifest-61ec2d68.js +1 -0
- package/build/assets/{markdown-renderer-B3IAVfv4.js → markdown-renderer-D6B-u2nM.js} +1 -1
- package/build/assets/{mcp-CfDRAmPn.js → mcp-EvrLVTla.js} +1 -1
- package/build/assets/messages-Bz9TWjlh.js +36 -0
- package/build/assets/modal-backdrop-BDqI1zBV.js +1 -0
- package/build/assets/{modal-body-aoa2fx5W.js → modal-body-CCLCqX1J.js} +1 -1
- package/build/assets/{modal-classes-6YqcqA6y.js → modal-classes-DwTdT3IK.js} +1 -1
- package/build/assets/{modal-close-button-CtWOUMmw.js → modal-close-button-gQgKqUf-.js} +1 -1
- package/build/assets/model-selector-CZOi4V7r.js +1 -0
- package/build/assets/{mutation-D0OogFCz.js → mutation-CaJwPR9O.js} +1 -1
- package/build/assets/{navigation-context-BdKYH32C.js → navigation-context-aNGUUtdq.js} +1 -1
- package/build/assets/{navigation-link-U4vY9i_C.js → navigation-link-CYkF2y3K.js} +1 -1
- package/build/assets/onboarding-CPCKYvFh.js +1 -0
- package/build/assets/{openhands-logo-CCo0wJZX.js → openhands-logo-CHmtDV-t.js} +1 -1
- package/build/assets/{organization-service.api-BeuMC9QL.js → organization-service.api-Dn74hBTH.js} +1 -1
- package/build/assets/path-utils-BjxzIGLp.js +1 -0
- package/build/assets/{plan-components-CRDMQzsS.js → plan-components--aLlpASH.js} +1 -1
- package/build/assets/{planner-tab-Dte6Vzza.js → planner-tab-B-5EeCEm.js} +1 -1
- package/build/assets/{providers-eUyo6pgr.js → providers-DknP6O2g.js} +1 -1
- package/build/assets/{proxy-BqDMnUY-.js → proxy-sRh0WKI7.js} +1 -1
- package/build/assets/{query-client-config-CRnGSujB.js → query-client-config-CWWGQWvw.js} +1 -1
- package/build/assets/{recommended-automations-launcher-D5ADbXao.js → recommended-automations-launcher-BIul0osB.js} +3 -3
- package/build/assets/{root-Z2VHU4R3.css → root-CN7qsvxg.css} +1 -1
- package/build/assets/root-CklXEh3W.js +2 -0
- package/build/assets/root-layout-BCA_X8XL.js +2 -0
- package/build/assets/{sdk-section-page-CRCRY3PG.js → sdk-section-page-VmtJWH3A.js} +1 -1
- package/build/assets/{sdk-settings-schema-CLmJ9sho.js → sdk-settings-schema-DFievvEK.js} +1 -1
- package/build/assets/{search-SuJctqNJ.js → search-BeVRXvX7.js} +1 -1
- package/build/assets/{secrets-service-B9AFn9OE.js → secrets-service-DVtlLWY8.js} +1 -1
- package/build/assets/{secrets-settings-0UrKMS60.js → secrets-settings-BLMvCkKm.js} +1 -1
- package/build/assets/{settings-6t6LGW04.js → settings-CXvJUx_j.js} +1 -1
- package/build/assets/{settings-dropdown-input-BtoovFre.js → settings-dropdown-input-DA_pzHWE.js} +1 -1
- package/build/assets/{settings-gear-Dd8K2_8B.js → settings-gear-aNebYlCy.js} +1 -1
- package/build/assets/{settings-index-CR6Ou73o.js → settings-index-CycvkOoq.js} +1 -1
- package/build/assets/{settings-input-CehsXnb3.js → settings-input-8y5p4kze.js} +1 -1
- package/build/assets/{settings-list-classes-E3v_f6QG.js → settings-list-classes-Qk7zl0Wu.js} +1 -1
- package/build/assets/settings-modal-DdntdOGP.js +1 -0
- package/build/assets/{settings-section-header-context-DewwJ0-F.js → settings-section-header-context-B77tsYlx.js} +1 -1
- package/build/assets/{settings-service.api-DwtyDeGh.js → settings-service.api-DxIEtvx6.js} +1 -1
- package/build/assets/{settings-switch-BiBuS3xa.js → settings-switch-ba4DuiNO.js} +1 -1
- package/build/assets/{settings-utils-DY04tWG1.js → settings-utils-BxzHqLmZ.js} +1 -1
- package/build/assets/{shared-conversation-BzccsVej.js → shared-conversation-x41nZQi7.js} +1 -1
- package/build/assets/{sidebar-mobile-menu-toggle-DGlRg6jG.js → sidebar-mobile-menu-toggle-C0mmabKj.js} +1 -1
- package/build/assets/{sidebar-nav-link-dgVb8Fpy.js → sidebar-nav-link-BsYdDFfb.js} +1 -1
- package/build/assets/{skill-card-pill-row-BW9qvhoK.js → skill-card-pill-row-BhUlGcYB.js} +1 -1
- package/build/assets/{skills-0GRKX5Xj.js → skills-TYjOUQ2d.js} +1 -1
- package/build/assets/{skills-plugins-DctDrZ8Y.js → skills-plugins-D0pdqgKa.js} +1 -1
- package/build/assets/{skills-settings-rvxImDj_.js → skills-settings-VqKTkmVl.js} +2 -2
- package/build/assets/{styled-tooltip-hdfMXPQC.js → styled-tooltip-TCp7svY3.js} +1 -1
- package/build/assets/{switch-skeleton-DSKqSx2A.js → switch-skeleton-cKrdaYGj.js} +1 -1
- package/build/assets/{task-list-tab-DT6_zfUs.js → task-list-tab-BiizRsY3.js} +1 -1
- package/build/assets/telemetry-fQFd-8V3.js +2 -0
- package/build/assets/{terminal-CPYWdo4j.js → terminal-BSYITdM0.js} +1 -1
- package/build/assets/{terminal-KldRPIRT.js → terminal-CpgZx6go.js} +1 -1
- package/build/assets/{toggle-switch-T2v6sJ6l.js → toggle-switch-CUgOZqZu.js} +1 -1
- package/build/assets/{typography-BDgnT7Yp.js → typography-Bvw0IxaN.js} +1 -1
- package/build/assets/{u-check-circle-half-steSK_JB.js → u-check-circle-half-DjpjzWu3.js} +1 -1
- package/build/assets/{u-check-circle-DOauqQKb.js → u-check-circle-u9QiS4Fr.js} +1 -1
- package/build/assets/{u-circuit-x3ExjBbU.js → u-circuit-DlBlOwx9.js} +1 -1
- package/build/assets/{u-edit-BbrptMCa.js → u-edit-BIYzjs3v.js} +1 -1
- package/build/assets/{use-active-conversation-sPgfSkql.js → use-active-conversation-q1wT8LI5.js} +1 -1
- package/build/assets/{use-agent-settings-schema-B66kGIi_.js → use-agent-settings-schema-Yxf7KGyG.js} +1 -1
- package/build/assets/{use-agent-state-Dp3pD1h3.js → use-agent-state-CCHlVqvY.js} +1 -1
- package/build/assets/{use-cloud-current-user-id-ClKFPjFz.js → use-cloud-current-user-id-BAKf91Zx.js} +1 -1
- package/build/assets/{use-config-C9pvb0Sm.js → use-config-DwfigQ_Y.js} +1 -1
- package/build/assets/use-create-conversation-BEzddjXn.js +1 -0
- package/build/assets/{use-get-secrets-oyC7PFRz.js → use-get-secrets-BlO1BfUo.js} +1 -1
- package/build/assets/{use-handle-plan-click-DP6Rs-YP.js → use-handle-plan-click-Bfl0zIBr.js} +1 -1
- package/build/assets/use-is-authed-hHndEep7.js +1 -0
- package/build/assets/{use-launch-skill-in-chat-sQNEOLGD.js → use-launch-skill-in-chat-3ydwpi_M.js} +1 -1
- package/build/assets/use-llm-profiles-E-jjZMZw.js +1 -0
- package/build/assets/use-runtime-is-ready-DBWzvAmc.js +1 -0
- package/build/assets/use-save-settings-rE9aA29R.js +1 -0
- package/build/assets/{use-settings-DeO7nvpM.js → use-settings-BPTbE7lg.js} +1 -1
- package/build/assets/{use-settings-nav-items-BGMFn25b.js → use-settings-nav-items-C7MOWj09.js} +1 -1
- package/build/assets/{use-skills-DWIK3l3a.js → use-skills-QhoaIYGF.js} +1 -1
- package/build/assets/{use-task-list-CsT10CBb.js → use-task-list-YMkSzdDv.js} +1 -1
- package/build/assets/use-tracking-DQYdZpxi.js +1 -0
- package/build/assets/{use-unified-vscode-url-DXPtB317.js → use-unified-vscode-url-DFtNIC1Q.js} +1 -1
- package/build/assets/{use-user-conversation-DJen4YIP.js → use-user-conversation-BRAseenw.js} +1 -1
- package/build/assets/{useMutation-GSSKKebK.js → useMutation-DDo48A8t.js} +1 -1
- package/build/assets/{useTranslation-B6voJV4y.js → useTranslation-CEcjrme-.js} +1 -1
- package/build/assets/{utils-DCVfKFRt.js → utils-CdgBzLA7.js} +1 -1
- package/build/assets/{vendor~browser-BrOJLj3y.js → vendor~browser-DWk6fNtJ.js} +1 -1
- package/build/assets/{vendor~browser-tab-BxhTtM9_.js → vendor~browser-tab-NZdVoI2Z.js} +1 -1
- package/build/assets/{vendor~conversation-panel~conversation-C9o-K1hW.js → vendor~conversation-panel~conversation-gp03cWZW.js} +1 -1
- package/build/assets/{vendor~conversation-panel~conversation~index-RXYdJYxU.js → vendor~conversation-panel~conversation~index-BZ5C6Xpz.js} +1 -1
- package/build/assets/{vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~jfc6hidu-DJS-rJdI.js → vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~oli4dvxu-BodGsxSf.js} +1 -1
- package/build/assets/{vendor~files-tab-BtkpAiMX.js → vendor~files-tab-Buz36Y-q.js} +1 -1
- package/build/assets/{vendor~home~conversation-panel~conversation-PK1-gtXU.js → vendor~home~conversation-panel~conversation-DG0H5SkJ.js} +2 -2
- package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-6ByzelMS.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-1pTajrpX.js} +1 -1
- package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-BED5W_c4.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-9Il_wz8U.js} +1 -1
- package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-CCbqAFiI.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-B7I1ZxCx.js} +1 -1
- package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-E4d6IEfI.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-Ceeqkj0k.js} +1 -1
- package/build/assets/{vendor~launch-BXgl67Re.js → vendor~launch-DXL78kBf.js} +1 -1
- package/build/assets/{vendor~root-layout~conversation-panel~conversation~shared-conversation-DW31UyBp.js → vendor~root-layout~conversation-panel~conversation~shared-conversation-CfAc3nMS.js} +1 -1
- package/build/assets/vendor~root-layout~home~conversation-panel~conversation-DkwcKRtv.js +1 -0
- package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-tTR8C6m0.js → vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-BC9XTECT.js} +1 -1
- package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-6Rm8U_Sr.js → vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-DSqEbr0N.js} +1 -1
- package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~k776hupu-BJbu9kpL.js → vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~k776hupu-D0XUSHNN.js} +2 -2
- package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-d2oallMa.js → vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-CcFtthyg.js} +1 -1
- package/build/assets/vendor~root-layout~home~mcp~automations-list-BnIlGhjl.js +1 -0
- package/build/assets/{vendor~home~mcp~automations-list-BgV86Sti.js → vendor~root-layout~home~mcp~automations-list-cNHi83v_.js} +1 -1
- package/build/assets/{vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-CjJdFLoM.js → vendor~root-layout~home~mcp~llm-settings~agent-settings~condenser-settings~verification-set~o7tv66sg-BGWUbqUq.js} +1 -1
- package/build/assets/{vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-m8dOii0J.js → vendor~root-layout~home~mcp~llm-settings~agent-settings~condenser-settings~verification-set~o7tv66sg-BuCSnjsW.js} +2 -2
- package/build/assets/{vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~f2l2lr17-DYXOLEck.js → vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~jaomi49z-Cw89stA6.js} +1 -1
- package/build/assets/{verification-settings-C_zHuDx9.js → verification-settings-CIqtxWat.js} +1 -1
- package/build/assets/{vscode-tab-DH9x7xXS.js → vscode-tab-DEt72yJX.js} +1 -1
- package/build/assets/{waiting-for-runtime-message-CdK3btDZ.js → waiting-for-runtime-message-DSjJfeoj.js} +1 -1
- package/build/assets/{x-mark-BrkSPIiT.js → x-mark-DsJ9tDD0.js} +1 -1
- package/build/index.html +4 -4
- package/build/locales/ar/openhands.json +4 -2
- package/build/locales/ca/openhands.json +4 -2
- package/build/locales/de/openhands.json +4 -2
- package/build/locales/en/openhands.json +4 -2
- package/build/locales/es/openhands.json +4 -2
- package/build/locales/fr/openhands.json +4 -2
- package/build/locales/it/openhands.json +4 -2
- package/build/locales/ja/openhands.json +4 -2
- package/build/locales/ko-KR/openhands.json +4 -2
- package/build/locales/no/openhands.json +4 -2
- package/build/locales/pt/openhands.json +4 -2
- package/build/locales/tr/openhands.json +4 -2
- package/build/locales/uk/openhands.json +4 -2
- package/build/locales/zh-CN/openhands.json +4 -2
- package/build/locales/zh-TW/openhands.json +4 -2
- package/config/defaults.json +1 -1
- package/dist/api/agent-server-home.cjs +2 -0
- package/dist/api/agent-server-home.cjs.map +1 -0
- package/dist/api/agent-server-home.d.ts +34 -0
- package/dist/api/agent-server-home.js +33 -0
- package/dist/api/agent-server-home.js.map +1 -0
- package/dist/api/config-service/config-service.api.cjs +1 -1
- package/dist/api/config-service/config-service.api.cjs.map +1 -1
- package/dist/api/config-service/config-service.api.d.ts +12 -0
- package/dist/api/config-service/config-service.api.js +55 -18
- package/dist/api/config-service/config-service.api.js.map +1 -1
- package/dist/api/conversation-file-upload.api.cjs +1 -1
- package/dist/api/conversation-file-upload.api.cjs.map +1 -1
- package/dist/api/conversation-file-upload.api.js +4 -1
- package/dist/api/conversation-file-upload.api.js.map +1 -1
- package/dist/api/conversation-service/agent-server-conversation-service.api.cjs +1 -1
- package/dist/api/conversation-service/agent-server-conversation-service.api.cjs.map +1 -1
- package/dist/api/conversation-service/agent-server-conversation-service.api.js +101 -100
- package/dist/api/conversation-service/agent-server-conversation-service.api.js.map +1 -1
- package/dist/api/option-service/option-service.api.cjs.map +1 -1
- package/dist/api/option-service/option-service.api.js.map +1 -1
- package/dist/api/workspace-upload-path.cjs +1 -1
- package/dist/api/workspace-upload-path.cjs.map +1 -1
- package/dist/api/workspace-upload-path.d.ts +44 -2
- package/dist/api/workspace-upload-path.js +16 -14
- package/dist/api/workspace-upload-path.js.map +1 -1
- package/dist/components/features/automations/recommended-automations-launcher.d.ts +3 -1
- package/dist/components/features/automations/recommended-automations-section.d.ts +3 -1
- package/dist/components/features/backends/backend-form-modal.cjs +1 -1
- package/dist/components/features/backends/backend-form-modal.cjs.map +1 -1
- package/dist/components/features/backends/backend-form-modal.d.ts +7 -1
- package/dist/components/features/backends/backend-form-modal.js +94 -91
- package/dist/components/features/backends/backend-form-modal.js.map +1 -1
- 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 +66 -66
- package/dist/components/features/chat/chat-interface.js.map +1 -1
- 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/switch-profile-button.cjs +1 -1
- package/dist/components/features/chat/switch-profile-button.js +3 -3
- 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.js +5 -5
- package/dist/components/features/conversation-panel/conversation-card/conversation-card.js.map +1 -1
- package/dist/components/features/onboarding/index.d.ts +1 -0
- package/dist/components/features/onboarding/onboarding-host.d.ts +3 -1
- package/dist/components/features/onboarding/onboarding-modal.d.ts +7 -3
- package/dist/components/features/onboarding/onboarding-preview.d.ts +4 -0
- package/dist/components/features/onboarding/steps/say-hello-step.d.ts +3 -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 +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 +3 -1
- package/dist/components/features/settings/sdk-settings/sdk-section-page.js +56 -56
- package/dist/components/features/settings/sdk-settings/sdk-section-page.js.map +1 -1
- package/dist/components/features/skills/extensions-navigation.cjs +1 -1
- package/dist/components/features/skills/extensions-navigation.js +7 -7
- package/dist/components/shared/modals/modal-backdrop.cjs +1 -1
- package/dist/components/shared/modals/modal-backdrop.cjs.map +1 -1
- package/dist/components/shared/modals/modal-backdrop.d.ts +3 -1
- package/dist/components/shared/modals/modal-backdrop.js +3 -3
- package/dist/components/shared/modals/modal-backdrop.js.map +1 -1
- package/dist/components/shared/modals/settings/settings-form.cjs +1 -1
- package/dist/components/shared/modals/settings/settings-form.cjs.map +1 -1
- package/dist/components/shared/modals/settings/settings-form.js +7 -7
- package/dist/components/shared/modals/settings/settings-form.js.map +1 -1
- package/dist/hooks/chat/use-model-interceptor.cjs +1 -1
- package/dist/hooks/chat/use-model-interceptor.js +4 -4
- package/dist/hooks/mutation/use-save-settings.cjs +1 -1
- package/dist/hooks/mutation/use-save-settings.cjs.map +1 -1
- package/dist/hooks/mutation/use-save-settings.js +13 -14
- package/dist/hooks/mutation/use-save-settings.js.map +1 -1
- package/dist/hooks/query/use-llm-profiles.cjs +1 -1
- package/dist/hooks/query/use-llm-profiles.js +5 -5
- package/dist/hooks/query/use-verified-models.cjs +1 -1
- package/dist/hooks/query/use-verified-models.cjs.map +1 -1
- package/dist/hooks/query/use-verified-models.js +7 -6
- package/dist/hooks/query/use-verified-models.js.map +1 -1
- package/dist/hooks/use-download-conversation.cjs +1 -1
- package/dist/hooks/use-download-conversation.cjs.map +1 -1
- package/dist/hooks/use-download-conversation.js +4 -4
- package/dist/hooks/use-download-conversation.js.map +1 -1
- package/dist/hooks/use-tracking.cjs +1 -1
- package/dist/hooks/use-tracking.cjs.map +1 -1
- package/dist/hooks/use-tracking.d.ts +31 -0
- package/dist/hooks/use-tracking.js +51 -14
- package/dist/hooks/use-tracking.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 +2 -0
- package/dist/i18n/declaration.js +1 -1
- package/dist/i18n/declaration.js.map +1 -1
- package/dist/i18n/translation.cjs +1 -1
- package/dist/i18n/translation.cjs.map +1 -1
- package/dist/i18n/translation.js +64 -30
- package/dist/i18n/translation.js.map +1 -1
- package/dist/locales/ar/openhands.json +4 -2
- package/dist/locales/ca/openhands.json +4 -2
- package/dist/locales/de/openhands.json +4 -2
- package/dist/locales/en/openhands.json +4 -2
- package/dist/locales/es/openhands.json +4 -2
- package/dist/locales/fr/openhands.json +4 -2
- package/dist/locales/it/openhands.json +4 -2
- package/dist/locales/ja/openhands.json +4 -2
- package/dist/locales/ko-KR/openhands.json +4 -2
- package/dist/locales/no/openhands.json +4 -2
- package/dist/locales/pt/openhands.json +4 -2
- package/dist/locales/tr/openhands.json +4 -2
- package/dist/locales/uk/openhands.json +4 -2
- package/dist/locales/zh-CN/openhands.json +4 -2
- package/dist/locales/zh-TW/openhands.json +4 -2
- package/dist/package.cjs +1 -1
- package/dist/package.cjs.map +1 -1
- package/dist/package.js +1 -1
- package/dist/package.js.map +1 -1
- package/dist/routes/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 +17 -16
- package/dist/routes/llm-settings.js.map +1 -1
- package/package.json +1 -1
- package/scripts/dev-static.mjs +0 -2
- package/scripts/dev-with-automation.mjs +0 -2
- package/scripts/static-server.mjs +13 -3
- package/build/assets/add-backend-modal-mXKmfMI2.js +0 -1
- package/build/assets/agent-server-conversation-service.api-B9TUYJon.js +0 -5
- package/build/assets/agent-settings-g3F623RJ.js +0 -2
- package/build/assets/analytics-consent-form-modal-BQCNeNVt.js +0 -1
- package/build/assets/automation-detail-BDHLHSJd.js +0 -1
- package/build/assets/automations-list-CiNtQhq_.js +0 -1
- package/build/assets/browser-CGM-k-sH.js +0 -5
- package/build/assets/conversation-BKhikfYl.js +0 -1
- package/build/assets/conversation-DTn8jN8L.js +0 -19
- package/build/assets/conversation-panel-DfHR42mG.js +0 -1
- package/build/assets/conversation-service.api-B6CkzaKD.js +0 -1
- package/build/assets/conversation-websocket-context-DShEuLjh.js +0 -3
- package/build/assets/dist-DNeWJ2bh.js +0 -1
- package/build/assets/ellipsis-button-Vh5MvRZa.js +0 -1
- package/build/assets/files-tab-C47fQEeL.js +0 -1
- package/build/assets/git-branch-DQS2nMK4.js +0 -1
- package/build/assets/git-control-bar-branch-button-BT0aWH-o.js +0 -27
- package/build/assets/git-provider-icon-Pi-Cxpgv.js +0 -1
- package/build/assets/home-C3k6sFvB.js +0 -1
- package/build/assets/install-server-modal-6fuq-TU6.js +0 -1
- package/build/assets/llm-settings-BKraGtOu.js +0 -1
- package/build/assets/llm-settings-DRQTgOF1.js +0 -1
- package/build/assets/manage-workspaces-modal-BYmGD1W7.js +0 -1
- package/build/assets/manifest-99b06a11.js +0 -1
- package/build/assets/messages-Ba1vaw6t.js +0 -36
- package/build/assets/modal-backdrop-RfNCrSpK.js +0 -1
- package/build/assets/model-selector-DcztJSxT.js +0 -1
- package/build/assets/path-utils-z12iCrQO.js +0 -1
- package/build/assets/root-BmhaEJJ8.js +0 -2
- package/build/assets/root-layout-CNggm0d8.js +0 -2
- package/build/assets/settings-modal-T_Yk1Zfo.js +0 -1
- package/build/assets/use-create-conversation-B-lwTnfE.js +0 -1
- package/build/assets/use-is-authed-dw2026rR.js +0 -1
- package/build/assets/use-is-creating-conversation-DX2qSlfL.js +0 -1
- package/build/assets/use-llm-profiles-Bh5JqZUZ.js +0 -1
- package/build/assets/use-runtime-is-ready-BakOUVU-.js +0 -1
- package/build/assets/use-save-settings-uXXkqvD7.js +0 -1
- package/build/assets/vendor~home~mcp~automations-list-CZSK-lT2.js +0 -1
- package/build/assets/vendor~root-layout~home~conversation-panel~conversation-B5WNMnt4.js +0 -1
- /package/build/assets/{automation-XDPAjiZi.js → automation-DJ_3GeXD.js} +0 -0
- /package/build/assets/{browser-store-DAsixKdU.js → browser-store-JRrcGdlk.js} +0 -0
- /package/build/assets/{check-CYxAHs85.js → check-CZhEL6rP.js} +0 -0
- /package/build/assets/{chevron-down-Bnmd5iG-.js → chevron-down-KhWYEjeW.js} +0 -0
- /package/build/assets/{color-themes-B9pm9c-R.js → color-themes-0biOprdo.js} +0 -0
- /package/build/assets/{command-store-CE1weJy8.js → command-store-UzKGSUC2.js} +0 -0
- /package/build/assets/{files-tab-store-m0ARqX_E.js → files-tab-store-DLU28g8C.js} +0 -0
- /package/build/assets/{iconBase-DE30Zj_-.js → iconBase-BVhFI-0E.js} +0 -0
- /package/build/assets/{map-provider-BJ_8KZKU.js → map-provider-C3Z5Dx2J.js} +0 -0
- /package/build/assets/{sdk-settings-field-metadata-DQiaIBie.js → sdk-settings-field-metadata-C6KMD-jZ.js} +0 -0
- /package/build/assets/{settings-like-page-layout-classes-D7YjdTd0.js → settings-like-page-layout-classes-DNg2vKSM.js} +0 -0
- /package/build/assets/{use-breakpoint-DF_RiQ6s.js → use-breakpoint-DpxHDmuH.js} +0 -0
- /package/build/assets/{use-event-store-BomO7ywK.js → use-event-store-Cxqc45Sw.js} +0 -0
- /package/build/assets/{vendor~browser-DisFGEp9.js → vendor~browser-BDNLFng6.js} +0 -0
- /package/build/assets/{vendor~conversation-panel~conversation~alert-banner-w-I2sY6c.js → vendor~conversation-panel~conversation~alert-banner-D_hRW_zc.js} +0 -0
- /package/build/assets/{vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~g56ukk6u-DsSvIDZQ.js → vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~h07fzaqi-D15MEcqi.js} +0 -0
- /package/build/assets/{vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~hkqzh1hb-BZ0HXuHD.js → vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~j8sdb9mk-OFpe9fX_.js} +0 -0
- /package/build/assets/{vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~zm51vy4j-BClAMeFe.js → vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~lpdshwee-BPuuVEqr.js} +0 -0
- /package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-CG96FCly.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-CXivI4Ym.js} +0 -0
- /package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-CyZ-3lDQ.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-Dr3Ow7Ms.js} +0 -0
- /package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-CbAhtEMv.js → vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-B1TKKuuH.js} +0 -0
- /package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~ninslayh-CLlsvdNP.js → vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~e9ykmtgh-Fa-nXZ4M.js} +0 -0
- /package/build/assets/{vendor~terminal-DZaJIY8A.js → vendor~terminal-0ObOedYm.js} +0 -0
- /package/build/assets/{vscode-url-helper-Cwy1A62q.js → vscode-url-helper-BMq8JBhB.js} +0 -0
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { useActiveBackend as e } from "../../contexts/active-backend-context.js";
|
|
2
2
|
import { useQuery as t } from "../../node_modules/@tanstack/react-query/build/modern/useQuery.js";
|
|
3
|
-
import n from "
|
|
4
|
-
import
|
|
3
|
+
import { CONFIG_CACHE_OPTIONS as n, LLM_PROFILES_QUERY_KEYS as r } from "./query-keys.js";
|
|
4
|
+
import i from "../../api/profiles-service/profiles-service.api.js";
|
|
5
5
|
//#region src/hooks/query/use-llm-profiles.ts
|
|
6
6
|
function a(a = {}) {
|
|
7
7
|
let { backend: o, orgId: s } = e();
|
|
8
8
|
return t({
|
|
9
9
|
queryKey: [
|
|
10
|
-
...
|
|
10
|
+
...r.all,
|
|
11
11
|
o.id,
|
|
12
12
|
s
|
|
13
13
|
],
|
|
14
|
-
queryFn:
|
|
15
|
-
...
|
|
14
|
+
queryFn: i.listProfiles,
|
|
15
|
+
...n,
|
|
16
16
|
enabled: a.enabled ?? !0,
|
|
17
17
|
meta: { disableToast: !0 }
|
|
18
18
|
});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../node_modules/@openhands/typescript-client/dist/client/llm-client.cjs`),
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../api/backend-registry/active-store.cjs`),t=require(`../../node_modules/@openhands/typescript-client/dist/client/llm-client.cjs`),n=require(`../../api/agent-server-client-options.cjs`);var r=[`config`,`verified-models`],i=1e3*60*5,a=1e3*60*15;async function o(){return e.getActiveBackend().backend.kind===`cloud`?{}:await new t.LLMMetadataClient(n.getAgentServerClientOptions()).getVerifiedModels()??{}}exports.VERIFIED_MODELS_GC_TIME=a,exports.VERIFIED_MODELS_QUERY_KEY=r,exports.VERIFIED_MODELS_STALE_TIME=i,exports.fetchVerifiedModelsByProvider=o;
|
|
2
2
|
//# sourceMappingURL=use-verified-models.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-verified-models.cjs","names":[],"sources":["../../../src/hooks/query/use-verified-models.ts"],"sourcesContent":["import { LLMMetadataClient } from \"@openhands/typescript-client/clients\";\nimport { getAgentServerClientOptions } from \"#/api/agent-server-client-options\";\n\nexport const VERIFIED_MODELS_QUERY_KEY = [\"config\", \"verified-models\"] as const;\nexport const VERIFIED_MODELS_STALE_TIME = 1000 * 60 * 5;\nexport const VERIFIED_MODELS_GC_TIME = 1000 * 60 * 15;\n\nexport async function fetchVerifiedModelsByProvider(): Promise<\n Record<string, string[]>\n> {\n const client = new LLMMetadataClient(getAgentServerClientOptions());\n return (await client.getVerifiedModels()) ?? {};\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-verified-models.cjs","names":[],"sources":["../../../src/hooks/query/use-verified-models.ts"],"sourcesContent":["import { LLMMetadataClient } from \"@openhands/typescript-client/clients\";\nimport { getAgentServerClientOptions } from \"#/api/agent-server-client-options\";\nimport { getActiveBackend } from \"#/api/backend-registry/active-store\";\n\nexport const VERIFIED_MODELS_QUERY_KEY = [\"config\", \"verified-models\"] as const;\nexport const VERIFIED_MODELS_STALE_TIME = 1000 * 60 * 5;\nexport const VERIFIED_MODELS_GC_TIME = 1000 * 60 * 15;\n\nexport async function fetchVerifiedModelsByProvider(): Promise<\n Record<string, string[]>\n> {\n const active = getActiveBackend();\n if (active.backend.kind === \"cloud\") {\n // Cloud backends use /api/v1/config/providers/search and /api/v1/config/models/search,\n // which return verified status directly on each item. The intermediate\n // verifiedByProvider map is only used by the local ConfigService reconstruction\n // logic, so callers can safely treat this empty object as a no-op for cloud.\n return {};\n }\n const client = new LLMMetadataClient(getAgentServerClientOptions());\n return (await client.getVerifiedModels()) ?? {};\n}\n"],"mappings":"8PAIA,IAAa,EAA4B,CAAC,SAAU,kBAAkB,CACzD,EAA6B,IAAO,GAAK,EACzC,EAA0B,IAAO,GAAK,GAEnD,eAAsB,GAEpB,CAUA,OATe,EAAA,kBACX,CAAO,QAAQ,OAAS,QAKnB,EAAE,CAGH,MAAM,IADK,EAAA,kBAAkB,EAAA,6BAA6B,CACpD,CAAO,mBAAmB,EAAK,EAAE"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { getActiveBackend as e } from "../../api/backend-registry/active-store.js";
|
|
2
|
+
import { LLMMetadataClient as t } from "../../node_modules/@openhands/typescript-client/dist/client/llm-client.js";
|
|
3
|
+
import { getAgentServerClientOptions as n } from "../../api/agent-server-client-options.js";
|
|
3
4
|
//#region src/hooks/query/use-verified-models.ts
|
|
4
|
-
var
|
|
5
|
-
async function
|
|
6
|
-
return await new
|
|
5
|
+
var r = ["config", "verified-models"], i = 1e3 * 60 * 5, a = 1e3 * 60 * 15;
|
|
6
|
+
async function o() {
|
|
7
|
+
return e().backend.kind === "cloud" ? {} : await new t(n()).getVerifiedModels() ?? {};
|
|
7
8
|
}
|
|
8
9
|
//#endregion
|
|
9
|
-
export {
|
|
10
|
+
export { a as VERIFIED_MODELS_GC_TIME, r as VERIFIED_MODELS_QUERY_KEY, i as VERIFIED_MODELS_STALE_TIME, o as fetchVerifiedModelsByProvider };
|
|
10
11
|
|
|
11
12
|
//# sourceMappingURL=use-verified-models.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-verified-models.js","names":[],"sources":["../../../src/hooks/query/use-verified-models.ts"],"sourcesContent":["import { LLMMetadataClient } from \"@openhands/typescript-client/clients\";\nimport { getAgentServerClientOptions } from \"#/api/agent-server-client-options\";\n\nexport const VERIFIED_MODELS_QUERY_KEY = [\"config\", \"verified-models\"] as const;\nexport const VERIFIED_MODELS_STALE_TIME = 1000 * 60 * 5;\nexport const VERIFIED_MODELS_GC_TIME = 1000 * 60 * 15;\n\nexport async function fetchVerifiedModelsByProvider(): Promise<\n Record<string, string[]>\n> {\n const client = new LLMMetadataClient(getAgentServerClientOptions());\n return (await client.getVerifiedModels()) ?? {};\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-verified-models.js","names":[],"sources":["../../../src/hooks/query/use-verified-models.ts"],"sourcesContent":["import { LLMMetadataClient } from \"@openhands/typescript-client/clients\";\nimport { getAgentServerClientOptions } from \"#/api/agent-server-client-options\";\nimport { getActiveBackend } from \"#/api/backend-registry/active-store\";\n\nexport const VERIFIED_MODELS_QUERY_KEY = [\"config\", \"verified-models\"] as const;\nexport const VERIFIED_MODELS_STALE_TIME = 1000 * 60 * 5;\nexport const VERIFIED_MODELS_GC_TIME = 1000 * 60 * 15;\n\nexport async function fetchVerifiedModelsByProvider(): Promise<\n Record<string, string[]>\n> {\n const active = getActiveBackend();\n if (active.backend.kind === \"cloud\") {\n // Cloud backends use /api/v1/config/providers/search and /api/v1/config/models/search,\n // which return verified status directly on each item. The intermediate\n // verifiedByProvider map is only used by the local ConfigService reconstruction\n // logic, so callers can safely treat this empty object as a no-op for cloud.\n return {};\n }\n const client = new LLMMetadataClient(getAgentServerClientOptions());\n return (await client.getVerifiedModels()) ?? {};\n}\n"],"mappings":";;;;AAIA,IAAa,IAA4B,CAAC,UAAU,kBAAkB,EACzD,IAA6B,MAAO,KAAK,GACzC,IAA0B,MAAO,KAAK;AAEnD,eAAsB,IAEpB;AAUA,QATe,GACX,CAAO,QAAQ,SAAS,UAKnB,EAAE,GAGH,MAAM,IADK,EAAkB,GAA6B,CACpD,CAAO,mBAAmB,IAAK,EAAE"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../node_modules/react-i18next/dist/es/useTranslation.cjs`),t=require(`../i18n/declaration.cjs`),n=require(`../utils/utils.cjs`),r=require(`../utils/custom-toast-handlers.cjs`),i=require(`../node_modules/@tanstack/react-query/build/modern/useMutation.cjs`),a=require(`../
|
|
1
|
+
require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../node_modules/react-i18next/dist/es/useTranslation.cjs`),t=require(`../i18n/declaration.cjs`),n=require(`../utils/utils.cjs`),r=require(`../utils/custom-toast-handlers.cjs`),i=require(`../node_modules/@tanstack/react-query/build/modern/useMutation.cjs`),a=require(`../api/conversation-service/agent-server-conversation-service.api.cjs`),o=require(`./use-tracking.cjs`);var s=()=>{let{trackDownloadTrajectoryButtonClicked:s}=o.useTracking(),{t:c}=e.useTranslation(`openhands`);return i.useMutation({mutationKey:[`conversations`,`download`],mutationFn:async e=>{s(),n.downloadBlob(await a.default.downloadConversation(e),`conversation_${e}.zip`)},onError:()=>{r.displayErrorToast(c(t.I18nKey.CONVERSATION$DOWNLOAD_ERROR))}})};exports.useDownloadConversation=s;
|
|
2
2
|
//# sourceMappingURL=use-download-conversation.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-download-conversation.cjs","names":[],"sources":["../../src/hooks/use-download-conversation.ts"],"sourcesContent":["import { useMutation } from \"@tanstack/react-query\";\nimport {
|
|
1
|
+
{"version":3,"file":"use-download-conversation.cjs","names":[],"sources":["../../src/hooks/use-download-conversation.ts"],"sourcesContent":["import { useMutation } from \"@tanstack/react-query\";\nimport { useTracking } from \"#/hooks/use-tracking\";\nimport { useTranslation } from \"react-i18next\";\nimport AgentServerConversationService from \"#/api/conversation-service/agent-server-conversation-service.api\";\nimport { downloadBlob } from \"#/utils/utils\";\nimport { displayErrorToast } from \"#/utils/custom-toast-handlers\";\nimport { I18nKey } from \"#/i18n/declaration\";\n\nexport const useDownloadConversation = () => {\n const { trackDownloadTrajectoryButtonClicked } = useTracking();\n const { t } = useTranslation(\"openhands\");\n\n return useMutation({\n mutationKey: [\"conversations\", \"download\"],\n mutationFn: async (conversationId: string) => {\n trackDownloadTrajectoryButtonClicked();\n const blob =\n await AgentServerConversationService.downloadConversation(\n conversationId,\n );\n downloadBlob(blob, `conversation_${conversationId}.zip`);\n },\n onError: () => {\n displayErrorToast(t(I18nKey.CONVERSATION$DOWNLOAD_ERROR));\n },\n });\n};\n"],"mappings":"ibAQA,IAAa,MAAgC,CAC3C,GAAM,CAAE,wCAAyC,EAAA,aAAa,CACxD,CAAE,KAAM,EAAA,eAAe,YAAY,CAEzC,OAAO,EAAA,YAAY,CACjB,YAAa,CAAC,gBAAiB,WAAW,CAC1C,WAAY,KAAO,IAA2B,CAC5C,GAAsC,CAKtC,EAAA,aAAa,MAHL,EAAA,QAA+B,qBACnC,EACD,CACgB,gBAAgB,EAAe,MAAM,EAE1D,YAAe,CACb,EAAA,kBAAkB,EAAE,EAAA,QAAQ,4BAA4B,CAAC,EAE5D,CAAC"}
|
|
@@ -3,15 +3,15 @@ import { I18nKey as t } from "../i18n/declaration.js";
|
|
|
3
3
|
import { downloadBlob as n } from "../utils/utils.js";
|
|
4
4
|
import { displayErrorToast as r } from "../utils/custom-toast-handlers.js";
|
|
5
5
|
import { useMutation as i } from "../node_modules/@tanstack/react-query/build/modern/useMutation.js";
|
|
6
|
-
import
|
|
7
|
-
import o from "
|
|
6
|
+
import a from "../api/conversation-service/agent-server-conversation-service.api.js";
|
|
7
|
+
import { useTracking as o } from "./use-tracking.js";
|
|
8
8
|
//#region src/hooks/use-download-conversation.ts
|
|
9
9
|
var s = () => {
|
|
10
|
-
let s =
|
|
10
|
+
let { trackDownloadTrajectoryButtonClicked: s } = o(), { t: c } = e("openhands");
|
|
11
11
|
return i({
|
|
12
12
|
mutationKey: ["conversations", "download"],
|
|
13
13
|
mutationFn: async (e) => {
|
|
14
|
-
s
|
|
14
|
+
s(), n(await a.downloadConversation(e), `conversation_${e}.zip`);
|
|
15
15
|
},
|
|
16
16
|
onError: () => {
|
|
17
17
|
r(c(t.CONVERSATION$DOWNLOAD_ERROR));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-download-conversation.js","names":[],"sources":["../../src/hooks/use-download-conversation.ts"],"sourcesContent":["import { useMutation } from \"@tanstack/react-query\";\nimport {
|
|
1
|
+
{"version":3,"file":"use-download-conversation.js","names":[],"sources":["../../src/hooks/use-download-conversation.ts"],"sourcesContent":["import { useMutation } from \"@tanstack/react-query\";\nimport { useTracking } from \"#/hooks/use-tracking\";\nimport { useTranslation } from \"react-i18next\";\nimport AgentServerConversationService from \"#/api/conversation-service/agent-server-conversation-service.api\";\nimport { downloadBlob } from \"#/utils/utils\";\nimport { displayErrorToast } from \"#/utils/custom-toast-handlers\";\nimport { I18nKey } from \"#/i18n/declaration\";\n\nexport const useDownloadConversation = () => {\n const { trackDownloadTrajectoryButtonClicked } = useTracking();\n const { t } = useTranslation(\"openhands\");\n\n return useMutation({\n mutationKey: [\"conversations\", \"download\"],\n mutationFn: async (conversationId: string) => {\n trackDownloadTrajectoryButtonClicked();\n const blob =\n await AgentServerConversationService.downloadConversation(\n conversationId,\n );\n downloadBlob(blob, `conversation_${conversationId}.zip`);\n },\n onError: () => {\n displayErrorToast(t(I18nKey.CONVERSATION$DOWNLOAD_ERROR));\n },\n });\n};\n"],"mappings":";;;;;;;;AAQA,IAAa,UAAgC;CAC3C,IAAM,EAAE,4CAAyC,GAAa,EACxD,EAAE,SAAM,EAAe,YAAY;AAEzC,QAAO,EAAY;EACjB,aAAa,CAAC,iBAAiB,WAAW;EAC1C,YAAY,OAAO,MAA2B;AAM5C,GALA,GAAsC,EAKtC,EAAa,MAHL,EAA+B,qBACnC,EACD,EACgB,gBAAgB,EAAe,MAAM;;EAE1D,eAAe;AACb,KAAkB,EAAE,EAAQ,4BAA4B,CAAC;;EAE5D,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../node_modules/posthog-js/react/dist/esm/index.cjs`),t=require(`./query/use-settings.cjs`);var n=()=>{let n=e.usePostHog(),{data:r}=t.useSettings(),i={current_url:window.location.href,user_email:r?.email||r?.git_user_email||null};return{trackLoginButtonClick:({provider:e})=>{
|
|
1
|
+
require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../node_modules/posthog-js/react/dist/esm/index.cjs`),t=require(`./query/use-settings.cjs`);var n=()=>{let n=e.usePostHog(),{data:r}=t.useSettings(),i={current_url:window.location.href,user_email:r?.email||r?.git_user_email||null},a=(e,t={})=>{!n||r?.user_consents_to_analytics!==!0||n.capture(e,{...t,...i})};return{trackLoginButtonClick:({provider:e})=>{a(`login_button_clicked`,{provider:e})},trackConversationCreated:({hasRepository:e})=>{a(`conversation_created`,{has_repository:e})},trackPushButtonClick:()=>{a(`push_button_clicked`)},trackPullButtonClick:()=>{a(`pull_button_clicked`)},trackCreatePrButtonClick:()=>{a(`create_pr_button_clicked`)},trackUserSignupCompleted:()=>{a(`user_signup_completed`,{signup_timestamp:new Date().toISOString()})},trackPrebuiltAutomationEnabled:({automationId:e,automationName:t,automationCategory:n})=>{a(`prebuilt_automation_enabled`,{automation_id:e,automation_name:t,automation_category:n})},trackInitialQuerySubmitted:({entryPoint:e,queryCharacterLength:t,replayJsonSize:n})=>{a(`initial_query_submitted`,{entry_point:e,query_character_length:t,replay_json_size:n})},trackUserMessageSent:({sessionMessageCount:e,currentMessageLength:t})=>{a(`user_message_sent`,{session_message_count:e,current_message_length:t})},trackDownloadVsCodeButtonClicked:()=>{a(`download_via_vscode_button_clicked`)},trackSettingsSaved:({llmModel:e,llmApiKeySet:t,searchApiKeySet:n,remoteRuntimeResourceFactor:r})=>{a(`settings_saved`,{LLM_MODEL:e,LLM_API_KEY_SET:t,SEARCH_API_KEY_SET:n,REMOTE_RUNTIME_RESOURCE_FACTOR:r})},trackMcpConfigUpdated:({sseServersCount:e,stdioServersCount:t})=>{a(`mcp_config_updated`,{has_mcp_config:!0,sse_servers_count:e,stdio_servers_count:t})},trackDownloadTrajectoryButtonClicked:()=>{a(`download_trajectory_button_clicked`)}}};exports.useTracking=n;
|
|
2
2
|
//# sourceMappingURL=use-tracking.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-tracking.cjs","names":[],"sources":["../../src/hooks/use-tracking.ts"],"sourcesContent":["import { usePostHog } from \"posthog-js/react\";\nimport { useSettings } from \"./query/use-settings\";\nimport { Provider } from \"#/types/settings\";\n\n/**\n * Hook that provides tracking functions with automatic data collection\n * from available hooks (settings, etc.)\n */\nexport const useTracking = () => {\n const posthog = usePostHog();\n const { data: settings } = useSettings();\n\n // Common properties included in all tracking events\n const commonProperties = {\n current_url: window.location.href,\n user_email: settings?.email || settings?.git_user_email || null,\n };\n\n const trackLoginButtonClick = ({ provider }: { provider: Provider }) => {\n
|
|
1
|
+
{"version":3,"file":"use-tracking.cjs","names":[],"sources":["../../src/hooks/use-tracking.ts"],"sourcesContent":["import { usePostHog } from \"posthog-js/react\";\nimport { useSettings } from \"./query/use-settings\";\nimport { Provider } from \"#/types/settings\";\n\n/**\n * Hook that provides tracking functions with automatic data collection\n * from available hooks (settings, etc.)\n *\n * All events require explicit user consent (user_consents_to_analytics === true).\n * Events are silently dropped when:\n * - posthog is not initialized (VITE_POSTHOG_CLIENT_KEY not set)\n * - user_consents_to_analytics is false or null (consent not yet collected)\n */\nexport const useTracking = () => {\n const posthog = usePostHog();\n const { data: settings } = useSettings();\n\n // Common properties included in all tracking events\n const commonProperties = {\n current_url: window.location.href,\n user_email: settings?.email || settings?.git_user_email || null,\n };\n\n /**\n * Capture an event only when PostHog is available and the user has\n * explicitly consented. null and false are both treated as \"not consented\".\n */\n const track = (event: string, properties: Record<string, unknown> = {}) => {\n if (!posthog || settings?.user_consents_to_analytics !== true) return;\n posthog.capture(event, { ...properties, ...commonProperties });\n };\n\n const trackLoginButtonClick = ({ provider }: { provider: Provider }) => {\n track(\"login_button_clicked\", { provider });\n };\n\n const trackConversationCreated = ({\n hasRepository,\n }: {\n hasRepository: boolean;\n }) => {\n track(\"conversation_created\", { has_repository: hasRepository });\n };\n\n const trackPushButtonClick = () => {\n track(\"push_button_clicked\");\n };\n\n const trackPullButtonClick = () => {\n track(\"pull_button_clicked\");\n };\n\n const trackCreatePrButtonClick = () => {\n track(\"create_pr_button_clicked\");\n };\n\n const trackUserSignupCompleted = () => {\n track(\"user_signup_completed\", {\n signup_timestamp: new Date().toISOString(),\n });\n };\n\n const trackPrebuiltAutomationEnabled = ({\n automationId,\n automationName,\n automationCategory,\n }: {\n automationId?: string;\n automationName: string;\n automationCategory?: string;\n }) => {\n track(\"prebuilt_automation_enabled\", {\n automation_id: automationId,\n automation_name: automationName,\n automation_category: automationCategory,\n });\n };\n\n const trackInitialQuerySubmitted = ({\n entryPoint,\n queryCharacterLength,\n replayJsonSize,\n }: {\n entryPoint: string;\n queryCharacterLength: number;\n replayJsonSize?: number;\n }) => {\n track(\"initial_query_submitted\", {\n entry_point: entryPoint,\n query_character_length: queryCharacterLength,\n replay_json_size: replayJsonSize,\n });\n };\n\n const trackUserMessageSent = ({\n sessionMessageCount,\n currentMessageLength,\n }: {\n sessionMessageCount: number;\n currentMessageLength: number;\n }) => {\n track(\"user_message_sent\", {\n session_message_count: sessionMessageCount,\n current_message_length: currentMessageLength,\n });\n };\n\n const trackDownloadVsCodeButtonClicked = () => {\n track(\"download_via_vscode_button_clicked\");\n };\n\n const trackSettingsSaved = ({\n llmModel,\n llmApiKeySet,\n searchApiKeySet,\n remoteRuntimeResourceFactor,\n }: {\n llmModel: unknown;\n llmApiKeySet: \"SET\" | \"UNSET\";\n searchApiKeySet: \"SET\" | \"UNSET\";\n remoteRuntimeResourceFactor?: unknown;\n }) => {\n track(\"settings_saved\", {\n LLM_MODEL: llmModel,\n LLM_API_KEY_SET: llmApiKeySet,\n SEARCH_API_KEY_SET: searchApiKeySet,\n REMOTE_RUNTIME_RESOURCE_FACTOR: remoteRuntimeResourceFactor,\n });\n };\n\n const trackMcpConfigUpdated = ({\n sseServersCount,\n stdioServersCount,\n }: {\n sseServersCount: number;\n stdioServersCount: number;\n }) => {\n track(\"mcp_config_updated\", {\n has_mcp_config: true,\n sse_servers_count: sseServersCount,\n stdio_servers_count: stdioServersCount,\n });\n };\n\n const trackDownloadTrajectoryButtonClicked = () => {\n track(\"download_trajectory_button_clicked\");\n };\n\n return {\n trackLoginButtonClick,\n trackConversationCreated,\n trackPushButtonClick,\n trackPullButtonClick,\n trackCreatePrButtonClick,\n trackUserSignupCompleted,\n trackPrebuiltAutomationEnabled,\n trackInitialQuerySubmitted,\n trackUserMessageSent,\n trackDownloadVsCodeButtonClicked,\n trackSettingsSaved,\n trackMcpConfigUpdated,\n trackDownloadTrajectoryButtonClicked,\n };\n};\n"],"mappings":"0JAaA,IAAa,MAAoB,CAC/B,IAAM,EAAU,EAAA,YAAY,CACtB,CAAE,KAAM,GAAa,EAAA,aAAa,CAGlC,EAAmB,CACvB,YAAa,OAAO,SAAS,KAC7B,WAAY,GAAU,OAAS,GAAU,gBAAkB,KAC5D,CAMK,GAAS,EAAe,EAAsC,EAAE,GAAK,CACrE,CAAC,GAAW,GAAU,6BAA+B,IACzD,EAAQ,QAAQ,EAAO,CAAE,GAAG,EAAY,GAAG,EAAkB,CAAC,EAuHhE,MAAO,CACL,uBArH6B,CAAE,cAAuC,CACtE,EAAM,uBAAwB,CAAE,WAAU,CAAC,EAqH3C,0BAlHgC,CAChC,mBAGI,CACJ,EAAM,uBAAwB,CAAE,eAAgB,EAAe,CAAC,EA8GhE,yBA3GiC,CACjC,EAAM,sBAAsB,EA2G5B,yBAxGiC,CACjC,EAAM,sBAAsB,EAwG5B,6BArGqC,CACrC,EAAM,2BAA2B,EAqGjC,6BAlGqC,CACrC,EAAM,wBAAyB,CAC7B,iBAAkB,IAAI,MAAM,CAAC,aAAa,CAC3C,CAAC,EAgGF,gCA7FsC,CACtC,eACA,iBACA,wBAKI,CACJ,EAAM,8BAA+B,CACnC,cAAe,EACf,gBAAiB,EACjB,oBAAqB,EACtB,CAAC,EAiFF,4BA9EkC,CAClC,aACA,uBACA,oBAKI,CACJ,EAAM,0BAA2B,CAC/B,YAAa,EACb,uBAAwB,EACxB,iBAAkB,EACnB,CAAC,EAkEF,sBA/D4B,CAC5B,sBACA,0BAII,CACJ,EAAM,oBAAqB,CACzB,sBAAuB,EACvB,uBAAwB,EACzB,CAAC,EAsDF,qCAnD6C,CAC7C,EAAM,qCAAqC,EAmD3C,oBAhD0B,CAC1B,WACA,eACA,kBACA,iCAMI,CACJ,EAAM,iBAAkB,CACtB,UAAW,EACX,gBAAiB,EACjB,mBAAoB,EACpB,+BAAgC,EACjC,CAAC,EAiCF,uBA9B6B,CAC7B,kBACA,uBAII,CACJ,EAAM,qBAAsB,CAC1B,eAAgB,GAChB,kBAAmB,EACnB,oBAAqB,EACtB,CAAC,EAoBF,yCAjBiD,CACjD,EAAM,qCAAqC,EAiB5C"}
|
|
@@ -2,6 +2,11 @@ import { Provider } from "#/types/settings";
|
|
|
2
2
|
/**
|
|
3
3
|
* Hook that provides tracking functions with automatic data collection
|
|
4
4
|
* from available hooks (settings, etc.)
|
|
5
|
+
*
|
|
6
|
+
* All events require explicit user consent (user_consents_to_analytics === true).
|
|
7
|
+
* Events are silently dropped when:
|
|
8
|
+
* - posthog is not initialized (VITE_POSTHOG_CLIENT_KEY not set)
|
|
9
|
+
* - user_consents_to_analytics is false or null (consent not yet collected)
|
|
5
10
|
*/
|
|
6
11
|
export declare const useTracking: () => {
|
|
7
12
|
trackLoginButtonClick: ({ provider }: {
|
|
@@ -14,4 +19,30 @@ export declare const useTracking: () => {
|
|
|
14
19
|
trackPullButtonClick: () => void;
|
|
15
20
|
trackCreatePrButtonClick: () => void;
|
|
16
21
|
trackUserSignupCompleted: () => void;
|
|
22
|
+
trackPrebuiltAutomationEnabled: ({ automationId, automationName, automationCategory, }: {
|
|
23
|
+
automationId?: string;
|
|
24
|
+
automationName: string;
|
|
25
|
+
automationCategory?: string;
|
|
26
|
+
}) => void;
|
|
27
|
+
trackInitialQuerySubmitted: ({ entryPoint, queryCharacterLength, replayJsonSize, }: {
|
|
28
|
+
entryPoint: string;
|
|
29
|
+
queryCharacterLength: number;
|
|
30
|
+
replayJsonSize?: number;
|
|
31
|
+
}) => void;
|
|
32
|
+
trackUserMessageSent: ({ sessionMessageCount, currentMessageLength, }: {
|
|
33
|
+
sessionMessageCount: number;
|
|
34
|
+
currentMessageLength: number;
|
|
35
|
+
}) => void;
|
|
36
|
+
trackDownloadVsCodeButtonClicked: () => void;
|
|
37
|
+
trackSettingsSaved: ({ llmModel, llmApiKeySet, searchApiKeySet, remoteRuntimeResourceFactor, }: {
|
|
38
|
+
llmModel: unknown;
|
|
39
|
+
llmApiKeySet: "SET" | "UNSET";
|
|
40
|
+
searchApiKeySet: "SET" | "UNSET";
|
|
41
|
+
remoteRuntimeResourceFactor?: unknown;
|
|
42
|
+
}) => void;
|
|
43
|
+
trackMcpConfigUpdated: ({ sseServersCount, stdioServersCount, }: {
|
|
44
|
+
sseServersCount: number;
|
|
45
|
+
stdioServersCount: number;
|
|
46
|
+
}) => void;
|
|
47
|
+
trackDownloadTrajectoryButtonClicked: () => void;
|
|
17
48
|
};
|
|
@@ -5,34 +5,71 @@ var n = () => {
|
|
|
5
5
|
let n = e(), { data: r } = t(), i = {
|
|
6
6
|
current_url: window.location.href,
|
|
7
7
|
user_email: r?.email || r?.git_user_email || null
|
|
8
|
+
}, a = (e, t = {}) => {
|
|
9
|
+
!n || r?.user_consents_to_analytics !== !0 || n.capture(e, {
|
|
10
|
+
...t,
|
|
11
|
+
...i
|
|
12
|
+
});
|
|
8
13
|
};
|
|
9
14
|
return {
|
|
10
15
|
trackLoginButtonClick: ({ provider: e }) => {
|
|
11
|
-
|
|
12
|
-
provider: e,
|
|
13
|
-
...i
|
|
14
|
-
});
|
|
16
|
+
a("login_button_clicked", { provider: e });
|
|
15
17
|
},
|
|
16
18
|
trackConversationCreated: ({ hasRepository: e }) => {
|
|
17
|
-
|
|
18
|
-
has_repository: e,
|
|
19
|
-
...i
|
|
20
|
-
});
|
|
19
|
+
a("conversation_created", { has_repository: e });
|
|
21
20
|
},
|
|
22
21
|
trackPushButtonClick: () => {
|
|
23
|
-
|
|
22
|
+
a("push_button_clicked");
|
|
24
23
|
},
|
|
25
24
|
trackPullButtonClick: () => {
|
|
26
|
-
|
|
25
|
+
a("pull_button_clicked");
|
|
27
26
|
},
|
|
28
27
|
trackCreatePrButtonClick: () => {
|
|
29
|
-
|
|
28
|
+
a("create_pr_button_clicked");
|
|
30
29
|
},
|
|
31
30
|
trackUserSignupCompleted: () => {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
a("user_signup_completed", { signup_timestamp: (/* @__PURE__ */ new Date()).toISOString() });
|
|
32
|
+
},
|
|
33
|
+
trackPrebuiltAutomationEnabled: ({ automationId: e, automationName: t, automationCategory: n }) => {
|
|
34
|
+
a("prebuilt_automation_enabled", {
|
|
35
|
+
automation_id: e,
|
|
36
|
+
automation_name: t,
|
|
37
|
+
automation_category: n
|
|
38
|
+
});
|
|
39
|
+
},
|
|
40
|
+
trackInitialQuerySubmitted: ({ entryPoint: e, queryCharacterLength: t, replayJsonSize: n }) => {
|
|
41
|
+
a("initial_query_submitted", {
|
|
42
|
+
entry_point: e,
|
|
43
|
+
query_character_length: t,
|
|
44
|
+
replay_json_size: n
|
|
45
|
+
});
|
|
46
|
+
},
|
|
47
|
+
trackUserMessageSent: ({ sessionMessageCount: e, currentMessageLength: t }) => {
|
|
48
|
+
a("user_message_sent", {
|
|
49
|
+
session_message_count: e,
|
|
50
|
+
current_message_length: t
|
|
35
51
|
});
|
|
52
|
+
},
|
|
53
|
+
trackDownloadVsCodeButtonClicked: () => {
|
|
54
|
+
a("download_via_vscode_button_clicked");
|
|
55
|
+
},
|
|
56
|
+
trackSettingsSaved: ({ llmModel: e, llmApiKeySet: t, searchApiKeySet: n, remoteRuntimeResourceFactor: r }) => {
|
|
57
|
+
a("settings_saved", {
|
|
58
|
+
LLM_MODEL: e,
|
|
59
|
+
LLM_API_KEY_SET: t,
|
|
60
|
+
SEARCH_API_KEY_SET: n,
|
|
61
|
+
REMOTE_RUNTIME_RESOURCE_FACTOR: r
|
|
62
|
+
});
|
|
63
|
+
},
|
|
64
|
+
trackMcpConfigUpdated: ({ sseServersCount: e, stdioServersCount: t }) => {
|
|
65
|
+
a("mcp_config_updated", {
|
|
66
|
+
has_mcp_config: !0,
|
|
67
|
+
sse_servers_count: e,
|
|
68
|
+
stdio_servers_count: t
|
|
69
|
+
});
|
|
70
|
+
},
|
|
71
|
+
trackDownloadTrajectoryButtonClicked: () => {
|
|
72
|
+
a("download_trajectory_button_clicked");
|
|
36
73
|
}
|
|
37
74
|
};
|
|
38
75
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-tracking.js","names":[],"sources":["../../src/hooks/use-tracking.ts"],"sourcesContent":["import { usePostHog } from \"posthog-js/react\";\nimport { useSettings } from \"./query/use-settings\";\nimport { Provider } from \"#/types/settings\";\n\n/**\n * Hook that provides tracking functions with automatic data collection\n * from available hooks (settings, etc.)\n */\nexport const useTracking = () => {\n const posthog = usePostHog();\n const { data: settings } = useSettings();\n\n // Common properties included in all tracking events\n const commonProperties = {\n current_url: window.location.href,\n user_email: settings?.email || settings?.git_user_email || null,\n };\n\n const trackLoginButtonClick = ({ provider }: { provider: Provider }) => {\n
|
|
1
|
+
{"version":3,"file":"use-tracking.js","names":[],"sources":["../../src/hooks/use-tracking.ts"],"sourcesContent":["import { usePostHog } from \"posthog-js/react\";\nimport { useSettings } from \"./query/use-settings\";\nimport { Provider } from \"#/types/settings\";\n\n/**\n * Hook that provides tracking functions with automatic data collection\n * from available hooks (settings, etc.)\n *\n * All events require explicit user consent (user_consents_to_analytics === true).\n * Events are silently dropped when:\n * - posthog is not initialized (VITE_POSTHOG_CLIENT_KEY not set)\n * - user_consents_to_analytics is false or null (consent not yet collected)\n */\nexport const useTracking = () => {\n const posthog = usePostHog();\n const { data: settings } = useSettings();\n\n // Common properties included in all tracking events\n const commonProperties = {\n current_url: window.location.href,\n user_email: settings?.email || settings?.git_user_email || null,\n };\n\n /**\n * Capture an event only when PostHog is available and the user has\n * explicitly consented. null and false are both treated as \"not consented\".\n */\n const track = (event: string, properties: Record<string, unknown> = {}) => {\n if (!posthog || settings?.user_consents_to_analytics !== true) return;\n posthog.capture(event, { ...properties, ...commonProperties });\n };\n\n const trackLoginButtonClick = ({ provider }: { provider: Provider }) => {\n track(\"login_button_clicked\", { provider });\n };\n\n const trackConversationCreated = ({\n hasRepository,\n }: {\n hasRepository: boolean;\n }) => {\n track(\"conversation_created\", { has_repository: hasRepository });\n };\n\n const trackPushButtonClick = () => {\n track(\"push_button_clicked\");\n };\n\n const trackPullButtonClick = () => {\n track(\"pull_button_clicked\");\n };\n\n const trackCreatePrButtonClick = () => {\n track(\"create_pr_button_clicked\");\n };\n\n const trackUserSignupCompleted = () => {\n track(\"user_signup_completed\", {\n signup_timestamp: new Date().toISOString(),\n });\n };\n\n const trackPrebuiltAutomationEnabled = ({\n automationId,\n automationName,\n automationCategory,\n }: {\n automationId?: string;\n automationName: string;\n automationCategory?: string;\n }) => {\n track(\"prebuilt_automation_enabled\", {\n automation_id: automationId,\n automation_name: automationName,\n automation_category: automationCategory,\n });\n };\n\n const trackInitialQuerySubmitted = ({\n entryPoint,\n queryCharacterLength,\n replayJsonSize,\n }: {\n entryPoint: string;\n queryCharacterLength: number;\n replayJsonSize?: number;\n }) => {\n track(\"initial_query_submitted\", {\n entry_point: entryPoint,\n query_character_length: queryCharacterLength,\n replay_json_size: replayJsonSize,\n });\n };\n\n const trackUserMessageSent = ({\n sessionMessageCount,\n currentMessageLength,\n }: {\n sessionMessageCount: number;\n currentMessageLength: number;\n }) => {\n track(\"user_message_sent\", {\n session_message_count: sessionMessageCount,\n current_message_length: currentMessageLength,\n });\n };\n\n const trackDownloadVsCodeButtonClicked = () => {\n track(\"download_via_vscode_button_clicked\");\n };\n\n const trackSettingsSaved = ({\n llmModel,\n llmApiKeySet,\n searchApiKeySet,\n remoteRuntimeResourceFactor,\n }: {\n llmModel: unknown;\n llmApiKeySet: \"SET\" | \"UNSET\";\n searchApiKeySet: \"SET\" | \"UNSET\";\n remoteRuntimeResourceFactor?: unknown;\n }) => {\n track(\"settings_saved\", {\n LLM_MODEL: llmModel,\n LLM_API_KEY_SET: llmApiKeySet,\n SEARCH_API_KEY_SET: searchApiKeySet,\n REMOTE_RUNTIME_RESOURCE_FACTOR: remoteRuntimeResourceFactor,\n });\n };\n\n const trackMcpConfigUpdated = ({\n sseServersCount,\n stdioServersCount,\n }: {\n sseServersCount: number;\n stdioServersCount: number;\n }) => {\n track(\"mcp_config_updated\", {\n has_mcp_config: true,\n sse_servers_count: sseServersCount,\n stdio_servers_count: stdioServersCount,\n });\n };\n\n const trackDownloadTrajectoryButtonClicked = () => {\n track(\"download_trajectory_button_clicked\");\n };\n\n return {\n trackLoginButtonClick,\n trackConversationCreated,\n trackPushButtonClick,\n trackPullButtonClick,\n trackCreatePrButtonClick,\n trackUserSignupCompleted,\n trackPrebuiltAutomationEnabled,\n trackInitialQuerySubmitted,\n trackUserMessageSent,\n trackDownloadVsCodeButtonClicked,\n trackSettingsSaved,\n trackMcpConfigUpdated,\n trackDownloadTrajectoryButtonClicked,\n };\n};\n"],"mappings":";;;AAaA,IAAa,UAAoB;CAC/B,IAAM,IAAU,GAAY,EACtB,EAAE,MAAM,MAAa,GAAa,EAGlC,IAAmB;EACvB,aAAa,OAAO,SAAS;EAC7B,YAAY,GAAU,SAAS,GAAU,kBAAkB;EAC5D,EAMK,KAAS,GAAe,IAAsC,EAAE,KAAK;AACrE,GAAC,KAAW,GAAU,+BAA+B,MACzD,EAAQ,QAAQ,GAAO;GAAE,GAAG;GAAY,GAAG;GAAkB,CAAC;;AAuHhE,QAAO;EACL,wBArH6B,EAAE,kBAAuC;AACtE,KAAM,wBAAwB,EAAE,aAAU,CAAC;;EAqH3C,2BAlHgC,EAChC,uBAGI;AACJ,KAAM,wBAAwB,EAAE,gBAAgB,GAAe,CAAC;;EA8GhE,4BA3GiC;AACjC,KAAM,sBAAsB;;EA2G5B,4BAxGiC;AACjC,KAAM,sBAAsB;;EAwG5B,gCArGqC;AACrC,KAAM,2BAA2B;;EAqGjC,gCAlGqC;AACrC,KAAM,yBAAyB,EAC7B,mCAAkB,IAAI,MAAM,EAAC,aAAa,EAC3C,CAAC;;EAgGF,iCA7FsC,EACtC,iBACA,mBACA,4BAKI;AACJ,KAAM,+BAA+B;IACnC,eAAe;IACf,iBAAiB;IACjB,qBAAqB;IACtB,CAAC;;EAiFF,6BA9EkC,EAClC,eACA,yBACA,wBAKI;AACJ,KAAM,2BAA2B;IAC/B,aAAa;IACb,wBAAwB;IACxB,kBAAkB;IACnB,CAAC;;EAkEF,uBA/D4B,EAC5B,wBACA,8BAII;AACJ,KAAM,qBAAqB;IACzB,uBAAuB;IACvB,wBAAwB;IACzB,CAAC;;EAsDF,wCAnD6C;AAC7C,KAAM,qCAAqC;;EAmD3C,qBAhD0B,EAC1B,aACA,iBACA,oBACA,qCAMI;AACJ,KAAM,kBAAkB;IACtB,WAAW;IACX,iBAAiB;IACjB,oBAAoB;IACpB,gCAAgC;IACjC,CAAC;;EAiCF,wBA9B6B,EAC7B,oBACA,2BAII;AACJ,KAAM,sBAAsB;IAC1B,gBAAgB;IAChB,mBAAmB;IACnB,qBAAqB;IACtB,CAAC;;EAoBF,4CAjBiD;AACjD,KAAM,qCAAqC;;EAiB5C"}
|