Repository navigation
fix(google): validate Workspace integrations, return dropped fields and expose missing params - #9947
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
All reported issues were addressed across 190 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
[High impact] The PR appears safe to merge; no new actionable issue was established. SummaryThis PR expands Google Workspace inputs and outputs, exposes more Gmail operations, and bounds Drive content reads.
Reviews (3) · Last reviewed commit: "fix(google): tighten Docs tab/number par..." · Reviewed by Greptile |
02365f9 to
d7f8c49
Compare
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 193 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
…nd expose missing params Gmail read/search/thread/draft and the Gmail trigger now return Cc, Bcc, Reply-To, Message-ID, In-Reply-To, References, snippet, and internalDate. Sweeps Calendar, Meet, Drive, Docs, Sheets, Slides, Forms, Contacts, Tasks, Groups, and Vault against the Google API references. All changes are additive: no param, subBlock, operation, tool id, or output is removed or retyped.
- Vault shared drives use sharedDrivesOption; reject unprocessed scope outside Mail/Groups - Sheets: reject COLUMNS reads with a row filter, guard v1 spreadsheet ids, expose includeValuesInResponse on v2 writes - Groups list sends userKey exclusive of customer; Drive caps the metadata error body - Slides reads WordArt text and marks nullable outputs; Calendar validates raw reminder minutes and exposes the list time zone - Contacts rejects year 0000; Gmail labels output typed as json; audit and baseline fixes
…reaks, reuse jsonResponse helper
d7f8c49 to
60fde47
Compare
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 193 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
…and Microsoft sweeps Final staging-to-main review of #9947, #9954 and #9949. The executor merges raw subBlock values under the block mapper's output, so a value stored for another operation (or an empty default the serializer fills in) reached tools whenever the mapper skipped that key. - Outlook: reply, reply-all and forward always set cc/bcc, so a Send cc never reaches them; send and draft always set importance; the new Importance dropdown defaults to unset - Google Groups Update Settings assigns every setting, so unchanged settings are never sent as '' - Google Tasks List assigns its tri-state filters and the tool skips empty values - OneDrive "If File Exists" defaults to unset so opening an old upload block sends nothing new - Google Sheets clears a Batch Get major dimension for every other operation - Azure DevOps: List Pipelines and Get Comments keep main's Max Results fallback, each paged operation has its own continuation token, and multi-item reads omit the raw field bag - SharePoint upload drops "." folder segments as before and still rejects ".." - Entra transitive and includeManager use one strict flag check; Dataverse treats a cleared page size as unset - Behaviour-neutral cleanups: shared header lookup (Gmail), settings mapper (Groups), identity and metadata outputs (Word), isSet (Dataverse), graphPathSegment (SharePoint), typed identity reads (Azure DevOps), Teams fallback payload nulls
…and Microsoft sweeps (#9960) * fix(integrations): close stale and empty value leaks from the Google and Microsoft sweeps Final staging-to-main review of #9947, #9954 and #9949. The executor merges raw subBlock values under the block mapper's output, so a value stored for another operation (or an empty default the serializer fills in) reached tools whenever the mapper skipped that key. - Outlook: reply, reply-all and forward always set cc/bcc, so a Send cc never reaches them; send and draft always set importance; the new Importance dropdown defaults to unset - Google Groups Update Settings assigns every setting, so unchanged settings are never sent as '' - Google Tasks List assigns its tri-state filters and the tool skips empty values - OneDrive "If File Exists" defaults to unset so opening an old upload block sends nothing new - Google Sheets clears a Batch Get major dimension for every other operation - Azure DevOps: List Pipelines and Get Comments keep main's Max Results fallback, each paged operation has its own continuation token, and multi-item reads omit the raw field bag - SharePoint upload drops "." folder segments as before and still rejects ".." - Entra transitive and includeManager use one strict flag check; Dataverse treats a cleared page size as unset - Behaviour-neutral cleanups: shared header lookup (Gmail), settings mapper (Groups), identity and metadata outputs (Word), isSet (Dataverse), graphPathSegment (SharePoint), typed identity reads (Azure DevOps), Teams fallback payload nulls * fix(integrations): render Azure DevOps list outputs in docs, clear stale Outlook importance on replies
Summary
cc,bcc,replyTo,rfcMessageId,inReplyTo,references,snippetandinternalDate. Before, Cc was dropped from every read path.pageToken,nextPageTokenandresultSizeEstimate, and its message fetches now run in bounded batches.replyTo, which is header-sanitized.gmail_list_labels_v2.hangoutLink,conferenceData,reminders,recurrence,visibility,transparency,iCalUID,created/updated,attachmentsand more.updatedMinandtimeZone, and V2 returnsnextSyncToken.user, and spaces return the moderation and artifact config..text().orderBy,driveIdandincompleteSearch.expirationTimeandallowFileDiscovery.includeTabsContent,tabs).suggestionsViewModeandrevisionId.tabId, and replace gainssearchByRegex.respondentEmailandtotalScore.updatedData, which was previously requested but dropped.revisionIdandlocale. Get Page returns the missing Page fields.birthday.hidden,linksandassignmentInfo. List gainsshowAssigned, and the block exposes the existing hidden and completed filters plusparentandprevious.alt=json; the API defaults to Atom.default_senderfield.settingsoutput is populated.userKey,orderByandsortOrder, and list members gainsincludeDerivedMembership.viewandstate. Export and saved query gain shared-drive inclusion (sent assharedDrivesOption),exportFormatanddataScope;UNPROCESSED_DATAis limited to Mail and Groups.safeUrlPathSegment.labelsoutput, fromstringtojson, so it can hold the List Labels array. The trigger's comma-separated value still fits.contentnow includes chip and nested-table text../.., or containing/) now fail before the request.Type of Change
Testing
vitestoverblocks/blocks.test.ts,tools/gmail,tools/google_sheets,tools/google_calendar,tools/google_drive/get_content.test.ts,blocks/blocks/google_drive.test.ts,lib/internal/gmail,lib/internal/google-vaultandlib/webhooks/polling/google-calendar.test.ts: 110 passedcheck-block-registry.ts origin/staging,check:tool-metadata,check:docs,check:integration-catalogand biome on the changed files pass. Type-check andcheck:auditsrun in CI.Checklist
test-auditauthoring gate)