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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (508) hide show
  1. package/lib/core/components/Avatar.d.ts.map +1 -1
  2. package/lib/core/components/Avatar.js +3 -3
  3. package/lib/core/components/Avatar.js.map +1 -1
  4. package/lib/core/components/ComboBox.js +1 -1
  5. package/lib/core/components/ComboBox.js.map +1 -1
  6. package/lib/core/components/FileUpload.js +1 -1
  7. package/lib/core/components/FileUpload.js.map +1 -1
  8. package/lib/core/components/Link.js +1 -1
  9. package/lib/core/components/Link.js.map +1 -1
  10. package/lib/core/components/SelectList.js +1 -1
  11. package/lib/core/components/SelectList.js.map +1 -1
  12. package/lib/core/components/SidePanel.js +1 -1
  13. package/lib/core/components/SidePanel.js.map +1 -1
  14. package/lib/core/components/Spinner.js +1 -1
  15. package/lib/core/components/Spinner.js.map +1 -1
  16. package/lib/core/components/TagsInput.js +8 -8
  17. package/lib/core/components/TagsInput.js.map +1 -1
  18. package/lib/core/components/shadcn/MessageBox.js +1 -1
  19. package/lib/core/components/shadcn/MessageBox.js.map +1 -1
  20. package/lib/core/components/shadcn/button.js +1 -1
  21. package/lib/core/components/shadcn/button.js.map +1 -1
  22. package/lib/core/components/shadcn/card.d.ts.map +1 -1
  23. package/lib/core/components/shadcn/card.js +1 -1
  24. package/lib/core/components/shadcn/card.js.map +1 -1
  25. package/lib/core/components/shadcn/command.js +5 -5
  26. package/lib/core/components/shadcn/command.js.map +1 -1
  27. package/lib/core/components/shadcn/filters/DynamicLabel.js +1 -1
  28. package/lib/core/components/shadcn/filters/DynamicLabel.js.map +1 -1
  29. package/lib/core/components/shadcn/filters/comboBox/DateCombobox.js +3 -3
  30. package/lib/core/components/shadcn/filters/comboBox/DateCombobox.js.map +1 -1
  31. package/lib/core/components/shadcn/input.js +3 -3
  32. package/lib/core/components/shadcn/input.js.map +1 -1
  33. package/lib/core/components/shadcn/modal/ConfirmModal.js +1 -1
  34. package/lib/core/components/shadcn/modal/ConfirmModal.js.map +1 -1
  35. package/lib/core/components/shadcn/modal/dialog.d.ts.map +1 -1
  36. package/lib/core/components/shadcn/modal/dialog.js +2 -2
  37. package/lib/core/components/shadcn/modal/dialog.js.map +1 -1
  38. package/lib/core/components/shadcn/overflowTabs.js +2 -2
  39. package/lib/core/components/shadcn/overflowTabs.js.map +1 -1
  40. package/lib/core/components/shadcn/popover.js +1 -1
  41. package/lib/core/components/shadcn/popover.js.map +1 -1
  42. package/lib/core/components/shadcn/radioGroup.d.ts.map +1 -1
  43. package/lib/core/components/shadcn/radioGroup.js +3 -3
  44. package/lib/core/components/shadcn/radioGroup.js.map +1 -1
  45. package/lib/core/components/shadcn/selectBox.js +1 -1
  46. package/lib/core/components/shadcn/selectBox.js.map +1 -1
  47. package/lib/core/components/shadcn/tabs.d.ts.map +1 -1
  48. package/lib/core/components/shadcn/tabs.js +5 -2
  49. package/lib/core/components/shadcn/tabs.js.map +1 -1
  50. package/lib/core/components/styles.js +1 -1
  51. package/lib/core/components/styles.js.map +1 -1
  52. package/lib/core/components/table/index.js +1 -1
  53. package/lib/core/hooks/useFetch.d.ts.map +1 -1
  54. package/lib/core/hooks/useFetch.js +2 -0
  55. package/lib/core/hooks/useFetch.js.map +1 -1
  56. package/lib/features/activity-doc/ActivityDoc.js +8 -8
  57. package/lib/features/activity-doc/ActivityDoc.js.map +1 -1
  58. package/lib/features/agent/chat/AgentChart.js +1 -1
  59. package/lib/features/agent/chat/AgentChart.js.map +1 -1
  60. package/lib/features/agent/chat/AskUserWidget.d.ts.map +1 -1
  61. package/lib/features/agent/chat/AskUserWidget.js +13 -13
  62. package/lib/features/agent/chat/AskUserWidget.js.map +1 -1
  63. package/lib/features/agent/chat/JumpingDots.js +1 -1
  64. package/lib/features/agent/chat/JumpingDots.js.map +1 -1
  65. package/lib/features/agent/chat/ModernAgentConversation.js +1 -1
  66. package/lib/features/agent/chat/ModernAgentConversation.js.map +1 -1
  67. package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
  68. package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +22 -9
  69. package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
  70. package/lib/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js +5 -5
  71. package/lib/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js.map +1 -1
  72. package/lib/features/agent/chat/ModernAgentOutput/Header.js +1 -1
  73. package/lib/features/agent/chat/ModernAgentOutput/Header.js.map +1 -1
  74. package/lib/features/agent/chat/ModernAgentOutput/InlineSlideInPanel.js +1 -1
  75. package/lib/features/agent/chat/ModernAgentOutput/InlineSlideInPanel.js.map +1 -1
  76. package/lib/features/agent/chat/ModernAgentOutput/MessageInput.js +1 -1
  77. package/lib/features/agent/chat/ModernAgentOutput/MessageInput.js.map +1 -1
  78. package/lib/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
  79. package/lib/features/agent/chat/ModernAgentOutput/MessageItem.js +7 -7
  80. package/lib/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
  81. package/lib/features/agent/chat/ModernAgentOutput/MessagesContainer.js +1 -1
  82. package/lib/features/agent/chat/ModernAgentOutput/MessagesContainer.js.map +1 -1
  83. package/lib/features/agent/chat/ModernAgentOutput/PlanPanel.d.ts.map +1 -1
  84. package/lib/features/agent/chat/ModernAgentOutput/PlanPanel.js +10 -10
  85. package/lib/features/agent/chat/ModernAgentOutput/PlanPanel.js.map +1 -1
  86. package/lib/features/agent/chat/ModernAgentOutput/SlideInPanel.js +1 -1
  87. package/lib/features/agent/chat/ModernAgentOutput/SlideInPanel.js.map +1 -1
  88. package/lib/features/agent/chat/ModernAgentOutput/SlidingMessages.d.ts.map +1 -1
  89. package/lib/features/agent/chat/ModernAgentOutput/SlidingMessages.js +1 -1
  90. package/lib/features/agent/chat/ModernAgentOutput/SlidingMessages.js.map +1 -1
  91. package/lib/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js +17 -17
  92. package/lib/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js.map +1 -1
  93. package/lib/features/agent/chat/ModernAgentOutput/StreamingMessage.js +1 -1
  94. package/lib/features/agent/chat/ModernAgentOutput/StreamingMessage.js.map +1 -1
  95. package/lib/features/agent/chat/ModernAgentOutput/SummaryConversation.d.ts.map +1 -1
  96. package/lib/features/agent/chat/ModernAgentOutput/SummaryConversation.js +14 -2
  97. package/lib/features/agent/chat/ModernAgentOutput/SummaryConversation.js.map +1 -1
  98. package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts.map +1 -1
  99. package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.js +15 -15
  100. package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.js.map +1 -1
  101. package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.d.ts.map +1 -1
  102. package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.js +18 -0
  103. package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.js.map +1 -1
  104. package/lib/features/agent/chat/SlidingThinkingIndicator.d.ts.map +1 -1
  105. package/lib/features/agent/chat/SlidingThinkingIndicator.js +5 -2
  106. package/lib/features/agent/chat/SlidingThinkingIndicator.js.map +1 -1
  107. package/lib/features/agent/chat/VegaLiteChart.d.ts.map +1 -1
  108. package/lib/features/agent/chat/VegaLiteChart.js +6 -2
  109. package/lib/features/agent/chat/VegaLiteChart.js.map +1 -1
  110. package/lib/features/errors/RowErrorBoundary.js +1 -1
  111. package/lib/features/errors/RowErrorBoundary.js.map +1 -1
  112. package/lib/features/facets/AgentRunnerFacetsNav.js +1 -1
  113. package/lib/features/facets/AgentRunnerFacetsNav.js.map +1 -1
  114. package/lib/features/facets/utils/VInteractionFacet.d.ts +3 -5
  115. package/lib/features/facets/utils/VInteractionFacet.d.ts.map +1 -1
  116. package/lib/features/facets/utils/VInteractionFacet.js +10 -23
  117. package/lib/features/facets/utils/VInteractionFacet.js.map +1 -1
  118. package/lib/features/facets/utils/VUserFacet.js +1 -1
  119. package/lib/features/facets/utils/VUserFacet.js.map +1 -1
  120. package/lib/features/layout/GenericPageNavHeader.d.ts.map +1 -1
  121. package/lib/features/layout/GenericPageNavHeader.js +4 -1
  122. package/lib/features/layout/GenericPageNavHeader.js.map +1 -1
  123. package/lib/features/layout/NotFoundView.js +1 -1
  124. package/lib/features/layout/NotFoundView.js.map +1 -1
  125. package/lib/features/magic-pdf/AnnotatedImageSlider.js +4 -12
  126. package/lib/features/magic-pdf/AnnotatedImageSlider.js.map +1 -1
  127. package/lib/features/magic-pdf/ExtractedContentView.js +4 -4
  128. package/lib/features/magic-pdf/ExtractedContentView.js.map +1 -1
  129. package/lib/features/magic-pdf/MagicPdfView.js +1 -1
  130. package/lib/features/magic-pdf/MagicPdfView.js.map +1 -1
  131. package/lib/features/pdf-viewer/PdfPageRenderer.js +2 -2
  132. package/lib/features/pdf-viewer/PdfPageRenderer.js.map +1 -1
  133. package/lib/features/pdf-viewer/PdfPageSlider.js +3 -3
  134. package/lib/features/pdf-viewer/PdfPageSlider.js.map +1 -1
  135. package/lib/features/pdf-viewer/SimplePdfViewer.js +1 -1
  136. package/lib/features/pdf-viewer/SimplePdfViewer.js.map +1 -1
  137. package/lib/features/permissions/UserPermissionsProvider.d.ts +2 -1
  138. package/lib/features/permissions/UserPermissionsProvider.d.ts.map +1 -1
  139. package/lib/features/permissions/UserPermissionsProvider.js +35 -22
  140. package/lib/features/permissions/UserPermissionsProvider.js.map +1 -1
  141. package/lib/features/permissions/useRoleMappings.d.ts +19 -0
  142. package/lib/features/permissions/useRoleMappings.d.ts.map +1 -0
  143. package/lib/features/permissions/useRoleMappings.js +87 -0
  144. package/lib/features/permissions/useRoleMappings.js.map +1 -0
  145. package/lib/features/store/collections/SelectCollection.js +1 -1
  146. package/lib/features/store/collections/SelectCollection.js.map +1 -1
  147. package/lib/features/store/objects/DocumentPreviewPanel.d.ts.map +1 -1
  148. package/lib/features/store/objects/DocumentPreviewPanel.js +9 -9
  149. package/lib/features/store/objects/DocumentPreviewPanel.js.map +1 -1
  150. package/lib/features/store/objects/DocumentTable.js +1 -1
  151. package/lib/features/store/objects/DocumentTable.js.map +1 -1
  152. package/lib/features/store/objects/components/DocumentIcon.js +2 -2
  153. package/lib/features/store/objects/components/DocumentIcon.js.map +1 -1
  154. package/lib/features/store/objects/components/DocumentInput.js +1 -1
  155. package/lib/features/store/objects/components/DocumentInput.js.map +1 -1
  156. package/lib/features/store/objects/components/PropertiesEditorModal.js +1 -1
  157. package/lib/features/store/objects/components/PropertiesEditorModal.js.map +1 -1
  158. package/lib/features/store/objects/components/SaveVersionConfirmModal.js +1 -1
  159. package/lib/features/store/objects/components/SaveVersionConfirmModal.js.map +1 -1
  160. package/lib/features/store/objects/layout/documentLayout.d.ts.map +1 -1
  161. package/lib/features/store/objects/layout/documentLayout.js +2 -2
  162. package/lib/features/store/objects/layout/documentLayout.js.map +1 -1
  163. package/lib/features/store/objects/selection/SelectionActions.js +1 -1
  164. package/lib/features/store/objects/selection/SelectionActions.js.map +1 -1
  165. package/lib/features/store/types/IntakePolicyEditor.d.ts +10 -1
  166. package/lib/features/store/types/IntakePolicyEditor.d.ts.map +1 -1
  167. package/lib/features/store/types/IntakePolicyEditor.js +29 -19
  168. package/lib/features/store/types/IntakePolicyEditor.js.map +1 -1
  169. package/lib/features/store/types/IntakePolicyForm.d.ts +1 -1
  170. package/lib/features/store/types/IntakePolicyForm.d.ts.map +1 -1
  171. package/lib/features/store/types/IntakePolicyForm.js +5 -3
  172. package/lib/features/store/types/IntakePolicyForm.js.map +1 -1
  173. package/lib/features/store/types/SelectContentTypeModal.js +1 -1
  174. package/lib/features/store/types/SelectContentTypeModal.js.map +1 -1
  175. package/lib/features/user/UserAvatar.js +2 -2
  176. package/lib/features/user/UserAvatar.js.map +1 -1
  177. package/lib/features/user/UserInfo.d.ts.map +1 -1
  178. package/lib/features/user/UserInfo.js +7 -7
  179. package/lib/features/user/UserInfo.js.map +1 -1
  180. package/lib/features/utils/index.d.ts +1 -0
  181. package/lib/features/utils/index.d.ts.map +1 -1
  182. package/lib/features/utils/index.js +1 -0
  183. package/lib/features/utils/index.js.map +1 -1
  184. package/lib/features/utils/interaction.d.ts +55 -0
  185. package/lib/features/utils/interaction.d.ts.map +1 -0
  186. package/lib/features/utils/interaction.js +77 -0
  187. package/lib/features/utils/interaction.js.map +1 -0
  188. package/lib/features/views/ViewResults.js +2 -2
  189. package/lib/features/views/ViewResults.js.map +1 -1
  190. package/lib/i18n/locales/ar.json +7 -1
  191. package/lib/i18n/locales/de.json +7 -1
  192. package/lib/i18n/locales/en.json +7 -1
  193. package/lib/i18n/locales/es.json +7 -1
  194. package/lib/i18n/locales/fr.json +7 -1
  195. package/lib/i18n/locales/it.json +7 -1
  196. package/lib/i18n/locales/ja.json +7 -1
  197. package/lib/i18n/locales/ko.json +7 -1
  198. package/lib/i18n/locales/pt.json +7 -1
  199. package/lib/i18n/locales/ru.json +7 -1
  200. package/lib/i18n/locales/tr.json +7 -1
  201. package/lib/i18n/locales/zh-TW.json +7 -1
  202. package/lib/i18n/locales/zh.json +7 -1
  203. package/lib/layout/FullHeightLayout.js +2 -2
  204. package/lib/layout/FullHeightLayout.js.map +1 -1
  205. package/lib/layout/Navbar.js +4 -4
  206. package/lib/layout/Navbar.js.map +1 -1
  207. package/lib/layout/Sidebar.js +1 -1
  208. package/lib/layout/Sidebar.js.map +1 -1
  209. package/lib/session/UserSessionProvider.d.ts.map +1 -1
  210. package/lib/session/UserSessionProvider.js +2 -13
  211. package/lib/session/UserSessionProvider.js.map +1 -1
  212. package/lib/session/auth/authState.d.ts +13 -0
  213. package/lib/session/auth/authState.d.ts.map +1 -0
  214. package/lib/session/auth/authState.js +37 -0
  215. package/lib/session/auth/authState.js.map +1 -0
  216. package/lib/session/auth/domainRouting.d.ts +39 -0
  217. package/lib/session/auth/domainRouting.d.ts.map +1 -1
  218. package/lib/session/auth/domainRouting.js +85 -0
  219. package/lib/session/auth/domainRouting.js.map +1 -1
  220. package/lib/session/auth/useAuthState.d.ts +4 -7
  221. package/lib/session/auth/useAuthState.d.ts.map +1 -1
  222. package/lib/session/auth/useAuthState.js +5 -41
  223. package/lib/session/auth/useAuthState.js.map +1 -1
  224. package/lib/session/index.d.ts +1 -0
  225. package/lib/session/index.d.ts.map +1 -1
  226. package/lib/session/index.js +2 -0
  227. package/lib/session/index.js.map +1 -1
  228. package/lib/shell/SplashScreen.d.ts +1 -1
  229. package/lib/shell/SplashScreen.d.ts.map +1 -1
  230. package/lib/shell/SplashScreen.js +6 -2
  231. package/lib/shell/SplashScreen.js.map +1 -1
  232. package/lib/shell/VertesiaShell.js +1 -1
  233. package/lib/shell/VertesiaShell.js.map +1 -1
  234. package/lib/shell/apps/AppProjectSelector.js +1 -1
  235. package/lib/shell/apps/AppProjectSelector.js.map +1 -1
  236. package/lib/shell/apps/StandaloneApp.js +2 -2
  237. package/lib/shell/apps/StandaloneApp.js.map +1 -1
  238. package/lib/shell/login/SignInPrimitives.js +2 -2
  239. package/lib/shell/login/SignInPrimitives.js.map +1 -1
  240. package/lib/shell/login/SigninScreen.js +1 -1
  241. package/lib/shell/login/SigninScreen.js.map +1 -1
  242. package/lib/shell/login/SignupForm.js +1 -1
  243. package/lib/shell/login/SignupForm.js.map +1 -1
  244. package/lib/shell/login/TerminalLogin.js +2 -2
  245. package/lib/shell/login/TerminalLogin.js.map +1 -1
  246. package/lib/shell/login/UserInfo.d.ts.map +1 -1
  247. package/lib/shell/login/UserInfo.js +1 -1
  248. package/lib/shell/login/UserInfo.js.map +1 -1
  249. package/lib/shell/login/UserSessionMenu.js +1 -1
  250. package/lib/shell/login/UserSessionMenu.js.map +1 -1
  251. package/lib/vertesia-ui-core.js +7 -7
  252. package/lib/vertesia-ui-core.js.map +1 -1
  253. package/lib/vertesia-ui-features.js +179 -182
  254. package/lib/vertesia-ui-features.js.map +1 -1
  255. package/lib/vertesia-ui-i18n.BfN7iOHb.chunk.js +5 -0
  256. package/lib/vertesia-ui-i18n.BfN7iOHb.chunk.js.map +1 -0
  257. package/lib/vertesia-ui-i18n.BjH2zEZw.chunk.js +5 -0
  258. package/lib/vertesia-ui-i18n.BjH2zEZw.chunk.js.map +1 -0
  259. package/lib/vertesia-ui-i18n.BjSwAZXl.chunk.js +5 -0
  260. package/lib/vertesia-ui-i18n.BjSwAZXl.chunk.js.map +1 -0
  261. package/lib/vertesia-ui-i18n.C7PUm5Au.chunk.js +5 -0
  262. package/lib/vertesia-ui-i18n.C7PUm5Au.chunk.js.map +1 -0
  263. package/lib/vertesia-ui-i18n.CF_1mUS5.chunk.js +5 -0
  264. package/lib/vertesia-ui-i18n.CF_1mUS5.chunk.js.map +1 -0
  265. package/lib/vertesia-ui-i18n.ChfUl3_-.chunk.js +5 -0
  266. package/lib/vertesia-ui-i18n.ChfUl3_-.chunk.js.map +1 -0
  267. package/lib/vertesia-ui-i18n.D-Sk-5d1.chunk.js +5 -0
  268. package/lib/vertesia-ui-i18n.D-Sk-5d1.chunk.js.map +1 -0
  269. package/lib/vertesia-ui-i18n.D4rnu1_S.chunk.js +5 -0
  270. package/lib/vertesia-ui-i18n.D4rnu1_S.chunk.js.map +1 -0
  271. package/lib/vertesia-ui-i18n.DDf0-laK.chunk.js +5 -0
  272. package/lib/vertesia-ui-i18n.DDf0-laK.chunk.js.map +1 -0
  273. package/lib/vertesia-ui-i18n.DN79y06J.chunk.js +5 -0
  274. package/lib/vertesia-ui-i18n.DN79y06J.chunk.js.map +1 -0
  275. package/lib/vertesia-ui-i18n.DWLIciYQ.chunk.js +5 -0
  276. package/lib/vertesia-ui-i18n.DWLIciYQ.chunk.js.map +1 -0
  277. package/lib/vertesia-ui-i18n.DvF_YaAJ.chunk.js +5 -0
  278. package/lib/vertesia-ui-i18n.DvF_YaAJ.chunk.js.map +1 -0
  279. package/lib/vertesia-ui-i18n.js +2 -2
  280. package/lib/vertesia-ui-layout.js +1 -1
  281. package/lib/vertesia-ui-layout.js.map +1 -1
  282. package/lib/vertesia-ui-rich-text.js +24 -24
  283. package/lib/vertesia-ui-rich-text.js.map +1 -1
  284. package/lib/vertesia-ui-session.js +1 -1
  285. package/lib/vertesia-ui-session.js.map +1 -1
  286. package/lib/vertesia-ui-shell.js +3 -3
  287. package/lib/vertesia-ui-shell.js.map +1 -1
  288. package/lib/vertesia-ui-widgets.js +54 -54
  289. package/lib/vertesia-ui-widgets.js.map +1 -1
  290. package/lib/widgets/Progress.js +1 -1
  291. package/lib/widgets/Progress.js.map +1 -1
  292. package/lib/widgets/form/Form.js +2 -2
  293. package/lib/widgets/form/Form.js.map +1 -1
  294. package/lib/widgets/form/fields.js +2 -2
  295. package/lib/widgets/form/fields.js.map +1 -1
  296. package/lib/widgets/json-view/JSONView.js +1 -1
  297. package/lib/widgets/json-view/JSONView.js.map +1 -1
  298. package/lib/widgets/markdown/MermaidDiagram.js +1 -1
  299. package/lib/widgets/markdown/MermaidDiagram.js.map +1 -1
  300. package/lib/widgets/markdown/remarkDirectiveHandler.d.ts +7 -2
  301. package/lib/widgets/markdown/remarkDirectiveHandler.d.ts.map +1 -1
  302. package/lib/widgets/markdown/remarkDirectiveHandler.js +19 -4
  303. package/lib/widgets/markdown/remarkDirectiveHandler.js.map +1 -1
  304. package/lib/widgets/monacoEditor/MonacoEditor.d.ts.map +1 -1
  305. package/lib/widgets/monacoEditor/MonacoEditor.js +4 -2
  306. package/lib/widgets/monacoEditor/MonacoEditor.js.map +1 -1
  307. package/lib/widgets/monacoEditor/index.d.ts +1 -0
  308. package/lib/widgets/monacoEditor/index.d.ts.map +1 -1
  309. package/lib/widgets/monacoEditor/index.js +1 -0
  310. package/lib/widgets/monacoEditor/index.js.map +1 -1
  311. package/lib/widgets/monacoEditor/loadMonaco.d.ts +45 -0
  312. package/lib/widgets/monacoEditor/loadMonaco.d.ts.map +1 -0
  313. package/lib/widgets/monacoEditor/loadMonaco.js +62 -0
  314. package/lib/widgets/monacoEditor/loadMonaco.js.map +1 -0
  315. package/lib/widgets/properties/PropertiesView.js +1 -1
  316. package/lib/widgets/properties/PropertiesView.js.map +1 -1
  317. package/lib/widgets/schema-editor/editor/Editable.js +2 -2
  318. package/lib/widgets/schema-editor/editor/Editable.js.map +1 -1
  319. package/lib/widgets/schema-editor/editor/PropertyEditor.js +1 -1
  320. package/lib/widgets/schema-editor/editor/PropertyEditor.js.map +1 -1
  321. package/lib/widgets/schema-editor/editor/SchemaEditor.js +2 -2
  322. package/lib/widgets/schema-editor/editor/SchemaEditor.js.map +1 -1
  323. package/lib/widgets/upload/DropZone.js +1 -1
  324. package/lib/widgets/upload/DropZone.js.map +1 -1
  325. package/lib/widgets/upload/UploadResultCategory.d.ts +1 -1
  326. package/lib/widgets/upload/UploadResultCategory.d.ts.map +1 -1
  327. package/lib/widgets/upload/UploadResultCategory.js +3 -3
  328. package/lib/widgets/upload/UploadResultCategory.js.map +1 -1
  329. package/lib/widgets/upload/UploadSummary.js +1 -1
  330. package/lib/widgets/upload/UploadSummary.js.map +1 -1
  331. package/lib/widgets/xml-viewer/components/XMLViewer.d.ts.map +1 -1
  332. package/lib/widgets/xml-viewer/components/XMLViewer.js +7 -3
  333. package/lib/widgets/xml-viewer/components/XMLViewer.js.map +1 -1
  334. package/lib/widgets/xml-viewer/hooks/useCollapsible.d.ts +1 -1
  335. package/lib/widgets/xml-viewer/hooks/useXMLViewer.d.ts +11 -13
  336. package/lib/widgets/xml-viewer/hooks/useXMLViewer.d.ts.map +1 -1
  337. package/lib/widgets/xml-viewer/hooks/useXMLViewer.js +41 -14
  338. package/lib/widgets/xml-viewer/hooks/useXMLViewer.js.map +1 -1
  339. package/package.json +7 -7
  340. package/src/__tests__/contrast.test.ts +1 -0
  341. package/src/core/components/Avatar.tsx +3 -3
  342. package/src/core/components/ComboBox.tsx +1 -1
  343. package/src/core/components/FileUpload.tsx +4 -4
  344. package/src/core/components/Link.tsx +1 -1
  345. package/src/core/components/SelectList.tsx +1 -1
  346. package/src/core/components/SidePanel.tsx +1 -1
  347. package/src/core/components/Spinner.tsx +1 -1
  348. package/src/core/components/TagsInput.tsx +8 -8
  349. package/src/core/components/shadcn/MessageBox.tsx +1 -1
  350. package/src/core/components/shadcn/button.tsx +1 -1
  351. package/src/core/components/shadcn/card.tsx +1 -3
  352. package/src/core/components/shadcn/command.tsx +5 -5
  353. package/src/core/components/shadcn/filters/DynamicLabel.tsx +1 -1
  354. package/src/core/components/shadcn/filters/comboBox/DateCombobox.tsx +3 -3
  355. package/src/core/components/shadcn/input.tsx +3 -3
  356. package/src/core/components/shadcn/modal/ConfirmModal.tsx +3 -3
  357. package/src/core/components/shadcn/modal/dialog.tsx +2 -4
  358. package/src/core/components/shadcn/overflowTabs.tsx +2 -2
  359. package/src/core/components/shadcn/popover.tsx +1 -1
  360. package/src/core/components/shadcn/radioGroup.tsx +5 -7
  361. package/src/core/components/shadcn/selectBox.tsx +1 -1
  362. package/src/core/components/shadcn/tabs.tsx +4 -2
  363. package/src/core/components/styles.ts +1 -1
  364. package/src/core/components/table/index.tsx +1 -1
  365. package/src/core/hooks/useFetch.test.ts +20 -0
  366. package/src/core/hooks/useFetch.ts +2 -0
  367. package/src/css/base.css +1 -1
  368. package/src/css/color.css +4 -0
  369. package/src/css/theme.css +1 -0
  370. package/src/css/typography.css +2 -2
  371. package/src/features/activity-doc/ActivityDoc.tsx +11 -11
  372. package/src/features/agent/chat/AgentChart.tsx +1 -1
  373. package/src/features/agent/chat/AskUserWidget.tsx +19 -23
  374. package/src/features/agent/chat/JumpingDots.tsx +3 -3
  375. package/src/features/agent/chat/ModernAgentConversation.tsx +3 -3
  376. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.test.tsx +60 -1
  377. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +44 -24
  378. package/src/features/agent/chat/ModernAgentOutput/BatchProgressPanel.tsx +12 -12
  379. package/src/features/agent/chat/ModernAgentOutput/Header.tsx +1 -1
  380. package/src/features/agent/chat/ModernAgentOutput/InlineSlideInPanel.tsx +4 -4
  381. package/src/features/agent/chat/ModernAgentOutput/MessageInput.tsx +2 -2
  382. package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +7 -12
  383. package/src/features/agent/chat/ModernAgentOutput/MessagesContainer.tsx +1 -1
  384. package/src/features/agent/chat/ModernAgentOutput/PlanPanel.tsx +16 -22
  385. package/src/features/agent/chat/ModernAgentOutput/SlideInPanel.tsx +4 -4
  386. package/src/features/agent/chat/ModernAgentOutput/SlidingMessages.tsx +2 -4
  387. package/src/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.tsx +21 -21
  388. package/src/features/agent/chat/ModernAgentOutput/StreamingMessage.tsx +4 -4
  389. package/src/features/agent/chat/ModernAgentOutput/SummaryConversation.ts +16 -1
  390. package/src/features/agent/chat/ModernAgentOutput/ToolCallGroup.tsx +19 -40
  391. package/src/features/agent/chat/ModernAgentOutput/requestInputMessages.test.ts +41 -0
  392. package/src/features/agent/chat/ModernAgentOutput/requestInputMessages.ts +19 -0
  393. package/src/features/agent/chat/ModernAgentOutput/utils.test.ts +93 -0
  394. package/src/features/agent/chat/SlidingThinkingIndicator.tsx +5 -2
  395. package/src/features/agent/chat/VegaLiteChart.tsx +6 -2
  396. package/src/features/errors/RowErrorBoundary.tsx +1 -1
  397. package/src/features/facets/AgentRunnerFacetsNav.tsx +1 -1
  398. package/src/features/facets/utils/VInteractionFacet.tsx +22 -34
  399. package/src/features/facets/utils/VUserFacet.tsx +1 -1
  400. package/src/features/layout/GenericPageNavHeader.tsx +9 -1
  401. package/src/features/layout/NotFoundView.tsx +1 -1
  402. package/src/features/magic-pdf/AnnotatedImageSlider.tsx +8 -16
  403. package/src/features/magic-pdf/ExtractedContentView.tsx +4 -4
  404. package/src/features/magic-pdf/MagicPdfView.tsx +1 -1
  405. package/src/features/pdf-viewer/PdfPageRenderer.tsx +2 -2
  406. package/src/features/pdf-viewer/PdfPageSlider.tsx +4 -4
  407. package/src/features/pdf-viewer/SimplePdfViewer.tsx +1 -1
  408. package/src/features/permissions/UserPermissionsProvider.test.tsx +172 -0
  409. package/src/features/permissions/UserPermissionsProvider.tsx +68 -21
  410. package/src/features/permissions/useRoleMappings.ts +105 -0
  411. package/src/features/store/collections/SelectCollection.tsx +1 -1
  412. package/src/features/store/objects/DocumentPreviewPanel.tsx +43 -53
  413. package/src/features/store/objects/DocumentTable.tsx +2 -2
  414. package/src/features/store/objects/components/DocumentIcon.tsx +4 -4
  415. package/src/features/store/objects/components/DocumentInput.tsx +3 -3
  416. package/src/features/store/objects/components/PropertiesEditorModal.tsx +2 -2
  417. package/src/features/store/objects/components/SaveVersionConfirmModal.tsx +2 -2
  418. package/src/features/store/objects/layout/documentLayout.tsx +2 -4
  419. package/src/features/store/objects/selection/SelectionActions.tsx +1 -1
  420. package/src/features/store/types/IntakePolicyEditor.tsx +70 -36
  421. package/src/features/store/types/IntakePolicyForm.tsx +11 -3
  422. package/src/features/store/types/SelectContentTypeModal.tsx +1 -1
  423. package/src/features/user/UserAvatar.tsx +3 -3
  424. package/src/features/user/UserInfo.tsx +11 -16
  425. package/src/features/utils/index.ts +1 -0
  426. package/src/features/utils/interaction.test.tsx +93 -0
  427. package/src/features/utils/interaction.tsx +125 -0
  428. package/src/features/views/ViewResults.tsx +3 -3
  429. package/src/i18n/locales/ar.json +7 -1
  430. package/src/i18n/locales/de.json +7 -1
  431. package/src/i18n/locales/en.json +7 -1
  432. package/src/i18n/locales/es.json +7 -1
  433. package/src/i18n/locales/fr.json +7 -1
  434. package/src/i18n/locales/it.json +7 -1
  435. package/src/i18n/locales/ja.json +7 -1
  436. package/src/i18n/locales/ko.json +7 -1
  437. package/src/i18n/locales/pt.json +7 -1
  438. package/src/i18n/locales/ru.json +7 -1
  439. package/src/i18n/locales/tr.json +7 -1
  440. package/src/i18n/locales/zh-TW.json +7 -1
  441. package/src/i18n/locales/zh.json +7 -1
  442. package/src/layout/FullHeightLayout.tsx +2 -2
  443. package/src/layout/Navbar.tsx +5 -5
  444. package/src/layout/Sidebar.tsx +1 -1
  445. package/src/session/UserSessionProvider.tsx +2 -15
  446. package/src/session/auth/authState.test.ts +35 -0
  447. package/src/session/auth/authState.ts +42 -0
  448. package/src/session/auth/domainRouting.test.ts +169 -1
  449. package/src/session/auth/domainRouting.ts +89 -0
  450. package/src/session/auth/useAuthState.ts +5 -49
  451. package/src/session/index.ts +6 -0
  452. package/src/shell/SplashScreen.test.tsx +22 -0
  453. package/src/shell/SplashScreen.tsx +6 -2
  454. package/src/shell/VertesiaShell.tsx +1 -1
  455. package/src/shell/apps/AppProjectSelector.tsx +1 -1
  456. package/src/shell/apps/StandaloneApp.tsx +9 -9
  457. package/src/shell/login/SignInPrimitives.tsx +2 -2
  458. package/src/shell/login/SigninScreen.tsx +1 -1
  459. package/src/shell/login/SignupForm.tsx +2 -2
  460. package/src/shell/login/TerminalLogin.tsx +5 -5
  461. package/src/shell/login/UserInfo.tsx +2 -5
  462. package/src/shell/login/UserSessionMenu.tsx +2 -2
  463. package/src/widgets/Progress.tsx +2 -2
  464. package/src/widgets/form/Form.tsx +4 -4
  465. package/src/widgets/form/fields.tsx +2 -2
  466. package/src/widgets/json-view/JSONView.tsx +1 -6
  467. package/src/widgets/markdown/ArtifactEditingSurface.test.tsx +33 -29
  468. package/src/widgets/markdown/MarkdownRenderer.test.tsx +52 -0
  469. package/src/widgets/markdown/MermaidDiagram.tsx +2 -2
  470. package/src/widgets/markdown/remarkDirectiveHandler.ts +21 -5
  471. package/src/widgets/monacoEditor/MonacoEditor.tsx +4 -2
  472. package/src/widgets/monacoEditor/index.ts +1 -0
  473. package/src/widgets/monacoEditor/loadMonaco.test.ts +63 -0
  474. package/src/widgets/monacoEditor/loadMonaco.ts +70 -0
  475. package/src/widgets/properties/PropertiesView.tsx +1 -1
  476. package/src/widgets/schema-editor/editor/Editable.tsx +2 -2
  477. package/src/widgets/schema-editor/editor/PropertyEditor.tsx +1 -1
  478. package/src/widgets/schema-editor/editor/SchemaEditor.tsx +2 -2
  479. package/src/widgets/upload/DropZone.tsx +1 -1
  480. package/src/widgets/upload/UploadResultCategory.tsx +7 -7
  481. package/src/widgets/upload/UploadSummary.tsx +4 -4
  482. package/src/widgets/xml-viewer/components/XMLViewer.tsx +7 -3
  483. package/src/widgets/xml-viewer/hooks/useXMLViewer.test.ts +60 -7
  484. package/src/widgets/xml-viewer/hooks/useXMLViewer.ts +70 -16
  485. package/lib/vertesia-ui-i18n.3yHWompP.chunk.js +0 -5
  486. package/lib/vertesia-ui-i18n.3yHWompP.chunk.js.map +0 -1
  487. package/lib/vertesia-ui-i18n.4XKCcnL0.chunk.js +0 -5
  488. package/lib/vertesia-ui-i18n.4XKCcnL0.chunk.js.map +0 -1
  489. package/lib/vertesia-ui-i18n.78KG4J25.chunk.js +0 -5
  490. package/lib/vertesia-ui-i18n.78KG4J25.chunk.js.map +0 -1
  491. package/lib/vertesia-ui-i18n.BN06mpp1.chunk.js +0 -5
  492. package/lib/vertesia-ui-i18n.BN06mpp1.chunk.js.map +0 -1
  493. package/lib/vertesia-ui-i18n.CSzKLlHJ.chunk.js +0 -5
  494. package/lib/vertesia-ui-i18n.CSzKLlHJ.chunk.js.map +0 -1
  495. package/lib/vertesia-ui-i18n.Ccus7aRh.chunk.js +0 -5
  496. package/lib/vertesia-ui-i18n.Ccus7aRh.chunk.js.map +0 -1
  497. package/lib/vertesia-ui-i18n.D9j3c6gI.chunk.js +0 -5
  498. package/lib/vertesia-ui-i18n.D9j3c6gI.chunk.js.map +0 -1
  499. package/lib/vertesia-ui-i18n.DAUg4rrI.chunk.js +0 -5
  500. package/lib/vertesia-ui-i18n.DAUg4rrI.chunk.js.map +0 -1
  501. package/lib/vertesia-ui-i18n.DSxVZKXy.chunk.js +0 -5
  502. package/lib/vertesia-ui-i18n.DSxVZKXy.chunk.js.map +0 -1
  503. package/lib/vertesia-ui-i18n.aahVhHvR.chunk.js +0 -5
  504. package/lib/vertesia-ui-i18n.aahVhHvR.chunk.js.map +0 -1
  505. package/lib/vertesia-ui-i18n.nZ3xJ26v.chunk.js +0 -5
  506. package/lib/vertesia-ui-i18n.nZ3xJ26v.chunk.js.map +0 -1
  507. package/lib/vertesia-ui-i18n.xPYbuFzT.chunk.js +0 -5
  508. package/lib/vertesia-ui-i18n.xPYbuFzT.chunk.js.map +0 -1
