@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,169 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* Advanced Document Search Component
|
|
5
|
+
*
|
|
6
|
+
* Full-featured search with:
|
|
7
|
+
* - Search mode selection (keyword, semantic, hybrid)
|
|
8
|
+
* - Reranker model selection
|
|
9
|
+
* - Results grouped by document with expandable excerpts
|
|
10
|
+
* - Highlighting of matched terms
|
|
11
|
+
*/
|
|
12
|
+
import { useState, useCallback } from 'react';
|
|
13
|
+
import { useBusiboxApi, useCrossAppApiPath, useCrossAppBasePath } from '../../contexts/ApiContext';
|
|
14
|
+
import { fetchServiceFirstFallbackNext } from '../../lib/http/fetch-with-fallback';
|
|
15
|
+
function highlightText(text, query, highlights) {
|
|
16
|
+
// If server-side highlights are available, use them
|
|
17
|
+
if (highlights && highlights.length > 0) {
|
|
18
|
+
// Just use the first highlight's fragment which has HTML markup
|
|
19
|
+
const fragment = highlights[0].fragment;
|
|
20
|
+
return _jsx("span", { dangerouslySetInnerHTML: { __html: fragment } });
|
|
21
|
+
}
|
|
22
|
+
// Fallback to client-side highlighting
|
|
23
|
+
if (!query.trim())
|
|
24
|
+
return _jsx(_Fragment, { children: text });
|
|
25
|
+
const terms = query
|
|
26
|
+
.trim()
|
|
27
|
+
.split(/\s+/)
|
|
28
|
+
.map((term) => term.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'))
|
|
29
|
+
.filter((term) => term.length > 2);
|
|
30
|
+
if (terms.length === 0)
|
|
31
|
+
return _jsx(_Fragment, { children: text });
|
|
32
|
+
const pattern = new RegExp(`(${terms.join('|')})`, 'gi');
|
|
33
|
+
const parts = text.split(pattern);
|
|
34
|
+
return (_jsx(_Fragment, { children: parts.map((part, index) => {
|
|
35
|
+
const isMatch = terms.some((term) => part.toLowerCase() === term.toLowerCase());
|
|
36
|
+
return isMatch ? (_jsx("mark", { className: "bg-yellow-200 font-medium px-0.5 rounded", children: part }, index)) : (_jsx("span", { children: part }, index));
|
|
37
|
+
}) }));
|
|
38
|
+
}
|
|
39
|
+
function truncateText(text, maxLength = 200) {
|
|
40
|
+
if (text.length <= maxLength)
|
|
41
|
+
return text;
|
|
42
|
+
return text.slice(0, maxLength) + '...';
|
|
43
|
+
}
|
|
44
|
+
export function DocumentSearchAdvanced() {
|
|
45
|
+
const api = useBusiboxApi();
|
|
46
|
+
const resolve = useCrossAppApiPath();
|
|
47
|
+
const documentsBase = useCrossAppBasePath('documents');
|
|
48
|
+
const [query, setQuery] = useState('');
|
|
49
|
+
const [searchMode, setSearchMode] = useState('hybrid');
|
|
50
|
+
const [rerankerModel, setRerankerModel] = useState('none');
|
|
51
|
+
const [searching, setSearching] = useState(false);
|
|
52
|
+
const [results, setResults] = useState([]);
|
|
53
|
+
const [error, setError] = useState(null);
|
|
54
|
+
const [executionTime, setExecutionTime] = useState(null);
|
|
55
|
+
const [totalChunks, setTotalChunks] = useState(0);
|
|
56
|
+
const groupResultsByDocument = useCallback((rawResults) => {
|
|
57
|
+
const grouped = new Map();
|
|
58
|
+
for (const result of rawResults) {
|
|
59
|
+
const fileId = result.file_id || result.fileId || '';
|
|
60
|
+
if (!grouped.has(fileId)) {
|
|
61
|
+
grouped.set(fileId, {
|
|
62
|
+
fileId,
|
|
63
|
+
filename: result.filename,
|
|
64
|
+
topScore: result.score,
|
|
65
|
+
chunks: [],
|
|
66
|
+
expanded: false,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
const group = grouped.get(fileId);
|
|
70
|
+
group.chunks.push({
|
|
71
|
+
chunkIndex: result.chunk_index ?? result.chunkIndex ?? 0,
|
|
72
|
+
pageNumber: result.page_number ?? result.pageNumber ?? -1,
|
|
73
|
+
text: result.text,
|
|
74
|
+
score: result.score,
|
|
75
|
+
scores: result.scores,
|
|
76
|
+
highlights: result.highlights,
|
|
77
|
+
});
|
|
78
|
+
// Update top score if this chunk has a higher score
|
|
79
|
+
if (result.score > group.topScore) {
|
|
80
|
+
group.topScore = result.score;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
// Sort chunks within each group by score
|
|
84
|
+
for (const group of grouped.values()) {
|
|
85
|
+
group.chunks.sort((a, b) => b.score - a.score);
|
|
86
|
+
}
|
|
87
|
+
// Sort groups by top score
|
|
88
|
+
return Array.from(grouped.values()).sort((a, b) => b.topScore - a.topScore);
|
|
89
|
+
}, []);
|
|
90
|
+
const handleSearch = async () => {
|
|
91
|
+
if (!query.trim())
|
|
92
|
+
return;
|
|
93
|
+
setSearching(true);
|
|
94
|
+
setError(null);
|
|
95
|
+
setExecutionTime(null);
|
|
96
|
+
try {
|
|
97
|
+
const requestBody = {
|
|
98
|
+
query: query.trim(),
|
|
99
|
+
mode: searchMode,
|
|
100
|
+
limit: 50, // Get more results to group by document
|
|
101
|
+
rerank: rerankerModel !== 'none',
|
|
102
|
+
reranker_model: rerankerModel !== 'none' ? rerankerModel : undefined,
|
|
103
|
+
rerank_k: 100,
|
|
104
|
+
highlight: {
|
|
105
|
+
enabled: true,
|
|
106
|
+
fragment_size: 200,
|
|
107
|
+
num_fragments: 3,
|
|
108
|
+
},
|
|
109
|
+
};
|
|
110
|
+
const body = JSON.stringify(requestBody);
|
|
111
|
+
// Try search-api first, fall back to Next.js route
|
|
112
|
+
const res = await fetchServiceFirstFallbackNext({
|
|
113
|
+
service: {
|
|
114
|
+
baseUrl: api.services?.searchApiUrl,
|
|
115
|
+
path: '/search',
|
|
116
|
+
init: {
|
|
117
|
+
method: 'POST',
|
|
118
|
+
headers: { 'Content-Type': 'application/json' },
|
|
119
|
+
body,
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
next: {
|
|
123
|
+
nextApiBasePath: documentsBase,
|
|
124
|
+
path: '/api/documents/search',
|
|
125
|
+
init: {
|
|
126
|
+
method: 'POST',
|
|
127
|
+
headers: { 'Content-Type': 'application/json' },
|
|
128
|
+
body,
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
fallback: {
|
|
132
|
+
fallbackOnNetworkError: api.fallback?.fallbackOnNetworkError ?? true,
|
|
133
|
+
fallbackStatuses: [
|
|
134
|
+
...(api.fallback?.fallbackStatuses ?? [404, 405, 501, 502, 503, 504]),
|
|
135
|
+
400, 401, 403, 422,
|
|
136
|
+
],
|
|
137
|
+
},
|
|
138
|
+
serviceHeaders: api.serviceRequestHeaders,
|
|
139
|
+
});
|
|
140
|
+
if (!res.ok) {
|
|
141
|
+
const data = await res.json().catch(() => ({}));
|
|
142
|
+
throw new Error(data.error || data.detail || 'Search failed');
|
|
143
|
+
}
|
|
144
|
+
const data = await res.json();
|
|
145
|
+
// Handle both wrapped and unwrapped response formats
|
|
146
|
+
const rawResults = data.data?.results || data.results || [];
|
|
147
|
+
const grouped = groupResultsByDocument(rawResults);
|
|
148
|
+
setResults(grouped);
|
|
149
|
+
setTotalChunks(rawResults.length);
|
|
150
|
+
setExecutionTime(data.execution_time_ms || data.data?.execution_time_ms);
|
|
151
|
+
}
|
|
152
|
+
catch (err) {
|
|
153
|
+
console.error('Search error:', err);
|
|
154
|
+
setError(err.message || 'Failed to search documents');
|
|
155
|
+
}
|
|
156
|
+
finally {
|
|
157
|
+
setSearching(false);
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
const handleKeyPress = (e) => {
|
|
161
|
+
if (e.key === 'Enter')
|
|
162
|
+
handleSearch();
|
|
163
|
+
};
|
|
164
|
+
const toggleExpanded = (fileId) => {
|
|
165
|
+
setResults(prev => prev.map(r => r.fileId === fileId ? { ...r, expanded: !r.expanded } : r));
|
|
166
|
+
};
|
|
167
|
+
return (_jsxs("div", { className: "bg-white rounded-lg shadow-md", children: [_jsxs("div", { className: "p-6 border-b border-gray-200", children: [_jsx("h2", { className: "text-xl font-bold text-gray-900 mb-4", children: "Advanced Document Search" }), _jsxs("div", { className: "flex gap-3 mb-4", children: [_jsx("input", { type: "text", value: query, onChange: (e) => setQuery(e.target.value), onKeyPress: handleKeyPress, placeholder: "Search your documents...", className: "flex-1 px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-600 focus:border-transparent", disabled: searching }), _jsx("button", { onClick: handleSearch, disabled: searching || !query.trim(), className: "px-6 py-3 bg-blue-600 text-white rounded-lg font-medium hover:bg-blue-700 transition-colors disabled:bg-gray-400 disabled:cursor-not-allowed flex items-center space-x-2", children: searching ? (_jsxs(_Fragment, { children: [_jsxs("svg", { className: "animate-spin h-5 w-5", xmlns: "http://www.w3.org/2000/svg", 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" })] }), _jsx("span", { children: "Searching..." })] })) : (_jsxs(_Fragment, { children: [_jsx("svg", { className: "w-5 h-5", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" }) }), _jsx("span", { children: "Search" })] })) })] }), _jsxs("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-4", children: [_jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: "Search Mode" }), _jsxs("select", { value: searchMode, onChange: (e) => setSearchMode(e.target.value), className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-600 focus:border-transparent", disabled: searching, children: [_jsx("option", { value: "keyword", children: "Keyword (BM25)" }), _jsx("option", { value: "semantic", children: "Semantic (Vector)" }), _jsx("option", { value: "hybrid", children: "Hybrid (Recommended)" })] }), _jsx("p", { className: "text-xs text-gray-500 mt-1", children: "Hybrid combines keyword matching with semantic understanding" })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: "Reranker" }), _jsxs("select", { value: rerankerModel, onChange: (e) => setRerankerModel(e.target.value), className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-600 focus:border-transparent", disabled: searching, children: [_jsx("option", { value: "none", children: "None (Fastest)" }), _jsx("option", { value: "qwen3-gpu", children: "Qwen3 GPU (Fast)" }), _jsx("option", { value: "baai-gpu", children: "BAAI GPU (Accurate)" }), _jsx("option", { value: "baai-cpu", children: "BAAI CPU (Slow)" })] }), _jsx("p", { className: "text-xs text-gray-500 mt-1", children: "Reranking improves relevance but adds latency" })] })] })] }), _jsxs("div", { className: "p-6", children: [error && (_jsx("div", { className: "mb-6 p-4 bg-red-50 border border-red-200 rounded-lg", children: _jsxs("div", { className: "flex items-start space-x-3", children: [_jsx("svg", { className: "w-5 h-5 text-red-600 mt-0.5 flex-shrink-0", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", 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" }) }), _jsxs("div", { children: [_jsx("h4", { className: "text-sm font-medium text-red-800 mb-1", children: "Search Failed" }), _jsx("p", { className: "text-sm text-red-700", children: error })] })] }) })), results.length > 0 && (_jsxs("div", { className: "mb-4 flex items-center justify-between", children: [_jsxs("h3", { className: "text-lg font-semibold text-gray-900", children: [results.length, " ", results.length === 1 ? 'Document' : 'Documents', _jsxs("span", { className: "text-sm font-normal text-gray-500 ml-2", children: ["(", totalChunks, " matching ", totalChunks === 1 ? 'section' : 'sections', ")"] })] }), executionTime !== null && (_jsxs("span", { className: "text-sm text-gray-500", children: [executionTime, "ms"] }))] })), results.length > 0 ? (_jsx("div", { className: "space-y-4", children: results.map((result) => (_jsxs("div", { className: "border border-gray-200 rounded-lg overflow-hidden hover:border-blue-300 transition-colors", children: [_jsxs("button", { onClick: () => toggleExpanded(result.fileId), className: "w-full p-4 bg-gray-50 hover:bg-gray-100 transition-colors flex items-center justify-between text-left", children: [_jsxs("div", { className: "flex items-center space-x-3", children: [_jsx("svg", { className: "w-5 h-5 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" }) }), _jsxs("div", { children: [_jsx("h4", { className: "font-medium text-gray-900", children: result.filename }), _jsxs("p", { className: "text-xs text-gray-500", children: [result.chunks.length, " matching ", result.chunks.length === 1 ? 'section' : 'sections', " \u2022 Top score: ", result.topScore.toFixed(3)] })] })] }), _jsxs("div", { className: "flex items-center space-x-2", children: [_jsxs("span", { className: "text-sm text-gray-500", children: [result.expanded ? 'Hide' : 'Show', " excerpts"] }), _jsx("svg", { className: `w-5 h-5 text-gray-400 transition-transform ${result.expanded ? 'rotate-180' : ''}`, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) })] })] }), _jsxs("div", { className: "p-4 border-t border-gray-100", children: [_jsx("div", { className: "flex items-start justify-between mb-1", children: _jsxs("span", { className: "text-xs text-gray-500", children: [result.chunks[0].pageNumber > 0 ? `Page ${result.chunks[0].pageNumber}` : 'Section', " \u2022 Score: ", result.chunks[0].score.toFixed(3)] }) }), _jsx("div", { className: "text-sm text-gray-700 leading-relaxed", children: highlightText(truncateText(result.chunks[0].text, 300), query, result.chunks[0].highlights) })] }), result.expanded && result.chunks.length > 1 && (_jsx("div", { className: "border-t border-gray-200", children: result.chunks.slice(1).map((chunk, idx) => (_jsxs("div", { className: "p-4 border-t border-gray-100 bg-gray-50", children: [_jsx("div", { className: "flex items-start justify-between mb-1", children: _jsxs("span", { className: "text-xs text-gray-500", children: [chunk.pageNumber > 0 ? `Page ${chunk.pageNumber}` : 'Section', " \u2022 Score: ", chunk.score.toFixed(3)] }) }), _jsx("div", { className: "text-sm text-gray-700 leading-relaxed", children: highlightText(truncateText(chunk.text, 300), query, chunk.highlights) })] }, `${result.fileId}-${chunk.chunkIndex}-${idx}`))) }))] }, result.fileId))) })) : !searching && !error && (_jsxs("div", { className: "text-center py-12 text-gray-500", children: [_jsx("svg", { className: "w-12 h-12 mx-auto text-gray-300 mb-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" }) }), _jsx("p", { children: "Enter a search query to find documents" })] }))] })] }));
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=DocumentSearchAdvanced.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocumentSearchAdvanced.js","sourceRoot":"","sources":["../../../src/components/documents/DocumentSearchAdvanced.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
interface DocumentTagViewProps {
|
|
2
|
+
libraryId: string;
|
|
3
|
+
onSelectTag?: (tag: string) => void;
|
|
4
|
+
}
|
|
5
|
+
export declare function DocumentTagView({ libraryId, onSelectTag }: DocumentTagViewProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=DocumentTagView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocumentTagView.d.ts","sourceRoot":"","sources":["../../../src/components/documents/DocumentTagView.tsx"],"names":[],"mappings":"AAOA,UAAU,oBAAoB;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,wBAAgB,eAAe,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,oBAAoB,2CA+P/E"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect, useState } from 'react';
|
|
4
|
+
import { useBusiboxApi, useCrossAppApiPath, useCrossAppBasePath } from '../../contexts/ApiContext';
|
|
5
|
+
import { fetchServiceFirstFallbackNext } from '../../lib/http/fetch-with-fallback';
|
|
6
|
+
export function DocumentTagView({ libraryId, onSelectTag }) {
|
|
7
|
+
const api = useBusiboxApi();
|
|
8
|
+
const resolve = useCrossAppApiPath();
|
|
9
|
+
const documentsBase = useCrossAppBasePath('documents');
|
|
10
|
+
const [tagGroups, setTagGroups] = useState([]);
|
|
11
|
+
const [loading, setLoading] = useState(true);
|
|
12
|
+
const [error, setError] = useState(null);
|
|
13
|
+
const [refreshing, setRefreshing] = useState(false);
|
|
14
|
+
const [expandedGroups, setExpandedGroups] = useState(new Set());
|
|
15
|
+
const [groupDocs, setGroupDocs] = useState({});
|
|
16
|
+
const [groupLoading, setGroupLoading] = useState({});
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
loadTagGroups();
|
|
19
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
20
|
+
}, [libraryId]);
|
|
21
|
+
async function loadTagGroups(refresh = false) {
|
|
22
|
+
try {
|
|
23
|
+
if (refresh)
|
|
24
|
+
setRefreshing(true);
|
|
25
|
+
else
|
|
26
|
+
setLoading(true);
|
|
27
|
+
setError(null);
|
|
28
|
+
const endpoint = `/api/libraries/${libraryId}/tags`;
|
|
29
|
+
const res = await fetchServiceFirstFallbackNext({
|
|
30
|
+
service: {
|
|
31
|
+
baseUrl: api.services?.agentApiUrl,
|
|
32
|
+
path: endpoint,
|
|
33
|
+
init: { method: refresh ? 'POST' : 'GET' },
|
|
34
|
+
},
|
|
35
|
+
next: {
|
|
36
|
+
nextApiBasePath: documentsBase,
|
|
37
|
+
path: endpoint,
|
|
38
|
+
init: { method: refresh ? 'POST' : 'GET' },
|
|
39
|
+
},
|
|
40
|
+
fallback: {
|
|
41
|
+
fallbackOnNetworkError: api.fallback?.fallbackOnNetworkError ?? true,
|
|
42
|
+
fallbackStatuses: api.fallback?.fallbackStatuses ?? [404, 405, 501, 502, 503, 504],
|
|
43
|
+
},
|
|
44
|
+
serviceHeaders: api.serviceRequestHeaders,
|
|
45
|
+
});
|
|
46
|
+
if (!res.ok)
|
|
47
|
+
throw new Error('Failed to load tag groups');
|
|
48
|
+
const data = await res.json();
|
|
49
|
+
const tagGroupsArray = data.data?.tagGroups || data.tagGroups || [];
|
|
50
|
+
setTagGroups(tagGroupsArray);
|
|
51
|
+
const newExpanded = new Set();
|
|
52
|
+
tagGroupsArray.forEach((group) => {
|
|
53
|
+
if (group.documentCount && group.documentCount > 0)
|
|
54
|
+
newExpanded.add(group.name);
|
|
55
|
+
});
|
|
56
|
+
setExpandedGroups(newExpanded);
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
console.error('Failed to load tag groups:', err);
|
|
60
|
+
setError(err.message);
|
|
61
|
+
}
|
|
62
|
+
finally {
|
|
63
|
+
setLoading(false);
|
|
64
|
+
setRefreshing(false);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function toggleGroup(groupName) {
|
|
68
|
+
setExpandedGroups((prev) => {
|
|
69
|
+
const next = new Set(prev);
|
|
70
|
+
if (next.has(groupName)) {
|
|
71
|
+
next.delete(groupName);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
next.add(groupName);
|
|
75
|
+
if (!groupDocs[groupName])
|
|
76
|
+
loadGroupDocs(groupName);
|
|
77
|
+
}
|
|
78
|
+
return next;
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
async function loadGroupDocs(groupName) {
|
|
82
|
+
const group = tagGroups.find((g) => g.name === groupName);
|
|
83
|
+
if (!group)
|
|
84
|
+
return;
|
|
85
|
+
setGroupLoading((prev) => ({ ...prev, [groupName]: true }));
|
|
86
|
+
try {
|
|
87
|
+
const tagsParam = encodeURIComponent(group.tags.join(','));
|
|
88
|
+
const endpoint = `/api/libraries/${libraryId}/documents?tags=${tagsParam}&sortBy=createdAt&sortOrder=desc`;
|
|
89
|
+
const res = await fetchServiceFirstFallbackNext({
|
|
90
|
+
service: { baseUrl: api.services?.agentApiUrl, path: endpoint, init: { method: 'GET' } },
|
|
91
|
+
next: { nextApiBasePath: documentsBase, path: endpoint, init: { method: 'GET' } },
|
|
92
|
+
fallback: {
|
|
93
|
+
fallbackOnNetworkError: api.fallback?.fallbackOnNetworkError ?? true,
|
|
94
|
+
fallbackStatuses: api.fallback?.fallbackStatuses ?? [404, 405, 501, 502, 503, 504],
|
|
95
|
+
},
|
|
96
|
+
serviceHeaders: api.serviceRequestHeaders,
|
|
97
|
+
});
|
|
98
|
+
if (!res.ok)
|
|
99
|
+
throw new Error('Failed to load documents');
|
|
100
|
+
const data = await res.json();
|
|
101
|
+
const docs = data.data?.documents || data.documents || [];
|
|
102
|
+
setGroupDocs((prev) => ({ ...prev, [groupName]: docs }));
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
console.error('Failed to load documents for group', groupName, err);
|
|
106
|
+
}
|
|
107
|
+
finally {
|
|
108
|
+
setGroupLoading((prev) => ({ ...prev, [groupName]: false }));
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
if (loading) {
|
|
112
|
+
return (_jsx("div", { className: "flex items-center justify-center py-12", children: _jsx("div", { className: "text-gray-500", children: "Loading tag groups..." }) }));
|
|
113
|
+
}
|
|
114
|
+
if (error) {
|
|
115
|
+
return (_jsx("div", { className: "flex items-center justify-center py-12", children: _jsxs("div", { className: "text-center", children: [_jsxs("div", { className: "text-red-500 mb-4", children: ["Error: ", error] }), _jsx("button", { onClick: () => loadTagGroups(true), className: "inline-flex items-center px-4 py-2 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-blue-600 hover:bg-blue-700", children: "Retry" })] }) }));
|
|
116
|
+
}
|
|
117
|
+
if (tagGroups.length === 0) {
|
|
118
|
+
return (_jsx("div", { className: "bg-white shadow rounded-lg p-8", children: _jsxs("div", { className: "text-center", children: [_jsx("svg", { className: "mx-auto h-12 w-12 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z" }) }), _jsx("h3", { className: "mt-2 text-sm font-medium text-gray-900", children: "No tags found" }), _jsx("p", { className: "mt-1 text-sm text-gray-500", children: "Documents in this library don't have any extracted tags yet" })] }) }));
|
|
119
|
+
}
|
|
120
|
+
return (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "bg-white shadow rounded-lg p-4 flex items-center justify-between", children: [_jsxs("div", { children: [_jsx("h3", { className: "text-lg font-semibold text-gray-900", children: "Tag Groups" }), _jsxs("p", { className: "text-sm text-gray-600", children: [tagGroups.length, " groups \u2022 ", tagGroups.reduce((sum, g) => sum + (g.documentCount || 0), 0), " documents"] })] }), _jsxs("button", { onClick: () => loadTagGroups(true), disabled: refreshing, className: "inline-flex items-center px-3 py-2 border border-gray-300 rounded-md text-sm font-medium text-gray-700 bg-white hover:bg-gray-50 disabled:bg-gray-100", children: [_jsx("svg", { className: `-ml-1 mr-2 h-4 w-4 ${refreshing ? 'animate-spin' : ''}`, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", 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" }) }), refreshing ? 'Refreshing...' : 'Refresh'] })] }), _jsx("div", { className: "space-y-2", children: tagGroups.map((group) => (_jsxs("div", { className: "bg-white shadow rounded-lg overflow-hidden", children: [_jsx("button", { onClick: () => toggleGroup(group.name), className: "w-full px-4 py-3 flex items-center justify-between hover:bg-gray-50 transition-colors", children: _jsxs("div", { className: "flex items-center space-x-3", children: [_jsx("svg", { className: `w-5 h-5 text-gray-400 transition-transform ${expandedGroups.has(group.name) ? 'transform rotate-90' : ''}`, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) }), _jsx("svg", { className: "w-5 h-5 text-blue-500", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z" }) }), _jsxs("div", { className: "text-left", children: [_jsx("h4", { className: "text-sm font-medium text-gray-900", children: group.name }), _jsxs("p", { className: "text-xs text-gray-500", children: [group.tags.length, " tags \u2022 ", group.documentCount || 0, " documents", group.confidence && _jsxs("span", { className: "ml-2", children: ["\u2022 ", Math.round(group.confidence * 100), "% confidence"] })] })] })] }) }), expandedGroups.has(group.name) && (_jsxs("div", { className: "px-4 py-3 bg-gray-50 border-t border-gray-200", children: [_jsx("div", { className: "flex flex-wrap gap-2 mb-3", children: group.tags.map((tag, idx) => (_jsx("button", { onClick: () => onSelectTag && onSelectTag(tag), className: "inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-blue-100 text-blue-800 hover:bg-blue-200 transition-colors", children: tag }, idx))) }), _jsxs("div", { className: "space-y-2", children: [groupLoading[group.name] && _jsx("div", { className: "text-sm text-gray-500", children: "Loading documents..." }), !groupLoading[group.name] && (groupDocs[group.name]?.length ?? 0) === 0 && (_jsx("div", { className: "text-sm text-gray-500", children: "No documents found for this group." })), (groupDocs[group.name] || []).slice(0, 5).map((doc) => (_jsxs("div", { className: "flex items-center justify-between bg-white border border-gray-200 rounded-md px-3 py-2", children: [_jsx("div", { className: "text-sm text-gray-900 truncate", children: doc.extractedTitle || doc.originalFilename || doc.filename }), _jsx("div", { className: "text-xs text-gray-500", children: new Date(doc.createdAt).toLocaleDateString() })] }, doc.id))), (groupDocs[group.name]?.length || 0) > 5 && (_jsxs("div", { className: "text-xs text-gray-500", children: ["Showing 5 of ", groupDocs[group.name]?.length, " documents. Click a tag to view all in list view."] }))] })] }))] }, group.name))) })] }));
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=DocumentTagView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocumentTagView.js","sourceRoot":"","sources":["../../../src/components/documents/DocumentTagView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
interface DocumentTagsAndGraphSectionProps {
|
|
2
|
+
fileId: string;
|
|
3
|
+
extractedKeywords: string[];
|
|
4
|
+
onTagsUpdated: (keywords: string[]) => void;
|
|
5
|
+
/** Change this value to trigger a re-fetch of graph entities (e.g., after reprocessing) */
|
|
6
|
+
refreshKey?: number;
|
|
7
|
+
/** Render subset of sections */
|
|
8
|
+
mode?: 'full' | 'tags' | 'graph';
|
|
9
|
+
}
|
|
10
|
+
export declare function DocumentTagsAndGraphSection({ fileId, extractedKeywords, onTagsUpdated, refreshKey, mode, }: DocumentTagsAndGraphSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=DocumentTagsAndGraphSection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocumentTagsAndGraphSection.d.ts","sourceRoot":"","sources":["../../../src/components/documents/DocumentTagsAndGraphSection.tsx"],"names":[],"mappings":"AAqBA,UAAU,gCAAgC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5C,2FAA2F;IAC3F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAClC;AAoED,wBAAgB,2BAA2B,CAAC,EAC1C,MAAM,EACN,iBAAiB,EACjB,aAAa,EACb,UAAc,EACd,IAAa,GACd,EAAE,gCAAgC,2CAyOlC"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* DocumentTagsAndGraphSection - Tags and graph entities for document detail
|
|
5
|
+
*
|
|
6
|
+
* - Shows all extracted keywords (tags) with edit capability
|
|
7
|
+
* - Fetches and displays graph entities (Keyword, Person, Organization, etc.) grouped by type
|
|
8
|
+
*/
|
|
9
|
+
import { useState, useEffect, useCallback } from 'react';
|
|
10
|
+
import { Tag, Pencil, X, Plus, Loader2, Network, ChevronRight } from 'lucide-react';
|
|
11
|
+
import { Button } from '@jazzmind/busibox-app';
|
|
12
|
+
import { useCrossAppApiPath } from '../../contexts/ApiContext';
|
|
13
|
+
function GraphEntityBadges({ graphLoading, graphAvailable, graphNodes, entityGroups, entityTypeOrder, expandedTypes, onToggleType, }) {
|
|
14
|
+
const allTypes = [
|
|
15
|
+
...entityTypeOrder.filter((t) => entityGroups[t]?.length),
|
|
16
|
+
...Object.keys(entityGroups).filter((t) => !entityTypeOrder.includes(t) && entityGroups[t]?.length),
|
|
17
|
+
];
|
|
18
|
+
return (_jsxs("div", { className: "flex flex-col gap-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Network, { className: "w-4 h-4 text-gray-400" }), _jsx("span", { className: "text-gray-600 font-medium", children: "Graph entities" })] }), graphLoading ? (_jsxs("div", { className: "flex items-center gap-2 text-sm text-gray-500", children: [_jsx(Loader2, { className: "w-4 h-4 animate-spin" }), "Loading..."] })) : !graphAvailable || graphNodes.length === 0 ? (_jsxs("p", { className: "text-sm text-gray-500", children: [!graphAvailable ? 'Graph not available.' : 'No graph entities for this document.', ' ', "Use Reprocess \u2192 Re-extract Keywords & Entities to populate."] })) : (_jsx("div", { className: "flex flex-wrap gap-1", children: allTypes.map((type) => {
|
|
19
|
+
const count = entityGroups[type].length;
|
|
20
|
+
const isExpanded = expandedTypes.has(type);
|
|
21
|
+
return (_jsxs("button", { type: "button", onClick: () => onToggleType(type), className: `inline-flex items-center gap-1 px-2 py-0.5 rounded text-xs font-medium transition-colors cursor-pointer ${isExpanded
|
|
22
|
+
? 'bg-emerald-200 text-emerald-900 ring-1 ring-emerald-300'
|
|
23
|
+
: 'bg-emerald-100 text-emerald-800 hover:bg-emerald-200'}`, children: [_jsx(ChevronRight, { className: `w-3 h-3 transition-transform ${isExpanded ? 'rotate-90' : ''}` }), type, _jsxs("span", { className: "text-emerald-600 font-normal", children: ["(", count, ")"] })] }, type));
|
|
24
|
+
}) }))] }));
|
|
25
|
+
}
|
|
26
|
+
export function DocumentTagsAndGraphSection({ fileId, extractedKeywords, onTagsUpdated, refreshKey = 0, mode = 'full', }) {
|
|
27
|
+
const [tags, setTags] = useState(extractedKeywords || []);
|
|
28
|
+
const [editing, setEditing] = useState(false);
|
|
29
|
+
const [newTag, setNewTag] = useState('');
|
|
30
|
+
const [saving, setSaving] = useState(false);
|
|
31
|
+
const [saveError, setSaveError] = useState(null);
|
|
32
|
+
const [graphNodes, setGraphNodes] = useState([]);
|
|
33
|
+
const [graphLoading, setGraphLoading] = useState(false);
|
|
34
|
+
const [graphAvailable, setGraphAvailable] = useState(true);
|
|
35
|
+
const resolve = useCrossAppApiPath();
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
setTags(extractedKeywords || []);
|
|
38
|
+
}, [extractedKeywords]);
|
|
39
|
+
const saveTags = useCallback(async () => {
|
|
40
|
+
setSaving(true);
|
|
41
|
+
setSaveError(null);
|
|
42
|
+
try {
|
|
43
|
+
const res = await fetch(resolve('documents', `/api/documents/${fileId}/tags`), {
|
|
44
|
+
method: 'PATCH',
|
|
45
|
+
headers: { 'Content-Type': 'application/json' },
|
|
46
|
+
body: JSON.stringify({ extractedKeywords: tags }),
|
|
47
|
+
});
|
|
48
|
+
const data = await res.json();
|
|
49
|
+
if (!res.ok) {
|
|
50
|
+
throw new Error(data.error || 'Failed to save tags');
|
|
51
|
+
}
|
|
52
|
+
onTagsUpdated(tags);
|
|
53
|
+
setEditing(false);
|
|
54
|
+
}
|
|
55
|
+
catch (e) {
|
|
56
|
+
setSaveError(e instanceof Error ? e.message : 'Failed to save');
|
|
57
|
+
}
|
|
58
|
+
finally {
|
|
59
|
+
setSaving(false);
|
|
60
|
+
}
|
|
61
|
+
}, [fileId, tags, onTagsUpdated, resolve]);
|
|
62
|
+
const addTag = () => {
|
|
63
|
+
const t = newTag.trim();
|
|
64
|
+
if (t && !tags.includes(t)) {
|
|
65
|
+
setTags([...tags, t]);
|
|
66
|
+
setNewTag('');
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
const removeTag = (idx) => {
|
|
70
|
+
setTags(tags.filter((_, i) => i !== idx));
|
|
71
|
+
};
|
|
72
|
+
useEffect(() => {
|
|
73
|
+
if (mode === 'tags') {
|
|
74
|
+
setGraphNodes([]);
|
|
75
|
+
setGraphLoading(false);
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
let cancelled = false;
|
|
79
|
+
setGraphLoading(true);
|
|
80
|
+
fetch(resolve('graph', `/api/graph/document/${fileId}`))
|
|
81
|
+
.then((r) => r.json())
|
|
82
|
+
.then((data) => {
|
|
83
|
+
if (cancelled)
|
|
84
|
+
return;
|
|
85
|
+
setGraphAvailable(data.graph_available ?? false);
|
|
86
|
+
const nodes = (data.nodes || []);
|
|
87
|
+
setGraphNodes(nodes);
|
|
88
|
+
})
|
|
89
|
+
.catch(() => {
|
|
90
|
+
if (!cancelled)
|
|
91
|
+
setGraphAvailable(false);
|
|
92
|
+
})
|
|
93
|
+
.finally(() => {
|
|
94
|
+
if (!cancelled)
|
|
95
|
+
setGraphLoading(false);
|
|
96
|
+
});
|
|
97
|
+
return () => {
|
|
98
|
+
cancelled = true;
|
|
99
|
+
};
|
|
100
|
+
}, [fileId, refreshKey, mode, resolve]);
|
|
101
|
+
const entityGroups = graphNodes.reduce((acc, n) => {
|
|
102
|
+
const type = n.entity_type || (n.labels && n.labels[0]) || 'Other';
|
|
103
|
+
if (!acc[type])
|
|
104
|
+
acc[type] = [];
|
|
105
|
+
const name = n.name || n.node_id || '';
|
|
106
|
+
if (name && !acc[type].includes(name))
|
|
107
|
+
acc[type].push(name);
|
|
108
|
+
return acc;
|
|
109
|
+
}, {});
|
|
110
|
+
const entityTypeOrder = ['Keyword', 'Person', 'Organization', 'Project', 'Technology', 'Location', 'Other'];
|
|
111
|
+
const showTags = mode !== 'graph';
|
|
112
|
+
const showGraph = mode !== 'tags';
|
|
113
|
+
const [expandedTypes, setExpandedTypes] = useState(new Set());
|
|
114
|
+
const toggleType = (type) => {
|
|
115
|
+
setExpandedTypes((prev) => {
|
|
116
|
+
const next = new Set(prev);
|
|
117
|
+
if (next.has(type)) {
|
|
118
|
+
next.delete(type);
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
next.add(type);
|
|
122
|
+
}
|
|
123
|
+
return next;
|
|
124
|
+
});
|
|
125
|
+
};
|
|
126
|
+
const allExpandedTypes = [
|
|
127
|
+
...entityTypeOrder.filter((t) => entityGroups[t]?.length && expandedTypes.has(t)),
|
|
128
|
+
...Object.keys(entityGroups).filter((t) => !entityTypeOrder.includes(t) && entityGroups[t]?.length && expandedTypes.has(t)),
|
|
129
|
+
];
|
|
130
|
+
return (_jsxs("div", { className: "space-y-3", children: [_jsxs("div", { className: mode === 'full' ? 'grid grid-cols-1 gap-4 lg:grid-cols-2' : 'space-y-4', children: [showGraph && (_jsx(GraphEntityBadges, { graphLoading: graphLoading, graphAvailable: graphAvailable, graphNodes: graphNodes, entityGroups: entityGroups, entityTypeOrder: entityTypeOrder, expandedTypes: expandedTypes, onToggleType: toggleType })), showTags && (_jsxs("div", { className: "flex flex-col gap-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Tag, { className: "w-4 h-4 text-gray-400" }), _jsx("span", { className: "text-gray-600 font-medium", children: "Tags" }), !editing && (_jsxs(Button, { variant: "ghost", size: "sm", className: "h-6 px-2 text-xs", onClick: () => setEditing(true), children: [_jsx(Pencil, { className: "w-3 h-3 mr-1" }), "Edit"] }))] }), editing ? (_jsxs("div", { className: "space-y-2", children: [_jsx("div", { className: "flex flex-wrap gap-1", children: tags.map((t, idx) => (_jsxs("span", { className: "inline-flex items-center gap-1 px-2 py-0.5 rounded text-xs font-medium bg-blue-100 text-blue-800", children: [t, _jsx("button", { type: "button", onClick: () => removeTag(idx), className: "hover:bg-blue-200 rounded p-0.5", "aria-label": `Remove ${t}`, children: _jsx(X, { className: "w-3 h-3" }) })] }, idx))) }), _jsxs("div", { className: "flex gap-2", children: [_jsx("input", { type: "text", value: newTag, onChange: (e) => setNewTag(e.target.value), onKeyDown: (e) => e.key === 'Enter' && addTag(), placeholder: "Add tag...", className: "flex-1 text-sm border border-gray-300 rounded px-2 py-1" }), _jsxs(Button, { variant: "ghost", size: "sm", onClick: addTag, children: [_jsx(Plus, { className: "w-3 h-3 mr-1" }), "Add"] })] }), saveError && _jsx("p", { className: "text-sm text-red-600", children: saveError }), _jsxs("div", { className: "flex gap-2", children: [_jsxs(Button, { size: "sm", onClick: saveTags, disabled: saving, children: [saving ? _jsx(Loader2, { className: "w-3 h-3 animate-spin" }) : null, "Save"] }), _jsx(Button, { variant: "ghost", size: "sm", onClick: () => { setEditing(false); setTags(extractedKeywords || []); setSaveError(null); }, children: "Cancel" })] })] })) : (_jsx("div", { className: "flex flex-wrap gap-1", children: tags.length === 0 ? (_jsx("span", { className: "text-sm text-gray-500", children: "No tags" })) : (tags.map((t, idx) => (_jsx("span", { className: "inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-blue-100 text-blue-800", children: t }, idx)))) }))] }))] }), showGraph && allExpandedTypes.length > 0 && (_jsx("div", { className: "flex flex-wrap gap-2 overflow-hidden", children: allExpandedTypes.map((type) => (_jsxs("div", { className: "rounded border border-gray-200 bg-gray-50 px-2 py-1.5 min-w-0 max-w-full", children: [_jsx("span", { className: "text-xs font-medium text-gray-500 uppercase", children: type }), _jsx("div", { className: "mt-1 flex flex-wrap gap-1", children: entityGroups[type].map((name, i) => (_jsx("span", { className: "inline-flex px-2 py-0.5 rounded text-xs font-medium bg-emerald-100 text-emerald-800", children: name }, i))) })] }, type))) }))] }));
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=DocumentTagsAndGraphSection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocumentTagsAndGraphSection.js","sourceRoot":"","sources":["../../../src/components/documents/DocumentTagsAndGraphSection.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAmB/D,SAAS,iBAAiB,CAAC,EACzB,YAAY,EACZ,cAAc,EACd,UAAU,EACV,YAAY,EACZ,eAAe,EACf,aAAa,EACb,YAAY,GASb;IACC,MAAM,QAAQ,GAAG;QACf,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QACzD,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;KACpG,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,qBAAqB,aAClC,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,OAAO,IAAC,SAAS,EAAC,uBAAuB,GAAG,EAC7C,eAAM,SAAS,EAAC,2BAA2B,+BAAsB,IAC7D,EACL,YAAY,CAAC,CAAC,CAAC,CACd,eAAK,SAAS,EAAC,+CAA+C,aAC5D,KAAC,OAAO,IAAC,SAAS,EAAC,sBAAsB,GAAG,kBAExC,CACP,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAC/C,aAAG,SAAS,EAAC,uBAAuB,aACjC,CAAC,cAAc,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,sCAAsC,EACjF,GAAG,wEACF,CACL,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,sBAAsB,YAClC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBACrB,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;oBACxC,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC3C,OAAO,CACL,kBAEE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EACjC,SAAS,EAAE,2GACT,UAAU;4BACR,CAAC,CAAC,yDAAyD;4BAC3D,CAAC,CAAC,sDACN,EAAE,aAEF,KAAC,YAAY,IAAC,SAAS,EAAE,gCAAgC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,GAAI,EAC3F,IAAI,EACL,gBAAM,SAAS,EAAC,8BAA8B,kBAAG,KAAK,SAAS,KAX1D,IAAI,CAYF,CACV,CAAC;gBACJ,CAAC,CAAC,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,EAC1C,MAAM,EACN,iBAAiB,EACjB,aAAa,EACb,UAAU,GAAG,CAAC,EACd,IAAI,GAAG,MAAM,GACoB;IACjC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAW,iBAAiB,IAAI,EAAE,CAAC,CAAC;IACpE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAEhE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAc,EAAE,CAAC,CAAC;IAC9D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE3D,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IAErC,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACtC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,kBAAkB,MAAM,OAAO,CAAC,EAAE;gBAC7E,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;aAClD,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,qBAAqB,CAAC,CAAC;YACvD,CAAC;YACD,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,YAAY,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAClE,CAAC;gBAAS,CAAC;YACT,SAAS,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;IAE3C,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACtB,SAAS,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE;QAChC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,aAAa,CAAC,EAAE,CAAC,CAAC;YAClB,eAAe,CAAC,KAAK,CAAC,CAAC;YACvB,OAAO;QACT,CAAC;QACD,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,uBAAuB,MAAM,EAAE,CAAC,CAAC;aACrD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACrB,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACb,IAAI,SAAS;gBAAE,OAAO;YACtB,iBAAiB,CAAC,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAgB,CAAC;YAChD,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,IAAI,CAAC,SAAS;gBAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,SAAS;gBAAE,eAAe,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QACL,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAExC,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAA2B,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAC1E,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;QACnE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;QACvC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,eAAe,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAE5G,MAAM,QAAQ,GAAG,IAAI,KAAK,OAAO,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,KAAK,MAAM,CAAC;IAElC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAc,IAAI,GAAG,EAAE,CAAC,CAAC;IAE3E,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE;QAClC,gBAAgB,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG;QACvB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjF,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KAC5H,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,WAAW,aAExB,eAAK,SAAS,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,WAAW,aAEpF,SAAS,IAAI,CACZ,KAAC,iBAAiB,IAChB,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,UAAU,GACxB,CACH,EAGA,QAAQ,IAAI,CACb,eAAK,SAAS,EAAC,qBAAqB,aAClC,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,GAAG,IAAC,SAAS,EAAC,uBAAuB,GAAG,EACzC,eAAM,SAAS,EAAC,2BAA2B,qBAAY,EACtD,CAAC,OAAO,IAAI,CACX,MAAC,MAAM,IACL,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,kBAAkB,EAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,aAE/B,KAAC,MAAM,IAAC,SAAS,EAAC,cAAc,GAAG,YAE5B,CACV,IACG,EAEL,OAAO,CAAC,CAAC,CAAC,CACT,eAAK,SAAS,EAAC,WAAW,aACxB,cAAK,SAAS,EAAC,sBAAsB,YAClC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CACpB,gBAEE,SAAS,EAAC,kGAAkG,aAE3G,CAAC,EACF,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAC7B,SAAS,EAAC,iCAAiC,gBAC/B,UAAU,CAAC,EAAE,YAEzB,KAAC,CAAC,IAAC,SAAS,EAAC,SAAS,GAAG,GAClB,KAXJ,GAAG,CAYH,CACR,CAAC,GACE,EACN,eAAK,SAAS,EAAC,YAAY,aACzB,gBACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC1C,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,MAAM,EAAE,EAC/C,WAAW,EAAC,YAAY,EACxB,SAAS,EAAC,yDAAyD,GACnE,EACF,MAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,MAAM,aAC/C,KAAC,IAAI,IAAC,SAAS,EAAC,cAAc,GAAG,WAE1B,IACL,EACL,SAAS,IAAI,YAAG,SAAS,EAAC,sBAAsB,YAAE,SAAS,GAAK,EACjE,eAAK,SAAS,EAAC,YAAY,aACzB,MAAC,MAAM,IAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAClD,MAAM,CAAC,CAAC,CAAC,KAAC,OAAO,IAAC,SAAS,EAAC,sBAAsB,GAAG,CAAC,CAAC,CAAC,IAAI,YAEtD,EACT,KAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,uBAEpH,IACL,IACF,CACP,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,sBAAsB,YAClC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACnB,eAAM,SAAS,EAAC,uBAAuB,wBAAe,CACvD,CAAC,CAAC,CAAC,CACF,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CACnB,eAEE,SAAS,EAAC,4FAA4F,YAErG,CAAC,IAHG,GAAG,CAIH,CACR,CAAC,CACH,GACG,CACP,IACG,CACL,IACG,EAGL,SAAS,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,CAC3C,cAAK,SAAS,EAAC,sCAAsC,YAClD,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAC9B,eAAgB,SAAS,EAAC,0EAA0E,aAClG,eAAM,SAAS,EAAC,6CAA6C,YAAE,IAAI,GAAQ,EAC3E,cAAK,SAAS,EAAC,2BAA2B,YACvC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACnC,eAEE,SAAS,EAAC,qFAAqF,YAE9F,IAAI,IAHA,CAAC,CAID,CACR,CAAC,GACE,KAXE,IAAI,CAYR,CACP,CAAC,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Document Upload Component
|
|
3
|
+
*
|
|
4
|
+
* Handles file upload with progress + optional library selection.
|
|
5
|
+
*
|
|
6
|
+
* Default migration path:
|
|
7
|
+
* - Try data service (if configured) first
|
|
8
|
+
* - Fallback to Next.js route (cookie-auth) for compatibility
|
|
9
|
+
*/
|
|
10
|
+
import { type ReactNode } from 'react';
|
|
11
|
+
export type DocumentUploadProps = {
|
|
12
|
+
onUploadComplete?: () => void;
|
|
13
|
+
libraryId?: string;
|
|
14
|
+
/** Allow selecting multiple files at once. Default false. */
|
|
15
|
+
multiple?: boolean;
|
|
16
|
+
/** Render a denser layout for constrained viewports (e.g., mobile full-screen sheet). */
|
|
17
|
+
compact?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Optional render hook for a library selector UI.
|
|
20
|
+
* busibox-app does not ship an opinionated LibrarySelector because it is portal-specific.
|
|
21
|
+
*/
|
|
22
|
+
renderLibrarySelector?: (args: {
|
|
23
|
+
selectedLibraryId?: string;
|
|
24
|
+
onSelectLibrary: (libraryId?: string) => void;
|
|
25
|
+
disabled: boolean;
|
|
26
|
+
}) => ReactNode;
|
|
27
|
+
};
|
|
28
|
+
export declare function DocumentUpload({ onUploadComplete, libraryId, multiple, compact, renderLibrarySelector }: DocumentUploadProps): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
//# sourceMappingURL=DocumentUpload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocumentUpload.d.ts","sourceRoot":"","sources":["../../../src/components/documents/DocumentUpload.tsx"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAWzE,MAAM,MAAM,mBAAmB,GAAG;IAChC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yFAAyF;IACzF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE;QAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,eAAe,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;QAC9C,QAAQ,EAAE,OAAO,CAAC;KACnB,KAAK,SAAS,CAAC;CACjB,CAAC;AAEF,wBAAgB,cAAc,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAgB,EAAE,OAAe,EAAE,qBAAqB,EAAE,EAAE,mBAAmB,2CA0S5I"}
|