@openhands/agent-canvas 1.16.0 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (956) hide show
  1. package/README.md +1 -1
  2. package/README.windows.md +2 -2
  3. package/build/assets/{acp-providers-CX3Lh9gj.js → acp-providers-DrjNsPOH.js} +1 -1
  4. package/build/assets/active-backend-context-rZiLJRUc.js +2 -0
  5. package/build/assets/{agent-context-settings-DSZlXrLj.js → agent-context-settings-CJUrcBut.js} +1 -1
  6. package/build/assets/agent-profiles-service.api-Biieml2L.js +1 -0
  7. package/build/assets/agent-profiles-settings-x6RvPsq7.js +1 -0
  8. package/build/assets/agent-server-client-options-BikiNwTa.js +1 -0
  9. package/build/assets/agent-server-conversation-service.api-DYFsNHKf.js +88 -0
  10. package/build/assets/agent-settings-BJyovpJ_.js +1 -0
  11. package/build/assets/agent-settings-CpY3zObk.js +2 -0
  12. package/build/assets/{alert-banner-HP6mX-Vr.js → alert-banner-vARz1idS.js} +1 -1
  13. package/build/assets/{api-error-message-B-XdSk3b.js → api-error-message-Ve79qDcN.js} +1 -1
  14. package/build/assets/api-key-entry-screen-CsMuBhoP.js +1 -0
  15. package/build/assets/{app-settings-dbnneVaV.js → app-settings-BaJ7nfHt.js} +1 -1
  16. package/build/assets/automation-detail-CVoGDrKq.js +3 -0
  17. package/build/assets/{automation-export-D3a3of4G.js → automation-export-DxY47m3T.js} +1 -1
  18. package/build/assets/automation-git-sync-CRMP9Bbm.js +1 -0
  19. package/build/assets/automation-setup-route-072beLz1.js +3 -0
  20. package/build/assets/{automation-templates-BRppNh99.js → automation-templates-4C4PM8K7.js} +1 -1
  21. package/build/assets/automations-list-xuqTSQL4.js +1 -0
  22. package/build/assets/{back-nav-button-Cjl_hoxq.js → back-nav-button-B8tH0BEp.js} +1 -1
  23. package/build/assets/backend-form-modal-0aJmWdsa.js +1 -0
  24. package/build/assets/{backend-synced-settings-badge-DPkz30BE.js → backend-synced-settings-badge-B7rKWBir.js} +1 -1
  25. package/build/assets/{badge-BU3S0VtE.js → badge-CcGx2TaV.js} +1 -1
  26. package/build/assets/{base-modal-D_L0oEbG.js → base-modal-DTULovNc.js} +1 -1
  27. package/build/assets/bot-CLMxGFaq.js +1 -0
  28. package/build/assets/{brand-button-BAfk4wGP.js → brand-button-DxPO4Lf8.js} +1 -1
  29. package/build/assets/{browser-DSAo0tz1.js → browser-C-_qBasq.js} +2 -2
  30. package/build/assets/{browser-tab-C9vy56R5.js → browser-tab-DZanIw5m.js} +1 -1
  31. package/build/assets/{canvas-extension-page-dx1gFrfW.js → canvas-extension-page-o_cWgE9B.js} +1 -1
  32. package/build/assets/canvas-extensions-DSgNlCha.js +1 -0
  33. package/build/assets/{canvas-extensions-runtime-2_x5Ezmi.js → canvas-extensions-runtime-DdnkgJXV.js} +1 -1
  34. package/build/assets/{chat-send-button-MUQqCZCS.js → chat-send-button-B3SFSIg5.js} +1 -1
  35. package/build/assets/check-fDEfgSzj.js +1 -0
  36. package/build/assets/chevron-down-CFrWHqu8.js +1 -0
  37. package/build/assets/chevron-right-C5roOrJu.js +1 -0
  38. package/build/assets/circle-check-ClTzJTdb.js +1 -0
  39. package/build/assets/{circle-plus-check-toggle-BO_kFZt3.js → circle-plus-check-toggle-Fr-h-mbL.js} +1 -1
  40. package/build/assets/{cloud-funnel-analytics-CztBCCPp.js → cloud-funnel-analytics-BQanUEEC.js} +1 -1
  41. package/build/assets/{cog-D-MPQW6G.js → cog-VBlRo6iw.js} +1 -1
  42. package/build/assets/command-menu-BT3Ia5Ru.js +1 -0
  43. package/build/assets/commits-tab-2jhtaohl.js +1 -0
  44. package/build/assets/{condenser-settings-DmEOje-7.js → condenser-settings-eVKFMvap.js} +1 -1
  45. package/build/assets/confirmation-modal-gIFHeZt6.js +1 -0
  46. package/build/assets/{context-menu-list-item-I86vKcmM.js → context-menu-list-item-DDROe12Z.js} +1 -1
  47. package/build/assets/conversation-BnjJSFf5.js +93 -0
  48. package/build/assets/conversation-DZ578rOX.js +1 -0
  49. package/build/assets/conversation-panel-DZ578rOX.js +1 -0
  50. package/build/assets/{conversation-state-store-B0ImPLHO.js → conversation-state-store-D1_G_9I-.js} +1 -1
  51. package/build/assets/{conversation-store-Ca3ghXap.js → conversation-store-DVVfkCsk.js} +1 -1
  52. package/build/assets/{conversation-tab-empty-state-FIbh_lc8.js → conversation-tab-empty-state-DKlzAz5c.js} +1 -1
  53. package/build/assets/{copy-to-clipboard-button-Ca8iSkkA.js → copy-to-clipboard-button-B3w0X7WH.js} +1 -1
  54. package/build/assets/{device-verify-Bhn2e_Ye.js → device-verify-BfkCzyFB.js} +1 -1
  55. package/build/assets/{dropdown-classes-Bc1djN0-.js → dropdown-classes-B9kJVDIk.js} +1 -1
  56. package/build/assets/edit-automation-modal-BwhJ39JT.js +1 -0
  57. package/build/assets/empty-state-RZz0OfnY.js +1 -0
  58. package/build/assets/{entry.client-CqyPPjOq.js → entry.client-Ds8LVp-E.js} +2 -2
  59. package/build/assets/enum-filter-dropdown-C4pW0ORd.js +1 -0
  60. package/build/assets/{environment-switch-overlay-BmBRT7gv.js → environment-switch-overlay-P2ZAuzov.js} +1 -1
  61. package/build/assets/{error-state-Body8Ngd.js → error-state-B_5cgNPJ.js} +1 -1
  62. package/build/assets/extensions-hub-DsaUr4ca.js +1 -0
  63. package/build/assets/extensions-navigation-CRMZd-FE.js +1 -0
  64. package/build/assets/external-link-DQtv7eTh.js +1 -0
  65. package/build/assets/files-tab-CCgAcVdc.js +1 -0
  66. package/build/assets/{form-control-classes-Bkh5FGrD.js → form-control-classes-B-z85REi.js} +1 -1
  67. package/build/assets/get-git-path-EHrSDxTM.js +1 -0
  68. package/build/assets/git-repo-dropdown-D2WEQ97X.js +1 -0
  69. package/build/assets/{git-repo-dropdown-4ROKl2cB.js → git-repo-dropdown-DVeCUUXG.js} +1 -1
  70. package/build/assets/{highlighted-source-view-BFRxGT_Q.js → highlighted-source-view-DjHO3SdW.js} +1 -1
  71. package/build/assets/home-BorS_vdS.js +1 -0
  72. package/build/assets/home-aIMbHw5M.js +1 -0
  73. package/build/assets/home-automation-run-tooltip-CpHNFiFl.js +1 -0
  74. package/build/assets/home-store-DyXz0w6d.js +1 -0
  75. package/build/assets/hooks-service-C6dpRtZM.js +1 -0
  76. package/build/assets/index-home-zKFuKK2B.js +1 -0
  77. package/build/assets/info-CTIdjttz.js +1 -0
  78. package/build/assets/install-server-modal-DUiZMc8u.js +1 -0
  79. package/build/assets/kebab-menu-item-content-mm04SBD3.js +1 -0
  80. package/build/assets/{key-BmVyxs-2.js → key-CfXbJa8w.js} +1 -1
  81. package/build/assets/{launch-IrTDEFCs.js → launch-BSIf9KEg.js} +1 -1
  82. package/build/assets/list-filter-CNpqTWVY.js +1 -0
  83. package/build/assets/{list-todo-apgLVjMw.js → list-todo-ByXMdY4W.js} +1 -1
  84. package/build/assets/llm-not-configured-banner-z_QRSeV0.js +27 -0
  85. package/build/assets/llm-settings-B-5AHMiX.js +1 -0
  86. package/build/assets/llm-settings-B3SjHDmA.js +1 -0
  87. package/build/assets/llm-subscription-service-aDNBQ7Gq.js +1 -0
  88. package/build/assets/loader-circle-Dex47vVW.js +1 -0
  89. package/build/assets/{loading-spinner-BY9N3pOe.js → loading-spinner-DfHI77BA.js} +1 -1
  90. package/build/assets/manage-backends-modal-q1NdFisr.js +1 -0
  91. package/build/assets/manifest-8920b615.js +1 -0
  92. package/build/assets/{manifest-subpage-layout-CAOYzrYp.js → manifest-subpage-layout-BQQy5ipR.js} +1 -1
  93. package/build/assets/{map-provider-Cu3Zgumb.js → map-provider-DXvssjw9.js} +1 -1
  94. package/build/assets/markdown-renderer-rivLvYh-.js +8 -0
  95. package/build/assets/{mcp-BTs_SXfZ.js → mcp-CEXDhQWn.js} +1 -1
  96. package/build/assets/{mcp-marketplace-utils-AIBzzHTO.js → mcp-marketplace-utils-Cn_NIMWM.js} +1 -1
  97. package/build/assets/mcp-page-LGYIICMG.js +9 -0
  98. package/build/assets/messages-DUSeANAh.js +41 -0
  99. package/build/assets/{modal-body-BxZjsju9.js → modal-body-DJw4xBki.js} +1 -1
  100. package/build/assets/{modal-classes-C8eycCwG.js → modal-classes-Dg0ngBPO.js} +1 -1
  101. package/build/assets/{modal-close-button-DDzdRvCs.js → modal-close-button-B9j4nasm.js} +1 -1
  102. package/build/assets/{mouse-pointer-click-Co2uyaPA.js → mouse-pointer-click-DEhsSUpu.js} +1 -1
  103. package/build/assets/onboarding-BjFebfs5.js +1 -0
  104. package/build/assets/onboarding-modal-DDTjOpyd.js +1 -0
  105. package/build/assets/organization-service.api-Cyg1Tn03.js +1 -0
  106. package/build/assets/pencil-D5c47kyN.js +1 -0
  107. package/build/assets/pin-C7vMagvf.js +1 -0
  108. package/build/assets/planner-tab-D8f2Y3rn.js +1 -0
  109. package/build/assets/plug-CeaqeF6u.js +1 -0
  110. package/build/assets/plugins-management-service-Bh_pBuf-.js +1 -0
  111. package/build/assets/plus-B3wvU06-.js +1 -0
  112. package/build/assets/profiles-service.api-BbOK0EkF.js +1 -0
  113. package/build/assets/{providers-BhMcY5nv.js → providers-2gIIkz2N.js} +1 -1
  114. package/build/assets/proxy-CBgMd2zf.js +1 -0
  115. package/build/assets/{puzzle-JM_QaRm0.js → puzzle-DdAqbUrb.js} +1 -1
  116. package/build/assets/recommended-automations-launcher-YLAQTp4s.js +1 -0
  117. package/build/assets/refresh-cw-DEQdPCpH.js +1 -0
  118. package/build/assets/root-Bye_XmEL.js +2 -0
  119. package/build/assets/root-Cnwwzgo0.css +1 -0
  120. package/build/assets/root-layout-CSAwxBGM.js +2 -0
  121. package/build/assets/schema-field-CK0xYNbO.js +1 -0
  122. package/build/assets/scroll-fade-state-Dt_fx2kf.js +1 -0
  123. package/build/assets/sdk-section-page-Da73Rs_o.js +1 -0
  124. package/build/assets/secret-form-CB2VwYYg.js +1 -0
  125. package/build/assets/secrets-service-Cr8g8xuv.js +1 -0
  126. package/build/assets/{secrets-settings-B_GpxKW2.js → secrets-settings-Bh0udeKv.js} +1 -1
  127. package/build/assets/settings-DmyIgRxO.js +1 -0
  128. package/build/assets/{settings-dropdown-input-BcwylHs2.js → settings-dropdown-input-DVpyD87C.js} +1 -1
  129. package/build/assets/settings-index-BSJUFmjE.js +1 -0
  130. package/build/assets/{settings-input-Db-1g8Ql.js → settings-input-C0dd8Utu.js} +1 -1
  131. package/build/assets/{settings-list-classes-BzeSZbF2.js → settings-list-classes-Ds4jPBHK.js} +1 -1
  132. package/build/assets/{settings-modal-DfJ3tcJQ.js → settings-modal-yStgEh2o.js} +1 -1
  133. package/build/assets/settings-service.api-9_xdv_mh.js +1 -0
  134. package/build/assets/{settings-switch-CS-dJDmA.js → settings-switch-B78Khmyz.js} +1 -1
  135. package/build/assets/{settings-utils-UYpEdPuD.js → settings-utils-8GIIgOQL.js} +1 -1
  136. package/build/assets/shared-conversation-DM96X4KV.js +1 -0
  137. package/build/assets/shield-check-DO7wa_eu.js +1 -0
  138. package/build/assets/{sidebar-layout-D6fS8-Gl.js → sidebar-layout-EPfWxk11.js} +1 -1
  139. package/build/assets/sidebar-mobile-menu-toggle-D5GR5xT9.js +1 -0
  140. package/build/assets/{sidebar-nav-link-DQQcMf1A.js → sidebar-nav-link-_t4_Ef-9.js} +1 -1
  141. package/build/assets/{sidebar-onboarding-checklist-storage-BBkeI6Bp.js → sidebar-onboarding-checklist-storage-DbDX-Wvj.js} +1 -1
  142. package/build/assets/{sidebar-store-DGqHkVLw.js → sidebar-store-CSDFK0W5.js} +1 -1
  143. package/build/assets/{skill-card-pill-row-B27-xyig.js → skill-card-pill-row-989y15jV.js} +1 -1
  144. package/build/assets/{skill-filter-w__3UCEE.js → skill-filter-BBeZ4JEP.js} +1 -1
  145. package/build/assets/{skill-icon-badge-RQkq8wvl.js → skill-icon-badge-BDhQ-tQ0.js} +1 -1
  146. package/build/assets/skill-scope-Dz3kPH3P.js +1 -0
  147. package/build/assets/skills-plugins-e3CYGdUJ.js +1 -0
  148. package/build/assets/skills-settings-3e-FuHw_.js +1 -0
  149. package/build/assets/styled-tooltip-Pd22BIvr.js +1 -0
  150. package/build/assets/{task-list-tab-C5zcaktH.js → task-list-tab-3Jg8ywch.js} +1 -1
  151. package/build/assets/{terminal-CNElN42a.js → terminal-onXx0_Qz.js} +2 -2
  152. package/build/assets/toggle-switch-lwQtxDcm.js +1 -0
  153. package/build/assets/trash-2-ZhKuTLiz.js +1 -0
  154. package/build/assets/trash-B6OIe4yX.js +1 -0
  155. package/build/assets/triangle-alert-BajLPpQg.js +1 -0
  156. package/build/assets/{typography-v1KN0tzi.js → typography-HLLg_FAn.js} +1 -1
  157. package/build/assets/usage-tab-Cm-9j3UK.js +1 -0
  158. package/build/assets/use-acp-credential-form-BARcvjYE.js +1 -0
  159. package/build/assets/use-activate-agent-profile-BLKML6vQ.js +1 -0
  160. package/build/assets/use-agent-profiles-1P91KSXz.js +1 -0
  161. package/build/assets/{use-automation-health-E6NZi9rb.js → use-automation-health-BZkQNEA8.js} +1 -1
  162. package/build/assets/use-automation-permissions-B_RpvL-s.js +1 -0
  163. package/build/assets/{use-automations-xijQKIl9.js → use-automations-Cg0PDIZr.js} +1 -1
  164. package/build/assets/{use-can-manage-org-profiles-CrJP5262.js → use-can-manage-org-profiles-BbN6KfDr.js} +1 -1
  165. package/build/assets/use-canvas-extensions-CFUpHat6.js +1 -0
  166. package/build/assets/{use-cloud-current-user-id-CDfAHpPX.js → use-cloud-current-user-id-Dk0rjr63.js} +1 -1
  167. package/build/assets/use-config-DpafU_QP.js +1 -0
  168. package/build/assets/use-create-conversation-1YgmAHt-.js +1 -0
  169. package/build/assets/use-create-secret-D8p9ybQj.js +1 -0
  170. package/build/assets/{use-get-secrets-K3jmk-LH.js → use-get-secrets-CQ4b0qK8.js} +1 -1
  171. package/build/assets/use-is-authed-BRPjCRKM.js +1 -0
  172. package/build/assets/{use-launch-skill-in-chat-BYjYihBP.js → use-launch-skill-in-chat-DeYa1tFM.js} +1 -1
  173. package/build/assets/use-llm-configured-DGm8FiRR.js +1 -0
  174. package/build/assets/use-llm-profiles-BTTtpW4z.js +1 -0
  175. package/build/assets/use-manifest-capabilities-AOWGcu0j.js +1 -0
  176. package/build/assets/use-onboarding-completion-CoINurkm.js +1 -0
  177. package/build/assets/use-pinned-home-route-D6krwXjy.js +1 -0
  178. package/build/assets/use-plugins-marketplace-mLsIDhBv.js +1 -0
  179. package/build/assets/use-save-agent-profile-CxyO9YG-.js +1 -0
  180. package/build/assets/{use-save-settings-DYqkKv7T.js → use-save-settings-3U5K9-8x.js} +1 -1
  181. package/build/assets/use-settings-Dn00UISA.js +1 -0
  182. package/build/assets/use-settings-nav-items-vrjxTqcu.js +16 -0
  183. package/build/assets/use-tracking-B9prBsrq.js +3 -0
  184. package/build/assets/{use-user-conversation-B9Gebw_g.js → use-user-conversation-ZWlXtbZb.js} +1 -1
  185. package/build/assets/{useInfiniteQuery-C926xzY4.js → useInfiniteQuery-BzrRqjLg.js} +1 -1
  186. package/build/assets/{useMutation-B-qc391N.js → useMutation-CJuK90oc.js} +1 -1
  187. package/build/assets/{useQueries-DlbhlH9I.js → useQueries-CykmpT-a.js} +1 -1
  188. package/build/assets/{useQuery-BSTgq1rl.js → useQuery-S6j94er1.js} +1 -1
  189. package/build/assets/utils-BOco8mxR.js +1 -0
  190. package/build/assets/{vendor~conversation-panel~conversation-C8Fn4XOf.js → vendor~conversation-panel~conversation-4eJ0tml3.js} +1 -1
  191. package/build/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~b0x1wrp2-Z0lly3FE.js +2 -0
  192. package/build/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~czjee3a3-BfkNGovw.js +185 -0
  193. package/build/assets/{vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~ew9ih1s8-rfV8mQ9m.js → vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~ew9ih1s8-DnDoaYNi.js} +1 -1
  194. package/build/assets/{vendor~index-home~home~conversation-panel~conversation-hWywRBaR.js → vendor~index-home~home~conversation-panel~conversation-CSFLzmTN.js} +1 -1
  195. package/build/assets/vendor~root-layout-n8XCEXG8.js +1 -0
  196. package/build/assets/{vendor~root-layout~conversation-panel~conversation-BMbMgaGu.js → vendor~root-layout~conversation-panel~conversation-3Idg1_U3.js} +1 -1
  197. package/build/assets/{vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-BWir3rJs.js → vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-DkPlXWl9.js} +1 -1
  198. package/build/assets/{vendor~root-layout~index-home~home~conversation-panel~conversation-j5MFqfSy.js → vendor~root-layout~index-home~home~conversation-panel~conversation-DgQ564nC.js} +1 -1
  199. package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~mcp~automations-list~aut~ibfbmr9f-CxhwKuAd.js +1 -0
  200. package/build/assets/{vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~nj1hli3r-DP9wmsjo.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~inibp4qe-CnsDDzeE.js} +1 -1
  201. package/build/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~iyia17eu-CV850oio.js +1 -0
  202. package/build/assets/{vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~eo2nf80n-CUmIwQCN.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~eo2nf80n-BPjI-atc.js} +12 -6
  203. package/build/assets/{verification-settings-gw_q6vkL.js → verification-settings-u2POabjH.js} +1 -1
  204. package/build/assets/{wrench-CUEI1krB.js → wrench-CkgI4rxA.js} +1 -1
  205. package/build/assets/x-By6qCmtY.js +1 -0
  206. package/build/index.html +4 -4
  207. package/build/locales/ar/openhands.json +73 -20
  208. package/build/locales/ca/openhands.json +73 -20
  209. package/build/locales/de/openhands.json +73 -20
  210. package/build/locales/en/openhands.json +73 -20
  211. package/build/locales/es/openhands.json +73 -20
  212. package/build/locales/fr/openhands.json +73 -20
  213. package/build/locales/it/openhands.json +73 -20
  214. package/build/locales/ja/openhands.json +73 -20
  215. package/build/locales/ko-KR/openhands.json +73 -20
  216. package/build/locales/no/openhands.json +73 -20
  217. package/build/locales/pt/openhands.json +73 -20
  218. package/build/locales/tr/openhands.json +73 -20
  219. package/build/locales/uk/openhands.json +73 -20
  220. package/build/locales/zh-CN/openhands.json +73 -20
  221. package/build/locales/zh-TW/openhands.json +73 -20
  222. package/config/defaults.json +3 -3
  223. package/dist/api/agent-server-adapter.cjs +3 -3
  224. package/dist/api/agent-server-adapter.cjs.map +1 -1
  225. package/dist/api/agent-server-adapter.d.ts +72 -12
  226. package/dist/api/agent-server-adapter.js +234 -132
  227. package/dist/api/agent-server-adapter.js.map +1 -1
  228. package/dist/api/agent-server-config.cjs +1 -1
  229. package/dist/api/agent-server-config.cjs.map +1 -1
  230. package/dist/api/agent-server-config.d.ts +6 -0
  231. package/dist/api/agent-server-config.js +6 -3
  232. package/dist/api/agent-server-config.js.map +1 -1
  233. package/dist/api/automation-service/automation-service.api.cjs +1 -1
  234. package/dist/api/automation-service/automation-service.api.cjs.map +1 -1
  235. package/dist/api/automation-service/automation-service.api.d.ts +2 -2
  236. package/dist/api/automation-service/automation-service.api.js +7 -7
  237. package/dist/api/automation-service/automation-service.api.js.map +1 -1
  238. package/dist/api/cloud/provider-connections-service.api.cjs +2 -0
  239. package/dist/api/cloud/provider-connections-service.api.cjs.map +1 -0
  240. package/dist/api/cloud/provider-connections-service.api.d.ts +5 -0
  241. package/dist/api/cloud/provider-connections-service.api.js +50 -0
  242. package/dist/api/cloud/provider-connections-service.api.js.map +1 -0
  243. package/dist/api/cloud/skills-service.api.cjs +1 -1
  244. package/dist/api/cloud/skills-service.api.cjs.map +1 -1
  245. package/dist/api/cloud/skills-service.api.d.ts +10 -0
  246. package/dist/api/cloud/skills-service.api.js +11 -1
  247. package/dist/api/cloud/skills-service.api.js.map +1 -1
  248. package/dist/api/conversation-metadata-store.cjs +1 -1
  249. package/dist/api/conversation-metadata-store.cjs.map +1 -1
  250. package/dist/api/conversation-metadata-store.d.ts +24 -0
  251. package/dist/api/conversation-metadata-store.js +10 -2
  252. package/dist/api/conversation-metadata-store.js.map +1 -1
  253. package/dist/api/conversation-service/agent-server-conversation-service.api.cjs +1 -1
  254. package/dist/api/conversation-service/agent-server-conversation-service.api.cjs.map +1 -1
  255. package/dist/api/conversation-service/agent-server-conversation-service.api.d.ts +20 -0
  256. package/dist/api/conversation-service/agent-server-conversation-service.api.js +126 -77
  257. package/dist/api/conversation-service/agent-server-conversation-service.api.js.map +1 -1
  258. package/dist/api/hooks-service.cjs +2 -0
  259. package/dist/api/hooks-service.cjs.map +1 -0
  260. package/dist/api/hooks-service.d.ts +13 -0
  261. package/dist/api/hooks-service.js +20 -0
  262. package/dist/api/hooks-service.js.map +1 -0
  263. package/dist/api/provider-connections-service/provider-connections-service.api.cjs +1 -1
  264. package/dist/api/provider-connections-service/provider-connections-service.api.cjs.map +1 -1
  265. package/dist/api/provider-connections-service/provider-connections-service.api.js +25 -16
  266. package/dist/api/provider-connections-service/provider-connections-service.api.js.map +1 -1
  267. package/dist/api/settings-service/settings-service.api.cjs +1 -1
  268. package/dist/api/settings-service/settings-service.api.cjs.map +1 -1
  269. package/dist/api/settings-service/settings-service.api.d.ts +2 -0
  270. package/dist/api/settings-service/settings-service.api.js +18 -10
  271. package/dist/api/settings-service/settings-service.api.js.map +1 -1
  272. package/dist/api/skills-service.cjs +1 -1
  273. package/dist/api/skills-service.cjs.map +1 -1
  274. package/dist/api/skills-service.d.ts +7 -0
  275. package/dist/api/skills-service.js +11 -8
  276. package/dist/api/skills-service.js.map +1 -1
  277. package/dist/components/conversation-events/chat/event-message-components/critic-result-display.cjs +1 -1
  278. package/dist/components/conversation-events/chat/event-message-components/critic-result-display.js +5 -5
  279. package/dist/components/conversation-events/chat/event-message-components/finish-event-message.cjs +1 -1
  280. package/dist/components/conversation-events/chat/event-message-components/finish-event-message.cjs.map +1 -1
  281. package/dist/components/conversation-events/chat/event-message-components/finish-event-message.js +2 -1
  282. package/dist/components/conversation-events/chat/event-message-components/finish-event-message.js.map +1 -1
  283. package/dist/components/conversation-events/chat/event-message-components/generic-event-message-wrapper.cjs +1 -1
  284. package/dist/components/conversation-events/chat/event-message-components/generic-event-message-wrapper.cjs.map +1 -1
  285. package/dist/components/conversation-events/chat/event-message-components/generic-event-message-wrapper.d.ts +1 -1
  286. package/dist/components/conversation-events/chat/event-message-components/generic-event-message-wrapper.js +28 -28
  287. package/dist/components/conversation-events/chat/event-message-components/generic-event-message-wrapper.js.map +1 -1
  288. package/dist/components/conversation-events/chat/event-message-components/thought-event-message.cjs +1 -1
  289. package/dist/components/conversation-events/chat/event-message-components/thought-event-message.cjs.map +1 -1
  290. package/dist/components/conversation-events/chat/event-message-components/thought-event-message.js +2 -1
  291. package/dist/components/conversation-events/chat/event-message-components/thought-event-message.js.map +1 -1
  292. package/dist/components/conversation-events/chat/event-message-components/user-assistant-event-message.cjs +1 -1
  293. package/dist/components/conversation-events/chat/event-message-components/user-assistant-event-message.cjs.map +1 -1
  294. package/dist/components/conversation-events/chat/event-message-components/user-assistant-event-message.d.ts +1 -1
  295. package/dist/components/conversation-events/chat/event-message-components/user-assistant-event-message.js +37 -37
  296. package/dist/components/conversation-events/chat/event-message-components/user-assistant-event-message.js.map +1 -1
  297. package/dist/components/conversation-events/chat/event-message.cjs +2 -2
  298. package/dist/components/conversation-events/chat/event-message.cjs.map +1 -1
  299. package/dist/components/conversation-events/chat/event-message.js +79 -70
  300. package/dist/components/conversation-events/chat/event-message.js.map +1 -1
  301. package/dist/components/conversation-events/chat/messages.cjs +1 -1
  302. package/dist/components/conversation-events/chat/messages.cjs.map +1 -1
  303. package/dist/components/conversation-events/chat/messages.js +28 -27
  304. package/dist/components/conversation-events/chat/messages.js.map +1 -1
  305. package/dist/components/features/automations/automation-card.cjs +1 -1
  306. package/dist/components/features/automations/automation-card.cjs.map +1 -1
  307. package/dist/components/features/automations/automation-card.js +100 -94
  308. package/dist/components/features/automations/automation-card.js.map +1 -1
  309. package/dist/components/features/automations/automation-list-row.cjs +1 -1
  310. package/dist/components/features/automations/automation-list-row.cjs.map +1 -1
  311. package/dist/components/features/automations/automation-list-row.js +88 -77
  312. package/dist/components/features/automations/automation-list-row.js.map +1 -1
  313. package/dist/components/features/automations/detail/detail-header.d.ts +3 -1
  314. package/dist/components/features/automations/detail/run-status-badge.cjs +1 -1
  315. package/dist/components/features/automations/detail/run-status-badge.cjs.map +1 -1
  316. package/dist/components/features/automations/detail/run-status-badge.d.ts +2 -2
  317. package/dist/components/features/automations/detail/run-status-badge.js +82 -53
  318. package/dist/components/features/automations/detail/run-status-badge.js.map +1 -1
  319. package/dist/components/features/automations/kebab-menu.cjs +1 -1
  320. package/dist/components/features/automations/kebab-menu.cjs.map +1 -1
  321. package/dist/components/features/automations/kebab-menu.js +9 -5
  322. package/dist/components/features/automations/kebab-menu.js.map +1 -1
  323. package/dist/components/features/automations/recommended-automations-launcher.cjs +1 -1
  324. package/dist/components/features/automations/recommended-automations-launcher.cjs.map +1 -1
  325. package/dist/components/features/automations/recommended-automations-launcher.js +12 -12
  326. package/dist/components/features/automations/recommended-automations-launcher.js.map +1 -1
  327. package/dist/components/features/automations/recommended-automations-section.cjs +1 -1
  328. package/dist/components/features/automations/recommended-automations-section.js +9 -9
  329. package/dist/components/features/backends/backend-selector.cjs +1 -1
  330. package/dist/components/features/backends/backend-selector.cjs.map +1 -1
  331. package/dist/components/features/backends/backend-selector.js +133 -122
  332. package/dist/components/features/backends/backend-selector.js.map +1 -1
  333. package/dist/components/features/backends/manage-backends-modal.cjs +1 -1
  334. package/dist/components/features/backends/manage-backends-modal.cjs.map +1 -1
  335. package/dist/components/features/backends/manage-backends-modal.js +29 -29
  336. package/dist/components/features/backends/manage-backends-modal.js.map +1 -1
  337. package/dist/components/features/chat/change-agent-button.cjs +1 -1
  338. package/dist/components/features/chat/change-agent-button.js +4 -4
  339. package/dist/components/features/chat/chat-interface.cjs +2 -2
  340. package/dist/components/features/chat/chat-interface.cjs.map +1 -1
  341. package/dist/components/features/chat/chat-interface.js +137 -137
  342. package/dist/components/features/chat/chat-interface.js.map +1 -1
  343. package/dist/components/features/chat/chat-message.cjs +1 -1
  344. package/dist/components/features/chat/chat-message.cjs.map +1 -1
  345. package/dist/components/features/chat/chat-message.d.ts +2 -1
  346. package/dist/components/features/chat/chat-message.js +88 -79
  347. package/dist/components/features/chat/chat-message.js.map +1 -1
  348. package/dist/components/features/chat/components/context-window-meter.cjs +1 -1
  349. package/dist/components/features/chat/components/context-window-meter.js +4 -4
  350. package/dist/components/features/chat/confirmation-mode-enabled.cjs +1 -1
  351. package/dist/components/features/chat/confirmation-mode-enabled.js +4 -4
  352. package/dist/components/features/chat/generic-event-message.cjs +1 -1
  353. package/dist/components/features/chat/generic-event-message.cjs.map +1 -1
  354. package/dist/components/features/chat/generic-event-message.d.ts +2 -1
  355. package/dist/components/features/chat/generic-event-message.js +41 -22
  356. package/dist/components/features/chat/generic-event-message.js.map +1 -1
  357. package/dist/components/features/chat/interactive-chat-box.cjs +1 -1
  358. package/dist/components/features/chat/interactive-chat-box.cjs.map +1 -1
  359. package/dist/components/features/chat/interactive-chat-box.js +20 -19
  360. package/dist/components/features/chat/interactive-chat-box.js.map +1 -1
  361. package/dist/components/features/conversation/conversation-overview-git-section.cjs +1 -1
  362. package/dist/components/features/conversation/conversation-overview-git-section.js +4 -4
  363. package/dist/components/features/conversation/conversation-overview-skills-panel.cjs +1 -1
  364. package/dist/components/features/conversation/conversation-overview-skills-panel.js +4 -4
  365. package/dist/components/features/conversation/conversation-tabs/conversation-tabs-context-menu.cjs +1 -1
  366. package/dist/components/features/conversation/conversation-tabs/conversation-tabs-context-menu.cjs.map +1 -1
  367. package/dist/components/features/conversation/conversation-tabs/conversation-tabs-context-menu.js +77 -78
  368. package/dist/components/features/conversation/conversation-tabs/conversation-tabs-context-menu.js.map +1 -1
  369. package/dist/components/features/conversation/conversation-tabs/conversation-tabs.cjs +1 -1
  370. package/dist/components/features/conversation/conversation-tabs/conversation-tabs.cjs.map +1 -1
  371. package/dist/components/features/conversation/conversation-tabs/conversation-tabs.js +88 -88
  372. package/dist/components/features/conversation/conversation-tabs/conversation-tabs.js.map +1 -1
  373. package/dist/components/features/conversation-panel/advanced-conversation-options-modal.cjs +2 -0
  374. package/dist/components/features/conversation-panel/advanced-conversation-options-modal.cjs.map +1 -0
  375. package/dist/components/features/conversation-panel/advanced-conversation-options-modal.d.ts +21 -0
  376. package/dist/components/features/conversation-panel/advanced-conversation-options-modal.js +239 -0
  377. package/dist/components/features/conversation-panel/advanced-conversation-options-modal.js.map +1 -0
  378. package/dist/components/features/conversation-panel/conversation-active-tag-filters.cjs +2 -0
  379. package/dist/components/features/conversation-panel/conversation-active-tag-filters.cjs.map +1 -0
  380. package/dist/components/features/conversation-panel/conversation-active-tag-filters.d.ts +28 -0
  381. package/dist/components/features/conversation-panel/conversation-active-tag-filters.js +69 -0
  382. package/dist/components/features/conversation-panel/conversation-active-tag-filters.js.map +1 -0
  383. package/dist/components/features/conversation-panel/conversation-card/conversation-card-actions.cjs +1 -1
  384. package/dist/components/features/conversation-panel/conversation-card/conversation-card-actions.cjs.map +1 -1
  385. package/dist/components/features/conversation-panel/conversation-card/conversation-card-actions.d.ts +2 -1
  386. package/dist/components/features/conversation-panel/conversation-card/conversation-card-actions.js +19 -18
  387. package/dist/components/features/conversation-panel/conversation-card/conversation-card-actions.js.map +1 -1
  388. package/dist/components/features/conversation-panel/conversation-card/conversation-card-context-menu.cjs +1 -1
  389. package/dist/components/features/conversation-panel/conversation-card/conversation-card-context-menu.cjs.map +1 -1
  390. package/dist/components/features/conversation-panel/conversation-card/conversation-card-context-menu.d.ts +2 -1
  391. package/dist/components/features/conversation-panel/conversation-card/conversation-card-context-menu.js +91 -80
  392. package/dist/components/features/conversation-panel/conversation-card/conversation-card-context-menu.js.map +1 -1
  393. package/dist/components/features/conversation-panel/conversation-card/conversation-card-preview.cjs +1 -1
  394. package/dist/components/features/conversation-panel/conversation-card/conversation-card-preview.cjs.map +1 -1
  395. package/dist/components/features/conversation-panel/conversation-card/conversation-card-preview.js +1 -1
  396. package/dist/components/features/conversation-panel/conversation-card/conversation-card-preview.js.map +1 -1
  397. package/dist/components/features/conversation-panel/conversation-card/conversation-card.cjs +1 -1
  398. package/dist/components/features/conversation-panel/conversation-card/conversation-card.cjs.map +1 -1
  399. package/dist/components/features/conversation-panel/conversation-card/conversation-card.d.ts +7 -1
  400. package/dist/components/features/conversation-panel/conversation-card/conversation-card.js +87 -81
  401. package/dist/components/features/conversation-panel/conversation-card/conversation-card.js.map +1 -1
  402. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-chips.cjs +1 -1
  403. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-chips.cjs.map +1 -1
  404. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-chips.d.ts +2 -1
  405. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-chips.js +1 -1
  406. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-chips.js.map +1 -1
  407. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-display.cjs +1 -1
  408. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-display.cjs.map +1 -1
  409. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-display.d.ts +2 -1
  410. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-display.js +2 -1
  411. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-display.js.map +1 -1
  412. package/dist/components/features/conversation-panel/conversation-layouts-menu.cjs +2 -0
  413. package/dist/components/features/conversation-panel/conversation-layouts-menu.cjs.map +1 -0
  414. package/dist/components/features/conversation-panel/conversation-layouts-menu.d.ts +29 -0
  415. package/dist/components/features/conversation-panel/conversation-layouts-menu.js +177 -0
  416. package/dist/components/features/conversation-panel/conversation-layouts-menu.js.map +1 -0
  417. package/dist/components/features/conversation-panel/conversation-panel-list-helpers.cjs +1 -1
  418. package/dist/components/features/conversation-panel/conversation-panel-list-helpers.cjs.map +1 -1
  419. package/dist/components/features/conversation-panel/conversation-panel-list-helpers.d.ts +37 -0
  420. package/dist/components/features/conversation-panel/conversation-panel-list-helpers.js +85 -45
  421. package/dist/components/features/conversation-panel/conversation-panel-list-helpers.js.map +1 -1
  422. package/dist/components/features/conversation-panel/conversation-panel.cjs +1 -1
  423. package/dist/components/features/conversation-panel/conversation-panel.cjs.map +1 -1
  424. package/dist/components/features/conversation-panel/conversation-panel.js +296 -290
  425. package/dist/components/features/conversation-panel/conversation-panel.js.map +1 -1
  426. package/dist/components/features/conversation-panel/edit-conversation-tags-modal.cjs +2 -0
  427. package/dist/components/features/conversation-panel/edit-conversation-tags-modal.cjs.map +1 -0
  428. package/dist/components/features/conversation-panel/edit-conversation-tags-modal.d.ts +22 -0
  429. package/dist/components/features/conversation-panel/edit-conversation-tags-modal.js +153 -0
  430. package/dist/components/features/conversation-panel/edit-conversation-tags-modal.js.map +1 -0
  431. package/dist/components/features/conversation-panel/hide-older-conversations-row.cjs +2 -0
  432. package/dist/components/features/conversation-panel/hide-older-conversations-row.cjs.map +1 -0
  433. package/dist/components/features/conversation-panel/hide-older-conversations-row.d.ts +6 -0
  434. package/dist/components/features/conversation-panel/hide-older-conversations-row.js +65 -0
  435. package/dist/components/features/conversation-panel/hide-older-conversations-row.js.map +1 -0
  436. package/dist/components/features/conversation-panel/menu-row.cjs +1 -1
  437. package/dist/components/features/conversation-panel/menu-row.cjs.map +1 -1
  438. package/dist/components/features/conversation-panel/menu-row.d.ts +11 -1
  439. package/dist/components/features/conversation-panel/menu-row.js +27 -16
  440. package/dist/components/features/conversation-panel/menu-row.js.map +1 -1
  441. package/dist/components/features/home/featured-automations/automation-health-indicator.cjs +1 -1
  442. package/dist/components/features/home/featured-automations/automation-health-indicator.cjs.map +1 -1
  443. package/dist/components/features/home/featured-automations/automation-health-indicator.js +1 -1
  444. package/dist/components/features/home/featured-automations/automation-health-indicator.js.map +1 -1
  445. package/dist/components/features/home/featured-automations/automation-run-activity-metrics.cjs +1 -1
  446. package/dist/components/features/home/featured-automations/automation-run-activity-metrics.cjs.map +1 -1
  447. package/dist/components/features/home/featured-automations/automation-run-activity-metrics.d.ts +4 -3
  448. package/dist/components/features/home/featured-automations/automation-run-activity-metrics.js +22 -25
  449. package/dist/components/features/home/featured-automations/automation-run-activity-metrics.js.map +1 -1
  450. package/dist/components/features/home/featured-automations/automation-run-activity-sparkline.cjs +1 -1
  451. package/dist/components/features/home/featured-automations/automation-run-activity-sparkline.cjs.map +1 -1
  452. package/dist/components/features/home/featured-automations/automation-run-activity-sparkline.d.ts +1 -1
  453. package/dist/components/features/home/featured-automations/automation-run-activity-sparkline.js +15 -15
  454. package/dist/components/features/home/featured-automations/automation-run-activity-sparkline.js.map +1 -1
  455. package/dist/components/features/home/featured-automations/automation-run-health.cjs +1 -1
  456. package/dist/components/features/home/featured-automations/automation-run-health.cjs.map +1 -1
  457. package/dist/components/features/home/featured-automations/automation-run-health.d.ts +5 -3
  458. package/dist/components/features/home/featured-automations/automation-run-health.js +30 -23
  459. package/dist/components/features/home/featured-automations/automation-run-health.js.map +1 -1
  460. package/dist/components/features/home/featured-automations/home-automation-activity.d.ts +3 -2
  461. package/dist/components/features/home/featured-automations/home-automation-run-tooltip.cjs +1 -1
  462. package/dist/components/features/home/featured-automations/home-automation-run-tooltip.cjs.map +1 -1
  463. package/dist/components/features/home/featured-automations/home-automation-run-tooltip.d.ts +1 -1
  464. package/dist/components/features/home/featured-automations/home-automation-run-tooltip.js +42 -42
  465. package/dist/components/features/home/featured-automations/home-automation-run-tooltip.js.map +1 -1
  466. package/dist/components/features/manifest/manifest-form-field.d.ts +3 -1
  467. package/dist/components/features/manifest/manifest-review-step.d.ts +3 -1
  468. package/dist/components/features/settings/cloud-settings-link.cjs +1 -1
  469. package/dist/components/features/settings/cloud-settings-link.cjs.map +1 -1
  470. package/dist/components/features/settings/cloud-settings-link.js +5 -3
  471. package/dist/components/features/settings/cloud-settings-link.js.map +1 -1
  472. package/dist/components/features/settings/integrations-settings-link.cjs +1 -1
  473. package/dist/components/features/settings/integrations-settings-link.cjs.map +1 -1
  474. package/dist/components/features/settings/integrations-settings-link.d.ts +3 -1
  475. package/dist/components/features/settings/integrations-settings-link.js +20 -17
  476. package/dist/components/features/settings/integrations-settings-link.js.map +1 -1
  477. package/dist/components/features/settings/llm-profiles/llm-settings-local-view.cjs +1 -1
  478. package/dist/components/features/settings/llm-profiles/llm-settings-local-view.js +1 -1
  479. package/dist/components/features/settings/llm-profiles/profiles-body.d.ts +2 -2
  480. package/dist/components/features/settings/sdk-settings/sdk-section-page.cjs +1 -1
  481. package/dist/components/features/settings/sdk-settings/sdk-section-page.cjs.map +1 -1
  482. package/dist/components/features/settings/sdk-settings/sdk-section-page.d.ts +8 -7
  483. package/dist/components/features/settings/sdk-settings/sdk-section-page.js +172 -142
  484. package/dist/components/features/settings/sdk-settings/sdk-section-page.js.map +1 -1
  485. package/dist/components/features/settings/secrets-settings/secret-form.cjs +1 -1
  486. package/dist/components/features/settings/secrets-settings/secret-form.cjs.map +1 -1
  487. package/dist/components/features/settings/secrets-settings/secret-form.js +38 -25
  488. package/dist/components/features/settings/secrets-settings/secret-form.js.map +1 -1
  489. package/dist/components/features/settings/settings-dropdown-input.cjs +1 -1
  490. package/dist/components/features/settings/settings-dropdown-input.js +6 -6
  491. package/dist/components/features/sidebar/sidebar-rail-body.cjs +1 -1
  492. package/dist/components/features/sidebar/sidebar-rail-body.cjs.map +1 -1
  493. package/dist/components/features/sidebar/sidebar-rail-body.d.ts +3 -1
  494. package/dist/components/features/sidebar/sidebar-rail-body.js +156 -139
  495. package/dist/components/features/sidebar/sidebar-rail-body.js.map +1 -1
  496. package/dist/components/features/sidebar/sidebar.cjs +1 -1
  497. package/dist/components/features/sidebar/sidebar.cjs.map +1 -1
  498. package/dist/components/features/sidebar/sidebar.js +44 -43
  499. package/dist/components/features/sidebar/sidebar.js.map +1 -1
  500. package/dist/components/features/sidebar/use-sidebar-onboarding-checklist.cjs +1 -1
  501. package/dist/components/features/sidebar/use-sidebar-onboarding-checklist.js +3 -3
  502. package/dist/components/features/skills/extensions-navigation.cjs +1 -1
  503. package/dist/components/features/skills/extensions-navigation.cjs.map +1 -1
  504. package/dist/components/features/skills/extensions-navigation.js +3 -3
  505. package/dist/components/features/skills/extensions-navigation.js.map +1 -1
  506. package/dist/components/shared/buttons/styled-tooltip.cjs +1 -1
  507. package/dist/components/shared/buttons/styled-tooltip.cjs.map +1 -1
  508. package/dist/components/shared/buttons/styled-tooltip.d.ts +2 -1
  509. package/dist/components/shared/buttons/styled-tooltip.js +2 -1
  510. package/dist/components/shared/buttons/styled-tooltip.js.map +1 -1
  511. package/dist/components/shared/filters/enum-filter-dropdown.cjs +1 -1
  512. package/dist/components/shared/filters/enum-filter-dropdown.cjs.map +1 -1
  513. package/dist/components/shared/filters/enum-filter-dropdown.d.ts +5 -1
  514. package/dist/components/shared/filters/enum-filter-dropdown.js +14 -14
  515. package/dist/components/shared/filters/enum-filter-dropdown.js.map +1 -1
  516. package/dist/components/shared/modals/confirmation-modal.cjs +1 -1
  517. package/dist/components/shared/modals/confirmation-modal.cjs.map +1 -1
  518. package/dist/components/shared/modals/confirmation-modal.d.ts +2 -1
  519. package/dist/components/shared/modals/confirmation-modal.js +8 -8
  520. package/dist/components/shared/modals/confirmation-modal.js.map +1 -1
  521. package/dist/components/shared/modals/settings/model-selector.cjs +1 -1
  522. package/dist/components/shared/modals/settings/model-selector.js +27 -27
  523. package/dist/config/defaults.cjs +1 -1
  524. package/dist/config/defaults.cjs.map +1 -1
  525. package/dist/config/defaults.js +3 -3
  526. package/dist/config/defaults.js.map +1 -1
  527. package/dist/constants/settings-nav.d.ts +8 -0
  528. package/dist/contexts/conversation-websocket-context.cjs +3 -3
  529. package/dist/contexts/conversation-websocket-context.cjs.map +1 -1
  530. package/dist/contexts/conversation-websocket-context.d.ts +5 -0
  531. package/dist/contexts/conversation-websocket-context.js +194 -198
  532. package/dist/contexts/conversation-websocket-context.js.map +1 -1
  533. package/dist/contexts/websocket-provider-wrapper.cjs +1 -1
  534. package/dist/contexts/websocket-provider-wrapper.cjs.map +1 -1
  535. package/dist/contexts/websocket-provider-wrapper.js +31 -15
  536. package/dist/contexts/websocket-provider-wrapper.js.map +1 -1
  537. package/dist/hooks/chat/record-model-switch-message.cjs +1 -1
  538. package/dist/hooks/chat/record-model-switch-message.cjs.map +1 -1
  539. package/dist/hooks/chat/record-model-switch-message.d.ts +31 -0
  540. package/dist/hooks/chat/record-model-switch-message.js +25 -12
  541. package/dist/hooks/chat/record-model-switch-message.js.map +1 -1
  542. package/dist/hooks/chat/use-plan-mode-interceptor.cjs +2 -0
  543. package/dist/hooks/chat/use-plan-mode-interceptor.cjs.map +1 -0
  544. package/dist/hooks/chat/use-plan-mode-interceptor.d.ts +16 -0
  545. package/dist/hooks/chat/use-plan-mode-interceptor.js +43 -0
  546. package/dist/hooks/chat/use-plan-mode-interceptor.js.map +1 -0
  547. package/dist/hooks/mutation/use-create-conversation.cjs +1 -1
  548. package/dist/hooks/mutation/use-create-conversation.cjs.map +1 -1
  549. package/dist/hooks/mutation/use-create-conversation.js +5 -1
  550. package/dist/hooks/mutation/use-create-conversation.js.map +1 -1
  551. package/dist/hooks/mutation/use-read-conversation-file.cjs +1 -1
  552. package/dist/hooks/mutation/use-read-conversation-file.cjs.map +1 -1
  553. package/dist/hooks/mutation/use-read-conversation-file.js +11 -4
  554. package/dist/hooks/mutation/use-read-conversation-file.js.map +1 -1
  555. package/dist/hooks/mutation/use-save-settings.cjs +1 -1
  556. package/dist/hooks/mutation/use-save-settings.js +3 -3
  557. package/dist/hooks/mutation/use-switch-llm-profile.cjs +1 -1
  558. package/dist/hooks/mutation/use-switch-llm-profile.cjs.map +1 -1
  559. package/dist/hooks/mutation/use-switch-llm-profile.js +13 -25
  560. package/dist/hooks/mutation/use-switch-llm-profile.js.map +1 -1
  561. package/dist/hooks/mutation/use-update-conversation-tags.cjs +2 -0
  562. package/dist/hooks/mutation/use-update-conversation-tags.cjs.map +1 -0
  563. package/dist/hooks/mutation/use-update-conversation-tags.d.ts +8 -0
  564. package/dist/hooks/mutation/use-update-conversation-tags.js +45 -0
  565. package/dist/hooks/mutation/use-update-conversation-tags.js.map +1 -0
  566. package/dist/hooks/query/query-keys.cjs +1 -1
  567. package/dist/hooks/query/query-keys.cjs.map +1 -1
  568. package/dist/hooks/query/query-keys.d.ts +6 -0
  569. package/dist/hooks/query/query-keys.js +2 -2
  570. package/dist/hooks/query/query-keys.js.map +1 -1
  571. package/dist/hooks/query/use-automation-sdk-version.cjs +1 -1
  572. package/dist/hooks/query/use-automation-sdk-version.cjs.map +1 -1
  573. package/dist/hooks/query/use-automation-sdk-version.d.ts +0 -1
  574. package/dist/hooks/query/use-automation-sdk-version.js +30 -55
  575. package/dist/hooks/query/use-automation-sdk-version.js.map +1 -1
  576. package/dist/hooks/query/use-conversation-skills.cjs +1 -1
  577. package/dist/hooks/query/use-conversation-skills.cjs.map +1 -1
  578. package/dist/hooks/query/use-conversation-skills.d.ts +14 -5
  579. package/dist/hooks/query/use-conversation-skills.js +20 -4
  580. package/dist/hooks/query/use-conversation-skills.js.map +1 -1
  581. package/dist/hooks/query/use-provider-connections.cjs +1 -1
  582. package/dist/hooks/query/use-provider-connections.cjs.map +1 -1
  583. package/dist/hooks/query/use-provider-connections.d.ts +6 -3
  584. package/dist/hooks/query/use-provider-connections.js +7 -3
  585. package/dist/hooks/query/use-provider-connections.js.map +1 -1
  586. package/dist/hooks/query/use-sub-conversations.cjs +1 -1
  587. package/dist/hooks/query/use-sub-conversations.cjs.map +1 -1
  588. package/dist/hooks/query/use-sub-conversations.js +16 -16
  589. package/dist/hooks/query/use-sub-conversations.js.map +1 -1
  590. package/dist/hooks/use-acp-model-context.cjs +1 -1
  591. package/dist/hooks/use-acp-model-context.js +3 -3
  592. package/dist/hooks/use-agent-state.cjs +1 -1
  593. package/dist/hooks/use-agent-state.cjs.map +1 -1
  594. package/dist/hooks/use-agent-state.d.ts +17 -1
  595. package/dist/hooks/use-agent-state.js +19 -9
  596. package/dist/hooks/use-agent-state.js.map +1 -1
  597. package/dist/hooks/use-automation-permissions.cjs +2 -0
  598. package/dist/hooks/use-automation-permissions.cjs.map +1 -0
  599. package/dist/hooks/use-automation-permissions.d.ts +43 -0
  600. package/dist/hooks/use-automation-permissions.js +52 -0
  601. package/dist/hooks/use-automation-permissions.js.map +1 -0
  602. package/dist/hooks/use-chat-input-model-state.cjs +1 -1
  603. package/dist/hooks/use-chat-input-model-state.js +3 -3
  604. package/dist/hooks/use-handle-plan-click.cjs +1 -1
  605. package/dist/hooks/use-handle-plan-click.cjs.map +1 -1
  606. package/dist/hooks/use-handle-plan-click.d.ts +3 -1
  607. package/dist/hooks/use-handle-plan-click.js +85 -26
  608. package/dist/hooks/use-handle-plan-click.js.map +1 -1
  609. package/dist/hooks/use-home-automation-actions.cjs +1 -1
  610. package/dist/hooks/use-home-automation-actions.cjs.map +1 -1
  611. package/dist/hooks/use-home-automation-actions.js +1 -0
  612. package/dist/hooks/use-home-automation-actions.js.map +1 -1
  613. package/dist/hooks/use-llm-configured.cjs +1 -1
  614. package/dist/hooks/use-llm-configured.js +3 -3
  615. package/dist/hooks/use-manifest-preflight.d.ts +1 -1
  616. package/dist/hooks/use-unified-websocket-status.cjs +1 -1
  617. package/dist/hooks/use-unified-websocket-status.cjs.map +1 -1
  618. package/dist/hooks/use-unified-websocket-status.d.ts +7 -0
  619. package/dist/hooks/use-unified-websocket-status.js +5 -1
  620. package/dist/hooks/use-unified-websocket-status.js.map +1 -1
  621. package/dist/i18n/declaration.cjs +1 -1
  622. package/dist/i18n/declaration.cjs.map +1 -1
  623. package/dist/i18n/declaration.d.ts +65 -12
  624. package/dist/i18n/declaration.js +1 -1
  625. package/dist/i18n/declaration.js.map +1 -1
  626. package/dist/i18n/translation.cjs +2 -2
  627. package/dist/i18n/translation.cjs.map +1 -1
  628. package/dist/i18n/translation.js +1196 -295
  629. package/dist/i18n/translation.js.map +1 -1
  630. package/dist/locales/ar/openhands.json +73 -20
  631. package/dist/locales/ca/openhands.json +73 -20
  632. package/dist/locales/de/openhands.json +73 -20
  633. package/dist/locales/en/openhands.json +73 -20
  634. package/dist/locales/es/openhands.json +73 -20
  635. package/dist/locales/fr/openhands.json +73 -20
  636. package/dist/locales/it/openhands.json +73 -20
  637. package/dist/locales/ja/openhands.json +73 -20
  638. package/dist/locales/ko-KR/openhands.json +73 -20
  639. package/dist/locales/no/openhands.json +73 -20
  640. package/dist/locales/pt/openhands.json +73 -20
  641. package/dist/locales/tr/openhands.json +73 -20
  642. package/dist/locales/uk/openhands.json +73 -20
  643. package/dist/locales/zh-CN/openhands.json +73 -20
  644. package/dist/locales/zh-TW/openhands.json +73 -20
  645. package/dist/manifests/automation-insights.cjs.map +1 -1
  646. package/dist/manifests/automation-insights.d.ts +10 -2
  647. package/dist/manifests/automation-insights.js.map +1 -1
  648. package/dist/manifests/automation-setup.cjs +1 -1
  649. package/dist/manifests/automation-setup.cjs.map +1 -1
  650. package/dist/manifests/automation-setup.d.ts +9 -16
  651. package/dist/manifests/automation-setup.js +17 -7
  652. package/dist/manifests/automation-setup.js.map +1 -1
  653. package/dist/manifests/manifest-actions.d.ts +1 -1
  654. package/dist/manifests/manifest-capabilities.d.ts +3 -1
  655. package/dist/manifests/manifest-local-validation.cjs +2 -0
  656. package/dist/manifests/manifest-local-validation.cjs.map +1 -0
  657. package/dist/manifests/manifest-local-validation.d.ts +15 -11
  658. package/dist/manifests/manifest-local-validation.js +8 -0
  659. package/dist/manifests/manifest-local-validation.js.map +1 -0
  660. package/dist/manifests/manifest-template.cjs +2 -0
  661. package/dist/manifests/manifest-template.cjs.map +1 -0
  662. package/dist/manifests/manifest-template.d.ts +4 -4
  663. package/dist/manifests/manifest-template.js +12 -0
  664. package/dist/manifests/manifest-template.js.map +1 -0
  665. package/dist/manifests/manifest-validation.cjs +1 -1
  666. package/dist/manifests/manifest-validation.cjs.map +1 -1
  667. package/dist/manifests/manifest-validation.js +106 -28
  668. package/dist/manifests/manifest-validation.js.map +1 -1
  669. package/dist/manifests/types.cjs.map +1 -1
  670. package/dist/manifests/types.d.ts +39 -4
  671. package/dist/manifests/types.js.map +1 -1
  672. package/dist/node_modules/@openhands/extensions/automations/catalog/custom-automation/manifest.cjs +8 -0
  673. package/dist/node_modules/@openhands/extensions/automations/catalog/custom-automation/manifest.cjs.map +1 -0
  674. package/dist/node_modules/@openhands/extensions/automations/catalog/custom-automation/manifest.js +221 -0
  675. package/dist/node_modules/@openhands/extensions/automations/catalog/custom-automation/manifest.js.map +1 -0
  676. package/dist/node_modules/@openhands/extensions/automations/catalog/github-issue-to-pr/manifest.cjs +1 -1
  677. package/dist/node_modules/@openhands/extensions/automations/catalog/github-issue-to-pr/manifest.cjs.map +1 -1
  678. package/dist/node_modules/@openhands/extensions/automations/catalog/github-issue-to-pr/manifest.js +1 -1
  679. package/dist/node_modules/@openhands/extensions/automations/catalog/github-issue-to-pr/manifest.js.map +1 -1
  680. package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.cjs +1 -1
  681. package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.cjs.map +1 -1
  682. package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.js +1 -1
  683. package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.js.map +1 -1
  684. package/dist/node_modules/@openhands/extensions/automations/catalog/qa-changes/manifest.cjs +1 -1
  685. package/dist/node_modules/@openhands/extensions/automations/catalog/qa-changes/manifest.cjs.map +1 -1
  686. package/dist/node_modules/@openhands/extensions/automations/catalog/qa-changes/manifest.js +1 -1
  687. package/dist/node_modules/@openhands/extensions/automations/catalog/qa-changes/manifest.js.map +1 -1
  688. package/dist/node_modules/@openhands/extensions/automations/catalog-index.cjs +1 -1
  689. package/dist/node_modules/@openhands/extensions/automations/catalog-index.cjs.map +1 -1
  690. package/dist/node_modules/@openhands/extensions/automations/catalog-index.js +22 -20
  691. package/dist/node_modules/@openhands/extensions/automations/catalog-index.js.map +1 -1
  692. package/dist/node_modules/@openhands/extensions/automations/interface.cjs +1 -1
  693. package/dist/node_modules/@openhands/extensions/automations/interface.cjs.map +1 -1
  694. package/dist/node_modules/@openhands/extensions/automations/interface.js +2 -1
  695. package/dist/node_modules/@openhands/extensions/automations/interface.js.map +1 -1
  696. package/dist/node_modules/@openhands/extensions/integrations/catalog/gitlab.cjs +1 -1
  697. package/dist/node_modules/@openhands/extensions/integrations/catalog/gitlab.cjs.map +1 -1
  698. package/dist/node_modules/@openhands/extensions/integrations/catalog/gitlab.js +24 -5
  699. package/dist/node_modules/@openhands/extensions/integrations/catalog/gitlab.js.map +1 -1
  700. package/dist/node_modules/@tanstack/react-query/build/modern/QueryClientProvider.cjs +1 -1
  701. package/dist/node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js +1 -1
  702. package/dist/node_modules/lucide-react/dist/esm/icons/circle-question-mark.cjs +2 -0
  703. package/dist/node_modules/lucide-react/dist/esm/icons/circle-question-mark.cjs.map +1 -0
  704. package/dist/node_modules/lucide-react/dist/esm/icons/circle-question-mark.js +21 -0
  705. package/dist/node_modules/lucide-react/dist/esm/icons/circle-question-mark.js.map +1 -0
  706. package/dist/node_modules/lucide-react/dist/esm/icons/shrink.cjs +2 -0
  707. package/dist/node_modules/lucide-react/dist/esm/icons/shrink.cjs.map +1 -0
  708. package/dist/node_modules/lucide-react/dist/esm/icons/shrink.js +23 -0
  709. package/dist/node_modules/lucide-react/dist/esm/icons/shrink.js.map +1 -0
  710. package/dist/node_modules/lucide-react/dist/esm/icons/sliders-horizontal.cjs +2 -0
  711. package/dist/node_modules/lucide-react/dist/esm/icons/sliders-horizontal.cjs.map +1 -0
  712. package/dist/node_modules/lucide-react/dist/esm/icons/sliders-horizontal.js +43 -0
  713. package/dist/node_modules/lucide-react/dist/esm/icons/sliders-horizontal.js.map +1 -0
  714. package/dist/node_modules/lucide-react/dist/esm/icons/tags.cjs +2 -0
  715. package/dist/node_modules/lucide-react/dist/esm/icons/tags.cjs.map +1 -0
  716. package/dist/node_modules/lucide-react/dist/esm/icons/tags.js +22 -0
  717. package/dist/node_modules/lucide-react/dist/esm/icons/tags.js.map +1 -0
  718. package/dist/package.cjs +1 -1
  719. package/dist/package.cjs.map +1 -1
  720. package/dist/package.js +4 -4
  721. package/dist/package.js.map +1 -1
  722. package/dist/routes/agent-settings.d.ts +2 -0
  723. package/dist/routes/app-settings.cjs +1 -1
  724. package/dist/routes/app-settings.js +5 -5
  725. package/dist/routes/llm-settings.cjs +1 -1
  726. package/dist/routes/llm-settings.cjs.map +1 -1
  727. package/dist/routes/llm-settings.d.ts +3 -1
  728. package/dist/routes/llm-settings.js +88 -87
  729. package/dist/routes/llm-settings.js.map +1 -1
  730. package/dist/routes/planner-tab.cjs +1 -1
  731. package/dist/routes/planner-tab.cjs.map +1 -1
  732. package/dist/routes/planner-tab.js +44 -28
  733. package/dist/routes/planner-tab.js.map +1 -1
  734. package/dist/services/telemetry.cjs +1 -1
  735. package/dist/services/telemetry.cjs.map +1 -1
  736. package/dist/services/telemetry.d.ts +5 -0
  737. package/dist/services/telemetry.js +122 -115
  738. package/dist/services/telemetry.js.map +1 -1
  739. package/dist/stores/conversation-panel-preferences-store.cjs +1 -1
  740. package/dist/stores/conversation-panel-preferences-store.cjs.map +1 -1
  741. package/dist/stores/conversation-panel-preferences-store.d.ts +32 -5
  742. package/dist/stores/conversation-panel-preferences-store.js +29 -12
  743. package/dist/stores/conversation-panel-preferences-store.js.map +1 -1
  744. package/dist/stores/conversation-state-store.cjs +1 -1
  745. package/dist/stores/conversation-state-store.cjs.map +1 -1
  746. package/dist/stores/conversation-state-store.d.ts +9 -3
  747. package/dist/stores/conversation-state-store.js +6 -3
  748. package/dist/stores/conversation-state-store.js.map +1 -1
  749. package/dist/stores/conversation-store.cjs +1 -1
  750. package/dist/stores/conversation-store.cjs.map +1 -1
  751. package/dist/stores/conversation-store.d.ts +2 -0
  752. package/dist/stores/conversation-store.js +3 -0
  753. package/dist/stores/conversation-store.js.map +1 -1
  754. package/dist/stores/model-store.cjs +1 -1
  755. package/dist/stores/model-store.cjs.map +1 -1
  756. package/dist/stores/model-store.d.ts +7 -0
  757. package/dist/stores/model-store.js +4 -0
  758. package/dist/stores/model-store.js.map +1 -1
  759. package/dist/types/automation.cjs.map +1 -1
  760. package/dist/types/automation.d.ts +46 -1
  761. package/dist/types/automation.js.map +1 -1
  762. package/dist/ui/context-menu.d.ts +1 -1
  763. package/dist/ui/toggle-switch.cjs +1 -1
  764. package/dist/ui/toggle-switch.cjs.map +1 -1
  765. package/dist/ui/toggle-switch.d.ts +4 -1
  766. package/dist/ui/toggle-switch.js +4 -3
  767. package/dist/ui/toggle-switch.js.map +1 -1
  768. package/dist/utils/automation-catalog.cjs +1 -1
  769. package/dist/utils/automation-catalog.cjs.map +1 -1
  770. package/dist/utils/automation-catalog.d.ts +12 -1
  771. package/dist/utils/automation-catalog.js +42 -12
  772. package/dist/utils/automation-catalog.js.map +1 -1
  773. package/dist/utils/automation-run-display.cjs +2 -0
  774. package/dist/utils/automation-run-display.cjs.map +1 -0
  775. package/dist/utils/automation-run-display.d.ts +20 -0
  776. package/dist/utils/automation-run-display.js +85 -0
  777. package/dist/utils/automation-run-display.js.map +1 -0
  778. package/dist/utils/automation-schedule.cjs +1 -1
  779. package/dist/utils/automation-schedule.cjs.map +1 -1
  780. package/dist/utils/automation-schedule.d.ts +16 -0
  781. package/dist/utils/automation-schedule.js +2 -0
  782. package/dist/utils/automation-schedule.js.map +1 -1
  783. package/dist/utils/constants.cjs +1 -1
  784. package/dist/utils/constants.cjs.map +1 -1
  785. package/dist/utils/constants.d.ts +4 -0
  786. package/dist/utils/constants.js +23 -3
  787. package/dist/utils/constants.js.map +1 -1
  788. package/dist/utils/format-event-timestamp.cjs +2 -0
  789. package/dist/utils/format-event-timestamp.cjs.map +1 -0
  790. package/dist/utils/format-event-timestamp.d.ts +1 -0
  791. package/dist/utils/format-event-timestamp.js +13 -0
  792. package/dist/utils/format-event-timestamp.js.map +1 -0
  793. package/dist/utils/git-diff-stats.cjs +2 -2
  794. package/dist/utils/git-diff-stats.cjs.map +1 -1
  795. package/dist/utils/git-diff-stats.d.ts +4 -0
  796. package/dist/utils/git-diff-stats.js +12 -2
  797. package/dist/utils/git-diff-stats.js.map +1 -1
  798. package/dist/utils/plan-file.cjs +4 -0
  799. package/dist/utils/plan-file.cjs.map +1 -0
  800. package/dist/utils/plan-file.d.ts +18 -0
  801. package/dist/utils/plan-file.js +58 -0
  802. package/dist/utils/plan-file.js.map +1 -0
  803. package/dist/utils/recommended-automation-rail.cjs +1 -1
  804. package/dist/utils/recommended-automation-rail.cjs.map +1 -1
  805. package/dist/utils/recommended-automation-rail.js +1 -0
  806. package/dist/utils/recommended-automation-rail.js.map +1 -1
  807. package/dist/utils/scroll-fade-state.cjs +1 -1
  808. package/dist/utils/scroll-fade-state.cjs.map +1 -1
  809. package/dist/utils/scroll-fade-state.d.ts +6 -0
  810. package/dist/utils/scroll-fade-state.js +8 -1
  811. package/dist/utils/scroll-fade-state.js.map +1 -1
  812. package/dist/utils/sdk-settings-schema.cjs +1 -1
  813. package/dist/utils/sdk-settings-schema.cjs.map +1 -1
  814. package/dist/utils/sdk-settings-schema.d.ts +1 -0
  815. package/dist/utils/sdk-settings-schema.js +25 -22
  816. package/dist/utils/sdk-settings-schema.js.map +1 -1
  817. package/dist/utils/utils.cjs +1 -1
  818. package/dist/utils/utils.cjs.map +1 -1
  819. package/dist/utils/utils.js +11 -11
  820. package/dist/utils/utils.js.map +1 -1
  821. package/package.json +4 -4
  822. package/scripts/check-sdk-version-sync.mjs +6 -6
  823. package/scripts/dev-safe.mjs +1 -1
  824. package/scripts/dev-with-automation.mjs +1 -1
  825. package/scripts/static-server.mjs +33 -1
  826. package/build/assets/active-backend-context-CrHTlgvN.js +0 -2
  827. package/build/assets/agent-profiles-settings-Dzgb7G9z.js +0 -1
  828. package/build/assets/agent-server-conversation-service.api-tnqNjbpE.js +0 -86
  829. package/build/assets/agent-settings-DLtsqaOs.js +0 -2
  830. package/build/assets/agent-settings-fFvR-XC2.js +0 -1
  831. package/build/assets/api-key-entry-screen-qTzrmJcr.js +0 -1
  832. package/build/assets/automation-detail-BmwlCUAB.js +0 -3
  833. package/build/assets/automation-git-sync-CprN5DcU.js +0 -1
  834. package/build/assets/automation-setup-route-C40kXjMY.js +0 -1
  835. package/build/assets/automations-list-DuNcRawl.js +0 -1
  836. package/build/assets/backend-form-modal-lhGwzXFI.js +0 -1
  837. package/build/assets/bot-dMYHVfYM.js +0 -1
  838. package/build/assets/canvas-extensions-8A-XhpgP.js +0 -1
  839. package/build/assets/check-CS0vmpQQ.js +0 -1
  840. package/build/assets/chevron-down-e1QBpjVy.js +0 -1
  841. package/build/assets/chevron-right-ZG4R5G4Q.js +0 -1
  842. package/build/assets/circle-check-DzWLNsbE.js +0 -1
  843. package/build/assets/command-menu--UIlGL72.js +0 -1
  844. package/build/assets/commits-tab-AnZwLvh-.js +0 -1
  845. package/build/assets/confirmation-modal-Dv1ktp8K.js +0 -1
  846. package/build/assets/conversation-BbGrAO4Z.js +0 -93
  847. package/build/assets/conversation-mYT6NAoj.js +0 -1
  848. package/build/assets/conversation-panel-mYT6NAoj.js +0 -1
  849. package/build/assets/edit-automation-modal-DadGbJ2u.js +0 -1
  850. package/build/assets/empty-state-BoGVDecT.js +0 -1
  851. package/build/assets/enum-filter-dropdown-Bgca129f.js +0 -1
  852. package/build/assets/extensions-hub-CcDqq_vR.js +0 -1
  853. package/build/assets/extensions-navigation-Cr4yzYk4.js +0 -1
  854. package/build/assets/external-link-DKUlnCQV.js +0 -1
  855. package/build/assets/files-tab-D4o2VyE_.js +0 -1
  856. package/build/assets/get-git-path-ChKDVHZp.js +0 -1
  857. package/build/assets/git-repo-dropdown-BkqzkMmM.js +0 -1
  858. package/build/assets/home-ChpSuepX.js +0 -1
  859. package/build/assets/home-DIsB440S.js +0 -1
  860. package/build/assets/home-automation-run-tooltip-BVNDWjAH.js +0 -1
  861. package/build/assets/home-store-CY9Ej0ux.js +0 -1
  862. package/build/assets/index-home-BdlrFIif.js +0 -1
  863. package/build/assets/info-B6RQawoW.js +0 -1
  864. package/build/assets/install-server-modal-Dpy89p4g.js +0 -1
  865. package/build/assets/kebab-menu-item-content-D8hSNGmm.js +0 -1
  866. package/build/assets/list-filter-DsEK7NFC.js +0 -1
  867. package/build/assets/llm-not-configured-banner-CIFABh3K.js +0 -27
  868. package/build/assets/llm-settings-B9juXhIa.js +0 -1
  869. package/build/assets/llm-settings-De1d5dfr.js +0 -1
  870. package/build/assets/llm-subscription-service-BpJ0ouQo.js +0 -1
  871. package/build/assets/loader-circle-CC1au6hc.js +0 -1
  872. package/build/assets/manage-backends-modal-BrPV3oB-.js +0 -1
  873. package/build/assets/manifest-80fb1c29.js +0 -1
  874. package/build/assets/markdown-renderer-BzTlxI8x.js +0 -8
  875. package/build/assets/mcp-page-BEBYqH_K.js +0 -9
  876. package/build/assets/messages-DKV9cRc2.js +0 -41
  877. package/build/assets/onboarding-DV_OXoeP.js +0 -1
  878. package/build/assets/onboarding-modal-rkyBYkeQ.js +0 -1
  879. package/build/assets/organization-service.api-DrYNkEN_.js +0 -1
  880. package/build/assets/pencil-47jAZH_V.js +0 -1
  881. package/build/assets/pin-By41Vl5J.js +0 -1
  882. package/build/assets/planner-tab-C9uZmhme.js +0 -1
  883. package/build/assets/plug-CG5HFcNG.js +0 -1
  884. package/build/assets/plugins-management-service-BMJgC3Ga.js +0 -1
  885. package/build/assets/plus-C7Slq-0I.js +0 -1
  886. package/build/assets/profiles-service.api-ChoKrL0l.js +0 -1
  887. package/build/assets/proxy-9Fe1v5na.js +0 -1
  888. package/build/assets/recommended-automations-launcher-6ABrI9Cy.js +0 -1
  889. package/build/assets/refresh-cw-3q3Frrii.js +0 -1
  890. package/build/assets/root-Dc8YmC9F.js +0 -2
  891. package/build/assets/root-VDaypvK4.css +0 -1
  892. package/build/assets/root-layout-CXkhSPYh.js +0 -2
  893. package/build/assets/schema-field-D-y9-LDb.js +0 -1
  894. package/build/assets/scroll-fade-state-Dw-i4SGq.js +0 -1
  895. package/build/assets/sdk-section-page-BlFiizlG.js +0 -1
  896. package/build/assets/secret-form-BB7the8W.js +0 -1
  897. package/build/assets/secrets-service-ByZVENbp.js +0 -1
  898. package/build/assets/settings-C0EWuBtA.js +0 -1
  899. package/build/assets/settings-index-5w5UW2K3.js +0 -1
  900. package/build/assets/settings-service.api-DJ1r62Zr.js +0 -1
  901. package/build/assets/shared-conversation-CA5ISEDy.js +0 -1
  902. package/build/assets/shield-check-D2aCRd16.js +0 -1
  903. package/build/assets/sidebar-mobile-menu-toggle-C_fb0Jki.js +0 -1
  904. package/build/assets/skill-scope-B42H-XOc.js +0 -1
  905. package/build/assets/skills-plugins-tgF8EiXC.js +0 -1
  906. package/build/assets/skills-settings-BgJ9PaOe.js +0 -1
  907. package/build/assets/styled-tooltip-C4jf5Fv9.js +0 -1
  908. package/build/assets/toggle-switch-ChOLXv2n.js +0 -1
  909. package/build/assets/trash-2-D7K26eDO.js +0 -1
  910. package/build/assets/trash-D-HYiVYM.js +0 -1
  911. package/build/assets/triangle-alert-CtdXWHUI.js +0 -1
  912. package/build/assets/usage-tab-CVDffLPt.js +0 -1
  913. package/build/assets/use-acp-credential-form-XIQmpX6M.js +0 -1
  914. package/build/assets/use-activate-agent-profile-BLfmvDiG.js +0 -1
  915. package/build/assets/use-agent-profiles-Bd9Bvvp1.js +0 -1
  916. package/build/assets/use-canvas-extensions-Bi693ujJ.js +0 -1
  917. package/build/assets/use-config-A9QovgXO.js +0 -1
  918. package/build/assets/use-create-conversation-Dx3l7mFZ.js +0 -1
  919. package/build/assets/use-create-secret-B9cUFWRG.js +0 -1
  920. package/build/assets/use-has-permission-B3C8rQmR.js +0 -1
  921. package/build/assets/use-is-authed-nTBcM7dE.js +0 -1
  922. package/build/assets/use-llm-configured-BV9nZ1_j.js +0 -1
  923. package/build/assets/use-llm-profiles-BO-P4Oyo.js +0 -1
  924. package/build/assets/use-manifest-capabilities-Cw_flwEz.js +0 -1
  925. package/build/assets/use-onboarding-completion-D8U7k4Qb.js +0 -1
  926. package/build/assets/use-pinned-home-route-CckOZrmb.js +0 -1
  927. package/build/assets/use-plugins-marketplace-7i94Zu3Z.js +0 -1
  928. package/build/assets/use-save-agent-profile-BUjSsDXK.js +0 -1
  929. package/build/assets/use-settings-DSXLbvBl.js +0 -1
  930. package/build/assets/use-settings-nav-items-CwRw-CmX.js +0 -16
  931. package/build/assets/use-tracking-D53y3TH9.js +0 -3
  932. package/build/assets/utils-CN5ZfZy1.js +0 -1
  933. package/build/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~czjee3a3-DqZDXfg2.js +0 -186
  934. package/build/assets/vendor~root-layout-C9Ju9DQg.js +0 -1
  935. package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~mcp~automations-list~aut~ibfbmr9f-cDuKr-WD.js +0 -1
  936. package/build/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~iyia17eu-Chf7vmKB.js +0 -1
  937. package/build/assets/x-DJdhbdmt.js +0 -1
  938. package/dist/components/features/conversation-panel/conversation-panel-filter-menu.cjs +0 -2
  939. package/dist/components/features/conversation-panel/conversation-panel-filter-menu.cjs.map +0 -1
  940. package/dist/components/features/conversation-panel/conversation-panel-filter-menu.d.ts +0 -35
  941. package/dist/components/features/conversation-panel/conversation-panel-filter-menu.js +0 -247
  942. package/dist/components/features/conversation-panel/conversation-panel-filter-menu.js.map +0 -1
  943. package/dist/hooks/query/use-skills.cjs +0 -2
  944. package/dist/hooks/query/use-skills.cjs.map +0 -1
  945. package/dist/hooks/query/use-skills.d.ts +0 -7
  946. package/dist/hooks/query/use-skills.js +0 -13
  947. package/dist/hooks/query/use-skills.js.map +0 -1
  948. package/dist/hooks/use-has-permission.cjs +0 -2
  949. package/dist/hooks/use-has-permission.cjs.map +0 -1
  950. package/dist/hooks/use-has-permission.d.ts +0 -1
  951. package/dist/hooks/use-has-permission.js +0 -8
  952. package/dist/hooks/use-has-permission.js.map +0 -1
  953. package/dist/node_modules/lucide-react/dist/esm/icons/eye.cjs +0 -2
  954. package/dist/node_modules/lucide-react/dist/esm/icons/eye.cjs.map +0 -1
  955. package/dist/node_modules/lucide-react/dist/esm/icons/eye.js +0 -14
  956. package/dist/node_modules/lucide-react/dist/esm/icons/eye.js.map +0 -1
