@vertesia/ui 1.0.0-dev.20260305.083323Z → 1.0.0
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.
- package/lib/esm/core/components/SelectList.js +3 -1
- package/lib/esm/core/components/SelectList.js.map +1 -1
- package/lib/esm/core/components/SidePanel.js +2 -2
- package/lib/esm/core/components/SidePanel.js.map +1 -1
- package/lib/esm/core/components/index.js +0 -5
- package/lib/esm/core/components/index.js.map +1 -1
- package/lib/esm/core/components/shadcn/breadcrumb.js +11 -7
- package/lib/esm/core/components/shadcn/breadcrumb.js.map +1 -1
- package/lib/esm/core/components/shadcn/button.js +5 -3
- package/lib/esm/core/components/shadcn/button.js.map +1 -1
- package/lib/esm/core/components/shadcn/collaspible.js +14 -0
- package/lib/esm/core/components/shadcn/collaspible.js.map +1 -0
- package/lib/esm/core/components/shadcn/dropdown.js +61 -0
- package/lib/esm/core/components/shadcn/dropdown.js.map +1 -0
- package/lib/esm/core/components/shadcn/filters/comboBox/DateCombobox.js +3 -1
- package/lib/esm/core/components/shadcn/filters/comboBox/DateCombobox.js.map +1 -1
- package/lib/esm/core/components/shadcn/filters/comboBox/SelectCombobox.js +3 -1
- package/lib/esm/core/components/shadcn/filters/comboBox/SelectCombobox.js.map +1 -1
- package/lib/esm/core/components/shadcn/filters/comboBox/StringListCombobox.js +1 -1
- package/lib/esm/core/components/shadcn/filters/comboBox/StringListCombobox.js.map +1 -1
- package/lib/esm/core/components/shadcn/filters/filter/StringListFilter.js +1 -1
- package/lib/esm/core/components/shadcn/filters/filter/StringListFilter.js.map +1 -1
- package/lib/esm/core/components/shadcn/filters/filter/dateFilter.js +4 -2
- package/lib/esm/core/components/shadcn/filters/filter/dateFilter.js.map +1 -1
- package/lib/esm/core/components/shadcn/filters/filterBar.js +7 -4
- package/lib/esm/core/components/shadcn/filters/filterBar.js.map +1 -1
- package/lib/esm/core/components/shadcn/index.js +4 -0
- package/lib/esm/core/components/shadcn/index.js.map +1 -1
- package/lib/esm/core/components/shadcn/modal/ConfirmModal.js +4 -2
- package/lib/esm/core/components/shadcn/modal/ConfirmModal.js.map +1 -1
- package/lib/esm/core/components/shadcn/modal/DeleteModal.js +5 -3
- package/lib/esm/core/components/shadcn/modal/DeleteModal.js.map +1 -1
- package/lib/esm/core/components/shadcn/popover.js +11 -7
- package/lib/esm/core/components/shadcn/popover.js.map +1 -1
- package/lib/esm/core/components/shadcn/radioGroup.js +29 -0
- package/lib/esm/core/components/shadcn/radioGroup.js.map +1 -0
- package/lib/esm/core/components/shadcn/switch.js +19 -0
- package/lib/esm/core/components/shadcn/switch.js.map +1 -0
- package/lib/esm/core/components/shadcn/tabs.js +6 -6
- package/lib/esm/core/components/shadcn/tabs.js.map +1 -1
- package/lib/esm/core/components/shadcn/theme/ThemeSwitcher.js +7 -4
- package/lib/esm/core/components/shadcn/theme/ThemeSwitcher.js.map +1 -1
- package/lib/esm/core/components/toast/NotificationPanel.js +3 -3
- package/lib/esm/core/components/toast/NotificationPanel.js.map +1 -1
- package/lib/esm/env/index.js +11 -1
- package/lib/esm/env/index.js.map +1 -1
- package/lib/esm/features/agent/PayloadBuilder.js +87 -15
- package/lib/esm/features/agent/PayloadBuilder.js.map +1 -1
- package/lib/esm/features/agent/chat/AgentRightPanel.js +159 -0
- package/lib/esm/features/agent/chat/AgentRightPanel.js.map +1 -0
- package/lib/esm/features/agent/chat/ArtifactsTab.js +69 -0
- package/lib/esm/features/agent/chat/ArtifactsTab.js.map +1 -0
- package/lib/esm/features/agent/chat/AskUserWidget.js +12 -6
- package/lib/esm/features/agent/chat/AskUserWidget.js.map +1 -1
- package/lib/esm/features/agent/chat/DocumentPanel.js +6 -3
- package/lib/esm/features/agent/chat/DocumentPanel.js.map +1 -1
- package/lib/esm/features/agent/chat/ImageLightbox.js +3 -1
- package/lib/esm/features/agent/chat/ImageLightbox.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentConversation.js +243 -106
- package/lib/esm/features/agent/chat/ModernAgentConversation.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +122 -52
- package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js +5 -3
- package/lib/esm/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js +57 -18
- package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js +82 -83
- package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js +16 -14
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js +20 -5
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/PlanPanel.js +8 -6
- package/lib/esm/features/agent/chat/ModernAgentOutput/PlanPanel.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js +12 -10
- package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/StreamingMessage.js +5 -3
- package/lib/esm/features/agent/chat/ModernAgentOutput/StreamingMessage.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/ToolCallGroup.js +104 -13
- package/lib/esm/features/agent/chat/ModernAgentOutput/ToolCallGroup.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js +9 -5
- package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js +160 -76
- package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js.map +1 -1
- package/lib/esm/features/agent/chat/SlidingThinkingIndicator.js +3 -1
- package/lib/esm/features/agent/chat/SlidingThinkingIndicator.js.map +1 -1
- package/lib/esm/features/agent/chat/VegaLiteChart.js +14 -2
- package/lib/esm/features/agent/chat/VegaLiteChart.js.map +1 -1
- package/lib/esm/features/agent/chat/hooks/useAgentPlans.js +3 -8
- package/lib/esm/features/agent/chat/hooks/useAgentPlans.js.map +1 -1
- package/lib/esm/features/agent/chat/hooks/useAgentStream.js +75 -16
- package/lib/esm/features/agent/chat/hooks/useAgentStream.js.map +1 -1
- package/lib/esm/features/agent/chat/hooks/useArtifacts.js +108 -0
- package/lib/esm/features/agent/chat/hooks/useArtifacts.js.map +1 -0
- package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js +56 -5
- package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js.map +1 -1
- package/lib/esm/features/agent/chat/hooks/useFileProcessing.js +12 -10
- package/lib/esm/features/agent/chat/hooks/useFileProcessing.js.map +1 -1
- package/lib/esm/features/errors/PanelErrorBoundary.js +3 -1
- package/lib/esm/features/errors/PanelErrorBoundary.js.map +1 -1
- package/lib/esm/features/facets/AgentRunnerFacetsNav.js +45 -33
- package/lib/esm/features/facets/AgentRunnerFacetsNav.js.map +1 -1
- package/lib/esm/features/facets/RunsFacetsNav.js +1 -1
- package/lib/esm/features/facets/RunsFacetsNav.js.map +1 -1
- package/lib/esm/features/facets/index.js +1 -1
- package/lib/esm/features/facets/index.js.map +1 -1
- package/lib/esm/features/layout/GenericPageNavHeader.js +40 -28
- package/lib/esm/features/layout/GenericPageNavHeader.js.map +1 -1
- package/lib/esm/features/layout/NotFoundView.js +3 -1
- package/lib/esm/features/layout/NotFoundView.js.map +1 -1
- package/lib/esm/features/magic-pdf/AnnotatedImageSlider.js +9 -5
- package/lib/esm/features/magic-pdf/AnnotatedImageSlider.js.map +1 -1
- package/lib/esm/features/magic-pdf/DownloadPopover.js +5 -4
- package/lib/esm/features/magic-pdf/DownloadPopover.js.map +1 -1
- package/lib/esm/features/magic-pdf/MagicPdfView.js +8 -5
- package/lib/esm/features/magic-pdf/MagicPdfView.js.map +1 -1
- package/lib/esm/features/pdf-viewer/PdfPageSlider.js +9 -5
- package/lib/esm/features/pdf-viewer/PdfPageSlider.js.map +1 -1
- package/lib/esm/features/pdf-viewer/SimplePdfViewer.js +5 -3
- package/lib/esm/features/pdf-viewer/SimplePdfViewer.js.map +1 -1
- package/lib/esm/features/permissions/UserPermissionsProvider.js +3 -1
- package/lib/esm/features/permissions/UserPermissionsProvider.js.map +1 -1
- package/lib/esm/features/store/collections/BrowseCollectionView.js +9 -1
- package/lib/esm/features/store/collections/BrowseCollectionView.js.map +1 -1
- package/lib/esm/features/store/collections/CollectionsTable.js +14 -7
- package/lib/esm/features/store/collections/CollectionsTable.js.map +1 -1
- package/lib/esm/features/store/collections/CreateCollection.js +12 -9
- package/lib/esm/features/store/collections/CreateCollection.js.map +1 -1
- package/lib/esm/features/store/collections/EditCollectionView.js +23 -19
- package/lib/esm/features/store/collections/EditCollectionView.js.map +1 -1
- package/lib/esm/features/store/collections/SelectCollection.js +25 -10
- package/lib/esm/features/store/collections/SelectCollection.js.map +1 -1
- package/lib/esm/features/store/collections/SharedPropsEditor.js +5 -3
- package/lib/esm/features/store/collections/SharedPropsEditor.js.map +1 -1
- package/lib/esm/features/store/collections/SyncMemberHeadsToggle.js +5 -3
- package/lib/esm/features/store/collections/SyncMemberHeadsToggle.js.map +1 -1
- package/lib/esm/features/store/objects/DocumentPreviewPanel.js +14 -12
- package/lib/esm/features/store/objects/DocumentPreviewPanel.js.map +1 -1
- package/lib/esm/features/store/objects/DocumentSearchResults.js +15 -5
- package/lib/esm/features/store/objects/DocumentSearchResults.js.map +1 -1
- package/lib/esm/features/store/objects/DocumentTable.js +10 -7
- package/lib/esm/features/store/objects/DocumentTable.js.map +1 -1
- package/lib/esm/features/store/objects/ExportPropertiesModal.js +5 -2
- package/lib/esm/features/store/objects/ExportPropertiesModal.js.map +1 -1
- package/lib/esm/features/store/objects/components/ContentDispositionButton.js +3 -1
- package/lib/esm/features/store/objects/components/ContentDispositionButton.js.map +1 -1
- package/lib/esm/features/store/objects/components/ContentOverview.js +55 -40
- package/lib/esm/features/store/objects/components/ContentOverview.js.map +1 -1
- package/lib/esm/features/store/objects/components/DocumentIcon.js +4 -3
- package/lib/esm/features/store/objects/components/DocumentIcon.js.map +1 -1
- package/lib/esm/features/store/objects/components/PropertiesEditorModal.js +13 -11
- package/lib/esm/features/store/objects/components/PropertiesEditorModal.js.map +1 -1
- package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js +15 -18
- package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js.map +1 -1
- package/lib/esm/features/store/objects/components/SelectDocument.js +9 -6
- package/lib/esm/features/store/objects/components/SelectDocument.js.map +1 -1
- package/lib/esm/features/store/objects/components/TextEditorPanel.js +97 -0
- package/lib/esm/features/store/objects/components/TextEditorPanel.js.map +1 -0
- package/lib/esm/features/store/objects/components/VectorSearchWidget.js +3 -1
- package/lib/esm/features/store/objects/components/VectorSearchWidget.js.map +1 -1
- package/lib/esm/features/store/objects/components/useContentPanelHooks.js +4 -2
- package/lib/esm/features/store/objects/components/useContentPanelHooks.js.map +1 -1
- package/lib/esm/features/store/objects/components/useDownloadFile.js +12 -10
- package/lib/esm/features/store/objects/components/useDownloadFile.js.map +1 -1
- package/lib/esm/features/store/objects/layout/documentLayout.js +10 -6
- package/lib/esm/features/store/objects/layout/documentLayout.js.map +1 -1
- package/lib/esm/features/store/objects/layout/renderers.js +10 -1
- package/lib/esm/features/store/objects/layout/renderers.js.map +1 -1
- package/lib/esm/features/store/objects/search/DocumentSearchContext.js +3 -2
- package/lib/esm/features/store/objects/search/DocumentSearchContext.js.map +1 -1
- package/lib/esm/features/store/objects/search/DocumentSearchProvider.js +3 -0
- package/lib/esm/features/store/objects/search/DocumentSearchProvider.js.map +1 -1
- package/lib/esm/features/store/objects/selection/ObjectsActionContext.js +22 -109
- package/lib/esm/features/store/objects/selection/ObjectsActionContext.js.map +1 -1
- package/lib/esm/features/store/objects/selection/ObjectsActionContextClass.js +50 -0
- package/lib/esm/features/store/objects/selection/ObjectsActionContextClass.js.map +1 -0
- package/lib/esm/features/store/objects/selection/ObjectsActionHooks.js +27 -0
- package/lib/esm/features/store/objects/selection/ObjectsActionHooks.js.map +1 -0
- package/lib/esm/features/store/objects/selection/SelectionActions.js +10 -6
- package/lib/esm/features/store/objects/selection/SelectionActions.js.map +1 -1
- package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js +17 -12
- package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js.map +1 -1
- package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js +9 -5
- package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js.map +1 -1
- package/lib/esm/features/store/objects/selection/actions/ConfirmAction.js +4 -2
- package/lib/esm/features/store/objects/selection/actions/ConfirmAction.js.map +1 -1
- package/lib/esm/features/store/objects/selection/actions/DeleteObjectsAction.js +24 -23
- package/lib/esm/features/store/objects/selection/actions/DeleteObjectsAction.js.map +1 -1
- package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js +10 -5
- package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js.map +1 -1
- package/lib/esm/features/store/objects/selection/actions/RemoveFromCollectionAction.js +13 -9
- package/lib/esm/features/store/objects/selection/actions/RemoveFromCollectionAction.js.map +1 -1
- package/lib/esm/features/store/objects/selection/actions/StartWorkflowComponent.js +14 -8
- package/lib/esm/features/store/objects/selection/actions/StartWorkflowComponent.js.map +1 -1
- package/lib/esm/features/store/objects/upload/DocumentUploadModal.js +42 -39
- package/lib/esm/features/store/objects/upload/DocumentUploadModal.js.map +1 -1
- package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js +4 -2
- package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js.map +1 -1
- package/lib/esm/features/store/objects/upload/useUploadHandler.js +9 -7
- package/lib/esm/features/store/objects/upload/useUploadHandler.js.map +1 -1
- package/lib/esm/features/store/types/ContentObjectTypesSearch.js +6 -4
- package/lib/esm/features/store/types/ContentObjectTypesSearch.js.map +1 -1
- package/lib/esm/features/store/types/ContentObjectTypesTable.js +3 -1
- package/lib/esm/features/store/types/ContentObjectTypesTable.js.map +1 -1
- package/lib/esm/features/store/types/CreateOrUpdateTypeModal.js +6 -7
- package/lib/esm/features/store/types/CreateOrUpdateTypeModal.js.map +1 -1
- package/lib/esm/features/store/types/ObjectSchemaEditor.js +9 -7
- package/lib/esm/features/store/types/ObjectSchemaEditor.js.map +1 -1
- package/lib/esm/features/store/types/SelectContentType.js +9 -7
- package/lib/esm/features/store/types/SelectContentType.js.map +1 -1
- package/lib/esm/features/store/types/SelectContentTypeModal.js +5 -2
- package/lib/esm/features/store/types/SelectContentTypeModal.js.map +1 -1
- package/lib/esm/features/store/types/TableLayoutEditor.js +6 -4
- package/lib/esm/features/store/types/TableLayoutEditor.js.map +1 -1
- package/lib/esm/features/user/UserInfo.js +40 -50
- package/lib/esm/features/user/UserInfo.js.map +1 -1
- package/lib/esm/i18n/index.js +31 -0
- package/lib/esm/i18n/index.js.map +1 -0
- package/lib/esm/i18n/instance.js +46 -0
- package/lib/esm/i18n/instance.js.map +1 -0
- package/lib/esm/i18n/locales/ar.json +694 -0
- package/lib/esm/i18n/locales/de.json +662 -0
- package/lib/esm/i18n/locales/en.json +663 -0
- package/lib/esm/i18n/locales/es.json +668 -0
- package/lib/esm/i18n/locales/fr.json +670 -0
- package/lib/esm/i18n/locales/it.json +668 -0
- package/lib/esm/i18n/locales/ja.json +662 -0
- package/lib/esm/i18n/locales/ko.json +662 -0
- package/lib/esm/i18n/locales/pt.json +668 -0
- package/lib/esm/i18n/locales/ru.json +678 -0
- package/lib/esm/i18n/locales/tr.json +662 -0
- package/lib/esm/i18n/locales/zh-TW.json +662 -0
- package/lib/esm/i18n/locales/zh.json +662 -0
- package/lib/esm/layout/FullHeightLayout.js +3 -0
- package/lib/esm/layout/FullHeightLayout.js.map +1 -1
- package/lib/esm/layout/Navbar.js +3 -1
- package/lib/esm/layout/Navbar.js.map +1 -1
- package/lib/esm/layout/RegionTag.js +15 -0
- package/lib/esm/layout/RegionTag.js.map +1 -0
- package/lib/esm/layout/Sidebar.js +2 -2
- package/lib/esm/layout/Sidebar.js.map +1 -1
- package/lib/esm/layout/index.js +1 -0
- package/lib/esm/layout/index.js.map +1 -1
- package/lib/esm/router/HistoryNavigator.js +1 -1
- package/lib/esm/router/HistoryNavigator.js.map +1 -1
- package/lib/esm/router/Nav.js +5 -3
- package/lib/esm/router/Nav.js.map +1 -1
- package/lib/esm/router/NestedNavigationContext.js +4 -0
- package/lib/esm/router/NestedNavigationContext.js.map +1 -1
- package/lib/esm/router/NestedRouterProvider.js +3 -1
- package/lib/esm/router/NestedRouterProvider.js.map +1 -1
- package/lib/esm/router/Router.js +21 -6
- package/lib/esm/router/Router.js.map +1 -1
- package/lib/esm/session/UserSession.js +23 -0
- package/lib/esm/session/UserSession.js.map +1 -1
- package/lib/esm/session/UserSessionProvider.js +4 -0
- package/lib/esm/session/UserSessionProvider.js.map +1 -1
- package/lib/esm/session/auth/composable.js +1 -1
- package/lib/esm/session/auth/composable.js.map +1 -1
- package/lib/esm/session/auth/firebase.js +1 -1
- package/lib/esm/session/auth/firebase.js.map +1 -1
- package/lib/esm/session/auth/useCurrentTenant.js +3 -1
- package/lib/esm/session/auth/useCurrentTenant.js.map +1 -1
- package/lib/esm/shell/SplashScreen.js +3 -7
- package/lib/esm/shell/SplashScreen.js.map +1 -1
- package/lib/esm/shell/apps/StandaloneApp.js +5 -2
- package/lib/esm/shell/apps/StandaloneApp.js.map +1 -1
- package/lib/esm/shell/login/EnterpriseSigninButton.js +5 -3
- package/lib/esm/shell/login/EnterpriseSigninButton.js.map +1 -1
- package/lib/esm/shell/login/GitHubSignInButton.js +3 -7
- package/lib/esm/shell/login/GitHubSignInButton.js.map +1 -1
- package/lib/esm/shell/login/GoogleSignInButton.js +3 -1
- package/lib/esm/shell/login/GoogleSignInButton.js.map +1 -1
- package/lib/esm/shell/login/InviteAcceptModal.js +5 -2
- package/lib/esm/shell/login/InviteAcceptModal.js.map +1 -1
- package/lib/esm/shell/login/MicrosoftSigninButton.js +4 -6
- package/lib/esm/shell/login/MicrosoftSigninButton.js.map +1 -1
- package/lib/esm/shell/login/SigninScreen.js +6 -2
- package/lib/esm/shell/login/SigninScreen.js.map +1 -1
- package/lib/esm/shell/login/SignupForm.js +36 -34
- package/lib/esm/shell/login/SignupForm.js.map +1 -1
- package/lib/esm/shell/login/TerminalLogin.js +28 -21
- package/lib/esm/shell/login/TerminalLogin.js.map +1 -1
- package/lib/esm/shell/login/UserInfo.js +6 -4
- package/lib/esm/shell/login/UserInfo.js.map +1 -1
- package/lib/esm/shell/login/UserSessionMenu.js +3 -4
- package/lib/esm/shell/login/UserSessionMenu.js.map +1 -1
- package/lib/esm/widgets/index.js +0 -1
- package/lib/esm/widgets/index.js.map +1 -1
- package/lib/esm/widgets/json-view/JSONCode.js +1 -1
- package/lib/esm/widgets/json-view/JSONCode.js.map +1 -1
- package/lib/esm/widgets/json-view/JSONDisplay.js +6 -2
- package/lib/esm/widgets/json-view/JSONDisplay.js.map +1 -1
- package/lib/esm/widgets/json-view/JSONSwitcher.js +6 -0
- package/lib/esm/widgets/json-view/JSONSwitcher.js.map +1 -0
- package/lib/esm/widgets/json-view/JSONView.js +1 -1
- package/lib/esm/widgets/json-view/JSONView.js.map +1 -1
- package/lib/esm/widgets/json-view/index.js +1 -0
- package/lib/esm/widgets/json-view/index.js.map +1 -1
- package/lib/esm/widgets/markdown/ArtifactContentRenderer.js +6 -5
- package/lib/esm/widgets/markdown/ArtifactContentRenderer.js.map +1 -1
- package/lib/esm/widgets/markdown/CodeBlockContext.js +11 -0
- package/lib/esm/widgets/markdown/CodeBlockContext.js.map +1 -0
- package/lib/esm/widgets/markdown/MarkdownRenderer.js +11 -10
- package/lib/esm/widgets/markdown/MarkdownRenderer.js.map +1 -1
- package/lib/esm/widgets/markdown/codeBlockHandlers.js +11 -12
- package/lib/esm/widgets/markdown/codeBlockHandlers.js.map +1 -1
- package/lib/esm/widgets/markdown/index.js +10 -9
- package/lib/esm/widgets/markdown/index.js.map +1 -1
- package/lib/esm/widgets/markdown/remarkDirectiveHandler.js +0 -1
- package/lib/esm/widgets/markdown/remarkDirectiveHandler.js.map +1 -1
- package/lib/esm/widgets/schema-editor/ManagedSchema.js +6 -5
- package/lib/esm/widgets/schema-editor/ManagedSchema.js.map +1 -1
- package/lib/esm/widgets/schema-editor/editor/PropertyEditor.js +7 -3
- package/lib/esm/widgets/schema-editor/editor/PropertyEditor.js.map +1 -1
- package/lib/esm/widgets/schema-editor/editor/SchemaEditor.js +3 -1
- package/lib/esm/widgets/schema-editor/editor/SchemaEditor.js.map +1 -1
- package/lib/esm/widgets/upload/DropZone.js +9 -11
- package/lib/esm/widgets/upload/DropZone.js.map +1 -1
- package/lib/esm/widgets/upload/UploadResultCategory.js +3 -1
- package/lib/esm/widgets/upload/UploadResultCategory.js.map +1 -1
- package/lib/esm/widgets/upload/UploadSummary.js +3 -1
- package/lib/esm/widgets/upload/UploadSummary.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types/core/components/SelectList.d.ts.map +1 -1
- package/lib/types/core/components/SidePanel.d.ts +4 -2
- package/lib/types/core/components/SidePanel.d.ts.map +1 -1
- package/lib/types/core/components/index.d.ts +0 -5
- package/lib/types/core/components/index.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/badge.d.ts +2 -2
- package/lib/types/core/components/shadcn/breadcrumb.d.ts +1 -1
- package/lib/types/core/components/shadcn/breadcrumb.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/button.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/collaspible.d.ts +6 -0
- package/lib/types/core/components/shadcn/collaspible.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/dropdown.d.ts +44 -0
- package/lib/types/core/components/shadcn/dropdown.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/filters/comboBox/DateCombobox.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/filters/comboBox/SelectCombobox.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/filters/filter/dateFilter.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/filters/filterBar.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/index.d.ts +4 -0
- package/lib/types/core/components/shadcn/index.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/input.d.ts +1 -1
- package/lib/types/core/components/shadcn/modal/ConfirmModal.d.ts +2 -1
- package/lib/types/core/components/shadcn/modal/ConfirmModal.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/modal/DeleteModal.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/popover.d.ts +11 -3
- package/lib/types/core/components/shadcn/popover.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/radioGroup.d.ts +26 -0
- package/lib/types/core/components/shadcn/radioGroup.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/switch.d.ts +12 -0
- package/lib/types/core/components/shadcn/switch.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/tabs.d.ts +4 -2
- package/lib/types/core/components/shadcn/tabs.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/theme/ThemeSwitcher.d.ts +3 -2
- package/lib/types/core/components/shadcn/theme/ThemeSwitcher.d.ts.map +1 -1
- package/lib/types/core/components/toast/NotificationPanel.d.ts.map +1 -1
- package/lib/types/env/index.d.ts +8 -1
- package/lib/types/env/index.d.ts.map +1 -1
- package/lib/types/features/agent/PayloadBuilder.d.ts +31 -3
- package/lib/types/features/agent/PayloadBuilder.d.ts.map +1 -1
- package/lib/types/features/agent/chat/AgentRightPanel.d.ts +50 -0
- package/lib/types/features/agent/chat/AgentRightPanel.d.ts.map +1 -0
- package/lib/types/features/agent/chat/ArtifactsTab.d.ts +9 -0
- package/lib/types/features/agent/chat/ArtifactsTab.d.ts.map +1 -0
- package/lib/types/features/agent/chat/AskUserWidget.d.ts.map +1 -1
- package/lib/types/features/agent/chat/DocumentPanel.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ImageLightbox.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentConversation.d.ts +22 -9
- package/lib/types/features/agent/chat/ModernAgentConversation.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts +3 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/BatchProgressPanel.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts +12 -3
- package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.d.ts +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/MessageInput.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/PlanPanel.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/StreamingMessage.d.ts +3 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/StreamingMessage.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts +5 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/WorkstreamTabs.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/utils.d.ts +16 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/utils.d.ts.map +1 -1
- package/lib/types/features/agent/chat/SlidingThinkingIndicator.d.ts.map +1 -1
- package/lib/types/features/agent/chat/VegaLiteChart.d.ts.map +1 -1
- package/lib/types/features/agent/chat/hooks/useAgentPlans.d.ts.map +1 -1
- package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts +3 -3
- package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts.map +1 -1
- package/lib/types/features/agent/chat/hooks/useArtifacts.d.ts +18 -0
- package/lib/types/features/agent/chat/hooks/useArtifacts.d.ts.map +1 -0
- package/lib/types/features/agent/chat/hooks/useDocumentPanel.d.ts.map +1 -1
- package/lib/types/features/agent/chat/hooks/useFileProcessing.d.ts +4 -4
- package/lib/types/features/agent/chat/hooks/useFileProcessing.d.ts.map +1 -1
- package/lib/types/features/agent/chat/types/document.d.ts +2 -0
- package/lib/types/features/agent/chat/types/document.d.ts.map +1 -1
- package/lib/types/features/errors/PanelErrorBoundary.d.ts.map +1 -1
- package/lib/types/features/facets/AgentRunnerFacetsNav.d.ts +2 -1
- package/lib/types/features/facets/AgentRunnerFacetsNav.d.ts.map +1 -1
- package/lib/types/features/facets/index.d.ts +1 -1
- package/lib/types/features/facets/index.d.ts.map +1 -1
- package/lib/types/features/layout/GenericPageNavHeader.d.ts +2 -2
- package/lib/types/features/layout/GenericPageNavHeader.d.ts.map +1 -1
- package/lib/types/features/layout/NotFoundView.d.ts.map +1 -1
- package/lib/types/features/magic-pdf/AnnotatedImageSlider.d.ts.map +1 -1
- package/lib/types/features/magic-pdf/DownloadPopover.d.ts.map +1 -1
- package/lib/types/features/magic-pdf/MagicPdfView.d.ts.map +1 -1
- package/lib/types/features/pdf-viewer/PdfPageSlider.d.ts.map +1 -1
- package/lib/types/features/pdf-viewer/SimplePdfViewer.d.ts.map +1 -1
- package/lib/types/features/permissions/UserPermissionsProvider.d.ts.map +1 -1
- package/lib/types/features/store/collections/BrowseCollectionView.d.ts.map +1 -1
- package/lib/types/features/store/collections/CollectionsTable.d.ts +4 -0
- package/lib/types/features/store/collections/CollectionsTable.d.ts.map +1 -1
- package/lib/types/features/store/collections/CreateCollection.d.ts.map +1 -1
- package/lib/types/features/store/collections/EditCollectionView.d.ts.map +1 -1
- package/lib/types/features/store/collections/SelectCollection.d.ts.map +1 -1
- package/lib/types/features/store/collections/SharedPropsEditor.d.ts.map +1 -1
- package/lib/types/features/store/collections/SyncMemberHeadsToggle.d.ts.map +1 -1
- package/lib/types/features/store/objects/DocumentPreviewPanel.d.ts.map +1 -1
- package/lib/types/features/store/objects/DocumentSearchResults.d.ts.map +1 -1
- package/lib/types/features/store/objects/DocumentTable.d.ts.map +1 -1
- package/lib/types/features/store/objects/ExportPropertiesModal.d.ts.map +1 -1
- package/lib/types/features/store/objects/components/ContentDispositionButton.d.ts.map +1 -1
- package/lib/types/features/store/objects/components/ContentOverview.d.ts.map +1 -1
- package/lib/types/features/store/objects/components/DocumentIcon.d.ts +2 -1
- package/lib/types/features/store/objects/components/DocumentIcon.d.ts.map +1 -1
- package/lib/types/features/store/objects/components/PropertiesEditorModal.d.ts.map +1 -1
- package/lib/types/features/store/objects/components/SaveVersionConfirmModal.d.ts.map +1 -1
- package/lib/types/features/store/objects/components/SelectDocument.d.ts +3 -1
- package/lib/types/features/store/objects/components/SelectDocument.d.ts.map +1 -1
- package/lib/types/features/store/objects/components/TextEditorPanel.d.ts +10 -0
- package/lib/types/features/store/objects/components/TextEditorPanel.d.ts.map +1 -0
- package/lib/types/features/store/objects/components/VectorSearchWidget.d.ts.map +1 -1
- package/lib/types/features/store/objects/components/useContentPanelHooks.d.ts.map +1 -1
- package/lib/types/features/store/objects/components/useDownloadFile.d.ts.map +1 -1
- package/lib/types/features/store/objects/layout/documentLayout.d.ts +3 -2
- package/lib/types/features/store/objects/layout/documentLayout.d.ts.map +1 -1
- package/lib/types/features/store/objects/layout/renderers.d.ts.map +1 -1
- package/lib/types/features/store/objects/search/DocumentSearchContext.d.ts.map +1 -1
- package/lib/types/features/store/objects/search/DocumentSearchProvider.d.ts.map +1 -1
- package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts +3 -20
- package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts.map +1 -1
- package/lib/types/features/store/objects/selection/ObjectsActionContextClass.d.ts +16 -0
- package/lib/types/features/store/objects/selection/ObjectsActionContextClass.d.ts.map +1 -0
- package/lib/types/features/store/objects/selection/ObjectsActionHooks.d.ts +7 -0
- package/lib/types/features/store/objects/selection/ObjectsActionHooks.d.ts.map +1 -0
- package/lib/types/features/store/objects/selection/ObjectsActionSpec.d.ts +4 -1
- package/lib/types/features/store/objects/selection/ObjectsActionSpec.d.ts.map +1 -1
- package/lib/types/features/store/objects/selection/SelectionActions.d.ts +6 -1
- package/lib/types/features/store/objects/selection/SelectionActions.d.ts.map +1 -1
- package/lib/types/features/store/objects/selection/actions/AddToCollectionAction.d.ts.map +1 -1
- package/lib/types/features/store/objects/selection/actions/ChangeTypeAction.d.ts.map +1 -1
- package/lib/types/features/store/objects/selection/actions/ConfirmAction.d.ts +1 -1
- package/lib/types/features/store/objects/selection/actions/ConfirmAction.d.ts.map +1 -1
- package/lib/types/features/store/objects/selection/actions/DeleteObjectsAction.d.ts.map +1 -1
- package/lib/types/features/store/objects/selection/actions/ExportPropertiesAction.d.ts.map +1 -1
- package/lib/types/features/store/objects/selection/actions/RemoveFromCollectionAction.d.ts.map +1 -1
- package/lib/types/features/store/objects/selection/actions/StartWorkflowComponent.d.ts.map +1 -1
- package/lib/types/features/store/objects/upload/DocumentUploadModal.d.ts.map +1 -1
- package/lib/types/features/store/objects/upload/useSmartFileUploadProcessing.d.ts.map +1 -1
- package/lib/types/features/store/objects/upload/useUploadHandler.d.ts.map +1 -1
- package/lib/types/features/store/types/ContentObjectTypesSearch.d.ts.map +1 -1
- package/lib/types/features/store/types/ContentObjectTypesTable.d.ts.map +1 -1
- package/lib/types/features/store/types/CreateOrUpdateTypeModal.d.ts +2 -1
- package/lib/types/features/store/types/CreateOrUpdateTypeModal.d.ts.map +1 -1
- package/lib/types/features/store/types/ObjectSchemaEditor.d.ts.map +1 -1
- package/lib/types/features/store/types/SelectContentType.d.ts.map +1 -1
- package/lib/types/features/store/types/SelectContentTypeModal.d.ts.map +1 -1
- package/lib/types/features/store/types/TableLayoutEditor.d.ts.map +1 -1
- package/lib/types/features/user/UserInfo.d.ts +2 -2
- package/lib/types/features/user/UserInfo.d.ts.map +1 -1
- package/lib/types/i18n/index.d.ts +14 -0
- package/lib/types/i18n/index.d.ts.map +1 -0
- package/lib/types/i18n/instance.d.ts +5 -0
- package/lib/types/i18n/instance.d.ts.map +1 -0
- package/lib/types/layout/FullHeightLayout.d.ts +3 -0
- package/lib/types/layout/FullHeightLayout.d.ts.map +1 -1
- package/lib/types/layout/Navbar.d.ts.map +1 -1
- package/lib/types/layout/RegionTag.d.ts +4 -0
- package/lib/types/layout/RegionTag.d.ts.map +1 -0
- package/lib/types/layout/Sidebar.d.ts +2 -1
- package/lib/types/layout/Sidebar.d.ts.map +1 -1
- package/lib/types/layout/index.d.ts +1 -0
- package/lib/types/layout/index.d.ts.map +1 -1
- package/lib/types/router/Nav.d.ts +5 -1
- package/lib/types/router/Nav.d.ts.map +1 -1
- package/lib/types/router/NestedNavigationContext.d.ts.map +1 -1
- package/lib/types/router/NestedRouterProvider.d.ts.map +1 -1
- package/lib/types/router/Router.d.ts +2 -0
- package/lib/types/router/Router.d.ts.map +1 -1
- package/lib/types/session/UserSession.d.ts +1 -0
- package/lib/types/session/UserSession.d.ts.map +1 -1
- package/lib/types/session/UserSessionProvider.d.ts.map +1 -1
- package/lib/types/session/auth/useCurrentTenant.d.ts.map +1 -1
- package/lib/types/shell/SplashScreen.d.ts.map +1 -1
- package/lib/types/shell/apps/StandaloneApp.d.ts.map +1 -1
- package/lib/types/shell/login/EnterpriseSigninButton.d.ts.map +1 -1
- package/lib/types/shell/login/GitHubSignInButton.d.ts.map +1 -1
- package/lib/types/shell/login/GoogleSignInButton.d.ts.map +1 -1
- package/lib/types/shell/login/InviteAcceptModal.d.ts.map +1 -1
- package/lib/types/shell/login/MicrosoftSigninButton.d.ts +1 -1
- package/lib/types/shell/login/MicrosoftSigninButton.d.ts.map +1 -1
- package/lib/types/shell/login/SigninScreen.d.ts.map +1 -1
- package/lib/types/shell/login/SignupForm.d.ts.map +1 -1
- package/lib/types/shell/login/TerminalLogin.d.ts.map +1 -1
- package/lib/types/shell/login/UserInfo.d.ts.map +1 -1
- package/lib/types/shell/login/UserSessionMenu.d.ts.map +1 -1
- package/lib/types/widgets/index.d.ts +0 -1
- package/lib/types/widgets/index.d.ts.map +1 -1
- package/lib/types/widgets/json-view/JSONDisplay.d.ts.map +1 -1
- package/lib/types/widgets/json-view/JSONSwitcher.d.ts +6 -0
- package/lib/types/widgets/json-view/JSONSwitcher.d.ts.map +1 -0
- package/lib/types/widgets/json-view/index.d.ts +1 -0
- package/lib/types/widgets/json-view/index.d.ts.map +1 -1
- package/lib/types/widgets/markdown/ArtifactContentRenderer.d.ts.map +1 -1
- package/lib/types/widgets/markdown/CodeBlockContext.d.ts +21 -0
- package/lib/types/widgets/markdown/CodeBlockContext.d.ts.map +1 -0
- package/lib/types/widgets/markdown/MarkdownRenderer.d.ts.map +1 -1
- package/lib/types/widgets/markdown/codeBlockHandlers.d.ts +0 -12
- package/lib/types/widgets/markdown/codeBlockHandlers.d.ts.map +1 -1
- package/lib/types/widgets/markdown/index.d.ts +10 -9
- package/lib/types/widgets/markdown/index.d.ts.map +1 -1
- package/lib/types/widgets/schema-editor/ManagedSchema.d.ts +1 -1
- package/lib/types/widgets/schema-editor/ManagedSchema.d.ts.map +1 -1
- package/lib/types/widgets/schema-editor/editor/PropertyEditor.d.ts.map +1 -1
- package/lib/types/widgets/schema-editor/editor/SchemaEditor.d.ts.map +1 -1
- package/lib/types/widgets/upload/DropZone.d.ts.map +1 -1
- package/lib/types/widgets/upload/UploadResultCategory.d.ts.map +1 -1
- package/lib/types/widgets/upload/UploadSummary.d.ts.map +1 -1
- package/lib/vertesia-ui-core.js +1 -1
- package/lib/vertesia-ui-core.js.map +1 -1
- package/lib/vertesia-ui-env.js +1 -1
- package/lib/vertesia-ui-env.js.map +1 -1
- package/lib/vertesia-ui-features.js +1 -1
- package/lib/vertesia-ui-features.js.map +1 -1
- package/lib/vertesia-ui-i18n.js +2 -0
- package/lib/vertesia-ui-i18n.js.map +1 -0
- package/lib/vertesia-ui-layout.js +1 -1
- package/lib/vertesia-ui-layout.js.map +1 -1
- package/lib/vertesia-ui-router.js +1 -1
- package/lib/vertesia-ui-router.js.map +1 -1
- package/lib/vertesia-ui-session.js +1 -1
- package/lib/vertesia-ui-session.js.map +1 -1
- package/lib/vertesia-ui-shell.js +1 -1
- package/lib/vertesia-ui-shell.js.map +1 -1
- package/lib/vertesia-ui-widgets.js +1 -1
- package/lib/vertesia-ui-widgets.js.map +1 -1
- package/package.json +36 -22
- package/src/core/components/SelectList.tsx +3 -1
- package/src/core/components/SidePanel.tsx +5 -4
- package/src/core/components/index.ts +0 -5
- package/src/core/components/shadcn/breadcrumb.tsx +16 -9
- package/src/core/components/shadcn/button.tsx +5 -3
- package/src/core/components/shadcn/collaspible.tsx +33 -0
- package/src/core/components/shadcn/dropdown.tsx +309 -0
- package/src/core/components/shadcn/filters/comboBox/DateCombobox.tsx +3 -1
- package/src/core/components/shadcn/filters/comboBox/SelectCombobox.tsx +3 -1
- package/src/core/components/shadcn/filters/comboBox/StringListCombobox.tsx +1 -1
- package/src/core/components/shadcn/filters/filter/StringListFilter.tsx +1 -1
- package/src/core/components/shadcn/filters/filter/dateFilter.tsx +5 -3
- package/src/core/components/shadcn/filters/filterBar.tsx +8 -5
- package/src/core/components/shadcn/index.ts +5 -1
- package/src/core/components/shadcn/modal/ConfirmModal.tsx +7 -3
- package/src/core/components/shadcn/modal/DeleteModal.tsx +5 -3
- package/src/core/components/shadcn/popover.tsx +12 -7
- package/src/core/components/shadcn/radioGroup.tsx +100 -0
- package/src/core/components/shadcn/switch.tsx +60 -0
- package/src/core/components/shadcn/tabs.tsx +29 -27
- package/src/core/components/shadcn/theme/ThemeSwitcher.tsx +13 -9
- package/src/core/components/toast/NotificationPanel.tsx +38 -44
- package/src/env/index.ts +16 -3
- package/src/features/agent/PayloadBuilder.tsx +100 -13
- package/src/features/agent/chat/AgentRightPanel.tsx +424 -0
- package/src/features/agent/chat/ArtifactsTab.tsx +197 -0
- package/src/features/agent/chat/AskUserWidget.tsx +14 -8
- package/src/features/agent/chat/DocumentPanel.tsx +24 -9
- package/src/features/agent/chat/ImageLightbox.tsx +6 -3
- package/src/features/agent/chat/ModernAgentConversation.tsx +461 -271
- package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +151 -55
- package/src/features/agent/chat/ModernAgentOutput/BatchProgressPanel.tsx +6 -4
- package/src/features/agent/chat/ModernAgentOutput/Header.tsx +126 -46
- package/src/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.tsx +21 -31
- package/src/features/agent/chat/ModernAgentOutput/MessageInput.tsx +119 -114
- package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +26 -9
- package/src/features/agent/chat/ModernAgentOutput/PlanPanel.tsx +9 -7
- package/src/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.tsx +15 -13
- package/src/features/agent/chat/ModernAgentOutput/StreamingMessage.tsx +8 -3
- package/src/features/agent/chat/ModernAgentOutput/ToolCallGroup.tsx +149 -49
- package/src/features/agent/chat/ModernAgentOutput/WorkstreamTabs.tsx +9 -5
- package/src/features/agent/chat/ModernAgentOutput/utils.test.ts +229 -0
- package/src/features/agent/chat/ModernAgentOutput/utils.ts +202 -97
- package/src/features/agent/chat/SlidingThinkingIndicator.tsx +5 -3
- package/src/features/agent/chat/VegaLiteChart.tsx +20 -8
- package/src/features/agent/chat/hooks/useAgentPlans.ts +3 -9
- package/src/features/agent/chat/hooks/useAgentStream.ts +80 -19
- package/src/features/agent/chat/hooks/useArtifacts.ts +151 -0
- package/src/features/agent/chat/hooks/useDocumentPanel.ts +65 -5
- package/src/features/agent/chat/hooks/useFileProcessing.ts +14 -13
- package/src/features/agent/chat/types/document.ts +2 -0
- package/src/features/errors/PanelErrorBoundary.tsx +5 -3
- package/src/features/facets/AgentRunnerFacetsNav.tsx +54 -35
- package/src/features/facets/RunsFacetsNav.tsx +6 -6
- package/src/features/facets/index.ts +1 -1
- package/src/features/layout/GenericPageNavHeader.tsx +64 -41
- package/src/features/layout/NotFoundView.tsx +4 -1
- package/src/features/magic-pdf/AnnotatedImageSlider.tsx +12 -8
- package/src/features/magic-pdf/DownloadPopover.tsx +11 -10
- package/src/features/magic-pdf/MagicPdfView.tsx +10 -7
- package/src/features/pdf-viewer/PdfPageSlider.tsx +10 -6
- package/src/features/pdf-viewer/SimplePdfViewer.tsx +5 -3
- package/src/features/permissions/UserPermissionsProvider.tsx +3 -1
- package/src/features/store/collections/BrowseCollectionView.tsx +11 -1
- package/src/features/store/collections/CollectionsTable.tsx +20 -12
- package/src/features/store/collections/CreateCollection.tsx +14 -11
- package/src/features/store/collections/EditCollectionView.tsx +31 -28
- package/src/features/store/collections/SelectCollection.tsx +50 -14
- package/src/features/store/collections/SharedPropsEditor.tsx +7 -5
- package/src/features/store/collections/SyncMemberHeadsToggle.tsx +6 -4
- package/src/features/store/objects/DocumentPreviewPanel.tsx +30 -28
- package/src/features/store/objects/DocumentSearchResults.tsx +31 -21
- package/src/features/store/objects/DocumentTable.tsx +11 -5
- package/src/features/store/objects/ExportPropertiesModal.tsx +8 -5
- package/src/features/store/objects/components/ContentDispositionButton.tsx +3 -1
- package/src/features/store/objects/components/ContentOverview.tsx +96 -50
- package/src/features/store/objects/components/DocumentIcon.tsx +11 -3
- package/src/features/store/objects/components/PropertiesEditorModal.tsx +14 -12
- package/src/features/store/objects/components/SaveVersionConfirmModal.tsx +24 -37
- package/src/features/store/objects/components/SelectDocument.tsx +15 -6
- package/src/features/store/objects/components/TextEditorPanel.tsx +143 -0
- package/src/features/store/objects/components/VectorSearchWidget.tsx +11 -8
- package/src/features/store/objects/components/useContentPanelHooks.ts +4 -2
- package/src/features/store/objects/components/useDownloadFile.ts +12 -10
- package/src/features/store/objects/layout/documentLayout.tsx +16 -6
- package/src/features/store/objects/layout/renderers.tsx +27 -1
- package/src/features/store/objects/search/DocumentSearchContext.ts +3 -2
- package/src/features/store/objects/search/DocumentSearchProvider.tsx +3 -0
- package/src/features/store/objects/selection/ObjectsActionContext.tsx +26 -128
- package/src/features/store/objects/selection/ObjectsActionContextClass.ts +59 -0
- package/src/features/store/objects/selection/ObjectsActionHooks.ts +33 -0
- package/src/features/store/objects/selection/ObjectsActionSpec.ts +4 -1
- package/src/features/store/objects/selection/SelectionActions.tsx +14 -6
- package/src/features/store/objects/selection/actions/AddToCollectionAction.tsx +19 -14
- package/src/features/store/objects/selection/actions/ChangeTypeAction.tsx +9 -5
- package/src/features/store/objects/selection/actions/ConfirmAction.tsx +4 -3
- package/src/features/store/objects/selection/actions/DeleteObjectsAction.tsx +24 -23
- package/src/features/store/objects/selection/actions/ExportPropertiesAction.tsx +10 -5
- package/src/features/store/objects/selection/actions/RemoveFromCollectionAction.tsx +13 -9
- package/src/features/store/objects/selection/actions/StartWorkflowComponent.tsx +14 -8
- package/src/features/store/objects/upload/DocumentUploadModal.tsx +56 -55
- package/src/features/store/objects/upload/useSmartFileUploadProcessing.ts +4 -2
- package/src/features/store/objects/upload/useUploadHandler.ts +9 -7
- package/src/features/store/types/ContentObjectTypesSearch.tsx +10 -8
- package/src/features/store/types/ContentObjectTypesTable.tsx +6 -4
- package/src/features/store/types/CreateOrUpdateTypeModal.tsx +11 -12
- package/src/features/store/types/ObjectSchemaEditor.tsx +11 -9
- package/src/features/store/types/SelectContentType.tsx +15 -13
- package/src/features/store/types/SelectContentTypeModal.tsx +16 -13
- package/src/features/store/types/TableLayoutEditor.tsx +16 -12
- package/src/features/user/UserInfo.tsx +47 -56
- package/src/i18n/index.tsx +45 -0
- package/src/i18n/instance.ts +49 -0
- package/src/i18n/locales/ar.json +694 -0
- package/src/i18n/locales/de.json +662 -0
- package/src/i18n/locales/en.json +663 -0
- package/src/i18n/locales/es.json +668 -0
- package/src/i18n/locales/fr.json +670 -0
- package/src/i18n/locales/it.json +668 -0
- package/src/i18n/locales/ja.json +662 -0
- package/src/i18n/locales/ko.json +662 -0
- package/src/i18n/locales/pt.json +668 -0
- package/src/i18n/locales/ru.json +678 -0
- package/src/i18n/locales/tr.json +662 -0
- package/src/i18n/locales/zh-TW.json +662 -0
- package/src/i18n/locales/zh.json +662 -0
- package/src/layout/FullHeightLayout.tsx +8 -0
- package/src/layout/Navbar.tsx +4 -2
- package/src/layout/RegionTag.tsx +25 -0
- package/src/layout/Sidebar.tsx +4 -3
- package/src/layout/index.ts +2 -1
- package/src/router/HistoryNavigator.ts +10 -10
- package/src/router/Nav.tsx +9 -3
- package/src/router/NestedNavigationContext.tsx +4 -0
- package/src/router/NestedRouterProvider.tsx +3 -1
- package/src/router/Router.tsx +23 -7
- package/src/session/UserSession.ts +24 -0
- package/src/session/UserSessionProvider.tsx +4 -0
- package/src/session/auth/composable.ts +1 -1
- package/src/session/auth/firebase.ts +1 -1
- package/src/session/auth/useCurrentTenant.ts +3 -1
- package/src/shell/SplashScreen.tsx +22 -26
- package/src/shell/apps/StandaloneApp.tsx +9 -6
- package/src/shell/login/EnterpriseSigninButton.tsx +6 -4
- package/src/shell/login/GitHubSignInButton.tsx +3 -7
- package/src/shell/login/GoogleSignInButton.tsx +3 -1
- package/src/shell/login/InviteAcceptModal.tsx +5 -2
- package/src/shell/login/MicrosoftSigninButton.tsx +4 -6
- package/src/shell/login/SigninScreen.tsx +18 -13
- package/src/shell/login/SignupForm.tsx +46 -46
- package/src/shell/login/TerminalLogin.tsx +35 -31
- package/src/shell/login/UserInfo.tsx +15 -13
- package/src/shell/login/UserSessionMenu.tsx +28 -31
- package/src/widgets/index.ts +0 -1
- package/src/widgets/json-view/JSONCode.tsx +1 -1
- package/src/widgets/json-view/JSONDisplay.tsx +8 -3
- package/src/widgets/json-view/JSONSwitcher.tsx +24 -0
- package/src/widgets/json-view/JSONView.tsx +1 -1
- package/src/widgets/json-view/index.ts +1 -0
- package/src/widgets/markdown/ArtifactContentRenderer.tsx +15 -7
- package/src/widgets/markdown/CodeBlockContext.tsx +34 -0
- package/src/widgets/markdown/MarkdownRenderer.tsx +14 -13
- package/src/widgets/markdown/codeBlockHandlers.tsx +17 -36
- package/src/widgets/markdown/index.ts +27 -34
- package/src/widgets/markdown/remarkDirectiveHandler.ts +1 -1
- package/src/widgets/schema-editor/ManagedSchema.ts +6 -5
- package/src/widgets/schema-editor/editor/PropertyEditor.tsx +7 -3
- package/src/widgets/schema-editor/editor/SchemaEditor.tsx +3 -1
- package/src/widgets/upload/DropZone.tsx +10 -13
- package/src/widgets/upload/UploadResultCategory.tsx +3 -1
- package/src/widgets/upload/UploadSummary.tsx +13 -11
- package/tsconfig.dist.json +1 -1
- package/lib/esm/core/components/Dropdown.js +0 -16
- package/lib/esm/core/components/Dropdown.js.map +0 -1
- package/lib/esm/core/components/DropdownList.js +0 -9
- package/lib/esm/core/components/DropdownList.js.map +0 -1
- package/lib/esm/core/components/RadioGroup.js +0 -34
- package/lib/esm/core/components/RadioGroup.js.map +0 -1
- package/lib/esm/core/components/SelectStack.js +0 -8
- package/lib/esm/core/components/SelectStack.js.map +0 -1
- package/lib/esm/core/components/Switch.js +0 -12
- package/lib/esm/core/components/Switch.js.map +0 -1
- package/lib/esm/widgets/popover/Popover.js +0 -73
- package/lib/esm/widgets/popover/Popover.js.map +0 -1
- package/lib/esm/widgets/popover/context.js +0 -7
- package/lib/esm/widgets/popover/context.js.map +0 -1
- package/lib/esm/widgets/popover/index.js +0 -3
- package/lib/esm/widgets/popover/index.js.map +0 -1
- package/lib/esm/widgets/popover/slots.js +0 -22
- package/lib/esm/widgets/popover/slots.js.map +0 -1
- package/lib/types/core/components/Dropdown.d.ts +0 -15
- package/lib/types/core/components/Dropdown.d.ts.map +0 -1
- package/lib/types/core/components/DropdownList.d.ts +0 -13
- package/lib/types/core/components/DropdownList.d.ts.map +0 -1
- package/lib/types/core/components/RadioGroup.d.ts +0 -26
- package/lib/types/core/components/RadioGroup.d.ts.map +0 -1
- package/lib/types/core/components/SelectStack.d.ts +0 -13
- package/lib/types/core/components/SelectStack.d.ts.map +0 -1
- package/lib/types/core/components/Switch.d.ts +0 -11
- package/lib/types/core/components/Switch.d.ts.map +0 -1
- package/lib/types/widgets/popover/Popover.d.ts +0 -38
- package/lib/types/widgets/popover/Popover.d.ts.map +0 -1
- package/lib/types/widgets/popover/context.d.ts +0 -8
- package/lib/types/widgets/popover/context.d.ts.map +0 -1
- package/lib/types/widgets/popover/index.d.ts +0 -3
- package/lib/types/widgets/popover/index.d.ts.map +0 -1
- package/lib/types/widgets/popover/slots.d.ts +0 -5
- package/lib/types/widgets/popover/slots.d.ts.map +0 -1
- package/src/core/components/Dropdown.tsx +0 -63
- package/src/core/components/DropdownList.tsx +0 -72
- package/src/core/components/RadioGroup.tsx +0 -100
- package/src/core/components/SelectStack.tsx +0 -63
- package/src/core/components/Switch.tsx +0 -30
- package/src/widgets/popover/Popover.tsx +0 -171
- package/src/widgets/popover/context.ts +0 -15
- package/src/widgets/popover/index.ts +0 -2
- package/src/widgets/popover/slots.ts +0 -24
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { AgentMessage, AgentMessageType, BatchProgressDetails, Plan } from "@vertesia/common";
|
|
2
2
|
import React, { useEffect, useMemo, useState, useRef, useCallback, Component, ReactNode } from "react";
|
|
3
3
|
import { cn } from "@vertesia/ui/core";
|
|
4
|
+
import { useUITranslation } from '../../../../i18n/index.js';
|
|
5
|
+
import { i18nInstance, NAMESPACE } from '../../../../i18n/instance.js';
|
|
4
6
|
import { PulsatingCircle } from "../AnimatedThinkingDots";
|
|
5
7
|
export type AgentConversationViewMode = "stacked" | "sliding";
|
|
6
8
|
import BatchProgressPanel, { type BatchProgressPanelClassNames } from "./BatchProgressPanel";
|
|
@@ -8,9 +10,67 @@ import MessageItem, { type MessageItemClassNames, type MessageItemProps } from "
|
|
|
8
10
|
import StreamingMessage, { type StreamingMessageClassNames } from "./StreamingMessage";
|
|
9
11
|
import ToolCallGroup, { type ToolCallGroupClassNames } from "./ToolCallGroup";
|
|
10
12
|
import WorkstreamTabs, { extractWorkstreams, filterMessagesByWorkstream } from "./WorkstreamTabs";
|
|
11
|
-
import { DONE_STATES, getWorkstreamId, groupMessagesWithStreaming, mergeConsecutiveToolGroups, StreamingData } from "./utils";
|
|
13
|
+
import { DONE_STATES, getSlidingViewMessageBuckets, getWorkstreamId, groupMessagesWithStreaming, mergeConsecutiveToolGroups, RenderableGroup, shouldCollapseAdjacentRenderedMessage, StreamingData } from "./utils";
|
|
12
14
|
import { ThinkingMessages } from "../WaitingMessages";
|
|
13
15
|
|
|
16
|
+
/** Extended group that may carry preamble info (text from a preceding single/streaming message) */
|
|
17
|
+
type RenderableGroupWithPreamble = RenderableGroup & {
|
|
18
|
+
preambleText?: string;
|
|
19
|
+
preambleMessage?: AgentMessage;
|
|
20
|
+
/** When true, this group was consumed as a preamble and should not render */
|
|
21
|
+
_consumed?: boolean;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
/** Message types that must never be consumed as preamble text */
|
|
25
|
+
const NON_PREAMBLE_TYPES = new Set([
|
|
26
|
+
AgentMessageType.QUESTION,
|
|
27
|
+
AgentMessageType.COMPLETE,
|
|
28
|
+
AgentMessageType.IDLE,
|
|
29
|
+
AgentMessageType.TERMINATED,
|
|
30
|
+
AgentMessageType.ERROR,
|
|
31
|
+
AgentMessageType.REQUEST_INPUT,
|
|
32
|
+
AgentMessageType.BATCH_PROGRESS,
|
|
33
|
+
]);
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Scan grouped messages and attach preamble text to tool_groups.
|
|
37
|
+
* When a single message (THOUGHT, UPDATE, ANSWER, etc.) immediately precedes
|
|
38
|
+
* a tool_group, the text is attached as preamble and the single message is marked
|
|
39
|
+
* as consumed so it doesn't render as a separate "Agent" box.
|
|
40
|
+
*/
|
|
41
|
+
function attachPreambles(groups: RenderableGroup[]): RenderableGroupWithPreamble[] {
|
|
42
|
+
const result: RenderableGroupWithPreamble[] = groups.map(g => ({ ...g }));
|
|
43
|
+
|
|
44
|
+
for (let i = 1; i < result.length; i++) {
|
|
45
|
+
const current = result[i];
|
|
46
|
+
const prev = result[i - 1];
|
|
47
|
+
|
|
48
|
+
// Only attach preamble to tool_groups
|
|
49
|
+
if (current.type !== 'tool_group') continue;
|
|
50
|
+
// Previous must be a single message with text content
|
|
51
|
+
if (prev.type !== 'single' || prev._consumed) continue;
|
|
52
|
+
|
|
53
|
+
const msg = prev.message;
|
|
54
|
+
const text = typeof msg.message === 'string' ? msg.message.trim() : '';
|
|
55
|
+
if (!text) continue;
|
|
56
|
+
|
|
57
|
+
// Skip messages that are tool activity themselves (already part of tool groups)
|
|
58
|
+
const isToolActivity = msg.details?.tool || msg.details?.tools;
|
|
59
|
+
if (isToolActivity) continue;
|
|
60
|
+
|
|
61
|
+
// Skip terminal/interactive message types that should always render independently
|
|
62
|
+
if (NON_PREAMBLE_TYPES.has(msg.type)) continue;
|
|
63
|
+
|
|
64
|
+
// Attach as preamble
|
|
65
|
+
current.preambleText = text;
|
|
66
|
+
current.preambleMessage = msg;
|
|
67
|
+
prev._consumed = true;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Filter out consumed groups
|
|
71
|
+
return result.filter(g => !g._consumed);
|
|
72
|
+
}
|
|
73
|
+
|
|
14
74
|
// Replace %thinking_message% placeholder with actual thinking message
|
|
15
75
|
const processThinkingPlaceholder = (text: string, thinkingMessageIndex: number): string => {
|
|
16
76
|
if (text.includes('%thinking_message%')) {
|
|
@@ -24,19 +84,6 @@ const isBatchProgressMessage = (message: AgentMessage): message is AgentMessage
|
|
|
24
84
|
return message.type === AgentMessageType.BATCH_PROGRESS && !!message.details?.batch_id;
|
|
25
85
|
};
|
|
26
86
|
|
|
27
|
-
const shouldDedupeAdjacentMessage = (previous: AgentMessage, current: AgentMessage): boolean => {
|
|
28
|
-
if (previous.type !== current.type) return false;
|
|
29
|
-
if (previous.message !== current.message) return false;
|
|
30
|
-
|
|
31
|
-
const prevDetails = previous.details as { tool_status?: string } | undefined;
|
|
32
|
-
const currDetails = current.details as { tool_status?: string } | undefined;
|
|
33
|
-
if (prevDetails?.tool_status !== "completed" || currDetails?.tool_status !== "completed") return false;
|
|
34
|
-
|
|
35
|
-
const prevTs = typeof previous.timestamp === "number" ? previous.timestamp : new Date(previous.timestamp).getTime();
|
|
36
|
-
const currTs = typeof current.timestamp === "number" ? current.timestamp : new Date(current.timestamp).getTime();
|
|
37
|
-
return currTs - prevTs < 2000;
|
|
38
|
-
};
|
|
39
|
-
|
|
40
87
|
// Error boundary to catch and isolate errors in individual message components
|
|
41
88
|
// Note: Markdown parsing errors are handled internally by MarkdownRenderer,
|
|
42
89
|
// so this mainly catches other component errors (e.g., artifact loading, charts)
|
|
@@ -66,7 +113,7 @@ class MessageErrorBoundary extends Component<
|
|
|
66
113
|
if (this.state.hasError) {
|
|
67
114
|
return (
|
|
68
115
|
<div className="border-l-4 border-l-destructive bg-destructive/10 px-4 py-2 my-2 rounded-r">
|
|
69
|
-
<p className="text-sm text-destructive font-medium">
|
|
116
|
+
<p className="text-sm text-destructive font-medium">{i18nInstance.getFixedT(null, NAMESPACE)('agent.failedToRenderMessage')}</p>
|
|
70
117
|
<p className="text-xs text-muted mt-1 truncate">
|
|
71
118
|
{this.state.error?.message || 'Unknown error'}
|
|
72
119
|
</p>
|
|
@@ -104,6 +151,8 @@ interface AllMessagesMixedProps {
|
|
|
104
151
|
hideToolCallsInViewMode?: AgentConversationViewMode[];
|
|
105
152
|
streamingMessageClassNames?: StreamingMessageClassNames;
|
|
106
153
|
batchProgressPanelClassNames?: BatchProgressPanelClassNames;
|
|
154
|
+
/** Run ID used to resolve artifact references in streaming chart specs */
|
|
155
|
+
artifactRunId?: string;
|
|
107
156
|
/** Hide the workstream tabs entirely */
|
|
108
157
|
hideWorkstreamTabs?: boolean;
|
|
109
158
|
/** className override for the working indicator container */
|
|
@@ -136,6 +185,7 @@ function AllMessagesMixedComponent({
|
|
|
136
185
|
hideToolCallsInViewMode,
|
|
137
186
|
streamingMessageClassNames,
|
|
138
187
|
batchProgressPanelClassNames,
|
|
188
|
+
artifactRunId,
|
|
139
189
|
hideWorkstreamTabs,
|
|
140
190
|
workingIndicatorClassName,
|
|
141
191
|
messageListClassName,
|
|
@@ -143,6 +193,11 @@ function AllMessagesMixedComponent({
|
|
|
143
193
|
CollectionLinkComponent,
|
|
144
194
|
prependFriendlyMessage,
|
|
145
195
|
}: AllMessagesMixedProps) {
|
|
196
|
+
if (!artifactRunId) {
|
|
197
|
+
console.warn('[AllMessagesMixed] artifactRunId prop is missing!');
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
const { t } = useUITranslation();
|
|
146
201
|
const containerRef = useRef<HTMLDivElement | null>(null);
|
|
147
202
|
const [activeWorkstream, setActiveWorkstream] = useState<string>("all");
|
|
148
203
|
|
|
@@ -150,9 +205,35 @@ function AllMessagesMixedComponent({
|
|
|
150
205
|
// During streaming, scrollIntoView was being called 30+ times/sec
|
|
151
206
|
const lastScrollTimeRef = useRef<number>(0);
|
|
152
207
|
const scrollScheduledRef = useRef<number | null>(null);
|
|
208
|
+
// Track whether the user has manually scrolled away from the bottom.
|
|
209
|
+
// When true, auto-scroll is suppressed so the user can read earlier content.
|
|
210
|
+
const userScrolledUpRef = useRef<boolean>(false);
|
|
211
|
+
// Guard to distinguish programmatic scrolls from user-initiated ones
|
|
212
|
+
const programmaticScrollRef = useRef<boolean>(false);
|
|
153
213
|
|
|
154
214
|
const isStreaming = streamingMessages.size > 0;
|
|
155
215
|
|
|
216
|
+
// Detect user scroll: if they scroll away from the bottom, stop auto-scrolling.
|
|
217
|
+
// Re-enable auto-scroll when they scroll back near the bottom.
|
|
218
|
+
useEffect(() => {
|
|
219
|
+
const container = containerRef.current;
|
|
220
|
+
if (!container) return;
|
|
221
|
+
|
|
222
|
+
const NEAR_BOTTOM_THRESHOLD = 80; // px from bottom to consider "at bottom"
|
|
223
|
+
|
|
224
|
+
const handleScroll = () => {
|
|
225
|
+
// Ignore scrolls triggered by our own performScroll
|
|
226
|
+
if (programmaticScrollRef.current) return;
|
|
227
|
+
|
|
228
|
+
const { scrollTop, scrollHeight, clientHeight } = container;
|
|
229
|
+
const distanceFromBottom = scrollHeight - scrollTop - clientHeight;
|
|
230
|
+
userScrolledUpRef.current = distanceFromBottom > NEAR_BOTTOM_THRESHOLD;
|
|
231
|
+
};
|
|
232
|
+
|
|
233
|
+
container.addEventListener('scroll', handleScroll, { passive: true });
|
|
234
|
+
return () => container.removeEventListener('scroll', handleScroll);
|
|
235
|
+
}, []);
|
|
236
|
+
|
|
156
237
|
// Compute bucketed streaming content length for scroll dependency
|
|
157
238
|
// Changes every ~200 chars to trigger scroll without excessive updates
|
|
158
239
|
const streamingContentBucket = useMemo(() => {
|
|
@@ -166,15 +247,24 @@ function AllMessagesMixedComponent({
|
|
|
166
247
|
// Throttled scroll function
|
|
167
248
|
const performScroll = useCallback(() => {
|
|
168
249
|
if (bottomRef.current) {
|
|
250
|
+
programmaticScrollRef.current = true;
|
|
169
251
|
bottomRef.current.scrollIntoView({ behavior: isStreaming ? "instant" : "smooth" });
|
|
170
252
|
lastScrollTimeRef.current = Date.now();
|
|
253
|
+
// Reset the programmatic flag after the browser processes the scroll
|
|
254
|
+
requestAnimationFrame(() => {
|
|
255
|
+
programmaticScrollRef.current = false;
|
|
256
|
+
});
|
|
171
257
|
}
|
|
172
258
|
scrollScheduledRef.current = null;
|
|
173
259
|
}, [bottomRef, isStreaming]);
|
|
174
260
|
|
|
175
261
|
// Auto-scroll to bottom when messages or streaming messages change
|
|
176
262
|
// Throttled to max 10 scrolls/sec to prevent layout thrashing
|
|
263
|
+
// Skipped when the user has manually scrolled up to read earlier content
|
|
177
264
|
useEffect(() => {
|
|
265
|
+
// Respect user's scroll position — don't yank them back to the bottom
|
|
266
|
+
if (userScrolledUpRef.current) return;
|
|
267
|
+
|
|
178
268
|
const now = Date.now();
|
|
179
269
|
const timeSinceLastScroll = now - lastScrollTimeRef.current;
|
|
180
270
|
|
|
@@ -209,7 +299,11 @@ function AllMessagesMixedComponent({
|
|
|
209
299
|
const deduped: AgentMessage[] = [];
|
|
210
300
|
for (const msg of sorted) {
|
|
211
301
|
const previous = deduped[deduped.length - 1];
|
|
212
|
-
if (previous &&
|
|
302
|
+
if (previous && shouldCollapseAdjacentRenderedMessage(previous, msg)) {
|
|
303
|
+
continue;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
if (previous && shouldDedupeAdjacentCompletedToolMessage(previous, msg)) {
|
|
213
307
|
continue;
|
|
214
308
|
}
|
|
215
309
|
deduped.push(msg);
|
|
@@ -259,35 +353,10 @@ function AllMessagesMixedComponent({
|
|
|
259
353
|
}, [sortedMessages, activeWorkstream]);
|
|
260
354
|
|
|
261
355
|
// Pre-compute important messages and recent thinking for sliding view (avoid IIFE in render)
|
|
262
|
-
const { importantMessages, recentThinking } = React.useMemo(
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
const important = displayMessages.filter(msg =>
|
|
267
|
-
msg.type === AgentMessageType.ANSWER ||
|
|
268
|
-
msg.type === AgentMessageType.QUESTION ||
|
|
269
|
-
msg.type === AgentMessageType.COMPLETE ||
|
|
270
|
-
msg.type === AgentMessageType.IDLE ||
|
|
271
|
-
msg.type === AgentMessageType.REQUEST_INPUT ||
|
|
272
|
-
msg.type === AgentMessageType.TERMINATED ||
|
|
273
|
-
msg.type === AgentMessageType.ERROR ||
|
|
274
|
-
// Include THOUGHT messages that have tool details (progress from message_to_human or streamed content)
|
|
275
|
-
(msg.type === AgentMessageType.THOUGHT && (msg.details?.tool || msg.details?.tools || msg.details?.streamed))
|
|
276
|
-
);
|
|
277
|
-
|
|
278
|
-
// Latest thinking: show only the most recent generic thinking message (UPDATE/PLAN or THOUGHT without tool)
|
|
279
|
-
// Tool progress is already in important messages
|
|
280
|
-
const thinkingMessages = !isCompleted && !hasStreaming
|
|
281
|
-
? displayMessages
|
|
282
|
-
.filter(msg =>
|
|
283
|
-
msg.type === AgentMessageType.UPDATE ||
|
|
284
|
-
msg.type === AgentMessageType.PLAN ||
|
|
285
|
-
(msg.type === AgentMessageType.THOUGHT && !msg.details?.tool && !msg.details?.tools && !msg.details?.streamed))
|
|
286
|
-
.slice(-1) // Show only the latest thinking message
|
|
287
|
-
: [];
|
|
288
|
-
|
|
289
|
-
return { importantMessages: important, recentThinking: thinkingMessages };
|
|
290
|
-
}, [displayMessages, isCompleted, streamingMessages.size]);
|
|
356
|
+
const { importantMessages, recentThinking } = React.useMemo(
|
|
357
|
+
() => getSlidingViewMessageBuckets(displayMessages, isCompleted, streamingMessages.size > 0),
|
|
358
|
+
[displayMessages, isCompleted, streamingMessages.size],
|
|
359
|
+
);
|
|
291
360
|
|
|
292
361
|
// Split streaming messages:
|
|
293
362
|
// - complete (or stale incomplete) ones are interleaved chronologically
|
|
@@ -313,9 +382,13 @@ function AllMessagesMixedComponent({
|
|
|
313
382
|
// If a newer persisted message exists, this stream is stale and should be
|
|
314
383
|
// treated as complete for ordering purposes.
|
|
315
384
|
const isStale = data.startTimestamp <= newestMessageTimestamp;
|
|
316
|
-
if (
|
|
385
|
+
if (isStale) {
|
|
386
|
+
// Only interleave chronologically when a newer persisted message
|
|
387
|
+
// already exists — the streaming message is truly historical.
|
|
317
388
|
complete.set(id, data);
|
|
318
389
|
} else if (data.text) {
|
|
390
|
+
// Keep at the bottom (including isComplete streams) until
|
|
391
|
+
// the persisted ANSWER/THOUGHT arrives and replaces it.
|
|
319
392
|
incomplete.push({ id, data });
|
|
320
393
|
}
|
|
321
394
|
});
|
|
@@ -325,14 +398,15 @@ function AllMessagesMixedComponent({
|
|
|
325
398
|
|
|
326
399
|
// Group messages with ONLY complete streaming interleaved for stacked view
|
|
327
400
|
// Incomplete streaming is rendered separately at the end (avoids re-grouping on every chunk)
|
|
401
|
+
// Then attach preamble text from preceding reasoning messages to tool_groups
|
|
328
402
|
const groupedMessages = React.useMemo(
|
|
329
|
-
() => mergeConsecutiveToolGroups(groupMessagesWithStreaming(displayMessages, completeStreaming, activeWorkstream)),
|
|
403
|
+
() => attachPreambles(mergeConsecutiveToolGroups(groupMessagesWithStreaming(displayMessages, completeStreaming, activeWorkstream))),
|
|
330
404
|
[displayMessages, completeStreaming, activeWorkstream]
|
|
331
405
|
);
|
|
332
406
|
|
|
333
407
|
// Group important messages with ONLY complete streaming interleaved for sliding view
|
|
334
408
|
const groupedImportantMessages = React.useMemo(
|
|
335
|
-
() => mergeConsecutiveToolGroups(groupMessagesWithStreaming(importantMessages, completeStreaming, activeWorkstream)),
|
|
409
|
+
() => attachPreambles(mergeConsecutiveToolGroups(groupMessagesWithStreaming(importantMessages, completeStreaming, activeWorkstream))),
|
|
336
410
|
[importantMessages, completeStreaming, activeWorkstream]
|
|
337
411
|
);
|
|
338
412
|
|
|
@@ -359,7 +433,7 @@ function AllMessagesMixedComponent({
|
|
|
359
433
|
if (!workstreamMessages.has(workstreamId)) {
|
|
360
434
|
workstreamMessages.set(workstreamId, []);
|
|
361
435
|
}
|
|
362
|
-
workstreamMessages.get(workstreamId)
|
|
436
|
+
workstreamMessages.get(workstreamId)?.push(message);
|
|
363
437
|
});
|
|
364
438
|
|
|
365
439
|
// Check if each workstream is completed
|
|
@@ -480,8 +554,8 @@ function AllMessagesMixedComponent({
|
|
|
480
554
|
<div className="flex items-center justify-center h-full text-center py-8">
|
|
481
555
|
<div className="flex items-center px-3 py-2 text-sm text-muted">
|
|
482
556
|
{activeWorkstream === "all"
|
|
483
|
-
?
|
|
484
|
-
:
|
|
557
|
+
? t('agent.waitingForAgentResponse')
|
|
558
|
+
: t('agent.noMessagesInWorkstream')}
|
|
485
559
|
</div>
|
|
486
560
|
</div>
|
|
487
561
|
) : (
|
|
@@ -528,6 +602,8 @@ function AllMessagesMixedComponent({
|
|
|
528
602
|
showPulsatingCircle={isLatest}
|
|
529
603
|
toolRunId={group.toolRunId}
|
|
530
604
|
toolStatus={group.toolStatus}
|
|
605
|
+
preambleText={group.preambleText}
|
|
606
|
+
preambleMessage={group.preambleMessage}
|
|
531
607
|
{...toolCallGroupClassNames}
|
|
532
608
|
/>
|
|
533
609
|
</MessageErrorBoundary>
|
|
@@ -541,6 +617,7 @@ function AllMessagesMixedComponent({
|
|
|
541
617
|
workstreamId={group.workstreamId}
|
|
542
618
|
isComplete={group.isComplete}
|
|
543
619
|
timestamp={group.startTimestamp}
|
|
620
|
+
artifactRunId={artifactRunId}
|
|
544
621
|
{...streamingMessageClassNames}
|
|
545
622
|
/>
|
|
546
623
|
);
|
|
@@ -586,8 +663,9 @@ function AllMessagesMixedComponent({
|
|
|
586
663
|
key={`streaming-incomplete-${id}`}
|
|
587
664
|
text={data.text}
|
|
588
665
|
workstreamId={data.workstreamId}
|
|
589
|
-
isComplete={
|
|
666
|
+
isComplete={data.isComplete}
|
|
590
667
|
timestamp={data.startTimestamp}
|
|
668
|
+
artifactRunId={artifactRunId}
|
|
591
669
|
{...streamingMessageClassNames}
|
|
592
670
|
/>
|
|
593
671
|
))}
|
|
@@ -595,7 +673,7 @@ function AllMessagesMixedComponent({
|
|
|
595
673
|
{isAgentWorking && incompleteStreaming.length === 0 && (
|
|
596
674
|
<div className={cn("flex items-center gap-2 pl-3 py-1.5 border-l-2 border-l-purple-500", workingIndicatorClassName)}>
|
|
597
675
|
<PulsatingCircle size="sm" color="blue" />
|
|
598
|
-
<span className="text-xs text-muted">
|
|
676
|
+
<span className="text-xs text-muted">{t('agent.working')}</span>
|
|
599
677
|
</div>
|
|
600
678
|
)}
|
|
601
679
|
</>
|
|
@@ -626,6 +704,8 @@ function AllMessagesMixedComponent({
|
|
|
626
704
|
showPulsatingCircle={isLatest}
|
|
627
705
|
toolRunId={group.toolRunId}
|
|
628
706
|
toolStatus={group.toolStatus}
|
|
707
|
+
preambleText={group.preambleText}
|
|
708
|
+
preambleMessage={group.preambleMessage}
|
|
629
709
|
{...toolCallGroupClassNames}
|
|
630
710
|
/>
|
|
631
711
|
</MessageErrorBoundary>
|
|
@@ -639,6 +719,7 @@ function AllMessagesMixedComponent({
|
|
|
639
719
|
workstreamId={group.workstreamId}
|
|
640
720
|
isComplete={group.isComplete}
|
|
641
721
|
timestamp={group.startTimestamp}
|
|
722
|
+
artifactRunId={artifactRunId}
|
|
642
723
|
{...streamingMessageClassNames}
|
|
643
724
|
/>
|
|
644
725
|
);
|
|
@@ -687,6 +768,7 @@ function AllMessagesMixedComponent({
|
|
|
687
768
|
workstreamId={getWorkstreamId(thinking)}
|
|
688
769
|
isComplete={idx < recentThinking.length - 1} // Only latest is still "streaming"
|
|
689
770
|
timestamp={thinking.timestamp}
|
|
771
|
+
artifactRunId={artifactRunId}
|
|
690
772
|
{...streamingMessageClassNames}
|
|
691
773
|
/>
|
|
692
774
|
))}
|
|
@@ -696,8 +778,9 @@ function AllMessagesMixedComponent({
|
|
|
696
778
|
key={`streaming-incomplete-${id}`}
|
|
697
779
|
text={data.text}
|
|
698
780
|
workstreamId={data.workstreamId}
|
|
699
|
-
isComplete={
|
|
781
|
+
isComplete={data.isComplete}
|
|
700
782
|
timestamp={data.startTimestamp}
|
|
783
|
+
artifactRunId={artifactRunId}
|
|
701
784
|
{...streamingMessageClassNames}
|
|
702
785
|
/>
|
|
703
786
|
))}
|
|
@@ -705,7 +788,7 @@ function AllMessagesMixedComponent({
|
|
|
705
788
|
{isAgentWorking && recentThinking.length === 0 && incompleteStreaming.length === 0 && (
|
|
706
789
|
<div className={cn("flex items-center gap-2 pl-3 py-1.5 border-l-2 border-l-purple-500", workingIndicatorClassName)}>
|
|
707
790
|
<PulsatingCircle size="sm" color="blue" />
|
|
708
|
-
<span className="text-xs text-muted">
|
|
791
|
+
<span className="text-xs text-muted">{t('agent.working')}</span>
|
|
709
792
|
</div>
|
|
710
793
|
)}
|
|
711
794
|
</>
|
|
@@ -717,6 +800,19 @@ function AllMessagesMixedComponent({
|
|
|
717
800
|
);
|
|
718
801
|
}
|
|
719
802
|
|
|
803
|
+
const shouldDedupeAdjacentCompletedToolMessage = (previous: AgentMessage, current: AgentMessage): boolean => {
|
|
804
|
+
if (previous.type !== current.type) return false;
|
|
805
|
+
if (previous.message !== current.message) return false;
|
|
806
|
+
|
|
807
|
+
const prevDetails = previous.details as { tool_status?: string } | undefined;
|
|
808
|
+
const currDetails = current.details as { tool_status?: string } | undefined;
|
|
809
|
+
if (prevDetails?.tool_status !== "completed" || currDetails?.tool_status !== "completed") return false;
|
|
810
|
+
|
|
811
|
+
const prevTs = typeof previous.timestamp === "number" ? previous.timestamp : new Date(previous.timestamp).getTime();
|
|
812
|
+
const currTs = typeof current.timestamp === "number" ? current.timestamp : new Date(current.timestamp).getTime();
|
|
813
|
+
return currTs - prevTs < 2000;
|
|
814
|
+
};
|
|
815
|
+
|
|
720
816
|
const AllMessagesMixed = React.memo(AllMessagesMixedComponent);
|
|
721
817
|
|
|
722
818
|
export default AllMessagesMixed;
|
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
} from "lucide-react";
|
|
13
13
|
import { useState, memo } from "react";
|
|
14
14
|
import { PulsatingCircle } from "../AnimatedThinkingDots";
|
|
15
|
+
import { useUITranslation } from "../../../../i18n/index.js";
|
|
15
16
|
|
|
16
17
|
export interface BatchProgressPanelProps {
|
|
17
18
|
message: AgentMessage;
|
|
@@ -52,6 +53,7 @@ function BatchProgressPanelComponent({
|
|
|
52
53
|
}: BatchProgressPanelProps) {
|
|
53
54
|
const [isExpanded, setIsExpanded] = useState(false);
|
|
54
55
|
const toast = useToast();
|
|
56
|
+
const { t } = useUITranslation();
|
|
55
57
|
|
|
56
58
|
const { tool_name, total, completed, succeeded, failed, items, started_at, completed_at } = batchData;
|
|
57
59
|
|
|
@@ -103,7 +105,7 @@ function BatchProgressPanelComponent({
|
|
|
103
105
|
navigator.clipboard.writeText(content).then(() => {
|
|
104
106
|
toast({
|
|
105
107
|
status: "success",
|
|
106
|
-
title:
|
|
108
|
+
title: t('agent.copiedBatchDetails'),
|
|
107
109
|
duration: 2000,
|
|
108
110
|
});
|
|
109
111
|
});
|
|
@@ -123,7 +125,7 @@ function BatchProgressPanelComponent({
|
|
|
123
125
|
>
|
|
124
126
|
<div className="flex items-center gap-2">
|
|
125
127
|
{renderStatusIndicator()}
|
|
126
|
-
<span className={cn("text-xs font-medium text-muted", senderClassName)}>
|
|
128
|
+
<span className={cn("text-xs font-medium text-muted", senderClassName)}>{t('agent.batch')}</span>
|
|
127
129
|
<span className="text-xs text-blue-600 dark:text-blue-400 font-medium">
|
|
128
130
|
{tool_name}
|
|
129
131
|
</span>
|
|
@@ -152,7 +154,7 @@ function BatchProgressPanelComponent({
|
|
|
152
154
|
copyToClipboard();
|
|
153
155
|
}}
|
|
154
156
|
className="text-muted"
|
|
155
|
-
title=
|
|
157
|
+
title={t('agent.copyBatchDetails')}
|
|
156
158
|
>
|
|
157
159
|
<CopyIcon className="size-3" />
|
|
158
160
|
</Button>
|
|
@@ -222,7 +224,7 @@ function BatchProgressPanelComponent({
|
|
|
222
224
|
|
|
223
225
|
{/* Message */}
|
|
224
226
|
<span className="text-muted truncate flex-1" title={item.message}>
|
|
225
|
-
{item.message || (item.status === "pending" ?
|
|
227
|
+
{item.message || (item.status === "pending" ? t('agent.waiting') : "")}
|
|
226
228
|
</span>
|
|
227
229
|
|
|
228
230
|
{/* Duration */}
|