@vertesia/ui 1.0.0-dev.20260305.083323Z → 1.0.0-dev.20260331.091034Z

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 (783) hide show
  1. package/lib/esm/core/components/SelectList.js +3 -1
  2. package/lib/esm/core/components/SelectList.js.map +1 -1
  3. package/lib/esm/core/components/SidePanel.js +2 -2
  4. package/lib/esm/core/components/SidePanel.js.map +1 -1
  5. package/lib/esm/core/components/index.js +0 -5
  6. package/lib/esm/core/components/index.js.map +1 -1
  7. package/lib/esm/core/components/shadcn/breadcrumb.js +11 -7
  8. package/lib/esm/core/components/shadcn/breadcrumb.js.map +1 -1
  9. package/lib/esm/core/components/shadcn/button.js +5 -3
  10. package/lib/esm/core/components/shadcn/button.js.map +1 -1
  11. package/lib/esm/core/components/shadcn/collaspible.js +14 -0
  12. package/lib/esm/core/components/shadcn/collaspible.js.map +1 -0
  13. package/lib/esm/core/components/shadcn/dropdown.js +64 -0
  14. package/lib/esm/core/components/shadcn/dropdown.js.map +1 -0
  15. package/lib/esm/core/components/shadcn/filters/comboBox/DateCombobox.js +3 -1
  16. package/lib/esm/core/components/shadcn/filters/comboBox/DateCombobox.js.map +1 -1
  17. package/lib/esm/core/components/shadcn/filters/comboBox/SelectCombobox.js +3 -1
  18. package/lib/esm/core/components/shadcn/filters/comboBox/SelectCombobox.js.map +1 -1
  19. package/lib/esm/core/components/shadcn/filters/comboBox/StringListCombobox.js +1 -1
  20. package/lib/esm/core/components/shadcn/filters/comboBox/StringListCombobox.js.map +1 -1
  21. package/lib/esm/core/components/shadcn/filters/filter/StringListFilter.js +1 -1
  22. package/lib/esm/core/components/shadcn/filters/filter/StringListFilter.js.map +1 -1
  23. package/lib/esm/core/components/shadcn/filters/filter/dateFilter.js +4 -2
  24. package/lib/esm/core/components/shadcn/filters/filter/dateFilter.js.map +1 -1
  25. package/lib/esm/core/components/shadcn/filters/filterBar.js +7 -4
  26. package/lib/esm/core/components/shadcn/filters/filterBar.js.map +1 -1
  27. package/lib/esm/core/components/shadcn/index.js +4 -0
  28. package/lib/esm/core/components/shadcn/index.js.map +1 -1
  29. package/lib/esm/core/components/shadcn/modal/ConfirmModal.js +4 -2
  30. package/lib/esm/core/components/shadcn/modal/ConfirmModal.js.map +1 -1
  31. package/lib/esm/core/components/shadcn/modal/DeleteModal.js +5 -3
  32. package/lib/esm/core/components/shadcn/modal/DeleteModal.js.map +1 -1
  33. package/lib/esm/core/components/shadcn/popover.js +11 -7
  34. package/lib/esm/core/components/shadcn/popover.js.map +1 -1
  35. package/lib/esm/core/components/shadcn/radioGroup.js +29 -0
  36. package/lib/esm/core/components/shadcn/radioGroup.js.map +1 -0
  37. package/lib/esm/core/components/shadcn/switch.js +19 -0
  38. package/lib/esm/core/components/shadcn/switch.js.map +1 -0
  39. package/lib/esm/core/components/shadcn/tabs.js +6 -6
  40. package/lib/esm/core/components/shadcn/tabs.js.map +1 -1
  41. package/lib/esm/core/components/shadcn/theme/ThemeSwitcher.js +7 -4
  42. package/lib/esm/core/components/shadcn/theme/ThemeSwitcher.js.map +1 -1
  43. package/lib/esm/core/components/toast/NotificationPanel.js +3 -3
  44. package/lib/esm/core/components/toast/NotificationPanel.js.map +1 -1
  45. package/lib/esm/core/hooks/PortalContainerProvider.js +9 -3
  46. package/lib/esm/core/hooks/PortalContainerProvider.js.map +1 -1
  47. package/lib/esm/env/index.js +16 -9
  48. package/lib/esm/env/index.js.map +1 -1
  49. package/lib/esm/features/agent/PayloadBuilder.js +87 -15
  50. package/lib/esm/features/agent/PayloadBuilder.js.map +1 -1
  51. package/lib/esm/features/agent/chat/AgentRightPanel.js +159 -0
  52. package/lib/esm/features/agent/chat/AgentRightPanel.js.map +1 -0
  53. package/lib/esm/features/agent/chat/ArtifactsTab.js +69 -0
  54. package/lib/esm/features/agent/chat/ArtifactsTab.js.map +1 -0
  55. package/lib/esm/features/agent/chat/AskUserWidget.js +12 -6
  56. package/lib/esm/features/agent/chat/AskUserWidget.js.map +1 -1
  57. package/lib/esm/features/agent/chat/DocumentPanel.js +6 -3
  58. package/lib/esm/features/agent/chat/DocumentPanel.js.map +1 -1
  59. package/lib/esm/features/agent/chat/ImageLightbox.js +3 -1
  60. package/lib/esm/features/agent/chat/ImageLightbox.js.map +1 -1
  61. package/lib/esm/features/agent/chat/ModernAgentConversation.js +241 -113
  62. package/lib/esm/features/agent/chat/ModernAgentConversation.js.map +1 -1
  63. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +122 -52
  64. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
  65. package/lib/esm/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js +5 -3
  66. package/lib/esm/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js.map +1 -1
  67. package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js +76 -33
  68. package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js.map +1 -1
  69. package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js +82 -83
  70. package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js.map +1 -1
  71. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js +16 -14
  72. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js.map +1 -1
  73. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js +20 -5
  74. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
  75. package/lib/esm/features/agent/chat/ModernAgentOutput/PlanPanel.js +8 -6
  76. package/lib/esm/features/agent/chat/ModernAgentOutput/PlanPanel.js.map +1 -1
  77. package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js +12 -10
  78. package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js.map +1 -1
  79. package/lib/esm/features/agent/chat/ModernAgentOutput/StreamingMessage.js +5 -3
  80. package/lib/esm/features/agent/chat/ModernAgentOutput/StreamingMessage.js.map +1 -1
  81. package/lib/esm/features/agent/chat/ModernAgentOutput/ToolCallGroup.js +104 -13
  82. package/lib/esm/features/agent/chat/ModernAgentOutput/ToolCallGroup.js.map +1 -1
  83. package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js +9 -5
  84. package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js.map +1 -1
  85. package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js +160 -76
  86. package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js.map +1 -1
  87. package/lib/esm/features/agent/chat/SlidingThinkingIndicator.js +3 -1
  88. package/lib/esm/features/agent/chat/SlidingThinkingIndicator.js.map +1 -1
  89. package/lib/esm/features/agent/chat/VegaLiteChart.js +14 -2
  90. package/lib/esm/features/agent/chat/VegaLiteChart.js.map +1 -1
  91. package/lib/esm/features/agent/chat/hooks/useAgentPlans.js +3 -8
  92. package/lib/esm/features/agent/chat/hooks/useAgentPlans.js.map +1 -1
  93. package/lib/esm/features/agent/chat/hooks/useAgentStream.js +79 -16
  94. package/lib/esm/features/agent/chat/hooks/useAgentStream.js.map +1 -1
  95. package/lib/esm/features/agent/chat/hooks/useArtifacts.js +108 -0
  96. package/lib/esm/features/agent/chat/hooks/useArtifacts.js.map +1 -0
  97. package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js +56 -5
  98. package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js.map +1 -1
  99. package/lib/esm/features/agent/chat/hooks/useFileProcessing.js +12 -10
  100. package/lib/esm/features/agent/chat/hooks/useFileProcessing.js.map +1 -1
  101. package/lib/esm/features/errors/PanelErrorBoundary.js +3 -1
  102. package/lib/esm/features/errors/PanelErrorBoundary.js.map +1 -1
  103. package/lib/esm/features/facets/AgentRunnerFacetsNav.js +45 -33
  104. package/lib/esm/features/facets/AgentRunnerFacetsNav.js.map +1 -1
  105. package/lib/esm/features/facets/RunsFacetsNav.js +9 -2
  106. package/lib/esm/features/facets/RunsFacetsNav.js.map +1 -1
  107. package/lib/esm/features/facets/index.js +1 -1
  108. package/lib/esm/features/facets/index.js.map +1 -1
  109. package/lib/esm/features/layout/GenericPageNavHeader.js +40 -28
  110. package/lib/esm/features/layout/GenericPageNavHeader.js.map +1 -1
  111. package/lib/esm/features/layout/NotFoundView.js +3 -1
  112. package/lib/esm/features/layout/NotFoundView.js.map +1 -1
  113. package/lib/esm/features/magic-pdf/AnnotatedImageSlider.js +9 -5
  114. package/lib/esm/features/magic-pdf/AnnotatedImageSlider.js.map +1 -1
  115. package/lib/esm/features/magic-pdf/DownloadPopover.js +5 -4
  116. package/lib/esm/features/magic-pdf/DownloadPopover.js.map +1 -1
  117. package/lib/esm/features/magic-pdf/MagicPdfView.js +8 -5
  118. package/lib/esm/features/magic-pdf/MagicPdfView.js.map +1 -1
  119. package/lib/esm/features/pdf-viewer/PdfPageSlider.js +9 -5
  120. package/lib/esm/features/pdf-viewer/PdfPageSlider.js.map +1 -1
  121. package/lib/esm/features/pdf-viewer/SimplePdfViewer.js +5 -3
  122. package/lib/esm/features/pdf-viewer/SimplePdfViewer.js.map +1 -1
  123. package/lib/esm/features/permissions/UserPermissionsProvider.js +3 -1
  124. package/lib/esm/features/permissions/UserPermissionsProvider.js.map +1 -1
  125. package/lib/esm/features/store/collections/BrowseCollectionView.js +9 -1
  126. package/lib/esm/features/store/collections/BrowseCollectionView.js.map +1 -1
  127. package/lib/esm/features/store/collections/CollectionsTable.js +14 -7
  128. package/lib/esm/features/store/collections/CollectionsTable.js.map +1 -1
  129. package/lib/esm/features/store/collections/CreateCollection.js +12 -9
  130. package/lib/esm/features/store/collections/CreateCollection.js.map +1 -1
  131. package/lib/esm/features/store/collections/EditCollectionView.js +23 -19
  132. package/lib/esm/features/store/collections/EditCollectionView.js.map +1 -1
  133. package/lib/esm/features/store/collections/SelectCollection.js +25 -10
  134. package/lib/esm/features/store/collections/SelectCollection.js.map +1 -1
  135. package/lib/esm/features/store/collections/SharedPropsEditor.js +5 -3
  136. package/lib/esm/features/store/collections/SharedPropsEditor.js.map +1 -1
  137. package/lib/esm/features/store/collections/SyncMemberHeadsToggle.js +5 -3
  138. package/lib/esm/features/store/collections/SyncMemberHeadsToggle.js.map +1 -1
  139. package/lib/esm/features/store/objects/DocumentPreviewPanel.js +14 -12
  140. package/lib/esm/features/store/objects/DocumentPreviewPanel.js.map +1 -1
  141. package/lib/esm/features/store/objects/DocumentSearchResults.js +15 -5
  142. package/lib/esm/features/store/objects/DocumentSearchResults.js.map +1 -1
  143. package/lib/esm/features/store/objects/DocumentTable.js +10 -7
  144. package/lib/esm/features/store/objects/DocumentTable.js.map +1 -1
  145. package/lib/esm/features/store/objects/ExportPropertiesModal.js +5 -2
  146. package/lib/esm/features/store/objects/ExportPropertiesModal.js.map +1 -1
  147. package/lib/esm/features/store/objects/components/ContentDispositionButton.js +3 -1
  148. package/lib/esm/features/store/objects/components/ContentDispositionButton.js.map +1 -1
  149. package/lib/esm/features/store/objects/components/ContentOverview.js +55 -40
  150. package/lib/esm/features/store/objects/components/ContentOverview.js.map +1 -1
  151. package/lib/esm/features/store/objects/components/DocumentIcon.js +4 -3
  152. package/lib/esm/features/store/objects/components/DocumentIcon.js.map +1 -1
  153. package/lib/esm/features/store/objects/components/PropertiesEditorModal.js +13 -11
  154. package/lib/esm/features/store/objects/components/PropertiesEditorModal.js.map +1 -1
  155. package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js +15 -18
  156. package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js.map +1 -1
  157. package/lib/esm/features/store/objects/components/SelectDocument.js +9 -6
  158. package/lib/esm/features/store/objects/components/SelectDocument.js.map +1 -1
  159. package/lib/esm/features/store/objects/components/TextEditorPanel.js +97 -0
  160. package/lib/esm/features/store/objects/components/TextEditorPanel.js.map +1 -0
  161. package/lib/esm/features/store/objects/components/VectorSearchWidget.js +3 -1
  162. package/lib/esm/features/store/objects/components/VectorSearchWidget.js.map +1 -1
  163. package/lib/esm/features/store/objects/components/useContentPanelHooks.js +4 -2
  164. package/lib/esm/features/store/objects/components/useContentPanelHooks.js.map +1 -1
  165. package/lib/esm/features/store/objects/components/useDownloadFile.js +12 -10
  166. package/lib/esm/features/store/objects/components/useDownloadFile.js.map +1 -1
  167. package/lib/esm/features/store/objects/layout/documentLayout.js +10 -6
  168. package/lib/esm/features/store/objects/layout/documentLayout.js.map +1 -1
  169. package/lib/esm/features/store/objects/layout/renderers.js +10 -1
  170. package/lib/esm/features/store/objects/layout/renderers.js.map +1 -1
  171. package/lib/esm/features/store/objects/search/DocumentSearchContext.js +3 -2
  172. package/lib/esm/features/store/objects/search/DocumentSearchContext.js.map +1 -1
  173. package/lib/esm/features/store/objects/search/DocumentSearchProvider.js +3 -0
  174. package/lib/esm/features/store/objects/search/DocumentSearchProvider.js.map +1 -1
  175. package/lib/esm/features/store/objects/selection/ObjectsActionContext.js +22 -109
  176. package/lib/esm/features/store/objects/selection/ObjectsActionContext.js.map +1 -1
  177. package/lib/esm/features/store/objects/selection/ObjectsActionContextClass.js +50 -0
  178. package/lib/esm/features/store/objects/selection/ObjectsActionContextClass.js.map +1 -0
  179. package/lib/esm/features/store/objects/selection/ObjectsActionHooks.js +27 -0
  180. package/lib/esm/features/store/objects/selection/ObjectsActionHooks.js.map +1 -0
  181. package/lib/esm/features/store/objects/selection/SelectionActions.js +10 -6
  182. package/lib/esm/features/store/objects/selection/SelectionActions.js.map +1 -1
  183. package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js +17 -12
  184. package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js.map +1 -1
  185. package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js +9 -5
  186. package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js.map +1 -1
  187. package/lib/esm/features/store/objects/selection/actions/ConfirmAction.js +4 -2
  188. package/lib/esm/features/store/objects/selection/actions/ConfirmAction.js.map +1 -1
  189. package/lib/esm/features/store/objects/selection/actions/DeleteObjectsAction.js +24 -23
  190. package/lib/esm/features/store/objects/selection/actions/DeleteObjectsAction.js.map +1 -1
  191. package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js +10 -5
  192. package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js.map +1 -1
  193. package/lib/esm/features/store/objects/selection/actions/RemoveFromCollectionAction.js +13 -9
  194. package/lib/esm/features/store/objects/selection/actions/RemoveFromCollectionAction.js.map +1 -1
  195. package/lib/esm/features/store/objects/selection/actions/StartWorkflowComponent.js +14 -8
  196. package/lib/esm/features/store/objects/selection/actions/StartWorkflowComponent.js.map +1 -1
  197. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js +42 -39
  198. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js.map +1 -1
  199. package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js +4 -2
  200. package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js.map +1 -1
  201. package/lib/esm/features/store/objects/upload/useUploadHandler.js +9 -7
  202. package/lib/esm/features/store/objects/upload/useUploadHandler.js.map +1 -1
  203. package/lib/esm/features/store/types/ContentObjectTypesSearch.js +6 -4
  204. package/lib/esm/features/store/types/ContentObjectTypesSearch.js.map +1 -1
  205. package/lib/esm/features/store/types/ContentObjectTypesTable.js +3 -1
  206. package/lib/esm/features/store/types/ContentObjectTypesTable.js.map +1 -1
  207. package/lib/esm/features/store/types/CreateOrUpdateTypeModal.js +6 -7
  208. package/lib/esm/features/store/types/CreateOrUpdateTypeModal.js.map +1 -1
  209. package/lib/esm/features/store/types/ObjectSchemaEditor.js +9 -7
  210. package/lib/esm/features/store/types/ObjectSchemaEditor.js.map +1 -1
  211. package/lib/esm/features/store/types/SelectContentType.js +9 -7
  212. package/lib/esm/features/store/types/SelectContentType.js.map +1 -1
  213. package/lib/esm/features/store/types/SelectContentTypeModal.js +5 -2
  214. package/lib/esm/features/store/types/SelectContentTypeModal.js.map +1 -1
  215. package/lib/esm/features/store/types/TableLayoutEditor.js +6 -4
  216. package/lib/esm/features/store/types/TableLayoutEditor.js.map +1 -1
  217. package/lib/esm/features/user/UserInfo.js +40 -50
  218. package/lib/esm/features/user/UserInfo.js.map +1 -1
  219. package/lib/esm/i18n/index.js +31 -0
  220. package/lib/esm/i18n/index.js.map +1 -0
  221. package/lib/esm/i18n/instance.js +46 -0
  222. package/lib/esm/i18n/instance.js.map +1 -0
  223. package/lib/esm/i18n/locales/ar.json +696 -0
  224. package/lib/esm/i18n/locales/de.json +664 -0
  225. package/lib/esm/i18n/locales/en.json +665 -0
  226. package/lib/esm/i18n/locales/es.json +670 -0
  227. package/lib/esm/i18n/locales/fr.json +672 -0
  228. package/lib/esm/i18n/locales/it.json +670 -0
  229. package/lib/esm/i18n/locales/ja.json +664 -0
  230. package/lib/esm/i18n/locales/ko.json +664 -0
  231. package/lib/esm/i18n/locales/pt.json +670 -0
  232. package/lib/esm/i18n/locales/ru.json +680 -0
  233. package/lib/esm/i18n/locales/tr.json +664 -0
  234. package/lib/esm/i18n/locales/zh-TW.json +664 -0
  235. package/lib/esm/i18n/locales/zh.json +664 -0
  236. package/lib/esm/layout/FullHeightLayout.js +3 -0
  237. package/lib/esm/layout/FullHeightLayout.js.map +1 -1
  238. package/lib/esm/layout/Navbar.js +3 -1
  239. package/lib/esm/layout/Navbar.js.map +1 -1
  240. package/lib/esm/layout/RegionTag.js +15 -0
  241. package/lib/esm/layout/RegionTag.js.map +1 -0
  242. package/lib/esm/layout/Sidebar.js +2 -2
  243. package/lib/esm/layout/Sidebar.js.map +1 -1
  244. package/lib/esm/layout/index.js +1 -0
  245. package/lib/esm/layout/index.js.map +1 -1
  246. package/lib/esm/router/HistoryNavigator.js +1 -1
  247. package/lib/esm/router/HistoryNavigator.js.map +1 -1
  248. package/lib/esm/router/Nav.js +5 -3
  249. package/lib/esm/router/Nav.js.map +1 -1
  250. package/lib/esm/router/NestedNavigationContext.js +4 -0
  251. package/lib/esm/router/NestedNavigationContext.js.map +1 -1
  252. package/lib/esm/router/NestedRouterProvider.js +3 -1
  253. package/lib/esm/router/NestedRouterProvider.js.map +1 -1
  254. package/lib/esm/router/Router.js +21 -6
  255. package/lib/esm/router/Router.js.map +1 -1
  256. package/lib/esm/session/UserSession.js +25 -4
  257. package/lib/esm/session/UserSession.js.map +1 -1
  258. package/lib/esm/session/UserSessionProvider.js +6 -13
  259. package/lib/esm/session/UserSessionProvider.js.map +1 -1
  260. package/lib/esm/session/auth/composable.js +1 -1
  261. package/lib/esm/session/auth/composable.js.map +1 -1
  262. package/lib/esm/session/auth/domainRouting.js +17 -0
  263. package/lib/esm/session/auth/domainRouting.js.map +1 -0
  264. package/lib/esm/session/auth/firebase.js +1 -1
  265. package/lib/esm/session/auth/firebase.js.map +1 -1
  266. package/lib/esm/session/auth/useCurrentTenant.js +3 -1
  267. package/lib/esm/session/auth/useCurrentTenant.js.map +1 -1
  268. package/lib/esm/shell/SplashScreen.js +3 -7
  269. package/lib/esm/shell/SplashScreen.js.map +1 -1
  270. package/lib/esm/shell/apps/StandaloneApp.js +5 -2
  271. package/lib/esm/shell/apps/StandaloneApp.js.map +1 -1
  272. package/lib/esm/shell/login/EnterpriseSigninButton.js +5 -3
  273. package/lib/esm/shell/login/EnterpriseSigninButton.js.map +1 -1
  274. package/lib/esm/shell/login/GitHubSignInButton.js +3 -7
  275. package/lib/esm/shell/login/GitHubSignInButton.js.map +1 -1
  276. package/lib/esm/shell/login/GoogleSignInButton.js +3 -1
  277. package/lib/esm/shell/login/GoogleSignInButton.js.map +1 -1
  278. package/lib/esm/shell/login/InviteAcceptModal.js +5 -2
  279. package/lib/esm/shell/login/InviteAcceptModal.js.map +1 -1
  280. package/lib/esm/shell/login/MicrosoftSigninButton.js +4 -6
  281. package/lib/esm/shell/login/MicrosoftSigninButton.js.map +1 -1
  282. package/lib/esm/shell/login/SigninScreen.js +6 -2
  283. package/lib/esm/shell/login/SigninScreen.js.map +1 -1
  284. package/lib/esm/shell/login/SignupForm.js +36 -34
  285. package/lib/esm/shell/login/SignupForm.js.map +1 -1
  286. package/lib/esm/shell/login/TerminalLogin.js +28 -21
  287. package/lib/esm/shell/login/TerminalLogin.js.map +1 -1
  288. package/lib/esm/shell/login/UserInfo.js +6 -4
  289. package/lib/esm/shell/login/UserInfo.js.map +1 -1
  290. package/lib/esm/shell/login/UserSessionMenu.js +3 -4
  291. package/lib/esm/shell/login/UserSessionMenu.js.map +1 -1
  292. package/lib/esm/widgets/index.js +0 -1
  293. package/lib/esm/widgets/index.js.map +1 -1
  294. package/lib/esm/widgets/json-view/JSONCode.js +1 -1
  295. package/lib/esm/widgets/json-view/JSONCode.js.map +1 -1
  296. package/lib/esm/widgets/json-view/JSONDisplay.js +6 -2
  297. package/lib/esm/widgets/json-view/JSONDisplay.js.map +1 -1
  298. package/lib/esm/widgets/json-view/JSONSwitcher.js +6 -0
  299. package/lib/esm/widgets/json-view/JSONSwitcher.js.map +1 -0
  300. package/lib/esm/widgets/json-view/JSONView.js +1 -1
  301. package/lib/esm/widgets/json-view/JSONView.js.map +1 -1
  302. package/lib/esm/widgets/json-view/index.js +1 -0
  303. package/lib/esm/widgets/json-view/index.js.map +1 -1
  304. package/lib/esm/widgets/markdown/ArtifactContentRenderer.js +6 -5
  305. package/lib/esm/widgets/markdown/ArtifactContentRenderer.js.map +1 -1
  306. package/lib/esm/widgets/markdown/CodeBlockContext.js +11 -0
  307. package/lib/esm/widgets/markdown/CodeBlockContext.js.map +1 -0
  308. package/lib/esm/widgets/markdown/MarkdownRenderer.js +11 -10
  309. package/lib/esm/widgets/markdown/MarkdownRenderer.js.map +1 -1
  310. package/lib/esm/widgets/markdown/codeBlockHandlers.js +11 -12
  311. package/lib/esm/widgets/markdown/codeBlockHandlers.js.map +1 -1
  312. package/lib/esm/widgets/markdown/index.js +10 -9
  313. package/lib/esm/widgets/markdown/index.js.map +1 -1
  314. package/lib/esm/widgets/markdown/remarkDirectiveHandler.js +0 -1
  315. package/lib/esm/widgets/markdown/remarkDirectiveHandler.js.map +1 -1
  316. package/lib/esm/widgets/schema-editor/ManagedSchema.js +6 -5
  317. package/lib/esm/widgets/schema-editor/ManagedSchema.js.map +1 -1
  318. package/lib/esm/widgets/schema-editor/editor/PropertyEditor.js +7 -3
  319. package/lib/esm/widgets/schema-editor/editor/PropertyEditor.js.map +1 -1
  320. package/lib/esm/widgets/schema-editor/editor/SchemaEditor.js +3 -1
  321. package/lib/esm/widgets/schema-editor/editor/SchemaEditor.js.map +1 -1
  322. package/lib/esm/widgets/upload/DropZone.js +9 -11
  323. package/lib/esm/widgets/upload/DropZone.js.map +1 -1
  324. package/lib/esm/widgets/upload/UploadResultCategory.js +3 -1
  325. package/lib/esm/widgets/upload/UploadResultCategory.js.map +1 -1
  326. package/lib/esm/widgets/upload/UploadSummary.js +3 -1
  327. package/lib/esm/widgets/upload/UploadSummary.js.map +1 -1
  328. package/lib/tsconfig.tsbuildinfo +1 -1
  329. package/lib/types/core/components/SelectList.d.ts.map +1 -1
  330. package/lib/types/core/components/SidePanel.d.ts +4 -2
  331. package/lib/types/core/components/SidePanel.d.ts.map +1 -1
  332. package/lib/types/core/components/index.d.ts +0 -5
  333. package/lib/types/core/components/index.d.ts.map +1 -1
  334. package/lib/types/core/components/shadcn/badge.d.ts +2 -2
  335. package/lib/types/core/components/shadcn/breadcrumb.d.ts +1 -1
  336. package/lib/types/core/components/shadcn/breadcrumb.d.ts.map +1 -1
  337. package/lib/types/core/components/shadcn/button.d.ts.map +1 -1
  338. package/lib/types/core/components/shadcn/collaspible.d.ts +6 -0
  339. package/lib/types/core/components/shadcn/collaspible.d.ts.map +1 -0
  340. package/lib/types/core/components/shadcn/dropdown.d.ts +51 -0
  341. package/lib/types/core/components/shadcn/dropdown.d.ts.map +1 -0
  342. package/lib/types/core/components/shadcn/filters/comboBox/DateCombobox.d.ts.map +1 -1
  343. package/lib/types/core/components/shadcn/filters/comboBox/SelectCombobox.d.ts.map +1 -1
  344. package/lib/types/core/components/shadcn/filters/filter/dateFilter.d.ts.map +1 -1
  345. package/lib/types/core/components/shadcn/filters/filterBar.d.ts.map +1 -1
  346. package/lib/types/core/components/shadcn/index.d.ts +4 -0
  347. package/lib/types/core/components/shadcn/index.d.ts.map +1 -1
  348. package/lib/types/core/components/shadcn/input.d.ts +1 -1
  349. package/lib/types/core/components/shadcn/modal/ConfirmModal.d.ts +2 -1
  350. package/lib/types/core/components/shadcn/modal/ConfirmModal.d.ts.map +1 -1
  351. package/lib/types/core/components/shadcn/modal/DeleteModal.d.ts.map +1 -1
  352. package/lib/types/core/components/shadcn/popover.d.ts +11 -3
  353. package/lib/types/core/components/shadcn/popover.d.ts.map +1 -1
  354. package/lib/types/core/components/shadcn/radioGroup.d.ts +26 -0
  355. package/lib/types/core/components/shadcn/radioGroup.d.ts.map +1 -0
  356. package/lib/types/core/components/shadcn/switch.d.ts +12 -0
  357. package/lib/types/core/components/shadcn/switch.d.ts.map +1 -0
  358. package/lib/types/core/components/shadcn/tabs.d.ts +4 -2
  359. package/lib/types/core/components/shadcn/tabs.d.ts.map +1 -1
  360. package/lib/types/core/components/shadcn/theme/ThemeSwitcher.d.ts +3 -2
  361. package/lib/types/core/components/shadcn/theme/ThemeSwitcher.d.ts.map +1 -1
  362. package/lib/types/core/components/toast/NotificationPanel.d.ts.map +1 -1
  363. package/lib/types/core/hooks/PortalContainerProvider.d.ts +1 -0
  364. package/lib/types/core/hooks/PortalContainerProvider.d.ts.map +1 -1
  365. package/lib/types/env/index.d.ts +12 -3
  366. package/lib/types/env/index.d.ts.map +1 -1
  367. package/lib/types/features/agent/PayloadBuilder.d.ts +31 -3
  368. package/lib/types/features/agent/PayloadBuilder.d.ts.map +1 -1
  369. package/lib/types/features/agent/chat/AgentRightPanel.d.ts +50 -0
  370. package/lib/types/features/agent/chat/AgentRightPanel.d.ts.map +1 -0
  371. package/lib/types/features/agent/chat/ArtifactsTab.d.ts +9 -0
  372. package/lib/types/features/agent/chat/ArtifactsTab.d.ts.map +1 -0
  373. package/lib/types/features/agent/chat/AskUserWidget.d.ts.map +1 -1
  374. package/lib/types/features/agent/chat/DocumentPanel.d.ts.map +1 -1
  375. package/lib/types/features/agent/chat/ImageLightbox.d.ts.map +1 -1
  376. package/lib/types/features/agent/chat/ModernAgentConversation.d.ts +22 -9
  377. package/lib/types/features/agent/chat/ModernAgentConversation.d.ts.map +1 -1
  378. package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts +3 -1
  379. package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
  380. package/lib/types/features/agent/chat/ModernAgentOutput/BatchProgressPanel.d.ts.map +1 -1
  381. package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts +13 -4
  382. package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts.map +1 -1
  383. package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.d.ts +1 -1
  384. package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.d.ts.map +1 -1
  385. package/lib/types/features/agent/chat/ModernAgentOutput/MessageInput.d.ts.map +1 -1
  386. package/lib/types/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
  387. package/lib/types/features/agent/chat/ModernAgentOutput/PlanPanel.d.ts.map +1 -1
  388. package/lib/types/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.d.ts.map +1 -1
  389. package/lib/types/features/agent/chat/ModernAgentOutput/StreamingMessage.d.ts +3 -1
  390. package/lib/types/features/agent/chat/ModernAgentOutput/StreamingMessage.d.ts.map +1 -1
  391. package/lib/types/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts +5 -1
  392. package/lib/types/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts.map +1 -1
  393. package/lib/types/features/agent/chat/ModernAgentOutput/WorkstreamTabs.d.ts.map +1 -1
  394. package/lib/types/features/agent/chat/ModernAgentOutput/utils.d.ts +16 -1
  395. package/lib/types/features/agent/chat/ModernAgentOutput/utils.d.ts.map +1 -1
  396. package/lib/types/features/agent/chat/SlidingThinkingIndicator.d.ts.map +1 -1
  397. package/lib/types/features/agent/chat/VegaLiteChart.d.ts.map +1 -1
  398. package/lib/types/features/agent/chat/hooks/useAgentPlans.d.ts.map +1 -1
  399. package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts +5 -3
  400. package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts.map +1 -1
  401. package/lib/types/features/agent/chat/hooks/useArtifacts.d.ts +18 -0
  402. package/lib/types/features/agent/chat/hooks/useArtifacts.d.ts.map +1 -0
  403. package/lib/types/features/agent/chat/hooks/useDocumentPanel.d.ts.map +1 -1
  404. package/lib/types/features/agent/chat/hooks/useFileProcessing.d.ts +4 -4
  405. package/lib/types/features/agent/chat/hooks/useFileProcessing.d.ts.map +1 -1
  406. package/lib/types/features/agent/chat/types/document.d.ts +2 -0
  407. package/lib/types/features/agent/chat/types/document.d.ts.map +1 -1
  408. package/lib/types/features/errors/PanelErrorBoundary.d.ts.map +1 -1
  409. package/lib/types/features/facets/AgentRunnerFacetsNav.d.ts +2 -1
  410. package/lib/types/features/facets/AgentRunnerFacetsNav.d.ts.map +1 -1
  411. package/lib/types/features/facets/RunsFacetsNav.d.ts.map +1 -1
  412. package/lib/types/features/facets/index.d.ts +1 -1
  413. package/lib/types/features/facets/index.d.ts.map +1 -1
  414. package/lib/types/features/layout/GenericPageNavHeader.d.ts +2 -2
  415. package/lib/types/features/layout/GenericPageNavHeader.d.ts.map +1 -1
  416. package/lib/types/features/layout/NotFoundView.d.ts.map +1 -1
  417. package/lib/types/features/magic-pdf/AnnotatedImageSlider.d.ts.map +1 -1
  418. package/lib/types/features/magic-pdf/DownloadPopover.d.ts.map +1 -1
  419. package/lib/types/features/magic-pdf/MagicPdfView.d.ts.map +1 -1
  420. package/lib/types/features/pdf-viewer/PdfPageSlider.d.ts.map +1 -1
  421. package/lib/types/features/pdf-viewer/SimplePdfViewer.d.ts.map +1 -1
  422. package/lib/types/features/permissions/UserPermissionsProvider.d.ts.map +1 -1
  423. package/lib/types/features/store/collections/BrowseCollectionView.d.ts.map +1 -1
  424. package/lib/types/features/store/collections/CollectionsTable.d.ts +4 -0
  425. package/lib/types/features/store/collections/CollectionsTable.d.ts.map +1 -1
  426. package/lib/types/features/store/collections/CreateCollection.d.ts.map +1 -1
  427. package/lib/types/features/store/collections/EditCollectionView.d.ts.map +1 -1
  428. package/lib/types/features/store/collections/SelectCollection.d.ts.map +1 -1
  429. package/lib/types/features/store/collections/SharedPropsEditor.d.ts.map +1 -1
  430. package/lib/types/features/store/collections/SyncMemberHeadsToggle.d.ts.map +1 -1
  431. package/lib/types/features/store/objects/DocumentPreviewPanel.d.ts.map +1 -1
  432. package/lib/types/features/store/objects/DocumentSearchResults.d.ts.map +1 -1
  433. package/lib/types/features/store/objects/DocumentTable.d.ts.map +1 -1
  434. package/lib/types/features/store/objects/ExportPropertiesModal.d.ts.map +1 -1
  435. package/lib/types/features/store/objects/components/ContentDispositionButton.d.ts.map +1 -1
  436. package/lib/types/features/store/objects/components/ContentOverview.d.ts.map +1 -1
  437. package/lib/types/features/store/objects/components/DocumentIcon.d.ts +2 -1
  438. package/lib/types/features/store/objects/components/DocumentIcon.d.ts.map +1 -1
  439. package/lib/types/features/store/objects/components/PropertiesEditorModal.d.ts.map +1 -1
  440. package/lib/types/features/store/objects/components/SaveVersionConfirmModal.d.ts.map +1 -1
  441. package/lib/types/features/store/objects/components/SelectDocument.d.ts +3 -1
  442. package/lib/types/features/store/objects/components/SelectDocument.d.ts.map +1 -1
  443. package/lib/types/features/store/objects/components/TextEditorPanel.d.ts +10 -0
  444. package/lib/types/features/store/objects/components/TextEditorPanel.d.ts.map +1 -0
  445. package/lib/types/features/store/objects/components/VectorSearchWidget.d.ts.map +1 -1
  446. package/lib/types/features/store/objects/components/useContentPanelHooks.d.ts.map +1 -1
  447. package/lib/types/features/store/objects/components/useDownloadFile.d.ts.map +1 -1
  448. package/lib/types/features/store/objects/layout/documentLayout.d.ts +3 -2
  449. package/lib/types/features/store/objects/layout/documentLayout.d.ts.map +1 -1
  450. package/lib/types/features/store/objects/layout/renderers.d.ts.map +1 -1
  451. package/lib/types/features/store/objects/search/DocumentSearchContext.d.ts.map +1 -1
  452. package/lib/types/features/store/objects/search/DocumentSearchProvider.d.ts.map +1 -1
  453. package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts +3 -20
  454. package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts.map +1 -1
  455. package/lib/types/features/store/objects/selection/ObjectsActionContextClass.d.ts +16 -0
  456. package/lib/types/features/store/objects/selection/ObjectsActionContextClass.d.ts.map +1 -0
  457. package/lib/types/features/store/objects/selection/ObjectsActionHooks.d.ts +7 -0
  458. package/lib/types/features/store/objects/selection/ObjectsActionHooks.d.ts.map +1 -0
  459. package/lib/types/features/store/objects/selection/ObjectsActionSpec.d.ts +4 -1
  460. package/lib/types/features/store/objects/selection/ObjectsActionSpec.d.ts.map +1 -1
  461. package/lib/types/features/store/objects/selection/SelectionActions.d.ts +6 -1
  462. package/lib/types/features/store/objects/selection/SelectionActions.d.ts.map +1 -1
  463. package/lib/types/features/store/objects/selection/actions/AddToCollectionAction.d.ts.map +1 -1
  464. package/lib/types/features/store/objects/selection/actions/ChangeTypeAction.d.ts.map +1 -1
  465. package/lib/types/features/store/objects/selection/actions/ConfirmAction.d.ts +1 -1
  466. package/lib/types/features/store/objects/selection/actions/ConfirmAction.d.ts.map +1 -1
  467. package/lib/types/features/store/objects/selection/actions/DeleteObjectsAction.d.ts.map +1 -1
  468. package/lib/types/features/store/objects/selection/actions/ExportPropertiesAction.d.ts.map +1 -1
  469. package/lib/types/features/store/objects/selection/actions/RemoveFromCollectionAction.d.ts.map +1 -1
  470. package/lib/types/features/store/objects/selection/actions/StartWorkflowComponent.d.ts.map +1 -1
  471. package/lib/types/features/store/objects/upload/DocumentUploadModal.d.ts.map +1 -1
  472. package/lib/types/features/store/objects/upload/useSmartFileUploadProcessing.d.ts.map +1 -1
  473. package/lib/types/features/store/objects/upload/useUploadHandler.d.ts.map +1 -1
  474. package/lib/types/features/store/types/ContentObjectTypesSearch.d.ts.map +1 -1
  475. package/lib/types/features/store/types/ContentObjectTypesTable.d.ts.map +1 -1
  476. package/lib/types/features/store/types/CreateOrUpdateTypeModal.d.ts +2 -1
  477. package/lib/types/features/store/types/CreateOrUpdateTypeModal.d.ts.map +1 -1
  478. package/lib/types/features/store/types/ObjectSchemaEditor.d.ts.map +1 -1
  479. package/lib/types/features/store/types/SelectContentType.d.ts.map +1 -1
  480. package/lib/types/features/store/types/SelectContentTypeModal.d.ts.map +1 -1
  481. package/lib/types/features/store/types/TableLayoutEditor.d.ts.map +1 -1
  482. package/lib/types/features/user/UserInfo.d.ts +2 -2
  483. package/lib/types/features/user/UserInfo.d.ts.map +1 -1
  484. package/lib/types/i18n/index.d.ts +14 -0
  485. package/lib/types/i18n/index.d.ts.map +1 -0
  486. package/lib/types/i18n/instance.d.ts +5 -0
  487. package/lib/types/i18n/instance.d.ts.map +1 -0
  488. package/lib/types/layout/FullHeightLayout.d.ts +3 -0
  489. package/lib/types/layout/FullHeightLayout.d.ts.map +1 -1
  490. package/lib/types/layout/Navbar.d.ts.map +1 -1
  491. package/lib/types/layout/RegionTag.d.ts +4 -0
  492. package/lib/types/layout/RegionTag.d.ts.map +1 -0
  493. package/lib/types/layout/Sidebar.d.ts +2 -1
  494. package/lib/types/layout/Sidebar.d.ts.map +1 -1
  495. package/lib/types/layout/index.d.ts +1 -0
  496. package/lib/types/layout/index.d.ts.map +1 -1
  497. package/lib/types/router/Nav.d.ts +5 -1
  498. package/lib/types/router/Nav.d.ts.map +1 -1
  499. package/lib/types/router/NestedNavigationContext.d.ts.map +1 -1
  500. package/lib/types/router/NestedRouterProvider.d.ts.map +1 -1
  501. package/lib/types/router/Router.d.ts +2 -0
  502. package/lib/types/router/Router.d.ts.map +1 -1
  503. package/lib/types/session/UserSession.d.ts +1 -0
  504. package/lib/types/session/UserSession.d.ts.map +1 -1
  505. package/lib/types/session/UserSessionProvider.d.ts +0 -1
  506. package/lib/types/session/UserSessionProvider.d.ts.map +1 -1
  507. package/lib/types/session/auth/domainRouting.d.ts +3 -0
  508. package/lib/types/session/auth/domainRouting.d.ts.map +1 -0
  509. package/lib/types/session/auth/useCurrentTenant.d.ts.map +1 -1
  510. package/lib/types/shell/SplashScreen.d.ts.map +1 -1
  511. package/lib/types/shell/apps/StandaloneApp.d.ts.map +1 -1
  512. package/lib/types/shell/login/EnterpriseSigninButton.d.ts.map +1 -1
  513. package/lib/types/shell/login/GitHubSignInButton.d.ts.map +1 -1
  514. package/lib/types/shell/login/GoogleSignInButton.d.ts.map +1 -1
  515. package/lib/types/shell/login/InviteAcceptModal.d.ts.map +1 -1
  516. package/lib/types/shell/login/MicrosoftSigninButton.d.ts +1 -1
  517. package/lib/types/shell/login/MicrosoftSigninButton.d.ts.map +1 -1
  518. package/lib/types/shell/login/SigninScreen.d.ts.map +1 -1
  519. package/lib/types/shell/login/SignupForm.d.ts.map +1 -1
  520. package/lib/types/shell/login/TerminalLogin.d.ts.map +1 -1
  521. package/lib/types/shell/login/UserInfo.d.ts.map +1 -1
  522. package/lib/types/shell/login/UserSessionMenu.d.ts.map +1 -1
  523. package/lib/types/widgets/index.d.ts +0 -1
  524. package/lib/types/widgets/index.d.ts.map +1 -1
  525. package/lib/types/widgets/json-view/JSONDisplay.d.ts.map +1 -1
  526. package/lib/types/widgets/json-view/JSONSwitcher.d.ts +6 -0
  527. package/lib/types/widgets/json-view/JSONSwitcher.d.ts.map +1 -0
  528. package/lib/types/widgets/json-view/index.d.ts +1 -0
  529. package/lib/types/widgets/json-view/index.d.ts.map +1 -1
  530. package/lib/types/widgets/markdown/ArtifactContentRenderer.d.ts.map +1 -1
  531. package/lib/types/widgets/markdown/CodeBlockContext.d.ts +21 -0
  532. package/lib/types/widgets/markdown/CodeBlockContext.d.ts.map +1 -0
  533. package/lib/types/widgets/markdown/MarkdownRenderer.d.ts.map +1 -1
  534. package/lib/types/widgets/markdown/codeBlockHandlers.d.ts +0 -12
  535. package/lib/types/widgets/markdown/codeBlockHandlers.d.ts.map +1 -1
  536. package/lib/types/widgets/markdown/index.d.ts +10 -9
  537. package/lib/types/widgets/markdown/index.d.ts.map +1 -1
  538. package/lib/types/widgets/schema-editor/ManagedSchema.d.ts +1 -1
  539. package/lib/types/widgets/schema-editor/ManagedSchema.d.ts.map +1 -1
  540. package/lib/types/widgets/schema-editor/editor/PropertyEditor.d.ts.map +1 -1
  541. package/lib/types/widgets/schema-editor/editor/SchemaEditor.d.ts.map +1 -1
  542. package/lib/types/widgets/upload/DropZone.d.ts.map +1 -1
  543. package/lib/types/widgets/upload/UploadResultCategory.d.ts.map +1 -1
  544. package/lib/types/widgets/upload/UploadSummary.d.ts.map +1 -1
  545. package/lib/vertesia-ui-core.js +1 -1
  546. package/lib/vertesia-ui-core.js.map +1 -1
  547. package/lib/vertesia-ui-env.js +1 -1
  548. package/lib/vertesia-ui-env.js.map +1 -1
  549. package/lib/vertesia-ui-features.js +1 -1
  550. package/lib/vertesia-ui-features.js.map +1 -1
  551. package/lib/vertesia-ui-i18n.js +2 -0
  552. package/lib/vertesia-ui-i18n.js.map +1 -0
  553. package/lib/vertesia-ui-layout.js +1 -1
  554. package/lib/vertesia-ui-layout.js.map +1 -1
  555. package/lib/vertesia-ui-router.js +1 -1
  556. package/lib/vertesia-ui-router.js.map +1 -1
  557. package/lib/vertesia-ui-session.js +1 -1
  558. package/lib/vertesia-ui-session.js.map +1 -1
  559. package/lib/vertesia-ui-shell.js +1 -1
  560. package/lib/vertesia-ui-shell.js.map +1 -1
  561. package/lib/vertesia-ui-widgets.js +1 -1
  562. package/lib/vertesia-ui-widgets.js.map +1 -1
  563. package/package.json +36 -22
  564. package/src/core/components/SelectList.tsx +3 -1
  565. package/src/core/components/SidePanel.tsx +5 -4
  566. package/src/core/components/index.ts +0 -5
  567. package/src/core/components/shadcn/breadcrumb.tsx +16 -9
  568. package/src/core/components/shadcn/button.tsx +5 -3
  569. package/src/core/components/shadcn/collaspible.tsx +33 -0
  570. package/src/core/components/shadcn/dropdown.tsx +325 -0
  571. package/src/core/components/shadcn/filters/comboBox/DateCombobox.tsx +3 -1
  572. package/src/core/components/shadcn/filters/comboBox/SelectCombobox.tsx +3 -1
  573. package/src/core/components/shadcn/filters/comboBox/StringListCombobox.tsx +1 -1
  574. package/src/core/components/shadcn/filters/filter/StringListFilter.tsx +1 -1
  575. package/src/core/components/shadcn/filters/filter/dateFilter.tsx +5 -3
  576. package/src/core/components/shadcn/filters/filterBar.tsx +8 -5
  577. package/src/core/components/shadcn/index.ts +5 -1
  578. package/src/core/components/shadcn/modal/ConfirmModal.tsx +7 -3
  579. package/src/core/components/shadcn/modal/DeleteModal.tsx +5 -3
  580. package/src/core/components/shadcn/popover.tsx +12 -7
  581. package/src/core/components/shadcn/radioGroup.tsx +100 -0
  582. package/src/core/components/shadcn/switch.tsx +60 -0
  583. package/src/core/components/shadcn/tabs.tsx +29 -27
  584. package/src/core/components/shadcn/theme/ThemeSwitcher.tsx +13 -9
  585. package/src/core/components/toast/NotificationPanel.tsx +38 -44
  586. package/src/core/hooks/PortalContainerProvider.tsx +11 -3
  587. package/src/env/index.ts +24 -13
  588. package/src/features/agent/PayloadBuilder.tsx +100 -13
  589. package/src/features/agent/chat/AgentRightPanel.tsx +424 -0
  590. package/src/features/agent/chat/ArtifactsTab.tsx +197 -0
  591. package/src/features/agent/chat/AskUserWidget.tsx +14 -8
  592. package/src/features/agent/chat/DocumentPanel.tsx +24 -9
  593. package/src/features/agent/chat/ImageLightbox.tsx +6 -3
  594. package/src/features/agent/chat/ModernAgentConversation.tsx +460 -279
  595. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +151 -55
  596. package/src/features/agent/chat/ModernAgentOutput/BatchProgressPanel.tsx +6 -4
  597. package/src/features/agent/chat/ModernAgentOutput/Header.tsx +183 -105
  598. package/src/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.tsx +21 -31
  599. package/src/features/agent/chat/ModernAgentOutput/MessageInput.tsx +119 -114
  600. package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +26 -9
  601. package/src/features/agent/chat/ModernAgentOutput/PlanPanel.tsx +9 -7
  602. package/src/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.tsx +15 -13
  603. package/src/features/agent/chat/ModernAgentOutput/StreamingMessage.tsx +8 -3
  604. package/src/features/agent/chat/ModernAgentOutput/ToolCallGroup.tsx +149 -49
  605. package/src/features/agent/chat/ModernAgentOutput/WorkstreamTabs.tsx +9 -5
  606. package/src/features/agent/chat/ModernAgentOutput/utils.test.ts +229 -0
  607. package/src/features/agent/chat/ModernAgentOutput/utils.ts +202 -97
  608. package/src/features/agent/chat/SlidingThinkingIndicator.tsx +5 -3
  609. package/src/features/agent/chat/VegaLiteChart.tsx +20 -8
  610. package/src/features/agent/chat/hooks/useAgentPlans.ts +3 -9
  611. package/src/features/agent/chat/hooks/useAgentStream.ts +86 -19
  612. package/src/features/agent/chat/hooks/useArtifacts.ts +151 -0
  613. package/src/features/agent/chat/hooks/useDocumentPanel.ts +65 -5
  614. package/src/features/agent/chat/hooks/useFileProcessing.ts +14 -13
  615. package/src/features/agent/chat/types/document.ts +2 -0
  616. package/src/features/errors/PanelErrorBoundary.tsx +5 -3
  617. package/src/features/facets/AgentRunnerFacetsNav.tsx +54 -35
  618. package/src/features/facets/RunsFacetsNav.tsx +15 -7
  619. package/src/features/facets/index.ts +1 -1
  620. package/src/features/layout/GenericPageNavHeader.tsx +64 -41
  621. package/src/features/layout/NotFoundView.tsx +4 -1
  622. package/src/features/magic-pdf/AnnotatedImageSlider.tsx +12 -8
  623. package/src/features/magic-pdf/DownloadPopover.tsx +11 -10
  624. package/src/features/magic-pdf/MagicPdfView.tsx +10 -7
  625. package/src/features/pdf-viewer/PdfPageSlider.tsx +10 -6
  626. package/src/features/pdf-viewer/SimplePdfViewer.tsx +5 -3
  627. package/src/features/permissions/UserPermissionsProvider.tsx +3 -1
  628. package/src/features/store/collections/BrowseCollectionView.tsx +11 -1
  629. package/src/features/store/collections/CollectionsTable.tsx +20 -12
  630. package/src/features/store/collections/CreateCollection.tsx +14 -11
  631. package/src/features/store/collections/EditCollectionView.tsx +31 -28
  632. package/src/features/store/collections/SelectCollection.tsx +50 -14
  633. package/src/features/store/collections/SharedPropsEditor.tsx +7 -5
  634. package/src/features/store/collections/SyncMemberHeadsToggle.tsx +6 -4
  635. package/src/features/store/objects/DocumentPreviewPanel.tsx +30 -28
  636. package/src/features/store/objects/DocumentSearchResults.tsx +31 -21
  637. package/src/features/store/objects/DocumentTable.tsx +11 -5
  638. package/src/features/store/objects/ExportPropertiesModal.tsx +8 -5
  639. package/src/features/store/objects/components/ContentDispositionButton.tsx +3 -1
  640. package/src/features/store/objects/components/ContentOverview.tsx +96 -50
  641. package/src/features/store/objects/components/DocumentIcon.tsx +11 -3
  642. package/src/features/store/objects/components/PropertiesEditorModal.tsx +14 -12
  643. package/src/features/store/objects/components/SaveVersionConfirmModal.tsx +24 -37
  644. package/src/features/store/objects/components/SelectDocument.tsx +15 -6
  645. package/src/features/store/objects/components/TextEditorPanel.tsx +143 -0
  646. package/src/features/store/objects/components/VectorSearchWidget.tsx +11 -8
  647. package/src/features/store/objects/components/useContentPanelHooks.ts +4 -2
  648. package/src/features/store/objects/components/useDownloadFile.ts +12 -10
  649. package/src/features/store/objects/layout/documentLayout.tsx +16 -6
  650. package/src/features/store/objects/layout/renderers.tsx +27 -1
  651. package/src/features/store/objects/search/DocumentSearchContext.ts +3 -2
  652. package/src/features/store/objects/search/DocumentSearchProvider.tsx +3 -0
  653. package/src/features/store/objects/selection/ObjectsActionContext.tsx +26 -128
  654. package/src/features/store/objects/selection/ObjectsActionContextClass.ts +59 -0
  655. package/src/features/store/objects/selection/ObjectsActionHooks.ts +33 -0
  656. package/src/features/store/objects/selection/ObjectsActionSpec.ts +4 -1
  657. package/src/features/store/objects/selection/SelectionActions.tsx +14 -6
  658. package/src/features/store/objects/selection/actions/AddToCollectionAction.tsx +19 -14
  659. package/src/features/store/objects/selection/actions/ChangeTypeAction.tsx +9 -5
  660. package/src/features/store/objects/selection/actions/ConfirmAction.tsx +4 -3
  661. package/src/features/store/objects/selection/actions/DeleteObjectsAction.tsx +24 -23
  662. package/src/features/store/objects/selection/actions/ExportPropertiesAction.tsx +10 -5
  663. package/src/features/store/objects/selection/actions/RemoveFromCollectionAction.tsx +13 -9
  664. package/src/features/store/objects/selection/actions/StartWorkflowComponent.tsx +14 -8
  665. package/src/features/store/objects/upload/DocumentUploadModal.tsx +56 -55
  666. package/src/features/store/objects/upload/useSmartFileUploadProcessing.ts +4 -2
  667. package/src/features/store/objects/upload/useUploadHandler.ts +9 -7
  668. package/src/features/store/types/ContentObjectTypesSearch.tsx +10 -8
  669. package/src/features/store/types/ContentObjectTypesTable.tsx +6 -4
  670. package/src/features/store/types/CreateOrUpdateTypeModal.tsx +11 -12
  671. package/src/features/store/types/ObjectSchemaEditor.tsx +11 -9
  672. package/src/features/store/types/SelectContentType.tsx +15 -13
  673. package/src/features/store/types/SelectContentTypeModal.tsx +16 -13
  674. package/src/features/store/types/TableLayoutEditor.tsx +16 -12
  675. package/src/features/user/UserInfo.tsx +47 -56
  676. package/src/i18n/index.tsx +45 -0
  677. package/src/i18n/instance.ts +49 -0
  678. package/src/i18n/locales/ar.json +696 -0
  679. package/src/i18n/locales/de.json +664 -0
  680. package/src/i18n/locales/en.json +665 -0
  681. package/src/i18n/locales/es.json +670 -0
  682. package/src/i18n/locales/fr.json +672 -0
  683. package/src/i18n/locales/it.json +670 -0
  684. package/src/i18n/locales/ja.json +664 -0
  685. package/src/i18n/locales/ko.json +664 -0
  686. package/src/i18n/locales/pt.json +670 -0
  687. package/src/i18n/locales/ru.json +680 -0
  688. package/src/i18n/locales/tr.json +664 -0
  689. package/src/i18n/locales/zh-TW.json +664 -0
  690. package/src/i18n/locales/zh.json +664 -0
  691. package/src/layout/FullHeightLayout.tsx +8 -0
  692. package/src/layout/Navbar.tsx +4 -2
  693. package/src/layout/RegionTag.tsx +25 -0
  694. package/src/layout/Sidebar.tsx +4 -3
  695. package/src/layout/index.ts +2 -1
  696. package/src/router/HistoryNavigator.ts +10 -10
  697. package/src/router/Nav.tsx +9 -3
  698. package/src/router/NestedNavigationContext.tsx +4 -0
  699. package/src/router/NestedRouterProvider.tsx +3 -1
  700. package/src/router/Router.tsx +23 -7
  701. package/src/session/UserSession.ts +26 -5
  702. package/src/session/UserSessionProvider.tsx +6 -14
  703. package/src/session/auth/composable.ts +1 -1
  704. package/src/session/auth/domainRouting.test.ts +110 -0
  705. package/src/session/auth/domainRouting.ts +22 -0
  706. package/src/session/auth/firebase.ts +1 -1
  707. package/src/session/auth/useCurrentTenant.ts +3 -1
  708. package/src/shell/SplashScreen.tsx +22 -26
  709. package/src/shell/apps/StandaloneApp.tsx +9 -6
  710. package/src/shell/login/EnterpriseSigninButton.tsx +6 -4
  711. package/src/shell/login/GitHubSignInButton.tsx +3 -7
  712. package/src/shell/login/GoogleSignInButton.tsx +3 -1
  713. package/src/shell/login/InviteAcceptModal.tsx +5 -2
  714. package/src/shell/login/MicrosoftSigninButton.tsx +4 -6
  715. package/src/shell/login/SigninScreen.tsx +18 -13
  716. package/src/shell/login/SignupForm.tsx +46 -46
  717. package/src/shell/login/TerminalLogin.tsx +35 -31
  718. package/src/shell/login/UserInfo.tsx +15 -13
  719. package/src/shell/login/UserSessionMenu.tsx +28 -31
  720. package/src/widgets/index.ts +0 -1
  721. package/src/widgets/json-view/JSONCode.tsx +1 -1
  722. package/src/widgets/json-view/JSONDisplay.tsx +8 -3
  723. package/src/widgets/json-view/JSONSwitcher.tsx +24 -0
  724. package/src/widgets/json-view/JSONView.tsx +1 -1
  725. package/src/widgets/json-view/index.ts +1 -0
  726. package/src/widgets/markdown/ArtifactContentRenderer.tsx +15 -7
  727. package/src/widgets/markdown/CodeBlockContext.tsx +34 -0
  728. package/src/widgets/markdown/MarkdownRenderer.tsx +14 -13
  729. package/src/widgets/markdown/codeBlockHandlers.tsx +17 -36
  730. package/src/widgets/markdown/index.ts +27 -34
  731. package/src/widgets/markdown/remarkDirectiveHandler.ts +1 -1
  732. package/src/widgets/schema-editor/ManagedSchema.ts +6 -5
  733. package/src/widgets/schema-editor/editor/PropertyEditor.tsx +7 -3
  734. package/src/widgets/schema-editor/editor/SchemaEditor.tsx +3 -1
  735. package/src/widgets/upload/DropZone.tsx +10 -13
  736. package/src/widgets/upload/UploadResultCategory.tsx +3 -1
  737. package/src/widgets/upload/UploadSummary.tsx +13 -11
  738. package/tsconfig.dist.json +1 -1
  739. package/lib/esm/core/components/Dropdown.js +0 -16
  740. package/lib/esm/core/components/Dropdown.js.map +0 -1
  741. package/lib/esm/core/components/DropdownList.js +0 -9
  742. package/lib/esm/core/components/DropdownList.js.map +0 -1
  743. package/lib/esm/core/components/RadioGroup.js +0 -34
  744. package/lib/esm/core/components/RadioGroup.js.map +0 -1
  745. package/lib/esm/core/components/SelectStack.js +0 -8
  746. package/lib/esm/core/components/SelectStack.js.map +0 -1
  747. package/lib/esm/core/components/Switch.js +0 -12
  748. package/lib/esm/core/components/Switch.js.map +0 -1
  749. package/lib/esm/widgets/popover/Popover.js +0 -73
  750. package/lib/esm/widgets/popover/Popover.js.map +0 -1
  751. package/lib/esm/widgets/popover/context.js +0 -7
  752. package/lib/esm/widgets/popover/context.js.map +0 -1
  753. package/lib/esm/widgets/popover/index.js +0 -3
  754. package/lib/esm/widgets/popover/index.js.map +0 -1
  755. package/lib/esm/widgets/popover/slots.js +0 -22
  756. package/lib/esm/widgets/popover/slots.js.map +0 -1
  757. package/lib/types/core/components/Dropdown.d.ts +0 -15
  758. package/lib/types/core/components/Dropdown.d.ts.map +0 -1
  759. package/lib/types/core/components/DropdownList.d.ts +0 -13
  760. package/lib/types/core/components/DropdownList.d.ts.map +0 -1
  761. package/lib/types/core/components/RadioGroup.d.ts +0 -26
  762. package/lib/types/core/components/RadioGroup.d.ts.map +0 -1
  763. package/lib/types/core/components/SelectStack.d.ts +0 -13
  764. package/lib/types/core/components/SelectStack.d.ts.map +0 -1
  765. package/lib/types/core/components/Switch.d.ts +0 -11
  766. package/lib/types/core/components/Switch.d.ts.map +0 -1
  767. package/lib/types/widgets/popover/Popover.d.ts +0 -38
  768. package/lib/types/widgets/popover/Popover.d.ts.map +0 -1
  769. package/lib/types/widgets/popover/context.d.ts +0 -8
  770. package/lib/types/widgets/popover/context.d.ts.map +0 -1
  771. package/lib/types/widgets/popover/index.d.ts +0 -3
  772. package/lib/types/widgets/popover/index.d.ts.map +0 -1
  773. package/lib/types/widgets/popover/slots.d.ts +0 -5
  774. package/lib/types/widgets/popover/slots.d.ts.map +0 -1
  775. package/src/core/components/Dropdown.tsx +0 -63
  776. package/src/core/components/DropdownList.tsx +0 -72
  777. package/src/core/components/RadioGroup.tsx +0 -100
  778. package/src/core/components/SelectStack.tsx +0 -63
  779. package/src/core/components/Switch.tsx +0 -30
  780. package/src/widgets/popover/Popover.tsx +0 -171
  781. package/src/widgets/popover/context.ts +0 -15
  782. package/src/widgets/popover/index.ts +0 -2
  783. package/src/widgets/popover/slots.ts +0 -24