@@ -0,0 +1,8 @@
1
+ import type { AppConversation } from "#/api/conversation-service/agent-server-conversation-service.types";
2
+ export declare const useUpdateConversationTags: () => import("@tanstack/react-query").UseMutationResult<AppConversation, import("axios").AxiosError<unknown, any>, {
3
+ conversationId: string;
4
+ tags: Record<string, string>;
5
+ }, {
6
+ previousEntries: [readonly unknown[], AppConversation | null | undefined][];
7
+ previousConversations: unknown;
8
+ }>;
@@ -0,0 +1,45 @@
1
+ import { useQueryClient as e } from "../../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js";
2
+ import { useMutation as t } from "../../node_modules/@tanstack/react-query/build/modern/useMutation.js";
3
+ import n from "../../api/conversation-service/agent-server-conversation-service.api.js";
4
+ //#region src/hooks/mutation/use-update-conversation-tags.ts
5
+ var r = () => {
6
+ let r = e();
7
+ return t({
8
+ mutationFn: (e) => n.updateConversationTags(e.conversationId, e.tags),
9
+ onMutate: async (e) => {
10
+ let t = [
11
+ "user",
12
+ "conversation",
13
+ e.conversationId
14
+ ];
15
+ await r.cancelQueries({ queryKey: t }), await r.cancelQueries({ queryKey: ["user", "conversations"] });
16
+ let n = r.getQueriesData({ queryKey: t }), i = r.getQueryData(["user", "conversations"]);
17
+ return r.setQueriesData({ queryKey: t }, (t) => t && {
18
+ ...t,
19
+ tags: e.tags
20
+ }), r.setQueryData(["user", "conversations"], (t) => t?.map((t) => t.id === e.conversationId ? {
21
+ ...t,
22
+ tags: e.tags
23
+ } : t)), {
24
+ previousEntries: n,
25
+ previousConversations: i
26
+ };
27
+ },
28
+ onError: (e, t, n) => {
29
+ n?.previousEntries.forEach(([e, t]) => {
30
+ r.setQueryData(e, t);
31
+ }), n?.previousConversations && r.setQueryData(["user", "conversations"], n.previousConversations);
32
+ },
33
+ onSettled: (e, t, n) => {
34
+ r.invalidateQueries({ queryKey: ["user", "conversations"] }), r.invalidateQueries({ queryKey: [
35
+ "user",
36
+ "conversation",
37
+ n.conversationId
38
+ ] });
39
+ }
40
+ });
41
+ };
42
+ //#endregion
43
+ export { r as useUpdateConversationTags };
44
+
45
+ //# sourceMappingURL=use-update-conversation-tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-update-conversation-tags.js","names":[],"sources":["../../../src/hooks/mutation/use-update-conversation-tags.ts"],"sourcesContent":["import {\n useMutation,\n useQueryClient,\n type QueryKey,\n} from \"@tanstack/react-query\";\nimport AgentServerConversationService from \"#/api/conversation-service/agent-server-conversation-service.api\";\nimport type { AppConversation } from \"#/api/conversation-service/agent-server-conversation-service.types\";\n\nexport const useUpdateConversationTags = () => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (variables: {\n conversationId: string;\n tags: Record<string, string>;\n }) =>\n AgentServerConversationService.updateConversationTags(\n variables.conversationId,\n variables.tags,\n ),\n onMutate: async (variables) => {\n // The active conversation is cached under a prefix-extended key\n // (`[\"user\", \"conversation\", id, backendId, orgId]`) by\n // `useUserConversation`. Cancel/snapshot/update via the prefix so the\n // optimistic change actually reaches the rendered query, not a stale\n // 3-element key that no observer ever reads.\n const prefix: QueryKey = [\n \"user\",\n \"conversation\",\n variables.conversationId,\n ];\n await queryClient.cancelQueries({ queryKey: prefix });\n await queryClient.cancelQueries({ queryKey: [\"user\", \"conversations\"] });\n\n const previousEntries = queryClient.getQueriesData<\n AppConversation | null | undefined\n >({ queryKey: prefix });\n const previousConversations = queryClient.getQueryData([\n \"user\",\n \"conversations\",\n ]);\n\n queryClient.setQueriesData<AppConversation | null | undefined>(\n { queryKey: prefix },\n (old) => (old ? { ...old, tags: variables.tags } : old),\n );\n\n queryClient.setQueryData(\n [\"user\", \"conversations\"],\n (\n old:\n | { id: string; tags?: Record<string, string> | null }[]\n | undefined,\n ) =>\n old?.map((conv) =>\n conv.id === variables.conversationId\n ? { ...conv, tags: variables.tags }\n : conv,\n ),\n );\n\n return { previousEntries, previousConversations };\n },\n onError: (err, variables, context) => {\n context?.previousEntries.forEach(([key, data]) => {\n queryClient.setQueryData(key, data);\n });\n if (context?.previousConversations) {\n queryClient.setQueryData(\n [\"user\", \"conversations\"],\n context.previousConversations,\n );\n }\n },\n onSettled: (data, error, variables) => {\n // Invalidate and refetch the conversation list to show the updated tags\n queryClient.invalidateQueries({\n queryKey: [\"user\", \"conversations\"],\n });\n\n // Also invalidate the specific conversation query\n queryClient.invalidateQueries({\n queryKey: [\"user\", \"conversation\", variables.conversationId],\n });\n },\n });\n};\n"],"mappings":";;;;AAQA,IAAa,UAAkC;CAC7C,IAAM,IAAc,EAAe;CAEnC,OAAO,EAAY;EACjB,aAAa,MAIX,EAA+B,uBAC7B,EAAU,gBACV,EAAU,IACZ;EACF,UAAU,OAAO,MAAc;GAM7B,IAAM,IAAmB;IACvB;IACA;IACA,EAAU;GACZ;GAEA,AADA,MAAM,EAAY,cAAc,EAAE,UAAU,EAAO,CAAC,GACpD,MAAM,EAAY,cAAc,EAAE,UAAU,CAAC,QAAQ,eAAe,EAAE,CAAC;GAEvE,IAAM,IAAkB,EAAY,eAElC,EAAE,UAAU,EAAO,CAAC,GAChB,IAAwB,EAAY,aAAa,CACrD,QACA,eACF,CAAC;GAqBD,OAnBA,EAAY,eACV,EAAE,UAAU,EAAO,IAClB,MAAS,KAAM;IAAE,GAAG;IAAK,MAAM,EAAU;GAAK,CACjD,GAEA,EAAY,aACV,CAAC,QAAQ,eAAe,IAEtB,MAIA,GAAK,KAAK,MACR,EAAK,OAAO,EAAU,iBAClB;IAAE,GAAG;IAAM,MAAM,EAAU;GAAK,IAChC,CACN,CACJ,GAEO;IAAE;IAAiB;GAAsB;EAClD;EACA,UAAU,GAAK,GAAW,MAAY;GAIpC,AAHA,GAAS,gBAAgB,SAAS,CAAC,GAAK,OAAU;IAChD,EAAY,aAAa,GAAK,CAAI;GACpC,CAAC,GACG,GAAS,yBACX,EAAY,aACV,CAAC,QAAQ,eAAe,GACxB,EAAQ,qBACV;EAEJ;EACA,YAAY,GAAM,GAAO,MAAc;GAOrC,AALA,EAAY,kBAAkB,EAC5B,UAAU,CAAC,QAAQ,eAAe,EACpC,CAAC,GAGD,EAAY,kBAAkB,EAC5B,UAAU;IAAC;IAAQ;IAAgB,EAAU;GAAc,EAC7D,CAAC;EACH;CACF,CAAC;AACH"}
@@ -1,2 +1,2 @@
1
- require("../../_virtual/_rolldown/runtime.cjs");var e={WEB_CLIENT_CONFIG:[`web-client-config`],MAIN_APP_COOKIE_AUTH:[`main-app-cookie-auth`]},t={all:[`settings`],byScope:e=>[`settings`,e],personal:()=>[`settings`,`personal`]},n={all:[`llm-profiles`]},r={all:[`agent-profiles`]},i={all:[`provider-connections`]},a={retry:!1},o={all:[`llm-subscription`],openaiStatus:[`llm-subscription`,`openai`,`status`],openaiModels:[`llm-subscription`,`openai`,`models`]},s={all:[`local-workspaces`]},c={marketplace:[`plugins-marketplace`],installed:[`plugins-installed`],local:[`plugins-local`]},l={latestVersion:[`agent-canvas-latest-version`]},u={staleTime:1e3*60*5,gcTime:1e3*60*15};exports.AGENT_PROFILES_QUERY_KEYS=r,exports.AGENT_PROFILES_RETRY_OPTIONS=a,exports.APP_UPDATE_QUERY_KEYS=l,exports.CONFIG_CACHE_OPTIONS=u,exports.LLM_PROFILES_QUERY_KEYS=n,exports.LLM_SUBSCRIPTION_QUERY_KEYS=o,exports.LOCAL_WORKSPACES_QUERY_KEYS=s,exports.PLUGINS_QUERY_KEYS=c,exports.PROVIDER_CONNECTIONS_QUERY_KEYS=i,exports.QUERY_KEYS=e,exports.SETTINGS_QUERY_KEYS=t;
1
+ require("../../_virtual/_rolldown/runtime.cjs");var e={WEB_CLIENT_CONFIG:[`web-client-config`],MAIN_APP_COOKIE_AUTH:[`main-app-cookie-auth`]},t={all:[`settings`],byScope:e=>[`settings`,e],personal:()=>[`settings`,`personal`]},n={all:[`llm-profiles`]},r={all:[`agent-profiles`]},i={all:[`provider-connections`]},a={retry:!1},o={all:[`llm-subscription`],openaiStatus:[`llm-subscription`,`openai`,`status`],openaiModels:[`llm-subscription`,`openai`,`models`]},s={all:[`local-workspaces`]},c={marketplace:[`plugins-marketplace`],installed:[`plugins-installed`],local:[`plugins-local`]},l={latestVersion:[`agent-canvas-latest-version`]},u={subConversations:[`v1`,`sub-conversations`]},d={create:[`create-local-planning-conversation`]},f={staleTime:1e3*60*5,gcTime:1e3*60*15};exports.AGENT_PROFILES_QUERY_KEYS=r,exports.AGENT_PROFILES_RETRY_OPTIONS=a,exports.APP_UPDATE_QUERY_KEYS=l,exports.CONFIG_CACHE_OPTIONS=f,exports.CONVERSATION_QUERY_KEYS=u,exports.LLM_PROFILES_QUERY_KEYS=n,exports.LLM_SUBSCRIPTION_QUERY_KEYS=o,exports.LOCAL_PLANNER_MUTATION_KEYS=d,exports.LOCAL_WORKSPACES_QUERY_KEYS=s,exports.PLUGINS_QUERY_KEYS=c,exports.PROVIDER_CONNECTIONS_QUERY_KEYS=i,exports.QUERY_KEYS=e,exports.SETTINGS_QUERY_KEYS=t;
2
2
  //# sourceMappingURL=query-keys.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-keys.cjs","names":[],"sources":["../../../src/hooks/query/query-keys.ts"],"sourcesContent":["/**\n * Centralized query keys and cache configuration for TanStack Query.\n * Using constants ensures type safety and prevents typos.\n */\n\nimport { SettingsScope } from \"#/types/settings\";\n\nexport const QUERY_KEYS = {\n /** Web client configuration from the server */\n WEB_CLIENT_CONFIG: [\"web-client-config\"] as const,\n /** Same-origin OpenHands app cookie authentication status */\n MAIN_APP_COOKIE_AUTH: [\"main-app-cookie-auth\"] as const,\n} as const;\n\nexport const SETTINGS_QUERY_KEYS = {\n all: [\"settings\"] as const,\n byScope: (scope: SettingsScope) => [\"settings\", scope] as const,\n personal: () => [\"settings\", \"personal\"] as const,\n} as const;\n\nexport const LLM_PROFILES_QUERY_KEYS = {\n all: [\"llm-profiles\"] as const,\n} as const;\n\nexport const AGENT_PROFILES_QUERY_KEYS = {\n all: [\"agent-profiles\"] as const,\n} as const;\n\nexport const PROVIDER_CONNECTIONS_QUERY_KEYS = {\n all: [\"provider-connections\"] as const,\n} as const;\n\n/** Fail fast when older backends lack the profile endpoint. */\nexport const AGENT_PROFILES_RETRY_OPTIONS = {\n retry: false,\n} as const;\n\nexport const LLM_SUBSCRIPTION_QUERY_KEYS = {\n all: [\"llm-subscription\"] as const,\n openaiStatus: [\"llm-subscription\", \"openai\", \"status\"] as const,\n openaiModels: [\"llm-subscription\", \"openai\", \"models\"] as const,\n} as const;\n\nexport const LOCAL_WORKSPACES_QUERY_KEYS = {\n all: [\"local-workspaces\"] as const,\n} as const;\n\nexport const PLUGINS_QUERY_KEYS = {\n /** Dynamic marketplace catalog (used by `use-plugins-marketplace`). */\n marketplace: [\"plugins-marketplace\"] as const,\n /** Installed plugins from the local agent-server. */\n installed: [\"plugins-installed\"] as const,\n /** Locally-discovered ambient plugins (used by `use-local-plugins`). */\n local: [\"plugins-local\"] as const,\n} as const;\n\nexport const CANVAS_EXTENSIONS_QUERY_KEYS = {\n all: [\"canvas-extensions\"] as const,\n installed: (\n backendId: string,\n orgId: string | null,\n connectionRevision: number,\n ) =>\n [\n \"canvas-extensions\",\n \"installed\",\n backendId,\n orgId,\n connectionRevision,\n ] as const,\n} as const;\n\nexport const SETUP_QUERY_KEYS = {\n /** What the deployment supports. The same answer for every setup entry. */\n capabilities: () => [\"setup-capabilities\"] as const,\n} as const;\n\nexport const APP_UPDATE_QUERY_KEYS = {\n /** Latest published @openhands/agent-canvas version (npm `latest` dist-tag). */\n latestVersion: [\"agent-canvas-latest-version\"] as const,\n} as const;\n\n/** Cache configuration shared across all config-related queries */\nexport const CONFIG_CACHE_OPTIONS = {\n staleTime: 1000 * 60 * 5, // 5 minutes\n gcTime: 1000 * 60 * 15, // 15 minutes\n} as const;\n\nexport type QueryKeys = (typeof QUERY_KEYS)[keyof typeof QUERY_KEYS];\n"],"mappings":"gDAOA,IAAa,EAAa,CAExB,kBAAmB,CAAC,mBAAmB,EAEvC,qBAAsB,CAAC,sBAAsB,CAC/C,EAEa,EAAsB,CACjC,IAAK,CAAC,UAAU,EAChB,QAAU,GAAyB,CAAC,WAAY,CAAK,EACrD,aAAgB,CAAC,WAAY,UAAU,CACzC,EAEa,EAA0B,CACrC,IAAK,CAAC,cAAc,CACtB,EAEa,EAA4B,CACvC,IAAK,CAAC,gBAAgB,CACxB,EAEa,EAAkC,CAC7C,IAAK,CAAC,sBAAsB,CAC9B,EAGa,EAA+B,CAC1C,MAAO,EACT,EAEa,EAA8B,CACzC,IAAK,CAAC,kBAAkB,EACxB,aAAc,CAAC,mBAAoB,SAAU,QAAQ,EACrD,aAAc,CAAC,mBAAoB,SAAU,QAAQ,CACvD,EAEa,EAA8B,CACzC,IAAK,CAAC,kBAAkB,CAC1B,EAEa,EAAqB,CAEhC,YAAa,CAAC,qBAAqB,EAEnC,UAAW,CAAC,mBAAmB,EAE/B,MAAO,CAAC,eAAe,CACzB,EAuBa,EAAwB,CAEnC,cAAe,CAAC,6BAA6B,CAC/C,EAGa,EAAuB,CAClC,UAAW,IAAO,GAAK,EACvB,OAAQ,IAAO,GAAK,EACtB"}
