feat(google): add missing tools for Gmail, Drive, Sheets, and Calendar#3338
feat(google): add missing tools for Gmail, Drive, Sheets, and Calendar#3338waleedlatif1 merged 2 commits intostagingfrom
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Greptile SummaryAdded 18 new Google API tools across Gmail, Drive, Sheets, and Calendar services. All tools follow existing patterns with proper TypeScript typing, OAuth configuration, and error handling. Gmail (10 new V2 tools):
Google Drive (2 new tools):
Google Sheets (3 new V2 tools):
Google Calendar (2 new tools):
All tools properly registered in Confidence Score: 5/5
Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[New Google Tools] --> B[Gmail V2 Tools]
A --> C[Google Drive Tools]
A --> D[Google Sheets V2 Tools]
A --> E[Google Calendar Tools]
B --> B1[Draft Management]
B --> B2[Label Management]
B --> B3[Thread Management]
B1 --> B1a[list_drafts]
B1 --> B1b[get_draft]
B1 --> B1c[delete_draft]
B2 --> B2a[create_label]
B2 --> B2b[delete_label]
B2 --> B2c[list_labels]
B3 --> B3a[get_thread]
B3 --> B3b[list_threads]
B3 --> B3c[trash_thread]
B3 --> B3d[untrash_thread]
C --> C1[move - Parent folder manipulation]
C --> C2[search - Advanced query syntax]
D --> D1[delete_rows - batchUpdate API]
D --> D2[delete_sheet - Delete tab]
D --> D3[delete_spreadsheet - Drive API]
E --> E1[freebusy V1 - Summary output]
E --> E2[freebusy V2 - API-aligned output]
B --> F[Registry]
C --> F
D --> F
E --> F
F --> G[tools/registry.ts - 18 new tools registered]
Last reviewed commit: c502b30 |
4171f18 to
c502b30
Compare
|
@cursor review |
|
@greptile |
c502b30 to
c75c02c
Compare
c75c02c to
c22443e
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
| if (textPart?.body?.data) { | ||
| body = Buffer.from(textPart.body.data, 'base64').toString() | ||
| } | ||
| } |
There was a problem hiding this comment.
Body extraction misses HTML-only and nested multipart emails
Medium Severity
The inline body extraction logic in get_draft.ts and get_thread.ts only handles direct body data and text/plain MIME parts. It misses text/html fallback and recursive nested multipart structures, returning an empty body for HTML-only emails. The existing exported extractMessageBody utility in utils.ts already handles all these cases correctly and is used by other Gmail tools like read.
Additional Locations (1)
#3338) * feat(google): add missing tools for Gmail, Drive, Sheets, and Calendar * fix(google-drive): remove dead transformResponse from move tool
* feat(workflow): lock/unlock workflow from context menu and panel * lint * fix(workflow): prevent duplicate lock notifications, no-op guard, fix orphaned JSDoc * improvement(workflow): memoize hasLockedBlocks to avoid inline recomputation * feat(google-translate): add Google Translate integration (#3337) * feat(google-translate): add Google Translate integration * fix(google-translate): api key as query param, fix docsLink, rename tool file * feat(google): add missing tools for Gmail, Drive, Sheets, and Calendar (#3338) * feat(google): add missing tools for Gmail, Drive, Sheets, and Calendar * fix(google-drive): remove dead transformResponse from move tool * feat(confluence): return page content in get page version tool (#3344) * feat(confluence): return page content in get page version tool * lint * feat(api): audit log read endpoints for admin and enterprise (#3343) * feat(api): audit log read endpoints for admin and enterprise * fix(api): address PR review — boolean coercion, cursor validation, detail scope * ran lint * unified list of languages for google translate * fix(workflow): respect snapshot view for panel lock toggle, remove unused disableAdmin prop * improvement(canvas-menu): remove lock icon from workflow lock toggle * feat(audit): record audit log for workflow lock/unlock
* feat(workflow): lock/unlock workflow from context menu and panel * lint * fix(workflow): prevent duplicate lock notifications, no-op guard, fix orphaned JSDoc * improvement(workflow): memoize hasLockedBlocks to avoid inline recomputation * feat(google-translate): add Google Translate integration (#3337) * feat(google-translate): add Google Translate integration * fix(google-translate): api key as query param, fix docsLink, rename tool file * feat(google): add missing tools for Gmail, Drive, Sheets, and Calendar (#3338) * feat(google): add missing tools for Gmail, Drive, Sheets, and Calendar * fix(google-drive): remove dead transformResponse from move tool * feat(confluence): return page content in get page version tool (#3344) * feat(confluence): return page content in get page version tool * lint * feat(api): audit log read endpoints for admin and enterprise (#3343) * feat(api): audit log read endpoints for admin and enterprise * fix(api): address PR review — boolean coercion, cursor validation, detail scope * ran lint * unified list of languages for google translate * fix(workflow): respect snapshot view for panel lock toggle, remove unused disableAdmin prop * improvement(canvas-menu): remove lock icon from workflow lock toggle * feat(audit): record audit log for workflow lock/unlock


Summary
Type of Change
Testing
Tested manually
Checklist