@vertesia/ui 1.0.0-dev.20260128.144200 → 1.0.0-dev.20260225.024852Z

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 (500) hide show
  1. package/lib/esm/core/components/InputList.js +1 -1
  2. package/lib/esm/core/components/InputList.js.map +1 -1
  3. package/lib/esm/core/components/Overlay.js +1 -1
  4. package/lib/esm/core/components/Overlay.js.map +1 -1
  5. package/lib/esm/core/components/SidePanel.js +8 -2
  6. package/lib/esm/core/components/SidePanel.js.map +1 -1
  7. package/lib/esm/core/components/Switch.js +1 -1
  8. package/lib/esm/core/components/Switch.js.map +1 -1
  9. package/lib/esm/core/components/index.js +0 -8
  10. package/lib/esm/core/components/index.js.map +1 -1
  11. package/lib/esm/core/components/shadcn/MessageBox.js.map +1 -0
  12. package/lib/esm/core/components/shadcn/Panel.js +13 -0
  13. package/lib/esm/core/components/shadcn/Panel.js.map +1 -0
  14. package/lib/esm/core/components/{Badge.js → shadcn/badge.js} +2 -2
  15. package/lib/esm/core/components/shadcn/badge.js.map +1 -0
  16. package/lib/esm/core/components/shadcn/command.js +1 -1
  17. package/lib/esm/core/components/shadcn/command.js.map +1 -1
  18. package/lib/esm/core/components/shadcn/filters/filterBar.js +73 -83
  19. package/lib/esm/core/components/shadcn/filters/filterBar.js.map +1 -1
  20. package/lib/esm/core/components/shadcn/index.js +4 -2
  21. package/lib/esm/core/components/shadcn/index.js.map +1 -1
  22. package/lib/esm/core/components/shadcn/modal/ConfirmModal.js +10 -0
  23. package/lib/esm/core/components/shadcn/modal/ConfirmModal.js.map +1 -0
  24. package/lib/esm/core/components/{DeleteModal.js → shadcn/modal/DeleteModal.js} +1 -1
  25. package/lib/esm/core/components/shadcn/modal/DeleteModal.js.map +1 -0
  26. package/lib/esm/core/components/shadcn/{dialog.js → modal/dialog.js} +19 -15
  27. package/lib/esm/core/components/shadcn/modal/dialog.js.map +1 -0
  28. package/lib/esm/core/components/shadcn/modal/index.js +4 -0
  29. package/lib/esm/core/components/shadcn/modal/index.js.map +1 -0
  30. package/lib/esm/core/components/shadcn/popover.js +4 -2
  31. package/lib/esm/core/components/shadcn/popover.js.map +1 -1
  32. package/lib/esm/core/components/shadcn/selectBox.js +19 -15
  33. package/lib/esm/core/components/shadcn/selectBox.js.map +1 -1
  34. package/lib/esm/core/components/shadcn/tabs.js +16 -14
  35. package/lib/esm/core/components/shadcn/tabs.js.map +1 -1
  36. package/lib/esm/core/components/shadcn/textarea.js +30 -2
  37. package/lib/esm/core/components/shadcn/textarea.js.map +1 -1
  38. package/lib/esm/core/components/shadcn/tooltip.js +5 -1
  39. package/lib/esm/core/components/shadcn/tooltip.js.map +1 -1
  40. package/lib/esm/features/agent/PayloadBuilder.js +45 -0
  41. package/lib/esm/features/agent/PayloadBuilder.js.map +1 -1
  42. package/lib/esm/features/agent/chat/AgentChart.js +12 -232
  43. package/lib/esm/features/agent/chat/AgentChart.js.map +1 -1
  44. package/lib/esm/features/agent/chat/AskUserWidget.js +2 -1
  45. package/lib/esm/features/agent/chat/AskUserWidget.js.map +1 -1
  46. package/lib/esm/features/agent/chat/DocumentPanel.js +46 -0
  47. package/lib/esm/features/agent/chat/DocumentPanel.js.map +1 -0
  48. package/lib/esm/features/agent/chat/DocumentTabBar.js +17 -0
  49. package/lib/esm/features/agent/chat/DocumentTabBar.js.map +1 -0
  50. package/lib/esm/features/agent/chat/ModernAgentConversation.js +159 -402
  51. package/lib/esm/features/agent/chat/ModernAgentConversation.js.map +1 -1
  52. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +99 -57
  53. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
  54. package/lib/esm/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js +4 -4
  55. package/lib/esm/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js.map +1 -1
  56. package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js +4 -4
  57. package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js.map +1 -1
  58. package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js +3 -3
  59. package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js.map +1 -1
  60. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js +25 -22
  61. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js.map +1 -1
  62. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js +110 -55
  63. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
  64. package/lib/esm/features/agent/chat/ModernAgentOutput/StreamingMessage.js +2 -2
  65. package/lib/esm/features/agent/chat/ModernAgentOutput/StreamingMessage.js.map +1 -1
  66. package/lib/esm/features/agent/chat/ModernAgentOutput/ToolCallGroup.js +146 -55
  67. package/lib/esm/features/agent/chat/ModernAgentOutput/ToolCallGroup.js.map +1 -1
  68. package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js +5 -6
  69. package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js.map +1 -1
  70. package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js +110 -2
  71. package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js.map +1 -1
  72. package/lib/esm/features/agent/chat/SkillWidgetProvider.js +28 -15
  73. package/lib/esm/features/agent/chat/SkillWidgetProvider.js.map +1 -1
  74. package/lib/esm/features/agent/chat/hooks/useAgentPlans.js +146 -0
  75. package/lib/esm/features/agent/chat/hooks/useAgentPlans.js.map +1 -0
  76. package/lib/esm/features/agent/chat/hooks/useAgentStream.js +180 -0
  77. package/lib/esm/features/agent/chat/hooks/useAgentStream.js.map +1 -0
  78. package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js +100 -0
  79. package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js.map +1 -0
  80. package/lib/esm/features/agent/chat/hooks/useFileProcessing.js +90 -0
  81. package/lib/esm/features/agent/chat/hooks/useFileProcessing.js.map +1 -0
  82. package/lib/esm/features/agent/chat/index.js +6 -5
  83. package/lib/esm/features/agent/chat/index.js.map +1 -1
  84. package/lib/esm/features/agent/chat/types/document.js +2 -0
  85. package/lib/esm/features/agent/chat/types/document.js.map +1 -0
  86. package/lib/esm/features/agent/index.js +0 -2
  87. package/lib/esm/features/agent/index.js.map +1 -1
  88. package/lib/esm/features/store/collections/BrowseCollectionView.js +4 -6
  89. package/lib/esm/features/store/collections/BrowseCollectionView.js.map +1 -1
  90. package/lib/esm/features/store/collections/CreateCollection.js +4 -4
  91. package/lib/esm/features/store/collections/CreateCollection.js.map +1 -1
  92. package/lib/esm/features/store/collections/EditCollectionView.js +1 -1
  93. package/lib/esm/features/store/collections/EditCollectionView.js.map +1 -1
  94. package/lib/esm/features/store/objects/DocumentSearchResults.js +5 -5
  95. package/lib/esm/features/store/objects/DocumentSearchResults.js.map +1 -1
  96. package/lib/esm/features/store/objects/ExportPropertiesModal.js +3 -3
  97. package/lib/esm/features/store/objects/ExportPropertiesModal.js.map +1 -1
  98. package/lib/esm/features/store/objects/components/ContentOverview.js +19 -120
  99. package/lib/esm/features/store/objects/components/ContentOverview.js.map +1 -1
  100. package/lib/esm/features/store/objects/components/PropertiesEditorModal.js +1 -1
  101. package/lib/esm/features/store/objects/components/PropertiesEditorModal.js.map +1 -1
  102. package/lib/esm/features/store/objects/components/SelectDocumentModal.js +2 -2
  103. package/lib/esm/features/store/objects/components/SelectDocumentModal.js.map +1 -1
  104. package/lib/esm/features/store/objects/components/VectorSearchWidget.js +1 -1
  105. package/lib/esm/features/store/objects/components/VectorSearchWidget.js.map +1 -1
  106. package/lib/esm/features/store/objects/components/index.js +1 -1
  107. package/lib/esm/features/store/objects/components/index.js.map +1 -1
  108. package/lib/esm/features/store/objects/components/useDownloadFile.js +192 -0
  109. package/lib/esm/features/store/objects/components/useDownloadFile.js.map +1 -0
  110. package/lib/esm/features/store/objects/search/DocumentSearchContext.js +1 -2
  111. package/lib/esm/features/store/objects/search/DocumentSearchContext.js.map +1 -1
  112. package/lib/esm/features/store/objects/selection/SelectionActions.js +5 -8
  113. package/lib/esm/features/store/objects/selection/SelectionActions.js.map +1 -1
  114. package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js +4 -4
  115. package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js.map +1 -1
  116. package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js +2 -2
  117. package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js.map +1 -1
  118. package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js +1 -1
  119. package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js.map +1 -1
  120. package/lib/esm/features/store/objects/selection/actions/StartWorkflowComponent.js +3 -3
  121. package/lib/esm/features/store/objects/selection/actions/StartWorkflowComponent.js.map +1 -1
  122. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js +13 -13
  123. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js.map +1 -1
  124. package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js +15 -8
  125. package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js.map +1 -1
  126. package/lib/esm/features/store/types/ObjectSchemaEditor.js +6 -5
  127. package/lib/esm/features/store/types/ObjectSchemaEditor.js.map +1 -1
  128. package/lib/esm/features/store/types/SelectContentType.js +3 -3
  129. package/lib/esm/features/store/types/SelectContentType.js.map +1 -1
  130. package/lib/esm/features/store/types/SelectContentTypeModal.js +5 -4
  131. package/lib/esm/features/store/types/SelectContentTypeModal.js.map +1 -1
  132. package/lib/esm/features/store/types/TableLayoutEditor.js +4 -4
  133. package/lib/esm/features/store/types/TableLayoutEditor.js.map +1 -1
  134. package/lib/esm/features/user/UserInfo.js +73 -9
  135. package/lib/esm/features/user/UserInfo.js.map +1 -1
  136. package/lib/esm/features/utils/print.js +0 -1
  137. package/lib/esm/features/utils/print.js.map +1 -1
  138. package/lib/esm/layout/AppLayout.js +3 -4
  139. package/lib/esm/layout/AppLayout.js.map +1 -1
  140. package/lib/esm/layout/Sidebar.js +5 -5
  141. package/lib/esm/layout/Sidebar.js.map +1 -1
  142. package/lib/esm/router/HistoryNavigator.js +7 -1
  143. package/lib/esm/router/HistoryNavigator.js.map +1 -1
  144. package/lib/esm/router/Nav.js +2 -2
  145. package/lib/esm/router/Nav.js.map +1 -1
  146. package/lib/esm/session/UserSession.js +35 -9
  147. package/lib/esm/session/UserSession.js.map +1 -1
  148. package/lib/esm/session/UserSessionProvider.js +3 -2
  149. package/lib/esm/session/UserSessionProvider.js.map +1 -1
  150. package/lib/esm/shell/apps/AppProjectSelector.js +2 -2
  151. package/lib/esm/shell/apps/AppProjectSelector.js.map +1 -1
  152. package/lib/esm/shell/apps/StandaloneApp.js +2 -2
  153. package/lib/esm/shell/apps/StandaloneApp.js.map +1 -1
  154. package/lib/esm/shell/login/InviteAcceptModal.js +2 -2
  155. package/lib/esm/shell/login/InviteAcceptModal.js.map +1 -1
  156. package/lib/esm/shell/login/SignInModal.js +1 -1
  157. package/lib/esm/shell/login/SignInModal.js.map +1 -1
  158. package/lib/esm/shell/login/SignupForm.js +2 -2
  159. package/lib/esm/shell/login/SignupForm.js.map +1 -1
  160. package/lib/esm/shell/login/UserInfo.js +2 -2
  161. package/lib/esm/shell/login/UserInfo.js.map +1 -1
  162. package/lib/esm/widgets/json-view/JSONCode.js +1 -1
  163. package/lib/esm/widgets/json-view/JSONCode.js.map +1 -1
  164. package/lib/esm/widgets/json-view/JSONDisplay.js +1 -1
  165. package/lib/esm/widgets/json-view/JSONDisplay.js.map +1 -1
  166. package/lib/esm/widgets/markdown/ArtifactContentRenderer.js +84 -13
  167. package/lib/esm/widgets/markdown/ArtifactContentRenderer.js.map +1 -1
  168. package/lib/esm/widgets/markdown/MarkdownFigure.js +40 -0
  169. package/lib/esm/widgets/markdown/MarkdownFigure.js.map +1 -0
  170. package/lib/esm/widgets/markdown/MarkdownRenderer.js +42 -7
  171. package/lib/esm/widgets/markdown/MarkdownRenderer.js.map +1 -1
  172. package/lib/esm/widgets/markdown/MermaidDiagram.js +80 -5
  173. package/lib/esm/widgets/markdown/MermaidDiagram.js.map +1 -1
  174. package/lib/esm/widgets/markdown/codeBlockHandlers.js +33 -33
  175. package/lib/esm/widgets/markdown/codeBlockHandlers.js.map +1 -1
  176. package/lib/esm/widgets/markdown/codeBlockHandlers.test.js +2 -29
  177. package/lib/esm/widgets/markdown/codeBlockHandlers.test.js.map +1 -1
  178. package/lib/esm/widgets/markdown/index.js +1 -0
  179. package/lib/esm/widgets/markdown/index.js.map +1 -1
  180. package/lib/esm/widgets/markdown/normalizeCustomSchemeLinks.js +77 -0
  181. package/lib/esm/widgets/markdown/normalizeCustomSchemeLinks.js.map +1 -0
  182. package/lib/esm/widgets/markdown/normalizeDirectives.js +45 -0
  183. package/lib/esm/widgets/markdown/normalizeDirectives.js.map +1 -0
  184. package/lib/esm/widgets/markdown/remarkDirectiveHandler.js +96 -0
  185. package/lib/esm/widgets/markdown/remarkDirectiveHandler.js.map +1 -0
  186. package/lib/esm/widgets/monacoEditor/MonacoEditor.js +8 -14
  187. package/lib/esm/widgets/monacoEditor/MonacoEditor.js.map +1 -1
  188. package/lib/esm/widgets/schema-editor/ManagedSchema.js.map +1 -1
  189. package/lib/esm/widgets/schema-editor/editor/PropertyEditor.js +3 -3
  190. package/lib/esm/widgets/schema-editor/editor/PropertyEditor.js.map +1 -1
  191. package/lib/esm/widgets/schema-editor/json-schema4-utils.js.map +1 -1
  192. package/lib/tsconfig.tsbuildinfo +1 -1
  193. package/lib/types/core/components/SidePanel.d.ts +4 -1
  194. package/lib/types/core/components/SidePanel.d.ts.map +1 -1
  195. package/lib/types/core/components/index.d.ts +0 -8
  196. package/lib/types/core/components/index.d.ts.map +1 -1
  197. package/lib/types/core/components/shadcn/MessageBox.d.ts.map +1 -0
  198. package/lib/types/core/components/{Panel.d.ts → shadcn/Panel.d.ts} +3 -1
  199. package/lib/types/core/components/shadcn/Panel.d.ts.map +1 -0
  200. package/lib/types/core/components/{Badge.d.ts → shadcn/badge.d.ts} +4 -4
  201. package/lib/types/core/components/shadcn/badge.d.ts.map +1 -0
  202. package/lib/types/core/components/shadcn/button.d.ts +1 -1
  203. package/lib/types/core/components/shadcn/filters/filterBar.d.ts.map +1 -1
  204. package/lib/types/core/components/shadcn/index.d.ts +4 -2
  205. package/lib/types/core/components/shadcn/index.d.ts.map +1 -1
  206. package/lib/types/core/components/shadcn/input.d.ts +1 -1
  207. package/lib/types/core/components/shadcn/modal/ConfirmModal.d.ts.map +1 -0
  208. package/lib/types/core/components/shadcn/modal/DeleteModal.d.ts.map +1 -0
  209. package/lib/types/core/components/shadcn/{dialog.d.ts → modal/dialog.d.ts} +7 -4
  210. package/lib/types/core/components/shadcn/modal/dialog.d.ts.map +1 -0
  211. package/lib/types/core/components/shadcn/modal/index.d.ts +4 -0
  212. package/lib/types/core/components/shadcn/modal/index.d.ts.map +1 -0
  213. package/lib/types/core/components/shadcn/popover.d.ts.map +1 -1
  214. package/lib/types/core/components/shadcn/selectBox.d.ts +9 -5
  215. package/lib/types/core/components/shadcn/selectBox.d.ts.map +1 -1
  216. package/lib/types/core/components/shadcn/tabs.d.ts +14 -5
  217. package/lib/types/core/components/shadcn/tabs.d.ts.map +1 -1
  218. package/lib/types/core/components/shadcn/textarea.d.ts +6 -2
  219. package/lib/types/core/components/shadcn/textarea.d.ts.map +1 -1
  220. package/lib/types/core/components/shadcn/tooltip.d.ts.map +1 -1
  221. package/lib/types/features/agent/PayloadBuilder.d.ts +22 -4
  222. package/lib/types/features/agent/PayloadBuilder.d.ts.map +1 -1
  223. package/lib/types/features/agent/chat/AgentChart.d.ts +3 -44
  224. package/lib/types/features/agent/chat/AgentChart.d.ts.map +1 -1
  225. package/lib/types/features/agent/chat/AskUserWidget.d.ts.map +1 -1
  226. package/lib/types/features/agent/chat/DocumentPanel.d.ts +16 -0
  227. package/lib/types/features/agent/chat/DocumentPanel.d.ts.map +1 -0
  228. package/lib/types/features/agent/chat/DocumentTabBar.d.ts +10 -0
  229. package/lib/types/features/agent/chat/DocumentTabBar.d.ts.map +1 -0
  230. package/lib/types/features/agent/chat/ModernAgentConversation.d.ts +69 -1
  231. package/lib/types/features/agent/chat/ModernAgentConversation.d.ts.map +1 -1
  232. package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts +36 -1
  233. package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
  234. package/lib/types/features/agent/chat/ModernAgentOutput/BatchProgressPanel.d.ts +18 -2
  235. package/lib/types/features/agent/chat/ModernAgentOutput/BatchProgressPanel.d.ts.map +1 -1
  236. package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts +4 -7
  237. package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts.map +1 -1
  238. package/lib/types/features/agent/chat/ModernAgentOutput/MessageInput.d.ts +2 -1
  239. package/lib/types/features/agent/chat/ModernAgentOutput/MessageInput.d.ts.map +1 -1
  240. package/lib/types/features/agent/chat/ModernAgentOutput/MessageItem.d.ts +35 -7
  241. package/lib/types/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
  242. package/lib/types/features/agent/chat/ModernAgentOutput/StreamingMessage.d.ts +11 -1
  243. package/lib/types/features/agent/chat/ModernAgentOutput/StreamingMessage.d.ts.map +1 -1
  244. package/lib/types/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts +20 -2
  245. package/lib/types/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts.map +1 -1
  246. package/lib/types/features/agent/chat/ModernAgentOutput/WorkstreamTabs.d.ts.map +1 -1
  247. package/lib/types/features/agent/chat/ModernAgentOutput/utils.d.ts +18 -1
  248. package/lib/types/features/agent/chat/ModernAgentOutput/utils.d.ts.map +1 -1
  249. package/lib/types/features/agent/chat/SkillWidgetProvider.d.ts.map +1 -1
  250. package/lib/types/features/agent/chat/hooks/useAgentPlans.d.ts +22 -0
  251. package/lib/types/features/agent/chat/hooks/useAgentPlans.d.ts.map +1 -0
  252. package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts +42 -0
  253. package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts.map +1 -0
  254. package/lib/types/features/agent/chat/hooks/useDocumentPanel.d.ts +22 -0
  255. package/lib/types/features/agent/chat/hooks/useDocumentPanel.d.ts.map +1 -0
  256. package/lib/types/features/agent/chat/hooks/useFileProcessing.d.ts +27 -0
  257. package/lib/types/features/agent/chat/hooks/useFileProcessing.d.ts.map +1 -0
  258. package/lib/types/features/agent/chat/index.d.ts +12 -8
  259. package/lib/types/features/agent/chat/index.d.ts.map +1 -1
  260. package/lib/types/features/agent/chat/types/document.d.ts +5 -0
  261. package/lib/types/features/agent/chat/types/document.d.ts.map +1 -0
  262. package/lib/types/features/agent/index.d.ts +0 -2
  263. package/lib/types/features/agent/index.d.ts.map +1 -1
  264. package/lib/types/features/store/collections/BrowseCollectionView.d.ts.map +1 -1
  265. package/lib/types/features/store/objects/ExportPropertiesModal.d.ts.map +1 -1
  266. package/lib/types/features/store/objects/components/ContentOverview.d.ts.map +1 -1
  267. package/lib/types/features/store/objects/components/PropertiesEditorModal.d.ts.map +1 -1
  268. package/lib/types/features/store/objects/components/index.d.ts +1 -1
  269. package/lib/types/features/store/objects/components/index.d.ts.map +1 -1
  270. package/lib/types/features/store/objects/components/useDownloadFile.d.ts +35 -0
  271. package/lib/types/features/store/objects/components/useDownloadFile.d.ts.map +1 -0
  272. package/lib/types/features/store/objects/search/DocumentSearchContext.d.ts.map +1 -1
  273. package/lib/types/features/store/objects/selection/SelectionActions.d.ts +1 -1
  274. package/lib/types/features/store/objects/selection/SelectionActions.d.ts.map +1 -1
  275. package/lib/types/features/store/objects/selection/actions/ChangeTypeAction.d.ts.map +1 -1
  276. package/lib/types/features/store/objects/selection/actions/ExportPropertiesAction.d.ts.map +1 -1
  277. package/lib/types/features/store/objects/upload/useSmartFileUploadProcessing.d.ts.map +1 -1
  278. package/lib/types/features/store/types/ObjectSchemaEditor.d.ts +2 -1
  279. package/lib/types/features/store/types/ObjectSchemaEditor.d.ts.map +1 -1
  280. package/lib/types/features/store/types/SelectContentTypeModal.d.ts +1 -1
  281. package/lib/types/features/store/types/SelectContentTypeModal.d.ts.map +1 -1
  282. package/lib/types/features/store/types/TableLayoutEditor.d.ts +2 -1
  283. package/lib/types/features/store/types/TableLayoutEditor.d.ts.map +1 -1
  284. package/lib/types/features/user/UserInfo.d.ts +12 -1
  285. package/lib/types/features/user/UserInfo.d.ts.map +1 -1
  286. package/lib/types/features/utils/print.d.ts.map +1 -1
  287. package/lib/types/layout/AppLayout.d.ts.map +1 -1
  288. package/lib/types/layout/Sidebar.d.ts +4 -2
  289. package/lib/types/layout/Sidebar.d.ts.map +1 -1
  290. package/lib/types/router/HistoryNavigator.d.ts.map +1 -1
  291. package/lib/types/router/Nav.d.ts +6 -1
  292. package/lib/types/router/Nav.d.ts.map +1 -1
  293. package/lib/types/session/UserSession.d.ts.map +1 -1
  294. package/lib/types/session/UserSessionProvider.d.ts +1 -0
  295. package/lib/types/session/UserSessionProvider.d.ts.map +1 -1
  296. package/lib/types/widgets/json-view/JSONCode.d.ts.map +1 -1
  297. package/lib/types/widgets/markdown/ArtifactContentRenderer.d.ts +10 -1
  298. package/lib/types/widgets/markdown/ArtifactContentRenderer.d.ts.map +1 -1
  299. package/lib/types/widgets/markdown/MarkdownFigure.d.ts +15 -0
  300. package/lib/types/widgets/markdown/MarkdownFigure.d.ts.map +1 -0
  301. package/lib/types/widgets/markdown/MarkdownRenderer.d.ts.map +1 -1
  302. package/lib/types/widgets/markdown/MermaidDiagram.d.ts.map +1 -1
  303. package/lib/types/widgets/markdown/codeBlockHandlers.d.ts +5 -2
  304. package/lib/types/widgets/markdown/codeBlockHandlers.d.ts.map +1 -1
  305. package/lib/types/widgets/markdown/index.d.ts +1 -0
  306. package/lib/types/widgets/markdown/index.d.ts.map +1 -1
  307. package/lib/types/widgets/markdown/normalizeCustomSchemeLinks.d.ts +9 -0
  308. package/lib/types/widgets/markdown/normalizeCustomSchemeLinks.d.ts.map +1 -0
  309. package/lib/types/widgets/markdown/normalizeDirectives.d.ts +20 -0
  310. package/lib/types/widgets/markdown/normalizeDirectives.d.ts.map +1 -0
  311. package/lib/types/widgets/markdown/remarkDirectiveHandler.d.ts +2 -0
  312. package/lib/types/widgets/markdown/remarkDirectiveHandler.d.ts.map +1 -0
  313. package/lib/types/widgets/monacoEditor/MonacoEditor.d.ts +1 -3
  314. package/lib/types/widgets/monacoEditor/MonacoEditor.d.ts.map +1 -1
  315. package/lib/types/widgets/schema-editor/ManagedSchema.d.ts +1 -1
  316. package/lib/types/widgets/schema-editor/ManagedSchema.d.ts.map +1 -1
  317. package/lib/vertesia-ui-core.js +1 -1
  318. package/lib/vertesia-ui-core.js.map +1 -1
  319. package/lib/vertesia-ui-features.js +1 -1
  320. package/lib/vertesia-ui-features.js.map +1 -1
  321. package/lib/vertesia-ui-layout.js +1 -1
  322. package/lib/vertesia-ui-layout.js.map +1 -1
  323. package/lib/vertesia-ui-router.js +1 -1
  324. package/lib/vertesia-ui-router.js.map +1 -1
  325. package/lib/vertesia-ui-session.js +1 -1
  326. package/lib/vertesia-ui-session.js.map +1 -1
  327. package/lib/vertesia-ui-shell.js +1 -1
  328. package/lib/vertesia-ui-shell.js.map +1 -1
  329. package/lib/vertesia-ui-widgets.js +1 -1
  330. package/lib/vertesia-ui-widgets.js.map +1 -1
  331. package/package.json +14 -10
  332. package/src/core/components/InputList.tsx +1 -1
  333. package/src/core/components/Overlay.tsx +1 -1
  334. package/src/core/components/SidePanel.tsx +29 -15
  335. package/src/core/components/Switch.tsx +1 -1
  336. package/src/core/components/index.ts +0 -8
  337. package/src/core/components/shadcn/Panel.tsx +50 -0
  338. package/src/core/components/{Badge.tsx → shadcn/badge.tsx} +3 -3
  339. package/src/core/components/shadcn/command.tsx +1 -1
  340. package/src/core/components/shadcn/filters/filterBar.tsx +76 -87
  341. package/src/core/components/shadcn/index.ts +5 -3
  342. package/src/core/components/{ConfirmModal.tsx → shadcn/modal/ConfirmModal.tsx} +8 -8
  343. package/src/core/components/{DeleteModal.tsx → shadcn/modal/DeleteModal.tsx} +1 -1
  344. package/src/core/components/shadcn/{dialog.tsx → modal/dialog.tsx} +43 -32
  345. package/src/core/components/shadcn/modal/index.ts +3 -0
  346. package/src/core/components/shadcn/popover.tsx +4 -2
  347. package/src/core/components/shadcn/selectBox.tsx +71 -52
  348. package/src/core/components/shadcn/tabs.tsx +36 -19
  349. package/src/core/components/shadcn/textarea.tsx +43 -2
  350. package/src/core/components/shadcn/tooltip.tsx +23 -17
  351. package/src/features/agent/PayloadBuilder.tsx +70 -9
  352. package/src/features/agent/chat/AgentChart.tsx +46 -678
  353. package/src/features/agent/chat/AskUserWidget.tsx +4 -3
  354. package/src/features/agent/chat/DocumentPanel.tsx +120 -0
  355. package/src/features/agent/chat/DocumentTabBar.tsx +49 -0
  356. package/src/features/agent/chat/ModernAgentConversation.tsx +403 -549
  357. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +162 -55
  358. package/src/features/agent/chat/ModernAgentOutput/BatchProgressPanel.tsx +40 -10
  359. package/src/features/agent/chat/ModernAgentOutput/Header.tsx +12 -16
  360. package/src/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.tsx +3 -3
  361. package/src/features/agent/chat/ModernAgentOutput/MessageInput.tsx +68 -75
  362. package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +206 -94
  363. package/src/features/agent/chat/ModernAgentOutput/StreamingMessage.tsx +22 -5
  364. package/src/features/agent/chat/ModernAgentOutput/ToolCallGroup.tsx +295 -113
  365. package/src/features/agent/chat/ModernAgentOutput/WorkstreamTabs.tsx +11 -8
  366. package/src/features/agent/chat/ModernAgentOutput/utils.ts +133 -4
  367. package/src/features/agent/chat/SkillWidgetProvider.tsx +32 -15
  368. package/src/features/agent/chat/hooks/useAgentPlans.ts +190 -0
  369. package/src/features/agent/chat/hooks/useAgentStream.ts +239 -0
  370. package/src/features/agent/chat/hooks/useDocumentPanel.ts +118 -0
  371. package/src/features/agent/chat/hooks/useFileProcessing.ts +126 -0
  372. package/src/features/agent/chat/index.ts +18 -17
  373. package/src/features/agent/chat/types/document.ts +4 -0
  374. package/src/features/agent/index.ts +0 -2
  375. package/src/features/store/collections/BrowseCollectionView.tsx +5 -8
  376. package/src/features/store/collections/CreateCollection.tsx +8 -8
  377. package/src/features/store/collections/EditCollectionView.tsx +1 -1
  378. package/src/features/store/objects/DocumentSearchResults.tsx +9 -13
  379. package/src/features/store/objects/ExportPropertiesModal.tsx +9 -7
  380. package/src/features/store/objects/components/ContentOverview.tsx +29 -155
  381. package/src/features/store/objects/components/PropertiesEditorModal.tsx +0 -1
  382. package/src/features/store/objects/components/SelectDocumentModal.tsx +6 -6
  383. package/src/features/store/objects/components/VectorSearchWidget.tsx +2 -2
  384. package/src/features/store/objects/components/index.ts +1 -1
  385. package/src/features/store/objects/components/useDownloadFile.ts +237 -0
  386. package/src/features/store/objects/search/DocumentSearchContext.ts +1 -2
  387. package/src/features/store/objects/selection/SelectionActions.tsx +0 -4
  388. package/src/features/store/objects/selection/actions/AddToCollectionAction.tsx +13 -13
  389. package/src/features/store/objects/selection/actions/ChangeTypeAction.tsx +2 -6
  390. package/src/features/store/objects/selection/actions/ExportPropertiesAction.tsx +1 -3
  391. package/src/features/store/objects/selection/actions/StartWorkflowComponent.tsx +8 -8
  392. package/src/features/store/objects/upload/DocumentUploadModal.tsx +25 -25
  393. package/src/features/store/objects/upload/useSmartFileUploadProcessing.ts +16 -10
  394. package/src/features/store/types/ObjectSchemaEditor.tsx +32 -29
  395. package/src/features/store/types/SelectContentType.tsx +3 -3
  396. package/src/features/store/types/SelectContentTypeModal.tsx +17 -30
  397. package/src/features/store/types/TableLayoutEditor.tsx +14 -18
  398. package/src/features/user/UserInfo.tsx +176 -10
  399. package/src/features/utils/print.ts +0 -1
  400. package/src/layout/AppLayout.tsx +16 -44
  401. package/src/layout/Sidebar.tsx +7 -5
  402. package/src/router/HistoryNavigator.ts +9 -1
  403. package/src/router/Nav.tsx +7 -2
  404. package/src/session/UserSession.ts +38 -9
  405. package/src/session/UserSessionProvider.tsx +3 -2
  406. package/src/shell/apps/AppProjectSelector.tsx +2 -2
  407. package/src/shell/apps/StandaloneApp.tsx +3 -3
  408. package/src/shell/login/InviteAcceptModal.tsx +6 -6
  409. package/src/shell/login/SignInModal.tsx +1 -1
  410. package/src/shell/login/SignupForm.tsx +3 -3
  411. package/src/shell/login/UserInfo.tsx +5 -5
  412. package/src/widgets/json-view/JSONCode.tsx +1 -3
  413. package/src/widgets/json-view/JSONDisplay.tsx +1 -1
  414. package/src/widgets/markdown/ArtifactContentRenderer.tsx +115 -14
  415. package/src/widgets/markdown/MarkdownFigure.tsx +100 -0
  416. package/src/widgets/markdown/MarkdownRenderer.tsx +62 -9
  417. package/src/widgets/markdown/MermaidDiagram.tsx +97 -5
  418. package/src/widgets/markdown/codeBlockHandlers.test.tsx +3 -34
  419. package/src/widgets/markdown/codeBlockHandlers.tsx +47 -42
  420. package/src/widgets/markdown/index.ts +1 -0
  421. package/src/widgets/markdown/markdown.css +192 -0
  422. package/src/widgets/markdown/normalizeCustomSchemeLinks.test.ts +86 -0
  423. package/src/widgets/markdown/normalizeCustomSchemeLinks.ts +91 -0
  424. package/src/widgets/markdown/normalizeDirectives.ts +50 -0
  425. package/src/widgets/markdown/remarkDirectiveHandler.ts +119 -0
  426. package/src/widgets/monacoEditor/MonacoEditor.tsx +8 -22
  427. package/src/widgets/schema-editor/ManagedSchema.ts +1 -1
  428. package/src/widgets/schema-editor/editor/PropertyEditor.tsx +5 -5
  429. package/src/widgets/schema-editor/json-schema4-utils.ts +1 -1
  430. package/lib/esm/core/components/Badge.js.map +0 -1
  431. package/lib/esm/core/components/Button.js +0 -32
  432. package/lib/esm/core/components/Button.js.map +0 -1
  433. package/lib/esm/core/components/ConfirmModal.js +0 -10
  434. package/lib/esm/core/components/ConfirmModal.js.map +0 -1
  435. package/lib/esm/core/components/DeleteModal.js.map +0 -1
  436. package/lib/esm/core/components/MessageBox.js.map +0 -1
  437. package/lib/esm/core/components/Modal.js +0 -26
  438. package/lib/esm/core/components/Modal.js.map +0 -1
  439. package/lib/esm/core/components/Panel.js +0 -8
  440. package/lib/esm/core/components/Panel.js.map +0 -1
  441. package/lib/esm/core/components/SelectBox.js +0 -67
  442. package/lib/esm/core/components/SelectBox.js.map +0 -1
  443. package/lib/esm/core/components/shadcn/dialog.js.map +0 -1
  444. package/lib/esm/core/components/tabs/Tabs.js +0 -78
  445. package/lib/esm/core/components/tabs/Tabs.js.map +0 -1
  446. package/lib/esm/core/components/tabs/TabsContext.js +0 -7
  447. package/lib/esm/core/components/tabs/TabsContext.js.map +0 -1
  448. package/lib/esm/core/components/tabs/index.js +0 -3
  449. package/lib/esm/core/components/tabs/index.js.map +0 -1
  450. package/lib/esm/features/agent/createChartTool.js +0 -632
  451. package/lib/esm/features/agent/createChartTool.js.map +0 -1
  452. package/lib/esm/features/agent/examples.js +0 -295
  453. package/lib/esm/features/agent/examples.js.map +0 -1
  454. package/lib/esm/features/agent/visualization.js +0 -165
  455. package/lib/esm/features/agent/visualization.js.map +0 -1
  456. package/lib/esm/features/store/objects/components/useDownloadObject.js +0 -21
  457. package/lib/esm/features/store/objects/components/useDownloadObject.js.map +0 -1
  458. package/lib/types/core/components/Badge.d.ts.map +0 -1
  459. package/lib/types/core/components/Button.d.ts +0 -14
  460. package/lib/types/core/components/Button.d.ts.map +0 -1
  461. package/lib/types/core/components/ConfirmModal.d.ts.map +0 -1
  462. package/lib/types/core/components/DeleteModal.d.ts.map +0 -1
  463. package/lib/types/core/components/MessageBox.d.ts.map +0 -1
  464. package/lib/types/core/components/Modal.d.ts +0 -30
  465. package/lib/types/core/components/Modal.d.ts.map +0 -1
  466. package/lib/types/core/components/Panel.d.ts.map +0 -1
  467. package/lib/types/core/components/SelectBox.d.ts +0 -36
  468. package/lib/types/core/components/SelectBox.d.ts.map +0 -1
  469. package/lib/types/core/components/shadcn/dialog.d.ts.map +0 -1
  470. package/lib/types/core/components/tabs/Tabs.d.ts +0 -25
  471. package/lib/types/core/components/tabs/Tabs.d.ts.map +0 -1
  472. package/lib/types/core/components/tabs/TabsContext.d.ts +0 -17
  473. package/lib/types/core/components/tabs/TabsContext.d.ts.map +0 -1
  474. package/lib/types/core/components/tabs/index.d.ts +0 -3
  475. package/lib/types/core/components/tabs/index.d.ts.map +0 -1
  476. package/lib/types/features/agent/createChartTool.d.ts +0 -178
  477. package/lib/types/features/agent/createChartTool.d.ts.map +0 -1
  478. package/lib/types/features/agent/examples.d.ts +0 -59
  479. package/lib/types/features/agent/examples.d.ts.map +0 -1
  480. package/lib/types/features/agent/visualization.d.ts +0 -95
  481. package/lib/types/features/agent/visualization.d.ts.map +0 -1
  482. package/lib/types/features/store/objects/components/useDownloadObject.d.ts +0 -4
  483. package/lib/types/features/store/objects/components/useDownloadObject.d.ts.map +0 -1
  484. package/src/core/components/Button.tsx +0 -63
  485. package/src/core/components/Modal.tsx +0 -144
  486. package/src/core/components/Panel.tsx +0 -34
  487. package/src/core/components/SelectBox.tsx +0 -188
  488. package/src/core/components/tabs/Tabs.tsx +0 -132
  489. package/src/core/components/tabs/TabsContext.ts +0 -25
  490. package/src/core/components/tabs/index.ts +0 -2
  491. package/src/features/agent/CHART_INSTRUCTIONS.md +0 -228
  492. package/src/features/agent/createChartTool.ts +0 -643
  493. package/src/features/agent/examples.ts +0 -321
  494. package/src/features/agent/visualization.ts +0 -227
  495. package/src/features/store/objects/components/useDownloadObject.ts +0 -29
  496. /package/lib/esm/core/components/{MessageBox.js → shadcn/MessageBox.js} +0 -0
  497. /package/lib/types/core/components/{MessageBox.d.ts → shadcn/MessageBox.d.ts} +0 -0
  498. /package/lib/types/core/components/{ConfirmModal.d.ts → shadcn/modal/ConfirmModal.d.ts} +0 -0
  499. /package/lib/types/core/components/{DeleteModal.d.ts → shadcn/modal/DeleteModal.d.ts} +0 -0
  500. /package/src/core/components/{MessageBox.tsx → shadcn/MessageBox.tsx} +0 -0