@@ -432,6 +432,12 @@
432
432
  "pdf.previousPage": "الصفحة السابقة",
433
433
  "pdf.zoomIn": "تكبير",
434
434
  "pdf.zoomOut": "تصغير",
435
+ "permissions.accessDenied": "ليس لديك إذن للوصول إلى مساحة العمل هذه.",
436
+ "permissions.connecting": "جارٍ الاتصال بمساحة العمل…",
437
+ "permissions.connectionFailed": "تعذّر الاتصال بمساحة العمل",
438
+ "permissions.loadingPermissions": "جارٍ تحميل أذوناتك.",
439
+ "permissions.retrying": "يستغرق هذا وقتًا أطول من المعتاد. سنواصل المحاولة تلقائيًا.",
440
+ "permissions.tryAgainLater": "يرجى المحاولة مرة أخرى بعد قليل.",
435
441
  "shell.accessDenied": "تم رفض الوصول",
436
442
  "shell.applicationNotRegistered": "التطبيق غير مسجل",
437
443
  "shell.organization": "المؤسسة",
@@ -1175,12 +1181,12 @@
1175
1181
  "intakePolicy.summary.source": "المصدر",
1176
1182
  "intakePolicy.summary.template": "النموذج",
1177
1183
  "intakePolicy.summary.toc": "الفهرس",
