@vertesia/ui 1.0.0-dev.20260227.112605Z → 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 (796) 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/selectBox.js +1 -1
  38. package/lib/esm/core/components/shadcn/switch.js +19 -0
  39. package/lib/esm/core/components/shadcn/switch.js.map +1 -0
  40. package/lib/esm/core/components/shadcn/tabs.js +6 -6
  41. package/lib/esm/core/components/shadcn/tabs.js.map +1 -1
  42. package/lib/esm/core/components/shadcn/theme/ThemeSwitcher.js +8 -6
  43. package/lib/esm/core/components/shadcn/theme/ThemeSwitcher.js.map +1 -1
  44. package/lib/esm/core/components/shadcn/tooltip.js +1 -1
  45. package/lib/esm/core/components/shadcn/tooltip.js.map +1 -1
  46. package/lib/esm/core/components/toast/NotificationPanel.js +3 -3
  47. package/lib/esm/core/components/toast/NotificationPanel.js.map +1 -1
  48. package/lib/esm/core/hooks/PortalContainerProvider.js +9 -3
  49. package/lib/esm/core/hooks/PortalContainerProvider.js.map +1 -1
  50. package/lib/esm/env/index.js +16 -9
  51. package/lib/esm/env/index.js.map +1 -1
  52. package/lib/esm/features/agent/PayloadBuilder.js +87 -15
  53. package/lib/esm/features/agent/PayloadBuilder.js.map +1 -1
  54. package/lib/esm/features/agent/chat/AgentRightPanel.js +159 -0
  55. package/lib/esm/features/agent/chat/AgentRightPanel.js.map +1 -0
  56. package/lib/esm/features/agent/chat/ArtifactsTab.js +69 -0
  57. package/lib/esm/features/agent/chat/ArtifactsTab.js.map +1 -0
  58. package/lib/esm/features/agent/chat/AskUserWidget.js +12 -6
  59. package/lib/esm/features/agent/chat/AskUserWidget.js.map +1 -1
  60. package/lib/esm/features/agent/chat/DocumentPanel.js +6 -3
  61. package/lib/esm/features/agent/chat/DocumentPanel.js.map +1 -1
  62. package/lib/esm/features/agent/chat/ImageLightbox.js +3 -1
  63. package/lib/esm/features/agent/chat/ImageLightbox.js.map +1 -1
  64. package/lib/esm/features/agent/chat/ModernAgentConversation.js +241 -113
  65. package/lib/esm/features/agent/chat/ModernAgentConversation.js.map +1 -1
  66. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +122 -52
  67. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
  68. package/lib/esm/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js +5 -3
  69. package/lib/esm/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js.map +1 -1
  70. package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js +76 -33
  71. package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js.map +1 -1
  72. package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js +82 -83
  73. package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js.map +1 -1
  74. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js +16 -14
  75. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js.map +1 -1
  76. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js +20 -5
  77. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
  78. package/lib/esm/features/agent/chat/ModernAgentOutput/PlanPanel.js +8 -6
  79. package/lib/esm/features/agent/chat/ModernAgentOutput/PlanPanel.js.map +1 -1
  80. package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js +12 -10
  81. package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js.map +1 -1
  82. package/lib/esm/features/agent/chat/ModernAgentOutput/StreamingMessage.js +5 -3
  83. package/lib/esm/features/agent/chat/ModernAgentOutput/StreamingMessage.js.map +1 -1
  84. package/lib/esm/features/agent/chat/ModernAgentOutput/ToolCallGroup.js +104 -13
  85. package/lib/esm/features/agent/chat/ModernAgentOutput/ToolCallGroup.js.map +1 -1
  86. package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js +9 -5
  87. package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js.map +1 -1
  88. package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js +160 -76
  89. package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js.map +1 -1
  90. package/lib/esm/features/agent/chat/SlidingThinkingIndicator.js +3 -1
  91. package/lib/esm/features/agent/chat/SlidingThinkingIndicator.js.map +1 -1
  92. package/lib/esm/features/agent/chat/VegaLiteChart.js +14 -2
  93. package/lib/esm/features/agent/chat/VegaLiteChart.js.map +1 -1
  94. package/lib/esm/features/agent/chat/hooks/useAgentPlans.js +3 -8
  95. package/lib/esm/features/agent/chat/hooks/useAgentPlans.js.map +1 -1
  96. package/lib/esm/features/agent/chat/hooks/useAgentStream.js +79 -16
  97. package/lib/esm/features/agent/chat/hooks/useAgentStream.js.map +1 -1
  98. package/lib/esm/features/agent/chat/hooks/useArtifacts.js +108 -0
  99. package/lib/esm/features/agent/chat/hooks/useArtifacts.js.map +1 -0
  100. package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js +56 -5
  101. package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js.map +1 -1
  102. package/lib/esm/features/agent/chat/hooks/useFileProcessing.js +12 -10
  103. package/lib/esm/features/agent/chat/hooks/useFileProcessing.js.map +1 -1
  104. package/lib/esm/features/errors/PanelErrorBoundary.js +3 -1
  105. package/lib/esm/features/errors/PanelErrorBoundary.js.map +1 -1
  106. package/lib/esm/features/facets/AgentRunnerFacetsNav.js +45 -33
  107. package/lib/esm/features/facets/AgentRunnerFacetsNav.js.map +1 -1
  108. package/lib/esm/features/facets/RunsFacetsNav.js +9 -2
  109. package/lib/esm/features/facets/RunsFacetsNav.js.map +1 -1
  110. package/lib/esm/features/facets/index.js +1 -1
  111. package/lib/esm/features/facets/index.js.map +1 -1
  112. package/lib/esm/features/layout/GenericPageNavHeader.js +40 -28
  113. package/lib/esm/features/layout/GenericPageNavHeader.js.map +1 -1
  114. package/lib/esm/features/layout/NotFoundView.js +3 -1
  115. package/lib/esm/features/layout/NotFoundView.js.map +1 -1
  116. package/lib/esm/features/magic-pdf/AnnotatedImageSlider.js +9 -5
  117. package/lib/esm/features/magic-pdf/AnnotatedImageSlider.js.map +1 -1
  118. package/lib/esm/features/magic-pdf/DownloadPopover.js +5 -4
  119. package/lib/esm/features/magic-pdf/DownloadPopover.js.map +1 -1
  120. package/lib/esm/features/magic-pdf/MagicPdfView.js +8 -5
  121. package/lib/esm/features/magic-pdf/MagicPdfView.js.map +1 -1
  122. package/lib/esm/features/pdf-viewer/PdfPageSlider.js +9 -5
  123. package/lib/esm/features/pdf-viewer/PdfPageSlider.js.map +1 -1
  124. package/lib/esm/features/pdf-viewer/SimplePdfViewer.js +5 -3
  125. package/lib/esm/features/pdf-viewer/SimplePdfViewer.js.map +1 -1
  126. package/lib/esm/features/permissions/UserPermissionsProvider.js +3 -1
  127. package/lib/esm/features/permissions/UserPermissionsProvider.js.map +1 -1
  128. package/lib/esm/features/store/collections/BrowseCollectionView.js +9 -1
  129. package/lib/esm/features/store/collections/BrowseCollectionView.js.map +1 -1
  130. package/lib/esm/features/store/collections/CollectionsTable.js +14 -7
  131. package/lib/esm/features/store/collections/CollectionsTable.js.map +1 -1
  132. package/lib/esm/features/store/collections/CreateCollection.js +21 -18
  133. package/lib/esm/features/store/collections/CreateCollection.js.map +1 -1
  134. package/lib/esm/features/store/collections/EditCollectionView.js +23 -19
  135. package/lib/esm/features/store/collections/EditCollectionView.js.map +1 -1
  136. package/lib/esm/features/store/collections/SelectCollection.js +25 -10
  137. package/lib/esm/features/store/collections/SelectCollection.js.map +1 -1
  138. package/lib/esm/features/store/collections/SharedPropsEditor.js +5 -3
  139. package/lib/esm/features/store/collections/SharedPropsEditor.js.map +1 -1
  140. package/lib/esm/features/store/collections/SyncMemberHeadsToggle.js +5 -3
  141. package/lib/esm/features/store/collections/SyncMemberHeadsToggle.js.map +1 -1
  142. package/lib/esm/features/store/objects/DocumentPreviewPanel.js +14 -12
  143. package/lib/esm/features/store/objects/DocumentPreviewPanel.js.map +1 -1
  144. package/lib/esm/features/store/objects/DocumentSearchResults.js +15 -5
  145. package/lib/esm/features/store/objects/DocumentSearchResults.js.map +1 -1
  146. package/lib/esm/features/store/objects/DocumentTable.js +10 -7
  147. package/lib/esm/features/store/objects/DocumentTable.js.map +1 -1
  148. package/lib/esm/features/store/objects/ExportPropertiesModal.js +5 -2
  149. package/lib/esm/features/store/objects/ExportPropertiesModal.js.map +1 -1
  150. package/lib/esm/features/store/objects/components/ContentDispositionButton.js +3 -1
  151. package/lib/esm/features/store/objects/components/ContentDispositionButton.js.map +1 -1
  152. package/lib/esm/features/store/objects/components/ContentOverview.js +55 -40
  153. package/lib/esm/features/store/objects/components/ContentOverview.js.map +1 -1
  154. package/lib/esm/features/store/objects/components/DocumentIcon.js +4 -3
  155. package/lib/esm/features/store/objects/components/DocumentIcon.js.map +1 -1
  156. package/lib/esm/features/store/objects/components/PropertiesEditorModal.js +13 -11
  157. package/lib/esm/features/store/objects/components/PropertiesEditorModal.js.map +1 -1
  158. package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js +15 -18
  159. package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js.map +1 -1
  160. package/lib/esm/features/store/objects/components/SelectDocument.js +9 -6
  161. package/lib/esm/features/store/objects/components/SelectDocument.js.map +1 -1
  162. package/lib/esm/features/store/objects/components/TextEditorPanel.js +97 -0
  163. package/lib/esm/features/store/objects/components/TextEditorPanel.js.map +1 -0
  164. package/lib/esm/features/store/objects/components/VectorSearchWidget.js +3 -1
  165. package/lib/esm/features/store/objects/components/VectorSearchWidget.js.map +1 -1
  166. package/lib/esm/features/store/objects/components/useContentPanelHooks.js +4 -2
  167. package/lib/esm/features/store/objects/components/useContentPanelHooks.js.map +1 -1
  168. package/lib/esm/features/store/objects/components/useDownloadFile.js +12 -10
  169. package/lib/esm/features/store/objects/components/useDownloadFile.js.map +1 -1
  170. package/lib/esm/features/store/objects/layout/documentLayout.js +10 -6
  171. package/lib/esm/features/store/objects/layout/documentLayout.js.map +1 -1
  172. package/lib/esm/features/store/objects/layout/renderers.js +10 -1
  173. package/lib/esm/features/store/objects/layout/renderers.js.map +1 -1
  174. package/lib/esm/features/store/objects/search/DocumentSearchContext.js +3 -2
  175. package/lib/esm/features/store/objects/search/DocumentSearchContext.js.map +1 -1
  176. package/lib/esm/features/store/objects/search/DocumentSearchProvider.js +3 -0
  177. package/lib/esm/features/store/objects/search/DocumentSearchProvider.js.map +1 -1
  178. package/lib/esm/features/store/objects/selection/ObjectsActionContext.js +22 -109
  179. package/lib/esm/features/store/objects/selection/ObjectsActionContext.js.map +1 -1
  180. package/lib/esm/features/store/objects/selection/ObjectsActionContextClass.js +50 -0
  181. package/lib/esm/features/store/objects/selection/ObjectsActionContextClass.js.map +1 -0
  182. package/lib/esm/features/store/objects/selection/ObjectsActionHooks.js +27 -0
  183. package/lib/esm/features/store/objects/selection/ObjectsActionHooks.js.map +1 -0
  184. package/lib/esm/features/store/objects/selection/SelectionActions.js +10 -6
  185. package/lib/esm/features/store/objects/selection/SelectionActions.js.map +1 -1
  186. package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js +17 -12
  187. package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js.map +1 -1
  188. package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js +9 -5
  189. package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js.map +1 -1
  190. package/lib/esm/features/store/objects/selection/actions/ConfirmAction.js +4 -2
  191. package/lib/esm/features/store/objects/selection/actions/ConfirmAction.js.map +1 -1
  192. package/lib/esm/features/store/objects/selection/actions/DeleteObjectsAction.js +24 -23
  193. package/lib/esm/features/store/objects/selection/actions/DeleteObjectsAction.js.map +1 -1
  194. package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js +10 -5
  195. package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js.map +1 -1
  196. package/lib/esm/features/store/objects/selection/actions/RemoveFromCollectionAction.js +13 -9
  197. package/lib/esm/features/store/objects/selection/actions/RemoveFromCollectionAction.js.map +1 -1
  198. package/lib/esm/features/store/objects/selection/actions/StartWorkflowComponent.js +14 -8
  199. package/lib/esm/features/store/objects/selection/actions/StartWorkflowComponent.js.map +1 -1
  200. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js +42 -39
  201. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js.map +1 -1
  202. package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js +4 -2
  203. package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js.map +1 -1
  204. package/lib/esm/features/store/objects/upload/useUploadHandler.js +9 -7
  205. package/lib/esm/features/store/objects/upload/useUploadHandler.js.map +1 -1
  206. package/lib/esm/features/store/types/ContentObjectTypesSearch.js +6 -4
  207. package/lib/esm/features/store/types/ContentObjectTypesSearch.js.map +1 -1
  208. package/lib/esm/features/store/types/ContentObjectTypesTable.js +3 -1
  209. package/lib/esm/features/store/types/ContentObjectTypesTable.js.map +1 -1
  210. package/lib/esm/features/store/types/CreateOrUpdateTypeModal.js +6 -7
  211. package/lib/esm/features/store/types/CreateOrUpdateTypeModal.js.map +1 -1
  212. package/lib/esm/features/store/types/ObjectSchemaEditor.js +9 -7
  213. package/lib/esm/features/store/types/ObjectSchemaEditor.js.map +1 -1
  214. package/lib/esm/features/store/types/SelectContentType.js +9 -7
  215. package/lib/esm/features/store/types/SelectContentType.js.map +1 -1
  216. package/lib/esm/features/store/types/SelectContentTypeModal.js +5 -2
  217. package/lib/esm/features/store/types/SelectContentTypeModal.js.map +1 -1
  218. package/lib/esm/features/store/types/TableLayoutEditor.js +6 -4
  219. package/lib/esm/features/store/types/TableLayoutEditor.js.map +1 -1
  220. package/lib/esm/features/user/UserInfo.js +40 -50
  221. package/lib/esm/features/user/UserInfo.js.map +1 -1
  222. package/lib/esm/i18n/index.js +31 -0
  223. package/lib/esm/i18n/index.js.map +1 -0
  224. package/lib/esm/i18n/instance.js +46 -0
  225. package/lib/esm/i18n/instance.js.map +1 -0
  226. package/lib/esm/i18n/locales/ar.json +696 -0
  227. package/lib/esm/i18n/locales/de.json +664 -0
  228. package/lib/esm/i18n/locales/en.json +665 -0
  229. package/lib/esm/i18n/locales/es.json +670 -0
  230. package/lib/esm/i18n/locales/fr.json +672 -0
  231. package/lib/esm/i18n/locales/it.json +670 -0
  232. package/lib/esm/i18n/locales/ja.json +664 -0
  233. package/lib/esm/i18n/locales/ko.json +664 -0
  234. package/lib/esm/i18n/locales/pt.json +670 -0
  235. package/lib/esm/i18n/locales/ru.json +680 -0
  236. package/lib/esm/i18n/locales/tr.json +664 -0
  237. package/lib/esm/i18n/locales/zh-TW.json +664 -0
  238. package/lib/esm/i18n/locales/zh.json +664 -0
  239. package/lib/esm/layout/FullHeightLayout.js +3 -0
  240. package/lib/esm/layout/FullHeightLayout.js.map +1 -1
  241. package/lib/esm/layout/Navbar.js +3 -1
  242. package/lib/esm/layout/Navbar.js.map +1 -1
  243. package/lib/esm/layout/RegionTag.js +15 -0
  244. package/lib/esm/layout/RegionTag.js.map +1 -0
  245. package/lib/esm/layout/Sidebar.js +2 -2
  246. package/lib/esm/layout/Sidebar.js.map +1 -1
  247. package/lib/esm/layout/index.js +1 -0
  248. package/lib/esm/layout/index.js.map +1 -1
  249. package/lib/esm/router/HistoryNavigator.js +1 -1
  250. package/lib/esm/router/HistoryNavigator.js.map +1 -1
  251. package/lib/esm/router/Nav.js +5 -3
  252. package/lib/esm/router/Nav.js.map +1 -1
  253. package/lib/esm/router/NestedNavigationContext.js +4 -0
  254. package/lib/esm/router/NestedNavigationContext.js.map +1 -1
  255. package/lib/esm/router/NestedRouterProvider.js +3 -1
  256. package/lib/esm/router/NestedRouterProvider.js.map +1 -1
  257. package/lib/esm/router/Router.js +21 -6
  258. package/lib/esm/router/Router.js.map +1 -1
  259. package/lib/esm/session/UserSession.js +33 -4
  260. package/lib/esm/session/UserSession.js.map +1 -1
  261. package/lib/esm/session/UserSessionProvider.js +6 -13
  262. package/lib/esm/session/UserSessionProvider.js.map +1 -1
  263. package/lib/esm/session/auth/composable.js +1 -1
  264. package/lib/esm/session/auth/composable.js.map +1 -1
  265. package/lib/esm/session/auth/domainRouting.js +17 -0
  266. package/lib/esm/session/auth/domainRouting.js.map +1 -0
  267. package/lib/esm/session/auth/firebase.js +1 -1
  268. package/lib/esm/session/auth/firebase.js.map +1 -1
  269. package/lib/esm/session/auth/useCurrentTenant.js +3 -1
  270. package/lib/esm/session/auth/useCurrentTenant.js.map +1 -1
  271. package/lib/esm/shell/SplashScreen.js +3 -7
  272. package/lib/esm/shell/SplashScreen.js.map +1 -1
  273. package/lib/esm/shell/apps/StandaloneApp.js +5 -2
  274. package/lib/esm/shell/apps/StandaloneApp.js.map +1 -1
  275. package/lib/esm/shell/login/EnterpriseSigninButton.js +5 -3
  276. package/lib/esm/shell/login/EnterpriseSigninButton.js.map +1 -1
  277. package/lib/esm/shell/login/GitHubSignInButton.js +3 -7
  278. package/lib/esm/shell/login/GitHubSignInButton.js.map +1 -1
  279. package/lib/esm/shell/login/GoogleSignInButton.js +3 -1
  280. package/lib/esm/shell/login/GoogleSignInButton.js.map +1 -1
  281. package/lib/esm/shell/login/InviteAcceptModal.js +5 -2
  282. package/lib/esm/shell/login/InviteAcceptModal.js.map +1 -1
  283. package/lib/esm/shell/login/MicrosoftSigninButton.js +4 -6
  284. package/lib/esm/shell/login/MicrosoftSigninButton.js.map +1 -1
  285. package/lib/esm/shell/login/SigninScreen.js +6 -2
  286. package/lib/esm/shell/login/SigninScreen.js.map +1 -1
  287. package/lib/esm/shell/login/SignupForm.js +36 -34
  288. package/lib/esm/shell/login/SignupForm.js.map +1 -1
  289. package/lib/esm/shell/login/TerminalLogin.js +29 -22
  290. package/lib/esm/shell/login/TerminalLogin.js.map +1 -1
  291. package/lib/esm/shell/login/UserInfo.js +6 -4
  292. package/lib/esm/shell/login/UserInfo.js.map +1 -1
  293. package/lib/esm/shell/login/UserSessionMenu.js +3 -4
  294. package/lib/esm/shell/login/UserSessionMenu.js.map +1 -1
  295. package/lib/esm/widgets/index.js +0 -1
  296. package/lib/esm/widgets/index.js.map +1 -1
  297. package/lib/esm/widgets/json-view/JSONCode.js +1 -1
  298. package/lib/esm/widgets/json-view/JSONCode.js.map +1 -1
  299. package/lib/esm/widgets/json-view/JSONDisplay.js +6 -2
  300. package/lib/esm/widgets/json-view/JSONDisplay.js.map +1 -1
  301. package/lib/esm/widgets/json-view/JSONSwitcher.js +6 -0
  302. package/lib/esm/widgets/json-view/JSONSwitcher.js.map +1 -0
  303. package/lib/esm/widgets/json-view/JSONView.js +1 -1
  304. package/lib/esm/widgets/json-view/JSONView.js.map +1 -1
  305. package/lib/esm/widgets/json-view/index.js +1 -0
  306. package/lib/esm/widgets/json-view/index.js.map +1 -1
  307. package/lib/esm/widgets/markdown/ArtifactContentRenderer.js +6 -5
  308. package/lib/esm/widgets/markdown/ArtifactContentRenderer.js.map +1 -1
  309. package/lib/esm/widgets/markdown/CodeBlockContext.js +11 -0
  310. package/lib/esm/widgets/markdown/CodeBlockContext.js.map +1 -0
  311. package/lib/esm/widgets/markdown/MarkdownRenderer.js +11 -10
  312. package/lib/esm/widgets/markdown/MarkdownRenderer.js.map +1 -1
  313. package/lib/esm/widgets/markdown/codeBlockHandlers.js +11 -12
  314. package/lib/esm/widgets/markdown/codeBlockHandlers.js.map +1 -1
  315. package/lib/esm/widgets/markdown/index.js +10 -9
  316. package/lib/esm/widgets/markdown/index.js.map +1 -1
  317. package/lib/esm/widgets/markdown/remarkDirectiveHandler.js +0 -1
  318. package/lib/esm/widgets/markdown/remarkDirectiveHandler.js.map +1 -1
  319. package/lib/esm/widgets/schema-editor/ManagedSchema.js +6 -5
  320. package/lib/esm/widgets/schema-editor/ManagedSchema.js.map +1 -1
  321. package/lib/esm/widgets/schema-editor/editor/PropertyEditor.js +7 -3
  322. package/lib/esm/widgets/schema-editor/editor/PropertyEditor.js.map +1 -1
  323. package/lib/esm/widgets/schema-editor/editor/SchemaEditor.js +3 -1
  324. package/lib/esm/widgets/schema-editor/editor/SchemaEditor.js.map +1 -1
  325. package/lib/esm/widgets/upload/DropZone.js +9 -11
  326. package/lib/esm/widgets/upload/DropZone.js.map +1 -1
  327. package/lib/esm/widgets/upload/UploadResultCategory.js +3 -1
  328. package/lib/esm/widgets/upload/UploadResultCategory.js.map +1 -1
  329. package/lib/esm/widgets/upload/UploadSummary.js +3 -1
  330. package/lib/esm/widgets/upload/UploadSummary.js.map +1 -1
  331. package/lib/tsconfig.tsbuildinfo +1 -1
  332. package/lib/types/core/components/SelectList.d.ts.map +1 -1
  333. package/lib/types/core/components/SidePanel.d.ts +4 -2
  334. package/lib/types/core/components/SidePanel.d.ts.map +1 -1
  335. package/lib/types/core/components/index.d.ts +0 -5
  336. package/lib/types/core/components/index.d.ts.map +1 -1
  337. package/lib/types/core/components/shadcn/badge.d.ts +2 -2
  338. package/lib/types/core/components/shadcn/breadcrumb.d.ts +1 -1
  339. package/lib/types/core/components/shadcn/breadcrumb.d.ts.map +1 -1
  340. package/lib/types/core/components/shadcn/button.d.ts.map +1 -1
  341. package/lib/types/core/components/shadcn/collaspible.d.ts +6 -0
  342. package/lib/types/core/components/shadcn/collaspible.d.ts.map +1 -0
  343. package/lib/types/core/components/shadcn/dropdown.d.ts +51 -0
  344. package/lib/types/core/components/shadcn/dropdown.d.ts.map +1 -0
  345. package/lib/types/core/components/shadcn/filters/comboBox/DateCombobox.d.ts.map +1 -1
  346. package/lib/types/core/components/shadcn/filters/comboBox/SelectCombobox.d.ts.map +1 -1
  347. package/lib/types/core/components/shadcn/filters/filter/dateFilter.d.ts.map +1 -1
  348. package/lib/types/core/components/shadcn/filters/filterBar.d.ts.map +1 -1
  349. package/lib/types/core/components/shadcn/index.d.ts +4 -0
  350. package/lib/types/core/components/shadcn/index.d.ts.map +1 -1
  351. package/lib/types/core/components/shadcn/input.d.ts +1 -1
  352. package/lib/types/core/components/shadcn/modal/ConfirmModal.d.ts +2 -1
  353. package/lib/types/core/components/shadcn/modal/ConfirmModal.d.ts.map +1 -1
  354. package/lib/types/core/components/shadcn/modal/DeleteModal.d.ts.map +1 -1
  355. package/lib/types/core/components/shadcn/popover.d.ts +11 -3
  356. package/lib/types/core/components/shadcn/popover.d.ts.map +1 -1
  357. package/lib/types/core/components/shadcn/radioGroup.d.ts +26 -0
  358. package/lib/types/core/components/shadcn/radioGroup.d.ts.map +1 -0
  359. package/lib/types/core/components/shadcn/switch.d.ts +12 -0
  360. package/lib/types/core/components/shadcn/switch.d.ts.map +1 -0
  361. package/lib/types/core/components/shadcn/tabs.d.ts +4 -2
  362. package/lib/types/core/components/shadcn/tabs.d.ts.map +1 -1
  363. package/lib/types/core/components/shadcn/theme/ThemeSwitcher.d.ts +8 -2
  364. package/lib/types/core/components/shadcn/theme/ThemeSwitcher.d.ts.map +1 -1
  365. package/lib/types/core/components/toast/NotificationPanel.d.ts.map +1 -1
  366. package/lib/types/core/hooks/PortalContainerProvider.d.ts +1 -0
  367. package/lib/types/core/hooks/PortalContainerProvider.d.ts.map +1 -1
  368. package/lib/types/env/index.d.ts +12 -3
  369. package/lib/types/env/index.d.ts.map +1 -1
  370. package/lib/types/features/agent/PayloadBuilder.d.ts +31 -3
  371. package/lib/types/features/agent/PayloadBuilder.d.ts.map +1 -1
  372. package/lib/types/features/agent/chat/AgentRightPanel.d.ts +50 -0
  373. package/lib/types/features/agent/chat/AgentRightPanel.d.ts.map +1 -0
  374. package/lib/types/features/agent/chat/ArtifactsTab.d.ts +9 -0
  375. package/lib/types/features/agent/chat/ArtifactsTab.d.ts.map +1 -0
  376. package/lib/types/features/agent/chat/AskUserWidget.d.ts.map +1 -1
  377. package/lib/types/features/agent/chat/DocumentPanel.d.ts.map +1 -1
  378. package/lib/types/features/agent/chat/ImageLightbox.d.ts.map +1 -1
  379. package/lib/types/features/agent/chat/ModernAgentConversation.d.ts +22 -9
  380. package/lib/types/features/agent/chat/ModernAgentConversation.d.ts.map +1 -1
  381. package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts +3 -1
  382. package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
  383. package/lib/types/features/agent/chat/ModernAgentOutput/BatchProgressPanel.d.ts.map +1 -1
  384. package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts +13 -4
  385. package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts.map +1 -1
  386. package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.d.ts +1 -1
  387. package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.d.ts.map +1 -1
  388. package/lib/types/features/agent/chat/ModernAgentOutput/MessageInput.d.ts.map +1 -1
  389. package/lib/types/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
  390. package/lib/types/features/agent/chat/ModernAgentOutput/PlanPanel.d.ts.map +1 -1
  391. package/lib/types/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.d.ts.map +1 -1
  392. package/lib/types/features/agent/chat/ModernAgentOutput/StreamingMessage.d.ts +3 -1
  393. package/lib/types/features/agent/chat/ModernAgentOutput/StreamingMessage.d.ts.map +1 -1
  394. package/lib/types/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts +5 -1
  395. package/lib/types/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts.map +1 -1
  396. package/lib/types/features/agent/chat/ModernAgentOutput/WorkstreamTabs.d.ts.map +1 -1
  397. package/lib/types/features/agent/chat/ModernAgentOutput/utils.d.ts +16 -1
  398. package/lib/types/features/agent/chat/ModernAgentOutput/utils.d.ts.map +1 -1
  399. package/lib/types/features/agent/chat/SlidingThinkingIndicator.d.ts.map +1 -1
  400. package/lib/types/features/agent/chat/VegaLiteChart.d.ts.map +1 -1
  401. package/lib/types/features/agent/chat/hooks/useAgentPlans.d.ts.map +1 -1
  402. package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts +5 -3
  403. package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts.map +1 -1
  404. package/lib/types/features/agent/chat/hooks/useArtifacts.d.ts +18 -0
  405. package/lib/types/features/agent/chat/hooks/useArtifacts.d.ts.map +1 -0
  406. package/lib/types/features/agent/chat/hooks/useDocumentPanel.d.ts.map +1 -1
  407. package/lib/types/features/agent/chat/hooks/useFileProcessing.d.ts +4 -4
  408. package/lib/types/features/agent/chat/hooks/useFileProcessing.d.ts.map +1 -1
  409. package/lib/types/features/agent/chat/types/document.d.ts +2 -0
  410. package/lib/types/features/agent/chat/types/document.d.ts.map +1 -1
  411. package/lib/types/features/errors/PanelErrorBoundary.d.ts.map +1 -1
  412. package/lib/types/features/facets/AgentRunnerFacetsNav.d.ts +2 -1
  413. package/lib/types/features/facets/AgentRunnerFacetsNav.d.ts.map +1 -1
  414. package/lib/types/features/facets/RunsFacetsNav.d.ts.map +1 -1
  415. package/lib/types/features/facets/index.d.ts +1 -1
  416. package/lib/types/features/facets/index.d.ts.map +1 -1
  417. package/lib/types/features/layout/GenericPageNavHeader.d.ts +2 -2
  418. package/lib/types/features/layout/GenericPageNavHeader.d.ts.map +1 -1
  419. package/lib/types/features/layout/NotFoundView.d.ts.map +1 -1
  420. package/lib/types/features/magic-pdf/AnnotatedImageSlider.d.ts.map +1 -1
  421. package/lib/types/features/magic-pdf/DownloadPopover.d.ts.map +1 -1
  422. package/lib/types/features/magic-pdf/MagicPdfView.d.ts.map +1 -1
  423. package/lib/types/features/pdf-viewer/PdfPageSlider.d.ts.map +1 -1
  424. package/lib/types/features/pdf-viewer/SimplePdfViewer.d.ts.map +1 -1
  425. package/lib/types/features/permissions/UserPermissionsProvider.d.ts.map +1 -1
  426. package/lib/types/features/store/collections/BrowseCollectionView.d.ts.map +1 -1
  427. package/lib/types/features/store/collections/CollectionsTable.d.ts +4 -0
  428. package/lib/types/features/store/collections/CollectionsTable.d.ts.map +1 -1
  429. package/lib/types/features/store/collections/CreateCollection.d.ts.map +1 -1
  430. package/lib/types/features/store/collections/EditCollectionView.d.ts.map +1 -1
  431. package/lib/types/features/store/collections/SelectCollection.d.ts.map +1 -1
  432. package/lib/types/features/store/collections/SharedPropsEditor.d.ts.map +1 -1
  433. package/lib/types/features/store/collections/SyncMemberHeadsToggle.d.ts.map +1 -1
  434. package/lib/types/features/store/objects/DocumentPreviewPanel.d.ts.map +1 -1
  435. package/lib/types/features/store/objects/DocumentSearchResults.d.ts.map +1 -1
  436. package/lib/types/features/store/objects/DocumentTable.d.ts.map +1 -1
  437. package/lib/types/features/store/objects/ExportPropertiesModal.d.ts.map +1 -1
  438. package/lib/types/features/store/objects/components/ContentDispositionButton.d.ts.map +1 -1
  439. package/lib/types/features/store/objects/components/ContentOverview.d.ts.map +1 -1
  440. package/lib/types/features/store/objects/components/DocumentIcon.d.ts +2 -1
  441. package/lib/types/features/store/objects/components/DocumentIcon.d.ts.map +1 -1
  442. package/lib/types/features/store/objects/components/PropertiesEditorModal.d.ts.map +1 -1
  443. package/lib/types/features/store/objects/components/SaveVersionConfirmModal.d.ts.map +1 -1
  444. package/lib/types/features/store/objects/components/SelectDocument.d.ts +3 -1
  445. package/lib/types/features/store/objects/components/SelectDocument.d.ts.map +1 -1
  446. package/lib/types/features/store/objects/components/TextEditorPanel.d.ts +10 -0
  447. package/lib/types/features/store/objects/components/TextEditorPanel.d.ts.map +1 -0
  448. package/lib/types/features/store/objects/components/VectorSearchWidget.d.ts.map +1 -1
  449. package/lib/types/features/store/objects/components/useContentPanelHooks.d.ts.map +1 -1
  450. package/lib/types/features/store/objects/components/useDownloadFile.d.ts.map +1 -1
  451. package/lib/types/features/store/objects/layout/documentLayout.d.ts +3 -2
  452. package/lib/types/features/store/objects/layout/documentLayout.d.ts.map +1 -1
  453. package/lib/types/features/store/objects/layout/renderers.d.ts.map +1 -1
  454. package/lib/types/features/store/objects/search/DocumentSearchContext.d.ts.map +1 -1
  455. package/lib/types/features/store/objects/search/DocumentSearchProvider.d.ts.map +1 -1
  456. package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts +3 -20
  457. package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts.map +1 -1
  458. package/lib/types/features/store/objects/selection/ObjectsActionContextClass.d.ts +16 -0
  459. package/lib/types/features/store/objects/selection/ObjectsActionContextClass.d.ts.map +1 -0
  460. package/lib/types/features/store/objects/selection/ObjectsActionHooks.d.ts +7 -0
  461. package/lib/types/features/store/objects/selection/ObjectsActionHooks.d.ts.map +1 -0
  462. package/lib/types/features/store/objects/selection/ObjectsActionSpec.d.ts +4 -1
  463. package/lib/types/features/store/objects/selection/ObjectsActionSpec.d.ts.map +1 -1
  464. package/lib/types/features/store/objects/selection/SelectionActions.d.ts +6 -1
  465. package/lib/types/features/store/objects/selection/SelectionActions.d.ts.map +1 -1
  466. package/lib/types/features/store/objects/selection/actions/AddToCollectionAction.d.ts.map +1 -1
  467. package/lib/types/features/store/objects/selection/actions/ChangeTypeAction.d.ts.map +1 -1
  468. package/lib/types/features/store/objects/selection/actions/ConfirmAction.d.ts +1 -1
  469. package/lib/types/features/store/objects/selection/actions/ConfirmAction.d.ts.map +1 -1
  470. package/lib/types/features/store/objects/selection/actions/DeleteObjectsAction.d.ts.map +1 -1
  471. package/lib/types/features/store/objects/selection/actions/ExportPropertiesAction.d.ts.map +1 -1
  472. package/lib/types/features/store/objects/selection/actions/RemoveFromCollectionAction.d.ts.map +1 -1
  473. package/lib/types/features/store/objects/selection/actions/StartWorkflowComponent.d.ts.map +1 -1
  474. package/lib/types/features/store/objects/upload/DocumentUploadModal.d.ts.map +1 -1
  475. package/lib/types/features/store/objects/upload/useSmartFileUploadProcessing.d.ts.map +1 -1
  476. package/lib/types/features/store/objects/upload/useUploadHandler.d.ts.map +1 -1
  477. package/lib/types/features/store/types/ContentObjectTypesSearch.d.ts.map +1 -1
  478. package/lib/types/features/store/types/ContentObjectTypesTable.d.ts.map +1 -1
  479. package/lib/types/features/store/types/CreateOrUpdateTypeModal.d.ts +2 -1
  480. package/lib/types/features/store/types/CreateOrUpdateTypeModal.d.ts.map +1 -1
  481. package/lib/types/features/store/types/ObjectSchemaEditor.d.ts.map +1 -1
  482. package/lib/types/features/store/types/SelectContentType.d.ts.map +1 -1
  483. package/lib/types/features/store/types/SelectContentTypeModal.d.ts.map +1 -1
  484. package/lib/types/features/store/types/TableLayoutEditor.d.ts.map +1 -1
  485. package/lib/types/features/user/UserInfo.d.ts +2 -2
  486. package/lib/types/features/user/UserInfo.d.ts.map +1 -1
  487. package/lib/types/i18n/index.d.ts +14 -0
  488. package/lib/types/i18n/index.d.ts.map +1 -0
  489. package/lib/types/i18n/instance.d.ts +5 -0
  490. package/lib/types/i18n/instance.d.ts.map +1 -0
  491. package/lib/types/layout/FullHeightLayout.d.ts +3 -0
  492. package/lib/types/layout/FullHeightLayout.d.ts.map +1 -1
  493. package/lib/types/layout/Navbar.d.ts.map +1 -1
  494. package/lib/types/layout/RegionTag.d.ts +4 -0
  495. package/lib/types/layout/RegionTag.d.ts.map +1 -0
  496. package/lib/types/layout/Sidebar.d.ts +2 -1
  497. package/lib/types/layout/Sidebar.d.ts.map +1 -1
  498. package/lib/types/layout/index.d.ts +1 -0
  499. package/lib/types/layout/index.d.ts.map +1 -1
  500. package/lib/types/router/Nav.d.ts +5 -1
  501. package/lib/types/router/Nav.d.ts.map +1 -1
  502. package/lib/types/router/NestedNavigationContext.d.ts.map +1 -1
  503. package/lib/types/router/NestedRouterProvider.d.ts.map +1 -1
  504. package/lib/types/router/Router.d.ts +2 -0
  505. package/lib/types/router/Router.d.ts.map +1 -1
  506. package/lib/types/session/UserSession.d.ts +1 -0
  507. package/lib/types/session/UserSession.d.ts.map +1 -1
  508. package/lib/types/session/UserSessionProvider.d.ts +0 -1
  509. package/lib/types/session/UserSessionProvider.d.ts.map +1 -1
  510. package/lib/types/session/auth/domainRouting.d.ts +3 -0
  511. package/lib/types/session/auth/domainRouting.d.ts.map +1 -0
  512. package/lib/types/session/auth/useCurrentTenant.d.ts.map +1 -1
  513. package/lib/types/shell/SplashScreen.d.ts.map +1 -1
  514. package/lib/types/shell/apps/StandaloneApp.d.ts.map +1 -1
  515. package/lib/types/shell/login/EnterpriseSigninButton.d.ts.map +1 -1
  516. package/lib/types/shell/login/GitHubSignInButton.d.ts.map +1 -1
  517. package/lib/types/shell/login/GoogleSignInButton.d.ts.map +1 -1
  518. package/lib/types/shell/login/InviteAcceptModal.d.ts.map +1 -1
  519. package/lib/types/shell/login/MicrosoftSigninButton.d.ts +1 -1
  520. package/lib/types/shell/login/MicrosoftSigninButton.d.ts.map +1 -1
  521. package/lib/types/shell/login/SigninScreen.d.ts.map +1 -1
  522. package/lib/types/shell/login/SignupForm.d.ts.map +1 -1
  523. package/lib/types/shell/login/TerminalLogin.d.ts.map +1 -1
  524. package/lib/types/shell/login/UserInfo.d.ts.map +1 -1
  525. package/lib/types/shell/login/UserSessionMenu.d.ts.map +1 -1
  526. package/lib/types/widgets/index.d.ts +0 -1
  527. package/lib/types/widgets/index.d.ts.map +1 -1
  528. package/lib/types/widgets/json-view/JSONDisplay.d.ts.map +1 -1
  529. package/lib/types/widgets/json-view/JSONSwitcher.d.ts +6 -0
  530. package/lib/types/widgets/json-view/JSONSwitcher.d.ts.map +1 -0
  531. package/lib/types/widgets/json-view/index.d.ts +1 -0
  532. package/lib/types/widgets/json-view/index.d.ts.map +1 -1
  533. package/lib/types/widgets/markdown/ArtifactContentRenderer.d.ts.map +1 -1
  534. package/lib/types/widgets/markdown/CodeBlockContext.d.ts +21 -0
  535. package/lib/types/widgets/markdown/CodeBlockContext.d.ts.map +1 -0
  536. package/lib/types/widgets/markdown/MarkdownRenderer.d.ts.map +1 -1
  537. package/lib/types/widgets/markdown/codeBlockHandlers.d.ts +0 -12
  538. package/lib/types/widgets/markdown/codeBlockHandlers.d.ts.map +1 -1
  539. package/lib/types/widgets/markdown/index.d.ts +10 -9
  540. package/lib/types/widgets/markdown/index.d.ts.map +1 -1
  541. package/lib/types/widgets/schema-editor/ManagedSchema.d.ts +1 -1
  542. package/lib/types/widgets/schema-editor/ManagedSchema.d.ts.map +1 -1
  543. package/lib/types/widgets/schema-editor/editor/PropertyEditor.d.ts.map +1 -1
  544. package/lib/types/widgets/schema-editor/editor/SchemaEditor.d.ts.map +1 -1
  545. package/lib/types/widgets/upload/DropZone.d.ts.map +1 -1
  546. package/lib/types/widgets/upload/UploadResultCategory.d.ts.map +1 -1
  547. package/lib/types/widgets/upload/UploadSummary.d.ts.map +1 -1
  548. package/lib/vertesia-ui-core.js +1 -1
  549. package/lib/vertesia-ui-core.js.map +1 -1
  550. package/lib/vertesia-ui-env.js +1 -1
  551. package/lib/vertesia-ui-env.js.map +1 -1
  552. package/lib/vertesia-ui-features.js +1 -1
  553. package/lib/vertesia-ui-features.js.map +1 -1
  554. package/lib/vertesia-ui-i18n.js +2 -0
  555. package/lib/vertesia-ui-i18n.js.map +1 -0
  556. package/lib/vertesia-ui-layout.js +1 -1
  557. package/lib/vertesia-ui-layout.js.map +1 -1
  558. package/lib/vertesia-ui-router.js +1 -1
  559. package/lib/vertesia-ui-router.js.map +1 -1
  560. package/lib/vertesia-ui-session.js +1 -1
  561. package/lib/vertesia-ui-session.js.map +1 -1
  562. package/lib/vertesia-ui-shell.js +1 -1
  563. package/lib/vertesia-ui-shell.js.map +1 -1
  564. package/lib/vertesia-ui-widgets.js +1 -1
  565. package/lib/vertesia-ui-widgets.js.map +1 -1
  566. package/llms.txt +124 -4
  567. package/package.json +50 -22
  568. package/src/core/components/SelectList.tsx +3 -1
  569. package/src/core/components/SidePanel.tsx +5 -4
  570. package/src/core/components/index.ts +0 -5
  571. package/src/core/components/shadcn/breadcrumb.tsx +16 -9
  572. package/src/core/components/shadcn/button.tsx +5 -3
  573. package/src/core/components/shadcn/collaspible.tsx +33 -0
  574. package/src/core/components/shadcn/dropdown.tsx +325 -0
  575. package/src/core/components/shadcn/filters/comboBox/DateCombobox.tsx +3 -1
  576. package/src/core/components/shadcn/filters/comboBox/SelectCombobox.tsx +3 -1
  577. package/src/core/components/shadcn/filters/comboBox/StringListCombobox.tsx +1 -1
  578. package/src/core/components/shadcn/filters/filter/StringListFilter.tsx +1 -1
  579. package/src/core/components/shadcn/filters/filter/dateFilter.tsx +5 -3
  580. package/src/core/components/shadcn/filters/filterBar.tsx +8 -5
  581. package/src/core/components/shadcn/index.ts +5 -1
  582. package/src/core/components/shadcn/modal/ConfirmModal.tsx +7 -3
  583. package/src/core/components/shadcn/modal/DeleteModal.tsx +5 -3
  584. package/src/core/components/shadcn/popover.tsx +12 -7
  585. package/src/core/components/shadcn/radioGroup.tsx +100 -0
  586. package/src/core/components/shadcn/selectBox.tsx +1 -1
  587. package/src/core/components/shadcn/switch.tsx +60 -0
  588. package/src/core/components/shadcn/tabs.tsx +29 -27
  589. package/src/core/components/shadcn/theme/ThemeSwitcher.tsx +19 -10
  590. package/src/core/components/shadcn/tooltip.tsx +1 -1
  591. package/src/core/components/toast/NotificationPanel.tsx +38 -44
  592. package/src/core/hooks/PortalContainerProvider.tsx +11 -3
  593. package/src/css/base.css +31 -0
  594. package/src/css/color.css +136 -0
  595. package/src/css/custom-tooltips.css +64 -0
  596. package/src/css/index.css +27 -0
  597. package/src/css/theme.css +86 -0
  598. package/src/css/typography.css +88 -0
  599. package/src/css/utilities.css +72 -0
  600. package/src/env/index.ts +24 -13
  601. package/src/features/agent/PayloadBuilder.tsx +100 -13
  602. package/src/features/agent/chat/AgentRightPanel.tsx +424 -0
  603. package/src/features/agent/chat/ArtifactsTab.tsx +197 -0
  604. package/src/features/agent/chat/AskUserWidget.tsx +14 -8
  605. package/src/features/agent/chat/DocumentPanel.tsx +24 -9
  606. package/src/features/agent/chat/ImageLightbox.tsx +6 -3
  607. package/src/features/agent/chat/ModernAgentConversation.tsx +538 -364
  608. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +151 -55
  609. package/src/features/agent/chat/ModernAgentOutput/BatchProgressPanel.tsx +6 -4
  610. package/src/features/agent/chat/ModernAgentOutput/Header.tsx +183 -105
  611. package/src/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.tsx +21 -31
  612. package/src/features/agent/chat/ModernAgentOutput/MessageInput.tsx +119 -114
  613. package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +26 -9
  614. package/src/features/agent/chat/ModernAgentOutput/PlanPanel.tsx +9 -7
  615. package/src/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.tsx +15 -13
  616. package/src/features/agent/chat/ModernAgentOutput/StreamingMessage.tsx +8 -3
  617. package/src/features/agent/chat/ModernAgentOutput/ToolCallGroup.tsx +149 -49
  618. package/src/features/agent/chat/ModernAgentOutput/WorkstreamTabs.tsx +9 -5
  619. package/src/features/agent/chat/ModernAgentOutput/utils.test.ts +229 -0
  620. package/src/features/agent/chat/ModernAgentOutput/utils.ts +202 -97
  621. package/src/features/agent/chat/SlidingThinkingIndicator.tsx +5 -3
  622. package/src/features/agent/chat/VegaLiteChart.tsx +20 -8
  623. package/src/features/agent/chat/hooks/useAgentPlans.ts +3 -9
  624. package/src/features/agent/chat/hooks/useAgentStream.ts +86 -19
  625. package/src/features/agent/chat/hooks/useArtifacts.ts +151 -0
  626. package/src/features/agent/chat/hooks/useDocumentPanel.ts +65 -5
  627. package/src/features/agent/chat/hooks/useFileProcessing.ts +14 -13
  628. package/src/features/agent/chat/types/document.ts +2 -0
  629. package/src/features/errors/PanelErrorBoundary.tsx +5 -3
  630. package/src/features/facets/AgentRunnerFacetsNav.tsx +54 -35
  631. package/src/features/facets/RunsFacetsNav.tsx +15 -7
  632. package/src/features/facets/index.ts +1 -1
  633. package/src/features/layout/GenericPageNavHeader.tsx +64 -41
  634. package/src/features/layout/NotFoundView.tsx +4 -1
  635. package/src/features/magic-pdf/AnnotatedImageSlider.tsx +12 -8
  636. package/src/features/magic-pdf/DownloadPopover.tsx +11 -10
  637. package/src/features/magic-pdf/MagicPdfView.tsx +10 -7
  638. package/src/features/pdf-viewer/PdfPageSlider.tsx +10 -6
  639. package/src/features/pdf-viewer/SimplePdfViewer.tsx +5 -3
  640. package/src/features/permissions/UserPermissionsProvider.tsx +3 -1
  641. package/src/features/store/collections/BrowseCollectionView.tsx +11 -1
  642. package/src/features/store/collections/CollectionsTable.tsx +20 -12
  643. package/src/features/store/collections/CreateCollection.tsx +45 -40
  644. package/src/features/store/collections/EditCollectionView.tsx +31 -28
  645. package/src/features/store/collections/SelectCollection.tsx +50 -14
  646. package/src/features/store/collections/SharedPropsEditor.tsx +7 -5
  647. package/src/features/store/collections/SyncMemberHeadsToggle.tsx +6 -4
  648. package/src/features/store/objects/DocumentPreviewPanel.tsx +30 -28
  649. package/src/features/store/objects/DocumentSearchResults.tsx +31 -21
  650. package/src/features/store/objects/DocumentTable.tsx +11 -5
  651. package/src/features/store/objects/ExportPropertiesModal.tsx +8 -5
  652. package/src/features/store/objects/components/ContentDispositionButton.tsx +3 -1
  653. package/src/features/store/objects/components/ContentOverview.tsx +96 -50
  654. package/src/features/store/objects/components/DocumentIcon.tsx +11 -3
  655. package/src/features/store/objects/components/PropertiesEditorModal.tsx +14 -12
  656. package/src/features/store/objects/components/SaveVersionConfirmModal.tsx +24 -37
  657. package/src/features/store/objects/components/SelectDocument.tsx +15 -6
  658. package/src/features/store/objects/components/TextEditorPanel.tsx +143 -0
  659. package/src/features/store/objects/components/VectorSearchWidget.tsx +11 -8
  660. package/src/features/store/objects/components/useContentPanelHooks.ts +4 -2
  661. package/src/features/store/objects/components/useDownloadFile.ts +12 -10
  662. package/src/features/store/objects/layout/documentLayout.tsx +16 -6
  663. package/src/features/store/objects/layout/renderers.tsx +27 -1
  664. package/src/features/store/objects/search/DocumentSearchContext.ts +3 -2
  665. package/src/features/store/objects/search/DocumentSearchProvider.tsx +3 -0
  666. package/src/features/store/objects/selection/ObjectsActionContext.tsx +26 -128
  667. package/src/features/store/objects/selection/ObjectsActionContextClass.ts +59 -0
  668. package/src/features/store/objects/selection/ObjectsActionHooks.ts +33 -0
  669. package/src/features/store/objects/selection/ObjectsActionSpec.ts +4 -1
  670. package/src/features/store/objects/selection/SelectionActions.tsx +14 -6
  671. package/src/features/store/objects/selection/actions/AddToCollectionAction.tsx +19 -14
  672. package/src/features/store/objects/selection/actions/ChangeTypeAction.tsx +9 -5
  673. package/src/features/store/objects/selection/actions/ConfirmAction.tsx +4 -3
  674. package/src/features/store/objects/selection/actions/DeleteObjectsAction.tsx +24 -23
  675. package/src/features/store/objects/selection/actions/ExportPropertiesAction.tsx +10 -5
  676. package/src/features/store/objects/selection/actions/RemoveFromCollectionAction.tsx +13 -9
  677. package/src/features/store/objects/selection/actions/StartWorkflowComponent.tsx +14 -8
  678. package/src/features/store/objects/upload/DocumentUploadModal.tsx +56 -55
  679. package/src/features/store/objects/upload/useSmartFileUploadProcessing.ts +4 -2
  680. package/src/features/store/objects/upload/useUploadHandler.ts +9 -7
  681. package/src/features/store/types/ContentObjectTypesSearch.tsx +10 -8
  682. package/src/features/store/types/ContentObjectTypesTable.tsx +6 -4
  683. package/src/features/store/types/CreateOrUpdateTypeModal.tsx +11 -12
  684. package/src/features/store/types/ObjectSchemaEditor.tsx +11 -9
  685. package/src/features/store/types/SelectContentType.tsx +15 -13
  686. package/src/features/store/types/SelectContentTypeModal.tsx +16 -13
  687. package/src/features/store/types/TableLayoutEditor.tsx +16 -12
  688. package/src/features/user/UserInfo.tsx +47 -56
  689. package/src/i18n/index.tsx +45 -0
  690. package/src/i18n/instance.ts +49 -0
  691. package/src/i18n/locales/ar.json +696 -0
  692. package/src/i18n/locales/de.json +664 -0
  693. package/src/i18n/locales/en.json +665 -0
  694. package/src/i18n/locales/es.json +670 -0
  695. package/src/i18n/locales/fr.json +672 -0
  696. package/src/i18n/locales/it.json +670 -0
  697. package/src/i18n/locales/ja.json +664 -0
  698. package/src/i18n/locales/ko.json +664 -0
  699. package/src/i18n/locales/pt.json +670 -0
  700. package/src/i18n/locales/ru.json +680 -0
  701. package/src/i18n/locales/tr.json +664 -0
  702. package/src/i18n/locales/zh-TW.json +664 -0
  703. package/src/i18n/locales/zh.json +664 -0
  704. package/src/layout/FullHeightLayout.tsx +8 -0
  705. package/src/layout/Navbar.tsx +4 -2
  706. package/src/layout/RegionTag.tsx +25 -0
  707. package/src/layout/Sidebar.tsx +4 -3
  708. package/src/layout/index.ts +2 -1
  709. package/src/router/HistoryNavigator.ts +10 -10
  710. package/src/router/Nav.tsx +9 -3
  711. package/src/router/NestedNavigationContext.tsx +4 -0
  712. package/src/router/NestedRouterProvider.tsx +3 -1
  713. package/src/router/Router.tsx +23 -7
  714. package/src/session/UserSession.ts +34 -5
  715. package/src/session/UserSessionProvider.tsx +6 -14
  716. package/src/session/auth/composable.ts +1 -1
  717. package/src/session/auth/domainRouting.test.ts +110 -0
  718. package/src/session/auth/domainRouting.ts +22 -0
  719. package/src/session/auth/firebase.ts +1 -1
  720. package/src/session/auth/useCurrentTenant.ts +3 -1
  721. package/src/shell/SplashScreen.tsx +22 -26
  722. package/src/shell/apps/StandaloneApp.tsx +9 -6
  723. package/src/shell/login/EnterpriseSigninButton.tsx +6 -4
  724. package/src/shell/login/GitHubSignInButton.tsx +3 -7
  725. package/src/shell/login/GoogleSignInButton.tsx +3 -1
  726. package/src/shell/login/InviteAcceptModal.tsx +5 -2
  727. package/src/shell/login/MicrosoftSigninButton.tsx +4 -6
  728. package/src/shell/login/SigninScreen.tsx +18 -13
  729. package/src/shell/login/SignupForm.tsx +46 -46
  730. package/src/shell/login/TerminalLogin.tsx +36 -33
  731. package/src/shell/login/UserInfo.tsx +15 -13
  732. package/src/shell/login/UserSessionMenu.tsx +28 -31
  733. package/src/widgets/index.ts +0 -1
  734. package/src/widgets/json-view/JSONCode.tsx +1 -1
  735. package/src/widgets/json-view/JSONDisplay.tsx +8 -3
  736. package/src/widgets/json-view/JSONSwitcher.tsx +24 -0
  737. package/src/widgets/json-view/JSONView.tsx +1 -1
  738. package/src/widgets/json-view/index.ts +1 -0
  739. package/src/widgets/markdown/ArtifactContentRenderer.tsx +15 -7
  740. package/src/widgets/markdown/CodeBlockContext.tsx +34 -0
  741. package/src/widgets/markdown/MarkdownRenderer.tsx +14 -13
  742. package/src/widgets/markdown/codeBlockHandlers.tsx +17 -36
  743. package/src/widgets/markdown/index.ts +27 -34
  744. package/src/widgets/markdown/remarkDirectiveHandler.ts +1 -1
  745. package/src/widgets/schema-editor/ManagedSchema.ts +6 -5
  746. package/src/widgets/schema-editor/editor/PropertyEditor.tsx +7 -3
  747. package/src/widgets/schema-editor/editor/SchemaEditor.tsx +3 -1
  748. package/src/widgets/upload/DropZone.tsx +10 -13
  749. package/src/widgets/upload/UploadResultCategory.tsx +3 -1
  750. package/src/widgets/upload/UploadSummary.tsx +13 -11
  751. package/tsconfig.dist.json +1 -1
  752. package/lib/esm/core/components/Dropdown.js +0 -16
  753. package/lib/esm/core/components/Dropdown.js.map +0 -1
  754. package/lib/esm/core/components/DropdownList.js +0 -9
  755. package/lib/esm/core/components/DropdownList.js.map +0 -1
  756. package/lib/esm/core/components/RadioGroup.js +0 -34
  757. package/lib/esm/core/components/RadioGroup.js.map +0 -1
  758. package/lib/esm/core/components/SelectStack.js +0 -8
  759. package/lib/esm/core/components/SelectStack.js.map +0 -1
  760. package/lib/esm/core/components/Switch.js +0 -12
  761. package/lib/esm/core/components/Switch.js.map +0 -1
  762. package/lib/esm/widgets/popover/Popover.js +0 -73
  763. package/lib/esm/widgets/popover/Popover.js.map +0 -1
  764. package/lib/esm/widgets/popover/context.js +0 -7
  765. package/lib/esm/widgets/popover/context.js.map +0 -1
  766. package/lib/esm/widgets/popover/index.js +0 -3
  767. package/lib/esm/widgets/popover/index.js.map +0 -1
  768. package/lib/esm/widgets/popover/slots.js +0 -22
  769. package/lib/esm/widgets/popover/slots.js.map +0 -1
  770. package/lib/types/core/components/Dropdown.d.ts +0 -15
  771. package/lib/types/core/components/Dropdown.d.ts.map +0 -1
  772. package/lib/types/core/components/DropdownList.d.ts +0 -13
  773. package/lib/types/core/components/DropdownList.d.ts.map +0 -1
  774. package/lib/types/core/components/RadioGroup.d.ts +0 -26
  775. package/lib/types/core/components/RadioGroup.d.ts.map +0 -1
  776. package/lib/types/core/components/SelectStack.d.ts +0 -13
  777. package/lib/types/core/components/SelectStack.d.ts.map +0 -1
  778. package/lib/types/core/components/Switch.d.ts +0 -11
  779. package/lib/types/core/components/Switch.d.ts.map +0 -1
  780. package/lib/types/widgets/popover/Popover.d.ts +0 -38
  781. package/lib/types/widgets/popover/Popover.d.ts.map +0 -1
  782. package/lib/types/widgets/popover/context.d.ts +0 -8
  783. package/lib/types/widgets/popover/context.d.ts.map +0 -1
  784. package/lib/types/widgets/popover/index.d.ts +0 -3
  785. package/lib/types/widgets/popover/index.d.ts.map +0 -1
  786. package/lib/types/widgets/popover/slots.d.ts +0 -5
  787. package/lib/types/widgets/popover/slots.d.ts.map +0 -1
  788. package/src/core/components/Dropdown.tsx +0 -63
  789. package/src/core/components/DropdownList.tsx +0 -72
  790. package/src/core/components/RadioGroup.tsx +0 -100
  791. package/src/core/components/SelectStack.tsx +0 -63
  792. package/src/core/components/Switch.tsx +0 -30
  793. package/src/widgets/popover/Popover.tsx +0 -171
  794. package/src/widgets/popover/context.ts +0 -15
  795. package/src/widgets/popover/index.ts +0 -2
  796. package/src/widgets/popover/slots.ts +0 -24