@@ -56,9 +56,6 @@ function ActionsWrapper({ }: ActionsWrapperProps) {
56
56
  export function UploadObjectsButton({ collectionId, allowFolders = true }: { collectionId?: string, allowFolders?: boolean }) {
57
57
  const [files, setFiles] = useState<File[]>([]);
58
58
  const [isOpen, setIsOpen] = useState(false);
59
- const selection = useDocumentSelection();
60
-
61
- const hasSelection = selection?.hasSelection();
62
59
 
63
60
  const onClose = () => {
64
61
  setIsOpen(false);
@@ -66,7 +63,6 @@ export function UploadObjectsButton({ collectionId, allowFolders = true }: { col
66
63
  }
67
64
 
68
65
  return (
69
- !hasSelection &&
70
66
  <>
71
67
  <Button onClick={() => setIsOpen(true)}>Upload</Button>
72
68
  <DocumentUploadModal
@@ -1,4 +1,4 @@
1
- import { Button, DialogDescription, Heading, Portal, useToast, VModal, VModalBody, VModalFooter, VModalTitle, VTabs, VTabsBar, VTabsPanel } from "@vertesia/ui/core";
1
+ import { Button, DialogDescription, Heading, Portal, useToast, Modal, ModalBody, ModalFooter, ModalTitle, Tabs, TabsBar, TabsPanel } from "@vertesia/ui/core";
2
2
  import { useUserSession } from "@vertesia/ui/session";
3
3
  import { useCallback, useState } from "react";
4
4
  import { CreateCollectionForm, SelectCollection } from "../../../collections";
@@ -41,17 +41,17 @@ interface SelectCollectionModalProps {
41
41
  }
42
42
  function SelectCollectionModal({ isOpen, onClose, objectIds }: SelectCollectionModalProps) {
43
43
  return (
44
- <VModal isOpen={isOpen} onClose={onClose} className="max-w-lg w-full min-w-0 overflow-hidden">
45
- <VModalTitle className="flex flex-col min-w-0 overflow-hidden">
44
+ <Modal isOpen={isOpen} onClose={onClose} className="max-w-lg w-full min-w-0 overflow-hidden">
45
+ <ModalTitle className="flex flex-col min-w-0 overflow-hidden">
46
46
  Add to a Collection
47
- </VModalTitle>
47
+ </ModalTitle>
48
48
  <DialogDescription className="min-w-0 overflow-hidden">
49
49
  Add the selected objects to an existing collection or create a new one.
50
50
  </DialogDescription>
51
51
  <div className="min-w-0 max-w-full overflow-hidden">
52
52
  <AddToCollectionForm onClose={onClose} objectIds={objectIds} />
53
53
  </div>
54
- </VModal>
54
+ </Modal>
55
55
  )
56
56
  }
57
57
 
@@ -102,19 +102,19 @@ function AddToCollectionForm({ onClose, objectIds }: AddToCollectionFormProps) {
102
102
  content: (
103
103
  <div className="p-4 min-w-0 max-w-full overflow-hidden">
104
104
  <Heading level={5}>Choose from existing collections</Heading>
105
- <VModalBody className="min-w-0 max-w-full overflow-hidden">
105
+ <ModalBody className="min-w-0 max-w-full overflow-hidden">
106
106
  <div className="mb-4 min-w-0 max-w-full overflow-hidden">
107
107
  <SelectCollection onChange={onCollectionChange} value={selectedCollectionId} />
108
108
  </div>
109
- </VModalBody>
110
- <VModalFooter>
109
+ </ModalBody>
110
+ <ModalFooter>
111
111
  <Button
112
112
  isDisabled={!selectedCollectionId}
113
113
  onClick={() => selectedCollectionId && onAddToCollection({ collectionId: selectedCollectionId })}
114
114
  >
115
115
  Add to Collection
116
116
  </Button>
117
- </VModalFooter>
117
+ </ModalFooter>
118
118
  </div>
119
119
  )
120
120
  },
@@ -129,9 +129,9 @@ function AddToCollectionForm({ onClose, objectIds }: AddToCollectionFormProps) {
129
129
  ];
130
130
 
131
131
  return (
132
- <VTabs defaultValue="select" tabs={tabs} fullWidth>
133
- <VTabsBar />
134
- <VTabsPanel />
135
- </VTabs>
132
+ <Tabs defaultValue="select" tabs={tabs} fullWidth>
133
+ <TabsBar />
134
+ <TabsPanel />
135
+ </Tabs>
136
136
  )
137
137
  }
@@ -56,12 +56,8 @@ export function ChangeTypeActionComponent({ action, objectIds, children }: Actio
56
56
  title="Change Content Type"
57
57
  confirmLabel="Change Type"
58
58
  >
59
- <div className="text-sm flex flex-col gap-x-2">
60
- <p>Choose a new Content Type for the selected object{objectIds.length > 1 ? 's' : ' '}
61
- or let the system choose or generate a type based on the content.</p>
62
- <p className="pt-2 text-xs">Note: This action will raise the <code>change_type</code> event and will trigger the standard intake workflows
63
- which may reset the object properties.</p>
64
- </div>
59
+ <p className="pt-2 text-xs">Note: This action will raise the <code>change_type</code> event and will trigger the standard intake workflows
60
+ which may reset the object properties.</p>
65
61
  </SelectContentTypeModal>
66
62
  </div>
67
63
  )
@@ -102,9 +102,7 @@ export function ExportPropertiesComponent({ action, objectIds }: ActionComponent
102
102
  }
103
103
 
104
104
  return (
105
- <div>
106
- <ExportPropertiesModal isExporting={isExporting} isOpen={isOpen} onClose={onExportType} />
107
- </div>
105
+ <ExportPropertiesModal isExporting={isExporting} isOpen={isOpen} onClose={onExportType} />
108
106
  )
109
107
  }
110
108
 
@@ -1,5 +1,5 @@
1
1
  import { useUserSession } from "@vertesia/ui/session";
2
- import { Button, VModal, VModalBody, VModalFooter, VModalTitle, SelectList, useToast } from "@vertesia/ui/core";
2
+ import { Button, Modal, ModalBody, ModalFooter, ModalTitle, SelectList, useToast } from "@vertesia/ui/core";
3
3
  import { useCallback, useState } from "react";
4
4
  import { useObjectsActionCallback, useObjectsActionContext } from "../ObjectsActionContext";
5
5
  import { ActionComponentTypeProps, ObjectsActionSpec } from "../ObjectsActionSpec";
@@ -60,10 +60,10 @@ interface StartWorkflowModalProps {
60
60
  }
61
61
  function StartWorkflowModal({ isOpen, onClose }: StartWorkflowModalProps) {
62
62
  return (
63
- <VModal onClose={() => onClose(undefined)} isOpen={isOpen} className="">
64
- <VModalTitle>Start a Workflow by Rule</VModalTitle>
63
+ <Modal onClose={() => onClose(undefined)} isOpen={isOpen} className="">
64
+ <ModalTitle>Start a Workflow by Rule</ModalTitle>
65
65
  <StartWorkflowBody onClose={onClose} />
66
- </VModal>
66
+ </Modal>
67
67
  );
68
68
  }
69
69
 
@@ -98,7 +98,7 @@ function StartWorkflowBody({ onClose }: StartWorkflowBodyProps) {
98
98
 
99
99
  return (
100
100
  <div>
101
- <VModalBody>
101
+ <ModalBody>
102
102
  <div className="pb-2">Choose a workflow rule to start:</div>
103
103
  <div className="max-h-[420px] overflow-y-scroll border-border border rounded-md">
104
104
  <SelectList
@@ -108,15 +108,15 @@ function StartWorkflowBody({ onClose }: StartWorkflowBodyProps) {
108
108
  value={selected}
109
109
  />
110
110
  </div>
111
- </VModalBody>
112
- <VModalFooter>
111
+ </ModalBody>
112
+ <ModalFooter>
113
113
  <Button variant="secondary" onClick={() => onClose()}>
114
114
  Cancel
115
115
  </Button>
116
116
  <Button onClick={onStart} isDisabled={!selected}>
117
117
  Start
118
118
  </Button>
119
- </VModalFooter>
119
+ </ModalFooter>
120
120
  </div>
121
121
  );
122
122
  }
@@ -1,5 +1,5 @@
1
1
  import { Collection, ContentObjectTypeItem, DynamicCollection } from "@vertesia/common";
2
- import { Button, MessageBox, VModal, VModalBody, VModalFooter, VModalTitle, VSelectBox, Spinner, useToast, VTooltip } from "@vertesia/ui/core";
2
+ import { Button, MessageBox, Modal, ModalBody, ModalFooter, ModalTitle, SelectBox, Spinner, useToast, VTooltip } from "@vertesia/ui/core";
3
3
  import { useUserSession } from "@vertesia/ui/session";
4
4
  import { DropZone, UploadSummary } from '@vertesia/ui/widgets';
5
5
  import { AlertCircleIcon, CheckCircleIcon, FileIcon, FolderIcon, Info, UploadIcon, XCircleIcon } from "lucide-react";
@@ -567,7 +567,7 @@ export function DocumentUploadModal({
567
567
  <Info className="size-3 ml-2" />
568
568
  </VTooltip>
569
569
  </label>
570
- <VSelectBox
570
+ <SelectBox
571
571
  options={types}
572
572
  value={selectedType}
573
573
  optionLabel={(type) => (type ? type.name : "Select a content type")}
@@ -601,7 +601,7 @@ export function DocumentUploadModal({
601
601
  // When showing only type selection, skip directly to the type selection UI
602
602
  if (showTypeSelectionOnly) {
603
603
  return (
604
- <VModalBody>
604
+ <ModalBody>
605
605
  {children}
606
606
 
607
607
  {/* Collection and folder information if available */}
@@ -609,14 +609,14 @@ export function DocumentUploadModal({
609
609
 
610
610
  {/* Type selection */}
611
611
  {typeSelection()}
612
- </VModalBody>
612
+ </ModalBody>
613
613
  );
614
614
  }
615
615
 
616
616
  // Step 1: File selection #todo: update styles
617
617
  if (files.length === 0 && !hideFileSelection) {
618
618
  return (
619
- <VModalBody className="flex flex-col items-center justify-center p-8">
619
+ <ModalBody className="flex flex-col items-center justify-center p-8">
620
620
  {/* Collection and folder information if available */}
621
621
  {renderLocationInfo()}
622
622
 
@@ -628,14 +628,14 @@ export function DocumentUploadModal({
628
628
  allowFolders={allowFolders}
629
629
  />
630
630
  {children}
631
- </VModalBody>
631
+ </ModalBody>
632
632
  );
633
633
  }
634
634
 
635
635
  // Step 2: File processing and type selection
636
636
  if (!isUploading && !uploadComplete) {
637
637
  return (
638
- <VModalBody>
638
+ <ModalBody>
639
639
  {!processingDone ? (
640
640
  // File processing in progress
641
641
  <div className="flex flex-col items-center justify-center py-4">
@@ -707,14 +707,14 @@ export function DocumentUploadModal({
707
707
 
708
708
  </>
709
709
  )}
710
- </VModalBody>
710
+ </ModalBody>
711
711
  );
712
712
  }
713
713
 
714
714
  // Step 3: Upload in progress #todo: update styles
715
715
  if (isUploading) {
716
716
  return (
717
- <VModalBody>
717
+ <ModalBody>
718
718
  {/* Collection and folder information if available */}
719
719
  {renderLocationInfo()}
720
720
 
@@ -762,13 +762,13 @@ export function DocumentUploadModal({
762
762
  </div>
763
763
  ))}
764
764
  </div>
765
- </VModalBody>
765
+ </ModalBody>
766
766
  );
767
767
  }
768
768
 
769
769
  // Step 4: Upload complete, show results
770
770
  return (
771
- <VModalBody>
771
+ <ModalBody>
772
772
  <div className="mb-4">
773
773
  {/* Collection and folder information if available */}
774
774
  {renderLocationInfo()}
@@ -800,7 +800,7 @@ export function DocumentUploadModal({
800
800
  collection={collectionData?.name}
801
801
  />
802
802
  </div>
803
- </VModalBody>
803
+ </ModalBody>
804
804
  );
805
805
  };
806
806
 
@@ -808,7 +808,7 @@ export function DocumentUploadModal({
808
808
  // Type-selection-only mode
809
809
  if (showTypeSelectionOnly) {
810
810
  return (
811
- <VModalFooter>
811
+ <ModalFooter>
812
812
  <Button variant="ghost" onClick={handleClose}>
813
813
  Cancel
814
814
  </Button>
@@ -837,18 +837,18 @@ export function DocumentUploadModal({
837
837
  >
838
838
  {selectedType ? `Use ${selectedType.name}` : "Use Automatic Type Detection"}
839
839
  </Button>
840
- </VModalFooter>
840
+ </ModalFooter>
841
841
  );
842
842
  }
843
843
 
844
844
  // File selection step - only show cancel
845
845
  if (files.length === 0 && !hideFileSelection) {
846
846
  return (
847
- <VModalFooter>
847
+ <ModalFooter>
848
848
  <Button variant="ghost" onClick={handleClose}>
849
849
  Cancel
850
850
  </Button>
851
- </VModalFooter>
851
+ </ModalFooter>
852
852
  );
853
853
  }
854
854
 
@@ -858,7 +858,7 @@ export function DocumentUploadModal({
858
858
  const canUpload = processingDone;
859
859
 
860
860
  return (
861
- <VModalFooter>
861
+ <ModalFooter>
862
862
  <Button variant="ghost" onClick={handleClose}>
863
863
  Cancel
864
864
  </Button>
@@ -870,24 +870,24 @@ export function DocumentUploadModal({
870
870
  ? "Upload"
871
871
  : "Continue"}
872
872
  </Button>
873
- </VModalFooter>
873
+ </ModalFooter>
874
874
  );
875
875
  }
876
876
 
877
877
  // Upload in progress - can't cancel
878
878
  if (isUploading) {
879
879
  return (
880
- <VModalFooter>
880
+ <ModalFooter>
881
881
  <Button variant="ghost" disabled>
882
882
  Uploading...
883
883
  </Button>
884
- </VModalFooter>
884
+ </ModalFooter>
885
885
  );
886
886
  }
887
887
 
888
888
  // Upload complete - close or upload more
889
889
  return (
890
- <VModalFooter>
890
+ <ModalFooter>
891
891
  <Button
892
892
  variant="ghost"
893
893
  onClick={() => {
@@ -913,15 +913,15 @@ export function DocumentUploadModal({
913
913
  }}>
914
914
  Close
915
915
  </Button>
916
- </VModalFooter>
916
+ </ModalFooter>
917
917
  );
918
918
  };
919
919
 
920
920
  return (
921
- <VModal key={modalKey} isOpen={isOpen} onClose={handleClose} className="mx-auto" disableCloseOnClickOutside>
922
- <VModalTitle description={_description}>{_title}</VModalTitle>
921
+ <Modal key={modalKey} isOpen={isOpen} onClose={handleClose} className="mx-auto" disableCloseOnClickOutside>
922
+ <ModalTitle description={_description}>{_title}</ModalTitle>
923
923
  {renderModalContent()}
924
924
  {renderModalFooter()}
925
- </VModal>
925
+ </Modal>
926
926
  );
927
927
  }
@@ -1,4 +1,4 @@
1
- import { ComplexSearchPayload, ContentObjectItem } from "@vertesia/common";
1
+ import { ComplexSearchPayload, ContentObjectItem, FindPayload } from "@vertesia/common";
2
2
  import { useToast } from "@vertesia/ui/core";
3
3
  import { useUserSession } from "@vertesia/ui/session";
4
4
  import { Md5 } from "ts-md5";
@@ -128,25 +128,31 @@ export function useSmartFileUploadProcessing() {
128
128
  const filesWithMetadata = await prepareFilesWithMetadata(files, selectedFolder);
129
129
 
130
130
  const identifyExistingHash = async () => {
131
+ const hashes = filesWithMetadata.map((file) => file.hash).filter(Boolean);
132
+ if (hashes.length === 0) return;
133
+
131
134
  const query = {
132
- "content.etag": { $in: filesWithMetadata.map((file) => file.hash) },
135
+ "content.etag": { $in: hashes },
133
136
  };
134
137
 
135
138
  let res: ContentObjectItem[];
136
139
 
137
- const payload: ComplexSearchPayload = {
138
- query: { match: query },
139
- select: "id content.etag" // Only fetch fields needed for comparison
140
- };
141
-
142
140
  if (limitToCollectionId) {
141
+ const payload: ComplexSearchPayload = {
142
+ query: { match: query },
143
+ select: "id content.etag"
144
+ };
143
145
  res = (await client.store.collections.searchMembers(limitToCollectionId, payload)).results;
144
146
  } else {
145
- res = (await client.store.objects.search(payload)).results;
147
+ const payload: FindPayload = {
148
+ query,
149
+ select: "id content.etag"
150
+ };
151
+ res = await client.store.objects.find(payload);
146
152
  }
147
153
 
148
154
  for (const doc of res) {
149
- const file = filesWithMetadata.find((f) => f.hash === doc.content.etag);
155
+ const file = filesWithMetadata.find((f) => f.hash === doc.content?.etag);
150
156
  if (file) {
151
157
  file.existingId = doc.id;
152
158
  file.action = FileUploadAction.SKIP;
@@ -196,7 +202,7 @@ export function useSmartFileUploadProcessing() {
196
202
  const file = filesWithMetadata.find(
197
203
  //name must be the same, and location must match (default is "/")
198
204
  (f) =>
199
- f.name === doc.content.name &&
205
+ f.name === doc.content?.name &&
200
206
  (f.location ? f.location === doc.location : doc.location === "/"),
201
207
  );
202
208
  if (file) {
@@ -2,15 +2,16 @@ import { useMemo, useRef, useState } from 'react';
2
2
 
3
3
  import { useUserSession } from '@vertesia/ui/session';
4
4
  import { MonacoEditor, EditorApi, SchemaEditor, useSchema } from '@vertesia/ui/widgets';
5
- import { Button, useToast, useTheme } from '@vertesia/ui/core';
5
+ import { Button, useToast, useTheme, Panel } from '@vertesia/ui/core';
6
6
  import { ContentObjectType } from '@vertesia/common';
7
7
  import { Ajv } from "ajv";
8
8
 
9
9
  interface ObjectSchemaEditorProps {
10
10
  objectType: ContentObjectType;
11
11
  onSchemaUpdate: (jsonSchema: any) => void;
12
+ readonly?: boolean;
12
13
  }
13
- export function ObjectSchemaEditor({ objectType, onSchemaUpdate }: ObjectSchemaEditorProps) {
14
+ export function ObjectSchemaEditor({ objectType, onSchemaUpdate, readonly = false }: ObjectSchemaEditorProps) {
14
15
  const { store } = useUserSession();
15
16
  const toast = useToast();
16
17
  const { theme } = useTheme();
@@ -82,35 +83,37 @@ export function ObjectSchemaEditor({ objectType, onSchemaUpdate }: ObjectSchemaE
82
83
  return true;
83
84
  };
84
85
 
85
- return (
86
- <div className="mx-2 my-2 rounded-2xl border border-solid shadow-md border-spacing-2">
87
- <div className="flex items-center rounded-t-md border-b gap-x-2 py-2 pl-4 pr-2">
88
- <div className="text-base font-semibold">Schema Editor</div>
89
- <div>
90
- <Button variant="outline" size="sm" onClick={handleOnSave}>
91
- {
92
- displayJson ? "Edit Schema" : "Edit Json"
93
- }
94
- </Button>
95
- </div>
96
- <div className="ml-auto flex gap-x-2">
97
- <Button isLoading={isUpdating} variant="outline" size="sm" onClick={onSave}>Save Changes</Button>
98
- </div>
99
- </div>
100
- <div className="px-4 py-2">
101
- {
102
- displayJson
103
- ? <MonacoEditor
104
- value={value}
105
- language="json"
106
- editorRef={editorRef}
107
- theme={theme === 'dark' ? 'vs-dark' : 'vs'}
108
- />
109
- : <SchemaEditor schema={schema} />
110
- }
111
- </div>
86
+ const title = (
87
+ <div className='flex gap-2 items-center'><div className="text-base font-semibold">Schema Editor</div>
88
+ {!readonly && <div>
89
+ <Button variant="outline" size="sm" onClick={handleOnSave}>
90
+ {
91
+ displayJson ? "Edit Schema" : "Edit Json"
92
+ }
93
+ </Button>
94
+ </div>}
112
95
  </div>
113
96
  );
97
+
98
+ return (
99
+ <Panel title={title} className="bg-background! h-[calc(100vh-197px)]"
100
+ action={!readonly ? <Button isLoading={isUpdating} variant="outline" size="sm" onClick={onSave}>Save Changes</Button> : undefined}
101
+ >
102
+ {
103
+ displayJson
104
+ ? <MonacoEditor
105
+ value={value}
106
+ language="json"
107
+ editorRef={editorRef}
108
+ theme={theme === 'dark' ? 'vs-dark' : 'vs'}
109
+ options={{ readOnly: readonly }}
110
+ />
111
+ : <SchemaEditor schema={schema} readonly={readonly} />
112
+ }
113
+
114
+
115
+ </ Panel>
116
+ );
114
117
  }
115
118
 
116
119
  function jsonToContent(json: any | undefined | null) {
@@ -1,5 +1,5 @@
1
1
  import { ContentObjectTypeItem } from "@vertesia/common";
2
- import { VSelectBox } from "@vertesia/ui/core";
2
+ import { SelectBox } from "@vertesia/ui/core";
3
3
  import { useUserSession } from "@vertesia/ui/session";
4
4
  import { useEffect, useState } from "react";
5
5
 
@@ -56,7 +56,7 @@ export function SelectContentType({ className, defaultValue, onChange, isClearab
56
56
  if (multiple) {
57
57
  return (
58
58
  <div className='flex flex-col gap-4 content-between'>
59
- <VSelectBox<ContentObjectTypeItem>
59
+ <SelectBox<ContentObjectTypeItem>
60
60
  options={session.typeRegistry?.types || []}
61
61
  value={selectedTypes}
62
62
  onChange={_onChangeMultiple}
@@ -73,7 +73,7 @@ export function SelectContentType({ className, defaultValue, onChange, isClearab
73
73
 
74
74
  return (
75
75
  <div className='flex flex-col gap-4 content-between'>
76
- <VSelectBox<ContentObjectTypeItem>
76
+ <SelectBox<ContentObjectTypeItem>
77
77
  options={session.typeRegistry?.types || []}
78
78
  value={selectedType}
79
79
  onChange={_onChange}
@@ -6,10 +6,11 @@ import {
6
6
  ModalFooter,
7
7
  ModalTitle,
8
8
  SelectBox,
9
+ VTooltip,
9
10
  } from "@vertesia/ui/core";
10
11
  import { ContentObjectTypeItem } from "@vertesia/common";
11
12
  import { useUserSession } from "@vertesia/ui/session";
12
- import { CheckCircleIcon } from "lucide-react";
13
+ import { CheckCircleIcon, Info } from "lucide-react";
13
14
 
14
15
  /**
15
16
  * Props for the SelectTypeModal component
@@ -46,7 +47,6 @@ export function SelectContentTypeModal({
46
47
  title = "Select Content Type",
47
48
  children,
48
49
  initialSelectedType = null,
49
- confirmLabel = "Select Type",
50
50
  allowNone = true,
51
51
  }: SelectContentTypeModalProps) {
52
52
  const { typeRegistry } = useUserSession();
@@ -63,6 +63,7 @@ export function SelectContentTypeModal({
63
63
  // Handle type selection and confirmation
64
64
  const handleConfirm = () => {
65
65
  onClose(selectedType?.id ?? null);
66
+ setSelectedType(null);
66
67
  };
67
68
 
68
69
  return (
@@ -72,7 +73,7 @@ export function SelectContentTypeModal({
72
73
  className="w-full max-w-xl mx-auto"
73
74
  >
74
75
  <ModalTitle>{title}</ModalTitle>
75
- <ModalBody className="p-6">
76
+ <ModalBody>
76
77
  {children}
77
78
 
78
79
  {/* Type selection */}
@@ -100,41 +101,27 @@ export function SelectContentTypeModal({
100
101
  filterBy="name"
101
102
  />
102
103
  )}
103
-
104
- {allowNone && (
105
- <div className="mt-2 text-sm text-blue-600 flex items-center">
106
- <CheckCircleIcon className="h-4 w-4 mr-1" />
107
- <span><strong>Type selection is optional.</strong> Leave empty to let Vertesia choose the appropriate type</span>
108
- </div>
109
- )}
110
104
  </div>
111
105
 
112
- {selectedType ? (
113
- <div className="text-sm text-gray-500 bg-gray-50 p-3 rounded-md mb-4">
114
- <div className="font-medium">{selectedType.name}</div>
115
- {selectedType.description && (
116
- <div className="mt-1">{selectedType.description}</div>
117
- )}
118
- </div>
119
- ) : allowNone && (
120
- <div className="text-sm text-blue-600 bg-blue-50 p-3 rounded-md mb-4">
121
- <div className="font-medium">Automatic Type Detection</div>
122
- <div className="mt-1">
123
- Vertesia will analyze each file&apos;s content and automatically select the most appropriate type.
124
- <br />
125
- <span className="mt-1 block font-medium">This is recommended for most uploads.</span>
126
- </div>
106
+ {!selectedType && (
107
+ <div className="flex items-center text-attention">
108
+ <CheckCircleIcon className="size-4 mr-1" />
109
+ Automatic Type Detection
110
+ <VTooltip
111
+ description="Vertesia will analyze the content and select the most appropriate type. This is recommended for most uploads and ensures optimal processing."
112
+ placement="top" size="xs"
113
+ >
114
+ <Info className="size-3 ml-2" />
115
+ </VTooltip>
127
116
  </div>
128
117
  )}
129
118
  </ModalBody>
130
119
  <ModalFooter>
131
- <Button variant="ghost" onClick={handleClose}>
120
+ <Button variant="ghost" onClick={handleClose} alt="Cancel">
132
121
  Cancel
133
122
  </Button>
134
- <Button
135
- onClick={handleConfirm}
136
- >
137
- {selectedType ? `${confirmLabel}: ${selectedType.name}` : allowNone ? "Let Vertesia Choose" : confirmLabel}
123
+ <Button onClick={handleConfirm} alt="Confirm selection">
124
+ Confirm
138
125
  </Button>
139
126
  </ModalFooter>
140
127
  </Modal>