@vertesia/ui 1.0.0-dev.20260128.144200 → 1.0.0-dev.20260225.024852Z
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/esm/core/components/InputList.js +1 -1
- package/lib/esm/core/components/InputList.js.map +1 -1
- package/lib/esm/core/components/Overlay.js +1 -1
- package/lib/esm/core/components/Overlay.js.map +1 -1
- package/lib/esm/core/components/SidePanel.js +8 -2
- package/lib/esm/core/components/SidePanel.js.map +1 -1
- package/lib/esm/core/components/Switch.js +1 -1
- package/lib/esm/core/components/Switch.js.map +1 -1
- package/lib/esm/core/components/index.js +0 -8
- package/lib/esm/core/components/index.js.map +1 -1
- package/lib/esm/core/components/shadcn/MessageBox.js.map +1 -0
- package/lib/esm/core/components/shadcn/Panel.js +13 -0
- package/lib/esm/core/components/shadcn/Panel.js.map +1 -0
- package/lib/esm/core/components/{Badge.js → shadcn/badge.js} +2 -2
- package/lib/esm/core/components/shadcn/badge.js.map +1 -0
- package/lib/esm/core/components/shadcn/command.js +1 -1
- package/lib/esm/core/components/shadcn/command.js.map +1 -1
- package/lib/esm/core/components/shadcn/filters/filterBar.js +73 -83
- package/lib/esm/core/components/shadcn/filters/filterBar.js.map +1 -1
- package/lib/esm/core/components/shadcn/index.js +4 -2
- package/lib/esm/core/components/shadcn/index.js.map +1 -1
- package/lib/esm/core/components/shadcn/modal/ConfirmModal.js +10 -0
- package/lib/esm/core/components/shadcn/modal/ConfirmModal.js.map +1 -0
- package/lib/esm/core/components/{DeleteModal.js → shadcn/modal/DeleteModal.js} +1 -1
- package/lib/esm/core/components/shadcn/modal/DeleteModal.js.map +1 -0
- package/lib/esm/core/components/shadcn/{dialog.js → modal/dialog.js} +19 -15
- package/lib/esm/core/components/shadcn/modal/dialog.js.map +1 -0
- package/lib/esm/core/components/shadcn/modal/index.js +4 -0
- package/lib/esm/core/components/shadcn/modal/index.js.map +1 -0
- package/lib/esm/core/components/shadcn/popover.js +4 -2
- package/lib/esm/core/components/shadcn/popover.js.map +1 -1
- package/lib/esm/core/components/shadcn/selectBox.js +19 -15
- package/lib/esm/core/components/shadcn/selectBox.js.map +1 -1
- package/lib/esm/core/components/shadcn/tabs.js +16 -14
- package/lib/esm/core/components/shadcn/tabs.js.map +1 -1
- package/lib/esm/core/components/shadcn/textarea.js +30 -2
- package/lib/esm/core/components/shadcn/textarea.js.map +1 -1
- package/lib/esm/core/components/shadcn/tooltip.js +5 -1
- package/lib/esm/core/components/shadcn/tooltip.js.map +1 -1
- package/lib/esm/features/agent/PayloadBuilder.js +45 -0
- package/lib/esm/features/agent/PayloadBuilder.js.map +1 -1
- package/lib/esm/features/agent/chat/AgentChart.js +12 -232
- package/lib/esm/features/agent/chat/AgentChart.js.map +1 -1
- package/lib/esm/features/agent/chat/AskUserWidget.js +2 -1
- package/lib/esm/features/agent/chat/AskUserWidget.js.map +1 -1
- package/lib/esm/features/agent/chat/DocumentPanel.js +46 -0
- package/lib/esm/features/agent/chat/DocumentPanel.js.map +1 -0
- package/lib/esm/features/agent/chat/DocumentTabBar.js +17 -0
- package/lib/esm/features/agent/chat/DocumentTabBar.js.map +1 -0
- package/lib/esm/features/agent/chat/ModernAgentConversation.js +159 -402
- package/lib/esm/features/agent/chat/ModernAgentConversation.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +99 -57
- package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js +4 -4
- package/lib/esm/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js +4 -4
- package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js +3 -3
- package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js +25 -22
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js +110 -55
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/StreamingMessage.js +2 -2
- package/lib/esm/features/agent/chat/ModernAgentOutput/StreamingMessage.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/ToolCallGroup.js +146 -55
- package/lib/esm/features/agent/chat/ModernAgentOutput/ToolCallGroup.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js +5 -6
- package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js +110 -2
- package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js.map +1 -1
- package/lib/esm/features/agent/chat/SkillWidgetProvider.js +28 -15
- package/lib/esm/features/agent/chat/SkillWidgetProvider.js.map +1 -1
- package/lib/esm/features/agent/chat/hooks/useAgentPlans.js +146 -0
- package/lib/esm/features/agent/chat/hooks/useAgentPlans.js.map +1 -0
- package/lib/esm/features/agent/chat/hooks/useAgentStream.js +180 -0
- package/lib/esm/features/agent/chat/hooks/useAgentStream.js.map +1 -0
- package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js +100 -0
- package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js.map +1 -0
- package/lib/esm/features/agent/chat/hooks/useFileProcessing.js +90 -0
- package/lib/esm/features/agent/chat/hooks/useFileProcessing.js.map +1 -0
- package/lib/esm/features/agent/chat/index.js +6 -5
- package/lib/esm/features/agent/chat/index.js.map +1 -1
- package/lib/esm/features/agent/chat/types/document.js +2 -0
- package/lib/esm/features/agent/chat/types/document.js.map +1 -0
- package/lib/esm/features/agent/index.js +0 -2
- package/lib/esm/features/agent/index.js.map +1 -1
- package/lib/esm/features/store/collections/BrowseCollectionView.js +4 -6
- package/lib/esm/features/store/collections/BrowseCollectionView.js.map +1 -1
- package/lib/esm/features/store/collections/CreateCollection.js +4 -4
- package/lib/esm/features/store/collections/CreateCollection.js.map +1 -1
- package/lib/esm/features/store/collections/EditCollectionView.js +1 -1
- package/lib/esm/features/store/collections/EditCollectionView.js.map +1 -1
- package/lib/esm/features/store/objects/DocumentSearchResults.js +5 -5
- package/lib/esm/features/store/objects/DocumentSearchResults.js.map +1 -1
- package/lib/esm/features/store/objects/ExportPropertiesModal.js +3 -3
- package/lib/esm/features/store/objects/ExportPropertiesModal.js.map +1 -1
- package/lib/esm/features/store/objects/components/ContentOverview.js +19 -120
- package/lib/esm/features/store/objects/components/ContentOverview.js.map +1 -1
- package/lib/esm/features/store/objects/components/PropertiesEditorModal.js +1 -1
- package/lib/esm/features/store/objects/components/PropertiesEditorModal.js.map +1 -1
- package/lib/esm/features/store/objects/components/SelectDocumentModal.js +2 -2
- package/lib/esm/features/store/objects/components/SelectDocumentModal.js.map +1 -1
- package/lib/esm/features/store/objects/components/VectorSearchWidget.js +1 -1
- package/lib/esm/features/store/objects/components/VectorSearchWidget.js.map +1 -1
- package/lib/esm/features/store/objects/components/index.js +1 -1
- package/lib/esm/features/store/objects/components/index.js.map +1 -1
- package/lib/esm/features/store/objects/components/useDownloadFile.js +192 -0
- package/lib/esm/features/store/objects/components/useDownloadFile.js.map +1 -0
- package/lib/esm/features/store/objects/search/DocumentSearchContext.js +1 -2
- package/lib/esm/features/store/objects/search/DocumentSearchContext.js.map +1 -1
- package/lib/esm/features/store/objects/selection/SelectionActions.js +5 -8
- package/lib/esm/features/store/objects/selection/SelectionActions.js.map +1 -1
- package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js +4 -4
- package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js.map +1 -1
- package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js +2 -2
- package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js.map +1 -1
- package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js +1 -1
- package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js.map +1 -1
- package/lib/esm/features/store/objects/selection/actions/StartWorkflowComponent.js +3 -3
- package/lib/esm/features/store/objects/selection/actions/StartWorkflowComponent.js.map +1 -1
- package/lib/esm/features/store/objects/upload/DocumentUploadModal.js +13 -13
- package/lib/esm/features/store/objects/upload/DocumentUploadModal.js.map +1 -1
- package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js +15 -8
- package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js.map +1 -1
- package/lib/esm/features/store/types/ObjectSchemaEditor.js +6 -5
- package/lib/esm/features/store/types/ObjectSchemaEditor.js.map +1 -1
- package/lib/esm/features/store/types/SelectContentType.js +3 -3
- package/lib/esm/features/store/types/SelectContentType.js.map +1 -1
- package/lib/esm/features/store/types/SelectContentTypeModal.js +5 -4
- package/lib/esm/features/store/types/SelectContentTypeModal.js.map +1 -1
- package/lib/esm/features/store/types/TableLayoutEditor.js +4 -4
- package/lib/esm/features/store/types/TableLayoutEditor.js.map +1 -1
- package/lib/esm/features/user/UserInfo.js +73 -9
- package/lib/esm/features/user/UserInfo.js.map +1 -1
- package/lib/esm/features/utils/print.js +0 -1
- package/lib/esm/features/utils/print.js.map +1 -1
- package/lib/esm/layout/AppLayout.js +3 -4
- package/lib/esm/layout/AppLayout.js.map +1 -1
- package/lib/esm/layout/Sidebar.js +5 -5
- package/lib/esm/layout/Sidebar.js.map +1 -1
- package/lib/esm/router/HistoryNavigator.js +7 -1
- package/lib/esm/router/HistoryNavigator.js.map +1 -1
- package/lib/esm/router/Nav.js +2 -2
- package/lib/esm/router/Nav.js.map +1 -1
- package/lib/esm/session/UserSession.js +35 -9
- package/lib/esm/session/UserSession.js.map +1 -1
- package/lib/esm/session/UserSessionProvider.js +3 -2
- package/lib/esm/session/UserSessionProvider.js.map +1 -1
- package/lib/esm/shell/apps/AppProjectSelector.js +2 -2
- package/lib/esm/shell/apps/AppProjectSelector.js.map +1 -1
- package/lib/esm/shell/apps/StandaloneApp.js +2 -2
- package/lib/esm/shell/apps/StandaloneApp.js.map +1 -1
- package/lib/esm/shell/login/InviteAcceptModal.js +2 -2
- package/lib/esm/shell/login/InviteAcceptModal.js.map +1 -1
- package/lib/esm/shell/login/SignInModal.js +1 -1
- package/lib/esm/shell/login/SignInModal.js.map +1 -1
- package/lib/esm/shell/login/SignupForm.js +2 -2
- package/lib/esm/shell/login/SignupForm.js.map +1 -1
- package/lib/esm/shell/login/UserInfo.js +2 -2
- package/lib/esm/shell/login/UserInfo.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 +1 -1
- package/lib/esm/widgets/json-view/JSONDisplay.js.map +1 -1
- package/lib/esm/widgets/markdown/ArtifactContentRenderer.js +84 -13
- package/lib/esm/widgets/markdown/ArtifactContentRenderer.js.map +1 -1
- package/lib/esm/widgets/markdown/MarkdownFigure.js +40 -0
- package/lib/esm/widgets/markdown/MarkdownFigure.js.map +1 -0
- package/lib/esm/widgets/markdown/MarkdownRenderer.js +42 -7
- package/lib/esm/widgets/markdown/MarkdownRenderer.js.map +1 -1
- package/lib/esm/widgets/markdown/MermaidDiagram.js +80 -5
- package/lib/esm/widgets/markdown/MermaidDiagram.js.map +1 -1
- package/lib/esm/widgets/markdown/codeBlockHandlers.js +33 -33
- package/lib/esm/widgets/markdown/codeBlockHandlers.js.map +1 -1
- package/lib/esm/widgets/markdown/codeBlockHandlers.test.js +2 -29
- package/lib/esm/widgets/markdown/codeBlockHandlers.test.js.map +1 -1
- package/lib/esm/widgets/markdown/index.js +1 -0
- package/lib/esm/widgets/markdown/index.js.map +1 -1
- package/lib/esm/widgets/markdown/normalizeCustomSchemeLinks.js +77 -0
- package/lib/esm/widgets/markdown/normalizeCustomSchemeLinks.js.map +1 -0
- package/lib/esm/widgets/markdown/normalizeDirectives.js +45 -0
- package/lib/esm/widgets/markdown/normalizeDirectives.js.map +1 -0
- package/lib/esm/widgets/markdown/remarkDirectiveHandler.js +96 -0
- package/lib/esm/widgets/markdown/remarkDirectiveHandler.js.map +1 -0
- package/lib/esm/widgets/monacoEditor/MonacoEditor.js +8 -14
- package/lib/esm/widgets/monacoEditor/MonacoEditor.js.map +1 -1
- package/lib/esm/widgets/schema-editor/ManagedSchema.js.map +1 -1
- package/lib/esm/widgets/schema-editor/editor/PropertyEditor.js +3 -3
- package/lib/esm/widgets/schema-editor/editor/PropertyEditor.js.map +1 -1
- package/lib/esm/widgets/schema-editor/json-schema4-utils.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types/core/components/SidePanel.d.ts +4 -1
- package/lib/types/core/components/SidePanel.d.ts.map +1 -1
- package/lib/types/core/components/index.d.ts +0 -8
- package/lib/types/core/components/index.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/MessageBox.d.ts.map +1 -0
- package/lib/types/core/components/{Panel.d.ts → shadcn/Panel.d.ts} +3 -1
- package/lib/types/core/components/shadcn/Panel.d.ts.map +1 -0
- package/lib/types/core/components/{Badge.d.ts → shadcn/badge.d.ts} +4 -4
- package/lib/types/core/components/shadcn/badge.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/button.d.ts +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 -2
- 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.map +1 -0
- package/lib/types/core/components/shadcn/modal/DeleteModal.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/{dialog.d.ts → modal/dialog.d.ts} +7 -4
- package/lib/types/core/components/shadcn/modal/dialog.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/modal/index.d.ts +4 -0
- package/lib/types/core/components/shadcn/modal/index.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/popover.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/selectBox.d.ts +9 -5
- package/lib/types/core/components/shadcn/selectBox.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/tabs.d.ts +14 -5
- package/lib/types/core/components/shadcn/tabs.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/textarea.d.ts +6 -2
- package/lib/types/core/components/shadcn/textarea.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/tooltip.d.ts.map +1 -1
- package/lib/types/features/agent/PayloadBuilder.d.ts +22 -4
- package/lib/types/features/agent/PayloadBuilder.d.ts.map +1 -1
- package/lib/types/features/agent/chat/AgentChart.d.ts +3 -44
- package/lib/types/features/agent/chat/AgentChart.d.ts.map +1 -1
- package/lib/types/features/agent/chat/AskUserWidget.d.ts.map +1 -1
- package/lib/types/features/agent/chat/DocumentPanel.d.ts +16 -0
- package/lib/types/features/agent/chat/DocumentPanel.d.ts.map +1 -0
- package/lib/types/features/agent/chat/DocumentTabBar.d.ts +10 -0
- package/lib/types/features/agent/chat/DocumentTabBar.d.ts.map +1 -0
- package/lib/types/features/agent/chat/ModernAgentConversation.d.ts +69 -1
- package/lib/types/features/agent/chat/ModernAgentConversation.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts +36 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/BatchProgressPanel.d.ts +18 -2
- package/lib/types/features/agent/chat/ModernAgentOutput/BatchProgressPanel.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts +4 -7
- package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/MessageInput.d.ts +2 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/MessageInput.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/MessageItem.d.ts +35 -7
- package/lib/types/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/StreamingMessage.d.ts +11 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/StreamingMessage.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts +20 -2
- 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 +18 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/utils.d.ts.map +1 -1
- package/lib/types/features/agent/chat/SkillWidgetProvider.d.ts.map +1 -1
- package/lib/types/features/agent/chat/hooks/useAgentPlans.d.ts +22 -0
- package/lib/types/features/agent/chat/hooks/useAgentPlans.d.ts.map +1 -0
- package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts +42 -0
- package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts.map +1 -0
- package/lib/types/features/agent/chat/hooks/useDocumentPanel.d.ts +22 -0
- package/lib/types/features/agent/chat/hooks/useDocumentPanel.d.ts.map +1 -0
- package/lib/types/features/agent/chat/hooks/useFileProcessing.d.ts +27 -0
- package/lib/types/features/agent/chat/hooks/useFileProcessing.d.ts.map +1 -0
- package/lib/types/features/agent/chat/index.d.ts +12 -8
- package/lib/types/features/agent/chat/index.d.ts.map +1 -1
- package/lib/types/features/agent/chat/types/document.d.ts +5 -0
- package/lib/types/features/agent/chat/types/document.d.ts.map +1 -0
- package/lib/types/features/agent/index.d.ts +0 -2
- package/lib/types/features/agent/index.d.ts.map +1 -1
- package/lib/types/features/store/collections/BrowseCollectionView.d.ts.map +1 -1
- package/lib/types/features/store/objects/ExportPropertiesModal.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/PropertiesEditorModal.d.ts.map +1 -1
- package/lib/types/features/store/objects/components/index.d.ts +1 -1
- package/lib/types/features/store/objects/components/index.d.ts.map +1 -1
- package/lib/types/features/store/objects/components/useDownloadFile.d.ts +35 -0
- package/lib/types/features/store/objects/components/useDownloadFile.d.ts.map +1 -0
- package/lib/types/features/store/objects/search/DocumentSearchContext.d.ts.map +1 -1
- package/lib/types/features/store/objects/selection/SelectionActions.d.ts +1 -1
- package/lib/types/features/store/objects/selection/SelectionActions.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/ExportPropertiesAction.d.ts.map +1 -1
- package/lib/types/features/store/objects/upload/useSmartFileUploadProcessing.d.ts.map +1 -1
- package/lib/types/features/store/types/ObjectSchemaEditor.d.ts +2 -1
- package/lib/types/features/store/types/ObjectSchemaEditor.d.ts.map +1 -1
- package/lib/types/features/store/types/SelectContentTypeModal.d.ts +1 -1
- package/lib/types/features/store/types/SelectContentTypeModal.d.ts.map +1 -1
- package/lib/types/features/store/types/TableLayoutEditor.d.ts +2 -1
- package/lib/types/features/store/types/TableLayoutEditor.d.ts.map +1 -1
- package/lib/types/features/user/UserInfo.d.ts +12 -1
- package/lib/types/features/user/UserInfo.d.ts.map +1 -1
- package/lib/types/features/utils/print.d.ts.map +1 -1
- package/lib/types/layout/AppLayout.d.ts.map +1 -1
- package/lib/types/layout/Sidebar.d.ts +4 -2
- package/lib/types/layout/Sidebar.d.ts.map +1 -1
- package/lib/types/router/HistoryNavigator.d.ts.map +1 -1
- package/lib/types/router/Nav.d.ts +6 -1
- package/lib/types/router/Nav.d.ts.map +1 -1
- package/lib/types/session/UserSession.d.ts.map +1 -1
- package/lib/types/session/UserSessionProvider.d.ts +1 -0
- package/lib/types/session/UserSessionProvider.d.ts.map +1 -1
- package/lib/types/widgets/json-view/JSONCode.d.ts.map +1 -1
- package/lib/types/widgets/markdown/ArtifactContentRenderer.d.ts +10 -1
- package/lib/types/widgets/markdown/ArtifactContentRenderer.d.ts.map +1 -1
- package/lib/types/widgets/markdown/MarkdownFigure.d.ts +15 -0
- package/lib/types/widgets/markdown/MarkdownFigure.d.ts.map +1 -0
- package/lib/types/widgets/markdown/MarkdownRenderer.d.ts.map +1 -1
- package/lib/types/widgets/markdown/MermaidDiagram.d.ts.map +1 -1
- package/lib/types/widgets/markdown/codeBlockHandlers.d.ts +5 -2
- package/lib/types/widgets/markdown/codeBlockHandlers.d.ts.map +1 -1
- package/lib/types/widgets/markdown/index.d.ts +1 -0
- package/lib/types/widgets/markdown/index.d.ts.map +1 -1
- package/lib/types/widgets/markdown/normalizeCustomSchemeLinks.d.ts +9 -0
- package/lib/types/widgets/markdown/normalizeCustomSchemeLinks.d.ts.map +1 -0
- package/lib/types/widgets/markdown/normalizeDirectives.d.ts +20 -0
- package/lib/types/widgets/markdown/normalizeDirectives.d.ts.map +1 -0
- package/lib/types/widgets/markdown/remarkDirectiveHandler.d.ts +2 -0
- package/lib/types/widgets/markdown/remarkDirectiveHandler.d.ts.map +1 -0
- package/lib/types/widgets/monacoEditor/MonacoEditor.d.ts +1 -3
- package/lib/types/widgets/monacoEditor/MonacoEditor.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/vertesia-ui-core.js +1 -1
- package/lib/vertesia-ui-core.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-layout.js +1 -1
- package/lib/vertesia-ui-layout.js.map +1 -1
- package/lib/vertesia-ui-router.js +1 -1
- package/lib/vertesia-ui-router.js.map +1 -1
- package/lib/vertesia-ui-session.js +1 -1
- package/lib/vertesia-ui-session.js.map +1 -1
- package/lib/vertesia-ui-shell.js +1 -1
- package/lib/vertesia-ui-shell.js.map +1 -1
- package/lib/vertesia-ui-widgets.js +1 -1
- package/lib/vertesia-ui-widgets.js.map +1 -1
- package/package.json +14 -10
- package/src/core/components/InputList.tsx +1 -1
- package/src/core/components/Overlay.tsx +1 -1
- package/src/core/components/SidePanel.tsx +29 -15
- package/src/core/components/Switch.tsx +1 -1
- package/src/core/components/index.ts +0 -8
- package/src/core/components/shadcn/Panel.tsx +50 -0
- package/src/core/components/{Badge.tsx → shadcn/badge.tsx} +3 -3
- package/src/core/components/shadcn/command.tsx +1 -1
- package/src/core/components/shadcn/filters/filterBar.tsx +76 -87
- package/src/core/components/shadcn/index.ts +5 -3
- package/src/core/components/{ConfirmModal.tsx → shadcn/modal/ConfirmModal.tsx} +8 -8
- package/src/core/components/{DeleteModal.tsx → shadcn/modal/DeleteModal.tsx} +1 -1
- package/src/core/components/shadcn/{dialog.tsx → modal/dialog.tsx} +43 -32
- package/src/core/components/shadcn/modal/index.ts +3 -0
- package/src/core/components/shadcn/popover.tsx +4 -2
- package/src/core/components/shadcn/selectBox.tsx +71 -52
- package/src/core/components/shadcn/tabs.tsx +36 -19
- package/src/core/components/shadcn/textarea.tsx +43 -2
- package/src/core/components/shadcn/tooltip.tsx +23 -17
- package/src/features/agent/PayloadBuilder.tsx +70 -9
- package/src/features/agent/chat/AgentChart.tsx +46 -678
- package/src/features/agent/chat/AskUserWidget.tsx +4 -3
- package/src/features/agent/chat/DocumentPanel.tsx +120 -0
- package/src/features/agent/chat/DocumentTabBar.tsx +49 -0
- package/src/features/agent/chat/ModernAgentConversation.tsx +403 -549
- package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +162 -55
- package/src/features/agent/chat/ModernAgentOutput/BatchProgressPanel.tsx +40 -10
- package/src/features/agent/chat/ModernAgentOutput/Header.tsx +12 -16
- package/src/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.tsx +3 -3
- package/src/features/agent/chat/ModernAgentOutput/MessageInput.tsx +68 -75
- package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +206 -94
- package/src/features/agent/chat/ModernAgentOutput/StreamingMessage.tsx +22 -5
- package/src/features/agent/chat/ModernAgentOutput/ToolCallGroup.tsx +295 -113
- package/src/features/agent/chat/ModernAgentOutput/WorkstreamTabs.tsx +11 -8
- package/src/features/agent/chat/ModernAgentOutput/utils.ts +133 -4
- package/src/features/agent/chat/SkillWidgetProvider.tsx +32 -15
- package/src/features/agent/chat/hooks/useAgentPlans.ts +190 -0
- package/src/features/agent/chat/hooks/useAgentStream.ts +239 -0
- package/src/features/agent/chat/hooks/useDocumentPanel.ts +118 -0
- package/src/features/agent/chat/hooks/useFileProcessing.ts +126 -0
- package/src/features/agent/chat/index.ts +18 -17
- package/src/features/agent/chat/types/document.ts +4 -0
- package/src/features/agent/index.ts +0 -2
- package/src/features/store/collections/BrowseCollectionView.tsx +5 -8
- package/src/features/store/collections/CreateCollection.tsx +8 -8
- package/src/features/store/collections/EditCollectionView.tsx +1 -1
- package/src/features/store/objects/DocumentSearchResults.tsx +9 -13
- package/src/features/store/objects/ExportPropertiesModal.tsx +9 -7
- package/src/features/store/objects/components/ContentOverview.tsx +29 -155
- package/src/features/store/objects/components/PropertiesEditorModal.tsx +0 -1
- package/src/features/store/objects/components/SelectDocumentModal.tsx +6 -6
- package/src/features/store/objects/components/VectorSearchWidget.tsx +2 -2
- package/src/features/store/objects/components/index.ts +1 -1
- package/src/features/store/objects/components/useDownloadFile.ts +237 -0
- package/src/features/store/objects/search/DocumentSearchContext.ts +1 -2
- package/src/features/store/objects/selection/SelectionActions.tsx +0 -4
- package/src/features/store/objects/selection/actions/AddToCollectionAction.tsx +13 -13
- package/src/features/store/objects/selection/actions/ChangeTypeAction.tsx +2 -6
- package/src/features/store/objects/selection/actions/ExportPropertiesAction.tsx +1 -3
- package/src/features/store/objects/selection/actions/StartWorkflowComponent.tsx +8 -8
- package/src/features/store/objects/upload/DocumentUploadModal.tsx +25 -25
- package/src/features/store/objects/upload/useSmartFileUploadProcessing.ts +16 -10
- package/src/features/store/types/ObjectSchemaEditor.tsx +32 -29
- package/src/features/store/types/SelectContentType.tsx +3 -3
- package/src/features/store/types/SelectContentTypeModal.tsx +17 -30
- package/src/features/store/types/TableLayoutEditor.tsx +14 -18
- package/src/features/user/UserInfo.tsx +176 -10
- package/src/features/utils/print.ts +0 -1
- package/src/layout/AppLayout.tsx +16 -44
- package/src/layout/Sidebar.tsx +7 -5
- package/src/router/HistoryNavigator.ts +9 -1
- package/src/router/Nav.tsx +7 -2
- package/src/session/UserSession.ts +38 -9
- package/src/session/UserSessionProvider.tsx +3 -2
- package/src/shell/apps/AppProjectSelector.tsx +2 -2
- package/src/shell/apps/StandaloneApp.tsx +3 -3
- package/src/shell/login/InviteAcceptModal.tsx +6 -6
- package/src/shell/login/SignInModal.tsx +1 -1
- package/src/shell/login/SignupForm.tsx +3 -3
- package/src/shell/login/UserInfo.tsx +5 -5
- package/src/widgets/json-view/JSONCode.tsx +1 -3
- package/src/widgets/json-view/JSONDisplay.tsx +1 -1
- package/src/widgets/markdown/ArtifactContentRenderer.tsx +115 -14
- package/src/widgets/markdown/MarkdownFigure.tsx +100 -0
- package/src/widgets/markdown/MarkdownRenderer.tsx +62 -9
- package/src/widgets/markdown/MermaidDiagram.tsx +97 -5
- package/src/widgets/markdown/codeBlockHandlers.test.tsx +3 -34
- package/src/widgets/markdown/codeBlockHandlers.tsx +47 -42
- package/src/widgets/markdown/index.ts +1 -0
- package/src/widgets/markdown/markdown.css +192 -0
- package/src/widgets/markdown/normalizeCustomSchemeLinks.test.ts +86 -0
- package/src/widgets/markdown/normalizeCustomSchemeLinks.ts +91 -0
- package/src/widgets/markdown/normalizeDirectives.ts +50 -0
- package/src/widgets/markdown/remarkDirectiveHandler.ts +119 -0
- package/src/widgets/monacoEditor/MonacoEditor.tsx +8 -22
- package/src/widgets/schema-editor/ManagedSchema.ts +1 -1
- package/src/widgets/schema-editor/editor/PropertyEditor.tsx +5 -5
- package/src/widgets/schema-editor/json-schema4-utils.ts +1 -1
- package/lib/esm/core/components/Badge.js.map +0 -1
- package/lib/esm/core/components/Button.js +0 -32
- package/lib/esm/core/components/Button.js.map +0 -1
- package/lib/esm/core/components/ConfirmModal.js +0 -10
- package/lib/esm/core/components/ConfirmModal.js.map +0 -1
- package/lib/esm/core/components/DeleteModal.js.map +0 -1
- package/lib/esm/core/components/MessageBox.js.map +0 -1
- package/lib/esm/core/components/Modal.js +0 -26
- package/lib/esm/core/components/Modal.js.map +0 -1
- package/lib/esm/core/components/Panel.js +0 -8
- package/lib/esm/core/components/Panel.js.map +0 -1
- package/lib/esm/core/components/SelectBox.js +0 -67
- package/lib/esm/core/components/SelectBox.js.map +0 -1
- package/lib/esm/core/components/shadcn/dialog.js.map +0 -1
- package/lib/esm/core/components/tabs/Tabs.js +0 -78
- package/lib/esm/core/components/tabs/Tabs.js.map +0 -1
- package/lib/esm/core/components/tabs/TabsContext.js +0 -7
- package/lib/esm/core/components/tabs/TabsContext.js.map +0 -1
- package/lib/esm/core/components/tabs/index.js +0 -3
- package/lib/esm/core/components/tabs/index.js.map +0 -1
- package/lib/esm/features/agent/createChartTool.js +0 -632
- package/lib/esm/features/agent/createChartTool.js.map +0 -1
- package/lib/esm/features/agent/examples.js +0 -295
- package/lib/esm/features/agent/examples.js.map +0 -1
- package/lib/esm/features/agent/visualization.js +0 -165
- package/lib/esm/features/agent/visualization.js.map +0 -1
- package/lib/esm/features/store/objects/components/useDownloadObject.js +0 -21
- package/lib/esm/features/store/objects/components/useDownloadObject.js.map +0 -1
- package/lib/types/core/components/Badge.d.ts.map +0 -1
- package/lib/types/core/components/Button.d.ts +0 -14
- package/lib/types/core/components/Button.d.ts.map +0 -1
- package/lib/types/core/components/ConfirmModal.d.ts.map +0 -1
- package/lib/types/core/components/DeleteModal.d.ts.map +0 -1
- package/lib/types/core/components/MessageBox.d.ts.map +0 -1
- package/lib/types/core/components/Modal.d.ts +0 -30
- package/lib/types/core/components/Modal.d.ts.map +0 -1
- package/lib/types/core/components/Panel.d.ts.map +0 -1
- package/lib/types/core/components/SelectBox.d.ts +0 -36
- package/lib/types/core/components/SelectBox.d.ts.map +0 -1
- package/lib/types/core/components/shadcn/dialog.d.ts.map +0 -1
- package/lib/types/core/components/tabs/Tabs.d.ts +0 -25
- package/lib/types/core/components/tabs/Tabs.d.ts.map +0 -1
- package/lib/types/core/components/tabs/TabsContext.d.ts +0 -17
- package/lib/types/core/components/tabs/TabsContext.d.ts.map +0 -1
- package/lib/types/core/components/tabs/index.d.ts +0 -3
- package/lib/types/core/components/tabs/index.d.ts.map +0 -1
- package/lib/types/features/agent/createChartTool.d.ts +0 -178
- package/lib/types/features/agent/createChartTool.d.ts.map +0 -1
- package/lib/types/features/agent/examples.d.ts +0 -59
- package/lib/types/features/agent/examples.d.ts.map +0 -1
- package/lib/types/features/agent/visualization.d.ts +0 -95
- package/lib/types/features/agent/visualization.d.ts.map +0 -1
- package/lib/types/features/store/objects/components/useDownloadObject.d.ts +0 -4
- package/lib/types/features/store/objects/components/useDownloadObject.d.ts.map +0 -1
- package/src/core/components/Button.tsx +0 -63
- package/src/core/components/Modal.tsx +0 -144
- package/src/core/components/Panel.tsx +0 -34
- package/src/core/components/SelectBox.tsx +0 -188
- package/src/core/components/tabs/Tabs.tsx +0 -132
- package/src/core/components/tabs/TabsContext.ts +0 -25
- package/src/core/components/tabs/index.ts +0 -2
- package/src/features/agent/CHART_INSTRUCTIONS.md +0 -228
- package/src/features/agent/createChartTool.ts +0 -643
- package/src/features/agent/examples.ts +0 -321
- package/src/features/agent/visualization.ts +0 -227
- package/src/features/store/objects/components/useDownloadObject.ts +0 -29
- /package/lib/esm/core/components/{MessageBox.js → shadcn/MessageBox.js} +0 -0
- /package/lib/types/core/components/{MessageBox.d.ts → shadcn/MessageBox.d.ts} +0 -0
- /package/lib/types/core/components/{ConfirmModal.d.ts → shadcn/modal/ConfirmModal.d.ts} +0 -0
- /package/lib/types/core/components/{DeleteModal.d.ts → shadcn/modal/DeleteModal.d.ts} +0 -0
- /package/src/core/components/{MessageBox.tsx → shadcn/MessageBox.tsx} +0 -0
|
@@ -15,7 +15,7 @@ import { useEffect, useRef, useState } from "react";
|
|
|
15
15
|
import { useDocumentFilterGroups, useDocumentFilterHandler } from "../../facets/DocumentsFacetsNav";
|
|
16
16
|
import { ContentDispositionButton } from './components/ContentDispositionButton';
|
|
17
17
|
import { ContentOverview } from './components/ContentOverview';
|
|
18
|
-
import {
|
|
18
|
+
import { useDownloadFile } from './components/useDownloadFile';
|
|
19
19
|
import { VectorSearchWidget } from './components/VectorSearchWidget';
|
|
20
20
|
import { DocumentTable } from './DocumentTable';
|
|
21
21
|
import { ExtendedColumnLayout } from './layout/DocumentTableColumn';
|
|
@@ -301,11 +301,11 @@ function Toolsbar(props: ToolsbarProps) {
|
|
|
301
301
|
handleFilterChange,
|
|
302
302
|
handleVectorSearch,
|
|
303
303
|
handleRefetch,
|
|
304
|
-
setIsGridView
|
|
304
|
+
setIsGridView,
|
|
305
305
|
} = props;
|
|
306
306
|
|
|
307
307
|
return (
|
|
308
|
-
<div className="sticky top-0 z-10 bg-background py-2">
|
|
308
|
+
<div className="sticky top-0 z-10 bg-background py-2 flex justify-between items-center">
|
|
309
309
|
{
|
|
310
310
|
allowFilter && (
|
|
311
311
|
<FilterProvider
|
|
@@ -320,10 +320,6 @@ function Toolsbar(props: ToolsbarProps) {
|
|
|
320
320
|
}
|
|
321
321
|
<FilterBtn />
|
|
322
322
|
</div>
|
|
323
|
-
<div className="flex gap-1 items-center">
|
|
324
|
-
<Button variant="outline" onClick={handleRefetch} alt="Refresh"><RefreshCw size={16} /></Button>
|
|
325
|
-
<ContentDispositionButton onUpdate={setIsGridView} />
|
|
326
|
-
</div>
|
|
327
323
|
</div>
|
|
328
324
|
<div className="flex gap-2 items-center pt-2">
|
|
329
325
|
<FilterBar />
|
|
@@ -340,13 +336,13 @@ function Toolsbar(props: ToolsbarProps) {
|
|
|
340
336
|
allowSearch && <VectorSearchWidget onChange={handleVectorSearch} isLoading={isLoading} refresh={refreshTrigger} />
|
|
341
337
|
}
|
|
342
338
|
</div>
|
|
343
|
-
<div className="flex gap-1 items-center">
|
|
344
|
-
<Button variant="outline" onClick={handleRefetch} alt="Refresh"><RefreshCw size={16} /></Button>
|
|
345
|
-
<ContentDispositionButton onUpdate={setIsGridView} />
|
|
346
|
-
</div>
|
|
347
339
|
</div>
|
|
348
340
|
)
|
|
349
341
|
}
|
|
342
|
+
<div className="flex gap-1 items-center">
|
|
343
|
+
<Button variant="outline" onClick={handleRefetch} alt="Refresh"><RefreshCw size={16} /></Button>
|
|
344
|
+
<ContentDispositionButton onUpdate={setIsGridView} />
|
|
345
|
+
</div>
|
|
350
346
|
</div>
|
|
351
347
|
);
|
|
352
348
|
}
|
|
@@ -359,7 +355,7 @@ function OverviewDrawer({ object, onClose }: OverviewDrawerProps) {
|
|
|
359
355
|
const { store } = useUserSession();
|
|
360
356
|
const toast = useToast();
|
|
361
357
|
const navigate = useNavigate();
|
|
362
|
-
const
|
|
358
|
+
const { downloadFromContentSource } = useDownloadFile({ client: store, toast });
|
|
363
359
|
|
|
364
360
|
return object ? (
|
|
365
361
|
<SidePanel title={object.properties?.title || object.name} isOpen={true} onClose={onClose}>
|
|
@@ -368,7 +364,7 @@ function OverviewDrawer({ object, onClose }: OverviewDrawerProps) {
|
|
|
368
364
|
<ExternalLink className="size-4" />
|
|
369
365
|
</Button>
|
|
370
366
|
{object.content?.source && (
|
|
371
|
-
<Button variant="ghost" size="sm" title="Download" onClick={
|
|
367
|
+
<Button variant="ghost" size="sm" title="Download" onClick={() => downloadFromContentSource(object.content!.source!, object.name || object.content?.name)}>
|
|
372
368
|
<Download className="size-4" />
|
|
373
369
|
</Button>
|
|
374
370
|
)}
|
|
@@ -14,14 +14,16 @@ export function ExportPropertiesModal({ isExporting, isOpen, onClose }: ExportPr
|
|
|
14
14
|
const title = "Export Object Properties";
|
|
15
15
|
|
|
16
16
|
return (
|
|
17
|
-
<Modal onClose={() => onClose(undefined)} isOpen={isOpen}
|
|
17
|
+
<Modal onClose={() => onClose(undefined)} isOpen={isOpen}>
|
|
18
18
|
<ModalTitle>{title}</ModalTitle>
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
<ModalBody>
|
|
20
|
+
{!isExporting &&
|
|
21
|
+
<SelectPanel onClose={onClose} />
|
|
22
|
+
}
|
|
23
|
+
{isExporting &&
|
|
24
|
+
<WaitingPanel />
|
|
25
|
+
}
|
|
26
|
+
</ModalBody>
|
|
25
27
|
</Modal>
|
|
26
28
|
)
|
|
27
29
|
}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { memo, useEffect, useRef, useState, type RefObject } from "react";
|
|
2
2
|
|
|
3
|
+
import { AUDIO_RENDITION_NAME, AudioMetadata, ContentNature, ContentObject, ContentObjectStatus, DocAnalyzerProgress, DocProcessorOutputFormat, DocumentMetadata, ImageRenditionFormat, MarkdownRenditionFormat, PDF_RENDITION_NAME, POSTER_RENDITION_NAME, VideoMetadata, WorkflowExecutionStatus } from "@vertesia/common";
|
|
4
|
+
import { Button, Portal, ResizableHandle, ResizablePanel, ResizablePanelGroup, Spinner, useToast } from "@vertesia/ui/core";
|
|
5
|
+
import { NavLink } from "@vertesia/ui/router";
|
|
3
6
|
import { useUserSession } from "@vertesia/ui/session";
|
|
4
|
-
import { Button, Portal, ResizableHandle, ResizablePanel, ResizablePanelGroup, Spinner, useToast, VModal, VModalBody, VModalFooter, VModalTitle } from "@vertesia/ui/core";
|
|
5
7
|
import { JSONDisplay, MarkdownRenderer, Progress, XMLViewer } from "@vertesia/ui/widgets";
|
|
6
|
-
import {
|
|
7
|
-
import { Copy, Download, SquarePen, AlertTriangle, FileSearch } from "lucide-react";
|
|
8
|
-
import { isPreviewableAsPdf, printElementToPdf, getWorkflowStatusColor, getWorkflowStatusName } from "../../../utils/index.js";
|
|
9
|
-
import { PropertiesEditorModal } from "./PropertiesEditorModal";
|
|
10
|
-
import { NavLink } from "@vertesia/ui/router";
|
|
8
|
+
import { AlertTriangle, Copy, Download, FileSearch, SquarePen } from "lucide-react";
|
|
11
9
|
import { MagicPdfView } from "../../../magic-pdf";
|
|
12
10
|
import { SimplePdfViewer } from "../../../pdf-viewer";
|
|
13
|
-
import {
|
|
11
|
+
import { getWorkflowStatusColor, getWorkflowStatusName, isPreviewableAsPdf } from "../../../utils/index.js";
|
|
12
|
+
import { PropertiesEditorModal } from "./PropertiesEditorModal";
|
|
13
|
+
import { useObjectText, useOfficePdfConversion, usePdfProcessingStatus } from "./useContentPanelHooks.js";
|
|
14
|
+
import { useDownloadFile } from "./useDownloadFile.js";
|
|
14
15
|
|
|
15
16
|
// Web-supported image formats for browser display
|
|
16
17
|
const WEB_SUPPORTED_IMAGE_FORMATS = ['image/jpeg', 'image/jpg', 'image/png', 'image/gif', 'image/webp', 'image/svg+xml'];
|
|
@@ -533,14 +534,11 @@ function TextActions({
|
|
|
533
534
|
text,
|
|
534
535
|
fullText,
|
|
535
536
|
handleCopyContent,
|
|
536
|
-
textContainerRef,
|
|
537
537
|
}: TextActionsProps) {
|
|
538
538
|
const { client } = useUserSession();
|
|
539
539
|
const toast = useToast();
|
|
540
|
-
const [loadingFormat, setLoadingFormat] = useState<"docx" | "pdf" | null>(null);
|
|
541
|
-
const [isPdfModalOpen, setIsPdfModalOpen] = useState(false);
|
|
542
|
-
|
|
543
540
|
const content = object.content;
|
|
541
|
+
const { renderDocument, isDownloading } = useDownloadFile({ client, toast });
|
|
544
542
|
|
|
545
543
|
const isMarkdown =
|
|
546
544
|
content &&
|
|
@@ -550,137 +548,27 @@ function TextActions({
|
|
|
550
548
|
// Get content processor type for file extension detection
|
|
551
549
|
const contentProcessorType = getContentProcessorType(object);
|
|
552
550
|
|
|
553
|
-
const handleExportDocument = async (format:
|
|
551
|
+
const handleExportDocument = async (format: MarkdownRenditionFormat) => {
|
|
554
552
|
// Prevent multiple concurrent exports
|
|
555
|
-
if (
|
|
556
|
-
|
|
557
|
-
setLoadingFormat(format);
|
|
553
|
+
if (isDownloading) return;
|
|
558
554
|
|
|
559
555
|
// Show immediate feedback
|
|
560
556
|
toast({
|
|
561
557
|
status: "info",
|
|
562
558
|
title: `Preparing ${format.toUpperCase()}`,
|
|
563
|
-
description: "
|
|
559
|
+
description: "Rendering your document...",
|
|
564
560
|
duration: 2000,
|
|
565
561
|
});
|
|
566
562
|
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
format: format as any, // We're extending the format type
|
|
571
|
-
generate_if_missing: true,
|
|
572
|
-
sign_url: true,
|
|
573
|
-
});
|
|
574
|
-
|
|
575
|
-
if (response.status === "generating") {
|
|
576
|
-
toast({
|
|
577
|
-
status: "info",
|
|
578
|
-
title: "Generating document",
|
|
579
|
-
description: `Please wait while we prepare your ${format.toUpperCase()} file...`,
|
|
580
|
-
duration: 5000,
|
|
581
|
-
});
|
|
582
|
-
|
|
583
|
-
// Poll for completion
|
|
584
|
-
setTimeout(() => handleExportDocument(format), 3000);
|
|
585
|
-
return;
|
|
586
|
-
}
|
|
587
|
-
|
|
588
|
-
if (response.status === "failed") {
|
|
589
|
-
throw new Error("Document generation failed");
|
|
590
|
-
}
|
|
591
|
-
|
|
592
|
-
// Download the generated file or open in new window
|
|
593
|
-
if (response.renditions && response.renditions.length > 0) {
|
|
594
|
-
const downloadUrl = response.renditions[0];
|
|
595
|
-
|
|
596
|
-
if (format === 'pdf') {
|
|
597
|
-
// Open PDF in new window
|
|
598
|
-
window.open(downloadUrl, '_blank');
|
|
599
|
-
toast({
|
|
600
|
-
status: "success",
|
|
601
|
-
title: "PDF opened",
|
|
602
|
-
description: "PDF document opened in a new window",
|
|
603
|
-
duration: 2000,
|
|
604
|
-
});
|
|
605
|
-
} else {
|
|
606
|
-
// Download DOCX file
|
|
607
|
-
const link = document.createElement("a");
|
|
608
|
-
link.href = downloadUrl;
|
|
609
|
-
link.download = `${object.name || "document"}.${format}`;
|
|
610
|
-
document.body.appendChild(link);
|
|
611
|
-
link.click();
|
|
612
|
-
document.body.removeChild(link);
|
|
613
|
-
|
|
614
|
-
toast({
|
|
615
|
-
status: "success",
|
|
616
|
-
title: "Document exported",
|
|
617
|
-
description: `Successfully exported to ${format.toUpperCase()} format`,
|
|
618
|
-
duration: 2000,
|
|
619
|
-
});
|
|
620
|
-
}
|
|
621
|
-
}
|
|
622
|
-
} catch (err) {
|
|
623
|
-
console.error(`Failed to export document as ${format}:`, err);
|
|
624
|
-
toast({
|
|
625
|
-
status: "error",
|
|
626
|
-
title: "Export failed",
|
|
627
|
-
description: `Failed to export document to ${format.toUpperCase()} format`,
|
|
628
|
-
duration: 5000,
|
|
629
|
-
});
|
|
630
|
-
} finally {
|
|
631
|
-
setLoadingFormat(null);
|
|
632
|
-
}
|
|
633
|
-
};
|
|
634
|
-
|
|
635
|
-
const handleExportDocx = () => handleExportDocument("docx");
|
|
636
|
-
|
|
637
|
-
const handleClientPdfExport = () => {
|
|
638
|
-
if (!textContainerRef.current) {
|
|
639
|
-
toast({
|
|
640
|
-
status: "error",
|
|
641
|
-
title: "PDF export failed",
|
|
642
|
-
description: "No content available to export",
|
|
643
|
-
duration: 3000,
|
|
644
|
-
});
|
|
645
|
-
return;
|
|
646
|
-
}
|
|
647
|
-
setIsPdfModalOpen(true);
|
|
648
|
-
};
|
|
649
|
-
|
|
650
|
-
const handleConfirmClientPdfExport = () => {
|
|
651
|
-
if (!textContainerRef.current) {
|
|
652
|
-
toast({
|
|
653
|
-
status: "error",
|
|
654
|
-
title: "PDF export failed",
|
|
655
|
-
description: "No content available to export",
|
|
656
|
-
duration: 3000,
|
|
657
|
-
});
|
|
658
|
-
return;
|
|
659
|
-
}
|
|
660
|
-
|
|
661
|
-
const baseName = object.name || object.id;
|
|
662
|
-
const pdfTitle = `${baseName || "document"} - content`;
|
|
663
|
-
const success = printElementToPdf(textContainerRef.current, pdfTitle);
|
|
664
|
-
|
|
665
|
-
if (!success) {
|
|
666
|
-
toast({
|
|
667
|
-
status: "error",
|
|
668
|
-
title: "PDF export failed",
|
|
669
|
-
description: "Unable to open print preview",
|
|
670
|
-
duration: 4000,
|
|
671
|
-
});
|
|
672
|
-
return;
|
|
673
|
-
}
|
|
674
|
-
|
|
675
|
-
toast({
|
|
676
|
-
status: "success",
|
|
677
|
-
title: "PDF export ready",
|
|
678
|
-
description: "Use your browser's Print dialog to save as PDF",
|
|
679
|
-
duration: 4000,
|
|
563
|
+
await renderDocument(object.id, {
|
|
564
|
+
format,
|
|
565
|
+
title: object.name || "document",
|
|
680
566
|
});
|
|
681
|
-
setIsPdfModalOpen(false);
|
|
682
567
|
};
|
|
683
568
|
|
|
569
|
+
const handleExportDocx = () => handleExportDocument(MarkdownRenditionFormat.docx);
|
|
570
|
+
const handleExportPdf = () => handleExportDocument(MarkdownRenditionFormat.pdf);
|
|
571
|
+
|
|
684
572
|
const handleDownloadText = (e: React.MouseEvent) => {
|
|
685
573
|
e.preventDefault();
|
|
686
574
|
e.stopPropagation();
|
|
@@ -731,10 +619,10 @@ function TextActions({
|
|
|
731
619
|
variant="ghost"
|
|
732
620
|
size="sm"
|
|
733
621
|
onClick={handleExportDocx}
|
|
734
|
-
disabled={
|
|
622
|
+
disabled={isDownloading}
|
|
735
623
|
className="flex items-center gap-2"
|
|
736
624
|
>
|
|
737
|
-
{
|
|
625
|
+
{isDownloading ? (
|
|
738
626
|
<Spinner size="sm" />
|
|
739
627
|
) : (
|
|
740
628
|
<Download className="size-4" />
|
|
@@ -744,35 +632,21 @@ function TextActions({
|
|
|
744
632
|
<Button
|
|
745
633
|
variant="ghost"
|
|
746
634
|
size="sm"
|
|
747
|
-
onClick={
|
|
635
|
+
onClick={handleExportPdf}
|
|
636
|
+
disabled={isDownloading}
|
|
748
637
|
className="flex items-center gap-2"
|
|
749
638
|
>
|
|
750
|
-
|
|
639
|
+
{isDownloading ? (
|
|
640
|
+
<Spinner size="sm" />
|
|
641
|
+
) : (
|
|
642
|
+
<Download className="size-4" />
|
|
643
|
+
)}
|
|
751
644
|
PDF
|
|
752
645
|
</Button>
|
|
753
646
|
</>
|
|
754
647
|
)}
|
|
755
648
|
</div>
|
|
756
649
|
</div>
|
|
757
|
-
<VModal isOpen={isPdfModalOpen} onClose={() => setIsPdfModalOpen(false)}>
|
|
758
|
-
<VModalTitle>Export document as PDF</VModalTitle>
|
|
759
|
-
<VModalBody>
|
|
760
|
-
<p className="mb-2">
|
|
761
|
-
This will open your browser's print dialog with the current document content.
|
|
762
|
-
</p>
|
|
763
|
-
<p className="text-sm text-muted">
|
|
764
|
-
To save a PDF, choose "Save as PDF" or a similar option in the print dialog.
|
|
765
|
-
</p>
|
|
766
|
-
</VModalBody>
|
|
767
|
-
<VModalFooter align="right">
|
|
768
|
-
<Button variant="ghost" size="sm" onClick={() => setIsPdfModalOpen(false)}>
|
|
769
|
-
Cancel
|
|
770
|
-
</Button>
|
|
771
|
-
<Button size="sm" onClick={handleConfirmClientPdfExport}>
|
|
772
|
-
Open print dialog
|
|
773
|
-
</Button>
|
|
774
|
-
</VModalFooter>
|
|
775
|
-
</VModal>
|
|
776
650
|
</>
|
|
777
651
|
);
|
|
778
652
|
}
|
|
@@ -911,7 +785,7 @@ function VideoPanel({ object }: { object: ContentObject }) {
|
|
|
911
785
|
|
|
912
786
|
// Find mp4 or webm rendition by mime type, preferring mp4
|
|
913
787
|
const webRendition = renditions.find(r => r.content.type === 'video/mp4') ||
|
|
914
|
-
|
|
788
|
+
renditions.find(r => r.content.type === 'video/webm');
|
|
915
789
|
|
|
916
790
|
// Check if original file is web-compatible
|
|
917
791
|
const isOriginalWebSupported = content?.type && WEB_SUPPORTED_VIDEO_FORMATS.includes(content.type);
|
|
@@ -213,7 +213,6 @@ export function PropertiesEditorModal({ isOpen, onClose, object, refetch }: Prop
|
|
|
213
213
|
onChange={(update) => handleEditorChange(update.state.doc.toString())}
|
|
214
214
|
beforeMount={beforeMount}
|
|
215
215
|
theme={theme === 'dark' ? 'vs-dark' : 'vs'}
|
|
216
|
-
minLines={40}
|
|
217
216
|
/>
|
|
218
217
|
</div>
|
|
219
218
|
</ModalBody>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ContentObjectItem } from "@vertesia/common";
|
|
2
|
-
import {
|
|
2
|
+
import { Modal, ModalBody, ModalTitle } from "@vertesia/ui/core";
|
|
3
3
|
import { SelectDocument } from "./SelectDocument";
|
|
4
4
|
|
|
5
5
|
interface SelectDocumentModalProps {
|
|
@@ -10,11 +10,11 @@ interface SelectDocumentModalProps {
|
|
|
10
10
|
}
|
|
11
11
|
export function SelectDocumentModal({ isOpen, onClose }: SelectDocumentModalProps) {
|
|
12
12
|
return (
|
|
13
|
-
<
|
|
14
|
-
<
|
|
15
|
-
<
|
|
13
|
+
<Modal onClose={() => onClose()} isOpen={!!isOpen} className='min-w-[60vw]'>
|
|
14
|
+
<ModalTitle>Select Content</ModalTitle>
|
|
15
|
+
<ModalBody className='pt-0 overflow-y-auto max-h-[80vh] min-h-[80vh]'>
|
|
16
16
|
{isOpen && <SelectDocument onChange={onClose} />}
|
|
17
|
-
</
|
|
18
|
-
</
|
|
17
|
+
</ModalBody>
|
|
18
|
+
</Modal>
|
|
19
19
|
)
|
|
20
20
|
}
|
|
@@ -103,8 +103,8 @@ export function VectorSearchWidget({ onChange, isLoading, refresh, searchTypes }
|
|
|
103
103
|
};
|
|
104
104
|
|
|
105
105
|
return (
|
|
106
|
-
<div className="flex gap-1 items-center
|
|
107
|
-
<Input placeholder="Type what you are looking for, or select a filter" value={searchText} onChange={setSearchText} onKeyDown={handleKeyPress} />
|
|
106
|
+
<div className="flex gap-1 items-center">
|
|
107
|
+
<Input placeholder="Type what you are looking for, or select a filter" value={searchText} onChange={setSearchText} onKeyDown={handleKeyPress} className='min-w-[200px]' />
|
|
108
108
|
<Button variant="ghost" onClick={() => setShowSettings(true)} alt="Semantic search settings" className="ml-1"><Settings size={18} /></Button>
|
|
109
109
|
<Modal isOpen={showSettings} onClose={() => setShowSettings(false)}>
|
|
110
110
|
<ModalTitle>Search Types</ModalTitle>
|
|
@@ -4,6 +4,6 @@ export * from "./DocumentIcon"
|
|
|
4
4
|
export * from "./DocumentInput"
|
|
5
5
|
export * from "./SelectDocument"
|
|
6
6
|
export * from "./SelectDocumentModal"
|
|
7
|
-
export * from "./
|
|
7
|
+
export * from "./useDownloadFile"
|
|
8
8
|
export * from "./PropertiesEditorModal"
|
|
9
9
|
export * from "./SaveVersionConfirmModal"
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import { VertesiaClient, ZenoClient } from "@vertesia/client";
|
|
2
|
+
import { MarkdownRenditionFormat, RenderMarkdownPayload } from "@vertesia/common";
|
|
3
|
+
import { useCallback, useState } from "react";
|
|
4
|
+
import { ToastFn } from "@vertesia/ui/core";
|
|
5
|
+
|
|
6
|
+
export interface UseDownloadFileOptions {
|
|
7
|
+
client: VertesiaClient | ZenoClient;
|
|
8
|
+
toast: ToastFn;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface RenderAndDownloadOptions {
|
|
12
|
+
/** Format to render to */
|
|
13
|
+
format: MarkdownRenditionFormat;
|
|
14
|
+
/** Title for the document */
|
|
15
|
+
title?: string;
|
|
16
|
+
/** Artifact run ID for resolving artifact URLs in content */
|
|
17
|
+
artifactRunId?: string;
|
|
18
|
+
/** Additional Pandoc options */
|
|
19
|
+
pandocOptions?: string[];
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export interface UseDownloadFileResult {
|
|
23
|
+
/** Download a file from a content source URI (gs:// or file path) via the files API */
|
|
24
|
+
downloadFromContentSource: (uri: string, filename?: string) => Promise<void>;
|
|
25
|
+
/** Download a file from a direct URL (already signed or public) */
|
|
26
|
+
downloadFromUrl: (url: string, filename?: string) => void;
|
|
27
|
+
/** Render a document by objectId to PDF/DOCX and download the result */
|
|
28
|
+
renderDocument: (objectId: string, options: RenderAndDownloadOptions) => Promise<void>;
|
|
29
|
+
/** Render markdown content to PDF/DOCX and download the result */
|
|
30
|
+
renderContent: (content: string, options: RenderAndDownloadOptions) => Promise<void>;
|
|
31
|
+
/** Whether a download is currently in progress */
|
|
32
|
+
isDownloading: boolean;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Hook for downloading files from various sources.
|
|
37
|
+
* Handles GCS URIs (via client.files API), direct URLs, and markdown rendering.
|
|
38
|
+
*/
|
|
39
|
+
export function useDownloadFile({ client, toast }: UseDownloadFileOptions): UseDownloadFileResult {
|
|
40
|
+
const [isDownloading, setIsDownloading] = useState(false);
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Download a file from a content source URI using the files API to get a signed URL.
|
|
44
|
+
*/
|
|
45
|
+
const downloadFromContentSource = useCallback(async (uri: string, filename?: string) => {
|
|
46
|
+
if (!uri) return;
|
|
47
|
+
|
|
48
|
+
setIsDownloading(true);
|
|
49
|
+
try {
|
|
50
|
+
const result = await client.files.getDownloadUrlWithOptions({
|
|
51
|
+
file: uri,
|
|
52
|
+
name: filename
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
// Trigger download
|
|
56
|
+
triggerDownload(result.url, filename);
|
|
57
|
+
} catch (err) {
|
|
58
|
+
toast({
|
|
59
|
+
status: "error",
|
|
60
|
+
title: "Download failed",
|
|
61
|
+
description: err instanceof Error ? err.message : "Failed to get download URL",
|
|
62
|
+
duration: 5000,
|
|
63
|
+
});
|
|
64
|
+
} finally {
|
|
65
|
+
setIsDownloading(false);
|
|
66
|
+
}
|
|
67
|
+
}, [client, toast]);
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Download a file from a direct URL (already signed or public).
|
|
71
|
+
*/
|
|
72
|
+
const downloadFromUrl = useCallback((url: string, filename?: string) => {
|
|
73
|
+
if (!url) return;
|
|
74
|
+
triggerDownload(url, filename);
|
|
75
|
+
}, []);
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Internal helper to handle the render result and trigger download.
|
|
79
|
+
*/
|
|
80
|
+
const handleRenderResult = useCallback(async (
|
|
81
|
+
payload: RenderMarkdownPayload,
|
|
82
|
+
filename: string
|
|
83
|
+
) => {
|
|
84
|
+
// Get the store client (ZenoClient has rendering, VertesiaClient has store.rendering)
|
|
85
|
+
const storeClient = 'store' in client ? client.store : client;
|
|
86
|
+
|
|
87
|
+
const rendition = await storeClient.rendering.render(payload);
|
|
88
|
+
|
|
89
|
+
// Use download_url if available (direct signed URL), otherwise fall back to file_uri
|
|
90
|
+
if (rendition.download_url) {
|
|
91
|
+
triggerDownload(rendition.download_url, filename);
|
|
92
|
+
} else if (rendition.file_uri) {
|
|
93
|
+
const result = await client.files.getDownloadUrlWithOptions({
|
|
94
|
+
file: rendition.file_uri,
|
|
95
|
+
name: filename
|
|
96
|
+
});
|
|
97
|
+
triggerDownload(result.url, filename);
|
|
98
|
+
} else {
|
|
99
|
+
throw new Error("No download URL or file URI in response");
|
|
100
|
+
}
|
|
101
|
+
}, [client]);
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Render a document by objectId and download the result.
|
|
105
|
+
*/
|
|
106
|
+
const renderDocument = useCallback(async (
|
|
107
|
+
objectId: string,
|
|
108
|
+
options: RenderAndDownloadOptions
|
|
109
|
+
) => {
|
|
110
|
+
setIsDownloading(true);
|
|
111
|
+
try {
|
|
112
|
+
const filename = `${options.title || "document"}.${options.format}`;
|
|
113
|
+
|
|
114
|
+
await handleRenderResult({
|
|
115
|
+
object_id: objectId,
|
|
116
|
+
format: options.format,
|
|
117
|
+
title: options.title,
|
|
118
|
+
pandoc_options: options.pandocOptions,
|
|
119
|
+
}, filename);
|
|
120
|
+
|
|
121
|
+
toast({
|
|
122
|
+
status: "success",
|
|
123
|
+
title: "Document exported",
|
|
124
|
+
description: `Successfully exported to ${options.format.toUpperCase()}`,
|
|
125
|
+
duration: 2000,
|
|
126
|
+
});
|
|
127
|
+
} catch (err) {
|
|
128
|
+
toast({
|
|
129
|
+
status: "error",
|
|
130
|
+
title: "Export failed",
|
|
131
|
+
description: err instanceof Error ? err.message : "Failed to export document",
|
|
132
|
+
duration: 5000,
|
|
133
|
+
});
|
|
134
|
+
} finally {
|
|
135
|
+
setIsDownloading(false);
|
|
136
|
+
}
|
|
137
|
+
}, [handleRenderResult, toast]);
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Render markdown content and download the result.
|
|
141
|
+
*/
|
|
142
|
+
const renderContent = useCallback(async (
|
|
143
|
+
content: string,
|
|
144
|
+
options: RenderAndDownloadOptions
|
|
145
|
+
) => {
|
|
146
|
+
setIsDownloading(true);
|
|
147
|
+
try {
|
|
148
|
+
const filename = `${options.title || "export"}.${options.format}`;
|
|
149
|
+
|
|
150
|
+
await handleRenderResult({
|
|
151
|
+
content,
|
|
152
|
+
format: options.format,
|
|
153
|
+
title: options.title,
|
|
154
|
+
artifact_run_id: options.artifactRunId,
|
|
155
|
+
pandoc_options: options.pandocOptions,
|
|
156
|
+
}, filename);
|
|
157
|
+
|
|
158
|
+
toast({
|
|
159
|
+
status: "success",
|
|
160
|
+
title: "Content exported",
|
|
161
|
+
description: `Successfully exported to ${options.format.toUpperCase()}`,
|
|
162
|
+
duration: 2000,
|
|
163
|
+
});
|
|
164
|
+
} catch (err) {
|
|
165
|
+
toast({
|
|
166
|
+
status: "error",
|
|
167
|
+
title: "Export failed",
|
|
168
|
+
description: err instanceof Error ? err.message : "Failed to export content",
|
|
169
|
+
duration: 5000,
|
|
170
|
+
});
|
|
171
|
+
} finally {
|
|
172
|
+
setIsDownloading(false);
|
|
173
|
+
}
|
|
174
|
+
}, [handleRenderResult, toast]);
|
|
175
|
+
|
|
176
|
+
return {
|
|
177
|
+
downloadFromContentSource,
|
|
178
|
+
downloadFromUrl,
|
|
179
|
+
renderDocument,
|
|
180
|
+
renderContent,
|
|
181
|
+
isDownloading,
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Trigger a file download in the browser.
|
|
187
|
+
* Attempts to fetch and create a blob for proper filename control.
|
|
188
|
+
* Falls back to direct link if CORS blocks the fetch.
|
|
189
|
+
*/
|
|
190
|
+
function triggerDownload(url: string, filename?: string): void {
|
|
191
|
+
// Try to fetch and create blob for proper filename control
|
|
192
|
+
fetch(url)
|
|
193
|
+
.then(response => {
|
|
194
|
+
if (!response.ok) throw new Error(`HTTP ${response.status}`);
|
|
195
|
+
return response.blob();
|
|
196
|
+
})
|
|
197
|
+
.then(blob => {
|
|
198
|
+
const blobUrl = URL.createObjectURL(blob);
|
|
199
|
+
const a = document.createElement("a");
|
|
200
|
+
a.href = blobUrl;
|
|
201
|
+
a.download = filename || getFilenameFromUrl(url);
|
|
202
|
+
a.style.display = "none";
|
|
203
|
+
document.body.appendChild(a);
|
|
204
|
+
a.click();
|
|
205
|
+
setTimeout(() => {
|
|
206
|
+
document.body.removeChild(a);
|
|
207
|
+
URL.revokeObjectURL(blobUrl);
|
|
208
|
+
}, 100);
|
|
209
|
+
})
|
|
210
|
+
.catch(() => {
|
|
211
|
+
// CORS or fetch failed - fall back to direct link download
|
|
212
|
+
const a = document.createElement("a");
|
|
213
|
+
a.href = url;
|
|
214
|
+
a.download = filename || getFilenameFromUrl(url);
|
|
215
|
+
a.target = "_blank";
|
|
216
|
+
a.rel = "noopener noreferrer";
|
|
217
|
+
a.style.display = "none";
|
|
218
|
+
document.body.appendChild(a);
|
|
219
|
+
a.click();
|
|
220
|
+
setTimeout(() => {
|
|
221
|
+
document.body.removeChild(a);
|
|
222
|
+
}, 100);
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Extract filename from URL path.
|
|
228
|
+
*/
|
|
229
|
+
function getFilenameFromUrl(url: string): string {
|
|
230
|
+
try {
|
|
231
|
+
const pathname = new URL(url).pathname;
|
|
232
|
+
const segments = pathname.split("/");
|
|
233
|
+
return segments[segments.length - 1] || "download";
|
|
234
|
+
} catch {
|
|
235
|
+
return "download";
|
|
236
|
+
}
|
|
237
|
+
}
|
|
@@ -61,7 +61,7 @@ export class DocumentSearch implements SearchInterface {
|
|
|
61
61
|
|
|
62
62
|
clearFilters(autoSearch: boolean = true) {
|
|
63
63
|
// Preserve search-related fields when clearing filters
|
|
64
|
-
const { parent, full_text, vector, weights, score_aggregation, dynamic_scaling, limit
|
|
64
|
+
const { parent, full_text, vector, weights, score_aggregation, dynamic_scaling, limit } = this.query;
|
|
65
65
|
this.query = {
|
|
66
66
|
parent,
|
|
67
67
|
...(full_text !== undefined && { full_text }),
|
|
@@ -69,7 +69,6 @@ export class DocumentSearch implements SearchInterface {
|
|
|
69
69
|
...(weights !== undefined && { weights }),
|
|
70
70
|
...(score_aggregation !== undefined && { score_aggregation }),
|
|
71
71
|
...(dynamic_scaling !== undefined && { dynamic_scaling }),
|
|
72
|
-
...(all_revisions !== undefined && { all_revisions }),
|
|
73
72
|
...(limit !== undefined && { limit })
|
|
74
73
|
};
|
|
75
74
|
|