1184
+ "intakePolicy.tab.classification": "التصنيف",
1178
1185
  "intakePolicy.tab.conversion": "التحويل",
1179
1186
  "intakePolicy.tab.extraction": "الاستخراج",
1180
1187
  "intakePolicy.tab.grounding": "التأسيس بالأدلة",
1181
1188
  "intakePolicy.tab.json": "JSON",
1182
1189
  "intakePolicy.tab.output": "المخرجات",
1183
- "intakePolicy.tab.overview": "نظرة عامة",
1184
1190
  "intakePolicy.title": "سياسة الإدخال",
1185
1191
  "intakePolicy.toast.invalid": "سياسة إدخال غير صالحة",
1186
1192
  "intakePolicy.toast.saved": "تم حفظ سياسة الإدخال.",
@@ -420,6 +420,12 @@
420
420
  "pdf.previousPage": "Vorherige Seite",
421
421
  "pdf.zoomIn": "Vergrößern",
422
422
  "pdf.zoomOut": "Verkleinern",
423
+ "permissions.accessDenied": "Sie haben keine Berechtigung für diesen Arbeitsbereich.",
424
+ "permissions.connecting": "Verbindung zu Ihrem Arbeitsbereich wird hergestellt…",
425
+ "permissions.connectionFailed": "Die Verbindung zu Ihrem Arbeitsbereich ist fehlgeschlagen",
426
+ "permissions.loadingPermissions": "Ihre Berechtigungen werden geladen.",
427
+ "permissions.retrying": "Dies dauert länger als üblich. Wir versuchen es automatisch weiter.",
428
+ "permissions.tryAgainLater": "Bitte versuchen Sie es gleich noch einmal.",
423
429
  "shell.accessDenied": "Zugriff verweigert",