1
+ {"version":3,"file":"query-keys.cjs","names":[],"sources":["../../../src/hooks/query/query-keys.ts"],"sourcesContent":["/**\n * Centralized query keys and cache configuration for TanStack Query.\n * Using constants ensures type safety and prevents typos.\n */\n\nimport { SettingsScope } from \"#/types/settings\";\n\nexport const QUERY_KEYS = {\n /** Web client configuration from the server */\n WEB_CLIENT_CONFIG: [\"web-client-config\"] as const,\n /** Same-origin OpenHands app cookie authentication status */\n MAIN_APP_COOKIE_AUTH: [\"main-app-cookie-auth\"] as const,\n} as const;\n\nexport const SETTINGS_QUERY_KEYS = {\n all: [\"settings\"] as const,\n byScope: (scope: SettingsScope) => [\"settings\", scope] as const,\n personal: () => [\"settings\", \"personal\"] as const,\n} as const;\n\nexport const LLM_PROFILES_QUERY_KEYS = {\n all: [\"llm-profiles\"] as const,\n} as const;\n\nexport const AGENT_PROFILES_QUERY_KEYS = {\n all: [\"agent-profiles\"] as const,\n} as const;\n\nexport const PROVIDER_CONNECTIONS_QUERY_KEYS = {\n all: [\"provider-connections\"] as const,\n} as const;\n\n/** Fail fast when older backends lack the profile endpoint. */\nexport const AGENT_PROFILES_RETRY_OPTIONS = {\n retry: false,\n} as const;\n\nexport const LLM_SUBSCRIPTION_QUERY_KEYS = {\n all: [\"llm-subscription\"] as const,\n openaiStatus: [\"llm-subscription\", \"openai\", \"status\"] as const,\n openaiModels: [\"llm-subscription\", \"openai\", \"models\"] as const,\n} as const;\n\nexport const LOCAL_WORKSPACES_QUERY_KEYS = {\n all: [\"local-workspaces\"] as const,\n} as const;\n\nexport const PLUGINS_QUERY_KEYS = {\n /** Dynamic marketplace catalog (used by `use-plugins-marketplace`). */\n marketplace: [\"plugins-marketplace\"] as const,\n /** Installed plugins from the local agent-server. */\n installed: [\"plugins-installed\"] as const,\n /** Locally-discovered ambient plugins (used by `use-local-plugins`). */\n local: [\"plugins-local\"] as const,\n} as const;\n\nexport const CANVAS_EXTENSIONS_QUERY_KEYS = {\n all: [\"canvas-extensions\"] as const,\n installed: (\n backendId: string,\n orgId: string | null,\n connectionRevision: number,\n ) =>\n [\n \"canvas-extensions\",\n \"installed\",\n backendId,\n orgId,\n connectionRevision,\n ] as const,\n} as const;\n\nexport const SETUP_QUERY_KEYS = {\n /** What the deployment supports. The same answer for every setup entry. */\n capabilities: () => [\"setup-capabilities\"] as const,\n} as const;\n\nexport const APP_UPDATE_QUERY_KEYS = {\n /** Latest published @openhands/agent-canvas version (npm `latest` dist-tag). */\n latestVersion: [\"agent-canvas-latest-version\"] as const,\n} as const;\n\nexport const CONVERSATION_QUERY_KEYS = {\n subConversations: [\"v1\", \"sub-conversations\"] as const,\n} as const;\n\nexport const LOCAL_PLANNER_MUTATION_KEYS = {\n create: [\"create-local-planning-conversation\"] as const,\n} as const;\n\n/** Cache configuration shared across all config-related queries */\nexport const CONFIG_CACHE_OPTIONS = {\n staleTime: 1000 * 60 * 5, // 5 minutes\n gcTime: 1000 * 60 * 15, // 15 minutes\n} as const;\n\nexport type QueryKeys = (typeof QUERY_KEYS)[keyof typeof QUERY_KEYS];\n"],"mappings":"gDAOA,IAAa,EAAa,CAExB,kBAAmB,CAAC,mBAAmB,EAEvC,qBAAsB,CAAC,sBAAsB,CAC/C,EAEa,EAAsB,CACjC,IAAK,CAAC,UAAU,EAChB,QAAU,GAAyB,CAAC,WAAY,CAAK,EACrD,aAAgB,CAAC,WAAY,UAAU,CACzC,EAEa,EAA0B,CACrC,IAAK,CAAC,cAAc,CACtB,EAEa,EAA4B,CACvC,IAAK,CAAC,gBAAgB,CACxB,EAEa,EAAkC,CAC7C,IAAK,CAAC,sBAAsB,CAC9B,EAGa,EAA+B,CAC1C,MAAO,EACT,EAEa,EAA8B,CACzC,IAAK,CAAC,kBAAkB,EACxB,aAAc,CAAC,mBAAoB,SAAU,QAAQ,EACrD,aAAc,CAAC,mBAAoB,SAAU,QAAQ,CACvD,EAEa,EAA8B,CACzC,IAAK,CAAC,kBAAkB,CAC1B,EAEa,EAAqB,CAEhC,YAAa,CAAC,qBAAqB,EAEnC,UAAW,CAAC,mBAAmB,EAE/B,MAAO,CAAC,eAAe,CACzB,EAuBa,EAAwB,CAEnC,cAAe,CAAC,6BAA6B,CAC/C,EAEa,EAA0B,CACrC,iBAAkB,CAAC,KAAM,mBAAmB,CAC9C,EAEa,EAA8B,CACzC,OAAQ,CAAC,oCAAoC,CAC/C,EAGa,EAAuB,CAClC,UAAW,IAAO,GAAK,EACvB,OAAQ,IAAO,GAAK,EACtB"}
@@ -55,6 +55,12 @@ export declare const APP_UPDATE_QUERY_KEYS: {
55
55
  /** Latest published @openhands/agent-canvas version (npm `latest` dist-tag). */
56
56
  readonly latestVersion: readonly ["agent-canvas-latest-version"];
57
57
  };
