@vertesia/ui 1.5.0-dev.20260717.131047Z → 1.5.0-dev.20260725.083715Z
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/core/components/SidePanel.js +1 -1
- package/lib/core/components/SidePanel.js.map +1 -1
- package/lib/core/components/shadcn/button.d.ts +10 -3
- package/lib/core/components/shadcn/button.d.ts.map +1 -1
- package/lib/core/components/shadcn/button.js +41 -9
- package/lib/core/components/shadcn/button.js.map +1 -1
- package/lib/core/components/shadcn/filters/filterBar.d.ts.map +1 -1
- package/lib/core/components/shadcn/filters/filterBar.js +1 -1
- package/lib/core/components/shadcn/filters/filterBar.js.map +1 -1
- package/lib/core/components/shadcn/modal/dialog.d.ts +1 -1
- package/lib/core/components/shadcn/modal/dialog.d.ts.map +1 -1
- package/lib/core/components/shadcn/modal/dialog.js +3 -1
- package/lib/core/components/shadcn/modal/dialog.js.map +1 -1
- package/lib/core/components/shadcn/tabs.d.ts +12 -1
- package/lib/core/components/shadcn/tabs.d.ts.map +1 -1
- package/lib/core/components/shadcn/tabs.js +12 -4
- package/lib/core/components/shadcn/tabs.js.map +1 -1
- package/lib/core/components/shadcn/theme/ThemeSwitcher.js +1 -1
- package/lib/core/components/shadcn/theme/ThemeSwitcher.js.map +1 -1
- package/lib/features/agent/chat/AgentChatPlaybackControls.d.ts.map +1 -1
- package/lib/features/agent/chat/AgentChatPlaybackControls.js +2 -2
- package/lib/features/agent/chat/AgentChatPlaybackControls.js.map +1 -1
- package/lib/features/agent/chat/AgentRequestInputOverlay.d.ts.map +1 -1
- package/lib/features/agent/chat/AgentRequestInputOverlay.js +2 -2
- package/lib/features/agent/chat/AgentRequestInputOverlay.js.map +1 -1
- package/lib/features/agent/chat/AgentRightPanel.d.ts +5 -1
- package/lib/features/agent/chat/AgentRightPanel.d.ts.map +1 -1
- package/lib/features/agent/chat/AgentRightPanel.js +2 -2
- package/lib/features/agent/chat/AgentRightPanel.js.map +1 -1
- package/lib/features/agent/chat/ArtifactsTab.d.ts +5 -1
- package/lib/features/agent/chat/ArtifactsTab.d.ts.map +1 -1
- package/lib/features/agent/chat/ArtifactsTab.js +53 -13
- package/lib/features/agent/chat/ArtifactsTab.js.map +1 -1
- package/lib/features/agent/chat/DocumentEditingActionCard.d.ts +6 -0
- package/lib/features/agent/chat/DocumentEditingActionCard.d.ts.map +1 -0
- package/lib/features/agent/chat/DocumentEditingActionCard.js +129 -0
- package/lib/features/agent/chat/DocumentEditingActionCard.js.map +1 -0
- package/lib/features/agent/chat/ImageLightbox.d.ts.map +1 -1
- package/lib/features/agent/chat/ImageLightbox.js +1 -1
- package/lib/features/agent/chat/ImageLightbox.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentConversation.d.ts +19 -1
- package/lib/features/agent/chat/ModernAgentConversation.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentConversation.js +125 -27
- package/lib/features/agent/chat/ModernAgentConversation.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.d.ts +45 -0
- package/lib/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.d.ts.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.js +40 -0
- package/lib/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.js.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts +3 -1
- package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +96 -51
- package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/AttachmentPreview.d.ts +2 -1
- package/lib/features/agent/chat/ModernAgentOutput/AttachmentPreview.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/AttachmentPreview.js +9 -5
- package/lib/features/agent/chat/ModernAgentOutput/AttachmentPreview.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.d.ts +25 -0
- package/lib/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.d.ts.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.js +33 -0
- package/lib/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.js.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/Header.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/Header.js +4 -2
- package/lib/features/agent/chat/ModernAgentOutput/Header.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/MessageInput.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/MessageInput.js +2 -2
- package/lib/features/agent/chat/ModernAgentOutput/MessageInput.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/MessageItem.d.ts +3 -1
- package/lib/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/MessageItem.js +23 -24
- package/lib/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/ResourceChangeSummary.d.ts +14 -0
- package/lib/features/agent/chat/ModernAgentOutput/ResourceChangeSummary.d.ts.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/ResourceChangeSummary.js +21 -0
- package/lib/features/agent/chat/ModernAgentOutput/ResourceChangeSummary.js.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/ResourceChip.d.ts +30 -0
- package/lib/features/agent/chat/ModernAgentOutput/ResourceChip.d.ts.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/ResourceChip.js +53 -0
- package/lib/features/agent/chat/ModernAgentOutput/ResourceChip.js.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.js +21 -2
- package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.d.ts +6 -0
- package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.js +15 -1
- package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/resourceLinks.d.ts +6 -0
- package/lib/features/agent/chat/ModernAgentOutput/resourceLinks.d.ts.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/resourceLinks.js +29 -0
- package/lib/features/agent/chat/ModernAgentOutput/resourceLinks.js.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/resourceSummary.d.ts +33 -0
- package/lib/features/agent/chat/ModernAgentOutput/resourceSummary.d.ts.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/resourceSummary.js +129 -0
- package/lib/features/agent/chat/ModernAgentOutput/resourceSummary.js.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/utils.d.ts +7 -0
- package/lib/features/agent/chat/ModernAgentOutput/utils.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/utils.js +11 -1
- package/lib/features/agent/chat/ModernAgentOutput/utils.js.map +1 -1
- package/lib/features/agent/chat/hooks/useAgentStream.d.ts +1 -1
- package/lib/features/agent/chat/hooks/useAgentStream.d.ts.map +1 -1
- package/lib/features/agent/chat/hooks/useAgentStream.js +24 -9
- package/lib/features/agent/chat/hooks/useAgentStream.js.map +1 -1
- package/lib/features/agent/chat/index.d.ts +2 -1
- package/lib/features/agent/chat/index.d.ts.map +1 -1
- package/lib/features/agent/chat/index.js +3 -0
- package/lib/features/agent/chat/index.js.map +1 -1
- package/lib/features/environment/SelectEnvironment.d.ts +28 -0
- package/lib/features/environment/SelectEnvironment.d.ts.map +1 -0
- package/lib/features/environment/SelectEnvironment.js +97 -0
- package/lib/features/environment/SelectEnvironment.js.map +1 -0
- package/lib/features/environment/index.d.ts +2 -0
- package/lib/features/environment/index.d.ts.map +1 -0
- package/lib/features/environment/index.js +2 -0
- package/lib/features/environment/index.js.map +1 -0
- package/lib/features/index.d.ts +2 -0
- package/lib/features/index.d.ts.map +1 -1
- package/lib/features/index.js +2 -0
- package/lib/features/index.js.map +1 -1
- package/lib/features/magic-pdf/AnnotatedImageSlider.js +12 -12
- package/lib/features/magic-pdf/AnnotatedImageSlider.js.map +1 -1
- package/lib/features/magic-pdf/DownloadPopover.d.ts.map +1 -1
- package/lib/features/magic-pdf/DownloadPopover.js +3 -17
- package/lib/features/magic-pdf/DownloadPopover.js.map +1 -1
- package/lib/features/magic-pdf/ExtractedContentView.js +2 -6
- package/lib/features/magic-pdf/ExtractedContentView.js.map +1 -1
- package/lib/features/magic-pdf/GroundedExtractionAssistantPanel.d.ts +25 -0
- package/lib/features/magic-pdf/GroundedExtractionAssistantPanel.d.ts.map +1 -0
- package/lib/features/magic-pdf/GroundedExtractionAssistantPanel.js +42 -0
- package/lib/features/magic-pdf/GroundedExtractionAssistantPanel.js.map +1 -0
- package/lib/features/magic-pdf/GroundedExtractionView.d.ts +27 -0
- package/lib/features/magic-pdf/GroundedExtractionView.d.ts.map +1 -0
- package/lib/features/magic-pdf/GroundedExtractionView.js +377 -0
- package/lib/features/magic-pdf/GroundedExtractionView.js.map +1 -0
- package/lib/features/magic-pdf/MagicPdfProvider.d.ts +0 -2
- package/lib/features/magic-pdf/MagicPdfProvider.d.ts.map +1 -1
- package/lib/features/magic-pdf/MagicPdfProvider.js +15 -42
- package/lib/features/magic-pdf/MagicPdfProvider.js.map +1 -1
- package/lib/features/magic-pdf/MagicPdfView.d.ts.map +1 -1
- package/lib/features/magic-pdf/MagicPdfView.js +2 -19
- package/lib/features/magic-pdf/MagicPdfView.js.map +1 -1
- package/lib/features/magic-pdf/index.d.ts +1 -0
- package/lib/features/magic-pdf/index.d.ts.map +1 -1
- package/lib/features/magic-pdf/index.js +1 -0
- package/lib/features/magic-pdf/index.js.map +1 -1
- package/lib/features/magic-pdf/types.d.ts +1 -1
- package/lib/features/magic-pdf/types.d.ts.map +1 -1
- package/lib/features/oauth/McpConnectionsButton.d.ts.map +1 -1
- package/lib/features/oauth/McpConnectionsButton.js +2 -2
- package/lib/features/oauth/McpConnectionsButton.js.map +1 -1
- package/lib/features/oauth/McpConnectionsDialog.d.ts.map +1 -1
- package/lib/features/oauth/McpConnectionsDialog.js +1 -1
- package/lib/features/oauth/McpConnectionsDialog.js.map +1 -1
- package/lib/features/oauth/RemoteMcpConnectionButton.d.ts.map +1 -1
- package/lib/features/oauth/RemoteMcpConnectionButton.js +1 -1
- package/lib/features/oauth/RemoteMcpConnectionButton.js.map +1 -1
- package/lib/features/pdf-viewer/PdfPageSlider.js +2 -2
- package/lib/features/pdf-viewer/PdfPageSlider.js.map +1 -1
- package/lib/features/pdf-viewer/SimplePdfViewer.d.ts.map +1 -1
- package/lib/features/pdf-viewer/SimplePdfViewer.js +3 -3
- package/lib/features/pdf-viewer/SimplePdfViewer.js.map +1 -1
- package/lib/features/permissions/UserPermissionsProvider.js +1 -1
- package/lib/features/permissions/UserPermissionsProvider.js.map +1 -1
- package/lib/features/store/objects/DocumentQuickFilter.d.ts.map +1 -1
- package/lib/features/store/objects/DocumentQuickFilter.js +5 -5
- package/lib/features/store/objects/DocumentQuickFilter.js.map +1 -1
- package/lib/features/store/objects/DocumentSearchResults.d.ts.map +1 -1
- package/lib/features/store/objects/DocumentSearchResults.js +4 -4
- package/lib/features/store/objects/DocumentSearchResults.js.map +1 -1
- package/lib/features/store/objects/components/ContentDispositionButton.d.ts.map +1 -1
- package/lib/features/store/objects/components/ContentDispositionButton.js +1 -1
- package/lib/features/store/objects/components/ContentDispositionButton.js.map +1 -1
- package/lib/features/store/objects/components/ContentOverview.d.ts +2 -1
- package/lib/features/store/objects/components/ContentOverview.d.ts.map +1 -1
- package/lib/features/store/objects/components/ContentOverview.js +159 -31
- package/lib/features/store/objects/components/ContentOverview.js.map +1 -1
- package/lib/features/store/objects/components/DocumentEditingConfigurationSelector.d.ts +16 -0
- package/lib/features/store/objects/components/DocumentEditingConfigurationSelector.d.ts.map +1 -0
- package/lib/features/store/objects/components/DocumentEditingConfigurationSelector.js +116 -0
- package/lib/features/store/objects/components/DocumentEditingConfigurationSelector.js.map +1 -0
- package/lib/features/store/objects/components/DocumentEditingLockStatus.d.ts +7 -0
- package/lib/features/store/objects/components/DocumentEditingLockStatus.d.ts.map +1 -0
- package/lib/features/store/objects/components/DocumentEditingLockStatus.js +13 -0
- package/lib/features/store/objects/components/DocumentEditingLockStatus.js.map +1 -0
- package/lib/features/store/objects/components/DocumentEditingPanel.d.ts +48 -0
- package/lib/features/store/objects/components/DocumentEditingPanel.d.ts.map +1 -0
- package/lib/features/store/objects/components/DocumentEditingPanel.js +720 -0
- package/lib/features/store/objects/components/DocumentEditingPanel.js.map +1 -0
- package/lib/features/store/objects/components/DocumentIcon.js +1 -1
- package/lib/features/store/objects/components/TextEditorPanel.d.ts.map +1 -1
- package/lib/features/store/objects/components/TextEditorPanel.js +22 -9
- package/lib/features/store/objects/components/TextEditorPanel.js.map +1 -1
- package/lib/features/store/objects/components/VectorSearchWidget.js +1 -1
- package/lib/features/store/objects/components/VectorSearchWidget.js.map +1 -1
- package/lib/features/store/objects/components/documentArtifactRefs.d.ts +26 -0
- package/lib/features/store/objects/components/documentArtifactRefs.d.ts.map +1 -0
- package/lib/features/store/objects/components/documentArtifactRefs.js +52 -0
- package/lib/features/store/objects/components/documentArtifactRefs.js.map +1 -0
- package/lib/features/store/objects/components/documentEditingAgentConfig.d.ts +4 -0
- package/lib/features/store/objects/components/documentEditingAgentConfig.d.ts.map +1 -0
- package/lib/features/store/objects/components/documentEditingAgentConfig.js +40 -0
- package/lib/features/store/objects/components/documentEditingAgentConfig.js.map +1 -0
- package/lib/features/store/objects/components/documentEditingPrompts.d.ts +3 -0
- package/lib/features/store/objects/components/documentEditingPrompts.d.ts.map +1 -0
- package/lib/features/store/objects/components/documentEditingPrompts.js +13 -0
- package/lib/features/store/objects/components/documentEditingPrompts.js.map +1 -0
- package/lib/features/store/objects/components/documentEditingRun.d.ts +27 -0
- package/lib/features/store/objects/components/documentEditingRun.d.ts.map +1 -0
- package/lib/features/store/objects/components/documentEditingRun.js +126 -0
- package/lib/features/store/objects/components/documentEditingRun.js.map +1 -0
- package/lib/features/store/objects/components/documentEditingTarget.d.ts +20 -0
- package/lib/features/store/objects/components/documentEditingTarget.d.ts.map +1 -0
- package/lib/features/store/objects/components/documentEditingTarget.js +40 -0
- package/lib/features/store/objects/components/documentEditingTarget.js.map +1 -0
- package/lib/features/store/objects/components/index.d.ts +1 -0
- package/lib/features/store/objects/components/index.d.ts.map +1 -1
- package/lib/features/store/objects/components/index.js +1 -0
- package/lib/features/store/objects/components/index.js.map +1 -1
- package/lib/features/store/objects/components/useContentPanelHooks.d.ts +6 -3
- package/lib/features/store/objects/components/useContentPanelHooks.d.ts.map +1 -1
- package/lib/features/store/objects/components/useContentPanelHooks.js +57 -37
- package/lib/features/store/objects/components/useContentPanelHooks.js.map +1 -1
- package/lib/features/store/objects/components/useDownloadFile.d.ts +2 -1
- package/lib/features/store/objects/components/useDownloadFile.d.ts.map +1 -1
- package/lib/features/store/objects/components/useDownloadFile.js +3 -0
- package/lib/features/store/objects/components/useDownloadFile.js.map +1 -1
- package/lib/features/store/objects/layout/renderers.d.ts.map +1 -1
- package/lib/features/store/objects/layout/renderers.js +2 -2
- package/lib/features/store/objects/layout/renderers.js.map +1 -1
- package/lib/features/store/objects/selection/SelectionActions.js +1 -1
- package/lib/features/store/objects/selection/SelectionActions.js.map +1 -1
- package/lib/features/store/objects/selection/actions/StartWorkflowButton.js +1 -1
- package/lib/features/store/objects/selection/actions/StartWorkflowButton.js.map +1 -1
- package/lib/features/store/types/ContentObjectTypesTable.d.ts.map +1 -1
- package/lib/features/store/types/ContentObjectTypesTable.js +4 -4
- package/lib/features/store/types/ContentObjectTypesTable.js.map +1 -1
- package/lib/features/store/types/IntakePolicyEditor.d.ts +15 -0
- package/lib/features/store/types/IntakePolicyEditor.d.ts.map +1 -0
- package/lib/features/store/types/IntakePolicyEditor.js +455 -0
- package/lib/features/store/types/IntakePolicyEditor.js.map +1 -0
- package/lib/features/store/types/IntakePolicyForm.d.ts +11 -0
- package/lib/features/store/types/IntakePolicyForm.d.ts.map +1 -0
- package/lib/features/store/types/IntakePolicyForm.js +91 -0
- package/lib/features/store/types/IntakePolicyForm.js.map +1 -0
- package/lib/features/store/types/SelectContentTypeModal.js +1 -1
- package/lib/features/store/types/SelectContentTypeModal.js.map +1 -1
- package/lib/features/store/types/index.d.ts +2 -0
- package/lib/features/store/types/index.d.ts.map +1 -1
- package/lib/features/store/types/index.js +2 -0
- package/lib/features/store/types/index.js.map +1 -1
- package/lib/features/store/types/intake-policy-editor.logic.d.ts +7 -0
- package/lib/features/store/types/intake-policy-editor.logic.d.ts.map +1 -0
- package/lib/features/store/types/intake-policy-editor.logic.js +60 -0
- package/lib/features/store/types/intake-policy-editor.logic.js.map +1 -0
- package/lib/features/store/types/typeCatalogCache.d.ts +5 -0
- package/lib/features/store/types/typeCatalogCache.d.ts.map +1 -0
- package/lib/features/store/types/typeCatalogCache.js +40 -0
- package/lib/features/store/types/typeCatalogCache.js.map +1 -0
- package/lib/features/user/UserInfo.js +7 -3
- package/lib/features/user/UserInfo.js.map +1 -1
- package/lib/features/views/ViewExperience.d.ts +20 -0
- package/lib/features/views/ViewExperience.d.ts.map +1 -0
- package/lib/features/views/ViewExperience.js +188 -0
- package/lib/features/views/ViewExperience.js.map +1 -0
- package/lib/features/views/ViewNavigation.d.ts +3 -0
- package/lib/features/views/ViewNavigation.d.ts.map +1 -0
- package/lib/features/views/ViewNavigation.js +36 -0
- package/lib/features/views/ViewNavigation.js.map +1 -0
- package/lib/features/views/ViewResults.d.ts +9 -0
- package/lib/features/views/ViewResults.d.ts.map +1 -0
- package/lib/features/views/ViewResults.js +229 -0
- package/lib/features/views/ViewResults.js.map +1 -0
- package/lib/features/views/ViewSearch.d.ts +3 -0
- package/lib/features/views/ViewSearch.d.ts.map +1 -0
- package/lib/features/views/ViewSearch.js +74 -0
- package/lib/features/views/ViewSearch.js.map +1 -0
- package/lib/features/views/index.d.ts +7 -0
- package/lib/features/views/index.d.ts.map +1 -0
- package/lib/features/views/index.js +7 -0
- package/lib/features/views/index.js.map +1 -0
- package/lib/features/views/types.d.ts +39 -0
- package/lib/features/views/types.d.ts.map +1 -0
- package/lib/features/views/types.js +2 -0
- package/lib/features/views/types.js.map +1 -0
- package/lib/features/views/viewState.d.ts +14 -0
- package/lib/features/views/viewState.d.ts.map +1 -0
- package/lib/features/views/viewState.js +117 -0
- package/lib/features/views/viewState.js.map +1 -0
- package/lib/i18n/locales/ar.json +134 -1
- package/lib/i18n/locales/de.json +130 -1
- package/lib/i18n/locales/en.json +363 -33
- package/lib/i18n/locales/es.json +131 -1
- package/lib/i18n/locales/fr.json +131 -1
- package/lib/i18n/locales/it.json +131 -1
- package/lib/i18n/locales/ja.json +129 -1
- package/lib/i18n/locales/ko.json +129 -1
- package/lib/i18n/locales/pt.json +131 -1
- package/lib/i18n/locales/ru.json +132 -1
- package/lib/i18n/locales/tr.json +130 -1
- package/lib/i18n/locales/zh-TW.json +129 -1
- package/lib/i18n/locales/zh.json +129 -1
- package/lib/rich-text/EditorToolbar.d.ts +37 -0
- package/lib/rich-text/EditorToolbar.d.ts.map +1 -0
- package/lib/rich-text/EditorToolbar.js +215 -0
- package/lib/rich-text/EditorToolbar.js.map +1 -0
- package/lib/rich-text/VertesiaRichTextEditor.d.ts +26 -0
- package/lib/rich-text/VertesiaRichTextEditor.d.ts.map +1 -0
- package/lib/rich-text/VertesiaRichTextEditor.js +67 -0
- package/lib/rich-text/VertesiaRichTextEditor.js.map +1 -0
- package/lib/rich-text/index.d.ts +2 -0
- package/lib/rich-text/index.d.ts.map +1 -0
- package/lib/rich-text/index.js +2 -0
- package/lib/rich-text/index.js.map +1 -0
- package/lib/router/HistoryNavigator.d.ts.map +1 -1
- package/lib/router/HistoryNavigator.js +23 -13
- package/lib/router/HistoryNavigator.js.map +1 -1
- package/lib/router/Nav.d.ts.map +1 -1
- package/lib/router/Nav.js +15 -6
- package/lib/router/Nav.js.map +1 -1
- package/lib/session/UserSession.d.ts.map +1 -1
- package/lib/session/UserSession.js +5 -3
- package/lib/session/UserSession.js.map +1 -1
- package/lib/vertesia-ui-core.js +4 -4
- package/lib/vertesia-ui-core.js.map +1 -1
- package/lib/vertesia-ui-features.js +40 -28
- package/lib/vertesia-ui-features.js.map +1 -1
- package/lib/vertesia-ui-i18n.js +15 -15
- package/lib/vertesia-ui-i18n.js.map +1 -1
- package/lib/vertesia-ui-rich-text.js +5 -0
- package/lib/vertesia-ui-rich-text.js.map +1 -0
- 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 +25 -7
- package/lib/vertesia-ui-widgets.js.map +1 -1
- package/lib/widgets/form/Form.js +1 -1
- package/lib/widgets/form/Form.js.map +1 -1
- package/lib/widgets/json-view/JSONSwitcher.js +1 -1
- package/lib/widgets/json-view/JSONSwitcher.js.map +1 -1
- package/lib/widgets/json-view/JSONView.js +6 -6
- package/lib/widgets/json-view/JSONView.js.map +1 -1
- package/lib/widgets/markdown/AgentResourceResolver.d.ts +31 -0
- package/lib/widgets/markdown/AgentResourceResolver.d.ts.map +1 -0
- package/lib/widgets/markdown/AgentResourceResolver.js +39 -0
- package/lib/widgets/markdown/AgentResourceResolver.js.map +1 -0
- package/lib/widgets/markdown/ArtifactEditingSurface.d.ts +63 -0
- package/lib/widgets/markdown/ArtifactEditingSurface.d.ts.map +1 -0
- package/lib/widgets/markdown/ArtifactEditingSurface.js +582 -0
- package/lib/widgets/markdown/ArtifactEditingSurface.js.map +1 -0
- package/lib/widgets/markdown/CollaborativeMarkdownRenderer.d.ts +69 -0
- package/lib/widgets/markdown/CollaborativeMarkdownRenderer.d.ts.map +1 -0
- package/lib/widgets/markdown/CollaborativeMarkdownRenderer.js +374 -0
- package/lib/widgets/markdown/CollaborativeMarkdownRenderer.js.map +1 -0
- package/lib/widgets/markdown/MarkdownLink.d.ts +3 -1
- package/lib/widgets/markdown/MarkdownLink.d.ts.map +1 -1
- package/lib/widgets/markdown/MarkdownLink.js +41 -14
- package/lib/widgets/markdown/MarkdownLink.js.map +1 -1
- package/lib/widgets/markdown/MarkdownRenderer.d.ts +8 -1
- package/lib/widgets/markdown/MarkdownRenderer.d.ts.map +1 -1
- package/lib/widgets/markdown/MarkdownRenderer.js +20 -4
- package/lib/widgets/markdown/MarkdownRenderer.js.map +1 -1
- package/lib/widgets/markdown/index.d.ts +5 -1
- package/lib/widgets/markdown/index.d.ts.map +1 -1
- package/lib/widgets/markdown/index.js +5 -1
- package/lib/widgets/markdown/index.js.map +1 -1
- package/lib/widgets/markdown/normalizeCustomSchemeLinks.d.ts.map +1 -1
- package/lib/widgets/markdown/normalizeCustomSchemeLinks.js +14 -2
- package/lib/widgets/markdown/normalizeCustomSchemeLinks.js.map +1 -1
- package/lib/widgets/markdown/textDiff.d.ts +52 -0
- package/lib/widgets/markdown/textDiff.d.ts.map +1 -0
- package/lib/widgets/markdown/textDiff.js +362 -0
- package/lib/widgets/markdown/textDiff.js.map +1 -0
- package/lib/widgets/markdown/useArtifactContent.d.ts +5 -3
- package/lib/widgets/markdown/useArtifactContent.d.ts.map +1 -1
- package/lib/widgets/markdown/useArtifactContent.js +6 -3
- package/lib/widgets/markdown/useArtifactContent.js.map +1 -1
- package/lib/widgets/markdown/useResolvedUrl.d.ts +1 -5
- package/lib/widgets/markdown/useResolvedUrl.d.ts.map +1 -1
- package/lib/widgets/markdown/useResolvedUrl.js +19 -31
- package/lib/widgets/markdown/useResolvedUrl.js.map +1 -1
- package/lib/widgets/monacoEditor/MonacoEditor.d.ts.map +1 -1
- package/lib/widgets/monacoEditor/MonacoEditor.js +29 -0
- package/lib/widgets/monacoEditor/MonacoEditor.js.map +1 -1
- package/lib/widgets/schema-editor/ManagedSchema.d.ts +8 -0
- package/lib/widgets/schema-editor/ManagedSchema.d.ts.map +1 -1
- package/lib/widgets/schema-editor/ManagedSchema.js +16 -0
- package/lib/widgets/schema-editor/ManagedSchema.js.map +1 -1
- package/lib/widgets/schema-editor/editor/EditableSchemaProperty.d.ts +2 -0
- package/lib/widgets/schema-editor/editor/EditableSchemaProperty.d.ts.map +1 -1
- package/lib/widgets/schema-editor/editor/EditableSchemaProperty.js +1 -0
- package/lib/widgets/schema-editor/editor/EditableSchemaProperty.js.map +1 -1
- package/lib/widgets/schema-editor/editor/PropertyViewer.d.ts.map +1 -1
- package/lib/widgets/schema-editor/editor/PropertyViewer.js +4 -1
- package/lib/widgets/schema-editor/editor/PropertyViewer.js.map +1 -1
- package/lib/widgets/schema-editor/editor/SchemaEditor.d.ts.map +1 -1
- package/lib/widgets/schema-editor/editor/SchemaEditor.js +22 -11
- package/lib/widgets/schema-editor/editor/SchemaEditor.js.map +1 -1
- package/lib/widgets/xml-viewer/hooks/useXMLViewer.d.ts +9 -0
- package/lib/widgets/xml-viewer/hooks/useXMLViewer.d.ts.map +1 -1
- package/lib/widgets/xml-viewer/hooks/useXMLViewer.js +20 -17
- package/lib/widgets/xml-viewer/hooks/useXMLViewer.js.map +1 -1
- package/package.json +37 -33
- package/src/__tests__/a11y.test.tsx +77 -1
- package/src/__tests__/axe-helper.ts +17 -7
- package/src/__tests__/setup.ts +25 -0
- package/src/core/components/SidePanel.tsx +1 -1
- package/src/core/components/shadcn/button.tsx +67 -12
- package/src/core/components/shadcn/filters/filterBar.tsx +1 -0
- package/src/core/components/shadcn/modal/dialog.tsx +4 -2
- package/src/core/components/shadcn/tabs.test.tsx +65 -0
- package/src/core/components/shadcn/tabs.tsx +25 -3
- package/src/core/components/shadcn/theme/ThemeSwitcher.tsx +1 -1
- package/src/features/agent/chat/AgentChatPlaybackControls.tsx +0 -5
- package/src/features/agent/chat/AgentRequestInputOverlay.test.tsx +31 -0
- package/src/features/agent/chat/AgentRequestInputOverlay.tsx +6 -2
- package/src/features/agent/chat/AgentRightPanel.tsx +16 -1
- package/src/features/agent/chat/ArtifactsTab.test.tsx +55 -0
- package/src/features/agent/chat/ArtifactsTab.tsx +222 -61
- package/src/features/agent/chat/DocumentEditingActionCard.test.tsx +105 -0
- package/src/features/agent/chat/DocumentEditingActionCard.tsx +210 -0
- package/src/features/agent/chat/ImageLightbox.tsx +0 -1
- package/src/features/agent/chat/ModernAgentConversation.test.tsx +285 -40
- package/src/features/agent/chat/ModernAgentConversation.tsx +247 -77
- package/src/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.test.tsx +79 -0
- package/src/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.tsx +94 -0
- package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.test.tsx +263 -35
- package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +236 -118
- package/src/features/agent/chat/ModernAgentOutput/AttachmentPreview.tsx +17 -0
- package/src/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.test.tsx +44 -0
- package/src/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.tsx +88 -0
- package/src/features/agent/chat/ModernAgentOutput/Header.tsx +3 -3
- package/src/features/agent/chat/ModernAgentOutput/MessageInput.tsx +0 -2
- package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +34 -47
- package/src/features/agent/chat/ModernAgentOutput/ResourceChangeSummary.tsx +40 -0
- package/src/features/agent/chat/ModernAgentOutput/ResourceChip.test.tsx +148 -0
- package/src/features/agent/chat/ModernAgentOutput/ResourceChip.tsx +141 -0
- package/src/features/agent/chat/ModernAgentOutput/ToolCallGroup.tsx +33 -1
- package/src/features/agent/chat/ModernAgentOutput/requestInputMessages.test.ts +80 -0
- package/src/features/agent/chat/ModernAgentOutput/requestInputMessages.ts +21 -1
- package/src/features/agent/chat/ModernAgentOutput/resourceLinks.tsx +43 -0
- package/src/features/agent/chat/ModernAgentOutput/resourceSummary.test.ts +229 -0
- package/src/features/agent/chat/ModernAgentOutput/resourceSummary.ts +152 -0
- package/src/features/agent/chat/ModernAgentOutput/utils.test.ts +17 -0
- package/src/features/agent/chat/ModernAgentOutput/utils.ts +14 -1
- package/src/features/agent/chat/hooks/useAgentStream.test.tsx +188 -0
- package/src/features/agent/chat/hooks/useAgentStream.ts +28 -8
- package/src/features/agent/chat/index.ts +11 -0
- package/src/features/environment/SelectEnvironment.tsx +186 -0
- package/src/features/environment/index.ts +1 -0
- package/src/features/index.ts +2 -0
- package/src/features/magic-pdf/AnnotatedImageSlider.tsx +62 -66
- package/src/features/magic-pdf/DownloadPopover.tsx +5 -48
- package/src/features/magic-pdf/ExtractedContentView.tsx +2 -14
- package/src/features/magic-pdf/GroundedExtractionAssistantPanel.tsx +86 -0
- package/src/features/magic-pdf/GroundedExtractionView.test.tsx +65 -0
- package/src/features/magic-pdf/GroundedExtractionView.tsx +1055 -0
- package/src/features/magic-pdf/MagicPdfProvider.tsx +17 -47
- package/src/features/magic-pdf/MagicPdfView.tsx +3 -51
- package/src/features/magic-pdf/index.ts +1 -0
- package/src/features/magic-pdf/types.ts +1 -1
- package/src/features/oauth/McpConnectionsButton.tsx +0 -2
- package/src/features/oauth/McpConnectionsDialog.tsx +0 -1
- package/src/features/oauth/RemoteMcpConnectionButton.tsx +0 -1
- package/src/features/pdf-viewer/PdfPageSlider.tsx +5 -5
- package/src/features/pdf-viewer/SimplePdfViewer.tsx +11 -12
- package/src/features/permissions/UserPermissionsProvider.tsx +1 -1
- package/src/features/store/objects/DocumentQuickFilter.tsx +13 -15
- package/src/features/store/objects/DocumentSearchResults.tsx +5 -8
- package/src/features/store/objects/components/ContentDispositionButton.tsx +5 -1
- package/src/features/store/objects/components/ContentOverview.tsx +356 -105
- package/src/features/store/objects/components/DocumentEditingConfigurationSelector.test.ts +34 -0
- package/src/features/store/objects/components/DocumentEditingConfigurationSelector.tsx +211 -0
- package/src/features/store/objects/components/DocumentEditingLockStatus.test.tsx +32 -0
- package/src/features/store/objects/components/DocumentEditingLockStatus.tsx +45 -0
- package/src/features/store/objects/components/DocumentEditingPanel.test.tsx +336 -0
- package/src/features/store/objects/components/DocumentEditingPanel.tsx +1236 -0
- package/src/features/store/objects/components/DocumentIcon.tsx +1 -1
- package/src/features/store/objects/components/TextEditorPanel.test.tsx +48 -0
- package/src/features/store/objects/components/TextEditorPanel.tsx +41 -20
- package/src/features/store/objects/components/VectorSearchWidget.tsx +2 -2
- package/src/features/store/objects/components/documentArtifactRefs.test.ts +65 -0
- package/src/features/store/objects/components/documentArtifactRefs.ts +72 -0
- package/src/features/store/objects/components/documentEditingAgentConfig.test.ts +28 -0
- package/src/features/store/objects/components/documentEditingAgentConfig.ts +41 -0
- package/src/features/store/objects/components/documentEditingPrompts.test.ts +26 -0
- package/src/features/store/objects/components/documentEditingPrompts.ts +12 -0
- package/src/features/store/objects/components/documentEditingRun.test.ts +176 -0
- package/src/features/store/objects/components/documentEditingRun.ts +184 -0
- package/src/features/store/objects/components/documentEditingTarget.test.ts +96 -0
- package/src/features/store/objects/components/documentEditingTarget.ts +63 -0
- package/src/features/store/objects/components/index.ts +1 -0
- package/src/features/store/objects/components/useContentPanelHooks.ts +55 -42
- package/src/features/store/objects/components/useDownloadFile.test.ts +20 -0
- package/src/features/store/objects/components/useDownloadFile.ts +5 -1
- package/src/features/store/objects/layout/renderers.tsx +1 -2
- package/src/features/store/objects/selection/SelectionActions.tsx +1 -1
- package/src/features/store/objects/selection/actions/StartWorkflowButton.tsx +2 -2
- package/src/features/store/types/ContentObjectTypesTable.tsx +12 -14
- package/src/features/store/types/IntakePolicyEditor.tsx +679 -0
- package/src/features/store/types/IntakePolicyForm.tsx +838 -0
- package/src/features/store/types/SelectContentTypeModal.tsx +2 -2
- package/src/features/store/types/index.ts +2 -0
- package/src/features/store/types/intake-policy-editor.logic.test.ts +109 -0
- package/src/features/store/types/intake-policy-editor.logic.ts +87 -0
- package/src/features/store/types/typeCatalogCache.ts +45 -0
- package/src/features/user/UserInfo.tsx +7 -7
- package/src/features/views/ViewExperience.test.tsx +273 -0
- package/src/features/views/ViewExperience.tsx +408 -0
- package/src/features/views/ViewNavigation.test.tsx +86 -0
- package/src/features/views/ViewNavigation.tsx +187 -0
- package/src/features/views/ViewResults.test.ts +82 -0
- package/src/features/views/ViewResults.tsx +609 -0
- package/src/features/views/ViewSearch.test.tsx +147 -0
- package/src/features/views/ViewSearch.tsx +205 -0
- package/src/features/views/index.ts +6 -0
- package/src/features/views/types.ts +57 -0
- package/src/features/views/viewState.test.ts +111 -0
- package/src/features/views/viewState.ts +132 -0
- package/src/i18n/locales/ar.json +134 -1
- package/src/i18n/locales/de.json +130 -1
- package/src/i18n/locales/en.json +1083 -753
- package/src/i18n/locales/es.json +131 -1
- package/src/i18n/locales/fr.json +131 -1
- package/src/i18n/locales/it.json +131 -1
- package/src/i18n/locales/ja.json +129 -1
- package/src/i18n/locales/ko.json +129 -1
- package/src/i18n/locales/pt.json +131 -1
- package/src/i18n/locales/ru.json +132 -1
- package/src/i18n/locales/tr.json +130 -1
- package/src/i18n/locales/zh-TW.json +129 -1
- package/src/i18n/locales/zh.json +129 -1
- package/src/rich-text/EditorToolbar.tsx +708 -0
- package/src/rich-text/VertesiaRichTextEditor.test.tsx +211 -0
- package/src/rich-text/VertesiaRichTextEditor.tsx +241 -0
- package/src/rich-text/index.ts +9 -0
- package/src/router/HistoryNavigator.test.ts +48 -0
- package/src/router/HistoryNavigator.ts +24 -13
- package/src/router/Nav.tsx +18 -8
- package/src/session/UserSession.test.ts +39 -0
- package/src/session/UserSession.ts +5 -3
- package/src/widgets/form/Form.tsx +1 -1
- package/src/widgets/json-view/JSONSwitcher.tsx +2 -2
- package/src/widgets/json-view/JSONView.tsx +7 -7
- package/src/widgets/markdown/AgentResourceResolver.test.ts +24 -0
- package/src/widgets/markdown/AgentResourceResolver.tsx +70 -0
- package/src/widgets/markdown/ArtifactEditingSurface.test.tsx +537 -0
- package/src/widgets/markdown/ArtifactEditingSurface.tsx +878 -0
- package/src/widgets/markdown/CollaborativeMarkdownRenderer.test.tsx +484 -0
- package/src/widgets/markdown/CollaborativeMarkdownRenderer.tsx +825 -0
- package/src/widgets/markdown/MarkdownLink.test.tsx +122 -0
- package/src/widgets/markdown/MarkdownLink.tsx +102 -17
- package/src/widgets/markdown/MarkdownRenderer.tsx +30 -3
- package/src/widgets/markdown/index.ts +39 -1
- package/src/widgets/markdown/normalizeCustomSchemeLinks.ts +15 -2
- package/src/widgets/markdown/textDiff.test.ts +156 -0
- package/src/widgets/markdown/textDiff.ts +399 -0
- package/src/widgets/markdown/useArtifactContent.ts +9 -3
- package/src/widgets/markdown/useResolvedUrl.test.ts +29 -40
- package/src/widgets/markdown/useResolvedUrl.ts +33 -35
- package/src/widgets/monacoEditor/MonacoEditor.tsx +29 -0
- package/src/widgets/schema-editor/ManagedSchema.ts +22 -0
- package/src/widgets/schema-editor/editor/EditableSchemaProperty.tsx +3 -0
- package/src/widgets/schema-editor/editor/PropertyViewer.tsx +14 -3
- package/src/widgets/schema-editor/editor/SchemaEditor.tsx +80 -29
- package/src/widgets/xml-viewer/hooks/useXMLViewer.test.ts +26 -0
- package/src/widgets/xml-viewer/hooks/useXMLViewer.ts +23 -18
|
@@ -30,6 +30,11 @@ import {
|
|
|
30
30
|
} from '@vertesia/ui/core';
|
|
31
31
|
import { useUITranslation } from '@vertesia/ui/i18n';
|
|
32
32
|
import { useUserSession } from '@vertesia/ui/session';
|
|
33
|
+
import {
|
|
34
|
+
type AgentResourceResolver,
|
|
35
|
+
AgentResourceResolverProvider,
|
|
36
|
+
isArtifactRefreshEvent,
|
|
37
|
+
} from '@vertesia/ui/widgets';
|
|
33
38
|
import { ArrowUpIcon, Bot, CheckCircle, Cpu, FileTextIcon, UploadIcon, XIcon } from 'lucide-react';
|
|
34
39
|
import type React from 'react';
|
|
35
40
|
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
@@ -69,6 +74,7 @@ import {
|
|
|
69
74
|
getConversationUrl,
|
|
70
75
|
getWorkstreamId,
|
|
71
76
|
isInProgress,
|
|
77
|
+
isPassiveArtifactUpdate,
|
|
72
78
|
} from './ModernAgentOutput/utils';
|
|
73
79
|
import {
|
|
74
80
|
type AgentChatPlaybackCursor,
|
|
@@ -97,6 +103,8 @@ export type StartWorkflowFn = (
|
|
|
97
103
|
options?: StartWorkflowOptions,
|
|
98
104
|
) => Promise<{ agent_run_id: string } | undefined>;
|
|
99
105
|
|
|
106
|
+
export type SendAgentMessageFn = (message: string, inputMetadata?: Record<string, unknown>) => void;
|
|
107
|
+
|
|
100
108
|
const EMPTY_STREAMING_MESSAGES = new Map<string, never>();
|
|
101
109
|
|
|
102
110
|
function getTimestampMs(timestamp: number | string | undefined): number {
|
|
@@ -533,6 +541,12 @@ function downloadJsonFile(filename: string, payload: unknown) {
|
|
|
533
541
|
export interface ModernAgentConversationProps {
|
|
534
542
|
/** Stable AgentRun ID — the primary identifier for all runtime operations. */
|
|
535
543
|
agentRunId?: string;
|
|
544
|
+
/**
|
|
545
|
+
* Optional override for mapping agent resource references (documents, collections, interactions,
|
|
546
|
+
* ...) to navigation or activation targets in the chat. This overrides an inherited
|
|
547
|
+
* AgentResourceResolverProvider; without either, resources remain non-interactive.
|
|
548
|
+
*/
|
|
549
|
+
resourceResolver?: AgentResourceResolver;
|
|
536
550
|
title?: string;
|
|
537
551
|
interactive?: boolean;
|
|
538
552
|
onClose?: () => void;
|
|
@@ -567,6 +581,12 @@ export interface ModernAgentConversationProps {
|
|
|
567
581
|
|
|
568
582
|
/** Ref populated with the internal file upload handler for external triggering */
|
|
569
583
|
fileUploadRef?: React.MutableRefObject<((files: File[]) => void) | null>;
|
|
584
|
+
/** Ref populated with the internal message sender for document or artifact collaboration controls. */
|
|
585
|
+
sendMessageRef?: React.MutableRefObject<SendAgentMessageFn | null>;
|
|
586
|
+
/** Called for each live message delivered after the conversation stream connects. */
|
|
587
|
+
onMessage?: (message: AgentMessage) => void;
|
|
588
|
+
/** Called when the main agent turn starts or reaches an idle/terminal state. */
|
|
589
|
+
onAgentWorkingChange?: (isWorking: boolean) => void;
|
|
570
590
|
/** Called when processingFiles state changes (for external progress display) */
|
|
571
591
|
onProcessingFilesChange?: (files: Map<string, ConversationFile>) => void;
|
|
572
592
|
/** Processing files to display in the right panel Uploads tab */
|
|
@@ -607,6 +627,8 @@ export interface ModernAgentConversationProps {
|
|
|
607
627
|
hideHeader?: boolean;
|
|
608
628
|
/** Header density. Use compact when the surrounding page already identifies the run. */
|
|
609
629
|
headerVariant?: 'full' | 'compact';
|
|
630
|
+
/** Start-screen layout. Compact removes empty history; expanded-composer gives that space to the first input. */
|
|
631
|
+
startViewVariant?: 'default' | 'compact' | 'expanded-composer';
|
|
610
632
|
/** Hide the internal message input (for apps that render their own) */
|
|
611
633
|
hideMessageInput?: boolean;
|
|
612
634
|
/** Custom action shown in place of the input box when the run status is FAILED.
|
|
@@ -643,6 +665,8 @@ export interface ModernAgentConversationProps {
|
|
|
643
665
|
inputContainerClassName?: string;
|
|
644
666
|
/** Additional className for the input field */
|
|
645
667
|
inputClassName?: string;
|
|
668
|
+
/** Read-only context rendered immediately above the live conversation composer. */
|
|
669
|
+
composerContext?: React.ReactNode;
|
|
646
670
|
|
|
647
671
|
/** Additional className for the root container */
|
|
648
672
|
className?: string;
|
|
@@ -708,14 +732,19 @@ export interface ModernAgentConversationProps {
|
|
|
708
732
|
}
|
|
709
733
|
|
|
710
734
|
export function ModernAgentConversation(props: ModernAgentConversationProps) {
|
|
711
|
-
const { agentRunId, startWorkflow } = props;
|
|
735
|
+
const { agentRunId, startWorkflow, resourceResolver } = props;
|
|
712
736
|
|
|
713
737
|
if (agentRunId) {
|
|
714
|
-
|
|
738
|
+
const conversation = (
|
|
715
739
|
<SkillWidgetProvider>
|
|
716
740
|
<ModernAgentConversationInner {...props} agentRunId={agentRunId} />
|
|
717
741
|
</SkillWidgetProvider>
|
|
718
742
|
);
|
|
743
|
+
return resourceResolver ? (
|
|
744
|
+
<AgentResourceResolverProvider value={resourceResolver}>{conversation}</AgentResourceResolverProvider>
|
|
745
|
+
) : (
|
|
746
|
+
conversation
|
|
747
|
+
);
|
|
719
748
|
} else if (startWorkflow) {
|
|
720
749
|
// If we have startWorkflow capability but no agentRunId yet
|
|
721
750
|
return <StartWorkflowView {...props} />;
|
|
@@ -758,13 +787,17 @@ function StartWorkflowView({
|
|
|
758
787
|
hideFileUpload = false,
|
|
759
788
|
hideObjectLinking,
|
|
760
789
|
headerVariant,
|
|
790
|
+
startViewVariant = 'default',
|
|
761
791
|
inputContainerClassName,
|
|
762
792
|
inputClassName,
|
|
763
793
|
className,
|
|
764
794
|
allowWorkflowControl,
|
|
765
795
|
initialToolApprovalMode,
|
|
796
|
+
onAgentWorkingChange,
|
|
766
797
|
}: ModernAgentConversationProps) {
|
|
767
798
|
const { t } = useUITranslation();
|
|
799
|
+
const isCompactStartView = startViewVariant !== 'default';
|
|
800
|
+
const isExpandedStartComposer = startViewVariant === 'expanded-composer';
|
|
768
801
|
const canStageFiles = !hideFileUpload;
|
|
769
802
|
const resolvedPlaceholder = placeholder ?? t('agent.typeYourMessage');
|
|
770
803
|
const resolvedStartButtonText = startButtonText ?? t('agent.startAgent');
|
|
@@ -785,6 +818,10 @@ function StartWorkflowView({
|
|
|
785
818
|
// Staged files - stored locally until workflow starts
|
|
786
819
|
const [stagedFiles, setStagedFiles] = useState<File[]>([]);
|
|
787
820
|
|
|
821
|
+
useEffect(() => {
|
|
822
|
+
onAgentWorkingChange?.(isSending);
|
|
823
|
+
}, [isSending, onAgentWorkingChange]);
|
|
824
|
+
|
|
788
825
|
// Drag and drop state
|
|
789
826
|
const [isDragOver, setIsDragOver] = useState(false);
|
|
790
827
|
const dragCounterRef = useRef(0);
|
|
@@ -1021,10 +1058,14 @@ function StartWorkflowView({
|
|
|
1021
1058
|
const adjustTextareaHeight = useCallback(() => {
|
|
1022
1059
|
const textarea = inputRef.current;
|
|
1023
1060
|
if (textarea) {
|
|
1061
|
+
if (isExpandedStartComposer) {
|
|
1062
|
+
textarea.style.height = '100%';
|
|
1063
|
+
return;
|
|
1064
|
+
}
|
|
1024
1065
|
textarea.style.height = 'auto';
|
|
1025
1066
|
textarea.style.height = `${Math.min(textarea.scrollHeight, 200)}px`;
|
|
1026
1067
|
}
|
|
1027
|
-
}, []);
|
|
1068
|
+
}, [isExpandedStartComposer]);
|
|
1028
1069
|
|
|
1029
1070
|
useEffect(() => {
|
|
1030
1071
|
void inputValue;
|
|
@@ -1049,6 +1090,7 @@ function StartWorkflowView({
|
|
|
1049
1090
|
inputClassName,
|
|
1050
1091
|
className,
|
|
1051
1092
|
allowWorkflowControl,
|
|
1093
|
+
onAgentWorkingChange,
|
|
1052
1094
|
}}
|
|
1053
1095
|
agentRunId={startedAgentRunId}
|
|
1054
1096
|
title={title}
|
|
@@ -1060,11 +1102,18 @@ function StartWorkflowView({
|
|
|
1060
1102
|
}
|
|
1061
1103
|
|
|
1062
1104
|
return (
|
|
1063
|
-
<div
|
|
1105
|
+
<div
|
|
1106
|
+
className={cn(
|
|
1107
|
+
'flex flex-col items-center bg-background',
|
|
1108
|
+
isCompactStartView && !isExpandedStartComposer ? '' : 'h-full',
|
|
1109
|
+
className,
|
|
1110
|
+
)}
|
|
1111
|
+
>
|
|
1064
1112
|
{/* biome-ignore lint/a11y/noStaticElementInteractions: drag/drop target only; file selection is also exposed via the upload button. */}
|
|
1065
1113
|
<div
|
|
1066
1114
|
className={cn(
|
|
1067
|
-
'relative flex
|
|
1115
|
+
'relative flex w-full flex-col overflow-hidden border-0',
|
|
1116
|
+
isCompactStartView && !isExpandedStartComposer ? '' : 'h-full',
|
|
1068
1117
|
fullWidth ? '' : 'max-w-4xl',
|
|
1069
1118
|
)}
|
|
1070
1119
|
onDragEnter={canStageFiles ? handleDragEnter : undefined}
|
|
@@ -1110,7 +1159,6 @@ function StartWorkflowView({
|
|
|
1110
1159
|
size="xs"
|
|
1111
1160
|
variant="ghost"
|
|
1112
1161
|
onClick={onClose}
|
|
1113
|
-
aria-label={t('agent.close')}
|
|
1114
1162
|
title={t('agent.close')}
|
|
1115
1163
|
className="text-muted hover:text-foreground"
|
|
1116
1164
|
>
|
|
@@ -1121,11 +1169,21 @@ function StartWorkflowView({
|
|
|
1121
1169
|
)}
|
|
1122
1170
|
|
|
1123
1171
|
{/* Empty conversation area with instructions */}
|
|
1124
|
-
<div
|
|
1172
|
+
<div
|
|
1173
|
+
className={cn(
|
|
1174
|
+
'flex flex-col items-center justify-end bg-background px-4',
|
|
1175
|
+
isCompactStartView ? 'shrink-0 pt-3' : 'flex-1 overflow-y-auto',
|
|
1176
|
+
)}
|
|
1177
|
+
>
|
|
1125
1178
|
{pendingStartMessage && pendingStartTimestamp ? (
|
|
1126
1179
|
<PendingStartConversation message={pendingStartMessage} startedAt={pendingStartTimestamp} />
|
|
1127
1180
|
) : (
|
|
1128
|
-
<div
|
|
1181
|
+
<div
|
|
1182
|
+
className={cn(
|
|
1183
|
+
'mx-auto flex w-full max-w-3xl flex-col justify-end',
|
|
1184
|
+
isCompactStartView ? '' : 'min-h-full py-8',
|
|
1185
|
+
)}
|
|
1186
|
+
>
|
|
1129
1187
|
{initialMessage && (
|
|
1130
1188
|
<div className="text-[15px] leading-relaxed text-foreground/80">{initialMessage}</div>
|
|
1131
1189
|
)}
|
|
@@ -1134,10 +1192,16 @@ function StartWorkflowView({
|
|
|
1134
1192
|
</div>
|
|
1135
1193
|
|
|
1136
1194
|
{/* Input Area */}
|
|
1137
|
-
<div
|
|
1195
|
+
<div
|
|
1196
|
+
className={cn(
|
|
1197
|
+
'bg-background px-4 pb-safe-area-4 pt-2',
|
|
1198
|
+
isExpandedStartComposer ? 'flex min-h-0 flex-1 flex-col' : 'shrink-0',
|
|
1199
|
+
)}
|
|
1200
|
+
>
|
|
1138
1201
|
<div
|
|
1139
1202
|
className={cn(
|
|
1140
1203
|
'mx-auto flex max-w-3xl flex-col gap-3 rounded-2xl border border-border/70 bg-mixer-muted/15 p-3 shadow-lg shadow-black/5',
|
|
1204
|
+
isExpandedStartComposer && 'min-h-0 w-full flex-1',
|
|
1141
1205
|
inputContainerClassName,
|
|
1142
1206
|
)}
|
|
1143
1207
|
>
|
|
@@ -1177,9 +1241,14 @@ function StartWorkflowView({
|
|
|
1177
1241
|
rows={2}
|
|
1178
1242
|
className={cn(
|
|
1179
1243
|
'min-h-[72px] resize-none overflow-hidden border-0 bg-transparent px-0 py-0 text-sm leading-6 shadow-none focus-visible:ring-0',
|
|
1244
|
+
isExpandedStartComposer && 'min-h-0 flex-1',
|
|
1180
1245
|
inputClassName,
|
|
1181
1246
|
)}
|
|
1182
|
-
style={
|
|
1247
|
+
style={
|
|
1248
|
+
isExpandedStartComposer
|
|
1249
|
+
? { minHeight: '72px', maxHeight: 'none' }
|
|
1250
|
+
: { minHeight: '72px', maxHeight: '200px' }
|
|
1251
|
+
}
|
|
1183
1252
|
/>
|
|
1184
1253
|
|
|
1185
1254
|
<div className="flex items-center justify-between gap-3">
|
|
@@ -1216,7 +1285,6 @@ function StartWorkflowView({
|
|
|
1216
1285
|
'disabled:bg-mixer-muted/25 disabled:text-muted disabled:opacity-100',
|
|
1217
1286
|
)}
|
|
1218
1287
|
title={resolvedStartButtonText}
|
|
1219
|
-
aria-label={resolvedStartButtonText}
|
|
1220
1288
|
>
|
|
1221
1289
|
{isSending ? <Spinner size="sm" /> : <ArrowUpIcon className="size-4" />}
|
|
1222
1290
|
</Button>
|
|
@@ -1276,10 +1344,14 @@ function ModernAgentConversationInner({
|
|
|
1276
1344
|
className,
|
|
1277
1345
|
inputContainerClassName,
|
|
1278
1346
|
inputClassName,
|
|
1347
|
+
composerContext,
|
|
1279
1348
|
// Fusion fragment data
|
|
1280
1349
|
fusionData,
|
|
1281
1350
|
// External file upload API
|
|
1282
1351
|
fileUploadRef,
|
|
1352
|
+
sendMessageRef,
|
|
1353
|
+
onMessage,
|
|
1354
|
+
onAgentWorkingChange,
|
|
1283
1355
|
onProcessingFilesChange,
|
|
1284
1356
|
processingFiles: processingFilesProp,
|
|
1285
1357
|
// External plan panel API
|
|
@@ -1340,7 +1412,7 @@ function ModernAgentConversationInner({
|
|
|
1340
1412
|
agentRunStatus,
|
|
1341
1413
|
workflowRunId,
|
|
1342
1414
|
serverFileUpdates,
|
|
1343
|
-
} = useAgentStream(client, agentRunId);
|
|
1415
|
+
} = useAgentStream(client, agentRunId, onMessage);
|
|
1344
1416
|
|
|
1345
1417
|
const {
|
|
1346
1418
|
plans,
|
|
@@ -1550,9 +1622,10 @@ function ModernAgentConversationInner({
|
|
|
1550
1622
|
const canShowPlaybackToggle = showPlaybackToggle && enablePlayback === undefined && isAgentChatPlaybackAvailable();
|
|
1551
1623
|
const isPlaybackEnabled = enablePlayback ?? (isAgentChatPlaybackEnabled() || isPlaybackToggleEnabled);
|
|
1552
1624
|
const playbackSourceMessages = useMemo(() => {
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1625
|
+
// Passive artifact autosaves are surfaced by the editor's own save indicator, not the chat.
|
|
1626
|
+
const visibleMessages = messages.filter(
|
|
1627
|
+
(message) => !isPassiveArtifactUpdate(message) && !(hiddenMessageTypes?.includes(message.type) ?? false),
|
|
1628
|
+
);
|
|
1556
1629
|
return filterMessagesForActiveWorkstream(visibleMessages, activeWorkstream);
|
|
1557
1630
|
}, [activeWorkstream, hiddenMessageTypes, messages]);
|
|
1558
1631
|
const playbackState = useMemo(
|
|
@@ -1575,11 +1648,20 @@ function ModernAgentConversationInner({
|
|
|
1575
1648
|
);
|
|
1576
1649
|
const effectiveIsCompleted = useMemo(() => isCompleted || !isInProgress(messages), [isCompleted, messages]);
|
|
1577
1650
|
const displayedIsCompleted = isPlaybackLive || isPlaybackAtLatest ? effectiveIsCompleted : false;
|
|
1651
|
+
const isAgentWorking = !effectiveIsCompleted && !isWorkflowTerminal;
|
|
1652
|
+
|
|
1653
|
+
useEffect(() => {
|
|
1654
|
+
onAgentWorkingChange?.(isAgentWorking);
|
|
1655
|
+
}, [isAgentWorking, onAgentWorkingChange]);
|
|
1578
1656
|
const pendingRequestInputMessage = useMemo(
|
|
1579
1657
|
() => getPendingRequestInputMessage(displayedMessages),
|
|
1580
1658
|
[displayedMessages],
|
|
1581
1659
|
);
|
|
1582
|
-
|
|
1660
|
+
// A terminal run silently drops user input unless it can be continued (see the guard in
|
|
1661
|
+
// handleSendMessage), so never surface an actionable question overlay in that state —
|
|
1662
|
+
// the terminal status box renders instead.
|
|
1663
|
+
const shouldShowRequestInputOverlay =
|
|
1664
|
+
Boolean(pendingRequestInputMessage) && !isFailed && (!isWorkflowTerminal || canContinueConversation);
|
|
1583
1665
|
const isViewingPlaybackHistory = isPlaybackEnabled && !isPlaybackLive;
|
|
1584
1666
|
const shouldRenderLiveMessageInputArea = shouldRenderMessageInputArea && !isViewingPlaybackHistory;
|
|
1585
1667
|
const contextWindowUsage = useMemo(() => toContextWindowUsage(messages), [messages]);
|
|
@@ -1674,15 +1756,6 @@ function ModernAgentConversationInner({
|
|
|
1674
1756
|
// ────────────────────────────────────────────
|
|
1675
1757
|
// Stable callbacks
|
|
1676
1758
|
// ────────────────────────────────────────────
|
|
1677
|
-
const handleTogglePlanPanel = useCallback(() => {
|
|
1678
|
-
setShowSlidingPanel((prev: boolean) => {
|
|
1679
|
-
if (!prev) {
|
|
1680
|
-
sessionStorage.setItem('plan-panel-shown', 'true');
|
|
1681
|
-
}
|
|
1682
|
-
return !prev;
|
|
1683
|
-
});
|
|
1684
|
-
}, [setShowSlidingPanel]);
|
|
1685
|
-
|
|
1686
1759
|
const handleChangePlan = useCallback(
|
|
1687
1760
|
(index: number) => {
|
|
1688
1761
|
setActivePlanIndex(index);
|
|
@@ -1697,17 +1770,44 @@ function ModernAgentConversationInner({
|
|
|
1697
1770
|
const [rightPanelTab, setRightPanelTab] = useState<RightPanelTab>(
|
|
1698
1771
|
conversationContent || conversationTab ? 'conversation' : 'plan',
|
|
1699
1772
|
);
|
|
1773
|
+
const [selectedArtifactPath, setSelectedArtifactPath] = useState<string | null>(null);
|
|
1700
1774
|
const [rightPanelWidth, setRightPanelWidth] = useState(400);
|
|
1701
1775
|
const [isRightPanelResizing, setIsRightPanelResizing] = useState(false);
|
|
1776
|
+
// Master override for the "Toggle right sidebar" control. `showSlidingPanel` only tracks the
|
|
1777
|
+
// plan; open documents/workstreams keep the panel visible on their own, so without this the
|
|
1778
|
+
// toggle can't hide the panel while a document is open. Explicit reveals (opening an artifact
|
|
1779
|
+
// or document) clear it again.
|
|
1780
|
+
const [rightPanelManuallyClosed, setRightPanelManuallyClosed] = useState(false);
|
|
1702
1781
|
|
|
1703
1782
|
const isRightPanelVisible =
|
|
1704
1783
|
showRightPanelProp &&
|
|
1784
|
+
!rightPanelManuallyClosed &&
|
|
1705
1785
|
(showSlidingPanel ||
|
|
1706
1786
|
isDocPanelOpen ||
|
|
1707
1787
|
(!hideWorkstreamTabs && panelWorkstreams.length > 0) ||
|
|
1708
1788
|
!!conversationContent ||
|
|
1709
1789
|
conversationTab);
|
|
1710
1790
|
|
|
1791
|
+
// A newly opened document should reveal the panel even if the user had manually collapsed it.
|
|
1792
|
+
const previousDocPanelOpenRef = useRef(isDocPanelOpen);
|
|
1793
|
+
useEffect(() => {
|
|
1794
|
+
if (isDocPanelOpen && !previousDocPanelOpenRef.current) {
|
|
1795
|
+
setRightPanelManuallyClosed(false);
|
|
1796
|
+
}
|
|
1797
|
+
previousDocPanelOpenRef.current = isDocPanelOpen;
|
|
1798
|
+
}, [isDocPanelOpen]);
|
|
1799
|
+
|
|
1800
|
+
const handleTogglePlanPanel = useCallback(() => {
|
|
1801
|
+
if (isRightPanelVisible) {
|
|
1802
|
+
setRightPanelManuallyClosed(true);
|
|
1803
|
+
setShowSlidingPanel(false);
|
|
1804
|
+
} else {
|
|
1805
|
+
setRightPanelManuallyClosed(false);
|
|
1806
|
+
setShowSlidingPanel(true);
|
|
1807
|
+
sessionStorage.setItem('plan-panel-shown', 'true');
|
|
1808
|
+
}
|
|
1809
|
+
}, [isRightPanelVisible, setShowSlidingPanel]);
|
|
1810
|
+
|
|
1711
1811
|
useEffect(() => {
|
|
1712
1812
|
if (!isRightPanelVisible && isRightPanelResizing) {
|
|
1713
1813
|
setIsRightPanelResizing(false);
|
|
@@ -1749,10 +1849,44 @@ function ModernAgentConversationInner({
|
|
|
1749
1849
|
}, [isRightPanelResizing]);
|
|
1750
1850
|
|
|
1751
1851
|
const handleCloseRightPanel = useCallback(() => {
|
|
1852
|
+
setRightPanelManuallyClosed(true);
|
|
1752
1853
|
setShowSlidingPanel(false);
|
|
1753
1854
|
handleCloseDocPanel();
|
|
1754
1855
|
}, [setShowSlidingPanel, handleCloseDocPanel]);
|
|
1755
1856
|
|
|
1857
|
+
const handleOpenArtifact = useCallback(
|
|
1858
|
+
(path: string) => {
|
|
1859
|
+
if (!/\.md$/i.test(path)) return;
|
|
1860
|
+
setRightPanelManuallyClosed(false);
|
|
1861
|
+
setSelectedArtifactPath(path);
|
|
1862
|
+
setRightPanelTab('artifacts');
|
|
1863
|
+
setShowSlidingPanel(true);
|
|
1864
|
+
},
|
|
1865
|
+
[setShowSlidingPanel],
|
|
1866
|
+
);
|
|
1867
|
+
|
|
1868
|
+
// The `display_artifact` tool emits a `display_artifact` stream event asking the UI
|
|
1869
|
+
// to reveal a text artifact in the editor. Act on the latest such event, once per
|
|
1870
|
+
// distinct occurrence so the user can still close the panel without it snapping back.
|
|
1871
|
+
const displayedArtifactMarkerRef = useRef<string | null>(null);
|
|
1872
|
+
useEffect(() => {
|
|
1873
|
+
let target: string | undefined;
|
|
1874
|
+
let marker: string | undefined;
|
|
1875
|
+
for (const message of messages) {
|
|
1876
|
+
const details = message.details as Record<string, unknown> | undefined;
|
|
1877
|
+
if (details?.event_class === 'display_artifact' && typeof details.path === 'string') {
|
|
1878
|
+
target = details.path;
|
|
1879
|
+
marker = `${message.timestamp ?? ''}:${details.path}`;
|
|
1880
|
+
}
|
|
1881
|
+
}
|
|
1882
|
+
if (!target || !marker || marker === displayedArtifactMarkerRef.current) return;
|
|
1883
|
+
displayedArtifactMarkerRef.current = marker;
|
|
1884
|
+
setRightPanelManuallyClosed(false);
|
|
1885
|
+
setSelectedArtifactPath(target);
|
|
1886
|
+
setRightPanelTab('artifacts');
|
|
1887
|
+
setShowSlidingPanel(true);
|
|
1888
|
+
}, [messages, setShowSlidingPanel]);
|
|
1889
|
+
|
|
1756
1890
|
// Default StoreLinkComponent that opens documents in the panel
|
|
1757
1891
|
const internalStoreLinkComponent = useCallback(
|
|
1758
1892
|
({ href, documentId, children }: { href: string; documentId: string; children: React.ReactNode }) => (
|
|
@@ -1803,6 +1937,7 @@ function ModernAgentConversationInner({
|
|
|
1803
1937
|
|
|
1804
1938
|
useEffect(() => {
|
|
1805
1939
|
void agentRunId;
|
|
1940
|
+
setSelectedArtifactPath(null);
|
|
1806
1941
|
workstreamFetchFailedRef.current = false;
|
|
1807
1942
|
setIsWorkstreamQueryUnavailable(false);
|
|
1808
1943
|
setQueriedActiveWorkstreams([]);
|
|
@@ -1980,7 +2115,12 @@ function ModernAgentConversationInner({
|
|
|
1980
2115
|
type: AgentMessageType.QUESTION,
|
|
1981
2116
|
message: messageContent,
|
|
1982
2117
|
workstream_id: 'main',
|
|
1983
|
-
details: {
|
|
2118
|
+
details: {
|
|
2119
|
+
_optimistic: true,
|
|
2120
|
+
_messageId: messageId,
|
|
2121
|
+
_deliveryStatus: 'sending',
|
|
2122
|
+
...(inputMetadata?.editing_action ? { editing_action: inputMetadata.editing_action } : {}),
|
|
2123
|
+
},
|
|
1984
2124
|
};
|
|
1985
2125
|
|
|
1986
2126
|
addOptimisticMessage(optimisticMessage);
|
|
@@ -2051,6 +2191,13 @@ function ModernAgentConversationInner({
|
|
|
2051
2191
|
],
|
|
2052
2192
|
);
|
|
2053
2193
|
|
|
2194
|
+
useEffect(() => {
|
|
2195
|
+
if (sendMessageRef) sendMessageRef.current = handleSendMessage;
|
|
2196
|
+
return () => {
|
|
2197
|
+
if (sendMessageRef?.current === handleSendMessage) sendMessageRef.current = null;
|
|
2198
|
+
};
|
|
2199
|
+
}, [handleSendMessage, sendMessageRef]);
|
|
2200
|
+
|
|
2054
2201
|
// After the user connects an MCP server requested via request_mcp_connection, flag the
|
|
2055
2202
|
// conversation for tool re-discovery and resume it with a confirmation message so the agent
|
|
2056
2203
|
// continues automatically with the newly-available tools.
|
|
@@ -2384,6 +2531,21 @@ function ModernAgentConversationInner({
|
|
|
2384
2531
|
return false;
|
|
2385
2532
|
}).length;
|
|
2386
2533
|
}, [messages]);
|
|
2534
|
+
const selectedArtifactRefresh = useMemo(() => {
|
|
2535
|
+
if (!selectedArtifactPath) return { key: artifactRefreshKey, details: undefined };
|
|
2536
|
+
|
|
2537
|
+
let key = 0;
|
|
2538
|
+
let details: Record<string, unknown> | undefined;
|
|
2539
|
+
for (const message of messages) {
|
|
2540
|
+
const candidate = message.details as Record<string, unknown> | undefined;
|
|
2541
|
+
if (!isArtifactRefreshEvent(candidate, selectedArtifactPath)) continue;
|
|
2542
|
+
key++;
|
|
2543
|
+
details = candidate;
|
|
2544
|
+
}
|
|
2545
|
+
return { key, details };
|
|
2546
|
+
}, [artifactRefreshKey, messages, selectedArtifactPath]);
|
|
2547
|
+
const canCollaborateWithArtifacts =
|
|
2548
|
+
interactive && isPlaybackLive && effectiveWorkflowStatus?.toUpperCase() === 'RUNNING';
|
|
2387
2549
|
|
|
2388
2550
|
// PERFORMANCE: Memoize taskLabels to prevent AllMessagesMixed re-renders
|
|
2389
2551
|
const taskLabels = useMemo(
|
|
@@ -2407,7 +2569,7 @@ function ModernAgentConversationInner({
|
|
|
2407
2569
|
workflowRunId={workflowRunId || ''}
|
|
2408
2570
|
viewMode={viewMode}
|
|
2409
2571
|
onViewModeChange={handleViewModeChange}
|
|
2410
|
-
showPlanPanel={
|
|
2572
|
+
showPlanPanel={isRightPanelVisible}
|
|
2411
2573
|
hasPlan={showRightPanelProp && plans.length > 0}
|
|
2412
2574
|
showPlanButton={showRightPanelProp && !conversationTab}
|
|
2413
2575
|
onTogglePlanPanel={handleTogglePlanPanel}
|
|
@@ -2481,6 +2643,7 @@ function ModernAgentConversationInner({
|
|
|
2481
2643
|
taskLabels={taskLabels}
|
|
2482
2644
|
streamingMessages={displayedStreamingMessages}
|
|
2483
2645
|
onSendMessage={isPlaybackLive ? handleSendMessage : undefined}
|
|
2646
|
+
onOpenArtifact={showArtifacts ? handleOpenArtifact : undefined}
|
|
2484
2647
|
messageItemClassNames={messageItemClassNames}
|
|
2485
2648
|
messageStyleOverrides={messageStyleOverrides}
|
|
2486
2649
|
toolCallGroupClassNames={toolCallGroupClassNames}
|
|
@@ -2553,56 +2716,59 @@ function ModernAgentConversationInner({
|
|
|
2553
2716
|
)
|
|
2554
2717
|
) : (
|
|
2555
2718
|
(showInput || canContinueConversation) && (
|
|
2556
|
-
|
|
2557
|
-
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
|
|
2561
|
-
|
|
2562
|
-
|
|
2563
|
-
|
|
2564
|
-
|
|
2565
|
-
|
|
2566
|
-
|
|
2719
|
+
<>
|
|
2720
|
+
{composerContext}
|
|
2721
|
+
<MessageInput
|
|
2722
|
+
onSend={handleSendMessage}
|
|
2723
|
+
onStop={allowWorkflowControl ? handleStopWorkflow : undefined}
|
|
2724
|
+
approvalModeSlot={
|
|
2725
|
+
interactive && toolApprovalMode ? (
|
|
2726
|
+
<AgentApprovalModeSelector
|
|
2727
|
+
mode={toolApprovalMode}
|
|
2728
|
+
onChange={handleToolApprovalModeChange}
|
|
2729
|
+
disabled={
|
|
2730
|
+
!isPlaybackLive || isWorkflowTerminal || !allowWorkflowControl
|
|
2731
|
+
}
|
|
2732
|
+
/>
|
|
2733
|
+
) : undefined
|
|
2734
|
+
}
|
|
2735
|
+
mcpSlot={
|
|
2736
|
+
<McpConnectionsActionMenu
|
|
2737
|
+
disabledCollections={mcpDisabled}
|
|
2738
|
+
onChange={handleMcpDisabledChange}
|
|
2739
|
+
onConnectionChange={handleMcpConnectionChange}
|
|
2567
2740
|
/>
|
|
2568
|
-
|
|
2569
|
-
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
|
|
2573
|
-
|
|
2574
|
-
|
|
2575
|
-
|
|
2576
|
-
|
|
2577
|
-
|
|
2578
|
-
|
|
2579
|
-
|
|
2580
|
-
|
|
2581
|
-
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
|
|
2585
|
-
|
|
2586
|
-
|
|
2587
|
-
|
|
2588
|
-
|
|
2589
|
-
|
|
2590
|
-
|
|
2591
|
-
|
|
2592
|
-
|
|
2593
|
-
|
|
2594
|
-
|
|
2595
|
-
|
|
2596
|
-
|
|
2597
|
-
|
|
2598
|
-
|
|
2599
|
-
onRemoveDocument={onRemoveDocument}
|
|
2600
|
-
hideObjectLinking={hideObjectLinking}
|
|
2601
|
-
hideFileUpload={!canUploadFiles}
|
|
2602
|
-
disableDropZone={canUploadFiles}
|
|
2603
|
-
className={inputContainerClassName}
|
|
2604
|
-
inputClassName={inputClassName}
|
|
2605
|
-
/>
|
|
2741
|
+
}
|
|
2742
|
+
disabled={isUploading || !isPlaybackLive}
|
|
2743
|
+
isSending={isSending || isUploading}
|
|
2744
|
+
isStopping={isStopping}
|
|
2745
|
+
isStreaming={!effectiveIsCompleted}
|
|
2746
|
+
isCompleted={effectiveIsCompleted}
|
|
2747
|
+
contextWindowUsage={canCompactContext ? contextWindowUsage : undefined}
|
|
2748
|
+
onCompactContext={canCompactContext ? handleCompactContext : undefined}
|
|
2749
|
+
isCompactingContext={isCompactingContext}
|
|
2750
|
+
activeTaskCount={activeTaskCount}
|
|
2751
|
+
activeWorkstreams={composerActiveWorkstreams}
|
|
2752
|
+
placeholder={composerPlaceholder}
|
|
2753
|
+
onFilesSelected={canUploadFiles ? handleFileUpload : undefined}
|
|
2754
|
+
uploadedFiles={uploadedFiles}
|
|
2755
|
+
onRemoveFile={onRemoveFile}
|
|
2756
|
+
onRemoveProcessingFile={handleRemoveProcessingFile}
|
|
2757
|
+
acceptedFileTypes={acceptedFileTypes}
|
|
2758
|
+
maxFiles={maxFiles}
|
|
2759
|
+
processingFiles={processingFiles}
|
|
2760
|
+
artifactRunId={agentRunId}
|
|
2761
|
+
hasProcessingFiles={hasProcessingFiles}
|
|
2762
|
+
renderDocumentSearch={renderDocumentSearch}
|
|
2763
|
+
selectedDocuments={selectedDocuments}
|
|
2764
|
+
onRemoveDocument={onRemoveDocument}
|
|
2765
|
+
hideObjectLinking={hideObjectLinking}
|
|
2766
|
+
hideFileUpload={!canUploadFiles}
|
|
2767
|
+
disableDropZone={canUploadFiles}
|
|
2768
|
+
className={inputContainerClassName}
|
|
2769
|
+
inputClassName={inputClassName}
|
|
2770
|
+
/>
|
|
2771
|
+
</>
|
|
2606
2772
|
)
|
|
2607
2773
|
)}
|
|
2608
2774
|
</div>
|
|
@@ -2719,7 +2885,11 @@ function ModernAgentConversationInner({
|
|
|
2719
2885
|
processingFiles={processingFilesProp ?? processingFiles}
|
|
2720
2886
|
// Artifacts
|
|
2721
2887
|
showArtifacts={showArtifacts}
|
|
2722
|
-
artifactRefreshKey={
|
|
2888
|
+
artifactRefreshKey={selectedArtifactRefresh.key}
|
|
2889
|
+
artifactRefreshDetails={selectedArtifactRefresh.details}
|
|
2890
|
+
selectedArtifactPath={selectedArtifactPath}
|
|
2891
|
+
onSelectedArtifactPathChange={setSelectedArtifactPath}
|
|
2892
|
+
onSendMessage={canCollaborateWithArtifacts ? handleSendMessage : undefined}
|
|
2723
2893
|
// Messages (for workstreams tab context)
|
|
2724
2894
|
messages={messages}
|
|
2725
2895
|
// Payload content
|