424
430
  "shell.applicationNotRegistered": "Anwendung nicht registriert",
425
431
  "shell.organization": "Organisation",
@@ -1127,12 +1133,12 @@
1127
1133
  "intakePolicy.summary.source": "Quelle",
1128
1134
  "intakePolicy.summary.template": "Vorlage",
1129
1135
  "intakePolicy.summary.toc": "Inhaltsverzeichnis",
1136
+ "intakePolicy.tab.classification": "Klassifizierung",
1130
1137
  "intakePolicy.tab.conversion": "Konvertierung",
1131
1138
  "intakePolicy.tab.extraction": "Extraktion",
1132
1139
  "intakePolicy.tab.grounding": "Belegung",
1133
1140
  "intakePolicy.tab.json": "JSON",
1134
1141
  "intakePolicy.tab.output": "Ausgabe",
1135
- "intakePolicy.tab.overview": "Übersicht",
1136
1142
  "intakePolicy.title": "Aufnahmerichtlinie",
1137
1143
  "intakePolicy.toast.invalid": "Ungültige Aufnahmerichtlinie",
1138
1144
  "intakePolicy.toast.saved": "Die Aufnahmerichtlinie wurde gespeichert.",
@@ -613,12 +613,12 @@
613
613
  "intakePolicy.summary.source": "Source",