@@ -3,7 +3,7 @@ import { AgentSearchScope, ConversationVisibility, ExecutionEnvironmentRef, InCo
3
3
  import { JSONObject } from "@vertesia/json";
4
4
  import { useUserSession } from "@vertesia/ui/session";
5
5
  import Ajv, { ValidateFunction } from "ajv";
6
- import React, { createContext, useContext, useEffect, useState } from "react";
6
+ import React, { createContext, useContext, useState, useSyncExternalStore } from "react";
7
7
 
8
8
  export type WorkflowMode = 'start' | 'schedule';
9
9
 
@@ -14,9 +14,30 @@ export interface ScheduledWorkflowConfig {
14
14
  timezone: string;
15
15
  }
16
16
 
17
+ export class PayloadBuilderStore {
18
+ private _listeners = new Set<() => void>();
19
+ snapshot: PayloadBuilder;
20
+
21
+ constructor(client: VertesiaClient) {
22
+ this.snapshot = new PayloadBuilder(client, this);
23
+ }
24
+
25
+ subscribe = (listener: () => void) => {
26
+ this._listeners.add(listener);
27
+ return () => { this._listeners.delete(listener); };
28
+ };
29
+
30
+ getSnapshot = () => this.snapshot;
31
+
32
+ notify() {
33
+ this._listeners.forEach(listener => listener());
34
+ }
35
+ }
36
+
17
37
  export class PayloadBuilder {
18
38
  _interactive: boolean = true;
19
39
  _debug_mode: boolean = false;
40
+ _non_blocking_subagents: boolean = true;
20
41
  _checkpoint_tokens: number | undefined;
21
42
  _visibility: ConversationVisibility | undefined;
22
43
  _user_channels: UserChannel[] | undefined;
@@ -32,22 +53,28 @@ export class PayloadBuilder {
32
53
  _scheduledWorkflowConfig: ScheduledWorkflowConfig | undefined;
33
54
 
34
55
  private _interactionParamsSchema?: JSONSchema | null;
56
+ private _schemaVersion = 0;
35
57
  private _inputValidator?: {
36
58
  validate: ValidateFunction;
37
59
  schema: JSONSchema;
38
60
  };
39
61
 
40
- constructor(public vertesia: VertesiaClient, public updateState: (data: PayloadBuilder) => void) {
62
+ private _store: PayloadBuilderStore;
63
+
64
+ constructor(public vertesia: VertesiaClient, store: PayloadBuilderStore) {
65
+ this._store = store;
41
66
  }
42
67
 
43
68
  onStateChanged() {
44
69
  const newInstance = this.clone();
45
- this.updateState(newInstance);
70
+ this._store.snapshot = newInstance;
71
+ this._store.notify();
46
72
  }
47
73
 
48
74
  clone() {
49
- const builder = new PayloadBuilder(this.vertesia, this.updateState);
75
+ const builder = new PayloadBuilder(this.vertesia, this._store);
50
76
  builder._interactionParamsSchema = this._interactionParamsSchema;
77
+ builder._schemaVersion = this._schemaVersion;
51
78
  builder._interaction = this._interaction;
52
79
  builder._data = this._data;
53
80
  builder._environment = this._environment;
@@ -55,6 +82,7 @@ export class PayloadBuilder {
55
82
  builder._tool_names = [...this._tool_names];
56
83
  builder._interactive = this._interactive;
57
84
  builder._debug_mode = this._debug_mode;
85
+ builder._non_blocking_subagents = this._non_blocking_subagents;
58
86
  builder._checkpoint_tokens = this._checkpoint_tokens;
59
87
  builder._visibility = this._visibility;
60
88
  builder._user_channels = this._user_channels ? [...this._user_channels] : undefined;
@@ -70,6 +98,14 @@ export class PayloadBuilder {
70
98
  set mode(mode: 'start' | 'schedule') {
71
99
  if (mode !== this._mode) {
72
100
  this._mode = mode;
101
+ if (mode === 'schedule' && !this._scheduledWorkflowConfig) {
102
+ this._scheduledWorkflowConfig = {
103
+ name: '',
104
+ description: '',
105
+ cron_expression: '0 9 * * *',
106
+ timezone: 'UTC'
107
+ } as ScheduledWorkflowConfig;
108
+ }
73
109
  this.onStateChanged();
74
110
  }
75
111
  }
@@ -87,6 +123,14 @@ export class PayloadBuilder {
87
123
  return this._scheduledWorkflowConfig;
88
124
  }
89
125
 
126
+ updateScheduledWorkflowConfig(patch: Partial<ScheduledWorkflowConfig>) {
127
+ this._scheduledWorkflowConfig = {
128
+ ...this._scheduledWorkflowConfig,
129
+ ...patch
130
+ } as ScheduledWorkflowConfig;
131
+ this.onStateChanged();
132
+ }
133
+
90
134
  get interactive() {
91
135
  return this._interactive;
92
136
  }
@@ -109,6 +153,17 @@ export class PayloadBuilder {
109
153
  }
110
154
  }
111
155
 
156
+ get non_blocking_subagents() {
157
+ return this._non_blocking_subagents;
158
+ }
159
+
160
+ set non_blocking_subagents(value: boolean) {
161
+ if (value !== this._non_blocking_subagents) {
162
+ this._non_blocking_subagents = value;
163
+ this.onStateChanged();
164
+ }
165
+ }
166
+
112
167
  get checkpoint_tokens(): number | undefined {
113
168
  return this._checkpoint_tokens;
114
169
  }
@@ -171,20 +226,29 @@ export class PayloadBuilder {
171
226
  const envId = inter.runtime?.environment || context.config?.environment;
172
227
  const model = context.config?.model;
173
228
  const env = await (envId ?
174
- this.vertesia.environments.retrieve(context.config?.environment)
229
+ this.vertesia.environments.retrieve(envId).catch(() => undefined)
175
230
  :
176
231
  Promise.resolve(undefined)
177
232
  );
178
233
 
179
234
 
180
- this.interactionParamsSchema = context.interactionParamsSchema ?? null;
181
- // trigger the setter to update the corresponding interactionParamsSchema
235
+ // Set data BEFORE the interaction setter so that initializeBooleanDefaults (called
236
+ // inside the interactionParamsSchema setter) uses the real run values as its base
237
+ // rather than an empty object. This prevents an intermediate render where the schema
238
+ // is set but _data is still {} — which would cause Input to mount with empty state.
239
+ this._data = context.data;
240
+
241
+ // Set interaction (which recomputes interactionParamsSchema from prompts via setter)
182
242
  this.interaction = inter;
243
+ // Prefer the schema stored in context (persisted with the run) over the recomputed one
244
+ if (context.interactionParamsSchema != null) {
245
+ this.interactionParamsSchema = context.interactionParamsSchema;
246
+ }
183
247
 
184
248
  this._tool_names = context.tool_names || [];
185
- this._data = context.data;
186
249
  this._interactive = context.interactive;
187
250
  this._debug_mode = context.debug_mode ?? false;
251
+ this._non_blocking_subagents = context.non_blocking_subagents ?? true;
188
252
  this._checkpoint_tokens = context.checkpoint_tokens;
189
253
  this._user_channels = context.user_channels;
190
254
  this.collection = context.collection_id ?? undefined;
@@ -277,6 +341,25 @@ export class PayloadBuilder {
277
341
  }
278
342
  }
279
343
 
344
+ markStarted() {
345
+ this.start = true;
346
+ }
347
+
348
+ // Method-style setters for use in React components (avoids react-hooks/immutability lint errors)
349
+ setMode(mode: 'start' | 'schedule') { this.mode = mode; }
350
+ setInteraction(interaction: InCodeInteraction | undefined) { this.interaction = interaction; }
351
+ setEnvironment(environment: ExecutionEnvironmentRef | undefined) { this.environment = environment; }
352
+ setModel(model: string | undefined) { this.model = model; }
353
+ setToolNames(tools: string[]) { this.tool_names = tools; }
354
+ setCollection(collection: string | undefined) { this.collection = collection; }
355
+ setInteractive(interactive: boolean) { this.interactive = interactive; }
356
+ setDebugMode(debug_mode: boolean) { this.debug_mode = debug_mode; }
357
+ setUserChannels(channels: UserChannel[] | undefined) { this.user_channels = channels; }
358
+ setCheckpointTokens(value: number | undefined) { this.checkpoint_tokens = value; }
359
+ setVisibility(value: ConversationVisibility | undefined) { this.visibility = value; }
360
+ setData(data: JSONObject) { this.data = data; }
361
+ setPreserveRunValues(value: boolean) { this.preserveRunValues = value; }
362
+
280
363
  get start(): boolean {
281
364
  return this._start;
282
365
  }
@@ -289,6 +372,10 @@ export class PayloadBuilder {
289
372
  this._preserveRunValues = value;
290
373
  }
291
374
 
375
+ get schemaVersion(): number {
376
+ return this._schemaVersion;
377
+ }
378
+
292
379
  get interactionParamsSchema(): JSONSchema | null | undefined {
293
380
  return this._interactionParamsSchema;
294
381
  }
@@ -296,6 +383,7 @@ export class PayloadBuilder {
296
383
  set interactionParamsSchema(schema: JSONSchema | null | undefined) {
297
384
  if (this._interactionParamsSchema !== schema) {
298
385
  this._interactionParamsSchema = schema;
386
+ this._schemaVersion += 1;
299
387
  // Booleans must be true or false, never undefined
300
388
  if (schema) {
301
389
  this._data = this.initializeBooleanDefaults(this._data || {}, schema);
@@ -332,6 +420,7 @@ export class PayloadBuilder {
332
420
  this._start = false;
333
421
  this._interactive = true;
334
422
  this._debug_mode = false;
423
+ this._non_blocking_subagents = true;
335
424
  this._checkpoint_tokens = undefined;
336
425
  this._visibility = undefined;
337
426
  this._user_channels = undefined;
@@ -390,11 +479,9 @@ interface PayloadProviderProps {
390
479
  }
391
480
  export function PayloadBuilderProvider({ children }: PayloadProviderProps) {
392
481
  const { client } = useUserSession();
393
- const [builder, setBuilder] = useState<PayloadBuilder>();
394
- useEffect(() => {
395
- setBuilder(new PayloadBuilder(client, setBuilder));
396
- }, []);
397
- return builder && (
482
+ const [store] = useState(() => new PayloadBuilderStore(client));
483
+ const builder = useSyncExternalStore(store.subscribe, store.getSnapshot);
484
+ return (
398
485
  <PayloadContext.Provider value={builder}>{children}</PayloadContext.Provider >
399
486
  )
400
487
  }
@@ -0,0 +1,424 @@
1
+ import React, { useCallback, useMemo, useState } from 'react';
2
+ import { Badge, Button, useToast, Tabs, TabsBar, TabsPanel, type Tab as TabDefinition } from '@vertesia/ui/core';
3
+ import { useUITranslation } from '../../../i18n/index.js';
4
+ import {
5
+ CheckCircleIcon,
6
+ ClipboardCopyIcon,
7
+ DownloadCloudIcon,
8
+ FileTextIcon,
9
+ Loader2Icon,
10
+ LayoutListIcon,
11
+ XCircleIcon,
12
+ XIcon,
13
+ } from 'lucide-react';
14
+ import { FileProcessingStatus } from '@vertesia/common';
15
+ import type { Plan, ConversationFile, AgentMessage } from '@vertesia/common';
16
+ import { useUserSession } from '@vertesia/ui/session';
17
+ import InlineSlidingPlanPanel from './ModernAgentOutput/InlineSlidingPlanPanel';
18
+ import { getConversationUrl } from './ModernAgentOutput/utils.js';
19
+ import { DocumentPanel } from './DocumentPanel.js';
20
+ import { ArtifactsTab } from './ArtifactsTab.js';
21
+ import type { OpenDocument } from './types/document.js';
22
+
23
+ // ---------------------------------------------------------------------------
24
+ // Workstream list types
25
+ // ---------------------------------------------------------------------------
26
+
27
+ export interface WorkstreamInfo {
28
+ workstream_id: string;
29
+ launch_id: string;
30
+ elapsed_ms: number;
31
+ deadline_ms: number;
32
+ remaining_ms: number;
33
+ status: 'running' | 'canceling';
34
+ phase?: string;
35
+ child_workflow_id?: string;
36
+ child_workflow_run_id?: string;
37
+ }
38
+
39
+ // ---------------------------------------------------------------------------
40
+ // UploadedDocuments (moved from WorkflowPayloadForm)
41
+ // ---------------------------------------------------------------------------
42
+
43
+ interface UploadedDocumentsProps {
44
+ files?: Map<string, ConversationFile>;
45
+ }
46
+
47
+ function UploadedDocumentsTab({ files }: UploadedDocumentsProps) {
48
+ const { t } = useUITranslation();
49
+ const filesArray = useMemo(() => {
50
+ return files ? Array.from(files.values()) : [];
51
+ }, [files]);
52
+
53
+ const getStatusIcon = (status: FileProcessingStatus) => {
54
+ switch (status) {
55
+ case FileProcessingStatus.UPLOADING:
56
+ case FileProcessingStatus.PROCESSING:
57
+ return <Loader2Icon className="size-4 animate-spin text-info" />;
58
+ case FileProcessingStatus.READY:
59
+ return <CheckCircleIcon className="size-4 text-success" />;
60
+ case FileProcessingStatus.ERROR:
61
+ return <XCircleIcon className="size-4 text-destructive" />;
62
+ default:
63
+ return <FileTextIcon className="size-4 text-muted" />;
64
+ }
65
+ };
66
+
67
+ const getStatusBadge = (status: FileProcessingStatus) => {
68
+ switch (status) {
69
+ case FileProcessingStatus.UPLOADING:
70
+ return <Badge variant="info">{t('agent.uploading')}</Badge>;
71
+ case FileProcessingStatus.PROCESSING:
72
+ return <Badge variant="info">{t('agent.processing')}</Badge>;
73
+ case FileProcessingStatus.READY:
74
+ return <Badge variant="success">{t('agent.ready')}</Badge>;
75
+ case FileProcessingStatus.ERROR:
76
+ return <Badge variant="destructive">{t('agent.error')}</Badge>;
77
+ default:
78
+ return null;
79
+ }
80
+ };
81
+
82
+ return (
83
+ <div className="p-3">
84
+ {filesArray.length === 0 ? (
85
+ <div className="text-sm text-muted text-center py-8">
86
+ {t('agent.noFilesUploadedYet')}
87
+ </div>
88
+ ) : (
89
+ <div className="space-y-2">
90
+ {filesArray.map((file) => (
91
+ <div
92
+ key={file.id}
93
+ className="flex items-start gap-2 p-2 border border-muted rounded-md"
94
+ >
95
+ <div className="mt-0.5">{getStatusIcon(file.status)}</div>
96
+ <div className="flex-1 min-w-0">
97
+ <div className="flex items-center justify-between gap-2">
98
+ <span className="text-sm font-medium truncate">
99
+ {file.name}
100
+ </span>
101
+ {getStatusBadge(file.status)}
102
+ </div>
103
+ {file.error && (
104
+ <div className="text-xs text-destructive mt-1">
105
+ {file.error}
106
+ </div>
107
+ )}
108
+ </div>
109
+ </div>
110
+ ))}
111
+ </div>
112
+ )}
113
+ </div>
114
+ );
115
+ }
116
+
117
+ // ---------------------------------------------------------------------------
118
+ // Workstreams tab
119
+ // ---------------------------------------------------------------------------
120
+
121
+ interface WorkstreamsTabProps {
122
+ workstreams: WorkstreamInfo[];
123
+ messages: AgentMessage[];
124
+ runId?: string;
125
+ }
126
+
127
+ function WorkstreamsTab({ workstreams }: WorkstreamsTabProps) {
128
+ const { t } = useUITranslation();
129
+ const { client } = useUserSession();
130
+ const toast = useToast();
131
+
132
+ const copyRunId = useCallback((runId: string) => {
133
+ navigator.clipboard.writeText(runId);
134
+ toast({ status: 'success', title: t('agent.runIdCopied'), duration: 2000 });
135
+ }, [toast]);
136
+
137
+ const downloadConversation = useCallback(async (runId: string) => {
138
+ try {
139
+ const url = await getConversationUrl(client, runId);
140
+ if (url) window.open(url, '_blank');
141
+ } catch {
142
+ toast({ status: 'error', title: t('agent.failedToDownload') });
143
+ }
144
+ }, [client, toast]);
145
+
146
+ if (workstreams.length === 0) {
147
+ return (
148
+ <div className="flex flex-col items-center justify-center py-8 text-muted">
149
+ <LayoutListIcon className="size-8 mb-2" />
150
+ <span className="text-sm">{t('agent.noActiveWorkstreams')}</span>
151
+ </div>
152
+ );
153
+ }
154
+
155
+ return (
156
+ <div className="p-3 space-y-2">
157
+ {workstreams.map((ws) => {
158
+ const elapsed = Math.round(ws.elapsed_ms / 1000);
159
+ const remaining = Math.round(ws.remaining_ms / 1000);
160
+ const progress = ws.deadline_ms > 0
161
+ ? Math.min(100, Math.round((ws.elapsed_ms / ws.deadline_ms) * 100))
162
+ : 0;
163
+
164
+ return (
165
+ <div
166
+ key={ws.launch_id}
167
+ className="p-3 border rounded-md space-y-2"
168
+ >
169
+ <div className="flex items-center justify-between">
170
+ <span className="text-sm font-medium truncate">
171
+ {ws.workstream_id}
172
+ </span>
173
+ <Badge variant={ws.status === 'running' ? 'info' : 'attention'}>
174
+ {ws.status === 'running' ? (ws.phase || 'running') : 'canceling'}
175
+ </Badge>
176
+ </div>
177
+ {/* Progress bar */}
178
+ <div className="w-full h-1.5 bg-muted rounded-full overflow-hidden">
179
+ <div
180
+ className="h-full bg-info rounded-full transition-all duration-500"
181
+ style={{ width: `${progress}%` }}
182
+ />
183
+ </div>
184
+ <div className="flex justify-between text-xs text-muted">
185
+ <span>{t('agent.elapsed', { seconds: elapsed })}</span>
186
+ <span>{t('agent.remaining', { seconds: remaining })}</span>
187
+ </div>
188
+ {/* Actions */}
189
+ {ws.child_workflow_run_id && (
190
+ <div className="flex gap-1 pt-1 border-t border-muted">
191
+ <Button
192
+ variant="ghost"
193
+ size="sm"
194
+ className="text-xs h-7 px-2 text-muted hover:text-foreground"
195
+ onClick={() => copyRunId(ws.child_workflow_run_id!)}
196
+ >
197
+ <ClipboardCopyIcon className="size-3 mr-1" />
198
+ {t('agent.copyRunId')}
199
+ </Button>
200
+ <Button
201
+ variant="ghost"
202
+ size="sm"
203
+ className="text-xs h-7 px-2 text-muted hover:text-foreground"
204
+ onClick={() => downloadConversation(ws.child_workflow_run_id!)}
205
+ >
206
+ <DownloadCloudIcon className="size-3 mr-1" />
207
+ {t('agent.download')}
208
+ </Button>
209
+ </div>
210
+ )}
211
+ </div>
212
+ );
213
+ })}
214
+ </div>
215
+ );
216
+ }
217
+
218
+ // ---------------------------------------------------------------------------
219
+ // Right panel tabs
220
+ // ---------------------------------------------------------------------------
221
+
222
+ type RightPanelTab = 'plan' | 'workstreams' | 'documents' | 'uploads' | 'artifacts' | 'payload' | 'conversation';
223
+
224
+ export interface AgentRightPanelProps {
225
+ /** Optional payload content to show as a "Payload" tab */
226
+ payloadContent?: React.ReactNode;
227
+ /** Optional conversation content to show as a "Conversation" tab */
228
+ conversationContent?: React.ReactNode;
229
+ // Plan
230
+ plan?: Plan;
231
+ workstreamStatus?: Map<string, 'pending' | 'in_progress' | 'completed' | 'skipped'>;
232
+ plans?: Array<{ plan: Plan; timestamp: number }>;
233
+ activePlanIndex?: number;
234
+ onChangePlan?: (index: number) => void;
235
+ showPlan?: boolean;
236
+
237
+ // Workstreams
238
+ activeWorkstreams?: WorkstreamInfo[];
239
+ messages?: AgentMessage[];
240
+ hideWorkstreams?: boolean;
241
+
242
+ // Documents
243
+ openDocuments?: OpenDocument[];
244
+ activeDocumentId?: string | null;
245
+ onSelectDocument?: (id: string) => void;
246
+ onCloseDocument?: (id: string) => void;
247
+ docRefreshKey?: number;
248
+ runId?: string;
249
+
250
+ // Uploads
251
+ processingFiles?: Map<string, ConversationFile>;
252
+
253
+ // Artifacts
254
+ /** Show the Artifacts tab (opt-in, default false) */
255
+ showArtifacts?: boolean;
256
+ artifactRefreshKey?: number;
257
+
258
+ // Panel control
259
+ onClose: () => void;
260
+ /** Which tab to auto-activate when panel opens */
261
+ defaultTab?: RightPanelTab;
262
+ }
263
+
264
+ function AgentRightPanelComponent({
265
+ // Plan
266
+ plan,
267
+ workstreamStatus,
268
+ plans = [],
269
+ activePlanIndex = 0,
270
+ onChangePlan,
271
+ showPlan,
272
+
273
+ // Workstreams
274
+ activeWorkstreams = [],
275
+ messages = [],
276
+ hideWorkstreams = false,
277
+
278
+ // Documents
279
+ openDocuments = [],
280
+ activeDocumentId,
281
+ onSelectDocument,
282
+ onCloseDocument,
283
+ docRefreshKey = 0,
284
+ runId,
285
+
286
+ // Uploads
287
+ processingFiles,
288
+
289
+ // Artifacts
290
+ showArtifacts = false,
291
+ artifactRefreshKey = 0,
292
+
293
+ // Payload
294
+ payloadContent,
295
+
296
+ // Conversation
297
+ conversationContent,
298
+
299
+ // Panel
300
+ onClose,
301
+ defaultTab,
302
+ }: AgentRightPanelProps) {
303
+ const { t } = useUITranslation();
304
+ const [activeTab, setActiveTab] = useState<RightPanelTab>(defaultTab || 'plan');
305
+
306
+ // Determine which tabs have content (for badges/indicators)
307
+ const hasWorkstreams = !hideWorkstreams && activeWorkstreams.length > 0;
308
+ const hasDocuments = openDocuments.length > 0;
309
+ const hasUploads = processingFiles ? processingFiles.size > 0 : false;
310
+ const hasPlan = showPlan && plan;
311
+
312
+ const handleCloseDocPanel = useCallback(() => {
313
+ setActiveTab('plan');
314
+ }, []);
315
+
316
+ const conversationTab: TabDefinition = {
317
+ name: 'conversation',
318
+ label: 'Conversation',
319
+ content: conversationContent ? <div className="flex flex-col h-full min-h-0">{conversationContent}</div> : null,
320
+ is_allowed: !!conversationContent,
321
+ };
322
+
323
+ const tabs: TabDefinition[] = [
324
+ ...(conversationContent ? [conversationTab] : []),
325
+ {
326
+ name: 'plan',
327
+ label: hasPlan
328
+ ? <span className="flex items-center gap-1">{t('agent.plan')} <span className="inline-block w-1.5 h-1.5 rounded-full bg-info" /></span>
329
+ : t('agent.plan'),
330
+ content: plan ? (
331
+ <InlineSlidingPlanPanel
332
+ plan={plan}
333
+ workstreamStatus={workstreamStatus || new Map()}
334
+ isOpen={true}
335
+ onClose={onClose}
336
+ plans={plans}
337
+ activePlanIndex={activePlanIndex}
338
+ onChangePlan={onChangePlan}
339
+ />
340
+ ) : (
341
+ <div className="flex flex-col items-center justify-center py-8 text-muted">
342
+ <span className="text-sm">{t('agent.noPlanAvailable')}</span>
343
+ </div>
344
+ ),
345
+ is_allowed: true,
346
+ },
347
+ {
348
+ name: 'workstreams',
349
+ label: hasWorkstreams
350
+ ? <span className="flex items-center gap-1">{t('agent.workstreams')} <span className="inline-flex items-center justify-center px-1.5 py-0.5 text-[10px] rounded-full bg-info text-info">{activeWorkstreams.length}</span></span>
351
+ : t('agent.workstreams'),
352
+ content: <WorkstreamsTab workstreams={activeWorkstreams} messages={messages} runId={runId} />,
353
+ is_allowed: !hideWorkstreams,
354
+ },
355
+ {
356
+ name: 'documents',
357
+ label: hasDocuments
358
+ ? <span className="flex items-center gap-1">{t('agent.documents')} <span className="inline-flex items-center justify-center px-1.5 py-0.5 text-[10px] rounded-full bg-info text-info">{openDocuments.length}</span></span>
359
+ : t('agent.documents'),
360
+ content: openDocuments.length > 0 && onSelectDocument && onCloseDocument ? (
361
+ <DocumentPanel
362
+ isOpen={true}
363
+ onClose={handleCloseDocPanel}
364
+ documents={openDocuments}
365
+ activeDocumentId={activeDocumentId ?? null}
366
+ onSelectDocument={onSelectDocument}
367
+ onCloseDocument={onCloseDocument}
368
+ refreshKey={docRefreshKey}
369
+ runId={runId}
370
+ />
371
+ ) : (
372
+ <div className="flex flex-col items-center justify-center py-8 text-muted">
373
+ <FileTextIcon className="size-8 mb-2" />
374
+ <span className="text-sm">{t('agent.noDocumentsOpen')}</span>
375
+ </div>
376
+ ),
377
+ is_allowed: true,
378
+ },
379
+ {
380
+ name: 'uploads',
381
+ label: hasUploads
382
+ ? <span className="flex items-center gap-1">{t('agent.uploads')} <span className="inline-block w-1.5 h-1.5 rounded-full bg-info" /></span>
383
+ : t('agent.uploads'),
384
+ content: <UploadedDocumentsTab files={processingFiles} />,
385
+ is_allowed: true,
386
+ },
387
+ {
388
+ name: 'artifacts',
389
+ label: t('agent.artifacts'),
390
+ content: <ArtifactsTab runId={runId} refreshKey={artifactRefreshKey} />,
391
+ is_allowed: showArtifacts,
392
+ },
393
+ {
394
+ name: 'payload',
395
+ label: t('agent.payload'),
396
+ content: payloadContent ? <div className="overflow-y-auto">{payloadContent}</div> : null,
397
+ is_allowed: !!payloadContent,
398
+ },
399
+ ];
400
+
401
+ return (
402
+ <Tabs
403
+ tabs={tabs}
404
+ current={activeTab}
405
+ onTabChange={(name) => setActiveTab(name as RightPanelTab)}
406
+ fullHeight
407
+ className="px-0"
408
+ >
409
+ <div className="flex items-center border-b shrink-0 px-1">
410
+ <div className="flex-1 overflow-x-auto">
411
+ <TabsBar className="border-b-0 mb-0 min-w-max" />
412
+ </div>
413
+ {!conversationContent && (
414
+ <Button variant="ghost" size="sm" className="shrink-0 ml-1" onClick={onClose}>
415
+ <XIcon className="size-4" />
416
+ </Button>
417
+ )}
418
+ </div>
419
+ <TabsPanel className="pt-0" />
420
+ </Tabs>
421
+ );
422
+ }
423
+
424
+ export const AgentRightPanel = React.memo(AgentRightPanelComponent);