feat: data connector source metadata for all providers (sync spec v0.7.9) - #68
Conversation
…7.9) Regenerated from spec v0.7.9 (cloudglue/cloudglue-api-spec#103) and bumped to 0.7.16. Generated: - New ZoomSourceMetadata, RecallSourceMetadata, GoogleDriveSourceMetadata, DropboxSourceMetadata, and GongSourceMetadata models; SourceMetadata is now a oneOf discriminated on source_type across all six connectors, with required fields loosened to source_type + the provider's primary id - Updated data-connector endpoint docs (per-connector filter support, filtered pagination, 501 only for s3/gcs, 502 on unvalidatable upstream responses) Wrapper: - Re-export the SourceMetadata family and SourceMetadataResponse from the top-level cloudglue package - Refresh DataConnectors docstrings: per-connector from/to and title_search support matrix, per-file provider metadata on list_files, filtered pagination guidance, source-metadata support for all six connectors Verified against the live API: list + per-file metadata + source-metadata lookups pass for grain, zoom, recall, google-drive, dropbox, and gong, with actual_instance parsing to the matching model class; title_search verified on google-drive (native, folders exempt) and gong (matched while listing).
|
Important Review skippedToo many files! This PR contains 289 files, which is 239 over the limit of 50. To get a review, narrow the scope: Upgrade to a paid plan to raise the limit. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (289)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
Syncs the SDK to spec v0.7.9 (cloudglue/cloudglue-api-spec#103) and bumps the package to 0.7.16.
Generated (cloudglue/sdk)
ZoomSourceMetadata,RecallSourceMetadata,GoogleDriveSourceMetadata,DropboxSourceMetadata, andGongSourceMetadatamodels;SourceMetadatais now a oneOf discriminated onsource_typeacross all six connectors, with required fields loosened tosource_type+ the provider's primary id (everything else nullable/optional)from/to+title_searchsupport, filtered-pagination contract, 501 now only for s3/gcs, 502 on unvalidatable upstream responsesWrapper (cloudglue/client + package)
cloudgluepackage re-exports theSourceMetadatafamily (all six variants) andSourceMetadataResponsefor isinstance checks onsource_metadata.actual_instanceDataConnectorsdocstrings refreshed: accurate per-connector filter support matrix onlist_files, per-file provider metadata note, filtered-pagination guidance (keep paging untilnext_page_tokenis None), source-metadata support for all six connectors (previously documented as Grain-only)Test plan
{source_type, <provider id>}objects parse for the new variants (loosened-required contract)list_filesreturns per-file provider metadata with matchingsource_type;get_source_metadata200s andactual_instanceparses to the matching model class for grain/zoom/recall/google-drive/dropbox/gong; Dropbox folder drill viapath;title_searchverified on google-drive (native, folders exempt) and gong (matched while listing) — 20/20 checks passedNote
Low Risk
Mostly OpenAPI-regenerated models and docstring updates; additive exports and looser Grain field requirements are backward-compatible for typical clients.
Overview
Bumps the generated client to OpenAPI 0.7.9 and surfaces provider source metadata for Grain, Zoom, Recall, Google Drive, Dropbox, and Gong end-to-end in the Python package.
Models & exports: Adds typed
*SourceMetadatamodels (plus nested types) and expandsSourceMetadatato a six-waysource_typediscriminated union.GrainSourceMetadatanow only requiressource_type+grain_recording_id(other fields nullable). The top-levelcloudgluepackage re-exportsSourceMetadata,SourceMetadataResponse, and all six variant classes.Data connectors API surface: Generated and hand-written docs now describe
get_source_metadatafor all six connectors (501 only for S3/GCS, 502 on bad upstream validation), per-filemetadataonlist_files, broader sharedfrom/toandtitle_searchsupport per connector, filter-boundpage_tokens, and filtered pagination (short/empty pages whilehas_moreis true).sync_filedocs notesource_metadatais populated for those six providers.Reviewed by Cursor Bugbot for commit 8c946bb. Bugbot is set up for automated code reviews on this repo. Configure here.