614
614
  "intakePolicy.summary.template": "Template",
615
615
  "intakePolicy.summary.toc": "TOC",
616
+ "intakePolicy.tab.classification": "Classification",
616
617
  "intakePolicy.tab.conversion": "Conversion",
617
618
  "intakePolicy.tab.extraction": "Extraction",
618
619
  "intakePolicy.tab.grounding": "Grounding",
619
620
  "intakePolicy.tab.json": "JSON",
620
621
  "intakePolicy.tab.output": "Output",
621
- "intakePolicy.tab.overview": "Overview",
622
622
  "intakePolicy.title": "Intake Policy",
623
623
  "intakePolicy.toast.invalid": "Invalid intake policy",
624
624
  "intakePolicy.toast.saved": "The intake policy has been saved.",
@@ -730,6 +730,12 @@
730
730
  "pdf.previousPage": "Previous page",
731
731
  "pdf.zoomIn": "Zoom in",
732
732
  "pdf.zoomOut": "Zoom out",
733
+ "permissions.accessDenied": "You don’t have permission to access this workspace.",
734
+ "permissions.connecting": "Connecting to your workspace…",
735
+ "permissions.connectionFailed": "We couldn’t connect to your workspace",
736
+ "permissions.loadingPermissions": "Loading your permissions.",
737
+ "permissions.retrying": "This is taking longer than usual. We’ll keep trying automatically.",
738
+ "permissions.tryAgainLater": "Please try again in a moment.",
733
739
  "richText.addColumnLeft": "Add column left",
734
740
  "richText.addColumnRight": "Add column right",
735
741
  "richText.addRowAbove": "Add row above",
@@ -422,6 +422,12 @@
422
422
  "pdf.previousPage": "Página anterior",
423
423
  "pdf.zoomIn": "Acercar",
424
424
  "pdf.zoomOut": "Alejar",
425
+ "permissions.accessDenied": "No tienes permiso para acceder a este espacio de trabajo.",
426
+ "permissions.connecting": "Conectando con tu espacio de trabajo…",
427
+ "permissions.connectionFailed": "No pudimos conectar con tu espacio de trabajo",
428
+ "permissions.loadingPermissions": "Cargando tus permisos.",
429
+ "permissions.retrying": "Esto está tardando más de lo habitual. Seguiremos intentándolo automáticamente.",
430
+ "permissions.tryAgainLater": "Vuelve a intentarlo en un momento.",
425
431
  "shell.accessDenied": "Acceso denegado",
426
432
  "shell.applicationNotRegistered": "Aplicación no registrada",
427
433
  "shell.organization": "Organización",
