Commit graph

1412 commits

Author SHA1 Message Date
Anish Sarkar
778cfac6fa Merge remote-tracking branch 'upstream/dev' into impr/thinking-steps 2026-03-25 01:50:10 +05:30
CREDO23
5d8a62a4a6 merge upstream/dev into feat/migrate-electric-to-zero
Resolve 8 conflicts:
- Accept upstream deletion of 3 composio_*_connector.py (unified Google connectors)
- Accept our deletion of ElectricProvider.tsx, use-connectors-electric.ts,
  use-messages-electric.ts (replaced by Zero equivalents)
- Keep both new deps in package.json (@rocicorp/zero + @slate-serializers/html)
- Regenerate pnpm-lock.yaml
2026-03-24 17:40:34 +02:00
CREDO23
5bf2734e8c add migration to clean up Electric SQL artifacts 2026-03-24 17:19:07 +02:00
CREDO23
0916c1addd remove stale ElectricSQL references from changelog and test fixtures 2026-03-24 17:07:11 +02:00
Anish Sarkar
c926c3f62e refactor: remove display_image tool and associated UI components to streamline chat functionality 2026-03-24 19:00:55 +05:30
Anish Sarkar
3f4e1a7dfd refactor: remove frontend of scrape_webpage tool 2026-03-24 18:55:06 +05:30
Anish Sarkar
a009cae62a refactor: remove link_preview tool and associated components to streamline agent functionality 2026-03-24 17:15:29 +05:30
Anish Sarkar
6c507989d2 refactor: remove display_image tool and update related components to streamline image handling 2026-03-24 16:28:11 +05:30
CREDO23
4efb4fab4b fix: make migration 107 idempotent for video_presentations table
Check information_schema before creating table to avoid
DuplicateTableError when table already exists from model metadata.
Original op.create_table preserved exactly, only skipped if exists.
2026-03-23 20:27:09 +02:00
CREDO23
29b9cc814f fix: make migration 104 idempotent with if_not_exists on index creation
The notification composite indexes may already exist from the model's
__table_args__, causing DuplicateTableError on fresh migrations.
2026-03-23 20:22:48 +02:00
CREDO23
cf21eaacfc fix: critical timestamp parsing and audit fixes
- Fix timestamp conversion: String(epochMs) → new Date(epochMs).toISOString()
  in use-messages-sync, use-comments-sync, use-documents, use-inbox.
  Without this, date comparisons (isEdited, cutoff filters) would fail.
- Fix updated_at: undefined → null in use-inbox to match InboxItem type
- Fix ZeroProvider: skip Zero connection for unauthenticated users
- Clean 30+ stale "Electric SQL" comments in backend Python code
2026-03-23 19:49:28 +02:00
CREDO23
2b7465cdaa chore: remove Electric SQL plumbing and infrastructure
Remove all Electric SQL client code, Docker service, env vars, CI build
args, install scripts, and documentation. Feature hooks that depend on
Electric are intentionally left in place to be rewritten with Rocicorp
Zero in subsequent commits.

Deleted:
- lib/electric/ (client.ts, context.ts, auth.ts, baseline.ts)
- ElectricProvider.tsx
- docker/scripts/init-electric-user.sh
- content/docs/how-to/electric-sql.mdx

