Commit graph

1403 commits

Author SHA1 Message Date
CREDO23
1c83327fc7 feat(celery): add Google Drive indexing Celery task
- Create async task for Google Drive folder indexing
- Accept folder_id and folder_name parameters
- Call indexing wrapper to avoid circular imports
2025-12-28 15:56:11 +02:00
CREDO23
358abdf02f feat(routes): add Google Drive indexing support with folder selection
- Accept folder_id and folder_name as indexing parameters
- Hide date range for Google Drive connectors
- Create wrapper function to avoid circular imports
- Trigger Google Drive indexing Celery task
2025-12-28 15:55:57 +02:00
CREDO23
7b8900d51f feat(indexer): export Google Drive indexer function 2025-12-28 15:55:46 +02:00
CREDO23
501d08f2f4 feat(routes): register Google Drive OAuth router 2025-12-28 15:55:38 +02:00
CREDO23
1696c7056a feat(indexer): add Google Drive folder indexing with delta sync
- Full folder scan on first index
- Delta sync using change tracking for subsequent indexes
- Process files in parallel batches
- Handle file additions, modifications, and deletions
- Store change tracking token for efficient re-indexing
2025-12-28 15:55:25 +02:00
CREDO23
bf02005d82 feat(routes): add Google Drive OAuth and folder listing endpoints
- OAuth initialization and callback handling
- Folder and file browsing with parent_id support
- Validate credentials and handle token refresh
- Return folder contents with metadata for UI tree view
2025-12-28 15:55:13 +02:00
CREDO23
3e67d5f31e feat(connectors): add Google Drive delta sync with change tracking
- Get start page token for change tracking baseline
- Fetch incremental changes using Google Drive Changes API
- Categorize changes into added, modified, and removed files
- Enable efficient re-indexing of only changed content
2025-12-28 15:55:06 +02:00
CREDO23
84bde67979 feat(connectors): add Google Drive folder browsing and file listing
- List folder contents with full pagination support
- Query root folder or specific parent folder
- Return both folders and files with metadata (size, icons, links)
- Filter out shortcuts and trashed items
2025-12-28 15:54:58 +02:00
CREDO23
40304c6795 feat(connectors): add Google Drive content extraction using existing ETL
- Download files from Google Drive to temporary location
- Export Google Workspace files as PDF
- Delegate content extraction to existing process_file_in_background
- Reuse Surfsense's ETL services (Unstructured, LlamaCloud, Docling)
2025-12-28 15:54:50 +02:00
CREDO23
701c3409b3 feat(connectors): add Google Drive file type detection and mapping
- Detect Google Workspace files (Docs, Sheets, Slides)
- Map to PDF export format to preserve rich content (images, formatting)
- Identify files to skip (shortcuts, unsupported types)
2025-12-28 15:54:42 +02:00
CREDO23
74386affdc feat(connectors): add Google Drive API client wrapper
- Build and manage Google Drive service with credentials
- List files with query support and pagination
- Download binary files and export Google Workspace files as PDF
- Handle HTTP errors gracefully
2025-12-28 15:54:32 +02:00
CREDO23
2c8717b14b feat(connectors): add Google Drive credentials module for OAuth management
- Handle Google OAuth credential initialization and validation
- Automatic token refresh with database persistence
- Reuse existing tokens when valid
2025-12-28 15:54:26 +02:00
CREDO23
2897985127 feat(config): add GOOGLE_DRIVE_REDIRECT_URI environment variable 2025-12-28 15:53:51 +02:00
CREDO23
5dd8838638 feat(db): add idempotent Alembic migration for GOOGLE_DRIVE_CONNECTOR enums 2025-12-28 15:53:44 +02:00
CREDO23
f54079643f feat(db): add GOOGLE_DRIVE_CONNECTOR to DocumentType and SearchSourceConnectorType enums 2025-12-28 15:53:35 +02:00
DESKTOP-RTLN3BA\$punk
dbd9c837e6 fix: docker version mismatch 2025-12-27 15:13:52 -08:00
DESKTOP-RTLN3BA\$punk
9d0721de43 feat: Replace AsyncChromiumLoader with Playwright for web crawling and content extraction in link preview and web crawler connector modules. 2025-12-27 13:58:00 -08:00
Anish Sarkar
74f17f61ec feat: Enhance agent system prompt with write_todos examples, and apply minor code formatting across connector pages and hooks. 2025-12-28 01:41:27 +05:30
Anish Sarkar
0164659f7a refactor: comment out ls tool handling, update assistant UI colors and spacing. 2025-12-28 01:30:53 +05:30
Anish Sarkar
8b10b0cd24 feat: Display document reindexing status in the sidebar by adding document ID to logs 2025-12-28 01:07:42 +05:30
Anish Sarkar
ae4ee9ab70 Merge remote-tracking branch 'upstream/dev' into fix/chatpage-ux 2025-12-27 19:48:13 +05:30
Anish Sarkar
ad47d94b40 refactor: use ChainOfThoughtItem for thinking step display and update dependency lock file. 2025-12-27 16:40:53 +05:30
Anish Sarkar
70383931bb feat: Apply minor UI styling adjustments to sidebar and progress components. Fixed linting for both frontend and backend 2025-12-27 15:27:29 +05:30
Anish Sarkar
c28a90fc29 refactor: integrate TodoListMiddleware and update related components
- Removed the write_todos tool as it is now included by default through TodoListMiddleware in the deep agent.
- Updated the system prompt and documentation to reflect the integration of TodoListMiddleware, clarifying its capabilities for managing planning and todo lists.
- Enhanced the chat handling logic to extract todos directly from the deep agent's command output, ensuring seamless user experience.
- Refactored UI components to align with the new data structure and improve rendering of todo items, including updates to the Plan and TodoItem components.
- Cleaned up code for better maintainability and readability, following recent refactoring efforts.
2025-12-27 15:18:34 +05:30
CREDO23
3104a56c72 migrate connectors to jotai & tanstack 2025-12-26 16:20:36 +02:00
Anish Sarkar
8a3ab3dfac refactor: enhance write_todos tool and system prompt
- Updated the write_todos tool to include an optional description field for todo items, improving task detail management.
- Enhanced the system prompt with clearer guidelines on using the write_todos tool, including refined usage patterns and examples for various user scenarios.
- Improved UI components to support the new description feature, ensuring better visibility of task details during planning and execution.
- Streamlined the code for better readability and maintainability, aligning with recent refactoring efforts.
2025-12-26 19:24:32 +05:30
Anish Sarkar
ebc04f590e refactor: improve write_todos tool and UI components
- Refactored the write_todos tool to enhance argument and result schemas using Zod for better validation and type safety.
- Updated the WriteTodosToolUI to streamline the rendering logic and improve loading states, ensuring a smoother user experience.
- Enhanced the Plan and TodoItem components to better handle streaming states and display progress, providing clearer feedback during task management.
- Cleaned up code formatting and structure for improved readability and maintainability.
2025-12-26 17:49:56 +05:30
Anish Sarkar
2c86287264 refactor: update system prompt for write_todos tool usage
- Enhanced the system prompt with detailed criteria and examples for using the write_todos tool, including valid trigger words and usage patterns.
- Clarified restrictions on when to use the tool, emphasizing the need for multi-phase tasks and explicit user requests.
- Provided specific use cases for different user types to guide appropriate usage of the tool, ensuring better task management and user experience.
2025-12-26 17:27:30 +05:30
Anish Sarkar
eb70c055a4 refactor: introduce write_todos tool for enhanced task management
- Added a new write_todos tool to facilitate the creation and management of planning lists within the chat interface.
- Updated system prompt with detailed instructions on using the write_todos tool, including usage patterns and restrictions.
- Enhanced the chat message handling to support the new tool, ensuring proper integration and user experience.
- Implemented UI components for displaying and interacting with the planning lists, including progress tracking and status indicators.
2025-12-26 14:37:23 +05:30
Anish Sarkar
1dd740bb23 refactor: enhance chat functionality with new tools and attachment handling
- Updated system prompt to clarify usage of the display_image tool, emphasizing valid URL requirements and prohibiting user-uploaded image displays.
- Introduced write_todos tool for creating and updating planning lists, with detailed usage instructions and examples.
- Enhanced message handling to persist attachments and mentioned documents, ensuring they survive page reloads.
- Improved UI components to integrate the new write_todos tool and ensure consistent user experience across chat interactions.
2025-12-26 11:38:32 +05:30
Anish Sarkar
d9df63f57e refactor: enhance web crawling functionality with Firecrawl integration
- Updated WebCrawlerConnector to prioritize Firecrawl API for crawling if an API key is provided, falling back to Chromium if Firecrawl fails.
- Improved error handling to log failures from both Firecrawl and Chromium.
- Enhanced link preview tool to use a random User-Agent for better compatibility with web servers.
- Passed Firecrawl API key to the stream_new_chat function for improved configuration management.
2025-12-26 02:37:20 +05:30
Anish Sarkar
2fdf567b71 refactor: replace DocumentsDataTable with DocumentMentionPicker for improved document selection
- Introduced DocumentMentionPicker component to enhance document selection experience in the chat interface.
- Updated InlineMentionEditor and Composer components to utilize the new DocumentMentionPicker.
- Removed the deprecated DocumentsDataTable component to streamline the codebase and improve maintainability.
- Enhanced type safety and validation in document handling logic.
2025-12-26 00:41:14 +05:30
Anish Sarkar
bea18960a4 refactor: enhance link preview functionality with Chromium fallback
- Added a fallback mechanism using headless Chromium to fetch page content when standard HTTP requests fail.
- Introduced utility functions for unescaping HTML entities and converting relative URLs to absolute.
- Updated HTTP request headers to mimic a browser for better compatibility with web servers.
- Improved error handling and logging for better debugging and user feedback.
- Made various properties in Zod schemas nullable for better type safety and flexibility in handling optional data.
2025-12-26 00:07:45 +05:30
Anish Sarkar
9e7f8d7fe3 feat: enhance chat functionality with improved attachment handling and user experience
- Updated system prompt to clarify usage of the display_image tool, emphasizing URL requirements and restrictions on user-uploaded images.
- Enhanced the streaming chat process to provide more context about user attachments and documents during analysis.
- Implemented state resets when switching between chats to prevent stale data and race conditions.
- Added new components for displaying image previews and document attachments in the chat interface.
- Improved attachment processing to support image data URLs for persistent display after uploads.
2025-12-25 17:52:48 +05:30
DESKTOP-RTLN3BA\$punk
b4b7059035 Revert "Merge pull request #622 from CREDO23/documents-mentions"
This reverts commit fb719faa0d, reversing
changes made to efd20ea208.
2025-12-24 18:00:03 -08:00
Rohan Verma
fb719faa0d
Merge pull request #622 from CREDO23/documents-mentions
[Fix] Documents mentions | Use the same structure of document returned from retriever
2025-12-24 13:46:31 -08:00
CREDO23
ef9e9b65df fix: mentioned documents xml structure 2025-12-24 23:35:20 +02:00
CREDO23
3660b91e63 refact: follow the structure of document returned from retriever 2025-12-24 20:12:40 +02:00
DESKTOP-RTLN3BA\$punk
dfed7187bc feat: updated version to 0.0.9 2025-12-23 22:12:53 -08:00
CREDO23
deec8c5c6c fix: formatting 2025-12-24 07:06:35 +02:00
Thierry CH.
c4400a0ec2
Merge branch 'dev' into documents-mentions 2025-12-24 06:31:49 +02:00
DESKTOP-RTLN3BA\$punk
0b86756082 chore: ruff format 2025-12-23 02:56:13 -08:00
DESKTOP-RTLN3BA\$punk
acf0396aa5 feat: fixed migrations
- Migrated data from the old 'chats' table to 'new_chat_threads' and 'new_chat_messages'.
- Dropped the 'chats' table and removed the 'chattype' enum as part of the migration process.
- Updated the migration script to truncate thread titles to 500 characters to comply with database constraints.
- Adjusted the downgrade function to reflect changes in the migration process.
2025-12-23 02:55:37 -08:00
Anish Sarkar
6f330e7b8d Merge remote-tracking branch 'upstream/dev' into pr-611 2025-12-23 15:45:28 +05:30
DESKTOP-RTLN3BA\$punk
4a0c3e368a feat: migrated to surfsense deep agent 2025-12-23 01:16:25 -08:00
Anish Sarkar
ceb01dc544 feat: enhance new chat functionality with document mentions support
- Updated the new chat routes to include handling for mentioned document IDs, allowing users to reference specific documents in their chat.
- Modified the NewChatRequest schema to accommodate optional document IDs.
- Implemented document mention formatting in the chat streaming service for improved context.
- Enhanced the frontend to manage document mentions, including a new atom for state management and UI updates for document selection.
- Refactored the DocumentsDataTable component for better integration with the new mention functionality.
2025-12-23 14:24:36 +05:30
DESKTOP-RTLN3BA\$punk
b14283e300 feat: refactor new chat agent to support configurable tools and remove deprecated components
- Enhanced the new chat agent module to allow for configurable tools, enabling users to customize their experience with various functionalities.
- Removed outdated tools including display image, knowledge base search, link preview, podcast generation, and web scraping, streamlining the codebase.
- Updated the system prompt and agent factory to reflect these changes, ensuring a more cohesive and efficient architecture.
2025-12-22 20:17:08 -08:00
Anish Sarkar
7ca490c740 feat: enhance chain-of-thought display with smart expand/collapse behavior and state management for improved user interaction 2025-12-23 02:21:41 +05:30
Anish Sarkar
24dd52ed99 feat: add web scraping tool to chat agent for extracting and summarizing webpage content 2025-12-23 01:49:29 +05:30
Anish Sarkar
da7cb81252 feat: introduce display image tool for enhanced image rendering in chat with metadata support 2025-12-23 01:11:56 +05:30