@@ -1138,12 +1144,12 @@
1138
1144
  "intakePolicy.summary.source": "Fuente",
1139
1145
  "intakePolicy.summary.template": "Plantilla",
1140
1146
  "intakePolicy.summary.toc": "Índice",
1147
+ "intakePolicy.tab.classification": "Clasificación",
1141
1148
  "intakePolicy.tab.conversion": "Conversión",
1142
1149
  "intakePolicy.tab.extraction": "Extracción",
1143
1150
  "intakePolicy.tab.grounding": "Fundamentación",
1144
1151
  "intakePolicy.tab.json": "JSON",
1145
1152
  "intakePolicy.tab.output": "Salida",
1146
- "intakePolicy.tab.overview": "Resumen",
1147
1153
  "intakePolicy.title": "Política de ingesta",
1148
1154
  "intakePolicy.toast.invalid": "Política de ingesta no válida",
1149
1155
  "intakePolicy.toast.saved": "La política de ingesta se ha guardado.",
@@ -422,6 +422,12 @@
422
422
  "pdf.previousPage": "Page précédente",
423
423
  "pdf.zoomIn": "Zoom avant",
424
424
  "pdf.zoomOut": "Zoom arrière",
425
+ "permissions.accessDenied": "Vous n’avez pas l’autorisation d’accéder à cet espace de travail.",
426
+ "permissions.connecting": "Connexion à votre espace de travail…",
427
+ "permissions.connectionFailed": "Impossible de vous connecter à votre espace de travail",
428
+ "permissions.loadingPermissions": "Chargement de vos autorisations.",
429
+ "permissions.retrying": "Cela prend plus de temps que prévu. Nous réessayons automatiquement.",
430
+ "permissions.tryAgainLater": "Veuillez réessayer dans un instant.",
425
431
  "shell.accessDenied": "Accès refusé",
426
432
  "shell.applicationNotRegistered": "Application non enregistrée",
427
433
  "shell.organization": "Organisation",
@@ -1138,12 +1144,12 @@
1138
1144
  "intakePolicy.summary.source": "Source",
1139
1145
  "intakePolicy.summary.template": "Modèle",
1140
1146
  "intakePolicy.summary.toc": "Table des matières",
1147
+ "intakePolicy.tab.classification": "Classification",
1141
1148
  "intakePolicy.tab.conversion": "Conversion",
1142
1149
  "intakePolicy.tab.extraction": "Extraction",
1143
1150
  "intakePolicy.tab.grounding": "Ancrage",
1144
1151
  "intakePolicy.tab.json": "JSON",
1145
1152
  "intakePolicy.tab.output": "Sortie",
1146
- "intakePolicy.tab.overview": "Vue d’ensemble",
1147
1153
  "intakePolicy.title": "Politique d’ingestion",
1148
1154
  "intakePolicy.toast.invalid": "Politique d’ingestion non valide",
1149
1155
  "intakePolicy.toast.saved": "La politique d’ingestion a été enregistrée.",
@@ -422,6 +422,12 @@
422
422
  "pdf.previousPage": "Pagina precedente",
423
423
  "pdf.zoomIn": "Ingrandisci",
424
424
  "pdf.zoomOut": "Riduci",
425
+ "permissions.accessDenied": "Non hai il permesso di accedere a questo spazio di lavoro.",
426
+ "permissions.connecting": "Connessione al tuo spazio di lavoro…",
427
+ "permissions.connectionFailed": "Impossibile connettersi al tuo spazio di lavoro",
428
+ "permissions.loadingPermissions": "Caricamento delle autorizzazioni.",
429
+ "permissions.retrying": "L’operazione sta richiedendo più tempo del solito. Riproveremo automaticamente.",
430
+ "permissions.tryAgainLater": "Riprova tra un momento.",
425
431
  "shell.accessDenied": "Accesso negato",
426
432
  "shell.applicationNotRegistered": "Applicazione non registrata",
427
433
  "shell.organization": "Organizzazione",
@@ -1138,12 +1144,12 @@
1138
1144
  "intakePolicy.summary.source": "Fonte",
1139
1145
  "intakePolicy.summary.template": "Modello",
1140
1146
  "intakePolicy.summary.toc": "Indice",
1147
+ "intakePolicy.tab.classification": "Classificazione",
1141
1148
  "intakePolicy.tab.conversion": "Conversione",
1142
1149
  "intakePolicy.tab.extraction": "Estrazione",
1143
1150
  "intakePolicy.tab.grounding": "Fondamento",
1144
1151
  "intakePolicy.tab.json": "JSON",
1145
1152
  "intakePolicy.tab.output": "Risultato",
1146
- "intakePolicy.tab.overview": "Panoramica",
1147
1153
  "intakePolicy.title": "Criteri di acquisizione",
1148
1154
  "intakePolicy.toast.invalid": "Criteri di acquisizione non validi",
1149
1155
  "intakePolicy.toast.saved": "I criteri di acquisizione sono stati salvati.",
@@ -420,6 +420,12 @@
420
420
  "pdf.previousPage": "前のページ",
421
421
  "pdf.zoomIn": "ズームイン",
422
422
  "pdf.zoomOut": "ズームアウト",
423
+ "permissions.accessDenied": "このワークスペースへのアクセス権限がありません。",
424
+ "permissions.connecting": "ワークスペースに接続しています…",
425
+ "permissions.connectionFailed": "ワークスペースに接続できませんでした",
426
+ "permissions.loadingPermissions": "権限を読み込んでいます。",
427
+ "permissions.retrying": "通常より時間がかかっています。自動的に再試行します。",
428
+ "permissions.tryAgainLater": "少し待ってから再試行してください。",
423
429
  "shell.accessDenied": "アクセスが拒否されました",
424
430
  "shell.applicationNotRegistered": "アプリケーションが登録されていません",
425
431
  "shell.organization": "組織",
@@ -1126,12 +1132,12 @@
1126
1132
  "intakePolicy.summary.source": "ソース",
1127
1133
  "intakePolicy.summary.template": "テンプレート",
1128
1134
  "intakePolicy.summary.toc": "目次",
1135
+ "intakePolicy.tab.classification": "分類",
1129
1136
  "intakePolicy.tab.conversion": "変換",
1130
1137
  "intakePolicy.tab.extraction": "抽出",
1131
1138
  "intakePolicy.tab.grounding": "根拠付け",
1132
1139
  "intakePolicy.tab.json": "JSON",
1133
1140
  "intakePolicy.tab.output": "出力",
1134
- "intakePolicy.tab.overview": "概要",
1135
1141
  "intakePolicy.title": "取り込みポリシー",
1136
1142
  "intakePolicy.toast.invalid": "取り込みポリシーが無効です",
1137
1143
  "intakePolicy.toast.saved": "取り込みポリシーを保存しました。",
@@ -420,6 +420,12 @@
420
420
  "pdf.previousPage": "이전 페이지",
421
421
  "pdf.zoomIn": "확대",
422
422
  "pdf.zoomOut": "축소",
423
+ "permissions.accessDenied": "이 워크스페이스에 접근할 권한이 없습니다.",
424
+ "permissions.connecting": "워크스페이스에 연결 중…",
425
+ "permissions.connectionFailed": "워크스페이스에 연결할 수 없습니다",
426
+ "permissions.loadingPermissions": "권한을 불러오는 중입니다.",
427
+ "permissions.retrying": "평소보다 시간이 오래 걸리고 있습니다. 자동으로 계속 재시도합니다.",
428
+ "permissions.tryAgainLater": "잠시 후 다시 시도해 주세요.",
423
429
  "shell.accessDenied": "접근이 거부되었습니다",
424
430
  "shell.applicationNotRegistered": "애플리케이션이 등록되지 않았습니다",
425
431
  "shell.organization": "조직",
@@ -1126,12 +1132,12 @@
1126
1132
  "intakePolicy.summary.source": "소스",
1127
1133
  "intakePolicy.summary.template": "모델",
1128
1134
  "intakePolicy.summary.toc": "색인",
1135
+ "intakePolicy.tab.classification": "분류",
1129
1136
  "intakePolicy.tab.conversion": "변환",
1130
1137
  "intakePolicy.tab.extraction": "추출",
1131
1138
  "intakePolicy.tab.grounding": "근거화",
1132
1139
  "intakePolicy.tab.json": "JSON",
1133
1140
  "intakePolicy.tab.output": "출력",
1134
- "intakePolicy.tab.overview": "개요",
1135
1141
  "intakePolicy.title": "수집 정책",
1136
1142
  "intakePolicy.toast.invalid": "잘못된 수집 정책",
1137
1143
  "intakePolicy.toast.saved": "수집 정책을 저장했습니다.",
@@ -422,6 +422,12 @@
422
422
  "pdf.previousPage": "Página anterior",
423
423
  "pdf.zoomIn": "Ampliar",
424
424
  "pdf.zoomOut": "Reduzir",
425
+ "permissions.accessDenied": "Você não tem permissão para acessar este espaço de trabalho.",
426
+ "permissions.connecting": "Conectando ao seu espaço de trabalho…",
427
+ "permissions.connectionFailed": "Não foi possível conectar ao seu espaço de trabalho",
428
+ "permissions.loadingPermissions": "Carregando suas permissões.",
429
+ "permissions.retrying": "Isso está demorando mais que o normal. Continuaremos tentando automaticamente.",
430
+ "permissions.tryAgainLater": "Tente novamente em instantes.",
425
431
  "shell.accessDenied": "Acesso negado",