58
+ export declare const CONVERSATION_QUERY_KEYS: {
59
+ readonly subConversations: readonly ["v1", "sub-conversations"];
60
+ };
61
+ export declare const LOCAL_PLANNER_MUTATION_KEYS: {
62
+ readonly create: readonly ["create-local-planning-conversation"];
63
+ };
58
64
  /** Cache configuration shared across all config-related queries */
59
65
  export declare const CONFIG_CACHE_OPTIONS: {
60
66
  readonly staleTime: number;
@@ -22,11 +22,11 @@ var e = {
22
22
  marketplace: ["plugins-marketplace"],
23
23
  installed: ["plugins-installed"],
24
24
  local: ["plugins-local"]
25
- }, l = { latestVersion: ["agent-canvas-latest-version"] }, u = {
25
+ }, l = { latestVersion: ["agent-canvas-latest-version"] }, u = { subConversations: ["v1", "sub-conversations"] }, d = { create: ["create-local-planning-conversation"] }, f = {
26
26
  staleTime: 1e3 * 60 * 5,
27
27
  gcTime: 1e3 * 60 * 15
28
28
  };
29
29
  //#endregion
30
- export { r as AGENT_PROFILES_QUERY_KEYS, a as AGENT_PROFILES_RETRY_OPTIONS, l as APP_UPDATE_QUERY_KEYS, u as CONFIG_CACHE_OPTIONS, n as LLM_PROFILES_QUERY_KEYS, o as LLM_SUBSCRIPTION_QUERY_KEYS, s as LOCAL_WORKSPACES_QUERY_KEYS, c as PLUGINS_QUERY_KEYS, i as PROVIDER_CONNECTIONS_QUERY_KEYS, e as QUERY_KEYS, t as SETTINGS_QUERY_KEYS };
30
+ export { r as AGENT_PROFILES_QUERY_KEYS, a as AGENT_PROFILES_RETRY_OPTIONS, l as APP_UPDATE_QUERY_KEYS, f as CONFIG_CACHE_OPTIONS, u as CONVERSATION_QUERY_KEYS, n as LLM_PROFILES_QUERY_KEYS, o as LLM_SUBSCRIPTION_QUERY_KEYS, d as LOCAL_PLANNER_MUTATION_KEYS, s as LOCAL_WORKSPACES_QUERY_KEYS, c as PLUGINS_QUERY_KEYS, i as PROVIDER_CONNECTIONS_QUERY_KEYS, e as QUERY_KEYS, t as SETTINGS_QUERY_KEYS };
31
31
 
32
32
  //# sourceMappingURL=query-keys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-keys.js","names":[],"sources":["../../../src/hooks/query/query-keys.ts"],"sourcesContent":["/**\n * Centralized query keys and cache configuration for TanStack Query.\n * Using constants ensures type safety and prevents typos.\n */\n\nimport { SettingsScope } from \"#/types/settings\";\n\nexport const QUERY_KEYS = {\n /** Web client configuration from the server */\n WEB_CLIENT_CONFIG: [\"web-client-config\"] as const,\n /** Same-origin OpenHands app cookie authentication status */\n MAIN_APP_COOKIE_AUTH: [\"main-app-cookie-auth\"] as const,\n} as const;\n\nexport const SETTINGS_QUERY_KEYS = {\n all: [\"settings\"] as const,\n byScope: (scope: SettingsScope) => [\"settings\", scope] as const,\n personal: () => [\"settings\", \"personal\"] as const,\n} as const;\n\nexport const LLM_PROFILES_QUERY_KEYS = {\n all: [\"llm-profiles\"] as const,\n} as const;\n\nexport const AGENT_PROFILES_QUERY_KEYS = {\n all: [\"agent-profiles\"] as const,\n} as const;\n\nexport const PROVIDER_CONNECTIONS_QUERY_KEYS = {\n all: [\"provider-connections\"] as const,\n} as const;\n\n/** Fail fast when older backends lack the profile endpoint. */\nexport const AGENT_PROFILES_RETRY_OPTIONS = {\n retry: false,\n} as const;\n\nexport const LLM_SUBSCRIPTION_QUERY_KEYS = {\n all: [\"llm-subscription\"] as const,\n openaiStatus: [\"llm-subscription\", \"openai\", \"status\"] as const,\n openaiModels: [\"llm-subscription\", \"openai\", \"models\"] as const,\n} as const;\n\nexport const LOCAL_WORKSPACES_QUERY_KEYS = {\n all: [\"local-workspaces\"] as const,\n} as const;\n\nexport const PLUGINS_QUERY_KEYS = {\n /** Dynamic marketplace catalog (used by `use-plugins-marketplace`). */\n marketplace: [\"plugins-marketplace\"] as const,\n /** Installed plugins from the local agent-server. */\n installed: [\"plugins-installed\"] as const,\n /** Locally-discovered ambient plugins (used by `use-local-plugins`). */\n local: [\"plugins-local\"] as const,\n} as const;\n\nexport const CANVAS_EXTENSIONS_QUERY_KEYS = {\n all: [\"canvas-extensions\"] as const,\n installed: (\n backendId: string,\n orgId: string | null,\n connectionRevision: number,\n ) =>\n [\n \"canvas-extensions\",\n \"installed\",\n backendId,\n orgId,\n connectionRevision,\n ] as const,\n} as const;\n\nexport const SETUP_QUERY_KEYS = {\n /** What the deployment supports. The same answer for every setup entry. */\n capabilities: () => [\"setup-capabilities\"] as const,\n} as const;\n\nexport const APP_UPDATE_QUERY_KEYS = {\n /** Latest published @openhands/agent-canvas version (npm `latest` dist-tag). */\n latestVersion: [\"agent-canvas-latest-version\"] as const,\n} as const;\n\n/** Cache configuration shared across all config-related queries */\nexport const CONFIG_CACHE_OPTIONS = {\n staleTime: 1000 * 60 * 5, // 5 minutes\n gcTime: 1000 * 60 * 15, // 15 minutes\n} as const;\n\nexport type QueryKeys = (typeof QUERY_KEYS)[keyof typeof QUERY_KEYS];\n"],"mappings":";AAOA,IAAa,IAAa;CAExB,mBAAmB,CAAC,mBAAmB;CAEvC,sBAAsB,CAAC,sBAAsB;AAC/C,GAEa,IAAsB;CACjC,KAAK,CAAC,UAAU;CAChB,UAAU,MAAyB,CAAC,YAAY,CAAK;CACrD,gBAAgB,CAAC,YAAY,UAAU;AACzC,GAEa,IAA0B,EACrC,KAAK,CAAC,cAAc,EACtB,GAEa,IAA4B,EACvC,KAAK,CAAC,gBAAgB,EACxB,GAEa,IAAkC,EAC7C,KAAK,CAAC,sBAAsB,EAC9B,GAGa,IAA+B,EAC1C,OAAO,GACT,GAEa,IAA8B;CACzC,KAAK,CAAC,kBAAkB;CACxB,cAAc;EAAC;EAAoB;EAAU;CAAQ;CACrD,cAAc;EAAC;EAAoB;EAAU;CAAQ;AACvD,GAEa,IAA8B,EACzC,KAAK,CAAC,kBAAkB,EAC1B,GAEa,IAAqB;CAEhC,aAAa,CAAC,qBAAqB;CAEnC,WAAW,CAAC,mBAAmB;CAE/B,OAAO,CAAC,eAAe;AACzB,GAuBa,IAAwB,EAEnC,eAAe,CAAC,6BAA6B,EAC/C,GAGa,IAAuB;CAClC,WAAW,MAAO,KAAK;CACvB,QAAQ,MAAO,KAAK;AACtB"}
1
+ {"version":3,"file":"query-keys.js","names":[],"sources":["../../../src/hooks/query/query-keys.ts"],"sourcesContent":["/**\n * Centralized query keys and cache configuration for TanStack Query.\n * Using constants ensures type safety and prevents typos.\n */\n\nimport { SettingsScope } from \"#/types/settings\";\n\nexport const QUERY_KEYS = {\n /** Web client configuration from the server */\n WEB_CLIENT_CONFIG: [\"web-client-config\"] as const,\n /** Same-origin OpenHands app cookie authentication status */\n MAIN_APP_COOKIE_AUTH: [\"main-app-cookie-auth\"] as const,\n} as const;\n\nexport const SETTINGS_QUERY_KEYS = {\n all: [\"settings\"] as const,\n byScope: (scope: SettingsScope) => [\"settings\", scope] as const,\n personal: () => [\"settings\", \"personal\"] as const,\n} as const;\n\nexport const LLM_PROFILES_QUERY_KEYS = {\n all: [\"llm-profiles\"] as const,\n} as const;\n\nexport const AGENT_PROFILES_QUERY_KEYS = {\n all: [\"agent-profiles\"] as const,\n} as const;\n\nexport const PROVIDER_CONNECTIONS_QUERY_KEYS = {\n all: [\"provider-connections\"] as const,\n} as const;\n\n/** Fail fast when older backends lack the profile endpoint. */\nexport const AGENT_PROFILES_RETRY_OPTIONS = {\n retry: false,\n} as const;\n\nexport const LLM_SUBSCRIPTION_QUERY_KEYS = {\n all: [\"llm-subscription\"] as const,\n openaiStatus: [\"llm-subscription\", \"openai\", \"status\"] as const,\n openaiModels: [\"llm-subscription\", \"openai\", \"models\"] as const,\n} as const;\n\nexport const LOCAL_WORKSPACES_QUERY_KEYS = {\n all: [\"local-workspaces\"] as const,\n} as const;\n\nexport const PLUGINS_QUERY_KEYS = {\n /** Dynamic marketplace catalog (used by `use-plugins-marketplace`). */\n marketplace: [\"plugins-marketplace\"] as const,\n /** Installed plugins from the local agent-server. */\n installed: [\"plugins-installed\"] as const,\n /** Locally-discovered ambient plugins (used by `use-local-plugins`). */\n local: [\"plugins-local\"] as const,\n} as const;\n\nexport const CANVAS_EXTENSIONS_QUERY_KEYS = {\n all: [\"canvas-extensions\"] as const,\n installed: (\n backendId: string,\n orgId: string | null,\n connectionRevision: number,\n ) =>\n [\n \"canvas-extensions\",\n \"installed\",\n backendId,\n orgId,\n connectionRevision,\n ] as const,\n} as const;\n\nexport const SETUP_QUERY_KEYS = {\n /** What the deployment supports. The same answer for every setup entry. */\n capabilities: () => [\"setup-capabilities\"] as const,\n} as const;\n\nexport const APP_UPDATE_QUERY_KEYS = {\n /** Latest published @openhands/agent-canvas version (npm `latest` dist-tag). */\n latestVersion: [\"agent-canvas-latest-version\"] as const,\n} as const;\n\nexport const CONVERSATION_QUERY_KEYS = {\n subConversations: [\"v1\", \"sub-conversations\"] as const,\n} as const;\n\nexport const LOCAL_PLANNER_MUTATION_KEYS = {\n create: [\"create-local-planning-conversation\"] as const,\n} as const;\n\n/** Cache configuration shared across all config-related queries */\nexport const CONFIG_CACHE_OPTIONS = {\n staleTime: 1000 * 60 * 5, // 5 minutes\n gcTime: 1000 * 60 * 15, // 15 minutes\n} as const;\n\nexport type QueryKeys = (typeof QUERY_KEYS)[keyof typeof QUERY_KEYS];\n"],"mappings":";AAOA,IAAa,IAAa;CAExB,mBAAmB,CAAC,mBAAmB;CAEvC,sBAAsB,CAAC,sBAAsB;AAC/C,GAEa,IAAsB;CACjC,KAAK,CAAC,UAAU;CAChB,UAAU,MAAyB,CAAC,YAAY,CAAK;CACrD,gBAAgB,CAAC,YAAY,UAAU;AACzC,GAEa,IAA0B,EACrC,KAAK,CAAC,cAAc,EACtB,GAEa,IAA4B,EACvC,KAAK,CAAC,gBAAgB,EACxB,GAEa,IAAkC,EAC7C,KAAK,CAAC,sBAAsB,EAC9B,GAGa,IAA+B,EAC1C,OAAO,GACT,GAEa,IAA8B;CACzC,KAAK,CAAC,kBAAkB;CACxB,cAAc;EAAC;EAAoB;EAAU;CAAQ;CACrD,cAAc;EAAC;EAAoB;EAAU;CAAQ;AACvD,GAEa,IAA8B,EACzC,KAAK,CAAC,kBAAkB,EAC1B,GAEa,IAAqB;CAEhC,aAAa,CAAC,qBAAqB;CAEnC,WAAW,CAAC,mBAAmB;CAE/B,OAAO,CAAC,eAAe;AACzB,GAuBa,IAAwB,EAEnC,eAAe,CAAC,6BAA6B,EAC/C,GAEa,IAA0B,EACrC,kBAAkB,CAAC,MAAM,mBAAmB,EAC9C,GAEa,IAA8B,EACzC,QAAQ,CAAC,oCAAoC,EAC/C,GAGa,IAAuB;CAClC,WAAW,MAAO,KAAK;CACvB,QAAQ,MAAO,KAAK;AACtB"}
@@ -1,2 +1,2 @@
1
- const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../api/backend-registry/active-store.cjs"),n=require("../../contexts/active-backend-context.cjs"),r=require("../../api/automation-service/automation-service.api.cjs");let i=require("react");i=e.__toESM(i,1);var a=`automation-sdk-version`,o=3600*1e3,s=`\0`,c=new Map,l=new Map;function u(e){let t=c.get(e);if(t){if(t.expiresAt<=Date.now()){c.delete(e);return}return t.version}}function d(e,t){c.set(e,{expiresAt:Date.now()+o,version:t})}function f(e){let t=u(e);if(t!==void 0)return Promise.resolve(t);let n=l.get(e);if(n)return n;if(typeof r.default.getSdkVersion!=`function`)return d(e,null),Promise.resolve(null);let i=r.default.getSdkVersion().then(t=>(d(e,t),t)).catch(()=>(d(e,null),null)).finally(()=>{l.delete(e)});return l.set(e,i),i}function p(){let e=n.useActiveBackend(),{backend:r}=e,o=[a,r.id,r.kind,r.host,e.orgId??``].join(s),[c,l]=i.default.useState(()=>u(o)??null);return i.default.useEffect(()=>{if(t.isNoBackend(r)){l(null);return}let e=u(o);if(e!==void 0){l(e);return}let n=!0;return l(null),f(o).then(e=>{n&&l(e)}),()=>{n=!1}},[r,o]),c}exports.useAutomationSdkVersion=p;
1
+ const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../api/backend-registry/active-store.cjs"),n=require("../../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.cjs"),r=require("../../node_modules/@tanstack/react-query/build/modern/useQuery.cjs"),i=require("../../query-client-config.cjs"),a=require("../../contexts/active-backend-context.cjs"),o=require("../../api/automation-service/automation-service.api.cjs");let s=require("react");s=e.__toESM(s,1);var c=`automation-sdk-version`,l=3600*1e3;async function u(){if(typeof o.default.getSdkVersion!=`function`)return null;try{return await o.default.getSdkVersion()}catch{return null}}function d(){let e=a.useActiveBackend(),{backend:d}=e,f=s.default.useContext(n.QueryClientContext),p=!t.isNoBackend(d)&&typeof o.default.getSdkVersion==`function`,{data:m}=r.useQuery({queryKey:[c,d.id,d.kind,d.host,e.orgId??``],queryFn:u,enabled:p,initialData:p?void 0:null,staleTime:l,gcTime:l},f??i.getQueryClient());return m??null}exports.useAutomationSdkVersion=d;
2
2
  //# sourceMappingURL=use-automation-sdk-version.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-automation-sdk-version.cjs","names":[],"sources":["../../../src/hooks/query/use-automation-sdk-version.ts"],"sourcesContent":["import React from \"react\";\nimport AutomationService from \"#/api/automation-service/automation-service.api\";\nimport { isNoBackend } from \"#/api/backend-registry/active-store\";\nimport { useActiveBackend } from \"#/contexts/active-backend-context\";\n\nexport const AUTOMATION_SDK_VERSION_CACHE_NAMESPACE = \"automation-sdk-version\";\n\nconst AUTOMATION_SDK_VERSION_CACHE_TIME_MS = 60 * 60 * 1000;\nconst CACHE_KEY_SEPARATOR = \"\\u0000\";\n\ninterface AutomationSdkVersionCacheEntry {\n expiresAt: number;\n version: string | null;\n}\n\nconst sdkVersionCache = new Map<string, AutomationSdkVersionCacheEntry>();\nconst sdkVersionRequests = new Map<string, Promise<string | null>>();\n\nexport function __resetAutomationSdkVersionCacheForTests() {\n sdkVersionCache.clear();\n sdkVersionRequests.clear();\n}\n\nfunction readCachedSdkVersion(cacheKey: string): string | null | undefined {\n const cached = sdkVersionCache.get(cacheKey);\n if (!cached) return undefined;\n\n if (cached.expiresAt <= Date.now()) {\n sdkVersionCache.delete(cacheKey);\n return undefined;\n }\n\n return cached.version;\n}\n\nfunction writeCachedSdkVersion(cacheKey: string, version: string | null) {\n sdkVersionCache.set(cacheKey, {\n expiresAt: Date.now() + AUTOMATION_SDK_VERSION_CACHE_TIME_MS,\n version,\n });\n}\n\nfunction getCachedOrFetchSdkVersion(cacheKey: string) {\n const cached = readCachedSdkVersion(cacheKey);\n if (cached !== undefined) return Promise.resolve(cached);\n\n const existingRequest = sdkVersionRequests.get(cacheKey);\n if (existingRequest) return existingRequest;\n\n if (typeof AutomationService.getSdkVersion !== \"function\") {\n writeCachedSdkVersion(cacheKey, null);\n return Promise.resolve(null);\n }\n\n const request = AutomationService.getSdkVersion()\n .then((version) => {\n writeCachedSdkVersion(cacheKey, version);\n return version;\n })\n .catch(() => {\n writeCachedSdkVersion(cacheKey, null);\n return null;\n })\n .finally(() => {\n sdkVersionRequests.delete(cacheKey);\n });\n sdkVersionRequests.set(cacheKey, request);\n return request;\n}\n\nexport function useAutomationSdkVersion() {\n const active = useActiveBackend();\n const { backend } = active;\n const cacheKey = [\n AUTOMATION_SDK_VERSION_CACHE_NAMESPACE,\n backend.id,\n backend.kind,\n backend.host,\n active.orgId ?? \"\",\n ].join(CACHE_KEY_SEPARATOR);\n\n const [automationSdkVersion, setAutomationSdkVersion] = React.useState<\n string | null\n >(() => readCachedSdkVersion(cacheKey) ?? null);\n\n React.useEffect(() => {\n if (isNoBackend(backend)) {\n setAutomationSdkVersion(null);\n return undefined;\n }\n\n const cached = readCachedSdkVersion(cacheKey);\n if (cached !== undefined) {\n setAutomationSdkVersion(cached);\n return undefined;\n }\n\n let isMounted = true;\n setAutomationSdkVersion(null);\n void getCachedOrFetchSdkVersion(cacheKey).then((version) => {\n if (isMounted) {\n setAutomationSdkVersion(version);\n }\n });\n\n return () => {\n isMounted = false;\n };\n }, [backend, cacheKey]);\n\n return automationSdkVersion;\n}\n"],"mappings":"qRAKA,IAAa,EAAyC,yBAEhD,EAAuC,KAAU,IACjD,EAAsB,KAOtB,EAAkB,IAAI,IACtB,EAAqB,IAAI,IAO/B,SAAS,EAAqB,EAA6C,CACzE,IAAM,EAAS,EAAgB,IAAI,CAAQ,EACtC,KAEL,IAAI,EAAO,WAAa,KAAK,IAAI,EAAG,CAClC,EAAgB,OAAO,CAAQ,EAC/B,MACF,CAEA,OAAO,EAAO,OAFd,CAGF,CAEA,SAAS,EAAsB,EAAkB,EAAwB,CACvE,EAAgB,IAAI,EAAU,CAC5B,UAAW,KAAK,IAAI,EAAI,EACxB,SACF,CAAC,CACH,CAEA,SAAS,EAA2B,EAAkB,CACpD,IAAM,EAAS,EAAqB,CAAQ,EAC5C,GAAI,IAAW,IAAA,GAAW,OAAO,QAAQ,QAAQ,CAAM,EAEvD,IAAM,EAAkB,EAAmB,IAAI,CAAQ,EACvD,GAAI,EAAiB,OAAO,EAE5B,GAAI,OAAO,EAAA,QAAkB,eAAkB,WAE7C,OADA,EAAsB,EAAU,IAAI,EAC7B,QAAQ,QAAQ,IAAI,EAG7B,IAAM,EAAU,EAAA,QAAkB,cAAc,EAC7C,KAAM,IACL,EAAsB,EAAU,CAAO,EAChC,EACR,EACA,WACC,EAAsB,EAAU,IAAI,EAC7B,KACR,EACA,YAAc,CACb,EAAmB,OAAO,CAAQ,CACpC,CAAC,EAEH,OADA,EAAmB,IAAI,EAAU,CAAO,EACjC,CACT,CAEA,SAAgB,GAA0B,CACxC,IAAM,EAAS,EAAA,iBAAiB,EAC1B,CAAE,WAAY,EACd,EAAW,CACf,EACA,EAAQ,GACR,EAAQ,KACR,EAAQ,KACR,EAAO,OAAS,EAClB,EAAE,KAAK,CAAmB,EAEpB,CAAC,EAAsB,GAA2B,EAAA,QAAM,aAEtD,EAAqB,CAAQ,GAAK,IAAI,EA2B9C,OAzBA,EAAA,QAAM,cAAgB,CACpB,GAAI,EAAA,YAAY,CAAO,EAAG,CACxB,EAAwB,IAAI,EAC5B,MACF,CAEA,IAAM,EAAS,EAAqB,CAAQ,EAC5C,GAAI,IAAW,IAAA,GAAW,CACxB,EAAwB,CAAM,EAC9B,MACF,CAEA,IAAI,EAAY,GAQhB,OAPA,EAAwB,IAAI,EAC5B,EAAgC,CAAQ,EAAE,KAAM,GAAY,CACtD,GACF,EAAwB,CAAO,CAEnC,CAAC,MAEY,CACX,EAAY,EACd,CACF,EAAG,CAAC,EAAS,CAAQ,CAAC,EAEf,CACT"}
1
+ {"version":3,"file":"use-automation-sdk-version.cjs","names":[],"sources":["../../../src/hooks/query/use-automation-sdk-version.ts"],"sourcesContent":["import React from \"react\";\nimport { QueryClientContext, useQuery } from \"@tanstack/react-query\";\nimport AutomationService from \"#/api/automation-service/automation-service.api\";\nimport { isNoBackend } from \"#/api/backend-registry/active-store\";\nimport { useActiveBackend } from \"#/contexts/active-backend-context\";\nimport { getQueryClient } from \"#/query-client-config\";\n\nexport const AUTOMATION_SDK_VERSION_CACHE_NAMESPACE = \"automation-sdk-version\";\n\nconst AUTOMATION_SDK_VERSION_CACHE_TIME_MS = 60 * 60 * 1000;\nasync function fetchAutomationSdkVersion(): Promise<string | null> {\n if (typeof AutomationService.getSdkVersion !== \"function\") {\n return null;\n }\n\n try {\n return await AutomationService.getSdkVersion();\n } catch {\n return null;\n }\n}\n\nexport function useAutomationSdkVersion() {\n const active = useActiveBackend();\n const { backend } = active;\n const providerQueryClient = React.useContext(QueryClientContext);\n const canFetchSdkVersion =\n !isNoBackend(backend) &&\n typeof AutomationService.getSdkVersion === \"function\";\n const { data } = useQuery(\n {\n queryKey: [\n AUTOMATION_SDK_VERSION_CACHE_NAMESPACE,\n backend.id,\n backend.kind,\n backend.host,\n active.orgId ?? \"\",\n ],\n queryFn: fetchAutomationSdkVersion,\n enabled: canFetchSdkVersion,\n initialData: canFetchSdkVersion ? undefined : null,\n staleTime: AUTOMATION_SDK_VERSION_CACHE_TIME_MS,\n gcTime: AUTOMATION_SDK_VERSION_CACHE_TIME_MS,\n },\n providerQueryClient ?? getQueryClient(),\n );\n\n return data ?? null;\n}\n"],"mappings":"2eAOA,IAAa,EAAyC,yBAEhD,EAAuC,KAAU,IACvD,eAAe,GAAoD,CACjE,GAAI,OAAO,EAAA,QAAkB,eAAkB,WAC7C,OAAO,KAGT,GAAI,CACF,OAAO,MAAM,EAAA,QAAkB,cAAc,CAC/C,MAAQ,CACN,OAAO,IACT,CACF,CAEA,SAAgB,GAA0B,CACxC,IAAM,EAAS,EAAA,iBAAiB,EAC1B,CAAE,WAAY,EACd,EAAsB,EAAA,QAAM,WAAW,EAAA,kBAAkB,EACzD,EACJ,CAAC,EAAA,YAAY,CAAO,GACpB,OAAO,EAAA,QAAkB,eAAkB,WACvC,CAAE,QAAS,EAAA,SACf,CACE,SAAU,CACR,EACA,EAAQ,GACR,EAAQ,KACR,EAAQ,KACR,EAAO,OAAS,EAClB,EACA,QAAS,EACT,QAAS,EACT,YAAa,EAAqB,IAAA,GAAY,KAC9C,UAAW,EACX,OAAQ,CACV,EACA,GAAuB,EAAA,eAAe,CACxC,EAEA,OAAO,GAAQ,IACjB"}
@@ -1,3 +1,2 @@
1
1
  export declare const AUTOMATION_SDK_VERSION_CACHE_NAMESPACE = "automation-sdk-version";
2
- export declare function __resetAutomationSdkVersionCacheForTests(): void;
3
2
  export declare function useAutomationSdkVersion(): string | null;
@@ -1,63 +1,38 @@
1
1
  import { isNoBackend as e } from "../../api/backend-registry/active-store.js";
2
- import { useActiveBackend as t } from "../../contexts/active-backend-context.js";
3
- import n from "../../api/automation-service/automation-service.api.js";
4
- import r from "react";
2
+ import { QueryClientContext as t } from "../../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js";
3
+ import { useQuery as n } from "../../node_modules/@tanstack/react-query/build/modern/useQuery.js";
4
+ import { getQueryClient as r } from "../../query-client-config.js";
5
+ import { useActiveBackend as i } from "../../contexts/active-backend-context.js";
6
+ import a from "../../api/automation-service/automation-service.api.js";
7
+ import o from "react";
5
8
  //#region src/hooks/query/use-automation-sdk-version.ts
6
- var i = "automation-sdk-version", a = 3600 * 1e3, o = "\0", s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map();
7
- function l(e) {
8
- let t = s.get(e);
9
- if (t) {
10
- if (t.expiresAt <= Date.now()) {
11
- s.delete(e);
12
- return;
13
- }
14
- return t.version;
9
+ var s = "automation-sdk-version", c = 3600 * 1e3;
10
+ async function l() {
11
+ if (typeof a.getSdkVersion != "function") return null;
12
+ try {
13
+ return await a.getSdkVersion();
14
+ } catch {
15
+ return null;
15
16
  }
16
17
  }
17
- function u(e, t) {
18
- s.set(e, {
19
- expiresAt: Date.now() + a,
20
- version: t
21
- });
22
- }
23
- function d(e) {
24
- let t = l(e);
25
- if (t !== void 0) return Promise.resolve(t);
26
- let r = c.get(e);
27
- if (r) return r;
28
- if (typeof n.getSdkVersion != "function") return u(e, null), Promise.resolve(null);
29
- let i = n.getSdkVersion().then((t) => (u(e, t), t)).catch(() => (u(e, null), null)).finally(() => {
30
- c.delete(e);
31
- });
32
- return c.set(e, i), i;
33
- }
34
- function f() {
35
- let n = t(), { backend: a } = n, s = [
36
- i,
37
- a.id,
38
- a.kind,
39
- a.host,
40
- n.orgId ?? ""
41
- ].join(o), [c, u] = r.useState(() => l(s) ?? null);
42
- return r.useEffect(() => {
43
- if (e(a)) {
44
- u(null);
45
- return;
46
- }
47
- let t = l(s);
48
- if (t !== void 0) {
49
- u(t);
50
- return;
51
- }
52
- let n = !0;
53
- return u(null), d(s).then((e) => {
54
- n && u(e);
55
- }), () => {
56
- n = !1;
57
- };
58
- }, [a, s]), c;
18
+ function u() {
19
+ let u = i(), { backend: d } = u, f = o.useContext(t), p = !e(d) && typeof a.getSdkVersion == "function", { data: m } = n({
20
+ queryKey: [
21
+ s,
22
+ d.id,
23
+ d.kind,
24
+ d.host,
25
+ u.orgId ?? ""
26
+ ],
27
+ queryFn: l,
28
+ enabled: p,
29
+ initialData: p ? void 0 : null,
30
+ staleTime: c,
31
+ gcTime: c
32
+ }, f ?? r());
33
+ return m ?? null;
59
34
  }
60
35
  //#endregion
61
- export { f as useAutomationSdkVersion };
36
+ export { u as useAutomationSdkVersion };
62
37
 
63
38
  //# sourceMappingURL=use-automation-sdk-version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-automation-sdk-version.js","names":[],"sources":["../../../src/hooks/query/use-automation-sdk-version.ts"],"sourcesContent":["import React from \"react\";\nimport AutomationService from \"#/api/automation-service/automation-service.api\";\nimport { isNoBackend } from \"#/api/backend-registry/active-store\";\nimport { useActiveBackend } from \"#/contexts/active-backend-context\";\n\nexport const AUTOMATION_SDK_VERSION_CACHE_NAMESPACE = \"automation-sdk-version\";\n\nconst AUTOMATION_SDK_VERSION_CACHE_TIME_MS = 60 * 60 * 1000;\nconst CACHE_KEY_SEPARATOR = \"\\u0000\";\n\ninterface AutomationSdkVersionCacheEntry {\n expiresAt: number;\n version: string | null;\n}\n\nconst sdkVersionCache = new Map<string, AutomationSdkVersionCacheEntry>();\nconst sdkVersionRequests = new Map<string, Promise<string | null>>();\n\nexport function __resetAutomationSdkVersionCacheForTests() {\n sdkVersionCache.clear();\n sdkVersionRequests.clear();\n}\n\nfunction readCachedSdkVersion(cacheKey: string): string | null | undefined {\n const cached = sdkVersionCache.get(cacheKey);\n if (!cached) return undefined;\n\n if (cached.expiresAt <= Date.now()) {\n sdkVersionCache.delete(cacheKey);\n return undefined;\n }\n\n return cached.version;\n}\n\nfunction writeCachedSdkVersion(cacheKey: string, version: string | null) {\n sdkVersionCache.set(cacheKey, {\n expiresAt: Date.now() + AUTOMATION_SDK_VERSION_CACHE_TIME_MS,\n version,\n });\n}\n\nfunction getCachedOrFetchSdkVersion(cacheKey: string) {\n const cached = readCachedSdkVersion(cacheKey);\n if (cached !== undefined) return Promise.resolve(cached);\n\n const existingRequest = sdkVersionRequests.get(cacheKey);\n if (existingRequest) return existingRequest;\n\n if (typeof AutomationService.getSdkVersion !== \"function\") {\n writeCachedSdkVersion(cacheKey, null);\n return Promise.resolve(null);\n }\n\n const request = AutomationService.getSdkVersion()\n .then((version) => {\n writeCachedSdkVersion(cacheKey, version);\n return version;\n })\n .catch(() => {\n writeCachedSdkVersion(cacheKey, null);\n return null;\n })\n .finally(() => {\n sdkVersionRequests.delete(cacheKey);\n });\n sdkVersionRequests.set(cacheKey, request);\n return request;\n}\n\nexport function useAutomationSdkVersion() {\n const active = useActiveBackend();\n const { backend } = active;\n const cacheKey = [\n AUTOMATION_SDK_VERSION_CACHE_NAMESPACE,\n backend.id,\n backend.kind,\n backend.host,\n active.orgId ?? \"\",\n ].join(CACHE_KEY_SEPARATOR);\n\n const [automationSdkVersion, setAutomationSdkVersion] = React.useState<\n string | null\n >(() => readCachedSdkVersion(cacheKey) ?? null);\n\n React.useEffect(() => {\n if (isNoBackend(backend)) {\n setAutomationSdkVersion(null);\n return undefined;\n }\n\n const cached = readCachedSdkVersion(cacheKey);\n if (cached !== undefined) {\n setAutomationSdkVersion(cached);\n return undefined;\n }\n\n let isMounted = true;\n setAutomationSdkVersion(null);\n void getCachedOrFetchSdkVersion(cacheKey).then((version) => {\n if (isMounted) {\n setAutomationSdkVersion(version);\n }\n });\n\n return () => {\n isMounted = false;\n };\n }, [backend, cacheKey]);\n\n return automationSdkVersion;\n}\n"],"mappings":";;;;;AAKA,IAAa,IAAyC,0BAEhD,IAAuC,OAAU,KACjD,IAAsB,MAOtB,oBAAkB,IAAI,IAA4C,GAClE,oBAAqB,IAAI,IAAoC;AAOnE,SAAS,EAAqB,GAA6C;CACzE,IAAM,IAAS,EAAgB,IAAI,CAAQ;CACtC,OAEL;MAAI,EAAO,aAAa,KAAK,IAAI,GAAG;GAClC,EAAgB,OAAO,CAAQ;GAC/B;EACF;EAEA,OAAO,EAAO;CAFd;AAGF;AAEA,SAAS,EAAsB,GAAkB,GAAwB;CACvE,EAAgB,IAAI,GAAU;EAC5B,WAAW,KAAK,IAAI,IAAI;EACxB;CACF,CAAC;AACH;AAEA,SAAS,EAA2B,GAAkB;CACpD,IAAM,IAAS,EAAqB,CAAQ;CAC5C,IAAI,MAAW,KAAA,GAAW,OAAO,QAAQ,QAAQ,CAAM;CAEvD,IAAM,IAAkB,EAAmB,IAAI,CAAQ;CACvD,IAAI,GAAiB,OAAO;CAE5B,IAAI,OAAO,EAAkB,iBAAkB,YAE7C,OADA,EAAsB,GAAU,IAAI,GAC7B,QAAQ,QAAQ,IAAI;CAG7B,IAAM,IAAU,EAAkB,cAAc,EAC7C,MAAM,OACL,EAAsB,GAAU,CAAO,GAChC,EACR,EACA,aACC,EAAsB,GAAU,IAAI,GAC7B,KACR,EACA,cAAc;EACb,EAAmB,OAAO,CAAQ;CACpC,CAAC;CAEH,OADA,EAAmB,IAAI,GAAU,CAAO,GACjC;AACT;AAEA,SAAgB,IAA0B;CACxC,IAAM,IAAS,EAAiB,GAC1B,EAAE,eAAY,GACd,IAAW;EACf;EACA,EAAQ;EACR,EAAQ;EACR,EAAQ;EACR,EAAO,SAAS;CAClB,EAAE,KAAK,CAAmB,GAEpB,CAAC,GAAsB,KAA2B,EAAM,eAEtD,EAAqB,CAAQ,KAAK,IAAI;CA2B9C,OAzBA,EAAM,gBAAgB;EACpB,IAAI,EAAY,CAAO,GAAG;GACxB,EAAwB,IAAI;GAC5B;EACF;EAEA,IAAM,IAAS,EAAqB,CAAQ;EAC5C,IAAI,MAAW,KAAA,GAAW;GACxB,EAAwB,CAAM;GAC9B;EACF;EAEA,IAAI,IAAY;EAQhB,OAPA,EAAwB,IAAI,GAC5B,EAAgC,CAAQ,EAAE,MAAM,MAAY;GAC1D,AAAI,KACF,EAAwB,CAAO;EAEnC,CAAC,SAEY;GACX,IAAY;EACd;CACF,GAAG,CAAC,GAAS,CAAQ,CAAC,GAEf;AACT"}
1
+ {"version":3,"file":"use-automation-sdk-version.js","names":[],"sources":["../../../src/hooks/query/use-automation-sdk-version.ts"],"sourcesContent":["import React from \"react\";\nimport { QueryClientContext, useQuery } from \"@tanstack/react-query\";\nimport AutomationService from \"#/api/automation-service/automation-service.api\";\nimport { isNoBackend } from \"#/api/backend-registry/active-store\";\nimport { useActiveBackend } from \"#/contexts/active-backend-context\";\nimport { getQueryClient } from \"#/query-client-config\";\n\nexport const AUTOMATION_SDK_VERSION_CACHE_NAMESPACE = \"automation-sdk-version\";\n\nconst AUTOMATION_SDK_VERSION_CACHE_TIME_MS = 60 * 60 * 1000;\nasync function fetchAutomationSdkVersion(): Promise<string | null> {\n if (typeof AutomationService.getSdkVersion !== \"function\") {\n return null;\n }\n\n try {\n return await AutomationService.getSdkVersion();\n } catch {\n return null;\n }\n}\n\nexport function useAutomationSdkVersion() {\n const active = useActiveBackend();\n const { backend } = active;\n const providerQueryClient = React.useContext(QueryClientContext);\n const canFetchSdkVersion =\n !isNoBackend(backend) &&\n typeof AutomationService.getSdkVersion === \"function\";\n const { data } = useQuery(\n {\n queryKey: [\n AUTOMATION_SDK_VERSION_CACHE_NAMESPACE,\n backend.id,\n backend.kind,\n backend.host,\n active.orgId ?? \"\",\n ],\n queryFn: fetchAutomationSdkVersion,\n enabled: canFetchSdkVersion,\n initialData: canFetchSdkVersion ? undefined : null,\n staleTime: AUTOMATION_SDK_VERSION_CACHE_TIME_MS,\n gcTime: AUTOMATION_SDK_VERSION_CACHE_TIME_MS,\n },\n providerQueryClient ?? getQueryClient(),\n );\n\n return data ?? null;\n}\n"],"mappings":";;;;;;;;AAOA,IAAa,IAAyC,0BAEhD,IAAuC,OAAU;AACvD,eAAe,IAAoD;CACjE,IAAI,OAAO,EAAkB,iBAAkB,YAC7C,OAAO;CAGT,IAAI;EACF,OAAO,MAAM,EAAkB,cAAc;CAC/C,QAAQ;EACN,OAAO;CACT;AACF;AAEA,SAAgB,IAA0B;CACxC,IAAM,IAAS,EAAiB,GAC1B,EAAE,eAAY,GACd,IAAsB,EAAM,WAAW,CAAkB,GACzD,IACJ,CAAC,EAAY,CAAO,KACpB,OAAO,EAAkB,iBAAkB,YACvC,EAAE,YAAS,EACf;EACE,UAAU;GACR;GACA,EAAQ;GACR,EAAQ;GACR,EAAQ;GACR,EAAO,SAAS;EAClB;EACA,SAAS;EACT,SAAS;EACT,aAAa,IAAqB,KAAA,IAAY;EAC9C,WAAW;EACX,QAAQ;CACV,GACA,KAAuB,EAAe,CACxC;CAEA,OAAO,KAAQ;AACjB"}
@@ -1,2 +1,2 @@
1
- require("../../_virtual/_rolldown/runtime.cjs");const e=require("./use-active-conversation.cjs"),t=require("./use-skills.cjs");var n=()=>t.useSkills(e.useActiveConversation().data?.selected_workspace??void 0);exports.useConversationSkills=n;
1
+ require("../../_virtual/_rolldown/runtime.cjs");const e=require("../use-conversation-id.cjs"),t=require("../../node_modules/@tanstack/react-query/build/modern/useQuery.cjs"),n=require("../../contexts/active-backend-context.cjs"),r=require("./use-active-conversation.cjs"),i=require("../../api/skills-service.cjs");var a=()=>{let a=n.useActiveBackend().backend.kind===`cloud`,{conversationId:o}=e.useOptionalConversationId(),{data:s}=r.useActiveConversation(),c=s?.selected_workspace??void 0,l=a?o:null;return t.useQuery({queryKey:l?[`conversation`,l,`skills`]:[`skills`,c??null],queryFn:()=>l?i.default.getConversationSkills(l):i.default.getSkills(c),enabled:!l||s?.sandbox_status===`RUNNING`,staleTime:1e3*60*10,refetchOnWindowFocus:!1})};exports.useConversationSkills=a;
2
2
  //# sourceMappingURL=use-conversation-skills.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-conversation-skills.cjs","names":[],"sources":["../../../src/hooks/query/use-conversation-skills.ts"],"sourcesContent":["import { useActiveConversation } from \"./use-active-conversation\";\nimport { useSkills } from \"./use-skills\";\n\n/**\n * Skills catalog scoped to the active conversation's attached workspace, so\n * the slash-command menu and skills modal list the same project skills that\n * were loaded into the conversation. Falls back to the global workspace dir\n * for \"No workspace\" conversations (``selected_workspace`` is null).\n */\nexport const useConversationSkills = () => {\n const conversation = useActiveConversation();\n return useSkills(conversation.data?.selected_workspace ?? undefined);\n};\n"],"mappings":"+HASA,IAAa,MAEJ,EAAA,UADc,EAAA,sBACJ,EAAa,MAAM,oBAAsB,IAAA,EAAS"}
1
+ {"version":3,"file":"use-conversation-skills.cjs","names":[],"sources":["../../../src/hooks/query/use-conversation-skills.ts"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport SkillsService from \"#/api/skills-service\";\nimport { useActiveBackend } from \"#/contexts/active-backend-context\";\nimport { useOptionalConversationId } from \"#/hooks/use-conversation-id\";\nimport { SkillInfo } from \"#/types/settings\";\nimport { useActiveConversation } from \"./use-active-conversation\";\n\n/**\n * Skills catalog scoped to the active conversation, so the slash-command menu\n * and skills modal list the same skills that were loaded into it.\n *\n * Cloud: the per-conversation route reports what the conversation's\n * agent-server actually loaded (public catalog, user/org repos, project\n * skills, auto-loaded marketplace plugins); the global `/api/v1/skills/search`\n * catalog only scans the API host's built-in skills directory. The route needs\n * a running sandbox, which `useActiveConversation` polls for.\n *\n * Local (and cloud with no conversation route, e.g. the home page): the\n * workspace-scoped catalog, falling back to the global workspace dir for\n * \"No workspace\" conversations (`selected_workspace` is null).\n */\nexport const useConversationSkills = () => {\n const isCloud = useActiveBackend().backend.kind === \"cloud\";\n const { conversationId } = useOptionalConversationId();\n const { data: conversation } = useActiveConversation();\n const projectDir = conversation?.selected_workspace ?? undefined;\n // Keyed on the route id so a still-loading cloud conversation does not fall\n // back to the global catalog; only a missing route does.\n const cloudConversationId = isCloud ? conversationId : null;\n\n return useQuery<SkillInfo[]>({\n queryKey: cloudConversationId\n ? [\"conversation\", cloudConversationId, \"skills\"]\n : [\"skills\", projectDir ?? null],\n queryFn: () =>\n cloudConversationId\n ? SkillsService.getConversationSkills(cloudConversationId)\n : SkillsService.getSkills(projectDir),\n // The cloud route 404s until the sandbox runs.\n enabled: !cloudConversationId || conversation?.sandbox_status === \"RUNNING\",\n staleTime: 1000 * 60 * 10, // 10 minutes – skill list rarely changes\n refetchOnWindowFocus: false,\n });\n};\n"],"mappings":"0TAqBA,IAAa,MAA8B,CACzC,IAAM,EAAU,EAAA,iBAAiB,EAAE,QAAQ,OAAS,QAC9C,CAAE,kBAAmB,EAAA,0BAA0B,EAC/C,CAAE,KAAM,GAAiB,EAAA,sBAAsB,EAC/C,EAAa,GAAc,oBAAsB,IAAA,GAGjD,EAAsB,EAAU,EAAiB,KAEvD,OAAO,EAAA,SAAsB,CAC3B,SAAU,EACN,CAAC,eAAgB,EAAqB,QAAQ,EAC9C,CAAC,SAAU,GAAc,IAAI,EACjC,YACE,EACI,EAAA,QAAc,sBAAsB,CAAmB,EACvD,EAAA,QAAc,UAAU,CAAU,EAExC,QAAS,CAAC,GAAuB,GAAc,iBAAmB,UAClE,UAAW,IAAO,GAAK,GACvB,qBAAsB,EACxB,CAAC,CACH"}
@@ -1,7 +1,16 @@
1
+ import { SkillInfo } from "#/types/settings";
1
2
  /**
2
- * Skills catalog scoped to the active conversation's attached workspace, so
3
- * the slash-command menu and skills modal list the same project skills that
4
- * were loaded into the conversation. Falls back to the global workspace dir
5
- * for "No workspace" conversations (``selected_workspace`` is null).
3
+ * Skills catalog scoped to the active conversation, so the slash-command menu
4
+ * and skills modal list the same skills that were loaded into it.
5
+ *
6
+ * Cloud: the per-conversation route reports what the conversation's
7
+ * agent-server actually loaded (public catalog, user/org repos, project
8
+ * skills, auto-loaded marketplace plugins); the global `/api/v1/skills/search`
9
+ * catalog only scans the API host's built-in skills directory. The route needs
10
+ * a running sandbox, which `useActiveConversation` polls for.
11
+ *
12
+ * Local (and cloud with no conversation route, e.g. the home page): the
13
+ * workspace-scoped catalog, falling back to the global workspace dir for
14
+ * "No workspace" conversations (`selected_workspace` is null).
6
15
  */
7
- export declare const useConversationSkills: () => import("@tanstack/react-query").UseQueryResult<NoInfer<import("../../types/settings").SkillInfo[]>, import("axios").AxiosError<unknown, any>>;
16
+ export declare const useConversationSkills: () => import("@tanstack/react-query").UseQueryResult<NoInfer<SkillInfo[]>, import("axios").AxiosError<unknown, any>>;
@@ -1,8 +1,24 @@
1
- import { useActiveConversation as e } from "./use-active-conversation.js";
2
- import { useSkills as t } from "./use-skills.js";
1
+ import { useOptionalConversationId as e } from "../use-conversation-id.js";
2
+ import { useQuery as t } from "../../node_modules/@tanstack/react-query/build/modern/useQuery.js";
3
+ import { useActiveBackend as n } from "../../contexts/active-backend-context.js";
4
+ import { useActiveConversation as r } from "./use-active-conversation.js";
5
+ import i from "../../api/skills-service.js";
3
6
  //#region src/hooks/query/use-conversation-skills.ts
4
- var n = () => t(e().data?.selected_workspace ?? void 0);
7
+ var a = () => {
8
+ let a = n().backend.kind === "cloud", { conversationId: o } = e(), { data: s } = r(), c = s?.selected_workspace ?? void 0, l = a ? o : null;
9
+ return t({
10
+ queryKey: l ? [
11
+ "conversation",
12
+ l,
13
+ "skills"
14
+ ] : ["skills", c ?? null],
15
+ queryFn: () => l ? i.getConversationSkills(l) : i.getSkills(c),
16
+ enabled: !l || s?.sandbox_status === "RUNNING",
17
+ staleTime: 1e3 * 60 * 10,
18
+ refetchOnWindowFocus: !1
19
+ });
20
+ };
5
21
  //#endregion
6
- export { n as useConversationSkills };
22
+ export { a as useConversationSkills };
7
23
 
8
24
  //# sourceMappingURL=use-conversation-skills.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-conversation-skills.js","names":[],"sources":["../../../src/hooks/query/use-conversation-skills.ts"],"sourcesContent":["import { useActiveConversation } from \"./use-active-conversation\";\nimport { useSkills } from \"./use-skills\";\n\n/**\n * Skills catalog scoped to the active conversation's attached workspace, so\n * the slash-command menu and skills modal list the same project skills that\n * were loaded into the conversation. Falls back to the global workspace dir\n * for \"No workspace\" conversations (``selected_workspace`` is null).\n */\nexport const useConversationSkills = () => {\n const conversation = useActiveConversation();\n return useSkills(conversation.data?.selected_workspace ?? undefined);\n};\n"],"mappings":";;;AASA,IAAa,UAEJ,EADc,EACJ,EAAa,MAAM,sBAAsB,KAAA,CAAS"}
1
+ {"version":3,"file":"use-conversation-skills.js","names":[],"sources":["../../../src/hooks/query/use-conversation-skills.ts"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport SkillsService from \"#/api/skills-service\";\nimport { useActiveBackend } from \"#/contexts/active-backend-context\";\nimport { useOptionalConversationId } from \"#/hooks/use-conversation-id\";\nimport { SkillInfo } from \"#/types/settings\";\nimport { useActiveConversation } from \"./use-active-conversation\";\n\n/**\n * Skills catalog scoped to the active conversation, so the slash-command menu\n * and skills modal list the same skills that were loaded into it.\n *\n * Cloud: the per-conversation route reports what the conversation's\n * agent-server actually loaded (public catalog, user/org repos, project\n * skills, auto-loaded marketplace plugins); the global `/api/v1/skills/search`\n * catalog only scans the API host's built-in skills directory. The route needs\n * a running sandbox, which `useActiveConversation` polls for.\n *\n * Local (and cloud with no conversation route, e.g. the home page): the\n * workspace-scoped catalog, falling back to the global workspace dir for\n * \"No workspace\" conversations (`selected_workspace` is null).\n */\nexport const useConversationSkills = () => {\n const isCloud = useActiveBackend().backend.kind === \"cloud\";\n const { conversationId } = useOptionalConversationId();\n const { data: conversation } = useActiveConversation();\n const projectDir = conversation?.selected_workspace ?? undefined;\n // Keyed on the route id so a still-loading cloud conversation does not fall\n // back to the global catalog; only a missing route does.\n const cloudConversationId = isCloud ? conversationId : null;\n\n return useQuery<SkillInfo[]>({\n queryKey: cloudConversationId\n ? [\"conversation\", cloudConversationId, \"skills\"]\n : [\"skills\", projectDir ?? null],\n queryFn: () =>\n cloudConversationId\n ? SkillsService.getConversationSkills(cloudConversationId)\n : SkillsService.getSkills(projectDir),\n // The cloud route 404s until the sandbox runs.\n enabled: !cloudConversationId || conversation?.sandbox_status === \"RUNNING\",\n staleTime: 1000 * 60 * 10, // 10 minutes – skill list rarely changes\n refetchOnWindowFocus: false,\n });\n};\n"],"mappings":";;;;;;AAqBA,IAAa,UAA8B;CACzC,IAAM,IAAU,EAAiB,EAAE,QAAQ,SAAS,SAC9C,EAAE,sBAAmB,EAA0B,GAC/C,EAAE,MAAM,MAAiB,EAAsB,GAC/C,IAAa,GAAc,sBAAsB,KAAA,GAGjD,IAAsB,IAAU,IAAiB;CAEvD,OAAO,EAAsB;EAC3B,UAAU,IACN;GAAC;GAAgB;GAAqB;EAAQ,IAC9C,CAAC,UAAU,KAAc,IAAI;EACjC,eACE,IACI,EAAc,sBAAsB,CAAmB,IACvD,EAAc,UAAU,CAAU;EAExC,SAAS,CAAC,KAAuB,GAAc,mBAAmB;EAClE,WAAW,MAAO,KAAK;EACvB,sBAAsB;CACxB,CAAC;AACH"}
@@ -1,2 +1,2 @@
1
- require("../../_virtual/_rolldown/runtime.cjs");const e=require("./query-keys.cjs"),t=require("../../node_modules/@tanstack/react-query/build/modern/useQuery.cjs"),n=require("../../contexts/active-backend-context.cjs"),r=require("../../api/provider-connections-service/provider-connections-service.api.cjs");function i(){let{backend:i}=n.useActiveBackend(),a=i.kind===`local`;return t.useQuery({queryKey:[...e.PROVIDER_CONNECTIONS_QUERY_KEYS.all,i.id],queryFn:r.default.list,...e.CONFIG_CACHE_OPTIONS,enabled:a,meta:{disableToast:!0}})}exports.useProviderConnections=i;
1
+ require("../../_virtual/_rolldown/runtime.cjs");const e=require("./query-keys.cjs"),t=require("../../node_modules/@tanstack/react-query/build/modern/useQuery.cjs"),n=require("../../contexts/active-backend-context.cjs"),r=require("../../api/provider-connections-service/provider-connections-service.api.cjs");function i(){let{backend:i,orgId:a}=n.useActiveBackend(),o=i.kind===`local`,s=i.kind===`cloud`&&!!a,c=o||s;return t.useQuery({queryKey:[...e.PROVIDER_CONNECTIONS_QUERY_KEYS.all,i.id,a],queryFn:r.default.list,...e.CONFIG_CACHE_OPTIONS,enabled:c,meta:{disableToast:!0}})}exports.useProviderConnections=i;
2
2
  //# sourceMappingURL=use-provider-connections.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-provider-connections.cjs","names":[],"sources":["../../../src/hooks/query/use-provider-connections.ts"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport ProviderConnectionsService from \"#/api/provider-connections-service/provider-connections-service.api\";\nimport { useActiveBackend } from \"#/contexts/active-backend-context\";\nimport {\n CONFIG_CACHE_OPTIONS,\n PROVIDER_CONNECTIONS_QUERY_KEYS,\n} from \"./query-keys\";\n\nexport { PROVIDER_CONNECTIONS_QUERY_KEYS };\n\n/**\n * Provider connections live only on the local agent-server. On cloud backends\n * the query stays disabled and returns no data, so the connections UI hides\n * itself rather than firing a request that would 404.\n */\nexport function useProviderConnections() {\n const { backend } = useActiveBackend();\n const isLocal = backend.kind === \"local\";\n\n return useQuery({\n queryKey: [...PROVIDER_CONNECTIONS_QUERY_KEYS.all, backend.id],\n queryFn: ProviderConnectionsService.list,\n ...CONFIG_CACHE_OPTIONS,\n enabled: isLocal,\n meta: { disableToast: true },\n });\n}\n"],"mappings":"oTAeA,SAAgB,GAAyB,CACvC,GAAM,CAAE,WAAY,EAAA,iBAAiB,EAC/B,EAAU,EAAQ,OAAS,QAEjC,OAAO,EAAA,SAAS,CACd,SAAU,CAAC,GAAG,EAAA,gCAAgC,IAAK,EAAQ,EAAE,EAC7D,QAAS,EAAA,QAA2B,KACpC,GAAG,EAAA,qBACH,QAAS,EACT,KAAM,CAAE,aAAc,EAAK,CAC7B,CAAC,CACH"}
1
+ {"version":3,"file":"use-provider-connections.cjs","names":[],"sources":["../../../src/hooks/query/use-provider-connections.ts"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport ProviderConnectionsService from \"#/api/provider-connections-service/provider-connections-service.api\";\nimport { useActiveBackend } from \"#/contexts/active-backend-context\";\nimport {\n CONFIG_CACHE_OPTIONS,\n PROVIDER_CONNECTIONS_QUERY_KEYS,\n} from \"./query-keys\";\n\nexport { PROVIDER_CONNECTIONS_QUERY_KEYS };\n\n/**\n * Provider connections are available on the local agent-server\n * (`/api/llm/provider-connections`) and on cloud when an org is bound\n * (`/api/organizations/{orgId}/provider-connections`). The query is disabled\n * only for a cloud backend without an org (legacy API keys), where the\n * org-scoped route cannot be addressed — there it returns no data so the\n * connections UI hides itself rather than firing an unaddressable request.\n */\nexport function useProviderConnections() {\n const { backend, orgId } = useActiveBackend();\n const isLocal = backend.kind === \"local\";\n const isCloudWithOrg = backend.kind === \"cloud\" && !!orgId;\n const enabled = isLocal || isCloudWithOrg;\n\n return useQuery({\n queryKey: [...PROVIDER_CONNECTIONS_QUERY_KEYS.all, backend.id, orgId],\n queryFn: ProviderConnectionsService.list,\n ...CONFIG_CACHE_OPTIONS,\n enabled,\n meta: { disableToast: true },\n });\n}\n"],"mappings":"oTAkBA,SAAgB,GAAyB,CACvC,GAAM,CAAE,UAAS,SAAU,EAAA,iBAAiB,EACtC,EAAU,EAAQ,OAAS,QAC3B,EAAiB,EAAQ,OAAS,SAAW,CAAC,CAAC,EAC/C,EAAU,GAAW,EAE3B,OAAO,EAAA,SAAS,CACd,SAAU,CAAC,GAAG,EAAA,gCAAgC,IAAK,EAAQ,GAAI,CAAK,EACpE,QAAS,EAAA,QAA2B,KACpC,GAAG,EAAA,qBACH,UACA,KAAM,CAAE,aAAc,EAAK,CAC7B,CAAC,CACH"}
@@ -1,8 +1,11 @@
1
1
  import { PROVIDER_CONNECTIONS_QUERY_KEYS } from "./query-keys";
2
2
  export { PROVIDER_CONNECTIONS_QUERY_KEYS };
3
3
  /**
4
- * Provider connections live only on the local agent-server. On cloud backends
5
- * the query stays disabled and returns no data, so the connections UI hides
6
- * itself rather than firing a request that would 404.
4
+ * Provider connections are available on the local agent-server
5
+ * (`/api/llm/provider-connections`) and on cloud when an org is bound
6
+ * (`/api/organizations/{orgId}/provider-connections`). The query is disabled
7
+ * only for a cloud backend without an org (legacy API keys), where the
8
+ * org-scoped route cannot be addressed — there it returns no data so the
9
+ * connections UI hides itself rather than firing an unaddressable request.
7
10
  */
8
11
  export declare function useProviderConnections(): import("@tanstack/react-query").UseQueryResult<NoInfer<import("#/api/provider-connections-service/provider-connections-service.api").ProviderConnection[]>, import("axios").AxiosError<unknown, any>>;
@@ -4,12 +4,16 @@ import { useActiveBackend as r } from "../../contexts/active-backend-context.js"
4
4
  import i from "../../api/provider-connections-service/provider-connections-service.api.js";
5
5
  //#region src/hooks/query/use-provider-connections.ts
6
6
  function a() {
7
- let { backend: a } = r(), o = a.kind === "local";
7
+ let { backend: a, orgId: o } = r(), s = a.kind === "local", c = a.kind === "cloud" && !!o, l = s || c;
8
8
  return n({
9
- queryKey: [...t.all, a.id],
9
+ queryKey: [
10
+ ...t.all,
11
+ a.id,
12
+ o
13
+ ],
10
14
  queryFn: i.list,
11
15
  ...e,
12
- enabled: o,
16
+ enabled: l,
13
17
  meta: { disableToast: !0 }
14
18
  });
15
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-provider-connections.js","names":[],"sources":["../../../src/hooks/query/use-provider-connections.ts"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport ProviderConnectionsService from \"#/api/provider-connections-service/provider-connections-service.api\";\nimport { useActiveBackend } from \"#/contexts/active-backend-context\";\nimport {\n CONFIG_CACHE_OPTIONS,\n PROVIDER_CONNECTIONS_QUERY_KEYS,\n} from \"./query-keys\";\n\nexport { PROVIDER_CONNECTIONS_QUERY_KEYS };\n\n/**\n * Provider connections live only on the local agent-server. On cloud backends\n * the query stays disabled and returns no data, so the connections UI hides\n * itself rather than firing a request that would 404.\n */\nexport function useProviderConnections() {\n const { backend } = useActiveBackend();\n const isLocal = backend.kind === \"local\";\n\n return useQuery({\n queryKey: [...PROVIDER_CONNECTIONS_QUERY_KEYS.all, backend.id],\n queryFn: ProviderConnectionsService.list,\n ...CONFIG_CACHE_OPTIONS,\n enabled: isLocal,\n meta: { disableToast: true },\n });\n}\n"],"mappings":";;;;;AAeA,SAAgB,IAAyB;CACvC,IAAM,EAAE,eAAY,EAAiB,GAC/B,IAAU,EAAQ,SAAS;CAEjC,OAAO,EAAS;EACd,UAAU,CAAC,GAAG,EAAgC,KAAK,EAAQ,EAAE;EAC7D,SAAS,EAA2B;EACpC,GAAG;EACH,SAAS;EACT,MAAM,EAAE,cAAc,GAAK;CAC7B,CAAC;AACH"}
1
+ {"version":3,"file":"use-provider-connections.js","names":[],"sources":["../../../src/hooks/query/use-provider-connections.ts"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport ProviderConnectionsService from \"#/api/provider-connections-service/provider-connections-service.api\";\nimport { useActiveBackend } from \"#/contexts/active-backend-context\";\nimport {\n CONFIG_CACHE_OPTIONS,\n PROVIDER_CONNECTIONS_QUERY_KEYS,\n} from \"./query-keys\";\n\nexport { PROVIDER_CONNECTIONS_QUERY_KEYS };\n\n/**\n * Provider connections are available on the local agent-server\n * (`/api/llm/provider-connections`) and on cloud when an org is bound\n * (`/api/organizations/{orgId}/provider-connections`). The query is disabled\n * only for a cloud backend without an org (legacy API keys), where the\n * org-scoped route cannot be addressed — there it returns no data so the\n * connections UI hides itself rather than firing an unaddressable request.\n */\nexport function useProviderConnections() {\n const { backend, orgId } = useActiveBackend();\n const isLocal = backend.kind === \"local\";\n const isCloudWithOrg = backend.kind === \"cloud\" && !!orgId;\n const enabled = isLocal || isCloudWithOrg;\n\n return useQuery({\n queryKey: [...PROVIDER_CONNECTIONS_QUERY_KEYS.all, backend.id, orgId],\n queryFn: ProviderConnectionsService.list,\n ...CONFIG_CACHE_OPTIONS,\n enabled,\n meta: { disableToast: true },\n });\n}\n"],"mappings":";;;;;AAkBA,SAAgB,IAAyB;CACvC,IAAM,EAAE,YAAS,aAAU,EAAiB,GACtC,IAAU,EAAQ,SAAS,SAC3B,IAAiB,EAAQ,SAAS,WAAW,CAAC,CAAC,GAC/C,IAAU,KAAW;CAE3B,OAAO,EAAS;EACd,UAAU;GAAC,GAAG,EAAgC;GAAK,EAAQ;GAAI;EAAK;EACpE,SAAS,EAA2B;EACpC,GAAG;EACH;EACA,MAAM,EAAE,cAAc,GAAK;CAC7B,CAAC;AACH"}
@@ -1,2 +1,2 @@
1
- require("../../_virtual/_rolldown/runtime.cjs");const e=require("../../node_modules/@tanstack/react-query/build/modern/useQuery.cjs"),t=require("../../contexts/active-backend-context.cjs"),n=require("../../api/conversation-service/agent-server-conversation-service.api.cjs");var r=1e3*60*5,i=1e3*60*15,a=a=>{let o=a||[],s=t.useActiveBackend();return e.useQuery({queryKey:[`v1`,`sub-conversations`,o,s.backend.id,s.orgId],queryFn:async()=>o.length===0?[]:n.default.batchGetAppConversations(o),enabled:o.length>0,staleTime:r,gcTime:i,retry:!1})};exports.useSubConversations=a;
1
+ require("../../_virtual/_rolldown/runtime.cjs");const e=require("./query-keys.cjs"),t=require("../../node_modules/@tanstack/react-query/build/modern/useQuery.cjs"),n=require("../../contexts/active-backend-context.cjs"),r=require("../../api/conversation-service/agent-server-conversation-service.api.cjs");var i=1e3*60*5,a=1e3*60*15,o=o=>{let s=o||[],c=n.useActiveBackend();return t.useQuery({queryKey:[...e.CONVERSATION_QUERY_KEYS.subConversations,s,c.backend.id,c.orgId],queryFn:async()=>s.length===0?[]:r.default.batchGetAppConversations(s),enabled:s.length>0,staleTime:i,gcTime:a,retry:!1})};exports.useSubConversations=o;
2
2
  //# sourceMappingURL=use-sub-conversations.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-sub-conversations.cjs","names":[],"sources":["../../../src/hooks/query/use-sub-conversations.ts"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport AgentServerConversationService from \"#/api/conversation-service/agent-server-conversation-service.api\";\nimport { AppConversation } from \"#/api/conversation-service/agent-server-conversation-service.types\";\nimport { useActiveBackend } from \"#/contexts/active-backend-context\";\n\nconst FIVE_MINUTES = 1000 * 60 * 5;\nconst FIFTEEN_MINUTES = 1000 * 60 * 15;\n\n/**\n * React hook to fetch sub-conversations by their IDs\n *\n * @param subConversationIds Array of sub-conversation IDs to fetch\n * @returns React Query result with sub-conversation data, loading, and error states\n *\n * @example\n * ```tsx\n * const { data: subConversations, isLoading, isError } = useSubConversations(\n * conversation.sub_conversation_ids || []\n * );\n * ```\n */\nexport const useSubConversations = (\n subConversationIds: string[] | null | undefined,\n) => {\n const ids = subConversationIds || [];\n const active = useActiveBackend();\n\n return useQuery<(AppConversation | null)[]>({\n // Backend-keyed: a local→cloud→local switch must produce a fresh\n // cache identity for these per-conversation fetches, otherwise a\n // `null` result captured while the cloud backend was active can\n // bleed through to the next local visit. Same invariant as\n // `useUserConversation` and `usePaginatedConversations`.\n queryKey: [\"v1\", \"sub-conversations\", ids, active.backend.id, active.orgId],\n queryFn: async () => {\n if (ids.length === 0) {\n return [];\n }\n return AgentServerConversationService.batchGetAppConversations(ids);\n },\n enabled: ids.length > 0,\n staleTime: FIVE_MINUTES,\n gcTime: FIFTEEN_MINUTES,\n retry: false,\n });\n};\n"],"mappings":"mRAKA,IAAM,EAAe,IAAO,GAAK,EAC3B,EAAkB,IAAO,GAAK,GAevB,EACX,GACG,CACH,IAAM,EAAM,GAAsB,CAAC,EAC7B,EAAS,EAAA,iBAAiB,EAEhC,OAAO,EAAA,SAAqC,CAM1C,SAAU,CAAC,KAAM,oBAAqB,EAAK,EAAO,QAAQ,GAAI,EAAO,KAAK,EAC1E,QAAS,SACH,EAAI,SAAW,EACV,CAAC,EAEH,EAAA,QAA+B,yBAAyB,CAAG,EAEpE,QAAS,EAAI,OAAS,EACtB,UAAW,EACX,OAAQ,EACR,MAAO,EACT,CAAC,CACH"}
1
+ {"version":3,"file":"use-sub-conversations.cjs","names":[],"sources":["../../../src/hooks/query/use-sub-conversations.ts"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport AgentServerConversationService from \"#/api/conversation-service/agent-server-conversation-service.api\";\nimport { AppConversation } from \"#/api/conversation-service/agent-server-conversation-service.types\";\nimport { useActiveBackend } from \"#/contexts/active-backend-context\";\nimport { CONVERSATION_QUERY_KEYS } from \"./query-keys\";\n\nconst FIVE_MINUTES = 1000 * 60 * 5;\nconst FIFTEEN_MINUTES = 1000 * 60 * 15;\n\n/**\n * React hook to fetch sub-conversations by their IDs\n *\n * @param subConversationIds Array of sub-conversation IDs to fetch\n * @returns React Query result with sub-conversation data, loading, and error states\n *\n * @example\n * ```tsx\n * const { data: subConversations, isLoading, isError } = useSubConversations(\n * conversation.sub_conversation_ids || []\n * );\n * ```\n */\nexport const useSubConversations = (\n subConversationIds: string[] | null | undefined,\n) => {\n const ids = subConversationIds || [];\n const active = useActiveBackend();\n\n return useQuery<(AppConversation | null)[]>({\n // Backend-keyed: a local→cloud→local switch must produce a fresh\n // cache identity for these per-conversation fetches, otherwise a\n // `null` result captured while the cloud backend was active can\n // bleed through to the next local visit. Same invariant as\n // `useUserConversation` and `usePaginatedConversations`.\n queryKey: [\n ...CONVERSATION_QUERY_KEYS.subConversations,\n ids,\n active.backend.id,\n active.orgId,\n ],\n queryFn: async () => {\n if (ids.length === 0) {\n return [];\n }\n return AgentServerConversationService.batchGetAppConversations(ids);\n },\n enabled: ids.length > 0,\n staleTime: FIVE_MINUTES,\n gcTime: FIFTEEN_MINUTES,\n retry: false,\n });\n};\n"],"mappings":"iTAMA,IAAM,EAAe,IAAO,GAAK,EAC3B,EAAkB,IAAO,GAAK,GAevB,EACX,GACG,CACH,IAAM,EAAM,GAAsB,CAAC,EAC7B,EAAS,EAAA,iBAAiB,EAEhC,OAAO,EAAA,SAAqC,CAM1C,SAAU,CACR,GAAG,EAAA,wBAAwB,iBAC3B,EACA,EAAO,QAAQ,GACf,EAAO,KACT,EACA,QAAS,SACH,EAAI,SAAW,EACV,CAAC,EAEH,EAAA,QAA+B,yBAAyB,CAAG,EAEpE,QAAS,EAAI,OAAS,EACtB,UAAW,EACX,OAAQ,EACR,MAAO,EACT,CAAC,CACH"}
@@ -1,25 +1,25 @@
1
- import { useQuery as e } from "../../node_modules/@tanstack/react-query/build/modern/useQuery.js";
2
- import { useActiveBackend as t } from "../../contexts/active-backend-context.js";
3
- import n from "../../api/conversation-service/agent-server-conversation-service.api.js";
1
+ import { CONVERSATION_QUERY_KEYS as e } from "./query-keys.js";
2
+ import { useQuery as t } from "../../node_modules/@tanstack/react-query/build/modern/useQuery.js";
3
+ import { useActiveBackend as n } from "../../contexts/active-backend-context.js";
4
+ import r from "../../api/conversation-service/agent-server-conversation-service.api.js";
4
5
  //#region src/hooks/query/use-sub-conversations.ts
5
- var r = 1e3 * 60 * 5, i = 1e3 * 60 * 15, a = (a) => {
6
- let o = a || [], s = t();
7
- return e({
6
+ var i = 1e3 * 60 * 5, a = 1e3 * 60 * 15, o = (o) => {
7
+ let s = o || [], c = n();
8
+ return t({
8
9
  queryKey: [
9
- "v1",
10
- "sub-conversations",
11
- o,
12
- s.backend.id,
13
- s.orgId
10
+ ...e.subConversations,
11
+ s,
12
+ c.backend.id,
13
+ c.orgId
14
14
  ],
15
- queryFn: async () => o.length === 0 ? [] : n.batchGetAppConversations(o),
16
- enabled: o.length > 0,
17
- staleTime: r,
18
- gcTime: i,
15
+ queryFn: async () => s.length === 0 ? [] : r.batchGetAppConversations(s),
16
+ enabled: s.length > 0,
17
+ staleTime: i,
18
+ gcTime: a,
19
19
  retry: !1
20
20
  });
21
21
  };
22
22
  //#endregion
23
- export { a as useSubConversations };
23
+ export { o as useSubConversations };
24
24
 
25
25
  //# sourceMappingURL=use-sub-conversations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-sub-conversations.js","names":[],"sources":["../../../src/hooks/query/use-sub-conversations.ts"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport AgentServerConversationService from \"#/api/conversation-service/agent-server-conversation-service.api\";\nimport { AppConversation } from \"#/api/conversation-service/agent-server-conversation-service.types\";\nimport { useActiveBackend } from \"#/contexts/active-backend-context\";\n\nconst FIVE_MINUTES = 1000 * 60 * 5;\nconst FIFTEEN_MINUTES = 1000 * 60 * 15;\n\n/**\n * React hook to fetch sub-conversations by their IDs\n *\n * @param subConversationIds Array of sub-conversation IDs to fetch\n * @returns React Query result with sub-conversation data, loading, and error states\n *\n * @example\n * ```tsx\n * const { data: subConversations, isLoading, isError } = useSubConversations(\n * conversation.sub_conversation_ids || []\n * );\n * ```\n */\nexport const useSubConversations = (\n subConversationIds: string[] | null | undefined,\n) => {\n const ids = subConversationIds || [];\n const active = useActiveBackend();\n\n return useQuery<(AppConversation | null)[]>({\n // Backend-keyed: a local→cloud→local switch must produce a fresh\n // cache identity for these per-conversation fetches, otherwise a\n // `null` result captured while the cloud backend was active can\n // bleed through to the next local visit. Same invariant as\n // `useUserConversation` and `usePaginatedConversations`.\n queryKey: [\"v1\", \"sub-conversations\", ids, active.backend.id, active.orgId],\n queryFn: async () => {\n if (ids.length === 0) {\n return [];\n }\n return AgentServerConversationService.batchGetAppConversations(ids);\n },\n enabled: ids.length > 0,\n staleTime: FIVE_MINUTES,\n gcTime: FIFTEEN_MINUTES,\n retry: false,\n });\n};\n"],"mappings":";;;;AAKA,IAAM,IAAe,MAAO,KAAK,GAC3B,IAAkB,MAAO,KAAK,IAevB,KACX,MACG;CACH,IAAM,IAAM,KAAsB,CAAC,GAC7B,IAAS,EAAiB;CAEhC,OAAO,EAAqC;EAM1C,UAAU;GAAC;GAAM;GAAqB;GAAK,EAAO,QAAQ;GAAI,EAAO;EAAK;EAC1E,SAAS,YACH,EAAI,WAAW,IACV,CAAC,IAEH,EAA+B,yBAAyB,CAAG;EAEpE,SAAS,EAAI,SAAS;EACtB,WAAW;EACX,QAAQ;EACR,OAAO;CACT,CAAC;AACH"}
1
+ {"version":3,"file":"use-sub-conversations.js","names":[],"sources":["../../../src/hooks/query/use-sub-conversations.ts"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport AgentServerConversationService from \"#/api/conversation-service/agent-server-conversation-service.api\";\nimport { AppConversation } from \"#/api/conversation-service/agent-server-conversation-service.types\";\nimport { useActiveBackend } from \"#/contexts/active-backend-context\";\nimport { CONVERSATION_QUERY_KEYS } from \"./query-keys\";\n\nconst FIVE_MINUTES = 1000 * 60 * 5;\nconst FIFTEEN_MINUTES = 1000 * 60 * 15;\n\n/**\n * React hook to fetch sub-conversations by their IDs\n *\n * @param subConversationIds Array of sub-conversation IDs to fetch\n * @returns React Query result with sub-conversation data, loading, and error states\n *\n * @example\n * ```tsx\n * const { data: subConversations, isLoading, isError } = useSubConversations(\n * conversation.sub_conversation_ids || []\n * );\n * ```\n */\nexport const useSubConversations = (\n subConversationIds: string[] | null | undefined,\n) => {\n const ids = subConversationIds || [];\n const active = useActiveBackend();\n\n return useQuery<(AppConversation | null)[]>({\n // Backend-keyed: a local→cloud→local switch must produce a fresh\n // cache identity for these per-conversation fetches, otherwise a\n // `null` result captured while the cloud backend was active can\n // bleed through to the next local visit. Same invariant as\n // `useUserConversation` and `usePaginatedConversations`.\n queryKey: [\n ...CONVERSATION_QUERY_KEYS.subConversations,\n ids,\n active.backend.id,\n active.orgId,\n ],\n queryFn: async () => {\n if (ids.length === 0) {\n return [];\n }\n return AgentServerConversationService.batchGetAppConversations(ids);\n },\n enabled: ids.length > 0,\n staleTime: FIVE_MINUTES,\n gcTime: FIFTEEN_MINUTES,\n retry: false,\n });\n};\n"],"mappings":";;;;;AAMA,IAAM,IAAe,MAAO,KAAK,GAC3B,IAAkB,MAAO,KAAK,IAevB,KACX,MACG;CACH,IAAM,IAAM,KAAsB,CAAC,GAC7B,IAAS,EAAiB;CAEhC,OAAO,EAAqC;EAM1C,UAAU;GACR,GAAG,EAAwB;GAC3B;GACA,EAAO,QAAQ;GACf,EAAO;EACT;EACA,SAAS,YACH,EAAI,WAAW,IACV,CAAC,IAEH,EAA+B,yBAAyB,CAAG;EAEpE,SAAS,EAAI,SAAS;EACtB,WAAW;EACX,QAAQ;EACR,OAAO;CACT,CAAC;AACH"}
@@ -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("../contexts/active-backend-context.cjs"),r=require("./query/use-active-conversation.cjs"),i=require("./query/use-settings.cjs"),a=require("./use-active-agent-profile.cjs");var o=`/settings/agents`,s=`/settings/llm`;function c(){let{t:c}=e.useTranslation(`openhands`),{backend:l}=n.useActiveBackend(),{data:u}=r.useActiveConversation(),{data:d}=i.useSettings(),f=a.useActiveAgentKind(),p=u?.agent_kind===`acp`,m=!u&&(f??d?.agent_settings?.agent_kind)===`acp`,h=p||m;return{isActiveAcpConversation:p,isHomeAcp:m,isAcpContext:h,destinationPath:h?o:s,destinationLabel:c(h?t.I18nKey.SETTINGS$NAV_AGENT:l.kind===`cloud`?t.I18nKey.SETTINGS$LLM_SETTINGS:t.I18nKey.SETTINGS$LLM_PROFILES)}}exports.useAcpModelContext=c;
1
+ require("../_virtual/_rolldown/runtime.cjs");const e=require("../node_modules/react-i18next/dist/es/useTranslation.cjs"),t=require("../i18n/declaration.cjs"),n=require("../contexts/active-backend-context.cjs"),r=require("./query/use-settings.cjs"),i=require("./query/use-active-conversation.cjs"),a=require("./use-active-agent-profile.cjs");var o=`/settings/agents`,s=`/settings/llm`;function c(){let{t:c}=e.useTranslation(`openhands`),{backend:l}=n.useActiveBackend(),{data:u}=i.useActiveConversation(),{data:d}=r.useSettings(),f=a.useActiveAgentKind(),p=u?.agent_kind===`acp`,m=!u&&(f??d?.agent_settings?.agent_kind)===`acp`,h=p||m;return{isActiveAcpConversation:p,isHomeAcp:m,isAcpContext:h,destinationPath:h?o:s,destinationLabel:c(h?t.I18nKey.SETTINGS$NAV_AGENT:l.kind===`cloud`?t.I18nKey.SETTINGS$LLM_SETTINGS:t.I18nKey.SETTINGS$LLM_PROFILES)}}exports.useAcpModelContext=c;
2
2
  //# sourceMappingURL=use-acp-model-context.cjs.map
@@ -1,13 +1,13 @@
1
1
  import { useTranslation as e } from "../node_modules/react-i18next/dist/es/useTranslation.js";
2
2
  import { I18nKey as t } from "../i18n/declaration.js";
3
3
  import { useActiveBackend as n } from "../contexts/active-backend-context.js";
4
- import { useActiveConversation as r } from "./query/use-active-conversation.js";
5
- import { useSettings as i } from "./query/use-settings.js";
4
+ import { useSettings as r } from "./query/use-settings.js";
5
+ import { useActiveConversation as i } from "./query/use-active-conversation.js";
6
6
  import { useActiveAgentKind as a } from "./use-active-agent-profile.js";
7
7
  //#region src/hooks/use-acp-model-context.ts
8
8
  var o = "/settings/agents", s = "/settings/llm";
9
9
  function c() {
10
- let { t: c } = e("openhands"), { backend: l } = n(), { data: u } = r(), { data: d } = i(), f = a(), p = u?.agent_kind === "acp", m = !u && (f ?? d?.agent_settings?.agent_kind) === "acp", h = p || m;
10
+ let { t: c } = e("openhands"), { backend: l } = n(), { data: u } = i(), { data: d } = r(), f = a(), p = u?.agent_kind === "acp", m = !u && (f ?? d?.agent_settings?.agent_kind) === "acp", h = p || m;
11
11
  return {
12
12
  isActiveAcpConversation: p,
13
13
  isHomeAcp: m,