@@ -3,6 +3,7 @@ import { Activity, FileTextIcon, HelpCircleIcon, PaperclipIcon, SendIcon, StopCi
3
3
  import React, { useCallback, useEffect, useRef, useState } from "react";
4
4
  import { ConversationFile, FileProcessingStatus } from "@vertesia/common";
5
5
  import { SelectDocument } from "../../../store";
6
+ import { useUITranslation } from "../../../../i18n/index.js";
6
7
 
7
8
  /** Represents an uploaded file attachment */
8
9
  export interface UploadedFile {
@@ -82,12 +83,12 @@ export default function MessageInput({
82
83
  isStreaming = false,
83
84
  isCompleted = false,
84
85
  activeTaskCount = 0,
85
- placeholder = "Type your message...",
86
+ placeholder,
86
87
  // File upload props
87
88
  onFilesSelected,
88
89
  uploadedFiles = [],
89
90
  onRemoveFile,
90
- acceptedFileTypes = ".pdf,.doc,.docx,.txt,.csv,.xlsx,.xls,.png,.jpg,.jpeg,.gif,.webp",
91
+ acceptedFileTypes,
91
92
  maxFiles = 5,
92
93
  processingFiles,
93
94
  hasProcessingFiles = false,
@@ -102,6 +103,8 @@ export default function MessageInput({
102
103
  // Styling props
103
104
  className,
104
105
  }: MessageInputProps) {
106
+ const { t } = useUITranslation();
107
+ const resolvedPlaceholder = placeholder ?? t('agent.typeYourMessage');
105
108
  const ref = useRef<HTMLTextAreaElement | null>(null);
106
109
  const fileInputRef = useRef<HTMLInputElement | null>(null);
107
110
  const [value, setValue] = useState("");
@@ -294,7 +297,6 @@ export default function MessageInput({
294
297
  }, 100);
295
298
  };
296
299
 
297
- const hasAttachments = uploadedFiles.length > 0 || selectedDocuments.length > 0 || (processingFiles && processingFiles.size > 0);
298
300
 
299
301
  return (
300
302
  <div
@@ -309,7 +311,7 @@ export default function MessageInput({
309
311
  <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">
310
312
  <div className="text-blue-600 dark:text-blue-400 font-medium flex items-center gap-2">
311
313
  <UploadIcon className="size-5" />
312
- Drop files to upload
314
+ {t('agent.dropFilesToUpload')}
313
315
  </div>
314
316
  </div>
315
317
  )}
@@ -326,108 +328,106 @@ export default function MessageInput({
326
328
  />
327
329
  )}
328
330
 
329
- {/* Attachments preview */}
330
- {hasAttachments && !hideFileUpload && (
331
+ {/* Uploaded files preview */}
332
+ {!hideFileUpload && (uploadedFiles.length > 0 || (processingFiles && processingFiles.size > 0)) && (
331
333
  <div className="flex flex-col gap-2 mb-3">
332
- {/* Uploaded files section */}
333
- {(uploadedFiles.length > 0 || (processingFiles && processingFiles.size > 0)) && (
334
- <div>
335
- <div className="flex items-center gap-1 mb-1">
336
- <span className="text-xs font-medium text-gray-500 dark:text-gray-400">
337
- Uploaded Files
338
- </span>
339
- <VTooltip
340
- description="Files uploaded to this conversation remain available throughout. The agent can access them anytime."
341
- placement="top"
342
- size="md"
343
- >
344
- <HelpCircleIcon className="size-3 text-gray-400 dark:text-gray-500" />
345
- </VTooltip>
346
- </div>
347
- <div className="flex flex-wrap gap-2">
348
- {/* Processing files (uploading/processing/error) */}
349
- {processingFiles && Array.from(processingFiles.values()).map((file) => (
350
- <div
351
- key={file.id}
352
- className={cn(
353
- "flex items-center gap-1.5 px-2 py-1 rounded-md text-sm",
354
- file.status === FileProcessingStatus.ERROR
355
- ? "bg-destructive/10 text-destructive"
356
- : file.status === FileProcessingStatus.READY
357
- ? "bg-success/10 text-success"
358
- : "bg-attention/10 text-attention",
359
- )}
360
- >
361
- <FileTextIcon className={cn(
362
- "size-3.5",
363
- (file.status === FileProcessingStatus.UPLOADING || file.status === FileProcessingStatus.PROCESSING) && "animate-pulse",
364
- )} />
365
- <span className="max-w-[120px] truncate">{file.name}</span>
366
- <span className="text-xs opacity-70">
367
- {file.status === FileProcessingStatus.UPLOADING ? 'Uploading...'
368
- : file.status === FileProcessingStatus.PROCESSING ? 'Processing...'
369
- : file.status === FileProcessingStatus.ERROR ? 'Error'
370
- : file.status === FileProcessingStatus.READY ? 'Ready' : file.status}
371
- </span>
372
- </div>
373
- ))}
374
- {/* Uploaded files (with remove button) */}
375
- {uploadedFiles.map((file) => (
376
- <div
377
- key={file.id}
378
- className="flex items-center gap-1.5 px-2 py-1 bg-success/10 text-success rounded-md text-sm"
379
- >
380
- <FileTextIcon className="size-3.5" />
381
- <span className="max-w-[120px] truncate">{file.name}</span>
382
- {onRemoveFile && (
383
- <button
384
- onClick={() => onRemoveFile(file.id)}
385
- className="ml-1 p-0.5 hover:bg-success/20 rounded"
386
- >
387
- <XIcon className="size-3" />
388
- </button>
389
- )}
390
- </div>
391
- ))}
392
- </div>
334
+ <div>
335
+ <div className="flex items-center gap-1 mb-1">
336
+ <span className="text-xs font-medium text-gray-500 dark:text-gray-400">
337
+ {t('agent.uploadedFiles')}
338
+ </span>
339
+ <VTooltip
340
+ description={t('agent.filesUploadedDescription')}
341
+ placement="top"
342
+ size="md"
343
+ >
344
+ <HelpCircleIcon className="size-3 text-gray-400 dark:text-gray-500" />
345
+ </VTooltip>
393
346
  </div>
394
- )}
395
- {/* Selected documents section */}
396
- {selectedDocuments.length > 0 && (
397
- <div>
398
- <div className="flex items-center gap-1 mb-1">
399
- <span className="text-xs font-medium text-blue-600 dark:text-blue-400">
400
- Document Attachments
401
- </span>
402
- <VTooltip
403
- description="Documents from the store attached to this message. The agent can re-fetch them by ID anytime, or re-attach to include content directly."
404
- placement="top"
405
- size="md"
347
+ <div className="flex flex-wrap gap-2">
348
+ {/* Processing files (uploading/processing/error) */}
349
+ {processingFiles && Array.from(processingFiles.values()).map((file) => (
350
+ <div
351
+ key={file.id}
352
+ className={cn(
353
+ "flex items-center gap-1.5 px-2 py-1 rounded-md text-sm",
354
+ file.status === FileProcessingStatus.ERROR
355
+ ? "bg-destructive/10 text-destructive"
356
+ : file.status === FileProcessingStatus.READY
357
+ ? "bg-success/10 text-success"
358
+ : "bg-attention/10 text-attention",
359
+ )}
406
360
  >
407
- <HelpCircleIcon className="size-3 text-blue-400 dark:text-blue-500" />
408
- </VTooltip>
409
- </div>
410
- <div className="flex flex-wrap gap-2">
411
- {selectedDocuments.map((doc) => (
412
- <div
413
- key={doc.id}
414
- className="flex items-center gap-1.5 px-2 py-1 bg-blue-100 dark:bg-blue-900/30 rounded-md text-sm text-blue-700 dark:text-blue-300"
361
+ <FileTextIcon className={cn(
362
+ "size-3.5",
363
+ (file.status === FileProcessingStatus.UPLOADING || file.status === FileProcessingStatus.PROCESSING) && "animate-pulse",
364
+ )} />
365
+ <span className="max-w-[120px] truncate">{file.name}</span>
366
+ <span className="text-xs opacity-70">
367
+ {file.status === FileProcessingStatus.UPLOADING ? t('agent.uploading')
368
+ : file.status === FileProcessingStatus.PROCESSING ? t('agent.processing')
369
+ : file.status === FileProcessingStatus.ERROR ? t('agent.error')
370
+ : file.status === FileProcessingStatus.READY ? t('agent.ready') : file.status}
371
+ </span>
372
+ </div>
373
+ ))}
374
+ {/* Uploaded files (with remove button) */}
375
+ {uploadedFiles.map((file) => (
376
+ <div
377
+ key={file.id}
378
+ className="flex items-center gap-1.5 px-2 py-1 bg-success/10 text-success rounded-md text-sm"
379
+ >
380
+ <FileTextIcon className="size-3.5" />
381
+ <span className="max-w-[120px] truncate">{file.name}</span>
382
+ {onRemoveFile && (
383
+ <button
384
+ onClick={() => onRemoveFile(file.id)}
385
+ className="ml-1 p-0.5 hover:bg-success/20 rounded"
386
+ >
387
+ <XIcon className="size-3" />
388
+ </button>
389
+ )}
390
+ </div>
391
+ ))}
392
+ </div>
393
+ </div>
394
+ </div>
395
+ )}
396
+
397
+ {/* Selected documents section — always visible regardless of hideFileUpload */}
398
+ {selectedDocuments.length > 0 && (
399
+ <div className="mb-3">
400
+ <div className="flex items-center gap-1 mb-1">
401
+ <span className="text-xs font-medium text-blue-600 dark:text-blue-400">
402
+ {t('agent.documentAttachments')}
403
+ </span>
404
+ <VTooltip
405
+ description={t('agent.documentAttachmentsDescription')}
406
+ placement="top"
407
+ size="md"
408
+ >
409
+ <HelpCircleIcon className="size-3 text-blue-400 dark:text-blue-500" />
410
+ </VTooltip>
411
+ </div>
412
+ <div className="flex flex-wrap gap-2">
413
+ {selectedDocuments.map((doc) => (
414
+ <div
415
+ key={doc.id}
416
+ className="flex items-center gap-1.5 px-2 py-1 bg-blue-100 dark:bg-blue-900/30 rounded-md text-sm text-blue-700 dark:text-blue-300"
417
+ >
418
+ <FileTextIcon className="size-3.5" />
419
+ <span className="max-w-[120px] truncate">{doc.name}</span>
420
+ {onRemoveDocument && (
421
+ <button
422
+ onClick={() => onRemoveDocument(doc.id)}
423
+ className="ml-1 p-0.5 hover:bg-blue-200 dark:hover:bg-blue-800 rounded"
415
424
  >
416
- <FileTextIcon className="size-3.5" />
417
- <span className="max-w-[120px] truncate">{doc.name}</span>
418
- {onRemoveDocument && (
419
- <button
420
- onClick={() => onRemoveDocument(doc.id)}
421
- className="ml-1 p-0.5 hover:bg-blue-200 dark:hover:bg-blue-800 rounded"
422
- >
423
- <XIcon className="size-3" />
424
- </button>
425
- )}
426
- </div>
427
- ))}
425
+ <XIcon className="size-3" />
426
+ </button>
427
+ )}
428
428
  </div>
429
- </div>
430
- )}
429
+ ))}
430
+ </div>
431
431
  </div>
432
432
  )}
433
433
 
@@ -443,7 +443,7 @@ export default function MessageInput({
443
443
  className="text-xs"
444
444
  >
445
445
  <UploadIcon className="size-3.5 mr-1.5" />
446
- Upload
446
+ {t('agent.upload')}
447
447
  </Button>
448
448
  )}
449
449
  {renderDocumentSearch && (
@@ -455,7 +455,12 @@ export default function MessageInput({
455
455
  className="text-xs"
456
456
  >
457
457
  <FileTextIcon className="size-3.5 mr-1.5" />
458
- Search Documents
458
+ {t('agent.searchDocuments')}
459
+ {selectedDocuments.length > 0 && (
460
+ <span className="ml-1.5 inline-flex items-center justify-center px-1.5 py-0.5 text-[10px] font-medium rounded-full bg-blue-600 text-white">
461
+ {selectedDocuments.length}
462
+ </span>
463
+ )}
459
464
  </Button>
460
465
  )}
461
466
  </div>
@@ -471,7 +476,7 @@ export default function MessageInput({
471
476
  onChange={(e) => setValue(e.target.value)}
472
477
  onPaste={handlePaste}
473
478
  disabled={disabled}
474
- placeholder={isStreaming ? "Agent is working... (Esc Esc to stop)" : (onFilesSelected ? "Ask anything... (drop or paste files)" : placeholder)}
479
+ placeholder={isStreaming ? t('agent.agentWorking') : (onFilesSelected ? t('agent.askAnything') : resolvedPlaceholder)}
475
480
  rows={2}
476
481
  style={{ minHeight: '60px', maxHeight: '200px' }}
477
482
  />
@@ -481,7 +486,7 @@ export default function MessageInput({
481
486
  className="rounded-full"
482
487
  disabled={!isCompleted}
483
488
  onClick={() => setIsObjectModalOpen(true)}
484
- alt="Link Object"
489
+ alt={t('agent.linkObject')}
485
490
  >
486
491
  <PaperclipIcon className="size-4" />
487
492
  </Button>
@@ -494,19 +499,19 @@ export default function MessageInput({
494
499
  onClick={handleStop}
495
500
  disabled={isStopping}
496
501
  className="px-4 py-2.5 bg-red-600 hover:bg-red-700 text-white"
497
- title="Stop the agent"
502
+ title={t('agent.stopAgent')}
498
503
  >
499
- {isStopping ? <Spinner size="sm" className="mr-2" /> : <StopCircleIcon className="size-4 mr-2" />} <span>Stop</span>
504
+ {isStopping ? <Spinner size="sm" className="mr-2" /> : <StopCircleIcon className="size-4 mr-2" />} <span>{t('agent.stop')}</span>
500
505
  </Button>
501
506
  ) : (
502
507
  <Button
503
508
  onClick={handleSend}
504
509
  disabled={disabled || isSending || !value.trim() || hasProcessingFiles}
505
510
  className="px-4 py-2.5"
506
- title={hasProcessingFiles ? "Wait for files to finish processing" : undefined}
511
+ title={hasProcessingFiles ? t('agent.waitForFiles') : undefined}
507
512
  >
508
513
  {isSending ? <Spinner size="sm" className="mr-2" /> : <SendIcon className="size-4 mr-2" />}
509
- <span>{hasProcessingFiles ? "Processing..." : "Send"}</span>
514
+ <span>{hasProcessingFiles ? t('agent.processing') : t('agent.send')}</span>
510
515
  </Button>
511
516
  )}
512
517
  </div>
@@ -515,13 +520,13 @@ export default function MessageInput({
515
520
  {activeTaskCount > 0 ? (
516
521
  <div className="flex items-center justify-center">
517
522
  <Activity className="h-3 w-3 mr-1 text-attention" />
518
- <span>Agent has {activeTaskCount} active workstream{activeTaskCount !== 1 ? 's' : ''} running</span>
523
+ <span>{t('agent.activeWorkstreams', { count: activeTaskCount })}</span>
519
524
  </div>
520
525
  ) : isStreaming
521
- ? "Agent is working... Press Esc twice or click Stop to interrupt"
526
+ ? t('agent.agentWorkingStop')
522
527
  : disabled
523
- ? "Agent is processing, you can continue once it completes..."
524
- : "Enter to send • Shift+Enter for new line"}
528
+ ? t('agent.agentProcessing')
529
+ : t('agent.enterToSend')}
525
530
  </div>
526
531
 
527
532
  {/* Object Selection Modal */}
@@ -530,7 +535,7 @@ export default function MessageInput({
530
535
  onClose={() => setIsObjectModalOpen(false)}
531
536
  className='min-w-[60vw]'
532
537
  >
533
- <ModalTitle>Link Object</ModalTitle>
538
+ <ModalTitle>{t('agent.linkObject')}</ModalTitle>
534
539
  <ModalBody className="pb-6">
535
540
  <SelectDocument onChange={handleObjectSelect} />
536
541
  </ModalBody>
@@ -4,8 +4,9 @@ import { NavLink } from "@vertesia/ui/router";
4
4
  import { useUserSession } from "@vertesia/ui/session";
5
5
  import { MarkdownRenderer } from "@vertesia/ui/widgets";
6
6
  import dayjs from "dayjs";
7
- import { AlertCircle, Bot, CheckCircle, Clock, CopyIcon, Download, Info, Layers, type LucideIcon, MessageSquare, User } from "lucide-react";
7
+ import { AlertCircle, Bot, CheckCircle, Clock, CopyIcon, Download, Info, Layers, type LucideIcon, MessageSquare, RefreshCcw, User } from "lucide-react";
8
8
  import React, { useEffect, useState, useMemo, memo, useRef } from "react";
9
+ import { useUITranslation } from '../../../../i18n/index.js';
9
10
  import { PulsatingCircle } from "../AnimatedThinkingDots";
10
11
  import { AskUserWidget } from "../AskUserWidget";
11
12
  import { useImageLightbox } from "../ImageLightbox";
@@ -110,6 +111,12 @@ function mergeClassNames(
110
111
  return result as MessageItemClassNames;
111
112
  }
112
113
 
114
+ /** Map sender labels from MESSAGE_STYLES to i18n keys where applicable. */
115
+ const SENDER_I18N_KEYS: Record<string, string> = {
116
+ Ready: 'agent.ready',
117
+ Error: 'agent.error',
118
+ };
119
+
113
120
  /** Per-message-type visual config (border, bg, icon color, sender label, icon component, optional className overrides). */
114
121
  export interface MessageStyleConfig extends MessageItemClassNames {
115
122
  borderColor: string;
@@ -147,6 +154,7 @@ export const MESSAGE_STYLES: Record<AgentMessageType | 'default', MessageStyleCo
147
154
  [AgentMessageType.SYSTEM]: { borderColor: 'border-l-muted', iconColor: 'text-muted', sender: 'System', Icon: Info },
148
155
  [AgentMessageType.STREAMING_CHUNK]: { borderColor: 'border-l-info', iconColor: 'text-info', sender: 'Agent', Icon: Bot },
149
156
  [AgentMessageType.BATCH_PROGRESS]: { borderColor: 'border-l-blue-500', iconColor: 'text-blue-600 dark:text-blue-400', sender: 'Batch', Icon: Layers },
157
+ [AgentMessageType.RESTARTING]: { borderColor: 'border-l-attention', iconColor: 'text-attention', sender: 'Restarting', Icon: RefreshCcw },
150
158
  default: { borderColor: 'border-l-muted', iconColor: 'text-muted', sender: 'Agent', Icon: Bot },
151
159
  };
152
160
 
@@ -169,6 +177,7 @@ function MessageItemComponent({
169
177
  CollectionLinkComponent,
170
178
  }: MessageItemProps) {
171
179
  const [showDetails, setShowDetails] = useState(false);
180
+ const { t } = useUITranslation();
172
181
  const { client } = useUserSession();
173
182
  const toast = useToast();
174
183
  const urlCache = useArtifactUrlCache();
@@ -252,7 +261,7 @@ function MessageItemComponent({
252
261
  navigator.clipboard.writeText(textToCopy).then(() => {
253
262
  toast({
254
263
  status: "success",
255
- title: "Copied to clipboard",
264
+ title: t('agent.copiedToClipboard'),
256
265
  duration: 2000,
257
266
  });
258
267
  });
@@ -265,7 +274,7 @@ function MessageItemComponent({
265
274
  if (!content.trim()) {
266
275
  toast({
267
276
  status: "error",
268
- title: "No content to export",
277
+ title: t('agent.noContentToExport'),
269
278
  duration: 2000,
270
279
  });
271
280
  return;
@@ -348,6 +357,14 @@ function MessageItemComponent({
348
357
  // Handle string content with markdown - content is already processed
349
358
  const runId = (message as any).workflow_run_id as string | undefined;
350
359
 
360
+ if (!runId && typeof content === 'string' && content.includes('artifact:')) {
361
+ console.warn('[MessageItem] message contains artifact references but workflow_run_id is missing!', {
362
+ type: message.type,
363
+ workflow_run_id: (message as any).workflow_run_id,
364
+ hasArtifact: content.includes('artifact:'),
365
+ });
366
+ }
367
+
351
368
  return (
352
369
  <div className={cn("vprose prose prose-slate dark:prose-invert prose-p:leading-relaxed prose-p:my-3 prose-headings:font-semibold prose-headings:tracking-normal prose-headings:mt-6 prose-headings:mb-3 prose-h1:text-xl prose-h2:text-lg prose-h3:text-base prose-li:my-1 prose-ul:my-3 prose-ol:my-3 prose-table:my-5 prose-pre:my-4 prose-hr:my-6 max-w-none text-[15px] break-words", resolvedStyle.proseClassName)} style={{ overflowWrap: 'anywhere' }}>
353
370
  <MarkdownRenderer
@@ -462,7 +479,7 @@ function MessageItemComponent({
462
479
  <div className={cn(showPulsatingCircle ? "animate-fadeIn" : "", resolvedStyle.iconClassName)}>
463
480
  {renderIcon()}
464
481
  </div>
465
- <span className={cn("text-xs font-medium text-muted", resolvedStyle.senderClassName)}>{resolvedStyle.sender}</span>
482
+ <span className={cn("text-xs font-medium text-muted", resolvedStyle.senderClassName)}>{SENDER_I18N_KEYS[resolvedStyle.sender] ? t(SENDER_I18N_KEYS[resolvedStyle.sender]) : resolvedStyle.sender}</span>
466
483
  {workstreamId !== "main" && workstreamId !== "all" && (
467
484
  <Badge variant="default" className="text-xs text-muted ml-1">
468
485
  {workstreamId}
@@ -477,7 +494,7 @@ function MessageItemComponent({
477
494
  variant="ghost" size="xs"
478
495
  onClick={copyToClipboard}
479
496
  className="text-muted/50 hover:text-muted h-5 w-5 p-0"
480
- title="Copy message"
497
+ title={t('agent.copyMessage')}
481
498
  >
482
499
  <CopyIcon className="size-3" />
483
500
  </Button>
@@ -487,7 +504,7 @@ function MessageItemComponent({
487
504
  <Button
488
505
  variant="ghost" size="xs"
489
506
  className="text-muted/50 hover:text-muted h-5 w-5 p-0"
490
- title="Export message"
507
+ title={t('agent.exportMessage')}
491
508
  disabled={isExportingFile}
492
509
  >
493
510
  <Download className={`size-3 ${isExportingFile ? 'animate-pulse' : ''}`} />
@@ -495,10 +512,10 @@ function MessageItemComponent({
495
512
  }
496
513
  >
497
514
  <MenuItem onClick={() => exportToFormat(MarkdownRenditionFormat.pdf)}>
498
- Export as PDF
515
+ {t('agent.exportAsPdf')}
499
516
  </MenuItem>
500
517
  <MenuItem onClick={() => exportToFormat(MarkdownRenditionFormat.docx)}>
501
- Export as Word
518
+ {t('agent.exportAsWord')}
502
519
  </MenuItem>
503
520
  </Dropdown>
504
521
  )}
@@ -586,7 +603,7 @@ function MessageItemComponent({
586
603
  onClick={() => setShowDetails(!showDetails)}
587
604
  className="text-[11px] text-muted flex items-center"
588
605
  >
589
- {showDetails ? "Hide" : "Show"} details
606
+ {showDetails ? t('agent.hideDetails') : t('agent.showDetails')}
590
607
  <svg
591
608
  xmlns="http://www.w3.org/2000/svg"
592
609
  className={`h-3 w-3 ml-1 transition-transform ${showDetails ? "rotate-180" : ""}`}
@@ -1,5 +1,6 @@
1
1
  import { Plan } from "@vertesia/common";
2
2
  import { AlertCircle, CheckCircle, Circle, Clock } from "lucide-react";
3
+ import { useUITranslation } from '../../../../i18n/index.js';
3
4
 
4
5
  interface PlanPanelProps {
5
6
  plan: Plan;
@@ -9,11 +10,12 @@ interface PlanPanelProps {
9
10
 
10
11
  // todo: remove this file
11
12
  export default function PlanPanel({ plan, workstreamStatus, isVisible }: PlanPanelProps) {
13
+ const { t } = useUITranslation();
12
14
  if (!isVisible) return null;
13
15
 
14
16
  return (
15
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">
16
- <div className="text-xs font-medium mb-2 text-gray-800 dark:text-gray-200">Agent Plan</div>
18
+ <div className="text-xs font-medium mb-2 text-gray-800 dark:text-gray-200">{t('agent.agentPlan')}</div>
17
19
 
18
20
  {/* Plan Steps */}
19
21
  {plan.plan && plan.plan.length > 0 ? (
@@ -59,14 +61,14 @@ export default function PlanPanel({ plan, workstreamStatus, isVisible }: PlanPan
59
61
  ) : (
60
62
  <div className="text-xs text-gray-500 dark:text-gray-400 italic flex items-center">
61
63
  <AlertCircle className="h-3.5 w-3.5 mr-1.5 text-amber-500" />
62
- No plan detected yet
64
+ {t('agent.noPlanDetected')}
63
65
  </div>
64
66
  )}
65
67
 
66
68
  {/* Workstream Status Summary */}
67
69
  {workstreamStatus.size > 1 && (
68
70
  <div className="mt-3 pt-2 border-t border-gray-200 dark:border-gray-700">
69
- <div className="text-xs font-medium mb-1.5 text-gray-800 dark:text-gray-200">Workstreams</div>
71
+ <div className="text-xs font-medium mb-1.5 text-gray-800 dark:text-gray-200">{t('agent.workstreams')}</div>
70
72
  <div className="grid grid-cols-2 gap-1.5">
71
73
  {Array.from(workstreamStatus.entries())
72
74
  // Filter to only show real workstreams (main or those with valid names - not numeric IDs)
@@ -87,20 +89,20 @@ export default function PlanPanel({ plan, workstreamStatus, isVisible }: PlanPan
87
89
  .map(([id, status]) => {
88
90
  let StatusIcon = Circle;
89
91
  let statusColor = "text-gray-400";
90
- let statusText = "Pending";
92
+ let statusText = t('agent.pending');
91
93
 
92
94
  if (status === "in_progress") {
93
95
  StatusIcon = Clock;
94
96
  statusColor = "text-blue-500";
95
- statusText = "In Progress";
97
+ statusText = t('agent.inProgress');
96
98
  } else if (status === "completed") {
97
99
  StatusIcon = CheckCircle;
98
100
  statusColor = "text-green-500";
99
- statusText = "Completed";
101
+ statusText = t('agent.completed');
100
102
  }
101
103
 
102
104
  // Format workstream IDs for better display
103
- const displayId = id === "main" ? "Main" : id;
105
+ const displayId = id === "main" ? t('agent.main') : id;
104
106
 
105
107
  return (
106
108
  <div key={id} className="flex items-center">
@@ -1,5 +1,6 @@
1
1
  import { Plan } from "@vertesia/common";
2
2
  import { AlertCircle, CheckCircle, Circle, Clock } from "lucide-react";
3
+ import { useUITranslation } from '../../../../i18n/index.js';
3
4
  import SlideInPanel from "./SlideInPanel";
4
5
 
5
6
  interface PlanPanelProps {
@@ -10,12 +11,13 @@ interface PlanPanelProps {
10
11
  }
11
12
 
12
13
  export default function SlidingPlanPanel({ plan, workstreamStatus, isOpen, onClose }: PlanPanelProps) {
14
+ const { t } = useUITranslation();
13
15
  return (
14
16
  plan && (
15
- <SlideInPanel isOpen={isOpen} onClose={onClose} title="Agent Plan">
17
+ <SlideInPanel isOpen={isOpen} onClose={onClose} title={t('agent.agentPlan')}>
16
18
  {/* Plan Summary */}
17
19
  <div className="mb-4 p-3 bg-info rounded-md border border-info">
18
- <div className="text-sm font-medium text-info mb-1">Plan Progress</div>
20
+ <div className="text-sm font-medium text-info mb-1">{t('agent.planProgress')}</div>
19
21
  <div className="flex items-center gap-2">
20
22
  <div className="w-full bg-muted rounded-full h-2.5">
21
23
  <div
@@ -45,7 +47,7 @@ export default function SlidingPlanPanel({ plan, workstreamStatus, isOpen, onClo
45
47
  {/* Detailed Plan Steps */}
46
48
  <div className="rounded-md border border-muted">
47
49
  <div className="p-3 border-b border-muted bg-muted/50">
48
- <div className="font-medium text-sm">Step-by-Step Plan</div>
50
+ <div className="font-medium text-sm">{t('agent.stepByStepPlan')}</div>
49
51
  </div>
50
52
 
51
53
  <div className="divide-y divide-gray-100 dark:divide-gray-800">
@@ -96,10 +98,10 @@ export default function SlidingPlanPanel({ plan, workstreamStatus, isOpen, onClo
96
98
  }`}
97
99
  >
98
100
  {status === "completed"
99
- ? "Completed"
101
+ ? t('agent.completed')
100
102
  : status === "in_progress"
101
- ? "In Progress"
102
- : "Pending"}
103
+ ? t('agent.inProgress')
104
+ : t('agent.pending')}
103
105
  </span>
104
106
  </div>
105
107
  </div>
@@ -109,8 +111,8 @@ export default function SlidingPlanPanel({ plan, workstreamStatus, isOpen, onClo
109
111
  ) : (
110
112
  <div className="p-4 text-center text-gray-500 dark:text-gray-400 italic">
111
113
  <AlertCircle className="h-5 w-5 mx-auto mb-2 text-amber-500" />
112
- <p>No plan has been detected yet</p>
113
- <p className="text-xs mt-1">Plans will appear here when the agent creates one</p>
114
+ <p>{t('agent.noPlanDetected')}</p>
115
+ <p className="text-xs mt-1">{t('agent.plansWillAppear')}</p>
114
116
  </div>
115
117
  )}
116
118
  </div>
@@ -120,7 +122,7 @@ export default function SlidingPlanPanel({ plan, workstreamStatus, isOpen, onClo
120
122
  {workstreamStatus.size > 1 && (
121
123
  <div className="mt-4 rounded-md border border-gray-200 dark:border-gray-800">
122
124
  <div className="p-3 border-b border-gray-200 dark:border-gray-800 bg-gray-50 dark:bg-gray-900/50">
123
- <div className="font-medium text-sm">Workstreams</div>
125
+ <div className="font-medium text-sm">{t('agent.workstreams')}</div>
124
126
  </div>
125
127
  <div className="p-3">
126
128
  <div className="grid grid-cols-1 gap-2">
@@ -144,22 +146,22 @@ export default function SlidingPlanPanel({ plan, workstreamStatus, isOpen, onClo
144
146
  let StatusIcon = Circle;
145
147
  let statusColor = "text-gray-400";
146
148
  let statusBg = "bg-gray-100 dark:bg-gray-800";
147
- let statusText = "Pending";
149
+ let statusText = t('agent.pending');
148
150
 
149
151
  if (status === "in_progress") {
150
152
  StatusIcon = Clock;
151
153
  statusColor = "text-blue-500";
152
154
  statusBg = "bg-blue-100 dark:bg-blue-800/30";
153
- statusText = "In Progress";
155
+ statusText = t('agent.inProgress');
154
156
  } else if (status === "completed") {
155
157
  StatusIcon = CheckCircle;
156
158
  statusColor = "text-green-500";
157
159
  statusBg = "bg-green-100 dark:bg-green-800/30";
158
- statusText = "Completed";
160
+ statusText = t('agent.completed');
159
161
  }
160
162
 
161
163
  // Format workstream IDs for better display
162
- const displayId = id === "main" ? "Main Workstream" : id;
164
+ const displayId = id === "main" ? t('agent.mainWorkstream') : id;
163
165
 
164
166
  return (
165
167
  <div key={id} className={`flex items-center p-2 rounded ${statusBg}`}>