426
432
  "shell.applicationNotRegistered": "Aplicativo não registrado",
427
433
  "shell.organization": "Organização",
@@ -1138,12 +1144,12 @@
1138
1144
  "intakePolicy.summary.source": "Origem",
1139
1145
  "intakePolicy.summary.template": "Modelo",
1140
1146
  "intakePolicy.summary.toc": "Sumário",
1147
+ "intakePolicy.tab.classification": "Classificação",
1141
1148
  "intakePolicy.tab.conversion": "Conversão",
1142
1149
  "intakePolicy.tab.extraction": "Extração",
1143
1150
  "intakePolicy.tab.grounding": "Fundamentação",
1144
1151
  "intakePolicy.tab.json": "JSON",
1145
1152
  "intakePolicy.tab.output": "Saída",
1146
- "intakePolicy.tab.overview": "Visão geral",
1147
1153
  "intakePolicy.title": "Política de ingestão",
1148
1154
  "intakePolicy.toast.invalid": "Política de ingestão inválida",
1149
1155
  "intakePolicy.toast.saved": "A política de ingestão foi salva.",
@@ -426,6 +426,12 @@
426
426
  "pdf.previousPage": "Предыдущая страница",
427
427
  "pdf.zoomIn": "Увеличить",
428
428
  "pdf.zoomOut": "Уменьшить",
429
+ "permissions.accessDenied": "У вас нет разрешения на доступ к этому рабочему пространству.",
430
+ "permissions.connecting": "Подключение к рабочему пространству…",
431
+ "permissions.connectionFailed": "Не удалось подключиться к рабочему пространству",
432
+ "permissions.loadingPermissions": "Загрузка ваших разрешений.",
433
+ "permissions.retrying": "Это занимает больше времени, чем обычно. Мы продолжим попытки автоматически.",
434
+ "permissions.tryAgainLater": "Повторите попытку через некоторое время.",
429
435
  "shell.accessDenied": "Доступ запрещён",
430
436
  "shell.applicationNotRegistered": "Приложение не зарегистрировано",
431
437
  "shell.organization": "Организация",
@@ -1151,12 +1157,12 @@
1151
1157
  "intakePolicy.summary.source": "Источник",
1152
1158
  "intakePolicy.summary.template": "Модель",
1153
1159
  "intakePolicy.summary.toc": "Индекс",
1160
+ "intakePolicy.tab.classification": "Классификация",
1154
1161
  "intakePolicy.tab.conversion": "Преобразование",
1155
1162
  "intakePolicy.tab.extraction": "Извлечение",
1156
1163
  "intakePolicy.tab.grounding": "Обоснование",
1157
1164
  "intakePolicy.tab.json": "JSON",
1158
1165
  "intakePolicy.tab.output": "Вывод",
1159
- "intakePolicy.tab.overview": "Обзор",
1160
1166
  "intakePolicy.title": "Политика приёма",
1161
1167
  "intakePolicy.toast.invalid": "Недопустимая политика приёма",
1162
1168
  "intakePolicy.toast.saved": "Политика приёма сохранена.",
@@ -420,6 +420,12 @@
420
420
  "pdf.previousPage": "Önceki sayfa",
421
421
  "pdf.zoomIn": "Yakınlaştır",
422
422
  "pdf.zoomOut": "Uzaklaştır",
423
+ "permissions.accessDenied": "Bu çalışma alanına erişim izniniz yok.",
424
+ "permissions.connecting": "Çalışma alanınıza bağlanılıyor…",
425
+ "permissions.connectionFailed": "Çalışma alanınıza bağlanılamadı",
426
+ "permissions.loadingPermissions": "İzinleriniz yükleniyor.",
427
+ "permissions.retrying": "Bu işlem normalden uzun sürüyor. Otomatik olarak yeniden deneyeceğiz.",
428
+ "permissions.tryAgainLater": "Lütfen biraz sonra tekrar deneyin.",
423
429
  "shell.accessDenied": "Erişim Reddedildi",
424
430
  "shell.applicationNotRegistered": "Uygulama kayıtlı değil",
425
431
  "shell.organization": "Kuruluş",
@@ -1127,12 +1133,12 @@
1127
1133
  "intakePolicy.summary.source": "Kaynak",
1128
1134
  "intakePolicy.summary.template": "Model",
1129
1135
  "intakePolicy.summary.toc": "Dizin",
1136
+ "intakePolicy.tab.classification": "Sınıflandırma",
1130
1137
  "intakePolicy.tab.conversion": "Dönüştürme",
1131
1138
  "intakePolicy.tab.extraction": "Çıkarma",
1132
1139
  "intakePolicy.tab.grounding": "Temellendirme",
1133
1140
  "intakePolicy.tab.json": "JSON",
1134
1141
  "intakePolicy.tab.output": "Çıktı",
1135
- "intakePolicy.tab.overview": "Genel bakış",
1136
1142
  "intakePolicy.title": "Alım ilkesi",
1137
1143
  "intakePolicy.toast.invalid": "Geçersiz alım ilkesi",
1138
1144
  "intakePolicy.toast.saved": "Alım ilkesi kaydedildi.",
@@ -420,6 +420,12 @@
420
420
  "pdf.previousPage": "上一頁",
421
421
  "pdf.zoomIn": "放大",
422
422
  "pdf.zoomOut": "縮小",
423
+ "permissions.accessDenied": "您沒有存取此工作區的權限。",
424
+ "permissions.connecting": "正在連線至您的工作區…",
425
+ "permissions.connectionFailed": "無法連線至您的工作區",
426
+ "permissions.loadingPermissions": "正在載入您的權限。",
427
+ "permissions.retrying": "這比平時需要更長時間。我們會繼續自動重試。",
428
+ "permissions.tryAgainLater": "請稍後再試。",
423
429
  "shell.accessDenied": "存取被拒絕",
424
430
  "shell.applicationNotRegistered": "應用程式未註冊",
425
431
  "shell.organization": "組織",
@@ -1126,12 +1132,12 @@
1126
1132
  "intakePolicy.summary.source": "來源",
1127
1133
  "intakePolicy.summary.template": "模板",
1128
1134
  "intakePolicy.summary.toc": "目录",
1135
+ "intakePolicy.tab.classification": "分類",
1129
1136
  "intakePolicy.tab.conversion": "轉換",
1130
1137
  "intakePolicy.tab.extraction": "提取",
1131
1138
  "intakePolicy.tab.grounding": "依據",
1132
1139
  "intakePolicy.tab.json": "JSON",
1133
1140
  "intakePolicy.tab.output": "輸出",
1134
- "intakePolicy.tab.overview": "概覽",
1135
1141
  "intakePolicy.title": "采集策略",
1136
1142
  "intakePolicy.toast.invalid": "采集策略無效",
1137
1143
  "intakePolicy.toast.saved": "采集策略已保存。",
@@ -420,6 +420,12 @@
420
420
  "pdf.previousPage": "上一页",
421
421
  "pdf.zoomIn": "放大",
422
422
  "pdf.zoomOut": "缩小",
423
+ "permissions.accessDenied": "您没有访问此工作区的权限。",
424
+ "permissions.connecting": "正在连接到您的工作区…",
425
+ "permissions.connectionFailed": "无法连接到您的工作区",
426
+ "permissions.loadingPermissions": "正在加载您的权限。",
427
+ "permissions.retrying": "这比平时需要更长时间。我们会继续自动重试。",
428
+ "permissions.tryAgainLater": "请稍后重试。",
423
429
  "shell.accessDenied": "访问被拒绝",
424
430
  "shell.applicationNotRegistered": "应用未注册",
425
431
  "shell.organization": "组织",
@@ -1126,12 +1132,12 @@
1126
1132
  "intakePolicy.summary.source": "来源",
1127
1133
  "intakePolicy.summary.template": "模板",
1128
1134
  "intakePolicy.summary.toc": "目录",
1135
+ "intakePolicy.tab.classification": "分类",
1129
1136
  "intakePolicy.tab.conversion": "转换",
1130
1137
  "intakePolicy.tab.extraction": "提取",
1131
1138
  "intakePolicy.tab.grounding": "依据",
1132
1139
  "intakePolicy.tab.json": "JSON",
1133
1140
  "intakePolicy.tab.output": "输出",
1134
- "intakePolicy.tab.overview": "概览",
1135
1141
  "intakePolicy.title": "采集策略",
1136
1142
  "intakePolicy.toast.invalid": "采集策略无效",
1137
1143
  "intakePolicy.toast.saved": "采集策略已保存。",
@@ -27,11 +27,11 @@ FullHeightLayout.Body = function Body({ className, children }: BodyProps) {
27
27
  };
28
28
 
29
29
  FullHeightLayout.VR = function VDivider() {
30
- return <div className="w-[1px] border border-red-200"></div>;
30
+ return <div className="w-[1px] border border-destructive"></div>;
31
31
  };
32
32
 
33
33
  FullHeightLayout.HR = function HDivider() {
34
- return <div className="w-full h-1 border-b border-red-200"></div>;
34
+ return <div className="w-full h-1 border-b border-destructive"></div>;
35
35
  };