Cleaned:
- package.json (4 @electric-sql/* deps)
- app/layout.tsx, UserDropdown.tsx, LayoutDataProvider.tsx
- docker-compose.yml, docker-compose.dev.yml
- Dockerfile, docker-entrypoint.js
- .env.example (frontend, docker, backend)
- CI workflows, install scripts, docs
2026-03-23 16:53:20 +02:00
Anish Sarkar
0fd03709c6 feat: add internal metadata keys and clean metadata in document formatting 2026-03-22 20:19:42 +05:30
Anish Sarkar
5c598e8588 Merge remote-tracking branch 'upstream/dev' into feat/human-in-the-loop 2026-03-22 15:45:45 +05:30
DESKTOP-RTLN3BA\$punk
43c9a09a6c chore: add daytona dependency to pyproject.toml and update uv.lock 2026-03-22 01:55:56 -07:00
DESKTOP-RTLN3BA\$punk
0cd596b91f refactor: update video presentation status enum creation to use SQL execution for better handling of duplicates 2026-03-22 01:41:15 -07:00
DESKTOP-RTLN3BA\$punk
eb8cfd296c feat: add public routes for video presentations and audio streaming 2026-03-21 23:29:23 -07:00
DESKTOP-RTLN3BA\$punk
d90b6d35ce feat: enhance video presentation agent with parallel theme assignment and watermarking 2026-03-21 23:02:09 -07:00
DESKTOP-RTLN3BA\$punk
b28f135a96 feat: init video presentation agent 2026-03-21 22:13:41 -07:00
Anish Sarkar
5b6b1e5d72 feat: add issue URL to Jira issue creation and update responses for direct access 2026-03-22 03:16:34 +05:30
Anish Sarkar
1e9ea983dd chore: ran linting 2026-03-22 03:07:18 +05:30
Anish Sarkar
2c17c355d5 feat: add page URL to Confluence page creation and update responses instead of showing page id 2026-03-22 02:55:33 +05:30
Anish Sarkar
2bc6a0c3bc chore: ran linting 2026-03-22 00:43:53 +05:30
Anish Sarkar
68f1a7c5ce refactor: deduplicate issue type names in JiraToolMetadataService 2026-03-21 21:02:52 +05:30
Anish Sarkar
e37e6d2d18 chore: ran linting 2026-03-21 13:21:19 +05:30
Anish Sarkar
de8841fb86 chore: ran linting 2026-03-21 13:20:13 +05:30
Anish Sarkar
772150eb66 feat: add unit tests for DedupHITLToolCallsMiddleware 2026-03-21 13:19:58 +05:30
Anish Sarkar
77cc2af14f Merge remote-tracking branch 'upstream/dev' into feat/human-in-the-loop 2026-03-21 13:17:24 +05:30
Anish Sarkar
79bc123439 feat: implement lazy imports for token refresh in Confluence and Jira connectors
- Refactored token refresh logic in ConfluenceHistoryConnector and JiraHistoryConnector to use lazy imports, avoiding circular dependencies.
- Enhanced the ComposerAction component to manage tool availability based on connected types, adding support for Jira and Confluence tools.
- Updated tool icon management to include Jira and Confluence, improving the user interface for tool interactions.
2026-03-21 12:41:06 +05:30
Anish Sarkar
e71eae26fc feat: initial files for jira and confluence HITL tool 2026-03-21 12:16:44 +05:30
Anish Sarkar
9a20db7fc4 feat: add created_by_id to document creation in various sync services 2026-03-21 11:41:59 +05:30
Anish Sarkar
b71dd425f8 feat: enhance tool management in ComposerAction component
- Added support for grouping tools with connector icons, improving organization and user interaction.
- Implemented logic to toggle tool groups based on their enabled/disabled state, enhancing user experience.
- Updated the display of enabled tools count to reflect the new grouping structure.
- Introduced a new constant for connector tool icon paths to streamline icon management across components.
- Added a new tool action for updating Gmail drafts in the backend agent, expanding functionality.
2026-03-21 11:38:42 +05:30
Anish Sarkar
ff6514a99f feat: add DedupHITLToolCallsMiddleware to prevent duplicate tool calls
- Introduced DedupHITLToolCallsMiddleware to prevent duplicate HITL tool calls within a single LLM response, ensuring only the first occurrence of each tool call is retained.
- Updated the create_surfsense_deep_agent function to include the new middleware, enhancing the efficiency of tool interactions.
- Added a new middleware file for better organization and maintainability of the codebase.
2026-03-21 03:47:30 +05:30
Anish Sarkar
744ad1fa79 feat: enforce single invocation for tool actions across various services
- Added a guideline to ensure that each tool (Gmail, Google Calendar, Google Drive, Linear, Notion) is called only once per user request.
- Updated documentation to clarify that the system will automatically select the most relevant match when multiple items share the same title or subject, enhancing user experience and preventing redundant calls.
2026-03-21 03:07:13 +05:30
Anish Sarkar
9a750fba74 feat: update Google Calendar tool actions in chat streaming 2026-03-21 01:44:54 +05:30
Anish Sarkar
cb6b687933 feat: enhance Gmail draft update functionality
- Improved the update_gmail_draft tool to allow users to review and edit draft content before applying changes.
- Added logic to generate draft body content based on user requests and conversation context.
- Implemented fetching of existing draft body to facilitate user edits in the approval card.
- Updated UI components to support displaying and editing existing draft content, enhancing user experience.
2026-03-21 00:30:18 +05:30
Anish Sarkar
85462675a0 feat: add update functionality for Gmail drafts
- Introduced a new tool to update existing Gmail drafts, allowing users to modify draft content, recipients, and subject lines.
- Updated the Gmail tools registry to include the new update_gmail_draft tool.
- Enhanced the GmailKBSyncService to support draft ID handling during synchronization.
- Added UI components for the update draft functionality in the web application, improving user interaction with Gmail drafts.
2026-03-20 23:50:27 +05:30
Anish Sarkar
bd2d633546 feat: enhance Gmail account handling and expand chat tool capabilities
- Updated the GmailAccount class to extract email from the connector name when formatted with " - ".
- Added new tool actions for Gmail and Google Calendar, including creating drafts, sending emails, and managing calendar events, improving integration and user functionality.
2026-03-20 20:18:03 +05:30
Anish Sarkar
283b4194cc feat: enhance permission handling and user feedback for Gmail and Google Calendar tools
- Implemented logic to persist authentication expiration status for connectors when insufficient permissions are detected, improving error handling and user experience.
- Updated messages to guide users to re-authenticate in connector settings for Gmail, Google Calendar, and Google Drive tools.
- Added InsufficientPermissionsResult type and corresponding UI components to display permission-related messages consistently across Gmail and Google Calendar tools.
2026-03-20 19:36:00 +05:30
Anish Sarkar
f4c0c8c945 feat: add initial logic for HITL for gmail and google calendar connectors 2026-03-20 18:47:06 +05:30
Anish Sarkar
8850fac722 feat: implement knowledge base synchronization for Linear and Notion issue creation
- Added `sync_after_create` methods in `LinearKBSyncService` and `NotionKBSyncService` to handle synchronization of newly created issues and pages with the knowledge base.
- Enhanced the `create_issue.py` and `create_page.py` tools to provide user feedback on the success of the knowledge base update, indicating whether the content has been synced or will be added in the next scheduled sync.
- Improved error handling during synchronization to log failures and manage duplicate document scenarios effectively.
2026-03-20 17:50:36 +05:30
Anish Sarkar
f4da05d0ea refactor: streamline authentication expiration handling in Notion tool metadata service 2026-03-20 16:29:50 +05:30
Anish Sarkar
10af5d3f3e feat: add authentication expiration handling for Notion tools
- Implemented checks for expired authentication in the Notion page creation and deletion tools, returning appropriate error messages for re-authentication.
- Updated the Notion tool metadata service to track account health and persist authentication status, improving error handling and user feedback during operations.
2026-03-20 16:12:18 +05:30
Anish Sarkar
3d6ff39bf4 feat: implement Google Drive knowledge base synchronization after file creation
- Added a new GoogleDriveKBSyncService to handle synchronization of newly created Google Drive files with the knowledge base.
- Enhanced the create_file.py tool to include feedback on the success of the knowledge base update, informing users if their file has been added or will be synced later.
- Updated the Google Drive tool metadata service to include parent folder information for improved file organization.
- Modified the UI components to support selection of parent folders during file creation, enhancing user experience and file management.
2026-03-20 15:41:08 +05:30
Anish Sarkar
510f9150cb feat: improve error handling for Google Drive authentication
- Enhanced error handling in both Composio and Google Drive folder listing functions to check for expired authentication and mark connectors as 'auth_expired' when necessary.
- Added logging for failed persistence of authentication status and raised appropriate HTTP exceptions to prompt users for re-authentication.
- Streamlined the error checking process to include various authentication failure scenarios, improving overall robustness of the integration.
2026-03-20 14:48:31 +05:30
Anish Sarkar
df0d9bb2b5 feat: improve Composio Drive folder listing and authentication handling
- Simplified the folder and file listing process in the Composio Drive integration by utilizing the GoogleDriveClient for fetching contents.
- Enhanced error handling for authentication issues, marking connectors as 'auth_expired' when necessary and prompting users to re-authenticate.
- Updated UI components to display authentication status and provide re-authentication options, improving user experience during folder selection.
2026-03-20 14:48:19 +05:30
Anish Sarkar
a27c10a5f5 feat: update Google Drive connector UI and authentication handling 2026-03-20 13:39:28 +05:30
Anish Sarkar
75f0975674 feat: enhance Google Drive account authentication handling
- Added checks for expired authentication in Google Drive file creation and deletion tools, returning appropriate error messages for re-authentication.
- Updated the Google Drive tool metadata service to track account health and persist authentication status.
- Enhanced UI components to display authentication errors and differentiate between valid and expired accounts, improving user experience during file operations.
2026-03-20 12:34:30 +05:30
Anish Sarkar
d21593ee71 feat: unify handling of native and legacy document types for Google connectors
- Introduced a mapping of native Google document types to their legacy Composio equivalents, ensuring seamless search and indexing for both types.
- Updated relevant components to utilize the new mapping, enhancing the consistency of document type handling across the application.
- Improved search functionality to transparently include legacy types, maintaining accessibility for older documents until re-indexed.
2026-03-20 03:41:32 +05:30
Anish Sarkar
aaf34800e6 feat: enhance legacy document migration for Google connectors
- Implemented fallback logic in Google Calendar, Drive, and Gmail indexers to handle legacy Composio document types, ensuring smooth migration to native types.
- Updated document indexing functions to check for existing documents using both primary and legacy hashes, improving data integrity during indexing.
2026-03-20 03:39:05 +05:30