@openhands/agent-canvas 1.15.0 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1277) hide show
  1. package/README.md +15 -1
  2. package/README.windows.md +2 -2
  3. package/build/assets/{acp-providers-BKvmTf82.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-D3PjSTU1.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-vARz1idS.js +1 -0
  13. package/build/assets/{api-error-message-BJyfWp6p.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-CbHqzQus.js → app-settings-BaJ7nfHt.js} +1 -1
  16. package/build/assets/automation-detail-CVoGDrKq.js +3 -0
  17. package/build/assets/{automation-export-BRopEHMu.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-C_0FZgLG.js → automation-templates-4C4PM8K7.js} +1 -1
  21. package/build/assets/automations-list-xuqTSQL4.js +1 -0
  22. package/build/assets/{back-nav-button-Dm9tIjVf.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-3fOwg6Bd.js → backend-synced-settings-badge-B7rKWBir.js} +1 -1
  25. package/build/assets/{badge-D4SqUCsR.js → badge-CcGx2TaV.js} +1 -1
  26. package/build/assets/{base-modal-C7_BDl_U.js → base-modal-DTULovNc.js} +1 -1
  27. package/build/assets/bot-CLMxGFaq.js +1 -0
  28. package/build/assets/{brand-button-Dxv6PDeN.js → brand-button-DxPO4Lf8.js} +1 -1
  29. package/build/assets/browser-C-_qBasq.js +46 -0
  30. package/build/assets/{browser-tab-BAl4ckJE.js → browser-tab-DZanIw5m.js} +1 -1
  31. package/build/assets/canvas-extension-page-o_cWgE9B.js +1 -0
  32. package/build/assets/canvas-extensions-DSgNlCha.js +1 -0
  33. package/build/assets/canvas-extensions-runtime-DdnkgJXV.js +1 -0
  34. package/build/assets/{chat-send-button-DWwR2cgI.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-CBh_qomE.js → circle-plus-check-toggle-Fr-h-mbL.js} +1 -1
  40. package/build/assets/{cloud-funnel-analytics-287iIERo.js → cloud-funnel-analytics-BQanUEEC.js} +1 -1
  41. package/build/assets/{cog-C4rrw-ZK.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-BcNmYR4s.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-lVYETtY5.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-D1_G_9I-.js +1 -0
  51. package/build/assets/{conversation-store-Ca3ghXap.js → conversation-store-DVVfkCsk.js} +1 -1
  52. package/build/assets/{conversation-tab-empty-state-HJtkmHZj.js → conversation-tab-empty-state-DKlzAz5c.js} +1 -1
  53. package/build/assets/{copy-to-clipboard-button-Cjkswvnj.js → copy-to-clipboard-button-B3w0X7WH.js} +1 -1
  54. package/build/assets/{device-verify-EZhHhBT7.js → device-verify-BfkCzyFB.js} +1 -1
  55. package/build/assets/{dropdown-classes-DJe-E6MC.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-C7Bi2tkU.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-CEKrFiMw.js → environment-switch-overlay-P2ZAuzov.js} +1 -1
  61. package/build/assets/{error-state-BALXiBNy.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-CGw40z5h.js → form-control-classes-B-z85REi.js} +1 -1
  67. package/build/assets/format-model-name-CasAP3nd.js +1 -0
  68. package/build/assets/get-git-path-EHrSDxTM.js +1 -0
  69. package/build/assets/git-repo-dropdown-D2WEQ97X.js +1 -0
  70. package/build/assets/{git-repo-dropdown-ai8qaNkD.js → git-repo-dropdown-DVeCUUXG.js} +1 -1
  71. package/build/assets/{highlighted-source-view-C3sxykQi.js → highlighted-source-view-DjHO3SdW.js} +1 -1
  72. package/build/assets/home-BorS_vdS.js +1 -0
  73. package/build/assets/home-aIMbHw5M.js +1 -0
  74. package/build/assets/home-automation-run-tooltip-CpHNFiFl.js +1 -0
  75. package/build/assets/home-store-DyXz0w6d.js +1 -0
  76. package/build/assets/hooks-service-C6dpRtZM.js +1 -0
  77. package/build/assets/index-home-zKFuKK2B.js +1 -0
  78. package/build/assets/info-CTIdjttz.js +1 -0
  79. package/build/assets/install-server-modal-DUiZMc8u.js +1 -0
  80. package/build/assets/kebab-menu-item-content-mm04SBD3.js +1 -0
  81. package/build/assets/{key-Cn5za3rg.js → key-CfXbJa8w.js} +1 -1
  82. package/build/assets/{launch-C1ieiOGe.js → launch-BSIf9KEg.js} +1 -1
  83. package/build/assets/list-filter-CNpqTWVY.js +1 -0
  84. package/build/assets/{list-todo-Cuu-STFc.js → list-todo-ByXMdY4W.js} +1 -1
  85. package/build/assets/llm-not-configured-banner-z_QRSeV0.js +27 -0
  86. package/build/assets/llm-settings-B-5AHMiX.js +1 -0
  87. package/build/assets/llm-settings-B3SjHDmA.js +1 -0
  88. package/build/assets/llm-subscription-service-aDNBQ7Gq.js +1 -0
  89. package/build/assets/loader-circle-Dex47vVW.js +1 -0
  90. package/build/assets/{loading-spinner-0L3ZTToZ.js → loading-spinner-DfHI77BA.js} +1 -1
  91. package/build/assets/manage-backends-modal-q1NdFisr.js +1 -0
  92. package/build/assets/manifest-8920b615.js +1 -0
  93. package/build/assets/{manifest-subpage-layout-BGhiUQbA.js → manifest-subpage-layout-BQQy5ipR.js} +1 -1
  94. package/build/assets/{map-provider-B9LTm23I.js → map-provider-DXvssjw9.js} +1 -1
  95. package/build/assets/markdown-renderer-rivLvYh-.js +8 -0
  96. package/build/assets/{mcp-CKbR4Vft.js → mcp-CEXDhQWn.js} +1 -1
  97. package/build/assets/{mcp-marketplace-utils-C13fFccR.js → mcp-marketplace-utils-Cn_NIMWM.js} +1 -1
  98. package/build/assets/mcp-page-LGYIICMG.js +9 -0
  99. package/build/assets/messages-DUSeANAh.js +41 -0
  100. package/build/assets/{modal-body-CMOc2tLl.js → modal-body-DJw4xBki.js} +1 -1
  101. package/build/assets/{modal-classes-BAb4Y_BG.js → modal-classes-Dg0ngBPO.js} +1 -1
  102. package/build/assets/{modal-close-button-CkJ0Ktjj.js → modal-close-button-B9j4nasm.js} +1 -1
  103. package/build/assets/{mouse-pointer-click-CsgRs_-r.js → mouse-pointer-click-DEhsSUpu.js} +1 -1
  104. package/build/assets/onboarding-BjFebfs5.js +1 -0
  105. package/build/assets/onboarding-modal-DDTjOpyd.js +1 -0
  106. package/build/assets/organization-service.api-Cyg1Tn03.js +1 -0
  107. package/build/assets/pencil-D5c47kyN.js +1 -0
  108. package/build/assets/pin-C7vMagvf.js +1 -0
  109. package/build/assets/planner-tab-D8f2Y3rn.js +1 -0
  110. package/build/assets/plug-CeaqeF6u.js +1 -0
  111. package/build/assets/plugins-management-service-Bh_pBuf-.js +1 -0
  112. package/build/assets/plus-B3wvU06-.js +1 -0
  113. package/build/assets/profiles-service.api-BbOK0EkF.js +1 -0
  114. package/build/assets/providers-2gIIkz2N.js +1 -0
  115. package/build/assets/proxy-CBgMd2zf.js +1 -0
  116. package/build/assets/{puzzle-A9pGxxai.js → puzzle-DdAqbUrb.js} +1 -1
  117. package/build/assets/recommended-automations-launcher-YLAQTp4s.js +1 -0
  118. package/build/assets/refresh-cw-DEQdPCpH.js +1 -0
  119. package/build/assets/root-Bye_XmEL.js +2 -0
  120. package/build/assets/root-Cnwwzgo0.css +1 -0
  121. package/build/assets/root-layout-CSAwxBGM.js +2 -0
  122. package/build/assets/schema-field-CK0xYNbO.js +1 -0
  123. package/build/assets/scroll-fade-state-Dt_fx2kf.js +1 -0
  124. package/build/assets/sdk-section-page-Da73Rs_o.js +1 -0
  125. package/build/assets/secret-form-CB2VwYYg.js +1 -0
  126. package/build/assets/secrets-service-Cr8g8xuv.js +1 -0
  127. package/build/assets/{secrets-settings-BizaTEr1.js → secrets-settings-Bh0udeKv.js} +1 -1
  128. package/build/assets/settings-CKqk8ZnH.js +1 -0
  129. package/build/assets/settings-DmyIgRxO.js +1 -0
  130. package/build/assets/{settings-dropdown-input-tM0A0ipy.js → settings-dropdown-input-DVpyD87C.js} +1 -1
  131. package/build/assets/settings-index-BSJUFmjE.js +1 -0
  132. package/build/assets/{settings-input-C03KUoSC.js → settings-input-C0dd8Utu.js} +1 -1
  133. package/build/assets/{settings-list-classes-BJ0g8rWj.js → settings-list-classes-Ds4jPBHK.js} +1 -1
  134. package/build/assets/{settings-modal-AzEF1QPP.js → settings-modal-yStgEh2o.js} +1 -1
  135. package/build/assets/settings-service.api-9_xdv_mh.js +1 -0
  136. package/build/assets/{settings-switch-CQE0EGC-.js → settings-switch-B78Khmyz.js} +1 -1
  137. package/build/assets/{settings-utils-ClYOkbbI.js → settings-utils-8GIIgOQL.js} +1 -1
  138. package/build/assets/shared-conversation-DM96X4KV.js +1 -0
  139. package/build/assets/shield-check-DO7wa_eu.js +1 -0
  140. package/build/assets/{sidebar-layout-D3hE08wK.js → sidebar-layout-EPfWxk11.js} +1 -1
  141. package/build/assets/sidebar-mobile-menu-toggle-D5GR5xT9.js +1 -0
  142. package/build/assets/sidebar-nav-link-_t4_Ef-9.js +1 -0
  143. package/build/assets/{sidebar-onboarding-checklist-storage-3qYflszY.js → sidebar-onboarding-checklist-storage-DbDX-Wvj.js} +1 -1
  144. package/build/assets/sidebar-store-CSDFK0W5.js +1 -0
  145. package/build/assets/{skill-card-pill-row-CFxjoqxn.js → skill-card-pill-row-989y15jV.js} +1 -1
  146. package/build/assets/skill-enablement-DXeaImBz.js +1 -0
  147. package/build/assets/skill-filter-BBeZ4JEP.js +2 -0
  148. package/build/assets/{skill-icon-badge-CPQJ6A-I.js → skill-icon-badge-BDhQ-tQ0.js} +1 -1
  149. package/build/assets/skill-scope-Dz3kPH3P.js +1 -0
  150. package/build/assets/skills-plugins-e3CYGdUJ.js +1 -0
  151. package/build/assets/skills-settings-3e-FuHw_.js +1 -0
  152. package/build/assets/styled-tooltip-Pd22BIvr.js +1 -0
  153. package/build/assets/{task-list-tab-04GNQuii.js → task-list-tab-3Jg8ywch.js} +1 -1
  154. package/build/assets/{terminal-Cj0iHIW7.js → terminal-onXx0_Qz.js} +1 -1
  155. package/build/assets/toggle-switch-lwQtxDcm.js +1 -0
  156. package/build/assets/trash-2-ZhKuTLiz.js +1 -0
  157. package/build/assets/trash-B6OIe4yX.js +1 -0
  158. package/build/assets/triangle-alert-BajLPpQg.js +1 -0
  159. package/build/assets/{typography-SgFy466J.js → typography-HLLg_FAn.js} +1 -1
  160. package/build/assets/usage-tab-Cm-9j3UK.js +1 -0
  161. package/build/assets/use-acp-credential-form-BARcvjYE.js +1 -0
  162. package/build/assets/use-activate-agent-profile-BLKML6vQ.js +1 -0
  163. package/build/assets/use-agent-profiles-1P91KSXz.js +1 -0
  164. package/build/assets/{use-automation-health-BxXdzZMP.js → use-automation-health-BZkQNEA8.js} +1 -1
  165. package/build/assets/use-automation-permissions-B_RpvL-s.js +1 -0
  166. package/build/assets/{use-automations-zYb0dUny.js → use-automations-Cg0PDIZr.js} +1 -1
  167. package/build/assets/{use-can-manage-org-profiles-BWMahtUh.js → use-can-manage-org-profiles-BbN6KfDr.js} +1 -1
  168. package/build/assets/use-canvas-extensions-CFUpHat6.js +1 -0
  169. package/build/assets/{use-cloud-current-user-id-CPHMDG-C.js → use-cloud-current-user-id-Dk0rjr63.js} +1 -1
  170. package/build/assets/use-config-DpafU_QP.js +1 -0
  171. package/build/assets/use-create-conversation-1YgmAHt-.js +1 -0
  172. package/build/assets/use-create-secret-D8p9ybQj.js +1 -0
  173. package/build/assets/{use-get-secrets-BT4ihRwj.js → use-get-secrets-CQ4b0qK8.js} +1 -1
  174. package/build/assets/use-is-authed-BRPjCRKM.js +1 -0
  175. package/build/assets/{use-launch-skill-in-chat-BYjYihBP.js → use-launch-skill-in-chat-DeYa1tFM.js} +1 -1
  176. package/build/assets/use-llm-configured-DGm8FiRR.js +1 -0
  177. package/build/assets/use-llm-profiles-BTTtpW4z.js +1 -0
  178. package/build/assets/use-manifest-capabilities-AOWGcu0j.js +1 -0
  179. package/build/assets/use-onboarding-completion-CoINurkm.js +1 -0
  180. package/build/assets/use-pinned-home-route-D6krwXjy.js +1 -0
  181. package/build/assets/use-plugins-marketplace-mLsIDhBv.js +1 -0
  182. package/build/assets/use-save-agent-profile-CxyO9YG-.js +1 -0
  183. package/build/assets/{use-save-settings-CUZW6yXP.js → use-save-settings-3U5K9-8x.js} +1 -1
  184. package/build/assets/use-settings-Dn00UISA.js +1 -0
  185. package/build/assets/use-settings-nav-items-vrjxTqcu.js +16 -0
  186. package/build/assets/use-tracking-B9prBsrq.js +3 -0
  187. package/build/assets/{use-user-conversation-DT0_QCnL.js → use-user-conversation-ZWlXtbZb.js} +1 -1
  188. package/build/assets/{useInfiniteQuery-CgeUQPfs.js → useInfiniteQuery-BzrRqjLg.js} +1 -1
  189. package/build/assets/{useMutation-DFnzkf6f.js → useMutation-CJuK90oc.js} +1 -1
  190. package/build/assets/{useQueries-BhbrGEf1.js → useQueries-CykmpT-a.js} +1 -1
  191. package/build/assets/{useQuery-BXWbZBZl.js → useQuery-S6j94er1.js} +1 -1
  192. package/build/assets/utils-BOco8mxR.js +1 -0
  193. package/build/assets/{vendor~conversation-panel~conversation-CTvDDiXg.js → vendor~conversation-panel~conversation-4eJ0tml3.js} +1 -1
  194. package/build/assets/{vendor~entry.client-BFE7Llz9.js → vendor~entry.client-CoCfUXUF.js} +1 -1
  195. package/build/assets/{vendor~entry.client-BaKt_PIp.js → vendor~entry.client-DA2izTjq.js} +1 -1
  196. package/build/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~b0x1wrp2-Z0lly3FE.js +2 -0
  197. package/build/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~czjee3a3-BfkNGovw.js +185 -0
  198. package/build/assets/{vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~ew3u153i-rfV8mQ9m.js → vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~ew9ih1s8-DnDoaYNi.js} +1 -1
  199. package/build/assets/{vendor~index-home~home~conversation-panel~conversation-BTyukeM-.js → vendor~index-home~home~conversation-panel~conversation-CSFLzmTN.js} +1 -1
  200. package/build/assets/vendor~root-layout-n8XCEXG8.js +1 -0
  201. package/build/assets/{vendor~root-layout~conversation-panel~conversation-BYAWJwQX.js → vendor~root-layout~conversation-panel~conversation-3Idg1_U3.js} +1 -1
  202. package/build/assets/{vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-CHaLEBVR.js → vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-DkPlXWl9.js} +1 -1
  203. package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation-DgQ564nC.js +1 -0
  204. package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~mcp~automations-list~aut~ibfbmr9f-CxhwKuAd.js +1 -0
  205. package/build/assets/{vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-Dtu7BpYk.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~inibp4qe-CnsDDzeE.js} +2 -2
  206. package/build/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~iyia17eu-CV850oio.js +1 -0
  207. package/build/assets/{vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~eo2nf80n-DonTKfQD.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~eo2nf80n-BPjI-atc.js} +125 -15
  208. package/build/assets/{vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~jz4f6vo2-BgxDvUcf.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~jz4f6vo2-C7HiY4Ae.js} +42 -3
  209. package/build/assets/{verification-settings-Bj6bo097.js → verification-settings-u2POabjH.js} +1 -1
  210. package/build/assets/{wrench-hi7Q13dF.js → wrench-CkgI4rxA.js} +1 -1
  211. package/build/assets/x-By6qCmtY.js +1 -0
  212. package/build/index.html +4 -4
  213. package/build/locales/ar/openhands.json +94 -25
  214. package/build/locales/ca/openhands.json +94 -25
  215. package/build/locales/de/openhands.json +94 -25
  216. package/build/locales/en/openhands.json +94 -25
  217. package/build/locales/es/openhands.json +94 -25
  218. package/build/locales/fr/openhands.json +94 -25
  219. package/build/locales/it/openhands.json +94 -25
  220. package/build/locales/ja/openhands.json +94 -25
  221. package/build/locales/ko-KR/openhands.json +94 -25
  222. package/build/locales/no/openhands.json +94 -25
  223. package/build/locales/pt/openhands.json +94 -25
  224. package/build/locales/tr/openhands.json +94 -25
  225. package/build/locales/uk/openhands.json +94 -25
  226. package/build/locales/zh-CN/openhands.json +94 -25
  227. package/build/locales/zh-TW/openhands.json +94 -25
  228. package/config/defaults.json +9 -5
  229. package/dist/api/agent-profiles-service/profile-field-support.d.ts +26 -0
  230. package/dist/api/agent-server-adapter.cjs +3 -3
  231. package/dist/api/agent-server-adapter.cjs.map +1 -1
  232. package/dist/api/agent-server-adapter.d.ts +72 -12
  233. package/dist/api/agent-server-adapter.js +249 -145
  234. package/dist/api/agent-server-adapter.js.map +1 -1
  235. package/dist/api/agent-server-compatibility.cjs +1 -1
  236. package/dist/api/agent-server-compatibility.cjs.map +1 -1
  237. package/dist/api/agent-server-compatibility.d.ts +21 -0
  238. package/dist/api/agent-server-compatibility.js +52 -38
  239. package/dist/api/agent-server-compatibility.js.map +1 -1
  240. package/dist/api/agent-server-config.cjs +1 -1
  241. package/dist/api/agent-server-config.cjs.map +1 -1
  242. package/dist/api/agent-server-config.d.ts +32 -0
  243. package/dist/api/agent-server-config.js +21 -5
  244. package/dist/api/agent-server-config.js.map +1 -1
  245. package/dist/api/automation-service/automation-service.api.cjs +1 -1
  246. package/dist/api/automation-service/automation-service.api.cjs.map +1 -1
  247. package/dist/api/automation-service/automation-service.api.d.ts +2 -2
  248. package/dist/api/automation-service/automation-service.api.js +7 -7
  249. package/dist/api/automation-service/automation-service.api.js.map +1 -1
  250. package/dist/api/canvas-extensions-service.cjs +1 -0
  251. package/dist/api/canvas-extensions-service.d.ts +22 -0
  252. package/dist/api/canvas-extensions-service.js +4 -0
  253. package/dist/api/cloud/conversation-service.api.cjs +1 -1
  254. package/dist/api/cloud/conversation-service.api.cjs.map +1 -1
  255. package/dist/api/cloud/conversation-service.api.d.ts +6 -0
  256. package/dist/api/cloud/conversation-service.api.js +14 -6
  257. package/dist/api/cloud/conversation-service.api.js.map +1 -1
  258. package/dist/api/cloud/provider-connections-service.api.cjs +2 -0
  259. package/dist/api/cloud/provider-connections-service.api.cjs.map +1 -0
  260. package/dist/api/cloud/provider-connections-service.api.d.ts +5 -0
  261. package/dist/api/cloud/provider-connections-service.api.js +50 -0
  262. package/dist/api/cloud/provider-connections-service.api.js.map +1 -0
  263. package/dist/api/cloud/skills-service.api.cjs +1 -1
  264. package/dist/api/cloud/skills-service.api.cjs.map +1 -1
  265. package/dist/api/cloud/skills-service.api.d.ts +10 -0
  266. package/dist/api/cloud/skills-service.api.js +11 -1
  267. package/dist/api/cloud/skills-service.api.js.map +1 -1
  268. package/dist/api/conversation-file-upload.api.cjs +1 -1
  269. package/dist/api/conversation-file-upload.api.js +10 -10
  270. package/dist/api/conversation-metadata-store.cjs +1 -1
  271. package/dist/api/conversation-metadata-store.cjs.map +1 -1
  272. package/dist/api/conversation-metadata-store.d.ts +24 -0
  273. package/dist/api/conversation-metadata-store.js +10 -2
  274. package/dist/api/conversation-metadata-store.js.map +1 -1
  275. package/dist/api/conversation-service/agent-server-conversation-service.api.cjs +1 -1
  276. package/dist/api/conversation-service/agent-server-conversation-service.api.cjs.map +1 -1
  277. package/dist/api/conversation-service/agent-server-conversation-service.api.d.ts +31 -0
  278. package/dist/api/conversation-service/agent-server-conversation-service.api.js +188 -128
  279. package/dist/api/conversation-service/agent-server-conversation-service.api.js.map +1 -1
  280. package/dist/api/event-service/event-service.api.cjs +1 -1
  281. package/dist/api/event-service/event-service.api.js +12 -12
  282. package/dist/api/git-service/agent-server-git-service.api.cjs +1 -1
  283. package/dist/api/git-service/agent-server-git-service.api.js +8 -8
  284. package/dist/api/hooks-service.cjs +2 -0
  285. package/dist/api/hooks-service.cjs.map +1 -0
  286. package/dist/api/hooks-service.d.ts +13 -0
  287. package/dist/api/hooks-service.js +20 -0
  288. package/dist/api/hooks-service.js.map +1 -0
  289. package/dist/api/provider-connections-service/provider-connections-service.api.cjs +1 -1
  290. package/dist/api/provider-connections-service/provider-connections-service.api.cjs.map +1 -1
  291. package/dist/api/provider-connections-service/provider-connections-service.api.js +25 -16
  292. package/dist/api/provider-connections-service/provider-connections-service.api.js.map +1 -1
  293. package/dist/api/runtime-service/agent-server-runtime-service.cjs +1 -1
  294. package/dist/api/runtime-service/agent-server-runtime-service.js +8 -8
  295. package/dist/api/settings-service/settings-service.api.cjs +1 -1
  296. package/dist/api/settings-service/settings-service.api.cjs.map +1 -1
  297. package/dist/api/settings-service/settings-service.api.d.ts +5 -2
  298. package/dist/api/settings-service/settings-service.api.js +20 -11
  299. package/dist/api/settings-service/settings-service.api.js.map +1 -1
  300. package/dist/api/skills-service.cjs +1 -1
  301. package/dist/api/skills-service.cjs.map +1 -1
  302. package/dist/api/skills-service.d.ts +7 -0
  303. package/dist/api/skills-service.js +11 -8
  304. package/dist/api/skills-service.js.map +1 -1
  305. package/dist/components/conversation-events/chat/event-message-components/critic-result-display.cjs +1 -1
  306. package/dist/components/conversation-events/chat/event-message-components/critic-result-display.js +5 -5
  307. package/dist/components/conversation-events/chat/event-message-components/event-group.cjs +1 -1
  308. package/dist/components/conversation-events/chat/event-message-components/event-group.cjs.map +1 -1
  309. package/dist/components/conversation-events/chat/event-message-components/event-group.js +40 -36
  310. package/dist/components/conversation-events/chat/event-message-components/event-group.js.map +1 -1
  311. package/dist/components/conversation-events/chat/event-message-components/finish-event-message.cjs +1 -1
  312. package/dist/components/conversation-events/chat/event-message-components/finish-event-message.cjs.map +1 -1
  313. package/dist/components/conversation-events/chat/event-message-components/finish-event-message.js +2 -1
  314. package/dist/components/conversation-events/chat/event-message-components/finish-event-message.js.map +1 -1
  315. package/dist/components/conversation-events/chat/event-message-components/generic-event-message-wrapper.cjs +1 -1
  316. package/dist/components/conversation-events/chat/event-message-components/generic-event-message-wrapper.cjs.map +1 -1
  317. package/dist/components/conversation-events/chat/event-message-components/generic-event-message-wrapper.d.ts +1 -1
  318. package/dist/components/conversation-events/chat/event-message-components/generic-event-message-wrapper.js +28 -28
  319. package/dist/components/conversation-events/chat/event-message-components/generic-event-message-wrapper.js.map +1 -1
  320. package/dist/components/conversation-events/chat/event-message-components/thought-event-message.cjs +1 -1
  321. package/dist/components/conversation-events/chat/event-message-components/thought-event-message.cjs.map +1 -1
  322. package/dist/components/conversation-events/chat/event-message-components/thought-event-message.js +2 -1
  323. package/dist/components/conversation-events/chat/event-message-components/thought-event-message.js.map +1 -1
  324. package/dist/components/conversation-events/chat/event-message-components/user-assistant-event-message.cjs +1 -1
  325. package/dist/components/conversation-events/chat/event-message-components/user-assistant-event-message.cjs.map +1 -1
  326. package/dist/components/conversation-events/chat/event-message-components/user-assistant-event-message.d.ts +1 -1
  327. package/dist/components/conversation-events/chat/event-message-components/user-assistant-event-message.js +37 -37
  328. package/dist/components/conversation-events/chat/event-message-components/user-assistant-event-message.js.map +1 -1
  329. package/dist/components/conversation-events/chat/event-message.cjs +2 -2
  330. package/dist/components/conversation-events/chat/event-message.cjs.map +1 -1
  331. package/dist/components/conversation-events/chat/event-message.js +79 -70
  332. package/dist/components/conversation-events/chat/event-message.js.map +1 -1
  333. package/dist/components/conversation-events/chat/messages.cjs +1 -1
  334. package/dist/components/conversation-events/chat/messages.cjs.map +1 -1
  335. package/dist/components/conversation-events/chat/messages.js +28 -27
  336. package/dist/components/conversation-events/chat/messages.js.map +1 -1
  337. package/dist/components/features/automations/automation-card.cjs +1 -1
  338. package/dist/components/features/automations/automation-card.cjs.map +1 -1
  339. package/dist/components/features/automations/automation-card.js +118 -102
  340. package/dist/components/features/automations/automation-card.js.map +1 -1
  341. package/dist/components/features/automations/automation-list-row.cjs +1 -1
  342. package/dist/components/features/automations/automation-list-row.cjs.map +1 -1
  343. package/dist/components/features/automations/automation-list-row.js +88 -77
  344. package/dist/components/features/automations/automation-list-row.js.map +1 -1
  345. package/dist/components/features/automations/detail/detail-header.d.ts +3 -1
  346. package/dist/components/features/automations/detail/run-phase.cjs +2 -0
  347. package/dist/components/features/automations/detail/run-phase.cjs.map +1 -0
  348. package/dist/components/features/automations/detail/run-phase.d.ts +89 -0
  349. package/dist/components/features/automations/detail/run-phase.js +72 -0
  350. package/dist/components/features/automations/detail/run-phase.js.map +1 -0
  351. package/dist/components/features/automations/detail/run-status-badge.cjs +1 -1
  352. package/dist/components/features/automations/detail/run-status-badge.cjs.map +1 -1
  353. package/dist/components/features/automations/detail/run-status-badge.d.ts +2 -2
  354. package/dist/components/features/automations/detail/run-status-badge.js +82 -53
  355. package/dist/components/features/automations/detail/run-status-badge.js.map +1 -1
  356. package/dist/components/features/automations/kebab-menu.cjs +1 -1
  357. package/dist/components/features/automations/kebab-menu.cjs.map +1 -1
  358. package/dist/components/features/automations/kebab-menu.js +9 -5
  359. package/dist/components/features/automations/kebab-menu.js.map +1 -1
  360. package/dist/components/features/automations/recommended-automations-launcher.cjs +1 -1
  361. package/dist/components/features/automations/recommended-automations-launcher.cjs.map +1 -1
  362. package/dist/components/features/automations/recommended-automations-launcher.js +12 -12
  363. package/dist/components/features/automations/recommended-automations-launcher.js.map +1 -1
  364. package/dist/components/features/automations/recommended-automations-section.cjs +1 -1
  365. package/dist/components/features/automations/recommended-automations-section.js +9 -9
  366. package/dist/components/features/backends/backend-form-modal.cjs +1 -1
  367. package/dist/components/features/backends/backend-form-modal.cjs.map +1 -1
  368. package/dist/components/features/backends/backend-form-modal.js +5 -11
  369. package/dist/components/features/backends/backend-form-modal.js.map +1 -1
  370. package/dist/components/features/backends/backend-selector.cjs +1 -1
  371. package/dist/components/features/backends/backend-selector.cjs.map +1 -1
  372. package/dist/components/features/backends/backend-selector.js +133 -122
  373. package/dist/components/features/backends/backend-selector.js.map +1 -1
  374. package/dist/components/features/backends/manage-backends-modal.cjs +1 -1
  375. package/dist/components/features/backends/manage-backends-modal.cjs.map +1 -1
  376. package/dist/components/features/backends/manage-backends-modal.js +29 -29
  377. package/dist/components/features/backends/manage-backends-modal.js.map +1 -1
  378. package/dist/components/features/canvas-extensions/add-canvas-extension-modal.d.ts +6 -0
  379. package/dist/components/features/canvas-extensions/canvas-extension-card.d.ts +9 -0
  380. package/dist/components/features/canvas-extensions/canvas-extensions-runtime.cjs +2 -0
  381. package/dist/components/features/canvas-extensions/canvas-extensions-runtime.cjs.map +1 -0
  382. package/dist/components/features/canvas-extensions/canvas-extensions-runtime.d.ts +23 -0
  383. package/dist/components/features/canvas-extensions/canvas-extensions-runtime.js +19 -0
  384. package/dist/components/features/canvas-extensions/canvas-extensions-runtime.js.map +1 -0
  385. package/dist/components/features/chat/change-agent-button.cjs +1 -1
  386. package/dist/components/features/chat/change-agent-button.js +4 -4
  387. package/dist/components/features/chat/chat-interface.cjs +2 -2
  388. package/dist/components/features/chat/chat-interface.cjs.map +1 -1
  389. package/dist/components/features/chat/chat-interface.js +107 -104
  390. package/dist/components/features/chat/chat-interface.js.map +1 -1
  391. package/dist/components/features/chat/chat-markdown-path-code.cjs +3 -0
  392. package/dist/components/features/chat/chat-markdown-path-code.cjs.map +1 -0
  393. package/dist/components/features/chat/chat-markdown-path-code.d.ts +27 -0
  394. package/dist/components/features/chat/chat-markdown-path-code.js +72 -0
  395. package/dist/components/features/chat/chat-markdown-path-code.js.map +1 -0
  396. package/dist/components/features/chat/chat-message.cjs +1 -1
  397. package/dist/components/features/chat/chat-message.cjs.map +1 -1
  398. package/dist/components/features/chat/chat-message.d.ts +2 -1
  399. package/dist/components/features/chat/chat-message.js +88 -79
  400. package/dist/components/features/chat/chat-message.js.map +1 -1
  401. package/dist/components/features/chat/components/context-window-meter.cjs +1 -1
  402. package/dist/components/features/chat/components/context-window-meter.js +4 -4
  403. package/dist/components/features/chat/confirmation-mode-enabled.cjs +1 -1
  404. package/dist/components/features/chat/confirmation-mode-enabled.js +4 -4
  405. package/dist/components/features/chat/generic-event-message.cjs +1 -1
  406. package/dist/components/features/chat/generic-event-message.cjs.map +1 -1
  407. package/dist/components/features/chat/generic-event-message.d.ts +2 -1
  408. package/dist/components/features/chat/generic-event-message.js +41 -22
  409. package/dist/components/features/chat/generic-event-message.js.map +1 -1
  410. package/dist/components/features/chat/interactive-chat-box.cjs +1 -1
  411. package/dist/components/features/chat/interactive-chat-box.cjs.map +1 -1
  412. package/dist/components/features/chat/interactive-chat-box.js +20 -19
  413. package/dist/components/features/chat/interactive-chat-box.js.map +1 -1
  414. package/dist/components/features/chat/path-component.cjs +1 -1
  415. package/dist/components/features/chat/path-component.cjs.map +1 -1
  416. package/dist/components/features/chat/path-component.d.ts +8 -2
  417. package/dist/components/features/chat/path-component.js +33 -21
  418. package/dist/components/features/chat/path-component.js.map +1 -1
  419. package/dist/components/features/chat/tool-visualizers/file-editor/file-editor.cjs +1 -1
  420. package/dist/components/features/chat/tool-visualizers/file-editor/file-editor.cjs.map +1 -1
  421. package/dist/components/features/chat/tool-visualizers/file-editor/file-editor.js +38 -43
  422. package/dist/components/features/chat/tool-visualizers/file-editor/file-editor.js.map +1 -1
  423. package/dist/components/features/chat/tool-visualizers/primitives/file-path-chip.cjs +1 -1
  424. package/dist/components/features/chat/tool-visualizers/primitives/file-path-chip.cjs.map +1 -1
  425. package/dist/components/features/chat/tool-visualizers/primitives/file-path-chip.d.ts +8 -5
  426. package/dist/components/features/chat/tool-visualizers/primitives/file-path-chip.js +22 -16
  427. package/dist/components/features/chat/tool-visualizers/primitives/file-path-chip.js.map +1 -1
  428. package/dist/components/features/chat/user-message-body.cjs +1 -1
  429. package/dist/components/features/chat/user-message-body.cjs.map +1 -1
  430. package/dist/components/features/chat/user-message-body.d.ts +4 -0
  431. package/dist/components/features/chat/user-message-body.js +30 -24
  432. package/dist/components/features/chat/user-message-body.js.map +1 -1
  433. package/dist/components/features/conversation/conversation-overview-git-section.cjs +1 -1
  434. package/dist/components/features/conversation/conversation-overview-git-section.js +4 -4
  435. package/dist/components/features/conversation/conversation-overview-skills-panel.cjs +1 -1
  436. package/dist/components/features/conversation/conversation-overview-skills-panel.cjs.map +1 -1
  437. package/dist/components/features/conversation/conversation-overview-skills-panel.js +63 -81
  438. package/dist/components/features/conversation/conversation-overview-skills-panel.js.map +1 -1
  439. package/dist/components/features/conversation/conversation-tabs/conversation-tabs-context-menu.cjs +1 -1
  440. package/dist/components/features/conversation/conversation-tabs/conversation-tabs-context-menu.cjs.map +1 -1
  441. package/dist/components/features/conversation/conversation-tabs/conversation-tabs-context-menu.js +77 -78
  442. package/dist/components/features/conversation/conversation-tabs/conversation-tabs-context-menu.js.map +1 -1
  443. package/dist/components/features/conversation/conversation-tabs/conversation-tabs.cjs +1 -1
  444. package/dist/components/features/conversation/conversation-tabs/conversation-tabs.cjs.map +1 -1
  445. package/dist/components/features/conversation/conversation-tabs/conversation-tabs.js +96 -96
  446. package/dist/components/features/conversation/conversation-tabs/conversation-tabs.js.map +1 -1
  447. package/dist/components/features/conversation/conversation-tabs/drawer-vscode-link.cjs +1 -1
  448. package/dist/components/features/conversation/conversation-tabs/drawer-vscode-link.cjs.map +1 -1
  449. package/dist/components/features/conversation/conversation-tabs/drawer-vscode-link.d.ts +1 -1
  450. package/dist/components/features/conversation/conversation-tabs/drawer-vscode-link.js +3 -3
  451. package/dist/components/features/conversation/conversation-tabs/drawer-vscode-link.js.map +1 -1
  452. package/dist/components/features/conversation-panel/advanced-conversation-options-modal.cjs +2 -0
  453. package/dist/components/features/conversation-panel/advanced-conversation-options-modal.cjs.map +1 -0
  454. package/dist/components/features/conversation-panel/advanced-conversation-options-modal.d.ts +21 -0
  455. package/dist/components/features/conversation-panel/advanced-conversation-options-modal.js +239 -0
  456. package/dist/components/features/conversation-panel/advanced-conversation-options-modal.js.map +1 -0
  457. package/dist/components/features/conversation-panel/conversation-active-tag-filters.cjs +2 -0
  458. package/dist/components/features/conversation-panel/conversation-active-tag-filters.cjs.map +1 -0
  459. package/dist/components/features/conversation-panel/conversation-active-tag-filters.d.ts +28 -0
  460. package/dist/components/features/conversation-panel/conversation-active-tag-filters.js +69 -0
  461. package/dist/components/features/conversation-panel/conversation-active-tag-filters.js.map +1 -0
  462. package/dist/components/features/conversation-panel/conversation-card/conversation-card-actions.cjs +1 -1
  463. package/dist/components/features/conversation-panel/conversation-card/conversation-card-actions.cjs.map +1 -1
  464. package/dist/components/features/conversation-panel/conversation-card/conversation-card-actions.d.ts +2 -1
  465. package/dist/components/features/conversation-panel/conversation-card/conversation-card-actions.js +19 -18
  466. package/dist/components/features/conversation-panel/conversation-card/conversation-card-actions.js.map +1 -1
  467. package/dist/components/features/conversation-panel/conversation-card/conversation-card-context-menu.cjs +1 -1
  468. package/dist/components/features/conversation-panel/conversation-card/conversation-card-context-menu.cjs.map +1 -1
  469. package/dist/components/features/conversation-panel/conversation-card/conversation-card-context-menu.d.ts +2 -1
  470. package/dist/components/features/conversation-panel/conversation-card/conversation-card-context-menu.js +91 -80
  471. package/dist/components/features/conversation-panel/conversation-card/conversation-card-context-menu.js.map +1 -1
  472. package/dist/components/features/conversation-panel/conversation-card/conversation-card-preview.cjs +1 -1
  473. package/dist/components/features/conversation-panel/conversation-card/conversation-card-preview.cjs.map +1 -1
  474. package/dist/components/features/conversation-panel/conversation-card/conversation-card-preview.js +1 -1
  475. package/dist/components/features/conversation-panel/conversation-card/conversation-card-preview.js.map +1 -1
  476. package/dist/components/features/conversation-panel/conversation-card/conversation-card.cjs +1 -1
  477. package/dist/components/features/conversation-panel/conversation-card/conversation-card.cjs.map +1 -1
  478. package/dist/components/features/conversation-panel/conversation-card/conversation-card.d.ts +7 -1
  479. package/dist/components/features/conversation-panel/conversation-card/conversation-card.js +87 -81
  480. package/dist/components/features/conversation-panel/conversation-card/conversation-card.js.map +1 -1
  481. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-chips.cjs +1 -1
  482. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-chips.cjs.map +1 -1
  483. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-chips.d.ts +2 -1
  484. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-chips.js +1 -1
  485. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-chips.js.map +1 -1
  486. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-display.cjs +1 -1
  487. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-display.cjs.map +1 -1
  488. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-display.d.ts +2 -1
  489. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-display.js +2 -1
  490. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-display.js.map +1 -1
  491. package/dist/components/features/conversation-panel/conversation-layouts-menu.cjs +2 -0
  492. package/dist/components/features/conversation-panel/conversation-layouts-menu.cjs.map +1 -0
  493. package/dist/components/features/conversation-panel/conversation-layouts-menu.d.ts +29 -0
  494. package/dist/components/features/conversation-panel/conversation-layouts-menu.js +177 -0
  495. package/dist/components/features/conversation-panel/conversation-layouts-menu.js.map +1 -0
  496. package/dist/components/features/conversation-panel/conversation-panel-list-helpers.cjs +1 -1
  497. package/dist/components/features/conversation-panel/conversation-panel-list-helpers.cjs.map +1 -1
  498. package/dist/components/features/conversation-panel/conversation-panel-list-helpers.d.ts +37 -0
  499. package/dist/components/features/conversation-panel/conversation-panel-list-helpers.js +85 -45
  500. package/dist/components/features/conversation-panel/conversation-panel-list-helpers.js.map +1 -1
  501. package/dist/components/features/conversation-panel/conversation-panel.cjs +1 -1
  502. package/dist/components/features/conversation-panel/conversation-panel.cjs.map +1 -1
  503. package/dist/components/features/conversation-panel/conversation-panel.js +296 -290
  504. package/dist/components/features/conversation-panel/conversation-panel.js.map +1 -1
  505. package/dist/components/features/conversation-panel/edit-conversation-tags-modal.cjs +2 -0
  506. package/dist/components/features/conversation-panel/edit-conversation-tags-modal.cjs.map +1 -0
  507. package/dist/components/features/conversation-panel/edit-conversation-tags-modal.d.ts +22 -0
  508. package/dist/components/features/conversation-panel/edit-conversation-tags-modal.js +153 -0
  509. package/dist/components/features/conversation-panel/edit-conversation-tags-modal.js.map +1 -0
  510. package/dist/components/features/conversation-panel/hide-older-conversations-row.cjs +2 -0
  511. package/dist/components/features/conversation-panel/hide-older-conversations-row.cjs.map +1 -0
  512. package/dist/components/features/conversation-panel/hide-older-conversations-row.d.ts +6 -0
  513. package/dist/components/features/conversation-panel/hide-older-conversations-row.js +65 -0
  514. package/dist/components/features/conversation-panel/hide-older-conversations-row.js.map +1 -0
  515. package/dist/components/features/conversation-panel/menu-row.cjs +1 -1
  516. package/dist/components/features/conversation-panel/menu-row.cjs.map +1 -1
  517. package/dist/components/features/conversation-panel/menu-row.d.ts +11 -1
  518. package/dist/components/features/conversation-panel/menu-row.js +27 -16
  519. package/dist/components/features/conversation-panel/menu-row.js.map +1 -1
  520. package/dist/components/features/conversation-panel/skills-modal.cjs +1 -1
  521. package/dist/components/features/conversation-panel/skills-modal.cjs.map +1 -1
  522. package/dist/components/features/conversation-panel/skills-modal.js +29 -28
  523. package/dist/components/features/conversation-panel/skills-modal.js.map +1 -1
  524. package/dist/components/features/files-tab/file-content-viewer.cjs +1 -1
  525. package/dist/components/features/files-tab/file-content-viewer.js +5 -5
  526. package/dist/components/features/home/featured-automations/automation-health-indicator.cjs +1 -1
  527. package/dist/components/features/home/featured-automations/automation-health-indicator.cjs.map +1 -1
  528. package/dist/components/features/home/featured-automations/automation-health-indicator.js +1 -1
  529. package/dist/components/features/home/featured-automations/automation-health-indicator.js.map +1 -1
  530. package/dist/components/features/home/featured-automations/automation-run-activity-metrics.cjs +1 -1
  531. package/dist/components/features/home/featured-automations/automation-run-activity-metrics.cjs.map +1 -1
  532. package/dist/components/features/home/featured-automations/automation-run-activity-metrics.d.ts +4 -3
  533. package/dist/components/features/home/featured-automations/automation-run-activity-metrics.js +22 -25
  534. package/dist/components/features/home/featured-automations/automation-run-activity-metrics.js.map +1 -1
  535. package/dist/components/features/home/featured-automations/automation-run-activity-sparkline.cjs +1 -1
  536. package/dist/components/features/home/featured-automations/automation-run-activity-sparkline.cjs.map +1 -1
  537. package/dist/components/features/home/featured-automations/automation-run-activity-sparkline.d.ts +1 -1
  538. package/dist/components/features/home/featured-automations/automation-run-activity-sparkline.js +15 -15
  539. package/dist/components/features/home/featured-automations/automation-run-activity-sparkline.js.map +1 -1
  540. package/dist/components/features/home/featured-automations/automation-run-health.cjs +1 -1
  541. package/dist/components/features/home/featured-automations/automation-run-health.cjs.map +1 -1
  542. package/dist/components/features/home/featured-automations/automation-run-health.d.ts +5 -3
  543. package/dist/components/features/home/featured-automations/automation-run-health.js +30 -23
  544. package/dist/components/features/home/featured-automations/automation-run-health.js.map +1 -1
  545. package/dist/components/features/home/featured-automations/home-automation-activity.d.ts +3 -2
  546. package/dist/components/features/home/featured-automations/home-automation-run-tooltip.cjs +1 -1
  547. package/dist/components/features/home/featured-automations/home-automation-run-tooltip.cjs.map +1 -1
  548. package/dist/components/features/home/featured-automations/home-automation-run-tooltip.d.ts +1 -1
  549. package/dist/components/features/home/featured-automations/home-automation-run-tooltip.js +59 -37
  550. package/dist/components/features/home/featured-automations/home-automation-run-tooltip.js.map +1 -1
  551. package/dist/components/features/manifest/manifest-form-field.d.ts +3 -1
  552. package/dist/components/features/manifest/manifest-review-step.d.ts +3 -1
  553. package/dist/components/features/onboarding/onboarding-host.d.ts +3 -4
  554. package/dist/components/features/onboarding/steps/setup-llm-step.d.ts +5 -9
  555. package/dist/components/features/settings/acp-auth-status-banner.d.ts +23 -6
  556. package/dist/components/features/settings/cloud-settings-link.cjs +1 -1
  557. package/dist/components/features/settings/cloud-settings-link.cjs.map +1 -1
  558. package/dist/components/features/settings/cloud-settings-link.js +5 -3
  559. package/dist/components/features/settings/cloud-settings-link.js.map +1 -1
  560. package/dist/components/features/settings/integrations-settings-link.cjs +1 -1
  561. package/dist/components/features/settings/integrations-settings-link.cjs.map +1 -1
  562. package/dist/components/features/settings/integrations-settings-link.d.ts +3 -1
  563. package/dist/components/features/settings/integrations-settings-link.js +20 -17
  564. package/dist/components/features/settings/integrations-settings-link.js.map +1 -1
  565. package/dist/components/features/settings/llm-profiles/llm-settings-local-view.cjs +1 -1
  566. package/dist/components/features/settings/llm-profiles/llm-settings-local-view.js +2 -1
  567. package/dist/components/features/settings/llm-profiles/profiles-body.d.ts +2 -2
  568. package/dist/components/features/settings/llm-profiles/provider-connection-modal.cjs +1 -1
  569. package/dist/components/features/settings/llm-profiles/provider-connection-modal.js +3 -0
  570. package/dist/components/features/settings/sdk-settings/field-help.cjs +1 -1
  571. package/dist/components/features/settings/sdk-settings/field-help.cjs.map +1 -1
  572. package/dist/components/features/settings/sdk-settings/field-help.d.ts +1 -1
  573. package/dist/components/features/settings/sdk-settings/field-help.js +1 -1
  574. package/dist/components/features/settings/sdk-settings/field-help.js.map +1 -1
  575. package/dist/components/features/settings/sdk-settings/sdk-section-page.cjs +1 -1
  576. package/dist/components/features/settings/sdk-settings/sdk-section-page.cjs.map +1 -1
  577. package/dist/components/features/settings/sdk-settings/sdk-section-page.d.ts +8 -7
  578. package/dist/components/features/settings/sdk-settings/sdk-section-page.js +172 -142
  579. package/dist/components/features/settings/sdk-settings/sdk-section-page.js.map +1 -1
  580. package/dist/components/features/settings/secrets-settings/secret-form.cjs +1 -1
  581. package/dist/components/features/settings/secrets-settings/secret-form.cjs.map +1 -1
  582. package/dist/components/features/settings/secrets-settings/secret-form.js +38 -25
  583. package/dist/components/features/settings/secrets-settings/secret-form.js.map +1 -1
  584. package/dist/components/features/settings/settings-dropdown-input.cjs +1 -1
  585. package/dist/components/features/settings/settings-dropdown-input.js +6 -6
  586. package/dist/components/features/sidebar/sidebar-nav-link.cjs +1 -1
  587. package/dist/components/features/sidebar/sidebar-nav-link.cjs.map +1 -1
  588. package/dist/components/features/sidebar/sidebar-nav-link.d.ts +10 -1
  589. package/dist/components/features/sidebar/sidebar-nav-link.js +54 -36
  590. package/dist/components/features/sidebar/sidebar-nav-link.js.map +1 -1
  591. package/dist/components/features/sidebar/sidebar-rail-body.cjs +1 -1
  592. package/dist/components/features/sidebar/sidebar-rail-body.cjs.map +1 -1
  593. package/dist/components/features/sidebar/sidebar-rail-body.d.ts +3 -1
  594. package/dist/components/features/sidebar/sidebar-rail-body.js +98 -58
  595. package/dist/components/features/sidebar/sidebar-rail-body.js.map +1 -1
  596. package/dist/components/features/sidebar/sidebar.cjs +1 -1
  597. package/dist/components/features/sidebar/sidebar.cjs.map +1 -1
  598. package/dist/components/features/sidebar/sidebar.js +44 -43
  599. package/dist/components/features/sidebar/sidebar.js.map +1 -1
  600. package/dist/components/features/sidebar/use-sidebar-onboarding-checklist.cjs +1 -1
  601. package/dist/components/features/sidebar/use-sidebar-onboarding-checklist.js +3 -3
  602. package/dist/components/features/skills/build-skill-pills.cjs +1 -1
  603. package/dist/components/features/skills/build-skill-pills.cjs.map +1 -1
  604. package/dist/components/features/skills/build-skill-pills.js +60 -52
  605. package/dist/components/features/skills/build-skill-pills.js.map +1 -1
  606. package/dist/components/features/skills/extensions-navigation.cjs +1 -1
  607. package/dist/components/features/skills/extensions-navigation.cjs.map +1 -1
  608. package/dist/components/features/skills/extensions-navigation.js +54 -43
  609. package/dist/components/features/skills/extensions-navigation.js.map +1 -1
  610. package/dist/components/features/skills/skill-filter.cjs +1 -1
  611. package/dist/components/features/skills/skill-filter.cjs.map +1 -1
  612. package/dist/components/features/skills/skill-filter.d.ts +8 -3
  613. package/dist/components/features/skills/skill-filter.js +69 -52
  614. package/dist/components/features/skills/skill-filter.js.map +1 -1
  615. package/dist/components/shared/buttons/styled-tooltip.cjs +1 -1
  616. package/dist/components/shared/buttons/styled-tooltip.cjs.map +1 -1
  617. package/dist/components/shared/buttons/styled-tooltip.d.ts +2 -1
  618. package/dist/components/shared/buttons/styled-tooltip.js +2 -1
  619. package/dist/components/shared/buttons/styled-tooltip.js.map +1 -1
  620. package/dist/components/shared/filters/enum-filter-dropdown.cjs +1 -1
  621. package/dist/components/shared/filters/enum-filter-dropdown.cjs.map +1 -1
  622. package/dist/components/shared/filters/enum-filter-dropdown.d.ts +5 -1
  623. package/dist/components/shared/filters/enum-filter-dropdown.js +14 -14
  624. package/dist/components/shared/filters/enum-filter-dropdown.js.map +1 -1
  625. package/dist/components/shared/modals/confirmation-modal.cjs +1 -1
  626. package/dist/components/shared/modals/confirmation-modal.cjs.map +1 -1
  627. package/dist/components/shared/modals/confirmation-modal.d.ts +2 -1
  628. package/dist/components/shared/modals/confirmation-modal.js +8 -8
  629. package/dist/components/shared/modals/confirmation-modal.js.map +1 -1
  630. package/dist/components/shared/modals/settings/model-selector.cjs +1 -1
  631. package/dist/components/shared/modals/settings/model-selector.js +27 -27
  632. package/dist/components/shared/modals/settings/settings-form.cjs +1 -1
  633. package/dist/components/shared/modals/settings/settings-form.js +8 -8
  634. package/dist/config/defaults.cjs +1 -1
  635. package/dist/config/defaults.cjs.map +1 -1
  636. package/dist/config/defaults.js +9 -5
  637. package/dist/config/defaults.js.map +1 -1
  638. package/dist/constants/settings-nav.d.ts +8 -0
  639. package/dist/contexts/conversation-websocket-context.cjs +3 -3
  640. package/dist/contexts/conversation-websocket-context.cjs.map +1 -1
  641. package/dist/contexts/conversation-websocket-context.d.ts +5 -0
  642. package/dist/contexts/conversation-websocket-context.js +194 -198
  643. package/dist/contexts/conversation-websocket-context.js.map +1 -1
  644. package/dist/contexts/websocket-provider-wrapper.cjs +1 -1
  645. package/dist/contexts/websocket-provider-wrapper.cjs.map +1 -1
  646. package/dist/contexts/websocket-provider-wrapper.js +31 -15
  647. package/dist/contexts/websocket-provider-wrapper.js.map +1 -1
  648. package/dist/extensions/canvas-extension-module-loader.d.ts +11 -0
  649. package/dist/hooks/chat/record-model-switch-message.cjs +1 -1
  650. package/dist/hooks/chat/record-model-switch-message.cjs.map +1 -1
  651. package/dist/hooks/chat/record-model-switch-message.d.ts +31 -0
  652. package/dist/hooks/chat/record-model-switch-message.js +25 -12
  653. package/dist/hooks/chat/record-model-switch-message.js.map +1 -1
  654. package/dist/hooks/chat/use-plan-mode-interceptor.cjs +2 -0
  655. package/dist/hooks/chat/use-plan-mode-interceptor.cjs.map +1 -0
  656. package/dist/hooks/chat/use-plan-mode-interceptor.d.ts +16 -0
  657. package/dist/hooks/chat/use-plan-mode-interceptor.js +43 -0
  658. package/dist/hooks/chat/use-plan-mode-interceptor.js.map +1 -0
  659. package/dist/hooks/mutation/use-create-conversation.cjs +1 -1
  660. package/dist/hooks/mutation/use-create-conversation.cjs.map +1 -1
  661. package/dist/hooks/mutation/use-create-conversation.js +5 -1
  662. package/dist/hooks/mutation/use-create-conversation.js.map +1 -1
  663. package/dist/hooks/mutation/use-manage-canvas-extensions.d.ts +12 -0
  664. package/dist/hooks/mutation/use-read-conversation-file.cjs +1 -1
  665. package/dist/hooks/mutation/use-read-conversation-file.cjs.map +1 -1
  666. package/dist/hooks/mutation/use-read-conversation-file.js +11 -4
  667. package/dist/hooks/mutation/use-read-conversation-file.js.map +1 -1
  668. package/dist/hooks/mutation/use-save-settings.cjs +1 -1
  669. package/dist/hooks/mutation/use-save-settings.js +3 -3
  670. package/dist/hooks/mutation/use-switch-llm-profile.cjs +1 -1
  671. package/dist/hooks/mutation/use-switch-llm-profile.cjs.map +1 -1
  672. package/dist/hooks/mutation/use-switch-llm-profile.js +13 -25
  673. package/dist/hooks/mutation/use-switch-llm-profile.js.map +1 -1
  674. package/dist/hooks/mutation/use-update-conversation-tags.cjs +2 -0
  675. package/dist/hooks/mutation/use-update-conversation-tags.cjs.map +1 -0
  676. package/dist/hooks/mutation/use-update-conversation-tags.d.ts +8 -0
  677. package/dist/hooks/mutation/use-update-conversation-tags.js +45 -0
  678. package/dist/hooks/mutation/use-update-conversation-tags.js.map +1 -0
  679. package/dist/hooks/query/concurrency-limiter.cjs +2 -0
  680. package/dist/hooks/query/concurrency-limiter.cjs.map +1 -0
  681. package/dist/hooks/query/concurrency-limiter.d.ts +22 -0
  682. package/dist/hooks/query/concurrency-limiter.js +29 -0
  683. package/dist/hooks/query/concurrency-limiter.js.map +1 -0
  684. package/dist/hooks/query/query-keys.cjs +1 -1
  685. package/dist/hooks/query/query-keys.cjs.map +1 -1
  686. package/dist/hooks/query/query-keys.d.ts +10 -0
  687. package/dist/hooks/query/query-keys.js +2 -2
  688. package/dist/hooks/query/query-keys.js.map +1 -1
  689. package/dist/hooks/query/use-active-conversation.cjs +1 -1
  690. package/dist/hooks/query/use-active-conversation.js +4 -4
  691. package/dist/hooks/query/use-automation-sdk-version.cjs +1 -1
  692. package/dist/hooks/query/use-automation-sdk-version.cjs.map +1 -1
  693. package/dist/hooks/query/use-automation-sdk-version.d.ts +0 -1
  694. package/dist/hooks/query/use-automation-sdk-version.js +30 -55
  695. package/dist/hooks/query/use-automation-sdk-version.js.map +1 -1
  696. package/dist/hooks/query/use-automations.cjs.map +1 -1
  697. package/dist/hooks/query/use-automations.js.map +1 -1
  698. package/dist/hooks/query/use-backends-health.cjs +1 -1
  699. package/dist/hooks/query/use-backends-health.cjs.map +1 -1
  700. package/dist/hooks/query/use-backends-health.d.ts +1 -1
  701. package/dist/hooks/query/use-backends-health.js +50 -64
  702. package/dist/hooks/query/use-backends-health.js.map +1 -1
  703. package/dist/hooks/query/use-canvas-extensions.cjs +1 -0
  704. package/dist/hooks/query/use-canvas-extensions.d.ts +5 -0
  705. package/dist/hooks/query/use-canvas-extensions.js +3 -0
  706. package/dist/hooks/query/use-commit-changes.cjs +1 -1
  707. package/dist/hooks/query/use-commit-changes.js +4 -4
  708. package/dist/hooks/query/use-conversation-skills.cjs +1 -1
  709. package/dist/hooks/query/use-conversation-skills.cjs.map +1 -1
  710. package/dist/hooks/query/use-conversation-skills.d.ts +14 -5
  711. package/dist/hooks/query/use-conversation-skills.js +20 -4
  712. package/dist/hooks/query/use-conversation-skills.js.map +1 -1
  713. package/dist/hooks/query/use-latest-automation-runs.cjs +1 -1
  714. package/dist/hooks/query/use-latest-automation-runs.js +1 -0
  715. package/dist/hooks/query/use-paginated-conversations.cjs +1 -1
  716. package/dist/hooks/query/use-paginated-conversations.cjs.map +1 -1
  717. package/dist/hooks/query/use-paginated-conversations.js +19 -16
  718. package/dist/hooks/query/use-paginated-conversations.js.map +1 -1
  719. package/dist/hooks/query/use-provider-connections.cjs +1 -1
  720. package/dist/hooks/query/use-provider-connections.cjs.map +1 -1
  721. package/dist/hooks/query/use-provider-connections.d.ts +6 -3
  722. package/dist/hooks/query/use-provider-connections.js +7 -3
  723. package/dist/hooks/query/use-provider-connections.js.map +1 -1
  724. package/dist/hooks/query/use-search-providers.cjs +1 -1
  725. package/dist/hooks/query/use-search-providers.cjs.map +1 -1
  726. package/dist/hooks/query/use-search-providers.js +17 -10
  727. package/dist/hooks/query/use-search-providers.js.map +1 -1
  728. package/dist/hooks/query/use-sub-conversations.cjs +1 -1
  729. package/dist/hooks/query/use-sub-conversations.cjs.map +1 -1
  730. package/dist/hooks/query/use-sub-conversations.js +16 -16
  731. package/dist/hooks/query/use-sub-conversations.js.map +1 -1
  732. package/dist/hooks/query/use-unified-get-git-changes.cjs +1 -1
  733. package/dist/hooks/query/use-unified-get-git-changes.js +4 -4
  734. package/dist/hooks/query/use-unified-git-commits.cjs +1 -1
  735. package/dist/hooks/query/use-unified-git-commits.js +4 -4
  736. package/dist/hooks/query/use-unified-git-diff.cjs +1 -1
  737. package/dist/hooks/query/use-unified-git-diff.js +4 -4
  738. package/dist/hooks/query/use-unified-vscode-url.cjs +1 -1
  739. package/dist/hooks/query/use-unified-vscode-url.cjs.map +1 -1
  740. package/dist/hooks/query/use-unified-vscode-url.d.ts +1 -0
  741. package/dist/hooks/query/use-unified-vscode-url.js +40 -26
  742. package/dist/hooks/query/use-unified-vscode-url.js.map +1 -1
  743. package/dist/hooks/query/use-workspace-file-content.cjs +1 -1
  744. package/dist/hooks/query/use-workspace-file-content.js +5 -5
  745. package/dist/hooks/query/use-workspace-files.cjs +1 -1
  746. package/dist/hooks/query/use-workspace-files.js +6 -6
  747. package/dist/hooks/use-acp-credential-form.d.ts +6 -0
  748. package/dist/hooks/use-acp-model-context.cjs +1 -1
  749. package/dist/hooks/use-acp-model-context.js +3 -3
  750. package/dist/hooks/use-agent-state.cjs +1 -1
  751. package/dist/hooks/use-agent-state.cjs.map +1 -1
  752. package/dist/hooks/use-agent-state.d.ts +17 -1
  753. package/dist/hooks/use-agent-state.js +19 -9
  754. package/dist/hooks/use-agent-state.js.map +1 -1
  755. package/dist/hooks/use-automation-permissions.cjs +2 -0
  756. package/dist/hooks/use-automation-permissions.cjs.map +1 -0
  757. package/dist/hooks/use-automation-permissions.d.ts +43 -0
  758. package/dist/hooks/use-automation-permissions.js +52 -0
  759. package/dist/hooks/use-automation-permissions.js.map +1 -0
  760. package/dist/hooks/use-chat-input-model-state.cjs +1 -1
  761. package/dist/hooks/use-chat-input-model-state.js +3 -3
  762. package/dist/hooks/use-conversation-overview-git-diff-stats.cjs +1 -1
  763. package/dist/hooks/use-conversation-overview-git-diff-stats.js +4 -4
  764. package/dist/hooks/use-handle-plan-click.cjs +1 -1
  765. package/dist/hooks/use-handle-plan-click.cjs.map +1 -1
  766. package/dist/hooks/use-handle-plan-click.d.ts +3 -1
  767. package/dist/hooks/use-handle-plan-click.js +85 -26
  768. package/dist/hooks/use-handle-plan-click.js.map +1 -1
  769. package/dist/hooks/use-home-automation-actions.cjs +1 -1
  770. package/dist/hooks/use-home-automation-actions.cjs.map +1 -1
  771. package/dist/hooks/use-home-automation-actions.js +1 -0
  772. package/dist/hooks/use-home-automation-actions.js.map +1 -1
  773. package/dist/hooks/use-llm-configured.cjs +1 -1
  774. package/dist/hooks/use-llm-configured.js +3 -3
  775. package/dist/hooks/use-manifest-preflight.d.ts +1 -1
  776. package/dist/hooks/use-pinned-home-route.cjs +2 -0
  777. package/dist/hooks/use-pinned-home-route.cjs.map +1 -0
  778. package/dist/hooks/use-pinned-home-route.d.ts +33 -0
  779. package/dist/hooks/use-pinned-home-route.js +34 -0
  780. package/dist/hooks/use-pinned-home-route.js.map +1 -0
  781. package/dist/hooks/use-skill-enablement.cjs +2 -0
  782. package/dist/hooks/use-skill-enablement.cjs.map +1 -0
  783. package/dist/hooks/use-skill-enablement.d.ts +14 -0
  784. package/dist/hooks/use-skill-enablement.js +80 -0
  785. package/dist/hooks/use-skill-enablement.js.map +1 -0
  786. package/dist/hooks/use-unified-websocket-status.cjs +1 -1
  787. package/dist/hooks/use-unified-websocket-status.cjs.map +1 -1
  788. package/dist/hooks/use-unified-websocket-status.d.ts +7 -0
  789. package/dist/hooks/use-unified-websocket-status.js +5 -1
  790. package/dist/hooks/use-unified-websocket-status.js.map +1 -1
  791. package/dist/i18n/declaration.cjs +1 -1
  792. package/dist/i18n/declaration.cjs.map +1 -1
  793. package/dist/i18n/declaration.d.ts +83 -14
  794. package/dist/i18n/declaration.js +1 -1
  795. package/dist/i18n/declaration.js.map +1 -1
  796. package/dist/i18n/translation.cjs +3 -3
  797. package/dist/i18n/translation.cjs.map +1 -1
  798. package/dist/i18n/translation.js +1575 -402
  799. package/dist/i18n/translation.js.map +1 -1
  800. package/dist/index.cjs +1 -1
  801. package/dist/index.js +15 -14
  802. package/dist/lib/index.cjs +1 -1
  803. package/dist/lib/index.d.ts +1 -0
  804. package/dist/lib/index.js +1 -0
  805. package/dist/locales/ar/openhands.json +94 -25
  806. package/dist/locales/ca/openhands.json +94 -25
  807. package/dist/locales/de/openhands.json +94 -25
  808. package/dist/locales/en/openhands.json +94 -25
  809. package/dist/locales/es/openhands.json +94 -25
  810. package/dist/locales/fr/openhands.json +94 -25
  811. package/dist/locales/it/openhands.json +94 -25
  812. package/dist/locales/ja/openhands.json +94 -25
  813. package/dist/locales/ko-KR/openhands.json +94 -25
  814. package/dist/locales/no/openhands.json +94 -25
  815. package/dist/locales/pt/openhands.json +94 -25
  816. package/dist/locales/tr/openhands.json +94 -25
  817. package/dist/locales/uk/openhands.json +94 -25
  818. package/dist/locales/zh-CN/openhands.json +94 -25
  819. package/dist/locales/zh-TW/openhands.json +94 -25
  820. package/dist/manifests/automation-insights.cjs.map +1 -1
  821. package/dist/manifests/automation-insights.d.ts +10 -2
  822. package/dist/manifests/automation-insights.js.map +1 -1
  823. package/dist/manifests/automation-interface.cjs +1 -1
  824. package/dist/manifests/automation-interface.cjs.map +1 -1
  825. package/dist/manifests/automation-interface.d.ts +6 -0
  826. package/dist/manifests/automation-interface.js +11 -8
  827. package/dist/manifests/automation-interface.js.map +1 -1
  828. package/dist/manifests/automation-setup.cjs +1 -1
  829. package/dist/manifests/automation-setup.cjs.map +1 -1
  830. package/dist/manifests/automation-setup.d.ts +9 -16
  831. package/dist/manifests/automation-setup.js +17 -7
  832. package/dist/manifests/automation-setup.js.map +1 -1
  833. package/dist/manifests/manifest-actions.d.ts +1 -1
  834. package/dist/manifests/manifest-capabilities.d.ts +3 -1
  835. package/dist/manifests/manifest-local-validation.cjs +2 -0
  836. package/dist/manifests/manifest-local-validation.cjs.map +1 -0
  837. package/dist/manifests/manifest-local-validation.d.ts +15 -11
  838. package/dist/manifests/manifest-local-validation.js +8 -0
  839. package/dist/manifests/manifest-local-validation.js.map +1 -0
  840. package/dist/manifests/manifest-template.cjs +2 -0
  841. package/dist/manifests/manifest-template.cjs.map +1 -0
  842. package/dist/manifests/manifest-template.d.ts +4 -4
  843. package/dist/manifests/manifest-template.js +12 -0
  844. package/dist/manifests/manifest-template.js.map +1 -0
  845. package/dist/manifests/manifest-validation.cjs +1 -1
  846. package/dist/manifests/manifest-validation.cjs.map +1 -1
  847. package/dist/manifests/manifest-validation.js +106 -28
  848. package/dist/manifests/manifest-validation.js.map +1 -1
  849. package/dist/manifests/types.cjs.map +1 -1
  850. package/dist/manifests/types.d.ts +39 -4
  851. package/dist/manifests/types.js.map +1 -1
  852. package/dist/node_modules/@openhands/extensions/automations/bundle-index.cjs +45 -4
  853. package/dist/node_modules/@openhands/extensions/automations/bundle-index.cjs.map +1 -1
  854. package/dist/node_modules/@openhands/extensions/automations/bundle-index.js +1 -1
  855. package/dist/node_modules/@openhands/extensions/automations/bundle-index.js.map +1 -1
  856. package/dist/node_modules/@openhands/extensions/automations/catalog/custom-automation/manifest.cjs +8 -0
  857. package/dist/node_modules/@openhands/extensions/automations/catalog/custom-automation/manifest.cjs.map +1 -0
  858. package/dist/node_modules/@openhands/extensions/automations/catalog/custom-automation/manifest.js +221 -0
  859. package/dist/node_modules/@openhands/extensions/automations/catalog/custom-automation/manifest.js.map +1 -0
  860. package/dist/node_modules/@openhands/extensions/automations/catalog/github-agents-md-maintainer/manifest.cjs +1 -1
  861. package/dist/node_modules/@openhands/extensions/automations/catalog/github-agents-md-maintainer/manifest.cjs.map +1 -1
  862. package/dist/node_modules/@openhands/extensions/automations/catalog/github-agents-md-maintainer/manifest.js +5 -0
  863. package/dist/node_modules/@openhands/extensions/automations/catalog/github-agents-md-maintainer/manifest.js.map +1 -1
  864. package/dist/node_modules/@openhands/extensions/automations/catalog/github-issue-to-pr/manifest.cjs +2 -2
  865. package/dist/node_modules/@openhands/extensions/automations/catalog/github-issue-to-pr/manifest.cjs.map +1 -1
  866. package/dist/node_modules/@openhands/extensions/automations/catalog/github-issue-to-pr/manifest.js +6 -1
  867. package/dist/node_modules/@openhands/extensions/automations/catalog/github-issue-to-pr/manifest.js.map +1 -1
  868. package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.cjs +2 -2
  869. package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.cjs.map +1 -1
  870. package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.js +6 -1
  871. package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.js.map +1 -1
  872. package/dist/node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.cjs +1 -1
  873. package/dist/node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.cjs.map +1 -1
  874. package/dist/node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.js +5 -0
  875. package/dist/node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.js.map +1 -1
  876. package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-bitbucket-pr/manifest.cjs +9 -0
  877. package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-bitbucket-pr/manifest.cjs.map +1 -0
  878. package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-bitbucket-pr/manifest.js +21 -0
  879. package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-bitbucket-pr/manifest.js.map +1 -0
  880. package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-gitlab-mr/manifest.cjs +9 -0
  881. package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-gitlab-mr/manifest.cjs.map +1 -0
  882. package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-gitlab-mr/manifest.js +21 -0
  883. package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-gitlab-mr/manifest.js.map +1 -0
  884. package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-bitbucket-pr/manifest.cjs +9 -0
  885. package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-bitbucket-pr/manifest.cjs.map +1 -0
  886. package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-bitbucket-pr/manifest.js +21 -0
  887. package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-bitbucket-pr/manifest.js.map +1 -0
  888. package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-github-pr/manifest.cjs +9 -0
  889. package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-github-pr/manifest.cjs.map +1 -0
  890. package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-github-pr/manifest.js +21 -0
  891. package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-github-pr/manifest.js.map +1 -0
  892. package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-gitlab-mr/manifest.cjs +9 -0
  893. package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-gitlab-mr/manifest.cjs.map +1 -0
  894. package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-gitlab-mr/manifest.js +21 -0
  895. package/dist/node_modules/@openhands/extensions/automations/catalog/linear-issue-to-gitlab-mr/manifest.js.map +1 -0
  896. package/dist/node_modules/@openhands/extensions/automations/catalog/news-digest/manifest.cjs +1 -1
  897. package/dist/node_modules/@openhands/extensions/automations/catalog/news-digest/manifest.cjs.map +1 -1
  898. package/dist/node_modules/@openhands/extensions/automations/catalog/news-digest/manifest.js +5 -0
  899. package/dist/node_modules/@openhands/extensions/automations/catalog/news-digest/manifest.js.map +1 -1
  900. package/dist/node_modules/@openhands/extensions/automations/catalog/qa-changes/manifest.cjs +30 -0
  901. package/dist/node_modules/@openhands/extensions/automations/catalog/qa-changes/manifest.cjs.map +1 -0
  902. package/dist/node_modules/@openhands/extensions/automations/catalog/qa-changes/manifest.js +65 -0
  903. package/dist/node_modules/@openhands/extensions/automations/catalog/qa-changes/manifest.js.map +1 -0
  904. package/dist/node_modules/@openhands/extensions/automations/catalog-index.cjs +1 -1
  905. package/dist/node_modules/@openhands/extensions/automations/catalog-index.cjs.map +1 -1
  906. package/dist/node_modules/@openhands/extensions/automations/catalog-index.js +28 -14
  907. package/dist/node_modules/@openhands/extensions/automations/catalog-index.js.map +1 -1
  908. package/dist/node_modules/@openhands/extensions/automations/interface.cjs +1 -1
  909. package/dist/node_modules/@openhands/extensions/automations/interface.cjs.map +1 -1
  910. package/dist/node_modules/@openhands/extensions/automations/interface.js +2 -1
  911. package/dist/node_modules/@openhands/extensions/automations/interface.js.map +1 -1
  912. package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.cjs +1 -1
  913. package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.cjs.map +1 -1
  914. package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.js +2 -2
  915. package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.js.map +1 -1
  916. package/dist/node_modules/@openhands/extensions/integrations/catalog/gitlab.cjs +2 -0
  917. package/dist/node_modules/@openhands/extensions/integrations/catalog/gitlab.cjs.map +1 -0
  918. package/dist/node_modules/@openhands/extensions/integrations/catalog/gitlab.js +59 -0
  919. package/dist/node_modules/@openhands/extensions/integrations/catalog/gitlab.js.map +1 -0
  920. package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.cjs +1 -1
  921. package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.cjs.map +1 -1
  922. package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.js +1 -1
  923. package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.js.map +1 -1
  924. package/dist/node_modules/@openhands/extensions/integrations/catalog-index.cjs +1 -1
  925. package/dist/node_modules/@openhands/extensions/integrations/catalog-index.cjs.map +1 -1
  926. package/dist/node_modules/@openhands/extensions/integrations/catalog-index.js +74 -72
  927. package/dist/node_modules/@openhands/extensions/integrations/catalog-index.js.map +1 -1
  928. package/dist/node_modules/@openhands/extensions/skills/index.cjs +42 -3
  929. package/dist/node_modules/@openhands/extensions/skills/index.cjs.map +1 -1
  930. package/dist/node_modules/@openhands/extensions/skills/index.js +22 -3
  931. package/dist/node_modules/@openhands/extensions/skills/index.js.map +1 -1
  932. package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-conversation.cjs +1 -1
  933. package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-conversation.js +1 -1
  934. package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-state.cjs +1 -1
  935. package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-state.cjs.map +1 -1
  936. package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-state.js +8 -7
  937. package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-state.js.map +1 -1
  938. package/dist/node_modules/@openhands/typescript-client/dist/index.cjs +1 -1
  939. package/dist/node_modules/@openhands/typescript-client/dist/index.js +2 -2
  940. package/dist/node_modules/@tanstack/react-query/build/modern/QueryClientProvider.cjs +1 -1
  941. package/dist/node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js +1 -1
  942. package/dist/node_modules/lucide-react/dist/esm/icons/blocks.cjs +2 -0
  943. package/dist/node_modules/lucide-react/dist/esm/icons/blocks.cjs.map +1 -0
  944. package/dist/node_modules/lucide-react/dist/esm/icons/blocks.js +16 -0
  945. package/dist/node_modules/lucide-react/dist/esm/icons/blocks.js.map +1 -0
  946. package/dist/node_modules/lucide-react/dist/esm/icons/circle-question-mark.cjs +2 -0
  947. package/dist/node_modules/lucide-react/dist/esm/icons/circle-question-mark.cjs.map +1 -0
  948. package/dist/node_modules/lucide-react/dist/esm/icons/circle-question-mark.js +21 -0
  949. package/dist/node_modules/lucide-react/dist/esm/icons/circle-question-mark.js.map +1 -0
  950. package/dist/node_modules/lucide-react/dist/esm/icons/panels-top-left.cjs +2 -0
  951. package/dist/node_modules/lucide-react/dist/esm/icons/panels-top-left.cjs.map +1 -0
  952. package/dist/node_modules/lucide-react/dist/esm/icons/panels-top-left.js +23 -0
  953. package/dist/node_modules/lucide-react/dist/esm/icons/panels-top-left.js.map +1 -0
  954. package/dist/node_modules/lucide-react/dist/esm/icons/shrink.cjs +2 -0
  955. package/dist/node_modules/lucide-react/dist/esm/icons/shrink.cjs.map +1 -0
  956. package/dist/node_modules/lucide-react/dist/esm/icons/shrink.js +23 -0
  957. package/dist/node_modules/lucide-react/dist/esm/icons/shrink.js.map +1 -0
  958. package/dist/node_modules/lucide-react/dist/esm/icons/sliders-horizontal.cjs +2 -0
  959. package/dist/node_modules/lucide-react/dist/esm/icons/sliders-horizontal.cjs.map +1 -0
  960. package/dist/node_modules/lucide-react/dist/esm/icons/sliders-horizontal.js +43 -0
  961. package/dist/node_modules/lucide-react/dist/esm/icons/sliders-horizontal.js.map +1 -0
  962. package/dist/node_modules/lucide-react/dist/esm/icons/tags.cjs +2 -0
  963. package/dist/node_modules/lucide-react/dist/esm/icons/tags.cjs.map +1 -0
  964. package/dist/node_modules/lucide-react/dist/esm/icons/tags.js +22 -0
  965. package/dist/node_modules/lucide-react/dist/esm/icons/tags.js.map +1 -0
  966. package/dist/package.cjs +1 -1
  967. package/dist/package.cjs.map +1 -1
  968. package/dist/package.js +5 -5
  969. package/dist/package.js.map +1 -1
  970. package/dist/routes/agent-settings.d.ts +12 -0
  971. package/dist/routes/app-settings.cjs +1 -1
  972. package/dist/routes/app-settings.cjs.map +1 -1
  973. package/dist/routes/app-settings.js +11 -11
  974. package/dist/routes/files-tab.cjs +1 -1
  975. package/dist/routes/files-tab.cjs.map +1 -1
  976. package/dist/routes/files-tab.js +14 -14
  977. package/dist/routes/files-tab.js.map +1 -1
  978. package/dist/routes/llm-settings.cjs +1 -1
  979. package/dist/routes/llm-settings.cjs.map +1 -1
  980. package/dist/routes/llm-settings.d.ts +3 -1
  981. package/dist/routes/llm-settings.js +100 -91
  982. package/dist/routes/llm-settings.js.map +1 -1
  983. package/dist/routes/planner-tab.cjs +1 -1
  984. package/dist/routes/planner-tab.cjs.map +1 -1
  985. package/dist/routes/planner-tab.js +44 -28
  986. package/dist/routes/planner-tab.js.map +1 -1
  987. package/dist/services/canvas-ui.cjs +1 -1
  988. package/dist/services/canvas-ui.cjs.map +1 -1
  989. package/dist/services/canvas-ui.d.ts +5 -0
  990. package/dist/services/canvas-ui.js +24 -10
  991. package/dist/services/canvas-ui.js.map +1 -1
  992. package/dist/services/settings.cjs +1 -1
  993. package/dist/services/settings.cjs.map +1 -1
  994. package/dist/services/settings.js +3 -2
  995. package/dist/services/settings.js.map +1 -1
  996. package/dist/services/telemetry.cjs +1 -1
  997. package/dist/services/telemetry.cjs.map +1 -1
  998. package/dist/services/telemetry.d.ts +5 -0
  999. package/dist/services/telemetry.js +122 -115
  1000. package/dist/services/telemetry.js.map +1 -1
  1001. package/dist/stores/conversation-panel-preferences-store.cjs +1 -1
  1002. package/dist/stores/conversation-panel-preferences-store.cjs.map +1 -1
  1003. package/dist/stores/conversation-panel-preferences-store.d.ts +32 -5
  1004. package/dist/stores/conversation-panel-preferences-store.js +29 -12
  1005. package/dist/stores/conversation-panel-preferences-store.js.map +1 -1
  1006. package/dist/stores/conversation-state-store.cjs +1 -1
  1007. package/dist/stores/conversation-state-store.cjs.map +1 -1
  1008. package/dist/stores/conversation-state-store.d.ts +9 -3
  1009. package/dist/stores/conversation-state-store.js +6 -3
  1010. package/dist/stores/conversation-state-store.js.map +1 -1
  1011. package/dist/stores/conversation-store.cjs +1 -1
  1012. package/dist/stores/conversation-store.cjs.map +1 -1
  1013. package/dist/stores/conversation-store.d.ts +2 -0
  1014. package/dist/stores/conversation-store.js +3 -0
  1015. package/dist/stores/conversation-store.js.map +1 -1
  1016. package/dist/stores/model-store.cjs +1 -1
  1017. package/dist/stores/model-store.cjs.map +1 -1
  1018. package/dist/stores/model-store.d.ts +7 -0
  1019. package/dist/stores/model-store.js +4 -0
  1020. package/dist/stores/model-store.js.map +1 -1
  1021. package/dist/types/automation.cjs.map +1 -1
  1022. package/dist/types/automation.d.ts +66 -1
  1023. package/dist/types/automation.js.map +1 -1
  1024. package/dist/types/canvas-extension.cjs +2 -0
  1025. package/dist/types/canvas-extension.cjs.map +1 -0
  1026. package/dist/types/canvas-extension.d.ts +77 -0
  1027. package/dist/types/canvas-extension.js +6 -0
  1028. package/dist/types/canvas-extension.js.map +1 -0
  1029. package/dist/types/settings.d.ts +7 -0
  1030. package/dist/ui/context-menu.d.ts +1 -1
  1031. package/dist/ui/help-link.cjs +1 -1
  1032. package/dist/ui/help-link.cjs.map +1 -1
  1033. package/dist/ui/help-link.d.ts +6 -1
  1034. package/dist/ui/help-link.js +32 -18
  1035. package/dist/ui/help-link.js.map +1 -1
  1036. package/dist/ui/toggle-switch.cjs +1 -1
  1037. package/dist/ui/toggle-switch.cjs.map +1 -1
  1038. package/dist/ui/toggle-switch.d.ts +4 -1
  1039. package/dist/ui/toggle-switch.js +4 -3
  1040. package/dist/ui/toggle-switch.js.map +1 -1
  1041. package/dist/utils/acp-auth-display.d.ts +35 -0
  1042. package/dist/utils/automation-catalog.cjs +1 -1
  1043. package/dist/utils/automation-catalog.cjs.map +1 -1
  1044. package/dist/utils/automation-catalog.d.ts +12 -1
  1045. package/dist/utils/automation-catalog.js +42 -12
  1046. package/dist/utils/automation-catalog.js.map +1 -1
  1047. package/dist/utils/automation-run-display.cjs +2 -0
  1048. package/dist/utils/automation-run-display.cjs.map +1 -0
  1049. package/dist/utils/automation-run-display.d.ts +20 -0
  1050. package/dist/utils/automation-run-display.js +85 -0
  1051. package/dist/utils/automation-run-display.js.map +1 -0
  1052. package/dist/utils/automation-schedule.cjs +1 -1
  1053. package/dist/utils/automation-schedule.cjs.map +1 -1
  1054. package/dist/utils/automation-schedule.d.ts +16 -0
  1055. package/dist/utils/automation-schedule.js +2 -0
  1056. package/dist/utils/automation-schedule.js.map +1 -1
  1057. package/dist/utils/cache-utils.cjs +1 -1
  1058. package/dist/utils/cache-utils.js +5 -5
  1059. package/dist/utils/constants.cjs +1 -1
  1060. package/dist/utils/constants.cjs.map +1 -1
  1061. package/dist/utils/constants.d.ts +4 -0
  1062. package/dist/utils/constants.js +23 -3
  1063. package/dist/utils/constants.js.map +1 -1
  1064. package/dist/utils/format-event-timestamp.cjs +2 -0
  1065. package/dist/utils/format-event-timestamp.cjs.map +1 -0
  1066. package/dist/utils/format-event-timestamp.d.ts +1 -0
  1067. package/dist/utils/format-event-timestamp.js +13 -0
  1068. package/dist/utils/format-event-timestamp.js.map +1 -0
  1069. package/dist/utils/format-model-name.cjs +1 -1
  1070. package/dist/utils/format-model-name.cjs.map +1 -1
  1071. package/dist/utils/format-model-name.d.ts +7 -3
  1072. package/dist/utils/format-model-name.js +6 -11
  1073. package/dist/utils/format-model-name.js.map +1 -1
  1074. package/dist/utils/format-relative-time.cjs +1 -1
  1075. package/dist/utils/format-relative-time.cjs.map +1 -1
  1076. package/dist/utils/format-relative-time.d.ts +7 -0
  1077. package/dist/utils/format-relative-time.js +7 -2
  1078. package/dist/utils/format-relative-time.js.map +1 -1
  1079. package/dist/utils/git-diff-stats.cjs +2 -2
  1080. package/dist/utils/git-diff-stats.cjs.map +1 -1
  1081. package/dist/utils/git-diff-stats.d.ts +4 -0
  1082. package/dist/utils/git-diff-stats.js +12 -2
  1083. package/dist/utils/git-diff-stats.js.map +1 -1
  1084. package/dist/utils/path-utils.cjs +1 -1
  1085. package/dist/utils/path-utils.cjs.map +1 -1
  1086. package/dist/utils/path-utils.d.ts +15 -3
  1087. package/dist/utils/path-utils.js +29 -3
  1088. package/dist/utils/path-utils.js.map +1 -1
  1089. package/dist/utils/plan-file.cjs +4 -0
  1090. package/dist/utils/plan-file.cjs.map +1 -0
  1091. package/dist/utils/plan-file.d.ts +18 -0
  1092. package/dist/utils/plan-file.js +58 -0
  1093. package/dist/utils/plan-file.js.map +1 -0
  1094. package/dist/utils/recommended-automation-rail.cjs +1 -1
  1095. package/dist/utils/recommended-automation-rail.cjs.map +1 -1
  1096. package/dist/utils/recommended-automation-rail.js +1 -0
  1097. package/dist/utils/recommended-automation-rail.js.map +1 -1
  1098. package/dist/utils/scroll-fade-state.cjs +1 -1
  1099. package/dist/utils/scroll-fade-state.cjs.map +1 -1
  1100. package/dist/utils/scroll-fade-state.d.ts +6 -0
  1101. package/dist/utils/scroll-fade-state.js +8 -1
  1102. package/dist/utils/scroll-fade-state.js.map +1 -1
  1103. package/dist/utils/sdk-settings-schema.cjs +1 -1
  1104. package/dist/utils/sdk-settings-schema.cjs.map +1 -1
  1105. package/dist/utils/sdk-settings-schema.d.ts +1 -0
  1106. package/dist/utils/sdk-settings-schema.js +25 -22
  1107. package/dist/utils/sdk-settings-schema.js.map +1 -1
  1108. package/dist/utils/skill-enablement.cjs +2 -0
  1109. package/dist/utils/skill-enablement.cjs.map +1 -0
  1110. package/dist/utils/skill-enablement.d.ts +51 -0
  1111. package/dist/utils/skill-enablement.js +31 -0
  1112. package/dist/utils/skill-enablement.js.map +1 -0
  1113. package/dist/utils/utils.cjs +1 -1
  1114. package/dist/utils/utils.cjs.map +1 -1
  1115. package/dist/utils/utils.js +11 -11
  1116. package/dist/utils/utils.js.map +1 -1
  1117. package/dist/utils/vscode-origin.cjs +2 -0
  1118. package/dist/utils/vscode-origin.cjs.map +1 -0
  1119. package/dist/utils/vscode-origin.d.ts +55 -0
  1120. package/dist/utils/vscode-origin.js +27 -0
  1121. package/dist/utils/vscode-origin.js.map +1 -0
  1122. package/dist/utils/workspace-mode.d.ts +4 -0
  1123. package/package.json +5 -5
  1124. package/scripts/check-sdk-version-sync.mjs +6 -6
  1125. package/scripts/check-translation-completeness.cjs +1 -0
  1126. package/scripts/dev-extra-backend.mjs +28 -9
  1127. package/scripts/dev-safe.mjs +81 -8
  1128. package/scripts/dev-static.mjs +35 -37
  1129. package/scripts/dev-with-automation.mjs +83 -2
  1130. package/scripts/ingress.mjs +27 -1
  1131. package/scripts/static-server.mjs +107 -2
  1132. package/tools/canvas_ui_tool.py +19 -0
  1133. package/build/assets/active-backend-context-DKFSMbn3.js +0 -2
  1134. package/build/assets/agent-profiles-settings-D4cY5U2T.js +0 -1
  1135. package/build/assets/agent-server-conversation-service.api-DozDKIW_.js +0 -86
  1136. package/build/assets/agent-settings-351vXWc9.js +0 -2
  1137. package/build/assets/agent-settings-Ce7BDZ6I.js +0 -1
  1138. package/build/assets/alert-banner-Kyy1YWZU.js +0 -1
  1139. package/build/assets/api-key-entry-screen-INIxqAMs.js +0 -1
  1140. package/build/assets/automation-detail-DXDhUwPq.js +0 -3
  1141. package/build/assets/automation-git-sync-CzyS4cn1.js +0 -1
  1142. package/build/assets/automation-setup-route-FRr05f_g.js +0 -1
  1143. package/build/assets/automations-list-CERuQWE6.js +0 -1
  1144. package/build/assets/backend-form-modal-DK78-jn1.js +0 -1
  1145. package/build/assets/bot-C-0Wu7vQ.js +0 -1
  1146. package/build/assets/browser-11etCQ04.js +0 -7
  1147. package/build/assets/check-Cf2YoT90.js +0 -1
  1148. package/build/assets/chevron-down-C3OQ-ehx.js +0 -1
  1149. package/build/assets/chevron-right-CN1uUiJ1.js +0 -1
  1150. package/build/assets/circle-check-g5yeGMd-.js +0 -1
  1151. package/build/assets/command-menu-BZQ8S3Ke.js +0 -1
  1152. package/build/assets/commits-tab-DZtJgaDM.js +0 -1
  1153. package/build/assets/confirmation-modal-Bk4JRcCM.js +0 -1
  1154. package/build/assets/conversation-CchMzpGl.js +0 -1
  1155. package/build/assets/conversation-Dpzftz57.js +0 -93
  1156. package/build/assets/conversation-panel-CchMzpGl.js +0 -1
  1157. package/build/assets/conversation-state-store-a9d2fxRc.js +0 -1
  1158. package/build/assets/edit-automation-modal-D-urtv8n.js +0 -1
  1159. package/build/assets/empty-state-CvaVahVr.js +0 -1
  1160. package/build/assets/enum-filter-dropdown-DliX_Lo0.js +0 -1
  1161. package/build/assets/extensions-hub-CFduxBnk.js +0 -1
  1162. package/build/assets/extensions-navigation-BeC224yX.js +0 -1
  1163. package/build/assets/external-link-DFpYunfj.js +0 -1
  1164. package/build/assets/files-tab-CL3J9b3p.js +0 -1
  1165. package/build/assets/format-model-name-BNPKVsIq.js +0 -1
  1166. package/build/assets/get-git-path-DlAJa_i6.js +0 -1
  1167. package/build/assets/git-repo-dropdown-DGMEhz7d.js +0 -1
  1168. package/build/assets/home-BCGlNJCA.js +0 -1
  1169. package/build/assets/home-DB1pRqTC.js +0 -1
  1170. package/build/assets/home-automation-run-tooltip-CooFQRIG.js +0 -1
  1171. package/build/assets/home-store-Dl1dPE58.js +0 -1
  1172. package/build/assets/index-home-DB1pRqTC.js +0 -1
  1173. package/build/assets/info-uYSVzX86.js +0 -1
  1174. package/build/assets/install-server-modal-BbJdhzet.js +0 -1
  1175. package/build/assets/kebab-menu-item-content-BYokkRHi.js +0 -1
  1176. package/build/assets/list-filter-OFkpRrmi.js +0 -1
  1177. package/build/assets/llm-not-configured-banner-BqqYnJ1t.js +0 -27
  1178. package/build/assets/llm-settings-CnDbbmVW.js +0 -1
  1179. package/build/assets/llm-settings-S8Yjg__1.js +0 -1
  1180. package/build/assets/llm-subscription-service-BpPfzW4x.js +0 -1
  1181. package/build/assets/loader-circle-nvrwthvj.js +0 -1
  1182. package/build/assets/manage-backends-modal-BCUPswyl.js +0 -1
  1183. package/build/assets/manifest-58597dde.js +0 -1
  1184. package/build/assets/markdown-renderer-Cb2sBWtV.js +0 -8
  1185. package/build/assets/mcp-page-Bm4K2NQq.js +0 -9
  1186. package/build/assets/messages-BTN5thLe.js +0 -40
  1187. package/build/assets/onboarding-Cx_kaiD1.js +0 -1
  1188. package/build/assets/onboarding-modal-vMwn7ihv.js +0 -1
  1189. package/build/assets/organization-service.api-C8XpQ0pM.js +0 -1
  1190. package/build/assets/pencil-Clh1Wjvh.js +0 -1
  1191. package/build/assets/planner-tab-DQvDU3ap.js +0 -1
  1192. package/build/assets/plug-BuQhHSSG.js +0 -1
  1193. package/build/assets/plugins-management-service-BjYeF0b0.js +0 -1
  1194. package/build/assets/plus-CEKne-Yp.js +0 -1
  1195. package/build/assets/profiles-service.api-QB-T_u-g.js +0 -1
  1196. package/build/assets/providers-FfSZ5TXP.js +0 -1
  1197. package/build/assets/proxy-tcFL2yTQ.js +0 -1
  1198. package/build/assets/recommended-automations-launcher-Bw8uC4V6.js +0 -1
  1199. package/build/assets/refresh-cw-Bh69DyYO.js +0 -1
  1200. package/build/assets/root-BLeQfBEq.css +0 -1
  1201. package/build/assets/root-ZKKYPR1Z.js +0 -2
  1202. package/build/assets/root-layout-luJoE9IG.js +0 -2
  1203. package/build/assets/schema-field-Csw5fhtN.js +0 -1
  1204. package/build/assets/scroll-fade-state-Dw-i4SGq.js +0 -1
  1205. package/build/assets/sdk-section-page-HTffvm7Q.js +0 -1
  1206. package/build/assets/secret-form-HTUbYw5o.js +0 -1
  1207. package/build/assets/secrets-service-BTor9uAU.js +0 -1
  1208. package/build/assets/settings-BlmrkwRi.js +0 -1
  1209. package/build/assets/settings-DcNPxz0v.js +0 -1
  1210. package/build/assets/settings-index-CKq0b0Vg.js +0 -1
  1211. package/build/assets/settings-service.api-B2agVfjL.js +0 -1
  1212. package/build/assets/shared-conversation-B55pCyBG.js +0 -1
  1213. package/build/assets/shield-check-CFDViW82.js +0 -1
  1214. package/build/assets/sidebar-mobile-menu-toggle-BOtyJHwE.js +0 -1
  1215. package/build/assets/sidebar-nav-link-CPzhyHQg.js +0 -1
  1216. package/build/assets/sidebar-store-DtpU7zaI.js +0 -1
  1217. package/build/assets/skill-filter-CWZ5kjcg.js +0 -2
  1218. package/build/assets/skill-scope-CV1dkAbW.js +0 -1
  1219. package/build/assets/skills-plugins-DGHULTq6.js +0 -1
  1220. package/build/assets/skills-settings-CM1lFv3e.js +0 -1
  1221. package/build/assets/styled-tooltip-Dl06rkpY.js +0 -1
  1222. package/build/assets/toggle-switch-Fd_QGz0r.js +0 -1
  1223. package/build/assets/trash-2-Dl8_RGz0.js +0 -1
  1224. package/build/assets/trash-_RMt7Ayc.js +0 -1
  1225. package/build/assets/triangle-alert-SM-q4NU_.js +0 -1
  1226. package/build/assets/usage-tab-BcfWV6db.js +0 -1
  1227. package/build/assets/use-acp-credential-form-BsSW5NHG.js +0 -1
  1228. package/build/assets/use-activate-agent-profile-B2NS8nA5.js +0 -1
  1229. package/build/assets/use-agent-profiles-DWBPC0Si.js +0 -1
  1230. package/build/assets/use-config-Bft35DOK.js +0 -1
  1231. package/build/assets/use-create-conversation-DwN5vv2f.js +0 -1
  1232. package/build/assets/use-create-secret-BSxJMxHp.js +0 -1
  1233. package/build/assets/use-has-permission-B3C8rQmR.js +0 -1
  1234. package/build/assets/use-is-authed-CFGkY3-Z.js +0 -1
  1235. package/build/assets/use-llm-configured-BI6obxsc.js +0 -1
  1236. package/build/assets/use-llm-profiles-djGAhTWL.js +0 -1
  1237. package/build/assets/use-manifest-capabilities-3z0-1G59.js +0 -1
  1238. package/build/assets/use-onboarding-completion-BXpyUSsJ.js +0 -1
  1239. package/build/assets/use-plugins-marketplace-DI4_pK56.js +0 -1
  1240. package/build/assets/use-save-agent-profile-DdBSTdpN.js +0 -1
  1241. package/build/assets/use-settings-C5VhGpqd.js +0 -1
  1242. package/build/assets/use-settings-nav-items-DHaUu1Dg.js +0 -16
  1243. package/build/assets/use-tracking-D5t9otIF.js +0 -3
  1244. package/build/assets/utils-DaCIEEQP.js +0 -1
  1245. package/build/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kepq2zme-ZixYGy6E.js +0 -186
  1246. package/build/assets/vendor~index-home~home~conversation-panel~conversation~alert-banner-B3qC_oj8.js +0 -1
  1247. package/build/assets/vendor~root-layout-BlUaZ18v.js +0 -1
  1248. package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~mcp~automations-list~aut~ibfbmr9f-B2OLKL7N.js +0 -1
  1249. package/build/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~iw7io29p-Dz-MAyNb.js +0 -1
  1250. package/build/assets/x-DkgltWa0.js +0 -1
  1251. package/dist/components/features/conversation-panel/conversation-panel-filter-menu.cjs +0 -2
  1252. package/dist/components/features/conversation-panel/conversation-panel-filter-menu.cjs.map +0 -1
  1253. package/dist/components/features/conversation-panel/conversation-panel-filter-menu.d.ts +0 -35
  1254. package/dist/components/features/conversation-panel/conversation-panel-filter-menu.js +0 -247
  1255. package/dist/components/features/conversation-panel/conversation-panel-filter-menu.js.map +0 -1
  1256. package/dist/components/features/tips/random-tip.d.ts +0 -2
  1257. package/dist/hooks/query/use-skills.cjs +0 -2
  1258. package/dist/hooks/query/use-skills.cjs.map +0 -1
  1259. package/dist/hooks/query/use-skills.d.ts +0 -7
  1260. package/dist/hooks/query/use-skills.js +0 -13
  1261. package/dist/hooks/query/use-skills.js.map +0 -1
  1262. package/dist/hooks/use-has-permission.cjs +0 -2
  1263. package/dist/hooks/use-has-permission.cjs.map +0 -1
  1264. package/dist/hooks/use-has-permission.d.ts +0 -1
  1265. package/dist/hooks/use-has-permission.js +0 -8
  1266. package/dist/hooks/use-has-permission.js.map +0 -1
  1267. package/dist/node_modules/lucide-react/dist/esm/icons/eye.cjs +0 -2
  1268. package/dist/node_modules/lucide-react/dist/esm/icons/eye.cjs.map +0 -1
  1269. package/dist/node_modules/lucide-react/dist/esm/icons/eye.js +0 -14
  1270. package/dist/node_modules/lucide-react/dist/esm/icons/eye.js.map +0 -1
  1271. package/dist/utils/tips.d.ts +0 -7
  1272. package/dist/utils/workspace-relative-path.cjs +0 -2
  1273. package/dist/utils/workspace-relative-path.cjs.map +0 -1
  1274. package/dist/utils/workspace-relative-path.d.ts +0 -10
  1275. package/dist/utils/workspace-relative-path.js +0 -22
  1276. package/dist/utils/workspace-relative-path.js.map +0 -1
  1277. /package/build/assets/{vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~ox0jfsa0-cHFhpUBq.js → vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~i58xkef6-cHFhpUBq.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"model-store.js","names":[],"sources":["../../src/stores/model-store.ts"],"sourcesContent":["import { create } from \"zustand\";\nimport { devtools } from \"zustand/middleware\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport type { ProfileInfo } from \"#/api/profiles-service/profiles-service.api\";\n\nexport interface ModelListEntry {\n id: string;\n /**\n * Id of the chat event after which this entry should render, or `null` to\n * pin it to the top of the chat history (no rendered events at the time\n * of /model).\n */\n anchorEventId: string | null;\n profiles: ProfileInfo[];\n switchedTo?: string;\n}\n\n/**\n * A historical switch to seed via `seedSwitches`. `id` must be stable across\n * reloads (derived from the source observation event id) so re-seeding the\n * same loaded history is idempotent.\n */\nexport interface SeededSwitch {\n id: string;\n anchorEventId: string | null;\n profileName: string;\n}\n\ninterface ModelState {\n entriesByConversation: Record<string, ModelListEntry[]>;\n /**\n * Most-recently-switched profile name per conversation. Updated by\n * `recordSwitch` so the UI (button label, popover check mark) reflects the\n * new selection instantly, before the conversation refetch from the agent\n * server lands.\n */\n activeProfileByConversation: Record<string, string>;\n}\n\ninterface ModelActions {\n show: (\n conversationId: string,\n anchorEventId: string | null,\n profiles: ProfileInfo[],\n ) => void;\n recordSwitch: (\n conversationId: string,\n anchorEventId: string | null,\n profileName: string,\n ) => void;\n /**\n * Seeds \"Switched to\" entries reconstructed from loaded history. Skips any\n * whose `id` is already present, so it can run on every history (re)load\n * without duplicating, and it preserves live-recorded entries.\n */\n seedSwitches: (conversationId: string, switches: SeededSwitch[]) => void;\n /** Drops only the optimistic active-profile entry for a conversation. */\n clearActiveProfile: (conversationId: string) => void;\n clear: (conversationId: string) => void;\n clearAll: () => void;\n}\n\ntype ModelStore = ModelState & ModelActions;\n\nconst appendEntry = (\n state: ModelState,\n conversationId: string,\n entry: ModelListEntry,\n): Pick<ModelState, \"entriesByConversation\"> => ({\n entriesByConversation: {\n ...state.entriesByConversation,\n [conversationId]: [\n ...(state.entriesByConversation[conversationId] ?? []),\n entry,\n ],\n },\n});\n\nexport const useModelStore = create<ModelStore>()(\n devtools(\n (set) => ({\n entriesByConversation: {},\n activeProfileByConversation: {},\n show: (conversationId, anchorEventId, profiles) =>\n set((s) =>\n appendEntry(s, conversationId, {\n id: uuidv4(),\n anchorEventId,\n profiles,\n }),\n ),\n recordSwitch: (conversationId, anchorEventId, profileName) =>\n set((s) => ({\n ...appendEntry(s, conversationId, {\n id: uuidv4(),\n anchorEventId,\n profiles: [],\n switchedTo: profileName,\n }),\n activeProfileByConversation: {\n ...s.activeProfileByConversation,\n [conversationId]: profileName,\n },\n })),\n seedSwitches: (conversationId, switches) =>\n set((s) => {\n const existing = s.entriesByConversation[conversationId] ?? [];\n const existingIds = new Set(existing.map((e) => e.id));\n const additions = switches\n .filter((sw) => !existingIds.has(sw.id))\n .map(\n (sw): ModelListEntry => ({\n id: sw.id,\n anchorEventId: sw.anchorEventId,\n profiles: [],\n switchedTo: sw.profileName,\n }),\n );\n if (additions.length === 0) return s;\n return {\n entriesByConversation: {\n ...s.entriesByConversation,\n [conversationId]: [...existing, ...additions],\n },\n };\n }),\n clearActiveProfile: (conversationId) =>\n set((s) => {\n if (!(conversationId in s.activeProfileByConversation)) return s;\n const activeProfileByConversation = {\n ...s.activeProfileByConversation,\n };\n delete activeProfileByConversation[conversationId];\n return { activeProfileByConversation };\n }),\n clear: (conversationId) =>\n set((s) => {\n const entriesByConversation = { ...s.entriesByConversation };\n delete entriesByConversation[conversationId];\n const activeProfileByConversation = {\n ...s.activeProfileByConversation,\n };\n delete activeProfileByConversation[conversationId];\n return { entriesByConversation, activeProfileByConversation };\n }),\n clearAll: () =>\n set({ entriesByConversation: {}, activeProfileByConversation: {} }),\n }),\n { name: \"ModelStore\" },\n ),\n);\n"],"mappings":";;;;AAgEA,IAAM,KACJ,GACA,GACA,OAC+C,EAC/C,uBAAuB;CACrB,GAAG,EAAM;EACR,IAAiB,CAChB,GAAI,EAAM,sBAAsB,MAAmB,CAAC,GACpD,CACF;AACF,EACF,IAEa,IAAgB,EAAmB,EAC9C,GACG,OAAS;CACR,uBAAuB,CAAC;CACxB,6BAA6B,CAAC;CAC9B,OAAO,GAAgB,GAAe,MACpC,GAAK,MACH,EAAY,GAAG,GAAgB;EAC7B,IAAI,EAAO;EACX;EACA;CACF,CAAC,CACH;CACF,eAAe,GAAgB,GAAe,MAC5C,GAAK,OAAO;EACV,GAAG,EAAY,GAAG,GAAgB;GAChC,IAAI,EAAO;GACX;GACA,UAAU,CAAC;GACX,YAAY;EACd,CAAC;EACD,6BAA6B;GAC3B,GAAG,EAAE;IACJ,IAAiB;EACpB;CACF,EAAE;CACJ,eAAe,GAAgB,MAC7B,GAAK,MAAM;EACT,IAAM,IAAW,EAAE,sBAAsB,MAAmB,CAAC,GACvD,IAAc,IAAI,IAAI,EAAS,KAAK,MAAM,EAAE,EAAE,CAAC,GAC/C,IAAY,EACf,QAAQ,MAAO,CAAC,EAAY,IAAI,EAAG,EAAE,CAAC,EACtC,KACE,OAAwB;GACvB,IAAI,EAAG;GACP,eAAe,EAAG;GAClB,UAAU,CAAC;GACX,YAAY,EAAG;EACjB,EACF;EAEF,OADI,EAAU,WAAW,IAAU,IAC5B,EACL,uBAAuB;GACrB,GAAG,EAAE;IACJ,IAAiB,CAAC,GAAG,GAAU,GAAG,CAAS;EAC9C,EACF;CACF,CAAC;CACH,qBAAqB,MACnB,GAAK,MAAM;EACT,IAAI,EAAE,KAAkB,EAAE,8BAA8B,OAAO;EAC/D,IAAM,IAA8B,EAClC,GAAG,EAAE,4BACP;EAEA,OADA,OAAO,EAA4B,IAC5B,EAAE,+BAA4B;CACvC,CAAC;CACH,QAAQ,MACN,GAAK,MAAM;EACT,IAAM,IAAwB,EAAE,GAAG,EAAE,sBAAsB;EAC3D,OAAO,EAAsB;EAC7B,IAAM,IAA8B,EAClC,GAAG,EAAE,4BACP;EAEA,OADA,OAAO,EAA4B,IAC5B;GAAE;GAAuB;EAA4B;CAC9D,CAAC;CACH,gBACE,EAAI;EAAE,uBAAuB,CAAC;EAAG,6BAA6B,CAAC;CAAE,CAAC;AACtE,IACA,EAAE,MAAM,aAAa,CACvB,CACF"}
1
+ {"version":3,"file":"model-store.js","names":[],"sources":["../../src/stores/model-store.ts"],"sourcesContent":["import { create } from \"zustand\";\nimport { devtools } from \"zustand/middleware\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport type { ProfileInfo } from \"#/api/profiles-service/profiles-service.api\";\n\nexport interface ModelListEntry {\n id: string;\n /**\n * Id of the chat event after which this entry should render, or `null` to\n * pin it to the top of the chat history (no rendered events at the time\n * of /model).\n */\n anchorEventId: string | null;\n profiles: ProfileInfo[];\n switchedTo?: string;\n}\n\n/**\n * A historical switch to seed via `seedSwitches`. `id` must be stable across\n * reloads (derived from the source observation event id) so re-seeding the\n * same loaded history is idempotent.\n */\nexport interface SeededSwitch {\n id: string;\n anchorEventId: string | null;\n profileName: string;\n}\n\ninterface ModelState {\n entriesByConversation: Record<string, ModelListEntry[]>;\n /**\n * Most-recently-switched profile name per conversation. Updated by\n * `recordSwitch` so the UI (button label, popover check mark) reflects the\n * new selection instantly, before the conversation refetch from the agent\n * server lands.\n */\n activeProfileByConversation: Record<string, string>;\n}\n\ninterface ModelActions {\n show: (\n conversationId: string,\n anchorEventId: string | null,\n profiles: ProfileInfo[],\n ) => void;\n recordSwitch: (\n conversationId: string,\n anchorEventId: string | null,\n profileName: string,\n ) => void;\n /**\n * Seeds \"Switched to\" entries reconstructed from loaded history. Skips any\n * whose `id` is already present, so it can run on every history (re)load\n * without duplicating, and it preserves live-recorded entries.\n */\n seedSwitches: (conversationId: string, switches: SeededSwitch[]) => void;\n /**\n * Sets the optimistic active-profile entry for a conversation without\n * appending a chat entry — the reload/history path re-derives the stamp\n * from past SwitchLLM observations, which seed their chat entries through\n * `seedSwitches` instead of `recordSwitch`.\n */\n setActiveProfile: (conversationId: string, profileName: string) => void;\n /** Drops only the optimistic active-profile entry for a conversation. */\n clearActiveProfile: (conversationId: string) => void;\n clear: (conversationId: string) => void;\n clearAll: () => void;\n}\n\ntype ModelStore = ModelState & ModelActions;\n\nconst appendEntry = (\n state: ModelState,\n conversationId: string,\n entry: ModelListEntry,\n): Pick<ModelState, \"entriesByConversation\"> => ({\n entriesByConversation: {\n ...state.entriesByConversation,\n [conversationId]: [\n ...(state.entriesByConversation[conversationId] ?? []),\n entry,\n ],\n },\n});\n\nexport const useModelStore = create<ModelStore>()(\n devtools(\n (set) => ({\n entriesByConversation: {},\n activeProfileByConversation: {},\n show: (conversationId, anchorEventId, profiles) =>\n set((s) =>\n appendEntry(s, conversationId, {\n id: uuidv4(),\n anchorEventId,\n profiles,\n }),\n ),\n recordSwitch: (conversationId, anchorEventId, profileName) =>\n set((s) => ({\n ...appendEntry(s, conversationId, {\n id: uuidv4(),\n anchorEventId,\n profiles: [],\n switchedTo: profileName,\n }),\n activeProfileByConversation: {\n ...s.activeProfileByConversation,\n [conversationId]: profileName,\n },\n })),\n seedSwitches: (conversationId, switches) =>\n set((s) => {\n const existing = s.entriesByConversation[conversationId] ?? [];\n const existingIds = new Set(existing.map((e) => e.id));\n const additions = switches\n .filter((sw) => !existingIds.has(sw.id))\n .map(\n (sw): ModelListEntry => ({\n id: sw.id,\n anchorEventId: sw.anchorEventId,\n profiles: [],\n switchedTo: sw.profileName,\n }),\n );\n if (additions.length === 0) return s;\n return {\n entriesByConversation: {\n ...s.entriesByConversation,\n [conversationId]: [...existing, ...additions],\n },\n };\n }),\n setActiveProfile: (conversationId, profileName) =>\n set((s) => ({\n activeProfileByConversation: {\n ...s.activeProfileByConversation,\n [conversationId]: profileName,\n },\n })),\n clearActiveProfile: (conversationId) =>\n set((s) => {\n if (!(conversationId in s.activeProfileByConversation)) return s;\n const activeProfileByConversation = {\n ...s.activeProfileByConversation,\n };\n delete activeProfileByConversation[conversationId];\n return { activeProfileByConversation };\n }),\n clear: (conversationId) =>\n set((s) => {\n const entriesByConversation = { ...s.entriesByConversation };\n delete entriesByConversation[conversationId];\n const activeProfileByConversation = {\n ...s.activeProfileByConversation,\n };\n delete activeProfileByConversation[conversationId];\n return { entriesByConversation, activeProfileByConversation };\n }),\n clearAll: () =>\n set({ entriesByConversation: {}, activeProfileByConversation: {} }),\n }),\n { name: \"ModelStore\" },\n ),\n);\n"],"mappings":";;;;AAuEA,IAAM,KACJ,GACA,GACA,OAC+C,EAC/C,uBAAuB;CACrB,GAAG,EAAM;EACR,IAAiB,CAChB,GAAI,EAAM,sBAAsB,MAAmB,CAAC,GACpD,CACF;AACF,EACF,IAEa,IAAgB,EAAmB,EAC9C,GACG,OAAS;CACR,uBAAuB,CAAC;CACxB,6BAA6B,CAAC;CAC9B,OAAO,GAAgB,GAAe,MACpC,GAAK,MACH,EAAY,GAAG,GAAgB;EAC7B,IAAI,EAAO;EACX;EACA;CACF,CAAC,CACH;CACF,eAAe,GAAgB,GAAe,MAC5C,GAAK,OAAO;EACV,GAAG,EAAY,GAAG,GAAgB;GAChC,IAAI,EAAO;GACX;GACA,UAAU,CAAC;GACX,YAAY;EACd,CAAC;EACD,6BAA6B;GAC3B,GAAG,EAAE;IACJ,IAAiB;EACpB;CACF,EAAE;CACJ,eAAe,GAAgB,MAC7B,GAAK,MAAM;EACT,IAAM,IAAW,EAAE,sBAAsB,MAAmB,CAAC,GACvD,IAAc,IAAI,IAAI,EAAS,KAAK,MAAM,EAAE,EAAE,CAAC,GAC/C,IAAY,EACf,QAAQ,MAAO,CAAC,EAAY,IAAI,EAAG,EAAE,CAAC,EACtC,KACE,OAAwB;GACvB,IAAI,EAAG;GACP,eAAe,EAAG;GAClB,UAAU,CAAC;GACX,YAAY,EAAG;EACjB,EACF;EAEF,OADI,EAAU,WAAW,IAAU,IAC5B,EACL,uBAAuB;GACrB,GAAG,EAAE;IACJ,IAAiB,CAAC,GAAG,GAAU,GAAG,CAAS;EAC9C,EACF;CACF,CAAC;CACH,mBAAmB,GAAgB,MACjC,GAAK,OAAO,EACV,6BAA6B;EAC3B,GAAG,EAAE;GACJ,IAAiB;CACpB,EACF,EAAE;CACJ,qBAAqB,MACnB,GAAK,MAAM;EACT,IAAI,EAAE,KAAkB,EAAE,8BAA8B,OAAO;EAC/D,IAAM,IAA8B,EAClC,GAAG,EAAE,4BACP;EAEA,OADA,OAAO,EAA4B,IAC5B,EAAE,+BAA4B;CACvC,CAAC;CACH,QAAQ,MACN,GAAK,MAAM;EACT,IAAM,IAAwB,EAAE,GAAG,EAAE,sBAAsB;EAC3D,OAAO,EAAsB;EAC7B,IAAM,IAA8B,EAClC,GAAG,EAAE,4BACP;EAEA,OADA,OAAO,EAA4B,IAC5B;GAAE;GAAuB;EAA4B;CAC9D,CAAC;CACH,gBACE,EAAI;EAAE,uBAAuB,CAAC;EAAG,6BAA6B,CAAC;CAAE,CAAC;AACtE,IACA,EAAE,MAAM,aAAa,CACvB,CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"automation.cjs","names":[],"sources":["../../src/types/automation.ts"],"sourcesContent":["export interface AutomationTrigger {\n /**\n * Trigger kind. Known values are the schedule aliases \"cron\" / \"schedule\"\n * (time-based) and \"event\" (webhook/event-driven). Kept as `string` rather\n * than a closed union on purpose: the backend emits more than one\n * scheduled-trigger alias and may introduce new kinds, so UI code branches\n * on `type === \"event\"` and treats every other value as a schedule.\n */\n type: string;\n /** Cron expression (schedule triggers only). */\n schedule?: string;\n /** Human-readable schedule description (schedule triggers only). */\n schedule_human?: string;\n /** IANA timezone name (schedule triggers only). */\n timezone?: string;\n /** Event source, e.g. \"github\" (event triggers only). */\n source?: string;\n /** Event key pattern(s) to match, e.g. \"pull_request.opened\" or [\"push\", \"release.*\"]. */\n on?: string | string[];\n /** JMESPath filter expression evaluated against the raw webhook payload. */\n filter?: string;\n}\n\nexport interface Automation {\n id: string;\n name: string;\n trigger: AutomationTrigger;\n enabled: boolean;\n repository?: string;\n /** LLM/model profile name used for automation runs. */\n model?: string | null;\n /**\n * Maximum run time in seconds. `null`/omitted uses the server default\n * (600s, 10 min); the deployment reports the maximum it accepts.\n */\n timeout?: number | null;\n\n created_at: string;\n updated_at: string;\n prompt: string | null;\n branch?: string;\n plugins?: string[];\n notification?: string;\n timezone?: string;\n last_triggered_at?: string | null;\n}\n\nexport type AutomationSpec = Omit<\n Automation,\n \"id\" | \"created_at\" | \"updated_at\" | \"last_triggered_at\"\n>;\n\n/** The envelope constants come from the interface manifest's import/export spec. */\nexport interface AutomationExportFile {\n version: number;\n kind: string;\n spec: AutomationSpec;\n}\n\nexport interface AutomationsResponse {\n automations: Automation[];\n total: number;\n}\n\n/** Mirrors `RunStatus` in the automation service's OpenAPI schema. */\nexport enum AutomationRunStatus {\n PENDING = \"PENDING\",\n RUNNING = \"RUNNING\",\n COMPLETED = \"COMPLETED\",\n FAILED = \"FAILED\",\n CANCELLED = \"CANCELLED\",\n SKIPPED = \"SKIPPED\",\n}\n\nexport interface AutomationRun {\n id: string;\n status: AutomationRunStatus;\n conversation_id: string | null;\n /**\n * ID of the bash command that ran the automation inside the agent-server\n * sandbox. Used to fetch run logs from\n * `/api/bash/bash_events/{bash_command_id}` and the matching\n * `BashOutput` events. Null when the run failed before a command was\n * dispatched (e.g. sandbox provisioning errors).\n */\n bash_command_id: string | null;\n error_detail: string | null;\n /**\n * Accumulated LLM cost of the run in USD, reported by the SDK in the\n * completion callback. `null` means unknown — the run predates cost\n * tracking, or ended without a callback (cancelled, watchdog timeout).\n * Absent entirely when the automation service is older than the release\n * that added the field, hence optional.\n */\n cost?: number | null;\n started_at: string;\n completed_at: string | null;\n}\n\nexport interface AutomationRunsResponse {\n runs: AutomationRun[];\n total: number;\n}\n\nexport type ActivityLogExportFormat = \"json\" | \"csv\";\n\n/** Client-built Activity Log export row (from list runs + automation detail). */\nexport interface AutomationRunExportRow {\n run_id: string;\n automation_id: string;\n automation_name: string;\n trigger: AutomationTrigger | Record<string, unknown>;\n start_time: string | null;\n end_time: string | null;\n duration_seconds: number | null;\n status: AutomationRunStatus;\n conversation_id: string | null;\n conversation_url: string | null;\n error: string | null;\n /**\n * Accumulated LLM cost in USD, or null when unknown. Unlike\n * `AutomationRun[\"cost\"]` this is always present: the row normalizes a\n * missing field to null so every exported record has the same shape.\n */\n cost: number | null;\n}\n"],"mappings":"6CAiEA,IAAY,EAAL,SAAA,EAAA,OACL,GAAA,QAAA,UACA,EAAA,QAAA,UACA,EAAA,UAAA,YACA,EAAA,OAAA,SACA,EAAA,UAAA,YACA,EAAA,QAAA,WACF,EAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"automation.cjs","names":[],"sources":["../../src/types/automation.ts"],"sourcesContent":["export interface AutomationTrigger {\n /**\n * Trigger kind. Known values are the schedule aliases \"cron\" / \"schedule\"\n * (time-based) and \"event\" (webhook/event-driven). Kept as `string` rather\n * than a closed union on purpose: the backend emits more than one\n * scheduled-trigger alias and may introduce new kinds, so UI code branches\n * on `type === \"event\"` and treats every other value as a schedule.\n */\n type: string;\n /** Cron expression (schedule triggers only). */\n schedule?: string;\n /** Human-readable schedule description (schedule triggers only). */\n schedule_human?: string;\n /** IANA timezone name (schedule triggers only). */\n timezone?: string;\n /** Event source, e.g. \"github\" (event triggers only). */\n source?: string;\n /** Event key pattern(s) to match, e.g. \"pull_request.opened\" or [\"push\", \"release.*\"]. */\n on?: string | string[];\n /** JMESPath filter expression evaluated against the raw webhook payload. */\n filter?: string;\n}\n\nexport interface Automation {\n id: string;\n name: string;\n trigger: AutomationTrigger;\n enabled: boolean;\n /**\n * UUID of the user who created this automation. The backend returns it in\n * `AutomationResponse.user_id`; the frontend uses it to implement the\n * \"creator escape hatch\" — a member (view-only) may still edit their own\n * automations even without `manage_automations`.\n */\n user_id?: string;\n repository?: string;\n /** LLM/model profile name used for automation runs. */\n model?: string | null;\n /**\n * Maximum run time in seconds. `null`/omitted uses the server default\n * (600s, 10 min); the deployment reports the maximum it accepts.\n */\n timeout?: number | null;\n\n created_at: string;\n updated_at: string;\n prompt: string | null;\n branch?: string;\n plugins?: string[];\n notification?: string;\n timezone?: string;\n last_triggered_at?: string | null;\n /**\n * Service-owned preset state, returned verbatim. The GUI reads only the\n * `template` provenance block inside it ({id, version, config}, written at\n * setup time), and only through the guarded helper in\n * `#/utils/automation-catalog`.\n */\n preset_metadata?: Record<string, unknown> | null;\n}\n\nexport type AutomationSpec = Omit<\n Automation,\n \"id\" | \"created_at\" | \"updated_at\" | \"last_triggered_at\" | \"preset_metadata\"\n>;\n\n/** The envelope constants come from the interface manifest's import/export spec. */\nexport interface AutomationExportFile {\n version: number;\n kind: string;\n spec: AutomationSpec;\n}\n\nexport interface AutomationsResponse {\n automations: Automation[];\n total: number;\n}\n\n/** Mirrors `RunStatus` in the automation service's OpenAPI schema. */\nexport enum AutomationRunStatus {\n PENDING = \"PENDING\",\n RUNNING = \"RUNNING\",\n COMPLETED = \"COMPLETED\",\n FAILED = \"FAILED\",\n CANCELLED = \"CANCELLED\",\n SKIPPED = \"SKIPPED\",\n}\n\nexport type AutomationTaskOutcomeStatus =\n | \"success\"\n | \"partial_success\"\n | \"blocked\"\n | \"failed\"\n | \"unknown\";\n\nexport interface AutomationFinishToolResponse {\n status?: AutomationTaskOutcomeStatus | string;\n outcome_summary?: string;\n [key: string]: unknown;\n}\n\nexport interface AutomationRunMetadata {\n finish_tool_response?: AutomationFinishToolResponse | string | null;\n [key: string]: unknown;\n}\n\nexport interface AutomationRunStatusDetail {\n phase?: string;\n kind?: string;\n detail?: string;\n formatted_detail?: string;\n transient?: boolean;\n source?: string;\n operation?: string;\n code?: string;\n status_code?: number;\n [key: string]: unknown;\n}\n\nexport interface AutomationRun {\n id: string;\n status: AutomationRunStatus;\n conversation_id: string | null;\n /**\n * ID of the bash command that ran the automation inside the agent-server\n * sandbox. Used to fetch run logs from\n * `/api/bash/bash_events/{bash_command_id}` and the matching\n * `BashOutput` events. Null when the run failed before a command was\n * dispatched (e.g. sandbox provisioning errors).\n */\n bash_command_id: string | null;\n error_detail: string | null;\n status_detail?: AutomationRunStatusDetail | null;\n run_metadata?: AutomationRunMetadata | null;\n /**\n * Accumulated LLM cost of the run in USD, reported by the SDK in the\n * completion callback. `null` means unknown — the run predates cost\n * tracking, or ended without a callback (cancelled, watchdog timeout).\n * Absent entirely when the automation service is older than the release\n * that added the field, hence optional.\n */\n cost?: number | null;\n /**\n * Machine-readable code for the run's current or last-known phase (e.g.\n * \"sandbox_provisioning\"). `null` means nothing has reported one; absent\n * entirely against an automation service that predates phase reporting.\n * Code and label are one value, always written together.\n */\n phase_code?: string | null;\n /**\n * Author-supplied description of the phase (at most 200 characters, no\n * control or separator characters, emoji and non-Latin text allowed).\n * Data, not translatable interface copy.\n */\n phase_label?: string | null;\n /** UTC datetime the phase was last written. Same nullability as `phase_code`. */\n phase_updated_at?: string | null;\n started_at: string;\n completed_at: string | null;\n}\n\nexport interface AutomationRunsResponse {\n runs: AutomationRun[];\n total: number;\n /**\n * Lifetime run counts by status, unaffected by pagination. Sparse — a\n * status with no runs has no key, so when the field is present a missing\n * key means zero. Absent entirely when the automation service is older\n * than the release that added it.\n */\n status_counts?: Partial<Record<AutomationRunStatus, number>>;\n}\n\nexport type ActivityLogExportFormat = \"json\" | \"csv\";\n\n/** Client-built Activity Log export row (from list runs + automation detail). */\nexport interface AutomationRunExportRow {\n run_id: string;\n automation_id: string;\n automation_name: string;\n trigger: AutomationTrigger | Record<string, unknown>;\n start_time: string | null;\n end_time: string | null;\n duration_seconds: number | null;\n status: AutomationRunStatus;\n conversation_id: string | null;\n conversation_url: string | null;\n error: string | null;\n /**\n * Accumulated LLM cost in USD, or null when unknown. Unlike\n * `AutomationRun[\"cost\"]` this is always present: the row normalizes a\n * missing field to null so every exported record has the same shape.\n */\n cost: number | null;\n /**\n * The raw `phase_code`, like `status`, falling back to `phase_label` for a\n * phase reported without a code. Null only when the run has no phase.\n */\n phase: string | null;\n}\n"],"mappings":"6CA+EA,IAAY,EAAL,SAAA,EAAA,OACL,GAAA,QAAA,UACA,EAAA,QAAA,UACA,EAAA,UAAA,YACA,EAAA,OAAA,SACA,EAAA,UAAA,YACA,EAAA,QAAA,WACF,EAAA,CAAA,CAAA"}
@@ -25,6 +25,13 @@ export interface Automation {
25
25
  name: string;
26
26
  trigger: AutomationTrigger;
27
27
  enabled: boolean;
28
+ /**
29
+ * UUID of the user who created this automation. The backend returns it in
30
+ * `AutomationResponse.user_id`; the frontend uses it to implement the
31
+ * "creator escape hatch" — a member (view-only) may still edit their own
32
+ * automations even without `manage_automations`.
33
+ */
34
+ user_id?: string;
28
35
  repository?: string;
29
36
  /** LLM/model profile name used for automation runs. */
30
37
  model?: string | null;
@@ -41,8 +48,15 @@ export interface Automation {
41
48
  notification?: string;
42
49
  timezone?: string;
43
50
  last_triggered_at?: string | null;
51
+ /**
52
+ * Service-owned preset state, returned verbatim. The GUI reads only the
53
+ * `template` provenance block inside it ({id, version, config}, written at
54
+ * setup time), and only through the guarded helper in
55
+ * `#/utils/automation-catalog`.
56
+ */
57
+ preset_metadata?: Record<string, unknown> | null;
44
58
  }
45
- export type AutomationSpec = Omit<Automation, "id" | "created_at" | "updated_at" | "last_triggered_at">;
59
+ export type AutomationSpec = Omit<Automation, "id" | "created_at" | "updated_at" | "last_triggered_at" | "preset_metadata">;
46
60
  /** The envelope constants come from the interface manifest's import/export spec. */
47
61
  export interface AutomationExportFile {
48
62
  version: number;
@@ -62,6 +76,28 @@ export declare enum AutomationRunStatus {
62
76
  CANCELLED = "CANCELLED",
63
77
  SKIPPED = "SKIPPED"
64
78
  }
79
+ export type AutomationTaskOutcomeStatus = "success" | "partial_success" | "blocked" | "failed" | "unknown";
80
+ export interface AutomationFinishToolResponse {
81
+ status?: AutomationTaskOutcomeStatus | string;
82
+ outcome_summary?: string;
83
+ [key: string]: unknown;
84
+ }
85
+ export interface AutomationRunMetadata {
86
+ finish_tool_response?: AutomationFinishToolResponse | string | null;
87
+ [key: string]: unknown;
88
+ }
89
+ export interface AutomationRunStatusDetail {
90
+ phase?: string;
91
+ kind?: string;
92
+ detail?: string;
93
+ formatted_detail?: string;
94
+ transient?: boolean;
95
+ source?: string;
96
+ operation?: string;
97
+ code?: string;
98
+ status_code?: number;
99
+ [key: string]: unknown;
100
+ }
65
101
  export interface AutomationRun {
66
102
  id: string;
67
103
  status: AutomationRunStatus;
@@ -75,6 +111,8 @@ export interface AutomationRun {
75
111
  */
76
112
  bash_command_id: string | null;
77
113
  error_detail: string | null;
114
+ status_detail?: AutomationRunStatusDetail | null;
115
+ run_metadata?: AutomationRunMetadata | null;
78
116
  /**
79
117
  * Accumulated LLM cost of the run in USD, reported by the SDK in the
80
118
  * completion callback. `null` means unknown — the run predates cost
@@ -83,12 +121,34 @@ export interface AutomationRun {
83
121
  * that added the field, hence optional.
84
122
  */
85
123
  cost?: number | null;
124
+ /**
125
+ * Machine-readable code for the run's current or last-known phase (e.g.
126
+ * "sandbox_provisioning"). `null` means nothing has reported one; absent
127
+ * entirely against an automation service that predates phase reporting.
128
+ * Code and label are one value, always written together.
129
+ */
130
+ phase_code?: string | null;
131
+ /**
132
+ * Author-supplied description of the phase (at most 200 characters, no
133
+ * control or separator characters, emoji and non-Latin text allowed).
134
+ * Data, not translatable interface copy.
135
+ */
136
+ phase_label?: string | null;
137
+ /** UTC datetime the phase was last written. Same nullability as `phase_code`. */
138
+ phase_updated_at?: string | null;
86
139
  started_at: string;
87
140
  completed_at: string | null;
88
141
  }
89
142
  export interface AutomationRunsResponse {
90
143
  runs: AutomationRun[];
91
144
  total: number;
145
+ /**
146
+ * Lifetime run counts by status, unaffected by pagination. Sparse — a
147
+ * status with no runs has no key, so when the field is present a missing
148
+ * key means zero. Absent entirely when the automation service is older
149
+ * than the release that added it.
150
+ */
151
+ status_counts?: Partial<Record<AutomationRunStatus, number>>;
92
152
  }
93
153
  export type ActivityLogExportFormat = "json" | "csv";
94
154
  /** Client-built Activity Log export row (from list runs + automation detail). */
@@ -110,4 +170,9 @@ export interface AutomationRunExportRow {
110
170
  * missing field to null so every exported record has the same shape.
111
171
  */
112
172
  cost: number | null;
173
+ /**
174
+ * The raw `phase_code`, like `status`, falling back to `phase_label` for a
175
+ * phase reported without a code. Null only when the run has no phase.
176
+ */
177
+ phase: string | null;
113
178
  }
@@ -1 +1 @@
1
- {"version":3,"file":"automation.js","names":[],"sources":["../../src/types/automation.ts"],"sourcesContent":["export interface AutomationTrigger {\n /**\n * Trigger kind. Known values are the schedule aliases \"cron\" / \"schedule\"\n * (time-based) and \"event\" (webhook/event-driven). Kept as `string` rather\n * than a closed union on purpose: the backend emits more than one\n * scheduled-trigger alias and may introduce new kinds, so UI code branches\n * on `type === \"event\"` and treats every other value as a schedule.\n */\n type: string;\n /** Cron expression (schedule triggers only). */\n schedule?: string;\n /** Human-readable schedule description (schedule triggers only). */\n schedule_human?: string;\n /** IANA timezone name (schedule triggers only). */\n timezone?: string;\n /** Event source, e.g. \"github\" (event triggers only). */\n source?: string;\n /** Event key pattern(s) to match, e.g. \"pull_request.opened\" or [\"push\", \"release.*\"]. */\n on?: string | string[];\n /** JMESPath filter expression evaluated against the raw webhook payload. */\n filter?: string;\n}\n\nexport interface Automation {\n id: string;\n name: string;\n trigger: AutomationTrigger;\n enabled: boolean;\n repository?: string;\n /** LLM/model profile name used for automation runs. */\n model?: string | null;\n /**\n * Maximum run time in seconds. `null`/omitted uses the server default\n * (600s, 10 min); the deployment reports the maximum it accepts.\n */\n timeout?: number | null;\n\n created_at: string;\n updated_at: string;\n prompt: string | null;\n branch?: string;\n plugins?: string[];\n notification?: string;\n timezone?: string;\n last_triggered_at?: string | null;\n}\n\nexport type AutomationSpec = Omit<\n Automation,\n \"id\" | \"created_at\" | \"updated_at\" | \"last_triggered_at\"\n>;\n\n/** The envelope constants come from the interface manifest's import/export spec. */\nexport interface AutomationExportFile {\n version: number;\n kind: string;\n spec: AutomationSpec;\n}\n\nexport interface AutomationsResponse {\n automations: Automation[];\n total: number;\n}\n\n/** Mirrors `RunStatus` in the automation service's OpenAPI schema. */\nexport enum AutomationRunStatus {\n PENDING = \"PENDING\",\n RUNNING = \"RUNNING\",\n COMPLETED = \"COMPLETED\",\n FAILED = \"FAILED\",\n CANCELLED = \"CANCELLED\",\n SKIPPED = \"SKIPPED\",\n}\n\nexport interface AutomationRun {\n id: string;\n status: AutomationRunStatus;\n conversation_id: string | null;\n /**\n * ID of the bash command that ran the automation inside the agent-server\n * sandbox. Used to fetch run logs from\n * `/api/bash/bash_events/{bash_command_id}` and the matching\n * `BashOutput` events. Null when the run failed before a command was\n * dispatched (e.g. sandbox provisioning errors).\n */\n bash_command_id: string | null;\n error_detail: string | null;\n /**\n * Accumulated LLM cost of the run in USD, reported by the SDK in the\n * completion callback. `null` means unknown — the run predates cost\n * tracking, or ended without a callback (cancelled, watchdog timeout).\n * Absent entirely when the automation service is older than the release\n * that added the field, hence optional.\n */\n cost?: number | null;\n started_at: string;\n completed_at: string | null;\n}\n\nexport interface AutomationRunsResponse {\n runs: AutomationRun[];\n total: number;\n}\n\nexport type ActivityLogExportFormat = \"json\" | \"csv\";\n\n/** Client-built Activity Log export row (from list runs + automation detail). */\nexport interface AutomationRunExportRow {\n run_id: string;\n automation_id: string;\n automation_name: string;\n trigger: AutomationTrigger | Record<string, unknown>;\n start_time: string | null;\n end_time: string | null;\n duration_seconds: number | null;\n status: AutomationRunStatus;\n conversation_id: string | null;\n conversation_url: string | null;\n error: string | null;\n /**\n * Accumulated LLM cost in USD, or null when unknown. Unlike\n * `AutomationRun[\"cost\"]` this is always present: the row normalizes a\n * missing field to null so every exported record has the same shape.\n */\n cost: number | null;\n}\n"],"mappings":";AAiEA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,UAAA,WACA,EAAA,UAAA,WACA,EAAA,YAAA,aACA,EAAA,SAAA,UACA,EAAA,YAAA,aACA,EAAA,UAAA;AACF,EAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"automation.js","names":[],"sources":["../../src/types/automation.ts"],"sourcesContent":["export interface AutomationTrigger {\n /**\n * Trigger kind. Known values are the schedule aliases \"cron\" / \"schedule\"\n * (time-based) and \"event\" (webhook/event-driven). Kept as `string` rather\n * than a closed union on purpose: the backend emits more than one\n * scheduled-trigger alias and may introduce new kinds, so UI code branches\n * on `type === \"event\"` and treats every other value as a schedule.\n */\n type: string;\n /** Cron expression (schedule triggers only). */\n schedule?: string;\n /** Human-readable schedule description (schedule triggers only). */\n schedule_human?: string;\n /** IANA timezone name (schedule triggers only). */\n timezone?: string;\n /** Event source, e.g. \"github\" (event triggers only). */\n source?: string;\n /** Event key pattern(s) to match, e.g. \"pull_request.opened\" or [\"push\", \"release.*\"]. */\n on?: string | string[];\n /** JMESPath filter expression evaluated against the raw webhook payload. */\n filter?: string;\n}\n\nexport interface Automation {\n id: string;\n name: string;\n trigger: AutomationTrigger;\n enabled: boolean;\n /**\n * UUID of the user who created this automation. The backend returns it in\n * `AutomationResponse.user_id`; the frontend uses it to implement the\n * \"creator escape hatch\" — a member (view-only) may still edit their own\n * automations even without `manage_automations`.\n */\n user_id?: string;\n repository?: string;\n /** LLM/model profile name used for automation runs. */\n model?: string | null;\n /**\n * Maximum run time in seconds. `null`/omitted uses the server default\n * (600s, 10 min); the deployment reports the maximum it accepts.\n */\n timeout?: number | null;\n\n created_at: string;\n updated_at: string;\n prompt: string | null;\n branch?: string;\n plugins?: string[];\n notification?: string;\n timezone?: string;\n last_triggered_at?: string | null;\n /**\n * Service-owned preset state, returned verbatim. The GUI reads only the\n * `template` provenance block inside it ({id, version, config}, written at\n * setup time), and only through the guarded helper in\n * `#/utils/automation-catalog`.\n */\n preset_metadata?: Record<string, unknown> | null;\n}\n\nexport type AutomationSpec = Omit<\n Automation,\n \"id\" | \"created_at\" | \"updated_at\" | \"last_triggered_at\" | \"preset_metadata\"\n>;\n\n/** The envelope constants come from the interface manifest's import/export spec. */\nexport interface AutomationExportFile {\n version: number;\n kind: string;\n spec: AutomationSpec;\n}\n\nexport interface AutomationsResponse {\n automations: Automation[];\n total: number;\n}\n\n/** Mirrors `RunStatus` in the automation service's OpenAPI schema. */\nexport enum AutomationRunStatus {\n PENDING = \"PENDING\",\n RUNNING = \"RUNNING\",\n COMPLETED = \"COMPLETED\",\n FAILED = \"FAILED\",\n CANCELLED = \"CANCELLED\",\n SKIPPED = \"SKIPPED\",\n}\n\nexport type AutomationTaskOutcomeStatus =\n | \"success\"\n | \"partial_success\"\n | \"blocked\"\n | \"failed\"\n | \"unknown\";\n\nexport interface AutomationFinishToolResponse {\n status?: AutomationTaskOutcomeStatus | string;\n outcome_summary?: string;\n [key: string]: unknown;\n}\n\nexport interface AutomationRunMetadata {\n finish_tool_response?: AutomationFinishToolResponse | string | null;\n [key: string]: unknown;\n}\n\nexport interface AutomationRunStatusDetail {\n phase?: string;\n kind?: string;\n detail?: string;\n formatted_detail?: string;\n transient?: boolean;\n source?: string;\n operation?: string;\n code?: string;\n status_code?: number;\n [key: string]: unknown;\n}\n\nexport interface AutomationRun {\n id: string;\n status: AutomationRunStatus;\n conversation_id: string | null;\n /**\n * ID of the bash command that ran the automation inside the agent-server\n * sandbox. Used to fetch run logs from\n * `/api/bash/bash_events/{bash_command_id}` and the matching\n * `BashOutput` events. Null when the run failed before a command was\n * dispatched (e.g. sandbox provisioning errors).\n */\n bash_command_id: string | null;\n error_detail: string | null;\n status_detail?: AutomationRunStatusDetail | null;\n run_metadata?: AutomationRunMetadata | null;\n /**\n * Accumulated LLM cost of the run in USD, reported by the SDK in the\n * completion callback. `null` means unknown — the run predates cost\n * tracking, or ended without a callback (cancelled, watchdog timeout).\n * Absent entirely when the automation service is older than the release\n * that added the field, hence optional.\n */\n cost?: number | null;\n /**\n * Machine-readable code for the run's current or last-known phase (e.g.\n * \"sandbox_provisioning\"). `null` means nothing has reported one; absent\n * entirely against an automation service that predates phase reporting.\n * Code and label are one value, always written together.\n */\n phase_code?: string | null;\n /**\n * Author-supplied description of the phase (at most 200 characters, no\n * control or separator characters, emoji and non-Latin text allowed).\n * Data, not translatable interface copy.\n */\n phase_label?: string | null;\n /** UTC datetime the phase was last written. Same nullability as `phase_code`. */\n phase_updated_at?: string | null;\n started_at: string;\n completed_at: string | null;\n}\n\nexport interface AutomationRunsResponse {\n runs: AutomationRun[];\n total: number;\n /**\n * Lifetime run counts by status, unaffected by pagination. Sparse — a\n * status with no runs has no key, so when the field is present a missing\n * key means zero. Absent entirely when the automation service is older\n * than the release that added it.\n */\n status_counts?: Partial<Record<AutomationRunStatus, number>>;\n}\n\nexport type ActivityLogExportFormat = \"json\" | \"csv\";\n\n/** Client-built Activity Log export row (from list runs + automation detail). */\nexport interface AutomationRunExportRow {\n run_id: string;\n automation_id: string;\n automation_name: string;\n trigger: AutomationTrigger | Record<string, unknown>;\n start_time: string | null;\n end_time: string | null;\n duration_seconds: number | null;\n status: AutomationRunStatus;\n conversation_id: string | null;\n conversation_url: string | null;\n error: string | null;\n /**\n * Accumulated LLM cost in USD, or null when unknown. Unlike\n * `AutomationRun[\"cost\"]` this is always present: the row normalizes a\n * missing field to null so every exported record has the same shape.\n */\n cost: number | null;\n /**\n * The raw `phase_code`, like `status`, falling back to `phase_label` for a\n * phase reported without a code. Null only when the run has no phase.\n */\n phase: string | null;\n}\n"],"mappings":";AA+EA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,UAAA,WACA,EAAA,UAAA,WACA,EAAA,YAAA,aACA,EAAA,SAAA,UACA,EAAA,YAAA,aACA,EAAA,UAAA;AACF,EAAA,CAAA,CAAA"}
@@ -0,0 +1,2 @@
1
+ require("../_virtual/_rolldown/runtime.cjs");var e=1,t=`1`;exports.CANVAS_EXTENSION_HOST_API_VERSION=t,exports.CANVAS_EXTENSION_MANIFEST_SCHEMA_VERSION=e;
2
+ //# sourceMappingURL=canvas-extension.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas-extension.cjs","names":[],"sources":["../../src/types/canvas-extension.ts"],"sourcesContent":["export const CANVAS_EXTENSION_MANIFEST_SCHEMA_VERSION = 1 as const;\nexport const CANVAS_EXTENSION_HOST_API_VERSION = \"1\" as const;\n\nexport interface CanvasExtensionPageContribution {\n id: string;\n title: string;\n path: string;\n nav_label?: string | null;\n description?: string | null;\n}\n\nexport interface CanvasExtensionContributions {\n pages?: CanvasExtensionPageContribution[] | null;\n}\n\n/** Parsed contents of `canvas-extension.json`. */\nexport interface CanvasExtensionManifest {\n schema_version: typeof CANVAS_EXTENSION_MANIFEST_SCHEMA_VERSION;\n name: string;\n display_name?: string | null;\n version: string;\n description?: string | null;\n entrypoint: string;\n contributes?: CanvasExtensionContributions | null;\n}\n\nexport interface InstalledCanvasExtensionInfo {\n name: string;\n version: string;\n description?: string | null;\n enabled: boolean;\n source: string;\n requested_ref?: string | null;\n resolved_ref?: string | null;\n repo_path?: string | null;\n installed_at: string;\n install_path: string;\n /** Absent until the backend exposes page contributions (OSS-10048). */\n manifest?: CanvasExtensionManifest | null;\n}\n\nexport interface InstallCanvasExtensionRequest {\n source: string;\n ref?: string | null;\n repo_path?: string | null;\n force?: boolean;\n}\n\nexport type CanvasExtensionDispose = () => void;\n\nexport interface CanvasExtensionPageMountContext {\n container: HTMLElement;\n /** Remainder of the route below the page contribution's declared path. */\n path: string;\n navigate: (path: string) => void;\n}\n\nexport type CanvasExtensionPageMount = (\n context: CanvasExtensionPageMountContext,\n) => void | CanvasExtensionDispose | Promise<void | CanvasExtensionDispose>;\n\nexport interface CanvasExtensionAgentServerRequest {\n method?: \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\n path: string;\n body?: unknown;\n headers?: Record<string, string>;\n}\n\nexport interface CanvasExtensionHost {\n readonly apiVersion: typeof CANVAS_EXTENSION_HOST_API_VERSION;\n readonly extension: Readonly<{\n name: string;\n version: string;\n resolvedRef: string | null;\n }>;\n readonly backend: Readonly<{\n id: string;\n kind: \"local\" | \"cloud\";\n orgId: string | null;\n }>;\n registerPage: (\n contributionId: string,\n mount: CanvasExtensionPageMount,\n ) => CanvasExtensionDispose;\n navigate: (path: string) => void;\n agentServer: {\n request: <T = unknown>(\n request: CanvasExtensionAgentServerRequest,\n ) => Promise<T>;\n };\n}\n\nexport interface CanvasExtensionModule {\n activate: (\n host: CanvasExtensionHost,\n ) => void | CanvasExtensionDispose | Promise<void | CanvasExtensionDispose>;\n}\n"],"mappings":"6CAAA,IAAa,EAA2C,EAC3C,EAAoC"}
@@ -0,0 +1,77 @@
1
+ export declare const CANVAS_EXTENSION_MANIFEST_SCHEMA_VERSION: 1;
2
+ export declare const CANVAS_EXTENSION_HOST_API_VERSION: "1";
3
+ export interface CanvasExtensionPageContribution {
4
+ id: string;
5
+ title: string;
6
+ path: string;
7
+ nav_label?: string | null;
8
+ description?: string | null;
9
+ }
10
+ export interface CanvasExtensionContributions {
11
+ pages?: CanvasExtensionPageContribution[] | null;
12
+ }
13
+ /** Parsed contents of `canvas-extension.json`. */
14
+ export interface CanvasExtensionManifest {
15
+ schema_version: typeof CANVAS_EXTENSION_MANIFEST_SCHEMA_VERSION;
16
+ name: string;
17
+ display_name?: string | null;
18
+ version: string;
19
+ description?: string | null;
20
+ entrypoint: string;
21
+ contributes?: CanvasExtensionContributions | null;
22
+ }
23
+ export interface InstalledCanvasExtensionInfo {
24
+ name: string;
25
+ version: string;
26
+ description?: string | null;
27
+ enabled: boolean;
28
+ source: string;
29
+ requested_ref?: string | null;
30
+ resolved_ref?: string | null;
31
+ repo_path?: string | null;
32
+ installed_at: string;
33
+ install_path: string;
34
+ /** Absent until the backend exposes page contributions (OSS-10048). */
35
+ manifest?: CanvasExtensionManifest | null;
36
+ }
37
+ export interface InstallCanvasExtensionRequest {
38
+ source: string;
39
+ ref?: string | null;
40
+ repo_path?: string | null;
41
+ force?: boolean;
42
+ }
43
+ export type CanvasExtensionDispose = () => void;
44
+ export interface CanvasExtensionPageMountContext {
45
+ container: HTMLElement;
46
+ /** Remainder of the route below the page contribution's declared path. */
47
+ path: string;
48
+ navigate: (path: string) => void;
49
+ }
50
+ export type CanvasExtensionPageMount = (context: CanvasExtensionPageMountContext) => void | CanvasExtensionDispose | Promise<void | CanvasExtensionDispose>;
51
+ export interface CanvasExtensionAgentServerRequest {
52
+ method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
53
+ path: string;
54
+ body?: unknown;
55
+ headers?: Record<string, string>;
56
+ }
57
+ export interface CanvasExtensionHost {
58
+ readonly apiVersion: typeof CANVAS_EXTENSION_HOST_API_VERSION;
59
+ readonly extension: Readonly<{
60
+ name: string;
61
+ version: string;
62
+ resolvedRef: string | null;
63
+ }>;
64
+ readonly backend: Readonly<{
65
+ id: string;
66
+ kind: "local" | "cloud";
67
+ orgId: string | null;
68
+ }>;
69
+ registerPage: (contributionId: string, mount: CanvasExtensionPageMount) => CanvasExtensionDispose;
70
+ navigate: (path: string) => void;
71
+ agentServer: {
72
+ request: <T = unknown>(request: CanvasExtensionAgentServerRequest) => Promise<T>;
73
+ };
74
+ }
75
+ export interface CanvasExtensionModule {
76
+ activate: (host: CanvasExtensionHost) => void | CanvasExtensionDispose | Promise<void | CanvasExtensionDispose>;
77
+ }
@@ -0,0 +1,6 @@
1
+ //#region src/types/canvas-extension.ts
2
+ var e = 1, t = "1";
3
+ //#endregion
4
+ export { t as CANVAS_EXTENSION_HOST_API_VERSION, e as CANVAS_EXTENSION_MANIFEST_SCHEMA_VERSION };
5
+
6
+ //# sourceMappingURL=canvas-extension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas-extension.js","names":[],"sources":["../../src/types/canvas-extension.ts"],"sourcesContent":["export const CANVAS_EXTENSION_MANIFEST_SCHEMA_VERSION = 1 as const;\nexport const CANVAS_EXTENSION_HOST_API_VERSION = \"1\" as const;\n\nexport interface CanvasExtensionPageContribution {\n id: string;\n title: string;\n path: string;\n nav_label?: string | null;\n description?: string | null;\n}\n\nexport interface CanvasExtensionContributions {\n pages?: CanvasExtensionPageContribution[] | null;\n}\n\n/** Parsed contents of `canvas-extension.json`. */\nexport interface CanvasExtensionManifest {\n schema_version: typeof CANVAS_EXTENSION_MANIFEST_SCHEMA_VERSION;\n name: string;\n display_name?: string | null;\n version: string;\n description?: string | null;\n entrypoint: string;\n contributes?: CanvasExtensionContributions | null;\n}\n\nexport interface InstalledCanvasExtensionInfo {\n name: string;\n version: string;\n description?: string | null;\n enabled: boolean;\n source: string;\n requested_ref?: string | null;\n resolved_ref?: string | null;\n repo_path?: string | null;\n installed_at: string;\n install_path: string;\n /** Absent until the backend exposes page contributions (OSS-10048). */\n manifest?: CanvasExtensionManifest | null;\n}\n\nexport interface InstallCanvasExtensionRequest {\n source: string;\n ref?: string | null;\n repo_path?: string | null;\n force?: boolean;\n}\n\nexport type CanvasExtensionDispose = () => void;\n\nexport interface CanvasExtensionPageMountContext {\n container: HTMLElement;\n /** Remainder of the route below the page contribution's declared path. */\n path: string;\n navigate: (path: string) => void;\n}\n\nexport type CanvasExtensionPageMount = (\n context: CanvasExtensionPageMountContext,\n) => void | CanvasExtensionDispose | Promise<void | CanvasExtensionDispose>;\n\nexport interface CanvasExtensionAgentServerRequest {\n method?: \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\n path: string;\n body?: unknown;\n headers?: Record<string, string>;\n}\n\nexport interface CanvasExtensionHost {\n readonly apiVersion: typeof CANVAS_EXTENSION_HOST_API_VERSION;\n readonly extension: Readonly<{\n name: string;\n version: string;\n resolvedRef: string | null;\n }>;\n readonly backend: Readonly<{\n id: string;\n kind: \"local\" | \"cloud\";\n orgId: string | null;\n }>;\n registerPage: (\n contributionId: string,\n mount: CanvasExtensionPageMount,\n ) => CanvasExtensionDispose;\n navigate: (path: string) => void;\n agentServer: {\n request: <T = unknown>(\n request: CanvasExtensionAgentServerRequest,\n ) => Promise<T>;\n };\n}\n\nexport interface CanvasExtensionModule {\n activate: (\n host: CanvasExtensionHost,\n ) => void | CanvasExtensionDispose | Promise<void | CanvasExtensionDispose>;\n}\n"],"mappings":";AAAA,IAAa,IAA2C,GAC3C,IAAoC"}
@@ -113,7 +113,14 @@ export type Settings = {
113
113
  search_api_key?: string;
114
114
  is_new_user?: boolean;
115
115
  mcp_config?: MCPConfig;
116
+ /** Deny-list over user- and project-authored skills. */
116
117
  disabled_skills?: string[];
118
+ /**
119
+ * Allow-list over the bundled `@openhands/extensions` catalog. `undefined`
120
+ * means "never migrated", the only signal `migrateSkillEnablement` has, so
121
+ * it is deliberately absent from `DEFAULT_SETTINGS`.
122
+ */
123
+ enabled_skills?: string[];
117
124
  max_budget_per_task: number | null;
118
125
  email?: string;
119
126
  email_verified?: boolean;
@@ -5,7 +5,7 @@ declare const contextMenuVariants: (props?: ({
5
5
  size?: "default" | "compact" | null | undefined;
6
6
  layout?: "vertical" | null | undefined;
7
7
  position?: "none" | "bottom" | "top" | null | undefined;
8
- spacing?: "default" | "none" | null | undefined;
8
+ spacing?: "none" | "default" | null | undefined;
9
9
  alignment?: "none" | "left" | "right" | null | undefined;
10
10
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
11
11
  interface ContextMenuProps {
@@ -1,2 +1,2 @@
1
- require("../_virtual/_rolldown/runtime.cjs");const e=require("../utils/utils.cjs"),t=require("../node_modules/class-variance-authority/dist/index.cjs");let n=require("react/jsx-runtime");var r=t.cva(``,{variants:{size:{default:`text-xs`,settings:`text-sm text-[var(--oh-muted)] font-normal leading-5.5`},linkColor:{default:``,white:`text-white`}},defaultVariants:{size:`default`,linkColor:`default`}});function i({testId:t,text:i,linkText:a,href:o,suffix:s,size:c,linkColor:l,className:u,linkTextClassName:d,suffixClassName:f}){return(0,n.jsxs)(`p`,{"data-testid":t,className:e.cn(r({size:c}),u),children:[i,` `,(0,n.jsx)(`a`,{href:o,rel:`noreferrer noopener`,target:`_blank`,className:e.cn(`underline underline-offset-2`,r({size:c,linkColor:l}),d),children:a}),s&&(0,n.jsx)(`span`,{className:f,children:s})]})}exports.HelpLink=i;
1
+ require("../_virtual/_rolldown/runtime.cjs");const e=require("../utils/utils.cjs"),t=require("../node_modules/class-variance-authority/dist/index.cjs");let n=require("react/jsx-runtime");var r=t.cva(``,{variants:{size:{default:`text-xs`,settings:`text-sm text-[var(--oh-muted)] font-normal leading-5.5`},linkColor:{default:``,white:`text-white`}},defaultVariants:{size:`default`,linkColor:`default`}});function i({testId:t,text:i,linkText:a,href:o,suffix:s,suffixLinkText:c,suffixLinkHref:l,trailing:u,size:d,linkColor:f,className:p,linkTextClassName:m,suffixClassName:h}){return(0,n.jsxs)(`p`,{"data-testid":t,className:e.cn(r({size:d}),p),children:[i,` `,(0,n.jsx)(`a`,{href:o,rel:`noreferrer noopener`,target:`_blank`,className:e.cn(`underline underline-offset-2`,r({size:d,linkColor:f}),m),children:a}),s&&(0,n.jsx)(`span`,{className:h,children:s}),c&&l?(0,n.jsxs)(n.Fragment,{children:[` `,(0,n.jsx)(`a`,{href:l,rel:`noreferrer noopener`,target:`_blank`,className:e.cn(`underline underline-offset-2`,r({size:d,linkColor:f}),m),children:c}),u]}):null]})}exports.HelpLink=i;
2
2
  //# sourceMappingURL=help-link.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"help-link.cjs","names":[],"sources":["../../src/ui/help-link.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"#/utils/utils\";\n\nconst helpLinkVariants = cva(\"\", {\n variants: {\n size: {\n default: \"text-xs\",\n settings: \"text-sm text-[var(--oh-muted)] font-normal leading-5.5\",\n },\n linkColor: {\n default: \"\",\n white: \"text-white\",\n },\n },\n defaultVariants: {\n size: \"default\",\n linkColor: \"default\",\n },\n});\n\ninterface HelpLinkProps extends VariantProps<typeof helpLinkVariants> {\n testId: string;\n text: string;\n linkText: string;\n href: string;\n suffix?: string;\n className?: string;\n linkTextClassName?: string;\n suffixClassName?: string;\n}\n\nexport function HelpLink({\n testId,\n text,\n linkText,\n href,\n suffix,\n size,\n linkColor,\n className,\n linkTextClassName,\n suffixClassName,\n}: HelpLinkProps) {\n return (\n <p\n data-testid={testId}\n className={cn(helpLinkVariants({ size }), className)}\n >\n {text}{\" \"}\n <a\n href={href}\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n className={cn(\n \"underline underline-offset-2\",\n helpLinkVariants({ size, linkColor }),\n linkTextClassName,\n )}\n >\n {linkText}\n </a>\n {suffix && <span className={suffixClassName}>{suffix}</span>}\n </p>\n );\n}\n"],"mappings":"2LAGA,IAAM,EAAmB,EAAA,IAAI,GAAI,CAC/B,SAAU,CACR,KAAM,CACJ,QAAS,UACT,SAAU,wDACZ,EACA,UAAW,CACT,QAAS,GACT,MAAO,YACT,CACF,EACA,gBAAiB,CACf,KAAM,UACN,UAAW,SACb,CACF,CAAC,EAaD,SAAgB,EAAS,CACvB,SACA,OACA,WACA,OACA,SACA,OACA,YACA,YACA,oBACA,mBACgB,CAChB,OACE,EAAA,EAAA,MAAC,IAAD,CACE,cAAa,EACb,UAAW,EAAA,GAAG,EAAiB,CAAE,MAAK,CAAC,EAAG,CAAS,WAFrD,CAIG,EAAM,KACP,EAAA,EAAA,KAAC,IAAD,CACQ,OACN,IAAI,sBACJ,OAAO,SACP,UAAW,EAAA,GACT,+BACA,EAAiB,CAAE,OAAM,WAAU,CAAC,EACpC,CACF,WAEC,CACA,CAAA,EACF,IAAU,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,WAAkB,CAAa,CAAA,CAC1D,GAEP"}
1
+ {"version":3,"file":"help-link.cjs","names":[],"sources":["../../src/ui/help-link.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"#/utils/utils\";\n\nconst helpLinkVariants = cva(\"\", {\n variants: {\n size: {\n default: \"text-xs\",\n settings: \"text-sm text-[var(--oh-muted)] font-normal leading-5.5\",\n },\n linkColor: {\n default: \"\",\n white: \"text-white\",\n },\n },\n defaultVariants: {\n size: \"default\",\n linkColor: \"default\",\n },\n});\n\ninterface HelpLinkProps extends VariantProps<typeof helpLinkVariants> {\n testId: string;\n text: string;\n linkText: string;\n href: string;\n suffix?: string;\n /** Optional second link rendered after the suffix. */\n suffixLinkText?: string;\n suffixLinkHref?: string;\n /** Trailing text rendered after the second link (e.g. a period). */\n trailing?: string;\n className?: string;\n linkTextClassName?: string;\n suffixClassName?: string;\n}\n\nexport function HelpLink({\n testId,\n text,\n linkText,\n href,\n suffix,\n suffixLinkText,\n suffixLinkHref,\n trailing,\n size,\n linkColor,\n className,\n linkTextClassName,\n suffixClassName,\n}: HelpLinkProps) {\n return (\n <p\n data-testid={testId}\n className={cn(helpLinkVariants({ size }), className)}\n >\n {text}{\" \"}\n <a\n href={href}\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n className={cn(\n \"underline underline-offset-2\",\n helpLinkVariants({ size, linkColor }),\n linkTextClassName,\n )}\n >\n {linkText}\n </a>\n {suffix && <span className={suffixClassName}>{suffix}</span>}\n {suffixLinkText && suffixLinkHref ? (\n <>\n {\" \"}\n <a\n href={suffixLinkHref}\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n className={cn(\n \"underline underline-offset-2\",\n helpLinkVariants({ size, linkColor }),\n linkTextClassName,\n )}\n >\n {suffixLinkText}\n </a>\n {trailing}\n </>\n ) : null}\n </p>\n );\n}\n"],"mappings":"2LAGA,IAAM,EAAmB,EAAA,IAAI,GAAI,CAC/B,SAAU,CACR,KAAM,CACJ,QAAS,UACT,SAAU,wDACZ,EACA,UAAW,CACT,QAAS,GACT,MAAO,YACT,CACF,EACA,gBAAiB,CACf,KAAM,UACN,UAAW,SACb,CACF,CAAC,EAkBD,SAAgB,EAAS,CACvB,SACA,OACA,WACA,OACA,SACA,iBACA,iBACA,WACA,OACA,YACA,YACA,oBACA,mBACgB,CAChB,OACE,EAAA,EAAA,MAAC,IAAD,CACE,cAAa,EACb,UAAW,EAAA,GAAG,EAAiB,CAAE,MAAK,CAAC,EAAG,CAAS,WAFrD,CAIG,EAAM,KACP,EAAA,EAAA,KAAC,IAAD,CACQ,OACN,IAAI,sBACJ,OAAO,SACP,UAAW,EAAA,GACT,+BACA,EAAiB,CAAE,OAAM,WAAU,CAAC,EACpC,CACF,WAEC,CACA,CAAA,EACF,IAAU,EAAA,EAAA,KAAC,OAAD,CAAM,UAAW,WAAkB,CAAa,CAAA,EAC1D,GAAkB,GACjB,EAAA,EAAA,MAAA,EAAA,SAAA,CAAA,SAAA,CACG,KACD,EAAA,EAAA,KAAC,IAAD,CACE,KAAM,EACN,IAAI,sBACJ,OAAO,SACP,UAAW,EAAA,GACT,+BACA,EAAiB,CAAE,OAAM,WAAU,CAAC,EACpC,CACF,WAEC,CACA,CAAA,EACF,CACD,CAAA,CAAA,EACA,IACH,GAEP"}
@@ -9,9 +9,14 @@ interface HelpLinkProps extends VariantProps<typeof helpLinkVariants> {
9
9
  linkText: string;
10
10
  href: string;
11
11
  suffix?: string;
12
+ /** Optional second link rendered after the suffix. */
13
+ suffixLinkText?: string;
14
+ suffixLinkHref?: string;
15
+ /** Trailing text rendered after the second link (e.g. a period). */
16
+ trailing?: string;
12
17
  className?: string;
13
18
  linkTextClassName?: string;
14
19
  suffixClassName?: string;
15
20
  }
16
- export declare function HelpLink({ testId, text, linkText, href, suffix, size, linkColor, className, linkTextClassName, suffixClassName, }: HelpLinkProps): import("react").JSX.Element;
21
+ export declare function HelpLink({ testId, text, linkText, href, suffix, suffixLinkText, suffixLinkHref, trailing, size, linkColor, className, linkTextClassName, suffixClassName, }: HelpLinkProps): import("react").JSX.Element;
17
22
  export {};
@@ -1,8 +1,8 @@
1
1
  import { cn as e } from "../utils/utils.js";
2
2
  import { cva as t } from "../node_modules/class-variance-authority/dist/index.js";
3
- import { jsx as n, jsxs as r } from "react/jsx-runtime";
3
+ import { Fragment as n, jsx as r, jsxs as i } from "react/jsx-runtime";
4
4
  //#region src/ui/help-link.tsx
5
- var i = t("", {
5
+ var a = t("", {
6
6
  variants: {
7
7
  size: {
8
8
  default: "text-xs",
@@ -18,31 +18,45 @@ var i = t("", {
18
18
  linkColor: "default"
19
19
  }
20
20
  });
21
- function a({ testId: t, text: a, linkText: o, href: s, suffix: c, size: l, linkColor: u, className: d, linkTextClassName: f, suffixClassName: p }) {
22
- return /* @__PURE__ */ r("p", {
21
+ function o({ testId: t, text: o, linkText: s, href: c, suffix: l, suffixLinkText: u, suffixLinkHref: d, trailing: f, size: p, linkColor: m, className: h, linkTextClassName: g, suffixClassName: _ }) {
22
+ return /* @__PURE__ */ i("p", {
23
23
  "data-testid": t,
24
- className: e(i({ size: l }), d),
24
+ className: e(a({ size: p }), h),
25
25
  children: [
26
- a,
26
+ o,
27
27
  " ",
28
- /* @__PURE__ */ n("a", {
29
- href: s,
28
+ /* @__PURE__ */ r("a", {
29
+ href: c,
30
30
  rel: "noreferrer noopener",
31
31
  target: "_blank",
32
- className: e("underline underline-offset-2", i({
33
- size: l,
34
- linkColor: u
35
- }), f),
36
- children: o
32
+ className: e("underline underline-offset-2", a({
33
+ size: p,
34
+ linkColor: m
35
+ }), g),
36
+ children: s
37
37
  }),
38
- c && /* @__PURE__ */ n("span", {
39
- className: p,
40
- children: c
41
- })
38
+ l && /* @__PURE__ */ r("span", {
39
+ className: _,
40
+ children: l
41
+ }),
42
+ u && d ? /* @__PURE__ */ i(n, { children: [
43
+ " ",
44
+ /* @__PURE__ */ r("a", {
45
+ href: d,
46
+ rel: "noreferrer noopener",
47
+ target: "_blank",
48
+ className: e("underline underline-offset-2", a({
49
+ size: p,
50
+ linkColor: m
51
+ }), g),
52
+ children: u
53
+ }),
54
+ f
55
+ ] }) : null
42
56
  ]
43
57
  });
44
58
  }
45
59
  //#endregion
46
- export { a as HelpLink };
60
+ export { o as HelpLink };
47
61
 
48
62
  //# sourceMappingURL=help-link.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"help-link.js","names":[],"sources":["../../src/ui/help-link.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"#/utils/utils\";\n\nconst helpLinkVariants = cva(\"\", {\n variants: {\n size: {\n default: \"text-xs\",\n settings: \"text-sm text-[var(--oh-muted)] font-normal leading-5.5\",\n },\n linkColor: {\n default: \"\",\n white: \"text-white\",\n },\n },\n defaultVariants: {\n size: \"default\",\n linkColor: \"default\",\n },\n});\n\ninterface HelpLinkProps extends VariantProps<typeof helpLinkVariants> {\n testId: string;\n text: string;\n linkText: string;\n href: string;\n suffix?: string;\n className?: string;\n linkTextClassName?: string;\n suffixClassName?: string;\n}\n\nexport function HelpLink({\n testId,\n text,\n linkText,\n href,\n suffix,\n size,\n linkColor,\n className,\n linkTextClassName,\n suffixClassName,\n}: HelpLinkProps) {\n return (\n <p\n data-testid={testId}\n className={cn(helpLinkVariants({ size }), className)}\n >\n {text}{\" \"}\n <a\n href={href}\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n className={cn(\n \"underline underline-offset-2\",\n helpLinkVariants({ size, linkColor }),\n linkTextClassName,\n )}\n >\n {linkText}\n </a>\n {suffix && <span className={suffixClassName}>{suffix}</span>}\n </p>\n );\n}\n"],"mappings":";;;;AAGA,IAAM,IAAmB,EAAI,IAAI;CAC/B,UAAU;EACR,MAAM;GACJ,SAAS;GACT,UAAU;EACZ;EACA,WAAW;GACT,SAAS;GACT,OAAO;EACT;CACF;CACA,iBAAiB;EACf,MAAM;EACN,WAAW;CACb;AACF,CAAC;AAaD,SAAgB,EAAS,EACvB,WACA,SACA,aACA,SACA,WACA,SACA,cACA,cACA,sBACA,sBACgB;CAChB,OACE,kBAAC,KAAD;EACE,eAAa;EACb,WAAW,EAAG,EAAiB,EAAE,QAAK,CAAC,GAAG,CAAS;YAFrD;GAIG;GAAM;GACP,kBAAC,KAAD;IACQ;IACN,KAAI;IACJ,QAAO;IACP,WAAW,EACT,gCACA,EAAiB;KAAE;KAAM;IAAU,CAAC,GACpC,CACF;cAEC;GACA,CAAA;GACF,KAAU,kBAAC,QAAD;IAAM,WAAW;cAAkB;GAAa,CAAA;EAC1D;;AAEP"}
1
+ {"version":3,"file":"help-link.js","names":[],"sources":["../../src/ui/help-link.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"#/utils/utils\";\n\nconst helpLinkVariants = cva(\"\", {\n variants: {\n size: {\n default: \"text-xs\",\n settings: \"text-sm text-[var(--oh-muted)] font-normal leading-5.5\",\n },\n linkColor: {\n default: \"\",\n white: \"text-white\",\n },\n },\n defaultVariants: {\n size: \"default\",\n linkColor: \"default\",\n },\n});\n\ninterface HelpLinkProps extends VariantProps<typeof helpLinkVariants> {\n testId: string;\n text: string;\n linkText: string;\n href: string;\n suffix?: string;\n /** Optional second link rendered after the suffix. */\n suffixLinkText?: string;\n suffixLinkHref?: string;\n /** Trailing text rendered after the second link (e.g. a period). */\n trailing?: string;\n className?: string;\n linkTextClassName?: string;\n suffixClassName?: string;\n}\n\nexport function HelpLink({\n testId,\n text,\n linkText,\n href,\n suffix,\n suffixLinkText,\n suffixLinkHref,\n trailing,\n size,\n linkColor,\n className,\n linkTextClassName,\n suffixClassName,\n}: HelpLinkProps) {\n return (\n <p\n data-testid={testId}\n className={cn(helpLinkVariants({ size }), className)}\n >\n {text}{\" \"}\n <a\n href={href}\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n className={cn(\n \"underline underline-offset-2\",\n helpLinkVariants({ size, linkColor }),\n linkTextClassName,\n )}\n >\n {linkText}\n </a>\n {suffix && <span className={suffixClassName}>{suffix}</span>}\n {suffixLinkText && suffixLinkHref ? (\n <>\n {\" \"}\n <a\n href={suffixLinkHref}\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n className={cn(\n \"underline underline-offset-2\",\n helpLinkVariants({ size, linkColor }),\n linkTextClassName,\n )}\n >\n {suffixLinkText}\n </a>\n {trailing}\n </>\n ) : null}\n </p>\n );\n}\n"],"mappings":";;;;AAGA,IAAM,IAAmB,EAAI,IAAI;CAC/B,UAAU;EACR,MAAM;GACJ,SAAS;GACT,UAAU;EACZ;EACA,WAAW;GACT,SAAS;GACT,OAAO;EACT;CACF;CACA,iBAAiB;EACf,MAAM;EACN,WAAW;CACb;AACF,CAAC;AAkBD,SAAgB,EAAS,EACvB,WACA,SACA,aACA,SACA,WACA,mBACA,mBACA,aACA,SACA,cACA,cACA,sBACA,sBACgB;CAChB,OACE,kBAAC,KAAD;EACE,eAAa;EACb,WAAW,EAAG,EAAiB,EAAE,QAAK,CAAC,GAAG,CAAS;YAFrD;GAIG;GAAM;GACP,kBAAC,KAAD;IACQ;IACN,KAAI;IACJ,QAAO;IACP,WAAW,EACT,gCACA,EAAiB;KAAE;KAAM;IAAU,CAAC,GACpC,CACF;cAEC;GACA,CAAA;GACF,KAAU,kBAAC,QAAD;IAAM,WAAW;cAAkB;GAAa,CAAA;GAC1D,KAAkB,IACjB,kBAAA,GAAA,EAAA,UAAA;IACG;IACD,kBAAC,KAAD;KACE,MAAM;KACN,KAAI;KACJ,QAAO;KACP,WAAW,EACT,gCACA,EAAiB;MAAE;MAAM;KAAU,CAAC,GACpC,CACF;eAEC;IACA,CAAA;IACF;GACD,EAAA,CAAA,IACA;EACH;;AAEP"}
@@ -1,2 +1,2 @@
1
- require("../_virtual/_rolldown/runtime.cjs");const e=require("../utils/utils.cjs");let t=require("react/jsx-runtime");function n({enabled:n,className:r}){return(0,t.jsx)(`span`,{"aria-hidden":`true`,className:e.cn(`relative inline-flex h-[22px] w-[40px] shrink-0 items-center rounded-full border`,`transition-colors duration-200 ease-in-out motion-reduce:transition-none`,n?`border-white bg-white`:`border-[var(--oh-border)] bg-surface-raised`,r),children:(0,t.jsx)(`span`,{className:e.cn(`inline-block size-4 rounded-full`,`transition-transform duration-200 ease-in-out motion-reduce:transition-none`,n?`translate-x-[21px] bg-base-secondary`:`translate-x-[2px] bg-[var(--oh-muted)]`)})})}exports.ToggleSwitchVisual=n;
1
+ require("../_virtual/_rolldown/runtime.cjs");const e=require("../utils/utils.cjs");let t=require("react/jsx-runtime");function n({enabled:n,size:r=`md`,className:i}){let a=r===`sm`;return(0,t.jsx)(`span`,{"aria-hidden":`true`,className:e.cn(`relative inline-flex shrink-0 items-center rounded-full`,`transition-colors duration-200 ease-in-out motion-reduce:transition-none`,a?`h-3.5 w-6 p-[3px]`:`h-[22px] w-[40px] border`,n?a?`bg-white`:`border-white bg-white`:a?`bg-[var(--oh-border)]`:`border-[var(--oh-border)] bg-surface-raised`,i),children:(0,t.jsx)(`span`,{className:e.cn(`inline-block rounded-full`,`transition-transform duration-200 ease-in-out motion-reduce:transition-none`,a?`size-2`:`size-4`,n?a?`translate-x-[10px] bg-base-secondary`:`translate-x-[21px] bg-base-secondary`:a?`translate-x-0 bg-[var(--oh-muted)]`:`translate-x-[2px] bg-[var(--oh-muted)]`)})})}exports.ToggleSwitchVisual=n;
2
2
  //# sourceMappingURL=toggle-switch.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-switch.cjs","names":[],"sources":["../../src/ui/toggle-switch.tsx"],"sourcesContent":["import { cn } from \"#/utils/utils\";\n\ninterface ToggleSwitchVisualProps {\n enabled: boolean;\n className?: string;\n}\n\n/** Shared toggle track + thumb used by settings labels and automation controls. */\nexport function ToggleSwitchVisual({\n enabled,\n className,\n}: ToggleSwitchVisualProps) {\n return (\n <span\n aria-hidden=\"true\"\n className={cn(\n \"relative inline-flex h-[22px] w-[40px] shrink-0 items-center rounded-full border\",\n \"transition-colors duration-200 ease-in-out motion-reduce:transition-none\",\n enabled\n ? \"border-white bg-white\"\n : \"border-[var(--oh-border)] bg-surface-raised\",\n className,\n )}\n >\n <span\n className={cn(\n \"inline-block size-4 rounded-full\",\n \"transition-transform duration-200 ease-in-out motion-reduce:transition-none\",\n enabled\n ? \"translate-x-[21px] bg-base-secondary\"\n : \"translate-x-[2px] bg-[var(--oh-muted)]\",\n )}\n />\n </span>\n );\n}\n\ninterface ToggleSwitchProps {\n enabled: boolean;\n label: string;\n onToggle: () => void;\n className?: string;\n}\n\nexport function ToggleSwitch({\n enabled,\n label,\n onToggle,\n className,\n}: ToggleSwitchProps) {\n return (\n <button\n type=\"button\"\n role=\"switch\"\n aria-checked={enabled}\n aria-label={label}\n onClick={(e) => {\n e.stopPropagation();\n onToggle();\n }}\n className={cn(\"cursor-pointer\", className)}\n >\n <ToggleSwitchVisual enabled={enabled} />\n </button>\n );\n}\n"],"mappings":"sHAQA,SAAgB,EAAmB,CACjC,UACA,aAC0B,CAC1B,OACE,EAAA,EAAA,KAAC,OAAD,CACE,cAAY,OACZ,UAAW,EAAA,GACT,mFACA,2EACA,EACI,wBACA,8CACJ,CACF,YAEA,EAAA,EAAA,KAAC,OAAD,CACE,UAAW,EAAA,GACT,mCACA,8EACA,EACI,uCACA,wCACN,CACD,CAAA,CACG,CAAA,CAEV"}
1
+ {"version":3,"file":"toggle-switch.cjs","names":[],"sources":["../../src/ui/toggle-switch.tsx"],"sourcesContent":["import { cn } from \"#/utils/utils\";\n\nexport type ToggleSwitchSize = \"md\" | \"sm\";\n\ninterface ToggleSwitchVisualProps {\n enabled: boolean;\n /** `sm` is the compact menu-row pill; `md` is the settings/automation switch. */\n size?: ToggleSwitchSize;\n className?: string;\n}\n\n/** Shared toggle track + thumb used by settings labels and automation controls. */\nexport function ToggleSwitchVisual({\n enabled,\n size = \"md\",\n className,\n}: ToggleSwitchVisualProps) {\n const compact = size === \"sm\";\n return (\n <span\n aria-hidden=\"true\"\n className={cn(\n \"relative inline-flex shrink-0 items-center rounded-full\",\n \"transition-colors duration-200 ease-in-out motion-reduce:transition-none\",\n compact ? \"h-3.5 w-6 p-[3px]\" : \"h-[22px] w-[40px] border\",\n enabled\n ? compact\n ? \"bg-white\"\n : \"border-white bg-white\"\n : compact\n ? \"bg-[var(--oh-border)]\"\n : \"border-[var(--oh-border)] bg-surface-raised\",\n className,\n )}\n >\n <span\n className={cn(\n \"inline-block rounded-full\",\n \"transition-transform duration-200 ease-in-out motion-reduce:transition-none\",\n compact ? \"size-2\" : \"size-4\",\n enabled\n ? compact\n ? \"translate-x-[10px] bg-base-secondary\"\n : \"translate-x-[21px] bg-base-secondary\"\n : compact\n ? \"translate-x-0 bg-[var(--oh-muted)]\"\n : \"translate-x-[2px] bg-[var(--oh-muted)]\",\n )}\n />\n </span>\n );\n}\n\ninterface ToggleSwitchProps {\n enabled: boolean;\n label: string;\n onToggle: () => void;\n className?: string;\n}\n\nexport function ToggleSwitch({\n enabled,\n label,\n onToggle,\n className,\n}: ToggleSwitchProps) {\n return (\n <button\n type=\"button\"\n role=\"switch\"\n aria-checked={enabled}\n aria-label={label}\n onClick={(e) => {\n e.stopPropagation();\n onToggle();\n }}\n className={cn(\"cursor-pointer\", className)}\n >\n <ToggleSwitchVisual enabled={enabled} />\n </button>\n );\n}\n"],"mappings":"sHAYA,SAAgB,EAAmB,CACjC,UACA,OAAO,KACP,aAC0B,CAC1B,IAAM,EAAU,IAAS,KACzB,OACE,EAAA,EAAA,KAAC,OAAD,CACE,cAAY,OACZ,UAAW,EAAA,GACT,0DACA,2EACA,EAAU,oBAAsB,2BAChC,EACI,EACE,WACA,wBACF,EACE,wBACA,8CACN,CACF,YAEA,EAAA,EAAA,KAAC,OAAD,CACE,UAAW,EAAA,GACT,4BACA,8EACA,EAAU,SAAW,SACrB,EACI,EACE,uCACA,uCACF,EACE,qCACA,wCACR,CACD,CAAA,CACG,CAAA,CAEV"}
@@ -1,9 +1,12 @@
1
+ export type ToggleSwitchSize = "md" | "sm";
1
2
  interface ToggleSwitchVisualProps {
2
3
  enabled: boolean;
4
+ /** `sm` is the compact menu-row pill; `md` is the settings/automation switch. */
5
+ size?: ToggleSwitchSize;
3
6
  className?: string;
4
7
  }
5
8
  /** Shared toggle track + thumb used by settings labels and automation controls. */
6
- export declare function ToggleSwitchVisual({ enabled, className, }: ToggleSwitchVisualProps): import("react").JSX.Element;
9
+ export declare function ToggleSwitchVisual({ enabled, size, className, }: ToggleSwitchVisualProps): import("react").JSX.Element;
7
10
  interface ToggleSwitchProps {
8
11
  enabled: boolean;
9
12
  label: string;
@@ -1,11 +1,12 @@
1
1
  import { cn as e } from "../utils/utils.js";
2
2
  import { jsx as t } from "react/jsx-runtime";
3
3
  //#region src/ui/toggle-switch.tsx
4
- function n({ enabled: n, className: r }) {
4
+ function n({ enabled: n, size: r = "md", className: i }) {
5
+ let a = r === "sm";
5
6
  return /* @__PURE__ */ t("span", {
6
7
  "aria-hidden": "true",
7
- className: e("relative inline-flex h-[22px] w-[40px] shrink-0 items-center rounded-full border", "transition-colors duration-200 ease-in-out motion-reduce:transition-none", n ? "border-white bg-white" : "border-[var(--oh-border)] bg-surface-raised", r),
8
- children: /* @__PURE__ */ t("span", { className: e("inline-block size-4 rounded-full", "transition-transform duration-200 ease-in-out motion-reduce:transition-none", n ? "translate-x-[21px] bg-base-secondary" : "translate-x-[2px] bg-[var(--oh-muted)]") })
8
+ className: e("relative inline-flex shrink-0 items-center rounded-full", "transition-colors duration-200 ease-in-out motion-reduce:transition-none", a ? "h-3.5 w-6 p-[3px]" : "h-[22px] w-[40px] border", n ? a ? "bg-white" : "border-white bg-white" : a ? "bg-[var(--oh-border)]" : "border-[var(--oh-border)] bg-surface-raised", i),
9
+ children: /* @__PURE__ */ t("span", { className: e("inline-block rounded-full", "transition-transform duration-200 ease-in-out motion-reduce:transition-none", a ? "size-2" : "size-4", n ? a ? "translate-x-[10px] bg-base-secondary" : "translate-x-[21px] bg-base-secondary" : a ? "translate-x-0 bg-[var(--oh-muted)]" : "translate-x-[2px] bg-[var(--oh-muted)]") })
9
10
  });
10
11
  }
11
12
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-switch.js","names":[],"sources":["../../src/ui/toggle-switch.tsx"],"sourcesContent":["import { cn } from \"#/utils/utils\";\n\ninterface ToggleSwitchVisualProps {\n enabled: boolean;\n className?: string;\n}\n\n/** Shared toggle track + thumb used by settings labels and automation controls. */\nexport function ToggleSwitchVisual({\n enabled,\n className,\n}: ToggleSwitchVisualProps) {\n return (\n <span\n aria-hidden=\"true\"\n className={cn(\n \"relative inline-flex h-[22px] w-[40px] shrink-0 items-center rounded-full border\",\n \"transition-colors duration-200 ease-in-out motion-reduce:transition-none\",\n enabled\n ? \"border-white bg-white\"\n : \"border-[var(--oh-border)] bg-surface-raised\",\n className,\n )}\n >\n <span\n className={cn(\n \"inline-block size-4 rounded-full\",\n \"transition-transform duration-200 ease-in-out motion-reduce:transition-none\",\n enabled\n ? \"translate-x-[21px] bg-base-secondary\"\n : \"translate-x-[2px] bg-[var(--oh-muted)]\",\n )}\n />\n </span>\n );\n}\n\ninterface ToggleSwitchProps {\n enabled: boolean;\n label: string;\n onToggle: () => void;\n className?: string;\n}\n\nexport function ToggleSwitch({\n enabled,\n label,\n onToggle,\n className,\n}: ToggleSwitchProps) {\n return (\n <button\n type=\"button\"\n role=\"switch\"\n aria-checked={enabled}\n aria-label={label}\n onClick={(e) => {\n e.stopPropagation();\n onToggle();\n }}\n className={cn(\"cursor-pointer\", className)}\n >\n <ToggleSwitchVisual enabled={enabled} />\n </button>\n );\n}\n"],"mappings":";;;AAQA,SAAgB,EAAmB,EACjC,YACA,gBAC0B;CAC1B,OACE,kBAAC,QAAD;EACE,eAAY;EACZ,WAAW,EACT,oFACA,4EACA,IACI,0BACA,+CACJ,CACF;YAEA,kBAAC,QAAD,EACE,WAAW,EACT,oCACA,+EACA,IACI,yCACA,wCACN,EACD,CAAA;CACG,CAAA;AAEV"}
1
+ {"version":3,"file":"toggle-switch.js","names":[],"sources":["../../src/ui/toggle-switch.tsx"],"sourcesContent":["import { cn } from \"#/utils/utils\";\n\nexport type ToggleSwitchSize = \"md\" | \"sm\";\n\ninterface ToggleSwitchVisualProps {\n enabled: boolean;\n /** `sm` is the compact menu-row pill; `md` is the settings/automation switch. */\n size?: ToggleSwitchSize;\n className?: string;\n}\n\n/** Shared toggle track + thumb used by settings labels and automation controls. */\nexport function ToggleSwitchVisual({\n enabled,\n size = \"md\",\n className,\n}: ToggleSwitchVisualProps) {\n const compact = size === \"sm\";\n return (\n <span\n aria-hidden=\"true\"\n className={cn(\n \"relative inline-flex shrink-0 items-center rounded-full\",\n \"transition-colors duration-200 ease-in-out motion-reduce:transition-none\",\n compact ? \"h-3.5 w-6 p-[3px]\" : \"h-[22px] w-[40px] border\",\n enabled\n ? compact\n ? \"bg-white\"\n : \"border-white bg-white\"\n : compact\n ? \"bg-[var(--oh-border)]\"\n : \"border-[var(--oh-border)] bg-surface-raised\",\n className,\n )}\n >\n <span\n className={cn(\n \"inline-block rounded-full\",\n \"transition-transform duration-200 ease-in-out motion-reduce:transition-none\",\n compact ? \"size-2\" : \"size-4\",\n enabled\n ? compact\n ? \"translate-x-[10px] bg-base-secondary\"\n : \"translate-x-[21px] bg-base-secondary\"\n : compact\n ? \"translate-x-0 bg-[var(--oh-muted)]\"\n : \"translate-x-[2px] bg-[var(--oh-muted)]\",\n )}\n />\n </span>\n );\n}\n\ninterface ToggleSwitchProps {\n enabled: boolean;\n label: string;\n onToggle: () => void;\n className?: string;\n}\n\nexport function ToggleSwitch({\n enabled,\n label,\n onToggle,\n className,\n}: ToggleSwitchProps) {\n return (\n <button\n type=\"button\"\n role=\"switch\"\n aria-checked={enabled}\n aria-label={label}\n onClick={(e) => {\n e.stopPropagation();\n onToggle();\n }}\n className={cn(\"cursor-pointer\", className)}\n >\n <ToggleSwitchVisual enabled={enabled} />\n </button>\n );\n}\n"],"mappings":";;;AAYA,SAAgB,EAAmB,EACjC,YACA,UAAO,MACP,gBAC0B;CAC1B,IAAM,IAAU,MAAS;CACzB,OACE,kBAAC,QAAD;EACE,eAAY;EACZ,WAAW,EACT,2DACA,4EACA,IAAU,sBAAsB,4BAChC,IACI,IACE,aACA,0BACF,IACE,0BACA,+CACN,CACF;YAEA,kBAAC,QAAD,EACE,WAAW,EACT,6BACA,+EACA,IAAU,WAAW,UACrB,IACI,IACE,yCACA,yCACF,IACE,uCACA,wCACR,EACD,CAAA;CACG,CAAA;AAEV"}
@@ -0,0 +1,35 @@
1
+ import type { AcpAuthStatus } from "#/hooks/query/use-acp-auth-status";
2
+ /**
3
+ * Resolved display state for the ACP auth banner.
4
+ *
5
+ * - ``"signed-in"`` — the host-login probe confirmed a session (native backend).
6
+ * - ``"checking"`` — the first probe is still in flight.
7
+ * - ``"configured"`` — the probe can't confirm a login (e.g. a container with no
8
+ * interactive CLI, or a cloud backend where the probe doesn't run), but a
9
+ * credential for the provider exists in the active backend's secret store.
10
+ * - ``"none"`` — no confirmed login and no stored credential; show nothing.
11
+ */
12
+ export type AcpAuthDisplay = "signed-in" | "checking" | "configured" | "none";
13
+ interface AcpAuthDisplayInput {
14
+ /** Result of the host-login probe (only meaningful on a native backend). */
15
+ status: AcpAuthStatus;
16
+ /** True while the first probe for this provider is in flight. */
17
+ isChecking: boolean;
18
+ /**
19
+ * Whether a credential for the provider exists in the active backend's secret
20
+ * store. Unlike {@link status}, this signal is available on Docker and cloud
21
+ * backends, so it can convey an accurate state where the probe goes silent.
22
+ */
23
+ credentialsConfigured: boolean;
24
+ }
25
+ /**
26
+ * Decide what the ACP auth banner should show, given the (host-only) login
27
+ * probe and the backend-truthful "a credential is stored" signal.
28
+ *
29
+ * Precedence preserves the existing banner behavior — a probe-confirmed login
30
+ * wins, then the in-flight spinner — and only adds ``"configured"`` in the gap
31
+ * that previously rendered nothing. A stored credential never reports as
32
+ * ``"signed-in"``: only the probe can confirm an actual host login. See #1244.
33
+ */
34
+ export declare function resolveAcpAuthDisplay({ status, isChecking, credentialsConfigured, }: AcpAuthDisplayInput): AcpAuthDisplay;
35
+ export {};
@@ -1,2 +1,2 @@
1
- require("../_virtual/_rolldown/runtime.cjs");const e=require("../node_modules/@openhands/extensions/skills/index.cjs"),t=require("../components/features/manifest/manifest-icons.cjs");var n=new Map(e.default.map(e=>[e.name,e]));function r(e){let n=e.icon;return n?t.MANIFEST_ICON_BY_SLUG[n]??null:null}function i(e){return Object.keys(e.requires.integrations)}function a(e){return Object.entries(e.requires.integrations).filter(([,e])=>e.required!==!1).map(([e])=>e)}function o(e){return n.get(e.skill??e.id)?.triggers[0]??null}function s(e){return o(e)??`Set up the ${e.name} automation`}exports.getAutomationIcon=r,exports.getAutomationLaunchPrompt=s,exports.getIntegrationIds=i,exports.getRequiredIntegrationIds=a;
1
+ require("../_virtual/_rolldown/runtime.cjs");const e=require("../node_modules/@openhands/extensions/skills/index.cjs"),t=require("../node_modules/@openhands/extensions/automations/index.cjs"),n=require("../components/features/manifest/manifest-icons.cjs"),r=require("../manifests/manifest-template.cjs");var i=new Map(e.default.map(e=>[e.name,e]));function a(e){let t=e.icon;return t?n.MANIFEST_ICON_BY_SLUG[t]??null:null}function o(e){return Object.keys(e.requires.integrations)}function s(e){return Object.entries(e.requires.integrations).filter(([,e])=>e.required!==!1).map(([e])=>e)}function c(e){return i.get(e.skill??e.id)?.triggers[0]??null}function l(e){return c(e)??`Set up the ${e.name} automation`}var u=new Map(t.default.map(e=>[e.id,e])),d=/<[A-Za-z/!]/,f=/\{\{(?!count\}\})/,p=`{{count}}`;function m(e){return typeof e==`string`&&e.length>0&&!d.test(e)&&!f.test(e)}function h(e){let{impact:t}=e;if(typeof t!=`object`||!t)return null;let{basis:n,one:r,other:i}=t;return n!==`completed-runs`||!m(r)||!m(i)||!i.includes(p)?null:{one:r,other:i}}function g(e){let t=e.preset_metadata;if(typeof t!=`object`||!t)return null;let{template:n}=t;if(typeof n!=`object`||!n)return null;let{id:r}=n;return typeof r!=`string`||r.length===0?null:u.get(r)??null}function _(e,t){if(t===null||t<1)return null;let n=g(e);if(!n)return null;let i=h(n);return i?r.interpolateValues(t===1?i.one:i.other,{count:t.toLocaleString()}):null}exports.getAutomationIcon=a,exports.getAutomationLaunchPrompt=l,exports.getIntegrationIds=o,exports.getRequiredIntegrationIds=s,exports.resolveAutomationImpactStatement=_;
2
2
  //# sourceMappingURL=automation-catalog.cjs.map