@vertesia/ui 1.5.0-dev.20260905.011013Z → 1.5.0-dev.20260910.052912Z

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 (508) hide show
  1. package/lib/core/components/Avatar.d.ts.map +1 -1
  2. package/lib/core/components/Avatar.js +3 -3
  3. package/lib/core/components/Avatar.js.map +1 -1
  4. package/lib/core/components/ComboBox.js +1 -1
  5. package/lib/core/components/ComboBox.js.map +1 -1
  6. package/lib/core/components/FileUpload.js +1 -1
  7. package/lib/core/components/FileUpload.js.map +1 -1
  8. package/lib/core/components/Link.js +1 -1
  9. package/lib/core/components/Link.js.map +1 -1
  10. package/lib/core/components/SelectList.js +1 -1
  11. package/lib/core/components/SelectList.js.map +1 -1
  12. package/lib/core/components/SidePanel.js +1 -1
  13. package/lib/core/components/SidePanel.js.map +1 -1
  14. package/lib/core/components/Spinner.js +1 -1
  15. package/lib/core/components/Spinner.js.map +1 -1
  16. package/lib/core/components/TagsInput.js +8 -8
  17. package/lib/core/components/TagsInput.js.map +1 -1
  18. package/lib/core/components/shadcn/MessageBox.js +1 -1
  19. package/lib/core/components/shadcn/MessageBox.js.map +1 -1
  20. package/lib/core/components/shadcn/button.js +1 -1
  21. package/lib/core/components/shadcn/button.js.map +1 -1
  22. package/lib/core/components/shadcn/card.d.ts.map +1 -1
  23. package/lib/core/components/shadcn/card.js +1 -1
  24. package/lib/core/components/shadcn/card.js.map +1 -1
  25. package/lib/core/components/shadcn/command.js +5 -5
  26. package/lib/core/components/shadcn/command.js.map +1 -1
  27. package/lib/core/components/shadcn/filters/DynamicLabel.js +1 -1
  28. package/lib/core/components/shadcn/filters/DynamicLabel.js.map +1 -1
  29. package/lib/core/components/shadcn/filters/comboBox/DateCombobox.js +3 -3
  30. package/lib/core/components/shadcn/filters/comboBox/DateCombobox.js.map +1 -1
  31. package/lib/core/components/shadcn/input.js +3 -3
  32. package/lib/core/components/shadcn/input.js.map +1 -1
  33. package/lib/core/components/shadcn/modal/ConfirmModal.js +1 -1
  34. package/lib/core/components/shadcn/modal/ConfirmModal.js.map +1 -1
  35. package/lib/core/components/shadcn/modal/dialog.d.ts.map +1 -1
  36. package/lib/core/components/shadcn/modal/dialog.js +2 -2
  37. package/lib/core/components/shadcn/modal/dialog.js.map +1 -1
  38. package/lib/core/components/shadcn/overflowTabs.js +2 -2
  39. package/lib/core/components/shadcn/overflowTabs.js.map +1 -1
  40. package/lib/core/components/shadcn/popover.js +1 -1
  41. package/lib/core/components/shadcn/popover.js.map +1 -1
  42. package/lib/core/components/shadcn/radioGroup.d.ts.map +1 -1
  43. package/lib/core/components/shadcn/radioGroup.js +3 -3
  44. package/lib/core/components/shadcn/radioGroup.js.map +1 -1
  45. package/lib/core/components/shadcn/selectBox.js +1 -1
  46. package/lib/core/components/shadcn/selectBox.js.map +1 -1
  47. package/lib/core/components/shadcn/tabs.d.ts.map +1 -1
  48. package/lib/core/components/shadcn/tabs.js +5 -2
  49. package/lib/core/components/shadcn/tabs.js.map +1 -1
  50. package/lib/core/components/styles.js +1 -1
  51. package/lib/core/components/styles.js.map +1 -1
  52. package/lib/core/components/table/index.js +1 -1
  53. package/lib/core/hooks/useFetch.d.ts.map +1 -1
  54. package/lib/core/hooks/useFetch.js +2 -0
  55. package/lib/core/hooks/useFetch.js.map +1 -1
  56. package/lib/features/activity-doc/ActivityDoc.js +8 -8
  57. package/lib/features/activity-doc/ActivityDoc.js.map +1 -1
  58. package/lib/features/agent/chat/AgentChart.js +1 -1
  59. package/lib/features/agent/chat/AgentChart.js.map +1 -1
  60. package/lib/features/agent/chat/AskUserWidget.d.ts.map +1 -1
  61. package/lib/features/agent/chat/AskUserWidget.js +13 -13
  62. package/lib/features/agent/chat/AskUserWidget.js.map +1 -1
  63. package/lib/features/agent/chat/JumpingDots.js +1 -1
  64. package/lib/features/agent/chat/JumpingDots.js.map +1 -1
  65. package/lib/features/agent/chat/ModernAgentConversation.js +1 -1
  66. package/lib/features/agent/chat/ModernAgentConversation.js.map +1 -1
  67. package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
  68. package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +22 -9
  69. package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
  70. package/lib/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js +5 -5
  71. package/lib/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js.map +1 -1
  72. package/lib/features/agent/chat/ModernAgentOutput/Header.js +1 -1
  73. package/lib/features/agent/chat/ModernAgentOutput/Header.js.map +1 -1
  74. package/lib/features/agent/chat/ModernAgentOutput/InlineSlideInPanel.js +1 -1
  75. package/lib/features/agent/chat/ModernAgentOutput/InlineSlideInPanel.js.map +1 -1
  76. package/lib/features/agent/chat/ModernAgentOutput/MessageInput.js +1 -1
  77. package/lib/features/agent/chat/ModernAgentOutput/MessageInput.js.map +1 -1
  78. package/lib/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
  79. package/lib/features/agent/chat/ModernAgentOutput/MessageItem.js +7 -7
  80. package/lib/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
  81. package/lib/features/agent/chat/ModernAgentOutput/MessagesContainer.js +1 -1
  82. package/lib/features/agent/chat/ModernAgentOutput/MessagesContainer.js.map +1 -1
  83. package/lib/features/agent/chat/ModernAgentOutput/PlanPanel.d.ts.map +1 -1
  84. package/lib/features/agent/chat/ModernAgentOutput/PlanPanel.js +10 -10
  85. package/lib/features/agent/chat/ModernAgentOutput/PlanPanel.js.map +1 -1
  86. package/lib/features/agent/chat/ModernAgentOutput/SlideInPanel.js +1 -1
  87. package/lib/features/agent/chat/ModernAgentOutput/SlideInPanel.js.map +1 -1
  88. package/lib/features/agent/chat/ModernAgentOutput/SlidingMessages.d.ts.map +1 -1
  89. package/lib/features/agent/chat/ModernAgentOutput/SlidingMessages.js +1 -1
  90. package/lib/features/agent/chat/ModernAgentOutput/SlidingMessages.js.map +1 -1
  91. package/lib/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js +17 -17
  92. package/lib/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js.map +1 -1
  93. package/lib/features/agent/chat/ModernAgentOutput/StreamingMessage.js +1 -1
  94. package/lib/features/agent/chat/ModernAgentOutput/StreamingMessage.js.map +1 -1
  95. package/lib/features/agent/chat/ModernAgentOutput/SummaryConversation.d.ts.map +1 -1
  96. package/lib/features/agent/chat/ModernAgentOutput/SummaryConversation.js +14 -2
  97. package/lib/features/agent/chat/ModernAgentOutput/SummaryConversation.js.map +1 -1
  98. package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts.map +1 -1
  99. package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.js +15 -15
  100. package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.js.map +1 -1
  101. package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.d.ts.map +1 -1
  102. package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.js +18 -0
  103. package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.js.map +1 -1
  104. package/lib/features/agent/chat/SlidingThinkingIndicator.d.ts.map +1 -1
  105. package/lib/features/agent/chat/SlidingThinkingIndicator.js +5 -2
  106. package/lib/features/agent/chat/SlidingThinkingIndicator.js.map +1 -1
  107. package/lib/features/agent/chat/VegaLiteChart.d.ts.map +1 -1
  108. package/lib/features/agent/chat/VegaLiteChart.js +6 -2
  109. package/lib/features/agent/chat/VegaLiteChart.js.map +1 -1
  110. package/lib/features/errors/RowErrorBoundary.js +1 -1
  111. package/lib/features/errors/RowErrorBoundary.js.map +1 -1
  112. package/lib/features/facets/AgentRunnerFacetsNav.js +1 -1
  113. package/lib/features/facets/AgentRunnerFacetsNav.js.map +1 -1
  114. package/lib/features/facets/utils/VInteractionFacet.d.ts +3 -5
  115. package/lib/features/facets/utils/VInteractionFacet.d.ts.map +1 -1
  116. package/lib/features/facets/utils/VInteractionFacet.js +10 -23
  117. package/lib/features/facets/utils/VInteractionFacet.js.map +1 -1
  118. package/lib/features/facets/utils/VUserFacet.js +1 -1
  119. package/lib/features/facets/utils/VUserFacet.js.map +1 -1
  120. package/lib/features/layout/GenericPageNavHeader.d.ts.map +1 -1
  121. package/lib/features/layout/GenericPageNavHeader.js +4 -1
  122. package/lib/features/layout/GenericPageNavHeader.js.map +1 -1
  123. package/lib/features/layout/NotFoundView.js +1 -1
  124. package/lib/features/layout/NotFoundView.js.map +1 -1
  125. package/lib/features/magic-pdf/AnnotatedImageSlider.js +4 -12
  126. package/lib/features/magic-pdf/AnnotatedImageSlider.js.map +1 -1
  127. package/lib/features/magic-pdf/ExtractedContentView.js +4 -4
  128. package/lib/features/magic-pdf/ExtractedContentView.js.map +1 -1
  129. package/lib/features/magic-pdf/MagicPdfView.js +1 -1
  130. package/lib/features/magic-pdf/MagicPdfView.js.map +1 -1
  131. package/lib/features/pdf-viewer/PdfPageRenderer.js +2 -2
  132. package/lib/features/pdf-viewer/PdfPageRenderer.js.map +1 -1
  133. package/lib/features/pdf-viewer/PdfPageSlider.js +3 -3
  134. package/lib/features/pdf-viewer/PdfPageSlider.js.map +1 -1
  135. package/lib/features/pdf-viewer/SimplePdfViewer.js +1 -1
  136. package/lib/features/pdf-viewer/SimplePdfViewer.js.map +1 -1
  137. package/lib/features/permissions/UserPermissionsProvider.d.ts +2 -1
  138. package/lib/features/permissions/UserPermissionsProvider.d.ts.map +1 -1
  139. package/lib/features/permissions/UserPermissionsProvider.js +35 -22
  140. package/lib/features/permissions/UserPermissionsProvider.js.map +1 -1
  141. package/lib/features/permissions/useRoleMappings.d.ts +19 -0
  142. package/lib/features/permissions/useRoleMappings.d.ts.map +1 -0
  143. package/lib/features/permissions/useRoleMappings.js +87 -0
  144. package/lib/features/permissions/useRoleMappings.js.map +1 -0
  145. package/lib/features/store/collections/SelectCollection.js +1 -1
  146. package/lib/features/store/collections/SelectCollection.js.map +1 -1
  147. package/lib/features/store/objects/DocumentPreviewPanel.d.ts.map +1 -1
  148. package/lib/features/store/objects/DocumentPreviewPanel.js +9 -9
  149. package/lib/features/store/objects/DocumentPreviewPanel.js.map +1 -1
  150. package/lib/features/store/objects/DocumentTable.js +1 -1
  151. package/lib/features/store/objects/DocumentTable.js.map +1 -1
  152. package/lib/features/store/objects/components/DocumentIcon.js +2 -2
  153. package/lib/features/store/objects/components/DocumentIcon.js.map +1 -1
  154. package/lib/features/store/objects/components/DocumentInput.js +1 -1
  155. package/lib/features/store/objects/components/DocumentInput.js.map +1 -1
  156. package/lib/features/store/objects/components/PropertiesEditorModal.js +1 -1
  157. package/lib/features/store/objects/components/PropertiesEditorModal.js.map +1 -1
  158. package/lib/features/store/objects/components/SaveVersionConfirmModal.js +1 -1
  159. package/lib/features/store/objects/components/SaveVersionConfirmModal.js.map +1 -1
  160. package/lib/features/store/objects/layout/documentLayout.d.ts.map +1 -1
  161. package/lib/features/store/objects/layout/documentLayout.js +2 -2
  162. package/lib/features/store/objects/layout/documentLayout.js.map +1 -1
  163. package/lib/features/store/objects/selection/SelectionActions.js +1 -1
  164. package/lib/features/store/objects/selection/SelectionActions.js.map +1 -1
  165. package/lib/features/store/types/IntakePolicyEditor.d.ts +10 -1
  166. package/lib/features/store/types/IntakePolicyEditor.d.ts.map +1 -1
  167. package/lib/features/store/types/IntakePolicyEditor.js +29 -19
  168. package/lib/features/store/types/IntakePolicyEditor.js.map +1 -1
  169. package/lib/features/store/types/IntakePolicyForm.d.ts +1 -1
  170. package/lib/features/store/types/IntakePolicyForm.d.ts.map +1 -1
  171. package/lib/features/store/types/IntakePolicyForm.js +5 -3
  172. package/lib/features/store/types/IntakePolicyForm.js.map +1 -1
  173. package/lib/features/store/types/SelectContentTypeModal.js +1 -1
  174. package/lib/features/store/types/SelectContentTypeModal.js.map +1 -1
  175. package/lib/features/user/UserAvatar.js +2 -2
  176. package/lib/features/user/UserAvatar.js.map +1 -1
  177. package/lib/features/user/UserInfo.d.ts.map +1 -1
  178. package/lib/features/user/UserInfo.js +7 -7
  179. package/lib/features/user/UserInfo.js.map +1 -1
  180. package/lib/features/utils/index.d.ts +1 -0
  181. package/lib/features/utils/index.d.ts.map +1 -1
  182. package/lib/features/utils/index.js +1 -0
  183. package/lib/features/utils/index.js.map +1 -1
  184. package/lib/features/utils/interaction.d.ts +55 -0
  185. package/lib/features/utils/interaction.d.ts.map +1 -0
  186. package/lib/features/utils/interaction.js +77 -0
  187. package/lib/features/utils/interaction.js.map +1 -0
  188. package/lib/features/views/ViewResults.js +2 -2
  189. package/lib/features/views/ViewResults.js.map +1 -1
  190. package/lib/i18n/locales/ar.json +7 -1
  191. package/lib/i18n/locales/de.json +7 -1
  192. package/lib/i18n/locales/en.json +7 -1
  193. package/lib/i18n/locales/es.json +7 -1
  194. package/lib/i18n/locales/fr.json +7 -1
  195. package/lib/i18n/locales/it.json +7 -1
  196. package/lib/i18n/locales/ja.json +7 -1
  197. package/lib/i18n/locales/ko.json +7 -1
  198. package/lib/i18n/locales/pt.json +7 -1
  199. package/lib/i18n/locales/ru.json +7 -1
  200. package/lib/i18n/locales/tr.json +7 -1
  201. package/lib/i18n/locales/zh-TW.json +7 -1
  202. package/lib/i18n/locales/zh.json +7 -1
  203. package/lib/layout/FullHeightLayout.js +2 -2
  204. package/lib/layout/FullHeightLayout.js.map +1 -1
  205. package/lib/layout/Navbar.js +4 -4
  206. package/lib/layout/Navbar.js.map +1 -1
  207. package/lib/layout/Sidebar.js +1 -1
  208. package/lib/layout/Sidebar.js.map +1 -1
  209. package/lib/session/UserSessionProvider.d.ts.map +1 -1
  210. package/lib/session/UserSessionProvider.js +2 -13
  211. package/lib/session/UserSessionProvider.js.map +1 -1
  212. package/lib/session/auth/authState.d.ts +13 -0
  213. package/lib/session/auth/authState.d.ts.map +1 -0
  214. package/lib/session/auth/authState.js +37 -0
  215. package/lib/session/auth/authState.js.map +1 -0
  216. package/lib/session/auth/domainRouting.d.ts +39 -0
  217. package/lib/session/auth/domainRouting.d.ts.map +1 -1
  218. package/lib/session/auth/domainRouting.js +85 -0
  219. package/lib/session/auth/domainRouting.js.map +1 -1
  220. package/lib/session/auth/useAuthState.d.ts +4 -7
  221. package/lib/session/auth/useAuthState.d.ts.map +1 -1
  222. package/lib/session/auth/useAuthState.js +5 -41
  223. package/lib/session/auth/useAuthState.js.map +1 -1
  224. package/lib/session/index.d.ts +1 -0
  225. package/lib/session/index.d.ts.map +1 -1
  226. package/lib/session/index.js +2 -0
  227. package/lib/session/index.js.map +1 -1
  228. package/lib/shell/SplashScreen.d.ts +1 -1
  229. package/lib/shell/SplashScreen.d.ts.map +1 -1
  230. package/lib/shell/SplashScreen.js +6 -2
  231. package/lib/shell/SplashScreen.js.map +1 -1
  232. package/lib/shell/VertesiaShell.js +1 -1
  233. package/lib/shell/VertesiaShell.js.map +1 -1
  234. package/lib/shell/apps/AppProjectSelector.js +1 -1
  235. package/lib/shell/apps/AppProjectSelector.js.map +1 -1
  236. package/lib/shell/apps/StandaloneApp.js +2 -2
  237. package/lib/shell/apps/StandaloneApp.js.map +1 -1
  238. package/lib/shell/login/SignInPrimitives.js +2 -2
  239. package/lib/shell/login/SignInPrimitives.js.map +1 -1
  240. package/lib/shell/login/SigninScreen.js +1 -1
  241. package/lib/shell/login/SigninScreen.js.map +1 -1
  242. package/lib/shell/login/SignupForm.js +1 -1
  243. package/lib/shell/login/SignupForm.js.map +1 -1
  244. package/lib/shell/login/TerminalLogin.js +2 -2
  245. package/lib/shell/login/TerminalLogin.js.map +1 -1
  246. package/lib/shell/login/UserInfo.d.ts.map +1 -1
  247. package/lib/shell/login/UserInfo.js +1 -1
  248. package/lib/shell/login/UserInfo.js.map +1 -1
  249. package/lib/shell/login/UserSessionMenu.js +1 -1
  250. package/lib/shell/login/UserSessionMenu.js.map +1 -1
  251. package/lib/vertesia-ui-core.js +7 -7
  252. package/lib/vertesia-ui-core.js.map +1 -1
  253. package/lib/vertesia-ui-features.js +179 -182
  254. package/lib/vertesia-ui-features.js.map +1 -1
  255. package/lib/vertesia-ui-i18n.BfN7iOHb.chunk.js +5 -0
  256. package/lib/vertesia-ui-i18n.BfN7iOHb.chunk.js.map +1 -0
  257. package/lib/vertesia-ui-i18n.BjH2zEZw.chunk.js +5 -0
  258. package/lib/vertesia-ui-i18n.BjH2zEZw.chunk.js.map +1 -0
  259. package/lib/vertesia-ui-i18n.BjSwAZXl.chunk.js +5 -0
  260. package/lib/vertesia-ui-i18n.BjSwAZXl.chunk.js.map +1 -0
  261. package/lib/vertesia-ui-i18n.C7PUm5Au.chunk.js +5 -0
  262. package/lib/vertesia-ui-i18n.C7PUm5Au.chunk.js.map +1 -0
  263. package/lib/vertesia-ui-i18n.CF_1mUS5.chunk.js +5 -0
  264. package/lib/vertesia-ui-i18n.CF_1mUS5.chunk.js.map +1 -0
  265. package/lib/vertesia-ui-i18n.ChfUl3_-.chunk.js +5 -0
  266. package/lib/vertesia-ui-i18n.ChfUl3_-.chunk.js.map +1 -0
  267. package/lib/vertesia-ui-i18n.D-Sk-5d1.chunk.js +5 -0
  268. package/lib/vertesia-ui-i18n.D-Sk-5d1.chunk.js.map +1 -0
  269. package/lib/vertesia-ui-i18n.D4rnu1_S.chunk.js +5 -0
  270. package/lib/vertesia-ui-i18n.D4rnu1_S.chunk.js.map +1 -0
  271. package/lib/vertesia-ui-i18n.DDf0-laK.chunk.js +5 -0
  272. package/lib/vertesia-ui-i18n.DDf0-laK.chunk.js.map +1 -0
  273. package/lib/vertesia-ui-i18n.DN79y06J.chunk.js +5 -0
  274. package/lib/vertesia-ui-i18n.DN79y06J.chunk.js.map +1 -0
  275. package/lib/vertesia-ui-i18n.DWLIciYQ.chunk.js +5 -0
  276. package/lib/vertesia-ui-i18n.DWLIciYQ.chunk.js.map +1 -0
  277. package/lib/vertesia-ui-i18n.DvF_YaAJ.chunk.js +5 -0
  278. package/lib/vertesia-ui-i18n.DvF_YaAJ.chunk.js.map +1 -0
  279. package/lib/vertesia-ui-i18n.js +2 -2
  280. package/lib/vertesia-ui-layout.js +1 -1
  281. package/lib/vertesia-ui-layout.js.map +1 -1
  282. package/lib/vertesia-ui-rich-text.js +24 -24
  283. package/lib/vertesia-ui-rich-text.js.map +1 -1
  284. package/lib/vertesia-ui-session.js +1 -1
  285. package/lib/vertesia-ui-session.js.map +1 -1
  286. package/lib/vertesia-ui-shell.js +3 -3
  287. package/lib/vertesia-ui-shell.js.map +1 -1
  288. package/lib/vertesia-ui-widgets.js +54 -54
  289. package/lib/vertesia-ui-widgets.js.map +1 -1
  290. package/lib/widgets/Progress.js +1 -1
  291. package/lib/widgets/Progress.js.map +1 -1
  292. package/lib/widgets/form/Form.js +2 -2
  293. package/lib/widgets/form/Form.js.map +1 -1
  294. package/lib/widgets/form/fields.js +2 -2
  295. package/lib/widgets/form/fields.js.map +1 -1
  296. package/lib/widgets/json-view/JSONView.js +1 -1
  297. package/lib/widgets/json-view/JSONView.js.map +1 -1
  298. package/lib/widgets/markdown/MermaidDiagram.js +1 -1
  299. package/lib/widgets/markdown/MermaidDiagram.js.map +1 -1
  300. package/lib/widgets/markdown/remarkDirectiveHandler.d.ts +7 -2
  301. package/lib/widgets/markdown/remarkDirectiveHandler.d.ts.map +1 -1
  302. package/lib/widgets/markdown/remarkDirectiveHandler.js +19 -4
  303. package/lib/widgets/markdown/remarkDirectiveHandler.js.map +1 -1
  304. package/lib/widgets/monacoEditor/MonacoEditor.d.ts.map +1 -1
  305. package/lib/widgets/monacoEditor/MonacoEditor.js +4 -2
  306. package/lib/widgets/monacoEditor/MonacoEditor.js.map +1 -1
  307. package/lib/widgets/monacoEditor/index.d.ts +1 -0
  308. package/lib/widgets/monacoEditor/index.d.ts.map +1 -1
  309. package/lib/widgets/monacoEditor/index.js +1 -0
  310. package/lib/widgets/monacoEditor/index.js.map +1 -1
  311. package/lib/widgets/monacoEditor/loadMonaco.d.ts +45 -0
  312. package/lib/widgets/monacoEditor/loadMonaco.d.ts.map +1 -0
  313. package/lib/widgets/monacoEditor/loadMonaco.js +62 -0
  314. package/lib/widgets/monacoEditor/loadMonaco.js.map +1 -0
  315. package/lib/widgets/properties/PropertiesView.js +1 -1
  316. package/lib/widgets/properties/PropertiesView.js.map +1 -1
  317. package/lib/widgets/schema-editor/editor/Editable.js +2 -2
  318. package/lib/widgets/schema-editor/editor/Editable.js.map +1 -1
  319. package/lib/widgets/schema-editor/editor/PropertyEditor.js +1 -1
  320. package/lib/widgets/schema-editor/editor/PropertyEditor.js.map +1 -1
  321. package/lib/widgets/schema-editor/editor/SchemaEditor.js +2 -2
  322. package/lib/widgets/schema-editor/editor/SchemaEditor.js.map +1 -1
  323. package/lib/widgets/upload/DropZone.js +1 -1
  324. package/lib/widgets/upload/DropZone.js.map +1 -1
  325. package/lib/widgets/upload/UploadResultCategory.d.ts +1 -1
  326. package/lib/widgets/upload/UploadResultCategory.d.ts.map +1 -1
  327. package/lib/widgets/upload/UploadResultCategory.js +3 -3
  328. package/lib/widgets/upload/UploadResultCategory.js.map +1 -1
  329. package/lib/widgets/upload/UploadSummary.js +1 -1
  330. package/lib/widgets/upload/UploadSummary.js.map +1 -1
  331. package/lib/widgets/xml-viewer/components/XMLViewer.d.ts.map +1 -1
  332. package/lib/widgets/xml-viewer/components/XMLViewer.js +7 -3
  333. package/lib/widgets/xml-viewer/components/XMLViewer.js.map +1 -1
  334. package/lib/widgets/xml-viewer/hooks/useCollapsible.d.ts +1 -1
  335. package/lib/widgets/xml-viewer/hooks/useXMLViewer.d.ts +11 -13
  336. package/lib/widgets/xml-viewer/hooks/useXMLViewer.d.ts.map +1 -1
  337. package/lib/widgets/xml-viewer/hooks/useXMLViewer.js +41 -14
  338. package/lib/widgets/xml-viewer/hooks/useXMLViewer.js.map +1 -1
  339. package/package.json +7 -7
  340. package/src/__tests__/contrast.test.ts +1 -0
  341. package/src/core/components/Avatar.tsx +3 -3
  342. package/src/core/components/ComboBox.tsx +1 -1
  343. package/src/core/components/FileUpload.tsx +4 -4
  344. package/src/core/components/Link.tsx +1 -1
  345. package/src/core/components/SelectList.tsx +1 -1
  346. package/src/core/components/SidePanel.tsx +1 -1
  347. package/src/core/components/Spinner.tsx +1 -1
  348. package/src/core/components/TagsInput.tsx +8 -8
  349. package/src/core/components/shadcn/MessageBox.tsx +1 -1
  350. package/src/core/components/shadcn/button.tsx +1 -1
  351. package/src/core/components/shadcn/card.tsx +1 -3
  352. package/src/core/components/shadcn/command.tsx +5 -5
  353. package/src/core/components/shadcn/filters/DynamicLabel.tsx +1 -1
  354. package/src/core/components/shadcn/filters/comboBox/DateCombobox.tsx +3 -3
  355. package/src/core/components/shadcn/input.tsx +3 -3
  356. package/src/core/components/shadcn/modal/ConfirmModal.tsx +3 -3
  357. package/src/core/components/shadcn/modal/dialog.tsx +2 -4
  358. package/src/core/components/shadcn/overflowTabs.tsx +2 -2
  359. package/src/core/components/shadcn/popover.tsx +1 -1
  360. package/src/core/components/shadcn/radioGroup.tsx +5 -7
  361. package/src/core/components/shadcn/selectBox.tsx +1 -1
  362. package/src/core/components/shadcn/tabs.tsx +4 -2
  363. package/src/core/components/styles.ts +1 -1
  364. package/src/core/components/table/index.tsx +1 -1
  365. package/src/core/hooks/useFetch.test.ts +20 -0
  366. package/src/core/hooks/useFetch.ts +2 -0
  367. package/src/css/base.css +1 -1
  368. package/src/css/color.css +4 -0
  369. package/src/css/theme.css +1 -0
  370. package/src/css/typography.css +2 -2
  371. package/src/features/activity-doc/ActivityDoc.tsx +11 -11
  372. package/src/features/agent/chat/AgentChart.tsx +1 -1
  373. package/src/features/agent/chat/AskUserWidget.tsx +19 -23
  374. package/src/features/agent/chat/JumpingDots.tsx +3 -3
  375. package/src/features/agent/chat/ModernAgentConversation.tsx +3 -3
  376. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.test.tsx +60 -1
  377. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +44 -24
  378. package/src/features/agent/chat/ModernAgentOutput/BatchProgressPanel.tsx +12 -12
  379. package/src/features/agent/chat/ModernAgentOutput/Header.tsx +1 -1
  380. package/src/features/agent/chat/ModernAgentOutput/InlineSlideInPanel.tsx +4 -4
  381. package/src/features/agent/chat/ModernAgentOutput/MessageInput.tsx +2 -2
  382. package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +7 -12
  383. package/src/features/agent/chat/ModernAgentOutput/MessagesContainer.tsx +1 -1
  384. package/src/features/agent/chat/ModernAgentOutput/PlanPanel.tsx +16 -22
  385. package/src/features/agent/chat/ModernAgentOutput/SlideInPanel.tsx +4 -4
  386. package/src/features/agent/chat/ModernAgentOutput/SlidingMessages.tsx +2 -4
  387. package/src/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.tsx +21 -21
  388. package/src/features/agent/chat/ModernAgentOutput/StreamingMessage.tsx +4 -4
  389. package/src/features/agent/chat/ModernAgentOutput/SummaryConversation.ts +16 -1
  390. package/src/features/agent/chat/ModernAgentOutput/ToolCallGroup.tsx +19 -40
  391. package/src/features/agent/chat/ModernAgentOutput/requestInputMessages.test.ts +41 -0
  392. package/src/features/agent/chat/ModernAgentOutput/requestInputMessages.ts +19 -0
  393. package/src/features/agent/chat/ModernAgentOutput/utils.test.ts +93 -0
  394. package/src/features/agent/chat/SlidingThinkingIndicator.tsx +5 -2
  395. package/src/features/agent/chat/VegaLiteChart.tsx +6 -2
  396. package/src/features/errors/RowErrorBoundary.tsx +1 -1
  397. package/src/features/facets/AgentRunnerFacetsNav.tsx +1 -1
  398. package/src/features/facets/utils/VInteractionFacet.tsx +22 -34
  399. package/src/features/facets/utils/VUserFacet.tsx +1 -1
  400. package/src/features/layout/GenericPageNavHeader.tsx +9 -1
  401. package/src/features/layout/NotFoundView.tsx +1 -1
  402. package/src/features/magic-pdf/AnnotatedImageSlider.tsx +8 -16
  403. package/src/features/magic-pdf/ExtractedContentView.tsx +4 -4
  404. package/src/features/magic-pdf/MagicPdfView.tsx +1 -1
  405. package/src/features/pdf-viewer/PdfPageRenderer.tsx +2 -2
  406. package/src/features/pdf-viewer/PdfPageSlider.tsx +4 -4
  407. package/src/features/pdf-viewer/SimplePdfViewer.tsx +1 -1
  408. package/src/features/permissions/UserPermissionsProvider.test.tsx +172 -0
  409. package/src/features/permissions/UserPermissionsProvider.tsx +68 -21
  410. package/src/features/permissions/useRoleMappings.ts +105 -0
  411. package/src/features/store/collections/SelectCollection.tsx +1 -1
  412. package/src/features/store/objects/DocumentPreviewPanel.tsx +43 -53
  413. package/src/features/store/objects/DocumentTable.tsx +2 -2
  414. package/src/features/store/objects/components/DocumentIcon.tsx +4 -4
  415. package/src/features/store/objects/components/DocumentInput.tsx +3 -3
  416. package/src/features/store/objects/components/PropertiesEditorModal.tsx +2 -2
  417. package/src/features/store/objects/components/SaveVersionConfirmModal.tsx +2 -2
  418. package/src/features/store/objects/layout/documentLayout.tsx +2 -4
  419. package/src/features/store/objects/selection/SelectionActions.tsx +1 -1
  420. package/src/features/store/types/IntakePolicyEditor.tsx +70 -36
  421. package/src/features/store/types/IntakePolicyForm.tsx +11 -3
  422. package/src/features/store/types/SelectContentTypeModal.tsx +1 -1
  423. package/src/features/user/UserAvatar.tsx +3 -3
  424. package/src/features/user/UserInfo.tsx +11 -16
  425. package/src/features/utils/index.ts +1 -0
  426. package/src/features/utils/interaction.test.tsx +93 -0
  427. package/src/features/utils/interaction.tsx +125 -0
  428. package/src/features/views/ViewResults.tsx +3 -3
  429. package/src/i18n/locales/ar.json +7 -1
  430. package/src/i18n/locales/de.json +7 -1
  431. package/src/i18n/locales/en.json +7 -1
  432. package/src/i18n/locales/es.json +7 -1
  433. package/src/i18n/locales/fr.json +7 -1
  434. package/src/i18n/locales/it.json +7 -1
  435. package/src/i18n/locales/ja.json +7 -1
  436. package/src/i18n/locales/ko.json +7 -1
  437. package/src/i18n/locales/pt.json +7 -1
  438. package/src/i18n/locales/ru.json +7 -1
  439. package/src/i18n/locales/tr.json +7 -1
  440. package/src/i18n/locales/zh-TW.json +7 -1
  441. package/src/i18n/locales/zh.json +7 -1
  442. package/src/layout/FullHeightLayout.tsx +2 -2
  443. package/src/layout/Navbar.tsx +5 -5
  444. package/src/layout/Sidebar.tsx +1 -1
  445. package/src/session/UserSessionProvider.tsx +2 -15
  446. package/src/session/auth/authState.test.ts +35 -0
  447. package/src/session/auth/authState.ts +42 -0
  448. package/src/session/auth/domainRouting.test.ts +169 -1
  449. package/src/session/auth/domainRouting.ts +89 -0
  450. package/src/session/auth/useAuthState.ts +5 -49
  451. package/src/session/index.ts +6 -0
  452. package/src/shell/SplashScreen.test.tsx +22 -0
  453. package/src/shell/SplashScreen.tsx +6 -2
  454. package/src/shell/VertesiaShell.tsx +1 -1
  455. package/src/shell/apps/AppProjectSelector.tsx +1 -1
  456. package/src/shell/apps/StandaloneApp.tsx +9 -9
  457. package/src/shell/login/SignInPrimitives.tsx +2 -2
  458. package/src/shell/login/SigninScreen.tsx +1 -1
  459. package/src/shell/login/SignupForm.tsx +2 -2
  460. package/src/shell/login/TerminalLogin.tsx +5 -5
  461. package/src/shell/login/UserInfo.tsx +2 -5
  462. package/src/shell/login/UserSessionMenu.tsx +2 -2
  463. package/src/widgets/Progress.tsx +2 -2
  464. package/src/widgets/form/Form.tsx +4 -4
  465. package/src/widgets/form/fields.tsx +2 -2
  466. package/src/widgets/json-view/JSONView.tsx +1 -6
  467. package/src/widgets/markdown/ArtifactEditingSurface.test.tsx +33 -29
  468. package/src/widgets/markdown/MarkdownRenderer.test.tsx +52 -0
  469. package/src/widgets/markdown/MermaidDiagram.tsx +2 -2
  470. package/src/widgets/markdown/remarkDirectiveHandler.ts +21 -5
  471. package/src/widgets/monacoEditor/MonacoEditor.tsx +4 -2
  472. package/src/widgets/monacoEditor/index.ts +1 -0
  473. package/src/widgets/monacoEditor/loadMonaco.test.ts +63 -0
  474. package/src/widgets/monacoEditor/loadMonaco.ts +70 -0
  475. package/src/widgets/properties/PropertiesView.tsx +1 -1
  476. package/src/widgets/schema-editor/editor/Editable.tsx +2 -2
  477. package/src/widgets/schema-editor/editor/PropertyEditor.tsx +1 -1
  478. package/src/widgets/schema-editor/editor/SchemaEditor.tsx +2 -2
  479. package/src/widgets/upload/DropZone.tsx +1 -1
  480. package/src/widgets/upload/UploadResultCategory.tsx +7 -7
  481. package/src/widgets/upload/UploadSummary.tsx +4 -4
  482. package/src/widgets/xml-viewer/components/XMLViewer.tsx +7 -3
  483. package/src/widgets/xml-viewer/hooks/useXMLViewer.test.ts +60 -7
  484. package/src/widgets/xml-viewer/hooks/useXMLViewer.ts +70 -16
  485. package/lib/vertesia-ui-i18n.3yHWompP.chunk.js +0 -5
  486. package/lib/vertesia-ui-i18n.3yHWompP.chunk.js.map +0 -1
  487. package/lib/vertesia-ui-i18n.4XKCcnL0.chunk.js +0 -5
  488. package/lib/vertesia-ui-i18n.4XKCcnL0.chunk.js.map +0 -1
  489. package/lib/vertesia-ui-i18n.78KG4J25.chunk.js +0 -5
  490. package/lib/vertesia-ui-i18n.78KG4J25.chunk.js.map +0 -1
  491. package/lib/vertesia-ui-i18n.BN06mpp1.chunk.js +0 -5
  492. package/lib/vertesia-ui-i18n.BN06mpp1.chunk.js.map +0 -1
  493. package/lib/vertesia-ui-i18n.CSzKLlHJ.chunk.js +0 -5
  494. package/lib/vertesia-ui-i18n.CSzKLlHJ.chunk.js.map +0 -1
  495. package/lib/vertesia-ui-i18n.Ccus7aRh.chunk.js +0 -5
  496. package/lib/vertesia-ui-i18n.Ccus7aRh.chunk.js.map +0 -1
  497. package/lib/vertesia-ui-i18n.D9j3c6gI.chunk.js +0 -5
  498. package/lib/vertesia-ui-i18n.D9j3c6gI.chunk.js.map +0 -1
  499. package/lib/vertesia-ui-i18n.DAUg4rrI.chunk.js +0 -5
  500. package/lib/vertesia-ui-i18n.DAUg4rrI.chunk.js.map +0 -1
  501. package/lib/vertesia-ui-i18n.DSxVZKXy.chunk.js +0 -5
  502. package/lib/vertesia-ui-i18n.DSxVZKXy.chunk.js.map +0 -1
  503. package/lib/vertesia-ui-i18n.aahVhHvR.chunk.js +0 -5
  504. package/lib/vertesia-ui-i18n.aahVhHvR.chunk.js.map +0 -1
  505. package/lib/vertesia-ui-i18n.nZ3xJ26v.chunk.js +0 -5
  506. package/lib/vertesia-ui-i18n.nZ3xJ26v.chunk.js.map +0 -1
  507. package/lib/vertesia-ui-i18n.xPYbuFzT.chunk.js +0 -5
  508. package/lib/vertesia-ui-i18n.xPYbuFzT.chunk.js.map +0 -1