36
36
 
37
37
  FullHeightLayout.Flex = function Flex({ className, children }: BodyProps) {
@@ -42,12 +42,12 @@ function SearchBox(_props: SearchBoxProps) {
42
42
  {t('layout.search')}
43
43
  </label>
44
44
  <Search
45
- className="pointer-events-none absolute inset-y-0 start-0 h-full w-5 text-gray-400"
45
+ className="pointer-events-none absolute inset-y-0 start-0 h-full w-5 text-muted"
46
46
  aria-hidden="true"
47
47
  />
48
48
  <input
49
49
  id="search-field"
50
- className="block h-full w-full border-0 py-0 ps-8 pe-0 text-gray-900 placeholder:text-gray-400 focus:ring-0 sm:text-sm"
50
+ className="block h-full w-full border-0 py-0 ps-8 pe-0 text-foreground placeholder:text-muted focus:ring-0 sm:text-sm"
51
51
  placeholder={t('layout.searchPlaceholder')}
52
52
  type="search"
53
53
  name="search"
@@ -85,7 +85,7 @@ export function NavbarSeparator({ visible }: NavbarSeparatorProps) {
85
85
  if (visible) {
86
86
  visibility = visible === 'mobile' ? 'lg:hidden' : 'hidden lg:block';
87
87
  }
88
- return <div className={`h-6 w-px bg-gray-900/10 dark:bg-slate-900/0.1 ${visibility}`} aria-hidden="true" />;
88
+ return <div className={`h-6 w-px bg-muted/10 dark:bg-muted/0.1 ${visibility}`} aria-hidden="true" />;
89
89
  }
90
90
 
91
91
  interface NavbarIconButtonProps {
@@ -97,7 +97,7 @@ export function NavbarIconButton({ title, icon: Icon, onClick }: NavbarIconButto
97
97
  return (
98
98
  <button
99
99
  type="button"
100
- className="-m-2.5 p-2.5 text-gray-400 dark:text-slate-50 hover:text-gray-500"
100
+ className="-m-2.5 p-2.5 text-muted dark:text-foreground hover:text-muted"
101
101
  onClick={onClick}
102
102
  >
103
103
  <span className="sr-only">{title}</span>
@@ -120,7 +120,7 @@ interface NavbarLinkProps {
120
120
  }
121
121
  export function NavbarLink({ href, onClick, children }: NavbarLinkProps) {
122
122
  return (
123
- <a className="dark:text-slate-50" href={href} onClick={onClick}>
123
+ <a className="dark:text-foreground" href={href} onClick={onClick}>
124
124
  {children}
125
125
  </a>
126
126
  );
@@ -12,7 +12,7 @@ interface SidebarProps {
12
12
 
13
13
  export function Sidebar({ children, logo, className }: SidebarProps) {
14
14
  return (
15
- <div className={clsx(className || 'bg-indigo-600 dark:bg-indigo-950', 'flex flex-col h-full')}>
15
+ <div className={clsx(className || 'bg-primary', 'flex flex-col h-full')}>
16
16
  {logo && <div className="-mx-2 flex h-auto my-4 shrink-0 self-start">{logo}</div>}
17
17
  <div className="flex-1 min-h-0 overflow-hidden px-0 lg:px-2">
18
18
  <nav className="h-full flex flex-col">
@@ -12,13 +12,11 @@ import {
12
12
  resolveAuthSelection,
13
13
  UserNotFoundError,
14
14
  } from './auth/composable';
15
- import { authReturnUrl, centralAuthRedirectUrl, shouldRedirectToCentralAuth } from './auth/domainRouting';
15
+ import { redirectToCentralAuth, shouldRedirectToCentralAuth } from './auth/domainRouting';
16
16
  import { getFirebaseAuth } from './auth/firebase';
17
17
  import { useAuthState } from './auth/useAuthState';
18
18
  import { UserSession, UserSessionContext } from './UserSession';
19
19
 
20
- const CENTRAL_AUTH_REDIRECT = 'https://internal-auth.vertesia.app/';
21
-
22
20
  function clearAuthHash() {
23
21
  const url = new URL(window.location.href);
24
22
  url.hash = '';
@@ -66,7 +64,7 @@ export function UserSessionProvider({ children, loadOnboardingStatus = true }: U
66
64
  const token = hashParams.get('token');
67
65
  const state = hashParams.get('state');
68
66
  const [session, setSession] = useState<UserSession>(new UserSession());
69
- const { generateState, verifyState, clearState } = useAuthState();
67
+ const { verifyState, clearState } = useAuthState();
70
68
  const hasInitiatedAuthRef = useRef(false);
71
69
  const authFlowRef = useRef<(() => undefined | (() => void)) | undefined>(undefined);
72
70
 
@@ -110,17 +108,6 @@ export function UserSessionProvider({ children, loadOnboardingStatus = true }: U
110
108
  return true;
111
109
  };
112
110
 
113
- const redirectToCentralAuth = (selection: { accountId?: string; projectId?: string }) => {
114
- const url = centralAuthRedirectUrl({
115
- centralAuthUrl: CENTRAL_AUTH_REDIRECT,
116
- stsEndpoint: Env.endpoints.sts ?? 'https://sts.vertesia.io',
117
- returnUrl: authReturnUrl(),
118
- state: generateState(),
119
- ...selection,
120
- });
121
- location.replace(url.toString());
122
- };
123
-
124
111
  authFlowRef.current = () => {
125
112
  // Make this effect idempotent - only run auth flow once
126
113
  if (hasInitiatedAuthRef.current) {
@@ -0,0 +1,35 @@
1
+ import { renderHook } from '@testing-library/react';
2
+ import { afterEach, describe, expect, it, vi } from 'vitest';
3
+ import { generateAuthState, verifyAuthState } from './authState';
4
+ import { useAuthState } from './useAuthState';
5
+
6
+ afterEach(() => {
7
+ sessionStorage.clear();
8
+ vi.useRealTimers();
9
+ });
10
+
11
+ describe('shared auth state', () => {
12
+ it('lets the provider hook verify and clear state generated before React mounts', () => {
13
+ const state = generateAuthState();
14
+ const { result } = renderHook(() => useAuthState());
15
+ expect(result.current.verifyState(state)).toBeUndefined();
16
+ result.current.clearState();
17
+ expect(verifyAuthState(state)).toContain('State mismatched');
18
+ expect(sessionStorage.getItem('auth_state_expiry')).toBeNull();
19
+ });
20
+
21
+ it('keeps hook-generated state compatible with the shared verifier', () => {
22
+ const { result } = renderHook(() => useAuthState());
23
+ const state = result.current.generateState();
24
+ expect(verifyAuthState(state)).toBeUndefined();
25
+ expect(verifyAuthState(null)).toBe('Missing state');
26
+ expect(verifyAuthState('wrong')).toContain('State mismatched');
27
+ });
28
+
29
+ it('rejects the recorded state after the existing five-minute lifetime', () => {
30
+ vi.useFakeTimers();
31
+ const state = generateAuthState();
32
+ vi.advanceTimersByTime(5 * 60 * 1000 + 1);
33
+ expect(verifyAuthState(state)).toBe('State expired');
34
+ });
35
+ });
@@ -0,0 +1,42 @@
1
+ /**
2
+ * The `state` parameter binding a Central Auth round-trip to the tab that started it.
3
+ *
4
+ * Plain functions rather than a hook, because the round-trip is not always started from a
5
+ * component: an expired session is renewed from the token layer, which has no React context to
6
+ * call {@link useAuthState} from. The hook wraps these so both paths write the same record.
7
+ */
8
+
9
+ const AUTH_STATE_KEY = 'auth_state';
10
+ const STATE_EXPIRY_KEY = 'auth_state_expiry';
11
+ const STATE_TTL = 5 * 60 * 1000; // 5 min
12
+
13
+ /** Mint a state value and record it for {@link verifyAuthState}. */
14
+ export function generateAuthState(): string {
15
+ const state = crypto.randomUUID();
16
+ sessionStorage.setItem(AUTH_STATE_KEY, state);
17
+ sessionStorage.setItem(STATE_EXPIRY_KEY, String(Date.now() + STATE_TTL));
18
+ return state;
19
+ }
20
+
21
+ /** The reason `returnedState` is unacceptable, or undefined when it is good. */
22
+ export function verifyAuthState(returnedState: string | null): string | undefined {
23
+ if (!returnedState) {
24
+ return 'Missing state';
25
+ }
26
+
27
+ const savedState = sessionStorage.getItem(AUTH_STATE_KEY);
28
+ const expiryTime = parseInt(sessionStorage.getItem(STATE_EXPIRY_KEY) || '0', 10);
29
+
30
+ if (savedState !== returnedState) {
31
+ return `State mismatched (${savedState} !== ${returnedState})`;
32
+ }
33
+ if (Date.now() > expiryTime) {
34
+ return 'State expired';
35
+ }
36
+ return undefined;
37
+ }
38
+
39
+ export function clearAuthState(): void {
40
+ sessionStorage.removeItem(AUTH_STATE_KEY);
41
+ sessionStorage.removeItem(STATE_EXPIRY_KEY);
42
+ }