@vertesia/ui 1.0.0-dev.20260227.112605Z → 1.0.0-dev.20260331.091034Z
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +64 -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/selectBox.js +1 -1
- 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 +8 -6
- package/lib/esm/core/components/shadcn/theme/ThemeSwitcher.js.map +1 -1
- package/lib/esm/core/components/shadcn/tooltip.js +1 -1
- package/lib/esm/core/components/shadcn/tooltip.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/core/hooks/PortalContainerProvider.js +9 -3
- package/lib/esm/core/hooks/PortalContainerProvider.js.map +1 -1
- package/lib/esm/env/index.js +16 -9
- 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 +241 -113
- 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 +76 -33
- 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 +79 -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 +9 -2
- 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 +21 -18
- 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 +696 -0
- package/lib/esm/i18n/locales/de.json +664 -0
- package/lib/esm/i18n/locales/en.json +665 -0
- package/lib/esm/i18n/locales/es.json +670 -0
- package/lib/esm/i18n/locales/fr.json +672 -0
- package/lib/esm/i18n/locales/it.json +670 -0
- package/lib/esm/i18n/locales/ja.json +664 -0
- package/lib/esm/i18n/locales/ko.json +664 -0
- package/lib/esm/i18n/locales/pt.json +670 -0
- package/lib/esm/i18n/locales/ru.json +680 -0
- package/lib/esm/i18n/locales/tr.json +664 -0
- package/lib/esm/i18n/locales/zh-TW.json +664 -0
- package/lib/esm/i18n/locales/zh.json +664 -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 +33 -4
- package/lib/esm/session/UserSession.js.map +1 -1
- package/lib/esm/session/UserSessionProvider.js +6 -13
- 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/domainRouting.js +17 -0
- package/lib/esm/session/auth/domainRouting.js.map +1 -0
- 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 +29 -22
- 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 +51 -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 +8 -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/core/hooks/PortalContainerProvider.d.ts +1 -0
- package/lib/types/core/hooks/PortalContainerProvider.d.ts.map +1 -1
- package/lib/types/env/index.d.ts +12 -3
- 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 +13 -4
- 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 +5 -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/RunsFacetsNav.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 +0 -1
- package/lib/types/session/UserSessionProvider.d.ts.map +1 -1
- package/lib/types/session/auth/domainRouting.d.ts +3 -0
- package/lib/types/session/auth/domainRouting.d.ts.map +1 -0
- 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/llms.txt +124 -4
- package/package.json +50 -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 +325 -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/selectBox.tsx +1 -1
- 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 +19 -10
- package/src/core/components/shadcn/tooltip.tsx +1 -1
- package/src/core/components/toast/NotificationPanel.tsx +38 -44
- package/src/core/hooks/PortalContainerProvider.tsx +11 -3
- package/src/css/base.css +31 -0
- package/src/css/color.css +136 -0
- package/src/css/custom-tooltips.css +64 -0
- package/src/css/index.css +27 -0
- package/src/css/theme.css +86 -0
- package/src/css/typography.css +88 -0
- package/src/css/utilities.css +72 -0
- package/src/env/index.ts +24 -13
- 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 +538 -364
- 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 +183 -105
- 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 +86 -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 +15 -7
- 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 +45 -40
- 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 +696 -0
- package/src/i18n/locales/de.json +664 -0
- package/src/i18n/locales/en.json +665 -0
- package/src/i18n/locales/es.json +670 -0
- package/src/i18n/locales/fr.json +672 -0
- package/src/i18n/locales/it.json +670 -0
- package/src/i18n/locales/ja.json +664 -0
- package/src/i18n/locales/ko.json +664 -0
- package/src/i18n/locales/pt.json +670 -0
- package/src/i18n/locales/ru.json +680 -0
- package/src/i18n/locales/tr.json +664 -0
- package/src/i18n/locales/zh-TW.json +664 -0
- package/src/i18n/locales/zh.json +664 -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 +34 -5
- package/src/session/UserSessionProvider.tsx +6 -14
- package/src/session/auth/composable.ts +1 -1
- package/src/session/auth/domainRouting.test.ts +110 -0
- package/src/session/auth/domainRouting.ts +22 -0
- 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 +36 -33
- 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
|
@@ -3,6 +3,7 @@ import { Activity, FileTextIcon, HelpCircleIcon, PaperclipIcon, SendIcon, StopCi
|
|
|
3
3
|
import React, { useCallback, useEffect, useRef, useState } from "react";
|
|
4
4
|
import { ConversationFile, FileProcessingStatus } from "@vertesia/common";
|
|
5
5
|
import { SelectDocument } from "../../../store";
|
|
6
|
+
import { useUITranslation } from "../../../../i18n/index.js";
|
|
6
7
|
|
|
7
8
|
/** Represents an uploaded file attachment */
|
|
8
9
|
export interface UploadedFile {
|
|
@@ -82,12 +83,12 @@ export default function MessageInput({
|
|
|
82
83
|
isStreaming = false,
|
|
83
84
|
isCompleted = false,
|
|
84
85
|
activeTaskCount = 0,
|
|
85
|
-
placeholder
|
|
86
|
+
placeholder,
|
|
86
87
|
// File upload props
|
|
87
88
|
onFilesSelected,
|
|
88
89
|
uploadedFiles = [],
|
|
89
90
|
onRemoveFile,
|
|
90
|
-
acceptedFileTypes
|
|
91
|
+
acceptedFileTypes,
|
|
91
92
|
maxFiles = 5,
|
|
92
93
|
processingFiles,
|
|
93
94
|
hasProcessingFiles = false,
|
|
@@ -102,6 +103,8 @@ export default function MessageInput({
|
|
|
102
103
|
// Styling props
|
|
103
104
|
className,
|
|
104
105
|
}: MessageInputProps) {
|
|
106
|
+
const { t } = useUITranslation();
|
|
107
|
+
const resolvedPlaceholder = placeholder ?? t('agent.typeYourMessage');
|
|
105
108
|
const ref = useRef<HTMLTextAreaElement | null>(null);
|
|
106
109
|
const fileInputRef = useRef<HTMLInputElement | null>(null);
|
|
107
110
|
const [value, setValue] = useState("");
|
|
@@ -294,7 +297,6 @@ export default function MessageInput({
|
|
|
294
297
|
}, 100);
|
|
295
298
|
};
|
|
296
299
|
|
|
297
|
-
const hasAttachments = uploadedFiles.length > 0 || selectedDocuments.length > 0 || (processingFiles && processingFiles.size > 0);
|
|
298
300
|
|
|
299
301
|
return (
|
|
300
302
|
<div
|
|
@@ -309,7 +311,7 @@ export default function MessageInput({
|
|
|
309
311
|
<div className="absolute inset-0 flex items-center justify-center bg-blue-100/80 dark:bg-blue-900/40 rounded-lg z-10 pointer-events-none">
|
|
310
312
|
<div className="text-blue-600 dark:text-blue-400 font-medium flex items-center gap-2">
|
|
311
313
|
<UploadIcon className="size-5" />
|
|
312
|
-
|
|
314
|
+
{t('agent.dropFilesToUpload')}
|
|
313
315
|
</div>
|
|
314
316
|
</div>
|
|
315
317
|
)}
|
|
@@ -326,108 +328,106 @@ export default function MessageInput({
|
|
|
326
328
|
/>
|
|
327
329
|
)}
|
|
328
330
|
|
|
329
|
-
{/*
|
|
330
|
-
{
|
|
331
|
+
{/* Uploaded files preview */}
|
|
332
|
+
{!hideFileUpload && (uploadedFiles.length > 0 || (processingFiles && processingFiles.size > 0)) && (
|
|
331
333
|
<div className="flex flex-col gap-2 mb-3">
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
<HelpCircleIcon className="size-3 text-gray-400 dark:text-gray-500" />
|
|
345
|
-
</VTooltip>
|
|
346
|
-
</div>
|
|
347
|
-
<div className="flex flex-wrap gap-2">
|
|
348
|
-
{/* Processing files (uploading/processing/error) */}
|
|
349
|
-
{processingFiles && Array.from(processingFiles.values()).map((file) => (
|
|
350
|
-
<div
|
|
351
|
-
key={file.id}
|
|
352
|
-
className={cn(
|
|
353
|
-
"flex items-center gap-1.5 px-2 py-1 rounded-md text-sm",
|
|
354
|
-
file.status === FileProcessingStatus.ERROR
|
|
355
|
-
? "bg-destructive/10 text-destructive"
|
|
356
|
-
: file.status === FileProcessingStatus.READY
|
|
357
|
-
? "bg-success/10 text-success"
|
|
358
|
-
: "bg-attention/10 text-attention",
|
|
359
|
-
)}
|
|
360
|
-
>
|
|
361
|
-
<FileTextIcon className={cn(
|
|
362
|
-
"size-3.5",
|
|
363
|
-
(file.status === FileProcessingStatus.UPLOADING || file.status === FileProcessingStatus.PROCESSING) && "animate-pulse",
|
|
364
|
-
)} />
|
|
365
|
-
<span className="max-w-[120px] truncate">{file.name}</span>
|
|
366
|
-
<span className="text-xs opacity-70">
|
|
367
|
-
{file.status === FileProcessingStatus.UPLOADING ? 'Uploading...'
|
|
368
|
-
: file.status === FileProcessingStatus.PROCESSING ? 'Processing...'
|
|
369
|
-
: file.status === FileProcessingStatus.ERROR ? 'Error'
|
|
370
|
-
: file.status === FileProcessingStatus.READY ? 'Ready' : file.status}
|
|
371
|
-
</span>
|
|
372
|
-
</div>
|
|
373
|
-
))}
|
|
374
|
-
{/* Uploaded files (with remove button) */}
|
|
375
|
-
{uploadedFiles.map((file) => (
|
|
376
|
-
<div
|
|
377
|
-
key={file.id}
|
|
378
|
-
className="flex items-center gap-1.5 px-2 py-1 bg-success/10 text-success rounded-md text-sm"
|
|
379
|
-
>
|
|
380
|
-
<FileTextIcon className="size-3.5" />
|
|
381
|
-
<span className="max-w-[120px] truncate">{file.name}</span>
|
|
382
|
-
{onRemoveFile && (
|
|
383
|
-
<button
|
|
384
|
-
onClick={() => onRemoveFile(file.id)}
|
|
385
|
-
className="ml-1 p-0.5 hover:bg-success/20 rounded"
|
|
386
|
-
>
|
|
387
|
-
<XIcon className="size-3" />
|
|
388
|
-
</button>
|
|
389
|
-
)}
|
|
390
|
-
</div>
|
|
391
|
-
))}
|
|
392
|
-
</div>
|
|
334
|
+
<div>
|
|
335
|
+
<div className="flex items-center gap-1 mb-1">
|
|
336
|
+
<span className="text-xs font-medium text-gray-500 dark:text-gray-400">
|
|
337
|
+
{t('agent.uploadedFiles')}
|
|
338
|
+
</span>
|
|
339
|
+
<VTooltip
|
|
340
|
+
description={t('agent.filesUploadedDescription')}
|
|
341
|
+
placement="top"
|
|
342
|
+
size="md"
|
|
343
|
+
>
|
|
344
|
+
<HelpCircleIcon className="size-3 text-gray-400 dark:text-gray-500" />
|
|
345
|
+
</VTooltip>
|
|
393
346
|
</div>
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
347
|
+
<div className="flex flex-wrap gap-2">
|
|
348
|
+
{/* Processing files (uploading/processing/error) */}
|
|
349
|
+
{processingFiles && Array.from(processingFiles.values()).map((file) => (
|
|
350
|
+
<div
|
|
351
|
+
key={file.id}
|
|
352
|
+
className={cn(
|
|
353
|
+
"flex items-center gap-1.5 px-2 py-1 rounded-md text-sm",
|
|
354
|
+
file.status === FileProcessingStatus.ERROR
|
|
355
|
+
? "bg-destructive/10 text-destructive"
|
|
356
|
+
: file.status === FileProcessingStatus.READY
|
|
357
|
+
? "bg-success/10 text-success"
|
|
358
|
+
: "bg-attention/10 text-attention",
|
|
359
|
+
)}
|
|
406
360
|
>
|
|
407
|
-
<
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
<
|
|
413
|
-
|
|
414
|
-
|
|
361
|
+
<FileTextIcon className={cn(
|
|
362
|
+
"size-3.5",
|
|
363
|
+
(file.status === FileProcessingStatus.UPLOADING || file.status === FileProcessingStatus.PROCESSING) && "animate-pulse",
|
|
364
|
+
)} />
|
|
365
|
+
<span className="max-w-[120px] truncate">{file.name}</span>
|
|
366
|
+
<span className="text-xs opacity-70">
|
|
367
|
+
{file.status === FileProcessingStatus.UPLOADING ? t('agent.uploading')
|
|
368
|
+
: file.status === FileProcessingStatus.PROCESSING ? t('agent.processing')
|
|
369
|
+
: file.status === FileProcessingStatus.ERROR ? t('agent.error')
|
|
370
|
+
: file.status === FileProcessingStatus.READY ? t('agent.ready') : file.status}
|
|
371
|
+
</span>
|
|
372
|
+
</div>
|
|
373
|
+
))}
|
|
374
|
+
{/* Uploaded files (with remove button) */}
|
|
375
|
+
{uploadedFiles.map((file) => (
|
|
376
|
+
<div
|
|
377
|
+
key={file.id}
|
|
378
|
+
className="flex items-center gap-1.5 px-2 py-1 bg-success/10 text-success rounded-md text-sm"
|
|
379
|
+
>
|
|
380
|
+
<FileTextIcon className="size-3.5" />
|
|
381
|
+
<span className="max-w-[120px] truncate">{file.name}</span>
|
|
382
|
+
{onRemoveFile && (
|
|
383
|
+
<button
|
|
384
|
+
onClick={() => onRemoveFile(file.id)}
|
|
385
|
+
className="ml-1 p-0.5 hover:bg-success/20 rounded"
|
|
386
|
+
>
|
|
387
|
+
<XIcon className="size-3" />
|
|
388
|
+
</button>
|
|
389
|
+
)}
|
|
390
|
+
</div>
|
|
391
|
+
))}
|
|
392
|
+
</div>
|
|
393
|
+
</div>
|
|
394
|
+
</div>
|
|
395
|
+
)}
|
|
396
|
+
|
|
397
|
+
{/* Selected documents section — always visible regardless of hideFileUpload */}
|
|
398
|
+
{selectedDocuments.length > 0 && (
|
|
399
|
+
<div className="mb-3">
|
|
400
|
+
<div className="flex items-center gap-1 mb-1">
|
|
401
|
+
<span className="text-xs font-medium text-blue-600 dark:text-blue-400">
|
|
402
|
+
{t('agent.documentAttachments')}
|
|
403
|
+
</span>
|
|
404
|
+
<VTooltip
|
|
405
|
+
description={t('agent.documentAttachmentsDescription')}
|
|
406
|
+
placement="top"
|
|
407
|
+
size="md"
|
|
408
|
+
>
|
|
409
|
+
<HelpCircleIcon className="size-3 text-blue-400 dark:text-blue-500" />
|
|
410
|
+
</VTooltip>
|
|
411
|
+
</div>
|
|
412
|
+
<div className="flex flex-wrap gap-2">
|
|
413
|
+
{selectedDocuments.map((doc) => (
|
|
414
|
+
<div
|
|
415
|
+
key={doc.id}
|
|
416
|
+
className="flex items-center gap-1.5 px-2 py-1 bg-blue-100 dark:bg-blue-900/30 rounded-md text-sm text-blue-700 dark:text-blue-300"
|
|
417
|
+
>
|
|
418
|
+
<FileTextIcon className="size-3.5" />
|
|
419
|
+
<span className="max-w-[120px] truncate">{doc.name}</span>
|
|
420
|
+
{onRemoveDocument && (
|
|
421
|
+
<button
|
|
422
|
+
onClick={() => onRemoveDocument(doc.id)}
|
|
423
|
+
className="ml-1 p-0.5 hover:bg-blue-200 dark:hover:bg-blue-800 rounded"
|
|
415
424
|
>
|
|
416
|
-
<
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
<button
|
|
420
|
-
onClick={() => onRemoveDocument(doc.id)}
|
|
421
|
-
className="ml-1 p-0.5 hover:bg-blue-200 dark:hover:bg-blue-800 rounded"
|
|
422
|
-
>
|
|
423
|
-
<XIcon className="size-3" />
|
|
424
|
-
</button>
|
|
425
|
-
)}
|
|
426
|
-
</div>
|
|
427
|
-
))}
|
|
425
|
+
<XIcon className="size-3" />
|
|
426
|
+
</button>
|
|
427
|
+
)}
|
|
428
428
|
</div>
|
|
429
|
-
|
|
430
|
-
|
|
429
|
+
))}
|
|
430
|
+
</div>
|
|
431
431
|
</div>
|
|
432
432
|
)}
|
|
433
433
|
|
|
@@ -443,7 +443,7 @@ export default function MessageInput({
|
|
|
443
443
|
className="text-xs"
|
|
444
444
|
>
|
|
445
445
|
<UploadIcon className="size-3.5 mr-1.5" />
|
|
446
|
-
|
|
446
|
+
{t('agent.upload')}
|
|
447
447
|
</Button>
|
|
448
448
|
)}
|
|
449
449
|
{renderDocumentSearch && (
|
|
@@ -455,7 +455,12 @@ export default function MessageInput({
|
|
|
455
455
|
className="text-xs"
|
|
456
456
|
>
|
|
457
457
|
<FileTextIcon className="size-3.5 mr-1.5" />
|
|
458
|
-
|
|
458
|
+
{t('agent.searchDocuments')}
|
|
459
|
+
{selectedDocuments.length > 0 && (
|
|
460
|
+
<span className="ml-1.5 inline-flex items-center justify-center px-1.5 py-0.5 text-[10px] font-medium rounded-full bg-blue-600 text-white">
|
|
461
|
+
{selectedDocuments.length}
|
|
462
|
+
</span>
|
|
463
|
+
)}
|
|
459
464
|
</Button>
|
|
460
465
|
)}
|
|
461
466
|
</div>
|
|
@@ -471,7 +476,7 @@ export default function MessageInput({
|
|
|
471
476
|
onChange={(e) => setValue(e.target.value)}
|
|
472
477
|
onPaste={handlePaste}
|
|
473
478
|
disabled={disabled}
|
|
474
|
-
placeholder={isStreaming ?
|
|
479
|
+
placeholder={isStreaming ? t('agent.agentWorking') : (onFilesSelected ? t('agent.askAnything') : resolvedPlaceholder)}
|
|
475
480
|
rows={2}
|
|
476
481
|
style={{ minHeight: '60px', maxHeight: '200px' }}
|
|
477
482
|
/>
|
|
@@ -481,7 +486,7 @@ export default function MessageInput({
|
|
|
481
486
|
className="rounded-full"
|
|
482
487
|
disabled={!isCompleted}
|
|
483
488
|
onClick={() => setIsObjectModalOpen(true)}
|
|
484
|
-
alt=
|
|
489
|
+
alt={t('agent.linkObject')}
|
|
485
490
|
>
|
|
486
491
|
<PaperclipIcon className="size-4" />
|
|
487
492
|
</Button>
|
|
@@ -494,19 +499,19 @@ export default function MessageInput({
|
|
|
494
499
|
onClick={handleStop}
|
|
495
500
|
disabled={isStopping}
|
|
496
501
|
className="px-4 py-2.5 bg-red-600 hover:bg-red-700 text-white"
|
|
497
|
-
title=
|
|
502
|
+
title={t('agent.stopAgent')}
|
|
498
503
|
>
|
|
499
|
-
{isStopping ? <Spinner size="sm" className="mr-2" /> : <StopCircleIcon className="size-4 mr-2" />} <span>
|
|
504
|
+
{isStopping ? <Spinner size="sm" className="mr-2" /> : <StopCircleIcon className="size-4 mr-2" />} <span>{t('agent.stop')}</span>
|
|
500
505
|
</Button>
|
|
501
506
|
) : (
|
|
502
507
|
<Button
|
|
503
508
|
onClick={handleSend}
|
|
504
509
|
disabled={disabled || isSending || !value.trim() || hasProcessingFiles}
|
|
505
510
|
className="px-4 py-2.5"
|
|
506
|
-
title={hasProcessingFiles ?
|
|
511
|
+
title={hasProcessingFiles ? t('agent.waitForFiles') : undefined}
|
|
507
512
|
>
|
|
508
513
|
{isSending ? <Spinner size="sm" className="mr-2" /> : <SendIcon className="size-4 mr-2" />}
|
|
509
|
-
<span>{hasProcessingFiles ?
|
|
514
|
+
<span>{hasProcessingFiles ? t('agent.processing') : t('agent.send')}</span>
|
|
510
515
|
</Button>
|
|
511
516
|
)}
|
|
512
517
|
</div>
|
|
@@ -515,13 +520,13 @@ export default function MessageInput({
|
|
|
515
520
|
{activeTaskCount > 0 ? (
|
|
516
521
|
<div className="flex items-center justify-center">
|
|
517
522
|
<Activity className="h-3 w-3 mr-1 text-attention" />
|
|
518
|
-
<span>
|
|
523
|
+
<span>{t('agent.activeWorkstreams', { count: activeTaskCount })}</span>
|
|
519
524
|
</div>
|
|
520
525
|
) : isStreaming
|
|
521
|
-
?
|
|
526
|
+
? t('agent.agentWorkingStop')
|
|
522
527
|
: disabled
|
|
523
|
-
?
|
|
524
|
-
:
|
|
528
|
+
? t('agent.agentProcessing')
|
|
529
|
+
: t('agent.enterToSend')}
|
|
525
530
|
</div>
|
|
526
531
|
|
|
527
532
|
{/* Object Selection Modal */}
|
|
@@ -530,7 +535,7 @@ export default function MessageInput({
|
|
|
530
535
|
onClose={() => setIsObjectModalOpen(false)}
|
|
531
536
|
className='min-w-[60vw]'
|
|
532
537
|
>
|
|
533
|
-
<ModalTitle>
|
|
538
|
+
<ModalTitle>{t('agent.linkObject')}</ModalTitle>
|
|
534
539
|
<ModalBody className="pb-6">
|
|
535
540
|
<SelectDocument onChange={handleObjectSelect} />
|
|
536
541
|
</ModalBody>
|
|
@@ -4,8 +4,9 @@ import { NavLink } from "@vertesia/ui/router";
|
|
|
4
4
|
import { useUserSession } from "@vertesia/ui/session";
|
|
5
5
|
import { MarkdownRenderer } from "@vertesia/ui/widgets";
|
|
6
6
|
import dayjs from "dayjs";
|
|
7
|
-
import { AlertCircle, Bot, CheckCircle, Clock, CopyIcon, Download, Info, Layers, type LucideIcon, MessageSquare, User } from "lucide-react";
|
|
7
|
+
import { AlertCircle, Bot, CheckCircle, Clock, CopyIcon, Download, Info, Layers, type LucideIcon, MessageSquare, RefreshCcw, User } from "lucide-react";
|
|
8
8
|
import React, { useEffect, useState, useMemo, memo, useRef } from "react";
|
|
9
|
+
import { useUITranslation } from '../../../../i18n/index.js';
|
|
9
10
|
import { PulsatingCircle } from "../AnimatedThinkingDots";
|
|
10
11
|
import { AskUserWidget } from "../AskUserWidget";
|
|
11
12
|
import { useImageLightbox } from "../ImageLightbox";
|
|
@@ -110,6 +111,12 @@ function mergeClassNames(
|
|
|
110
111
|
return result as MessageItemClassNames;
|
|
111
112
|
}
|
|
112
113
|
|
|
114
|
+
/** Map sender labels from MESSAGE_STYLES to i18n keys where applicable. */
|
|
115
|
+
const SENDER_I18N_KEYS: Record<string, string> = {
|
|
116
|
+
Ready: 'agent.ready',
|
|
117
|
+
Error: 'agent.error',
|
|
118
|
+
};
|
|
119
|
+
|
|
113
120
|
/** Per-message-type visual config (border, bg, icon color, sender label, icon component, optional className overrides). */
|
|
114
121
|
export interface MessageStyleConfig extends MessageItemClassNames {
|
|
115
122
|
borderColor: string;
|
|
@@ -147,6 +154,7 @@ export const MESSAGE_STYLES: Record<AgentMessageType | 'default', MessageStyleCo
|
|
|
147
154
|
[AgentMessageType.SYSTEM]: { borderColor: 'border-l-muted', iconColor: 'text-muted', sender: 'System', Icon: Info },
|
|
148
155
|
[AgentMessageType.STREAMING_CHUNK]: { borderColor: 'border-l-info', iconColor: 'text-info', sender: 'Agent', Icon: Bot },
|
|
149
156
|
[AgentMessageType.BATCH_PROGRESS]: { borderColor: 'border-l-blue-500', iconColor: 'text-blue-600 dark:text-blue-400', sender: 'Batch', Icon: Layers },
|
|
157
|
+
[AgentMessageType.RESTARTING]: { borderColor: 'border-l-attention', iconColor: 'text-attention', sender: 'Restarting', Icon: RefreshCcw },
|
|
150
158
|
default: { borderColor: 'border-l-muted', iconColor: 'text-muted', sender: 'Agent', Icon: Bot },
|
|
151
159
|
};
|
|
152
160
|
|
|
@@ -169,6 +177,7 @@ function MessageItemComponent({
|
|
|
169
177
|
CollectionLinkComponent,
|
|
170
178
|
}: MessageItemProps) {
|
|
171
179
|
const [showDetails, setShowDetails] = useState(false);
|
|
180
|
+
const { t } = useUITranslation();
|
|
172
181
|
const { client } = useUserSession();
|
|
173
182
|
const toast = useToast();
|
|
174
183
|
const urlCache = useArtifactUrlCache();
|
|
@@ -252,7 +261,7 @@ function MessageItemComponent({
|
|
|
252
261
|
navigator.clipboard.writeText(textToCopy).then(() => {
|
|
253
262
|
toast({
|
|
254
263
|
status: "success",
|
|
255
|
-
title:
|
|
264
|
+
title: t('agent.copiedToClipboard'),
|
|
256
265
|
duration: 2000,
|
|
257
266
|
});
|
|
258
267
|
});
|
|
@@ -265,7 +274,7 @@ function MessageItemComponent({
|
|
|
265
274
|
if (!content.trim()) {
|
|
266
275
|
toast({
|
|
267
276
|
status: "error",
|
|
268
|
-
title:
|
|
277
|
+
title: t('agent.noContentToExport'),
|
|
269
278
|
duration: 2000,
|
|
270
279
|
});
|
|
271
280
|
return;
|
|
@@ -348,6 +357,14 @@ function MessageItemComponent({
|
|
|
348
357
|
// Handle string content with markdown - content is already processed
|
|
349
358
|
const runId = (message as any).workflow_run_id as string | undefined;
|
|
350
359
|
|
|
360
|
+
if (!runId && typeof content === 'string' && content.includes('artifact:')) {
|
|
361
|
+
console.warn('[MessageItem] message contains artifact references but workflow_run_id is missing!', {
|
|
362
|
+
type: message.type,
|
|
363
|
+
workflow_run_id: (message as any).workflow_run_id,
|
|
364
|
+
hasArtifact: content.includes('artifact:'),
|
|
365
|
+
});
|
|
366
|
+
}
|
|
367
|
+
|
|
351
368
|
return (
|
|
352
369
|
<div className={cn("vprose prose prose-slate dark:prose-invert prose-p:leading-relaxed prose-p:my-3 prose-headings:font-semibold prose-headings:tracking-normal prose-headings:mt-6 prose-headings:mb-3 prose-h1:text-xl prose-h2:text-lg prose-h3:text-base prose-li:my-1 prose-ul:my-3 prose-ol:my-3 prose-table:my-5 prose-pre:my-4 prose-hr:my-6 max-w-none text-[15px] break-words", resolvedStyle.proseClassName)} style={{ overflowWrap: 'anywhere' }}>
|
|
353
370
|
<MarkdownRenderer
|
|
@@ -462,7 +479,7 @@ function MessageItemComponent({
|
|
|
462
479
|
<div className={cn(showPulsatingCircle ? "animate-fadeIn" : "", resolvedStyle.iconClassName)}>
|
|
463
480
|
{renderIcon()}
|
|
464
481
|
</div>
|
|
465
|
-
<span className={cn("text-xs font-medium text-muted", resolvedStyle.senderClassName)}>{resolvedStyle.sender}</span>
|
|
482
|
+
<span className={cn("text-xs font-medium text-muted", resolvedStyle.senderClassName)}>{SENDER_I18N_KEYS[resolvedStyle.sender] ? t(SENDER_I18N_KEYS[resolvedStyle.sender]) : resolvedStyle.sender}</span>
|
|
466
483
|
{workstreamId !== "main" && workstreamId !== "all" && (
|
|
467
484
|
<Badge variant="default" className="text-xs text-muted ml-1">
|
|
468
485
|
{workstreamId}
|
|
@@ -477,7 +494,7 @@ function MessageItemComponent({
|
|
|
477
494
|
variant="ghost" size="xs"
|
|
478
495
|
onClick={copyToClipboard}
|
|
479
496
|
className="text-muted/50 hover:text-muted h-5 w-5 p-0"
|
|
480
|
-
title=
|
|
497
|
+
title={t('agent.copyMessage')}
|
|
481
498
|
>
|
|
482
499
|
<CopyIcon className="size-3" />
|
|
483
500
|
</Button>
|
|
@@ -487,7 +504,7 @@ function MessageItemComponent({
|
|
|
487
504
|
<Button
|
|
488
505
|
variant="ghost" size="xs"
|
|
489
506
|
className="text-muted/50 hover:text-muted h-5 w-5 p-0"
|
|
490
|
-
title=
|
|
507
|
+
title={t('agent.exportMessage')}
|
|
491
508
|
disabled={isExportingFile}
|
|
492
509
|
>
|
|
493
510
|
<Download className={`size-3 ${isExportingFile ? 'animate-pulse' : ''}`} />
|
|
@@ -495,10 +512,10 @@ function MessageItemComponent({
|
|
|
495
512
|
}
|
|
496
513
|
>
|
|
497
514
|
<MenuItem onClick={() => exportToFormat(MarkdownRenditionFormat.pdf)}>
|
|
498
|
-
|
|
515
|
+
{t('agent.exportAsPdf')}
|
|
499
516
|
</MenuItem>
|
|
500
517
|
<MenuItem onClick={() => exportToFormat(MarkdownRenditionFormat.docx)}>
|
|
501
|
-
|
|
518
|
+
{t('agent.exportAsWord')}
|
|
502
519
|
</MenuItem>
|
|
503
520
|
</Dropdown>
|
|
504
521
|
)}
|
|
@@ -586,7 +603,7 @@ function MessageItemComponent({
|
|
|
586
603
|
onClick={() => setShowDetails(!showDetails)}
|
|
587
604
|
className="text-[11px] text-muted flex items-center"
|
|
588
605
|
>
|
|
589
|
-
{showDetails ?
|
|
606
|
+
{showDetails ? t('agent.hideDetails') : t('agent.showDetails')}
|
|
590
607
|
<svg
|
|
591
608
|
xmlns="http://www.w3.org/2000/svg"
|
|
592
609
|
className={`h-3 w-3 ml-1 transition-transform ${showDetails ? "rotate-180" : ""}`}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Plan } from "@vertesia/common";
|
|
2
2
|
import { AlertCircle, CheckCircle, Circle, Clock } from "lucide-react";
|
|
3
|
+
import { useUITranslation } from '../../../../i18n/index.js';
|
|
3
4
|
|
|
4
5
|
interface PlanPanelProps {
|
|
5
6
|
plan: Plan;
|
|
@@ -9,11 +10,12 @@ interface PlanPanelProps {
|
|
|
9
10
|
|
|
10
11
|
// todo: remove this file
|
|
11
12
|
export default function PlanPanel({ plan, workstreamStatus, isVisible }: PlanPanelProps) {
|
|
13
|
+
const { t } = useUITranslation();
|
|
12
14
|
if (!isVisible) return null;
|
|
13
15
|
|
|
14
16
|
return (
|
|
15
17
|
<div className="border-b border-gray-200 dark:border-gray-800 bg-gray-50 dark:bg-gray-900 p-3 shadow-sm transition-all duration-300 ease-in-out transform">
|
|
16
|
-
<div className="text-xs font-medium mb-2 text-gray-800 dark:text-gray-200">
|
|
18
|
+
<div className="text-xs font-medium mb-2 text-gray-800 dark:text-gray-200">{t('agent.agentPlan')}</div>
|
|
17
19
|
|
|
18
20
|
{/* Plan Steps */}
|
|
19
21
|
{plan.plan && plan.plan.length > 0 ? (
|
|
@@ -59,14 +61,14 @@ export default function PlanPanel({ plan, workstreamStatus, isVisible }: PlanPan
|
|
|
59
61
|
) : (
|
|
60
62
|
<div className="text-xs text-gray-500 dark:text-gray-400 italic flex items-center">
|
|
61
63
|
<AlertCircle className="h-3.5 w-3.5 mr-1.5 text-amber-500" />
|
|
62
|
-
|
|
64
|
+
{t('agent.noPlanDetected')}
|
|
63
65
|
</div>
|
|
64
66
|
)}
|
|
65
67
|
|
|
66
68
|
{/* Workstream Status Summary */}
|
|
67
69
|
{workstreamStatus.size > 1 && (
|
|
68
70
|
<div className="mt-3 pt-2 border-t border-gray-200 dark:border-gray-700">
|
|
69
|
-
<div className="text-xs font-medium mb-1.5 text-gray-800 dark:text-gray-200">
|
|
71
|
+
<div className="text-xs font-medium mb-1.5 text-gray-800 dark:text-gray-200">{t('agent.workstreams')}</div>
|
|
70
72
|
<div className="grid grid-cols-2 gap-1.5">
|
|
71
73
|
{Array.from(workstreamStatus.entries())
|
|
72
74
|
// Filter to only show real workstreams (main or those with valid names - not numeric IDs)
|
|
@@ -87,20 +89,20 @@ export default function PlanPanel({ plan, workstreamStatus, isVisible }: PlanPan
|
|
|
87
89
|
.map(([id, status]) => {
|
|
88
90
|
let StatusIcon = Circle;
|
|
89
91
|
let statusColor = "text-gray-400";
|
|
90
|
-
let statusText =
|
|
92
|
+
let statusText = t('agent.pending');
|
|
91
93
|
|
|
92
94
|
if (status === "in_progress") {
|
|
93
95
|
StatusIcon = Clock;
|
|
94
96
|
statusColor = "text-blue-500";
|
|
95
|
-
statusText =
|
|
97
|
+
statusText = t('agent.inProgress');
|
|
96
98
|
} else if (status === "completed") {
|
|
97
99
|
StatusIcon = CheckCircle;
|
|
98
100
|
statusColor = "text-green-500";
|
|
99
|
-
statusText =
|
|
101
|
+
statusText = t('agent.completed');
|
|
100
102
|
}
|
|
101
103
|
|
|
102
104
|
// Format workstream IDs for better display
|
|
103
|
-
const displayId = id === "main" ?
|
|
105
|
+
const displayId = id === "main" ? t('agent.main') : id;
|
|
104
106
|
|
|
105
107
|
return (
|
|
106
108
|
<div key={id} className="flex items-center">
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Plan } from "@vertesia/common";
|
|
2
2
|
import { AlertCircle, CheckCircle, Circle, Clock } from "lucide-react";
|
|
3
|
+
import { useUITranslation } from '../../../../i18n/index.js';
|
|
3
4
|
import SlideInPanel from "./SlideInPanel";
|
|
4
5
|
|
|
5
6
|
interface PlanPanelProps {
|
|
@@ -10,12 +11,13 @@ interface PlanPanelProps {
|
|
|
10
11
|
}
|
|
11
12
|
|
|
12
13
|
export default function SlidingPlanPanel({ plan, workstreamStatus, isOpen, onClose }: PlanPanelProps) {
|
|
14
|
+
const { t } = useUITranslation();
|
|
13
15
|
return (
|
|
14
16
|
plan && (
|
|
15
|
-
<SlideInPanel isOpen={isOpen} onClose={onClose} title=
|
|
17
|
+
<SlideInPanel isOpen={isOpen} onClose={onClose} title={t('agent.agentPlan')}>
|
|
16
18
|
{/* Plan Summary */}
|
|
17
19
|
<div className="mb-4 p-3 bg-info rounded-md border border-info">
|
|
18
|
-
<div className="text-sm font-medium text-info mb-1">
|
|
20
|
+
<div className="text-sm font-medium text-info mb-1">{t('agent.planProgress')}</div>
|
|
19
21
|
<div className="flex items-center gap-2">
|
|
20
22
|
<div className="w-full bg-muted rounded-full h-2.5">
|
|
21
23
|
<div
|
|
@@ -45,7 +47,7 @@ export default function SlidingPlanPanel({ plan, workstreamStatus, isOpen, onClo
|
|
|
45
47
|
{/* Detailed Plan Steps */}
|
|
46
48
|
<div className="rounded-md border border-muted">
|
|
47
49
|
<div className="p-3 border-b border-muted bg-muted/50">
|
|
48
|
-
<div className="font-medium text-sm">
|
|
50
|
+
<div className="font-medium text-sm">{t('agent.stepByStepPlan')}</div>
|
|
49
51
|
</div>
|
|
50
52
|
|
|
51
53
|
<div className="divide-y divide-gray-100 dark:divide-gray-800">
|
|
@@ -96,10 +98,10 @@ export default function SlidingPlanPanel({ plan, workstreamStatus, isOpen, onClo
|
|
|
96
98
|
}`}
|
|
97
99
|
>
|
|
98
100
|
{status === "completed"
|
|
99
|
-
?
|
|
101
|
+
? t('agent.completed')
|
|
100
102
|
: status === "in_progress"
|
|
101
|
-
?
|
|
102
|
-
:
|
|
103
|
+
? t('agent.inProgress')
|
|
104
|
+
: t('agent.pending')}
|
|
103
105
|
</span>
|
|
104
106
|
</div>
|
|
105
107
|
</div>
|
|
@@ -109,8 +111,8 @@ export default function SlidingPlanPanel({ plan, workstreamStatus, isOpen, onClo
|
|
|
109
111
|
) : (
|
|
110
112
|
<div className="p-4 text-center text-gray-500 dark:text-gray-400 italic">
|
|
111
113
|
<AlertCircle className="h-5 w-5 mx-auto mb-2 text-amber-500" />
|
|
112
|
-
<p>
|
|
113
|
-
<p className="text-xs mt-1">
|
|
114
|
+
<p>{t('agent.noPlanDetected')}</p>
|
|
115
|
+
<p className="text-xs mt-1">{t('agent.plansWillAppear')}</p>
|
|
114
116
|
</div>
|
|
115
117
|
)}
|
|
116
118
|
</div>
|
|
@@ -120,7 +122,7 @@ export default function SlidingPlanPanel({ plan, workstreamStatus, isOpen, onClo
|
|
|
120
122
|
{workstreamStatus.size > 1 && (
|
|
121
123
|
<div className="mt-4 rounded-md border border-gray-200 dark:border-gray-800">
|
|
122
124
|
<div className="p-3 border-b border-gray-200 dark:border-gray-800 bg-gray-50 dark:bg-gray-900/50">
|
|
123
|
-
<div className="font-medium text-sm">
|
|
125
|
+
<div className="font-medium text-sm">{t('agent.workstreams')}</div>
|
|
124
126
|
</div>
|
|
125
127
|
<div className="p-3">
|
|
126
128
|
<div className="grid grid-cols-1 gap-2">
|
|
@@ -144,22 +146,22 @@ export default function SlidingPlanPanel({ plan, workstreamStatus, isOpen, onClo
|
|
|
144
146
|
let StatusIcon = Circle;
|
|
145
147
|
let statusColor = "text-gray-400";
|
|
146
148
|
let statusBg = "bg-gray-100 dark:bg-gray-800";
|
|
147
|
-
let statusText =
|
|
149
|
+
let statusText = t('agent.pending');
|
|
148
150
|
|
|
149
151
|
if (status === "in_progress") {
|
|
150
152
|
StatusIcon = Clock;
|
|
151
153
|
statusColor = "text-blue-500";
|
|
152
154
|
statusBg = "bg-blue-100 dark:bg-blue-800/30";
|
|
153
|
-
statusText =
|
|
155
|
+
statusText = t('agent.inProgress');
|
|
154
156
|
} else if (status === "completed") {
|
|
155
157
|
StatusIcon = CheckCircle;
|
|
156
158
|
statusColor = "text-green-500";
|
|
157
159
|
statusBg = "bg-green-100 dark:bg-green-800/30";
|
|
158
|
-
statusText =
|
|
160
|
+
statusText = t('agent.completed');
|
|
159
161
|
}
|
|
160
162
|
|
|
161
163
|
// Format workstream IDs for better display
|
|
162
|
-
const displayId = id === "main" ?
|
|
164
|
+
const displayId = id === "main" ? t('agent.mainWorkstream') : id;
|
|
163
165
|
|
|
164
166
|
return (
|
|
165
167
|
<div key={id} className={`flex items-center p-2 rounded ${statusBg}`}>
|