@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
|
@@ -56,9 +56,6 @@ function ActionsWrapper({ }: ActionsWrapperProps) {
|
|
|
56
56
|
export function UploadObjectsButton({ collectionId, allowFolders = true }: { collectionId?: string, allowFolders?: boolean }) {
|
|
57
57
|
const [files, setFiles] = useState<File[]>([]);
|
|
58
58
|
const [isOpen, setIsOpen] = useState(false);
|
|
59
|
-
const selection = useDocumentSelection();
|
|
60
|
-
|
|
61
|
-
const hasSelection = selection?.hasSelection();
|
|
62
59
|
|
|
63
60
|
const onClose = () => {
|
|
64
61
|
setIsOpen(false);
|
|
@@ -66,7 +63,6 @@ export function UploadObjectsButton({ collectionId, allowFolders = true }: { col
|
|
|
66
63
|
}
|
|
67
64
|
|
|
68
65
|
return (
|
|
69
|
-
!hasSelection &&
|
|
70
66
|
<>
|
|
71
67
|
<Button onClick={() => setIsOpen(true)}>Upload</Button>
|
|
72
68
|
<DocumentUploadModal
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Button, DialogDescription, Heading, Portal, useToast,
|
|
1
|
+
import { Button, DialogDescription, Heading, Portal, useToast, Modal, ModalBody, ModalFooter, ModalTitle, Tabs, TabsBar, TabsPanel } from "@vertesia/ui/core";
|
|
2
2
|
import { useUserSession } from "@vertesia/ui/session";
|
|
3
3
|
import { useCallback, useState } from "react";
|
|
4
4
|
import { CreateCollectionForm, SelectCollection } from "../../../collections";
|
|
@@ -41,17 +41,17 @@ interface SelectCollectionModalProps {
|
|
|
41
41
|
}
|
|
42
42
|
function SelectCollectionModal({ isOpen, onClose, objectIds }: SelectCollectionModalProps) {
|
|
43
43
|
return (
|
|
44
|
-
<
|
|
45
|
-
<
|
|
44
|
+
<Modal isOpen={isOpen} onClose={onClose} className="max-w-lg w-full min-w-0 overflow-hidden">
|
|
45
|
+
<ModalTitle className="flex flex-col min-w-0 overflow-hidden">
|
|
46
46
|
Add to a Collection
|
|
47
|
-
</
|
|
47
|
+
</ModalTitle>
|
|
48
48
|
<DialogDescription className="min-w-0 overflow-hidden">
|
|
49
49
|
Add the selected objects to an existing collection or create a new one.
|
|
50
50
|
</DialogDescription>
|
|
51
51
|
<div className="min-w-0 max-w-full overflow-hidden">
|
|
52
52
|
<AddToCollectionForm onClose={onClose} objectIds={objectIds} />
|
|
53
53
|
</div>
|
|
54
|
-
</
|
|
54
|
+
</Modal>
|
|
55
55
|
)
|
|
56
56
|
}
|
|
57
57
|
|
|
@@ -102,19 +102,19 @@ function AddToCollectionForm({ onClose, objectIds }: AddToCollectionFormProps) {
|
|
|
102
102
|
content: (
|
|
103
103
|
<div className="p-4 min-w-0 max-w-full overflow-hidden">
|
|
104
104
|
<Heading level={5}>Choose from existing collections</Heading>
|
|
105
|
-
<
|
|
105
|
+
<ModalBody className="min-w-0 max-w-full overflow-hidden">
|
|
106
106
|
<div className="mb-4 min-w-0 max-w-full overflow-hidden">
|
|
107
107
|
<SelectCollection onChange={onCollectionChange} value={selectedCollectionId} />
|
|
108
108
|
</div>
|
|
109
|
-
</
|
|
110
|
-
<
|
|
109
|
+
</ModalBody>
|
|
110
|
+
<ModalFooter>
|
|
111
111
|
<Button
|
|
112
112
|
isDisabled={!selectedCollectionId}
|
|
113
113
|
onClick={() => selectedCollectionId && onAddToCollection({ collectionId: selectedCollectionId })}
|
|
114
114
|
>
|
|
115
115
|
Add to Collection
|
|
116
116
|
</Button>
|
|
117
|
-
</
|
|
117
|
+
</ModalFooter>
|
|
118
118
|
</div>
|
|
119
119
|
)
|
|
120
120
|
},
|
|
@@ -129,9 +129,9 @@ function AddToCollectionForm({ onClose, objectIds }: AddToCollectionFormProps) {
|
|
|
129
129
|
];
|
|
130
130
|
|
|
131
131
|
return (
|
|
132
|
-
<
|
|
133
|
-
<
|
|
134
|
-
<
|
|
135
|
-
</
|
|
132
|
+
<Tabs defaultValue="select" tabs={tabs} fullWidth>
|
|
133
|
+
<TabsBar />
|
|
134
|
+
<TabsPanel />
|
|
135
|
+
</Tabs>
|
|
136
136
|
)
|
|
137
137
|
}
|
|
@@ -56,12 +56,8 @@ export function ChangeTypeActionComponent({ action, objectIds, children }: Actio
|
|
|
56
56
|
title="Change Content Type"
|
|
57
57
|
confirmLabel="Change Type"
|
|
58
58
|
>
|
|
59
|
-
<
|
|
60
|
-
|
|
61
|
-
or let the system choose or generate a type based on the content.</p>
|
|
62
|
-
<p className="pt-2 text-xs">Note: This action will raise the <code>change_type</code> event and will trigger the standard intake workflows
|
|
63
|
-
which may reset the object properties.</p>
|
|
64
|
-
</div>
|
|
59
|
+
<p className="pt-2 text-xs">Note: This action will raise the <code>change_type</code> event and will trigger the standard intake workflows
|
|
60
|
+
which may reset the object properties.</p>
|
|
65
61
|
</SelectContentTypeModal>
|
|
66
62
|
</div>
|
|
67
63
|
)
|
|
@@ -102,9 +102,7 @@ export function ExportPropertiesComponent({ action, objectIds }: ActionComponent
|
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
return (
|
|
105
|
-
<
|
|
106
|
-
<ExportPropertiesModal isExporting={isExporting} isOpen={isOpen} onClose={onExportType} />
|
|
107
|
-
</div>
|
|
105
|
+
<ExportPropertiesModal isExporting={isExporting} isOpen={isOpen} onClose={onExportType} />
|
|
108
106
|
)
|
|
109
107
|
}
|
|
110
108
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useUserSession } from "@vertesia/ui/session";
|
|
2
|
-
import { Button,
|
|
2
|
+
import { Button, Modal, ModalBody, ModalFooter, ModalTitle, SelectList, useToast } from "@vertesia/ui/core";
|
|
3
3
|
import { useCallback, useState } from "react";
|
|
4
4
|
import { useObjectsActionCallback, useObjectsActionContext } from "../ObjectsActionContext";
|
|
5
5
|
import { ActionComponentTypeProps, ObjectsActionSpec } from "../ObjectsActionSpec";
|
|
@@ -60,10 +60,10 @@ interface StartWorkflowModalProps {
|
|
|
60
60
|
}
|
|
61
61
|
function StartWorkflowModal({ isOpen, onClose }: StartWorkflowModalProps) {
|
|
62
62
|
return (
|
|
63
|
-
<
|
|
64
|
-
<
|
|
63
|
+
<Modal onClose={() => onClose(undefined)} isOpen={isOpen} className="">
|
|
64
|
+
<ModalTitle>Start a Workflow by Rule</ModalTitle>
|
|
65
65
|
<StartWorkflowBody onClose={onClose} />
|
|
66
|
-
</
|
|
66
|
+
</Modal>
|
|
67
67
|
);
|
|
68
68
|
}
|
|
69
69
|
|
|
@@ -98,7 +98,7 @@ function StartWorkflowBody({ onClose }: StartWorkflowBodyProps) {
|
|
|
98
98
|
|
|
99
99
|
return (
|
|
100
100
|
<div>
|
|
101
|
-
<
|
|
101
|
+
<ModalBody>
|
|
102
102
|
<div className="pb-2">Choose a workflow rule to start:</div>
|
|
103
103
|
<div className="max-h-[420px] overflow-y-scroll border-border border rounded-md">
|
|
104
104
|
<SelectList
|
|
@@ -108,15 +108,15 @@ function StartWorkflowBody({ onClose }: StartWorkflowBodyProps) {
|
|
|
108
108
|
value={selected}
|
|
109
109
|
/>
|
|
110
110
|
</div>
|
|
111
|
-
</
|
|
112
|
-
<
|
|
111
|
+
</ModalBody>
|
|
112
|
+
<ModalFooter>
|
|
113
113
|
<Button variant="secondary" onClick={() => onClose()}>
|
|
114
114
|
Cancel
|
|
115
115
|
</Button>
|
|
116
116
|
<Button onClick={onStart} isDisabled={!selected}>
|
|
117
117
|
Start
|
|
118
118
|
</Button>
|
|
119
|
-
</
|
|
119
|
+
</ModalFooter>
|
|
120
120
|
</div>
|
|
121
121
|
);
|
|
122
122
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Collection, ContentObjectTypeItem, DynamicCollection } from "@vertesia/common";
|
|
2
|
-
import { Button, MessageBox,
|
|
2
|
+
import { Button, MessageBox, Modal, ModalBody, ModalFooter, ModalTitle, SelectBox, Spinner, useToast, VTooltip } from "@vertesia/ui/core";
|
|
3
3
|
import { useUserSession } from "@vertesia/ui/session";
|
|
4
4
|
import { DropZone, UploadSummary } from '@vertesia/ui/widgets';
|
|
5
5
|
import { AlertCircleIcon, CheckCircleIcon, FileIcon, FolderIcon, Info, UploadIcon, XCircleIcon } from "lucide-react";
|
|
@@ -567,7 +567,7 @@ export function DocumentUploadModal({
|
|
|
567
567
|
<Info className="size-3 ml-2" />
|
|
568
568
|
</VTooltip>
|
|
569
569
|
</label>
|
|
570
|
-
<
|
|
570
|
+
<SelectBox
|
|
571
571
|
options={types}
|
|
572
572
|
value={selectedType}
|
|
573
573
|
optionLabel={(type) => (type ? type.name : "Select a content type")}
|
|
@@ -601,7 +601,7 @@ export function DocumentUploadModal({
|
|
|
601
601
|
// When showing only type selection, skip directly to the type selection UI
|
|
602
602
|
if (showTypeSelectionOnly) {
|
|
603
603
|
return (
|
|
604
|
-
<
|
|
604
|
+
<ModalBody>
|
|
605
605
|
{children}
|
|
606
606
|
|
|
607
607
|
{/* Collection and folder information if available */}
|
|
@@ -609,14 +609,14 @@ export function DocumentUploadModal({
|
|
|
609
609
|
|
|
610
610
|
{/* Type selection */}
|
|
611
611
|
{typeSelection()}
|
|
612
|
-
</
|
|
612
|
+
</ModalBody>
|
|
613
613
|
);
|
|
614
614
|
}
|
|
615
615
|
|
|
616
616
|
// Step 1: File selection #todo: update styles
|
|
617
617
|
if (files.length === 0 && !hideFileSelection) {
|
|
618
618
|
return (
|
|
619
|
-
<
|
|
619
|
+
<ModalBody className="flex flex-col items-center justify-center p-8">
|
|
620
620
|
{/* Collection and folder information if available */}
|
|
621
621
|
{renderLocationInfo()}
|
|
622
622
|
|
|
@@ -628,14 +628,14 @@ export function DocumentUploadModal({
|
|
|
628
628
|
allowFolders={allowFolders}
|
|
629
629
|
/>
|
|
630
630
|
{children}
|
|
631
|
-
</
|
|
631
|
+
</ModalBody>
|
|
632
632
|
);
|
|
633
633
|
}
|
|
634
634
|
|
|
635
635
|
// Step 2: File processing and type selection
|
|
636
636
|
if (!isUploading && !uploadComplete) {
|
|
637
637
|
return (
|
|
638
|
-
<
|
|
638
|
+
<ModalBody>
|
|
639
639
|
{!processingDone ? (
|
|
640
640
|
// File processing in progress
|
|
641
641
|
<div className="flex flex-col items-center justify-center py-4">
|
|
@@ -707,14 +707,14 @@ export function DocumentUploadModal({
|
|
|
707
707
|
|
|
708
708
|
</>
|
|
709
709
|
)}
|
|
710
|
-
</
|
|
710
|
+
</ModalBody>
|
|
711
711
|
);
|
|
712
712
|
}
|
|
713
713
|
|
|
714
714
|
// Step 3: Upload in progress #todo: update styles
|
|
715
715
|
if (isUploading) {
|
|
716
716
|
return (
|
|
717
|
-
<
|
|
717
|
+
<ModalBody>
|
|
718
718
|
{/* Collection and folder information if available */}
|
|
719
719
|
{renderLocationInfo()}
|
|
720
720
|
|
|
@@ -762,13 +762,13 @@ export function DocumentUploadModal({
|
|
|
762
762
|
</div>
|
|
763
763
|
))}
|
|
764
764
|
</div>
|
|
765
|
-
</
|
|
765
|
+
</ModalBody>
|
|
766
766
|
);
|
|
767
767
|
}
|
|
768
768
|
|
|
769
769
|
// Step 4: Upload complete, show results
|
|
770
770
|
return (
|
|
771
|
-
<
|
|
771
|
+
<ModalBody>
|
|
772
772
|
<div className="mb-4">
|
|
773
773
|
{/* Collection and folder information if available */}
|
|
774
774
|
{renderLocationInfo()}
|
|
@@ -800,7 +800,7 @@ export function DocumentUploadModal({
|
|
|
800
800
|
collection={collectionData?.name}
|
|
801
801
|
/>
|
|
802
802
|
</div>
|
|
803
|
-
</
|
|
803
|
+
</ModalBody>
|
|
804
804
|
);
|
|
805
805
|
};
|
|
806
806
|
|
|
@@ -808,7 +808,7 @@ export function DocumentUploadModal({
|
|
|
808
808
|
// Type-selection-only mode
|
|
809
809
|
if (showTypeSelectionOnly) {
|
|
810
810
|
return (
|
|
811
|
-
<
|
|
811
|
+
<ModalFooter>
|
|
812
812
|
<Button variant="ghost" onClick={handleClose}>
|
|
813
813
|
Cancel
|
|
814
814
|
</Button>
|
|
@@ -837,18 +837,18 @@ export function DocumentUploadModal({
|
|
|
837
837
|
>
|
|
838
838
|
{selectedType ? `Use ${selectedType.name}` : "Use Automatic Type Detection"}
|
|
839
839
|
</Button>
|
|
840
|
-
</
|
|
840
|
+
</ModalFooter>
|
|
841
841
|
);
|
|
842
842
|
}
|
|
843
843
|
|
|
844
844
|
// File selection step - only show cancel
|
|
845
845
|
if (files.length === 0 && !hideFileSelection) {
|
|
846
846
|
return (
|
|
847
|
-
<
|
|
847
|
+
<ModalFooter>
|
|
848
848
|
<Button variant="ghost" onClick={handleClose}>
|
|
849
849
|
Cancel
|
|
850
850
|
</Button>
|
|
851
|
-
</
|
|
851
|
+
</ModalFooter>
|
|
852
852
|
);
|
|
853
853
|
}
|
|
854
854
|
|
|
@@ -858,7 +858,7 @@ export function DocumentUploadModal({
|
|
|
858
858
|
const canUpload = processingDone;
|
|
859
859
|
|
|
860
860
|
return (
|
|
861
|
-
<
|
|
861
|
+
<ModalFooter>
|
|
862
862
|
<Button variant="ghost" onClick={handleClose}>
|
|
863
863
|
Cancel
|
|
864
864
|
</Button>
|
|
@@ -870,24 +870,24 @@ export function DocumentUploadModal({
|
|
|
870
870
|
? "Upload"
|
|
871
871
|
: "Continue"}
|
|
872
872
|
</Button>
|
|
873
|
-
</
|
|
873
|
+
</ModalFooter>
|
|
874
874
|
);
|
|
875
875
|
}
|
|
876
876
|
|
|
877
877
|
// Upload in progress - can't cancel
|
|
878
878
|
if (isUploading) {
|
|
879
879
|
return (
|
|
880
|
-
<
|
|
880
|
+
<ModalFooter>
|
|
881
881
|
<Button variant="ghost" disabled>
|
|
882
882
|
Uploading...
|
|
883
883
|
</Button>
|
|
884
|
-
</
|
|
884
|
+
</ModalFooter>
|
|
885
885
|
);
|
|
886
886
|
}
|
|
887
887
|
|
|
888
888
|
// Upload complete - close or upload more
|
|
889
889
|
return (
|
|
890
|
-
<
|
|
890
|
+
<ModalFooter>
|
|
891
891
|
<Button
|
|
892
892
|
variant="ghost"
|
|
893
893
|
onClick={() => {
|
|
@@ -913,15 +913,15 @@ export function DocumentUploadModal({
|
|
|
913
913
|
}}>
|
|
914
914
|
Close
|
|
915
915
|
</Button>
|
|
916
|
-
</
|
|
916
|
+
</ModalFooter>
|
|
917
917
|
);
|
|
918
918
|
};
|
|
919
919
|
|
|
920
920
|
return (
|
|
921
|
-
<
|
|
922
|
-
<
|
|
921
|
+
<Modal key={modalKey} isOpen={isOpen} onClose={handleClose} className="mx-auto" disableCloseOnClickOutside>
|
|
922
|
+
<ModalTitle description={_description}>{_title}</ModalTitle>
|
|
923
923
|
{renderModalContent()}
|
|
924
924
|
{renderModalFooter()}
|
|
925
|
-
</
|
|
925
|
+
</Modal>
|
|
926
926
|
);
|
|
927
927
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ComplexSearchPayload, ContentObjectItem } from "@vertesia/common";
|
|
1
|
+
import { ComplexSearchPayload, ContentObjectItem, FindPayload } from "@vertesia/common";
|
|
2
2
|
import { useToast } from "@vertesia/ui/core";
|
|
3
3
|
import { useUserSession } from "@vertesia/ui/session";
|
|
4
4
|
import { Md5 } from "ts-md5";
|
|
@@ -128,25 +128,31 @@ export function useSmartFileUploadProcessing() {
|
|
|
128
128
|
const filesWithMetadata = await prepareFilesWithMetadata(files, selectedFolder);
|
|
129
129
|
|
|
130
130
|
const identifyExistingHash = async () => {
|
|
131
|
+
const hashes = filesWithMetadata.map((file) => file.hash).filter(Boolean);
|
|
132
|
+
if (hashes.length === 0) return;
|
|
133
|
+
|
|
131
134
|
const query = {
|
|
132
|
-
"content.etag": { $in:
|
|
135
|
+
"content.etag": { $in: hashes },
|
|
133
136
|
};
|
|
134
137
|
|
|
135
138
|
let res: ContentObjectItem[];
|
|
136
139
|
|
|
137
|
-
const payload: ComplexSearchPayload = {
|
|
138
|
-
query: { match: query },
|
|
139
|
-
select: "id content.etag" // Only fetch fields needed for comparison
|
|
140
|
-
};
|
|
141
|
-
|
|
142
140
|
if (limitToCollectionId) {
|
|
141
|
+
const payload: ComplexSearchPayload = {
|
|
142
|
+
query: { match: query },
|
|
143
|
+
select: "id content.etag"
|
|
144
|
+
};
|
|
143
145
|
res = (await client.store.collections.searchMembers(limitToCollectionId, payload)).results;
|
|
144
146
|
} else {
|
|
145
|
-
|
|
147
|
+
const payload: FindPayload = {
|
|
148
|
+
query,
|
|
149
|
+
select: "id content.etag"
|
|
150
|
+
};
|
|
151
|
+
res = await client.store.objects.find(payload);
|
|
146
152
|
}
|
|
147
153
|
|
|
148
154
|
for (const doc of res) {
|
|
149
|
-
const file = filesWithMetadata.find((f) => f.hash === doc.content
|
|
155
|
+
const file = filesWithMetadata.find((f) => f.hash === doc.content?.etag);
|
|
150
156
|
if (file) {
|
|
151
157
|
file.existingId = doc.id;
|
|
152
158
|
file.action = FileUploadAction.SKIP;
|
|
@@ -196,7 +202,7 @@ export function useSmartFileUploadProcessing() {
|
|
|
196
202
|
const file = filesWithMetadata.find(
|
|
197
203
|
//name must be the same, and location must match (default is "/")
|
|
198
204
|
(f) =>
|
|
199
|
-
f.name === doc.content
|
|
205
|
+
f.name === doc.content?.name &&
|
|
200
206
|
(f.location ? f.location === doc.location : doc.location === "/"),
|
|
201
207
|
);
|
|
202
208
|
if (file) {
|
|
@@ -2,15 +2,16 @@ import { useMemo, useRef, useState } from 'react';
|
|
|
2
2
|
|
|
3
3
|
import { useUserSession } from '@vertesia/ui/session';
|
|
4
4
|
import { MonacoEditor, EditorApi, SchemaEditor, useSchema } from '@vertesia/ui/widgets';
|
|
5
|
-
import { Button, useToast, useTheme } from '@vertesia/ui/core';
|
|
5
|
+
import { Button, useToast, useTheme, Panel } from '@vertesia/ui/core';
|
|
6
6
|
import { ContentObjectType } from '@vertesia/common';
|
|
7
7
|
import { Ajv } from "ajv";
|
|
8
8
|
|
|
9
9
|
interface ObjectSchemaEditorProps {
|
|
10
10
|
objectType: ContentObjectType;
|
|
11
11
|
onSchemaUpdate: (jsonSchema: any) => void;
|
|
12
|
+
readonly?: boolean;
|
|
12
13
|
}
|
|
13
|
-
export function ObjectSchemaEditor({ objectType, onSchemaUpdate }: ObjectSchemaEditorProps) {
|
|
14
|
+
export function ObjectSchemaEditor({ objectType, onSchemaUpdate, readonly = false }: ObjectSchemaEditorProps) {
|
|
14
15
|
const { store } = useUserSession();
|
|
15
16
|
const toast = useToast();
|
|
16
17
|
const { theme } = useTheme();
|
|
@@ -82,35 +83,37 @@ export function ObjectSchemaEditor({ objectType, onSchemaUpdate }: ObjectSchemaE
|
|
|
82
83
|
return true;
|
|
83
84
|
};
|
|
84
85
|
|
|
85
|
-
|
|
86
|
-
<div className=
|
|
87
|
-
<div
|
|
88
|
-
<
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
</Button>
|
|
95
|
-
</div>
|
|
96
|
-
<div className="ml-auto flex gap-x-2">
|
|
97
|
-
<Button isLoading={isUpdating} variant="outline" size="sm" onClick={onSave}>Save Changes</Button>
|
|
98
|
-
</div>
|
|
99
|
-
</div>
|
|
100
|
-
<div className="px-4 py-2">
|
|
101
|
-
{
|
|
102
|
-
displayJson
|
|
103
|
-
? <MonacoEditor
|
|
104
|
-
value={value}
|
|
105
|
-
language="json"
|
|
106
|
-
editorRef={editorRef}
|
|
107
|
-
theme={theme === 'dark' ? 'vs-dark' : 'vs'}
|
|
108
|
-
/>
|
|
109
|
-
: <SchemaEditor schema={schema} />
|
|
110
|
-
}
|
|
111
|
-
</div>
|
|
86
|
+
const title = (
|
|
87
|
+
<div className='flex gap-2 items-center'><div className="text-base font-semibold">Schema Editor</div>
|
|
88
|
+
{!readonly && <div>
|
|
89
|
+
<Button variant="outline" size="sm" onClick={handleOnSave}>
|
|
90
|
+
{
|
|
91
|
+
displayJson ? "Edit Schema" : "Edit Json"
|
|
92
|
+
}
|
|
93
|
+
</Button>
|
|
94
|
+
</div>}
|
|
112
95
|
</div>
|
|
113
96
|
);
|
|
97
|
+
|
|
98
|
+
return (
|
|
99
|
+
<Panel title={title} className="bg-background! h-[calc(100vh-197px)]"
|
|
100
|
+
action={!readonly ? <Button isLoading={isUpdating} variant="outline" size="sm" onClick={onSave}>Save Changes</Button> : undefined}
|
|
101
|
+
>
|
|
102
|
+
{
|
|
103
|
+
displayJson
|
|
104
|
+
? <MonacoEditor
|
|
105
|
+
value={value}
|
|
106
|
+
language="json"
|
|
107
|
+
editorRef={editorRef}
|
|
108
|
+
theme={theme === 'dark' ? 'vs-dark' : 'vs'}
|
|
109
|
+
options={{ readOnly: readonly }}
|
|
110
|
+
/>
|
|
111
|
+
: <SchemaEditor schema={schema} readonly={readonly} />
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
</ Panel>
|
|
116
|
+
);
|
|
114
117
|
}
|
|
115
118
|
|
|
116
119
|
function jsonToContent(json: any | undefined | null) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ContentObjectTypeItem } from "@vertesia/common";
|
|
2
|
-
import {
|
|
2
|
+
import { SelectBox } from "@vertesia/ui/core";
|
|
3
3
|
import { useUserSession } from "@vertesia/ui/session";
|
|
4
4
|
import { useEffect, useState } from "react";
|
|
5
5
|
|
|
@@ -56,7 +56,7 @@ export function SelectContentType({ className, defaultValue, onChange, isClearab
|
|
|
56
56
|
if (multiple) {
|
|
57
57
|
return (
|
|
58
58
|
<div className='flex flex-col gap-4 content-between'>
|
|
59
|
-
<
|
|
59
|
+
<SelectBox<ContentObjectTypeItem>
|
|
60
60
|
options={session.typeRegistry?.types || []}
|
|
61
61
|
value={selectedTypes}
|
|
62
62
|
onChange={_onChangeMultiple}
|
|
@@ -73,7 +73,7 @@ export function SelectContentType({ className, defaultValue, onChange, isClearab
|
|
|
73
73
|
|
|
74
74
|
return (
|
|
75
75
|
<div className='flex flex-col gap-4 content-between'>
|
|
76
|
-
<
|
|
76
|
+
<SelectBox<ContentObjectTypeItem>
|
|
77
77
|
options={session.typeRegistry?.types || []}
|
|
78
78
|
value={selectedType}
|
|
79
79
|
onChange={_onChange}
|
|
@@ -6,10 +6,11 @@ import {
|
|
|
6
6
|
ModalFooter,
|
|
7
7
|
ModalTitle,
|
|
8
8
|
SelectBox,
|
|
9
|
+
VTooltip,
|
|
9
10
|
} from "@vertesia/ui/core";
|
|
10
11
|
import { ContentObjectTypeItem } from "@vertesia/common";
|
|
11
12
|
import { useUserSession } from "@vertesia/ui/session";
|
|
12
|
-
import { CheckCircleIcon } from "lucide-react";
|
|
13
|
+
import { CheckCircleIcon, Info } from "lucide-react";
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
* Props for the SelectTypeModal component
|
|
@@ -46,7 +47,6 @@ export function SelectContentTypeModal({
|
|
|
46
47
|
title = "Select Content Type",
|
|
47
48
|
children,
|
|
48
49
|
initialSelectedType = null,
|
|
49
|
-
confirmLabel = "Select Type",
|
|
50
50
|
allowNone = true,
|
|
51
51
|
}: SelectContentTypeModalProps) {
|
|
52
52
|
const { typeRegistry } = useUserSession();
|
|
@@ -63,6 +63,7 @@ export function SelectContentTypeModal({
|
|
|
63
63
|
// Handle type selection and confirmation
|
|
64
64
|
const handleConfirm = () => {
|
|
65
65
|
onClose(selectedType?.id ?? null);
|
|
66
|
+
setSelectedType(null);
|
|
66
67
|
};
|
|
67
68
|
|
|
68
69
|
return (
|
|
@@ -72,7 +73,7 @@ export function SelectContentTypeModal({
|
|
|
72
73
|
className="w-full max-w-xl mx-auto"
|
|
73
74
|
>
|
|
74
75
|
<ModalTitle>{title}</ModalTitle>
|
|
75
|
-
<ModalBody
|
|
76
|
+
<ModalBody>
|
|
76
77
|
{children}
|
|
77
78
|
|
|
78
79
|
{/* Type selection */}
|
|
@@ -100,41 +101,27 @@ export function SelectContentTypeModal({
|
|
|
100
101
|
filterBy="name"
|
|
101
102
|
/>
|
|
102
103
|
)}
|
|
103
|
-
|
|
104
|
-
{allowNone && (
|
|
105
|
-
<div className="mt-2 text-sm text-blue-600 flex items-center">
|
|
106
|
-
<CheckCircleIcon className="h-4 w-4 mr-1" />
|
|
107
|
-
<span><strong>Type selection is optional.</strong> Leave empty to let Vertesia choose the appropriate type</span>
|
|
108
|
-
</div>
|
|
109
|
-
)}
|
|
110
104
|
</div>
|
|
111
105
|
|
|
112
|
-
{selectedType
|
|
113
|
-
<div className="
|
|
114
|
-
<
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
<div className="mt-1">
|
|
123
|
-
Vertesia will analyze each file's content and automatically select the most appropriate type.
|
|
124
|
-
<br />
|
|
125
|
-
<span className="mt-1 block font-medium">This is recommended for most uploads.</span>
|
|
126
|
-
</div>
|
|
106
|
+
{!selectedType && (
|
|
107
|
+
<div className="flex items-center text-attention">
|
|
108
|
+
<CheckCircleIcon className="size-4 mr-1" />
|
|
109
|
+
Automatic Type Detection
|
|
110
|
+
<VTooltip
|
|
111
|
+
description="Vertesia will analyze the content and select the most appropriate type. This is recommended for most uploads and ensures optimal processing."
|
|
112
|
+
placement="top" size="xs"
|
|
113
|
+
>
|
|
114
|
+
<Info className="size-3 ml-2" />
|
|
115
|
+
</VTooltip>
|
|
127
116
|
</div>
|
|
128
117
|
)}
|
|
129
118
|
</ModalBody>
|
|
130
119
|
<ModalFooter>
|
|
131
|
-
<Button variant="ghost" onClick={handleClose}>
|
|
120
|
+
<Button variant="ghost" onClick={handleClose} alt="Cancel">
|
|
132
121
|
Cancel
|
|
133
122
|
</Button>
|
|
134
|
-
<Button
|
|
135
|
-
|
|
136
|
-
>
|
|
137
|
-
{selectedType ? `${confirmLabel}: ${selectedType.name}` : allowNone ? "Let Vertesia Choose" : confirmLabel}
|
|
123
|
+
<Button onClick={handleConfirm} alt="Confirm selection">
|
|
124
|
+
Confirm
|
|
138
125
|
</Button>
|
|
139
126
|
</ModalFooter>
|
|
140
127
|
</Modal>
|