Commit graph

3935 commits

Author SHA1 Message Date
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
5908a64c1d refactor: remove unused tool availability logic from ComposerAction component 2026-03-21 13:10:34 +05:30
Anish Sarkar
b092d8d13d feat: update OAuth scopes for Confluence, Gmail, Google Calendar, Google Drive, and Jira connectors 2026-03-21 12:50:25 +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
affc89dd5c feat: introduce SidebarButton component for improved sidebar interactions 2026-03-21 12:06:48 +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
9cd2c1f712 feat: integrate HITL phase management across tool components
- Refactored ApprovalCard in various tools (Gmail, Google Calendar, Google Drive) to utilize the new useHitlPhase hook for improved state management.
- Updated logic to handle tool action phases (pending, processing, complete, rejected) consistently across components, enhancing user feedback during interactions.
- Simplified decision handling by removing direct state management for approval decisions, streamlining the approval process.
- Enhanced UI feedback to reflect the current phase of tool actions, improving user experience during tool interactions.
2026-03-21 11:18:35 +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
0d47233580 refactor: remove TriangleAlertIcon from various tool components 2026-03-21 02:09:52 +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
ab6eeaf02e feat: add onClose functionality to ApprovalCard across all HITL tools 2026-03-20 23:50:50 +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
5e23949af6 feat: implement date and time picker in HITL edit panel
- Added a DateTimePickerField component to allow users to select date and time in the HITL edit panel.
- Updated the EmailsTagField to use a ref for onChange to improve performance.
- Modified the ExtraField type to support "datetime-local" for better event management in Google Calendar tools.
2026-03-20 23:07:54 +05:30
Anish Sarkar
4b54826d78 refactor: update ApprovalCard to use state for wasAlreadyDecided across all HITL tools
- Changed the wasAlreadyDecided variable to use useState for better state management in ApprovalCard.
- Updated multiple components including Gmail, Google Calendar, and Notion to reflect this change, ensuring consistency across the application.
2026-03-20 23:06:58 +05:30
Anish Sarkar
b4309f13be feat: add email tag input functionality to HITL edit panel
- Updated the HITL edit panel to support multiple email inputs using a tag input component.
- Modified the ExtraField type to include "emails" as a valid type.
- Enhanced the Gmail draft creation process to utilize the new email input format for "To", "CC", and "BCC" fields.
2026-03-20 22:46:49 +05:30
Anish Sarkar
282e913c50 refactor: update ApprovalCard to display account names instead of emails across Gmail tools 2026-03-20 22:02:35 +05:30
Anish Sarkar
9b38626723 feat: add pending edits functionality to ApprovalCard across all HITL tools 2026-03-20 21:38:19 +05:30
Anish Sarkar
4bd2071a8d refactor: streamline ApprovalCard component across various tools 2026-03-20 20:53:59 +05:30
CREDO23
e7b5b37404 ci(desktop): support both v* and beta-v* tag triggers with unified version extraction 2026-03-20 16:55:18 +02:00
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
CREDO23
c891cc3d9b ci(desktop): auto-extract version from tag and pass to electron-builder 2026-03-20 16:44:10 +02:00
CREDO23
d4ef79375b fix(desktop): read HOSTED_FRONTEND_URL from process.env before .env file 2026-03-20 16:35:56 +02:00
CREDO23
70712f21db ci(desktop): add HOSTED_FRONTEND_URL from GitHub Actions variables for Electron build 2026-03-20 16:29:48 +02:00
CREDO23
9db5b5e99d ci(desktop): pass NEXT_PUBLIC env vars from GitHub Actions variables to Next.js build 2026-03-20 16:21:11 +02:00
Anish Sarkar
f938c4018e refactor: streamline authentication handling and UI feedback for connectors showing re-authentication button in the config edit area as well 2026-03-20 19:36:55 +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
CREDO23
a08d03041a ci(desktop): align tag trigger with upstream beta-v* convention 2026-03-20 15:42:03 +02:00
CREDO23
cbee2e254c ci(desktop): disable fail-fast so all platform builds complete independently 2026-03-20 15:31:05 +02:00
CREDO23
207ef02f5e ci(desktop): fix pnpm cache by specifying lockfile paths for monorepo 2026-03-20 15:30:20 +02:00
CREDO23
337c381f36 ci(desktop): add package & publish step with platform matrix and permissions 2026-03-20 15:19:38 +02:00
Anish Sarkar
f4c0c8c945 feat: add initial logic for HITL for gmail and google calendar connectors 2026-03-20 18:47:06 +05:30
CREDO23
0f37919f3d ci(desktop): add Electron build step 2026-03-20 15:10:24 +02:00
CREDO23
4b50b3db1a ci(desktop): add dependency install and Next.js build steps 2026-03-20 14:58:25 +02:00
Anish Sarkar
6d1c7731f0 refactor: improve spacing and layout in ApprovalCard component 2026-03-20 18:13:53 +05:30
Anish Sarkar
151dcd26e1 refactor: enhance UI components for consistency and user experience
- Updated various card components across Google Drive, Linear, and Notion tools to include the `select-none` class for improved user interaction by preventing text selection.
- Ensured consistent styling and behavior in loading states and error handling across different tool UIs, enhancing overall usability and visual coherence.
2026-03-20 17:51:11 +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
CREDO23
b6c1db33eb ci(desktop): add pnpm and Node.js setup steps 2026-03-20 14:04:07 +02:00
Anish Sarkar
23c23c7528 feat: implement ToggleGroup and Toggle components for improved label selection
- Introduced ToggleGroup and Toggle components to enhance the user interface for selecting multiple labels in the Linear issue creation and update forms.
- Updated ApprovalCard component to utilize the new ToggleGroup for better label management.
- Refactored label rendering to use Badge components for improved styling and user experience across various components.
2026-03-20 17:32:05 +05:30
Anish Sarkar
15857ecfd6 refactor: update radio group implementation and improve input styling 2026-03-20 17:09:31 +05:30
Anish Sarkar
f16e0d95ad refactor: remove conditional rendering for step title in ThinkingStepsDisplay component 2026-03-20 16:46:05 +05:30
Anish Sarkar
75cf12974a refactor: simplify header text generation in ThinkingStepsDisplay component 2026-03-20 16:41:51 +05:30
Anish Sarkar
9fbf0992f3 feat: add conditional rendering in ApprovalCard component to prevent rendering when a decision has been made and is not a rejection 2026-03-20 16:41:30 +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
db5fddb104 feat: replace checkbox inputs with Checkbox component in file deletion UIs
- Updated the file deletion UI components for Google Drive, Linear, and Notion to use the new Checkbox component for better consistency and styling.
- Enhanced the accessibility of the checkbox inputs by associating labels with their respective checkboxes, improving user experience during file deletion operations.
2026-03-20 15:46:43 +05:30