@@ -133,6 +133,41 @@ describe('AllMessagesMixed summary view', () => {
133
133
  vi.useRealTimers();
134
134
  });
135
135
 
136
+ it('keeps the draft accompanying ask_user visible outside collapsed work', () => {
137
+ renderSummary([
138
+ makeMessage({
139
+ timestamp: 1000,
140
+ message: '## Draft agenda\n9:00 Welcome\n9:15 Platform foundations',
141
+ details: {
142
+ event_class: 'activity',
143
+ display_role: 'tool_preamble',
144
+ tools: ['ask_user'],
145
+ activity_group_id: 'review-1',
146
+ streamed: true,
147
+ },
148
+ }),
149
+ makeMessage({
150
+ timestamp: 2000,
151
+ message: 'Waiting for review...',
152
+ details: {
153
+ tool: 'ask_user',
154
+ tool_status: 'running',
155
+ activity_group_id: 'review-1',
156
+ },
157
+ }),
158
+ makeMessage({
159
+ timestamp: 3000,
160
+ type: AgentMessageType.REQUEST_INPUT,
161
+ message: 'Does this agenda work?',
162
+ details: { tool: 'ask_user', request_id: 'ask-1' },
163
+ }),
164
+ ]);
165
+
166
+ expect(screen.getByRole('heading', { name: 'Draft agenda' })).not.toBeNull();
167
+ expect(screen.getByText('Does this agenda work?')).not.toBeNull();
168
+ expect(screen.getByRole('button', { name: /Worked\s*for/ }).getAttribute('aria-expanded')).toBe('false');
169
+ });
170
+
136
171
  it('renders delivery status on user bubbles in summary view', () => {
137
172
  renderSummary([
138
173
  makeMessage({
@@ -1109,7 +1144,9 @@ describe('AllMessagesMixed summary view', () => {
1109
1144
 
1110
1145
  const columns = Array.from(screen.getByRole('table').querySelectorAll('col'));
1111
1146
  const contentWidths = [columns[0], columns[2]].map((column) =>
1112
- Number.parseFloat(column.style.getPropertyValue('--agent-markdown-table-column-width')),
1147
+ Number.parseFloat(
1148
+ column.style.getPropertyValue('--agent-markdown-table-column-width').replace('calc(', ''),
1149
+ ),
1113
1150
  );
1114
1151
 
1115
1152
  expect(columns).toHaveLength(3);
@@ -1117,6 +1154,28 @@ describe('AllMessagesMixed summary view', () => {
1117
1154
  expect(contentWidths[1]).toBeGreaterThan(contentWidths[0]);
1118
1155
  });
1119
1156
 
1157
+ it('reserves readable widths for agenda columns beside long descriptions', () => {
1158
+ renderSummary([
1159
+ makeMessage({
1160
+ type: AgentMessageType.ANSWER,
1161
+ message: [
1162
+ '| Time | Duration | Topic | Facilitator |',
1163
+ '| --- | --- | --- | --- |',
1164
+ '| 9:15 a.m. | 90 min | Advanced capabilities: sub-agents, workstreams, skills, tools and human review | Vertesia |',
1165
+ '| 10:45 a.m. | 15 min | Break | All |',
1166
+ ].join('\n'),
1167
+ }),
1168
+ ]);
1169
+
1170
+ const table = screen.getByRole('table');
1171
+ const widths = Array.from(table.querySelectorAll('col')).map((column) =>
1172
+ column.style.getPropertyValue('--agent-markdown-table-column-width'),
1173
+ );
1174
+ expect(widths).toEqual(['8rem', '8rem', 'calc(100.000% - 24.000rem)', '8rem']);
1175
+ expect(table.style.minWidth).toBe('32rem');
1176
+ expect(table.parentElement?.classList.contains('overflow-x-auto')).toBe(true);
1177
+ });
1178
+
1120
1179
  it('merges legacy activity progress rows with different tool run ids', () => {
1121
1180
  renderSummary(
1122
1181
  [
@@ -475,11 +475,15 @@ function getTableColumnLayouts(node?: Element): AgentMarkdownTableColumnLayout[]
475
475
  return clampNumber(avgLength * 0.7 + maxLength * 0.25 + longestTokenLength * 0.45, 18, 90);
476
476
  });
477
477
 
478
- const totalWeight = weights.reduce((sum, weight) => sum + weight, 0);
478
+ const totalWeight = weights.reduce((sum, weight, index) => sum + (compactColumns.has(index) ? 0 : weight), 0);
479
479
  if (totalWeight <= 0) return [];
480
480
 
481
481
  return weights.map((weight, columnIndex) => {
482
- const width = `${((weight / totalWeight) * 100).toFixed(3)}%`;
482
+ const share = weight / totalWeight;
483
+ // Reserve actual space for short values and headers before distributing prose columns.
484
+ const width = compactColumns.has(columnIndex)
485
+ ? '8rem'
486
+ : `calc(${(share * 100).toFixed(3)}% - ${(compactColumns.size * 8 * share).toFixed(3)}rem)`;
483
487
  return {
484
488
  key: `agent-markdown-table-column-${columnIndex}`,
485
489
  compact: compactColumns.has(columnIndex),
@@ -500,24 +504,30 @@ function AgentMarkdownTable({
500
504
  const columnLayouts = getTableColumnLayouts(node);
501
505
 
502
506
  return (
503
- <table {...props} className={className}>
504
- {columnLayouts.length > 0 ? (
505
- <colgroup>
506
- {columnLayouts.map((columnLayout) => (
507
- <col
508
- key={columnLayout.key}
509
- className={columnLayout.compact ? 'agent-markdown-table-compact-col' : undefined}
510
- style={
511
- {
512
- '--agent-markdown-table-column-width': columnLayout.width,
513
- } as React.CSSProperties
514
- }
515
- />
516
- ))}
517
- </colgroup>
518
- ) : null}
519
- {children}
520
- </table>
507
+ <div className="overflow-x-auto">
508
+ <table
509
+ {...props}
510
+ className={className}
511
+ style={{ minWidth: `${columnLayouts.length * 8}rem`, ...props.style }}
512
+ >
513
+ {columnLayouts.length > 0 ? (
514
+ <colgroup>
515
+ {columnLayouts.map((columnLayout) => (
516
+ <col
517
+ key={columnLayout.key}
518
+ className={columnLayout.compact ? 'agent-markdown-table-compact-col' : undefined}
519
+ style={
520
+ {
521
+ '--agent-markdown-table-column-width': columnLayout.width,
522
+ } as React.CSSProperties
523
+ }
524
+ />
525
+ ))}
526
+ </colgroup>
527
+ ) : null}
528
+ {children}
529
+ </table>
530
+ </div>
521
531
  );
522
532
  }
523
533
 
@@ -1210,6 +1220,15 @@ function getToolTarget(details: Record<string, unknown>): string | undefined {
1210
1220
  return undefined;
1211
1221
  }
1212
1222
 
1223
+ /**
1224
+ * An approval decision that stopped the tool from running — a denial, a timeout, or a cancellation
1225
+ * — as opposed to one that released it. Unknown decisions count as blocking: every decision the
1226
+ * agent has ever emitted except `auto_approved` is one, so that is the safer default.
1227
+ */
1228
+ function isBlockingApprovalDecision(decision: unknown): boolean {
1229
+ return typeof decision === 'string' && decision !== 'auto_approved';
1230
+ }
1231
+
1213
1232
  function getApprovalDecisionLabel(decision: unknown, toolLabel: string): string | undefined {
1214
1233
  switch (decision) {
1215
1234
  case 'denied':
@@ -1221,6 +1240,8 @@ function getApprovalDecisionLabel(decision: unknown, toolLabel: string): string
1221
1240
  return `Approval reviewer denied ${toolLabel}.`;
1222
1241
  case 'cancelled_after_denial':
1223
1242
  return `Cancelled ${toolLabel} after another tool was denied.`;
1243
+ case 'auto_approved':
1244
+ return `Approval no longer required for ${toolLabel}.`;
1224
1245
  default:
1225
1246
  return undefined;
1226
1247
  }
@@ -1237,6 +1258,8 @@ function getApprovalDecisionStatusText(decision: unknown): string | undefined {
1237
1258
  return 'Denied by reviewer';
1238
1259
  case 'cancelled_after_denial':
1239
1260
  return 'Cancelled after denial';
1261
+ case 'auto_approved':
1262
+ return 'Approved without asking';
1240
1263
  default:
1241
1264
  return undefined;
1242
1265
  }
@@ -1467,7 +1490,7 @@ function getToolDetailSections(message: AgentMessage): SummaryToolDetailSection[
1467
1490
  addSection(
1468
1491
  'Output',
1469
1492
  ['output', 'stdout', 'result', 'results', 'content', 'result_summary', 'observation', 'display_message'],
1470
- typeof details.approval_decision === 'string' ? 'error' : undefined,
1493
+ isBlockingApprovalDecision(details.approval_decision) ? 'error' : undefined,
1471
1494
  );
1472
1495
  addSection('Files', ['files', 'outputFiles']);
1473
1496
  addSection('Error', ['error', 'stderr'], 'error');
@@ -3322,9 +3345,6 @@ function AllMessagesMixedComponent({
3322
3345
  .agent-markdown col {
3323
3346
  width: var(--agent-markdown-table-column-width);
3324
3347
  }
3325
- .agent-markdown .agent-markdown-table-compact-col {
3326
- width: clamp(4.75rem, var(--agent-markdown-table-column-width), 7rem);
3327
- }
3328
3348
  .agent-markdown tr:last-child td {
3329
3349
  border-bottom: 0;
3330
3350
  }
@@ -83,7 +83,7 @@ function BatchProgressPanelComponent({
83
83
  if (overallStatus === 'error' || overallStatus === 'warning') {
84
84
  return <AlertCircle className="size-4 text-destructive" />;
85
85
  }
86
- return <Layers className="size-4 text-purple-600" />;
86
+ return <Layers className="size-4 text-done" />;
87
87
  };
88
88
 
89
89
  // Border color based on status
@@ -91,14 +91,14 @@ function BatchProgressPanelComponent({
91
91
  if (overallStatus === 'completed') return 'border-s-success';
92
92
  if (overallStatus === 'error') return 'border-s-destructive';
93
93
  if (overallStatus === 'warning') return 'border-s-attention';
94
- return 'border-s-blue-500';
94
+ return 'border-s-info';
95
95
  };
96
96
 
97
97
  // Progress bar color
98
98
  const getProgressColor = () => {
99
99
  if (hasErrors) return 'bg-attention';
100
100
  if (isComplete) return 'bg-success';
101
- return 'bg-blue-500';
101
+ return 'bg-primary';
102
102
  };
103
103
 
104
104
  const copyToClipboard = () => {
@@ -118,7 +118,7 @@ function BatchProgressPanelComponent({
118
118
  return (
119
119
  <div
120
120
  className={cn(
121
- 'border-s-4 shadow-md overflow-hidden bg-white dark:bg-gray-900 mb-5',
121
+ 'border-s-4 shadow-md overflow-hidden bg-white dark:bg-muted mb-5',
122
122
  getBorderColor(),
123
123
  className,
124
124
  )}
@@ -130,7 +130,7 @@ function BatchProgressPanelComponent({
130
130
  tabIndex={0}
131
131
  aria-expanded={isExpanded}
132
132
  className={cn(
133
- 'flex items-center justify-between px-4 py-2 border-b border-gray-100/80 dark:border-gray-800/80 bg-blue-50/50 dark:bg-blue-900/10 cursor-pointer',
133
+ 'flex items-center justify-between px-4 py-2 border-b border-border/80 bg-info/50 dark:bg-info/10 cursor-pointer',
134
134
  headerClassName,
135
135
  )}
136
136
  onClick={() => setIsExpanded(!isExpanded)}
@@ -139,7 +139,7 @@ function BatchProgressPanelComponent({
139
139
  <div className="flex items-center gap-2">
140
140
  {renderStatusIndicator()}
141
141
  <span className={cn('text-xs font-medium text-muted', senderClassName)}>{t('agent.batch')}</span>
142
- <span className="text-xs text-blue-600 dark:text-blue-400 font-medium">{tool_name}</span>
142
+ <span className="text-xs text-info font-medium">{tool_name}</span>
143
143
  <span className="text-xs text-muted">
144
144
  {completed}/{total}
145
145
  </span>
@@ -169,9 +169,9 @@ function BatchProgressPanelComponent({
169
169
  </div>
170
170
 
171
171
  {/* Progress bar */}
172
- <div className={cn('px-4 py-2 bg-gray-50/50 dark:bg-gray-800/30', progressBarClassName)}>
172
+ <div className={cn('px-4 py-2 bg-muted/50 dark:bg-muted/30', progressBarClassName)}>
173
173
  <div className="flex items-center gap-3">
174
- <div className="flex-1 h-2 bg-gray-200 dark:bg-gray-700 rounded-full overflow-hidden">
174
+ <div className="flex-1 h-2 bg-muted rounded-full overflow-hidden">
175
175
  <div
176
176
  className={`h-full ${getProgressColor()} transition-all duration-300 ease-out`}
177
177
  style={{ width: `${progress}%` }}
@@ -191,7 +191,7 @@ function BatchProgressPanelComponent({
191
191
  </span>
192
192
  )}
193
193
  {isRunning && completed < total && (
194
- <span className="text-blue-500 flex items-center gap-1">
194
+ <span className="text-info flex items-center gap-1">
195
195
  <Loader2 className="size-3 animate-spin" />
196
196
  {total - completed}
197
197
  </span>
@@ -207,7 +207,7 @@ function BatchProgressPanelComponent({
207
207
  <div
208
208
  key={item.id}
209
209
  className={cn(
210
- 'flex items-center gap-2 px-4 py-1.5 text-xs border-b border-gray-100 dark:border-gray-800 last:border-b-0 hover:bg-gray-50 dark:hover:bg-gray-800/50',
210
+ 'flex items-center gap-2 px-4 py-1.5 text-xs border-b border-border last:border-b-0 hover:bg-muted',
211
211
  itemClassName,
212
212
  )}
213
213
  >
@@ -215,9 +215,9 @@ function BatchProgressPanelComponent({
215
215
  <div className="w-4 flex-shrink-0">
216
216
  {item.status === 'success' && <CheckCircle className="size-3 text-success" />}
217
217
  {item.status === 'error' && <AlertCircle className="size-3 text-destructive" />}
218
- {item.status === 'running' && <Loader2 className="size-3 text-blue-500 animate-spin" />}
218
+ {item.status === 'running' && <Loader2 className="size-3 text-info animate-spin" />}
219
219
  {item.status === 'pending' && (
220
- <div className="size-3 rounded-full border border-gray-300 dark:border-gray-600" />
220
+ <div className="size-3 rounded-full border border-border" />
221
221
  )}
222
222
  </div>
223
223
 
@@ -298,7 +298,7 @@ export default function Header({
298
298
  'w-2 h-2 rounded-full transition-colors duration-200',
299
299
  isReceivingChunks
300
300
  ? 'bg-purple-500 shadow-[0_0_6px_2px_rgba(168,85,247,0.6)]'
301
- : 'bg-gray-400',
301
+ : 'bg-muted',
302
302
  )}
303
303
  />
304
304
  </span>
@@ -45,15 +45,15 @@ export default function InlineSlideInPanel({
45
45
 
46
46
  return (
47
47
  <div
48
- className={`absolute top-12 end-0 bottom-0 z-40 bg-white dark:bg-gray-900 shadow-lg border-s border-gray-200 dark:border-gray-800 border-4 border-red-500`}
48
+ className={`absolute top-12 end-0 bottom-0 z-40 bg-white dark:bg-muted shadow-lg border-s border-border border-4 border-destructive`}
49
49
  style={{ width, transform: 'none' }}
50
50
  >
51
51
  {/* Header */}
52
- <div className="flex items-center justify-between p-3 border-b border-gray-200 dark:border-gray-800">
53
- <h3 className="font-medium text-gray-800 dark:text-gray-200 text-sm">{title}</h3>
52
+ <div className="flex items-center justify-between p-3 border-b border-border">
53
+ <h3 className="font-medium text-foreground text-sm">{title}</h3>
54
54
  <Button
55
55
  variant="unstyled"
56
- className="p-1 text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200 rounded-full"
56
+ className="p-1 text-muted hover:text-foreground rounded-full"
57
57
  onClick={onClose}
58
58
  aria-label="Close"
59
59
  >
@@ -456,8 +456,8 @@ export default function MessageInput({
456
456
  >
457
457
  {/* Drag overlay */}
458
458
  {isDragOver && canDropFiles && (
459
- <div className="absolute inset-0 flex items-center justify-center bg-blue-100/80 dark:bg-blue-900/40 rounded-lg z-10 pointer-events-none">
460
- <div className="text-blue-600 dark:text-blue-400 font-medium flex items-center gap-2">
459
+ <div className="absolute inset-0 flex items-center justify-center bg-info/80 dark:bg-info/40 rounded-lg z-10 pointer-events-none">
460
+ <div className="text-info font-medium flex items-center gap-2">
461
461
  <UploadIcon className="size-5" />
462
462
  {t('agent.dropFilesToUpload')}
463
463
  </div>
@@ -140,8 +140,8 @@ export const MESSAGE_STYLES: Record<AgentMessageType | 'default', MessageStyleCo
140
140
  },
141
141
  [AgentMessageType.QUESTION]: { borderColor: 'border-s-muted', iconColor: 'text-muted', sender: 'User', Icon: User },
142
142
  [AgentMessageType.THOUGHT]: {
143
- borderColor: 'border-s-purple-500',
144
- iconColor: 'text-purple-600 dark:text-purple-400',
143
+ borderColor: 'border-s-done',
144
+ iconColor: 'text-done',
145
145
  sender: 'Agent',
146
146
  Icon: Bot,
147
147
  },
@@ -183,8 +183,8 @@ export const MESSAGE_STYLES: Record<AgentMessageType | 'default', MessageStyleCo
183
183
  Icon: Bot,
184
184
  },
185
185
  [AgentMessageType.BATCH_PROGRESS]: {
186
- borderColor: 'border-s-blue-500',
187
- iconColor: 'text-blue-600 dark:text-blue-400',
186
+ borderColor: 'border-s-info',
187
+ iconColor: 'text-info',
188
188
  sender: 'Batch',
189
189
  Icon: Layers,
190
190
  },
@@ -412,7 +412,7 @@ function MessageItemComponent({
412
412
  // Handle object content (JSON)
413
413
  if (typeof content === 'object') {
414
414
  return (
415
- <pre className="text-xs font-mono whitespace-pre-wrap overflow-x-auto bg-gray-100 dark:bg-gray-800 p-2 rounded text-gray-700">
415
+ <pre className="text-xs font-mono whitespace-pre-wrap overflow-x-auto bg-muted p-2 rounded text-foreground">
416
416
  {JSON.stringify(content, null, 2)}
417
417
  </pre>
418
418
  );
@@ -548,7 +548,7 @@ function MessageItemComponent({
548
548
  <div className={cn('w-full max-w-full', resolvedStyle.className)}>
549
549
  <div
550
550
  className={cn(
551
- 'border-s-4 bg-white dark:bg-gray-900 mb-4 w-full max-w-full overflow-hidden',
551
+ 'border-s-4 bg-white dark:bg-muted mb-4 w-full max-w-full overflow-hidden',
552
552
  resolvedStyle.borderColor,
553
553
  resolvedStyle.cardClassName,
554
554
  )}
@@ -611,12 +611,7 @@ function MessageItemComponent({
611
611
  </div>
612
612
 
613
613
  {/* Message content */}
614
- <div
615
- className={cn(
616
- 'px-4 pb-3 bg-white dark:bg-gray-900 overflow-hidden',
617
- resolvedStyle.contentClassName,
618
- )}
619
- >
614
+ <div className={cn('px-4 pb-3 bg-white dark:bg-muted overflow-hidden', resolvedStyle.contentClassName)}>
620
615
  {/* Check for REQUEST_INPUT with UX config - render AskUserWidget instead of plain text */}
621
616
  {askUserUx ? (
622
617
  <AskUserWidget
@@ -50,7 +50,7 @@ export default function MessagesContainer({
50
50
  >
51
51
  {sortedMessages.length === 0 ? (
52
52
  <div className={`flex items-center justify-center h-full text-center py-8 ${emptyClassName || ''}`}>
53
- <div className="flex items-center px-4 py-3 text-gray-500">Waiting for agent response...</div>
53
+ <div className="flex items-center px-4 py-3 text-muted">Waiting for agent response...</div>
54
54
  </div>
55
55
  ) : (
56
56
  <div className={`flex-1 flex flex-col justify-start h-full min-h-0 ${messagesClassName || ''}`}>
@@ -14,8 +14,8 @@ export default function PlanPanel({ plan, workstreamStatus, isVisible }: PlanPan
14
14
  if (!isVisible) return null;
15
15
 
16
16
  return (
17
- <div className="border-b border-gray-200 dark:border-gray-800 bg-gray-50 dark:bg-gray-900 p-3 shadow-sm transition-all duration-300 ease-in-out transform">
18
- <div className="text-xs font-medium mb-2 text-gray-800 dark:text-gray-200">{t('agent.agentPlan')}</div>
17
+ <div className="border-b border-border bg-muted p-3 shadow-sm transition-all duration-300 ease-in-out transform">
18
+ <div className="text-xs font-medium mb-2 text-foreground">{t('agent.agentPlan')}</div>
19
19
 
20
20
  {/* Plan Steps */}
21
21
  {plan.plan && plan.plan.length > 0 ? (
@@ -34,14 +34,14 @@ export default function PlanPanel({ plan, workstreamStatus, isVisible }: PlanPan
34
34
 
35
35
  // Determine status icon and style
36
36
  let StatusIcon = Circle;
37
- let statusColor = 'text-gray-400';
37
+ let statusColor = 'text-muted';
38
38
 
39
39
  if (status === 'in_progress') {
40
40
  StatusIcon = Clock;
41
- statusColor = 'text-blue-500';
41
+ statusColor = 'text-info';
42
42
  } else if (status === 'completed') {
43
43
  StatusIcon = CheckCircle;
44
- statusColor = 'text-green-500';
44
+ statusColor = 'text-success';
45
45
  }
46
46
 
47
47
  return (
@@ -50,8 +50,8 @@ export default function PlanPanel({ plan, workstreamStatus, isVisible }: PlanPan
50
50
  <StatusIcon className="h-3.5 w-3.5" />
51
51
  </div>
52
52
  <div className="text-xs">
53
- <span className="text-gray-700 dark:text-gray-300">{taskGoal}</span>
54
- <span className="ms-1 bg-gray-200 dark:bg-gray-700 px-1 py-0.5 rounded text-[10px] font-mono">
53
+ <span className="text-foreground">{taskGoal}</span>
54
+ <span className="ms-1 bg-muted px-1 py-0.5 rounded text-[10px] font-mono">
55
55
  {taskId}
56
56
  </span>
57
57
  </div>
@@ -60,18 +60,16 @@ export default function PlanPanel({ plan, workstreamStatus, isVisible }: PlanPan
60
60
  })}
61
61
  </div>
62
62
  ) : (
63
- <div className="text-xs text-gray-500 dark:text-gray-400 italic flex items-center">
64
- <AlertCircle className="h-3.5 w-3.5 me-1.5 text-amber-500" />
63
+ <div className="text-xs text-muted italic flex items-center">
64
+ <AlertCircle className="h-3.5 w-3.5 me-1.5 text-attention" />
65
65
  {t('agent.noPlanDetected')}
66
66
  </div>
67
67
  )}
68
68
 
69
69
  {/* Workstream Status Summary */}
70
70
  {workstreamStatus.size > 1 && (
71
- <div className="mt-3 pt-2 border-t border-gray-200 dark:border-gray-700">
72
- <div className="text-xs font-medium mb-1.5 text-gray-800 dark:text-gray-200">
73
- {t('agent.workstreams')}
74
- </div>
71
+ <div className="mt-3 pt-2 border-t border-border">
72
+ <div className="text-xs font-medium mb-1.5 text-foreground">{t('agent.workstreams')}</div>
75
73
  <div className="grid grid-cols-2 gap-1.5">
76
74
  {Array.from(workstreamStatus.entries())
77
75
  // Filter to only show real workstreams (main or those with valid names - not numeric IDs)
@@ -91,16 +89,16 @@ export default function PlanPanel({ plan, workstreamStatus, isVisible }: PlanPan
91
89
  })
92
90
  .map(([id, status]) => {
93
91
  let StatusIcon = Circle;
94
- let statusColor = 'text-gray-400';
92
+ let statusColor = 'text-muted';
95
93
  let statusText = t('agent.pending');
96
94
 
97
95
  if (status === 'in_progress') {
98
96
  StatusIcon = Clock;
99
- statusColor = 'text-blue-500';
97
+ statusColor = 'text-info';
100
98
  statusText = t('agent.inProgress');
101
99
  } else if (status === 'completed') {
102
100
  StatusIcon = CheckCircle;
103
- statusColor = 'text-green-500';
101
+ statusColor = 'text-success';
104
102
  statusText = t('agent.completed');
105
103
  }
106
104
 
@@ -112,12 +110,8 @@ export default function PlanPanel({ plan, workstreamStatus, isVisible }: PlanPan
112
110
  <div className={`me-1.5 ${statusColor}`}>
113
111
  <StatusIcon className="h-3 w-3" />
114
112
  </div>
115
- <span className="text-[10px] font-medium text-gray-600 dark:text-gray-400">
116
- {displayId}
117
- </span>
118
- <span className="text-[10px] text-gray-500 dark:text-gray-500 ms-1">
119
- {statusText}
120
- </span>
113
+ <span className="text-[10px] font-medium text-muted">{displayId}</span>
114
+ <span className="text-[10px] text-muted ms-1">{statusText}</span>
121
115
  </div>
122
116
  );
123
117
  })}
@@ -48,15 +48,15 @@ export default function SlideInPanel({ isOpen, onClose, title, children, width =
48
48
 
49
49
  {/* Slide-in panel */}
50
50
  <div
51
- className={`fixed top-0 end-0 bottom-0 z-50 bg-white dark:bg-gray-900 shadow-lg border-s border-gray-200 dark:border-gray-800 transition-transform duration-300 ease-in-out ${panelTranslateClass}`}
51
+ className={`fixed top-0 end-0 bottom-0 z-50 bg-white dark:bg-muted shadow-lg border-s border-border transition-transform duration-300 ease-in-out ${panelTranslateClass}`}
52
52
  style={{ width }}
53
53
  >
54
54
  {/* Header */}
55
- <div className="flex items-center justify-between p-4 border-b border-gray-200 dark:border-gray-800">
56
- <h3 className="font-medium text-gray-800 dark:text-gray-200">{title}</h3>
55
+ <div className="flex items-center justify-between p-4 border-b border-border">
56
+ <h3 className="font-medium text-foreground">{title}</h3>
57
57
  <Button
58
58
  variant="unstyled"
59
- className="p-1 text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200 rounded-full"
59
+ className="p-1 text-muted hover:text-foreground rounded-full"
60
60
  onClick={onClose}
61
61
  aria-label="Close"
62
62
  >
@@ -82,10 +82,8 @@ export default function SlidingMessages({ messages, isCompleted }: SlidingMessag
82
82
  {/* If no messages and not completed, show a placeholder thinking message */}
83
83
  {messages.length === 0 && !isCompleted && (
84
84
  <div className="flex items-center justify-center flex-1 text-center py-8">
85
- <div className="flex items-center gap-3 bg-blue-50 rounded-lg border border-blue-100 px-4 py-3">
86
- <div className="text-sm text-blue-700 font-medium">
87
- {ThinkingMessages[thinkingMessageIndex]}
88
- </div>
85
+ <div className="flex items-center gap-3 bg-info rounded-lg border border-info px-4 py-3">
86
+ <div className="text-sm text-info font-medium">{ThinkingMessages[thinkingMessageIndex]}</div>
89
87
  </div>
90
88
  </div>
91
89
  )}