Commit graph

123 commits

Author SHA1 Message Date
Manoj Aggarwal
8b735a492a lint 2026-01-09 13:53:09 -08:00
Manoj Aggarwal
62d0d8b6db ruff lint 2026-01-09 13:38:49 -08:00
Manoj Aggarwal
18035b3728 Add MS Teams connector 2026-01-09 13:20:47 -08:00
Manoj Aggarwal
fa35b71522 Add teams connector similar to slack 2026-01-09 13:20:30 -08:00
Manoj Aggarwal
786fd63e5b
Revert "Add Microsoft Teams Connector" 2026-01-09 12:33:26 -08:00
Manoj Aggarwal
ba7e4f0ceb Add MS Teams connector 2026-01-08 17:13:19 -08:00
Manoj Aggarwal
73a9dccefc Add teams connector similar to slack 2026-01-07 15:15:49 -08:00
Rohan Verma
fabbae2b48
Merge pull request #670 from AnishSarkar22/fix/connector
feat: Clickup OAuth Connector, fixed Airtable OAuth Connector
2026-01-07 12:39:41 -08:00
CREDO23
9841bdda72 style: format backend with ruff 2026-01-07 15:27:54 +02:00
CREDO23
5f0013c109 fix: restore duplicate check for non-OAuth connectors 2026-01-07 14:02:18 +02:00
CREDO23
f1a715e04e refactor: move Linear OAuth utils to connector, use httpx.AsyncClient 2026-01-07 13:13:19 +02:00
Anish Sarkar
86af9b5a21 feat: implement ClickUp OAuth integration and connector support
- Added ClickUp OAuth authentication flow with new environment variables for client ID, client secret, and redirect URI.
- Introduced ClickUpHistoryConnector to manage OAuth-based authentication and token refresh for ClickUp API access.
- Created ClickUp connector routes for OAuth flow, including authorization and callback handling.
- Updated indexing logic to utilize the new ClickUpHistoryConnector, supporting both OAuth and legacy API token methods.
- Enhanced frontend components to reflect the new ClickUp integration and removed legacy API token forms.
2026-01-07 15:15:25 +05:30
CREDO23
42397f1364 feat: add Airtable user email fetch and update route 2026-01-07 08:16:11 +02:00
CREDO23
d03b8dae34 feat: add Linear org name fetch and update route 2026-01-07 08:16:04 +02:00
CREDO23
932222bff1 feat: add fetch_google_user_email and update Google OAuth routes 2026-01-07 08:15:56 +02:00
Anish Sarkar
f2724ea162 feat: enhance Airtable integration with OAuth support and date validation
- Introduced AirtableHistoryConnector to manage OAuth-based authentication and token refresh for Airtable API access.
- Added date string validation in AirtableConnector to ensure valid date inputs before processing.
- Updated indexing logic to utilize the new AirtableHistoryConnector, improving credential management and token handling.
2026-01-07 03:00:56 +05:30
Anish Sarkar
c7c5caf559 chore: ran both frontend and backend linting 2026-01-06 15:49:31 +05:30
Anish Sarkar
c7fa640594 feat: enhance ConfluenceHistoryConnector to support legacy API token authentication
- Added support for legacy API token authentication alongside OAuth 2.0 in ConfluenceHistoryConnector.
- Implemented logic to handle both authentication methods, ensuring backward compatibility.
- Refactored token management to accommodate legacy credentials and updated API request handling accordingly.
- Enhanced error handling for credential validation and improved logging for better traceability.
2026-01-06 15:04:58 +05:30
Anish Sarkar
0f5bf93f68 feat: implement JiraHistoryConnector for OAuth and legacy authentication
- Introduced JiraHistoryConnector to handle OAuth-based authentication and automatic token refresh for Jira API access.
- Refactored Jira indexing logic to utilize the new connector, simplifying credential management and enhancing token refresh capabilities.
- Removed legacy token handling code from the Jira indexer, streamlining the integration process.
- Ensured compatibility with both OAuth 2.0 and legacy API token methods for improved flexibility.
2026-01-06 14:36:51 +05:30
Anish Sarkar
5d363b8a60 feat: implement Confluence OAuth integration and connector routes
- Added support for Confluence OAuth with new environment variables for client ID, client secret, and redirect URI.
- Implemented Confluence connector routes for OAuth flow, including authorization and callback handling.
- Enhanced Confluence connector to support both OAuth 2.0 and legacy API token authentication methods.
- Updated Confluence indexing logic to utilize OAuth credentials with auto-refresh capabilities.
- Removed outdated Confluence UI components and adjusted frontend logic to reflect the new integration.
2026-01-06 13:20:22 +05:30
Anish Sarkar
982b9ceb76 feat: implement Jira OAuth integration and connector routes
- Added support for Jira OAuth with new environment variables for client ID, client secret, and redirect URI.
- Implemented Jira connector routes for OAuth flow, including authorization and callback handling.
- Enhanced Jira connector to support both OAuth 2.0 and legacy API token authentication methods.
- Updated Jira indexing logic to utilize OAuth credentials with auto-refresh capabilities.
- Removed outdated Jira UI components and adjusted frontend logic to reflect the new integration.
2026-01-06 01:01:04 +05:30
Anish Sarkar
df23813f1c feat: add Discord OAuth integration and connector routes
- Introduced Discord OAuth support with new environment variables for client ID, client secret, and redirect URI.
- Implemented Discord connector routes for OAuth flow, including authorization and callback handling.
- Enhanced Discord connector to support both OAuth-based authentication and legacy bot token usage.
- Updated Discord indexing logic to utilize OAuth credentials with auto-refresh capabilities.
- Removed outdated Discord UI components and adjusted frontend logic to reflect the new integration.
2026-01-05 14:21:39 +05:30
Anish Sarkar
1862732913 refactor: improve error handling for Slack token refresh logic
- Updated SlackHistory class to enforce the use of session and connector_id for token refresh, raising a ValueError for legacy token usage.
- Simplified conditional checks for client initialization in SlackHistory.
- Cleaned up unnecessary comments and whitespace in the codebase.
2026-01-04 02:47:50 +05:30
Anish Sarkar
81e4a4ada0 feat: database driven refresh tokens for slack oauth connector 2026-01-04 02:38:19 +05:30
Anish Sarkar
4f77d171d8 feat: implement auto-refresh capability for Linear and Notion connectors similar to google oauth based ones
- Enhanced LinearConnector and NotionHistoryConnector classes to support automatic token refresh, improving reliability in accessing APIs.
- Updated initialization to require session and connector ID, allowing for dynamic credential management.
- Introduced new credential schemas for Linear and Notion, encapsulating access and refresh tokens with expiration handling.
- Refactored indexers to utilize the new connector structure, ensuring seamless integration with the updated authentication flow.
- Improved error handling and logging during token refresh processes for better debugging and user feedback.
2026-01-03 04:24:00 +05:30
Anish Sarkar
1e30bc6484 docs: clarify token parameter descriptions in Linear and Notion connectors
- Updated documentation for the LinearConnector and NotionHistoryConnector classes to specify that the access token can also be an API key or integration token, enhancing clarity for users regarding token usage.
2026-01-03 03:48:46 +05:30
Anish Sarkar
645e849d93 chore: ran both frontend and backend linting 2026-01-03 00:18:17 +05:30
Anish Sarkar
45489423d1 feat: implement token encryption and state management for OAuth connectors
- Added encryption for sensitive tokens (access token, refresh token, client secret) in Google Calendar, Google Drive, Gmail, Linear, and Notion connectors to enhance security.
- Introduced OAuthStateManager for secure state parameter generation and validation, improving the integrity of OAuth flows.
- Updated callback routes to handle state validation and error management, ensuring robust handling of authorization processes.
- Enhanced indexers to support decryption of tokens for backward compatibility, maintaining functionality with existing encrypted credentials.
- Improved validation for date parameters in connector routes to ensure proper input handling.
2026-01-02 23:46:03 +05:30
Anish Sarkar
b81af397c0 feat: add Linear OAuth integration and connector routes
- Introduced Linear OAuth support with new environment variables for client ID, client secret, and redirect URI.
- Implemented Linear connector routes for OAuth flow, including authorization and callback handling.
- Updated existing components to accommodate Linear integration, including validation changes and connector configuration.
- Enhanced the Linear indexer to utilize OAuth access tokens instead of API keys.
- Adjusted UI components to reflect the new Linear connector without requiring special configuration.
2026-01-02 21:24:28 +05:30
Anish Sarkar
c5b184d475 feat: add Notion OAuth integration and connector routes
- Introduced Notion OAuth support with new environment variables for client ID, client secret, and redirect URI.
- Implemented Notion connector routes for OAuth flow, including authorization and callback handling.
- Updated existing components to accommodate Notion integration, including validation changes and connector configuration.
- Enhanced the Notion indexer to utilize OAuth access tokens instead of integration tokens.
- Adjusted UI components to reflect the new Notion connector without requiring special configuration.
2026-01-02 20:07:14 +05:30
CREDO23
9c78726b6b feat: add file selection to Google Drive connector
- Add structured request body with folders and files arrays
- Support individual file indexing alongside folder indexing
- Remove deprecated folder_ids/folder_names query params
- Update UI to allow selecting both folders and files
2025-12-31 14:15:07 +02:00
DESKTOP-RTLN3BA\$punk
c19d300c9d feat: added circleback connector 2025-12-30 09:00:59 -08:00
CREDO23
7618662e70 refactor: rename GOOGLE_DRIVE_CONNECTOR to GOOGLE_DRIVE_FILE document type 2025-12-29 20:38:26 +02:00
CREDO23
16bc991b13 feat: add Google Drive connector to knowledge base search 2025-12-29 18:13:27 +02:00
CREDO23
c5c61a2c6b Merge branch 'dev' into google-drive-connector
Merge in dev
2025-12-28 19:00:09 +02:00
CREDO23
acf47e3b0c refactor(connectors): remove verbose docstrings and obvious comments
- Simplify module docstrings (remove meta-commentary about 'small focused modules')
- Remove redundant inline comments (e.g., 'Log task start', 'Get connector from database')
- Trim verbose function docstrings to essential information only
- Remove over-explanatory comments that restate what code does
- Keep necessary documentation, remove noise for better readability
2025-12-28 18:53:13 +02:00
CREDO23
a5935bc677 feat(connectors): add connector parameter to file processor for source tracking
- Add optional 'connector' parameter with 'type' and 'metadata' fields
- Create helper function _update_document_from_connector
- Use document_metadata column (not metadata) for JSON field
- Merge metadata with existing using dict spread operator
- Google Drive documents now marked as GOOGLE_DRIVE_CONNECTOR
- Backward compatible - no changes to existing logic
- Simple and clean implementation
2025-12-28 18:01:39 +02:00
CREDO23
b2b891e4d7 fix(connectors): properly commit Google Drive document type changes
- Return file metadata from content_extractor for indexer to use
- Update document type and metadata in indexer after processing
- Explicitly commit changes to database
- Ensures documents are properly marked as GOOGLE_DRIVE_CONNECTOR type
2025-12-28 17:15:29 +02:00
CREDO23
9f1fd20944 feat(connectors): mark Google Drive documents with GOOGLE_DRIVE_CONNECTOR type
- Change document_type from file type (PDF, DOCX) to GOOGLE_DRIVE_CONNECTOR
- Store original file type in metadata for reference
- Add Google Drive specific metadata (file_id, mime_type, source)
- Include export format info for Google Workspace files
- Enables proper source tracking and bulk management
2025-12-28 16:55:14 +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
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
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
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
CREDO23
64cd65bc1f use trafilatura to extrack page content from the chromium result 2025-12-19 10:05:51 +02:00
CREDO23
1f60d1c22f add user agent to AsyncChromiumLoader 2025-12-17 19:43:54 +02:00