@jazzmind/busibox-app 3.0.18
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/README.md +158 -0
- package/dist/components/UserDropdown.d.ts +51 -0
- package/dist/components/UserDropdown.d.ts.map +1 -0
- package/dist/components/UserDropdown.js +88 -0
- package/dist/components/UserDropdown.js.map +1 -0
- package/dist/components/account/ChannelLinkingSettings.d.ts +2 -0
- package/dist/components/account/ChannelLinkingSettings.d.ts.map +1 -0
- package/dist/components/account/ChannelLinkingSettings.js +102 -0
- package/dist/components/account/ChannelLinkingSettings.js.map +1 -0
- package/dist/components/auth/PasskeyRequiredWrapper.d.ts +15 -0
- package/dist/components/auth/PasskeyRequiredWrapper.d.ts.map +1 -0
- package/dist/components/auth/PasskeyRequiredWrapper.js +125 -0
- package/dist/components/auth/PasskeyRequiredWrapper.js.map +1 -0
- package/dist/components/auth/ProtectedRoute.d.ts +21 -0
- package/dist/components/auth/ProtectedRoute.d.ts.map +1 -0
- package/dist/components/auth/ProtectedRoute.js +55 -0
- package/dist/components/auth/ProtectedRoute.js.map +1 -0
- package/dist/components/auth/SessionProvider.d.ts +88 -0
- package/dist/components/auth/SessionProvider.d.ts.map +1 -0
- package/dist/components/auth/SessionProvider.js +417 -0
- package/dist/components/auth/SessionProvider.js.map +1 -0
- package/dist/components/chat/AgentBadge.d.ts +14 -0
- package/dist/components/chat/AgentBadge.d.ts.map +1 -0
- package/dist/components/chat/AgentBadge.js +15 -0
- package/dist/components/chat/AgentBadge.js.map +1 -0
- package/dist/components/chat/AgentSelectionPanel.d.ts +23 -0
- package/dist/components/chat/AgentSelectionPanel.d.ts.map +1 -0
- package/dist/components/chat/AgentSelectionPanel.js +49 -0
- package/dist/components/chat/AgentSelectionPanel.js.map +1 -0
- package/dist/components/chat/AgentSelector.d.ts +23 -0
- package/dist/components/chat/AgentSelector.d.ts.map +1 -0
- package/dist/components/chat/AgentSelector.js +76 -0
- package/dist/components/chat/AgentSelector.js.map +1 -0
- package/dist/components/chat/AgentToolSelector.d.ts +19 -0
- package/dist/components/chat/AgentToolSelector.d.ts.map +1 -0
- package/dist/components/chat/AgentToolSelector.js +62 -0
- package/dist/components/chat/AgentToolSelector.js.map +1 -0
- package/dist/components/chat/AttachmentPreview.d.ts +13 -0
- package/dist/components/chat/AttachmentPreview.d.ts.map +1 -0
- package/dist/components/chat/AttachmentPreview.js +36 -0
- package/dist/components/chat/AttachmentPreview.js.map +1 -0
- package/dist/components/chat/AttachmentUploader.d.ts +25 -0
- package/dist/components/chat/AttachmentUploader.d.ts.map +1 -0
- package/dist/components/chat/AttachmentUploader.js +97 -0
- package/dist/components/chat/AttachmentUploader.js.map +1 -0
- package/dist/components/chat/ChatContainer.d.ts +30 -0
- package/dist/components/chat/ChatContainer.d.ts.map +1 -0
- package/dist/components/chat/ChatContainer.js +1054 -0
- package/dist/components/chat/ChatContainer.js.map +1 -0
- package/dist/components/chat/ChatInterface.d.ts +16 -0
- package/dist/components/chat/ChatInterface.d.ts.map +1 -0
- package/dist/components/chat/ChatInterface.js +129 -0
- package/dist/components/chat/ChatInterface.js.map +1 -0
- package/dist/components/chat/ChatPage.d.ts +46 -0
- package/dist/components/chat/ChatPage.d.ts.map +1 -0
- package/dist/components/chat/ChatPage.js +92 -0
- package/dist/components/chat/ChatPage.js.map +1 -0
- package/dist/components/chat/ChatSkeleton.d.ts +9 -0
- package/dist/components/chat/ChatSkeleton.d.ts.map +1 -0
- package/dist/components/chat/ChatSkeleton.js +12 -0
- package/dist/components/chat/ChatSkeleton.js.map +1 -0
- package/dist/components/chat/ConversationSettings.d.ts +10 -0
- package/dist/components/chat/ConversationSettings.d.ts.map +1 -0
- package/dist/components/chat/ConversationSettings.js +131 -0
- package/dist/components/chat/ConversationSettings.js.map +1 -0
- package/dist/components/chat/ConversationSidebar.d.ts +7 -0
- package/dist/components/chat/ConversationSidebar.d.ts.map +1 -0
- package/dist/components/chat/ConversationSidebar.js +120 -0
- package/dist/components/chat/ConversationSidebar.js.map +1 -0
- package/dist/components/chat/DeleteConversationModal.d.ts +12 -0
- package/dist/components/chat/DeleteConversationModal.d.ts.map +1 -0
- package/dist/components/chat/DeleteConversationModal.js +26 -0
- package/dist/components/chat/DeleteConversationModal.js.map +1 -0
- package/dist/components/chat/FullChatInterface.d.ts +48 -0
- package/dist/components/chat/FullChatInterface.d.ts.map +1 -0
- package/dist/components/chat/FullChatInterface.js +439 -0
- package/dist/components/chat/FullChatInterface.js.map +1 -0
- package/dist/components/chat/InsightEditModal.d.ts +21 -0
- package/dist/components/chat/InsightEditModal.d.ts.map +1 -0
- package/dist/components/chat/InsightEditModal.js +64 -0
- package/dist/components/chat/InsightEditModal.js.map +1 -0
- package/dist/components/chat/LibrarySelector.d.ts +25 -0
- package/dist/components/chat/LibrarySelector.d.ts.map +1 -0
- package/dist/components/chat/LibrarySelector.js +100 -0
- package/dist/components/chat/LibrarySelector.js.map +1 -0
- package/dist/components/chat/MessageInput.d.ts +21 -0
- package/dist/components/chat/MessageInput.d.ts.map +1 -0
- package/dist/components/chat/MessageInput.js +154 -0
- package/dist/components/chat/MessageInput.js.map +1 -0
- package/dist/components/chat/MessageList.d.ts +57 -0
- package/dist/components/chat/MessageList.d.ts.map +1 -0
- package/dist/components/chat/MessageList.js +176 -0
- package/dist/components/chat/MessageList.js.map +1 -0
- package/dist/components/chat/ModelSelector.d.ts +13 -0
- package/dist/components/chat/ModelSelector.d.ts.map +1 -0
- package/dist/components/chat/ModelSelector.js +62 -0
- package/dist/components/chat/ModelSelector.js.map +1 -0
- package/dist/components/chat/RawContentToggle.d.ts +17 -0
- package/dist/components/chat/RawContentToggle.d.ts.map +1 -0
- package/dist/components/chat/RawContentToggle.js +19 -0
- package/dist/components/chat/RawContentToggle.js.map +1 -0
- package/dist/components/chat/SearchToggles.d.ts +25 -0
- package/dist/components/chat/SearchToggles.d.ts.map +1 -0
- package/dist/components/chat/SearchToggles.js +125 -0
- package/dist/components/chat/SearchToggles.js.map +1 -0
- package/dist/components/chat/SimpleChatInterface.d.ts +64 -0
- package/dist/components/chat/SimpleChatInterface.d.ts.map +1 -0
- package/dist/components/chat/SimpleChatInterface.js +585 -0
- package/dist/components/chat/SimpleChatInterface.js.map +1 -0
- package/dist/components/chat/ThinkingSection.d.ts +34 -0
- package/dist/components/chat/ThinkingSection.d.ts.map +1 -0
- package/dist/components/chat/ThinkingSection.js +82 -0
- package/dist/components/chat/ThinkingSection.js.map +1 -0
- package/dist/components/chat/ThinkingToggle.d.ts +31 -0
- package/dist/components/chat/ThinkingToggle.d.ts.map +1 -0
- package/dist/components/chat/ThinkingToggle.js +47 -0
- package/dist/components/chat/ThinkingToggle.js.map +1 -0
- package/dist/components/chat/ToolSelector.d.ts +22 -0
- package/dist/components/chat/ToolSelector.d.ts.map +1 -0
- package/dist/components/chat/ToolSelector.js +72 -0
- package/dist/components/chat/ToolSelector.js.map +1 -0
- package/dist/components/documents/AppDataItemActions.d.ts +18 -0
- package/dist/components/documents/AppDataItemActions.d.ts.map +1 -0
- package/dist/components/documents/AppDataItemActions.js +62 -0
- package/dist/components/documents/AppDataItemActions.js.map +1 -0
- package/dist/components/documents/AppDataList.d.ts +8 -0
- package/dist/components/documents/AppDataList.d.ts.map +1 -0
- package/dist/components/documents/AppDataList.js +166 -0
- package/dist/components/documents/AppDataList.js.map +1 -0
- package/dist/components/documents/ChunksBrowser.d.ts +7 -0
- package/dist/components/documents/ChunksBrowser.d.ts.map +1 -0
- package/dist/components/documents/ChunksBrowser.js +130 -0
- package/dist/components/documents/ChunksBrowser.js.map +1 -0
- package/dist/components/documents/ClassificationSuggestionBadge.d.ts +15 -0
- package/dist/components/documents/ClassificationSuggestionBadge.d.ts.map +1 -0
- package/dist/components/documents/ClassificationSuggestionBadge.js +34 -0
- package/dist/components/documents/ClassificationSuggestionBadge.js.map +1 -0
- package/dist/components/documents/CodeViewer.d.ts +8 -0
- package/dist/components/documents/CodeViewer.d.ts.map +1 -0
- package/dist/components/documents/CodeViewer.js +112 -0
- package/dist/components/documents/CodeViewer.js.map +1 -0
- package/dist/components/documents/CreatePersonalLibraryModal.d.ts +8 -0
- package/dist/components/documents/CreatePersonalLibraryModal.d.ts.map +1 -0
- package/dist/components/documents/CreatePersonalLibraryModal.js +50 -0
- package/dist/components/documents/CreatePersonalLibraryModal.js.map +1 -0
- package/dist/components/documents/DocumentList.d.ts +7 -0
- package/dist/components/documents/DocumentList.d.ts.map +1 -0
- package/dist/components/documents/DocumentList.js +162 -0
- package/dist/components/documents/DocumentList.js.map +1 -0
- package/dist/components/documents/DocumentSearch.d.ts +8 -0
- package/dist/components/documents/DocumentSearch.d.ts.map +1 -0
- package/dist/components/documents/DocumentSearch.js +151 -0
- package/dist/components/documents/DocumentSearch.js.map +1 -0
- package/dist/components/documents/DocumentSearchAdvanced.d.ts +2 -0
- package/dist/components/documents/DocumentSearchAdvanced.d.ts.map +1 -0
- package/dist/components/documents/DocumentSearchAdvanced.js +169 -0
- package/dist/components/documents/DocumentSearchAdvanced.js.map +1 -0
- package/dist/components/documents/DocumentTagView.d.ts +7 -0
- package/dist/components/documents/DocumentTagView.d.ts.map +1 -0
- package/dist/components/documents/DocumentTagView.js +122 -0
- package/dist/components/documents/DocumentTagView.js.map +1 -0
- package/dist/components/documents/DocumentTagsAndGraphSection.d.ts +12 -0
- package/dist/components/documents/DocumentTagsAndGraphSection.d.ts.map +1 -0
- package/dist/components/documents/DocumentTagsAndGraphSection.js +132 -0
- package/dist/components/documents/DocumentTagsAndGraphSection.js.map +1 -0
- package/dist/components/documents/DocumentUpload.d.ts +29 -0
- package/dist/components/documents/DocumentUpload.d.ts.map +1 -0
- package/dist/components/documents/DocumentUpload.js +148 -0
- package/dist/components/documents/DocumentUpload.js.map +1 -0
- package/dist/components/documents/ExtractionSplitView.d.ts +10 -0
- package/dist/components/documents/ExtractionSplitView.d.ts.map +1 -0
- package/dist/components/documents/ExtractionSplitView.js +134 -0
- package/dist/components/documents/ExtractionSplitView.js.map +1 -0
- package/dist/components/documents/HtmlViewer.d.ts +16 -0
- package/dist/components/documents/HtmlViewer.d.ts.map +1 -0
- package/dist/components/documents/HtmlViewer.js +602 -0
- package/dist/components/documents/HtmlViewer.js.map +1 -0
- package/dist/components/documents/KnowledgeGraph.d.ts +7 -0
- package/dist/components/documents/KnowledgeGraph.d.ts.map +1 -0
- package/dist/components/documents/KnowledgeGraph.js +570 -0
- package/dist/components/documents/KnowledgeGraph.js.map +1 -0
- package/dist/components/documents/LibraryClassification.d.ts +9 -0
- package/dist/components/documents/LibraryClassification.d.ts.map +1 -0
- package/dist/components/documents/LibraryClassification.js +124 -0
- package/dist/components/documents/LibraryClassification.js.map +1 -0
- package/dist/components/documents/LibraryDeleteModal.d.ts +12 -0
- package/dist/components/documents/LibraryDeleteModal.d.ts.map +1 -0
- package/dist/components/documents/LibraryDeleteModal.js +54 -0
- package/dist/components/documents/LibraryDeleteModal.js.map +1 -0
- package/dist/components/documents/LibraryTriggers.d.ts +8 -0
- package/dist/components/documents/LibraryTriggers.d.ts.map +1 -0
- package/dist/components/documents/LibraryTriggers.js +294 -0
- package/dist/components/documents/LibraryTriggers.js.map +1 -0
- package/dist/components/documents/PortalDocumentList.d.ts +9 -0
- package/dist/components/documents/PortalDocumentList.d.ts.map +1 -0
- package/dist/components/documents/PortalDocumentList.js +147 -0
- package/dist/components/documents/PortalDocumentList.js.map +1 -0
- package/dist/components/documents/ProcessingHistoryModal.d.ts +32 -0
- package/dist/components/documents/ProcessingHistoryModal.d.ts.map +1 -0
- package/dist/components/documents/ProcessingHistoryModal.js +131 -0
- package/dist/components/documents/ProcessingHistoryModal.js.map +1 -0
- package/dist/components/documents/ProcessingHistoryTab.d.ts +6 -0
- package/dist/components/documents/ProcessingHistoryTab.d.ts.map +1 -0
- package/dist/components/documents/ProcessingHistoryTab.js +161 -0
- package/dist/components/documents/ProcessingHistoryTab.js.map +1 -0
- package/dist/components/documents/ProvenanceHighlighter.d.ts +25 -0
- package/dist/components/documents/ProvenanceHighlighter.d.ts.map +1 -0
- package/dist/components/documents/ProvenanceHighlighter.js +72 -0
- package/dist/components/documents/ProvenanceHighlighter.js.map +1 -0
- package/dist/components/documents/RenamePersonalLibraryModal.d.ts +10 -0
- package/dist/components/documents/RenamePersonalLibraryModal.d.ts.map +1 -0
- package/dist/components/documents/RenamePersonalLibraryModal.js +47 -0
- package/dist/components/documents/RenamePersonalLibraryModal.js.map +1 -0
- package/dist/components/documents/SchemaEditor.d.ts +16 -0
- package/dist/components/documents/SchemaEditor.d.ts.map +1 -0
- package/dist/components/documents/SchemaEditor.js +518 -0
- package/dist/components/documents/SchemaEditor.js.map +1 -0
- package/dist/components/documents/SchemaFieldViewer.d.ts +13 -0
- package/dist/components/documents/SchemaFieldViewer.d.ts.map +1 -0
- package/dist/components/documents/SchemaFieldViewer.js +230 -0
- package/dist/components/documents/SchemaFieldViewer.js.map +1 -0
- package/dist/components/documents/SchemaFormRenderer.d.ts +11 -0
- package/dist/components/documents/SchemaFormRenderer.d.ts.map +1 -0
- package/dist/components/documents/SchemaFormRenderer.js +151 -0
- package/dist/components/documents/SchemaFormRenderer.js.map +1 -0
- package/dist/components/index.d.ts +77 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +61 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/libraries/LibrarySelector.d.ts +8 -0
- package/dist/components/libraries/LibrarySelector.d.ts.map +1 -0
- package/dist/components/libraries/LibrarySelector.js +52 -0
- package/dist/components/libraries/LibrarySelector.js.map +1 -0
- package/dist/components/libraries/LibrarySidebar.d.ts +30 -0
- package/dist/components/libraries/LibrarySidebar.d.ts.map +1 -0
- package/dist/components/libraries/LibrarySidebar.js +260 -0
- package/dist/components/libraries/LibrarySidebar.js.map +1 -0
- package/dist/components/shared/AppIcon.d.ts +15 -0
- package/dist/components/shared/AppIcon.d.ts.map +1 -0
- package/dist/components/shared/AppIcon.js +29 -0
- package/dist/components/shared/AppIcon.js.map +1 -0
- package/dist/components/shared/Button.d.ts +18 -0
- package/dist/components/shared/Button.d.ts.map +1 -0
- package/dist/components/shared/Button.js +18 -0
- package/dist/components/shared/Button.js.map +1 -0
- package/dist/components/shared/ConfirmModal.d.ts +19 -0
- package/dist/components/shared/ConfirmModal.d.ts.map +1 -0
- package/dist/components/shared/ConfirmModal.js +16 -0
- package/dist/components/shared/ConfirmModal.js.map +1 -0
- package/dist/components/shared/DeleteConfirmModal.d.ts +37 -0
- package/dist/components/shared/DeleteConfirmModal.d.ts.map +1 -0
- package/dist/components/shared/DeleteConfirmModal.js +30 -0
- package/dist/components/shared/DeleteConfirmModal.js.map +1 -0
- package/dist/components/shared/DynamicFavicon.d.ts +8 -0
- package/dist/components/shared/DynamicFavicon.d.ts.map +1 -0
- package/dist/components/shared/DynamicFavicon.js +35 -0
- package/dist/components/shared/DynamicFavicon.js.map +1 -0
- package/dist/components/shared/FetchWrapper.d.ts +27 -0
- package/dist/components/shared/FetchWrapper.d.ts.map +1 -0
- package/dist/components/shared/FetchWrapper.js +113 -0
- package/dist/components/shared/FetchWrapper.js.map +1 -0
- package/dist/components/shared/Input.d.ts +26 -0
- package/dist/components/shared/Input.d.ts.map +1 -0
- package/dist/components/shared/Input.js +10 -0
- package/dist/components/shared/Input.js.map +1 -0
- package/dist/components/shared/Modal.d.ts +30 -0
- package/dist/components/shared/Modal.d.ts.map +1 -0
- package/dist/components/shared/Modal.js +51 -0
- package/dist/components/shared/Modal.js.map +1 -0
- package/dist/components/shared/Table.d.ts +35 -0
- package/dist/components/shared/Table.d.ts.map +1 -0
- package/dist/components/shared/Table.js +39 -0
- package/dist/components/shared/Table.js.map +1 -0
- package/dist/components/shared/UserAvatar.d.ts +10 -0
- package/dist/components/shared/UserAvatar.d.ts.map +1 -0
- package/dist/components/shared/UserAvatar.js +90 -0
- package/dist/components/shared/UserAvatar.js.map +1 -0
- package/dist/components/shared/UserPicker.d.ts +10 -0
- package/dist/components/shared/UserPicker.d.ts.map +1 -0
- package/dist/components/shared/UserPicker.js +80 -0
- package/dist/components/shared/UserPicker.js.map +1 -0
- package/dist/components/ui/button.d.ts +11 -0
- package/dist/components/ui/button.d.ts.map +1 -0
- package/dist/components/ui/button.js +34 -0
- package/dist/components/ui/button.js.map +1 -0
- package/dist/components/ui/card.d.ts +10 -0
- package/dist/components/ui/card.d.ts.map +1 -0
- package/dist/components/ui/card.js +25 -0
- package/dist/components/ui/card.js.map +1 -0
- package/dist/components/ui/dropdown-menu.d.ts +28 -0
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/components/ui/dropdown-menu.js +37 -0
- package/dist/components/ui/dropdown-menu.js.map +1 -0
- package/dist/components/ui/input.d.ts +4 -0
- package/dist/components/ui/input.d.ts.map +1 -0
- package/dist/components/ui/input.js +7 -0
- package/dist/components/ui/input.js.map +1 -0
- package/dist/components/ui/scroll-area.d.ts +6 -0
- package/dist/components/ui/scroll-area.d.ts.map +1 -0
- package/dist/components/ui/scroll-area.js +12 -0
- package/dist/components/ui/scroll-area.js.map +1 -0
- package/dist/components/ui/select.d.ts +16 -0
- package/dist/components/ui/select.d.ts.map +1 -0
- package/dist/components/ui/select.js +38 -0
- package/dist/components/ui/select.js.map +1 -0
- package/dist/components/videos/UserSearchInput.d.ts +14 -0
- package/dist/components/videos/UserSearchInput.d.ts.map +1 -0
- package/dist/components/videos/UserSearchInput.js +119 -0
- package/dist/components/videos/UserSearchInput.js.map +1 -0
- package/dist/components/videos/VideoCard.d.ts +17 -0
- package/dist/components/videos/VideoCard.d.ts.map +1 -0
- package/dist/components/videos/VideoCard.js +203 -0
- package/dist/components/videos/VideoCard.js.map +1 -0
- package/dist/components/videos/VideoExpirationBadge.d.ts +8 -0
- package/dist/components/videos/VideoExpirationBadge.d.ts.map +1 -0
- package/dist/components/videos/VideoExpirationBadge.js +25 -0
- package/dist/components/videos/VideoExpirationBadge.js.map +1 -0
- package/dist/components/videos/VideoPlayerModal.d.ts +9 -0
- package/dist/components/videos/VideoPlayerModal.d.ts.map +1 -0
- package/dist/components/videos/VideoPlayerModal.js +54 -0
- package/dist/components/videos/VideoPlayerModal.js.map +1 -0
- package/dist/components/videos/VideoRemixModal.d.ts +16 -0
- package/dist/components/videos/VideoRemixModal.d.ts.map +1 -0
- package/dist/components/videos/VideoRemixModal.js +48 -0
- package/dist/components/videos/VideoRemixModal.js.map +1 -0
- package/dist/components/videos/VideoShareModal.d.ts +10 -0
- package/dist/components/videos/VideoShareModal.d.ts.map +1 -0
- package/dist/components/videos/VideoShareModal.js +171 -0
- package/dist/components/videos/VideoShareModal.js.map +1 -0
- package/dist/components/videos/VideoStatusModal.d.ts +7 -0
- package/dist/components/videos/VideoStatusModal.d.ts.map +1 -0
- package/dist/components/videos/VideoStatusModal.js +92 -0
- package/dist/components/videos/VideoStatusModal.js.map +1 -0
- package/dist/components/videos/VideoUpload.d.ts +8 -0
- package/dist/components/videos/VideoUpload.d.ts.map +1 -0
- package/dist/components/videos/VideoUpload.js +92 -0
- package/dist/components/videos/VideoUpload.js.map +1 -0
- package/dist/components/workflow/WorkflowList.d.ts +20 -0
- package/dist/components/workflow/WorkflowList.d.ts.map +1 -0
- package/dist/components/workflow/WorkflowList.js +50 -0
- package/dist/components/workflow/WorkflowList.js.map +1 -0
- package/dist/contexts/ApiContext.d.ts +73 -0
- package/dist/contexts/ApiContext.d.ts.map +1 -0
- package/dist/contexts/ApiContext.js +73 -0
- package/dist/contexts/ApiContext.js.map +1 -0
- package/dist/contexts/AuthContext.d.ts +113 -0
- package/dist/contexts/AuthContext.d.ts.map +1 -0
- package/dist/contexts/AuthContext.js +351 -0
- package/dist/contexts/AuthContext.js.map +1 -0
- package/dist/contexts/CustomizationContext.d.ts +44 -0
- package/dist/contexts/CustomizationContext.d.ts.map +1 -0
- package/dist/contexts/CustomizationContext.js +117 -0
- package/dist/contexts/CustomizationContext.js.map +1 -0
- package/dist/contexts/ThemeContext.d.ts +18 -0
- package/dist/contexts/ThemeContext.d.ts.map +1 -0
- package/dist/contexts/ThemeContext.js +54 -0
- package/dist/contexts/ThemeContext.js.map +1 -0
- package/dist/contexts/index.d.ts +8 -0
- package/dist/contexts/index.d.ts.map +1 -0
- package/dist/contexts/index.js +5 -0
- package/dist/contexts/index.js.map +1 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/layout/AdminHeader.d.ts +14 -0
- package/dist/layout/AdminHeader.d.ts.map +1 -0
- package/dist/layout/AdminHeader.js +17 -0
- package/dist/layout/AdminHeader.js.map +1 -0
- package/dist/layout/Footer.d.ts +7 -0
- package/dist/layout/Footer.d.ts.map +1 -0
- package/dist/layout/Footer.js +27 -0
- package/dist/layout/Footer.js.map +1 -0
- package/dist/layout/Header.d.ts +32 -0
- package/dist/layout/Header.d.ts.map +1 -0
- package/dist/layout/Header.js +66 -0
- package/dist/layout/Header.js.map +1 -0
- package/dist/layout/ThemeToggle.d.ts +7 -0
- package/dist/layout/ThemeToggle.d.ts.map +1 -0
- package/dist/layout/ThemeToggle.js +33 -0
- package/dist/layout/ThemeToggle.js.map +1 -0
- package/dist/layout/VersionBar.d.ts +2 -0
- package/dist/layout/VersionBar.d.ts.map +1 -0
- package/dist/layout/VersionBar.js +49 -0
- package/dist/layout/VersionBar.js.map +1 -0
- package/dist/layout/index.d.ts +7 -0
- package/dist/layout/index.d.ts.map +1 -0
- package/dist/layout/index.js +6 -0
- package/dist/layout/index.js.map +1 -0
- package/dist/lib/agent/agent-api-base.d.ts +41 -0
- package/dist/lib/agent/agent-api-base.d.ts.map +1 -0
- package/dist/lib/agent/agent-api-base.js +152 -0
- package/dist/lib/agent/agent-api-base.js.map +1 -0
- package/dist/lib/agent/agent-api-helpers.d.ts +16 -0
- package/dist/lib/agent/agent-api-helpers.d.ts.map +1 -0
- package/dist/lib/agent/agent-api-helpers.js +50 -0
- package/dist/lib/agent/agent-api-helpers.js.map +1 -0
- package/dist/lib/agent/agent-service-client.d.ts +89 -0
- package/dist/lib/agent/agent-service-client.d.ts.map +1 -0
- package/dist/lib/agent/agent-service-client.js +158 -0
- package/dist/lib/agent/agent-service-client.js.map +1 -0
- package/dist/lib/agent/api-helpers.d.ts +16 -0
- package/dist/lib/agent/api-helpers.d.ts.map +1 -0
- package/dist/lib/agent/api-helpers.js +50 -0
- package/dist/lib/agent/api-helpers.js.map +1 -0
- package/dist/lib/agent/app-client.d.ts +24 -0
- package/dist/lib/agent/app-client.d.ts.map +1 -0
- package/dist/lib/agent/app-client.js +49 -0
- package/dist/lib/agent/app-client.js.map +1 -0
- package/dist/lib/agent/chat-api-client.d.ts +152 -0
- package/dist/lib/agent/chat-api-client.d.ts.map +1 -0
- package/dist/lib/agent/chat-api-client.js +127 -0
- package/dist/lib/agent/chat-api-client.js.map +1 -0
- package/dist/lib/agent/chat-attachments.d.ts +118 -0
- package/dist/lib/agent/chat-attachments.d.ts.map +1 -0
- package/dist/lib/agent/chat-attachments.js +317 -0
- package/dist/lib/agent/chat-attachments.js.map +1 -0
- package/dist/lib/agent/chat-cleanup.d.ts +34 -0
- package/dist/lib/agent/chat-cleanup.d.ts.map +1 -0
- package/dist/lib/agent/chat-cleanup.js +133 -0
- package/dist/lib/agent/chat-cleanup.js.map +1 -0
- package/dist/lib/agent/chat-client.d.ts +142 -0
- package/dist/lib/agent/chat-client.d.ts.map +1 -0
- package/dist/lib/agent/chat-client.js +318 -0
- package/dist/lib/agent/chat-client.js.map +1 -0
- package/dist/lib/agent/chat-config.d.ts +28 -0
- package/dist/lib/agent/chat-config.d.ts.map +1 -0
- package/dist/lib/agent/chat-config.js +152 -0
- package/dist/lib/agent/chat-config.js.map +1 -0
- package/dist/lib/agent/chat-conversations.d.ts +159 -0
- package/dist/lib/agent/chat-conversations.d.ts.map +1 -0
- package/dist/lib/agent/chat-conversations.js +278 -0
- package/dist/lib/agent/chat-conversations.js.map +1 -0
- package/dist/lib/agent/chat-insights.d.ts +84 -0
- package/dist/lib/agent/chat-insights.d.ts.map +1 -0
- package/dist/lib/agent/chat-insights.js +193 -0
- package/dist/lib/agent/chat-insights.js.map +1 -0
- package/dist/lib/agent/chat-messages.d.ts +154 -0
- package/dist/lib/agent/chat-messages.d.ts.map +1 -0
- package/dist/lib/agent/chat-messages.js +282 -0
- package/dist/lib/agent/chat-messages.js.map +1 -0
- package/dist/lib/agent/chat-middleware.d.ts +119 -0
- package/dist/lib/agent/chat-middleware.d.ts.map +1 -0
- package/dist/lib/agent/chat-middleware.js +234 -0
- package/dist/lib/agent/chat-middleware.js.map +1 -0
- package/dist/lib/agent/chat-search.d.ts +89 -0
- package/dist/lib/agent/chat-search.d.ts.map +1 -0
- package/dist/lib/agent/chat-search.js +203 -0
- package/dist/lib/agent/chat-search.js.map +1 -0
- package/dist/lib/agent/chat-sharing.d.ts +70 -0
- package/dist/lib/agent/chat-sharing.d.ts.map +1 -0
- package/dist/lib/agent/chat-sharing.js +133 -0
- package/dist/lib/agent/chat-sharing.js.map +1 -0
- package/dist/lib/agent/client.d.ts +55 -0
- package/dist/lib/agent/client.d.ts.map +1 -0
- package/dist/lib/agent/client.js +103 -0
- package/dist/lib/agent/client.js.map +1 -0
- package/dist/lib/agent/index.d.ts +10 -0
- package/dist/lib/agent/index.d.ts.map +1 -0
- package/dist/lib/agent/index.js +10 -0
- package/dist/lib/agent/index.js.map +1 -0
- package/dist/lib/agent/insights.d.ts +131 -0
- package/dist/lib/agent/insights.d.ts.map +1 -0
- package/dist/lib/agent/insights.js +306 -0
- package/dist/lib/agent/insights.js.map +1 -0
- package/dist/lib/agent/litellm.d.ts +45 -0
- package/dist/lib/agent/litellm.d.ts.map +1 -0
- package/dist/lib/agent/litellm.js +147 -0
- package/dist/lib/agent/litellm.js.map +1 -0
- package/dist/lib/agent/llm-client.d.ts +94 -0
- package/dist/lib/agent/llm-client.d.ts.map +1 -0
- package/dist/lib/agent/llm-client.js +290 -0
- package/dist/lib/agent/llm-client.js.map +1 -0
- package/dist/lib/agent/models.d.ts +46 -0
- package/dist/lib/agent/models.d.ts.map +1 -0
- package/dist/lib/agent/models.js +96 -0
- package/dist/lib/agent/models.js.map +1 -0
- package/dist/lib/agent/openai.d.ts +94 -0
- package/dist/lib/agent/openai.d.ts.map +1 -0
- package/dist/lib/agent/openai.js +290 -0
- package/dist/lib/agent/openai.js.map +1 -0
- package/dist/lib/agent/server-client.d.ts +288 -0
- package/dist/lib/agent/server-client.d.ts.map +1 -0
- package/dist/lib/agent/server-client.js +363 -0
- package/dist/lib/agent/server-client.js.map +1 -0
- package/dist/lib/ai/dual-model-router.d.ts +130 -0
- package/dist/lib/ai/dual-model-router.d.ts.map +1 -0
- package/dist/lib/ai/dual-model-router.js +413 -0
- package/dist/lib/ai/dual-model-router.js.map +1 -0
- package/dist/lib/ai/openai.d.ts +94 -0
- package/dist/lib/ai/openai.d.ts.map +1 -0
- package/dist/lib/ai/openai.js +290 -0
- package/dist/lib/ai/openai.js.map +1 -0
- package/dist/lib/ai/tools.d.ts +64 -0
- package/dist/lib/ai/tools.d.ts.map +1 -0
- package/dist/lib/ai/tools.js +159 -0
- package/dist/lib/ai/tools.js.map +1 -0
- package/dist/lib/audit/client.d.ts +138 -0
- package/dist/lib/audit/client.d.ts.map +1 -0
- package/dist/lib/audit/client.js +486 -0
- package/dist/lib/audit/client.js.map +1 -0
- package/dist/lib/audit/index.d.ts +6 -0
- package/dist/lib/audit/index.d.ts.map +1 -0
- package/dist/lib/audit/index.js +6 -0
- package/dist/lib/audit/index.js.map +1 -0
- package/dist/lib/auth/auth-helper.d.ts +167 -0
- package/dist/lib/auth/auth-helper.d.ts.map +1 -0
- package/dist/lib/auth/auth-helper.js +345 -0
- package/dist/lib/auth/auth-helper.js.map +1 -0
- package/dist/lib/auth/auth-state-manager.d.ts +201 -0
- package/dist/lib/auth/auth-state-manager.d.ts.map +1 -0
- package/dist/lib/auth/auth-state-manager.js +597 -0
- package/dist/lib/auth/auth-state-manager.js.map +1 -0
- package/dist/lib/auth/client.d.ts +276 -0
- package/dist/lib/auth/client.d.ts.map +1 -0
- package/dist/lib/auth/client.js +325 -0
- package/dist/lib/auth/client.js.map +1 -0
- package/dist/lib/auth/index.d.ts +10 -0
- package/dist/lib/auth/index.d.ts.map +1 -0
- package/dist/lib/auth/index.js +10 -0
- package/dist/lib/auth/index.js.map +1 -0
- package/dist/lib/auth/sso-route-handler.d.ts +114 -0
- package/dist/lib/auth/sso-route-handler.d.ts.map +1 -0
- package/dist/lib/auth/sso-route-handler.js +199 -0
- package/dist/lib/auth/sso-route-handler.js.map +1 -0
- package/dist/lib/auth/sso.d.ts +162 -0
- package/dist/lib/auth/sso.d.ts.map +1 -0
- package/dist/lib/auth/sso.js +282 -0
- package/dist/lib/auth/sso.js.map +1 -0
- package/dist/lib/authz/audit.d.ts +167 -0
- package/dist/lib/authz/audit.d.ts.map +1 -0
- package/dist/lib/authz/audit.js +518 -0
- package/dist/lib/authz/audit.js.map +1 -0
- package/dist/lib/authz/auth-helper.d.ts +176 -0
- package/dist/lib/authz/auth-helper.d.ts.map +1 -0
- package/dist/lib/authz/auth-helper.js +354 -0
- package/dist/lib/authz/auth-helper.js.map +1 -0
- package/dist/lib/authz/auth-state-manager.d.ts +204 -0
- package/dist/lib/authz/auth-state-manager.d.ts.map +1 -0
- package/dist/lib/authz/auth-state-manager.js +594 -0
- package/dist/lib/authz/auth-state-manager.js.map +1 -0
- package/dist/lib/authz/authz-url.d.ts +12 -0
- package/dist/lib/authz/authz-url.d.ts.map +1 -0
- package/dist/lib/authz/authz-url.js +14 -0
- package/dist/lib/authz/authz-url.js.map +1 -0
- package/dist/lib/authz/delegation.d.ts +47 -0
- package/dist/lib/authz/delegation.d.ts.map +1 -0
- package/dist/lib/authz/delegation.js +82 -0
- package/dist/lib/authz/delegation.js.map +1 -0
- package/dist/lib/authz/email-validation.d.ts +33 -0
- package/dist/lib/authz/email-validation.d.ts.map +1 -0
- package/dist/lib/authz/email-validation.js +70 -0
- package/dist/lib/authz/email-validation.js.map +1 -0
- package/dist/lib/authz/email.d.ts +65 -0
- package/dist/lib/authz/email.d.ts.map +1 -0
- package/dist/lib/authz/email.js +112 -0
- package/dist/lib/authz/email.js.map +1 -0
- package/dist/lib/authz/index.d.ts +16 -0
- package/dist/lib/authz/index.d.ts.map +1 -0
- package/dist/lib/authz/index.js +24 -0
- package/dist/lib/authz/index.js.map +1 -0
- package/dist/lib/authz/next-client.d.ts +101 -0
- package/dist/lib/authz/next-client.d.ts.map +1 -0
- package/dist/lib/authz/next-client.js +156 -0
- package/dist/lib/authz/next-client.js.map +1 -0
- package/dist/lib/authz/passkey.d.ts +78 -0
- package/dist/lib/authz/passkey.d.ts.map +1 -0
- package/dist/lib/authz/passkey.js +458 -0
- package/dist/lib/authz/passkey.js.map +1 -0
- package/dist/lib/authz/permissions.d.ts +109 -0
- package/dist/lib/authz/permissions.d.ts.map +1 -0
- package/dist/lib/authz/permissions.js +238 -0
- package/dist/lib/authz/permissions.js.map +1 -0
- package/dist/lib/authz/rbac.d.ts +320 -0
- package/dist/lib/authz/rbac.d.ts.map +1 -0
- package/dist/lib/authz/rbac.js +532 -0
- package/dist/lib/authz/rbac.js.map +1 -0
- package/dist/lib/authz/service-audit.d.ts +41 -0
- package/dist/lib/authz/service-audit.d.ts.map +1 -0
- package/dist/lib/authz/service-audit.js +60 -0
- package/dist/lib/authz/service-audit.js.map +1 -0
- package/dist/lib/authz/session-client.d.ts +276 -0
- package/dist/lib/authz/session-client.d.ts.map +1 -0
- package/dist/lib/authz/session-client.js +325 -0
- package/dist/lib/authz/session-client.js.map +1 -0
- package/dist/lib/authz/session-route-handlers.d.ts +70 -0
- package/dist/lib/authz/session-route-handlers.d.ts.map +1 -0
- package/dist/lib/authz/session-route-handlers.js +200 -0
- package/dist/lib/authz/session-route-handlers.js.map +1 -0
- package/dist/lib/authz/sso-generator.d.ts +51 -0
- package/dist/lib/authz/sso-generator.d.ts.map +1 -0
- package/dist/lib/authz/sso-generator.js +167 -0
- package/dist/lib/authz/sso-generator.js.map +1 -0
- package/dist/lib/authz/sso-route-handler.d.ts +117 -0
- package/dist/lib/authz/sso-route-handler.d.ts.map +1 -0
- package/dist/lib/authz/sso-route-handler.js +206 -0
- package/dist/lib/authz/sso-route-handler.js.map +1 -0
- package/dist/lib/authz/sso.d.ts +157 -0
- package/dist/lib/authz/sso.d.ts.map +1 -0
- package/dist/lib/authz/sso.js +275 -0
- package/dist/lib/authz/sso.js.map +1 -0
- package/dist/lib/authz/user-management.d.ts +106 -0
- package/dist/lib/authz/user-management.d.ts.map +1 -0
- package/dist/lib/authz/user-management.js +205 -0
- package/dist/lib/authz/user-management.js.map +1 -0
- package/dist/lib/authz/zero-trust.d.ts +155 -0
- package/dist/lib/authz/zero-trust.d.ts.map +1 -0
- package/dist/lib/authz/zero-trust.js +344 -0
- package/dist/lib/authz/zero-trust.js.map +1 -0
- package/dist/lib/bridge/config.d.ts +44 -0
- package/dist/lib/bridge/config.d.ts.map +1 -0
- package/dist/lib/bridge/config.js +201 -0
- package/dist/lib/bridge/config.js.map +1 -0
- package/dist/lib/bridge/email-config.d.ts +46 -0
- package/dist/lib/bridge/email-config.d.ts.map +1 -0
- package/dist/lib/bridge/email-config.js +199 -0
- package/dist/lib/bridge/email-config.js.map +1 -0
- package/dist/lib/bridge/email.d.ts +69 -0
- package/dist/lib/bridge/email.d.ts.map +1 -0
- package/dist/lib/bridge/email.js +120 -0
- package/dist/lib/bridge/email.js.map +1 -0
- package/dist/lib/bridge/masking.d.ts +7 -0
- package/dist/lib/bridge/masking.d.ts.map +1 -0
- package/dist/lib/bridge/masking.js +13 -0
- package/dist/lib/bridge/masking.js.map +1 -0
- package/dist/lib/chat-server/agent-api-client.d.ts +151 -0
- package/dist/lib/chat-server/agent-api-client.d.ts.map +1 -0
- package/dist/lib/chat-server/agent-api-client.js +162 -0
- package/dist/lib/chat-server/agent-api-client.js.map +1 -0
- package/dist/lib/chat-server/attachments.d.ts +118 -0
- package/dist/lib/chat-server/attachments.d.ts.map +1 -0
- package/dist/lib/chat-server/attachments.js +317 -0
- package/dist/lib/chat-server/attachments.js.map +1 -0
- package/dist/lib/chat-server/cleanup.d.ts +34 -0
- package/dist/lib/chat-server/cleanup.d.ts.map +1 -0
- package/dist/lib/chat-server/cleanup.js +133 -0
- package/dist/lib/chat-server/cleanup.js.map +1 -0
- package/dist/lib/chat-server/conversations.d.ts +159 -0
- package/dist/lib/chat-server/conversations.d.ts.map +1 -0
- package/dist/lib/chat-server/conversations.js +278 -0
- package/dist/lib/chat-server/conversations.js.map +1 -0
- package/dist/lib/chat-server/insights.d.ts +84 -0
- package/dist/lib/chat-server/insights.d.ts.map +1 -0
- package/dist/lib/chat-server/insights.js +193 -0
- package/dist/lib/chat-server/insights.js.map +1 -0
- package/dist/lib/chat-server/messages.d.ts +154 -0
- package/dist/lib/chat-server/messages.d.ts.map +1 -0
- package/dist/lib/chat-server/messages.js +282 -0
- package/dist/lib/chat-server/messages.js.map +1 -0
- package/dist/lib/chat-server/middleware.d.ts +119 -0
- package/dist/lib/chat-server/middleware.d.ts.map +1 -0
- package/dist/lib/chat-server/middleware.js +234 -0
- package/dist/lib/chat-server/middleware.js.map +1 -0
- package/dist/lib/chat-server/models.d.ts +60 -0
- package/dist/lib/chat-server/models.d.ts.map +1 -0
- package/dist/lib/chat-server/models.js +205 -0
- package/dist/lib/chat-server/models.js.map +1 -0
- package/dist/lib/chat-server/search.d.ts +89 -0
- package/dist/lib/chat-server/search.d.ts.map +1 -0
- package/dist/lib/chat-server/search.js +203 -0
- package/dist/lib/chat-server/search.js.map +1 -0
- package/dist/lib/chat-server/sharing.d.ts +70 -0
- package/dist/lib/chat-server/sharing.d.ts.map +1 -0
- package/dist/lib/chat-server/sharing.js +146 -0
- package/dist/lib/chat-server/sharing.js.map +1 -0
- package/dist/lib/config/client.d.ts +111 -0
- package/dist/lib/config/client.d.ts.map +1 -0
- package/dist/lib/config/client.js +147 -0
- package/dist/lib/config/client.js.map +1 -0
- package/dist/lib/config/index.d.ts +2 -0
- package/dist/lib/config/index.d.ts.map +1 -0
- package/dist/lib/config/index.js +2 -0
- package/dist/lib/config/index.js.map +1 -0
- package/dist/lib/data/app-client.d.ts +87 -0
- package/dist/lib/data/app-client.d.ts.map +1 -0
- package/dist/lib/data/app-client.js +136 -0
- package/dist/lib/data/app-client.js.map +1 -0
- package/dist/lib/data/client.d.ts +113 -0
- package/dist/lib/data/client.d.ts.map +1 -0
- package/dist/lib/data/client.js +296 -0
- package/dist/lib/data/client.js.map +1 -0
- package/dist/lib/data/documents.d.ts +84 -0
- package/dist/lib/data/documents.d.ts.map +1 -0
- package/dist/lib/data/documents.js +250 -0
- package/dist/lib/data/documents.js.map +1 -0
- package/dist/lib/data/embeddings-app-client.d.ts +37 -0
- package/dist/lib/data/embeddings-app-client.d.ts.map +1 -0
- package/dist/lib/data/embeddings-app-client.js +72 -0
- package/dist/lib/data/embeddings-app-client.js.map +1 -0
- package/dist/lib/data/embeddings-session.d.ts +21 -0
- package/dist/lib/data/embeddings-session.d.ts.map +1 -0
- package/dist/lib/data/embeddings-session.js +47 -0
- package/dist/lib/data/embeddings-session.js.map +1 -0
- package/dist/lib/data/embeddings.d.ts +41 -0
- package/dist/lib/data/embeddings.d.ts.map +1 -0
- package/dist/lib/data/embeddings.js +88 -0
- package/dist/lib/data/embeddings.js.map +1 -0
- package/dist/lib/data/index.d.ts +11 -0
- package/dist/lib/data/index.d.ts.map +1 -0
- package/dist/lib/data/index.js +10 -0
- package/dist/lib/data/index.js.map +1 -0
- package/dist/lib/data/libraries.d.ts +124 -0
- package/dist/lib/data/libraries.d.ts.map +1 -0
- package/dist/lib/data/libraries.js +517 -0
- package/dist/lib/data/libraries.js.map +1 -0
- package/dist/lib/data/portal-config.d.ts +39 -0
- package/dist/lib/data/portal-config.d.ts.map +1 -0
- package/dist/lib/data/portal-config.js +87 -0
- package/dist/lib/data/portal-config.js.map +1 -0
- package/dist/lib/data/settings.d.ts +44 -0
- package/dist/lib/data/settings.d.ts.map +1 -0
- package/dist/lib/data/settings.js +202 -0
- package/dist/lib/data/settings.js.map +1 -0
- package/dist/lib/data/tags.d.ts +33 -0
- package/dist/lib/data/tags.d.ts.map +1 -0
- package/dist/lib/data/tags.js +190 -0
- package/dist/lib/data/tags.js.map +1 -0
- package/dist/lib/date-utils.d.ts +72 -0
- package/dist/lib/date-utils.d.ts.map +1 -0
- package/dist/lib/date-utils.js +278 -0
- package/dist/lib/date-utils.js.map +1 -0
- package/dist/lib/deploy/app-config.d.ts +96 -0
- package/dist/lib/deploy/app-config.d.ts.map +1 -0
- package/dist/lib/deploy/app-config.js +352 -0
- package/dist/lib/deploy/app-config.js.map +1 -0
- package/dist/lib/deploy/app-library.d.ts +32 -0
- package/dist/lib/deploy/app-library.d.ts.map +1 -0
- package/dist/lib/deploy/app-library.js +117 -0
- package/dist/lib/deploy/app-library.js.map +1 -0
- package/dist/lib/deploy/app-permissions.d.ts +43 -0
- package/dist/lib/deploy/app-permissions.d.ts.map +1 -0
- package/dist/lib/deploy/app-permissions.js +96 -0
- package/dist/lib/deploy/app-permissions.js.map +1 -0
- package/dist/lib/deploy/app-utils.d.ts +22 -0
- package/dist/lib/deploy/app-utils.d.ts.map +1 -0
- package/dist/lib/deploy/app-utils.js +36 -0
- package/dist/lib/deploy/app-utils.js.map +1 -0
- package/dist/lib/deploy/client.d.ts +141 -0
- package/dist/lib/deploy/client.d.ts.map +1 -0
- package/dist/lib/deploy/client.js +170 -0
- package/dist/lib/deploy/client.js.map +1 -0
- package/dist/lib/deploy/default-apps.d.ts +31 -0
- package/dist/lib/deploy/default-apps.d.ts.map +1 -0
- package/dist/lib/deploy/default-apps.js +142 -0
- package/dist/lib/deploy/default-apps.js.map +1 -0
- package/dist/lib/deploy/deployment-client.d.ts +122 -0
- package/dist/lib/deploy/deployment-client.d.ts.map +1 -0
- package/dist/lib/deploy/deployment-client.js +245 -0
- package/dist/lib/deploy/deployment-client.js.map +1 -0
- package/dist/lib/deploy/github-manifest.d.ts +52 -0
- package/dist/lib/deploy/github-manifest.d.ts.map +1 -0
- package/dist/lib/deploy/github-manifest.js +168 -0
- package/dist/lib/deploy/github-manifest.js.map +1 -0
- package/dist/lib/deploy/manifest-schema.d.ts +66 -0
- package/dist/lib/deploy/manifest-schema.d.ts.map +1 -0
- package/dist/lib/deploy/manifest-schema.js +86 -0
- package/dist/lib/deploy/manifest-schema.js.map +1 -0
- package/dist/lib/deploy/manifest-validator.d.ts +25 -0
- package/dist/lib/deploy/manifest-validator.d.ts.map +1 -0
- package/dist/lib/deploy/manifest-validator.js +142 -0
- package/dist/lib/deploy/manifest-validator.js.map +1 -0
- package/dist/lib/deploy/manifest.d.ts +45 -0
- package/dist/lib/deploy/manifest.d.ts.map +1 -0
- package/dist/lib/deploy/manifest.js +137 -0
- package/dist/lib/deploy/manifest.js.map +1 -0
- package/dist/lib/deploy/url-validation.d.ts +22 -0
- package/dist/lib/deploy/url-validation.d.ts.map +1 -0
- package/dist/lib/deploy/url-validation.js +86 -0
- package/dist/lib/deploy/url-validation.js.map +1 -0
- package/dist/lib/docs/client.d.ts +80 -0
- package/dist/lib/docs/client.d.ts.map +1 -0
- package/dist/lib/docs/client.js +160 -0
- package/dist/lib/docs/client.js.map +1 -0
- package/dist/lib/embeddings/data-client.d.ts +37 -0
- package/dist/lib/embeddings/data-client.d.ts.map +1 -0
- package/dist/lib/embeddings/data-client.js +72 -0
- package/dist/lib/embeddings/data-client.js.map +1 -0
- package/dist/lib/hooks/useAutosave.d.ts +26 -0
- package/dist/lib/hooks/useAutosave.d.ts.map +1 -0
- package/dist/lib/hooks/useAutosave.js +81 -0
- package/dist/lib/hooks/useAutosave.js.map +1 -0
- package/dist/lib/hooks/useImageUrls.d.ts +16 -0
- package/dist/lib/hooks/useImageUrls.d.ts.map +1 -0
- package/dist/lib/hooks/useImageUrls.js +64 -0
- package/dist/lib/hooks/useImageUrls.js.map +1 -0
- package/dist/lib/hooks/useIsMobile.d.ts +6 -0
- package/dist/lib/hooks/useIsMobile.d.ts.map +1 -0
- package/dist/lib/hooks/useIsMobile.js +18 -0
- package/dist/lib/hooks/useIsMobile.js.map +1 -0
- package/dist/lib/hooks/useMediaQuery.d.ts +6 -0
- package/dist/lib/hooks/useMediaQuery.d.ts.map +1 -0
- package/dist/lib/hooks/useMediaQuery.js +18 -0
- package/dist/lib/hooks/useMediaQuery.js.map +1 -0
- package/dist/lib/http/fetch-with-fallback.d.ts +35 -0
- package/dist/lib/http/fetch-with-fallback.d.ts.map +1 -0
- package/dist/lib/http/fetch-with-fallback.js +53 -0
- package/dist/lib/http/fetch-with-fallback.js.map +1 -0
- package/dist/lib/icons.d.ts +27 -0
- package/dist/lib/icons.d.ts.map +1 -0
- package/dist/lib/icons.js +212 -0
- package/dist/lib/icons.js.map +1 -0
- package/dist/lib/index.d.ts +16 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +24 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/insights/client.d.ts +131 -0
- package/dist/lib/insights/client.d.ts.map +1 -0
- package/dist/lib/insights/client.js +306 -0
- package/dist/lib/insights/client.js.map +1 -0
- package/dist/lib/insights/index.d.ts +5 -0
- package/dist/lib/insights/index.d.ts.map +1 -0
- package/dist/lib/insights/index.js +5 -0
- package/dist/lib/insights/index.js.map +1 -0
- package/dist/lib/media/access-control.d.ts +35 -0
- package/dist/lib/media/access-control.d.ts.map +1 -0
- package/dist/lib/media/access-control.js +63 -0
- package/dist/lib/media/access-control.js.map +1 -0
- package/dist/lib/media/agent-api-client.d.ts +46 -0
- package/dist/lib/media/agent-api-client.d.ts.map +1 -0
- package/dist/lib/media/agent-api-client.js +75 -0
- package/dist/lib/media/agent-api-client.js.map +1 -0
- package/dist/lib/media/creation.d.ts +25 -0
- package/dist/lib/media/creation.d.ts.map +1 -0
- package/dist/lib/media/creation.js +112 -0
- package/dist/lib/media/creation.js.map +1 -0
- package/dist/lib/media/expiration.d.ts +13 -0
- package/dist/lib/media/expiration.d.ts.map +1 -0
- package/dist/lib/media/expiration.js +95 -0
- package/dist/lib/media/expiration.js.map +1 -0
- package/dist/lib/media/image-resize.d.ts +42 -0
- package/dist/lib/media/image-resize.d.ts.map +1 -0
- package/dist/lib/media/image-resize.js +106 -0
- package/dist/lib/media/image-resize.js.map +1 -0
- package/dist/lib/media/processing.d.ts +35 -0
- package/dist/lib/media/processing.d.ts.map +1 -0
- package/dist/lib/media/processing.js +154 -0
- package/dist/lib/media/processing.js.map +1 -0
- package/dist/lib/media/status.d.ts +2 -0
- package/dist/lib/media/status.d.ts.map +1 -0
- package/dist/lib/media/status.js +141 -0
- package/dist/lib/media/status.js.map +1 -0
- package/dist/lib/media/store.d.ts +91 -0
- package/dist/lib/media/store.d.ts.map +1 -0
- package/dist/lib/media/store.js +451 -0
- package/dist/lib/media/store.js.map +1 -0
- package/dist/lib/media/upload.d.ts +41 -0
- package/dist/lib/media/upload.d.ts.map +1 -0
- package/dist/lib/media/upload.js +118 -0
- package/dist/lib/media/upload.js.map +1 -0
- package/dist/lib/media/url-normalization.d.ts +29 -0
- package/dist/lib/media/url-normalization.d.ts.map +1 -0
- package/dist/lib/media/url-normalization.js +61 -0
- package/dist/lib/media/url-normalization.js.map +1 -0
- package/dist/lib/next/api-url.d.ts +42 -0
- package/dist/lib/next/api-url.d.ts.map +1 -0
- package/dist/lib/next/api-url.js +128 -0
- package/dist/lib/next/api-url.js.map +1 -0
- package/dist/lib/next/authz-client.d.ts +120 -0
- package/dist/lib/next/authz-client.d.ts.map +1 -0
- package/dist/lib/next/authz-client.js +203 -0
- package/dist/lib/next/authz-client.js.map +1 -0
- package/dist/lib/next/middleware.d.ts +264 -0
- package/dist/lib/next/middleware.d.ts.map +1 -0
- package/dist/lib/next/middleware.js +696 -0
- package/dist/lib/next/middleware.js.map +1 -0
- package/dist/lib/next/passkey.d.ts +78 -0
- package/dist/lib/next/passkey.d.ts.map +1 -0
- package/dist/lib/next/passkey.js +380 -0
- package/dist/lib/next/passkey.js.map +1 -0
- package/dist/lib/next/service-client.d.ts +99 -0
- package/dist/lib/next/service-client.d.ts.map +1 -0
- package/dist/lib/next/service-client.js +146 -0
- package/dist/lib/next/service-client.js.map +1 -0
- package/dist/lib/next/sso.d.ts +51 -0
- package/dist/lib/next/sso.d.ts.map +1 -0
- package/dist/lib/next/sso.js +167 -0
- package/dist/lib/next/sso.js.map +1 -0
- package/dist/lib/rbac/client.d.ts +320 -0
- package/dist/lib/rbac/client.d.ts.map +1 -0
- package/dist/lib/rbac/client.js +532 -0
- package/dist/lib/rbac/client.js.map +1 -0
- package/dist/lib/rbac/index.d.ts +6 -0
- package/dist/lib/rbac/index.d.ts.map +1 -0
- package/dist/lib/rbac/index.js +6 -0
- package/dist/lib/rbac/index.js.map +1 -0
- package/dist/lib/search/app-providers.d.ts +9 -0
- package/dist/lib/search/app-providers.d.ts.map +1 -0
- package/dist/lib/search/app-providers.js +9 -0
- package/dist/lib/search/app-providers.js.map +1 -0
- package/dist/lib/search/client.d.ts +214 -0
- package/dist/lib/search/client.d.ts.map +1 -0
- package/dist/lib/search/client.js +289 -0
- package/dist/lib/search/client.js.map +1 -0
- package/dist/lib/search/config.d.ts +16 -0
- package/dist/lib/search/config.d.ts.map +1 -0
- package/dist/lib/search/config.js +20 -0
- package/dist/lib/search/config.js.map +1 -0
- package/dist/lib/search/index.d.ts +13 -0
- package/dist/lib/search/index.d.ts.map +1 -0
- package/dist/lib/search/index.js +22 -0
- package/dist/lib/search/index.js.map +1 -0
- package/dist/lib/search/providers.d.ts +105 -0
- package/dist/lib/search/providers.d.ts.map +1 -0
- package/dist/lib/search/providers.js +140 -0
- package/dist/lib/search/providers.js.map +1 -0
- package/dist/lib/services/api-client.d.ts +46 -0
- package/dist/lib/services/api-client.d.ts.map +1 -0
- package/dist/lib/services/api-client.js +80 -0
- package/dist/lib/services/api-client.js.map +1 -0
- package/dist/lib/services/app-library.d.ts +36 -0
- package/dist/lib/services/app-library.d.ts.map +1 -0
- package/dist/lib/services/app-library.js +123 -0
- package/dist/lib/services/app-library.js.map +1 -0
- package/dist/lib/services/app-utils.d.ts +22 -0
- package/dist/lib/services/app-utils.d.ts.map +1 -0
- package/dist/lib/services/app-utils.js +36 -0
- package/dist/lib/services/app-utils.js.map +1 -0
- package/dist/lib/services/audit.d.ts +41 -0
- package/dist/lib/services/audit.d.ts.map +1 -0
- package/dist/lib/services/audit.js +60 -0
- package/dist/lib/services/audit.js.map +1 -0
- package/dist/lib/services/database-cloner.d.ts +28 -0
- package/dist/lib/services/database-cloner.d.ts.map +1 -0
- package/dist/lib/services/database-cloner.js +197 -0
- package/dist/lib/services/database-cloner.js.map +1 -0
- package/dist/lib/services/default-apps.d.ts +31 -0
- package/dist/lib/services/default-apps.d.ts.map +1 -0
- package/dist/lib/services/default-apps.js +121 -0
- package/dist/lib/services/default-apps.js.map +1 -0
- package/dist/lib/services/deploy-api-client.d.ts +184 -0
- package/dist/lib/services/deploy-api-client.d.ts.map +1 -0
- package/dist/lib/services/deploy-api-client.js +208 -0
- package/dist/lib/services/deploy-api-client.js.map +1 -0
- package/dist/lib/services/deployment-service-client.d.ts +122 -0
- package/dist/lib/services/deployment-service-client.d.ts.map +1 -0
- package/dist/lib/services/deployment-service-client.js +245 -0
- package/dist/lib/services/deployment-service-client.js.map +1 -0
- package/dist/lib/services/docs.d.ts +80 -0
- package/dist/lib/services/docs.d.ts.map +1 -0
- package/dist/lib/services/docs.js +160 -0
- package/dist/lib/services/docs.js.map +1 -0
- package/dist/lib/services/email-validation.d.ts +33 -0
- package/dist/lib/services/email-validation.d.ts.map +1 -0
- package/dist/lib/services/email-validation.js +70 -0
- package/dist/lib/services/email-validation.js.map +1 -0
- package/dist/lib/services/email.d.ts +65 -0
- package/dist/lib/services/email.d.ts.map +1 -0
- package/dist/lib/services/email.js +112 -0
- package/dist/lib/services/email.js.map +1 -0
- package/dist/lib/services/github-manifest-fetcher.d.ts +74 -0
- package/dist/lib/services/github-manifest-fetcher.d.ts.map +1 -0
- package/dist/lib/services/github-manifest-fetcher.js +168 -0
- package/dist/lib/services/github-manifest-fetcher.js.map +1 -0
- package/dist/lib/services/libraries.d.ts +124 -0
- package/dist/lib/services/libraries.d.ts.map +1 -0
- package/dist/lib/services/libraries.js +507 -0
- package/dist/lib/services/libraries.js.map +1 -0
- package/dist/lib/services/litellm.d.ts +33 -0
- package/dist/lib/services/litellm.d.ts.map +1 -0
- package/dist/lib/services/litellm.js +222 -0
- package/dist/lib/services/litellm.js.map +1 -0
- package/dist/lib/services/manifest-schema.d.ts +66 -0
- package/dist/lib/services/manifest-schema.d.ts.map +1 -0
- package/dist/lib/services/manifest-schema.js +86 -0
- package/dist/lib/services/manifest-schema.js.map +1 -0
- package/dist/lib/services/manifest-validator.d.ts +25 -0
- package/dist/lib/services/manifest-validator.d.ts.map +1 -0
- package/dist/lib/services/manifest-validator.js +142 -0
- package/dist/lib/services/manifest-validator.js.map +1 -0
- package/dist/lib/services/manifest.d.ts +45 -0
- package/dist/lib/services/manifest.d.ts.map +1 -0
- package/dist/lib/services/manifest.js +137 -0
- package/dist/lib/services/manifest.js.map +1 -0
- package/dist/lib/services/permissions.d.ts +109 -0
- package/dist/lib/services/permissions.d.ts.map +1 -0
- package/dist/lib/services/permissions.js +238 -0
- package/dist/lib/services/permissions.js.map +1 -0
- package/dist/lib/services/service-client.d.ts +99 -0
- package/dist/lib/services/service-client.d.ts.map +1 -0
- package/dist/lib/services/service-client.js +146 -0
- package/dist/lib/services/service-client.js.map +1 -0
- package/dist/lib/services/tags.d.ts +37 -0
- package/dist/lib/services/tags.d.ts.map +1 -0
- package/dist/lib/services/tags.js +189 -0
- package/dist/lib/services/tags.js.map +1 -0
- package/dist/lib/services/url-validation.d.ts +22 -0
- package/dist/lib/services/url-validation.d.ts.map +1 -0
- package/dist/lib/services/url-validation.js +86 -0
- package/dist/lib/services/url-validation.js.map +1 -0
- package/dist/lib/services/user-management.d.ts +81 -0
- package/dist/lib/services/user-management.d.ts.map +1 -0
- package/dist/lib/services/user-management.js +154 -0
- package/dist/lib/services/user-management.js.map +1 -0
- package/dist/lib/sse.d.ts +113 -0
- package/dist/lib/sse.d.ts.map +1 -0
- package/dist/lib/sse.js +264 -0
- package/dist/lib/sse.js.map +1 -0
- package/dist/lib/storage/index.d.ts +11 -0
- package/dist/lib/storage/index.d.ts.map +1 -0
- package/dist/lib/storage/index.js +12 -0
- package/dist/lib/storage/index.js.map +1 -0
- package/dist/lib/storage/types.d.ts +61 -0
- package/dist/lib/storage/types.d.ts.map +1 -0
- package/dist/lib/storage/types.js +8 -0
- package/dist/lib/storage/types.js.map +1 -0
- package/dist/lib/stores/app-config-store.d.ts +90 -0
- package/dist/lib/stores/app-config-store.d.ts.map +1 -0
- package/dist/lib/stores/app-config-store.js +491 -0
- package/dist/lib/stores/app-config-store.js.map +1 -0
- package/dist/lib/stores/bridge-config-store.d.ts +44 -0
- package/dist/lib/stores/bridge-config-store.d.ts.map +1 -0
- package/dist/lib/stores/bridge-config-store.js +207 -0
- package/dist/lib/stores/bridge-config-store.js.map +1 -0
- package/dist/lib/stores/chat-config-store.d.ts +28 -0
- package/dist/lib/stores/chat-config-store.d.ts.map +1 -0
- package/dist/lib/stores/chat-config-store.js +152 -0
- package/dist/lib/stores/chat-config-store.js.map +1 -0
- package/dist/lib/stores/data-settings-store.d.ts +44 -0
- package/dist/lib/stores/data-settings-store.d.ts.map +1 -0
- package/dist/lib/stores/data-settings-store.js +202 -0
- package/dist/lib/stores/data-settings-store.js.map +1 -0
- package/dist/lib/stores/email-config-store.d.ts +45 -0
- package/dist/lib/stores/email-config-store.d.ts.map +1 -0
- package/dist/lib/stores/email-config-store.js +185 -0
- package/dist/lib/stores/email-config-store.js.map +1 -0
- package/dist/lib/stores/portal-config-store.d.ts +38 -0
- package/dist/lib/stores/portal-config-store.d.ts.map +1 -0
- package/dist/lib/stores/portal-config-store.js +238 -0
- package/dist/lib/stores/portal-config-store.js.map +1 -0
- package/dist/lib/stores/video-store.d.ts +91 -0
- package/dist/lib/stores/video-store.d.ts.map +1 -0
- package/dist/lib/stores/video-store.js +451 -0
- package/dist/lib/stores/video-store.js.map +1 -0
- package/dist/lib/utils.d.ts +13 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +52 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/lib/videos/access-control.d.ts +35 -0
- package/dist/lib/videos/access-control.d.ts.map +1 -0
- package/dist/lib/videos/access-control.js +63 -0
- package/dist/lib/videos/access-control.js.map +1 -0
- package/dist/lib/videos/agent-api-client.d.ts +46 -0
- package/dist/lib/videos/agent-api-client.d.ts.map +1 -0
- package/dist/lib/videos/agent-api-client.js +75 -0
- package/dist/lib/videos/agent-api-client.js.map +1 -0
- package/dist/lib/videos/creation.d.ts +24 -0
- package/dist/lib/videos/creation.d.ts.map +1 -0
- package/dist/lib/videos/creation.js +112 -0
- package/dist/lib/videos/creation.js.map +1 -0
- package/dist/lib/videos/expiration.d.ts +13 -0
- package/dist/lib/videos/expiration.d.ts.map +1 -0
- package/dist/lib/videos/expiration.js +95 -0
- package/dist/lib/videos/expiration.js.map +1 -0
- package/dist/lib/videos/image-resize.d.ts +42 -0
- package/dist/lib/videos/image-resize.d.ts.map +1 -0
- package/dist/lib/videos/image-resize.js +106 -0
- package/dist/lib/videos/image-resize.js.map +1 -0
- package/dist/lib/videos/processing.d.ts +35 -0
- package/dist/lib/videos/processing.d.ts.map +1 -0
- package/dist/lib/videos/processing.js +154 -0
- package/dist/lib/videos/processing.js.map +1 -0
- package/dist/lib/videos/status.d.ts +2 -0
- package/dist/lib/videos/status.d.ts.map +1 -0
- package/dist/lib/videos/status.js +141 -0
- package/dist/lib/videos/status.js.map +1 -0
- package/dist/lib/videos/upload.d.ts +41 -0
- package/dist/lib/videos/upload.d.ts.map +1 -0
- package/dist/lib/videos/upload.js +118 -0
- package/dist/lib/videos/upload.js.map +1 -0
- package/dist/lib/videos/url-normalization.d.ts +29 -0
- package/dist/lib/videos/url-normalization.d.ts.map +1 -0
- package/dist/lib/videos/url-normalization.js +61 -0
- package/dist/lib/videos/url-normalization.js.map +1 -0
- package/dist/sso/index.d.ts +3 -0
- package/dist/sso/index.d.ts.map +1 -0
- package/dist/sso/index.js +3 -0
- package/dist/sso/index.js.map +1 -0
- package/dist/sso/token.d.ts +17 -0
- package/dist/sso/token.d.ts.map +1 -0
- package/dist/sso/token.js +57 -0
- package/dist/sso/token.js.map +1 -0
- package/dist/types/chat.d.ts +128 -0
- package/dist/types/chat.d.ts.map +1 -0
- package/dist/types/chat.js +2 -0
- package/dist/types/chat.js.map +1 -0
- package/dist/types/data-documents.d.ts +78 -0
- package/dist/types/data-documents.d.ts.map +1 -0
- package/dist/types/data-documents.js +6 -0
- package/dist/types/data-documents.js.map +1 -0
- package/dist/types/documents.d.ts +63 -0
- package/dist/types/documents.d.ts.map +1 -0
- package/dist/types/documents.js +7 -0
- package/dist/types/documents.js.map +1 -0
- package/dist/types/index.d.ts +32 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +9 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/library.d.ts +94 -0
- package/dist/types/library.d.ts.map +1 -0
- package/dist/types/library.js +6 -0
- package/dist/types/library.js.map +1 -0
- package/dist/types/next-auth.d.ts +78 -0
- package/dist/types/next-auth.d.ts.map +1 -0
- package/dist/types/next-auth.js +5 -0
- package/dist/types/next-auth.js.map +1 -0
- package/dist/types/processing-history.d.ts +22 -0
- package/dist/types/processing-history.d.ts.map +1 -0
- package/dist/types/processing-history.js +7 -0
- package/dist/types/processing-history.js.map +1 -0
- package/dist/types/sso.d.ts +37 -0
- package/dist/types/sso.d.ts.map +1 -0
- package/dist/types/sso.js +2 -0
- package/dist/types/sso.js.map +1 -0
- package/dist/types/video.d.ts +118 -0
- package/dist/types/video.d.ts.map +1 -0
- package/dist/types/video.js +84 -0
- package/dist/types/video.js.map +1 -0
- package/dist/types/workflow.d.ts +222 -0
- package/dist/types/workflow.d.ts.map +1 -0
- package/dist/types/workflow.js +11 -0
- package/dist/types/workflow.js.map +1 -0
- package/package.json +201 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type VideoWithOwner } from '../../types/video';
|
|
2
|
+
interface VideoCardProps {
|
|
3
|
+
video: VideoWithOwner;
|
|
4
|
+
onDelete?: (videoId: string) => void;
|
|
5
|
+
onShare?: (videoId: string) => void;
|
|
6
|
+
onRetryStorage?: (videoId: string) => Promise<void>;
|
|
7
|
+
onCancel?: (videoId: string) => Promise<void>;
|
|
8
|
+
onResubmit?: (videoId: string) => Promise<void>;
|
|
9
|
+
onCheckStatus?: (videoId: string) => Promise<void>;
|
|
10
|
+
onRegeneratePoster?: (videoId: string, timestampSeconds?: number) => Promise<void>;
|
|
11
|
+
onRemix?: (videoId: string, remixPrompt: string) => Promise<void>;
|
|
12
|
+
showOwner?: boolean;
|
|
13
|
+
isOwner: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare function VideoCard({ video, onDelete, onShare, onRetryStorage, onCancel, onResubmit, onCheckStatus, onRegeneratePoster, onRemix, showOwner, isOwner, }: VideoCardProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=VideoCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoCard.d.ts","sourceRoot":"","sources":["../../../src/components/videos/VideoCard.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAuE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE7H,UAAU,cAAc;IACtB,KAAK,EAAE,cAAc,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnF,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,QAAQ,EACR,OAAO,EACP,cAAc,EACd,QAAQ,EACR,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,OAAO,EACP,SAAiB,EACjB,OAAO,GACR,EAAE,cAAc,2CAsnBhB"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* VideoCard Component
|
|
5
|
+
*
|
|
6
|
+
* Displays a video with status, expiration, and action buttons.
|
|
7
|
+
*/
|
|
8
|
+
import { useState } from 'react';
|
|
9
|
+
import { VideoExpirationBadge } from './VideoExpirationBadge';
|
|
10
|
+
import { VideoPlayerModal } from './VideoPlayerModal';
|
|
11
|
+
import { VideoRemixModal } from './VideoRemixModal';
|
|
12
|
+
import { useBusiboxApi, useCrossAppBasePath } from '../../contexts/ApiContext';
|
|
13
|
+
import { fetchServiceFirstFallbackNext } from '../../lib/http/fetch-with-fallback';
|
|
14
|
+
import { STATUS_LABELS, STATUS_BADGE_CLASSES, RESOLUTION_LABELS, VideoStatus } from '../../types/video';
|
|
15
|
+
export function VideoCard({ video, onDelete, onShare, onRetryStorage, onCancel, onResubmit, onCheckStatus, onRegeneratePoster, onRemix, showOwner = false, isOwner, }) {
|
|
16
|
+
const api = useBusiboxApi();
|
|
17
|
+
const mediaBasePath = useCrossAppBasePath('media');
|
|
18
|
+
const [isDeleting, setIsDeleting] = useState(false);
|
|
19
|
+
const [showDeleteConfirm, setShowDeleteConfirm] = useState(false);
|
|
20
|
+
const [isModalOpen, setIsModalOpen] = useState(false);
|
|
21
|
+
const [isRetryingStorage, setIsRetryingStorage] = useState(false);
|
|
22
|
+
const [isCancelling, setIsCancelling] = useState(false);
|
|
23
|
+
const [isResubmitting, setIsResubmitting] = useState(false);
|
|
24
|
+
const [isCheckingStatus, setIsCheckingStatus] = useState(false);
|
|
25
|
+
const [isRegeneratingPoster, setIsRegeneratingPoster] = useState(false);
|
|
26
|
+
const [showRemixModal, setShowRemixModal] = useState(false);
|
|
27
|
+
const [remixReferenceMedia, setRemixReferenceMedia] = useState(null);
|
|
28
|
+
const [posterImageError, setPosterImageError] = useState(false);
|
|
29
|
+
const handleDownload = () => {
|
|
30
|
+
if (video.downloadUrl) {
|
|
31
|
+
const urlMatch = video.downloadUrl.match(/\/api\/videos\/files\/([^/?]+)/);
|
|
32
|
+
if (urlMatch) {
|
|
33
|
+
const fileId = urlMatch[1];
|
|
34
|
+
const base = mediaBasePath.replace(/\/+$/, '');
|
|
35
|
+
const link = document.createElement('a');
|
|
36
|
+
link.href = `${base}/api/videos/files/${fileId}`;
|
|
37
|
+
link.download = `${video.prompt.substring(0, 50)}.mp4`;
|
|
38
|
+
document.body.appendChild(link);
|
|
39
|
+
link.click();
|
|
40
|
+
document.body.removeChild(link);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
window.open(video.downloadUrl, '_blank');
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const handleRetryStorage = async () => {
|
|
48
|
+
if (!onRetryStorage)
|
|
49
|
+
return;
|
|
50
|
+
setIsRetryingStorage(true);
|
|
51
|
+
try {
|
|
52
|
+
await onRetryStorage(video.id);
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
console.error('Failed to retry storage:', error);
|
|
56
|
+
}
|
|
57
|
+
finally {
|
|
58
|
+
setIsRetryingStorage(false);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
const handleCancel = async () => {
|
|
62
|
+
if (!onCancel)
|
|
63
|
+
return;
|
|
64
|
+
setIsCancelling(true);
|
|
65
|
+
try {
|
|
66
|
+
await onCancel(video.id);
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
console.error('Failed to cancel video:', error);
|
|
70
|
+
}
|
|
71
|
+
finally {
|
|
72
|
+
setIsCancelling(false);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
const handleResubmit = async () => {
|
|
76
|
+
if (!onResubmit)
|
|
77
|
+
return;
|
|
78
|
+
setIsResubmitting(true);
|
|
79
|
+
try {
|
|
80
|
+
await onResubmit(video.id);
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
console.error('Failed to resubmit video:', error);
|
|
84
|
+
}
|
|
85
|
+
finally {
|
|
86
|
+
setIsResubmitting(false);
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
const handleCheckStatus = async () => {
|
|
90
|
+
if (!onCheckStatus)
|
|
91
|
+
return;
|
|
92
|
+
setIsCheckingStatus(true);
|
|
93
|
+
try {
|
|
94
|
+
await onCheckStatus(video.id);
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
console.error('Failed to check status:', error);
|
|
98
|
+
}
|
|
99
|
+
finally {
|
|
100
|
+
setIsCheckingStatus(false);
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
const handleRegeneratePoster = async (timestampSeconds) => {
|
|
104
|
+
if (!onRegeneratePoster)
|
|
105
|
+
return;
|
|
106
|
+
setIsRegeneratingPoster(true);
|
|
107
|
+
try {
|
|
108
|
+
await onRegeneratePoster(video.id, timestampSeconds);
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
console.error('Failed to regenerate poster:', error);
|
|
112
|
+
}
|
|
113
|
+
finally {
|
|
114
|
+
setIsRegeneratingPoster(false);
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
const handleSelectFrame = async (timestampSeconds) => {
|
|
118
|
+
await handleRegeneratePoster(timestampSeconds);
|
|
119
|
+
};
|
|
120
|
+
const handleRemix = async (remixPrompt) => {
|
|
121
|
+
if (!onRemix)
|
|
122
|
+
return;
|
|
123
|
+
await onRemix(video.id, remixPrompt);
|
|
124
|
+
};
|
|
125
|
+
const handleOpenRemixModal = async () => {
|
|
126
|
+
if (video.referenceMedia) {
|
|
127
|
+
try {
|
|
128
|
+
const endpoint = `/api/videos/${video.id}`;
|
|
129
|
+
const baseUrl = api.services?.videoApiUrl ?? api.services?.agentApiUrl;
|
|
130
|
+
const response = await fetchServiceFirstFallbackNext({
|
|
131
|
+
service: { baseUrl, path: endpoint, init: { method: 'GET' } },
|
|
132
|
+
next: { nextApiBasePath: mediaBasePath, path: endpoint, init: { method: 'GET' } },
|
|
133
|
+
fallback: {
|
|
134
|
+
fallbackOnNetworkError: api.fallback?.fallbackOnNetworkError ?? true,
|
|
135
|
+
fallbackStatuses: [
|
|
136
|
+
...(api.fallback?.fallbackStatuses ?? [404, 405, 501, 502, 503, 504]),
|
|
137
|
+
401,
|
|
138
|
+
403,
|
|
139
|
+
],
|
|
140
|
+
},
|
|
141
|
+
serviceHeaders: api.serviceRequestHeaders,
|
|
142
|
+
});
|
|
143
|
+
if (!response.ok)
|
|
144
|
+
throw new Error('Failed to fetch video for remix');
|
|
145
|
+
const data = await response.json();
|
|
146
|
+
if (data.success && data.video?.referenceMedia) {
|
|
147
|
+
setRemixReferenceMedia(data.video.referenceMedia);
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
setRemixReferenceMedia(video.referenceMedia);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
catch (err) {
|
|
154
|
+
console.error('Failed to fetch video for remix:', err);
|
|
155
|
+
setRemixReferenceMedia(video.referenceMedia);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
setRemixReferenceMedia(null);
|
|
160
|
+
}
|
|
161
|
+
setShowRemixModal(true);
|
|
162
|
+
};
|
|
163
|
+
const handleDelete = async () => {
|
|
164
|
+
if (!onDelete)
|
|
165
|
+
return;
|
|
166
|
+
setIsDeleting(true);
|
|
167
|
+
try {
|
|
168
|
+
await onDelete(video.id);
|
|
169
|
+
}
|
|
170
|
+
catch (error) {
|
|
171
|
+
console.error('Delete failed:', error);
|
|
172
|
+
setIsDeleting(false);
|
|
173
|
+
setShowDeleteConfirm(false);
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
const isCompleted = video.status === VideoStatus.COMPLETED;
|
|
177
|
+
const isProcessing = [VideoStatus.QUEUED, VideoStatus.PENDING, VideoStatus.PROCESSING].includes(video.status);
|
|
178
|
+
const isFailed = video.status === VideoStatus.FAILED;
|
|
179
|
+
const isExpired = video.status === VideoStatus.EXPIRED;
|
|
180
|
+
const canCancel = isProcessing && isOwner && onCancel;
|
|
181
|
+
const canResubmit = (isFailed || isExpired) && isOwner && onResubmit;
|
|
182
|
+
const canCheckStatus = isProcessing && isOwner && onCheckStatus;
|
|
183
|
+
const canRemix = isCompleted && isOwner && onRemix;
|
|
184
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "bg-white rounded-lg border border-gray-200 shadow-sm hover:shadow-md transition-shadow overflow-hidden group", children: [_jsxs("div", { className: "relative aspect-video bg-gray-100 flex items-center justify-center cursor-pointer", onClick: () => {
|
|
185
|
+
if (isCompleted && video.downloadUrl)
|
|
186
|
+
setIsModalOpen(true);
|
|
187
|
+
}, children: [isCompleted && video.downloadUrl ? (_jsx(_Fragment, { children: video.posterUrl && !posterImageError ? (_jsxs(_Fragment, { children: [_jsx("img", { src: video.posterUrl, alt: video.prompt, className: "w-full h-full object-cover", onError: () => {
|
|
188
|
+
console.warn(`[VideoCard] Poster image failed to load: ${video.posterUrl}`);
|
|
189
|
+
setPosterImageError(true);
|
|
190
|
+
} }), _jsx("div", { className: "absolute inset-0 bg-black/0 group-hover:bg-black/30 transition-opacity flex items-center justify-center pointer-events-none", children: _jsx("div", { className: "bg-white bg-opacity-90 rounded-full p-3 opacity-0 group-hover:opacity-100 transition-opacity shadow-lg", children: _jsx("svg", { className: "h-8 w-8 text-gray-800", fill: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { d: "M8 5v14l11-7z" }) }) }) })] })) : (_jsxs(_Fragment, { children: [_jsx("video", { src: video.downloadUrl, className: "w-full h-full object-cover", playsInline: true, muted: true, loop: true, preload: "metadata", onMouseOver: (e) => {
|
|
191
|
+
const videoEl = e.target;
|
|
192
|
+
videoEl.currentTime = 0;
|
|
193
|
+
videoEl.play().catch(() => { });
|
|
194
|
+
}, onMouseOut: (e) => {
|
|
195
|
+
const videoEl = e.target;
|
|
196
|
+
videoEl.pause();
|
|
197
|
+
videoEl.currentTime = 0;
|
|
198
|
+
} }), _jsx("div", { className: "absolute inset-0 bg-black/0 group-hover:bg-black/30 transition-opacity flex items-center justify-center pointer-events-none", children: _jsx("div", { className: "bg-white bg-opacity-90 rounded-full p-3 opacity-0 group-hover:opacity-100 transition-opacity shadow-lg", children: _jsx("svg", { className: "h-8 w-8 text-gray-800", fill: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { d: "M8 5v14l11-7z" }) }) }) })] })) })) : isProcessing ? (_jsx("div", { className: "animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600" })) : isFailed ? (_jsx("svg", { className: "h-12 w-12 text-red-600", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" }) })) : isExpired ? (_jsx("svg", { className: "h-12 w-12 text-gray-600", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z" }) })) : (_jsxs("svg", { className: "h-12 w-12 text-gray-400", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: [_jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z" }), _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M21 12a9 9 0 11-18 0 9 9 0 0118 0z" })] })), isProcessing && video.progress !== null && (_jsx("div", { className: "absolute bottom-0 left-0 right-0 h-1 bg-gray-200", children: _jsx("div", { className: "h-full bg-blue-600 transition-all duration-300", style: { width: `${video.progress}%` } }) })), video.referenceMedia && (_jsx("div", { className: "absolute top-2 left-2", children: _jsxs("span", { className: "inline-flex items-center px-2 py-1 rounded-full text-xs font-medium bg-purple-100 text-purple-800", children: [video.referenceMedia.fileType === 'image' ? '🖼️' : '🎬', " Reference"] }) }))] }), _jsxs("div", { className: "p-4", children: [_jsxs("div", { className: "flex items-start justify-between mb-2", children: [_jsx("span", { className: `inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium ${STATUS_BADGE_CLASSES[video.status]}`, children: STATUS_LABELS[video.status] }), video.expiresAt && !(video.downloadUrl && video.posterUrl) && _jsx(VideoExpirationBadge, { expiresAt: new Date(video.expiresAt) }), video.downloadUrl && video.posterUrl && (_jsxs("span", { className: "inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-green-100 text-green-800", title: "Video is permanently stored", children: [_jsx("svg", { className: "mr-1 h-3 w-3", fill: "currentColor", viewBox: "0 0 20 20", children: _jsx("path", { fillRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z", clipRule: "evenodd" }) }), "Stored"] }))] }), _jsx("p", { className: "text-sm text-gray-900 font-medium line-clamp-2 mb-2", title: video.prompt, children: video.prompt }), _jsxs("div", { className: "space-y-1 text-xs text-gray-500 mb-3", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsxs("span", { children: [video.durationSeconds, "s"] }), _jsx("span", { children: "\u2022" }), _jsx("span", { children: RESOLUTION_LABELS[video.resolution] || video.resolution })] }), showOwner && (_jsxs("div", { className: "flex items-center gap-1", children: [_jsx("svg", { className: "h-3 w-3", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z" }) }), _jsx("span", { children: video.owner.email })] })), _jsxs("div", { className: "flex items-center gap-1", children: [_jsx("svg", { className: "h-3 w-3", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z" }) }), _jsx("span", { children: new Date(video.createdAt).toLocaleDateString() })] }), _jsx("div", { className: "flex items-center gap-1", children: video.visibility === 'PRIVATE' ? (_jsxs(_Fragment, { children: [_jsx("svg", { className: "h-3 w-3", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z" }) }), _jsx("span", { children: "Private" })] })) : video.visibility === 'PUBLIC' ? (_jsxs(_Fragment, { children: [_jsx("svg", { className: "h-3 w-3", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M3.055 11H5a2 2 0 012 2v1a2 2 0 002 2 2 2 0 002 2h2.945M15 15v.05M9 20v.05M15 3v.05M9 3v.05M3 12a9 9 0 1118 0 9 9 0 01-18 0z" }) }), _jsx("span", { children: "Public" })] })) : video.visibility === 'SHARED' ? (_jsxs(_Fragment, { children: [_jsx("svg", { className: "h-3 w-3", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z" }) }), _jsxs("span", { children: ["Shared with ", video.shareCount, " ", video.shareCount === 1 ? 'user' : 'users'] })] })) : null })] }), isFailed && video.errorMessage && _jsx("div", { className: "mb-3 p-2 bg-red-50 border border-red-200 rounded text-xs text-red-800", children: video.errorMessage }), isCompleted && !video.downloadUrl && video.errorMessage && String(video.errorMessage).includes('storage failed') && (_jsx("div", { className: "mb-3 p-2 bg-amber-50 border border-amber-200 rounded text-xs", children: _jsxs("div", { className: "flex items-start justify-between gap-2", children: [_jsxs("div", { className: "flex-1 text-amber-800", children: [_jsx("p", { className: "font-medium mb-1", children: "Storage Failed" }), _jsx("p", { children: video.errorMessage })] }), isOwner && onRetryStorage && (_jsx("button", { onClick: handleRetryStorage, disabled: isRetryingStorage, className: "px-3 py-1 bg-amber-600 text-white text-xs font-medium rounded hover:bg-amber-700 transition-colors disabled:opacity-50 disabled:cursor-not-allowed flex items-center gap-1 whitespace-nowrap", title: "Retry downloading and storing the video", children: isRetryingStorage ? (_jsxs(_Fragment, { children: [_jsxs("svg", { className: "animate-spin h-3 w-3", fill: "none", viewBox: "0 0 24 24", children: [_jsx("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), _jsx("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" })] }), "Retrying..."] })) : (_jsxs(_Fragment, { children: [_jsx("svg", { className: "h-3 w-3", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15" }) }), "Retry Storage"] })) }))] }) })), isCompleted && video.downloadUrl && (!video.posterUrl || posterImageError) && isOwner && onRegeneratePoster && (_jsx("div", { className: "mb-3 p-2 bg-blue-50 border border-blue-200 rounded text-xs", children: _jsxs("div", { className: "flex items-start justify-between gap-2", children: [_jsxs("div", { className: "flex-1 text-blue-800", children: [_jsx("p", { className: "font-medium mb-1", children: "Thumbnail Missing or Invalid" }), _jsxs("p", { children: [posterImageError ? 'The thumbnail image failed to load.' : "This video doesn't have a thumbnail image.", " Click the button to generate one from the video."] })] }), _jsx("button", { onClick: () => handleRegeneratePoster(), disabled: isRegeneratingPoster, className: "px-3 py-1 bg-blue-600 text-white text-xs font-medium rounded hover:bg-blue-700 transition-colors disabled:opacity-50 disabled:cursor-not-allowed flex items-center gap-1 whitespace-nowrap", title: "Generate thumbnail image from video", children: isRegeneratingPoster ? (_jsxs(_Fragment, { children: [_jsxs("svg", { className: "animate-spin h-3 w-3", fill: "none", viewBox: "0 0 24 24", children: [_jsx("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), _jsx("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" })] }), "Generating..."] })) : (_jsxs(_Fragment, { children: [_jsx("svg", { className: "h-3 w-3", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z" }) }), "Generate Thumbnail"] })) })] }) })), _jsxs("div", { className: "flex gap-2 flex-wrap", children: [canCheckStatus && (_jsx("button", { onClick: handleCheckStatus, disabled: isCheckingStatus, className: "px-3 py-2 bg-gray-100 text-gray-700 text-sm font-medium rounded hover:bg-gray-200 transition-colors disabled:opacity-50 disabled:cursor-not-allowed flex items-center gap-1", title: "Check current status and progress from OpenAI", children: isCheckingStatus ? (_jsxs(_Fragment, { children: [_jsxs("svg", { className: "animate-spin h-4 w-4", fill: "none", viewBox: "0 0 24 24", children: [_jsx("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), _jsx("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" })] }), "Checking..."] })) : (_jsxs(_Fragment, { children: [_jsx("svg", { className: "h-4 w-4", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15" }) }), "Check Status"] })) })), canCancel && (_jsx("button", { onClick: handleCancel, disabled: isCancelling, className: "px-3 py-2 bg-red-100 text-red-700 text-sm font-medium rounded hover:bg-red-200 transition-colors disabled:opacity-50 disabled:cursor-not-allowed flex items-center gap-1", title: "Cancel video generation", children: isCancelling ? (_jsxs(_Fragment, { children: [_jsxs("svg", { className: "animate-spin h-4 w-4", fill: "none", viewBox: "0 0 24 24", children: [_jsx("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), _jsx("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" })] }), "Cancelling..."] })) : (_jsxs(_Fragment, { children: [_jsx("svg", { className: "h-4 w-4", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }), "Cancel"] })) })), canResubmit && (_jsx("button", { onClick: handleResubmit, disabled: isResubmitting, className: "px-3 py-2 bg-blue-100 text-blue-700 text-sm font-medium rounded hover:bg-blue-200 transition-colors disabled:opacity-50 disabled:cursor-not-allowed flex items-center gap-1", title: "Resubmit video generation with same parameters", children: isResubmitting ? (_jsxs(_Fragment, { children: [_jsxs("svg", { className: "animate-spin h-4 w-4", fill: "none", viewBox: "0 0 24 24", children: [_jsx("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), _jsx("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" })] }), "Resubmitting..."] })) : (_jsxs(_Fragment, { children: [_jsx("svg", { className: "h-4 w-4", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15" }) }), "Resubmit"] })) })), canRemix && (_jsxs("button", { onClick: handleOpenRemixModal, className: "px-3 py-2 bg-purple-100 text-purple-700 text-sm font-medium rounded hover:bg-purple-200 transition-colors flex items-center gap-1", title: "Create a remix with modified prompt", children: [_jsx("svg", { className: "h-4 w-4", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15" }) }), "Remix"] })), isCompleted && video.downloadUrl && (_jsxs("button", { onClick: handleDownload, className: "flex-1 px-3 py-2 bg-blue-600 text-white text-sm font-medium rounded hover:bg-blue-700 transition-colors flex items-center justify-center gap-1", children: [_jsx("svg", { className: "h-4 w-4", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4" }) }), "Download"] })), isOwner && isCompleted && onShare && (_jsx("button", { onClick: () => onShare(video.id), className: "px-3 py-2 bg-gray-100 text-gray-700 text-sm font-medium rounded hover:bg-gray-200 transition-colors", title: "Share video", children: _jsx("svg", { className: "h-4 w-4", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8.684 13.342C8.886 12.938 9 12.482 9 12c0-.482-.114-.938-.316-1.342m0 2.684a3 3 0 110-2.684m0 2.684l6.632 3.316m-6.632-6l6.632-3.316m0 0a3 3 0 105.367-2.684 3 3 0 00-5.367 2.684zm0 9.316a3 3 0 105.368 2.684 3 3 0 00-5.368-2.684z" }) }) })), isOwner && onDelete && !showDeleteConfirm && (_jsx("button", { onClick: () => setShowDeleteConfirm(true), className: "px-3 py-2 bg-gray-100 text-gray-700 text-sm font-medium rounded hover:bg-red-100 hover:text-red-700 transition-colors", title: "Delete video", children: _jsx("svg", { className: "h-4 w-4", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16" }) }) })), showDeleteConfirm && (_jsxs(_Fragment, { children: [_jsx("button", { onClick: handleDelete, disabled: isDeleting, className: "flex-1 px-3 py-2 bg-red-600 text-white text-sm font-medium rounded hover:bg-red-700 transition-colors disabled:opacity-50 disabled:cursor-not-allowed", children: isDeleting ? 'Deleting...' : 'Confirm Delete' }), _jsx("button", { onClick: () => setShowDeleteConfirm(false), disabled: isDeleting, className: "px-3 py-2 bg-gray-100 text-gray-700 text-sm font-medium rounded hover:bg-gray-200 transition-colors disabled:opacity-50", children: "Cancel" })] }))] })] })] }), isModalOpen && video.downloadUrl && (_jsx(VideoPlayerModal, { videoUrl: video.downloadUrl, videoId: isOwner && onRegeneratePoster ? video.id : undefined, onClose: () => setIsModalOpen(false), onSelectFrame: isOwner && onRegeneratePoster ? handleSelectFrame : undefined })), showRemixModal && (_jsx(VideoRemixModal, { isOpen: showRemixModal, onClose: () => {
|
|
199
|
+
setShowRemixModal(false);
|
|
200
|
+
setRemixReferenceMedia(null);
|
|
201
|
+
}, originalPrompt: video.prompt, referenceMedia: remixReferenceMedia, onRemix: handleRemix }))] }));
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=VideoCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoCard.js","sourceRoot":"","sources":["../../../src/components/videos/VideoCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
interface VideoExpirationBadgeProps {
|
|
2
|
+
expiresAt: Date | null;
|
|
3
|
+
className?: string;
|
|
4
|
+
}
|
|
5
|
+
export declare function VideoExpirationBadge({ expiresAt, className }: VideoExpirationBadgeProps): import("react/jsx-runtime").JSX.Element | null;
|
|
6
|
+
export declare function VideoExpirationBadgeCompact({ expiresAt }: VideoExpirationBadgeProps): import("react/jsx-runtime").JSX.Element | null;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=VideoExpirationBadge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoExpirationBadge.d.ts","sourceRoot":"","sources":["../../../src/components/videos/VideoExpirationBadge.tsx"],"names":[],"mappings":"AAQA,UAAU,yBAAyB;IACjC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,oBAAoB,CAAC,EAAE,SAAS,EAAE,SAAc,EAAE,EAAE,yBAAyB,kDAkC5F;AAED,wBAAgB,2BAA2B,CAAC,EAAE,SAAS,EAAE,EAAE,yBAAyB,kDAcnF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* VideoExpirationBadge Component
|
|
5
|
+
*/
|
|
6
|
+
import { getExpirationStatus } from '../../lib/media/expiration';
|
|
7
|
+
export function VideoExpirationBadge({ expiresAt, className = '' }) {
|
|
8
|
+
if (!expiresAt)
|
|
9
|
+
return null;
|
|
10
|
+
const status = getExpirationStatus(expiresAt);
|
|
11
|
+
if (!status)
|
|
12
|
+
return null;
|
|
13
|
+
return (_jsxs("span", { className: `inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium ${status.badgeClass} ${className}`, title: `Video will be deleted from OpenAI servers on ${expiresAt.toLocaleDateString()}`, children: [status.severity === 'critical' && (_jsx("svg", { className: "mr-1 h-3 w-3", fill: "currentColor", viewBox: "0 0 20 20", children: _jsx("path", { fillRule: "evenodd", d: "M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z", clipRule: "evenodd" }) })), status.severity === 'warning' && (_jsx("svg", { className: "mr-1 h-3 w-3", fill: "currentColor", viewBox: "0 0 20 20", children: _jsx("path", { fillRule: "evenodd", d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z", clipRule: "evenodd" }) })), status.label] }));
|
|
14
|
+
}
|
|
15
|
+
export function VideoExpirationBadgeCompact({ expiresAt }) {
|
|
16
|
+
if (!expiresAt)
|
|
17
|
+
return null;
|
|
18
|
+
const status = getExpirationStatus(expiresAt);
|
|
19
|
+
if (!status)
|
|
20
|
+
return null;
|
|
21
|
+
if (status.severity === 'normal')
|
|
22
|
+
return null;
|
|
23
|
+
return (_jsxs("span", { className: `inline-flex items-center px-1.5 py-0.5 rounded text-xs font-medium ${status.badgeClass}`, title: status.label, children: [status.severity === 'critical' && '⚠️', status.severity === 'warning' && 'ℹ️'] }));
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=VideoExpirationBadge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoExpirationBadge.js","sourceRoot":"","sources":["../../../src/components/videos/VideoExpirationBadge.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAOjE,MAAM,UAAU,oBAAoB,CAAC,EAAE,SAAS,EAAE,SAAS,GAAG,EAAE,EAA6B;IAC3F,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,OAAO,CACL,gBACE,SAAS,EAAE,2EAA2E,MAAM,CAAC,UAAU,IAAI,SAAS,EAAE,EACtH,KAAK,EAAE,gDAAgD,SAAS,CAAC,kBAAkB,EAAE,EAAE,aAEtF,MAAM,CAAC,QAAQ,KAAK,UAAU,IAAI,CACjC,cAAK,SAAS,EAAC,cAAc,EAAC,IAAI,EAAC,cAAc,EAAC,OAAO,EAAC,WAAW,YACnE,eACE,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,mNAAmN,EACrN,QAAQ,EAAC,SAAS,GAClB,GACE,CACP,EAEA,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,CAChC,cAAK,SAAS,EAAC,cAAc,EAAC,IAAI,EAAC,cAAc,EAAC,OAAO,EAAC,WAAW,YACnE,eACE,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,kIAAkI,EACpI,QAAQ,EAAC,SAAS,GAClB,GACE,CACP,EAEA,MAAM,CAAC,KAAK,IACR,CACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,EAAE,SAAS,EAA6B;IAClF,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE9C,OAAO,CACL,gBAAM,SAAS,EAAE,sEAAsE,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,aAC5H,MAAM,CAAC,QAAQ,KAAK,UAAU,IAAI,IAAI,EACtC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,IACjC,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface VideoPlayerModalProps {
|
|
2
|
+
videoUrl: string;
|
|
3
|
+
videoId?: string;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
onSelectFrame?: (timestampSeconds: number) => Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
export declare function VideoPlayerModal({ videoUrl, videoId, onClose, onSelectFrame }: VideoPlayerModalProps): import("react").ReactPortal;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=VideoPlayerModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoPlayerModal.d.ts","sourceRoot":"","sources":["../../../src/components/videos/VideoPlayerModal.tsx"],"names":[],"mappings":"AAKA,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D;AAED,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,qBAAqB,+BA6GpG"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect, useRef, useState } from 'react';
|
|
4
|
+
import { createPortal } from 'react-dom';
|
|
5
|
+
export function VideoPlayerModal({ videoUrl, videoId, onClose, onSelectFrame }) {
|
|
6
|
+
const videoRef = useRef(null);
|
|
7
|
+
const [currentTime, setCurrentTime] = useState(0);
|
|
8
|
+
const [duration, setDuration] = useState(0);
|
|
9
|
+
const [isSelectingFrame, setIsSelectingFrame] = useState(false);
|
|
10
|
+
const [showFrameSelection, setShowFrameSelection] = useState(false);
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
document.body.style.overflow = 'hidden';
|
|
13
|
+
return () => {
|
|
14
|
+
document.body.style.overflow = 'unset';
|
|
15
|
+
};
|
|
16
|
+
}, []);
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
const video = videoRef.current;
|
|
19
|
+
if (!video)
|
|
20
|
+
return;
|
|
21
|
+
const handleTimeUpdate = () => setCurrentTime(video.currentTime);
|
|
22
|
+
const handleLoadedMetadata = () => setDuration(video.duration);
|
|
23
|
+
video.addEventListener('timeupdate', handleTimeUpdate);
|
|
24
|
+
video.addEventListener('loadedmetadata', handleLoadedMetadata);
|
|
25
|
+
return () => {
|
|
26
|
+
video.removeEventListener('timeupdate', handleTimeUpdate);
|
|
27
|
+
video.removeEventListener('loadedmetadata', handleLoadedMetadata);
|
|
28
|
+
};
|
|
29
|
+
}, []);
|
|
30
|
+
const handleSelectFrame = async () => {
|
|
31
|
+
if (!videoRef.current || !onSelectFrame || isSelectingFrame)
|
|
32
|
+
return;
|
|
33
|
+
setIsSelectingFrame(true);
|
|
34
|
+
try {
|
|
35
|
+
await onSelectFrame(videoRef.current.currentTime);
|
|
36
|
+
onClose();
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
console.error('Failed to select frame:', error);
|
|
40
|
+
alert('Failed to set poster frame. Please try again.');
|
|
41
|
+
}
|
|
42
|
+
finally {
|
|
43
|
+
setIsSelectingFrame(false);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
const formatTime = (seconds) => {
|
|
47
|
+
const mins = Math.floor(seconds / 60);
|
|
48
|
+
const secs = Math.floor(seconds % 60);
|
|
49
|
+
return `${mins}:${secs.toString().padStart(2, '0')}`;
|
|
50
|
+
};
|
|
51
|
+
const modalContent = (_jsx("div", { className: "fixed inset-0 bg-black bg-opacity-75 flex items-center justify-center z-[9999]", onClick: onClose, children: _jsxs("div", { className: "bg-white rounded-lg shadow-xl max-w-4xl w-full mx-4 max-h-[90vh] overflow-hidden", onClick: (e) => e.stopPropagation(), children: [_jsxs("div", { className: "p-4 border-b border-gray-200 flex items-center justify-between", children: [_jsxs("div", { children: [_jsx("h3", { className: "text-lg font-semibold text-gray-900", children: "Video Preview" }), videoId && _jsxs("p", { className: "text-xs text-gray-500", children: ["ID: ", videoId] })] }), _jsx("button", { onClick: onClose, className: "text-gray-400 hover:text-gray-600 transition-colors", children: _jsx("svg", { className: "h-6 w-6", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }) })] }), _jsxs("div", { className: "p-4", children: [_jsx("video", { ref: videoRef, src: videoUrl, controls: true, className: "w-full rounded bg-black max-h-[60vh]" }), onSelectFrame && (_jsxs("div", { className: "mt-4 border-t border-gray-200 pt-4", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { children: [_jsx("h4", { className: "text-sm font-medium text-gray-900", children: "Poster Frame" }), _jsx("p", { className: "text-xs text-gray-500", children: "Select a timestamp to set as the poster image" })] }), _jsx("button", { onClick: () => setShowFrameSelection((s) => !s), className: "px-3 py-2 text-sm bg-gray-100 rounded-lg hover:bg-gray-200 transition-colors", type: "button", children: showFrameSelection ? 'Hide' : 'Choose Frame' })] }), showFrameSelection && (_jsxs("div", { className: "mt-3 flex items-center gap-3", children: [_jsxs("div", { className: "text-sm text-gray-700", children: ["Current: ", _jsx("span", { className: "font-mono", children: formatTime(currentTime) }), " /", ' ', _jsx("span", { className: "font-mono", children: formatTime(duration) })] }), _jsx("button", { onClick: handleSelectFrame, disabled: isSelectingFrame, className: "ml-auto px-4 py-2 bg-blue-600 text-white rounded-lg text-sm font-medium hover:bg-blue-700 transition-colors disabled:opacity-50 disabled:cursor-not-allowed", type: "button", children: isSelectingFrame ? 'Setting...' : 'Set Poster Frame' })] }))] }))] })] }) }));
|
|
52
|
+
return createPortal(modalContent, document.body);
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=VideoPlayerModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoPlayerModal.js","sourceRoot":"","sources":["../../../src/components/videos/VideoPlayerModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
interface ReferenceMedia {
|
|
2
|
+
fileType: 'image' | 'video';
|
|
3
|
+
base64?: string;
|
|
4
|
+
base64Data?: string;
|
|
5
|
+
id?: string;
|
|
6
|
+
}
|
|
7
|
+
interface VideoRemixModalProps {
|
|
8
|
+
isOpen: boolean;
|
|
9
|
+
onClose: () => void;
|
|
10
|
+
originalPrompt: string;
|
|
11
|
+
referenceMedia?: ReferenceMedia | null;
|
|
12
|
+
onRemix: (remixPrompt: string) => Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
export declare function VideoRemixModal({ isOpen, onClose, originalPrompt, referenceMedia, onRemix }: VideoRemixModalProps): import("react/jsx-runtime").JSX.Element | null;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=VideoRemixModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoRemixModal.d.ts","sourceRoot":"","sources":["../../../src/components/videos/VideoRemixModal.tsx"],"names":[],"mappings":"AAIA,UAAU,cAAc;IACtB,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,UAAU,oBAAoB;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAED,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,oBAAoB,kDAuIjH"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { useState, useEffect } from 'react';
|
|
4
|
+
export function VideoRemixModal({ isOpen, onClose, originalPrompt, referenceMedia, onRemix }) {
|
|
5
|
+
const [remixPrompt, setRemixPrompt] = useState('');
|
|
6
|
+
const [isRemixing, setIsRemixing] = useState(false);
|
|
7
|
+
const [error, setError] = useState(null);
|
|
8
|
+
const [referenceImageData, setReferenceImageData] = useState(null);
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
if (isOpen) {
|
|
11
|
+
setRemixPrompt(originalPrompt);
|
|
12
|
+
setError(null);
|
|
13
|
+
if (referenceMedia?.fileType === 'image' && (referenceMedia.base64 || referenceMedia.base64Data)) {
|
|
14
|
+
setReferenceImageData(referenceMedia.base64 || referenceMedia.base64Data || null);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
setReferenceImageData(null);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}, [isOpen, originalPrompt, referenceMedia]);
|
|
21
|
+
const handleRemix = async () => {
|
|
22
|
+
if (!remixPrompt.trim()) {
|
|
23
|
+
setError('Please enter a remix prompt');
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
setIsRemixing(true);
|
|
27
|
+
setError(null);
|
|
28
|
+
try {
|
|
29
|
+
await onRemix(remixPrompt.trim());
|
|
30
|
+
onClose();
|
|
31
|
+
}
|
|
32
|
+
catch (err) {
|
|
33
|
+
const e = err;
|
|
34
|
+
setError(e.message || 'Failed to create remix');
|
|
35
|
+
}
|
|
36
|
+
finally {
|
|
37
|
+
setIsRemixing(false);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
const handleKeyDown = (e) => {
|
|
41
|
+
if (e.key === 'Escape')
|
|
42
|
+
onClose();
|
|
43
|
+
};
|
|
44
|
+
if (!isOpen)
|
|
45
|
+
return null;
|
|
46
|
+
return (_jsx("div", { className: "fixed inset-0 z-[9999] flex items-center justify-center bg-black bg-opacity-50", onClick: onClose, onKeyDown: handleKeyDown, children: _jsx("div", { className: "bg-white rounded-lg shadow-xl max-w-2xl w-full mx-4 max-h-[90vh] overflow-y-auto", onClick: (e) => e.stopPropagation(), children: _jsxs("div", { className: "p-6", children: [_jsxs("div", { className: "flex items-center justify-between mb-4", children: [_jsx("h2", { className: "text-2xl font-bold text-gray-900", children: "Remix Video" }), _jsx("button", { onClick: onClose, className: "text-gray-400 hover:text-gray-600 transition-colors", disabled: isRemixing, children: _jsx("svg", { className: "w-6 h-6", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }) })] }), _jsxs("div", { className: "mb-4 p-3 bg-gray-50 rounded-lg border border-gray-200", children: [_jsx("p", { className: "text-xs font-medium text-gray-500 mb-1", children: "Original Prompt:" }), _jsx("p", { className: "text-sm text-gray-700", children: originalPrompt })] }), referenceMedia && referenceMedia.fileType === 'image' && referenceImageData && (_jsxs("div", { className: "mb-4", children: [_jsx("p", { className: "text-xs font-medium text-gray-500 mb-2", children: "Reference Image (will be reused):" }), _jsx("div", { className: "border border-gray-200 rounded-lg overflow-hidden bg-gray-50", children: _jsx("img", { src: referenceImageData, alt: "Reference image", className: "w-full h-auto max-h-64 object-contain" }) })] })), _jsxs("div", { className: "mb-4", children: [_jsx("label", { htmlFor: "remix-prompt", className: "block text-sm font-medium text-gray-700 mb-2", children: "Remix Prompt" }), _jsx("textarea", { id: "remix-prompt", value: remixPrompt, onChange: (e) => setRemixPrompt(e.target.value), placeholder: "Modify the prompt to create a remix...", rows: 6, className: "w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#1a4d4d] focus:border-transparent resize-none", disabled: isRemixing }), _jsx("p", { className: "mt-2 text-xs text-gray-500", children: "Modify the prompt to create a variation of the original video. The remix will use the same duration, resolution, and reference media (if any)." })] }), error && (_jsx("div", { className: "mb-4 p-3 bg-red-50 border border-red-200 rounded-lg", children: _jsx("p", { className: "text-sm text-red-800", children: error }) })), _jsxs("div", { className: "flex gap-3 justify-end", children: [_jsx("button", { onClick: onClose, disabled: isRemixing, className: "px-4 py-2 text-gray-700 bg-gray-100 rounded-lg hover:bg-gray-200 transition-colors disabled:opacity-50 disabled:cursor-not-allowed", children: "Cancel" }), _jsx("button", { onClick: handleRemix, disabled: isRemixing || !remixPrompt.trim(), className: "px-4 py-2 bg-[#1a4d4d] text-white rounded-lg hover:bg-[#2d6666] transition-colors disabled:opacity-50 disabled:cursor-not-allowed flex items-center gap-2", children: isRemixing ? (_jsxs(_Fragment, { children: [_jsxs("svg", { className: "animate-spin h-4 w-4", fill: "none", viewBox: "0 0 24 24", children: [_jsx("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), _jsx("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" })] }), "Creating Remix..."] })) : (_jsxs(_Fragment, { children: [_jsx("svg", { className: "w-4 h-4", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15" }) }), "Create Remix"] })) })] })] }) }) }));
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=VideoRemixModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoRemixModal.js","sourceRoot":"","sources":["../../../src/components/videos/VideoRemixModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type VideoWithOwner, type VideoWithShares } from '../../types/video';
|
|
2
|
+
interface VideoShareModalProps {
|
|
3
|
+
video: VideoWithOwner | VideoWithShares;
|
|
4
|
+
isOpen: boolean;
|
|
5
|
+
onClose: () => void;
|
|
6
|
+
onSharesUpdated: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function VideoShareModal({ video, isOpen, onClose, onSharesUpdated }: VideoShareModalProps): import("react/jsx-runtime").JSX.Element | null;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=VideoShareModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoShareModal.d.ts","sourceRoot":"","sources":["../../../src/components/videos/VideoShareModal.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAmB,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAY/F,UAAU,oBAAoB;IAC5B,KAAK,EAAE,cAAc,GAAG,eAAe,CAAC;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,oBAAoB,kDAiThG"}
|